From 3c72a6b030613e726ff465832e87dfd9adc426eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=C3=A0m=20Quang=20Ti=E1=BA=BFn?= Date: Fri, 3 Jun 2022 04:04:28 -0700 Subject: [PATCH 1/5] feat: Create network and API server config. --- api-1.4/app.js | 85 +- api-1.4/app/helper.js | 2 +- api-1.4/app/invoke-transaction.js | 2 +- api-1.4/artifacts/{org1.yaml => firm.yaml} | 10 +- api-1.4/artifacts/{org2.yaml => gov.yaml} | 10 +- api-1.4/artifacts/network-config.yaml | 108 +- api-1.4/config.js | 4 +- api-1.4/fabric-client-kv-firm/admin | 1 + api-1.4/fabric-client-kv-firm/damtien | 1 + api-1.4/package-lock.json | 5037 ++++-- api-2.0/Firm-wallet/admin.id | 1 + api-2.0/Gov-wallet/admin.id | 1 + api-2.0/app.js | 9 +- api-2.0/app/helper.js | 56 +- api-2.0/config/ccp-template.json | 30 +- api-2.0/config/connection-Firm.json | 62 + api-2.0/config/connection-Gov.json | 62 + api-2.0/config/connection-firm.json | 62 + api-2.0/config/connection-gov.json | 62 + ...ction-org1.json => connection-org1_0.json} | 0 ...ction-org2.json => connection-org2_0.json} | 0 api-2.0/config/generate-ccp.sh | 20 +- api-2.0/package-lock.json | 10937 +++++++++++-- api-2.0/package-lock_000.json | 13067 ++++++++++++++++ api-2.0/package.json | 4 +- artifacts/channel/FirmMSPanchors.tx | Bin 0 -> 313 bytes artifacts/channel/GovMSPanchors.tx | Bin 0 -> 310 bytes artifacts/channel/configtx.yaml | 86 +- artifacts/channel/create-artifacts.sh | 8 +- artifacts/channel/crypto-config.yaml | 32 +- artifacts/docker-compose.yaml | 254 +- .../asset_contract_api/go/assetauth.go | 184 + .../github.com/asset_contract_api/go/go.mod | 5 + .../github.com/asset_contract_api/go/go.sum | 143 + .../github.com/PuerkitoBio/purell/.gitignore | 5 + .../github.com/PuerkitoBio/purell/.travis.yml | 12 + .../github.com/PuerkitoBio/purell/LICENSE | 12 + .../github.com/PuerkitoBio/purell/README.md | 188 + .../github.com/PuerkitoBio/purell/purell.go | 379 + .../github.com/PuerkitoBio/urlesc/.travis.yml | 15 + .../github.com/PuerkitoBio/urlesc/LICENSE | 27 + .../github.com/PuerkitoBio/urlesc/README.md | 16 + .../github.com/PuerkitoBio/urlesc/urlesc.go | 180 + .../go-openapi/jsonpointer/.editorconfig | 26 + .../go-openapi/jsonpointer/.gitignore | 1 + .../go-openapi/jsonpointer/.travis.yml | 15 + .../go-openapi/jsonpointer/CODE_OF_CONDUCT.md | 74 + .../github.com/go-openapi/jsonpointer/LICENSE | 202 + .../go-openapi/jsonpointer/README.md | 15 + .../github.com/go-openapi/jsonpointer/go.mod | 9 + .../github.com/go-openapi/jsonpointer/go.sum | 24 + .../go-openapi/jsonpointer/pointer.go | 390 + .../go-openapi/jsonreference/.gitignore | 1 + .../go-openapi/jsonreference/.travis.yml | 15 + .../jsonreference/CODE_OF_CONDUCT.md | 74 + .../go-openapi/jsonreference/LICENSE | 202 + .../go-openapi/jsonreference/README.md | 15 + .../go-openapi/jsonreference/go.mod | 10 + .../go-openapi/jsonreference/go.sum | 36 + .../go-openapi/jsonreference/reference.go | 156 + .../github.com/go-openapi/spec/.editorconfig | 26 + .../github.com/go-openapi/spec/.gitignore | 2 + .../github.com/go-openapi/spec/.golangci.yml | 23 + .../github.com/go-openapi/spec/.travis.yml | 15 + .../go-openapi/spec/CODE_OF_CONDUCT.md | 74 + .../vendor/github.com/go-openapi/spec/LICENSE | 202 + .../github.com/go-openapi/spec/README.md | 10 + .../github.com/go-openapi/spec/bindata.go | 297 + .../github.com/go-openapi/spec/cache.go | 60 + .../go-openapi/spec/contact_info.go | 24 + .../github.com/go-openapi/spec/debug.go | 47 + .../github.com/go-openapi/spec/expander.go | 650 + .../go-openapi/spec/external_docs.go | 24 + .../vendor/github.com/go-openapi/spec/go.mod | 17 + .../vendor/github.com/go-openapi/spec/go.sum | 74 + .../github.com/go-openapi/spec/header.go | 197 + .../vendor/github.com/go-openapi/spec/info.go | 165 + .../github.com/go-openapi/spec/items.go | 244 + .../github.com/go-openapi/spec/license.go | 23 + .../github.com/go-openapi/spec/normalizer.go | 152 + .../github.com/go-openapi/spec/operation.go | 398 + .../github.com/go-openapi/spec/parameter.go | 321 + .../github.com/go-openapi/spec/path_item.go | 87 + .../github.com/go-openapi/spec/paths.go | 97 + .../vendor/github.com/go-openapi/spec/ref.go | 192 + .../github.com/go-openapi/spec/response.go | 131 + .../github.com/go-openapi/spec/responses.go | 127 + .../github.com/go-openapi/spec/schema.go | 596 + .../go-openapi/spec/schema_loader.go | 276 + .../go-openapi/spec/security_scheme.go | 140 + .../vendor/github.com/go-openapi/spec/spec.go | 86 + .../github.com/go-openapi/spec/swagger.go | 448 + .../vendor/github.com/go-openapi/spec/tag.go | 75 + .../github.com/go-openapi/spec/unused.go | 174 + .../github.com/go-openapi/spec/xml_object.go | 68 + .../github.com/go-openapi/swag/.editorconfig | 26 + .../github.com/go-openapi/swag/.gitignore | 4 + .../github.com/go-openapi/swag/.golangci.yml | 22 + .../github.com/go-openapi/swag/.travis.yml | 15 + .../go-openapi/swag/CODE_OF_CONDUCT.md | 74 + .../vendor/github.com/go-openapi/swag/LICENSE | 202 + .../github.com/go-openapi/swag/README.md | 22 + .../github.com/go-openapi/swag/convert.go | 208 + .../go-openapi/swag/convert_types.go | 595 + .../vendor/github.com/go-openapi/swag/doc.go | 32 + .../vendor/github.com/go-openapi/swag/go.mod | 14 + .../vendor/github.com/go-openapi/swag/go.sum | 20 + .../vendor/github.com/go-openapi/swag/json.go | 312 + .../github.com/go-openapi/swag/loading.go | 80 + .../github.com/go-openapi/swag/name_lexem.go | 87 + .../vendor/github.com/go-openapi/swag/net.go | 38 + .../vendor/github.com/go-openapi/swag/path.go | 59 + .../github.com/go-openapi/swag/post_go18.go | 23 + .../github.com/go-openapi/swag/post_go19.go | 67 + .../github.com/go-openapi/swag/pre_go18.go | 23 + .../github.com/go-openapi/swag/pre_go19.go | 69 + .../github.com/go-openapi/swag/split.go | 262 + .../vendor/github.com/go-openapi/swag/util.go | 385 + .../vendor/github.com/go-openapi/swag/yaml.go | 246 + .../github.com/gobuffalo/envy/.gitignore | 30 + .../gobuffalo/envy/.gometalinter.json | 3 + .../github.com/gobuffalo/envy/LICENSE.txt | 8 + .../vendor/github.com/gobuffalo/envy/Makefile | 46 + .../github.com/gobuffalo/envy/README.md | 93 + .../github.com/gobuffalo/envy/SHOULDERS.md | 14 + .../gobuffalo/envy/azure-pipelines.yml | 59 + .../github.com/gobuffalo/envy/azure-tests.yml | 19 + .../vendor/github.com/gobuffalo/envy/azure.sh | 11 + .../go/vendor/github.com/gobuffalo/envy/env | 5 + .../vendor/github.com/gobuffalo/envy/envy.go | 276 + .../vendor/github.com/gobuffalo/envy/go.mod | 8 + .../vendor/github.com/gobuffalo/envy/go.sum | 17 + .../github.com/gobuffalo/envy/version.go | 3 + .../github.com/gobuffalo/packd/.gitignore | 29 + .../gobuffalo/packd/.gometalinter.json | 3 + .../vendor/github.com/gobuffalo/packd/LICENSE | 21 + .../github.com/gobuffalo/packd/Makefile | 61 + .../github.com/gobuffalo/packd/README.md | 24 + .../github.com/gobuffalo/packd/SHOULDERS.md | 10 + .../gobuffalo/packd/azure-pipelines.yml | 71 + .../gobuffalo/packd/azure-tests.yml | 19 + .../vendor/github.com/gobuffalo/packd/file.go | 126 + .../github.com/gobuffalo/packd/file_info.go | 39 + .../vendor/github.com/gobuffalo/packd/go.mod | 8 + .../vendor/github.com/gobuffalo/packd/go.sum | 9 + .../github.com/gobuffalo/packd/interfaces.go | 83 + .../github.com/markbates/errx/.gitignore | 29 + .../takeon/github.com/markbates/errx/LICENSE | 21 + .../takeon/github.com/markbates/errx/Makefile | 61 + .../github.com/markbates/errx/SHOULDERS.md | 6 + .../markbates/errx/azure-pipelines.yml | 71 + .../github.com/markbates/errx/azure-tests.yml | 19 + .../takeon/github.com/markbates/errx/errx.go | 23 + .../github.com/markbates/errx/version.go | 4 + .../vendor/github.com/gobuffalo/packd/map.go | 70 + .../github.com/gobuffalo/packd/memory_box.go | 156 + .../github.com/gobuffalo/packd/skip_walker.go | 43 + .../github.com/gobuffalo/packd/version.go | 4 + .../gobuffalo/packr/.codeclimate.yml | 20 + .../github.com/gobuffalo/packr/.gitignore | 36 + .../gobuffalo/packr/.gometalinter.json | 3 + .../gobuffalo/packr/.goreleaser.yml | 32 + .../gobuffalo/packr/.goreleaser.yml.plush | 29 + .../github.com/gobuffalo/packr/LICENSE.txt | 8 + .../github.com/gobuffalo/packr/Makefile | 64 + .../github.com/gobuffalo/packr/README.md | 205 + .../github.com/gobuffalo/packr/SHOULDERS.md | 18 + .../gobuffalo/packr/azure-pipelines.yml | 71 + .../gobuffalo/packr/azure-tests.yml | 24 + .../vendor/github.com/gobuffalo/packr/box.go | 228 + .../vendor/github.com/gobuffalo/packr/env.go | 13 + .../vendor/github.com/gobuffalo/packr/file.go | 5 + .../vendor/github.com/gobuffalo/packr/go.mod | 12 + .../vendor/github.com/gobuffalo/packr/go.sum | 79 + .../github.com/gobuffalo/packr/packr.go | 74 + .../github.com/gobuffalo/packr/version.go | 3 + .../vendor/github.com/gobuffalo/packr/walk.go | 63 + .../vendor/github.com/golang/protobuf/AUTHORS | 3 + .../github.com/golang/protobuf/CONTRIBUTORS | 3 + .../vendor/github.com/golang/protobuf/LICENSE | 28 + .../github.com/golang/protobuf/proto/clone.go | 253 + .../golang/protobuf/proto/decode.go | 427 + .../golang/protobuf/proto/deprecated.go | 63 + .../golang/protobuf/proto/discard.go | 350 + .../golang/protobuf/proto/encode.go | 203 + .../github.com/golang/protobuf/proto/equal.go | 301 + .../golang/protobuf/proto/extensions.go | 607 + .../github.com/golang/protobuf/proto/lib.go | 965 ++ .../golang/protobuf/proto/message_set.go | 181 + .../golang/protobuf/proto/pointer_reflect.go | 360 + .../golang/protobuf/proto/pointer_unsafe.go | 313 + .../golang/protobuf/proto/properties.go | 544 + .../golang/protobuf/proto/table_marshal.go | 2776 ++++ .../golang/protobuf/proto/table_merge.go | 654 + .../golang/protobuf/proto/table_unmarshal.go | 2053 +++ .../github.com/golang/protobuf/proto/text.go | 843 + .../golang/protobuf/proto/text_parser.go | 880 ++ .../github.com/golang/protobuf/ptypes/any.go | 141 + .../golang/protobuf/ptypes/any/any.pb.go | 200 + .../golang/protobuf/ptypes/any/any.proto | 154 + .../github.com/golang/protobuf/ptypes/doc.go | 35 + .../golang/protobuf/ptypes/duration.go | 102 + .../protobuf/ptypes/duration/duration.pb.go | 161 + .../protobuf/ptypes/duration/duration.proto | 117 + .../golang/protobuf/ptypes/timestamp.go | 132 + .../protobuf/ptypes/timestamp/timestamp.pb.go | 179 + .../protobuf/ptypes/timestamp/timestamp.proto | 135 + .../hyperledger/fabric-chaincode-go/LICENSE | 201 + .../pkg/attrmgr/attrmgr.go | 245 + .../fabric-chaincode-go/pkg/cid/README.md | 235 + .../fabric-chaincode-go/pkg/cid/cid.go | 275 + .../fabric-chaincode-go/pkg/cid/interfaces.go | 42 + .../shim/chaincodeserver.go | 79 + .../fabric-chaincode-go/shim/handler.go | 685 + .../fabric-chaincode-go/shim/interfaces.go | 389 + .../shim/internal/client.go | 55 + .../shim/internal/config.go | 151 + .../shim/internal/server.go | 106 + .../fabric-chaincode-go/shim/response.go | 36 + .../fabric-chaincode-go/shim/shim.go | 153 + .../fabric-chaincode-go/shim/stub.go | 756 + .../fabric-contract-api-go/LICENSE | 201 + .../contractapi/contract.go | 128 + .../contractapi/contract_chaincode.go | 410 + .../contractapi/system_contract.go | 30 + .../contractapi/transaction_context.go | 64 + .../contractapi/utils/undefined_interface.go | 9 + .../internal/contract_function.go | 374 + .../internal/transaction_handler.go | 90 + .../internal/types/types.go | 362 + .../internal/types_handler.go | 146 + .../internal/utils/utils.go | 42 + .../metadata/a_metadata-packr.go | 13 + .../metadata/ioutils.go | 33 + .../metadata/metadata.go | 288 + .../fabric-contract-api-go/metadata/schema.go | 203 + .../serializer/json_transaction_serializer.go | 148 + .../serializer/transaction_serializer.go | 29 + .../hyperledger/fabric-protos-go/LICENSE | 201 + .../fabric-protos-go/common/collection.pb.go | 371 + .../fabric-protos-go/common/common.pb.go | 928 ++ .../fabric-protos-go/common/configtx.pb.go | 548 + .../common/configuration.pb.go | 327 + .../fabric-protos-go/common/ledger.pb.go | 100 + .../fabric-protos-go/common/policies.pb.go | 510 + .../ledger/queryresult/kv_query_result.pb.go | 175 + .../fabric-protos-go/ledger/rwset/rwset.pb.go | 392 + .../fabric-protos-go/msp/identities.pb.go | 184 + .../fabric-protos-go/msp/msp_config.pb.go | 775 + .../fabric-protos-go/msp/msp_principal.pb.go | 451 + .../fabric-protos-go/peer/chaincode.pb.go | 599 + .../peer/chaincode_event.pb.go | 110 + .../peer/chaincode_shim.pb.go | 1311 ++ .../fabric-protos-go/peer/collection.pb.go | 364 + .../fabric-protos-go/peer/configuration.pb.go | 225 + .../fabric-protos-go/peer/events.pb.go | 742 + .../fabric-protos-go/peer/peer.pb.go | 123 + .../fabric-protos-go/peer/policy.pb.go | 130 + .../fabric-protos-go/peer/proposal.pb.go | 395 + .../peer/proposal_response.pb.go | 327 + .../fabric-protos-go/peer/query.pb.go | 279 + .../fabric-protos-go/peer/resources.pb.go | 292 + .../peer/signed_cc_dep_spec.pb.go | 112 + .../fabric-protos-go/peer/transaction.pb.go | 494 + .../github.com/joho/godotenv/.gitignore | 1 + .../github.com/joho/godotenv/.travis.yml | 8 + .../vendor/github.com/joho/godotenv/LICENCE | 23 + .../vendor/github.com/joho/godotenv/README.md | 163 + .../github.com/joho/godotenv/godotenv.go | 346 + .../vendor/github.com/mailru/easyjson/LICENSE | 7 + .../github.com/mailru/easyjson/buffer/pool.go | 270 + .../mailru/easyjson/jlexer/bytestostr.go | 24 + .../easyjson/jlexer/bytestostr_nounsafe.go | 13 + .../mailru/easyjson/jlexer/error.go | 15 + .../mailru/easyjson/jlexer/lexer.go | 1182 ++ .../mailru/easyjson/jwriter/writer.go | 390 + .../github.com/rogpeppe/go-internal/LICENSE | 27 + .../rogpeppe/go-internal/modfile/gopkgin.go | 47 + .../rogpeppe/go-internal/modfile/print.go | 164 + .../rogpeppe/go-internal/modfile/read.go | 869 + .../rogpeppe/go-internal/modfile/rule.go | 724 + .../rogpeppe/go-internal/module/module.go | 540 + .../rogpeppe/go-internal/semver/semver.go | 388 + .../gojsonpointer/LICENSE-APACHE-2.0.txt | 202 + .../xeipuuv/gojsonpointer/README.md | 41 + .../xeipuuv/gojsonpointer/pointer.go | 211 + .../gojsonreference/LICENSE-APACHE-2.0.txt | 202 + .../xeipuuv/gojsonreference/README.md | 10 + .../xeipuuv/gojsonreference/reference.go | 147 + .../xeipuuv/gojsonschema/.gitignore | 3 + .../xeipuuv/gojsonschema/.travis.yml | 9 + .../gojsonschema/LICENSE-APACHE-2.0.txt | 202 + .../github.com/xeipuuv/gojsonschema/README.md | 466 + .../github.com/xeipuuv/gojsonschema/draft.go | 125 + .../github.com/xeipuuv/gojsonschema/errors.go | 364 + .../xeipuuv/gojsonschema/format_checkers.go | 368 + .../xeipuuv/gojsonschema/glide.yaml | 13 + .../github.com/xeipuuv/gojsonschema/go.mod | 7 + .../github.com/xeipuuv/gojsonschema/go.sum | 11 + .../xeipuuv/gojsonschema/internalLog.go | 37 + .../xeipuuv/gojsonschema/jsonContext.go | 73 + .../xeipuuv/gojsonschema/jsonLoader.go | 386 + .../xeipuuv/gojsonschema/locales.go | 472 + .../github.com/xeipuuv/gojsonschema/result.go | 220 + .../github.com/xeipuuv/gojsonschema/schema.go | 1087 ++ .../xeipuuv/gojsonschema/schemaLoader.go | 206 + .../xeipuuv/gojsonschema/schemaPool.go | 215 + .../gojsonschema/schemaReferencePool.go | 68 + .../xeipuuv/gojsonschema/schemaType.go | 83 + .../xeipuuv/gojsonschema/subSchema.go | 149 + .../github.com/xeipuuv/gojsonschema/types.go | 62 + .../github.com/xeipuuv/gojsonschema/utils.go | 197 + .../xeipuuv/gojsonschema/validation.go | 858 + .../go/vendor/golang.org/x/net/AUTHORS | 3 + .../go/vendor/golang.org/x/net/CONTRIBUTORS | 3 + .../go/vendor/golang.org/x/net/LICENSE | 27 + .../go/vendor/golang.org/x/net/PATENTS | 22 + .../golang.org/x/net/http/httpguts/guts.go | 50 + .../golang.org/x/net/http/httpguts/httplex.go | 346 + .../vendor/golang.org/x/net/http2/.gitignore | 2 + .../vendor/golang.org/x/net/http2/Dockerfile | 51 + .../go/vendor/golang.org/x/net/http2/Makefile | 3 + .../go/vendor/golang.org/x/net/http2/README | 20 + .../vendor/golang.org/x/net/http2/ciphers.go | 641 + .../x/net/http2/client_conn_pool.go | 282 + .../golang.org/x/net/http2/databuffer.go | 146 + .../vendor/golang.org/x/net/http2/errors.go | 133 + .../go/vendor/golang.org/x/net/http2/flow.go | 50 + .../go/vendor/golang.org/x/net/http2/frame.go | 1614 ++ .../go/vendor/golang.org/x/net/http2/go111.go | 29 + .../vendor/golang.org/x/net/http2/gotrack.go | 170 + .../golang.org/x/net/http2/headermap.go | 88 + .../golang.org/x/net/http2/hpack/encode.go | 240 + .../golang.org/x/net/http2/hpack/hpack.go | 504 + .../golang.org/x/net/http2/hpack/huffman.go | 222 + .../golang.org/x/net/http2/hpack/tables.go | 479 + .../go/vendor/golang.org/x/net/http2/http2.go | 384 + .../golang.org/x/net/http2/not_go111.go | 20 + .../go/vendor/golang.org/x/net/http2/pipe.go | 163 + .../vendor/golang.org/x/net/http2/server.go | 2961 ++++ .../golang.org/x/net/http2/transport.go | 2610 +++ .../go/vendor/golang.org/x/net/http2/write.go | 365 + .../golang.org/x/net/http2/writesched.go | 248 + .../x/net/http2/writesched_priority.go | 452 + .../x/net/http2/writesched_random.go | 72 + .../golang.org/x/net/idna/idna10.0.0.go | 734 + .../vendor/golang.org/x/net/idna/idna9.0.0.go | 682 + .../vendor/golang.org/x/net/idna/punycode.go | 203 + .../golang.org/x/net/idna/tables10.0.0.go | 4559 ++++++ .../golang.org/x/net/idna/tables11.0.0.go | 4653 ++++++ .../golang.org/x/net/idna/tables9.0.0.go | 4486 ++++++ .../go/vendor/golang.org/x/net/idna/trie.go | 72 + .../vendor/golang.org/x/net/idna/trieval.go | 119 + .../x/net/internal/timeseries/timeseries.go | 525 + .../vendor/golang.org/x/net/trace/events.go | 532 + .../golang.org/x/net/trace/histogram.go | 365 + .../go/vendor/golang.org/x/net/trace/trace.go | 1130 ++ .../go/vendor/golang.org/x/sys/AUTHORS | 3 + .../go/vendor/golang.org/x/sys/CONTRIBUTORS | 3 + .../go/vendor/golang.org/x/sys/LICENSE | 27 + .../go/vendor/golang.org/x/sys/PATENTS | 22 + .../vendor/golang.org/x/sys/unix/.gitignore | 2 + .../go/vendor/golang.org/x/sys/unix/README.md | 173 + .../golang.org/x/sys/unix/affinity_linux.go | 124 + .../vendor/golang.org/x/sys/unix/aliases.go | 14 + .../golang.org/x/sys/unix/asm_aix_ppc64.s | 17 + .../golang.org/x/sys/unix/asm_darwin_386.s | 29 + .../golang.org/x/sys/unix/asm_darwin_amd64.s | 29 + .../golang.org/x/sys/unix/asm_darwin_arm.s | 30 + .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 + .../x/sys/unix/asm_dragonfly_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_386.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_arm64.s | 29 + .../golang.org/x/sys/unix/asm_linux_386.s | 65 + .../golang.org/x/sys/unix/asm_linux_amd64.s | 57 + .../golang.org/x/sys/unix/asm_linux_arm.s | 56 + .../golang.org/x/sys/unix/asm_linux_arm64.s | 52 + .../golang.org/x/sys/unix/asm_linux_mips64x.s | 56 + .../golang.org/x/sys/unix/asm_linux_mipsx.s | 54 + .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 44 + .../golang.org/x/sys/unix/asm_linux_riscv64.s | 54 + .../golang.org/x/sys/unix/asm_linux_s390x.s | 56 + .../golang.org/x/sys/unix/asm_netbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_arm64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_arm64.s | 29 + .../golang.org/x/sys/unix/asm_solaris_amd64.s | 17 + .../golang.org/x/sys/unix/bluetooth_linux.go | 35 + .../golang.org/x/sys/unix/cap_freebsd.go | 195 + .../vendor/golang.org/x/sys/unix/constants.go | 13 + .../golang.org/x/sys/unix/dev_aix_ppc.go | 27 + .../golang.org/x/sys/unix/dev_aix_ppc64.go | 29 + .../golang.org/x/sys/unix/dev_darwin.go | 24 + .../golang.org/x/sys/unix/dev_dragonfly.go | 30 + .../golang.org/x/sys/unix/dev_freebsd.go | 30 + .../vendor/golang.org/x/sys/unix/dev_linux.go | 42 + .../golang.org/x/sys/unix/dev_netbsd.go | 29 + .../golang.org/x/sys/unix/dev_openbsd.go | 29 + .../go/vendor/golang.org/x/sys/unix/dirent.go | 102 + .../golang.org/x/sys/unix/endian_big.go | 9 + .../golang.org/x/sys/unix/endian_little.go | 9 + .../vendor/golang.org/x/sys/unix/env_unix.go | 31 + .../x/sys/unix/errors_freebsd_386.go | 227 + .../x/sys/unix/errors_freebsd_amd64.go | 227 + .../x/sys/unix/errors_freebsd_arm.go | 226 + .../go/vendor/golang.org/x/sys/unix/fcntl.go | 32 + .../golang.org/x/sys/unix/fcntl_darwin.go | 18 + .../x/sys/unix/fcntl_linux_32bit.go | 13 + .../go/vendor/golang.org/x/sys/unix/gccgo.go | 62 + .../go/vendor/golang.org/x/sys/unix/gccgo_c.c | 39 + .../x/sys/unix/gccgo_linux_amd64.go | 20 + .../go/vendor/golang.org/x/sys/unix/ioctl.go | 30 + .../go/vendor/golang.org/x/sys/unix/mkall.sh | 227 + .../vendor/golang.org/x/sys/unix/mkerrors.sh | 663 + .../golang.org/x/sys/unix/pagesize_unix.go | 15 + .../golang.org/x/sys/unix/pledge_openbsd.go | 163 + .../go/vendor/golang.org/x/sys/unix/race.go | 30 + .../go/vendor/golang.org/x/sys/unix/race0.go | 25 + .../x/sys/unix/readdirent_getdents.go | 12 + .../x/sys/unix/readdirent_getdirentries.go | 19 + .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 + .../golang.org/x/sys/unix/sockcmsg_unix.go | 120 + .../go/vendor/golang.org/x/sys/unix/str.go | 26 + .../vendor/golang.org/x/sys/unix/syscall.go | 53 + .../golang.org/x/sys/unix/syscall_aix.go | 573 + .../golang.org/x/sys/unix/syscall_aix_ppc.go | 50 + .../x/sys/unix/syscall_aix_ppc64.go | 81 + .../golang.org/x/sys/unix/syscall_bsd.go | 618 + .../golang.org/x/sys/unix/syscall_darwin.go | 718 + .../x/sys/unix/syscall_darwin_386.go | 63 + .../x/sys/unix/syscall_darwin_amd64.go | 63 + .../x/sys/unix/syscall_darwin_arm.go | 64 + .../x/sys/unix/syscall_darwin_arm64.go | 66 + .../x/sys/unix/syscall_darwin_libSystem.go | 31 + .../x/sys/unix/syscall_dragonfly.go | 556 + .../x/sys/unix/syscall_dragonfly_amd64.go | 52 + .../golang.org/x/sys/unix/syscall_freebsd.go | 914 ++ .../x/sys/unix/syscall_freebsd_386.go | 52 + .../x/sys/unix/syscall_freebsd_amd64.go | 52 + .../x/sys/unix/syscall_freebsd_arm.go | 52 + .../x/sys/unix/syscall_freebsd_arm64.go | 52 + .../golang.org/x/sys/unix/syscall_linux.go | 1868 +++ .../x/sys/unix/syscall_linux_386.go | 386 + .../x/sys/unix/syscall_linux_amd64.go | 190 + .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + .../x/sys/unix/syscall_linux_arm.go | 287 + .../x/sys/unix/syscall_linux_arm64.go | 223 + .../golang.org/x/sys/unix/syscall_linux_gc.go | 14 + .../x/sys/unix/syscall_linux_gc_386.go | 16 + .../x/sys/unix/syscall_linux_gccgo_386.go | 30 + .../x/sys/unix/syscall_linux_gccgo_arm.go | 20 + .../x/sys/unix/syscall_linux_mips64x.go | 222 + .../x/sys/unix/syscall_linux_mipsx.go | 234 + .../x/sys/unix/syscall_linux_ppc64x.go | 152 + .../x/sys/unix/syscall_linux_riscv64.go | 226 + .../x/sys/unix/syscall_linux_s390x.go | 338 + .../x/sys/unix/syscall_linux_sparc64.go | 147 + .../golang.org/x/sys/unix/syscall_netbsd.go | 655 + .../x/sys/unix/syscall_netbsd_386.go | 33 + .../x/sys/unix/syscall_netbsd_amd64.go | 33 + .../x/sys/unix/syscall_netbsd_arm.go | 33 + .../x/sys/unix/syscall_netbsd_arm64.go | 33 + .../golang.org/x/sys/unix/syscall_openbsd.go | 449 + .../x/sys/unix/syscall_openbsd_386.go | 37 + .../x/sys/unix/syscall_openbsd_amd64.go | 37 + .../x/sys/unix/syscall_openbsd_arm.go | 37 + .../x/sys/unix/syscall_openbsd_arm64.go | 37 + .../golang.org/x/sys/unix/syscall_solaris.go | 754 + .../x/sys/unix/syscall_solaris_amd64.go | 23 + .../golang.org/x/sys/unix/syscall_unix.go | 431 + .../golang.org/x/sys/unix/syscall_unix_gc.go | 15 + .../x/sys/unix/syscall_unix_gc_ppc64x.go | 24 + .../golang.org/x/sys/unix/timestruct.go | 82 + .../golang.org/x/sys/unix/unveil_openbsd.go | 42 + .../vendor/golang.org/x/sys/unix/xattr_bsd.go | 240 + .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 1374 ++ .../x/sys/unix/zerrors_aix_ppc64.go | 1375 ++ .../x/sys/unix/zerrors_darwin_386.go | 1783 +++ .../x/sys/unix/zerrors_darwin_amd64.go | 1783 +++ .../x/sys/unix/zerrors_darwin_arm.go | 1783 +++ .../x/sys/unix/zerrors_darwin_arm64.go | 1783 +++ .../x/sys/unix/zerrors_dragonfly_amd64.go | 1650 ++ .../x/sys/unix/zerrors_freebsd_386.go | 1793 +++ .../x/sys/unix/zerrors_freebsd_amd64.go | 1794 +++ .../x/sys/unix/zerrors_freebsd_arm.go | 1802 +++ .../x/sys/unix/zerrors_freebsd_arm64.go | 1794 +++ .../x/sys/unix/zerrors_linux_386.go | 3004 ++++ .../x/sys/unix/zerrors_linux_amd64.go | 3004 ++++ .../x/sys/unix/zerrors_linux_arm.go | 3010 ++++ .../x/sys/unix/zerrors_linux_arm64.go | 2995 ++++ .../x/sys/unix/zerrors_linux_mips.go | 3011 ++++ .../x/sys/unix/zerrors_linux_mips64.go | 3011 ++++ .../x/sys/unix/zerrors_linux_mips64le.go | 3011 ++++ .../x/sys/unix/zerrors_linux_mipsle.go | 3011 ++++ .../x/sys/unix/zerrors_linux_ppc64.go | 3066 ++++ .../x/sys/unix/zerrors_linux_ppc64le.go | 3066 ++++ .../x/sys/unix/zerrors_linux_riscv64.go | 2991 ++++ .../x/sys/unix/zerrors_linux_s390x.go | 3064 ++++ .../x/sys/unix/zerrors_linux_sparc64.go | 3060 ++++ .../x/sys/unix/zerrors_netbsd_386.go | 1772 +++ .../x/sys/unix/zerrors_netbsd_amd64.go | 1762 +++ .../x/sys/unix/zerrors_netbsd_arm.go | 1751 +++ .../x/sys/unix/zerrors_netbsd_arm64.go | 1762 +++ .../x/sys/unix/zerrors_openbsd_386.go | 1654 ++ .../x/sys/unix/zerrors_openbsd_amd64.go | 1765 +++ .../x/sys/unix/zerrors_openbsd_arm.go | 1656 ++ .../x/sys/unix/zerrors_openbsd_arm64.go | 1789 +++ .../x/sys/unix/zerrors_solaris_amd64.go | 1532 ++ .../golang.org/x/sys/unix/zptrace386_linux.go | 80 + .../golang.org/x/sys/unix/zptracearm_linux.go | 41 + .../x/sys/unix/zptracemips_linux.go | 50 + .../x/sys/unix/zptracemipsle_linux.go | 50 + .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1484 ++ .../x/sys/unix/zsyscall_aix_ppc64.go | 1442 ++ .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 1192 ++ .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 1070 ++ .../x/sys/unix/zsyscall_darwin_386.1_11.go | 1810 +++ .../x/sys/unix/zsyscall_darwin_386.go | 2505 +++ .../x/sys/unix/zsyscall_darwin_386.s | 284 + .../x/sys/unix/zsyscall_darwin_amd64.1_11.go | 1810 +++ .../x/sys/unix/zsyscall_darwin_amd64.go | 2520 +++ .../x/sys/unix/zsyscall_darwin_amd64.s | 286 + .../x/sys/unix/zsyscall_darwin_arm.1_11.go | 1793 +++ .../x/sys/unix/zsyscall_darwin_arm.go | 2483 +++ .../x/sys/unix/zsyscall_darwin_arm.s | 282 + .../x/sys/unix/zsyscall_darwin_arm64.1_11.go | 1793 +++ .../x/sys/unix/zsyscall_darwin_arm64.go | 2483 +++ .../x/sys/unix/zsyscall_darwin_arm64.s | 282 + .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1676 ++ .../x/sys/unix/zsyscall_freebsd_386.go | 2025 +++ .../x/sys/unix/zsyscall_freebsd_amd64.go | 2025 +++ .../x/sys/unix/zsyscall_freebsd_arm.go | 2025 +++ .../x/sys/unix/zsyscall_freebsd_arm64.go | 2025 +++ .../x/sys/unix/zsyscall_linux_386.go | 2270 +++ .../x/sys/unix/zsyscall_linux_amd64.go | 2437 +++ .../x/sys/unix/zsyscall_linux_arm.go | 2407 +++ .../x/sys/unix/zsyscall_linux_arm64.go | 2294 +++ .../x/sys/unix/zsyscall_linux_mips.go | 2450 +++ .../x/sys/unix/zsyscall_linux_mips64.go | 2421 +++ .../x/sys/unix/zsyscall_linux_mips64le.go | 2421 +++ .../x/sys/unix/zsyscall_linux_mipsle.go | 2450 +++ .../x/sys/unix/zsyscall_linux_ppc64.go | 2499 +++ .../x/sys/unix/zsyscall_linux_ppc64le.go | 2499 +++ .../x/sys/unix/zsyscall_linux_riscv64.go | 2274 +++ .../x/sys/unix/zsyscall_linux_s390x.go | 2269 +++ .../x/sys/unix/zsyscall_linux_sparc64.go | 2432 +++ .../x/sys/unix/zsyscall_netbsd_386.go | 1826 +++ .../x/sys/unix/zsyscall_netbsd_amd64.go | 1826 +++ .../x/sys/unix/zsyscall_netbsd_arm.go | 1826 +++ .../x/sys/unix/zsyscall_netbsd_arm64.go | 1826 +++ .../x/sys/unix/zsyscall_openbsd_386.go | 1692 ++ .../x/sys/unix/zsyscall_openbsd_amd64.go | 1692 ++ .../x/sys/unix/zsyscall_openbsd_arm.go | 1692 ++ .../x/sys/unix/zsyscall_openbsd_arm64.go | 1692 ++ .../x/sys/unix/zsyscall_solaris_amd64.go | 1953 +++ .../x/sys/unix/zsysctl_openbsd_386.go | 272 + .../x/sys/unix/zsysctl_openbsd_amd64.go | 270 + .../x/sys/unix/zsysctl_openbsd_arm.go | 272 + .../x/sys/unix/zsysctl_openbsd_arm64.go | 275 + .../x/sys/unix/zsysnum_darwin_386.go | 436 + .../x/sys/unix/zsysnum_darwin_amd64.go | 438 + .../x/sys/unix/zsysnum_darwin_arm.go | 436 + .../x/sys/unix/zsysnum_darwin_arm64.go | 436 + .../x/sys/unix/zsysnum_dragonfly_amd64.go | 315 + .../x/sys/unix/zsysnum_freebsd_386.go | 396 + .../x/sys/unix/zsysnum_freebsd_amd64.go | 396 + .../x/sys/unix/zsysnum_freebsd_arm.go | 396 + .../x/sys/unix/zsysnum_freebsd_arm64.go | 396 + .../x/sys/unix/zsysnum_linux_386.go | 432 + .../x/sys/unix/zsysnum_linux_amd64.go | 354 + .../x/sys/unix/zsysnum_linux_arm.go | 396 + .../x/sys/unix/zsysnum_linux_arm64.go | 299 + .../x/sys/unix/zsysnum_linux_mips.go | 417 + .../x/sys/unix/zsysnum_linux_mips64.go | 347 + .../x/sys/unix/zsysnum_linux_mips64le.go | 347 + .../x/sys/unix/zsysnum_linux_mipsle.go | 417 + .../x/sys/unix/zsysnum_linux_ppc64.go | 396 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 396 + .../x/sys/unix/zsysnum_linux_riscv64.go | 298 + .../x/sys/unix/zsysnum_linux_s390x.go | 361 + .../x/sys/unix/zsysnum_linux_sparc64.go | 376 + .../x/sys/unix/zsysnum_netbsd_386.go | 274 + .../x/sys/unix/zsysnum_netbsd_amd64.go | 274 + .../x/sys/unix/zsysnum_netbsd_arm.go | 274 + .../x/sys/unix/zsysnum_netbsd_arm64.go | 274 + .../x/sys/unix/zsysnum_openbsd_386.go | 218 + .../x/sys/unix/zsysnum_openbsd_amd64.go | 218 + .../x/sys/unix/zsysnum_openbsd_arm.go | 218 + .../x/sys/unix/zsysnum_openbsd_arm64.go | 217 + .../golang.org/x/sys/unix/ztypes_aix_ppc.go | 352 + .../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 356 + .../x/sys/unix/ztypes_darwin_386.go | 499 + .../x/sys/unix/ztypes_darwin_amd64.go | 509 + .../x/sys/unix/ztypes_darwin_arm.go | 500 + .../x/sys/unix/ztypes_darwin_arm64.go | 509 + .../x/sys/unix/ztypes_dragonfly_amd64.go | 469 + .../x/sys/unix/ztypes_freebsd_386.go | 700 + .../x/sys/unix/ztypes_freebsd_amd64.go | 706 + .../x/sys/unix/ztypes_freebsd_arm.go | 683 + .../x/sys/unix/ztypes_freebsd_arm64.go | 684 + .../golang.org/x/sys/unix/ztypes_linux_386.go | 2486 +++ .../x/sys/unix/ztypes_linux_amd64.go | 2499 +++ .../golang.org/x/sys/unix/ztypes_linux_arm.go | 2477 +++ .../x/sys/unix/ztypes_linux_arm64.go | 2478 +++ .../x/sys/unix/ztypes_linux_mips.go | 2483 +++ .../x/sys/unix/ztypes_linux_mips64.go | 2480 +++ .../x/sys/unix/ztypes_linux_mips64le.go | 2480 +++ .../x/sys/unix/ztypes_linux_mipsle.go | 2483 +++ .../x/sys/unix/ztypes_linux_ppc64.go | 2488 +++ .../x/sys/unix/ztypes_linux_ppc64le.go | 2488 +++ .../x/sys/unix/ztypes_linux_riscv64.go | 2505 +++ .../x/sys/unix/ztypes_linux_s390x.go | 2502 +++ .../x/sys/unix/ztypes_linux_sparc64.go | 2483 +++ .../x/sys/unix/ztypes_netbsd_386.go | 466 + .../x/sys/unix/ztypes_netbsd_amd64.go | 473 + .../x/sys/unix/ztypes_netbsd_arm.go | 471 + .../x/sys/unix/ztypes_netbsd_arm64.go | 473 + .../x/sys/unix/ztypes_openbsd_386.go | 571 + .../x/sys/unix/ztypes_openbsd_amd64.go | 571 + .../x/sys/unix/ztypes_openbsd_arm.go | 572 + .../x/sys/unix/ztypes_openbsd_arm64.go | 565 + .../x/sys/unix/ztypes_solaris_amd64.go | 442 + .../go/vendor/golang.org/x/text/AUTHORS | 3 + .../go/vendor/golang.org/x/text/CONTRIBUTORS | 3 + .../go/vendor/golang.org/x/text/LICENSE | 27 + .../go/vendor/golang.org/x/text/PATENTS | 22 + .../x/text/secure/bidirule/bidirule.go | 336 + .../x/text/secure/bidirule/bidirule10.0.0.go | 11 + .../x/text/secure/bidirule/bidirule9.0.0.go | 14 + .../golang.org/x/text/transform/transform.go | 705 + .../golang.org/x/text/unicode/bidi/bidi.go | 198 + .../golang.org/x/text/unicode/bidi/bracket.go | 335 + .../golang.org/x/text/unicode/bidi/core.go | 1058 ++ .../golang.org/x/text/unicode/bidi/prop.go | 206 + .../x/text/unicode/bidi/tables10.0.0.go | 1815 +++ .../x/text/unicode/bidi/tables11.0.0.go | 1887 +++ .../x/text/unicode/bidi/tables9.0.0.go | 1781 +++ .../golang.org/x/text/unicode/bidi/trieval.go | 60 + .../x/text/unicode/norm/composition.go | 512 + .../x/text/unicode/norm/forminfo.go | 278 + .../golang.org/x/text/unicode/norm/input.go | 109 + .../golang.org/x/text/unicode/norm/iter.go | 458 + .../x/text/unicode/norm/normalize.go | 609 + .../x/text/unicode/norm/readwriter.go | 125 + .../x/text/unicode/norm/tables10.0.0.go | 7657 +++++++++ .../x/text/unicode/norm/tables11.0.0.go | 7693 +++++++++ .../x/text/unicode/norm/tables9.0.0.go | 7637 +++++++++ .../x/text/unicode/norm/transform.go | 88 + .../golang.org/x/text/unicode/norm/trie.go | 54 + .../golang.org/x/text/width/kind_string.go | 28 + .../golang.org/x/text/width/tables10.0.0.go | 1318 ++ .../golang.org/x/text/width/tables11.0.0.go | 1330 ++ .../golang.org/x/text/width/tables9.0.0.go | 1286 ++ .../golang.org/x/text/width/transform.go | 239 + .../vendor/golang.org/x/text/width/trieval.go | 30 + .../vendor/golang.org/x/text/width/width.go | 206 + .../vendor/google.golang.org/genproto/LICENSE | 202 + .../googleapis/rpc/status/status.pb.go | 156 + .../vendor/google.golang.org/grpc/.travis.yml | 39 + .../go/vendor/google.golang.org/grpc/AUTHORS | 1 + .../google.golang.org/grpc/CONTRIBUTING.md | 60 + .../go/vendor/google.golang.org/grpc/LICENSE | 202 + .../go/vendor/google.golang.org/grpc/Makefile | 60 + .../vendor/google.golang.org/grpc/README.md | 121 + .../vendor/google.golang.org/grpc/backoff.go | 38 + .../vendor/google.golang.org/grpc/balancer.go | 391 + .../grpc/balancer/balancer.go | 364 + .../grpc/balancer/base/balancer.go | 184 + .../grpc/balancer/base/base.go | 64 + .../grpc/balancer/roundrobin/roundrobin.go | 83 + .../grpc/balancer_conn_wrappers.go | 318 + .../grpc/balancer_v1_wrapper.go | 334 + .../grpc_binarylog_v1/binarylog.pb.go | 900 ++ .../go/vendor/google.golang.org/grpc/call.go | 74 + .../google.golang.org/grpc/clientconn.go | 1447 ++ .../go/vendor/google.golang.org/grpc/codec.go | 50 + .../vendor/google.golang.org/grpc/codegen.sh | 17 + .../grpc/codes/code_string.go | 62 + .../google.golang.org/grpc/codes/codes.go | 198 + .../grpc/connectivity/connectivity.go | 73 + .../grpc/credentials/credentials.go | 336 + .../grpc/credentials/internal/syscallconn.go | 61 + .../internal/syscallconn_appengine.go | 30 + .../grpc/credentials/tls13.go | 30 + .../google.golang.org/grpc/dialoptions.go | 554 + .../go/vendor/google.golang.org/grpc/doc.go | 24 + .../grpc/encoding/encoding.go | 118 + .../grpc/encoding/proto/proto.go | 110 + .../go/vendor/google.golang.org/grpc/go.mod | 19 + .../go/vendor/google.golang.org/grpc/go.sum | 37 + .../google.golang.org/grpc/grpclog/grpclog.go | 126 + .../google.golang.org/grpc/grpclog/logger.go | 85 + .../grpc/grpclog/loggerv2.go | 195 + .../google.golang.org/grpc/install_gae.sh | 6 + .../google.golang.org/grpc/interceptor.go | 77 + .../grpc/internal/backoff/backoff.go | 78 + .../grpc/internal/balancerload/load.go | 46 + .../grpc/internal/binarylog/binarylog.go | 167 + .../internal/binarylog/binarylog_testutil.go | 42 + .../grpc/internal/binarylog/env_config.go | 210 + .../grpc/internal/binarylog/method_logger.go | 423 + .../grpc/internal/binarylog/regenerate.sh | 33 + .../grpc/internal/binarylog/sink.go | 162 + .../grpc/internal/binarylog/util.go | 41 + .../grpc/internal/channelz/funcs.go | 727 + .../grpc/internal/channelz/types.go | 702 + .../grpc/internal/channelz/types_linux.go | 53 + .../grpc/internal/channelz/types_nonlinux.go | 44 + .../grpc/internal/channelz/util_linux.go | 39 + .../grpc/internal/channelz/util_nonlinux.go | 26 + .../grpc/internal/envconfig/envconfig.go | 35 + .../grpc/internal/grpcrand/grpcrand.go | 56 + .../grpc/internal/grpcsync/event.go | 61 + .../grpc/internal/internal.go | 71 + .../grpc/internal/syscall/syscall_linux.go | 114 + .../grpc/internal/syscall/syscall_nonlinux.go | 73 + .../grpc/internal/transport/bdp_estimator.go | 141 + .../grpc/internal/transport/controlbuf.go | 930 ++ .../grpc/internal/transport/defaults.go | 49 + .../grpc/internal/transport/flowcontrol.go | 217 + .../grpc/internal/transport/handler_server.go | 431 + .../grpc/internal/transport/http2_client.go | 1411 ++ .../grpc/internal/transport/http2_server.go | 1220 ++ .../grpc/internal/transport/http_util.go | 676 + .../grpc/internal/transport/log.go | 44 + .../grpc/internal/transport/transport.go | 816 + .../grpc/keepalive/keepalive.go | 85 + .../grpc/metadata/metadata.go | 209 + .../grpc/naming/dns_resolver.go | 293 + .../google.golang.org/grpc/naming/naming.go | 68 + .../google.golang.org/grpc/peer/peer.go | 51 + .../google.golang.org/grpc/picker_wrapper.go | 197 + .../google.golang.org/grpc/pickfirst.go | 118 + .../google.golang.org/grpc/preloader.go | 64 + .../go/vendor/google.golang.org/grpc/proxy.go | 152 + .../grpc/resolver/dns/dns_resolver.go | 457 + .../grpc/resolver/passthrough/passthrough.go | 57 + .../grpc/resolver/resolver.go | 193 + .../grpc/resolver_conn_wrapper.go | 168 + .../vendor/google.golang.org/grpc/rpc_util.go | 863 + .../vendor/google.golang.org/grpc/server.go | 1510 ++ .../google.golang.org/grpc/service_config.go | 429 + .../grpc/serviceconfig/serviceconfig.go | 48 + .../google.golang.org/grpc/stats/handlers.go | 63 + .../google.golang.org/grpc/stats/stats.go | 300 + .../google.golang.org/grpc/status/status.go | 228 + .../vendor/google.golang.org/grpc/stream.go | 1529 ++ .../vendor/google.golang.org/grpc/tap/tap.go | 51 + .../go/vendor/google.golang.org/grpc/trace.go | 126 + .../vendor/google.golang.org/grpc/version.go | 22 + .../go/vendor/google.golang.org/grpc/vet.sh | 134 + .../go/vendor/gopkg.in/yaml.v2/.travis.yml | 12 + .../go/vendor/gopkg.in/yaml.v2/LICENSE | 201 + .../vendor/gopkg.in/yaml.v2/LICENSE.libyaml | 31 + .../go/vendor/gopkg.in/yaml.v2/NOTICE | 13 + .../go/vendor/gopkg.in/yaml.v2/README.md | 133 + .../go/vendor/gopkg.in/yaml.v2/apic.go | 739 + .../go/vendor/gopkg.in/yaml.v2/decode.go | 775 + .../go/vendor/gopkg.in/yaml.v2/emitterc.go | 1685 ++ .../go/vendor/gopkg.in/yaml.v2/encode.go | 390 + .../go/vendor/gopkg.in/yaml.v2/go.mod | 5 + .../go/vendor/gopkg.in/yaml.v2/parserc.go | 1095 ++ .../go/vendor/gopkg.in/yaml.v2/readerc.go | 412 + .../go/vendor/gopkg.in/yaml.v2/resolve.go | 258 + .../go/vendor/gopkg.in/yaml.v2/scannerc.go | 2696 ++++ .../go/vendor/gopkg.in/yaml.v2/sorter.go | 113 + .../go/vendor/gopkg.in/yaml.v2/writerc.go | 26 + .../go/vendor/gopkg.in/yaml.v2/yaml.go | 466 + .../go/vendor/gopkg.in/yaml.v2/yamlh.go | 738 + .../vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 + .../asset_contract_api/go/vendor/modules.txt | 113 + asset.tar.gz | Bin 0 -> 2483834 bytes createChannel.sh | 32 +- deployChaincodeContractApi.sh | 105 +- log.txt | 2 +- start.sh | 5 +- stop.sh | 1 + 783 files changed, 408480 insertions(+), 3168 deletions(-) rename api-1.4/artifacts/{org1.yaml => firm.yaml} (92%) rename api-1.4/artifacts/{org2.yaml => gov.yaml} (92%) create mode 100644 api-1.4/fabric-client-kv-firm/admin create mode 100644 api-1.4/fabric-client-kv-firm/damtien create mode 100644 api-2.0/Firm-wallet/admin.id create mode 100644 api-2.0/Gov-wallet/admin.id create mode 100644 api-2.0/config/connection-Firm.json create mode 100644 api-2.0/config/connection-Gov.json create mode 100644 api-2.0/config/connection-firm.json create mode 100644 api-2.0/config/connection-gov.json rename api-2.0/config/{connection-org1.json => connection-org1_0.json} (100%) rename api-2.0/config/{connection-org2.json => connection-org2_0.json} (100%) create mode 100644 api-2.0/package-lock_000.json create mode 100644 artifacts/channel/FirmMSPanchors.tx create mode 100644 artifacts/channel/GovMSPanchors.tx create mode 100644 artifacts/src/github.com/asset_contract_api/go/assetauth.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/purell.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/urlesc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.editorconfig create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/pointer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/reference.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.editorconfig create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.golangci.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/bindata.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/cache.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/contact_info.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/debug.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/expander.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/external_docs.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/header.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/info.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/items.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/license.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/normalizer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/operation.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/parameter.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/path_item.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/paths.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/ref.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/response.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/responses.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema_loader.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/security_scheme.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/spec.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/swagger.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/tag.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/unused.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/xml_object.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.editorconfig create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.golangci.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert_types.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/doc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/json.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/loading.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/name_lexem.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/net.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/path.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go18.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go19.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go18.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go19.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/split.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/util.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/yaml.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gometalinter.json create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/LICENSE.txt create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/Makefile create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/SHOULDERS.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-pipelines.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-tests.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure.sh create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/env create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/envy.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/version.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gometalinter.json create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/Makefile create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/SHOULDERS.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-pipelines.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-tests.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file_info.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/interfaces.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/Makefile create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/SHOULDERS.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-pipelines.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-tests.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/errx.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/version.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/map.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/memory_box.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/skip_walker.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/version.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.codeclimate.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gometalinter.json create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml.plush create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/LICENSE.txt create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/Makefile create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/SHOULDERS.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-pipelines.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-tests.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/box.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/env.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/file.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/packr.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/version.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/walk.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/AUTHORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/CONTRIBUTORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/clone.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/decode.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/deprecated.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/discard.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/encode.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/equal.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/extensions.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/lib.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/message_set.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_reflect.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/properties.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_marshal.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_merge.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_unmarshal.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text_parser.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.proto create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/doc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/attrmgr/attrmgr.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/cid.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/interfaces.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/chaincodeserver.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/handler.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/interfaces.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/client.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/config.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/server.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/response.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/shim.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/stub.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract_chaincode.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/system_contract.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/transaction_context.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/utils/undefined_interface.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/contract_function.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/transaction_handler.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types/types.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types_handler.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/utils/utils.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/a_metadata-packr.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/ioutils.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/metadata.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/schema.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/json_transaction_serializer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/transaction_serializer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/collection.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/common.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configtx.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configuration.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/ledger.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/policies.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/queryresult/kv_query_result.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/rwset/rwset.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/identities.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_config.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_principal.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_event.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_shim.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/collection.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/configuration.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/events.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/policy.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal_response.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/query.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/resources.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/signed_cc_dep_spec.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/transaction.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/LICENCE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/godotenv.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/buffer/pool.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/error.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/lexer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jwriter/writer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/gopkgin.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/print.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/read.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/rule.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/module/module.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/semver/semver.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/LICENSE-APACHE-2.0.txt create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/pointer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/LICENSE-APACHE-2.0.txt create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/reference.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/LICENSE-APACHE-2.0.txt create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/draft.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/errors.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/format_checkers.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/glide.yaml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/internalLog.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonContext.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/locales.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/result.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schema.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaLoader.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaPool.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaReferencePool.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaType.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/subSchema.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/types.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/utils.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/validation.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/AUTHORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/CONTRIBUTORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/PATENTS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/guts.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/httplex.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Dockerfile create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Makefile create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/README create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/ciphers.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/client_conn_pool.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/databuffer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/errors.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/flow.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/frame.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/go111.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/gotrack.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/headermap.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/encode.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/hpack.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/huffman.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/tables.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/http2.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/not_go111.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/pipe.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/server.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/transport.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/write.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_priority.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_random.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna10.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna9.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/punycode.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables10.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables11.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables9.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trie.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trieval.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/internal/timeseries/timeseries.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/events.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/histogram.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/trace.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/AUTHORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/CONTRIBUTORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/PATENTS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/.gitignore create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/affinity_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/aliases.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_386.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_386.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_386.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_s390x.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_386.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_386.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/bluetooth_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/cap_freebsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/constants.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_openbsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dirent.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_big.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_little.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/env_unix.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_darwin.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_c.c create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ioctl.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkall.sh create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pledge_openbsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdents.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_unix.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/str.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_bsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/timestruct.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/unveil_openbsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/xattr_bsd.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptrace386_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracearm_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemips_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/AUTHORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/CONTRIBUTORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/PATENTS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/secure/bidirule/bidirule.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/transform/transform.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bidi.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bracket.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/core.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/prop.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/trieval.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/composition.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/forminfo.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/input.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/iter.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/normalize.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/readwriter.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/transform.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/trie.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/kind_string.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables10.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables11.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables9.0.0.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/transform.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/trieval.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/width.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/AUTHORS create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/CONTRIBUTING.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/Makefile create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/backoff.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/balancer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/balancer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/base.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_conn_wrappers.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_v1_wrapper.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/call.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/clientconn.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codec.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codegen.sh create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/code_string.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/codes.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/connectivity/connectivity.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/credentials.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn_appengine.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/tls13.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/dialoptions.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/doc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/encoding.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/proto/proto.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.sum create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/grpclog.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/logger.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/loggerv2.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/install_gae.sh create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/interceptor.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/backoff/backoff.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/balancerload/load.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog_testutil.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/env_config.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/regenerate.sh create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/sink.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/util.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/funcs.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcrand/grpcrand.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcsync/event.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/internal.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/bdp_estimator.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/controlbuf.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/defaults.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/handler_server.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_client.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_server.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http_util.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/log.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/transport.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/keepalive/keepalive.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/metadata/metadata.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/dns_resolver.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/naming.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/peer/peer.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/picker_wrapper.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/pickfirst.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/preloader.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/proxy.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/dns/dns_resolver.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/passthrough/passthrough.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/resolver.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver_conn_wrapper.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/rpc_util.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/server.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/service_config.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/serviceconfig/serviceconfig.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/handlers.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/stats.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/status/status.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stream.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/tap/tap.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/trace.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/version.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/vet.sh create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/.travis.yml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE.libyaml create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/NOTICE create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/README.md create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/apic.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/decode.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/emitterc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/encode.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/go.mod create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/parserc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/readerc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/resolve.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/scannerc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/sorter.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/writerc.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yaml.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlh.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlprivateh.go create mode 100644 artifacts/src/github.com/asset_contract_api/go/vendor/modules.txt create mode 100644 asset.tar.gz create mode 100755 stop.sh diff --git a/api-1.4/app.js b/api-1.4/app.js index 6da7a76..45cc58f 100644 --- a/api-1.4/app.js +++ b/api-1.4/app.js @@ -293,17 +293,17 @@ app.post('/channels/:channelName/chaincodes/:chaincodeName', async function (req const response_payload = { - result: message, - error: null, - errorData: null + "result": message, + "error": null, + "errorData": null } res.send(response_payload); } catch (error) { const response_payload = { - result: null, - error: error.name, - errorData: error.message + "result": null, + "error": error.name, + "errorData": error.message } res.send(response_payload) } @@ -312,40 +312,51 @@ app.post('/channels/:channelName/chaincodes/:chaincodeName', async function (req // Query on chaincode on target peers app.get('/channels/:channelName/chaincodes/:chaincodeName', async function (req, res) { - logger.debug('==================== QUERY BY CHAINCODE =================='); - var channelName = req.params.channelName; - var chaincodeName = req.params.chaincodeName; - let args = req.query.args; - let fcn = req.query.fcn; - let peer = req.query.peer; + try { + logger.debug('==================== QUERY BY CHAINCODE =================='); + var channelName = req.params.channelName; + var chaincodeName = req.params.chaincodeName; + let args = req.query.args; + let fcn = req.query.fcn; + let peer = req.query.peer; - logger.debug('channelName : ' + channelName); - logger.debug('chaincodeName : ' + chaincodeName); - logger.debug('fcn : ' + fcn); - logger.debug('args : ' + args); + logger.debug('channelName : ' + channelName); + logger.debug('chaincodeName : ' + chaincodeName); + logger.debug('fcn : ' + fcn); + logger.debug('args : ' + args); - if (!chaincodeName) { - res.json(getErrorMessage('\'chaincodeName\'')); - return; - } - if (!channelName) { - res.json(getErrorMessage('\'channelName\'')); - return; - } - if (!fcn) { - res.json(getErrorMessage('\'fcn\'')); - return; - } - if (!args) { - res.json(getErrorMessage('\'args\'')); - return; - } - args = args.replace(/'/g, '"'); - args = JSON.parse(args); - logger.debug(args); + if (!chaincodeName) { + res.json(getErrorMessage('\'chaincodeName\'')); + return; + } + if (!channelName) { + res.json(getErrorMessage('\'channelName\'')); + return; + } + if (!fcn) { + res.json(getErrorMessage('\'fcn\'')); + return; + } + if (!args) { + res.json(getErrorMessage('\'args\'')); + return; + } + args = args.replace(/'/g, '"'); + args = JSON.parse(args); + logger.debug(args); - let message = await query.queryChaincode(peer, channelName, chaincodeName, args, fcn, req.username, req.orgname); - res.send(message); + + let message = await query.queryChaincode(peer, channelName, chaincodeName, args, fcn, req.username, req.orgname); + res.send(message); + + } catch (error) { + const response_payload = { + result: null, + error: error.name, + errorData: error.message + } + res.send(response_payload) + } }); // Query Get Block by BlockNumber diff --git a/api-1.4/app/helper.js b/api-1.4/app/helper.js index 2bab134..2f5882c 100644 --- a/api-1.4/app/helper.js +++ b/api-1.4/app/helper.js @@ -63,7 +63,7 @@ var getRegisteredUser = async function (username, userOrg, isJson) { let caClient = client.getCertificateAuthority(); let secret = await caClient.register({ enrollmentID: username, - affiliation: userOrg.toLowerCase() + '.department1', + // affiliation: userOrg.toLowerCase() + '.department1', attrs: [{ name: 'role', value: 'approver', ecert: true }] }, adminUserObj); // let secret = await caClient.register({ diff --git a/api-1.4/app/invoke-transaction.js b/api-1.4/app/invoke-transaction.js index 9ef7102..e907c64 100644 --- a/api-1.4/app/invoke-transaction.js +++ b/api-1.4/app/invoke-transaction.js @@ -161,7 +161,7 @@ var invokeChaincode = async function (peerNames, channelName, chaincodeName, fcn org_name, channelName, tx_id_string); logger.info(message); - return { "tx_id": tx_id_string }; + return { "tx_id": tx_id_string}; } else { let message = util.format('Failed to invoke chaincode. cause:%s', error_message); logger.error(message); diff --git a/api-1.4/artifacts/org1.yaml b/api-1.4/artifacts/firm.yaml similarity index 92% rename from api-1.4/artifacts/org1.yaml rename to api-1.4/artifacts/firm.yaml index 6f8c9f6..7000f54 100755 --- a/api-1.4/artifacts/org1.yaml +++ b/api-1.4/artifacts/firm.yaml @@ -4,7 +4,7 @@ # blockchain network that are necessary for the applications to interact with it. These are all # knowledge that must be acquired from out-of-band sources. This file provides such a source. # -name: "basic-network-org1" +name: "basic-network-firm" # # Any properties with an "x-" prefix will be treated as application-specific, exactly like how naming @@ -19,7 +19,7 @@ x-type: "hlfv1" # # Describe what the target network is/does. # -description: "Basic Network - client definition for Org1" +description: "Basic Network - client definition for Firm" # # Schema version of the content. Used by the SDK to apply the corresponding parsing rules. @@ -32,7 +32,7 @@ version: "1.0" client: # Which organization does this application instance belong to? The value must be the name of an org # defined under "organizations" - organization: Org1 + organization: Firm # Some SDKs support pluggable KV stores, the properties under "credentialStore" # are implementation specific @@ -40,14 +40,14 @@ client: # [Optional]. Specific to FileKeyValueStore.js or similar implementations in other SDKs. Can be others # if using an alternative impl. For instance, CouchDBKeyValueStore.js would require an object # here for properties like url, db name, etc. - path: "./fabric-client-kv-org1" + path: "./fabric-client-kv-firm" # [Optional]. Specific to the CryptoSuite implementation. Software-based implementations like # CryptoSuite_ECDSA_AES.js in node SDK requires a key store. PKCS#11 based implementations does # not. cryptoStore: # Specific to the underlying KeyValueStore that backs the crypto key store. - path: "./crypto/org1" + path: "./crypto/firm" # [Optional]. Specific to Composer environment wallet: wallet-name diff --git a/api-1.4/artifacts/org2.yaml b/api-1.4/artifacts/gov.yaml similarity index 92% rename from api-1.4/artifacts/org2.yaml rename to api-1.4/artifacts/gov.yaml index 2512869..db88726 100755 --- a/api-1.4/artifacts/org2.yaml +++ b/api-1.4/artifacts/gov.yaml @@ -4,7 +4,7 @@ # blockchain network that are necessary for the applications to interact with it. These are all # knowledge that must be acquired from out-of-band sources. This file provides such a source. # -name: "basic-network-org2" +name: "basic-network-gov" # # Any properties with an "x-" prefix will be treated as application-specific, exactly like how naming @@ -19,7 +19,7 @@ x-type: "hlfv1" # # Describe what the target network is/does. # -description: "Basicr Network - client definition for Org2" +description: "Basicr Network - client definition for gov" # # Schema version of the content. Used by the SDK to apply the corresponding parsing rules. @@ -32,7 +32,7 @@ version: "1.0" client: # Which organization does this application instance belong to? The value must be the name of an org # defined under "organizations" - organization: Org2 + organization: Gov # Some SDKs support pluggable KV stores, the properties under "credentialStore" # are implementation specific @@ -40,14 +40,14 @@ client: # [Optional]. Specific to FileKeyValueStore.js or similar implementations in other SDKs. Can be others # if using an alternative impl. For instance, CouchDBKeyValueStore.js would require an object # here for properties like url, db name, etc. - path: "./fabric-client-kv-org2" + path: "./fabric-client-kv-gov" # [Optional]. Specific to the CryptoSuite implementation. Software-based implementations like # CryptoSuite_ECDSA_AES.js in node SDK requires a key store. PKCS#11 based implementations does # not. cryptoStore: # Specific to the underlying KeyValueStore that backs the crypto key store. - path: "./crypto/org2" + path: "./crypto/gov" # [Optional]. Specific to Composer environment wallet: wallet-name diff --git a/api-1.4/artifacts/network-config.yaml b/api-1.4/artifacts/network-config.yaml index 58a55c7..8fd901f 100755 --- a/api-1.4/artifacts/network-config.yaml +++ b/api-1.4/artifacts/network-config.yaml @@ -5,28 +5,28 @@ version: "1.0" channels: mychannel: orderers: - - orderer.example.com + - orderer.assetauth.vn peers: - peer0.org1.example.com: + peer0.firm.assetauth.vn: endorsingPeer: true chaincodeQuery: true ledgerQuery: true eventSource: true - peer1.org1.example.com: + peer1.firm.assetauth.vn: endorsingPeer: true chaincodeQuery: true ledgerQuery: true eventSource: true - peer0.org2.example.com: + peer0.gov.assetauth.vn: endorsingPeer: true chaincodeQuery: true ledgerQuery: true eventSource: true - peer1.org2.example.com: + peer1.gov.assetauth.vn: endorsingPeer: true chaincodeQuery: true ledgerQuery: true @@ -36,120 +36,120 @@ channels: - mycc:v0 organizations: - Org1: - mspid: Org1MSP + Firm: + mspid: FirmMSP peers: - - peer0.org1.example.com - - peer1.org1.example.com + - peer0.firm.assetauth.vn + - peer1.firm.assetauth.vn certificateAuthorities: - - ca.org1.example.com + - ca.firm.assetauth.vn adminPrivateKey: - path: ../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk + path: ../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/users/Admin@firm.assetauth.vn/msp/keystore/priv_sk signedCert: - path: ../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem + path: ../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/users/Admin@firm.assetauth.vn/msp/signcerts/Admin@firm.assetauth.vn-cert.pem - Org2: - mspid: Org2MSP + Gov: + mspid: GovMSP peers: - - peer0.org2.example.com - - peer1.org2.example.com + - peer0.gov.assetauth.vn + - peer1.gov.assetauth.vn certificateAuthorities: - - ca.org2.example.com + - ca.gov.assetauth.vn adminPrivateKey: - path: ../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/priv_sk + path: ../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/users/Admin@gov.assetauth.vn/msp/keystore/priv_sk signedCert: - path: ../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem + path: ../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/users/Admin@gov.assetauth.vn/msp/signcerts/Admin@gov.assetauth.vn-cert.pem orderers: - orderer.example.com: + orderer.assetauth.vn: url: grpcs://localhost:7050 grpcOptions: - ssl-target-name-override: orderer.example.com + ssl-target-name-override: orderer.assetauth.vn tlsCACerts: - path: ../artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt - - orderer2.example.com: - url: grpcs://localhost:8050 - grpcOptions: - ssl-target-name-override: orderer2.example.com - tlsCACerts: - path: ../artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/ca.crt - - orderer3.example.com: - url: grpcs://localhost:9050 - grpcOptions: - ssl-target-name-override: orderer3.example.com - tlsCACerts: - path: ../artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/ca.crt + path: ../artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/tls/ca.crt + + # orderer2.assetauth.vn: + # url: grpcs://localhost:8050 + # grpcOptions: + # ssl-target-name-override: orderer2.assetauth.vn + # tlsCACerts: + # path: ../artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer2.assetauth.vn/tls/ca.crt + + # orderer3.assetauth.vn: + # url: grpcs://localhost:9050 + # grpcOptions: + # ssl-target-name-override: orderer3.assetauth.vn + # tlsCACerts: + # path: ../artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer3.assetauth.vn/tls/ca.crt # # List of peers to send various requests to, including endorsement, query # and event listener registration. # peers: - peer0.org1.example.com: + peer0.firm.assetauth.vn: url: grpcs://localhost:7051 grpcOptions: - ssl-target-name-override: peer0.org1.example.com + ssl-target-name-override: peer0.firm.assetauth.vn tlsCACerts: - path: ../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + path: ../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer0.firm.assetauth.vn/tls/ca.crt - peer1.org1.example.com: + peer1.firm.assetauth.vn: url: grpcs://localhost:8051 grpcOptions: - ssl-target-name-override: peer1.org1.example.com + ssl-target-name-override: peer1.firm.assetauth.vn tlsCACerts: - path: ../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt + path: ../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer1.firm.assetauth.vn/tls/ca.crt - peer0.org2.example.com: + peer0.gov.assetauth.vn: url: grpcs://localhost:9051 grpcOptions: - ssl-target-name-override: peer0.org2.example.com + ssl-target-name-override: peer0.gov.assetauth.vn tlsCACerts: - path: ../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt + path: ../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer0.gov.assetauth.vn/tls/ca.crt - peer1.org2.example.com: + peer1.gov.assetauth.vn: url: grpcs://localhost:10051 grpcOptions: - ssl-target-name-override: peer1.org2.example.com + ssl-target-name-override: peer1.gov.assetauth.vn tlsCACerts: - path: ../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt + path: ../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer1.gov.assetauth.vn/tls/ca.crt # # Fabric-CA is a special kind of Certificate Authority provided by Hyperledger Fabric which allows # certificate management to be done via REST APIs. Application may choose to use a standard # Certificate Authority instead of Fabric-CA, in which case this section would not be specified. # certificateAuthorities: - ca.org1.example.com: + ca.firm.assetauth.vn: url: https://localhost:7054 httpOptions: verify: false tlsCACerts: - path: ../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem + path: ../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/ca/ca.firm.assetauth.vn-cert.pem registrar: - enrollId: admin enrollSecret: adminpw - caName: ca.org1.example.com + caName: ca.firm.assetauth.vn - ca.org2.example.com: + ca.gov.assetauth.vn: url: https://localhost:8054 httpOptions: verify: false tlsCACerts: - path: ../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem + path: ../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/ca/ca.gov.assetauth.vn-cert.pem registrar: - enrollId: admin enrollSecret: adminpw - caName: ca.org2.example.com + caName: ca.gov.assetauth.vn diff --git a/api-1.4/config.js b/api-1.4/config.js index a3d1baa..62421c2 100644 --- a/api-1.4/config.js +++ b/api-1.4/config.js @@ -12,7 +12,7 @@ else // indicate to the application where the setup file is located so it able // to have the hfc load it to initalize the fabric client instance hfc.setConfigSetting('network-connection-profile-path',path.join(__dirname, 'artifacts' ,file)); -hfc.setConfigSetting('Org1-connection-profile-path',path.join(__dirname, 'artifacts', 'org1.yaml')); -hfc.setConfigSetting('Org2-connection-profile-path',path.join(__dirname, 'artifacts', 'org2.yaml')); +hfc.setConfigSetting('Firm-connection-profile-path',path.join(__dirname, 'artifacts', 'firm.yaml')); +hfc.setConfigSetting('Gov-connection-profile-path',path.join(__dirname, 'artifacts', 'gov.yaml')); // some other settings the application might need to know hfc.addConfigFile(path.join(__dirname, 'config.json')); diff --git a/api-1.4/fabric-client-kv-firm/admin b/api-1.4/fabric-client-kv-firm/admin new file mode 100644 index 0000000..e5541c0 --- /dev/null +++ b/api-1.4/fabric-client-kv-firm/admin @@ -0,0 +1 @@ +{"name":"admin","mspid":"FirmMSP","roles":null,"affiliation":"","enrollmentSecret":"","enrollment":{"signingIdentity":"e82234c77fe3f5c422631bf03025e3fefa86c949b5a5d797c4d44fb84b7ca8ea","identity":{"certificate":"-----BEGIN CERTIFICATE-----\nMIICBDCCAaqgAwIBAgIUZCQ3tFq3EvbHPb9nuDJouxQajsowCgYIKoZIzj0EAwIw\ndTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh\nbiBGcmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMR0wGwYDVQQD\nExRjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0yMzA2MDMw\nODI3MDBaMCExDzANBgNVBAsTBmNsaWVudDEOMAwGA1UEAxMFYWRtaW4wWTATBgcq\nhkjOPQIBBggqhkjOPQMBBwNCAARjbCqj4ZGkLrPjUrZ7sxqCyrCWQQO18j79SlLq\nmsrP6R20YTSSbGcoFwa43Ilgq4WQHx3cUfJk/yBcA+5y/Y2ao2wwajAOBgNVHQ8B\nAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUf7zU7lQYSOOLp3dsZKFQ\nVsraqwQwKwYDVR0jBCQwIoAgSh3OwIhgfxOtP0VnBwSuPkff3/pVlSMaf+vcKCCP\nZtcwCgYIKoZIzj0EAwIDSAAwRQIhAPRZYLldEtm3ZDoNgJ6tlAJodglb3UsE/UD9\nBzyRGHDEAiAonolOdNjLnRGCNnfenh5nFMKZolNSvzH3DZfiKz911g==\n-----END CERTIFICATE-----\n"}}} \ No newline at end of file diff --git a/api-1.4/fabric-client-kv-firm/damtien b/api-1.4/fabric-client-kv-firm/damtien new file mode 100644 index 0000000..4263efa --- /dev/null +++ b/api-1.4/fabric-client-kv-firm/damtien @@ -0,0 +1 @@ +{"name":"damtien","mspid":"FirmMSP","roles":null,"affiliation":"","enrollmentSecret":"","enrollment":{"signingIdentity":"1b2d4d2a7bded5bcac9473baa17bbe73f37bd4f11700cef585e404d563dab2fb","identity":{"certificate":"-----BEGIN CERTIFICATE-----\nMIICdTCCAhygAwIBAgIUCsepyaumUQRve5IEh19nRhYEgegwCgYIKoZIzj0EAwIw\ndTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh\nbiBGcmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMR0wGwYDVQQD\nExRjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0yMzA2MDMw\nODI3MDBaMCMxDzANBgNVBAsTBmNsaWVudDEQMA4GA1UEAxMHZGFtdGllbjBZMBMG\nByqGSM49AgEGCCqGSM49AwEHA0IABH9LM3yOauT3XCT1Jxl9QnFFw1O6NJY88hlZ\n9NPxnBidt9vtEVgYCrHI/K7cxCprxYgq3qXjo9eUVYAG5i3titajgdswgdgwDgYD\nVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFDAf7m6c43N+9wqI\n1wMv5qGqbuhNMCsGA1UdIwQkMCKAIEodzsCIYH8TrT9FZwcErj5H39/6VZUjGn/r\n3Cggj2bXMGwGCCoDBAUGBwgBBGB7ImF0dHJzIjp7ImhmLkFmZmlsaWF0aW9uIjoi\nIiwiaGYuRW5yb2xsbWVudElEIjoiZGFtdGllbiIsImhmLlR5cGUiOiJjbGllbnQi\nLCJyb2xlIjoiYXBwcm92ZXIifX0wCgYIKoZIzj0EAwIDRwAwRAIhAJ0On2jJ++Mv\nJJB15GfiOOO1Pbnb+oGnjwhbSFRu0fsaAh965DpFkxqRcHKaHu6WJstQu4YPypsG\nIEdgMZuASwYW\n-----END CERTIFICATE-----\n"}}} \ No newline at end of file diff --git a/api-1.4/package-lock.json b/api-1.4/package-lock.json index 7ff7026..7fbc4ac 100644 --- a/api-1.4/package-lock.json +++ b/api-1.4/package-lock.json @@ -1,52 +1,3029 @@ { "name": "balance-transfer", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "balance-transfer", + "version": "1.0.0", + "license": "Apache-2.0", + "dependencies": { + "axios": "^0.19.0", + "body-parser": "^1.17.1", + "cookie-parser": "^1.4.3", + "cors": "^2.8.3", + "express": "^4.15.2", + "express-bearer-token": "^2.1.0", + "express-jwt": "^5.3.0", + "express-session": "^1.15.2", + "fabric-ca-client": "~1.4.0", + "fabric-client": "~1.4.0", + "fs-extra": "^2.0.0", + "jsonwebtoken": "^7.3.0", + "log4js": "^0.6.38", + "prom-client": "^11.5.3" + }, + "engines": { + "node": ">=8.9.4 <9.0", + "npm": ">=5.6.0 <6.0" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@types/bytebuffer": { + "version": "5.0.43", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.43.tgz", + "integrity": "sha512-vQnTYvy4LpSojHjKdmg4nXFI1BAiYPvZ/k3ouczZAQnbDprk1xqxJiFmFHyy8y6MuUq3slz5erNMtn6n87uVKw==", + "dependencies": { + "@types/long": "*", + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/node": { + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==", + "dependencies": { + "colour": "~0.7.1", + "optjs": "~3.2.2" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dependencies": { + "follow-redirects": "1.5.10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bintrees": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", + "integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bl/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-request": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", + "integrity": "sha512-YyNI4qJJ+piQG6MMEuo7J3Bzaqssufx04zpEKYfSrl/1Op59HWali9zMtBpXnkmqMcOuWJPZvudrm9wISmnCbg==", + "engines": [ + "node" + ] + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==", + "dependencies": { + "long": "~3" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/bytebuffer/node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "engines": { + "node": "*" + } + }, + "node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cloudant-follow": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/cloudant-follow/-/cloudant-follow-0.17.0.tgz", + "integrity": "sha512-JQ1xvKAHh8rsnSVBjATLCjz/vQw1sWBGadxr2H69yFMwD7hShUGDwwEefdypaxroUJ/w6t1cSwilp/hRUxEW8w==", + "deprecated": "This package is no longer maintained.", + "dependencies": { + "browser-request": "~0.3.0", + "debug": "^3.0.0", + "request": "^2.83.0" + }, + "bin": { + "follow": "cli.js" + }, + "engines": { + "node": ">=6.13.0" + } + }, + "node_modules/cloudant-follow/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/cloudant-follow/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "dependencies": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/errs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/errs/-/errs-0.3.2.tgz", + "integrity": "sha512-r+/tydov04FSwTi+PrGd0IdY195Y1jZW2g27TJ+cErU8vvr9V4hHYxtRF8bMjv4zYEhap7wK7zBQ2i99LRo6kA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-bearer-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz", + "integrity": "sha512-2+kRZT2xo+pmmvSY7Ma5FzxTJpO3kGaPCEXPbAm3GaoZ/z6FE4K6L7cvs1AUZwY2xkk15PcQw7t4dWjsl5rdJw==", + "dependencies": { + "cookie": "^0.3.1", + "cookie-parser": "^1.4.4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/express-bearer-token/node_modules/cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express-jwt": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-5.3.3.tgz", + "integrity": "sha512-UdB8p5O8vGYTKm3SfREnLgVGIGEHcL3lrVyi3ebEX2qhMuagN623ju7ywWis+qYL+CXE7G1qPc2bCPBAg2MxZQ==", + "dependencies": { + "async": "^1.5.0", + "express-unless": "^0.3.0", + "jsonwebtoken": "^8.1.0", + "lodash.set": "^4.0.0" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/express-jwt/node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/express-jwt/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/express-jwt/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/express-session": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", + "dependencies": { + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express-unless": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-0.3.1.tgz", + "integrity": "sha512-MPF0KbUOTUMvTQ8/1+bewiYGdCbSL4FvkuVNe2ydjZ0HE/Uq2+NPfKLb1vA5DbcvVPrrAg6GB0ULURUALzzgqw==" + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", + "engines": { + "node": "> 0.1.90" + } + }, + "node_modules/fabric-ca-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.20.tgz", + "integrity": "sha512-4lISgO62ykixns+gxiKTDjehnXCC9hwIjFFDFpziM4xi7RSZuTmViboKWgpHfWjTJc8VulhQftnsOl5/0LgUmQ==", + "dependencies": { + "grpc": "1.24.11", + "jsrsasign": "^10.4.1", + "lodash.clone": "4.5.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fabric-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.20.tgz", + "integrity": "sha512-4e/cFZ3KtwlFHE487zRHMjUwoP74Gifs2db8qTUSm2oBhoSw9CD4lg28rA0MY+AVCx0P2fCjU548+QDH2Z9a9Q==", + "dependencies": { + "@types/bytebuffer": "^5.0.34", + "bn.js": "^4.11.3", + "bytebuffer": "^5.0.1", + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-ca-client": "1.4.20", + "fs-extra": "^8.1.0", + "grpc": "1.24.11", + "ignore-walk": "^3.0.0", + "js-sha3": "^0.7.0", + "js-yaml": "^3.9.0", + "jsrsasign": "^10.4.1", + "klaw": "^3.0.0", + "lodash.clone": "4.5.0", + "long": "^4.0.0", + "nano": "^6.4.4", + "nconf": "^0.12.0", + "promise-settle": "^0.3.0", + "protobufjs": "5.0.3", + "sjcl": "1.0.7", + "tar-stream": "^2.2.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "optionalDependencies": { + "pkcs11js": "^1.0.6" + } + }, + "node_modules/fabric-client/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fabric-client/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dependencies": { + "debug": "=3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha512-9ztMtDZtSKC78V8mev+k31qaTabbmuH5jatdvPBMikrFHvw5BqlYnQIn/WGK3WHeRooSTkRvLa2IPlaHjPq5Sg==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/grpc": { + "version": "1.24.11", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.11.tgz", + "integrity": "sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==", + "deprecated": "This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead.", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.4", + "@types/bytebuffer": "^5.0.40", + "lodash.camelcase": "^4.3.0", + "lodash.clone": "^4.5.0", + "nan": "^2.13.2", + "protobufjs": "^5.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isemail": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz", + "integrity": "sha512-pZMb1rDrWRAPtVY92VCxWtF+1gExWrCnao+GL1EKHx6z19ovW+xNcnC1iNB7WkbSYWlyl3uwlaH5eaBx2s2crw==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/joi": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz", + "integrity": "sha512-K6+OwGaWM1sBEu+XMbgC4zDmg6hnddS2DWiCVtjnhkcrzv+ejSfh7HGUsoxmWQkv6kHEsVFAywttfkpmIE2QwQ==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dependencies": { + "hoek": "2.x.x", + "isemail": "1.x.x", + "moment": "2.x.x", + "topo": "1.x.x" + }, + "engines": { + "node": ">=0.10.40", + "npm": ">=2.0.0" + } + }, + "node_modules/js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz", + "integrity": "sha512-7WWGEZ+/xedHUHLDvSwvN7LbmLIEgOuBNQOBKvfX5zpLok5q6873aCR2zOuJ/DrORp/DlyYImz06nlNoRCWugw==", + "dependencies": { + "joi": "^6.10.1", + "jws": "^3.1.4", + "lodash.once": "^4.0.0", + "ms": "^2.0.0", + "xtend": "^4.0.1" + }, + "engines": { + "node": ">=0.12", + "npm": ">=1.4.28" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsrsasign": { + "version": "10.5.23", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.23.tgz", + "integrity": "sha512-e3hy//LH8EbRhzqyHJuf3pbehxYcnUZgGUjQKKTukWJ1M5uQTZBgFvItRK5ik8pixpYDAKY6xj527cEa1NQGPg==", + "funding": { + "url": "https://github.com/kjur/jsrsasign#donations" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + }, + "node_modules/log4js": { + "version": "0.6.38", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", + "integrity": "sha512-Cd+klbx7lkiaamEId9/0odHxv/PFHDz2E12kEfd6/CzIOZD084DzysASR/Dot4i1dYPBQKC3r2XIER+dfbLOmw==", + "dependencies": { + "readable-stream": "~1.0.2", + "semver": "~4.3.3" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/log4js/node_modules/semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/moment": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + }, + "node_modules/nano": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/nano/-/nano-6.4.4.tgz", + "integrity": "sha512-7sldMrZI1ZH8QE29PnzohxLfR67WNVzMKLa7EMl3x9Hr+0G+YpOUCq50qZ9G66APrjcb0Of2BTOZLNBCutZGag==", + "dependencies": { + "cloudant-follow": "~0.17.0", + "debug": "^2.2.0", + "errs": "^0.3.2", + "lodash.isempty": "^4.4.0", + "request": "^2.85.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nconf": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz", + "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==", + "dependencies": { + "async": "^3.0.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/nconf/node_modules/async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/pkcs11js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.3.0.tgz", + "integrity": "sha512-owI+M6Gpw0cEU47cTt2eWQs4Iqm9zRyobiJ0q37wIgOrK8BcXVuRM3eVGH58QxYWhItMcRiEBUTE8HUHZX+beQ==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.15.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/PeculiarVentures" + } + }, + "node_modules/prom-client": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz", + "integrity": "sha512-iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==", + "dependencies": { + "tdigest": "^0.1.1" + }, + "engines": { + "node": ">=6.1" + } + }, + "node_modules/promise-settle": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-settle/-/promise-settle-0.3.0.tgz", + "integrity": "sha1-tO/VcqHrdM95T4KM00naQKCOTpY=", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/protobufjs": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", + "dependencies": { + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" + }, + "bin": { + "pbjs": "bin/pbjs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/protobufjs/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/protobufjs/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "node_modules/protobufjs/node_modules/yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dependencies": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/secure-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", + "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=" + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sjcl": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.7.tgz", + "integrity": "sha1-MrNlpQ3Ju6JriLo8nfjqNCF9n0U=", + "engines": { + "node": "*" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "engines": { + "node": "*" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/tdigest": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz", + "integrity": "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==", + "dependencies": { + "bintrees": "1.0.2" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/topo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz", + "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/winston": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", + "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", + "dependencies": { + "async": "^3.2.3", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/winston/node_modules/async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + } + }, "dependencies": { + "@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "requires": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + } + }, "@types/bytebuffer": { - "version": "5.0.40", - "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.40.tgz", - "integrity": "sha512-h48dyzZrPMz25K6Q4+NCwWaxwXany2FhQg/ErOcdZS1ZpsaDnDMZg8JYLMTGz7uvXKrcKGJUZJlZObyfgdaN9g==", + "version": "5.0.43", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.43.tgz", + "integrity": "sha512-vQnTYvy4LpSojHjKdmg4nXFI1BAiYPvZ/k3ouczZAQnbDprk1xqxJiFmFHyy8y6MuUq3slz5erNMtn6n87uVKw==", "requires": { "@types/long": "*", "@types/node": "*" } }, "@types/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", - "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "@types/node": { - "version": "12.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz", - "integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w==" + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } }, "argparse": { "version": "1.0.10", @@ -59,21 +3036,21 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "ascli": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", - "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", + "integrity": "sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==", "requires": { "colour": "~0.7.1", "optjs": "~3.2.2" } }, "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "requires": { "safer-buffer": "~2.1.0" } @@ -81,94 +3058,111 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" + "follow-redirects": "1.5.10" } }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "requires": { "tweetnacl": "^0.14.3" } }, "bintrees": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz", - "integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", + "integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==" }, "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } } }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "requires": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" } }, "brace-expansion": { @@ -183,41 +3177,31 @@ "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, "browser-request": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", - "integrity": "sha1-ns5bWsqJopkyJC4Yv5M975h2zBc=" + "integrity": "sha512-YyNI4qJJ+piQG6MMEuo7J3Bzaqssufx04zpEKYfSrl/1Op59HWali9zMtBpXnkmqMcOuWJPZvudrm9wISmnCbg==" }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "bytebuffer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", - "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", + "integrity": "sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==", "requires": { "long": "~3" }, @@ -225,38 +3209,52 @@ "long": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==" } } }, "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==" }, "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==" }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "cloudant-follow": { @@ -267,22 +3265,55 @@ "browser-request": "~0.3.0", "debug": "^3.0.0", "request": "^2.83.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } } }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "colors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==" }, "colour": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", - "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" + "integrity": "sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==" }, "combined-stream": { "version": "1.0.8", @@ -295,14 +3326,19 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" } }, "content-type": { @@ -311,28 +3347,28 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" }, "cookie-parser": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.4.tgz", - "integrity": "sha512-lo13tqF3JEtFO7FyA49CqbhaFkskRJ0u/UAiINgrIXeRCY41c88/zxtrECl8AKH3B0hj9q10+h3Kt8I7KlW4tw==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", "requires": { - "cookie": "0.3.1", + "cookie": "0.4.1", "cookie-signature": "1.0.6" } }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cors": { "version": "2.8.5", @@ -346,20 +3382,20 @@ "cycle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" + "integrity": "sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==" }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "requires": { "assert-plus": "^1.0.0" } }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } @@ -367,27 +3403,37 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -404,26 +3450,31 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "elliptic": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", - "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, "end-of-stream": { "version": "1.4.4", @@ -436,12 +3487,17 @@ "errs": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/errs/-/errs-0.3.2.tgz", - "integrity": "sha1-eYCZstvTfKK8dJ5TinwTB9C1BJk=" + "integrity": "sha512-r+/tydov04FSwTi+PrGd0IdY195Y1jZW2g27TJ+cErU8vvr9V4hHYxtRF8bMjv4zYEhap7wK7zBQ2i99LRo6kA==" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "esprima": { "version": "4.0.1", @@ -451,57 +3507,50 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" } } }, @@ -512,12 +3561,19 @@ "requires": { "cookie": "^0.3.1", "cookie-parser": "^1.4.4" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==" + } } }, "express-jwt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-6.0.0.tgz", - "integrity": "sha512-C26y9myRjx7CyhZ+BAT3p+gQyRCoDZ7qo8plCvLDaRT6je6ALIAQknT6XLVQGFKwIy/Ux7lvM2MNap5dt0T7gA==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-5.3.3.tgz", + "integrity": "sha512-UdB8p5O8vGYTKm3SfREnLgVGIGEHcL3lrVyi3ebEX2qhMuagN623ju7ywWis+qYL+CXE7G1qPc2bCPBAg2MxZQ==", "requires": { "async": "^1.5.0", "express-unless": "^0.3.0", @@ -543,56 +3599,43 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, "express-session": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.0.tgz", - "integrity": "sha512-t4oX2z7uoSqATbMfsxWMbNjAL0T5zpvcJCk3Z9wnPPN7ibddhnmDZXHfEcoBMG2ojKXZoCyPMc5FbtK+G7SoDg==", + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", "requires": { - "cookie": "0.4.0", + "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~2.0.0", "on-headers": "~1.0.2", "parseurl": "~1.3.3", - "safe-buffer": "5.2.0", + "safe-buffer": "5.2.1", "uid-safe": "~2.1.5" }, "dependencies": { "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" } } }, "express-unless": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-0.3.1.tgz", - "integrity": "sha1-JVfBRudb65A+LSR/m1ugFFJpbiA=" + "integrity": "sha512-MPF0KbUOTUMvTQ8/1+bewiYGdCbSL4FvkuVNe2ydjZ0HE/Uq2+NPfKLb1vA5DbcvVPrrAg6GB0ULURUALzzgqw==" }, "extend": { "version": "3.0.2", @@ -602,143 +3645,98 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" }, "eyes": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" }, "fabric-ca-client": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.4.tgz", - "integrity": "sha512-lhs/ywszaatqCPObJx/884nGT4i3XWPqF/GKAhIoTfMWk5hXWoOliaV1pCbfkT6BVQMgYaoyx+k8hl+TiBlsDw==", + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.20.tgz", + "integrity": "sha512-4lISgO62ykixns+gxiKTDjehnXCC9hwIjFFDFpziM4xi7RSZuTmViboKWgpHfWjTJc8VulhQftnsOl5/0LgUmQ==", "requires": { - "@types/bytebuffer": "^5.0.34", - "bn.js": "^4.11.3", - "elliptic": "^6.2.3", - "fs-extra": "^6.0.1", - "grpc": "1.21.1", - "js-sha3": "^0.7.0", - "jsrsasign": "^7.2.2", - "jssha": "^2.1.0", - "long": "^4.0.0", - "nconf": "^0.10.0", - "sjcl": "1.0.7", + "grpc": "1.24.11", + "jsrsasign": "^10.4.1", + "lodash.clone": "4.5.0", "url": "^0.11.0", - "util": "^0.10.3", - "winston": "^2.2.0" - }, - "dependencies": { - "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "winston": "^2.4.0" } }, "fabric-client": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.4.tgz", - "integrity": "sha512-QIC9dFCmQN5pWx23CoWq8cJTYwChXB7kEoZbpls5xPZaXtwNnvwBdbVWT+E0qwZQkhpLYe8y3N/A6jC5X3Cqtw==", + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.20.tgz", + "integrity": "sha512-4e/cFZ3KtwlFHE487zRHMjUwoP74Gifs2db8qTUSm2oBhoSw9CD4lg28rA0MY+AVCx0P2fCjU548+QDH2Z9a9Q==", "requires": { "@types/bytebuffer": "^5.0.34", "bn.js": "^4.11.3", + "bytebuffer": "^5.0.1", "callsite": "^1.0.0", - "elliptic": "^6.2.3", - "fabric-ca-client": "^1.4.4", - "fs-extra": "^6.0.1", - "grpc": "1.21.1", - "hoek": "^4.2.1", + "elliptic": "^6.5.4", + "fabric-ca-client": "1.4.20", + "fs-extra": "^8.1.0", + "grpc": "1.24.11", "ignore-walk": "^3.0.0", "js-sha3": "^0.7.0", "js-yaml": "^3.9.0", - "jsrsasign": "^7.2.2", - "jssha": "^2.1.0", - "klaw": "^2.0.0", + "jsrsasign": "^10.4.1", + "klaw": "^3.0.0", + "lodash.clone": "4.5.0", "long": "^4.0.0", "nano": "^6.4.4", - "nconf": "^0.10.0", + "nconf": "^0.12.0", "pkcs11js": "^1.0.6", "promise-settle": "^0.3.0", "protobufjs": "5.0.3", "sjcl": "1.0.7", - "stream-buffers": "3.0.1", - "tar-stream": "1.6.1", + "tar-stream": "^2.2.0", "url": "^0.11.0", - "winston": "^2.2.0" + "winston": "^2.4.0" }, "dependencies": { - "fabric-ca-client": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.4.tgz", - "integrity": "sha512-lhs/ywszaatqCPObJx/884nGT4i3XWPqF/GKAhIoTfMWk5hXWoOliaV1pCbfkT6BVQMgYaoyx+k8hl+TiBlsDw==", - "requires": { - "@types/bytebuffer": "^5.0.34", - "bn.js": "^4.11.3", - "elliptic": "^6.2.3", - "fs-extra": "^6.0.1", - "grpc": "1.21.1", - "js-sha3": "^0.7.0", - "jsrsasign": "^7.2.2", - "jssha": "^2.1.0", - "long": "^4.0.0", - "nconf": "^0.10.0", - "sjcl": "1.0.7", - "url": "^0.11.0", - "util": "^0.10.3", - "winston": "^2.2.0" - } - }, "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "requires": { - "graceful-fs": "^4.1.2", + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } } } }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } } }, "follow-redirects": { @@ -747,12 +3745,22 @@ "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", "requires": { "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } } }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" }, "form-data": { "version": "2.3.3", @@ -765,14 +3773,14 @@ } }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "fs-constants": { "version": "1.0.0", @@ -782,488 +3790,132 @@ "fs-extra": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", - "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "integrity": "sha512-9ztMtDZtSKC78V8mev+k31qaTabbmuH5jatdvPBMikrFHvw5BqlYnQIn/WGK3WHeRooSTkRvLa2IPlaHjPq5Sg==", "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0" - }, - "dependencies": { - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - } + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "requires": { "assert-plus": "^1.0.0" } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "grpc": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.21.1.tgz", - "integrity": "sha512-PFsZQazf62nP05a0xm23mlImMuw5oVlqF/0zakmsdqJgvbABe+d6VThY2PfhqJmWEL/FhQ6QNYsxS5EAM6++7g==", + "version": "1.24.11", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.11.tgz", + "integrity": "sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==", "requires": { + "@mapbox/node-pre-gyp": "^1.0.4", + "@types/bytebuffer": "^5.0.40", "lodash.camelcase": "^4.3.0", "lodash.clone": "^4.5.0", "nan": "^2.13.2", - "node-pre-gyp": "^0.13.0", "protobufjs": "^5.0.3" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "iconv-lite": { - "version": "0.4.23", - "bundled": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "bundled": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true - } - } - }, - "needle": { - "version": "2.3.1", - "bundled": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "bundled": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true - } - } - }, - "node-pre-gyp": { - "version": "0.13.0", - "bundled": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.1.4", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true - }, - "sax": { - "version": "1.2.4", - "bundled": true - }, - "semver": { - "version": "5.7.0", - "bundled": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true - } } }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "requires": { - "ajv": "^6.5.5", + "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, "hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -1276,7 +3928,7 @@ "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -1284,32 +3936,56 @@ } }, "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==" }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" } }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" } }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -1318,10 +3994,15 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", "requires": { "minimatch": "^3.0.4" } @@ -1329,81 +4010,66 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" }, "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" - }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" }, "isemail": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz", - "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo=" + "integrity": "sha512-pZMb1rDrWRAPtVY92VCxWtF+1gExWrCnao+GL1EKHx6z19ovW+xNcnC1iNB7WkbSYWlyl3uwlaH5eaBx2s2crw==" }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "joi": { "version": "6.10.1", "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz", - "integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=", + "integrity": "sha512-K6+OwGaWM1sBEu+XMbgC4zDmg6hnddS2DWiCVtjnhkcrzv+ejSfh7HGUsoxmWQkv6kHEsVFAywttfkpmIE2QwQ==", "requires": { "hoek": "2.x.x", "isemail": "1.x.x", "moment": "2.x.x", "topo": "1.x.x" - }, - "dependencies": { - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - } } }, "js-sha3": { @@ -1412,9 +4078,9 @@ "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1423,12 +4089,12 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", @@ -1438,12 +4104,12 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", "requires": { "graceful-fs": "^4.1.6" } @@ -1451,7 +4117,7 @@ "jsonwebtoken": { "version": "7.4.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz", - "integrity": "sha1-d/UCHeBYtgWheD+hKD6ZgS5kVjg=", + "integrity": "sha512-7WWGEZ+/xedHUHLDvSwvN7LbmLIEgOuBNQOBKvfX5zpLok5q6873aCR2zOuJ/DrORp/DlyYImz06nlNoRCWugw==", "requires": { "joi": "^6.10.1", "jws": "^3.1.4", @@ -1461,25 +4127,20 @@ } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, "jsrsasign": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-7.2.2.tgz", - "integrity": "sha1-rlIwy1V0RRu5eanMaXQoxg9ZjSA=" - }, - "jssha": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/jssha/-/jssha-2.3.1.tgz", - "integrity": "sha1-FHshJTaQNcpLL30hDcU58Amz3po=" + "version": "10.5.23", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.23.tgz", + "integrity": "sha512-e3hy//LH8EbRhzqyHJuf3pbehxYcnUZgGUjQKKTukWJ1M5uQTZBgFvItRK5ik8pixpYDAKY6xj527cEa1NQGPg==" }, "jwa": { "version": "1.4.1", @@ -1501,9 +4162,9 @@ } }, "klaw": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.1.1.tgz", - "integrity": "sha1-QrdolHARacyRD9DRnOZ3tfs3ivE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", "requires": { "graceful-fs": "^4.1.9" } @@ -1511,7 +4172,7 @@ "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "requires": { "invert-kv": "^1.0.0" } @@ -1519,92 +4180,71 @@ "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "lodash.clone": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + "integrity": "sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==" }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isempty": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", - "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "lodash.set": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" }, "log4js": { "version": "0.6.38", "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", - "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", + "integrity": "sha512-Cd+klbx7lkiaamEId9/0odHxv/PFHDz2E12kEfd6/CzIOZD084DzysASR/Dot4i1dYPBQKC3r2XIER+dfbLOmw==", "requires": { "readable-stream": "~1.0.2", "semver": "~4.3.3" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, "semver": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, @@ -1613,6 +4253,29 @@ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -1634,16 +4297,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", - "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.25", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", - "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.42.0" + "mime-db": "1.52.0" } }, "minimalistic-assert": { @@ -1657,17 +4320,39 @@ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" }, "ms": { "version": "2.0.0", @@ -1675,9 +4360,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" }, "nano": { "version": "6.4.4", @@ -1689,33 +4374,57 @@ "errs": "^0.3.2", "lodash.isempty": "^4.4.0", "request": "^2.85.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } } }, "nconf": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz", - "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz", + "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==", "requires": { - "async": "^1.4.0", - "ini": "^1.3.0", + "async": "^3.0.0", + "ini": "^2.0.0", "secure-keys": "^1.0.0", - "yargs": "^3.19.0" + "yargs": "^16.1.1" + }, + "dependencies": { + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + } } }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } }, "number-is-nan": { "version": "1.0.1", @@ -1732,10 +4441,15 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { "ee-first": "1.1.1" } @@ -1787,18 +4501,14 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pkcs11js": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.0.19.tgz", - "integrity": "sha512-BThNeWreqDXbMAZOTtG8PodY4WAS0HNHsXtsVbDBX4L4C58AvxIIXjjZrsBadXUagbjTllmZwsZHkebVUTpwcA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.3.0.tgz", + "integrity": "sha512-owI+M6Gpw0cEU47cTt2eWQs4Iqm9zRyobiJ0q37wIgOrK8BcXVuRM3eVGH58QxYWhItMcRiEBUTE8HUHZX+beQ==", + "optional": true, "requires": { - "nan": "^2.14.0" + "nan": "^2.15.0" } }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "prom-client": { "version": "11.5.3", "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz", @@ -1821,31 +4531,105 @@ "bytebuffer": "~5", "glob": "^7.0.5", "yargs": "^3.10.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + } } }, "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" } }, "psl": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", - "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } }, "querystring": { "version": "0.2.0", @@ -1863,34 +4647,31 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -1899,7 +4680,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -1909,22 +4690,35 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, "dependencies": { "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" } } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safer-buffer": { "version": "2.1.2", @@ -1937,67 +4731,75 @@ "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.18.0" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "sjcl": { "version": "1.0.7", @@ -2010,9 +4812,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -2031,72 +4833,90 @@ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" }, "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, - "stream-buffers": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.1.tgz", - "integrity": "sha1-aKOMX6re3tef95mI02jj+xMl7wY=" + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "safe-buffer": "~5.1.0" + "ansi-regex": "^5.0.1" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { - "ansi-regex": "^2.0.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" } }, "tar-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", - "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.1.0", - "end-of-stream": "^1.0.0", + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.0", - "xtend": "^4.0.0" + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } } }, "tdigest": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz", - "integrity": "sha1-Ljyyw56kSeVdHmzZEReszKRYgCE=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz", + "integrity": "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==", "requires": { - "bintrees": "1.0.1" + "bintrees": "1.0.2" } }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "topo": { "version": "1.1.0", @@ -2104,31 +4924,22 @@ "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=", "requires": { "hoek": "2.x.x" - }, - "dependencies": { - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - } } }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -2170,18 +4981,11 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } } }, "url": { @@ -2191,14 +4995,13 @@ "requires": { "punycode": "1.3.2", "querystring": "0.2.0" - } - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "requires": { - "inherits": "2.0.3" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } } }, "util-deprecate": { @@ -2212,9 +5015,9 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "vary": { "version": "1.1.2", @@ -2229,6 +5032,35 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + } + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "window-size": { @@ -2237,11 +5069,11 @@ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" }, "winston": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz", - "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", + "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", "requires": { - "async": "~1.0.0", + "async": "^3.2.3", "colors": "1.0.x", "cycle": "1.0.x", "eyes": "0.1.x", @@ -2250,19 +5082,20 @@ }, "dependencies": { "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" } } }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "wrappy": { @@ -2276,23 +5109,33 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" } } } diff --git a/api-2.0/Firm-wallet/admin.id b/api-2.0/Firm-wallet/admin.id new file mode 100644 index 0000000..1fb643d --- /dev/null +++ b/api-2.0/Firm-wallet/admin.id @@ -0,0 +1 @@ +{"credentials":{"certificate":"-----BEGIN CERTIFICATE-----\nMIICAzCCAaqgAwIBAgIUYKnWkFAAIEtDGCCvRAhc8Z+CktIwCgYIKoZIzj0EAwIw\ndTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh\nbiBGcmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMR0wGwYDVQQD\nExRjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0yMzA1MzAx\nMTA5MDBaMCExDzANBgNVBAsTBmNsaWVudDEOMAwGA1UEAxMFYWRtaW4wWTATBgcq\nhkjOPQIBBggqhkjOPQMBBwNCAATioN8gjHcFkpQN5ybpSmETjOK5pT5lrfUh5NOy\nSUhm6XzlTrEvUBY6EnlFJVWfIojGI5kgnqqTrOGlGar2ZR0eo2wwajAOBgNVHQ8B\nAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUxijW0Nv+cokEhyAXPFbj\nSkgjz/owKwYDVR0jBCQwIoAgSh3OwIhgfxOtP0VnBwSuPkff3/pVlSMaf+vcKCCP\nZtcwCgYIKoZIzj0EAwIDRwAwRAIgBGr0RaSLQbGRAAgSUyEWgw2g3yIynCwEV1AS\nuPudvtsCIGor3jqXnjODRnY3ewsPc8s3e4Rs7WbnCTUp9rWvbHCE\n-----END CERTIFICATE-----\n","privateKey":"-----BEGIN PRIVATE KEY-----\r\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg0KIQP2+DWiLJ5kdr\r\nAPdohRG4+UfZEe47vWSD7Xjg3cWhRANCAATioN8gjHcFkpQN5ybpSmETjOK5pT5l\r\nrfUh5NOySUhm6XzlTrEvUBY6EnlFJVWfIojGI5kgnqqTrOGlGar2ZR0e\r\n-----END PRIVATE KEY-----\r\n"},"mspId":"FirmMSP","type":"X.509","version":1} \ No newline at end of file diff --git a/api-2.0/Gov-wallet/admin.id b/api-2.0/Gov-wallet/admin.id new file mode 100644 index 0000000..949fad1 --- /dev/null +++ b/api-2.0/Gov-wallet/admin.id @@ -0,0 +1 @@ +{"credentials":{"certificate":"-----BEGIN CERTIFICATE-----\nMIICAjCCAaigAwIBAgIUcbpLBiA5A/01iB7KF9wLMu201TAwCgYIKoZIzj0EAwIw\nczELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh\nbiBGcmFuY2lzY28xGTAXBgNVBAoTEGdvdi5hc3NldGF1dGgudm4xHDAaBgNVBAMT\nE2NhLmdvdi5hc3NldGF1dGgudm4wHhcNMjIwNTMwMDkwMzAwWhcNMjMwNTMwMTAx\nNDAwWjAhMQ8wDQYDVQQLEwZjbGllbnQxDjAMBgNVBAMTBWFkbWluMFkwEwYHKoZI\nzj0CAQYIKoZIzj0DAQcDQgAEXaGomMv63pbdjRJ919y6NhuupQ/hRwypYcAAiJ/2\nqcmDKwaRy+rczaWAv8tOpadE+hDAsySaJNVFBs+NZ6KCbqNsMGowDgYDVR0PAQH/\nBAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFBfOxCiVIWSWxdgPd0InvbRt\n+rnUMCsGA1UdIwQkMCKAIGbVFG4l1mLCGN6n6JNVWhB3paV8ariJmrvaxw7wPAT5\nMAoGCCqGSM49BAMCA0gAMEUCIQCQTlnvmHp8DCzD+5Mc5LOIJT4cjaHfoCegtNMg\nwzt3WAIgOXFRCussboChfiJo6iC0hQHf+muq3utBnKV70udKZzA=\n-----END CERTIFICATE-----\n","privateKey":"-----BEGIN PRIVATE KEY-----\r\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgp1F1Gdi7RSeZkvvU\r\n5l69WkJ05U3xKhUzV5/MV15KAGahRANCAARdoaiYy/relt2NEn3X3Lo2G66lD+FH\r\nDKlhwACIn/apyYMrBpHL6tzNpYC/y06lp0T6EMCzJJok1UUGz41nooJu\r\n-----END PRIVATE KEY-----\r\n"},"mspId":"GovMSP","type":"X.509","version":1} \ No newline at end of file diff --git a/api-2.0/app.js b/api-2.0/app.js index bdb9d60..9ddc333 100644 --- a/api-2.0/app.js +++ b/api-2.0/app.js @@ -6,7 +6,9 @@ const http = require('http') const util = require('util'); const express = require('express') const app = express(); -const expressJWT = require('express-jwt'); +// const {expressJWT} = require('express-jwt'); +var { expressjwt } = require("express-jwt"); + const jwt = require('jsonwebtoken'); const bearerToken = require('express-bearer-token'); const cors = require('cors'); @@ -29,8 +31,9 @@ app.use(bodyParser.urlencoded({ })); // set secret variable app.set('secret', 'thisismysecret'); -app.use(expressJWT({ - secret: 'thisismysecret' +app.use(expressjwt({ + secret: 'thisismysecret', + algorithms: ["HS256"], }).unless({ path: ['/users','/users/login', '/register'] })); diff --git a/api-2.0/app/helper.js b/api-2.0/app/helper.js index c9b3049..a932995 100644 --- a/api-2.0/app/helper.js +++ b/api-2.0/app/helper.js @@ -9,11 +9,11 @@ const util = require('util'); const getCCP = async (org) => { let ccpPath; - if (org == "Org1") { - ccpPath = path.resolve(__dirname, '..', 'config', 'connection-org1.json'); + if (org == "Firm") { + ccpPath = path.resolve(__dirname, '..', 'config', 'connection-firm.json'); - } else if (org == "Org2") { - ccpPath = path.resolve(__dirname, '..', 'config', 'connection-org2.json'); + } else if (org == "Gov") { + ccpPath = path.resolve(__dirname, '..', 'config', 'connection-gov.json'); } else return null const ccpJSON = fs.readFileSync(ccpPath, 'utf8') @@ -23,11 +23,11 @@ const getCCP = async (org) => { const getCaUrl = async (org, ccp) => { let caURL; - if (org == "Org1") { - caURL = ccp.certificateAuthorities['ca.org1.example.com'].url; + if (org == "Firm") { + caURL = ccp.certificateAuthorities['ca.firm.assetauth.vn'].url; - } else if (org == "Org2") { - caURL = ccp.certificateAuthorities['ca.org2.example.com'].url; + } else if (org == "Gov") { + caURL = ccp.certificateAuthorities['ca.gov.assetauth.vn'].url; } else return null return caURL @@ -36,11 +36,11 @@ const getCaUrl = async (org, ccp) => { const getWalletPath = async (org) => { let walletPath; - if (org == "Org1") { - walletPath = path.join(process.cwd(), 'org1-wallet'); + if (org == "Firm") { + walletPath = path.join(process.cwd(), 'Firm-wallet'); - } else if (org == "Org2") { - walletPath = path.join(process.cwd(), 'org2-wallet'); + } else if (org == "Gov") { + walletPath = path.join(process.cwd(), 'Gov-wallet'); } else return null return walletPath @@ -49,7 +49,7 @@ const getWalletPath = async (org) => { const getAffiliation = async (org) => { - return org == "Org1" ? 'org1.department1' : 'org2.department1' + return org == "Firm" ? 'Firm.department' : 'Gov.department' } const getRegisteredUser = async (username, userOrg, isJson) => { @@ -88,7 +88,7 @@ const getRegisteredUser = async (username, userOrg, isJson) => { try { // Register the user, enroll the user, and import the new identity into the wallet. secret = await ca.register({ affiliation: await getAffiliation(userOrg), enrollmentID: username, role: 'client' }, adminUser); - // const secret = await ca.register({ affiliation: 'org1.department1', enrollmentID: username, role: 'client', attrs: [{ name: 'role', value: 'approver', ecert: true }] }, adminUser); + // const secret = await ca.register({ affiliation: 'Firm.department1', enrollmentID: username, role: 'client', attrs: [{ name: 'role', value: 'approver', ecert: true }] }, adminUser); } catch (error) { return error.message @@ -98,22 +98,22 @@ const getRegisteredUser = async (username, userOrg, isJson) => { // const enrollment = await ca.enroll({ enrollmentID: username, enrollmentSecret: secret, attr_reqs: [{ name: 'role', optional: false }] }); let x509Identity; - if (userOrg == "Org1") { + if (userOrg == "Firm") { x509Identity = { credentials: { certificate: enrollment.certificate, privateKey: enrollment.key.toBytes(), }, - mspId: 'Org1MSP', + mspId: 'FirmMSP', type: 'X.509', }; - } else if (userOrg == "Org2") { + } else if (userOrg == "Gov") { x509Identity = { credentials: { certificate: enrollment.certificate, privateKey: enrollment.key.toBytes(), }, - mspId: 'Org2MSP', + mspId: 'GovMSP', type: 'X.509', }; } @@ -144,11 +144,11 @@ const isUserRegistered = async (username, userOrg) => { const getCaInfo = async (org, ccp) => { let caInfo - if (org == "Org1") { - caInfo = ccp.certificateAuthorities['ca.org1.example.com']; + if (org == "Firm") { + caInfo = ccp.certificateAuthorities['ca.firm.assetauth.vn']; - } else if (org == "Org2") { - caInfo = ccp.certificateAuthorities['ca.org2.example.com']; + } else if (org == "Gov") { + caInfo = ccp.certificateAuthorities['ca.gov.assetauth.vn']; } else return null return caInfo @@ -161,7 +161,7 @@ const enrollAdmin = async (org, ccp) => { try { - const caInfo = await getCaInfo(org, ccp) //ccp.certificateAuthorities['ca.org1.example.com']; + const caInfo = await getCaInfo(org, ccp) //ccp.certificateAuthorities['ca.firm.assetauth.vn']; const caTLSCACerts = caInfo.tlsCACerts.pem; const ca = new FabricCAServices(caInfo.url, { trustedRoots: caTLSCACerts, verify: false }, caInfo.caName); @@ -180,22 +180,22 @@ const enrollAdmin = async (org, ccp) => { // Enroll the admin user, and import the new identity into the wallet. const enrollment = await ca.enroll({ enrollmentID: 'admin', enrollmentSecret: 'adminpw' }); let x509Identity; - if (org == "Org1") { + if (org == "Firm") { x509Identity = { credentials: { certificate: enrollment.certificate, privateKey: enrollment.key.toBytes(), }, - mspId: 'Org1MSP', + mspId: 'FirmMSP', type: 'X.509', }; - } else if (org == "Org2") { + } else if (org == "Gov") { x509Identity = { credentials: { certificate: enrollment.certificate, privateKey: enrollment.key.toBytes(), }, - mspId: 'Org2MSP', + mspId: 'GovMSP', type: 'X.509', }; } @@ -244,7 +244,7 @@ const registerAndGerSecret = async (username, userOrg) => { try { // Register the user, enroll the user, and import the new identity into the wallet. secret = await ca.register({ affiliation: await getAffiliation(userOrg), enrollmentID: username, role: 'client' }, adminUser); - // const secret = await ca.register({ affiliation: 'org1.department1', enrollmentID: username, role: 'client', attrs: [{ name: 'role', value: 'approver', ecert: true }] }, adminUser); + // const secret = await ca.register({ affiliation: 'Firm.department1', enrollmentID: username, role: 'client', attrs: [{ name: 'role', value: 'approver', ecert: true }] }, adminUser); } catch (error) { return error.message diff --git a/api-2.0/config/ccp-template.json b/api-2.0/config/ccp-template.json index 2513803..60f60ce 100644 --- a/api-2.0/config/ccp-template.json +++ b/api-2.0/config/ccp-template.json @@ -1,8 +1,8 @@ { - "name": "first-network-org${ORG}", + "name": "asset-authe-${ORG}", "version": "1.0.0", "client": { - "organization": "Org${ORG}", + "organization": "${ORG}", "connection": { "timeout": { "peer": { @@ -12,45 +12,45 @@ } }, "organizations": { - "Org${ORG}": { - "mspid": "Org${ORG}MSP", + "${ORG}": { + "mspid": "${ORG}MSP", "peers": [ - "peer0.org${ORG}.example.com", - "peer1.org${ORG}.example.com" + "peer0.${ORG}.assetauth.vn", + "peer1.${ORG}.assetauth.vn" ], "certificateAuthorities": [ - "ca.org${ORG}.example.com" + "ca.${ORG}.assetauth.vn" ] } }, "peers": { - "peer0.org${ORG}.example.com": { + "peer0.org${ORG}.assetauth.vn": { "url": "grpcs://localhost:${P0PORT}", "tlsCACerts": { "pem": "${PEERPEM}" }, "grpcOptions": { - "ssl-target-name-override": "peer0.org${ORG}.example.com", - "hostnameOverride": "peer0.org${ORG}.example.com" + "ssl-target-name-override": "peer0.${ORG}.assetauth.vn", + "hostnameOverride": "peer0.${ORG}.assetauth.vn" } }, - "peer1.org${ORG}.example.com": { + "peer1.${ORG}.assetauth.vn": { "url": "grpcs://localhost:${P0PORT1}", "tlsCACerts": { "pem": "${PEERPEM1}" }, "grpcOptions": { - "ssl-target-name-override": "peer1.org${ORG}.example.com", - "hostnameOverride": "peer1.org${ORG}.example.com" + "ssl-target-name-override": "peer1.${ORG}.assetauth.vn", + "hostnameOverride": "peer1.${ORG}.assetauth.vn" } } }, "certificateAuthorities": { - "ca.org${ORG}.example.com": { + "ca.${ORG}.assetauth.vn": { "url": "https://localhost:${CAPORT}", - "caName": "ca.org${ORG}.example.com", + "caName": "ca.${ORG}.assetauth.vn", "tlsCACerts": { "pem": "${CAPEM}" }, diff --git a/api-2.0/config/connection-Firm.json b/api-2.0/config/connection-Firm.json new file mode 100644 index 0000000..bee730b --- /dev/null +++ b/api-2.0/config/connection-Firm.json @@ -0,0 +1,62 @@ +{ + "name": "asset-authe-Firm", + "version": "1.0.0", + "client": { + "organization": "Firm", + "connection": { + "timeout": { + "peer": { + "endorser": "300" + } + } + } + }, + "organizations": { + "Firm": { + "mspid": "FirmMSP", + "peers": [ + "peer0.Firm.assetauth.vn", + "peer1.Firm.assetauth.vn" + ], + "certificateAuthorities": [ + "ca.Firm.assetauth.vn" + ] + } + }, + "peers": { + "peer0.orgFirm.assetauth.vn": { + "url": "grpcs://localhost:7051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer0.Firm.assetauth.vn", + "hostnameOverride": "peer0.Firm.assetauth.vn" + } + }, + "peer1.Firm.assetauth.vn": { + "url": "grpcs://localhost:8051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer1.Firm.assetauth.vn", + "hostnameOverride": "peer1.Firm.assetauth.vn" + } + } + + + }, + "certificateAuthorities": { + "ca.Firm.assetauth.vn": { + "url": "https://localhost:7054", + "caName": "ca.Firm.assetauth.vn", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" + }, + "httpOptions": { + "verify": false + } + } + } +} diff --git a/api-2.0/config/connection-Gov.json b/api-2.0/config/connection-Gov.json new file mode 100644 index 0000000..457ff5b --- /dev/null +++ b/api-2.0/config/connection-Gov.json @@ -0,0 +1,62 @@ +{ + "name": "asset-authe-Gov", + "version": "1.0.0", + "client": { + "organization": "Gov", + "connection": { + "timeout": { + "peer": { + "endorser": "300" + } + } + } + }, + "organizations": { + "Gov": { + "mspid": "GovMSP", + "peers": [ + "peer0.Gov.assetauth.vn", + "peer1.Gov.assetauth.vn" + ], + "certificateAuthorities": [ + "ca.Gov.assetauth.vn" + ] + } + }, + "peers": { + "peer0.orgGov.assetauth.vn": { + "url": "grpcs://localhost:9051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer0.Gov.assetauth.vn", + "hostnameOverride": "peer0.Gov.assetauth.vn" + } + }, + "peer1.Gov.assetauth.vn": { + "url": "grpcs://localhost:10051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer1.Gov.assetauth.vn", + "hostnameOverride": "peer1.Gov.assetauth.vn" + } + } + + + }, + "certificateAuthorities": { + "ca.Gov.assetauth.vn": { + "url": "https://localhost:8054", + "caName": "ca.Gov.assetauth.vn", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" + }, + "httpOptions": { + "verify": false + } + } + } +} diff --git a/api-2.0/config/connection-firm.json b/api-2.0/config/connection-firm.json new file mode 100644 index 0000000..fdef3b3 --- /dev/null +++ b/api-2.0/config/connection-firm.json @@ -0,0 +1,62 @@ +{ + "name": "asset-authe-firm", + "version": "1.0.0", + "client": { + "organization": "firm", + "connection": { + "timeout": { + "peer": { + "endorser": "300" + } + } + } + }, + "organizations": { + "firm": { + "mspid": "firmMSP", + "peers": [ + "peer0.firm.assetauth.vn", + "peer1.firm.assetauth.vn" + ], + "certificateAuthorities": [ + "ca.firm.assetauth.vn" + ] + } + }, + "peers": { + "peer0.orgfirm.assetauth.vn": { + "url": "grpcs://localhost:7051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer0.firm.assetauth.vn", + "hostnameOverride": "peer0.firm.assetauth.vn" + } + }, + "peer1.firm.assetauth.vn": { + "url": "grpcs://localhost:8051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer1.firm.assetauth.vn", + "hostnameOverride": "peer1.firm.assetauth.vn" + } + } + + + }, + "certificateAuthorities": { + "ca.firm.assetauth.vn": { + "url": "https://localhost:7054", + "caName": "ca.firm.assetauth.vn", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" + }, + "httpOptions": { + "verify": false + } + } + } +} diff --git a/api-2.0/config/connection-gov.json b/api-2.0/config/connection-gov.json new file mode 100644 index 0000000..da7e782 --- /dev/null +++ b/api-2.0/config/connection-gov.json @@ -0,0 +1,62 @@ +{ + "name": "asset-authe-gov", + "version": "1.0.0", + "client": { + "organization": "gov", + "connection": { + "timeout": { + "peer": { + "endorser": "300" + } + } + } + }, + "organizations": { + "gov": { + "mspid": "govMSP", + "peers": [ + "peer0.gov.assetauth.vn", + "peer1.gov.assetauth.vn" + ], + "certificateAuthorities": [ + "ca.gov.assetauth.vn" + ] + } + }, + "peers": { + "peer0.orggov.assetauth.vn": { + "url": "grpcs://localhost:9051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer0.gov.assetauth.vn", + "hostnameOverride": "peer0.gov.assetauth.vn" + } + }, + "peer1.gov.assetauth.vn": { + "url": "grpcs://localhost:10051", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" + }, + "grpcOptions": { + "ssl-target-name-override": "peer1.gov.assetauth.vn", + "hostnameOverride": "peer1.gov.assetauth.vn" + } + } + + + }, + "certificateAuthorities": { + "ca.gov.assetauth.vn": { + "url": "https://localhost:8054", + "caName": "ca.gov.assetauth.vn", + "tlsCACerts": { + "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" + }, + "httpOptions": { + "verify": false + } + } + } +} diff --git a/api-2.0/config/connection-org1.json b/api-2.0/config/connection-org1_0.json similarity index 100% rename from api-2.0/config/connection-org1.json rename to api-2.0/config/connection-org1_0.json diff --git a/api-2.0/config/connection-org2.json b/api-2.0/config/connection-org2_0.json similarity index 100% rename from api-2.0/config/connection-org2.json rename to api-2.0/config/connection-org2_0.json diff --git a/api-2.0/config/generate-ccp.sh b/api-2.0/config/generate-ccp.sh index 9218902..5d15e44 100755 --- a/api-2.0/config/generate-ccp.sh +++ b/api-2.0/config/generate-ccp.sh @@ -18,24 +18,24 @@ function json_ccp { ./ccp-template.json } -ORG=1 +ORG=firm P0PORT=7051 CAPORT=7054 P0PORT1=8051 -PEERPEM=../../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem -PEERPEM1=../../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem -CAPEM=../../artifacts/channel/crypto-config/peerOrganizations/org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem +PEERPEM=../../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer0.firm.assetauth.vn/msp/tlscacerts/tlsca.firm.assetauth.vn-cert.pem +PEERPEM1=../../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer1.firm.assetauth.vn/msp/tlscacerts/tlsca.firm.assetauth.vn-cert.pem +CAPEM=../../artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/msp/tlscacerts/tlsca.firm.assetauth.vn-cert.pem -echo "$(json_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM $PEERPEM1 $P0PORT1)" > connection-org1.json +echo "$(json_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM $PEERPEM1 $P0PORT1)" > connection-$ORG.json -ORG=2 +ORG=gov P0PORT=9051 CAPORT=8054 P0PORT1=10051 -PEERPEM=../../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem -PEERPEM1=../../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem -CAPEM=../../artifacts/channel/crypto-config/peerOrganizations/org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem +PEERPEM=../../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer0.gov.assetauth.vn/msp/tlscacerts/tlsca.gov.assetauth.vn-cert.pem +PEERPEM1=../../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer1.gov.assetauth.vn/msp/tlscacerts/tlsca.gov.assetauth.vn-cert.pem +CAPEM=../../artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/msp/tlscacerts/tlsca.gov.assetauth.vn-cert.pem -echo "$(json_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM $PEERPEM1 $P0PORT1)" > connection-org2.json \ No newline at end of file +echo "$(json_ccp $ORG $P0PORT $CAPORT $PEERPEM $CAPEM $PEERPEM1 $P0PORT1)" > connection-$ORG.json \ No newline at end of file diff --git a/api-2.0/package-lock.json b/api-2.0/package-lock.json index c9eaa50..91a3838 100644 --- a/api-2.0/package-lock.json +++ b/api-2.0/package-lock.json @@ -1,1341 +1,8683 @@ { "name": "api-2.0", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, - "dependencies": { - "@types/bytebuffer": { - "version": "5.0.40", - "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.40.tgz", - "integrity": "sha512-h48dyzZrPMz25K6Q4+NCwWaxwXany2FhQg/ErOcdZS1ZpsaDnDMZg8JYLMTGz7uvXKrcKGJUZJlZObyfgdaN9g==", - "requires": { - "@types/long": "4.0.1", - "@types/node": "13.11.1" + "packages": { + "": { + "name": "api-2.0", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "express": "^4.17.1", + "express-bearer-token": "^2.4.0", + "express-jwt": "^7.7.2", + "fabric-ca-client": "^2.1.0", + "fabric-client": "^1.4.8", + "fabric-common": "^2.2.12", + "fabric-network": "^2.1.0", + "http": "0.0.1-security", + "js-yaml": "^3.13.1", + "jsonwebtoken": "^8.5.1", + "log4js": "^6.2.0", + "npm": "^6.14.6", + "save": "^2.4.0" } }, - "@types/caseless": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", - "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" + "node_modules/@grpc/grpc-js": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz", + "integrity": "sha512-q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==", + "dependencies": { + "@grpc/proto-loader": "^0.6.4", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } }, - "@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + "node_modules/@grpc/proto-loader": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.12.tgz", + "integrity": "sha512-filTVbETFnxb9CyRX98zN18ilChTuf/C5scZ2xyaOTp0EHGq0/ufX8rjqXUcSb1Gpv7eZq4M2jDvbh9BogKnrg==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } }, - "@types/node": { - "version": "13.11.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.11.1.tgz", - "integrity": "sha512-eWQGP3qtxwL8FGneRrC5DwrJLGN4/dH1clNTuLfN81HCrxVtxRjygDTUoZJ5ASlDEeo0ppYFQjQIlXhtXpOn6g==" + "node_modules/@grpc/proto-loader/node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } }, - "@types/request": { - "version": "2.48.4", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.4.tgz", - "integrity": "sha512-W1t1MTKYR8PxICH+A4HgEIPuAC3sbljoEVfyZbeFJJDbr30guDspJri2XOaM2E+Un7ZjrihaDi7cf6fPa2tbgw==", - "requires": { - "@types/caseless": "0.12.2", - "@types/node": "13.11.1", - "@types/tough-cookie": "4.0.0", - "form-data": "2.5.1" + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dependencies": { - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.8", - "mime-types": "2.1.26" - } + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bytebuffer": { + "version": "5.0.43", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.43.tgz", + "integrity": "sha512-vQnTYvy4LpSojHjKdmg4nXFI1BAiYPvZ/k3ouczZAQnbDprk1xqxJiFmFHyy8y6MuUq3slz5erNMtn6n87uVKw==", + "dependencies": { + "@types/long": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/express-unless": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.3.tgz", + "integrity": "sha512-TyPLQaF6w8UlWdv4gj8i46B+INBVzURBNRahCozCSXfsK2VTlL1wNyTlMKw817VHygBtlcl5jfnPadlydr06Yw==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/jsonwebtoken": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "node_modules/@types/node": { + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "@types/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "2.1.26", - "negotiator": "0.6.2" + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "requires": { - "fast-deep-equal": "3.1.1", - "fast-json-stable-stringify": "2.1.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "argparse": { + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "1.0.3" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "array-flatten": { + "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "ascli": { + "node_modules/ascli": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", - "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", - "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "integrity": "sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==", + "dependencies": { + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "2.1.2" + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" } }, - "assert-plus": { + "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } }, - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" + "node_modules/async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "aws-sign2": { + "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } }, - "bcrypt-pbkdf": { + "node_modules/axios-cookiejar-support": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/axios-cookiejar-support/-/axios-cookiejar-support-1.0.1.tgz", + "integrity": "sha512-IZJxnAJ99XxiLqNeMOqrPbfR7fRyIfaoSLdPUf4AMQEGkH8URs0ghJK/xtqBsD+KsSr3pKl4DEQjCn834pHMig==", + "dependencies": { + "is-redirect": "^1.0.0", + "pify": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@types/tough-cookie": ">=2.3.3", + "axios": ">=0.16.2", + "tough-cookie": ">=2.3.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "0.14.5" + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" } }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "2.3.7", - "safe-buffer": "5.2.0" + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "1.0.4", + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, - "dependencies": { - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", + "dependencies": { + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "brorand": { + "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, - "browser-request": { + "node_modules/browser-request": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", - "integrity": "sha1-ns5bWsqJopkyJC4Yv5M975h2zBc=" + "integrity": "sha512-YyNI4qJJ+piQG6MMEuo7J3Bzaqssufx04zpEKYfSrl/1Op59HWali9zMtBpXnkmqMcOuWJPZvudrm9wISmnCbg==", + "engines": [ + "node" + ] }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "1.1.0", - "buffer-fill": "1.0.0" + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-equal-constant-time": { + "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "bytebuffer": { + "node_modules/bytebuffer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", - "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", - "requires": { - "long": "3.2.0" - }, + "integrity": "sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==", "dependencies": { - "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" - } + "long": "~3" + }, + "engines": { + "node": ">=0.8" } }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "node_modules/bytebuffer/node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==", + "engines": { + "node": ">=0.6" + } }, - "callsite": { + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "engines": { + "node": "*" + } }, - "camelcase": { + "node_modules/camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "engines": { + "node": ">=0.10.0" + } }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" } }, - "cloudant-follow": { + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cloudant-follow": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/cloudant-follow/-/cloudant-follow-0.17.0.tgz", "integrity": "sha512-JQ1xvKAHh8rsnSVBjATLCjz/vQw1sWBGadxr2H69yFMwD7hShUGDwwEefdypaxroUJ/w6t1cSwilp/hRUxEW8w==", - "requires": { - "browser-request": "0.3.3", - "debug": "3.2.6", - "request": "2.88.2" + "deprecated": "This package is no longer maintained.", + "dependencies": { + "browser-request": "~0.3.0", + "debug": "^3.0.0", + "request": "^2.83.0" + }, + "bin": { + "follow": "cli.js" }, + "engines": { + "node": ">=6.13.0" + } + }, + "node_modules/cloudant-follow/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "2.1.2" - } - } + "ms": "^2.1.1" } }, - "code-point-at": { + "node_modules/cloudant-follow/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "engines": { + "node": ">=0.10.0" + } }, - "colors": { + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "engines": { + "node": ">=0.1.90" + } }, - "colour": { + "node_modules/colour": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", - "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" + "integrity": "sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==", + "engines": { + "node": ">=0.8" + } }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "1.0.0" + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "content-type": { + "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } }, - "cookie-parser": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", - "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", - "requires": { - "cookie": "0.4.0", + "node_modules/cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "dependencies": { + "cookie": "0.4.1", "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" } }, - "cookie-signature": { + "node_modules/cookie-parser/node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, - "cors": { + "node_modules/cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "4.1.1", - "vary": "1.1.2" + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" } }, - "cycle": { + "node_modules/cycle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" + "integrity": "sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==", + "engines": { + "node": ">=0.4.0" + } }, - "dashdash": { + "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "1.0.0" + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==" + "node_modules/date-format": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.10.tgz", + "integrity": "sha512-RuMIHocrVjF84bUSTcd1uokIsLsOsk1Awb7TexNOI3f48ukCu39mjslWquDTA08VaDMF2umr3MB9ow5EyJTWyA==", + "engines": { + "node": ">=4.0" + } }, - "debug": { + "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "ms": "2.0.0" } }, - "decamelize": { + "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } }, - "ecc-jsbn": { + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "ecdsa-sig-formatter": { + "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "requires": { - "safe-buffer": "5.2.0" + "dependencies": { + "safe-buffer": "^5.0.1" } }, - "ee-first": { + "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.7", - "hmac-drbg": "1.0.1", - "inherits": "2.0.4", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "encodeurl": { + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } }, - "end-of-stream": { + "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "1.4.0" + "dependencies": { + "once": "^1.4.0" } }, - "errs": { + "node_modules/errs": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/errs/-/errs-0.3.2.tgz", - "integrity": "sha1-eYCZstvTfKK8dJ5TinwTB9C1BJk=" + "integrity": "sha512-r+/tydov04FSwTi+PrGd0IdY195Y1jZW2g27TJ+cErU8vvr9V4hHYxtRF8bMjv4zYEhap7wK7zBQ2i99LRo6kA==", + "engines": { + "node": ">= 0.4.0" + } }, - "escape-html": { + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "etag": { + "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "1.3.7", + "node_modules/event-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", + "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "dependencies": { + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "1.0.4", - "cookie": "0.4.0", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.2", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.6", - "qs": "6.7.0", - "range-parser": "1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "1.5.0", - "type-is": "1.6.18", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, - "dependencies": { - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } + "engines": { + "node": ">= 0.10.0" } }, - "express-bearer-token": { + "node_modules/express-bearer-token": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz", "integrity": "sha512-2+kRZT2xo+pmmvSY7Ma5FzxTJpO3kGaPCEXPbAm3GaoZ/z6FE4K6L7cvs1AUZwY2xkk15PcQw7t4dWjsl5rdJw==", - "requires": { - "cookie": "0.3.1", - "cookie-parser": "1.4.5" - }, "dependencies": { - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - } + "cookie": "^0.3.1", + "cookie-parser": "^1.4.4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "express-jwt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-6.0.0.tgz", - "integrity": "sha512-C26y9myRjx7CyhZ+BAT3p+gQyRCoDZ7qo8plCvLDaRT6je6ALIAQknT6XLVQGFKwIy/Ux7lvM2MNap5dt0T7gA==", - "requires": { - "async": "^1.5.0", - "express-unless": "^0.3.0", - "jsonwebtoken": "^8.1.0", - "lodash.set": "^4.0.0" - }, + "node_modules/express-bearer-token/node_modules/cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express-jwt": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-7.7.2.tgz", + "integrity": "sha512-NTNciChI54hnfzOh0XNjfsF6zY4W6t1BE4MfrylYrdlzTipMFzCmUaI4ebUac7e4ZBpai5CwrID661o+TwYsRQ==", "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - } + "@types/express-unless": "^0.5.3", + "@types/jsonwebtoken": "^8.5.8", + "express-unless": "^1.0.0", + "jsonwebtoken": "^8.5.1" + }, + "engines": { + "node": ">= 8.0.0" } }, - "express-unless": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-0.3.1.tgz", - "integrity": "sha1-JVfBRudb65A+LSR/m1ugFFJpbiA=" + "node_modules/express-unless": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-1.0.0.tgz", + "integrity": "sha512-zXSSClWBPfcSYjg0hcQNompkFN/MxQQ53eyrzm9BYgik2ut2I7PxAf2foVqBRMYCwWaZx/aWodi+uk76npdSAw==" }, - "extend": { + "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "extsprintf": { + "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] }, - "eyes": { + "node_modules/eyes": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", + "engines": { + "node": "> 0.1.90" + } }, - "fabric-ca-client": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-2.1.0.tgz", - "integrity": "sha512-f8s8e/tOwsWDHwMhvnPPdnL4bgwkpG8LED5frEaP+rWHUoqUNAUOpvs/kLdnBcezix84UNA3f+UbccF9KL6dAA==", - "requires": { - "fabric-common": "2.1.0", - "jsrsasign": "7.2.2", - "url": "0.11.0", - "util": "0.10.4", - "winston": "2.4.4" - }, + "node_modules/fabric-ca-client": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-2.2.12.tgz", + "integrity": "sha512-ZeCYSpeKt8Y+OuKjEwTzfaX4T6jbkKO8pG/b02tQregB3WUAMKnQNgMty1Mstxl8x6jZvUNDd5FiCcMEK+9YpQ==", "dependencies": { - "fabric-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fabric-common/-/fabric-common-2.1.0.tgz", - "integrity": "sha512-t980mEGBlbVTq2y6Zi3ZtVN5RnUy5xNoRWhPTpifAsI1m0KYBSh8jPcxtybMrLds12J/PAE7qI4TrgbZMqapKg==", - "requires": { - "elliptic": "6.5.2", - "fabric-protos": "2.1.0", - "js-sha3": "0.7.0", - "nano": "6.4.4", - "nconf": "0.10.0", - "pkcs11js": "1.0.21", - "promise-settle": "0.3.0", - "sjcl": "1.0.7", - "winston": "2.4.4", - "yn": "3.1.1" - } - }, - "fabric-protos": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fabric-protos/-/fabric-protos-2.1.0.tgz", - "integrity": "sha512-99+5ouNLUGz6sA5wQJyhpCYUGlfk8JHWSPUtjutnTRyb40TnbfebmG6k7lBCI6Kjyd7l9AHlD5yZuF7oCqAgkA==", - "requires": { - "grpc": "1.24.2", - "lodash.clone": "4.5.0", - "protobufjs": "5.0.3" - } - } + "fabric-common": "2.2.12", + "jsrsasign": "^10.4.1", + "url": "^0.11.0", + "winston": "^2.4.5" + }, + "engines": { + "node": ">=10.13.0" } }, - "fabric-client": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.8.tgz", - "integrity": "sha512-EZUidCTa6+T1VArptUi9rPQ2ravWxZpldj4kAoDpLG8lW+cZzEzGeCDCp4kym4w/EtmOS4AMj9Ujfp/asvyF0A==", - "requires": { - "@types/bytebuffer": "5.0.40", - "bn.js": "4.11.8", - "callsite": "1.0.0", - "elliptic": "6.5.2", - "fabric-ca-client": "1.4.8", - "fs-extra": "8.1.0", - "grpc": "1.24.2", - "ignore-walk": "3.0.3", - "js-sha3": "0.7.0", - "js-yaml": "3.13.1", - "jsrsasign": "7.2.2", - "klaw": "2.1.1", + "node_modules/fabric-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.20.tgz", + "integrity": "sha512-4e/cFZ3KtwlFHE487zRHMjUwoP74Gifs2db8qTUSm2oBhoSw9CD4lg28rA0MY+AVCx0P2fCjU548+QDH2Z9a9Q==", + "dependencies": { + "@types/bytebuffer": "^5.0.34", + "bn.js": "^4.11.3", + "bytebuffer": "^5.0.1", + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-ca-client": "1.4.20", + "fs-extra": "^8.1.0", + "grpc": "1.24.11", + "ignore-walk": "^3.0.0", + "js-sha3": "^0.7.0", + "js-yaml": "^3.9.0", + "jsrsasign": "^10.4.1", + "klaw": "^3.0.0", "lodash.clone": "4.5.0", - "long": "4.0.0", - "nano": "6.4.4", - "nconf": "0.10.0", - "pkcs11js": "1.0.21", - "promise-settle": "0.3.0", + "long": "^4.0.0", + "nano": "^6.4.4", + "nconf": "^0.12.0", + "promise-settle": "^0.3.0", "protobufjs": "5.0.3", "sjcl": "1.0.7", - "tar-stream": "1.6.1", - "url": "0.11.0", - "winston": "2.4.4" + "tar-stream": "^2.2.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "engines": { + "node": ">=10.13.0" }, + "optionalDependencies": { + "pkcs11js": "^1.0.6" + } + }, + "node_modules/fabric-client/node_modules/fabric-ca-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.20.tgz", + "integrity": "sha512-4lISgO62ykixns+gxiKTDjehnXCC9hwIjFFDFpziM4xi7RSZuTmViboKWgpHfWjTJc8VulhQftnsOl5/0LgUmQ==", "dependencies": { - "fabric-ca-client": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.8.tgz", - "integrity": "sha512-1puz5zPU3I9SPZ4qtuQGuZW7QMUOSPuh1ncQakzdkk1J9Cewj8MdW67fhOUBPefkx5S2VSfJOfJ1iWTCjgf1XA==", - "requires": { - "grpc": "1.24.2", - "jsrsasign": "7.2.2", - "lodash.clone": "4.5.0", - "url": "0.11.0", - "util": "0.10.4", - "winston": "2.4.4" - } - } + "grpc": "1.24.11", + "jsrsasign": "^10.4.1", + "lodash.clone": "4.5.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "engines": { + "node": ">=10.13.0" } }, - "fabric-network": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fabric-network/-/fabric-network-2.1.0.tgz", - "integrity": "sha512-9VqUvYX2fROleTl1sKIx51EhLDfhDxDMHIgafRvicBFJKYAeQ6nyKWmk3gZIlGxmB2LjpIV+WzwR5Z2PiNI03w==", - "requires": { - "fabric-ca-client": "2.1.0", - "fabric-common": "2.1.0", - "fs-extra": "8.1.0", - "long": "4.0.0", - "nano": "8.2.2", - "winston": "2.4.4" + "node_modules/fabric-common": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-common/-/fabric-common-2.2.12.tgz", + "integrity": "sha512-FQSr9hAxwPP+NLMG+AvEPq+JoC5PMZ2ujvizr6eCEiKBpvZ2eDobirVGzC8tXSOeRclO64Xejjz3w6Hi69OczA==", + "dependencies": { + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-protos": "2.2.12", + "js-sha3": "^0.8.0", + "jsrsasign": "^10.4.1", + "long": "^4.0.0", + "nconf": "^0.11.2", + "promise-settle": "^0.3.0", + "sjcl": "^1.0.8", + "winston": "^2.4.5", + "yn": "^4.0.0" }, + "engines": { + "node": ">=10.13.0" + }, + "optionalDependencies": { + "pkcs11js": "^1.0.6" + } + }, + "node_modules/fabric-common/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + }, + "node_modules/fabric-common/node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/fabric-common/node_modules/nconf": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.11.4.tgz", + "integrity": "sha512-YaDR846q11JnG1vTrhJ0QIlhiGY6+W1bgWtReG9SS3vkTl3AoNwFvUItdhG6/ZjGCfWpUVuRTNEBTDAQ3nWhGw==", "dependencies": { - "fabric-ca-client": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-2.1.0.tgz", - "integrity": "sha512-f8s8e/tOwsWDHwMhvnPPdnL4bgwkpG8LED5frEaP+rWHUoqUNAUOpvs/kLdnBcezix84UNA3f+UbccF9KL6dAA==", - "requires": { - "fabric-common": "2.1.0", - "jsrsasign": "7.2.2", - "url": "0.11.0", - "util": "0.10.4", - "winston": "2.4.4" - } - }, - "fabric-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fabric-common/-/fabric-common-2.1.0.tgz", - "integrity": "sha512-t980mEGBlbVTq2y6Zi3ZtVN5RnUy5xNoRWhPTpifAsI1m0KYBSh8jPcxtybMrLds12J/PAE7qI4TrgbZMqapKg==", - "requires": { - "elliptic": "6.5.2", - "fabric-protos": "2.1.0", - "js-sha3": "0.7.0", - "nano": "6.4.4", - "nconf": "0.10.0", - "pkcs11js": "1.0.21", - "promise-settle": "0.3.0", - "sjcl": "1.0.7", - "winston": "2.4.4", - "yn": "3.1.1" - }, - "dependencies": { - "nano": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/nano/-/nano-6.4.4.tgz", - "integrity": "sha512-7sldMrZI1ZH8QE29PnzohxLfR67WNVzMKLa7EMl3x9Hr+0G+YpOUCq50qZ9G66APrjcb0Of2BTOZLNBCutZGag==", - "requires": { - "cloudant-follow": "0.17.0", - "debug": "2.6.9", - "errs": "0.3.2", - "lodash.isempty": "4.4.0", - "request": "2.88.2" - } - } - } - }, - "fabric-protos": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fabric-protos/-/fabric-protos-2.1.0.tgz", - "integrity": "sha512-99+5ouNLUGz6sA5wQJyhpCYUGlfk8JHWSPUtjutnTRyb40TnbfebmG6k7lBCI6Kjyd7l9AHlD5yZuF7oCqAgkA==", - "requires": { - "grpc": "1.24.2", - "lodash.clone": "4.5.0", - "protobufjs": "5.0.3" - } - }, - "nano": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/nano/-/nano-8.2.2.tgz", - "integrity": "sha512-1/rAvpd1J0Os0SazgutWQBx2buAq3KwJpmdIylPDqOwy73iQeAhTSCq3uzbGzvcNNW16Vv/BLXkk+DYcdcH+aw==", - "requires": { - "@types/request": "2.48.4", - "cloudant-follow": "0.18.2", - "debug": "4.1.1", - "errs": "0.3.2", - "request": "2.88.2" - }, - "dependencies": { - "cloudant-follow": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/cloudant-follow/-/cloudant-follow-0.18.2.tgz", - "integrity": "sha512-qu/AmKxDqJds+UmT77+0NbM7Yab2K3w0qSeJRzsq5dRWJTEJdWeb+XpG4OpKuTE9RKOa/Awn2gR3TTnvNr3TeA==", - "requires": { - "browser-request": "0.3.3", - "debug": "4.1.1", - "request": "2.88.2" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "2.1.2" - } - } - } - } + "async": "^1.4.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + "node_modules/fabric-common/node_modules/sjcl": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.8.tgz", + "integrity": "sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ==", + "engines": { + "node": "*" + } }, - "fast-json-stable-stringify": { + "node_modules/fabric-network": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-network/-/fabric-network-2.2.12.tgz", + "integrity": "sha512-rftgzWTqpXTDpEnNu21vqE0/QqYJlqrFC6acUI6FQ3yq9XS+zdEODbeI+n8abROfov9NH5VNxEr6k/PRojAE4g==", + "dependencies": { + "fabric-common": "2.2.12", + "fabric-protos": "2.2.12", + "long": "^4.0.0", + "nano": "^9.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fabric-network/node_modules/nano": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/nano/-/nano-9.0.5.tgz", + "integrity": "sha512-fEAhwAdXh4hDDnC8cYJtW6D8ivOmpvFAqT90+zEuQREpRkzA/mJPcI4EKv15JUdajaqiLTXNoKK6PaRF+/06DQ==", + "dependencies": { + "@types/tough-cookie": "^4.0.0", + "axios": "^0.21.1", + "axios-cookiejar-support": "^1.0.1", + "qs": "^6.9.4", + "tough-cookie": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fabric-network/node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/fabric-protos": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-protos/-/fabric-protos-2.2.12.tgz", + "integrity": "sha512-nJ2qtw0r+RQhQ2JcQH+wjAFredWQK33sNFppWsm1/GgtLC/xDc1vJSg1pGm/3cyTMyUvCKHRbFe9yzT9rRvKdQ==", + "dependencies": { + "@grpc/grpc-js": "1.5.3", + "@grpc/proto-loader": "^0.6.2", + "protobufjs": "^6.11.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fabric-protos/node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.3", - "statuses": "1.5.0", - "unpipe": "1.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" + }, + "node_modules/follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "forever-agent": { + "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } }, - "form-data": { + "node_modules/form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.8", - "mime-types": "2.1.26" + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } }, - "fresh": { + "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } }, - "fs-constants": { + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==" + }, + "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, - "fs-extra": { + "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "4.2.3", - "jsonfile": "4.0.0", - "universalify": "0.1.2" + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "getpass": { + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "1.0.0" + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/grpc": { + "version": "1.24.11", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.11.tgz", + "integrity": "sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==", + "deprecated": "This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead.", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.4", + "@types/bytebuffer": "^5.0.40", + "lodash.camelcase": "^4.3.0", + "lodash.clone": "^4.5.0", + "nan": "^2.13.2", + "protobufjs": "^5.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz", + "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", "inherits": "2.0.4", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } }, - "grpc": { - "version": "1.24.2", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.2.tgz", - "integrity": "sha512-EG3WH6AWMVvAiV15d+lr+K77HJ/KV/3FvMpjKjulXHbTwgDZkhkcWbwhxFAoTdxTkQvy0WFcO3Nog50QBbHZWw==", - "requires": { - "@types/bytebuffer": "5.0.40", - "lodash.camelcase": "4.3.0", - "lodash.clone": "4.5.0", - "nan": "2.14.0", - "node-pre-gyp": "0.14.0", - "protobufjs": "5.0.3" + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "bundled": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "requires": { - "minipass": "2.9.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" - } - }, - "glob": { - "version": "7.1.4", - "bundled": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.4", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "requires": { - "minimatch": "3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "1.2.0", - "bundled": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.1.1" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "requires": { - "minipass": "2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true - } - } - }, - "ms": { - "version": "2.1.2", - "bundled": true - }, - "needle": { - "version": "2.4.0", - "bundled": true, - "requires": { - "debug": "3.2.6", - "iconv-lite": "0.4.24", - "sax": "1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.4.0", - "nopt": "4.0.1", - "npm-packlist": "1.4.6", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.7.1", - "semver": "5.7.1", - "tar": "4.4.13" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true - }, - "npm-packlist": { - "version": "1.4.6", - "bundled": true, - "requires": { - "ignore-walk": "3.0.3", - "npm-bundled": "1.0.6" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsrsasign": { + "version": "10.5.23", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.23.tgz", + "integrity": "sha512-e3hy//LH8EbRhzqyHJuf3pbehxYcnUZgGUjQKKTukWJ1M5uQTZBgFvItRK5ik8pixpYDAKY6xj527cEa1NQGPg==", + "funding": { + "url": "https://github.com/kjur/jsrsasign#donations" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/log4js": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.5.2.tgz", + "integrity": "sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A==", + "dependencies": { + "date-format": "^4.0.10", + "debug": "^4.3.4", + "flatted": "^3.2.5", + "rfdc": "^1.3.0", + "streamroller": "^3.1.1" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/log4js/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/log4js/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mingo": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mingo/-/mingo-1.3.3.tgz", + "integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY=" + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + }, + "node_modules/nano": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/nano/-/nano-6.4.4.tgz", + "integrity": "sha512-7sldMrZI1ZH8QE29PnzohxLfR67WNVzMKLa7EMl3x9Hr+0G+YpOUCq50qZ9G66APrjcb0Of2BTOZLNBCutZGag==", + "dependencies": { + "cloudant-follow": "~0.17.0", + "debug": "^2.2.0", + "errs": "^0.3.2", + "lodash.isempty": "^4.4.0", + "request": "^2.85.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nconf": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz", + "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==", + "dependencies": { + "async": "^3.0.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm": { + "version": "6.14.17", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.17.tgz", + "integrity": "sha512-CxEDn1ydVRPDl4tHrlnq+WevYAhv4GF2AEHzJKQ4prZDZ96IS3Uo6t0Sy6O9kB6XzqkI+J00WfYCqqk0p6IJ1Q==", + "bundleDependencies": [ + "abbrev", + "ansicolors", + "ansistyles", + "aproba", + "archy", + "bin-links", + "bluebird", + "byte-size", + "cacache", + "call-limit", + "chownr", + "ci-info", + "cli-columns", + "cli-table3", + "cmd-shim", + "columnify", + "config-chain", + "debuglog", + "detect-indent", + "detect-newline", + "dezalgo", + "editor", + "figgy-pudding", + "find-npm-prefix", + "fs-vacuum", + "fs-write-stream-atomic", + "gentle-fs", + "glob", + "graceful-fs", + "has-unicode", + "hosted-git-info", + "iferr", + "imurmurhash", + "infer-owner", + "inflight", + "inherits", + "ini", + "init-package-json", + "is-cidr", + "json-parse-better-errors", + "JSONStream", + "lazy-property", + "libcipm", + "libnpm", + "libnpmaccess", + "libnpmhook", + "libnpmorg", + "libnpmsearch", + "libnpmteam", + "libnpx", + "lock-verify", + "lockfile", + "lodash._baseindexof", + "lodash._baseuniq", + "lodash._bindcallback", + "lodash._cacheindexof", + "lodash._createcache", + "lodash._getnative", + "lodash.clonedeep", + "lodash.restparam", + "lodash.union", + "lodash.uniq", + "lodash.without", + "lru-cache", + "meant", + "mississippi", + "mkdirp", + "move-concurrently", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-cache-filename", + "npm-install-checks", + "npm-lifecycle", + "npm-package-arg", + "npm-packlist", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "once", + "opener", + "osenv", + "pacote", + "path-is-inside", + "promise-inflight", + "qrcode-terminal", + "query-string", + "qw", + "read-cmd-shim", + "read-installed", + "read-package-json", + "read-package-tree", + "read", + "readable-stream", + "readdir-scoped-modules", + "request", + "retry", + "rimraf", + "safe-buffer", + "semver", + "sha", + "slide", + "sorted-object", + "sorted-union-stream", + "ssri", + "stringify-package", + "tar", + "text-table", + "tiny-relative-date", + "uid-number", + "umask", + "unique-filename", + "unpipe", + "update-notifier", + "uuid", + "validate-npm-package-license", + "validate-npm-package-name", + "which", + "worker-farm", + "write-file-atomic" + ], + "dependencies": { + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.8", + "bluebird": "^3.5.5", + "byte-size": "^5.0.1", + "cacache": "^12.0.3", + "call-limit": "^1.1.1", + "chownr": "^1.1.4", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "^3.0.3", + "columnify": "~1.5.4", + "config-chain": "^1.1.12", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.3.1", + "glob": "^7.1.6", + "graceful-fs": "^4.2.4", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.8.9", + "iferr": "^1.0.2", + "imurmurhash": "*", + "infer-owner": "^1.0.4", + "inflight": "~1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.8", + "init-package-json": "^1.10.3", + "is-cidr": "^3.0.0", + "json-parse-better-errors": "^1.0.2", + "JSONStream": "^1.3.5", + "lazy-property": "~1.0.0", + "libcipm": "^4.0.8", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "libnpx": "^10.2.4", + "lock-verify": "^2.1.0", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^5.1.1", + "meant": "^1.0.2", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.5", + "move-concurrently": "^1.0.1", + "node-gyp": "^5.1.0", + "nopt": "^4.0.3", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.3", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "^3.0.2", + "npm-lifecycle": "^3.1.5", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.8", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.4", + "npm-registry-fetch": "^4.0.7", + "npm-user-validate": "^1.0.1", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.2", + "osenv": "^0.1.5", + "pacote": "^9.5.12", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.8.2", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "^1.0.5", + "read-installed": "~4.0.3", + "read-package-json": "^2.1.1", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.6.0", + "readdir-scoped-modules": "^1.1.0", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "^2.7.1", + "safe-buffer": "^5.1.2", + "semver": "^5.7.1", + "sha": "^3.0.0", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.2", + "stringify-package": "^1.0.1", + "tar": "^4.4.19", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.3", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "6 >=6.2.0 || 8 || >=9.3.0" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "3.5.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/ansi-align": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.0.0" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "3.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/ansicolors": { + "version": "0.3.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ansistyles": { + "version": "0.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/asn1": { + "version": "0.2.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/npm/node_modules/assert-plus": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/asynckit": { + "version": "0.4.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aws-sign2": { + "version": "0.7.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/aws4": { + "version": "1.8.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/npm/node_modules/bin-links": { + "version": "1.1.8", + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.3.0", + "graceful-fs": "^4.1.15", + "npm-normalize-package-bin": "^1.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/npm/node_modules/bluebird": { + "version": "3.5.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/boxen": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/buffer-from": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/builtins": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/byline": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/byte-size": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "12.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/npm/node_modules/call-limit": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/camelcase": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/capture-stack-trace": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/caseless": { + "version": "0.12.0", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/npm/node_modules/chalk": { + "version": "2.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ci-info": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "2.0.10", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cli-boxes": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "3.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.5.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/npm/node_modules/cliui": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "node_modules/npm/node_modules/code-point-at": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "1.9.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.1.1" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/colors": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.5.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "node_modules/npm/node_modules/combined-stream": { + "version": "1.0.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/concat-stream": { + "version": "1.6.2", + "engines": [ + "node >= 0.8" + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/npm/node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/config-chain": { + "version": "1.1.12", + "inBundle": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/npm/node_modules/configstore": { + "version": "3.1.5", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/copy-concurrently": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/npm/node_modules/copy-concurrently/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/copy-concurrently/node_modules/iferr": { + "version": "0.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/core-util-is": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/create-error-class": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "capture-stack-trace": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "5.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/lru-cache": { + "version": "4.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/yallist": { + "version": "2.1.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/crypto-random-string": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cyclist": { + "version": "0.2.2", + "inBundle": true + }, + "node_modules/npm/node_modules/dashdash": { + "version": "1.14.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/decamelize": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/decode-uri-component": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/npm/node_modules/deep-extend": { + "version": "0.6.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/define-properties": { + "version": "1.1.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/delayed-stream": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/detect-indent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/detect-newline": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/dot-prop": { + "version": "4.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/dotenv": { + "version": "5.0.1", + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.6.0" + } + }, + "node_modules/npm/node_modules/duplexer3": { + "version": "0.1.4", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/duplexify": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/ecc-jsbn": { + "version": "0.1.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/npm/node_modules/editor": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "7.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.12", + "inBundle": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "~0.4.13" + } + }, + "node_modules/npm/node_modules/end-of-stream": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/errno": { + "version": "0.1.7", + "inBundle": true, + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/npm/node_modules/es-abstract": { + "version": "1.12.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/es-to-primitive": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/es6-promise": { + "version": "4.2.8", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/es6-promisify": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/npm/node_modules/escape-string-regexp": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/npm/node_modules/execa": { + "version": "0.7.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/execa/node_modules/get-stream": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/extend": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/extsprintf": { + "version": "1.3.0", + "engines": [ + "node >=0.6.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/figgy-pudding": { + "version": "3.5.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/find-npm-prefix": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/flush-write-stream": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/forever-agent": { + "version": "0.6.1", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/form-data": { + "version": "2.3.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/npm/node_modules/from2": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/npm/node_modules/from2/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "1.2.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/npm/node_modules/fs-minipass/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/fs-vacuum": { + "version": "1.2.10", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/iferr": { + "version": "0.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "2.7.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/genfun": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gentle-fs": { + "version": "2.3.1", + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "aproba": "^1.1.2", + "chownr": "^1.1.2", + "cmd-shim": "^3.0.3", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "infer-owner": "^1.0.4", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + } + }, + "node_modules/npm/node_modules/gentle-fs/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/gentle-fs/node_modules/iferr": { + "version": "0.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/get-caller-file": { + "version": "2.0.5", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/npm/node_modules/get-stream": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/getpass": { + "version": "0.1.7", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "7.1.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/global-dirs": { + "version": "0.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/got": { + "version": "6.7.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/har-schema": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/har-validator": { + "version": "5.1.5", + "deprecated": "this library is no longer supported", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/npm/node_modules/har-validator/node_modules/fast-deep-equal": { + "version": "3.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/has-symbols": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "2.8.9", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "3.8.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/npm/node_modules/http-signature": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "2.2.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.4.23", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/iferr": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/npm/node_modules/import-lazy": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "1.3.8", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "1.10.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "1.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-callable": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-ci": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/npm/node_modules/is-ci/node_modules/ci-info": { + "version": "1.6.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "3.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^2.0.10" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/is-date-object": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-installed-globally": { + "version": "0.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-npm": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-obj": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-path-inside": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-redirect": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-regex": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-retry-allowed": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-stream": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-symbol": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-typedarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/isstream": { + "version": "0.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/jsbn": { + "version": "0.1.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/json-parse-better-errors": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-schema": { + "version": "0.4.0", + "inBundle": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/npm/node_modules/json-stringify-safe": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/JSONStream": { + "version": "1.3.5", + "inBundle": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/jsprim": { + "version": "1.4.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/npm/node_modules/latest-version": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "package-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/lazy-property": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libcipm": { + "version": "4.0.8", + "inBundle": true, + "license": "MIT", + "dependencies": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.1.0", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "node_modules/npm/node_modules/libnpm": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.2", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npmlog": "^4.1.2", + "pacote": "^9.5.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmconfig": { + "version": "1.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/find-up": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/locate-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-limit": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-locate": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-try": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "5.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpx": { + "version": "10.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^14.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/lock-verify": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + } + }, + "node_modules/npm/node_modules/lockfile": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "signal-exit": "^3.0.2" + } + }, + "node_modules/npm/node_modules/lodash._baseindexof": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._baseuniq": { + "version": "4.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "node_modules/npm/node_modules/lodash._bindcallback": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._cacheindexof": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._createcache": { + "version": "3.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash._getnative": "^3.0.0" + } + }, + "node_modules/npm/node_modules/lodash._createset": { + "version": "4.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._getnative": { + "version": "3.9.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._root": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.clonedeep": { + "version": "4.5.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.restparam": { + "version": "3.6.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.union": { + "version": "4.6.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.uniq": { + "version": "4.5.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.without": { + "version": "4.4.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lowercase-keys": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "5.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/npm/node_modules/make-dir": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "5.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "node_modules/npm/node_modules/meant": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mime-db": { + "version": "1.35.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/mime-types": { + "version": "2.1.19", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/minimist": { + "version": "1.2.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/minizlib": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/mississippi": { + "version": "3.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "0.5.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/npm/node_modules/mkdirp/node_modules/minimist": { + "version": "1.2.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/move-concurrently": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/npm/node_modules/move-concurrently/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.7", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/node-fetch-npm": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "5.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "4.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "2.5.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/npm/node_modules/normalize-package-data/node_modules/resolve": { + "version": "1.10.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "1.3.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-cache-filename": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "3.0.2", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "node_modules/npm/node_modules/npm-lifecycle": { + "version": "3.1.5", + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "node_modules/npm/node_modules/npm-logical-tree": { + "version": "1.2.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "6.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "1.4.8", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "4.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "JSONStream": "^1.3.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1.0.2" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "os-homedir": { - "version": "1.0.2", - "bundled": true + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/npm-run-path": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "4.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/npm/node_modules/number-is-nan": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/oauth-sign": { + "version": "0.9.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/object-assign": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/object-keys": { + "version": "1.0.12", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/object.getownpropertydescriptors": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/os-homedir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/os-tmpdir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/osenv": { + "version": "0.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/npm/node_modules/p-finally": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/package-json": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "9.5.12", + "inBundle": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.3", + "cacache": "^12.0.2", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-normalize-package-bin": "^1.0.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + } + }, + "node_modules/npm/node_modules/pacote/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/parallel-transform": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/path-exists": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/path-is-inside": { + "version": "1.0.2", + "inBundle": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/npm/node_modules/path-key": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/path-parse": { + "version": "1.0.7", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/performance-now": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pify": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/prepend-http": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/process-nextick-args": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/npm/node_modules/promise-retry/node_modules/retry": { + "version": "0.10.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/proto-list": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/protoduck": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "genfun": "^5.0.0" + } + }, + "node_modules/npm/node_modules/prr": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pseudomap": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/psl": { + "version": "1.1.29", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pump": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/npm/node_modules/pumpify": { + "version": "1.5.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/npm/node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/npm/node_modules/punycode": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/qs": { + "version": "6.5.2", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/npm/node_modules/query-string": { + "version": "6.8.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/qw": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/rc": { + "version": "1.2.8", + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-installed": { + "version": "4.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "2.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-package-tree": { + "version": "5.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/registry-auth-token": { + "version": "3.4.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/npm/node_modules/registry-url": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/request": { + "version": "2.88.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/require-directory": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/require-main-filename": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/resolve-from": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "2.7.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/npm/node_modules/run-queue": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/npm/node_modules/run-queue/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/semver": { + "version": "5.7.1", + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm/node_modules/semver-diff": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^5.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/sha": { + "version": "3.0.0", + "inBundle": true, + "license": "(BSD-2-Clause OR MIT)", + "dependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/shebang-command": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/slide": { + "version": "1.1.6", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.3.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "4.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "4.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/sorted-object": { + "version": "2.0.1", + "inBundle": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/npm/node_modules/sorted-union-stream": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/from2": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/isarray": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/readable-stream": { + "version": "1.1.14", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/string_decoder": { + "version": "0.10.31", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.1.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.5", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/split-on-first": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/sshpk": { + "version": "1.14.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "getpass": "^0.1.1", + "safer-buffer": "^2.0.2" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "bcrypt-pbkdf": "^1.0.0", + "ecc-jsbn": "~0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + } + }, + "node_modules/npm/node_modules/ssri": { + "version": "6.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/npm/node_modules/stream-each": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/stream-iterate": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/stream-shift": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/strict-uri-encode": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/string-width": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/stringify-package": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/strip-eof": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/strip-json-comments": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "5.4.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "4.4.19", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/tar/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tar/node_modules/yallist": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/term-size": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "execa": "^0.7.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/through": { + "version": "2.3.8", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/through2": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "node_modules/npm/node_modules/through2/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/timed-out": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tough-cookie": { + "version": "2.4.3", + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/tunnel-agent": { + "version": "0.6.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/tweetnacl": { + "version": "0.14.5", + "inBundle": true, + "license": "Unlicense", + "optional": true + }, + "node_modules/npm/node_modules/typedarray": { + "version": "0.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/uid-number": { + "version": "0.0.6", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/umask": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/npm/node_modules/unique-string": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/unpipe": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/unzip-response": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/update-notifier": { + "version": "2.5.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/uri-js": { + "version": "4.4.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/npm/node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/url-parse-lax": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/util-extend": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/util-promisify": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/npm/node_modules/uuid": { + "version": "3.3.3", + "inBundle": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/npm/node_modules/verror": { + "version": "1.10.0", + "engines": [ + "node >=0.6.0" + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "1.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/npm/node_modules/which-module": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2" + } + }, + "node_modules/npm/node_modules/wide-align/node_modules/string-width": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/widest-line": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/worker-farm": { + "version": "1.7.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "5.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "2.4.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/npm/node_modules/xdg-basedir": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/xtend": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/npm/node_modules/y18n": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/yallist": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/yargs": { + "version": "14.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/npm/node_modules/yargs-parser": { + "version": "15.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/npm/node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-try": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkcs11js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.3.0.tgz", + "integrity": "sha512-owI+M6Gpw0cEU47cTt2eWQs4Iqm9zRyobiJ0q37wIgOrK8BcXVuRM3eVGH58QxYWhItMcRiEBUTE8HUHZX+beQ==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.15.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/PeculiarVentures" + } + }, + "node_modules/promise-settle": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-settle/-/promise-settle-0.3.0.tgz", + "integrity": "sha1-tO/VcqHrdM95T4KM00naQKCOTpY=", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/protobufjs": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", + "dependencies": { + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" + }, + "bin": { + "pbjs": "bin/pbjs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/protobufjs/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/protobufjs/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "node_modules/protobufjs/node_modules/yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dependencies": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/save": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/save/-/save-2.5.0.tgz", + "integrity": "sha512-xiVLpKVbx8EmW0HDkNRjYL271OnIRCo8VGWAEq6/K+E0dgNrwKV2xvKXdfPj6HGYA6l760800LyewSY3ooljCg==", + "dependencies": { + "async": "^3.2.2", + "event-stream": "^4.0.1", + "lodash.assign": "^4.2.0", + "mingo": "1" + } + }, + "node_modules/secure-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", + "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=" + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sjcl": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.7.tgz", + "integrity": "sha1-MrNlpQ3Ju6JriLo8nfjqNCF9n0U=", + "engines": { + "node": "*" + } + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "engines": { + "node": "*" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "dependencies": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "node_modules/streamroller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz", + "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==", + "dependencies": { + "date-format": "^4.0.10", + "debug": "^4.3.4", + "fs-extra": "^10.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/streamroller/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/streamroller/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/streamroller/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/streamroller/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/winston": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", + "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", + "dependencies": { + "async": "^3.2.3", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-4.0.0.tgz", + "integrity": "sha512-huWiiCS4TxKc4SfgmTwW1K7JmXPPAmuXWYy4j9qjQo4+27Kni8mGhAAi1cloRWmBe2EqcLgt3IGqQoRL/MtPgg==", + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@grpc/grpc-js": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz", + "integrity": "sha512-q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==", + "requires": { + "@grpc/proto-loader": "^0.6.4", + "@types/node": ">=12.12.47" + } + }, + "@grpc/proto-loader": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.12.tgz", + "integrity": "sha512-filTVbETFnxb9CyRX98zN18ilChTuf/C5scZ2xyaOTp0EHGq0/ufX8rjqXUcSb1Gpv7eZq4M2jDvbh9BogKnrg==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, + } + } + }, + "@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "requires": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bytebuffer": { + "version": "5.0.43", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.43.tgz", + "integrity": "sha512-vQnTYvy4LpSojHjKdmg4nXFI1BAiYPvZ/k3ouczZAQnbDprk1xqxJiFmFHyy8y6MuUq3slz5erNMtn6n87uVKw==", + "requires": { + "@types/long": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/express-unless": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.3.tgz", + "integrity": "sha512-TyPLQaF6w8UlWdv4gj8i46B+INBVzURBNRahCozCSXfsK2VTlL1wNyTlMKw817VHygBtlcl5jfnPadlydr06Yw==", + "requires": { + "@types/express": "*" + } + }, + "@types/jsonwebtoken": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "requires": { + "@types/node": "*" + } + }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "@types/node": { + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "ms": "2.1.2" } }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==", + "requires": { + "colour": "~0.7.1", + "optjs": "~3.2.2" + } + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + }, + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "axios-cookiejar-support": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/axios-cookiejar-support/-/axios-cookiejar-support-1.0.1.tgz", + "integrity": "sha512-IZJxnAJ99XxiLqNeMOqrPbfR7fRyIfaoSLdPUf4AMQEGkH8URs0ghJK/xtqBsD+KsSr3pKl4DEQjCn834pHMig==", + "requires": { + "is-redirect": "^1.0.0", + "pify": "^5.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browser-request": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", + "integrity": "sha512-YyNI4qJJ+piQG6MMEuo7J3Bzaqssufx04zpEKYfSrl/1Op59HWali9zMtBpXnkmqMcOuWJPZvudrm9wISmnCbg==" + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==", + "requires": { + "long": "~3" + }, + "dependencies": { + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==" + } + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==" + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "cloudant-follow": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/cloudant-follow/-/cloudant-follow-0.17.0.tgz", + "integrity": "sha512-JQ1xvKAHh8rsnSVBjATLCjz/vQw1sWBGadxr2H69yFMwD7hShUGDwwEefdypaxroUJ/w6t1cSwilp/hRUxEW8w==", + "requires": { + "browser-request": "~0.3.0", + "debug": "^3.0.0", + "request": "^2.83.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.4", - "isarray": "1.0.0", - "process-nextick-args": "2.0.1", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "ms": "^2.1.1" } }, - "rimraf": { - "version": "2.7.1", - "bundled": true, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==" + }, + "colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "requires": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6" + }, + "dependencies": { + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + } + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-format": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.10.tgz", + "integrity": "sha512-RuMIHocrVjF84bUSTcd1uokIsLsOsk1Awb7TexNOI3f48ukCu39mjslWquDTA08VaDMF2umr3MB9ow5EyJTWyA==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "errs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/errs/-/errs-0.3.2.tgz", + "integrity": "sha512-r+/tydov04FSwTi+PrGd0IdY195Y1jZW2g27TJ+cErU8vvr9V4hHYxtRF8bMjv4zYEhap7wK7zBQ2i99LRo6kA==" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "event-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", + "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "requires": { + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "express-bearer-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz", + "integrity": "sha512-2+kRZT2xo+pmmvSY7Ma5FzxTJpO3kGaPCEXPbAm3GaoZ/z6FE4K6L7cvs1AUZwY2xkk15PcQw7t4dWjsl5rdJw==", + "requires": { + "cookie": "^0.3.1", + "cookie-parser": "^1.4.4" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==" + } + } + }, + "express-jwt": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-7.7.2.tgz", + "integrity": "sha512-NTNciChI54hnfzOh0XNjfsF6zY4W6t1BE4MfrylYrdlzTipMFzCmUaI4ebUac7e4ZBpai5CwrID661o+TwYsRQ==", + "requires": { + "@types/express-unless": "^0.5.3", + "@types/jsonwebtoken": "^8.5.8", + "express-unless": "^1.0.0", + "jsonwebtoken": "^8.5.1" + } + }, + "express-unless": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-1.0.0.tgz", + "integrity": "sha512-zXSSClWBPfcSYjg0hcQNompkFN/MxQQ53eyrzm9BYgik2ut2I7PxAf2foVqBRMYCwWaZx/aWodi+uk76npdSAw==" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==" + }, + "fabric-ca-client": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-2.2.12.tgz", + "integrity": "sha512-ZeCYSpeKt8Y+OuKjEwTzfaX4T6jbkKO8pG/b02tQregB3WUAMKnQNgMty1Mstxl8x6jZvUNDd5FiCcMEK+9YpQ==", + "requires": { + "fabric-common": "2.2.12", + "jsrsasign": "^10.4.1", + "url": "^0.11.0", + "winston": "^2.4.5" + } + }, + "fabric-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.20.tgz", + "integrity": "sha512-4e/cFZ3KtwlFHE487zRHMjUwoP74Gifs2db8qTUSm2oBhoSw9CD4lg28rA0MY+AVCx0P2fCjU548+QDH2Z9a9Q==", + "requires": { + "@types/bytebuffer": "^5.0.34", + "bn.js": "^4.11.3", + "bytebuffer": "^5.0.1", + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-ca-client": "1.4.20", + "fs-extra": "^8.1.0", + "grpc": "1.24.11", + "ignore-walk": "^3.0.0", + "js-sha3": "^0.7.0", + "js-yaml": "^3.9.0", + "jsrsasign": "^10.4.1", + "klaw": "^3.0.0", + "lodash.clone": "4.5.0", + "long": "^4.0.0", + "nano": "^6.4.4", + "nconf": "^0.12.0", + "pkcs11js": "^1.0.6", + "promise-settle": "^0.3.0", + "protobufjs": "5.0.3", + "sjcl": "1.0.7", + "tar-stream": "^2.2.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "dependencies": { + "fabric-ca-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.20.tgz", + "integrity": "sha512-4lISgO62ykixns+gxiKTDjehnXCC9hwIjFFDFpziM4xi7RSZuTmViboKWgpHfWjTJc8VulhQftnsOl5/0LgUmQ==", "requires": { - "glob": "7.1.4" + "grpc": "1.24.11", + "jsrsasign": "^10.4.1", + "lodash.clone": "4.5.0", + "url": "^0.11.0", + "winston": "^2.4.0" } + } + } + }, + "fabric-common": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-common/-/fabric-common-2.2.12.tgz", + "integrity": "sha512-FQSr9hAxwPP+NLMG+AvEPq+JoC5PMZ2ujvizr6eCEiKBpvZ2eDobirVGzC8tXSOeRclO64Xejjz3w6Hi69OczA==", + "requires": { + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-protos": "2.2.12", + "js-sha3": "^0.8.0", + "jsrsasign": "^10.4.1", + "long": "^4.0.0", + "nconf": "^0.11.2", + "pkcs11js": "^1.0.6", + "promise-settle": "^0.3.0", + "sjcl": "^1.0.8", + "winston": "^2.4.5", + "yn": "^4.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true - }, - "sax": { - "version": "1.2.4", - "bundled": true - }, - "semver": { - "version": "5.7.1", - "bundled": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, + "nconf": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.11.4.tgz", + "integrity": "sha512-YaDR846q11JnG1vTrhJ0QIlhiGY6+W1bgWtReG9SS3vkTl3AoNwFvUItdhG6/ZjGCfWpUVuRTNEBTDAQ3nWhGw==", "requires": { - "safe-buffer": "5.1.2" + "async": "^1.4.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" } }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, + "sjcl": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.8.tgz", + "integrity": "sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ==" + } + } + }, + "fabric-network": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-network/-/fabric-network-2.2.12.tgz", + "integrity": "sha512-rftgzWTqpXTDpEnNu21vqE0/QqYJlqrFC6acUI6FQ3yq9XS+zdEODbeI+n8abROfov9NH5VNxEr6k/PRojAE4g==", + "requires": { + "fabric-common": "2.2.12", + "fabric-protos": "2.2.12", + "long": "^4.0.0", + "nano": "^9.0.3" + }, + "dependencies": { + "nano": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/nano/-/nano-9.0.5.tgz", + "integrity": "sha512-fEAhwAdXh4hDDnC8cYJtW6D8ivOmpvFAqT90+zEuQREpRkzA/mJPcI4EKv15JUdajaqiLTXNoKK6PaRF+/06DQ==", "requires": { - "ansi-regex": "2.1.1" + "@types/tough-cookie": "^4.0.0", + "axios": "^0.21.1", + "axios-cookiejar-support": "^1.0.1", + "qs": "^6.9.4", + "tough-cookie": "^4.0.0" } }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", "requires": { - "chownr": "1.1.3", - "fs-minipass": "1.2.7", - "minipass": "2.9.0", - "minizlib": "1.3.3", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "requires": { - "string-width": "1.0.2" + } + } + }, + "fabric-protos": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-protos/-/fabric-protos-2.2.12.tgz", + "integrity": "sha512-nJ2qtw0r+RQhQ2JcQH+wjAFredWQK33sNFppWsm1/GgtLC/xDc1vJSg1pGm/3cyTMyUvCKHRbFe9yzT9rRvKdQ==", + "requires": { + "@grpc/grpc-js": "1.5.3", + "@grpc/proto-loader": "^0.6.2", + "protobufjs": "^6.11.2" + }, + "dependencies": { + "protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true } } }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" + }, + "follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "grpc": { + "version": "1.24.11", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.11.tgz", + "integrity": "sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==", + "requires": { + "@mapbox/node-pre-gyp": "^1.0.4", + "@types/bytebuffer": "^5.0.40", + "lodash.camelcase": "^4.3.0", + "lodash.clone": "^4.5.0", + "nan": "^2.13.2", + "protobufjs": "^5.0.3" + } + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { - "ajv": "6.12.0", - "har-schema": "2.0.0" + "function-bind": "^1.1.1" } }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, "hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { - "inherits": "2.0.4", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "requires": { - "hash.js": "1.1.7", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "http": { @@ -1344,32 +8686,49 @@ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==" }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": "1.5.0", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" } }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.16.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "iconv-lite": { @@ -1377,24 +8736,29 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1403,14 +8767,14 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" }, "ipaddr.js": { "version": "1.9.1", @@ -1418,27 +8782,24 @@ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-redirect": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==" }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "js-sha3": { "version": "0.7.0", @@ -1446,23 +8807,23 @@ "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", @@ -1472,14 +8833,14 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "requires": { - "graceful-fs": "4.2.3" + "graceful-fs": "^4.1.6" } }, "jsonwebtoken": { @@ -1487,33 +8848,45 @@ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", "requires": { - "jws": "3.2.2", - "lodash.includes": "4.3.0", - "lodash.isboolean": "3.0.3", - "lodash.isinteger": "4.0.4", - "lodash.isnumber": "3.0.3", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.once": "4.1.1", - "ms": "2.1.2", - "semver": "5.7.1" + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, "jsrsasign": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-7.2.2.tgz", - "integrity": "sha1-rlIwy1V0RRu5eanMaXQoxg9ZjSA=" + "version": "10.5.23", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.23.tgz", + "integrity": "sha512-e3hy//LH8EbRhzqyHJuf3pbehxYcnUZgGUjQKKTukWJ1M5uQTZBgFvItRK5ik8pixpYDAKY6xj527cEa1NQGPg==" }, "jwa": { "version": "1.4.1", @@ -1522,7 +8895,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "5.2.0" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -1530,100 +8903,105 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "requires": { - "jwa": "1.4.1", - "safe-buffer": "5.2.0" + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" } }, "klaw": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.1.1.tgz", - "integrity": "sha1-QrdolHARacyRD9DRnOZ3tfs3ivE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", "requires": { - "graceful-fs": "4.2.3" + "graceful-fs": "^4.1.9" } }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" + }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "lodash.clone": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + "integrity": "sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==" }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isempty": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", - "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "log4js": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.2.0.tgz", - "integrity": "sha512-4x14gHnFaWgkKEygGtIBAvAaHuJX1z86bLx4SQ76jdgQmYxaW3SF6EFoEn9nRG6fW7TuKvyERItG6vxgNOCeTA==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.5.2.tgz", + "integrity": "sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A==", "requires": { - "date-format": "3.0.0", - "debug": "4.1.1", - "flatted": "2.0.2", - "rfdc": "1.1.4", - "streamroller": "2.2.3" + "date-format": "^4.0.10", + "debug": "^4.3.4", + "flatted": "^3.2.5", + "rfdc": "^1.3.0", + "streamroller": "^3.1.1" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -1632,6 +9010,34 @@ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -1653,18 +9059,23 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.43.0" + "mime-db": "1.52.0" } }, + "mingo": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mingo/-/mingo-1.3.3.tgz", + "integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY=" + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -1676,70 +9087,100 @@ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, - "ms": { + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" }, "nano": { "version": "6.4.4", "resolved": "https://registry.npmjs.org/nano/-/nano-6.4.4.tgz", "integrity": "sha512-7sldMrZI1ZH8QE29PnzohxLfR67WNVzMKLa7EMl3x9Hr+0G+YpOUCq50qZ9G66APrjcb0Of2BTOZLNBCutZGag==", "requires": { - "cloudant-follow": "0.17.0", - "debug": "2.6.9", - "errs": "0.3.2", - "lodash.isempty": "4.4.0", - "request": "2.88.2" + "cloudant-follow": "~0.17.0", + "debug": "^2.2.0", + "errs": "^0.3.2", + "lodash.isempty": "^4.4.0", + "request": "^2.85.0" } }, "nconf": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz", - "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz", + "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==", "requires": { - "async": "1.5.2", - "ini": "1.3.5", - "secure-keys": "1.0.0", - "yargs": "3.32.0" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - } + "async": "^3.0.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" } }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } }, "npm": { - "version": "6.14.6", - "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.6.tgz", - "integrity": "sha512-axnz6iHFK6WPE0js/+mRp+4IOwpHn5tJEw5KB6FiCU764zmffrhsYHbSHi2kKqNkRBt53XasXjngZfBD3FQzrQ==", + "version": "6.14.17", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.17.tgz", + "integrity": "sha512-CxEDn1ydVRPDl4tHrlnq+WevYAhv4GF2AEHzJKQ4prZDZ96IS3Uo6t0Sy6O9kB6XzqkI+J00WfYCqqk0p6IJ1Q==", "requires": { - "JSONStream": "^1.3.5", "abbrev": "~1.1.1", "ansicolors": "~0.3.2", "ansistyles": "~0.1.3", "aproba": "^2.0.0", "archy": "~1.0.0", - "bin-links": "^1.1.7", + "bin-links": "^1.1.8", "bluebird": "^3.5.5", "byte-size": "^5.0.1", "cacache": "^12.0.3", @@ -1760,29 +9201,30 @@ "find-npm-prefix": "^1.0.2", "fs-vacuum": "~1.2.10", "fs-write-stream-atomic": "~1.0.10", - "gentle-fs": "^2.3.0", + "gentle-fs": "^2.3.1", "glob": "^7.1.6", "graceful-fs": "^4.2.4", "has-unicode": "~2.0.1", - "hosted-git-info": "^2.8.8", + "hosted-git-info": "^2.8.9", "iferr": "^1.0.2", "imurmurhash": "*", "infer-owner": "^1.0.4", "inflight": "~1.0.6", "inherits": "^2.0.4", - "ini": "^1.3.5", + "ini": "^1.3.8", "init-package-json": "^1.10.3", "is-cidr": "^3.0.0", "json-parse-better-errors": "^1.0.2", + "JSONStream": "^1.3.5", "lazy-property": "~1.0.0", - "libcipm": "^4.0.7", + "libcipm": "^4.0.8", "libnpm": "^3.0.1", "libnpmaccess": "^3.0.2", "libnpmhook": "^5.0.3", "libnpmorg": "^1.0.1", "libnpmsearch": "^2.0.2", "libnpmteam": "^1.0.2", - "libnpx": "^10.2.2", + "libnpx": "^10.2.4", "lock-verify": "^2.1.0", "lockfile": "^1.0.4", "lodash._baseindexof": "*", @@ -1797,26 +9239,26 @@ "lodash.uniq": "~4.5.0", "lodash.without": "~4.4.0", "lru-cache": "^5.1.1", - "meant": "~1.0.1", + "meant": "^1.0.2", "mississippi": "^3.0.0", "mkdirp": "^0.5.5", "move-concurrently": "^1.0.1", "node-gyp": "^5.1.0", "nopt": "^4.0.3", "normalize-package-data": "^2.5.0", - "npm-audit-report": "^1.3.2", + "npm-audit-report": "^1.3.3", "npm-cache-filename": "~1.0.2", "npm-install-checks": "^3.0.2", - "npm-lifecycle": "^3.1.4", + "npm-lifecycle": "^3.1.5", "npm-package-arg": "^6.1.1", "npm-packlist": "^1.4.8", "npm-pick-manifest": "^3.0.2", "npm-profile": "^4.0.4", - "npm-registry-fetch": "^4.0.5", - "npm-user-validate": "~1.0.0", + "npm-registry-fetch": "^4.0.7", + "npm-user-validate": "^1.0.1", "npmlog": "~4.1.2", "once": "~1.4.0", - "opener": "^1.5.1", + "opener": "^1.5.2", "osenv": "^0.1.5", "pacote": "^9.5.12", "path-is-inside": "~1.0.2", @@ -1840,9 +9282,9 @@ "slide": "~1.1.6", "sorted-object": "~2.0.1", "sorted-union-stream": "~2.1.3", - "ssri": "^6.0.1", + "ssri": "^6.0.2", "stringify-package": "^1.0.1", - "tar": "^4.4.13", + "tar": "^4.4.19", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "uid-number": "0.0.6", @@ -1858,14 +9300,6 @@ "write-file-atomic": "^2.4.3" }, "dependencies": { - "JSONStream": { - "version": "1.3.5", - "bundled": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "abbrev": { "version": "1.1.1", "bundled": true @@ -1884,16 +9318,6 @@ "humanize-ms": "^1.2.1" } }, - "ajv": { - "version": "5.5.2", - "bundled": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, "ansi-align": { "version": "2.0.0", "bundled": true, @@ -1998,7 +9422,7 @@ } }, "bin-links": { - "version": "1.1.7", + "version": "1.1.8", "bundled": true, "requires": { "bluebird": "^3.5.3", @@ -2133,23 +9557,36 @@ } }, "cliui": { - "version": "4.1.0", + "version": "5.0.0", "bundled": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", + "version": "4.1.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", "bundled": true }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, "strip-ansi": { - "version": "4.0.0", + "version": "5.2.0", "bundled": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -2166,10 +9603,6 @@ "mkdirp": "~0.5.0" } }, - "co": { - "version": "4.6.0", - "bundled": true - }, "code-point-at": { "version": "1.1.0", "bundled": true @@ -2250,10 +9683,10 @@ } }, "configstore": { - "version": "3.1.2", + "version": "3.1.5", "bundled": true, "requires": { - "dot-prop": "^4.1.0", + "dot-prop": "^4.2.1", "graceful-fs": "^4.1.2", "make-dir": "^1.0.0", "unique-string": "^1.0.0", @@ -2404,7 +9837,7 @@ } }, "dot-prop": { - "version": "4.2.0", + "version": "4.2.1", "bundled": true, "requires": { "is-obj": "^1.0.0" @@ -2463,6 +9896,10 @@ "version": "1.0.0", "bundled": true }, + "emoji-regex": { + "version": "7.0.3", + "bundled": true + }, "encoding": { "version": "0.1.12", "bundled": true, @@ -2554,10 +9991,6 @@ "version": "1.3.0", "bundled": true }, - "fast-deep-equal": { - "version": "1.1.0", - "bundled": true - }, "fast-json-stable-stringify": { "version": "2.0.0", "bundled": true @@ -2570,13 +10003,6 @@ "version": "1.0.2", "bundled": true }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "requires": { - "locate-path": "^2.0.0" - } - }, "flush-write-stream": { "version": "1.0.3", "bundled": true, @@ -2754,7 +10180,7 @@ "bundled": true }, "gentle-fs": { - "version": "2.3.0", + "version": "2.3.1", "bundled": true, "requires": { "aproba": "^1.1.2", @@ -2781,7 +10207,7 @@ } }, "get-caller-file": { - "version": "1.0.3", + "version": "2.0.5", "bundled": true }, "get-stream": { @@ -2849,11 +10275,31 @@ "bundled": true }, "har-validator": { - "version": "5.1.0", + "version": "5.1.5", "bundled": true, "requires": { - "ajv": "^5.3.0", + "ajv": "^6.12.3", "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "bundled": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "bundled": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "bundled": true + } } }, "has": { @@ -2876,7 +10322,7 @@ "bundled": true }, "hosted-git-info": { - "version": "2.8.8", + "version": "2.8.9", "bundled": true }, "http-cache-semantics": { @@ -2958,7 +10404,7 @@ "bundled": true }, "ini": { - "version": "1.3.5", + "version": "1.3.8", "bundled": true }, "init-package-json": { @@ -2975,10 +10421,6 @@ "validate-npm-package-name": "^3.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "bundled": true - }, "ip": { "version": "1.1.5", "bundled": true @@ -3097,11 +10539,7 @@ "bundled": true }, "json-schema": { - "version": "0.2.3", - "bundled": true - }, - "json-schema-traverse": { - "version": "0.3.1", + "version": "0.4.0", "bundled": true }, "json-stringify-safe": { @@ -3112,13 +10550,21 @@ "version": "1.3.1", "bundled": true }, + "JSONStream": { + "version": "1.3.5", + "bundled": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, "jsprim": { - "version": "1.4.1", + "version": "1.4.2", "bundled": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -3133,15 +10579,8 @@ "version": "1.0.0", "bundled": true }, - "lcid": { - "version": "2.0.0", - "bundled": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "libcipm": { - "version": "4.0.7", + "version": "4.0.8", "bundled": true, "requires": { "bin-links": "^1.1.2", @@ -3150,7 +10589,7 @@ "find-npm-prefix": "^1.0.2", "graceful-fs": "^4.1.11", "ini": "^1.3.5", - "lock-verify": "^2.0.2", + "lock-verify": "^2.1.0", "mkdirp": "^0.5.1", "npm-lifecycle": "^3.0.0", "npm-logical-tree": "^1.2.1", @@ -3296,7 +10735,7 @@ } }, "libnpx": { - "version": "10.2.2", + "version": "10.2.4", "bundled": true, "requires": { "dotenv": "^5.0.1", @@ -3306,15 +10745,7 @@ "update-notifier": "^2.3.0", "which": "^1.3.0", "y18n": "^4.0.0", - "yargs": "^11.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "yargs": "^14.2.3" } }, "lock-verify": { @@ -3426,32 +10857,10 @@ "ssri": "^6.0.0" } }, - "map-age-cleaner": { - "version": "0.1.3", - "bundled": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "meant": { - "version": "1.0.1", + "version": "1.0.2", "bundled": true }, - "mem": { - "version": "4.3.0", - "bundled": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "bundled": true - } - } - }, "mime-db": { "version": "1.35.0", "bundled": true @@ -3470,6 +10879,10 @@ "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.6", + "bundled": true + }, "minizlib": { "version": "1.3.3", "bundled": true, @@ -3511,7 +10924,7 @@ }, "dependencies": { "minimist": { - "version": "1.2.5", + "version": "1.2.6", "bundled": true } } @@ -3542,10 +10955,6 @@ "version": "0.0.7", "bundled": true }, - "nice-try": { - "version": "1.0.5", - "bundled": true - }, "node-fetch-npm": { "version": "2.0.2", "bundled": true, @@ -3600,7 +11009,7 @@ } }, "npm-audit-report": { - "version": "1.3.2", + "version": "1.3.3", "bundled": true, "requires": { "cli-table3": "^0.5.0", @@ -3626,7 +11035,7 @@ } }, "npm-lifecycle": { - "version": "3.1.4", + "version": "3.1.5", "bundled": true, "requires": { "byline": "^5.0.0", @@ -3685,12 +11094,12 @@ } }, "npm-registry-fetch": { - "version": "4.0.5", + "version": "4.0.7", "bundled": true, "requires": { - "JSONStream": "^1.3.4", "bluebird": "^3.5.1", "figgy-pudding": "^3.4.1", + "JSONStream": "^1.3.4", "lru-cache": "^5.1.1", "make-fetch-happen": "^5.0.0", "npm-package-arg": "^6.1.0", @@ -3711,7 +11120,7 @@ } }, "npm-user-validate": { - "version": "1.0.0", + "version": "1.0.1", "bundled": true }, "npmlog": { @@ -3756,48 +11165,13 @@ } }, "opener": { - "version": "1.5.1", + "version": "1.5.2", "bundled": true }, "os-homedir": { "version": "1.0.2", "bundled": true }, - "os-locale": { - "version": "3.1.0", - "bundled": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "bundled": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "bundled": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - } - } - }, "os-tmpdir": { "version": "1.0.2", "bundled": true @@ -3810,36 +11184,10 @@ "os-tmpdir": "^1.0.0" } }, - "p-defer": { - "version": "1.0.0", - "bundled": true - }, "p-finally": { "version": "1.0.0", "bundled": true }, - "p-is-promise": { - "version": "2.1.0", - "bundled": true - }, - "p-limit": { - "version": "1.2.0", - "bundled": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "bundled": true - }, "package-json": { "version": "4.0.1", "bundled": true, @@ -3944,7 +11292,7 @@ "bundled": true }, "path-parse": { - "version": "1.0.6", + "version": "1.0.7", "bundled": true }, "performance-now": { @@ -4071,12 +11419,6 @@ "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "bundled": true - } } }, "read": { @@ -4191,7 +11533,7 @@ "bundled": true }, "require-main-filename": { - "version": "1.0.1", + "version": "2.0.0", "bundled": true }, "resolve-from": { @@ -4384,7 +11726,7 @@ } }, "ssri": { - "version": "6.0.1", + "version": "6.0.2", "bundled": true, "requires": { "figgy-pudding": "^3.5.1" @@ -4436,6 +11778,19 @@ "version": "2.0.0", "bundled": true }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "bundled": true + } + } + }, "string-width": { "version": "2.1.1", "bundled": true, @@ -4461,19 +11816,6 @@ } } }, - "string_decoder": { - "version": "1.3.0", - "bundled": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.0", - "bundled": true - } - } - }, "stringify-package": { "version": "1.0.1", "bundled": true @@ -4501,16 +11843,16 @@ } }, "tar": { - "version": "4.4.13", + "version": "4.4.19", "bundled": true, "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" }, "dependencies": { "minipass": { @@ -4520,6 +11862,14 @@ "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } + }, + "safe-buffer": { + "version": "5.2.1", + "bundled": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true } } }, @@ -4653,6 +12003,19 @@ "xdg-basedir": "^3.0.0" } }, + "uri-js": { + "version": "4.4.0", + "bundled": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "bundled": true + } + } + }, "url-parse-lax": { "version": "1.0.0", "bundled": true, @@ -4754,20 +12117,36 @@ } }, "wrap-ansi": { - "version": "2.1.0", + "version": "5.1.0", "bundled": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, "string-width": { - "version": "1.0.2", + "version": "3.1.0", "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "requires": { + "ansi-regex": "^4.1.0" } } } @@ -4794,7 +12173,7 @@ "bundled": true }, "y18n": { - "version": "4.0.0", + "version": "4.0.1", "bundled": true }, "yallist": { @@ -4802,38 +12181,108 @@ "bundled": true }, "yargs": { - "version": "11.1.1", + "version": "14.2.3", "bundled": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.1.0", + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" }, "dependencies": { - "y18n": { - "version": "3.2.1", + "ansi-regex": { + "version": "4.1.0", + "bundled": true + }, + "find-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "bundled": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", "bundled": true + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, "yargs-parser": { - "version": "9.0.2", + "version": "15.0.1", "bundled": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "bundled": true + } } } } }, + "npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -4849,10 +12298,15 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { "ee-first": "1.1.1" } @@ -4862,7 +12316,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optjs": { @@ -4875,7 +12329,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "parseurl": { @@ -4893,25 +12347,33 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" + }, "pkcs11js": { - "version": "1.0.21", - "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.0.21.tgz", - "integrity": "sha512-U+UUXbVqdL3q95zNqi8aGbAg6KcyVkKocKR4QicvoEEO9NVW2podLkaq5hhxLGUi+OOJSL5VBNbUE2EatbeITw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.3.0.tgz", + "integrity": "sha512-owI+M6Gpw0cEU47cTt2eWQs4Iqm9zRyobiJ0q37wIgOrK8BcXVuRM3eVGH58QxYWhItMcRiEBUTE8HUHZX+beQ==", "optional": true, "requires": { - "nan": "2.14.0" + "nan": "^2.15.0" } }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "promise-settle": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/promise-settle/-/promise-settle-0.3.0.tgz", @@ -4922,18 +12384,89 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.6", - "yargs": "3.32.0" + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + } } }, "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "requires": { - "forwarded": "0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, @@ -4943,14 +12476,17 @@ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } }, "querystring": { "version": "0.2.0", @@ -4963,35 +12499,24 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.4", - "isarray": "1.0.0", - "process-nextick-args": "2.0.1", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "request": { @@ -4999,120 +12524,182 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.9.1", - "caseless": "0.12.0", - "combined-stream": "1.0.8", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.26", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.2.0", - "tough-cookie": "2.5.0", - "tunnel-agent": "0.6.0", - "uuid": "3.4.0" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + } } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, "rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } }, "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "save": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/save/-/save-2.5.0.tgz", + "integrity": "sha512-xiVLpKVbx8EmW0HDkNRjYL271OnIRCo8VGWAEq6/K+E0dgNrwKV2xvKXdfPj6HGYA6l760800LyewSY3ooljCg==", + "requires": { + "async": "^3.2.2", + "event-stream": "^4.0.1", + "lodash.assign": "^4.2.0", + "mingo": "1" + } + }, "secure-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "2.3.0", - "range-parser": "1.2.1", - "statuses": "1.5.0" + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "dependencies": { "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.3", - "send": "0.17.1" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "sjcl": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.7.tgz", "integrity": "sha1-MrNlpQ3Ju6JriLo8nfjqNCF9n0U=" }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-trace": { @@ -5121,114 +12708,149 @@ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" }, "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } }, "streamroller": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.3.tgz", - "integrity": "sha512-AegmvQsscTRhHVO46PhCDerjIpxi7E+d2GxgUDu+nzw/HuLnUdxHWr6WQ+mVn/4iJgMKKFFdiUwFcFRDvcjCtw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz", + "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==", "requires": { - "date-format": "2.1.0", - "debug": "4.1.1", - "fs-extra": "8.1.0" + "date-format": "^4.0.10", + "debug": "^4.3.4", + "fs-extra": "^10.1.0" }, "dependencies": { - "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==" - }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" } } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "safe-buffer": "~5.2.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { - "ansi-regex": "2.1.1" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" } }, "tar-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", - "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { - "bl": "1.2.2", - "buffer-alloc": "1.2.0", - "end-of-stream": "1.4.4", - "fs-constants": "1.0.0", - "readable-stream": "2.3.7", - "to-buffer": "1.1.1", - "xtend": "4.0.2" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" } }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "requires": { - "psl": "1.8.0", - "punycode": "2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.2.0" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -5242,7 +12864,7 @@ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.26" + "mime-types": "~2.1.24" } }, "universalify": { @@ -5256,18 +12878,11 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { - "punycode": "2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } + "punycode": "^2.1.0" } }, "url": { @@ -5277,20 +12892,12 @@ "requires": { "punycode": "1.3.2", "querystring": "0.2.0" - } - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "requires": { - "inherits": "2.0.3" }, "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, @@ -5319,9 +12926,31 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "window-size": { @@ -5330,25 +12959,26 @@ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" }, "winston": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz", - "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", + "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", "requires": { - "async": "1.0.0", - "colors": "1.0.3", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "stack-trace": "0.0.10" + "async": "^3.2.3", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" } }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "wrappy": { @@ -5356,34 +12986,39 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-4.0.0.tgz", + "integrity": "sha512-huWiiCS4TxKc4SfgmTwW1K7JmXPPAmuXWYy4j9qjQo4+27Kni8mGhAAi1cloRWmBe2EqcLgt3IGqQoRL/MtPgg==" } } } diff --git a/api-2.0/package-lock_000.json b/api-2.0/package-lock_000.json new file mode 100644 index 0000000..53e86dc --- /dev/null +++ b/api-2.0/package-lock_000.json @@ -0,0 +1,13067 @@ +{ + "name": "api-2.0", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "api-2.0", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "express": "^4.17.1", + "express-bearer-token": "^2.4.0", + "express-jwt": "^7.7.2", + "fabric-ca-client": "^2.1.0", + "fabric-client": "^1.4.8", + "fabric-common": "^2.2.12", + "fabric-network": "^2.1.0", + "http": "0.0.1-security", + "js-yaml": "^3.13.1", + "jsonwebtoken": "^8.5.1", + "log4js": "^6.2.0", + "npm": "^6.14.6", + "save": "^2.4.0" + } + }, + "node_modules/@grpc/grpc-js": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz", + "integrity": "sha512-q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==", + "dependencies": { + "@grpc/proto-loader": "^0.6.4", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.12.tgz", + "integrity": "sha512-filTVbETFnxb9CyRX98zN18ilChTuf/C5scZ2xyaOTp0EHGq0/ufX8rjqXUcSb1Gpv7eZq4M2jDvbh9BogKnrg==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/proto-loader/node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bytebuffer": { + "version": "5.0.43", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.43.tgz", + "integrity": "sha512-vQnTYvy4LpSojHjKdmg4nXFI1BAiYPvZ/k3ouczZAQnbDprk1xqxJiFmFHyy8y6MuUq3slz5erNMtn6n87uVKw==", + "dependencies": { + "@types/long": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/express-unless": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.3.tgz", + "integrity": "sha512-TyPLQaF6w8UlWdv4gj8i46B+INBVzURBNRahCozCSXfsK2VTlL1wNyTlMKw817VHygBtlcl5jfnPadlydr06Yw==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/jsonwebtoken": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "node_modules/@types/node": { + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "node_modules/ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==", + "dependencies": { + "colour": "~0.7.1", + "optjs": "~3.2.2" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/axios-cookiejar-support": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/axios-cookiejar-support/-/axios-cookiejar-support-1.0.1.tgz", + "integrity": "sha512-IZJxnAJ99XxiLqNeMOqrPbfR7fRyIfaoSLdPUf4AMQEGkH8URs0ghJK/xtqBsD+KsSr3pKl4DEQjCn834pHMig==", + "dependencies": { + "is-redirect": "^1.0.0", + "pify": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@types/tough-cookie": ">=2.3.3", + "axios": ">=0.16.2", + "tough-cookie": ">=2.3.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browser-request": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", + "integrity": "sha1-ns5bWsqJopkyJC4Yv5M975h2zBc=", + "engines": [ + "node" + ] + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "node_modules/bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==", + "dependencies": { + "long": "~3" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/bytebuffer/node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "engines": { + "node": "*" + } + }, + "node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cloudant-follow": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/cloudant-follow/-/cloudant-follow-0.17.0.tgz", + "integrity": "sha512-JQ1xvKAHh8rsnSVBjATLCjz/vQw1sWBGadxr2H69yFMwD7hShUGDwwEefdypaxroUJ/w6t1cSwilp/hRUxEW8w==", + "deprecated": "This package is no longer maintained.", + "dependencies": { + "browser-request": "~0.3.0", + "debug": "^3.0.0", + "request": "^2.83.0" + }, + "bin": { + "follow": "cli.js" + }, + "engines": { + "node": ">=6.13.0" + } + }, + "node_modules/cloudant-follow/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "dependencies": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/date-format": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.10.tgz", + "integrity": "sha512-RuMIHocrVjF84bUSTcd1uokIsLsOsk1Awb7TexNOI3f48ukCu39mjslWquDTA08VaDMF2umr3MB9ow5EyJTWyA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/errs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/errs/-/errs-0.3.2.tgz", + "integrity": "sha1-eYCZstvTfKK8dJ5TinwTB9C1BJk=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", + "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "dependencies": { + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-bearer-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz", + "integrity": "sha512-2+kRZT2xo+pmmvSY7Ma5FzxTJpO3kGaPCEXPbAm3GaoZ/z6FE4K6L7cvs1AUZwY2xkk15PcQw7t4dWjsl5rdJw==", + "dependencies": { + "cookie": "^0.3.1", + "cookie-parser": "^1.4.4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/express-bearer-token/node_modules/cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express-jwt": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-7.7.2.tgz", + "integrity": "sha512-NTNciChI54hnfzOh0XNjfsF6zY4W6t1BE4MfrylYrdlzTipMFzCmUaI4ebUac7e4ZBpai5CwrID661o+TwYsRQ==", + "dependencies": { + "@types/express-unless": "^0.5.3", + "@types/jsonwebtoken": "^8.5.8", + "express-unless": "^1.0.0", + "jsonwebtoken": "^8.5.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/express-unless": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-1.0.0.tgz", + "integrity": "sha512-zXSSClWBPfcSYjg0hcQNompkFN/MxQQ53eyrzm9BYgik2ut2I7PxAf2foVqBRMYCwWaZx/aWodi+uk76npdSAw==" + }, + "node_modules/express/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "engines": { + "node": "> 0.1.90" + } + }, + "node_modules/fabric-ca-client": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-2.2.12.tgz", + "integrity": "sha512-ZeCYSpeKt8Y+OuKjEwTzfaX4T6jbkKO8pG/b02tQregB3WUAMKnQNgMty1Mstxl8x6jZvUNDd5FiCcMEK+9YpQ==", + "dependencies": { + "fabric-common": "2.2.12", + "jsrsasign": "^10.4.1", + "url": "^0.11.0", + "winston": "^2.4.5" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fabric-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.20.tgz", + "integrity": "sha512-4e/cFZ3KtwlFHE487zRHMjUwoP74Gifs2db8qTUSm2oBhoSw9CD4lg28rA0MY+AVCx0P2fCjU548+QDH2Z9a9Q==", + "dependencies": { + "@types/bytebuffer": "^5.0.34", + "bn.js": "^4.11.3", + "bytebuffer": "^5.0.1", + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-ca-client": "1.4.20", + "fs-extra": "^8.1.0", + "grpc": "1.24.11", + "ignore-walk": "^3.0.0", + "js-sha3": "^0.7.0", + "js-yaml": "^3.9.0", + "jsrsasign": "^10.4.1", + "klaw": "^3.0.0", + "lodash.clone": "4.5.0", + "long": "^4.0.0", + "nano": "^6.4.4", + "nconf": "^0.12.0", + "promise-settle": "^0.3.0", + "protobufjs": "5.0.3", + "sjcl": "1.0.7", + "tar-stream": "^2.2.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "optionalDependencies": { + "pkcs11js": "^1.0.6" + } + }, + "node_modules/fabric-client/node_modules/fabric-ca-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.20.tgz", + "integrity": "sha512-4lISgO62ykixns+gxiKTDjehnXCC9hwIjFFDFpziM4xi7RSZuTmViboKWgpHfWjTJc8VulhQftnsOl5/0LgUmQ==", + "dependencies": { + "grpc": "1.24.11", + "jsrsasign": "^10.4.1", + "lodash.clone": "4.5.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fabric-common": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-common/-/fabric-common-2.2.12.tgz", + "integrity": "sha512-FQSr9hAxwPP+NLMG+AvEPq+JoC5PMZ2ujvizr6eCEiKBpvZ2eDobirVGzC8tXSOeRclO64Xejjz3w6Hi69OczA==", + "dependencies": { + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-protos": "2.2.12", + "js-sha3": "^0.8.0", + "jsrsasign": "^10.4.1", + "long": "^4.0.0", + "nconf": "^0.11.2", + "promise-settle": "^0.3.0", + "sjcl": "^1.0.8", + "winston": "^2.4.5", + "yn": "^4.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "optionalDependencies": { + "pkcs11js": "^1.0.6" + } + }, + "node_modules/fabric-common/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + }, + "node_modules/fabric-common/node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/fabric-common/node_modules/nconf": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.11.4.tgz", + "integrity": "sha512-YaDR846q11JnG1vTrhJ0QIlhiGY6+W1bgWtReG9SS3vkTl3AoNwFvUItdhG6/ZjGCfWpUVuRTNEBTDAQ3nWhGw==", + "dependencies": { + "async": "^1.4.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fabric-common/node_modules/sjcl": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.8.tgz", + "integrity": "sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ==", + "engines": { + "node": "*" + } + }, + "node_modules/fabric-network": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-network/-/fabric-network-2.2.12.tgz", + "integrity": "sha512-rftgzWTqpXTDpEnNu21vqE0/QqYJlqrFC6acUI6FQ3yq9XS+zdEODbeI+n8abROfov9NH5VNxEr6k/PRojAE4g==", + "dependencies": { + "fabric-common": "2.2.12", + "fabric-protos": "2.2.12", + "long": "^4.0.0", + "nano": "^9.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fabric-network/node_modules/nano": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/nano/-/nano-9.0.5.tgz", + "integrity": "sha512-fEAhwAdXh4hDDnC8cYJtW6D8ivOmpvFAqT90+zEuQREpRkzA/mJPcI4EKv15JUdajaqiLTXNoKK6PaRF+/06DQ==", + "dependencies": { + "@types/tough-cookie": "^4.0.0", + "axios": "^0.21.1", + "axios-cookiejar-support": "^1.0.1", + "qs": "^6.9.4", + "tough-cookie": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fabric-network/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fabric-network/node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fabric-network/node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/fabric-protos": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-protos/-/fabric-protos-2.2.12.tgz", + "integrity": "sha512-nJ2qtw0r+RQhQ2JcQH+wjAFredWQK33sNFppWsm1/GgtLC/xDc1vJSg1pGm/3cyTMyUvCKHRbFe9yzT9rRvKdQ==", + "dependencies": { + "@grpc/grpc-js": "1.5.3", + "@grpc/proto-loader": "^0.6.2", + "protobufjs": "^6.11.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fabric-protos/node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" + }, + "node_modules/follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==" + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "node_modules/grpc": { + "version": "1.24.11", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.11.tgz", + "integrity": "sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==", + "deprecated": "This library will not receive further updates other than security fixes. We recommend using @grpc/grpc-js instead.", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.4", + "@types/bytebuffer": "^5.0.40", + "lodash.camelcase": "^4.3.0", + "lodash.clone": "^4.5.0", + "nan": "^2.13.2", + "protobufjs": "^5.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz", + "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==" + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsrsasign": { + "version": "10.5.23", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.23.tgz", + "integrity": "sha512-e3hy//LH8EbRhzqyHJuf3pbehxYcnUZgGUjQKKTukWJ1M5uQTZBgFvItRK5ik8pixpYDAKY6xj527cEa1NQGPg==", + "funding": { + "url": "https://github.com/kjur/jsrsasign#donations" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "node_modules/log4js": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.5.2.tgz", + "integrity": "sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A==", + "dependencies": { + "date-format": "^4.0.10", + "debug": "^4.3.4", + "flatted": "^3.2.5", + "rfdc": "^1.3.0", + "streamroller": "^3.1.1" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/log4js/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "dependencies": { + "mime-db": "1.43.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mingo": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mingo/-/mingo-1.3.3.tgz", + "integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY=" + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "node_modules/nano": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/nano/-/nano-6.4.4.tgz", + "integrity": "sha512-7sldMrZI1ZH8QE29PnzohxLfR67WNVzMKLa7EMl3x9Hr+0G+YpOUCq50qZ9G66APrjcb0Of2BTOZLNBCutZGag==", + "dependencies": { + "cloudant-follow": "~0.17.0", + "debug": "^2.2.0", + "errs": "^0.3.2", + "lodash.isempty": "^4.4.0", + "request": "^2.85.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nconf": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz", + "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==", + "dependencies": { + "async": "^3.0.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm": { + "version": "6.14.17", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.17.tgz", + "integrity": "sha512-CxEDn1ydVRPDl4tHrlnq+WevYAhv4GF2AEHzJKQ4prZDZ96IS3Uo6t0Sy6O9kB6XzqkI+J00WfYCqqk0p6IJ1Q==", + "bundleDependencies": [ + "abbrev", + "ansicolors", + "ansistyles", + "aproba", + "archy", + "bin-links", + "bluebird", + "byte-size", + "cacache", + "call-limit", + "chownr", + "ci-info", + "cli-columns", + "cli-table3", + "cmd-shim", + "columnify", + "config-chain", + "debuglog", + "detect-indent", + "detect-newline", + "dezalgo", + "editor", + "figgy-pudding", + "find-npm-prefix", + "fs-vacuum", + "fs-write-stream-atomic", + "gentle-fs", + "glob", + "graceful-fs", + "has-unicode", + "hosted-git-info", + "iferr", + "imurmurhash", + "infer-owner", + "inflight", + "inherits", + "ini", + "init-package-json", + "is-cidr", + "json-parse-better-errors", + "JSONStream", + "lazy-property", + "libcipm", + "libnpm", + "libnpmaccess", + "libnpmhook", + "libnpmorg", + "libnpmsearch", + "libnpmteam", + "libnpx", + "lock-verify", + "lockfile", + "lodash._baseindexof", + "lodash._baseuniq", + "lodash._bindcallback", + "lodash._cacheindexof", + "lodash._createcache", + "lodash._getnative", + "lodash.clonedeep", + "lodash.restparam", + "lodash.union", + "lodash.uniq", + "lodash.without", + "lru-cache", + "meant", + "mississippi", + "mkdirp", + "move-concurrently", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-cache-filename", + "npm-install-checks", + "npm-lifecycle", + "npm-package-arg", + "npm-packlist", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "once", + "opener", + "osenv", + "pacote", + "path-is-inside", + "promise-inflight", + "qrcode-terminal", + "query-string", + "qw", + "read-cmd-shim", + "read-installed", + "read-package-json", + "read-package-tree", + "read", + "readable-stream", + "readdir-scoped-modules", + "request", + "retry", + "rimraf", + "safe-buffer", + "semver", + "sha", + "slide", + "sorted-object", + "sorted-union-stream", + "ssri", + "stringify-package", + "tar", + "text-table", + "tiny-relative-date", + "uid-number", + "umask", + "unique-filename", + "unpipe", + "update-notifier", + "uuid", + "validate-npm-package-license", + "validate-npm-package-name", + "which", + "worker-farm", + "write-file-atomic" + ], + "dependencies": { + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.8", + "bluebird": "^3.5.5", + "byte-size": "^5.0.1", + "cacache": "^12.0.3", + "call-limit": "^1.1.1", + "chownr": "^1.1.4", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "^3.0.3", + "columnify": "~1.5.4", + "config-chain": "^1.1.12", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.3.1", + "glob": "^7.1.6", + "graceful-fs": "^4.2.4", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.8.9", + "iferr": "^1.0.2", + "imurmurhash": "*", + "infer-owner": "^1.0.4", + "inflight": "~1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.8", + "init-package-json": "^1.10.3", + "is-cidr": "^3.0.0", + "json-parse-better-errors": "^1.0.2", + "JSONStream": "^1.3.5", + "lazy-property": "~1.0.0", + "libcipm": "^4.0.8", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "libnpx": "^10.2.4", + "lock-verify": "^2.1.0", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^5.1.1", + "meant": "^1.0.2", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.5", + "move-concurrently": "^1.0.1", + "node-gyp": "^5.1.0", + "nopt": "^4.0.3", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.3", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "^3.0.2", + "npm-lifecycle": "^3.1.5", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.8", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.4", + "npm-registry-fetch": "^4.0.7", + "npm-user-validate": "^1.0.1", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.2", + "osenv": "^0.1.5", + "pacote": "^9.5.12", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.8.2", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "^1.0.5", + "read-installed": "~4.0.3", + "read-package-json": "^2.1.1", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.6.0", + "readdir-scoped-modules": "^1.1.0", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "^2.7.1", + "safe-buffer": "^5.1.2", + "semver": "^5.7.1", + "sha": "^3.0.0", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.2", + "stringify-package": "^1.0.1", + "tar": "^4.4.19", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.3", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "6 >=6.2.0 || 8 || >=9.3.0" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "3.5.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/ajv": { + "version": "5.5.2", + "license": "MIT", + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/npm/node_modules/ansi-align": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.0.0" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "3.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/ansicolors": { + "version": "0.3.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ansistyles": { + "version": "0.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/asn1": { + "version": "0.2.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/npm/node_modules/assert-plus": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/asynckit": { + "version": "0.4.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aws-sign2": { + "version": "0.7.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/aws4": { + "version": "1.8.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/npm/node_modules/bin-links": { + "version": "1.1.8", + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.3.0", + "graceful-fs": "^4.1.15", + "npm-normalize-package-bin": "^1.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/npm/node_modules/bluebird": { + "version": "3.5.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/boxen": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/buffer-from": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/builtins": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/byline": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/byte-size": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "12.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/npm/node_modules/call-limit": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/camelcase": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/capture-stack-trace": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/caseless": { + "version": "0.12.0", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/npm/node_modules/chalk": { + "version": "2.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ci-info": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "2.0.10", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cli-boxes": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "3.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.5.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/npm/node_modules/cliui": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "node_modules/npm/node_modules/co": { + "version": "4.6.0", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/npm/node_modules/code-point-at": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "1.9.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.1.1" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/colors": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.5.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "node_modules/npm/node_modules/combined-stream": { + "version": "1.0.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/concat-stream": { + "version": "1.6.2", + "engines": [ + "node >= 0.8" + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/npm/node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/config-chain": { + "version": "1.1.12", + "inBundle": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/npm/node_modules/configstore": { + "version": "3.1.5", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/copy-concurrently": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/npm/node_modules/copy-concurrently/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/copy-concurrently/node_modules/iferr": { + "version": "0.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/core-util-is": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/create-error-class": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "capture-stack-trace": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "5.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/lru-cache": { + "version": "4.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/yallist": { + "version": "2.1.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/crypto-random-string": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cyclist": { + "version": "0.2.2", + "inBundle": true + }, + "node_modules/npm/node_modules/dashdash": { + "version": "1.14.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/decamelize": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/decode-uri-component": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/npm/node_modules/deep-extend": { + "version": "0.6.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/define-properties": { + "version": "1.1.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/delayed-stream": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/detect-indent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/detect-newline": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/dot-prop": { + "version": "4.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/dotenv": { + "version": "5.0.1", + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.6.0" + } + }, + "node_modules/npm/node_modules/duplexer3": { + "version": "0.1.4", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/duplexify": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/ecc-jsbn": { + "version": "0.1.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/npm/node_modules/editor": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "7.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.12", + "inBundle": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "~0.4.13" + } + }, + "node_modules/npm/node_modules/end-of-stream": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/errno": { + "version": "0.1.7", + "inBundle": true, + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/npm/node_modules/es-abstract": { + "version": "1.12.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/es-to-primitive": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/es6-promise": { + "version": "4.2.8", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/es6-promisify": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/npm/node_modules/escape-string-regexp": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/npm/node_modules/execa": { + "version": "0.7.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/execa/node_modules/get-stream": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/extend": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/extsprintf": { + "version": "1.3.0", + "engines": [ + "node >=0.6.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fast-deep-equal": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/npm/node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/figgy-pudding": { + "version": "3.5.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/find-npm-prefix": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/flush-write-stream": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/forever-agent": { + "version": "0.6.1", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/form-data": { + "version": "2.3.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/npm/node_modules/from2": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/npm/node_modules/from2/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "1.2.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/npm/node_modules/fs-minipass/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/fs-vacuum": { + "version": "1.2.10", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/iferr": { + "version": "0.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "2.7.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/genfun": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gentle-fs": { + "version": "2.3.1", + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "aproba": "^1.1.2", + "chownr": "^1.1.2", + "cmd-shim": "^3.0.3", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "infer-owner": "^1.0.4", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + } + }, + "node_modules/npm/node_modules/gentle-fs/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/gentle-fs/node_modules/iferr": { + "version": "0.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/get-caller-file": { + "version": "2.0.5", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/npm/node_modules/get-stream": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/getpass": { + "version": "0.1.7", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "7.1.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/global-dirs": { + "version": "0.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/got": { + "version": "6.7.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/har-schema": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/har-validator": { + "version": "5.1.5", + "deprecated": "this library is no longer supported", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/npm/node_modules/har-validator/node_modules/fast-deep-equal": { + "version": "3.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/has-symbols": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "2.8.9", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "3.8.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/npm/node_modules/http-signature": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "2.2.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.4.23", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/iferr": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/npm/node_modules/import-lazy": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "1.3.8", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "1.10.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "1.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-callable": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-ci": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/npm/node_modules/is-ci/node_modules/ci-info": { + "version": "1.6.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "3.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^2.0.10" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/is-date-object": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-installed-globally": { + "version": "0.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-npm": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-obj": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-path-inside": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-redirect": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-regex": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-retry-allowed": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-stream": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-symbol": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-typedarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/isstream": { + "version": "0.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/jsbn": { + "version": "0.1.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/json-parse-better-errors": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-schema": { + "version": "0.4.0", + "inBundle": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/npm/node_modules/json-schema-traverse": { + "version": "0.3.1", + "license": "MIT" + }, + "node_modules/npm/node_modules/json-stringify-safe": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/JSONStream": { + "version": "1.3.5", + "inBundle": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/jsprim": { + "version": "1.4.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/npm/node_modules/latest-version": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "package-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/lazy-property": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libcipm": { + "version": "4.0.8", + "inBundle": true, + "license": "MIT", + "dependencies": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.1.0", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "node_modules/npm/node_modules/libnpm": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.2", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npmlog": "^4.1.2", + "pacote": "^9.5.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmconfig": { + "version": "1.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/find-up": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/locate-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-limit": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-locate": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-try": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "5.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpx": { + "version": "10.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^14.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/lock-verify": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + } + }, + "node_modules/npm/node_modules/lockfile": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "signal-exit": "^3.0.2" + } + }, + "node_modules/npm/node_modules/lodash._baseindexof": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._baseuniq": { + "version": "4.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "node_modules/npm/node_modules/lodash._bindcallback": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._cacheindexof": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._createcache": { + "version": "3.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash._getnative": "^3.0.0" + } + }, + "node_modules/npm/node_modules/lodash._createset": { + "version": "4.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._getnative": { + "version": "3.9.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._root": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.clonedeep": { + "version": "4.5.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.restparam": { + "version": "3.6.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.union": { + "version": "4.6.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.uniq": { + "version": "4.5.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.without": { + "version": "4.4.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lowercase-keys": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "5.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/npm/node_modules/make-dir": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "5.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "node_modules/npm/node_modules/meant": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mime-db": { + "version": "1.35.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/mime-types": { + "version": "2.1.19", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/minimist": { + "version": "1.2.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/minizlib": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/mississippi": { + "version": "3.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "0.5.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/npm/node_modules/mkdirp/node_modules/minimist": { + "version": "1.2.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/move-concurrently": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/npm/node_modules/move-concurrently/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.7", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/node-fetch-npm": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "5.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "4.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "2.5.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/npm/node_modules/normalize-package-data/node_modules/resolve": { + "version": "1.10.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "1.3.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-cache-filename": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "3.0.2", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "node_modules/npm/node_modules/npm-lifecycle": { + "version": "3.1.5", + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "node_modules/npm/node_modules/npm-logical-tree": { + "version": "1.2.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "6.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "1.4.8", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "4.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "JSONStream": "^1.3.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/npm-run-path": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "4.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/npm/node_modules/number-is-nan": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/oauth-sign": { + "version": "0.9.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/object-assign": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/object-keys": { + "version": "1.0.12", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/object.getownpropertydescriptors": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/os-homedir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/os-tmpdir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/osenv": { + "version": "0.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/npm/node_modules/p-finally": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/package-json": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "9.5.12", + "inBundle": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.3", + "cacache": "^12.0.2", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-normalize-package-bin": "^1.0.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + } + }, + "node_modules/npm/node_modules/pacote/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/parallel-transform": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/path-exists": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/path-is-inside": { + "version": "1.0.2", + "inBundle": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/npm/node_modules/path-key": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/path-parse": { + "version": "1.0.7", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/performance-now": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pify": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/prepend-http": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/process-nextick-args": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/npm/node_modules/promise-retry/node_modules/retry": { + "version": "0.10.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/proto-list": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/protoduck": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "genfun": "^5.0.0" + } + }, + "node_modules/npm/node_modules/prr": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pseudomap": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/psl": { + "version": "1.1.29", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pump": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/npm/node_modules/pumpify": { + "version": "1.5.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/npm/node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/npm/node_modules/punycode": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/qs": { + "version": "6.5.2", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/npm/node_modules/query-string": { + "version": "6.8.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/qw": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/rc": { + "version": "1.2.8", + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-installed": { + "version": "4.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "2.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-package-tree": { + "version": "5.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/registry-auth-token": { + "version": "3.4.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/npm/node_modules/registry-url": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/request": { + "version": "2.88.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/require-directory": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/require-main-filename": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/resolve-from": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "2.7.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/npm/node_modules/run-queue": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/npm/node_modules/run-queue/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/semver": { + "version": "5.7.1", + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm/node_modules/semver-diff": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^5.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/sha": { + "version": "3.0.0", + "inBundle": true, + "license": "(BSD-2-Clause OR MIT)", + "dependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/shebang-command": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/slide": { + "version": "1.1.6", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.3.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "4.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "4.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/sorted-object": { + "version": "2.0.1", + "inBundle": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/npm/node_modules/sorted-union-stream": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/from2": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/isarray": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/readable-stream": { + "version": "1.1.14", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/string_decoder": { + "version": "0.10.31", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.1.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.5", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/split-on-first": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/sshpk": { + "version": "1.14.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "getpass": "^0.1.1", + "safer-buffer": "^2.0.2" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "bcrypt-pbkdf": "^1.0.0", + "ecc-jsbn": "~0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + } + }, + "node_modules/npm/node_modules/ssri": { + "version": "6.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/npm/node_modules/stream-each": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/stream-iterate": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/stream-shift": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/strict-uri-encode": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/string-width": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/stringify-package": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/strip-eof": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/strip-json-comments": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "5.4.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "4.4.19", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "2.9.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/tar/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tar/node_modules/yallist": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/term-size": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "execa": "^0.7.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/through": { + "version": "2.3.8", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/through2": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "node_modules/npm/node_modules/through2/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/timed-out": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tough-cookie": { + "version": "2.4.3", + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/tunnel-agent": { + "version": "0.6.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/tweetnacl": { + "version": "0.14.5", + "inBundle": true, + "license": "Unlicense", + "optional": true + }, + "node_modules/npm/node_modules/typedarray": { + "version": "0.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/uid-number": { + "version": "0.0.6", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/umask": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/npm/node_modules/unique-string": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/unpipe": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/unzip-response": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/update-notifier": { + "version": "2.5.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/uri-js": { + "version": "4.4.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/npm/node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/url-parse-lax": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/util-extend": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/util-promisify": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/npm/node_modules/uuid": { + "version": "3.3.3", + "inBundle": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/npm/node_modules/verror": { + "version": "1.10.0", + "engines": [ + "node >=0.6.0" + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "1.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/npm/node_modules/which-module": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2" + } + }, + "node_modules/npm/node_modules/wide-align/node_modules/string-width": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/widest-line": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/worker-farm": { + "version": "1.7.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "5.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "2.4.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/npm/node_modules/xdg-basedir": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/xtend": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/npm/node_modules/y18n": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/yallist": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/yargs": { + "version": "14.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/npm/node_modules/yargs-parser": { + "version": "15.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/npm/node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-try": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkcs11js": { + "version": "1.0.21", + "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.0.21.tgz", + "integrity": "sha512-U+UUXbVqdL3q95zNqi8aGbAg6KcyVkKocKR4QicvoEEO9NVW2podLkaq5hhxLGUi+OOJSL5VBNbUE2EatbeITw==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.14.0" + } + }, + "node_modules/promise-settle": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-settle/-/promise-settle-0.3.0.tgz", + "integrity": "sha1-tO/VcqHrdM95T4KM00naQKCOTpY=", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/protobufjs": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", + "dependencies": { + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" + }, + "bin": { + "pbjs": "bin/pbjs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/protobufjs/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/protobufjs/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protobufjs/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "node_modules/protobufjs/node_modules/yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dependencies": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/save": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/save/-/save-2.5.0.tgz", + "integrity": "sha512-xiVLpKVbx8EmW0HDkNRjYL271OnIRCo8VGWAEq6/K+E0dgNrwKV2xvKXdfPj6HGYA6l760800LyewSY3ooljCg==", + "dependencies": { + "async": "^3.2.2", + "event-stream": "^4.0.1", + "lodash.assign": "^4.2.0", + "mingo": "1" + } + }, + "node_modules/secure-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", + "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=" + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sjcl": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.7.tgz", + "integrity": "sha1-MrNlpQ3Ju6JriLo8nfjqNCF9n0U=", + "engines": { + "node": "*" + } + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "engines": { + "node": "*" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "dependencies": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "node_modules/streamroller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz", + "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==", + "dependencies": { + "date-format": "^4.0.10", + "debug": "^4.3.4", + "fs-extra": "^10.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/streamroller/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/streamroller/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/streamroller/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/winston": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", + "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", + "dependencies": { + "async": "^3.2.3", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-4.0.0.tgz", + "integrity": "sha512-huWiiCS4TxKc4SfgmTwW1K7JmXPPAmuXWYy4j9qjQo4+27Kni8mGhAAi1cloRWmBe2EqcLgt3IGqQoRL/MtPgg==", + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@grpc/grpc-js": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz", + "integrity": "sha512-q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==", + "requires": { + "@grpc/proto-loader": "^0.6.4", + "@types/node": ">=12.12.47" + } + }, + "@grpc/proto-loader": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.12.tgz", + "integrity": "sha512-filTVbETFnxb9CyRX98zN18ilChTuf/C5scZ2xyaOTp0EHGq0/ufX8rjqXUcSb1Gpv7eZq4M2jDvbh9BogKnrg==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + } + } + }, + "@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "requires": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bytebuffer": { + "version": "5.0.43", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.43.tgz", + "integrity": "sha512-vQnTYvy4LpSojHjKdmg4nXFI1BAiYPvZ/k3ouczZAQnbDprk1xqxJiFmFHyy8y6MuUq3slz5erNMtn6n87uVKw==", + "requires": { + "@types/long": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/express-unless": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.3.tgz", + "integrity": "sha512-TyPLQaF6w8UlWdv4gj8i46B+INBVzURBNRahCozCSXfsK2VTlL1wNyTlMKw817VHygBtlcl5jfnPadlydr06Yw==", + "requires": { + "@types/express": "*" + } + }, + "@types/jsonwebtoken": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "requires": { + "@types/node": "*" + } + }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + }, + "@types/node": { + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha512-JGQaNxpaCJz9Bd1JvVaFIHuWn9S+l3xhN17R0V/vmUDiGE0QngNMXhjlqpwqV+91plWz9Fg+Lt28Lj7p5vjs8A==", + "requires": { + "colour": "~0.7.1", + "optjs": "~3.2.2" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "axios-cookiejar-support": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/axios-cookiejar-support/-/axios-cookiejar-support-1.0.1.tgz", + "integrity": "sha512-IZJxnAJ99XxiLqNeMOqrPbfR7fRyIfaoSLdPUf4AMQEGkH8URs0ghJK/xtqBsD+KsSr3pKl4DEQjCn834pHMig==", + "requires": { + "is-redirect": "^1.0.0", + "pify": "^5.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-request": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", + "integrity": "sha1-ns5bWsqJopkyJC4Yv5M975h2zBc=" + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==", + "requires": { + "long": "~3" + }, + "dependencies": { + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + } + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "cloudant-follow": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/cloudant-follow/-/cloudant-follow-0.17.0.tgz", + "integrity": "sha512-JQ1xvKAHh8rsnSVBjATLCjz/vQw1sWBGadxr2H69yFMwD7hShUGDwwEefdypaxroUJ/w6t1cSwilp/hRUxEW8w==", + "requires": { + "browser-request": "~0.3.0", + "debug": "^3.0.0", + "request": "^2.83.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + }, + "colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha512-Rel466v0EnmKPcsxHo91L4kgPs/6XF7Pu2LJNszq9lXYwi5CFWEeIiRaTX5ym7PPMdj4udDHkLSVC1//JVkZQg==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-format": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.10.tgz", + "integrity": "sha512-RuMIHocrVjF84bUSTcd1uokIsLsOsk1Awb7TexNOI3f48ukCu39mjslWquDTA08VaDMF2umr3MB9ow5EyJTWyA==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "errs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/errs/-/errs-0.3.2.tgz", + "integrity": "sha1-eYCZstvTfKK8dJ5TinwTB9C1BJk=" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", + "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "requires": { + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "express-bearer-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz", + "integrity": "sha512-2+kRZT2xo+pmmvSY7Ma5FzxTJpO3kGaPCEXPbAm3GaoZ/z6FE4K6L7cvs1AUZwY2xkk15PcQw7t4dWjsl5rdJw==", + "requires": { + "cookie": "^0.3.1", + "cookie-parser": "^1.4.4" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + } + } + }, + "express-jwt": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/express-jwt/-/express-jwt-7.7.2.tgz", + "integrity": "sha512-NTNciChI54hnfzOh0XNjfsF6zY4W6t1BE4MfrylYrdlzTipMFzCmUaI4ebUac7e4ZBpai5CwrID661o+TwYsRQ==", + "requires": { + "@types/express-unless": "^0.5.3", + "@types/jsonwebtoken": "^8.5.8", + "express-unless": "^1.0.0", + "jsonwebtoken": "^8.5.1" + } + }, + "express-unless": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/express-unless/-/express-unless-1.0.0.tgz", + "integrity": "sha512-zXSSClWBPfcSYjg0hcQNompkFN/MxQQ53eyrzm9BYgik2ut2I7PxAf2foVqBRMYCwWaZx/aWodi+uk76npdSAw==" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" + }, + "fabric-ca-client": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-2.2.12.tgz", + "integrity": "sha512-ZeCYSpeKt8Y+OuKjEwTzfaX4T6jbkKO8pG/b02tQregB3WUAMKnQNgMty1Mstxl8x6jZvUNDd5FiCcMEK+9YpQ==", + "requires": { + "fabric-common": "2.2.12", + "jsrsasign": "^10.4.1", + "url": "^0.11.0", + "winston": "^2.4.5" + } + }, + "fabric-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-client/-/fabric-client-1.4.20.tgz", + "integrity": "sha512-4e/cFZ3KtwlFHE487zRHMjUwoP74Gifs2db8qTUSm2oBhoSw9CD4lg28rA0MY+AVCx0P2fCjU548+QDH2Z9a9Q==", + "requires": { + "@types/bytebuffer": "^5.0.34", + "bn.js": "^4.11.3", + "bytebuffer": "^5.0.1", + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-ca-client": "1.4.20", + "fs-extra": "^8.1.0", + "grpc": "1.24.11", + "ignore-walk": "^3.0.0", + "js-sha3": "^0.7.0", + "js-yaml": "^3.9.0", + "jsrsasign": "^10.4.1", + "klaw": "^3.0.0", + "lodash.clone": "4.5.0", + "long": "^4.0.0", + "nano": "^6.4.4", + "nconf": "^0.12.0", + "pkcs11js": "^1.0.6", + "promise-settle": "^0.3.0", + "protobufjs": "5.0.3", + "sjcl": "1.0.7", + "tar-stream": "^2.2.0", + "url": "^0.11.0", + "winston": "^2.4.0" + }, + "dependencies": { + "fabric-ca-client": { + "version": "1.4.20", + "resolved": "https://registry.npmjs.org/fabric-ca-client/-/fabric-ca-client-1.4.20.tgz", + "integrity": "sha512-4lISgO62ykixns+gxiKTDjehnXCC9hwIjFFDFpziM4xi7RSZuTmViboKWgpHfWjTJc8VulhQftnsOl5/0LgUmQ==", + "requires": { + "grpc": "1.24.11", + "jsrsasign": "^10.4.1", + "lodash.clone": "4.5.0", + "url": "^0.11.0", + "winston": "^2.4.0" + } + } + } + }, + "fabric-common": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-common/-/fabric-common-2.2.12.tgz", + "integrity": "sha512-FQSr9hAxwPP+NLMG+AvEPq+JoC5PMZ2ujvizr6eCEiKBpvZ2eDobirVGzC8tXSOeRclO64Xejjz3w6Hi69OczA==", + "requires": { + "callsite": "^1.0.0", + "elliptic": "^6.5.4", + "fabric-protos": "2.2.12", + "js-sha3": "^0.8.0", + "jsrsasign": "^10.4.1", + "long": "^4.0.0", + "nconf": "^0.11.2", + "pkcs11js": "^1.0.6", + "promise-settle": "^0.3.0", + "sjcl": "^1.0.8", + "winston": "^2.4.5", + "yn": "^4.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "nconf": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.11.4.tgz", + "integrity": "sha512-YaDR846q11JnG1vTrhJ0QIlhiGY6+W1bgWtReG9SS3vkTl3AoNwFvUItdhG6/ZjGCfWpUVuRTNEBTDAQ3nWhGw==", + "requires": { + "async": "^1.4.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" + } + }, + "sjcl": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.8.tgz", + "integrity": "sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ==" + } + } + }, + "fabric-network": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-network/-/fabric-network-2.2.12.tgz", + "integrity": "sha512-rftgzWTqpXTDpEnNu21vqE0/QqYJlqrFC6acUI6FQ3yq9XS+zdEODbeI+n8abROfov9NH5VNxEr6k/PRojAE4g==", + "requires": { + "fabric-common": "2.2.12", + "fabric-protos": "2.2.12", + "long": "^4.0.0", + "nano": "^9.0.3" + }, + "dependencies": { + "nano": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/nano/-/nano-9.0.5.tgz", + "integrity": "sha512-fEAhwAdXh4hDDnC8cYJtW6D8ivOmpvFAqT90+zEuQREpRkzA/mJPcI4EKv15JUdajaqiLTXNoKK6PaRF+/06DQ==", + "requires": { + "@types/tough-cookie": "^4.0.0", + "axios": "^0.21.1", + "axios-cookiejar-support": "^1.0.1", + "qs": "^6.9.4", + "tough-cookie": "^4.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + } + } + }, + "fabric-protos": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/fabric-protos/-/fabric-protos-2.2.12.tgz", + "integrity": "sha512-nJ2qtw0r+RQhQ2JcQH+wjAFredWQK33sNFppWsm1/GgtLC/xDc1vJSg1pGm/3cyTMyUvCKHRbFe9yzT9rRvKdQ==", + "requires": { + "@grpc/grpc-js": "1.5.3", + "@grpc/proto-loader": "^0.6.2", + "protobufjs": "^6.11.2" + }, + "dependencies": { + "protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" + }, + "follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "grpc": { + "version": "1.24.11", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.11.tgz", + "integrity": "sha512-8/AQdFCzCeCDWW3SoaMNp6ccbRvTQEH1O1u1uFtt29eWsg5gSZCJ3m6fbkduEIh3smY7WAPP+LgVJ5n3nZRxcA==", + "requires": { + "@mapbox/node-pre-gyp": "^1.0.4", + "@types/bytebuffer": "^5.0.40", + "lodash.camelcase": "^4.3.0", + "lodash.clone": "^4.5.0", + "nan": "^2.13.2", + "protobufjs": "^5.0.3" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "http": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz", + "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jsrsasign": { + "version": "10.5.23", + "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-10.5.23.tgz", + "integrity": "sha512-e3hy//LH8EbRhzqyHJuf3pbehxYcnUZgGUjQKKTukWJ1M5uQTZBgFvItRK5ik8pixpYDAKY6xj527cEa1NQGPg==" + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "log4js": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.5.2.tgz", + "integrity": "sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A==", + "requires": { + "date-format": "^4.0.10", + "debug": "^4.3.4", + "flatted": "^3.2.5", + "rfdc": "^1.3.0", + "streamroller": "^3.1.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, + "mingo": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mingo/-/mingo-1.3.3.tgz", + "integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY=" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "nano": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/nano/-/nano-6.4.4.tgz", + "integrity": "sha512-7sldMrZI1ZH8QE29PnzohxLfR67WNVzMKLa7EMl3x9Hr+0G+YpOUCq50qZ9G66APrjcb0Of2BTOZLNBCutZGag==", + "requires": { + "cloudant-follow": "~0.17.0", + "debug": "^2.2.0", + "errs": "^0.3.2", + "lodash.isempty": "^4.4.0", + "request": "^2.85.0" + } + }, + "nconf": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz", + "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==", + "requires": { + "async": "^3.0.0", + "ini": "^2.0.0", + "secure-keys": "^1.0.0", + "yargs": "^16.1.1" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "npm": { + "version": "6.14.17", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.17.tgz", + "integrity": "sha512-CxEDn1ydVRPDl4tHrlnq+WevYAhv4GF2AEHzJKQ4prZDZ96IS3Uo6t0Sy6O9kB6XzqkI+J00WfYCqqk0p6IJ1Q==", + "requires": { + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.8", + "bluebird": "^3.5.5", + "byte-size": "^5.0.1", + "cacache": "^12.0.3", + "call-limit": "^1.1.1", + "chownr": "^1.1.4", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "^3.0.3", + "columnify": "~1.5.4", + "config-chain": "^1.1.12", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.3.1", + "glob": "^7.1.6", + "graceful-fs": "^4.2.4", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.8.9", + "iferr": "^1.0.2", + "imurmurhash": "*", + "infer-owner": "^1.0.4", + "inflight": "~1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.8", + "init-package-json": "^1.10.3", + "is-cidr": "^3.0.0", + "json-parse-better-errors": "^1.0.2", + "JSONStream": "^1.3.5", + "lazy-property": "~1.0.0", + "libcipm": "^4.0.8", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "libnpx": "^10.2.4", + "lock-verify": "^2.1.0", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^5.1.1", + "meant": "^1.0.2", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.5", + "move-concurrently": "^1.0.1", + "node-gyp": "^5.1.0", + "nopt": "^4.0.3", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.3", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "^3.0.2", + "npm-lifecycle": "^3.1.5", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.8", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.4", + "npm-registry-fetch": "^4.0.7", + "npm-user-validate": "^1.0.1", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.2", + "osenv": "^0.1.5", + "pacote": "^9.5.12", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.8.2", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "^1.0.5", + "read-installed": "~4.0.3", + "read-package-json": "^2.1.1", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.6.0", + "readdir-scoped-modules": "^1.1.0", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "^2.7.1", + "safe-buffer": "^5.1.2", + "semver": "^5.7.1", + "sha": "^3.0.0", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.2", + "stringify-package": "^1.0.1", + "tar": "^4.4.19", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.3", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "agent-base": { + "version": "4.3.0", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "3.5.2", + "bundled": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "5.5.2", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "aproba": { + "version": "2.0.0", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "asap": { + "version": "2.0.6", + "bundled": true + }, + "asn1": { + "version": "0.2.4", + "bundled": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true + }, + "aws4": { + "version": "1.8.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bin-links": { + "version": "1.1.8", + "bundled": true, + "requires": { + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.3.0", + "graceful-fs": "^4.1.15", + "npm-normalize-package-bin": "^1.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "bluebird": { + "version": "3.5.5", + "bundled": true + }, + "boxen": { + "version": "1.3.0", + "bundled": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "builtins": { + "version": "1.0.3", + "bundled": true + }, + "byline": { + "version": "5.0.0", + "bundled": true + }, + "byte-size": { + "version": "5.0.1", + "bundled": true + }, + "cacache": { + "version": "12.0.3", + "bundled": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "call-limit": { + "version": "1.1.1", + "bundled": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.4", + "bundled": true + }, + "ci-info": { + "version": "2.0.0", + "bundled": true + }, + "cidr-regex": { + "version": "2.0.10", + "bundled": true, + "requires": { + "ip-regex": "^2.1.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "requires": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + } + }, + "cli-table3": { + "version": "0.5.1", + "bundled": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "bundled": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true + }, + "cmd-shim": { + "version": "3.0.3", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "co": { + "version": "4.6.0" + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "color-convert": { + "version": "1.9.1", + "bundled": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "bundled": true + }, + "colors": { + "version": "1.3.3", + "bundled": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "bundled": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.5", + "bundled": true, + "requires": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "copy-concurrently": { + "version": "1.0.5", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "bundled": true + } + } + }, + "crypto-random-string": { + "version": "1.0.0", + "bundled": true + }, + "cyclist": { + "version": "0.2.2", + "bundled": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "bundled": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true + }, + "detect-newline": { + "version": "2.1.0", + "bundled": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dot-prop": { + "version": "4.2.1", + "bundled": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "bundled": true + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true + }, + "duplexify": { + "version": "3.6.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editor": { + "version": "1.0.0", + "bundled": true + }, + "emoji-regex": { + "version": "7.0.3", + "bundled": true + }, + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "^1.4.0" + } + }, + "env-paths": { + "version": "2.2.0", + "bundled": true + }, + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "errno": { + "version": "0.1.7", + "bundled": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "bundled": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "bundled": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "bundled": true + }, + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true + } + } + }, + "extend": { + "version": "3.0.2", + "bundled": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true + }, + "fast-deep-equal": { + "version": "1.1.0" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true + }, + "figgy-pudding": { + "version": "3.5.1", + "bundled": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "requires": { + "minipass": "^2.6.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "function-bind": { + "version": "1.1.1", + "bundled": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "genfun": { + "version": "5.0.0", + "bundled": true + }, + "gentle-fs": { + "version": "2.3.1", + "bundled": true, + "requires": { + "aproba": "^1.1.2", + "chownr": "^1.1.2", + "cmd-shim": "^3.0.3", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "infer-owner": "^1.0.4", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "bundled": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "requires": { + "ini": "^1.3.4" + } + }, + "got": { + "version": "6.7.1", + "bundled": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "bundled": true + }, + "har-schema": { + "version": "2.0.0", + "bundled": true + }, + "har-validator": { + "version": "5.1.5", + "bundled": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "bundled": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "bundled": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "bundled": true + } + } + }, + "has": { + "version": "1.0.3", + "bundled": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true + }, + "has-symbols": { + "version": "1.0.0", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hosted-git-info": { + "version": "2.8.9", + "bundled": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "bundled": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "iferr": { + "version": "1.0.2", + "bundled": true + }, + "ignore-walk": { + "version": "3.0.3", + "bundled": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "infer-owner": { + "version": "1.0.4", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true + }, + "ini": { + "version": "1.3.8", + "bundled": true + }, + "init-package-json": { + "version": "1.10.3", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "ip": { + "version": "1.1.5", + "bundled": true + }, + "ip-regex": { + "version": "2.1.0", + "bundled": true + }, + "is-callable": { + "version": "1.1.4", + "bundled": true + }, + "is-ci": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ci-info": "^1.5.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "bundled": true + } + } + }, + "is-cidr": { + "version": "3.0.0", + "bundled": true, + "requires": { + "cidr-regex": "^2.0.10" + } + }, + "is-date-object": { + "version": "1.0.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true + }, + "is-obj": { + "version": "1.0.1", + "bundled": true + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true + }, + "is-regex": { + "version": "1.0.4", + "bundled": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "bundled": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "is-symbol": { + "version": "1.0.2", + "bundled": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true + }, + "json-schema": { + "version": "0.4.0", + "bundled": true + }, + "json-schema-traverse": { + "version": "0.3.1" + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "JSONStream": { + "version": "1.3.5", + "bundled": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "jsprim": { + "version": "1.4.2", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true + }, + "libcipm": { + "version": "4.0.8", + "bundled": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.1.0", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "libnpm": { + "version": "3.0.1", + "bundled": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.2", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npmlog": "^4.1.2", + "pacote": "^9.5.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "libnpmaccess": { + "version": "3.0.2", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmconfig": { + "version": "1.2.1", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.0", + "bundled": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "bundled": true + } + } + }, + "libnpmhook": { + "version": "5.0.3", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmorg": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmpublish": { + "version": "1.1.2", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "libnpmsearch": { + "version": "2.0.2", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmteam": { + "version": "1.0.2", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpx": { + "version": "10.2.4", + "bundled": true, + "requires": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^14.2.3" + } + }, + "lock-verify": { + "version": "2.1.0", + "bundled": true, + "requires": { + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + } + }, + "lockfile": { + "version": "1.0.4", + "bundled": true, + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash._createset": { + "version": "4.0.3", + "bundled": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true + }, + "lru-cache": { + "version": "5.1.1", + "bundled": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "requires": { + "pify": "^3.0.0" + } + }, + "make-fetch-happen": { + "version": "5.0.2", + "bundled": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "meant": { + "version": "1.0.2", + "bundled": true + }, + "mime-db": { + "version": "1.35.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.19", + "bundled": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "bundled": true + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "requires": { + "minipass": "^2.9.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "mississippi": { + "version": "3.0.0", + "bundled": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "bundled": true, + "requires": { + "minimist": "^1.2.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.6", + "bundled": true + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + } + } + }, + "ms": { + "version": "2.1.1", + "bundled": true + }, + "mute-stream": { + "version": "0.0.7", + "bundled": true + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-gyp": { + "version": "5.1.0", + "bundled": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + } + }, + "nopt": { + "version": "4.0.3", + "bundled": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "bundled": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.10.0", + "bundled": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "npm-audit-report": { + "version": "1.3.3", + "bundled": true, + "requires": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true + }, + "npm-install-checks": { + "version": "3.0.2", + "bundled": true, + "requires": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "npm-lifecycle": { + "version": "3.1.5", + "bundled": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "npm-logical-tree": { + "version": "1.2.1", + "bundled": true + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true + }, + "npm-package-arg": { + "version": "6.1.1", + "bundled": true, + "requires": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "1.4.8", + "bundled": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "3.0.2", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "npm-profile": { + "version": "4.0.4", + "bundled": true, + "requires": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^4.0.0" + } + }, + "npm-registry-fetch": { + "version": "4.0.7", + "bundled": true, + "requires": { + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "JSONStream": "^1.3.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "bundled": true + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-user-validate": { + "version": "1.0.1", + "bundled": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.9.0", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "object-keys": { + "version": "1.0.12", + "bundled": true + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "bundled": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.2", + "bundled": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true + }, + "package-json": { + "version": "4.0.1", + "bundled": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pacote": { + "version": "9.5.12", + "bundled": true, + "requires": { + "bluebird": "^3.5.3", + "cacache": "^12.0.2", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-normalize-package-bin": "^1.0.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true + }, + "path-parse": { + "version": "1.0.7", + "bundled": true + }, + "performance-now": { + "version": "2.1.0", + "bundled": true + }, + "pify": { + "version": "3.0.0", + "bundled": true + }, + "prepend-http": { + "version": "1.0.4", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "dependencies": { + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1" + } + }, + "proto-list": { + "version": "1.2.4", + "bundled": true + }, + "protoduck": { + "version": "5.0.1", + "bundled": true, + "requires": { + "genfun": "^5.0.0" + } + }, + "prr": { + "version": "1.0.1", + "bundled": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "psl": { + "version": "1.1.29", + "bundled": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "bundled": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true + }, + "qs": { + "version": "6.5.2", + "bundled": true + }, + "query-string": { + "version": "6.8.2", + "bundled": true, + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "qw": { + "version": "1.0.1", + "bundled": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "1.0.5", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + } + }, + "read-package-json": { + "version": "2.1.1", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.3.1", + "bundled": true, + "requires": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "bundled": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "bundled": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "requires": { + "rc": "^1.0.1" + } + }, + "request": { + "version": "2.88.0", + "bundled": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true + }, + "require-main-filename": { + "version": "2.0.0", + "bundled": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true + }, + "retry": { + "version": "0.12.0", + "bundled": true + }, + "rimraf": { + "version": "2.7.1", + "bundled": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "requires": { + "aproba": "^1.1.1" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true + }, + "semver": { + "version": "5.7.1", + "bundled": true + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "requires": { + "semver": "^5.0.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "sha": { + "version": "3.0.0", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "smart-buffer": { + "version": "4.1.0", + "bundled": true + }, + "socks": { + "version": "2.3.3", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "bundled": true, + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "sorted-object": { + "version": "2.0.1", + "bundled": true + }, + "sorted-union-stream": { + "version": "2.1.3", + "bundled": true, + "requires": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + }, + "dependencies": { + "from2": { + "version": "1.3.0", + "bundled": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "readable-stream": { + "version": "1.1.14", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "bundled": true + }, + "split-on-first": { + "version": "1.1.0", + "bundled": true + }, + "sshpk": { + "version": "1.14.2", + "bundled": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "bundled": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "bundled": true + }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "bundled": true + } + } + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "stringify-package": { + "version": "1.0.1", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "supports-color": { + "version": "5.4.0", + "bundled": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "4.4.19", + "bundled": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "bundled": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true + } + } + }, + "term-size": { + "version": "1.2.0", + "bundled": true, + "requires": { + "execa": "^0.7.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timed-out": { + "version": "4.0.1", + "bundled": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true + }, + "tough-cookie": { + "version": "2.4.3", + "bundled": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "umask": { + "version": "1.1.0", + "bundled": true + }, + "unique-filename": { + "version": "1.1.1", + "bundled": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true + }, + "update-notifier": { + "version": "2.5.0", + "bundled": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "uri-js": { + "version": "4.4.0", + "bundled": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "bundled": true + } + } + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "util-extend": { + "version": "1.0.3", + "bundled": true + }, + "util-promisify": { + "version": "2.1.0", + "bundled": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.3.3", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "^1.0.2" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "widest-line": { + "version": "2.0.1", + "bundled": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "bundled": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "bundled": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "2.4.3", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true + }, + "y18n": { + "version": "4.0.1", + "bundled": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true + }, + "yargs": { + "version": "14.2.3", + "bundled": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "bundled": true + }, + "find-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "bundled": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "bundled": true + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "15.0.1", + "bundled": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "bundled": true + } + } + } + } + }, + "npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" + }, + "pkcs11js": { + "version": "1.0.21", + "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.0.21.tgz", + "integrity": "sha512-U+UUXbVqdL3q95zNqi8aGbAg6KcyVkKocKR4QicvoEEO9NVW2podLkaq5hhxLGUi+OOJSL5VBNbUE2EatbeITw==", + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "promise-settle": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-settle/-/promise-settle-0.3.0.tgz", + "integrity": "sha1-tO/VcqHrdM95T4KM00naQKCOTpY=" + }, + "protobufjs": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", + "requires": { + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + } + } + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "save": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/save/-/save-2.5.0.tgz", + "integrity": "sha512-xiVLpKVbx8EmW0HDkNRjYL271OnIRCo8VGWAEq6/K+E0dgNrwKV2xvKXdfPj6HGYA6l760800LyewSY3ooljCg==", + "requires": { + "async": "^3.2.2", + "event-stream": "^4.0.1", + "lodash.assign": "^4.2.0", + "mingo": "1" + } + }, + "secure-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", + "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "sjcl": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.7.tgz", + "integrity": "sha1-MrNlpQ3Ju6JriLo8nfjqNCF9n0U=" + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "streamroller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz", + "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==", + "requires": { + "date-format": "^4.0.10", + "debug": "^4.3.4", + "fs-extra": "^10.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + }, + "winston": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", + "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", + "requires": { + "async": "^3.2.3", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-4.0.0.tgz", + "integrity": "sha512-huWiiCS4TxKc4SfgmTwW1K7JmXPPAmuXWYy4j9qjQo4+27Kni8mGhAAi1cloRWmBe2EqcLgt3IGqQoRL/MtPgg==" + } + } +} diff --git a/api-2.0/package.json b/api-2.0/package.json index a3ca735..b576b8b 100644 --- a/api-2.0/package.json +++ b/api-2.0/package.json @@ -14,10 +14,10 @@ "cors": "^2.8.5", "express": "^4.17.1", "express-bearer-token": "^2.4.0", - "express-jwt": "^5.3.0", + "express-jwt": "^7.7.2", "fabric-ca-client": "^2.1.0", "fabric-client": "^1.4.8", - "fabric-common": "2.2.3", + "fabric-common": "^2.2.12", "fabric-network": "^2.1.0", "http": "0.0.1-security", "js-yaml": "^3.13.1", diff --git a/artifacts/channel/FirmMSPanchors.tx b/artifacts/channel/FirmMSPanchors.tx new file mode 100644 index 0000000000000000000000000000000000000000..d747037736774a5de7062031a9e0b9ef9b5835a5 GIT binary patch literal 313 zcmd6GgCCb4h#l~@a(xoYEN}Rcs$r*`xd8s)|sY-t7xz%7z82dd6X&d4tc wNCg?8Atc8o!zEq-O!(y(p+K%K#qZ4dVZN+VsUY5Nn&Y9hF)2oz->1vs1205PYY@e0IIW5`2YX_ literal 0 HcmV?d00001 diff --git a/artifacts/channel/configtx.yaml b/artifacts/channel/configtx.yaml index 4649cf8..525e834 100755 --- a/artifacts/channel/configtx.yaml +++ b/artifacts/channel/configtx.yaml @@ -19,7 +19,7 @@ Organizations: ID: OrdererMSP # MSPDir is the filesystem path which contains the MSP configuration - MSPDir: crypto-config/ordererOrganizations/example.com/msp + MSPDir: crypto-config/ordererOrganizations/assetauth.vn/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually @@ -38,12 +38,12 @@ Organizations: - &Org1 # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment - Name: Org1MSP + Name: FirmMSP # ID to load the MSP definition as - ID: Org1MSP + ID: FirmMSP - MSPDir: crypto-config/peerOrganizations/org1.example.com/msp + MSPDir: crypto-config/peerOrganizations/firm.assetauth.vn/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually @@ -51,34 +51,34 @@ Organizations: Policies: Readers: Type: Signature - Rule: "OR('Org1MSP.admin', 'Org1MSP.peer', 'Org1MSP.client')" + Rule: "OR('FirmMSP.admin', 'FirmMSP.peer', 'FirmMSP.client')" Writers: Type: Signature - Rule: "OR('Org1MSP.admin', 'Org1MSP.client')" + Rule: "OR('FirmMSP.admin', 'FirmMSP.client')" Admins: Type: Signature - Rule: "OR('Org1MSP.admin')" + Rule: "OR('FirmMSP.admin')" Endorsement: Type: Signature - Rule: "OR('Org1MSP.peer')" + Rule: "OR('FirmMSP.peer')" # leave this flag set to true. AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - - Host: peer0.org1.example.com + - Host: peer0.firm.assetauth.vn Port: 7051 - &Org2 # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment - Name: Org2MSP + Name: GovMSP # ID to load the MSP definition as - ID: Org2MSP + ID: GovMSP - MSPDir: crypto-config/peerOrganizations/org2.example.com/msp + MSPDir: crypto-config/peerOrganizations/gov.assetauth.vn/msp # Policies defines the set of policies at this level of the config tree # For organization policies, their canonical path is usually @@ -86,22 +86,22 @@ Organizations: Policies: Readers: Type: Signature - Rule: "OR('Org2MSP.admin', 'Org2MSP.peer', 'Org2MSP.client')" + Rule: "OR('GovMSP.admin', 'GovMSP.peer', 'GovMSP.client')" Writers: Type: Signature - Rule: "OR('Org2MSP.admin', 'Org2MSP.client')" + Rule: "OR('GovMSP.admin', 'GovMSP.client')" Admins: Type: Signature - Rule: "OR('Org2MSP.admin')" + Rule: "OR('GovMSP.admin')" Endorsement: Type: Signature - Rule: "OR('Org2MSP.peer')" + Rule: "OR('GovMSP.peer')" AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - - Host: peer0.org2.example.com + - Host: peer0.gov.assetauth.vn Port: 9051 ################################################################################ @@ -211,13 +211,13 @@ Orderer: &OrdererDefaults EtcdRaft: Consenters: - - Host: orderer.example.com + - Host: orderer.assetauth.vn Port: 7050 - ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt - ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt + ClientTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/tls/server.crt + ServerTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/tls/server.crt Addresses: - - orderer.example.com:7050 + - orderer.assetauth.vn:7050 # Batch Timeout: The amount of time to wait before creating a batch BatchTimeout: 2s @@ -322,32 +322,32 @@ Profiles: OrdererType: etcdraft EtcdRaft: Consenters: - - Host: orderer.example.com + - Host: orderer.assetauth.vn Port: 7050 - ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt - ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt - - Host: orderer2.example.com - Port: 8050 - ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt - ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt - - Host: orderer3.example.com - Port: 9050 - ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt - ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt - # - Host: orderer4.example.com + ClientTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/tls/server.crt + ServerTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/tls/server.crt + # - Host: orderer2.assetauth.vn + # Port: 8050 + # ClientTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer2.assetauth.vn/tls/server.crt + # ServerTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer2.assetauth.vn/tls/server.crt + # - Host: orderer3.assetauth.vn + # Port: 9050 + # ClientTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer3.assetauth.vn/tls/server.crt + # ServerTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer3.assetauth.vn/tls/server.crt + # - Host: orderer4.assetauth.vn # Port: 10050 - # ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.crt - # ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.crt - # - Host: orderer5.example.com + # ClientTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer4.assetauth.vn/tls/server.crt + # ServerTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer4.assetauth.vn/tls/server.crt + # - Host: orderer5.assetauth.vn # Port: 11050 - # ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/server.crt - # ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/server.crt + # ClientTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer5.assetauth.vn/tls/server.crt + # ServerTLSCert: crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer5.assetauth.vn/tls/server.crt Addresses: - - orderer.example.com:7050 - - orderer2.example.com:8050 - - orderer3.example.com:9050 - # - orderer4.example.com:10050 - # - orderer5.example.com:11050 + - orderer.assetauth.vn:7050 + # - orderer2.assetauth.vn:8050 + # - orderer3.assetauth.vn:9050 + # - orderer4.assetauth.vn:10050 + # - orderer5.assetauth.vn:11050 Organizations: - *OrdererOrg diff --git a/artifacts/channel/create-artifacts.sh b/artifacts/channel/create-artifacts.sh index 4456f3c..6f70f8f 100755 --- a/artifacts/channel/create-artifacts.sh +++ b/artifacts/channel/create-artifacts.sh @@ -25,8 +25,8 @@ configtxgen -profile OrdererGenesis -configPath . -channelID $SYS_CHANNEL -outp # Generate channel configuration block configtxgen -profile BasicChannel -configPath . -outputCreateChannelTx ./mychannel.tx -channelID $CHANNEL_NAME -echo "####### Generating anchor peer update for Org1MSP ##########" -configtxgen -profile BasicChannel -configPath . -outputAnchorPeersUpdate ./Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP +echo "####### Generating anchor peer update for FirmMSP ##########" +configtxgen -profile BasicChannel -configPath . -outputAnchorPeersUpdate ./FirmMSPanchors.tx -channelID $CHANNEL_NAME -asOrg FirmMSP -echo "####### Generating anchor peer update for Org2MSP ##########" -configtxgen -profile BasicChannel -configPath . -outputAnchorPeersUpdate ./Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP \ No newline at end of file +echo "####### Generating anchor peer update for GovMSP ##########" +configtxgen -profile BasicChannel -configPath . -outputAnchorPeersUpdate ./GovMSPanchors.tx -channelID $CHANNEL_NAME -asOrg GovMSP \ No newline at end of file diff --git a/artifacts/channel/crypto-config.yaml b/artifacts/channel/crypto-config.yaml index aaf6a2c..8baead5 100755 --- a/artifacts/channel/crypto-config.yaml +++ b/artifacts/channel/crypto-config.yaml @@ -4,7 +4,7 @@ OrdererOrgs: # Orderer # --------------------------------------------------------------------------- - Name: Orderer - Domain: example.com + Domain: assetauth.vn EnableNodeOUs: true # --------------------------------------------------------------------------- @@ -12,17 +12,17 @@ OrdererOrgs: # --------------------------------------------------------------------------- Specs: - Hostname: orderer - SANS: - - "localhost" - - "127.0.0.1" - - Hostname: orderer2 - SANS: - - "localhost" - - "127.0.0.1" - - Hostname: orderer3 - SANS: - - "localhost" - - "127.0.0.1" + # SANS: + # - "localhost" + # - "127.0.0.1" + # - Hostname: orderer2 + # SANS: + # - "localhost" + # - "127.0.0.1" + # - Hostname: orderer3 + # SANS: + # - "localhost" + # - "127.0.0.1" # --------------------------------------------------------------------------- # "PeerOrgs" - Definition of organizations managing peer nodes @@ -31,8 +31,8 @@ PeerOrgs: # --------------------------------------------------------------------------- # Org1 # --------------------------------------------------------------------------- - - Name: Org1 - Domain: org1.example.com + - Name: gov + Domain: gov.assetauth.vn EnableNodeOUs: true Template: @@ -45,8 +45,8 @@ PeerOrgs: Users: Count: 1 - - Name: Org2 - Domain: org2.example.com + - Name: firm + Domain: firm.assetauth.vn EnableNodeOUs: true Template: diff --git a/artifacts/docker-compose.yaml b/artifacts/docker-compose.yaml index f13e621..f72e327 100755 --- a/artifacts/docker-compose.yaml +++ b/artifacts/docker-compose.yaml @@ -8,46 +8,48 @@ services: image: hyperledger/fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - - FABRIC_CA_SERVER_CA_NAME=ca.org1.example.com - - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem + - FABRIC_CA_SERVER_CA_NAME=ca.firm.assetauth.vn + - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.firm.assetauth.vn-cert.pem - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/priv_sk - FABRIC_CA_SERVER_TLS_ENABLED=true - - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-tls/tlsca.org1.example.com-cert.pem + - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-tls/tlsca.firm.assetauth.vn-cert.pem - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-tls/priv_sk ports: - "7054:7054" command: sh -c 'fabric-ca-server start -b admin:adminpw -d' volumes: - - ./channel/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config - - ./channel/crypto-config/peerOrganizations/org1.example.com/tlsca/:/etc/hyperledger/fabric-ca-server-tls - container_name: ca.org1.example.com - hostname: ca.org1.example.com + - ./channel/crypto-config/peerOrganizations/firm.assetauth.vn/ca/:/etc/hyperledger/fabric-ca-server-config + - ./channel/crypto-config/peerOrganizations/firm.assetauth.vn/tlsca/:/etc/hyperledger/fabric-ca-server-tls + container_name: ca.firm.assetauth.vn + hostname: ca.firm.assetauth.vn networks: - test + ca-org2: image: hyperledger/fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - - FABRIC_CA_SERVER_CA_NAME=ca.org2.example.com - - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem + - FABRIC_CA_SERVER_CA_NAME=ca.gov.assetauth.vn + - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.gov.assetauth.vn-cert.pem - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/priv_sk - FABRIC_CA_SERVER_TLS_ENABLED=true - - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-tls/tlsca.org2.example.com-cert.pem + - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-tls/tlsca.gov.assetauth.vn-cert.pem - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-tls/priv_sk ports: - "8054:7054" command: sh -c 'fabric-ca-server start -b admin:adminpw -d' volumes: - - ./channel/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config - - ./channel/crypto-config/peerOrganizations/org2.example.com/tlsca/:/etc/hyperledger/fabric-ca-server-tls - container_name: ca.org2.example.com - hostname: ca.org2.example.com + - ./channel/crypto-config/peerOrganizations/gov.assetauth.vn/ca/:/etc/hyperledger/fabric-ca-server-config + - ./channel/crypto-config/peerOrganizations/gov.assetauth.vn/tlsca/:/etc/hyperledger/fabric-ca-server-tls + container_name: ca.gov.assetauth.vn + hostname: ca.gov.assetauth.vn networks: - test - orderer.example.com: - container_name: orderer.example.com + + orderer.assetauth.vn: + container_name: orderer.assetauth.vn image: hyperledger/fabric-orderer:2.1 dns_search: . environment: @@ -78,78 +80,78 @@ services: - test volumes: - ./channel/genesis.block:/var/hyperledger/orderer/genesis.block - - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp - - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls:/var/hyperledger/orderer/tls + - ./channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/msp:/var/hyperledger/orderer/msp + - ./channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/tls:/var/hyperledger/orderer/tls - orderer2.example.com: - container_name: orderer2.example.com - image: hyperledger/fabric-orderer:2.1 - dns_search: . - environment: - - ORDERER_GENERAL_LOGLEVEL=info - - FABRIC_LOGGING_SPEC=info - - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - - ORDERER_GENERAL_GENESISMETHOD=file - - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block - - ORDERER_GENERAL_LOCALMSPID=OrdererMSP - - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp - - ORDERER_GENERAL_TLS_ENABLED=true - - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key - - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt - - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - - ORDERER_KAFKA_VERBOSE=true - - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt - - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key - - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - - ORDERER_METRICS_PROVIDER=prometheus - - ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 - - ORDERER_GENERAL_LISTENPORT=8050 - working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderers - command: orderer - ports: - - 8050:8050 - - 8444:8443 - networks: - - test - volumes: - - ./channel/genesis.block:/var/hyperledger/orderer/orderer.genesis.block - - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp:/var/hyperledger/orderer/msp - - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls:/var/hyperledger/orderer/tls + # orderer2.assetauth.vn: + # container_name: orderer2.assetauth.vn + # image: hyperledger/fabric-orderer:2.1 + # dns_search: . + # environment: + # - ORDERER_GENERAL_LOGLEVEL=info + # - FABRIC_LOGGING_SPEC=info + # - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 + # - ORDERER_GENERAL_GENESISMETHOD=file + # - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block + # - ORDERER_GENERAL_LOCALMSPID=OrdererMSP + # - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp + # - ORDERER_GENERAL_TLS_ENABLED=true + # - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key + # - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt + # - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] + # - ORDERER_KAFKA_VERBOSE=true + # - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt + # - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key + # - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] + # - ORDERER_METRICS_PROVIDER=prometheus + # - ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 + # - ORDERER_GENERAL_LISTENPORT=8050 + # working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderers + # command: orderer + # ports: + # - 8050:8050 + # - 8444:8443 + # networks: + # - test + # volumes: + # - ./channel/genesis.block:/var/hyperledger/orderer/orderer.genesis.block + # - ./channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer2.assetauth.vn/msp:/var/hyperledger/orderer/msp + # - ./channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer2.assetauth.vn/tls:/var/hyperledger/orderer/tls - orderer3.example.com: - container_name: orderer3.example.com - image: hyperledger/fabric-orderer:2.1 - dns_search: . - environment: - - ORDERER_GENERAL_LOGLEVEL=info - - FABRIC_LOGGING_SPEC=info - - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - - ORDERER_GENERAL_GENESISMETHOD=file - - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block - - ORDERER_GENERAL_LOCALMSPID=OrdererMSP - - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp - - ORDERER_GENERAL_TLS_ENABLED=true - - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key - - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt - - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - - ORDERER_KAFKA_VERBOSE=true - - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt - - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key - - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - - ORDERER_METRICS_PROVIDER=prometheus - - ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 - - ORDERER_GENERAL_LISTENPORT=9050 - working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderers - command: orderer - ports: - - 9050:9050 - - 8445:8443 - networks: - - test - volumes: - - ./channel/genesis.block:/var/hyperledger/orderer/orderer.genesis.block - - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp:/var/hyperledger/orderer/msp - - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls:/var/hyperledger/orderer/tls + # orderer3.assetauth.vn: + # container_name: orderer3.assetauth.vn + # image: hyperledger/fabric-orderer:2.1 + # dns_search: . + # environment: + # - ORDERER_GENERAL_LOGLEVEL=info + # - FABRIC_LOGGING_SPEC=info + # - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 + # - ORDERER_GENERAL_GENESISMETHOD=file + # - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block + # - ORDERER_GENERAL_LOCALMSPID=OrdererMSP + # - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp + # - ORDERER_GENERAL_TLS_ENABLED=true + # - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key + # - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt + # - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] + # - ORDERER_KAFKA_VERBOSE=true + # - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt + # - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key + # - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] + # - ORDERER_METRICS_PROVIDER=prometheus + # - ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 + # - ORDERER_GENERAL_LISTENPORT=9050 + # working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderers + # command: orderer + # ports: + # - 9050:9050 + # - 8445:8443 + # networks: + # - test + # volumes: + # - ./channel/genesis.block:/var/hyperledger/orderer/orderer.genesis.block + # - ./channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer3.assetauth.vn/msp:/var/hyperledger/orderer/msp + # - ./channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer3.assetauth.vn/tls:/var/hyperledger/orderer/tls couchdb0: container_name: couchdb0 @@ -195,27 +197,27 @@ services: networks: - test - peer0.org1.example.com: - container_name: peer0.org1.example.com + peer0.firm.assetauth.vn: + container_name: peer0.firm.assetauth.vn extends: file: base.yaml service: peer-base environment: - FABRIC_LOGGING_SPEC=info - ORDERER_GENERAL_LOGLEVEL=info - - CORE_PEER_LOCALMSPID=Org1MSP + - CORE_PEER_LOCALMSPID=FirmMSP - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=artifacts_test - - CORE_PEER_ID=peer0.org1.example.com - - CORE_PEER_ADDRESS=peer0.org1.example.com:7051 + - CORE_PEER_ID=peer0.firm.assetauth.vn + - CORE_PEER_ADDRESS=peer0.firm.assetauth.vn:7051 - CORE_PEER_LISTENADDRESS=0.0.0.0:7051 - - CORE_PEER_CHAINCODEADDRESS=peer0.org1.example.com:7052 + - CORE_PEER_CHAINCODEADDRESS=peer0.firm.assetauth.vn:7052 - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 # Peer used to bootstrap gossip within organisation - - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org1.example.com:8051 + - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.firm.assetauth.vn:8051 # Exposed for discovery Service - - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051 + - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.firm.assetauth.vn:7051 # - CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:9440 @@ -234,33 +236,33 @@ services: ports: - 7051:7051 volumes: - - ./channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/crypto/peer/msp - - ./channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/crypto/peer/tls + - ./channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer0.firm.assetauth.vn/msp:/etc/hyperledger/crypto/peer/msp + - ./channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer0.firm.assetauth.vn/tls:/etc/hyperledger/crypto/peer/tls - /var/run/:/host/var/run/ - ./channel/:/etc/hyperledger/channel/ networks: - test - peer1.org1.example.com: - container_name: peer1.org1.example.com + peer1.firm.assetauth.vn: + container_name: peer1.firm.assetauth.vn extends: file: base.yaml service: peer-base environment: - FABRIC_LOGGING_SPEC=info - ORDERER_GENERAL_LOGLEVEL=info - - CORE_PEER_LOCALMSPID=Org1MSP + - CORE_PEER_LOCALMSPID=FirmMSP - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=artifacts_test - - CORE_PEER_ID=peer1.org1.example.com - - CORE_PEER_ADDRESS=peer1.org1.example.com:8051 + - CORE_PEER_ID=peer1.firm.assetauth.vn + - CORE_PEER_ADDRESS=peer1.firm.assetauth.vn:8051 - CORE_PEER_LISTENADDRESS=0.0.0.0:8051 - - CORE_PEER_CHAINCODEADDRESS=peer1.org1.example.com:8052 + - CORE_PEER_CHAINCODEADDRESS=peer1.firm.assetauth.vn:8052 - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:8052 # Exposed for discovery Service - - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:8051 - - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 + - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.firm.assetauth.vn:8051 + - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.firm.assetauth.vn:7051 - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984 @@ -276,33 +278,33 @@ services: ports: - 8051:8051 volumes: - - ./channel/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/crypto/peer/msp - - ./channel/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/crypto/peer/tls + - ./channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer1.firm.assetauth.vn/msp:/etc/hyperledger/crypto/peer/msp + - ./channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer1.firm.assetauth.vn/tls:/etc/hyperledger/crypto/peer/tls - /var/run/:/host/var/run/ - ./channel/:/etc/hyperledger/channel/ networks: - test - peer0.org2.example.com: - container_name: peer0.org2.example.com + peer0.gov.assetauth.vn: + container_name: peer0.gov.assetauth.vn extends: file: base.yaml service: peer-base environment: - FABRIC_LOGGING_SPEC=info - ORDERER_GENERAL_LOGLEVEL=info - - CORE_PEER_LOCALMSPID=Org2MSP + - CORE_PEER_LOCALMSPID=GovMSP - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=artifacts_test - - CORE_PEER_ID=peer0.org2.example.com - - CORE_PEER_ADDRESS=peer0.org2.example.com:9051 + - CORE_PEER_ID=peer0.gov.assetauth.vn + - CORE_PEER_ADDRESS=peer0.gov.assetauth.vn:9051 - CORE_PEER_LISTENADDRESS=0.0.0.0:9051 - - CORE_PEER_CHAINCODEADDRESS=peer0.org2.example.com:9052 + - CORE_PEER_CHAINCODEADDRESS=peer0.gov.assetauth.vn:9052 - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:9052 # Exposed for discovery Service - - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:9051 - - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:10051 + - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.gov.assetauth.vn:9051 + - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.gov.assetauth.vn:10051 - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5984 @@ -318,33 +320,33 @@ services: ports: - 9051:9051 volumes: - - ./channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/crypto/peer/msp - - ./channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/crypto/peer/tls + - ./channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer0.gov.assetauth.vn/msp:/etc/hyperledger/crypto/peer/msp + - ./channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer0.gov.assetauth.vn/tls:/etc/hyperledger/crypto/peer/tls - /var/run/:/host/var/run/ - ./channel/:/etc/hyperledger/channel/ networks: - test - peer1.org2.example.com: - container_name: peer1.org2.example.com + peer1.gov.assetauth.vn: + container_name: peer1.gov.assetauth.vn extends: file: base.yaml service: peer-base environment: - FABRIC_LOGGING_SPEC=info - ORDERER_GENERAL_LOGLEVEL=info - - CORE_PEER_LOCALMSPID=Org2MSP + - CORE_PEER_LOCALMSPID=GovMSP - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=artifacts_test - - CORE_PEER_ID=peer1.org2.example.com - - CORE_PEER_ADDRESS=peer1.org2.example.com:10051 + - CORE_PEER_ID=peer1.gov.assetauth.vn + - CORE_PEER_ADDRESS=peer1.gov.assetauth.vn:10051 - CORE_PEER_LISTENADDRESS=0.0.0.0:10051 - - CORE_PEER_CHAINCODEADDRESS=peer1.org2.example.com:10052 + - CORE_PEER_CHAINCODEADDRESS=peer1.gov.assetauth.vn:10052 - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:10052 # Exposed for discovery Service - - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:10051 - - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:9051 + - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.gov.assetauth.vn:10051 + - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.gov.assetauth.vn:9051 - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb3:5984 @@ -360,8 +362,8 @@ services: ports: - 10051:10051 volumes: - - ./channel/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/crypto/peer/msp - - ./channel/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/crypto/peer/tls + - ./channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer1.gov.assetauth.vn/msp:/etc/hyperledger/crypto/peer/msp + - ./channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer1.gov.assetauth.vn/tls:/etc/hyperledger/crypto/peer/tls - /var/run/:/host/var/run/ - ./channel/:/etc/hyperledger/channel/ networks: diff --git a/artifacts/src/github.com/asset_contract_api/go/assetauth.go b/artifacts/src/github.com/asset_contract_api/go/assetauth.go new file mode 100644 index 0000000..56dd33d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/assetauth.go @@ -0,0 +1,184 @@ +package main + +import ( + "encoding/json" + "fmt" + "strconv" + "time" + + "github.com/hyperledger/fabric-contract-api-go/contractapi" +) + +type SmartContract struct { + contractapi.Contract +} + +type Asset struct { + Manufacturer string `json:"manufacturer"` + Name string `json:"name"` + SerialNumber string `json:"serialnumber"` + OwnerID string `json:"ownerid"` + OwnerName string `json:"ownername"` + RegisterDate string `json:"registerdate"` + LastUpdateDate string `json:"lastupdatedate"` + IsDelete bool `json:"isdelete"` +} + +type QueryResult struct { + Key string `json:"Key"` + Record *Asset +} + +func (s *SmartContract) InitLedger(ctx contractapi.TransactionContextInterface) error { + assets := []Asset{ + Asset{Manufacturer: "Toyota", Name: "Toyota Prius", SerialNumber: "TE_0000", OwnerID: "00", OwnerName: "Tien", RegisterDate: "2022-01-02", LastUpdateDate: "2022-03-06", IsDelete: false}, + Asset{Manufacturer: "Toyota", Name: "Toyota Madza", SerialNumber: "TE_1000", OwnerID: "01", OwnerName: "Thang", RegisterDate: "2022-01-02", LastUpdateDate: "2022-03-06", IsDelete: false}, + } + + for i, asset := range assets { + assetAsBytes, _ := json.Marshal(asset) + err := ctx.GetStub().PutState("ASSET"+strconv.Itoa(i), assetAsBytes) + + if err != nil { + return fmt.Errorf("Failed to put to world state. %s", err.Error()) + } + } + + return nil +} + +func (s *SmartContract) CreateAsset(ctx contractapi.TransactionContextInterface, assetNumber string, manufacturer string, name string, serialNumber string, ownerID string, ownerName string) error { + + asset := Asset{ + Manufacturer: manufacturer, + Name: name, + SerialNumber: serialNumber, + OwnerID: ownerID, + OwnerName: ownerName, + } + + txntmsp, errN := ctx.GetStub().GetTxTimestamp() + _ = errN + time1 := time.Unix(txntmsp.Seconds, int64(txntmsp.Nanos)).String() + + asset.LastUpdateDate = time1 + + asset.RegisterDate = time1 + + asset.IsDelete = false + + assetAsBytes, _ := json.Marshal(asset) + + return ctx.GetStub().PutState(assetNumber, assetAsBytes) +} + +func (s *SmartContract) QueryAsset(ctx contractapi.TransactionContextInterface, assetNumber string) (*Asset, error) { + assetAsBytes, err := ctx.GetStub().GetState(assetNumber) + + if err != nil { + return nil, fmt.Errorf("Failed to read from world state. %s", err.Error()) + } + + if assetAsBytes == nil { + return nil, fmt.Errorf("%s does not exist", assetNumber) + } + + asset := new(Asset) + _ = json.Unmarshal(assetAsBytes, asset) + + return asset, nil +} + +func (s *SmartContract) DeleteAsset(ctx contractapi.TransactionContextInterface, assetNumber string) error { + asset, err := s.QueryAsset(ctx, assetNumber) + + if err != nil { + return err + } + + if asset.IsDelete == true { + return fmt.Errorf("The designated asset has been deleted since %s", asset.LastUpdateDate) + } + + txntmsp, errN := ctx.GetStub().GetTxTimestamp() + _ = errN + time1 := time.Unix(txntmsp.Seconds, int64(txntmsp.Nanos)).String() + + asset.IsDelete = true + + asset.LastUpdateDate = time1 + + assetAsBytes, _ := json.Marshal(asset) + + return ctx.GetStub().PutState(assetNumber, assetAsBytes) +} + +func (s *SmartContract) ChangeAssetOwner(ctx contractapi.TransactionContextInterface, assetNumber string, newOwnerId string, newOwnerName string) error { + asset, err := s.QueryAsset(ctx, assetNumber) + + if err != nil { + return err + } + + if asset.IsDelete == true { + return fmt.Errorf("The designated asset has been deleted since %s", asset.LastUpdateDate) + } + + txntmsp, errN := ctx.GetStub().GetTxTimestamp() + _ = errN + time1 := time.Unix(txntmsp.Seconds, int64(txntmsp.Nanos)).String() + + asset.OwnerID = newOwnerId + + asset.OwnerName = newOwnerName + + asset.LastUpdateDate = time1 + + assetAsBytes, _ := json.Marshal(asset) + + return ctx.GetStub().PutState(assetNumber, assetAsBytes) +} + +func (s *SmartContract) QueryAllAsset(ctx contractapi.TransactionContextInterface) ([]QueryResult, error) { + startKey := "" + endKey := "" + + resultsIterator, err := ctx.GetStub().GetStateByRange(startKey, endKey) + + if err != nil { + return nil, err + } + defer resultsIterator.Close() + + results := []QueryResult{} + + for resultsIterator.HasNext() { + queryResponse, err := resultsIterator.Next() + + if err != nil { + return nil, err + } + + asset := new(Asset) + _ = json.Unmarshal(queryResponse.Value, asset) + + queryResult := QueryResult{Key: queryResponse.Key, Record: asset} + results = append(results, queryResult) + } + + return results, nil +} + +func main() { + + chaincode, err := contractapi.NewChaincode(new(SmartContract)) + + if err != nil { + fmt.Printf("Error create asset chaincode: %s", err.Error()) + return + } + + if err := chaincode.Start(); err != nil { + fmt.Printf("Error starting asset chaincode: %s", err.Error()) + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/go.mod b/artifacts/src/github.com/asset_contract_api/go/go.mod new file mode 100644 index 0000000..dbb85eb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/go.mod @@ -0,0 +1,5 @@ +module github.com/asset_contract_api/go + +go 1.13 + +require github.com/hyperledger/fabric-contract-api-go v1.0.0 diff --git a/artifacts/src/github.com/asset_contract_api/go/go.sum b/artifacts/src/github.com/asset_contract_api/go/go.sum new file mode 100644 index 0000000..e2949e9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/go.sum @@ -0,0 +1,143 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/DATA-DOG/godog v0.7.13/go.mod h1:z2OZ6a3X0/YAKVqLfVzYBwFt3j6uSt3Xrqa7XTtcQE0= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/spec v0.19.4 h1:ixzUSnHTd6hCemgtAJgluaTSGYpLNpJY4mA2DIkdOAo= +github.com/go-openapi/spec v0.19.4/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/gobuffalo/envy v1.7.0 h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= +github.com/gobuffalo/packd v0.3.0 h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4= +github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= +github.com/gobuffalo/packr v1.30.1 h1:hu1fuVR3fXEZR7rXNW3h8rqSML8EVAf6KNm0NKO/wKg= +github.com/gobuffalo/packr v1.30.1/go.mod h1:ljMyFO2EcrnzsHsN99cvbq055Y9OhRrIaviy289eRuk= +github.com/gobuffalo/packr/v2 v2.5.1/go.mod h1:8f9c96ITobJlPzI44jj+4tHnEKNt0xXWSVlXRN9X1Iw= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hyperledger/fabric-chaincode-go v0.0.0-20200128192331-2d899240a7ed h1:VNnrD/ilIUO9DDHQP/uioYSy1309rYy0Z1jf3GLNRIc= +github.com/hyperledger/fabric-chaincode-go v0.0.0-20200128192331-2d899240a7ed/go.mod h1:N7H3sA7Tx4k/YzFq7U0EPdqJtqvM4Kild0JoCc7C0Dc= +github.com/hyperledger/fabric-contract-api-go v1.0.0 h1:ma1nQX1S/a3zDkfkTb0QXQHNGgJUmEfqHA9/CWmz8Y0= +github.com/hyperledger/fabric-contract-api-go v1.0.0/go.mod h1:PHF7I0hYI0cZF2j7cdyNHaY5FJD3Q49qnnNgsmxEPbM= +github.com/hyperledger/fabric-protos-go v0.0.0-20190919234611-2a87503ac7c9/go.mod h1:xVYTjK4DtZRBxZ2D9aE4y6AbLaPwue2o/criQyQbVD0= +github.com/hyperledger/fabric-protos-go v0.0.0-20200124220212-e9cfc186ba7b h1:rZ3Vro68vStzLYfcSrQlprjjCf5UmFk7QjKGgHL8IQg= +github.com/hyperledger/fabric-protos-go v0.0.0-20200124220212-e9cfc186ba7b/go.mod h1:xVYTjK4DtZRBxZ2D9aE4y6AbLaPwue2o/criQyQbVD0= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0 h1:RR9dF3JtopPvtkroDZuVD7qquD0bnHlKSqaQhgwt8yk= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190710143415-6ec70d6a5542 h1:6ZQFf1D2YYDDI7eSwW8adlkkavTB9sw5I24FVtEvNUQ= +golang.org/x/sys v0.0.0-20190710143415-6ec70d6a5542/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180831171423-11092d34479b h1:lohp5blsw53GBXtLyLNaTXPXS9pJ1tiTw61ZHUoE9Qw= +google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.gitignore new file mode 100644 index 0000000..748e4c8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.gitignore @@ -0,0 +1,5 @@ +*.sublime-* +.DS_Store +*.swp +*.swo +tags diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.travis.yml new file mode 100644 index 0000000..cf31e6a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/.travis.yml @@ -0,0 +1,12 @@ +language: go + +go: + - 1.4.x + - 1.5.x + - 1.6.x + - 1.7.x + - 1.8.x + - 1.9.x + - "1.10.x" + - "1.11.x" + - tip diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/LICENSE new file mode 100644 index 0000000..4b9986d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/LICENSE @@ -0,0 +1,12 @@ +Copyright (c) 2012, Martin Angers +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/README.md new file mode 100644 index 0000000..07de0c4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/README.md @@ -0,0 +1,188 @@ +# Purell + +Purell is a tiny Go library to normalize URLs. It returns a pure URL. Pure-ell. Sanitizer and all. Yeah, I know... + +Based on the [wikipedia paper][wiki] and the [RFC 3986 document][rfc]. + +[![build status](https://travis-ci.org/PuerkitoBio/purell.svg?branch=master)](http://travis-ci.org/PuerkitoBio/purell) + +## Install + +`go get github.com/PuerkitoBio/purell` + +## Changelog + +* **v1.1.1** : Fix failing test due to Go1.12 changes (thanks to @ianlancetaylor). +* **2016-11-14 (v1.1.0)** : IDN: Conform to RFC 5895: Fold character width (thanks to @beeker1121). +* **2016-07-27 (v1.0.0)** : Normalize IDN to ASCII (thanks to @zenovich). +* **2015-02-08** : Add fix for relative paths issue ([PR #5][pr5]) and add fix for unnecessary encoding of reserved characters ([see issue #7][iss7]). +* **v0.2.0** : Add benchmarks, Attempt IDN support. +* **v0.1.0** : Initial release. + +## Examples + +From `example_test.go` (note that in your code, you would import "github.com/PuerkitoBio/purell", and would prefix references to its methods and constants with "purell."): + +```go +package purell + +import ( + "fmt" + "net/url" +) + +func ExampleNormalizeURLString() { + if normalized, err := NormalizeURLString("hTTp://someWEBsite.com:80/Amazing%3f/url/", + FlagLowercaseScheme|FlagLowercaseHost|FlagUppercaseEscapes); err != nil { + panic(err) + } else { + fmt.Print(normalized) + } + // Output: http://somewebsite.com:80/Amazing%3F/url/ +} + +func ExampleMustNormalizeURLString() { + normalized := MustNormalizeURLString("hTTpS://someWEBsite.com:443/Amazing%fa/url/", + FlagsUnsafeGreedy) + fmt.Print(normalized) + + // Output: http://somewebsite.com/Amazing%FA/url +} + +func ExampleNormalizeURL() { + if u, err := url.Parse("Http://SomeUrl.com:8080/a/b/.././c///g?c=3&a=1&b=9&c=0#target"); err != nil { + panic(err) + } else { + normalized := NormalizeURL(u, FlagsUsuallySafeGreedy|FlagRemoveDuplicateSlashes|FlagRemoveFragment) + fmt.Print(normalized) + } + + // Output: http://someurl.com:8080/a/c/g?c=3&a=1&b=9&c=0 +} +``` + +## API + +As seen in the examples above, purell offers three methods, `NormalizeURLString(string, NormalizationFlags) (string, error)`, `MustNormalizeURLString(string, NormalizationFlags) (string)` and `NormalizeURL(*url.URL, NormalizationFlags) (string)`. They all normalize the provided URL based on the specified flags. Here are the available flags: + +```go +const ( + // Safe normalizations + FlagLowercaseScheme NormalizationFlags = 1 << iota // HTTP://host -> http://host, applied by default in Go1.1 + FlagLowercaseHost // http://HOST -> http://host + FlagUppercaseEscapes // http://host/t%ef -> http://host/t%EF + FlagDecodeUnnecessaryEscapes // http://host/t%41 -> http://host/tA + FlagEncodeNecessaryEscapes // http://host/!"#$ -> http://host/%21%22#$ + FlagRemoveDefaultPort // http://host:80 -> http://host + FlagRemoveEmptyQuerySeparator // http://host/path? -> http://host/path + + // Usually safe normalizations + FlagRemoveTrailingSlash // http://host/path/ -> http://host/path + FlagAddTrailingSlash // http://host/path -> http://host/path/ (should choose only one of these add/remove trailing slash flags) + FlagRemoveDotSegments // http://host/path/./a/b/../c -> http://host/path/a/c + + // Unsafe normalizations + FlagRemoveDirectoryIndex // http://host/path/index.html -> http://host/path/ + FlagRemoveFragment // http://host/path#fragment -> http://host/path + FlagForceHTTP // https://host -> http://host + FlagRemoveDuplicateSlashes // http://host/path//a///b -> http://host/path/a/b + FlagRemoveWWW // http://www.host/ -> http://host/ + FlagAddWWW // http://host/ -> http://www.host/ (should choose only one of these add/remove WWW flags) + FlagSortQuery // http://host/path?c=3&b=2&a=1&b=1 -> http://host/path?a=1&b=1&b=2&c=3 + + // Normalizations not in the wikipedia article, required to cover tests cases + // submitted by jehiah + FlagDecodeDWORDHost // http://1113982867 -> http://66.102.7.147 + FlagDecodeOctalHost // http://0102.0146.07.0223 -> http://66.102.7.147 + FlagDecodeHexHost // http://0x42660793 -> http://66.102.7.147 + FlagRemoveUnnecessaryHostDots // http://.host../path -> http://host/path + FlagRemoveEmptyPortSeparator // http://host:/path -> http://host/path + + // Convenience set of safe normalizations + FlagsSafe NormalizationFlags = FlagLowercaseHost | FlagLowercaseScheme | FlagUppercaseEscapes | FlagDecodeUnnecessaryEscapes | FlagEncodeNecessaryEscapes | FlagRemoveDefaultPort | FlagRemoveEmptyQuerySeparator + + // For convenience sets, "greedy" uses the "remove trailing slash" and "remove www. prefix" flags, + // while "non-greedy" uses the "add (or keep) the trailing slash" and "add www. prefix". + + // Convenience set of usually safe normalizations (includes FlagsSafe) + FlagsUsuallySafeGreedy NormalizationFlags = FlagsSafe | FlagRemoveTrailingSlash | FlagRemoveDotSegments + FlagsUsuallySafeNonGreedy NormalizationFlags = FlagsSafe | FlagAddTrailingSlash | FlagRemoveDotSegments + + // Convenience set of unsafe normalizations (includes FlagsUsuallySafe) + FlagsUnsafeGreedy NormalizationFlags = FlagsUsuallySafeGreedy | FlagRemoveDirectoryIndex | FlagRemoveFragment | FlagForceHTTP | FlagRemoveDuplicateSlashes | FlagRemoveWWW | FlagSortQuery + FlagsUnsafeNonGreedy NormalizationFlags = FlagsUsuallySafeNonGreedy | FlagRemoveDirectoryIndex | FlagRemoveFragment | FlagForceHTTP | FlagRemoveDuplicateSlashes | FlagAddWWW | FlagSortQuery + + // Convenience set of all available flags + FlagsAllGreedy = FlagsUnsafeGreedy | FlagDecodeDWORDHost | FlagDecodeOctalHost | FlagDecodeHexHost | FlagRemoveUnnecessaryHostDots | FlagRemoveEmptyPortSeparator + FlagsAllNonGreedy = FlagsUnsafeNonGreedy | FlagDecodeDWORDHost | FlagDecodeOctalHost | FlagDecodeHexHost | FlagRemoveUnnecessaryHostDots | FlagRemoveEmptyPortSeparator +) +``` + +For convenience, the set of flags `FlagsSafe`, `FlagsUsuallySafe[Greedy|NonGreedy]`, `FlagsUnsafe[Greedy|NonGreedy]` and `FlagsAll[Greedy|NonGreedy]` are provided for the similarly grouped normalizations on [wikipedia's URL normalization page][wiki]. You can add (using the bitwise OR `|` operator) or remove (using the bitwise AND NOT `&^` operator) individual flags from the sets if required, to build your own custom set. + +The [full godoc reference is available on gopkgdoc][godoc]. + +Some things to note: + +* `FlagDecodeUnnecessaryEscapes`, `FlagEncodeNecessaryEscapes`, `FlagUppercaseEscapes` and `FlagRemoveEmptyQuerySeparator` are always implicitly set, because internally, the URL string is parsed as an URL object, which automatically decodes unnecessary escapes, uppercases and encodes necessary ones, and removes empty query separators (an unnecessary `?` at the end of the url). So this operation cannot **not** be done. For this reason, `FlagRemoveEmptyQuerySeparator` (as well as the other three) has been included in the `FlagsSafe` convenience set, instead of `FlagsUnsafe`, where Wikipedia puts it. + +* The `FlagDecodeUnnecessaryEscapes` decodes the following escapes (*from -> to*): + - %24 -> $ + - %26 -> & + - %2B-%3B -> +,-./0123456789:; + - %3D -> = + - %40-%5A -> @ABCDEFGHIJKLMNOPQRSTUVWXYZ + - %5F -> _ + - %61-%7A -> abcdefghijklmnopqrstuvwxyz + - %7E -> ~ + + +* When the `NormalizeURL` function is used (passing an URL object), this source URL object is modified (that is, after the call, the URL object will be modified to reflect the normalization). + +* The *replace IP with domain name* normalization (`http://208.77.188.166/ → http://www.example.com/`) is obviously not possible for a library without making some network requests. This is not implemented in purell. + +* The *remove unused query string parameters* and *remove default query parameters* are also not implemented, since this is a very case-specific normalization, and it is quite trivial to do with an URL object. + +### Safe vs Usually Safe vs Unsafe + +Purell allows you to control the level of risk you take while normalizing an URL. You can aggressively normalize, play it totally safe, or anything in between. + +Consider the following URL: + +`HTTPS://www.RooT.com/toto/t%45%1f///a/./b/../c/?z=3&w=2&a=4&w=1#invalid` + +Normalizing with the `FlagsSafe` gives: + +`https://www.root.com/toto/tE%1F///a/./b/../c/?z=3&w=2&a=4&w=1#invalid` + +With the `FlagsUsuallySafeGreedy`: + +`https://www.root.com/toto/tE%1F///a/c?z=3&w=2&a=4&w=1#invalid` + +And with `FlagsUnsafeGreedy`: + +`http://root.com/toto/tE%1F/a/c?a=4&w=1&w=2&z=3` + +## TODOs + +* Add a class/default instance to allow specifying custom directory index names? At the moment, removing directory index removes `(^|/)((?:default|index)\.\w{1,4})$`. + +## Thanks / Contributions + +@rogpeppe +@jehiah +@opennota +@pchristopher1275 +@zenovich +@beeker1121 + +## License + +The [BSD 3-Clause license][bsd]. + +[bsd]: http://opensource.org/licenses/BSD-3-Clause +[wiki]: http://en.wikipedia.org/wiki/URL_normalization +[rfc]: http://tools.ietf.org/html/rfc3986#section-6 +[godoc]: http://go.pkgdoc.org/github.com/PuerkitoBio/purell +[pr5]: https://github.com/PuerkitoBio/purell/pull/5 +[iss7]: https://github.com/PuerkitoBio/purell/issues/7 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/purell.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/purell.go new file mode 100644 index 0000000..6d0fc19 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/purell/purell.go @@ -0,0 +1,379 @@ +/* +Package purell offers URL normalization as described on the wikipedia page: +http://en.wikipedia.org/wiki/URL_normalization +*/ +package purell + +import ( + "bytes" + "fmt" + "net/url" + "regexp" + "sort" + "strconv" + "strings" + + "github.com/PuerkitoBio/urlesc" + "golang.org/x/net/idna" + "golang.org/x/text/unicode/norm" + "golang.org/x/text/width" +) + +// A set of normalization flags determines how a URL will +// be normalized. +type NormalizationFlags uint + +const ( + // Safe normalizations + FlagLowercaseScheme NormalizationFlags = 1 << iota // HTTP://host -> http://host, applied by default in Go1.1 + FlagLowercaseHost // http://HOST -> http://host + FlagUppercaseEscapes // http://host/t%ef -> http://host/t%EF + FlagDecodeUnnecessaryEscapes // http://host/t%41 -> http://host/tA + FlagEncodeNecessaryEscapes // http://host/!"#$ -> http://host/%21%22#$ + FlagRemoveDefaultPort // http://host:80 -> http://host + FlagRemoveEmptyQuerySeparator // http://host/path? -> http://host/path + + // Usually safe normalizations + FlagRemoveTrailingSlash // http://host/path/ -> http://host/path + FlagAddTrailingSlash // http://host/path -> http://host/path/ (should choose only one of these add/remove trailing slash flags) + FlagRemoveDotSegments // http://host/path/./a/b/../c -> http://host/path/a/c + + // Unsafe normalizations + FlagRemoveDirectoryIndex // http://host/path/index.html -> http://host/path/ + FlagRemoveFragment // http://host/path#fragment -> http://host/path + FlagForceHTTP // https://host -> http://host + FlagRemoveDuplicateSlashes // http://host/path//a///b -> http://host/path/a/b + FlagRemoveWWW // http://www.host/ -> http://host/ + FlagAddWWW // http://host/ -> http://www.host/ (should choose only one of these add/remove WWW flags) + FlagSortQuery // http://host/path?c=3&b=2&a=1&b=1 -> http://host/path?a=1&b=1&b=2&c=3 + + // Normalizations not in the wikipedia article, required to cover tests cases + // submitted by jehiah + FlagDecodeDWORDHost // http://1113982867 -> http://66.102.7.147 + FlagDecodeOctalHost // http://0102.0146.07.0223 -> http://66.102.7.147 + FlagDecodeHexHost // http://0x42660793 -> http://66.102.7.147 + FlagRemoveUnnecessaryHostDots // http://.host../path -> http://host/path + FlagRemoveEmptyPortSeparator // http://host:/path -> http://host/path + + // Convenience set of safe normalizations + FlagsSafe NormalizationFlags = FlagLowercaseHost | FlagLowercaseScheme | FlagUppercaseEscapes | FlagDecodeUnnecessaryEscapes | FlagEncodeNecessaryEscapes | FlagRemoveDefaultPort | FlagRemoveEmptyQuerySeparator + + // For convenience sets, "greedy" uses the "remove trailing slash" and "remove www. prefix" flags, + // while "non-greedy" uses the "add (or keep) the trailing slash" and "add www. prefix". + + // Convenience set of usually safe normalizations (includes FlagsSafe) + FlagsUsuallySafeGreedy NormalizationFlags = FlagsSafe | FlagRemoveTrailingSlash | FlagRemoveDotSegments + FlagsUsuallySafeNonGreedy NormalizationFlags = FlagsSafe | FlagAddTrailingSlash | FlagRemoveDotSegments + + // Convenience set of unsafe normalizations (includes FlagsUsuallySafe) + FlagsUnsafeGreedy NormalizationFlags = FlagsUsuallySafeGreedy | FlagRemoveDirectoryIndex | FlagRemoveFragment | FlagForceHTTP | FlagRemoveDuplicateSlashes | FlagRemoveWWW | FlagSortQuery + FlagsUnsafeNonGreedy NormalizationFlags = FlagsUsuallySafeNonGreedy | FlagRemoveDirectoryIndex | FlagRemoveFragment | FlagForceHTTP | FlagRemoveDuplicateSlashes | FlagAddWWW | FlagSortQuery + + // Convenience set of all available flags + FlagsAllGreedy = FlagsUnsafeGreedy | FlagDecodeDWORDHost | FlagDecodeOctalHost | FlagDecodeHexHost | FlagRemoveUnnecessaryHostDots | FlagRemoveEmptyPortSeparator + FlagsAllNonGreedy = FlagsUnsafeNonGreedy | FlagDecodeDWORDHost | FlagDecodeOctalHost | FlagDecodeHexHost | FlagRemoveUnnecessaryHostDots | FlagRemoveEmptyPortSeparator +) + +const ( + defaultHttpPort = ":80" + defaultHttpsPort = ":443" +) + +// Regular expressions used by the normalizations +var rxPort = regexp.MustCompile(`(:\d+)/?$`) +var rxDirIndex = regexp.MustCompile(`(^|/)((?:default|index)\.\w{1,4})$`) +var rxDupSlashes = regexp.MustCompile(`/{2,}`) +var rxDWORDHost = regexp.MustCompile(`^(\d+)((?:\.+)?(?:\:\d*)?)$`) +var rxOctalHost = regexp.MustCompile(`^(0\d*)\.(0\d*)\.(0\d*)\.(0\d*)((?:\.+)?(?:\:\d*)?)$`) +var rxHexHost = regexp.MustCompile(`^0x([0-9A-Fa-f]+)((?:\.+)?(?:\:\d*)?)$`) +var rxHostDots = regexp.MustCompile(`^(.+?)(:\d+)?$`) +var rxEmptyPort = regexp.MustCompile(`:+$`) + +// Map of flags to implementation function. +// FlagDecodeUnnecessaryEscapes has no action, since it is done automatically +// by parsing the string as an URL. Same for FlagUppercaseEscapes and FlagRemoveEmptyQuerySeparator. + +// Since maps have undefined traversing order, make a slice of ordered keys +var flagsOrder = []NormalizationFlags{ + FlagLowercaseScheme, + FlagLowercaseHost, + FlagRemoveDefaultPort, + FlagRemoveDirectoryIndex, + FlagRemoveDotSegments, + FlagRemoveFragment, + FlagForceHTTP, // Must be after remove default port (because https=443/http=80) + FlagRemoveDuplicateSlashes, + FlagRemoveWWW, + FlagAddWWW, + FlagSortQuery, + FlagDecodeDWORDHost, + FlagDecodeOctalHost, + FlagDecodeHexHost, + FlagRemoveUnnecessaryHostDots, + FlagRemoveEmptyPortSeparator, + FlagRemoveTrailingSlash, // These two (add/remove trailing slash) must be last + FlagAddTrailingSlash, +} + +// ... and then the map, where order is unimportant +var flags = map[NormalizationFlags]func(*url.URL){ + FlagLowercaseScheme: lowercaseScheme, + FlagLowercaseHost: lowercaseHost, + FlagRemoveDefaultPort: removeDefaultPort, + FlagRemoveDirectoryIndex: removeDirectoryIndex, + FlagRemoveDotSegments: removeDotSegments, + FlagRemoveFragment: removeFragment, + FlagForceHTTP: forceHTTP, + FlagRemoveDuplicateSlashes: removeDuplicateSlashes, + FlagRemoveWWW: removeWWW, + FlagAddWWW: addWWW, + FlagSortQuery: sortQuery, + FlagDecodeDWORDHost: decodeDWORDHost, + FlagDecodeOctalHost: decodeOctalHost, + FlagDecodeHexHost: decodeHexHost, + FlagRemoveUnnecessaryHostDots: removeUnncessaryHostDots, + FlagRemoveEmptyPortSeparator: removeEmptyPortSeparator, + FlagRemoveTrailingSlash: removeTrailingSlash, + FlagAddTrailingSlash: addTrailingSlash, +} + +// MustNormalizeURLString returns the normalized string, and panics if an error occurs. +// It takes an URL string as input, as well as the normalization flags. +func MustNormalizeURLString(u string, f NormalizationFlags) string { + result, e := NormalizeURLString(u, f) + if e != nil { + panic(e) + } + return result +} + +// NormalizeURLString returns the normalized string, or an error if it can't be parsed into an URL object. +// It takes an URL string as input, as well as the normalization flags. +func NormalizeURLString(u string, f NormalizationFlags) (string, error) { + parsed, err := url.Parse(u) + if err != nil { + return "", err + } + + if f&FlagLowercaseHost == FlagLowercaseHost { + parsed.Host = strings.ToLower(parsed.Host) + } + + // The idna package doesn't fully conform to RFC 5895 + // (https://tools.ietf.org/html/rfc5895), so we do it here. + // Taken from Go 1.8 cycle source, courtesy of bradfitz. + // TODO: Remove when (if?) idna package conforms to RFC 5895. + parsed.Host = width.Fold.String(parsed.Host) + parsed.Host = norm.NFC.String(parsed.Host) + if parsed.Host, err = idna.ToASCII(parsed.Host); err != nil { + return "", err + } + + return NormalizeURL(parsed, f), nil +} + +// NormalizeURL returns the normalized string. +// It takes a parsed URL object as input, as well as the normalization flags. +func NormalizeURL(u *url.URL, f NormalizationFlags) string { + for _, k := range flagsOrder { + if f&k == k { + flags[k](u) + } + } + return urlesc.Escape(u) +} + +func lowercaseScheme(u *url.URL) { + if len(u.Scheme) > 0 { + u.Scheme = strings.ToLower(u.Scheme) + } +} + +func lowercaseHost(u *url.URL) { + if len(u.Host) > 0 { + u.Host = strings.ToLower(u.Host) + } +} + +func removeDefaultPort(u *url.URL) { + if len(u.Host) > 0 { + scheme := strings.ToLower(u.Scheme) + u.Host = rxPort.ReplaceAllStringFunc(u.Host, func(val string) string { + if (scheme == "http" && val == defaultHttpPort) || (scheme == "https" && val == defaultHttpsPort) { + return "" + } + return val + }) + } +} + +func removeTrailingSlash(u *url.URL) { + if l := len(u.Path); l > 0 { + if strings.HasSuffix(u.Path, "/") { + u.Path = u.Path[:l-1] + } + } else if l = len(u.Host); l > 0 { + if strings.HasSuffix(u.Host, "/") { + u.Host = u.Host[:l-1] + } + } +} + +func addTrailingSlash(u *url.URL) { + if l := len(u.Path); l > 0 { + if !strings.HasSuffix(u.Path, "/") { + u.Path += "/" + } + } else if l = len(u.Host); l > 0 { + if !strings.HasSuffix(u.Host, "/") { + u.Host += "/" + } + } +} + +func removeDotSegments(u *url.URL) { + if len(u.Path) > 0 { + var dotFree []string + var lastIsDot bool + + sections := strings.Split(u.Path, "/") + for _, s := range sections { + if s == ".." { + if len(dotFree) > 0 { + dotFree = dotFree[:len(dotFree)-1] + } + } else if s != "." { + dotFree = append(dotFree, s) + } + lastIsDot = (s == "." || s == "..") + } + // Special case if host does not end with / and new path does not begin with / + u.Path = strings.Join(dotFree, "/") + if u.Host != "" && !strings.HasSuffix(u.Host, "/") && !strings.HasPrefix(u.Path, "/") { + u.Path = "/" + u.Path + } + // Special case if the last segment was a dot, make sure the path ends with a slash + if lastIsDot && !strings.HasSuffix(u.Path, "/") { + u.Path += "/" + } + } +} + +func removeDirectoryIndex(u *url.URL) { + if len(u.Path) > 0 { + u.Path = rxDirIndex.ReplaceAllString(u.Path, "$1") + } +} + +func removeFragment(u *url.URL) { + u.Fragment = "" +} + +func forceHTTP(u *url.URL) { + if strings.ToLower(u.Scheme) == "https" { + u.Scheme = "http" + } +} + +func removeDuplicateSlashes(u *url.URL) { + if len(u.Path) > 0 { + u.Path = rxDupSlashes.ReplaceAllString(u.Path, "/") + } +} + +func removeWWW(u *url.URL) { + if len(u.Host) > 0 && strings.HasPrefix(strings.ToLower(u.Host), "www.") { + u.Host = u.Host[4:] + } +} + +func addWWW(u *url.URL) { + if len(u.Host) > 0 && !strings.HasPrefix(strings.ToLower(u.Host), "www.") { + u.Host = "www." + u.Host + } +} + +func sortQuery(u *url.URL) { + q := u.Query() + + if len(q) > 0 { + arKeys := make([]string, len(q)) + i := 0 + for k := range q { + arKeys[i] = k + i++ + } + sort.Strings(arKeys) + buf := new(bytes.Buffer) + for _, k := range arKeys { + sort.Strings(q[k]) + for _, v := range q[k] { + if buf.Len() > 0 { + buf.WriteRune('&') + } + buf.WriteString(fmt.Sprintf("%s=%s", k, urlesc.QueryEscape(v))) + } + } + + // Rebuild the raw query string + u.RawQuery = buf.String() + } +} + +func decodeDWORDHost(u *url.URL) { + if len(u.Host) > 0 { + if matches := rxDWORDHost.FindStringSubmatch(u.Host); len(matches) > 2 { + var parts [4]int64 + + dword, _ := strconv.ParseInt(matches[1], 10, 0) + for i, shift := range []uint{24, 16, 8, 0} { + parts[i] = dword >> shift & 0xFF + } + u.Host = fmt.Sprintf("%d.%d.%d.%d%s", parts[0], parts[1], parts[2], parts[3], matches[2]) + } + } +} + +func decodeOctalHost(u *url.URL) { + if len(u.Host) > 0 { + if matches := rxOctalHost.FindStringSubmatch(u.Host); len(matches) > 5 { + var parts [4]int64 + + for i := 1; i <= 4; i++ { + parts[i-1], _ = strconv.ParseInt(matches[i], 8, 0) + } + u.Host = fmt.Sprintf("%d.%d.%d.%d%s", parts[0], parts[1], parts[2], parts[3], matches[5]) + } + } +} + +func decodeHexHost(u *url.URL) { + if len(u.Host) > 0 { + if matches := rxHexHost.FindStringSubmatch(u.Host); len(matches) > 2 { + // Conversion is safe because of regex validation + parsed, _ := strconv.ParseInt(matches[1], 16, 0) + // Set host as DWORD (base 10) encoded host + u.Host = fmt.Sprintf("%d%s", parsed, matches[2]) + // The rest is the same as decoding a DWORD host + decodeDWORDHost(u) + } + } +} + +func removeUnncessaryHostDots(u *url.URL) { + if len(u.Host) > 0 { + if matches := rxHostDots.FindStringSubmatch(u.Host); len(matches) > 1 { + // Trim the leading and trailing dots + u.Host = strings.Trim(matches[1], ".") + if len(matches) > 2 { + u.Host += matches[2] + } + } + } +} + +func removeEmptyPortSeparator(u *url.URL) { + if len(u.Host) > 0 { + u.Host = rxEmptyPort.ReplaceAllString(u.Host, "") + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/.travis.yml new file mode 100644 index 0000000..ba6b225 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/.travis.yml @@ -0,0 +1,15 @@ +language: go + +go: + - 1.4.x + - 1.5.x + - 1.6.x + - 1.7.x + - 1.8.x + - tip + +install: + - go build . + +script: + - go test -v diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/LICENSE new file mode 100644 index 0000000..7448756 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/README.md new file mode 100644 index 0000000..57aff0a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/README.md @@ -0,0 +1,16 @@ +urlesc [![Build Status](https://travis-ci.org/PuerkitoBio/urlesc.svg?branch=master)](https://travis-ci.org/PuerkitoBio/urlesc) [![GoDoc](http://godoc.org/github.com/PuerkitoBio/urlesc?status.svg)](http://godoc.org/github.com/PuerkitoBio/urlesc) +====== + +Package urlesc implements query escaping as per RFC 3986. + +It contains some parts of the net/url package, modified so as to allow +some reserved characters incorrectly escaped by net/url (see [issue 5684](https://github.com/golang/go/issues/5684)). + +## Install + + go get github.com/PuerkitoBio/urlesc + +## License + +Go license (BSD-3-Clause) + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/urlesc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/urlesc.go new file mode 100644 index 0000000..1b84624 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/PuerkitoBio/urlesc/urlesc.go @@ -0,0 +1,180 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package urlesc implements query escaping as per RFC 3986. +// It contains some parts of the net/url package, modified so as to allow +// some reserved characters incorrectly escaped by net/url. +// See https://github.com/golang/go/issues/5684 +package urlesc + +import ( + "bytes" + "net/url" + "strings" +) + +type encoding int + +const ( + encodePath encoding = 1 + iota + encodeUserPassword + encodeQueryComponent + encodeFragment +) + +// Return true if the specified character should be escaped when +// appearing in a URL string, according to RFC 3986. +func shouldEscape(c byte, mode encoding) bool { + // §2.3 Unreserved characters (alphanum) + if 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' { + return false + } + + switch c { + case '-', '.', '_', '~': // §2.3 Unreserved characters (mark) + return false + + // §2.2 Reserved characters (reserved) + case ':', '/', '?', '#', '[', ']', '@', // gen-delims + '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=': // sub-delims + // Different sections of the URL allow a few of + // the reserved characters to appear unescaped. + switch mode { + case encodePath: // §3.3 + // The RFC allows sub-delims and : @. + // '/', '[' and ']' can be used to assign meaning to individual path + // segments. This package only manipulates the path as a whole, + // so we allow those as well. That leaves only ? and # to escape. + return c == '?' || c == '#' + + case encodeUserPassword: // §3.2.1 + // The RFC allows : and sub-delims in + // userinfo. The parsing of userinfo treats ':' as special so we must escape + // all the gen-delims. + return c == ':' || c == '/' || c == '?' || c == '#' || c == '[' || c == ']' || c == '@' + + case encodeQueryComponent: // §3.4 + // The RFC allows / and ?. + return c != '/' && c != '?' + + case encodeFragment: // §4.1 + // The RFC text is silent but the grammar allows + // everything, so escape nothing but # + return c == '#' + } + } + + // Everything else must be escaped. + return true +} + +// QueryEscape escapes the string so it can be safely placed +// inside a URL query. +func QueryEscape(s string) string { + return escape(s, encodeQueryComponent) +} + +func escape(s string, mode encoding) string { + spaceCount, hexCount := 0, 0 + for i := 0; i < len(s); i++ { + c := s[i] + if shouldEscape(c, mode) { + if c == ' ' && mode == encodeQueryComponent { + spaceCount++ + } else { + hexCount++ + } + } + } + + if spaceCount == 0 && hexCount == 0 { + return s + } + + t := make([]byte, len(s)+2*hexCount) + j := 0 + for i := 0; i < len(s); i++ { + switch c := s[i]; { + case c == ' ' && mode == encodeQueryComponent: + t[j] = '+' + j++ + case shouldEscape(c, mode): + t[j] = '%' + t[j+1] = "0123456789ABCDEF"[c>>4] + t[j+2] = "0123456789ABCDEF"[c&15] + j += 3 + default: + t[j] = s[i] + j++ + } + } + return string(t) +} + +var uiReplacer = strings.NewReplacer( + "%21", "!", + "%27", "'", + "%28", "(", + "%29", ")", + "%2A", "*", +) + +// unescapeUserinfo unescapes some characters that need not to be escaped as per RFC3986. +func unescapeUserinfo(s string) string { + return uiReplacer.Replace(s) +} + +// Escape reassembles the URL into a valid URL string. +// The general form of the result is one of: +// +// scheme:opaque +// scheme://userinfo@host/path?query#fragment +// +// If u.Opaque is non-empty, String uses the first form; +// otherwise it uses the second form. +// +// In the second form, the following rules apply: +// - if u.Scheme is empty, scheme: is omitted. +// - if u.User is nil, userinfo@ is omitted. +// - if u.Host is empty, host/ is omitted. +// - if u.Scheme and u.Host are empty and u.User is nil, +// the entire scheme://userinfo@host/ is omitted. +// - if u.Host is non-empty and u.Path begins with a /, +// the form host/path does not add its own /. +// - if u.RawQuery is empty, ?query is omitted. +// - if u.Fragment is empty, #fragment is omitted. +func Escape(u *url.URL) string { + var buf bytes.Buffer + if u.Scheme != "" { + buf.WriteString(u.Scheme) + buf.WriteByte(':') + } + if u.Opaque != "" { + buf.WriteString(u.Opaque) + } else { + if u.Scheme != "" || u.Host != "" || u.User != nil { + buf.WriteString("//") + if ui := u.User; ui != nil { + buf.WriteString(unescapeUserinfo(ui.String())) + buf.WriteByte('@') + } + if h := u.Host; h != "" { + buf.WriteString(h) + } + } + if u.Path != "" && u.Path[0] != '/' && u.Host != "" { + buf.WriteByte('/') + } + buf.WriteString(escape(u.Path, encodePath)) + } + if u.RawQuery != "" { + buf.WriteByte('?') + buf.WriteString(u.RawQuery) + } + if u.Fragment != "" { + buf.WriteByte('#') + buf.WriteString(escape(u.Fragment, encodeFragment)) + } + return buf.String() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.editorconfig b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.editorconfig new file mode 100644 index 0000000..3152da6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.gitignore new file mode 100644 index 0000000..769c244 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.gitignore @@ -0,0 +1 @@ +secrets.yml diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.travis.yml new file mode 100644 index 0000000..9aef918 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/.travis.yml @@ -0,0 +1,15 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.11.x +- 1.12.x +install: +- GO111MODULE=off go get -u gotest.tools/gotestsum +env: +- GO111MODULE=on +language: go +notifications: + slack: + secure: a5VgoiwB1G/AZqzmephPZIhEB9avMlsWSlVnM1dSAtYAwdrQHGTQxAmpOxYIoSPDhWNN5bfZmjd29++UlTwLcHSR+e0kJhH6IfDlsHj/HplNCJ9tyI0zYc7XchtdKgeMxMzBKCzgwFXGSbQGydXTliDNBo0HOzmY3cou/daMFTP60K+offcjS+3LRAYb1EroSRXZqrk1nuF/xDL3792DZUdPMiFR/L/Df6y74D6/QP4sTkTDFQitz4Wy/7jbsfj8dG6qK2zivgV6/l+w4OVjFkxVpPXogDWY10vVXNVynqxfJ7to2d1I9lNCHE2ilBCkWMIPdyJF7hjF8pKW+82yP4EzRh0vu8Xn0HT5MZpQxdRY/YMxNrWaG7SxsoEaO4q5uhgdzAqLYY3TRa7MjIK+7Ur+aqOeTXn6OKwVi0CjvZ6mIU3WUKSwiwkFZMbjRAkSb5CYwMEfGFO/z964xz83qGt6WAtBXNotqCQpTIiKtDHQeLOMfksHImCg6JLhQcWBVxamVgu0G3Pdh8Y6DyPnxraXY95+QDavbjqv7TeYT9T/FNnrkXaTTK0s4iWE5H4ACU0Qvz0wUYgfQrZv0/Hp7V17+rabUwnzYySHCy9SWX/7OV9Cfh31iMp9ZIffr76xmmThtOEqs8TrTtU6BWI3rWwvA9cXQipZTVtL0oswrGw= +script: +- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..9322b06 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/README.md new file mode 100644 index 0000000..813788a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/README.md @@ -0,0 +1,15 @@ +# gojsonpointer [![Build Status](https://travis-ci.org/go-openapi/jsonpointer.svg?branch=master)](https://travis-ci.org/go-openapi/jsonpointer) [![codecov](https://codecov.io/gh/go-openapi/jsonpointer/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonpointer) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonpointer/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/jsonpointer?status.svg)](http://godoc.org/github.com/go-openapi/jsonpointer) +An implementation of JSON Pointer - Go language + +## Status +Completed YES + +Tested YES + +## References +http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 + +### Note +The 4.Evaluation part of the previous reference, starting with 'If the currently referenced value is a JSON array, the reference token MUST contain either...' is not implemented. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.mod new file mode 100644 index 0000000..3e45e22 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.mod @@ -0,0 +1,9 @@ +module github.com/go-openapi/jsonpointer + +require ( + github.com/go-openapi/swag v0.19.5 + github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e // indirect + github.com/stretchr/testify v1.3.0 +) + +go 1.13 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.sum new file mode 100644 index 0000000..953d4f3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/go.sum @@ -0,0 +1,24 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/pointer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/pointer.go new file mode 100644 index 0000000..b284eb7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonpointer/pointer.go @@ -0,0 +1,390 @@ +// Copyright 2013 sigu-399 ( https://github.com/sigu-399 ) +// +// 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. + +// author sigu-399 +// author-github https://github.com/sigu-399 +// author-mail sigu.399@gmail.com +// +// repository-name jsonpointer +// repository-desc An implementation of JSON Pointer - Go language +// +// description Main and unique file. +// +// created 25-02-2013 + +package jsonpointer + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "strings" + + "github.com/go-openapi/swag" +) + +const ( + emptyPointer = `` + pointerSeparator = `/` + + invalidStart = `JSON pointer must be empty or start with a "` + pointerSeparator +) + +var jsonPointableType = reflect.TypeOf(new(JSONPointable)).Elem() +var jsonSetableType = reflect.TypeOf(new(JSONSetable)).Elem() + +// JSONPointable is an interface for structs to implement when they need to customize the +// json pointer process +type JSONPointable interface { + JSONLookup(string) (interface{}, error) +} + +// JSONSetable is an interface for structs to implement when they need to customize the +// json pointer process +type JSONSetable interface { + JSONSet(string, interface{}) error +} + +// New creates a new json pointer for the given string +func New(jsonPointerString string) (Pointer, error) { + + var p Pointer + err := p.parse(jsonPointerString) + return p, err + +} + +// Pointer the json pointer reprsentation +type Pointer struct { + referenceTokens []string +} + +// "Constructor", parses the given string JSON pointer +func (p *Pointer) parse(jsonPointerString string) error { + + var err error + + if jsonPointerString != emptyPointer { + if !strings.HasPrefix(jsonPointerString, pointerSeparator) { + err = errors.New(invalidStart) + } else { + referenceTokens := strings.Split(jsonPointerString, pointerSeparator) + for _, referenceToken := range referenceTokens[1:] { + p.referenceTokens = append(p.referenceTokens, referenceToken) + } + } + } + + return err +} + +// Get uses the pointer to retrieve a value from a JSON document +func (p *Pointer) Get(document interface{}) (interface{}, reflect.Kind, error) { + return p.get(document, swag.DefaultJSONNameProvider) +} + +// Set uses the pointer to set a value from a JSON document +func (p *Pointer) Set(document interface{}, value interface{}) (interface{}, error) { + return document, p.set(document, value, swag.DefaultJSONNameProvider) +} + +// GetForToken gets a value for a json pointer token 1 level deep +func GetForToken(document interface{}, decodedToken string) (interface{}, reflect.Kind, error) { + return getSingleImpl(document, decodedToken, swag.DefaultJSONNameProvider) +} + +// SetForToken gets a value for a json pointer token 1 level deep +func SetForToken(document interface{}, decodedToken string, value interface{}) (interface{}, error) { + return document, setSingleImpl(document, value, decodedToken, swag.DefaultJSONNameProvider) +} + +func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) { + rValue := reflect.Indirect(reflect.ValueOf(node)) + kind := rValue.Kind() + + switch kind { + + case reflect.Struct: + if rValue.Type().Implements(jsonPointableType) { + r, err := node.(JSONPointable).JSONLookup(decodedToken) + if err != nil { + return nil, kind, err + } + return r, kind, nil + } + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return nil, kind, fmt.Errorf("object has no field %q", decodedToken) + } + fld := rValue.FieldByName(nm) + return fld.Interface(), kind, nil + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + mv := rValue.MapIndex(kv) + + if mv.IsValid() { + return mv.Interface(), kind, nil + } + return nil, kind, fmt.Errorf("object has no key %q", decodedToken) + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) + if err != nil { + return nil, kind, err + } + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return nil, kind, fmt.Errorf("index out of bounds array[0,%d] index '%d'", sLength-1, tokenIndex) + } + + elem := rValue.Index(tokenIndex) + return elem.Interface(), kind, nil + + default: + return nil, kind, fmt.Errorf("invalid token reference %q", decodedToken) + } + +} + +func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *swag.NameProvider) error { + rValue := reflect.Indirect(reflect.ValueOf(node)) + switch rValue.Kind() { + + case reflect.Struct: + if ns, ok := node.(JSONSetable); ok { // pointer impl + return ns.JSONSet(decodedToken, data) + } + + if rValue.Type().Implements(jsonSetableType) { + return node.(JSONSetable).JSONSet(decodedToken, data) + } + + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return fmt.Errorf("object has no field %q", decodedToken) + } + fld := rValue.FieldByName(nm) + if fld.IsValid() { + fld.Set(reflect.ValueOf(data)) + } + return nil + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + rValue.SetMapIndex(kv, reflect.ValueOf(data)) + return nil + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) + if err != nil { + return err + } + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return fmt.Errorf("index out of bounds array[0,%d] index '%d'", sLength, tokenIndex) + } + + elem := rValue.Index(tokenIndex) + if !elem.CanSet() { + return fmt.Errorf("can't set slice index %s to %v", decodedToken, data) + } + elem.Set(reflect.ValueOf(data)) + return nil + + default: + return fmt.Errorf("invalid token reference %q", decodedToken) + } + +} + +func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) { + + if nameProvider == nil { + nameProvider = swag.DefaultJSONNameProvider + } + + kind := reflect.Invalid + + // Full document when empty + if len(p.referenceTokens) == 0 { + return node, kind, nil + } + + for _, token := range p.referenceTokens { + + decodedToken := Unescape(token) + + r, knd, err := getSingleImpl(node, decodedToken, nameProvider) + if err != nil { + return nil, knd, err + } + node, kind = r, knd + + } + + rValue := reflect.ValueOf(node) + kind = rValue.Kind() + + return node, kind, nil +} + +func (p *Pointer) set(node, data interface{}, nameProvider *swag.NameProvider) error { + knd := reflect.ValueOf(node).Kind() + + if knd != reflect.Ptr && knd != reflect.Struct && knd != reflect.Map && knd != reflect.Slice && knd != reflect.Array { + return fmt.Errorf("only structs, pointers, maps and slices are supported for setting values") + } + + if nameProvider == nil { + nameProvider = swag.DefaultJSONNameProvider + } + + // Full document when empty + if len(p.referenceTokens) == 0 { + return nil + } + + lastI := len(p.referenceTokens) - 1 + for i, token := range p.referenceTokens { + isLastToken := i == lastI + decodedToken := Unescape(token) + + if isLastToken { + + return setSingleImpl(node, data, decodedToken, nameProvider) + } + + rValue := reflect.Indirect(reflect.ValueOf(node)) + kind := rValue.Kind() + + switch kind { + + case reflect.Struct: + if rValue.Type().Implements(jsonPointableType) { + r, err := node.(JSONPointable).JSONLookup(decodedToken) + if err != nil { + return err + } + fld := reflect.ValueOf(r) + if fld.CanAddr() && fld.Kind() != reflect.Interface && fld.Kind() != reflect.Map && fld.Kind() != reflect.Slice && fld.Kind() != reflect.Ptr { + node = fld.Addr().Interface() + continue + } + node = r + continue + } + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return fmt.Errorf("object has no field %q", decodedToken) + } + fld := rValue.FieldByName(nm) + if fld.CanAddr() && fld.Kind() != reflect.Interface && fld.Kind() != reflect.Map && fld.Kind() != reflect.Slice && fld.Kind() != reflect.Ptr { + node = fld.Addr().Interface() + continue + } + node = fld.Interface() + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + mv := rValue.MapIndex(kv) + + if !mv.IsValid() { + return fmt.Errorf("object has no key %q", decodedToken) + } + if mv.CanAddr() && mv.Kind() != reflect.Interface && mv.Kind() != reflect.Map && mv.Kind() != reflect.Slice && mv.Kind() != reflect.Ptr { + node = mv.Addr().Interface() + continue + } + node = mv.Interface() + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) + if err != nil { + return err + } + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return fmt.Errorf("index out of bounds array[0,%d] index '%d'", sLength, tokenIndex) + } + + elem := rValue.Index(tokenIndex) + if elem.CanAddr() && elem.Kind() != reflect.Interface && elem.Kind() != reflect.Map && elem.Kind() != reflect.Slice && elem.Kind() != reflect.Ptr { + node = elem.Addr().Interface() + continue + } + node = elem.Interface() + + default: + return fmt.Errorf("invalid token reference %q", decodedToken) + } + + } + + return nil +} + +// DecodedTokens returns the decoded tokens +func (p *Pointer) DecodedTokens() []string { + result := make([]string, 0, len(p.referenceTokens)) + for _, t := range p.referenceTokens { + result = append(result, Unescape(t)) + } + return result +} + +// IsEmpty returns true if this is an empty json pointer +// this indicates that it points to the root document +func (p *Pointer) IsEmpty() bool { + return len(p.referenceTokens) == 0 +} + +// Pointer to string representation function +func (p *Pointer) String() string { + + if len(p.referenceTokens) == 0 { + return emptyPointer + } + + pointerString := pointerSeparator + strings.Join(p.referenceTokens, pointerSeparator) + + return pointerString +} + +// Specific JSON pointer encoding here +// ~0 => ~ +// ~1 => / +// ... and vice versa + +const ( + encRefTok0 = `~0` + encRefTok1 = `~1` + decRefTok0 = `~` + decRefTok1 = `/` +) + +// Unescape unescapes a json pointer reference token string to the original representation +func Unescape(token string) string { + step1 := strings.Replace(token, encRefTok1, decRefTok1, -1) + step2 := strings.Replace(step1, encRefTok0, decRefTok0, -1) + return step2 +} + +// Escape escapes a pointer reference token string +func Escape(token string) string { + step1 := strings.Replace(token, decRefTok0, encRefTok0, -1) + step2 := strings.Replace(step1, decRefTok1, encRefTok1, -1) + return step2 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.gitignore new file mode 100644 index 0000000..769c244 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.gitignore @@ -0,0 +1 @@ +secrets.yml diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.travis.yml new file mode 100644 index 0000000..40b9075 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/.travis.yml @@ -0,0 +1,15 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.11.x +- 1.12.x +install: +- GO111MODULE=off go get -u gotest.tools/gotestsum +env: +- GO111MODULE=on +language: go +notifications: + slack: + secure: OpQG/36F7DSF00HLm9WZMhyqFCYYyYTsVDObW226cWiR8PWYiNfLZiSEvIzT1Gx4dDjhigKTIqcLhG34CkL5iNXDjm9Yyo2RYhQPlK8NErNqUEXuBqn4RqYHW48VGhEhOyDd4Ei0E2FN5ZbgpvHgtpkdZ6XDi64r3Ac89isP9aPHXQTuv2Jog6b4/OKKiUTftLcTIst0p4Cp3gqOJWf1wnoj+IadWiECNVQT6zb47IYjtyw6+uV8iUjTzdKcRB6Zc6b4Dq7JAg1Zd7Jfxkql3hlKp4PNlRf9Cy7y5iA3G7MLyg3FcPX5z2kmcyPt2jOTRMBWUJ5zIQpOxizAcN8WsT3WWBL5KbuYK6k0PzujrIDLqdxGpNmjkkMfDBT9cKmZpm2FdW+oZgPFJP+oKmAo4u4KJz/vjiPTXgQlN5bmrLuRMCp+AwC5wkIohTqWZVPE2TK6ZSnMYcg/W39s+RP/9mJoyryAvPSpBOLTI+biCgaUCTOAZxNTWpMFc3tPYntc41WWkdKcooZ9JA5DwfcaVFyTGQ3YXz+HvX6G1z/gW0Q/A4dBi9mj2iE1xm7tRTT+4VQ2AXFvSEI1HJpfPgYnwAtwOD1v3Qm2EUHk9sCdtEDR4wVGEPIVn44GnwFMnGKx9JWppMPYwFu3SVDdHt+E+LOlhZUply11Aa+IVrT2KUQ= +script: +- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..9322b06 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/README.md new file mode 100644 index 0000000..66345f4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/README.md @@ -0,0 +1,15 @@ +# gojsonreference [![Build Status](https://travis-ci.org/go-openapi/jsonreference.svg?branch=master)](https://travis-ci.org/go-openapi/jsonreference) [![codecov](https://codecov.io/gh/go-openapi/jsonreference/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonreference) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonreference/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/jsonreference?status.svg)](http://godoc.org/github.com/go-openapi/jsonreference) +An implementation of JSON Reference - Go language + +## Status +Work in progress ( 90% done ) + +## Dependencies +https://github.com/go-openapi/jsonpointer + +## References +http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 + +http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.mod new file mode 100644 index 0000000..35adddf --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.mod @@ -0,0 +1,10 @@ +module github.com/go-openapi/jsonreference + +require ( + github.com/PuerkitoBio/purell v1.1.1 + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect + github.com/go-openapi/jsonpointer v0.19.2 + github.com/stretchr/testify v1.3.0 + golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 // indirect + golang.org/x/text v0.3.2 // indirect +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.sum new file mode 100644 index 0000000..f1a7a34 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/go.sum @@ -0,0 +1,36 @@ +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/reference.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/reference.go new file mode 100644 index 0000000..3bc0a6e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/jsonreference/reference.go @@ -0,0 +1,156 @@ +// Copyright 2013 sigu-399 ( https://github.com/sigu-399 ) +// +// 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. + +// author sigu-399 +// author-github https://github.com/sigu-399 +// author-mail sigu.399@gmail.com +// +// repository-name jsonreference +// repository-desc An implementation of JSON Reference - Go language +// +// description Main and unique file. +// +// created 26-02-2013 + +package jsonreference + +import ( + "errors" + "net/url" + "strings" + + "github.com/PuerkitoBio/purell" + "github.com/go-openapi/jsonpointer" +) + +const ( + fragmentRune = `#` +) + +// New creates a new reference for the given string +func New(jsonReferenceString string) (Ref, error) { + + var r Ref + err := r.parse(jsonReferenceString) + return r, err + +} + +// MustCreateRef parses the ref string and panics when it's invalid. +// Use the New method for a version that returns an error +func MustCreateRef(ref string) Ref { + r, err := New(ref) + if err != nil { + panic(err) + } + return r +} + +// Ref represents a json reference object +type Ref struct { + referenceURL *url.URL + referencePointer jsonpointer.Pointer + + HasFullURL bool + HasURLPathOnly bool + HasFragmentOnly bool + HasFileScheme bool + HasFullFilePath bool +} + +// GetURL gets the URL for this reference +func (r *Ref) GetURL() *url.URL { + return r.referenceURL +} + +// GetPointer gets the json pointer for this reference +func (r *Ref) GetPointer() *jsonpointer.Pointer { + return &r.referencePointer +} + +// String returns the best version of the url for this reference +func (r *Ref) String() string { + + if r.referenceURL != nil { + return r.referenceURL.String() + } + + if r.HasFragmentOnly { + return fragmentRune + r.referencePointer.String() + } + + return r.referencePointer.String() +} + +// IsRoot returns true if this reference is a root document +func (r *Ref) IsRoot() bool { + return r.referenceURL != nil && + !r.IsCanonical() && + !r.HasURLPathOnly && + r.referenceURL.Fragment == "" +} + +// IsCanonical returns true when this pointer starts with http(s):// or file:// +func (r *Ref) IsCanonical() bool { + return (r.HasFileScheme && r.HasFullFilePath) || (!r.HasFileScheme && r.HasFullURL) +} + +// "Constructor", parses the given string JSON reference +func (r *Ref) parse(jsonReferenceString string) error { + + parsed, err := url.Parse(jsonReferenceString) + if err != nil { + return err + } + + r.referenceURL, _ = url.Parse(purell.NormalizeURL(parsed, purell.FlagsSafe|purell.FlagRemoveDuplicateSlashes)) + refURL := r.referenceURL + + if refURL.Scheme != "" && refURL.Host != "" { + r.HasFullURL = true + } else { + if refURL.Path != "" { + r.HasURLPathOnly = true + } else if refURL.RawQuery == "" && refURL.Fragment != "" { + r.HasFragmentOnly = true + } + } + + r.HasFileScheme = refURL.Scheme == "file" + r.HasFullFilePath = strings.HasPrefix(refURL.Path, "/") + + // invalid json-pointer error means url has no json-pointer fragment. simply ignore error + r.referencePointer, _ = jsonpointer.New(refURL.Fragment) + + return nil +} + +// Inherits creates a new reference from a parent and a child +// If the child cannot inherit from the parent, an error is returned +func (r *Ref) Inherits(child Ref) (*Ref, error) { + childURL := child.GetURL() + parentURL := r.GetURL() + if childURL == nil { + return nil, errors.New("child url is nil") + } + if parentURL == nil { + return &child, nil + } + + ref, err := New(parentURL.ResolveReference(childURL).String()) + if err != nil { + return nil, err + } + return &ref, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.editorconfig b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.editorconfig new file mode 100644 index 0000000..3152da6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.gitignore new file mode 100644 index 0000000..dd91ed6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.gitignore @@ -0,0 +1,2 @@ +secrets.yml +coverage.out diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.golangci.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.golangci.yml new file mode 100644 index 0000000..3e33f9f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.golangci.yml @@ -0,0 +1,23 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 2 + +linters: + enable-all: true + disable: + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.travis.yml new file mode 100644 index 0000000..aa26d87 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/.travis.yml @@ -0,0 +1,15 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.11.x +- 1.12.x +install: +- GO111MODULE=off go get -u gotest.tools/gotestsum +env: +- GO111MODULE=on +language: go +notifications: + slack: + secure: QUWvCkBBK09GF7YtEvHHVt70JOkdlNBG0nIKu/5qc4/nW5HP8I2w0SEf/XR2je0eED1Qe3L/AfMCWwrEj+IUZc3l4v+ju8X8R3Lomhme0Eb0jd1MTMCuPcBT47YCj0M7RON7vXtbFfm1hFJ/jLe5+9FXz0hpXsR24PJc5ZIi/ogNwkaPqG4BmndzecpSh0vc2FJPZUD9LT0I09REY/vXR0oQAalLkW0asGD5taHZTUZq/kBpsNxaAFrLM23i4mUcf33M5fjLpvx5LRICrX/57XpBrDh2TooBU6Qj3CgoY0uPRYUmSNxbVx1czNzl2JtEpb5yjoxfVPQeg0BvQM00G8LJINISR+ohrjhkZmAqchDupAX+yFrxTtORa78CtnIL6z/aTNlgwwVD8kvL/1pFA/JWYmKDmz93mV/+6wubGzNSQCstzjkFA4/iZEKewKUoRIAi/fxyscP6L/rCpmY/4llZZvrnyTqVbt6URWpopUpH4rwYqreXAtJxJsfBJIeSmUIiDIOMGkCTvyTEW3fWGmGoqWtSHLoaWDyAIGb7azb+KvfpWtEcoPFWfSWU+LGee0A/YsUhBl7ADB9A0CJEuR8q4BPpKpfLwPKSiKSAXL7zDkyjExyhtgqbSl2jS+rKIHOZNL8JkCcTP2MKMVd563C5rC5FMKqu3S9m2b6380E= +script: +- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..9322b06 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/README.md new file mode 100644 index 0000000..6354742 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/README.md @@ -0,0 +1,10 @@ +# OAI object model [![Build Status](https://travis-ci.org/go-openapi/spec.svg?branch=master)](https://travis-ci.org/go-openapi/spec) [![codecov](https://codecov.io/gh/go-openapi/spec/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/spec) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/spec/master/LICENSE) +[![GoDoc](https://godoc.org/github.com/go-openapi/spec?status.svg)](http://godoc.org/github.com/go-openapi/spec) +[![GolangCI](https://golangci.com/badges/github.com/go-openapi/spec.svg)](https://golangci.com) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/spec)](https://goreportcard.com/report/github.com/go-openapi/spec) + +The object model for OpenAPI specification documents. + +Currently supports Swagger 2.0. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/bindata.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/bindata.go new file mode 100644 index 0000000..66b1f32 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/bindata.go @@ -0,0 +1,297 @@ +// Code generated by go-bindata. DO NOT EDIT. +// sources: +// schemas/jsonschema-draft-04.json (4.357kB) +// schemas/v2/schema.json (40.248kB) + +package spec + +import ( + "bytes" + "compress/gzip" + "crypto/sha256" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" + "strings" + "time" +) + +func bindataRead(data []byte, name string) ([]byte, error) { + gz, err := gzip.NewReader(bytes.NewBuffer(data)) + if err != nil { + return nil, fmt.Errorf("read %q: %v", name, err) + } + + var buf bytes.Buffer + _, err = io.Copy(&buf, gz) + clErr := gz.Close() + + if err != nil { + return nil, fmt.Errorf("read %q: %v", name, err) + } + if clErr != nil { + return nil, err + } + + return buf.Bytes(), nil +} + +type asset struct { + bytes []byte + info os.FileInfo + digest [sha256.Size]byte +} + +type bindataFileInfo struct { + name string + size int64 + mode os.FileMode + modTime time.Time +} + +func (fi bindataFileInfo) Name() string { + return fi.name +} +func (fi bindataFileInfo) Size() int64 { + return fi.size +} +func (fi bindataFileInfo) Mode() os.FileMode { + return fi.mode +} +func (fi bindataFileInfo) ModTime() time.Time { + return fi.modTime +} +func (fi bindataFileInfo) IsDir() bool { + return false +} +func (fi bindataFileInfo) Sys() interface{} { + return nil +} + +var _jsonschemaDraft04Json = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x57\x3d\x6f\xdb\x3c\x10\xde\xf3\x2b\x08\x26\x63\xf2\x2a\x2f\xd0\xc9\x5b\xd1\x2e\x01\x5a\x34\x43\x37\x23\x03\x6d\x9d\x6c\x06\x14\xa9\x50\x54\x60\xc3\xd0\x7f\x2f\x28\x4a\x14\x29\x91\x92\x2d\xa7\x8d\x97\x28\xbc\xaf\xe7\x8e\xf7\xc5\xd3\x0d\x42\x08\x61\x9a\xe2\x15\xc2\x7b\xa5\x8a\x55\x92\xbc\x96\x82\x3f\x94\xdb\x3d\xe4\xe4\x3f\x21\x77\x49\x2a\x49\xa6\x1e\x1e\xbf\x24\xe6\xec\x16\xdf\x1b\xa1\x3b\xf3\xff\x02\xc9\x14\xca\xad\xa4\x85\xa2\x82\x6b\xe9\x6f\x42\x02\x32\x2c\x28\x07\x45\x5a\x15\x3d\x77\x46\x39\xd5\xcc\x25\x5e\x21\x83\xb8\x21\x18\xb6\xaf\x52\x92\xa3\x47\x68\x88\xea\x58\x80\x56\x4e\x1a\xf2\xbd\x4f\xcc\x29\x7f\x52\x90\x6b\x7d\xff\x0f\x48\xb4\x3d\x3f\x21\x7c\x27\x21\xd3\x2a\x6e\x31\xaa\x2d\x53\xdd\xf3\xe3\x42\x94\x54\xd1\x77\x78\xe2\x0a\x76\x20\xe3\x20\x68\xcb\x30\x86\x41\xf3\x2a\xc7\x2b\xf4\x78\x8e\xfe\xef\x90\x91\x8a\xa9\xc7\xb1\x1d\xc2\xd8\x2f\x0d\x75\xed\xc1\x4e\x9c\xc8\x25\x43\xac\xa8\xbe\xd7\xcc\xa9\xd1\xa9\x21\xa0\x1a\xbd\x04\x61\x94\x34\x2f\x18\xfc\x3e\x16\x50\x8e\x4d\x03\x6f\x1c\x58\xdb\x48\x23\xbc\x11\x82\x01\xe1\xfa\xd3\x3a\x8e\x30\xaf\x18\x33\x7f\xf3\x8d\x39\x11\x9b\x57\xd8\x2a\xfd\x55\x2a\x49\xf9\x0e\xc7\xec\x37\xd4\x25\xf7\xec\x5c\x66\xc7\xd7\x99\xaa\xcf\x4f\x89\x8a\xd3\xb7\x0a\x3a\xaa\x92\x15\xf4\x30\x6f\x1c\xb0\xd6\x46\xe7\x98\x39\x2d\xa4\x28\x40\x2a\x3a\x88\x9e\x29\xba\x88\x37\x2d\xca\x60\x38\xfa\xba\x5b\x20\xac\xa8\x62\xb0\x4c\xd4\xaf\xda\x45\x0a\xba\x5c\x3b\xb9\xc7\x79\xc5\x14\x2d\x18\x34\x19\x1c\x51\xdb\x25\x4d\xb4\x7e\x06\x14\x38\x6c\x59\x55\xd2\x77\xf8\x69\x59\xfc\x7b\x73\xed\x93\x43\xcb\x32\x6d\x3c\x28\xdc\x1b\x9a\xd3\x62\xab\xc2\x27\xf7\x41\xc9\x08\x2b\x23\x08\xad\x13\x57\x21\x9c\xd3\x72\x0d\x42\x72\xf8\x01\x7c\xa7\xf6\x83\xce\x39\xd7\x82\x3c\x1f\x2f\xd6\x60\x1b\xa2\xdf\x35\x89\x52\x20\xe7\x73\x74\xe0\x66\x26\x64\x4e\xb4\x97\x58\xc2\x0e\x0e\xe1\x60\x92\x34\x6d\xa0\x10\xd6\xb5\x83\x61\x27\xe6\x47\xd3\x89\xbd\x63\xfd\x3b\x8d\x03\x3d\x6c\x42\x2d\x5b\x70\xee\xe8\xdf\x4b\xf4\x66\x4e\xe1\x01\x45\x17\x80\x74\xad\x4f\xc3\xf3\xae\xc6\x1d\xc6\xd7\xc2\xce\xc9\xe1\x29\x30\x86\x2f\x4a\xa6\x4b\x15\x84\x73\xc9\x6f\xfd\x7f\xa5\x6e\x9e\xbd\xf1\xb0\xd4\xdd\x45\x5a\xc2\x3e\x4b\x78\xab\xa8\x84\x74\x4a\x91\x3b\x92\x23\x05\xf2\x1c\x1e\x7b\xf3\x09\xf8\xcf\xab\x24\xb6\x60\xa2\xe8\x4c\x9f\x75\x77\xaa\x8c\xe6\x01\x45\x36\x86\xcf\xc3\x63\x3a\xea\xd4\x8d\x7e\x06\xac\x14\x0a\xe0\x29\xf0\xed\x07\x22\x1a\x65\xda\x44\xae\xa2\x73\x1a\xe6\x90\x69\xa2\x8c\x46\xb2\x2f\xde\x49\x38\x08\xed\xfe\xfd\x41\xaf\x9f\xa9\x55\xd7\xdd\x22\x8d\xfa\x45\x63\xc5\x0f\x80\xf3\xb4\x08\xd6\x79\x30\x9e\x93\xee\x59\xa6\xd0\x4b\xee\x22\xe3\x33\xc1\x3a\x27\x68\x36\x78\x7e\x87\x0a\x06\xd5\x2e\x20\xd3\xaf\x15\xfb\xd8\x3b\x73\x14\xbb\x92\xed\x05\x5d\x2e\x29\x38\x2c\x94\xe4\x42\x45\x5e\xd3\xb5\x7d\xdf\x47\xca\x38\xb4\x5c\xaf\xfb\x7d\xdd\x6d\xf4\xa1\x2d\x77\xdd\x2f\xce\x6d\xc4\x7b\x8b\x4e\x67\xa9\x6f\xfe\x04\x00\x00\xff\xff\xb1\xd1\x27\x78\x05\x11\x00\x00") + +func jsonschemaDraft04JsonBytes() ([]byte, error) { + return bindataRead( + _jsonschemaDraft04Json, + "jsonschema-draft-04.json", + ) +} + +func jsonschemaDraft04Json() (*asset, error) { + bytes, err := jsonschemaDraft04JsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "jsonschema-draft-04.json", size: 4357, mode: os.FileMode(0640), modTime: time.Unix(1568963823, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0x48, 0x9d, 0xb, 0x47, 0x55, 0xf0, 0x27, 0x93, 0x30, 0x25, 0x91, 0xd3, 0xfc, 0xb8, 0xf0, 0x7b, 0x68, 0x93, 0xa8, 0x2a, 0x94, 0xf2, 0x48, 0x95, 0xf8, 0xe4, 0xed, 0xf1, 0x1b, 0x82, 0xe2}} + return a, nil +} + +var _v2SchemaJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5d\x4f\x93\xdb\x36\xb2\xbf\xfb\x53\xa0\x14\x57\xd9\xae\xd8\x92\xe3\xf7\x2e\xcf\x97\xd4\xbc\xd8\x49\x66\x37\x5e\x4f\x79\x26\xbb\x87\x78\x5c\x05\x91\x2d\x09\x09\x09\x30\x00\x38\x33\x5a\xef\x7c\xf7\x2d\xf0\x9f\x08\x02\x20\x41\x8a\xd2\xc8\x0e\x0f\xa9\x78\x28\xa0\xd1\xdd\x68\x34\x7e\xdd\xf8\xf7\xf9\x11\x42\x33\x49\x64\x04\xb3\xd7\x68\x76\x86\xfe\x76\xf9\xfe\x1f\xe8\x32\xd8\x40\x8c\xd1\x8a\x71\x74\x79\x8b\xd7\x6b\xe0\xe8\xd5\xfc\x25\x3a\xbb\x38\x9f\xcf\x9e\xab\x0a\x24\x54\xa5\x37\x52\x26\xaf\x17\x0b\x91\x17\x99\x13\xb6\xb8\x79\xb5\x10\x59\xdd\xf9\xef\x82\xd1\x6f\xf2\xc2\x8f\xf3\x4f\xb5\x1a\xea\xc7\x17\x45\x41\xc6\xd7\x8b\x90\xe3\x95\x7c\xf1\xf2\x7f\x8b\xca\x45\x3d\xb9\x4d\x32\xa6\xd8\xf2\x77\x08\x64\xfe\x8d\xc3\x9f\x29\xe1\xa0\x9a\xff\xed\x11\x42\x08\xcd\x8a\xd6\xb3\x9f\x15\x67\x74\xc5\xca\x7f\x27\x58\x6e\xc4\xec\x11\x42\xd7\x59\x5d\x1c\x86\x44\x12\x46\x71\x74\xc1\x59\x02\x5c\x12\x10\xb3\xd7\x68\x85\x23\x01\x59\x81\x04\x4b\x09\x9c\x6a\xbf\x7e\xce\x49\x7d\xba\x7b\x51\xfd\xa1\x44\xe2\xb0\x52\xac\x7d\xb3\x08\x61\x45\x68\x46\x56\x2c\x6e\x80\x86\x8c\xbf\xbd\x93\x40\x05\x61\x74\x96\x95\xbe\x7f\x84\xd0\x7d\x4e\xde\x42\xb7\xe4\xbe\x46\xbb\x14\x5b\x48\x4e\xe8\xba\x90\x05\xa1\x19\xd0\x34\xae\xc4\xce\xbe\xbc\x9a\xbf\x9c\x15\x7f\x5d\x57\xc5\x42\x10\x01\x27\x89\xe2\x48\x51\xb9\xda\x40\xd5\x87\x37\xc0\x15\x5f\x88\xad\x90\xdc\x10\x81\x42\x16\xa4\x31\x50\x39\x2f\x38\xad\xab\xb0\x53\xd8\xac\x94\x56\x6f\xc3\x84\xf4\x11\xa4\x50\xb3\xfa\xe9\xd3\x6f\x9f\x3e\xdf\x2f\xd0\xeb\x8f\x1f\x3f\x7e\xbc\xfe\xf6\xe9\xf7\xaf\x5f\x7f\xfc\x18\x7e\xfb\xec\xfb\xc7\xb3\x36\x79\x54\x43\xe8\x29\xc5\x31\x20\xc6\x11\x49\x9e\xe5\x12\x41\x66\xa0\xe8\xed\x1d\x8e\x93\x08\x5e\xa3\x27\x3b\xc3\x7c\xa2\x73\xba\xc4\x02\x2e\xb0\xdc\xf4\xe5\x76\xd1\xca\x96\xa2\x8a\x94\xcd\x21\xc9\x6c\xec\x2c\x70\x42\x9e\x34\x74\x9d\x19\x7c\xcd\x20\x9c\xea\x2e\x0a\xfe\x42\x84\xd4\x29\x04\x8c\x8a\xb4\x41\xa2\xc1\xdc\x19\x8a\x88\x90\x4a\x49\xef\xce\xdf\xbd\x45\x4a\x52\x81\x70\x10\x40\x22\x21\x44\xcb\x6d\xc5\xec\x4e\x3c\x1c\x45\xef\x57\x9a\xb5\x7d\xae\xfe\xe5\xe4\x31\x86\x90\xe0\xab\x6d\x02\x3b\x2e\xcb\x11\x90\xd9\xa8\xc6\x77\xc2\x59\x98\x06\xfd\xf9\x2e\x78\x45\x01\xa6\xa8\xa0\x71\x5c\xbe\x33\xa7\xd2\xd9\x5f\x95\xef\xd9\xd5\xac\xfd\xdc\x5d\xbf\x5e\xb8\xd1\x3e\xc7\x31\x48\xe0\x5e\x4c\x14\x65\xdf\xb8\xa8\x71\x10\x09\xa3\xc2\xc7\x02\xcb\xa2\x4e\x5a\x02\x82\x94\x13\xb9\xf5\x30\xe6\xb2\xa4\xb5\xfe\x9b\x3e\x7a\xb2\x55\xd2\xa8\x4a\xbc\x16\xb6\x71\x8e\x39\xc7\xdb\x9d\xe1\x10\x09\x71\xbd\x9c\xb3\x41\x89\xd7\xa5\x89\xdc\x57\xb5\x53\x4a\xfe\x4c\xe1\xbc\xa0\x21\x79\x0a\x1a\x0f\x70\xa7\x5c\x08\x8e\xde\xb0\xc0\x43\x24\xad\x74\x63\x0e\xb1\xd9\x90\xe1\xb0\x2d\x13\xa7\x6d\x78\xfd\x04\x14\x38\x8e\x90\xaa\xce\x63\xac\x3e\x23\xbc\x64\xa9\xb4\xf8\x03\x63\xde\xcd\xbe\x16\x13\x4a\x55\xac\x82\x12\xc6\xac\xd4\x35\xf7\x22\xd4\x3a\xff\x22\x73\x0e\x6e\x51\xa0\x75\x1e\xae\x8f\xe8\x5d\xc7\x59\xe6\xe4\x9a\x18\x8d\xd6\x1c\x53\x84\x4d\xb7\x67\x28\x37\x09\x84\x69\x88\x12\x0e\x01\x11\x80\x32\xa2\xf5\xb9\xaa\xc6\xd9\x73\x53\xab\xfb\xb4\x2e\x20\xc6\x54\x92\xa0\x9a\xf3\x69\x1a\x2f\x81\x77\x37\xae\x53\x1a\xce\x40\xc4\xa8\x82\x1c\xb5\xef\xda\x24\x7d\xb9\x61\x69\x14\xa2\x25\xa0\x90\xac\x56\xc0\x81\x4a\xb4\xe2\x2c\xce\x4a\x64\x7a\x9a\x23\xf4\x13\x91\x3f\xa7\x4b\xf4\x63\x84\x6f\x18\x87\x10\xbd\xc3\xfc\x8f\x90\xdd\x52\x44\x04\xc2\x51\xc4\x6e\x21\x74\x48\x21\x81\xc7\xe2\xfd\xea\x12\xf8\x0d\x09\xf6\xe9\x47\x35\xaf\x67\xc4\x14\xf7\x22\x27\x97\xe1\xe2\x76\x2d\x06\x8c\x4a\x1c\x48\x3f\x73\x2d\x0b\x5b\x29\x45\x24\x00\x2a\x0c\x11\xec\x94\xca\xc2\xa6\xc1\x37\x21\x43\x83\x3b\x5f\x97\xf1\x43\x5e\x53\x73\x19\xa5\x36\xd8\x2d\x05\x2e\x34\x0b\xeb\x39\xfc\x1d\x63\x51\x01\xbd\x3d\xbb\x90\x84\x40\x25\x59\x6d\x09\x5d\xa3\x1c\x37\xe6\x5c\x16\x9a\x40\x09\x70\xc1\xe8\x82\xf1\x35\xa6\xe4\xdf\x99\x5c\x8e\x9e\x4d\x79\xb4\x27\x2f\xbf\x7e\xf8\x05\x25\x8c\x50\xa9\x98\x29\x90\x62\x60\xea\x75\xae\x13\xca\xbf\x2b\x1a\x29\x27\x76\xd6\x20\xc6\x64\x5f\xe6\x32\x1a\x08\x87\x21\x07\x21\xbc\xb4\xe4\xe0\x32\x67\xa6\xcd\xf3\x1e\xcd\xd9\x6b\xb6\x6f\x8e\x27\xa7\xed\xdb\xe7\xbc\xcc\x1a\x07\xce\x6f\x87\x33\xf0\xba\x51\x17\x22\x66\x78\x79\x8e\xce\xe5\x13\x81\x80\x06\x2c\xe5\x78\x0d\xa1\xb2\xb8\x54\xa8\x79\x09\xbd\xbf\x3c\x47\x01\x8b\x13\x2c\xc9\x32\xaa\xaa\x1d\xd5\xee\xab\x36\xbd\x6c\xfd\x54\x6c\xc8\x08\x01\x3c\xbd\xe7\x07\x88\xb0\x24\x37\x79\x90\x28\x4a\x1d\x10\x1a\x92\x1b\x12\xa6\x38\x42\x40\xc3\x4c\x43\x62\x8e\xae\x36\xb0\x45\x71\x2a\xa4\x9a\x23\x79\x59\xb1\xa8\xf2\xa4\x0c\x60\x9f\xcc\x8d\x40\xf5\x80\xca\xa8\x99\xc3\xa7\x85\x1f\x31\x25\xa9\x82\xc5\x6d\xbd\xd8\x36\x76\x7c\x02\x28\x97\xf6\x1d\x74\x3b\x11\x7e\x91\xae\x32\xf8\x6c\xf4\xe6\x7b\x9a\xa5\x1f\x62\xc6\x21\xcf\x9a\xe5\xed\x8b\x02\xf3\x2c\x33\x33\xdf\x00\xca\xc9\x09\xb4\x04\xf5\xa5\x08\xd7\xc3\x02\x18\x66\xf1\xab\x1e\x83\x37\x4c\xcd\x12\xc1\x1d\x50\xf6\xaa\xbd\xfe\xe2\x73\x48\x38\x08\xa0\x32\x9b\x18\x44\x86\x0b\x6a\xc1\xaa\x26\x96\x2d\x96\x3c\xa0\x54\x65\x73\xe3\x08\xb5\x8b\x99\xbd\x82\xbc\x9e\xc2\xe8\x53\x46\x83\x3f\x33\x54\x2b\x5b\xad\x92\x79\xd9\x8f\x5d\x93\x98\xf2\xe6\xc6\x1c\xe6\x9a\x9e\xfc\x43\x82\x31\x66\x8e\x53\x77\xfe\x90\xe7\xf3\xf6\xe9\x62\x23\x3f\x10\x93\x18\xae\x72\x1a\x9d\xf9\x48\xcb\xcc\x5a\x65\xc7\x4a\x04\xf0\xf3\xd5\xd5\x05\x8a\x41\x08\xbc\x86\x86\x43\x51\x6c\xe0\x46\x57\xf6\x44\x40\x0d\xfb\xff\xa2\xc3\x7c\x3d\x39\x84\xdc\x09\x22\x64\x4f\x12\xd9\xba\xaa\xf6\xe3\xbd\x56\xdd\x91\x25\x6a\x14\x9c\x89\x34\x8e\x31\xdf\xee\x15\x7e\x2f\x39\x81\x15\x2a\x28\x95\x66\x51\xf5\xfd\x83\xc5\xfe\x15\x07\xcf\xf7\x08\xee\x1d\x8e\xb6\xc5\x52\xcc\x8c\x5a\x93\x66\xc5\xd8\x79\x38\x46\xd6\xa7\x88\x37\xc9\x2e\xe3\xd2\xa5\x7b\x4b\x3a\xdc\xa1\xdc\x9e\x29\xf1\x8c\x8a\x99\x16\x47\x8d\xd4\x78\x8b\xf6\x1c\xe9\x71\x54\x1b\x69\xa8\x4a\x93\x37\xe5\xb2\x2c\x4f\x0c\x92\xab\xa0\x73\x32\x72\x59\xd3\xf0\x2d\x8d\xed\xca\x37\x16\x19\x9e\xdb\x1c\xab\x17\x49\xc3\x0f\x37\xdc\x88\xb1\xb4\xd4\x42\xcb\x58\x5e\x6a\x52\x0b\x15\x10\x0a\xb0\x04\xe7\xf8\x58\x32\x16\x01\xa6\xcd\x01\xb2\xc2\x69\x24\x35\x38\x6f\x30\x6a\xae\x1b\xb4\x71\xaa\xad\x1d\xa0\xd6\x20\x2d\x8b\x3c\xc6\x82\x62\x27\x34\x6d\x15\x84\x7b\x43\xb1\x35\x78\xa6\x24\x77\x28\xc1\x6e\xfc\xe9\x48\x74\xf4\x15\xe3\xe1\x84\x42\x88\x40\x7a\x26\x49\x3b\x48\xb1\xa4\x19\x8e\x0c\xa7\xb5\x01\x6c\x0c\x97\x61\x8a\xc2\x32\xd8\x8c\x44\x69\x24\xbf\x65\x1d\x74\xd6\xe5\x44\xef\xec\x48\x5e\xb7\x8a\xa3\x29\x8e\x41\x64\xce\x1f\x88\xdc\x00\x47\x4b\x40\x98\x6e\xd1\x0d\x8e\x48\x98\x63\x5c\x21\xb1\x4c\x05\x0a\x58\x98\xc5\x6d\x4f\x0a\x77\x53\x4f\x8b\xc4\x44\x1f\xb2\xdf\x8d\x3b\xea\x9f\xfe\xf6\xf2\xc5\xff\x5d\x7f\xfe\x9f\xfb\x67\x8f\xff\xf3\xe9\x69\xd1\xfe\xb3\xc7\xfd\x3c\xf8\x3f\x71\x94\x82\x23\xd1\x72\x00\xb7\x42\x99\x6c\xc0\x60\x7b\x0f\x79\xea\xa8\x53\x4b\x56\x31\xfa\x0b\x52\x9f\x96\xdb\xcd\x2f\xd7\x67\xcd\x04\x19\x85\xfe\xdb\x02\x9a\x59\x03\xad\x63\x3c\xea\xff\x2e\x18\xfd\x00\xd9\xe2\x56\x60\x59\x93\xb9\xb6\xb2\x3e\x3c\x2c\xab\x0f\xa7\xb2\x89\x43\xc7\xf6\xd5\xce\x2e\xad\xa6\xa9\xed\xa6\xc6\x5a\xb4\xa6\x67\xdf\x8c\x26\x7b\x50\x5a\x91\x08\x2e\x6d\xd4\x3a\xc1\x9d\xf2\xdb\xde\x1e\xb2\x2c\x6c\xa5\x64\xc9\x16\xb4\x90\xaa\x4a\xb7\x0c\xde\x13\xc3\x2a\x9a\x11\x9b\x7a\x1b\x3d\x95\x97\x37\x31\x6b\x69\x7e\x34\xc0\x67\x1f\x66\x19\x49\xef\xf1\x25\xf5\xac\x0e\xea\x0a\x28\x8d\x4d\x7e\xd9\x57\x4b\x49\xe5\xc6\xb3\x25\xfd\xe6\x57\x42\x25\xac\xcd\xcf\x36\x74\x8e\xca\x24\x47\xe7\x80\xa8\x92\x72\xbd\x3d\x84\x2d\x65\xe2\x82\x1a\x9c\xc4\x44\x92\x1b\x10\x79\x8a\xc4\x4a\x2f\x60\x51\x04\x81\xaa\xf0\xa3\x95\x27\xd7\x12\x7b\xa3\x96\x03\x45\x96\xc1\x8a\x07\xc9\xb2\xb0\x95\x52\x8c\xef\x48\x9c\xc6\x7e\x94\xca\xc2\x0e\x07\x12\x44\xa9\x20\x37\xf0\xae\x0f\x49\xa3\x96\x9d\x4b\x42\x7b\x70\x59\x14\xee\xe0\xb2\x0f\x49\xa3\x96\x4b\x97\xbf\x00\x5d\x4b\x4f\xfc\xbb\x2b\xee\x92\xb9\x17\xb5\xaa\xb8\x0b\x97\x17\x9b\x43\xfd\xd6\xc2\xb2\xc2\x2e\x29\xcf\xfd\x87\x4a\x55\xda\x25\x63\x1f\x5a\x65\x69\x2b\x2d\x3d\x67\xe9\x41\xae\x5e\xc1\x6e\x2b\xd4\xdb\x3e\xa8\xd3\x26\xd2\x48\x92\x24\xca\x61\x86\x8f\x8c\xbb\xf2\x8e\x91\xdf\x1f\x06\x19\x33\xf3\x03\x4d\xba\xcd\xe2\x2d\xfb\x69\xe9\x16\x15\x13\xd5\x56\x85\x4e\x3c\x5b\x8a\xbf\x25\x72\x83\xee\x5e\x20\x22\xf2\xc8\xaa\x7b\xdb\x8e\xe4\x29\x58\xca\x38\xb7\x3f\x2e\x59\xb8\xbd\xa8\x16\x16\xf7\xdb\x79\x51\x9f\x5a\xb4\x8d\x87\x3a\x6e\xbc\x3e\xc5\xb4\xcd\x58\xf9\xf5\x3c\xb9\x6f\x49\xaf\x57\xc1\xfa\x1c\x5d\x6d\x88\x8a\x8b\xd3\x28\xcc\xb7\xef\x10\x8a\x4a\x74\xa9\x4a\xa7\x62\xbf\x0d\x76\x23\x6f\x59\xd9\x31\xee\x40\x11\xfb\x28\xec\x8d\x22\x1c\x13\x5a\x64\x94\x23\x16\x60\xbb\xd2\x7c\xa0\x98\xb2\xe5\x6e\xbc\x54\x33\xe0\x3e\xb9\x52\x17\xdb\xb7\x1b\xc8\x12\x20\x8c\x23\xca\x64\x7e\x78\xa3\x62\x5b\x75\x56\xd9\x9e\x2a\x91\x27\xb0\x70\x34\x1f\x90\x89\xb5\x86\x73\x7e\x71\xda\x1e\xfb\x3a\x72\xdc\x5e\x79\x88\xcb\x74\x79\xd9\x64\xe4\xd4\xc2\x9e\xce\xb1\xfe\x85\x5a\xc0\xe9\x0c\x34\x3d\xd0\x43\xce\xa1\x36\x39\xd5\xa1\x4e\xf5\xf8\xb1\xa9\x23\x08\x75\x84\xac\x53\x6c\x3a\xc5\xa6\x53\x6c\x3a\xc5\xa6\x7f\xc5\xd8\xf4\x51\xfd\xff\x25\x4e\xfa\x33\x05\xbe\x9d\x60\xd2\x04\x93\x6a\x5f\x33\x9b\x98\x50\xd2\xe1\x50\x52\xc6\xcc\xdb\x38\x91\xdb\xe6\xaa\xa2\x8f\xa1\x6a\xa6\xd4\xc6\x56\xd6\x8c\x40\x02\x68\x48\xe8\x1a\xe1\x9a\xd9\x2e\xb7\x05\xc3\x34\xda\x2a\xbb\xcd\x12\x36\x98\x22\x50\x4c\xa1\x1b\xc5\xd5\x84\xf0\xbe\x24\x84\xf7\x2f\x22\x37\xef\x94\xd7\x9f\xa0\xde\x04\xf5\x26\xa8\x37\x41\x3d\x64\x40\x3d\xe5\xf2\xde\x60\x89\x27\xb4\x37\xa1\xbd\xda\xd7\xd2\x2c\x26\xc0\x37\x01\x3e\x1b\xef\x5f\x06\xe0\x6b\x7c\x5c\x91\x08\x26\x10\x38\x81\xc0\x09\x04\x76\x4a\x3d\x81\xc0\xbf\x12\x08\x4c\xb0\xdc\x7c\x99\x00\xd0\x75\x70\xb4\xf8\x5a\x7c\xea\xde\x3e\x39\x08\x30\x5a\x27\x35\xed\xb4\x65\xad\x69\x74\x10\x88\x79\xe2\x30\x52\x19\xd6\x04\x21\xa7\x95\xd5\x0e\x03\xf8\xda\x20\xd7\x84\xb4\x26\xa4\x35\x21\xad\x09\x69\x21\x03\x69\x51\x46\xff\xff\x18\x9b\x54\xed\x87\x47\x06\x9d\x4e\x73\x6e\x9a\xb3\xa9\xce\x83\x5e\x4b\xc6\x71\x20\x45\xd7\x72\xf5\x40\x72\x0e\x34\x6c\xf4\x6c\xf3\xba\x5e\x4b\x97\x0e\x52\xb8\xbe\x8b\x79\xa0\x10\x86\xa1\x75\xb0\x6f\xec\xc8\xf4\x3d\x4d\x7b\x86\xc2\x02\x31\x12\x51\xbf\x07\x94\xad\x10\xd6\x2e\x79\xcf\xe9\x1c\xf5\x1e\x31\x23\x5c\x18\xfb\x9c\xfb\x70\xe0\x62\xbd\xf7\xb5\x94\xcf\xf3\xf6\xfa\xc5\x4e\x9c\x85\x76\x1d\xae\x37\xbc\xde\xa3\x41\xcb\x29\xd0\x5e\x70\x67\x50\x93\x6d\x98\xa8\xd3\x67\x0f\x68\xb1\xeb\x38\x47\x07\x10\x1b\xd2\xe2\x18\x68\x6d\x40\xbb\xa3\x40\xba\x21\xf2\x8e\x81\xfb\xf6\x92\x77\x2f\x70\xe8\xdb\xb2\x36\xbf\x30\x91\xc5\x21\xe7\x45\xcc\x34\x0c\x48\x8e\xd0\xf2\x9b\x7c\x3c\xbd\x1c\x04\x3e\x07\xe8\x7c\x2f\x84\x7a\x48\x4d\x1f\xba\xe1\x76\x45\x7b\x60\xe0\x01\xca\xee\x04\xca\x31\xbe\x73\x5f\xa3\x70\x0c\xad\x1f\xa5\xf5\x76\xd5\xbb\xd2\x7e\xfb\x30\x90\xcf\xfa\x67\x7a\xe6\xc3\x37\x42\x19\xe2\xc9\x9c\x61\x4c\xe7\xd1\x77\x55\x86\x6e\x8f\x7b\x85\x42\x33\xa3\xaa\x57\xae\xfd\xd5\xcc\x9c\x56\x68\xe2\xde\x0e\xa8\x2c\xa9\xb0\x7d\xf0\x54\x2d\x80\xf2\x48\x39\x3d\x98\x1a\x6d\x0b\x9d\xba\x53\xfb\xce\xf8\xd1\x7e\xbb\x60\x4f\x06\xf5\xce\xda\xab\xeb\xca\xcb\xd5\xac\x20\xda\x72\x3b\xa2\x4b\x38\xd7\xb5\x89\xbe\x42\xd9\xb9\x73\xc4\x0c\x6d\xb7\xd9\xf8\x8d\xbd\x3e\x9c\xf5\x53\x68\x48\x14\x36\x8f\x09\xc5\x92\xf1\x21\xd1\x09\x07\x1c\xbe\xa7\x91\xf3\x6a\xc8\xc1\x57\xb0\xdd\xc5\xc6\x1d\xad\x76\x1d\xa8\x82\x0e\x4c\x38\xfe\xa5\x8c\xc5\x0a\x40\x5d\xa1\xbb\x98\xd1\xfb\x74\x61\xed\x1a\x98\xaf\x3c\x8c\x1e\xe3\xc2\x92\x29\x74\x3e\x99\xd0\xf9\x41\x50\xd0\x38\x4b\x57\x7e\x5b\x7a\x0e\xe6\xce\x4e\xd7\x19\x35\x57\xbb\x3c\x3c\xd2\x5e\x4f\x4b\x4c\xf7\x0f\x4d\x2b\x91\x5d\x94\xa6\x95\xc8\x69\x25\x72\x5a\x89\x7c\xb8\x95\xc8\x07\x80\x8c\xda\x9c\x64\x7b\xb7\x71\xdf\x57\x12\x4b\x9a\x1f\x72\x0c\x13\x03\xad\x3c\xd5\x4e\xde\x8e\x57\x13\x6d\x34\x86\xcf\x97\xe6\xa4\x68\xc4\xb0\xf6\xc9\xc2\xeb\x8d\x0b\xd7\xcd\xfe\xba\xa6\xf5\x30\xeb\x30\x33\xbe\xc7\x56\x27\xab\x08\xd9\x6d\xbb\x09\xee\x7c\x2d\xcf\xee\x87\x38\xac\xc8\xdd\x90\x9a\x58\x4a\x4e\x96\xa9\x79\x79\xf3\xde\x20\xf0\x96\xe3\x24\x19\xeb\xba\xf2\x53\x19\xab\x12\xaf\x47\xb3\xa0\x3e\xef\x9b\x8d\x6d\x6d\x7b\xde\x3b\x3b\x1a\xc0\x3f\x95\x7e\xed\x78\xfb\x76\xb8\xaf\xb3\xdd\xc5\xeb\x95\xed\x5a\x62\x41\x82\xb3\x54\x6e\x80\x4a\x92\x6f\x36\xbd\x34\xae\xde\x6f\xa4\xc0\xbc\x08\xe3\x84\xfc\x1d\xb6\xe3\xd0\x62\x38\x95\x9b\x57\xe7\x71\x12\x91\x80\xc8\x31\x69\x5e\x60\x21\x6e\x19\x0f\xc7\xa4\x79\x96\x28\x3e\x47\x54\x65\x41\x36\x08\x40\x88\x1f\x58\x08\x56\xaa\xd5\xbf\xaf\xad\x96\xd7\xd6\xcf\x87\xf5\x34\x0f\x71\x93\x6e\x26\xed\x98\x5b\x9f\x4f\xcf\x95\x34\xc6\xd7\x11\xfa\xb0\x81\x22\x1a\xdb\xdf\x8e\xdc\xc3\xb9\xf8\xdd\x5d\x3c\x74\xe6\xea\xb7\x8b\xbf\xf5\x6e\xb3\x46\x2e\x64\xf4\xab\x3c\x4e\xcf\x36\x1d\xfe\xfa\xb8\x36\xba\x8a\xd8\xad\xf6\xc6\x41\x2a\x37\x8c\x17\x0f\xda\xfe\xda\xe7\x65\xbc\x71\x2c\x36\x57\x8a\x47\x12\x4c\xf1\xbd\x77\x6b\xa4\x50\x7e\x77\x7b\x22\x60\x89\xef\xcd\xf5\xb9\x0c\x97\x79\x0d\x2b\x35\x43\xcb\x3d\x24\xf1\x78\xfc\xf8\xcb\x1f\x15\x06\xe2\x78\xd8\x51\x21\xd9\x1f\xf0\xf5\x8f\x86\xa4\x50\xfa\xb1\x47\x43\xa5\xdd\x69\x14\xe8\xa3\xc0\x86\x91\xa7\x81\x50\xb4\x7c\xc0\x81\x80\x77\x7a\x9f\xc6\xc2\xa9\x8c\x05\x33\xb0\x3b\x31\xa4\xf4\xd7\x1b\x26\x55\x97\x7c\x65\xf8\x69\x1a\x84\x8e\x41\x78\xd9\xec\xc5\x11\x16\x1e\x74\x91\xf5\x56\xf5\x57\x49\x47\x5c\x92\xa9\x1e\x99\x36\xf4\xdb\xb1\x0e\xd3\x78\x02\xb0\x9b\x25\xcb\xe9\xe9\x1d\x0d\x44\x01\x42\x08\x91\x64\xd9\xdd\x37\x08\x17\xef\xf9\xe5\x0f\xbd\x46\x91\xf5\xf9\x89\x92\x37\xdd\x89\x59\x44\x1f\x9c\xee\x34\x1e\xbe\x47\x83\x32\x72\x8e\x37\xdf\xac\x69\x38\xef\x75\xb0\xda\xdb\xac\x83\x94\x2f\x39\xa6\x62\x05\x1c\x25\x9c\x49\x16\xb0\xa8\x3c\xc7\x7e\x76\x71\x3e\x6f\xb5\x24\xe7\xe8\xb7\xb9\xc7\x6c\x43\x92\xee\x21\xd4\x17\xa1\x7f\xba\x35\xfe\xae\x39\xbc\xde\xba\x69\xd9\x8e\xe1\x62\xde\x64\x7d\x16\x88\x1b\xed\x29\x11\xfd\x4f\xa9\xff\x99\x90\xc4\xf6\xf4\xf9\x6e\xe9\x28\x23\xd7\xca\xe5\xee\xee\x9f\x63\xb1\x5b\xfb\x10\xd7\x2f\x1d\xf2\xe3\xbf\xb9\xb5\x6f\xa4\x6d\x7d\x25\x79\xfb\x24\x31\xea\x56\xbe\x5d\x53\xcd\x2d\x36\xa3\x6d\xdf\xab\x1c\xb8\x6d\x6f\xc0\x98\xa7\xdd\xaa\x86\x8c\x1d\x39\xa3\x9d\x70\x2b\x9b\x68\xd9\xfd\x33\xfe\xa9\xb6\x4a\x2e\x63\x0f\xcf\x68\x27\xd9\x4c\xb9\x46\x6d\xcb\xbe\xa1\xa8\xd6\x5f\xc6\xd6\x9f\xf1\x4f\xf4\xd4\xb4\x78\xd0\xd6\xf4\x13\x3c\x3b\xac\xd0\xdc\x90\x34\xda\xc9\xb4\x9a\x1a\x8d\xbd\x93\x87\xd4\xe2\x21\x1b\xb3\x2b\xd1\xbe\xe7\x69\xd4\x53\x67\xd5\x40\xa0\xe3\x19\x3f\x6d\x1a\xbc\x0e\x86\x3c\x10\xb4\x3d\x2a\xcd\x78\x32\xe6\xab\xbd\x36\xc9\xf4\x3a\x58\xae\xc3\xf4\x47\xea\xbf\xfb\x47\xff\x0d\x00\x00\xff\xff\xd2\x32\x5a\x28\x38\x9d\x00\x00") + +func v2SchemaJsonBytes() ([]byte, error) { + return bindataRead( + _v2SchemaJson, + "v2/schema.json", + ) +} + +func v2SchemaJson() (*asset, error) { + bytes, err := v2SchemaJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "v2/schema.json", size: 40248, mode: os.FileMode(0640), modTime: time.Unix(1568964748, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xab, 0x88, 0x5e, 0xf, 0xbf, 0x17, 0x74, 0x0, 0xb2, 0x5a, 0x7f, 0xbc, 0x58, 0xcd, 0xc, 0x25, 0x73, 0xd5, 0x29, 0x1c, 0x7a, 0xd0, 0xce, 0x79, 0xd4, 0x89, 0x31, 0x27, 0x90, 0xf2, 0xff, 0xe6}} + return a, nil +} + +// Asset loads and returns the asset for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func Asset(name string) ([]byte, error) { + canonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[canonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) + } + return a.bytes, nil + } + return nil, fmt.Errorf("Asset %s not found", name) +} + +// AssetString returns the asset contents as a string (instead of a []byte). +func AssetString(name string) (string, error) { + data, err := Asset(name) + return string(data), err +} + +// MustAsset is like Asset but panics when Asset would return an error. +// It simplifies safe initialization of global variables. +func MustAsset(name string) []byte { + a, err := Asset(name) + if err != nil { + panic("asset: Asset(" + name + "): " + err.Error()) + } + + return a +} + +// MustAssetString is like AssetString but panics when Asset would return an +// error. It simplifies safe initialization of global variables. +func MustAssetString(name string) string { + return string(MustAsset(name)) +} + +// AssetInfo loads and returns the asset info for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func AssetInfo(name string) (os.FileInfo, error) { + canonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[canonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) + } + return a.info, nil + } + return nil, fmt.Errorf("AssetInfo %s not found", name) +} + +// AssetDigest returns the digest of the file with the given name. It returns an +// error if the asset could not be found or the digest could not be loaded. +func AssetDigest(name string) ([sha256.Size]byte, error) { + canonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[canonicalName]; ok { + a, err := f() + if err != nil { + return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err) + } + return a.digest, nil + } + return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name) +} + +// Digests returns a map of all known files and their checksums. +func Digests() (map[string][sha256.Size]byte, error) { + mp := make(map[string][sha256.Size]byte, len(_bindata)) + for name := range _bindata { + a, err := _bindata[name]() + if err != nil { + return nil, err + } + mp[name] = a.digest + } + return mp, nil +} + +// AssetNames returns the names of the assets. +func AssetNames() []string { + names := make([]string, 0, len(_bindata)) + for name := range _bindata { + names = append(names, name) + } + return names +} + +// _bindata is a table, holding each asset generator, mapped to its name. +var _bindata = map[string]func() (*asset, error){ + "jsonschema-draft-04.json": jsonschemaDraft04Json, + + "v2/schema.json": v2SchemaJson, +} + +// AssetDir returns the file names below a certain +// directory embedded in the file by go-bindata. +// For example if you run go-bindata on data/... and data contains the +// following hierarchy: +// data/ +// foo.txt +// img/ +// a.png +// b.png +// then AssetDir("data") would return []string{"foo.txt", "img"}, +// AssetDir("data/img") would return []string{"a.png", "b.png"}, +// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and +// AssetDir("") will return []string{"data"}. +func AssetDir(name string) ([]string, error) { + node := _bintree + if len(name) != 0 { + canonicalName := strings.Replace(name, "\\", "/", -1) + pathList := strings.Split(canonicalName, "/") + for _, p := range pathList { + node = node.Children[p] + if node == nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + } + } + if node.Func != nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + rv := make([]string, 0, len(node.Children)) + for childName := range node.Children { + rv = append(rv, childName) + } + return rv, nil +} + +type bintree struct { + Func func() (*asset, error) + Children map[string]*bintree +} + +var _bintree = &bintree{nil, map[string]*bintree{ + "jsonschema-draft-04.json": &bintree{jsonschemaDraft04Json, map[string]*bintree{}}, + "v2": &bintree{nil, map[string]*bintree{ + "schema.json": &bintree{v2SchemaJson, map[string]*bintree{}}, + }}, +}} + +// RestoreAsset restores an asset under the given directory. +func RestoreAsset(dir, name string) error { + data, err := Asset(name) + if err != nil { + return err + } + info, err := AssetInfo(name) + if err != nil { + return err + } + err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) + if err != nil { + return err + } + err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) + if err != nil { + return err + } + return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) +} + +// RestoreAssets restores an asset under the given directory recursively. +func RestoreAssets(dir, name string) error { + children, err := AssetDir(name) + // File + if err != nil { + return RestoreAsset(dir, name) + } + // Dir + for _, child := range children { + err = RestoreAssets(dir, filepath.Join(name, child)) + if err != nil { + return err + } + } + return nil +} + +func _filePath(dir, name string) string { + canonicalName := strings.Replace(name, "\\", "/", -1) + return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/cache.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/cache.go new file mode 100644 index 0000000..3fada0d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/cache.go @@ -0,0 +1,60 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import "sync" + +// ResolutionCache a cache for resolving urls +type ResolutionCache interface { + Get(string) (interface{}, bool) + Set(string, interface{}) +} + +type simpleCache struct { + lock sync.RWMutex + store map[string]interface{} +} + +// Get retrieves a cached URI +func (s *simpleCache) Get(uri string) (interface{}, bool) { + debugLog("getting %q from resolution cache", uri) + s.lock.RLock() + v, ok := s.store[uri] + debugLog("got %q from resolution cache: %t", uri, ok) + + s.lock.RUnlock() + return v, ok +} + +// Set caches a URI +func (s *simpleCache) Set(uri string, data interface{}) { + s.lock.Lock() + s.store[uri] = data + s.lock.Unlock() +} + +var resCache ResolutionCache + +func init() { + resCache = initResolutionCache() +} + +// initResolutionCache initializes the URI resolution cache +func initResolutionCache() ResolutionCache { + return &simpleCache{store: map[string]interface{}{ + "http://swagger.io/v2/schema.json": MustLoadSwagger20Schema(), + "http://json-schema.org/draft-04/schema": MustLoadJSONSchemaDraft04(), + }} +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/contact_info.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/contact_info.go new file mode 100644 index 0000000..f285970 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/contact_info.go @@ -0,0 +1,24 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +// ContactInfo contact information for the exposed API. +// +// For more information: http://goo.gl/8us55a#contactObject +type ContactInfo struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` + Email string `json:"email,omitempty"` +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/debug.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/debug.go new file mode 100644 index 0000000..389c528 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/debug.go @@ -0,0 +1,47 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "fmt" + "log" + "os" + "path/filepath" + "runtime" +) + +var ( + // Debug is true when the SWAGGER_DEBUG env var is not empty. + // It enables a more verbose logging of this package. + Debug = os.Getenv("SWAGGER_DEBUG") != "" + // specLogger is a debug logger for this package + specLogger *log.Logger +) + +func init() { + debugOptions() +} + +func debugOptions() { + specLogger = log.New(os.Stdout, "spec:", log.LstdFlags) +} + +func debugLog(msg string, args ...interface{}) { + // A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog() + if Debug { + _, file1, pos1, _ := runtime.Caller(1) + specLogger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...)) + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/expander.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/expander.go new file mode 100644 index 0000000..1e7fc8c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/expander.go @@ -0,0 +1,650 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "fmt" + "strings" +) + +// ExpandOptions provides options for spec expand +type ExpandOptions struct { + RelativeBase string + SkipSchemas bool + ContinueOnError bool + AbsoluteCircularRef bool +} + +// ResolveRefWithBase resolves a reference against a context root with preservation of base path +func ResolveRefWithBase(root interface{}, ref *Ref, opts *ExpandOptions) (*Schema, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + specBasePath := "" + if opts != nil && opts.RelativeBase != "" { + specBasePath, _ = absPath(opts.RelativeBase) + } + + result := new(Schema) + if err := resolver.Resolve(ref, result, specBasePath); err != nil { + return nil, err + } + return result, nil +} + +// ResolveRef resolves a reference against a context root +// ref is guaranteed to be in root (no need to go to external files) +// ResolveRef is ONLY called from the code generation module +func ResolveRef(root interface{}, ref *Ref) (*Schema, error) { + res, _, err := ref.GetPointer().Get(root) + if err != nil { + panic(err) + } + switch sch := res.(type) { + case Schema: + return &sch, nil + case *Schema: + return sch, nil + case map[string]interface{}: + b, _ := json.Marshal(sch) + newSch := new(Schema) + _ = json.Unmarshal(b, newSch) + return newSch, nil + default: + return nil, fmt.Errorf("unknown type for the resolved reference") + } +} + +// ResolveParameter resolves a parameter reference against a context root +func ResolveParameter(root interface{}, ref Ref) (*Parameter, error) { + return ResolveParameterWithBase(root, ref, nil) +} + +// ResolveParameterWithBase resolves a parameter reference against a context root and base path +func ResolveParameterWithBase(root interface{}, ref Ref, opts *ExpandOptions) (*Parameter, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + + result := new(Parameter) + if err := resolver.Resolve(&ref, result, ""); err != nil { + return nil, err + } + return result, nil +} + +// ResolveResponse resolves response a reference against a context root +func ResolveResponse(root interface{}, ref Ref) (*Response, error) { + return ResolveResponseWithBase(root, ref, nil) +} + +// ResolveResponseWithBase resolves response a reference against a context root and base path +func ResolveResponseWithBase(root interface{}, ref Ref, opts *ExpandOptions) (*Response, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + + result := new(Response) + if err := resolver.Resolve(&ref, result, ""); err != nil { + return nil, err + } + return result, nil +} + +// ResolveItems resolves parameter items reference against a context root and base path. +// +// NOTE: stricly speaking, this construct is not supported by Swagger 2.0. +// Similarly, $ref are forbidden in response headers. +func ResolveItems(root interface{}, ref Ref, opts *ExpandOptions) (*Items, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + basePath := "" + if opts.RelativeBase != "" { + basePath = opts.RelativeBase + } + result := new(Items) + if err := resolver.Resolve(&ref, result, basePath); err != nil { + return nil, err + } + return result, nil +} + +// ResolvePathItem resolves response a path item against a context root and base path +func ResolvePathItem(root interface{}, ref Ref, opts *ExpandOptions) (*PathItem, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + basePath := "" + if opts.RelativeBase != "" { + basePath = opts.RelativeBase + } + result := new(PathItem) + if err := resolver.Resolve(&ref, result, basePath); err != nil { + return nil, err + } + return result, nil +} + +// ExpandSpec expands the references in a swagger spec +func ExpandSpec(spec *Swagger, options *ExpandOptions) error { + resolver, err := defaultSchemaLoader(spec, options, nil, nil) + // Just in case this ever returns an error. + if resolver.shouldStopOnError(err) { + return err + } + + // getting the base path of the spec to adjust all subsequent reference resolutions + specBasePath := "" + if options != nil && options.RelativeBase != "" { + specBasePath, _ = absPath(options.RelativeBase) + } + + if options == nil || !options.SkipSchemas { + for key, definition := range spec.Definitions { + var def *Schema + var err error + if def, err = expandSchema(definition, []string{fmt.Sprintf("#/definitions/%s", key)}, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + if def != nil { + spec.Definitions[key] = *def + } + } + } + + for key := range spec.Parameters { + parameter := spec.Parameters[key] + if err := expandParameterOrResponse(¶meter, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Parameters[key] = parameter + } + + for key := range spec.Responses { + response := spec.Responses[key] + if err := expandParameterOrResponse(&response, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Responses[key] = response + } + + if spec.Paths != nil { + for key := range spec.Paths.Paths { + path := spec.Paths.Paths[key] + if err := expandPathItem(&path, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Paths.Paths[key] = path + } + } + + return nil +} + +// baseForRoot loads in the cache the root document and produces a fake "root" base path entry +// for further $ref resolution +func baseForRoot(root interface{}, cache ResolutionCache) string { + // cache the root document to resolve $ref's + const rootBase = "root" + if root != nil { + base, _ := absPath(rootBase) + normalizedBase := normalizeAbsPath(base) + debugLog("setting root doc in cache at: %s", normalizedBase) + if cache == nil { + cache = resCache + } + cache.Set(normalizedBase, root) + return rootBase + } + return "" +} + +// ExpandSchema expands the refs in the schema object with reference to the root object +// go-openapi/validate uses this function +// notice that it is impossible to reference a json schema in a different file other than root +func ExpandSchema(schema *Schema, root interface{}, cache ResolutionCache) error { + opts := &ExpandOptions{ + // when a root is specified, cache the root as an in-memory document for $ref retrieval + RelativeBase: baseForRoot(root, cache), + SkipSchemas: false, + ContinueOnError: false, + // when no base path is specified, remaining $ref (circular) are rendered with an absolute path + AbsoluteCircularRef: true, + } + return ExpandSchemaWithBasePath(schema, cache, opts) +} + +// ExpandSchemaWithBasePath expands the refs in the schema object, base path configured through expand options +func ExpandSchemaWithBasePath(schema *Schema, cache ResolutionCache, opts *ExpandOptions) error { + if schema == nil { + return nil + } + + var basePath string + if opts.RelativeBase != "" { + basePath, _ = absPath(opts.RelativeBase) + } + + resolver, err := defaultSchemaLoader(nil, opts, cache, nil) + if err != nil { + return err + } + + refs := []string{""} + var s *Schema + if s, err = expandSchema(*schema, refs, resolver, basePath); err != nil { + return err + } + *schema = *s + return nil +} + +func expandItems(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { + if target.Items != nil { + if target.Items.Schema != nil { + t, err := expandSchema(*target.Items.Schema, parentRefs, resolver, basePath) + if err != nil { + return nil, err + } + *target.Items.Schema = *t + } + for i := range target.Items.Schemas { + t, err := expandSchema(target.Items.Schemas[i], parentRefs, resolver, basePath) + if err != nil { + return nil, err + } + target.Items.Schemas[i] = *t + } + } + return &target, nil +} + +func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { + if target.Ref.String() == "" && target.Ref.IsRoot() { + // normalizing is important + newRef := normalizeFileRef(&target.Ref, basePath) + target.Ref = *newRef + return &target, nil + + } + + // change the base path of resolution when an ID is encountered + // otherwise the basePath should inherit the parent's + // important: ID can be relative path + if target.ID != "" { + debugLog("schema has ID: %s", target.ID) + // handling the case when id is a folder + // remember that basePath has to be a file + refPath := target.ID + if strings.HasSuffix(target.ID, "/") { + // path.Clean here would not work correctly if basepath is http + refPath = fmt.Sprintf("%s%s", refPath, "placeholder.json") + } + basePath = normalizePaths(refPath, basePath) + } + + var t *Schema + // if Ref is found, everything else doesn't matter + // Ref also changes the resolution scope of children expandSchema + if target.Ref.String() != "" { + // here the resolution scope is changed because a $ref was encountered + normalizedRef := normalizeFileRef(&target.Ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if resolver.isCircular(normalizedRef, basePath, parentRefs...) { + // this means there is a cycle in the recursion tree: return the Ref + // - circular refs cannot be expanded. We leave them as ref. + // - denormalization means that a new local file ref is set relative to the original basePath + debugLog("shortcut circular ref: basePath: %s, normalizedPath: %s, normalized ref: %s", + basePath, normalizedBasePath, normalizedRef.String()) + if !resolver.options.AbsoluteCircularRef { + target.Ref = *denormalizeFileRef(normalizedRef, normalizedBasePath, resolver.context.basePath) + } else { + target.Ref = *normalizedRef + } + return &target, nil + } + + debugLog("basePath: %s: calling Resolve with target: %#v", basePath, target) + if err := resolver.Resolve(&target.Ref, &t, basePath); resolver.shouldStopOnError(err) { + return nil, err + } + + if t != nil { + parentRefs = append(parentRefs, normalizedRef.String()) + var err error + transitiveResolver, err := resolver.transitiveResolver(basePath, target.Ref) + if transitiveResolver.shouldStopOnError(err) { + return nil, err + } + + basePath = resolver.updateBasePath(transitiveResolver, normalizedBasePath) + + return expandSchema(*t, parentRefs, transitiveResolver, basePath) + } + } + + t, err := expandItems(target, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target = *t + } + + for i := range target.AllOf { + t, err := expandSchema(target.AllOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + target.AllOf[i] = *t + } + for i := range target.AnyOf { + t, err := expandSchema(target.AnyOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + target.AnyOf[i] = *t + } + for i := range target.OneOf { + t, err := expandSchema(target.OneOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.OneOf[i] = *t + } + } + if target.Not != nil { + t, err := expandSchema(*target.Not, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.Not = *t + } + } + for k := range target.Properties { + t, err := expandSchema(target.Properties[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.Properties[k] = *t + } + } + if target.AdditionalProperties != nil && target.AdditionalProperties.Schema != nil { + t, err := expandSchema(*target.AdditionalProperties.Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.AdditionalProperties.Schema = *t + } + } + for k := range target.PatternProperties { + t, err := expandSchema(target.PatternProperties[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.PatternProperties[k] = *t + } + } + for k := range target.Dependencies { + if target.Dependencies[k].Schema != nil { + t, err := expandSchema(*target.Dependencies[k].Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.Dependencies[k].Schema = *t + } + } + } + if target.AdditionalItems != nil && target.AdditionalItems.Schema != nil { + t, err := expandSchema(*target.AdditionalItems.Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.AdditionalItems.Schema = *t + } + } + for k := range target.Definitions { + t, err := expandSchema(target.Definitions[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.Definitions[k] = *t + } + } + return &target, nil +} + +func expandPathItem(pathItem *PathItem, resolver *schemaLoader, basePath string) error { + if pathItem == nil { + return nil + } + + parentRefs := []string{} + if err := resolver.deref(pathItem, parentRefs, basePath); resolver.shouldStopOnError(err) { + return err + } + if pathItem.Ref.String() != "" { + var err error + resolver, err = resolver.transitiveResolver(basePath, pathItem.Ref) + if resolver.shouldStopOnError(err) { + return err + } + } + pathItem.Ref = Ref{} + + for idx := range pathItem.Parameters { + if err := expandParameterOrResponse(&(pathItem.Parameters[idx]), resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + } + ops := []*Operation{ + pathItem.Get, + pathItem.Head, + pathItem.Options, + pathItem.Put, + pathItem.Post, + pathItem.Patch, + pathItem.Delete, + } + for _, op := range ops { + if err := expandOperation(op, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + } + return nil +} + +func expandOperation(op *Operation, resolver *schemaLoader, basePath string) error { + if op == nil { + return nil + } + + for i := range op.Parameters { + param := op.Parameters[i] + if err := expandParameterOrResponse(¶m, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + op.Parameters[i] = param + } + + if op.Responses != nil { + responses := op.Responses + if err := expandParameterOrResponse(responses.Default, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + for code := range responses.StatusCodeResponses { + response := responses.StatusCodeResponses[code] + if err := expandParameterOrResponse(&response, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + responses.StatusCodeResponses[code] = response + } + } + return nil +} + +// ExpandResponseWithRoot expands a response based on a root document, not a fetchable document +func ExpandResponseWithRoot(response *Response, root interface{}, cache ResolutionCache) error { + opts := &ExpandOptions{ + RelativeBase: baseForRoot(root, cache), + SkipSchemas: false, + ContinueOnError: false, + // when no base path is specified, remaining $ref (circular) are rendered with an absolute path + AbsoluteCircularRef: true, + } + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(response, resolver, opts.RelativeBase) +} + +// ExpandResponse expands a response based on a basepath +// This is the exported version of expandResponse +// all refs inside response will be resolved relative to basePath +func ExpandResponse(response *Response, basePath string) error { + var specBasePath string + if basePath != "" { + specBasePath, _ = absPath(basePath) + } + opts := &ExpandOptions{ + RelativeBase: specBasePath, + } + resolver, err := defaultSchemaLoader(nil, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(response, resolver, opts.RelativeBase) +} + +// ExpandParameterWithRoot expands a parameter based on a root document, not a fetchable document +func ExpandParameterWithRoot(parameter *Parameter, root interface{}, cache ResolutionCache) error { + opts := &ExpandOptions{ + RelativeBase: baseForRoot(root, cache), + SkipSchemas: false, + ContinueOnError: false, + // when no base path is specified, remaining $ref (circular) are rendered with an absolute path + AbsoluteCircularRef: true, + } + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) +} + +// ExpandParameter expands a parameter based on a basepath. +// This is the exported version of expandParameter +// all refs inside parameter will be resolved relative to basePath +func ExpandParameter(parameter *Parameter, basePath string) error { + var specBasePath string + if basePath != "" { + specBasePath, _ = absPath(basePath) + } + opts := &ExpandOptions{ + RelativeBase: specBasePath, + } + resolver, err := defaultSchemaLoader(nil, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) +} + +func getRefAndSchema(input interface{}) (*Ref, *Schema, error) { + var ref *Ref + var sch *Schema + switch refable := input.(type) { + case *Parameter: + if refable == nil { + return nil, nil, nil + } + ref = &refable.Ref + sch = refable.Schema + case *Response: + if refable == nil { + return nil, nil, nil + } + ref = &refable.Ref + sch = refable.Schema + default: + return nil, nil, fmt.Errorf("expand: unsupported type %T. Input should be of type *Parameter or *Response", input) + } + return ref, sch, nil +} + +func expandParameterOrResponse(input interface{}, resolver *schemaLoader, basePath string) error { + ref, _, err := getRefAndSchema(input) + if err != nil { + return err + } + if ref == nil { + return nil + } + parentRefs := []string{} + if err := resolver.deref(input, parentRefs, basePath); resolver.shouldStopOnError(err) { + return err + } + ref, sch, _ := getRefAndSchema(input) + if ref.String() != "" { + transitiveResolver, err := resolver.transitiveResolver(basePath, *ref) + if transitiveResolver.shouldStopOnError(err) { + return err + } + basePath = resolver.updateBasePath(transitiveResolver, basePath) + resolver = transitiveResolver + } + + if sch != nil && sch.Ref.String() != "" { + // schema expanded to a $ref in another root + var ern error + sch.Ref, ern = NewRef(normalizePaths(sch.Ref.String(), ref.RemoteURI())) + if ern != nil { + return ern + } + } + if ref != nil { + *ref = Ref{} + } + + if !resolver.options.SkipSchemas && sch != nil { + s, err := expandSchema(*sch, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return err + } + *sch = *s + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/external_docs.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/external_docs.go new file mode 100644 index 0000000..88add91 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/external_docs.go @@ -0,0 +1,24 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +// ExternalDocumentation allows referencing an external resource for +// extended documentation. +// +// For more information: http://goo.gl/8us55a#externalDocumentationObject +type ExternalDocumentation struct { + Description string `json:"description,omitempty"` + URL string `json:"url,omitempty"` +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.mod new file mode 100644 index 0000000..02a142c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.mod @@ -0,0 +1,17 @@ +module github.com/go-openapi/spec + +require ( + github.com/go-openapi/jsonpointer v0.19.3 + github.com/go-openapi/jsonreference v0.19.2 + github.com/go-openapi/swag v0.19.5 + github.com/kr/pty v1.1.5 // indirect + github.com/stretchr/objx v0.2.0 // indirect + github.com/stretchr/testify v1.3.0 + golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 // indirect + golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 // indirect + golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f // indirect + golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59 // indirect + gopkg.in/yaml.v2 v2.2.2 +) + +go 1.13 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.sum new file mode 100644 index 0000000..86db601 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/go.sum @@ -0,0 +1,74 @@ +github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4= +github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-openapi/jsonpointer v0.17.0 h1:nH6xp8XdXHx8dqveo0ZuJBluCO2qGrPbDNZ0dwoRHP0= +github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.19.0 h1:FTUMcX77w5rQkClIzDtTxvn6Bsa894CcrzNj2MMfeg8= +github.com/go-openapi/jsonpointer v0.19.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.0 h1:BqWKpV1dFd+AuiKlgtddwVIFQsuMpxfBDBHGfM2yNpk= +github.com/go-openapi/jsonreference v0.19.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/swag v0.17.0 h1:iqrgMg7Q7SvtbWLlltPrkMs0UBJI6oTSs79JFRUi880= +github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/net v0.0.0-20181005035420-146acd28ed58 h1:otZG8yDCO4LVps5+9bxOeNiCvgmOyt96J3roHTYs7oE= +golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/header.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/header.go new file mode 100644 index 0000000..39efe45 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/header.go @@ -0,0 +1,197 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + jsonArray = "array" +) + +// HeaderProps describes a response header +type HeaderProps struct { + Description string `json:"description,omitempty"` +} + +// Header describes a header for a response of the API +// +// For more information: http://goo.gl/8us55a#headerObject +type Header struct { + CommonValidations + SimpleSchema + VendorExtensible + HeaderProps +} + +// ResponseHeader creates a new header instance for use in a response +func ResponseHeader() *Header { + return new(Header) +} + +// WithDescription sets the description on this response, allows for chaining +func (h *Header) WithDescription(description string) *Header { + h.Description = description + return h +} + +// Typed a fluent builder method for the type of parameter +func (h *Header) Typed(tpe, format string) *Header { + h.Type = tpe + h.Format = format + return h +} + +// CollectionOf a fluent builder method for an array item +func (h *Header) CollectionOf(items *Items, format string) *Header { + h.Type = jsonArray + h.Items = items + h.CollectionFormat = format + return h +} + +// WithDefault sets the default value on this item +func (h *Header) WithDefault(defaultValue interface{}) *Header { + h.Default = defaultValue + return h +} + +// WithMaxLength sets a max length value +func (h *Header) WithMaxLength(max int64) *Header { + h.MaxLength = &max + return h +} + +// WithMinLength sets a min length value +func (h *Header) WithMinLength(min int64) *Header { + h.MinLength = &min + return h +} + +// WithPattern sets a pattern value +func (h *Header) WithPattern(pattern string) *Header { + h.Pattern = pattern + return h +} + +// WithMultipleOf sets a multiple of value +func (h *Header) WithMultipleOf(number float64) *Header { + h.MultipleOf = &number + return h +} + +// WithMaximum sets a maximum number value +func (h *Header) WithMaximum(max float64, exclusive bool) *Header { + h.Maximum = &max + h.ExclusiveMaximum = exclusive + return h +} + +// WithMinimum sets a minimum number value +func (h *Header) WithMinimum(min float64, exclusive bool) *Header { + h.Minimum = &min + h.ExclusiveMinimum = exclusive + return h +} + +// WithEnum sets a the enum values (replace) +func (h *Header) WithEnum(values ...interface{}) *Header { + h.Enum = append([]interface{}{}, values...) + return h +} + +// WithMaxItems sets the max items +func (h *Header) WithMaxItems(size int64) *Header { + h.MaxItems = &size + return h +} + +// WithMinItems sets the min items +func (h *Header) WithMinItems(size int64) *Header { + h.MinItems = &size + return h +} + +// UniqueValues dictates that this array can only have unique items +func (h *Header) UniqueValues() *Header { + h.UniqueItems = true + return h +} + +// AllowDuplicates this array can have duplicates +func (h *Header) AllowDuplicates() *Header { + h.UniqueItems = false + return h +} + +// MarshalJSON marshal this to JSON +func (h Header) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(h.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(h.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(h.HeaderProps) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2, b3), nil +} + +// UnmarshalJSON unmarshals this header from JSON +func (h *Header) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &h.CommonValidations); err != nil { + return err + } + if err := json.Unmarshal(data, &h.SimpleSchema); err != nil { + return err + } + if err := json.Unmarshal(data, &h.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &h.HeaderProps) +} + +// JSONLookup look up a value by the json property name +func (h Header) JSONLookup(token string) (interface{}, error) { + if ex, ok := h.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(h.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(h.SimpleSchema, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(h.HeaderProps, token) + return r, err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/info.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/info.go new file mode 100644 index 0000000..c458b49 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/info.go @@ -0,0 +1,165 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// Extensions vendor specific extensions +type Extensions map[string]interface{} + +// Add adds a value to these extensions +func (e Extensions) Add(key string, value interface{}) { + realKey := strings.ToLower(key) + e[realKey] = value +} + +// GetString gets a string value from the extensions +func (e Extensions) GetString(key string) (string, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + str, ok := v.(string) + return str, ok + } + return "", false +} + +// GetBool gets a string value from the extensions +func (e Extensions) GetBool(key string) (bool, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + str, ok := v.(bool) + return str, ok + } + return false, false +} + +// GetStringSlice gets a string value from the extensions +func (e Extensions) GetStringSlice(key string) ([]string, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + arr, isSlice := v.([]interface{}) + if !isSlice { + return nil, false + } + var strs []string + for _, iface := range arr { + str, isString := iface.(string) + if !isString { + return nil, false + } + strs = append(strs, str) + } + return strs, ok + } + return nil, false +} + +// VendorExtensible composition block. +type VendorExtensible struct { + Extensions Extensions +} + +// AddExtension adds an extension to this extensible object +func (v *VendorExtensible) AddExtension(key string, value interface{}) { + if value == nil { + return + } + if v.Extensions == nil { + v.Extensions = make(map[string]interface{}) + } + v.Extensions.Add(key, value) +} + +// MarshalJSON marshals the extensions to json +func (v VendorExtensible) MarshalJSON() ([]byte, error) { + toser := make(map[string]interface{}) + for k, v := range v.Extensions { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + toser[k] = v + } + } + return json.Marshal(toser) +} + +// UnmarshalJSON for this extensible object +func (v *VendorExtensible) UnmarshalJSON(data []byte) error { + var d map[string]interface{} + if err := json.Unmarshal(data, &d); err != nil { + return err + } + for k, vv := range d { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + if v.Extensions == nil { + v.Extensions = map[string]interface{}{} + } + v.Extensions[k] = vv + } + } + return nil +} + +// InfoProps the properties for an info definition +type InfoProps struct { + Description string `json:"description,omitempty"` + Title string `json:"title,omitempty"` + TermsOfService string `json:"termsOfService,omitempty"` + Contact *ContactInfo `json:"contact,omitempty"` + License *License `json:"license,omitempty"` + Version string `json:"version,omitempty"` +} + +// Info object provides metadata about the API. +// The metadata can be used by the clients if needed, and can be presented in the Swagger-UI for convenience. +// +// For more information: http://goo.gl/8us55a#infoObject +type Info struct { + VendorExtensible + InfoProps +} + +// JSONLookup look up a value by the json property name +func (i Info) JSONLookup(token string) (interface{}, error) { + if ex, ok := i.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(i.InfoProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (i Info) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(i.InfoProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(i.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (i *Info) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &i.InfoProps); err != nil { + return err + } + return json.Unmarshal(data, &i.VendorExtensible) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/items.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/items.go new file mode 100644 index 0000000..365d163 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/items.go @@ -0,0 +1,244 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + jsonRef = "$ref" +) + +// SimpleSchema describe swagger simple schemas for parameters and headers +type SimpleSchema struct { + Type string `json:"type,omitempty"` + Nullable bool `json:"nullable,omitempty"` + Format string `json:"format,omitempty"` + Items *Items `json:"items,omitempty"` + CollectionFormat string `json:"collectionFormat,omitempty"` + Default interface{} `json:"default,omitempty"` + Example interface{} `json:"example,omitempty"` +} + +// TypeName return the type (or format) of a simple schema +func (s *SimpleSchema) TypeName() string { + if s.Format != "" { + return s.Format + } + return s.Type +} + +// ItemsTypeName yields the type of items in a simple schema array +func (s *SimpleSchema) ItemsTypeName() string { + if s.Items == nil { + return "" + } + return s.Items.TypeName() +} + +// CommonValidations describe common JSON-schema validations +type CommonValidations struct { + Maximum *float64 `json:"maximum,omitempty"` + ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` + Minimum *float64 `json:"minimum,omitempty"` + ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` + MaxLength *int64 `json:"maxLength,omitempty"` + MinLength *int64 `json:"minLength,omitempty"` + Pattern string `json:"pattern,omitempty"` + MaxItems *int64 `json:"maxItems,omitempty"` + MinItems *int64 `json:"minItems,omitempty"` + UniqueItems bool `json:"uniqueItems,omitempty"` + MultipleOf *float64 `json:"multipleOf,omitempty"` + Enum []interface{} `json:"enum,omitempty"` +} + +// Items a limited subset of JSON-Schema's items object. +// It is used by parameter definitions that are not located in "body". +// +// For more information: http://goo.gl/8us55a#items-object +type Items struct { + Refable + CommonValidations + SimpleSchema + VendorExtensible +} + +// NewItems creates a new instance of items +func NewItems() *Items { + return &Items{} +} + +// Typed a fluent builder method for the type of item +func (i *Items) Typed(tpe, format string) *Items { + i.Type = tpe + i.Format = format + return i +} + +// AsNullable flags this schema as nullable. +func (i *Items) AsNullable() *Items { + i.Nullable = true + return i +} + +// CollectionOf a fluent builder method for an array item +func (i *Items) CollectionOf(items *Items, format string) *Items { + i.Type = jsonArray + i.Items = items + i.CollectionFormat = format + return i +} + +// WithDefault sets the default value on this item +func (i *Items) WithDefault(defaultValue interface{}) *Items { + i.Default = defaultValue + return i +} + +// WithMaxLength sets a max length value +func (i *Items) WithMaxLength(max int64) *Items { + i.MaxLength = &max + return i +} + +// WithMinLength sets a min length value +func (i *Items) WithMinLength(min int64) *Items { + i.MinLength = &min + return i +} + +// WithPattern sets a pattern value +func (i *Items) WithPattern(pattern string) *Items { + i.Pattern = pattern + return i +} + +// WithMultipleOf sets a multiple of value +func (i *Items) WithMultipleOf(number float64) *Items { + i.MultipleOf = &number + return i +} + +// WithMaximum sets a maximum number value +func (i *Items) WithMaximum(max float64, exclusive bool) *Items { + i.Maximum = &max + i.ExclusiveMaximum = exclusive + return i +} + +// WithMinimum sets a minimum number value +func (i *Items) WithMinimum(min float64, exclusive bool) *Items { + i.Minimum = &min + i.ExclusiveMinimum = exclusive + return i +} + +// WithEnum sets a the enum values (replace) +func (i *Items) WithEnum(values ...interface{}) *Items { + i.Enum = append([]interface{}{}, values...) + return i +} + +// WithMaxItems sets the max items +func (i *Items) WithMaxItems(size int64) *Items { + i.MaxItems = &size + return i +} + +// WithMinItems sets the min items +func (i *Items) WithMinItems(size int64) *Items { + i.MinItems = &size + return i +} + +// UniqueValues dictates that this array can only have unique items +func (i *Items) UniqueValues() *Items { + i.UniqueItems = true + return i +} + +// AllowDuplicates this array can have duplicates +func (i *Items) AllowDuplicates() *Items { + i.UniqueItems = false + return i +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (i *Items) UnmarshalJSON(data []byte) error { + var validations CommonValidations + if err := json.Unmarshal(data, &validations); err != nil { + return err + } + var ref Refable + if err := json.Unmarshal(data, &ref); err != nil { + return err + } + var simpleSchema SimpleSchema + if err := json.Unmarshal(data, &simpleSchema); err != nil { + return err + } + var vendorExtensible VendorExtensible + if err := json.Unmarshal(data, &vendorExtensible); err != nil { + return err + } + i.Refable = ref + i.CommonValidations = validations + i.SimpleSchema = simpleSchema + i.VendorExtensible = vendorExtensible + return nil +} + +// MarshalJSON converts this items object to JSON +func (i Items) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(i.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(i.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(i.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(i.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b4, b3, b1, b2), nil +} + +// JSONLookup look up a value by the json property name +func (i Items) JSONLookup(token string) (interface{}, error) { + if token == jsonRef { + return &i.Ref, nil + } + + r, _, err := jsonpointer.GetForToken(i.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(i.SimpleSchema, token) + return r, err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/license.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/license.go new file mode 100644 index 0000000..f20961b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/license.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +// License information for the exposed API. +// +// For more information: http://goo.gl/8us55a#licenseObject +type License struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/normalizer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/normalizer.go new file mode 100644 index 0000000..b8957e7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/normalizer.go @@ -0,0 +1,152 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "fmt" + "net/url" + "os" + "path" + "path/filepath" + "strings" +) + +// normalize absolute path for cache. +// on Windows, drive letters should be converted to lower as scheme in net/url.URL +func normalizeAbsPath(path string) string { + u, err := url.Parse(path) + if err != nil { + debugLog("normalize absolute path failed: %s", err) + return path + } + return u.String() +} + +// base or refPath could be a file path or a URL +// given a base absolute path and a ref path, return the absolute path of refPath +// 1) if refPath is absolute, return it +// 2) if refPath is relative, join it with basePath keeping the scheme, hosts, and ports if exists +// base could be a directory or a full file path +func normalizePaths(refPath, base string) string { + refURL, _ := url.Parse(refPath) + if path.IsAbs(refURL.Path) || filepath.IsAbs(refPath) { + // refPath is actually absolute + if refURL.Host != "" { + return refPath + } + parts := strings.Split(refPath, "#") + result := filepath.FromSlash(parts[0]) + if len(parts) == 2 { + result += "#" + parts[1] + } + return result + } + + // relative refPath + baseURL, _ := url.Parse(base) + if !strings.HasPrefix(refPath, "#") { + // combining paths + if baseURL.Host != "" { + baseURL.Path = path.Join(path.Dir(baseURL.Path), refURL.Path) + } else { // base is a file + newBase := fmt.Sprintf("%s#%s", filepath.Join(filepath.Dir(base), filepath.FromSlash(refURL.Path)), refURL.Fragment) + return newBase + } + + } + // copying fragment from ref to base + baseURL.Fragment = refURL.Fragment + return baseURL.String() +} + +// denormalizePaths returns to simplest notation on file $ref, +// i.e. strips the absolute path and sets a path relative to the base path. +// +// This is currently used when we rewrite ref after a circular ref has been detected +func denormalizeFileRef(ref *Ref, relativeBase, originalRelativeBase string) *Ref { + debugLog("denormalizeFileRef for: %s", ref.String()) + + if ref.String() == "" || ref.IsRoot() || ref.HasFragmentOnly { + return ref + } + // strip relativeBase from URI + relativeBaseURL, _ := url.Parse(relativeBase) + relativeBaseURL.Fragment = "" + + if relativeBaseURL.IsAbs() && strings.HasPrefix(ref.String(), relativeBase) { + // this should work for absolute URI (e.g. http://...): we have an exact match, just trim prefix + r, _ := NewRef(strings.TrimPrefix(ref.String(), relativeBase)) + return &r + } + + if relativeBaseURL.IsAbs() { + // other absolute URL get unchanged (i.e. with a non-empty scheme) + return ref + } + + // for relative file URIs: + originalRelativeBaseURL, _ := url.Parse(originalRelativeBase) + originalRelativeBaseURL.Fragment = "" + if strings.HasPrefix(ref.String(), originalRelativeBaseURL.String()) { + // the resulting ref is in the expanded spec: return a local ref + r, _ := NewRef(strings.TrimPrefix(ref.String(), originalRelativeBaseURL.String())) + return &r + } + + // check if we may set a relative path, considering the original base path for this spec. + // Example: + // spec is located at /mypath/spec.json + // my normalized ref points to: /mypath/item.json#/target + // expected result: item.json#/target + parts := strings.Split(ref.String(), "#") + relativePath, err := filepath.Rel(path.Dir(originalRelativeBaseURL.String()), parts[0]) + if err != nil { + // there is no common ancestor (e.g. different drives on windows) + // leaves the ref unchanged + return ref + } + if len(parts) == 2 { + relativePath += "#" + parts[1] + } + r, _ := NewRef(relativePath) + return &r +} + +// relativeBase could be an ABSOLUTE file path or an ABSOLUTE URL +func normalizeFileRef(ref *Ref, relativeBase string) *Ref { + // This is important for when the reference is pointing to the root schema + if ref.String() == "" { + r, _ := NewRef(relativeBase) + return &r + } + + debugLog("normalizing %s against %s", ref.String(), relativeBase) + + s := normalizePaths(ref.String(), relativeBase) + r, _ := NewRef(s) + return &r +} + +// absPath returns the absolute path of a file +func absPath(fname string) (string, error) { + if strings.HasPrefix(fname, "http") { + return fname, nil + } + if filepath.IsAbs(fname) { + return fname, nil + } + wd, err := os.Getwd() + return filepath.Join(wd, fname), err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/operation.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/operation.go new file mode 100644 index 0000000..b1ebd59 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/operation.go @@ -0,0 +1,398 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "sort" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +func init() { + //gob.Register(map[string][]interface{}{}) + gob.Register(map[string]interface{}{}) + gob.Register([]interface{}{}) +} + +// OperationProps describes an operation +// +// NOTES: +// - schemes, when present must be from [http, https, ws, wss]: see validate +// - Security is handled as a special case: see MarshalJSON function +type OperationProps struct { + Description string `json:"description,omitempty"` + Consumes []string `json:"consumes,omitempty"` + Produces []string `json:"produces,omitempty"` + Schemes []string `json:"schemes,omitempty"` + Tags []string `json:"tags,omitempty"` + Summary string `json:"summary,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` + ID string `json:"operationId,omitempty"` + Deprecated bool `json:"deprecated,omitempty"` + Security []map[string][]string `json:"security,omitempty"` + Parameters []Parameter `json:"parameters,omitempty"` + Responses *Responses `json:"responses,omitempty"` +} + +// MarshalJSON takes care of serializing operation properties to JSON +// +// We use a custom marhaller here to handle a special cases related to +// the Security field. We need to preserve zero length slice +// while omitting the field when the value is nil/unset. +func (op OperationProps) MarshalJSON() ([]byte, error) { + type Alias OperationProps + if op.Security == nil { + return json.Marshal(&struct { + Security []map[string][]string `json:"security,omitempty"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) + } + return json.Marshal(&struct { + Security []map[string][]string `json:"security"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) +} + +// Operation describes a single API operation on a path. +// +// For more information: http://goo.gl/8us55a#operationObject +type Operation struct { + VendorExtensible + OperationProps +} + +// SuccessResponse gets a success response model +func (o *Operation) SuccessResponse() (*Response, int, bool) { + if o.Responses == nil { + return nil, 0, false + } + + responseCodes := make([]int, 0, len(o.Responses.StatusCodeResponses)) + for k := range o.Responses.StatusCodeResponses { + if k >= 200 && k < 300 { + responseCodes = append(responseCodes, k) + } + } + if len(responseCodes) > 0 { + sort.Ints(responseCodes) + v := o.Responses.StatusCodeResponses[responseCodes[0]] + return &v, responseCodes[0], true + } + + return o.Responses.Default, 0, false +} + +// JSONLookup look up a value by the json property name +func (o Operation) JSONLookup(token string) (interface{}, error) { + if ex, ok := o.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(o.OperationProps, token) + return r, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (o *Operation) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &o.OperationProps); err != nil { + return err + } + return json.Unmarshal(data, &o.VendorExtensible) +} + +// MarshalJSON converts this items object to JSON +func (o Operation) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(o.OperationProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(o.VendorExtensible) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} + +// NewOperation creates a new operation instance. +// It expects an ID as parameter but not passing an ID is also valid. +func NewOperation(id string) *Operation { + op := new(Operation) + op.ID = id + return op +} + +// WithID sets the ID property on this operation, allows for chaining. +func (o *Operation) WithID(id string) *Operation { + o.ID = id + return o +} + +// WithDescription sets the description on this operation, allows for chaining +func (o *Operation) WithDescription(description string) *Operation { + o.Description = description + return o +} + +// WithSummary sets the summary on this operation, allows for chaining +func (o *Operation) WithSummary(summary string) *Operation { + o.Summary = summary + return o +} + +// WithExternalDocs sets/removes the external docs for/from this operation. +// When you pass empty strings as params the external documents will be removed. +// When you pass non-empty string as one value then those values will be used on the external docs object. +// So when you pass a non-empty description, you should also pass the url and vice versa. +func (o *Operation) WithExternalDocs(description, url string) *Operation { + if description == "" && url == "" { + o.ExternalDocs = nil + return o + } + + if o.ExternalDocs == nil { + o.ExternalDocs = &ExternalDocumentation{} + } + o.ExternalDocs.Description = description + o.ExternalDocs.URL = url + return o +} + +// Deprecate marks the operation as deprecated +func (o *Operation) Deprecate() *Operation { + o.Deprecated = true + return o +} + +// Undeprecate marks the operation as not deprected +func (o *Operation) Undeprecate() *Operation { + o.Deprecated = false + return o +} + +// WithConsumes adds media types for incoming body values +func (o *Operation) WithConsumes(mediaTypes ...string) *Operation { + o.Consumes = append(o.Consumes, mediaTypes...) + return o +} + +// WithProduces adds media types for outgoing body values +func (o *Operation) WithProduces(mediaTypes ...string) *Operation { + o.Produces = append(o.Produces, mediaTypes...) + return o +} + +// WithTags adds tags for this operation +func (o *Operation) WithTags(tags ...string) *Operation { + o.Tags = append(o.Tags, tags...) + return o +} + +// AddParam adds a parameter to this operation, when a parameter for that location +// and with that name already exists it will be replaced +func (o *Operation) AddParam(param *Parameter) *Operation { + if param == nil { + return o + } + + for i, p := range o.Parameters { + if p.Name == param.Name && p.In == param.In { + params := append(o.Parameters[:i], *param) + params = append(params, o.Parameters[i+1:]...) + o.Parameters = params + return o + } + } + + o.Parameters = append(o.Parameters, *param) + return o +} + +// RemoveParam removes a parameter from the operation +func (o *Operation) RemoveParam(name, in string) *Operation { + for i, p := range o.Parameters { + if p.Name == name && p.In == in { + o.Parameters = append(o.Parameters[:i], o.Parameters[i+1:]...) + return o + } + } + return o +} + +// SecuredWith adds a security scope to this operation. +func (o *Operation) SecuredWith(name string, scopes ...string) *Operation { + o.Security = append(o.Security, map[string][]string{name: scopes}) + return o +} + +// WithDefaultResponse adds a default response to the operation. +// Passing a nil value will remove the response +func (o *Operation) WithDefaultResponse(response *Response) *Operation { + return o.RespondsWith(0, response) +} + +// RespondsWith adds a status code response to the operation. +// When the code is 0 the value of the response will be used as default response value. +// When the value of the response is nil it will be removed from the operation +func (o *Operation) RespondsWith(code int, response *Response) *Operation { + if o.Responses == nil { + o.Responses = new(Responses) + } + if code == 0 { + o.Responses.Default = response + return o + } + if response == nil { + delete(o.Responses.StatusCodeResponses, code) + return o + } + if o.Responses.StatusCodeResponses == nil { + o.Responses.StatusCodeResponses = make(map[int]Response) + } + o.Responses.StatusCodeResponses[code] = *response + return o +} + +type opsAlias OperationProps + +type gobAlias struct { + Security []map[string]struct { + List []string + Pad bool + } + Alias *opsAlias + SecurityIsEmpty bool +} + +// GobEncode provides a safe gob encoder for Operation, including empty security requirements +func (o Operation) GobEncode() ([]byte, error) { + raw := struct { + Ext VendorExtensible + Props OperationProps + }{ + Ext: o.VendorExtensible, + Props: o.OperationProps, + } + var b bytes.Buffer + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Operation, including empty security requirements +func (o *Operation) GobDecode(b []byte) error { + var raw struct { + Ext VendorExtensible + Props OperationProps + } + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + o.VendorExtensible = raw.Ext + o.OperationProps = raw.Props + return nil +} + +// GobEncode provides a safe gob encoder for Operation, including empty security requirements +func (op OperationProps) GobEncode() ([]byte, error) { + raw := gobAlias{ + Alias: (*opsAlias)(&op), + } + + var b bytes.Buffer + if op.Security == nil { + // nil security requirement + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + if len(op.Security) == 0 { + // empty, but non-nil security requirement + raw.SecurityIsEmpty = true + raw.Alias.Security = nil + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + raw.Security = make([]map[string]struct { + List []string + Pad bool + }, 0, len(op.Security)) + for _, req := range op.Security { + v := make(map[string]struct { + List []string + Pad bool + }, len(req)) + for k, val := range req { + v[k] = struct { + List []string + Pad bool + }{ + List: val, + } + } + raw.Security = append(raw.Security, v) + } + + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Operation, including empty security requirements +func (op *OperationProps) GobDecode(b []byte) error { + var raw gobAlias + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + if raw.Alias == nil { + return nil + } + + switch { + case raw.SecurityIsEmpty: + // empty, but non-nil security requirement + raw.Alias.Security = []map[string][]string{} + case len(raw.Alias.Security) == 0: + // nil security requirement + raw.Alias.Security = nil + default: + raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) + for _, req := range raw.Security { + v := make(map[string][]string, len(req)) + for k, val := range req { + v[k] = make([]string, 0, len(val.List)) + v[k] = append(v[k], val.List...) + } + raw.Alias.Security = append(raw.Alias.Security, v) + } + } + + *op = *(*OperationProps)(raw.Alias) + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/parameter.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/parameter.go new file mode 100644 index 0000000..cecdff5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/parameter.go @@ -0,0 +1,321 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// QueryParam creates a query parameter +func QueryParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "query"}} +} + +// HeaderParam creates a header parameter, this is always required by default +func HeaderParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "header", Required: true}} +} + +// PathParam creates a path parameter, this is always required +func PathParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "path", Required: true}} +} + +// BodyParam creates a body parameter +func BodyParam(name string, schema *Schema) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "body", Schema: schema}, + SimpleSchema: SimpleSchema{Type: "object"}} +} + +// FormDataParam creates a body parameter +func FormDataParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}} +} + +// FileParam creates a body parameter +func FileParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}, + SimpleSchema: SimpleSchema{Type: "file"}} +} + +// SimpleArrayParam creates a param for a simple array (string, int, date etc) +func SimpleArrayParam(name, tpe, fmt string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name}, + SimpleSchema: SimpleSchema{Type: jsonArray, CollectionFormat: "csv", + Items: &Items{SimpleSchema: SimpleSchema{Type: "string", Format: fmt}}}} +} + +// ParamRef creates a parameter that's a json reference +func ParamRef(uri string) *Parameter { + p := new(Parameter) + p.Ref = MustCreateRef(uri) + return p +} + +// ParamProps describes the specific attributes of an operation parameter +// +// NOTE: +// - Schema is defined when "in" == "body": see validate +// - AllowEmptyValue is allowed where "in" == "query" || "formData" +type ParamProps struct { + Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + In string `json:"in,omitempty"` + Required bool `json:"required,omitempty"` + Schema *Schema `json:"schema,omitempty"` + AllowEmptyValue bool `json:"allowEmptyValue,omitempty"` +} + +// Parameter a unique parameter is defined by a combination of a [name](#parameterName) and [location](#parameterIn). +// +// There are five possible parameter types. +// * Path - Used together with [Path Templating](#pathTemplating), where the parameter value is actually part +// of the operation's URL. This does not include the host or base path of the API. For example, in `/items/{itemId}`, +// the path parameter is `itemId`. +// * Query - Parameters that are appended to the URL. For example, in `/items?id=###`, the query parameter is `id`. +// * Header - Custom headers that are expected as part of the request. +// * Body - The payload that's appended to the HTTP request. Since there can only be one payload, there can only be +// _one_ body parameter. The name of the body parameter has no effect on the parameter itself and is used for +// documentation purposes only. Since Form parameters are also in the payload, body and form parameters cannot exist +// together for the same operation. +// * Form - Used to describe the payload of an HTTP request when either `application/x-www-form-urlencoded` or +// `multipart/form-data` are used as the content type of the request (in Swagger's definition, +// the [`consumes`](#operationConsumes) property of an operation). This is the only parameter type that can be used +// to send files, thus supporting the `file` type. Since form parameters are sent in the payload, they cannot be +// declared together with a body parameter for the same operation. Form parameters have a different format based on +// the content-type used (for further details, consult http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4). +// * `application/x-www-form-urlencoded` - Similar to the format of Query parameters but as a payload. +// For example, `foo=1&bar=swagger` - both `foo` and `bar` are form parameters. This is normally used for simple +// parameters that are being transferred. +// * `multipart/form-data` - each parameter takes a section in the payload with an internal header. +// For example, for the header `Content-Disposition: form-data; name="submit-name"` the name of the parameter is +// `submit-name`. This type of form parameters is more commonly used for file transfers. +// +// For more information: http://goo.gl/8us55a#parameterObject +type Parameter struct { + Refable + CommonValidations + SimpleSchema + VendorExtensible + ParamProps +} + +// JSONLookup look up a value by the json property name +func (p Parameter) JSONLookup(token string) (interface{}, error) { + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + if token == jsonRef { + return &p.Ref, nil + } + + r, _, err := jsonpointer.GetForToken(p.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(p.SimpleSchema, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(p.ParamProps, token) + return r, err +} + +// WithDescription a fluent builder method for the description of the parameter +func (p *Parameter) WithDescription(description string) *Parameter { + p.Description = description + return p +} + +// Named a fluent builder method to override the name of the parameter +func (p *Parameter) Named(name string) *Parameter { + p.Name = name + return p +} + +// WithLocation a fluent builder method to override the location of the parameter +func (p *Parameter) WithLocation(in string) *Parameter { + p.In = in + return p +} + +// Typed a fluent builder method for the type of the parameter value +func (p *Parameter) Typed(tpe, format string) *Parameter { + p.Type = tpe + p.Format = format + return p +} + +// CollectionOf a fluent builder method for an array parameter +func (p *Parameter) CollectionOf(items *Items, format string) *Parameter { + p.Type = jsonArray + p.Items = items + p.CollectionFormat = format + return p +} + +// WithDefault sets the default value on this parameter +func (p *Parameter) WithDefault(defaultValue interface{}) *Parameter { + p.AsOptional() // with default implies optional + p.Default = defaultValue + return p +} + +// AllowsEmptyValues flags this parameter as being ok with empty values +func (p *Parameter) AllowsEmptyValues() *Parameter { + p.AllowEmptyValue = true + return p +} + +// NoEmptyValues flags this parameter as not liking empty values +func (p *Parameter) NoEmptyValues() *Parameter { + p.AllowEmptyValue = false + return p +} + +// AsOptional flags this parameter as optional +func (p *Parameter) AsOptional() *Parameter { + p.Required = false + return p +} + +// AsRequired flags this parameter as required +func (p *Parameter) AsRequired() *Parameter { + if p.Default != nil { // with a default required makes no sense + return p + } + p.Required = true + return p +} + +// WithMaxLength sets a max length value +func (p *Parameter) WithMaxLength(max int64) *Parameter { + p.MaxLength = &max + return p +} + +// WithMinLength sets a min length value +func (p *Parameter) WithMinLength(min int64) *Parameter { + p.MinLength = &min + return p +} + +// WithPattern sets a pattern value +func (p *Parameter) WithPattern(pattern string) *Parameter { + p.Pattern = pattern + return p +} + +// WithMultipleOf sets a multiple of value +func (p *Parameter) WithMultipleOf(number float64) *Parameter { + p.MultipleOf = &number + return p +} + +// WithMaximum sets a maximum number value +func (p *Parameter) WithMaximum(max float64, exclusive bool) *Parameter { + p.Maximum = &max + p.ExclusiveMaximum = exclusive + return p +} + +// WithMinimum sets a minimum number value +func (p *Parameter) WithMinimum(min float64, exclusive bool) *Parameter { + p.Minimum = &min + p.ExclusiveMinimum = exclusive + return p +} + +// WithEnum sets a the enum values (replace) +func (p *Parameter) WithEnum(values ...interface{}) *Parameter { + p.Enum = append([]interface{}{}, values...) + return p +} + +// WithMaxItems sets the max items +func (p *Parameter) WithMaxItems(size int64) *Parameter { + p.MaxItems = &size + return p +} + +// WithMinItems sets the min items +func (p *Parameter) WithMinItems(size int64) *Parameter { + p.MinItems = &size + return p +} + +// UniqueValues dictates that this array can only have unique items +func (p *Parameter) UniqueValues() *Parameter { + p.UniqueItems = true + return p +} + +// AllowDuplicates this array can have duplicates +func (p *Parameter) AllowDuplicates() *Parameter { + p.UniqueItems = false + return p +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *Parameter) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &p.CommonValidations); err != nil { + return err + } + if err := json.Unmarshal(data, &p.Refable); err != nil { + return err + } + if err := json.Unmarshal(data, &p.SimpleSchema); err != nil { + return err + } + if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &p.ParamProps) +} + +// MarshalJSON converts this items object to JSON +func (p Parameter) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(p.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(p.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(p.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + b5, err := json.Marshal(p.ParamProps) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b3, b1, b2, b4, b5), nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/path_item.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/path_item.go new file mode 100644 index 0000000..68fc8e9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/path_item.go @@ -0,0 +1,87 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// PathItemProps the path item specific properties +type PathItemProps struct { + Get *Operation `json:"get,omitempty"` + Put *Operation `json:"put,omitempty"` + Post *Operation `json:"post,omitempty"` + Delete *Operation `json:"delete,omitempty"` + Options *Operation `json:"options,omitempty"` + Head *Operation `json:"head,omitempty"` + Patch *Operation `json:"patch,omitempty"` + Parameters []Parameter `json:"parameters,omitempty"` +} + +// PathItem describes the operations available on a single path. +// A Path Item may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). +// The path itself is still exposed to the documentation viewer but they will +// not know which operations and parameters are available. +// +// For more information: http://goo.gl/8us55a#pathItemObject +type PathItem struct { + Refable + VendorExtensible + PathItemProps +} + +// JSONLookup look up a value by the json property name +func (p PathItem) JSONLookup(token string) (interface{}, error) { + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + if token == jsonRef { + return &p.Ref, nil + } + r, _, err := jsonpointer.GetForToken(p.PathItemProps, token) + return r, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *PathItem) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &p.Refable); err != nil { + return err + } + if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &p.PathItemProps) +} + +// MarshalJSON converts this items object to JSON +func (p PathItem) MarshalJSON() ([]byte, error) { + b3, err := json.Marshal(p.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + b5, err := json.Marshal(p.PathItemProps) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b3, b4, b5) + return concated, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/paths.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/paths.go new file mode 100644 index 0000000..9dc82a2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/paths.go @@ -0,0 +1,97 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/go-openapi/swag" +) + +// Paths holds the relative paths to the individual endpoints. +// The path is appended to the [`basePath`](http://goo.gl/8us55a#swaggerBasePath) in order +// to construct the full URL. +// The Paths may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). +// +// For more information: http://goo.gl/8us55a#pathsObject +type Paths struct { + VendorExtensible + Paths map[string]PathItem `json:"-"` // custom serializer to flatten this, each entry must start with "/" +} + +// JSONLookup look up a value by the json property name +func (p Paths) JSONLookup(token string) (interface{}, error) { + if pi, ok := p.Paths[token]; ok { + return &pi, nil + } + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + return nil, fmt.Errorf("object has no field %q", token) +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *Paths) UnmarshalJSON(data []byte) error { + var res map[string]json.RawMessage + if err := json.Unmarshal(data, &res); err != nil { + return err + } + for k, v := range res { + if strings.HasPrefix(strings.ToLower(k), "x-") { + if p.Extensions == nil { + p.Extensions = make(map[string]interface{}) + } + var d interface{} + if err := json.Unmarshal(v, &d); err != nil { + return err + } + p.Extensions[k] = d + } + if strings.HasPrefix(k, "/") { + if p.Paths == nil { + p.Paths = make(map[string]PathItem) + } + var pi PathItem + if err := json.Unmarshal(v, &pi); err != nil { + return err + } + p.Paths[k] = pi + } + } + return nil +} + +// MarshalJSON converts this items object to JSON +func (p Paths) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + + pths := make(map[string]PathItem) + for k, v := range p.Paths { + if strings.HasPrefix(k, "/") { + pths[k] = v + } + } + b2, err := json.Marshal(pths) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/ref.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/ref.go new file mode 100644 index 0000000..813dfe7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/ref.go @@ -0,0 +1,192 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "net/http" + "os" + "path/filepath" + + "github.com/go-openapi/jsonreference" +) + +// Refable is a struct for things that accept a $ref property +type Refable struct { + Ref Ref +} + +// MarshalJSON marshals the ref to json +func (r Refable) MarshalJSON() ([]byte, error) { + return r.Ref.MarshalJSON() +} + +// UnmarshalJSON unmarshalss the ref from json +func (r *Refable) UnmarshalJSON(d []byte) error { + return json.Unmarshal(d, &r.Ref) +} + +// Ref represents a json reference that is potentially resolved +type Ref struct { + jsonreference.Ref +} + +// RemoteURI gets the remote uri part of the ref +func (r *Ref) RemoteURI() string { + if r.String() == "" { + return r.String() + } + + u := *r.GetURL() + u.Fragment = "" + return u.String() +} + +// IsValidURI returns true when the url the ref points to can be found +func (r *Ref) IsValidURI(basepaths ...string) bool { + if r.String() == "" { + return true + } + + v := r.RemoteURI() + if v == "" { + return true + } + + if r.HasFullURL { + rr, err := http.Get(v) + if err != nil { + return false + } + defer rr.Body.Close() + + return rr.StatusCode/100 == 2 + } + + if !(r.HasFileScheme || r.HasFullFilePath || r.HasURLPathOnly) { + return false + } + + // check for local file + pth := v + if r.HasURLPathOnly { + base := "." + if len(basepaths) > 0 { + base = filepath.Dir(filepath.Join(basepaths...)) + } + p, e := filepath.Abs(filepath.ToSlash(filepath.Join(base, pth))) + if e != nil { + return false + } + pth = p + } + + fi, err := os.Stat(filepath.ToSlash(pth)) + if err != nil { + return false + } + + return !fi.IsDir() +} + +// Inherits creates a new reference from a parent and a child +// If the child cannot inherit from the parent, an error is returned +func (r *Ref) Inherits(child Ref) (*Ref, error) { + ref, err := r.Ref.Inherits(child.Ref) + if err != nil { + return nil, err + } + return &Ref{Ref: *ref}, nil +} + +// NewRef creates a new instance of a ref object +// returns an error when the reference uri is an invalid uri +func NewRef(refURI string) (Ref, error) { + ref, err := jsonreference.New(refURI) + if err != nil { + return Ref{}, err + } + return Ref{Ref: ref}, nil +} + +// MustCreateRef creates a ref object but panics when refURI is invalid. +// Use the NewRef method for a version that returns an error. +func MustCreateRef(refURI string) Ref { + return Ref{Ref: jsonreference.MustCreateRef(refURI)} +} + +// MarshalJSON marshals this ref into a JSON object +func (r Ref) MarshalJSON() ([]byte, error) { + str := r.String() + if str == "" { + if r.IsRoot() { + return []byte(`{"$ref":""}`), nil + } + return []byte("{}"), nil + } + v := map[string]interface{}{"$ref": str} + return json.Marshal(v) +} + +// UnmarshalJSON unmarshals this ref from a JSON object +func (r *Ref) UnmarshalJSON(d []byte) error { + var v map[string]interface{} + if err := json.Unmarshal(d, &v); err != nil { + return err + } + return r.fromMap(v) +} + +// GobEncode provides a safe gob encoder for Ref +func (r Ref) GobEncode() ([]byte, error) { + var b bytes.Buffer + raw, err := r.MarshalJSON() + if err != nil { + return nil, err + } + err = gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Ref +func (r *Ref) GobDecode(b []byte) error { + var raw []byte + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + return json.Unmarshal(raw, r) +} + +func (r *Ref) fromMap(v map[string]interface{}) error { + if v == nil { + return nil + } + + if vv, ok := v["$ref"]; ok { + if str, ok := vv.(string); ok { + ref, err := jsonreference.New(str) + if err != nil { + return err + } + *r = Ref{Ref: ref} + } + } + + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/response.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/response.go new file mode 100644 index 0000000..27729c1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/response.go @@ -0,0 +1,131 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// ResponseProps properties specific to a response +type ResponseProps struct { + Description string `json:"description,omitempty"` + Schema *Schema `json:"schema,omitempty"` + Headers map[string]Header `json:"headers,omitempty"` + Examples map[string]interface{} `json:"examples,omitempty"` +} + +// Response describes a single response from an API Operation. +// +// For more information: http://goo.gl/8us55a#responseObject +type Response struct { + Refable + ResponseProps + VendorExtensible +} + +// JSONLookup look up a value by the json property name +func (r Response) JSONLookup(token string) (interface{}, error) { + if ex, ok := r.Extensions[token]; ok { + return &ex, nil + } + if token == "$ref" { + return &r.Ref, nil + } + ptr, _, err := jsonpointer.GetForToken(r.ResponseProps, token) + return ptr, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (r *Response) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &r.ResponseProps); err != nil { + return err + } + if err := json.Unmarshal(data, &r.Refable); err != nil { + return err + } + return json.Unmarshal(data, &r.VendorExtensible) +} + +// MarshalJSON converts this items object to JSON +func (r Response) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(r.ResponseProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(r.Refable) + if err != nil { + return nil, err + } + b3, err := json.Marshal(r.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2, b3), nil +} + +// NewResponse creates a new response instance +func NewResponse() *Response { + return new(Response) +} + +// ResponseRef creates a response as a json reference +func ResponseRef(url string) *Response { + resp := NewResponse() + resp.Ref = MustCreateRef(url) + return resp +} + +// WithDescription sets the description on this response, allows for chaining +func (r *Response) WithDescription(description string) *Response { + r.Description = description + return r +} + +// WithSchema sets the schema on this response, allows for chaining. +// Passing a nil argument removes the schema from this response +func (r *Response) WithSchema(schema *Schema) *Response { + r.Schema = schema + return r +} + +// AddHeader adds a header to this response +func (r *Response) AddHeader(name string, header *Header) *Response { + if header == nil { + return r.RemoveHeader(name) + } + if r.Headers == nil { + r.Headers = make(map[string]Header) + } + r.Headers[name] = *header + return r +} + +// RemoveHeader removes a header from this response +func (r *Response) RemoveHeader(name string) *Response { + delete(r.Headers, name) + return r +} + +// AddExample adds an example to this response +func (r *Response) AddExample(mediaType string, example interface{}) *Response { + if r.Examples == nil { + r.Examples = make(map[string]interface{}) + } + r.Examples[mediaType] = example + return r +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/responses.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/responses.go new file mode 100644 index 0000000..4efb6f8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/responses.go @@ -0,0 +1,127 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "fmt" + "reflect" + "strconv" + + "github.com/go-openapi/swag" +) + +// Responses is a container for the expected responses of an operation. +// The container maps a HTTP response code to the expected response. +// It is not expected from the documentation to necessarily cover all possible HTTP response codes, +// since they may not be known in advance. However, it is expected from the documentation to cover +// a successful operation response and any known errors. +// +// The `default` can be used a default response object for all HTTP codes that are not covered +// individually by the specification. +// +// The `Responses Object` MUST contain at least one response code, and it SHOULD be the response +// for a successful operation call. +// +// For more information: http://goo.gl/8us55a#responsesObject +type Responses struct { + VendorExtensible + ResponsesProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (r Responses) JSONLookup(token string) (interface{}, error) { + if token == "default" { + return r.Default, nil + } + if ex, ok := r.Extensions[token]; ok { + return &ex, nil + } + if i, err := strconv.Atoi(token); err == nil { + if scr, ok := r.StatusCodeResponses[i]; ok { + return scr, nil + } + } + return nil, fmt.Errorf("object has no field %q", token) +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (r *Responses) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &r.ResponsesProps); err != nil { + return err + } + if err := json.Unmarshal(data, &r.VendorExtensible); err != nil { + return err + } + if reflect.DeepEqual(ResponsesProps{}, r.ResponsesProps) { + r.ResponsesProps = ResponsesProps{} + } + return nil +} + +// MarshalJSON converts this items object to JSON +func (r Responses) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(r.ResponsesProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(r.VendorExtensible) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} + +// ResponsesProps describes all responses for an operation. +// It tells what is the default response and maps all responses with a +// HTTP status code. +type ResponsesProps struct { + Default *Response + StatusCodeResponses map[int]Response +} + +// MarshalJSON marshals responses as JSON +func (r ResponsesProps) MarshalJSON() ([]byte, error) { + toser := map[string]Response{} + if r.Default != nil { + toser["default"] = *r.Default + } + for k, v := range r.StatusCodeResponses { + toser[strconv.Itoa(k)] = v + } + return json.Marshal(toser) +} + +// UnmarshalJSON unmarshals responses from JSON +func (r *ResponsesProps) UnmarshalJSON(data []byte) error { + var res map[string]Response + if err := json.Unmarshal(data, &res); err != nil { + return nil + } + if v, ok := res["default"]; ok { + r.Default = &v + delete(res, "default") + } + for k, v := range res { + if nk, err := strconv.Atoi(k); err == nil { + if r.StatusCodeResponses == nil { + r.StatusCodeResponses = map[int]Response{} + } + r.StatusCodeResponses[nk] = v + } + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema.go new file mode 100644 index 0000000..37858ec --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema.go @@ -0,0 +1,596 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "fmt" + "net/url" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// BooleanProperty creates a boolean property +func BooleanProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"boolean"}}} +} + +// BoolProperty creates a boolean property +func BoolProperty() *Schema { return BooleanProperty() } + +// StringProperty creates a string property +func StringProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} +} + +// CharProperty creates a string property +func CharProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} +} + +// Float64Property creates a float64/double property +func Float64Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "double"}} +} + +// Float32Property creates a float32/float property +func Float32Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "float"}} +} + +// Int8Property creates an int8 property +func Int8Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int8"}} +} + +// Int16Property creates an int16 property +func Int16Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int16"}} +} + +// Int32Property creates an int32 property +func Int32Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int32"}} +} + +// Int64Property creates an int64 property +func Int64Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int64"}} +} + +// StrFmtProperty creates a property for the named string format +func StrFmtProperty(format string) *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: format}} +} + +// DateProperty creates a date property +func DateProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date"}} +} + +// DateTimeProperty creates a date time property +func DateTimeProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date-time"}} +} + +// MapProperty creates a map property +func MapProperty(property *Schema) *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"object"}, + AdditionalProperties: &SchemaOrBool{Allows: true, Schema: property}}} +} + +// RefProperty creates a ref property +func RefProperty(name string) *Schema { + return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} +} + +// RefSchema creates a ref property +func RefSchema(name string) *Schema { + return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} +} + +// ArrayProperty creates an array property +func ArrayProperty(items *Schema) *Schema { + if items == nil { + return &Schema{SchemaProps: SchemaProps{Type: []string{"array"}}} + } + return &Schema{SchemaProps: SchemaProps{Items: &SchemaOrArray{Schema: items}, Type: []string{"array"}}} +} + +// ComposedSchema creates a schema with allOf +func ComposedSchema(schemas ...Schema) *Schema { + s := new(Schema) + s.AllOf = schemas + return s +} + +// SchemaURL represents a schema url +type SchemaURL string + +// MarshalJSON marshal this to JSON +func (r SchemaURL) MarshalJSON() ([]byte, error) { + if r == "" { + return []byte("{}"), nil + } + v := map[string]interface{}{"$schema": string(r)} + return json.Marshal(v) +} + +// UnmarshalJSON unmarshal this from JSON +func (r *SchemaURL) UnmarshalJSON(data []byte) error { + var v map[string]interface{} + if err := json.Unmarshal(data, &v); err != nil { + return err + } + return r.fromMap(v) +} + +func (r *SchemaURL) fromMap(v map[string]interface{}) error { + if v == nil { + return nil + } + if vv, ok := v["$schema"]; ok { + if str, ok := vv.(string); ok { + u, err := url.Parse(str) + if err != nil { + return err + } + + *r = SchemaURL(u.String()) + } + } + return nil +} + +// SchemaProps describes a JSON schema (draft 4) +type SchemaProps struct { + ID string `json:"id,omitempty"` + Ref Ref `json:"-"` + Schema SchemaURL `json:"-"` + Description string `json:"description,omitempty"` + Type StringOrArray `json:"type,omitempty"` + Nullable bool `json:"nullable,omitempty"` + Format string `json:"format,omitempty"` + Title string `json:"title,omitempty"` + Default interface{} `json:"default,omitempty"` + Maximum *float64 `json:"maximum,omitempty"` + ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` + Minimum *float64 `json:"minimum,omitempty"` + ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` + MaxLength *int64 `json:"maxLength,omitempty"` + MinLength *int64 `json:"minLength,omitempty"` + Pattern string `json:"pattern,omitempty"` + MaxItems *int64 `json:"maxItems,omitempty"` + MinItems *int64 `json:"minItems,omitempty"` + UniqueItems bool `json:"uniqueItems,omitempty"` + MultipleOf *float64 `json:"multipleOf,omitempty"` + Enum []interface{} `json:"enum,omitempty"` + MaxProperties *int64 `json:"maxProperties,omitempty"` + MinProperties *int64 `json:"minProperties,omitempty"` + Required []string `json:"required,omitempty"` + Items *SchemaOrArray `json:"items,omitempty"` + AllOf []Schema `json:"allOf,omitempty"` + OneOf []Schema `json:"oneOf,omitempty"` + AnyOf []Schema `json:"anyOf,omitempty"` + Not *Schema `json:"not,omitempty"` + Properties map[string]Schema `json:"properties,omitempty"` + AdditionalProperties *SchemaOrBool `json:"additionalProperties,omitempty"` + PatternProperties map[string]Schema `json:"patternProperties,omitempty"` + Dependencies Dependencies `json:"dependencies,omitempty"` + AdditionalItems *SchemaOrBool `json:"additionalItems,omitempty"` + Definitions Definitions `json:"definitions,omitempty"` +} + +// SwaggerSchemaProps are additional properties supported by swagger schemas, but not JSON-schema (draft 4) +type SwaggerSchemaProps struct { + Discriminator string `json:"discriminator,omitempty"` + ReadOnly bool `json:"readOnly,omitempty"` + XML *XMLObject `json:"xml,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` + Example interface{} `json:"example,omitempty"` +} + +// Schema the schema object allows the definition of input and output data types. +// These types can be objects, but also primitives and arrays. +// This object is based on the [JSON Schema Specification Draft 4](http://json-schema.org/) +// and uses a predefined subset of it. +// On top of this subset, there are extensions provided by this specification to allow for more complete documentation. +// +// For more information: http://goo.gl/8us55a#schemaObject +type Schema struct { + VendorExtensible + SchemaProps + SwaggerSchemaProps + ExtraProps map[string]interface{} `json:"-"` +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s Schema) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + + if ex, ok := s.ExtraProps[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(s.SchemaProps, token) + if r != nil || (err != nil && !strings.HasPrefix(err.Error(), "object has no field")) { + return r, err + } + r, _, err = jsonpointer.GetForToken(s.SwaggerSchemaProps, token) + return r, err +} + +// WithID sets the id for this schema, allows for chaining +func (s *Schema) WithID(id string) *Schema { + s.ID = id + return s +} + +// WithTitle sets the title for this schema, allows for chaining +func (s *Schema) WithTitle(title string) *Schema { + s.Title = title + return s +} + +// WithDescription sets the description for this schema, allows for chaining +func (s *Schema) WithDescription(description string) *Schema { + s.Description = description + return s +} + +// WithProperties sets the properties for this schema +func (s *Schema) WithProperties(schemas map[string]Schema) *Schema { + s.Properties = schemas + return s +} + +// SetProperty sets a property on this schema +func (s *Schema) SetProperty(name string, schema Schema) *Schema { + if s.Properties == nil { + s.Properties = make(map[string]Schema) + } + s.Properties[name] = schema + return s +} + +// WithAllOf sets the all of property +func (s *Schema) WithAllOf(schemas ...Schema) *Schema { + s.AllOf = schemas + return s +} + +// WithMaxProperties sets the max number of properties an object can have +func (s *Schema) WithMaxProperties(max int64) *Schema { + s.MaxProperties = &max + return s +} + +// WithMinProperties sets the min number of properties an object must have +func (s *Schema) WithMinProperties(min int64) *Schema { + s.MinProperties = &min + return s +} + +// Typed sets the type of this schema for a single value item +func (s *Schema) Typed(tpe, format string) *Schema { + s.Type = []string{tpe} + s.Format = format + return s +} + +// AddType adds a type with potential format to the types for this schema +func (s *Schema) AddType(tpe, format string) *Schema { + s.Type = append(s.Type, tpe) + if format != "" { + s.Format = format + } + return s +} + +// AsNullable flags this schema as nullable. +func (s *Schema) AsNullable() *Schema { + s.Nullable = true + return s +} + +// CollectionOf a fluent builder method for an array parameter +func (s *Schema) CollectionOf(items Schema) *Schema { + s.Type = []string{jsonArray} + s.Items = &SchemaOrArray{Schema: &items} + return s +} + +// WithDefault sets the default value on this parameter +func (s *Schema) WithDefault(defaultValue interface{}) *Schema { + s.Default = defaultValue + return s +} + +// WithRequired flags this parameter as required +func (s *Schema) WithRequired(items ...string) *Schema { + s.Required = items + return s +} + +// AddRequired adds field names to the required properties array +func (s *Schema) AddRequired(items ...string) *Schema { + s.Required = append(s.Required, items...) + return s +} + +// WithMaxLength sets a max length value +func (s *Schema) WithMaxLength(max int64) *Schema { + s.MaxLength = &max + return s +} + +// WithMinLength sets a min length value +func (s *Schema) WithMinLength(min int64) *Schema { + s.MinLength = &min + return s +} + +// WithPattern sets a pattern value +func (s *Schema) WithPattern(pattern string) *Schema { + s.Pattern = pattern + return s +} + +// WithMultipleOf sets a multiple of value +func (s *Schema) WithMultipleOf(number float64) *Schema { + s.MultipleOf = &number + return s +} + +// WithMaximum sets a maximum number value +func (s *Schema) WithMaximum(max float64, exclusive bool) *Schema { + s.Maximum = &max + s.ExclusiveMaximum = exclusive + return s +} + +// WithMinimum sets a minimum number value +func (s *Schema) WithMinimum(min float64, exclusive bool) *Schema { + s.Minimum = &min + s.ExclusiveMinimum = exclusive + return s +} + +// WithEnum sets a the enum values (replace) +func (s *Schema) WithEnum(values ...interface{}) *Schema { + s.Enum = append([]interface{}{}, values...) + return s +} + +// WithMaxItems sets the max items +func (s *Schema) WithMaxItems(size int64) *Schema { + s.MaxItems = &size + return s +} + +// WithMinItems sets the min items +func (s *Schema) WithMinItems(size int64) *Schema { + s.MinItems = &size + return s +} + +// UniqueValues dictates that this array can only have unique items +func (s *Schema) UniqueValues() *Schema { + s.UniqueItems = true + return s +} + +// AllowDuplicates this array can have duplicates +func (s *Schema) AllowDuplicates() *Schema { + s.UniqueItems = false + return s +} + +// AddToAllOf adds a schema to the allOf property +func (s *Schema) AddToAllOf(schemas ...Schema) *Schema { + s.AllOf = append(s.AllOf, schemas...) + return s +} + +// WithDiscriminator sets the name of the discriminator field +func (s *Schema) WithDiscriminator(discriminator string) *Schema { + s.Discriminator = discriminator + return s +} + +// AsReadOnly flags this schema as readonly +func (s *Schema) AsReadOnly() *Schema { + s.ReadOnly = true + return s +} + +// AsWritable flags this schema as writeable (not read-only) +func (s *Schema) AsWritable() *Schema { + s.ReadOnly = false + return s +} + +// WithExample sets the example for this schema +func (s *Schema) WithExample(example interface{}) *Schema { + s.Example = example + return s +} + +// WithExternalDocs sets/removes the external docs for/from this schema. +// When you pass empty strings as params the external documents will be removed. +// When you pass non-empty string as one value then those values will be used on the external docs object. +// So when you pass a non-empty description, you should also pass the url and vice versa. +func (s *Schema) WithExternalDocs(description, url string) *Schema { + if description == "" && url == "" { + s.ExternalDocs = nil + return s + } + + if s.ExternalDocs == nil { + s.ExternalDocs = &ExternalDocumentation{} + } + s.ExternalDocs.Description = description + s.ExternalDocs.URL = url + return s +} + +// WithXMLName sets the xml name for the object +func (s *Schema) WithXMLName(name string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Name = name + return s +} + +// WithXMLNamespace sets the xml namespace for the object +func (s *Schema) WithXMLNamespace(namespace string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Namespace = namespace + return s +} + +// WithXMLPrefix sets the xml prefix for the object +func (s *Schema) WithXMLPrefix(prefix string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Prefix = prefix + return s +} + +// AsXMLAttribute flags this object as xml attribute +func (s *Schema) AsXMLAttribute() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Attribute = true + return s +} + +// AsXMLElement flags this object as an xml node +func (s *Schema) AsXMLElement() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Attribute = false + return s +} + +// AsWrappedXML flags this object as wrapped, this is mostly useful for array types +func (s *Schema) AsWrappedXML() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Wrapped = true + return s +} + +// AsUnwrappedXML flags this object as an xml node +func (s *Schema) AsUnwrappedXML() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Wrapped = false + return s +} + +// MarshalJSON marshal this to JSON +func (s Schema) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SchemaProps) + if err != nil { + return nil, fmt.Errorf("schema props %v", err) + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, fmt.Errorf("vendor props %v", err) + } + b3, err := s.Ref.MarshalJSON() + if err != nil { + return nil, fmt.Errorf("ref prop %v", err) + } + b4, err := s.Schema.MarshalJSON() + if err != nil { + return nil, fmt.Errorf("schema prop %v", err) + } + b5, err := json.Marshal(s.SwaggerSchemaProps) + if err != nil { + return nil, fmt.Errorf("common validations %v", err) + } + var b6 []byte + if s.ExtraProps != nil { + jj, err := json.Marshal(s.ExtraProps) + if err != nil { + return nil, fmt.Errorf("extra props %v", err) + } + b6 = jj + } + return swag.ConcatJSON(b1, b2, b3, b4, b5, b6), nil +} + +// UnmarshalJSON marshal this from JSON +func (s *Schema) UnmarshalJSON(data []byte) error { + props := struct { + SchemaProps + SwaggerSchemaProps + }{} + if err := json.Unmarshal(data, &props); err != nil { + return err + } + + sch := Schema{ + SchemaProps: props.SchemaProps, + SwaggerSchemaProps: props.SwaggerSchemaProps, + } + + var d map[string]interface{} + if err := json.Unmarshal(data, &d); err != nil { + return err + } + + _ = sch.Ref.fromMap(d) + _ = sch.Schema.fromMap(d) + + delete(d, "$ref") + delete(d, "$schema") + for _, pn := range swag.DefaultJSONNameProvider.GetJSONNames(s) { + delete(d, pn) + } + + for k, vv := range d { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + if sch.Extensions == nil { + sch.Extensions = map[string]interface{}{} + } + sch.Extensions[k] = vv + continue + } + if sch.ExtraProps == nil { + sch.ExtraProps = map[string]interface{}{} + } + sch.ExtraProps[k] = vv + } + + *s = sch + + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema_loader.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema_loader.go new file mode 100644 index 0000000..9e20e96 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/schema_loader.go @@ -0,0 +1,276 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + "fmt" + "log" + "net/url" + "reflect" + "strings" + + "github.com/go-openapi/swag" +) + +// PathLoader function to use when loading remote refs +var PathLoader func(string) (json.RawMessage, error) + +func init() { + PathLoader = func(path string) (json.RawMessage, error) { + data, err := swag.LoadFromFileOrHTTP(path) + if err != nil { + return nil, err + } + return json.RawMessage(data), nil + } +} + +// resolverContext allows to share a context during spec processing. +// At the moment, it just holds the index of circular references found. +type resolverContext struct { + // circulars holds all visited circular references, which allows shortcuts. + // NOTE: this is not just a performance improvement: it is required to figure out + // circular references which participate several cycles. + // This structure is privately instantiated and needs not be locked against + // concurrent access, unless we chose to implement a parallel spec walking. + circulars map[string]bool + basePath string +} + +func newResolverContext(originalBasePath string) *resolverContext { + return &resolverContext{ + circulars: make(map[string]bool), + basePath: originalBasePath, // keep the root base path in context + } +} + +type schemaLoader struct { + root interface{} + options *ExpandOptions + cache ResolutionCache + context *resolverContext + loadDoc func(string) (json.RawMessage, error) +} + +func (r *schemaLoader) transitiveResolver(basePath string, ref Ref) (*schemaLoader, error) { + if ref.IsRoot() || ref.HasFragmentOnly { + return r, nil + } + + baseRef, _ := NewRef(basePath) + currentRef := normalizeFileRef(&ref, basePath) + if strings.HasPrefix(currentRef.String(), baseRef.String()) { + return r, nil + } + + // Set a new root to resolve against + rootURL := currentRef.GetURL() + rootURL.Fragment = "" + root, _ := r.cache.Get(rootURL.String()) + + // shallow copy of resolver options to set a new RelativeBase when + // traversing multiple documents + newOptions := r.options + newOptions.RelativeBase = rootURL.String() + debugLog("setting new root: %s", newOptions.RelativeBase) + resolver, err := defaultSchemaLoader(root, newOptions, r.cache, r.context) + if err != nil { + return nil, err + } + + return resolver, nil +} + +func (r *schemaLoader) updateBasePath(transitive *schemaLoader, basePath string) string { + if transitive != r { + debugLog("got a new resolver") + if transitive.options != nil && transitive.options.RelativeBase != "" { + basePath, _ = absPath(transitive.options.RelativeBase) + debugLog("new basePath = %s", basePath) + } + } + return basePath +} + +func (r *schemaLoader) resolveRef(ref *Ref, target interface{}, basePath string) error { + tgt := reflect.ValueOf(target) + if tgt.Kind() != reflect.Ptr { + return fmt.Errorf("resolve ref: target needs to be a pointer") + } + + refURL := ref.GetURL() + if refURL == nil { + return nil + } + + var res interface{} + var data interface{} + var err error + // Resolve against the root if it isn't nil, and if ref is pointing at the root, or has a fragment only which means + // it is pointing somewhere in the root. + root := r.root + if (ref.IsRoot() || ref.HasFragmentOnly) && root == nil && basePath != "" { + if baseRef, erb := NewRef(basePath); erb == nil { + root, _, _, _ = r.load(baseRef.GetURL()) + } + } + if (ref.IsRoot() || ref.HasFragmentOnly) && root != nil { + data = root + } else { + baseRef := normalizeFileRef(ref, basePath) + debugLog("current ref is: %s", ref.String()) + debugLog("current ref normalized file: %s", baseRef.String()) + data, _, _, err = r.load(baseRef.GetURL()) + if err != nil { + return err + } + } + + res = data + if ref.String() != "" { + res, _, err = ref.GetPointer().Get(data) + if err != nil { + return err + } + } + return swag.DynamicJSONToStruct(res, target) +} + +func (r *schemaLoader) load(refURL *url.URL) (interface{}, url.URL, bool, error) { + debugLog("loading schema from url: %s", refURL) + toFetch := *refURL + toFetch.Fragment = "" + + normalized := normalizeAbsPath(toFetch.String()) + + data, fromCache := r.cache.Get(normalized) + if !fromCache { + b, err := r.loadDoc(normalized) + if err != nil { + debugLog("unable to load the document: %v", err) + return nil, url.URL{}, false, err + } + + if err := json.Unmarshal(b, &data); err != nil { + return nil, url.URL{}, false, err + } + r.cache.Set(normalized, data) + } + + return data, toFetch, fromCache, nil +} + +// isCircular detects cycles in sequences of $ref. +// It relies on a private context (which needs not be locked). +func (r *schemaLoader) isCircular(ref *Ref, basePath string, parentRefs ...string) (foundCycle bool) { + normalizedRef := normalizePaths(ref.String(), basePath) + if _, ok := r.context.circulars[normalizedRef]; ok { + // circular $ref has been already detected in another explored cycle + foundCycle = true + return + } + foundCycle = swag.ContainsStringsCI(parentRefs, normalizedRef) + if foundCycle { + r.context.circulars[normalizedRef] = true + } + return +} + +// Resolve resolves a reference against basePath and stores the result in target +// Resolve is not in charge of following references, it only resolves ref by following its URL +// if the schema that ref is referring to has more refs in it. Resolve doesn't resolve them +// if basePath is an empty string, ref is resolved against the root schema stored in the schemaLoader struct +func (r *schemaLoader) Resolve(ref *Ref, target interface{}, basePath string) error { + return r.resolveRef(ref, target, basePath) +} + +func (r *schemaLoader) deref(input interface{}, parentRefs []string, basePath string) error { + var ref *Ref + switch refable := input.(type) { + case *Schema: + ref = &refable.Ref + case *Parameter: + ref = &refable.Ref + case *Response: + ref = &refable.Ref + case *PathItem: + ref = &refable.Ref + default: + return fmt.Errorf("deref: unsupported type %T", input) + } + + curRef := ref.String() + if curRef != "" { + normalizedRef := normalizeFileRef(ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if r.isCircular(normalizedRef, basePath, parentRefs...) { + return nil + } + + if err := r.resolveRef(ref, input, basePath); r.shouldStopOnError(err) { + return err + } + + // NOTE(fredbi): removed basePath check => needs more testing + if ref.String() != "" && ref.String() != curRef { + parentRefs = append(parentRefs, normalizedRef.String()) + return r.deref(input, parentRefs, normalizedBasePath) + } + } + + return nil +} + +func (r *schemaLoader) shouldStopOnError(err error) bool { + if err != nil && !r.options.ContinueOnError { + return true + } + + if err != nil { + log.Println(err) + } + + return false +} + +func defaultSchemaLoader( + root interface{}, + expandOptions *ExpandOptions, + cache ResolutionCache, + context *resolverContext) (*schemaLoader, error) { + + if cache == nil { + cache = resCache + } + if expandOptions == nil { + expandOptions = &ExpandOptions{} + } + absBase, _ := absPath(expandOptions.RelativeBase) + if context == nil { + context = newResolverContext(absBase) + } + return &schemaLoader{ + root: root, + options: expandOptions, + cache: cache, + context: context, + loadDoc: func(path string) (json.RawMessage, error) { + debugLog("fetching document at %q", path) + return PathLoader(path) + }, + }, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/security_scheme.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/security_scheme.go new file mode 100644 index 0000000..fe35384 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/security_scheme.go @@ -0,0 +1,140 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + basic = "basic" + apiKey = "apiKey" + oauth2 = "oauth2" + implicit = "implicit" + password = "password" + application = "application" + accessCode = "accessCode" +) + +// BasicAuth creates a basic auth security scheme +func BasicAuth() *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: basic}} +} + +// APIKeyAuth creates an api key auth security scheme +func APIKeyAuth(fieldName, valueSource string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: apiKey, Name: fieldName, In: valueSource}} +} + +// OAuth2Implicit creates an implicit flow oauth2 security scheme +func OAuth2Implicit(authorizationURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: implicit, + AuthorizationURL: authorizationURL, + }} +} + +// OAuth2Password creates a password flow oauth2 security scheme +func OAuth2Password(tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: password, + TokenURL: tokenURL, + }} +} + +// OAuth2Application creates an application flow oauth2 security scheme +func OAuth2Application(tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: application, + TokenURL: tokenURL, + }} +} + +// OAuth2AccessToken creates an access token flow oauth2 security scheme +func OAuth2AccessToken(authorizationURL, tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: accessCode, + AuthorizationURL: authorizationURL, + TokenURL: tokenURL, + }} +} + +// SecuritySchemeProps describes a swagger security scheme in the securityDefinitions section +type SecuritySchemeProps struct { + Description string `json:"description,omitempty"` + Type string `json:"type"` + Name string `json:"name,omitempty"` // api key + In string `json:"in,omitempty"` // api key + Flow string `json:"flow,omitempty"` // oauth2 + AuthorizationURL string `json:"authorizationUrl,omitempty"` // oauth2 + TokenURL string `json:"tokenUrl,omitempty"` // oauth2 + Scopes map[string]string `json:"scopes,omitempty"` // oauth2 +} + +// AddScope adds a scope to this security scheme +func (s *SecuritySchemeProps) AddScope(scope, description string) { + if s.Scopes == nil { + s.Scopes = make(map[string]string) + } + s.Scopes[scope] = description +} + +// SecurityScheme allows the definition of a security scheme that can be used by the operations. +// Supported schemes are basic authentication, an API key (either as a header or as a query parameter) +// and OAuth2's common flows (implicit, password, application and access code). +// +// For more information: http://goo.gl/8us55a#securitySchemeObject +type SecurityScheme struct { + VendorExtensible + SecuritySchemeProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SecurityScheme) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(s.SecuritySchemeProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (s SecurityScheme) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SecuritySchemeProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (s *SecurityScheme) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &s.SecuritySchemeProps); err != nil { + return err + } + return json.Unmarshal(data, &s.VendorExtensible) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/spec.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/spec.go new file mode 100644 index 0000000..0bb045b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/spec.go @@ -0,0 +1,86 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import "encoding/json" + +//go:generate curl -L --progress -o ./schemas/v2/schema.json http://swagger.io/v2/schema.json +//go:generate curl -L --progress -o ./schemas/jsonschema-draft-04.json http://json-schema.org/draft-04/schema +//go:generate go-bindata -pkg=spec -prefix=./schemas -ignore=.*\.md ./schemas/... +//go:generate perl -pi -e s,Json,JSON,g bindata.go + +const ( + // SwaggerSchemaURL the url for the swagger 2.0 schema to validate specs + SwaggerSchemaURL = "http://swagger.io/v2/schema.json#" + // JSONSchemaURL the url for the json schema schema + JSONSchemaURL = "http://json-schema.org/draft-04/schema#" +) + +var ( + jsonSchema *Schema + swaggerSchema *Schema +) + +func init() { + jsonSchema = MustLoadJSONSchemaDraft04() + swaggerSchema = MustLoadSwagger20Schema() +} + +// MustLoadJSONSchemaDraft04 panics when Swagger20Schema returns an error +func MustLoadJSONSchemaDraft04() *Schema { + d, e := JSONSchemaDraft04() + if e != nil { + panic(e) + } + return d +} + +// JSONSchemaDraft04 loads the json schema document for json shema draft04 +func JSONSchemaDraft04() (*Schema, error) { + b, err := Asset("jsonschema-draft-04.json") + if err != nil { + return nil, err + } + + schema := new(Schema) + if err := json.Unmarshal(b, schema); err != nil { + return nil, err + } + return schema, nil +} + +// MustLoadSwagger20Schema panics when Swagger20Schema returns an error +func MustLoadSwagger20Schema() *Schema { + d, e := Swagger20Schema() + if e != nil { + panic(e) + } + return d +} + +// Swagger20Schema loads the swagger 2.0 schema from the embedded assets +func Swagger20Schema() (*Schema, error) { + + b, err := Asset("v2/schema.json") + if err != nil { + return nil, err + } + + schema := new(Schema) + if err := json.Unmarshal(b, schema); err != nil { + return nil, err + } + return schema, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/swagger.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/swagger.go new file mode 100644 index 0000000..44722ff --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/swagger.go @@ -0,0 +1,448 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "fmt" + "strconv" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// Swagger this is the root document object for the API specification. +// It combines what previously was the Resource Listing and API Declaration (version 1.2 and earlier) +// together into one document. +// +// For more information: http://goo.gl/8us55a#swagger-object- +type Swagger struct { + VendorExtensible + SwaggerProps +} + +// JSONLookup look up a value by the json property name +func (s Swagger) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(s.SwaggerProps, token) + return r, err +} + +// MarshalJSON marshals this swagger structure to json +func (s Swagger) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SwaggerProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON unmarshals a swagger spec from json +func (s *Swagger) UnmarshalJSON(data []byte) error { + var sw Swagger + if err := json.Unmarshal(data, &sw.SwaggerProps); err != nil { + return err + } + if err := json.Unmarshal(data, &sw.VendorExtensible); err != nil { + return err + } + *s = sw + return nil +} + +// GobEncode provides a safe gob encoder for Swagger, including extensions +func (s Swagger) GobEncode() ([]byte, error) { + var b bytes.Buffer + raw := struct { + Props SwaggerProps + Ext VendorExtensible + }{ + Props: s.SwaggerProps, + Ext: s.VendorExtensible, + } + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Swagger, including extensions +func (s *Swagger) GobDecode(b []byte) error { + var raw struct { + Props SwaggerProps + Ext VendorExtensible + } + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + s.SwaggerProps = raw.Props + s.VendorExtensible = raw.Ext + return nil +} + +// SwaggerProps captures the top-level properties of an Api specification +// +// NOTE: validation rules +// - the scheme, when present must be from [http, https, ws, wss] +// - BasePath must start with a leading "/" +// - Paths is required +type SwaggerProps struct { + ID string `json:"id,omitempty"` + Consumes []string `json:"consumes,omitempty"` + Produces []string `json:"produces,omitempty"` + Schemes []string `json:"schemes,omitempty"` + Swagger string `json:"swagger,omitempty"` + Info *Info `json:"info,omitempty"` + Host string `json:"host,omitempty"` + BasePath string `json:"basePath,omitempty"` + Paths *Paths `json:"paths"` + Definitions Definitions `json:"definitions,omitempty"` + Parameters map[string]Parameter `json:"parameters,omitempty"` + Responses map[string]Response `json:"responses,omitempty"` + SecurityDefinitions SecurityDefinitions `json:"securityDefinitions,omitempty"` + Security []map[string][]string `json:"security,omitempty"` + Tags []Tag `json:"tags,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` +} + +type swaggerPropsAlias SwaggerProps + +type gobSwaggerPropsAlias struct { + Security []map[string]struct { + List []string + Pad bool + } + Alias *swaggerPropsAlias + SecurityIsEmpty bool +} + +// GobEncode provides a safe gob encoder for SwaggerProps, including empty security requirements +func (o SwaggerProps) GobEncode() ([]byte, error) { + raw := gobSwaggerPropsAlias{ + Alias: (*swaggerPropsAlias)(&o), + } + + var b bytes.Buffer + if o.Security == nil { + // nil security requirement + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + if len(o.Security) == 0 { + // empty, but non-nil security requirement + raw.SecurityIsEmpty = true + raw.Alias.Security = nil + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + raw.Security = make([]map[string]struct { + List []string + Pad bool + }, 0, len(o.Security)) + for _, req := range o.Security { + v := make(map[string]struct { + List []string + Pad bool + }, len(req)) + for k, val := range req { + v[k] = struct { + List []string + Pad bool + }{ + List: val, + } + } + raw.Security = append(raw.Security, v) + } + + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for SwaggerProps, including empty security requirements +func (o *SwaggerProps) GobDecode(b []byte) error { + var raw gobSwaggerPropsAlias + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + if raw.Alias == nil { + return nil + } + + switch { + case raw.SecurityIsEmpty: + // empty, but non-nil security requirement + raw.Alias.Security = []map[string][]string{} + case len(raw.Alias.Security) == 0: + // nil security requirement + raw.Alias.Security = nil + default: + raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) + for _, req := range raw.Security { + v := make(map[string][]string, len(req)) + for k, val := range req { + v[k] = make([]string, 0, len(val.List)) + v[k] = append(v[k], val.List...) + } + raw.Alias.Security = append(raw.Alias.Security, v) + } + } + + *o = *(*SwaggerProps)(raw.Alias) + return nil +} + +// Dependencies represent a dependencies property +type Dependencies map[string]SchemaOrStringArray + +// SchemaOrBool represents a schema or boolean value, is biased towards true for the boolean property +type SchemaOrBool struct { + Allows bool + Schema *Schema +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrBool) JSONLookup(token string) (interface{}, error) { + if token == "allows" { + return s.Allows, nil + } + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +var jsTrue = []byte("true") +var jsFalse = []byte("false") + +// MarshalJSON convert this object to JSON +func (s SchemaOrBool) MarshalJSON() ([]byte, error) { + if s.Schema != nil { + return json.Marshal(s.Schema) + } + + if s.Schema == nil && !s.Allows { + return jsFalse, nil + } + return jsTrue, nil +} + +// UnmarshalJSON converts this bool or schema object from a JSON structure +func (s *SchemaOrBool) UnmarshalJSON(data []byte) error { + var nw SchemaOrBool + if len(data) >= 4 { + if data[0] == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + nw.Allows = !(data[0] == 'f' && data[1] == 'a' && data[2] == 'l' && data[3] == 's' && data[4] == 'e') + } + *s = nw + return nil +} + +// SchemaOrStringArray represents a schema or a string array +type SchemaOrStringArray struct { + Schema *Schema + Property []string +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrStringArray) JSONLookup(token string) (interface{}, error) { + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +// MarshalJSON converts this schema object or array into JSON structure +func (s SchemaOrStringArray) MarshalJSON() ([]byte, error) { + if len(s.Property) > 0 { + return json.Marshal(s.Property) + } + if s.Schema != nil { + return json.Marshal(s.Schema) + } + return []byte("null"), nil +} + +// UnmarshalJSON converts this schema object or array from a JSON structure +func (s *SchemaOrStringArray) UnmarshalJSON(data []byte) error { + var first byte + if len(data) > 1 { + first = data[0] + } + var nw SchemaOrStringArray + if first == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + if first == '[' { + if err := json.Unmarshal(data, &nw.Property); err != nil { + return err + } + } + *s = nw + return nil +} + +// Definitions contains the models explicitly defined in this spec +// An object to hold data types that can be consumed and produced by operations. +// These data types can be primitives, arrays or models. +// +// For more information: http://goo.gl/8us55a#definitionsObject +type Definitions map[string]Schema + +// SecurityDefinitions a declaration of the security schemes available to be used in the specification. +// This does not enforce the security schemes on the operations and only serves to provide +// the relevant details for each scheme. +// +// For more information: http://goo.gl/8us55a#securityDefinitionsObject +type SecurityDefinitions map[string]*SecurityScheme + +// StringOrArray represents a value that can either be a string +// or an array of strings. Mainly here for serialization purposes +type StringOrArray []string + +// Contains returns true when the value is contained in the slice +func (s StringOrArray) Contains(value string) bool { + for _, str := range s { + if str == value { + return true + } + } + return false +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrArray) JSONLookup(token string) (interface{}, error) { + if _, err := strconv.Atoi(token); err == nil { + r, _, err := jsonpointer.GetForToken(s.Schemas, token) + return r, err + } + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +// UnmarshalJSON unmarshals this string or array object from a JSON array or JSON string +func (s *StringOrArray) UnmarshalJSON(data []byte) error { + var first byte + if len(data) > 1 { + first = data[0] + } + + if first == '[' { + var parsed []string + if err := json.Unmarshal(data, &parsed); err != nil { + return err + } + *s = StringOrArray(parsed) + return nil + } + + var single interface{} + if err := json.Unmarshal(data, &single); err != nil { + return err + } + if single == nil { + return nil + } + switch v := single.(type) { + case string: + *s = StringOrArray([]string{v}) + return nil + default: + return fmt.Errorf("only string or array is allowed, not %T", single) + } +} + +// MarshalJSON converts this string or array to a JSON array or JSON string +func (s StringOrArray) MarshalJSON() ([]byte, error) { + if len(s) == 1 { + return json.Marshal([]string(s)[0]) + } + return json.Marshal([]string(s)) +} + +// SchemaOrArray represents a value that can either be a Schema +// or an array of Schema. Mainly here for serialization purposes +type SchemaOrArray struct { + Schema *Schema + Schemas []Schema +} + +// Len returns the number of schemas in this property +func (s SchemaOrArray) Len() int { + if s.Schema != nil { + return 1 + } + return len(s.Schemas) +} + +// ContainsType returns true when one of the schemas is of the specified type +func (s *SchemaOrArray) ContainsType(name string) bool { + if s.Schema != nil { + return s.Schema.Type != nil && s.Schema.Type.Contains(name) + } + return false +} + +// MarshalJSON converts this schema object or array into JSON structure +func (s SchemaOrArray) MarshalJSON() ([]byte, error) { + if len(s.Schemas) > 0 { + return json.Marshal(s.Schemas) + } + return json.Marshal(s.Schema) +} + +// UnmarshalJSON converts this schema object or array from a JSON structure +func (s *SchemaOrArray) UnmarshalJSON(data []byte) error { + var nw SchemaOrArray + var first byte + if len(data) > 1 { + first = data[0] + } + if first == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + if first == '[' { + if err := json.Unmarshal(data, &nw.Schemas); err != nil { + return err + } + } + *s = nw + return nil +} + +// vim:set ft=go noet sts=2 sw=2 ts=2: diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/tag.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/tag.go new file mode 100644 index 0000000..faa3d3d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/tag.go @@ -0,0 +1,75 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// TagProps describe a tag entry in the top level tags section of a swagger spec +type TagProps struct { + Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` +} + +// NewTag creates a new tag +func NewTag(name, description string, externalDocs *ExternalDocumentation) Tag { + return Tag{TagProps: TagProps{Description: description, Name: name, ExternalDocs: externalDocs}} +} + +// Tag allows adding meta data to a single tag that is used by the +// [Operation Object](http://goo.gl/8us55a#operationObject). +// It is not mandatory to have a Tag Object per tag used there. +// +// For more information: http://goo.gl/8us55a#tagObject +type Tag struct { + VendorExtensible + TagProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (t Tag) JSONLookup(token string) (interface{}, error) { + if ex, ok := t.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(t.TagProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (t Tag) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(t.TagProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(t.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (t *Tag) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &t.TagProps); err != nil { + return err + } + return json.Unmarshal(data, &t.VendorExtensible) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/unused.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/unused.go new file mode 100644 index 0000000..aa12b56 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/unused.go @@ -0,0 +1,174 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +/* + +import ( + "net/url" + "os" + "path" + "path/filepath" + + "github.com/go-openapi/jsonpointer" +) + + // Some currently unused functions and definitions that + // used to be part of the expander. + + // Moved here for the record and possible future reuse + +var ( + idPtr, _ = jsonpointer.New("/id") + refPtr, _ = jsonpointer.New("/$ref") +) + +func idFromNode(node interface{}) (*Ref, error) { + if idValue, _, err := idPtr.Get(node); err == nil { + if refStr, ok := idValue.(string); ok && refStr != "" { + idRef, err := NewRef(refStr) + if err != nil { + return nil, err + } + return &idRef, nil + } + } + return nil, nil +} + +func nextRef(startingNode interface{}, startingRef *Ref, ptr *jsonpointer.Pointer) *Ref { + if startingRef == nil { + return nil + } + + if ptr == nil { + return startingRef + } + + ret := startingRef + var idRef *Ref + node := startingNode + + for _, tok := range ptr.DecodedTokens() { + node, _, _ = jsonpointer.GetForToken(node, tok) + if node == nil { + break + } + + idRef, _ = idFromNode(node) + if idRef != nil { + nw, err := ret.Inherits(*idRef) + if err != nil { + break + } + ret = nw + } + + refRef, _, _ := refPtr.Get(node) + if refRef != nil { + var rf Ref + switch value := refRef.(type) { + case string: + rf, _ = NewRef(value) + } + nw, err := ret.Inherits(rf) + if err != nil { + break + } + nwURL := nw.GetURL() + if nwURL.Scheme == "file" || (nwURL.Scheme == "" && nwURL.Host == "") { + nwpt := filepath.ToSlash(nwURL.Path) + if filepath.IsAbs(nwpt) { + _, err := os.Stat(nwpt) + if err != nil { + nwURL.Path = filepath.Join(".", nwpt) + } + } + } + + ret = nw + } + + } + + return ret +} + +// basePathFromSchemaID returns a new basePath based on an existing basePath and a schema ID +func basePathFromSchemaID(oldBasePath, id string) string { + u, err := url.Parse(oldBasePath) + if err != nil { + panic(err) + } + uid, err := url.Parse(id) + if err != nil { + panic(err) + } + + if path.IsAbs(uid.Path) { + return id + } + u.Path = path.Join(path.Dir(u.Path), uid.Path) + return u.String() +} +*/ + +// type ExtraSchemaProps map[string]interface{} + +// // JSONSchema represents a structure that is a json schema draft 04 +// type JSONSchema struct { +// SchemaProps +// ExtraSchemaProps +// } + +// // MarshalJSON marshal this to JSON +// func (s JSONSchema) MarshalJSON() ([]byte, error) { +// b1, err := json.Marshal(s.SchemaProps) +// if err != nil { +// return nil, err +// } +// b2, err := s.Ref.MarshalJSON() +// if err != nil { +// return nil, err +// } +// b3, err := s.Schema.MarshalJSON() +// if err != nil { +// return nil, err +// } +// b4, err := json.Marshal(s.ExtraSchemaProps) +// if err != nil { +// return nil, err +// } +// return swag.ConcatJSON(b1, b2, b3, b4), nil +// } + +// // UnmarshalJSON marshal this from JSON +// func (s *JSONSchema) UnmarshalJSON(data []byte) error { +// var sch JSONSchema +// if err := json.Unmarshal(data, &sch.SchemaProps); err != nil { +// return err +// } +// if err := json.Unmarshal(data, &sch.Ref); err != nil { +// return err +// } +// if err := json.Unmarshal(data, &sch.Schema); err != nil { +// return err +// } +// if err := json.Unmarshal(data, &sch.ExtraSchemaProps); err != nil { +// return err +// } +// *s = sch +// return nil +// } diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/xml_object.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/xml_object.go new file mode 100644 index 0000000..945a467 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/spec/xml_object.go @@ -0,0 +1,68 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package spec + +// XMLObject a metadata object that allows for more fine-tuned XML model definitions. +// +// For more information: http://goo.gl/8us55a#xmlObject +type XMLObject struct { + Name string `json:"name,omitempty"` + Namespace string `json:"namespace,omitempty"` + Prefix string `json:"prefix,omitempty"` + Attribute bool `json:"attribute,omitempty"` + Wrapped bool `json:"wrapped,omitempty"` +} + +// WithName sets the xml name for the object +func (x *XMLObject) WithName(name string) *XMLObject { + x.Name = name + return x +} + +// WithNamespace sets the xml namespace for the object +func (x *XMLObject) WithNamespace(namespace string) *XMLObject { + x.Namespace = namespace + return x +} + +// WithPrefix sets the xml prefix for the object +func (x *XMLObject) WithPrefix(prefix string) *XMLObject { + x.Prefix = prefix + return x +} + +// AsAttribute flags this object as xml attribute +func (x *XMLObject) AsAttribute() *XMLObject { + x.Attribute = true + return x +} + +// AsElement flags this object as an xml node +func (x *XMLObject) AsElement() *XMLObject { + x.Attribute = false + return x +} + +// AsWrapped flags this object as wrapped, this is mostly useful for array types +func (x *XMLObject) AsWrapped() *XMLObject { + x.Wrapped = true + return x +} + +// AsUnwrapped flags this object as an xml node +func (x *XMLObject) AsUnwrapped() *XMLObject { + x.Wrapped = false + return x +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.editorconfig b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.editorconfig new file mode 100644 index 0000000..3152da6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.gitignore new file mode 100644 index 0000000..d69b53a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.gitignore @@ -0,0 +1,4 @@ +secrets.yml +vendor +Godeps +.idea diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.golangci.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.golangci.yml new file mode 100644 index 0000000..625c3d6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.golangci.yml @@ -0,0 +1,22 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 25 + maligned: + suggest-new: true + dupl: + threshold: 100 + goconst: + min-len: 3 + min-occurrences: 2 + +linters: + enable-all: true + disable: + - maligned + - lll + - gochecknoinits + - gochecknoglobals diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.travis.yml new file mode 100644 index 0000000..aa26d87 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/.travis.yml @@ -0,0 +1,15 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.11.x +- 1.12.x +install: +- GO111MODULE=off go get -u gotest.tools/gotestsum +env: +- GO111MODULE=on +language: go +notifications: + slack: + secure: QUWvCkBBK09GF7YtEvHHVt70JOkdlNBG0nIKu/5qc4/nW5HP8I2w0SEf/XR2je0eED1Qe3L/AfMCWwrEj+IUZc3l4v+ju8X8R3Lomhme0Eb0jd1MTMCuPcBT47YCj0M7RON7vXtbFfm1hFJ/jLe5+9FXz0hpXsR24PJc5ZIi/ogNwkaPqG4BmndzecpSh0vc2FJPZUD9LT0I09REY/vXR0oQAalLkW0asGD5taHZTUZq/kBpsNxaAFrLM23i4mUcf33M5fjLpvx5LRICrX/57XpBrDh2TooBU6Qj3CgoY0uPRYUmSNxbVx1czNzl2JtEpb5yjoxfVPQeg0BvQM00G8LJINISR+ohrjhkZmAqchDupAX+yFrxTtORa78CtnIL6z/aTNlgwwVD8kvL/1pFA/JWYmKDmz93mV/+6wubGzNSQCstzjkFA4/iZEKewKUoRIAi/fxyscP6L/rCpmY/4llZZvrnyTqVbt6URWpopUpH4rwYqreXAtJxJsfBJIeSmUIiDIOMGkCTvyTEW3fWGmGoqWtSHLoaWDyAIGb7azb+KvfpWtEcoPFWfSWU+LGee0A/YsUhBl7ADB9A0CJEuR8q4BPpKpfLwPKSiKSAXL7zDkyjExyhtgqbSl2jS+rKIHOZNL8JkCcTP2MKMVd563C5rC5FMKqu3S9m2b6380E= +script: +- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..9322b06 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/README.md new file mode 100644 index 0000000..eb60ae8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/README.md @@ -0,0 +1,22 @@ +# Swag [![Build Status](https://travis-ci.org/go-openapi/swag.svg?branch=master)](https://travis-ci.org/go-openapi/swag) [![codecov](https://codecov.io/gh/go-openapi/swag/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/swag) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/swag/master/LICENSE) +[![GoDoc](https://godoc.org/github.com/go-openapi/swag?status.svg)](http://godoc.org/github.com/go-openapi/swag) +[![GolangCI](https://golangci.com/badges/github.com/go-openapi/swag.svg)](https://golangci.com) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/swag)](https://goreportcard.com/report/github.com/go-openapi/swag) + +Contains a bunch of helper functions for go-openapi and go-swagger projects. + +You may also use it standalone for your projects. + +* convert between value and pointers for builtin types +* convert from string to builtin types (wraps strconv) +* fast json concatenation +* search in path +* load from file or http +* name mangling + + +This repo has only few dependencies outside of the standard library: + +* YAML utilities depend on gopkg.in/yaml.v2 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert.go new file mode 100644 index 0000000..7da35c3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert.go @@ -0,0 +1,208 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "math" + "strconv" + "strings" +) + +// same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER +const ( + maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 + minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 + epsilon float64 = 1e-9 +) + +// IsFloat64AJSONInteger allow for integers [-2^53, 2^53-1] inclusive +func IsFloat64AJSONInteger(f float64) bool { + if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { + return false + } + fa := math.Abs(f) + g := float64(uint64(f)) + ga := math.Abs(g) + + diff := math.Abs(f - g) + + // more info: https://floating-point-gui.de/errors/comparison/#look-out-for-edge-cases + switch { + case f == g: // best case + return true + case f == float64(int64(f)) || f == float64(uint64(f)): // optimistic case + return true + case f == 0 || g == 0 || diff < math.SmallestNonzeroFloat64: // very close to 0 values + return diff < (epsilon * math.SmallestNonzeroFloat64) + } + // check the relative error + return diff/math.Min(fa+ga, math.MaxFloat64) < epsilon +} + +var evaluatesAsTrue map[string]struct{} + +func init() { + evaluatesAsTrue = map[string]struct{}{ + "true": {}, + "1": {}, + "yes": {}, + "ok": {}, + "y": {}, + "on": {}, + "selected": {}, + "checked": {}, + "t": {}, + "enabled": {}, + } +} + +// ConvertBool turn a string into a boolean +func ConvertBool(str string) (bool, error) { + _, ok := evaluatesAsTrue[strings.ToLower(str)] + return ok, nil +} + +// ConvertFloat32 turn a string into a float32 +func ConvertFloat32(str string) (float32, error) { + f, err := strconv.ParseFloat(str, 32) + if err != nil { + return 0, err + } + return float32(f), nil +} + +// ConvertFloat64 turn a string into a float64 +func ConvertFloat64(str string) (float64, error) { + return strconv.ParseFloat(str, 64) +} + +// ConvertInt8 turn a string into int8 boolean +func ConvertInt8(str string) (int8, error) { + i, err := strconv.ParseInt(str, 10, 8) + if err != nil { + return 0, err + } + return int8(i), nil +} + +// ConvertInt16 turn a string into a int16 +func ConvertInt16(str string) (int16, error) { + i, err := strconv.ParseInt(str, 10, 16) + if err != nil { + return 0, err + } + return int16(i), nil +} + +// ConvertInt32 turn a string into a int32 +func ConvertInt32(str string) (int32, error) { + i, err := strconv.ParseInt(str, 10, 32) + if err != nil { + return 0, err + } + return int32(i), nil +} + +// ConvertInt64 turn a string into a int64 +func ConvertInt64(str string) (int64, error) { + return strconv.ParseInt(str, 10, 64) +} + +// ConvertUint8 turn a string into a uint8 +func ConvertUint8(str string) (uint8, error) { + i, err := strconv.ParseUint(str, 10, 8) + if err != nil { + return 0, err + } + return uint8(i), nil +} + +// ConvertUint16 turn a string into a uint16 +func ConvertUint16(str string) (uint16, error) { + i, err := strconv.ParseUint(str, 10, 16) + if err != nil { + return 0, err + } + return uint16(i), nil +} + +// ConvertUint32 turn a string into a uint32 +func ConvertUint32(str string) (uint32, error) { + i, err := strconv.ParseUint(str, 10, 32) + if err != nil { + return 0, err + } + return uint32(i), nil +} + +// ConvertUint64 turn a string into a uint64 +func ConvertUint64(str string) (uint64, error) { + return strconv.ParseUint(str, 10, 64) +} + +// FormatBool turns a boolean into a string +func FormatBool(value bool) string { + return strconv.FormatBool(value) +} + +// FormatFloat32 turns a float32 into a string +func FormatFloat32(value float32) string { + return strconv.FormatFloat(float64(value), 'f', -1, 32) +} + +// FormatFloat64 turns a float64 into a string +func FormatFloat64(value float64) string { + return strconv.FormatFloat(value, 'f', -1, 64) +} + +// FormatInt8 turns an int8 into a string +func FormatInt8(value int8) string { + return strconv.FormatInt(int64(value), 10) +} + +// FormatInt16 turns an int16 into a string +func FormatInt16(value int16) string { + return strconv.FormatInt(int64(value), 10) +} + +// FormatInt32 turns an int32 into a string +func FormatInt32(value int32) string { + return strconv.Itoa(int(value)) +} + +// FormatInt64 turns an int64 into a string +func FormatInt64(value int64) string { + return strconv.FormatInt(value, 10) +} + +// FormatUint8 turns an uint8 into a string +func FormatUint8(value uint8) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint16 turns an uint16 into a string +func FormatUint16(value uint16) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint32 turns an uint32 into a string +func FormatUint32(value uint32) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint64 turns an uint64 into a string +func FormatUint64(value uint64) string { + return strconv.FormatUint(value, 10) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert_types.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert_types.go new file mode 100644 index 0000000..c95e4e7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/convert_types.go @@ -0,0 +1,595 @@ +package swag + +import "time" + +// This file was taken from the aws go sdk + +// String returns a pointer to of the string value passed in. +func String(v string) *string { + return &v +} + +// StringValue returns the value of the string pointer passed in or +// "" if the pointer is nil. +func StringValue(v *string) string { + if v != nil { + return *v + } + return "" +} + +// StringSlice converts a slice of string values into a slice of +// string pointers +func StringSlice(src []string) []*string { + dst := make([]*string, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// StringValueSlice converts a slice of string pointers into a slice of +// string values +func StringValueSlice(src []*string) []string { + dst := make([]string, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// StringMap converts a string map of string values into a string +// map of string pointers +func StringMap(src map[string]string) map[string]*string { + dst := make(map[string]*string) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// StringValueMap converts a string map of string pointers into a string +// map of string values +func StringValueMap(src map[string]*string) map[string]string { + dst := make(map[string]string) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Bool returns a pointer to of the bool value passed in. +func Bool(v bool) *bool { + return &v +} + +// BoolValue returns the value of the bool pointer passed in or +// false if the pointer is nil. +func BoolValue(v *bool) bool { + if v != nil { + return *v + } + return false +} + +// BoolSlice converts a slice of bool values into a slice of +// bool pointers +func BoolSlice(src []bool) []*bool { + dst := make([]*bool, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// BoolValueSlice converts a slice of bool pointers into a slice of +// bool values +func BoolValueSlice(src []*bool) []bool { + dst := make([]bool, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// BoolMap converts a string map of bool values into a string +// map of bool pointers +func BoolMap(src map[string]bool) map[string]*bool { + dst := make(map[string]*bool) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// BoolValueMap converts a string map of bool pointers into a string +// map of bool values +func BoolValueMap(src map[string]*bool) map[string]bool { + dst := make(map[string]bool) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int returns a pointer to of the int value passed in. +func Int(v int) *int { + return &v +} + +// IntValue returns the value of the int pointer passed in or +// 0 if the pointer is nil. +func IntValue(v *int) int { + if v != nil { + return *v + } + return 0 +} + +// IntSlice converts a slice of int values into a slice of +// int pointers +func IntSlice(src []int) []*int { + dst := make([]*int, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// IntValueSlice converts a slice of int pointers into a slice of +// int values +func IntValueSlice(src []*int) []int { + dst := make([]int, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// IntMap converts a string map of int values into a string +// map of int pointers +func IntMap(src map[string]int) map[string]*int { + dst := make(map[string]*int) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// IntValueMap converts a string map of int pointers into a string +// map of int values +func IntValueMap(src map[string]*int) map[string]int { + dst := make(map[string]int) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int32 returns a pointer to of the int64 value passed in. +func Int32(v int32) *int32 { + return &v +} + +// Int32Value returns the value of the int64 pointer passed in or +// 0 if the pointer is nil. +func Int32Value(v *int32) int32 { + if v != nil { + return *v + } + return 0 +} + +// Int32Slice converts a slice of int64 values into a slice of +// int32 pointers +func Int32Slice(src []int32) []*int32 { + dst := make([]*int32, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Int32ValueSlice converts a slice of int32 pointers into a slice of +// int32 values +func Int32ValueSlice(src []*int32) []int32 { + dst := make([]int32, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Int32Map converts a string map of int32 values into a string +// map of int32 pointers +func Int32Map(src map[string]int32) map[string]*int32 { + dst := make(map[string]*int32) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Int32ValueMap converts a string map of int32 pointers into a string +// map of int32 values +func Int32ValueMap(src map[string]*int32) map[string]int32 { + dst := make(map[string]int32) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int64 returns a pointer to of the int64 value passed in. +func Int64(v int64) *int64 { + return &v +} + +// Int64Value returns the value of the int64 pointer passed in or +// 0 if the pointer is nil. +func Int64Value(v *int64) int64 { + if v != nil { + return *v + } + return 0 +} + +// Int64Slice converts a slice of int64 values into a slice of +// int64 pointers +func Int64Slice(src []int64) []*int64 { + dst := make([]*int64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Int64ValueSlice converts a slice of int64 pointers into a slice of +// int64 values +func Int64ValueSlice(src []*int64) []int64 { + dst := make([]int64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Int64Map converts a string map of int64 values into a string +// map of int64 pointers +func Int64Map(src map[string]int64) map[string]*int64 { + dst := make(map[string]*int64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Int64ValueMap converts a string map of int64 pointers into a string +// map of int64 values +func Int64ValueMap(src map[string]*int64) map[string]int64 { + dst := make(map[string]int64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint returns a pouinter to of the uint value passed in. +func Uint(v uint) *uint { + return &v +} + +// UintValue returns the value of the uint pouinter passed in or +// 0 if the pouinter is nil. +func UintValue(v *uint) uint { + if v != nil { + return *v + } + return 0 +} + +// UintSlice converts a slice of uint values uinto a slice of +// uint pouinters +func UintSlice(src []uint) []*uint { + dst := make([]*uint, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// UintValueSlice converts a slice of uint pouinters uinto a slice of +// uint values +func UintValueSlice(src []*uint) []uint { + dst := make([]uint, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// UintMap converts a string map of uint values uinto a string +// map of uint pouinters +func UintMap(src map[string]uint) map[string]*uint { + dst := make(map[string]*uint) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// UintValueMap converts a string map of uint pouinters uinto a string +// map of uint values +func UintValueMap(src map[string]*uint) map[string]uint { + dst := make(map[string]uint) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint32 returns a pouinter to of the uint64 value passed in. +func Uint32(v uint32) *uint32 { + return &v +} + +// Uint32Value returns the value of the uint64 pouinter passed in or +// 0 if the pouinter is nil. +func Uint32Value(v *uint32) uint32 { + if v != nil { + return *v + } + return 0 +} + +// Uint32Slice converts a slice of uint64 values uinto a slice of +// uint32 pouinters +func Uint32Slice(src []uint32) []*uint32 { + dst := make([]*uint32, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Uint32ValueSlice converts a slice of uint32 pouinters uinto a slice of +// uint32 values +func Uint32ValueSlice(src []*uint32) []uint32 { + dst := make([]uint32, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Uint32Map converts a string map of uint32 values uinto a string +// map of uint32 pouinters +func Uint32Map(src map[string]uint32) map[string]*uint32 { + dst := make(map[string]*uint32) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Uint32ValueMap converts a string map of uint32 pouinters uinto a string +// map of uint32 values +func Uint32ValueMap(src map[string]*uint32) map[string]uint32 { + dst := make(map[string]uint32) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint64 returns a pouinter to of the uint64 value passed in. +func Uint64(v uint64) *uint64 { + return &v +} + +// Uint64Value returns the value of the uint64 pouinter passed in or +// 0 if the pouinter is nil. +func Uint64Value(v *uint64) uint64 { + if v != nil { + return *v + } + return 0 +} + +// Uint64Slice converts a slice of uint64 values uinto a slice of +// uint64 pouinters +func Uint64Slice(src []uint64) []*uint64 { + dst := make([]*uint64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Uint64ValueSlice converts a slice of uint64 pouinters uinto a slice of +// uint64 values +func Uint64ValueSlice(src []*uint64) []uint64 { + dst := make([]uint64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Uint64Map converts a string map of uint64 values uinto a string +// map of uint64 pouinters +func Uint64Map(src map[string]uint64) map[string]*uint64 { + dst := make(map[string]*uint64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Uint64ValueMap converts a string map of uint64 pouinters uinto a string +// map of uint64 values +func Uint64ValueMap(src map[string]*uint64) map[string]uint64 { + dst := make(map[string]uint64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Float64 returns a pointer to of the float64 value passed in. +func Float64(v float64) *float64 { + return &v +} + +// Float64Value returns the value of the float64 pointer passed in or +// 0 if the pointer is nil. +func Float64Value(v *float64) float64 { + if v != nil { + return *v + } + return 0 +} + +// Float64Slice converts a slice of float64 values into a slice of +// float64 pointers +func Float64Slice(src []float64) []*float64 { + dst := make([]*float64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Float64ValueSlice converts a slice of float64 pointers into a slice of +// float64 values +func Float64ValueSlice(src []*float64) []float64 { + dst := make([]float64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Float64Map converts a string map of float64 values into a string +// map of float64 pointers +func Float64Map(src map[string]float64) map[string]*float64 { + dst := make(map[string]*float64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Float64ValueMap converts a string map of float64 pointers into a string +// map of float64 values +func Float64ValueMap(src map[string]*float64) map[string]float64 { + dst := make(map[string]float64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Time returns a pointer to of the time.Time value passed in. +func Time(v time.Time) *time.Time { + return &v +} + +// TimeValue returns the value of the time.Time pointer passed in or +// time.Time{} if the pointer is nil. +func TimeValue(v *time.Time) time.Time { + if v != nil { + return *v + } + return time.Time{} +} + +// TimeSlice converts a slice of time.Time values into a slice of +// time.Time pointers +func TimeSlice(src []time.Time) []*time.Time { + dst := make([]*time.Time, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// TimeValueSlice converts a slice of time.Time pointers into a slice of +// time.Time values +func TimeValueSlice(src []*time.Time) []time.Time { + dst := make([]time.Time, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// TimeMap converts a string map of time.Time values into a string +// map of time.Time pointers +func TimeMap(src map[string]time.Time) map[string]*time.Time { + dst := make(map[string]*time.Time) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// TimeValueMap converts a string map of time.Time pointers into a string +// map of time.Time values +func TimeValueMap(src map[string]*time.Time) map[string]time.Time { + dst := make(map[string]time.Time) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/doc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/doc.go new file mode 100644 index 0000000..8d2c8c5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/doc.go @@ -0,0 +1,32 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +/* +Package swag contains a bunch of helper functions for go-openapi and go-swagger projects. + +You may also use it standalone for your projects. + + * convert between value and pointers for builtin types + * convert from string to builtin types (wraps strconv) + * fast json concatenation + * search in path + * load from file or http + * name mangling + + +This repo has only few dependencies outside of the standard library: + + * YAML utilities depend on gopkg.in/yaml.v2 +*/ +package swag diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.mod new file mode 100644 index 0000000..15bbb08 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.mod @@ -0,0 +1,14 @@ +module github.com/go-openapi/swag + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/kr/pretty v0.1.0 // indirect + github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 + github.com/stretchr/testify v1.3.0 + gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect + gopkg.in/yaml.v2 v2.2.2 +) + +replace github.com/golang/lint => golang.org/x/lint v0.0.0-20190409202823-959b441ac422 + +replace sourcegraph.com/sourcegraph/go-diff => github.com/sourcegraph/go-diff v0.5.1 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.sum new file mode 100644 index 0000000..33469f5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/go.sum @@ -0,0 +1,20 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/json.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/json.go new file mode 100644 index 0000000..edf93d8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/json.go @@ -0,0 +1,312 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "bytes" + "encoding/json" + "log" + "reflect" + "strings" + "sync" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +// nullJSON represents a JSON object with null type +var nullJSON = []byte("null") + +// DefaultJSONNameProvider the default cache for types +var DefaultJSONNameProvider = NewNameProvider() + +const comma = byte(',') + +var closers map[byte]byte + +func init() { + closers = map[byte]byte{ + '{': '}', + '[': ']', + } +} + +type ejMarshaler interface { + MarshalEasyJSON(w *jwriter.Writer) +} + +type ejUnmarshaler interface { + UnmarshalEasyJSON(w *jlexer.Lexer) +} + +// WriteJSON writes json data, prefers finding an appropriate interface to short-circuit the marshaller +// so it takes the fastest option available. +func WriteJSON(data interface{}) ([]byte, error) { + if d, ok := data.(ejMarshaler); ok { + jw := new(jwriter.Writer) + d.MarshalEasyJSON(jw) + return jw.BuildBytes() + } + if d, ok := data.(json.Marshaler); ok { + return d.MarshalJSON() + } + return json.Marshal(data) +} + +// ReadJSON reads json data, prefers finding an appropriate interface to short-circuit the unmarshaller +// so it takes the fastes option available +func ReadJSON(data []byte, value interface{}) error { + trimmedData := bytes.Trim(data, "\x00") + if d, ok := value.(ejUnmarshaler); ok { + jl := &jlexer.Lexer{Data: trimmedData} + d.UnmarshalEasyJSON(jl) + return jl.Error() + } + if d, ok := value.(json.Unmarshaler); ok { + return d.UnmarshalJSON(trimmedData) + } + return json.Unmarshal(trimmedData, value) +} + +// DynamicJSONToStruct converts an untyped json structure into a struct +func DynamicJSONToStruct(data interface{}, target interface{}) error { + // TODO: convert straight to a json typed map (mergo + iterate?) + b, err := WriteJSON(data) + if err != nil { + return err + } + return ReadJSON(b, target) +} + +// ConcatJSON concatenates multiple json objects efficiently +func ConcatJSON(blobs ...[]byte) []byte { + if len(blobs) == 0 { + return nil + } + + last := len(blobs) - 1 + for blobs[last] == nil || bytes.Equal(blobs[last], nullJSON) { + // strips trailing null objects + last-- + if last < 0 { + // there was nothing but "null"s or nil... + return nil + } + } + if last == 0 { + return blobs[0] + } + + var opening, closing byte + var idx, a int + buf := bytes.NewBuffer(nil) + + for i, b := range blobs[:last+1] { + if b == nil || bytes.Equal(b, nullJSON) { + // a null object is in the list: skip it + continue + } + if len(b) > 0 && opening == 0 { // is this an array or an object? + opening, closing = b[0], closers[b[0]] + } + + if opening != '{' && opening != '[' { + continue // don't know how to concatenate non container objects + } + + if len(b) < 3 { // yep empty but also the last one, so closing this thing + if i == last && a > 0 { + if err := buf.WriteByte(closing); err != nil { + log.Println(err) + } + } + continue + } + + idx = 0 + if a > 0 { // we need to join with a comma for everything beyond the first non-empty item + if err := buf.WriteByte(comma); err != nil { + log.Println(err) + } + idx = 1 // this is not the first or the last so we want to drop the leading bracket + } + + if i != last { // not the last one, strip brackets + if _, err := buf.Write(b[idx : len(b)-1]); err != nil { + log.Println(err) + } + } else { // last one, strip only the leading bracket + if _, err := buf.Write(b[idx:]); err != nil { + log.Println(err) + } + } + a++ + } + // somehow it ended up being empty, so provide a default value + if buf.Len() == 0 { + if err := buf.WriteByte(opening); err != nil { + log.Println(err) + } + if err := buf.WriteByte(closing); err != nil { + log.Println(err) + } + } + return buf.Bytes() +} + +// ToDynamicJSON turns an object into a properly JSON typed structure +func ToDynamicJSON(data interface{}) interface{} { + // TODO: convert straight to a json typed map (mergo + iterate?) + b, err := json.Marshal(data) + if err != nil { + log.Println(err) + } + var res interface{} + if err := json.Unmarshal(b, &res); err != nil { + log.Println(err) + } + return res +} + +// FromDynamicJSON turns an object into a properly JSON typed structure +func FromDynamicJSON(data, target interface{}) error { + b, err := json.Marshal(data) + if err != nil { + log.Println(err) + } + return json.Unmarshal(b, target) +} + +// NameProvider represents an object capabale of translating from go property names +// to json property names +// This type is thread-safe. +type NameProvider struct { + lock *sync.Mutex + index map[reflect.Type]nameIndex +} + +type nameIndex struct { + jsonNames map[string]string + goNames map[string]string +} + +// NewNameProvider creates a new name provider +func NewNameProvider() *NameProvider { + return &NameProvider{ + lock: &sync.Mutex{}, + index: make(map[reflect.Type]nameIndex), + } +} + +func buildnameIndex(tpe reflect.Type, idx, reverseIdx map[string]string) { + for i := 0; i < tpe.NumField(); i++ { + targetDes := tpe.Field(i) + + if targetDes.PkgPath != "" { // unexported + continue + } + + if targetDes.Anonymous { // walk embedded structures tree down first + buildnameIndex(targetDes.Type, idx, reverseIdx) + continue + } + + if tag := targetDes.Tag.Get("json"); tag != "" { + + parts := strings.Split(tag, ",") + if len(parts) == 0 { + continue + } + + nm := parts[0] + if nm == "-" { + continue + } + if nm == "" { // empty string means we want to use the Go name + nm = targetDes.Name + } + + idx[nm] = targetDes.Name + reverseIdx[targetDes.Name] = nm + } + } +} + +func newNameIndex(tpe reflect.Type) nameIndex { + var idx = make(map[string]string, tpe.NumField()) + var reverseIdx = make(map[string]string, tpe.NumField()) + + buildnameIndex(tpe, idx, reverseIdx) + return nameIndex{jsonNames: idx, goNames: reverseIdx} +} + +// GetJSONNames gets all the json property names for a type +func (n *NameProvider) GetJSONNames(subject interface{}) []string { + n.lock.Lock() + defer n.lock.Unlock() + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + + res := make([]string, 0, len(names.jsonNames)) + for k := range names.jsonNames { + res = append(res, k) + } + return res +} + +// GetJSONName gets the json name for a go property name +func (n *NameProvider) GetJSONName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetJSONNameForType(tpe, name) +} + +// GetJSONNameForType gets the json name for a go property name on a given type +func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.goNames[name] + return nme, ok +} + +func (n *NameProvider) makeNameIndex(tpe reflect.Type) nameIndex { + names := newNameIndex(tpe) + n.index[tpe] = names + return names +} + +// GetGoName gets the go name for a json property name +func (n *NameProvider) GetGoName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetGoNameForType(tpe, name) +} + +// GetGoNameForType gets the go name for a given type for a json property name +func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.jsonNames[name] + return nme, ok +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/loading.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/loading.go new file mode 100644 index 0000000..70f4fb3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/loading.go @@ -0,0 +1,80 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "fmt" + "io/ioutil" + "log" + "net/http" + "path/filepath" + "strings" + "time" +) + +// LoadHTTPTimeout the default timeout for load requests +var LoadHTTPTimeout = 30 * time.Second + +// LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the path passed in +func LoadFromFileOrHTTP(path string) ([]byte, error) { + return LoadStrategy(path, ioutil.ReadFile, loadHTTPBytes(LoadHTTPTimeout))(path) +} + +// LoadFromFileOrHTTPWithTimeout loads the bytes from a file or a remote http server based on the path passed in +// timeout arg allows for per request overriding of the request timeout +func LoadFromFileOrHTTPWithTimeout(path string, timeout time.Duration) ([]byte, error) { + return LoadStrategy(path, ioutil.ReadFile, loadHTTPBytes(timeout))(path) +} + +// LoadStrategy returns a loader function for a given path or uri +func LoadStrategy(path string, local, remote func(string) ([]byte, error)) func(string) ([]byte, error) { + if strings.HasPrefix(path, "http") { + return remote + } + return func(pth string) ([]byte, error) { + upth, err := pathUnescape(pth) + if err != nil { + return nil, err + } + return local(filepath.FromSlash(upth)) + } +} + +func loadHTTPBytes(timeout time.Duration) func(path string) ([]byte, error) { + return func(path string) ([]byte, error) { + client := &http.Client{Timeout: timeout} + req, err := http.NewRequest("GET", path, nil) + if err != nil { + return nil, err + } + resp, err := client.Do(req) + defer func() { + if resp != nil { + if e := resp.Body.Close(); e != nil { + log.Println(e) + } + } + }() + if err != nil { + return nil, err + } + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("could not access document at %q [%s] ", path, resp.Status) + } + + return ioutil.ReadAll(resp.Body) + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/name_lexem.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/name_lexem.go new file mode 100644 index 0000000..aa7f6a9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/name_lexem.go @@ -0,0 +1,87 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import "unicode" + +type ( + nameLexem interface { + GetUnsafeGoName() string + GetOriginal() string + IsInitialism() bool + } + + initialismNameLexem struct { + original string + matchedInitialism string + } + + casualNameLexem struct { + original string + } +) + +func newInitialismNameLexem(original, matchedInitialism string) *initialismNameLexem { + return &initialismNameLexem{ + original: original, + matchedInitialism: matchedInitialism, + } +} + +func newCasualNameLexem(original string) *casualNameLexem { + return &casualNameLexem{ + original: original, + } +} + +func (l *initialismNameLexem) GetUnsafeGoName() string { + return l.matchedInitialism +} + +func (l *casualNameLexem) GetUnsafeGoName() string { + var first rune + var rest string + for i, orig := range l.original { + if i == 0 { + first = orig + continue + } + if i > 0 { + rest = l.original[i:] + break + } + } + if len(l.original) > 1 { + return string(unicode.ToUpper(first)) + lower(rest) + } + + return l.original +} + +func (l *initialismNameLexem) GetOriginal() string { + return l.original +} + +func (l *casualNameLexem) GetOriginal() string { + return l.original +} + +func (l *initialismNameLexem) IsInitialism() bool { + return true +} + +func (l *casualNameLexem) IsInitialism() bool { + return false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/net.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/net.go new file mode 100644 index 0000000..821235f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/net.go @@ -0,0 +1,38 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "net" + "strconv" +) + +// SplitHostPort splits a network address into a host and a port. +// The port is -1 when there is no port to be found +func SplitHostPort(addr string) (host string, port int, err error) { + h, p, err := net.SplitHostPort(addr) + if err != nil { + return "", -1, err + } + if p == "" { + return "", -1, &net.AddrError{Err: "missing port in address", Addr: addr} + } + + pi, err := strconv.Atoi(p) + if err != nil { + return "", -1, err + } + return h, pi, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/path.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/path.go new file mode 100644 index 0000000..941bd01 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/path.go @@ -0,0 +1,59 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "os" + "path/filepath" + "runtime" + "strings" +) + +const ( + // GOPATHKey represents the env key for gopath + GOPATHKey = "GOPATH" +) + +// FindInSearchPath finds a package in a provided lists of paths +func FindInSearchPath(searchPath, pkg string) string { + pathsList := filepath.SplitList(searchPath) + for _, path := range pathsList { + if evaluatedPath, err := filepath.EvalSymlinks(filepath.Join(path, "src", pkg)); err == nil { + if _, err := os.Stat(evaluatedPath); err == nil { + return evaluatedPath + } + } + } + return "" +} + +// FindInGoSearchPath finds a package in the $GOPATH:$GOROOT +func FindInGoSearchPath(pkg string) string { + return FindInSearchPath(FullGoSearchPath(), pkg) +} + +// FullGoSearchPath gets the search paths for finding packages +func FullGoSearchPath() string { + allPaths := os.Getenv(GOPATHKey) + if allPaths == "" { + allPaths = filepath.Join(os.Getenv("HOME"), "go") + } + if allPaths != "" { + allPaths = strings.Join([]string{allPaths, runtime.GOROOT()}, ":") + } else { + allPaths = runtime.GOROOT() + } + return allPaths +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go18.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go18.go new file mode 100644 index 0000000..c2e686d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go18.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +// +build go1.8 + +package swag + +import "net/url" + +func pathUnescape(path string) (string, error) { + return url.PathUnescape(path) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go19.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go19.go new file mode 100644 index 0000000..eb2f2d8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/post_go19.go @@ -0,0 +1,67 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +// +build go1.9 + +package swag + +import ( + "sort" + "sync" +) + +// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. +// Since go1.9, this may be implemented with sync.Map. +type indexOfInitialisms struct { + sortMutex *sync.Mutex + index *sync.Map +} + +func newIndexOfInitialisms() *indexOfInitialisms { + return &indexOfInitialisms{ + sortMutex: new(sync.Mutex), + index: new(sync.Map), + } +} + +func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { + m.sortMutex.Lock() + defer m.sortMutex.Unlock() + for k, v := range initial { + m.index.Store(k, v) + } + return m +} + +func (m *indexOfInitialisms) isInitialism(key string) bool { + _, ok := m.index.Load(key) + return ok +} + +func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { + m.index.Store(key, true) + return m +} + +func (m *indexOfInitialisms) sorted() (result []string) { + m.sortMutex.Lock() + defer m.sortMutex.Unlock() + m.index.Range(func(key, value interface{}) bool { + k := key.(string) + result = append(result, k) + return true + }) + sort.Sort(sort.Reverse(byInitialism(result))) + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go18.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go18.go new file mode 100644 index 0000000..6607f33 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go18.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +// +build !go1.8 + +package swag + +import "net/url" + +func pathUnescape(path string) (string, error) { + return url.QueryUnescape(path) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go19.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go19.go new file mode 100644 index 0000000..4bae187 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/pre_go19.go @@ -0,0 +1,69 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +// +build !go1.9 + +package swag + +import ( + "sort" + "sync" +) + +// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. +// Before go1.9, this may be implemented with a mutex on the map. +type indexOfInitialisms struct { + getMutex *sync.Mutex + index map[string]bool +} + +func newIndexOfInitialisms() *indexOfInitialisms { + return &indexOfInitialisms{ + getMutex: new(sync.Mutex), + index: make(map[string]bool, 50), + } +} + +func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { + m.getMutex.Lock() + defer m.getMutex.Unlock() + for k, v := range initial { + m.index[k] = v + } + return m +} + +func (m *indexOfInitialisms) isInitialism(key string) bool { + m.getMutex.Lock() + defer m.getMutex.Unlock() + _, ok := m.index[key] + return ok +} + +func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { + m.getMutex.Lock() + defer m.getMutex.Unlock() + m.index[key] = true + return m +} + +func (m *indexOfInitialisms) sorted() (result []string) { + m.getMutex.Lock() + defer m.getMutex.Unlock() + for k := range m.index { + result = append(result, k) + } + sort.Sort(sort.Reverse(byInitialism(result))) + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/split.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/split.go new file mode 100644 index 0000000..a1825fb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/split.go @@ -0,0 +1,262 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "unicode" +) + +var nameReplaceTable = map[rune]string{ + '@': "At ", + '&': "And ", + '|': "Pipe ", + '$': "Dollar ", + '!': "Bang ", + '-': "", + '_': "", +} + +type ( + splitter struct { + postSplitInitialismCheck bool + initialisms []string + } + + splitterOption func(*splitter) *splitter +) + +// split calls the splitter; splitter provides more control and post options +func split(str string) []string { + lexems := newSplitter().split(str) + result := make([]string, 0, len(lexems)) + + for _, lexem := range lexems { + result = append(result, lexem.GetOriginal()) + } + + return result + +} + +func (s *splitter) split(str string) []nameLexem { + return s.toNameLexems(str) +} + +func newSplitter(options ...splitterOption) *splitter { + splitter := &splitter{ + postSplitInitialismCheck: false, + initialisms: initialisms, + } + + for _, option := range options { + splitter = option(splitter) + } + + return splitter +} + +// withPostSplitInitialismCheck allows to catch initialisms after main split process +func withPostSplitInitialismCheck(s *splitter) *splitter { + s.postSplitInitialismCheck = true + return s +} + +type ( + initialismMatch struct { + start, end int + body []rune + complete bool + } + initialismMatches []*initialismMatch +) + +func (s *splitter) toNameLexems(name string) []nameLexem { + nameRunes := []rune(name) + matches := s.gatherInitialismMatches(nameRunes) + return s.mapMatchesToNameLexems(nameRunes, matches) +} + +func (s *splitter) gatherInitialismMatches(nameRunes []rune) initialismMatches { + matches := make(initialismMatches, 0) + + for currentRunePosition, currentRune := range nameRunes { + newMatches := make(initialismMatches, 0, len(matches)) + + // check current initialism matches + for _, match := range matches { + if keepCompleteMatch := match.complete; keepCompleteMatch { + newMatches = append(newMatches, match) + continue + } + + // drop failed match + currentMatchRune := match.body[currentRunePosition-match.start] + if !s.initialismRuneEqual(currentMatchRune, currentRune) { + continue + } + + // try to complete ongoing match + if currentRunePosition-match.start == len(match.body)-1 { + // we are close; the next step is to check the symbol ahead + // if it is a small letter, then it is not the end of match + // but beginning of the next word + + if currentRunePosition < len(nameRunes)-1 { + nextRune := nameRunes[currentRunePosition+1] + if newWord := unicode.IsLower(nextRune); newWord { + // oh ok, it was the start of a new word + continue + } + } + + match.complete = true + match.end = currentRunePosition + } + + newMatches = append(newMatches, match) + } + + // check for new initialism matches + for _, initialism := range s.initialisms { + initialismRunes := []rune(initialism) + if s.initialismRuneEqual(initialismRunes[0], currentRune) { + newMatches = append(newMatches, &initialismMatch{ + start: currentRunePosition, + body: initialismRunes, + complete: false, + }) + } + } + + matches = newMatches + } + + return matches +} + +func (s *splitter) mapMatchesToNameLexems(nameRunes []rune, matches initialismMatches) []nameLexem { + nameLexems := make([]nameLexem, 0) + + var lastAcceptedMatch *initialismMatch + for _, match := range matches { + if !match.complete { + continue + } + + if firstMatch := lastAcceptedMatch == nil; firstMatch { + nameLexems = append(nameLexems, s.breakCasualString(nameRunes[:match.start])...) + nameLexems = append(nameLexems, s.breakInitialism(string(match.body))) + + lastAcceptedMatch = match + + continue + } + + if overlappedMatch := match.start <= lastAcceptedMatch.end; overlappedMatch { + continue + } + + middle := nameRunes[lastAcceptedMatch.end+1 : match.start] + nameLexems = append(nameLexems, s.breakCasualString(middle)...) + nameLexems = append(nameLexems, s.breakInitialism(string(match.body))) + + lastAcceptedMatch = match + } + + // we have not found any accepted matches + if lastAcceptedMatch == nil { + return s.breakCasualString(nameRunes) + } + + if lastAcceptedMatch.end+1 != len(nameRunes) { + rest := nameRunes[lastAcceptedMatch.end+1:] + nameLexems = append(nameLexems, s.breakCasualString(rest)...) + } + + return nameLexems +} + +func (s *splitter) initialismRuneEqual(a, b rune) bool { + return a == b +} + +func (s *splitter) breakInitialism(original string) nameLexem { + return newInitialismNameLexem(original, original) +} + +func (s *splitter) breakCasualString(str []rune) []nameLexem { + segments := make([]nameLexem, 0) + currentSegment := "" + + addCasualNameLexem := func(original string) { + segments = append(segments, newCasualNameLexem(original)) + } + + addInitialismNameLexem := func(original, match string) { + segments = append(segments, newInitialismNameLexem(original, match)) + } + + addNameLexem := func(original string) { + if s.postSplitInitialismCheck { + for _, initialism := range s.initialisms { + if upper(initialism) == upper(original) { + addInitialismNameLexem(original, initialism) + return + } + } + } + + addCasualNameLexem(original) + } + + for _, rn := range string(str) { + if replace, found := nameReplaceTable[rn]; found { + if currentSegment != "" { + addNameLexem(currentSegment) + currentSegment = "" + } + + if replace != "" { + addNameLexem(replace) + } + + continue + } + + if !unicode.In(rn, unicode.L, unicode.M, unicode.N, unicode.Pc) { + if currentSegment != "" { + addNameLexem(currentSegment) + currentSegment = "" + } + + continue + } + + if unicode.IsUpper(rn) { + if currentSegment != "" { + addNameLexem(currentSegment) + } + currentSegment = "" + } + + currentSegment += string(rn) + } + + if currentSegment != "" { + addNameLexem(currentSegment) + } + + return segments +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/util.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/util.go new file mode 100644 index 0000000..9eac16a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/util.go @@ -0,0 +1,385 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "reflect" + "strings" + "unicode" +) + +// commonInitialisms are common acronyms that are kept as whole uppercased words. +var commonInitialisms *indexOfInitialisms + +// initialisms is a slice of sorted initialisms +var initialisms []string + +var isInitialism func(string) bool + +// GoNamePrefixFunc sets an optional rule to prefix go names +// which do not start with a letter. +// +// e.g. to help converting "123" into "{prefix}123" +// +// The default is to prefix with "X" +var GoNamePrefixFunc func(string) string + +func init() { + // Taken from https://github.com/golang/lint/blob/3390df4df2787994aea98de825b964ac7944b817/lint.go#L732-L769 + var configuredInitialisms = map[string]bool{ + "ACL": true, + "API": true, + "ASCII": true, + "CPU": true, + "CSS": true, + "DNS": true, + "EOF": true, + "GUID": true, + "HTML": true, + "HTTPS": true, + "HTTP": true, + "ID": true, + "IP": true, + "IPv4": true, + "IPv6": true, + "JSON": true, + "LHS": true, + "OAI": true, + "QPS": true, + "RAM": true, + "RHS": true, + "RPC": true, + "SLA": true, + "SMTP": true, + "SQL": true, + "SSH": true, + "TCP": true, + "TLS": true, + "TTL": true, + "UDP": true, + "UI": true, + "UID": true, + "UUID": true, + "URI": true, + "URL": true, + "UTF8": true, + "VM": true, + "XML": true, + "XMPP": true, + "XSRF": true, + "XSS": true, + } + + // a thread-safe index of initialisms + commonInitialisms = newIndexOfInitialisms().load(configuredInitialisms) + initialisms = commonInitialisms.sorted() + + // a test function + isInitialism = commonInitialisms.isInitialism +} + +const ( + //collectionFormatComma = "csv" + collectionFormatSpace = "ssv" + collectionFormatTab = "tsv" + collectionFormatPipe = "pipes" + collectionFormatMulti = "multi" +) + +// JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute): +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +func JoinByFormat(data []string, format string) []string { + if len(data) == 0 { + return data + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return data + default: + sep = "," + } + return []string{strings.Join(data, sep)} +} + +// SplitByFormat splits a string by a known format: +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +// +func SplitByFormat(data, format string) []string { + if data == "" { + return nil + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return nil + default: + sep = "," + } + var result []string + for _, s := range strings.Split(data, sep) { + if ts := strings.TrimSpace(s); ts != "" { + result = append(result, ts) + } + } + return result +} + +type byInitialism []string + +func (s byInitialism) Len() int { + return len(s) +} +func (s byInitialism) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} +func (s byInitialism) Less(i, j int) bool { + if len(s[i]) != len(s[j]) { + return len(s[i]) < len(s[j]) + } + + return strings.Compare(s[i], s[j]) > 0 +} + +// Removes leading whitespaces +func trim(str string) string { + return strings.Trim(str, " ") +} + +// Shortcut to strings.ToUpper() +func upper(str string) string { + return strings.ToUpper(trim(str)) +} + +// Shortcut to strings.ToLower() +func lower(str string) string { + return strings.ToLower(trim(str)) +} + +// Camelize an uppercased word +func Camelize(word string) (camelized string) { + for pos, ru := range []rune(word) { + if pos > 0 { + camelized += string(unicode.ToLower(ru)) + } else { + camelized += string(unicode.ToUpper(ru)) + } + } + return +} + +// ToFileName lowercases and underscores a go type name +func ToFileName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + + return strings.Join(out, "_") +} + +// ToCommandName lowercases and underscores a go type name +func ToCommandName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + return strings.Join(out, "-") +} + +// ToHumanNameLower represents a code name as a human series of words +func ToHumanNameLower(name string) string { + in := newSplitter(withPostSplitInitialismCheck).split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + if !w.IsInitialism() { + out = append(out, lower(w.GetOriginal())) + } else { + out = append(out, w.GetOriginal()) + } + } + + return strings.Join(out, " ") +} + +// ToHumanNameTitle represents a code name as a human series of words with the first letters titleized +func ToHumanNameTitle(name string) string { + in := newSplitter(withPostSplitInitialismCheck).split(name) + + out := make([]string, 0, len(in)) + for _, w := range in { + original := w.GetOriginal() + if !w.IsInitialism() { + out = append(out, Camelize(original)) + } else { + out = append(out, original) + } + } + return strings.Join(out, " ") +} + +// ToJSONName camelcases a name which can be underscored or pascal cased +func ToJSONName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for i, w := range in { + if i == 0 { + out = append(out, lower(w)) + continue + } + out = append(out, Camelize(w)) + } + return strings.Join(out, "") +} + +// ToVarName camelcases a name which can be underscored or pascal cased +func ToVarName(name string) string { + res := ToGoName(name) + if isInitialism(res) { + return lower(res) + } + if len(res) <= 1 { + return lower(res) + } + return lower(res[:1]) + res[1:] +} + +// ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes +func ToGoName(name string) string { + lexems := newSplitter(withPostSplitInitialismCheck).split(name) + + result := "" + for _, lexem := range lexems { + goName := lexem.GetUnsafeGoName() + + // to support old behavior + if lexem.IsInitialism() { + goName = upper(goName) + } + result += goName + } + + if len(result) > 0 { + // Only prefix with X when the first character isn't an ascii letter + first := []rune(result)[0] + if !unicode.IsLetter(first) || (first > unicode.MaxASCII && !unicode.IsUpper(first)) { + if GoNamePrefixFunc == nil { + return "X" + result + } + result = GoNamePrefixFunc(name) + result + } + first = []rune(result)[0] + if unicode.IsLetter(first) && !unicode.IsUpper(first) { + result = string(append([]rune{unicode.ToUpper(first)}, []rune(result)[1:]...)) + } + } + + return result +} + +// ContainsStrings searches a slice of strings for a case-sensitive match +func ContainsStrings(coll []string, item string) bool { + for _, a := range coll { + if a == item { + return true + } + } + return false +} + +// ContainsStringsCI searches a slice of strings for a case-insensitive match +func ContainsStringsCI(coll []string, item string) bool { + for _, a := range coll { + if strings.EqualFold(a, item) { + return true + } + } + return false +} + +type zeroable interface { + IsZero() bool +} + +// IsZero returns true when the value passed into the function is a zero value. +// This allows for safer checking of interface values. +func IsZero(data interface{}) bool { + // check for things that have an IsZero method instead + if vv, ok := data.(zeroable); ok { + return vv.IsZero() + } + // continue with slightly more complex reflection + v := reflect.ValueOf(data) + switch v.Kind() { + case reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return v.IsNil() + case reflect.Struct, reflect.Array: + return reflect.DeepEqual(data, reflect.Zero(v.Type()).Interface()) + case reflect.Invalid: + return true + } + return false +} + +// AddInitialisms add additional initialisms +func AddInitialisms(words ...string) { + for _, word := range words { + //commonInitialisms[upper(word)] = true + commonInitialisms.add(upper(word)) + } + // sort again + initialisms = commonInitialisms.sorted() +} + +// CommandLineOptionsGroup represents a group of user-defined command line options +type CommandLineOptionsGroup struct { + ShortDescription string + LongDescription string + Options interface{} +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/yaml.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/yaml.go new file mode 100644 index 0000000..ec96914 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/go-openapi/swag/yaml.go @@ -0,0 +1,246 @@ +// Copyright 2015 go-swagger maintainers +// +// 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. + +package swag + +import ( + "encoding/json" + "fmt" + "path/filepath" + "strconv" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" + yaml "gopkg.in/yaml.v2" +) + +// YAMLMatcher matches yaml +func YAMLMatcher(path string) bool { + ext := filepath.Ext(path) + return ext == ".yaml" || ext == ".yml" +} + +// YAMLToJSON converts YAML unmarshaled data into json compatible data +func YAMLToJSON(data interface{}) (json.RawMessage, error) { + jm, err := transformData(data) + if err != nil { + return nil, err + } + b, err := WriteJSON(jm) + return json.RawMessage(b), err +} + +// BytesToYAMLDoc converts a byte slice into a YAML document +func BytesToYAMLDoc(data []byte) (interface{}, error) { + var canary map[interface{}]interface{} // validate this is an object and not a different type + if err := yaml.Unmarshal(data, &canary); err != nil { + return nil, err + } + + var document yaml.MapSlice // preserve order that is present in the document + if err := yaml.Unmarshal(data, &document); err != nil { + return nil, err + } + return document, nil +} + +// JSONMapSlice represent a JSON object, with the order of keys maintained +type JSONMapSlice []JSONMapItem + +// MarshalJSON renders a JSONMapSlice as JSON +func (s JSONMapSlice) MarshalJSON() ([]byte, error) { + w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} + s.MarshalEasyJSON(w) + return w.BuildBytes() +} + +// MarshalEasyJSON renders a JSONMapSlice as JSON, using easyJSON +func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer) { + w.RawByte('{') + + ln := len(s) + last := ln - 1 + for i := 0; i < ln; i++ { + s[i].MarshalEasyJSON(w) + if i != last { // last item + w.RawByte(',') + } + } + + w.RawByte('}') +} + +// UnmarshalJSON makes a JSONMapSlice from JSON +func (s *JSONMapSlice) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + return l.Error() +} + +// UnmarshalEasyJSON makes a JSONMapSlice from JSON, using easyJSON +func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { + if in.IsNull() { + in.Skip() + return + } + + var result JSONMapSlice + in.Delim('{') + for !in.IsDelim('}') { + var mi JSONMapItem + mi.UnmarshalEasyJSON(in) + result = append(result, mi) + } + *s = result +} + +// JSONMapItem represents the value of a key in a JSON object held by JSONMapSlice +type JSONMapItem struct { + Key string + Value interface{} +} + +// MarshalJSON renders a JSONMapItem as JSON +func (s JSONMapItem) MarshalJSON() ([]byte, error) { + w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} + s.MarshalEasyJSON(w) + return w.BuildBytes() +} + +// MarshalEasyJSON renders a JSONMapItem as JSON, using easyJSON +func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer) { + w.String(s.Key) + w.RawByte(':') + w.Raw(WriteJSON(s.Value)) +} + +// UnmarshalJSON makes a JSONMapItem from JSON +func (s *JSONMapItem) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + return l.Error() +} + +// UnmarshalEasyJSON makes a JSONMapItem from JSON, using easyJSON +func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { + key := in.UnsafeString() + in.WantColon() + value := in.Interface() + in.WantComma() + s.Key = key + s.Value = value +} + +func transformData(input interface{}) (out interface{}, err error) { + format := func(t interface{}) (string, error) { + switch k := t.(type) { + case string: + return k, nil + case uint: + return strconv.FormatUint(uint64(k), 10), nil + case uint8: + return strconv.FormatUint(uint64(k), 10), nil + case uint16: + return strconv.FormatUint(uint64(k), 10), nil + case uint32: + return strconv.FormatUint(uint64(k), 10), nil + case uint64: + return strconv.FormatUint(k, 10), nil + case int: + return strconv.Itoa(k), nil + case int8: + return strconv.FormatInt(int64(k), 10), nil + case int16: + return strconv.FormatInt(int64(k), 10), nil + case int32: + return strconv.FormatInt(int64(k), 10), nil + case int64: + return strconv.FormatInt(k, 10), nil + default: + return "", fmt.Errorf("unexpected map key type, got: %T", k) + } + } + + switch in := input.(type) { + case yaml.MapSlice: + + o := make(JSONMapSlice, len(in)) + for i, mi := range in { + var nmi JSONMapItem + if nmi.Key, err = format(mi.Key); err != nil { + return nil, err + } + + v, ert := transformData(mi.Value) + if ert != nil { + return nil, ert + } + nmi.Value = v + o[i] = nmi + } + return o, nil + case map[interface{}]interface{}: + o := make(JSONMapSlice, 0, len(in)) + for ke, va := range in { + var nmi JSONMapItem + if nmi.Key, err = format(ke); err != nil { + return nil, err + } + + v, ert := transformData(va) + if ert != nil { + return nil, ert + } + nmi.Value = v + o = append(o, nmi) + } + return o, nil + case []interface{}: + len1 := len(in) + o := make([]interface{}, len1) + for i := 0; i < len1; i++ { + o[i], err = transformData(in[i]) + if err != nil { + return nil, err + } + } + return o, nil + } + return input, nil +} + +// YAMLDoc loads a yaml document from either http or a file and converts it to json +func YAMLDoc(path string) (json.RawMessage, error) { + yamlDoc, err := YAMLData(path) + if err != nil { + return nil, err + } + + data, err := YAMLToJSON(yamlDoc) + if err != nil { + return nil, err + } + + return data, nil +} + +// YAMLData loads a yaml document from either http or a file +func YAMLData(path string) (interface{}, error) { + data, err := LoadFromFileOrHTTP(path) + if err != nil { + return nil, err + } + + return BytesToYAMLDoc(data) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gitignore new file mode 100644 index 0000000..05bc384 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gitignore @@ -0,0 +1,30 @@ +*.log +.DS_Store +doc +tmp +pkg +*.gem +*.pid +coverage +coverage.data +build/* +*.pbxuser +*.mode1v3 +.svn +profile +.console_history +.sass-cache/* +.rake_tasks~ +*.log.lck +solr/ +.jhw-cache/ +jhw.* +*.sublime* +node_modules/ +dist/ +generated/ +.vendor/ +bin/* +gin-bin +.idea/ +.env diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gometalinter.json b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gometalinter.json new file mode 100644 index 0000000..e4f65a3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/.gometalinter.json @@ -0,0 +1,3 @@ +{ + "Enable": ["vet", "golint", "goimports", "deadcode", "gotype", "ineffassign", "misspell", "nakedret", "unconvert", "megacheck", "varcheck"] +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/LICENSE.txt b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/LICENSE.txt new file mode 100644 index 0000000..123ddc0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/LICENSE.txt @@ -0,0 +1,8 @@ +The MIT License (MIT) +Copyright (c) 2018 Mark Bates + +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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/Makefile b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/Makefile new file mode 100644 index 0000000..46aece8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/Makefile @@ -0,0 +1,46 @@ +TAGS ?= "sqlite" +GO_BIN ?= go + +install: + packr2 + $(GO_BIN) install -v . + +deps: + $(GO_BIN) get github.com/gobuffalo/release + $(GO_BIN) get github.com/gobuffalo/packr/v2/packr2 + $(GO_BIN) get -tags ${TAGS} -t ./... +ifeq ($(GO111MODULE),on) + $(GO_BIN) mod tidy +endif + +build: + packr2 + $(GO_BIN) build -v . + +test: + packr2 + $(GO_BIN) test -tags ${TAGS} ./... + +ci-test: + $(GO_BIN) test -tags ${TAGS} -race ./... + +lint: + gometalinter --vendor ./... --deadline=1m --skip=internal + +update: + $(GO_BIN) get -u -tags ${TAGS} +ifeq ($(GO111MODULE),on) + $(GO_BIN) mod tidy +endif + packr2 + make test + make install +ifeq ($(GO111MODULE),on) + $(GO_BIN) mod tidy +endif + +release-test: + $(GO_BIN) test -tags ${TAGS} -race ./... + +release: + release -y -f version.go diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/README.md new file mode 100644 index 0000000..f54462a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/README.md @@ -0,0 +1,93 @@ +# envy +[![Build Status](https://travis-ci.org/gobuffalo/envy.svg?branch=master)](https://travis-ci.org/gobuffalo/envy) + +Envy makes working with ENV variables in Go trivial. + +* Get ENV variables with default values. +* Set ENV variables safely without affecting the underlying system. +* Temporarily change ENV vars; useful for testing. +* Map all of the key/values in the ENV. +* Loads .env files (by using [godotenv](https://github.com/joho/godotenv/)) +* More! + +## Installation + +```text +$ go get -u github.com/gobuffalo/envy +``` + +## Usage + +```go +func Test_Get(t *testing.T) { + r := require.New(t) + r.NotZero(os.Getenv("GOPATH")) + r.Equal(os.Getenv("GOPATH"), envy.Get("GOPATH", "foo")) + r.Equal("bar", envy.Get("IDONTEXIST", "bar")) +} + +func Test_MustGet(t *testing.T) { + r := require.New(t) + r.NotZero(os.Getenv("GOPATH")) + v, err := envy.MustGet("GOPATH") + r.NoError(err) + r.Equal(os.Getenv("GOPATH"), v) + + _, err = envy.MustGet("IDONTEXIST") + r.Error(err) +} + +func Test_Set(t *testing.T) { + r := require.New(t) + _, err := envy.MustGet("FOO") + r.Error(err) + + envy.Set("FOO", "foo") + r.Equal("foo", envy.Get("FOO", "bar")) +} + +func Test_Temp(t *testing.T) { + r := require.New(t) + + _, err := envy.MustGet("BAR") + r.Error(err) + + envy.Temp(func() { + envy.Set("BAR", "foo") + r.Equal("foo", envy.Get("BAR", "bar")) + _, err = envy.MustGet("BAR") + r.NoError(err) + }) + + _, err = envy.MustGet("BAR") + r.Error(err) +} +``` +## .env files support + +Envy now supports loading `.env` files by using the [godotenv library](https://github.com/joho/godotenv/). +That means one can use and define multiple `.env` files which will be loaded on-demand. By default, no env files will be loaded. To load one or more, you need to call the `envy.Load` function in one of the following ways: + +```go +envy.Load() // 1 + +envy.Load("MY_ENV_FILE") // 2 + +envy.Load(".env", ".env.prod") // 3 + +envy.Load(".env", "NON_EXISTING_FILE") // 4 + +// 5 +envy.Load(".env") +envy.Load("NON_EXISTING_FILE") + +// 6 +envy.Load(".env", "NON_EXISTING_FILE", ".env.prod") +``` + +1. Will load the default `.env` file +2. Will load the file `MY_ENV_FILE`, **but not** `.env` +3. Will load the file `.env`, and after that will load the `.env.prod` file. If any variable is redefined in `. env.prod` it will be overwritten (will contain the `env.prod` value) +4. Will load the `.env` file and return an error as the second file does not exist. The values in `.env` will be loaded and available. +5. Same as 4 +6. Will load the `.env` file and return an error as the second file does not exist. The values in `.env` will be loaded and available, **but the ones in** `.env.prod` **won't**. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/SHOULDERS.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/SHOULDERS.md new file mode 100644 index 0000000..2384f72 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/SHOULDERS.md @@ -0,0 +1,14 @@ +# github.com/gobuffalo/envy Stands on the Shoulders of Giants + +github.com/gobuffalo/envy does not try to reinvent the wheel! Instead, it uses the already great wheels developed by the Go community and puts them all together in the best way possible. Without these giants, this project would not be possible. Please make sure to check them out and thank them for all of their hard work. + +Thank you to the following **GIANTS**: + + +* [github.com/davecgh/go-spew](https://godoc.org/github.com/davecgh/go-spew) + +* [github.com/joho/godotenv](https://godoc.org/github.com/joho/godotenv) + +* [github.com/rogpeppe/go-internal](https://godoc.org/github.com/rogpeppe/go-internal) + +* [github.com/stretchr/testify](https://godoc.org/github.com/stretchr/testify) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-pipelines.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-pipelines.yml new file mode 100644 index 0000000..144c4a2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-pipelines.yml @@ -0,0 +1,59 @@ +variables: + GOBIN: "$(GOPATH)/bin" # Go binaries path + GOPATH: "$(system.defaultWorkingDirectory)/gopath" # Go workspace path + modulePath: "$(GOPATH)/src/github.com/$(build.repository.name)" # Path to the module"s code + +jobs: +- job: Windows + pool: + vmImage: "vs2017-win2016" + strategy: + matrix: + go 1.9: + go_version: "1.9" + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: macOS + pool: + vmImage: "macOS-10.13" + strategy: + matrix: + go 1.9: + go_version: "1.9" + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: Linux + pool: + vmImage: "ubuntu-16.04" + strategy: + matrix: + go 1.9: + go_version: "1.9" + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11" + GO111MODULE: "off" + steps: + - template: azure-tests.yml diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-tests.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-tests.yml new file mode 100644 index 0000000..eea5822 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure-tests.yml @@ -0,0 +1,19 @@ +steps: + - task: GoTool@0 + inputs: + version: $(go_version) + - task: Bash@3 + inputs: + targetType: inline + script: | + mkdir -p "$(GOBIN)" + mkdir -p "$(GOPATH)/pkg" + mkdir -p "$(modulePath)" + shopt -s extglob + mv !(gopath) "$(modulePath)" + displayName: "Setup Go Workspace" + - script: | + go get -t -v ./... + go test -race ./... + workingDirectory: "$(modulePath)" + displayName: "Tests" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure.sh b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure.sh new file mode 100644 index 0000000..f709497 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/azure.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -xe + +cat >> .env << EOF +# This is a comment +# We can use equal or colon notation +DIR: root +FLAVOUR: none +INSIDE_FOLDER=false +EOF diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/env b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/env new file mode 100644 index 0000000..33eeb3b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/env @@ -0,0 +1,5 @@ +# This is a comment +# We can use equal or colon notation +DIR: root +FLAVOUR: none +INSIDE_FOLDER=false \ No newline at end of file diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/envy.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/envy.go new file mode 100644 index 0000000..dc31ba2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/envy.go @@ -0,0 +1,276 @@ +/* +package envy makes working with ENV variables in Go trivial. + +* Get ENV variables with default values. +* Set ENV variables safely without affecting the underlying system. +* Temporarily change ENV vars; useful for testing. +* Map all of the key/values in the ENV. +* Loads .env files (by using [godotenv](https://github.com/joho/godotenv/)) +* More! +*/ +package envy + +import ( + "errors" + "flag" + "fmt" + "io/ioutil" + "os" + "os/exec" + "path/filepath" + "runtime" + "strings" + "sync" + + "github.com/joho/godotenv" + "github.com/rogpeppe/go-internal/modfile" +) + +var gil = &sync.RWMutex{} +var env = map[string]string{} + +// GO111MODULE is ENV for turning mods on/off +const GO111MODULE = "GO111MODULE" + +func init() { + Load() + loadEnv() +} + +// Load the ENV variables to the env map +func loadEnv() { + gil.Lock() + defer gil.Unlock() + + if os.Getenv("GO_ENV") == "" { + // if the flag "test.v" is *defined*, we're running as a unit test. Note that we don't care + // about v.Value (verbose test mode); we just want to know if the test environment has defined + // it. It's also possible that the flags are not yet fully parsed (i.e. flag.Parsed() == false), + // so we could not depend on v.Value anyway. + // + if v := flag.Lookup("test.v"); v != nil { + env["GO_ENV"] = "test" + } + } + + // set the GOPATH if using >= 1.8 and the GOPATH isn't set + if os.Getenv("GOPATH") == "" { + out, err := exec.Command("go", "env", "GOPATH").Output() + if err == nil { + gp := strings.TrimSpace(string(out)) + os.Setenv("GOPATH", gp) + } + } + + for _, e := range os.Environ() { + pair := strings.Split(e, "=") + env[pair[0]] = os.Getenv(pair[0]) + } +} + +// Mods returns true if module support is enabled, false otherwise +// See https://github.com/golang/go/wiki/Modules#how-to-install-and-activate-module-support for details +func Mods() bool { + go111 := Get(GO111MODULE, "") + + if !InGoPath() { + return go111 != "off" + } + + return go111 == "on" +} + +// Reload the ENV variables. Useful if +// an external ENV manager has been used +func Reload() { + env = map[string]string{} + loadEnv() +} + +// Load .env files. Files will be loaded in the same order that are received. +// Redefined vars will override previously existing values. +// IE: envy.Load(".env", "test_env/.env") will result in DIR=test_env +// If no arg passed, it will try to load a .env file. +func Load(files ...string) error { + + // If no files received, load the default one + if len(files) == 0 { + err := godotenv.Overload() + if err == nil { + Reload() + } + return err + } + + // We received a list of files + for _, file := range files { + + // Check if it exists or we can access + if _, err := os.Stat(file); err != nil { + // It does not exist or we can not access. + // Return and stop loading + return err + } + + // It exists and we have permission. Load it + if err := godotenv.Overload(file); err != nil { + return err + } + + // Reload the env so all new changes are noticed + Reload() + + } + return nil +} + +// Get a value from the ENV. If it doesn't exist the +// default value will be returned. +func Get(key string, value string) string { + gil.RLock() + defer gil.RUnlock() + if v, ok := env[key]; ok { + return v + } + return value +} + +// Get a value from the ENV. If it doesn't exist +// an error will be returned +func MustGet(key string) (string, error) { + gil.RLock() + defer gil.RUnlock() + if v, ok := env[key]; ok { + return v, nil + } + return "", fmt.Errorf("could not find ENV var with %s", key) +} + +// Set a value into the ENV. This is NOT permanent. It will +// only affect values accessed through envy. +func Set(key string, value string) { + gil.Lock() + defer gil.Unlock() + env[key] = value +} + +// MustSet the value into the underlying ENV, as well as envy. +// This may return an error if there is a problem setting the +// underlying ENV value. +func MustSet(key string, value string) error { + gil.Lock() + defer gil.Unlock() + err := os.Setenv(key, value) + if err != nil { + return err + } + env[key] = value + return nil +} + +// Map all of the keys/values set in envy. +func Map() map[string]string { + gil.RLock() + defer gil.RUnlock() + cp := map[string]string{} + for k, v := range env { + cp[k] = v + } + return cp +} + +// Temp makes a copy of the values and allows operation on +// those values temporarily during the run of the function. +// At the end of the function run the copy is discarded and +// the original values are replaced. This is useful for testing. +// Warning: This function is NOT safe to use from a goroutine or +// from code which may access any Get or Set function from a goroutine +func Temp(f func()) { + oenv := env + env = map[string]string{} + for k, v := range oenv { + env[k] = v + } + defer func() { env = oenv }() + f() +} + +func GoPath() string { + return Get("GOPATH", "") +} + +func GoBin() string { + return Get("GO_BIN", "go") +} + +func InGoPath() bool { + pwd, _ := os.Getwd() + for _, p := range GoPaths() { + if strings.HasPrefix(pwd, p) { + return true + } + } + return false +} + +// GoPaths returns all possible GOPATHS that are set. +func GoPaths() []string { + gp := Get("GOPATH", "") + if runtime.GOOS == "windows" { + return strings.Split(gp, ";") // Windows uses a different separator + } + return strings.Split(gp, ":") +} + +func importPath(path string) string { + path = strings.TrimPrefix(path, "/private") + for _, gopath := range GoPaths() { + srcpath := filepath.Join(gopath, "src") + rel, err := filepath.Rel(srcpath, path) + if err == nil { + return filepath.ToSlash(rel) + } + } + + // fallback to trim + rel := strings.TrimPrefix(path, filepath.Join(GoPath(), "src")) + rel = strings.TrimPrefix(rel, string(filepath.Separator)) + return filepath.ToSlash(rel) +} + +// CurrentModule will attempt to return the module name from `go.mod` if +// modules are enabled. +// If modules are not enabled it will fallback to using CurrentPackage instead. +func CurrentModule() (string, error) { + if !Mods() { + return CurrentPackage(), nil + } + moddata, err := ioutil.ReadFile("go.mod") + if err != nil { + return "", errors.New("go.mod cannot be read or does not exist while go module is enabled") + } + packagePath := modfile.ModulePath(moddata) + if packagePath == "" { + return "", errors.New("go.mod is malformed") + } + return packagePath, nil +} + +// CurrentPackage attempts to figure out the current package name from the PWD +// Use CurrentModule for a more accurate package name. +func CurrentPackage() string { + if Mods() { + } + pwd, _ := os.Getwd() + return importPath(pwd) +} + +func Environ() []string { + gil.RLock() + defer gil.RUnlock() + var e []string + for k, v := range env { + e = append(e, fmt.Sprintf("%s=%s", k, v)) + } + return e +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.mod new file mode 100644 index 0000000..d951b7c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.mod @@ -0,0 +1,8 @@ +module github.com/gobuffalo/envy + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/joho/godotenv v1.3.0 + github.com/rogpeppe/go-internal v1.1.0 + github.com/stretchr/testify v1.3.0 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.sum new file mode 100644 index 0000000..f11ef4c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/go.sum @@ -0,0 +1,17 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.1.0 h1:g0fH8RicVgNl+zVZDCDfbdWxAWoAEJyI7I3TZYXFiig= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/version.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/version.go new file mode 100644 index 0000000..b1623ae --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/envy/version.go @@ -0,0 +1,3 @@ +package envy + +const Version = "v1.7.0" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gitignore new file mode 100644 index 0000000..3689718 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gitignore @@ -0,0 +1,29 @@ +*.log +.DS_Store +doc +tmp +pkg +*.gem +*.pid +coverage +coverage.data +build/* +*.pbxuser +*.mode1v3 +.svn +profile +.console_history +.sass-cache/* +.rake_tasks~ +*.log.lck +solr/ +.jhw-cache/ +jhw.* +*.sublime* +node_modules/ +dist/ +generated/ +.vendor/ +bin/* +gin-bin +.idea/ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gometalinter.json b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gometalinter.json new file mode 100644 index 0000000..e4f65a3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/.gometalinter.json @@ -0,0 +1,3 @@ +{ + "Enable": ["vet", "golint", "goimports", "deadcode", "gotype", "ineffassign", "misspell", "nakedret", "unconvert", "megacheck", "varcheck"] +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/LICENSE new file mode 100644 index 0000000..649efd4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019 Mark Bates + +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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/Makefile b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/Makefile new file mode 100644 index 0000000..0ac539f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/Makefile @@ -0,0 +1,61 @@ +TAGS ?= "" +GO_BIN ?= "go" + +install: + $(GO_BIN) install -tags ${TAGS} -v . + make tidy + +tidy: +ifeq ($(GO111MODULE),on) + $(GO_BIN) mod tidy +else + echo skipping go mod tidy +endif + +deps: + $(GO_BIN) get -tags ${TAGS} -t ./... + make tidy + +build: + $(GO_BIN) build -v . + make tidy + +test: + $(GO_BIN) test -cover -tags ${TAGS} ./... + make tidy + +ci-deps: + $(GO_BIN) get -tags ${TAGS} -t ./... + +ci-test: + $(GO_BIN) test -tags ${TAGS} -race ./... + +lint: + go get github.com/golangci/golangci-lint/cmd/golangci-lint + golangci-lint run --enable-all + make tidy + +update: +ifeq ($(GO111MODULE),on) + rm go.* + $(GO_BIN) mod init + $(GO_BIN) mod tidy +else + $(GO_BIN) get -u -tags ${TAGS} +endif + make test + make install + make tidy + +release-test: + $(GO_BIN) test -tags ${TAGS} -race ./... + make tidy + +release: + $(GO_BIN) get github.com/gobuffalo/release + make tidy + release -y -f version.go --skip-packr + make tidy + + + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/README.md new file mode 100644 index 0000000..1c534cd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/README.md @@ -0,0 +1,24 @@ +

+ +

+GoDoc +Build Status +Go Report Card +

+ +# github.com/gobuffalo/packd + +This is a collection of interfaces designed to make using [github.com/gobuffalo/packr](https://github.com/gobuffalo/packr) easier, and to make the transition between v1 and v2 as seamless as possible. + +They can, and should, be used for testing, alternate Box implementations, etc... + + +## Installation + +```bash +$ go get -u -v github.com/gobuffalo/packd +``` + +## Memory Box + +The [`packd#MemoryBox`](https://godoc.org/github.com/gobuffalo/packd#MemoryBox) is a complete, thread-safe, implementation of [`packd#Box`](https://godoc.org/github.com/gobuffalo/packd#Box) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/SHOULDERS.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/SHOULDERS.md new file mode 100644 index 0000000..076205b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/SHOULDERS.md @@ -0,0 +1,10 @@ +# github.com/gobuffalo/packd Stands on the Shoulders of Giants + +github.com/gobuffalo/packd does not try to reinvent the wheel! Instead, it uses the already great wheels developed by the Go community and puts them all together in the best way possible. Without these giants, this project would not be possible. Please make sure to check them out and thank them for all of their hard work. + +Thank you to the following **GIANTS**: + + +* [github.com/davecgh/go-spew](https://godoc.org/github.com/davecgh/go-spew) + +* [github.com/stretchr/testify](https://godoc.org/github.com/stretchr/testify) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-pipelines.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-pipelines.yml new file mode 100644 index 0000000..417e2c5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-pipelines.yml @@ -0,0 +1,71 @@ +variables: + GOBIN: "$(GOPATH)/bin" # Go binaries path + GOPATH: "$(system.defaultWorkingDirectory)/gopath" # Go workspace path + modulePath: "$(GOPATH)/src/github.com/$(build.repository.name)" # Path to the module"s code + +jobs: +- job: Windows + pool: + vmImage: "vs2017-win2016" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: macOS + pool: + vmImage: "macOS-10.13" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: Linux + pool: + vmImage: "ubuntu-16.04" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-tests.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-tests.yml new file mode 100644 index 0000000..eea5822 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/azure-tests.yml @@ -0,0 +1,19 @@ +steps: + - task: GoTool@0 + inputs: + version: $(go_version) + - task: Bash@3 + inputs: + targetType: inline + script: | + mkdir -p "$(GOBIN)" + mkdir -p "$(GOPATH)/pkg" + mkdir -p "$(modulePath)" + shopt -s extglob + mv !(gopath) "$(modulePath)" + displayName: "Setup Go Workspace" + - script: | + go get -t -v ./... + go test -race ./... + workingDirectory: "$(modulePath)" + displayName: "Tests" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file.go new file mode 100644 index 0000000..58fd86f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file.go @@ -0,0 +1,126 @@ +package packd + +import ( + "bytes" + "fmt" + "io" + "os" + "time" +) + +var _ File = &virtualFile{} +var _ io.Reader = &virtualFile{} +var _ io.Writer = &virtualFile{} +var _ fmt.Stringer = &virtualFile{} + +type virtualFile struct { + io.Reader + name string + info fileInfo + original []byte +} + +func (f virtualFile) Name() string { + return f.name +} + +func (f *virtualFile) Seek(offset int64, whence int) (int64, error) { + return f.Reader.(*bytes.Reader).Seek(offset, whence) +} + +func (f virtualFile) FileInfo() (os.FileInfo, error) { + return f.info, nil +} + +func (f *virtualFile) Close() error { + return nil +} + +func (f virtualFile) Readdir(count int) ([]os.FileInfo, error) { + return []os.FileInfo{f.info}, nil +} + +func (f virtualFile) Stat() (os.FileInfo, error) { + return f.info, nil +} + +func (f virtualFile) String() string { + return string(f.original) +} + +// Read reads the next len(p) bytes from the virtualFile and +// rewind read offset to 0 when it met EOF. +func (f *virtualFile) Read(p []byte) (int, error) { + i, err := f.Reader.Read(p) + + if i == 0 || err == io.EOF { + f.Seek(0, io.SeekStart) + } + return i, err +} + +// Write copies byte slice p to content of virtualFile. +func (f *virtualFile) Write(p []byte) (int, error) { + return f.write(p) +} + +// write copies byte slice or data from io.Reader to content of the +// virtualFile and update related information of the virtualFile. +func (f *virtualFile) write(d interface{}) (c int, err error) { + bb := &bytes.Buffer{} + switch d.(type) { + case []byte: + c, err = bb.Write(d.([]byte)) + case io.Reader: + if d != nil { + i64, e := io.Copy(bb, d.(io.Reader)) + c = int(i64) + err = e + } + default: + err = fmt.Errorf("unknown type of argument") + } + + if err != nil { + return c, err + } + + f.info.size = int64(c) + f.info.modTime = time.Now() + f.original = bb.Bytes() + f.Reader = bytes.NewReader(f.original) + return c, nil +} + +// NewFile returns a new "virtual" file +func NewFile(name string, r io.Reader) (File, error) { + return buildFile(name, r) +} + +// NewDir returns a new "virtual" directory +func NewDir(name string) (File, error) { + v, err := buildFile(name, nil) + if err != nil { + return v, err + } + v.info.isDir = true + return v, nil +} + +func buildFile(name string, r io.Reader) (*virtualFile, error) { + vf := &virtualFile{ + name: name, + info: fileInfo{ + Path: name, + modTime: time.Now(), + }, + } + + var err error + if r != nil { + _, err = vf.write(r) + } else { + _, err = vf.write([]byte{}) // for safety + } + return vf, err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file_info.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file_info.go new file mode 100644 index 0000000..8bed0b9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/file_info.go @@ -0,0 +1,39 @@ +package packd + +import ( + "os" + "time" +) + +var _ os.FileInfo = fileInfo{} + +type fileInfo struct { + Path string + size int64 + modTime time.Time + isDir bool +} + +func (f fileInfo) Name() string { + return f.Path +} + +func (f fileInfo) Size() int64 { + return f.size +} + +func (f fileInfo) Mode() os.FileMode { + return 0444 +} + +func (f fileInfo) ModTime() time.Time { + return f.modTime +} + +func (f fileInfo) IsDir() bool { + return f.isDir +} + +func (f fileInfo) Sys() interface{} { + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.mod new file mode 100644 index 0000000..e61ff1e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.mod @@ -0,0 +1,8 @@ +module github.com/gobuffalo/packd + +go 1.12 + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/stretchr/testify v1.3.0 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.sum new file mode 100644 index 0000000..4f76e62 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/go.sum @@ -0,0 +1,9 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/interfaces.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/interfaces.go new file mode 100644 index 0000000..e8475f0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/interfaces.go @@ -0,0 +1,83 @@ +package packd + +import ( + "fmt" + "io" + "net/http" + "os" +) + +type WalkFunc func(string, File) error + +// Box represents the entirety of the necessary +// interfaces to form a "full" box. +// github.com/gobuffalo/packr#Box is an example of this interface. +type Box interface { + HTTPBox + Lister + Addable + Finder + Walkable + Haser +} + +type Haser interface { + Has(string) bool +} + +type Walker interface { + Walk(wf WalkFunc) error +} + +type Walkable interface { + Walker + WalkPrefix(prefix string, wf WalkFunc) error +} + +type Finder interface { + Find(string) ([]byte, error) + FindString(name string) (string, error) +} + +type HTTPBox interface { + Open(name string) (http.File, error) +} + +type Lister interface { + List() []string +} + +type Addable interface { + AddString(path string, t string) error + AddBytes(path string, t []byte) error +} + +type SimpleFile interface { + fmt.Stringer + io.Reader + io.Writer + Name() string +} + +type HTTPFile interface { + SimpleFile + io.Closer + io.Seeker + Readdir(count int) ([]os.FileInfo, error) + Stat() (os.FileInfo, error) +} + +type File interface { + HTTPFile + FileInfo() (os.FileInfo, error) +} + +// LegacyBox represents deprecated methods +// that older Box implementations might have had. +// github.com/gobuffalo/packr v1 is an example of a LegacyBox. +type LegacyBox interface { + String(name string) string + MustString(name string) (string, error) + Bytes(name string) []byte + MustBytes(name string) ([]byte, error) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/.gitignore new file mode 100644 index 0000000..3689718 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/.gitignore @@ -0,0 +1,29 @@ +*.log +.DS_Store +doc +tmp +pkg +*.gem +*.pid +coverage +coverage.data +build/* +*.pbxuser +*.mode1v3 +.svn +profile +.console_history +.sass-cache/* +.rake_tasks~ +*.log.lck +solr/ +.jhw-cache/ +jhw.* +*.sublime* +node_modules/ +dist/ +generated/ +.vendor/ +bin/* +gin-bin +.idea/ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/LICENSE new file mode 100644 index 0000000..649efd4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019 Mark Bates + +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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/Makefile b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/Makefile new file mode 100644 index 0000000..0ac539f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/Makefile @@ -0,0 +1,61 @@ +TAGS ?= "" +GO_BIN ?= "go" + +install: + $(GO_BIN) install -tags ${TAGS} -v . + make tidy + +tidy: +ifeq ($(GO111MODULE),on) + $(GO_BIN) mod tidy +else + echo skipping go mod tidy +endif + +deps: + $(GO_BIN) get -tags ${TAGS} -t ./... + make tidy + +build: + $(GO_BIN) build -v . + make tidy + +test: + $(GO_BIN) test -cover -tags ${TAGS} ./... + make tidy + +ci-deps: + $(GO_BIN) get -tags ${TAGS} -t ./... + +ci-test: + $(GO_BIN) test -tags ${TAGS} -race ./... + +lint: + go get github.com/golangci/golangci-lint/cmd/golangci-lint + golangci-lint run --enable-all + make tidy + +update: +ifeq ($(GO111MODULE),on) + rm go.* + $(GO_BIN) mod init + $(GO_BIN) mod tidy +else + $(GO_BIN) get -u -tags ${TAGS} +endif + make test + make install + make tidy + +release-test: + $(GO_BIN) test -tags ${TAGS} -race ./... + make tidy + +release: + $(GO_BIN) get github.com/gobuffalo/release + make tidy + release -y -f version.go --skip-packr + make tidy + + + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/SHOULDERS.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/SHOULDERS.md new file mode 100644 index 0000000..b19072e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/SHOULDERS.md @@ -0,0 +1,6 @@ +# github.com/markbates/errx Stands on the Shoulders of Giants + +github.com/markbates/errx does not try to reinvent the wheel! Instead, it uses the already great wheels developed by the Go community and puts them all together in the best way possible. Without these giants, this project would not be possible. Please make sure to check them out and thank them for all of their hard work. + +Thank you to the following **GIANTS**: + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-pipelines.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-pipelines.yml new file mode 100644 index 0000000..417e2c5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-pipelines.yml @@ -0,0 +1,71 @@ +variables: + GOBIN: "$(GOPATH)/bin" # Go binaries path + GOPATH: "$(system.defaultWorkingDirectory)/gopath" # Go workspace path + modulePath: "$(GOPATH)/src/github.com/$(build.repository.name)" # Path to the module"s code + +jobs: +- job: Windows + pool: + vmImage: "vs2017-win2016" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: macOS + pool: + vmImage: "macOS-10.13" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: Linux + pool: + vmImage: "ubuntu-16.04" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-tests.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-tests.yml new file mode 100644 index 0000000..eea5822 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/azure-tests.yml @@ -0,0 +1,19 @@ +steps: + - task: GoTool@0 + inputs: + version: $(go_version) + - task: Bash@3 + inputs: + targetType: inline + script: | + mkdir -p "$(GOBIN)" + mkdir -p "$(GOPATH)/pkg" + mkdir -p "$(modulePath)" + shopt -s extglob + mv !(gopath) "$(modulePath)" + displayName: "Setup Go Workspace" + - script: | + go get -t -v ./... + go test -race ./... + workingDirectory: "$(modulePath)" + displayName: "Tests" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/errx.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/errx.go new file mode 100644 index 0000000..5a6f639 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/errx.go @@ -0,0 +1,23 @@ +package errx + +// go2 errors +type Wrapper interface { + Unwrap() error +} + +// pkg/errors +type Causer interface { + Cause() error +} + +func Unwrap(err error) error { + switch e := err.(type) { + case Wrapper: + return e.Unwrap() + case Causer: + return e.Cause() + } + return err +} + +var Cause = Unwrap diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/version.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/version.go new file mode 100644 index 0000000..82e25a1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx/version.go @@ -0,0 +1,4 @@ +package errx + +// Version of errx +const Version = "v1.0.0" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/map.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/map.go new file mode 100644 index 0000000..906b49e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/map.go @@ -0,0 +1,70 @@ +package packd + +import ( + "sort" + "sync" +) + +// ByteMap wraps sync.Map and uses the following types: +// key: string +// value: []byte +type ByteMap struct { + data sync.Map +} + +// Delete the key from the map +func (m *ByteMap) Delete(key string) { + m.data.Delete(key) +} + +// Load the key from the map. +// Returns []byte or bool. +// A false return indicates either the key was not found +// or the value is not of type []byte +func (m *ByteMap) Load(key string) ([]byte, bool) { + i, ok := m.data.Load(key) + if !ok { + return []byte(``), false + } + s, ok := i.([]byte) + return s, ok +} + +// LoadOrStore will return an existing key or +// store the value if not already in the map +func (m *ByteMap) LoadOrStore(key string, value []byte) ([]byte, bool) { + i, _ := m.data.LoadOrStore(key, value) + s, ok := i.([]byte) + return s, ok +} + +// Range over the []byte values in the map +func (m *ByteMap) Range(f func(key string, value []byte) bool) { + m.data.Range(func(k, v interface{}) bool { + key, ok := k.(string) + if !ok { + return false + } + value, ok := v.([]byte) + if !ok { + return false + } + return f(key, value) + }) +} + +// Store a []byte in the map +func (m *ByteMap) Store(key string, value []byte) { + m.data.Store(key, value) +} + +// Keys returns a list of keys in the map +func (m *ByteMap) Keys() []string { + var keys []string + m.Range(func(key string, value []byte) bool { + keys = append(keys, key) + return true + }) + sort.Strings(keys) + return keys +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/memory_box.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/memory_box.go new file mode 100644 index 0000000..7f3137c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/memory_box.go @@ -0,0 +1,156 @@ +package packd + +import ( + "bytes" + "net/http" + "os" + "path/filepath" + "sort" + "strings" + + "github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx" +) + +var _ Addable = NewMemoryBox() +var _ Finder = NewMemoryBox() +var _ Lister = NewMemoryBox() +var _ HTTPBox = NewMemoryBox() +var _ Haser = NewMemoryBox() +var _ Walkable = NewMemoryBox() +var _ Box = NewMemoryBox() + +// MemoryBox is a thread-safe, in-memory, implementation of the Box interface. +type MemoryBox struct { + files *ByteMap +} + +func (m *MemoryBox) Has(path string) bool { + _, ok := m.files.Load(path) + return ok +} + +func (m *MemoryBox) List() []string { + var names []string + m.files.Range(func(key string, value []byte) bool { + names = append(names, key) + return true + }) + + sort.Strings(names) + return names +} + +func (m *MemoryBox) Open(path string) (http.File, error) { + cpath := strings.TrimPrefix(path, "/") + + if filepath.Ext(cpath) == "" { + // it's a directory + return NewDir(path) + } + + if len(cpath) == 0 { + cpath = "index.html" + } + + b, err := m.Find(cpath) + if err != nil { + return nil, err + } + + cpath = filepath.FromSlash(cpath) + + f, err := NewFile(cpath, bytes.NewReader(b)) + if err != nil { + return nil, err + } + return f, nil +} + +func (m *MemoryBox) FindString(path string) (string, error) { + bb, err := m.Find(path) + return string(bb), err +} + +func (m *MemoryBox) Find(path string) (ret []byte, e error) { + res, ok := m.files.Load(path) + if !ok { + + var b []byte + lpath := strings.ToLower(path) + err := m.Walk(func(p string, file File) error { + lp := strings.ToLower(p) + if lp != lpath { + return nil + } + + res := file.String() + b = []byte(res) + return nil + }) + if err != nil { + return b, os.ErrNotExist + } + if len(b) == 0 { + return b, os.ErrNotExist + } + return b, nil + } + return res, nil +} + +func (m *MemoryBox) AddString(path string, t string) error { + return m.AddBytes(path, []byte(t)) +} + +func (m *MemoryBox) AddBytes(path string, t []byte) error { + m.files.Store(path, t) + return nil +} + +func (m *MemoryBox) Walk(wf WalkFunc) error { + var err error + m.files.Range(func(path string, b []byte) bool { + var f File + f, err = NewFile(path, bytes.NewReader(b)) + if err != nil { + return false + } + + err = wf(path, f) + if err != nil { + if errx.Unwrap(err) == filepath.SkipDir { + err = nil + return true + } + return false + } + + return true + }) + + if errx.Unwrap(err) == filepath.SkipDir { + return nil + } + return err +} + +func (m *MemoryBox) WalkPrefix(pre string, wf WalkFunc) error { + return m.Walk(func(path string, file File) error { + if strings.HasPrefix(path, pre) { + return wf(path, file) + } + return nil + }) +} + +func (m *MemoryBox) Remove(path string) { + m.files.Delete(path) + m.files.Delete(strings.ToLower(path)) +} + +// NewMemoryBox returns a configured *MemoryBox +func NewMemoryBox() *MemoryBox { + return &MemoryBox{ + files: &ByteMap{}, + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/skip_walker.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/skip_walker.go new file mode 100644 index 0000000..233c6dd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/skip_walker.go @@ -0,0 +1,43 @@ +package packd + +import ( + "path/filepath" + "strings" +) + +var CommonSkipPrefixes = []string{".", "_", "node_modules", "vendor"} + +// SkipWalker will walk the Walker and call the WalkFunc for files who's directories +// do no match any of the skipPrefixes. If no skipPrefixes are passed, then +// CommonSkipPrefixes is used +func SkipWalker(walker Walker, skipPrefixes []string, wf WalkFunc) error { + if len(skipPrefixes) == 0 { + skipPrefixes = append(skipPrefixes, CommonSkipPrefixes...) + } + return walker.Walk(func(path string, file File) error { + fi, err := file.FileInfo() + if err != nil { + return err + } + + path = strings.Replace(path, "\\", "/", -1) + + parts := strings.Split(path, "/") + if !fi.IsDir() { + parts = parts[:len(parts)-1] + } + + for _, base := range parts { + if base != "." { + for _, skip := range skipPrefixes { + skip = strings.ToLower(skip) + lbase := strings.ToLower(base) + if strings.HasPrefix(lbase, skip) { + return filepath.SkipDir + } + } + } + } + return wf(path, file) + }) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/version.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/version.go new file mode 100644 index 0000000..082aaef --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packd/version.go @@ -0,0 +1,4 @@ +package packd + +// Version of packd +const Version = "v0.3.0" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.codeclimate.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.codeclimate.yml new file mode 100644 index 0000000..8c914a5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.codeclimate.yml @@ -0,0 +1,20 @@ +--- +engines: + golint: + enabled: true + checks: + GoLint/Naming/MixedCaps: + enabled: false + govet: + enabled: true + gofmt: + enabled: true + fixme: + enabled: true +ratings: + paths: + - "**.go" +exclude_paths: + - "**/*_test.go" + - "*_test.go" + - "fixtures/" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gitignore new file mode 100644 index 0000000..157ef96 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gitignore @@ -0,0 +1,36 @@ +*.log +./packr2 +.DS_Store +doc +tmp +pkg +*.gem +*.pid +coverage +coverage.data +build/* +*.pbxuser +*.mode1v3 +.svn +profile +.console_history +.sass-cache/* +.rake_tasks~ +*.log.lck +solr/ +.jhw-cache/ +jhw.* +*.sublime* +node_modules/ +dist/ +generated/ +.vendor/ +bin/* +gin-bin +/packr_darwin_amd64 +/packr_linux_amd64 +.vscode/ +debug.test +.grifter/ +*-packr.go + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gometalinter.json b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gometalinter.json new file mode 100644 index 0000000..e4f65a3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.gometalinter.json @@ -0,0 +1,3 @@ +{ + "Enable": ["vet", "golint", "goimports", "deadcode", "gotype", "ineffassign", "misspell", "nakedret", "unconvert", "megacheck", "varcheck"] +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml new file mode 100644 index 0000000..288f4d5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml @@ -0,0 +1,32 @@ +# Code generated by github.com/gobuffalo/release. DO NOT EDIT. +# Edit .goreleaser.yml.plush instead + +builds: +- + goos: + - darwin + - linux + - windows + env: + - CGO_ENABLED=0 + main: ./packr/main.go + binary: packr + +checksum: + name_template: 'checksums.txt' + +snapshot: + name_template: "{{ .Tag }}-next" + +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' + +brew: + github: + owner: gobuffalo + name: homebrew-tap + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml.plush b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml.plush new file mode 100644 index 0000000..1d25c9a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/.goreleaser.yml.plush @@ -0,0 +1,29 @@ +builds: +- + goos: + - darwin + - linux + - windows + env: + - CGO_ENABLED=0 + main: ./packr/main.go + binary: packr + +checksum: + name_template: 'checksums.txt' + +snapshot: + name_template: "{{ .Tag }}-next" + +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' +<%= if (brew) { %> +brew: + github: + owner: gobuffalo + name: homebrew-tap +<% } %> diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/LICENSE.txt b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/LICENSE.txt new file mode 100644 index 0000000..3ccb336 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/LICENSE.txt @@ -0,0 +1,8 @@ +The MIT License (MIT) +Copyright (c) 2016 Mark Bates + +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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/Makefile b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/Makefile new file mode 100644 index 0000000..b60c437 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/Makefile @@ -0,0 +1,64 @@ +TAGS ?= "sqlite" +GO_BIN ?= go + +install: deps + echo "installing packr v1" + packr + $(GO_BIN) install -v ./packr + +tidy: +ifeq ($(GO111MODULE),on) + $(GO_BIN) mod tidy +else + echo skipping go mod tidy +endif + +deps: + rm -rf packrd + rm -rf v2/packrd + $(GO_BIN) get github.com/gobuffalo/release + $(GO_BIN) get -tags ${TAGS} -t ./... + $(GO_BIN) install -v ./packr + packr clean + make tidy + +build: deps + packr + $(GO_BIN) build -v . + make tidy + +test: + packr clean + $(GO_BIN) test -tags ${TAGS} ./... + packr clean + +ci-deps: + rm -rf packrd + rm -rf v2/packrd + $(GO_BIN) get -tags ${TAGS} -t ./... + $(GO_BIN) install -v ./packr + packr clean + make tidy + +ci-test: + $(GO_BIN) test -v -tags ${TAGS} -race ./... + make tidy + cd ./v2 && make ci-test + +lint: + gometalinter --vendor ./... --deadline=1m --skip=internal + +update: + $(GO_BIN) get -u -tags ${TAGS} + make tidy + packr + make test + make install + make tidy + +release-test: + $(GO_BIN) test -tags ${TAGS} -race ./... + +release: + release -y -f version.go + make tidy diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/README.md new file mode 100644 index 0000000..89529f4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/README.md @@ -0,0 +1,205 @@ +# packr (v1) + +[![GoDoc](https://godoc.org/github.com/gobuffalo/packr?status.svg)](https://godoc.org/github.com/gobuffalo/packr) + +## Packr has been updated to `v2`! Please read the `./v2/README.md` file for more details. + +--- + +Packr is a simple solution for bundling static assets inside of Go binaries. Most importantly it does it in a way that is friendly to developers while they are developing. + +## Intro Video + +To get an idea of the what and why of packr, please enjoy this short video: [https://vimeo.com/219863271](https://vimeo.com/219863271). + +## Installation + +To install Packr utility + +```text +$ go get -u github.com/gobuffalo/packr/packr +``` + +To get the dependency + +```text +$ go get -u github.com/gobuffalo/packr +``` + +## Usage + +### In Code + +The first step in using Packr is to create a new box. A box represents a folder on disk. Once you have a box you can get `string` or `[]byte` representations of the file. + +```go +// set up a new box by giving it a (relative) path to a folder on disk: +box := packr.NewBox("./templates") + +// Get the string representation of a file, or an error if it doesn't exist: +html, err := box.FindString("index.html") + +// Get the []byte representation of a file, or an error if it doesn't exist: +html, err := box.FindBytes("index.html") +``` + +### What is a Box? + +A box represents a folder, and any sub-folders, on disk that you want to have access to in your binary. When compiling a binary using the `packr` CLI the contents of the folder will be converted into Go files that can be compiled inside of a "standard" go binary. Inside of the compiled binary the files will be read from memory. When working locally the files will be read directly off of disk. This is a seamless switch that doesn't require any special attention on your part. + +#### Example + +Assume the follow directory structure: + +``` +├── main.go +└── templates + ├── admin + │   └── index.html + └── index.html +``` + +The following program will read the `./templates/admin/index.html` file and print it out. + +```go +package main + +import ( + "fmt" + + "github.com/gobuffalo/packr" +) + +func main() { + box := packr.NewBox("./templates") + + s, err := box.FindString("admin/index.html") + if err != nil { + log.Fatal(err) + } + fmt.Println(s) +} +``` + +### Development Made Easy + +In order to get static files into a Go binary, those files must first be converted to Go code. To do that, Packr, ships with a few tools to help build binaries. See below. + +During development, however, it is painful to have to keep running a tool to compile those files. + +Packr uses the following resolution rules when looking for a file: + +1. Look for the file in-memory (inside a Go binary) +1. Look for the file on disk (during development) + +Because Packr knows how to fall through to the file system, developers don't need to worry about constantly compiling their static files into a binary. They can work unimpeded. + +Packr takes file resolution a step further. When declaring a new box you use a relative path, `./templates`. When Packr receives this call it calculates out the absolute path to that directory. By doing this it means you can be guaranteed that Packr can find your files correctly, even if you're not running in the directory that the box was created in. This helps with the problem of testing, where Go changes the `pwd` for each package, making relative paths difficult to work with. This is not a problem when using Packr. + +--- + +## Usage with HTTP + +A box implements the [`http.FileSystem`](https://golang.org/pkg/net/http/#FileSystem) interface, meaning it can be used to serve static files. + +```go +package main + +import ( + "net/http" + + "github.com/gobuffalo/packr" +) + +func main() { + box := packr.NewBox("./templates") + + http.Handle("/", http.FileServer(box)) + http.ListenAndServe(":3000", nil) +} +``` + +--- + +## Building a Binary (the easy way) + +When it comes time to build, or install, your Go binary, simply use `packr build` or `packr install` just as you would `go build` or `go install`. All flags for the `go` tool are supported and everything works the way you expect, the only difference is your static assets are now bundled in the generated binary. If you want more control over how this happens, looking at the following section on building binaries (the hard way). + +## Building a Binary (the hard way) + +Before you build your Go binary, run the `packr` command first. It will look for all the boxes in your code and then generate `.go` files that pack the static files into bytes that can be bundled into the Go binary. + +``` +$ packr +``` + +Then run your `go build command` like normal. + +*NOTE*: It is not recommended to check-in these generated `-packr.go` files. They can be large, and can easily become out of date if not careful. It is recommended that you always run `packr clean` after running the `packr` tool. + +#### Cleaning Up + +When you're done it is recommended that you run the `packr clean` command. This will remove all of the generated files that Packr created for you. + +``` +$ packr clean +``` + +Why do you want to do this? Packr first looks to the information stored in these generated files, if the information isn't there it looks to disk. This makes it easy to work with in development. + +--- + +## Building/Moving a portable release + +When it comes to building multiple releases you typically want that release to be built in a specific directory. + +For example: `./releases` + +However, because passing a `.go` file requires absolute paths, we must compile the release in the appropriate absolute path. + +```bash +GOOS=linux GOARCH=amd64 packr build +``` + +Now your `project_name` binary will be built at the root of your project dir. Great! + +All that is left to do is to move that binary to your release dir: + +Linux/macOS/Windows (bash) + +```bash +mv ./project_name ./releases +``` + +Windows (cmd): + +```cmd +move ./project_name ./releases +``` + +Powershell: + +```powershell +Move-Item -Path .\project_name -Destination .\releases\ +``` + +If you _target_ for Windows when building don't forget that it's `project_name.exe` + +Now you can make multiple releases and all of your needed static files will be available! + +#### Summing it up: + +Example Script for building to 3 common targets: + +```bash +GOOS=darwin GOARCH=amd64 packr build && mv ./project_name ./releases/darwin-project_name \ + && GOOS=linux GOARCH=amd64 packr build && mv ./project_name ./releases/linux-project_name \ + && GOOS=windows GOARCH=386 packr build && mv ./project_name.exe ./releases/project_name.exe \ + && packr clean +``` + +--- + +## Debugging + +The `packr` command passes all arguments down to the underlying `go` command, this includes the `-v` flag to print out `go build` information. Packr looks for the `-v` flag, and will turn on its own verbose logging. This is very useful for trying to understand what the `packr` command is doing when it is run. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/SHOULDERS.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/SHOULDERS.md new file mode 100644 index 0000000..2690007 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/SHOULDERS.md @@ -0,0 +1,18 @@ +# github.com/gobuffalo/packr Stands on the Shoulders of Giants + +github.com/gobuffalo/packr does not try to reinvent the wheel! Instead, it uses the already great wheels developed by the Go community and puts them all together in the best way possible. Without these giants, this project would not be possible. Please make sure to check them out and thank them for all of their hard work. + +Thank you to the following **GIANTS**: + + +* [github.com/gobuffalo/envy](https://godoc.org/github.com/gobuffalo/envy) + +* [github.com/gobuffalo/packd](https://godoc.org/github.com/gobuffalo/packd) + +* [github.com/gobuffalo/packr/v2](https://godoc.org/github.com/gobuffalo/packr/v2) + +* [github.com/spf13/cobra](https://godoc.org/github.com/spf13/cobra) + +* [github.com/stretchr/testify](https://godoc.org/github.com/stretchr/testify) + +* [golang.org/x/sync](https://godoc.org/golang.org/x/sync) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-pipelines.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-pipelines.yml new file mode 100644 index 0000000..417e2c5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-pipelines.yml @@ -0,0 +1,71 @@ +variables: + GOBIN: "$(GOPATH)/bin" # Go binaries path + GOPATH: "$(system.defaultWorkingDirectory)/gopath" # Go workspace path + modulePath: "$(GOPATH)/src/github.com/$(build.repository.name)" # Path to the module"s code + +jobs: +- job: Windows + pool: + vmImage: "vs2017-win2016" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: macOS + pool: + vmImage: "macOS-10.13" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml + +- job: Linux + pool: + vmImage: "ubuntu-16.04" + strategy: + matrix: + go 1.10: + go_version: "1.10" + go 1.11 (on): + go_version: "1.11.5" + GO111MODULE: "on" + go 1.11 (off): + go_version: "1.11.5" + GO111MODULE: "off" + go 1.12 (on): + go_version: "1.12" + GO111MODULE: "on" + go 1.12 (off): + go_version: "1.12" + GO111MODULE: "off" + steps: + - template: azure-tests.yml diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-tests.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-tests.yml new file mode 100644 index 0000000..58300d1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/azure-tests.yml @@ -0,0 +1,24 @@ +steps: + - task: GoTool@0 + inputs: + version: $(go_version) + - task: Bash@3 + inputs: + targetType: inline + script: | + mkdir -p "$(GOBIN)" + mkdir -p "$(GOPATH)/pkg" + mkdir -p "$(modulePath)" + shopt -s extglob + mv !(gopath) "$(modulePath)" + displayName: "Setup Go Workspace" + - script: | + go get -t -v ./... + go test -race ./... + go install -v ./packr + cd v2 + go get -t -v ./... + go test -race ./... + go install -v ./packr2 + workingDirectory: "$(modulePath)" + displayName: "Tests" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/box.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/box.go new file mode 100644 index 0000000..4922ebb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/box.go @@ -0,0 +1,228 @@ +package packr + +import ( + "bytes" + "compress/gzip" + "fmt" + "io/ioutil" + "net/http" + "os" + "path" + "path/filepath" + "runtime" + "strings" + + "github.com/gobuffalo/packd" +) + +var ( + // ErrResOutsideBox gets returned in case of the requested resources being outside the box + ErrResOutsideBox = fmt.Errorf("Can't find a resource outside the box") +) + +var _ packd.Box = Box{} +var _ packd.HTTPBox = Box{} +var _ packd.Lister = Box{} +var _ packd.Addable = Box{} +var _ packd.Walkable = Box{} +var _ packd.Finder = Box{} +var _ packd.LegacyBox = Box{} + +// NewBox returns a Box that can be used to +// retrieve files from either disk or the embedded +// binary. +func NewBox(path string) Box { + var cd string + if !filepath.IsAbs(path) { + _, filename, _, _ := runtime.Caller(1) + cd = filepath.Dir(filename) + } + + // this little hack courtesy of the `-cover` flag!! + cov := filepath.Join("_test", "_obj_test") + cd = strings.Replace(cd, string(filepath.Separator)+cov, "", 1) + if !filepath.IsAbs(cd) && cd != "" { + cd = filepath.Join(GoPath(), "src", cd) + } + + return Box{ + Path: path, + callingDir: cd, + data: map[string][]byte{}, + } +} + +// Box represent a folder on a disk you want to +// have access to in the built Go binary. +type Box struct { + Path string + callingDir string + data map[string][]byte + directories map[string]bool +} + +// AddString converts t to a byteslice and delegates to AddBytes to add to b.data +func (b Box) AddString(path string, t string) error { + b.AddBytes(path, []byte(t)) + return nil +} + +// AddBytes sets t in b.data by the given path +func (b Box) AddBytes(path string, t []byte) error { + b.data[path] = t + return nil +} + +// Deprecated: Use FindString instead. +func (b Box) String(name string) string { + bb, _ := b.FindString(name) + return bb +} + +// Deprecated: Use FindString instead. +func (b Box) MustString(name string) (string, error) { + return b.FindString(name) +} + +// Deprecated: Use Find instead. +func (b Box) Bytes(name string) []byte { + bb, _ := b.Find(name) + return bb +} + +// Deprecated: Use Find instead. +func (b Box) MustBytes(name string) ([]byte, error) { + return b.Find(name) +} + +// FindString returns either the string of the requested +// file or an error if it can not be found. +func (b Box) FindString(name string) (string, error) { + bb, err := b.Find(name) + return string(bb), err +} + +// Find returns either the byte slice of the requested +// file or an error if it can not be found. +func (b Box) Find(name string) ([]byte, error) { + f, err := b.find(name) + if err == nil { + bb := &bytes.Buffer{} + bb.ReadFrom(f) + return bb.Bytes(), err + } + return nil, err +} + +// Has returns true if the resource exists in the box +func (b Box) Has(name string) bool { + _, err := b.find(name) + if err != nil { + return false + } + return true +} + +func (b Box) decompress(bb []byte) []byte { + reader, err := gzip.NewReader(bytes.NewReader(bb)) + if err != nil { + return bb + } + defer reader.Close() + + data, err := ioutil.ReadAll(reader) + if err != nil { + return bb + } + return data +} + +func (b Box) find(name string) (File, error) { + if bb, ok := b.data[name]; ok { + return packd.NewFile(name, bytes.NewReader(bb)) + } + + if b.directories == nil { + b.indexDirectories() + } + + cleanName := filepath.ToSlash(filepath.Clean(name)) + // Ensure name is not outside the box + if strings.HasPrefix(cleanName, "../") { + return nil, ErrResOutsideBox + } + // Absolute name is considered as relative to the box root + cleanName = strings.TrimPrefix(cleanName, "/") + + if _, ok := data[b.Path]; ok { + if bb, ok := data[b.Path][cleanName]; ok { + bb = b.decompress(bb) + return packd.NewFile(cleanName, bytes.NewReader(bb)) + } + if _, ok := b.directories[cleanName]; ok { + return packd.NewDir(cleanName) + } + if filepath.Ext(cleanName) != "" { + // The Handler created by http.FileSystem checks for those errors and + // returns http.StatusNotFound instead of http.StatusInternalServerError. + return nil, os.ErrNotExist + } + return nil, os.ErrNotExist + } + + // Not found in the box virtual fs, try to get it from the file system + cleanName = filepath.FromSlash(cleanName) + p := filepath.Join(b.callingDir, b.Path, cleanName) + return fileFor(p, cleanName) +} + +// Open returns a File using the http.File interface +func (b Box) Open(name string) (http.File, error) { + return b.find(name) +} + +// List shows "What's in the box?" +func (b Box) List() []string { + var keys []string + + if b.data == nil || len(b.data) == 0 { + b.Walk(func(path string, info File) error { + finfo, _ := info.FileInfo() + if !finfo.IsDir() { + keys = append(keys, finfo.Name()) + } + return nil + }) + } else { + for k := range b.data { + keys = append(keys, k) + } + } + return keys +} + +func (b *Box) indexDirectories() { + b.directories = map[string]bool{} + if _, ok := data[b.Path]; ok { + for name := range data[b.Path] { + prefix, _ := path.Split(name) + // Even on Windows the suffix appears to be a / + prefix = strings.TrimSuffix(prefix, "/") + b.directories[prefix] = true + } + } +} + +func fileFor(p string, name string) (File, error) { + fi, err := os.Stat(p) + if err != nil { + return nil, err + } + if fi.IsDir() { + return packd.NewDir(p) + } + if bb, err := ioutil.ReadFile(p); err == nil { + return packd.NewFile(name, bytes.NewReader(bb)) + } + return nil, os.ErrNotExist +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/env.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/env.go new file mode 100644 index 0000000..8ec70b5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/env.go @@ -0,0 +1,13 @@ +package packr + +import ( + "github.com/gobuffalo/envy" +) + +// GoPath returns the current GOPATH env var +// or if it's missing, the default. +var GoPath = envy.GoPath + +// GoBin returns the current GO_BIN env var +// or if it's missing, a default of "go" +var GoBin = envy.GoBin diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/file.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/file.go new file mode 100644 index 0000000..8d24b73 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/file.go @@ -0,0 +1,5 @@ +package packr + +import "github.com/gobuffalo/packd" + +type File = packd.File diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.mod new file mode 100644 index 0000000..a8281f3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.mod @@ -0,0 +1,12 @@ +module github.com/gobuffalo/packr + +go 1.12 + +require ( + github.com/gobuffalo/envy v1.7.0 + github.com/gobuffalo/packd v0.3.0 + github.com/gobuffalo/packr/v2 v2.5.1 + github.com/spf13/cobra v0.0.5 + github.com/stretchr/testify v1.3.0 + golang.org/x/sync v0.0.0-20190423024810-112230192c58 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.sum new file mode 100644 index 0000000..1628131 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/go.sum @@ -0,0 +1,79 @@ +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gobuffalo/envy v1.7.0 h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/logger v1.0.0 h1:xw9Ko9EcC5iAFprrjJ6oZco9UpzS5MQ4jAwghsLHdy4= +github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= +github.com/gobuffalo/packd v0.3.0 h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4= +github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= +github.com/gobuffalo/packr/v2 v2.5.1 h1:TFOeY2VoGamPjQLiNDT3mn//ytzk236VMO2j7iHxJR4= +github.com/gobuffalo/packr/v2 v2.5.1/go.mod h1:8f9c96ITobJlPzI44jj+4tHnEKNt0xXWSVlXRN9X1Iw= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/karrick/godirwalk v1.10.12 h1:BqUm+LuJcXjGv1d2mj3gBiQyrQ57a0rYoAmhvJQ7RDU= +github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0 h1:RR9dF3JtopPvtkroDZuVD7qquD0bnHlKSqaQhgwt8yk= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4 h1:ydJNl0ENAG67pFbB+9tfhiL2pYqLhfoaZFw/cjLhY4A= +golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190515120540-06a5c4944438 h1:khxRGsvPk4n2y8I/mLLjp7e5dMTJmH75wvqS6nMwUtY= +golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c h1:KfpJVdWhuRqNk4XVXzjXf2KAV4TBEP77SYdFGjeGuIE= +golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/packr.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/packr.go new file mode 100644 index 0000000..6ccc6c1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/packr.go @@ -0,0 +1,74 @@ +package packr + +import ( + "bytes" + "compress/gzip" + "encoding/json" + "runtime" + "strings" + "sync" +) + +var gil = &sync.Mutex{} +var data = map[string]map[string][]byte{} + +// PackBytes packs bytes for a file into a box. +func PackBytes(box string, name string, bb []byte) { + gil.Lock() + defer gil.Unlock() + if _, ok := data[box]; !ok { + data[box] = map[string][]byte{} + } + data[box][name] = bb +} + +// PackBytesGzip packets the gzipped compressed bytes into a box. +func PackBytesGzip(box string, name string, bb []byte) error { + var buf bytes.Buffer + w := gzip.NewWriter(&buf) + _, err := w.Write(bb) + if err != nil { + return err + } + err = w.Close() + if err != nil { + return err + } + PackBytes(box, name, buf.Bytes()) + return nil +} + +// PackJSONBytes packs JSON encoded bytes for a file into a box. +func PackJSONBytes(box string, name string, jbb string) error { + var bb []byte + err := json.Unmarshal([]byte(jbb), &bb) + if err != nil { + return err + } + PackBytes(box, name, bb) + return nil +} + +// UnpackBytes unpacks bytes for specific box. +func UnpackBytes(box string) { + gil.Lock() + defer gil.Unlock() + delete(data, box) +} + +func osPaths(paths ...string) []string { + if runtime.GOOS == "windows" { + for i, path := range paths { + paths[i] = strings.Replace(path, "/", "\\", -1) + } + } + + return paths +} + +func osPath(path string) string { + if runtime.GOOS == "windows" { + return strings.Replace(path, "/", "\\", -1) + } + return path +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/version.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/version.go new file mode 100644 index 0000000..bf736a7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/version.go @@ -0,0 +1,3 @@ +package packr + +const Version = "v1.30.1" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/walk.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/walk.go new file mode 100644 index 0000000..f03f196 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/gobuffalo/packr/walk.go @@ -0,0 +1,63 @@ +package packr + +import ( + "os" + "path/filepath" + "strings" + + "github.com/gobuffalo/packd" +) + +type WalkFunc = packd.WalkFunc + +// Walk will traverse the box and call the WalkFunc for each file in the box/folder. +func (b Box) Walk(wf WalkFunc) error { + if data[b.Path] == nil { + base, err := filepath.EvalSymlinks(filepath.Join(b.callingDir, b.Path)) + if err != nil { + return err + } + return filepath.Walk(base, func(path string, info os.FileInfo, err error) error { + cleanName, err := filepath.Rel(base, path) + if err != nil { + cleanName = strings.TrimPrefix(path, base) + } + cleanName = filepath.ToSlash(filepath.Clean(cleanName)) + cleanName = strings.TrimPrefix(cleanName, "/") + cleanName = filepath.FromSlash(cleanName) + if info == nil || info.IsDir() { + return nil + } + + file, err := fileFor(path, cleanName) + if err != nil { + return err + } + return wf(cleanName, file) + }) + } + for n := range data[b.Path] { + f, err := b.find(n) + if err != nil { + return err + } + err = wf(n, f) + if err != nil { + return err + } + } + return nil +} + +// WalkPrefix will call box.Walk and call the WalkFunc when it finds paths that have a matching prefix +func (b Box) WalkPrefix(prefix string, wf WalkFunc) error { + opre := osPath(prefix) + return b.Walk(func(path string, f File) error { + if strings.HasPrefix(osPath(path), opre) { + if err := wf(path, f); err != nil { + return err + } + } + return nil + }) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/AUTHORS b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/AUTHORS new file mode 100644 index 0000000..15167cd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/CONTRIBUTORS b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/CONTRIBUTORS new file mode 100644 index 0000000..1c4577e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/LICENSE new file mode 100644 index 0000000..0f64693 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/LICENSE @@ -0,0 +1,28 @@ +Copyright 2010 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/clone.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/clone.go new file mode 100644 index 0000000..3cd3249 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/clone.go @@ -0,0 +1,253 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2011 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Protocol buffer deep copy and merge. +// TODO: RawMessage. + +package proto + +import ( + "fmt" + "log" + "reflect" + "strings" +) + +// Clone returns a deep copy of a protocol buffer. +func Clone(src Message) Message { + in := reflect.ValueOf(src) + if in.IsNil() { + return src + } + out := reflect.New(in.Type().Elem()) + dst := out.Interface().(Message) + Merge(dst, src) + return dst +} + +// Merger is the interface representing objects that can merge messages of the same type. +type Merger interface { + // Merge merges src into this message. + // Required and optional fields that are set in src will be set to that value in dst. + // Elements of repeated fields will be appended. + // + // Merge may panic if called with a different argument type than the receiver. + Merge(src Message) +} + +// generatedMerger is the custom merge method that generated protos will have. +// We must add this method since a generate Merge method will conflict with +// many existing protos that have a Merge data field already defined. +type generatedMerger interface { + XXX_Merge(src Message) +} + +// Merge merges src into dst. +// Required and optional fields that are set in src will be set to that value in dst. +// Elements of repeated fields will be appended. +// Merge panics if src and dst are not the same type, or if dst is nil. +func Merge(dst, src Message) { + if m, ok := dst.(Merger); ok { + m.Merge(src) + return + } + + in := reflect.ValueOf(src) + out := reflect.ValueOf(dst) + if out.IsNil() { + panic("proto: nil destination") + } + if in.Type() != out.Type() { + panic(fmt.Sprintf("proto.Merge(%T, %T) type mismatch", dst, src)) + } + if in.IsNil() { + return // Merge from nil src is a noop + } + if m, ok := dst.(generatedMerger); ok { + m.XXX_Merge(src) + return + } + mergeStruct(out.Elem(), in.Elem()) +} + +func mergeStruct(out, in reflect.Value) { + sprop := GetProperties(in.Type()) + for i := 0; i < in.NumField(); i++ { + f := in.Type().Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + mergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i]) + } + + if emIn, err := extendable(in.Addr().Interface()); err == nil { + emOut, _ := extendable(out.Addr().Interface()) + mIn, muIn := emIn.extensionsRead() + if mIn != nil { + mOut := emOut.extensionsWrite() + muIn.Lock() + mergeExtension(mOut, mIn) + muIn.Unlock() + } + } + + uf := in.FieldByName("XXX_unrecognized") + if !uf.IsValid() { + return + } + uin := uf.Bytes() + if len(uin) > 0 { + out.FieldByName("XXX_unrecognized").SetBytes(append([]byte(nil), uin...)) + } +} + +// mergeAny performs a merge between two values of the same type. +// viaPtr indicates whether the values were indirected through a pointer (implying proto2). +// prop is set if this is a struct field (it may be nil). +func mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) { + if in.Type() == protoMessageType { + if !in.IsNil() { + if out.IsNil() { + out.Set(reflect.ValueOf(Clone(in.Interface().(Message)))) + } else { + Merge(out.Interface().(Message), in.Interface().(Message)) + } + } + return + } + switch in.Kind() { + case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64, + reflect.String, reflect.Uint32, reflect.Uint64: + if !viaPtr && isProto3Zero(in) { + return + } + out.Set(in) + case reflect.Interface: + // Probably a oneof field; copy non-nil values. + if in.IsNil() { + return + } + // Allocate destination if it is not set, or set to a different type. + // Otherwise we will merge as normal. + if out.IsNil() || out.Elem().Type() != in.Elem().Type() { + out.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T) + } + mergeAny(out.Elem(), in.Elem(), false, nil) + case reflect.Map: + if in.Len() == 0 { + return + } + if out.IsNil() { + out.Set(reflect.MakeMap(in.Type())) + } + // For maps with value types of *T or []byte we need to deep copy each value. + elemKind := in.Type().Elem().Kind() + for _, key := range in.MapKeys() { + var val reflect.Value + switch elemKind { + case reflect.Ptr: + val = reflect.New(in.Type().Elem().Elem()) + mergeAny(val, in.MapIndex(key), false, nil) + case reflect.Slice: + val = in.MapIndex(key) + val = reflect.ValueOf(append([]byte{}, val.Bytes()...)) + default: + val = in.MapIndex(key) + } + out.SetMapIndex(key, val) + } + case reflect.Ptr: + if in.IsNil() { + return + } + if out.IsNil() { + out.Set(reflect.New(in.Elem().Type())) + } + mergeAny(out.Elem(), in.Elem(), true, nil) + case reflect.Slice: + if in.IsNil() { + return + } + if in.Type().Elem().Kind() == reflect.Uint8 { + // []byte is a scalar bytes field, not a repeated field. + + // Edge case: if this is in a proto3 message, a zero length + // bytes field is considered the zero value, and should not + // be merged. + if prop != nil && prop.proto3 && in.Len() == 0 { + return + } + + // Make a deep copy. + // Append to []byte{} instead of []byte(nil) so that we never end up + // with a nil result. + out.SetBytes(append([]byte{}, in.Bytes()...)) + return + } + n := in.Len() + if out.IsNil() { + out.Set(reflect.MakeSlice(in.Type(), 0, n)) + } + switch in.Type().Elem().Kind() { + case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64, + reflect.String, reflect.Uint32, reflect.Uint64: + out.Set(reflect.AppendSlice(out, in)) + default: + for i := 0; i < n; i++ { + x := reflect.Indirect(reflect.New(in.Type().Elem())) + mergeAny(x, in.Index(i), false, nil) + out.Set(reflect.Append(out, x)) + } + } + case reflect.Struct: + mergeStruct(out, in) + default: + // unknown type, so not a protocol buffer + log.Printf("proto: don't know how to copy %v", in) + } +} + +func mergeExtension(out, in map[int32]Extension) { + for extNum, eIn := range in { + eOut := Extension{desc: eIn.desc} + if eIn.value != nil { + v := reflect.New(reflect.TypeOf(eIn.value)).Elem() + mergeAny(v, reflect.ValueOf(eIn.value), false, nil) + eOut.value = v.Interface() + } + if eIn.enc != nil { + eOut.enc = make([]byte, len(eIn.enc)) + copy(eOut.enc, eIn.enc) + } + + out[extNum] = eOut + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/decode.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/decode.go new file mode 100644 index 0000000..63b0f08 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/decode.go @@ -0,0 +1,427 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for decoding protocol buffer data to construct in-memory representations. + */ + +import ( + "errors" + "fmt" + "io" +) + +// errOverflow is returned when an integer is too large to be represented. +var errOverflow = errors.New("proto: integer overflow") + +// ErrInternalBadWireType is returned by generated code when an incorrect +// wire type is encountered. It does not get returned to user code. +var ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof") + +// DecodeVarint reads a varint-encoded integer from the slice. +// It returns the integer and the number of bytes consumed, or +// zero if there is not enough. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func DecodeVarint(buf []byte) (x uint64, n int) { + for shift := uint(0); shift < 64; shift += 7 { + if n >= len(buf) { + return 0, 0 + } + b := uint64(buf[n]) + n++ + x |= (b & 0x7F) << shift + if (b & 0x80) == 0 { + return x, n + } + } + + // The number is too large to represent in a 64-bit value. + return 0, 0 +} + +func (p *Buffer) decodeVarintSlow() (x uint64, err error) { + i := p.index + l := len(p.buf) + + for shift := uint(0); shift < 64; shift += 7 { + if i >= l { + err = io.ErrUnexpectedEOF + return + } + b := p.buf[i] + i++ + x |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + p.index = i + return + } + } + + // The number is too large to represent in a 64-bit value. + err = errOverflow + return +} + +// DecodeVarint reads a varint-encoded integer from the Buffer. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func (p *Buffer) DecodeVarint() (x uint64, err error) { + i := p.index + buf := p.buf + + if i >= len(buf) { + return 0, io.ErrUnexpectedEOF + } else if buf[i] < 0x80 { + p.index++ + return uint64(buf[i]), nil + } else if len(buf)-i < 10 { + return p.decodeVarintSlow() + } + + var b uint64 + // we already checked the first byte + x = uint64(buf[i]) - 0x80 + i++ + + b = uint64(buf[i]) + i++ + x += b << 7 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 7 + + b = uint64(buf[i]) + i++ + x += b << 14 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 14 + + b = uint64(buf[i]) + i++ + x += b << 21 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 21 + + b = uint64(buf[i]) + i++ + x += b << 28 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 28 + + b = uint64(buf[i]) + i++ + x += b << 35 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 35 + + b = uint64(buf[i]) + i++ + x += b << 42 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 42 + + b = uint64(buf[i]) + i++ + x += b << 49 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 49 + + b = uint64(buf[i]) + i++ + x += b << 56 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 56 + + b = uint64(buf[i]) + i++ + x += b << 63 + if b&0x80 == 0 { + goto done + } + + return 0, errOverflow + +done: + p.index = i + return x, nil +} + +// DecodeFixed64 reads a 64-bit integer from the Buffer. +// This is the format for the +// fixed64, sfixed64, and double protocol buffer types. +func (p *Buffer) DecodeFixed64() (x uint64, err error) { + // x, err already 0 + i := p.index + 8 + if i < 0 || i > len(p.buf) { + err = io.ErrUnexpectedEOF + return + } + p.index = i + + x = uint64(p.buf[i-8]) + x |= uint64(p.buf[i-7]) << 8 + x |= uint64(p.buf[i-6]) << 16 + x |= uint64(p.buf[i-5]) << 24 + x |= uint64(p.buf[i-4]) << 32 + x |= uint64(p.buf[i-3]) << 40 + x |= uint64(p.buf[i-2]) << 48 + x |= uint64(p.buf[i-1]) << 56 + return +} + +// DecodeFixed32 reads a 32-bit integer from the Buffer. +// This is the format for the +// fixed32, sfixed32, and float protocol buffer types. +func (p *Buffer) DecodeFixed32() (x uint64, err error) { + // x, err already 0 + i := p.index + 4 + if i < 0 || i > len(p.buf) { + err = io.ErrUnexpectedEOF + return + } + p.index = i + + x = uint64(p.buf[i-4]) + x |= uint64(p.buf[i-3]) << 8 + x |= uint64(p.buf[i-2]) << 16 + x |= uint64(p.buf[i-1]) << 24 + return +} + +// DecodeZigzag64 reads a zigzag-encoded 64-bit integer +// from the Buffer. +// This is the format used for the sint64 protocol buffer type. +func (p *Buffer) DecodeZigzag64() (x uint64, err error) { + x, err = p.DecodeVarint() + if err != nil { + return + } + x = (x >> 1) ^ uint64((int64(x&1)<<63)>>63) + return +} + +// DecodeZigzag32 reads a zigzag-encoded 32-bit integer +// from the Buffer. +// This is the format used for the sint32 protocol buffer type. +func (p *Buffer) DecodeZigzag32() (x uint64, err error) { + x, err = p.DecodeVarint() + if err != nil { + return + } + x = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31)) + return +} + +// DecodeRawBytes reads a count-delimited byte buffer from the Buffer. +// This is the format used for the bytes protocol buffer +// type and for embedded messages. +func (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) { + n, err := p.DecodeVarint() + if err != nil { + return nil, err + } + + nb := int(n) + if nb < 0 { + return nil, fmt.Errorf("proto: bad byte length %d", nb) + } + end := p.index + nb + if end < p.index || end > len(p.buf) { + return nil, io.ErrUnexpectedEOF + } + + if !alloc { + // todo: check if can get more uses of alloc=false + buf = p.buf[p.index:end] + p.index += nb + return + } + + buf = make([]byte, nb) + copy(buf, p.buf[p.index:]) + p.index += nb + return +} + +// DecodeStringBytes reads an encoded string from the Buffer. +// This is the format used for the proto2 string type. +func (p *Buffer) DecodeStringBytes() (s string, err error) { + buf, err := p.DecodeRawBytes(false) + if err != nil { + return + } + return string(buf), nil +} + +// Unmarshaler is the interface representing objects that can +// unmarshal themselves. The argument points to data that may be +// overwritten, so implementations should not keep references to the +// buffer. +// Unmarshal implementations should not clear the receiver. +// Any unmarshaled data should be merged into the receiver. +// Callers of Unmarshal that do not want to retain existing data +// should Reset the receiver before calling Unmarshal. +type Unmarshaler interface { + Unmarshal([]byte) error +} + +// newUnmarshaler is the interface representing objects that can +// unmarshal themselves. The semantics are identical to Unmarshaler. +// +// This exists to support protoc-gen-go generated messages. +// The proto package will stop type-asserting to this interface in the future. +// +// DO NOT DEPEND ON THIS. +type newUnmarshaler interface { + XXX_Unmarshal([]byte) error +} + +// Unmarshal parses the protocol buffer representation in buf and places the +// decoded result in pb. If the struct underlying pb does not match +// the data in buf, the results can be unpredictable. +// +// Unmarshal resets pb before starting to unmarshal, so any +// existing data in pb is always removed. Use UnmarshalMerge +// to preserve and append to existing data. +func Unmarshal(buf []byte, pb Message) error { + pb.Reset() + if u, ok := pb.(newUnmarshaler); ok { + return u.XXX_Unmarshal(buf) + } + if u, ok := pb.(Unmarshaler); ok { + return u.Unmarshal(buf) + } + return NewBuffer(buf).Unmarshal(pb) +} + +// UnmarshalMerge parses the protocol buffer representation in buf and +// writes the decoded result to pb. If the struct underlying pb does not match +// the data in buf, the results can be unpredictable. +// +// UnmarshalMerge merges into existing data in pb. +// Most code should use Unmarshal instead. +func UnmarshalMerge(buf []byte, pb Message) error { + if u, ok := pb.(newUnmarshaler); ok { + return u.XXX_Unmarshal(buf) + } + if u, ok := pb.(Unmarshaler); ok { + // NOTE: The history of proto have unfortunately been inconsistent + // whether Unmarshaler should or should not implicitly clear itself. + // Some implementations do, most do not. + // Thus, calling this here may or may not do what people want. + // + // See https://github.com/golang/protobuf/issues/424 + return u.Unmarshal(buf) + } + return NewBuffer(buf).Unmarshal(pb) +} + +// DecodeMessage reads a count-delimited message from the Buffer. +func (p *Buffer) DecodeMessage(pb Message) error { + enc, err := p.DecodeRawBytes(false) + if err != nil { + return err + } + return NewBuffer(enc).Unmarshal(pb) +} + +// DecodeGroup reads a tag-delimited group from the Buffer. +// StartGroup tag is already consumed. This function consumes +// EndGroup tag. +func (p *Buffer) DecodeGroup(pb Message) error { + b := p.buf[p.index:] + x, y := findEndGroup(b) + if x < 0 { + return io.ErrUnexpectedEOF + } + err := Unmarshal(b[:x], pb) + p.index += y + return err +} + +// Unmarshal parses the protocol buffer representation in the +// Buffer and places the decoded result in pb. If the struct +// underlying pb does not match the data in the buffer, the results can be +// unpredictable. +// +// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal. +func (p *Buffer) Unmarshal(pb Message) error { + // If the object can unmarshal itself, let it. + if u, ok := pb.(newUnmarshaler); ok { + err := u.XXX_Unmarshal(p.buf[p.index:]) + p.index = len(p.buf) + return err + } + if u, ok := pb.(Unmarshaler); ok { + // NOTE: The history of proto have unfortunately been inconsistent + // whether Unmarshaler should or should not implicitly clear itself. + // Some implementations do, most do not. + // Thus, calling this here may or may not do what people want. + // + // See https://github.com/golang/protobuf/issues/424 + err := u.Unmarshal(p.buf[p.index:]) + p.index = len(p.buf) + return err + } + + // Slow workaround for messages that aren't Unmarshalers. + // This includes some hand-coded .pb.go files and + // bootstrap protos. + // TODO: fix all of those and then add Unmarshal to + // the Message interface. Then: + // The cast above and code below can be deleted. + // The old unmarshaler can be deleted. + // Clients can call Unmarshal directly (can already do that, actually). + var info InternalMessageInfo + err := info.Unmarshal(pb, p.buf[p.index:]) + p.index = len(p.buf) + return err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/deprecated.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/deprecated.go new file mode 100644 index 0000000..35b882c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/deprecated.go @@ -0,0 +1,63 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2018 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import "errors" + +// Deprecated: do not use. +type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 } + +// Deprecated: do not use. +func GetStats() Stats { return Stats{} } + +// Deprecated: do not use. +func MarshalMessageSet(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSet([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func MarshalMessageSetJSON(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSetJSON([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func RegisterMessageSetType(Message, int32, string) {} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/discard.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/discard.go new file mode 100644 index 0000000..dea2617 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/discard.go @@ -0,0 +1,350 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2017 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "fmt" + "reflect" + "strings" + "sync" + "sync/atomic" +) + +type generatedDiscarder interface { + XXX_DiscardUnknown() +} + +// DiscardUnknown recursively discards all unknown fields from this message +// and all embedded messages. +// +// When unmarshaling a message with unrecognized fields, the tags and values +// of such fields are preserved in the Message. This allows a later call to +// marshal to be able to produce a message that continues to have those +// unrecognized fields. To avoid this, DiscardUnknown is used to +// explicitly clear the unknown fields after unmarshaling. +// +// For proto2 messages, the unknown fields of message extensions are only +// discarded from messages that have been accessed via GetExtension. +func DiscardUnknown(m Message) { + if m, ok := m.(generatedDiscarder); ok { + m.XXX_DiscardUnknown() + return + } + // TODO: Dynamically populate a InternalMessageInfo for legacy messages, + // but the master branch has no implementation for InternalMessageInfo, + // so it would be more work to replicate that approach. + discardLegacy(m) +} + +// DiscardUnknown recursively discards all unknown fields. +func (a *InternalMessageInfo) DiscardUnknown(m Message) { + di := atomicLoadDiscardInfo(&a.discard) + if di == nil { + di = getDiscardInfo(reflect.TypeOf(m).Elem()) + atomicStoreDiscardInfo(&a.discard, di) + } + di.discard(toPointer(&m)) +} + +type discardInfo struct { + typ reflect.Type + + initialized int32 // 0: only typ is valid, 1: everything is valid + lock sync.Mutex + + fields []discardFieldInfo + unrecognized field +} + +type discardFieldInfo struct { + field field // Offset of field, guaranteed to be valid + discard func(src pointer) +} + +var ( + discardInfoMap = map[reflect.Type]*discardInfo{} + discardInfoLock sync.Mutex +) + +func getDiscardInfo(t reflect.Type) *discardInfo { + discardInfoLock.Lock() + defer discardInfoLock.Unlock() + di := discardInfoMap[t] + if di == nil { + di = &discardInfo{typ: t} + discardInfoMap[t] = di + } + return di +} + +func (di *discardInfo) discard(src pointer) { + if src.isNil() { + return // Nothing to do. + } + + if atomic.LoadInt32(&di.initialized) == 0 { + di.computeDiscardInfo() + } + + for _, fi := range di.fields { + sfp := src.offset(fi.field) + fi.discard(sfp) + } + + // For proto2 messages, only discard unknown fields in message extensions + // that have been accessed via GetExtension. + if em, err := extendable(src.asPointerTo(di.typ).Interface()); err == nil { + // Ignore lock since DiscardUnknown is not concurrency safe. + emm, _ := em.extensionsRead() + for _, mx := range emm { + if m, ok := mx.value.(Message); ok { + DiscardUnknown(m) + } + } + } + + if di.unrecognized.IsValid() { + *src.offset(di.unrecognized).toBytes() = nil + } +} + +func (di *discardInfo) computeDiscardInfo() { + di.lock.Lock() + defer di.lock.Unlock() + if di.initialized != 0 { + return + } + t := di.typ + n := t.NumField() + + for i := 0; i < n; i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + + dfi := discardFieldInfo{field: toField(&f)} + tf := f.Type + + // Unwrap tf to get its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic(fmt.Sprintf("%v.%s cannot be a slice of pointers to primitive types", t, f.Name)) + } + + switch tf.Kind() { + case reflect.Struct: + switch { + case !isPointer: + panic(fmt.Sprintf("%v.%s cannot be a direct struct value", t, f.Name)) + case isSlice: // E.g., []*pb.T + di := getDiscardInfo(tf) + dfi.discard = func(src pointer) { + sps := src.getPointerSlice() + for _, sp := range sps { + if !sp.isNil() { + di.discard(sp) + } + } + } + default: // E.g., *pb.T + di := getDiscardInfo(tf) + dfi.discard = func(src pointer) { + sp := src.getPointer() + if !sp.isNil() { + di.discard(sp) + } + } + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%v.%s cannot be a pointer to a map or a slice of map values", t, f.Name)) + default: // E.g., map[K]V + if tf.Elem().Kind() == reflect.Ptr { // Proto struct (e.g., *T) + dfi.discard = func(src pointer) { + sm := src.asPointerTo(tf).Elem() + if sm.Len() == 0 { + return + } + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + DiscardUnknown(val.Interface().(Message)) + } + } + } else { + dfi.discard = func(pointer) {} // Noop + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%v.%s cannot be a pointer to a interface or a slice of interface values", t, f.Name)) + default: // E.g., interface{} + // TODO: Make this faster? + dfi.discard = func(src pointer) { + su := src.asPointerTo(tf).Elem() + if !su.IsNil() { + sv := su.Elem().Elem().Field(0) + if sv.Kind() == reflect.Ptr && sv.IsNil() { + return + } + switch sv.Type().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + DiscardUnknown(sv.Interface().(Message)) + } + } + } + } + default: + continue + } + di.fields = append(di.fields, dfi) + } + + di.unrecognized = invalidField + if f, ok := t.FieldByName("XXX_unrecognized"); ok { + if f.Type != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + di.unrecognized = toField(&f) + } + + atomic.StoreInt32(&di.initialized, 1) +} + +func discardLegacy(m Message) { + v := reflect.ValueOf(m) + if v.Kind() != reflect.Ptr || v.IsNil() { + return + } + v = v.Elem() + if v.Kind() != reflect.Struct { + return + } + t := v.Type() + + for i := 0; i < v.NumField(); i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + vf := v.Field(i) + tf := f.Type + + // Unwrap tf to get its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic(fmt.Sprintf("%T.%s cannot be a slice of pointers to primitive types", m, f.Name)) + } + + switch tf.Kind() { + case reflect.Struct: + switch { + case !isPointer: + panic(fmt.Sprintf("%T.%s cannot be a direct struct value", m, f.Name)) + case isSlice: // E.g., []*pb.T + for j := 0; j < vf.Len(); j++ { + discardLegacy(vf.Index(j).Interface().(Message)) + } + default: // E.g., *pb.T + discardLegacy(vf.Interface().(Message)) + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%T.%s cannot be a pointer to a map or a slice of map values", m, f.Name)) + default: // E.g., map[K]V + tv := vf.Type().Elem() + if tv.Kind() == reflect.Ptr && tv.Implements(protoMessageType) { // Proto struct (e.g., *T) + for _, key := range vf.MapKeys() { + val := vf.MapIndex(key) + discardLegacy(val.Interface().(Message)) + } + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%T.%s cannot be a pointer to a interface or a slice of interface values", m, f.Name)) + default: // E.g., test_proto.isCommunique_Union interface + if !vf.IsNil() && f.Tag.Get("protobuf_oneof") != "" { + vf = vf.Elem() // E.g., *test_proto.Communique_Msg + if !vf.IsNil() { + vf = vf.Elem() // E.g., test_proto.Communique_Msg + vf = vf.Field(0) // E.g., Proto struct (e.g., *T) or primitive value + if vf.Kind() == reflect.Ptr { + discardLegacy(vf.Interface().(Message)) + } + } + } + } + } + } + + if vf := v.FieldByName("XXX_unrecognized"); vf.IsValid() { + if vf.Type() != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + vf.Set(reflect.ValueOf([]byte(nil))) + } + + // For proto2 messages, only discard unknown fields in message extensions + // that have been accessed via GetExtension. + if em, err := extendable(m); err == nil { + // Ignore lock since discardLegacy is not concurrency safe. + emm, _ := em.extensionsRead() + for _, mx := range emm { + if m, ok := mx.value.(Message); ok { + discardLegacy(m) + } + } + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/encode.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/encode.go new file mode 100644 index 0000000..3abfed2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/encode.go @@ -0,0 +1,203 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for encoding data into the wire format for protocol buffers. + */ + +import ( + "errors" + "reflect" +) + +var ( + // errRepeatedHasNil is the error returned if Marshal is called with + // a struct with a repeated field containing a nil element. + errRepeatedHasNil = errors.New("proto: repeated field has nil element") + + // errOneofHasNil is the error returned if Marshal is called with + // a struct with a oneof field containing a nil element. + errOneofHasNil = errors.New("proto: oneof field has nil value") + + // ErrNil is the error returned if Marshal is called with nil. + ErrNil = errors.New("proto: Marshal called with nil") + + // ErrTooLarge is the error returned if Marshal is called with a + // message that encodes to >2GB. + ErrTooLarge = errors.New("proto: message encodes to over 2 GB") +) + +// The fundamental encoders that put bytes on the wire. +// Those that take integer types all accept uint64 and are +// therefore of type valueEncoder. + +const maxVarintBytes = 10 // maximum length of a varint + +// EncodeVarint returns the varint encoding of x. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +// Not used by the package itself, but helpful to clients +// wishing to use the same encoding. +func EncodeVarint(x uint64) []byte { + var buf [maxVarintBytes]byte + var n int + for n = 0; x > 127; n++ { + buf[n] = 0x80 | uint8(x&0x7F) + x >>= 7 + } + buf[n] = uint8(x) + n++ + return buf[0:n] +} + +// EncodeVarint writes a varint-encoded integer to the Buffer. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func (p *Buffer) EncodeVarint(x uint64) error { + for x >= 1<<7 { + p.buf = append(p.buf, uint8(x&0x7f|0x80)) + x >>= 7 + } + p.buf = append(p.buf, uint8(x)) + return nil +} + +// SizeVarint returns the varint encoding size of an integer. +func SizeVarint(x uint64) int { + switch { + case x < 1<<7: + return 1 + case x < 1<<14: + return 2 + case x < 1<<21: + return 3 + case x < 1<<28: + return 4 + case x < 1<<35: + return 5 + case x < 1<<42: + return 6 + case x < 1<<49: + return 7 + case x < 1<<56: + return 8 + case x < 1<<63: + return 9 + } + return 10 +} + +// EncodeFixed64 writes a 64-bit integer to the Buffer. +// This is the format for the +// fixed64, sfixed64, and double protocol buffer types. +func (p *Buffer) EncodeFixed64(x uint64) error { + p.buf = append(p.buf, + uint8(x), + uint8(x>>8), + uint8(x>>16), + uint8(x>>24), + uint8(x>>32), + uint8(x>>40), + uint8(x>>48), + uint8(x>>56)) + return nil +} + +// EncodeFixed32 writes a 32-bit integer to the Buffer. +// This is the format for the +// fixed32, sfixed32, and float protocol buffer types. +func (p *Buffer) EncodeFixed32(x uint64) error { + p.buf = append(p.buf, + uint8(x), + uint8(x>>8), + uint8(x>>16), + uint8(x>>24)) + return nil +} + +// EncodeZigzag64 writes a zigzag-encoded 64-bit integer +// to the Buffer. +// This is the format used for the sint64 protocol buffer type. +func (p *Buffer) EncodeZigzag64(x uint64) error { + // use signed number to get arithmetic right shift. + return p.EncodeVarint(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} + +// EncodeZigzag32 writes a zigzag-encoded 32-bit integer +// to the Buffer. +// This is the format used for the sint32 protocol buffer type. +func (p *Buffer) EncodeZigzag32(x uint64) error { + // use signed number to get arithmetic right shift. + return p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31)))) +} + +// EncodeRawBytes writes a count-delimited byte buffer to the Buffer. +// This is the format used for the bytes protocol buffer +// type and for embedded messages. +func (p *Buffer) EncodeRawBytes(b []byte) error { + p.EncodeVarint(uint64(len(b))) + p.buf = append(p.buf, b...) + return nil +} + +// EncodeStringBytes writes an encoded string to the Buffer. +// This is the format used for the proto2 string type. +func (p *Buffer) EncodeStringBytes(s string) error { + p.EncodeVarint(uint64(len(s))) + p.buf = append(p.buf, s...) + return nil +} + +// Marshaler is the interface representing objects that can marshal themselves. +type Marshaler interface { + Marshal() ([]byte, error) +} + +// EncodeMessage writes the protocol buffer to the Buffer, +// prefixed by a varint-encoded length. +func (p *Buffer) EncodeMessage(pb Message) error { + siz := Size(pb) + p.EncodeVarint(uint64(siz)) + return p.Marshal(pb) +} + +// All protocol buffer fields are nillable, but be careful. +func isNil(v reflect.Value) bool { + switch v.Kind() { + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return v.IsNil() + } + return false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/equal.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/equal.go new file mode 100644 index 0000000..f9b6e41 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/equal.go @@ -0,0 +1,301 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2011 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Protocol buffer comparison. + +package proto + +import ( + "bytes" + "log" + "reflect" + "strings" +) + +/* +Equal returns true iff protocol buffers a and b are equal. +The arguments must both be pointers to protocol buffer structs. + +Equality is defined in this way: + - Two messages are equal iff they are the same type, + corresponding fields are equal, unknown field sets + are equal, and extensions sets are equal. + - Two set scalar fields are equal iff their values are equal. + If the fields are of a floating-point type, remember that + NaN != x for all x, including NaN. If the message is defined + in a proto3 .proto file, fields are not "set"; specifically, + zero length proto3 "bytes" fields are equal (nil == {}). + - Two repeated fields are equal iff their lengths are the same, + and their corresponding elements are equal. Note a "bytes" field, + although represented by []byte, is not a repeated field and the + rule for the scalar fields described above applies. + - Two unset fields are equal. + - Two unknown field sets are equal if their current + encoded state is equal. + - Two extension sets are equal iff they have corresponding + elements that are pairwise equal. + - Two map fields are equal iff their lengths are the same, + and they contain the same set of elements. Zero-length map + fields are equal. + - Every other combination of things are not equal. + +The return value is undefined if a and b are not protocol buffers. +*/ +func Equal(a, b Message) bool { + if a == nil || b == nil { + return a == b + } + v1, v2 := reflect.ValueOf(a), reflect.ValueOf(b) + if v1.Type() != v2.Type() { + return false + } + if v1.Kind() == reflect.Ptr { + if v1.IsNil() { + return v2.IsNil() + } + if v2.IsNil() { + return false + } + v1, v2 = v1.Elem(), v2.Elem() + } + if v1.Kind() != reflect.Struct { + return false + } + return equalStruct(v1, v2) +} + +// v1 and v2 are known to have the same type. +func equalStruct(v1, v2 reflect.Value) bool { + sprop := GetProperties(v1.Type()) + for i := 0; i < v1.NumField(); i++ { + f := v1.Type().Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + f1, f2 := v1.Field(i), v2.Field(i) + if f.Type.Kind() == reflect.Ptr { + if n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 { + // both unset + continue + } else if n1 != n2 { + // set/unset mismatch + return false + } + f1, f2 = f1.Elem(), f2.Elem() + } + if !equalAny(f1, f2, sprop.Prop[i]) { + return false + } + } + + if em1 := v1.FieldByName("XXX_InternalExtensions"); em1.IsValid() { + em2 := v2.FieldByName("XXX_InternalExtensions") + if !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) { + return false + } + } + + if em1 := v1.FieldByName("XXX_extensions"); em1.IsValid() { + em2 := v2.FieldByName("XXX_extensions") + if !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) { + return false + } + } + + uf := v1.FieldByName("XXX_unrecognized") + if !uf.IsValid() { + return true + } + + u1 := uf.Bytes() + u2 := v2.FieldByName("XXX_unrecognized").Bytes() + return bytes.Equal(u1, u2) +} + +// v1 and v2 are known to have the same type. +// prop may be nil. +func equalAny(v1, v2 reflect.Value, prop *Properties) bool { + if v1.Type() == protoMessageType { + m1, _ := v1.Interface().(Message) + m2, _ := v2.Interface().(Message) + return Equal(m1, m2) + } + switch v1.Kind() { + case reflect.Bool: + return v1.Bool() == v2.Bool() + case reflect.Float32, reflect.Float64: + return v1.Float() == v2.Float() + case reflect.Int32, reflect.Int64: + return v1.Int() == v2.Int() + case reflect.Interface: + // Probably a oneof field; compare the inner values. + n1, n2 := v1.IsNil(), v2.IsNil() + if n1 || n2 { + return n1 == n2 + } + e1, e2 := v1.Elem(), v2.Elem() + if e1.Type() != e2.Type() { + return false + } + return equalAny(e1, e2, nil) + case reflect.Map: + if v1.Len() != v2.Len() { + return false + } + for _, key := range v1.MapKeys() { + val2 := v2.MapIndex(key) + if !val2.IsValid() { + // This key was not found in the second map. + return false + } + if !equalAny(v1.MapIndex(key), val2, nil) { + return false + } + } + return true + case reflect.Ptr: + // Maps may have nil values in them, so check for nil. + if v1.IsNil() && v2.IsNil() { + return true + } + if v1.IsNil() != v2.IsNil() { + return false + } + return equalAny(v1.Elem(), v2.Elem(), prop) + case reflect.Slice: + if v1.Type().Elem().Kind() == reflect.Uint8 { + // short circuit: []byte + + // Edge case: if this is in a proto3 message, a zero length + // bytes field is considered the zero value. + if prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 { + return true + } + if v1.IsNil() != v2.IsNil() { + return false + } + return bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte)) + } + + if v1.Len() != v2.Len() { + return false + } + for i := 0; i < v1.Len(); i++ { + if !equalAny(v1.Index(i), v2.Index(i), prop) { + return false + } + } + return true + case reflect.String: + return v1.Interface().(string) == v2.Interface().(string) + case reflect.Struct: + return equalStruct(v1, v2) + case reflect.Uint32, reflect.Uint64: + return v1.Uint() == v2.Uint() + } + + // unknown type, so not a protocol buffer + log.Printf("proto: don't know how to compare %v", v1) + return false +} + +// base is the struct type that the extensions are based on. +// x1 and x2 are InternalExtensions. +func equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool { + em1, _ := x1.extensionsRead() + em2, _ := x2.extensionsRead() + return equalExtMap(base, em1, em2) +} + +func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool { + if len(em1) != len(em2) { + return false + } + + for extNum, e1 := range em1 { + e2, ok := em2[extNum] + if !ok { + return false + } + + m1 := extensionAsLegacyType(e1.value) + m2 := extensionAsLegacyType(e2.value) + + if m1 == nil && m2 == nil { + // Both have only encoded form. + if bytes.Equal(e1.enc, e2.enc) { + continue + } + // The bytes are different, but the extensions might still be + // equal. We need to decode them to compare. + } + + if m1 != nil && m2 != nil { + // Both are unencoded. + if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) { + return false + } + continue + } + + // At least one is encoded. To do a semantically correct comparison + // we need to unmarshal them first. + var desc *ExtensionDesc + if m := extensionMaps[base]; m != nil { + desc = m[extNum] + } + if desc == nil { + // If both have only encoded form and the bytes are the same, + // it is handled above. We get here when the bytes are different. + // We don't know how to decode it, so just compare them as byte + // slices. + log.Printf("proto: don't know how to compare extension %d of %v", extNum, base) + return false + } + var err error + if m1 == nil { + m1, err = decodeExtension(e1.enc, desc) + } + if m2 == nil && err == nil { + m2, err = decodeExtension(e2.enc, desc) + } + if err != nil { + // The encoded form is invalid. + log.Printf("proto: badly encoded extension %d of %v: %v", extNum, base, err) + return false + } + if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) { + return false + } + } + + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/extensions.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/extensions.go new file mode 100644 index 0000000..fa88add --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/extensions.go @@ -0,0 +1,607 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Types and routines for supporting protocol buffer extensions. + */ + +import ( + "errors" + "fmt" + "io" + "reflect" + "strconv" + "sync" +) + +// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message. +var ErrMissingExtension = errors.New("proto: missing extension") + +// ExtensionRange represents a range of message extensions for a protocol buffer. +// Used in code generated by the protocol compiler. +type ExtensionRange struct { + Start, End int32 // both inclusive +} + +// extendableProto is an interface implemented by any protocol buffer generated by the current +// proto compiler that may be extended. +type extendableProto interface { + Message + ExtensionRangeArray() []ExtensionRange + extensionsWrite() map[int32]Extension + extensionsRead() (map[int32]Extension, sync.Locker) +} + +// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous +// version of the proto compiler that may be extended. +type extendableProtoV1 interface { + Message + ExtensionRangeArray() []ExtensionRange + ExtensionMap() map[int32]Extension +} + +// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto. +type extensionAdapter struct { + extendableProtoV1 +} + +func (e extensionAdapter) extensionsWrite() map[int32]Extension { + return e.ExtensionMap() +} + +func (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) { + return e.ExtensionMap(), notLocker{} +} + +// notLocker is a sync.Locker whose Lock and Unlock methods are nops. +type notLocker struct{} + +func (n notLocker) Lock() {} +func (n notLocker) Unlock() {} + +// extendable returns the extendableProto interface for the given generated proto message. +// If the proto message has the old extension format, it returns a wrapper that implements +// the extendableProto interface. +func extendable(p interface{}) (extendableProto, error) { + switch p := p.(type) { + case extendableProto: + if isNilPtr(p) { + return nil, fmt.Errorf("proto: nil %T is not extendable", p) + } + return p, nil + case extendableProtoV1: + if isNilPtr(p) { + return nil, fmt.Errorf("proto: nil %T is not extendable", p) + } + return extensionAdapter{p}, nil + } + // Don't allocate a specific error containing %T: + // this is the hot path for Clone and MarshalText. + return nil, errNotExtendable +} + +var errNotExtendable = errors.New("proto: not an extendable proto.Message") + +func isNilPtr(x interface{}) bool { + v := reflect.ValueOf(x) + return v.Kind() == reflect.Ptr && v.IsNil() +} + +// XXX_InternalExtensions is an internal representation of proto extensions. +// +// Each generated message struct type embeds an anonymous XXX_InternalExtensions field, +// thus gaining the unexported 'extensions' method, which can be called only from the proto package. +// +// The methods of XXX_InternalExtensions are not concurrency safe in general, +// but calls to logically read-only methods such as has and get may be executed concurrently. +type XXX_InternalExtensions struct { + // The struct must be indirect so that if a user inadvertently copies a + // generated message and its embedded XXX_InternalExtensions, they + // avoid the mayhem of a copied mutex. + // + // The mutex serializes all logically read-only operations to p.extensionMap. + // It is up to the client to ensure that write operations to p.extensionMap are + // mutually exclusive with other accesses. + p *struct { + mu sync.Mutex + extensionMap map[int32]Extension + } +} + +// extensionsWrite returns the extension map, creating it on first use. +func (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension { + if e.p == nil { + e.p = new(struct { + mu sync.Mutex + extensionMap map[int32]Extension + }) + e.p.extensionMap = make(map[int32]Extension) + } + return e.p.extensionMap +} + +// extensionsRead returns the extensions map for read-only use. It may be nil. +// The caller must hold the returned mutex's lock when accessing Elements within the map. +func (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) { + if e.p == nil { + return nil, nil + } + return e.p.extensionMap, &e.p.mu +} + +// ExtensionDesc represents an extension specification. +// Used in generated code from the protocol compiler. +type ExtensionDesc struct { + ExtendedType Message // nil pointer to the type that is being extended + ExtensionType interface{} // nil pointer to the extension type + Field int32 // field number + Name string // fully-qualified name of extension, for text formatting + Tag string // protobuf tag style + Filename string // name of the file in which the extension is defined +} + +func (ed *ExtensionDesc) repeated() bool { + t := reflect.TypeOf(ed.ExtensionType) + return t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 +} + +// Extension represents an extension in a message. +type Extension struct { + // When an extension is stored in a message using SetExtension + // only desc and value are set. When the message is marshaled + // enc will be set to the encoded form of the message. + // + // When a message is unmarshaled and contains extensions, each + // extension will have only enc set. When such an extension is + // accessed using GetExtension (or GetExtensions) desc and value + // will be set. + desc *ExtensionDesc + + // value is a concrete value for the extension field. Let the type of + // desc.ExtensionType be the "API type" and the type of Extension.value + // be the "storage type". The API type and storage type are the same except: + // * For scalars (except []byte), the API type uses *T, + // while the storage type uses T. + // * For repeated fields, the API type uses []T, while the storage type + // uses *[]T. + // + // The reason for the divergence is so that the storage type more naturally + // matches what is expected of when retrieving the values through the + // protobuf reflection APIs. + // + // The value may only be populated if desc is also populated. + value interface{} + + // enc is the raw bytes for the extension field. + enc []byte +} + +// SetRawExtension is for testing only. +func SetRawExtension(base Message, id int32, b []byte) { + epb, err := extendable(base) + if err != nil { + return + } + extmap := epb.extensionsWrite() + extmap[id] = Extension{enc: b} +} + +// isExtensionField returns true iff the given field number is in an extension range. +func isExtensionField(pb extendableProto, field int32) bool { + for _, er := range pb.ExtensionRangeArray() { + if er.Start <= field && field <= er.End { + return true + } + } + return false +} + +// checkExtensionTypes checks that the given extension is valid for pb. +func checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error { + var pbi interface{} = pb + // Check the extended type. + if ea, ok := pbi.(extensionAdapter); ok { + pbi = ea.extendableProtoV1 + } + if a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b { + return fmt.Errorf("proto: bad extended type; %v does not extend %v", b, a) + } + // Check the range. + if !isExtensionField(pb, extension.Field) { + return errors.New("proto: bad extension number; not in declared ranges") + } + return nil +} + +// extPropKey is sufficient to uniquely identify an extension. +type extPropKey struct { + base reflect.Type + field int32 +} + +var extProp = struct { + sync.RWMutex + m map[extPropKey]*Properties +}{ + m: make(map[extPropKey]*Properties), +} + +func extensionProperties(ed *ExtensionDesc) *Properties { + key := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field} + + extProp.RLock() + if prop, ok := extProp.m[key]; ok { + extProp.RUnlock() + return prop + } + extProp.RUnlock() + + extProp.Lock() + defer extProp.Unlock() + // Check again. + if prop, ok := extProp.m[key]; ok { + return prop + } + + prop := new(Properties) + prop.Init(reflect.TypeOf(ed.ExtensionType), "unknown_name", ed.Tag, nil) + extProp.m[key] = prop + return prop +} + +// HasExtension returns whether the given extension is present in pb. +func HasExtension(pb Message, extension *ExtensionDesc) bool { + // TODO: Check types, field numbers, etc.? + epb, err := extendable(pb) + if err != nil { + return false + } + extmap, mu := epb.extensionsRead() + if extmap == nil { + return false + } + mu.Lock() + _, ok := extmap[extension.Field] + mu.Unlock() + return ok +} + +// ClearExtension removes the given extension from pb. +func ClearExtension(pb Message, extension *ExtensionDesc) { + epb, err := extendable(pb) + if err != nil { + return + } + // TODO: Check types, field numbers, etc.? + extmap := epb.extensionsWrite() + delete(extmap, extension.Field) +} + +// GetExtension retrieves a proto2 extended field from pb. +// +// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil), +// then GetExtension parses the encoded field and returns a Go value of the specified type. +// If the field is not present, then the default value is returned (if one is specified), +// otherwise ErrMissingExtension is reported. +// +// If the descriptor is not type complete (i.e., ExtensionDesc.ExtensionType is nil), +// then GetExtension returns the raw encoded bytes of the field extension. +func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { + epb, err := extendable(pb) + if err != nil { + return nil, err + } + + if extension.ExtendedType != nil { + // can only check type if this is a complete descriptor + if err := checkExtensionTypes(epb, extension); err != nil { + return nil, err + } + } + + emap, mu := epb.extensionsRead() + if emap == nil { + return defaultExtensionValue(extension) + } + mu.Lock() + defer mu.Unlock() + e, ok := emap[extension.Field] + if !ok { + // defaultExtensionValue returns the default value or + // ErrMissingExtension if there is no default. + return defaultExtensionValue(extension) + } + + if e.value != nil { + // Already decoded. Check the descriptor, though. + if e.desc != extension { + // This shouldn't happen. If it does, it means that + // GetExtension was called twice with two different + // descriptors with the same field number. + return nil, errors.New("proto: descriptor conflict") + } + return extensionAsLegacyType(e.value), nil + } + + if extension.ExtensionType == nil { + // incomplete descriptor + return e.enc, nil + } + + v, err := decodeExtension(e.enc, extension) + if err != nil { + return nil, err + } + + // Remember the decoded version and drop the encoded version. + // That way it is safe to mutate what we return. + e.value = extensionAsStorageType(v) + e.desc = extension + e.enc = nil + emap[extension.Field] = e + return extensionAsLegacyType(e.value), nil +} + +// defaultExtensionValue returns the default value for extension. +// If no default for an extension is defined ErrMissingExtension is returned. +func defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) { + if extension.ExtensionType == nil { + // incomplete descriptor, so no default + return nil, ErrMissingExtension + } + + t := reflect.TypeOf(extension.ExtensionType) + props := extensionProperties(extension) + + sf, _, err := fieldDefault(t, props) + if err != nil { + return nil, err + } + + if sf == nil || sf.value == nil { + // There is no default value. + return nil, ErrMissingExtension + } + + if t.Kind() != reflect.Ptr { + // We do not need to return a Ptr, we can directly return sf.value. + return sf.value, nil + } + + // We need to return an interface{} that is a pointer to sf.value. + value := reflect.New(t).Elem() + value.Set(reflect.New(value.Type().Elem())) + if sf.kind == reflect.Int32 { + // We may have an int32 or an enum, but the underlying data is int32. + // Since we can't set an int32 into a non int32 reflect.value directly + // set it as a int32. + value.Elem().SetInt(int64(sf.value.(int32))) + } else { + value.Elem().Set(reflect.ValueOf(sf.value)) + } + return value.Interface(), nil +} + +// decodeExtension decodes an extension encoded in b. +func decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) { + t := reflect.TypeOf(extension.ExtensionType) + unmarshal := typeUnmarshaler(t, extension.Tag) + + // t is a pointer to a struct, pointer to basic type or a slice. + // Allocate space to store the pointer/slice. + value := reflect.New(t).Elem() + + var err error + for { + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + wire := int(x) & 7 + + b, err = unmarshal(b, valToPointer(value.Addr()), wire) + if err != nil { + return nil, err + } + + if len(b) == 0 { + break + } + } + return value.Interface(), nil +} + +// GetExtensions returns a slice of the extensions present in pb that are also listed in es. +// The returned slice has the same length as es; missing extensions will appear as nil elements. +func GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) { + epb, err := extendable(pb) + if err != nil { + return nil, err + } + extensions = make([]interface{}, len(es)) + for i, e := range es { + extensions[i], err = GetExtension(epb, e) + if err == ErrMissingExtension { + err = nil + } + if err != nil { + return + } + } + return +} + +// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order. +// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing +// just the Field field, which defines the extension's field number. +func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) { + epb, err := extendable(pb) + if err != nil { + return nil, err + } + registeredExtensions := RegisteredExtensions(pb) + + emap, mu := epb.extensionsRead() + if emap == nil { + return nil, nil + } + mu.Lock() + defer mu.Unlock() + extensions := make([]*ExtensionDesc, 0, len(emap)) + for extid, e := range emap { + desc := e.desc + if desc == nil { + desc = registeredExtensions[extid] + if desc == nil { + desc = &ExtensionDesc{Field: extid} + } + } + + extensions = append(extensions, desc) + } + return extensions, nil +} + +// SetExtension sets the specified extension of pb to the specified value. +func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error { + epb, err := extendable(pb) + if err != nil { + return err + } + if err := checkExtensionTypes(epb, extension); err != nil { + return err + } + typ := reflect.TypeOf(extension.ExtensionType) + if typ != reflect.TypeOf(value) { + return fmt.Errorf("proto: bad extension value type. got: %T, want: %T", value, extension.ExtensionType) + } + // nil extension values need to be caught early, because the + // encoder can't distinguish an ErrNil due to a nil extension + // from an ErrNil due to a missing field. Extensions are + // always optional, so the encoder would just swallow the error + // and drop all the extensions from the encoded message. + if reflect.ValueOf(value).IsNil() { + return fmt.Errorf("proto: SetExtension called with nil value of type %T", value) + } + + extmap := epb.extensionsWrite() + extmap[extension.Field] = Extension{desc: extension, value: extensionAsStorageType(value)} + return nil +} + +// ClearAllExtensions clears all extensions from pb. +func ClearAllExtensions(pb Message) { + epb, err := extendable(pb) + if err != nil { + return + } + m := epb.extensionsWrite() + for k := range m { + delete(m, k) + } +} + +// A global registry of extensions. +// The generated code will register the generated descriptors by calling RegisterExtension. + +var extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc) + +// RegisterExtension is called from the generated code. +func RegisterExtension(desc *ExtensionDesc) { + st := reflect.TypeOf(desc.ExtendedType).Elem() + m := extensionMaps[st] + if m == nil { + m = make(map[int32]*ExtensionDesc) + extensionMaps[st] = m + } + if _, ok := m[desc.Field]; ok { + panic("proto: duplicate extension registered: " + st.String() + " " + strconv.Itoa(int(desc.Field))) + } + m[desc.Field] = desc +} + +// RegisteredExtensions returns a map of the registered extensions of a +// protocol buffer struct, indexed by the extension number. +// The argument pb should be a nil pointer to the struct type. +func RegisteredExtensions(pb Message) map[int32]*ExtensionDesc { + return extensionMaps[reflect.TypeOf(pb).Elem()] +} + +// extensionAsLegacyType converts an value in the storage type as the API type. +// See Extension.value. +func extensionAsLegacyType(v interface{}) interface{} { + switch rv := reflect.ValueOf(v); rv.Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + // Represent primitive types as a pointer to the value. + rv2 := reflect.New(rv.Type()) + rv2.Elem().Set(rv) + v = rv2.Interface() + case reflect.Ptr: + // Represent slice types as the value itself. + switch rv.Type().Elem().Kind() { + case reflect.Slice: + if rv.IsNil() { + v = reflect.Zero(rv.Type().Elem()).Interface() + } else { + v = rv.Elem().Interface() + } + } + } + return v +} + +// extensionAsStorageType converts an value in the API type as the storage type. +// See Extension.value. +func extensionAsStorageType(v interface{}) interface{} { + switch rv := reflect.ValueOf(v); rv.Kind() { + case reflect.Ptr: + // Represent slice types as the value itself. + switch rv.Type().Elem().Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + if rv.IsNil() { + v = reflect.Zero(rv.Type().Elem()).Interface() + } else { + v = rv.Elem().Interface() + } + } + case reflect.Slice: + // Represent slice types as a pointer to the value. + if rv.Type().Elem().Kind() != reflect.Uint8 { + rv2 := reflect.New(rv.Type()) + rv2.Elem().Set(rv) + v = rv2.Interface() + } + } + return v +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/lib.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/lib.go new file mode 100644 index 0000000..fdd328b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/lib.go @@ -0,0 +1,965 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* +Package proto converts data structures to and from the wire format of +protocol buffers. It works in concert with the Go source code generated +for .proto files by the protocol compiler. + +A summary of the properties of the protocol buffer interface +for a protocol buffer variable v: + + - Names are turned from camel_case to CamelCase for export. + - There are no methods on v to set fields; just treat + them as structure fields. + - There are getters that return a field's value if set, + and return the field's default value if unset. + The getters work even if the receiver is a nil message. + - The zero value for a struct is its correct initialization state. + All desired fields must be set before marshaling. + - A Reset() method will restore a protobuf struct to its zero state. + - Non-repeated fields are pointers to the values; nil means unset. + That is, optional or required field int32 f becomes F *int32. + - Repeated fields are slices. + - Helper functions are available to aid the setting of fields. + msg.Foo = proto.String("hello") // set field + - Constants are defined to hold the default values of all fields that + have them. They have the form Default_StructName_FieldName. + Because the getter methods handle defaulted values, + direct use of these constants should be rare. + - Enums are given type names and maps from names to values. + Enum values are prefixed by the enclosing message's name, or by the + enum's type name if it is a top-level enum. Enum types have a String + method, and a Enum method to assist in message construction. + - Nested messages, groups and enums have type names prefixed with the name of + the surrounding message type. + - Extensions are given descriptor names that start with E_, + followed by an underscore-delimited list of the nested messages + that contain it (if any) followed by the CamelCased name of the + extension field itself. HasExtension, ClearExtension, GetExtension + and SetExtension are functions for manipulating extensions. + - Oneof field sets are given a single field in their message, + with distinguished wrapper types for each possible field value. + - Marshal and Unmarshal are functions to encode and decode the wire format. + +When the .proto file specifies `syntax="proto3"`, there are some differences: + + - Non-repeated fields of non-message type are values instead of pointers. + - Enum types do not get an Enum method. + +The simplest way to describe this is to see an example. +Given file test.proto, containing + + package example; + + enum FOO { X = 17; } + + message Test { + required string label = 1; + optional int32 type = 2 [default=77]; + repeated int64 reps = 3; + optional group OptionalGroup = 4 { + required string RequiredField = 5; + } + oneof union { + int32 number = 6; + string name = 7; + } + } + +The resulting file, test.pb.go, is: + + package example + + import proto "github.com/golang/protobuf/proto" + import math "math" + + type FOO int32 + const ( + FOO_X FOO = 17 + ) + var FOO_name = map[int32]string{ + 17: "X", + } + var FOO_value = map[string]int32{ + "X": 17, + } + + func (x FOO) Enum() *FOO { + p := new(FOO) + *p = x + return p + } + func (x FOO) String() string { + return proto.EnumName(FOO_name, int32(x)) + } + func (x *FOO) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(FOO_value, data) + if err != nil { + return err + } + *x = FOO(value) + return nil + } + + type Test struct { + Label *string `protobuf:"bytes,1,req,name=label" json:"label,omitempty"` + Type *int32 `protobuf:"varint,2,opt,name=type,def=77" json:"type,omitempty"` + Reps []int64 `protobuf:"varint,3,rep,name=reps" json:"reps,omitempty"` + Optionalgroup *Test_OptionalGroup `protobuf:"group,4,opt,name=OptionalGroup" json:"optionalgroup,omitempty"` + // Types that are valid to be assigned to Union: + // *Test_Number + // *Test_Name + Union isTest_Union `protobuf_oneof:"union"` + XXX_unrecognized []byte `json:"-"` + } + func (m *Test) Reset() { *m = Test{} } + func (m *Test) String() string { return proto.CompactTextString(m) } + func (*Test) ProtoMessage() {} + + type isTest_Union interface { + isTest_Union() + } + + type Test_Number struct { + Number int32 `protobuf:"varint,6,opt,name=number"` + } + type Test_Name struct { + Name string `protobuf:"bytes,7,opt,name=name"` + } + + func (*Test_Number) isTest_Union() {} + func (*Test_Name) isTest_Union() {} + + func (m *Test) GetUnion() isTest_Union { + if m != nil { + return m.Union + } + return nil + } + const Default_Test_Type int32 = 77 + + func (m *Test) GetLabel() string { + if m != nil && m.Label != nil { + return *m.Label + } + return "" + } + + func (m *Test) GetType() int32 { + if m != nil && m.Type != nil { + return *m.Type + } + return Default_Test_Type + } + + func (m *Test) GetOptionalgroup() *Test_OptionalGroup { + if m != nil { + return m.Optionalgroup + } + return nil + } + + type Test_OptionalGroup struct { + RequiredField *string `protobuf:"bytes,5,req" json:"RequiredField,omitempty"` + } + func (m *Test_OptionalGroup) Reset() { *m = Test_OptionalGroup{} } + func (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) } + + func (m *Test_OptionalGroup) GetRequiredField() string { + if m != nil && m.RequiredField != nil { + return *m.RequiredField + } + return "" + } + + func (m *Test) GetNumber() int32 { + if x, ok := m.GetUnion().(*Test_Number); ok { + return x.Number + } + return 0 + } + + func (m *Test) GetName() string { + if x, ok := m.GetUnion().(*Test_Name); ok { + return x.Name + } + return "" + } + + func init() { + proto.RegisterEnum("example.FOO", FOO_name, FOO_value) + } + +To create and play with a Test object: + + package main + + import ( + "log" + + "github.com/golang/protobuf/proto" + pb "./example.pb" + ) + + func main() { + test := &pb.Test{ + Label: proto.String("hello"), + Type: proto.Int32(17), + Reps: []int64{1, 2, 3}, + Optionalgroup: &pb.Test_OptionalGroup{ + RequiredField: proto.String("good bye"), + }, + Union: &pb.Test_Name{"fred"}, + } + data, err := proto.Marshal(test) + if err != nil { + log.Fatal("marshaling error: ", err) + } + newTest := &pb.Test{} + err = proto.Unmarshal(data, newTest) + if err != nil { + log.Fatal("unmarshaling error: ", err) + } + // Now test and newTest contain the same data. + if test.GetLabel() != newTest.GetLabel() { + log.Fatalf("data mismatch %q != %q", test.GetLabel(), newTest.GetLabel()) + } + // Use a type switch to determine which oneof was set. + switch u := test.Union.(type) { + case *pb.Test_Number: // u.Number contains the number. + case *pb.Test_Name: // u.Name contains the string. + } + // etc. + } +*/ +package proto + +import ( + "encoding/json" + "fmt" + "log" + "reflect" + "sort" + "strconv" + "sync" +) + +// RequiredNotSetError is an error type returned by either Marshal or Unmarshal. +// Marshal reports this when a required field is not initialized. +// Unmarshal reports this when a required field is missing from the wire data. +type RequiredNotSetError struct{ field string } + +func (e *RequiredNotSetError) Error() string { + if e.field == "" { + return fmt.Sprintf("proto: required field not set") + } + return fmt.Sprintf("proto: required field %q not set", e.field) +} +func (e *RequiredNotSetError) RequiredNotSet() bool { + return true +} + +type invalidUTF8Error struct{ field string } + +func (e *invalidUTF8Error) Error() string { + if e.field == "" { + return "proto: invalid UTF-8 detected" + } + return fmt.Sprintf("proto: field %q contains invalid UTF-8", e.field) +} +func (e *invalidUTF8Error) InvalidUTF8() bool { + return true +} + +// errInvalidUTF8 is a sentinel error to identify fields with invalid UTF-8. +// This error should not be exposed to the external API as such errors should +// be recreated with the field information. +var errInvalidUTF8 = &invalidUTF8Error{} + +// isNonFatal reports whether the error is either a RequiredNotSet error +// or a InvalidUTF8 error. +func isNonFatal(err error) bool { + if re, ok := err.(interface{ RequiredNotSet() bool }); ok && re.RequiredNotSet() { + return true + } + if re, ok := err.(interface{ InvalidUTF8() bool }); ok && re.InvalidUTF8() { + return true + } + return false +} + +type nonFatal struct{ E error } + +// Merge merges err into nf and reports whether it was successful. +// Otherwise it returns false for any fatal non-nil errors. +func (nf *nonFatal) Merge(err error) (ok bool) { + if err == nil { + return true // not an error + } + if !isNonFatal(err) { + return false // fatal error + } + if nf.E == nil { + nf.E = err // store first instance of non-fatal error + } + return true +} + +// Message is implemented by generated protocol buffer messages. +type Message interface { + Reset() + String() string + ProtoMessage() +} + +// A Buffer is a buffer manager for marshaling and unmarshaling +// protocol buffers. It may be reused between invocations to +// reduce memory usage. It is not necessary to use a Buffer; +// the global functions Marshal and Unmarshal create a +// temporary Buffer and are fine for most applications. +type Buffer struct { + buf []byte // encode/decode byte stream + index int // read point + + deterministic bool +} + +// NewBuffer allocates a new Buffer and initializes its internal data to +// the contents of the argument slice. +func NewBuffer(e []byte) *Buffer { + return &Buffer{buf: e} +} + +// Reset resets the Buffer, ready for marshaling a new protocol buffer. +func (p *Buffer) Reset() { + p.buf = p.buf[0:0] // for reading/writing + p.index = 0 // for reading +} + +// SetBuf replaces the internal buffer with the slice, +// ready for unmarshaling the contents of the slice. +func (p *Buffer) SetBuf(s []byte) { + p.buf = s + p.index = 0 +} + +// Bytes returns the contents of the Buffer. +func (p *Buffer) Bytes() []byte { return p.buf } + +// SetDeterministic sets whether to use deterministic serialization. +// +// Deterministic serialization guarantees that for a given binary, equal +// messages will always be serialized to the same bytes. This implies: +// +// - Repeated serialization of a message will return the same bytes. +// - Different processes of the same binary (which may be executing on +// different machines) will serialize equal messages to the same bytes. +// +// Note that the deterministic serialization is NOT canonical across +// languages. It is not guaranteed to remain stable over time. It is unstable +// across different builds with schema changes due to unknown fields. +// Users who need canonical serialization (e.g., persistent storage in a +// canonical form, fingerprinting, etc.) should define their own +// canonicalization specification and implement their own serializer rather +// than relying on this API. +// +// If deterministic serialization is requested, map entries will be sorted +// by keys in lexographical order. This is an implementation detail and +// subject to change. +func (p *Buffer) SetDeterministic(deterministic bool) { + p.deterministic = deterministic +} + +/* + * Helper routines for simplifying the creation of optional fields of basic type. + */ + +// Bool is a helper routine that allocates a new bool value +// to store v and returns a pointer to it. +func Bool(v bool) *bool { + return &v +} + +// Int32 is a helper routine that allocates a new int32 value +// to store v and returns a pointer to it. +func Int32(v int32) *int32 { + return &v +} + +// Int is a helper routine that allocates a new int32 value +// to store v and returns a pointer to it, but unlike Int32 +// its argument value is an int. +func Int(v int) *int32 { + p := new(int32) + *p = int32(v) + return p +} + +// Int64 is a helper routine that allocates a new int64 value +// to store v and returns a pointer to it. +func Int64(v int64) *int64 { + return &v +} + +// Float32 is a helper routine that allocates a new float32 value +// to store v and returns a pointer to it. +func Float32(v float32) *float32 { + return &v +} + +// Float64 is a helper routine that allocates a new float64 value +// to store v and returns a pointer to it. +func Float64(v float64) *float64 { + return &v +} + +// Uint32 is a helper routine that allocates a new uint32 value +// to store v and returns a pointer to it. +func Uint32(v uint32) *uint32 { + return &v +} + +// Uint64 is a helper routine that allocates a new uint64 value +// to store v and returns a pointer to it. +func Uint64(v uint64) *uint64 { + return &v +} + +// String is a helper routine that allocates a new string value +// to store v and returns a pointer to it. +func String(v string) *string { + return &v +} + +// EnumName is a helper function to simplify printing protocol buffer enums +// by name. Given an enum map and a value, it returns a useful string. +func EnumName(m map[int32]string, v int32) string { + s, ok := m[v] + if ok { + return s + } + return strconv.Itoa(int(v)) +} + +// UnmarshalJSONEnum is a helper function to simplify recovering enum int values +// from their JSON-encoded representation. Given a map from the enum's symbolic +// names to its int values, and a byte buffer containing the JSON-encoded +// value, it returns an int32 that can be cast to the enum type by the caller. +// +// The function can deal with both JSON representations, numeric and symbolic. +func UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) { + if data[0] == '"' { + // New style: enums are strings. + var repr string + if err := json.Unmarshal(data, &repr); err != nil { + return -1, err + } + val, ok := m[repr] + if !ok { + return 0, fmt.Errorf("unrecognized enum %s value %q", enumName, repr) + } + return val, nil + } + // Old style: enums are ints. + var val int32 + if err := json.Unmarshal(data, &val); err != nil { + return 0, fmt.Errorf("cannot unmarshal %#q into enum %s", data, enumName) + } + return val, nil +} + +// DebugPrint dumps the encoded data in b in a debugging format with a header +// including the string s. Used in testing but made available for general debugging. +func (p *Buffer) DebugPrint(s string, b []byte) { + var u uint64 + + obuf := p.buf + index := p.index + p.buf = b + p.index = 0 + depth := 0 + + fmt.Printf("\n--- %s ---\n", s) + +out: + for { + for i := 0; i < depth; i++ { + fmt.Print(" ") + } + + index := p.index + if index == len(p.buf) { + break + } + + op, err := p.DecodeVarint() + if err != nil { + fmt.Printf("%3d: fetching op err %v\n", index, err) + break out + } + tag := op >> 3 + wire := op & 7 + + switch wire { + default: + fmt.Printf("%3d: t=%3d unknown wire=%d\n", + index, tag, wire) + break out + + case WireBytes: + var r []byte + + r, err = p.DecodeRawBytes(false) + if err != nil { + break out + } + fmt.Printf("%3d: t=%3d bytes [%d]", index, tag, len(r)) + if len(r) <= 6 { + for i := 0; i < len(r); i++ { + fmt.Printf(" %.2x", r[i]) + } + } else { + for i := 0; i < 3; i++ { + fmt.Printf(" %.2x", r[i]) + } + fmt.Printf(" ..") + for i := len(r) - 3; i < len(r); i++ { + fmt.Printf(" %.2x", r[i]) + } + } + fmt.Printf("\n") + + case WireFixed32: + u, err = p.DecodeFixed32() + if err != nil { + fmt.Printf("%3d: t=%3d fix32 err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d fix32 %d\n", index, tag, u) + + case WireFixed64: + u, err = p.DecodeFixed64() + if err != nil { + fmt.Printf("%3d: t=%3d fix64 err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d fix64 %d\n", index, tag, u) + + case WireVarint: + u, err = p.DecodeVarint() + if err != nil { + fmt.Printf("%3d: t=%3d varint err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d varint %d\n", index, tag, u) + + case WireStartGroup: + fmt.Printf("%3d: t=%3d start\n", index, tag) + depth++ + + case WireEndGroup: + depth-- + fmt.Printf("%3d: t=%3d end\n", index, tag) + } + } + + if depth != 0 { + fmt.Printf("%3d: start-end not balanced %d\n", p.index, depth) + } + fmt.Printf("\n") + + p.buf = obuf + p.index = index +} + +// SetDefaults sets unset protocol buffer fields to their default values. +// It only modifies fields that are both unset and have defined defaults. +// It recursively sets default values in any non-nil sub-messages. +func SetDefaults(pb Message) { + setDefaults(reflect.ValueOf(pb), true, false) +} + +// v is a pointer to a struct. +func setDefaults(v reflect.Value, recur, zeros bool) { + v = v.Elem() + + defaultMu.RLock() + dm, ok := defaults[v.Type()] + defaultMu.RUnlock() + if !ok { + dm = buildDefaultMessage(v.Type()) + defaultMu.Lock() + defaults[v.Type()] = dm + defaultMu.Unlock() + } + + for _, sf := range dm.scalars { + f := v.Field(sf.index) + if !f.IsNil() { + // field already set + continue + } + dv := sf.value + if dv == nil && !zeros { + // no explicit default, and don't want to set zeros + continue + } + fptr := f.Addr().Interface() // **T + // TODO: Consider batching the allocations we do here. + switch sf.kind { + case reflect.Bool: + b := new(bool) + if dv != nil { + *b = dv.(bool) + } + *(fptr.(**bool)) = b + case reflect.Float32: + f := new(float32) + if dv != nil { + *f = dv.(float32) + } + *(fptr.(**float32)) = f + case reflect.Float64: + f := new(float64) + if dv != nil { + *f = dv.(float64) + } + *(fptr.(**float64)) = f + case reflect.Int32: + // might be an enum + if ft := f.Type(); ft != int32PtrType { + // enum + f.Set(reflect.New(ft.Elem())) + if dv != nil { + f.Elem().SetInt(int64(dv.(int32))) + } + } else { + // int32 field + i := new(int32) + if dv != nil { + *i = dv.(int32) + } + *(fptr.(**int32)) = i + } + case reflect.Int64: + i := new(int64) + if dv != nil { + *i = dv.(int64) + } + *(fptr.(**int64)) = i + case reflect.String: + s := new(string) + if dv != nil { + *s = dv.(string) + } + *(fptr.(**string)) = s + case reflect.Uint8: + // exceptional case: []byte + var b []byte + if dv != nil { + db := dv.([]byte) + b = make([]byte, len(db)) + copy(b, db) + } else { + b = []byte{} + } + *(fptr.(*[]byte)) = b + case reflect.Uint32: + u := new(uint32) + if dv != nil { + *u = dv.(uint32) + } + *(fptr.(**uint32)) = u + case reflect.Uint64: + u := new(uint64) + if dv != nil { + *u = dv.(uint64) + } + *(fptr.(**uint64)) = u + default: + log.Printf("proto: can't set default for field %v (sf.kind=%v)", f, sf.kind) + } + } + + for _, ni := range dm.nested { + f := v.Field(ni) + // f is *T or []*T or map[T]*T + switch f.Kind() { + case reflect.Ptr: + if f.IsNil() { + continue + } + setDefaults(f, recur, zeros) + + case reflect.Slice: + for i := 0; i < f.Len(); i++ { + e := f.Index(i) + if e.IsNil() { + continue + } + setDefaults(e, recur, zeros) + } + + case reflect.Map: + for _, k := range f.MapKeys() { + e := f.MapIndex(k) + if e.IsNil() { + continue + } + setDefaults(e, recur, zeros) + } + } + } +} + +var ( + // defaults maps a protocol buffer struct type to a slice of the fields, + // with its scalar fields set to their proto-declared non-zero default values. + defaultMu sync.RWMutex + defaults = make(map[reflect.Type]defaultMessage) + + int32PtrType = reflect.TypeOf((*int32)(nil)) +) + +// defaultMessage represents information about the default values of a message. +type defaultMessage struct { + scalars []scalarField + nested []int // struct field index of nested messages +} + +type scalarField struct { + index int // struct field index + kind reflect.Kind // element type (the T in *T or []T) + value interface{} // the proto-declared default value, or nil +} + +// t is a struct type. +func buildDefaultMessage(t reflect.Type) (dm defaultMessage) { + sprop := GetProperties(t) + for _, prop := range sprop.Prop { + fi, ok := sprop.decoderTags.get(prop.Tag) + if !ok { + // XXX_unrecognized + continue + } + ft := t.Field(fi).Type + + sf, nested, err := fieldDefault(ft, prop) + switch { + case err != nil: + log.Print(err) + case nested: + dm.nested = append(dm.nested, fi) + case sf != nil: + sf.index = fi + dm.scalars = append(dm.scalars, *sf) + } + } + + return dm +} + +// fieldDefault returns the scalarField for field type ft. +// sf will be nil if the field can not have a default. +// nestedMessage will be true if this is a nested message. +// Note that sf.index is not set on return. +func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) { + var canHaveDefault bool + switch ft.Kind() { + case reflect.Ptr: + if ft.Elem().Kind() == reflect.Struct { + nestedMessage = true + } else { + canHaveDefault = true // proto2 scalar field + } + + case reflect.Slice: + switch ft.Elem().Kind() { + case reflect.Ptr: + nestedMessage = true // repeated message + case reflect.Uint8: + canHaveDefault = true // bytes field + } + + case reflect.Map: + if ft.Elem().Kind() == reflect.Ptr { + nestedMessage = true // map with message values + } + } + + if !canHaveDefault { + if nestedMessage { + return nil, true, nil + } + return nil, false, nil + } + + // We now know that ft is a pointer or slice. + sf = &scalarField{kind: ft.Elem().Kind()} + + // scalar fields without defaults + if !prop.HasDefault { + return sf, false, nil + } + + // a scalar field: either *T or []byte + switch ft.Elem().Kind() { + case reflect.Bool: + x, err := strconv.ParseBool(prop.Default) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default bool %q: %v", prop.Default, err) + } + sf.value = x + case reflect.Float32: + x, err := strconv.ParseFloat(prop.Default, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default float32 %q: %v", prop.Default, err) + } + sf.value = float32(x) + case reflect.Float64: + x, err := strconv.ParseFloat(prop.Default, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default float64 %q: %v", prop.Default, err) + } + sf.value = x + case reflect.Int32: + x, err := strconv.ParseInt(prop.Default, 10, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default int32 %q: %v", prop.Default, err) + } + sf.value = int32(x) + case reflect.Int64: + x, err := strconv.ParseInt(prop.Default, 10, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default int64 %q: %v", prop.Default, err) + } + sf.value = x + case reflect.String: + sf.value = prop.Default + case reflect.Uint8: + // []byte (not *uint8) + sf.value = []byte(prop.Default) + case reflect.Uint32: + x, err := strconv.ParseUint(prop.Default, 10, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default uint32 %q: %v", prop.Default, err) + } + sf.value = uint32(x) + case reflect.Uint64: + x, err := strconv.ParseUint(prop.Default, 10, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default uint64 %q: %v", prop.Default, err) + } + sf.value = x + default: + return nil, false, fmt.Errorf("proto: unhandled def kind %v", ft.Elem().Kind()) + } + + return sf, false, nil +} + +// mapKeys returns a sort.Interface to be used for sorting the map keys. +// Map fields may have key types of non-float scalars, strings and enums. +func mapKeys(vs []reflect.Value) sort.Interface { + s := mapKeySorter{vs: vs} + + // Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps. + if len(vs) == 0 { + return s + } + switch vs[0].Kind() { + case reflect.Int32, reflect.Int64: + s.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() } + case reflect.Uint32, reflect.Uint64: + s.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() } + case reflect.Bool: + s.less = func(a, b reflect.Value) bool { return !a.Bool() && b.Bool() } // false < true + case reflect.String: + s.less = func(a, b reflect.Value) bool { return a.String() < b.String() } + default: + panic(fmt.Sprintf("unsupported map key type: %v", vs[0].Kind())) + } + + return s +} + +type mapKeySorter struct { + vs []reflect.Value + less func(a, b reflect.Value) bool +} + +func (s mapKeySorter) Len() int { return len(s.vs) } +func (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] } +func (s mapKeySorter) Less(i, j int) bool { + return s.less(s.vs[i], s.vs[j]) +} + +// isProto3Zero reports whether v is a zero proto3 value. +func isProto3Zero(v reflect.Value) bool { + switch v.Kind() { + case reflect.Bool: + return !v.Bool() + case reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint32, reflect.Uint64: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.String: + return v.String() == "" + } + return false +} + +const ( + // ProtoPackageIsVersion3 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion3 = true + + // ProtoPackageIsVersion2 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion2 = true + + // ProtoPackageIsVersion1 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion1 = true +) + +// InternalMessageInfo is a type used internally by generated .pb.go files. +// This type is not intended to be used by non-generated code. +// This type is not subject to any compatibility guarantee. +type InternalMessageInfo struct { + marshal *marshalInfo + unmarshal *unmarshalInfo + merge *mergeInfo + discard *discardInfo +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/message_set.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/message_set.go new file mode 100644 index 0000000..f48a756 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/message_set.go @@ -0,0 +1,181 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Support for message sets. + */ + +import ( + "errors" +) + +// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID. +// A message type ID is required for storing a protocol buffer in a message set. +var errNoMessageTypeID = errors.New("proto does not have a message type ID") + +// The first two types (_MessageSet_Item and messageSet) +// model what the protocol compiler produces for the following protocol message: +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// }; +// } +// That is the MessageSet wire format. We can't use a proto to generate these +// because that would introduce a circular dependency between it and this package. + +type _MessageSet_Item struct { + TypeId *int32 `protobuf:"varint,2,req,name=type_id"` + Message []byte `protobuf:"bytes,3,req,name=message"` +} + +type messageSet struct { + Item []*_MessageSet_Item `protobuf:"group,1,rep"` + XXX_unrecognized []byte + // TODO: caching? +} + +// Make sure messageSet is a Message. +var _ Message = (*messageSet)(nil) + +// messageTypeIder is an interface satisfied by a protocol buffer type +// that may be stored in a MessageSet. +type messageTypeIder interface { + MessageTypeId() int32 +} + +func (ms *messageSet) find(pb Message) *_MessageSet_Item { + mti, ok := pb.(messageTypeIder) + if !ok { + return nil + } + id := mti.MessageTypeId() + for _, item := range ms.Item { + if *item.TypeId == id { + return item + } + } + return nil +} + +func (ms *messageSet) Has(pb Message) bool { + return ms.find(pb) != nil +} + +func (ms *messageSet) Unmarshal(pb Message) error { + if item := ms.find(pb); item != nil { + return Unmarshal(item.Message, pb) + } + if _, ok := pb.(messageTypeIder); !ok { + return errNoMessageTypeID + } + return nil // TODO: return error instead? +} + +func (ms *messageSet) Marshal(pb Message) error { + msg, err := Marshal(pb) + if err != nil { + return err + } + if item := ms.find(pb); item != nil { + // reuse existing item + item.Message = msg + return nil + } + + mti, ok := pb.(messageTypeIder) + if !ok { + return errNoMessageTypeID + } + + mtid := mti.MessageTypeId() + ms.Item = append(ms.Item, &_MessageSet_Item{ + TypeId: &mtid, + Message: msg, + }) + return nil +} + +func (ms *messageSet) Reset() { *ms = messageSet{} } +func (ms *messageSet) String() string { return CompactTextString(ms) } +func (*messageSet) ProtoMessage() {} + +// Support for the message_set_wire_format message option. + +func skipVarint(buf []byte) []byte { + i := 0 + for ; buf[i]&0x80 != 0; i++ { + } + return buf[i+1:] +} + +// unmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. +// It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option. +func unmarshalMessageSet(buf []byte, exts interface{}) error { + var m map[int32]Extension + switch exts := exts.(type) { + case *XXX_InternalExtensions: + m = exts.extensionsWrite() + case map[int32]Extension: + m = exts + default: + return errors.New("proto: not an extension map") + } + + ms := new(messageSet) + if err := Unmarshal(buf, ms); err != nil { + return err + } + for _, item := range ms.Item { + id := *item.TypeId + msg := item.Message + + // Restore wire type and field number varint, plus length varint. + // Be careful to preserve duplicate items. + b := EncodeVarint(uint64(id)<<3 | WireBytes) + if ext, ok := m[id]; ok { + // Existing data; rip off the tag and length varint + // so we join the new data correctly. + // We can assume that ext.enc is set because we are unmarshaling. + o := ext.enc[len(b):] // skip wire type and field number + _, n := DecodeVarint(o) // calculate length of length varint + o = o[n:] // skip length varint + msg = append(o, msg...) // join old data and new data + } + b = append(b, EncodeVarint(uint64(len(msg)))...) + b = append(b, msg...) + + m[id] = Extension{enc: b} + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_reflect.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_reflect.go new file mode 100644 index 0000000..94fa919 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_reflect.go @@ -0,0 +1,360 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2012 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// +build purego appengine js + +// This file contains an implementation of proto field accesses using package reflect. +// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can +// be used on App Engine. + +package proto + +import ( + "reflect" + "sync" +) + +const unsafeAllowed = false + +// A field identifies a field in a struct, accessible from a pointer. +// In this implementation, a field is identified by the sequence of field indices +// passed to reflect's FieldByIndex. +type field []int + +// toField returns a field equivalent to the given reflect field. +func toField(f *reflect.StructField) field { + return f.Index +} + +// invalidField is an invalid field identifier. +var invalidField = field(nil) + +// zeroField is a noop when calling pointer.offset. +var zeroField = field([]int{}) + +// IsValid reports whether the field identifier is valid. +func (f field) IsValid() bool { return f != nil } + +// The pointer type is for the table-driven decoder. +// The implementation here uses a reflect.Value of pointer type to +// create a generic pointer. In pointer_unsafe.go we use unsafe +// instead of reflect to implement the same (but faster) interface. +type pointer struct { + v reflect.Value +} + +// toPointer converts an interface of pointer type to a pointer +// that points to the same target. +func toPointer(i *Message) pointer { + return pointer{v: reflect.ValueOf(*i)} +} + +// toAddrPointer converts an interface to a pointer that points to +// the interface data. +func toAddrPointer(i *interface{}, isptr, deref bool) pointer { + v := reflect.ValueOf(*i) + u := reflect.New(v.Type()) + u.Elem().Set(v) + if deref { + u = u.Elem() + } + return pointer{v: u} +} + +// valToPointer converts v to a pointer. v must be of pointer type. +func valToPointer(v reflect.Value) pointer { + return pointer{v: v} +} + +// offset converts from a pointer to a structure to a pointer to +// one of its fields. +func (p pointer) offset(f field) pointer { + return pointer{v: p.v.Elem().FieldByIndex(f).Addr()} +} + +func (p pointer) isNil() bool { + return p.v.IsNil() +} + +// grow updates the slice s in place to make it one element longer. +// s must be addressable. +// Returns the (addressable) new element. +func grow(s reflect.Value) reflect.Value { + n, m := s.Len(), s.Cap() + if n < m { + s.SetLen(n + 1) + } else { + s.Set(reflect.Append(s, reflect.Zero(s.Type().Elem()))) + } + return s.Index(n) +} + +func (p pointer) toInt64() *int64 { + return p.v.Interface().(*int64) +} +func (p pointer) toInt64Ptr() **int64 { + return p.v.Interface().(**int64) +} +func (p pointer) toInt64Slice() *[]int64 { + return p.v.Interface().(*[]int64) +} + +var int32ptr = reflect.TypeOf((*int32)(nil)) + +func (p pointer) toInt32() *int32 { + return p.v.Convert(int32ptr).Interface().(*int32) +} + +// The toInt32Ptr/Slice methods don't work because of enums. +// Instead, we must use set/get methods for the int32ptr/slice case. +/* + func (p pointer) toInt32Ptr() **int32 { + return p.v.Interface().(**int32) +} + func (p pointer) toInt32Slice() *[]int32 { + return p.v.Interface().(*[]int32) +} +*/ +func (p pointer) getInt32Ptr() *int32 { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + return p.v.Elem().Interface().(*int32) + } + // an enum + return p.v.Elem().Convert(int32PtrType).Interface().(*int32) +} +func (p pointer) setInt32Ptr(v int32) { + // Allocate value in a *int32. Possibly convert that to a *enum. + // Then assign it to a **int32 or **enum. + // Note: we can convert *int32 to *enum, but we can't convert + // **int32 to **enum! + p.v.Elem().Set(reflect.ValueOf(&v).Convert(p.v.Type().Elem())) +} + +// getInt32Slice copies []int32 from p as a new slice. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) getInt32Slice() []int32 { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + return p.v.Elem().Interface().([]int32) + } + // an enum + // Allocate a []int32, then assign []enum's values into it. + // Note: we can't convert []enum to []int32. + slice := p.v.Elem() + s := make([]int32, slice.Len()) + for i := 0; i < slice.Len(); i++ { + s[i] = int32(slice.Index(i).Int()) + } + return s +} + +// setInt32Slice copies []int32 into p as a new slice. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) setInt32Slice(v []int32) { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + p.v.Elem().Set(reflect.ValueOf(v)) + return + } + // an enum + // Allocate a []enum, then assign []int32's values into it. + // Note: we can't convert []enum to []int32. + slice := reflect.MakeSlice(p.v.Type().Elem(), len(v), cap(v)) + for i, x := range v { + slice.Index(i).SetInt(int64(x)) + } + p.v.Elem().Set(slice) +} +func (p pointer) appendInt32Slice(v int32) { + grow(p.v.Elem()).SetInt(int64(v)) +} + +func (p pointer) toUint64() *uint64 { + return p.v.Interface().(*uint64) +} +func (p pointer) toUint64Ptr() **uint64 { + return p.v.Interface().(**uint64) +} +func (p pointer) toUint64Slice() *[]uint64 { + return p.v.Interface().(*[]uint64) +} +func (p pointer) toUint32() *uint32 { + return p.v.Interface().(*uint32) +} +func (p pointer) toUint32Ptr() **uint32 { + return p.v.Interface().(**uint32) +} +func (p pointer) toUint32Slice() *[]uint32 { + return p.v.Interface().(*[]uint32) +} +func (p pointer) toBool() *bool { + return p.v.Interface().(*bool) +} +func (p pointer) toBoolPtr() **bool { + return p.v.Interface().(**bool) +} +func (p pointer) toBoolSlice() *[]bool { + return p.v.Interface().(*[]bool) +} +func (p pointer) toFloat64() *float64 { + return p.v.Interface().(*float64) +} +func (p pointer) toFloat64Ptr() **float64 { + return p.v.Interface().(**float64) +} +func (p pointer) toFloat64Slice() *[]float64 { + return p.v.Interface().(*[]float64) +} +func (p pointer) toFloat32() *float32 { + return p.v.Interface().(*float32) +} +func (p pointer) toFloat32Ptr() **float32 { + return p.v.Interface().(**float32) +} +func (p pointer) toFloat32Slice() *[]float32 { + return p.v.Interface().(*[]float32) +} +func (p pointer) toString() *string { + return p.v.Interface().(*string) +} +func (p pointer) toStringPtr() **string { + return p.v.Interface().(**string) +} +func (p pointer) toStringSlice() *[]string { + return p.v.Interface().(*[]string) +} +func (p pointer) toBytes() *[]byte { + return p.v.Interface().(*[]byte) +} +func (p pointer) toBytesSlice() *[][]byte { + return p.v.Interface().(*[][]byte) +} +func (p pointer) toExtensions() *XXX_InternalExtensions { + return p.v.Interface().(*XXX_InternalExtensions) +} +func (p pointer) toOldExtensions() *map[int32]Extension { + return p.v.Interface().(*map[int32]Extension) +} +func (p pointer) getPointer() pointer { + return pointer{v: p.v.Elem()} +} +func (p pointer) setPointer(q pointer) { + p.v.Elem().Set(q.v) +} +func (p pointer) appendPointer(q pointer) { + grow(p.v.Elem()).Set(q.v) +} + +// getPointerSlice copies []*T from p as a new []pointer. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) getPointerSlice() []pointer { + if p.v.IsNil() { + return nil + } + n := p.v.Elem().Len() + s := make([]pointer, n) + for i := 0; i < n; i++ { + s[i] = pointer{v: p.v.Elem().Index(i)} + } + return s +} + +// setPointerSlice copies []pointer into p as a new []*T. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) setPointerSlice(v []pointer) { + if v == nil { + p.v.Elem().Set(reflect.New(p.v.Elem().Type()).Elem()) + return + } + s := reflect.MakeSlice(p.v.Elem().Type(), 0, len(v)) + for _, p := range v { + s = reflect.Append(s, p.v) + } + p.v.Elem().Set(s) +} + +// getInterfacePointer returns a pointer that points to the +// interface data of the interface pointed by p. +func (p pointer) getInterfacePointer() pointer { + if p.v.Elem().IsNil() { + return pointer{v: p.v.Elem()} + } + return pointer{v: p.v.Elem().Elem().Elem().Field(0).Addr()} // *interface -> interface -> *struct -> struct +} + +func (p pointer) asPointerTo(t reflect.Type) reflect.Value { + // TODO: check that p.v.Type().Elem() == t? + return p.v +} + +func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadDiscardInfo(p **discardInfo) *discardInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} + +var atomicLock sync.Mutex diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go new file mode 100644 index 0000000..dbfffe0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go @@ -0,0 +1,313 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2012 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// +build !purego,!appengine,!js + +// This file contains the implementation of the proto field accesses using package unsafe. + +package proto + +import ( + "reflect" + "sync/atomic" + "unsafe" +) + +const unsafeAllowed = true + +// A field identifies a field in a struct, accessible from a pointer. +// In this implementation, a field is identified by its byte offset from the start of the struct. +type field uintptr + +// toField returns a field equivalent to the given reflect field. +func toField(f *reflect.StructField) field { + return field(f.Offset) +} + +// invalidField is an invalid field identifier. +const invalidField = ^field(0) + +// zeroField is a noop when calling pointer.offset. +const zeroField = field(0) + +// IsValid reports whether the field identifier is valid. +func (f field) IsValid() bool { + return f != invalidField +} + +// The pointer type below is for the new table-driven encoder/decoder. +// The implementation here uses unsafe.Pointer to create a generic pointer. +// In pointer_reflect.go we use reflect instead of unsafe to implement +// the same (but slower) interface. +type pointer struct { + p unsafe.Pointer +} + +// size of pointer +var ptrSize = unsafe.Sizeof(uintptr(0)) + +// toPointer converts an interface of pointer type to a pointer +// that points to the same target. +func toPointer(i *Message) pointer { + // Super-tricky - read pointer out of data word of interface value. + // Saves ~25ns over the equivalent: + // return valToPointer(reflect.ValueOf(*i)) + return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} +} + +// toAddrPointer converts an interface to a pointer that points to +// the interface data. +func toAddrPointer(i *interface{}, isptr, deref bool) (p pointer) { + // Super-tricky - read or get the address of data word of interface value. + if isptr { + // The interface is of pointer type, thus it is a direct interface. + // The data word is the pointer data itself. We take its address. + p = pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)} + } else { + // The interface is not of pointer type. The data word is the pointer + // to the data. + p = pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} + } + if deref { + p.p = *(*unsafe.Pointer)(p.p) + } + return p +} + +// valToPointer converts v to a pointer. v must be of pointer type. +func valToPointer(v reflect.Value) pointer { + return pointer{p: unsafe.Pointer(v.Pointer())} +} + +// offset converts from a pointer to a structure to a pointer to +// one of its fields. +func (p pointer) offset(f field) pointer { + // For safety, we should panic if !f.IsValid, however calling panic causes + // this to no longer be inlineable, which is a serious performance cost. + /* + if !f.IsValid() { + panic("invalid field") + } + */ + return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))} +} + +func (p pointer) isNil() bool { + return p.p == nil +} + +func (p pointer) toInt64() *int64 { + return (*int64)(p.p) +} +func (p pointer) toInt64Ptr() **int64 { + return (**int64)(p.p) +} +func (p pointer) toInt64Slice() *[]int64 { + return (*[]int64)(p.p) +} +func (p pointer) toInt32() *int32 { + return (*int32)(p.p) +} + +// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist. +/* + func (p pointer) toInt32Ptr() **int32 { + return (**int32)(p.p) + } + func (p pointer) toInt32Slice() *[]int32 { + return (*[]int32)(p.p) + } +*/ +func (p pointer) getInt32Ptr() *int32 { + return *(**int32)(p.p) +} +func (p pointer) setInt32Ptr(v int32) { + *(**int32)(p.p) = &v +} + +// getInt32Slice loads a []int32 from p. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) getInt32Slice() []int32 { + return *(*[]int32)(p.p) +} + +// setInt32Slice stores a []int32 to p. +// The value set is aliased with the input slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) setInt32Slice(v []int32) { + *(*[]int32)(p.p) = v +} + +// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead? +func (p pointer) appendInt32Slice(v int32) { + s := (*[]int32)(p.p) + *s = append(*s, v) +} + +func (p pointer) toUint64() *uint64 { + return (*uint64)(p.p) +} +func (p pointer) toUint64Ptr() **uint64 { + return (**uint64)(p.p) +} +func (p pointer) toUint64Slice() *[]uint64 { + return (*[]uint64)(p.p) +} +func (p pointer) toUint32() *uint32 { + return (*uint32)(p.p) +} +func (p pointer) toUint32Ptr() **uint32 { + return (**uint32)(p.p) +} +func (p pointer) toUint32Slice() *[]uint32 { + return (*[]uint32)(p.p) +} +func (p pointer) toBool() *bool { + return (*bool)(p.p) +} +func (p pointer) toBoolPtr() **bool { + return (**bool)(p.p) +} +func (p pointer) toBoolSlice() *[]bool { + return (*[]bool)(p.p) +} +func (p pointer) toFloat64() *float64 { + return (*float64)(p.p) +} +func (p pointer) toFloat64Ptr() **float64 { + return (**float64)(p.p) +} +func (p pointer) toFloat64Slice() *[]float64 { + return (*[]float64)(p.p) +} +func (p pointer) toFloat32() *float32 { + return (*float32)(p.p) +} +func (p pointer) toFloat32Ptr() **float32 { + return (**float32)(p.p) +} +func (p pointer) toFloat32Slice() *[]float32 { + return (*[]float32)(p.p) +} +func (p pointer) toString() *string { + return (*string)(p.p) +} +func (p pointer) toStringPtr() **string { + return (**string)(p.p) +} +func (p pointer) toStringSlice() *[]string { + return (*[]string)(p.p) +} +func (p pointer) toBytes() *[]byte { + return (*[]byte)(p.p) +} +func (p pointer) toBytesSlice() *[][]byte { + return (*[][]byte)(p.p) +} +func (p pointer) toExtensions() *XXX_InternalExtensions { + return (*XXX_InternalExtensions)(p.p) +} +func (p pointer) toOldExtensions() *map[int32]Extension { + return (*map[int32]Extension)(p.p) +} + +// getPointerSlice loads []*T from p as a []pointer. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) getPointerSlice() []pointer { + // Super-tricky - p should point to a []*T where T is a + // message type. We load it as []pointer. + return *(*[]pointer)(p.p) +} + +// setPointerSlice stores []pointer into p as a []*T. +// The value set is aliased with the input slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) setPointerSlice(v []pointer) { + // Super-tricky - p should point to a []*T where T is a + // message type. We store it as []pointer. + *(*[]pointer)(p.p) = v +} + +// getPointer loads the pointer at p and returns it. +func (p pointer) getPointer() pointer { + return pointer{p: *(*unsafe.Pointer)(p.p)} +} + +// setPointer stores the pointer q at p. +func (p pointer) setPointer(q pointer) { + *(*unsafe.Pointer)(p.p) = q.p +} + +// append q to the slice pointed to by p. +func (p pointer) appendPointer(q pointer) { + s := (*[]unsafe.Pointer)(p.p) + *s = append(*s, q.p) +} + +// getInterfacePointer returns a pointer that points to the +// interface data of the interface pointed by p. +func (p pointer) getInterfacePointer() pointer { + // Super-tricky - read pointer out of data word of interface value. + return pointer{p: (*(*[2]unsafe.Pointer)(p.p))[1]} +} + +// asPointerTo returns a reflect.Value that is a pointer to an +// object of type t stored at p. +func (p pointer) asPointerTo(t reflect.Type) reflect.Value { + return reflect.NewAt(t, p.p) +} + +func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo { + return (*unmarshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo { + return (*marshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo { + return (*mergeInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadDiscardInfo(p **discardInfo) *discardInfo { + return (*discardInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/properties.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/properties.go new file mode 100644 index 0000000..a4b8c0c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/properties.go @@ -0,0 +1,544 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for encoding data into the wire format for protocol buffers. + */ + +import ( + "fmt" + "log" + "reflect" + "sort" + "strconv" + "strings" + "sync" +) + +const debug bool = false + +// Constants that identify the encoding of a value on the wire. +const ( + WireVarint = 0 + WireFixed64 = 1 + WireBytes = 2 + WireStartGroup = 3 + WireEndGroup = 4 + WireFixed32 = 5 +) + +// tagMap is an optimization over map[int]int for typical protocol buffer +// use-cases. Encoded protocol buffers are often in tag order with small tag +// numbers. +type tagMap struct { + fastTags []int + slowTags map[int]int +} + +// tagMapFastLimit is the upper bound on the tag number that will be stored in +// the tagMap slice rather than its map. +const tagMapFastLimit = 1024 + +func (p *tagMap) get(t int) (int, bool) { + if t > 0 && t < tagMapFastLimit { + if t >= len(p.fastTags) { + return 0, false + } + fi := p.fastTags[t] + return fi, fi >= 0 + } + fi, ok := p.slowTags[t] + return fi, ok +} + +func (p *tagMap) put(t int, fi int) { + if t > 0 && t < tagMapFastLimit { + for len(p.fastTags) < t+1 { + p.fastTags = append(p.fastTags, -1) + } + p.fastTags[t] = fi + return + } + if p.slowTags == nil { + p.slowTags = make(map[int]int) + } + p.slowTags[t] = fi +} + +// StructProperties represents properties for all the fields of a struct. +// decoderTags and decoderOrigNames should only be used by the decoder. +type StructProperties struct { + Prop []*Properties // properties for each field + reqCount int // required count + decoderTags tagMap // map from proto tag to struct field number + decoderOrigNames map[string]int // map from original name to struct field number + order []int // list of struct field numbers in tag order + + // OneofTypes contains information about the oneof fields in this message. + // It is keyed by the original name of a field. + OneofTypes map[string]*OneofProperties +} + +// OneofProperties represents information about a specific field in a oneof. +type OneofProperties struct { + Type reflect.Type // pointer to generated struct type for this oneof field + Field int // struct field number of the containing oneof in the message + Prop *Properties +} + +// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec. +// See encode.go, (*Buffer).enc_struct. + +func (sp *StructProperties) Len() int { return len(sp.order) } +func (sp *StructProperties) Less(i, j int) bool { + return sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag +} +func (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] } + +// Properties represents the protocol-specific behavior of a single struct field. +type Properties struct { + Name string // name of the field, for error messages + OrigName string // original name before protocol compiler (always set) + JSONName string // name to use for JSON; determined by protoc + Wire string + WireType int + Tag int + Required bool + Optional bool + Repeated bool + Packed bool // relevant for repeated primitives only + Enum string // set for enum types only + proto3 bool // whether this is known to be a proto3 field + oneof bool // whether this is a oneof field + + Default string // default value + HasDefault bool // whether an explicit default was provided + + stype reflect.Type // set for struct types only + sprop *StructProperties // set for struct types only + + mtype reflect.Type // set for map types only + MapKeyProp *Properties // set for map types only + MapValProp *Properties // set for map types only +} + +// String formats the properties in the protobuf struct field tag style. +func (p *Properties) String() string { + s := p.Wire + s += "," + s += strconv.Itoa(p.Tag) + if p.Required { + s += ",req" + } + if p.Optional { + s += ",opt" + } + if p.Repeated { + s += ",rep" + } + if p.Packed { + s += ",packed" + } + s += ",name=" + p.OrigName + if p.JSONName != p.OrigName { + s += ",json=" + p.JSONName + } + if p.proto3 { + s += ",proto3" + } + if p.oneof { + s += ",oneof" + } + if len(p.Enum) > 0 { + s += ",enum=" + p.Enum + } + if p.HasDefault { + s += ",def=" + p.Default + } + return s +} + +// Parse populates p by parsing a string in the protobuf struct field tag style. +func (p *Properties) Parse(s string) { + // "bytes,49,opt,name=foo,def=hello!" + fields := strings.Split(s, ",") // breaks def=, but handled below. + if len(fields) < 2 { + log.Printf("proto: tag has too few fields: %q", s) + return + } + + p.Wire = fields[0] + switch p.Wire { + case "varint": + p.WireType = WireVarint + case "fixed32": + p.WireType = WireFixed32 + case "fixed64": + p.WireType = WireFixed64 + case "zigzag32": + p.WireType = WireVarint + case "zigzag64": + p.WireType = WireVarint + case "bytes", "group": + p.WireType = WireBytes + // no numeric converter for non-numeric types + default: + log.Printf("proto: tag has unknown wire type: %q", s) + return + } + + var err error + p.Tag, err = strconv.Atoi(fields[1]) + if err != nil { + return + } + +outer: + for i := 2; i < len(fields); i++ { + f := fields[i] + switch { + case f == "req": + p.Required = true + case f == "opt": + p.Optional = true + case f == "rep": + p.Repeated = true + case f == "packed": + p.Packed = true + case strings.HasPrefix(f, "name="): + p.OrigName = f[5:] + case strings.HasPrefix(f, "json="): + p.JSONName = f[5:] + case strings.HasPrefix(f, "enum="): + p.Enum = f[5:] + case f == "proto3": + p.proto3 = true + case f == "oneof": + p.oneof = true + case strings.HasPrefix(f, "def="): + p.HasDefault = true + p.Default = f[4:] // rest of string + if i+1 < len(fields) { + // Commas aren't escaped, and def is always last. + p.Default += "," + strings.Join(fields[i+1:], ",") + break outer + } + } + } +} + +var protoMessageType = reflect.TypeOf((*Message)(nil)).Elem() + +// setFieldProps initializes the field properties for submessages and maps. +func (p *Properties) setFieldProps(typ reflect.Type, f *reflect.StructField, lockGetProp bool) { + switch t1 := typ; t1.Kind() { + case reflect.Ptr: + if t1.Elem().Kind() == reflect.Struct { + p.stype = t1.Elem() + } + + case reflect.Slice: + if t2 := t1.Elem(); t2.Kind() == reflect.Ptr && t2.Elem().Kind() == reflect.Struct { + p.stype = t2.Elem() + } + + case reflect.Map: + p.mtype = t1 + p.MapKeyProp = &Properties{} + p.MapKeyProp.init(reflect.PtrTo(p.mtype.Key()), "Key", f.Tag.Get("protobuf_key"), nil, lockGetProp) + p.MapValProp = &Properties{} + vtype := p.mtype.Elem() + if vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice { + // The value type is not a message (*T) or bytes ([]byte), + // so we need encoders for the pointer to this type. + vtype = reflect.PtrTo(vtype) + } + p.MapValProp.init(vtype, "Value", f.Tag.Get("protobuf_val"), nil, lockGetProp) + } + + if p.stype != nil { + if lockGetProp { + p.sprop = GetProperties(p.stype) + } else { + p.sprop = getPropertiesLocked(p.stype) + } + } +} + +var ( + marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem() +) + +// Init populates the properties from a protocol buffer struct tag. +func (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) { + p.init(typ, name, tag, f, true) +} + +func (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) { + // "bytes,49,opt,def=hello!" + p.Name = name + p.OrigName = name + if tag == "" { + return + } + p.Parse(tag) + p.setFieldProps(typ, f, lockGetProp) +} + +var ( + propertiesMu sync.RWMutex + propertiesMap = make(map[reflect.Type]*StructProperties) +) + +// GetProperties returns the list of properties for the type represented by t. +// t must represent a generated struct type of a protocol message. +func GetProperties(t reflect.Type) *StructProperties { + if t.Kind() != reflect.Struct { + panic("proto: type must have kind struct") + } + + // Most calls to GetProperties in a long-running program will be + // retrieving details for types we have seen before. + propertiesMu.RLock() + sprop, ok := propertiesMap[t] + propertiesMu.RUnlock() + if ok { + return sprop + } + + propertiesMu.Lock() + sprop = getPropertiesLocked(t) + propertiesMu.Unlock() + return sprop +} + +type ( + oneofFuncsIface interface { + XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{}) + } + oneofWrappersIface interface { + XXX_OneofWrappers() []interface{} + } +) + +// getPropertiesLocked requires that propertiesMu is held. +func getPropertiesLocked(t reflect.Type) *StructProperties { + if prop, ok := propertiesMap[t]; ok { + return prop + } + + prop := new(StructProperties) + // in case of recursive protos, fill this in now. + propertiesMap[t] = prop + + // build properties + prop.Prop = make([]*Properties, t.NumField()) + prop.order = make([]int, t.NumField()) + + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + p := new(Properties) + name := f.Name + p.init(f.Type, name, f.Tag.Get("protobuf"), &f, false) + + oneof := f.Tag.Get("protobuf_oneof") // special case + if oneof != "" { + // Oneof fields don't use the traditional protobuf tag. + p.OrigName = oneof + } + prop.Prop[i] = p + prop.order[i] = i + if debug { + print(i, " ", f.Name, " ", t.String(), " ") + if p.Tag > 0 { + print(p.String()) + } + print("\n") + } + } + + // Re-order prop.order. + sort.Sort(prop) + + var oots []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oots = m.XXX_OneofFuncs() + case oneofWrappersIface: + oots = m.XXX_OneofWrappers() + } + if len(oots) > 0 { + // Interpret oneof metadata. + prop.OneofTypes = make(map[string]*OneofProperties) + for _, oot := range oots { + oop := &OneofProperties{ + Type: reflect.ValueOf(oot).Type(), // *T + Prop: new(Properties), + } + sft := oop.Type.Elem().Field(0) + oop.Prop.Name = sft.Name + oop.Prop.Parse(sft.Tag.Get("protobuf")) + // There will be exactly one interface field that + // this new value is assignable to. + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + if f.Type.Kind() != reflect.Interface { + continue + } + if !oop.Type.AssignableTo(f.Type) { + continue + } + oop.Field = i + break + } + prop.OneofTypes[oop.Prop.OrigName] = oop + } + } + + // build required counts + // build tags + reqCount := 0 + prop.decoderOrigNames = make(map[string]int) + for i, p := range prop.Prop { + if strings.HasPrefix(p.Name, "XXX_") { + // Internal fields should not appear in tags/origNames maps. + // They are handled specially when encoding and decoding. + continue + } + if p.Required { + reqCount++ + } + prop.decoderTags.put(p.Tag, i) + prop.decoderOrigNames[p.OrigName] = i + } + prop.reqCount = reqCount + + return prop +} + +// A global registry of enum types. +// The generated code will register the generated maps by calling RegisterEnum. + +var enumValueMaps = make(map[string]map[string]int32) + +// RegisterEnum is called from the generated code to install the enum descriptor +// maps into the global table to aid parsing text format protocol buffers. +func RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) { + if _, ok := enumValueMaps[typeName]; ok { + panic("proto: duplicate enum registered: " + typeName) + } + enumValueMaps[typeName] = valueMap +} + +// EnumValueMap returns the mapping from names to integers of the +// enum type enumType, or a nil if not found. +func EnumValueMap(enumType string) map[string]int32 { + return enumValueMaps[enumType] +} + +// A registry of all linked message types. +// The string is a fully-qualified proto name ("pkg.Message"). +var ( + protoTypedNils = make(map[string]Message) // a map from proto names to typed nil pointers + protoMapTypes = make(map[string]reflect.Type) // a map from proto names to map types + revProtoTypes = make(map[reflect.Type]string) +) + +// RegisterType is called from generated code and maps from the fully qualified +// proto name to the type (pointer to struct) of the protocol buffer. +func RegisterType(x Message, name string) { + if _, ok := protoTypedNils[name]; ok { + // TODO: Some day, make this a panic. + log.Printf("proto: duplicate proto type registered: %s", name) + return + } + t := reflect.TypeOf(x) + if v := reflect.ValueOf(x); v.Kind() == reflect.Ptr && v.Pointer() == 0 { + // Generated code always calls RegisterType with nil x. + // This check is just for extra safety. + protoTypedNils[name] = x + } else { + protoTypedNils[name] = reflect.Zero(t).Interface().(Message) + } + revProtoTypes[t] = name +} + +// RegisterMapType is called from generated code and maps from the fully qualified +// proto name to the native map type of the proto map definition. +func RegisterMapType(x interface{}, name string) { + if reflect.TypeOf(x).Kind() != reflect.Map { + panic(fmt.Sprintf("RegisterMapType(%T, %q); want map", x, name)) + } + if _, ok := protoMapTypes[name]; ok { + log.Printf("proto: duplicate proto type registered: %s", name) + return + } + t := reflect.TypeOf(x) + protoMapTypes[name] = t + revProtoTypes[t] = name +} + +// MessageName returns the fully-qualified proto name for the given message type. +func MessageName(x Message) string { + type xname interface { + XXX_MessageName() string + } + if m, ok := x.(xname); ok { + return m.XXX_MessageName() + } + return revProtoTypes[reflect.TypeOf(x)] +} + +// MessageType returns the message type (pointer to struct) for a named message. +// The type is not guaranteed to implement proto.Message if the name refers to a +// map entry. +func MessageType(name string) reflect.Type { + if t, ok := protoTypedNils[name]; ok { + return reflect.TypeOf(t) + } + return protoMapTypes[name] +} + +// A registry of all linked proto files. +var ( + protoFiles = make(map[string][]byte) // file name => fileDescriptor +) + +// RegisterFile is called from generated code and maps from the +// full file name of a .proto file to its compressed FileDescriptorProto. +func RegisterFile(filename string, fileDescriptor []byte) { + protoFiles[filename] = fileDescriptor +} + +// FileDescriptor returns the compressed FileDescriptorProto for a .proto file. +func FileDescriptor(filename string) []byte { return protoFiles[filename] } diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_marshal.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_marshal.go new file mode 100644 index 0000000..5cb11fa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_marshal.go @@ -0,0 +1,2776 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "errors" + "fmt" + "math" + "reflect" + "sort" + "strconv" + "strings" + "sync" + "sync/atomic" + "unicode/utf8" +) + +// a sizer takes a pointer to a field and the size of its tag, computes the size of +// the encoded data. +type sizer func(pointer, int) int + +// a marshaler takes a byte slice, a pointer to a field, and its tag (in wire format), +// marshals the field to the end of the slice, returns the slice and error (if any). +type marshaler func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) + +// marshalInfo is the information used for marshaling a message. +type marshalInfo struct { + typ reflect.Type + fields []*marshalFieldInfo + unrecognized field // offset of XXX_unrecognized + extensions field // offset of XXX_InternalExtensions + v1extensions field // offset of XXX_extensions + sizecache field // offset of XXX_sizecache + initialized int32 // 0 -- only typ is set, 1 -- fully initialized + messageset bool // uses message set wire format + hasmarshaler bool // has custom marshaler + sync.RWMutex // protect extElems map, also for initialization + extElems map[int32]*marshalElemInfo // info of extension elements +} + +// marshalFieldInfo is the information used for marshaling a field of a message. +type marshalFieldInfo struct { + field field + wiretag uint64 // tag in wire format + tagsize int // size of tag in wire format + sizer sizer + marshaler marshaler + isPointer bool + required bool // field is required + name string // name of the field, for error reporting + oneofElems map[reflect.Type]*marshalElemInfo // info of oneof elements +} + +// marshalElemInfo is the information used for marshaling an extension or oneof element. +type marshalElemInfo struct { + wiretag uint64 // tag in wire format + tagsize int // size of tag in wire format + sizer sizer + marshaler marshaler + isptr bool // elem is pointer typed, thus interface of this type is a direct interface (extension only) + deref bool // dereference the pointer before operating on it; implies isptr +} + +var ( + marshalInfoMap = map[reflect.Type]*marshalInfo{} + marshalInfoLock sync.Mutex +) + +// getMarshalInfo returns the information to marshal a given type of message. +// The info it returns may not necessarily initialized. +// t is the type of the message (NOT the pointer to it). +func getMarshalInfo(t reflect.Type) *marshalInfo { + marshalInfoLock.Lock() + u, ok := marshalInfoMap[t] + if !ok { + u = &marshalInfo{typ: t} + marshalInfoMap[t] = u + } + marshalInfoLock.Unlock() + return u +} + +// Size is the entry point from generated code, +// and should be ONLY called by generated code. +// It computes the size of encoded data of msg. +// a is a pointer to a place to store cached marshal info. +func (a *InternalMessageInfo) Size(msg Message) int { + u := getMessageMarshalInfo(msg, a) + ptr := toPointer(&msg) + if ptr.isNil() { + // We get here if msg is a typed nil ((*SomeMessage)(nil)), + // so it satisfies the interface, and msg == nil wouldn't + // catch it. We don't want crash in this case. + return 0 + } + return u.size(ptr) +} + +// Marshal is the entry point from generated code, +// and should be ONLY called by generated code. +// It marshals msg to the end of b. +// a is a pointer to a place to store cached marshal info. +func (a *InternalMessageInfo) Marshal(b []byte, msg Message, deterministic bool) ([]byte, error) { + u := getMessageMarshalInfo(msg, a) + ptr := toPointer(&msg) + if ptr.isNil() { + // We get here if msg is a typed nil ((*SomeMessage)(nil)), + // so it satisfies the interface, and msg == nil wouldn't + // catch it. We don't want crash in this case. + return b, ErrNil + } + return u.marshal(b, ptr, deterministic) +} + +func getMessageMarshalInfo(msg interface{}, a *InternalMessageInfo) *marshalInfo { + // u := a.marshal, but atomically. + // We use an atomic here to ensure memory consistency. + u := atomicLoadMarshalInfo(&a.marshal) + if u == nil { + // Get marshal information from type of message. + t := reflect.ValueOf(msg).Type() + if t.Kind() != reflect.Ptr { + panic(fmt.Sprintf("cannot handle non-pointer message type %v", t)) + } + u = getMarshalInfo(t.Elem()) + // Store it in the cache for later users. + // a.marshal = u, but atomically. + atomicStoreMarshalInfo(&a.marshal, u) + } + return u +} + +// size is the main function to compute the size of the encoded data of a message. +// ptr is the pointer to the message. +func (u *marshalInfo) size(ptr pointer) int { + if atomic.LoadInt32(&u.initialized) == 0 { + u.computeMarshalInfo() + } + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if u.hasmarshaler { + m := ptr.asPointerTo(u.typ).Interface().(Marshaler) + b, _ := m.Marshal() + return len(b) + } + + n := 0 + for _, f := range u.fields { + if f.isPointer && ptr.offset(f.field).getPointer().isNil() { + // nil pointer always marshals to nothing + continue + } + n += f.sizer(ptr.offset(f.field), f.tagsize) + } + if u.extensions.IsValid() { + e := ptr.offset(u.extensions).toExtensions() + if u.messageset { + n += u.sizeMessageSet(e) + } else { + n += u.sizeExtensions(e) + } + } + if u.v1extensions.IsValid() { + m := *ptr.offset(u.v1extensions).toOldExtensions() + n += u.sizeV1Extensions(m) + } + if u.unrecognized.IsValid() { + s := *ptr.offset(u.unrecognized).toBytes() + n += len(s) + } + // cache the result for use in marshal + if u.sizecache.IsValid() { + atomic.StoreInt32(ptr.offset(u.sizecache).toInt32(), int32(n)) + } + return n +} + +// cachedsize gets the size from cache. If there is no cache (i.e. message is not generated), +// fall back to compute the size. +func (u *marshalInfo) cachedsize(ptr pointer) int { + if u.sizecache.IsValid() { + return int(atomic.LoadInt32(ptr.offset(u.sizecache).toInt32())) + } + return u.size(ptr) +} + +// marshal is the main function to marshal a message. It takes a byte slice and appends +// the encoded data to the end of the slice, returns the slice and error (if any). +// ptr is the pointer to the message. +// If deterministic is true, map is marshaled in deterministic order. +func (u *marshalInfo) marshal(b []byte, ptr pointer, deterministic bool) ([]byte, error) { + if atomic.LoadInt32(&u.initialized) == 0 { + u.computeMarshalInfo() + } + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if u.hasmarshaler { + m := ptr.asPointerTo(u.typ).Interface().(Marshaler) + b1, err := m.Marshal() + b = append(b, b1...) + return b, err + } + + var err, errLater error + // The old marshaler encodes extensions at beginning. + if u.extensions.IsValid() { + e := ptr.offset(u.extensions).toExtensions() + if u.messageset { + b, err = u.appendMessageSet(b, e, deterministic) + } else { + b, err = u.appendExtensions(b, e, deterministic) + } + if err != nil { + return b, err + } + } + if u.v1extensions.IsValid() { + m := *ptr.offset(u.v1extensions).toOldExtensions() + b, err = u.appendV1Extensions(b, m, deterministic) + if err != nil { + return b, err + } + } + for _, f := range u.fields { + if f.required { + if ptr.offset(f.field).getPointer().isNil() { + // Required field is not set. + // We record the error but keep going, to give a complete marshaling. + if errLater == nil { + errLater = &RequiredNotSetError{f.name} + } + continue + } + } + if f.isPointer && ptr.offset(f.field).getPointer().isNil() { + // nil pointer always marshals to nothing + continue + } + b, err = f.marshaler(b, ptr.offset(f.field), f.wiretag, deterministic) + if err != nil { + if err1, ok := err.(*RequiredNotSetError); ok { + // Required field in submessage is not set. + // We record the error but keep going, to give a complete marshaling. + if errLater == nil { + errLater = &RequiredNotSetError{f.name + "." + err1.field} + } + continue + } + if err == errRepeatedHasNil { + err = errors.New("proto: repeated field " + f.name + " has nil element") + } + if err == errInvalidUTF8 { + if errLater == nil { + fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name + errLater = &invalidUTF8Error{fullName} + } + continue + } + return b, err + } + } + if u.unrecognized.IsValid() { + s := *ptr.offset(u.unrecognized).toBytes() + b = append(b, s...) + } + return b, errLater +} + +// computeMarshalInfo initializes the marshal info. +func (u *marshalInfo) computeMarshalInfo() { + u.Lock() + defer u.Unlock() + if u.initialized != 0 { // non-atomic read is ok as it is protected by the lock + return + } + + t := u.typ + u.unrecognized = invalidField + u.extensions = invalidField + u.v1extensions = invalidField + u.sizecache = invalidField + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if reflect.PtrTo(t).Implements(marshalerType) { + u.hasmarshaler = true + atomic.StoreInt32(&u.initialized, 1) + return + } + + // get oneof implementers + var oneofImplementers []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oneofImplementers = m.XXX_OneofFuncs() + case oneofWrappersIface: + oneofImplementers = m.XXX_OneofWrappers() + } + + n := t.NumField() + + // deal with XXX fields first + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + if !strings.HasPrefix(f.Name, "XXX_") { + continue + } + switch f.Name { + case "XXX_sizecache": + u.sizecache = toField(&f) + case "XXX_unrecognized": + u.unrecognized = toField(&f) + case "XXX_InternalExtensions": + u.extensions = toField(&f) + u.messageset = f.Tag.Get("protobuf_messageset") == "1" + case "XXX_extensions": + u.v1extensions = toField(&f) + case "XXX_NoUnkeyedLiteral": + // nothing to do + default: + panic("unknown XXX field: " + f.Name) + } + n-- + } + + // normal fields + fields := make([]marshalFieldInfo, n) // batch allocation + u.fields = make([]*marshalFieldInfo, 0, n) + for i, j := 0, 0; i < t.NumField(); i++ { + f := t.Field(i) + + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + field := &fields[j] + j++ + field.name = f.Name + u.fields = append(u.fields, field) + if f.Tag.Get("protobuf_oneof") != "" { + field.computeOneofFieldInfo(&f, oneofImplementers) + continue + } + if f.Tag.Get("protobuf") == "" { + // field has no tag (not in generated message), ignore it + u.fields = u.fields[:len(u.fields)-1] + j-- + continue + } + field.computeMarshalFieldInfo(&f) + } + + // fields are marshaled in tag order on the wire. + sort.Sort(byTag(u.fields)) + + atomic.StoreInt32(&u.initialized, 1) +} + +// helper for sorting fields by tag +type byTag []*marshalFieldInfo + +func (a byTag) Len() int { return len(a) } +func (a byTag) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a byTag) Less(i, j int) bool { return a[i].wiretag < a[j].wiretag } + +// getExtElemInfo returns the information to marshal an extension element. +// The info it returns is initialized. +func (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo { + // get from cache first + u.RLock() + e, ok := u.extElems[desc.Field] + u.RUnlock() + if ok { + return e + } + + t := reflect.TypeOf(desc.ExtensionType) // pointer or slice to basic type or struct + tags := strings.Split(desc.Tag, ",") + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + if t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct { + t = t.Elem() + } + sizer, marshaler := typeMarshaler(t, tags, false, false) + var deref bool + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + t = reflect.PtrTo(t) + deref = true + } + e = &marshalElemInfo{ + wiretag: uint64(tag)<<3 | wt, + tagsize: SizeVarint(uint64(tag) << 3), + sizer: sizer, + marshaler: marshaler, + isptr: t.Kind() == reflect.Ptr, + deref: deref, + } + + // update cache + u.Lock() + if u.extElems == nil { + u.extElems = make(map[int32]*marshalElemInfo) + } + u.extElems[desc.Field] = e + u.Unlock() + return e +} + +// computeMarshalFieldInfo fills up the information to marshal a field. +func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) { + // parse protobuf tag of the field. + // tag has format of "bytes,49,opt,name=foo,def=hello!" + tags := strings.Split(f.Tag.Get("protobuf"), ",") + if tags[0] == "" { + return + } + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + if tags[2] == "req" { + fi.required = true + } + fi.setTag(f, tag, wt) + fi.setMarshaler(f, tags) +} + +func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) { + fi.field = toField(f) + fi.wiretag = math.MaxInt32 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire. + fi.isPointer = true + fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f) + fi.oneofElems = make(map[reflect.Type]*marshalElemInfo) + + ityp := f.Type // interface type + for _, o := range oneofImplementers { + t := reflect.TypeOf(o) + if !t.Implements(ityp) { + continue + } + sf := t.Elem().Field(0) // oneof implementer is a struct with a single field + tags := strings.Split(sf.Tag.Get("protobuf"), ",") + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + sizer, marshaler := typeMarshaler(sf.Type, tags, false, true) // oneof should not omit any zero value + fi.oneofElems[t.Elem()] = &marshalElemInfo{ + wiretag: uint64(tag)<<3 | wt, + tagsize: SizeVarint(uint64(tag) << 3), + sizer: sizer, + marshaler: marshaler, + } + } +} + +// wiretype returns the wire encoding of the type. +func wiretype(encoding string) uint64 { + switch encoding { + case "fixed32": + return WireFixed32 + case "fixed64": + return WireFixed64 + case "varint", "zigzag32", "zigzag64": + return WireVarint + case "bytes": + return WireBytes + case "group": + return WireStartGroup + } + panic("unknown wire type " + encoding) +} + +// setTag fills up the tag (in wire format) and its size in the info of a field. +func (fi *marshalFieldInfo) setTag(f *reflect.StructField, tag int, wt uint64) { + fi.field = toField(f) + fi.wiretag = uint64(tag)<<3 | wt + fi.tagsize = SizeVarint(uint64(tag) << 3) +} + +// setMarshaler fills up the sizer and marshaler in the info of a field. +func (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) { + switch f.Type.Kind() { + case reflect.Map: + // map field + fi.isPointer = true + fi.sizer, fi.marshaler = makeMapMarshaler(f) + return + case reflect.Ptr, reflect.Slice: + fi.isPointer = true + } + fi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, true, false) +} + +// typeMarshaler returns the sizer and marshaler of a given field. +// t is the type of the field. +// tags is the generated "protobuf" tag of the field. +// If nozero is true, zero value is not marshaled to the wire. +// If oneof is true, it is a oneof field. +func typeMarshaler(t reflect.Type, tags []string, nozero, oneof bool) (sizer, marshaler) { + encoding := tags[0] + + pointer := false + slice := false + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + slice = true + t = t.Elem() + } + if t.Kind() == reflect.Ptr { + pointer = true + t = t.Elem() + } + + packed := false + proto3 := false + validateUTF8 := true + for i := 2; i < len(tags); i++ { + if tags[i] == "packed" { + packed = true + } + if tags[i] == "proto3" { + proto3 = true + } + } + validateUTF8 = validateUTF8 && proto3 + + switch t.Kind() { + case reflect.Bool: + if pointer { + return sizeBoolPtr, appendBoolPtr + } + if slice { + if packed { + return sizeBoolPackedSlice, appendBoolPackedSlice + } + return sizeBoolSlice, appendBoolSlice + } + if nozero { + return sizeBoolValueNoZero, appendBoolValueNoZero + } + return sizeBoolValue, appendBoolValue + case reflect.Uint32: + switch encoding { + case "fixed32": + if pointer { + return sizeFixed32Ptr, appendFixed32Ptr + } + if slice { + if packed { + return sizeFixed32PackedSlice, appendFixed32PackedSlice + } + return sizeFixed32Slice, appendFixed32Slice + } + if nozero { + return sizeFixed32ValueNoZero, appendFixed32ValueNoZero + } + return sizeFixed32Value, appendFixed32Value + case "varint": + if pointer { + return sizeVarint32Ptr, appendVarint32Ptr + } + if slice { + if packed { + return sizeVarint32PackedSlice, appendVarint32PackedSlice + } + return sizeVarint32Slice, appendVarint32Slice + } + if nozero { + return sizeVarint32ValueNoZero, appendVarint32ValueNoZero + } + return sizeVarint32Value, appendVarint32Value + } + case reflect.Int32: + switch encoding { + case "fixed32": + if pointer { + return sizeFixedS32Ptr, appendFixedS32Ptr + } + if slice { + if packed { + return sizeFixedS32PackedSlice, appendFixedS32PackedSlice + } + return sizeFixedS32Slice, appendFixedS32Slice + } + if nozero { + return sizeFixedS32ValueNoZero, appendFixedS32ValueNoZero + } + return sizeFixedS32Value, appendFixedS32Value + case "varint": + if pointer { + return sizeVarintS32Ptr, appendVarintS32Ptr + } + if slice { + if packed { + return sizeVarintS32PackedSlice, appendVarintS32PackedSlice + } + return sizeVarintS32Slice, appendVarintS32Slice + } + if nozero { + return sizeVarintS32ValueNoZero, appendVarintS32ValueNoZero + } + return sizeVarintS32Value, appendVarintS32Value + case "zigzag32": + if pointer { + return sizeZigzag32Ptr, appendZigzag32Ptr + } + if slice { + if packed { + return sizeZigzag32PackedSlice, appendZigzag32PackedSlice + } + return sizeZigzag32Slice, appendZigzag32Slice + } + if nozero { + return sizeZigzag32ValueNoZero, appendZigzag32ValueNoZero + } + return sizeZigzag32Value, appendZigzag32Value + } + case reflect.Uint64: + switch encoding { + case "fixed64": + if pointer { + return sizeFixed64Ptr, appendFixed64Ptr + } + if slice { + if packed { + return sizeFixed64PackedSlice, appendFixed64PackedSlice + } + return sizeFixed64Slice, appendFixed64Slice + } + if nozero { + return sizeFixed64ValueNoZero, appendFixed64ValueNoZero + } + return sizeFixed64Value, appendFixed64Value + case "varint": + if pointer { + return sizeVarint64Ptr, appendVarint64Ptr + } + if slice { + if packed { + return sizeVarint64PackedSlice, appendVarint64PackedSlice + } + return sizeVarint64Slice, appendVarint64Slice + } + if nozero { + return sizeVarint64ValueNoZero, appendVarint64ValueNoZero + } + return sizeVarint64Value, appendVarint64Value + } + case reflect.Int64: + switch encoding { + case "fixed64": + if pointer { + return sizeFixedS64Ptr, appendFixedS64Ptr + } + if slice { + if packed { + return sizeFixedS64PackedSlice, appendFixedS64PackedSlice + } + return sizeFixedS64Slice, appendFixedS64Slice + } + if nozero { + return sizeFixedS64ValueNoZero, appendFixedS64ValueNoZero + } + return sizeFixedS64Value, appendFixedS64Value + case "varint": + if pointer { + return sizeVarintS64Ptr, appendVarintS64Ptr + } + if slice { + if packed { + return sizeVarintS64PackedSlice, appendVarintS64PackedSlice + } + return sizeVarintS64Slice, appendVarintS64Slice + } + if nozero { + return sizeVarintS64ValueNoZero, appendVarintS64ValueNoZero + } + return sizeVarintS64Value, appendVarintS64Value + case "zigzag64": + if pointer { + return sizeZigzag64Ptr, appendZigzag64Ptr + } + if slice { + if packed { + return sizeZigzag64PackedSlice, appendZigzag64PackedSlice + } + return sizeZigzag64Slice, appendZigzag64Slice + } + if nozero { + return sizeZigzag64ValueNoZero, appendZigzag64ValueNoZero + } + return sizeZigzag64Value, appendZigzag64Value + } + case reflect.Float32: + if pointer { + return sizeFloat32Ptr, appendFloat32Ptr + } + if slice { + if packed { + return sizeFloat32PackedSlice, appendFloat32PackedSlice + } + return sizeFloat32Slice, appendFloat32Slice + } + if nozero { + return sizeFloat32ValueNoZero, appendFloat32ValueNoZero + } + return sizeFloat32Value, appendFloat32Value + case reflect.Float64: + if pointer { + return sizeFloat64Ptr, appendFloat64Ptr + } + if slice { + if packed { + return sizeFloat64PackedSlice, appendFloat64PackedSlice + } + return sizeFloat64Slice, appendFloat64Slice + } + if nozero { + return sizeFloat64ValueNoZero, appendFloat64ValueNoZero + } + return sizeFloat64Value, appendFloat64Value + case reflect.String: + if validateUTF8 { + if pointer { + return sizeStringPtr, appendUTF8StringPtr + } + if slice { + return sizeStringSlice, appendUTF8StringSlice + } + if nozero { + return sizeStringValueNoZero, appendUTF8StringValueNoZero + } + return sizeStringValue, appendUTF8StringValue + } + if pointer { + return sizeStringPtr, appendStringPtr + } + if slice { + return sizeStringSlice, appendStringSlice + } + if nozero { + return sizeStringValueNoZero, appendStringValueNoZero + } + return sizeStringValue, appendStringValue + case reflect.Slice: + if slice { + return sizeBytesSlice, appendBytesSlice + } + if oneof { + // Oneof bytes field may also have "proto3" tag. + // We want to marshal it as a oneof field. Do this + // check before the proto3 check. + return sizeBytesOneof, appendBytesOneof + } + if proto3 { + return sizeBytes3, appendBytes3 + } + return sizeBytes, appendBytes + case reflect.Struct: + switch encoding { + case "group": + if slice { + return makeGroupSliceMarshaler(getMarshalInfo(t)) + } + return makeGroupMarshaler(getMarshalInfo(t)) + case "bytes": + if slice { + return makeMessageSliceMarshaler(getMarshalInfo(t)) + } + return makeMessageMarshaler(getMarshalInfo(t)) + } + } + panic(fmt.Sprintf("unknown or mismatched type: type: %v, wire type: %v", t, encoding)) +} + +// Below are functions to size/marshal a specific type of a field. +// They are stored in the field's info, and called by function pointers. +// They have type sizer or marshaler. + +func sizeFixed32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFixed32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFixed32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFixed32Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + return (4 + tagsize) * len(s) +} +func sizeFixed32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFixedS32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFixedS32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFixedS32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFixedS32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + return (4 + tagsize) * len(s) +} +func sizeFixedS32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFloat32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFloat32ValueNoZero(ptr pointer, tagsize int) int { + v := math.Float32bits(*ptr.toFloat32()) + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFloat32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toFloat32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFloat32Slice(ptr pointer, tagsize int) int { + s := *ptr.toFloat32Slice() + return (4 + tagsize) * len(s) +} +func sizeFloat32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toFloat32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFixed64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFixed64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFixed64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFixed64Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + return (8 + tagsize) * len(s) +} +func sizeFixed64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeFixedS64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFixedS64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFixedS64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFixedS64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + return (8 + tagsize) * len(s) +} +func sizeFixedS64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeFloat64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFloat64ValueNoZero(ptr pointer, tagsize int) int { + v := math.Float64bits(*ptr.toFloat64()) + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFloat64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toFloat64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFloat64Slice(ptr pointer, tagsize int) int { + s := *ptr.toFloat64Slice() + return (8 + tagsize) * len(s) +} +func sizeFloat64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toFloat64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeVarint32Value(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarint32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarint32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint32Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarint32Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarint32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarintS32Value(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarintS32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarintS32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarint64Value(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + return SizeVarint(v) + tagsize +} +func sizeVarint64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + if v == 0 { + return 0 + } + return SizeVarint(v) + tagsize +} +func sizeVarint64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint64Ptr() + if p == nil { + return 0 + } + return SizeVarint(*p) + tagsize +} +func sizeVarint64Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(v) + tagsize + } + return n +} +func sizeVarint64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(v) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarintS64Value(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarintS64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarintS64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeZigzag32Value(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + v := *p + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize + } + return n +} +func sizeZigzag32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31)))) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeZigzag64Value(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + v := *p + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize + } + return n +} +func sizeZigzag64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63))) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeBoolValue(_ pointer, tagsize int) int { + return 1 + tagsize +} +func sizeBoolValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toBool() + if !v { + return 0 + } + return 1 + tagsize +} +func sizeBoolPtr(ptr pointer, tagsize int) int { + p := *ptr.toBoolPtr() + if p == nil { + return 0 + } + return 1 + tagsize +} +func sizeBoolSlice(ptr pointer, tagsize int) int { + s := *ptr.toBoolSlice() + return (1 + tagsize) * len(s) +} +func sizeBoolPackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toBoolSlice() + if len(s) == 0 { + return 0 + } + return len(s) + SizeVarint(uint64(len(s))) + tagsize +} +func sizeStringValue(ptr pointer, tagsize int) int { + v := *ptr.toString() + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toString() + if v == "" { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringPtr(ptr pointer, tagsize int) int { + p := *ptr.toStringPtr() + if p == nil { + return 0 + } + v := *p + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringSlice(ptr pointer, tagsize int) int { + s := *ptr.toStringSlice() + n := 0 + for _, v := range s { + n += len(v) + SizeVarint(uint64(len(v))) + tagsize + } + return n +} +func sizeBytes(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + if v == nil { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytes3(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + if len(v) == 0 { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytesOneof(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytesSlice(ptr pointer, tagsize int) int { + s := *ptr.toBytesSlice() + n := 0 + for _, v := range s { + n += len(v) + SizeVarint(uint64(len(v))) + tagsize + } + return n +} + +// appendFixed32 appends an encoded fixed32 to b. +func appendFixed32(b []byte, v uint32) []byte { + b = append(b, + byte(v), + byte(v>>8), + byte(v>>16), + byte(v>>24)) + return b +} + +// appendFixed64 appends an encoded fixed64 to b. +func appendFixed64(b []byte, v uint64) []byte { + b = append(b, + byte(v), + byte(v>>8), + byte(v>>16), + byte(v>>24), + byte(v>>32), + byte(v>>40), + byte(v>>48), + byte(v>>56)) + return b +} + +// appendVarint appends an encoded varint to b. +func appendVarint(b []byte, v uint64) []byte { + // TODO: make 1-byte (maybe 2-byte) case inline-able, once we + // have non-leaf inliner. + switch { + case v < 1<<7: + b = append(b, byte(v)) + case v < 1<<14: + b = append(b, + byte(v&0x7f|0x80), + byte(v>>7)) + case v < 1<<21: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte(v>>14)) + case v < 1<<28: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte(v>>21)) + case v < 1<<35: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte(v>>28)) + case v < 1<<42: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte(v>>35)) + case v < 1<<49: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte(v>>42)) + case v < 1<<56: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte(v>>49)) + case v < 1<<63: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte(v>>56)) + default: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte((v>>56)&0x7f|0x80), + 1) + } + return b +} + +func appendFixed32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFixed32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFixed32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, *p) + return b, nil +} +func appendFixed32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + } + return b, nil +} +func appendFixed32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, v) + } + return b, nil +} +func appendFixedS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + return b, nil +} +func appendFixedS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + return b, nil +} +func appendFixedS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(*p)) + return b, nil +} +func appendFixedS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + } + return b, nil +} +func appendFixedS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, uint32(v)) + } + return b, nil +} +func appendFloat32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float32bits(*ptr.toFloat32()) + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFloat32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float32bits(*ptr.toFloat32()) + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFloat32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toFloat32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, math.Float32bits(*p)) + return b, nil +} +func appendFloat32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, math.Float32bits(v)) + } + return b, nil +} +func appendFloat32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, math.Float32bits(v)) + } + return b, nil +} +func appendFixed64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFixed64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFixed64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, *p) + return b, nil +} +func appendFixed64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + } + return b, nil +} +func appendFixed64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, v) + } + return b, nil +} +func appendFixedS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + return b, nil +} +func appendFixedS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + return b, nil +} +func appendFixedS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(*p)) + return b, nil +} +func appendFixedS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + } + return b, nil +} +func appendFixedS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, uint64(v)) + } + return b, nil +} +func appendFloat64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float64bits(*ptr.toFloat64()) + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFloat64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float64bits(*ptr.toFloat64()) + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFloat64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toFloat64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, math.Float64bits(*p)) + return b, nil +} +func appendFloat64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, math.Float64bits(v)) + } + return b, nil +} +func appendFloat64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, math.Float64bits(v)) + } + return b, nil +} +func appendVarint32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarint32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarint32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarint32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarint32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarintS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarint64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + return b, nil +} +func appendVarint64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + return b, nil +} +func appendVarint64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, *p) + return b, nil +} +func appendVarint64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + } + return b, nil +} +func appendVarint64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(v) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, v) + } + return b, nil +} +func appendVarintS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarintS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendZigzag32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + v := *p + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + } + return b, nil +} +func appendZigzag32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31)))) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + } + return b, nil +} +func appendZigzag64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + v := *p + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + } + return b, nil +} +func appendZigzag64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63))) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + } + return b, nil +} +func appendBoolValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBool() + b = appendVarint(b, wiretag) + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + return b, nil +} +func appendBoolValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBool() + if !v { + return b, nil + } + b = appendVarint(b, wiretag) + b = append(b, 1) + return b, nil +} + +func appendBoolPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toBoolPtr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + if *p { + b = append(b, 1) + } else { + b = append(b, 0) + } + return b, nil +} +func appendBoolSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBoolSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + } + return b, nil +} +func appendBoolPackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBoolSlice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(len(s))) + for _, v := range s { + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + } + return b, nil +} +func appendStringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toString() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toString() + if v == "" { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toStringPtr() + if p == nil { + return b, nil + } + v := *p + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toStringSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + return b, nil +} +func appendUTF8StringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + v := *ptr.toString() + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + v := *ptr.toString() + if v == "" { + return b, nil + } + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + p := *ptr.toStringPtr() + if p == nil { + return b, nil + } + v := *p + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + s := *ptr.toStringSlice() + for _, v := range s { + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendBytes(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + if v == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytes3(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + if len(v) == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytesOneof(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytesSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBytesSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + return b, nil +} + +// makeGroupMarshaler returns the sizer and marshaler for a group. +// u is the marshal info of the underlying message. +func makeGroupMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + p := ptr.getPointer() + if p.isNil() { + return 0 + } + return u.size(p) + 2*tagsize + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + p := ptr.getPointer() + if p.isNil() { + return b, nil + } + var err error + b = appendVarint(b, wiretag) // start group + b, err = u.marshal(b, p, deterministic) + b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group + return b, err + } +} + +// makeGroupSliceMarshaler returns the sizer and marshaler for a group slice. +// u is the marshal info of the underlying message. +func makeGroupSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getPointerSlice() + n := 0 + for _, v := range s { + if v.isNil() { + continue + } + n += u.size(v) + 2*tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getPointerSlice() + var err error + var nerr nonFatal + for _, v := range s { + if v.isNil() { + return b, errRepeatedHasNil + } + b = appendVarint(b, wiretag) // start group + b, err = u.marshal(b, v, deterministic) + b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group + if !nerr.Merge(err) { + if err == ErrNil { + err = errRepeatedHasNil + } + return b, err + } + } + return b, nerr.E + } +} + +// makeMessageMarshaler returns the sizer and marshaler for a message field. +// u is the marshal info of the message. +func makeMessageMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + p := ptr.getPointer() + if p.isNil() { + return 0 + } + siz := u.size(p) + return siz + SizeVarint(uint64(siz)) + tagsize + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + p := ptr.getPointer() + if p.isNil() { + return b, nil + } + b = appendVarint(b, wiretag) + siz := u.cachedsize(p) + b = appendVarint(b, uint64(siz)) + return u.marshal(b, p, deterministic) + } +} + +// makeMessageSliceMarshaler returns the sizer and marshaler for a message slice. +// u is the marshal info of the message. +func makeMessageSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getPointerSlice() + n := 0 + for _, v := range s { + if v.isNil() { + continue + } + siz := u.size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getPointerSlice() + var err error + var nerr nonFatal + for _, v := range s { + if v.isNil() { + return b, errRepeatedHasNil + } + b = appendVarint(b, wiretag) + siz := u.cachedsize(v) + b = appendVarint(b, uint64(siz)) + b, err = u.marshal(b, v, deterministic) + + if !nerr.Merge(err) { + if err == ErrNil { + err = errRepeatedHasNil + } + return b, err + } + } + return b, nerr.E + } +} + +// makeMapMarshaler returns the sizer and marshaler for a map field. +// f is the pointer to the reflect data structure of the field. +func makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) { + // figure out key and value type + t := f.Type + keyType := t.Key() + valType := t.Elem() + keyTags := strings.Split(f.Tag.Get("protobuf_key"), ",") + valTags := strings.Split(f.Tag.Get("protobuf_val"), ",") + keySizer, keyMarshaler := typeMarshaler(keyType, keyTags, false, false) // don't omit zero value in map + valSizer, valMarshaler := typeMarshaler(valType, valTags, false, false) // don't omit zero value in map + keyWireTag := 1<<3 | wiretype(keyTags[0]) + valWireTag := 2<<3 | wiretype(valTags[0]) + + // We create an interface to get the addresses of the map key and value. + // If value is pointer-typed, the interface is a direct interface, the + // idata itself is the value. Otherwise, the idata is the pointer to the + // value. + // Key cannot be pointer-typed. + valIsPtr := valType.Kind() == reflect.Ptr + + // If value is a message with nested maps, calling + // valSizer in marshal may be quadratic. We should use + // cached version in marshal (but not in size). + // If value is not message type, we don't have size cache, + // but it cannot be nested either. Just use valSizer. + valCachedSizer := valSizer + if valIsPtr && valType.Elem().Kind() == reflect.Struct { + u := getMarshalInfo(valType.Elem()) + valCachedSizer = func(ptr pointer, tagsize int) int { + // Same as message sizer, but use cache. + p := ptr.getPointer() + if p.isNil() { + return 0 + } + siz := u.cachedsize(p) + return siz + SizeVarint(uint64(siz)) + tagsize + } + } + return func(ptr pointer, tagsize int) int { + m := ptr.asPointerTo(t).Elem() // the map + n := 0 + for _, k := range m.MapKeys() { + ki := k.Interface() + vi := m.MapIndex(k).Interface() + kaddr := toAddrPointer(&ki, false, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value + siz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, tag uint64, deterministic bool) ([]byte, error) { + m := ptr.asPointerTo(t).Elem() // the map + var err error + keys := m.MapKeys() + if len(keys) > 1 && deterministic { + sort.Sort(mapKeys(keys)) + } + + var nerr nonFatal + for _, k := range keys { + ki := k.Interface() + vi := m.MapIndex(k).Interface() + kaddr := toAddrPointer(&ki, false, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value + b = appendVarint(b, tag) + siz := keySizer(kaddr, 1) + valCachedSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) + b = appendVarint(b, uint64(siz)) + b, err = keyMarshaler(b, kaddr, keyWireTag, deterministic) + if !nerr.Merge(err) { + return b, err + } + b, err = valMarshaler(b, vaddr, valWireTag, deterministic) + if err != ErrNil && !nerr.Merge(err) { // allow nil value in map + return b, err + } + } + return b, nerr.E + } +} + +// makeOneOfMarshaler returns the sizer and marshaler for a oneof field. +// fi is the marshal info of the field. +// f is the pointer to the reflect data structure of the field. +func makeOneOfMarshaler(fi *marshalFieldInfo, f *reflect.StructField) (sizer, marshaler) { + // Oneof field is an interface. We need to get the actual data type on the fly. + t := f.Type + return func(ptr pointer, _ int) int { + p := ptr.getInterfacePointer() + if p.isNil() { + return 0 + } + v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct + telem := v.Type() + e := fi.oneofElems[telem] + return e.sizer(p, e.tagsize) + }, + func(b []byte, ptr pointer, _ uint64, deterministic bool) ([]byte, error) { + p := ptr.getInterfacePointer() + if p.isNil() { + return b, nil + } + v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct + telem := v.Type() + if telem.Field(0).Type.Kind() == reflect.Ptr && p.getPointer().isNil() { + return b, errOneofHasNil + } + e := fi.oneofElems[telem] + return e.marshaler(b, p, e.wiretag, deterministic) + } +} + +// sizeExtensions computes the size of encoded data for a XXX_InternalExtensions field. +func (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int { + m, mu := ext.extensionsRead() + if m == nil { + return 0 + } + mu.Lock() + + n := 0 + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + n += len(e.enc) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + n += ei.sizer(p, ei.tagsize) + } + mu.Unlock() + return n +} + +// appendExtensions marshals a XXX_InternalExtensions field to the end of byte slice b. +func (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) { + m, mu := ext.extensionsRead() + if m == nil { + return b, nil + } + mu.Lock() + defer mu.Unlock() + + var err error + var nerr nonFatal + + // Fast-path for common cases: zero or one extensions. + // Don't bother sorting the keys. + if len(m) <= 1 { + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E + } + + // Sort the keys to provide a deterministic encoding. + // Not sure this is required, but the old code does it. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + for _, k := range keys { + e := m[int32(k)] + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// message set format is: +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// }; +// } + +// sizeMessageSet computes the size of encoded data for a XXX_InternalExtensions field +// in message set format (above). +func (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int { + m, mu := ext.extensionsRead() + if m == nil { + return 0 + } + mu.Lock() + + n := 0 + for id, e := range m { + n += 2 // start group, end group. tag = 1 (size=1) + n += SizeVarint(uint64(id)) + 1 // type_id, tag = 2 (size=1) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + siz := len(msgWithLen) + n += siz + 1 // message, tag = 3 (size=1) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + n += ei.sizer(p, 1) // message, tag = 3 (size=1) + } + mu.Unlock() + return n +} + +// appendMessageSet marshals a XXX_InternalExtensions field in message set format (above) +// to the end of byte slice b. +func (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) { + m, mu := ext.extensionsRead() + if m == nil { + return b, nil + } + mu.Lock() + defer mu.Unlock() + + var err error + var nerr nonFatal + + // Fast-path for common cases: zero or one extensions. + // Don't bother sorting the keys. + if len(m) <= 1 { + for id, e := range m { + b = append(b, 1<<3|WireStartGroup) + b = append(b, 2<<3|WireVarint) + b = appendVarint(b, uint64(id)) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + b = append(b, 3<<3|WireBytes) + b = append(b, msgWithLen...) + b = append(b, 1<<3|WireEndGroup) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) + if !nerr.Merge(err) { + return b, err + } + b = append(b, 1<<3|WireEndGroup) + } + return b, nerr.E + } + + // Sort the keys to provide a deterministic encoding. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + for _, id := range keys { + e := m[int32(id)] + b = append(b, 1<<3|WireStartGroup) + b = append(b, 2<<3|WireVarint) + b = appendVarint(b, uint64(id)) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + b = append(b, 3<<3|WireBytes) + b = append(b, msgWithLen...) + b = append(b, 1<<3|WireEndGroup) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) + b = append(b, 1<<3|WireEndGroup) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// sizeV1Extensions computes the size of encoded data for a V1-API extension field. +func (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int { + if m == nil { + return 0 + } + + n := 0 + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + n += len(e.enc) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + n += ei.sizer(p, ei.tagsize) + } + return n +} + +// appendV1Extensions marshals a V1-API extension field to the end of byte slice b. +func (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, deterministic bool) ([]byte, error) { + if m == nil { + return b, nil + } + + // Sort the keys to provide a deterministic encoding. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + var err error + var nerr nonFatal + for _, k := range keys { + e := m[int32(k)] + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// newMarshaler is the interface representing objects that can marshal themselves. +// +// This exists to support protoc-gen-go generated messages. +// The proto package will stop type-asserting to this interface in the future. +// +// DO NOT DEPEND ON THIS. +type newMarshaler interface { + XXX_Size() int + XXX_Marshal(b []byte, deterministic bool) ([]byte, error) +} + +// Size returns the encoded size of a protocol buffer message. +// This is the main entry point. +func Size(pb Message) int { + if m, ok := pb.(newMarshaler); ok { + return m.XXX_Size() + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + b, _ := m.Marshal() + return len(b) + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return 0 + } + var info InternalMessageInfo + return info.Size(pb) +} + +// Marshal takes a protocol buffer message +// and encodes it into the wire format, returning the data. +// This is the main entry point. +func Marshal(pb Message) ([]byte, error) { + if m, ok := pb.(newMarshaler); ok { + siz := m.XXX_Size() + b := make([]byte, 0, siz) + return m.XXX_Marshal(b, false) + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + return m.Marshal() + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return nil, ErrNil + } + var info InternalMessageInfo + siz := info.Size(pb) + b := make([]byte, 0, siz) + return info.Marshal(b, pb, false) +} + +// Marshal takes a protocol buffer message +// and encodes it into the wire format, writing the result to the +// Buffer. +// This is an alternative entry point. It is not necessary to use +// a Buffer for most applications. +func (p *Buffer) Marshal(pb Message) error { + var err error + if m, ok := pb.(newMarshaler); ok { + siz := m.XXX_Size() + p.grow(siz) // make sure buf has enough capacity + p.buf, err = m.XXX_Marshal(p.buf, p.deterministic) + return err + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + b, err := m.Marshal() + p.buf = append(p.buf, b...) + return err + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return ErrNil + } + var info InternalMessageInfo + siz := info.Size(pb) + p.grow(siz) // make sure buf has enough capacity + p.buf, err = info.Marshal(p.buf, pb, p.deterministic) + return err +} + +// grow grows the buffer's capacity, if necessary, to guarantee space for +// another n bytes. After grow(n), at least n bytes can be written to the +// buffer without another allocation. +func (p *Buffer) grow(n int) { + need := len(p.buf) + n + if need <= cap(p.buf) { + return + } + newCap := len(p.buf) * 2 + if newCap < need { + newCap = need + } + p.buf = append(make([]byte, 0, newCap), p.buf...) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_merge.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_merge.go new file mode 100644 index 0000000..5525def --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_merge.go @@ -0,0 +1,654 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "fmt" + "reflect" + "strings" + "sync" + "sync/atomic" +) + +// Merge merges the src message into dst. +// This assumes that dst and src of the same type and are non-nil. +func (a *InternalMessageInfo) Merge(dst, src Message) { + mi := atomicLoadMergeInfo(&a.merge) + if mi == nil { + mi = getMergeInfo(reflect.TypeOf(dst).Elem()) + atomicStoreMergeInfo(&a.merge, mi) + } + mi.merge(toPointer(&dst), toPointer(&src)) +} + +type mergeInfo struct { + typ reflect.Type + + initialized int32 // 0: only typ is valid, 1: everything is valid + lock sync.Mutex + + fields []mergeFieldInfo + unrecognized field // Offset of XXX_unrecognized +} + +type mergeFieldInfo struct { + field field // Offset of field, guaranteed to be valid + + // isPointer reports whether the value in the field is a pointer. + // This is true for the following situations: + // * Pointer to struct + // * Pointer to basic type (proto2 only) + // * Slice (first value in slice header is a pointer) + // * String (first value in string header is a pointer) + isPointer bool + + // basicWidth reports the width of the field assuming that it is directly + // embedded in the struct (as is the case for basic types in proto3). + // The possible values are: + // 0: invalid + // 1: bool + // 4: int32, uint32, float32 + // 8: int64, uint64, float64 + basicWidth int + + // Where dst and src are pointers to the types being merged. + merge func(dst, src pointer) +} + +var ( + mergeInfoMap = map[reflect.Type]*mergeInfo{} + mergeInfoLock sync.Mutex +) + +func getMergeInfo(t reflect.Type) *mergeInfo { + mergeInfoLock.Lock() + defer mergeInfoLock.Unlock() + mi := mergeInfoMap[t] + if mi == nil { + mi = &mergeInfo{typ: t} + mergeInfoMap[t] = mi + } + return mi +} + +// merge merges src into dst assuming they are both of type *mi.typ. +func (mi *mergeInfo) merge(dst, src pointer) { + if dst.isNil() { + panic("proto: nil destination") + } + if src.isNil() { + return // Nothing to do. + } + + if atomic.LoadInt32(&mi.initialized) == 0 { + mi.computeMergeInfo() + } + + for _, fi := range mi.fields { + sfp := src.offset(fi.field) + + // As an optimization, we can avoid the merge function call cost + // if we know for sure that the source will have no effect + // by checking if it is the zero value. + if unsafeAllowed { + if fi.isPointer && sfp.getPointer().isNil() { // Could be slice or string + continue + } + if fi.basicWidth > 0 { + switch { + case fi.basicWidth == 1 && !*sfp.toBool(): + continue + case fi.basicWidth == 4 && *sfp.toUint32() == 0: + continue + case fi.basicWidth == 8 && *sfp.toUint64() == 0: + continue + } + } + } + + dfp := dst.offset(fi.field) + fi.merge(dfp, sfp) + } + + // TODO: Make this faster? + out := dst.asPointerTo(mi.typ).Elem() + in := src.asPointerTo(mi.typ).Elem() + if emIn, err := extendable(in.Addr().Interface()); err == nil { + emOut, _ := extendable(out.Addr().Interface()) + mIn, muIn := emIn.extensionsRead() + if mIn != nil { + mOut := emOut.extensionsWrite() + muIn.Lock() + mergeExtension(mOut, mIn) + muIn.Unlock() + } + } + + if mi.unrecognized.IsValid() { + if b := *src.offset(mi.unrecognized).toBytes(); len(b) > 0 { + *dst.offset(mi.unrecognized).toBytes() = append([]byte(nil), b...) + } + } +} + +func (mi *mergeInfo) computeMergeInfo() { + mi.lock.Lock() + defer mi.lock.Unlock() + if mi.initialized != 0 { + return + } + t := mi.typ + n := t.NumField() + + props := GetProperties(t) + for i := 0; i < n; i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + + mfi := mergeFieldInfo{field: toField(&f)} + tf := f.Type + + // As an optimization, we can avoid the merge function call cost + // if we know for sure that the source will have no effect + // by checking if it is the zero value. + if unsafeAllowed { + switch tf.Kind() { + case reflect.Ptr, reflect.Slice, reflect.String: + // As a special case, we assume slices and strings are pointers + // since we know that the first field in the SliceSlice or + // StringHeader is a data pointer. + mfi.isPointer = true + case reflect.Bool: + mfi.basicWidth = 1 + case reflect.Int32, reflect.Uint32, reflect.Float32: + mfi.basicWidth = 4 + case reflect.Int64, reflect.Uint64, reflect.Float64: + mfi.basicWidth = 8 + } + } + + // Unwrap tf to get at its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic("both pointer and slice for basic type in " + tf.Name()) + } + + switch tf.Kind() { + case reflect.Int32: + switch { + case isSlice: // E.g., []int32 + mfi.merge = func(dst, src pointer) { + // NOTE: toInt32Slice is not defined (see pointer_reflect.go). + /* + sfsp := src.toInt32Slice() + if *sfsp != nil { + dfsp := dst.toInt32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []int64{} + } + } + */ + sfs := src.getInt32Slice() + if sfs != nil { + dfs := dst.getInt32Slice() + dfs = append(dfs, sfs...) + if dfs == nil { + dfs = []int32{} + } + dst.setInt32Slice(dfs) + } + } + case isPointer: // E.g., *int32 + mfi.merge = func(dst, src pointer) { + // NOTE: toInt32Ptr is not defined (see pointer_reflect.go). + /* + sfpp := src.toInt32Ptr() + if *sfpp != nil { + dfpp := dst.toInt32Ptr() + if *dfpp == nil { + *dfpp = Int32(**sfpp) + } else { + **dfpp = **sfpp + } + } + */ + sfp := src.getInt32Ptr() + if sfp != nil { + dfp := dst.getInt32Ptr() + if dfp == nil { + dst.setInt32Ptr(*sfp) + } else { + *dfp = *sfp + } + } + } + default: // E.g., int32 + mfi.merge = func(dst, src pointer) { + if v := *src.toInt32(); v != 0 { + *dst.toInt32() = v + } + } + } + case reflect.Int64: + switch { + case isSlice: // E.g., []int64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toInt64Slice() + if *sfsp != nil { + dfsp := dst.toInt64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []int64{} + } + } + } + case isPointer: // E.g., *int64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toInt64Ptr() + if *sfpp != nil { + dfpp := dst.toInt64Ptr() + if *dfpp == nil { + *dfpp = Int64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., int64 + mfi.merge = func(dst, src pointer) { + if v := *src.toInt64(); v != 0 { + *dst.toInt64() = v + } + } + } + case reflect.Uint32: + switch { + case isSlice: // E.g., []uint32 + mfi.merge = func(dst, src pointer) { + sfsp := src.toUint32Slice() + if *sfsp != nil { + dfsp := dst.toUint32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []uint32{} + } + } + } + case isPointer: // E.g., *uint32 + mfi.merge = func(dst, src pointer) { + sfpp := src.toUint32Ptr() + if *sfpp != nil { + dfpp := dst.toUint32Ptr() + if *dfpp == nil { + *dfpp = Uint32(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., uint32 + mfi.merge = func(dst, src pointer) { + if v := *src.toUint32(); v != 0 { + *dst.toUint32() = v + } + } + } + case reflect.Uint64: + switch { + case isSlice: // E.g., []uint64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toUint64Slice() + if *sfsp != nil { + dfsp := dst.toUint64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []uint64{} + } + } + } + case isPointer: // E.g., *uint64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toUint64Ptr() + if *sfpp != nil { + dfpp := dst.toUint64Ptr() + if *dfpp == nil { + *dfpp = Uint64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., uint64 + mfi.merge = func(dst, src pointer) { + if v := *src.toUint64(); v != 0 { + *dst.toUint64() = v + } + } + } + case reflect.Float32: + switch { + case isSlice: // E.g., []float32 + mfi.merge = func(dst, src pointer) { + sfsp := src.toFloat32Slice() + if *sfsp != nil { + dfsp := dst.toFloat32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []float32{} + } + } + } + case isPointer: // E.g., *float32 + mfi.merge = func(dst, src pointer) { + sfpp := src.toFloat32Ptr() + if *sfpp != nil { + dfpp := dst.toFloat32Ptr() + if *dfpp == nil { + *dfpp = Float32(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., float32 + mfi.merge = func(dst, src pointer) { + if v := *src.toFloat32(); v != 0 { + *dst.toFloat32() = v + } + } + } + case reflect.Float64: + switch { + case isSlice: // E.g., []float64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toFloat64Slice() + if *sfsp != nil { + dfsp := dst.toFloat64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []float64{} + } + } + } + case isPointer: // E.g., *float64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toFloat64Ptr() + if *sfpp != nil { + dfpp := dst.toFloat64Ptr() + if *dfpp == nil { + *dfpp = Float64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., float64 + mfi.merge = func(dst, src pointer) { + if v := *src.toFloat64(); v != 0 { + *dst.toFloat64() = v + } + } + } + case reflect.Bool: + switch { + case isSlice: // E.g., []bool + mfi.merge = func(dst, src pointer) { + sfsp := src.toBoolSlice() + if *sfsp != nil { + dfsp := dst.toBoolSlice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []bool{} + } + } + } + case isPointer: // E.g., *bool + mfi.merge = func(dst, src pointer) { + sfpp := src.toBoolPtr() + if *sfpp != nil { + dfpp := dst.toBoolPtr() + if *dfpp == nil { + *dfpp = Bool(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., bool + mfi.merge = func(dst, src pointer) { + if v := *src.toBool(); v { + *dst.toBool() = v + } + } + } + case reflect.String: + switch { + case isSlice: // E.g., []string + mfi.merge = func(dst, src pointer) { + sfsp := src.toStringSlice() + if *sfsp != nil { + dfsp := dst.toStringSlice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []string{} + } + } + } + case isPointer: // E.g., *string + mfi.merge = func(dst, src pointer) { + sfpp := src.toStringPtr() + if *sfpp != nil { + dfpp := dst.toStringPtr() + if *dfpp == nil { + *dfpp = String(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., string + mfi.merge = func(dst, src pointer) { + if v := *src.toString(); v != "" { + *dst.toString() = v + } + } + } + case reflect.Slice: + isProto3 := props.Prop[i].proto3 + switch { + case isPointer: + panic("bad pointer in byte slice case in " + tf.Name()) + case tf.Elem().Kind() != reflect.Uint8: + panic("bad element kind in byte slice case in " + tf.Name()) + case isSlice: // E.g., [][]byte + mfi.merge = func(dst, src pointer) { + sbsp := src.toBytesSlice() + if *sbsp != nil { + dbsp := dst.toBytesSlice() + for _, sb := range *sbsp { + if sb == nil { + *dbsp = append(*dbsp, nil) + } else { + *dbsp = append(*dbsp, append([]byte{}, sb...)) + } + } + if *dbsp == nil { + *dbsp = [][]byte{} + } + } + } + default: // E.g., []byte + mfi.merge = func(dst, src pointer) { + sbp := src.toBytes() + if *sbp != nil { + dbp := dst.toBytes() + if !isProto3 || len(*sbp) > 0 { + *dbp = append([]byte{}, *sbp...) + } + } + } + } + case reflect.Struct: + switch { + case !isPointer: + panic(fmt.Sprintf("message field %s without pointer", tf)) + case isSlice: // E.g., []*pb.T + mi := getMergeInfo(tf) + mfi.merge = func(dst, src pointer) { + sps := src.getPointerSlice() + if sps != nil { + dps := dst.getPointerSlice() + for _, sp := range sps { + var dp pointer + if !sp.isNil() { + dp = valToPointer(reflect.New(tf)) + mi.merge(dp, sp) + } + dps = append(dps, dp) + } + if dps == nil { + dps = []pointer{} + } + dst.setPointerSlice(dps) + } + } + default: // E.g., *pb.T + mi := getMergeInfo(tf) + mfi.merge = func(dst, src pointer) { + sp := src.getPointer() + if !sp.isNil() { + dp := dst.getPointer() + if dp.isNil() { + dp = valToPointer(reflect.New(tf)) + dst.setPointer(dp) + } + mi.merge(dp, sp) + } + } + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic("bad pointer or slice in map case in " + tf.Name()) + default: // E.g., map[K]V + mfi.merge = func(dst, src pointer) { + sm := src.asPointerTo(tf).Elem() + if sm.Len() == 0 { + return + } + dm := dst.asPointerTo(tf).Elem() + if dm.IsNil() { + dm.Set(reflect.MakeMap(tf)) + } + + switch tf.Elem().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + val = reflect.ValueOf(Clone(val.Interface().(Message))) + dm.SetMapIndex(key, val) + } + case reflect.Slice: // E.g. Bytes type (e.g., []byte) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + val = reflect.ValueOf(append([]byte{}, val.Bytes()...)) + dm.SetMapIndex(key, val) + } + default: // Basic type (e.g., string) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + dm.SetMapIndex(key, val) + } + } + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic("bad pointer or slice in interface case in " + tf.Name()) + default: // E.g., interface{} + // TODO: Make this faster? + mfi.merge = func(dst, src pointer) { + su := src.asPointerTo(tf).Elem() + if !su.IsNil() { + du := dst.asPointerTo(tf).Elem() + typ := su.Elem().Type() + if du.IsNil() || du.Elem().Type() != typ { + du.Set(reflect.New(typ.Elem())) // Initialize interface if empty + } + sv := su.Elem().Elem().Field(0) + if sv.Kind() == reflect.Ptr && sv.IsNil() { + return + } + dv := du.Elem().Elem().Field(0) + if dv.Kind() == reflect.Ptr && dv.IsNil() { + dv.Set(reflect.New(sv.Type().Elem())) // Initialize proto message if empty + } + switch sv.Type().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + Merge(dv.Interface().(Message), sv.Interface().(Message)) + case reflect.Slice: // E.g. Bytes type (e.g., []byte) + dv.Set(reflect.ValueOf(append([]byte{}, sv.Bytes()...))) + default: // Basic type (e.g., string) + dv.Set(sv) + } + } + } + } + default: + panic(fmt.Sprintf("merger not found for type:%s", tf)) + } + mi.fields = append(mi.fields, mfi) + } + + mi.unrecognized = invalidField + if f, ok := t.FieldByName("XXX_unrecognized"); ok { + if f.Type != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + mi.unrecognized = toField(&f) + } + + atomic.StoreInt32(&mi.initialized, 1) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_unmarshal.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_unmarshal.go new file mode 100644 index 0000000..acee2fc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/table_unmarshal.go @@ -0,0 +1,2053 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "errors" + "fmt" + "io" + "math" + "reflect" + "strconv" + "strings" + "sync" + "sync/atomic" + "unicode/utf8" +) + +// Unmarshal is the entry point from the generated .pb.go files. +// This function is not intended to be used by non-generated code. +// This function is not subject to any compatibility guarantee. +// msg contains a pointer to a protocol buffer struct. +// b is the data to be unmarshaled into the protocol buffer. +// a is a pointer to a place to store cached unmarshal information. +func (a *InternalMessageInfo) Unmarshal(msg Message, b []byte) error { + // Load the unmarshal information for this message type. + // The atomic load ensures memory consistency. + u := atomicLoadUnmarshalInfo(&a.unmarshal) + if u == nil { + // Slow path: find unmarshal info for msg, update a with it. + u = getUnmarshalInfo(reflect.TypeOf(msg).Elem()) + atomicStoreUnmarshalInfo(&a.unmarshal, u) + } + // Then do the unmarshaling. + err := u.unmarshal(toPointer(&msg), b) + return err +} + +type unmarshalInfo struct { + typ reflect.Type // type of the protobuf struct + + // 0 = only typ field is initialized + // 1 = completely initialized + initialized int32 + lock sync.Mutex // prevents double initialization + dense []unmarshalFieldInfo // fields indexed by tag # + sparse map[uint64]unmarshalFieldInfo // fields indexed by tag # + reqFields []string // names of required fields + reqMask uint64 // 1< 0 { + // Read tag and wire type. + // Special case 1 and 2 byte varints. + var x uint64 + if b[0] < 128 { + x = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + x = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + x, n = decodeVarint(b) + if n == 0 { + return io.ErrUnexpectedEOF + } + b = b[n:] + } + tag := x >> 3 + wire := int(x) & 7 + + // Dispatch on the tag to one of the unmarshal* functions below. + var f unmarshalFieldInfo + if tag < uint64(len(u.dense)) { + f = u.dense[tag] + } else { + f = u.sparse[tag] + } + if fn := f.unmarshal; fn != nil { + var err error + b, err = fn(b, m.offset(f.field), wire) + if err == nil { + reqMask |= f.reqMask + continue + } + if r, ok := err.(*RequiredNotSetError); ok { + // Remember this error, but keep parsing. We need to produce + // a full parse even if a required field is missing. + if errLater == nil { + errLater = r + } + reqMask |= f.reqMask + continue + } + if err != errInternalBadWireType { + if err == errInvalidUTF8 { + if errLater == nil { + fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name + errLater = &invalidUTF8Error{fullName} + } + continue + } + return err + } + // Fragments with bad wire type are treated as unknown fields. + } + + // Unknown tag. + if !u.unrecognized.IsValid() { + // Don't keep unrecognized data; just skip it. + var err error + b, err = skipField(b, wire) + if err != nil { + return err + } + continue + } + // Keep unrecognized data around. + // maybe in extensions, maybe in the unrecognized field. + z := m.offset(u.unrecognized).toBytes() + var emap map[int32]Extension + var e Extension + for _, r := range u.extensionRanges { + if uint64(r.Start) <= tag && tag <= uint64(r.End) { + if u.extensions.IsValid() { + mp := m.offset(u.extensions).toExtensions() + emap = mp.extensionsWrite() + e = emap[int32(tag)] + z = &e.enc + break + } + if u.oldExtensions.IsValid() { + p := m.offset(u.oldExtensions).toOldExtensions() + emap = *p + if emap == nil { + emap = map[int32]Extension{} + *p = emap + } + e = emap[int32(tag)] + z = &e.enc + break + } + panic("no extensions field available") + } + } + + // Use wire type to skip data. + var err error + b0 := b + b, err = skipField(b, wire) + if err != nil { + return err + } + *z = encodeVarint(*z, tag<<3|uint64(wire)) + *z = append(*z, b0[:len(b0)-len(b)]...) + + if emap != nil { + emap[int32(tag)] = e + } + } + if reqMask != u.reqMask && errLater == nil { + // A required field of this message is missing. + for _, n := range u.reqFields { + if reqMask&1 == 0 { + errLater = &RequiredNotSetError{n} + } + reqMask >>= 1 + } + } + return errLater +} + +// computeUnmarshalInfo fills in u with information for use +// in unmarshaling protocol buffers of type u.typ. +func (u *unmarshalInfo) computeUnmarshalInfo() { + u.lock.Lock() + defer u.lock.Unlock() + if u.initialized != 0 { + return + } + t := u.typ + n := t.NumField() + + // Set up the "not found" value for the unrecognized byte buffer. + // This is the default for proto3. + u.unrecognized = invalidField + u.extensions = invalidField + u.oldExtensions = invalidField + + // List of the generated type and offset for each oneof field. + type oneofField struct { + ityp reflect.Type // interface type of oneof field + field field // offset in containing message + } + var oneofFields []oneofField + + for i := 0; i < n; i++ { + f := t.Field(i) + if f.Name == "XXX_unrecognized" { + // The byte slice used to hold unrecognized input is special. + if f.Type != reflect.TypeOf(([]byte)(nil)) { + panic("bad type for XXX_unrecognized field: " + f.Type.Name()) + } + u.unrecognized = toField(&f) + continue + } + if f.Name == "XXX_InternalExtensions" { + // Ditto here. + if f.Type != reflect.TypeOf(XXX_InternalExtensions{}) { + panic("bad type for XXX_InternalExtensions field: " + f.Type.Name()) + } + u.extensions = toField(&f) + if f.Tag.Get("protobuf_messageset") == "1" { + u.isMessageSet = true + } + continue + } + if f.Name == "XXX_extensions" { + // An older form of the extensions field. + if f.Type != reflect.TypeOf((map[int32]Extension)(nil)) { + panic("bad type for XXX_extensions field: " + f.Type.Name()) + } + u.oldExtensions = toField(&f) + continue + } + if f.Name == "XXX_NoUnkeyedLiteral" || f.Name == "XXX_sizecache" { + continue + } + + oneof := f.Tag.Get("protobuf_oneof") + if oneof != "" { + oneofFields = append(oneofFields, oneofField{f.Type, toField(&f)}) + // The rest of oneof processing happens below. + continue + } + + tags := f.Tag.Get("protobuf") + tagArray := strings.Split(tags, ",") + if len(tagArray) < 2 { + panic("protobuf tag not enough fields in " + t.Name() + "." + f.Name + ": " + tags) + } + tag, err := strconv.Atoi(tagArray[1]) + if err != nil { + panic("protobuf tag field not an integer: " + tagArray[1]) + } + + name := "" + for _, tag := range tagArray[3:] { + if strings.HasPrefix(tag, "name=") { + name = tag[5:] + } + } + + // Extract unmarshaling function from the field (its type and tags). + unmarshal := fieldUnmarshaler(&f) + + // Required field? + var reqMask uint64 + if tagArray[2] == "req" { + bit := len(u.reqFields) + u.reqFields = append(u.reqFields, name) + reqMask = uint64(1) << uint(bit) + // TODO: if we have more than 64 required fields, we end up + // not verifying that all required fields are present. + // Fix this, perhaps using a count of required fields? + } + + // Store the info in the correct slot in the message. + u.setTag(tag, toField(&f), unmarshal, reqMask, name) + } + + // Find any types associated with oneof fields. + var oneofImplementers []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oneofImplementers = m.XXX_OneofFuncs() + case oneofWrappersIface: + oneofImplementers = m.XXX_OneofWrappers() + } + for _, v := range oneofImplementers { + tptr := reflect.TypeOf(v) // *Msg_X + typ := tptr.Elem() // Msg_X + + f := typ.Field(0) // oneof implementers have one field + baseUnmarshal := fieldUnmarshaler(&f) + tags := strings.Split(f.Tag.Get("protobuf"), ",") + fieldNum, err := strconv.Atoi(tags[1]) + if err != nil { + panic("protobuf tag field not an integer: " + tags[1]) + } + var name string + for _, tag := range tags { + if strings.HasPrefix(tag, "name=") { + name = strings.TrimPrefix(tag, "name=") + break + } + } + + // Find the oneof field that this struct implements. + // Might take O(n^2) to process all of the oneofs, but who cares. + for _, of := range oneofFields { + if tptr.Implements(of.ityp) { + // We have found the corresponding interface for this struct. + // That lets us know where this struct should be stored + // when we encounter it during unmarshaling. + unmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal) + u.setTag(fieldNum, of.field, unmarshal, 0, name) + } + } + + } + + // Get extension ranges, if any. + fn := reflect.Zero(reflect.PtrTo(t)).MethodByName("ExtensionRangeArray") + if fn.IsValid() { + if !u.extensions.IsValid() && !u.oldExtensions.IsValid() { + panic("a message with extensions, but no extensions field in " + t.Name()) + } + u.extensionRanges = fn.Call(nil)[0].Interface().([]ExtensionRange) + } + + // Explicitly disallow tag 0. This will ensure we flag an error + // when decoding a buffer of all zeros. Without this code, we + // would decode and skip an all-zero buffer of even length. + // [0 0] is [tag=0/wiretype=varint varint-encoded-0]. + u.setTag(0, zeroField, func(b []byte, f pointer, w int) ([]byte, error) { + return nil, fmt.Errorf("proto: %s: illegal tag 0 (wire type %d)", t, w) + }, 0, "") + + // Set mask for required field check. + u.reqMask = uint64(1)<= 0 && (tag < 16 || tag < 2*n) { // TODO: what are the right numbers here? + for len(u.dense) <= tag { + u.dense = append(u.dense, unmarshalFieldInfo{}) + } + u.dense[tag] = i + return + } + if u.sparse == nil { + u.sparse = map[uint64]unmarshalFieldInfo{} + } + u.sparse[uint64(tag)] = i +} + +// fieldUnmarshaler returns an unmarshaler for the given field. +func fieldUnmarshaler(f *reflect.StructField) unmarshaler { + if f.Type.Kind() == reflect.Map { + return makeUnmarshalMap(f) + } + return typeUnmarshaler(f.Type, f.Tag.Get("protobuf")) +} + +// typeUnmarshaler returns an unmarshaler for the given field type / field tag pair. +func typeUnmarshaler(t reflect.Type, tags string) unmarshaler { + tagArray := strings.Split(tags, ",") + encoding := tagArray[0] + name := "unknown" + proto3 := false + validateUTF8 := true + for _, tag := range tagArray[3:] { + if strings.HasPrefix(tag, "name=") { + name = tag[5:] + } + if tag == "proto3" { + proto3 = true + } + } + validateUTF8 = validateUTF8 && proto3 + + // Figure out packaging (pointer, slice, or both) + slice := false + pointer := false + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + slice = true + t = t.Elem() + } + if t.Kind() == reflect.Ptr { + pointer = true + t = t.Elem() + } + + // We'll never have both pointer and slice for basic types. + if pointer && slice && t.Kind() != reflect.Struct { + panic("both pointer and slice for basic type in " + t.Name()) + } + + switch t.Kind() { + case reflect.Bool: + if pointer { + return unmarshalBoolPtr + } + if slice { + return unmarshalBoolSlice + } + return unmarshalBoolValue + case reflect.Int32: + switch encoding { + case "fixed32": + if pointer { + return unmarshalFixedS32Ptr + } + if slice { + return unmarshalFixedS32Slice + } + return unmarshalFixedS32Value + case "varint": + // this could be int32 or enum + if pointer { + return unmarshalInt32Ptr + } + if slice { + return unmarshalInt32Slice + } + return unmarshalInt32Value + case "zigzag32": + if pointer { + return unmarshalSint32Ptr + } + if slice { + return unmarshalSint32Slice + } + return unmarshalSint32Value + } + case reflect.Int64: + switch encoding { + case "fixed64": + if pointer { + return unmarshalFixedS64Ptr + } + if slice { + return unmarshalFixedS64Slice + } + return unmarshalFixedS64Value + case "varint": + if pointer { + return unmarshalInt64Ptr + } + if slice { + return unmarshalInt64Slice + } + return unmarshalInt64Value + case "zigzag64": + if pointer { + return unmarshalSint64Ptr + } + if slice { + return unmarshalSint64Slice + } + return unmarshalSint64Value + } + case reflect.Uint32: + switch encoding { + case "fixed32": + if pointer { + return unmarshalFixed32Ptr + } + if slice { + return unmarshalFixed32Slice + } + return unmarshalFixed32Value + case "varint": + if pointer { + return unmarshalUint32Ptr + } + if slice { + return unmarshalUint32Slice + } + return unmarshalUint32Value + } + case reflect.Uint64: + switch encoding { + case "fixed64": + if pointer { + return unmarshalFixed64Ptr + } + if slice { + return unmarshalFixed64Slice + } + return unmarshalFixed64Value + case "varint": + if pointer { + return unmarshalUint64Ptr + } + if slice { + return unmarshalUint64Slice + } + return unmarshalUint64Value + } + case reflect.Float32: + if pointer { + return unmarshalFloat32Ptr + } + if slice { + return unmarshalFloat32Slice + } + return unmarshalFloat32Value + case reflect.Float64: + if pointer { + return unmarshalFloat64Ptr + } + if slice { + return unmarshalFloat64Slice + } + return unmarshalFloat64Value + case reflect.Map: + panic("map type in typeUnmarshaler in " + t.Name()) + case reflect.Slice: + if pointer { + panic("bad pointer in slice case in " + t.Name()) + } + if slice { + return unmarshalBytesSlice + } + return unmarshalBytesValue + case reflect.String: + if validateUTF8 { + if pointer { + return unmarshalUTF8StringPtr + } + if slice { + return unmarshalUTF8StringSlice + } + return unmarshalUTF8StringValue + } + if pointer { + return unmarshalStringPtr + } + if slice { + return unmarshalStringSlice + } + return unmarshalStringValue + case reflect.Struct: + // message or group field + if !pointer { + panic(fmt.Sprintf("message/group field %s:%s without pointer", t, encoding)) + } + switch encoding { + case "bytes": + if slice { + return makeUnmarshalMessageSlicePtr(getUnmarshalInfo(t), name) + } + return makeUnmarshalMessagePtr(getUnmarshalInfo(t), name) + case "group": + if slice { + return makeUnmarshalGroupSlicePtr(getUnmarshalInfo(t), name) + } + return makeUnmarshalGroupPtr(getUnmarshalInfo(t), name) + } + } + panic(fmt.Sprintf("unmarshaler not found type:%s encoding:%s", t, encoding)) +} + +// Below are all the unmarshalers for individual fields of various types. + +func unmarshalInt64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + *f.toInt64() = v + return b, nil +} + +func unmarshalInt64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + *f.toInt64Ptr() = &v + return b, nil +} + +func unmarshalInt64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + s := f.toInt64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + s := f.toInt64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalSint64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + *f.toInt64() = v + return b, nil +} + +func unmarshalSint64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + *f.toInt64Ptr() = &v + return b, nil +} + +func unmarshalSint64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + s := f.toInt64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + s := f.toInt64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalUint64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + *f.toUint64() = v + return b, nil +} + +func unmarshalUint64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + *f.toUint64Ptr() = &v + return b, nil +} + +func unmarshalUint64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + s := f.toUint64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + s := f.toUint64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalInt32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + *f.toInt32() = v + return b, nil +} + +func unmarshalInt32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.setInt32Ptr(v) + return b, nil +} + +func unmarshalInt32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.appendInt32Slice(v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.appendInt32Slice(v) + return b, nil +} + +func unmarshalSint32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + *f.toInt32() = v + return b, nil +} + +func unmarshalSint32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.setInt32Ptr(v) + return b, nil +} + +func unmarshalSint32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.appendInt32Slice(v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.appendInt32Slice(v) + return b, nil +} + +func unmarshalUint32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + *f.toUint32() = v + return b, nil +} + +func unmarshalUint32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + *f.toUint32Ptr() = &v + return b, nil +} + +func unmarshalUint32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + s := f.toUint32Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + s := f.toUint32Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalFixed64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + *f.toUint64() = v + return b[8:], nil +} + +func unmarshalFixed64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + *f.toUint64Ptr() = &v + return b[8:], nil +} + +func unmarshalFixed64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + s := f.toUint64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + s := f.toUint64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFixedS64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + *f.toInt64() = v + return b[8:], nil +} + +func unmarshalFixedS64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + *f.toInt64Ptr() = &v + return b[8:], nil +} + +func unmarshalFixedS64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + s := f.toInt64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + s := f.toInt64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFixed32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + *f.toUint32() = v + return b[4:], nil +} + +func unmarshalFixed32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + *f.toUint32Ptr() = &v + return b[4:], nil +} + +func unmarshalFixed32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + s := f.toUint32Slice() + *s = append(*s, v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + s := f.toUint32Slice() + *s = append(*s, v) + return b[4:], nil +} + +func unmarshalFixedS32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + *f.toInt32() = v + return b[4:], nil +} + +func unmarshalFixedS32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.setInt32Ptr(v) + return b[4:], nil +} + +func unmarshalFixedS32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.appendInt32Slice(v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.appendInt32Slice(v) + return b[4:], nil +} + +func unmarshalBoolValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + // Note: any length varint is allowed, even though any sane + // encoder will use one byte. + // See https://github.com/golang/protobuf/issues/76 + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + // TODO: check if x>1? Tests seem to indicate no. + v := x != 0 + *f.toBool() = v + return b[n:], nil +} + +func unmarshalBoolPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + *f.toBoolPtr() = &v + return b[n:], nil +} + +func unmarshalBoolSlice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + s := f.toBoolSlice() + *s = append(*s, v) + b = b[n:] + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + s := f.toBoolSlice() + *s = append(*s, v) + return b[n:], nil +} + +func unmarshalFloat64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + *f.toFloat64() = v + return b[8:], nil +} + +func unmarshalFloat64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + *f.toFloat64Ptr() = &v + return b[8:], nil +} + +func unmarshalFloat64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + s := f.toFloat64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + s := f.toFloat64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFloat32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + *f.toFloat32() = v + return b[4:], nil +} + +func unmarshalFloat32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + *f.toFloat32Ptr() = &v + return b[4:], nil +} + +func unmarshalFloat32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + s := f.toFloat32Slice() + *s = append(*s, v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + s := f.toFloat32Slice() + *s = append(*s, v) + return b[4:], nil +} + +func unmarshalStringValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toString() = v + return b[x:], nil +} + +func unmarshalStringPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toStringPtr() = &v + return b[x:], nil +} + +func unmarshalStringSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + s := f.toStringSlice() + *s = append(*s, v) + return b[x:], nil +} + +func unmarshalUTF8StringValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toString() = v + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +func unmarshalUTF8StringPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toStringPtr() = &v + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +func unmarshalUTF8StringSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + s := f.toStringSlice() + *s = append(*s, v) + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +var emptyBuf [0]byte + +func unmarshalBytesValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + // The use of append here is a trick which avoids the zeroing + // that would be required if we used a make/copy pair. + // We append to emptyBuf instead of nil because we want + // a non-nil result even when the length is 0. + v := append(emptyBuf[:], b[:x]...) + *f.toBytes() = v + return b[x:], nil +} + +func unmarshalBytesSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := append(emptyBuf[:], b[:x]...) + s := f.toBytesSlice() + *s = append(*s, v) + return b[x:], nil +} + +func makeUnmarshalMessagePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + // First read the message field to see if something is there. + // The semantics of multiple submessages are weird. Instead of + // the last one winning (as it is for all other fields), multiple + // submessages are merged. + v := f.getPointer() + if v.isNil() { + v = valToPointer(reflect.New(sub.typ)) + f.setPointer(v) + } + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + return b[x:], err + } +} + +func makeUnmarshalMessageSlicePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := valToPointer(reflect.New(sub.typ)) + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + f.appendPointer(v) + return b[x:], err + } +} + +func makeUnmarshalGroupPtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireStartGroup { + return b, errInternalBadWireType + } + x, y := findEndGroup(b) + if x < 0 { + return nil, io.ErrUnexpectedEOF + } + v := f.getPointer() + if v.isNil() { + v = valToPointer(reflect.New(sub.typ)) + f.setPointer(v) + } + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + return b[y:], err + } +} + +func makeUnmarshalGroupSlicePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireStartGroup { + return b, errInternalBadWireType + } + x, y := findEndGroup(b) + if x < 0 { + return nil, io.ErrUnexpectedEOF + } + v := valToPointer(reflect.New(sub.typ)) + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + f.appendPointer(v) + return b[y:], err + } +} + +func makeUnmarshalMap(f *reflect.StructField) unmarshaler { + t := f.Type + kt := t.Key() + vt := t.Elem() + unmarshalKey := typeUnmarshaler(kt, f.Tag.Get("protobuf_key")) + unmarshalVal := typeUnmarshaler(vt, f.Tag.Get("protobuf_val")) + return func(b []byte, f pointer, w int) ([]byte, error) { + // The map entry is a submessage. Figure out how big it is. + if w != WireBytes { + return nil, fmt.Errorf("proto: bad wiretype for map field: got %d want %d", w, WireBytes) + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + r := b[x:] // unused data to return + b = b[:x] // data for map entry + + // Note: we could use #keys * #values ~= 200 functions + // to do map decoding without reflection. Probably not worth it. + // Maps will be somewhat slow. Oh well. + + // Read key and value from data. + var nerr nonFatal + k := reflect.New(kt) + v := reflect.New(vt) + for len(b) > 0 { + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + wire := int(x) & 7 + b = b[n:] + + var err error + switch x >> 3 { + case 1: + b, err = unmarshalKey(b, valToPointer(k), wire) + case 2: + b, err = unmarshalVal(b, valToPointer(v), wire) + default: + err = errInternalBadWireType // skip unknown tag + } + + if nerr.Merge(err) { + continue + } + if err != errInternalBadWireType { + return nil, err + } + + // Skip past unknown fields. + b, err = skipField(b, wire) + if err != nil { + return nil, err + } + } + + // Get map, allocate if needed. + m := f.asPointerTo(t).Elem() // an addressable map[K]T + if m.IsNil() { + m.Set(reflect.MakeMap(t)) + } + + // Insert into map. + m.SetMapIndex(k.Elem(), v.Elem()) + + return r, nerr.E + } +} + +// makeUnmarshalOneof makes an unmarshaler for oneof fields. +// for: +// message Msg { +// oneof F { +// int64 X = 1; +// float64 Y = 2; +// } +// } +// typ is the type of the concrete entry for a oneof case (e.g. Msg_X). +// ityp is the interface type of the oneof field (e.g. isMsg_F). +// unmarshal is the unmarshaler for the base type of the oneof case (e.g. int64). +// Note that this function will be called once for each case in the oneof. +func makeUnmarshalOneof(typ, ityp reflect.Type, unmarshal unmarshaler) unmarshaler { + sf := typ.Field(0) + field0 := toField(&sf) + return func(b []byte, f pointer, w int) ([]byte, error) { + // Allocate holder for value. + v := reflect.New(typ) + + // Unmarshal data into holder. + // We unmarshal into the first field of the holder object. + var err error + var nerr nonFatal + b, err = unmarshal(b, valToPointer(v).offset(field0), w) + if !nerr.Merge(err) { + return nil, err + } + + // Write pointer to holder into target field. + f.asPointerTo(ityp).Elem().Set(v) + + return b, nerr.E + } +} + +// Error used by decode internally. +var errInternalBadWireType = errors.New("proto: internal error: bad wiretype") + +// skipField skips past a field of type wire and returns the remaining bytes. +func skipField(b []byte, wire int) ([]byte, error) { + switch wire { + case WireVarint: + _, k := decodeVarint(b) + if k == 0 { + return b, io.ErrUnexpectedEOF + } + b = b[k:] + case WireFixed32: + if len(b) < 4 { + return b, io.ErrUnexpectedEOF + } + b = b[4:] + case WireFixed64: + if len(b) < 8 { + return b, io.ErrUnexpectedEOF + } + b = b[8:] + case WireBytes: + m, k := decodeVarint(b) + if k == 0 || uint64(len(b)-k) < m { + return b, io.ErrUnexpectedEOF + } + b = b[uint64(k)+m:] + case WireStartGroup: + _, i := findEndGroup(b) + if i == -1 { + return b, io.ErrUnexpectedEOF + } + b = b[i:] + default: + return b, fmt.Errorf("proto: can't skip unknown wire type %d", wire) + } + return b, nil +} + +// findEndGroup finds the index of the next EndGroup tag. +// Groups may be nested, so the "next" EndGroup tag is the first +// unpaired EndGroup. +// findEndGroup returns the indexes of the start and end of the EndGroup tag. +// Returns (-1,-1) if it can't find one. +func findEndGroup(b []byte) (int, int) { + depth := 1 + i := 0 + for { + x, n := decodeVarint(b[i:]) + if n == 0 { + return -1, -1 + } + j := i + i += n + switch x & 7 { + case WireVarint: + _, k := decodeVarint(b[i:]) + if k == 0 { + return -1, -1 + } + i += k + case WireFixed32: + if len(b)-4 < i { + return -1, -1 + } + i += 4 + case WireFixed64: + if len(b)-8 < i { + return -1, -1 + } + i += 8 + case WireBytes: + m, k := decodeVarint(b[i:]) + if k == 0 { + return -1, -1 + } + i += k + if uint64(len(b)-i) < m { + return -1, -1 + } + i += int(m) + case WireStartGroup: + depth++ + case WireEndGroup: + depth-- + if depth == 0 { + return j, i + } + default: + return -1, -1 + } + } +} + +// encodeVarint appends a varint-encoded integer to b and returns the result. +func encodeVarint(b []byte, x uint64) []byte { + for x >= 1<<7 { + b = append(b, byte(x&0x7f|0x80)) + x >>= 7 + } + return append(b, byte(x)) +} + +// decodeVarint reads a varint-encoded integer from b. +// Returns the decoded integer and the number of bytes read. +// If there is an error, it returns 0,0. +func decodeVarint(b []byte) (uint64, int) { + var x, y uint64 + if len(b) == 0 { + goto bad + } + x = uint64(b[0]) + if x < 0x80 { + return x, 1 + } + x -= 0x80 + + if len(b) <= 1 { + goto bad + } + y = uint64(b[1]) + x += y << 7 + if y < 0x80 { + return x, 2 + } + x -= 0x80 << 7 + + if len(b) <= 2 { + goto bad + } + y = uint64(b[2]) + x += y << 14 + if y < 0x80 { + return x, 3 + } + x -= 0x80 << 14 + + if len(b) <= 3 { + goto bad + } + y = uint64(b[3]) + x += y << 21 + if y < 0x80 { + return x, 4 + } + x -= 0x80 << 21 + + if len(b) <= 4 { + goto bad + } + y = uint64(b[4]) + x += y << 28 + if y < 0x80 { + return x, 5 + } + x -= 0x80 << 28 + + if len(b) <= 5 { + goto bad + } + y = uint64(b[5]) + x += y << 35 + if y < 0x80 { + return x, 6 + } + x -= 0x80 << 35 + + if len(b) <= 6 { + goto bad + } + y = uint64(b[6]) + x += y << 42 + if y < 0x80 { + return x, 7 + } + x -= 0x80 << 42 + + if len(b) <= 7 { + goto bad + } + y = uint64(b[7]) + x += y << 49 + if y < 0x80 { + return x, 8 + } + x -= 0x80 << 49 + + if len(b) <= 8 { + goto bad + } + y = uint64(b[8]) + x += y << 56 + if y < 0x80 { + return x, 9 + } + x -= 0x80 << 56 + + if len(b) <= 9 { + goto bad + } + y = uint64(b[9]) + x += y << 63 + if y < 2 { + return x, 10 + } + +bad: + return 0, 0 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text.go new file mode 100644 index 0000000..1aaee72 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text.go @@ -0,0 +1,843 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +// Functions for writing the text protocol buffer format. + +import ( + "bufio" + "bytes" + "encoding" + "errors" + "fmt" + "io" + "log" + "math" + "reflect" + "sort" + "strings" +) + +var ( + newline = []byte("\n") + spaces = []byte(" ") + endBraceNewline = []byte("}\n") + backslashN = []byte{'\\', 'n'} + backslashR = []byte{'\\', 'r'} + backslashT = []byte{'\\', 't'} + backslashDQ = []byte{'\\', '"'} + backslashBS = []byte{'\\', '\\'} + posInf = []byte("inf") + negInf = []byte("-inf") + nan = []byte("nan") +) + +type writer interface { + io.Writer + WriteByte(byte) error +} + +// textWriter is an io.Writer that tracks its indentation level. +type textWriter struct { + ind int + complete bool // if the current position is a complete line + compact bool // whether to write out as a one-liner + w writer +} + +func (w *textWriter) WriteString(s string) (n int, err error) { + if !strings.Contains(s, "\n") { + if !w.compact && w.complete { + w.writeIndent() + } + w.complete = false + return io.WriteString(w.w, s) + } + // WriteString is typically called without newlines, so this + // codepath and its copy are rare. We copy to avoid + // duplicating all of Write's logic here. + return w.Write([]byte(s)) +} + +func (w *textWriter) Write(p []byte) (n int, err error) { + newlines := bytes.Count(p, newline) + if newlines == 0 { + if !w.compact && w.complete { + w.writeIndent() + } + n, err = w.w.Write(p) + w.complete = false + return n, err + } + + frags := bytes.SplitN(p, newline, newlines+1) + if w.compact { + for i, frag := range frags { + if i > 0 { + if err := w.w.WriteByte(' '); err != nil { + return n, err + } + n++ + } + nn, err := w.w.Write(frag) + n += nn + if err != nil { + return n, err + } + } + return n, nil + } + + for i, frag := range frags { + if w.complete { + w.writeIndent() + } + nn, err := w.w.Write(frag) + n += nn + if err != nil { + return n, err + } + if i+1 < len(frags) { + if err := w.w.WriteByte('\n'); err != nil { + return n, err + } + n++ + } + } + w.complete = len(frags[len(frags)-1]) == 0 + return n, nil +} + +func (w *textWriter) WriteByte(c byte) error { + if w.compact && c == '\n' { + c = ' ' + } + if !w.compact && w.complete { + w.writeIndent() + } + err := w.w.WriteByte(c) + w.complete = c == '\n' + return err +} + +func (w *textWriter) indent() { w.ind++ } + +func (w *textWriter) unindent() { + if w.ind == 0 { + log.Print("proto: textWriter unindented too far") + return + } + w.ind-- +} + +func writeName(w *textWriter, props *Properties) error { + if _, err := w.WriteString(props.OrigName); err != nil { + return err + } + if props.Wire != "group" { + return w.WriteByte(':') + } + return nil +} + +func requiresQuotes(u string) bool { + // When type URL contains any characters except [0-9A-Za-z./\-]*, it must be quoted. + for _, ch := range u { + switch { + case ch == '.' || ch == '/' || ch == '_': + continue + case '0' <= ch && ch <= '9': + continue + case 'A' <= ch && ch <= 'Z': + continue + case 'a' <= ch && ch <= 'z': + continue + default: + return true + } + } + return false +} + +// isAny reports whether sv is a google.protobuf.Any message +func isAny(sv reflect.Value) bool { + type wkt interface { + XXX_WellKnownType() string + } + t, ok := sv.Addr().Interface().(wkt) + return ok && t.XXX_WellKnownType() == "Any" +} + +// writeProto3Any writes an expanded google.protobuf.Any message. +// +// It returns (false, nil) if sv value can't be unmarshaled (e.g. because +// required messages are not linked in). +// +// It returns (true, error) when sv was written in expanded format or an error +// was encountered. +func (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) { + turl := sv.FieldByName("TypeUrl") + val := sv.FieldByName("Value") + if !turl.IsValid() || !val.IsValid() { + return true, errors.New("proto: invalid google.protobuf.Any message") + } + + b, ok := val.Interface().([]byte) + if !ok { + return true, errors.New("proto: invalid google.protobuf.Any message") + } + + parts := strings.Split(turl.String(), "/") + mt := MessageType(parts[len(parts)-1]) + if mt == nil { + return false, nil + } + m := reflect.New(mt.Elem()) + if err := Unmarshal(b, m.Interface().(Message)); err != nil { + return false, nil + } + w.Write([]byte("[")) + u := turl.String() + if requiresQuotes(u) { + writeString(w, u) + } else { + w.Write([]byte(u)) + } + if w.compact { + w.Write([]byte("]:<")) + } else { + w.Write([]byte("]: <\n")) + w.ind++ + } + if err := tm.writeStruct(w, m.Elem()); err != nil { + return true, err + } + if w.compact { + w.Write([]byte("> ")) + } else { + w.ind-- + w.Write([]byte(">\n")) + } + return true, nil +} + +func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { + if tm.ExpandAny && isAny(sv) { + if canExpand, err := tm.writeProto3Any(w, sv); canExpand { + return err + } + } + st := sv.Type() + sprops := GetProperties(st) + for i := 0; i < sv.NumField(); i++ { + fv := sv.Field(i) + props := sprops.Prop[i] + name := st.Field(i).Name + + if name == "XXX_NoUnkeyedLiteral" { + continue + } + + if strings.HasPrefix(name, "XXX_") { + // There are two XXX_ fields: + // XXX_unrecognized []byte + // XXX_extensions map[int32]proto.Extension + // The first is handled here; + // the second is handled at the bottom of this function. + if name == "XXX_unrecognized" && !fv.IsNil() { + if err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil { + return err + } + } + continue + } + if fv.Kind() == reflect.Ptr && fv.IsNil() { + // Field not filled in. This could be an optional field or + // a required field that wasn't filled in. Either way, there + // isn't anything we can show for it. + continue + } + if fv.Kind() == reflect.Slice && fv.IsNil() { + // Repeated field that is empty, or a bytes field that is unused. + continue + } + + if props.Repeated && fv.Kind() == reflect.Slice { + // Repeated field. + for j := 0; j < fv.Len(); j++ { + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + v := fv.Index(j) + if v.Kind() == reflect.Ptr && v.IsNil() { + // A nil message in a repeated field is not valid, + // but we can handle that more gracefully than panicking. + if _, err := w.Write([]byte("\n")); err != nil { + return err + } + continue + } + if err := tm.writeAny(w, v, props); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + continue + } + if fv.Kind() == reflect.Map { + // Map fields are rendered as a repeated struct with key/value fields. + keys := fv.MapKeys() + sort.Sort(mapKeys(keys)) + for _, key := range keys { + val := fv.MapIndex(key) + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + // open struct + if err := w.WriteByte('<'); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte('\n'); err != nil { + return err + } + } + w.indent() + // key + if _, err := w.WriteString("key:"); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, key, props.MapKeyProp); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + // nil values aren't legal, but we can avoid panicking because of them. + if val.Kind() != reflect.Ptr || !val.IsNil() { + // value + if _, err := w.WriteString("value:"); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, val, props.MapValProp); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + // close struct + w.unindent() + if err := w.WriteByte('>'); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + continue + } + if props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 { + // empty bytes field + continue + } + if fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice { + // proto3 non-repeated scalar field; skip if zero value + if isProto3Zero(fv) { + continue + } + } + + if fv.Kind() == reflect.Interface { + // Check if it is a oneof. + if st.Field(i).Tag.Get("protobuf_oneof") != "" { + // fv is nil, or holds a pointer to generated struct. + // That generated struct has exactly one field, + // which has a protobuf struct tag. + if fv.IsNil() { + continue + } + inner := fv.Elem().Elem() // interface -> *T -> T + tag := inner.Type().Field(0).Tag.Get("protobuf") + props = new(Properties) // Overwrite the outer props var, but not its pointee. + props.Parse(tag) + // Write the value in the oneof, not the oneof itself. + fv = inner.Field(0) + + // Special case to cope with malformed messages gracefully: + // If the value in the oneof is a nil pointer, don't panic + // in writeAny. + if fv.Kind() == reflect.Ptr && fv.IsNil() { + // Use errors.New so writeAny won't render quotes. + msg := errors.New("/* nil */") + fv = reflect.ValueOf(&msg).Elem() + } + } + } + + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + + // Enums have a String method, so writeAny will work fine. + if err := tm.writeAny(w, fv, props); err != nil { + return err + } + + if err := w.WriteByte('\n'); err != nil { + return err + } + } + + // Extensions (the XXX_extensions field). + pv := sv.Addr() + if _, err := extendable(pv.Interface()); err == nil { + if err := tm.writeExtensions(w, pv); err != nil { + return err + } + } + + return nil +} + +// writeAny writes an arbitrary field. +func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error { + v = reflect.Indirect(v) + + // Floats have special cases. + if v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 { + x := v.Float() + var b []byte + switch { + case math.IsInf(x, 1): + b = posInf + case math.IsInf(x, -1): + b = negInf + case math.IsNaN(x): + b = nan + } + if b != nil { + _, err := w.Write(b) + return err + } + // Other values are handled below. + } + + // We don't attempt to serialise every possible value type; only those + // that can occur in protocol buffers. + switch v.Kind() { + case reflect.Slice: + // Should only be a []byte; repeated fields are handled in writeStruct. + if err := writeString(w, string(v.Bytes())); err != nil { + return err + } + case reflect.String: + if err := writeString(w, v.String()); err != nil { + return err + } + case reflect.Struct: + // Required/optional group/message. + var bra, ket byte = '<', '>' + if props != nil && props.Wire == "group" { + bra, ket = '{', '}' + } + if err := w.WriteByte(bra); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte('\n'); err != nil { + return err + } + } + w.indent() + if v.CanAddr() { + // Calling v.Interface on a struct causes the reflect package to + // copy the entire struct. This is racy with the new Marshaler + // since we atomically update the XXX_sizecache. + // + // Thus, we retrieve a pointer to the struct if possible to avoid + // a race since v.Interface on the pointer doesn't copy the struct. + // + // If v is not addressable, then we are not worried about a race + // since it implies that the binary Marshaler cannot possibly be + // mutating this value. + v = v.Addr() + } + if etm, ok := v.Interface().(encoding.TextMarshaler); ok { + text, err := etm.MarshalText() + if err != nil { + return err + } + if _, err = w.Write(text); err != nil { + return err + } + } else { + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + if err := tm.writeStruct(w, v); err != nil { + return err + } + } + w.unindent() + if err := w.WriteByte(ket); err != nil { + return err + } + default: + _, err := fmt.Fprint(w, v.Interface()) + return err + } + return nil +} + +// equivalent to C's isprint. +func isprint(c byte) bool { + return c >= 0x20 && c < 0x7f +} + +// writeString writes a string in the protocol buffer text format. +// It is similar to strconv.Quote except we don't use Go escape sequences, +// we treat the string as a byte sequence, and we use octal escapes. +// These differences are to maintain interoperability with the other +// languages' implementations of the text format. +func writeString(w *textWriter, s string) error { + // use WriteByte here to get any needed indent + if err := w.WriteByte('"'); err != nil { + return err + } + // Loop over the bytes, not the runes. + for i := 0; i < len(s); i++ { + var err error + // Divergence from C++: we don't escape apostrophes. + // There's no need to escape them, and the C++ parser + // copes with a naked apostrophe. + switch c := s[i]; c { + case '\n': + _, err = w.w.Write(backslashN) + case '\r': + _, err = w.w.Write(backslashR) + case '\t': + _, err = w.w.Write(backslashT) + case '"': + _, err = w.w.Write(backslashDQ) + case '\\': + _, err = w.w.Write(backslashBS) + default: + if isprint(c) { + err = w.w.WriteByte(c) + } else { + _, err = fmt.Fprintf(w.w, "\\%03o", c) + } + } + if err != nil { + return err + } + } + return w.WriteByte('"') +} + +func writeUnknownStruct(w *textWriter, data []byte) (err error) { + if !w.compact { + if _, err := fmt.Fprintf(w, "/* %d unknown bytes */\n", len(data)); err != nil { + return err + } + } + b := NewBuffer(data) + for b.index < len(b.buf) { + x, err := b.DecodeVarint() + if err != nil { + _, err := fmt.Fprintf(w, "/* %v */\n", err) + return err + } + wire, tag := x&7, x>>3 + if wire == WireEndGroup { + w.unindent() + if _, err := w.Write(endBraceNewline); err != nil { + return err + } + continue + } + if _, err := fmt.Fprint(w, tag); err != nil { + return err + } + if wire != WireStartGroup { + if err := w.WriteByte(':'); err != nil { + return err + } + } + if !w.compact || wire == WireStartGroup { + if err := w.WriteByte(' '); err != nil { + return err + } + } + switch wire { + case WireBytes: + buf, e := b.DecodeRawBytes(false) + if e == nil { + _, err = fmt.Fprintf(w, "%q", buf) + } else { + _, err = fmt.Fprintf(w, "/* %v */", e) + } + case WireFixed32: + x, err = b.DecodeFixed32() + err = writeUnknownInt(w, x, err) + case WireFixed64: + x, err = b.DecodeFixed64() + err = writeUnknownInt(w, x, err) + case WireStartGroup: + err = w.WriteByte('{') + w.indent() + case WireVarint: + x, err = b.DecodeVarint() + err = writeUnknownInt(w, x, err) + default: + _, err = fmt.Fprintf(w, "/* unknown wire type %d */", wire) + } + if err != nil { + return err + } + if err = w.WriteByte('\n'); err != nil { + return err + } + } + return nil +} + +func writeUnknownInt(w *textWriter, x uint64, err error) error { + if err == nil { + _, err = fmt.Fprint(w, x) + } else { + _, err = fmt.Fprintf(w, "/* %v */", err) + } + return err +} + +type int32Slice []int32 + +func (s int32Slice) Len() int { return len(s) } +func (s int32Slice) Less(i, j int) bool { return s[i] < s[j] } +func (s int32Slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] } + +// writeExtensions writes all the extensions in pv. +// pv is assumed to be a pointer to a protocol message struct that is extendable. +func (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error { + emap := extensionMaps[pv.Type().Elem()] + ep, _ := extendable(pv.Interface()) + + // Order the extensions by ID. + // This isn't strictly necessary, but it will give us + // canonical output, which will also make testing easier. + m, mu := ep.extensionsRead() + if m == nil { + return nil + } + mu.Lock() + ids := make([]int32, 0, len(m)) + for id := range m { + ids = append(ids, id) + } + sort.Sort(int32Slice(ids)) + mu.Unlock() + + for _, extNum := range ids { + ext := m[extNum] + var desc *ExtensionDesc + if emap != nil { + desc = emap[extNum] + } + if desc == nil { + // Unknown extension. + if err := writeUnknownStruct(w, ext.enc); err != nil { + return err + } + continue + } + + pb, err := GetExtension(ep, desc) + if err != nil { + return fmt.Errorf("failed getting extension: %v", err) + } + + // Repeated extensions will appear as a slice. + if !desc.repeated() { + if err := tm.writeExtension(w, desc.Name, pb); err != nil { + return err + } + } else { + v := reflect.ValueOf(pb) + for i := 0; i < v.Len(); i++ { + if err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil { + return err + } + } + } + } + return nil +} + +func (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error { + if _, err := fmt.Fprintf(w, "[%s]:", name); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + return nil +} + +func (w *textWriter) writeIndent() { + if !w.complete { + return + } + remain := w.ind * 2 + for remain > 0 { + n := remain + if n > len(spaces) { + n = len(spaces) + } + w.w.Write(spaces[:n]) + remain -= n + } + w.complete = false +} + +// TextMarshaler is a configurable text format marshaler. +type TextMarshaler struct { + Compact bool // use compact text format (one line). + ExpandAny bool // expand google.protobuf.Any messages of known types +} + +// Marshal writes a given protocol buffer in text format. +// The only errors returned are from w. +func (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error { + val := reflect.ValueOf(pb) + if pb == nil || val.IsNil() { + w.Write([]byte("")) + return nil + } + var bw *bufio.Writer + ww, ok := w.(writer) + if !ok { + bw = bufio.NewWriter(w) + ww = bw + } + aw := &textWriter{ + w: ww, + complete: true, + compact: tm.Compact, + } + + if etm, ok := pb.(encoding.TextMarshaler); ok { + text, err := etm.MarshalText() + if err != nil { + return err + } + if _, err = aw.Write(text); err != nil { + return err + } + if bw != nil { + return bw.Flush() + } + return nil + } + // Dereference the received pointer so we don't have outer < and >. + v := reflect.Indirect(val) + if err := tm.writeStruct(aw, v); err != nil { + return err + } + if bw != nil { + return bw.Flush() + } + return nil +} + +// Text is the same as Marshal, but returns the string directly. +func (tm *TextMarshaler) Text(pb Message) string { + var buf bytes.Buffer + tm.Marshal(&buf, pb) + return buf.String() +} + +var ( + defaultTextMarshaler = TextMarshaler{} + compactTextMarshaler = TextMarshaler{Compact: true} +) + +// TODO: consider removing some of the Marshal functions below. + +// MarshalText writes a given protocol buffer in text format. +// The only errors returned are from w. +func MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) } + +// MarshalTextString is the same as MarshalText, but returns the string directly. +func MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) } + +// CompactText writes a given protocol buffer in compact text format (one line). +func CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) } + +// CompactTextString is the same as CompactText, but returns the string directly. +func CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) } diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text_parser.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text_parser.go new file mode 100644 index 0000000..bb55a3a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/proto/text_parser.go @@ -0,0 +1,880 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +// Functions for parsing the Text protocol buffer format. +// TODO: message sets. + +import ( + "encoding" + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "unicode/utf8" +) + +// Error string emitted when deserializing Any and fields are already set +const anyRepeatedlyUnpacked = "Any message unpacked multiple times, or %q already set" + +type ParseError struct { + Message string + Line int // 1-based line number + Offset int // 0-based byte offset from start of input +} + +func (p *ParseError) Error() string { + if p.Line == 1 { + // show offset only for first line + return fmt.Sprintf("line 1.%d: %v", p.Offset, p.Message) + } + return fmt.Sprintf("line %d: %v", p.Line, p.Message) +} + +type token struct { + value string + err *ParseError + line int // line number + offset int // byte number from start of input, not start of line + unquoted string // the unquoted version of value, if it was a quoted string +} + +func (t *token) String() string { + if t.err == nil { + return fmt.Sprintf("%q (line=%d, offset=%d)", t.value, t.line, t.offset) + } + return fmt.Sprintf("parse error: %v", t.err) +} + +type textParser struct { + s string // remaining input + done bool // whether the parsing is finished (success or error) + backed bool // whether back() was called + offset, line int + cur token +} + +func newTextParser(s string) *textParser { + p := new(textParser) + p.s = s + p.line = 1 + p.cur.line = 1 + return p +} + +func (p *textParser) errorf(format string, a ...interface{}) *ParseError { + pe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset} + p.cur.err = pe + p.done = true + return pe +} + +// Numbers and identifiers are matched by [-+._A-Za-z0-9] +func isIdentOrNumberChar(c byte) bool { + switch { + case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z': + return true + case '0' <= c && c <= '9': + return true + } + switch c { + case '-', '+', '.', '_': + return true + } + return false +} + +func isWhitespace(c byte) bool { + switch c { + case ' ', '\t', '\n', '\r': + return true + } + return false +} + +func isQuote(c byte) bool { + switch c { + case '"', '\'': + return true + } + return false +} + +func (p *textParser) skipWhitespace() { + i := 0 + for i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') { + if p.s[i] == '#' { + // comment; skip to end of line or input + for i < len(p.s) && p.s[i] != '\n' { + i++ + } + if i == len(p.s) { + break + } + } + if p.s[i] == '\n' { + p.line++ + } + i++ + } + p.offset += i + p.s = p.s[i:len(p.s)] + if len(p.s) == 0 { + p.done = true + } +} + +func (p *textParser) advance() { + // Skip whitespace + p.skipWhitespace() + if p.done { + return + } + + // Start of non-whitespace + p.cur.err = nil + p.cur.offset, p.cur.line = p.offset, p.line + p.cur.unquoted = "" + switch p.s[0] { + case '<', '>', '{', '}', ':', '[', ']', ';', ',', '/': + // Single symbol + p.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)] + case '"', '\'': + // Quoted string + i := 1 + for i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\n' { + if p.s[i] == '\\' && i+1 < len(p.s) { + // skip escaped char + i++ + } + i++ + } + if i >= len(p.s) || p.s[i] != p.s[0] { + p.errorf("unmatched quote") + return + } + unq, err := unquoteC(p.s[1:i], rune(p.s[0])) + if err != nil { + p.errorf("invalid quoted string %s: %v", p.s[0:i+1], err) + return + } + p.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)] + p.cur.unquoted = unq + default: + i := 0 + for i < len(p.s) && isIdentOrNumberChar(p.s[i]) { + i++ + } + if i == 0 { + p.errorf("unexpected byte %#x", p.s[0]) + return + } + p.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)] + } + p.offset += len(p.cur.value) +} + +var ( + errBadUTF8 = errors.New("proto: bad UTF-8") +) + +func unquoteC(s string, quote rune) (string, error) { + // This is based on C++'s tokenizer.cc. + // Despite its name, this is *not* parsing C syntax. + // For instance, "\0" is an invalid quoted string. + + // Avoid allocation in trivial cases. + simple := true + for _, r := range s { + if r == '\\' || r == quote { + simple = false + break + } + } + if simple { + return s, nil + } + + buf := make([]byte, 0, 3*len(s)/2) + for len(s) > 0 { + r, n := utf8.DecodeRuneInString(s) + if r == utf8.RuneError && n == 1 { + return "", errBadUTF8 + } + s = s[n:] + if r != '\\' { + if r < utf8.RuneSelf { + buf = append(buf, byte(r)) + } else { + buf = append(buf, string(r)...) + } + continue + } + + ch, tail, err := unescape(s) + if err != nil { + return "", err + } + buf = append(buf, ch...) + s = tail + } + return string(buf), nil +} + +func unescape(s string) (ch string, tail string, err error) { + r, n := utf8.DecodeRuneInString(s) + if r == utf8.RuneError && n == 1 { + return "", "", errBadUTF8 + } + s = s[n:] + switch r { + case 'a': + return "\a", s, nil + case 'b': + return "\b", s, nil + case 'f': + return "\f", s, nil + case 'n': + return "\n", s, nil + case 'r': + return "\r", s, nil + case 't': + return "\t", s, nil + case 'v': + return "\v", s, nil + case '?': + return "?", s, nil // trigraph workaround + case '\'', '"', '\\': + return string(r), s, nil + case '0', '1', '2', '3', '4', '5', '6', '7': + if len(s) < 2 { + return "", "", fmt.Errorf(`\%c requires 2 following digits`, r) + } + ss := string(r) + s[:2] + s = s[2:] + i, err := strconv.ParseUint(ss, 8, 8) + if err != nil { + return "", "", fmt.Errorf(`\%s contains non-octal digits`, ss) + } + return string([]byte{byte(i)}), s, nil + case 'x', 'X', 'u', 'U': + var n int + switch r { + case 'x', 'X': + n = 2 + case 'u': + n = 4 + case 'U': + n = 8 + } + if len(s) < n { + return "", "", fmt.Errorf(`\%c requires %d following digits`, r, n) + } + ss := s[:n] + s = s[n:] + i, err := strconv.ParseUint(ss, 16, 64) + if err != nil { + return "", "", fmt.Errorf(`\%c%s contains non-hexadecimal digits`, r, ss) + } + if r == 'x' || r == 'X' { + return string([]byte{byte(i)}), s, nil + } + if i > utf8.MaxRune { + return "", "", fmt.Errorf(`\%c%s is not a valid Unicode code point`, r, ss) + } + return string(i), s, nil + } + return "", "", fmt.Errorf(`unknown escape \%c`, r) +} + +// Back off the parser by one token. Can only be done between calls to next(). +// It makes the next advance() a no-op. +func (p *textParser) back() { p.backed = true } + +// Advances the parser and returns the new current token. +func (p *textParser) next() *token { + if p.backed || p.done { + p.backed = false + return &p.cur + } + p.advance() + if p.done { + p.cur.value = "" + } else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) { + // Look for multiple quoted strings separated by whitespace, + // and concatenate them. + cat := p.cur + for { + p.skipWhitespace() + if p.done || !isQuote(p.s[0]) { + break + } + p.advance() + if p.cur.err != nil { + return &p.cur + } + cat.value += " " + p.cur.value + cat.unquoted += p.cur.unquoted + } + p.done = false // parser may have seen EOF, but we want to return cat + p.cur = cat + } + return &p.cur +} + +func (p *textParser) consumeToken(s string) error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != s { + p.back() + return p.errorf("expected %q, found %q", s, tok.value) + } + return nil +} + +// Return a RequiredNotSetError indicating which required field was not set. +func (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError { + st := sv.Type() + sprops := GetProperties(st) + for i := 0; i < st.NumField(); i++ { + if !isNil(sv.Field(i)) { + continue + } + + props := sprops.Prop[i] + if props.Required { + return &RequiredNotSetError{fmt.Sprintf("%v.%v", st, props.OrigName)} + } + } + return &RequiredNotSetError{fmt.Sprintf("%v.", st)} // should not happen +} + +// Returns the index in the struct for the named field, as well as the parsed tag properties. +func structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) { + i, ok := sprops.decoderOrigNames[name] + if ok { + return i, sprops.Prop[i], true + } + return -1, nil, false +} + +// Consume a ':' from the input stream (if the next token is a colon), +// returning an error if a colon is needed but not present. +func (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != ":" { + // Colon is optional when the field is a group or message. + needColon := true + switch props.Wire { + case "group": + needColon = false + case "bytes": + // A "bytes" field is either a message, a string, or a repeated field; + // those three become *T, *string and []T respectively, so we can check for + // this field being a pointer to a non-string. + if typ.Kind() == reflect.Ptr { + // *T or *string + if typ.Elem().Kind() == reflect.String { + break + } + } else if typ.Kind() == reflect.Slice { + // []T or []*T + if typ.Elem().Kind() != reflect.Ptr { + break + } + } else if typ.Kind() == reflect.String { + // The proto3 exception is for a string field, + // which requires a colon. + break + } + needColon = false + } + if needColon { + return p.errorf("expected ':', found %q", tok.value) + } + p.back() + } + return nil +} + +func (p *textParser) readStruct(sv reflect.Value, terminator string) error { + st := sv.Type() + sprops := GetProperties(st) + reqCount := sprops.reqCount + var reqFieldErr error + fieldSet := make(map[string]bool) + // A struct is a sequence of "name: value", terminated by one of + // '>' or '}', or the end of the input. A name may also be + // "[extension]" or "[type/url]". + // + // The whole struct can also be an expanded Any message, like: + // [type/url] < ... struct contents ... > + for { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == terminator { + break + } + if tok.value == "[" { + // Looks like an extension or an Any. + // + // TODO: Check whether we need to handle + // namespace rooted names (e.g. ".something.Foo"). + extName, err := p.consumeExtName() + if err != nil { + return err + } + + if s := strings.LastIndex(extName, "/"); s >= 0 { + // If it contains a slash, it's an Any type URL. + messageName := extName[s+1:] + mt := MessageType(messageName) + if mt == nil { + return p.errorf("unrecognized message %q in google.protobuf.Any", messageName) + } + tok = p.next() + if tok.err != nil { + return tok.err + } + // consume an optional colon + if tok.value == ":" { + tok = p.next() + if tok.err != nil { + return tok.err + } + } + var terminator string + switch tok.value { + case "<": + terminator = ">" + case "{": + terminator = "}" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + v := reflect.New(mt.Elem()) + if pe := p.readStruct(v.Elem(), terminator); pe != nil { + return pe + } + b, err := Marshal(v.Interface().(Message)) + if err != nil { + return p.errorf("failed to marshal message of type %q: %v", messageName, err) + } + if fieldSet["type_url"] { + return p.errorf(anyRepeatedlyUnpacked, "type_url") + } + if fieldSet["value"] { + return p.errorf(anyRepeatedlyUnpacked, "value") + } + sv.FieldByName("TypeUrl").SetString(extName) + sv.FieldByName("Value").SetBytes(b) + fieldSet["type_url"] = true + fieldSet["value"] = true + continue + } + + var desc *ExtensionDesc + // This could be faster, but it's functional. + // TODO: Do something smarter than a linear scan. + for _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) { + if d.Name == extName { + desc = d + break + } + } + if desc == nil { + return p.errorf("unrecognized extension %q", extName) + } + + props := &Properties{} + props.Parse(desc.Tag) + + typ := reflect.TypeOf(desc.ExtensionType) + if err := p.checkForColon(props, typ); err != nil { + return err + } + + rep := desc.repeated() + + // Read the extension structure, and set it in + // the value we're constructing. + var ext reflect.Value + if !rep { + ext = reflect.New(typ).Elem() + } else { + ext = reflect.New(typ.Elem()).Elem() + } + if err := p.readAny(ext, props); err != nil { + if _, ok := err.(*RequiredNotSetError); !ok { + return err + } + reqFieldErr = err + } + ep := sv.Addr().Interface().(Message) + if !rep { + SetExtension(ep, desc, ext.Interface()) + } else { + old, err := GetExtension(ep, desc) + var sl reflect.Value + if err == nil { + sl = reflect.ValueOf(old) // existing slice + } else { + sl = reflect.MakeSlice(typ, 0, 1) + } + sl = reflect.Append(sl, ext) + SetExtension(ep, desc, sl.Interface()) + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + continue + } + + // This is a normal, non-extension field. + name := tok.value + var dst reflect.Value + fi, props, ok := structFieldByName(sprops, name) + if ok { + dst = sv.Field(fi) + } else if oop, ok := sprops.OneofTypes[name]; ok { + // It is a oneof. + props = oop.Prop + nv := reflect.New(oop.Type.Elem()) + dst = nv.Elem().Field(0) + field := sv.Field(oop.Field) + if !field.IsNil() { + return p.errorf("field '%s' would overwrite already parsed oneof '%s'", name, sv.Type().Field(oop.Field).Name) + } + field.Set(nv) + } + if !dst.IsValid() { + return p.errorf("unknown field name %q in %v", name, st) + } + + if dst.Kind() == reflect.Map { + // Consume any colon. + if err := p.checkForColon(props, dst.Type()); err != nil { + return err + } + + // Construct the map if it doesn't already exist. + if dst.IsNil() { + dst.Set(reflect.MakeMap(dst.Type())) + } + key := reflect.New(dst.Type().Key()).Elem() + val := reflect.New(dst.Type().Elem()).Elem() + + // The map entry should be this sequence of tokens: + // < key : KEY value : VALUE > + // However, implementations may omit key or value, and technically + // we should support them in any order. See b/28924776 for a time + // this went wrong. + + tok := p.next() + var terminator string + switch tok.value { + case "<": + terminator = ">" + case "{": + terminator = "}" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + for { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == terminator { + break + } + switch tok.value { + case "key": + if err := p.consumeToken(":"); err != nil { + return err + } + if err := p.readAny(key, props.MapKeyProp); err != nil { + return err + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + case "value": + if err := p.checkForColon(props.MapValProp, dst.Type().Elem()); err != nil { + return err + } + if err := p.readAny(val, props.MapValProp); err != nil { + return err + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + default: + p.back() + return p.errorf(`expected "key", "value", or %q, found %q`, terminator, tok.value) + } + } + + dst.SetMapIndex(key, val) + continue + } + + // Check that it's not already set if it's not a repeated field. + if !props.Repeated && fieldSet[name] { + return p.errorf("non-repeated field %q was repeated", name) + } + + if err := p.checkForColon(props, dst.Type()); err != nil { + return err + } + + // Parse into the field. + fieldSet[name] = true + if err := p.readAny(dst, props); err != nil { + if _, ok := err.(*RequiredNotSetError); !ok { + return err + } + reqFieldErr = err + } + if props.Required { + reqCount-- + } + + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + + } + + if reqCount > 0 { + return p.missingRequiredFieldError(sv) + } + return reqFieldErr +} + +// consumeExtName consumes extension name or expanded Any type URL and the +// following ']'. It returns the name or URL consumed. +func (p *textParser) consumeExtName() (string, error) { + tok := p.next() + if tok.err != nil { + return "", tok.err + } + + // If extension name or type url is quoted, it's a single token. + if len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] { + name, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0])) + if err != nil { + return "", err + } + return name, p.consumeToken("]") + } + + // Consume everything up to "]" + var parts []string + for tok.value != "]" { + parts = append(parts, tok.value) + tok = p.next() + if tok.err != nil { + return "", p.errorf("unrecognized type_url or extension name: %s", tok.err) + } + if p.done && tok.value != "]" { + return "", p.errorf("unclosed type_url or extension name") + } + } + return strings.Join(parts, ""), nil +} + +// consumeOptionalSeparator consumes an optional semicolon or comma. +// It is used in readStruct to provide backward compatibility. +func (p *textParser) consumeOptionalSeparator() error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != ";" && tok.value != "," { + p.back() + } + return nil +} + +func (p *textParser) readAny(v reflect.Value, props *Properties) error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == "" { + return p.errorf("unexpected EOF") + } + + switch fv := v; fv.Kind() { + case reflect.Slice: + at := v.Type() + if at.Elem().Kind() == reflect.Uint8 { + // Special case for []byte + if tok.value[0] != '"' && tok.value[0] != '\'' { + // Deliberately written out here, as the error after + // this switch statement would write "invalid []byte: ...", + // which is not as user-friendly. + return p.errorf("invalid string: %v", tok.value) + } + bytes := []byte(tok.unquoted) + fv.Set(reflect.ValueOf(bytes)) + return nil + } + // Repeated field. + if tok.value == "[" { + // Repeated field with list notation, like [1,2,3]. + for { + fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem())) + err := p.readAny(fv.Index(fv.Len()-1), props) + if err != nil { + return err + } + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == "]" { + break + } + if tok.value != "," { + return p.errorf("Expected ']' or ',' found %q", tok.value) + } + } + return nil + } + // One value of the repeated field. + p.back() + fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem())) + return p.readAny(fv.Index(fv.Len()-1), props) + case reflect.Bool: + // true/1/t/True or false/f/0/False. + switch tok.value { + case "true", "1", "t", "True": + fv.SetBool(true) + return nil + case "false", "0", "f", "False": + fv.SetBool(false) + return nil + } + case reflect.Float32, reflect.Float64: + v := tok.value + // Ignore 'f' for compatibility with output generated by C++, but don't + // remove 'f' when the value is "-inf" or "inf". + if strings.HasSuffix(v, "f") && tok.value != "-inf" && tok.value != "inf" { + v = v[:len(v)-1] + } + if f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil { + fv.SetFloat(f) + return nil + } + case reflect.Int32: + if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil { + fv.SetInt(x) + return nil + } + + if len(props.Enum) == 0 { + break + } + m, ok := enumValueMaps[props.Enum] + if !ok { + break + } + x, ok := m[tok.value] + if !ok { + break + } + fv.SetInt(int64(x)) + return nil + case reflect.Int64: + if x, err := strconv.ParseInt(tok.value, 0, 64); err == nil { + fv.SetInt(x) + return nil + } + + case reflect.Ptr: + // A basic field (indirected through pointer), or a repeated message/group + p.back() + fv.Set(reflect.New(fv.Type().Elem())) + return p.readAny(fv.Elem(), props) + case reflect.String: + if tok.value[0] == '"' || tok.value[0] == '\'' { + fv.SetString(tok.unquoted) + return nil + } + case reflect.Struct: + var terminator string + switch tok.value { + case "{": + terminator = "}" + case "<": + terminator = ">" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + // TODO: Handle nested messages which implement encoding.TextUnmarshaler. + return p.readStruct(fv, terminator) + case reflect.Uint32: + if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil { + fv.SetUint(uint64(x)) + return nil + } + case reflect.Uint64: + if x, err := strconv.ParseUint(tok.value, 0, 64); err == nil { + fv.SetUint(x) + return nil + } + } + return p.errorf("invalid %v: %v", v.Type(), tok.value) +} + +// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb +// before starting to unmarshal, so any existing data in pb is always removed. +// If a required field is not set and no other error occurs, +// UnmarshalText returns *RequiredNotSetError. +func UnmarshalText(s string, pb Message) error { + if um, ok := pb.(encoding.TextUnmarshaler); ok { + return um.UnmarshalText([]byte(s)) + } + pb.Reset() + v := reflect.ValueOf(pb) + return newTextParser(s).readStruct(v.Elem(), "") +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any.go new file mode 100644 index 0000000..70276e8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any.go @@ -0,0 +1,141 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package ptypes + +// This file implements functions to marshal proto.Message to/from +// google.protobuf.Any message. + +import ( + "fmt" + "reflect" + "strings" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes/any" +) + +const googleApis = "type.googleapis.com/" + +// AnyMessageName returns the name of the message contained in a google.protobuf.Any message. +// +// Note that regular type assertions should be done using the Is +// function. AnyMessageName is provided for less common use cases like filtering a +// sequence of Any messages based on a set of allowed message type names. +func AnyMessageName(any *any.Any) (string, error) { + if any == nil { + return "", fmt.Errorf("message is nil") + } + slash := strings.LastIndex(any.TypeUrl, "/") + if slash < 0 { + return "", fmt.Errorf("message type url %q is invalid", any.TypeUrl) + } + return any.TypeUrl[slash+1:], nil +} + +// MarshalAny takes the protocol buffer and encodes it into google.protobuf.Any. +func MarshalAny(pb proto.Message) (*any.Any, error) { + value, err := proto.Marshal(pb) + if err != nil { + return nil, err + } + return &any.Any{TypeUrl: googleApis + proto.MessageName(pb), Value: value}, nil +} + +// DynamicAny is a value that can be passed to UnmarshalAny to automatically +// allocate a proto.Message for the type specified in a google.protobuf.Any +// message. The allocated message is stored in the embedded proto.Message. +// +// Example: +// +// var x ptypes.DynamicAny +// if err := ptypes.UnmarshalAny(a, &x); err != nil { ... } +// fmt.Printf("unmarshaled message: %v", x.Message) +type DynamicAny struct { + proto.Message +} + +// Empty returns a new proto.Message of the type specified in a +// google.protobuf.Any message. It returns an error if corresponding message +// type isn't linked in. +func Empty(any *any.Any) (proto.Message, error) { + aname, err := AnyMessageName(any) + if err != nil { + return nil, err + } + + t := proto.MessageType(aname) + if t == nil { + return nil, fmt.Errorf("any: message type %q isn't linked in", aname) + } + return reflect.New(t.Elem()).Interface().(proto.Message), nil +} + +// UnmarshalAny parses the protocol buffer representation in a google.protobuf.Any +// message and places the decoded result in pb. It returns an error if type of +// contents of Any message does not match type of pb message. +// +// pb can be a proto.Message, or a *DynamicAny. +func UnmarshalAny(any *any.Any, pb proto.Message) error { + if d, ok := pb.(*DynamicAny); ok { + if d.Message == nil { + var err error + d.Message, err = Empty(any) + if err != nil { + return err + } + } + return UnmarshalAny(any, d.Message) + } + + aname, err := AnyMessageName(any) + if err != nil { + return err + } + + mname := proto.MessageName(pb) + if aname != mname { + return fmt.Errorf("mismatched message type: got %q want %q", aname, mname) + } + return proto.Unmarshal(any.Value, pb) +} + +// Is returns true if any value contains a given message type. +func Is(any *any.Any, pb proto.Message) bool { + // The following is equivalent to AnyMessageName(any) == proto.MessageName(pb), + // but it avoids scanning TypeUrl for the slash. + if any == nil { + return false + } + name := proto.MessageName(pb) + prefix := len(any.TypeUrl) - len(name) + return prefix >= 1 && any.TypeUrl[prefix-1] == '/' && any.TypeUrl[prefix:] == name +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go new file mode 100644 index 0000000..78ee523 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go @@ -0,0 +1,200 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/any.proto + +package any + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := ptypes.MarshalAny(foo) +// ... +// foo := &pb.Foo{} +// if err := ptypes.UnmarshalAny(any, foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +type Any struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` + // Must be a valid serialized protocol buffer of the above specified type. + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Any) Reset() { *m = Any{} } +func (m *Any) String() string { return proto.CompactTextString(m) } +func (*Any) ProtoMessage() {} +func (*Any) Descriptor() ([]byte, []int) { + return fileDescriptor_b53526c13ae22eb4, []int{0} +} + +func (*Any) XXX_WellKnownType() string { return "Any" } + +func (m *Any) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Any.Unmarshal(m, b) +} +func (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Any.Marshal(b, m, deterministic) +} +func (m *Any) XXX_Merge(src proto.Message) { + xxx_messageInfo_Any.Merge(m, src) +} +func (m *Any) XXX_Size() int { + return xxx_messageInfo_Any.Size(m) +} +func (m *Any) XXX_DiscardUnknown() { + xxx_messageInfo_Any.DiscardUnknown(m) +} + +var xxx_messageInfo_Any proto.InternalMessageInfo + +func (m *Any) GetTypeUrl() string { + if m != nil { + return m.TypeUrl + } + return "" +} + +func (m *Any) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func init() { + proto.RegisterType((*Any)(nil), "google.protobuf.Any") +} + +func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_b53526c13ae22eb4) } + +var fileDescriptor_b53526c13ae22eb4 = []byte{ + // 185 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4, + 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a, + 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46, + 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7, + 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xca, 0xe7, 0x12, 0x4e, 0xce, + 0xcf, 0xd5, 0x43, 0x33, 0xce, 0x89, 0xc3, 0x31, 0xaf, 0x32, 0x00, 0xc4, 0x09, 0x60, 0x8c, 0x52, + 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, + 0x4b, 0x47, 0xb8, 0xa8, 0x00, 0x64, 0x7a, 0x31, 0xc8, 0x61, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, + 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x8c, 0x0a, 0x80, 0x2a, 0xd1, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1, 0xce, + 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0x29, 0x4d, 0x62, 0x03, 0xeb, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, + 0xff, 0x13, 0xf8, 0xe8, 0x42, 0xdd, 0x00, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.proto b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.proto new file mode 100644 index 0000000..4932942 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/any/any.proto @@ -0,0 +1,154 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "github.com/golang/protobuf/ptypes/any"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := ptypes.MarshalAny(foo) +// ... +// foo := &pb.Foo{} +// if err := ptypes.UnmarshalAny(any, foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/doc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/doc.go new file mode 100644 index 0000000..c0d595d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/doc.go @@ -0,0 +1,35 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* +Package ptypes contains code for interacting with well-known types. +*/ +package ptypes diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration.go new file mode 100644 index 0000000..26d1ca2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration.go @@ -0,0 +1,102 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package ptypes + +// This file implements conversions between google.protobuf.Duration +// and time.Duration. + +import ( + "errors" + "fmt" + "time" + + durpb "github.com/golang/protobuf/ptypes/duration" +) + +const ( + // Range of a durpb.Duration in seconds, as specified in + // google/protobuf/duration.proto. This is about 10,000 years in seconds. + maxSeconds = int64(10000 * 365.25 * 24 * 60 * 60) + minSeconds = -maxSeconds +) + +// validateDuration determines whether the durpb.Duration is valid according to the +// definition in google/protobuf/duration.proto. A valid durpb.Duration +// may still be too large to fit into a time.Duration (the range of durpb.Duration +// is about 10,000 years, and the range of time.Duration is about 290). +func validateDuration(d *durpb.Duration) error { + if d == nil { + return errors.New("duration: nil Duration") + } + if d.Seconds < minSeconds || d.Seconds > maxSeconds { + return fmt.Errorf("duration: %v: seconds out of range", d) + } + if d.Nanos <= -1e9 || d.Nanos >= 1e9 { + return fmt.Errorf("duration: %v: nanos out of range", d) + } + // Seconds and Nanos must have the same sign, unless d.Nanos is zero. + if (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) { + return fmt.Errorf("duration: %v: seconds and nanos have different signs", d) + } + return nil +} + +// Duration converts a durpb.Duration to a time.Duration. Duration +// returns an error if the durpb.Duration is invalid or is too large to be +// represented in a time.Duration. +func Duration(p *durpb.Duration) (time.Duration, error) { + if err := validateDuration(p); err != nil { + return 0, err + } + d := time.Duration(p.Seconds) * time.Second + if int64(d/time.Second) != p.Seconds { + return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p) + } + if p.Nanos != 0 { + d += time.Duration(p.Nanos) * time.Nanosecond + if (d < 0) != (p.Nanos < 0) { + return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p) + } + } + return d, nil +} + +// DurationProto converts a time.Duration to a durpb.Duration. +func DurationProto(d time.Duration) *durpb.Duration { + nanos := d.Nanoseconds() + secs := nanos / 1e9 + nanos -= secs * 1e9 + return &durpb.Duration{ + Seconds: secs, + Nanos: int32(nanos), + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go new file mode 100644 index 0000000..0d681ee --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go @@ -0,0 +1,161 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/duration.proto + +package duration + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (durations.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +// +type Duration struct { + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Duration) Reset() { *m = Duration{} } +func (m *Duration) String() string { return proto.CompactTextString(m) } +func (*Duration) ProtoMessage() {} +func (*Duration) Descriptor() ([]byte, []int) { + return fileDescriptor_23597b2ebd7ac6c5, []int{0} +} + +func (*Duration) XXX_WellKnownType() string { return "Duration" } + +func (m *Duration) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Duration.Unmarshal(m, b) +} +func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Duration.Marshal(b, m, deterministic) +} +func (m *Duration) XXX_Merge(src proto.Message) { + xxx_messageInfo_Duration.Merge(m, src) +} +func (m *Duration) XXX_Size() int { + return xxx_messageInfo_Duration.Size(m) +} +func (m *Duration) XXX_DiscardUnknown() { + xxx_messageInfo_Duration.DiscardUnknown(m) +} + +var xxx_messageInfo_Duration proto.InternalMessageInfo + +func (m *Duration) GetSeconds() int64 { + if m != nil { + return m.Seconds + } + return 0 +} + +func (m *Duration) GetNanos() int32 { + if m != nil { + return m.Nanos + } + return 0 +} + +func init() { + proto.RegisterType((*Duration)(nil), "google.protobuf.Duration") +} + +func init() { proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_23597b2ebd7ac6c5) } + +var fileDescriptor_23597b2ebd7ac6c5 = []byte{ + // 190 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a, + 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56, + 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5, + 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e, + 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0xc3, 0x25, 0x9c, 0x9c, + 0x9f, 0xab, 0x87, 0x66, 0xa4, 0x13, 0x2f, 0xcc, 0xc0, 0x00, 0x90, 0x48, 0x00, 0x63, 0x94, 0x56, + 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x4e, 0x62, 0x5e, + 0x3a, 0xc2, 0x7d, 0x05, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x70, 0x67, 0xfe, 0x60, 0x64, 0x5c, 0xc4, + 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0x62, 0x6e, 0x00, 0x54, 0xa9, 0x5e, 0x78, + 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x4b, 0x12, 0x1b, 0xd8, 0x0c, 0x63, + 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x84, 0x30, 0xff, 0xf3, 0x00, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto new file mode 100644 index 0000000..975fce4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto @@ -0,0 +1,117 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/duration"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (durations.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +// +message Duration { + + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp.go new file mode 100644 index 0000000..8da0df0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp.go @@ -0,0 +1,132 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package ptypes + +// This file implements operations on google.protobuf.Timestamp. + +import ( + "errors" + "fmt" + "time" + + tspb "github.com/golang/protobuf/ptypes/timestamp" +) + +const ( + // Seconds field of the earliest valid Timestamp. + // This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix(). + minValidSeconds = -62135596800 + // Seconds field just after the latest valid Timestamp. + // This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix(). + maxValidSeconds = 253402300800 +) + +// validateTimestamp determines whether a Timestamp is valid. +// A valid timestamp represents a time in the range +// [0001-01-01, 10000-01-01) and has a Nanos field +// in the range [0, 1e9). +// +// If the Timestamp is valid, validateTimestamp returns nil. +// Otherwise, it returns an error that describes +// the problem. +// +// Every valid Timestamp can be represented by a time.Time, but the converse is not true. +func validateTimestamp(ts *tspb.Timestamp) error { + if ts == nil { + return errors.New("timestamp: nil Timestamp") + } + if ts.Seconds < minValidSeconds { + return fmt.Errorf("timestamp: %v before 0001-01-01", ts) + } + if ts.Seconds >= maxValidSeconds { + return fmt.Errorf("timestamp: %v after 10000-01-01", ts) + } + if ts.Nanos < 0 || ts.Nanos >= 1e9 { + return fmt.Errorf("timestamp: %v: nanos not in range [0, 1e9)", ts) + } + return nil +} + +// Timestamp converts a google.protobuf.Timestamp proto to a time.Time. +// It returns an error if the argument is invalid. +// +// Unlike most Go functions, if Timestamp returns an error, the first return value +// is not the zero time.Time. Instead, it is the value obtained from the +// time.Unix function when passed the contents of the Timestamp, in the UTC +// locale. This may or may not be a meaningful time; many invalid Timestamps +// do map to valid time.Times. +// +// A nil Timestamp returns an error. The first return value in that case is +// undefined. +func Timestamp(ts *tspb.Timestamp) (time.Time, error) { + // Don't return the zero value on error, because corresponds to a valid + // timestamp. Instead return whatever time.Unix gives us. + var t time.Time + if ts == nil { + t = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp + } else { + t = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC() + } + return t, validateTimestamp(ts) +} + +// TimestampNow returns a google.protobuf.Timestamp for the current time. +func TimestampNow() *tspb.Timestamp { + ts, err := TimestampProto(time.Now()) + if err != nil { + panic("ptypes: time.Now() out of Timestamp range") + } + return ts +} + +// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto. +// It returns an error if the resulting Timestamp is invalid. +func TimestampProto(t time.Time) (*tspb.Timestamp, error) { + ts := &tspb.Timestamp{ + Seconds: t.Unix(), + Nanos: int32(t.Nanosecond()), + } + if err := validateTimestamp(ts); err != nil { + return nil, err + } + return ts, nil +} + +// TimestampString returns the RFC 3339 string for valid Timestamps. For invalid +// Timestamps, it returns an error message in parentheses. +func TimestampString(ts *tspb.Timestamp) string { + t, err := Timestamp(ts) + if err != nil { + return fmt.Sprintf("(%v)", err) + } + return t.Format(time.RFC3339Nano) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go new file mode 100644 index 0000000..31cd846 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go @@ -0,0 +1,179 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/timestamp.proto + +package timestamp + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// A Timestamp represents a point in time independent of any time zone +// or calendar, represented as seconds and fractions of seconds at +// nanosecond resolution in UTC Epoch time. It is encoded using the +// Proleptic Gregorian Calendar which extends the Gregorian calendar +// backwards to year one. It is encoded assuming all minutes are 60 +// seconds long, i.e. leap seconds are "smeared" so that no leap second +// table is needed for interpretation. Range is from +// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. +// By restricting to that range, we ensure that we can convert to +// and from RFC 3339 date strings. +// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// +// Example 5: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) +// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one +// can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- +// ) to obtain a formatter capable of generating timestamps in this format. +// +// +type Timestamp struct { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Timestamp) Reset() { *m = Timestamp{} } +func (m *Timestamp) String() string { return proto.CompactTextString(m) } +func (*Timestamp) ProtoMessage() {} +func (*Timestamp) Descriptor() ([]byte, []int) { + return fileDescriptor_292007bbfe81227e, []int{0} +} + +func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" } + +func (m *Timestamp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Timestamp.Unmarshal(m, b) +} +func (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Timestamp.Marshal(b, m, deterministic) +} +func (m *Timestamp) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timestamp.Merge(m, src) +} +func (m *Timestamp) XXX_Size() int { + return xxx_messageInfo_Timestamp.Size(m) +} +func (m *Timestamp) XXX_DiscardUnknown() { + xxx_messageInfo_Timestamp.DiscardUnknown(m) +} + +var xxx_messageInfo_Timestamp proto.InternalMessageInfo + +func (m *Timestamp) GetSeconds() int64 { + if m != nil { + return m.Seconds + } + return 0 +} + +func (m *Timestamp) GetNanos() int32 { + if m != nil { + return m.Nanos + } + return 0 +} + +func init() { + proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp") +} + +func init() { proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_292007bbfe81227e) } + +var fileDescriptor_292007bbfe81227e = []byte{ + // 191 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d, + 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28, + 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, + 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89, + 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x1d, 0x97, 0x70, + 0x72, 0x7e, 0xae, 0x1e, 0x9a, 0x99, 0x4e, 0x7c, 0x70, 0x13, 0x03, 0x40, 0x42, 0x01, 0x8c, 0x51, + 0xda, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0x39, 0x89, + 0x79, 0xe9, 0x08, 0x27, 0x16, 0x94, 0x54, 0x16, 0xa4, 0x16, 0x23, 0x5c, 0xfa, 0x83, 0x91, 0x71, + 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xc9, 0x01, 0x50, 0xb5, 0x7a, + 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x3d, 0x49, 0x6c, 0x60, 0x43, + 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x77, 0x4a, 0x07, 0xf7, 0x00, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto new file mode 100644 index 0000000..eafb3fa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto @@ -0,0 +1,135 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/timestamp"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Timestamp represents a point in time independent of any time zone +// or calendar, represented as seconds and fractions of seconds at +// nanosecond resolution in UTC Epoch time. It is encoded using the +// Proleptic Gregorian Calendar which extends the Gregorian calendar +// backwards to year one. It is encoded assuming all minutes are 60 +// seconds long, i.e. leap seconds are "smeared" so that no leap second +// table is needed for interpretation. Range is from +// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. +// By restricting to that range, we ensure that we can convert to +// and from RFC 3339 date strings. +// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// +// Example 5: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) +// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one +// can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- +// ) to obtain a formatter capable of generating timestamps in this format. +// +// +message Timestamp { + + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/attrmgr/attrmgr.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/attrmgr/attrmgr.go new file mode 100644 index 0000000..46dbdbd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/attrmgr/attrmgr.go @@ -0,0 +1,245 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +// Package attrmgr contains utilities for managing attributes. +// Attributes are added to an X509 certificate as an extension. +package attrmgr + +import ( + "crypto/x509" + "crypto/x509/pkix" + "encoding/asn1" + "encoding/json" + "errors" + "fmt" + + "github.com/golang/protobuf/proto" + "github.com/hyperledger/fabric-protos-go/msp" +) + +var ( + // AttrOID is the ASN.1 object identifier for an attribute extension in an + // X509 certificate + AttrOID = asn1.ObjectIdentifier{1, 2, 3, 4, 5, 6, 7, 8, 1} + // AttrOIDString is the string version of AttrOID + AttrOIDString = "1.2.3.4.5.6.7.8.1" +) + +// Attribute is a name/value pair +type Attribute interface { + // GetName returns the name of the attribute + GetName() string + // GetValue returns the value of the attribute + GetValue() string +} + +// AttributeRequest is a request for an attribute +type AttributeRequest interface { + // GetName returns the name of an attribute + GetName() string + // IsRequired returns true if the attribute is required + IsRequired() bool +} + +// New constructs an attribute manager +func New() *Mgr { return &Mgr{} } + +// Mgr is the attribute manager and is the main object for this package +type Mgr struct{} + +// ProcessAttributeRequestsForCert add attributes to an X509 certificate, given +// attribute requests and attributes. +func (mgr *Mgr) ProcessAttributeRequestsForCert(requests []AttributeRequest, attributes []Attribute, cert *x509.Certificate) error { + attrs, err := mgr.ProcessAttributeRequests(requests, attributes) + if err != nil { + return err + } + return mgr.AddAttributesToCert(attrs, cert) +} + +// ProcessAttributeRequests takes an array of attribute requests and an identity's attributes +// and returns an Attributes object containing the requested attributes. +func (mgr *Mgr) ProcessAttributeRequests(requests []AttributeRequest, attributes []Attribute) (*Attributes, error) { + attrsMap := map[string]string{} + attrs := &Attributes{Attrs: attrsMap} + missingRequiredAttrs := []string{} + // For each of the attribute requests + for _, req := range requests { + // Get the attribute + name := req.GetName() + attr := getAttrByName(name, attributes) + if attr == nil { + if req.IsRequired() { + // Didn't find attribute and it was required; return error below + missingRequiredAttrs = append(missingRequiredAttrs, name) + } + // Skip attribute requests which aren't required + continue + } + attrsMap[name] = attr.GetValue() + } + if len(missingRequiredAttrs) > 0 { + return nil, fmt.Errorf("the following required attributes are missing: %+v", + missingRequiredAttrs) + } + return attrs, nil +} + +// AddAttributesToCert adds public attribute info to an X509 certificate. +func (mgr *Mgr) AddAttributesToCert(attrs *Attributes, cert *x509.Certificate) error { + buf, err := json.Marshal(attrs) + if err != nil { + return fmt.Errorf("failed to marshal attributes: %s", err) + } + ext := pkix.Extension{ + Id: AttrOID, + Critical: false, + Value: buf, + } + cert.Extensions = append(cert.Extensions, ext) + return nil +} + +// GetAttributesFromCert gets the attributes from a certificate. +func (mgr *Mgr) GetAttributesFromCert(cert *x509.Certificate) (*Attributes, error) { + // Get certificate attributes from the certificate if it exists + buf, err := getAttributesFromCert(cert) + if err != nil { + return nil, err + } + // Unmarshal into attributes object + attrs := &Attributes{} + if buf != nil { + err := json.Unmarshal(buf, attrs) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal attributes from certificate: %s", err) + } + } + return attrs, nil +} + +// GetAttributesFromIdemix ... +func (mgr *Mgr) GetAttributesFromIdemix(creator []byte) (*Attributes, error) { + if creator == nil { + return nil, errors.New("creator is nil") + } + + sid := &msp.SerializedIdentity{} + err := proto.Unmarshal(creator, sid) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal transaction invoker's identity: %s", err) + } + idemixID := &msp.SerializedIdemixIdentity{} + err = proto.Unmarshal(sid.IdBytes, idemixID) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal transaction invoker's idemix identity: %s", err) + } + // Unmarshal into attributes object + attrs := &Attributes{ + Attrs: make(map[string]string), + } + + ou := &msp.OrganizationUnit{} + err = proto.Unmarshal(idemixID.Ou, ou) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal transaction invoker's ou: %s", err) + } + attrs.Attrs["ou"] = ou.OrganizationalUnitIdentifier + + role := &msp.MSPRole{} + err = proto.Unmarshal(idemixID.Role, role) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal transaction invoker's role: %s", err) + } + var roleStr string + switch role.Role { + case 0: + roleStr = "member" + case 1: + roleStr = "admin" + case 2: + roleStr = "client" + case 3: + roleStr = "peer" + } + attrs.Attrs["role"] = roleStr + + return attrs, nil +} + +// Attributes contains attribute names and values +type Attributes struct { + Attrs map[string]string `json:"attrs"` +} + +// Names returns the names of the attributes +func (a *Attributes) Names() []string { + i := 0 + names := make([]string, len(a.Attrs)) + for name := range a.Attrs { + names[i] = name + i++ + } + return names +} + +// Contains returns true if the named attribute is found +func (a *Attributes) Contains(name string) bool { + _, ok := a.Attrs[name] + return ok +} + +// Value returns an attribute's value +func (a *Attributes) Value(name string) (string, bool, error) { + attr, ok := a.Attrs[name] + return attr, ok, nil +} + +// True returns nil if the value of attribute 'name' is true; +// otherwise, an appropriate error is returned. +func (a *Attributes) True(name string) error { + val, ok, err := a.Value(name) + if err != nil { + return err + } + if !ok { + return fmt.Errorf("Attribute '%s' was not found", name) + } + if val != "true" { + return fmt.Errorf("Attribute '%s' is not true", name) + } + return nil +} + +// Get the attribute info from a certificate extension, or return nil if not found +func getAttributesFromCert(cert *x509.Certificate) ([]byte, error) { + for _, ext := range cert.Extensions { + if isAttrOID(ext.Id) { + return ext.Value, nil + } + } + return nil, nil +} + +// Is the object ID equal to the attribute info object ID? +func isAttrOID(oid asn1.ObjectIdentifier) bool { + if len(oid) != len(AttrOID) { + return false + } + for idx, val := range oid { + if val != AttrOID[idx] { + return false + } + } + return true +} + +// Get an attribute from 'attrs' by its name, or nil if not found +func getAttrByName(name string, attrs []Attribute) Attribute { + for _, attr := range attrs { + if attr.GetName() == name { + return attr + } + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/README.md new file mode 100644 index 0000000..828e34e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/README.md @@ -0,0 +1,235 @@ +# Client Identity Chaincode Library + +The client identity chaincode library enables you to write chaincode which +makes access control decisions based on the identity of the client +(i.e. the invoker of the chaincode). In particular, you may make access +control decisions based on any or a combination of the following information associated with +the client: + +* the client identity's MSP (Membership Service Provider) ID +* an attribute associated with the client identity +* an OU (Organizational Unit) value associated with the client identity + +Attributes are simply name and value pairs associated with an identity. +For example, `email=me@gmail.com` indicates an identity has the `email` +attribute with a value of `me@gmail.com`. + +## Using the client identity chaincode library + +This section describes how to use the client identity chaincode library. + +All code samples below assume two things: + +1. The type of the `stub` variable is `ChaincodeStubInterface` as passed + to your chaincode. +2. You have added the following import statement to your chaincode. + + ```golang + import "github.com/hyperledger/fabric-chaincode-go/pkg/cid" + ``` + +### Getting the client's ID + +The following demonstrates how to get an ID for the client which is guaranteed +to be unique within the MSP: + +```golang +id, err := cid.GetID(stub) +``` + +### Getting the MSP ID + +The following demonstrates how to get the MSP ID of the client's identity: + +```golang +mspid, err := cid.GetMSPID(stub) +``` + +### Getting an attribute value + +The following demonstrates how to get the value of the *attr1* attribute: + +```golang +val, ok, err := cid.GetAttributeValue(stub, "attr1") +if err != nil { + // There was an error trying to retrieve the attribute +} +if !ok { + // The client identity does not possess the attribute +} +// Do something with the value of 'val' +``` + +### Asserting an attribute value + +Often all you want to do is to make an access control decision based on the value +of an attribute, i.e. to assert the value of an attribute. For example, the following +will return an error if the client does not have the `myapp.admin` attribute +with a value of `true`: + +```golang +err := cid.AssertAttributeValue(stub, "myapp.admin", "true") +if err != nil { + // Return an error +} +``` + +This is effectively using attributes to implement role-based access control, +or RBAC for short. + +### Checking for a specific OU value + +```golang +found, err := cid.HasOUValue(stub, "myapp.admin") +if err != nil { + // Return an error +} +if !found { + // The client identity is not part of the Organizational Unit + // Return an error +} +``` + +### Getting the client's X509 certificate + +The following demonstrates how to get the X509 certificate of the client, or +nil if the client's identity was not based on an X509 certificate: + +```golang +cert, err := cid.GetX509Certificate(stub) +``` + +Note that both `cert` and `err` may be nil as will be the case if the identity +is not using an X509 certificate. + +### Performing multiple operations more efficiently + +Sometimes you may need to perform multiple operations in order to make an access +decision. For example, the following demonstrates how to grant access to +identities with MSP *org1MSP* and *attr1* OR with MSP *org1MSP* and *attr2*. + +```golang +// Get the Client ID object +id, err := cid.New(stub) +if err != nil { + // Handle error +} +mspid, err := id.GetMSPID() +if err != nil { + // Handle error +} +switch mspid { + case "org1MSP": + err = id.AssertAttributeValue("attr1", "true") + case "org2MSP": + err = id.AssertAttributeValue("attr2", "true") + default: + err = errors.New("Wrong MSP") +} +``` + +Although it is not required, it is more efficient to make the `cid.New` call +to get the ClientID object if you need to perform multiple operations, +as demonstrated above. + +## Adding Attributes to Identities + +This section describes how to add custom attributes to certificates when +using Hyperledger Fabric CA as well as when using an external CA. + +### Managing attributes with Fabric CA + +There are two methods of adding attributes to an enrollment certificate +with fabric-ca: + + 1. When you register an identity, you can specify that an enrollment certificate + issued for the identity should by default contain an attribute. This behavior + can be overridden at enrollment time, but this is useful for establishing + default behavior and, assuming registration occurs outside of your application, + does not require any application change. + + The following shows how to register *user1* with two attributes: + *app1Admin* and *email*. + The ":ecert" suffix causes the *appAdmin* attribute to be inserted into user1's + enrollment certificate by default. The *email* attribute is not added + to the enrollment certificate by default. + + ```bash + fabric-ca-client register --id.name user1 --id.secret user1pw --id.type user --id.affiliation org1 --id.attrs 'app1Admin=true:ecert,email=user1@gmail.com' + ``` + + 2. When you enroll an identity, you may request that one or more attributes + be added to the certificate. + For each attribute requested, you may specify whether the attribute is + optional or not. If it is not optional but does not exist for the identity, + enrollment fails. + + The following shows how to enroll *user1* with the *email* attribute, + without the *app1Admin* attribute and optionally with the *phone* attribute + (if the user possesses *phone* attribute). + + ```bash + fabric-ca-client enroll -u http://user1:user1pw@localhost:7054 --enrollment.attrs "email,phone:opt" + ``` + +#### Attribute format in a certificate + +Attributes are stored inside an X509 certificate as an extension with an +ASN.1 OID (Abstract Syntax Notation Object IDentifier) +of `1.2.3.4.5.6.7.8.1`. The value of the extension is a JSON string of the +form `{"attrs":{: 0 { + s += "," + } + for j, tv := range rdn { + if j > 0 { + s += "+" + } + typeString := tv.Type.String() + typeName, ok := attributeTypeNames[typeString] + if !ok { + derBytes, err := asn1.Marshal(tv.Value) + if err == nil { + s += typeString + "=#" + hex.EncodeToString(derBytes) + continue // No value escaping necessary. + } + typeName = typeString + } + valueString := fmt.Sprint(tv.Value) + escaped := "" + begin := 0 + for idx, c := range valueString { + if (idx == 0 && (c == ' ' || c == '#')) || + (idx == len(valueString)-1 && c == ' ') { + escaped += valueString[begin:idx] + escaped += "\\" + string(c) + begin = idx + 1 + continue + } + switch c { + case ',', '+', '"', '\\', '<', '>', ';': + escaped += valueString[begin:idx] + escaped += "\\" + string(c) + begin = idx + 1 + } + } + escaped += valueString[begin:] + s += typeName + "=" + escaped + } + } + return s +} + +var attributeTypeNames = map[string]string{ + "2.5.4.6": "C", + "2.5.4.10": "O", + "2.5.4.11": "OU", + "2.5.4.3": "CN", + "2.5.4.5": "SERIALNUMBER", + "2.5.4.7": "L", + "2.5.4.8": "ST", + "2.5.4.9": "STREET", + "2.5.4.17": "POSTALCODE", +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/interfaces.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/interfaces.go new file mode 100644 index 0000000..140ffe9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/pkg/cid/interfaces.go @@ -0,0 +1,42 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package cid + +import "crypto/x509" + +// ChaincodeStubInterface is used by deployable chaincode apps to get identity +// of the agent (or user) submitting the transaction. +type ChaincodeStubInterface interface { + // GetCreator returns `SignatureHeader.Creator` (e.g. an identity) + // of the `SignedProposal`. This is the identity of the agent (or user) + // submitting the transaction. + GetCreator() ([]byte, error) +} + +// ClientIdentity represents information about the identity that submitted the +// transaction +type ClientIdentity interface { + + // GetID returns the ID associated with the invoking identity. This ID + // is guaranteed to be unique within the MSP. + GetID() (string, error) + + // Return the MSP ID of the client + GetMSPID() (string, error) + + // GetAttributeValue returns the value of the client's attribute named `attrName`. + // If the client possesses the attribute, `found` is true and `value` equals the + // value of the attribute. + // If the client does not possess the attribute, `found` is false and `value` + // equals "". + GetAttributeValue(attrName string) (value string, found bool, err error) + + // AssertAttributeValue verifies that the client has the attribute named `attrName` + // with a value of `attrValue`; otherwise, an error is returned. + AssertAttributeValue(attrName, attrValue string) error + + // GetX509Certificate returns the X509 certificate associated with the client, + // or nil if it was not identified by an X509 certificate. + GetX509Certificate() (*x509.Certificate, error) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/chaincodeserver.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/chaincodeserver.go new file mode 100644 index 0000000..2904e96 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/chaincodeserver.go @@ -0,0 +1,79 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package shim + +import ( + "crypto/tls" + "errors" + + "github.com/hyperledger/fabric-chaincode-go/shim/internal" + pb "github.com/hyperledger/fabric-protos-go/peer" + + "google.golang.org/grpc/keepalive" +) + +// TLSProperties passed to ChaincodeServer +type TLSProperties struct { + //Disabled forces default to be TLS enabled + Disabled bool + Key []byte + Cert []byte + // ClientCACerts set if connecting peer should be verified + ClientCACerts []byte +} + +// ChaincodeServer encapsulates basic properties needed for a chaincode server +type ChaincodeServer struct { + // CCID should match chaincode's package name on peer + CCID string + // Addesss is the listen address of the chaincode server + Address string + // CC is the chaincode that handles Init and Invoke + CC Chaincode + // TLSProps is the TLS properties passed to chaincode server + TLSProps TLSProperties + // KaOpts keepalive options, sensible defaults provided if nil + KaOpts *keepalive.ServerParameters +} + +// Connect the bidi stream entry point called by chaincode to register with the Peer. +func (cs *ChaincodeServer) Connect(stream pb.Chaincode_ConnectServer) error { + return chatWithPeer(cs.CCID, stream, cs.CC) +} + +// Start the server +func (cs *ChaincodeServer) Start() error { + if cs.CCID == "" { + return errors.New("ccid must be specified") + } + + if cs.Address == "" { + return errors.New("address must be specified") + } + + if cs.CC == nil { + return errors.New("chaincode must be specified") + } + + var tlsCfg *tls.Config + var err error + if !cs.TLSProps.Disabled { + tlsCfg, err = internal.LoadTLSConfig(true, cs.TLSProps.Key, cs.TLSProps.Cert, cs.TLSProps.ClientCACerts) + if err != nil { + return err + } + } + + // create listener and grpc server + server, err := internal.NewServer(cs.Address, tlsCfg, cs.KaOpts) + if err != nil { + return err + } + + // register the server with grpc ... + pb.RegisterChaincodeServer(server.Server, cs) + + // ... and start + return server.Start() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/handler.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/handler.go new file mode 100644 index 0000000..abb0a35 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/handler.go @@ -0,0 +1,685 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package shim + +import ( + "errors" + "fmt" + "sync" + + "github.com/golang/protobuf/proto" + pb "github.com/hyperledger/fabric-protos-go/peer" +) + +type state string + +const ( + created state = "created" // start state + established state = "established" // connection established + ready state = "ready" // ready for requests +) + +// PeerChaincodeStream is the common stream interface for Peer - chaincode communication. +// Both chaincode-as-server and chaincode-as-client patterns need to support this +type PeerChaincodeStream interface { + Send(*pb.ChaincodeMessage) error + Recv() (*pb.ChaincodeMessage, error) +} + +// ClientStream supports the (original) chaincode-as-client interaction pattern +type ClientStream interface { + PeerChaincodeStream + CloseSend() error +} + +// Handler handler implementation for shim side of chaincode. +type Handler struct { + // serialLock is used to prevent concurrent calls to Send on the + // PeerChaincodeStream. This is required by gRPC. + serialLock sync.Mutex + // chatStream is the client used to access the chaincode support server on + // the peer. + chatStream PeerChaincodeStream + + // cc is the chaincode associated with this handler. + cc Chaincode + // state holds the current state of this handler. + state state + + // Multiple queries (and one transaction) with different txids can be executing in parallel for this chaincode + // responseChannels is the channel on which responses are communicated by the shim to the chaincodeStub. + // need lock to protect chaincode from attempting + // concurrent requests to the peer + responseChannelsMutex sync.Mutex + responseChannels map[string]chan pb.ChaincodeMessage +} + +func shorttxid(txid string) string { + if len(txid) < 8 { + return txid + } + return txid[0:8] +} + +// serialSend serializes calls to Send on the gRPC client. +func (h *Handler) serialSend(msg *pb.ChaincodeMessage) error { + h.serialLock.Lock() + defer h.serialLock.Unlock() + + return h.chatStream.Send(msg) +} + +// serialSendAsync sends the provided message asynchronously in a separate +// goroutine. The result of the send is communicated back to the caller via +// errc. +func (h *Handler) serialSendAsync(msg *pb.ChaincodeMessage, errc chan<- error) { + go func() { + errc <- h.serialSend(msg) + }() +} + +// transactionContextID builds a transaction context identifier by +// concatenating a channel ID and a transaction ID. +func transactionContextID(chainID, txid string) string { + return chainID + txid +} + +func (h *Handler) createResponseChannel(channelID, txid string) (<-chan pb.ChaincodeMessage, error) { + h.responseChannelsMutex.Lock() + defer h.responseChannelsMutex.Unlock() + + if h.responseChannels == nil { + return nil, fmt.Errorf("[%s] cannot create response channel", shorttxid(txid)) + } + + txCtxID := transactionContextID(channelID, txid) + if h.responseChannels[txCtxID] != nil { + return nil, fmt.Errorf("[%s] channel exists", shorttxid(txCtxID)) + } + + responseChan := make(chan pb.ChaincodeMessage) + h.responseChannels[txCtxID] = responseChan + return responseChan, nil +} + +func (h *Handler) deleteResponseChannel(channelID, txid string) { + h.responseChannelsMutex.Lock() + defer h.responseChannelsMutex.Unlock() + if h.responseChannels != nil { + txCtxID := transactionContextID(channelID, txid) + delete(h.responseChannels, txCtxID) + } +} + +func (h *Handler) handleResponse(msg *pb.ChaincodeMessage) error { + h.responseChannelsMutex.Lock() + defer h.responseChannelsMutex.Unlock() + + if h.responseChannels == nil { + return fmt.Errorf("[%s] Cannot send message response channel", shorttxid(msg.Txid)) + } + + txCtxID := transactionContextID(msg.ChannelId, msg.Txid) + responseCh := h.responseChannels[txCtxID] + if responseCh == nil { + return fmt.Errorf("[%s] responseChannel does not exist", shorttxid(msg.Txid)) + } + responseCh <- *msg + return nil +} + +// sendReceive sends msg to the peer and waits for the response to arrive on +// the provided responseChan. On success, the response message will be +// returned. An error will be returned msg was not successfully sent to the +// peer. +func (h *Handler) sendReceive(msg *pb.ChaincodeMessage, responseChan <-chan pb.ChaincodeMessage) (pb.ChaincodeMessage, error) { + err := h.serialSend(msg) + if err != nil { + return pb.ChaincodeMessage{}, err + } + + outmsg := <-responseChan + return outmsg, nil +} + +// NewChaincodeHandler returns a new instance of the shim side handler. +func newChaincodeHandler(peerChatStream PeerChaincodeStream, chaincode Chaincode) *Handler { + return &Handler{ + chatStream: peerChatStream, + cc: chaincode, + responseChannels: map[string]chan pb.ChaincodeMessage{}, + state: created, + } +} + +type stubHandlerFunc func(*pb.ChaincodeMessage) (*pb.ChaincodeMessage, error) + +func (h *Handler) handleStubInteraction(handler stubHandlerFunc, msg *pb.ChaincodeMessage, errc chan<- error) { + resp, err := handler(msg) + if err != nil { + resp = &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: []byte(err.Error()), Txid: msg.Txid, ChannelId: msg.ChannelId} + } + h.serialSendAsync(resp, errc) +} + +// handleInit calls the Init function of the associated chaincode. +func (h *Handler) handleInit(msg *pb.ChaincodeMessage) (*pb.ChaincodeMessage, error) { + // Get the function and args from Payload + input := &pb.ChaincodeInput{} + err := proto.Unmarshal(msg.Payload, input) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal input: %s", err) + } + + // Create the ChaincodeStub which the chaincode can use to callback + stub, err := newChaincodeStub(h, msg.ChannelId, msg.Txid, input, msg.Proposal) + if err != nil { + return nil, fmt.Errorf("failed to create new ChaincodeStub: %s", err) + } + + res := h.cc.Init(stub) + if res.Status >= ERROR { + return &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: []byte(res.Message), Txid: msg.Txid, ChaincodeEvent: stub.chaincodeEvent, ChannelId: msg.ChannelId}, nil + } + + resBytes, err := proto.Marshal(&res) + if err != nil { + return nil, fmt.Errorf("failed to marshal response: %s", err) + } + + return &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_COMPLETED, Payload: resBytes, Txid: msg.Txid, ChaincodeEvent: stub.chaincodeEvent, ChannelId: stub.ChannelID}, nil +} + +// handleTransaction calls Invoke on the associated chaincode. +func (h *Handler) handleTransaction(msg *pb.ChaincodeMessage) (*pb.ChaincodeMessage, error) { + // Get the function and args from Payload + input := &pb.ChaincodeInput{} + err := proto.Unmarshal(msg.Payload, input) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal input: %s", err) + } + + // Create the ChaincodeStub which the chaincode can use to callback + stub, err := newChaincodeStub(h, msg.ChannelId, msg.Txid, input, msg.Proposal) + if err != nil { + return nil, fmt.Errorf("failed to create new ChaincodeStub: %s", err) + } + + res := h.cc.Invoke(stub) + + // Endorser will handle error contained in Response. + resBytes, err := proto.Marshal(&res) + if err != nil { + return nil, fmt.Errorf("failed to marshal response: %s", err) + } + + return &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_COMPLETED, Payload: resBytes, Txid: msg.Txid, ChaincodeEvent: stub.chaincodeEvent, ChannelId: stub.ChannelID}, nil +} + +// callPeerWithChaincodeMsg sends a chaincode message to the peer for the given +// txid and channel and receives the response. +func (h *Handler) callPeerWithChaincodeMsg(msg *pb.ChaincodeMessage, channelID, txid string) (pb.ChaincodeMessage, error) { + // Create the channel on which to communicate the response from the peer + respChan, err := h.createResponseChannel(channelID, txid) + if err != nil { + return pb.ChaincodeMessage{}, err + } + defer h.deleteResponseChannel(channelID, txid) + + return h.sendReceive(msg, respChan) +} + +// handleGetState communicates with the peer to fetch the requested state information from the ledger. +func (h *Handler) handleGetState(collection string, key string, channelID string, txid string) ([]byte, error) { + // Construct payload for GET_STATE + payloadBytes := marshalOrPanic(&pb.GetState{Collection: collection, Key: key}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_GET_STATE, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txid) + if err != nil { + return nil, fmt.Errorf("[%s] error sending %s: %s", shorttxid(txid), pb.ChaincodeMessage_GET_STATE, err) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + return responseMsg.Payload, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("[%s] incorrect chaincode message %s received. Expecting %s or %s", shorttxid(responseMsg.Txid), responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handleGetPrivateDataHash(collection string, key string, channelID string, txid string) ([]byte, error) { + // Construct payload for GET_PRIVATE_DATA_HASH + payloadBytes := marshalOrPanic(&pb.GetState{Collection: collection, Key: key}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_GET_PRIVATE_DATA_HASH, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txid) + if err != nil { + return nil, fmt.Errorf("[%s] error sending %s: %s", shorttxid(txid), pb.ChaincodeMessage_GET_PRIVATE_DATA_HASH, err) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + return responseMsg.Payload, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("[%s] incorrect chaincode message %s received. Expecting %s or %s", shorttxid(responseMsg.Txid), responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handleGetStateMetadata(collection string, key string, channelID string, txID string) (map[string][]byte, error) { + // Construct payload for GET_STATE_METADATA + payloadBytes := marshalOrPanic(&pb.GetStateMetadata{Collection: collection, Key: key}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_GET_STATE_METADATA, Payload: payloadBytes, Txid: txID, ChannelId: channelID} + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txID) + if err != nil { + return nil, fmt.Errorf("[%s] error sending %s: %s", shorttxid(txID), pb.ChaincodeMessage_GET_STATE_METADATA, err) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + var mdResult pb.StateMetadataResult + err := proto.Unmarshal(responseMsg.Payload, &mdResult) + if err != nil { + return nil, errors.New("Could not unmarshal metadata response") + } + metadata := make(map[string][]byte) + for _, md := range mdResult.Entries { + metadata[md.Metakey] = md.Value + } + + return metadata, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("[%s] incorrect chaincode message %s received. Expecting %s or %s", shorttxid(responseMsg.Txid), responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +// handlePutState communicates with the peer to put state information into the ledger. +func (h *Handler) handlePutState(collection string, key string, value []byte, channelID string, txid string) error { + // Construct payload for PUT_STATE + payloadBytes := marshalOrPanic(&pb.PutState{Collection: collection, Key: key, Value: value}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_PUT_STATE, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + + // Execute the request and get response + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txid) + if err != nil { + return fmt.Errorf("[%s] error sending %s: %s", msg.Txid, pb.ChaincodeMessage_PUT_STATE, err) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + return nil + } + + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return fmt.Errorf("[%s] incorrect chaincode message %s received. Expecting %s or %s", shorttxid(responseMsg.Txid), responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handlePutStateMetadataEntry(collection string, key string, metakey string, metadata []byte, channelID string, txID string) error { + // Construct payload for PUT_STATE_METADATA + md := &pb.StateMetadata{Metakey: metakey, Value: metadata} + payloadBytes := marshalOrPanic(&pb.PutStateMetadata{Collection: collection, Key: key, Metadata: md}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_PUT_STATE_METADATA, Payload: payloadBytes, Txid: txID, ChannelId: channelID} + // Execute the request and get response + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txID) + if err != nil { + return fmt.Errorf("[%s] error sending %s: %s", msg.Txid, pb.ChaincodeMessage_PUT_STATE_METADATA, err) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + return nil + } + + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return fmt.Errorf("[%s]incorrect chaincode message %s received. Expecting %s or %s", shorttxid(responseMsg.Txid), responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +// handleDelState communicates with the peer to delete a key from the state in the ledger. +func (h *Handler) handleDelState(collection string, key string, channelID string, txid string) error { + payloadBytes := marshalOrPanic(&pb.DelState{Collection: collection, Key: key}) + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_DEL_STATE, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + // Execute the request and get response + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txid) + if err != nil { + return fmt.Errorf("[%s] error sending %s", shorttxid(msg.Txid), pb.ChaincodeMessage_DEL_STATE) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + return nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return fmt.Errorf("[%s] incorrect chaincode message %s received. Expecting %s or %s", shorttxid(responseMsg.Txid), responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handleGetStateByRange(collection, startKey, endKey string, metadata []byte, + channelID string, txid string) (*pb.QueryResponse, error) { + // Send GET_STATE_BY_RANGE message to peer chaincode support + payloadBytes := marshalOrPanic(&pb.GetStateByRange{Collection: collection, StartKey: startKey, EndKey: endKey, Metadata: metadata}) + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_GET_STATE_BY_RANGE, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txid) + if err != nil { + return nil, fmt.Errorf("[%s] error sending %s", shorttxid(msg.Txid), pb.ChaincodeMessage_GET_STATE_BY_RANGE) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + rangeQueryResponse := &pb.QueryResponse{} + err = proto.Unmarshal(responseMsg.Payload, rangeQueryResponse) + if err != nil { + return nil, fmt.Errorf("[%s] GetStateByRangeResponse unmarshall error", shorttxid(responseMsg.Txid)) + } + + return rangeQueryResponse, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("incorrect chaincode message %s received. Expecting %s or %s", responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handleQueryStateNext(id, channelID, txid string) (*pb.QueryResponse, error) { + // Create the channel on which to communicate the response from validating peer + respChan, err := h.createResponseChannel(channelID, txid) + if err != nil { + return nil, err + } + defer h.deleteResponseChannel(channelID, txid) + + // Send QUERY_STATE_NEXT message to peer chaincode support + payloadBytes := marshalOrPanic(&pb.QueryStateNext{Id: id}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_QUERY_STATE_NEXT, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + + var responseMsg pb.ChaincodeMessage + + if responseMsg, err = h.sendReceive(msg, respChan); err != nil { + return nil, fmt.Errorf("[%s] error sending %s", shorttxid(msg.Txid), pb.ChaincodeMessage_QUERY_STATE_NEXT) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + queryResponse := &pb.QueryResponse{} + if err = proto.Unmarshal(responseMsg.Payload, queryResponse); err != nil { + return nil, fmt.Errorf("[%s] unmarshal error", shorttxid(responseMsg.Txid)) + } + + return queryResponse, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("incorrect chaincode message %s received. Expecting %s or %s", responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handleQueryStateClose(id, channelID, txid string) (*pb.QueryResponse, error) { + // Create the channel on which to communicate the response from validating peer + respChan, err := h.createResponseChannel(channelID, txid) + if err != nil { + return nil, err + } + defer h.deleteResponseChannel(channelID, txid) + + // Send QUERY_STATE_CLOSE message to peer chaincode support + payloadBytes := marshalOrPanic(&pb.QueryStateClose{Id: id}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_QUERY_STATE_CLOSE, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + + var responseMsg pb.ChaincodeMessage + + if responseMsg, err = h.sendReceive(msg, respChan); err != nil { + return nil, fmt.Errorf("[%s] error sending %s", shorttxid(msg.Txid), pb.ChaincodeMessage_QUERY_STATE_CLOSE) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + queryResponse := &pb.QueryResponse{} + if err = proto.Unmarshal(responseMsg.Payload, queryResponse); err != nil { + return nil, fmt.Errorf("[%s] unmarshal error", shorttxid(responseMsg.Txid)) + } + + return queryResponse, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("incorrect chaincode message %s received. Expecting %s or %s", responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handleGetQueryResult(collection string, query string, metadata []byte, + channelID string, txid string) (*pb.QueryResponse, error) { + // Send GET_QUERY_RESULT message to peer chaincode support + payloadBytes := marshalOrPanic(&pb.GetQueryResult{Collection: collection, Query: query, Metadata: metadata}) + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_GET_QUERY_RESULT, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + responseMsg, err := h.callPeerWithChaincodeMsg(msg, channelID, txid) + if err != nil { + return nil, fmt.Errorf("[%s] error sending %s", shorttxid(msg.Txid), pb.ChaincodeMessage_GET_QUERY_RESULT) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + executeQueryResponse := &pb.QueryResponse{} + if err = proto.Unmarshal(responseMsg.Payload, executeQueryResponse); err != nil { + return nil, fmt.Errorf("[%s] unmarshal error", shorttxid(responseMsg.Txid)) + } + + return executeQueryResponse, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("incorrect chaincode message %s received. Expecting %s or %s", responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) handleGetHistoryForKey(key string, channelID string, txid string) (*pb.QueryResponse, error) { + // Create the channel on which to communicate the response from validating peer + respChan, err := h.createResponseChannel(channelID, txid) + if err != nil { + return nil, err + } + defer h.deleteResponseChannel(channelID, txid) + + // Send GET_HISTORY_FOR_KEY message to peer chaincode support + payloadBytes := marshalOrPanic(&pb.GetHistoryForKey{Key: key}) + + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_GET_HISTORY_FOR_KEY, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + var responseMsg pb.ChaincodeMessage + + if responseMsg, err = h.sendReceive(msg, respChan); err != nil { + return nil, fmt.Errorf("[%s] error sending %s", shorttxid(msg.Txid), pb.ChaincodeMessage_GET_HISTORY_FOR_KEY) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + getHistoryForKeyResponse := &pb.QueryResponse{} + if err = proto.Unmarshal(responseMsg.Payload, getHistoryForKeyResponse); err != nil { + return nil, fmt.Errorf("[%s] unmarshal error", shorttxid(responseMsg.Txid)) + } + + return getHistoryForKeyResponse, nil + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return nil, fmt.Errorf("%s", responseMsg.Payload[:]) + } + + // Incorrect chaincode message received + return nil, fmt.Errorf("incorrect chaincode message %s received. Expecting %s or %s", responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR) +} + +func (h *Handler) createResponse(status int32, payload []byte) pb.Response { + return pb.Response{Status: status, Payload: payload} +} + +// handleInvokeChaincode communicates with the peer to invoke another chaincode. +func (h *Handler) handleInvokeChaincode(chaincodeName string, args [][]byte, channelID string, txid string) pb.Response { + payloadBytes := marshalOrPanic(&pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: chaincodeName}, Input: &pb.ChaincodeInput{Args: args}}) + + // Create the channel on which to communicate the response from validating peer + respChan, err := h.createResponseChannel(channelID, txid) + if err != nil { + return h.createResponse(ERROR, []byte(err.Error())) + } + defer h.deleteResponseChannel(channelID, txid) + + // Send INVOKE_CHAINCODE message to peer chaincode support + msg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_INVOKE_CHAINCODE, Payload: payloadBytes, Txid: txid, ChannelId: channelID} + + var responseMsg pb.ChaincodeMessage + + if responseMsg, err = h.sendReceive(msg, respChan); err != nil { + errStr := fmt.Sprintf("[%s] error sending %s", shorttxid(msg.Txid), pb.ChaincodeMessage_INVOKE_CHAINCODE) + return h.createResponse(ERROR, []byte(errStr)) + } + + if responseMsg.Type == pb.ChaincodeMessage_RESPONSE { + // Success response + respMsg := &pb.ChaincodeMessage{} + if err := proto.Unmarshal(responseMsg.Payload, respMsg); err != nil { + return h.createResponse(ERROR, []byte(err.Error())) + } + if respMsg.Type == pb.ChaincodeMessage_COMPLETED { + // Success response + res := &pb.Response{} + if err = proto.Unmarshal(respMsg.Payload, res); err != nil { + return h.createResponse(ERROR, []byte(err.Error())) + } + return *res + } + return h.createResponse(ERROR, responseMsg.Payload) + } + if responseMsg.Type == pb.ChaincodeMessage_ERROR { + // Error response + return h.createResponse(ERROR, responseMsg.Payload) + } + + // Incorrect chaincode message received + return h.createResponse(ERROR, []byte(fmt.Sprintf("[%s] Incorrect chaincode message %s received. Expecting %s or %s", shorttxid(responseMsg.Txid), responseMsg.Type, pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR))) +} + +// handleReady handles messages received from the peer when the handler is in the "ready" state. +func (h *Handler) handleReady(msg *pb.ChaincodeMessage, errc chan error) error { + switch msg.Type { + case pb.ChaincodeMessage_RESPONSE, pb.ChaincodeMessage_ERROR: + if err := h.handleResponse(msg); err != nil { + return err + } + return nil + + case pb.ChaincodeMessage_INIT: + go h.handleStubInteraction(h.handleInit, msg, errc) + return nil + + case pb.ChaincodeMessage_TRANSACTION: + go h.handleStubInteraction(h.handleTransaction, msg, errc) + return nil + + default: + return fmt.Errorf("[%s] Chaincode h cannot handle message (%s) while in state: %s", msg.Txid, msg.Type, h.state) + } +} + +// handleEstablished handles messages received from the peer when the handler is in the "established" state. +func (h *Handler) handleEstablished(msg *pb.ChaincodeMessage, errc chan error) error { + if msg.Type != pb.ChaincodeMessage_READY { + return fmt.Errorf("[%s] Chaincode h cannot handle message (%s) while in state: %s", msg.Txid, msg.Type, h.state) + } + + h.state = ready + return nil +} + +// hanndleCreated handles messages received from the peer when the handler is in the "created" state. +func (h *Handler) handleCreated(msg *pb.ChaincodeMessage, errc chan error) error { + if msg.Type != pb.ChaincodeMessage_REGISTERED { + return fmt.Errorf("[%s] Chaincode h cannot handle message (%s) while in state: %s", msg.Txid, msg.Type, h.state) + } + + h.state = established + return nil +} + +// handleMessage message handles loop for shim side of chaincode/peer stream. +func (h *Handler) handleMessage(msg *pb.ChaincodeMessage, errc chan error) error { + if msg.Type == pb.ChaincodeMessage_KEEPALIVE { + h.serialSendAsync(msg, errc) + return nil + } + var err error + + switch h.state { + case ready: + err = h.handleReady(msg, errc) + case established: + err = h.handleEstablished(msg, errc) + case created: + err = h.handleCreated(msg, errc) + default: + panic(fmt.Sprintf("invalid handler state: %s", h.state)) + } + + if err != nil { + payload := []byte(err.Error()) + errorMsg := &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid} + h.serialSend(errorMsg) + return err + } + + return nil +} + +// marshalOrPanic attempts to marshal the provided protobbuf message but will panic +// when marshaling fails instead of returning an error. +func marshalOrPanic(msg proto.Message) []byte { + bytes, err := proto.Marshal(msg) + if err != nil { + panic(fmt.Sprintf("failed to marshal message: %s", err)) + } + return bytes +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/interfaces.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/interfaces.go new file mode 100644 index 0000000..225dbb8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/interfaces.go @@ -0,0 +1,389 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package shim + +import ( + "github.com/golang/protobuf/ptypes/timestamp" + "github.com/hyperledger/fabric-protos-go/ledger/queryresult" + pb "github.com/hyperledger/fabric-protos-go/peer" +) + +// Chaincode interface must be implemented by all chaincodes. The fabric runs +// the transactions by calling these functions as specified. +type Chaincode interface { + // Init is called during Instantiate transaction after the chaincode container + // has been established for the first time, allowing the chaincode to + // initialize its internal data + Init(stub ChaincodeStubInterface) pb.Response + + // Invoke is called to update or query the ledger in a proposal transaction. + // Updated state variables are not committed to the ledger until the + // transaction is committed. + Invoke(stub ChaincodeStubInterface) pb.Response +} + +// ChaincodeStubInterface is used by deployable chaincode apps to access and +// modify their ledgers +type ChaincodeStubInterface interface { + // GetArgs returns the arguments intended for the chaincode Init and Invoke + // as an array of byte arrays. + GetArgs() [][]byte + + // GetStringArgs returns the arguments intended for the chaincode Init and + // Invoke as a string array. Only use GetStringArgs if the client passes + // arguments intended to be used as strings. + GetStringArgs() []string + + // GetFunctionAndParameters returns the first argument as the function + // name and the rest of the arguments as parameters in a string array. + // Only use GetFunctionAndParameters if the client passes arguments intended + // to be used as strings. + GetFunctionAndParameters() (string, []string) + + // GetArgsSlice returns the arguments intended for the chaincode Init and + // Invoke as a byte array + GetArgsSlice() ([]byte, error) + + // GetTxID returns the tx_id of the transaction proposal, which is unique per + // transaction and per client. See + // https://godoc.org/github.com/hyperledger/fabric-protos-go/common#ChannelHeader + // for further details. + GetTxID() string + + // GetChannelID returns the channel the proposal is sent to for chaincode to process. + // This would be the channel_id of the transaction proposal (see + // https://godoc.org/github.com/hyperledger/fabric-protos-go/common#ChannelHeader ) + // except where the chaincode is calling another on a different channel. + GetChannelID() string + + // InvokeChaincode locally calls the specified chaincode `Invoke` using the + // same transaction context; that is, chaincode calling chaincode doesn't + // create a new transaction message. + // If the called chaincode is on the same channel, it simply adds the called + // chaincode read set and write set to the calling transaction. + // If the called chaincode is on a different channel, + // only the Response is returned to the calling chaincode; any PutState calls + // from the called chaincode will not have any effect on the ledger; that is, + // the called chaincode on a different channel will not have its read set + // and write set applied to the transaction. Only the calling chaincode's + // read set and write set will be applied to the transaction. Effectively + // the called chaincode on a different channel is a `Query`, which does not + // participate in state validation checks in subsequent commit phase. + // If `channel` is empty, the caller's channel is assumed. + InvokeChaincode(chaincodeName string, args [][]byte, channel string) pb.Response + + // GetState returns the value of the specified `key` from the + // ledger. Note that GetState doesn't read data from the writeset, which + // has not been committed to the ledger. In other words, GetState doesn't + // consider data modified by PutState that has not been committed. + // If the key does not exist in the state database, (nil, nil) is returned. + GetState(key string) ([]byte, error) + + // PutState puts the specified `key` and `value` into the transaction's + // writeset as a data-write proposal. PutState doesn't effect the ledger + // until the transaction is validated and successfully committed. + // Simple keys must not be an empty string and must not start with a + // null character (0x00) in order to avoid range query collisions with + // composite keys, which internally get prefixed with 0x00 as composite + // key namespace. In addition, if using CouchDB, keys can only contain + // valid UTF-8 strings and cannot begin with an underscore ("_"). + PutState(key string, value []byte) error + + // DelState records the specified `key` to be deleted in the writeset of + // the transaction proposal. The `key` and its value will be deleted from + // the ledger when the transaction is validated and successfully committed. + DelState(key string) error + + // SetStateValidationParameter sets the key-level endorsement policy for `key`. + SetStateValidationParameter(key string, ep []byte) error + + // GetStateValidationParameter retrieves the key-level endorsement policy + // for `key`. Note that this will introduce a read dependency on `key` in + // the transaction's readset. + GetStateValidationParameter(key string) ([]byte, error) + + // GetStateByRange returns a range iterator over a set of keys in the + // ledger. The iterator can be used to iterate over all keys + // between the startKey (inclusive) and endKey (exclusive). + // However, if the number of keys between startKey and endKey is greater than the + // totalQueryLimit (defined in core.yaml), this iterator cannot be used + // to fetch all keys (results will be capped by the totalQueryLimit). + // The keys are returned by the iterator in lexical order. Note + // that startKey and endKey can be empty string, which implies unbounded range + // query on start or end. + // Call Close() on the returned StateQueryIteratorInterface object when done. + // The query is re-executed during validation phase to ensure result set + // has not changed since transaction endorsement (phantom reads detected). + GetStateByRange(startKey, endKey string) (StateQueryIteratorInterface, error) + + // GetStateByRangeWithPagination returns a range iterator over a set of keys in the + // ledger. The iterator can be used to fetch keys between the startKey (inclusive) + // and endKey (exclusive). + // When an empty string is passed as a value to the bookmark argument, the returned + // iterator can be used to fetch the first `pageSize` keys between the startKey + // (inclusive) and endKey (exclusive). + // When the bookmark is a non-emptry string, the iterator can be used to fetch + // the first `pageSize` keys between the bookmark (inclusive) and endKey (exclusive). + // Note that only the bookmark present in a prior page of query results (ResponseMetadata) + // can be used as a value to the bookmark argument. Otherwise, an empty string must + // be passed as bookmark. + // The keys are returned by the iterator in lexical order. Note + // that startKey and endKey can be empty string, which implies unbounded range + // query on start or end. + // Call Close() on the returned StateQueryIteratorInterface object when done. + // This call is only supported in a read only transaction. + GetStateByRangeWithPagination(startKey, endKey string, pageSize int32, + bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) + + // GetStateByPartialCompositeKey queries the state in the ledger based on + // a given partial composite key. This function returns an iterator + // which can be used to iterate over all composite keys whose prefix matches + // the given partial composite key. However, if the number of matching composite + // keys is greater than the totalQueryLimit (defined in core.yaml), this iterator + // cannot be used to fetch all matching keys (results will be limited by the totalQueryLimit). + // The `objectType` and attributes are expected to have only valid utf8 strings and + // should not contain U+0000 (nil byte) and U+10FFFF (biggest and unallocated code point). + // See related functions SplitCompositeKey and CreateCompositeKey. + // Call Close() on the returned StateQueryIteratorInterface object when done. + // The query is re-executed during validation phase to ensure result set + // has not changed since transaction endorsement (phantom reads detected). + GetStateByPartialCompositeKey(objectType string, keys []string) (StateQueryIteratorInterface, error) + + // GetStateByPartialCompositeKeyWithPagination queries the state in the ledger based on + // a given partial composite key. This function returns an iterator + // which can be used to iterate over the composite keys whose + // prefix matches the given partial composite key. + // When an empty string is passed as a value to the bookmark argument, the returned + // iterator can be used to fetch the first `pageSize` composite keys whose prefix + // matches the given partial composite key. + // When the bookmark is a non-emptry string, the iterator can be used to fetch + // the first `pageSize` keys between the bookmark (inclusive) and the last matching + // composite key. + // Note that only the bookmark present in a prior page of query result (ResponseMetadata) + // can be used as a value to the bookmark argument. Otherwise, an empty string must + // be passed as bookmark. + // The `objectType` and attributes are expected to have only valid utf8 strings + // and should not contain U+0000 (nil byte) and U+10FFFF (biggest and unallocated + // code point). See related functions SplitCompositeKey and CreateCompositeKey. + // Call Close() on the returned StateQueryIteratorInterface object when done. + // This call is only supported in a read only transaction. + GetStateByPartialCompositeKeyWithPagination(objectType string, keys []string, + pageSize int32, bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) + + // CreateCompositeKey combines the given `attributes` to form a composite + // key. The objectType and attributes are expected to have only valid utf8 + // strings and should not contain U+0000 (nil byte) and U+10FFFF + // (biggest and unallocated code point). + // The resulting composite key can be used as the key in PutState(). + CreateCompositeKey(objectType string, attributes []string) (string, error) + + // SplitCompositeKey splits the specified key into attributes on which the + // composite key was formed. Composite keys found during range queries + // or partial composite key queries can therefore be split into their + // composite parts. + SplitCompositeKey(compositeKey string) (string, []string, error) + + // GetQueryResult performs a "rich" query against a state database. It is + // only supported for state databases that support rich query, + // e.g.CouchDB. The query string is in the native syntax + // of the underlying state database. An iterator is returned + // which can be used to iterate over all keys in the query result set. + // However, if the number of keys in the query result set is greater than the + // totalQueryLimit (defined in core.yaml), this iterator cannot be used + // to fetch all keys in the query result set (results will be limited by + // the totalQueryLimit). + // The query is NOT re-executed during validation phase, phantom reads are + // not detected. That is, other committed transactions may have added, + // updated, or removed keys that impact the result set, and this would not + // be detected at validation/commit time. Applications susceptible to this + // should therefore not use GetQueryResult as part of transactions that update + // ledger, and should limit use to read-only chaincode operations. + GetQueryResult(query string) (StateQueryIteratorInterface, error) + + // GetQueryResultWithPagination performs a "rich" query against a state database. + // It is only supported for state databases that support rich query, + // e.g., CouchDB. The query string is in the native syntax + // of the underlying state database. An iterator is returned + // which can be used to iterate over keys in the query result set. + // When an empty string is passed as a value to the bookmark argument, the returned + // iterator can be used to fetch the first `pageSize` of query results. + // When the bookmark is a non-emptry string, the iterator can be used to fetch + // the first `pageSize` keys between the bookmark and the last key in the query result. + // Note that only the bookmark present in a prior page of query results (ResponseMetadata) + // can be used as a value to the bookmark argument. Otherwise, an empty string + // must be passed as bookmark. + // This call is only supported in a read only transaction. + GetQueryResultWithPagination(query string, pageSize int32, + bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) + + // GetHistoryForKey returns a history of key values across time. + // For each historic key update, the historic value and associated + // transaction id and timestamp are returned. The timestamp is the + // timestamp provided by the client in the proposal header. + // GetHistoryForKey requires peer configuration + // core.ledger.history.enableHistoryDatabase to be true. + // The query is NOT re-executed during validation phase, phantom reads are + // not detected. That is, other committed transactions may have updated + // the key concurrently, impacting the result set, and this would not be + // detected at validation/commit time. Applications susceptible to this + // should therefore not use GetHistoryForKey as part of transactions that + // update ledger, and should limit use to read-only chaincode operations. + GetHistoryForKey(key string) (HistoryQueryIteratorInterface, error) + + // GetPrivateData returns the value of the specified `key` from the specified + // `collection`. Note that GetPrivateData doesn't read data from the + // private writeset, which has not been committed to the `collection`. In + // other words, GetPrivateData doesn't consider data modified by PutPrivateData + // that has not been committed. + GetPrivateData(collection, key string) ([]byte, error) + + // GetPrivateDataHash returns the hash of the value of the specified `key` from the specified + // `collection` + GetPrivateDataHash(collection, key string) ([]byte, error) + + // PutPrivateData puts the specified `key` and `value` into the transaction's + // private writeset. Note that only hash of the private writeset goes into the + // transaction proposal response (which is sent to the client who issued the + // transaction) and the actual private writeset gets temporarily stored in a + // transient store. PutPrivateData doesn't effect the `collection` until the + // transaction is validated and successfully committed. Simple keys must not + // be an empty string and must not start with a null character (0x00) in order + // to avoid range query collisions with composite keys, which internally get + // prefixed with 0x00 as composite key namespace. In addition, if using + // CouchDB, keys can only contain valid UTF-8 strings and cannot begin with an + // an underscore ("_"). + PutPrivateData(collection string, key string, value []byte) error + + // DelPrivateData records the specified `key` to be deleted in the private writeset + // of the transaction. Note that only hash of the private writeset goes into the + // transaction proposal response (which is sent to the client who issued the + // transaction) and the actual private writeset gets temporarily stored in a + // transient store. The `key` and its value will be deleted from the collection + // when the transaction is validated and successfully committed. + DelPrivateData(collection, key string) error + + // SetPrivateDataValidationParameter sets the key-level endorsement policy + // for the private data specified by `key`. + SetPrivateDataValidationParameter(collection, key string, ep []byte) error + + // GetPrivateDataValidationParameter retrieves the key-level endorsement + // policy for the private data specified by `key`. Note that this introduces + // a read dependency on `key` in the transaction's readset. + GetPrivateDataValidationParameter(collection, key string) ([]byte, error) + + // GetPrivateDataByRange returns a range iterator over a set of keys in a + // given private collection. The iterator can be used to iterate over all keys + // between the startKey (inclusive) and endKey (exclusive). + // The keys are returned by the iterator in lexical order. Note + // that startKey and endKey can be empty string, which implies unbounded range + // query on start or end. + // Call Close() on the returned StateQueryIteratorInterface object when done. + // The query is re-executed during validation phase to ensure result set + // has not changed since transaction endorsement (phantom reads detected). + GetPrivateDataByRange(collection, startKey, endKey string) (StateQueryIteratorInterface, error) + + // GetPrivateDataByPartialCompositeKey queries the state in a given private + // collection based on a given partial composite key. This function returns + // an iterator which can be used to iterate over all composite keys whose prefix + // matches the given partial composite key. The `objectType` and attributes are + // expected to have only valid utf8 strings and should not contain + // U+0000 (nil byte) and U+10FFFF (biggest and unallocated code point). + // See related functions SplitCompositeKey and CreateCompositeKey. + // Call Close() on the returned StateQueryIteratorInterface object when done. + // The query is re-executed during validation phase to ensure result set + // has not changed since transaction endorsement (phantom reads detected). + GetPrivateDataByPartialCompositeKey(collection, objectType string, keys []string) (StateQueryIteratorInterface, error) + + // GetPrivateDataQueryResult performs a "rich" query against a given private + // collection. It is only supported for state databases that support rich query, + // e.g.CouchDB. The query string is in the native syntax + // of the underlying state database. An iterator is returned + // which can be used to iterate (next) over the query result set. + // The query is NOT re-executed during validation phase, phantom reads are + // not detected. That is, other committed transactions may have added, + // updated, or removed keys that impact the result set, and this would not + // be detected at validation/commit time. Applications susceptible to this + // should therefore not use GetPrivateDataQueryResult as part of transactions that update + // ledger, and should limit use to read-only chaincode operations. + GetPrivateDataQueryResult(collection, query string) (StateQueryIteratorInterface, error) + + // GetCreator returns `SignatureHeader.Creator` (e.g. an identity) + // of the `SignedProposal`. This is the identity of the agent (or user) + // submitting the transaction. + GetCreator() ([]byte, error) + + // GetTransient returns the `ChaincodeProposalPayload.Transient` field. + // It is a map that contains data (e.g. cryptographic material) + // that might be used to implement some form of application-level + // confidentiality. The contents of this field, as prescribed by + // `ChaincodeProposalPayload`, are supposed to always + // be omitted from the transaction and excluded from the ledger. + GetTransient() (map[string][]byte, error) + + // GetBinding returns the transaction binding, which is used to enforce a + // link between application data (like those stored in the transient field + // above) to the proposal itself. This is useful to avoid possible replay + // attacks. + GetBinding() ([]byte, error) + + // GetDecorations returns additional data (if applicable) about the proposal + // that originated from the peer. This data is set by the decorators of the + // peer, which append or mutate the chaincode input passed to the chaincode. + GetDecorations() map[string][]byte + + // GetSignedProposal returns the SignedProposal object, which contains all + // data elements part of a transaction proposal. + GetSignedProposal() (*pb.SignedProposal, error) + + // GetTxTimestamp returns the timestamp when the transaction was created. This + // is taken from the transaction ChannelHeader, therefore it will indicate the + // client's timestamp and will have the same value across all endorsers. + GetTxTimestamp() (*timestamp.Timestamp, error) + + // SetEvent allows the chaincode to set an event on the response to the + // proposal to be included as part of a transaction. The event will be + // available within the transaction in the committed block regardless of the + // validity of the transaction. + SetEvent(name string, payload []byte) error +} + +// CommonIteratorInterface allows a chaincode to check whether any more result +// to be fetched from an iterator and close it when done. +type CommonIteratorInterface interface { + // HasNext returns true if the range query iterator contains additional keys + // and values. + HasNext() bool + + // Close closes the iterator. This should be called when done + // reading from the iterator to free up resources. + Close() error +} + +// StateQueryIteratorInterface allows a chaincode to iterate over a set of +// key/value pairs returned by range and execute query. +type StateQueryIteratorInterface interface { + // Inherit HasNext() and Close() + CommonIteratorInterface + + // Next returns the next key and value in the range and execute query iterator. + Next() (*queryresult.KV, error) +} + +// HistoryQueryIteratorInterface allows a chaincode to iterate over a set of +// key/value pairs returned by a history query. +type HistoryQueryIteratorInterface interface { + // Inherit HasNext() and Close() + CommonIteratorInterface + + // Next returns the next key and value in the history query iterator. + Next() (*queryresult.KeyModification, error) +} + +// MockQueryIteratorInterface allows a chaincode to iterate over a set of +// key/value pairs returned by range query. +// TODO: Once the execute query and history query are implemented in MockStub, +// we need to update this interface +type MockQueryIteratorInterface interface { + StateQueryIteratorInterface +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/client.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/client.go new file mode 100644 index 0000000..6b6dde0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/client.go @@ -0,0 +1,55 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package internal + +import ( + "context" + "crypto/tls" + "time" + + peerpb "github.com/hyperledger/fabric-protos-go/peer" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/keepalive" +) + +const ( + dialTimeout = 10 * time.Second + maxRecvMessageSize = 100 * 1024 * 1024 // 100 MiB + maxSendMessageSize = 100 * 1024 * 1024 // 100 MiB +) + +// NewClientConn ... +func NewClientConn( + address string, + tlsConf *tls.Config, + kaOpts keepalive.ClientParameters, +) (*grpc.ClientConn, error) { + + dialOpts := []grpc.DialOption{ + grpc.WithKeepaliveParams(kaOpts), + grpc.WithBlock(), + grpc.FailOnNonTempDialError(true), + grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(maxRecvMessageSize), + grpc.MaxCallSendMsgSize(maxSendMessageSize), + ), + } + + if tlsConf != nil { + creds := credentials.NewTLS(tlsConf) + dialOpts = append(dialOpts, grpc.WithTransportCredentials(creds)) + } else { + dialOpts = append(dialOpts, grpc.WithInsecure()) + } + + ctx, cancel := context.WithTimeout(context.Background(), dialTimeout) + defer cancel() + return grpc.DialContext(ctx, address, dialOpts...) +} + +// NewRegisterClient ... +func NewRegisterClient(conn *grpc.ClientConn) (peerpb.ChaincodeSupport_RegisterClient, error) { + return peerpb.NewChaincodeSupportClient(conn).Register(context.Background()) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/config.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/config.go new file mode 100644 index 0000000..51a35e9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/config.go @@ -0,0 +1,151 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package internal + +import ( + "crypto/tls" + "crypto/x509" + "encoding/base64" + "errors" + "fmt" + "io/ioutil" + "os" + "strconv" + "time" + + "google.golang.org/grpc/keepalive" +) + +// Config contains chaincode's configuration +type Config struct { + ChaincodeName string + TLS *tls.Config + KaOpts keepalive.ClientParameters +} + +// LoadConfig loads the chaincode configuration +func LoadConfig() (Config, error) { + var err error + tlsEnabled, err := strconv.ParseBool(os.Getenv("CORE_PEER_TLS_ENABLED")) + if err != nil { + return Config{}, errors.New("'CORE_PEER_TLS_ENABLED' must be set to 'true' or 'false'") + } + + conf := Config{ + ChaincodeName: os.Getenv("CORE_CHAINCODE_ID_NAME"), + // hardcode to match chaincode server + KaOpts: keepalive.ClientParameters{ + Time: 1 * time.Minute, + Timeout: 20 * time.Second, + PermitWithoutStream: true, + }, + } + + if !tlsEnabled { + return conf, nil + } + + var key []byte + path, set := os.LookupEnv("CORE_TLS_CLIENT_KEY_FILE") + if set { + key, err = ioutil.ReadFile(path) + if err != nil { + return Config{}, fmt.Errorf("failed to read private key file: %s", err) + } + } else { + data, err := ioutil.ReadFile(os.Getenv("CORE_TLS_CLIENT_KEY_PATH")) + if err != nil { + return Config{}, fmt.Errorf("failed to read private key file: %s", err) + } + key, err = base64.StdEncoding.DecodeString(string(data)) + if err != nil { + return Config{}, fmt.Errorf("failed to decode private key file: %s", err) + } + } + + var cert []byte + path, set = os.LookupEnv("CORE_TLS_CLIENT_CERT_FILE") + if set { + cert, err = ioutil.ReadFile(path) + if err != nil { + return Config{}, fmt.Errorf("failed to read public key file: %s", err) + } + } else { + data, err := ioutil.ReadFile(os.Getenv("CORE_TLS_CLIENT_CERT_PATH")) + if err != nil { + return Config{}, fmt.Errorf("failed to read public key file: %s", err) + } + cert, err = base64.StdEncoding.DecodeString(string(data)) + if err != nil { + return Config{}, fmt.Errorf("failed to decode public key file: %s", err) + } + } + + root, err := ioutil.ReadFile(os.Getenv("CORE_PEER_TLS_ROOTCERT_FILE")) + if err != nil { + return Config{}, fmt.Errorf("failed to read root cert file: %s", err) + } + + tlscfg, err := LoadTLSConfig(false, key, cert, root) + if err != nil { + return Config{}, err + } + + conf.TLS = tlscfg + + return conf, nil +} + +// LoadTLSConfig loads the TLS configuration for the chaincode +func LoadTLSConfig(isserver bool, key, cert, root []byte) (*tls.Config, error) { + if key == nil { + return nil, fmt.Errorf("key not provided") + } + + if cert == nil { + return nil, fmt.Errorf("cert not provided") + } + + if !isserver && root == nil { + return nil, fmt.Errorf("root cert not provided") + } + + cccert, err := tls.X509KeyPair(cert, key) + if err != nil { + return nil, errors.New("failed to parse client key pair") + } + + var rootCertPool *x509.CertPool + if root != nil { + rootCertPool = x509.NewCertPool() + if ok := rootCertPool.AppendCertsFromPEM(root); !ok { + return nil, errors.New("failed to load root cert file") + } + } + + tlscfg := &tls.Config{ + MinVersion: tls.VersionTLS12, + Certificates: []tls.Certificate{cccert}, + } + + //follow Peer's server default config properties + if isserver { + tlscfg.ClientCAs = rootCertPool + tlscfg.SessionTicketsDisabled = true + tlscfg.CipherSuites = []uint16{tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + tls.TLS_RSA_WITH_AES_128_GCM_SHA256, + tls.TLS_RSA_WITH_AES_256_GCM_SHA384, + } + if rootCertPool != nil { + tlscfg.ClientAuth = tls.RequireAndVerifyClientCert + } + } else { + tlscfg.RootCAs = rootCertPool + } + + return tlscfg, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/server.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/server.go new file mode 100644 index 0000000..89a31fc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/internal/server.go @@ -0,0 +1,106 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package internal + +import ( + "crypto/tls" + "errors" + "net" + "time" + + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/keepalive" +) + +const ( + serverInterval = time.Duration(2) * time.Hour // 2 hours - gRPC default + serverTimeout = time.Duration(20) * time.Second // 20 sec - gRPC default + serverMinInterval = time.Duration(1) * time.Minute + connectionTimeout = 5 * time.Second +) + +// Server abstracts grpc service properties +type Server struct { + Listener net.Listener + Server *grpc.Server +} + +// Start the server +func (s *Server) Start() error { + if s.Listener == nil { + return errors.New("nil listener") + } + + if s.Server == nil { + return errors.New("nil server") + } + + return s.Server.Serve(s.Listener) +} + +// Stop the server +func (s *Server) Stop() { + if s.Server != nil { + s.Server.Stop() + } +} + +// NewServer creates a new implementation of a GRPC Server given a +// listen address +func NewServer( + address string, + tlsConf *tls.Config, + srvKaOpts *keepalive.ServerParameters, +) (*Server, error) { + if address == "" { + return nil, errors.New("server listen address not provided") + } + + //create our listener + listener, err := net.Listen("tcp", address) + if err != nil { + return nil, err + } + + //set up server options for keepalive and TLS + var serverOpts []grpc.ServerOption + + if srvKaOpts != nil { + serverOpts = append(serverOpts, grpc.KeepaliveParams(*srvKaOpts)) + } else { + serverKeepAliveParameters := keepalive.ServerParameters{ + Time: 1 * time.Minute, + Timeout: 20 * time.Second, + } + serverOpts = append(serverOpts, grpc.KeepaliveParams(serverKeepAliveParameters)) + } + + if tlsConf != nil { + serverOpts = append(serverOpts, grpc.Creds(credentials.NewTLS(tlsConf))) + } + + // Default properties follow - let's start simple and stick with defaults for now. + // These match Fabric peer side properties. We can expose these as user properties + // if needed + + // set max send and recv msg sizes + serverOpts = append(serverOpts, grpc.MaxSendMsgSize(maxSendMessageSize)) + serverOpts = append(serverOpts, grpc.MaxRecvMsgSize(maxRecvMessageSize)) + + //set enforcement policy + kep := keepalive.EnforcementPolicy{ + MinTime: serverMinInterval, + // allow keepalive w/o rpc + PermitWithoutStream: true, + } + serverOpts = append(serverOpts, grpc.KeepaliveEnforcementPolicy(kep)) + + //set default connection timeout + serverOpts = append(serverOpts, grpc.ConnectionTimeout(connectionTimeout)) + + server := grpc.NewServer(serverOpts...) + + return &Server{Listener: listener, Server: server}, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/response.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/response.go new file mode 100644 index 0000000..abe6286 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/response.go @@ -0,0 +1,36 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package shim + +import ( + pb "github.com/hyperledger/fabric-protos-go/peer" +) + +const ( + // OK constant - status code less than 400, endorser will endorse it. + // OK means init or invoke successfully. + OK = 200 + + // ERRORTHRESHOLD constant - status code greater than or equal to 400 will be considered an error and rejected by endorser. + ERRORTHRESHOLD = 400 + + // ERROR constant - default error value + ERROR = 500 +) + +// Success ... +func Success(payload []byte) pb.Response { + return pb.Response{ + Status: OK, + Payload: payload, + } +} + +// Error ... +func Error(msg string) pb.Response { + return pb.Response{ + Status: ERROR, + Message: msg, + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/shim.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/shim.go new file mode 100644 index 0000000..0148b86 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/shim.go @@ -0,0 +1,153 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +// Package shim provides APIs for the chaincode to access its state +// variables, transaction context and call other chaincodes. +package shim + +import ( + "errors" + "flag" + "fmt" + "io" + "os" + "unicode/utf8" + + "github.com/golang/protobuf/proto" + "github.com/hyperledger/fabric-chaincode-go/shim/internal" + peerpb "github.com/hyperledger/fabric-protos-go/peer" +) + +const ( + minUnicodeRuneValue = 0 //U+0000 + maxUnicodeRuneValue = utf8.MaxRune //U+10FFFF - maximum (and unallocated) code point + compositeKeyNamespace = "\x00" + emptyKeySubstitute = "\x01" +) + +// peer as server +var peerAddress = flag.String("peer.address", "", "peer address") + +//this separates the chaincode stream interface establishment +//so we can replace it with a mock peer stream +type peerStreamGetter func(name string) (ClientStream, error) + +//UTs to setup mock peer stream getter +var streamGetter peerStreamGetter + +//the non-mock user CC stream establishment func +func userChaincodeStreamGetter(name string) (ClientStream, error) { + if *peerAddress == "" { + return nil, errors.New("flag 'peer.address' must be set") + } + + conf, err := internal.LoadConfig() + if err != nil { + return nil, err + } + + conn, err := internal.NewClientConn(*peerAddress, conf.TLS, conf.KaOpts) + if err != nil { + return nil, err + } + + return internal.NewRegisterClient(conn) +} + +// Start chaincodes +func Start(cc Chaincode) error { + flag.Parse() + chaincodename := os.Getenv("CORE_CHAINCODE_ID_NAME") + if chaincodename == "" { + return errors.New("'CORE_CHAINCODE_ID_NAME' must be set") + } + + //mock stream not set up ... get real stream + if streamGetter == nil { + streamGetter = userChaincodeStreamGetter + } + + stream, err := streamGetter(chaincodename) + if err != nil { + return err + } + + err = chaincodeAsClientChat(chaincodename, stream, cc) + + return err +} + +// StartInProc is an entry point for system chaincodes bootstrap. It is not an +// API for chaincodes. +func StartInProc(chaincodename string, stream ClientStream, cc Chaincode) error { + return chaincodeAsClientChat(chaincodename, stream, cc) +} + +// this is the chat stream resulting from the chaincode-as-client model where the chaincode initiates connection +func chaincodeAsClientChat(chaincodename string, stream ClientStream, cc Chaincode) error { + defer stream.CloseSend() + return chatWithPeer(chaincodename, stream, cc) +} + +// chat stream for peer-chaincode interactions post connection +func chatWithPeer(chaincodename string, stream PeerChaincodeStream, cc Chaincode) error { + // Create the shim handler responsible for all control logic + handler := newChaincodeHandler(stream, cc) + + // Send the ChaincodeID during register. + chaincodeID := &peerpb.ChaincodeID{Name: chaincodename} + payload, err := proto.Marshal(chaincodeID) + if err != nil { + return fmt.Errorf("error marshalling chaincodeID during chaincode registration: %s", err) + } + + // Register on the stream + if err = handler.serialSend(&peerpb.ChaincodeMessage{Type: peerpb.ChaincodeMessage_REGISTER, Payload: payload}); err != nil { + return fmt.Errorf("error sending chaincode REGISTER: %s", err) + + } + + // holds return values from gRPC Recv below + type recvMsg struct { + msg *peerpb.ChaincodeMessage + err error + } + msgAvail := make(chan *recvMsg, 1) + errc := make(chan error) + + receiveMessage := func() { + in, err := stream.Recv() + msgAvail <- &recvMsg{in, err} + } + + go receiveMessage() + for { + select { + case rmsg := <-msgAvail: + switch { + case rmsg.err == io.EOF: + return errors.New("received EOF, ending chaincode stream") + case rmsg.err != nil: + err := fmt.Errorf("receive failed: %s", rmsg.err) + return err + case rmsg.msg == nil: + err := errors.New("received nil message, ending chaincode stream") + return err + default: + err := handler.handleMessage(rmsg.msg, errc) + if err != nil { + err = fmt.Errorf("error handling message: %s", err) + return err + } + + go receiveMessage() + } + + case sendErr := <-errc: + if sendErr != nil { + err := fmt.Errorf("error sending: %s", sendErr) + return err + } + } + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/stub.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/stub.go new file mode 100644 index 0000000..cfa459b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-chaincode-go/shim/stub.go @@ -0,0 +1,756 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package shim + +import ( + "crypto/sha256" + "encoding/binary" + "errors" + "fmt" + "os" + "unicode/utf8" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes/timestamp" + "github.com/hyperledger/fabric-protos-go/common" + "github.com/hyperledger/fabric-protos-go/ledger/queryresult" + pb "github.com/hyperledger/fabric-protos-go/peer" +) + +// ChaincodeStub is an object passed to chaincode for shim side handling of +// APIs. +type ChaincodeStub struct { + TxID string + ChannelID string + chaincodeEvent *pb.ChaincodeEvent + args [][]byte + handler *Handler + signedProposal *pb.SignedProposal + proposal *pb.Proposal + validationParameterMetakey string + + // Additional fields extracted from the signedProposal + creator []byte + transient map[string][]byte + binding []byte + + decorations map[string][]byte +} + +// ChaincodeInvocation functionality + +func newChaincodeStub(handler *Handler, channelID, txid string, input *pb.ChaincodeInput, signedProposal *pb.SignedProposal) (*ChaincodeStub, error) { + stub := &ChaincodeStub{ + TxID: txid, + ChannelID: channelID, + args: input.Args, + handler: handler, + signedProposal: signedProposal, + decorations: input.Decorations, + validationParameterMetakey: pb.MetaDataKeys_VALIDATION_PARAMETER.String(), + } + + // TODO: sanity check: verify that every call to init with a nil + // signedProposal is a legitimate one, meaning it is an internal call + // to system chaincodes. + if signedProposal != nil { + var err error + + stub.proposal = &pb.Proposal{} + err = proto.Unmarshal(signedProposal.ProposalBytes, stub.proposal) + if err != nil { + + return nil, fmt.Errorf("failed to extract Proposal from SignedProposal: %s", err) + } + + // check for header + if len(stub.proposal.GetHeader()) == 0 { + return nil, errors.New("failed to extract Proposal fields: proposal header is nil") + } + + // Extract creator, transient, binding... + hdr := &common.Header{} + if err := proto.Unmarshal(stub.proposal.GetHeader(), hdr); err != nil { + return nil, fmt.Errorf("failed to extract proposal header: %s", err) + } + + // extract and validate channel header + chdr := &common.ChannelHeader{} + if err := proto.Unmarshal(hdr.ChannelHeader, chdr); err != nil { + return nil, fmt.Errorf("failed to extract channel header: %s", err) + } + validTypes := map[common.HeaderType]bool{ + common.HeaderType_ENDORSER_TRANSACTION: true, + common.HeaderType_CONFIG: true, + } + if !validTypes[common.HeaderType(chdr.GetType())] { + return nil, fmt.Errorf( + "invalid channel header type. Expected %s or %s, received %s", + common.HeaderType_ENDORSER_TRANSACTION, + common.HeaderType_CONFIG, + common.HeaderType(chdr.GetType()), + ) + } + + // extract creator from signature header + shdr := &common.SignatureHeader{} + if err := proto.Unmarshal(hdr.GetSignatureHeader(), shdr); err != nil { + return nil, fmt.Errorf("failed to extract signature header: %s", err) + } + stub.creator = shdr.GetCreator() + + // extract trasient data from proposal payload + payload := &pb.ChaincodeProposalPayload{} + if err := proto.Unmarshal(stub.proposal.GetPayload(), payload); err != nil { + return nil, fmt.Errorf("failed to extract proposal payload: %s", err) + } + stub.transient = payload.GetTransientMap() + + // compute the proposal binding from the nonce, creator and epoch + epoch := make([]byte, 8) + binary.LittleEndian.PutUint64(epoch, chdr.GetEpoch()) + digest := sha256.Sum256(append(append(shdr.GetNonce(), stub.creator...), epoch...)) + stub.binding = digest[:] + + } + + return stub, nil +} + +// GetTxID returns the transaction ID for the proposal +func (s *ChaincodeStub) GetTxID() string { + return s.TxID +} + +// GetChannelID returns the channel for the proposal +func (s *ChaincodeStub) GetChannelID() string { + return s.ChannelID +} + +// GetDecorations ... +func (s *ChaincodeStub) GetDecorations() map[string][]byte { + return s.decorations +} + +// GetMSPID returns the local mspid of the peer by checking the CORE_PEER_LOCALMSPID +// env var and returns an error if the env var is not set +func GetMSPID() (string, error) { + mspid := os.Getenv("CORE_PEER_LOCALMSPID") + + if mspid == "" { + return "", errors.New("'CORE_PEER_LOCALMSPID' is not set") + } + + return mspid, nil +} + +// ------------- Call Chaincode functions --------------- + +// InvokeChaincode documentation can be found in interfaces.go +func (s *ChaincodeStub) InvokeChaincode(chaincodeName string, args [][]byte, channel string) pb.Response { + // Internally we handle chaincode name as a composite name + if channel != "" { + chaincodeName = chaincodeName + "/" + channel + } + return s.handler.handleInvokeChaincode(chaincodeName, args, s.ChannelID, s.TxID) +} + +// --------- State functions ---------- + +// GetState documentation can be found in interfaces.go +func (s *ChaincodeStub) GetState(key string) ([]byte, error) { + // Access public data by setting the collection to empty string + collection := "" + return s.handler.handleGetState(collection, key, s.ChannelID, s.TxID) +} + +// SetStateValidationParameter documentation can be found in interfaces.go +func (s *ChaincodeStub) SetStateValidationParameter(key string, ep []byte) error { + return s.handler.handlePutStateMetadataEntry("", key, s.validationParameterMetakey, ep, s.ChannelID, s.TxID) +} + +// GetStateValidationParameter documentation can be found in interfaces.go +func (s *ChaincodeStub) GetStateValidationParameter(key string) ([]byte, error) { + md, err := s.handler.handleGetStateMetadata("", key, s.ChannelID, s.TxID) + if err != nil { + return nil, err + } + if ep, ok := md[s.validationParameterMetakey]; ok { + return ep, nil + } + return nil, nil +} + +// PutState documentation can be found in interfaces.go +func (s *ChaincodeStub) PutState(key string, value []byte) error { + if key == "" { + return errors.New("key must not be an empty string") + } + // Access public data by setting the collection to empty string + collection := "" + return s.handler.handlePutState(collection, key, value, s.ChannelID, s.TxID) +} + +func (s *ChaincodeStub) createStateQueryIterator(response *pb.QueryResponse) *StateQueryIterator { + return &StateQueryIterator{ + CommonIterator: &CommonIterator{ + handler: s.handler, + channelID: s.ChannelID, + txid: s.TxID, + response: response, + currentLoc: 0, + }, + } +} + +// GetQueryResult documentation can be found in interfaces.go +func (s *ChaincodeStub) GetQueryResult(query string) (StateQueryIteratorInterface, error) { + // Access public data by setting the collection to empty string + collection := "" + // ignore QueryResponseMetadata as it is not applicable for a rich query without pagination + iterator, _, err := s.handleGetQueryResult(collection, query, nil) + + return iterator, err +} + +// DelState documentation can be found in interfaces.go +func (s *ChaincodeStub) DelState(key string) error { + // Access public data by setting the collection to empty string + collection := "" + return s.handler.handleDelState(collection, key, s.ChannelID, s.TxID) +} + +// --------- private state functions --------- + +// GetPrivateData documentation can be found in interfaces.go +func (s *ChaincodeStub) GetPrivateData(collection string, key string) ([]byte, error) { + if collection == "" { + return nil, fmt.Errorf("collection must not be an empty string") + } + return s.handler.handleGetState(collection, key, s.ChannelID, s.TxID) +} + +// GetPrivateDataHash documentation can be found in interfaces.go +func (s *ChaincodeStub) GetPrivateDataHash(collection string, key string) ([]byte, error) { + if collection == "" { + return nil, fmt.Errorf("collection must not be an empty string") + } + return s.handler.handleGetPrivateDataHash(collection, key, s.ChannelID, s.TxID) +} + +// PutPrivateData documentation can be found in interfaces.go +func (s *ChaincodeStub) PutPrivateData(collection string, key string, value []byte) error { + if collection == "" { + return fmt.Errorf("collection must not be an empty string") + } + if key == "" { + return fmt.Errorf("key must not be an empty string") + } + return s.handler.handlePutState(collection, key, value, s.ChannelID, s.TxID) +} + +// DelPrivateData documentation can be found in interfaces.go +func (s *ChaincodeStub) DelPrivateData(collection string, key string) error { + if collection == "" { + return fmt.Errorf("collection must not be an empty string") + } + return s.handler.handleDelState(collection, key, s.ChannelID, s.TxID) +} + +// GetPrivateDataByRange documentation can be found in interfaces.go +func (s *ChaincodeStub) GetPrivateDataByRange(collection, startKey, endKey string) (StateQueryIteratorInterface, error) { + if collection == "" { + return nil, fmt.Errorf("collection must not be an empty string") + } + if startKey == "" { + startKey = emptyKeySubstitute + } + if err := validateSimpleKeys(startKey, endKey); err != nil { + return nil, err + } + // ignore QueryResponseMetadata as it is not applicable for a range query without pagination + iterator, _, err := s.handleGetStateByRange(collection, startKey, endKey, nil) + + return iterator, err +} + +func (s *ChaincodeStub) createRangeKeysForPartialCompositeKey(objectType string, attributes []string) (string, string, error) { + partialCompositeKey, err := s.CreateCompositeKey(objectType, attributes) + if err != nil { + return "", "", err + } + startKey := partialCompositeKey + endKey := partialCompositeKey + string(maxUnicodeRuneValue) + + return startKey, endKey, nil +} + +// GetPrivateDataByPartialCompositeKey documentation can be found in interfaces.go +func (s *ChaincodeStub) GetPrivateDataByPartialCompositeKey(collection, objectType string, attributes []string) (StateQueryIteratorInterface, error) { + if collection == "" { + return nil, fmt.Errorf("collection must not be an empty string") + } + + startKey, endKey, err := s.createRangeKeysForPartialCompositeKey(objectType, attributes) + if err != nil { + return nil, err + } + // ignore QueryResponseMetadata as it is not applicable for a partial composite key query without pagination + iterator, _, err := s.handleGetStateByRange(collection, startKey, endKey, nil) + + return iterator, err +} + +// GetPrivateDataQueryResult documentation can be found in interfaces.go +func (s *ChaincodeStub) GetPrivateDataQueryResult(collection, query string) (StateQueryIteratorInterface, error) { + if collection == "" { + return nil, fmt.Errorf("collection must not be an empty string") + } + // ignore QueryResponseMetadata as it is not applicable for a range query without pagination + iterator, _, err := s.handleGetQueryResult(collection, query, nil) + + return iterator, err +} + +// GetPrivateDataValidationParameter documentation can be found in interfaces.go +func (s *ChaincodeStub) GetPrivateDataValidationParameter(collection, key string) ([]byte, error) { + md, err := s.handler.handleGetStateMetadata(collection, key, s.ChannelID, s.TxID) + if err != nil { + return nil, err + } + if ep, ok := md[s.validationParameterMetakey]; ok { + return ep, nil + } + return nil, nil +} + +// SetPrivateDataValidationParameter documentation can be found in interfaces.go +func (s *ChaincodeStub) SetPrivateDataValidationParameter(collection, key string, ep []byte) error { + return s.handler.handlePutStateMetadataEntry(collection, key, s.validationParameterMetakey, ep, s.ChannelID, s.TxID) +} + +// CommonIterator documentation can be found in interfaces.go +type CommonIterator struct { + handler *Handler + channelID string + txid string + response *pb.QueryResponse + currentLoc int +} + +// StateQueryIterator documentation can be found in interfaces.go +type StateQueryIterator struct { + *CommonIterator +} + +// HistoryQueryIterator documentation can be found in interfaces.go +type HistoryQueryIterator struct { + *CommonIterator +} + +// General interface for supporting different types of query results. +// Actual types differ for different queries +type queryResult interface{} + +type resultType uint8 + +// TODO: Document constants +/* + Constants ... +*/ +const ( + StateQueryResult resultType = iota + 1 + HistoryQueryResult +) + +func createQueryResponseMetadata(metadataBytes []byte) (*pb.QueryResponseMetadata, error) { + metadata := &pb.QueryResponseMetadata{} + err := proto.Unmarshal(metadataBytes, metadata) + if err != nil { + return nil, err + } + + return metadata, nil +} + +func (s *ChaincodeStub) handleGetStateByRange(collection, startKey, endKey string, + metadata []byte) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) { + + response, err := s.handler.handleGetStateByRange(collection, startKey, endKey, metadata, s.ChannelID, s.TxID) + if err != nil { + return nil, nil, err + } + + iterator := s.createStateQueryIterator(response) + responseMetadata, err := createQueryResponseMetadata(response.Metadata) + if err != nil { + return nil, nil, err + } + + return iterator, responseMetadata, nil +} + +func (s *ChaincodeStub) handleGetQueryResult(collection, query string, + metadata []byte) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) { + + response, err := s.handler.handleGetQueryResult(collection, query, metadata, s.ChannelID, s.TxID) + if err != nil { + return nil, nil, err + } + + iterator := s.createStateQueryIterator(response) + responseMetadata, err := createQueryResponseMetadata(response.Metadata) + if err != nil { + return nil, nil, err + } + + return iterator, responseMetadata, nil +} + +// GetStateByRange documentation can be found in interfaces.go +func (s *ChaincodeStub) GetStateByRange(startKey, endKey string) (StateQueryIteratorInterface, error) { + if startKey == "" { + startKey = emptyKeySubstitute + } + if err := validateSimpleKeys(startKey, endKey); err != nil { + return nil, err + } + collection := "" + + // ignore QueryResponseMetadata as it is not applicable for a range query without pagination + iterator, _, err := s.handleGetStateByRange(collection, startKey, endKey, nil) + + return iterator, err +} + +// GetHistoryForKey documentation can be found in interfaces.go +func (s *ChaincodeStub) GetHistoryForKey(key string) (HistoryQueryIteratorInterface, error) { + response, err := s.handler.handleGetHistoryForKey(key, s.ChannelID, s.TxID) + if err != nil { + return nil, err + } + return &HistoryQueryIterator{CommonIterator: &CommonIterator{s.handler, s.ChannelID, s.TxID, response, 0}}, nil +} + +//CreateCompositeKey documentation can be found in interfaces.go +func (s *ChaincodeStub) CreateCompositeKey(objectType string, attributes []string) (string, error) { + return CreateCompositeKey(objectType, attributes) +} + +//SplitCompositeKey documentation can be found in interfaces.go +func (s *ChaincodeStub) SplitCompositeKey(compositeKey string) (string, []string, error) { + return splitCompositeKey(compositeKey) +} + +// CreateCompositeKey ... +func CreateCompositeKey(objectType string, attributes []string) (string, error) { + if err := validateCompositeKeyAttribute(objectType); err != nil { + return "", err + } + ck := compositeKeyNamespace + objectType + string(minUnicodeRuneValue) + for _, att := range attributes { + if err := validateCompositeKeyAttribute(att); err != nil { + return "", err + } + ck += att + string(minUnicodeRuneValue) + } + return ck, nil +} + +func splitCompositeKey(compositeKey string) (string, []string, error) { + componentIndex := 1 + components := []string{} + for i := 1; i < len(compositeKey); i++ { + if compositeKey[i] == minUnicodeRuneValue { + components = append(components, compositeKey[componentIndex:i]) + componentIndex = i + 1 + } + } + return components[0], components[1:], nil +} + +func validateCompositeKeyAttribute(str string) error { + if !utf8.ValidString(str) { + return fmt.Errorf("not a valid utf8 string: [%x]", str) + } + for index, runeValue := range str { + if runeValue == minUnicodeRuneValue || runeValue == maxUnicodeRuneValue { + return fmt.Errorf(`input contains unicode %#U starting at position [%d]. %#U and %#U are not allowed in the input attribute of a composite key`, + runeValue, index, minUnicodeRuneValue, maxUnicodeRuneValue) + } + } + return nil +} + +//To ensure that simple keys do not go into composite key namespace, +//we validate simplekey to check whether the key starts with 0x00 (which +//is the namespace for compositeKey). This helps in avoding simple/composite +//key collisions. +func validateSimpleKeys(simpleKeys ...string) error { + for _, key := range simpleKeys { + if len(key) > 0 && key[0] == compositeKeyNamespace[0] { + return fmt.Errorf(`first character of the key [%s] contains a null character which is not allowed`, key) + } + } + return nil +} + +//GetStateByPartialCompositeKey function can be invoked by a chaincode to query the +//state based on a given partial composite key. This function returns an +//iterator which can be used to iterate over all composite keys whose prefix +//matches the given partial composite key. This function should be used only for +//a partial composite key. For a full composite key, an iter with empty response +//would be returned. +func (s *ChaincodeStub) GetStateByPartialCompositeKey(objectType string, attributes []string) (StateQueryIteratorInterface, error) { + collection := "" + startKey, endKey, err := s.createRangeKeysForPartialCompositeKey(objectType, attributes) + if err != nil { + return nil, err + } + // ignore QueryResponseMetadata as it is not applicable for a partial composite key query without pagination + iterator, _, err := s.handleGetStateByRange(collection, startKey, endKey, nil) + + return iterator, err +} + +func createQueryMetadata(pageSize int32, bookmark string) ([]byte, error) { + // Construct the QueryMetadata with a page size and a bookmark needed for pagination + metadata := &pb.QueryMetadata{PageSize: pageSize, Bookmark: bookmark} + metadataBytes, err := proto.Marshal(metadata) + if err != nil { + return nil, err + } + return metadataBytes, nil +} + +// GetStateByRangeWithPagination ... +func (s *ChaincodeStub) GetStateByRangeWithPagination(startKey, endKey string, pageSize int32, + bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) { + + if startKey == "" { + startKey = emptyKeySubstitute + } + if err := validateSimpleKeys(startKey, endKey); err != nil { + return nil, nil, err + } + + collection := "" + + metadata, err := createQueryMetadata(pageSize, bookmark) + if err != nil { + return nil, nil, err + } + + return s.handleGetStateByRange(collection, startKey, endKey, metadata) +} + +// GetStateByPartialCompositeKeyWithPagination ... +func (s *ChaincodeStub) GetStateByPartialCompositeKeyWithPagination(objectType string, keys []string, + pageSize int32, bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) { + + collection := "" + + metadata, err := createQueryMetadata(pageSize, bookmark) + if err != nil { + return nil, nil, err + } + + startKey, endKey, err := s.createRangeKeysForPartialCompositeKey(objectType, keys) + if err != nil { + return nil, nil, err + } + return s.handleGetStateByRange(collection, startKey, endKey, metadata) +} + +// GetQueryResultWithPagination ... +func (s *ChaincodeStub) GetQueryResultWithPagination(query string, pageSize int32, + bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error) { + // Access public data by setting the collection to empty string + collection := "" + + metadata, err := createQueryMetadata(pageSize, bookmark) + if err != nil { + return nil, nil, err + } + return s.handleGetQueryResult(collection, query, metadata) +} + +// Next ... +func (iter *StateQueryIterator) Next() (*queryresult.KV, error) { + result, err := iter.nextResult(StateQueryResult) + if err != nil { + return nil, err + } + return result.(*queryresult.KV), err +} + +// Next ... +func (iter *HistoryQueryIterator) Next() (*queryresult.KeyModification, error) { + result, err := iter.nextResult(HistoryQueryResult) + if err != nil { + return nil, err + } + return result.(*queryresult.KeyModification), err +} + +// HasNext documentation can be found in interfaces.go +func (iter *CommonIterator) HasNext() bool { + if iter.currentLoc < len(iter.response.Results) || iter.response.HasMore { + return true + } + return false +} + +// getResultsFromBytes deserializes QueryResult and return either a KV struct +// or KeyModification depending on the result type (i.e., state (range/execute) +// query, history query). Note that queryResult is an empty golang +// interface that can hold values of any type. +func (iter *CommonIterator) getResultFromBytes(queryResultBytes *pb.QueryResultBytes, + rType resultType) (queryResult, error) { + + if rType == StateQueryResult { + stateQueryResult := &queryresult.KV{} + if err := proto.Unmarshal(queryResultBytes.ResultBytes, stateQueryResult); err != nil { + return nil, fmt.Errorf("error unmarshaling result from bytes: %s", err) + } + return stateQueryResult, nil + + } else if rType == HistoryQueryResult { + historyQueryResult := &queryresult.KeyModification{} + if err := proto.Unmarshal(queryResultBytes.ResultBytes, historyQueryResult); err != nil { + return nil, err + } + return historyQueryResult, nil + } + return nil, errors.New("wrong result type") +} + +func (iter *CommonIterator) fetchNextQueryResult() error { + response, err := iter.handler.handleQueryStateNext(iter.response.Id, iter.channelID, iter.txid) + if err != nil { + return err + } + iter.currentLoc = 0 + iter.response = response + return nil +} + +// nextResult returns the next QueryResult (i.e., either a KV struct or KeyModification) +// from the state or history query iterator. Note that queryResult is an +// empty golang interface that can hold values of any type. +func (iter *CommonIterator) nextResult(rType resultType) (queryResult, error) { + if iter.currentLoc < len(iter.response.Results) { + // On valid access of an element from cached results + queryResult, err := iter.getResultFromBytes(iter.response.Results[iter.currentLoc], rType) + if err != nil { + return nil, err + } + iter.currentLoc++ + + if iter.currentLoc == len(iter.response.Results) && iter.response.HasMore { + // On access of last item, pre-fetch to update HasMore flag + if err = iter.fetchNextQueryResult(); err != nil { + return nil, err + } + } + + return queryResult, err + } else if !iter.response.HasMore { + // On call to Next() without check of HasMore + return nil, errors.New("no such key") + } + + // should not fall through here + // case: no cached results but HasMore is true. + return nil, errors.New("invalid iterator state") +} + +// Close documentation can be found in interfaces.go +func (iter *CommonIterator) Close() error { + _, err := iter.handler.handleQueryStateClose(iter.response.Id, iter.channelID, iter.txid) + return err +} + +// GetArgs documentation can be found in interfaces.go +func (s *ChaincodeStub) GetArgs() [][]byte { + return s.args +} + +// GetStringArgs documentation can be found in interfaces.go +func (s *ChaincodeStub) GetStringArgs() []string { + args := s.GetArgs() + strargs := make([]string, 0, len(args)) + for _, barg := range args { + strargs = append(strargs, string(barg)) + } + return strargs +} + +// GetFunctionAndParameters documentation can be found in interfaces.go +func (s *ChaincodeStub) GetFunctionAndParameters() (function string, params []string) { + allargs := s.GetStringArgs() + function = "" + params = []string{} + if len(allargs) >= 1 { + function = allargs[0] + params = allargs[1:] + } + return +} + +// GetCreator documentation can be found in interfaces.go +func (s *ChaincodeStub) GetCreator() ([]byte, error) { + return s.creator, nil +} + +// GetTransient documentation can be found in interfaces.go +func (s *ChaincodeStub) GetTransient() (map[string][]byte, error) { + return s.transient, nil +} + +// GetBinding documentation can be found in interfaces.go +func (s *ChaincodeStub) GetBinding() ([]byte, error) { + return s.binding, nil +} + +// GetSignedProposal documentation can be found in interfaces.go +func (s *ChaincodeStub) GetSignedProposal() (*pb.SignedProposal, error) { + return s.signedProposal, nil +} + +// GetArgsSlice documentation can be found in interfaces.go +func (s *ChaincodeStub) GetArgsSlice() ([]byte, error) { + args := s.GetArgs() + res := []byte{} + for _, barg := range args { + res = append(res, barg...) + } + return res, nil +} + +// GetTxTimestamp documentation can be found in interfaces.go +func (s *ChaincodeStub) GetTxTimestamp() (*timestamp.Timestamp, error) { + hdr := &common.Header{} + if err := proto.Unmarshal(s.proposal.Header, hdr); err != nil { + return nil, fmt.Errorf("error unmarshaling Header: %s", err) + } + + chdr := &common.ChannelHeader{} + if err := proto.Unmarshal(hdr.ChannelHeader, chdr); err != nil { + return nil, fmt.Errorf("error unmarshaling ChannelHeader: %s", err) + } + + return chdr.GetTimestamp(), nil +} + +// ------------- ChaincodeEvent API ---------------------- + +// SetEvent documentation can be found in interfaces.go +func (s *ChaincodeStub) SetEvent(name string, payload []byte) error { + if name == "" { + return errors.New("event name can not be empty string") + } + s.chaincodeEvent = &pb.ChaincodeEvent{EventName: name, Payload: payload} + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract.go new file mode 100644 index 0000000..f5a5d8b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract.go @@ -0,0 +1,128 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package contractapi + +import "github.com/hyperledger/fabric-contract-api-go/metadata" + +// IgnoreContractInterface extends ContractInterface and provides additional functionality +// that can be used to mark which functions should not be accessible by invoking/querying +// chaincode +type IgnoreContractInterface interface { + // GetIgnoredFunctions returns a list of function names for functions that should not + // be included in the produced metadata or accessible by invoking/querying the chaincode. + // Note these functions are still callable by the code just not directly by outside users. + // Those that match functions in the ChaincodeInterface are ignored by default and do not + // need to be included + GetIgnoredFunctions() []string +} + +// EvaluationContractInterface extends ContractInterface and provides additional functionality +// that can be used to improve metadata +type EvaluationContractInterface interface { + // GetEvaluateTransactions returns a list of function names that should be tagged in the + // metadata as "evaluate" to indicate to a user of the chaincode that they should query + // rather than invoke these functions + GetEvaluateTransactions() []string +} + +// ContractInterface defines functions a valid contract should have. Contracts to +// be used in chaincode must implement this interface. +type ContractInterface interface { + // GetInfo returns the information stored for the contract. This information will be + // used to build up the metadata. If version is left blank in this info then "latest" + // will be used in the metadata. If title is blank then the contract's GetName will be + // used, if that is blank then the contract struct name + GetInfo() metadata.InfoMetadata + + // GetUnknownTransaction returns the unknown function to be used for a contract. + // When the contract is used in creating a new chaincode this function is called + // and the unknown transaction returned is stored. The unknown function is then + // called in cases where an unknown function name is passed for a call to the + // contract via Init/Invoke of the chaincode. If nil is returned the + // chaincode uses its default handling for unknown function names + GetUnknownTransaction() interface{} + + // GetBeforeTransaction returns the before function to be used for a contract. + // When the contract is used in creating a new chaincode this function is called + // and the before transaction returned is stored. The before function is then + // called before the named function on each Init/Invoke of that contract via the + // chaincode. When called the before function is passed no extra args, only the + // the transaction context (if specified to take it). If nil is returned + // then no before function is called on Init/Invoke. + GetBeforeTransaction() interface{} + + // GetAfterTransaction returns the after function to be used for a contract. + // When the contract is used in creating a new chaincode this function is called + // and the after transaction returned is stored. The after function is then + // called after the named function on each Init/Invoke of that contract via the + // chaincode. When called the after function is passed the returned value of the + // named function and the transaction context (if the function takes the transaction + // context). If nil is returned then no after function is called on Init/ + // Invoke. + GetAfterTransaction() interface{} + + // GetName returns the name of the contract. When the contract is used + // in creating a new chaincode this function is called and the name returned + // is then used to identify the contract within the chaincode on Init/Invoke calls. + // This function can return a blank string but this is undefined behaviour. + GetName() string + + // GetTransactionContextHandler returns the SettableTransactionContextInterface that is + // used by the functions of the contract. When the contract is used in creating + // a new chaincode this function is called and the transaction context returned + // is stored. When the chaincode is called via Init/Invoke a transaction context + // of the stored type is created and sent as a parameter to the named contract + // function (and before/after and unknown functions) if the function requires the + // context in its list of parameters. If functions taking the transaction context + // take an interface as the context, the transaction context returned by this function + // must meet that interface + GetTransactionContextHandler() SettableTransactionContextInterface +} + +// Contract defines functions for setting and getting before, after and unknown transactions +// and name. Can be embedded in structs to quickly ensure their definition meets the +// ContractInterface. +type Contract struct { + Name string + Info metadata.InfoMetadata + UnknownTransaction interface{} + BeforeTransaction interface{} + AfterTransaction interface{} + TransactionContextHandler SettableTransactionContextInterface +} + +// GetInfo returns the info about the contract for use in metadata +func (c *Contract) GetInfo() metadata.InfoMetadata { + return c.Info +} + +// GetUnknownTransaction returns the current set unknownTransaction, may be nil +func (c *Contract) GetUnknownTransaction() interface{} { + return c.UnknownTransaction +} + +// GetBeforeTransaction returns the current set beforeTransaction, may be nil +func (c *Contract) GetBeforeTransaction() interface{} { + return c.BeforeTransaction +} + +// GetAfterTransaction returns the current set afterTransaction, may be nil +func (c *Contract) GetAfterTransaction() interface{} { + return c.AfterTransaction +} + +// GetName returns the name of the contract +func (c *Contract) GetName() string { + return c.Name +} + +// GetTransactionContextHandler returns the current transaction context set for +// the contract. If none has been set then TransactionContext will be returned +func (c *Contract) GetTransactionContextHandler() SettableTransactionContextInterface { + if c.TransactionContextHandler == nil { + return new(TransactionContext) + } + + return c.TransactionContextHandler +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract_chaincode.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract_chaincode.go new file mode 100644 index 0000000..71b8753 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/contract_chaincode.go @@ -0,0 +1,410 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package contractapi + +import ( + "encoding/json" + "fmt" + "reflect" + "sort" + "strings" + "unicode" + + "github.com/hyperledger/fabric-chaincode-go/pkg/cid" + "github.com/hyperledger/fabric-chaincode-go/shim" + "github.com/hyperledger/fabric-contract-api-go/internal" + "github.com/hyperledger/fabric-contract-api-go/internal/utils" + "github.com/hyperledger/fabric-contract-api-go/metadata" + "github.com/hyperledger/fabric-contract-api-go/serializer" + "github.com/hyperledger/fabric-protos-go/peer" +) + +type contractChaincodeContract struct { + info metadata.InfoMetadata + functions map[string]*internal.ContractFunction + unknownTransaction *internal.TransactionHandler + beforeTransaction *internal.TransactionHandler + afterTransaction *internal.TransactionHandler + transactionContextHandler reflect.Type +} + +// ContractChaincode a struct to meet the chaincode interface and provide routing of calls to contracts +type ContractChaincode struct { + DefaultContract string + contracts map[string]contractChaincodeContract + metadata metadata.ContractChaincodeMetadata + Info metadata.InfoMetadata + TransactionSerializer serializer.TransactionSerializer +} + +// SystemContractName the name of the system smart contract +const SystemContractName = "org.hyperledger.fabric" + +// NewChaincode creates a new chaincode using contracts passed. The function parses each +// of the passed functions and stores details about their make-up to be used by the chaincode. +// Public functions of the contracts are stored and are made callable in the chaincode. The function +// will error if contracts are invalid e.g. public functions take in illegal types. A system contract is added +// to the chaincode which provides functionality for getting the metadata of the chaincode. The generated +// metadata is a JSON formatted MetadataContractChaincode containing each contract as a name and details +// of the public functions and types they take in/return. It also outlines version details for contracts and the +// chaincode. If these are blank strings this is set to latest. The names for parameters do not match those used +// in the functions, instead they are recorded as param0, param1, ..., paramN. If there exists a file +// contract-metadata/metadata.json then this will overwrite the generated metadata. The contents of this file must +// validate against the schema. The transaction serializer for the contract is set to be the JSONSerializer by +// default. This can be updated using by changing the TransactionSerializer property +func NewChaincode(contracts ...ContractInterface) (*ContractChaincode, error) { + ciMethods := getCiMethods() + + cc := new(ContractChaincode) + cc.contracts = make(map[string]contractChaincodeContract) + + for _, contract := range contracts { + additionalExcludes := []string{} + if castContract, ok := contract.(IgnoreContractInterface); ok { + additionalExcludes = castContract.GetIgnoredFunctions() + } + + err := cc.addContract(contract, append(ciMethods, additionalExcludes...)) + + if err != nil { + return nil, err + } + } + + sysC := new(SystemContract) + sysC.Name = SystemContractName + + cc.addContract(sysC, ciMethods) // should never error as system contract is good + + err := cc.augmentMetadata() + + if err != nil { + return nil, err + } + + metadataJSON, _ := json.Marshal(cc.metadata) + + sysC.setMetadata(string(metadataJSON)) + + cc.TransactionSerializer = new(serializer.JSONSerializer) + + return cc, nil +} + +// Start starts the chaincode in the fabric shim +func (cc *ContractChaincode) Start() error { + return shim.Start(cc) +} + +// Init is called during Instantiate transaction after the chaincode container +// has been established for the first time, passes off details of the request to Invoke +// for handling the request if a function name is passed, otherwise returns shim.Success +func (cc *ContractChaincode) Init(stub shim.ChaincodeStubInterface) peer.Response { + nsFcn, _ := stub.GetFunctionAndParameters() + if nsFcn == "" { + return shim.Success([]byte("Default initiator successful.")) + } + + return cc.Invoke(stub) +} + +// Invoke is called to update or query the ledger in a proposal transaction. Takes the +// args passed in the transaction and uses the first argument to identify the contract +// and function of that contract to be called. The remaining args are then used as +// parameters to that function. Args are converted from strings to the expected parameter +// types of the function before being passed using the set transaction serializer for the ContractChaincode. +// A transaction context is generated and is passed, if required, as the first parameter to the named function. +// Before and after functions are called before and after the named function passed if the contract defines such +// functions to exist. If the before function returns an error the named function is not called and its error +// is returned in shim.Error. If the after function returns an error then its value is returned +// to shim.Error otherwise the value returned from the named function is returned as shim.Success (formatted by +// the transaction serializer). If an unknown name is passed as part of the first arg a shim.Error is returned. +// If a valid name is passed but the function name is unknown then the contract with that name's +// unknown function is called and its value returned as success or error depending on its return. If no +// unknown function is defined for the contract then shim.Error is returned by Invoke. In the case of +// unknown function names being passed (and the unknown handler returns an error) or the named function +// returning an error then the after function if defined is not called. If the named function or unknown +// function handler returns a non-error type then then the after transaction is sent this value. The same +// transaction context is passed as a pointer to before, after, named and unknown functions on each Invoke. +// If no contract name is passed then the default contract is used. +func (cc *ContractChaincode) Invoke(stub shim.ChaincodeStubInterface) peer.Response { + + nsFcn, params := stub.GetFunctionAndParameters() + + li := strings.LastIndex(nsFcn, ":") + + var ns string + var fn string + + if li == -1 { + ns = cc.DefaultContract + fn = nsFcn + } else { + ns = nsFcn[:li] + fn = nsFcn[li+1:] + } + + if _, ok := cc.contracts[ns]; !ok { + return shim.Error(fmt.Sprintf("Contract not found with name %s", ns)) + } + + if fn == "" { + return shim.Error("Blank function name passed") + } + + originalFn := fn + + fnRune := []rune(fn) + + if unicode.IsLower(fnRune[0]) { + fnRune[0] = unicode.ToUpper(fnRune[0]) + fn = string(fnRune) + } + + nsContract := cc.contracts[ns] + + ctx := reflect.New(nsContract.transactionContextHandler) + ctxIface := ctx.Interface().(SettableTransactionContextInterface) + ctxIface.SetStub(stub) + + ci, _ := cid.New(stub) + ctxIface.SetClientIdentity(ci) + + beforeTransaction := nsContract.beforeTransaction + + if beforeTransaction != nil { + _, _, errRes := beforeTransaction.Call(ctx, nil, nil) + + if errRes != nil { + return shim.Error(errRes.Error()) + } + } + + var successReturn string + var successIFace interface{} + var errorReturn error + + serializer := cc.TransactionSerializer + + if _, ok := nsContract.functions[fn]; !ok { + unknownTransaction := nsContract.unknownTransaction + if unknownTransaction == nil { + return shim.Error(fmt.Sprintf("Function %s not found in contract %s", originalFn, ns)) + } + + successReturn, successIFace, errorReturn = unknownTransaction.Call(ctx, nil, serializer) + } else { + var transactionSchema *metadata.TransactionMetadata + + for _, v := range cc.metadata.Contracts[ns].Transactions { + if v.Name == fn { + transactionSchema = &v + break + } + } + + successReturn, successIFace, errorReturn = nsContract.functions[fn].Call(ctx, transactionSchema, &cc.metadata.Components, serializer, params...) + } + + if errorReturn != nil { + return shim.Error(errorReturn.Error()) + } + + afterTransaction := nsContract.afterTransaction + + if afterTransaction != nil { + _, _, errRes := afterTransaction.Call(ctx, successIFace, nil) + + if errRes != nil { + return shim.Error(errRes.Error()) + } + } + + return shim.Success([]byte(successReturn)) +} + +func (cc *ContractChaincode) addContract(contract ContractInterface, excludeFuncs []string) error { + ns := contract.GetName() + + if ns == "" { + ns = reflect.TypeOf(contract).Elem().Name() + } + + if _, ok := cc.contracts[ns]; ok { + return fmt.Errorf("Multiple contracts being merged into chaincode with name %s", ns) + } + + ccn := contractChaincodeContract{} + ccn.transactionContextHandler = reflect.ValueOf(contract.GetTransactionContextHandler()).Elem().Type() + transactionContextPtrHandler := reflect.ValueOf(contract.GetTransactionContextHandler()).Type() + ccn.functions = make(map[string]*internal.ContractFunction) + ccn.info = contract.GetInfo() + + if ccn.info.Version == "" { + ccn.info.Version = "latest" + } + + if ccn.info.Title == "" { + ccn.info.Title = ns + } + + contractType := reflect.PtrTo(reflect.TypeOf(contract).Elem()) + contractValue := reflect.ValueOf(contract).Elem().Addr() + + ut := contract.GetUnknownTransaction() + + if ut != nil { + var err error + ccn.unknownTransaction, err = internal.NewTransactionHandler(ut, transactionContextPtrHandler, internal.TransactionHandlerTypeUnknown) + + if err != nil { + return err + } + } + + bt := contract.GetBeforeTransaction() + + if bt != nil { + var err error + ccn.beforeTransaction, err = internal.NewTransactionHandler(bt, transactionContextPtrHandler, internal.TransactionHandlerTypeBefore) + + if err != nil { + return err + } + } + + at := contract.GetAfterTransaction() + + if at != nil { + var err error + ccn.afterTransaction, err = internal.NewTransactionHandler(at, transactionContextPtrHandler, internal.TransactionHandlerTypeAfter) + + if err != nil { + return err + } + } + + evaluateMethods := []string{} + + if eci, ok := contract.(EvaluationContractInterface); ok { + evaluateMethods = eci.GetEvaluateTransactions() + } + + for i := 0; i < contractType.NumMethod(); i++ { + typeMethod := contractType.Method(i) + valueMethod := contractValue.Method(i) + + if !utils.StringInSlice(typeMethod.Name, excludeFuncs) { + var err error + + var callType internal.CallType = internal.CallTypeSubmit + + if utils.StringInSlice(typeMethod.Name, evaluateMethods) { + callType = internal.CallTypeEvaluate + } + + ccn.functions[typeMethod.Name], err = internal.NewContractFunctionFromReflect(typeMethod, valueMethod, callType, transactionContextPtrHandler) + + if err != nil { + return err + } + } + } + + if len(ccn.functions) == 0 { + return fmt.Errorf("Contracts are required to have at least 1 (non-ignored) public method. Contract %s has none. Method names that have been ignored: %s", ns, utils.SliceAsCommaSentence(excludeFuncs)) + } + + cc.contracts[ns] = ccn + + if cc.DefaultContract == "" { + cc.DefaultContract = ns + } + + return nil +} + +func (cc *ContractChaincode) reflectMetadata() metadata.ContractChaincodeMetadata { + reflectedMetadata := metadata.ContractChaincodeMetadata{} + reflectedMetadata.Contracts = make(map[string]metadata.ContractMetadata) + reflectedMetadata.Components.Schemas = make(map[string]metadata.ObjectMetadata) + reflectedMetadata.Info = &cc.Info + + if cc.Info.Version == "" { + reflectedMetadata.Info.Version = "latest" + } + + if cc.Info.Title == "" { + reflectedMetadata.Info.Title = "undefined" + } + + for key, contract := range cc.contracts { + contractMetadata := metadata.ContractMetadata{} + contractMetadata.Name = key + infoCopy := contract.info + contractMetadata.Info = &infoCopy + + if cc.DefaultContract == key { + contractMetadata.Default = true + } + + for key, fn := range contract.functions { + fnMetadata := fn.ReflectMetadata(key, &reflectedMetadata.Components) + + contractMetadata.Transactions = append(contractMetadata.Transactions, fnMetadata) + } + + sort.Slice(contractMetadata.Transactions, func(i, j int) bool { + return contractMetadata.Transactions[i].Name < contractMetadata.Transactions[j].Name + }) + + reflectedMetadata.Contracts[key] = contractMetadata + } + + return reflectedMetadata +} + +func (cc *ContractChaincode) augmentMetadata() error { + fileMetadata, err := metadata.ReadMetadataFile() + + if err != nil && !strings.Contains(err.Error(), "Failed to read metadata from file") { + return err + } + + reflectedMetadata := cc.reflectMetadata() + + fileMetadata.Append(reflectedMetadata) + err = fileMetadata.CompileSchemas() + + if err != nil { + return err + } + + err = metadata.ValidateAgainstSchema(fileMetadata) + + if err != nil { + return err + } + + cc.metadata = fileMetadata + + return nil +} + +func getCiMethods() []string { + contractInterfaceType := reflect.TypeOf((*ContractInterface)(nil)).Elem() + ignoreContractInterfaceType := reflect.TypeOf((*IgnoreContractInterface)(nil)).Elem() + evaluateContractInterfaceType := reflect.TypeOf((*EvaluationContractInterface)(nil)).Elem() + + interfaceTypes := []reflect.Type{contractInterfaceType, ignoreContractInterfaceType, evaluateContractInterfaceType} + + var ciMethods []string + for _, interfaceType := range interfaceTypes { + for i := 0; i < interfaceType.NumMethod(); i++ { + ciMethods = append(ciMethods, interfaceType.Method(i).Name) + } + } + + return ciMethods +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/system_contract.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/system_contract.go new file mode 100644 index 0000000..74187d7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/system_contract.go @@ -0,0 +1,30 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package contractapi + +// SystemContract contract added to all chaincode to provide access to metdata +type SystemContract struct { + Contract + metadata string +} + +func (sc *SystemContract) setMetadata(metadata string) { + sc.metadata = metadata +} + +// GetMetadata returns JSON formatted metadata of chaincode +// the system contract is part of. This metadata is composed +// of reflected metadata combined with the metadata file +// if used +func (sc *SystemContract) GetMetadata() string { + return sc.metadata +} + +// GetEvaluateTransactions returns the transactions that +// exist in system contract which should be marked as +// evaluate transaction in the metadata. I.e. should be called +// by query transaction +func (sc *SystemContract) GetEvaluateTransactions() []string { + return []string{"GetMetadata"} +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/transaction_context.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/transaction_context.go new file mode 100644 index 0000000..ac97edd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/transaction_context.go @@ -0,0 +1,64 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package contractapi + +import ( + "github.com/hyperledger/fabric-chaincode-go/pkg/cid" + "github.com/hyperledger/fabric-chaincode-go/shim" +) + +// TransactionContextInterface defines the interface which TransactionContext +// meets. This can be taken by transacton functions on a contract which has not set +// a custom transaction context to allow transaction functions to take an interface +// to simplify unit testing. +type TransactionContextInterface interface { + // GetStub should provide a way to access the stub set by Init/Invoke + GetStub() shim.ChaincodeStubInterface + // GetClientIdentity should provide a way to access the client identity set by Init/Invoke + GetClientIdentity() cid.ClientIdentity +} + +// SettableTransactionContextInterface defines functions a valid transaction context +// should have. Transaction context's set for contracts to be used in chaincode +// must implement this interface. +type SettableTransactionContextInterface interface { + // SetStub should provide a way to pass the stub from a chaincode transaction + // call to the transaction context so that it can be used by contract functions. + // This is called by Init/Invoke with the stub passed. + SetStub(shim.ChaincodeStubInterface) + // SetClientIdentity should provide a way to pass the client identity from a chaincode + // transaction call to the transaction context so that it can be used by contract functions. + // This is called by Init/Invoke with the stub passed. + SetClientIdentity(ci cid.ClientIdentity) +} + +// TransactionContext is a basic transaction context to be used in contracts, +// containing minimal required functionality use in contracts as part of +// chaincode. Provides access to the stub and clientIdentity of a transaction. +// If a contract implements the ContractInterface using the Contract struct then +// this is the default transaction context that will be used. +type TransactionContext struct { + stub shim.ChaincodeStubInterface + clientIdentity cid.ClientIdentity +} + +// SetStub stores the passed stub in the transaction context +func (ctx *TransactionContext) SetStub(stub shim.ChaincodeStubInterface) { + ctx.stub = stub +} + +// SetClientIdentity stores the passed stub in the transaction context +func (ctx *TransactionContext) SetClientIdentity(ci cid.ClientIdentity) { + ctx.clientIdentity = ci +} + +// GetStub returns the current set stub +func (ctx *TransactionContext) GetStub() shim.ChaincodeStubInterface { + return ctx.stub +} + +// GetClientIdentity returns the current set client identity +func (ctx *TransactionContext) GetClientIdentity() cid.ClientIdentity { + return ctx.clientIdentity +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/utils/undefined_interface.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/utils/undefined_interface.go new file mode 100644 index 0000000..14552b1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/contractapi/utils/undefined_interface.go @@ -0,0 +1,9 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package utils + +// UndefinedInterface the type of nil passed to an after transaction when +// the contract function called as part of the transaction does not specify +// a success return type or its return type is interface{} and value nil +type UndefinedInterface struct{} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/contract_function.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/contract_function.go new file mode 100644 index 0000000..8e61242 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/contract_function.go @@ -0,0 +1,374 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package internal + +import ( + "errors" + "fmt" + "reflect" + + "github.com/hyperledger/fabric-contract-api-go/internal/types" + metadata "github.com/hyperledger/fabric-contract-api-go/metadata" + "github.com/hyperledger/fabric-contract-api-go/serializer" +) + +type contractFunctionParams struct { + context reflect.Type + fields []reflect.Type +} + +type contractFunctionReturns struct { + success reflect.Type + error bool +} + +// CallType enum for type of call that should be used for method submit vs evaluate +type CallType int + +const ( + // CallTypeNA contract function isnt callabale by invoke/query + CallTypeNA = iota + // CallTypeSubmit contract function should be called by invoke + CallTypeSubmit + // CallTypeEvaluate contract function should be called by query + CallTypeEvaluate +) + +// ContractFunction contains a description of a function so that it can be called by a chaincode +type ContractFunction struct { + function reflect.Value + callType CallType + params contractFunctionParams + returns contractFunctionReturns +} + +// Call calls function in a contract using string args and handles formatting the response into useful types +func (cf ContractFunction) Call(ctx reflect.Value, supplementaryMetadata *metadata.TransactionMetadata, components *metadata.ComponentMetadata, serializer serializer.TransactionSerializer, params ...string) (string, interface{}, error) { + var parameterMetadata []metadata.ParameterMetadata + if supplementaryMetadata != nil { + parameterMetadata = supplementaryMetadata.Parameters + } + + values, err := cf.formatArgs(ctx, parameterMetadata, components, params, serializer) + + if err != nil { + return "", nil, err + } + + someResp := cf.function.Call(values) + + var returnsMetadata *metadata.ReturnMetadata + if supplementaryMetadata != nil { + returnsMetadata = &supplementaryMetadata.Returns + } + + return cf.handleResponse(someResp, returnsMetadata, components, serializer) +} + +// ReflectMetadata returns the metadata for contract function +func (cf ContractFunction) ReflectMetadata(name string, existingComponents *metadata.ComponentMetadata) metadata.TransactionMetadata { + transactionMetadata := metadata.TransactionMetadata{} + transactionMetadata.Name = name + transactionMetadata.Tag = []string{} + + txType := "submit" + + if cf.callType == CallTypeEvaluate { + txType = "evaluate" + } + + transactionMetadata.Tag = append(transactionMetadata.Tag, txType) + + for index, field := range cf.params.fields { + schema, _ := metadata.GetSchema(field, existingComponents) + + param := metadata.ParameterMetadata{} + param.Name = fmt.Sprintf("param%d", index) + param.Schema = schema + + transactionMetadata.Parameters = append(transactionMetadata.Parameters, param) + } + + if cf.returns.success != nil { + schema, _ := metadata.GetSchema(cf.returns.success, existingComponents) + + transactionMetadata.Returns = metadata.ReturnMetadata{Schema: schema} + } + + return transactionMetadata +} + +type formatArgResult struct { + paramName string + converted reflect.Value + err error +} + +func (cf *ContractFunction) formatArgs(ctx reflect.Value, supplementaryMetadata []metadata.ParameterMetadata, components *metadata.ComponentMetadata, params []string, serializer serializer.TransactionSerializer) ([]reflect.Value, error) { + numParams := len(cf.params.fields) + + if supplementaryMetadata != nil { + if len(supplementaryMetadata) != numParams { + return nil, fmt.Errorf("Incorrect number of params in supplementary metadata. Expected %d, received %d", numParams, len(supplementaryMetadata)) + } + } + + values := []reflect.Value{} + + if cf.params.context != nil { + values = append(values, ctx) + } + + if len(params) < numParams { + return nil, fmt.Errorf("Incorrect number of params. Expected %d, received %d", numParams, len(params)) + } + + channels := []chan formatArgResult{} + + for i := 0; i < numParams; i++ { + + fieldType := cf.params.fields[i] + + var paramMetadata *metadata.ParameterMetadata + + if supplementaryMetadata != nil { + paramMetadata = &supplementaryMetadata[i] + } + + c := make(chan formatArgResult) + go cf.formatArg(params[i], fieldType, paramMetadata, components, serializer, c) + channels = append(channels, c) + } + + for _, channel := range channels { + for res := range channel { + + if res.err != nil { + return nil, fmt.Errorf("Error managing parameter%s. %s", res.paramName, res.err.Error()) + } + + values = append(values, res.converted) + } + } + + return values, nil +} + +func (cf *ContractFunction) formatArg(param string, fieldType reflect.Type, parameterMetadata *metadata.ParameterMetadata, components *metadata.ComponentMetadata, serializer serializer.TransactionSerializer, c chan formatArgResult) { + defer close(c) + + converted, err := serializer.FromString(param, fieldType, parameterMetadata, components) + + paramName := "" + + if parameterMetadata != nil { + paramName = " " + parameterMetadata.Name + } + + res := new(formatArgResult) + res.paramName = paramName + res.converted = converted + res.err = err + + c <- *res +} + +func (cf *ContractFunction) handleResponse(response []reflect.Value, returnsMetadata *metadata.ReturnMetadata, components *metadata.ComponentMetadata, serializer serializer.TransactionSerializer) (string, interface{}, error) { + expectedLength := 0 + + returnsSuccess := cf.returns.success != nil + + if returnsSuccess && cf.returns.error { + expectedLength = 2 + } else if returnsSuccess || cf.returns.error { + expectedLength = 1 + } + + if len(response) == expectedLength { + + var successResponse reflect.Value + var errorResponse reflect.Value + + if returnsSuccess && cf.returns.error { + successResponse = response[0] + errorResponse = response[1] + } else if returnsSuccess { + successResponse = response[0] + } else if cf.returns.error { + errorResponse = response[0] + } + + var successString string + var errorError error + var iface interface{} + + if successResponse.IsValid() { + if serializer != nil { + var err error + successString, err = serializer.ToString(successResponse, cf.returns.success, returnsMetadata, components) + + if err != nil { + return "", nil, fmt.Errorf("Error handling success response. %s", err.Error()) + } + } + + iface = successResponse.Interface() + } + + if errorResponse.IsValid() && !errorResponse.IsNil() { + errorError = errorResponse.Interface().(error) + } + + return successString, iface, errorError + } + + return "", nil, errors.New("response does not match expected return for given function") +} + +func newContractFunction(fnValue reflect.Value, callType CallType, paramDetails contractFunctionParams, returnDetails contractFunctionReturns) *ContractFunction { + cf := ContractFunction{} + cf.callType = callType + cf.function = fnValue + cf.params = paramDetails + cf.returns = returnDetails + + return &cf +} + +// NewContractFunctionFromFunc creates a new contract function from a given function +func NewContractFunctionFromFunc(fn interface{}, callType CallType, contextHandlerType reflect.Type) (*ContractFunction, error) { + fnType := reflect.TypeOf(fn) + fnValue := reflect.ValueOf(fn) + + if fnType.Kind() != reflect.Func { + return nil, fmt.Errorf("Cannot create new contract function from %s. Can only use func", fnType.Kind()) + } + + myMethod := reflect.Method{} + myMethod.Func = fnValue + myMethod.Type = fnType + + paramDetails, returnDetails, err := parseMethod(myMethod, contextHandlerType) + + if err != nil { + return nil, err + } + + return newContractFunction(fnValue, callType, paramDetails, returnDetails), nil +} + +// NewContractFunctionFromReflect creates a new contract function from a reflected method +func NewContractFunctionFromReflect(typeMethod reflect.Method, valueMethod reflect.Value, callType CallType, contextHandlerType reflect.Type) (*ContractFunction, error) { + paramDetails, returnDetails, err := parseMethod(typeMethod, contextHandlerType) + + if err != nil { + return nil, err + } + + return newContractFunction(valueMethod, callType, paramDetails, returnDetails), nil +} + +// Setup + +func parseMethod(typeMethod reflect.Method, contextHandlerType reflect.Type) (contractFunctionParams, contractFunctionReturns, error) { + myContractFnParams, err := methodToContractFunctionParams(typeMethod, contextHandlerType) + + if err != nil { + return contractFunctionParams{}, contractFunctionReturns{}, err + } + + myContractFnReturns, err := methodToContractFunctionReturns(typeMethod) + + if err != nil { + return contractFunctionParams{}, contractFunctionReturns{}, err + } + + return myContractFnParams, myContractFnReturns, nil +} + +func methodToContractFunctionParams(typeMethod reflect.Method, contextHandlerType reflect.Type) (contractFunctionParams, error) { + myContractFnParams := contractFunctionParams{} + + usesCtx := (reflect.Type)(nil) + + numIn := typeMethod.Type.NumIn() + + startIndex := 1 + methodName := typeMethod.Name + + if methodName == "" { + startIndex = 0 + methodName = "Function" + } + + for i := startIndex; i < numIn; i++ { + inType := typeMethod.Type.In(i) + + typeError := typeIsValid(inType, nil, false) + + isCtx := inType == contextHandlerType + + if typeError != nil && !isCtx && i == startIndex && inType.Kind() == reflect.Interface { + invalidInterfaceTypeErr := fmt.Sprintf("%s contains invalid transaction context interface type. Set transaction context for contract does not meet interface used in method.", methodName) + + err := typeMatchesInterface(contextHandlerType, inType) + + if err != nil { + return contractFunctionParams{}, fmt.Errorf("%s %s", invalidInterfaceTypeErr, err.Error()) + } + + isCtx = true + } + + if typeError != nil && !isCtx { + return contractFunctionParams{}, fmt.Errorf("%s contains invalid parameter type. %s", methodName, typeError.Error()) + } else if i != startIndex && isCtx { + return contractFunctionParams{}, fmt.Errorf("Functions requiring the TransactionContext must require it as the first parameter. %s takes it in as parameter %d", methodName, i-startIndex) + } else if isCtx { + usesCtx = contextHandlerType + } else { + myContractFnParams.fields = append(myContractFnParams.fields, inType) + } + } + + myContractFnParams.context = usesCtx + return myContractFnParams, nil +} + +func methodToContractFunctionReturns(typeMethod reflect.Method) (contractFunctionReturns, error) { + numOut := typeMethod.Type.NumOut() + + methodName := typeMethod.Name + + if methodName == "" { + methodName = "Function" + } + + if numOut > 2 { + return contractFunctionReturns{}, fmt.Errorf("Functions may only return a maximum of two values. %s returns %d", methodName, numOut) + } else if numOut == 1 { + outType := typeMethod.Type.Out(0) + + typeError := typeIsValid(outType, nil, true) + + if typeError != nil { + return contractFunctionReturns{}, fmt.Errorf("%s contains invalid single return type. %s", methodName, typeError.Error()) + } else if outType == types.ErrorType { + return contractFunctionReturns{nil, true}, nil + } + return contractFunctionReturns{outType, false}, nil + } else if numOut == 2 { + firstOut := typeMethod.Type.Out(0) + secondOut := typeMethod.Type.Out(1) + + firstTypeError := typeIsValid(firstOut, nil, true) + if firstTypeError != nil && firstOut != types.ErrorType { + return contractFunctionReturns{}, fmt.Errorf("%s contains invalid first return type. %s", methodName, firstTypeError.Error()) + } else if secondOut.String() != "error" { + return contractFunctionReturns{}, fmt.Errorf("%s contains invalid second return type. Type %s is not valid. Expected error", methodName, secondOut.String()) + } + return contractFunctionReturns{firstOut, true}, nil + } + return contractFunctionReturns{nil, false}, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/transaction_handler.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/transaction_handler.go new file mode 100644 index 0000000..69aff41 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/transaction_handler.go @@ -0,0 +1,90 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package internal + +import ( + "errors" + "fmt" + "reflect" + + "github.com/hyperledger/fabric-contract-api-go/contractapi/utils" + "github.com/hyperledger/fabric-contract-api-go/serializer" +) + +// TransactionHandlerType enum for type of transaction handled +type TransactionHandlerType int + +const ( + // TransactionHandlerTypeBefore before transaction type + TransactionHandlerTypeBefore TransactionHandlerType = iota + 1 + // TransactionHandlerTypeUnknown before transaction type + TransactionHandlerTypeUnknown + // TransactionHandlerTypeAfter before transaction type + TransactionHandlerTypeAfter +) + +func (tht TransactionHandlerType) String() (string, error) { + switch tht { + case TransactionHandlerTypeBefore: + return "Before", nil + case TransactionHandlerTypeAfter: + return "After", nil + case TransactionHandlerTypeUnknown: + return "Unknown", nil + default: + return "", errors.New("Invalid transaction handler type") + } +} + +// TransactionHandler extension of contract function that manages function which handles calls +// to before, after and unknown transaction functions +type TransactionHandler struct { + ContractFunction + handlesType TransactionHandlerType +} + +// Call calls tranaction function using string args and handles formatting the response into useful types +func (th TransactionHandler) Call(ctx reflect.Value, data interface{}, serializer serializer.TransactionSerializer) (string, interface{}, error) { + values := []reflect.Value{} + + if th.params.context != nil { + values = append(values, ctx) + } + + if th.handlesType == TransactionHandlerTypeAfter && len(th.params.fields) == 1 { + if data == nil { + values = append(values, reflect.Zero(reflect.TypeOf(new(utils.UndefinedInterface)))) + } else { + values = append(values, reflect.ValueOf(data)) + } + } + + someResp := th.function.Call(values) + + return th.handleResponse(someResp, nil, nil, serializer) +} + +// NewTransactionHandler create a new transaction handler from a given function +func NewTransactionHandler(fn interface{}, contextHandlerType reflect.Type, handlesType TransactionHandlerType) (*TransactionHandler, error) { + cf, err := NewContractFunctionFromFunc(fn, 0, contextHandlerType) + + if err != nil { + str, _ := handlesType.String() + return nil, fmt.Errorf("Error creating %s. %s", str, err.Error()) + } else if handlesType != TransactionHandlerTypeAfter && len(cf.params.fields) > 0 { + str, _ := handlesType.String() + return nil, fmt.Errorf("%s transactions may not take any params other than the transaction context", str) + } else if handlesType == TransactionHandlerTypeAfter && len(cf.params.fields) > 1 { + return nil, fmt.Errorf("After transactions must take at most one non-context param") + } else if handlesType == TransactionHandlerTypeAfter && len(cf.params.fields) == 1 && cf.params.fields[0].Kind() != reflect.Interface { + return nil, fmt.Errorf("After transaction must take type interface{} as their only non-context param") + } + + th := TransactionHandler{ + *cf, + handlesType, + } + + return &th, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types/types.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types/types.go new file mode 100644 index 0000000..1ddbec2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types/types.go @@ -0,0 +1,362 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package types + +import ( + "fmt" + "math" + "reflect" + "strconv" + "time" + + "github.com/go-openapi/spec" +) + +type basicType interface { + Convert(string) (reflect.Value, error) + GetSchema() *spec.Schema +} + +type stringType struct{} + +func (st *stringType) Convert(value string) (reflect.Value, error) { + return reflect.ValueOf(value), nil +} + +func (st *stringType) GetSchema() *spec.Schema { + return spec.StringProperty() +} + +type boolType struct{} + +func (bt *boolType) Convert(value string) (reflect.Value, error) { + var boolVal bool + var err error + if value != "" { + boolVal, err = strconv.ParseBool(value) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to bool", value) + } + } + + return reflect.ValueOf(boolVal), nil +} + +func (bt *boolType) GetSchema() *spec.Schema { + return spec.BooleanProperty() +} + +type intType struct{} + +func (it *intType) Convert(value string) (reflect.Value, error) { + var intVal int + var err error + if value != "" { + intVal, err = strconv.Atoi(value) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to int", value) + } + } + + return reflect.ValueOf(intVal), nil +} + +func (it *intType) GetSchema() *spec.Schema { + return spec.Int64Property() +} + +type int8Type struct{} + +func (it *int8Type) Convert(value string) (reflect.Value, error) { + var intVal int8 + if value != "" { + int64val, err := strconv.ParseInt(value, 10, 8) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to int8", value) + } + + intVal = int8(int64val) + } + + return reflect.ValueOf(intVal), nil +} + +func (it *int8Type) GetSchema() *spec.Schema { + return spec.Int8Property() +} + +type int16Type struct{} + +func (it *int16Type) Convert(value string) (reflect.Value, error) { + var intVal int16 + if value != "" { + int64val, err := strconv.ParseInt(value, 10, 16) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to int16", value) + } + + intVal = int16(int64val) + } + + return reflect.ValueOf(intVal), nil +} + +func (it *int16Type) GetSchema() *spec.Schema { + return spec.Int16Property() +} + +type int32Type struct{} + +func (it *int32Type) Convert(value string) (reflect.Value, error) { + var intVal int32 + if value != "" { + int64val, err := strconv.ParseInt(value, 10, 32) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to int32", value) + } + + intVal = int32(int64val) + } + + return reflect.ValueOf(intVal), nil +} + +func (it *int32Type) GetSchema() *spec.Schema { + return spec.Int32Property() +} + +type int64Type struct{} + +func (it *int64Type) Convert(value string) (reflect.Value, error) { + var intVal int64 + var err error + if value != "" { + intVal, err = strconv.ParseInt(value, 10, 64) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to int64", value) + } + } + + return reflect.ValueOf(intVal), nil +} + +func (it *int64Type) GetSchema() *spec.Schema { + return spec.Int64Property() +} + +type uintType struct{} + +func (ut *uintType) Convert(value string) (reflect.Value, error) { + var uintVal uint + if value != "" { + uint64Val, err := strconv.ParseUint(value, 10, 64) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to uint", value) + } + + uintVal = uint(uint64Val) + } + + return reflect.ValueOf(uintVal), nil +} + +func (ut *uintType) GetSchema() *spec.Schema { + schema := spec.Float64Property() + + multOf := float64(1) + schema.MultipleOf = &multOf + minimum := float64(0) + schema.Minimum = &minimum + maximum := float64(math.MaxUint64) + schema.Maximum = &maximum + return schema +} + +type uint8Type struct{} + +func (ut *uint8Type) Convert(value string) (reflect.Value, error) { + var uintVal uint8 + if value != "" { + uint64Val, err := strconv.ParseUint(value, 10, 8) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to uint8", value) + } + + uintVal = uint8(uint64Val) + } + + return reflect.ValueOf(uintVal), nil +} + +func (ut *uint8Type) GetSchema() *spec.Schema { + schema := spec.Int32Property() + minimum := float64(0) + schema.Minimum = &minimum + maximum := float64(math.MaxUint8) + schema.Maximum = &maximum + return schema +} + +type uint16Type struct{} + +func (ut *uint16Type) Convert(value string) (reflect.Value, error) { + var uintVal uint16 + if value != "" { + uint64Val, err := strconv.ParseUint(value, 10, 16) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to uint16", value) + } + + uintVal = uint16(uint64Val) + } + + return reflect.ValueOf(uintVal), nil +} + +func (ut *uint16Type) GetSchema() *spec.Schema { + schema := spec.Int64Property() + minimum := float64(0) + schema.Minimum = &minimum + maximum := float64(math.MaxUint16) + schema.Maximum = &maximum + return schema +} + +type uint32Type struct{} + +func (ut *uint32Type) Convert(value string) (reflect.Value, error) { + var uintVal uint32 + if value != "" { + uint64Val, err := strconv.ParseUint(value, 10, 32) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to uint32", value) + } + + uintVal = uint32(uint64Val) + } + + return reflect.ValueOf(uintVal), nil +} + +func (ut *uint32Type) GetSchema() *spec.Schema { + schema := spec.Int64Property() + minimum := float64(0) + schema.Minimum = &minimum + maximum := float64(4294967295) + schema.Maximum = &maximum + return schema +} + +type uint64Type struct{} + +func (ut *uint64Type) Convert(value string) (reflect.Value, error) { + var uintVal uint64 + var err error + if value != "" { + uintVal, err = strconv.ParseUint(value, 10, 64) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to uint64", value) + } + } + + return reflect.ValueOf(uintVal), nil +} + +func (ut *uint64Type) GetSchema() *spec.Schema { + schema := spec.Float64Property() + multOf := float64(1) + schema.MultipleOf = &multOf + minimum := float64(0) + schema.Minimum = &minimum + maximum := float64(18446744073709551615) + schema.Maximum = &maximum + return schema +} + +type float32Type struct{} + +func (ft *float32Type) Convert(value string) (reflect.Value, error) { + var floatVal float32 + if value != "" { + float64Val, err := strconv.ParseFloat(value, 32) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to float32", value) + } + + floatVal = float32(float64Val) + } + + return reflect.ValueOf(floatVal), nil +} + +func (ft *float32Type) GetSchema() *spec.Schema { + return spec.Float32Property() +} + +type float64Type struct{} + +func (ft *float64Type) Convert(value string) (reflect.Value, error) { + var floatVal float64 + var err error + if value != "" { + floatVal, err = strconv.ParseFloat(value, 64) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Cannot convert passed value %s to float64", value) + } + } + + return reflect.ValueOf(floatVal), nil +} + +func (ft *float64Type) GetSchema() *spec.Schema { + return spec.Float64Property() +} + +type interfaceType struct{} + +func (st *interfaceType) Convert(value string) (reflect.Value, error) { + return reflect.ValueOf(value), nil +} + +func (st *interfaceType) GetSchema() *spec.Schema { + return new(spec.Schema) +} + +// BasicTypes the base types usable in the contract api +var BasicTypes = map[reflect.Kind]basicType{ + reflect.Bool: new(boolType), + reflect.Float32: new(float32Type), + reflect.Float64: new(float64Type), + reflect.Int: new(intType), + reflect.Int8: new(int8Type), + reflect.Int16: new(int16Type), + reflect.Int32: new(int32Type), + reflect.Int64: new(int64Type), + reflect.String: new(stringType), + reflect.Uint: new(uintType), + reflect.Uint8: new(uint8Type), + reflect.Uint16: new(uint16Type), + reflect.Uint32: new(uint32Type), + reflect.Uint64: new(uint64Type), + reflect.Interface: new(interfaceType), +} + +// ErrorType reflect type for errors +var ErrorType = reflect.TypeOf((*error)(nil)).Elem() + +// TimeType reflect type for time +var TimeType = reflect.TypeOf(time.Time{}) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types_handler.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types_handler.go new file mode 100644 index 0000000..900614a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/types_handler.go @@ -0,0 +1,146 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package internal + +import ( + "fmt" + "reflect" + "sort" + + "github.com/hyperledger/fabric-contract-api-go/internal/types" + "github.com/hyperledger/fabric-contract-api-go/internal/utils" +) + +func basicTypesAsSlice() []string { + typesArr := []string{} + + for el := range types.BasicTypes { + typesArr = append(typesArr, el.String()) + } + sort.Strings(typesArr) + + return typesArr +} + +func listBasicTypes() string { + return utils.SliceAsCommaSentence(basicTypesAsSlice()) +} + +func arrayOfValidType(array reflect.Value, additionalTypes []reflect.Type) error { + if array.Len() < 1 { + return fmt.Errorf("Arrays must have length greater than 0") + } + + return typeIsValid(array.Index(0).Type(), additionalTypes, false) +} + +func structOfValidType(obj reflect.Type, additionalTypes []reflect.Type) error { + if obj.Kind() == reflect.Ptr { + obj = obj.Elem() + } + + for i := 0; i < obj.NumField(); i++ { + err := typeIsValid(obj.Field(i).Type, additionalTypes, false) + + if err != nil { + return err + } + } + + return nil +} + +func typeInSlice(a reflect.Type, list []reflect.Type) bool { + for _, b := range list { + if b == a { + return true + } + } + return false +} + +func typeIsValid(t reflect.Type, additionalTypes []reflect.Type, allowError bool) error { + if t.Kind() == reflect.Array { + array := reflect.New(t).Elem() + return arrayOfValidType(array, additionalTypes) + } else if t.Kind() == reflect.Slice { + slice := reflect.MakeSlice(t, 1, 1) + return typeIsValid(slice.Index(0).Type(), additionalTypes, false) + } else if t.Kind() == reflect.Map { + if t.Key().Kind() != reflect.String { + return fmt.Errorf("Map key type %s is not valid. Expected string", t.Key().String()) + } + + return typeIsValid(t.Elem(), additionalTypes, false) + } else if (t.Kind() == reflect.Struct || (t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Struct)) && !typeInSlice(t, additionalTypes) { + additionalTypes = append(additionalTypes, t) + + if t.Kind() != reflect.Ptr { + additionalTypes = append(additionalTypes, reflect.PtrTo(t)) + } else { + additionalTypes = append(additionalTypes, t.Elem()) + } + // add self for cyclic + + return structOfValidType(t, additionalTypes) + } else if _, ok := types.BasicTypes[t.Kind()]; (!ok || (!allowError && t == types.ErrorType) || (t.Kind() == reflect.Interface && t.String() != "interface {}" && t.String() != "error")) && !typeInSlice(t, additionalTypes) { + errStr := "" + + if allowError { + errStr = " error," + } + + return fmt.Errorf("Type %s is not valid. Expected a struct or one of the basic types%s %s or an array/slice of these", t.String(), errStr, listBasicTypes()) + } + + return nil +} + +func typeMatchesInterface(toMatch reflect.Type, iface reflect.Type) error { + if iface.Kind() != reflect.Interface { + return fmt.Errorf("Type passed for interface is not an interface") + } + + for i := 0; i < iface.NumMethod(); i++ { + ifaceMethod := iface.Method(i) + matchMethod, exists := toMatch.MethodByName(ifaceMethod.Name) + + if !exists { + return fmt.Errorf("Missing function %s", ifaceMethod.Name) + } + + ifaceNumIn := ifaceMethod.Type.NumIn() + matchNumIn := matchMethod.Type.NumIn() - 1 // skip over which the function is acting on + + if ifaceNumIn != matchNumIn { + return fmt.Errorf("Parameter mismatch in method %s. Expected %d, got %d", ifaceMethod.Name, ifaceNumIn, matchNumIn) + } + + for j := 0; j < ifaceNumIn; j++ { + ifaceIn := ifaceMethod.Type.In(j) + matchIn := matchMethod.Type.In(j + 1) + + if ifaceIn.Kind() != matchIn.Kind() { + return fmt.Errorf("Parameter mismatch in method %s at parameter %d. Expected %s, got %s", ifaceMethod.Name, j, ifaceIn.Name(), matchIn.Name()) + } + } + + ifaceNumOut := ifaceMethod.Type.NumOut() + matchNumOut := matchMethod.Type.NumOut() + if ifaceNumOut != matchNumOut { + return fmt.Errorf("Return mismatch in method %s. Expected %d, got %d", ifaceMethod.Name, ifaceNumOut, matchNumOut) + } + + for j := 0; j < ifaceNumOut; j++ { + ifaceOut := ifaceMethod.Type.Out(j) + matchOut := matchMethod.Type.Out(j) + + if ifaceOut.Kind() != matchOut.Kind() { + return fmt.Errorf("Return mismatch in method %s at return %d. Expected %s, got %s", ifaceMethod.Name, j, ifaceOut.Name(), matchOut.Name()) + } + } + } + + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/utils/utils.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/utils/utils.go new file mode 100644 index 0000000..44e8c08 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/internal/utils/utils.go @@ -0,0 +1,42 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package utils + +import ( + "sort" + "strconv" + "strings" + + "github.com/xeipuuv/gojsonschema" +) + +// ValidateErrorsToString converts errors from JSON schema output into readable string +func ValidateErrorsToString(resErrors []gojsonschema.ResultError) string { + toReturn := "" + + sort.Slice(resErrors[:], func(i, j int) bool { + return resErrors[i].String() < resErrors[j].String() + }) + + for i, v := range resErrors { + toReturn += strconv.Itoa(i+1) + ". " + v.String() + "\n" + } + + return strings.Trim(toReturn, "\n") +} + +// StringInSlice returns whether string exists in string slice +func StringInSlice(a string, list []string) bool { + for _, b := range list { + if b == a { + return true + } + } + return false +} + +// SliceAsCommaSentence returns string slice as comma separated sentence +func SliceAsCommaSentence(slice []string) string { + return strings.Replace(strings.Join(slice, " and "), " and ", ", ", len(slice)-2) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/a_metadata-packr.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/a_metadata-packr.go new file mode 100644 index 0000000..300a1d6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/a_metadata-packr.go @@ -0,0 +1,13 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 +// Code generated by github.com/gobuffalo/packr. DO NOT EDIT. + +package metadata + +import "github.com/gobuffalo/packr" + +// You can use the "packr clean" command to clean up this, +// and any other packr generated files. +func init() { + packr.PackJSONBytes("./schema", "schema.json", "\"ewogICAgIiRzY2hlbWEiOiAiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjIiwKICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAidGl0bGUiOiAiSHlwZXJsZWRnZXIgRmFicmljIENvbnRyYWN0IERlZmluaXRpb24gSlNPTiBTY2hlbWEiLAogICAgInJlcXVpcmVkIjogWwogICAgICAgICJpbmZvIiwKICAgICAgICAiY29udHJhY3RzIgogICAgXSwKICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJpbmZvIjogewogICAgICAgICAgICAiJHJlZiI6ICIjL2RlZmluaXRpb25zL2luZm8iCiAgICAgICAgfSwKICAgICAgICAiY29udHJhY3RzIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAicGF0dGVyblByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAiXi4qJCI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICIjL2RlZmluaXRpb25zL2NvbnRyYWN0IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiY29tcG9uZW50cyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9jb21wb25lbnRzIgogICAgICAgIH0KICAgIH0sCiAgICAiZGVmaW5pdGlvbnMiOiB7CiAgICAgICAgImluZm8iOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBBUEkuIiwKICAgICAgICAgICAgInJlcXVpcmVkIjogWwogICAgICAgICAgICAgICAgInZlcnNpb24iLAogICAgICAgICAgICAgICAgInRpdGxlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJ0aXRsZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHVuaXF1ZSBhbmQgcHJlY2lzZSB0aXRsZSBvZiB0aGUgQVBJLiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidmVyc2lvbiI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHNlbWFudGljIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBBUEkuIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIGxvbmdlciBkZXNjcmlwdGlvbiBvZiB0aGUgQVBJLiBTaG91bGQgYmUgZGlmZmVyZW50IGZyb20gdGhlIHRpdGxlLiAgR2l0SHViIEZsYXZvcmVkIE1hcmtkb3duIGlzIGFsbG93ZWQuIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJ0ZXJtc09mU2VydmljZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGUgdGVybXMgb2Ygc2VydmljZSBmb3IgdGhlIEFQSS4iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImNvbnRhY3QiOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9jb250YWN0IgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJsaWNlbnNlIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvbGljZW5zZSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImNvbnRhY3QiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250YWN0IGluZm9ybWF0aW9uIGZvciB0aGUgb3duZXJzIG9mIHRoZSBBUEkuIiwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAibmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGUgaWRlbnRpZnlpbmcgbmFtZSBvZiB0aGUgY29udGFjdCBwZXJzb24vb3JnYW5pemF0aW9uLiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidXJsIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRoZSBVUkwgcG9pbnRpbmcgdG8gdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24uIiwKICAgICAgICAgICAgICAgICAgICAiZm9ybWF0IjogInVyaSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZW1haWwiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhlIGVtYWlsIGFkZHJlc3Mgb2YgdGhlIGNvbnRhY3QgcGVyc29uL29yZ2FuaXphdGlvbi4iLAogICAgICAgICAgICAgICAgICAgICJmb3JtYXQiOiAiZW1haWwiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJsaWNlbnNlIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbCiAgICAgICAgICAgICAgICAibmFtZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgIm5hbWUiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhlIG5hbWUgb2YgdGhlIGxpY2Vuc2UgdHlwZS4gSXQncyBlbmNvdXJhZ2VkIHRvIHVzZSBhbiBPU0kgY29tcGF0aWJsZSBsaWNlbnNlLiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidXJsIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRoZSBVUkwgcG9pbnRpbmcgdG8gdGhlIGxpY2Vuc2UuIiwKICAgICAgICAgICAgICAgICAgICAiZm9ybWF0IjogInVyaSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImNvbnRyYWN0IjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICAgICAgICAgInJlcXVpcmVkIjogWwogICAgICAgICAgICAgICAgIm5hbWUiLAogICAgICAgICAgICAgICAgInRyYW5zYWN0aW9ucyIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJpbmZvIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvaW5mbyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAibmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHVuaXF1ZSBhbmQgcHJlY2lzZSB0aXRsZSBvZiB0aGUgQVBJLiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHJhbnNhY3Rpb25zIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvdHJhbnNhY3Rpb24iCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAib2JqZWN0dHlwZSI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkEgY29tcGxleCB0eXBlIHVzZWQgaW4gYSBkb21haW4iLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbCiAgICAgICAgICAgICAgICAiJGlkIiwKICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIgogICAgICAgICAgICBdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJeLiokIjogewogICAgICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICIjL2RlZmluaXRpb25zL3NjaGVtYSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInJlcXVpcmVkIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIy9kZWZpbml0aW9ucy9zdHJpbmdBcnJheSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInBhcmFtZXRlcnNMaXN0IjogewogICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGUgcGFyYW1ldGVycyBuZWVkZWQgdG8gc2VuZCBhIHZhbGlkIEFQSSBjYWxsLiIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsSXRlbXMiOiBmYWxzZSwKICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9wYXJhbWV0ZXIiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvanNvblJlZmVyZW5jZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ1bmlxdWVJdGVtcyI6IHRydWUKICAgICAgICB9LAogICAgICAgICJ0cmFuc2FjdGlvbiI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogInNpbmdsZSB0cmFuc2FjdGlvbiBzcGVjaWZpY2F0aW9uIiwKICAgICAgICAgICAgInJlcXVpcmVkIjogWwogICAgICAgICAgICAgICAgIm5hbWUiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgIm5hbWUiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAibmFtZSBvZiB0aGUgdHJhbnNhY3Rpb24gIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJ0YWciOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImZyZWUgZm9ybWF0IHRhZ3MiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvcGFyYW1ldGVyc0xpc3QiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInJldHVybnMiOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9zY2hlbWEiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJwYXJhbWV0ZXIiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsKICAgICAgICAgICAgICAgICJuYW1lIiwKICAgICAgICAgICAgICAgICJzY2hlbWEiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlci4gVGhpcyBjb3VsZCBjb250YWluIGV4YW1wbGVzIG9mIHVzZS4gIEdpdEh1YiBGbGF2b3JlZCBNYXJrZG93biBpcyBhbGxvd2VkLiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAibmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyLiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRldGVybWluZXMgd2hldGhlciBvciBub3QgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgb3Igb3B0aW9uYWwuIiwKICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInNjaGVtYSI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICIjL2RlZmluaXRpb25zL3NjaGVtYSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UKICAgICAgICB9LAogICAgICAgICJqc29uUmVmZXJlbmNlIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbCiAgICAgICAgICAgICAgICAiJHJlZiIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgIiRyZWYiOiB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAic2NoZW1hIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBkZXRlcm1pbmlzdGljIHZlcnNpb24gb2YgYSBKU09OIFNjaGVtYSBvYmplY3QuIiwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAiJHJlZiI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImZvcm1hdCI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInRpdGxlIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIy9wcm9wZXJ0aWVzL3RpdGxlIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMvcHJvcGVydGllcy9kZXNjcmlwdGlvbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMvcHJvcGVydGllcy9kZWZhdWx0IgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtdWx0aXBsZU9mIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIy9wcm9wZXJ0aWVzL211bHRpcGxlT2YiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIm1heGltdW0iOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjL3Byb3BlcnRpZXMvbWF4aW11bSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZXhjbHVzaXZlTWF4aW11bSI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMvcHJvcGVydGllcy9leGNsdXNpdmVNYXhpbXVtIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtaW5pbXVtIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIy9wcm9wZXJ0aWVzL21pbmltdW0iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjL3Byb3BlcnRpZXMvZXhjbHVzaXZlTWluaW11bSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAibWF4TGVuZ3RoIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXIiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyRGVmYXVsdDAiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInBhdHRlcm4iOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjL3Byb3BlcnRpZXMvcGF0dGVybiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAibWF4SXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAibWluSXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJ1bmlxdWVJdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMvcHJvcGVydGllcy91bmlxdWVJdGVtcyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAibWF4UHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtaW5Qcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXJEZWZhdWx0MCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiB7CiAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjL2RlZmluaXRpb25zL3N0cmluZ0FycmF5IgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJlbnVtIjogewogICAgICAgICAgICAgICAgICAgICIkcmVmIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIy9wcm9wZXJ0aWVzL2VudW0iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9zY2hlbWEiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijoge30KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6IHsKICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMvcHJvcGVydGllcy90eXBlIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvc2NoZW1hIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvc2NoZW1hIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHt9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImFsbE9mIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9zY2hlbWEiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICIjL2RlZmluaXRpb25zL3NjaGVtYSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0Ijoge30KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZGlzY3JpbWluYXRvciI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInJlYWRPbmx5IjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiZXhhbXBsZSI6IHt9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICAiY29tcG9uZW50cyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAic2NoZW1hcyI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgICAgICJwYXR0ZXJuUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIl4uKiQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJHJlZiI6ICIjL2RlZmluaXRpb25zL29iamVjdHR5cGUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K\"") +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/ioutils.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/ioutils.go new file mode 100644 index 0000000..f887541 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/ioutils.go @@ -0,0 +1,33 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package metadata + +import ( + "io/ioutil" + "path" + "runtime" +) + +// For testing! +type ioutilInterface interface { + ReadFile(string) ([]byte, error) +} + +type ioutilFront struct{} + +func (i ioutilFront) ReadFile(filename string) ([]byte, error) { + return ioutil.ReadFile(filename) +} + +var ioutilAbs ioutilInterface = ioutilFront{} + +func readLocalFile(localPath string) ([]byte, error) { + _, filename, _, _ := runtime.Caller(1) + + schemaPath := path.Join(path.Dir(filename), localPath) + + file, err := ioutilAbs.ReadFile(schemaPath) + + return file, err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/metadata.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/metadata.go new file mode 100644 index 0000000..dcfa070 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/metadata.go @@ -0,0 +1,288 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package metadata + +import ( + "encoding/json" + "errors" + "fmt" + os "os" + "path/filepath" + "reflect" + + "github.com/go-openapi/spec" + "github.com/gobuffalo/packr" + "github.com/hyperledger/fabric-contract-api-go/internal/utils" + "github.com/xeipuuv/gojsonschema" +) + +// MetadataFolder name of folder metadata should be placed in +const MetadataFolder = "contract-metadata" + +// MetadataFile name of file metadata should be written in +const MetadataFile = "metadata.json" + +// Helpers for testing +type osInterface interface { + Executable() (string, error) + Stat(string) (os.FileInfo, error) + IsNotExist(error) bool +} + +type osFront struct{} + +func (o osFront) Executable() (string, error) { + return os.Executable() +} + +func (o osFront) Stat(name string) (os.FileInfo, error) { + return os.Stat(name) +} + +func (o osFront) IsNotExist(err error) bool { + return os.IsNotExist(err) +} + +var osAbs osInterface = osFront{} + +// GetJSONSchema returns the JSON schema used for metadata +func GetJSONSchema() ([]byte, error) { + box := packr.NewBox("./schema") + + schema, err := box.Find("schema.json") + + return schema, err +} + +// ParameterMetadata details about a parameter used for a transaction. +type ParameterMetadata struct { + Description string `json:"description,omitempty"` + Name string `json:"name"` + Schema *spec.Schema `json:"schema"` + CompiledSchema *gojsonschema.Schema `json:"-"` +} + +// ReturnMetadata details about the return type for a transaction +type ReturnMetadata struct { + Schema *spec.Schema + CompiledSchema *gojsonschema.Schema +} + +// TransactionMetadata contains information on what makes up a transaction +// When JSON serialized the Returns object is flattened to contain the schema +type TransactionMetadata struct { + Parameters []ParameterMetadata `json:"parameters,omitempty"` + Returns ReturnMetadata `json:"-"` + Tag []string `json:"tag,omitempty"` + Name string `json:"name"` +} + +type tmAlias TransactionMetadata +type jsonTransactionMetadata struct { + *tmAlias + ReturnsSchema *spec.Schema `json:"returns,omitempty"` +} + +// UnmarshalJSON handles converting JSON to TransactionMetadata since returns is flattened +// in swagger +func (tm *TransactionMetadata) UnmarshalJSON(data []byte) error { + jtm := jsonTransactionMetadata{tmAlias: (*tmAlias)(tm)} + + err := json.Unmarshal(data, &jtm) + + if err != nil { + return err + } + + tm.Returns = ReturnMetadata{} + tm.Returns.Schema = jtm.ReturnsSchema + + return nil +} + +// MarshalJSON handles converting TransactionMetadata to JSON since returns is flattened +// in swagger +func (tm *TransactionMetadata) MarshalJSON() ([]byte, error) { + jtm := jsonTransactionMetadata{tmAlias: (*tmAlias)(tm), ReturnsSchema: tm.Returns.Schema} + + return json.Marshal(&jtm) +} + +// ContactMetadata contains contact details about an author of a contract/chaincode +type ContactMetadata struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` + Email string `json:"email,omitempty"` +} + +// LicenseMetadata contains licensing information for contract/chaincode +type LicenseMetadata struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` +} + +// InfoMetadata contains additional information to clarify use of contract/chaincode +type InfoMetadata struct { + Description string `json:"description,omitempty"` + Title string `json:"title,omitempty"` + Contact *ContactMetadata `json:"contact,omitempty"` + License *LicenseMetadata `json:"license,omitempty"` + Version string `json:"version,omitempty"` +} + +// ContractMetadata contains information about what makes up a contract +type ContractMetadata struct { + Info *InfoMetadata `json:"info,omitempty"` + Name string `json:"name"` + Transactions []TransactionMetadata `json:"transactions"` + Default bool `json:"default"` +} + +// ObjectMetadata description of a component +type ObjectMetadata struct { + ID string `json:"$id"` + Properties map[string]spec.Schema `json:"properties"` + Required []string `json:"required"` + AdditionalProperties bool `json:"additionalProperties"` +} + +// ComponentMetadata stores map of schemas of all components +type ComponentMetadata struct { + Schemas map[string]ObjectMetadata `json:"schemas,omitempty"` +} + +// ContractChaincodeMetadata describes a chaincode made using the contract api +type ContractChaincodeMetadata struct { + Info *InfoMetadata `json:"info,omitempty"` + Contracts map[string]ContractMetadata `json:"contracts"` + Components ComponentMetadata `json:"components"` +} + +// Append merge two sets of metadata. Source value will override the original +// values only in fields that are not yet set i.e. when info nil, contracts nil or +// zero length array, components empty. +func (ccm *ContractChaincodeMetadata) Append(source ContractChaincodeMetadata) { + if ccm.Info == nil { + ccm.Info = source.Info + } + + if len(ccm.Contracts) == 0 { + if ccm.Contracts == nil { + ccm.Contracts = make(map[string]ContractMetadata) + } + + for key, value := range source.Contracts { + ccm.Contracts[key] = value + } + } + + if reflect.DeepEqual(ccm.Components, ComponentMetadata{}) { + ccm.Components = source.Components + } +} + +// CompileSchemas compile parameter and return schemas for use by gojsonschema. +// When validating against the compiled schema you will need to make the +// comparison json have a key of the parameter name for parameters or +// return for return values e.g {"param1": "value"}. Compilation process +// resolves references to components +func (ccm *ContractChaincodeMetadata) CompileSchemas() error { + compileSchema := func(propName string, schema *spec.Schema, components ComponentMetadata) (*gojsonschema.Schema, error) { + combined := make(map[string]interface{}) + combined["components"] = components + combined["properties"] = make(map[string]interface{}) + combined["properties"].(map[string]interface{})[propName] = schema + + combinedLoader := gojsonschema.NewGoLoader(combined) + + return gojsonschema.NewSchema(combinedLoader) + } + + for contractName, contract := range ccm.Contracts { + for txIdx, tx := range contract.Transactions { + for paramIdx, param := range tx.Parameters { + gjsSchema, err := compileSchema(param.Name, param.Schema, ccm.Components) + + if err != nil { + return fmt.Errorf("Error compiling schema for %s [%s]. %s schema invalid. %s", contractName, tx.Name, param.Name, err.Error()) + } + + param.CompiledSchema = gjsSchema + tx.Parameters[paramIdx] = param + } + + if tx.Returns.Schema != nil { + gjsSchema, err := compileSchema("return", tx.Returns.Schema, ccm.Components) + + if err != nil { + return fmt.Errorf("Error compiling schema for %s [%s]. Return schema invalid. %s", contractName, tx.Name, err.Error()) + } + + tx.Returns.CompiledSchema = gjsSchema + } + + contract.Transactions[txIdx] = tx + } + ccm.Contracts[contractName] = contract + } + + return nil +} + +// ReadMetadataFile return the contents of metadata file as ContractChaincodeMetadata +func ReadMetadataFile() (ContractChaincodeMetadata, error) { + + fileMetadata := ContractChaincodeMetadata{} + + ex, execErr := osAbs.Executable() + if execErr != nil { + return ContractChaincodeMetadata{}, fmt.Errorf("Failed to read metadata from file. Could not find location of executable. %s", execErr.Error()) + } + exPath := filepath.Dir(ex) + metadataPath := filepath.Join(exPath, MetadataFolder, MetadataFile) + + _, err := osAbs.Stat(metadataPath) + + if osAbs.IsNotExist(err) { + return ContractChaincodeMetadata{}, errors.New("Failed to read metadata from file. Metadata file does not exist") + } + + fileMetadata.Contracts = make(map[string]ContractMetadata) + + metadataBytes, err := ioutilAbs.ReadFile(metadataPath) + + if err != nil { + return ContractChaincodeMetadata{}, fmt.Errorf("Failed to read metadata from file. Could not read file %s. %s", metadataPath, err) + } + + json.Unmarshal(metadataBytes, &fileMetadata) + + return fileMetadata, nil +} + +// ValidateAgainstSchema takes a ContractChaincodeMetadata and runs it against the +// schema that defines valid metadata structure. If it does not meet the schema it +// returns an error detailing why +func ValidateAgainstSchema(metadata ContractChaincodeMetadata) error { + jsonSchema, err := GetJSONSchema() + + if err != nil { + return fmt.Errorf("Failed to read JSON schema. %s", err.Error()) + } + + metadataBytes, _ := json.Marshal(metadata) + + schemaLoader := gojsonschema.NewBytesLoader(jsonSchema) + metadataLoader := gojsonschema.NewBytesLoader(metadataBytes) + + schema, _ := gojsonschema.NewSchema(schemaLoader) + + result, err := schema.Validate(metadataLoader) + + if !result.Valid() { + return fmt.Errorf("Cannot use metadata. Metadata did not match schema:\n%s", utils.ValidateErrorsToString(result.Errors())) + } + + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/schema.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/schema.go new file mode 100644 index 0000000..3295fa4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/metadata/schema.go @@ -0,0 +1,203 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package metadata + +import ( + "fmt" + "reflect" + "strings" + "unicode" + + "github.com/go-openapi/spec" + "github.com/hyperledger/fabric-contract-api-go/internal/types" +) + +// GetSchema returns the open api spec schema for a given type. For struct types the property +// name used in the generated schema will be the name of the property unless a metadata or json +// tag exists for the property. Metadata tags take precedence over json tags. Private properties +// without a metadata tag will be ignored. Json tags are not used for private properties. Components +// will be added to component metadata if the field is a struct type. The schema will then reference +// this component +func GetSchema(field reflect.Type, components *ComponentMetadata) (*spec.Schema, error) { + return getSchema(field, components, false) +} + +func getSchema(field reflect.Type, components *ComponentMetadata, nested bool) (*spec.Schema, error) { + var schema *spec.Schema + var err error + + if bt, ok := types.BasicTypes[field.Kind()]; !ok { + if field == types.TimeType { + schema = spec.DateTimeProperty() + } else if field.Kind() == reflect.Array { + schema, err = buildArraySchema(reflect.New(field).Elem(), components, nested) + } else if field.Kind() == reflect.Slice { + schema, err = buildSliceSchema(reflect.MakeSlice(field, 1, 1), components, nested) + } else if field.Kind() == reflect.Map { + schema, err = buildMapSchema(reflect.MakeMap(field), components, nested) + } else if field.Kind() == reflect.Struct || (field.Kind() == reflect.Ptr && field.Elem().Kind() == reflect.Struct) { + schema, err = buildStructSchema(field, components, nested) + } else { + return nil, fmt.Errorf("%s was not a valid type", field.String()) + } + } else { + return bt.GetSchema(), nil + } + + if err != nil { + return nil, err + } + + return schema, nil +} + +func buildArraySchema(array reflect.Value, components *ComponentMetadata, nested bool) (*spec.Schema, error) { + if array.Len() < 1 { + return nil, fmt.Errorf("Arrays must have length greater than 0") + } + + lowerSchema, err := getSchema(array.Index(0).Type(), components, nested) + + if err != nil { + return nil, err + } + + return spec.ArrayProperty(lowerSchema), nil +} + +func buildSliceSchema(slice reflect.Value, components *ComponentMetadata, nested bool) (*spec.Schema, error) { + if slice.Len() < 1 { + slice = reflect.MakeSlice(slice.Type(), 1, 10) + } + + lowerSchema, err := getSchema(slice.Index(0).Type(), components, nested) + + if err != nil { + return nil, err + } + + return spec.ArrayProperty(lowerSchema), nil +} + +func buildMapSchema(rmap reflect.Value, components *ComponentMetadata, nested bool) (*spec.Schema, error) { + lowerSchema, err := getSchema(rmap.Type().Elem(), components, nested) + + if err != nil { + return nil, err + } + + return spec.MapProperty(lowerSchema), nil +} + +func addComponentIfNotExists(obj reflect.Type, components *ComponentMetadata) error { + if obj.Kind() == reflect.Ptr { + obj = obj.Elem() + } + + if _, ok := components.Schemas[obj.Name()]; ok { + return nil + } + + schema := ObjectMetadata{} + schema.ID = obj.Name() + schema.Required = []string{} + schema.Properties = make(map[string]spec.Schema) + schema.AdditionalProperties = false + + if components.Schemas == nil { + components.Schemas = make(map[string]ObjectMetadata) + } + + components.Schemas[obj.Name()] = schema // lock up slot for cyclic + + for i := 0; i < obj.NumField(); i++ { + err := getField(obj.Field(i), &schema, components) + + if err != nil { + delete(components.Schemas, obj.Name()) + return err + } + } + + components.Schemas[obj.Name()] = schema // include changes + + return nil +} + +func getField(field reflect.StructField, schema *ObjectMetadata, components *ComponentMetadata) error { + if field.Anonymous { + if field.Type.Kind() == reflect.Struct { + for i := 0; i < field.Type.NumField(); i++ { + err := getField(field.Type.Field(i), schema, components) + + if err != nil { + return err + } + } + } + + return nil + } + + name := field.Tag.Get("metadata") + required := true + + if strings.Contains(name, ",") { + spl := strings.Split(name, ",") + + name = spl[0] + + for _, val := range spl[1:] { + if strings.TrimSpace(val) == "optional" { + required = false + } + } + } + + if (unicode.IsLower([]rune(field.Name)[0]) && name == "") || name == "-" { + return nil + } else if name == "" { + name = field.Tag.Get("json") + } + + if name == "" || name == "-" { + name = field.Name + } + + var err error + + propSchema, err := getSchema(field.Type, components, true) + + if err != nil { + return err + } + + if required { + schema.Required = append(schema.Required, name) + } + + schema.Properties[name] = *propSchema + + return nil +} + +func buildStructSchema(obj reflect.Type, components *ComponentMetadata, nested bool) (*spec.Schema, error) { + if obj.Kind() == reflect.Ptr { + obj = obj.Elem() + } + + err := addComponentIfNotExists(obj, components) + + if err != nil { + return nil, err + } + + refPath := "#/components/schemas/" + + if nested { + refPath = "" + } + + return spec.RefSchema(refPath + obj.Name()), nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/json_transaction_serializer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/json_transaction_serializer.go new file mode 100644 index 0000000..2a34d57 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/json_transaction_serializer.go @@ -0,0 +1,148 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package serializer + +import ( + "encoding/json" + "fmt" + "reflect" + "time" + + "github.com/hyperledger/fabric-contract-api-go/internal/types" + "github.com/hyperledger/fabric-contract-api-go/internal/utils" + "github.com/hyperledger/fabric-contract-api-go/metadata" + + "github.com/xeipuuv/gojsonschema" +) + +// JSONSerializer an implementation of TransactionSerializer for handling conversion of to and from +// JSON string formats into usable values for chaincode. It is the default serializer for chaincode +// created by NewChaincode +type JSONSerializer struct{} + +// FromString takes a parameter and converts it to a reflect value representing the goal data type. If +// a parameter metadata is passed it will validate that the converted value meets the rules specified by that +// parameter's compiled schema. For complex data structures e.g. structs, arrays etc. the string value passed +// should be in JSON format. The default Go JSON unmarshaller is used for converting complex types and as such +// it does not respect private properties or properties using the api metadata tag by default. If +// you use either of these in your struct and expect data passed in to use these then you should write +// your own unmarshall function to handle this for your struct. +// Docs on how the Go JSON Unmarshaller works: https://golang.org/pkg/encoding/json/ +// For date-time types strings should be passed in RFC3339 format. +func (js *JSONSerializer) FromString(param string, fieldType reflect.Type, paramMetadata *metadata.ParameterMetadata, components *metadata.ComponentMetadata) (reflect.Value, error) { + converted, err := convertArg(fieldType, param) + + if err != nil { + return reflect.Value{}, err + } + + if paramMetadata != nil { + err := validateAgainstSchema(paramMetadata.Name, fieldType, param, converted.Interface(), paramMetadata.CompiledSchema) + + if err != nil { + return reflect.Value{}, err + } + } + + return converted, nil +} + +// ToString takes a reflect value, the type of what the value originally was. If a non nil return metadata is supplied +// it will compare the value against the compiled schema and validate it matches the rules set out. Since it uses the compiled +// schema components is not used. It returns a string representation of the original value, complex types such as structs, arrays +// etc are returned in a JSON format. Structs, Arrays, Slices and Maps use the default JSON marshaller for creating the string. +// For structs this will therefore not include private properties (even if tagged with metadata) in the string or use the metadata +// tag value for the property name in the produced string by default. To include these within the string whilst using this serializer +// you should write a custom Marshall function on your struct +// Docs on how the Go JSON Marshaller works: https://golang.org/pkg/encoding/json/ +// For date-time types the resulting string will meet the RFC3339 format +func (js *JSONSerializer) ToString(result reflect.Value, resultType reflect.Type, returns *metadata.ReturnMetadata, components *metadata.ComponentMetadata) (string, error) { + var str string + + if !isNillableType(result.Kind()) || !result.IsNil() { + if resultType == types.TimeType { + str = result.Interface().(time.Time).Format(time.RFC3339) + } else if isMarshallingType(resultType) || resultType.Kind() == reflect.Interface && isMarshallingType(result.Type()) { + bytes, _ := json.Marshal(result.Interface()) + str = string(bytes) + } else { + str = fmt.Sprint(result.Interface()) + } + + if returns != nil { + err := validateAgainstSchema("return", resultType, str, result.Interface(), returns.CompiledSchema) + + if err != nil { + return "", err + } + } + } + + return str, nil +} + +func createArraySliceMapOrStruct(param string, objType reflect.Type) (reflect.Value, error) { + obj := reflect.New(objType) + + err := json.Unmarshal([]byte(param), obj.Interface()) + + if err != nil { + return reflect.Value{}, fmt.Errorf("Value %s was not passed in expected format %s", param, objType.String()) + } + + return obj.Elem(), nil +} + +func convertArg(fieldType reflect.Type, paramValue string) (reflect.Value, error) { + var converted reflect.Value + + var err error + if fieldType == types.TimeType { + var t time.Time + t, err = time.Parse(time.RFC3339, paramValue) + converted = reflect.ValueOf(t) + } else if fieldType.Kind() == reflect.Array || fieldType.Kind() == reflect.Slice || fieldType.Kind() == reflect.Map || fieldType.Kind() == reflect.Struct || (fieldType.Kind() == reflect.Ptr && fieldType.Elem().Kind() == reflect.Struct) { + converted, err = createArraySliceMapOrStruct(paramValue, fieldType) + } else { + converted, err = types.BasicTypes[fieldType.Kind()].Convert(paramValue) + } + + if err != nil { + return reflect.Value{}, fmt.Errorf("Conversion error. %s", err.Error()) + } + + return converted, nil +} + +func validateAgainstSchema(propName string, typ reflect.Type, stringValue string, obj interface{}, schema *gojsonschema.Schema) error { + toValidate := make(map[string]interface{}) + + if typ == reflect.TypeOf(time.Time{}) { + toValidate[propName] = stringValue + } else if typ.Kind() == reflect.Struct || (typ.Kind() == reflect.Ptr && typ.Elem().Kind() == reflect.Struct) { + structMap := make(map[string]interface{}) + json.Unmarshal([]byte(stringValue), &structMap) // use a map for structs as schema seems to like that + toValidate[propName] = structMap + } else { + toValidate[propName] = obj + } + + toValidateLoader := gojsonschema.NewGoLoader(toValidate) + + result, _ := schema.Validate(toValidateLoader) + + if !result.Valid() { + return fmt.Errorf("Value did not match schema:\n%s", utils.ValidateErrorsToString(result.Errors())) + } + + return nil +} + +func isNillableType(kind reflect.Kind) bool { + return kind == reflect.Ptr || kind == reflect.Interface || kind == reflect.Map || kind == reflect.Slice || kind == reflect.Chan || kind == reflect.Func +} + +func isMarshallingType(typ reflect.Type) bool { + return typ.Kind() == reflect.Array || typ.Kind() == reflect.Slice || typ.Kind() == reflect.Map || typ.Kind() == reflect.Struct || (typ.Kind() == reflect.Ptr && isMarshallingType(typ.Elem())) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/transaction_serializer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/transaction_serializer.go new file mode 100644 index 0000000..b67969e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-contract-api-go/serializer/transaction_serializer.go @@ -0,0 +1,29 @@ +// Copyright the Hyperledger Fabric contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package serializer + +import ( + "reflect" + + "github.com/hyperledger/fabric-contract-api-go/metadata" +) + +// TransactionSerializer defines the functions a valid transaction serializer +// should have. Serializers to be used by a chaincode must implement this interface. Serializers +// are called on calls to chaincode with FromString used to format arguments going in to a call +// and ToString to format the success response from a call +type TransactionSerializer interface { + // FromString receives the value in its original string form, the reflected type that the + // new value should be of, the schema defining the rules that the converted value should + // adhere to and components which the schema may point to as a reference. The schema and + // component metadata may be nil. The function should produce a reflect value which matches + // the goal type. + FromString(string, reflect.Type, *metadata.ParameterMetadata, *metadata.ComponentMetadata) (reflect.Value, error) + + // ToString receives a reflected value of a value, the reflected type of that that value was + // originally, the schema defining the rules of what that value should meet and components + // which the schema may point to as a reference. The schema and component metadata may be nil + // The function should produce a string which represents the original value + ToString(reflect.Value, reflect.Type, *metadata.ReturnMetadata, *metadata.ComponentMetadata) (string, error) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/collection.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/collection.pb.go new file mode 100644 index 0000000..9650976 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/collection.pb.go @@ -0,0 +1,371 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/collection.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// CollectionConfigPackage represents an array of CollectionConfig +// messages; the extra struct is required because repeated oneof is +// forbidden by the protobuf syntax +// +// Deprecated: Do not use. +type CollectionConfigPackage struct { + Config []*CollectionConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionConfigPackage) Reset() { *m = CollectionConfigPackage{} } +func (m *CollectionConfigPackage) String() string { return proto.CompactTextString(m) } +func (*CollectionConfigPackage) ProtoMessage() {} +func (*CollectionConfigPackage) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{0} +} + +func (m *CollectionConfigPackage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionConfigPackage.Unmarshal(m, b) +} +func (m *CollectionConfigPackage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionConfigPackage.Marshal(b, m, deterministic) +} +func (m *CollectionConfigPackage) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionConfigPackage.Merge(m, src) +} +func (m *CollectionConfigPackage) XXX_Size() int { + return xxx_messageInfo_CollectionConfigPackage.Size(m) +} +func (m *CollectionConfigPackage) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionConfigPackage.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionConfigPackage proto.InternalMessageInfo + +func (m *CollectionConfigPackage) GetConfig() []*CollectionConfig { + if m != nil { + return m.Config + } + return nil +} + +// CollectionConfig defines the configuration of a collection object; +// it currently contains a single, static type. +// Dynamic collections are deferred. +// +// Deprecated: Do not use. +type CollectionConfig struct { + // Types that are valid to be assigned to Payload: + // *CollectionConfig_StaticCollectionConfig + Payload isCollectionConfig_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionConfig) Reset() { *m = CollectionConfig{} } +func (m *CollectionConfig) String() string { return proto.CompactTextString(m) } +func (*CollectionConfig) ProtoMessage() {} +func (*CollectionConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{1} +} + +func (m *CollectionConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionConfig.Unmarshal(m, b) +} +func (m *CollectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionConfig.Marshal(b, m, deterministic) +} +func (m *CollectionConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionConfig.Merge(m, src) +} +func (m *CollectionConfig) XXX_Size() int { + return xxx_messageInfo_CollectionConfig.Size(m) +} +func (m *CollectionConfig) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionConfig proto.InternalMessageInfo + +type isCollectionConfig_Payload interface { + isCollectionConfig_Payload() +} + +type CollectionConfig_StaticCollectionConfig struct { + StaticCollectionConfig *StaticCollectionConfig `protobuf:"bytes,1,opt,name=static_collection_config,json=staticCollectionConfig,proto3,oneof"` +} + +func (*CollectionConfig_StaticCollectionConfig) isCollectionConfig_Payload() {} + +func (m *CollectionConfig) GetPayload() isCollectionConfig_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *CollectionConfig) GetStaticCollectionConfig() *StaticCollectionConfig { + if x, ok := m.GetPayload().(*CollectionConfig_StaticCollectionConfig); ok { + return x.StaticCollectionConfig + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CollectionConfig) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CollectionConfig_StaticCollectionConfig)(nil), + } +} + +// StaticCollectionConfig constitutes the configuration parameters of a +// static collection object. Static collections are collections that are +// known at chaincode instantiation time, and that cannot be changed. +// Dynamic collections are deferred. +// +// Deprecated: Do not use. +type StaticCollectionConfig struct { + // the name of the collection inside the denoted chaincode + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // a reference to a policy residing / managed in the config block + // to define which orgs have access to this collection’s private data + MemberOrgsPolicy *CollectionPolicyConfig `protobuf:"bytes,2,opt,name=member_orgs_policy,json=memberOrgsPolicy,proto3" json:"member_orgs_policy,omitempty"` + // The minimum number of peers private data will be sent to upon + // endorsement. The endorsement would fail if dissemination to at least + // this number of peers is not achieved. + RequiredPeerCount int32 `protobuf:"varint,3,opt,name=required_peer_count,json=requiredPeerCount,proto3" json:"required_peer_count,omitempty"` + // The maximum number of peers that private data will be sent to + // upon endorsement. This number has to be bigger than required_peer_count. + MaximumPeerCount int32 `protobuf:"varint,4,opt,name=maximum_peer_count,json=maximumPeerCount,proto3" json:"maximum_peer_count,omitempty"` + // The number of blocks after which the collection data expires. + // For instance if the value is set to 10, a key last modified by block number 100 + // will be purged at block number 111. A zero value is treated same as MaxUint64 + BlockToLive uint64 `protobuf:"varint,5,opt,name=block_to_live,json=blockToLive,proto3" json:"block_to_live,omitempty"` + // The member only read access denotes whether only collection member clients + // can read the private data (if set to true), or even non members can + // read the data (if set to false, for example if you want to implement more granular + // access logic in the chaincode) + MemberOnlyRead bool `protobuf:"varint,6,opt,name=member_only_read,json=memberOnlyRead,proto3" json:"member_only_read,omitempty"` + // The member only write access denotes whether only collection member clients + // can write the private data (if set to true), or even non members can + // write the data (if set to false, for example if you want to implement more granular + // access logic in the chaincode) + MemberOnlyWrite bool `protobuf:"varint,7,opt,name=member_only_write,json=memberOnlyWrite,proto3" json:"member_only_write,omitempty"` + // a reference to a policy residing / managed in the config block + // to define the endorsement policy for this collection + EndorsementPolicy *ApplicationPolicy `protobuf:"bytes,8,opt,name=endorsement_policy,json=endorsementPolicy,proto3" json:"endorsement_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StaticCollectionConfig) Reset() { *m = StaticCollectionConfig{} } +func (m *StaticCollectionConfig) String() string { return proto.CompactTextString(m) } +func (*StaticCollectionConfig) ProtoMessage() {} +func (*StaticCollectionConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{2} +} + +func (m *StaticCollectionConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StaticCollectionConfig.Unmarshal(m, b) +} +func (m *StaticCollectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StaticCollectionConfig.Marshal(b, m, deterministic) +} +func (m *StaticCollectionConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_StaticCollectionConfig.Merge(m, src) +} +func (m *StaticCollectionConfig) XXX_Size() int { + return xxx_messageInfo_StaticCollectionConfig.Size(m) +} +func (m *StaticCollectionConfig) XXX_DiscardUnknown() { + xxx_messageInfo_StaticCollectionConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_StaticCollectionConfig proto.InternalMessageInfo + +func (m *StaticCollectionConfig) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *StaticCollectionConfig) GetMemberOrgsPolicy() *CollectionPolicyConfig { + if m != nil { + return m.MemberOrgsPolicy + } + return nil +} + +func (m *StaticCollectionConfig) GetRequiredPeerCount() int32 { + if m != nil { + return m.RequiredPeerCount + } + return 0 +} + +func (m *StaticCollectionConfig) GetMaximumPeerCount() int32 { + if m != nil { + return m.MaximumPeerCount + } + return 0 +} + +func (m *StaticCollectionConfig) GetBlockToLive() uint64 { + if m != nil { + return m.BlockToLive + } + return 0 +} + +func (m *StaticCollectionConfig) GetMemberOnlyRead() bool { + if m != nil { + return m.MemberOnlyRead + } + return false +} + +func (m *StaticCollectionConfig) GetMemberOnlyWrite() bool { + if m != nil { + return m.MemberOnlyWrite + } + return false +} + +func (m *StaticCollectionConfig) GetEndorsementPolicy() *ApplicationPolicy { + if m != nil { + return m.EndorsementPolicy + } + return nil +} + +// Collection policy configuration. Initially, the configuration can only +// contain a SignaturePolicy. In the future, the SignaturePolicy may be a +// more general Policy. Instead of containing the actual policy, the +// configuration may in the future contain a string reference to a policy. +// +// Deprecated: Do not use. +type CollectionPolicyConfig struct { + // Types that are valid to be assigned to Payload: + // *CollectionPolicyConfig_SignaturePolicy + Payload isCollectionPolicyConfig_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionPolicyConfig) Reset() { *m = CollectionPolicyConfig{} } +func (m *CollectionPolicyConfig) String() string { return proto.CompactTextString(m) } +func (*CollectionPolicyConfig) ProtoMessage() {} +func (*CollectionPolicyConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{3} +} + +func (m *CollectionPolicyConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionPolicyConfig.Unmarshal(m, b) +} +func (m *CollectionPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionPolicyConfig.Marshal(b, m, deterministic) +} +func (m *CollectionPolicyConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionPolicyConfig.Merge(m, src) +} +func (m *CollectionPolicyConfig) XXX_Size() int { + return xxx_messageInfo_CollectionPolicyConfig.Size(m) +} +func (m *CollectionPolicyConfig) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionPolicyConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionPolicyConfig proto.InternalMessageInfo + +type isCollectionPolicyConfig_Payload interface { + isCollectionPolicyConfig_Payload() +} + +type CollectionPolicyConfig_SignaturePolicy struct { + SignaturePolicy *SignaturePolicyEnvelope `protobuf:"bytes,1,opt,name=signature_policy,json=signaturePolicy,proto3,oneof"` +} + +func (*CollectionPolicyConfig_SignaturePolicy) isCollectionPolicyConfig_Payload() {} + +func (m *CollectionPolicyConfig) GetPayload() isCollectionPolicyConfig_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *CollectionPolicyConfig) GetSignaturePolicy() *SignaturePolicyEnvelope { + if x, ok := m.GetPayload().(*CollectionPolicyConfig_SignaturePolicy); ok { + return x.SignaturePolicy + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CollectionPolicyConfig) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CollectionPolicyConfig_SignaturePolicy)(nil), + } +} + +func init() { + proto.RegisterType((*CollectionConfigPackage)(nil), "common.CollectionConfigPackage") + proto.RegisterType((*CollectionConfig)(nil), "common.CollectionConfig") + proto.RegisterType((*StaticCollectionConfig)(nil), "common.StaticCollectionConfig") + proto.RegisterType((*CollectionPolicyConfig)(nil), "common.CollectionPolicyConfig") +} + +func init() { proto.RegisterFile("common/collection.proto", fileDescriptor_89f245fc544906c7) } + +var fileDescriptor_89f245fc544906c7 = []byte{ + // 479 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x93, 0xc1, 0x6f, 0xd3, 0x30, + 0x14, 0xc6, 0x97, 0xb5, 0xeb, 0x36, 0x57, 0xb0, 0xd4, 0x88, 0x2e, 0x70, 0x80, 0xaa, 0xe2, 0x10, + 0x21, 0x96, 0xa2, 0x71, 0xe3, 0xc6, 0x2a, 0xa4, 0x1e, 0x2a, 0xad, 0x0a, 0x08, 0xa4, 0x5d, 0x22, + 0xc7, 0x79, 0xcb, 0xac, 0x39, 0x76, 0xb0, 0x9d, 0x42, 0x0e, 0xfc, 0x2f, 0xfc, 0xa9, 0xa8, 0x76, + 0xd2, 0x74, 0x55, 0x6f, 0xed, 0xfb, 0x7e, 0xef, 0x7b, 0xcf, 0x9f, 0x5e, 0xd0, 0x25, 0x95, 0x45, + 0x21, 0xc5, 0x8c, 0x4a, 0xce, 0x81, 0x1a, 0x26, 0x45, 0x54, 0x2a, 0x69, 0x24, 0x1e, 0x38, 0xe1, + 0xf5, 0xcb, 0x06, 0x28, 0x25, 0x67, 0x94, 0x81, 0x76, 0xf2, 0xf4, 0x16, 0x5d, 0xce, 0xb7, 0x2d, + 0x73, 0x29, 0xee, 0x59, 0xbe, 0x22, 0xf4, 0x91, 0xe4, 0x80, 0x3f, 0xa2, 0x01, 0xb5, 0x85, 0xc0, + 0x9b, 0xf4, 0xc2, 0xe1, 0x75, 0x10, 0x39, 0x8b, 0x68, 0xbf, 0x21, 0x6e, 0xb8, 0xcf, 0xc7, 0x81, + 0x37, 0xfd, 0x8b, 0xfc, 0x7d, 0x1d, 0xdf, 0xa1, 0x40, 0x1b, 0x62, 0x18, 0x4d, 0xba, 0xf5, 0x92, + 0xad, 0xb7, 0x17, 0x0e, 0xaf, 0xdf, 0xb4, 0xde, 0xdf, 0x2c, 0xb7, 0xef, 0xb0, 0x38, 0x8a, 0xc7, + 0xfa, 0xa0, 0xb2, 0x99, 0x79, 0x73, 0x8e, 0x4e, 0x4b, 0x52, 0x73, 0x49, 0xb2, 0xe9, 0xbf, 0x1e, + 0x1a, 0x1f, 0xf6, 0xc0, 0x18, 0xf5, 0x05, 0x29, 0xc0, 0x4e, 0x3c, 0x8f, 0xed, 0x6f, 0xbc, 0x44, + 0xb8, 0x80, 0x22, 0x05, 0x95, 0x48, 0x95, 0xeb, 0xc4, 0x86, 0x53, 0x07, 0xc7, 0x4f, 0x77, 0xea, + 0x9c, 0x56, 0x56, 0x6f, 0x5e, 0xed, 0xbb, 0xce, 0x5b, 0x95, 0x6b, 0x57, 0xc7, 0x11, 0x7a, 0xa1, + 0xe0, 0x57, 0xc5, 0x14, 0x64, 0x49, 0x09, 0xa0, 0x12, 0x2a, 0x2b, 0x61, 0x82, 0xde, 0xc4, 0x0b, + 0x4f, 0xe2, 0x51, 0x2b, 0xad, 0x00, 0xd4, 0x7c, 0x23, 0xe0, 0x0f, 0x08, 0x17, 0xe4, 0x0f, 0x2b, + 0xaa, 0x62, 0x17, 0xef, 0x5b, 0xdc, 0x6f, 0x94, 0x8e, 0x9e, 0xa2, 0x67, 0x29, 0x97, 0xf4, 0x31, + 0x31, 0x32, 0xe1, 0x6c, 0x0d, 0xc1, 0xc9, 0xc4, 0x0b, 0xfb, 0xf1, 0xd0, 0x16, 0xbf, 0xcb, 0x25, + 0x5b, 0x03, 0x0e, 0x91, 0xdf, 0xbe, 0x47, 0xf0, 0x3a, 0x51, 0x40, 0xb2, 0x60, 0x30, 0xf1, 0xc2, + 0xb3, 0xf8, 0x79, 0xb3, 0xad, 0xe0, 0x75, 0x0c, 0x24, 0xc3, 0xef, 0xd1, 0x68, 0x97, 0xfc, 0xad, + 0x98, 0x81, 0xe0, 0xd4, 0xa2, 0x17, 0x1d, 0xfa, 0x73, 0x53, 0xc6, 0x0b, 0x84, 0x41, 0x64, 0x52, + 0x69, 0x28, 0x40, 0x98, 0x36, 0xa5, 0x33, 0x9b, 0xd2, 0xab, 0x36, 0xa5, 0x2f, 0x65, 0xc9, 0x19, + 0x25, 0x5d, 0x4c, 0xf1, 0x68, 0xa7, 0xc9, 0x95, 0xec, 0x85, 0x54, 0x68, 0x7c, 0x38, 0x51, 0xbc, + 0x44, 0xbe, 0x66, 0xb9, 0x20, 0xa6, 0x52, 0xd0, 0x4e, 0x71, 0xf7, 0xf1, 0x76, 0x7b, 0x1f, 0xad, + 0xee, 0x1a, 0xbf, 0x8a, 0x35, 0x70, 0x59, 0xc2, 0xe2, 0x28, 0xbe, 0xd0, 0x4f, 0xa5, 0xbd, 0xcb, + 0xb8, 0xf9, 0x81, 0xde, 0x49, 0x95, 0x47, 0x0f, 0x75, 0x09, 0x8a, 0x43, 0x96, 0x83, 0x8a, 0xee, + 0x49, 0xaa, 0x18, 0x75, 0x5f, 0x82, 0x6e, 0x26, 0xdc, 0x45, 0x39, 0x33, 0x0f, 0x55, 0xba, 0xf9, + 0x3b, 0xdb, 0x81, 0x67, 0x0e, 0xbe, 0x72, 0xf0, 0x55, 0x2e, 0x67, 0x8e, 0x4f, 0x07, 0xb6, 0xf2, + 0xe9, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x86, 0x11, 0xe6, 0xd8, 0x82, 0x03, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/common.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/common.pb.go new file mode 100644 index 0000000..2fa3cf8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/common.pb.go @@ -0,0 +1,928 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/common.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// These status codes are intended to resemble selected HTTP status codes +type Status int32 + +const ( + Status_UNKNOWN Status = 0 + Status_SUCCESS Status = 200 + Status_BAD_REQUEST Status = 400 + Status_FORBIDDEN Status = 403 + Status_NOT_FOUND Status = 404 + Status_REQUEST_ENTITY_TOO_LARGE Status = 413 + Status_INTERNAL_SERVER_ERROR Status = 500 + Status_NOT_IMPLEMENTED Status = 501 + Status_SERVICE_UNAVAILABLE Status = 503 +) + +var Status_name = map[int32]string{ + 0: "UNKNOWN", + 200: "SUCCESS", + 400: "BAD_REQUEST", + 403: "FORBIDDEN", + 404: "NOT_FOUND", + 413: "REQUEST_ENTITY_TOO_LARGE", + 500: "INTERNAL_SERVER_ERROR", + 501: "NOT_IMPLEMENTED", + 503: "SERVICE_UNAVAILABLE", +} + +var Status_value = map[string]int32{ + "UNKNOWN": 0, + "SUCCESS": 200, + "BAD_REQUEST": 400, + "FORBIDDEN": 403, + "NOT_FOUND": 404, + "REQUEST_ENTITY_TOO_LARGE": 413, + "INTERNAL_SERVER_ERROR": 500, + "NOT_IMPLEMENTED": 501, + "SERVICE_UNAVAILABLE": 503, +} + +func (x Status) String() string { + return proto.EnumName(Status_name, int32(x)) +} + +func (Status) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{0} +} + +type HeaderType int32 + +const ( + HeaderType_MESSAGE HeaderType = 0 + HeaderType_CONFIG HeaderType = 1 + HeaderType_CONFIG_UPDATE HeaderType = 2 + HeaderType_ENDORSER_TRANSACTION HeaderType = 3 + HeaderType_ORDERER_TRANSACTION HeaderType = 4 + HeaderType_DELIVER_SEEK_INFO HeaderType = 5 + HeaderType_CHAINCODE_PACKAGE HeaderType = 6 + HeaderType_PEER_ADMIN_OPERATION HeaderType = 8 +) + +var HeaderType_name = map[int32]string{ + 0: "MESSAGE", + 1: "CONFIG", + 2: "CONFIG_UPDATE", + 3: "ENDORSER_TRANSACTION", + 4: "ORDERER_TRANSACTION", + 5: "DELIVER_SEEK_INFO", + 6: "CHAINCODE_PACKAGE", + 8: "PEER_ADMIN_OPERATION", +} + +var HeaderType_value = map[string]int32{ + "MESSAGE": 0, + "CONFIG": 1, + "CONFIG_UPDATE": 2, + "ENDORSER_TRANSACTION": 3, + "ORDERER_TRANSACTION": 4, + "DELIVER_SEEK_INFO": 5, + "CHAINCODE_PACKAGE": 6, + "PEER_ADMIN_OPERATION": 8, +} + +func (x HeaderType) String() string { + return proto.EnumName(HeaderType_name, int32(x)) +} + +func (HeaderType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{1} +} + +// This enum enlists indexes of the block metadata array +type BlockMetadataIndex int32 + +const ( + BlockMetadataIndex_SIGNATURES BlockMetadataIndex = 0 + BlockMetadataIndex_LAST_CONFIG BlockMetadataIndex = 1 // Deprecated: Do not use. + BlockMetadataIndex_TRANSACTIONS_FILTER BlockMetadataIndex = 2 + BlockMetadataIndex_ORDERER BlockMetadataIndex = 3 // Deprecated: Do not use. + BlockMetadataIndex_COMMIT_HASH BlockMetadataIndex = 4 +) + +var BlockMetadataIndex_name = map[int32]string{ + 0: "SIGNATURES", + 1: "LAST_CONFIG", + 2: "TRANSACTIONS_FILTER", + 3: "ORDERER", + 4: "COMMIT_HASH", +} + +var BlockMetadataIndex_value = map[string]int32{ + "SIGNATURES": 0, + "LAST_CONFIG": 1, + "TRANSACTIONS_FILTER": 2, + "ORDERER": 3, + "COMMIT_HASH": 4, +} + +func (x BlockMetadataIndex) String() string { + return proto.EnumName(BlockMetadataIndex_name, int32(x)) +} + +func (BlockMetadataIndex) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{2} +} + +// LastConfig is the encoded value for the Metadata message which is encoded in the LAST_CONFIGURATION block metadata index +type LastConfig struct { + Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LastConfig) Reset() { *m = LastConfig{} } +func (m *LastConfig) String() string { return proto.CompactTextString(m) } +func (*LastConfig) ProtoMessage() {} +func (*LastConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{0} +} + +func (m *LastConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LastConfig.Unmarshal(m, b) +} +func (m *LastConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LastConfig.Marshal(b, m, deterministic) +} +func (m *LastConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_LastConfig.Merge(m, src) +} +func (m *LastConfig) XXX_Size() int { + return xxx_messageInfo_LastConfig.Size(m) +} +func (m *LastConfig) XXX_DiscardUnknown() { + xxx_messageInfo_LastConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_LastConfig proto.InternalMessageInfo + +func (m *LastConfig) GetIndex() uint64 { + if m != nil { + return m.Index + } + return 0 +} + +// Metadata is a common structure to be used to encode block metadata +type Metadata struct { + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Signatures []*MetadataSignature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Metadata) Reset() { *m = Metadata{} } +func (m *Metadata) String() string { return proto.CompactTextString(m) } +func (*Metadata) ProtoMessage() {} +func (*Metadata) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{1} +} + +func (m *Metadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Metadata.Unmarshal(m, b) +} +func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Metadata.Marshal(b, m, deterministic) +} +func (m *Metadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_Metadata.Merge(m, src) +} +func (m *Metadata) XXX_Size() int { + return xxx_messageInfo_Metadata.Size(m) +} +func (m *Metadata) XXX_DiscardUnknown() { + xxx_messageInfo_Metadata.DiscardUnknown(m) +} + +var xxx_messageInfo_Metadata proto.InternalMessageInfo + +func (m *Metadata) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *Metadata) GetSignatures() []*MetadataSignature { + if m != nil { + return m.Signatures + } + return nil +} + +type MetadataSignature struct { + SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MetadataSignature) Reset() { *m = MetadataSignature{} } +func (m *MetadataSignature) String() string { return proto.CompactTextString(m) } +func (*MetadataSignature) ProtoMessage() {} +func (*MetadataSignature) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{2} +} + +func (m *MetadataSignature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MetadataSignature.Unmarshal(m, b) +} +func (m *MetadataSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MetadataSignature.Marshal(b, m, deterministic) +} +func (m *MetadataSignature) XXX_Merge(src proto.Message) { + xxx_messageInfo_MetadataSignature.Merge(m, src) +} +func (m *MetadataSignature) XXX_Size() int { + return xxx_messageInfo_MetadataSignature.Size(m) +} +func (m *MetadataSignature) XXX_DiscardUnknown() { + xxx_messageInfo_MetadataSignature.DiscardUnknown(m) +} + +var xxx_messageInfo_MetadataSignature proto.InternalMessageInfo + +func (m *MetadataSignature) GetSignatureHeader() []byte { + if m != nil { + return m.SignatureHeader + } + return nil +} + +func (m *MetadataSignature) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +type Header struct { + ChannelHeader []byte `protobuf:"bytes,1,opt,name=channel_header,json=channelHeader,proto3" json:"channel_header,omitempty"` + SignatureHeader []byte `protobuf:"bytes,2,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Header) Reset() { *m = Header{} } +func (m *Header) String() string { return proto.CompactTextString(m) } +func (*Header) ProtoMessage() {} +func (*Header) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{3} +} + +func (m *Header) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Header.Unmarshal(m, b) +} +func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Header.Marshal(b, m, deterministic) +} +func (m *Header) XXX_Merge(src proto.Message) { + xxx_messageInfo_Header.Merge(m, src) +} +func (m *Header) XXX_Size() int { + return xxx_messageInfo_Header.Size(m) +} +func (m *Header) XXX_DiscardUnknown() { + xxx_messageInfo_Header.DiscardUnknown(m) +} + +var xxx_messageInfo_Header proto.InternalMessageInfo + +func (m *Header) GetChannelHeader() []byte { + if m != nil { + return m.ChannelHeader + } + return nil +} + +func (m *Header) GetSignatureHeader() []byte { + if m != nil { + return m.SignatureHeader + } + return nil +} + +// Header is a generic replay prevention and identity message to include in a signed payload +type ChannelHeader struct { + Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + // Version indicates message protocol version + Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + // Timestamp is the local time when the message was created + // by the sender + Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // Identifier of the channel this message is bound for + ChannelId string `protobuf:"bytes,4,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // An unique identifier that is used end-to-end. + // - set by higher layers such as end user or SDK + // - passed to the endorser (which will check for uniqueness) + // - as the header is passed along unchanged, it will be + // be retrieved by the committer (uniqueness check here as well) + // - to be stored in the ledger + TxId string `protobuf:"bytes,5,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + // The epoch in which this header was generated, where epoch is defined based on block height + // Epoch in which the response has been generated. This field identifies a + // logical window of time. A proposal response is accepted by a peer only if + // two conditions hold: + // 1. the epoch specified in the message is the current epoch + // 2. this message has been only seen once during this epoch (i.e. it hasn't + // been replayed) + Epoch uint64 `protobuf:"varint,6,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Extension that may be attached based on the header type + Extension []byte `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"` + // If mutual TLS is employed, this represents + // the hash of the client's TLS certificate + TlsCertHash []byte `protobuf:"bytes,8,opt,name=tls_cert_hash,json=tlsCertHash,proto3" json:"tls_cert_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelHeader) Reset() { *m = ChannelHeader{} } +func (m *ChannelHeader) String() string { return proto.CompactTextString(m) } +func (*ChannelHeader) ProtoMessage() {} +func (*ChannelHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{4} +} + +func (m *ChannelHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelHeader.Unmarshal(m, b) +} +func (m *ChannelHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelHeader.Marshal(b, m, deterministic) +} +func (m *ChannelHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelHeader.Merge(m, src) +} +func (m *ChannelHeader) XXX_Size() int { + return xxx_messageInfo_ChannelHeader.Size(m) +} +func (m *ChannelHeader) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelHeader proto.InternalMessageInfo + +func (m *ChannelHeader) GetType() int32 { + if m != nil { + return m.Type + } + return 0 +} + +func (m *ChannelHeader) GetVersion() int32 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ChannelHeader) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *ChannelHeader) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func (m *ChannelHeader) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *ChannelHeader) GetEpoch() uint64 { + if m != nil { + return m.Epoch + } + return 0 +} + +func (m *ChannelHeader) GetExtension() []byte { + if m != nil { + return m.Extension + } + return nil +} + +func (m *ChannelHeader) GetTlsCertHash() []byte { + if m != nil { + return m.TlsCertHash + } + return nil +} + +type SignatureHeader struct { + // Creator of the message, a marshaled msp.SerializedIdentity + Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + // Arbitrary number that may only be used once. Can be used to detect replay attacks. + Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignatureHeader) Reset() { *m = SignatureHeader{} } +func (m *SignatureHeader) String() string { return proto.CompactTextString(m) } +func (*SignatureHeader) ProtoMessage() {} +func (*SignatureHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{5} +} + +func (m *SignatureHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignatureHeader.Unmarshal(m, b) +} +func (m *SignatureHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignatureHeader.Marshal(b, m, deterministic) +} +func (m *SignatureHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignatureHeader.Merge(m, src) +} +func (m *SignatureHeader) XXX_Size() int { + return xxx_messageInfo_SignatureHeader.Size(m) +} +func (m *SignatureHeader) XXX_DiscardUnknown() { + xxx_messageInfo_SignatureHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_SignatureHeader proto.InternalMessageInfo + +func (m *SignatureHeader) GetCreator() []byte { + if m != nil { + return m.Creator + } + return nil +} + +func (m *SignatureHeader) GetNonce() []byte { + if m != nil { + return m.Nonce + } + return nil +} + +// Payload is the message contents (and header to allow for signing) +type Payload struct { + // Header is included to provide identity and prevent replay + Header *Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // Data, the encoding of which is defined by the type in the header + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Payload) Reset() { *m = Payload{} } +func (m *Payload) String() string { return proto.CompactTextString(m) } +func (*Payload) ProtoMessage() {} +func (*Payload) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{6} +} + +func (m *Payload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Payload.Unmarshal(m, b) +} +func (m *Payload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Payload.Marshal(b, m, deterministic) +} +func (m *Payload) XXX_Merge(src proto.Message) { + xxx_messageInfo_Payload.Merge(m, src) +} +func (m *Payload) XXX_Size() int { + return xxx_messageInfo_Payload.Size(m) +} +func (m *Payload) XXX_DiscardUnknown() { + xxx_messageInfo_Payload.DiscardUnknown(m) +} + +var xxx_messageInfo_Payload proto.InternalMessageInfo + +func (m *Payload) GetHeader() *Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *Payload) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +// Envelope wraps a Payload with a signature so that the message may be authenticated +type Envelope struct { + // A marshaled Payload + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + // A signature by the creator specified in the Payload header + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Envelope) Reset() { *m = Envelope{} } +func (m *Envelope) String() string { return proto.CompactTextString(m) } +func (*Envelope) ProtoMessage() {} +func (*Envelope) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{7} +} + +func (m *Envelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Envelope.Unmarshal(m, b) +} +func (m *Envelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Envelope.Marshal(b, m, deterministic) +} +func (m *Envelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_Envelope.Merge(m, src) +} +func (m *Envelope) XXX_Size() int { + return xxx_messageInfo_Envelope.Size(m) +} +func (m *Envelope) XXX_DiscardUnknown() { + xxx_messageInfo_Envelope.DiscardUnknown(m) +} + +var xxx_messageInfo_Envelope proto.InternalMessageInfo + +func (m *Envelope) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *Envelope) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +// This is finalized block structure to be shared among the orderer and peer +// Note that the BlockHeader chains to the previous BlockHeader, and the BlockData hash is embedded +// in the BlockHeader. This makes it natural and obvious that the Data is included in the hash, but +// the Metadata is not. +type Block struct { + Header *BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + Data *BlockData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Metadata *BlockMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Block) Reset() { *m = Block{} } +func (m *Block) String() string { return proto.CompactTextString(m) } +func (*Block) ProtoMessage() {} +func (*Block) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{8} +} + +func (m *Block) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Block.Unmarshal(m, b) +} +func (m *Block) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Block.Marshal(b, m, deterministic) +} +func (m *Block) XXX_Merge(src proto.Message) { + xxx_messageInfo_Block.Merge(m, src) +} +func (m *Block) XXX_Size() int { + return xxx_messageInfo_Block.Size(m) +} +func (m *Block) XXX_DiscardUnknown() { + xxx_messageInfo_Block.DiscardUnknown(m) +} + +var xxx_messageInfo_Block proto.InternalMessageInfo + +func (m *Block) GetHeader() *BlockHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *Block) GetData() *BlockData { + if m != nil { + return m.Data + } + return nil +} + +func (m *Block) GetMetadata() *BlockMetadata { + if m != nil { + return m.Metadata + } + return nil +} + +// BlockHeader is the element of the block which forms the block chain +// The block header is hashed using the configured chain hashing algorithm +// over the ASN.1 encoding of the BlockHeader +type BlockHeader struct { + Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + PreviousHash []byte `protobuf:"bytes,2,opt,name=previous_hash,json=previousHash,proto3" json:"previous_hash,omitempty"` + DataHash []byte `protobuf:"bytes,3,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockHeader) Reset() { *m = BlockHeader{} } +func (m *BlockHeader) String() string { return proto.CompactTextString(m) } +func (*BlockHeader) ProtoMessage() {} +func (*BlockHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{9} +} + +func (m *BlockHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockHeader.Unmarshal(m, b) +} +func (m *BlockHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockHeader.Marshal(b, m, deterministic) +} +func (m *BlockHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockHeader.Merge(m, src) +} +func (m *BlockHeader) XXX_Size() int { + return xxx_messageInfo_BlockHeader.Size(m) +} +func (m *BlockHeader) XXX_DiscardUnknown() { + xxx_messageInfo_BlockHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockHeader proto.InternalMessageInfo + +func (m *BlockHeader) GetNumber() uint64 { + if m != nil { + return m.Number + } + return 0 +} + +func (m *BlockHeader) GetPreviousHash() []byte { + if m != nil { + return m.PreviousHash + } + return nil +} + +func (m *BlockHeader) GetDataHash() []byte { + if m != nil { + return m.DataHash + } + return nil +} + +type BlockData struct { + Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockData) Reset() { *m = BlockData{} } +func (m *BlockData) String() string { return proto.CompactTextString(m) } +func (*BlockData) ProtoMessage() {} +func (*BlockData) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{10} +} + +func (m *BlockData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockData.Unmarshal(m, b) +} +func (m *BlockData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockData.Marshal(b, m, deterministic) +} +func (m *BlockData) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockData.Merge(m, src) +} +func (m *BlockData) XXX_Size() int { + return xxx_messageInfo_BlockData.Size(m) +} +func (m *BlockData) XXX_DiscardUnknown() { + xxx_messageInfo_BlockData.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockData proto.InternalMessageInfo + +func (m *BlockData) GetData() [][]byte { + if m != nil { + return m.Data + } + return nil +} + +type BlockMetadata struct { + Metadata [][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockMetadata) Reset() { *m = BlockMetadata{} } +func (m *BlockMetadata) String() string { return proto.CompactTextString(m) } +func (*BlockMetadata) ProtoMessage() {} +func (*BlockMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{11} +} + +func (m *BlockMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockMetadata.Unmarshal(m, b) +} +func (m *BlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockMetadata.Marshal(b, m, deterministic) +} +func (m *BlockMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockMetadata.Merge(m, src) +} +func (m *BlockMetadata) XXX_Size() int { + return xxx_messageInfo_BlockMetadata.Size(m) +} +func (m *BlockMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_BlockMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockMetadata proto.InternalMessageInfo + +func (m *BlockMetadata) GetMetadata() [][]byte { + if m != nil { + return m.Metadata + } + return nil +} + +// OrdererBlockMetadata defines metadata that is set by the ordering service. +type OrdererBlockMetadata struct { + LastConfig *LastConfig `protobuf:"bytes,1,opt,name=last_config,json=lastConfig,proto3" json:"last_config,omitempty"` + ConsenterMetadata []byte `protobuf:"bytes,2,opt,name=consenter_metadata,json=consenterMetadata,proto3" json:"consenter_metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrdererBlockMetadata) Reset() { *m = OrdererBlockMetadata{} } +func (m *OrdererBlockMetadata) String() string { return proto.CompactTextString(m) } +func (*OrdererBlockMetadata) ProtoMessage() {} +func (*OrdererBlockMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{12} +} + +func (m *OrdererBlockMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrdererBlockMetadata.Unmarshal(m, b) +} +func (m *OrdererBlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrdererBlockMetadata.Marshal(b, m, deterministic) +} +func (m *OrdererBlockMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrdererBlockMetadata.Merge(m, src) +} +func (m *OrdererBlockMetadata) XXX_Size() int { + return xxx_messageInfo_OrdererBlockMetadata.Size(m) +} +func (m *OrdererBlockMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_OrdererBlockMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_OrdererBlockMetadata proto.InternalMessageInfo + +func (m *OrdererBlockMetadata) GetLastConfig() *LastConfig { + if m != nil { + return m.LastConfig + } + return nil +} + +func (m *OrdererBlockMetadata) GetConsenterMetadata() []byte { + if m != nil { + return m.ConsenterMetadata + } + return nil +} + +func init() { + proto.RegisterEnum("common.Status", Status_name, Status_value) + proto.RegisterEnum("common.HeaderType", HeaderType_name, HeaderType_value) + proto.RegisterEnum("common.BlockMetadataIndex", BlockMetadataIndex_name, BlockMetadataIndex_value) + proto.RegisterType((*LastConfig)(nil), "common.LastConfig") + proto.RegisterType((*Metadata)(nil), "common.Metadata") + proto.RegisterType((*MetadataSignature)(nil), "common.MetadataSignature") + proto.RegisterType((*Header)(nil), "common.Header") + proto.RegisterType((*ChannelHeader)(nil), "common.ChannelHeader") + proto.RegisterType((*SignatureHeader)(nil), "common.SignatureHeader") + proto.RegisterType((*Payload)(nil), "common.Payload") + proto.RegisterType((*Envelope)(nil), "common.Envelope") + proto.RegisterType((*Block)(nil), "common.Block") + proto.RegisterType((*BlockHeader)(nil), "common.BlockHeader") + proto.RegisterType((*BlockData)(nil), "common.BlockData") + proto.RegisterType((*BlockMetadata)(nil), "common.BlockMetadata") + proto.RegisterType((*OrdererBlockMetadata)(nil), "common.OrdererBlockMetadata") +} + +func init() { proto.RegisterFile("common/common.proto", fileDescriptor_8f954d82c0b891f6) } + +var fileDescriptor_8f954d82c0b891f6 = []byte{ + // 1052 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x95, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0xc7, 0x37, 0x71, 0x7e, 0x3e, 0x6f, 0x5a, 0x67, 0xd2, 0x82, 0x29, 0xac, 0xb6, 0x32, 0x2c, + 0x2a, 0x5d, 0x35, 0x15, 0xdd, 0x0b, 0x1c, 0x1d, 0x7b, 0xda, 0x5a, 0x4d, 0xec, 0x30, 0x76, 0x8a, + 0x58, 0x90, 0x46, 0x6e, 0x32, 0x4d, 0x22, 0x12, 0x3b, 0xb2, 0x27, 0x55, 0xcb, 0x95, 0x3b, 0x42, + 0x82, 0x2b, 0xff, 0x0b, 0x47, 0xfe, 0x14, 0xfe, 0x00, 0x10, 0x57, 0x64, 0x8f, 0xed, 0x26, 0x65, + 0x25, 0x4e, 0xf1, 0x7b, 0xf3, 0xf1, 0x7b, 0xdf, 0xf7, 0x23, 0x63, 0xe8, 0x8c, 0xc3, 0xe5, 0x32, + 0x0c, 0x4e, 0xc5, 0x4f, 0x77, 0x15, 0x85, 0x3c, 0x44, 0x35, 0x61, 0x1d, 0xbc, 0x9c, 0x86, 0xe1, + 0x74, 0xc1, 0x4e, 0x53, 0xef, 0xcd, 0xfa, 0xf6, 0x94, 0xcf, 0x97, 0x2c, 0xe6, 0xfe, 0x72, 0x25, + 0x40, 0x4d, 0x03, 0xe8, 0xfb, 0x31, 0x37, 0xc2, 0xe0, 0x76, 0x3e, 0x45, 0x7b, 0x50, 0x9d, 0x07, + 0x13, 0x76, 0xaf, 0x96, 0x0e, 0x4b, 0x47, 0x15, 0x22, 0x0c, 0xed, 0x5b, 0x68, 0x0c, 0x18, 0xf7, + 0x27, 0x3e, 0xf7, 0x13, 0xe2, 0xce, 0x5f, 0xac, 0x59, 0x4a, 0x3c, 0x27, 0xc2, 0x40, 0x5f, 0x02, + 0xc4, 0xf3, 0x69, 0xe0, 0xf3, 0x75, 0xc4, 0x62, 0xb5, 0x7c, 0x28, 0x1d, 0xc9, 0x67, 0x1f, 0x74, + 0x33, 0x45, 0xf9, 0xbb, 0x6e, 0x4e, 0x90, 0x0d, 0x58, 0xfb, 0x0e, 0xda, 0xff, 0x01, 0xd0, 0x67, + 0xa0, 0x14, 0x08, 0x9d, 0x31, 0x7f, 0xc2, 0xa2, 0x2c, 0xe1, 0x6e, 0xe1, 0xbf, 0x4c, 0xdd, 0xe8, + 0x23, 0x68, 0x16, 0x2e, 0xb5, 0x9c, 0x32, 0x8f, 0x0e, 0xed, 0x2d, 0xd4, 0x32, 0xee, 0x15, 0xec, + 0x8c, 0x67, 0x7e, 0x10, 0xb0, 0xc5, 0x76, 0xc0, 0x56, 0xe6, 0xcd, 0xb0, 0x77, 0x65, 0x2e, 0xbf, + 0x33, 0xb3, 0xf6, 0x63, 0x19, 0x5a, 0xc6, 0xd6, 0xcb, 0x08, 0x2a, 0xfc, 0x61, 0x25, 0x7a, 0x53, + 0x25, 0xe9, 0x33, 0x52, 0xa1, 0x7e, 0xc7, 0xa2, 0x78, 0x1e, 0x06, 0x69, 0x9c, 0x2a, 0xc9, 0x4d, + 0xf4, 0x05, 0x34, 0x8b, 0x69, 0xa8, 0xd2, 0x61, 0xe9, 0x48, 0x3e, 0x3b, 0xe8, 0x8a, 0x79, 0x75, + 0xf3, 0x79, 0x75, 0xbd, 0x9c, 0x20, 0x8f, 0x30, 0x7a, 0x01, 0x90, 0xd7, 0x32, 0x9f, 0xa8, 0x95, + 0xc3, 0xd2, 0x51, 0x93, 0x34, 0x33, 0x8f, 0x35, 0x41, 0x1d, 0xa8, 0xf2, 0xfb, 0xe4, 0xa4, 0x9a, + 0x9e, 0x54, 0xf8, 0xbd, 0x35, 0x49, 0x06, 0xc7, 0x56, 0xe1, 0x78, 0xa6, 0xd6, 0xc4, 0x68, 0x53, + 0x23, 0xe9, 0x1e, 0xbb, 0xe7, 0x2c, 0x48, 0xf5, 0xd5, 0x45, 0xf7, 0x0a, 0x07, 0xd2, 0xa0, 0xc5, + 0x17, 0x31, 0x1d, 0xb3, 0x88, 0xd3, 0x99, 0x1f, 0xcf, 0xd4, 0x46, 0x4a, 0xc8, 0x7c, 0x11, 0x1b, + 0x2c, 0xe2, 0x97, 0x7e, 0x3c, 0xd3, 0x74, 0xd8, 0x75, 0x9f, 0x8c, 0x44, 0x85, 0xfa, 0x38, 0x62, + 0x3e, 0x0f, 0xf3, 0x1e, 0xe7, 0x66, 0x22, 0x22, 0x08, 0x83, 0x71, 0x3e, 0x28, 0x61, 0x68, 0x18, + 0xea, 0x43, 0xff, 0x61, 0x11, 0xfa, 0x13, 0xf4, 0x29, 0xd4, 0x36, 0xa6, 0x23, 0x9f, 0xed, 0xe4, + 0x4b, 0x24, 0x42, 0x93, 0xec, 0x34, 0xe9, 0x74, 0xb2, 0x31, 0x59, 0x9c, 0xf4, 0x59, 0xeb, 0x41, + 0x03, 0x07, 0x77, 0x6c, 0x11, 0x8a, 0xae, 0xaf, 0x44, 0xc8, 0x5c, 0x42, 0x66, 0xfe, 0xcf, 0xbe, + 0xfc, 0x54, 0x82, 0x6a, 0x6f, 0x11, 0x8e, 0xbf, 0x47, 0xaf, 0x9f, 0x28, 0xe9, 0xe4, 0x4a, 0xd2, + 0xe3, 0x27, 0x72, 0x5e, 0x6d, 0xc8, 0x91, 0xcf, 0xda, 0x5b, 0xa8, 0xe9, 0x73, 0x5f, 0x28, 0x44, + 0x9f, 0x43, 0x63, 0x99, 0xed, 0x7a, 0x36, 0xf0, 0xfd, 0x2d, 0x34, 0xff, 0x23, 0x90, 0x02, 0xd3, + 0xa6, 0x20, 0x6f, 0x24, 0x44, 0xef, 0x41, 0x2d, 0x58, 0x2f, 0x6f, 0x32, 0x55, 0x15, 0x92, 0x59, + 0xe8, 0x63, 0x68, 0xad, 0x22, 0x76, 0x37, 0x0f, 0xd7, 0xb1, 0x98, 0x94, 0xa8, 0xec, 0x79, 0xee, + 0x4c, 0x46, 0x85, 0x3e, 0x84, 0x66, 0x12, 0x53, 0x00, 0x52, 0x0a, 0x34, 0x12, 0x47, 0x3a, 0xc7, + 0x97, 0xd0, 0x2c, 0xe4, 0x16, 0xed, 0x2d, 0x1d, 0x4a, 0x45, 0x7b, 0x5f, 0x43, 0x6b, 0x4b, 0x24, + 0x3a, 0xd8, 0xa8, 0x46, 0x80, 0x8f, 0xb2, 0x7f, 0x80, 0x3d, 0x27, 0x9a, 0xb0, 0x88, 0x45, 0xdb, + 0xef, 0xbc, 0x01, 0x79, 0xe1, 0xc7, 0x9c, 0x8e, 0xd3, 0xfb, 0x26, 0x6b, 0x2d, 0xca, 0x9b, 0xf0, + 0x78, 0x13, 0x11, 0x58, 0x3c, 0xde, 0x4a, 0x27, 0x80, 0xc6, 0x61, 0x10, 0xb3, 0x80, 0xb3, 0x88, + 0x16, 0x29, 0x45, 0x85, 0xed, 0xe2, 0x24, 0xcf, 0x71, 0xfc, 0x7b, 0x09, 0x6a, 0x2e, 0xf7, 0xf9, + 0x3a, 0x46, 0x32, 0xd4, 0x47, 0xf6, 0x95, 0xed, 0x7c, 0x6d, 0x2b, 0xcf, 0xd0, 0x73, 0xa8, 0xbb, + 0x23, 0xc3, 0xc0, 0xae, 0xab, 0xfc, 0x51, 0x42, 0x0a, 0xc8, 0x3d, 0xdd, 0xa4, 0x04, 0x7f, 0x35, + 0xc2, 0xae, 0xa7, 0xfc, 0x2c, 0xa1, 0x1d, 0x68, 0x9e, 0x3b, 0xa4, 0x67, 0x99, 0x26, 0xb6, 0x95, + 0x5f, 0x52, 0xdb, 0x76, 0x3c, 0x7a, 0xee, 0x8c, 0x6c, 0x53, 0xf9, 0x55, 0x42, 0x2f, 0x40, 0xcd, + 0x68, 0x8a, 0x6d, 0xcf, 0xf2, 0xbe, 0xa1, 0x9e, 0xe3, 0xd0, 0xbe, 0x4e, 0x2e, 0xb0, 0xf2, 0x9b, + 0x84, 0x0e, 0x60, 0xdf, 0xb2, 0x3d, 0x4c, 0x6c, 0xbd, 0x4f, 0x5d, 0x4c, 0xae, 0x31, 0xa1, 0x98, + 0x10, 0x87, 0x28, 0x7f, 0x49, 0x68, 0x0f, 0x76, 0x93, 0x50, 0xd6, 0x60, 0xd8, 0xc7, 0x03, 0x6c, + 0x7b, 0xd8, 0x54, 0xfe, 0x96, 0x90, 0x0a, 0x9d, 0x04, 0xb4, 0x0c, 0x4c, 0x47, 0xb6, 0x7e, 0xad, + 0x5b, 0x7d, 0xbd, 0xd7, 0xc7, 0xca, 0x3f, 0xd2, 0xf1, 0x9f, 0x25, 0x00, 0x31, 0x71, 0x2f, 0xb9, + 0x43, 0x64, 0xa8, 0x0f, 0xb0, 0xeb, 0xea, 0x17, 0x58, 0x79, 0x86, 0x00, 0x6a, 0x86, 0x63, 0x9f, + 0x5b, 0x17, 0x4a, 0x09, 0xb5, 0xa1, 0x25, 0x9e, 0xe9, 0x68, 0x68, 0xea, 0x1e, 0x56, 0xca, 0x48, + 0x85, 0x3d, 0x6c, 0x9b, 0x0e, 0x71, 0x31, 0xa1, 0x1e, 0xd1, 0x6d, 0x57, 0x37, 0x3c, 0xcb, 0xb1, + 0x15, 0x09, 0xbd, 0x0f, 0x1d, 0x87, 0x98, 0x98, 0x3c, 0x39, 0xa8, 0xa0, 0x7d, 0x68, 0x9b, 0xb8, + 0x6f, 0x25, 0x8a, 0x5d, 0x8c, 0xaf, 0xa8, 0x65, 0x9f, 0x3b, 0x4a, 0x35, 0x71, 0x1b, 0x97, 0xba, + 0x65, 0x1b, 0x8e, 0x89, 0xe9, 0x50, 0x37, 0xae, 0x92, 0xfc, 0xb5, 0x24, 0xc1, 0x10, 0x63, 0x42, + 0x75, 0x73, 0x60, 0xd9, 0xd4, 0x19, 0x62, 0xa2, 0xa7, 0x71, 0x1a, 0x5a, 0xa5, 0x51, 0x57, 0xea, + 0x5a, 0xa5, 0xd1, 0x54, 0x9a, 0xc7, 0x82, 0x21, 0xd8, 0x75, 0x46, 0x24, 0xa9, 0x2f, 0x95, 0x77, + 0xdc, 0xf6, 0x9c, 0x2b, 0x6c, 0x6f, 0xa6, 0x3f, 0xe6, 0x80, 0xb6, 0x56, 0xc4, 0x4a, 0x3e, 0x39, + 0x68, 0x07, 0xc0, 0xb5, 0x2e, 0x6c, 0xdd, 0x1b, 0x11, 0xec, 0x2a, 0xcf, 0x50, 0x07, 0xe4, 0xbe, + 0xee, 0x7a, 0x34, 0xaf, 0xfc, 0xa0, 0xdc, 0x28, 0x25, 0x05, 0x6d, 0x44, 0x72, 0xe9, 0xb9, 0xd5, + 0xf7, 0x30, 0x51, 0xca, 0x68, 0x17, 0xea, 0x59, 0xa5, 0x8a, 0x94, 0x92, 0xbb, 0x20, 0x1b, 0xce, + 0x60, 0x60, 0x79, 0xf4, 0x52, 0x77, 0x2f, 0x95, 0x4a, 0xef, 0x1a, 0x3e, 0x09, 0xa3, 0x69, 0x77, + 0xf6, 0xb0, 0x62, 0xd1, 0x82, 0x4d, 0xa6, 0x2c, 0xea, 0xde, 0xfa, 0x37, 0xd1, 0x7c, 0x2c, 0x6e, + 0xde, 0x38, 0xdb, 0xc8, 0xb7, 0xdd, 0xe9, 0x9c, 0xcf, 0xd6, 0x37, 0x89, 0x79, 0xba, 0x01, 0x9f, + 0x0a, 0xf8, 0x44, 0xc0, 0x27, 0xd3, 0x30, 0xfb, 0xfa, 0xde, 0xd4, 0x52, 0xcf, 0x9b, 0x7f, 0x03, + 0x00, 0x00, 0xff, 0xff, 0x72, 0xa9, 0x81, 0xd5, 0x95, 0x07, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configtx.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configtx.pb.go new file mode 100644 index 0000000..fdb3554 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configtx.pb.go @@ -0,0 +1,548 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/configtx.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ConfigEnvelope is designed to contain _all_ configuration for a chain with no dependency +// on previous configuration transactions. +// +// It is generated with the following scheme: +// 1. Retrieve the existing configuration +// 2. Note the config properties (ConfigValue, ConfigPolicy, ConfigGroup) to be modified +// 3. Add any intermediate ConfigGroups to the ConfigUpdate.read_set (sparsely) +// 4. Add any additional desired dependencies to ConfigUpdate.read_set (sparsely) +// 5. Modify the config properties, incrementing each version by 1, set them in the ConfigUpdate.write_set +// Note: any element not modified but specified should already be in the read_set, so may be specified sparsely +// 6. Create ConfigUpdate message and marshal it into ConfigUpdateEnvelope.update and encode the required signatures +// a) Each signature is of type ConfigSignature +// b) The ConfigSignature signature is over the concatenation of signature_header and the ConfigUpdate bytes (which includes a ChainHeader) +// 5. Submit new Config for ordering in Envelope signed by submitter +// a) The Envelope Payload has data set to the marshaled ConfigEnvelope +// b) The Envelope Payload has a header of type Header.Type.CONFIG_UPDATE +// +// The configuration manager will verify: +// 1. All items in the read_set exist at the read versions +// 2. All items in the write_set at a different version than, or not in, the read_set have been appropriately signed according to their mod_policy +// 3. The new configuration satisfies the ConfigSchema +type ConfigEnvelope struct { + Config *Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + LastUpdate *Envelope `protobuf:"bytes,2,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigEnvelope) Reset() { *m = ConfigEnvelope{} } +func (m *ConfigEnvelope) String() string { return proto.CompactTextString(m) } +func (*ConfigEnvelope) ProtoMessage() {} +func (*ConfigEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{0} +} + +func (m *ConfigEnvelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigEnvelope.Unmarshal(m, b) +} +func (m *ConfigEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigEnvelope.Marshal(b, m, deterministic) +} +func (m *ConfigEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigEnvelope.Merge(m, src) +} +func (m *ConfigEnvelope) XXX_Size() int { + return xxx_messageInfo_ConfigEnvelope.Size(m) +} +func (m *ConfigEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigEnvelope.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigEnvelope proto.InternalMessageInfo + +func (m *ConfigEnvelope) GetConfig() *Config { + if m != nil { + return m.Config + } + return nil +} + +func (m *ConfigEnvelope) GetLastUpdate() *Envelope { + if m != nil { + return m.LastUpdate + } + return nil +} + +// Config represents the config for a particular channel +type Config struct { + Sequence uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + ChannelGroup *ConfigGroup `protobuf:"bytes,2,opt,name=channel_group,json=channelGroup,proto3" json:"channel_group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Config) Reset() { *m = Config{} } +func (m *Config) String() string { return proto.CompactTextString(m) } +func (*Config) ProtoMessage() {} +func (*Config) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{1} +} + +func (m *Config) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Config.Unmarshal(m, b) +} +func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Config.Marshal(b, m, deterministic) +} +func (m *Config) XXX_Merge(src proto.Message) { + xxx_messageInfo_Config.Merge(m, src) +} +func (m *Config) XXX_Size() int { + return xxx_messageInfo_Config.Size(m) +} +func (m *Config) XXX_DiscardUnknown() { + xxx_messageInfo_Config.DiscardUnknown(m) +} + +var xxx_messageInfo_Config proto.InternalMessageInfo + +func (m *Config) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *Config) GetChannelGroup() *ConfigGroup { + if m != nil { + return m.ChannelGroup + } + return nil +} + +type ConfigUpdateEnvelope struct { + ConfigUpdate []byte `protobuf:"bytes,1,opt,name=config_update,json=configUpdate,proto3" json:"config_update,omitempty"` + Signatures []*ConfigSignature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigUpdateEnvelope) Reset() { *m = ConfigUpdateEnvelope{} } +func (m *ConfigUpdateEnvelope) String() string { return proto.CompactTextString(m) } +func (*ConfigUpdateEnvelope) ProtoMessage() {} +func (*ConfigUpdateEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{2} +} + +func (m *ConfigUpdateEnvelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigUpdateEnvelope.Unmarshal(m, b) +} +func (m *ConfigUpdateEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigUpdateEnvelope.Marshal(b, m, deterministic) +} +func (m *ConfigUpdateEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigUpdateEnvelope.Merge(m, src) +} +func (m *ConfigUpdateEnvelope) XXX_Size() int { + return xxx_messageInfo_ConfigUpdateEnvelope.Size(m) +} +func (m *ConfigUpdateEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigUpdateEnvelope.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigUpdateEnvelope proto.InternalMessageInfo + +func (m *ConfigUpdateEnvelope) GetConfigUpdate() []byte { + if m != nil { + return m.ConfigUpdate + } + return nil +} + +func (m *ConfigUpdateEnvelope) GetSignatures() []*ConfigSignature { + if m != nil { + return m.Signatures + } + return nil +} + +// ConfigUpdate is used to submit a subset of config and to have the orderer apply to Config +// it is always submitted inside a ConfigUpdateEnvelope which allows the addition of signatures +// resulting in a new total configuration. The update is applied as follows: +// 1. The versions from all of the elements in the read_set is verified against the versions in the existing config. +// If there is a mismatch in the read versions, then the config update fails and is rejected. +// 2. Any elements in the write_set with the same version as the read_set are ignored. +// 3. The corresponding mod_policy for every remaining element in the write_set is collected. +// 4. Each policy is checked against the signatures from the ConfigUpdateEnvelope, any failing to verify are rejected +// 5. The write_set is applied to the Config and the ConfigGroupSchema verifies that the updates were legal +type ConfigUpdate struct { + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ReadSet *ConfigGroup `protobuf:"bytes,2,opt,name=read_set,json=readSet,proto3" json:"read_set,omitempty"` + WriteSet *ConfigGroup `protobuf:"bytes,3,opt,name=write_set,json=writeSet,proto3" json:"write_set,omitempty"` + IsolatedData map[string][]byte `protobuf:"bytes,5,rep,name=isolated_data,json=isolatedData,proto3" json:"isolated_data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigUpdate) Reset() { *m = ConfigUpdate{} } +func (m *ConfigUpdate) String() string { return proto.CompactTextString(m) } +func (*ConfigUpdate) ProtoMessage() {} +func (*ConfigUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{3} +} + +func (m *ConfigUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigUpdate.Unmarshal(m, b) +} +func (m *ConfigUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigUpdate.Marshal(b, m, deterministic) +} +func (m *ConfigUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigUpdate.Merge(m, src) +} +func (m *ConfigUpdate) XXX_Size() int { + return xxx_messageInfo_ConfigUpdate.Size(m) +} +func (m *ConfigUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigUpdate proto.InternalMessageInfo + +func (m *ConfigUpdate) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func (m *ConfigUpdate) GetReadSet() *ConfigGroup { + if m != nil { + return m.ReadSet + } + return nil +} + +func (m *ConfigUpdate) GetWriteSet() *ConfigGroup { + if m != nil { + return m.WriteSet + } + return nil +} + +func (m *ConfigUpdate) GetIsolatedData() map[string][]byte { + if m != nil { + return m.IsolatedData + } + return nil +} + +// ConfigGroup is the hierarchical data structure for holding config +type ConfigGroup struct { + Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Groups map[string]*ConfigGroup `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Values map[string]*ConfigValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Policies map[string]*ConfigPolicy `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ModPolicy string `protobuf:"bytes,5,opt,name=mod_policy,json=modPolicy,proto3" json:"mod_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigGroup) Reset() { *m = ConfigGroup{} } +func (m *ConfigGroup) String() string { return proto.CompactTextString(m) } +func (*ConfigGroup) ProtoMessage() {} +func (*ConfigGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{4} +} + +func (m *ConfigGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigGroup.Unmarshal(m, b) +} +func (m *ConfigGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigGroup.Marshal(b, m, deterministic) +} +func (m *ConfigGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigGroup.Merge(m, src) +} +func (m *ConfigGroup) XXX_Size() int { + return xxx_messageInfo_ConfigGroup.Size(m) +} +func (m *ConfigGroup) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigGroup proto.InternalMessageInfo + +func (m *ConfigGroup) GetVersion() uint64 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ConfigGroup) GetGroups() map[string]*ConfigGroup { + if m != nil { + return m.Groups + } + return nil +} + +func (m *ConfigGroup) GetValues() map[string]*ConfigValue { + if m != nil { + return m.Values + } + return nil +} + +func (m *ConfigGroup) GetPolicies() map[string]*ConfigPolicy { + if m != nil { + return m.Policies + } + return nil +} + +func (m *ConfigGroup) GetModPolicy() string { + if m != nil { + return m.ModPolicy + } + return "" +} + +// ConfigValue represents an individual piece of config data +type ConfigValue struct { + Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + ModPolicy string `protobuf:"bytes,3,opt,name=mod_policy,json=modPolicy,proto3" json:"mod_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigValue) Reset() { *m = ConfigValue{} } +func (m *ConfigValue) String() string { return proto.CompactTextString(m) } +func (*ConfigValue) ProtoMessage() {} +func (*ConfigValue) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{5} +} + +func (m *ConfigValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigValue.Unmarshal(m, b) +} +func (m *ConfigValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigValue.Marshal(b, m, deterministic) +} +func (m *ConfigValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigValue.Merge(m, src) +} +func (m *ConfigValue) XXX_Size() int { + return xxx_messageInfo_ConfigValue.Size(m) +} +func (m *ConfigValue) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigValue.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigValue proto.InternalMessageInfo + +func (m *ConfigValue) GetVersion() uint64 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ConfigValue) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *ConfigValue) GetModPolicy() string { + if m != nil { + return m.ModPolicy + } + return "" +} + +type ConfigPolicy struct { + Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Policy *Policy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"` + ModPolicy string `protobuf:"bytes,3,opt,name=mod_policy,json=modPolicy,proto3" json:"mod_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigPolicy) Reset() { *m = ConfigPolicy{} } +func (m *ConfigPolicy) String() string { return proto.CompactTextString(m) } +func (*ConfigPolicy) ProtoMessage() {} +func (*ConfigPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{6} +} + +func (m *ConfigPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigPolicy.Unmarshal(m, b) +} +func (m *ConfigPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigPolicy.Marshal(b, m, deterministic) +} +func (m *ConfigPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigPolicy.Merge(m, src) +} +func (m *ConfigPolicy) XXX_Size() int { + return xxx_messageInfo_ConfigPolicy.Size(m) +} +func (m *ConfigPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigPolicy proto.InternalMessageInfo + +func (m *ConfigPolicy) GetVersion() uint64 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ConfigPolicy) GetPolicy() *Policy { + if m != nil { + return m.Policy + } + return nil +} + +func (m *ConfigPolicy) GetModPolicy() string { + if m != nil { + return m.ModPolicy + } + return "" +} + +type ConfigSignature struct { + SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigSignature) Reset() { *m = ConfigSignature{} } +func (m *ConfigSignature) String() string { return proto.CompactTextString(m) } +func (*ConfigSignature) ProtoMessage() {} +func (*ConfigSignature) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{7} +} + +func (m *ConfigSignature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigSignature.Unmarshal(m, b) +} +func (m *ConfigSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigSignature.Marshal(b, m, deterministic) +} +func (m *ConfigSignature) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigSignature.Merge(m, src) +} +func (m *ConfigSignature) XXX_Size() int { + return xxx_messageInfo_ConfigSignature.Size(m) +} +func (m *ConfigSignature) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigSignature.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigSignature proto.InternalMessageInfo + +func (m *ConfigSignature) GetSignatureHeader() []byte { + if m != nil { + return m.SignatureHeader + } + return nil +} + +func (m *ConfigSignature) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +func init() { + proto.RegisterType((*ConfigEnvelope)(nil), "common.ConfigEnvelope") + proto.RegisterType((*Config)(nil), "common.Config") + proto.RegisterType((*ConfigUpdateEnvelope)(nil), "common.ConfigUpdateEnvelope") + proto.RegisterType((*ConfigUpdate)(nil), "common.ConfigUpdate") + proto.RegisterMapType((map[string][]byte)(nil), "common.ConfigUpdate.IsolatedDataEntry") + proto.RegisterType((*ConfigGroup)(nil), "common.ConfigGroup") + proto.RegisterMapType((map[string]*ConfigGroup)(nil), "common.ConfigGroup.GroupsEntry") + proto.RegisterMapType((map[string]*ConfigPolicy)(nil), "common.ConfigGroup.PoliciesEntry") + proto.RegisterMapType((map[string]*ConfigValue)(nil), "common.ConfigGroup.ValuesEntry") + proto.RegisterType((*ConfigValue)(nil), "common.ConfigValue") + proto.RegisterType((*ConfigPolicy)(nil), "common.ConfigPolicy") + proto.RegisterType((*ConfigSignature)(nil), "common.ConfigSignature") +} + +func init() { proto.RegisterFile("common/configtx.proto", fileDescriptor_5190bbf196fa7499) } + +var fileDescriptor_5190bbf196fa7499 = []byte{ + // 645 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x61, 0x4f, 0xd4, 0x4c, + 0x10, 0x0e, 0xd7, 0x5e, 0xe9, 0xcd, 0xf5, 0xe0, 0xde, 0x85, 0x37, 0x36, 0x17, 0x8d, 0x58, 0x0d, + 0x01, 0x13, 0x8a, 0xe2, 0x07, 0x88, 0x89, 0x31, 0x51, 0x89, 0x82, 0x89, 0xd1, 0x12, 0xf9, 0x40, + 0x4c, 0x9a, 0xa5, 0x5d, 0x7a, 0x95, 0x5e, 0xb7, 0x6e, 0xb7, 0x68, 0x7f, 0x92, 0x7f, 0xcd, 0x5f, + 0x61, 0xba, 0xbb, 0x2d, 0x2d, 0x1e, 0x67, 0xfc, 0x02, 0xcc, 0xcc, 0xf3, 0x3c, 0x33, 0xcf, 0xce, + 0x76, 0x81, 0xff, 0x03, 0x3a, 0x9b, 0xd1, 0x74, 0x37, 0xa0, 0xe9, 0x45, 0x1c, 0xf1, 0x1f, 0x6e, + 0xc6, 0x28, 0xa7, 0xc8, 0x90, 0xe9, 0xc9, 0x5a, 0x53, 0xae, 0x7e, 0xc9, 0xe2, 0xa4, 0xe6, 0x64, + 0x34, 0x89, 0x83, 0x98, 0xe4, 0x32, 0xed, 0x5c, 0xc2, 0xca, 0x6b, 0xa1, 0x72, 0x98, 0x5e, 0x91, + 0x84, 0x66, 0x04, 0x6d, 0x82, 0x21, 0x75, 0xed, 0xa5, 0x8d, 0xa5, 0xad, 0xe1, 0xde, 0x8a, 0xab, + 0x74, 0x24, 0xce, 0x53, 0x55, 0xf4, 0x14, 0x86, 0x09, 0xce, 0xb9, 0x5f, 0x64, 0x21, 0xe6, 0xc4, + 0xee, 0x09, 0xf0, 0xb8, 0x06, 0xd7, 0x72, 0x1e, 0x54, 0xa0, 0xcf, 0x02, 0xe3, 0x7c, 0x05, 0x43, + 0x8a, 0xa0, 0x09, 0x98, 0x39, 0xf9, 0x56, 0x90, 0x34, 0x20, 0xa2, 0x8d, 0xee, 0x35, 0x31, 0x3a, + 0x80, 0x51, 0x30, 0xc5, 0x69, 0x4a, 0x12, 0x3f, 0x62, 0xb4, 0xc8, 0x94, 0xf4, 0x5a, 0x77, 0x8e, + 0xb7, 0x55, 0xc9, 0xb3, 0x14, 0x52, 0x44, 0xc7, 0xba, 0xa9, 0x8d, 0x75, 0x4f, 0xe7, 0x65, 0x46, + 0x1c, 0x0e, 0xeb, 0x12, 0x28, 0x7b, 0x37, 0xf6, 0x1e, 0xc2, 0x48, 0x1a, 0xa8, 0x07, 0xaf, 0xda, + 0x5b, 0x9e, 0x15, 0xb4, 0xc0, 0x68, 0x1f, 0x20, 0x8f, 0xa3, 0x14, 0xf3, 0x82, 0x91, 0xdc, 0xee, + 0x6d, 0x68, 0x5b, 0xc3, 0xbd, 0x3b, 0xdd, 0xfe, 0x27, 0x75, 0xdd, 0x6b, 0x41, 0x9d, 0x9f, 0x3d, + 0xb0, 0xda, 0x6d, 0xd1, 0x3d, 0x80, 0xda, 0x4c, 0x1c, 0x8a, 0x5e, 0x03, 0x6f, 0xa0, 0x32, 0x47, + 0x21, 0x72, 0xc1, 0x64, 0x04, 0x87, 0x7e, 0x4e, 0xf8, 0x22, 0x9b, 0xcb, 0x15, 0xe8, 0x84, 0x70, + 0xf4, 0x04, 0x06, 0xdf, 0x59, 0xcc, 0x89, 0x20, 0x68, 0xb7, 0x13, 0x4c, 0x81, 0xaa, 0x18, 0xef, + 0x61, 0x14, 0xe7, 0x34, 0xc1, 0x9c, 0x84, 0x7e, 0x88, 0x39, 0xb6, 0xfb, 0xc2, 0xcd, 0x66, 0x97, + 0x25, 0xa7, 0x75, 0x8f, 0x14, 0xf2, 0x0d, 0xe6, 0xf8, 0x30, 0xe5, 0xac, 0xf4, 0xac, 0xb8, 0x95, + 0x9a, 0xbc, 0x84, 0xff, 0xfe, 0x80, 0xa0, 0x31, 0x68, 0x97, 0xa4, 0x54, 0xde, 0xaa, 0x3f, 0xd1, + 0x3a, 0xf4, 0xaf, 0x70, 0x52, 0xc8, 0x4b, 0x61, 0x79, 0x32, 0x78, 0xde, 0x3b, 0x58, 0x3a, 0xd6, + 0x4d, 0x7d, 0xdc, 0x57, 0x1b, 0xfa, 0xa5, 0xc1, 0xb0, 0x35, 0x33, 0xb2, 0x61, 0xf9, 0x8a, 0xb0, + 0x3c, 0xa6, 0xa9, 0xba, 0x12, 0x75, 0x88, 0xf6, 0xc1, 0x10, 0x37, 0xa1, 0x5e, 0xc5, 0xfd, 0x39, + 0x96, 0x5d, 0xf1, 0x33, 0x97, 0x53, 0x2b, 0x78, 0x45, 0x14, 0xbd, 0x73, 0x5b, 0xbb, 0x9d, 0x78, + 0x2a, 0x10, 0x8a, 0x28, 0xe1, 0xe8, 0x05, 0x98, 0xf5, 0x87, 0x62, 0xeb, 0x82, 0xfa, 0x60, 0x1e, + 0xf5, 0xa3, 0xc2, 0x48, 0x72, 0x43, 0xa9, 0xb6, 0x3e, 0xa3, 0xa1, 0x2f, 0xe2, 0xd2, 0xee, 0xcb, + 0xad, 0xcf, 0x68, 0x28, 0xf0, 0xe5, 0xe4, 0x03, 0x0c, 0x5b, 0xd3, 0xce, 0x39, 0xc0, 0xed, 0xf6, + 0x01, 0xde, 0xb2, 0xe2, 0xeb, 0x53, 0xad, 0xf4, 0x5a, 0x26, 0xfe, 0x59, 0x4f, 0x70, 0xdb, 0x7a, + 0x9f, 0x60, 0xd4, 0x71, 0x36, 0x47, 0xf1, 0x71, 0x57, 0x71, 0xbd, 0xab, 0x28, 0x7d, 0xb6, 0x24, + 0x9d, 0x2f, 0xf5, 0xae, 0x45, 0xb3, 0x05, 0xbb, 0x9e, 0x7b, 0x77, 0x6e, 0x1c, 0xa8, 0x76, 0xe3, + 0x40, 0x1d, 0x5a, 0x7f, 0x75, 0x32, 0x5e, 0x20, 0xbf, 0x09, 0x86, 0x12, 0xe9, 0x75, 0x5f, 0x37, + 0x35, 0xb2, 0xaa, 0xfe, 0xad, 0xe1, 0x19, 0xac, 0xde, 0x78, 0x06, 0xd0, 0x36, 0x8c, 0x9b, 0x87, + 0xc0, 0x9f, 0x12, 0x1c, 0x12, 0xa6, 0xde, 0x96, 0xd5, 0x26, 0xff, 0x4e, 0xa4, 0xd1, 0x5d, 0x18, + 0x34, 0x29, 0xe5, 0xf3, 0x3a, 0xf1, 0xea, 0x14, 0x1e, 0x51, 0x16, 0xb9, 0xd3, 0x32, 0x23, 0x2c, + 0x21, 0x61, 0x44, 0x98, 0x7b, 0x81, 0xcf, 0x59, 0x1c, 0xc8, 0x27, 0x3b, 0x57, 0x13, 0x9f, 0xb9, + 0x51, 0xcc, 0xa7, 0xc5, 0x79, 0x15, 0xee, 0xb6, 0xc0, 0xbb, 0x12, 0xbc, 0x23, 0xc1, 0x3b, 0x11, + 0x55, 0xff, 0x07, 0xce, 0x0d, 0x91, 0x79, 0xf6, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x9b, 0x6e, + 0xa7, 0x3e, 0x06, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configuration.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configuration.pb.go new file mode 100644 index 0000000..35d7a7a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/configuration.pb.go @@ -0,0 +1,327 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/configuration.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// HashingAlgorithm is encoded into the configuration transaction as a configuration item of type Chain +// with a Key of "HashingAlgorithm" and a Value of HashingAlgorithm as marshaled protobuf bytes +type HashingAlgorithm struct { + // Currently supported algorithms are: SHAKE256 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HashingAlgorithm) Reset() { *m = HashingAlgorithm{} } +func (m *HashingAlgorithm) String() string { return proto.CompactTextString(m) } +func (*HashingAlgorithm) ProtoMessage() {} +func (*HashingAlgorithm) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{0} +} + +func (m *HashingAlgorithm) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HashingAlgorithm.Unmarshal(m, b) +} +func (m *HashingAlgorithm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HashingAlgorithm.Marshal(b, m, deterministic) +} +func (m *HashingAlgorithm) XXX_Merge(src proto.Message) { + xxx_messageInfo_HashingAlgorithm.Merge(m, src) +} +func (m *HashingAlgorithm) XXX_Size() int { + return xxx_messageInfo_HashingAlgorithm.Size(m) +} +func (m *HashingAlgorithm) XXX_DiscardUnknown() { + xxx_messageInfo_HashingAlgorithm.DiscardUnknown(m) +} + +var xxx_messageInfo_HashingAlgorithm proto.InternalMessageInfo + +func (m *HashingAlgorithm) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// BlockDataHashingStructure is encoded into the configuration transaction as a configuration item of +// type Chain with a Key of "BlockDataHashingStructure" and a Value of HashingAlgorithm as marshaled protobuf bytes +type BlockDataHashingStructure struct { + // width specifies the width of the Merkle tree to use when computing the BlockDataHash + // in order to replicate flat hashing, set this width to MAX_UINT32 + Width uint32 `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockDataHashingStructure) Reset() { *m = BlockDataHashingStructure{} } +func (m *BlockDataHashingStructure) String() string { return proto.CompactTextString(m) } +func (*BlockDataHashingStructure) ProtoMessage() {} +func (*BlockDataHashingStructure) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{1} +} + +func (m *BlockDataHashingStructure) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockDataHashingStructure.Unmarshal(m, b) +} +func (m *BlockDataHashingStructure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockDataHashingStructure.Marshal(b, m, deterministic) +} +func (m *BlockDataHashingStructure) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockDataHashingStructure.Merge(m, src) +} +func (m *BlockDataHashingStructure) XXX_Size() int { + return xxx_messageInfo_BlockDataHashingStructure.Size(m) +} +func (m *BlockDataHashingStructure) XXX_DiscardUnknown() { + xxx_messageInfo_BlockDataHashingStructure.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockDataHashingStructure proto.InternalMessageInfo + +func (m *BlockDataHashingStructure) GetWidth() uint32 { + if m != nil { + return m.Width + } + return 0 +} + +// OrdererAddresses is encoded into the configuration transaction as a configuration item of type Chain +// with a Key of "OrdererAddresses" and a Value of OrdererAddresses as marshaled protobuf bytes +type OrdererAddresses struct { + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrdererAddresses) Reset() { *m = OrdererAddresses{} } +func (m *OrdererAddresses) String() string { return proto.CompactTextString(m) } +func (*OrdererAddresses) ProtoMessage() {} +func (*OrdererAddresses) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{2} +} + +func (m *OrdererAddresses) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrdererAddresses.Unmarshal(m, b) +} +func (m *OrdererAddresses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrdererAddresses.Marshal(b, m, deterministic) +} +func (m *OrdererAddresses) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrdererAddresses.Merge(m, src) +} +func (m *OrdererAddresses) XXX_Size() int { + return xxx_messageInfo_OrdererAddresses.Size(m) +} +func (m *OrdererAddresses) XXX_DiscardUnknown() { + xxx_messageInfo_OrdererAddresses.DiscardUnknown(m) +} + +var xxx_messageInfo_OrdererAddresses proto.InternalMessageInfo + +func (m *OrdererAddresses) GetAddresses() []string { + if m != nil { + return m.Addresses + } + return nil +} + +// Consortium represents the consortium context in which the channel was created +type Consortium struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Consortium) Reset() { *m = Consortium{} } +func (m *Consortium) String() string { return proto.CompactTextString(m) } +func (*Consortium) ProtoMessage() {} +func (*Consortium) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{3} +} + +func (m *Consortium) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Consortium.Unmarshal(m, b) +} +func (m *Consortium) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Consortium.Marshal(b, m, deterministic) +} +func (m *Consortium) XXX_Merge(src proto.Message) { + xxx_messageInfo_Consortium.Merge(m, src) +} +func (m *Consortium) XXX_Size() int { + return xxx_messageInfo_Consortium.Size(m) +} +func (m *Consortium) XXX_DiscardUnknown() { + xxx_messageInfo_Consortium.DiscardUnknown(m) +} + +var xxx_messageInfo_Consortium proto.InternalMessageInfo + +func (m *Consortium) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// Capabilities message defines the capabilities a particular binary must implement +// for that binary to be able to safely participate in the channel. The capabilities +// message is defined at the /Channel level, the /Channel/Application level, and the +// /Channel/Orderer level. +// +// The /Channel level capabilties define capabilities which both the orderer and peer +// binaries must satisfy. These capabilties might be things like a new MSP type, +// or a new policy type. +// +// The /Channel/Orderer level capabilties define capabilities which must be supported +// by the orderer, but which have no bearing on the behavior of the peer. For instance +// if the orderer changes the logic for how it constructs new channels, only all orderers +// must agree on the new logic. The peers do not need to be aware of this change as +// they only interact with the channel after it has been constructed. +// +// Finally, the /Channel/Application level capabilities define capabilities which the peer +// binary must satisfy, but which have no bearing on the orderer. For instance, if the +// peer adds a new UTXO transaction type, or changes the chaincode lifecycle requirements, +// all peers must agree on the new logic. However, orderers never inspect transactions +// this deeply, and therefore have no need to be aware of the change. +// +// The capabilities strings defined in these messages typically correspond to release +// binary versions (e.g. "V1.1"), and are used primarilly as a mechanism for a fully +// upgraded network to switch from one set of logic to a new one. +// +// Although for V1.1, the orderers must be upgraded to V1.1 prior to the rest of the +// network, going forward, because of the split between the /Channel, /Channel/Orderer +// and /Channel/Application capabilities. It should be possible for the orderer and +// application networks to upgrade themselves independently (with the exception of any +// new capabilities defined at the /Channel level). +type Capabilities struct { + Capabilities map[string]*Capability `protobuf:"bytes,1,rep,name=capabilities,proto3" json:"capabilities,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Capabilities) Reset() { *m = Capabilities{} } +func (m *Capabilities) String() string { return proto.CompactTextString(m) } +func (*Capabilities) ProtoMessage() {} +func (*Capabilities) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{4} +} + +func (m *Capabilities) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Capabilities.Unmarshal(m, b) +} +func (m *Capabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Capabilities.Marshal(b, m, deterministic) +} +func (m *Capabilities) XXX_Merge(src proto.Message) { + xxx_messageInfo_Capabilities.Merge(m, src) +} +func (m *Capabilities) XXX_Size() int { + return xxx_messageInfo_Capabilities.Size(m) +} +func (m *Capabilities) XXX_DiscardUnknown() { + xxx_messageInfo_Capabilities.DiscardUnknown(m) +} + +var xxx_messageInfo_Capabilities proto.InternalMessageInfo + +func (m *Capabilities) GetCapabilities() map[string]*Capability { + if m != nil { + return m.Capabilities + } + return nil +} + +// Capability is an empty message for the time being. It is defined as a protobuf +// message rather than a constant, so that we may extend capabilities with other fields +// if the need arises in the future. For the time being, a capability being in the +// capabilities map requires that that capability be supported. +type Capability struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Capability) Reset() { *m = Capability{} } +func (m *Capability) String() string { return proto.CompactTextString(m) } +func (*Capability) ProtoMessage() {} +func (*Capability) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{5} +} + +func (m *Capability) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Capability.Unmarshal(m, b) +} +func (m *Capability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Capability.Marshal(b, m, deterministic) +} +func (m *Capability) XXX_Merge(src proto.Message) { + xxx_messageInfo_Capability.Merge(m, src) +} +func (m *Capability) XXX_Size() int { + return xxx_messageInfo_Capability.Size(m) +} +func (m *Capability) XXX_DiscardUnknown() { + xxx_messageInfo_Capability.DiscardUnknown(m) +} + +var xxx_messageInfo_Capability proto.InternalMessageInfo + +func init() { + proto.RegisterType((*HashingAlgorithm)(nil), "common.HashingAlgorithm") + proto.RegisterType((*BlockDataHashingStructure)(nil), "common.BlockDataHashingStructure") + proto.RegisterType((*OrdererAddresses)(nil), "common.OrdererAddresses") + proto.RegisterType((*Consortium)(nil), "common.Consortium") + proto.RegisterType((*Capabilities)(nil), "common.Capabilities") + proto.RegisterMapType((map[string]*Capability)(nil), "common.Capabilities.CapabilitiesEntry") + proto.RegisterType((*Capability)(nil), "common.Capability") +} + +func init() { proto.RegisterFile("common/configuration.proto", fileDescriptor_cba1ec2883858369) } + +var fileDescriptor_cba1ec2883858369 = []byte{ + // 318 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x41, 0x6b, 0xf2, 0x40, + 0x10, 0x86, 0x89, 0x7e, 0x0a, 0x8e, 0x7e, 0x60, 0x97, 0x1e, 0xac, 0xf4, 0x10, 0x42, 0x91, 0x5c, + 0x4c, 0x5a, 0x7b, 0x29, 0xbd, 0xa9, 0x2d, 0x94, 0x5e, 0x0a, 0x11, 0x7a, 0xe8, 0x6d, 0x93, 0xac, + 0x9b, 0xc5, 0x64, 0x57, 0x66, 0x77, 0x5b, 0xf2, 0xab, 0xfa, 0x17, 0x8b, 0x59, 0x8b, 0x8a, 0xbd, + 0xcd, 0x33, 0xf3, 0xbc, 0x93, 0x09, 0x0b, 0xe3, 0x4c, 0x55, 0x95, 0x92, 0x71, 0xa6, 0xe4, 0x5a, + 0x70, 0x8b, 0xd4, 0x08, 0x25, 0xa3, 0x2d, 0x2a, 0xa3, 0x48, 0xd7, 0xcd, 0x82, 0x09, 0x0c, 0x5f, + 0xa8, 0x2e, 0x84, 0xe4, 0xf3, 0x92, 0x2b, 0x14, 0xa6, 0xa8, 0x08, 0x81, 0x7f, 0x92, 0x56, 0x6c, + 0xe4, 0xf9, 0x5e, 0xd8, 0x4b, 0x9a, 0x3a, 0xb8, 0x83, 0xab, 0x45, 0xa9, 0xb2, 0xcd, 0x13, 0x35, + 0x74, 0x1f, 0x58, 0x19, 0xb4, 0x99, 0xb1, 0xc8, 0xc8, 0x25, 0x74, 0xbe, 0x44, 0x6e, 0x8a, 0x26, + 0xf1, 0x3f, 0x71, 0x10, 0xdc, 0xc2, 0xf0, 0x0d, 0x73, 0x86, 0x0c, 0xe7, 0x79, 0x8e, 0x4c, 0x6b, + 0xa6, 0xc9, 0x35, 0xf4, 0xe8, 0x2f, 0x8c, 0x3c, 0xbf, 0x1d, 0xf6, 0x92, 0x43, 0x23, 0xf0, 0x01, + 0x96, 0x4a, 0x6a, 0x85, 0x46, 0xd8, 0xbf, 0xcf, 0xf8, 0xf6, 0x60, 0xb0, 0xa4, 0x5b, 0x9a, 0x8a, + 0x52, 0x18, 0xc1, 0x34, 0x79, 0x85, 0x41, 0x76, 0xc4, 0xcd, 0xce, 0xfe, 0x6c, 0x12, 0xb9, 0xdf, + 0x8b, 0x8e, 0xdd, 0x13, 0x78, 0x96, 0x06, 0xeb, 0xe4, 0x24, 0x3b, 0x5e, 0xc1, 0xc5, 0x99, 0x42, + 0x86, 0xd0, 0xde, 0xb0, 0x7a, 0x7f, 0xc4, 0xae, 0x24, 0x21, 0x74, 0x3e, 0x69, 0x69, 0xd9, 0xa8, + 0xe5, 0x7b, 0x61, 0x7f, 0x46, 0xce, 0xbe, 0x55, 0x27, 0x4e, 0x78, 0x6c, 0x3d, 0x78, 0xc1, 0x00, + 0xe0, 0x30, 0x58, 0xbc, 0xc3, 0x8d, 0x42, 0x1e, 0x15, 0xf5, 0x96, 0x61, 0xc9, 0x72, 0xce, 0x30, + 0x5a, 0xd3, 0x14, 0x45, 0xe6, 0x9e, 0x45, 0xef, 0x77, 0x7d, 0x44, 0x5c, 0x98, 0xc2, 0xa6, 0x3b, + 0x8c, 0x8f, 0xe4, 0xd8, 0xc9, 0x53, 0x27, 0x4f, 0xb9, 0x8a, 0x9d, 0x9f, 0x76, 0x9b, 0xce, 0xfd, + 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xe7, 0x4b, 0x89, 0xf3, 0x01, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/ledger.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/ledger.pb.go new file mode 100644 index 0000000..86f3287 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/ledger.pb.go @@ -0,0 +1,100 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/ledger.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Contains information about the blockchain ledger such as height, current +// block hash, and previous block hash. +type BlockchainInfo struct { + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + CurrentBlockHash []byte `protobuf:"bytes,2,opt,name=currentBlockHash,proto3" json:"currentBlockHash,omitempty"` + PreviousBlockHash []byte `protobuf:"bytes,3,opt,name=previousBlockHash,proto3" json:"previousBlockHash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockchainInfo) Reset() { *m = BlockchainInfo{} } +func (m *BlockchainInfo) String() string { return proto.CompactTextString(m) } +func (*BlockchainInfo) ProtoMessage() {} +func (*BlockchainInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_da3410306adbea27, []int{0} +} + +func (m *BlockchainInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockchainInfo.Unmarshal(m, b) +} +func (m *BlockchainInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockchainInfo.Marshal(b, m, deterministic) +} +func (m *BlockchainInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockchainInfo.Merge(m, src) +} +func (m *BlockchainInfo) XXX_Size() int { + return xxx_messageInfo_BlockchainInfo.Size(m) +} +func (m *BlockchainInfo) XXX_DiscardUnknown() { + xxx_messageInfo_BlockchainInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockchainInfo proto.InternalMessageInfo + +func (m *BlockchainInfo) GetHeight() uint64 { + if m != nil { + return m.Height + } + return 0 +} + +func (m *BlockchainInfo) GetCurrentBlockHash() []byte { + if m != nil { + return m.CurrentBlockHash + } + return nil +} + +func (m *BlockchainInfo) GetPreviousBlockHash() []byte { + if m != nil { + return m.PreviousBlockHash + } + return nil +} + +func init() { + proto.RegisterType((*BlockchainInfo)(nil), "common.BlockchainInfo") +} + +func init() { proto.RegisterFile("common/ledger.proto", fileDescriptor_da3410306adbea27) } + +var fileDescriptor_da3410306adbea27 = []byte{ + // 189 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4e, 0xce, 0xcf, 0xcd, + 0xcd, 0xcf, 0xd3, 0xcf, 0x49, 0x4d, 0x49, 0x4f, 0x2d, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, + 0x62, 0x83, 0x08, 0x2a, 0x35, 0x31, 0x72, 0xf1, 0x39, 0xe5, 0xe4, 0x27, 0x67, 0x27, 0x67, 0x24, + 0x66, 0xe6, 0x79, 0xe6, 0xa5, 0xe5, 0x0b, 0x89, 0x71, 0xb1, 0x65, 0xa4, 0x66, 0xa6, 0x67, 0x94, + 0x48, 0x30, 0x2a, 0x30, 0x6a, 0xb0, 0x04, 0x41, 0x79, 0x42, 0x5a, 0x5c, 0x02, 0xc9, 0xa5, 0x45, + 0x45, 0xa9, 0x79, 0x25, 0x60, 0x0d, 0x1e, 0x89, 0xc5, 0x19, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0x3c, + 0x41, 0x18, 0xe2, 0x42, 0x3a, 0x5c, 0x82, 0x05, 0x45, 0xa9, 0x65, 0x99, 0xf9, 0xa5, 0xc5, 0x08, + 0xc5, 0xcc, 0x60, 0xc5, 0x98, 0x12, 0x4e, 0x61, 0x5c, 0x2a, 0xf9, 0x45, 0xe9, 0x7a, 0x19, 0x95, + 0x05, 0xa9, 0x45, 0x50, 0x57, 0xa6, 0x25, 0x26, 0x15, 0x65, 0x26, 0x43, 0x1c, 0x5b, 0xac, 0x07, + 0x71, 0x6c, 0x94, 0x5e, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x12, 0x88, 0xab, 0x8f, 0xa4, 0x58, 0x1f, + 0xa2, 0x58, 0x17, 0xa2, 0x58, 0x37, 0x3d, 0x5f, 0x1f, 0xa2, 0x3e, 0x89, 0x0d, 0x2c, 0x62, 0x0c, + 0x08, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x1e, 0x95, 0x9c, 0x02, 0x01, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/policies.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/policies.pb.go new file mode 100644 index 0000000..eb76cb3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/common/policies.pb.go @@ -0,0 +1,510 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/policies.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + msp "github.com/hyperledger/fabric-protos-go/msp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type Policy_PolicyType int32 + +const ( + Policy_UNKNOWN Policy_PolicyType = 0 + Policy_SIGNATURE Policy_PolicyType = 1 + Policy_MSP Policy_PolicyType = 2 + Policy_IMPLICIT_META Policy_PolicyType = 3 +) + +var Policy_PolicyType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SIGNATURE", + 2: "MSP", + 3: "IMPLICIT_META", +} + +var Policy_PolicyType_value = map[string]int32{ + "UNKNOWN": 0, + "SIGNATURE": 1, + "MSP": 2, + "IMPLICIT_META": 3, +} + +func (x Policy_PolicyType) String() string { + return proto.EnumName(Policy_PolicyType_name, int32(x)) +} + +func (Policy_PolicyType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{0, 0} +} + +type ImplicitMetaPolicy_Rule int32 + +const ( + ImplicitMetaPolicy_ANY ImplicitMetaPolicy_Rule = 0 + ImplicitMetaPolicy_ALL ImplicitMetaPolicy_Rule = 1 + ImplicitMetaPolicy_MAJORITY ImplicitMetaPolicy_Rule = 2 +) + +var ImplicitMetaPolicy_Rule_name = map[int32]string{ + 0: "ANY", + 1: "ALL", + 2: "MAJORITY", +} + +var ImplicitMetaPolicy_Rule_value = map[string]int32{ + "ANY": 0, + "ALL": 1, + "MAJORITY": 2, +} + +func (x ImplicitMetaPolicy_Rule) String() string { + return proto.EnumName(ImplicitMetaPolicy_Rule_name, int32(x)) +} + +func (ImplicitMetaPolicy_Rule) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{3, 0} +} + +// Policy expresses a policy which the orderer can evaluate, because there has been some desire expressed to support +// multiple policy engines, this is typed as a oneof for now +type Policy struct { + Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Policy) Reset() { *m = Policy{} } +func (m *Policy) String() string { return proto.CompactTextString(m) } +func (*Policy) ProtoMessage() {} +func (*Policy) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{0} +} + +func (m *Policy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Policy.Unmarshal(m, b) +} +func (m *Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Policy.Marshal(b, m, deterministic) +} +func (m *Policy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Policy.Merge(m, src) +} +func (m *Policy) XXX_Size() int { + return xxx_messageInfo_Policy.Size(m) +} +func (m *Policy) XXX_DiscardUnknown() { + xxx_messageInfo_Policy.DiscardUnknown(m) +} + +var xxx_messageInfo_Policy proto.InternalMessageInfo + +func (m *Policy) GetType() int32 { + if m != nil { + return m.Type + } + return 0 +} + +func (m *Policy) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +// SignaturePolicyEnvelope wraps a SignaturePolicy and includes a version for future enhancements +type SignaturePolicyEnvelope struct { + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Rule *SignaturePolicy `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` + Identities []*msp.MSPPrincipal `protobuf:"bytes,3,rep,name=identities,proto3" json:"identities,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignaturePolicyEnvelope) Reset() { *m = SignaturePolicyEnvelope{} } +func (m *SignaturePolicyEnvelope) String() string { return proto.CompactTextString(m) } +func (*SignaturePolicyEnvelope) ProtoMessage() {} +func (*SignaturePolicyEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{1} +} + +func (m *SignaturePolicyEnvelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignaturePolicyEnvelope.Unmarshal(m, b) +} +func (m *SignaturePolicyEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignaturePolicyEnvelope.Marshal(b, m, deterministic) +} +func (m *SignaturePolicyEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignaturePolicyEnvelope.Merge(m, src) +} +func (m *SignaturePolicyEnvelope) XXX_Size() int { + return xxx_messageInfo_SignaturePolicyEnvelope.Size(m) +} +func (m *SignaturePolicyEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_SignaturePolicyEnvelope.DiscardUnknown(m) +} + +var xxx_messageInfo_SignaturePolicyEnvelope proto.InternalMessageInfo + +func (m *SignaturePolicyEnvelope) GetVersion() int32 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *SignaturePolicyEnvelope) GetRule() *SignaturePolicy { + if m != nil { + return m.Rule + } + return nil +} + +func (m *SignaturePolicyEnvelope) GetIdentities() []*msp.MSPPrincipal { + if m != nil { + return m.Identities + } + return nil +} + +// SignaturePolicy is a recursive message structure which defines a featherweight DSL for describing +// policies which are more complicated than 'exactly this signature'. The NOutOf operator is sufficent +// to express AND as well as OR, as well as of course N out of the following M policies +// SignedBy implies that the signature is from a valid certificate which is signed by the trusted +// authority specified in the bytes. This will be the certificate itself for a self-signed certificate +// and will be the CA for more traditional certificates +type SignaturePolicy struct { + // Types that are valid to be assigned to Type: + // *SignaturePolicy_SignedBy + // *SignaturePolicy_NOutOf_ + Type isSignaturePolicy_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignaturePolicy) Reset() { *m = SignaturePolicy{} } +func (m *SignaturePolicy) String() string { return proto.CompactTextString(m) } +func (*SignaturePolicy) ProtoMessage() {} +func (*SignaturePolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{2} +} + +func (m *SignaturePolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignaturePolicy.Unmarshal(m, b) +} +func (m *SignaturePolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignaturePolicy.Marshal(b, m, deterministic) +} +func (m *SignaturePolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignaturePolicy.Merge(m, src) +} +func (m *SignaturePolicy) XXX_Size() int { + return xxx_messageInfo_SignaturePolicy.Size(m) +} +func (m *SignaturePolicy) XXX_DiscardUnknown() { + xxx_messageInfo_SignaturePolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_SignaturePolicy proto.InternalMessageInfo + +type isSignaturePolicy_Type interface { + isSignaturePolicy_Type() +} + +type SignaturePolicy_SignedBy struct { + SignedBy int32 `protobuf:"varint,1,opt,name=signed_by,json=signedBy,proto3,oneof"` +} + +type SignaturePolicy_NOutOf_ struct { + NOutOf *SignaturePolicy_NOutOf `protobuf:"bytes,2,opt,name=n_out_of,json=nOutOf,proto3,oneof"` +} + +func (*SignaturePolicy_SignedBy) isSignaturePolicy_Type() {} + +func (*SignaturePolicy_NOutOf_) isSignaturePolicy_Type() {} + +func (m *SignaturePolicy) GetType() isSignaturePolicy_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *SignaturePolicy) GetSignedBy() int32 { + if x, ok := m.GetType().(*SignaturePolicy_SignedBy); ok { + return x.SignedBy + } + return 0 +} + +func (m *SignaturePolicy) GetNOutOf() *SignaturePolicy_NOutOf { + if x, ok := m.GetType().(*SignaturePolicy_NOutOf_); ok { + return x.NOutOf + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*SignaturePolicy) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*SignaturePolicy_SignedBy)(nil), + (*SignaturePolicy_NOutOf_)(nil), + } +} + +type SignaturePolicy_NOutOf struct { + N int32 `protobuf:"varint,1,opt,name=n,proto3" json:"n,omitempty"` + Rules []*SignaturePolicy `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignaturePolicy_NOutOf) Reset() { *m = SignaturePolicy_NOutOf{} } +func (m *SignaturePolicy_NOutOf) String() string { return proto.CompactTextString(m) } +func (*SignaturePolicy_NOutOf) ProtoMessage() {} +func (*SignaturePolicy_NOutOf) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{2, 0} +} + +func (m *SignaturePolicy_NOutOf) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignaturePolicy_NOutOf.Unmarshal(m, b) +} +func (m *SignaturePolicy_NOutOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignaturePolicy_NOutOf.Marshal(b, m, deterministic) +} +func (m *SignaturePolicy_NOutOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignaturePolicy_NOutOf.Merge(m, src) +} +func (m *SignaturePolicy_NOutOf) XXX_Size() int { + return xxx_messageInfo_SignaturePolicy_NOutOf.Size(m) +} +func (m *SignaturePolicy_NOutOf) XXX_DiscardUnknown() { + xxx_messageInfo_SignaturePolicy_NOutOf.DiscardUnknown(m) +} + +var xxx_messageInfo_SignaturePolicy_NOutOf proto.InternalMessageInfo + +func (m *SignaturePolicy_NOutOf) GetN() int32 { + if m != nil { + return m.N + } + return 0 +} + +func (m *SignaturePolicy_NOutOf) GetRules() []*SignaturePolicy { + if m != nil { + return m.Rules + } + return nil +} + +// ImplicitMetaPolicy is a policy type which depends on the hierarchical nature of the configuration +// It is implicit because the rule is generate implicitly based on the number of sub policies +// It is meta because it depends only on the result of other policies +// When evaluated, this policy iterates over all immediate child sub-groups, retrieves the policy +// of name sub_policy, evaluates the collection and applies the rule. +// For example, with 4 sub-groups, and a policy name of "foo", ImplicitMetaPolicy retrieves +// each sub-group, retrieves policy "foo" for each subgroup, evaluates it, and, in the case of ANY +// 1 satisfied is sufficient, ALL would require 4 signatures, and MAJORITY would require 3 signatures. +type ImplicitMetaPolicy struct { + SubPolicy string `protobuf:"bytes,1,opt,name=sub_policy,json=subPolicy,proto3" json:"sub_policy,omitempty"` + Rule ImplicitMetaPolicy_Rule `protobuf:"varint,2,opt,name=rule,proto3,enum=common.ImplicitMetaPolicy_Rule" json:"rule,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImplicitMetaPolicy) Reset() { *m = ImplicitMetaPolicy{} } +func (m *ImplicitMetaPolicy) String() string { return proto.CompactTextString(m) } +func (*ImplicitMetaPolicy) ProtoMessage() {} +func (*ImplicitMetaPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{3} +} + +func (m *ImplicitMetaPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImplicitMetaPolicy.Unmarshal(m, b) +} +func (m *ImplicitMetaPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImplicitMetaPolicy.Marshal(b, m, deterministic) +} +func (m *ImplicitMetaPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImplicitMetaPolicy.Merge(m, src) +} +func (m *ImplicitMetaPolicy) XXX_Size() int { + return xxx_messageInfo_ImplicitMetaPolicy.Size(m) +} +func (m *ImplicitMetaPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ImplicitMetaPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ImplicitMetaPolicy proto.InternalMessageInfo + +func (m *ImplicitMetaPolicy) GetSubPolicy() string { + if m != nil { + return m.SubPolicy + } + return "" +} + +func (m *ImplicitMetaPolicy) GetRule() ImplicitMetaPolicy_Rule { + if m != nil { + return m.Rule + } + return ImplicitMetaPolicy_ANY +} + +// ApplicationPolicy captures the diffenrent policy types that +// are set and evaluted at the application level. +// +// Deprecated: Do not use. +type ApplicationPolicy struct { + // Types that are valid to be assigned to Type: + // *ApplicationPolicy_SignaturePolicy + // *ApplicationPolicy_ChannelConfigPolicyReference + Type isApplicationPolicy_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApplicationPolicy) Reset() { *m = ApplicationPolicy{} } +func (m *ApplicationPolicy) String() string { return proto.CompactTextString(m) } +func (*ApplicationPolicy) ProtoMessage() {} +func (*ApplicationPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{4} +} + +func (m *ApplicationPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationPolicy.Unmarshal(m, b) +} +func (m *ApplicationPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationPolicy.Marshal(b, m, deterministic) +} +func (m *ApplicationPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationPolicy.Merge(m, src) +} +func (m *ApplicationPolicy) XXX_Size() int { + return xxx_messageInfo_ApplicationPolicy.Size(m) +} +func (m *ApplicationPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationPolicy proto.InternalMessageInfo + +type isApplicationPolicy_Type interface { + isApplicationPolicy_Type() +} + +type ApplicationPolicy_SignaturePolicy struct { + SignaturePolicy *SignaturePolicyEnvelope `protobuf:"bytes,1,opt,name=signature_policy,json=signaturePolicy,proto3,oneof"` +} + +type ApplicationPolicy_ChannelConfigPolicyReference struct { + ChannelConfigPolicyReference string `protobuf:"bytes,2,opt,name=channel_config_policy_reference,json=channelConfigPolicyReference,proto3,oneof"` +} + +func (*ApplicationPolicy_SignaturePolicy) isApplicationPolicy_Type() {} + +func (*ApplicationPolicy_ChannelConfigPolicyReference) isApplicationPolicy_Type() {} + +func (m *ApplicationPolicy) GetType() isApplicationPolicy_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *ApplicationPolicy) GetSignaturePolicy() *SignaturePolicyEnvelope { + if x, ok := m.GetType().(*ApplicationPolicy_SignaturePolicy); ok { + return x.SignaturePolicy + } + return nil +} + +func (m *ApplicationPolicy) GetChannelConfigPolicyReference() string { + if x, ok := m.GetType().(*ApplicationPolicy_ChannelConfigPolicyReference); ok { + return x.ChannelConfigPolicyReference + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*ApplicationPolicy) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*ApplicationPolicy_SignaturePolicy)(nil), + (*ApplicationPolicy_ChannelConfigPolicyReference)(nil), + } +} + +func init() { + proto.RegisterEnum("common.Policy_PolicyType", Policy_PolicyType_name, Policy_PolicyType_value) + proto.RegisterEnum("common.ImplicitMetaPolicy_Rule", ImplicitMetaPolicy_Rule_name, ImplicitMetaPolicy_Rule_value) + proto.RegisterType((*Policy)(nil), "common.Policy") + proto.RegisterType((*SignaturePolicyEnvelope)(nil), "common.SignaturePolicyEnvelope") + proto.RegisterType((*SignaturePolicy)(nil), "common.SignaturePolicy") + proto.RegisterType((*SignaturePolicy_NOutOf)(nil), "common.SignaturePolicy.NOutOf") + proto.RegisterType((*ImplicitMetaPolicy)(nil), "common.ImplicitMetaPolicy") + proto.RegisterType((*ApplicationPolicy)(nil), "common.ApplicationPolicy") +} + +func init() { proto.RegisterFile("common/policies.proto", fileDescriptor_0d02cf0d453425a3) } + +var fileDescriptor_0d02cf0d453425a3 = []byte{ + // 559 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xd1, 0x4e, 0xdb, 0x30, + 0x14, 0x86, 0xe3, 0xb6, 0x04, 0x7a, 0x0a, 0x23, 0x58, 0x4c, 0x44, 0x68, 0x1b, 0x28, 0x9a, 0x26, + 0xa4, 0x89, 0x54, 0x82, 0x5d, 0x71, 0x57, 0x58, 0x45, 0xb3, 0x35, 0x69, 0xe5, 0x96, 0x4d, 0xec, + 0x26, 0x4a, 0x82, 0x1b, 0x2c, 0xa5, 0x76, 0x14, 0x27, 0x68, 0x7d, 0x8b, 0x5d, 0xed, 0x51, 0x76, + 0xb3, 0x97, 0x9b, 0x12, 0x27, 0x5b, 0xc5, 0xd4, 0x3b, 0x9f, 0x93, 0xcf, 0xbf, 0xff, 0xff, 0xd8, + 0x81, 0x97, 0x91, 0x58, 0x2e, 0x05, 0xef, 0xa7, 0x22, 0x61, 0x11, 0xa3, 0xd2, 0x4e, 0x33, 0x91, + 0x0b, 0xac, 0xab, 0xf6, 0xf1, 0xd1, 0x52, 0xa6, 0xfd, 0xa5, 0x4c, 0xfd, 0x34, 0x63, 0x3c, 0x62, + 0x69, 0x90, 0x28, 0xc0, 0xfa, 0x0e, 0xfa, 0xb4, 0xdc, 0xb2, 0xc2, 0x18, 0x3a, 0xf9, 0x2a, 0xa5, + 0x26, 0x3a, 0x45, 0x67, 0x5b, 0xa4, 0x5a, 0xe3, 0x43, 0xd8, 0x7a, 0x0a, 0x92, 0x82, 0x9a, 0xad, + 0x53, 0x74, 0xb6, 0x4b, 0x54, 0x61, 0x7d, 0x04, 0x50, 0x7b, 0xe6, 0x25, 0xd3, 0x83, 0xed, 0x3b, + 0xef, 0xb3, 0x37, 0xf9, 0xea, 0x19, 0x1a, 0xde, 0x83, 0xee, 0xcc, 0xb9, 0xf5, 0x06, 0xf3, 0x3b, + 0x32, 0x34, 0x10, 0xde, 0x86, 0xb6, 0x3b, 0x9b, 0x1a, 0x2d, 0x7c, 0x00, 0x7b, 0x8e, 0x3b, 0x1d, + 0x3b, 0x37, 0xce, 0xdc, 0x77, 0x87, 0xf3, 0x81, 0xd1, 0xb6, 0x7e, 0x22, 0x38, 0x9a, 0xb1, 0x98, + 0x07, 0x79, 0x91, 0x51, 0xa5, 0x37, 0xe4, 0x4f, 0x34, 0x11, 0x29, 0xc5, 0x26, 0x6c, 0x3f, 0xd1, + 0x4c, 0x32, 0xc1, 0x6b, 0x3b, 0x4d, 0x89, 0xdf, 0x43, 0x27, 0x2b, 0x12, 0x65, 0xa8, 0x77, 0x71, + 0x64, 0xab, 0x7c, 0xf6, 0x33, 0x21, 0x52, 0x41, 0xf8, 0x03, 0x00, 0x7b, 0xa0, 0x3c, 0x67, 0x39, + 0xa3, 0xd2, 0x6c, 0x9f, 0xb6, 0xcf, 0x7a, 0x17, 0x87, 0xcd, 0x16, 0x77, 0x36, 0x9d, 0x36, 0xc3, + 0x20, 0x6b, 0x9c, 0xf5, 0x1b, 0xc1, 0xfe, 0x33, 0x3d, 0xfc, 0x1a, 0xba, 0x92, 0xc5, 0x9c, 0x3e, + 0xf8, 0xe1, 0x4a, 0x59, 0x1a, 0x69, 0x64, 0x47, 0xb5, 0xae, 0x57, 0xf8, 0x0a, 0x76, 0xb8, 0x2f, + 0x8a, 0xdc, 0x17, 0x8b, 0xda, 0xd9, 0x9b, 0x0d, 0xce, 0x6c, 0x6f, 0x52, 0xe4, 0x93, 0xc5, 0x48, + 0x23, 0x3a, 0xaf, 0x56, 0xc7, 0x43, 0xd0, 0x55, 0x0f, 0xef, 0x02, 0x6a, 0xf2, 0x22, 0x8e, 0xcf, + 0x61, 0xab, 0x0c, 0x21, 0xcd, 0x56, 0xe5, 0x7b, 0x63, 0x54, 0x45, 0x5d, 0xeb, 0xd0, 0x29, 0xaf, + 0xc3, 0xfa, 0x81, 0x00, 0x3b, 0xcb, 0xb4, 0x7c, 0x05, 0xb9, 0x4b, 0xf3, 0xe0, 0x6f, 0x00, 0x90, + 0x45, 0xe8, 0x57, 0xcf, 0x43, 0x25, 0xe8, 0x92, 0xae, 0x2c, 0xc2, 0xfa, 0xf3, 0xe5, 0xda, 0x58, + 0x5f, 0x5c, 0x9c, 0x34, 0x67, 0xfd, 0x2f, 0x64, 0x93, 0x22, 0xa1, 0x6a, 0xbc, 0xd6, 0x3b, 0xe8, + 0x94, 0x55, 0x79, 0xcb, 0x03, 0xef, 0xde, 0xd0, 0xaa, 0xc5, 0x78, 0x6c, 0x20, 0xbc, 0x0b, 0x3b, + 0xee, 0xe0, 0xd3, 0x84, 0x38, 0xf3, 0x7b, 0xa3, 0x65, 0xfd, 0x42, 0x70, 0x30, 0x48, 0x4b, 0xa5, + 0x20, 0x67, 0x82, 0xd7, 0x47, 0x8e, 0xc1, 0x90, 0x4d, 0x94, 0x75, 0x5f, 0xbd, 0x7f, 0xc7, 0x6f, + 0x78, 0x1e, 0x23, 0x8d, 0xec, 0xcb, 0x67, 0x17, 0x74, 0x0b, 0x27, 0xd1, 0x63, 0xc0, 0x39, 0x4d, + 0xfc, 0x48, 0xf0, 0x05, 0x8b, 0x6b, 0x49, 0x3f, 0xa3, 0x0b, 0x9a, 0x51, 0x1e, 0xa9, 0x6c, 0xdd, + 0x91, 0x46, 0x5e, 0xd5, 0xe0, 0x4d, 0xc5, 0xd5, 0x53, 0x6c, 0xa8, 0xab, 0x96, 0x89, 0x9a, 0x59, + 0x5e, 0x7f, 0x81, 0xb7, 0x22, 0x8b, 0xed, 0xc7, 0x55, 0x4a, 0xb3, 0x84, 0x3e, 0xc4, 0x34, 0xb3, + 0x17, 0x41, 0x98, 0xb1, 0x48, 0xfd, 0x3c, 0xb2, 0xf6, 0xf9, 0xcd, 0x8e, 0x59, 0xfe, 0x58, 0x84, + 0x65, 0xd9, 0x5f, 0x83, 0xfb, 0x0a, 0x3e, 0x57, 0xf0, 0x79, 0x2c, 0xfa, 0x8a, 0x0f, 0xf5, 0xaa, + 0x73, 0xf9, 0x27, 0x00, 0x00, 0xff, 0xff, 0x77, 0x84, 0xc8, 0xc7, 0xb5, 0x03, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/queryresult/kv_query_result.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/queryresult/kv_query_result.pb.go new file mode 100644 index 0000000..12540bb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/queryresult/kv_query_result.pb.go @@ -0,0 +1,175 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: ledger/queryresult/kv_query_result.proto + +package queryresult + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// KV -- QueryResult for range/execute query. Holds a key and corresponding value. +type KV struct { + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KV) Reset() { *m = KV{} } +func (m *KV) String() string { return proto.CompactTextString(m) } +func (*KV) ProtoMessage() {} +func (*KV) Descriptor() ([]byte, []int) { + return fileDescriptor_f8ee2fe66594a8f2, []int{0} +} + +func (m *KV) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KV.Unmarshal(m, b) +} +func (m *KV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KV.Marshal(b, m, deterministic) +} +func (m *KV) XXX_Merge(src proto.Message) { + xxx_messageInfo_KV.Merge(m, src) +} +func (m *KV) XXX_Size() int { + return xxx_messageInfo_KV.Size(m) +} +func (m *KV) XXX_DiscardUnknown() { + xxx_messageInfo_KV.DiscardUnknown(m) +} + +var xxx_messageInfo_KV proto.InternalMessageInfo + +func (m *KV) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *KV) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *KV) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +// KeyModification -- QueryResult for history query. Holds a transaction ID, value, +// timestamp, and delete marker which resulted from a history query. +type KeyModification struct { + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + IsDelete bool `protobuf:"varint,4,opt,name=is_delete,json=isDelete,proto3" json:"is_delete,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyModification) Reset() { *m = KeyModification{} } +func (m *KeyModification) String() string { return proto.CompactTextString(m) } +func (*KeyModification) ProtoMessage() {} +func (*KeyModification) Descriptor() ([]byte, []int) { + return fileDescriptor_f8ee2fe66594a8f2, []int{1} +} + +func (m *KeyModification) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyModification.Unmarshal(m, b) +} +func (m *KeyModification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyModification.Marshal(b, m, deterministic) +} +func (m *KeyModification) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyModification.Merge(m, src) +} +func (m *KeyModification) XXX_Size() int { + return xxx_messageInfo_KeyModification.Size(m) +} +func (m *KeyModification) XXX_DiscardUnknown() { + xxx_messageInfo_KeyModification.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyModification proto.InternalMessageInfo + +func (m *KeyModification) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *KeyModification) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *KeyModification) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *KeyModification) GetIsDelete() bool { + if m != nil { + return m.IsDelete + } + return false +} + +func init() { + proto.RegisterType((*KV)(nil), "queryresult.KV") + proto.RegisterType((*KeyModification)(nil), "queryresult.KeyModification") +} + +func init() { + proto.RegisterFile("ledger/queryresult/kv_query_result.proto", fileDescriptor_f8ee2fe66594a8f2) +} + +var fileDescriptor_f8ee2fe66594a8f2 = []byte{ + // 290 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x4f, 0x4b, 0xc3, 0x30, + 0x18, 0xc6, 0xe9, 0xfe, 0xc8, 0x9a, 0x09, 0x4a, 0xf4, 0x50, 0xa6, 0x60, 0xd9, 0xa9, 0x97, 0x25, + 0xa2, 0x17, 0xf1, 0x28, 0x5e, 0x74, 0x78, 0x29, 0xe2, 0xc1, 0x4b, 0x49, 0xdb, 0xb7, 0x59, 0x58, + 0xdb, 0xd4, 0x24, 0x1d, 0xeb, 0xe7, 0xf0, 0x0b, 0x8b, 0xc9, 0x66, 0x0b, 0xde, 0xf2, 0xbc, 0xef, + 0xf3, 0x7b, 0x78, 0x78, 0x83, 0xa2, 0x12, 0x72, 0x0e, 0x8a, 0x7e, 0xb5, 0xa0, 0x3a, 0x05, 0xba, + 0x2d, 0x0d, 0xdd, 0xee, 0x12, 0x2b, 0x13, 0xa7, 0x49, 0xa3, 0xa4, 0x91, 0x78, 0x3e, 0xb0, 0x2c, + 0x6e, 0xb8, 0x94, 0xbc, 0x04, 0x6a, 0x57, 0x69, 0x5b, 0x50, 0x23, 0x2a, 0xd0, 0x86, 0x55, 0x8d, + 0x73, 0x2f, 0x5f, 0xd1, 0x68, 0xfd, 0x81, 0xaf, 0x91, 0x5f, 0xb3, 0x0a, 0x74, 0xc3, 0x32, 0x08, + 0xbc, 0xd0, 0x8b, 0xfc, 0xb8, 0x1f, 0xe0, 0x73, 0x34, 0xde, 0x42, 0x17, 0x8c, 0xec, 0xfc, 0xf7, + 0x89, 0x2f, 0xd1, 0x74, 0xc7, 0xca, 0x16, 0x82, 0x71, 0xe8, 0x45, 0xa7, 0xb1, 0x13, 0xcb, 0x6f, + 0x0f, 0x9d, 0xad, 0xa1, 0x7b, 0x93, 0xb9, 0x28, 0x44, 0xc6, 0x8c, 0x90, 0x35, 0xbe, 0x40, 0x53, + 0xb3, 0x4f, 0x44, 0x7e, 0x48, 0x9d, 0x98, 0xfd, 0x4b, 0xde, 0xe3, 0xa3, 0x01, 0x8e, 0x1f, 0x90, + 0xff, 0xd7, 0xce, 0x06, 0xcf, 0xef, 0x16, 0xc4, 0xf5, 0x27, 0xc7, 0xfe, 0xe4, 0xfd, 0xe8, 0x88, + 0x7b, 0x33, 0xbe, 0x42, 0xbe, 0xd0, 0x49, 0x0e, 0x25, 0x18, 0x08, 0x26, 0xa1, 0x17, 0xcd, 0xe2, + 0x99, 0xd0, 0xcf, 0x56, 0x3f, 0xd5, 0xe8, 0x56, 0x2a, 0x4e, 0x36, 0x5d, 0x03, 0xca, 0x1d, 0x91, + 0x14, 0x2c, 0x55, 0x22, 0x73, 0xa1, 0x9a, 0x1c, 0x86, 0x83, 0xb3, 0x7d, 0x3e, 0x72, 0x61, 0x36, + 0x6d, 0x4a, 0x32, 0x59, 0xd1, 0x01, 0x48, 0x1d, 0xb8, 0x72, 0xe0, 0x8a, 0x4b, 0xfa, 0xff, 0x57, + 0xd2, 0x13, 0xbb, 0xbd, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x07, 0x6d, 0xd7, 0x47, 0xb2, 0x01, + 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/rwset/rwset.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/rwset/rwset.pb.go new file mode 100644 index 0000000..5bacfdc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/ledger/rwset/rwset.pb.go @@ -0,0 +1,392 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: ledger/rwset/rwset.proto + +package rwset + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type TxReadWriteSet_DataModel int32 + +const ( + TxReadWriteSet_KV TxReadWriteSet_DataModel = 0 +) + +var TxReadWriteSet_DataModel_name = map[int32]string{ + 0: "KV", +} + +var TxReadWriteSet_DataModel_value = map[string]int32{ + "KV": 0, +} + +func (x TxReadWriteSet_DataModel) String() string { + return proto.EnumName(TxReadWriteSet_DataModel_name, int32(x)) +} + +func (TxReadWriteSet_DataModel) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{0, 0} +} + +// TxReadWriteSet encapsulates a read-write set for a transaction +// DataModel specifies the enum value of the data model +// ns_rwset field specifies a list of chaincode specific read-write set (one for each chaincode) +type TxReadWriteSet struct { + DataModel TxReadWriteSet_DataModel `protobuf:"varint,1,opt,name=data_model,json=dataModel,proto3,enum=rwset.TxReadWriteSet_DataModel" json:"data_model,omitempty"` + NsRwset []*NsReadWriteSet `protobuf:"bytes,2,rep,name=ns_rwset,json=nsRwset,proto3" json:"ns_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TxReadWriteSet) Reset() { *m = TxReadWriteSet{} } +func (m *TxReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*TxReadWriteSet) ProtoMessage() {} +func (*TxReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{0} +} + +func (m *TxReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TxReadWriteSet.Unmarshal(m, b) +} +func (m *TxReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TxReadWriteSet.Marshal(b, m, deterministic) +} +func (m *TxReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_TxReadWriteSet.Merge(m, src) +} +func (m *TxReadWriteSet) XXX_Size() int { + return xxx_messageInfo_TxReadWriteSet.Size(m) +} +func (m *TxReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_TxReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_TxReadWriteSet proto.InternalMessageInfo + +func (m *TxReadWriteSet) GetDataModel() TxReadWriteSet_DataModel { + if m != nil { + return m.DataModel + } + return TxReadWriteSet_KV +} + +func (m *TxReadWriteSet) GetNsRwset() []*NsReadWriteSet { + if m != nil { + return m.NsRwset + } + return nil +} + +// NsReadWriteSet encapsulates the read-write set for a chaincode +type NsReadWriteSet struct { + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Rwset []byte `protobuf:"bytes,2,opt,name=rwset,proto3" json:"rwset,omitempty"` + CollectionHashedRwset []*CollectionHashedReadWriteSet `protobuf:"bytes,3,rep,name=collection_hashed_rwset,json=collectionHashedRwset,proto3" json:"collection_hashed_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NsReadWriteSet) Reset() { *m = NsReadWriteSet{} } +func (m *NsReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*NsReadWriteSet) ProtoMessage() {} +func (*NsReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{1} +} + +func (m *NsReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NsReadWriteSet.Unmarshal(m, b) +} +func (m *NsReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NsReadWriteSet.Marshal(b, m, deterministic) +} +func (m *NsReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_NsReadWriteSet.Merge(m, src) +} +func (m *NsReadWriteSet) XXX_Size() int { + return xxx_messageInfo_NsReadWriteSet.Size(m) +} +func (m *NsReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_NsReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_NsReadWriteSet proto.InternalMessageInfo + +func (m *NsReadWriteSet) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *NsReadWriteSet) GetRwset() []byte { + if m != nil { + return m.Rwset + } + return nil +} + +func (m *NsReadWriteSet) GetCollectionHashedRwset() []*CollectionHashedReadWriteSet { + if m != nil { + return m.CollectionHashedRwset + } + return nil +} + +// CollectionHashedReadWriteSet encapsulate the hashed representation for the private read-write set for a collection +type CollectionHashedReadWriteSet struct { + CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + HashedRwset []byte `protobuf:"bytes,2,opt,name=hashed_rwset,json=hashedRwset,proto3" json:"hashed_rwset,omitempty"` + PvtRwsetHash []byte `protobuf:"bytes,3,opt,name=pvt_rwset_hash,json=pvtRwsetHash,proto3" json:"pvt_rwset_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionHashedReadWriteSet) Reset() { *m = CollectionHashedReadWriteSet{} } +func (m *CollectionHashedReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*CollectionHashedReadWriteSet) ProtoMessage() {} +func (*CollectionHashedReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{2} +} + +func (m *CollectionHashedReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionHashedReadWriteSet.Unmarshal(m, b) +} +func (m *CollectionHashedReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionHashedReadWriteSet.Marshal(b, m, deterministic) +} +func (m *CollectionHashedReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionHashedReadWriteSet.Merge(m, src) +} +func (m *CollectionHashedReadWriteSet) XXX_Size() int { + return xxx_messageInfo_CollectionHashedReadWriteSet.Size(m) +} +func (m *CollectionHashedReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionHashedReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionHashedReadWriteSet proto.InternalMessageInfo + +func (m *CollectionHashedReadWriteSet) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *CollectionHashedReadWriteSet) GetHashedRwset() []byte { + if m != nil { + return m.HashedRwset + } + return nil +} + +func (m *CollectionHashedReadWriteSet) GetPvtRwsetHash() []byte { + if m != nil { + return m.PvtRwsetHash + } + return nil +} + +// TxPvtReadWriteSet encapsulate the private read-write set for a transaction +type TxPvtReadWriteSet struct { + DataModel TxReadWriteSet_DataModel `protobuf:"varint,1,opt,name=data_model,json=dataModel,proto3,enum=rwset.TxReadWriteSet_DataModel" json:"data_model,omitempty"` + NsPvtRwset []*NsPvtReadWriteSet `protobuf:"bytes,2,rep,name=ns_pvt_rwset,json=nsPvtRwset,proto3" json:"ns_pvt_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TxPvtReadWriteSet) Reset() { *m = TxPvtReadWriteSet{} } +func (m *TxPvtReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*TxPvtReadWriteSet) ProtoMessage() {} +func (*TxPvtReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{3} +} + +func (m *TxPvtReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TxPvtReadWriteSet.Unmarshal(m, b) +} +func (m *TxPvtReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TxPvtReadWriteSet.Marshal(b, m, deterministic) +} +func (m *TxPvtReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_TxPvtReadWriteSet.Merge(m, src) +} +func (m *TxPvtReadWriteSet) XXX_Size() int { + return xxx_messageInfo_TxPvtReadWriteSet.Size(m) +} +func (m *TxPvtReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_TxPvtReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_TxPvtReadWriteSet proto.InternalMessageInfo + +func (m *TxPvtReadWriteSet) GetDataModel() TxReadWriteSet_DataModel { + if m != nil { + return m.DataModel + } + return TxReadWriteSet_KV +} + +func (m *TxPvtReadWriteSet) GetNsPvtRwset() []*NsPvtReadWriteSet { + if m != nil { + return m.NsPvtRwset + } + return nil +} + +// NsPvtReadWriteSet encapsulates the private read-write set for a chaincode +type NsPvtReadWriteSet struct { + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + CollectionPvtRwset []*CollectionPvtReadWriteSet `protobuf:"bytes,2,rep,name=collection_pvt_rwset,json=collectionPvtRwset,proto3" json:"collection_pvt_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NsPvtReadWriteSet) Reset() { *m = NsPvtReadWriteSet{} } +func (m *NsPvtReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*NsPvtReadWriteSet) ProtoMessage() {} +func (*NsPvtReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{4} +} + +func (m *NsPvtReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NsPvtReadWriteSet.Unmarshal(m, b) +} +func (m *NsPvtReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NsPvtReadWriteSet.Marshal(b, m, deterministic) +} +func (m *NsPvtReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_NsPvtReadWriteSet.Merge(m, src) +} +func (m *NsPvtReadWriteSet) XXX_Size() int { + return xxx_messageInfo_NsPvtReadWriteSet.Size(m) +} +func (m *NsPvtReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_NsPvtReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_NsPvtReadWriteSet proto.InternalMessageInfo + +func (m *NsPvtReadWriteSet) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *NsPvtReadWriteSet) GetCollectionPvtRwset() []*CollectionPvtReadWriteSet { + if m != nil { + return m.CollectionPvtRwset + } + return nil +} + +// CollectionPvtReadWriteSet encapsulates the private read-write set for a collection +type CollectionPvtReadWriteSet struct { + CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + Rwset []byte `protobuf:"bytes,2,opt,name=rwset,proto3" json:"rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionPvtReadWriteSet) Reset() { *m = CollectionPvtReadWriteSet{} } +func (m *CollectionPvtReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*CollectionPvtReadWriteSet) ProtoMessage() {} +func (*CollectionPvtReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{5} +} + +func (m *CollectionPvtReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionPvtReadWriteSet.Unmarshal(m, b) +} +func (m *CollectionPvtReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionPvtReadWriteSet.Marshal(b, m, deterministic) +} +func (m *CollectionPvtReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionPvtReadWriteSet.Merge(m, src) +} +func (m *CollectionPvtReadWriteSet) XXX_Size() int { + return xxx_messageInfo_CollectionPvtReadWriteSet.Size(m) +} +func (m *CollectionPvtReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionPvtReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionPvtReadWriteSet proto.InternalMessageInfo + +func (m *CollectionPvtReadWriteSet) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *CollectionPvtReadWriteSet) GetRwset() []byte { + if m != nil { + return m.Rwset + } + return nil +} + +func init() { + proto.RegisterEnum("rwset.TxReadWriteSet_DataModel", TxReadWriteSet_DataModel_name, TxReadWriteSet_DataModel_value) + proto.RegisterType((*TxReadWriteSet)(nil), "rwset.TxReadWriteSet") + proto.RegisterType((*NsReadWriteSet)(nil), "rwset.NsReadWriteSet") + proto.RegisterType((*CollectionHashedReadWriteSet)(nil), "rwset.CollectionHashedReadWriteSet") + proto.RegisterType((*TxPvtReadWriteSet)(nil), "rwset.TxPvtReadWriteSet") + proto.RegisterType((*NsPvtReadWriteSet)(nil), "rwset.NsPvtReadWriteSet") + proto.RegisterType((*CollectionPvtReadWriteSet)(nil), "rwset.CollectionPvtReadWriteSet") +} + +func init() { proto.RegisterFile("ledger/rwset/rwset.proto", fileDescriptor_794d00b812408f20) } + +var fileDescriptor_794d00b812408f20 = []byte{ + // 421 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0xcf, 0xef, 0x93, 0x30, + 0x18, 0xc6, 0xed, 0x77, 0xd9, 0x94, 0x77, 0x04, 0x5d, 0xdd, 0x22, 0x26, 0x4b, 0x9c, 0xd3, 0xc4, + 0xc5, 0x64, 0x60, 0xa6, 0x27, 0x0f, 0x1e, 0xd4, 0x83, 0x89, 0x71, 0x31, 0x75, 0xd1, 0x64, 0x1e, + 0x48, 0x81, 0x0a, 0x24, 0x40, 0x09, 0xad, 0x73, 0xfe, 0x01, 0x9e, 0xf5, 0xe6, 0xd9, 0xff, 0xd4, + 0xac, 0x65, 0x0c, 0x98, 0xbf, 0x0e, 0x5e, 0x08, 0x7d, 0xfb, 0x3c, 0x3c, 0x9f, 0xf6, 0xe5, 0x05, + 0x3b, 0x65, 0x61, 0xc4, 0x4a, 0xb7, 0xfc, 0x24, 0x98, 0xd4, 0x4f, 0xa7, 0x28, 0xb9, 0xe4, 0xb8, + 0xaf, 0x16, 0xf3, 0xef, 0x08, 0xac, 0xcd, 0x9e, 0x30, 0x1a, 0xbe, 0x2b, 0x13, 0xc9, 0xde, 0x30, + 0x89, 0x9f, 0x00, 0x84, 0x54, 0x52, 0x2f, 0xe3, 0x21, 0x4b, 0x6d, 0x34, 0x43, 0x0b, 0x6b, 0x75, + 0xcb, 0xd1, 0xde, 0xb6, 0xd4, 0x79, 0x4e, 0x25, 0x7d, 0x75, 0x90, 0x11, 0x23, 0x3c, 0xbe, 0xe2, + 0x07, 0x70, 0x25, 0x17, 0x9e, 0xd2, 0xdb, 0x17, 0xb3, 0xde, 0x62, 0xb8, 0x9a, 0x54, 0xee, 0xb5, + 0x68, 0xba, 0xc9, 0xe5, 0x5c, 0x10, 0x05, 0x71, 0x1d, 0x8c, 0xfa, 0x4b, 0x78, 0x00, 0x17, 0x2f, + 0xdf, 0x5e, 0xbb, 0x34, 0xff, 0x81, 0xc0, 0x6a, 0x1b, 0xf0, 0x14, 0x8c, 0x9c, 0x66, 0x4c, 0x14, + 0x34, 0x60, 0x0a, 0xcc, 0x20, 0xa7, 0x02, 0x1e, 0x43, 0xff, 0x18, 0x8a, 0x16, 0x26, 0xd1, 0x0b, + 0xfc, 0x1e, 0x6e, 0x04, 0x3c, 0x4d, 0x59, 0x20, 0x13, 0x9e, 0x7b, 0x31, 0x15, 0x31, 0x0b, 0x2b, + 0xb8, 0x9e, 0x82, 0xbb, 0x53, 0xc1, 0x3d, 0xab, 0x55, 0x2f, 0x94, 0xa8, 0x85, 0x3a, 0x09, 0xba, + 0xbb, 0x0a, 0xfc, 0x1b, 0x82, 0xe9, 0x9f, 0x7c, 0xf8, 0x1e, 0x5c, 0x6d, 0xa4, 0x1f, 0x58, 0x2b, + 0x6e, 0xeb, 0x54, 0x5e, 0xd3, 0x8c, 0xe1, 0xdb, 0x60, 0xb6, 0xd8, 0xf4, 0x19, 0x86, 0xf1, 0x29, + 0x0c, 0xdf, 0x05, 0xab, 0xd8, 0x49, 0xbd, 0xaf, 0x0e, 0x62, 0xf7, 0x94, 0xc8, 0x2c, 0x76, 0x52, + 0x29, 0x0e, 0xf9, 0xf3, 0xaf, 0x08, 0x46, 0x9b, 0xfd, 0xeb, 0x9d, 0xfc, 0xaf, 0x3d, 0x7d, 0x0c, + 0x66, 0x2e, 0xbc, 0x3a, 0xbe, 0xea, 0xab, 0x5d, 0xf7, 0xb5, 0x93, 0x47, 0x20, 0x57, 0x25, 0x75, + 0x49, 0x5f, 0x10, 0x8c, 0xce, 0x14, 0x7f, 0xe9, 0x25, 0x81, 0x71, 0xe3, 0xde, 0xba, 0xb9, 0xb3, + 0xb3, 0x96, 0x75, 0xf3, 0x71, 0xd0, 0xda, 0x52, 0x1c, 0x5b, 0xb8, 0xf9, 0x5b, 0xc3, 0xbf, 0x37, + 0xea, 0x97, 0x7f, 0xd9, 0x53, 0x1f, 0xee, 0xf3, 0x32, 0x72, 0xe2, 0xcf, 0x05, 0x2b, 0xf5, 0xc8, + 0x39, 0x1f, 0xa8, 0x5f, 0x26, 0x81, 0x9e, 0x36, 0xe1, 0x54, 0x45, 0xa5, 0xde, 0x3e, 0x8a, 0x12, + 0x19, 0x7f, 0xf4, 0x9d, 0x80, 0x67, 0x6e, 0xc3, 0xe2, 0x6a, 0xcb, 0x52, 0x5b, 0x96, 0x11, 0x77, + 0x9b, 0xd3, 0xeb, 0x0f, 0x54, 0xfd, 0xe1, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x47, 0x32, 0x8f, + 0x91, 0xd4, 0x03, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/identities.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/identities.pb.go new file mode 100644 index 0000000..65bcfb2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/identities.pb.go @@ -0,0 +1,184 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: msp/identities.proto + +package msp + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// This struct represents an Identity +// (with its MSP identifier) to be used +// to serialize it and deserialize it +type SerializedIdentity struct { + // The identifier of the associated membership service provider + Mspid string `protobuf:"bytes,1,opt,name=mspid,proto3" json:"mspid,omitempty"` + // the Identity, serialized according to the rules of its MPS + IdBytes []byte `protobuf:"bytes,2,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SerializedIdentity) Reset() { *m = SerializedIdentity{} } +func (m *SerializedIdentity) String() string { return proto.CompactTextString(m) } +func (*SerializedIdentity) ProtoMessage() {} +func (*SerializedIdentity) Descriptor() ([]byte, []int) { + return fileDescriptor_872f7fc14bf2c238, []int{0} +} + +func (m *SerializedIdentity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SerializedIdentity.Unmarshal(m, b) +} +func (m *SerializedIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SerializedIdentity.Marshal(b, m, deterministic) +} +func (m *SerializedIdentity) XXX_Merge(src proto.Message) { + xxx_messageInfo_SerializedIdentity.Merge(m, src) +} +func (m *SerializedIdentity) XXX_Size() int { + return xxx_messageInfo_SerializedIdentity.Size(m) +} +func (m *SerializedIdentity) XXX_DiscardUnknown() { + xxx_messageInfo_SerializedIdentity.DiscardUnknown(m) +} + +var xxx_messageInfo_SerializedIdentity proto.InternalMessageInfo + +func (m *SerializedIdentity) GetMspid() string { + if m != nil { + return m.Mspid + } + return "" +} + +func (m *SerializedIdentity) GetIdBytes() []byte { + if m != nil { + return m.IdBytes + } + return nil +} + +// This struct represents an Idemix Identity +// to be used to serialize it and deserialize it. +// The IdemixMSP will first serialize an idemix identity to bytes using +// this proto, and then uses these bytes as id_bytes in SerializedIdentity +type SerializedIdemixIdentity struct { + // nym_x is the X-component of the pseudonym elliptic curve point. + // It is a []byte representation of an amcl.BIG + // The pseudonym can be seen as a public key of the identity, it is used to verify signatures. + NymX []byte `protobuf:"bytes,1,opt,name=nym_x,json=nymX,proto3" json:"nym_x,omitempty"` + // nym_y is the Y-component of the pseudonym elliptic curve point. + // It is a []byte representation of an amcl.BIG + // The pseudonym can be seen as a public key of the identity, it is used to verify signatures. + NymY []byte `protobuf:"bytes,2,opt,name=nym_y,json=nymY,proto3" json:"nym_y,omitempty"` + // ou contains the organizational unit of the idemix identity + Ou []byte `protobuf:"bytes,3,opt,name=ou,proto3" json:"ou,omitempty"` + // role contains the role of this identity (e.g., ADMIN or MEMBER) + Role []byte `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` + // proof contains the cryptographic evidence that this identity is valid + Proof []byte `protobuf:"bytes,5,opt,name=proof,proto3" json:"proof,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SerializedIdemixIdentity) Reset() { *m = SerializedIdemixIdentity{} } +func (m *SerializedIdemixIdentity) String() string { return proto.CompactTextString(m) } +func (*SerializedIdemixIdentity) ProtoMessage() {} +func (*SerializedIdemixIdentity) Descriptor() ([]byte, []int) { + return fileDescriptor_872f7fc14bf2c238, []int{1} +} + +func (m *SerializedIdemixIdentity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SerializedIdemixIdentity.Unmarshal(m, b) +} +func (m *SerializedIdemixIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SerializedIdemixIdentity.Marshal(b, m, deterministic) +} +func (m *SerializedIdemixIdentity) XXX_Merge(src proto.Message) { + xxx_messageInfo_SerializedIdemixIdentity.Merge(m, src) +} +func (m *SerializedIdemixIdentity) XXX_Size() int { + return xxx_messageInfo_SerializedIdemixIdentity.Size(m) +} +func (m *SerializedIdemixIdentity) XXX_DiscardUnknown() { + xxx_messageInfo_SerializedIdemixIdentity.DiscardUnknown(m) +} + +var xxx_messageInfo_SerializedIdemixIdentity proto.InternalMessageInfo + +func (m *SerializedIdemixIdentity) GetNymX() []byte { + if m != nil { + return m.NymX + } + return nil +} + +func (m *SerializedIdemixIdentity) GetNymY() []byte { + if m != nil { + return m.NymY + } + return nil +} + +func (m *SerializedIdemixIdentity) GetOu() []byte { + if m != nil { + return m.Ou + } + return nil +} + +func (m *SerializedIdemixIdentity) GetRole() []byte { + if m != nil { + return m.Role + } + return nil +} + +func (m *SerializedIdemixIdentity) GetProof() []byte { + if m != nil { + return m.Proof + } + return nil +} + +func init() { + proto.RegisterType((*SerializedIdentity)(nil), "msp.SerializedIdentity") + proto.RegisterType((*SerializedIdemixIdentity)(nil), "msp.SerializedIdemixIdentity") +} + +func init() { proto.RegisterFile("msp/identities.proto", fileDescriptor_872f7fc14bf2c238) } + +var fileDescriptor_872f7fc14bf2c238 = []byte{ + // 243 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0x31, 0x4f, 0xfb, 0x30, + 0x10, 0x47, 0x95, 0x34, 0xf9, 0xff, 0xc1, 0xaa, 0x18, 0x4c, 0x07, 0xb3, 0x95, 0x4e, 0x95, 0x50, + 0x9d, 0x81, 0x6f, 0x50, 0x89, 0x81, 0x0d, 0x85, 0x05, 0x58, 0xaa, 0xa6, 0xbe, 0xa6, 0x27, 0xe5, + 0x72, 0x96, 0xed, 0x48, 0x35, 0x03, 0x9f, 0x1d, 0x25, 0x06, 0x04, 0x9b, 0x7f, 0x4f, 0x4f, 0x4f, + 0x3e, 0xb1, 0x20, 0x6f, 0x2b, 0x34, 0xd0, 0x07, 0x0c, 0x08, 0x5e, 0x5b, 0xc7, 0x81, 0xe5, 0x8c, + 0xbc, 0x5d, 0x3d, 0x08, 0xf9, 0x0c, 0x0e, 0xf7, 0x1d, 0xbe, 0x83, 0x79, 0x4c, 0x4a, 0x94, 0x0b, + 0x51, 0x92, 0xb7, 0x68, 0x54, 0xb6, 0xcc, 0xd6, 0x97, 0x75, 0x1a, 0xf2, 0x46, 0x5c, 0xa0, 0xd9, + 0x35, 0x31, 0x80, 0x57, 0xf9, 0x32, 0x5b, 0xcf, 0xeb, 0xff, 0x68, 0xb6, 0xe3, 0x5c, 0x7d, 0x08, + 0xf5, 0x27, 0x43, 0x78, 0xfe, 0x89, 0x5d, 0x8b, 0xb2, 0x8f, 0xb4, 0x3b, 0x4f, 0xb1, 0x79, 0x5d, + 0xf4, 0x91, 0x5e, 0xbe, 0x61, 0xfc, 0x0a, 0x8d, 0xf0, 0x55, 0x5e, 0x89, 0x9c, 0x07, 0x35, 0x9b, + 0x48, 0xce, 0x83, 0x94, 0xa2, 0x70, 0xdc, 0x81, 0x2a, 0x92, 0x33, 0xbe, 0xc7, 0xaf, 0x59, 0xc7, + 0x7c, 0x54, 0xe5, 0x04, 0xd3, 0xd8, 0x3e, 0x89, 0x5b, 0x76, 0xad, 0x3e, 0x45, 0x0b, 0xae, 0x03, + 0xd3, 0x82, 0xd3, 0xc7, 0x7d, 0xe3, 0xf0, 0x90, 0x6e, 0xf5, 0x9a, 0xbc, 0x7d, 0xbb, 0x6b, 0x31, + 0x9c, 0x86, 0x46, 0x1f, 0x98, 0xaa, 0x5f, 0x66, 0x95, 0xcc, 0x4d, 0x32, 0x37, 0x2d, 0x57, 0xe4, + 0x6d, 0xf3, 0x6f, 0x9a, 0xf7, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2d, 0xf7, 0x41, 0xf7, 0x3c, + 0x01, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_config.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_config.pb.go new file mode 100644 index 0000000..005663c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_config.pb.go @@ -0,0 +1,775 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: msp/msp_config.proto + +package msp + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// MSPConfig collects all the configuration information for +// an MSP. The Config field should be unmarshalled in a way +// that depends on the Type +type MSPConfig struct { + // Type holds the type of the MSP; the default one would + // be of type FABRIC implementing an X.509 based provider + Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + // Config is MSP dependent configuration info + Config []byte `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPConfig) Reset() { *m = MSPConfig{} } +func (m *MSPConfig) String() string { return proto.CompactTextString(m) } +func (*MSPConfig) ProtoMessage() {} +func (*MSPConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{0} +} + +func (m *MSPConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPConfig.Unmarshal(m, b) +} +func (m *MSPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPConfig.Marshal(b, m, deterministic) +} +func (m *MSPConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPConfig.Merge(m, src) +} +func (m *MSPConfig) XXX_Size() int { + return xxx_messageInfo_MSPConfig.Size(m) +} +func (m *MSPConfig) XXX_DiscardUnknown() { + xxx_messageInfo_MSPConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPConfig proto.InternalMessageInfo + +func (m *MSPConfig) GetType() int32 { + if m != nil { + return m.Type + } + return 0 +} + +func (m *MSPConfig) GetConfig() []byte { + if m != nil { + return m.Config + } + return nil +} + +// FabricMSPConfig collects all the configuration information for +// a Fabric MSP. +// Here we assume a default certificate validation policy, where +// any certificate signed by any of the listed rootCA certs would +// be considered as valid under this MSP. +// This MSP may or may not come with a signing identity. If it does, +// it can also issue signing identities. If it does not, it can only +// be used to validate and verify certificates. +type FabricMSPConfig struct { + // Name holds the identifier of the MSP; MSP identifier + // is chosen by the application that governs this MSP. + // For example, and assuming the default implementation of MSP, + // that is X.509-based and considers a single Issuer, + // this can refer to the Subject OU field or the Issuer OU field. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // List of root certificates trusted by this MSP + // they are used upon certificate validation (see + // comment for IntermediateCerts below) + RootCerts [][]byte `protobuf:"bytes,2,rep,name=root_certs,json=rootCerts,proto3" json:"root_certs,omitempty"` + // List of intermediate certificates trusted by this MSP; + // they are used upon certificate validation as follows: + // validation attempts to build a path from the certificate + // to be validated (which is at one end of the path) and + // one of the certs in the RootCerts field (which is at + // the other end of the path). If the path is longer than + // 2, certificates in the middle are searched within the + // IntermediateCerts pool + IntermediateCerts [][]byte `protobuf:"bytes,3,rep,name=intermediate_certs,json=intermediateCerts,proto3" json:"intermediate_certs,omitempty"` + // Identity denoting the administrator of this MSP + Admins [][]byte `protobuf:"bytes,4,rep,name=admins,proto3" json:"admins,omitempty"` + // Identity revocation list + RevocationList [][]byte `protobuf:"bytes,5,rep,name=revocation_list,json=revocationList,proto3" json:"revocation_list,omitempty"` + // SigningIdentity holds information on the signing identity + // this peer is to use, and which is to be imported by the + // MSP defined before + SigningIdentity *SigningIdentityInfo `protobuf:"bytes,6,opt,name=signing_identity,json=signingIdentity,proto3" json:"signing_identity,omitempty"` + // OrganizationalUnitIdentifiers holds one or more + // fabric organizational unit identifiers that belong to + // this MSP configuration + OrganizationalUnitIdentifiers []*FabricOUIdentifier `protobuf:"bytes,7,rep,name=organizational_unit_identifiers,json=organizationalUnitIdentifiers,proto3" json:"organizational_unit_identifiers,omitempty"` + // FabricCryptoConfig contains the configuration parameters + // for the cryptographic algorithms used by this MSP + CryptoConfig *FabricCryptoConfig `protobuf:"bytes,8,opt,name=crypto_config,json=cryptoConfig,proto3" json:"crypto_config,omitempty"` + // List of TLS root certificates trusted by this MSP. + // They are returned by GetTLSRootCerts. + TlsRootCerts [][]byte `protobuf:"bytes,9,rep,name=tls_root_certs,json=tlsRootCerts,proto3" json:"tls_root_certs,omitempty"` + // List of TLS intermediate certificates trusted by this MSP; + // They are returned by GetTLSIntermediateCerts. + TlsIntermediateCerts [][]byte `protobuf:"bytes,10,rep,name=tls_intermediate_certs,json=tlsIntermediateCerts,proto3" json:"tls_intermediate_certs,omitempty"` + // fabric_node_ous contains the configuration to distinguish clients from peers from orderers + // based on the OUs. + FabricNodeOus *FabricNodeOUs `protobuf:"bytes,11,opt,name=fabric_node_ous,json=fabricNodeOus,proto3" json:"fabric_node_ous,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricMSPConfig) Reset() { *m = FabricMSPConfig{} } +func (m *FabricMSPConfig) String() string { return proto.CompactTextString(m) } +func (*FabricMSPConfig) ProtoMessage() {} +func (*FabricMSPConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{1} +} + +func (m *FabricMSPConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricMSPConfig.Unmarshal(m, b) +} +func (m *FabricMSPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricMSPConfig.Marshal(b, m, deterministic) +} +func (m *FabricMSPConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricMSPConfig.Merge(m, src) +} +func (m *FabricMSPConfig) XXX_Size() int { + return xxx_messageInfo_FabricMSPConfig.Size(m) +} +func (m *FabricMSPConfig) XXX_DiscardUnknown() { + xxx_messageInfo_FabricMSPConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricMSPConfig proto.InternalMessageInfo + +func (m *FabricMSPConfig) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *FabricMSPConfig) GetRootCerts() [][]byte { + if m != nil { + return m.RootCerts + } + return nil +} + +func (m *FabricMSPConfig) GetIntermediateCerts() [][]byte { + if m != nil { + return m.IntermediateCerts + } + return nil +} + +func (m *FabricMSPConfig) GetAdmins() [][]byte { + if m != nil { + return m.Admins + } + return nil +} + +func (m *FabricMSPConfig) GetRevocationList() [][]byte { + if m != nil { + return m.RevocationList + } + return nil +} + +func (m *FabricMSPConfig) GetSigningIdentity() *SigningIdentityInfo { + if m != nil { + return m.SigningIdentity + } + return nil +} + +func (m *FabricMSPConfig) GetOrganizationalUnitIdentifiers() []*FabricOUIdentifier { + if m != nil { + return m.OrganizationalUnitIdentifiers + } + return nil +} + +func (m *FabricMSPConfig) GetCryptoConfig() *FabricCryptoConfig { + if m != nil { + return m.CryptoConfig + } + return nil +} + +func (m *FabricMSPConfig) GetTlsRootCerts() [][]byte { + if m != nil { + return m.TlsRootCerts + } + return nil +} + +func (m *FabricMSPConfig) GetTlsIntermediateCerts() [][]byte { + if m != nil { + return m.TlsIntermediateCerts + } + return nil +} + +func (m *FabricMSPConfig) GetFabricNodeOus() *FabricNodeOUs { + if m != nil { + return m.FabricNodeOus + } + return nil +} + +// FabricCryptoConfig contains configuration parameters +// for the cryptographic algorithms used by the MSP +// this configuration refers to +type FabricCryptoConfig struct { + // SignatureHashFamily is a string representing the hash family to be used + // during sign and verify operations. + // Allowed values are "SHA2" and "SHA3". + SignatureHashFamily string `protobuf:"bytes,1,opt,name=signature_hash_family,json=signatureHashFamily,proto3" json:"signature_hash_family,omitempty"` + // IdentityIdentifierHashFunction is a string representing the hash function + // to be used during the computation of the identity identifier of an MSP identity. + // Allowed values are "SHA256", "SHA384" and "SHA3_256", "SHA3_384". + IdentityIdentifierHashFunction string `protobuf:"bytes,2,opt,name=identity_identifier_hash_function,json=identityIdentifierHashFunction,proto3" json:"identity_identifier_hash_function,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricCryptoConfig) Reset() { *m = FabricCryptoConfig{} } +func (m *FabricCryptoConfig) String() string { return proto.CompactTextString(m) } +func (*FabricCryptoConfig) ProtoMessage() {} +func (*FabricCryptoConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{2} +} + +func (m *FabricCryptoConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricCryptoConfig.Unmarshal(m, b) +} +func (m *FabricCryptoConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricCryptoConfig.Marshal(b, m, deterministic) +} +func (m *FabricCryptoConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricCryptoConfig.Merge(m, src) +} +func (m *FabricCryptoConfig) XXX_Size() int { + return xxx_messageInfo_FabricCryptoConfig.Size(m) +} +func (m *FabricCryptoConfig) XXX_DiscardUnknown() { + xxx_messageInfo_FabricCryptoConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricCryptoConfig proto.InternalMessageInfo + +func (m *FabricCryptoConfig) GetSignatureHashFamily() string { + if m != nil { + return m.SignatureHashFamily + } + return "" +} + +func (m *FabricCryptoConfig) GetIdentityIdentifierHashFunction() string { + if m != nil { + return m.IdentityIdentifierHashFunction + } + return "" +} + +// IdemixMSPConfig collects all the configuration information for +// an Idemix MSP. +type IdemixMSPConfig struct { + // Name holds the identifier of the MSP + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // ipk represents the (serialized) issuer public key + Ipk []byte `protobuf:"bytes,2,opt,name=ipk,proto3" json:"ipk,omitempty"` + // signer may contain crypto material to configure a default signer + Signer *IdemixMSPSignerConfig `protobuf:"bytes,3,opt,name=signer,proto3" json:"signer,omitempty"` + // revocation_pk is the public key used for revocation of credentials + RevocationPk []byte `protobuf:"bytes,4,opt,name=revocation_pk,json=revocationPk,proto3" json:"revocation_pk,omitempty"` + // epoch represents the current epoch (time interval) used for revocation + Epoch int64 `protobuf:"varint,5,opt,name=epoch,proto3" json:"epoch,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IdemixMSPConfig) Reset() { *m = IdemixMSPConfig{} } +func (m *IdemixMSPConfig) String() string { return proto.CompactTextString(m) } +func (*IdemixMSPConfig) ProtoMessage() {} +func (*IdemixMSPConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{3} +} + +func (m *IdemixMSPConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdemixMSPConfig.Unmarshal(m, b) +} +func (m *IdemixMSPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdemixMSPConfig.Marshal(b, m, deterministic) +} +func (m *IdemixMSPConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdemixMSPConfig.Merge(m, src) +} +func (m *IdemixMSPConfig) XXX_Size() int { + return xxx_messageInfo_IdemixMSPConfig.Size(m) +} +func (m *IdemixMSPConfig) XXX_DiscardUnknown() { + xxx_messageInfo_IdemixMSPConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_IdemixMSPConfig proto.InternalMessageInfo + +func (m *IdemixMSPConfig) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *IdemixMSPConfig) GetIpk() []byte { + if m != nil { + return m.Ipk + } + return nil +} + +func (m *IdemixMSPConfig) GetSigner() *IdemixMSPSignerConfig { + if m != nil { + return m.Signer + } + return nil +} + +func (m *IdemixMSPConfig) GetRevocationPk() []byte { + if m != nil { + return m.RevocationPk + } + return nil +} + +func (m *IdemixMSPConfig) GetEpoch() int64 { + if m != nil { + return m.Epoch + } + return 0 +} + +// IdemixMSPSIgnerConfig contains the crypto material to set up an idemix signing identity +type IdemixMSPSignerConfig struct { + // cred represents the serialized idemix credential of the default signer + Cred []byte `protobuf:"bytes,1,opt,name=cred,proto3" json:"cred,omitempty"` + // sk is the secret key of the default signer, corresponding to credential Cred + Sk []byte `protobuf:"bytes,2,opt,name=sk,proto3" json:"sk,omitempty"` + // organizational_unit_identifier defines the organizational unit the default signer is in + OrganizationalUnitIdentifier string `protobuf:"bytes,3,opt,name=organizational_unit_identifier,json=organizationalUnitIdentifier,proto3" json:"organizational_unit_identifier,omitempty"` + // role defines whether the default signer is admin, peer, member or client + Role int32 `protobuf:"varint,4,opt,name=role,proto3" json:"role,omitempty"` + // enrollment_id contains the enrollment id of this signer + EnrollmentId string `protobuf:"bytes,5,opt,name=enrollment_id,json=enrollmentId,proto3" json:"enrollment_id,omitempty"` + // credential_revocation_information contains a serialized CredentialRevocationInformation + CredentialRevocationInformation []byte `protobuf:"bytes,6,opt,name=credential_revocation_information,json=credentialRevocationInformation,proto3" json:"credential_revocation_information,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IdemixMSPSignerConfig) Reset() { *m = IdemixMSPSignerConfig{} } +func (m *IdemixMSPSignerConfig) String() string { return proto.CompactTextString(m) } +func (*IdemixMSPSignerConfig) ProtoMessage() {} +func (*IdemixMSPSignerConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{4} +} + +func (m *IdemixMSPSignerConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdemixMSPSignerConfig.Unmarshal(m, b) +} +func (m *IdemixMSPSignerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdemixMSPSignerConfig.Marshal(b, m, deterministic) +} +func (m *IdemixMSPSignerConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdemixMSPSignerConfig.Merge(m, src) +} +func (m *IdemixMSPSignerConfig) XXX_Size() int { + return xxx_messageInfo_IdemixMSPSignerConfig.Size(m) +} +func (m *IdemixMSPSignerConfig) XXX_DiscardUnknown() { + xxx_messageInfo_IdemixMSPSignerConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_IdemixMSPSignerConfig proto.InternalMessageInfo + +func (m *IdemixMSPSignerConfig) GetCred() []byte { + if m != nil { + return m.Cred + } + return nil +} + +func (m *IdemixMSPSignerConfig) GetSk() []byte { + if m != nil { + return m.Sk + } + return nil +} + +func (m *IdemixMSPSignerConfig) GetOrganizationalUnitIdentifier() string { + if m != nil { + return m.OrganizationalUnitIdentifier + } + return "" +} + +func (m *IdemixMSPSignerConfig) GetRole() int32 { + if m != nil { + return m.Role + } + return 0 +} + +func (m *IdemixMSPSignerConfig) GetEnrollmentId() string { + if m != nil { + return m.EnrollmentId + } + return "" +} + +func (m *IdemixMSPSignerConfig) GetCredentialRevocationInformation() []byte { + if m != nil { + return m.CredentialRevocationInformation + } + return nil +} + +// SigningIdentityInfo represents the configuration information +// related to the signing identity the peer is to use for generating +// endorsements +type SigningIdentityInfo struct { + // PublicSigner carries the public information of the signing + // identity. For an X.509 provider this would be represented by + // an X.509 certificate + PublicSigner []byte `protobuf:"bytes,1,opt,name=public_signer,json=publicSigner,proto3" json:"public_signer,omitempty"` + // PrivateSigner denotes a reference to the private key of the + // peer's signing identity + PrivateSigner *KeyInfo `protobuf:"bytes,2,opt,name=private_signer,json=privateSigner,proto3" json:"private_signer,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SigningIdentityInfo) Reset() { *m = SigningIdentityInfo{} } +func (m *SigningIdentityInfo) String() string { return proto.CompactTextString(m) } +func (*SigningIdentityInfo) ProtoMessage() {} +func (*SigningIdentityInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{5} +} + +func (m *SigningIdentityInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SigningIdentityInfo.Unmarshal(m, b) +} +func (m *SigningIdentityInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SigningIdentityInfo.Marshal(b, m, deterministic) +} +func (m *SigningIdentityInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_SigningIdentityInfo.Merge(m, src) +} +func (m *SigningIdentityInfo) XXX_Size() int { + return xxx_messageInfo_SigningIdentityInfo.Size(m) +} +func (m *SigningIdentityInfo) XXX_DiscardUnknown() { + xxx_messageInfo_SigningIdentityInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_SigningIdentityInfo proto.InternalMessageInfo + +func (m *SigningIdentityInfo) GetPublicSigner() []byte { + if m != nil { + return m.PublicSigner + } + return nil +} + +func (m *SigningIdentityInfo) GetPrivateSigner() *KeyInfo { + if m != nil { + return m.PrivateSigner + } + return nil +} + +// KeyInfo represents a (secret) key that is either already stored +// in the bccsp/keystore or key material to be imported to the +// bccsp key-store. In later versions it may contain also a +// keystore identifier +type KeyInfo struct { + // Identifier of the key inside the default keystore; this for + // the case of Software BCCSP as well as the HSM BCCSP would be + // the SKI of the key + KeyIdentifier string `protobuf:"bytes,1,opt,name=key_identifier,json=keyIdentifier,proto3" json:"key_identifier,omitempty"` + // KeyMaterial (optional) for the key to be imported; this is + // properly encoded key bytes, prefixed by the type of the key + KeyMaterial []byte `protobuf:"bytes,2,opt,name=key_material,json=keyMaterial,proto3" json:"key_material,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyInfo) Reset() { *m = KeyInfo{} } +func (m *KeyInfo) String() string { return proto.CompactTextString(m) } +func (*KeyInfo) ProtoMessage() {} +func (*KeyInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{6} +} + +func (m *KeyInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyInfo.Unmarshal(m, b) +} +func (m *KeyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyInfo.Marshal(b, m, deterministic) +} +func (m *KeyInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyInfo.Merge(m, src) +} +func (m *KeyInfo) XXX_Size() int { + return xxx_messageInfo_KeyInfo.Size(m) +} +func (m *KeyInfo) XXX_DiscardUnknown() { + xxx_messageInfo_KeyInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyInfo proto.InternalMessageInfo + +func (m *KeyInfo) GetKeyIdentifier() string { + if m != nil { + return m.KeyIdentifier + } + return "" +} + +func (m *KeyInfo) GetKeyMaterial() []byte { + if m != nil { + return m.KeyMaterial + } + return nil +} + +// FabricOUIdentifier represents an organizational unit and +// its related chain of trust identifier. +type FabricOUIdentifier struct { + // Certificate represents the second certificate in a certification chain. + // (Notice that the first certificate in a certification chain is supposed + // to be the certificate of an identity). + // It must correspond to the certificate of root or intermediate CA + // recognized by the MSP this message belongs to. + // Starting from this certificate, a certification chain is computed + // and bound to the OrganizationUnitIdentifier specified + Certificate []byte `protobuf:"bytes,1,opt,name=certificate,proto3" json:"certificate,omitempty"` + // OrganizationUnitIdentifier defines the organizational unit under the + // MSP identified with MSPIdentifier + OrganizationalUnitIdentifier string `protobuf:"bytes,2,opt,name=organizational_unit_identifier,json=organizationalUnitIdentifier,proto3" json:"organizational_unit_identifier,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricOUIdentifier) Reset() { *m = FabricOUIdentifier{} } +func (m *FabricOUIdentifier) String() string { return proto.CompactTextString(m) } +func (*FabricOUIdentifier) ProtoMessage() {} +func (*FabricOUIdentifier) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{7} +} + +func (m *FabricOUIdentifier) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricOUIdentifier.Unmarshal(m, b) +} +func (m *FabricOUIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricOUIdentifier.Marshal(b, m, deterministic) +} +func (m *FabricOUIdentifier) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricOUIdentifier.Merge(m, src) +} +func (m *FabricOUIdentifier) XXX_Size() int { + return xxx_messageInfo_FabricOUIdentifier.Size(m) +} +func (m *FabricOUIdentifier) XXX_DiscardUnknown() { + xxx_messageInfo_FabricOUIdentifier.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricOUIdentifier proto.InternalMessageInfo + +func (m *FabricOUIdentifier) GetCertificate() []byte { + if m != nil { + return m.Certificate + } + return nil +} + +func (m *FabricOUIdentifier) GetOrganizationalUnitIdentifier() string { + if m != nil { + return m.OrganizationalUnitIdentifier + } + return "" +} + +// FabricNodeOUs contains configuration to tell apart clients from peers from orderers +// based on OUs. If NodeOUs recognition is enabled then an msp identity +// that does not contain any of the specified OU will be considered invalid. +type FabricNodeOUs struct { + // If true then an msp identity that does not contain any of the specified OU will be considered invalid. + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` + // OU Identifier of the clients + ClientOuIdentifier *FabricOUIdentifier `protobuf:"bytes,2,opt,name=client_ou_identifier,json=clientOuIdentifier,proto3" json:"client_ou_identifier,omitempty"` + // OU Identifier of the peers + PeerOuIdentifier *FabricOUIdentifier `protobuf:"bytes,3,opt,name=peer_ou_identifier,json=peerOuIdentifier,proto3" json:"peer_ou_identifier,omitempty"` + // OU Identifier of the admins + AdminOuIdentifier *FabricOUIdentifier `protobuf:"bytes,4,opt,name=admin_ou_identifier,json=adminOuIdentifier,proto3" json:"admin_ou_identifier,omitempty"` + // OU Identifier of the orderers + OrdererOuIdentifier *FabricOUIdentifier `protobuf:"bytes,5,opt,name=orderer_ou_identifier,json=ordererOuIdentifier,proto3" json:"orderer_ou_identifier,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricNodeOUs) Reset() { *m = FabricNodeOUs{} } +func (m *FabricNodeOUs) String() string { return proto.CompactTextString(m) } +func (*FabricNodeOUs) ProtoMessage() {} +func (*FabricNodeOUs) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{8} +} + +func (m *FabricNodeOUs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricNodeOUs.Unmarshal(m, b) +} +func (m *FabricNodeOUs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricNodeOUs.Marshal(b, m, deterministic) +} +func (m *FabricNodeOUs) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricNodeOUs.Merge(m, src) +} +func (m *FabricNodeOUs) XXX_Size() int { + return xxx_messageInfo_FabricNodeOUs.Size(m) +} +func (m *FabricNodeOUs) XXX_DiscardUnknown() { + xxx_messageInfo_FabricNodeOUs.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricNodeOUs proto.InternalMessageInfo + +func (m *FabricNodeOUs) GetEnable() bool { + if m != nil { + return m.Enable + } + return false +} + +func (m *FabricNodeOUs) GetClientOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.ClientOuIdentifier + } + return nil +} + +func (m *FabricNodeOUs) GetPeerOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.PeerOuIdentifier + } + return nil +} + +func (m *FabricNodeOUs) GetAdminOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.AdminOuIdentifier + } + return nil +} + +func (m *FabricNodeOUs) GetOrdererOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.OrdererOuIdentifier + } + return nil +} + +func init() { + proto.RegisterType((*MSPConfig)(nil), "msp.MSPConfig") + proto.RegisterType((*FabricMSPConfig)(nil), "msp.FabricMSPConfig") + proto.RegisterType((*FabricCryptoConfig)(nil), "msp.FabricCryptoConfig") + proto.RegisterType((*IdemixMSPConfig)(nil), "msp.IdemixMSPConfig") + proto.RegisterType((*IdemixMSPSignerConfig)(nil), "msp.IdemixMSPSignerConfig") + proto.RegisterType((*SigningIdentityInfo)(nil), "msp.SigningIdentityInfo") + proto.RegisterType((*KeyInfo)(nil), "msp.KeyInfo") + proto.RegisterType((*FabricOUIdentifier)(nil), "msp.FabricOUIdentifier") + proto.RegisterType((*FabricNodeOUs)(nil), "msp.FabricNodeOUs") +} + +func init() { proto.RegisterFile("msp/msp_config.proto", fileDescriptor_9c34771f529d9d1a) } + +var fileDescriptor_9c34771f529d9d1a = []byte{ + // 883 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdb, 0x6e, 0x23, 0x45, + 0x13, 0x96, 0x8f, 0xbb, 0x2e, 0x8f, 0xed, 0x6c, 0xe7, 0xf0, 0x8f, 0x7e, 0xb1, 0xbb, 0x8e, 0x01, + 0x61, 0x09, 0xc5, 0x91, 0xb2, 0x48, 0x48, 0x88, 0xab, 0x0d, 0x2c, 0x0c, 0x4b, 0x48, 0xd4, 0x51, + 0x6e, 0xb8, 0x19, 0xb5, 0x67, 0xda, 0xe3, 0x96, 0x67, 0xba, 0x47, 0xdd, 0x3d, 0x2b, 0x8c, 0xb8, + 0xe6, 0x05, 0x78, 0x07, 0xae, 0x79, 0x13, 0x5e, 0x09, 0xf5, 0x21, 0xf6, 0x38, 0x89, 0x0c, 0x77, + 0x5d, 0x55, 0x5f, 0x7d, 0x53, 0xfd, 0x55, 0x55, 0x0f, 0x1c, 0x15, 0xaa, 0x3c, 0x2f, 0x54, 0x19, + 0x27, 0x82, 0x2f, 0x58, 0x36, 0x2b, 0xa5, 0xd0, 0x02, 0xb5, 0x0a, 0x55, 0x4e, 0xbe, 0x84, 0xde, + 0xd5, 0xed, 0xcd, 0xa5, 0xf5, 0x23, 0x04, 0x6d, 0xbd, 0x2e, 0x69, 0xd8, 0x18, 0x37, 0xa6, 0x1d, + 0x6c, 0xcf, 0xe8, 0x04, 0xba, 0x2e, 0x2b, 0x6c, 0x8e, 0x1b, 0xd3, 0x00, 0x7b, 0x6b, 0xf2, 0x57, + 0x1b, 0x46, 0xef, 0xc8, 0x5c, 0xb2, 0x64, 0x27, 0x9f, 0x93, 0xc2, 0xe5, 0xf7, 0xb0, 0x3d, 0xa3, + 0x97, 0x00, 0x52, 0x08, 0x1d, 0x27, 0x54, 0x6a, 0x15, 0x36, 0xc7, 0xad, 0x69, 0x80, 0x7b, 0xc6, + 0x73, 0x69, 0x1c, 0xe8, 0x0c, 0x10, 0xe3, 0x9a, 0xca, 0x82, 0xa6, 0x8c, 0x68, 0xea, 0x61, 0x2d, + 0x0b, 0x7b, 0x51, 0x8f, 0x38, 0xf8, 0x09, 0x74, 0x49, 0x5a, 0x30, 0xae, 0xc2, 0xb6, 0x85, 0x78, + 0x0b, 0x7d, 0x06, 0x23, 0x49, 0x3f, 0x88, 0x84, 0x68, 0x26, 0x78, 0x9c, 0x33, 0xa5, 0xc3, 0x8e, + 0x05, 0x0c, 0xb7, 0xee, 0x1f, 0x99, 0xd2, 0xe8, 0x12, 0x0e, 0x14, 0xcb, 0x38, 0xe3, 0x59, 0xcc, + 0x52, 0xca, 0x35, 0xd3, 0xeb, 0xb0, 0x3b, 0x6e, 0x4c, 0xfb, 0x17, 0xe1, 0xac, 0x50, 0xe5, 0xec, + 0xd6, 0x05, 0x23, 0x1f, 0x8b, 0xf8, 0x42, 0xe0, 0x91, 0xda, 0x75, 0xa2, 0x18, 0x5e, 0x0b, 0x99, + 0x11, 0xce, 0x7e, 0xb5, 0xc4, 0x24, 0x8f, 0x2b, 0xce, 0xb4, 0x27, 0x5c, 0x30, 0x2a, 0x55, 0xf8, + 0x6c, 0xdc, 0x9a, 0xf6, 0x2f, 0xfe, 0x67, 0x39, 0x9d, 0x4c, 0xd7, 0x77, 0xd1, 0x26, 0x8e, 0x5f, + 0xee, 0xe6, 0xdf, 0x71, 0xa6, 0xb7, 0x51, 0x85, 0xbe, 0x86, 0x41, 0x22, 0xd7, 0xa5, 0x16, 0xbe, + 0x63, 0xe1, 0x73, 0x5b, 0x62, 0x9d, 0xee, 0xd2, 0xc6, 0x9d, 0xf0, 0x38, 0x48, 0x6a, 0x16, 0xfa, + 0x04, 0x86, 0x3a, 0x57, 0x71, 0x4d, 0xf6, 0x9e, 0xd5, 0x22, 0xd0, 0xb9, 0xc2, 0x1b, 0xe5, 0xbf, + 0x80, 0x13, 0x83, 0x7a, 0x42, 0x7d, 0xb0, 0xe8, 0x23, 0x9d, 0xab, 0xe8, 0x51, 0x03, 0xbe, 0x82, + 0xd1, 0xc2, 0x7e, 0x3f, 0xe6, 0x22, 0xa5, 0xb1, 0xa8, 0x54, 0xd8, 0xb7, 0xb5, 0xa1, 0x5a, 0x6d, + 0x3f, 0x89, 0x94, 0x5e, 0xdf, 0x29, 0x3c, 0x58, 0x6c, 0xcd, 0x4a, 0x4d, 0xfe, 0x68, 0x00, 0x7a, + 0x5c, 0x3c, 0xba, 0x80, 0x63, 0x23, 0x30, 0xd1, 0x95, 0xa4, 0xf1, 0x92, 0xa8, 0x65, 0xbc, 0x20, + 0x05, 0xcb, 0xd7, 0x7e, 0x8c, 0x0e, 0x37, 0xc1, 0xef, 0x89, 0x5a, 0xbe, 0xb3, 0x21, 0x14, 0xc1, + 0xe9, 0x7d, 0xfb, 0x6a, 0xb2, 0xfb, 0xec, 0x8a, 0x27, 0x46, 0x56, 0x3b, 0xb0, 0x3d, 0xfc, 0xea, + 0x1e, 0xb8, 0x15, 0xd8, 0x12, 0x79, 0xd4, 0xe4, 0xcf, 0x06, 0x8c, 0xa2, 0x94, 0x16, 0xec, 0x97, + 0xfd, 0x83, 0x7c, 0x00, 0x2d, 0x56, 0xae, 0xfc, 0x16, 0x98, 0x23, 0xba, 0x80, 0xae, 0xa9, 0x8d, + 0xca, 0xb0, 0x65, 0x25, 0xf8, 0xbf, 0x95, 0x60, 0xc3, 0x75, 0x6b, 0x63, 0xbe, 0x43, 0x1e, 0x89, + 0x3e, 0x86, 0x41, 0x6d, 0x50, 0xcb, 0x55, 0xd8, 0xb6, 0x7c, 0xc1, 0xd6, 0x79, 0xb3, 0x42, 0x47, + 0xd0, 0xa1, 0xa5, 0x48, 0x96, 0x61, 0x67, 0xdc, 0x98, 0xb6, 0xb0, 0x33, 0x26, 0xbf, 0x37, 0xe1, + 0xf8, 0x49, 0x72, 0x53, 0x6e, 0x22, 0x69, 0x6a, 0xcb, 0x0d, 0xb0, 0x3d, 0xa3, 0x21, 0x34, 0xd5, + 0x7d, 0xb5, 0x4d, 0xb5, 0x42, 0xdf, 0xc0, 0xab, 0xfd, 0x33, 0x6b, 0x2f, 0xd1, 0xc3, 0x1f, 0xed, + 0x9b, 0x4c, 0xf3, 0x25, 0x29, 0x72, 0x6a, 0xab, 0xee, 0x60, 0x7b, 0x36, 0x57, 0xa2, 0x5c, 0x8a, + 0x3c, 0x2f, 0x28, 0x37, 0x84, 0xb6, 0xea, 0x1e, 0x0e, 0xb6, 0xce, 0x28, 0x45, 0x3f, 0xc0, 0xa9, + 0x29, 0xcb, 0x10, 0x91, 0x3c, 0xae, 0x49, 0xc0, 0xf8, 0x42, 0xc8, 0xc2, 0x9e, 0xed, 0x22, 0x06, + 0xf8, 0xf5, 0x16, 0x88, 0x37, 0xb8, 0x68, 0x0b, 0x9b, 0x08, 0x38, 0x7c, 0x62, 0x4d, 0x4d, 0x1d, + 0x65, 0x35, 0xcf, 0x59, 0x12, 0xfb, 0xae, 0x38, 0x39, 0x02, 0xe7, 0x74, 0x82, 0xa1, 0x37, 0x30, + 0x2c, 0x25, 0xfb, 0x60, 0x86, 0xdd, 0xa3, 0x9a, 0xb6, 0x77, 0x81, 0xed, 0xdd, 0x7b, 0xea, 0x36, + 0x7e, 0xe0, 0x31, 0x2e, 0x69, 0x72, 0x0b, 0xcf, 0x7c, 0x04, 0x7d, 0x0a, 0xc3, 0x15, 0xad, 0xcf, + 0x9c, 0x9f, 0x91, 0xc1, 0x8a, 0xd6, 0x06, 0x0c, 0x9d, 0x42, 0x60, 0x60, 0x05, 0xd1, 0x54, 0x32, + 0x92, 0xfb, 0x3e, 0xf4, 0x57, 0x74, 0x7d, 0xe5, 0x5d, 0x93, 0xdf, 0xee, 0x97, 0xa1, 0xfe, 0x30, + 0xa0, 0x31, 0xf4, 0xcd, 0x12, 0xb2, 0x05, 0x4b, 0x88, 0xa6, 0xfe, 0x0a, 0x75, 0xd7, 0x7f, 0x68, + 0x64, 0xf3, 0xdf, 0x1b, 0x39, 0xf9, 0xbb, 0x09, 0x83, 0x9d, 0x65, 0x35, 0x4f, 0x2b, 0xe5, 0x64, + 0x9e, 0xbb, 0x8f, 0x3e, 0xc7, 0xde, 0x42, 0x11, 0x1c, 0x25, 0x39, 0x33, 0xad, 0x15, 0xd5, 0xc3, + 0xaf, 0xec, 0x79, 0xe1, 0x90, 0x4b, 0xba, 0xae, 0x6a, 0x97, 0xfb, 0x16, 0x50, 0x49, 0xa9, 0x7c, + 0x40, 0xd4, 0xda, 0x4f, 0x74, 0x60, 0x52, 0x76, 0x68, 0xbe, 0x83, 0x43, 0xfb, 0xec, 0x3f, 0xe0, + 0x69, 0xef, 0xe7, 0x79, 0x61, 0x73, 0x76, 0x88, 0xde, 0xc3, 0xb1, 0x90, 0x29, 0x95, 0x8f, 0x4a, + 0xea, 0xec, 0xa7, 0x3a, 0xf4, 0x59, 0x75, 0xb2, 0xb7, 0x73, 0x38, 0x15, 0x32, 0x9b, 0x2d, 0xd7, + 0x25, 0x95, 0x39, 0x4d, 0x33, 0x2a, 0x67, 0xee, 0xf9, 0x73, 0xbf, 0x5b, 0x65, 0xc8, 0xde, 0x1e, + 0x5c, 0xa9, 0xd2, 0x2d, 0xed, 0x0d, 0x49, 0x56, 0x24, 0xa3, 0x3f, 0x7f, 0x9e, 0x31, 0xbd, 0xac, + 0xe6, 0xb3, 0x44, 0x14, 0xe7, 0xb5, 0xdc, 0x73, 0x97, 0x7b, 0xe6, 0x72, 0xcf, 0x32, 0x61, 0xfe, + 0xdf, 0xf3, 0xae, 0x35, 0xdf, 0xfc, 0x13, 0x00, 0x00, 0xff, 0xff, 0x42, 0x15, 0x49, 0x47, 0xd1, + 0x07, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_principal.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_principal.pb.go new file mode 100644 index 0000000..028c1a6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/msp/msp_principal.pb.go @@ -0,0 +1,451 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: msp/msp_principal.proto + +package msp + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type MSPPrincipal_Classification int32 + +const ( + MSPPrincipal_ROLE MSPPrincipal_Classification = 0 + // one of a member of MSP network, and the one of an + // administrator of an MSP network + MSPPrincipal_ORGANIZATION_UNIT MSPPrincipal_Classification = 1 + // groupping of entities, per MSP affiliation + // E.g., this can well be represented by an MSP's + // Organization unit + MSPPrincipal_IDENTITY MSPPrincipal_Classification = 2 + // identity + MSPPrincipal_ANONYMITY MSPPrincipal_Classification = 3 + // an identity to be anonymous or nominal. + MSPPrincipal_COMBINED MSPPrincipal_Classification = 4 +) + +var MSPPrincipal_Classification_name = map[int32]string{ + 0: "ROLE", + 1: "ORGANIZATION_UNIT", + 2: "IDENTITY", + 3: "ANONYMITY", + 4: "COMBINED", +} + +var MSPPrincipal_Classification_value = map[string]int32{ + "ROLE": 0, + "ORGANIZATION_UNIT": 1, + "IDENTITY": 2, + "ANONYMITY": 3, + "COMBINED": 4, +} + +func (x MSPPrincipal_Classification) String() string { + return proto.EnumName(MSPPrincipal_Classification_name, int32(x)) +} + +func (MSPPrincipal_Classification) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{0, 0} +} + +type MSPRole_MSPRoleType int32 + +const ( + MSPRole_MEMBER MSPRole_MSPRoleType = 0 + MSPRole_ADMIN MSPRole_MSPRoleType = 1 + MSPRole_CLIENT MSPRole_MSPRoleType = 2 + MSPRole_PEER MSPRole_MSPRoleType = 3 + MSPRole_ORDERER MSPRole_MSPRoleType = 4 +) + +var MSPRole_MSPRoleType_name = map[int32]string{ + 0: "MEMBER", + 1: "ADMIN", + 2: "CLIENT", + 3: "PEER", + 4: "ORDERER", +} + +var MSPRole_MSPRoleType_value = map[string]int32{ + "MEMBER": 0, + "ADMIN": 1, + "CLIENT": 2, + "PEER": 3, + "ORDERER": 4, +} + +func (x MSPRole_MSPRoleType) String() string { + return proto.EnumName(MSPRole_MSPRoleType_name, int32(x)) +} + +func (MSPRole_MSPRoleType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{2, 0} +} + +type MSPIdentityAnonymity_MSPIdentityAnonymityType int32 + +const ( + MSPIdentityAnonymity_NOMINAL MSPIdentityAnonymity_MSPIdentityAnonymityType = 0 + MSPIdentityAnonymity_ANONYMOUS MSPIdentityAnonymity_MSPIdentityAnonymityType = 1 +) + +var MSPIdentityAnonymity_MSPIdentityAnonymityType_name = map[int32]string{ + 0: "NOMINAL", + 1: "ANONYMOUS", +} + +var MSPIdentityAnonymity_MSPIdentityAnonymityType_value = map[string]int32{ + "NOMINAL": 0, + "ANONYMOUS": 1, +} + +func (x MSPIdentityAnonymity_MSPIdentityAnonymityType) String() string { + return proto.EnumName(MSPIdentityAnonymity_MSPIdentityAnonymityType_name, int32(x)) +} + +func (MSPIdentityAnonymity_MSPIdentityAnonymityType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{3, 0} +} + +// MSPPrincipal aims to represent an MSP-centric set of identities. +// In particular, this structure allows for definition of +// - a group of identities that are member of the same MSP +// - a group of identities that are member of the same organization unit +// in the same MSP +// - a group of identities that are administering a specific MSP +// - a specific identity +// Expressing these groups is done given two fields of the fields below +// - Classification, that defines the type of classification of identities +// in an MSP this principal would be defined on; Classification can take +// three values: +// (i) ByMSPRole: that represents a classification of identities within +// MSP based on one of the two pre-defined MSP rules, "member" and "admin" +// (ii) ByOrganizationUnit: that represents a classification of identities +// within MSP based on the organization unit an identity belongs to +// (iii)ByIdentity that denotes that MSPPrincipal is mapped to a single +// identity/certificate; this would mean that the Principal bytes +// message +type MSPPrincipal struct { + // Classification describes the way that one should process + // Principal. An Classification value of "ByOrganizationUnit" reflects + // that "Principal" contains the name of an organization this MSP + // handles. A Classification value "ByIdentity" means that + // "Principal" contains a specific identity. Default value + // denotes that Principal contains one of the groups by + // default supported by all MSPs ("admin" or "member"). + PrincipalClassification MSPPrincipal_Classification `protobuf:"varint,1,opt,name=principal_classification,json=principalClassification,proto3,enum=common.MSPPrincipal_Classification" json:"principal_classification,omitempty"` + // Principal completes the policy principal definition. For the default + // principal types, Principal can be either "Admin" or "Member". + // For the ByOrganizationUnit/ByIdentity values of Classification, + // PolicyPrincipal acquires its value from an organization unit or + // identity, respectively. + // For the Combined Classification type, the Principal is a marshalled + // CombinedPrincipal. + Principal []byte `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPPrincipal) Reset() { *m = MSPPrincipal{} } +func (m *MSPPrincipal) String() string { return proto.CompactTextString(m) } +func (*MSPPrincipal) ProtoMessage() {} +func (*MSPPrincipal) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{0} +} + +func (m *MSPPrincipal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPPrincipal.Unmarshal(m, b) +} +func (m *MSPPrincipal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPPrincipal.Marshal(b, m, deterministic) +} +func (m *MSPPrincipal) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPPrincipal.Merge(m, src) +} +func (m *MSPPrincipal) XXX_Size() int { + return xxx_messageInfo_MSPPrincipal.Size(m) +} +func (m *MSPPrincipal) XXX_DiscardUnknown() { + xxx_messageInfo_MSPPrincipal.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPPrincipal proto.InternalMessageInfo + +func (m *MSPPrincipal) GetPrincipalClassification() MSPPrincipal_Classification { + if m != nil { + return m.PrincipalClassification + } + return MSPPrincipal_ROLE +} + +func (m *MSPPrincipal) GetPrincipal() []byte { + if m != nil { + return m.Principal + } + return nil +} + +// OrganizationUnit governs the organization of the Principal +// field of a policy principal when a specific organization unity members +// are to be defined within a policy principal. +type OrganizationUnit struct { + // MSPIdentifier represents the identifier of the MSP this organization unit + // refers to + MspIdentifier string `protobuf:"bytes,1,opt,name=msp_identifier,json=mspIdentifier,proto3" json:"msp_identifier,omitempty"` + // OrganizationUnitIdentifier defines the organizational unit under the + // MSP identified with MSPIdentifier + OrganizationalUnitIdentifier string `protobuf:"bytes,2,opt,name=organizational_unit_identifier,json=organizationalUnitIdentifier,proto3" json:"organizational_unit_identifier,omitempty"` + // CertifiersIdentifier is the hash of certificates chain of trust + // related to this organizational unit + CertifiersIdentifier []byte `protobuf:"bytes,3,opt,name=certifiers_identifier,json=certifiersIdentifier,proto3" json:"certifiers_identifier,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrganizationUnit) Reset() { *m = OrganizationUnit{} } +func (m *OrganizationUnit) String() string { return proto.CompactTextString(m) } +func (*OrganizationUnit) ProtoMessage() {} +func (*OrganizationUnit) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{1} +} + +func (m *OrganizationUnit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrganizationUnit.Unmarshal(m, b) +} +func (m *OrganizationUnit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrganizationUnit.Marshal(b, m, deterministic) +} +func (m *OrganizationUnit) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrganizationUnit.Merge(m, src) +} +func (m *OrganizationUnit) XXX_Size() int { + return xxx_messageInfo_OrganizationUnit.Size(m) +} +func (m *OrganizationUnit) XXX_DiscardUnknown() { + xxx_messageInfo_OrganizationUnit.DiscardUnknown(m) +} + +var xxx_messageInfo_OrganizationUnit proto.InternalMessageInfo + +func (m *OrganizationUnit) GetMspIdentifier() string { + if m != nil { + return m.MspIdentifier + } + return "" +} + +func (m *OrganizationUnit) GetOrganizationalUnitIdentifier() string { + if m != nil { + return m.OrganizationalUnitIdentifier + } + return "" +} + +func (m *OrganizationUnit) GetCertifiersIdentifier() []byte { + if m != nil { + return m.CertifiersIdentifier + } + return nil +} + +// MSPRole governs the organization of the Principal +// field of an MSPPrincipal when it aims to define one of the +// two dedicated roles within an MSP: Admin and Members. +type MSPRole struct { + // MSPIdentifier represents the identifier of the MSP this principal + // refers to + MspIdentifier string `protobuf:"bytes,1,opt,name=msp_identifier,json=mspIdentifier,proto3" json:"msp_identifier,omitempty"` + // MSPRoleType defines which of the available, pre-defined MSP-roles + // an identiy should posess inside the MSP with identifier MSPidentifier + Role MSPRole_MSPRoleType `protobuf:"varint,2,opt,name=role,proto3,enum=common.MSPRole_MSPRoleType" json:"role,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPRole) Reset() { *m = MSPRole{} } +func (m *MSPRole) String() string { return proto.CompactTextString(m) } +func (*MSPRole) ProtoMessage() {} +func (*MSPRole) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{2} +} + +func (m *MSPRole) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPRole.Unmarshal(m, b) +} +func (m *MSPRole) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPRole.Marshal(b, m, deterministic) +} +func (m *MSPRole) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPRole.Merge(m, src) +} +func (m *MSPRole) XXX_Size() int { + return xxx_messageInfo_MSPRole.Size(m) +} +func (m *MSPRole) XXX_DiscardUnknown() { + xxx_messageInfo_MSPRole.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPRole proto.InternalMessageInfo + +func (m *MSPRole) GetMspIdentifier() string { + if m != nil { + return m.MspIdentifier + } + return "" +} + +func (m *MSPRole) GetRole() MSPRole_MSPRoleType { + if m != nil { + return m.Role + } + return MSPRole_MEMBER +} + +// MSPIdentityAnonymity can be used to enforce an identity to be anonymous or nominal. +type MSPIdentityAnonymity struct { + AnonymityType MSPIdentityAnonymity_MSPIdentityAnonymityType `protobuf:"varint,1,opt,name=anonymity_type,json=anonymityType,proto3,enum=common.MSPIdentityAnonymity_MSPIdentityAnonymityType" json:"anonymity_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPIdentityAnonymity) Reset() { *m = MSPIdentityAnonymity{} } +func (m *MSPIdentityAnonymity) String() string { return proto.CompactTextString(m) } +func (*MSPIdentityAnonymity) ProtoMessage() {} +func (*MSPIdentityAnonymity) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{3} +} + +func (m *MSPIdentityAnonymity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPIdentityAnonymity.Unmarshal(m, b) +} +func (m *MSPIdentityAnonymity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPIdentityAnonymity.Marshal(b, m, deterministic) +} +func (m *MSPIdentityAnonymity) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPIdentityAnonymity.Merge(m, src) +} +func (m *MSPIdentityAnonymity) XXX_Size() int { + return xxx_messageInfo_MSPIdentityAnonymity.Size(m) +} +func (m *MSPIdentityAnonymity) XXX_DiscardUnknown() { + xxx_messageInfo_MSPIdentityAnonymity.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPIdentityAnonymity proto.InternalMessageInfo + +func (m *MSPIdentityAnonymity) GetAnonymityType() MSPIdentityAnonymity_MSPIdentityAnonymityType { + if m != nil { + return m.AnonymityType + } + return MSPIdentityAnonymity_NOMINAL +} + +// CombinedPrincipal governs the organization of the Principal +// field of a policy principal when principal_classification has +// indicated that a combined form of principals is required +type CombinedPrincipal struct { + // Principals refer to combined principals + Principals []*MSPPrincipal `protobuf:"bytes,1,rep,name=principals,proto3" json:"principals,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CombinedPrincipal) Reset() { *m = CombinedPrincipal{} } +func (m *CombinedPrincipal) String() string { return proto.CompactTextString(m) } +func (*CombinedPrincipal) ProtoMessage() {} +func (*CombinedPrincipal) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{4} +} + +func (m *CombinedPrincipal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CombinedPrincipal.Unmarshal(m, b) +} +func (m *CombinedPrincipal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CombinedPrincipal.Marshal(b, m, deterministic) +} +func (m *CombinedPrincipal) XXX_Merge(src proto.Message) { + xxx_messageInfo_CombinedPrincipal.Merge(m, src) +} +func (m *CombinedPrincipal) XXX_Size() int { + return xxx_messageInfo_CombinedPrincipal.Size(m) +} +func (m *CombinedPrincipal) XXX_DiscardUnknown() { + xxx_messageInfo_CombinedPrincipal.DiscardUnknown(m) +} + +var xxx_messageInfo_CombinedPrincipal proto.InternalMessageInfo + +func (m *CombinedPrincipal) GetPrincipals() []*MSPPrincipal { + if m != nil { + return m.Principals + } + return nil +} + +func init() { + proto.RegisterEnum("common.MSPPrincipal_Classification", MSPPrincipal_Classification_name, MSPPrincipal_Classification_value) + proto.RegisterEnum("common.MSPRole_MSPRoleType", MSPRole_MSPRoleType_name, MSPRole_MSPRoleType_value) + proto.RegisterEnum("common.MSPIdentityAnonymity_MSPIdentityAnonymityType", MSPIdentityAnonymity_MSPIdentityAnonymityType_name, MSPIdentityAnonymity_MSPIdentityAnonymityType_value) + proto.RegisterType((*MSPPrincipal)(nil), "common.MSPPrincipal") + proto.RegisterType((*OrganizationUnit)(nil), "common.OrganizationUnit") + proto.RegisterType((*MSPRole)(nil), "common.MSPRole") + proto.RegisterType((*MSPIdentityAnonymity)(nil), "common.MSPIdentityAnonymity") + proto.RegisterType((*CombinedPrincipal)(nil), "common.CombinedPrincipal") +} + +func init() { proto.RegisterFile("msp/msp_principal.proto", fileDescriptor_82e08b7ead29bd48) } + +var fileDescriptor_82e08b7ead29bd48 = []byte{ + // 528 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x5f, 0x6b, 0xdb, 0x3e, + 0x14, 0xad, 0x93, 0xfc, 0xda, 0xe6, 0xe6, 0x0f, 0xaa, 0x48, 0x69, 0xe0, 0x57, 0x46, 0xf0, 0x36, + 0x08, 0x8c, 0x3a, 0x90, 0x6e, 0x7b, 0x77, 0x12, 0x53, 0x0c, 0xb1, 0x1c, 0x14, 0xe7, 0xa1, 0xa5, + 0x2c, 0x38, 0x8e, 0x92, 0x0a, 0x6c, 0xcb, 0xd8, 0xee, 0x83, 0xf7, 0x91, 0xc6, 0x1e, 0xf7, 0xa9, + 0xf6, 0x29, 0x86, 0xed, 0x26, 0x51, 0xb6, 0x0e, 0xf6, 0x64, 0xce, 0xbd, 0xe7, 0x1c, 0x1f, 0x49, + 0xf7, 0xc2, 0x55, 0x90, 0x44, 0x83, 0x20, 0x89, 0x96, 0x51, 0xcc, 0x43, 0x8f, 0x47, 0xae, 0xaf, + 0x45, 0xb1, 0x48, 0x05, 0x3e, 0xf5, 0x44, 0x10, 0x88, 0x50, 0xfd, 0xa9, 0x40, 0xd3, 0x9a, 0xcf, + 0x66, 0xbb, 0x36, 0xfe, 0x02, 0xdd, 0x3d, 0x77, 0xe9, 0xf9, 0x6e, 0x92, 0xf0, 0x0d, 0xf7, 0xdc, + 0x94, 0x8b, 0xb0, 0xab, 0xf4, 0x94, 0x7e, 0x7b, 0xf8, 0x56, 0x2b, 0xb5, 0x9a, 0xac, 0xd3, 0xc6, + 0x47, 0x54, 0x7a, 0xb5, 0x37, 0x39, 0x6e, 0xe0, 0x6b, 0xa8, 0xef, 0x5b, 0xdd, 0x4a, 0x4f, 0xe9, + 0x37, 0xe9, 0xa1, 0xa0, 0x3e, 0x42, 0xfb, 0x37, 0xfe, 0x39, 0xd4, 0xa8, 0x3d, 0x35, 0xd0, 0x09, + 0xbe, 0x84, 0x0b, 0x9b, 0xde, 0xe9, 0xc4, 0x7c, 0xd0, 0x1d, 0xd3, 0x26, 0xcb, 0x05, 0x31, 0x1d, + 0xa4, 0xe0, 0x26, 0x9c, 0x9b, 0x13, 0x83, 0x38, 0xa6, 0x73, 0x8f, 0x2a, 0xb8, 0x05, 0x75, 0x9d, + 0xd8, 0xe4, 0xde, 0xca, 0x61, 0x35, 0x6f, 0x8e, 0x6d, 0x6b, 0x64, 0x12, 0x63, 0x82, 0x6a, 0xea, + 0x0f, 0x05, 0x90, 0x1d, 0x6f, 0xdd, 0x90, 0x7f, 0x2d, 0xcc, 0x17, 0x21, 0x4f, 0xf1, 0x7b, 0x68, + 0xe7, 0x17, 0xc4, 0xd7, 0x2c, 0x4c, 0xf9, 0x86, 0xb3, 0xb8, 0x38, 0x66, 0x9d, 0xb6, 0x82, 0x24, + 0x32, 0xf7, 0x45, 0x3c, 0x81, 0x37, 0x42, 0x92, 0xba, 0xfe, 0xf2, 0x39, 0xe4, 0xa9, 0x2c, 0xab, + 0x14, 0xb2, 0xeb, 0x63, 0x56, 0xfe, 0x0b, 0xc9, 0xe5, 0x16, 0x2e, 0x3d, 0x16, 0x97, 0x20, 0x91, + 0xc5, 0xd5, 0xe2, 0x26, 0x3a, 0x87, 0xe6, 0x41, 0xa4, 0x7e, 0x53, 0xe0, 0xcc, 0x9a, 0xcf, 0xa8, + 0xf0, 0xd9, 0xbf, 0xa6, 0x1d, 0x40, 0x2d, 0x16, 0x3e, 0x2b, 0x32, 0xb5, 0x87, 0xff, 0x4b, 0x2f, + 0x96, 0xbb, 0xec, 0xbe, 0x4e, 0x16, 0x31, 0x5a, 0x10, 0xd5, 0x3b, 0x68, 0x48, 0x45, 0x0c, 0x70, + 0x6a, 0x19, 0xd6, 0xc8, 0xa0, 0xe8, 0x04, 0xd7, 0xe1, 0x3f, 0x7d, 0x62, 0x99, 0x04, 0x29, 0x79, + 0x79, 0x3c, 0x35, 0x0d, 0xe2, 0xa0, 0x4a, 0xfe, 0x30, 0x33, 0xc3, 0xa0, 0xa8, 0x8a, 0x1b, 0x70, + 0x66, 0xd3, 0x89, 0x41, 0x0d, 0x8a, 0x6a, 0xea, 0x77, 0x05, 0x3a, 0xd6, 0x7c, 0x56, 0x66, 0x49, + 0x33, 0x3d, 0x14, 0x61, 0x16, 0xf0, 0x34, 0xc3, 0x8f, 0xd0, 0x76, 0x77, 0x60, 0x99, 0x66, 0x11, + 0x7b, 0x19, 0xa7, 0x4f, 0x52, 0xb8, 0x3f, 0x54, 0xaf, 0x16, 0x8b, 0xd8, 0x2d, 0x57, 0x86, 0xea, + 0x67, 0xe8, 0xfe, 0x8d, 0x9a, 0xe7, 0x23, 0xb6, 0x65, 0x12, 0x7d, 0x8a, 0x4e, 0x0e, 0x03, 0x62, + 0x2f, 0xe6, 0x48, 0x51, 0x4d, 0xb8, 0x18, 0x8b, 0x60, 0xc5, 0x43, 0xb6, 0x3e, 0xec, 0xc0, 0x47, + 0x80, 0xfd, 0x48, 0x26, 0x5d, 0xa5, 0x57, 0xed, 0x37, 0x86, 0x9d, 0xd7, 0xa6, 0x9e, 0x4a, 0xbc, + 0xd1, 0x1c, 0xde, 0x89, 0x78, 0xab, 0x3d, 0x65, 0x11, 0x8b, 0x7d, 0xb6, 0xde, 0xb2, 0x58, 0xdb, + 0xb8, 0xab, 0x98, 0x7b, 0xe5, 0xca, 0x25, 0x2f, 0x06, 0x0f, 0x1f, 0xb6, 0x3c, 0x7d, 0x7a, 0x5e, + 0xe5, 0x70, 0x20, 0x91, 0x07, 0x25, 0xf9, 0xa6, 0x24, 0xdf, 0x6c, 0x45, 0xbe, 0xb7, 0xab, 0xd3, + 0x02, 0xde, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x94, 0x15, 0xa2, 0xc9, 0x03, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode.pb.go new file mode 100644 index 0000000..142f892 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode.pb.go @@ -0,0 +1,599 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/chaincode.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type ChaincodeSpec_Type int32 + +const ( + ChaincodeSpec_UNDEFINED ChaincodeSpec_Type = 0 + ChaincodeSpec_GOLANG ChaincodeSpec_Type = 1 + ChaincodeSpec_NODE ChaincodeSpec_Type = 2 + ChaincodeSpec_CAR ChaincodeSpec_Type = 3 + ChaincodeSpec_JAVA ChaincodeSpec_Type = 4 +) + +var ChaincodeSpec_Type_name = map[int32]string{ + 0: "UNDEFINED", + 1: "GOLANG", + 2: "NODE", + 3: "CAR", + 4: "JAVA", +} + +var ChaincodeSpec_Type_value = map[string]int32{ + "UNDEFINED": 0, + "GOLANG": 1, + "NODE": 2, + "CAR": 3, + "JAVA": 4, +} + +func (x ChaincodeSpec_Type) String() string { + return proto.EnumName(ChaincodeSpec_Type_name, int32(x)) +} + +func (ChaincodeSpec_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{2, 0} +} + +//ChaincodeID contains the path as specified by the deploy transaction +//that created it as well as the hashCode that is generated by the +//system for the path. From the user level (ie, CLI, REST API and so on) +//deploy transaction is expected to provide the path and other requests +//are expected to provide the hashCode. The other value will be ignored. +//Internally, the structure could contain both values. For instance, the +//hashCode will be set when first generated using the path +type ChaincodeID struct { + //deploy transaction will use the path + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + //all other requests will use the name (really a hashcode) generated by + //the deploy transaction + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + //user friendly version name for the chaincode + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeID) Reset() { *m = ChaincodeID{} } +func (m *ChaincodeID) String() string { return proto.CompactTextString(m) } +func (*ChaincodeID) ProtoMessage() {} +func (*ChaincodeID) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{0} +} + +func (m *ChaincodeID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeID.Unmarshal(m, b) +} +func (m *ChaincodeID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeID.Marshal(b, m, deterministic) +} +func (m *ChaincodeID) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeID.Merge(m, src) +} +func (m *ChaincodeID) XXX_Size() int { + return xxx_messageInfo_ChaincodeID.Size(m) +} +func (m *ChaincodeID) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeID.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeID proto.InternalMessageInfo + +func (m *ChaincodeID) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *ChaincodeID) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeID) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +// Carries the chaincode function and its arguments. +// UnmarshalJSON in transaction.go converts the string-based REST/JSON input to +// the []byte-based current ChaincodeInput structure. +type ChaincodeInput struct { + Args [][]byte `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` + Decorations map[string][]byte `protobuf:"bytes,2,rep,name=decorations,proto3" json:"decorations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // is_init is used for the application to signal that an invocation is to be routed + // to the legacy 'Init' function for compatibility with chaincodes which handled + // Init in the old way. New applications should manage their initialized state + // themselves. + IsInit bool `protobuf:"varint,3,opt,name=is_init,json=isInit,proto3" json:"is_init,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeInput) Reset() { *m = ChaincodeInput{} } +func (m *ChaincodeInput) String() string { return proto.CompactTextString(m) } +func (*ChaincodeInput) ProtoMessage() {} +func (*ChaincodeInput) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{1} +} + +func (m *ChaincodeInput) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeInput.Unmarshal(m, b) +} +func (m *ChaincodeInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeInput.Marshal(b, m, deterministic) +} +func (m *ChaincodeInput) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeInput.Merge(m, src) +} +func (m *ChaincodeInput) XXX_Size() int { + return xxx_messageInfo_ChaincodeInput.Size(m) +} +func (m *ChaincodeInput) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeInput.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeInput proto.InternalMessageInfo + +func (m *ChaincodeInput) GetArgs() [][]byte { + if m != nil { + return m.Args + } + return nil +} + +func (m *ChaincodeInput) GetDecorations() map[string][]byte { + if m != nil { + return m.Decorations + } + return nil +} + +func (m *ChaincodeInput) GetIsInit() bool { + if m != nil { + return m.IsInit + } + return false +} + +// Carries the chaincode specification. This is the actual metadata required for +// defining a chaincode. +type ChaincodeSpec struct { + Type ChaincodeSpec_Type `protobuf:"varint,1,opt,name=type,proto3,enum=protos.ChaincodeSpec_Type" json:"type,omitempty"` + ChaincodeId *ChaincodeID `protobuf:"bytes,2,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + Input *ChaincodeInput `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` + Timeout int32 `protobuf:"varint,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeSpec) Reset() { *m = ChaincodeSpec{} } +func (m *ChaincodeSpec) String() string { return proto.CompactTextString(m) } +func (*ChaincodeSpec) ProtoMessage() {} +func (*ChaincodeSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{2} +} + +func (m *ChaincodeSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeSpec.Unmarshal(m, b) +} +func (m *ChaincodeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeSpec.Marshal(b, m, deterministic) +} +func (m *ChaincodeSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeSpec.Merge(m, src) +} +func (m *ChaincodeSpec) XXX_Size() int { + return xxx_messageInfo_ChaincodeSpec.Size(m) +} +func (m *ChaincodeSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeSpec proto.InternalMessageInfo + +func (m *ChaincodeSpec) GetType() ChaincodeSpec_Type { + if m != nil { + return m.Type + } + return ChaincodeSpec_UNDEFINED +} + +func (m *ChaincodeSpec) GetChaincodeId() *ChaincodeID { + if m != nil { + return m.ChaincodeId + } + return nil +} + +func (m *ChaincodeSpec) GetInput() *ChaincodeInput { + if m != nil { + return m.Input + } + return nil +} + +func (m *ChaincodeSpec) GetTimeout() int32 { + if m != nil { + return m.Timeout + } + return 0 +} + +// Specify the deployment of a chaincode. +// TODO: Define `codePackage`. +type ChaincodeDeploymentSpec struct { + ChaincodeSpec *ChaincodeSpec `protobuf:"bytes,1,opt,name=chaincode_spec,json=chaincodeSpec,proto3" json:"chaincode_spec,omitempty"` + CodePackage []byte `protobuf:"bytes,3,opt,name=code_package,json=codePackage,proto3" json:"code_package,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeDeploymentSpec) Reset() { *m = ChaincodeDeploymentSpec{} } +func (m *ChaincodeDeploymentSpec) String() string { return proto.CompactTextString(m) } +func (*ChaincodeDeploymentSpec) ProtoMessage() {} +func (*ChaincodeDeploymentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{3} +} + +func (m *ChaincodeDeploymentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeDeploymentSpec.Unmarshal(m, b) +} +func (m *ChaincodeDeploymentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeDeploymentSpec.Marshal(b, m, deterministic) +} +func (m *ChaincodeDeploymentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeDeploymentSpec.Merge(m, src) +} +func (m *ChaincodeDeploymentSpec) XXX_Size() int { + return xxx_messageInfo_ChaincodeDeploymentSpec.Size(m) +} +func (m *ChaincodeDeploymentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeDeploymentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeDeploymentSpec proto.InternalMessageInfo + +func (m *ChaincodeDeploymentSpec) GetChaincodeSpec() *ChaincodeSpec { + if m != nil { + return m.ChaincodeSpec + } + return nil +} + +func (m *ChaincodeDeploymentSpec) GetCodePackage() []byte { + if m != nil { + return m.CodePackage + } + return nil +} + +// Carries the chaincode function and its arguments. +type ChaincodeInvocationSpec struct { + ChaincodeSpec *ChaincodeSpec `protobuf:"bytes,1,opt,name=chaincode_spec,json=chaincodeSpec,proto3" json:"chaincode_spec,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeInvocationSpec) Reset() { *m = ChaincodeInvocationSpec{} } +func (m *ChaincodeInvocationSpec) String() string { return proto.CompactTextString(m) } +func (*ChaincodeInvocationSpec) ProtoMessage() {} +func (*ChaincodeInvocationSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{4} +} + +func (m *ChaincodeInvocationSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeInvocationSpec.Unmarshal(m, b) +} +func (m *ChaincodeInvocationSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeInvocationSpec.Marshal(b, m, deterministic) +} +func (m *ChaincodeInvocationSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeInvocationSpec.Merge(m, src) +} +func (m *ChaincodeInvocationSpec) XXX_Size() int { + return xxx_messageInfo_ChaincodeInvocationSpec.Size(m) +} +func (m *ChaincodeInvocationSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeInvocationSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeInvocationSpec proto.InternalMessageInfo + +func (m *ChaincodeInvocationSpec) GetChaincodeSpec() *ChaincodeSpec { + if m != nil { + return m.ChaincodeSpec + } + return nil +} + +// LifecycleEvent is used as the payload of the chaincode event emitted by LSCC +type LifecycleEvent struct { + ChaincodeName string `protobuf:"bytes,1,opt,name=chaincode_name,json=chaincodeName,proto3" json:"chaincode_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LifecycleEvent) Reset() { *m = LifecycleEvent{} } +func (m *LifecycleEvent) String() string { return proto.CompactTextString(m) } +func (*LifecycleEvent) ProtoMessage() {} +func (*LifecycleEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{5} +} + +func (m *LifecycleEvent) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LifecycleEvent.Unmarshal(m, b) +} +func (m *LifecycleEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LifecycleEvent.Marshal(b, m, deterministic) +} +func (m *LifecycleEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_LifecycleEvent.Merge(m, src) +} +func (m *LifecycleEvent) XXX_Size() int { + return xxx_messageInfo_LifecycleEvent.Size(m) +} +func (m *LifecycleEvent) XXX_DiscardUnknown() { + xxx_messageInfo_LifecycleEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_LifecycleEvent proto.InternalMessageInfo + +func (m *LifecycleEvent) GetChaincodeName() string { + if m != nil { + return m.ChaincodeName + } + return "" +} + +// CDSData is data stored in the LSCC on instantiation of a CC +// for CDSPackage. This needs to be serialized for ChaincodeData +// hence the protobuf format +type CDSData struct { + Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` + Metadatahash []byte `protobuf:"bytes,2,opt,name=metadatahash,proto3" json:"metadatahash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CDSData) Reset() { *m = CDSData{} } +func (m *CDSData) String() string { return proto.CompactTextString(m) } +func (*CDSData) ProtoMessage() {} +func (*CDSData) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{6} +} + +func (m *CDSData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CDSData.Unmarshal(m, b) +} +func (m *CDSData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CDSData.Marshal(b, m, deterministic) +} +func (m *CDSData) XXX_Merge(src proto.Message) { + xxx_messageInfo_CDSData.Merge(m, src) +} +func (m *CDSData) XXX_Size() int { + return xxx_messageInfo_CDSData.Size(m) +} +func (m *CDSData) XXX_DiscardUnknown() { + xxx_messageInfo_CDSData.DiscardUnknown(m) +} + +var xxx_messageInfo_CDSData proto.InternalMessageInfo + +func (m *CDSData) GetHash() []byte { + if m != nil { + return m.Hash + } + return nil +} + +func (m *CDSData) GetMetadatahash() []byte { + if m != nil { + return m.Metadatahash + } + return nil +} + +// ChaincodeData defines the datastructure for chaincodes to be serialized by proto +// Type provides an additional check by directing to use a specific package after instantiation +// Data is Type specific (see CDSPackage and SignedCDSPackage) +type ChaincodeData struct { + // Name of the chaincode + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Version of the chaincode + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // Escc for the chaincode instance + Escc string `protobuf:"bytes,3,opt,name=escc,proto3" json:"escc,omitempty"` + // Vscc for the chaincode instance + Vscc string `protobuf:"bytes,4,opt,name=vscc,proto3" json:"vscc,omitempty"` + // Policy endorsement policy for the chaincode instance + Policy *common.SignaturePolicyEnvelope `protobuf:"bytes,5,opt,name=policy,proto3" json:"policy,omitempty"` + // Data data specific to the package + Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"` + // Id of the chaincode that's the unique fingerprint for the CC This is not + // currently used anywhere but serves as a good eyecatcher + Id []byte `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` + // InstantiationPolicy for the chaincode + InstantiationPolicy *common.SignaturePolicyEnvelope `protobuf:"bytes,8,opt,name=instantiation_policy,json=instantiationPolicy,proto3" json:"instantiation_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeData) Reset() { *m = ChaincodeData{} } +func (m *ChaincodeData) String() string { return proto.CompactTextString(m) } +func (*ChaincodeData) ProtoMessage() {} +func (*ChaincodeData) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{7} +} + +func (m *ChaincodeData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeData.Unmarshal(m, b) +} +func (m *ChaincodeData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeData.Marshal(b, m, deterministic) +} +func (m *ChaincodeData) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeData.Merge(m, src) +} +func (m *ChaincodeData) XXX_Size() int { + return xxx_messageInfo_ChaincodeData.Size(m) +} +func (m *ChaincodeData) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeData.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeData proto.InternalMessageInfo + +func (m *ChaincodeData) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeData) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *ChaincodeData) GetEscc() string { + if m != nil { + return m.Escc + } + return "" +} + +func (m *ChaincodeData) GetVscc() string { + if m != nil { + return m.Vscc + } + return "" +} + +func (m *ChaincodeData) GetPolicy() *common.SignaturePolicyEnvelope { + if m != nil { + return m.Policy + } + return nil +} + +func (m *ChaincodeData) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +func (m *ChaincodeData) GetId() []byte { + if m != nil { + return m.Id + } + return nil +} + +func (m *ChaincodeData) GetInstantiationPolicy() *common.SignaturePolicyEnvelope { + if m != nil { + return m.InstantiationPolicy + } + return nil +} + +func init() { + proto.RegisterEnum("protos.ChaincodeSpec_Type", ChaincodeSpec_Type_name, ChaincodeSpec_Type_value) + proto.RegisterType((*ChaincodeID)(nil), "protos.ChaincodeID") + proto.RegisterType((*ChaincodeInput)(nil), "protos.ChaincodeInput") + proto.RegisterMapType((map[string][]byte)(nil), "protos.ChaincodeInput.DecorationsEntry") + proto.RegisterType((*ChaincodeSpec)(nil), "protos.ChaincodeSpec") + proto.RegisterType((*ChaincodeDeploymentSpec)(nil), "protos.ChaincodeDeploymentSpec") + proto.RegisterType((*ChaincodeInvocationSpec)(nil), "protos.ChaincodeInvocationSpec") + proto.RegisterType((*LifecycleEvent)(nil), "protos.LifecycleEvent") + proto.RegisterType((*CDSData)(nil), "protos.CDSData") + proto.RegisterType((*ChaincodeData)(nil), "protos.ChaincodeData") +} + +func init() { proto.RegisterFile("peer/chaincode.proto", fileDescriptor_202814c635ff5fee) } + +var fileDescriptor_202814c635ff5fee = []byte{ + // 712 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xcb, 0x6e, 0xeb, 0x36, + 0x10, 0xad, 0x64, 0xf9, 0x11, 0xca, 0x31, 0x54, 0x26, 0x69, 0x84, 0x6c, 0xea, 0x0a, 0x28, 0xea, + 0x45, 0x22, 0x03, 0x2e, 0xd0, 0x14, 0x45, 0x11, 0xc0, 0x8d, 0xdc, 0xc0, 0x41, 0xe0, 0x04, 0x4c, + 0xdb, 0x45, 0x37, 0x06, 0x43, 0x8d, 0x65, 0x22, 0x36, 0x25, 0x48, 0xb4, 0x50, 0xfd, 0x48, 0xd7, + 0xfd, 0x9c, 0xfe, 0xd5, 0xbd, 0x20, 0xe9, 0xe7, 0x4d, 0x16, 0x17, 0xb8, 0x2b, 0x8d, 0x0e, 0xcf, + 0x3c, 0xce, 0x90, 0x33, 0xe8, 0x34, 0x03, 0xc8, 0xfb, 0x6c, 0x4e, 0xb9, 0x60, 0x69, 0x0c, 0x61, + 0x96, 0xa7, 0x32, 0xc5, 0x0d, 0xfd, 0x29, 0x2e, 0xce, 0x58, 0xba, 0x5c, 0xa6, 0xa2, 0x9f, 0xa5, + 0x0b, 0xce, 0x38, 0x14, 0xe6, 0x38, 0x78, 0x44, 0xee, 0xed, 0xc6, 0x63, 0x1c, 0x61, 0x8c, 0x9c, + 0x8c, 0xca, 0xb9, 0x6f, 0x75, 0xad, 0xde, 0x11, 0xd1, 0xb6, 0xc2, 0x04, 0x5d, 0x82, 0x6f, 0x1b, + 0x4c, 0xd9, 0xd8, 0x47, 0xcd, 0x12, 0xf2, 0x82, 0xa7, 0xc2, 0xaf, 0x69, 0x78, 0xf3, 0x1b, 0xfc, + 0x6f, 0xa1, 0xce, 0x2e, 0xa2, 0xc8, 0x56, 0x52, 0x05, 0xa0, 0x79, 0x52, 0xf8, 0x56, 0xb7, 0xd6, + 0x6b, 0x13, 0x6d, 0xe3, 0x31, 0x72, 0x63, 0x60, 0x69, 0x4e, 0x25, 0x4f, 0x45, 0xe1, 0xdb, 0xdd, + 0x5a, 0xcf, 0x1d, 0xfc, 0x60, 0x8a, 0x2a, 0xc2, 0xc3, 0x00, 0x61, 0xb4, 0x63, 0x8e, 0x84, 0xcc, + 0x2b, 0xb2, 0xef, 0x8b, 0xcf, 0x51, 0x93, 0x17, 0x53, 0x2e, 0xb8, 0xd4, 0xb5, 0xb4, 0x48, 0x83, + 0x17, 0x63, 0xc1, 0xe5, 0xc5, 0x0d, 0xf2, 0x3e, 0xf5, 0xc4, 0x1e, 0xaa, 0xbd, 0x42, 0xb5, 0xd6, + 0xa7, 0x4c, 0x7c, 0x8a, 0xea, 0x25, 0x5d, 0xac, 0x8c, 0xbe, 0x36, 0x31, 0x3f, 0xbf, 0xd8, 0x3f, + 0x5b, 0xc1, 0x07, 0x0b, 0x1d, 0x6f, 0x2b, 0x79, 0xce, 0x80, 0xe1, 0x10, 0x39, 0xb2, 0xca, 0x40, + 0xbb, 0x77, 0x06, 0x17, 0x6f, 0xca, 0x55, 0xa4, 0xf0, 0x8f, 0x2a, 0x03, 0xa2, 0x79, 0xf8, 0x27, + 0xd4, 0xde, 0xde, 0xc7, 0x94, 0xc7, 0x3a, 0x85, 0x3b, 0x38, 0x79, 0x2b, 0x33, 0x22, 0xee, 0x96, + 0x38, 0x8e, 0xf1, 0x25, 0xaa, 0x73, 0xa5, 0x5c, 0x0b, 0x72, 0x07, 0xdf, 0xbc, 0xdf, 0x17, 0x62, + 0x48, 0xea, 0x32, 0x24, 0x5f, 0x42, 0xba, 0x92, 0xbe, 0xd3, 0xb5, 0x7a, 0x75, 0xb2, 0xf9, 0x0d, + 0x6e, 0x90, 0xa3, 0xaa, 0xc1, 0xc7, 0xe8, 0xe8, 0xcf, 0x49, 0x34, 0xfa, 0x7d, 0x3c, 0x19, 0x45, + 0xde, 0x57, 0x18, 0xa1, 0xc6, 0xdd, 0xe3, 0xc3, 0x70, 0x72, 0xe7, 0x59, 0xb8, 0x85, 0x9c, 0xc9, + 0x63, 0x34, 0xf2, 0x6c, 0xdc, 0x44, 0xb5, 0xdb, 0x21, 0xf1, 0x6a, 0x0a, 0xba, 0x1f, 0xfe, 0x35, + 0xf4, 0x9c, 0xe0, 0x3f, 0x0b, 0x9d, 0x6f, 0x73, 0x46, 0x90, 0x2d, 0xd2, 0x6a, 0x09, 0x42, 0xea, + 0x5e, 0xfc, 0x8a, 0x3a, 0x3b, 0x6d, 0x45, 0x06, 0x4c, 0x77, 0xc5, 0x1d, 0x9c, 0xbd, 0xdb, 0x15, + 0x72, 0xcc, 0x0e, 0x3a, 0xf9, 0x1d, 0x6a, 0x6b, 0xc7, 0x8c, 0xb2, 0x57, 0x9a, 0x80, 0x16, 0xda, + 0x26, 0xae, 0xc2, 0x9e, 0x0c, 0x74, 0xef, 0xb4, 0x6c, 0xaf, 0x76, 0xef, 0xb4, 0x1c, 0xaf, 0x4e, + 0x3a, 0x30, 0x9b, 0x01, 0x93, 0xbc, 0x84, 0x69, 0x4c, 0x25, 0x90, 0x16, 0xfc, 0x03, 0x6c, 0x0a, + 0xa2, 0x0c, 0xb2, 0xbd, 0x0a, 0xc7, 0xa2, 0x4c, 0x99, 0xbe, 0xed, 0x2f, 0xaf, 0xd0, 0xa4, 0x27, + 0x5f, 0xf3, 0x78, 0x9a, 0x80, 0x00, 0xf3, 0x88, 0xa6, 0x74, 0x91, 0x04, 0xd7, 0xa8, 0xf3, 0xc0, + 0x67, 0xc0, 0x2a, 0xb6, 0x80, 0x51, 0x09, 0x42, 0xe2, 0xef, 0xf7, 0x13, 0xe9, 0x59, 0x31, 0xef, + 0x6b, 0x17, 0x71, 0x42, 0x97, 0x10, 0x0c, 0x51, 0xf3, 0x36, 0x7a, 0x8e, 0xa8, 0xa4, 0x6a, 0x24, + 0xe6, 0xb4, 0x30, 0x73, 0xd6, 0x26, 0xda, 0xc6, 0x01, 0x6a, 0x2f, 0x41, 0xd2, 0x98, 0x4a, 0xaa, + 0xcf, 0xcc, 0x7b, 0x3c, 0xc0, 0x82, 0x7f, 0xed, 0xbd, 0x27, 0xb9, 0x89, 0xb4, 0x97, 0xf1, 0xcd, + 0x74, 0xda, 0x07, 0xd3, 0xa9, 0xd8, 0x50, 0x30, 0xb6, 0x1e, 0x5a, 0x6d, 0x2b, 0xac, 0x54, 0x98, + 0x63, 0x30, 0x65, 0xe3, 0x6b, 0xd4, 0xd0, 0x8b, 0xa2, 0xf2, 0xeb, 0xba, 0x65, 0xdf, 0x86, 0x66, + 0x7d, 0x84, 0xcf, 0x3c, 0x11, 0x54, 0xae, 0x72, 0x78, 0xd2, 0xc7, 0x23, 0x51, 0xc2, 0x22, 0xcd, + 0x80, 0xac, 0xe9, 0x2a, 0x98, 0x2a, 0xd6, 0x6f, 0x18, 0x61, 0xca, 0xc6, 0x1d, 0x64, 0xf3, 0xd8, + 0x6f, 0x6a, 0xc4, 0xe6, 0x31, 0x26, 0xe8, 0x94, 0x8b, 0x42, 0x52, 0x21, 0xb9, 0xe9, 0xea, 0x3a, + 0x55, 0xeb, 0xf3, 0x52, 0x9d, 0x1c, 0x38, 0x9b, 0xc3, 0xdf, 0x08, 0x0a, 0xd2, 0x3c, 0x09, 0xe7, + 0x55, 0x06, 0xf9, 0x02, 0xe2, 0x04, 0xf2, 0x70, 0x46, 0x5f, 0x72, 0xce, 0x36, 0x77, 0xad, 0x96, + 0xe3, 0xdf, 0x97, 0x09, 0x97, 0xf3, 0xd5, 0x8b, 0xca, 0xd0, 0xdf, 0xa3, 0xf6, 0x0d, 0xf5, 0xca, + 0x50, 0xaf, 0x92, 0xb4, 0xaf, 0xd8, 0x2f, 0x66, 0x75, 0xfe, 0xf8, 0x31, 0x00, 0x00, 0xff, 0xff, + 0x4e, 0xcb, 0x76, 0xde, 0x59, 0x05, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_event.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_event.pb.go new file mode 100644 index 0000000..8f46696 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_event.pb.go @@ -0,0 +1,110 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/chaincode_event.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +//ChaincodeEvent is used for events and registrations that are specific to chaincode +//string type - "chaincode" +type ChaincodeEvent struct { + ChaincodeId string `protobuf:"bytes,1,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + TxId string `protobuf:"bytes,2,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + EventName string `protobuf:"bytes,3,opt,name=event_name,json=eventName,proto3" json:"event_name,omitempty"` + Payload []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeEvent) Reset() { *m = ChaincodeEvent{} } +func (m *ChaincodeEvent) String() string { return proto.CompactTextString(m) } +func (*ChaincodeEvent) ProtoMessage() {} +func (*ChaincodeEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_e11f3d5e149f14fa, []int{0} +} + +func (m *ChaincodeEvent) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeEvent.Unmarshal(m, b) +} +func (m *ChaincodeEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeEvent.Marshal(b, m, deterministic) +} +func (m *ChaincodeEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeEvent.Merge(m, src) +} +func (m *ChaincodeEvent) XXX_Size() int { + return xxx_messageInfo_ChaincodeEvent.Size(m) +} +func (m *ChaincodeEvent) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeEvent proto.InternalMessageInfo + +func (m *ChaincodeEvent) GetChaincodeId() string { + if m != nil { + return m.ChaincodeId + } + return "" +} + +func (m *ChaincodeEvent) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *ChaincodeEvent) GetEventName() string { + if m != nil { + return m.EventName + } + return "" +} + +func (m *ChaincodeEvent) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func init() { + proto.RegisterType((*ChaincodeEvent)(nil), "protos.ChaincodeEvent") +} + +func init() { proto.RegisterFile("peer/chaincode_event.proto", fileDescriptor_e11f3d5e149f14fa) } + +var fileDescriptor_e11f3d5e149f14fa = []byte{ + // 221 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2a, 0x48, 0x4d, 0x2d, + 0xd2, 0x4f, 0xce, 0x48, 0xcc, 0xcc, 0x4b, 0xce, 0x4f, 0x49, 0x8d, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, + 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x03, 0x53, 0xc5, 0x4a, 0x8d, 0x8c, 0x5c, 0x7c, + 0xce, 0x30, 0x15, 0xae, 0x20, 0x05, 0x42, 0x8a, 0x5c, 0x3c, 0x08, 0x3d, 0x99, 0x29, 0x12, 0x8c, + 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0xdc, 0x70, 0x31, 0xcf, 0x14, 0x21, 0x61, 0x2e, 0xd6, 0x92, 0x0a, + 0x90, 0x1c, 0x13, 0x58, 0x8e, 0xa5, 0xa4, 0xc2, 0x33, 0x45, 0x48, 0x96, 0x8b, 0x0b, 0x6c, 0x43, + 0x7c, 0x5e, 0x62, 0x6e, 0xaa, 0x04, 0x33, 0x58, 0x86, 0x13, 0x2c, 0xe2, 0x97, 0x98, 0x9b, 0x2a, + 0x24, 0xc1, 0xc5, 0x5e, 0x90, 0x58, 0x99, 0x93, 0x9f, 0x98, 0x22, 0xc1, 0xa2, 0xc0, 0xa8, 0xc1, + 0x13, 0x04, 0xe3, 0x3a, 0x65, 0x72, 0x29, 0xe5, 0x17, 0xa5, 0xeb, 0x65, 0x54, 0x16, 0xa4, 0x16, + 0xe5, 0xa4, 0xa6, 0xa4, 0xa7, 0x16, 0xe9, 0xa5, 0x25, 0x26, 0x15, 0x65, 0x26, 0x43, 0xdc, 0x5a, + 0xac, 0x07, 0xf2, 0x87, 0x93, 0x28, 0xaa, 0x33, 0x03, 0x12, 0x93, 0xb3, 0x13, 0xd3, 0x53, 0xa3, + 0x74, 0xd2, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x91, 0x4c, 0xd0, 0x87, + 0x98, 0xa0, 0x0b, 0x31, 0x41, 0x37, 0x3d, 0x5f, 0x1f, 0x64, 0x48, 0x12, 0xc4, 0xdb, 0xc6, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xe0, 0xae, 0xf8, 0x1b, 0x01, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_shim.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_shim.pb.go new file mode 100644 index 0000000..b6a17e6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/chaincode_shim.pb.go @@ -0,0 +1,1311 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/chaincode_shim.proto + +package peer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type ChaincodeMessage_Type int32 + +const ( + ChaincodeMessage_UNDEFINED ChaincodeMessage_Type = 0 + ChaincodeMessage_REGISTER ChaincodeMessage_Type = 1 + ChaincodeMessage_REGISTERED ChaincodeMessage_Type = 2 + ChaincodeMessage_INIT ChaincodeMessage_Type = 3 + ChaincodeMessage_READY ChaincodeMessage_Type = 4 + ChaincodeMessage_TRANSACTION ChaincodeMessage_Type = 5 + ChaincodeMessage_COMPLETED ChaincodeMessage_Type = 6 + ChaincodeMessage_ERROR ChaincodeMessage_Type = 7 + ChaincodeMessage_GET_STATE ChaincodeMessage_Type = 8 + ChaincodeMessage_PUT_STATE ChaincodeMessage_Type = 9 + ChaincodeMessage_DEL_STATE ChaincodeMessage_Type = 10 + ChaincodeMessage_INVOKE_CHAINCODE ChaincodeMessage_Type = 11 + ChaincodeMessage_RESPONSE ChaincodeMessage_Type = 13 + ChaincodeMessage_GET_STATE_BY_RANGE ChaincodeMessage_Type = 14 + ChaincodeMessage_GET_QUERY_RESULT ChaincodeMessage_Type = 15 + ChaincodeMessage_QUERY_STATE_NEXT ChaincodeMessage_Type = 16 + ChaincodeMessage_QUERY_STATE_CLOSE ChaincodeMessage_Type = 17 + ChaincodeMessage_KEEPALIVE ChaincodeMessage_Type = 18 + ChaincodeMessage_GET_HISTORY_FOR_KEY ChaincodeMessage_Type = 19 + ChaincodeMessage_GET_STATE_METADATA ChaincodeMessage_Type = 20 + ChaincodeMessage_PUT_STATE_METADATA ChaincodeMessage_Type = 21 + ChaincodeMessage_GET_PRIVATE_DATA_HASH ChaincodeMessage_Type = 22 +) + +var ChaincodeMessage_Type_name = map[int32]string{ + 0: "UNDEFINED", + 1: "REGISTER", + 2: "REGISTERED", + 3: "INIT", + 4: "READY", + 5: "TRANSACTION", + 6: "COMPLETED", + 7: "ERROR", + 8: "GET_STATE", + 9: "PUT_STATE", + 10: "DEL_STATE", + 11: "INVOKE_CHAINCODE", + 13: "RESPONSE", + 14: "GET_STATE_BY_RANGE", + 15: "GET_QUERY_RESULT", + 16: "QUERY_STATE_NEXT", + 17: "QUERY_STATE_CLOSE", + 18: "KEEPALIVE", + 19: "GET_HISTORY_FOR_KEY", + 20: "GET_STATE_METADATA", + 21: "PUT_STATE_METADATA", + 22: "GET_PRIVATE_DATA_HASH", +} + +var ChaincodeMessage_Type_value = map[string]int32{ + "UNDEFINED": 0, + "REGISTER": 1, + "REGISTERED": 2, + "INIT": 3, + "READY": 4, + "TRANSACTION": 5, + "COMPLETED": 6, + "ERROR": 7, + "GET_STATE": 8, + "PUT_STATE": 9, + "DEL_STATE": 10, + "INVOKE_CHAINCODE": 11, + "RESPONSE": 13, + "GET_STATE_BY_RANGE": 14, + "GET_QUERY_RESULT": 15, + "QUERY_STATE_NEXT": 16, + "QUERY_STATE_CLOSE": 17, + "KEEPALIVE": 18, + "GET_HISTORY_FOR_KEY": 19, + "GET_STATE_METADATA": 20, + "PUT_STATE_METADATA": 21, + "GET_PRIVATE_DATA_HASH": 22, +} + +func (x ChaincodeMessage_Type) String() string { + return proto.EnumName(ChaincodeMessage_Type_name, int32(x)) +} + +func (ChaincodeMessage_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{0, 0} +} + +type ChaincodeMessage struct { + Type ChaincodeMessage_Type `protobuf:"varint,1,opt,name=type,proto3,enum=protos.ChaincodeMessage_Type" json:"type,omitempty"` + Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + Txid string `protobuf:"bytes,4,opt,name=txid,proto3" json:"txid,omitempty"` + Proposal *SignedProposal `protobuf:"bytes,5,opt,name=proposal,proto3" json:"proposal,omitempty"` + //event emitted by chaincode. Used only with Init or Invoke. + // This event is then stored (currently) + //with Block.NonHashData.TransactionResult + ChaincodeEvent *ChaincodeEvent `protobuf:"bytes,6,opt,name=chaincode_event,json=chaincodeEvent,proto3" json:"chaincode_event,omitempty"` + //channel id + ChannelId string `protobuf:"bytes,7,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeMessage) Reset() { *m = ChaincodeMessage{} } +func (m *ChaincodeMessage) String() string { return proto.CompactTextString(m) } +func (*ChaincodeMessage) ProtoMessage() {} +func (*ChaincodeMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{0} +} + +func (m *ChaincodeMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeMessage.Unmarshal(m, b) +} +func (m *ChaincodeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeMessage.Marshal(b, m, deterministic) +} +func (m *ChaincodeMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeMessage.Merge(m, src) +} +func (m *ChaincodeMessage) XXX_Size() int { + return xxx_messageInfo_ChaincodeMessage.Size(m) +} +func (m *ChaincodeMessage) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeMessage proto.InternalMessageInfo + +func (m *ChaincodeMessage) GetType() ChaincodeMessage_Type { + if m != nil { + return m.Type + } + return ChaincodeMessage_UNDEFINED +} + +func (m *ChaincodeMessage) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *ChaincodeMessage) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *ChaincodeMessage) GetTxid() string { + if m != nil { + return m.Txid + } + return "" +} + +func (m *ChaincodeMessage) GetProposal() *SignedProposal { + if m != nil { + return m.Proposal + } + return nil +} + +func (m *ChaincodeMessage) GetChaincodeEvent() *ChaincodeEvent { + if m != nil { + return m.ChaincodeEvent + } + return nil +} + +func (m *ChaincodeMessage) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +// GetState is the payload of a ChaincodeMessage. It contains a key which +// is to be fetched from the ledger. If the collection is specified, the key +// would be fetched from the collection (i.e., private state) +type GetState struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetState) Reset() { *m = GetState{} } +func (m *GetState) String() string { return proto.CompactTextString(m) } +func (*GetState) ProtoMessage() {} +func (*GetState) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{1} +} + +func (m *GetState) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetState.Unmarshal(m, b) +} +func (m *GetState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetState.Marshal(b, m, deterministic) +} +func (m *GetState) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetState.Merge(m, src) +} +func (m *GetState) XXX_Size() int { + return xxx_messageInfo_GetState.Size(m) +} +func (m *GetState) XXX_DiscardUnknown() { + xxx_messageInfo_GetState.DiscardUnknown(m) +} + +var xxx_messageInfo_GetState proto.InternalMessageInfo + +func (m *GetState) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *GetState) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +type GetStateMetadata struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetStateMetadata) Reset() { *m = GetStateMetadata{} } +func (m *GetStateMetadata) String() string { return proto.CompactTextString(m) } +func (*GetStateMetadata) ProtoMessage() {} +func (*GetStateMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{2} +} + +func (m *GetStateMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetStateMetadata.Unmarshal(m, b) +} +func (m *GetStateMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetStateMetadata.Marshal(b, m, deterministic) +} +func (m *GetStateMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetStateMetadata.Merge(m, src) +} +func (m *GetStateMetadata) XXX_Size() int { + return xxx_messageInfo_GetStateMetadata.Size(m) +} +func (m *GetStateMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_GetStateMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_GetStateMetadata proto.InternalMessageInfo + +func (m *GetStateMetadata) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *GetStateMetadata) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +// PutState is the payload of a ChaincodeMessage. It contains a key and value +// which needs to be written to the transaction's write set. If the collection is +// specified, the key and value would be written to the transaction's private +// write set. +type PutState struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PutState) Reset() { *m = PutState{} } +func (m *PutState) String() string { return proto.CompactTextString(m) } +func (*PutState) ProtoMessage() {} +func (*PutState) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{3} +} + +func (m *PutState) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PutState.Unmarshal(m, b) +} +func (m *PutState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PutState.Marshal(b, m, deterministic) +} +func (m *PutState) XXX_Merge(src proto.Message) { + xxx_messageInfo_PutState.Merge(m, src) +} +func (m *PutState) XXX_Size() int { + return xxx_messageInfo_PutState.Size(m) +} +func (m *PutState) XXX_DiscardUnknown() { + xxx_messageInfo_PutState.DiscardUnknown(m) +} + +var xxx_messageInfo_PutState proto.InternalMessageInfo + +func (m *PutState) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *PutState) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *PutState) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +type PutStateMetadata struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + Metadata *StateMetadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PutStateMetadata) Reset() { *m = PutStateMetadata{} } +func (m *PutStateMetadata) String() string { return proto.CompactTextString(m) } +func (*PutStateMetadata) ProtoMessage() {} +func (*PutStateMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{4} +} + +func (m *PutStateMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PutStateMetadata.Unmarshal(m, b) +} +func (m *PutStateMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PutStateMetadata.Marshal(b, m, deterministic) +} +func (m *PutStateMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_PutStateMetadata.Merge(m, src) +} +func (m *PutStateMetadata) XXX_Size() int { + return xxx_messageInfo_PutStateMetadata.Size(m) +} +func (m *PutStateMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_PutStateMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_PutStateMetadata proto.InternalMessageInfo + +func (m *PutStateMetadata) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *PutStateMetadata) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *PutStateMetadata) GetMetadata() *StateMetadata { + if m != nil { + return m.Metadata + } + return nil +} + +// DelState is the payload of a ChaincodeMessage. It contains a key which +// needs to be recorded in the transaction's write set as a delete operation. +// If the collection is specified, the key needs to be recorded in the +// transaction's private write set as a delete operation. +type DelState struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelState) Reset() { *m = DelState{} } +func (m *DelState) String() string { return proto.CompactTextString(m) } +func (*DelState) ProtoMessage() {} +func (*DelState) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{5} +} + +func (m *DelState) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelState.Unmarshal(m, b) +} +func (m *DelState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelState.Marshal(b, m, deterministic) +} +func (m *DelState) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelState.Merge(m, src) +} +func (m *DelState) XXX_Size() int { + return xxx_messageInfo_DelState.Size(m) +} +func (m *DelState) XXX_DiscardUnknown() { + xxx_messageInfo_DelState.DiscardUnknown(m) +} + +var xxx_messageInfo_DelState proto.InternalMessageInfo + +func (m *DelState) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *DelState) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +// GetStateByRange is the payload of a ChaincodeMessage. It contains a start key and +// a end key required to execute range query. If the collection is specified, +// the range query needs to be executed on the private data. The metadata hold +// the byte representation of QueryMetadata. +type GetStateByRange struct { + StartKey string `protobuf:"bytes,1,opt,name=startKey,proto3" json:"startKey,omitempty"` + EndKey string `protobuf:"bytes,2,opt,name=endKey,proto3" json:"endKey,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + Metadata []byte `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetStateByRange) Reset() { *m = GetStateByRange{} } +func (m *GetStateByRange) String() string { return proto.CompactTextString(m) } +func (*GetStateByRange) ProtoMessage() {} +func (*GetStateByRange) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{6} +} + +func (m *GetStateByRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetStateByRange.Unmarshal(m, b) +} +func (m *GetStateByRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetStateByRange.Marshal(b, m, deterministic) +} +func (m *GetStateByRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetStateByRange.Merge(m, src) +} +func (m *GetStateByRange) XXX_Size() int { + return xxx_messageInfo_GetStateByRange.Size(m) +} +func (m *GetStateByRange) XXX_DiscardUnknown() { + xxx_messageInfo_GetStateByRange.DiscardUnknown(m) +} + +var xxx_messageInfo_GetStateByRange proto.InternalMessageInfo + +func (m *GetStateByRange) GetStartKey() string { + if m != nil { + return m.StartKey + } + return "" +} + +func (m *GetStateByRange) GetEndKey() string { + if m != nil { + return m.EndKey + } + return "" +} + +func (m *GetStateByRange) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *GetStateByRange) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// GetQueryResult is the payload of a ChaincodeMessage. It contains a query +// string in the form that is supported by the underlying state database. +// If the collection is specified, the query needs to be executed on the +// private data. The metadata hold the byte representation of QueryMetadata. +type GetQueryResult struct { + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + Metadata []byte `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetQueryResult) Reset() { *m = GetQueryResult{} } +func (m *GetQueryResult) String() string { return proto.CompactTextString(m) } +func (*GetQueryResult) ProtoMessage() {} +func (*GetQueryResult) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{7} +} + +func (m *GetQueryResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetQueryResult.Unmarshal(m, b) +} +func (m *GetQueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetQueryResult.Marshal(b, m, deterministic) +} +func (m *GetQueryResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetQueryResult.Merge(m, src) +} +func (m *GetQueryResult) XXX_Size() int { + return xxx_messageInfo_GetQueryResult.Size(m) +} +func (m *GetQueryResult) XXX_DiscardUnknown() { + xxx_messageInfo_GetQueryResult.DiscardUnknown(m) +} + +var xxx_messageInfo_GetQueryResult proto.InternalMessageInfo + +func (m *GetQueryResult) GetQuery() string { + if m != nil { + return m.Query + } + return "" +} + +func (m *GetQueryResult) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *GetQueryResult) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// QueryMetadata is the metadata of a GetStateByRange and GetQueryResult. +// It contains a pageSize which denotes the number of records to be fetched +// and a bookmark. +type QueryMetadata struct { + PageSize int32 `protobuf:"varint,1,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Bookmark string `protobuf:"bytes,2,opt,name=bookmark,proto3" json:"bookmark,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryMetadata) Reset() { *m = QueryMetadata{} } +func (m *QueryMetadata) String() string { return proto.CompactTextString(m) } +func (*QueryMetadata) ProtoMessage() {} +func (*QueryMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{8} +} + +func (m *QueryMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryMetadata.Unmarshal(m, b) +} +func (m *QueryMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryMetadata.Marshal(b, m, deterministic) +} +func (m *QueryMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryMetadata.Merge(m, src) +} +func (m *QueryMetadata) XXX_Size() int { + return xxx_messageInfo_QueryMetadata.Size(m) +} +func (m *QueryMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_QueryMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryMetadata proto.InternalMessageInfo + +func (m *QueryMetadata) GetPageSize() int32 { + if m != nil { + return m.PageSize + } + return 0 +} + +func (m *QueryMetadata) GetBookmark() string { + if m != nil { + return m.Bookmark + } + return "" +} + +// GetHistoryForKey is the payload of a ChaincodeMessage. It contains a key +// for which the historical values need to be retrieved. +type GetHistoryForKey struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetHistoryForKey) Reset() { *m = GetHistoryForKey{} } +func (m *GetHistoryForKey) String() string { return proto.CompactTextString(m) } +func (*GetHistoryForKey) ProtoMessage() {} +func (*GetHistoryForKey) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{9} +} + +func (m *GetHistoryForKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetHistoryForKey.Unmarshal(m, b) +} +func (m *GetHistoryForKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetHistoryForKey.Marshal(b, m, deterministic) +} +func (m *GetHistoryForKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetHistoryForKey.Merge(m, src) +} +func (m *GetHistoryForKey) XXX_Size() int { + return xxx_messageInfo_GetHistoryForKey.Size(m) +} +func (m *GetHistoryForKey) XXX_DiscardUnknown() { + xxx_messageInfo_GetHistoryForKey.DiscardUnknown(m) +} + +var xxx_messageInfo_GetHistoryForKey proto.InternalMessageInfo + +func (m *GetHistoryForKey) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +type QueryStateNext struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryStateNext) Reset() { *m = QueryStateNext{} } +func (m *QueryStateNext) String() string { return proto.CompactTextString(m) } +func (*QueryStateNext) ProtoMessage() {} +func (*QueryStateNext) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{10} +} + +func (m *QueryStateNext) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryStateNext.Unmarshal(m, b) +} +func (m *QueryStateNext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryStateNext.Marshal(b, m, deterministic) +} +func (m *QueryStateNext) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStateNext.Merge(m, src) +} +func (m *QueryStateNext) XXX_Size() int { + return xxx_messageInfo_QueryStateNext.Size(m) +} +func (m *QueryStateNext) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStateNext.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStateNext proto.InternalMessageInfo + +func (m *QueryStateNext) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type QueryStateClose struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryStateClose) Reset() { *m = QueryStateClose{} } +func (m *QueryStateClose) String() string { return proto.CompactTextString(m) } +func (*QueryStateClose) ProtoMessage() {} +func (*QueryStateClose) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{11} +} + +func (m *QueryStateClose) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryStateClose.Unmarshal(m, b) +} +func (m *QueryStateClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryStateClose.Marshal(b, m, deterministic) +} +func (m *QueryStateClose) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStateClose.Merge(m, src) +} +func (m *QueryStateClose) XXX_Size() int { + return xxx_messageInfo_QueryStateClose.Size(m) +} +func (m *QueryStateClose) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStateClose.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStateClose proto.InternalMessageInfo + +func (m *QueryStateClose) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +// QueryResultBytes hold the byte representation of a record returned by the peer. +type QueryResultBytes struct { + ResultBytes []byte `protobuf:"bytes,1,opt,name=resultBytes,proto3" json:"resultBytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResultBytes) Reset() { *m = QueryResultBytes{} } +func (m *QueryResultBytes) String() string { return proto.CompactTextString(m) } +func (*QueryResultBytes) ProtoMessage() {} +func (*QueryResultBytes) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{12} +} + +func (m *QueryResultBytes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResultBytes.Unmarshal(m, b) +} +func (m *QueryResultBytes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResultBytes.Marshal(b, m, deterministic) +} +func (m *QueryResultBytes) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResultBytes.Merge(m, src) +} +func (m *QueryResultBytes) XXX_Size() int { + return xxx_messageInfo_QueryResultBytes.Size(m) +} +func (m *QueryResultBytes) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResultBytes.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResultBytes proto.InternalMessageInfo + +func (m *QueryResultBytes) GetResultBytes() []byte { + if m != nil { + return m.ResultBytes + } + return nil +} + +// QueryResponse is returned by the peer as a result of a GetStateByRange, +// GetQueryResult, and GetHistoryForKey. It holds a bunch of records in +// results field, a flag to denote whether more results need to be fetched from +// the peer in has_more field, transaction id in id field, and a QueryResponseMetadata +// in metadata field. +type QueryResponse struct { + Results []*QueryResultBytes `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + HasMore bool `protobuf:"varint,2,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Metadata []byte `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResponse) Reset() { *m = QueryResponse{} } +func (m *QueryResponse) String() string { return proto.CompactTextString(m) } +func (*QueryResponse) ProtoMessage() {} +func (*QueryResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{13} +} + +func (m *QueryResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResponse.Unmarshal(m, b) +} +func (m *QueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResponse.Marshal(b, m, deterministic) +} +func (m *QueryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResponse.Merge(m, src) +} +func (m *QueryResponse) XXX_Size() int { + return xxx_messageInfo_QueryResponse.Size(m) +} +func (m *QueryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResponse proto.InternalMessageInfo + +func (m *QueryResponse) GetResults() []*QueryResultBytes { + if m != nil { + return m.Results + } + return nil +} + +func (m *QueryResponse) GetHasMore() bool { + if m != nil { + return m.HasMore + } + return false +} + +func (m *QueryResponse) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *QueryResponse) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// QueryResponseMetadata is the metadata of a QueryResponse. It contains a count +// which denotes the number of records fetched from the ledger and a bookmark. +type QueryResponseMetadata struct { + FetchedRecordsCount int32 `protobuf:"varint,1,opt,name=fetched_records_count,json=fetchedRecordsCount,proto3" json:"fetched_records_count,omitempty"` + Bookmark string `protobuf:"bytes,2,opt,name=bookmark,proto3" json:"bookmark,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResponseMetadata) Reset() { *m = QueryResponseMetadata{} } +func (m *QueryResponseMetadata) String() string { return proto.CompactTextString(m) } +func (*QueryResponseMetadata) ProtoMessage() {} +func (*QueryResponseMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{14} +} + +func (m *QueryResponseMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResponseMetadata.Unmarshal(m, b) +} +func (m *QueryResponseMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResponseMetadata.Marshal(b, m, deterministic) +} +func (m *QueryResponseMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResponseMetadata.Merge(m, src) +} +func (m *QueryResponseMetadata) XXX_Size() int { + return xxx_messageInfo_QueryResponseMetadata.Size(m) +} +func (m *QueryResponseMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResponseMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResponseMetadata proto.InternalMessageInfo + +func (m *QueryResponseMetadata) GetFetchedRecordsCount() int32 { + if m != nil { + return m.FetchedRecordsCount + } + return 0 +} + +func (m *QueryResponseMetadata) GetBookmark() string { + if m != nil { + return m.Bookmark + } + return "" +} + +type StateMetadata struct { + Metakey string `protobuf:"bytes,1,opt,name=metakey,proto3" json:"metakey,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateMetadata) Reset() { *m = StateMetadata{} } +func (m *StateMetadata) String() string { return proto.CompactTextString(m) } +func (*StateMetadata) ProtoMessage() {} +func (*StateMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{15} +} + +func (m *StateMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateMetadata.Unmarshal(m, b) +} +func (m *StateMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateMetadata.Marshal(b, m, deterministic) +} +func (m *StateMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateMetadata.Merge(m, src) +} +func (m *StateMetadata) XXX_Size() int { + return xxx_messageInfo_StateMetadata.Size(m) +} +func (m *StateMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_StateMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_StateMetadata proto.InternalMessageInfo + +func (m *StateMetadata) GetMetakey() string { + if m != nil { + return m.Metakey + } + return "" +} + +func (m *StateMetadata) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +type StateMetadataResult struct { + Entries []*StateMetadata `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateMetadataResult) Reset() { *m = StateMetadataResult{} } +func (m *StateMetadataResult) String() string { return proto.CompactTextString(m) } +func (*StateMetadataResult) ProtoMessage() {} +func (*StateMetadataResult) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{16} +} + +func (m *StateMetadataResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateMetadataResult.Unmarshal(m, b) +} +func (m *StateMetadataResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateMetadataResult.Marshal(b, m, deterministic) +} +func (m *StateMetadataResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateMetadataResult.Merge(m, src) +} +func (m *StateMetadataResult) XXX_Size() int { + return xxx_messageInfo_StateMetadataResult.Size(m) +} +func (m *StateMetadataResult) XXX_DiscardUnknown() { + xxx_messageInfo_StateMetadataResult.DiscardUnknown(m) +} + +var xxx_messageInfo_StateMetadataResult proto.InternalMessageInfo + +func (m *StateMetadataResult) GetEntries() []*StateMetadata { + if m != nil { + return m.Entries + } + return nil +} + +func init() { + proto.RegisterEnum("protos.ChaincodeMessage_Type", ChaincodeMessage_Type_name, ChaincodeMessage_Type_value) + proto.RegisterType((*ChaincodeMessage)(nil), "protos.ChaincodeMessage") + proto.RegisterType((*GetState)(nil), "protos.GetState") + proto.RegisterType((*GetStateMetadata)(nil), "protos.GetStateMetadata") + proto.RegisterType((*PutState)(nil), "protos.PutState") + proto.RegisterType((*PutStateMetadata)(nil), "protos.PutStateMetadata") + proto.RegisterType((*DelState)(nil), "protos.DelState") + proto.RegisterType((*GetStateByRange)(nil), "protos.GetStateByRange") + proto.RegisterType((*GetQueryResult)(nil), "protos.GetQueryResult") + proto.RegisterType((*QueryMetadata)(nil), "protos.QueryMetadata") + proto.RegisterType((*GetHistoryForKey)(nil), "protos.GetHistoryForKey") + proto.RegisterType((*QueryStateNext)(nil), "protos.QueryStateNext") + proto.RegisterType((*QueryStateClose)(nil), "protos.QueryStateClose") + proto.RegisterType((*QueryResultBytes)(nil), "protos.QueryResultBytes") + proto.RegisterType((*QueryResponse)(nil), "protos.QueryResponse") + proto.RegisterType((*QueryResponseMetadata)(nil), "protos.QueryResponseMetadata") + proto.RegisterType((*StateMetadata)(nil), "protos.StateMetadata") + proto.RegisterType((*StateMetadataResult)(nil), "protos.StateMetadataResult") +} + +func init() { proto.RegisterFile("peer/chaincode_shim.proto", fileDescriptor_e5819fec16c96da2) } + +var fileDescriptor_e5819fec16c96da2 = []byte{ + // 1042 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x73, 0xda, 0x46, + 0x14, 0x2e, 0xc6, 0x18, 0xf1, 0xb0, 0xf1, 0x66, 0x1d, 0x5c, 0xc2, 0x4c, 0x5a, 0xca, 0xf4, 0xc0, + 0xa1, 0x81, 0x86, 0xf6, 0xd0, 0x43, 0x67, 0x32, 0x32, 0xac, 0x31, 0x63, 0x5b, 0x90, 0x95, 0xec, + 0xa9, 0x7b, 0xd1, 0x08, 0x69, 0x23, 0x34, 0x01, 0xad, 0x2a, 0x2d, 0x69, 0xe8, 0xad, 0xd7, 0x1e, + 0xfb, 0xc7, 0xf5, 0xef, 0xe9, 0xac, 0x7e, 0x19, 0x70, 0x9d, 0x74, 0x7c, 0x42, 0xdf, 0x7b, 0xdf, + 0x7e, 0xef, 0xd7, 0x3e, 0x24, 0x78, 0x11, 0x30, 0x16, 0xf6, 0xec, 0xb9, 0xe5, 0xf9, 0x36, 0x77, + 0x98, 0x19, 0xcd, 0xbd, 0x65, 0x37, 0x08, 0xb9, 0xe0, 0xf8, 0x20, 0xfe, 0x89, 0x9a, 0xcd, 0x1d, + 0x0a, 0xfb, 0xc0, 0x7c, 0x91, 0x70, 0x9a, 0x27, 0xb1, 0x2f, 0x08, 0x79, 0xc0, 0x23, 0x6b, 0x91, + 0x1a, 0xbf, 0x76, 0x39, 0x77, 0x17, 0xac, 0x17, 0xa3, 0xd9, 0xea, 0x5d, 0x4f, 0x78, 0x4b, 0x16, + 0x09, 0x6b, 0x19, 0x24, 0x84, 0xf6, 0x3f, 0x25, 0x40, 0x83, 0x4c, 0xef, 0x9a, 0x45, 0x91, 0xe5, + 0x32, 0xfc, 0x1a, 0xf6, 0xc5, 0x3a, 0x60, 0x8d, 0x42, 0xab, 0xd0, 0xa9, 0xf5, 0x5f, 0x26, 0xd4, + 0xa8, 0xbb, 0xcb, 0xeb, 0x1a, 0xeb, 0x80, 0xd1, 0x98, 0x8a, 0x7f, 0x82, 0x4a, 0x2e, 0xdd, 0xd8, + 0x6b, 0x15, 0x3a, 0xd5, 0x7e, 0xb3, 0x9b, 0x04, 0xef, 0x66, 0xc1, 0xbb, 0x46, 0xc6, 0xa0, 0xf7, + 0x64, 0xdc, 0x80, 0x72, 0x60, 0xad, 0x17, 0xdc, 0x72, 0x1a, 0xc5, 0x56, 0xa1, 0x73, 0x48, 0x33, + 0x88, 0x31, 0xec, 0x8b, 0x8f, 0x9e, 0xd3, 0xd8, 0x6f, 0x15, 0x3a, 0x15, 0x1a, 0x3f, 0xe3, 0x3e, + 0x28, 0x59, 0x89, 0x8d, 0x52, 0x1c, 0xe6, 0x34, 0x4b, 0x4f, 0xf7, 0x5c, 0x9f, 0x39, 0xd3, 0xd4, + 0x4b, 0x73, 0x1e, 0x7e, 0x03, 0xc7, 0x3b, 0x2d, 0x6b, 0x1c, 0x6c, 0x1f, 0xcd, 0x2b, 0x23, 0xd2, + 0x4b, 0x6b, 0xf6, 0x16, 0xc6, 0x2f, 0x01, 0xec, 0xb9, 0xe5, 0xfb, 0x6c, 0x61, 0x7a, 0x4e, 0xa3, + 0x1c, 0xa7, 0x53, 0x49, 0x2d, 0x63, 0xa7, 0xfd, 0x77, 0x11, 0xf6, 0x65, 0x2b, 0xf0, 0x11, 0x54, + 0x6e, 0xb4, 0x21, 0x39, 0x1f, 0x6b, 0x64, 0x88, 0xbe, 0xc0, 0x87, 0xa0, 0x50, 0x32, 0x1a, 0xeb, + 0x06, 0xa1, 0xa8, 0x80, 0x6b, 0x00, 0x19, 0x22, 0x43, 0xb4, 0x87, 0x15, 0xd8, 0x1f, 0x6b, 0x63, + 0x03, 0x15, 0x71, 0x05, 0x4a, 0x94, 0xa8, 0xc3, 0x3b, 0xb4, 0x8f, 0x8f, 0xa1, 0x6a, 0x50, 0x55, + 0xd3, 0xd5, 0x81, 0x31, 0x9e, 0x68, 0xa8, 0x24, 0x25, 0x07, 0x93, 0xeb, 0xe9, 0x15, 0x31, 0xc8, + 0x10, 0x1d, 0x48, 0x2a, 0xa1, 0x74, 0x42, 0x51, 0x59, 0x7a, 0x46, 0xc4, 0x30, 0x75, 0x43, 0x35, + 0x08, 0x52, 0x24, 0x9c, 0xde, 0x64, 0xb0, 0x22, 0xe1, 0x90, 0x5c, 0xa5, 0x10, 0xf0, 0x73, 0x40, + 0x63, 0xed, 0x76, 0x72, 0x49, 0xcc, 0xc1, 0x85, 0x3a, 0xd6, 0x06, 0x93, 0x21, 0x41, 0xd5, 0x24, + 0x41, 0x7d, 0x3a, 0xd1, 0x74, 0x82, 0x8e, 0xf0, 0x29, 0xe0, 0x5c, 0xd0, 0x3c, 0xbb, 0x33, 0xa9, + 0xaa, 0x8d, 0x08, 0xaa, 0xc9, 0xb3, 0xd2, 0xfe, 0xf6, 0x86, 0xd0, 0x3b, 0x93, 0x12, 0xfd, 0xe6, + 0xca, 0x40, 0xc7, 0xd2, 0x9a, 0x58, 0x12, 0xbe, 0x46, 0x7e, 0x31, 0x10, 0xc2, 0x75, 0x78, 0xb6, + 0x69, 0x1d, 0x5c, 0x4d, 0x74, 0x82, 0x9e, 0xc9, 0x6c, 0x2e, 0x09, 0x99, 0xaa, 0x57, 0xe3, 0x5b, + 0x82, 0x30, 0xfe, 0x12, 0x4e, 0xa4, 0xe2, 0xc5, 0x58, 0x37, 0x26, 0xf4, 0xce, 0x3c, 0x9f, 0x50, + 0xf3, 0x92, 0xdc, 0xa1, 0x93, 0xed, 0x14, 0xae, 0x89, 0xa1, 0x0e, 0x55, 0x43, 0x45, 0xcf, 0xa5, + 0x3d, 0x2f, 0xee, 0xde, 0x5e, 0xc7, 0x2f, 0xa0, 0x2e, 0xf9, 0x53, 0x3a, 0xbe, 0x95, 0x1e, 0x69, + 0x35, 0x2f, 0x54, 0xfd, 0x02, 0x9d, 0xb6, 0x7f, 0x06, 0x65, 0xc4, 0x84, 0x2e, 0x2c, 0xc1, 0x30, + 0x82, 0xe2, 0x7b, 0xb6, 0x8e, 0xaf, 0x73, 0x85, 0xca, 0x47, 0xfc, 0x15, 0x80, 0xcd, 0x17, 0x0b, + 0x66, 0x0b, 0x8f, 0xfb, 0xf1, 0x7d, 0xad, 0xd0, 0x0d, 0x4b, 0x7b, 0x08, 0x28, 0x3b, 0x7d, 0xcd, + 0x84, 0xe5, 0x58, 0xc2, 0x7a, 0x82, 0x0a, 0x05, 0x65, 0xba, 0x7a, 0x34, 0x87, 0xe7, 0x50, 0xfa, + 0x60, 0x2d, 0x56, 0x2c, 0x3e, 0x78, 0x48, 0x13, 0xb0, 0xa3, 0x59, 0x7c, 0xa0, 0xf9, 0x3b, 0xa0, + 0x4c, 0xf3, 0x7f, 0x67, 0xf6, 0x40, 0x05, 0xbf, 0x06, 0x65, 0x99, 0x9e, 0x8e, 0xd7, 0xab, 0xda, + 0xaf, 0xe7, 0x6b, 0xb4, 0x29, 0x4d, 0x73, 0x9a, 0x6c, 0xe8, 0x90, 0x2d, 0x9e, 0xda, 0xd0, 0x3f, + 0x0b, 0x70, 0x9c, 0x75, 0xf4, 0x6c, 0x4d, 0x2d, 0xdf, 0x65, 0xb8, 0x09, 0x4a, 0x24, 0xac, 0x50, + 0x5c, 0xe6, 0x52, 0x39, 0xc6, 0xa7, 0x70, 0xc0, 0x7c, 0x47, 0x7a, 0x12, 0xad, 0x14, 0x7d, 0xb6, + 0xb0, 0xe6, 0x4e, 0x61, 0x87, 0x1b, 0x15, 0xcc, 0xa0, 0x36, 0x62, 0xe2, 0xed, 0x8a, 0x85, 0x6b, + 0xca, 0xa2, 0xd5, 0x42, 0xc8, 0x11, 0xfc, 0x26, 0x61, 0x1a, 0x3e, 0x01, 0x9f, 0xab, 0x65, 0x2b, + 0x46, 0x71, 0x27, 0xc6, 0x08, 0x8e, 0xe2, 0x00, 0xf9, 0x6c, 0x9a, 0xa0, 0x04, 0x96, 0xcb, 0x74, + 0xef, 0x8f, 0xe4, 0xff, 0xb4, 0x44, 0x73, 0x2c, 0x7d, 0x33, 0xce, 0xdf, 0x2f, 0xad, 0xf0, 0x7d, + 0x1a, 0x26, 0xc7, 0xed, 0x6f, 0xe3, 0x1b, 0x78, 0xe1, 0x45, 0x82, 0x87, 0xeb, 0x73, 0x1e, 0xca, + 0xe2, 0x1f, 0xb4, 0xbd, 0xdd, 0x82, 0x5a, 0x1c, 0x2e, 0xee, 0xab, 0xc6, 0x3e, 0x0a, 0x5c, 0x83, + 0x3d, 0xcf, 0x49, 0x29, 0x7b, 0x9e, 0xd3, 0xfe, 0x06, 0x8e, 0xef, 0x19, 0x83, 0x05, 0x8f, 0xd8, + 0x03, 0xca, 0x8f, 0x80, 0x36, 0x9a, 0x72, 0xb6, 0x16, 0x2c, 0xc2, 0x2d, 0xa8, 0x86, 0xf7, 0x30, + 0x26, 0x1f, 0xd2, 0x4d, 0x53, 0xfb, 0xaf, 0x42, 0x5a, 0x2a, 0x65, 0x51, 0xc0, 0xfd, 0x88, 0xe1, + 0x3e, 0x94, 0x13, 0x82, 0xe4, 0x17, 0x3b, 0xd5, 0x7e, 0x23, 0xbb, 0x53, 0xbb, 0xf2, 0x34, 0x23, + 0xe2, 0x17, 0xa0, 0xcc, 0xad, 0xc8, 0x5c, 0xf2, 0x30, 0xd9, 0x03, 0x85, 0x96, 0xe7, 0x56, 0x74, + 0xcd, 0xc3, 0x2c, 0xcd, 0x62, 0x96, 0xe6, 0x27, 0x47, 0xeb, 0x42, 0x7d, 0x2b, 0x97, 0xbc, 0xfd, + 0x7d, 0xa8, 0xbf, 0x63, 0xc2, 0x9e, 0x33, 0xc7, 0x0c, 0x99, 0xcd, 0x43, 0x27, 0x32, 0x6d, 0xbe, + 0xf2, 0x45, 0x3a, 0x8b, 0x93, 0xd4, 0x49, 0x13, 0xdf, 0x40, 0xba, 0x3e, 0x39, 0x96, 0x37, 0x70, + 0xb4, 0xbd, 0x7b, 0x0d, 0x28, 0xcb, 0x2c, 0xee, 0xe7, 0x92, 0xc1, 0xff, 0xde, 0xef, 0xf6, 0x39, + 0x9c, 0x6c, 0x6f, 0x58, 0x72, 0x13, 0x7b, 0x50, 0x66, 0xbe, 0x08, 0x3d, 0x96, 0xf5, 0xee, 0x91, + 0x7d, 0xcc, 0x58, 0xfd, 0xdb, 0x8d, 0xf7, 0xb6, 0xbe, 0x0a, 0x02, 0x1e, 0x0a, 0x7c, 0x06, 0x0a, + 0x65, 0xae, 0x17, 0x09, 0x16, 0xe2, 0xc6, 0x63, 0x6f, 0xed, 0xe6, 0xa3, 0x9e, 0x4e, 0xe1, 0xfb, + 0x42, 0x5f, 0x83, 0x4a, 0x6e, 0xc7, 0x2a, 0x94, 0x07, 0xdc, 0xf7, 0x99, 0x2d, 0x9e, 0xaa, 0x77, + 0x46, 0xa1, 0xcd, 0x43, 0xb7, 0x3b, 0x5f, 0x07, 0x2c, 0x5c, 0x30, 0xc7, 0x65, 0x61, 0xf7, 0x9d, + 0x35, 0x0b, 0x3d, 0x3b, 0x3b, 0x25, 0x3f, 0x5b, 0x7e, 0xfd, 0xce, 0xf5, 0xc4, 0x7c, 0x35, 0xeb, + 0xda, 0x7c, 0xd9, 0xdb, 0xa0, 0xf6, 0x12, 0xea, 0xab, 0x84, 0xfa, 0xca, 0xe5, 0x3d, 0xc9, 0x9e, + 0x25, 0x9f, 0x43, 0x3f, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x77, 0x8a, 0x54, 0x7a, 0x32, 0x09, + 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// ChaincodeSupportClient is the client API for ChaincodeSupport service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ChaincodeSupportClient interface { + Register(ctx context.Context, opts ...grpc.CallOption) (ChaincodeSupport_RegisterClient, error) +} + +type chaincodeSupportClient struct { + cc *grpc.ClientConn +} + +func NewChaincodeSupportClient(cc *grpc.ClientConn) ChaincodeSupportClient { + return &chaincodeSupportClient{cc} +} + +func (c *chaincodeSupportClient) Register(ctx context.Context, opts ...grpc.CallOption) (ChaincodeSupport_RegisterClient, error) { + stream, err := c.cc.NewStream(ctx, &_ChaincodeSupport_serviceDesc.Streams[0], "/protos.ChaincodeSupport/Register", opts...) + if err != nil { + return nil, err + } + x := &chaincodeSupportRegisterClient{stream} + return x, nil +} + +type ChaincodeSupport_RegisterClient interface { + Send(*ChaincodeMessage) error + Recv() (*ChaincodeMessage, error) + grpc.ClientStream +} + +type chaincodeSupportRegisterClient struct { + grpc.ClientStream +} + +func (x *chaincodeSupportRegisterClient) Send(m *ChaincodeMessage) error { + return x.ClientStream.SendMsg(m) +} + +func (x *chaincodeSupportRegisterClient) Recv() (*ChaincodeMessage, error) { + m := new(ChaincodeMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// ChaincodeSupportServer is the server API for ChaincodeSupport service. +type ChaincodeSupportServer interface { + Register(ChaincodeSupport_RegisterServer) error +} + +// UnimplementedChaincodeSupportServer can be embedded to have forward compatible implementations. +type UnimplementedChaincodeSupportServer struct { +} + +func (*UnimplementedChaincodeSupportServer) Register(srv ChaincodeSupport_RegisterServer) error { + return status.Errorf(codes.Unimplemented, "method Register not implemented") +} + +func RegisterChaincodeSupportServer(s *grpc.Server, srv ChaincodeSupportServer) { + s.RegisterService(&_ChaincodeSupport_serviceDesc, srv) +} + +func _ChaincodeSupport_Register_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ChaincodeSupportServer).Register(&chaincodeSupportRegisterServer{stream}) +} + +type ChaincodeSupport_RegisterServer interface { + Send(*ChaincodeMessage) error + Recv() (*ChaincodeMessage, error) + grpc.ServerStream +} + +type chaincodeSupportRegisterServer struct { + grpc.ServerStream +} + +func (x *chaincodeSupportRegisterServer) Send(m *ChaincodeMessage) error { + return x.ServerStream.SendMsg(m) +} + +func (x *chaincodeSupportRegisterServer) Recv() (*ChaincodeMessage, error) { + m := new(ChaincodeMessage) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _ChaincodeSupport_serviceDesc = grpc.ServiceDesc{ + ServiceName: "protos.ChaincodeSupport", + HandlerType: (*ChaincodeSupportServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Register", + Handler: _ChaincodeSupport_Register_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "peer/chaincode_shim.proto", +} + +// ChaincodeClient is the client API for Chaincode service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ChaincodeClient interface { + Connect(ctx context.Context, opts ...grpc.CallOption) (Chaincode_ConnectClient, error) +} + +type chaincodeClient struct { + cc *grpc.ClientConn +} + +func NewChaincodeClient(cc *grpc.ClientConn) ChaincodeClient { + return &chaincodeClient{cc} +} + +func (c *chaincodeClient) Connect(ctx context.Context, opts ...grpc.CallOption) (Chaincode_ConnectClient, error) { + stream, err := c.cc.NewStream(ctx, &_Chaincode_serviceDesc.Streams[0], "/protos.Chaincode/Connect", opts...) + if err != nil { + return nil, err + } + x := &chaincodeConnectClient{stream} + return x, nil +} + +type Chaincode_ConnectClient interface { + Send(*ChaincodeMessage) error + Recv() (*ChaincodeMessage, error) + grpc.ClientStream +} + +type chaincodeConnectClient struct { + grpc.ClientStream +} + +func (x *chaincodeConnectClient) Send(m *ChaincodeMessage) error { + return x.ClientStream.SendMsg(m) +} + +func (x *chaincodeConnectClient) Recv() (*ChaincodeMessage, error) { + m := new(ChaincodeMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// ChaincodeServer is the server API for Chaincode service. +type ChaincodeServer interface { + Connect(Chaincode_ConnectServer) error +} + +// UnimplementedChaincodeServer can be embedded to have forward compatible implementations. +type UnimplementedChaincodeServer struct { +} + +func (*UnimplementedChaincodeServer) Connect(srv Chaincode_ConnectServer) error { + return status.Errorf(codes.Unimplemented, "method Connect not implemented") +} + +func RegisterChaincodeServer(s *grpc.Server, srv ChaincodeServer) { + s.RegisterService(&_Chaincode_serviceDesc, srv) +} + +func _Chaincode_Connect_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ChaincodeServer).Connect(&chaincodeConnectServer{stream}) +} + +type Chaincode_ConnectServer interface { + Send(*ChaincodeMessage) error + Recv() (*ChaincodeMessage, error) + grpc.ServerStream +} + +type chaincodeConnectServer struct { + grpc.ServerStream +} + +func (x *chaincodeConnectServer) Send(m *ChaincodeMessage) error { + return x.ServerStream.SendMsg(m) +} + +func (x *chaincodeConnectServer) Recv() (*ChaincodeMessage, error) { + m := new(ChaincodeMessage) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _Chaincode_serviceDesc = grpc.ServiceDesc{ + ServiceName: "protos.Chaincode", + HandlerType: (*ChaincodeServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Connect", + Handler: _Chaincode_Connect_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "peer/chaincode_shim.proto", +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/collection.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/collection.pb.go new file mode 100644 index 0000000..1fcfea1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/collection.pb.go @@ -0,0 +1,364 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/collection.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// CollectionConfigPackage represents an array of CollectionConfig +// messages; the extra struct is required because repeated oneof is +// forbidden by the protobuf syntax +type CollectionConfigPackage struct { + Config []*CollectionConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionConfigPackage) Reset() { *m = CollectionConfigPackage{} } +func (m *CollectionConfigPackage) String() string { return proto.CompactTextString(m) } +func (*CollectionConfigPackage) ProtoMessage() {} +func (*CollectionConfigPackage) Descriptor() ([]byte, []int) { + return fileDescriptor_d8182e05ac5917d8, []int{0} +} + +func (m *CollectionConfigPackage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionConfigPackage.Unmarshal(m, b) +} +func (m *CollectionConfigPackage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionConfigPackage.Marshal(b, m, deterministic) +} +func (m *CollectionConfigPackage) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionConfigPackage.Merge(m, src) +} +func (m *CollectionConfigPackage) XXX_Size() int { + return xxx_messageInfo_CollectionConfigPackage.Size(m) +} +func (m *CollectionConfigPackage) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionConfigPackage.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionConfigPackage proto.InternalMessageInfo + +func (m *CollectionConfigPackage) GetConfig() []*CollectionConfig { + if m != nil { + return m.Config + } + return nil +} + +// CollectionConfig defines the configuration of a collection object; +// it currently contains a single, static type. +// Dynamic collections are deferred. +type CollectionConfig struct { + // Types that are valid to be assigned to Payload: + // *CollectionConfig_StaticCollectionConfig + Payload isCollectionConfig_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionConfig) Reset() { *m = CollectionConfig{} } +func (m *CollectionConfig) String() string { return proto.CompactTextString(m) } +func (*CollectionConfig) ProtoMessage() {} +func (*CollectionConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_d8182e05ac5917d8, []int{1} +} + +func (m *CollectionConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionConfig.Unmarshal(m, b) +} +func (m *CollectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionConfig.Marshal(b, m, deterministic) +} +func (m *CollectionConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionConfig.Merge(m, src) +} +func (m *CollectionConfig) XXX_Size() int { + return xxx_messageInfo_CollectionConfig.Size(m) +} +func (m *CollectionConfig) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionConfig proto.InternalMessageInfo + +type isCollectionConfig_Payload interface { + isCollectionConfig_Payload() +} + +type CollectionConfig_StaticCollectionConfig struct { + StaticCollectionConfig *StaticCollectionConfig `protobuf:"bytes,1,opt,name=static_collection_config,json=staticCollectionConfig,proto3,oneof"` +} + +func (*CollectionConfig_StaticCollectionConfig) isCollectionConfig_Payload() {} + +func (m *CollectionConfig) GetPayload() isCollectionConfig_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *CollectionConfig) GetStaticCollectionConfig() *StaticCollectionConfig { + if x, ok := m.GetPayload().(*CollectionConfig_StaticCollectionConfig); ok { + return x.StaticCollectionConfig + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CollectionConfig) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CollectionConfig_StaticCollectionConfig)(nil), + } +} + +// StaticCollectionConfig constitutes the configuration parameters of a +// static collection object. Static collections are collections that are +// known at chaincode instantiation time, and that cannot be changed. +// Dynamic collections are deferred. +type StaticCollectionConfig struct { + // the name of the collection inside the denoted chaincode + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // a reference to a policy residing / managed in the config block + // to define which orgs have access to this collection’s private data + MemberOrgsPolicy *CollectionPolicyConfig `protobuf:"bytes,2,opt,name=member_orgs_policy,json=memberOrgsPolicy,proto3" json:"member_orgs_policy,omitempty"` + // The minimum number of peers private data will be sent to upon + // endorsement. The endorsement would fail if dissemination to at least + // this number of peers is not achieved. + RequiredPeerCount int32 `protobuf:"varint,3,opt,name=required_peer_count,json=requiredPeerCount,proto3" json:"required_peer_count,omitempty"` + // The maximum number of peers that private data will be sent to + // upon endorsement. This number has to be bigger than required_peer_count. + MaximumPeerCount int32 `protobuf:"varint,4,opt,name=maximum_peer_count,json=maximumPeerCount,proto3" json:"maximum_peer_count,omitempty"` + // The number of blocks after which the collection data expires. + // For instance if the value is set to 10, a key last modified by block number 100 + // will be purged at block number 111. A zero value is treated same as MaxUint64 + BlockToLive uint64 `protobuf:"varint,5,opt,name=block_to_live,json=blockToLive,proto3" json:"block_to_live,omitempty"` + // The member only read access denotes whether only collection member clients + // can read the private data (if set to true), or even non members can + // read the data (if set to false, for example if you want to implement more granular + // access logic in the chaincode) + MemberOnlyRead bool `protobuf:"varint,6,opt,name=member_only_read,json=memberOnlyRead,proto3" json:"member_only_read,omitempty"` + // The member only write access denotes whether only collection member clients + // can write the private data (if set to true), or even non members can + // write the data (if set to false, for example if you want to implement more granular + // access logic in the chaincode) + MemberOnlyWrite bool `protobuf:"varint,7,opt,name=member_only_write,json=memberOnlyWrite,proto3" json:"member_only_write,omitempty"` + // a reference to a policy residing / managed in the config block + // to define the endorsement policy for this collection + EndorsementPolicy *ApplicationPolicy `protobuf:"bytes,8,opt,name=endorsement_policy,json=endorsementPolicy,proto3" json:"endorsement_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StaticCollectionConfig) Reset() { *m = StaticCollectionConfig{} } +func (m *StaticCollectionConfig) String() string { return proto.CompactTextString(m) } +func (*StaticCollectionConfig) ProtoMessage() {} +func (*StaticCollectionConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_d8182e05ac5917d8, []int{2} +} + +func (m *StaticCollectionConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StaticCollectionConfig.Unmarshal(m, b) +} +func (m *StaticCollectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StaticCollectionConfig.Marshal(b, m, deterministic) +} +func (m *StaticCollectionConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_StaticCollectionConfig.Merge(m, src) +} +func (m *StaticCollectionConfig) XXX_Size() int { + return xxx_messageInfo_StaticCollectionConfig.Size(m) +} +func (m *StaticCollectionConfig) XXX_DiscardUnknown() { + xxx_messageInfo_StaticCollectionConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_StaticCollectionConfig proto.InternalMessageInfo + +func (m *StaticCollectionConfig) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *StaticCollectionConfig) GetMemberOrgsPolicy() *CollectionPolicyConfig { + if m != nil { + return m.MemberOrgsPolicy + } + return nil +} + +func (m *StaticCollectionConfig) GetRequiredPeerCount() int32 { + if m != nil { + return m.RequiredPeerCount + } + return 0 +} + +func (m *StaticCollectionConfig) GetMaximumPeerCount() int32 { + if m != nil { + return m.MaximumPeerCount + } + return 0 +} + +func (m *StaticCollectionConfig) GetBlockToLive() uint64 { + if m != nil { + return m.BlockToLive + } + return 0 +} + +func (m *StaticCollectionConfig) GetMemberOnlyRead() bool { + if m != nil { + return m.MemberOnlyRead + } + return false +} + +func (m *StaticCollectionConfig) GetMemberOnlyWrite() bool { + if m != nil { + return m.MemberOnlyWrite + } + return false +} + +func (m *StaticCollectionConfig) GetEndorsementPolicy() *ApplicationPolicy { + if m != nil { + return m.EndorsementPolicy + } + return nil +} + +// Collection policy configuration. Initially, the configuration can only +// contain a SignaturePolicy. In the future, the SignaturePolicy may be a +// more general Policy. Instead of containing the actual policy, the +// configuration may in the future contain a string reference to a policy. +type CollectionPolicyConfig struct { + // Types that are valid to be assigned to Payload: + // *CollectionPolicyConfig_SignaturePolicy + Payload isCollectionPolicyConfig_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionPolicyConfig) Reset() { *m = CollectionPolicyConfig{} } +func (m *CollectionPolicyConfig) String() string { return proto.CompactTextString(m) } +func (*CollectionPolicyConfig) ProtoMessage() {} +func (*CollectionPolicyConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_d8182e05ac5917d8, []int{3} +} + +func (m *CollectionPolicyConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionPolicyConfig.Unmarshal(m, b) +} +func (m *CollectionPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionPolicyConfig.Marshal(b, m, deterministic) +} +func (m *CollectionPolicyConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionPolicyConfig.Merge(m, src) +} +func (m *CollectionPolicyConfig) XXX_Size() int { + return xxx_messageInfo_CollectionPolicyConfig.Size(m) +} +func (m *CollectionPolicyConfig) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionPolicyConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionPolicyConfig proto.InternalMessageInfo + +type isCollectionPolicyConfig_Payload interface { + isCollectionPolicyConfig_Payload() +} + +type CollectionPolicyConfig_SignaturePolicy struct { + SignaturePolicy *common.SignaturePolicyEnvelope `protobuf:"bytes,1,opt,name=signature_policy,json=signaturePolicy,proto3,oneof"` +} + +func (*CollectionPolicyConfig_SignaturePolicy) isCollectionPolicyConfig_Payload() {} + +func (m *CollectionPolicyConfig) GetPayload() isCollectionPolicyConfig_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *CollectionPolicyConfig) GetSignaturePolicy() *common.SignaturePolicyEnvelope { + if x, ok := m.GetPayload().(*CollectionPolicyConfig_SignaturePolicy); ok { + return x.SignaturePolicy + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CollectionPolicyConfig) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CollectionPolicyConfig_SignaturePolicy)(nil), + } +} + +func init() { + proto.RegisterType((*CollectionConfigPackage)(nil), "protos.CollectionConfigPackage") + proto.RegisterType((*CollectionConfig)(nil), "protos.CollectionConfig") + proto.RegisterType((*StaticCollectionConfig)(nil), "protos.StaticCollectionConfig") + proto.RegisterType((*CollectionPolicyConfig)(nil), "protos.CollectionPolicyConfig") +} + +func init() { proto.RegisterFile("peer/collection.proto", fileDescriptor_d8182e05ac5917d8) } + +var fileDescriptor_d8182e05ac5917d8 = []byte{ + // 479 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x93, 0xd1, 0x6a, 0xdb, 0x3e, + 0x18, 0xc5, 0x9b, 0x7f, 0xd2, 0xb4, 0x55, 0xf8, 0xaf, 0x89, 0x46, 0x33, 0xaf, 0x17, 0x5b, 0xf0, + 0x95, 0x19, 0xad, 0x33, 0xba, 0x27, 0x58, 0xc3, 0x20, 0xb0, 0xc0, 0x82, 0x3a, 0x18, 0xf4, 0xc6, + 0x28, 0xf2, 0x57, 0x57, 0x54, 0x96, 0x5c, 0x49, 0xce, 0xe6, 0x77, 0xd9, 0xc3, 0x0e, 0x4b, 0x71, + 0xed, 0x86, 0x5c, 0x25, 0x9c, 0xf3, 0x3b, 0x9f, 0x3e, 0x1d, 0x64, 0x74, 0x51, 0x00, 0xe8, 0x39, + 0x53, 0x42, 0x00, 0xb3, 0x5c, 0xc9, 0xb8, 0xd0, 0xca, 0x2a, 0x3c, 0x74, 0x3f, 0xe6, 0xf2, 0x82, + 0xa9, 0x3c, 0x57, 0x72, 0x5e, 0x28, 0xc1, 0x19, 0x07, 0xe3, 0xed, 0xcb, 0x89, 0x4b, 0x39, 0xb1, + 0xf2, 0x52, 0xf8, 0x1d, 0xbd, 0x5b, 0xbc, 0x4c, 0x59, 0x28, 0xf9, 0xc0, 0xb3, 0x35, 0x65, 0x4f, + 0x34, 0x03, 0xfc, 0x19, 0x0d, 0x99, 0x13, 0x82, 0xde, 0xac, 0x1f, 0x8d, 0x6e, 0x02, 0x1f, 0x31, + 0xf1, 0x7e, 0x80, 0xec, 0xb8, 0xb0, 0x42, 0xe3, 0x7d, 0x0f, 0xdf, 0xa3, 0xc0, 0x58, 0x6a, 0x39, + 0x4b, 0xda, 0x6d, 0x93, 0x97, 0xb9, 0xbd, 0x68, 0x74, 0xf3, 0xa1, 0x99, 0x7b, 0xe7, 0xb8, 0xfd, + 0x09, 0xcb, 0x23, 0x32, 0x35, 0x07, 0x9d, 0xdb, 0x33, 0x74, 0x52, 0xd0, 0x4a, 0x28, 0x9a, 0x86, + 0x7f, 0xfb, 0x68, 0x7a, 0x38, 0x8f, 0x31, 0x1a, 0x48, 0x9a, 0x83, 0x3b, 0xed, 0x8c, 0xb8, 0xff, + 0x78, 0x85, 0x70, 0x0e, 0xf9, 0x06, 0x74, 0xa2, 0x74, 0x66, 0x12, 0x5f, 0x49, 0xf0, 0xdf, 0xeb, + 0x7d, 0xda, 0x49, 0x6b, 0xe7, 0xef, 0x6e, 0x3b, 0xf6, 0xc9, 0x1f, 0x3a, 0x33, 0x5e, 0xc7, 0x31, + 0x7a, 0xab, 0xe1, 0xb9, 0xe4, 0x1a, 0xd2, 0xa4, 0xae, 0x38, 0x61, 0xaa, 0x94, 0x36, 0xe8, 0xcf, + 0x7a, 0xd1, 0x31, 0x99, 0x34, 0xd6, 0x1a, 0x40, 0x2f, 0x6a, 0x03, 0x5f, 0x21, 0x9c, 0xd3, 0x3f, + 0x3c, 0x2f, 0xf3, 0x2e, 0x3e, 0x70, 0xf8, 0x78, 0xe7, 0xb4, 0x74, 0x88, 0xfe, 0xdf, 0x08, 0xc5, + 0x9e, 0x12, 0xab, 0x12, 0xc1, 0xb7, 0x10, 0x1c, 0xcf, 0x7a, 0xd1, 0x80, 0x8c, 0x9c, 0xf8, 0x53, + 0xad, 0xf8, 0x16, 0x70, 0x84, 0xc6, 0xcd, 0x7d, 0xa4, 0xa8, 0x12, 0x0d, 0x34, 0x0d, 0x86, 0xb3, + 0x5e, 0x74, 0x4a, 0xde, 0xec, 0xb6, 0x95, 0xa2, 0x22, 0x40, 0x53, 0xfc, 0x09, 0x4d, 0xba, 0xe4, + 0x6f, 0xcd, 0x2d, 0x04, 0x27, 0x0e, 0x3d, 0x6f, 0xd1, 0x5f, 0xb5, 0x8c, 0x97, 0x08, 0x83, 0x4c, + 0x95, 0x36, 0x90, 0x83, 0xb4, 0x4d, 0x4b, 0xa7, 0xae, 0xa5, 0xf7, 0x4d, 0x4b, 0x5f, 0x8b, 0x42, + 0x70, 0x46, 0xdb, 0x9a, 0xc8, 0xa4, 0x13, 0xf2, 0x52, 0xf8, 0x8c, 0xa6, 0x87, 0xdb, 0xc4, 0x2b, + 0x34, 0x36, 0x3c, 0x93, 0xd4, 0x96, 0x1a, 0x9a, 0x13, 0xfc, 0xbb, 0xf8, 0x18, 0xfb, 0x57, 0x1c, + 0xdf, 0x35, 0xbe, 0x0f, 0x7e, 0x93, 0x5b, 0x10, 0xaa, 0x80, 0xe5, 0x11, 0x39, 0x37, 0xaf, 0xad, + 0xce, 0x8b, 0xb8, 0x25, 0x28, 0x54, 0x3a, 0x8b, 0x1f, 0xab, 0x02, 0xb4, 0x80, 0x34, 0x03, 0x1d, + 0x3f, 0xd0, 0x8d, 0xe6, 0xac, 0x59, 0xbc, 0xae, 0xfe, 0xfe, 0x2a, 0xe3, 0xf6, 0xb1, 0xdc, 0xd4, + 0x47, 0xcd, 0x3b, 0xe8, 0xdc, 0xa3, 0xd7, 0x1e, 0xbd, 0xce, 0xd4, 0xbc, 0xa6, 0x37, 0xfe, 0xfb, + 0xfa, 0xf2, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x67, 0x04, 0x1f, 0x7f, 0x03, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/configuration.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/configuration.pb.go new file mode 100644 index 0000000..c85f2c0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/configuration.pb.go @@ -0,0 +1,225 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/configuration.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// AnchorPeers simply represents list of anchor peers which is used in ConfigurationItem +type AnchorPeers struct { + AnchorPeers []*AnchorPeer `protobuf:"bytes,1,rep,name=anchor_peers,json=anchorPeers,proto3" json:"anchor_peers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnchorPeers) Reset() { *m = AnchorPeers{} } +func (m *AnchorPeers) String() string { return proto.CompactTextString(m) } +func (*AnchorPeers) ProtoMessage() {} +func (*AnchorPeers) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{0} +} + +func (m *AnchorPeers) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnchorPeers.Unmarshal(m, b) +} +func (m *AnchorPeers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnchorPeers.Marshal(b, m, deterministic) +} +func (m *AnchorPeers) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnchorPeers.Merge(m, src) +} +func (m *AnchorPeers) XXX_Size() int { + return xxx_messageInfo_AnchorPeers.Size(m) +} +func (m *AnchorPeers) XXX_DiscardUnknown() { + xxx_messageInfo_AnchorPeers.DiscardUnknown(m) +} + +var xxx_messageInfo_AnchorPeers proto.InternalMessageInfo + +func (m *AnchorPeers) GetAnchorPeers() []*AnchorPeer { + if m != nil { + return m.AnchorPeers + } + return nil +} + +// AnchorPeer message structure which provides information about anchor peer, it includes host name, +// port number and peer certificate. +type AnchorPeer struct { + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnchorPeer) Reset() { *m = AnchorPeer{} } +func (m *AnchorPeer) String() string { return proto.CompactTextString(m) } +func (*AnchorPeer) ProtoMessage() {} +func (*AnchorPeer) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{1} +} + +func (m *AnchorPeer) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnchorPeer.Unmarshal(m, b) +} +func (m *AnchorPeer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnchorPeer.Marshal(b, m, deterministic) +} +func (m *AnchorPeer) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnchorPeer.Merge(m, src) +} +func (m *AnchorPeer) XXX_Size() int { + return xxx_messageInfo_AnchorPeer.Size(m) +} +func (m *AnchorPeer) XXX_DiscardUnknown() { + xxx_messageInfo_AnchorPeer.DiscardUnknown(m) +} + +var xxx_messageInfo_AnchorPeer proto.InternalMessageInfo + +func (m *AnchorPeer) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +func (m *AnchorPeer) GetPort() int32 { + if m != nil { + return m.Port + } + return 0 +} + +// APIResource represents an API resource in the peer whose ACL +// is determined by the policy_ref field +type APIResource struct { + PolicyRef string `protobuf:"bytes,1,opt,name=policy_ref,json=policyRef,proto3" json:"policy_ref,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *APIResource) Reset() { *m = APIResource{} } +func (m *APIResource) String() string { return proto.CompactTextString(m) } +func (*APIResource) ProtoMessage() {} +func (*APIResource) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{2} +} + +func (m *APIResource) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_APIResource.Unmarshal(m, b) +} +func (m *APIResource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_APIResource.Marshal(b, m, deterministic) +} +func (m *APIResource) XXX_Merge(src proto.Message) { + xxx_messageInfo_APIResource.Merge(m, src) +} +func (m *APIResource) XXX_Size() int { + return xxx_messageInfo_APIResource.Size(m) +} +func (m *APIResource) XXX_DiscardUnknown() { + xxx_messageInfo_APIResource.DiscardUnknown(m) +} + +var xxx_messageInfo_APIResource proto.InternalMessageInfo + +func (m *APIResource) GetPolicyRef() string { + if m != nil { + return m.PolicyRef + } + return "" +} + +// ACLs provides mappings for resources in a channel. APIResource encapsulates +// reference to a policy used to determine ACL for the resource +type ACLs struct { + Acls map[string]*APIResource `protobuf:"bytes,1,rep,name=acls,proto3" json:"acls,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ACLs) Reset() { *m = ACLs{} } +func (m *ACLs) String() string { return proto.CompactTextString(m) } +func (*ACLs) ProtoMessage() {} +func (*ACLs) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{3} +} + +func (m *ACLs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ACLs.Unmarshal(m, b) +} +func (m *ACLs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ACLs.Marshal(b, m, deterministic) +} +func (m *ACLs) XXX_Merge(src proto.Message) { + xxx_messageInfo_ACLs.Merge(m, src) +} +func (m *ACLs) XXX_Size() int { + return xxx_messageInfo_ACLs.Size(m) +} +func (m *ACLs) XXX_DiscardUnknown() { + xxx_messageInfo_ACLs.DiscardUnknown(m) +} + +var xxx_messageInfo_ACLs proto.InternalMessageInfo + +func (m *ACLs) GetAcls() map[string]*APIResource { + if m != nil { + return m.Acls + } + return nil +} + +func init() { + proto.RegisterType((*AnchorPeers)(nil), "protos.AnchorPeers") + proto.RegisterType((*AnchorPeer)(nil), "protos.AnchorPeer") + proto.RegisterType((*APIResource)(nil), "protos.APIResource") + proto.RegisterType((*ACLs)(nil), "protos.ACLs") + proto.RegisterMapType((map[string]*APIResource)(nil), "protos.ACLs.AclsEntry") +} + +func init() { proto.RegisterFile("peer/configuration.proto", fileDescriptor_4978ae8738390a60) } + +var fileDescriptor_4978ae8738390a60 = []byte{ + // 296 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xcd, 0x4b, 0xc3, 0x40, + 0x10, 0xc5, 0x49, 0x3f, 0x84, 0x4e, 0x3c, 0xc8, 0x0a, 0x12, 0x04, 0xa1, 0xe4, 0x54, 0xa5, 0x4d, + 0xa0, 0x2a, 0x88, 0xb7, 0x58, 0x3d, 0x08, 0x3d, 0x94, 0x3d, 0x7a, 0x29, 0xe9, 0x3a, 0xf9, 0xc0, + 0x98, 0x09, 0xb3, 0x89, 0x90, 0x9b, 0x7f, 0xba, 0x64, 0xb7, 0x4d, 0x3c, 0xed, 0xdb, 0xb7, 0xbf, + 0x37, 0x3c, 0x76, 0xc0, 0xab, 0x10, 0x39, 0x54, 0x54, 0x26, 0x79, 0xda, 0x70, 0x5c, 0xe7, 0x54, + 0x06, 0x15, 0x53, 0x4d, 0xe2, 0xcc, 0x1c, 0xda, 0x7f, 0x05, 0x37, 0x2a, 0x55, 0x46, 0xbc, 0x43, + 0x64, 0x2d, 0x1e, 0xe1, 0x3c, 0x36, 0xd7, 0x7d, 0x97, 0xd4, 0x9e, 0x33, 0x1f, 0x2f, 0xdc, 0xb5, + 0xb0, 0x21, 0x1d, 0x0c, 0xa8, 0x74, 0xe3, 0x21, 0xe6, 0x3f, 0x00, 0x0c, 0x4f, 0x42, 0xc0, 0x24, + 0x23, 0x5d, 0x7b, 0xce, 0xdc, 0x59, 0xcc, 0xa4, 0xd1, 0x9d, 0x57, 0x11, 0xd7, 0xde, 0x68, 0xee, + 0x2c, 0xa6, 0xd2, 0x68, 0x7f, 0x09, 0x6e, 0xb4, 0x7b, 0x97, 0xa8, 0xa9, 0x61, 0x85, 0xe2, 0x06, + 0xa0, 0xa2, 0x22, 0x57, 0xed, 0x9e, 0x31, 0x39, 0x86, 0x67, 0xd6, 0x91, 0x98, 0xf8, 0xbf, 0x0e, + 0x4c, 0xa2, 0xcd, 0x56, 0x8b, 0x3b, 0x98, 0xc4, 0xaa, 0x38, 0x75, 0xbb, 0xea, 0xbb, 0x6d, 0xb6, + 0x3a, 0x88, 0x54, 0xa1, 0xdf, 0xca, 0x9a, 0x5b, 0x69, 0x98, 0xeb, 0x2d, 0xcc, 0x7a, 0x4b, 0x5c, + 0xc0, 0xf8, 0x0b, 0xdb, 0xe3, 0xe4, 0x4e, 0x8a, 0x5b, 0x98, 0xfe, 0xc4, 0x45, 0x83, 0xa6, 0x96, + 0xbb, 0xbe, 0xec, 0x67, 0x0d, 0xb5, 0xa4, 0x25, 0x9e, 0x47, 0x4f, 0xce, 0x8b, 0x04, 0x9f, 0x38, + 0x0d, 0xb2, 0xb6, 0x42, 0x2e, 0xf0, 0x33, 0x45, 0x0e, 0x92, 0xf8, 0xc0, 0xb9, 0x3a, 0xe5, 0xba, + 0x4f, 0xfb, 0x58, 0xa6, 0x79, 0x9d, 0x35, 0x87, 0x40, 0xd1, 0x77, 0xf8, 0x0f, 0x0d, 0x2d, 0xba, + 0xb2, 0xe8, 0x2a, 0xa5, 0xb0, 0xa3, 0x0f, 0x76, 0x11, 0xf7, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x10, 0x49, 0xdc, 0x44, 0xab, 0x01, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/events.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/events.pb.go new file mode 100644 index 0000000..1f68f9e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/events.pb.go @@ -0,0 +1,742 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/events.proto + +package peer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + rwset "github.com/hyperledger/fabric-protos-go/ledger/rwset" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// FilteredBlock is a minimal set of information about a block +type FilteredBlock struct { + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` + FilteredTransactions []*FilteredTransaction `protobuf:"bytes,4,rep,name=filtered_transactions,json=filteredTransactions,proto3" json:"filtered_transactions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredBlock) Reset() { *m = FilteredBlock{} } +func (m *FilteredBlock) String() string { return proto.CompactTextString(m) } +func (*FilteredBlock) ProtoMessage() {} +func (*FilteredBlock) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{0} +} + +func (m *FilteredBlock) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredBlock.Unmarshal(m, b) +} +func (m *FilteredBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredBlock.Marshal(b, m, deterministic) +} +func (m *FilteredBlock) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredBlock.Merge(m, src) +} +func (m *FilteredBlock) XXX_Size() int { + return xxx_messageInfo_FilteredBlock.Size(m) +} +func (m *FilteredBlock) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredBlock.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredBlock proto.InternalMessageInfo + +func (m *FilteredBlock) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func (m *FilteredBlock) GetNumber() uint64 { + if m != nil { + return m.Number + } + return 0 +} + +func (m *FilteredBlock) GetFilteredTransactions() []*FilteredTransaction { + if m != nil { + return m.FilteredTransactions + } + return nil +} + +// FilteredTransaction is a minimal set of information about a transaction +// within a block +type FilteredTransaction struct { + Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Type common.HeaderType `protobuf:"varint,2,opt,name=type,proto3,enum=common.HeaderType" json:"type,omitempty"` + TxValidationCode TxValidationCode `protobuf:"varint,3,opt,name=tx_validation_code,json=txValidationCode,proto3,enum=protos.TxValidationCode" json:"tx_validation_code,omitempty"` + // Types that are valid to be assigned to Data: + // *FilteredTransaction_TransactionActions + Data isFilteredTransaction_Data `protobuf_oneof:"Data"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredTransaction) Reset() { *m = FilteredTransaction{} } +func (m *FilteredTransaction) String() string { return proto.CompactTextString(m) } +func (*FilteredTransaction) ProtoMessage() {} +func (*FilteredTransaction) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{1} +} + +func (m *FilteredTransaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredTransaction.Unmarshal(m, b) +} +func (m *FilteredTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredTransaction.Marshal(b, m, deterministic) +} +func (m *FilteredTransaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredTransaction.Merge(m, src) +} +func (m *FilteredTransaction) XXX_Size() int { + return xxx_messageInfo_FilteredTransaction.Size(m) +} +func (m *FilteredTransaction) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredTransaction.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredTransaction proto.InternalMessageInfo + +func (m *FilteredTransaction) GetTxid() string { + if m != nil { + return m.Txid + } + return "" +} + +func (m *FilteredTransaction) GetType() common.HeaderType { + if m != nil { + return m.Type + } + return common.HeaderType_MESSAGE +} + +func (m *FilteredTransaction) GetTxValidationCode() TxValidationCode { + if m != nil { + return m.TxValidationCode + } + return TxValidationCode_VALID +} + +type isFilteredTransaction_Data interface { + isFilteredTransaction_Data() +} + +type FilteredTransaction_TransactionActions struct { + TransactionActions *FilteredTransactionActions `protobuf:"bytes,4,opt,name=transaction_actions,json=transactionActions,proto3,oneof"` +} + +func (*FilteredTransaction_TransactionActions) isFilteredTransaction_Data() {} + +func (m *FilteredTransaction) GetData() isFilteredTransaction_Data { + if m != nil { + return m.Data + } + return nil +} + +func (m *FilteredTransaction) GetTransactionActions() *FilteredTransactionActions { + if x, ok := m.GetData().(*FilteredTransaction_TransactionActions); ok { + return x.TransactionActions + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*FilteredTransaction) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*FilteredTransaction_TransactionActions)(nil), + } +} + +// FilteredTransactionActions is a wrapper for array of TransactionAction +// message from regular block +type FilteredTransactionActions struct { + ChaincodeActions []*FilteredChaincodeAction `protobuf:"bytes,1,rep,name=chaincode_actions,json=chaincodeActions,proto3" json:"chaincode_actions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredTransactionActions) Reset() { *m = FilteredTransactionActions{} } +func (m *FilteredTransactionActions) String() string { return proto.CompactTextString(m) } +func (*FilteredTransactionActions) ProtoMessage() {} +func (*FilteredTransactionActions) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{2} +} + +func (m *FilteredTransactionActions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredTransactionActions.Unmarshal(m, b) +} +func (m *FilteredTransactionActions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredTransactionActions.Marshal(b, m, deterministic) +} +func (m *FilteredTransactionActions) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredTransactionActions.Merge(m, src) +} +func (m *FilteredTransactionActions) XXX_Size() int { + return xxx_messageInfo_FilteredTransactionActions.Size(m) +} +func (m *FilteredTransactionActions) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredTransactionActions.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredTransactionActions proto.InternalMessageInfo + +func (m *FilteredTransactionActions) GetChaincodeActions() []*FilteredChaincodeAction { + if m != nil { + return m.ChaincodeActions + } + return nil +} + +// FilteredChaincodeAction is a minimal set of information about an action +// within a transaction +type FilteredChaincodeAction struct { + ChaincodeEvent *ChaincodeEvent `protobuf:"bytes,1,opt,name=chaincode_event,json=chaincodeEvent,proto3" json:"chaincode_event,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredChaincodeAction) Reset() { *m = FilteredChaincodeAction{} } +func (m *FilteredChaincodeAction) String() string { return proto.CompactTextString(m) } +func (*FilteredChaincodeAction) ProtoMessage() {} +func (*FilteredChaincodeAction) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{3} +} + +func (m *FilteredChaincodeAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredChaincodeAction.Unmarshal(m, b) +} +func (m *FilteredChaincodeAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredChaincodeAction.Marshal(b, m, deterministic) +} +func (m *FilteredChaincodeAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredChaincodeAction.Merge(m, src) +} +func (m *FilteredChaincodeAction) XXX_Size() int { + return xxx_messageInfo_FilteredChaincodeAction.Size(m) +} +func (m *FilteredChaincodeAction) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredChaincodeAction.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredChaincodeAction proto.InternalMessageInfo + +func (m *FilteredChaincodeAction) GetChaincodeEvent() *ChaincodeEvent { + if m != nil { + return m.ChaincodeEvent + } + return nil +} + +// BlockAndPrivateData contains Block and a map from tx_seq_in_block to rwset.TxPvtReadWriteSet +type BlockAndPrivateData struct { + Block *common.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + // map from tx_seq_in_block to rwset.TxPvtReadWriteSet + PrivateDataMap map[uint64]*rwset.TxPvtReadWriteSet `protobuf:"bytes,2,rep,name=private_data_map,json=privateDataMap,proto3" json:"private_data_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockAndPrivateData) Reset() { *m = BlockAndPrivateData{} } +func (m *BlockAndPrivateData) String() string { return proto.CompactTextString(m) } +func (*BlockAndPrivateData) ProtoMessage() {} +func (*BlockAndPrivateData) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{4} +} + +func (m *BlockAndPrivateData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockAndPrivateData.Unmarshal(m, b) +} +func (m *BlockAndPrivateData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockAndPrivateData.Marshal(b, m, deterministic) +} +func (m *BlockAndPrivateData) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockAndPrivateData.Merge(m, src) +} +func (m *BlockAndPrivateData) XXX_Size() int { + return xxx_messageInfo_BlockAndPrivateData.Size(m) +} +func (m *BlockAndPrivateData) XXX_DiscardUnknown() { + xxx_messageInfo_BlockAndPrivateData.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockAndPrivateData proto.InternalMessageInfo + +func (m *BlockAndPrivateData) GetBlock() *common.Block { + if m != nil { + return m.Block + } + return nil +} + +func (m *BlockAndPrivateData) GetPrivateDataMap() map[uint64]*rwset.TxPvtReadWriteSet { + if m != nil { + return m.PrivateDataMap + } + return nil +} + +// DeliverResponse +type DeliverResponse struct { + // Types that are valid to be assigned to Type: + // *DeliverResponse_Status + // *DeliverResponse_Block + // *DeliverResponse_FilteredBlock + // *DeliverResponse_BlockAndPrivateData + Type isDeliverResponse_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeliverResponse) Reset() { *m = DeliverResponse{} } +func (m *DeliverResponse) String() string { return proto.CompactTextString(m) } +func (*DeliverResponse) ProtoMessage() {} +func (*DeliverResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{5} +} + +func (m *DeliverResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeliverResponse.Unmarshal(m, b) +} +func (m *DeliverResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeliverResponse.Marshal(b, m, deterministic) +} +func (m *DeliverResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeliverResponse.Merge(m, src) +} +func (m *DeliverResponse) XXX_Size() int { + return xxx_messageInfo_DeliverResponse.Size(m) +} +func (m *DeliverResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DeliverResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DeliverResponse proto.InternalMessageInfo + +type isDeliverResponse_Type interface { + isDeliverResponse_Type() +} + +type DeliverResponse_Status struct { + Status common.Status `protobuf:"varint,1,opt,name=status,proto3,enum=common.Status,oneof"` +} + +type DeliverResponse_Block struct { + Block *common.Block `protobuf:"bytes,2,opt,name=block,proto3,oneof"` +} + +type DeliverResponse_FilteredBlock struct { + FilteredBlock *FilteredBlock `protobuf:"bytes,3,opt,name=filtered_block,json=filteredBlock,proto3,oneof"` +} + +type DeliverResponse_BlockAndPrivateData struct { + BlockAndPrivateData *BlockAndPrivateData `protobuf:"bytes,4,opt,name=block_and_private_data,json=blockAndPrivateData,proto3,oneof"` +} + +func (*DeliverResponse_Status) isDeliverResponse_Type() {} + +func (*DeliverResponse_Block) isDeliverResponse_Type() {} + +func (*DeliverResponse_FilteredBlock) isDeliverResponse_Type() {} + +func (*DeliverResponse_BlockAndPrivateData) isDeliverResponse_Type() {} + +func (m *DeliverResponse) GetType() isDeliverResponse_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *DeliverResponse) GetStatus() common.Status { + if x, ok := m.GetType().(*DeliverResponse_Status); ok { + return x.Status + } + return common.Status_UNKNOWN +} + +func (m *DeliverResponse) GetBlock() *common.Block { + if x, ok := m.GetType().(*DeliverResponse_Block); ok { + return x.Block + } + return nil +} + +func (m *DeliverResponse) GetFilteredBlock() *FilteredBlock { + if x, ok := m.GetType().(*DeliverResponse_FilteredBlock); ok { + return x.FilteredBlock + } + return nil +} + +func (m *DeliverResponse) GetBlockAndPrivateData() *BlockAndPrivateData { + if x, ok := m.GetType().(*DeliverResponse_BlockAndPrivateData); ok { + return x.BlockAndPrivateData + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*DeliverResponse) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*DeliverResponse_Status)(nil), + (*DeliverResponse_Block)(nil), + (*DeliverResponse_FilteredBlock)(nil), + (*DeliverResponse_BlockAndPrivateData)(nil), + } +} + +func init() { + proto.RegisterType((*FilteredBlock)(nil), "protos.FilteredBlock") + proto.RegisterType((*FilteredTransaction)(nil), "protos.FilteredTransaction") + proto.RegisterType((*FilteredTransactionActions)(nil), "protos.FilteredTransactionActions") + proto.RegisterType((*FilteredChaincodeAction)(nil), "protos.FilteredChaincodeAction") + proto.RegisterType((*BlockAndPrivateData)(nil), "protos.BlockAndPrivateData") + proto.RegisterMapType((map[uint64]*rwset.TxPvtReadWriteSet)(nil), "protos.BlockAndPrivateData.PrivateDataMapEntry") + proto.RegisterType((*DeliverResponse)(nil), "protos.DeliverResponse") +} + +func init() { proto.RegisterFile("peer/events.proto", fileDescriptor_5eedcc5fab2714e6) } + +var fileDescriptor_5eedcc5fab2714e6 = []byte{ + // 700 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xda, 0x4a, + 0x14, 0xc5, 0x40, 0x78, 0xca, 0x45, 0x10, 0x32, 0xbc, 0x10, 0x8b, 0xe8, 0xe9, 0x45, 0x7e, 0x7a, + 0x15, 0x8b, 0xc6, 0x54, 0x74, 0x53, 0x65, 0xd1, 0x2a, 0xe4, 0x43, 0x44, 0x6a, 0x25, 0x34, 0xa1, + 0x8d, 0x9a, 0x2e, 0xac, 0xc1, 0xbe, 0x80, 0x1b, 0x63, 0x5b, 0xf6, 0x40, 0xe1, 0x9f, 0xf4, 0x87, + 0xf5, 0x97, 0x74, 0xd5, 0x55, 0x55, 0x79, 0xc6, 0xc3, 0x57, 0x48, 0xa4, 0x6c, 0xec, 0xf1, 0xbd, + 0xe7, 0x9c, 0x3b, 0xf7, 0xf8, 0xce, 0xc0, 0x7e, 0x88, 0x18, 0x35, 0x71, 0x8a, 0x3e, 0x8f, 0xcd, + 0x30, 0x0a, 0x78, 0x40, 0x0a, 0xe2, 0x15, 0xd7, 0xab, 0x76, 0x30, 0x1e, 0x07, 0x7e, 0x53, 0xbe, + 0x64, 0xb2, 0xae, 0x7b, 0xe8, 0x0c, 0x31, 0x6a, 0x46, 0xdf, 0x62, 0xe4, 0xf2, 0x99, 0x66, 0xea, + 0x42, 0xc9, 0x1e, 0x31, 0xd7, 0xb7, 0x03, 0x07, 0x2d, 0xa1, 0x99, 0xe6, 0x6a, 0x22, 0xc7, 0x23, + 0xe6, 0xc7, 0xcc, 0xe6, 0xae, 0x52, 0x33, 0xbe, 0x6b, 0x50, 0xba, 0x72, 0x3d, 0x8e, 0x11, 0x3a, + 0x6d, 0x2f, 0xb0, 0xef, 0xc9, 0x3f, 0x00, 0xf6, 0x88, 0xf9, 0x3e, 0x7a, 0x96, 0xeb, 0xe8, 0xda, + 0xb1, 0xd6, 0xd8, 0xa5, 0xbb, 0x69, 0xe4, 0xda, 0x21, 0x35, 0x28, 0xf8, 0x93, 0x71, 0x1f, 0x23, + 0x3d, 0x7b, 0xac, 0x35, 0xf2, 0x34, 0xfd, 0x22, 0x5d, 0x38, 0x18, 0xa4, 0x3a, 0xd6, 0x4a, 0x99, + 0x58, 0xcf, 0x1f, 0xe7, 0x1a, 0xc5, 0xd6, 0x91, 0xac, 0x17, 0x9b, 0xaa, 0x58, 0x6f, 0x89, 0xa1, + 0x7f, 0x0f, 0x1e, 0x06, 0x63, 0xe3, 0x97, 0x06, 0xd5, 0x2d, 0x68, 0x42, 0x20, 0xcf, 0x67, 0x8b, + 0xad, 0x89, 0x35, 0x79, 0x01, 0x79, 0x3e, 0x0f, 0x51, 0xec, 0xa9, 0xdc, 0x22, 0x66, 0xea, 0x58, + 0x07, 0x99, 0x83, 0x51, 0x6f, 0x1e, 0x22, 0x15, 0x79, 0x72, 0x05, 0x84, 0xcf, 0xac, 0x29, 0xf3, + 0x5c, 0x87, 0x25, 0x62, 0x56, 0x62, 0x94, 0x9e, 0x13, 0x2c, 0x5d, 0x6d, 0xb1, 0x37, 0xfb, 0xb4, + 0x00, 0x9c, 0x07, 0x0e, 0xd2, 0x0a, 0xdf, 0x88, 0x90, 0x8f, 0x50, 0x5d, 0x69, 0xd2, 0x5a, 0xf6, + 0xaa, 0x35, 0x8a, 0x2d, 0xe3, 0x89, 0x5e, 0xcf, 0x24, 0xb2, 0x93, 0xa1, 0x84, 0x3f, 0x88, 0xb6, + 0x0b, 0x90, 0xbf, 0x60, 0x9c, 0x19, 0x5f, 0xa1, 0xfe, 0x38, 0x97, 0xbc, 0x87, 0xfd, 0xe5, 0x4f, + 0x56, 0xa5, 0x35, 0x61, 0xf3, 0xbf, 0x9b, 0xa5, 0xcf, 0x15, 0x50, 0x92, 0x69, 0xc5, 0x5e, 0x0f, + 0xc4, 0xc6, 0x1d, 0x1c, 0x3e, 0x02, 0x26, 0xef, 0x60, 0x6f, 0x63, 0x9a, 0x84, 0xe9, 0xc5, 0x56, + 0x4d, 0x95, 0x59, 0x30, 0x2e, 0x93, 0x2c, 0x2d, 0xdb, 0x6b, 0xdf, 0xc6, 0x4f, 0x0d, 0xaa, 0x62, + 0xaa, 0xce, 0x7c, 0xa7, 0x1b, 0xb9, 0x53, 0xc6, 0x31, 0xe9, 0x8f, 0xfc, 0x07, 0x3b, 0xfd, 0x24, + 0x9c, 0xca, 0x95, 0xd4, 0xff, 0x12, 0x58, 0x2a, 0x73, 0xe4, 0x33, 0x54, 0x42, 0xc9, 0xb1, 0x1c, + 0xc6, 0x99, 0x35, 0x66, 0xa1, 0x9e, 0x15, 0x5d, 0x36, 0x55, 0xf9, 0x2d, 0xda, 0xe6, 0xca, 0xfa, + 0x03, 0x0b, 0x2f, 0x7d, 0x1e, 0xcd, 0x69, 0x39, 0x5c, 0x0b, 0xd6, 0xbf, 0x40, 0x75, 0x0b, 0x8c, + 0x54, 0x20, 0x77, 0x8f, 0x73, 0xb1, 0xa9, 0x3c, 0x4d, 0x96, 0xc4, 0x84, 0x9d, 0x29, 0xf3, 0x26, + 0x72, 0xb0, 0x8a, 0x2d, 0xdd, 0x94, 0xe7, 0xad, 0x37, 0xeb, 0x4e, 0x39, 0x45, 0xe6, 0xdc, 0x46, + 0x2e, 0xc7, 0x1b, 0xe4, 0x54, 0xc2, 0x4e, 0xb3, 0x6f, 0x34, 0xe3, 0xb7, 0x06, 0x7b, 0x17, 0xe8, + 0xb9, 0x53, 0x8c, 0x28, 0xc6, 0x61, 0xe0, 0xc7, 0x48, 0x1a, 0x50, 0x88, 0x39, 0xe3, 0x93, 0x58, + 0x88, 0x97, 0x5b, 0x65, 0xd5, 0xf1, 0x8d, 0x88, 0x76, 0x32, 0x34, 0xcd, 0x93, 0xff, 0x95, 0x35, + 0xd9, 0x2d, 0xd6, 0x74, 0x32, 0xca, 0x9c, 0xb7, 0x50, 0x5e, 0x1c, 0x37, 0x89, 0xcf, 0x09, 0xfc, + 0xc1, 0xe6, 0x00, 0x28, 0x5e, 0x69, 0xb0, 0x76, 0xca, 0x29, 0xd4, 0x04, 0xcd, 0x62, 0xbe, 0x63, + 0xad, 0xda, 0x9c, 0xce, 0xf0, 0xd1, 0x13, 0x16, 0x77, 0x32, 0xb4, 0xda, 0x7f, 0x18, 0x4e, 0xa6, + 0x37, 0x39, 0x6a, 0xad, 0x1f, 0x1a, 0xfc, 0x95, 0x1a, 0x40, 0x4e, 0x97, 0xcb, 0x8a, 0x6a, 0xe5, + 0xd2, 0x9f, 0xa2, 0x17, 0x84, 0x58, 0x3f, 0x54, 0x45, 0x36, 0xec, 0x32, 0x32, 0x0d, 0xed, 0x95, + 0x46, 0xda, 0x0b, 0x1f, 0x55, 0x33, 0xcf, 0xd7, 0xb8, 0x86, 0x5a, 0x9a, 0xb8, 0x75, 0xf9, 0x68, + 0x75, 0x06, 0x9f, 0x2b, 0xd5, 0x66, 0x60, 0x04, 0xd1, 0xd0, 0x1c, 0xcd, 0x43, 0x8c, 0xe4, 0x1d, + 0x6c, 0x0e, 0x58, 0x3f, 0x72, 0x6d, 0x45, 0x4b, 0xae, 0xd8, 0x76, 0x49, 0x4c, 0x7e, 0xdc, 0x65, + 0xf6, 0x3d, 0x1b, 0xe2, 0xdd, 0xcb, 0xa1, 0xcb, 0x47, 0x93, 0x7e, 0x52, 0xab, 0xb9, 0xc2, 0x6c, + 0x4a, 0xe6, 0x89, 0x64, 0x9e, 0x0c, 0x83, 0x66, 0x42, 0xee, 0xcb, 0x8b, 0xff, 0xf5, 0x9f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xe9, 0x5f, 0xb5, 0x2a, 0x14, 0x06, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// DeliverClient is the client API for Deliver service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type DeliverClient interface { + // Deliver first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block replies is received + Deliver(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverClient, error) + // DeliverFiltered first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of **filtered** block replies is received + DeliverFiltered(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverFilteredClient, error) + // DeliverWithPrivateData first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block and private data replies is received + DeliverWithPrivateData(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverWithPrivateDataClient, error) +} + +type deliverClient struct { + cc *grpc.ClientConn +} + +func NewDeliverClient(cc *grpc.ClientConn) DeliverClient { + return &deliverClient{cc} +} + +func (c *deliverClient) Deliver(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverClient, error) { + stream, err := c.cc.NewStream(ctx, &_Deliver_serviceDesc.Streams[0], "/protos.Deliver/Deliver", opts...) + if err != nil { + return nil, err + } + x := &deliverDeliverClient{stream} + return x, nil +} + +type Deliver_DeliverClient interface { + Send(*common.Envelope) error + Recv() (*DeliverResponse, error) + grpc.ClientStream +} + +type deliverDeliverClient struct { + grpc.ClientStream +} + +func (x *deliverDeliverClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *deliverDeliverClient) Recv() (*DeliverResponse, error) { + m := new(DeliverResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *deliverClient) DeliverFiltered(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverFilteredClient, error) { + stream, err := c.cc.NewStream(ctx, &_Deliver_serviceDesc.Streams[1], "/protos.Deliver/DeliverFiltered", opts...) + if err != nil { + return nil, err + } + x := &deliverDeliverFilteredClient{stream} + return x, nil +} + +type Deliver_DeliverFilteredClient interface { + Send(*common.Envelope) error + Recv() (*DeliverResponse, error) + grpc.ClientStream +} + +type deliverDeliverFilteredClient struct { + grpc.ClientStream +} + +func (x *deliverDeliverFilteredClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *deliverDeliverFilteredClient) Recv() (*DeliverResponse, error) { + m := new(DeliverResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *deliverClient) DeliverWithPrivateData(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverWithPrivateDataClient, error) { + stream, err := c.cc.NewStream(ctx, &_Deliver_serviceDesc.Streams[2], "/protos.Deliver/DeliverWithPrivateData", opts...) + if err != nil { + return nil, err + } + x := &deliverDeliverWithPrivateDataClient{stream} + return x, nil +} + +type Deliver_DeliverWithPrivateDataClient interface { + Send(*common.Envelope) error + Recv() (*DeliverResponse, error) + grpc.ClientStream +} + +type deliverDeliverWithPrivateDataClient struct { + grpc.ClientStream +} + +func (x *deliverDeliverWithPrivateDataClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *deliverDeliverWithPrivateDataClient) Recv() (*DeliverResponse, error) { + m := new(DeliverResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// DeliverServer is the server API for Deliver service. +type DeliverServer interface { + // Deliver first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block replies is received + Deliver(Deliver_DeliverServer) error + // DeliverFiltered first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of **filtered** block replies is received + DeliverFiltered(Deliver_DeliverFilteredServer) error + // DeliverWithPrivateData first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block and private data replies is received + DeliverWithPrivateData(Deliver_DeliverWithPrivateDataServer) error +} + +// UnimplementedDeliverServer can be embedded to have forward compatible implementations. +type UnimplementedDeliverServer struct { +} + +func (*UnimplementedDeliverServer) Deliver(srv Deliver_DeliverServer) error { + return status.Errorf(codes.Unimplemented, "method Deliver not implemented") +} +func (*UnimplementedDeliverServer) DeliverFiltered(srv Deliver_DeliverFilteredServer) error { + return status.Errorf(codes.Unimplemented, "method DeliverFiltered not implemented") +} +func (*UnimplementedDeliverServer) DeliverWithPrivateData(srv Deliver_DeliverWithPrivateDataServer) error { + return status.Errorf(codes.Unimplemented, "method DeliverWithPrivateData not implemented") +} + +func RegisterDeliverServer(s *grpc.Server, srv DeliverServer) { + s.RegisterService(&_Deliver_serviceDesc, srv) +} + +func _Deliver_Deliver_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(DeliverServer).Deliver(&deliverDeliverServer{stream}) +} + +type Deliver_DeliverServer interface { + Send(*DeliverResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type deliverDeliverServer struct { + grpc.ServerStream +} + +func (x *deliverDeliverServer) Send(m *DeliverResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *deliverDeliverServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Deliver_DeliverFiltered_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(DeliverServer).DeliverFiltered(&deliverDeliverFilteredServer{stream}) +} + +type Deliver_DeliverFilteredServer interface { + Send(*DeliverResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type deliverDeliverFilteredServer struct { + grpc.ServerStream +} + +func (x *deliverDeliverFilteredServer) Send(m *DeliverResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *deliverDeliverFilteredServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Deliver_DeliverWithPrivateData_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(DeliverServer).DeliverWithPrivateData(&deliverDeliverWithPrivateDataServer{stream}) +} + +type Deliver_DeliverWithPrivateDataServer interface { + Send(*DeliverResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type deliverDeliverWithPrivateDataServer struct { + grpc.ServerStream +} + +func (x *deliverDeliverWithPrivateDataServer) Send(m *DeliverResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *deliverDeliverWithPrivateDataServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _Deliver_serviceDesc = grpc.ServiceDesc{ + ServiceName: "protos.Deliver", + HandlerType: (*DeliverServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Deliver", + Handler: _Deliver_Deliver_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "DeliverFiltered", + Handler: _Deliver_DeliverFiltered_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "DeliverWithPrivateData", + Handler: _Deliver_DeliverWithPrivateData_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "peer/events.proto", +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go new file mode 100644 index 0000000..0446f11 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go @@ -0,0 +1,123 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/peer.proto + +package peer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +func init() { proto.RegisterFile("peer/peer.proto", fileDescriptor_c302117fbb08ad42) } + +var fileDescriptor_c302117fbb08ad42 = []byte{ + // 177 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xb1, 0x0a, 0xc2, 0x30, + 0x10, 0x86, 0x37, 0x91, 0x2c, 0x85, 0x0a, 0x22, 0xc5, 0xc9, 0xd9, 0xa6, 0xa0, 0x6f, 0xa0, 0x38, + 0x5b, 0xea, 0xe6, 0x22, 0x6d, 0x73, 0xa6, 0x81, 0x9a, 0x0b, 0x77, 0x75, 0xf0, 0xed, 0xa5, 0xbd, + 0x06, 0x74, 0x49, 0xe0, 0xfb, 0xbf, 0x3b, 0xee, 0x57, 0x49, 0x00, 0xa0, 0x62, 0x7c, 0x74, 0x20, + 0x1c, 0x30, 0x5d, 0x4c, 0x1f, 0x67, 0x2b, 0x09, 0x08, 0x03, 0x72, 0xdd, 0x4b, 0x98, 0x6d, 0xff, + 0xe0, 0x83, 0x80, 0x03, 0x7a, 0x06, 0x49, 0x0f, 0x57, 0xb5, 0xbc, 0x78, 0x83, 0xc4, 0x40, 0xe9, + 0x59, 0x25, 0x25, 0x61, 0x0b, 0xcc, 0xe5, 0x6c, 0xa7, 0x6b, 0xd1, 0x58, 0xdf, 0x9c, 0xf5, 0x60, + 0x22, 0xcf, 0x36, 0x91, 0x47, 0x52, 0xcd, 0x6b, 0x4f, 0x95, 0xda, 0x21, 0x59, 0xdd, 0x7d, 0x02, + 0x50, 0x0f, 0xc6, 0x02, 0xe9, 0x67, 0xdd, 0x90, 0x6b, 0xe3, 0xc4, 0x78, 0xce, 0x7d, 0x6f, 0xdd, + 0xd0, 0xbd, 0x1b, 0xdd, 0xe2, 0xab, 0xf8, 0x51, 0x0b, 0x51, 0x73, 0x51, 0x73, 0x8b, 0x53, 0xcb, + 0x46, 0xfa, 0x1d, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd5, 0x12, 0xef, 0x66, 0xf9, 0x00, 0x00, + 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// EndorserClient is the client API for Endorser service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type EndorserClient interface { + ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error) +} + +type endorserClient struct { + cc *grpc.ClientConn +} + +func NewEndorserClient(cc *grpc.ClientConn) EndorserClient { + return &endorserClient{cc} +} + +func (c *endorserClient) ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error) { + out := new(ProposalResponse) + err := c.cc.Invoke(ctx, "/protos.Endorser/ProcessProposal", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// EndorserServer is the server API for Endorser service. +type EndorserServer interface { + ProcessProposal(context.Context, *SignedProposal) (*ProposalResponse, error) +} + +// UnimplementedEndorserServer can be embedded to have forward compatible implementations. +type UnimplementedEndorserServer struct { +} + +func (*UnimplementedEndorserServer) ProcessProposal(ctx context.Context, req *SignedProposal) (*ProposalResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessProposal not implemented") +} + +func RegisterEndorserServer(s *grpc.Server, srv EndorserServer) { + s.RegisterService(&_Endorser_serviceDesc, srv) +} + +func _Endorser_ProcessProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SignedProposal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndorserServer).ProcessProposal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/protos.Endorser/ProcessProposal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndorserServer).ProcessProposal(ctx, req.(*SignedProposal)) + } + return interceptor(ctx, in, info, handler) +} + +var _Endorser_serviceDesc = grpc.ServiceDesc{ + ServiceName: "protos.Endorser", + HandlerType: (*EndorserServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ProcessProposal", + Handler: _Endorser_ProcessProposal_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "peer/peer.proto", +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/policy.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/policy.pb.go new file mode 100644 index 0000000..dd9874a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/policy.pb.go @@ -0,0 +1,130 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/policy.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ApplicationPolicy captures the diffenrent policy types that +// are set and evaluted at the application level. +type ApplicationPolicy struct { + // Types that are valid to be assigned to Type: + // *ApplicationPolicy_SignaturePolicy + // *ApplicationPolicy_ChannelConfigPolicyReference + Type isApplicationPolicy_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApplicationPolicy) Reset() { *m = ApplicationPolicy{} } +func (m *ApplicationPolicy) String() string { return proto.CompactTextString(m) } +func (*ApplicationPolicy) ProtoMessage() {} +func (*ApplicationPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_17aa1dd1e55c3e19, []int{0} +} + +func (m *ApplicationPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationPolicy.Unmarshal(m, b) +} +func (m *ApplicationPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationPolicy.Marshal(b, m, deterministic) +} +func (m *ApplicationPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationPolicy.Merge(m, src) +} +func (m *ApplicationPolicy) XXX_Size() int { + return xxx_messageInfo_ApplicationPolicy.Size(m) +} +func (m *ApplicationPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationPolicy proto.InternalMessageInfo + +type isApplicationPolicy_Type interface { + isApplicationPolicy_Type() +} + +type ApplicationPolicy_SignaturePolicy struct { + SignaturePolicy *common.SignaturePolicyEnvelope `protobuf:"bytes,1,opt,name=signature_policy,json=signaturePolicy,proto3,oneof"` +} + +type ApplicationPolicy_ChannelConfigPolicyReference struct { + ChannelConfigPolicyReference string `protobuf:"bytes,2,opt,name=channel_config_policy_reference,json=channelConfigPolicyReference,proto3,oneof"` +} + +func (*ApplicationPolicy_SignaturePolicy) isApplicationPolicy_Type() {} + +func (*ApplicationPolicy_ChannelConfigPolicyReference) isApplicationPolicy_Type() {} + +func (m *ApplicationPolicy) GetType() isApplicationPolicy_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *ApplicationPolicy) GetSignaturePolicy() *common.SignaturePolicyEnvelope { + if x, ok := m.GetType().(*ApplicationPolicy_SignaturePolicy); ok { + return x.SignaturePolicy + } + return nil +} + +func (m *ApplicationPolicy) GetChannelConfigPolicyReference() string { + if x, ok := m.GetType().(*ApplicationPolicy_ChannelConfigPolicyReference); ok { + return x.ChannelConfigPolicyReference + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*ApplicationPolicy) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*ApplicationPolicy_SignaturePolicy)(nil), + (*ApplicationPolicy_ChannelConfigPolicyReference)(nil), + } +} + +func init() { + proto.RegisterType((*ApplicationPolicy)(nil), "protos.ApplicationPolicy") +} + +func init() { proto.RegisterFile("peer/policy.proto", fileDescriptor_17aa1dd1e55c3e19) } + +var fileDescriptor_17aa1dd1e55c3e19 = []byte{ + // 243 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xc1, 0x4a, 0xc3, 0x40, + 0x10, 0x86, 0x1b, 0x91, 0x82, 0xeb, 0x41, 0x1b, 0x10, 0x8a, 0x08, 0x2d, 0x3d, 0xf5, 0x60, 0x37, + 0xa0, 0x4f, 0x60, 0x45, 0xec, 0xc1, 0x83, 0x44, 0x4f, 0x5e, 0x42, 0xb2, 0x4e, 0x36, 0x0b, 0xdb, + 0x9d, 0x61, 0x36, 0x15, 0xf2, 0x5a, 0x3e, 0xa1, 0x24, 0xd3, 0x80, 0x3d, 0xed, 0xe1, 0xfb, 0xfe, + 0x9f, 0x9d, 0x5f, 0xcd, 0x08, 0x80, 0x33, 0x42, 0xef, 0x4c, 0xa7, 0x89, 0xb1, 0xc5, 0x74, 0x3a, + 0x3c, 0xf1, 0xf6, 0xc6, 0xe0, 0x7e, 0x8f, 0x41, 0xa0, 0x83, 0x28, 0x78, 0xf5, 0x9b, 0xa8, 0xd9, + 0x13, 0x91, 0x77, 0xa6, 0x6c, 0x1d, 0x86, 0xf7, 0x21, 0x9a, 0xbe, 0xa9, 0xeb, 0xe8, 0x6c, 0x28, + 0xdb, 0x03, 0x43, 0x21, 0x75, 0xf3, 0x64, 0x99, 0xac, 0x2f, 0x1f, 0x16, 0x5a, 0x7a, 0xf4, 0xc7, + 0xc8, 0x25, 0xf2, 0x12, 0x7e, 0xc0, 0x23, 0xc1, 0x6e, 0x92, 0x5f, 0xc5, 0x53, 0x94, 0xbe, 0xaa, + 0x85, 0x69, 0xca, 0x10, 0xc0, 0x17, 0x06, 0x43, 0xed, 0xec, 0xb1, 0xb2, 0x60, 0xa8, 0x81, 0x21, + 0x18, 0x98, 0x9f, 0x2d, 0x93, 0xf5, 0xc5, 0x6e, 0x92, 0xdf, 0x1d, 0xc5, 0xe7, 0xc1, 0x93, 0x7c, + 0x3e, 0x5a, 0xdb, 0xa9, 0x3a, 0xff, 0xec, 0x08, 0xb6, 0xb9, 0x5a, 0x21, 0x5b, 0xdd, 0x74, 0x04, + 0xec, 0xe1, 0xdb, 0x02, 0xeb, 0xba, 0xac, 0xd8, 0x19, 0x39, 0x2a, 0xea, 0x7e, 0x86, 0xaf, 0x7b, + 0xeb, 0xda, 0xe6, 0x50, 0xf5, 0x1f, 0xce, 0xfe, 0xa9, 0x99, 0xa8, 0x1b, 0x51, 0x37, 0x16, 0xb3, + 0xde, 0xae, 0x64, 0xa7, 0xc7, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x89, 0x76, 0x3a, 0x03, 0x43, + 0x01, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal.pb.go new file mode 100644 index 0000000..b069c06 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal.pb.go @@ -0,0 +1,395 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/proposal.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// This structure is necessary to sign the proposal which contains the header +// and the payload. Without this structure, we would have to concatenate the +// header and the payload to verify the signature, which could be expensive +// with large payload +// +// When an endorser receives a SignedProposal message, it should verify the +// signature over the proposal bytes. This verification requires the following +// steps: +// 1. Verification of the validity of the certificate that was used to produce +// the signature. The certificate will be available once proposalBytes has +// been unmarshalled to a Proposal message, and Proposal.header has been +// unmarshalled to a Header message. While this unmarshalling-before-verifying +// might not be ideal, it is unavoidable because i) the signature needs to also +// protect the signing certificate; ii) it is desirable that Header is created +// once by the client and never changed (for the sake of accountability and +// non-repudiation). Note also that it is actually impossible to conclusively +// verify the validity of the certificate included in a Proposal, because the +// proposal needs to first be endorsed and ordered with respect to certificate +// expiration transactions. Still, it is useful to pre-filter expired +// certificates at this stage. +// 2. Verification that the certificate is trusted (signed by a trusted CA) and +// that it is allowed to transact with us (with respect to some ACLs); +// 3. Verification that the signature on proposalBytes is valid; +// 4. Detect replay attacks; +type SignedProposal struct { + // The bytes of Proposal + ProposalBytes []byte `protobuf:"bytes,1,opt,name=proposal_bytes,json=proposalBytes,proto3" json:"proposal_bytes,omitempty"` + // Signaure over proposalBytes; this signature is to be verified against + // the creator identity contained in the header of the Proposal message + // marshaled as proposalBytes + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignedProposal) Reset() { *m = SignedProposal{} } +func (m *SignedProposal) String() string { return proto.CompactTextString(m) } +func (*SignedProposal) ProtoMessage() {} +func (*SignedProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{0} +} + +func (m *SignedProposal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignedProposal.Unmarshal(m, b) +} +func (m *SignedProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignedProposal.Marshal(b, m, deterministic) +} +func (m *SignedProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedProposal.Merge(m, src) +} +func (m *SignedProposal) XXX_Size() int { + return xxx_messageInfo_SignedProposal.Size(m) +} +func (m *SignedProposal) XXX_DiscardUnknown() { + xxx_messageInfo_SignedProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedProposal proto.InternalMessageInfo + +func (m *SignedProposal) GetProposalBytes() []byte { + if m != nil { + return m.ProposalBytes + } + return nil +} + +func (m *SignedProposal) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +// A Proposal is sent to an endorser for endorsement. The proposal contains: +// 1. A header which should be unmarshaled to a Header message. Note that +// Header is both the header of a Proposal and of a Transaction, in that i) +// both headers should be unmarshaled to this message; and ii) it is used to +// compute cryptographic hashes and signatures. The header has fields common +// to all proposals/transactions. In addition it has a type field for +// additional customization. An example of this is the ChaincodeHeaderExtension +// message used to extend the Header for type CHAINCODE. +// 2. A payload whose type depends on the header's type field. +// 3. An extension whose type depends on the header's type field. +// +// Let us see an example. For type CHAINCODE (see the Header message), +// we have the following: +// 1. The header is a Header message whose extensions field is a +// ChaincodeHeaderExtension message. +// 2. The payload is a ChaincodeProposalPayload message. +// 3. The extension is a ChaincodeAction that might be used to ask the +// endorsers to endorse a specific ChaincodeAction, thus emulating the +// submitting peer model. +type Proposal struct { + // The header of the proposal. It is the bytes of the Header + Header []byte `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // The payload of the proposal as defined by the type in the proposal + // header. + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + // Optional extensions to the proposal. Its content depends on the Header's + // type field. For the type CHAINCODE, it might be the bytes of a + // ChaincodeAction message. + Extension []byte `protobuf:"bytes,3,opt,name=extension,proto3" json:"extension,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Proposal) Reset() { *m = Proposal{} } +func (m *Proposal) String() string { return proto.CompactTextString(m) } +func (*Proposal) ProtoMessage() {} +func (*Proposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{1} +} + +func (m *Proposal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Proposal.Unmarshal(m, b) +} +func (m *Proposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Proposal.Marshal(b, m, deterministic) +} +func (m *Proposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_Proposal.Merge(m, src) +} +func (m *Proposal) XXX_Size() int { + return xxx_messageInfo_Proposal.Size(m) +} +func (m *Proposal) XXX_DiscardUnknown() { + xxx_messageInfo_Proposal.DiscardUnknown(m) +} + +var xxx_messageInfo_Proposal proto.InternalMessageInfo + +func (m *Proposal) GetHeader() []byte { + if m != nil { + return m.Header + } + return nil +} + +func (m *Proposal) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *Proposal) GetExtension() []byte { + if m != nil { + return m.Extension + } + return nil +} + +// ChaincodeHeaderExtension is the Header's extentions message to be used when +// the Header's type is CHAINCODE. This extensions is used to specify which +// chaincode to invoke and what should appear on the ledger. +type ChaincodeHeaderExtension struct { + // The ID of the chaincode to target. + ChaincodeId *ChaincodeID `protobuf:"bytes,2,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeHeaderExtension) Reset() { *m = ChaincodeHeaderExtension{} } +func (m *ChaincodeHeaderExtension) String() string { return proto.CompactTextString(m) } +func (*ChaincodeHeaderExtension) ProtoMessage() {} +func (*ChaincodeHeaderExtension) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{2} +} + +func (m *ChaincodeHeaderExtension) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeHeaderExtension.Unmarshal(m, b) +} +func (m *ChaincodeHeaderExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeHeaderExtension.Marshal(b, m, deterministic) +} +func (m *ChaincodeHeaderExtension) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeHeaderExtension.Merge(m, src) +} +func (m *ChaincodeHeaderExtension) XXX_Size() int { + return xxx_messageInfo_ChaincodeHeaderExtension.Size(m) +} +func (m *ChaincodeHeaderExtension) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeHeaderExtension.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeHeaderExtension proto.InternalMessageInfo + +func (m *ChaincodeHeaderExtension) GetChaincodeId() *ChaincodeID { + if m != nil { + return m.ChaincodeId + } + return nil +} + +// ChaincodeProposalPayload is the Proposal's payload message to be used when +// the Header's type is CHAINCODE. It contains the arguments for this +// invocation. +type ChaincodeProposalPayload struct { + // Input contains the arguments for this invocation. If this invocation + // deploys a new chaincode, ESCC/VSCC are part of this field. + // This is usually a marshaled ChaincodeInvocationSpec + Input []byte `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // TransientMap contains data (e.g. cryptographic material) that might be used + // to implement some form of application-level confidentiality. The contents + // of this field are supposed to always be omitted from the transaction and + // excluded from the ledger. + TransientMap map[string][]byte `protobuf:"bytes,2,rep,name=TransientMap,proto3" json:"TransientMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeProposalPayload) Reset() { *m = ChaincodeProposalPayload{} } +func (m *ChaincodeProposalPayload) String() string { return proto.CompactTextString(m) } +func (*ChaincodeProposalPayload) ProtoMessage() {} +func (*ChaincodeProposalPayload) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{3} +} + +func (m *ChaincodeProposalPayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeProposalPayload.Unmarshal(m, b) +} +func (m *ChaincodeProposalPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeProposalPayload.Marshal(b, m, deterministic) +} +func (m *ChaincodeProposalPayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeProposalPayload.Merge(m, src) +} +func (m *ChaincodeProposalPayload) XXX_Size() int { + return xxx_messageInfo_ChaincodeProposalPayload.Size(m) +} +func (m *ChaincodeProposalPayload) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeProposalPayload.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeProposalPayload proto.InternalMessageInfo + +func (m *ChaincodeProposalPayload) GetInput() []byte { + if m != nil { + return m.Input + } + return nil +} + +func (m *ChaincodeProposalPayload) GetTransientMap() map[string][]byte { + if m != nil { + return m.TransientMap + } + return nil +} + +// ChaincodeAction contains the actions the events generated by the execution +// of the chaincode. +type ChaincodeAction struct { + // This field contains the read set and the write set produced by the + // chaincode executing this invocation. + Results []byte `protobuf:"bytes,1,opt,name=results,proto3" json:"results,omitempty"` + // This field contains the events generated by the chaincode executing this + // invocation. + Events []byte `protobuf:"bytes,2,opt,name=events,proto3" json:"events,omitempty"` + // This field contains the result of executing this invocation. + Response *Response `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` + // This field contains the ChaincodeID of executing this invocation. Endorser + // will set it with the ChaincodeID called by endorser while simulating proposal. + // Committer will validate the version matching with latest chaincode version. + // Adding ChaincodeID to keep version opens up the possibility of multiple + // ChaincodeAction per transaction. + ChaincodeId *ChaincodeID `protobuf:"bytes,4,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeAction) Reset() { *m = ChaincodeAction{} } +func (m *ChaincodeAction) String() string { return proto.CompactTextString(m) } +func (*ChaincodeAction) ProtoMessage() {} +func (*ChaincodeAction) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{4} +} + +func (m *ChaincodeAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeAction.Unmarshal(m, b) +} +func (m *ChaincodeAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeAction.Marshal(b, m, deterministic) +} +func (m *ChaincodeAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeAction.Merge(m, src) +} +func (m *ChaincodeAction) XXX_Size() int { + return xxx_messageInfo_ChaincodeAction.Size(m) +} +func (m *ChaincodeAction) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeAction.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeAction proto.InternalMessageInfo + +func (m *ChaincodeAction) GetResults() []byte { + if m != nil { + return m.Results + } + return nil +} + +func (m *ChaincodeAction) GetEvents() []byte { + if m != nil { + return m.Events + } + return nil +} + +func (m *ChaincodeAction) GetResponse() *Response { + if m != nil { + return m.Response + } + return nil +} + +func (m *ChaincodeAction) GetChaincodeId() *ChaincodeID { + if m != nil { + return m.ChaincodeId + } + return nil +} + +func init() { + proto.RegisterType((*SignedProposal)(nil), "protos.SignedProposal") + proto.RegisterType((*Proposal)(nil), "protos.Proposal") + proto.RegisterType((*ChaincodeHeaderExtension)(nil), "protos.ChaincodeHeaderExtension") + proto.RegisterType((*ChaincodeProposalPayload)(nil), "protos.ChaincodeProposalPayload") + proto.RegisterMapType((map[string][]byte)(nil), "protos.ChaincodeProposalPayload.TransientMapEntry") + proto.RegisterType((*ChaincodeAction)(nil), "protos.ChaincodeAction") +} + +func init() { proto.RegisterFile("peer/proposal.proto", fileDescriptor_c4dbb4372a94bd5b) } + +var fileDescriptor_c4dbb4372a94bd5b = []byte{ + // 462 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xcf, 0x6b, 0xdb, 0x30, + 0x18, 0xc5, 0x69, 0x9b, 0xa6, 0x5f, 0xb2, 0xd6, 0x75, 0xcb, 0x30, 0xa1, 0x87, 0x62, 0x18, 0xf4, + 0xd0, 0x3a, 0x90, 0xc1, 0x18, 0xbb, 0x8c, 0x65, 0x2b, 0xac, 0x83, 0x41, 0xf1, 0x7e, 0x1c, 0x7a, + 0x09, 0xb2, 0xfd, 0xcd, 0x11, 0xf1, 0x24, 0x21, 0xc9, 0x61, 0xfe, 0xf3, 0x76, 0xdc, 0x7f, 0x35, + 0x64, 0x49, 0x6e, 0xba, 0x5c, 0x76, 0x4a, 0xbe, 0x1f, 0xef, 0xe9, 0x3d, 0x3d, 0x19, 0xce, 0x04, + 0xa2, 0x9c, 0x09, 0xc9, 0x05, 0x57, 0xa4, 0x4e, 0x85, 0xe4, 0x9a, 0x47, 0xc3, 0xee, 0x47, 0x4d, + 0xcf, 0xbb, 0x61, 0xb1, 0x22, 0x94, 0x15, 0xbc, 0x44, 0x3b, 0x9d, 0x5e, 0x3c, 0x81, 0x2c, 0x25, + 0x2a, 0xc1, 0x99, 0x72, 0xd3, 0xe4, 0x1b, 0x1c, 0x7f, 0xa1, 0x15, 0xc3, 0xf2, 0xde, 0x2d, 0x44, + 0x2f, 0xe0, 0xb8, 0x5f, 0xce, 0x5b, 0x8d, 0x2a, 0x0e, 0x2e, 0x83, 0xab, 0x49, 0xf6, 0xcc, 0x77, + 0x17, 0xa6, 0x19, 0x5d, 0xc0, 0x91, 0xa2, 0x15, 0x23, 0xba, 0x91, 0x18, 0x0f, 0xba, 0x8d, 0xc7, + 0x46, 0xf2, 0x00, 0xa3, 0x9e, 0xf0, 0x39, 0x0c, 0x57, 0x48, 0x4a, 0x94, 0x8e, 0xc8, 0x55, 0x51, + 0x0c, 0x87, 0x82, 0xb4, 0x35, 0x27, 0xa5, 0xc3, 0xfb, 0xd2, 0x70, 0xe3, 0x2f, 0x8d, 0x4c, 0x51, + 0xce, 0xe2, 0x3d, 0xcb, 0xdd, 0x37, 0x92, 0x35, 0xc4, 0xef, 0xbd, 0xc7, 0x8f, 0x1d, 0xd5, 0xad, + 0x9f, 0x45, 0xaf, 0x60, 0xd2, 0xfb, 0x5f, 0x52, 0x4b, 0x3c, 0x9e, 0x9f, 0x59, 0xb3, 0x2a, 0xed, + 0x71, 0x77, 0x1f, 0xb2, 0x71, 0xbf, 0x78, 0x57, 0x7e, 0xda, 0x1f, 0x05, 0xe1, 0x20, 0x3b, 0x75, + 0x02, 0x96, 0x1b, 0xaa, 0x72, 0x5a, 0x53, 0xdd, 0x26, 0x7f, 0x82, 0xad, 0xd3, 0xbc, 0xa5, 0x7b, + 0xa7, 0xf3, 0x1c, 0x0e, 0x28, 0x13, 0x8d, 0x76, 0xc6, 0x6c, 0x11, 0x7d, 0x87, 0xc9, 0x57, 0x49, + 0x98, 0xa2, 0xc8, 0xf4, 0x67, 0x22, 0xe2, 0xc1, 0xe5, 0xde, 0xd5, 0x78, 0x3e, 0xdf, 0xd1, 0xf0, + 0x0f, 0x5b, 0xba, 0x0d, 0xba, 0x65, 0x5a, 0xb6, 0xd9, 0x13, 0x9e, 0xe9, 0x5b, 0x38, 0xdd, 0x59, + 0x89, 0x42, 0xd8, 0x5b, 0x63, 0xdb, 0x09, 0x38, 0xca, 0xcc, 0x5f, 0x23, 0x6a, 0x43, 0xea, 0xc6, + 0x87, 0x62, 0x8b, 0x37, 0x83, 0xd7, 0x41, 0xf2, 0x3b, 0x80, 0x93, 0xfe, 0xf4, 0x77, 0x85, 0x36, + 0x17, 0x16, 0xc3, 0xa1, 0x44, 0xd5, 0xd4, 0xda, 0xc7, 0xec, 0x4b, 0x13, 0x1b, 0x6e, 0x90, 0x69, + 0xe5, 0x88, 0x5c, 0x15, 0x5d, 0xc3, 0xc8, 0xbf, 0xa1, 0x2e, 0x9b, 0xf1, 0x3c, 0xf4, 0xd6, 0x32, + 0xd7, 0xcf, 0xfa, 0x8d, 0x9d, 0x40, 0xf6, 0xff, 0x3b, 0x90, 0x83, 0x70, 0x98, 0x85, 0x9a, 0xaf, + 0x91, 0x2d, 0xb9, 0x40, 0x49, 0x8c, 0x5c, 0xb5, 0x28, 0x20, 0xe1, 0xb2, 0x4a, 0x57, 0xad, 0x40, + 0x59, 0x63, 0x59, 0xa1, 0x4c, 0x7f, 0x90, 0x5c, 0xd2, 0xc2, 0x33, 0x9a, 0xd7, 0xbe, 0x38, 0x79, + 0xbc, 0xdb, 0x62, 0x4d, 0x2a, 0x7c, 0xb8, 0xae, 0xa8, 0x5e, 0x35, 0x79, 0x5a, 0xf0, 0x9f, 0xb3, + 0x2d, 0xec, 0xcc, 0x62, 0x6f, 0x2c, 0xf6, 0xa6, 0xe2, 0x33, 0x03, 0xcf, 0xed, 0x07, 0xf5, 0xf2, + 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0xf4, 0xc9, 0x9a, 0x6e, 0x03, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal_response.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal_response.pb.go new file mode 100644 index 0000000..a133e4e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/proposal_response.pb.go @@ -0,0 +1,327 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/proposal_response.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// A ProposalResponse is returned from an endorser to the proposal submitter. +// The idea is that this message contains the endorser's response to the +// request of a client to perform an action over a chaincode (or more +// generically on the ledger); the response might be success/error (conveyed in +// the Response field) together with a description of the action and a +// signature over it by that endorser. If a sufficient number of distinct +// endorsers agree on the same action and produce signature to that effect, a +// transaction can be generated and sent for ordering. +type ProposalResponse struct { + // Version indicates message protocol version + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + // Timestamp is the time that the message + // was created as defined by the sender + Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // A response message indicating whether the + // endorsement of the action was successful + Response *Response `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` + // The payload of response. It is the bytes of ProposalResponsePayload + Payload []byte `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` + // The endorsement of the proposal, basically + // the endorser's signature over the payload + Endorsement *Endorsement `protobuf:"bytes,6,opt,name=endorsement,proto3" json:"endorsement,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProposalResponse) Reset() { *m = ProposalResponse{} } +func (m *ProposalResponse) String() string { return proto.CompactTextString(m) } +func (*ProposalResponse) ProtoMessage() {} +func (*ProposalResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{0} +} + +func (m *ProposalResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProposalResponse.Unmarshal(m, b) +} +func (m *ProposalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProposalResponse.Marshal(b, m, deterministic) +} +func (m *ProposalResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProposalResponse.Merge(m, src) +} +func (m *ProposalResponse) XXX_Size() int { + return xxx_messageInfo_ProposalResponse.Size(m) +} +func (m *ProposalResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ProposalResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ProposalResponse proto.InternalMessageInfo + +func (m *ProposalResponse) GetVersion() int32 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ProposalResponse) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *ProposalResponse) GetResponse() *Response { + if m != nil { + return m.Response + } + return nil +} + +func (m *ProposalResponse) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *ProposalResponse) GetEndorsement() *Endorsement { + if m != nil { + return m.Endorsement + } + return nil +} + +// A response with a representation similar to an HTTP response that can +// be used within another message. +type Response struct { + // A status code that should follow the HTTP status codes. + Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // A message associated with the response code. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // A payload that can be used to include metadata with this response. + Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Response) Reset() { *m = Response{} } +func (m *Response) String() string { return proto.CompactTextString(m) } +func (*Response) ProtoMessage() {} +func (*Response) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{1} +} + +func (m *Response) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Response.Unmarshal(m, b) +} +func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Response.Marshal(b, m, deterministic) +} +func (m *Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_Response.Merge(m, src) +} +func (m *Response) XXX_Size() int { + return xxx_messageInfo_Response.Size(m) +} +func (m *Response) XXX_DiscardUnknown() { + xxx_messageInfo_Response.DiscardUnknown(m) +} + +var xxx_messageInfo_Response proto.InternalMessageInfo + +func (m *Response) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *Response) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + +func (m *Response) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +// ProposalResponsePayload is the payload of a proposal response. This message +// is the "bridge" between the client's request and the endorser's action in +// response to that request. Concretely, for chaincodes, it contains a hashed +// representation of the proposal (proposalHash) and a representation of the +// chaincode state changes and events inside the extension field. +type ProposalResponsePayload struct { + // Hash of the proposal that triggered this response. The hash is used to + // link a response with its proposal, both for bookeeping purposes on an + // asynchronous system and for security reasons (accountability, + // non-repudiation). The hash usually covers the entire Proposal message + // (byte-by-byte). + ProposalHash []byte `protobuf:"bytes,1,opt,name=proposal_hash,json=proposalHash,proto3" json:"proposal_hash,omitempty"` + // Extension should be unmarshaled to a type-specific message. The type of + // the extension in any proposal response depends on the type of the proposal + // that the client selected when the proposal was initially sent out. In + // particular, this information is stored in the type field of a Header. For + // chaincode, it's a ChaincodeAction message + Extension []byte `protobuf:"bytes,2,opt,name=extension,proto3" json:"extension,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProposalResponsePayload) Reset() { *m = ProposalResponsePayload{} } +func (m *ProposalResponsePayload) String() string { return proto.CompactTextString(m) } +func (*ProposalResponsePayload) ProtoMessage() {} +func (*ProposalResponsePayload) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{2} +} + +func (m *ProposalResponsePayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProposalResponsePayload.Unmarshal(m, b) +} +func (m *ProposalResponsePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProposalResponsePayload.Marshal(b, m, deterministic) +} +func (m *ProposalResponsePayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProposalResponsePayload.Merge(m, src) +} +func (m *ProposalResponsePayload) XXX_Size() int { + return xxx_messageInfo_ProposalResponsePayload.Size(m) +} +func (m *ProposalResponsePayload) XXX_DiscardUnknown() { + xxx_messageInfo_ProposalResponsePayload.DiscardUnknown(m) +} + +var xxx_messageInfo_ProposalResponsePayload proto.InternalMessageInfo + +func (m *ProposalResponsePayload) GetProposalHash() []byte { + if m != nil { + return m.ProposalHash + } + return nil +} + +func (m *ProposalResponsePayload) GetExtension() []byte { + if m != nil { + return m.Extension + } + return nil +} + +// An endorsement is a signature of an endorser over a proposal response. By +// producing an endorsement message, an endorser implicitly "approves" that +// proposal response and the actions contained therein. When enough +// endorsements have been collected, a transaction can be generated out of a +// set of proposal responses. Note that this message only contains an identity +// and a signature but no signed payload. This is intentional because +// endorsements are supposed to be collected in a transaction, and they are all +// expected to endorse a single proposal response/action (many endorsements +// over a single proposal response) +type Endorsement struct { + // Identity of the endorser (e.g. its certificate) + Endorser []byte `protobuf:"bytes,1,opt,name=endorser,proto3" json:"endorser,omitempty"` + // Signature of the payload included in ProposalResponse concatenated with + // the endorser's certificate; ie, sign(ProposalResponse.payload + endorser) + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Endorsement) Reset() { *m = Endorsement{} } +func (m *Endorsement) String() string { return proto.CompactTextString(m) } +func (*Endorsement) ProtoMessage() {} +func (*Endorsement) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{3} +} + +func (m *Endorsement) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Endorsement.Unmarshal(m, b) +} +func (m *Endorsement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Endorsement.Marshal(b, m, deterministic) +} +func (m *Endorsement) XXX_Merge(src proto.Message) { + xxx_messageInfo_Endorsement.Merge(m, src) +} +func (m *Endorsement) XXX_Size() int { + return xxx_messageInfo_Endorsement.Size(m) +} +func (m *Endorsement) XXX_DiscardUnknown() { + xxx_messageInfo_Endorsement.DiscardUnknown(m) +} + +var xxx_messageInfo_Endorsement proto.InternalMessageInfo + +func (m *Endorsement) GetEndorser() []byte { + if m != nil { + return m.Endorser + } + return nil +} + +func (m *Endorsement) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +func init() { + proto.RegisterType((*ProposalResponse)(nil), "protos.ProposalResponse") + proto.RegisterType((*Response)(nil), "protos.Response") + proto.RegisterType((*ProposalResponsePayload)(nil), "protos.ProposalResponsePayload") + proto.RegisterType((*Endorsement)(nil), "protos.Endorsement") +} + +func init() { proto.RegisterFile("peer/proposal_response.proto", fileDescriptor_2ed51030656d961a) } + +var fileDescriptor_2ed51030656d961a = []byte{ + // 371 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x41, 0x6b, 0xe3, 0x30, + 0x10, 0x85, 0x71, 0x76, 0x93, 0x4d, 0x94, 0x2c, 0x04, 0x2f, 0xec, 0x9a, 0x10, 0xd8, 0xe0, 0x5e, + 0x72, 0x48, 0x64, 0x68, 0x29, 0xf4, 0x1c, 0x28, 0xed, 0x31, 0x88, 0xd2, 0x43, 0x29, 0x14, 0x39, + 0x99, 0xc8, 0x26, 0xb6, 0x25, 0x34, 0x72, 0x69, 0x7e, 0x70, 0xff, 0x47, 0xb1, 0x6c, 0x39, 0x6e, + 0xe9, 0xc9, 0xbc, 0xf1, 0xd3, 0x37, 0xf3, 0x46, 0x22, 0x73, 0x05, 0xa0, 0x23, 0xa5, 0xa5, 0x92, + 0xc8, 0xb3, 0x17, 0x0d, 0xa8, 0x64, 0x81, 0x40, 0x95, 0x96, 0x46, 0xfa, 0x03, 0xfb, 0xc1, 0xd9, + 0x7f, 0x21, 0xa5, 0xc8, 0x20, 0xb2, 0x32, 0x2e, 0x0f, 0x91, 0x49, 0x73, 0x40, 0xc3, 0x73, 0x55, + 0x1b, 0xc3, 0x77, 0x8f, 0x4c, 0xb7, 0x0d, 0x84, 0x35, 0x0c, 0x3f, 0x20, 0xbf, 0x5e, 0x41, 0x63, + 0x2a, 0x8b, 0xc0, 0x5b, 0x78, 0xcb, 0x3e, 0x73, 0xd2, 0xbf, 0x21, 0xa3, 0x96, 0x10, 0xf4, 0x16, + 0xde, 0x72, 0x7c, 0x39, 0xa3, 0x75, 0x0f, 0xea, 0x7a, 0xd0, 0x07, 0xe7, 0x60, 0x67, 0xb3, 0xbf, + 0x22, 0x43, 0x37, 0x63, 0xf0, 0xd3, 0x1e, 0x9c, 0xd6, 0x27, 0x90, 0xba, 0xbe, 0xac, 0x75, 0x54, + 0x13, 0x28, 0x7e, 0xca, 0x24, 0xdf, 0x07, 0xfd, 0x85, 0xb7, 0x9c, 0x30, 0x27, 0xfd, 0x6b, 0x32, + 0x86, 0x62, 0x2f, 0x35, 0x42, 0x0e, 0x85, 0x09, 0x06, 0x16, 0xf5, 0xc7, 0xa1, 0x6e, 0xcf, 0xbf, + 0x58, 0xd7, 0x17, 0x3e, 0x92, 0x61, 0x1b, 0xef, 0x2f, 0x19, 0xa0, 0xe1, 0xa6, 0xc4, 0x26, 0x5d, + 0xa3, 0xaa, 0xa6, 0x39, 0x20, 0x72, 0x01, 0x36, 0xda, 0x88, 0x39, 0xd9, 0x1d, 0xe7, 0xc7, 0xa7, + 0x71, 0xc2, 0x67, 0xf2, 0xef, 0xeb, 0xfa, 0xb6, 0xcd, 0xa4, 0x17, 0xe4, 0x77, 0x7b, 0x3d, 0x09, + 0xc7, 0xc4, 0x76, 0x9b, 0xb0, 0x89, 0x2b, 0xde, 0x73, 0x4c, 0xfc, 0x39, 0x19, 0xc1, 0x9b, 0x81, + 0xc2, 0x2e, 0xbb, 0x67, 0x0d, 0xe7, 0x42, 0x78, 0x47, 0xc6, 0x9d, 0x44, 0xfe, 0x8c, 0x0c, 0x9b, + 0x4c, 0xba, 0x81, 0xb5, 0xba, 0x02, 0x61, 0x2a, 0x0a, 0x6e, 0x4a, 0x0d, 0x0e, 0xd4, 0x16, 0x36, + 0x47, 0x12, 0x4a, 0x2d, 0x68, 0x72, 0x52, 0xa0, 0x33, 0xd8, 0x0b, 0xd0, 0xf4, 0xc0, 0x63, 0x9d, + 0xee, 0xdc, 0xe2, 0xaa, 0xd7, 0xb4, 0xf9, 0x26, 0xca, 0xee, 0xc8, 0x05, 0x3c, 0xad, 0x44, 0x6a, + 0x92, 0x32, 0xa6, 0x3b, 0x99, 0x47, 0x1d, 0x46, 0x54, 0x33, 0xd6, 0x35, 0x63, 0x2d, 0x64, 0x54, + 0x61, 0xe2, 0xfa, 0xf1, 0x5d, 0x7d, 0x04, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xd6, 0x97, 0x69, 0xa3, + 0x02, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/query.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/query.pb.go new file mode 100644 index 0000000..1ad3b27 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/query.pb.go @@ -0,0 +1,279 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/query.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ChaincodeQueryResponse returns information about each chaincode that pertains +// to a query in lscc.go, such as GetChaincodes (returns all chaincodes +// instantiated on a channel), and GetInstalledChaincodes (returns all chaincodes +// installed on a peer) +type ChaincodeQueryResponse struct { + Chaincodes []*ChaincodeInfo `protobuf:"bytes,1,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeQueryResponse) Reset() { *m = ChaincodeQueryResponse{} } +func (m *ChaincodeQueryResponse) String() string { return proto.CompactTextString(m) } +func (*ChaincodeQueryResponse) ProtoMessage() {} +func (*ChaincodeQueryResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{0} +} + +func (m *ChaincodeQueryResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeQueryResponse.Unmarshal(m, b) +} +func (m *ChaincodeQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeQueryResponse.Marshal(b, m, deterministic) +} +func (m *ChaincodeQueryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeQueryResponse.Merge(m, src) +} +func (m *ChaincodeQueryResponse) XXX_Size() int { + return xxx_messageInfo_ChaincodeQueryResponse.Size(m) +} +func (m *ChaincodeQueryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeQueryResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeQueryResponse proto.InternalMessageInfo + +func (m *ChaincodeQueryResponse) GetChaincodes() []*ChaincodeInfo { + if m != nil { + return m.Chaincodes + } + return nil +} + +// ChaincodeInfo contains general information about an installed/instantiated +// chaincode +type ChaincodeInfo struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // the path as specified by the install/instantiate transaction + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + // the chaincode function upon instantiation and its arguments. This will be + // blank if the query is returning information about installed chaincodes. + Input string `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // the name of the ESCC for this chaincode. This will be + // blank if the query is returning information about installed chaincodes. + Escc string `protobuf:"bytes,5,opt,name=escc,proto3" json:"escc,omitempty"` + // the name of the VSCC for this chaincode. This will be + // blank if the query is returning information about installed chaincodes. + Vscc string `protobuf:"bytes,6,opt,name=vscc,proto3" json:"vscc,omitempty"` + // the chaincode unique id. + // computed as: H( + // H(name || version) || + // H(CodePackage) + // ) + Id []byte `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeInfo) Reset() { *m = ChaincodeInfo{} } +func (m *ChaincodeInfo) String() string { return proto.CompactTextString(m) } +func (*ChaincodeInfo) ProtoMessage() {} +func (*ChaincodeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{1} +} + +func (m *ChaincodeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeInfo.Unmarshal(m, b) +} +func (m *ChaincodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeInfo.Marshal(b, m, deterministic) +} +func (m *ChaincodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeInfo.Merge(m, src) +} +func (m *ChaincodeInfo) XXX_Size() int { + return xxx_messageInfo_ChaincodeInfo.Size(m) +} +func (m *ChaincodeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeInfo proto.InternalMessageInfo + +func (m *ChaincodeInfo) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeInfo) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *ChaincodeInfo) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *ChaincodeInfo) GetInput() string { + if m != nil { + return m.Input + } + return "" +} + +func (m *ChaincodeInfo) GetEscc() string { + if m != nil { + return m.Escc + } + return "" +} + +func (m *ChaincodeInfo) GetVscc() string { + if m != nil { + return m.Vscc + } + return "" +} + +func (m *ChaincodeInfo) GetId() []byte { + if m != nil { + return m.Id + } + return nil +} + +// ChannelQueryResponse returns information about each channel that pertains +// to a query in lscc.go, such as GetChannels (returns all channels for a +// given peer) +type ChannelQueryResponse struct { + Channels []*ChannelInfo `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelQueryResponse) Reset() { *m = ChannelQueryResponse{} } +func (m *ChannelQueryResponse) String() string { return proto.CompactTextString(m) } +func (*ChannelQueryResponse) ProtoMessage() {} +func (*ChannelQueryResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{2} +} + +func (m *ChannelQueryResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelQueryResponse.Unmarshal(m, b) +} +func (m *ChannelQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelQueryResponse.Marshal(b, m, deterministic) +} +func (m *ChannelQueryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelQueryResponse.Merge(m, src) +} +func (m *ChannelQueryResponse) XXX_Size() int { + return xxx_messageInfo_ChannelQueryResponse.Size(m) +} +func (m *ChannelQueryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelQueryResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelQueryResponse proto.InternalMessageInfo + +func (m *ChannelQueryResponse) GetChannels() []*ChannelInfo { + if m != nil { + return m.Channels + } + return nil +} + +// ChannelInfo contains general information about channels +type ChannelInfo struct { + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelInfo) Reset() { *m = ChannelInfo{} } +func (m *ChannelInfo) String() string { return proto.CompactTextString(m) } +func (*ChannelInfo) ProtoMessage() {} +func (*ChannelInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{3} +} + +func (m *ChannelInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelInfo.Unmarshal(m, b) +} +func (m *ChannelInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelInfo.Marshal(b, m, deterministic) +} +func (m *ChannelInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelInfo.Merge(m, src) +} +func (m *ChannelInfo) XXX_Size() int { + return xxx_messageInfo_ChannelInfo.Size(m) +} +func (m *ChannelInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelInfo proto.InternalMessageInfo + +func (m *ChannelInfo) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func init() { + proto.RegisterType((*ChaincodeQueryResponse)(nil), "protos.ChaincodeQueryResponse") + proto.RegisterType((*ChaincodeInfo)(nil), "protos.ChaincodeInfo") + proto.RegisterType((*ChannelQueryResponse)(nil), "protos.ChannelQueryResponse") + proto.RegisterType((*ChannelInfo)(nil), "protos.ChannelInfo") +} + +func init() { proto.RegisterFile("peer/query.proto", fileDescriptor_d45bcf7fe2423301) } + +var fileDescriptor_d45bcf7fe2423301 = []byte{ + // 300 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xcd, 0x6a, 0xeb, 0x30, + 0x10, 0x85, 0x71, 0x7e, 0x6f, 0x26, 0xb7, 0xa5, 0xa8, 0x69, 0xd1, 0xa6, 0x10, 0xbc, 0xca, 0x22, + 0xb1, 0xa1, 0xa5, 0x2f, 0xd0, 0x2c, 0x4a, 0x56, 0xa5, 0x5e, 0x76, 0x53, 0x1c, 0x79, 0x62, 0x0b, + 0x12, 0x49, 0x95, 0xec, 0x40, 0x9e, 0xa6, 0xaf, 0x5a, 0x46, 0x8a, 0x83, 0xb3, 0xf2, 0xcc, 0x77, + 0x3e, 0x61, 0x8e, 0x04, 0x77, 0x06, 0xd1, 0xa6, 0x3f, 0x0d, 0xda, 0x53, 0x62, 0xac, 0xae, 0x35, + 0x1b, 0xf9, 0x8f, 0x8b, 0x3f, 0xe0, 0x71, 0x5d, 0xe5, 0x52, 0x09, 0x5d, 0xe0, 0x27, 0xe5, 0x19, + 0x3a, 0xa3, 0x95, 0x43, 0xf6, 0x0a, 0x20, 0xda, 0xc4, 0xf1, 0x68, 0xde, 0x5f, 0x4c, 0x9f, 0x1f, + 0xc2, 0x69, 0x97, 0x5c, 0xce, 0x6c, 0xd4, 0x4e, 0x67, 0x1d, 0x31, 0xfe, 0x8d, 0xe0, 0xe6, 0x2a, + 0x65, 0x0c, 0x06, 0x2a, 0x3f, 0x20, 0x8f, 0xe6, 0xd1, 0x62, 0x92, 0xf9, 0x99, 0x71, 0x18, 0x1f, + 0xd1, 0x3a, 0xa9, 0x15, 0xef, 0x79, 0xdc, 0xae, 0x64, 0x9b, 0xbc, 0xae, 0x78, 0x3f, 0xd8, 0x34, + 0xb3, 0x19, 0x0c, 0xa5, 0x32, 0x4d, 0xcd, 0x07, 0x1e, 0x86, 0x85, 0x4c, 0x74, 0x42, 0xf0, 0x61, + 0x30, 0x69, 0x26, 0x76, 0x24, 0x36, 0x0a, 0x8c, 0x66, 0x76, 0x0b, 0x3d, 0x59, 0xf0, 0xf1, 0x3c, + 0x5a, 0xfc, 0xcf, 0x7a, 0xb2, 0x88, 0xdf, 0x61, 0xb6, 0xae, 0x72, 0xa5, 0x70, 0x7f, 0x5d, 0x38, + 0x85, 0x7f, 0x22, 0xf0, 0xb6, 0xee, 0x7d, 0xa7, 0x2e, 0x71, 0x5f, 0xf6, 0x22, 0xc5, 0x4b, 0x98, + 0x76, 0x02, 0xf6, 0xe4, 0x2f, 0x8c, 0xd6, 0x6f, 0x59, 0x9c, 0xdb, 0x4e, 0xce, 0x64, 0x53, 0xbc, + 0x65, 0x10, 0x6b, 0x5b, 0x26, 0xd5, 0xc9, 0xa0, 0xdd, 0x63, 0x51, 0xa2, 0x4d, 0x76, 0xf9, 0xd6, + 0x4a, 0xd1, 0xfe, 0x84, 0xde, 0xe8, 0x6b, 0x59, 0xca, 0xba, 0x6a, 0xb6, 0x89, 0xd0, 0x87, 0xb4, + 0xa3, 0xa6, 0x41, 0x5d, 0x05, 0x75, 0x55, 0xea, 0x94, 0xec, 0x6d, 0x78, 0xc5, 0x97, 0xbf, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x22, 0x43, 0xb6, 0x12, 0xe0, 0x01, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/resources.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/resources.pb.go new file mode 100644 index 0000000..abd54c9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/resources.pb.go @@ -0,0 +1,292 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/resources.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ChaincodeIdentifier identifies a piece of chaincode. For a peer to accept invocations of +// this chaincode, the hash of the installed code must match, as must the version string +// included with the install command. +type ChaincodeIdentifier struct { + Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeIdentifier) Reset() { *m = ChaincodeIdentifier{} } +func (m *ChaincodeIdentifier) String() string { return proto.CompactTextString(m) } +func (*ChaincodeIdentifier) ProtoMessage() {} +func (*ChaincodeIdentifier) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{0} +} + +func (m *ChaincodeIdentifier) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeIdentifier.Unmarshal(m, b) +} +func (m *ChaincodeIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeIdentifier.Marshal(b, m, deterministic) +} +func (m *ChaincodeIdentifier) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeIdentifier.Merge(m, src) +} +func (m *ChaincodeIdentifier) XXX_Size() int { + return xxx_messageInfo_ChaincodeIdentifier.Size(m) +} +func (m *ChaincodeIdentifier) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeIdentifier.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeIdentifier proto.InternalMessageInfo + +func (m *ChaincodeIdentifier) GetHash() []byte { + if m != nil { + return m.Hash + } + return nil +} + +func (m *ChaincodeIdentifier) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +// ChaincodeValidation instructs the peer how transactions for this chaincode should be +// validated. The only validation mechanism which ships with fabric today is the standard +// 'vscc' validation mechanism. This built in validation method utilizes an endorsement policy +// which checks that a sufficient number of signatures have been included. The 'arguement' +// field encodes any parameters required by the validation implementation. +type ChaincodeValidation struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Argument []byte `protobuf:"bytes,2,opt,name=argument,proto3" json:"argument,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeValidation) Reset() { *m = ChaincodeValidation{} } +func (m *ChaincodeValidation) String() string { return proto.CompactTextString(m) } +func (*ChaincodeValidation) ProtoMessage() {} +func (*ChaincodeValidation) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{1} +} + +func (m *ChaincodeValidation) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeValidation.Unmarshal(m, b) +} +func (m *ChaincodeValidation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeValidation.Marshal(b, m, deterministic) +} +func (m *ChaincodeValidation) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeValidation.Merge(m, src) +} +func (m *ChaincodeValidation) XXX_Size() int { + return xxx_messageInfo_ChaincodeValidation.Size(m) +} +func (m *ChaincodeValidation) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeValidation.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeValidation proto.InternalMessageInfo + +func (m *ChaincodeValidation) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeValidation) GetArgument() []byte { + if m != nil { + return m.Argument + } + return nil +} + +// VSCCArgs is passed (marshaled) as a parameter to the VSCC imlementation via the +// argument field of the ChaincodeValidation message. +type VSCCArgs struct { + EndorsementPolicyRef string `protobuf:"bytes,1,opt,name=endorsement_policy_ref,json=endorsementPolicyRef,proto3" json:"endorsement_policy_ref,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *VSCCArgs) Reset() { *m = VSCCArgs{} } +func (m *VSCCArgs) String() string { return proto.CompactTextString(m) } +func (*VSCCArgs) ProtoMessage() {} +func (*VSCCArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{2} +} + +func (m *VSCCArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_VSCCArgs.Unmarshal(m, b) +} +func (m *VSCCArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_VSCCArgs.Marshal(b, m, deterministic) +} +func (m *VSCCArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_VSCCArgs.Merge(m, src) +} +func (m *VSCCArgs) XXX_Size() int { + return xxx_messageInfo_VSCCArgs.Size(m) +} +func (m *VSCCArgs) XXX_DiscardUnknown() { + xxx_messageInfo_VSCCArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_VSCCArgs proto.InternalMessageInfo + +func (m *VSCCArgs) GetEndorsementPolicyRef() string { + if m != nil { + return m.EndorsementPolicyRef + } + return "" +} + +// ChaincodeEndorsement instructs the peer how transactions should be endorsed. The only +// endorsement mechanism which ships with the fabric today is the standard 'escc' mechanism. +// This code simply simulates the proposal to generate a RW set, then signs the result +// using the peer's local signing identity. +type ChaincodeEndorsement struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeEndorsement) Reset() { *m = ChaincodeEndorsement{} } +func (m *ChaincodeEndorsement) String() string { return proto.CompactTextString(m) } +func (*ChaincodeEndorsement) ProtoMessage() {} +func (*ChaincodeEndorsement) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{3} +} + +func (m *ChaincodeEndorsement) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeEndorsement.Unmarshal(m, b) +} +func (m *ChaincodeEndorsement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeEndorsement.Marshal(b, m, deterministic) +} +func (m *ChaincodeEndorsement) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeEndorsement.Merge(m, src) +} +func (m *ChaincodeEndorsement) XXX_Size() int { + return xxx_messageInfo_ChaincodeEndorsement.Size(m) +} +func (m *ChaincodeEndorsement) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeEndorsement.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeEndorsement proto.InternalMessageInfo + +func (m *ChaincodeEndorsement) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// ConfigTree encapsulates channel and resources configuration of a channel. +// Both configurations are represented as common.Config +type ConfigTree struct { + ChannelConfig *common.Config `protobuf:"bytes,1,opt,name=channel_config,json=channelConfig,proto3" json:"channel_config,omitempty"` + ResourcesConfig *common.Config `protobuf:"bytes,2,opt,name=resources_config,json=resourcesConfig,proto3" json:"resources_config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigTree) Reset() { *m = ConfigTree{} } +func (m *ConfigTree) String() string { return proto.CompactTextString(m) } +func (*ConfigTree) ProtoMessage() {} +func (*ConfigTree) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{4} +} + +func (m *ConfigTree) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigTree.Unmarshal(m, b) +} +func (m *ConfigTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigTree.Marshal(b, m, deterministic) +} +func (m *ConfigTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigTree.Merge(m, src) +} +func (m *ConfigTree) XXX_Size() int { + return xxx_messageInfo_ConfigTree.Size(m) +} +func (m *ConfigTree) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigTree.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigTree proto.InternalMessageInfo + +func (m *ConfigTree) GetChannelConfig() *common.Config { + if m != nil { + return m.ChannelConfig + } + return nil +} + +func (m *ConfigTree) GetResourcesConfig() *common.Config { + if m != nil { + return m.ResourcesConfig + } + return nil +} + +func init() { + proto.RegisterType((*ChaincodeIdentifier)(nil), "protos.ChaincodeIdentifier") + proto.RegisterType((*ChaincodeValidation)(nil), "protos.ChaincodeValidation") + proto.RegisterType((*VSCCArgs)(nil), "protos.VSCCArgs") + proto.RegisterType((*ChaincodeEndorsement)(nil), "protos.ChaincodeEndorsement") + proto.RegisterType((*ConfigTree)(nil), "protos.ConfigTree") +} + +func init() { proto.RegisterFile("peer/resources.proto", fileDescriptor_4991d8496920b696) } + +var fileDescriptor_4991d8496920b696 = []byte{ + // 327 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x3f, 0x4f, 0xc3, 0x30, + 0x10, 0xc5, 0xd5, 0x0a, 0x41, 0x6b, 0x4a, 0x41, 0xa6, 0xa0, 0xaa, 0x53, 0x95, 0xa9, 0x42, 0x34, + 0x91, 0xf8, 0x33, 0xb0, 0x01, 0x51, 0x07, 0x36, 0x64, 0x50, 0x07, 0x96, 0xca, 0x75, 0x2e, 0x8e, + 0xa5, 0xc4, 0x8e, 0xce, 0x29, 0xa2, 0x0b, 0x9f, 0x1d, 0xc5, 0x6e, 0x43, 0x86, 0x4e, 0xbe, 0xf3, + 0xfb, 0xdd, 0xd3, 0xe9, 0x1d, 0x19, 0x95, 0x00, 0x18, 0x21, 0x58, 0xb3, 0x41, 0x01, 0x36, 0x2c, + 0xd1, 0x54, 0x86, 0x1e, 0xbb, 0xc7, 0x4e, 0xae, 0x84, 0x29, 0x0a, 0xa3, 0x23, 0x61, 0x74, 0xaa, + 0x64, 0xf5, 0xe3, 0xe5, 0x20, 0x26, 0x97, 0x71, 0xc6, 0x95, 0x16, 0x26, 0x81, 0xb7, 0x04, 0x74, + 0xa5, 0x52, 0x05, 0x48, 0x29, 0x39, 0xca, 0xb8, 0xcd, 0xc6, 0x9d, 0x69, 0x67, 0x36, 0x60, 0xae, + 0xa6, 0x63, 0x72, 0xf2, 0x0d, 0x68, 0x95, 0xd1, 0xe3, 0xee, 0xb4, 0x33, 0xeb, 0xb3, 0x7d, 0x1b, + 0x2c, 0x5a, 0x26, 0x4b, 0x9e, 0xab, 0x84, 0x57, 0xca, 0xe8, 0xda, 0x44, 0xf3, 0x02, 0x9c, 0x49, + 0x9f, 0xb9, 0x9a, 0x4e, 0x48, 0x8f, 0xa3, 0xdc, 0x14, 0xa0, 0x2b, 0xe7, 0x32, 0x60, 0x4d, 0x1f, + 0x3c, 0x93, 0xde, 0xf2, 0x23, 0x8e, 0x5f, 0x50, 0x5a, 0xfa, 0x40, 0xae, 0x41, 0x27, 0x06, 0x2d, + 0xd4, 0xd2, 0xaa, 0x34, 0xb9, 0x12, 0xdb, 0x15, 0x42, 0xba, 0x73, 0x1b, 0xb5, 0xd4, 0x77, 0x27, + 0x32, 0x48, 0x83, 0x1b, 0x32, 0x6a, 0x16, 0x59, 0xfc, 0x03, 0x87, 0x36, 0x09, 0x7e, 0x09, 0x89, + 0x5d, 0x16, 0x9f, 0x08, 0x40, 0x1f, 0xc9, 0x50, 0x64, 0x5c, 0x6b, 0xc8, 0x57, 0x3e, 0x21, 0xc7, + 0x9e, 0xde, 0x0d, 0x43, 0x9f, 0x5b, 0xe8, 0x59, 0x76, 0xb6, 0xa3, 0x7c, 0x4b, 0x9f, 0xc8, 0x45, + 0x13, 0xf8, 0x7e, 0xb0, 0x7b, 0x70, 0xf0, 0xbc, 0xe1, 0xfc, 0xc7, 0x2b, 0x23, 0x81, 0x41, 0x19, + 0x66, 0xdb, 0x12, 0x30, 0x87, 0x44, 0x02, 0x86, 0x29, 0x5f, 0xa3, 0x12, 0xfe, 0x32, 0x36, 0xac, + 0xcf, 0xf9, 0x75, 0x2b, 0x55, 0x95, 0x6d, 0xd6, 0xb5, 0x59, 0xd4, 0x42, 0x23, 0x8f, 0xce, 0x3d, + 0x3a, 0x97, 0x26, 0xaa, 0xe9, 0xb5, 0x3f, 0xf6, 0xfd, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xae, + 0x32, 0x27, 0x0c, 0x0b, 0x02, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/signed_cc_dep_spec.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/signed_cc_dep_spec.pb.go new file mode 100644 index 0000000..460d8ba --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/signed_cc_dep_spec.pb.go @@ -0,0 +1,112 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/signed_cc_dep_spec.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// SignedChaincodeDeploymentSpec carries the CDS along with endorsements +type SignedChaincodeDeploymentSpec struct { + // This is the bytes of the ChaincodeDeploymentSpec + ChaincodeDeploymentSpec []byte `protobuf:"bytes,1,opt,name=chaincode_deployment_spec,json=chaincodeDeploymentSpec,proto3" json:"chaincode_deployment_spec,omitempty"` + // This is the instantiation policy which is identical in structure + // to endorsement policy. This policy is checked by the VSCC at commit + // time on the instantiation (all peers will get the same policy as it + // will be part of the LSCC instantation record and will be part of the + // hash as well) + InstantiationPolicy []byte `protobuf:"bytes,2,opt,name=instantiation_policy,json=instantiationPolicy,proto3" json:"instantiation_policy,omitempty"` + // The endorsements of the above deployment spec, the owner's signature over + // chaincode_deployment_spec and Endorsement.endorser. + OwnerEndorsements []*Endorsement `protobuf:"bytes,3,rep,name=owner_endorsements,json=ownerEndorsements,proto3" json:"owner_endorsements,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignedChaincodeDeploymentSpec) Reset() { *m = SignedChaincodeDeploymentSpec{} } +func (m *SignedChaincodeDeploymentSpec) String() string { return proto.CompactTextString(m) } +func (*SignedChaincodeDeploymentSpec) ProtoMessage() {} +func (*SignedChaincodeDeploymentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_e007a7c0644e7e6f, []int{0} +} + +func (m *SignedChaincodeDeploymentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignedChaincodeDeploymentSpec.Unmarshal(m, b) +} +func (m *SignedChaincodeDeploymentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignedChaincodeDeploymentSpec.Marshal(b, m, deterministic) +} +func (m *SignedChaincodeDeploymentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedChaincodeDeploymentSpec.Merge(m, src) +} +func (m *SignedChaincodeDeploymentSpec) XXX_Size() int { + return xxx_messageInfo_SignedChaincodeDeploymentSpec.Size(m) +} +func (m *SignedChaincodeDeploymentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_SignedChaincodeDeploymentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedChaincodeDeploymentSpec proto.InternalMessageInfo + +func (m *SignedChaincodeDeploymentSpec) GetChaincodeDeploymentSpec() []byte { + if m != nil { + return m.ChaincodeDeploymentSpec + } + return nil +} + +func (m *SignedChaincodeDeploymentSpec) GetInstantiationPolicy() []byte { + if m != nil { + return m.InstantiationPolicy + } + return nil +} + +func (m *SignedChaincodeDeploymentSpec) GetOwnerEndorsements() []*Endorsement { + if m != nil { + return m.OwnerEndorsements + } + return nil +} + +func init() { + proto.RegisterType((*SignedChaincodeDeploymentSpec)(nil), "protos.SignedChaincodeDeploymentSpec") +} + +func init() { proto.RegisterFile("peer/signed_cc_dep_spec.proto", fileDescriptor_e007a7c0644e7e6f) } + +var fileDescriptor_e007a7c0644e7e6f = []byte{ + // 258 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x41, 0x4b, 0xf3, 0x40, + 0x10, 0x86, 0xc9, 0x57, 0xf8, 0x0e, 0xab, 0x17, 0x53, 0xc1, 0x28, 0x16, 0x4a, 0x4f, 0x3d, 0xd8, + 0x04, 0xf5, 0xe6, 0xb1, 0xea, 0x5d, 0xd2, 0x9b, 0x97, 0x25, 0x99, 0x8c, 0xc9, 0x42, 0xba, 0x33, + 0xcc, 0xac, 0x48, 0xfe, 0xa6, 0xbf, 0x48, 0xb2, 0xb1, 0x58, 0x0f, 0x9e, 0x16, 0xf6, 0x79, 0xde, + 0x99, 0xe1, 0x35, 0x0b, 0x46, 0x94, 0x42, 0x5d, 0xeb, 0xb1, 0xb1, 0x00, 0xb6, 0x41, 0xb6, 0xca, + 0x08, 0x39, 0x0b, 0x05, 0x4a, 0xff, 0xc7, 0x47, 0xaf, 0xae, 0xa3, 0xc6, 0x42, 0x4c, 0x5a, 0xf5, + 0x56, 0x50, 0x99, 0xbc, 0xe2, 0x64, 0xad, 0x3e, 0x13, 0xb3, 0xd8, 0xc5, 0x11, 0x8f, 0x5d, 0xe5, + 0x3c, 0x50, 0x83, 0x4f, 0xc8, 0x3d, 0x0d, 0x7b, 0xf4, 0x61, 0xc7, 0x08, 0xe9, 0x83, 0xb9, 0x84, + 0x03, 0x1a, 0x77, 0x7c, 0xb3, 0xb8, 0x2a, 0x4b, 0x96, 0xc9, 0xfa, 0xb4, 0xbc, 0x80, 0x3f, 0xb2, + 0xb7, 0xe6, 0xdc, 0x79, 0x0d, 0x95, 0x0f, 0xae, 0x0a, 0x8e, 0xbc, 0x65, 0xea, 0x1d, 0x0c, 0xd9, + 0xbf, 0x18, 0x9b, 0xff, 0x62, 0x2f, 0x11, 0xa5, 0x5b, 0x93, 0xd2, 0x87, 0x47, 0xb1, 0xe8, 0x1b, + 0x12, 0xc5, 0x71, 0x96, 0x66, 0xb3, 0xe5, 0x6c, 0x7d, 0x72, 0x37, 0x9f, 0x8e, 0xd6, 0xfc, 0xf9, + 0x87, 0x95, 0x67, 0x51, 0x3f, 0xfa, 0xd1, 0x6d, 0x69, 0x56, 0x24, 0x6d, 0xde, 0x0d, 0x8c, 0xd2, + 0x63, 0xd3, 0xa2, 0xe4, 0x6f, 0x55, 0x2d, 0x0e, 0x0e, 0xf9, 0xb1, 0x92, 0xd7, 0x9b, 0xd6, 0x85, + 0xee, 0xbd, 0xce, 0x81, 0xf6, 0xc5, 0x91, 0x5a, 0x4c, 0xea, 0x66, 0x52, 0x37, 0x2d, 0x15, 0xa3, + 0x5d, 0x4f, 0x75, 0xde, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0xa0, 0xc6, 0x22, 0xdb, 0x76, 0x01, + 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/transaction.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/transaction.pb.go new file mode 100644 index 0000000..47b879c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/hyperledger/fabric-protos-go/peer/transaction.pb.go @@ -0,0 +1,494 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/transaction.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type TxValidationCode int32 + +const ( + TxValidationCode_VALID TxValidationCode = 0 + TxValidationCode_NIL_ENVELOPE TxValidationCode = 1 + TxValidationCode_BAD_PAYLOAD TxValidationCode = 2 + TxValidationCode_BAD_COMMON_HEADER TxValidationCode = 3 + TxValidationCode_BAD_CREATOR_SIGNATURE TxValidationCode = 4 + TxValidationCode_INVALID_ENDORSER_TRANSACTION TxValidationCode = 5 + TxValidationCode_INVALID_CONFIG_TRANSACTION TxValidationCode = 6 + TxValidationCode_UNSUPPORTED_TX_PAYLOAD TxValidationCode = 7 + TxValidationCode_BAD_PROPOSAL_TXID TxValidationCode = 8 + TxValidationCode_DUPLICATE_TXID TxValidationCode = 9 + TxValidationCode_ENDORSEMENT_POLICY_FAILURE TxValidationCode = 10 + TxValidationCode_MVCC_READ_CONFLICT TxValidationCode = 11 + TxValidationCode_PHANTOM_READ_CONFLICT TxValidationCode = 12 + TxValidationCode_UNKNOWN_TX_TYPE TxValidationCode = 13 + TxValidationCode_TARGET_CHAIN_NOT_FOUND TxValidationCode = 14 + TxValidationCode_MARSHAL_TX_ERROR TxValidationCode = 15 + TxValidationCode_NIL_TXACTION TxValidationCode = 16 + TxValidationCode_EXPIRED_CHAINCODE TxValidationCode = 17 + TxValidationCode_CHAINCODE_VERSION_CONFLICT TxValidationCode = 18 + TxValidationCode_BAD_HEADER_EXTENSION TxValidationCode = 19 + TxValidationCode_BAD_CHANNEL_HEADER TxValidationCode = 20 + TxValidationCode_BAD_RESPONSE_PAYLOAD TxValidationCode = 21 + TxValidationCode_BAD_RWSET TxValidationCode = 22 + TxValidationCode_ILLEGAL_WRITESET TxValidationCode = 23 + TxValidationCode_INVALID_WRITESET TxValidationCode = 24 + TxValidationCode_INVALID_CHAINCODE TxValidationCode = 25 + TxValidationCode_NOT_VALIDATED TxValidationCode = 254 + TxValidationCode_INVALID_OTHER_REASON TxValidationCode = 255 +) + +var TxValidationCode_name = map[int32]string{ + 0: "VALID", + 1: "NIL_ENVELOPE", + 2: "BAD_PAYLOAD", + 3: "BAD_COMMON_HEADER", + 4: "BAD_CREATOR_SIGNATURE", + 5: "INVALID_ENDORSER_TRANSACTION", + 6: "INVALID_CONFIG_TRANSACTION", + 7: "UNSUPPORTED_TX_PAYLOAD", + 8: "BAD_PROPOSAL_TXID", + 9: "DUPLICATE_TXID", + 10: "ENDORSEMENT_POLICY_FAILURE", + 11: "MVCC_READ_CONFLICT", + 12: "PHANTOM_READ_CONFLICT", + 13: "UNKNOWN_TX_TYPE", + 14: "TARGET_CHAIN_NOT_FOUND", + 15: "MARSHAL_TX_ERROR", + 16: "NIL_TXACTION", + 17: "EXPIRED_CHAINCODE", + 18: "CHAINCODE_VERSION_CONFLICT", + 19: "BAD_HEADER_EXTENSION", + 20: "BAD_CHANNEL_HEADER", + 21: "BAD_RESPONSE_PAYLOAD", + 22: "BAD_RWSET", + 23: "ILLEGAL_WRITESET", + 24: "INVALID_WRITESET", + 25: "INVALID_CHAINCODE", + 254: "NOT_VALIDATED", + 255: "INVALID_OTHER_REASON", +} + +var TxValidationCode_value = map[string]int32{ + "VALID": 0, + "NIL_ENVELOPE": 1, + "BAD_PAYLOAD": 2, + "BAD_COMMON_HEADER": 3, + "BAD_CREATOR_SIGNATURE": 4, + "INVALID_ENDORSER_TRANSACTION": 5, + "INVALID_CONFIG_TRANSACTION": 6, + "UNSUPPORTED_TX_PAYLOAD": 7, + "BAD_PROPOSAL_TXID": 8, + "DUPLICATE_TXID": 9, + "ENDORSEMENT_POLICY_FAILURE": 10, + "MVCC_READ_CONFLICT": 11, + "PHANTOM_READ_CONFLICT": 12, + "UNKNOWN_TX_TYPE": 13, + "TARGET_CHAIN_NOT_FOUND": 14, + "MARSHAL_TX_ERROR": 15, + "NIL_TXACTION": 16, + "EXPIRED_CHAINCODE": 17, + "CHAINCODE_VERSION_CONFLICT": 18, + "BAD_HEADER_EXTENSION": 19, + "BAD_CHANNEL_HEADER": 20, + "BAD_RESPONSE_PAYLOAD": 21, + "BAD_RWSET": 22, + "ILLEGAL_WRITESET": 23, + "INVALID_WRITESET": 24, + "INVALID_CHAINCODE": 25, + "NOT_VALIDATED": 254, + "INVALID_OTHER_REASON": 255, +} + +func (x TxValidationCode) String() string { + return proto.EnumName(TxValidationCode_name, int32(x)) +} + +func (TxValidationCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{0} +} + +// Reserved entries in the key-level metadata map +type MetaDataKeys int32 + +const ( + MetaDataKeys_VALIDATION_PARAMETER MetaDataKeys = 0 + MetaDataKeys_VALIDATION_PARAMETER_V2 MetaDataKeys = 1 +) + +var MetaDataKeys_name = map[int32]string{ + 0: "VALIDATION_PARAMETER", + 1: "VALIDATION_PARAMETER_V2", +} + +var MetaDataKeys_value = map[string]int32{ + "VALIDATION_PARAMETER": 0, + "VALIDATION_PARAMETER_V2": 1, +} + +func (x MetaDataKeys) String() string { + return proto.EnumName(MetaDataKeys_name, int32(x)) +} + +func (MetaDataKeys) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{1} +} + +// ProcessedTransaction wraps an Envelope that includes a transaction along with an indication +// of whether the transaction was validated or invalidated by committing peer. +// The use case is that GetTransactionByID API needs to retrieve the transaction Envelope +// from block storage, and return it to a client, and indicate whether the transaction +// was validated or invalidated by committing peer. So that the originally submitted +// transaction Envelope is not modified, the ProcessedTransaction wrapper is returned. +type ProcessedTransaction struct { + // An Envelope which includes a processed transaction + TransactionEnvelope *common.Envelope `protobuf:"bytes,1,opt,name=transactionEnvelope,proto3" json:"transactionEnvelope,omitempty"` + // An indication of whether the transaction was validated or invalidated by committing peer + ValidationCode int32 `protobuf:"varint,2,opt,name=validationCode,proto3" json:"validationCode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProcessedTransaction) Reset() { *m = ProcessedTransaction{} } +func (m *ProcessedTransaction) String() string { return proto.CompactTextString(m) } +func (*ProcessedTransaction) ProtoMessage() {} +func (*ProcessedTransaction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{0} +} + +func (m *ProcessedTransaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProcessedTransaction.Unmarshal(m, b) +} +func (m *ProcessedTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProcessedTransaction.Marshal(b, m, deterministic) +} +func (m *ProcessedTransaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProcessedTransaction.Merge(m, src) +} +func (m *ProcessedTransaction) XXX_Size() int { + return xxx_messageInfo_ProcessedTransaction.Size(m) +} +func (m *ProcessedTransaction) XXX_DiscardUnknown() { + xxx_messageInfo_ProcessedTransaction.DiscardUnknown(m) +} + +var xxx_messageInfo_ProcessedTransaction proto.InternalMessageInfo + +func (m *ProcessedTransaction) GetTransactionEnvelope() *common.Envelope { + if m != nil { + return m.TransactionEnvelope + } + return nil +} + +func (m *ProcessedTransaction) GetValidationCode() int32 { + if m != nil { + return m.ValidationCode + } + return 0 +} + +// The transaction to be sent to the ordering service. A transaction contains +// one or more TransactionAction. Each TransactionAction binds a proposal to +// potentially multiple actions. The transaction is atomic meaning that either +// all actions in the transaction will be committed or none will. Note that +// while a Transaction might include more than one Header, the Header.creator +// field must be the same in each. +// A single client is free to issue a number of independent Proposal, each with +// their header (Header) and request payload (ChaincodeProposalPayload). Each +// proposal is independently endorsed generating an action +// (ProposalResponsePayload) with one signature per Endorser. Any number of +// independent proposals (and their action) might be included in a transaction +// to ensure that they are treated atomically. +type Transaction struct { + // The payload is an array of TransactionAction. An array is necessary to + // accommodate multiple actions per transaction + Actions []*TransactionAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Transaction) Reset() { *m = Transaction{} } +func (m *Transaction) String() string { return proto.CompactTextString(m) } +func (*Transaction) ProtoMessage() {} +func (*Transaction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{1} +} + +func (m *Transaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Transaction.Unmarshal(m, b) +} +func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Transaction.Marshal(b, m, deterministic) +} +func (m *Transaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_Transaction.Merge(m, src) +} +func (m *Transaction) XXX_Size() int { + return xxx_messageInfo_Transaction.Size(m) +} +func (m *Transaction) XXX_DiscardUnknown() { + xxx_messageInfo_Transaction.DiscardUnknown(m) +} + +var xxx_messageInfo_Transaction proto.InternalMessageInfo + +func (m *Transaction) GetActions() []*TransactionAction { + if m != nil { + return m.Actions + } + return nil +} + +// TransactionAction binds a proposal to its action. The type field in the +// header dictates the type of action to be applied to the ledger. +type TransactionAction struct { + // The header of the proposal action, which is the proposal header + Header []byte `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // The payload of the action as defined by the type in the header For + // chaincode, it's the bytes of ChaincodeActionPayload + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TransactionAction) Reset() { *m = TransactionAction{} } +func (m *TransactionAction) String() string { return proto.CompactTextString(m) } +func (*TransactionAction) ProtoMessage() {} +func (*TransactionAction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{2} +} + +func (m *TransactionAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransactionAction.Unmarshal(m, b) +} +func (m *TransactionAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransactionAction.Marshal(b, m, deterministic) +} +func (m *TransactionAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionAction.Merge(m, src) +} +func (m *TransactionAction) XXX_Size() int { + return xxx_messageInfo_TransactionAction.Size(m) +} +func (m *TransactionAction) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionAction.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionAction proto.InternalMessageInfo + +func (m *TransactionAction) GetHeader() []byte { + if m != nil { + return m.Header + } + return nil +} + +func (m *TransactionAction) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +// ChaincodeActionPayload is the message to be used for the TransactionAction's +// payload when the Header's type is set to CHAINCODE. It carries the +// chaincodeProposalPayload and an endorsed action to apply to the ledger. +type ChaincodeActionPayload struct { + // This field contains the bytes of the ChaincodeProposalPayload message from + // the original invocation (essentially the arguments) after the application + // of the visibility function. The main visibility modes are "full" (the + // entire ChaincodeProposalPayload message is included here), "hash" (only + // the hash of the ChaincodeProposalPayload message is included) or + // "nothing". This field will be used to check the consistency of + // ProposalResponsePayload.proposalHash. For the CHAINCODE type, + // ProposalResponsePayload.proposalHash is supposed to be H(ProposalHeader || + // f(ChaincodeProposalPayload)) where f is the visibility function. + ChaincodeProposalPayload []byte `protobuf:"bytes,1,opt,name=chaincode_proposal_payload,json=chaincodeProposalPayload,proto3" json:"chaincode_proposal_payload,omitempty"` + // The list of actions to apply to the ledger + Action *ChaincodeEndorsedAction `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeActionPayload) Reset() { *m = ChaincodeActionPayload{} } +func (m *ChaincodeActionPayload) String() string { return proto.CompactTextString(m) } +func (*ChaincodeActionPayload) ProtoMessage() {} +func (*ChaincodeActionPayload) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{3} +} + +func (m *ChaincodeActionPayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeActionPayload.Unmarshal(m, b) +} +func (m *ChaincodeActionPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeActionPayload.Marshal(b, m, deterministic) +} +func (m *ChaincodeActionPayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeActionPayload.Merge(m, src) +} +func (m *ChaincodeActionPayload) XXX_Size() int { + return xxx_messageInfo_ChaincodeActionPayload.Size(m) +} +func (m *ChaincodeActionPayload) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeActionPayload.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeActionPayload proto.InternalMessageInfo + +func (m *ChaincodeActionPayload) GetChaincodeProposalPayload() []byte { + if m != nil { + return m.ChaincodeProposalPayload + } + return nil +} + +func (m *ChaincodeActionPayload) GetAction() *ChaincodeEndorsedAction { + if m != nil { + return m.Action + } + return nil +} + +// ChaincodeEndorsedAction carries information about the endorsement of a +// specific proposal +type ChaincodeEndorsedAction struct { + // This is the bytes of the ProposalResponsePayload message signed by the + // endorsers. Recall that for the CHAINCODE type, the + // ProposalResponsePayload's extenstion field carries a ChaincodeAction + ProposalResponsePayload []byte `protobuf:"bytes,1,opt,name=proposal_response_payload,json=proposalResponsePayload,proto3" json:"proposal_response_payload,omitempty"` + // The endorsement of the proposal, basically the endorser's signature over + // proposalResponsePayload + Endorsements []*Endorsement `protobuf:"bytes,2,rep,name=endorsements,proto3" json:"endorsements,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeEndorsedAction) Reset() { *m = ChaincodeEndorsedAction{} } +func (m *ChaincodeEndorsedAction) String() string { return proto.CompactTextString(m) } +func (*ChaincodeEndorsedAction) ProtoMessage() {} +func (*ChaincodeEndorsedAction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{4} +} + +func (m *ChaincodeEndorsedAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeEndorsedAction.Unmarshal(m, b) +} +func (m *ChaincodeEndorsedAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeEndorsedAction.Marshal(b, m, deterministic) +} +func (m *ChaincodeEndorsedAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeEndorsedAction.Merge(m, src) +} +func (m *ChaincodeEndorsedAction) XXX_Size() int { + return xxx_messageInfo_ChaincodeEndorsedAction.Size(m) +} +func (m *ChaincodeEndorsedAction) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeEndorsedAction.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeEndorsedAction proto.InternalMessageInfo + +func (m *ChaincodeEndorsedAction) GetProposalResponsePayload() []byte { + if m != nil { + return m.ProposalResponsePayload + } + return nil +} + +func (m *ChaincodeEndorsedAction) GetEndorsements() []*Endorsement { + if m != nil { + return m.Endorsements + } + return nil +} + +func init() { + proto.RegisterEnum("protos.TxValidationCode", TxValidationCode_name, TxValidationCode_value) + proto.RegisterEnum("protos.MetaDataKeys", MetaDataKeys_name, MetaDataKeys_value) + proto.RegisterType((*ProcessedTransaction)(nil), "protos.ProcessedTransaction") + proto.RegisterType((*Transaction)(nil), "protos.Transaction") + proto.RegisterType((*TransactionAction)(nil), "protos.TransactionAction") + proto.RegisterType((*ChaincodeActionPayload)(nil), "protos.ChaincodeActionPayload") + proto.RegisterType((*ChaincodeEndorsedAction)(nil), "protos.ChaincodeEndorsedAction") +} + +func init() { proto.RegisterFile("peer/transaction.proto", fileDescriptor_25804bbfb0752368) } + +var fileDescriptor_25804bbfb0752368 = []byte{ + // 838 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x54, 0x5d, 0x6f, 0x22, 0x37, + 0x14, 0xdd, 0xc9, 0x36, 0x49, 0x63, 0x48, 0xe2, 0x18, 0x42, 0x80, 0xae, 0xda, 0x88, 0x87, 0x2a, + 0x5a, 0x75, 0x41, 0xca, 0x3e, 0x54, 0xaa, 0xfa, 0x62, 0x66, 0x6e, 0xc2, 0x68, 0x07, 0x7b, 0xe4, + 0x31, 0x84, 0xf4, 0xc5, 0x9a, 0x80, 0x97, 0xa0, 0x12, 0x06, 0xcd, 0xd0, 0x55, 0xf3, 0xda, 0x1f, + 0xd0, 0xfe, 0x90, 0xfe, 0xc7, 0xb6, 0xf2, 0x7c, 0x85, 0x64, 0xb7, 0x2f, 0x18, 0x9f, 0x73, 0xee, + 0xbd, 0xe7, 0xde, 0xab, 0x31, 0x6a, 0xac, 0xb5, 0x8e, 0x7b, 0x9b, 0x38, 0x5c, 0x25, 0xe1, 0x74, + 0xb3, 0x88, 0x56, 0xdd, 0x75, 0x1c, 0x6d, 0x22, 0xb2, 0x97, 0x1e, 0x49, 0xfb, 0x4d, 0xca, 0xaf, + 0xe3, 0x68, 0x1d, 0x25, 0xe1, 0x52, 0xc5, 0x3a, 0x59, 0x47, 0xab, 0x44, 0x67, 0xaa, 0x76, 0x6d, + 0x1a, 0x3d, 0x3c, 0x44, 0xab, 0x5e, 0x76, 0x64, 0x60, 0xe7, 0x0f, 0x0b, 0xd5, 0xfd, 0x38, 0x9a, + 0xea, 0x24, 0xd1, 0x33, 0xf9, 0x94, 0x99, 0xf4, 0x51, 0x6d, 0xab, 0x10, 0xac, 0x3e, 0xe9, 0x65, + 0xb4, 0xd6, 0x4d, 0xeb, 0xdc, 0xba, 0xa8, 0x5c, 0xe2, 0x6e, 0x9e, 0xa4, 0xc0, 0xc5, 0x97, 0xc4, + 0xe4, 0x7b, 0x74, 0xf4, 0x29, 0x5c, 0x2e, 0x66, 0xa1, 0x41, 0xed, 0x68, 0xa6, 0x9b, 0x3b, 0xe7, + 0xd6, 0xc5, 0xae, 0x78, 0x81, 0x76, 0xfa, 0xa8, 0xb2, 0x5d, 0xfa, 0x3d, 0xda, 0xcf, 0xfe, 0x25, + 0x4d, 0xeb, 0xfc, 0xf5, 0x45, 0xe5, 0xb2, 0x95, 0x99, 0x4d, 0xba, 0x5b, 0x2a, 0x9a, 0xfe, 0x8a, + 0x42, 0xd9, 0x01, 0x74, 0xf2, 0x19, 0x4b, 0x1a, 0x68, 0xef, 0x5e, 0x87, 0x33, 0x1d, 0xa7, 0xbe, + 0xab, 0x22, 0xbf, 0x91, 0x26, 0xda, 0x5f, 0x87, 0x8f, 0xcb, 0x28, 0x9c, 0xa5, 0x8e, 0xaa, 0xa2, + 0xb8, 0x76, 0xfe, 0xb2, 0x50, 0xc3, 0xbe, 0x0f, 0x17, 0xab, 0x69, 0x34, 0xd3, 0x59, 0x16, 0x3f, + 0xa3, 0xc8, 0xcf, 0xa8, 0x3d, 0x2d, 0x18, 0x55, 0x0e, 0xb9, 0xc8, 0x93, 0x15, 0x68, 0x96, 0x0a, + 0x3f, 0x17, 0x14, 0xd1, 0x3f, 0xa2, 0xbd, 0xcc, 0x5a, 0x5a, 0xb1, 0x72, 0xf9, 0x5d, 0xd1, 0x53, + 0x59, 0x0d, 0x56, 0xb3, 0x28, 0x4e, 0xf4, 0x2c, 0xef, 0x2c, 0x97, 0x77, 0xfe, 0xb4, 0xd0, 0xd9, + 0xff, 0x68, 0xc8, 0x4f, 0xa8, 0xf5, 0xd9, 0xb6, 0x5f, 0x38, 0x3a, 0x2b, 0x04, 0x22, 0xe7, 0x9f, + 0x0c, 0x55, 0x75, 0x96, 0xed, 0x41, 0xaf, 0x36, 0x49, 0x73, 0x27, 0x1d, 0x75, 0xad, 0xb0, 0x05, + 0x4f, 0x9c, 0x78, 0x26, 0x7c, 0xfb, 0xf7, 0x2e, 0xc2, 0xf2, 0xf7, 0xf1, 0xb3, 0x15, 0x92, 0x03, + 0xb4, 0x3b, 0xa6, 0x9e, 0xeb, 0xe0, 0x57, 0x04, 0xa3, 0x2a, 0x73, 0x3d, 0x05, 0x6c, 0x0c, 0x1e, + 0xf7, 0x01, 0x5b, 0xe4, 0x18, 0x55, 0xfa, 0xd4, 0x51, 0x3e, 0xbd, 0xf5, 0x38, 0x75, 0xf0, 0x0e, + 0x39, 0x45, 0x27, 0x06, 0xb0, 0xf9, 0x70, 0xc8, 0x99, 0x1a, 0x00, 0x75, 0x40, 0xe0, 0xd7, 0xa4, + 0x85, 0x4e, 0x53, 0x58, 0x00, 0x95, 0x5c, 0xa8, 0xc0, 0xbd, 0x66, 0x54, 0x8e, 0x04, 0xe0, 0xaf, + 0xc8, 0x39, 0x7a, 0xe3, 0xb2, 0xb4, 0x82, 0x02, 0xe6, 0x70, 0x11, 0x80, 0x50, 0x52, 0x50, 0x16, + 0x50, 0x5b, 0xba, 0x9c, 0xe1, 0x5d, 0xf2, 0x2d, 0x6a, 0x17, 0x0a, 0x9b, 0xb3, 0x2b, 0xf7, 0xfa, + 0x19, 0xbf, 0x47, 0xda, 0xa8, 0x31, 0x62, 0xc1, 0xc8, 0xf7, 0xb9, 0x90, 0xe0, 0x28, 0x39, 0x29, + 0xfd, 0xec, 0x17, 0x7e, 0x7c, 0xc1, 0x7d, 0x1e, 0x50, 0x4f, 0xc9, 0x89, 0xeb, 0xe0, 0xaf, 0x09, + 0x41, 0x47, 0xce, 0xc8, 0xf7, 0x5c, 0x9b, 0x4a, 0xc8, 0xb0, 0x03, 0x53, 0x26, 0x37, 0x30, 0x04, + 0x26, 0x95, 0xcf, 0x3d, 0xd7, 0xbe, 0x55, 0x57, 0xd4, 0xf5, 0x8c, 0x51, 0x44, 0x1a, 0x88, 0x0c, + 0xc7, 0xb6, 0xad, 0x04, 0xd0, 0xcc, 0x88, 0xe7, 0xda, 0x12, 0x57, 0x4c, 0x6f, 0xfe, 0x80, 0x32, + 0xc9, 0x87, 0x2f, 0xa8, 0x2a, 0xa9, 0xa1, 0xe3, 0x11, 0xfb, 0xc0, 0xf8, 0x0d, 0x33, 0xae, 0xe4, + 0xad, 0x0f, 0xf8, 0xd0, 0xd8, 0x95, 0x54, 0x5c, 0x83, 0x54, 0xf6, 0x80, 0xba, 0x4c, 0x31, 0x2e, + 0xd5, 0x15, 0x1f, 0x31, 0x07, 0x1f, 0x91, 0x3a, 0xc2, 0x43, 0x2a, 0x82, 0x41, 0xea, 0x54, 0x81, + 0x10, 0x5c, 0xe0, 0xe3, 0x62, 0xee, 0x72, 0x92, 0xb7, 0x8c, 0x4d, 0x5b, 0x30, 0xf1, 0x5d, 0x01, + 0x4e, 0x96, 0xc4, 0xe6, 0x0e, 0xe0, 0x13, 0xd3, 0x42, 0x79, 0x55, 0x63, 0x10, 0x81, 0xcb, 0xd9, + 0x93, 0x1f, 0x42, 0x9a, 0xa8, 0x6e, 0xa6, 0x91, 0xad, 0x45, 0xc1, 0x44, 0x02, 0x33, 0x12, 0x5c, + 0x33, 0xcd, 0xa5, 0x0b, 0x1a, 0x50, 0xc6, 0xc0, 0x2b, 0x16, 0x57, 0x2f, 0x22, 0x04, 0x04, 0x3e, + 0x67, 0x01, 0x94, 0x93, 0x3d, 0x25, 0x87, 0xe8, 0x20, 0x65, 0x6e, 0x02, 0x90, 0xb8, 0x61, 0x9c, + 0xbb, 0x9e, 0x07, 0xd7, 0xd4, 0x53, 0x37, 0xc2, 0x95, 0x60, 0xd0, 0xb3, 0x14, 0xcd, 0x57, 0x57, + 0xa2, 0x4d, 0xe3, 0xbe, 0x5c, 0x68, 0xe9, 0xbe, 0x45, 0x08, 0x3a, 0x34, 0xb3, 0x48, 0x09, 0x2a, + 0xc1, 0xc1, 0xff, 0x58, 0xa4, 0x85, 0xea, 0x85, 0x94, 0xcb, 0x01, 0x08, 0x33, 0xe2, 0x80, 0x33, + 0xfc, 0xaf, 0xf5, 0x16, 0x50, 0x75, 0xa8, 0x37, 0xa1, 0x13, 0x6e, 0xc2, 0x0f, 0xfa, 0x31, 0x31, + 0x56, 0xf3, 0x50, 0xd3, 0xb5, 0x4f, 0x05, 0x1d, 0x82, 0x04, 0x81, 0x5f, 0x91, 0x6f, 0xd0, 0xd9, + 0x97, 0x18, 0x35, 0xbe, 0xc4, 0x56, 0xff, 0x23, 0xea, 0x44, 0xf1, 0xbc, 0x7b, 0xff, 0xb8, 0xd6, + 0xf1, 0x52, 0xcf, 0xe6, 0x3a, 0xee, 0x7e, 0x0c, 0xef, 0xe2, 0xc5, 0xb4, 0xf8, 0x5e, 0xcc, 0xd3, + 0xdb, 0x27, 0x5b, 0x4f, 0x90, 0x1f, 0x4e, 0x7f, 0x0d, 0xe7, 0xfa, 0x97, 0x1f, 0xe6, 0x8b, 0xcd, + 0xfd, 0x6f, 0x77, 0xe6, 0xc5, 0xec, 0x6d, 0x85, 0xf7, 0xb2, 0xf0, 0x77, 0x59, 0xf8, 0xbb, 0x79, + 0xd4, 0x33, 0x19, 0xee, 0xb2, 0xa7, 0xfc, 0xfd, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xb6, + 0xfa, 0xa9, 0xeb, 0x05, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.travis.yml new file mode 100644 index 0000000..f0db1ad --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/.travis.yml @@ -0,0 +1,8 @@ +language: go + +go: + - 1.x + +os: + - linux + - osx diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/LICENCE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/LICENCE new file mode 100644 index 0000000..e7ddd51 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/LICENCE @@ -0,0 +1,23 @@ +Copyright (c) 2013 John Barton + +MIT License + +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: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +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. + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/README.md new file mode 100644 index 0000000..4e8fcf2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/README.md @@ -0,0 +1,163 @@ +# GoDotEnv [![Build Status](https://travis-ci.org/joho/godotenv.svg?branch=master)](https://travis-ci.org/joho/godotenv) [![Build status](https://ci.appveyor.com/api/projects/status/9v40vnfvvgde64u4?svg=true)](https://ci.appveyor.com/project/joho/godotenv) [![Go Report Card](https://goreportcard.com/badge/github.com/joho/godotenv)](https://goreportcard.com/report/github.com/joho/godotenv) + +A Go (golang) port of the Ruby dotenv project (which loads env vars from a .env file) + +From the original Library: + +> Storing configuration in the environment is one of the tenets of a twelve-factor app. Anything that is likely to change between deployment environments–such as resource handles for databases or credentials for external services–should be extracted from the code into environment variables. +> +> But it is not always practical to set environment variables on development machines or continuous integration servers where multiple projects are run. Dotenv load variables from a .env file into ENV when the environment is bootstrapped. + +It can be used as a library (for loading in env for your own daemons etc) or as a bin command. + +There is test coverage and CI for both linuxish and windows environments, but I make no guarantees about the bin version working on windows. + +## Installation + +As a library + +```shell +go get github.com/joho/godotenv +``` + +or if you want to use it as a bin command +```shell +go get github.com/joho/godotenv/cmd/godotenv +``` + +## Usage + +Add your application configuration to your `.env` file in the root of your project: + +```shell +S3_BUCKET=YOURS3BUCKET +SECRET_KEY=YOURSECRETKEYGOESHERE +``` + +Then in your Go app you can do something like + +```go +package main + +import ( + "github.com/joho/godotenv" + "log" + "os" +) + +func main() { + err := godotenv.Load() + if err != nil { + log.Fatal("Error loading .env file") + } + + s3Bucket := os.Getenv("S3_BUCKET") + secretKey := os.Getenv("SECRET_KEY") + + // now do something with s3 or whatever +} +``` + +If you're even lazier than that, you can just take advantage of the autoload package which will read in `.env` on import + +```go +import _ "github.com/joho/godotenv/autoload" +``` + +While `.env` in the project root is the default, you don't have to be constrained, both examples below are 100% legit + +```go +_ = godotenv.Load("somerandomfile") +_ = godotenv.Load("filenumberone.env", "filenumbertwo.env") +``` + +If you want to be really fancy with your env file you can do comments and exports (below is a valid env file) + +```shell +# I am a comment and that is OK +SOME_VAR=someval +FOO=BAR # comments at line end are OK too +export BAR=BAZ +``` + +Or finally you can do YAML(ish) style + +```yaml +FOO: bar +BAR: baz +``` + +as a final aside, if you don't want godotenv munging your env you can just get a map back instead + +```go +var myEnv map[string]string +myEnv, err := godotenv.Read() + +s3Bucket := myEnv["S3_BUCKET"] +``` + +... or from an `io.Reader` instead of a local file + +```go +reader := getRemoteFile() +myEnv, err := godotenv.Parse(reader) +``` + +... or from a `string` if you so desire + +```go +content := getRemoteFileContent() +myEnv, err := godotenv.Unmarshal(content) +``` + +### Command Mode + +Assuming you've installed the command as above and you've got `$GOPATH/bin` in your `$PATH` + +``` +godotenv -f /some/path/to/.env some_command with some args +``` + +If you don't specify `-f` it will fall back on the default of loading `.env` in `PWD` + +### Writing Env Files + +Godotenv can also write a map representing the environment to a correctly-formatted and escaped file + +```go +env, err := godotenv.Unmarshal("KEY=value") +err := godotenv.Write(env, "./.env") +``` + +... or to a string + +```go +env, err := godotenv.Unmarshal("KEY=value") +content, err := godotenv.Marshal(env) +``` + +## Contributing + +Contributions are most welcome! The parser itself is pretty stupidly naive and I wouldn't be surprised if it breaks with edge cases. + +*code changes without tests will not be accepted* + +1. Fork it +2. Create your feature branch (`git checkout -b my-new-feature`) +3. Commit your changes (`git commit -am 'Added some feature'`) +4. Push to the branch (`git push origin my-new-feature`) +5. Create new Pull Request + +## Releases + +Releases should follow [Semver](http://semver.org/) though the first couple of releases are `v1` and `v1.1`. + +Use [annotated tags for all releases](https://github.com/joho/godotenv/issues/30). Example `git tag -a v1.2.1` + +## CI + +Linux: [![Build Status](https://travis-ci.org/joho/godotenv.svg?branch=master)](https://travis-ci.org/joho/godotenv) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/9v40vnfvvgde64u4)](https://ci.appveyor.com/project/joho/godotenv) + +## Who? + +The original library [dotenv](https://github.com/bkeepers/dotenv) was written by [Brandon Keepers](http://opensoul.org/), and this port was done by [John Barton](https://johnbarton.co/) based off the tests/fixtures in the original library. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/godotenv.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/godotenv.go new file mode 100644 index 0000000..29b436c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/joho/godotenv/godotenv.go @@ -0,0 +1,346 @@ +// Package godotenv is a go port of the ruby dotenv library (https://github.com/bkeepers/dotenv) +// +// Examples/readme can be found on the github page at https://github.com/joho/godotenv +// +// The TL;DR is that you make a .env file that looks something like +// +// SOME_ENV_VAR=somevalue +// +// and then in your go code you can call +// +// godotenv.Load() +// +// and all the env vars declared in .env will be available through os.Getenv("SOME_ENV_VAR") +package godotenv + +import ( + "bufio" + "errors" + "fmt" + "io" + "os" + "os/exec" + "regexp" + "sort" + "strings" +) + +const doubleQuoteSpecialChars = "\\\n\r\"!$`" + +// Load will read your env file(s) and load them into ENV for this process. +// +// Call this function as close as possible to the start of your program (ideally in main) +// +// If you call Load without any args it will default to loading .env in the current path +// +// You can otherwise tell it which files to load (there can be more than one) like +// +// godotenv.Load("fileone", "filetwo") +// +// It's important to note that it WILL NOT OVERRIDE an env variable that already exists - consider the .env file to set dev vars or sensible defaults +func Load(filenames ...string) (err error) { + filenames = filenamesOrDefault(filenames) + + for _, filename := range filenames { + err = loadFile(filename, false) + if err != nil { + return // return early on a spazout + } + } + return +} + +// Overload will read your env file(s) and load them into ENV for this process. +// +// Call this function as close as possible to the start of your program (ideally in main) +// +// If you call Overload without any args it will default to loading .env in the current path +// +// You can otherwise tell it which files to load (there can be more than one) like +// +// godotenv.Overload("fileone", "filetwo") +// +// It's important to note this WILL OVERRIDE an env variable that already exists - consider the .env file to forcefilly set all vars. +func Overload(filenames ...string) (err error) { + filenames = filenamesOrDefault(filenames) + + for _, filename := range filenames { + err = loadFile(filename, true) + if err != nil { + return // return early on a spazout + } + } + return +} + +// Read all env (with same file loading semantics as Load) but return values as +// a map rather than automatically writing values into env +func Read(filenames ...string) (envMap map[string]string, err error) { + filenames = filenamesOrDefault(filenames) + envMap = make(map[string]string) + + for _, filename := range filenames { + individualEnvMap, individualErr := readFile(filename) + + if individualErr != nil { + err = individualErr + return // return early on a spazout + } + + for key, value := range individualEnvMap { + envMap[key] = value + } + } + + return +} + +// Parse reads an env file from io.Reader, returning a map of keys and values. +func Parse(r io.Reader) (envMap map[string]string, err error) { + envMap = make(map[string]string) + + var lines []string + scanner := bufio.NewScanner(r) + for scanner.Scan() { + lines = append(lines, scanner.Text()) + } + + if err = scanner.Err(); err != nil { + return + } + + for _, fullLine := range lines { + if !isIgnoredLine(fullLine) { + var key, value string + key, value, err = parseLine(fullLine, envMap) + + if err != nil { + return + } + envMap[key] = value + } + } + return +} + +//Unmarshal reads an env file from a string, returning a map of keys and values. +func Unmarshal(str string) (envMap map[string]string, err error) { + return Parse(strings.NewReader(str)) +} + +// Exec loads env vars from the specified filenames (empty map falls back to default) +// then executes the cmd specified. +// +// Simply hooks up os.Stdin/err/out to the command and calls Run() +// +// If you want more fine grained control over your command it's recommended +// that you use `Load()` or `Read()` and the `os/exec` package yourself. +func Exec(filenames []string, cmd string, cmdArgs []string) error { + Load(filenames...) + + command := exec.Command(cmd, cmdArgs...) + command.Stdin = os.Stdin + command.Stdout = os.Stdout + command.Stderr = os.Stderr + return command.Run() +} + +// Write serializes the given environment and writes it to a file +func Write(envMap map[string]string, filename string) error { + content, error := Marshal(envMap) + if error != nil { + return error + } + file, error := os.Create(filename) + if error != nil { + return error + } + _, err := file.WriteString(content) + return err +} + +// Marshal outputs the given environment as a dotenv-formatted environment file. +// Each line is in the format: KEY="VALUE" where VALUE is backslash-escaped. +func Marshal(envMap map[string]string) (string, error) { + lines := make([]string, 0, len(envMap)) + for k, v := range envMap { + lines = append(lines, fmt.Sprintf(`%s="%s"`, k, doubleQuoteEscape(v))) + } + sort.Strings(lines) + return strings.Join(lines, "\n"), nil +} + +func filenamesOrDefault(filenames []string) []string { + if len(filenames) == 0 { + return []string{".env"} + } + return filenames +} + +func loadFile(filename string, overload bool) error { + envMap, err := readFile(filename) + if err != nil { + return err + } + + currentEnv := map[string]bool{} + rawEnv := os.Environ() + for _, rawEnvLine := range rawEnv { + key := strings.Split(rawEnvLine, "=")[0] + currentEnv[key] = true + } + + for key, value := range envMap { + if !currentEnv[key] || overload { + os.Setenv(key, value) + } + } + + return nil +} + +func readFile(filename string) (envMap map[string]string, err error) { + file, err := os.Open(filename) + if err != nil { + return + } + defer file.Close() + + return Parse(file) +} + +func parseLine(line string, envMap map[string]string) (key string, value string, err error) { + if len(line) == 0 { + err = errors.New("zero length string") + return + } + + // ditch the comments (but keep quoted hashes) + if strings.Contains(line, "#") { + segmentsBetweenHashes := strings.Split(line, "#") + quotesAreOpen := false + var segmentsToKeep []string + for _, segment := range segmentsBetweenHashes { + if strings.Count(segment, "\"") == 1 || strings.Count(segment, "'") == 1 { + if quotesAreOpen { + quotesAreOpen = false + segmentsToKeep = append(segmentsToKeep, segment) + } else { + quotesAreOpen = true + } + } + + if len(segmentsToKeep) == 0 || quotesAreOpen { + segmentsToKeep = append(segmentsToKeep, segment) + } + } + + line = strings.Join(segmentsToKeep, "#") + } + + firstEquals := strings.Index(line, "=") + firstColon := strings.Index(line, ":") + splitString := strings.SplitN(line, "=", 2) + if firstColon != -1 && (firstColon < firstEquals || firstEquals == -1) { + //this is a yaml-style line + splitString = strings.SplitN(line, ":", 2) + } + + if len(splitString) != 2 { + err = errors.New("Can't separate key from value") + return + } + + // Parse the key + key = splitString[0] + if strings.HasPrefix(key, "export") { + key = strings.TrimPrefix(key, "export") + } + key = strings.Trim(key, " ") + + // Parse the value + value = parseValue(splitString[1], envMap) + return +} + +func parseValue(value string, envMap map[string]string) string { + + // trim + value = strings.Trim(value, " ") + + // check if we've got quoted values or possible escapes + if len(value) > 1 { + rs := regexp.MustCompile(`\A'(.*)'\z`) + singleQuotes := rs.FindStringSubmatch(value) + + rd := regexp.MustCompile(`\A"(.*)"\z`) + doubleQuotes := rd.FindStringSubmatch(value) + + if singleQuotes != nil || doubleQuotes != nil { + // pull the quotes off the edges + value = value[1 : len(value)-1] + } + + if doubleQuotes != nil { + // expand newlines + escapeRegex := regexp.MustCompile(`\\.`) + value = escapeRegex.ReplaceAllStringFunc(value, func(match string) string { + c := strings.TrimPrefix(match, `\`) + switch c { + case "n": + return "\n" + case "r": + return "\r" + default: + return match + } + }) + // unescape characters + e := regexp.MustCompile(`\\([^$])`) + value = e.ReplaceAllString(value, "$1") + } + + if singleQuotes == nil { + value = expandVariables(value, envMap) + } + } + + return value +} + +func expandVariables(v string, m map[string]string) string { + r := regexp.MustCompile(`(\\)?(\$)(\()?\{?([A-Z0-9_]+)?\}?`) + + return r.ReplaceAllStringFunc(v, func(s string) string { + submatch := r.FindStringSubmatch(s) + + if submatch == nil { + return s + } + if submatch[1] == "\\" || submatch[2] == "(" { + return submatch[0][1:] + } else if submatch[4] != "" { + return m[submatch[4]] + } + return s + }) +} + +func isIgnoredLine(line string) bool { + trimmedLine := strings.Trim(line, " \n\t") + return len(trimmedLine) == 0 || strings.HasPrefix(trimmedLine, "#") +} + +func doubleQuoteEscape(line string) string { + for _, c := range doubleQuoteSpecialChars { + toReplace := "\\" + string(c) + if c == '\n' { + toReplace = `\n` + } + if c == '\r' { + toReplace = `\r` + } + line = strings.Replace(line, string(c), toReplace, -1) + } + return line +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/LICENSE new file mode 100644 index 0000000..fbff658 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/LICENSE @@ -0,0 +1,7 @@ +Copyright (c) 2016 Mail.Ru Group + +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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/buffer/pool.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/buffer/pool.go new file mode 100644 index 0000000..07fb4bc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/buffer/pool.go @@ -0,0 +1,270 @@ +// Package buffer implements a buffer for serialization, consisting of a chain of []byte-s to +// reduce copying and to allow reuse of individual chunks. +package buffer + +import ( + "io" + "sync" +) + +// PoolConfig contains configuration for the allocation and reuse strategy. +type PoolConfig struct { + StartSize int // Minimum chunk size that is allocated. + PooledSize int // Minimum chunk size that is reused, reusing chunks too small will result in overhead. + MaxSize int // Maximum chunk size that will be allocated. +} + +var config = PoolConfig{ + StartSize: 128, + PooledSize: 512, + MaxSize: 32768, +} + +// Reuse pool: chunk size -> pool. +var buffers = map[int]*sync.Pool{} + +func initBuffers() { + for l := config.PooledSize; l <= config.MaxSize; l *= 2 { + buffers[l] = new(sync.Pool) + } +} + +func init() { + initBuffers() +} + +// Init sets up a non-default pooling and allocation strategy. Should be run before serialization is done. +func Init(cfg PoolConfig) { + config = cfg + initBuffers() +} + +// putBuf puts a chunk to reuse pool if it can be reused. +func putBuf(buf []byte) { + size := cap(buf) + if size < config.PooledSize { + return + } + if c := buffers[size]; c != nil { + c.Put(buf[:0]) + } +} + +// getBuf gets a chunk from reuse pool or creates a new one if reuse failed. +func getBuf(size int) []byte { + if size < config.PooledSize { + return make([]byte, 0, size) + } + + if c := buffers[size]; c != nil { + v := c.Get() + if v != nil { + return v.([]byte) + } + } + return make([]byte, 0, size) +} + +// Buffer is a buffer optimized for serialization without extra copying. +type Buffer struct { + + // Buf is the current chunk that can be used for serialization. + Buf []byte + + toPool []byte + bufs [][]byte +} + +// EnsureSpace makes sure that the current chunk contains at least s free bytes, +// possibly creating a new chunk. +func (b *Buffer) EnsureSpace(s int) { + if cap(b.Buf)-len(b.Buf) >= s { + return + } + l := len(b.Buf) + if l > 0 { + if cap(b.toPool) != cap(b.Buf) { + // Chunk was reallocated, toPool can be pooled. + putBuf(b.toPool) + } + if cap(b.bufs) == 0 { + b.bufs = make([][]byte, 0, 8) + } + b.bufs = append(b.bufs, b.Buf) + l = cap(b.toPool) * 2 + } else { + l = config.StartSize + } + + if l > config.MaxSize { + l = config.MaxSize + } + b.Buf = getBuf(l) + b.toPool = b.Buf +} + +// AppendByte appends a single byte to buffer. +func (b *Buffer) AppendByte(data byte) { + if cap(b.Buf) == len(b.Buf) { // EnsureSpace won't be inlined. + b.EnsureSpace(1) + } + b.Buf = append(b.Buf, data) +} + +// AppendBytes appends a byte slice to buffer. +func (b *Buffer) AppendBytes(data []byte) { + for len(data) > 0 { + if cap(b.Buf) == len(b.Buf) { // EnsureSpace won't be inlined. + b.EnsureSpace(1) + } + + sz := cap(b.Buf) - len(b.Buf) + if sz > len(data) { + sz = len(data) + } + + b.Buf = append(b.Buf, data[:sz]...) + data = data[sz:] + } +} + +// AppendBytes appends a string to buffer. +func (b *Buffer) AppendString(data string) { + for len(data) > 0 { + if cap(b.Buf) == len(b.Buf) { // EnsureSpace won't be inlined. + b.EnsureSpace(1) + } + + sz := cap(b.Buf) - len(b.Buf) + if sz > len(data) { + sz = len(data) + } + + b.Buf = append(b.Buf, data[:sz]...) + data = data[sz:] + } +} + +// Size computes the size of a buffer by adding sizes of every chunk. +func (b *Buffer) Size() int { + size := len(b.Buf) + for _, buf := range b.bufs { + size += len(buf) + } + return size +} + +// DumpTo outputs the contents of a buffer to a writer and resets the buffer. +func (b *Buffer) DumpTo(w io.Writer) (written int, err error) { + var n int + for _, buf := range b.bufs { + if err == nil { + n, err = w.Write(buf) + written += n + } + putBuf(buf) + } + + if err == nil { + n, err = w.Write(b.Buf) + written += n + } + putBuf(b.toPool) + + b.bufs = nil + b.Buf = nil + b.toPool = nil + + return +} + +// BuildBytes creates a single byte slice with all the contents of the buffer. Data is +// copied if it does not fit in a single chunk. You can optionally provide one byte +// slice as argument that it will try to reuse. +func (b *Buffer) BuildBytes(reuse ...[]byte) []byte { + if len(b.bufs) == 0 { + ret := b.Buf + b.toPool = nil + b.Buf = nil + return ret + } + + var ret []byte + size := b.Size() + + // If we got a buffer as argument and it is big enought, reuse it. + if len(reuse) == 1 && cap(reuse[0]) >= size { + ret = reuse[0][:0] + } else { + ret = make([]byte, 0, size) + } + for _, buf := range b.bufs { + ret = append(ret, buf...) + putBuf(buf) + } + + ret = append(ret, b.Buf...) + putBuf(b.toPool) + + b.bufs = nil + b.toPool = nil + b.Buf = nil + + return ret +} + +type readCloser struct { + offset int + bufs [][]byte +} + +func (r *readCloser) Read(p []byte) (n int, err error) { + for _, buf := range r.bufs { + // Copy as much as we can. + x := copy(p[n:], buf[r.offset:]) + n += x // Increment how much we filled. + + // Did we empty the whole buffer? + if r.offset+x == len(buf) { + // On to the next buffer. + r.offset = 0 + r.bufs = r.bufs[1:] + + // We can release this buffer. + putBuf(buf) + } else { + r.offset += x + } + + if n == len(p) { + break + } + } + // No buffers left or nothing read? + if len(r.bufs) == 0 { + err = io.EOF + } + return +} + +func (r *readCloser) Close() error { + // Release all remaining buffers. + for _, buf := range r.bufs { + putBuf(buf) + } + // In case Close gets called multiple times. + r.bufs = nil + + return nil +} + +// ReadCloser creates an io.ReadCloser with all the contents of the buffer. +func (b *Buffer) ReadCloser() io.ReadCloser { + ret := &readCloser{0, append(b.bufs, b.Buf)} + + b.bufs = nil + b.toPool = nil + b.Buf = nil + + return ret +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go new file mode 100644 index 0000000..ff7b27c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go @@ -0,0 +1,24 @@ +// This file will only be included to the build if neither +// easyjson_nounsafe nor appengine build tag is set. See README notes +// for more details. + +//+build !easyjson_nounsafe +//+build !appengine + +package jlexer + +import ( + "reflect" + "unsafe" +) + +// bytesToStr creates a string pointing at the slice to avoid copying. +// +// Warning: the string returned by the function should be used with care, as the whole input data +// chunk may be either blocked from being freed by GC because of a single string or the buffer.Data +// may be garbage-collected even when the string exists. +func bytesToStr(data []byte) string { + h := (*reflect.SliceHeader)(unsafe.Pointer(&data)) + shdr := reflect.StringHeader{Data: h.Data, Len: h.Len} + return *(*string)(unsafe.Pointer(&shdr)) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go new file mode 100644 index 0000000..864d1be --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go @@ -0,0 +1,13 @@ +// This file is included to the build if any of the buildtags below +// are defined. Refer to README notes for more details. + +//+build easyjson_nounsafe appengine + +package jlexer + +// bytesToStr creates a string normally from []byte +// +// Note that this method is roughly 1.5x slower than using the 'unsafe' method. +func bytesToStr(data []byte) string { + return string(data) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/error.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/error.go new file mode 100644 index 0000000..e90ec40 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/error.go @@ -0,0 +1,15 @@ +package jlexer + +import "fmt" + +// LexerError implements the error interface and represents all possible errors that can be +// generated during parsing the JSON data. +type LexerError struct { + Reason string + Offset int + Data string +} + +func (l *LexerError) Error() string { + return fmt.Sprintf("parse error: %s near offset %d of '%s'", l.Reason, l.Offset, l.Data) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/lexer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/lexer.go new file mode 100644 index 0000000..ddd376b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jlexer/lexer.go @@ -0,0 +1,1182 @@ +// Package jlexer contains a JSON lexer implementation. +// +// It is expected that it is mostly used with generated parser code, so the interface is tuned +// for a parser that knows what kind of data is expected. +package jlexer + +import ( + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "io" + "strconv" + "unicode" + "unicode/utf16" + "unicode/utf8" +) + +// tokenKind determines type of a token. +type tokenKind byte + +const ( + tokenUndef tokenKind = iota // No token. + tokenDelim // Delimiter: one of '{', '}', '[' or ']'. + tokenString // A string literal, e.g. "abc\u1234" + tokenNumber // Number literal, e.g. 1.5e5 + tokenBool // Boolean literal: true or false. + tokenNull // null keyword. +) + +// token describes a single token: type, position in the input and value. +type token struct { + kind tokenKind // Type of a token. + + boolValue bool // Value if a boolean literal token. + byteValue []byte // Raw value of a token. + delimValue byte +} + +// Lexer is a JSON lexer: it iterates over JSON tokens in a byte slice. +type Lexer struct { + Data []byte // Input data given to the lexer. + + start int // Start of the current token. + pos int // Current unscanned position in the input stream. + token token // Last scanned token, if token.kind != tokenUndef. + + firstElement bool // Whether current element is the first in array or an object. + wantSep byte // A comma or a colon character, which need to occur before a token. + + UseMultipleErrors bool // If we want to use multiple errors. + fatalError error // Fatal error occurred during lexing. It is usually a syntax error. + multipleErrors []*LexerError // Semantic errors occurred during lexing. Marshalling will be continued after finding this errors. +} + +// FetchToken scans the input for the next token. +func (r *Lexer) FetchToken() { + r.token.kind = tokenUndef + r.start = r.pos + + // Check if r.Data has r.pos element + // If it doesn't, it mean corrupted input data + if len(r.Data) < r.pos { + r.errParse("Unexpected end of data") + return + } + // Determine the type of a token by skipping whitespace and reading the + // first character. + for _, c := range r.Data[r.pos:] { + switch c { + case ':', ',': + if r.wantSep == c { + r.pos++ + r.start++ + r.wantSep = 0 + } else { + r.errSyntax() + } + + case ' ', '\t', '\r', '\n': + r.pos++ + r.start++ + + case '"': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenString + r.fetchString() + return + + case '{', '[': + if r.wantSep != 0 { + r.errSyntax() + } + r.firstElement = true + r.token.kind = tokenDelim + r.token.delimValue = r.Data[r.pos] + r.pos++ + return + + case '}', ']': + if !r.firstElement && (r.wantSep != ',') { + r.errSyntax() + } + r.wantSep = 0 + r.token.kind = tokenDelim + r.token.delimValue = r.Data[r.pos] + r.pos++ + return + + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-': + if r.wantSep != 0 { + r.errSyntax() + } + r.token.kind = tokenNumber + r.fetchNumber() + return + + case 'n': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenNull + r.fetchNull() + return + + case 't': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenBool + r.token.boolValue = true + r.fetchTrue() + return + + case 'f': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenBool + r.token.boolValue = false + r.fetchFalse() + return + + default: + r.errSyntax() + return + } + } + r.fatalError = io.EOF + return +} + +// isTokenEnd returns true if the char can follow a non-delimiter token +func isTokenEnd(c byte) bool { + return c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == '[' || c == ']' || c == '{' || c == '}' || c == ',' || c == ':' +} + +// fetchNull fetches and checks remaining bytes of null keyword. +func (r *Lexer) fetchNull() { + r.pos += 4 + if r.pos > len(r.Data) || + r.Data[r.pos-3] != 'u' || + r.Data[r.pos-2] != 'l' || + r.Data[r.pos-1] != 'l' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 4 + r.errSyntax() + } +} + +// fetchTrue fetches and checks remaining bytes of true keyword. +func (r *Lexer) fetchTrue() { + r.pos += 4 + if r.pos > len(r.Data) || + r.Data[r.pos-3] != 'r' || + r.Data[r.pos-2] != 'u' || + r.Data[r.pos-1] != 'e' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 4 + r.errSyntax() + } +} + +// fetchFalse fetches and checks remaining bytes of false keyword. +func (r *Lexer) fetchFalse() { + r.pos += 5 + if r.pos > len(r.Data) || + r.Data[r.pos-4] != 'a' || + r.Data[r.pos-3] != 'l' || + r.Data[r.pos-2] != 's' || + r.Data[r.pos-1] != 'e' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 5 + r.errSyntax() + } +} + +// fetchNumber scans a number literal token. +func (r *Lexer) fetchNumber() { + hasE := false + afterE := false + hasDot := false + + r.pos++ + for i, c := range r.Data[r.pos:] { + switch { + case c >= '0' && c <= '9': + afterE = false + case c == '.' && !hasDot: + hasDot = true + case (c == 'e' || c == 'E') && !hasE: + hasE = true + hasDot = true + afterE = true + case (c == '+' || c == '-') && afterE: + afterE = false + default: + r.pos += i + if !isTokenEnd(c) { + r.errSyntax() + } else { + r.token.byteValue = r.Data[r.start:r.pos] + } + return + } + } + + r.pos = len(r.Data) + r.token.byteValue = r.Data[r.start:] +} + +// findStringLen tries to scan into the string literal for ending quote char to determine required size. +// The size will be exact if no escapes are present and may be inexact if there are escaped chars. +func findStringLen(data []byte) (isValid, hasEscapes bool, length int) { + delta := 0 + + for i := 0; i < len(data); i++ { + switch data[i] { + case '\\': + i++ + delta++ + if i < len(data) && data[i] == 'u' { + delta++ + } + case '"': + return true, (delta > 0), (i - delta) + } + } + + return false, false, len(data) +} + +// getu4 decodes \uXXXX from the beginning of s, returning the hex value, +// or it returns -1. +func getu4(s []byte) rune { + if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { + return -1 + } + var val rune + for i := 2; i < len(s) && i < 6; i++ { + var v byte + c := s[i] + switch c { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + v = c - '0' + case 'a', 'b', 'c', 'd', 'e', 'f': + v = c - 'a' + 10 + case 'A', 'B', 'C', 'D', 'E', 'F': + v = c - 'A' + 10 + default: + return -1 + } + + val <<= 4 + val |= rune(v) + } + return val +} + +// processEscape processes a single escape sequence and returns number of bytes processed. +func (r *Lexer) processEscape(data []byte) (int, error) { + if len(data) < 2 { + return 0, fmt.Errorf("syntax error at %v", string(data)) + } + + c := data[1] + switch c { + case '"', '/', '\\': + r.token.byteValue = append(r.token.byteValue, c) + return 2, nil + case 'b': + r.token.byteValue = append(r.token.byteValue, '\b') + return 2, nil + case 'f': + r.token.byteValue = append(r.token.byteValue, '\f') + return 2, nil + case 'n': + r.token.byteValue = append(r.token.byteValue, '\n') + return 2, nil + case 'r': + r.token.byteValue = append(r.token.byteValue, '\r') + return 2, nil + case 't': + r.token.byteValue = append(r.token.byteValue, '\t') + return 2, nil + case 'u': + rr := getu4(data) + if rr < 0 { + return 0, errors.New("syntax error") + } + + read := 6 + if utf16.IsSurrogate(rr) { + rr1 := getu4(data[read:]) + if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { + read += 6 + rr = dec + } else { + rr = unicode.ReplacementChar + } + } + var d [4]byte + s := utf8.EncodeRune(d[:], rr) + r.token.byteValue = append(r.token.byteValue, d[:s]...) + return read, nil + } + + return 0, errors.New("syntax error") +} + +// fetchString scans a string literal token. +func (r *Lexer) fetchString() { + r.pos++ + data := r.Data[r.pos:] + + isValid, hasEscapes, length := findStringLen(data) + if !isValid { + r.pos += length + r.errParse("unterminated string literal") + return + } + if !hasEscapes { + r.token.byteValue = data[:length] + r.pos += length + 1 + return + } + + r.token.byteValue = make([]byte, 0, length) + p := 0 + for i := 0; i < len(data); { + switch data[i] { + case '"': + r.pos += i + 1 + r.token.byteValue = append(r.token.byteValue, data[p:i]...) + i++ + return + + case '\\': + r.token.byteValue = append(r.token.byteValue, data[p:i]...) + off, err := r.processEscape(data[i:]) + if err != nil { + r.errParse(err.Error()) + return + } + i += off + p = i + + default: + i++ + } + } + r.errParse("unterminated string literal") +} + +// scanToken scans the next token if no token is currently available in the lexer. +func (r *Lexer) scanToken() { + if r.token.kind != tokenUndef || r.fatalError != nil { + return + } + + r.FetchToken() +} + +// consume resets the current token to allow scanning the next one. +func (r *Lexer) consume() { + r.token.kind = tokenUndef + r.token.delimValue = 0 +} + +// Ok returns true if no error (including io.EOF) was encountered during scanning. +func (r *Lexer) Ok() bool { + return r.fatalError == nil +} + +const maxErrorContextLen = 13 + +func (r *Lexer) errParse(what string) { + if r.fatalError == nil { + var str string + if len(r.Data)-r.pos <= maxErrorContextLen { + str = string(r.Data) + } else { + str = string(r.Data[r.pos:r.pos+maxErrorContextLen-3]) + "..." + } + r.fatalError = &LexerError{ + Reason: what, + Offset: r.pos, + Data: str, + } + } +} + +func (r *Lexer) errSyntax() { + r.errParse("syntax error") +} + +func (r *Lexer) errInvalidToken(expected string) { + if r.fatalError != nil { + return + } + if r.UseMultipleErrors { + r.pos = r.start + r.consume() + r.SkipRecursive() + switch expected { + case "[": + r.token.delimValue = ']' + r.token.kind = tokenDelim + case "{": + r.token.delimValue = '}' + r.token.kind = tokenDelim + } + r.addNonfatalError(&LexerError{ + Reason: fmt.Sprintf("expected %s", expected), + Offset: r.start, + Data: string(r.Data[r.start:r.pos]), + }) + return + } + + var str string + if len(r.token.byteValue) <= maxErrorContextLen { + str = string(r.token.byteValue) + } else { + str = string(r.token.byteValue[:maxErrorContextLen-3]) + "..." + } + r.fatalError = &LexerError{ + Reason: fmt.Sprintf("expected %s", expected), + Offset: r.pos, + Data: str, + } +} + +func (r *Lexer) GetPos() int { + return r.pos +} + +// Delim consumes a token and verifies that it is the given delimiter. +func (r *Lexer) Delim(c byte) { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + + if !r.Ok() || r.token.delimValue != c { + r.consume() // errInvalidToken can change token if UseMultipleErrors is enabled. + r.errInvalidToken(string([]byte{c})) + } else { + r.consume() + } +} + +// IsDelim returns true if there was no scanning error and next token is the given delimiter. +func (r *Lexer) IsDelim(c byte) bool { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + return !r.Ok() || r.token.delimValue == c +} + +// Null verifies that the next token is null and consumes it. +func (r *Lexer) Null() { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenNull { + r.errInvalidToken("null") + } + r.consume() +} + +// IsNull returns true if the next token is a null keyword. +func (r *Lexer) IsNull() bool { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + return r.Ok() && r.token.kind == tokenNull +} + +// Skip skips a single token. +func (r *Lexer) Skip() { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + r.consume() +} + +// SkipRecursive skips next array or object completely, or just skips a single token if not +// an array/object. +// +// Note: no syntax validation is performed on the skipped data. +func (r *Lexer) SkipRecursive() { + r.scanToken() + var start, end byte + + switch r.token.delimValue { + case '{': + start, end = '{', '}' + case '[': + start, end = '[', ']' + default: + r.consume() + return + } + + r.consume() + + level := 1 + inQuotes := false + wasEscape := false + + for i, c := range r.Data[r.pos:] { + switch { + case c == start && !inQuotes: + level++ + case c == end && !inQuotes: + level-- + if level == 0 { + r.pos += i + 1 + return + } + case c == '\\' && inQuotes: + wasEscape = !wasEscape + continue + case c == '"' && inQuotes: + inQuotes = wasEscape + case c == '"': + inQuotes = true + } + wasEscape = false + } + r.pos = len(r.Data) + r.fatalError = &LexerError{ + Reason: "EOF reached while skipping array/object or token", + Offset: r.pos, + Data: string(r.Data[r.pos:]), + } +} + +// Raw fetches the next item recursively as a data slice +func (r *Lexer) Raw() []byte { + r.SkipRecursive() + if !r.Ok() { + return nil + } + return r.Data[r.start:r.pos] +} + +// IsStart returns whether the lexer is positioned at the start +// of an input string. +func (r *Lexer) IsStart() bool { + return r.pos == 0 +} + +// Consumed reads all remaining bytes from the input, publishing an error if +// there is anything but whitespace remaining. +func (r *Lexer) Consumed() { + if r.pos > len(r.Data) || !r.Ok() { + return + } + + for _, c := range r.Data[r.pos:] { + if c != ' ' && c != '\t' && c != '\r' && c != '\n' { + r.AddError(&LexerError{ + Reason: "invalid character '" + string(c) + "' after top-level value", + Offset: r.pos, + Data: string(r.Data[r.pos:]), + }) + return + } + + r.pos++ + r.start++ + } +} + +func (r *Lexer) unsafeString() (string, []byte) { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenString { + r.errInvalidToken("string") + return "", nil + } + bytes := r.token.byteValue + ret := bytesToStr(r.token.byteValue) + r.consume() + return ret, bytes +} + +// UnsafeString returns the string value if the token is a string literal. +// +// Warning: returned string may point to the input buffer, so the string should not outlive +// the input buffer. Intended pattern of usage is as an argument to a switch statement. +func (r *Lexer) UnsafeString() string { + ret, _ := r.unsafeString() + return ret +} + +// UnsafeBytes returns the byte slice if the token is a string literal. +func (r *Lexer) UnsafeBytes() []byte { + _, ret := r.unsafeString() + return ret +} + +// String reads a string literal. +func (r *Lexer) String() string { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenString { + r.errInvalidToken("string") + return "" + } + ret := string(r.token.byteValue) + r.consume() + return ret +} + +// Bytes reads a string literal and base64 decodes it into a byte slice. +func (r *Lexer) Bytes() []byte { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenString { + r.errInvalidToken("string") + return nil + } + ret := make([]byte, base64.StdEncoding.DecodedLen(len(r.token.byteValue))) + n, err := base64.StdEncoding.Decode(ret, r.token.byteValue) + if err != nil { + r.fatalError = &LexerError{ + Reason: err.Error(), + } + return nil + } + + r.consume() + return ret[:n] +} + +// Bool reads a true or false boolean keyword. +func (r *Lexer) Bool() bool { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenBool { + r.errInvalidToken("bool") + return false + } + ret := r.token.boolValue + r.consume() + return ret +} + +func (r *Lexer) number() string { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenNumber { + r.errInvalidToken("number") + return "" + } + ret := bytesToStr(r.token.byteValue) + r.consume() + return ret +} + +func (r *Lexer) Uint8() uint8 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint8(n) +} + +func (r *Lexer) Uint16() uint16 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint16(n) +} + +func (r *Lexer) Uint32() uint32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint32(n) +} + +func (r *Lexer) Uint64() uint64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Uint() uint { + return uint(r.Uint64()) +} + +func (r *Lexer) Int8() int8 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int8(n) +} + +func (r *Lexer) Int16() int16 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int16(n) +} + +func (r *Lexer) Int32() int32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int32(n) +} + +func (r *Lexer) Int64() int64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Int() int { + return int(r.Int64()) +} + +func (r *Lexer) Uint8Str() uint8 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint8(n) +} + +func (r *Lexer) Uint16Str() uint16 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint16(n) +} + +func (r *Lexer) Uint32Str() uint32 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint32(n) +} + +func (r *Lexer) Uint64Str() uint64 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) UintStr() uint { + return uint(r.Uint64Str()) +} + +func (r *Lexer) UintptrStr() uintptr { + return uintptr(r.Uint64Str()) +} + +func (r *Lexer) Int8Str() int8 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int8(n) +} + +func (r *Lexer) Int16Str() int16 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int16(n) +} + +func (r *Lexer) Int32Str() int32 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int32(n) +} + +func (r *Lexer) Int64Str() int64 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) IntStr() int { + return int(r.Int64Str()) +} + +func (r *Lexer) Float32() float32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseFloat(s, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return float32(n) +} + +func (r *Lexer) Float32Str() float32 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + n, err := strconv.ParseFloat(s, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return float32(n) +} + +func (r *Lexer) Float64() float64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseFloat(s, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Float64Str() float64 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + n, err := strconv.ParseFloat(s, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) Error() error { + return r.fatalError +} + +func (r *Lexer) AddError(e error) { + if r.fatalError == nil { + r.fatalError = e + } +} + +func (r *Lexer) AddNonFatalError(e error) { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Data: string(r.Data[r.start:r.pos]), + Reason: e.Error(), + }) +} + +func (r *Lexer) addNonfatalError(err *LexerError) { + if r.UseMultipleErrors { + // We don't want to add errors with the same offset. + if len(r.multipleErrors) != 0 && r.multipleErrors[len(r.multipleErrors)-1].Offset == err.Offset { + return + } + r.multipleErrors = append(r.multipleErrors, err) + return + } + r.fatalError = err +} + +func (r *Lexer) GetNonFatalErrors() []*LexerError { + return r.multipleErrors +} + +// JsonNumber fetches and json.Number from 'encoding/json' package. +// Both int, float or string, contains them are valid values +func (r *Lexer) JsonNumber() json.Number { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() { + r.errInvalidToken("json.Number") + return json.Number("") + } + + switch r.token.kind { + case tokenString: + return json.Number(r.String()) + case tokenNumber: + return json.Number(r.Raw()) + case tokenNull: + r.Null() + return json.Number("") + default: + r.errSyntax() + return json.Number("") + } +} + +// Interface fetches an interface{} analogous to the 'encoding/json' package. +func (r *Lexer) Interface() interface{} { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + + if !r.Ok() { + return nil + } + switch r.token.kind { + case tokenString: + return r.String() + case tokenNumber: + return r.Float64() + case tokenBool: + return r.Bool() + case tokenNull: + r.Null() + return nil + } + + if r.token.delimValue == '{' { + r.consume() + + ret := map[string]interface{}{} + for !r.IsDelim('}') { + key := r.String() + r.WantColon() + ret[key] = r.Interface() + r.WantComma() + } + r.Delim('}') + + if r.Ok() { + return ret + } else { + return nil + } + } else if r.token.delimValue == '[' { + r.consume() + + ret := []interface{}{} + for !r.IsDelim(']') { + ret = append(ret, r.Interface()) + r.WantComma() + } + r.Delim(']') + + if r.Ok() { + return ret + } else { + return nil + } + } + r.errSyntax() + return nil +} + +// WantComma requires a comma to be present before fetching next token. +func (r *Lexer) WantComma() { + r.wantSep = ',' + r.firstElement = false +} + +// WantColon requires a colon to be present before fetching next token. +func (r *Lexer) WantColon() { + r.wantSep = ':' + r.firstElement = false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jwriter/writer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jwriter/writer.go new file mode 100644 index 0000000..b9ed7cc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/mailru/easyjson/jwriter/writer.go @@ -0,0 +1,390 @@ +// Package jwriter contains a JSON writer. +package jwriter + +import ( + "io" + "strconv" + "unicode/utf8" + + "github.com/mailru/easyjson/buffer" +) + +// Flags describe various encoding options. The behavior may be actually implemented in the encoder, but +// Flags field in Writer is used to set and pass them around. +type Flags int + +const ( + NilMapAsEmpty Flags = 1 << iota // Encode nil map as '{}' rather than 'null'. + NilSliceAsEmpty // Encode nil slice as '[]' rather than 'null'. +) + +// Writer is a JSON writer. +type Writer struct { + Flags Flags + + Error error + Buffer buffer.Buffer + NoEscapeHTML bool +} + +// Size returns the size of the data that was written out. +func (w *Writer) Size() int { + return w.Buffer.Size() +} + +// DumpTo outputs the data to given io.Writer, resetting the buffer. +func (w *Writer) DumpTo(out io.Writer) (written int, err error) { + return w.Buffer.DumpTo(out) +} + +// BuildBytes returns writer data as a single byte slice. You can optionally provide one byte slice +// as argument that it will try to reuse. +func (w *Writer) BuildBytes(reuse ...[]byte) ([]byte, error) { + if w.Error != nil { + return nil, w.Error + } + + return w.Buffer.BuildBytes(reuse...), nil +} + +// ReadCloser returns an io.ReadCloser that can be used to read the data. +// ReadCloser also resets the buffer. +func (w *Writer) ReadCloser() (io.ReadCloser, error) { + if w.Error != nil { + return nil, w.Error + } + + return w.Buffer.ReadCloser(), nil +} + +// RawByte appends raw binary data to the buffer. +func (w *Writer) RawByte(c byte) { + w.Buffer.AppendByte(c) +} + +// RawByte appends raw binary data to the buffer. +func (w *Writer) RawString(s string) { + w.Buffer.AppendString(s) +} + +// Raw appends raw binary data to the buffer or sets the error if it is given. Useful for +// calling with results of MarshalJSON-like functions. +func (w *Writer) Raw(data []byte, err error) { + switch { + case w.Error != nil: + return + case err != nil: + w.Error = err + case len(data) > 0: + w.Buffer.AppendBytes(data) + default: + w.RawString("null") + } +} + +// RawText encloses raw binary data in quotes and appends in to the buffer. +// Useful for calling with results of MarshalText-like functions. +func (w *Writer) RawText(data []byte, err error) { + switch { + case w.Error != nil: + return + case err != nil: + w.Error = err + case len(data) > 0: + w.String(string(data)) + default: + w.RawString("null") + } +} + +// Base64Bytes appends data to the buffer after base64 encoding it +func (w *Writer) Base64Bytes(data []byte) { + if data == nil { + w.Buffer.AppendString("null") + return + } + w.Buffer.AppendByte('"') + w.base64(data) + w.Buffer.AppendByte('"') +} + +func (w *Writer) Uint8(n uint8) { + w.Buffer.EnsureSpace(3) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint16(n uint16) { + w.Buffer.EnsureSpace(5) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint32(n uint32) { + w.Buffer.EnsureSpace(10) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint(n uint) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint64(n uint64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, n, 10) +} + +func (w *Writer) Int8(n int8) { + w.Buffer.EnsureSpace(4) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int16(n int16) { + w.Buffer.EnsureSpace(6) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int32(n int32) { + w.Buffer.EnsureSpace(11) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int(n int) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int64(n int64) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, n, 10) +} + +func (w *Writer) Uint8Str(n uint8) { + w.Buffer.EnsureSpace(3) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint16Str(n uint16) { + w.Buffer.EnsureSpace(5) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint32Str(n uint32) { + w.Buffer.EnsureSpace(10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) UintStr(n uint) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint64Str(n uint64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, n, 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) UintptrStr(n uintptr) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int8Str(n int8) { + w.Buffer.EnsureSpace(4) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int16Str(n int16) { + w.Buffer.EnsureSpace(6) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int32Str(n int32) { + w.Buffer.EnsureSpace(11) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) IntStr(n int) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int64Str(n int64) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, n, 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Float32(n float32) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 32) +} + +func (w *Writer) Float32Str(n float32) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 32) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Float64(n float64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, n, 'g', -1, 64) +} + +func (w *Writer) Float64Str(n float64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 64) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Bool(v bool) { + w.Buffer.EnsureSpace(5) + if v { + w.Buffer.Buf = append(w.Buffer.Buf, "true"...) + } else { + w.Buffer.Buf = append(w.Buffer.Buf, "false"...) + } +} + +const chars = "0123456789abcdef" + +func isNotEscapedSingleChar(c byte, escapeHTML bool) bool { + // Note: might make sense to use a table if there are more chars to escape. With 4 chars + // it benchmarks the same. + if escapeHTML { + return c != '<' && c != '>' && c != '&' && c != '\\' && c != '"' && c >= 0x20 && c < utf8.RuneSelf + } else { + return c != '\\' && c != '"' && c >= 0x20 && c < utf8.RuneSelf + } +} + +func (w *Writer) String(s string) { + w.Buffer.AppendByte('"') + + // Portions of the string that contain no escapes are appended as + // byte slices. + + p := 0 // last non-escape symbol + + for i := 0; i < len(s); { + c := s[i] + + if isNotEscapedSingleChar(c, !w.NoEscapeHTML) { + // single-width character, no escaping is required + i++ + continue + } else if c < utf8.RuneSelf { + // single-with character, need to escape + w.Buffer.AppendString(s[p:i]) + switch c { + case '\t': + w.Buffer.AppendString(`\t`) + case '\r': + w.Buffer.AppendString(`\r`) + case '\n': + w.Buffer.AppendString(`\n`) + case '\\': + w.Buffer.AppendString(`\\`) + case '"': + w.Buffer.AppendString(`\"`) + default: + w.Buffer.AppendString(`\u00`) + w.Buffer.AppendByte(chars[c>>4]) + w.Buffer.AppendByte(chars[c&0xf]) + } + + i++ + p = i + continue + } + + // broken utf + runeValue, runeWidth := utf8.DecodeRuneInString(s[i:]) + if runeValue == utf8.RuneError && runeWidth == 1 { + w.Buffer.AppendString(s[p:i]) + w.Buffer.AppendString(`\ufffd`) + i++ + p = i + continue + } + + // jsonp stuff - tab separator and line separator + if runeValue == '\u2028' || runeValue == '\u2029' { + w.Buffer.AppendString(s[p:i]) + w.Buffer.AppendString(`\u202`) + w.Buffer.AppendByte(chars[runeValue&0xf]) + i += runeWidth + p = i + continue + } + i += runeWidth + } + w.Buffer.AppendString(s[p:]) + w.Buffer.AppendByte('"') +} + +const encode = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" +const padChar = '=' + +func (w *Writer) base64(in []byte) { + + if len(in) == 0 { + return + } + + w.Buffer.EnsureSpace(((len(in)-1)/3 + 1) * 4) + + si := 0 + n := (len(in) / 3) * 3 + + for si < n { + // Convert 3x 8bit source bytes into 4 bytes + val := uint(in[si+0])<<16 | uint(in[si+1])<<8 | uint(in[si+2]) + + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>18&0x3F], encode[val>>12&0x3F], encode[val>>6&0x3F], encode[val&0x3F]) + + si += 3 + } + + remain := len(in) - si + if remain == 0 { + return + } + + // Add the remaining small block + val := uint(in[si+0]) << 16 + if remain == 2 { + val |= uint(in[si+1]) << 8 + } + + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>18&0x3F], encode[val>>12&0x3F]) + + switch remain { + case 2: + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>6&0x3F], byte(padChar)) + case 1: + w.Buffer.Buf = append(w.Buffer.Buf, byte(padChar), byte(padChar)) + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/LICENSE new file mode 100644 index 0000000..49ea0f9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2018 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/gopkgin.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/gopkgin.go new file mode 100644 index 0000000..c94b384 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/gopkgin.go @@ -0,0 +1,47 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO: Figure out what gopkg.in should do. + +package modfile + +import "strings" + +// ParseGopkgIn splits gopkg.in import paths into their constituent parts +func ParseGopkgIn(path string) (root, repo, major, subdir string, ok bool) { + if !strings.HasPrefix(path, "gopkg.in/") { + return + } + f := strings.Split(path, "/") + if len(f) >= 2 { + if elem, v, ok := dotV(f[1]); ok { + root = strings.Join(f[:2], "/") + repo = "github.com/go-" + elem + "/" + elem + major = v + subdir = strings.Join(f[2:], "/") + return root, repo, major, subdir, true + } + } + if len(f) >= 3 { + if elem, v, ok := dotV(f[2]); ok { + root = strings.Join(f[:3], "/") + repo = "github.com/" + f[1] + "/" + elem + major = v + subdir = strings.Join(f[3:], "/") + return root, repo, major, subdir, true + } + } + return +} + +func dotV(name string) (elem, v string, ok bool) { + i := len(name) - 1 + for i >= 0 && '0' <= name[i] && name[i] <= '9' { + i-- + } + if i <= 2 || i+1 >= len(name) || name[i-1] != '.' || name[i] != 'v' || name[i+1] == '0' && len(name) != i+2 { + return "", "", false + } + return name[:i-1], name[i:], true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/print.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/print.go new file mode 100644 index 0000000..7b1dd8f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/print.go @@ -0,0 +1,164 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package modfile implements parsing and formatting for +// go.mod files. +package modfile + +import ( + "bytes" + "fmt" + "strings" +) + +func Format(f *FileSyntax) []byte { + pr := &printer{} + pr.file(f) + return pr.Bytes() +} + +// A printer collects the state during printing of a file or expression. +type printer struct { + bytes.Buffer // output buffer + comment []Comment // pending end-of-line comments + margin int // left margin (indent), a number of tabs +} + +// printf prints to the buffer. +func (p *printer) printf(format string, args ...interface{}) { + fmt.Fprintf(p, format, args...) +} + +// indent returns the position on the current line, in bytes, 0-indexed. +func (p *printer) indent() int { + b := p.Bytes() + n := 0 + for n < len(b) && b[len(b)-1-n] != '\n' { + n++ + } + return n +} + +// newline ends the current line, flushing end-of-line comments. +func (p *printer) newline() { + if len(p.comment) > 0 { + p.printf(" ") + for i, com := range p.comment { + if i > 0 { + p.trim() + p.printf("\n") + for i := 0; i < p.margin; i++ { + p.printf("\t") + } + } + p.printf("%s", strings.TrimSpace(com.Token)) + } + p.comment = p.comment[:0] + } + + p.trim() + p.printf("\n") + for i := 0; i < p.margin; i++ { + p.printf("\t") + } +} + +// trim removes trailing spaces and tabs from the current line. +func (p *printer) trim() { + // Remove trailing spaces and tabs from line we're about to end. + b := p.Bytes() + n := len(b) + for n > 0 && (b[n-1] == '\t' || b[n-1] == ' ') { + n-- + } + p.Truncate(n) +} + +// file formats the given file into the print buffer. +func (p *printer) file(f *FileSyntax) { + for _, com := range f.Before { + p.printf("%s", strings.TrimSpace(com.Token)) + p.newline() + } + + for i, stmt := range f.Stmt { + switch x := stmt.(type) { + case *CommentBlock: + // comments already handled + p.expr(x) + + default: + p.expr(x) + p.newline() + } + + for _, com := range stmt.Comment().After { + p.printf("%s", strings.TrimSpace(com.Token)) + p.newline() + } + + if i+1 < len(f.Stmt) { + p.newline() + } + } +} + +func (p *printer) expr(x Expr) { + // Emit line-comments preceding this expression. + if before := x.Comment().Before; len(before) > 0 { + // Want to print a line comment. + // Line comments must be at the current margin. + p.trim() + if p.indent() > 0 { + // There's other text on the line. Start a new line. + p.printf("\n") + } + // Re-indent to margin. + for i := 0; i < p.margin; i++ { + p.printf("\t") + } + for _, com := range before { + p.printf("%s", strings.TrimSpace(com.Token)) + p.newline() + } + } + + switch x := x.(type) { + default: + panic(fmt.Errorf("printer: unexpected type %T", x)) + + case *CommentBlock: + // done + + case *LParen: + p.printf("(") + case *RParen: + p.printf(")") + + case *Line: + sep := "" + for _, tok := range x.Token { + p.printf("%s%s", sep, tok) + sep = " " + } + + case *LineBlock: + for _, tok := range x.Token { + p.printf("%s ", tok) + } + p.expr(&x.LParen) + p.margin++ + for _, l := range x.Line { + p.newline() + p.expr(l) + } + p.margin-- + p.newline() + p.expr(&x.RParen) + } + + // Queue end-of-line comments for printing when we + // reach the end of the line. + p.comment = append(p.comment, x.Comment().Suffix...) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/read.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/read.go new file mode 100644 index 0000000..1d81ff1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/read.go @@ -0,0 +1,869 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Module file parser. +// This is a simplified copy of Google's buildifier parser. + +package modfile + +import ( + "bytes" + "fmt" + "os" + "strconv" + "strings" + "unicode" + "unicode/utf8" +) + +// A Position describes the position between two bytes of input. +type Position struct { + Line int // line in input (starting at 1) + LineRune int // rune in line (starting at 1) + Byte int // byte in input (starting at 0) +} + +// add returns the position at the end of s, assuming it starts at p. +func (p Position) add(s string) Position { + p.Byte += len(s) + if n := strings.Count(s, "\n"); n > 0 { + p.Line += n + s = s[strings.LastIndex(s, "\n")+1:] + p.LineRune = 1 + } + p.LineRune += utf8.RuneCountInString(s) + return p +} + +// An Expr represents an input element. +type Expr interface { + // Span returns the start and end position of the expression, + // excluding leading or trailing comments. + Span() (start, end Position) + + // Comment returns the comments attached to the expression. + // This method would normally be named 'Comments' but that + // would interfere with embedding a type of the same name. + Comment() *Comments +} + +// A Comment represents a single // comment. +type Comment struct { + Start Position + Token string // without trailing newline + Suffix bool // an end of line (not whole line) comment +} + +// Comments collects the comments associated with an expression. +type Comments struct { + Before []Comment // whole-line comments before this expression + Suffix []Comment // end-of-line comments after this expression + + // For top-level expressions only, After lists whole-line + // comments following the expression. + After []Comment +} + +// Comment returns the receiver. This isn't useful by itself, but +// a Comments struct is embedded into all the expression +// implementation types, and this gives each of those a Comment +// method to satisfy the Expr interface. +func (c *Comments) Comment() *Comments { + return c +} + +// A FileSyntax represents an entire go.mod file. +type FileSyntax struct { + Name string // file path + Comments + Stmt []Expr +} + +func (x *FileSyntax) Span() (start, end Position) { + if len(x.Stmt) == 0 { + return + } + start, _ = x.Stmt[0].Span() + _, end = x.Stmt[len(x.Stmt)-1].Span() + return start, end +} + +func (x *FileSyntax) addLine(hint Expr, tokens ...string) *Line { + if hint == nil { + // If no hint given, add to the last statement of the given type. + Loop: + for i := len(x.Stmt) - 1; i >= 0; i-- { + stmt := x.Stmt[i] + switch stmt := stmt.(type) { + case *Line: + if stmt.Token != nil && stmt.Token[0] == tokens[0] { + hint = stmt + break Loop + } + case *LineBlock: + if stmt.Token[0] == tokens[0] { + hint = stmt + break Loop + } + } + } + } + + if hint != nil { + for i, stmt := range x.Stmt { + switch stmt := stmt.(type) { + case *Line: + if stmt == hint { + // Convert line to line block. + stmt.InBlock = true + block := &LineBlock{Token: stmt.Token[:1], Line: []*Line{stmt}} + stmt.Token = stmt.Token[1:] + x.Stmt[i] = block + new := &Line{Token: tokens[1:], InBlock: true} + block.Line = append(block.Line, new) + return new + } + case *LineBlock: + if stmt == hint { + new := &Line{Token: tokens[1:], InBlock: true} + stmt.Line = append(stmt.Line, new) + return new + } + for j, line := range stmt.Line { + if line == hint { + // Add new line after hint. + stmt.Line = append(stmt.Line, nil) + copy(stmt.Line[j+2:], stmt.Line[j+1:]) + new := &Line{Token: tokens[1:], InBlock: true} + stmt.Line[j+1] = new + return new + } + } + } + } + } + + new := &Line{Token: tokens} + x.Stmt = append(x.Stmt, new) + return new +} + +func (x *FileSyntax) updateLine(line *Line, tokens ...string) { + if line.InBlock { + tokens = tokens[1:] + } + line.Token = tokens +} + +func (x *FileSyntax) removeLine(line *Line) { + line.Token = nil +} + +// Cleanup cleans up the file syntax x after any edit operations. +// To avoid quadratic behavior, removeLine marks the line as dead +// by setting line.Token = nil but does not remove it from the slice +// in which it appears. After edits have all been indicated, +// calling Cleanup cleans out the dead lines. +func (x *FileSyntax) Cleanup() { + w := 0 + for _, stmt := range x.Stmt { + switch stmt := stmt.(type) { + case *Line: + if stmt.Token == nil { + continue + } + case *LineBlock: + ww := 0 + for _, line := range stmt.Line { + if line.Token != nil { + stmt.Line[ww] = line + ww++ + } + } + if ww == 0 { + continue + } + if ww == 1 { + // Collapse block into single line. + line := &Line{ + Comments: Comments{ + Before: commentsAdd(stmt.Before, stmt.Line[0].Before), + Suffix: commentsAdd(stmt.Line[0].Suffix, stmt.Suffix), + After: commentsAdd(stmt.Line[0].After, stmt.After), + }, + Token: stringsAdd(stmt.Token, stmt.Line[0].Token), + } + x.Stmt[w] = line + w++ + continue + } + stmt.Line = stmt.Line[:ww] + } + x.Stmt[w] = stmt + w++ + } + x.Stmt = x.Stmt[:w] +} + +func commentsAdd(x, y []Comment) []Comment { + return append(x[:len(x):len(x)], y...) +} + +func stringsAdd(x, y []string) []string { + return append(x[:len(x):len(x)], y...) +} + +// A CommentBlock represents a top-level block of comments separate +// from any rule. +type CommentBlock struct { + Comments + Start Position +} + +func (x *CommentBlock) Span() (start, end Position) { + return x.Start, x.Start +} + +// A Line is a single line of tokens. +type Line struct { + Comments + Start Position + Token []string + InBlock bool + End Position +} + +func (x *Line) Span() (start, end Position) { + return x.Start, x.End +} + +// A LineBlock is a factored block of lines, like +// +// require ( +// "x" +// "y" +// ) +// +type LineBlock struct { + Comments + Start Position + LParen LParen + Token []string + Line []*Line + RParen RParen +} + +func (x *LineBlock) Span() (start, end Position) { + return x.Start, x.RParen.Pos.add(")") +} + +// An LParen represents the beginning of a parenthesized line block. +// It is a place to store suffix comments. +type LParen struct { + Comments + Pos Position +} + +func (x *LParen) Span() (start, end Position) { + return x.Pos, x.Pos.add(")") +} + +// An RParen represents the end of a parenthesized line block. +// It is a place to store whole-line (before) comments. +type RParen struct { + Comments + Pos Position +} + +func (x *RParen) Span() (start, end Position) { + return x.Pos, x.Pos.add(")") +} + +// An input represents a single input file being parsed. +type input struct { + // Lexing state. + filename string // name of input file, for errors + complete []byte // entire input + remaining []byte // remaining input + token []byte // token being scanned + lastToken string // most recently returned token, for error messages + pos Position // current input position + comments []Comment // accumulated comments + endRule int // position of end of current rule + + // Parser state. + file *FileSyntax // returned top-level syntax tree + parseError error // error encountered during parsing + + // Comment assignment state. + pre []Expr // all expressions, in preorder traversal + post []Expr // all expressions, in postorder traversal +} + +func newInput(filename string, data []byte) *input { + return &input{ + filename: filename, + complete: data, + remaining: data, + pos: Position{Line: 1, LineRune: 1, Byte: 0}, + } +} + +// parse parses the input file. +func parse(file string, data []byte) (f *FileSyntax, err error) { + in := newInput(file, data) + // The parser panics for both routine errors like syntax errors + // and for programmer bugs like array index errors. + // Turn both into error returns. Catching bug panics is + // especially important when processing many files. + defer func() { + if e := recover(); e != nil { + if e == in.parseError { + err = in.parseError + } else { + err = fmt.Errorf("%s:%d:%d: internal error: %v", in.filename, in.pos.Line, in.pos.LineRune, e) + } + } + }() + + // Invoke the parser. + in.parseFile() + if in.parseError != nil { + return nil, in.parseError + } + in.file.Name = in.filename + + // Assign comments to nearby syntax. + in.assignComments() + + return in.file, nil +} + +// Error is called to report an error. +// The reason s is often "syntax error". +// Error does not return: it panics. +func (in *input) Error(s string) { + if s == "syntax error" && in.lastToken != "" { + s += " near " + in.lastToken + } + in.parseError = fmt.Errorf("%s:%d:%d: %v", in.filename, in.pos.Line, in.pos.LineRune, s) + panic(in.parseError) +} + +// eof reports whether the input has reached end of file. +func (in *input) eof() bool { + return len(in.remaining) == 0 +} + +// peekRune returns the next rune in the input without consuming it. +func (in *input) peekRune() int { + if len(in.remaining) == 0 { + return 0 + } + r, _ := utf8.DecodeRune(in.remaining) + return int(r) +} + +// peekPrefix reports whether the remaining input begins with the given prefix. +func (in *input) peekPrefix(prefix string) bool { + // This is like bytes.HasPrefix(in.remaining, []byte(prefix)) + // but without the allocation of the []byte copy of prefix. + for i := 0; i < len(prefix); i++ { + if i >= len(in.remaining) || in.remaining[i] != prefix[i] { + return false + } + } + return true +} + +// readRune consumes and returns the next rune in the input. +func (in *input) readRune() int { + if len(in.remaining) == 0 { + in.Error("internal lexer error: readRune at EOF") + } + r, size := utf8.DecodeRune(in.remaining) + in.remaining = in.remaining[size:] + if r == '\n' { + in.pos.Line++ + in.pos.LineRune = 1 + } else { + in.pos.LineRune++ + } + in.pos.Byte += size + return int(r) +} + +type symType struct { + pos Position + endPos Position + text string +} + +// startToken marks the beginning of the next input token. +// It must be followed by a call to endToken, once the token has +// been consumed using readRune. +func (in *input) startToken(sym *symType) { + in.token = in.remaining + sym.text = "" + sym.pos = in.pos +} + +// endToken marks the end of an input token. +// It records the actual token string in sym.text if the caller +// has not done that already. +func (in *input) endToken(sym *symType) { + if sym.text == "" { + tok := string(in.token[:len(in.token)-len(in.remaining)]) + sym.text = tok + in.lastToken = sym.text + } + sym.endPos = in.pos +} + +// lex is called from the parser to obtain the next input token. +// It returns the token value (either a rune like '+' or a symbolic token _FOR) +// and sets val to the data associated with the token. +// For all our input tokens, the associated data is +// val.Pos (the position where the token begins) +// and val.Token (the input string corresponding to the token). +func (in *input) lex(sym *symType) int { + // Skip past spaces, stopping at non-space or EOF. + countNL := 0 // number of newlines we've skipped past + for !in.eof() { + // Skip over spaces. Count newlines so we can give the parser + // information about where top-level blank lines are, + // for top-level comment assignment. + c := in.peekRune() + if c == ' ' || c == '\t' || c == '\r' { + in.readRune() + continue + } + + // Comment runs to end of line. + if in.peekPrefix("//") { + in.startToken(sym) + + // Is this comment the only thing on its line? + // Find the last \n before this // and see if it's all + // spaces from there to here. + i := bytes.LastIndex(in.complete[:in.pos.Byte], []byte("\n")) + suffix := len(bytes.TrimSpace(in.complete[i+1:in.pos.Byte])) > 0 + in.readRune() + in.readRune() + + // Consume comment. + for len(in.remaining) > 0 && in.readRune() != '\n' { + } + in.endToken(sym) + + sym.text = strings.TrimRight(sym.text, "\n") + in.lastToken = "comment" + + // If we are at top level (not in a statement), hand the comment to + // the parser as a _COMMENT token. The grammar is written + // to handle top-level comments itself. + if !suffix { + // Not in a statement. Tell parser about top-level comment. + return _COMMENT + } + + // Otherwise, save comment for later attachment to syntax tree. + if countNL > 1 { + in.comments = append(in.comments, Comment{sym.pos, "", false}) + } + in.comments = append(in.comments, Comment{sym.pos, sym.text, suffix}) + countNL = 1 + return _EOL + } + + if in.peekPrefix("/*") { + in.Error(fmt.Sprintf("mod files must use // comments (not /* */ comments)")) + } + + // Found non-space non-comment. + break + } + + // Found the beginning of the next token. + in.startToken(sym) + defer in.endToken(sym) + + // End of file. + if in.eof() { + in.lastToken = "EOF" + return _EOF + } + + // Punctuation tokens. + switch c := in.peekRune(); c { + case '\n': + in.readRune() + return c + + case '(': + in.readRune() + return c + + case ')': + in.readRune() + return c + + case '"', '`': // quoted string + quote := c + in.readRune() + for { + if in.eof() { + in.pos = sym.pos + in.Error("unexpected EOF in string") + } + if in.peekRune() == '\n' { + in.Error("unexpected newline in string") + } + c := in.readRune() + if c == quote { + break + } + if c == '\\' && quote != '`' { + if in.eof() { + in.pos = sym.pos + in.Error("unexpected EOF in string") + } + in.readRune() + } + } + in.endToken(sym) + return _STRING + } + + // Checked all punctuation. Must be identifier token. + if c := in.peekRune(); !isIdent(c) { + in.Error(fmt.Sprintf("unexpected input character %#q", c)) + } + + // Scan over identifier. + for isIdent(in.peekRune()) { + if in.peekPrefix("//") { + break + } + if in.peekPrefix("/*") { + in.Error(fmt.Sprintf("mod files must use // comments (not /* */ comments)")) + } + in.readRune() + } + return _IDENT +} + +// isIdent reports whether c is an identifier rune. +// We treat nearly all runes as identifier runes. +func isIdent(c int) bool { + return c != 0 && !unicode.IsSpace(rune(c)) +} + +// Comment assignment. +// We build two lists of all subexpressions, preorder and postorder. +// The preorder list is ordered by start location, with outer expressions first. +// The postorder list is ordered by end location, with outer expressions last. +// We use the preorder list to assign each whole-line comment to the syntax +// immediately following it, and we use the postorder list to assign each +// end-of-line comment to the syntax immediately preceding it. + +// order walks the expression adding it and its subexpressions to the +// preorder and postorder lists. +func (in *input) order(x Expr) { + if x != nil { + in.pre = append(in.pre, x) + } + switch x := x.(type) { + default: + panic(fmt.Errorf("order: unexpected type %T", x)) + case nil: + // nothing + case *LParen, *RParen: + // nothing + case *CommentBlock: + // nothing + case *Line: + // nothing + case *FileSyntax: + for _, stmt := range x.Stmt { + in.order(stmt) + } + case *LineBlock: + in.order(&x.LParen) + for _, l := range x.Line { + in.order(l) + } + in.order(&x.RParen) + } + if x != nil { + in.post = append(in.post, x) + } +} + +// assignComments attaches comments to nearby syntax. +func (in *input) assignComments() { + const debug = false + + // Generate preorder and postorder lists. + in.order(in.file) + + // Split into whole-line comments and suffix comments. + var line, suffix []Comment + for _, com := range in.comments { + if com.Suffix { + suffix = append(suffix, com) + } else { + line = append(line, com) + } + } + + if debug { + for _, c := range line { + fmt.Fprintf(os.Stderr, "LINE %q :%d:%d #%d\n", c.Token, c.Start.Line, c.Start.LineRune, c.Start.Byte) + } + } + + // Assign line comments to syntax immediately following. + for _, x := range in.pre { + start, _ := x.Span() + if debug { + fmt.Printf("pre %T :%d:%d #%d\n", x, start.Line, start.LineRune, start.Byte) + } + xcom := x.Comment() + for len(line) > 0 && start.Byte >= line[0].Start.Byte { + if debug { + fmt.Fprintf(os.Stderr, "ASSIGN LINE %q #%d\n", line[0].Token, line[0].Start.Byte) + } + xcom.Before = append(xcom.Before, line[0]) + line = line[1:] + } + } + + // Remaining line comments go at end of file. + in.file.After = append(in.file.After, line...) + + if debug { + for _, c := range suffix { + fmt.Fprintf(os.Stderr, "SUFFIX %q :%d:%d #%d\n", c.Token, c.Start.Line, c.Start.LineRune, c.Start.Byte) + } + } + + // Assign suffix comments to syntax immediately before. + for i := len(in.post) - 1; i >= 0; i-- { + x := in.post[i] + + start, end := x.Span() + if debug { + fmt.Printf("post %T :%d:%d #%d :%d:%d #%d\n", x, start.Line, start.LineRune, start.Byte, end.Line, end.LineRune, end.Byte) + } + + // Do not assign suffix comments to end of line block or whole file. + // Instead assign them to the last element inside. + switch x.(type) { + case *FileSyntax: + continue + } + + // Do not assign suffix comments to something that starts + // on an earlier line, so that in + // + // x ( y + // z ) // comment + // + // we assign the comment to z and not to x ( ... ). + if start.Line != end.Line { + continue + } + xcom := x.Comment() + for len(suffix) > 0 && end.Byte <= suffix[len(suffix)-1].Start.Byte { + if debug { + fmt.Fprintf(os.Stderr, "ASSIGN SUFFIX %q #%d\n", suffix[len(suffix)-1].Token, suffix[len(suffix)-1].Start.Byte) + } + xcom.Suffix = append(xcom.Suffix, suffix[len(suffix)-1]) + suffix = suffix[:len(suffix)-1] + } + } + + // We assigned suffix comments in reverse. + // If multiple suffix comments were appended to the same + // expression node, they are now in reverse. Fix that. + for _, x := range in.post { + reverseComments(x.Comment().Suffix) + } + + // Remaining suffix comments go at beginning of file. + in.file.Before = append(in.file.Before, suffix...) +} + +// reverseComments reverses the []Comment list. +func reverseComments(list []Comment) { + for i, j := 0, len(list)-1; i < j; i, j = i+1, j-1 { + list[i], list[j] = list[j], list[i] + } +} + +func (in *input) parseFile() { + in.file = new(FileSyntax) + var sym symType + var cb *CommentBlock + for { + tok := in.lex(&sym) + switch tok { + case '\n': + if cb != nil { + in.file.Stmt = append(in.file.Stmt, cb) + cb = nil + } + case _COMMENT: + if cb == nil { + cb = &CommentBlock{Start: sym.pos} + } + com := cb.Comment() + com.Before = append(com.Before, Comment{Start: sym.pos, Token: sym.text}) + case _EOF: + if cb != nil { + in.file.Stmt = append(in.file.Stmt, cb) + } + return + default: + in.parseStmt(&sym) + if cb != nil { + in.file.Stmt[len(in.file.Stmt)-1].Comment().Before = cb.Before + cb = nil + } + } + } +} + +func (in *input) parseStmt(sym *symType) { + start := sym.pos + end := sym.endPos + token := []string{sym.text} + for { + tok := in.lex(sym) + switch tok { + case '\n', _EOF, _EOL: + in.file.Stmt = append(in.file.Stmt, &Line{ + Start: start, + Token: token, + End: end, + }) + return + case '(': + in.file.Stmt = append(in.file.Stmt, in.parseLineBlock(start, token, sym)) + return + default: + token = append(token, sym.text) + end = sym.endPos + } + } +} + +func (in *input) parseLineBlock(start Position, token []string, sym *symType) *LineBlock { + x := &LineBlock{ + Start: start, + Token: token, + LParen: LParen{Pos: sym.pos}, + } + var comments []Comment + for { + tok := in.lex(sym) + switch tok { + case _EOL: + // ignore + case '\n': + if len(comments) == 0 && len(x.Line) > 0 || len(comments) > 0 && comments[len(comments)-1].Token != "" { + comments = append(comments, Comment{}) + } + case _COMMENT: + comments = append(comments, Comment{Start: sym.pos, Token: sym.text}) + case _EOF: + in.Error(fmt.Sprintf("syntax error (unterminated block started at %s:%d:%d)", in.filename, x.Start.Line, x.Start.LineRune)) + case ')': + x.RParen.Before = comments + x.RParen.Pos = sym.pos + tok = in.lex(sym) + if tok != '\n' && tok != _EOF && tok != _EOL { + in.Error("syntax error (expected newline after closing paren)") + } + return x + default: + l := in.parseLine(sym) + x.Line = append(x.Line, l) + l.Comment().Before = comments + comments = nil + } + } +} + +func (in *input) parseLine(sym *symType) *Line { + start := sym.pos + end := sym.endPos + token := []string{sym.text} + for { + tok := in.lex(sym) + switch tok { + case '\n', _EOF, _EOL: + return &Line{ + Start: start, + Token: token, + End: end, + InBlock: true, + } + default: + token = append(token, sym.text) + end = sym.endPos + } + } +} + +const ( + _EOF = -(1 + iota) + _EOL + _IDENT + _STRING + _COMMENT +) + +var ( + slashSlash = []byte("//") + moduleStr = []byte("module") +) + +// ModulePath returns the module path from the gomod file text. +// If it cannot find a module path, it returns an empty string. +// It is tolerant of unrelated problems in the go.mod file. +func ModulePath(mod []byte) string { + for len(mod) > 0 { + line := mod + mod = nil + if i := bytes.IndexByte(line, '\n'); i >= 0 { + line, mod = line[:i], line[i+1:] + } + if i := bytes.Index(line, slashSlash); i >= 0 { + line = line[:i] + } + line = bytes.TrimSpace(line) + if !bytes.HasPrefix(line, moduleStr) { + continue + } + line = line[len(moduleStr):] + n := len(line) + line = bytes.TrimSpace(line) + if len(line) == n || len(line) == 0 { + continue + } + + if line[0] == '"' || line[0] == '`' { + p, err := strconv.Unquote(string(line)) + if err != nil { + return "" // malformed quoted string or multiline module path + } + return p + } + + return string(line) + } + return "" // missing module path +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/rule.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/rule.go new file mode 100644 index 0000000..24d275f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/modfile/rule.go @@ -0,0 +1,724 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package modfile + +import ( + "bytes" + "errors" + "fmt" + "path/filepath" + "regexp" + "sort" + "strconv" + "strings" + "unicode" + + "github.com/rogpeppe/go-internal/module" + "github.com/rogpeppe/go-internal/semver" +) + +// A File is the parsed, interpreted form of a go.mod file. +type File struct { + Module *Module + Go *Go + Require []*Require + Exclude []*Exclude + Replace []*Replace + + Syntax *FileSyntax +} + +// A Module is the module statement. +type Module struct { + Mod module.Version + Syntax *Line +} + +// A Go is the go statement. +type Go struct { + Version string // "1.23" + Syntax *Line +} + +// A Require is a single require statement. +type Require struct { + Mod module.Version + Indirect bool // has "// indirect" comment + Syntax *Line +} + +// An Exclude is a single exclude statement. +type Exclude struct { + Mod module.Version + Syntax *Line +} + +// A Replace is a single replace statement. +type Replace struct { + Old module.Version + New module.Version + Syntax *Line +} + +func (f *File) AddModuleStmt(path string) error { + if f.Syntax == nil { + f.Syntax = new(FileSyntax) + } + if f.Module == nil { + f.Module = &Module{ + Mod: module.Version{Path: path}, + Syntax: f.Syntax.addLine(nil, "module", AutoQuote(path)), + } + } else { + f.Module.Mod.Path = path + f.Syntax.updateLine(f.Module.Syntax, "module", AutoQuote(path)) + } + return nil +} + +func (f *File) AddComment(text string) { + if f.Syntax == nil { + f.Syntax = new(FileSyntax) + } + f.Syntax.Stmt = append(f.Syntax.Stmt, &CommentBlock{ + Comments: Comments{ + Before: []Comment{ + { + Token: text, + }, + }, + }, + }) +} + +type VersionFixer func(path, version string) (string, error) + +// Parse parses the data, reported in errors as being from file, +// into a File struct. It applies fix, if non-nil, to canonicalize all module versions found. +func Parse(file string, data []byte, fix VersionFixer) (*File, error) { + return parseToFile(file, data, fix, true) +} + +// ParseLax is like Parse but ignores unknown statements. +// It is used when parsing go.mod files other than the main module, +// under the theory that most statement types we add in the future will +// only apply in the main module, like exclude and replace, +// and so we get better gradual deployments if old go commands +// simply ignore those statements when found in go.mod files +// in dependencies. +func ParseLax(file string, data []byte, fix VersionFixer) (*File, error) { + return parseToFile(file, data, fix, false) +} + +func parseToFile(file string, data []byte, fix VersionFixer, strict bool) (*File, error) { + fs, err := parse(file, data) + if err != nil { + return nil, err + } + f := &File{ + Syntax: fs, + } + + var errs bytes.Buffer + for _, x := range fs.Stmt { + switch x := x.(type) { + case *Line: + f.add(&errs, x, x.Token[0], x.Token[1:], fix, strict) + + case *LineBlock: + if len(x.Token) > 1 { + if strict { + fmt.Fprintf(&errs, "%s:%d: unknown block type: %s\n", file, x.Start.Line, strings.Join(x.Token, " ")) + } + continue + } + switch x.Token[0] { + default: + if strict { + fmt.Fprintf(&errs, "%s:%d: unknown block type: %s\n", file, x.Start.Line, strings.Join(x.Token, " ")) + } + continue + case "module", "require", "exclude", "replace": + for _, l := range x.Line { + f.add(&errs, l, x.Token[0], l.Token, fix, strict) + } + } + } + } + + if errs.Len() > 0 { + return nil, errors.New(strings.TrimRight(errs.String(), "\n")) + } + return f, nil +} + +var goVersionRE = regexp.MustCompile(`([1-9][0-9]*)\.(0|[1-9][0-9]*)`) + +func (f *File) add(errs *bytes.Buffer, line *Line, verb string, args []string, fix VersionFixer, strict bool) { + // If strict is false, this module is a dependency. + // We ignore all unknown directives as well as main-module-only + // directives like replace and exclude. It will work better for + // forward compatibility if we can depend on modules that have unknown + // statements (presumed relevant only when acting as the main module) + // and simply ignore those statements. + if !strict { + switch verb { + case "module", "require", "go": + // want these even for dependency go.mods + default: + return + } + } + + switch verb { + default: + fmt.Fprintf(errs, "%s:%d: unknown directive: %s\n", f.Syntax.Name, line.Start.Line, verb) + + case "go": + if f.Go != nil { + fmt.Fprintf(errs, "%s:%d: repeated go statement\n", f.Syntax.Name, line.Start.Line) + return + } + if len(args) != 1 || !goVersionRE.MatchString(args[0]) { + fmt.Fprintf(errs, "%s:%d: usage: go 1.23\n", f.Syntax.Name, line.Start.Line) + return + } + f.Go = &Go{Syntax: line} + f.Go.Version = args[0] + case "module": + if f.Module != nil { + fmt.Fprintf(errs, "%s:%d: repeated module statement\n", f.Syntax.Name, line.Start.Line) + return + } + f.Module = &Module{Syntax: line} + if len(args) != 1 { + + fmt.Fprintf(errs, "%s:%d: usage: module module/path [version]\n", f.Syntax.Name, line.Start.Line) + return + } + s, err := parseString(&args[0]) + if err != nil { + fmt.Fprintf(errs, "%s:%d: invalid quoted string: %v\n", f.Syntax.Name, line.Start.Line, err) + return + } + f.Module.Mod = module.Version{Path: s} + case "require", "exclude": + if len(args) != 2 { + fmt.Fprintf(errs, "%s:%d: usage: %s module/path v1.2.3\n", f.Syntax.Name, line.Start.Line, verb) + return + } + s, err := parseString(&args[0]) + if err != nil { + fmt.Fprintf(errs, "%s:%d: invalid quoted string: %v\n", f.Syntax.Name, line.Start.Line, err) + return + } + old := args[1] + v, err := parseVersion(s, &args[1], fix) + if err != nil { + fmt.Fprintf(errs, "%s:%d: invalid module version %q: %v\n", f.Syntax.Name, line.Start.Line, old, err) + return + } + pathMajor, err := modulePathMajor(s) + if err != nil { + fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, err) + return + } + if !module.MatchPathMajor(v, pathMajor) { + if pathMajor == "" { + pathMajor = "v0 or v1" + } + fmt.Fprintf(errs, "%s:%d: invalid module: %s should be %s, not %s (%s)\n", f.Syntax.Name, line.Start.Line, s, pathMajor, semver.Major(v), v) + return + } + if verb == "require" { + f.Require = append(f.Require, &Require{ + Mod: module.Version{Path: s, Version: v}, + Syntax: line, + Indirect: isIndirect(line), + }) + } else { + f.Exclude = append(f.Exclude, &Exclude{ + Mod: module.Version{Path: s, Version: v}, + Syntax: line, + }) + } + case "replace": + arrow := 2 + if len(args) >= 2 && args[1] == "=>" { + arrow = 1 + } + if len(args) < arrow+2 || len(args) > arrow+3 || args[arrow] != "=>" { + fmt.Fprintf(errs, "%s:%d: usage: %s module/path [v1.2.3] => other/module v1.4\n\t or %s module/path [v1.2.3] => ../local/directory\n", f.Syntax.Name, line.Start.Line, verb, verb) + return + } + s, err := parseString(&args[0]) + if err != nil { + fmt.Fprintf(errs, "%s:%d: invalid quoted string: %v\n", f.Syntax.Name, line.Start.Line, err) + return + } + pathMajor, err := modulePathMajor(s) + if err != nil { + fmt.Fprintf(errs, "%s:%d: %v\n", f.Syntax.Name, line.Start.Line, err) + return + } + var v string + if arrow == 2 { + old := args[1] + v, err = parseVersion(s, &args[1], fix) + if err != nil { + fmt.Fprintf(errs, "%s:%d: invalid module version %v: %v\n", f.Syntax.Name, line.Start.Line, old, err) + return + } + if !module.MatchPathMajor(v, pathMajor) { + if pathMajor == "" { + pathMajor = "v0 or v1" + } + fmt.Fprintf(errs, "%s:%d: invalid module: %s should be %s, not %s (%s)\n", f.Syntax.Name, line.Start.Line, s, pathMajor, semver.Major(v), v) + return + } + } + ns, err := parseString(&args[arrow+1]) + if err != nil { + fmt.Fprintf(errs, "%s:%d: invalid quoted string: %v\n", f.Syntax.Name, line.Start.Line, err) + return + } + nv := "" + if len(args) == arrow+2 { + if !IsDirectoryPath(ns) { + fmt.Fprintf(errs, "%s:%d: replacement module without version must be directory path (rooted or starting with ./ or ../)\n", f.Syntax.Name, line.Start.Line) + return + } + if filepath.Separator == '/' && strings.Contains(ns, `\`) { + fmt.Fprintf(errs, "%s:%d: replacement directory appears to be Windows path (on a non-windows system)\n", f.Syntax.Name, line.Start.Line) + return + } + } + if len(args) == arrow+3 { + old := args[arrow+1] + nv, err = parseVersion(ns, &args[arrow+2], fix) + if err != nil { + fmt.Fprintf(errs, "%s:%d: invalid module version %v: %v\n", f.Syntax.Name, line.Start.Line, old, err) + return + } + if IsDirectoryPath(ns) { + fmt.Fprintf(errs, "%s:%d: replacement module directory path %q cannot have version\n", f.Syntax.Name, line.Start.Line, ns) + return + } + } + f.Replace = append(f.Replace, &Replace{ + Old: module.Version{Path: s, Version: v}, + New: module.Version{Path: ns, Version: nv}, + Syntax: line, + }) + } +} + +// isIndirect reports whether line has a "// indirect" comment, +// meaning it is in go.mod only for its effect on indirect dependencies, +// so that it can be dropped entirely once the effective version of the +// indirect dependency reaches the given minimum version. +func isIndirect(line *Line) bool { + if len(line.Suffix) == 0 { + return false + } + f := strings.Fields(line.Suffix[0].Token) + return (len(f) == 2 && f[1] == "indirect" || len(f) > 2 && f[1] == "indirect;") && f[0] == "//" +} + +// setIndirect sets line to have (or not have) a "// indirect" comment. +func setIndirect(line *Line, indirect bool) { + if isIndirect(line) == indirect { + return + } + if indirect { + // Adding comment. + if len(line.Suffix) == 0 { + // New comment. + line.Suffix = []Comment{{Token: "// indirect", Suffix: true}} + return + } + // Insert at beginning of existing comment. + com := &line.Suffix[0] + space := " " + if len(com.Token) > 2 && com.Token[2] == ' ' || com.Token[2] == '\t' { + space = "" + } + com.Token = "// indirect;" + space + com.Token[2:] + return + } + + // Removing comment. + f := strings.Fields(line.Suffix[0].Token) + if len(f) == 2 { + // Remove whole comment. + line.Suffix = nil + return + } + + // Remove comment prefix. + com := &line.Suffix[0] + i := strings.Index(com.Token, "indirect;") + com.Token = "//" + com.Token[i+len("indirect;"):] +} + +// IsDirectoryPath reports whether the given path should be interpreted +// as a directory path. Just like on the go command line, relative paths +// and rooted paths are directory paths; the rest are module paths. +func IsDirectoryPath(ns string) bool { + // Because go.mod files can move from one system to another, + // we check all known path syntaxes, both Unix and Windows. + return strings.HasPrefix(ns, "./") || strings.HasPrefix(ns, "../") || strings.HasPrefix(ns, "/") || + strings.HasPrefix(ns, `.\`) || strings.HasPrefix(ns, `..\`) || strings.HasPrefix(ns, `\`) || + len(ns) >= 2 && ('A' <= ns[0] && ns[0] <= 'Z' || 'a' <= ns[0] && ns[0] <= 'z') && ns[1] == ':' +} + +// MustQuote reports whether s must be quoted in order to appear as +// a single token in a go.mod line. +func MustQuote(s string) bool { + for _, r := range s { + if !unicode.IsPrint(r) || r == ' ' || r == '"' || r == '\'' || r == '`' { + return true + } + } + return s == "" || strings.Contains(s, "//") || strings.Contains(s, "/*") +} + +// AutoQuote returns s or, if quoting is required for s to appear in a go.mod, +// the quotation of s. +func AutoQuote(s string) string { + if MustQuote(s) { + return strconv.Quote(s) + } + return s +} + +func parseString(s *string) (string, error) { + t := *s + if strings.HasPrefix(t, `"`) { + var err error + if t, err = strconv.Unquote(t); err != nil { + return "", err + } + } else if strings.ContainsAny(t, "\"'`") { + // Other quotes are reserved both for possible future expansion + // and to avoid confusion. For example if someone types 'x' + // we want that to be a syntax error and not a literal x in literal quotation marks. + return "", fmt.Errorf("unquoted string cannot contain quote") + } + *s = AutoQuote(t) + return t, nil +} + +func parseVersion(path string, s *string, fix VersionFixer) (string, error) { + t, err := parseString(s) + if err != nil { + return "", err + } + if fix != nil { + var err error + t, err = fix(path, t) + if err != nil { + return "", err + } + } + if v := module.CanonicalVersion(t); v != "" { + *s = v + return *s, nil + } + return "", fmt.Errorf("version must be of the form v1.2.3") +} + +func modulePathMajor(path string) (string, error) { + _, major, ok := module.SplitPathVersion(path) + if !ok { + return "", fmt.Errorf("invalid module path") + } + return major, nil +} + +func (f *File) Format() ([]byte, error) { + return Format(f.Syntax), nil +} + +// Cleanup cleans up the file f after any edit operations. +// To avoid quadratic behavior, modifications like DropRequire +// clear the entry but do not remove it from the slice. +// Cleanup cleans out all the cleared entries. +func (f *File) Cleanup() { + w := 0 + for _, r := range f.Require { + if r.Mod.Path != "" { + f.Require[w] = r + w++ + } + } + f.Require = f.Require[:w] + + w = 0 + for _, x := range f.Exclude { + if x.Mod.Path != "" { + f.Exclude[w] = x + w++ + } + } + f.Exclude = f.Exclude[:w] + + w = 0 + for _, r := range f.Replace { + if r.Old.Path != "" { + f.Replace[w] = r + w++ + } + } + f.Replace = f.Replace[:w] + + f.Syntax.Cleanup() +} + +func (f *File) AddRequire(path, vers string) error { + need := true + for _, r := range f.Require { + if r.Mod.Path == path { + if need { + r.Mod.Version = vers + f.Syntax.updateLine(r.Syntax, "require", AutoQuote(path), vers) + need = false + } else { + f.Syntax.removeLine(r.Syntax) + *r = Require{} + } + } + } + + if need { + f.AddNewRequire(path, vers, false) + } + return nil +} + +func (f *File) AddNewRequire(path, vers string, indirect bool) { + line := f.Syntax.addLine(nil, "require", AutoQuote(path), vers) + setIndirect(line, indirect) + f.Require = append(f.Require, &Require{module.Version{Path: path, Version: vers}, indirect, line}) +} + +func (f *File) SetRequire(req []*Require) { + need := make(map[string]string) + indirect := make(map[string]bool) + for _, r := range req { + need[r.Mod.Path] = r.Mod.Version + indirect[r.Mod.Path] = r.Indirect + } + + for _, r := range f.Require { + if v, ok := need[r.Mod.Path]; ok { + r.Mod.Version = v + r.Indirect = indirect[r.Mod.Path] + } + } + + var newStmts []Expr + for _, stmt := range f.Syntax.Stmt { + switch stmt := stmt.(type) { + case *LineBlock: + if len(stmt.Token) > 0 && stmt.Token[0] == "require" { + var newLines []*Line + for _, line := range stmt.Line { + if p, err := parseString(&line.Token[0]); err == nil && need[p] != "" { + line.Token[1] = need[p] + delete(need, p) + setIndirect(line, indirect[p]) + newLines = append(newLines, line) + } + } + if len(newLines) == 0 { + continue // drop stmt + } + stmt.Line = newLines + } + + case *Line: + if len(stmt.Token) > 0 && stmt.Token[0] == "require" { + if p, err := parseString(&stmt.Token[1]); err == nil && need[p] != "" { + stmt.Token[2] = need[p] + delete(need, p) + setIndirect(stmt, indirect[p]) + } else { + continue // drop stmt + } + } + } + newStmts = append(newStmts, stmt) + } + f.Syntax.Stmt = newStmts + + for path, vers := range need { + f.AddNewRequire(path, vers, indirect[path]) + } + f.SortBlocks() +} + +func (f *File) DropRequire(path string) error { + for _, r := range f.Require { + if r.Mod.Path == path { + f.Syntax.removeLine(r.Syntax) + *r = Require{} + } + } + return nil +} + +func (f *File) AddExclude(path, vers string) error { + var hint *Line + for _, x := range f.Exclude { + if x.Mod.Path == path && x.Mod.Version == vers { + return nil + } + if x.Mod.Path == path { + hint = x.Syntax + } + } + + f.Exclude = append(f.Exclude, &Exclude{Mod: module.Version{Path: path, Version: vers}, Syntax: f.Syntax.addLine(hint, "exclude", AutoQuote(path), vers)}) + return nil +} + +func (f *File) DropExclude(path, vers string) error { + for _, x := range f.Exclude { + if x.Mod.Path == path && x.Mod.Version == vers { + f.Syntax.removeLine(x.Syntax) + *x = Exclude{} + } + } + return nil +} + +func (f *File) AddReplace(oldPath, oldVers, newPath, newVers string) error { + need := true + old := module.Version{Path: oldPath, Version: oldVers} + new := module.Version{Path: newPath, Version: newVers} + tokens := []string{"replace", AutoQuote(oldPath)} + if oldVers != "" { + tokens = append(tokens, oldVers) + } + tokens = append(tokens, "=>", AutoQuote(newPath)) + if newVers != "" { + tokens = append(tokens, newVers) + } + + var hint *Line + for _, r := range f.Replace { + if r.Old.Path == oldPath && (oldVers == "" || r.Old.Version == oldVers) { + if need { + // Found replacement for old; update to use new. + r.New = new + f.Syntax.updateLine(r.Syntax, tokens...) + need = false + continue + } + // Already added; delete other replacements for same. + f.Syntax.removeLine(r.Syntax) + *r = Replace{} + } + if r.Old.Path == oldPath { + hint = r.Syntax + } + } + if need { + f.Replace = append(f.Replace, &Replace{Old: old, New: new, Syntax: f.Syntax.addLine(hint, tokens...)}) + } + return nil +} + +func (f *File) DropReplace(oldPath, oldVers string) error { + for _, r := range f.Replace { + if r.Old.Path == oldPath && r.Old.Version == oldVers { + f.Syntax.removeLine(r.Syntax) + *r = Replace{} + } + } + return nil +} + +func (f *File) SortBlocks() { + f.removeDups() // otherwise sorting is unsafe + + for _, stmt := range f.Syntax.Stmt { + block, ok := stmt.(*LineBlock) + if !ok { + continue + } + sort.Slice(block.Line, func(i, j int) bool { + li := block.Line[i] + lj := block.Line[j] + for k := 0; k < len(li.Token) && k < len(lj.Token); k++ { + if li.Token[k] != lj.Token[k] { + return li.Token[k] < lj.Token[k] + } + } + return len(li.Token) < len(lj.Token) + }) + } +} + +func (f *File) removeDups() { + have := make(map[module.Version]bool) + kill := make(map[*Line]bool) + for _, x := range f.Exclude { + if have[x.Mod] { + kill[x.Syntax] = true + continue + } + have[x.Mod] = true + } + var excl []*Exclude + for _, x := range f.Exclude { + if !kill[x.Syntax] { + excl = append(excl, x) + } + } + f.Exclude = excl + + have = make(map[module.Version]bool) + // Later replacements take priority over earlier ones. + for i := len(f.Replace) - 1; i >= 0; i-- { + x := f.Replace[i] + if have[x.Old] { + kill[x.Syntax] = true + continue + } + have[x.Old] = true + } + var repl []*Replace + for _, x := range f.Replace { + if !kill[x.Syntax] { + repl = append(repl, x) + } + } + f.Replace = repl + + var stmts []Expr + for _, stmt := range f.Syntax.Stmt { + switch stmt := stmt.(type) { + case *Line: + if kill[stmt] { + continue + } + case *LineBlock: + var lines []*Line + for _, line := range stmt.Line { + if !kill[line] { + lines = append(lines, line) + } + } + stmt.Line = lines + if len(lines) == 0 { + continue + } + } + stmts = append(stmts, stmt) + } + f.Syntax.Stmt = stmts +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/module/module.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/module/module.go new file mode 100644 index 0000000..3ff6d9b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/module/module.go @@ -0,0 +1,540 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package module defines the module.Version type +// along with support code. +package module + +// IMPORTANT NOTE +// +// This file essentially defines the set of valid import paths for the go command. +// There are many subtle considerations, including Unicode ambiguity, +// security, network, and file system representations. +// +// This file also defines the set of valid module path and version combinations, +// another topic with many subtle considerations. +// +// Changes to the semantics in this file require approval from rsc. + +import ( + "fmt" + "sort" + "strings" + "unicode" + "unicode/utf8" + + "github.com/rogpeppe/go-internal/semver" +) + +// A Version is defined by a module path and version pair. +type Version struct { + Path string + + // Version is usually a semantic version in canonical form. + // There are two exceptions to this general rule. + // First, the top-level target of a build has no specific version + // and uses Version = "". + // Second, during MVS calculations the version "none" is used + // to represent the decision to take no version of a given module. + Version string `json:",omitempty"` +} + +// Check checks that a given module path, version pair is valid. +// In addition to the path being a valid module path +// and the version being a valid semantic version, +// the two must correspond. +// For example, the path "yaml/v2" only corresponds to +// semantic versions beginning with "v2.". +func Check(path, version string) error { + if err := CheckPath(path); err != nil { + return err + } + if !semver.IsValid(version) { + return fmt.Errorf("malformed semantic version %v", version) + } + _, pathMajor, _ := SplitPathVersion(path) + if !MatchPathMajor(version, pathMajor) { + if pathMajor == "" { + pathMajor = "v0 or v1" + } + if pathMajor[0] == '.' { // .v1 + pathMajor = pathMajor[1:] + } + return fmt.Errorf("mismatched module path %v and version %v (want %v)", path, version, pathMajor) + } + return nil +} + +// firstPathOK reports whether r can appear in the first element of a module path. +// The first element of the path must be an LDH domain name, at least for now. +// To avoid case ambiguity, the domain name must be entirely lower case. +func firstPathOK(r rune) bool { + return r == '-' || r == '.' || + '0' <= r && r <= '9' || + 'a' <= r && r <= 'z' +} + +// pathOK reports whether r can appear in an import path element. +// Paths can be ASCII letters, ASCII digits, and limited ASCII punctuation: + - . _ and ~. +// This matches what "go get" has historically recognized in import paths. +// TODO(rsc): We would like to allow Unicode letters, but that requires additional +// care in the safe encoding (see note below). +func pathOK(r rune) bool { + if r < utf8.RuneSelf { + return r == '+' || r == '-' || r == '.' || r == '_' || r == '~' || + '0' <= r && r <= '9' || + 'A' <= r && r <= 'Z' || + 'a' <= r && r <= 'z' + } + return false +} + +// fileNameOK reports whether r can appear in a file name. +// For now we allow all Unicode letters but otherwise limit to pathOK plus a few more punctuation characters. +// If we expand the set of allowed characters here, we have to +// work harder at detecting potential case-folding and normalization collisions. +// See note about "safe encoding" below. +func fileNameOK(r rune) bool { + if r < utf8.RuneSelf { + // Entire set of ASCII punctuation, from which we remove characters: + // ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ + // We disallow some shell special characters: " ' * < > ? ` | + // (Note that some of those are disallowed by the Windows file system as well.) + // We also disallow path separators / : and \ (fileNameOK is only called on path element characters). + // We allow spaces (U+0020) in file names. + const allowed = "!#$%&()+,-.=@[]^_{}~ " + if '0' <= r && r <= '9' || 'A' <= r && r <= 'Z' || 'a' <= r && r <= 'z' { + return true + } + for i := 0; i < len(allowed); i++ { + if rune(allowed[i]) == r { + return true + } + } + return false + } + // It may be OK to add more ASCII punctuation here, but only carefully. + // For example Windows disallows < > \, and macOS disallows :, so we must not allow those. + return unicode.IsLetter(r) +} + +// CheckPath checks that a module path is valid. +func CheckPath(path string) error { + if err := checkPath(path, false); err != nil { + return fmt.Errorf("malformed module path %q: %v", path, err) + } + i := strings.Index(path, "/") + if i < 0 { + i = len(path) + } + if i == 0 { + return fmt.Errorf("malformed module path %q: leading slash", path) + } + if !strings.Contains(path[:i], ".") { + return fmt.Errorf("malformed module path %q: missing dot in first path element", path) + } + if path[0] == '-' { + return fmt.Errorf("malformed module path %q: leading dash in first path element", path) + } + for _, r := range path[:i] { + if !firstPathOK(r) { + return fmt.Errorf("malformed module path %q: invalid char %q in first path element", path, r) + } + } + if _, _, ok := SplitPathVersion(path); !ok { + return fmt.Errorf("malformed module path %q: invalid version", path) + } + return nil +} + +// CheckImportPath checks that an import path is valid. +func CheckImportPath(path string) error { + if err := checkPath(path, false); err != nil { + return fmt.Errorf("malformed import path %q: %v", path, err) + } + return nil +} + +// checkPath checks that a general path is valid. +// It returns an error describing why but not mentioning path. +// Because these checks apply to both module paths and import paths, +// the caller is expected to add the "malformed ___ path %q: " prefix. +// fileName indicates whether the final element of the path is a file name +// (as opposed to a directory name). +func checkPath(path string, fileName bool) error { + if !utf8.ValidString(path) { + return fmt.Errorf("invalid UTF-8") + } + if path == "" { + return fmt.Errorf("empty string") + } + if strings.Contains(path, "..") { + return fmt.Errorf("double dot") + } + if strings.Contains(path, "//") { + return fmt.Errorf("double slash") + } + if path[len(path)-1] == '/' { + return fmt.Errorf("trailing slash") + } + elemStart := 0 + for i, r := range path { + if r == '/' { + if err := checkElem(path[elemStart:i], fileName); err != nil { + return err + } + elemStart = i + 1 + } + } + if err := checkElem(path[elemStart:], fileName); err != nil { + return err + } + return nil +} + +// checkElem checks whether an individual path element is valid. +// fileName indicates whether the element is a file name (not a directory name). +func checkElem(elem string, fileName bool) error { + if elem == "" { + return fmt.Errorf("empty path element") + } + if strings.Count(elem, ".") == len(elem) { + return fmt.Errorf("invalid path element %q", elem) + } + if elem[0] == '.' && !fileName { + return fmt.Errorf("leading dot in path element") + } + if elem[len(elem)-1] == '.' { + return fmt.Errorf("trailing dot in path element") + } + charOK := pathOK + if fileName { + charOK = fileNameOK + } + for _, r := range elem { + if !charOK(r) { + return fmt.Errorf("invalid char %q", r) + } + } + + // Windows disallows a bunch of path elements, sadly. + // See https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file + short := elem + if i := strings.Index(short, "."); i >= 0 { + short = short[:i] + } + for _, bad := range badWindowsNames { + if strings.EqualFold(bad, short) { + return fmt.Errorf("disallowed path element %q", elem) + } + } + return nil +} + +// CheckFilePath checks whether a slash-separated file path is valid. +func CheckFilePath(path string) error { + if err := checkPath(path, true); err != nil { + return fmt.Errorf("malformed file path %q: %v", path, err) + } + return nil +} + +// badWindowsNames are the reserved file path elements on Windows. +// See https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file +var badWindowsNames = []string{ + "CON", + "PRN", + "AUX", + "NUL", + "COM1", + "COM2", + "COM3", + "COM4", + "COM5", + "COM6", + "COM7", + "COM8", + "COM9", + "LPT1", + "LPT2", + "LPT3", + "LPT4", + "LPT5", + "LPT6", + "LPT7", + "LPT8", + "LPT9", +} + +// SplitPathVersion returns prefix and major version such that prefix+pathMajor == path +// and version is either empty or "/vN" for N >= 2. +// As a special case, gopkg.in paths are recognized directly; +// they require ".vN" instead of "/vN", and for all N, not just N >= 2. +func SplitPathVersion(path string) (prefix, pathMajor string, ok bool) { + if strings.HasPrefix(path, "gopkg.in/") { + return splitGopkgIn(path) + } + + i := len(path) + dot := false + for i > 0 && ('0' <= path[i-1] && path[i-1] <= '9' || path[i-1] == '.') { + if path[i-1] == '.' { + dot = true + } + i-- + } + if i <= 1 || path[i-1] != 'v' || path[i-2] != '/' { + return path, "", true + } + prefix, pathMajor = path[:i-2], path[i-2:] + if dot || len(pathMajor) <= 2 || pathMajor[2] == '0' || pathMajor == "/v1" { + return path, "", false + } + return prefix, pathMajor, true +} + +// splitGopkgIn is like SplitPathVersion but only for gopkg.in paths. +func splitGopkgIn(path string) (prefix, pathMajor string, ok bool) { + if !strings.HasPrefix(path, "gopkg.in/") { + return path, "", false + } + i := len(path) + if strings.HasSuffix(path, "-unstable") { + i -= len("-unstable") + } + for i > 0 && ('0' <= path[i-1] && path[i-1] <= '9') { + i-- + } + if i <= 1 || path[i-1] != 'v' || path[i-2] != '.' { + // All gopkg.in paths must end in vN for some N. + return path, "", false + } + prefix, pathMajor = path[:i-2], path[i-2:] + if len(pathMajor) <= 2 || pathMajor[2] == '0' && pathMajor != ".v0" { + return path, "", false + } + return prefix, pathMajor, true +} + +// MatchPathMajor reports whether the semantic version v +// matches the path major version pathMajor. +func MatchPathMajor(v, pathMajor string) bool { + if strings.HasPrefix(pathMajor, ".v") && strings.HasSuffix(pathMajor, "-unstable") { + pathMajor = strings.TrimSuffix(pathMajor, "-unstable") + } + if strings.HasPrefix(v, "v0.0.0-") && pathMajor == ".v1" { + // Allow old bug in pseudo-versions that generated v0.0.0- pseudoversion for gopkg .v1. + // For example, gopkg.in/yaml.v2@v2.2.1's go.mod requires gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405. + return true + } + m := semver.Major(v) + if pathMajor == "" { + return m == "v0" || m == "v1" || semver.Build(v) == "+incompatible" + } + return (pathMajor[0] == '/' || pathMajor[0] == '.') && m == pathMajor[1:] +} + +// CanonicalVersion returns the canonical form of the version string v. +// It is the same as semver.Canonical(v) except that it preserves the special build suffix "+incompatible". +func CanonicalVersion(v string) string { + cv := semver.Canonical(v) + if semver.Build(v) == "+incompatible" { + cv += "+incompatible" + } + return cv +} + +// Sort sorts the list by Path, breaking ties by comparing Versions. +func Sort(list []Version) { + sort.Slice(list, func(i, j int) bool { + mi := list[i] + mj := list[j] + if mi.Path != mj.Path { + return mi.Path < mj.Path + } + // To help go.sum formatting, allow version/file. + // Compare semver prefix by semver rules, + // file by string order. + vi := mi.Version + vj := mj.Version + var fi, fj string + if k := strings.Index(vi, "/"); k >= 0 { + vi, fi = vi[:k], vi[k:] + } + if k := strings.Index(vj, "/"); k >= 0 { + vj, fj = vj[:k], vj[k:] + } + if vi != vj { + return semver.Compare(vi, vj) < 0 + } + return fi < fj + }) +} + +// Safe encodings +// +// Module paths appear as substrings of file system paths +// (in the download cache) and of web server URLs in the proxy protocol. +// In general we cannot rely on file systems to be case-sensitive, +// nor can we rely on web servers, since they read from file systems. +// That is, we cannot rely on the file system to keep rsc.io/QUOTE +// and rsc.io/quote separate. Windows and macOS don't. +// Instead, we must never require two different casings of a file path. +// Because we want the download cache to match the proxy protocol, +// and because we want the proxy protocol to be possible to serve +// from a tree of static files (which might be stored on a case-insensitive +// file system), the proxy protocol must never require two different casings +// of a URL path either. +// +// One possibility would be to make the safe encoding be the lowercase +// hexadecimal encoding of the actual path bytes. This would avoid ever +// needing different casings of a file path, but it would be fairly illegible +// to most programmers when those paths appeared in the file system +// (including in file paths in compiler errors and stack traces) +// in web server logs, and so on. Instead, we want a safe encoding that +// leaves most paths unaltered. +// +// The safe encoding is this: +// replace every uppercase letter with an exclamation mark +// followed by the letter's lowercase equivalent. +// +// For example, +// github.com/Azure/azure-sdk-for-go -> github.com/!azure/azure-sdk-for-go. +// github.com/GoogleCloudPlatform/cloudsql-proxy -> github.com/!google!cloud!platform/cloudsql-proxy +// github.com/Sirupsen/logrus -> github.com/!sirupsen/logrus. +// +// Import paths that avoid upper-case letters are left unchanged. +// Note that because import paths are ASCII-only and avoid various +// problematic punctuation (like : < and >), the safe encoding is also ASCII-only +// and avoids the same problematic punctuation. +// +// Import paths have never allowed exclamation marks, so there is no +// need to define how to encode a literal !. +// +// Although paths are disallowed from using Unicode (see pathOK above), +// the eventual plan is to allow Unicode letters as well, to assume that +// file systems and URLs are Unicode-safe (storing UTF-8), and apply +// the !-for-uppercase convention. Note however that not all runes that +// are different but case-fold equivalent are an upper/lower pair. +// For example, U+004B ('K'), U+006B ('k'), and U+212A ('K' for Kelvin) +// are considered to case-fold to each other. When we do add Unicode +// letters, we must not assume that upper/lower are the only case-equivalent pairs. +// Perhaps the Kelvin symbol would be disallowed entirely, for example. +// Or perhaps it would encode as "!!k", or perhaps as "(212A)". +// +// Also, it would be nice to allow Unicode marks as well as letters, +// but marks include combining marks, and then we must deal not +// only with case folding but also normalization: both U+00E9 ('é') +// and U+0065 U+0301 ('e' followed by combining acute accent) +// look the same on the page and are treated by some file systems +// as the same path. If we do allow Unicode marks in paths, there +// must be some kind of normalization to allow only one canonical +// encoding of any character used in an import path. + +// EncodePath returns the safe encoding of the given module path. +// It fails if the module path is invalid. +func EncodePath(path string) (encoding string, err error) { + if err := CheckPath(path); err != nil { + return "", err + } + + return encodeString(path) +} + +// EncodeVersion returns the safe encoding of the given module version. +// Versions are allowed to be in non-semver form but must be valid file names +// and not contain exclamation marks. +func EncodeVersion(v string) (encoding string, err error) { + if err := checkElem(v, true); err != nil || strings.Contains(v, "!") { + return "", fmt.Errorf("disallowed version string %q", v) + } + return encodeString(v) +} + +func encodeString(s string) (encoding string, err error) { + haveUpper := false + for _, r := range s { + if r == '!' || r >= utf8.RuneSelf { + // This should be disallowed by CheckPath, but diagnose anyway. + // The correctness of the encoding loop below depends on it. + return "", fmt.Errorf("internal error: inconsistency in EncodePath") + } + if 'A' <= r && r <= 'Z' { + haveUpper = true + } + } + + if !haveUpper { + return s, nil + } + + var buf []byte + for _, r := range s { + if 'A' <= r && r <= 'Z' { + buf = append(buf, '!', byte(r+'a'-'A')) + } else { + buf = append(buf, byte(r)) + } + } + return string(buf), nil +} + +// DecodePath returns the module path of the given safe encoding. +// It fails if the encoding is invalid or encodes an invalid path. +func DecodePath(encoding string) (path string, err error) { + path, ok := decodeString(encoding) + if !ok { + return "", fmt.Errorf("invalid module path encoding %q", encoding) + } + if err := CheckPath(path); err != nil { + return "", fmt.Errorf("invalid module path encoding %q: %v", encoding, err) + } + return path, nil +} + +// DecodeVersion returns the version string for the given safe encoding. +// It fails if the encoding is invalid or encodes an invalid version. +// Versions are allowed to be in non-semver form but must be valid file names +// and not contain exclamation marks. +func DecodeVersion(encoding string) (v string, err error) { + v, ok := decodeString(encoding) + if !ok { + return "", fmt.Errorf("invalid version encoding %q", encoding) + } + if err := checkElem(v, true); err != nil { + return "", fmt.Errorf("disallowed version string %q", v) + } + return v, nil +} + +func decodeString(encoding string) (string, bool) { + var buf []byte + + bang := false + for _, r := range encoding { + if r >= utf8.RuneSelf { + return "", false + } + if bang { + bang = false + if r < 'a' || 'z' < r { + return "", false + } + buf = append(buf, byte(r+'A'-'a')) + continue + } + if r == '!' { + bang = true + continue + } + if 'A' <= r && r <= 'Z' { + return "", false + } + buf = append(buf, byte(r)) + } + if bang { + return "", false + } + return string(buf), true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/semver/semver.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/semver/semver.go new file mode 100644 index 0000000..4af7118 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/rogpeppe/go-internal/semver/semver.go @@ -0,0 +1,388 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package semver implements comparison of semantic version strings. +// In this package, semantic version strings must begin with a leading "v", +// as in "v1.0.0". +// +// The general form of a semantic version string accepted by this package is +// +// vMAJOR[.MINOR[.PATCH[-PRERELEASE][+BUILD]]] +// +// where square brackets indicate optional parts of the syntax; +// MAJOR, MINOR, and PATCH are decimal integers without extra leading zeros; +// PRERELEASE and BUILD are each a series of non-empty dot-separated identifiers +// using only alphanumeric characters and hyphens; and +// all-numeric PRERELEASE identifiers must not have leading zeros. +// +// This package follows Semantic Versioning 2.0.0 (see semver.org) +// with two exceptions. First, it requires the "v" prefix. Second, it recognizes +// vMAJOR and vMAJOR.MINOR (with no prerelease or build suffixes) +// as shorthands for vMAJOR.0.0 and vMAJOR.MINOR.0. +package semver + +// parsed returns the parsed form of a semantic version string. +type parsed struct { + major string + minor string + patch string + short string + prerelease string + build string + err string +} + +// IsValid reports whether v is a valid semantic version string. +func IsValid(v string) bool { + _, ok := parse(v) + return ok +} + +// Canonical returns the canonical formatting of the semantic version v. +// It fills in any missing .MINOR or .PATCH and discards build metadata. +// Two semantic versions compare equal only if their canonical formattings +// are identical strings. +// The canonical invalid semantic version is the empty string. +func Canonical(v string) string { + p, ok := parse(v) + if !ok { + return "" + } + if p.build != "" { + return v[:len(v)-len(p.build)] + } + if p.short != "" { + return v + p.short + } + return v +} + +// Major returns the major version prefix of the semantic version v. +// For example, Major("v2.1.0") == "v2". +// If v is an invalid semantic version string, Major returns the empty string. +func Major(v string) string { + pv, ok := parse(v) + if !ok { + return "" + } + return v[:1+len(pv.major)] +} + +// MajorMinor returns the major.minor version prefix of the semantic version v. +// For example, MajorMinor("v2.1.0") == "v2.1". +// If v is an invalid semantic version string, MajorMinor returns the empty string. +func MajorMinor(v string) string { + pv, ok := parse(v) + if !ok { + return "" + } + i := 1 + len(pv.major) + if j := i + 1 + len(pv.minor); j <= len(v) && v[i] == '.' && v[i+1:j] == pv.minor { + return v[:j] + } + return v[:i] + "." + pv.minor +} + +// Prerelease returns the prerelease suffix of the semantic version v. +// For example, Prerelease("v2.1.0-pre+meta") == "-pre". +// If v is an invalid semantic version string, Prerelease returns the empty string. +func Prerelease(v string) string { + pv, ok := parse(v) + if !ok { + return "" + } + return pv.prerelease +} + +// Build returns the build suffix of the semantic version v. +// For example, Build("v2.1.0+meta") == "+meta". +// If v is an invalid semantic version string, Build returns the empty string. +func Build(v string) string { + pv, ok := parse(v) + if !ok { + return "" + } + return pv.build +} + +// Compare returns an integer comparing two versions according to +// according to semantic version precedence. +// The result will be 0 if v == w, -1 if v < w, or +1 if v > w. +// +// An invalid semantic version string is considered less than a valid one. +// All invalid semantic version strings compare equal to each other. +func Compare(v, w string) int { + pv, ok1 := parse(v) + pw, ok2 := parse(w) + if !ok1 && !ok2 { + return 0 + } + if !ok1 { + return -1 + } + if !ok2 { + return +1 + } + if c := compareInt(pv.major, pw.major); c != 0 { + return c + } + if c := compareInt(pv.minor, pw.minor); c != 0 { + return c + } + if c := compareInt(pv.patch, pw.patch); c != 0 { + return c + } + return comparePrerelease(pv.prerelease, pw.prerelease) +} + +// Max canonicalizes its arguments and then returns the version string +// that compares greater. +func Max(v, w string) string { + v = Canonical(v) + w = Canonical(w) + if Compare(v, w) > 0 { + return v + } + return w +} + +func parse(v string) (p parsed, ok bool) { + if v == "" || v[0] != 'v' { + p.err = "missing v prefix" + return + } + p.major, v, ok = parseInt(v[1:]) + if !ok { + p.err = "bad major version" + return + } + if v == "" { + p.minor = "0" + p.patch = "0" + p.short = ".0.0" + return + } + if v[0] != '.' { + p.err = "bad minor prefix" + ok = false + return + } + p.minor, v, ok = parseInt(v[1:]) + if !ok { + p.err = "bad minor version" + return + } + if v == "" { + p.patch = "0" + p.short = ".0" + return + } + if v[0] != '.' { + p.err = "bad patch prefix" + ok = false + return + } + p.patch, v, ok = parseInt(v[1:]) + if !ok { + p.err = "bad patch version" + return + } + if len(v) > 0 && v[0] == '-' { + p.prerelease, v, ok = parsePrerelease(v) + if !ok { + p.err = "bad prerelease" + return + } + } + if len(v) > 0 && v[0] == '+' { + p.build, v, ok = parseBuild(v) + if !ok { + p.err = "bad build" + return + } + } + if v != "" { + p.err = "junk on end" + ok = false + return + } + ok = true + return +} + +func parseInt(v string) (t, rest string, ok bool) { + if v == "" { + return + } + if v[0] < '0' || '9' < v[0] { + return + } + i := 1 + for i < len(v) && '0' <= v[i] && v[i] <= '9' { + i++ + } + if v[0] == '0' && i != 1 { + return + } + return v[:i], v[i:], true +} + +func parsePrerelease(v string) (t, rest string, ok bool) { + // "A pre-release version MAY be denoted by appending a hyphen and + // a series of dot separated identifiers immediately following the patch version. + // Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. + // Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes." + if v == "" || v[0] != '-' { + return + } + i := 1 + start := 1 + for i < len(v) && v[i] != '+' { + if !isIdentChar(v[i]) && v[i] != '.' { + return + } + if v[i] == '.' { + if start == i || isBadNum(v[start:i]) { + return + } + start = i + 1 + } + i++ + } + if start == i || isBadNum(v[start:i]) { + return + } + return v[:i], v[i:], true +} + +func parseBuild(v string) (t, rest string, ok bool) { + if v == "" || v[0] != '+' { + return + } + i := 1 + start := 1 + for i < len(v) { + if !isIdentChar(v[i]) { + return + } + if v[i] == '.' { + if start == i { + return + } + start = i + 1 + } + i++ + } + if start == i { + return + } + return v[:i], v[i:], true +} + +func isIdentChar(c byte) bool { + return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' || c == '-' +} + +func isBadNum(v string) bool { + i := 0 + for i < len(v) && '0' <= v[i] && v[i] <= '9' { + i++ + } + return i == len(v) && i > 1 && v[0] == '0' +} + +func isNum(v string) bool { + i := 0 + for i < len(v) && '0' <= v[i] && v[i] <= '9' { + i++ + } + return i == len(v) +} + +func compareInt(x, y string) int { + if x == y { + return 0 + } + if len(x) < len(y) { + return -1 + } + if len(x) > len(y) { + return +1 + } + if x < y { + return -1 + } else { + return +1 + } +} + +func comparePrerelease(x, y string) int { + // "When major, minor, and patch are equal, a pre-release version has + // lower precedence than a normal version. + // Example: 1.0.0-alpha < 1.0.0. + // Precedence for two pre-release versions with the same major, minor, + // and patch version MUST be determined by comparing each dot separated + // identifier from left to right until a difference is found as follows: + // identifiers consisting of only digits are compared numerically and + // identifiers with letters or hyphens are compared lexically in ASCII + // sort order. Numeric identifiers always have lower precedence than + // non-numeric identifiers. A larger set of pre-release fields has a + // higher precedence than a smaller set, if all of the preceding + // identifiers are equal. + // Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < + // 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0." + if x == y { + return 0 + } + if x == "" { + return +1 + } + if y == "" { + return -1 + } + for x != "" && y != "" { + x = x[1:] // skip - or . + y = y[1:] // skip - or . + var dx, dy string + dx, x = nextIdent(x) + dy, y = nextIdent(y) + if dx != dy { + ix := isNum(dx) + iy := isNum(dy) + if ix != iy { + if ix { + return -1 + } else { + return +1 + } + } + if ix { + if len(dx) < len(dy) { + return -1 + } + if len(dx) > len(dy) { + return +1 + } + } + if dx < dy { + return -1 + } else { + return +1 + } + } + } + if x == "" { + return -1 + } else { + return +1 + } +} + +func nextIdent(x string) (dx, rest string) { + i := 0 + for i < len(x) && x[i] != '.' { + i++ + } + return x[:i], x[i:] +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/LICENSE-APACHE-2.0.txt b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/LICENSE-APACHE-2.0.txt new file mode 100644 index 0000000..55ede8a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/LICENSE-APACHE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 xeipuuv + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/README.md new file mode 100644 index 0000000..0005924 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/README.md @@ -0,0 +1,41 @@ +# gojsonpointer +An implementation of JSON Pointer - Go language + +## Usage + jsonText := `{ + "name": "Bobby B", + "occupation": { + "title" : "King", + "years" : 15, + "heir" : "Joffrey B" + } + }` + + var jsonDocument map[string]interface{} + json.Unmarshal([]byte(jsonText), &jsonDocument) + + //create a JSON pointer + pointerString := "/occupation/title" + pointer, _ := NewJsonPointer(pointerString) + + //SET a new value for the "title" in the document + pointer.Set(jsonDocument, "Supreme Leader of Westeros") + + //GET the new "title" from the document + title, _, _ := pointer.Get(jsonDocument) + fmt.Println(title) //outputs "Supreme Leader of Westeros" + + //DELETE the "heir" from the document + deletePointer := NewJsonPointer("/occupation/heir") + deletePointer.Delete(jsonDocument) + + b, _ := json.Marshal(jsonDocument) + fmt.Println(string(b)) + //outputs `{"name":"Bobby B","occupation":{"title":"Supreme Leader of Westeros","years":15}}` + + +## References +http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 + +### Note +The 4.Evaluation part of the previous reference, starting with 'If the currently referenced value is a JSON array, the reference token MUST contain either...' is not implemented. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/pointer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/pointer.go new file mode 100644 index 0000000..7faf5d7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonpointer/pointer.go @@ -0,0 +1,211 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonpointer +// repository-desc An implementation of JSON Pointer - Go language +// +// description Main and unique file. +// +// created 25-02-2013 + +package gojsonpointer + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "strings" +) + +const ( + const_empty_pointer = `` + const_pointer_separator = `/` + + const_invalid_start = `JSON pointer must be empty or start with a "` + const_pointer_separator + `"` +) + +type implStruct struct { + mode string // "SET" or "GET" + + inDocument interface{} + + setInValue interface{} + + getOutNode interface{} + getOutKind reflect.Kind + outError error +} + +type JsonPointer struct { + referenceTokens []string +} + +// NewJsonPointer parses the given string JSON pointer and returns an object +func NewJsonPointer(jsonPointerString string) (p JsonPointer, err error) { + + // Pointer to the root of the document + if len(jsonPointerString) == 0 { + // Keep referenceTokens nil + return + } + if jsonPointerString[0] != '/' { + return p, errors.New(const_invalid_start) + } + + p.referenceTokens = strings.Split(jsonPointerString[1:], const_pointer_separator) + return +} + +// Uses the pointer to retrieve a value from a JSON document +func (p *JsonPointer) Get(document interface{}) (interface{}, reflect.Kind, error) { + + is := &implStruct{mode: "GET", inDocument: document} + p.implementation(is) + return is.getOutNode, is.getOutKind, is.outError + +} + +// Uses the pointer to update a value from a JSON document +func (p *JsonPointer) Set(document interface{}, value interface{}) (interface{}, error) { + + is := &implStruct{mode: "SET", inDocument: document, setInValue: value} + p.implementation(is) + return document, is.outError + +} + +// Uses the pointer to delete a value from a JSON document +func (p *JsonPointer) Delete(document interface{}) (interface{}, error) { + is := &implStruct{mode: "DEL", inDocument: document} + p.implementation(is) + return document, is.outError +} + +// Both Get and Set functions use the same implementation to avoid code duplication +func (p *JsonPointer) implementation(i *implStruct) { + + kind := reflect.Invalid + + // Full document when empty + if len(p.referenceTokens) == 0 { + i.getOutNode = i.inDocument + i.outError = nil + i.getOutKind = kind + i.outError = nil + return + } + + node := i.inDocument + + previousNodes := make([]interface{}, len(p.referenceTokens)) + previousTokens := make([]string, len(p.referenceTokens)) + + for ti, token := range p.referenceTokens { + + isLastToken := ti == len(p.referenceTokens)-1 + previousNodes[ti] = node + previousTokens[ti] = token + + switch v := node.(type) { + + case map[string]interface{}: + decodedToken := decodeReferenceToken(token) + if _, ok := v[decodedToken]; ok { + node = v[decodedToken] + if isLastToken && i.mode == "SET" { + v[decodedToken] = i.setInValue + } else if isLastToken && i.mode =="DEL" { + delete(v,decodedToken) + } + } else if (isLastToken && i.mode == "SET") { + v[decodedToken] = i.setInValue + } else { + i.outError = fmt.Errorf("Object has no key '%s'", decodedToken) + i.getOutKind = reflect.Map + i.getOutNode = nil + return + } + + case []interface{}: + tokenIndex, err := strconv.Atoi(token) + if err != nil { + i.outError = fmt.Errorf("Invalid array index '%s'", token) + i.getOutKind = reflect.Slice + i.getOutNode = nil + return + } + if tokenIndex < 0 || tokenIndex >= len(v) { + i.outError = fmt.Errorf("Out of bound array[0,%d] index '%d'", len(v), tokenIndex) + i.getOutKind = reflect.Slice + i.getOutNode = nil + return + } + + node = v[tokenIndex] + if isLastToken && i.mode == "SET" { + v[tokenIndex] = i.setInValue + } else if isLastToken && i.mode =="DEL" { + v[tokenIndex] = v[len(v)-1] + v[len(v)-1] = nil + v = v[:len(v)-1] + previousNodes[ti-1].(map[string]interface{})[previousTokens[ti-1]] = v + } + + default: + i.outError = fmt.Errorf("Invalid token reference '%s'", token) + i.getOutKind = reflect.ValueOf(node).Kind() + i.getOutNode = nil + return + } + + } + + i.getOutNode = node + i.getOutKind = reflect.ValueOf(node).Kind() + i.outError = nil +} + +// Pointer to string representation function +func (p *JsonPointer) String() string { + + if len(p.referenceTokens) == 0 { + return const_empty_pointer + } + + pointerString := const_pointer_separator + strings.Join(p.referenceTokens, const_pointer_separator) + + return pointerString +} + +// Specific JSON pointer encoding here +// ~0 => ~ +// ~1 => / +// ... and vice versa + +func decodeReferenceToken(token string) string { + step1 := strings.Replace(token, `~1`, `/`, -1) + step2 := strings.Replace(step1, `~0`, `~`, -1) + return step2 +} + +func encodeReferenceToken(token string) string { + step1 := strings.Replace(token, `~`, `~0`, -1) + step2 := strings.Replace(step1, `/`, `~1`, -1) + return step2 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/LICENSE-APACHE-2.0.txt b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/LICENSE-APACHE-2.0.txt new file mode 100644 index 0000000..55ede8a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/LICENSE-APACHE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 xeipuuv + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/README.md new file mode 100644 index 0000000..9ab6e1e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/README.md @@ -0,0 +1,10 @@ +# gojsonreference +An implementation of JSON Reference - Go language + +## Dependencies +https://github.com/xeipuuv/gojsonpointer + +## References +http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 + +http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/reference.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/reference.go new file mode 100644 index 0000000..6457291 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonreference/reference.go @@ -0,0 +1,147 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonreference +// repository-desc An implementation of JSON Reference - Go language +// +// description Main and unique file. +// +// created 26-02-2013 + +package gojsonreference + +import ( + "errors" + "net/url" + "path/filepath" + "runtime" + "strings" + + "github.com/xeipuuv/gojsonpointer" +) + +const ( + const_fragment_char = `#` +) + +func NewJsonReference(jsonReferenceString string) (JsonReference, error) { + + var r JsonReference + err := r.parse(jsonReferenceString) + return r, err + +} + +type JsonReference struct { + referenceUrl *url.URL + referencePointer gojsonpointer.JsonPointer + + HasFullUrl bool + HasUrlPathOnly bool + HasFragmentOnly bool + HasFileScheme bool + HasFullFilePath bool +} + +func (r *JsonReference) GetUrl() *url.URL { + return r.referenceUrl +} + +func (r *JsonReference) GetPointer() *gojsonpointer.JsonPointer { + return &r.referencePointer +} + +func (r *JsonReference) String() string { + + if r.referenceUrl != nil { + return r.referenceUrl.String() + } + + if r.HasFragmentOnly { + return const_fragment_char + r.referencePointer.String() + } + + return r.referencePointer.String() +} + +func (r *JsonReference) IsCanonical() bool { + return (r.HasFileScheme && r.HasFullFilePath) || (!r.HasFileScheme && r.HasFullUrl) +} + +// "Constructor", parses the given string JSON reference +func (r *JsonReference) parse(jsonReferenceString string) (err error) { + + r.referenceUrl, err = url.Parse(jsonReferenceString) + if err != nil { + return + } + refUrl := r.referenceUrl + + if refUrl.Scheme != "" && refUrl.Host != "" { + r.HasFullUrl = true + } else { + if refUrl.Path != "" { + r.HasUrlPathOnly = true + } else if refUrl.RawQuery == "" && refUrl.Fragment != "" { + r.HasFragmentOnly = true + } + } + + r.HasFileScheme = refUrl.Scheme == "file" + if runtime.GOOS == "windows" { + // on Windows, a file URL may have an extra leading slash, and if it + // doesn't then its first component will be treated as the host by the + // Go runtime + if refUrl.Host == "" && strings.HasPrefix(refUrl.Path, "/") { + r.HasFullFilePath = filepath.IsAbs(refUrl.Path[1:]) + } else { + r.HasFullFilePath = filepath.IsAbs(refUrl.Host + refUrl.Path) + } + } else { + r.HasFullFilePath = filepath.IsAbs(refUrl.Path) + } + + // invalid json-pointer error means url has no json-pointer fragment. simply ignore error + r.referencePointer, _ = gojsonpointer.NewJsonPointer(refUrl.Fragment) + + return +} + +// Creates a new reference from a parent and a child +// If the child cannot inherit from the parent, an error is returned +func (r *JsonReference) Inherits(child JsonReference) (*JsonReference, error) { + if child.GetUrl() == nil { + return nil, errors.New("childUrl is nil!") + } + + if r.GetUrl() == nil { + return nil, errors.New("parentUrl is nil!") + } + + // Get a copy of the parent url to make sure we do not modify the original. + // URL reference resolving fails if the fragment of the child is empty, but the parent's is not. + // The fragment of the child must be used, so the fragment of the parent is manually removed. + parentUrl := *r.GetUrl() + parentUrl.Fragment = "" + + ref, err := NewJsonReference(parentUrl.ResolveReference(child.GetUrl()).String()) + if err != nil { + return nil, err + } + return &ref, err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.gitignore new file mode 100644 index 0000000..68e993c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.gitignore @@ -0,0 +1,3 @@ +*.sw[nop] +*.iml +.vscode/ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.travis.yml new file mode 100644 index 0000000..3289001 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/.travis.yml @@ -0,0 +1,9 @@ +language: go +go: + - "1.11" + - "1.12" + - "1.13" +before_install: + - go get github.com/xeipuuv/gojsonreference + - go get github.com/xeipuuv/gojsonpointer + - go get github.com/stretchr/testify/assert diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/LICENSE-APACHE-2.0.txt b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/LICENSE-APACHE-2.0.txt new file mode 100644 index 0000000..55ede8a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/LICENSE-APACHE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 xeipuuv + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/README.md new file mode 100644 index 0000000..758f26d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/README.md @@ -0,0 +1,466 @@ +[![GoDoc](https://godoc.org/github.com/xeipuuv/gojsonschema?status.svg)](https://godoc.org/github.com/xeipuuv/gojsonschema) +[![Build Status](https://travis-ci.org/xeipuuv/gojsonschema.svg)](https://travis-ci.org/xeipuuv/gojsonschema) +[![Go Report Card](https://goreportcard.com/badge/github.com/xeipuuv/gojsonschema)](https://goreportcard.com/report/github.com/xeipuuv/gojsonschema) + +# gojsonschema + +## Description + +An implementation of JSON Schema for the Go programming language. Supports draft-04, draft-06 and draft-07. + +References : + +* http://json-schema.org +* http://json-schema.org/latest/json-schema-core.html +* http://json-schema.org/latest/json-schema-validation.html + +## Installation + +``` +go get github.com/xeipuuv/gojsonschema +``` + +Dependencies : +* [github.com/xeipuuv/gojsonpointer](https://github.com/xeipuuv/gojsonpointer) +* [github.com/xeipuuv/gojsonreference](https://github.com/xeipuuv/gojsonreference) +* [github.com/stretchr/testify/assert](https://github.com/stretchr/testify#assert-package) + +## Usage + +### Example + +```go + +package main + +import ( + "fmt" + "github.com/xeipuuv/gojsonschema" +) + +func main() { + + schemaLoader := gojsonschema.NewReferenceLoader("file:///home/me/schema.json") + documentLoader := gojsonschema.NewReferenceLoader("file:///home/me/document.json") + + result, err := gojsonschema.Validate(schemaLoader, documentLoader) + if err != nil { + panic(err.Error()) + } + + if result.Valid() { + fmt.Printf("The document is valid\n") + } else { + fmt.Printf("The document is not valid. see errors :\n") + for _, desc := range result.Errors() { + fmt.Printf("- %s\n", desc) + } + } +} + + +``` + +#### Loaders + +There are various ways to load your JSON data. +In order to load your schemas and documents, +first declare an appropriate loader : + +* Web / HTTP, using a reference : + +```go +loader := gojsonschema.NewReferenceLoader("http://www.some_host.com/schema.json") +``` + +* Local file, using a reference : + +```go +loader := gojsonschema.NewReferenceLoader("file:///home/me/schema.json") +``` + +References use the URI scheme, the prefix (file://) and a full path to the file are required. + +* JSON strings : + +```go +loader := gojsonschema.NewStringLoader(`{"type": "string"}`) +``` + +* Custom Go types : + +```go +m := map[string]interface{}{"type": "string"} +loader := gojsonschema.NewGoLoader(m) +``` + +And + +```go +type Root struct { + Users []User `json:"users"` +} + +type User struct { + Name string `json:"name"` +} + +... + +data := Root{} +data.Users = append(data.Users, User{"John"}) +data.Users = append(data.Users, User{"Sophia"}) +data.Users = append(data.Users, User{"Bill"}) + +loader := gojsonschema.NewGoLoader(data) +``` + +#### Validation + +Once the loaders are set, validation is easy : + +```go +result, err := gojsonschema.Validate(schemaLoader, documentLoader) +``` + +Alternatively, you might want to load a schema only once and process to multiple validations : + +```go +schema, err := gojsonschema.NewSchema(schemaLoader) +... +result1, err := schema.Validate(documentLoader1) +... +result2, err := schema.Validate(documentLoader2) +... +// etc ... +``` + +To check the result : + +```go + if result.Valid() { + fmt.Printf("The document is valid\n") + } else { + fmt.Printf("The document is not valid. see errors :\n") + for _, err := range result.Errors() { + // Err implements the ResultError interface + fmt.Printf("- %s\n", err) + } + } +``` + + +## Loading local schemas + +By default `file` and `http(s)` references to external schemas are loaded automatically via the file system or via http(s). An external schema can also be loaded using a `SchemaLoader`. + +```go + sl := gojsonschema.NewSchemaLoader() + loader1 := gojsonschema.NewStringLoader(`{ "type" : "string" }`) + err := sl.AddSchema("http://some_host.com/string.json", loader1) +``` + +Alternatively if your schema already has an `$id` you can use the `AddSchemas` function +```go + loader2 := gojsonschema.NewStringLoader(`{ + "$id" : "http://some_host.com/maxlength.json", + "maxLength" : 5 + }`) + err = sl.AddSchemas(loader2) +``` + +The main schema should be passed to the `Compile` function. This main schema can then directly reference the added schemas without needing to download them. +```go + loader3 := gojsonschema.NewStringLoader(`{ + "$id" : "http://some_host.com/main.json", + "allOf" : [ + { "$ref" : "http://some_host.com/string.json" }, + { "$ref" : "http://some_host.com/maxlength.json" } + ] + }`) + + schema, err := sl.Compile(loader3) + + documentLoader := gojsonschema.NewStringLoader(`"hello world"`) + + result, err := schema.Validate(documentLoader) +``` + +It's also possible to pass a `ReferenceLoader` to the `Compile` function that references a loaded schema. + +```go +err = sl.AddSchemas(loader3) +schema, err := sl.Compile(gojsonschema.NewReferenceLoader("http://some_host.com/main.json")) +``` + +Schemas added by `AddSchema` and `AddSchemas` are only validated when the entire schema is compiled, unless meta-schema validation is used. + +## Using a specific draft +By default `gojsonschema` will try to detect the draft of a schema by using the `$schema` keyword and parse it in a strict draft-04, draft-06 or draft-07 mode. If `$schema` is missing, or the draft version is not explicitely set, a hybrid mode is used which merges together functionality of all drafts into one mode. + +Autodectection can be turned off with the `AutoDetect` property. Specific draft versions can be specified with the `Draft` property. + +```go +sl := gojsonschema.NewSchemaLoader() +sl.Draft = gojsonschema.Draft7 +sl.AutoDetect = false +``` + +If autodetection is on (default), a draft-07 schema can savely reference draft-04 schemas and vice-versa, as long as `$schema` is specified in all schemas. + +## Meta-schema validation +Schemas that are added using the `AddSchema`, `AddSchemas` and `Compile` can be validated against their meta-schema by setting the `Validate` property. + +The following example will produce an error as `multipleOf` must be a number. If `Validate` is off (default), this error is only returned at the `Compile` step. + +```go +sl := gojsonschema.NewSchemaLoader() +sl.Validate = true +err := sl.AddSchemas(gojsonschema.NewStringLoader(`{ + $id" : "http://some_host.com/invalid.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "multipleOf" : true +}`)) + ``` +``` + ``` + +Errors returned by meta-schema validation are more readable and contain more information, which helps significantly if you are developing a schema. + +Meta-schema validation also works with a custom `$schema`. In case `$schema` is missing, or `AutoDetect` is set to `false`, the meta-schema of the used draft is used. + + +## Working with Errors + +The library handles string error codes which you can customize by creating your own gojsonschema.locale and setting it +```go +gojsonschema.Locale = YourCustomLocale{} +``` + +However, each error contains additional contextual information. + +Newer versions of `gojsonschema` may have new additional errors, so code that uses a custom locale will need to be updated when this happens. + +**err.Type()**: *string* Returns the "type" of error that occurred. Note you can also type check. See below + +Note: An error of RequiredType has an err.Type() return value of "required" + + "required": RequiredError + "invalid_type": InvalidTypeError + "number_any_of": NumberAnyOfError + "number_one_of": NumberOneOfError + "number_all_of": NumberAllOfError + "number_not": NumberNotError + "missing_dependency": MissingDependencyError + "internal": InternalError + "const": ConstEror + "enum": EnumError + "array_no_additional_items": ArrayNoAdditionalItemsError + "array_min_items": ArrayMinItemsError + "array_max_items": ArrayMaxItemsError + "unique": ItemsMustBeUniqueError + "contains" : ArrayContainsError + "array_min_properties": ArrayMinPropertiesError + "array_max_properties": ArrayMaxPropertiesError + "additional_property_not_allowed": AdditionalPropertyNotAllowedError + "invalid_property_pattern": InvalidPropertyPatternError + "invalid_property_name": InvalidPropertyNameError + "string_gte": StringLengthGTEError + "string_lte": StringLengthLTEError + "pattern": DoesNotMatchPatternError + "multiple_of": MultipleOfError + "number_gte": NumberGTEError + "number_gt": NumberGTError + "number_lte": NumberLTEError + "number_lt": NumberLTError + "condition_then" : ConditionThenError + "condition_else" : ConditionElseError + +**err.Value()**: *interface{}* Returns the value given + +**err.Context()**: *gojsonschema.JsonContext* Returns the context. This has a String() method that will print something like this: (root).firstName + +**err.Field()**: *string* Returns the fieldname in the format firstName, or for embedded properties, person.firstName. This returns the same as the String() method on *err.Context()* but removes the (root). prefix. + +**err.Description()**: *string* The error description. This is based on the locale you are using. See the beginning of this section for overwriting the locale with a custom implementation. + +**err.DescriptionFormat()**: *string* The error description format. This is relevant if you are adding custom validation errors afterwards to the result. + +**err.Details()**: *gojsonschema.ErrorDetails* Returns a map[string]interface{} of additional error details specific to the error. For example, GTE errors will have a "min" value, LTE will have a "max" value. See errors.go for a full description of all the error details. Every error always contains a "field" key that holds the value of *err.Field()* + +Note in most cases, the err.Details() will be used to generate replacement strings in your locales, and not used directly. These strings follow the text/template format i.e. +``` +{{.field}} must be greater than or equal to {{.min}} +``` + +The library allows you to specify custom template functions, should you require more complex error message handling. +```go +gojsonschema.ErrorTemplateFuncs = map[string]interface{}{ + "allcaps": func(s string) string { + return strings.ToUpper(s) + }, +} +``` + +Given the above definition, you can use the custom function `"allcaps"` in your localization templates: +``` +{{allcaps .field}} must be greater than or equal to {{.min}} +``` + +The above error message would then be rendered with the `field` value in capital letters. For example: +``` +"PASSWORD must be greater than or equal to 8" +``` + +Learn more about what types of template functions you can use in `ErrorTemplateFuncs` by referring to Go's [text/template FuncMap](https://golang.org/pkg/text/template/#FuncMap) type. + +## Formats +JSON Schema allows for optional "format" property to validate instances against well-known formats. gojsonschema ships with all of the formats defined in the spec that you can use like this: + +````json +{"type": "string", "format": "email"} +```` + +Not all formats defined in draft-07 are available. Implemented formats are: + +* `date` +* `time` +* `date-time` +* `hostname`. Subdomains that start with a number are also supported, but this means that it doesn't strictly follow [RFC1034](http://tools.ietf.org/html/rfc1034#section-3.5) and has the implication that ipv4 addresses are also recognized as valid hostnames. +* `email`. Go's email parser deviates slightly from [RFC5322](https://tools.ietf.org/html/rfc5322). Includes unicode support. +* `idn-email`. Same caveat as `email`. +* `ipv4` +* `ipv6` +* `uri`. Includes unicode support. +* `uri-reference`. Includes unicode support. +* `iri` +* `iri-reference` +* `uri-template` +* `uuid` +* `regex`. Go uses the [RE2](https://github.com/google/re2/wiki/Syntax) engine and is not [ECMA262](http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf) compatible. +* `json-pointer` +* `relative-json-pointer` + +`email`, `uri` and `uri-reference` use the same validation code as their unicode counterparts `idn-email`, `iri` and `iri-reference`. If you rely on unicode support you should use the specific +unicode enabled formats for the sake of interoperability as other implementations might not support unicode in the regular formats. + +The validation code for `uri`, `idn-email` and their relatives use mostly standard library code. + +For repetitive or more complex formats, you can create custom format checkers and add them to gojsonschema like this: + +```go +// Define the format checker +type RoleFormatChecker struct {} + +// Ensure it meets the gojsonschema.FormatChecker interface +func (f RoleFormatChecker) IsFormat(input interface{}) bool { + + asString, ok := input.(string) + if ok == false { + return false + } + + return strings.HasPrefix("ROLE_", asString) +} + +// Add it to the library +gojsonschema.FormatCheckers.Add("role", RoleFormatChecker{}) +```` + +Now to use in your json schema: +````json +{"type": "string", "format": "role"} +```` + +Another example would be to check if the provided integer matches an id on database: + +JSON schema: +```json +{"type": "integer", "format": "ValidUserId"} +``` + +```go +// Define the format checker +type ValidUserIdFormatChecker struct {} + +// Ensure it meets the gojsonschema.FormatChecker interface +func (f ValidUserIdFormatChecker) IsFormat(input interface{}) bool { + + asFloat64, ok := input.(float64) // Numbers are always float64 here + if ok == false { + return false + } + + // XXX + // do the magic on the database looking for the int(asFloat64) + + return true +} + +// Add it to the library +gojsonschema.FormatCheckers.Add("ValidUserId", ValidUserIdFormatChecker{}) +```` + +Formats can also be removed, for example if you want to override one of the formats that is defined by default. + +```go +gojsonschema.FormatCheckers.Remove("hostname") +``` + + +## Additional custom validation +After the validation has run and you have the results, you may add additional +errors using `Result.AddError`. This is useful to maintain the same format within the resultset instead +of having to add special exceptions for your own errors. Below is an example. + +```go +type AnswerInvalidError struct { + gojsonschema.ResultErrorFields +} + +func newAnswerInvalidError(context *gojsonschema.JsonContext, value interface{}, details gojsonschema.ErrorDetails) *AnswerInvalidError { + err := AnswerInvalidError{} + err.SetContext(context) + err.SetType("custom_invalid_error") + // it is important to use SetDescriptionFormat() as this is used to call SetDescription() after it has been parsed + // using the description of err will be overridden by this. + err.SetDescriptionFormat("Answer to the Ultimate Question of Life, the Universe, and Everything is {{.answer}}") + err.SetValue(value) + err.SetDetails(details) + + return &err +} + +func main() { + // ... + schema, err := gojsonschema.NewSchema(schemaLoader) + result, err := gojsonschema.Validate(schemaLoader, documentLoader) + + if true { // some validation + jsonContext := gojsonschema.NewJsonContext("question", nil) + errDetail := gojsonschema.ErrorDetails{ + "answer": 42, + } + result.AddError( + newAnswerInvalidError( + gojsonschema.NewJsonContext("answer", jsonContext), + 52, + errDetail, + ), + errDetail, + ) + } + + return result, err + +} +``` + +This is especially useful if you want to add validation beyond what the +json schema drafts can provide such business specific logic. + +## Uses + +gojsonschema uses the following test suite : + +https://github.com/json-schema/JSON-Schema-Test-Suite diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/draft.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/draft.go new file mode 100644 index 0000000..61298e7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/draft.go @@ -0,0 +1,125 @@ +// Copyright 2018 johandorland ( https://github.com/johandorland ) +// +// 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. + +package gojsonschema + +import ( + "errors" + "math" + "reflect" + + "github.com/xeipuuv/gojsonreference" +) + +// Draft is a JSON-schema draft version +type Draft int + +// Supported Draft versions +const ( + Draft4 Draft = 4 + Draft6 Draft = 6 + Draft7 Draft = 7 + Hybrid Draft = math.MaxInt32 +) + +type draftConfig struct { + Version Draft + MetaSchemaURL string + MetaSchema string +} +type draftConfigs []draftConfig + +var drafts draftConfigs + +func init() { + drafts = []draftConfig{ + { + Version: Draft4, + MetaSchemaURL: "http://json-schema.org/draft-04/schema", + MetaSchema: `{"id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-04/schema#","description":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"positiveInteger":{"type":"integer","minimum":0},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true}},"type":"object","properties":{"id":{"type":"string"},"$schema":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"multipleOf":{"type":"number","minimum":0,"exclusiveMinimum":true},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"$ref":"#/definitions/positiveInteger"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/positiveInteger"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]},"default":{}}`, + }, + { + Version: Draft6, + MetaSchemaURL: "http://json-schema.org/draft-06/schema", + MetaSchema: `{"$schema":"http://json-schema.org/draft-06/schema#","$id":"http://json-schema.org/draft-06/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"examples":{"type":"array","items":{}},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":{},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}`, + }, + { + Version: Draft7, + MetaSchemaURL: "http://json-schema.org/draft-07/schema", + MetaSchema: `{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}`, + }, + } +} + +func (dc draftConfigs) GetMetaSchema(url string) string { + for _, config := range dc { + if config.MetaSchemaURL == url { + return config.MetaSchema + } + } + return "" +} +func (dc draftConfigs) GetDraftVersion(url string) *Draft { + for _, config := range dc { + if config.MetaSchemaURL == url { + return &config.Version + } + } + return nil +} +func (dc draftConfigs) GetSchemaURL(draft Draft) string { + for _, config := range dc { + if config.Version == draft { + return config.MetaSchemaURL + } + } + return "" +} + +func parseSchemaURL(documentNode interface{}) (string, *Draft, error) { + + if isKind(documentNode, reflect.Bool) { + return "", nil, nil + } + + if !isKind(documentNode, reflect.Map) { + return "", nil, errors.New("schema is invalid") + } + + m := documentNode.(map[string]interface{}) + + if existsMapKey(m, KEY_SCHEMA) { + if !isKind(m[KEY_SCHEMA], reflect.String) { + return "", nil, errors.New(formatErrorDescription( + Locale.MustBeOfType(), + ErrorDetails{ + "key": KEY_SCHEMA, + "type": TYPE_STRING, + }, + )) + } + + schemaReference, err := gojsonreference.NewJsonReference(m[KEY_SCHEMA].(string)) + + if err != nil { + return "", nil, err + } + + schema := schemaReference.String() + + return schema, drafts.GetDraftVersion(schema), nil + } + + return "", nil, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/errors.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/errors.go new file mode 100644 index 0000000..e4e9814 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/errors.go @@ -0,0 +1,364 @@ +package gojsonschema + +import ( + "bytes" + "sync" + "text/template" +) + +var errorTemplates = errorTemplate{template.New("errors-new"), sync.RWMutex{}} + +// template.Template is not thread-safe for writing, so some locking is done +// sync.RWMutex is used for efficiently locking when new templates are created +type errorTemplate struct { + *template.Template + sync.RWMutex +} + +type ( + + // FalseError. ErrorDetails: - + FalseError struct { + ResultErrorFields + } + + // RequiredError indicates that a required field is missing + // ErrorDetails: property string + RequiredError struct { + ResultErrorFields + } + + // InvalidTypeError indicates that a field has the incorrect type + // ErrorDetails: expected, given + InvalidTypeError struct { + ResultErrorFields + } + + // NumberAnyOfError is produced in case of a failing "anyOf" validation + // ErrorDetails: - + NumberAnyOfError struct { + ResultErrorFields + } + + // NumberOneOfError is produced in case of a failing "oneOf" validation + // ErrorDetails: - + NumberOneOfError struct { + ResultErrorFields + } + + // NumberAllOfError is produced in case of a failing "allOf" validation + // ErrorDetails: - + NumberAllOfError struct { + ResultErrorFields + } + + // NumberNotError is produced if a "not" validation failed + // ErrorDetails: - + NumberNotError struct { + ResultErrorFields + } + + // MissingDependencyError is produced in case of a "missing dependency" problem + // ErrorDetails: dependency + MissingDependencyError struct { + ResultErrorFields + } + + // InternalError indicates an internal error + // ErrorDetails: error + InternalError struct { + ResultErrorFields + } + + // ConstError indicates a const error + // ErrorDetails: allowed + ConstError struct { + ResultErrorFields + } + + // EnumError indicates an enum error + // ErrorDetails: allowed + EnumError struct { + ResultErrorFields + } + + // ArrayNoAdditionalItemsError is produced if additional items were found, but not allowed + // ErrorDetails: - + ArrayNoAdditionalItemsError struct { + ResultErrorFields + } + + // ArrayMinItemsError is produced if an array contains less items than the allowed minimum + // ErrorDetails: min + ArrayMinItemsError struct { + ResultErrorFields + } + + // ArrayMaxItemsError is produced if an array contains more items than the allowed maximum + // ErrorDetails: max + ArrayMaxItemsError struct { + ResultErrorFields + } + + // ItemsMustBeUniqueError is produced if an array requires unique items, but contains non-unique items + // ErrorDetails: type, i, j + ItemsMustBeUniqueError struct { + ResultErrorFields + } + + // ArrayContainsError is produced if an array contains invalid items + // ErrorDetails: + ArrayContainsError struct { + ResultErrorFields + } + + // ArrayMinPropertiesError is produced if an object contains less properties than the allowed minimum + // ErrorDetails: min + ArrayMinPropertiesError struct { + ResultErrorFields + } + + // ArrayMaxPropertiesError is produced if an object contains more properties than the allowed maximum + // ErrorDetails: max + ArrayMaxPropertiesError struct { + ResultErrorFields + } + + // AdditionalPropertyNotAllowedError is produced if an object has additional properties, but not allowed + // ErrorDetails: property + AdditionalPropertyNotAllowedError struct { + ResultErrorFields + } + + // InvalidPropertyPatternError is produced if an pattern was found + // ErrorDetails: property, pattern + InvalidPropertyPatternError struct { + ResultErrorFields + } + + // InvalidPropertyNameError is produced if an invalid-named property was found + // ErrorDetails: property + InvalidPropertyNameError struct { + ResultErrorFields + } + + // StringLengthGTEError is produced if a string is shorter than the minimum required length + // ErrorDetails: min + StringLengthGTEError struct { + ResultErrorFields + } + + // StringLengthLTEError is produced if a string is longer than the maximum allowed length + // ErrorDetails: max + StringLengthLTEError struct { + ResultErrorFields + } + + // DoesNotMatchPatternError is produced if a string does not match the defined pattern + // ErrorDetails: pattern + DoesNotMatchPatternError struct { + ResultErrorFields + } + + // DoesNotMatchFormatError is produced if a string does not match the defined format + // ErrorDetails: format + DoesNotMatchFormatError struct { + ResultErrorFields + } + + // MultipleOfError is produced if a number is not a multiple of the defined multipleOf + // ErrorDetails: multiple + MultipleOfError struct { + ResultErrorFields + } + + // NumberGTEError is produced if a number is lower than the allowed minimum + // ErrorDetails: min + NumberGTEError struct { + ResultErrorFields + } + + // NumberGTError is produced if a number is lower than, or equal to the specified minimum, and exclusiveMinimum is set + // ErrorDetails: min + NumberGTError struct { + ResultErrorFields + } + + // NumberLTEError is produced if a number is higher than the allowed maximum + // ErrorDetails: max + NumberLTEError struct { + ResultErrorFields + } + + // NumberLTError is produced if a number is higher than, or equal to the specified maximum, and exclusiveMaximum is set + // ErrorDetails: max + NumberLTError struct { + ResultErrorFields + } + + // ConditionThenError is produced if a condition's "then" validation is invalid + // ErrorDetails: - + ConditionThenError struct { + ResultErrorFields + } + + // ConditionElseError is produced if a condition's "else" condition is invalid + // ErrorDetails: - + ConditionElseError struct { + ResultErrorFields + } +) + +// newError takes a ResultError type and sets the type, context, description, details, value, and field +func newError(err ResultError, context *JsonContext, value interface{}, locale locale, details ErrorDetails) { + var t string + var d string + switch err.(type) { + case *FalseError: + t = "false" + d = locale.False() + case *RequiredError: + t = "required" + d = locale.Required() + case *InvalidTypeError: + t = "invalid_type" + d = locale.InvalidType() + case *NumberAnyOfError: + t = "number_any_of" + d = locale.NumberAnyOf() + case *NumberOneOfError: + t = "number_one_of" + d = locale.NumberOneOf() + case *NumberAllOfError: + t = "number_all_of" + d = locale.NumberAllOf() + case *NumberNotError: + t = "number_not" + d = locale.NumberNot() + case *MissingDependencyError: + t = "missing_dependency" + d = locale.MissingDependency() + case *InternalError: + t = "internal" + d = locale.Internal() + case *ConstError: + t = "const" + d = locale.Const() + case *EnumError: + t = "enum" + d = locale.Enum() + case *ArrayNoAdditionalItemsError: + t = "array_no_additional_items" + d = locale.ArrayNoAdditionalItems() + case *ArrayMinItemsError: + t = "array_min_items" + d = locale.ArrayMinItems() + case *ArrayMaxItemsError: + t = "array_max_items" + d = locale.ArrayMaxItems() + case *ItemsMustBeUniqueError: + t = "unique" + d = locale.Unique() + case *ArrayContainsError: + t = "contains" + d = locale.ArrayContains() + case *ArrayMinPropertiesError: + t = "array_min_properties" + d = locale.ArrayMinProperties() + case *ArrayMaxPropertiesError: + t = "array_max_properties" + d = locale.ArrayMaxProperties() + case *AdditionalPropertyNotAllowedError: + t = "additional_property_not_allowed" + d = locale.AdditionalPropertyNotAllowed() + case *InvalidPropertyPatternError: + t = "invalid_property_pattern" + d = locale.InvalidPropertyPattern() + case *InvalidPropertyNameError: + t = "invalid_property_name" + d = locale.InvalidPropertyName() + case *StringLengthGTEError: + t = "string_gte" + d = locale.StringGTE() + case *StringLengthLTEError: + t = "string_lte" + d = locale.StringLTE() + case *DoesNotMatchPatternError: + t = "pattern" + d = locale.DoesNotMatchPattern() + case *DoesNotMatchFormatError: + t = "format" + d = locale.DoesNotMatchFormat() + case *MultipleOfError: + t = "multiple_of" + d = locale.MultipleOf() + case *NumberGTEError: + t = "number_gte" + d = locale.NumberGTE() + case *NumberGTError: + t = "number_gt" + d = locale.NumberGT() + case *NumberLTEError: + t = "number_lte" + d = locale.NumberLTE() + case *NumberLTError: + t = "number_lt" + d = locale.NumberLT() + case *ConditionThenError: + t = "condition_then" + d = locale.ConditionThen() + case *ConditionElseError: + t = "condition_else" + d = locale.ConditionElse() + } + + err.SetType(t) + err.SetContext(context) + err.SetValue(value) + err.SetDetails(details) + err.SetDescriptionFormat(d) + details["field"] = err.Field() + + if _, exists := details["context"]; !exists && context != nil { + details["context"] = context.String() + } + + err.SetDescription(formatErrorDescription(err.DescriptionFormat(), details)) +} + +// formatErrorDescription takes a string in the default text/template +// format and converts it to a string with replacements. The fields come +// from the ErrorDetails struct and vary for each type of error. +func formatErrorDescription(s string, details ErrorDetails) string { + + var tpl *template.Template + var descrAsBuffer bytes.Buffer + var err error + + errorTemplates.RLock() + tpl = errorTemplates.Lookup(s) + errorTemplates.RUnlock() + + if tpl == nil { + errorTemplates.Lock() + tpl = errorTemplates.New(s) + + if ErrorTemplateFuncs != nil { + tpl.Funcs(ErrorTemplateFuncs) + } + + tpl, err = tpl.Parse(s) + errorTemplates.Unlock() + + if err != nil { + return err.Error() + } + } + + err = tpl.Execute(&descrAsBuffer, details) + if err != nil { + return err.Error() + } + + return descrAsBuffer.String() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/format_checkers.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/format_checkers.go new file mode 100644 index 0000000..873ffc7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/format_checkers.go @@ -0,0 +1,368 @@ +package gojsonschema + +import ( + "net" + "net/mail" + "net/url" + "regexp" + "strings" + "sync" + "time" +) + +type ( + // FormatChecker is the interface all formatters added to FormatCheckerChain must implement + FormatChecker interface { + // IsFormat checks if input has the correct format and type + IsFormat(input interface{}) bool + } + + // FormatCheckerChain holds the formatters + FormatCheckerChain struct { + formatters map[string]FormatChecker + } + + // EmailFormatChecker verifies email address formats + EmailFormatChecker struct{} + + // IPV4FormatChecker verifies IP addresses in the IPv4 format + IPV4FormatChecker struct{} + + // IPV6FormatChecker verifies IP addresses in the IPv6 format + IPV6FormatChecker struct{} + + // DateTimeFormatChecker verifies date/time formats per RFC3339 5.6 + // + // Valid formats: + // Partial Time: HH:MM:SS + // Full Date: YYYY-MM-DD + // Full Time: HH:MM:SSZ-07:00 + // Date Time: YYYY-MM-DDTHH:MM:SSZ-0700 + // + // Where + // YYYY = 4DIGIT year + // MM = 2DIGIT month ; 01-12 + // DD = 2DIGIT day-month ; 01-28, 01-29, 01-30, 01-31 based on month/year + // HH = 2DIGIT hour ; 00-23 + // MM = 2DIGIT ; 00-59 + // SS = 2DIGIT ; 00-58, 00-60 based on leap second rules + // T = Literal + // Z = Literal + // + // Note: Nanoseconds are also suported in all formats + // + // http://tools.ietf.org/html/rfc3339#section-5.6 + DateTimeFormatChecker struct{} + + // DateFormatChecker verifies date formats + // + // Valid format: + // Full Date: YYYY-MM-DD + // + // Where + // YYYY = 4DIGIT year + // MM = 2DIGIT month ; 01-12 + // DD = 2DIGIT day-month ; 01-28, 01-29, 01-30, 01-31 based on month/year + DateFormatChecker struct{} + + // TimeFormatChecker verifies time formats + // + // Valid formats: + // Partial Time: HH:MM:SS + // Full Time: HH:MM:SSZ-07:00 + // + // Where + // HH = 2DIGIT hour ; 00-23 + // MM = 2DIGIT ; 00-59 + // SS = 2DIGIT ; 00-58, 00-60 based on leap second rules + // T = Literal + // Z = Literal + TimeFormatChecker struct{} + + // URIFormatChecker validates a URI with a valid Scheme per RFC3986 + URIFormatChecker struct{} + + // URIReferenceFormatChecker validates a URI or relative-reference per RFC3986 + URIReferenceFormatChecker struct{} + + // URITemplateFormatChecker validates a URI template per RFC6570 + URITemplateFormatChecker struct{} + + // HostnameFormatChecker validates a hostname is in the correct format + HostnameFormatChecker struct{} + + // UUIDFormatChecker validates a UUID is in the correct format + UUIDFormatChecker struct{} + + // RegexFormatChecker validates a regex is in the correct format + RegexFormatChecker struct{} + + // JSONPointerFormatChecker validates a JSON Pointer per RFC6901 + JSONPointerFormatChecker struct{} + + // RelativeJSONPointerFormatChecker validates a relative JSON Pointer is in the correct format + RelativeJSONPointerFormatChecker struct{} +) + +var ( + // FormatCheckers holds the valid formatters, and is a public variable + // so library users can add custom formatters + FormatCheckers = FormatCheckerChain{ + formatters: map[string]FormatChecker{ + "date": DateFormatChecker{}, + "time": TimeFormatChecker{}, + "date-time": DateTimeFormatChecker{}, + "hostname": HostnameFormatChecker{}, + "email": EmailFormatChecker{}, + "idn-email": EmailFormatChecker{}, + "ipv4": IPV4FormatChecker{}, + "ipv6": IPV6FormatChecker{}, + "uri": URIFormatChecker{}, + "uri-reference": URIReferenceFormatChecker{}, + "iri": URIFormatChecker{}, + "iri-reference": URIReferenceFormatChecker{}, + "uri-template": URITemplateFormatChecker{}, + "uuid": UUIDFormatChecker{}, + "regex": RegexFormatChecker{}, + "json-pointer": JSONPointerFormatChecker{}, + "relative-json-pointer": RelativeJSONPointerFormatChecker{}, + }, + } + + // Regex credit: https://www.socketloop.com/tutorials/golang-validate-hostname + rxHostname = regexp.MustCompile(`^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$`) + + // Use a regex to make sure curly brackets are balanced properly after validating it as a AURI + rxURITemplate = regexp.MustCompile("^([^{]*({[^}]*})?)*$") + + rxUUID = regexp.MustCompile("^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$") + + rxJSONPointer = regexp.MustCompile("^(?:/(?:[^~/]|~0|~1)*)*$") + + rxRelJSONPointer = regexp.MustCompile("^(?:0|[1-9][0-9]*)(?:#|(?:/(?:[^~/]|~0|~1)*)*)$") + + lock = new(sync.RWMutex) +) + +// Add adds a FormatChecker to the FormatCheckerChain +// The name used will be the value used for the format key in your json schema +func (c *FormatCheckerChain) Add(name string, f FormatChecker) *FormatCheckerChain { + lock.Lock() + c.formatters[name] = f + lock.Unlock() + + return c +} + +// Remove deletes a FormatChecker from the FormatCheckerChain (if it exists) +func (c *FormatCheckerChain) Remove(name string) *FormatCheckerChain { + lock.Lock() + delete(c.formatters, name) + lock.Unlock() + + return c +} + +// Has checks to see if the FormatCheckerChain holds a FormatChecker with the given name +func (c *FormatCheckerChain) Has(name string) bool { + lock.RLock() + _, ok := c.formatters[name] + lock.RUnlock() + + return ok +} + +// IsFormat will check an input against a FormatChecker with the given name +// to see if it is the correct format +func (c *FormatCheckerChain) IsFormat(name string, input interface{}) bool { + lock.RLock() + f, ok := c.formatters[name] + lock.RUnlock() + + // If a format is unrecognized it should always pass validation + if !ok { + return true + } + + return f.IsFormat(input) +} + +// IsFormat checks if input is a correctly formatted e-mail address +func (f EmailFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + _, err := mail.ParseAddress(asString) + return err == nil +} + +// IsFormat checks if input is a correctly formatted IPv4-address +func (f IPV4FormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + // Credit: https://github.com/asaskevich/govalidator + ip := net.ParseIP(asString) + return ip != nil && strings.Contains(asString, ".") +} + +// IsFormat checks if input is a correctly formatted IPv6=address +func (f IPV6FormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + // Credit: https://github.com/asaskevich/govalidator + ip := net.ParseIP(asString) + return ip != nil && strings.Contains(asString, ":") +} + +// IsFormat checks if input is a correctly formatted date/time per RFC3339 5.6 +func (f DateTimeFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + formats := []string{ + "15:04:05", + "15:04:05Z07:00", + "2006-01-02", + time.RFC3339, + time.RFC3339Nano, + } + + for _, format := range formats { + if _, err := time.Parse(format, asString); err == nil { + return true + } + } + + return false +} + +// IsFormat checks if input is a correctly formatted date (YYYY-MM-DD) +func (f DateFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + _, err := time.Parse("2006-01-02", asString) + return err == nil +} + +// IsFormat checks if input correctly formatted time (HH:MM:SS or HH:MM:SSZ-07:00) +func (f TimeFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + if _, err := time.Parse("15:04:05Z07:00", asString); err == nil { + return true + } + + _, err := time.Parse("15:04:05", asString) + return err == nil +} + +// IsFormat checks if input is correctly formatted URI with a valid Scheme per RFC3986 +func (f URIFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + u, err := url.Parse(asString) + + if err != nil || u.Scheme == "" { + return false + } + + return !strings.Contains(asString, `\`) +} + +// IsFormat checks if input is a correctly formatted URI or relative-reference per RFC3986 +func (f URIReferenceFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + _, err := url.Parse(asString) + return err == nil && !strings.Contains(asString, `\`) +} + +// IsFormat checks if input is a correctly formatted URI template per RFC6570 +func (f URITemplateFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + u, err := url.Parse(asString) + if err != nil || strings.Contains(asString, `\`) { + return false + } + + return rxURITemplate.MatchString(u.Path) +} + +// IsFormat checks if input is a correctly formatted hostname +func (f HostnameFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + return rxHostname.MatchString(asString) && len(asString) < 256 +} + +// IsFormat checks if input is a correctly formatted UUID +func (f UUIDFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + return rxUUID.MatchString(asString) +} + +// IsFormat checks if input is a correctly formatted regular expression +func (f RegexFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + if asString == "" { + return true + } + _, err := regexp.Compile(asString) + return err == nil +} + +// IsFormat checks if input is a correctly formatted JSON Pointer per RFC6901 +func (f JSONPointerFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + return rxJSONPointer.MatchString(asString) +} + +// IsFormat checks if input is a correctly formatted relative JSON Pointer +func (f RelativeJSONPointerFormatChecker) IsFormat(input interface{}) bool { + asString, ok := input.(string) + if !ok { + return false + } + + return rxRelJSONPointer.MatchString(asString) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/glide.yaml b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/glide.yaml new file mode 100644 index 0000000..ab6fb86 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/glide.yaml @@ -0,0 +1,13 @@ +package: github.com/xeipuuv/gojsonschema +license: Apache 2.0 +import: +- package: github.com/xeipuuv/gojsonschema + +- package: github.com/xeipuuv/gojsonpointer + +- package: github.com/xeipuuv/gojsonreference + +testImport: +- package: github.com/stretchr/testify + subpackages: + - assert diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.mod new file mode 100644 index 0000000..b709d7f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.mod @@ -0,0 +1,7 @@ +module github.com/xeipuuv/gojsonschema + +require ( + github.com/stretchr/testify v1.3.0 + github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.sum new file mode 100644 index 0000000..0e865ac --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/go.sum @@ -0,0 +1,11 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/internalLog.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/internalLog.go new file mode 100644 index 0000000..4ef7a8d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/internalLog.go @@ -0,0 +1,37 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Very simple log wrapper. +// Used for debugging/testing purposes. +// +// created 01-01-2015 + +package gojsonschema + +import ( + "log" +) + +const internalLogEnabled = false + +func internalLog(format string, v ...interface{}) { + log.Printf(format, v...) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonContext.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonContext.go new file mode 100644 index 0000000..0e97970 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonContext.go @@ -0,0 +1,73 @@ +// Copyright 2013 MongoDB, Inc. +// +// 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. + +// author tolsen +// author-github https://github.com/tolsen +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Implements a persistent (immutable w/ shared structure) singly-linked list of strings for the purpose of storing a json context +// +// created 04-09-2013 + +package gojsonschema + +import "bytes" + +// JsonContext implements a persistent linked-list of strings +type JsonContext struct { + head string + tail *JsonContext +} + +// NewJsonContext creates a new JsonContext +func NewJsonContext(head string, tail *JsonContext) *JsonContext { + return &JsonContext{head, tail} +} + +// String displays the context in reverse. +// This plays well with the data structure's persistent nature with +// Cons and a json document's tree structure. +func (c *JsonContext) String(del ...string) string { + byteArr := make([]byte, 0, c.stringLen()) + buf := bytes.NewBuffer(byteArr) + c.writeStringToBuffer(buf, del) + + return buf.String() +} + +func (c *JsonContext) stringLen() int { + length := 0 + if c.tail != nil { + length = c.tail.stringLen() + 1 // add 1 for "." + } + + length += len(c.head) + return length +} + +func (c *JsonContext) writeStringToBuffer(buf *bytes.Buffer, del []string) { + if c.tail != nil { + c.tail.writeStringToBuffer(buf, del) + + if len(del) > 0 { + buf.WriteString(del[0]) + } else { + buf.WriteString(".") + } + } + + buf.WriteString(c.head) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go new file mode 100644 index 0000000..5d88af2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go @@ -0,0 +1,386 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Different strategies to load JSON files. +// Includes References (file and HTTP), JSON strings and Go types. +// +// created 01-02-2015 + +package gojsonschema + +import ( + "bytes" + "encoding/json" + "errors" + "io" + "io/ioutil" + "net/http" + "net/url" + "os" + "path/filepath" + "runtime" + "strings" + + "github.com/xeipuuv/gojsonreference" +) + +var osFS = osFileSystem(os.Open) + +// JSONLoader defines the JSON loader interface +type JSONLoader interface { + JsonSource() interface{} + LoadJSON() (interface{}, error) + JsonReference() (gojsonreference.JsonReference, error) + LoaderFactory() JSONLoaderFactory +} + +// JSONLoaderFactory defines the JSON loader factory interface +type JSONLoaderFactory interface { + // New creates a new JSON loader for the given source + New(source string) JSONLoader +} + +// DefaultJSONLoaderFactory is the default JSON loader factory +type DefaultJSONLoaderFactory struct { +} + +// FileSystemJSONLoaderFactory is a JSON loader factory that uses http.FileSystem +type FileSystemJSONLoaderFactory struct { + fs http.FileSystem +} + +// New creates a new JSON loader for the given source +func (d DefaultJSONLoaderFactory) New(source string) JSONLoader { + return &jsonReferenceLoader{ + fs: osFS, + source: source, + } +} + +// New creates a new JSON loader for the given source +func (f FileSystemJSONLoaderFactory) New(source string) JSONLoader { + return &jsonReferenceLoader{ + fs: f.fs, + source: source, + } +} + +// osFileSystem is a functional wrapper for os.Open that implements http.FileSystem. +type osFileSystem func(string) (*os.File, error) + +// Opens a file with the given name +func (o osFileSystem) Open(name string) (http.File, error) { + return o(name) +} + +// JSON Reference loader +// references are used to load JSONs from files and HTTP + +type jsonReferenceLoader struct { + fs http.FileSystem + source string +} + +func (l *jsonReferenceLoader) JsonSource() interface{} { + return l.source +} + +func (l *jsonReferenceLoader) JsonReference() (gojsonreference.JsonReference, error) { + return gojsonreference.NewJsonReference(l.JsonSource().(string)) +} + +func (l *jsonReferenceLoader) LoaderFactory() JSONLoaderFactory { + return &FileSystemJSONLoaderFactory{ + fs: l.fs, + } +} + +// NewReferenceLoader returns a JSON reference loader using the given source and the local OS file system. +func NewReferenceLoader(source string) JSONLoader { + return &jsonReferenceLoader{ + fs: osFS, + source: source, + } +} + +// NewReferenceLoaderFileSystem returns a JSON reference loader using the given source and file system. +func NewReferenceLoaderFileSystem(source string, fs http.FileSystem) JSONLoader { + return &jsonReferenceLoader{ + fs: fs, + source: source, + } +} + +func (l *jsonReferenceLoader) LoadJSON() (interface{}, error) { + + var err error + + reference, err := gojsonreference.NewJsonReference(l.JsonSource().(string)) + if err != nil { + return nil, err + } + + refToURL := reference + refToURL.GetUrl().Fragment = "" + + var document interface{} + + if reference.HasFileScheme { + + filename := strings.TrimPrefix(refToURL.String(), "file://") + filename, err = url.QueryUnescape(filename) + + if err != nil { + return nil, err + } + + if runtime.GOOS == "windows" { + // on Windows, a file URL may have an extra leading slash, use slashes + // instead of backslashes, and have spaces escaped + filename = strings.TrimPrefix(filename, "/") + filename = filepath.FromSlash(filename) + } + + document, err = l.loadFromFile(filename) + if err != nil { + return nil, err + } + + } else { + + document, err = l.loadFromHTTP(refToURL.String()) + if err != nil { + return nil, err + } + + } + + return document, nil + +} + +func (l *jsonReferenceLoader) loadFromHTTP(address string) (interface{}, error) { + + // returned cached versions for metaschemas for drafts 4, 6 and 7 + // for performance and allow for easier offline use + if metaSchema := drafts.GetMetaSchema(address); metaSchema != "" { + return decodeJSONUsingNumber(strings.NewReader(metaSchema)) + } + + resp, err := http.Get(address) + if err != nil { + return nil, err + } + + // must return HTTP Status 200 OK + if resp.StatusCode != http.StatusOK { + return nil, errors.New(formatErrorDescription(Locale.HttpBadStatus(), ErrorDetails{"status": resp.Status})) + } + + bodyBuff, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil, err + } + + return decodeJSONUsingNumber(bytes.NewReader(bodyBuff)) +} + +func (l *jsonReferenceLoader) loadFromFile(path string) (interface{}, error) { + f, err := l.fs.Open(path) + if err != nil { + return nil, err + } + defer f.Close() + + bodyBuff, err := ioutil.ReadAll(f) + if err != nil { + return nil, err + } + + return decodeJSONUsingNumber(bytes.NewReader(bodyBuff)) + +} + +// JSON string loader + +type jsonStringLoader struct { + source string +} + +func (l *jsonStringLoader) JsonSource() interface{} { + return l.source +} + +func (l *jsonStringLoader) JsonReference() (gojsonreference.JsonReference, error) { + return gojsonreference.NewJsonReference("#") +} + +func (l *jsonStringLoader) LoaderFactory() JSONLoaderFactory { + return &DefaultJSONLoaderFactory{} +} + +// NewStringLoader creates a new JSONLoader, taking a string as source +func NewStringLoader(source string) JSONLoader { + return &jsonStringLoader{source: source} +} + +func (l *jsonStringLoader) LoadJSON() (interface{}, error) { + + return decodeJSONUsingNumber(strings.NewReader(l.JsonSource().(string))) + +} + +// JSON bytes loader + +type jsonBytesLoader struct { + source []byte +} + +func (l *jsonBytesLoader) JsonSource() interface{} { + return l.source +} + +func (l *jsonBytesLoader) JsonReference() (gojsonreference.JsonReference, error) { + return gojsonreference.NewJsonReference("#") +} + +func (l *jsonBytesLoader) LoaderFactory() JSONLoaderFactory { + return &DefaultJSONLoaderFactory{} +} + +// NewBytesLoader creates a new JSONLoader, taking a `[]byte` as source +func NewBytesLoader(source []byte) JSONLoader { + return &jsonBytesLoader{source: source} +} + +func (l *jsonBytesLoader) LoadJSON() (interface{}, error) { + return decodeJSONUsingNumber(bytes.NewReader(l.JsonSource().([]byte))) +} + +// JSON Go (types) loader +// used to load JSONs from the code as maps, interface{}, structs ... + +type jsonGoLoader struct { + source interface{} +} + +func (l *jsonGoLoader) JsonSource() interface{} { + return l.source +} + +func (l *jsonGoLoader) JsonReference() (gojsonreference.JsonReference, error) { + return gojsonreference.NewJsonReference("#") +} + +func (l *jsonGoLoader) LoaderFactory() JSONLoaderFactory { + return &DefaultJSONLoaderFactory{} +} + +// NewGoLoader creates a new JSONLoader from a given Go struct +func NewGoLoader(source interface{}) JSONLoader { + return &jsonGoLoader{source: source} +} + +func (l *jsonGoLoader) LoadJSON() (interface{}, error) { + + // convert it to a compliant JSON first to avoid types "mismatches" + + jsonBytes, err := json.Marshal(l.JsonSource()) + if err != nil { + return nil, err + } + + return decodeJSONUsingNumber(bytes.NewReader(jsonBytes)) + +} + +type jsonIOLoader struct { + buf *bytes.Buffer +} + +// NewReaderLoader creates a new JSON loader using the provided io.Reader +func NewReaderLoader(source io.Reader) (JSONLoader, io.Reader) { + buf := &bytes.Buffer{} + return &jsonIOLoader{buf: buf}, io.TeeReader(source, buf) +} + +// NewWriterLoader creates a new JSON loader using the provided io.Writer +func NewWriterLoader(source io.Writer) (JSONLoader, io.Writer) { + buf := &bytes.Buffer{} + return &jsonIOLoader{buf: buf}, io.MultiWriter(source, buf) +} + +func (l *jsonIOLoader) JsonSource() interface{} { + return l.buf.String() +} + +func (l *jsonIOLoader) LoadJSON() (interface{}, error) { + return decodeJSONUsingNumber(l.buf) +} + +func (l *jsonIOLoader) JsonReference() (gojsonreference.JsonReference, error) { + return gojsonreference.NewJsonReference("#") +} + +func (l *jsonIOLoader) LoaderFactory() JSONLoaderFactory { + return &DefaultJSONLoaderFactory{} +} + +// JSON raw loader +// In case the JSON is already marshalled to interface{} use this loader +// This is used for testing as otherwise there is no guarantee the JSON is marshalled +// "properly" by using https://golang.org/pkg/encoding/json/#Decoder.UseNumber +type jsonRawLoader struct { + source interface{} +} + +// NewRawLoader creates a new JSON raw loader for the given source +func NewRawLoader(source interface{}) JSONLoader { + return &jsonRawLoader{source: source} +} +func (l *jsonRawLoader) JsonSource() interface{} { + return l.source +} +func (l *jsonRawLoader) LoadJSON() (interface{}, error) { + return l.source, nil +} +func (l *jsonRawLoader) JsonReference() (gojsonreference.JsonReference, error) { + return gojsonreference.NewJsonReference("#") +} +func (l *jsonRawLoader) LoaderFactory() JSONLoaderFactory { + return &DefaultJSONLoaderFactory{} +} + +func decodeJSONUsingNumber(r io.Reader) (interface{}, error) { + + var document interface{} + + decoder := json.NewDecoder(r) + decoder.UseNumber() + + err := decoder.Decode(&document) + if err != nil { + return nil, err + } + + return document, nil + +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/locales.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/locales.go new file mode 100644 index 0000000..a416225 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/locales.go @@ -0,0 +1,472 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Contains const string and messages. +// +// created 01-01-2015 + +package gojsonschema + +type ( + // locale is an interface for defining custom error strings + locale interface { + + // False returns a format-string for "false" schema validation errors + False() string + + // Required returns a format-string for "required" schema validation errors + Required() string + + // InvalidType returns a format-string for "invalid type" schema validation errors + InvalidType() string + + // NumberAnyOf returns a format-string for "anyOf" schema validation errors + NumberAnyOf() string + + // NumberOneOf returns a format-string for "oneOf" schema validation errors + NumberOneOf() string + + // NumberAllOf returns a format-string for "allOf" schema validation errors + NumberAllOf() string + + // NumberNot returns a format-string to format a NumberNotError + NumberNot() string + + // MissingDependency returns a format-string for "missing dependency" schema validation errors + MissingDependency() string + + // Internal returns a format-string for internal errors + Internal() string + + // Const returns a format-string to format a ConstError + Const() string + + // Enum returns a format-string to format an EnumError + Enum() string + + // ArrayNotEnoughItems returns a format-string to format an error for arrays having not enough items to match positional list of schema + ArrayNotEnoughItems() string + + // ArrayNoAdditionalItems returns a format-string to format an ArrayNoAdditionalItemsError + ArrayNoAdditionalItems() string + + // ArrayMinItems returns a format-string to format an ArrayMinItemsError + ArrayMinItems() string + + // ArrayMaxItems returns a format-string to format an ArrayMaxItemsError + ArrayMaxItems() string + + // Unique returns a format-string to format an ItemsMustBeUniqueError + Unique() string + + // ArrayContains returns a format-string to format an ArrayContainsError + ArrayContains() string + + // ArrayMinProperties returns a format-string to format an ArrayMinPropertiesError + ArrayMinProperties() string + + // ArrayMaxProperties returns a format-string to format an ArrayMaxPropertiesError + ArrayMaxProperties() string + + // AdditionalPropertyNotAllowed returns a format-string to format an AdditionalPropertyNotAllowedError + AdditionalPropertyNotAllowed() string + + // InvalidPropertyPattern returns a format-string to format an InvalidPropertyPatternError + InvalidPropertyPattern() string + + // InvalidPropertyName returns a format-string to format an InvalidPropertyNameError + InvalidPropertyName() string + + // StringGTE returns a format-string to format an StringLengthGTEError + StringGTE() string + + // StringLTE returns a format-string to format an StringLengthLTEError + StringLTE() string + + // DoesNotMatchPattern returns a format-string to format an DoesNotMatchPatternError + DoesNotMatchPattern() string + + // DoesNotMatchFormat returns a format-string to format an DoesNotMatchFormatError + DoesNotMatchFormat() string + + // MultipleOf returns a format-string to format an MultipleOfError + MultipleOf() string + + // NumberGTE returns a format-string to format an NumberGTEError + NumberGTE() string + + // NumberGT returns a format-string to format an NumberGTError + NumberGT() string + + // NumberLTE returns a format-string to format an NumberLTEError + NumberLTE() string + + // NumberLT returns a format-string to format an NumberLTError + NumberLT() string + + // Schema validations + + // RegexPattern returns a format-string to format a regex-pattern error + RegexPattern() string + + // GreaterThanZero returns a format-string to format an error where a number must be greater than zero + GreaterThanZero() string + + // MustBeOfA returns a format-string to format an error where a value is of the wrong type + MustBeOfA() string + + // MustBeOfAn returns a format-string to format an error where a value is of the wrong type + MustBeOfAn() string + + // CannotBeUsedWithout returns a format-string to format a "cannot be used without" error + CannotBeUsedWithout() string + + // CannotBeGT returns a format-string to format an error where a value are greater than allowed + CannotBeGT() string + + // MustBeOfType returns a format-string to format an error where a value does not match the required type + MustBeOfType() string + + // MustBeValidRegex returns a format-string to format an error where a regex is invalid + MustBeValidRegex() string + + // MustBeValidFormat returns a format-string to format an error where a value does not match the expected format + MustBeValidFormat() string + + // MustBeGTEZero returns a format-string to format an error where a value must be greater or equal than 0 + MustBeGTEZero() string + + // KeyCannotBeGreaterThan returns a format-string to format an error where a key is greater than the maximum allowed + KeyCannotBeGreaterThan() string + + // KeyItemsMustBeOfType returns a format-string to format an error where a key is of the wrong type + KeyItemsMustBeOfType() string + + // KeyItemsMustBeUnique returns a format-string to format an error where keys are not unique + KeyItemsMustBeUnique() string + + // ReferenceMustBeCanonical returns a format-string to format a "reference must be canonical" error + ReferenceMustBeCanonical() string + + // NotAValidType returns a format-string to format an invalid type error + NotAValidType() string + + // Duplicated returns a format-string to format an error where types are duplicated + Duplicated() string + + // HttpBadStatus returns a format-string for errors when loading a schema using HTTP + HttpBadStatus() string + + // ParseError returns a format-string for JSON parsing errors + ParseError() string + + // ConditionThen returns a format-string for ConditionThenError errors + ConditionThen() string + + // ConditionElse returns a format-string for ConditionElseError errors + ConditionElse() string + + // ErrorFormat returns a format string for errors + ErrorFormat() string + } + + // DefaultLocale is the default locale for this package + DefaultLocale struct{} +) + +// False returns a format-string for "false" schema validation errors +func (l DefaultLocale) False() string { + return "False always fails validation" +} + +// Required returns a format-string for "required" schema validation errors +func (l DefaultLocale) Required() string { + return `{{.property}} is required` +} + +// InvalidType returns a format-string for "invalid type" schema validation errors +func (l DefaultLocale) InvalidType() string { + return `Invalid type. Expected: {{.expected}}, given: {{.given}}` +} + +// NumberAnyOf returns a format-string for "anyOf" schema validation errors +func (l DefaultLocale) NumberAnyOf() string { + return `Must validate at least one schema (anyOf)` +} + +// NumberOneOf returns a format-string for "oneOf" schema validation errors +func (l DefaultLocale) NumberOneOf() string { + return `Must validate one and only one schema (oneOf)` +} + +// NumberAllOf returns a format-string for "allOf" schema validation errors +func (l DefaultLocale) NumberAllOf() string { + return `Must validate all the schemas (allOf)` +} + +// NumberNot returns a format-string to format a NumberNotError +func (l DefaultLocale) NumberNot() string { + return `Must not validate the schema (not)` +} + +// MissingDependency returns a format-string for "missing dependency" schema validation errors +func (l DefaultLocale) MissingDependency() string { + return `Has a dependency on {{.dependency}}` +} + +// Internal returns a format-string for internal errors +func (l DefaultLocale) Internal() string { + return `Internal Error {{.error}}` +} + +// Const returns a format-string to format a ConstError +func (l DefaultLocale) Const() string { + return `{{.field}} does not match: {{.allowed}}` +} + +// Enum returns a format-string to format an EnumError +func (l DefaultLocale) Enum() string { + return `{{.field}} must be one of the following: {{.allowed}}` +} + +// ArrayNoAdditionalItems returns a format-string to format an ArrayNoAdditionalItemsError +func (l DefaultLocale) ArrayNoAdditionalItems() string { + return `No additional items allowed on array` +} + +// ArrayNotEnoughItems returns a format-string to format an error for arrays having not enough items to match positional list of schema +func (l DefaultLocale) ArrayNotEnoughItems() string { + return `Not enough items on array to match positional list of schema` +} + +// ArrayMinItems returns a format-string to format an ArrayMinItemsError +func (l DefaultLocale) ArrayMinItems() string { + return `Array must have at least {{.min}} items` +} + +// ArrayMaxItems returns a format-string to format an ArrayMaxItemsError +func (l DefaultLocale) ArrayMaxItems() string { + return `Array must have at most {{.max}} items` +} + +// Unique returns a format-string to format an ItemsMustBeUniqueError +func (l DefaultLocale) Unique() string { + return `{{.type}} items[{{.i}},{{.j}}] must be unique` +} + +// ArrayContains returns a format-string to format an ArrayContainsError +func (l DefaultLocale) ArrayContains() string { + return `At least one of the items must match` +} + +// ArrayMinProperties returns a format-string to format an ArrayMinPropertiesError +func (l DefaultLocale) ArrayMinProperties() string { + return `Must have at least {{.min}} properties` +} + +// ArrayMaxProperties returns a format-string to format an ArrayMaxPropertiesError +func (l DefaultLocale) ArrayMaxProperties() string { + return `Must have at most {{.max}} properties` +} + +// AdditionalPropertyNotAllowed returns a format-string to format an AdditionalPropertyNotAllowedError +func (l DefaultLocale) AdditionalPropertyNotAllowed() string { + return `Additional property {{.property}} is not allowed` +} + +// InvalidPropertyPattern returns a format-string to format an InvalidPropertyPatternError +func (l DefaultLocale) InvalidPropertyPattern() string { + return `Property "{{.property}}" does not match pattern {{.pattern}}` +} + +// InvalidPropertyName returns a format-string to format an InvalidPropertyNameError +func (l DefaultLocale) InvalidPropertyName() string { + return `Property name of "{{.property}}" does not match` +} + +// StringGTE returns a format-string to format an StringLengthGTEError +func (l DefaultLocale) StringGTE() string { + return `String length must be greater than or equal to {{.min}}` +} + +// StringLTE returns a format-string to format an StringLengthLTEError +func (l DefaultLocale) StringLTE() string { + return `String length must be less than or equal to {{.max}}` +} + +// DoesNotMatchPattern returns a format-string to format an DoesNotMatchPatternError +func (l DefaultLocale) DoesNotMatchPattern() string { + return `Does not match pattern '{{.pattern}}'` +} + +// DoesNotMatchFormat returns a format-string to format an DoesNotMatchFormatError +func (l DefaultLocale) DoesNotMatchFormat() string { + return `Does not match format '{{.format}}'` +} + +// MultipleOf returns a format-string to format an MultipleOfError +func (l DefaultLocale) MultipleOf() string { + return `Must be a multiple of {{.multiple}}` +} + +// NumberGTE returns the format string to format a NumberGTEError +func (l DefaultLocale) NumberGTE() string { + return `Must be greater than or equal to {{.min}}` +} + +// NumberGT returns the format string to format a NumberGTError +func (l DefaultLocale) NumberGT() string { + return `Must be greater than {{.min}}` +} + +// NumberLTE returns the format string to format a NumberLTEError +func (l DefaultLocale) NumberLTE() string { + return `Must be less than or equal to {{.max}}` +} + +// NumberLT returns the format string to format a NumberLTError +func (l DefaultLocale) NumberLT() string { + return `Must be less than {{.max}}` +} + +// Schema validators + +// RegexPattern returns a format-string to format a regex-pattern error +func (l DefaultLocale) RegexPattern() string { + return `Invalid regex pattern '{{.pattern}}'` +} + +// GreaterThanZero returns a format-string to format an error where a number must be greater than zero +func (l DefaultLocale) GreaterThanZero() string { + return `{{.number}} must be strictly greater than 0` +} + +// MustBeOfA returns a format-string to format an error where a value is of the wrong type +func (l DefaultLocale) MustBeOfA() string { + return `{{.x}} must be of a {{.y}}` +} + +// MustBeOfAn returns a format-string to format an error where a value is of the wrong type +func (l DefaultLocale) MustBeOfAn() string { + return `{{.x}} must be of an {{.y}}` +} + +// CannotBeUsedWithout returns a format-string to format a "cannot be used without" error +func (l DefaultLocale) CannotBeUsedWithout() string { + return `{{.x}} cannot be used without {{.y}}` +} + +// CannotBeGT returns a format-string to format an error where a value are greater than allowed +func (l DefaultLocale) CannotBeGT() string { + return `{{.x}} cannot be greater than {{.y}}` +} + +// MustBeOfType returns a format-string to format an error where a value does not match the required type +func (l DefaultLocale) MustBeOfType() string { + return `{{.key}} must be of type {{.type}}` +} + +// MustBeValidRegex returns a format-string to format an error where a regex is invalid +func (l DefaultLocale) MustBeValidRegex() string { + return `{{.key}} must be a valid regex` +} + +// MustBeValidFormat returns a format-string to format an error where a value does not match the expected format +func (l DefaultLocale) MustBeValidFormat() string { + return `{{.key}} must be a valid format {{.given}}` +} + +// MustBeGTEZero returns a format-string to format an error where a value must be greater or equal than 0 +func (l DefaultLocale) MustBeGTEZero() string { + return `{{.key}} must be greater than or equal to 0` +} + +// KeyCannotBeGreaterThan returns a format-string to format an error where a value is greater than the maximum allowed +func (l DefaultLocale) KeyCannotBeGreaterThan() string { + return `{{.key}} cannot be greater than {{.y}}` +} + +// KeyItemsMustBeOfType returns a format-string to format an error where a key is of the wrong type +func (l DefaultLocale) KeyItemsMustBeOfType() string { + return `{{.key}} items must be {{.type}}` +} + +// KeyItemsMustBeUnique returns a format-string to format an error where keys are not unique +func (l DefaultLocale) KeyItemsMustBeUnique() string { + return `{{.key}} items must be unique` +} + +// ReferenceMustBeCanonical returns a format-string to format a "reference must be canonical" error +func (l DefaultLocale) ReferenceMustBeCanonical() string { + return `Reference {{.reference}} must be canonical` +} + +// NotAValidType returns a format-string to format an invalid type error +func (l DefaultLocale) NotAValidType() string { + return `has a primitive type that is NOT VALID -- given: {{.given}} Expected valid values are:{{.expected}}` +} + +// Duplicated returns a format-string to format an error where types are duplicated +func (l DefaultLocale) Duplicated() string { + return `{{.type}} type is duplicated` +} + +// HttpBadStatus returns a format-string for errors when loading a schema using HTTP +func (l DefaultLocale) HttpBadStatus() string { + return `Could not read schema from HTTP, response status is {{.status}}` +} + +// ErrorFormat returns a format string for errors +// Replacement options: field, description, context, value +func (l DefaultLocale) ErrorFormat() string { + return `{{.field}}: {{.description}}` +} + +// ParseError returns a format-string for JSON parsing errors +func (l DefaultLocale) ParseError() string { + return `Expected: {{.expected}}, given: Invalid JSON` +} + +// ConditionThen returns a format-string for ConditionThenError errors +// If/Else +func (l DefaultLocale) ConditionThen() string { + return `Must validate "then" as "if" was valid` +} + +// ConditionElse returns a format-string for ConditionElseError errors +func (l DefaultLocale) ConditionElse() string { + return `Must validate "else" as "if" was not valid` +} + +// constants +const ( + STRING_NUMBER = "number" + STRING_ARRAY_OF_STRINGS = "array of strings" + STRING_ARRAY_OF_SCHEMAS = "array of schemas" + STRING_SCHEMA = "valid schema" + STRING_SCHEMA_OR_ARRAY_OF_STRINGS = "schema or array of strings" + STRING_PROPERTIES = "properties" + STRING_DEPENDENCY = "dependency" + STRING_PROPERTY = "property" + STRING_UNDEFINED = "undefined" + STRING_CONTEXT_ROOT = "(root)" + STRING_ROOT_SCHEMA_PROPERTY = "(root)" +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/result.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/result.go new file mode 100644 index 0000000..0a01791 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/result.go @@ -0,0 +1,220 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Result and ResultError implementations. +// +// created 01-01-2015 + +package gojsonschema + +import ( + "fmt" + "strings" +) + +type ( + // ErrorDetails is a map of details specific to each error. + // While the values will vary, every error will contain a "field" value + ErrorDetails map[string]interface{} + + // ResultError is the interface that library errors must implement + ResultError interface { + // Field returns the field name without the root context + // i.e. firstName or person.firstName instead of (root).firstName or (root).person.firstName + Field() string + // SetType sets the error-type + SetType(string) + // Type returns the error-type + Type() string + // SetContext sets the JSON-context for the error + SetContext(*JsonContext) + // Context returns the JSON-context of the error + Context() *JsonContext + // SetDescription sets a description for the error + SetDescription(string) + // Description returns the description of the error + Description() string + // SetDescriptionFormat sets the format for the description in the default text/template format + SetDescriptionFormat(string) + // DescriptionFormat returns the format for the description in the default text/template format + DescriptionFormat() string + // SetValue sets the value related to the error + SetValue(interface{}) + // Value returns the value related to the error + Value() interface{} + // SetDetails sets the details specific to the error + SetDetails(ErrorDetails) + // Details returns details about the error + Details() ErrorDetails + // String returns a string representation of the error + String() string + } + + // ResultErrorFields holds the fields for each ResultError implementation. + // ResultErrorFields implements the ResultError interface, so custom errors + // can be defined by just embedding this type + ResultErrorFields struct { + errorType string // A string with the type of error (i.e. invalid_type) + context *JsonContext // Tree like notation of the part that failed the validation. ex (root).a.b ... + description string // A human readable error message + descriptionFormat string // A format for human readable error message + value interface{} // Value given by the JSON file that is the source of the error + details ErrorDetails + } + + // Result holds the result of a validation + Result struct { + errors []ResultError + // Scores how well the validation matched. Useful in generating + // better error messages for anyOf and oneOf. + score int + } +) + +// Field returns the field name without the root context +// i.e. firstName or person.firstName instead of (root).firstName or (root).person.firstName +func (v *ResultErrorFields) Field() string { + return strings.TrimPrefix(v.context.String(), STRING_ROOT_SCHEMA_PROPERTY+".") +} + +// SetType sets the error-type +func (v *ResultErrorFields) SetType(errorType string) { + v.errorType = errorType +} + +// Type returns the error-type +func (v *ResultErrorFields) Type() string { + return v.errorType +} + +// SetContext sets the JSON-context for the error +func (v *ResultErrorFields) SetContext(context *JsonContext) { + v.context = context +} + +// Context returns the JSON-context of the error +func (v *ResultErrorFields) Context() *JsonContext { + return v.context +} + +// SetDescription sets a description for the error +func (v *ResultErrorFields) SetDescription(description string) { + v.description = description +} + +// Description returns the description of the error +func (v *ResultErrorFields) Description() string { + return v.description +} + +// SetDescriptionFormat sets the format for the description in the default text/template format +func (v *ResultErrorFields) SetDescriptionFormat(descriptionFormat string) { + v.descriptionFormat = descriptionFormat +} + +// DescriptionFormat returns the format for the description in the default text/template format +func (v *ResultErrorFields) DescriptionFormat() string { + return v.descriptionFormat +} + +// SetValue sets the value related to the error +func (v *ResultErrorFields) SetValue(value interface{}) { + v.value = value +} + +// Value returns the value related to the error +func (v *ResultErrorFields) Value() interface{} { + return v.value +} + +// SetDetails sets the details specific to the error +func (v *ResultErrorFields) SetDetails(details ErrorDetails) { + v.details = details +} + +// Details returns details about the error +func (v *ResultErrorFields) Details() ErrorDetails { + return v.details +} + +// String returns a string representation of the error +func (v ResultErrorFields) String() string { + // as a fallback, the value is displayed go style + valueString := fmt.Sprintf("%v", v.value) + + // marshal the go value value to json + if v.value == nil { + valueString = TYPE_NULL + } else { + if vs, err := marshalToJSONString(v.value); err == nil { + if vs == nil { + valueString = TYPE_NULL + } else { + valueString = *vs + } + } + } + + return formatErrorDescription(Locale.ErrorFormat(), ErrorDetails{ + "context": v.context.String(), + "description": v.description, + "value": valueString, + "field": v.Field(), + }) +} + +// Valid indicates if no errors were found +func (v *Result) Valid() bool { + return len(v.errors) == 0 +} + +// Errors returns the errors that were found +func (v *Result) Errors() []ResultError { + return v.errors +} + +// AddError appends a fully filled error to the error set +// SetDescription() will be called with the result of the parsed err.DescriptionFormat() +func (v *Result) AddError(err ResultError, details ErrorDetails) { + if _, exists := details["context"]; !exists && err.Context() != nil { + details["context"] = err.Context().String() + } + + err.SetDescription(formatErrorDescription(err.DescriptionFormat(), details)) + + v.errors = append(v.errors, err) +} + +func (v *Result) addInternalError(err ResultError, context *JsonContext, value interface{}, details ErrorDetails) { + newError(err, context, value, Locale, details) + v.errors = append(v.errors, err) + v.score -= 2 // results in a net -1 when added to the +1 we get at the end of the validation function +} + +// Used to copy errors from a sub-schema to the main one +func (v *Result) mergeErrors(otherResult *Result) { + v.errors = append(v.errors, otherResult.Errors()...) + v.score += otherResult.score +} + +func (v *Result) incrementScore() { + v.score++ +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schema.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schema.go new file mode 100644 index 0000000..9e93cd7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schema.go @@ -0,0 +1,1087 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Defines Schema, the main entry to every subSchema. +// Contains the parsing logic and error checking. +// +// created 26-02-2013 + +package gojsonschema + +import ( + "errors" + "math/big" + "reflect" + "regexp" + "text/template" + + "github.com/xeipuuv/gojsonreference" +) + +var ( + // Locale is the default locale to use + // Library users can overwrite with their own implementation + Locale locale = DefaultLocale{} + + // ErrorTemplateFuncs allows you to define custom template funcs for use in localization. + ErrorTemplateFuncs template.FuncMap +) + +// NewSchema instances a schema using the given JSONLoader +func NewSchema(l JSONLoader) (*Schema, error) { + return NewSchemaLoader().Compile(l) +} + +// Schema holds a schema +type Schema struct { + documentReference gojsonreference.JsonReference + rootSchema *subSchema + pool *schemaPool + referencePool *schemaReferencePool +} + +func (d *Schema) parse(document interface{}, draft Draft) error { + d.rootSchema = &subSchema{property: STRING_ROOT_SCHEMA_PROPERTY, draft: &draft} + return d.parseSchema(document, d.rootSchema) +} + +// SetRootSchemaName sets the root-schema name +func (d *Schema) SetRootSchemaName(name string) { + d.rootSchema.property = name +} + +// Parses a subSchema +// +// Pretty long function ( sorry :) )... but pretty straight forward, repetitive and boring +// Not much magic involved here, most of the job is to validate the key names and their values, +// then the values are copied into subSchema struct +// +func (d *Schema) parseSchema(documentNode interface{}, currentSchema *subSchema) error { + + if currentSchema.draft == nil { + if currentSchema.parent == nil { + return errors.New("Draft not set") + } + currentSchema.draft = currentSchema.parent.draft + } + + // As of draft 6 "true" is equivalent to an empty schema "{}" and false equals "{"not":{}}" + if *currentSchema.draft >= Draft6 && isKind(documentNode, reflect.Bool) { + b := documentNode.(bool) + currentSchema.pass = &b + return nil + } + + if !isKind(documentNode, reflect.Map) { + return errors.New(formatErrorDescription( + Locale.ParseError(), + ErrorDetails{ + "expected": STRING_SCHEMA, + }, + )) + } + + m := documentNode.(map[string]interface{}) + + if currentSchema.parent == nil { + currentSchema.ref = &d.documentReference + currentSchema.id = &d.documentReference + } + + if currentSchema.id == nil && currentSchema.parent != nil { + currentSchema.id = currentSchema.parent.id + } + + // In draft 6 the id keyword was renamed to $id + // Hybrid mode uses the old id by default + var keyID string + + switch *currentSchema.draft { + case Draft4: + keyID = KEY_ID + case Hybrid: + keyID = KEY_ID_NEW + if existsMapKey(m, KEY_ID) { + keyID = KEY_ID + } + default: + keyID = KEY_ID_NEW + } + if existsMapKey(m, keyID) && !isKind(m[keyID], reflect.String) { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_STRING, + "given": keyID, + }, + )) + } + if k, ok := m[keyID].(string); ok { + jsonReference, err := gojsonreference.NewJsonReference(k) + if err != nil { + return err + } + if currentSchema == d.rootSchema { + currentSchema.id = &jsonReference + } else { + ref, err := currentSchema.parent.id.Inherits(jsonReference) + if err != nil { + return err + } + currentSchema.id = ref + } + } + + // definitions + if existsMapKey(m, KEY_DEFINITIONS) { + if isKind(m[KEY_DEFINITIONS], reflect.Map, reflect.Bool) { + for _, dv := range m[KEY_DEFINITIONS].(map[string]interface{}) { + if isKind(dv, reflect.Map, reflect.Bool) { + + newSchema := &subSchema{property: KEY_DEFINITIONS, parent: currentSchema} + + err := d.parseSchema(dv, newSchema) + + if err != nil { + return err + } + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": STRING_ARRAY_OF_SCHEMAS, + "given": KEY_DEFINITIONS, + }, + )) + } + } + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": STRING_ARRAY_OF_SCHEMAS, + "given": KEY_DEFINITIONS, + }, + )) + } + + } + + // title + if existsMapKey(m, KEY_TITLE) && !isKind(m[KEY_TITLE], reflect.String) { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_STRING, + "given": KEY_TITLE, + }, + )) + } + if k, ok := m[KEY_TITLE].(string); ok { + currentSchema.title = &k + } + + // description + if existsMapKey(m, KEY_DESCRIPTION) && !isKind(m[KEY_DESCRIPTION], reflect.String) { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_STRING, + "given": KEY_DESCRIPTION, + }, + )) + } + if k, ok := m[KEY_DESCRIPTION].(string); ok { + currentSchema.description = &k + } + + // $ref + if existsMapKey(m, KEY_REF) && !isKind(m[KEY_REF], reflect.String) { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_STRING, + "given": KEY_REF, + }, + )) + } + + if k, ok := m[KEY_REF].(string); ok { + + jsonReference, err := gojsonreference.NewJsonReference(k) + if err != nil { + return err + } + + currentSchema.ref = &jsonReference + + if sch, ok := d.referencePool.Get(currentSchema.ref.String()); ok { + currentSchema.refSchema = sch + } else { + err := d.parseReference(documentNode, currentSchema) + + if err != nil { + return err + } + + return nil + } + } + + // type + if existsMapKey(m, KEY_TYPE) { + if isKind(m[KEY_TYPE], reflect.String) { + if k, ok := m[KEY_TYPE].(string); ok { + err := currentSchema.types.Add(k) + if err != nil { + return err + } + } + } else { + if isKind(m[KEY_TYPE], reflect.Slice) { + arrayOfTypes := m[KEY_TYPE].([]interface{}) + for _, typeInArray := range arrayOfTypes { + if reflect.ValueOf(typeInArray).Kind() != reflect.String { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_STRING + "/" + STRING_ARRAY_OF_STRINGS, + "given": KEY_TYPE, + }, + )) + } + if err := currentSchema.types.Add(typeInArray.(string)); err != nil { + return err + } + } + + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_STRING + "/" + STRING_ARRAY_OF_STRINGS, + "given": KEY_TYPE, + }, + )) + } + } + } + + // properties + if existsMapKey(m, KEY_PROPERTIES) { + err := d.parseProperties(m[KEY_PROPERTIES], currentSchema) + if err != nil { + return err + } + } + + // additionalProperties + if existsMapKey(m, KEY_ADDITIONAL_PROPERTIES) { + if isKind(m[KEY_ADDITIONAL_PROPERTIES], reflect.Bool) { + currentSchema.additionalProperties = m[KEY_ADDITIONAL_PROPERTIES].(bool) + } else if isKind(m[KEY_ADDITIONAL_PROPERTIES], reflect.Map) { + newSchema := &subSchema{property: KEY_ADDITIONAL_PROPERTIES, parent: currentSchema, ref: currentSchema.ref} + currentSchema.additionalProperties = newSchema + err := d.parseSchema(m[KEY_ADDITIONAL_PROPERTIES], newSchema) + if err != nil { + return errors.New(err.Error()) + } + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_BOOLEAN + "/" + STRING_SCHEMA, + "given": KEY_ADDITIONAL_PROPERTIES, + }, + )) + } + } + + // patternProperties + if existsMapKey(m, KEY_PATTERN_PROPERTIES) { + if isKind(m[KEY_PATTERN_PROPERTIES], reflect.Map) { + patternPropertiesMap := m[KEY_PATTERN_PROPERTIES].(map[string]interface{}) + if len(patternPropertiesMap) > 0 { + currentSchema.patternProperties = make(map[string]*subSchema) + for k, v := range patternPropertiesMap { + _, err := regexp.MatchString(k, "") + if err != nil { + return errors.New(formatErrorDescription( + Locale.RegexPattern(), + ErrorDetails{"pattern": k}, + )) + } + newSchema := &subSchema{property: k, parent: currentSchema, ref: currentSchema.ref} + err = d.parseSchema(v, newSchema) + if err != nil { + return errors.New(err.Error()) + } + currentSchema.patternProperties[k] = newSchema + } + } + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": STRING_SCHEMA, + "given": KEY_PATTERN_PROPERTIES, + }, + )) + } + } + + // propertyNames + if existsMapKey(m, KEY_PROPERTY_NAMES) && *currentSchema.draft >= Draft6 { + if isKind(m[KEY_PROPERTY_NAMES], reflect.Map, reflect.Bool) { + newSchema := &subSchema{property: KEY_PROPERTY_NAMES, parent: currentSchema, ref: currentSchema.ref} + currentSchema.propertyNames = newSchema + err := d.parseSchema(m[KEY_PROPERTY_NAMES], newSchema) + if err != nil { + return err + } + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": STRING_SCHEMA, + "given": KEY_PATTERN_PROPERTIES, + }, + )) + } + } + + // dependencies + if existsMapKey(m, KEY_DEPENDENCIES) { + err := d.parseDependencies(m[KEY_DEPENDENCIES], currentSchema) + if err != nil { + return err + } + } + + // items + if existsMapKey(m, KEY_ITEMS) { + if isKind(m[KEY_ITEMS], reflect.Slice) { + for _, itemElement := range m[KEY_ITEMS].([]interface{}) { + if isKind(itemElement, reflect.Map, reflect.Bool) { + newSchema := &subSchema{parent: currentSchema, property: KEY_ITEMS} + newSchema.ref = currentSchema.ref + currentSchema.itemsChildren = append(currentSchema.itemsChildren, newSchema) + err := d.parseSchema(itemElement, newSchema) + if err != nil { + return err + } + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": STRING_SCHEMA + "/" + STRING_ARRAY_OF_SCHEMAS, + "given": KEY_ITEMS, + }, + )) + } + currentSchema.itemsChildrenIsSingleSchema = false + } + } else if isKind(m[KEY_ITEMS], reflect.Map, reflect.Bool) { + newSchema := &subSchema{parent: currentSchema, property: KEY_ITEMS} + newSchema.ref = currentSchema.ref + currentSchema.itemsChildren = append(currentSchema.itemsChildren, newSchema) + err := d.parseSchema(m[KEY_ITEMS], newSchema) + if err != nil { + return err + } + currentSchema.itemsChildrenIsSingleSchema = true + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": STRING_SCHEMA + "/" + STRING_ARRAY_OF_SCHEMAS, + "given": KEY_ITEMS, + }, + )) + } + } + + // additionalItems + if existsMapKey(m, KEY_ADDITIONAL_ITEMS) { + if isKind(m[KEY_ADDITIONAL_ITEMS], reflect.Bool) { + currentSchema.additionalItems = m[KEY_ADDITIONAL_ITEMS].(bool) + } else if isKind(m[KEY_ADDITIONAL_ITEMS], reflect.Map) { + newSchema := &subSchema{property: KEY_ADDITIONAL_ITEMS, parent: currentSchema, ref: currentSchema.ref} + currentSchema.additionalItems = newSchema + err := d.parseSchema(m[KEY_ADDITIONAL_ITEMS], newSchema) + if err != nil { + return errors.New(err.Error()) + } + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_BOOLEAN + "/" + STRING_SCHEMA, + "given": KEY_ADDITIONAL_ITEMS, + }, + )) + } + } + + // validation : number / integer + + if existsMapKey(m, KEY_MULTIPLE_OF) { + multipleOfValue := mustBeNumber(m[KEY_MULTIPLE_OF]) + if multipleOfValue == nil { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": STRING_NUMBER, + "given": KEY_MULTIPLE_OF, + }, + )) + } + if multipleOfValue.Cmp(big.NewRat(0, 1)) <= 0 { + return errors.New(formatErrorDescription( + Locale.GreaterThanZero(), + ErrorDetails{"number": KEY_MULTIPLE_OF}, + )) + } + currentSchema.multipleOf = multipleOfValue + } + + if existsMapKey(m, KEY_MINIMUM) { + minimumValue := mustBeNumber(m[KEY_MINIMUM]) + if minimumValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfA(), + ErrorDetails{"x": KEY_MINIMUM, "y": STRING_NUMBER}, + )) + } + currentSchema.minimum = minimumValue + } + + if existsMapKey(m, KEY_EXCLUSIVE_MINIMUM) { + switch *currentSchema.draft { + case Draft4: + if !isKind(m[KEY_EXCLUSIVE_MINIMUM], reflect.Bool) { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_BOOLEAN, + "given": KEY_EXCLUSIVE_MINIMUM, + }, + )) + } + if currentSchema.minimum == nil { + return errors.New(formatErrorDescription( + Locale.CannotBeUsedWithout(), + ErrorDetails{"x": KEY_EXCLUSIVE_MINIMUM, "y": KEY_MINIMUM}, + )) + } + if m[KEY_EXCLUSIVE_MINIMUM].(bool) { + currentSchema.exclusiveMinimum = currentSchema.minimum + currentSchema.minimum = nil + } + case Hybrid: + if isKind(m[KEY_EXCLUSIVE_MINIMUM], reflect.Bool) { + if currentSchema.minimum == nil { + return errors.New(formatErrorDescription( + Locale.CannotBeUsedWithout(), + ErrorDetails{"x": KEY_EXCLUSIVE_MINIMUM, "y": KEY_MINIMUM}, + )) + } + if m[KEY_EXCLUSIVE_MINIMUM].(bool) { + currentSchema.exclusiveMinimum = currentSchema.minimum + currentSchema.minimum = nil + } + } else if isJSONNumber(m[KEY_EXCLUSIVE_MINIMUM]) { + currentSchema.exclusiveMinimum = mustBeNumber(m[KEY_EXCLUSIVE_MINIMUM]) + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_BOOLEAN + "/" + TYPE_NUMBER, + "given": KEY_EXCLUSIVE_MINIMUM, + }, + )) + } + default: + if isJSONNumber(m[KEY_EXCLUSIVE_MINIMUM]) { + currentSchema.exclusiveMinimum = mustBeNumber(m[KEY_EXCLUSIVE_MINIMUM]) + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_NUMBER, + "given": KEY_EXCLUSIVE_MINIMUM, + }, + )) + } + } + } + + if existsMapKey(m, KEY_MAXIMUM) { + maximumValue := mustBeNumber(m[KEY_MAXIMUM]) + if maximumValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfA(), + ErrorDetails{"x": KEY_MAXIMUM, "y": STRING_NUMBER}, + )) + } + currentSchema.maximum = maximumValue + } + + if existsMapKey(m, KEY_EXCLUSIVE_MAXIMUM) { + switch *currentSchema.draft { + case Draft4: + if !isKind(m[KEY_EXCLUSIVE_MAXIMUM], reflect.Bool) { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_BOOLEAN, + "given": KEY_EXCLUSIVE_MAXIMUM, + }, + )) + } + if currentSchema.maximum == nil { + return errors.New(formatErrorDescription( + Locale.CannotBeUsedWithout(), + ErrorDetails{"x": KEY_EXCLUSIVE_MAXIMUM, "y": KEY_MAXIMUM}, + )) + } + if m[KEY_EXCLUSIVE_MAXIMUM].(bool) { + currentSchema.exclusiveMaximum = currentSchema.maximum + currentSchema.maximum = nil + } + case Hybrid: + if isKind(m[KEY_EXCLUSIVE_MAXIMUM], reflect.Bool) { + if currentSchema.maximum == nil { + return errors.New(formatErrorDescription( + Locale.CannotBeUsedWithout(), + ErrorDetails{"x": KEY_EXCLUSIVE_MAXIMUM, "y": KEY_MAXIMUM}, + )) + } + if m[KEY_EXCLUSIVE_MAXIMUM].(bool) { + currentSchema.exclusiveMaximum = currentSchema.maximum + currentSchema.maximum = nil + } + } else if isJSONNumber(m[KEY_EXCLUSIVE_MAXIMUM]) { + currentSchema.exclusiveMaximum = mustBeNumber(m[KEY_EXCLUSIVE_MAXIMUM]) + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_BOOLEAN + "/" + TYPE_NUMBER, + "given": KEY_EXCLUSIVE_MAXIMUM, + }, + )) + } + default: + if isJSONNumber(m[KEY_EXCLUSIVE_MAXIMUM]) { + currentSchema.exclusiveMaximum = mustBeNumber(m[KEY_EXCLUSIVE_MAXIMUM]) + } else { + return errors.New(formatErrorDescription( + Locale.InvalidType(), + ErrorDetails{ + "expected": TYPE_NUMBER, + "given": KEY_EXCLUSIVE_MAXIMUM, + }, + )) + } + } + } + + // validation : string + + if existsMapKey(m, KEY_MIN_LENGTH) { + minLengthIntegerValue := mustBeInteger(m[KEY_MIN_LENGTH]) + if minLengthIntegerValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_MIN_LENGTH, "y": TYPE_INTEGER}, + )) + } + if *minLengthIntegerValue < 0 { + return errors.New(formatErrorDescription( + Locale.MustBeGTEZero(), + ErrorDetails{"key": KEY_MIN_LENGTH}, + )) + } + currentSchema.minLength = minLengthIntegerValue + } + + if existsMapKey(m, KEY_MAX_LENGTH) { + maxLengthIntegerValue := mustBeInteger(m[KEY_MAX_LENGTH]) + if maxLengthIntegerValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_MAX_LENGTH, "y": TYPE_INTEGER}, + )) + } + if *maxLengthIntegerValue < 0 { + return errors.New(formatErrorDescription( + Locale.MustBeGTEZero(), + ErrorDetails{"key": KEY_MAX_LENGTH}, + )) + } + currentSchema.maxLength = maxLengthIntegerValue + } + + if currentSchema.minLength != nil && currentSchema.maxLength != nil { + if *currentSchema.minLength > *currentSchema.maxLength { + return errors.New(formatErrorDescription( + Locale.CannotBeGT(), + ErrorDetails{"x": KEY_MIN_LENGTH, "y": KEY_MAX_LENGTH}, + )) + } + } + + if existsMapKey(m, KEY_PATTERN) { + if isKind(m[KEY_PATTERN], reflect.String) { + regexpObject, err := regexp.Compile(m[KEY_PATTERN].(string)) + if err != nil { + return errors.New(formatErrorDescription( + Locale.MustBeValidRegex(), + ErrorDetails{"key": KEY_PATTERN}, + )) + } + currentSchema.pattern = regexpObject + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfA(), + ErrorDetails{"x": KEY_PATTERN, "y": TYPE_STRING}, + )) + } + } + + if existsMapKey(m, KEY_FORMAT) { + formatString, ok := m[KEY_FORMAT].(string) + if !ok { + return errors.New(formatErrorDescription( + Locale.MustBeOfType(), + ErrorDetails{"key": KEY_FORMAT, "type": TYPE_STRING}, + )) + } + currentSchema.format = formatString + } + + // validation : object + + if existsMapKey(m, KEY_MIN_PROPERTIES) { + minPropertiesIntegerValue := mustBeInteger(m[KEY_MIN_PROPERTIES]) + if minPropertiesIntegerValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_MIN_PROPERTIES, "y": TYPE_INTEGER}, + )) + } + if *minPropertiesIntegerValue < 0 { + return errors.New(formatErrorDescription( + Locale.MustBeGTEZero(), + ErrorDetails{"key": KEY_MIN_PROPERTIES}, + )) + } + currentSchema.minProperties = minPropertiesIntegerValue + } + + if existsMapKey(m, KEY_MAX_PROPERTIES) { + maxPropertiesIntegerValue := mustBeInteger(m[KEY_MAX_PROPERTIES]) + if maxPropertiesIntegerValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_MAX_PROPERTIES, "y": TYPE_INTEGER}, + )) + } + if *maxPropertiesIntegerValue < 0 { + return errors.New(formatErrorDescription( + Locale.MustBeGTEZero(), + ErrorDetails{"key": KEY_MAX_PROPERTIES}, + )) + } + currentSchema.maxProperties = maxPropertiesIntegerValue + } + + if currentSchema.minProperties != nil && currentSchema.maxProperties != nil { + if *currentSchema.minProperties > *currentSchema.maxProperties { + return errors.New(formatErrorDescription( + Locale.KeyCannotBeGreaterThan(), + ErrorDetails{"key": KEY_MIN_PROPERTIES, "y": KEY_MAX_PROPERTIES}, + )) + } + } + + if existsMapKey(m, KEY_REQUIRED) { + if isKind(m[KEY_REQUIRED], reflect.Slice) { + requiredValues := m[KEY_REQUIRED].([]interface{}) + for _, requiredValue := range requiredValues { + if isKind(requiredValue, reflect.String) { + if isStringInSlice(currentSchema.required, requiredValue.(string)) { + return errors.New(formatErrorDescription( + Locale.KeyItemsMustBeUnique(), + ErrorDetails{"key": KEY_REQUIRED}, + )) + } + currentSchema.required = append(currentSchema.required, requiredValue.(string)) + } else { + return errors.New(formatErrorDescription( + Locale.KeyItemsMustBeOfType(), + ErrorDetails{"key": KEY_REQUIRED, "type": TYPE_STRING}, + )) + } + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_REQUIRED, "y": TYPE_ARRAY}, + )) + } + } + + // validation : array + + if existsMapKey(m, KEY_MIN_ITEMS) { + minItemsIntegerValue := mustBeInteger(m[KEY_MIN_ITEMS]) + if minItemsIntegerValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_MIN_ITEMS, "y": TYPE_INTEGER}, + )) + } + if *minItemsIntegerValue < 0 { + return errors.New(formatErrorDescription( + Locale.MustBeGTEZero(), + ErrorDetails{"key": KEY_MIN_ITEMS}, + )) + } + currentSchema.minItems = minItemsIntegerValue + } + + if existsMapKey(m, KEY_MAX_ITEMS) { + maxItemsIntegerValue := mustBeInteger(m[KEY_MAX_ITEMS]) + if maxItemsIntegerValue == nil { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_MAX_ITEMS, "y": TYPE_INTEGER}, + )) + } + if *maxItemsIntegerValue < 0 { + return errors.New(formatErrorDescription( + Locale.MustBeGTEZero(), + ErrorDetails{"key": KEY_MAX_ITEMS}, + )) + } + currentSchema.maxItems = maxItemsIntegerValue + } + + if existsMapKey(m, KEY_UNIQUE_ITEMS) { + if isKind(m[KEY_UNIQUE_ITEMS], reflect.Bool) { + currentSchema.uniqueItems = m[KEY_UNIQUE_ITEMS].(bool) + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfA(), + ErrorDetails{"x": KEY_UNIQUE_ITEMS, "y": TYPE_BOOLEAN}, + )) + } + } + + if existsMapKey(m, KEY_CONTAINS) && *currentSchema.draft >= Draft6 { + newSchema := &subSchema{property: KEY_CONTAINS, parent: currentSchema, ref: currentSchema.ref} + currentSchema.contains = newSchema + err := d.parseSchema(m[KEY_CONTAINS], newSchema) + if err != nil { + return err + } + } + + // validation : all + + if existsMapKey(m, KEY_CONST) && *currentSchema.draft >= Draft6 { + is, err := marshalWithoutNumber(m[KEY_CONST]) + if err != nil { + return err + } + currentSchema._const = is + } + + if existsMapKey(m, KEY_ENUM) { + if isKind(m[KEY_ENUM], reflect.Slice) { + for _, v := range m[KEY_ENUM].([]interface{}) { + is, err := marshalWithoutNumber(v) + if err != nil { + return err + } + if isStringInSlice(currentSchema.enum, *is) { + return errors.New(formatErrorDescription( + Locale.KeyItemsMustBeUnique(), + ErrorDetails{"key": KEY_ENUM}, + )) + } + currentSchema.enum = append(currentSchema.enum, *is) + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_ENUM, "y": TYPE_ARRAY}, + )) + } + } + + // validation : subSchema + + if existsMapKey(m, KEY_ONE_OF) { + if isKind(m[KEY_ONE_OF], reflect.Slice) { + for _, v := range m[KEY_ONE_OF].([]interface{}) { + newSchema := &subSchema{property: KEY_ONE_OF, parent: currentSchema, ref: currentSchema.ref} + currentSchema.oneOf = append(currentSchema.oneOf, newSchema) + err := d.parseSchema(v, newSchema) + if err != nil { + return err + } + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_ONE_OF, "y": TYPE_ARRAY}, + )) + } + } + + if existsMapKey(m, KEY_ANY_OF) { + if isKind(m[KEY_ANY_OF], reflect.Slice) { + for _, v := range m[KEY_ANY_OF].([]interface{}) { + newSchema := &subSchema{property: KEY_ANY_OF, parent: currentSchema, ref: currentSchema.ref} + currentSchema.anyOf = append(currentSchema.anyOf, newSchema) + err := d.parseSchema(v, newSchema) + if err != nil { + return err + } + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_ANY_OF, "y": TYPE_ARRAY}, + )) + } + } + + if existsMapKey(m, KEY_ALL_OF) { + if isKind(m[KEY_ALL_OF], reflect.Slice) { + for _, v := range m[KEY_ALL_OF].([]interface{}) { + newSchema := &subSchema{property: KEY_ALL_OF, parent: currentSchema, ref: currentSchema.ref} + currentSchema.allOf = append(currentSchema.allOf, newSchema) + err := d.parseSchema(v, newSchema) + if err != nil { + return err + } + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_ANY_OF, "y": TYPE_ARRAY}, + )) + } + } + + if existsMapKey(m, KEY_NOT) { + if isKind(m[KEY_NOT], reflect.Map, reflect.Bool) { + newSchema := &subSchema{property: KEY_NOT, parent: currentSchema, ref: currentSchema.ref} + currentSchema.not = newSchema + err := d.parseSchema(m[KEY_NOT], newSchema) + if err != nil { + return err + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_NOT, "y": TYPE_OBJECT}, + )) + } + } + + if *currentSchema.draft >= Draft7 { + if existsMapKey(m, KEY_IF) { + if isKind(m[KEY_IF], reflect.Map, reflect.Bool) { + newSchema := &subSchema{property: KEY_IF, parent: currentSchema, ref: currentSchema.ref} + currentSchema._if = newSchema + err := d.parseSchema(m[KEY_IF], newSchema) + if err != nil { + return err + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_IF, "y": TYPE_OBJECT}, + )) + } + } + + if existsMapKey(m, KEY_THEN) { + if isKind(m[KEY_THEN], reflect.Map, reflect.Bool) { + newSchema := &subSchema{property: KEY_THEN, parent: currentSchema, ref: currentSchema.ref} + currentSchema._then = newSchema + err := d.parseSchema(m[KEY_THEN], newSchema) + if err != nil { + return err + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_THEN, "y": TYPE_OBJECT}, + )) + } + } + + if existsMapKey(m, KEY_ELSE) { + if isKind(m[KEY_ELSE], reflect.Map, reflect.Bool) { + newSchema := &subSchema{property: KEY_ELSE, parent: currentSchema, ref: currentSchema.ref} + currentSchema._else = newSchema + err := d.parseSchema(m[KEY_ELSE], newSchema) + if err != nil { + return err + } + } else { + return errors.New(formatErrorDescription( + Locale.MustBeOfAn(), + ErrorDetails{"x": KEY_ELSE, "y": TYPE_OBJECT}, + )) + } + } + } + + return nil +} + +func (d *Schema) parseReference(documentNode interface{}, currentSchema *subSchema) error { + var ( + refdDocumentNode interface{} + dsp *schemaPoolDocument + err error + ) + + newSchema := &subSchema{property: KEY_REF, parent: currentSchema, ref: currentSchema.ref} + + d.referencePool.Add(currentSchema.ref.String(), newSchema) + + dsp, err = d.pool.GetDocument(*currentSchema.ref) + if err != nil { + return err + } + newSchema.id = currentSchema.ref + + refdDocumentNode = dsp.Document + newSchema.draft = dsp.Draft + + if err != nil { + return err + } + + if !isKind(refdDocumentNode, reflect.Map, reflect.Bool) { + return errors.New(formatErrorDescription( + Locale.MustBeOfType(), + ErrorDetails{"key": STRING_SCHEMA, "type": TYPE_OBJECT}, + )) + } + + err = d.parseSchema(refdDocumentNode, newSchema) + if err != nil { + return err + } + + currentSchema.refSchema = newSchema + + return nil + +} + +func (d *Schema) parseProperties(documentNode interface{}, currentSchema *subSchema) error { + + if !isKind(documentNode, reflect.Map) { + return errors.New(formatErrorDescription( + Locale.MustBeOfType(), + ErrorDetails{"key": STRING_PROPERTIES, "type": TYPE_OBJECT}, + )) + } + + m := documentNode.(map[string]interface{}) + for k := range m { + schemaProperty := k + newSchema := &subSchema{property: schemaProperty, parent: currentSchema, ref: currentSchema.ref} + currentSchema.propertiesChildren = append(currentSchema.propertiesChildren, newSchema) + err := d.parseSchema(m[k], newSchema) + if err != nil { + return err + } + } + + return nil +} + +func (d *Schema) parseDependencies(documentNode interface{}, currentSchema *subSchema) error { + + if !isKind(documentNode, reflect.Map) { + return errors.New(formatErrorDescription( + Locale.MustBeOfType(), + ErrorDetails{"key": KEY_DEPENDENCIES, "type": TYPE_OBJECT}, + )) + } + + m := documentNode.(map[string]interface{}) + currentSchema.dependencies = make(map[string]interface{}) + + for k := range m { + switch reflect.ValueOf(m[k]).Kind() { + + case reflect.Slice: + values := m[k].([]interface{}) + var valuesToRegister []string + + for _, value := range values { + if !isKind(value, reflect.String) { + return errors.New(formatErrorDescription( + Locale.MustBeOfType(), + ErrorDetails{ + "key": STRING_DEPENDENCY, + "type": STRING_SCHEMA_OR_ARRAY_OF_STRINGS, + }, + )) + } + valuesToRegister = append(valuesToRegister, value.(string)) + currentSchema.dependencies[k] = valuesToRegister + } + + case reflect.Map, reflect.Bool: + depSchema := &subSchema{property: k, parent: currentSchema, ref: currentSchema.ref} + err := d.parseSchema(m[k], depSchema) + if err != nil { + return err + } + currentSchema.dependencies[k] = depSchema + + default: + return errors.New(formatErrorDescription( + Locale.MustBeOfType(), + ErrorDetails{ + "key": STRING_DEPENDENCY, + "type": STRING_SCHEMA_OR_ARRAY_OF_STRINGS, + }, + )) + } + + } + + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaLoader.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaLoader.go new file mode 100644 index 0000000..20db0c1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaLoader.go @@ -0,0 +1,206 @@ +// Copyright 2018 johandorland ( https://github.com/johandorland ) +// +// 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. + +package gojsonschema + +import ( + "bytes" + "errors" + + "github.com/xeipuuv/gojsonreference" +) + +// SchemaLoader is used to load schemas +type SchemaLoader struct { + pool *schemaPool + AutoDetect bool + Validate bool + Draft Draft +} + +// NewSchemaLoader creates a new NewSchemaLoader +func NewSchemaLoader() *SchemaLoader { + + ps := &SchemaLoader{ + pool: &schemaPool{ + schemaPoolDocuments: make(map[string]*schemaPoolDocument), + }, + AutoDetect: true, + Validate: false, + Draft: Hybrid, + } + ps.pool.autoDetect = &ps.AutoDetect + + return ps +} + +func (sl *SchemaLoader) validateMetaschema(documentNode interface{}) error { + + var ( + schema string + err error + ) + if sl.AutoDetect { + schema, _, err = parseSchemaURL(documentNode) + if err != nil { + return err + } + } + + // If no explicit "$schema" is used, use the default metaschema associated with the draft used + if schema == "" { + if sl.Draft == Hybrid { + return nil + } + schema = drafts.GetSchemaURL(sl.Draft) + } + + //Disable validation when loading the metaschema to prevent an infinite recursive loop + sl.Validate = false + + metaSchema, err := sl.Compile(NewReferenceLoader(schema)) + + if err != nil { + return err + } + + sl.Validate = true + + result := metaSchema.validateDocument(documentNode) + + if !result.Valid() { + var res bytes.Buffer + for _, err := range result.Errors() { + res.WriteString(err.String()) + res.WriteString("\n") + } + return errors.New(res.String()) + } + + return nil +} + +// AddSchemas adds an arbritrary amount of schemas to the schema cache. As this function does not require +// an explicit URL, every schema should contain an $id, so that it can be referenced by the main schema +func (sl *SchemaLoader) AddSchemas(loaders ...JSONLoader) error { + emptyRef, _ := gojsonreference.NewJsonReference("") + + for _, loader := range loaders { + doc, err := loader.LoadJSON() + + if err != nil { + return err + } + + if sl.Validate { + if err := sl.validateMetaschema(doc); err != nil { + return err + } + } + + // Directly use the Recursive function, so that it get only added to the schema pool by $id + // and not by the ref of the document as it's empty + if err = sl.pool.parseReferences(doc, emptyRef, false); err != nil { + return err + } + } + + return nil +} + +//AddSchema adds a schema under the provided URL to the schema cache +func (sl *SchemaLoader) AddSchema(url string, loader JSONLoader) error { + + ref, err := gojsonreference.NewJsonReference(url) + + if err != nil { + return err + } + + doc, err := loader.LoadJSON() + + if err != nil { + return err + } + + if sl.Validate { + if err := sl.validateMetaschema(doc); err != nil { + return err + } + } + + return sl.pool.parseReferences(doc, ref, true) +} + +// Compile loads and compiles a schema +func (sl *SchemaLoader) Compile(rootSchema JSONLoader) (*Schema, error) { + + ref, err := rootSchema.JsonReference() + + if err != nil { + return nil, err + } + + d := Schema{} + d.pool = sl.pool + d.pool.jsonLoaderFactory = rootSchema.LoaderFactory() + d.documentReference = ref + d.referencePool = newSchemaReferencePool() + + var doc interface{} + if ref.String() != "" { + // Get document from schema pool + spd, err := d.pool.GetDocument(d.documentReference) + if err != nil { + return nil, err + } + doc = spd.Document + } else { + // Load JSON directly + doc, err = rootSchema.LoadJSON() + if err != nil { + return nil, err + } + // References need only be parsed if loading JSON directly + // as pool.GetDocument already does this for us if loading by reference + err = sl.pool.parseReferences(doc, ref, true) + if err != nil { + return nil, err + } + } + + if sl.Validate { + if err := sl.validateMetaschema(doc); err != nil { + return nil, err + } + } + + draft := sl.Draft + if sl.AutoDetect { + _, detectedDraft, err := parseSchemaURL(doc) + if err != nil { + return nil, err + } + if detectedDraft != nil { + draft = *detectedDraft + } + } + + err = d.parse(doc, draft) + if err != nil { + return nil, err + } + + return &d, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaPool.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaPool.go new file mode 100644 index 0000000..35b1cc6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaPool.go @@ -0,0 +1,215 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Defines resources pooling. +// Eases referencing and avoids downloading the same resource twice. +// +// created 26-02-2013 + +package gojsonschema + +import ( + "errors" + "fmt" + "reflect" + + "github.com/xeipuuv/gojsonreference" +) + +type schemaPoolDocument struct { + Document interface{} + Draft *Draft +} + +type schemaPool struct { + schemaPoolDocuments map[string]*schemaPoolDocument + jsonLoaderFactory JSONLoaderFactory + autoDetect *bool +} + +func (p *schemaPool) parseReferences(document interface{}, ref gojsonreference.JsonReference, pooled bool) error { + + var ( + draft *Draft + err error + reference = ref.String() + ) + // Only the root document should be added to the schema pool if pooled is true + if _, ok := p.schemaPoolDocuments[reference]; pooled && ok { + return fmt.Errorf("Reference already exists: \"%s\"", reference) + } + + if *p.autoDetect { + _, draft, err = parseSchemaURL(document) + if err != nil { + return err + } + } + + err = p.parseReferencesRecursive(document, ref, draft) + + if pooled { + p.schemaPoolDocuments[reference] = &schemaPoolDocument{Document: document, Draft: draft} + } + + return err +} + +func (p *schemaPool) parseReferencesRecursive(document interface{}, ref gojsonreference.JsonReference, draft *Draft) error { + // parseReferencesRecursive parses a JSON document and resolves all $id and $ref references. + // For $ref references it takes into account the $id scope it is in and replaces + // the reference by the absolute resolved reference + + // When encountering errors it fails silently. Error handling is done when the schema + // is syntactically parsed and any error encountered here should also come up there. + switch m := document.(type) { + case []interface{}: + for _, v := range m { + p.parseReferencesRecursive(v, ref, draft) + } + case map[string]interface{}: + localRef := &ref + + keyID := KEY_ID_NEW + if existsMapKey(m, KEY_ID) { + keyID = KEY_ID + } + if existsMapKey(m, keyID) && isKind(m[keyID], reflect.String) { + jsonReference, err := gojsonreference.NewJsonReference(m[keyID].(string)) + if err == nil { + localRef, err = ref.Inherits(jsonReference) + if err == nil { + if _, ok := p.schemaPoolDocuments[localRef.String()]; ok { + return fmt.Errorf("Reference already exists: \"%s\"", localRef.String()) + } + p.schemaPoolDocuments[localRef.String()] = &schemaPoolDocument{Document: document, Draft: draft} + } + } + } + + if existsMapKey(m, KEY_REF) && isKind(m[KEY_REF], reflect.String) { + jsonReference, err := gojsonreference.NewJsonReference(m[KEY_REF].(string)) + if err == nil { + absoluteRef, err := localRef.Inherits(jsonReference) + if err == nil { + m[KEY_REF] = absoluteRef.String() + } + } + } + + for k, v := range m { + // const and enums should be interpreted literally, so ignore them + if k == KEY_CONST || k == KEY_ENUM { + continue + } + // Something like a property or a dependency is not a valid schema, as it might describe properties named "$ref", "$id" or "const", etc + // Therefore don't treat it like a schema. + if k == KEY_PROPERTIES || k == KEY_DEPENDENCIES || k == KEY_PATTERN_PROPERTIES { + if child, ok := v.(map[string]interface{}); ok { + for _, v := range child { + p.parseReferencesRecursive(v, *localRef, draft) + } + } + } else { + p.parseReferencesRecursive(v, *localRef, draft) + } + } + } + return nil +} + +func (p *schemaPool) GetDocument(reference gojsonreference.JsonReference) (*schemaPoolDocument, error) { + + var ( + spd *schemaPoolDocument + draft *Draft + ok bool + err error + ) + + if internalLogEnabled { + internalLog("Get Document ( %s )", reference.String()) + } + + // Create a deep copy, so we can remove the fragment part later on without altering the original + refToURL, _ := gojsonreference.NewJsonReference(reference.String()) + + // First check if the given fragment is a location independent identifier + // http://json-schema.org/latest/json-schema-core.html#rfc.section.8.2.3 + + if spd, ok = p.schemaPoolDocuments[refToURL.String()]; ok { + if internalLogEnabled { + internalLog(" From pool") + } + return spd, nil + } + + // If the given reference is not a location independent identifier, + // strip the fragment and look for a document with it's base URI + + refToURL.GetUrl().Fragment = "" + + if cachedSpd, ok := p.schemaPoolDocuments[refToURL.String()]; ok { + document, _, err := reference.GetPointer().Get(cachedSpd.Document) + + if err != nil { + return nil, err + } + + if internalLogEnabled { + internalLog(" From pool") + } + + spd = &schemaPoolDocument{Document: document, Draft: cachedSpd.Draft} + p.schemaPoolDocuments[reference.String()] = spd + + return spd, nil + } + + // It is not possible to load anything remotely that is not canonical... + if !reference.IsCanonical() { + return nil, errors.New(formatErrorDescription( + Locale.ReferenceMustBeCanonical(), + ErrorDetails{"reference": reference.String()}, + )) + } + + jsonReferenceLoader := p.jsonLoaderFactory.New(reference.String()) + document, err := jsonReferenceLoader.LoadJSON() + + if err != nil { + return nil, err + } + + // add the whole document to the pool for potential re-use + p.parseReferences(document, refToURL, true) + + _, draft, _ = parseSchemaURL(document) + + // resolve the potential fragment and also cache it + document, _, err = reference.GetPointer().Get(document) + + if err != nil { + return nil, err + } + + return &schemaPoolDocument{Document: document, Draft: draft}, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaReferencePool.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaReferencePool.go new file mode 100644 index 0000000..6e5e1b5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaReferencePool.go @@ -0,0 +1,68 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Pool of referenced schemas. +// +// created 25-06-2013 + +package gojsonschema + +import ( + "fmt" +) + +type schemaReferencePool struct { + documents map[string]*subSchema +} + +func newSchemaReferencePool() *schemaReferencePool { + + p := &schemaReferencePool{} + p.documents = make(map[string]*subSchema) + + return p +} + +func (p *schemaReferencePool) Get(ref string) (r *subSchema, o bool) { + + if internalLogEnabled { + internalLog(fmt.Sprintf("Schema Reference ( %s )", ref)) + } + + if sch, ok := p.documents[ref]; ok { + if internalLogEnabled { + internalLog(fmt.Sprintf(" From pool")) + } + return sch, true + } + + return nil, false +} + +func (p *schemaReferencePool) Add(ref string, sch *subSchema) { + + if internalLogEnabled { + internalLog(fmt.Sprintf("Add Schema Reference %s to pool", ref)) + } + if _, ok := p.documents[ref]; !ok { + p.documents[ref] = sch + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaType.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaType.go new file mode 100644 index 0000000..36b447a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/schemaType.go @@ -0,0 +1,83 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Helper structure to handle schema types, and the combination of them. +// +// created 28-02-2013 + +package gojsonschema + +import ( + "errors" + "fmt" + "strings" +) + +type jsonSchemaType struct { + types []string +} + +// Is the schema typed ? that is containing at least one type +// When not typed, the schema does not need any type validation +func (t *jsonSchemaType) IsTyped() bool { + return len(t.types) > 0 +} + +func (t *jsonSchemaType) Add(etype string) error { + + if !isStringInSlice(JSON_TYPES, etype) { + return errors.New(formatErrorDescription(Locale.NotAValidType(), ErrorDetails{"given": "/" + etype + "/", "expected": JSON_TYPES})) + } + + if t.Contains(etype) { + return errors.New(formatErrorDescription(Locale.Duplicated(), ErrorDetails{"type": etype})) + } + + t.types = append(t.types, etype) + + return nil +} + +func (t *jsonSchemaType) Contains(etype string) bool { + + for _, v := range t.types { + if v == etype { + return true + } + } + + return false +} + +func (t *jsonSchemaType) String() string { + + if len(t.types) == 0 { + return STRING_UNDEFINED // should never happen + } + + // Displayed as a list [type1,type2,...] + if len(t.types) > 1 { + return fmt.Sprintf("[%s]", strings.Join(t.types, ",")) + } + + // Only one type: name only + return t.types[0] +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/subSchema.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/subSchema.go new file mode 100644 index 0000000..ec77981 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/subSchema.go @@ -0,0 +1,149 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Defines the structure of a sub-subSchema. +// A sub-subSchema can contain other sub-schemas. +// +// created 27-02-2013 + +package gojsonschema + +import ( + "github.com/xeipuuv/gojsonreference" + "math/big" + "regexp" +) + +// Constants +const ( + KEY_SCHEMA = "$schema" + KEY_ID = "id" + KEY_ID_NEW = "$id" + KEY_REF = "$ref" + KEY_TITLE = "title" + KEY_DESCRIPTION = "description" + KEY_TYPE = "type" + KEY_ITEMS = "items" + KEY_ADDITIONAL_ITEMS = "additionalItems" + KEY_PROPERTIES = "properties" + KEY_PATTERN_PROPERTIES = "patternProperties" + KEY_ADDITIONAL_PROPERTIES = "additionalProperties" + KEY_PROPERTY_NAMES = "propertyNames" + KEY_DEFINITIONS = "definitions" + KEY_MULTIPLE_OF = "multipleOf" + KEY_MINIMUM = "minimum" + KEY_MAXIMUM = "maximum" + KEY_EXCLUSIVE_MINIMUM = "exclusiveMinimum" + KEY_EXCLUSIVE_MAXIMUM = "exclusiveMaximum" + KEY_MIN_LENGTH = "minLength" + KEY_MAX_LENGTH = "maxLength" + KEY_PATTERN = "pattern" + KEY_FORMAT = "format" + KEY_MIN_PROPERTIES = "minProperties" + KEY_MAX_PROPERTIES = "maxProperties" + KEY_DEPENDENCIES = "dependencies" + KEY_REQUIRED = "required" + KEY_MIN_ITEMS = "minItems" + KEY_MAX_ITEMS = "maxItems" + KEY_UNIQUE_ITEMS = "uniqueItems" + KEY_CONTAINS = "contains" + KEY_CONST = "const" + KEY_ENUM = "enum" + KEY_ONE_OF = "oneOf" + KEY_ANY_OF = "anyOf" + KEY_ALL_OF = "allOf" + KEY_NOT = "not" + KEY_IF = "if" + KEY_THEN = "then" + KEY_ELSE = "else" +) + +type subSchema struct { + draft *Draft + + // basic subSchema meta properties + id *gojsonreference.JsonReference + title *string + description *string + + property string + + // Quick pass/fail for boolean schemas + pass *bool + + // Types associated with the subSchema + types jsonSchemaType + + // Reference url + ref *gojsonreference.JsonReference + // Schema referenced + refSchema *subSchema + + // hierarchy + parent *subSchema + itemsChildren []*subSchema + itemsChildrenIsSingleSchema bool + propertiesChildren []*subSchema + + // validation : number / integer + multipleOf *big.Rat + maximum *big.Rat + exclusiveMaximum *big.Rat + minimum *big.Rat + exclusiveMinimum *big.Rat + + // validation : string + minLength *int + maxLength *int + pattern *regexp.Regexp + format string + + // validation : object + minProperties *int + maxProperties *int + required []string + + dependencies map[string]interface{} + additionalProperties interface{} + patternProperties map[string]*subSchema + propertyNames *subSchema + + // validation : array + minItems *int + maxItems *int + uniqueItems bool + contains *subSchema + + additionalItems interface{} + + // validation : all + _const *string //const is a golang keyword + enum []string + + // validation : subSchema + oneOf []*subSchema + anyOf []*subSchema + allOf []*subSchema + not *subSchema + _if *subSchema // if/else are golang keywords + _then *subSchema + _else *subSchema +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/types.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/types.go new file mode 100644 index 0000000..0e6fd51 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/types.go @@ -0,0 +1,62 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Contains const types for schema and JSON. +// +// created 28-02-2013 + +package gojsonschema + +// Type constants +const ( + TYPE_ARRAY = `array` + TYPE_BOOLEAN = `boolean` + TYPE_INTEGER = `integer` + TYPE_NUMBER = `number` + TYPE_NULL = `null` + TYPE_OBJECT = `object` + TYPE_STRING = `string` +) + +// JSON_TYPES hosts the list of type that are supported in JSON +var JSON_TYPES []string + +// SCHEMA_TYPES hosts the list of type that are supported in schemas +var SCHEMA_TYPES []string + +func init() { + JSON_TYPES = []string{ + TYPE_ARRAY, + TYPE_BOOLEAN, + TYPE_INTEGER, + TYPE_NUMBER, + TYPE_NULL, + TYPE_OBJECT, + TYPE_STRING} + + SCHEMA_TYPES = []string{ + TYPE_ARRAY, + TYPE_BOOLEAN, + TYPE_INTEGER, + TYPE_NUMBER, + TYPE_OBJECT, + TYPE_STRING} +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/utils.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/utils.go new file mode 100644 index 0000000..a17d22e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/utils.go @@ -0,0 +1,197 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Various utility functions. +// +// created 26-02-2013 + +package gojsonschema + +import ( + "encoding/json" + "math/big" + "reflect" +) + +func isKind(what interface{}, kinds ...reflect.Kind) bool { + target := what + if isJSONNumber(what) { + // JSON Numbers are strings! + target = *mustBeNumber(what) + } + targetKind := reflect.ValueOf(target).Kind() + for _, kind := range kinds { + if targetKind == kind { + return true + } + } + return false +} + +func existsMapKey(m map[string]interface{}, k string) bool { + _, ok := m[k] + return ok +} + +func isStringInSlice(s []string, what string) bool { + for i := range s { + if s[i] == what { + return true + } + } + return false +} + +// indexStringInSlice returns the index of the first instance of 'what' in s or -1 if it is not found in s. +func indexStringInSlice(s []string, what string) int { + for i := range s { + if s[i] == what { + return i + } + } + return -1 +} + +func marshalToJSONString(value interface{}) (*string, error) { + + mBytes, err := json.Marshal(value) + if err != nil { + return nil, err + } + + sBytes := string(mBytes) + return &sBytes, nil +} + +func marshalWithoutNumber(value interface{}) (*string, error) { + + // The JSON is decoded using https://golang.org/pkg/encoding/json/#Decoder.UseNumber + // This means the numbers are internally still represented as strings and therefore 1.00 is unequal to 1 + // One way to eliminate these differences is to decode and encode the JSON one more time without Decoder.UseNumber + // so that these differences in representation are removed + + jsonString, err := marshalToJSONString(value) + if err != nil { + return nil, err + } + + var document interface{} + + err = json.Unmarshal([]byte(*jsonString), &document) + if err != nil { + return nil, err + } + + return marshalToJSONString(document) +} + +func isJSONNumber(what interface{}) bool { + + switch what.(type) { + + case json.Number: + return true + } + + return false +} + +func checkJSONInteger(what interface{}) (isInt bool) { + + jsonNumber := what.(json.Number) + + bigFloat, isValidNumber := new(big.Rat).SetString(string(jsonNumber)) + + return isValidNumber && bigFloat.IsInt() + +} + +// same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER +const ( + maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 + minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 +) + +func mustBeInteger(what interface{}) *int { + + if isJSONNumber(what) { + + number := what.(json.Number) + + isInt := checkJSONInteger(number) + + if isInt { + + int64Value, err := number.Int64() + if err != nil { + return nil + } + + int32Value := int(int64Value) + return &int32Value + } + + } + + return nil +} + +func mustBeNumber(what interface{}) *big.Rat { + + if isJSONNumber(what) { + number := what.(json.Number) + float64Value, success := new(big.Rat).SetString(string(number)) + if success { + return float64Value + } + } + + return nil + +} + +func convertDocumentNode(val interface{}) interface{} { + + if lval, ok := val.([]interface{}); ok { + + res := []interface{}{} + for _, v := range lval { + res = append(res, convertDocumentNode(v)) + } + + return res + + } + + if mval, ok := val.(map[interface{}]interface{}); ok { + + res := map[string]interface{}{} + + for k, v := range mval { + res[k.(string)] = convertDocumentNode(v) + } + + return res + + } + + return val +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/validation.go b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/validation.go new file mode 100644 index 0000000..74091bc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/github.com/xeipuuv/gojsonschema/validation.go @@ -0,0 +1,858 @@ +// Copyright 2015 xeipuuv ( https://github.com/xeipuuv ) +// +// 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. + +// author xeipuuv +// author-github https://github.com/xeipuuv +// author-mail xeipuuv@gmail.com +// +// repository-name gojsonschema +// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language. +// +// description Extends Schema and subSchema, implements the validation phase. +// +// created 28-02-2013 + +package gojsonschema + +import ( + "encoding/json" + "math/big" + "reflect" + "regexp" + "strconv" + "strings" + "unicode/utf8" +) + +// Validate loads and validates a JSON schema +func Validate(ls JSONLoader, ld JSONLoader) (*Result, error) { + // load schema + schema, err := NewSchema(ls) + if err != nil { + return nil, err + } + return schema.Validate(ld) +} + +// Validate loads and validates a JSON document +func (v *Schema) Validate(l JSONLoader) (*Result, error) { + root, err := l.LoadJSON() + if err != nil { + return nil, err + } + return v.validateDocument(root), nil +} + +func (v *Schema) validateDocument(root interface{}) *Result { + result := &Result{} + context := NewJsonContext(STRING_CONTEXT_ROOT, nil) + v.rootSchema.validateRecursive(v.rootSchema, root, result, context) + return result +} + +func (v *subSchema) subValidateWithContext(document interface{}, context *JsonContext) *Result { + result := &Result{} + v.validateRecursive(v, document, result, context) + return result +} + +// Walker function to validate the json recursively against the subSchema +func (v *subSchema) validateRecursive(currentSubSchema *subSchema, currentNode interface{}, result *Result, context *JsonContext) { + + if internalLogEnabled { + internalLog("validateRecursive %s", context.String()) + internalLog(" %v", currentNode) + } + + // Handle true/false schema as early as possible as all other fields will be nil + if currentSubSchema.pass != nil { + if !*currentSubSchema.pass { + result.addInternalError( + new(FalseError), + context, + currentNode, + ErrorDetails{}, + ) + } + return + } + + // Handle referenced schemas, returns directly when a $ref is found + if currentSubSchema.refSchema != nil { + v.validateRecursive(currentSubSchema.refSchema, currentNode, result, context) + return + } + + // Check for null value + if currentNode == nil { + if currentSubSchema.types.IsTyped() && !currentSubSchema.types.Contains(TYPE_NULL) { + result.addInternalError( + new(InvalidTypeError), + context, + currentNode, + ErrorDetails{ + "expected": currentSubSchema.types.String(), + "given": TYPE_NULL, + }, + ) + return + } + + currentSubSchema.validateSchema(currentSubSchema, currentNode, result, context) + v.validateCommon(currentSubSchema, currentNode, result, context) + + } else { // Not a null value + + if isJSONNumber(currentNode) { + + value := currentNode.(json.Number) + + isInt := checkJSONInteger(value) + + validType := currentSubSchema.types.Contains(TYPE_NUMBER) || (isInt && currentSubSchema.types.Contains(TYPE_INTEGER)) + + if currentSubSchema.types.IsTyped() && !validType { + + givenType := TYPE_INTEGER + if !isInt { + givenType = TYPE_NUMBER + } + + result.addInternalError( + new(InvalidTypeError), + context, + currentNode, + ErrorDetails{ + "expected": currentSubSchema.types.String(), + "given": givenType, + }, + ) + return + } + + currentSubSchema.validateSchema(currentSubSchema, value, result, context) + v.validateNumber(currentSubSchema, value, result, context) + v.validateCommon(currentSubSchema, value, result, context) + v.validateString(currentSubSchema, value, result, context) + + } else { + + rValue := reflect.ValueOf(currentNode) + rKind := rValue.Kind() + + switch rKind { + + // Slice => JSON array + + case reflect.Slice: + + if currentSubSchema.types.IsTyped() && !currentSubSchema.types.Contains(TYPE_ARRAY) { + result.addInternalError( + new(InvalidTypeError), + context, + currentNode, + ErrorDetails{ + "expected": currentSubSchema.types.String(), + "given": TYPE_ARRAY, + }, + ) + return + } + + castCurrentNode := currentNode.([]interface{}) + + currentSubSchema.validateSchema(currentSubSchema, castCurrentNode, result, context) + + v.validateArray(currentSubSchema, castCurrentNode, result, context) + v.validateCommon(currentSubSchema, castCurrentNode, result, context) + + // Map => JSON object + + case reflect.Map: + if currentSubSchema.types.IsTyped() && !currentSubSchema.types.Contains(TYPE_OBJECT) { + result.addInternalError( + new(InvalidTypeError), + context, + currentNode, + ErrorDetails{ + "expected": currentSubSchema.types.String(), + "given": TYPE_OBJECT, + }, + ) + return + } + + castCurrentNode, ok := currentNode.(map[string]interface{}) + if !ok { + castCurrentNode = convertDocumentNode(currentNode).(map[string]interface{}) + } + + currentSubSchema.validateSchema(currentSubSchema, castCurrentNode, result, context) + + v.validateObject(currentSubSchema, castCurrentNode, result, context) + v.validateCommon(currentSubSchema, castCurrentNode, result, context) + + for _, pSchema := range currentSubSchema.propertiesChildren { + nextNode, ok := castCurrentNode[pSchema.property] + if ok { + subContext := NewJsonContext(pSchema.property, context) + v.validateRecursive(pSchema, nextNode, result, subContext) + } + } + + // Simple JSON values : string, number, boolean + + case reflect.Bool: + + if currentSubSchema.types.IsTyped() && !currentSubSchema.types.Contains(TYPE_BOOLEAN) { + result.addInternalError( + new(InvalidTypeError), + context, + currentNode, + ErrorDetails{ + "expected": currentSubSchema.types.String(), + "given": TYPE_BOOLEAN, + }, + ) + return + } + + value := currentNode.(bool) + + currentSubSchema.validateSchema(currentSubSchema, value, result, context) + v.validateNumber(currentSubSchema, value, result, context) + v.validateCommon(currentSubSchema, value, result, context) + v.validateString(currentSubSchema, value, result, context) + + case reflect.String: + + if currentSubSchema.types.IsTyped() && !currentSubSchema.types.Contains(TYPE_STRING) { + result.addInternalError( + new(InvalidTypeError), + context, + currentNode, + ErrorDetails{ + "expected": currentSubSchema.types.String(), + "given": TYPE_STRING, + }, + ) + return + } + + value := currentNode.(string) + + currentSubSchema.validateSchema(currentSubSchema, value, result, context) + v.validateNumber(currentSubSchema, value, result, context) + v.validateCommon(currentSubSchema, value, result, context) + v.validateString(currentSubSchema, value, result, context) + + } + + } + + } + + result.incrementScore() +} + +// Different kinds of validation there, subSchema / common / array / object / string... +func (v *subSchema) validateSchema(currentSubSchema *subSchema, currentNode interface{}, result *Result, context *JsonContext) { + + if internalLogEnabled { + internalLog("validateSchema %s", context.String()) + internalLog(" %v", currentNode) + } + + if len(currentSubSchema.anyOf) > 0 { + + validatedAnyOf := false + var bestValidationResult *Result + + for _, anyOfSchema := range currentSubSchema.anyOf { + if !validatedAnyOf { + validationResult := anyOfSchema.subValidateWithContext(currentNode, context) + validatedAnyOf = validationResult.Valid() + + if !validatedAnyOf && (bestValidationResult == nil || validationResult.score > bestValidationResult.score) { + bestValidationResult = validationResult + } + } + } + if !validatedAnyOf { + + result.addInternalError(new(NumberAnyOfError), context, currentNode, ErrorDetails{}) + + if bestValidationResult != nil { + // add error messages of closest matching subSchema as + // that's probably the one the user was trying to match + result.mergeErrors(bestValidationResult) + } + } + } + + if len(currentSubSchema.oneOf) > 0 { + + nbValidated := 0 + var bestValidationResult *Result + + for _, oneOfSchema := range currentSubSchema.oneOf { + validationResult := oneOfSchema.subValidateWithContext(currentNode, context) + if validationResult.Valid() { + nbValidated++ + } else if nbValidated == 0 && (bestValidationResult == nil || validationResult.score > bestValidationResult.score) { + bestValidationResult = validationResult + } + } + + if nbValidated != 1 { + + result.addInternalError(new(NumberOneOfError), context, currentNode, ErrorDetails{}) + + if nbValidated == 0 { + // add error messages of closest matching subSchema as + // that's probably the one the user was trying to match + result.mergeErrors(bestValidationResult) + } + } + + } + + if len(currentSubSchema.allOf) > 0 { + nbValidated := 0 + + for _, allOfSchema := range currentSubSchema.allOf { + validationResult := allOfSchema.subValidateWithContext(currentNode, context) + if validationResult.Valid() { + nbValidated++ + } + result.mergeErrors(validationResult) + } + + if nbValidated != len(currentSubSchema.allOf) { + result.addInternalError(new(NumberAllOfError), context, currentNode, ErrorDetails{}) + } + } + + if currentSubSchema.not != nil { + validationResult := currentSubSchema.not.subValidateWithContext(currentNode, context) + if validationResult.Valid() { + result.addInternalError(new(NumberNotError), context, currentNode, ErrorDetails{}) + } + } + + if currentSubSchema.dependencies != nil && len(currentSubSchema.dependencies) > 0 { + if isKind(currentNode, reflect.Map) { + for elementKey := range currentNode.(map[string]interface{}) { + if dependency, ok := currentSubSchema.dependencies[elementKey]; ok { + switch dependency := dependency.(type) { + + case []string: + for _, dependOnKey := range dependency { + if _, dependencyResolved := currentNode.(map[string]interface{})[dependOnKey]; !dependencyResolved { + result.addInternalError( + new(MissingDependencyError), + context, + currentNode, + ErrorDetails{"dependency": dependOnKey}, + ) + } + } + + case *subSchema: + dependency.validateRecursive(dependency, currentNode, result, context) + } + } + } + } + } + + if currentSubSchema._if != nil { + validationResultIf := currentSubSchema._if.subValidateWithContext(currentNode, context) + if currentSubSchema._then != nil && validationResultIf.Valid() { + validationResultThen := currentSubSchema._then.subValidateWithContext(currentNode, context) + if !validationResultThen.Valid() { + result.addInternalError(new(ConditionThenError), context, currentNode, ErrorDetails{}) + result.mergeErrors(validationResultThen) + } + } + if currentSubSchema._else != nil && !validationResultIf.Valid() { + validationResultElse := currentSubSchema._else.subValidateWithContext(currentNode, context) + if !validationResultElse.Valid() { + result.addInternalError(new(ConditionElseError), context, currentNode, ErrorDetails{}) + result.mergeErrors(validationResultElse) + } + } + } + + result.incrementScore() +} + +func (v *subSchema) validateCommon(currentSubSchema *subSchema, value interface{}, result *Result, context *JsonContext) { + + if internalLogEnabled { + internalLog("validateCommon %s", context.String()) + internalLog(" %v", value) + } + + // const: + if currentSubSchema._const != nil { + vString, err := marshalWithoutNumber(value) + if err != nil { + result.addInternalError(new(InternalError), context, value, ErrorDetails{"error": err}) + } + if *vString != *currentSubSchema._const { + result.addInternalError(new(ConstError), + context, + value, + ErrorDetails{ + "allowed": *currentSubSchema._const, + }, + ) + } + } + + // enum: + if len(currentSubSchema.enum) > 0 { + vString, err := marshalWithoutNumber(value) + if err != nil { + result.addInternalError(new(InternalError), context, value, ErrorDetails{"error": err}) + } + if !isStringInSlice(currentSubSchema.enum, *vString) { + result.addInternalError( + new(EnumError), + context, + value, + ErrorDetails{ + "allowed": strings.Join(currentSubSchema.enum, ", "), + }, + ) + } + } + + result.incrementScore() +} + +func (v *subSchema) validateArray(currentSubSchema *subSchema, value []interface{}, result *Result, context *JsonContext) { + + if internalLogEnabled { + internalLog("validateArray %s", context.String()) + internalLog(" %v", value) + } + + nbValues := len(value) + + // TODO explain + if currentSubSchema.itemsChildrenIsSingleSchema { + for i := range value { + subContext := NewJsonContext(strconv.Itoa(i), context) + validationResult := currentSubSchema.itemsChildren[0].subValidateWithContext(value[i], subContext) + result.mergeErrors(validationResult) + } + } else { + if currentSubSchema.itemsChildren != nil && len(currentSubSchema.itemsChildren) > 0 { + + nbItems := len(currentSubSchema.itemsChildren) + + // while we have both schemas and values, check them against each other + for i := 0; i != nbItems && i != nbValues; i++ { + subContext := NewJsonContext(strconv.Itoa(i), context) + validationResult := currentSubSchema.itemsChildren[i].subValidateWithContext(value[i], subContext) + result.mergeErrors(validationResult) + } + + if nbItems < nbValues { + // we have less schemas than elements in the instance array, + // but that might be ok if "additionalItems" is specified. + + switch currentSubSchema.additionalItems.(type) { + case bool: + if !currentSubSchema.additionalItems.(bool) { + result.addInternalError(new(ArrayNoAdditionalItemsError), context, value, ErrorDetails{}) + } + case *subSchema: + additionalItemSchema := currentSubSchema.additionalItems.(*subSchema) + for i := nbItems; i != nbValues; i++ { + subContext := NewJsonContext(strconv.Itoa(i), context) + validationResult := additionalItemSchema.subValidateWithContext(value[i], subContext) + result.mergeErrors(validationResult) + } + } + } + } + } + + // minItems & maxItems + if currentSubSchema.minItems != nil { + if nbValues < int(*currentSubSchema.minItems) { + result.addInternalError( + new(ArrayMinItemsError), + context, + value, + ErrorDetails{"min": *currentSubSchema.minItems}, + ) + } + } + if currentSubSchema.maxItems != nil { + if nbValues > int(*currentSubSchema.maxItems) { + result.addInternalError( + new(ArrayMaxItemsError), + context, + value, + ErrorDetails{"max": *currentSubSchema.maxItems}, + ) + } + } + + // uniqueItems: + if currentSubSchema.uniqueItems { + var stringifiedItems = make(map[string]int) + for j, v := range value { + vString, err := marshalWithoutNumber(v) + if err != nil { + result.addInternalError(new(InternalError), context, value, ErrorDetails{"err": err}) + } + if i, ok := stringifiedItems[*vString]; ok { + result.addInternalError( + new(ItemsMustBeUniqueError), + context, + value, + ErrorDetails{"type": TYPE_ARRAY, "i": i, "j": j}, + ) + } + stringifiedItems[*vString] = j + } + } + + // contains: + + if currentSubSchema.contains != nil { + validatedOne := false + var bestValidationResult *Result + + for i, v := range value { + subContext := NewJsonContext(strconv.Itoa(i), context) + + validationResult := currentSubSchema.contains.subValidateWithContext(v, subContext) + if validationResult.Valid() { + validatedOne = true + break + } else { + if bestValidationResult == nil || validationResult.score > bestValidationResult.score { + bestValidationResult = validationResult + } + } + } + if !validatedOne { + result.addInternalError( + new(ArrayContainsError), + context, + value, + ErrorDetails{}, + ) + if bestValidationResult != nil { + result.mergeErrors(bestValidationResult) + } + } + } + + result.incrementScore() +} + +func (v *subSchema) validateObject(currentSubSchema *subSchema, value map[string]interface{}, result *Result, context *JsonContext) { + + if internalLogEnabled { + internalLog("validateObject %s", context.String()) + internalLog(" %v", value) + } + + // minProperties & maxProperties: + if currentSubSchema.minProperties != nil { + if len(value) < int(*currentSubSchema.minProperties) { + result.addInternalError( + new(ArrayMinPropertiesError), + context, + value, + ErrorDetails{"min": *currentSubSchema.minProperties}, + ) + } + } + if currentSubSchema.maxProperties != nil { + if len(value) > int(*currentSubSchema.maxProperties) { + result.addInternalError( + new(ArrayMaxPropertiesError), + context, + value, + ErrorDetails{"max": *currentSubSchema.maxProperties}, + ) + } + } + + // required: + for _, requiredProperty := range currentSubSchema.required { + _, ok := value[requiredProperty] + if ok { + result.incrementScore() + } else { + result.addInternalError( + new(RequiredError), + context, + value, + ErrorDetails{"property": requiredProperty}, + ) + } + } + + // additionalProperty & patternProperty: + for pk := range value { + + // Check whether this property is described by "properties" + found := false + for _, spValue := range currentSubSchema.propertiesChildren { + if pk == spValue.property { + found = true + } + } + + // Check whether this property is described by "patternProperties" + ppMatch := v.validatePatternProperty(currentSubSchema, pk, value[pk], result, context) + + // If it is not described by neither "properties" nor "patternProperties" it must pass "additionalProperties" + if !found && !ppMatch { + switch ap := currentSubSchema.additionalProperties.(type) { + case bool: + // Handle the boolean case separately as it's cleaner to return a specific error than failing to pass the false schema + if !ap { + result.addInternalError( + new(AdditionalPropertyNotAllowedError), + context, + value[pk], + ErrorDetails{"property": pk}, + ) + + } + case *subSchema: + validationResult := ap.subValidateWithContext(value[pk], NewJsonContext(pk, context)) + result.mergeErrors(validationResult) + } + } + } + + // propertyNames: + if currentSubSchema.propertyNames != nil { + for pk := range value { + validationResult := currentSubSchema.propertyNames.subValidateWithContext(pk, context) + if !validationResult.Valid() { + result.addInternalError(new(InvalidPropertyNameError), + context, + value, ErrorDetails{ + "property": pk, + }) + result.mergeErrors(validationResult) + } + } + } + + result.incrementScore() +} + +func (v *subSchema) validatePatternProperty(currentSubSchema *subSchema, key string, value interface{}, result *Result, context *JsonContext) bool { + + if internalLogEnabled { + internalLog("validatePatternProperty %s", context.String()) + internalLog(" %s %v", key, value) + } + + validated := false + + for pk, pv := range currentSubSchema.patternProperties { + if matches, _ := regexp.MatchString(pk, key); matches { + validated = true + subContext := NewJsonContext(key, context) + validationResult := pv.subValidateWithContext(value, subContext) + result.mergeErrors(validationResult) + } + } + + if !validated { + return false + } + + result.incrementScore() + return true +} + +func (v *subSchema) validateString(currentSubSchema *subSchema, value interface{}, result *Result, context *JsonContext) { + + // Ignore JSON numbers + if isJSONNumber(value) { + return + } + + // Ignore non strings + if !isKind(value, reflect.String) { + return + } + + if internalLogEnabled { + internalLog("validateString %s", context.String()) + internalLog(" %v", value) + } + + stringValue := value.(string) + + // minLength & maxLength: + if currentSubSchema.minLength != nil { + if utf8.RuneCount([]byte(stringValue)) < int(*currentSubSchema.minLength) { + result.addInternalError( + new(StringLengthGTEError), + context, + value, + ErrorDetails{"min": *currentSubSchema.minLength}, + ) + } + } + if currentSubSchema.maxLength != nil { + if utf8.RuneCount([]byte(stringValue)) > int(*currentSubSchema.maxLength) { + result.addInternalError( + new(StringLengthLTEError), + context, + value, + ErrorDetails{"max": *currentSubSchema.maxLength}, + ) + } + } + + // pattern: + if currentSubSchema.pattern != nil { + if !currentSubSchema.pattern.MatchString(stringValue) { + result.addInternalError( + new(DoesNotMatchPatternError), + context, + value, + ErrorDetails{"pattern": currentSubSchema.pattern}, + ) + + } + } + + // format + if currentSubSchema.format != "" { + if !FormatCheckers.IsFormat(currentSubSchema.format, stringValue) { + result.addInternalError( + new(DoesNotMatchFormatError), + context, + value, + ErrorDetails{"format": currentSubSchema.format}, + ) + } + } + + result.incrementScore() +} + +func (v *subSchema) validateNumber(currentSubSchema *subSchema, value interface{}, result *Result, context *JsonContext) { + + // Ignore non numbers + if !isJSONNumber(value) { + return + } + + if internalLogEnabled { + internalLog("validateNumber %s", context.String()) + internalLog(" %v", value) + } + + number := value.(json.Number) + float64Value, _ := new(big.Rat).SetString(string(number)) + + // multipleOf: + if currentSubSchema.multipleOf != nil { + if q := new(big.Rat).Quo(float64Value, currentSubSchema.multipleOf); !q.IsInt() { + result.addInternalError( + new(MultipleOfError), + context, + number, + ErrorDetails{ + "multiple": new(big.Float).SetRat(currentSubSchema.multipleOf), + }, + ) + } + } + + //maximum & exclusiveMaximum: + if currentSubSchema.maximum != nil { + if float64Value.Cmp(currentSubSchema.maximum) == 1 { + result.addInternalError( + new(NumberLTEError), + context, + number, + ErrorDetails{ + "max": new(big.Float).SetRat(currentSubSchema.maximum), + }, + ) + } + } + if currentSubSchema.exclusiveMaximum != nil { + if float64Value.Cmp(currentSubSchema.exclusiveMaximum) >= 0 { + result.addInternalError( + new(NumberLTError), + context, + number, + ErrorDetails{ + "max": new(big.Float).SetRat(currentSubSchema.exclusiveMaximum), + }, + ) + } + } + + //minimum & exclusiveMinimum: + if currentSubSchema.minimum != nil { + if float64Value.Cmp(currentSubSchema.minimum) == -1 { + result.addInternalError( + new(NumberGTEError), + context, + number, + ErrorDetails{ + "min": new(big.Float).SetRat(currentSubSchema.minimum), + }, + ) + } + } + if currentSubSchema.exclusiveMinimum != nil { + if float64Value.Cmp(currentSubSchema.exclusiveMinimum) <= 0 { + result.addInternalError( + new(NumberGTError), + context, + number, + ErrorDetails{ + "min": new(big.Float).SetRat(currentSubSchema.exclusiveMinimum), + }, + ) + } + } + + // format + if currentSubSchema.format != "" { + if !FormatCheckers.IsFormat(currentSubSchema.format, float64Value) { + result.addInternalError( + new(DoesNotMatchFormatError), + context, + value, + ErrorDetails{"format": currentSubSchema.format}, + ) + } + } + + result.incrementScore() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/AUTHORS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/AUTHORS new file mode 100644 index 0000000..15167cd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/CONTRIBUTORS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/CONTRIBUTORS new file mode 100644 index 0000000..1c4577e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/PATENTS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/PATENTS new file mode 100644 index 0000000..7330990 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google 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, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/guts.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/guts.go new file mode 100644 index 0000000..e6cd0ce --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/guts.go @@ -0,0 +1,50 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package httpguts provides functions implementing various details +// of the HTTP specification. +// +// This package is shared by the standard library (which vendors it) +// and x/net/http2. It comes with no API stability promise. +package httpguts + +import ( + "net/textproto" + "strings" +) + +// ValidTrailerHeader reports whether name is a valid header field name to appear +// in trailers. +// See RFC 7230, Section 4.1.2 +func ValidTrailerHeader(name string) bool { + name = textproto.CanonicalMIMEHeaderKey(name) + if strings.HasPrefix(name, "If-") || badTrailer[name] { + return false + } + return true +} + +var badTrailer = map[string]bool{ + "Authorization": true, + "Cache-Control": true, + "Connection": true, + "Content-Encoding": true, + "Content-Length": true, + "Content-Range": true, + "Content-Type": true, + "Expect": true, + "Host": true, + "Keep-Alive": true, + "Max-Forwards": true, + "Pragma": true, + "Proxy-Authenticate": true, + "Proxy-Authorization": true, + "Proxy-Connection": true, + "Range": true, + "Realm": true, + "Te": true, + "Trailer": true, + "Transfer-Encoding": true, + "Www-Authenticate": true, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/httplex.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/httplex.go new file mode 100644 index 0000000..e7de24e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http/httpguts/httplex.go @@ -0,0 +1,346 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package httpguts + +import ( + "net" + "strings" + "unicode/utf8" + + "golang.org/x/net/idna" +) + +var isTokenTable = [127]bool{ + '!': true, + '#': true, + '$': true, + '%': true, + '&': true, + '\'': true, + '*': true, + '+': true, + '-': true, + '.': true, + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + 'A': true, + 'B': true, + 'C': true, + 'D': true, + 'E': true, + 'F': true, + 'G': true, + 'H': true, + 'I': true, + 'J': true, + 'K': true, + 'L': true, + 'M': true, + 'N': true, + 'O': true, + 'P': true, + 'Q': true, + 'R': true, + 'S': true, + 'T': true, + 'U': true, + 'W': true, + 'V': true, + 'X': true, + 'Y': true, + 'Z': true, + '^': true, + '_': true, + '`': true, + 'a': true, + 'b': true, + 'c': true, + 'd': true, + 'e': true, + 'f': true, + 'g': true, + 'h': true, + 'i': true, + 'j': true, + 'k': true, + 'l': true, + 'm': true, + 'n': true, + 'o': true, + 'p': true, + 'q': true, + 'r': true, + 's': true, + 't': true, + 'u': true, + 'v': true, + 'w': true, + 'x': true, + 'y': true, + 'z': true, + '|': true, + '~': true, +} + +func IsTokenRune(r rune) bool { + i := int(r) + return i < len(isTokenTable) && isTokenTable[i] +} + +func isNotToken(r rune) bool { + return !IsTokenRune(r) +} + +// HeaderValuesContainsToken reports whether any string in values +// contains the provided token, ASCII case-insensitively. +func HeaderValuesContainsToken(values []string, token string) bool { + for _, v := range values { + if headerValueContainsToken(v, token) { + return true + } + } + return false +} + +// isOWS reports whether b is an optional whitespace byte, as defined +// by RFC 7230 section 3.2.3. +func isOWS(b byte) bool { return b == ' ' || b == '\t' } + +// trimOWS returns x with all optional whitespace removes from the +// beginning and end. +func trimOWS(x string) string { + // TODO: consider using strings.Trim(x, " \t") instead, + // if and when it's fast enough. See issue 10292. + // But this ASCII-only code will probably always beat UTF-8 + // aware code. + for len(x) > 0 && isOWS(x[0]) { + x = x[1:] + } + for len(x) > 0 && isOWS(x[len(x)-1]) { + x = x[:len(x)-1] + } + return x +} + +// headerValueContainsToken reports whether v (assumed to be a +// 0#element, in the ABNF extension described in RFC 7230 section 7) +// contains token amongst its comma-separated tokens, ASCII +// case-insensitively. +func headerValueContainsToken(v string, token string) bool { + v = trimOWS(v) + if comma := strings.IndexByte(v, ','); comma != -1 { + return tokenEqual(trimOWS(v[:comma]), token) || headerValueContainsToken(v[comma+1:], token) + } + return tokenEqual(v, token) +} + +// lowerASCII returns the ASCII lowercase version of b. +func lowerASCII(b byte) byte { + if 'A' <= b && b <= 'Z' { + return b + ('a' - 'A') + } + return b +} + +// tokenEqual reports whether t1 and t2 are equal, ASCII case-insensitively. +func tokenEqual(t1, t2 string) bool { + if len(t1) != len(t2) { + return false + } + for i, b := range t1 { + if b >= utf8.RuneSelf { + // No UTF-8 or non-ASCII allowed in tokens. + return false + } + if lowerASCII(byte(b)) != lowerASCII(t2[i]) { + return false + } + } + return true +} + +// isLWS reports whether b is linear white space, according +// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 +// LWS = [CRLF] 1*( SP | HT ) +func isLWS(b byte) bool { return b == ' ' || b == '\t' } + +// isCTL reports whether b is a control byte, according +// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 +// CTL = +func isCTL(b byte) bool { + const del = 0x7f // a CTL + return b < ' ' || b == del +} + +// ValidHeaderFieldName reports whether v is a valid HTTP/1.x header name. +// HTTP/2 imposes the additional restriction that uppercase ASCII +// letters are not allowed. +// +// RFC 7230 says: +// header-field = field-name ":" OWS field-value OWS +// field-name = token +// token = 1*tchar +// tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / +// "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA +func ValidHeaderFieldName(v string) bool { + if len(v) == 0 { + return false + } + for _, r := range v { + if !IsTokenRune(r) { + return false + } + } + return true +} + +// ValidHostHeader reports whether h is a valid host header. +func ValidHostHeader(h string) bool { + // The latest spec is actually this: + // + // http://tools.ietf.org/html/rfc7230#section-5.4 + // Host = uri-host [ ":" port ] + // + // Where uri-host is: + // http://tools.ietf.org/html/rfc3986#section-3.2.2 + // + // But we're going to be much more lenient for now and just + // search for any byte that's not a valid byte in any of those + // expressions. + for i := 0; i < len(h); i++ { + if !validHostByte[h[i]] { + return false + } + } + return true +} + +// See the validHostHeader comment. +var validHostByte = [256]bool{ + '0': true, '1': true, '2': true, '3': true, '4': true, '5': true, '6': true, '7': true, + '8': true, '9': true, + + 'a': true, 'b': true, 'c': true, 'd': true, 'e': true, 'f': true, 'g': true, 'h': true, + 'i': true, 'j': true, 'k': true, 'l': true, 'm': true, 'n': true, 'o': true, 'p': true, + 'q': true, 'r': true, 's': true, 't': true, 'u': true, 'v': true, 'w': true, 'x': true, + 'y': true, 'z': true, + + 'A': true, 'B': true, 'C': true, 'D': true, 'E': true, 'F': true, 'G': true, 'H': true, + 'I': true, 'J': true, 'K': true, 'L': true, 'M': true, 'N': true, 'O': true, 'P': true, + 'Q': true, 'R': true, 'S': true, 'T': true, 'U': true, 'V': true, 'W': true, 'X': true, + 'Y': true, 'Z': true, + + '!': true, // sub-delims + '$': true, // sub-delims + '%': true, // pct-encoded (and used in IPv6 zones) + '&': true, // sub-delims + '(': true, // sub-delims + ')': true, // sub-delims + '*': true, // sub-delims + '+': true, // sub-delims + ',': true, // sub-delims + '-': true, // unreserved + '.': true, // unreserved + ':': true, // IPv6address + Host expression's optional port + ';': true, // sub-delims + '=': true, // sub-delims + '[': true, + '\'': true, // sub-delims + ']': true, + '_': true, // unreserved + '~': true, // unreserved +} + +// ValidHeaderFieldValue reports whether v is a valid "field-value" according to +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 : +// +// message-header = field-name ":" [ field-value ] +// field-value = *( field-content | LWS ) +// field-content = +// +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 : +// +// TEXT = +// LWS = [CRLF] 1*( SP | HT ) +// CTL = +// +// RFC 7230 says: +// field-value = *( field-content / obs-fold ) +// obj-fold = N/A to http2, and deprecated +// field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] +// field-vchar = VCHAR / obs-text +// obs-text = %x80-FF +// VCHAR = "any visible [USASCII] character" +// +// http2 further says: "Similarly, HTTP/2 allows header field values +// that are not valid. While most of the values that can be encoded +// will not alter header field parsing, carriage return (CR, ASCII +// 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII +// 0x0) might be exploited by an attacker if they are translated +// verbatim. Any request or response that contains a character not +// permitted in a header field value MUST be treated as malformed +// (Section 8.1.2.6). Valid characters are defined by the +// field-content ABNF rule in Section 3.2 of [RFC7230]." +// +// This function does not (yet?) properly handle the rejection of +// strings that begin or end with SP or HTAB. +func ValidHeaderFieldValue(v string) bool { + for i := 0; i < len(v); i++ { + b := v[i] + if isCTL(b) && !isLWS(b) { + return false + } + } + return true +} + +func isASCII(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} + +// PunycodeHostPort returns the IDNA Punycode version +// of the provided "host" or "host:port" string. +func PunycodeHostPort(v string) (string, error) { + if isASCII(v) { + return v, nil + } + + host, port, err := net.SplitHostPort(v) + if err != nil { + // The input 'v' argument was just a "host" argument, + // without a port. This error should not be returned + // to the caller. + host = v + port = "" + } + host, err = idna.ToASCII(host) + if err != nil { + // Non-UTF-8? Not representable in Punycode, in any + // case. + return "", err + } + if port == "" { + return host, nil + } + return net.JoinHostPort(host, port), nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/.gitignore new file mode 100644 index 0000000..190f122 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/.gitignore @@ -0,0 +1,2 @@ +*~ +h2i/h2i diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Dockerfile b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Dockerfile new file mode 100644 index 0000000..53fc525 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Dockerfile @@ -0,0 +1,51 @@ +# +# This Dockerfile builds a recent curl with HTTP/2 client support, using +# a recent nghttp2 build. +# +# See the Makefile for how to tag it. If Docker and that image is found, the +# Go tests use this curl binary for integration tests. +# + +FROM ubuntu:trusty + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y git-core build-essential wget + +RUN apt-get install -y --no-install-recommends \ + autotools-dev libtool pkg-config zlib1g-dev \ + libcunit1-dev libssl-dev libxml2-dev libevent-dev \ + automake autoconf + +# The list of packages nghttp2 recommends for h2load: +RUN apt-get install -y --no-install-recommends make binutils \ + autoconf automake autotools-dev \ + libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev \ + libev-dev libevent-dev libjansson-dev libjemalloc-dev \ + cython python3.4-dev python-setuptools + +# Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached: +ENV NGHTTP2_VER 895da9a +RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git + +WORKDIR /root/nghttp2 +RUN git reset --hard $NGHTTP2_VER +RUN autoreconf -i +RUN automake +RUN autoconf +RUN ./configure +RUN make +RUN make install + +WORKDIR /root +RUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz +RUN tar -zxvf curl-7.45.0.tar.gz +WORKDIR /root/curl-7.45.0 +RUN ./configure --with-ssl --with-nghttp2=/usr/local +RUN make +RUN make install +RUN ldconfig + +CMD ["-h"] +ENTRYPOINT ["/usr/local/bin/curl"] + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Makefile b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Makefile new file mode 100644 index 0000000..55fd826 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/Makefile @@ -0,0 +1,3 @@ +curlimage: + docker build -t gohttp2/curl . + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/README b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/README new file mode 100644 index 0000000..360d5aa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/README @@ -0,0 +1,20 @@ +This is a work-in-progress HTTP/2 implementation for Go. + +It will eventually live in the Go standard library and won't require +any changes to your code to use. It will just be automatic. + +Status: + +* The server support is pretty good. A few things are missing + but are being worked on. +* The client work has just started but shares a lot of code + is coming along much quicker. + +Docs are at https://godoc.org/golang.org/x/net/http2 + +Demo test server at https://http2.golang.org/ + +Help & bug reports welcome! + +Contributing: https://golang.org/doc/contribute.html +Bugs: https://golang.org/issue/new?title=x/net/http2:+ diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/ciphers.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/ciphers.go new file mode 100644 index 0000000..c9a0cf3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/ciphers.go @@ -0,0 +1,641 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +// A list of the possible cipher suite ids. Taken from +// https://www.iana.org/assignments/tls-parameters/tls-parameters.txt + +const ( + cipher_TLS_NULL_WITH_NULL_NULL uint16 = 0x0000 + cipher_TLS_RSA_WITH_NULL_MD5 uint16 = 0x0001 + cipher_TLS_RSA_WITH_NULL_SHA uint16 = 0x0002 + cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5 uint16 = 0x0003 + cipher_TLS_RSA_WITH_RC4_128_MD5 uint16 = 0x0004 + cipher_TLS_RSA_WITH_RC4_128_SHA uint16 = 0x0005 + cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 uint16 = 0x0006 + cipher_TLS_RSA_WITH_IDEA_CBC_SHA uint16 = 0x0007 + cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0008 + cipher_TLS_RSA_WITH_DES_CBC_SHA uint16 = 0x0009 + cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x000A + cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x000B + cipher_TLS_DH_DSS_WITH_DES_CBC_SHA uint16 = 0x000C + cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0x000D + cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x000E + cipher_TLS_DH_RSA_WITH_DES_CBC_SHA uint16 = 0x000F + cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x0010 + cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011 + cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA uint16 = 0x0012 + cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0x0013 + cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014 + cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA uint16 = 0x0015 + cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x0016 + cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 uint16 = 0x0017 + cipher_TLS_DH_anon_WITH_RC4_128_MD5 uint16 = 0x0018 + cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019 + cipher_TLS_DH_anon_WITH_DES_CBC_SHA uint16 = 0x001A + cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA uint16 = 0x001B + // Reserved uint16 = 0x001C-1D + cipher_TLS_KRB5_WITH_DES_CBC_SHA uint16 = 0x001E + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA uint16 = 0x001F + cipher_TLS_KRB5_WITH_RC4_128_SHA uint16 = 0x0020 + cipher_TLS_KRB5_WITH_IDEA_CBC_SHA uint16 = 0x0021 + cipher_TLS_KRB5_WITH_DES_CBC_MD5 uint16 = 0x0022 + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5 uint16 = 0x0023 + cipher_TLS_KRB5_WITH_RC4_128_MD5 uint16 = 0x0024 + cipher_TLS_KRB5_WITH_IDEA_CBC_MD5 uint16 = 0x0025 + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA uint16 = 0x0026 + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA uint16 = 0x0027 + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA uint16 = 0x0028 + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 uint16 = 0x0029 + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 uint16 = 0x002A + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5 uint16 = 0x002B + cipher_TLS_PSK_WITH_NULL_SHA uint16 = 0x002C + cipher_TLS_DHE_PSK_WITH_NULL_SHA uint16 = 0x002D + cipher_TLS_RSA_PSK_WITH_NULL_SHA uint16 = 0x002E + cipher_TLS_RSA_WITH_AES_128_CBC_SHA uint16 = 0x002F + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA uint16 = 0x0030 + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA uint16 = 0x0031 + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA uint16 = 0x0032 + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0x0033 + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA uint16 = 0x0034 + cipher_TLS_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0035 + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA uint16 = 0x0036 + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0037 + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA uint16 = 0x0038 + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0039 + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA uint16 = 0x003A + cipher_TLS_RSA_WITH_NULL_SHA256 uint16 = 0x003B + cipher_TLS_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x003C + cipher_TLS_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x003D + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256 uint16 = 0x003E + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x003F + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 uint16 = 0x0040 + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0041 + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0042 + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0043 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044 + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045 + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046 + // Reserved uint16 = 0x0047-4F + // Reserved uint16 = 0x0050-58 + // Reserved uint16 = 0x0059-5C + // Unassigned uint16 = 0x005D-5F + // Reserved uint16 = 0x0060-66 + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067 + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x0068 + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x0069 + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D + // Unassigned uint16 = 0x006E-83 + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0084 + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0085 + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0086 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0087 + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0088 + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0089 + cipher_TLS_PSK_WITH_RC4_128_SHA uint16 = 0x008A + cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x008B + cipher_TLS_PSK_WITH_AES_128_CBC_SHA uint16 = 0x008C + cipher_TLS_PSK_WITH_AES_256_CBC_SHA uint16 = 0x008D + cipher_TLS_DHE_PSK_WITH_RC4_128_SHA uint16 = 0x008E + cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x008F + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA uint16 = 0x0090 + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA uint16 = 0x0091 + cipher_TLS_RSA_PSK_WITH_RC4_128_SHA uint16 = 0x0092 + cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x0093 + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA uint16 = 0x0094 + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA uint16 = 0x0095 + cipher_TLS_RSA_WITH_SEED_CBC_SHA uint16 = 0x0096 + cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA uint16 = 0x0097 + cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA uint16 = 0x0098 + cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA uint16 = 0x0099 + cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA uint16 = 0x009A + cipher_TLS_DH_anon_WITH_SEED_CBC_SHA uint16 = 0x009B + cipher_TLS_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x009C + cipher_TLS_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x009D + cipher_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x009E + cipher_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x009F + cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x00A0 + cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x00A1 + cipher_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 uint16 = 0x00A2 + cipher_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 uint16 = 0x00A3 + cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256 uint16 = 0x00A4 + cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384 uint16 = 0x00A5 + cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256 uint16 = 0x00A6 + cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384 uint16 = 0x00A7 + cipher_TLS_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00A8 + cipher_TLS_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00A9 + cipher_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00AA + cipher_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00AB + cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00AC + cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00AD + cipher_TLS_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00AE + cipher_TLS_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00AF + cipher_TLS_PSK_WITH_NULL_SHA256 uint16 = 0x00B0 + cipher_TLS_PSK_WITH_NULL_SHA384 uint16 = 0x00B1 + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00B2 + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00B3 + cipher_TLS_DHE_PSK_WITH_NULL_SHA256 uint16 = 0x00B4 + cipher_TLS_DHE_PSK_WITH_NULL_SHA384 uint16 = 0x00B5 + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00B6 + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00B7 + cipher_TLS_RSA_PSK_WITH_NULL_SHA256 uint16 = 0x00B8 + cipher_TLS_RSA_PSK_WITH_NULL_SHA384 uint16 = 0x00B9 + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BA + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BB + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BC + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C0 + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C1 + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C2 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3 + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4 + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5 + // Unassigned uint16 = 0x00C6-FE + cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF + // Unassigned uint16 = 0x01-55,* + cipher_TLS_FALLBACK_SCSV uint16 = 0x5600 + // Unassigned uint16 = 0x5601 - 0xC000 + cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA uint16 = 0xC001 + cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA uint16 = 0xC002 + cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC003 + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA uint16 = 0xC004 + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA uint16 = 0xC005 + cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA uint16 = 0xC006 + cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA uint16 = 0xC007 + cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC008 + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA uint16 = 0xC009 + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA uint16 = 0xC00A + cipher_TLS_ECDH_RSA_WITH_NULL_SHA uint16 = 0xC00B + cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA uint16 = 0xC00C + cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC00D + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC00E + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC00F + cipher_TLS_ECDHE_RSA_WITH_NULL_SHA uint16 = 0xC010 + cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA uint16 = 0xC011 + cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC012 + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC013 + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC014 + cipher_TLS_ECDH_anon_WITH_NULL_SHA uint16 = 0xC015 + cipher_TLS_ECDH_anon_WITH_RC4_128_SHA uint16 = 0xC016 + cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA uint16 = 0xC017 + cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA uint16 = 0xC018 + cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA uint16 = 0xC019 + cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01A + cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01B + cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01C + cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA uint16 = 0xC01D + cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC01E + cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA uint16 = 0xC01F + cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA uint16 = 0xC020 + cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC021 + cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA uint16 = 0xC022 + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC023 + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC024 + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC025 + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC026 + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC027 + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC028 + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC029 + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC02A + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02B + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC02C + cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02D + cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC02E + cipher_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02F + cipher_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC030 + cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC031 + cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC032 + cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA uint16 = 0xC033 + cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0xC034 + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA uint16 = 0xC035 + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA uint16 = 0xC036 + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0xC037 + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0xC038 + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA uint16 = 0xC039 + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256 uint16 = 0xC03A + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384 uint16 = 0xC03B + cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC03C + cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC03D + cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC03E + cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC03F + cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC040 + cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC041 + cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC042 + cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC043 + cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC044 + cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC045 + cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC046 + cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC047 + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC048 + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC049 + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04A + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04B + cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04C + cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04D + cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04E + cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04F + cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC050 + cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC051 + cipher_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC052 + cipher_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC053 + cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC054 + cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC055 + cipher_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC056 + cipher_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC057 + cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC058 + cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC059 + cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05A + cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05B + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05C + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05D + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05E + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05F + cipher_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC060 + cipher_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC061 + cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC062 + cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC063 + cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC064 + cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC065 + cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC066 + cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC067 + cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC068 + cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC069 + cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06A + cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06B + cipher_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06C + cipher_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06D + cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06E + cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06F + cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC070 + cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC071 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC074 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC075 + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC076 + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC077 + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC078 + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC079 + cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07A + cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07B + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07C + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07D + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07E + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07F + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC080 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC081 + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC082 + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC083 + cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC084 + cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC085 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC088 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC089 + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08A + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08B + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08C + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08D + cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08E + cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08F + cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC090 + cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC091 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC092 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC093 + cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC094 + cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC095 + cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC096 + cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC097 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC098 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC099 + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC09A + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC09B + cipher_TLS_RSA_WITH_AES_128_CCM uint16 = 0xC09C + cipher_TLS_RSA_WITH_AES_256_CCM uint16 = 0xC09D + cipher_TLS_DHE_RSA_WITH_AES_128_CCM uint16 = 0xC09E + cipher_TLS_DHE_RSA_WITH_AES_256_CCM uint16 = 0xC09F + cipher_TLS_RSA_WITH_AES_128_CCM_8 uint16 = 0xC0A0 + cipher_TLS_RSA_WITH_AES_256_CCM_8 uint16 = 0xC0A1 + cipher_TLS_DHE_RSA_WITH_AES_128_CCM_8 uint16 = 0xC0A2 + cipher_TLS_DHE_RSA_WITH_AES_256_CCM_8 uint16 = 0xC0A3 + cipher_TLS_PSK_WITH_AES_128_CCM uint16 = 0xC0A4 + cipher_TLS_PSK_WITH_AES_256_CCM uint16 = 0xC0A5 + cipher_TLS_DHE_PSK_WITH_AES_128_CCM uint16 = 0xC0A6 + cipher_TLS_DHE_PSK_WITH_AES_256_CCM uint16 = 0xC0A7 + cipher_TLS_PSK_WITH_AES_128_CCM_8 uint16 = 0xC0A8 + cipher_TLS_PSK_WITH_AES_256_CCM_8 uint16 = 0xC0A9 + cipher_TLS_PSK_DHE_WITH_AES_128_CCM_8 uint16 = 0xC0AA + cipher_TLS_PSK_DHE_WITH_AES_256_CCM_8 uint16 = 0xC0AB + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM uint16 = 0xC0AC + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM uint16 = 0xC0AD + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 uint16 = 0xC0AE + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 uint16 = 0xC0AF + // Unassigned uint16 = 0xC0B0-FF + // Unassigned uint16 = 0xC1-CB,* + // Unassigned uint16 = 0xCC00-A7 + cipher_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA8 + cipher_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA9 + cipher_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAA + cipher_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAB + cipher_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAC + cipher_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAD + cipher_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAE +) + +// isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec. +// References: +// https://tools.ietf.org/html/rfc7540#appendix-A +// Reject cipher suites from Appendix A. +// "This list includes those cipher suites that do not +// offer an ephemeral key exchange and those that are +// based on the TLS null, stream or block cipher type" +func isBadCipher(cipher uint16) bool { + switch cipher { + case cipher_TLS_NULL_WITH_NULL_NULL, + cipher_TLS_RSA_WITH_NULL_MD5, + cipher_TLS_RSA_WITH_NULL_SHA, + cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5, + cipher_TLS_RSA_WITH_RC4_128_MD5, + cipher_TLS_RSA_WITH_RC4_128_SHA, + cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, + cipher_TLS_RSA_WITH_IDEA_CBC_SHA, + cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_RSA_WITH_DES_CBC_SHA, + cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DH_DSS_WITH_DES_CBC_SHA, + cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DH_RSA_WITH_DES_CBC_SHA, + cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5, + cipher_TLS_DH_anon_WITH_RC4_128_MD5, + cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DH_anon_WITH_DES_CBC_SHA, + cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_KRB5_WITH_DES_CBC_SHA, + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_KRB5_WITH_RC4_128_SHA, + cipher_TLS_KRB5_WITH_IDEA_CBC_SHA, + cipher_TLS_KRB5_WITH_DES_CBC_MD5, + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5, + cipher_TLS_KRB5_WITH_RC4_128_MD5, + cipher_TLS_KRB5_WITH_IDEA_CBC_MD5, + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA, + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA, + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5, + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5, + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5, + cipher_TLS_PSK_WITH_NULL_SHA, + cipher_TLS_DHE_PSK_WITH_NULL_SHA, + cipher_TLS_RSA_PSK_WITH_NULL_SHA, + cipher_TLS_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA, + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA, + cipher_TLS_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA, + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA, + cipher_TLS_RSA_WITH_NULL_SHA256, + cipher_TLS_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_RSA_WITH_AES_256_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256, + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_PSK_WITH_RC4_128_SHA, + cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_DHE_PSK_WITH_RC4_128_SHA, + cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_RSA_PSK_WITH_RC4_128_SHA, + cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_RSA_WITH_SEED_CBC_SHA, + cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA, + cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA, + cipher_TLS_DH_anon_WITH_SEED_CBC_SHA, + cipher_TLS_RSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_RSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256, + cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384, + cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256, + cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384, + cipher_TLS_PSK_WITH_AES_128_GCM_SHA256, + cipher_TLS_PSK_WITH_AES_256_GCM_SHA384, + cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, + cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, + cipher_TLS_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_PSK_WITH_NULL_SHA256, + cipher_TLS_PSK_WITH_NULL_SHA384, + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_DHE_PSK_WITH_NULL_SHA256, + cipher_TLS_DHE_PSK_WITH_NULL_SHA384, + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_RSA_PSK_WITH_NULL_SHA256, + cipher_TLS_RSA_PSK_WITH_NULL_SHA384, + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV, + cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA, + cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, + cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDH_RSA_WITH_NULL_SHA, + cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA, + cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_RSA_WITH_NULL_SHA, + cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA, + cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDH_anon_WITH_NULL_SHA, + cipher_TLS_ECDH_anon_WITH_RC4_128_SHA, + cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA, + cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA, + cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, + cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA, + cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA, + cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA, + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256, + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384, + cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_RSA_WITH_AES_128_CCM, + cipher_TLS_RSA_WITH_AES_256_CCM, + cipher_TLS_RSA_WITH_AES_128_CCM_8, + cipher_TLS_RSA_WITH_AES_256_CCM_8, + cipher_TLS_PSK_WITH_AES_128_CCM, + cipher_TLS_PSK_WITH_AES_256_CCM, + cipher_TLS_PSK_WITH_AES_128_CCM_8, + cipher_TLS_PSK_WITH_AES_256_CCM_8: + return true + default: + return false + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/client_conn_pool.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/client_conn_pool.go new file mode 100644 index 0000000..f4d9b5e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/client_conn_pool.go @@ -0,0 +1,282 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Transport code's client connection pooling. + +package http2 + +import ( + "crypto/tls" + "net/http" + "sync" +) + +// ClientConnPool manages a pool of HTTP/2 client connections. +type ClientConnPool interface { + GetClientConn(req *http.Request, addr string) (*ClientConn, error) + MarkDead(*ClientConn) +} + +// clientConnPoolIdleCloser is the interface implemented by ClientConnPool +// implementations which can close their idle connections. +type clientConnPoolIdleCloser interface { + ClientConnPool + closeIdleConnections() +} + +var ( + _ clientConnPoolIdleCloser = (*clientConnPool)(nil) + _ clientConnPoolIdleCloser = noDialClientConnPool{} +) + +// TODO: use singleflight for dialing and addConnCalls? +type clientConnPool struct { + t *Transport + + mu sync.Mutex // TODO: maybe switch to RWMutex + // TODO: add support for sharing conns based on cert names + // (e.g. share conn for googleapis.com and appspot.com) + conns map[string][]*ClientConn // key is host:port + dialing map[string]*dialCall // currently in-flight dials + keys map[*ClientConn][]string + addConnCalls map[string]*addConnCall // in-flight addConnIfNeede calls +} + +func (p *clientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { + return p.getClientConn(req, addr, dialOnMiss) +} + +const ( + dialOnMiss = true + noDialOnMiss = false +) + +// shouldTraceGetConn reports whether getClientConn should call any +// ClientTrace.GetConn hook associated with the http.Request. +// +// This complexity is needed to avoid double calls of the GetConn hook +// during the back-and-forth between net/http and x/net/http2 (when the +// net/http.Transport is upgraded to also speak http2), as well as support +// the case where x/net/http2 is being used directly. +func (p *clientConnPool) shouldTraceGetConn(st clientConnIdleState) bool { + // If our Transport wasn't made via ConfigureTransport, always + // trace the GetConn hook if provided, because that means the + // http2 package is being used directly and it's the one + // dialing, as opposed to net/http. + if _, ok := p.t.ConnPool.(noDialClientConnPool); !ok { + return true + } + // Otherwise, only use the GetConn hook if this connection has + // been used previously for other requests. For fresh + // connections, the net/http package does the dialing. + return !st.freshConn +} + +func (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMiss bool) (*ClientConn, error) { + if isConnectionCloseRequest(req) && dialOnMiss { + // It gets its own connection. + traceGetConn(req, addr) + const singleUse = true + cc, err := p.t.dialClientConn(addr, singleUse) + if err != nil { + return nil, err + } + return cc, nil + } + p.mu.Lock() + for _, cc := range p.conns[addr] { + if st := cc.idleState(); st.canTakeNewRequest { + if p.shouldTraceGetConn(st) { + traceGetConn(req, addr) + } + p.mu.Unlock() + return cc, nil + } + } + if !dialOnMiss { + p.mu.Unlock() + return nil, ErrNoCachedConn + } + traceGetConn(req, addr) + call := p.getStartDialLocked(addr) + p.mu.Unlock() + <-call.done + return call.res, call.err +} + +// dialCall is an in-flight Transport dial call to a host. +type dialCall struct { + p *clientConnPool + done chan struct{} // closed when done + res *ClientConn // valid after done is closed + err error // valid after done is closed +} + +// requires p.mu is held. +func (p *clientConnPool) getStartDialLocked(addr string) *dialCall { + if call, ok := p.dialing[addr]; ok { + // A dial is already in-flight. Don't start another. + return call + } + call := &dialCall{p: p, done: make(chan struct{})} + if p.dialing == nil { + p.dialing = make(map[string]*dialCall) + } + p.dialing[addr] = call + go call.dial(addr) + return call +} + +// run in its own goroutine. +func (c *dialCall) dial(addr string) { + const singleUse = false // shared conn + c.res, c.err = c.p.t.dialClientConn(addr, singleUse) + close(c.done) + + c.p.mu.Lock() + delete(c.p.dialing, addr) + if c.err == nil { + c.p.addConnLocked(addr, c.res) + } + c.p.mu.Unlock() +} + +// addConnIfNeeded makes a NewClientConn out of c if a connection for key doesn't +// already exist. It coalesces concurrent calls with the same key. +// This is used by the http1 Transport code when it creates a new connection. Because +// the http1 Transport doesn't de-dup TCP dials to outbound hosts (because it doesn't know +// the protocol), it can get into a situation where it has multiple TLS connections. +// This code decides which ones live or die. +// The return value used is whether c was used. +// c is never closed. +func (p *clientConnPool) addConnIfNeeded(key string, t *Transport, c *tls.Conn) (used bool, err error) { + p.mu.Lock() + for _, cc := range p.conns[key] { + if cc.CanTakeNewRequest() { + p.mu.Unlock() + return false, nil + } + } + call, dup := p.addConnCalls[key] + if !dup { + if p.addConnCalls == nil { + p.addConnCalls = make(map[string]*addConnCall) + } + call = &addConnCall{ + p: p, + done: make(chan struct{}), + } + p.addConnCalls[key] = call + go call.run(t, key, c) + } + p.mu.Unlock() + + <-call.done + if call.err != nil { + return false, call.err + } + return !dup, nil +} + +type addConnCall struct { + p *clientConnPool + done chan struct{} // closed when done + err error +} + +func (c *addConnCall) run(t *Transport, key string, tc *tls.Conn) { + cc, err := t.NewClientConn(tc) + + p := c.p + p.mu.Lock() + if err != nil { + c.err = err + } else { + p.addConnLocked(key, cc) + } + delete(p.addConnCalls, key) + p.mu.Unlock() + close(c.done) +} + +func (p *clientConnPool) addConn(key string, cc *ClientConn) { + p.mu.Lock() + p.addConnLocked(key, cc) + p.mu.Unlock() +} + +// p.mu must be held +func (p *clientConnPool) addConnLocked(key string, cc *ClientConn) { + for _, v := range p.conns[key] { + if v == cc { + return + } + } + if p.conns == nil { + p.conns = make(map[string][]*ClientConn) + } + if p.keys == nil { + p.keys = make(map[*ClientConn][]string) + } + p.conns[key] = append(p.conns[key], cc) + p.keys[cc] = append(p.keys[cc], key) +} + +func (p *clientConnPool) MarkDead(cc *ClientConn) { + p.mu.Lock() + defer p.mu.Unlock() + for _, key := range p.keys[cc] { + vv, ok := p.conns[key] + if !ok { + continue + } + newList := filterOutClientConn(vv, cc) + if len(newList) > 0 { + p.conns[key] = newList + } else { + delete(p.conns, key) + } + } + delete(p.keys, cc) +} + +func (p *clientConnPool) closeIdleConnections() { + p.mu.Lock() + defer p.mu.Unlock() + // TODO: don't close a cc if it was just added to the pool + // milliseconds ago and has never been used. There's currently + // a small race window with the HTTP/1 Transport's integration + // where it can add an idle conn just before using it, and + // somebody else can concurrently call CloseIdleConns and + // break some caller's RoundTrip. + for _, vv := range p.conns { + for _, cc := range vv { + cc.closeIfIdle() + } + } +} + +func filterOutClientConn(in []*ClientConn, exclude *ClientConn) []*ClientConn { + out := in[:0] + for _, v := range in { + if v != exclude { + out = append(out, v) + } + } + // If we filtered it out, zero out the last item to prevent + // the GC from seeing it. + if len(in) != len(out) { + in[len(in)-1] = nil + } + return out +} + +// noDialClientConnPool is an implementation of http2.ClientConnPool +// which never dials. We let the HTTP/1.1 client dial and use its TLS +// connection instead. +type noDialClientConnPool struct{ *clientConnPool } + +func (p noDialClientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { + return p.getClientConn(req, addr, noDialOnMiss) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/databuffer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/databuffer.go new file mode 100644 index 0000000..a3067f8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/databuffer.go @@ -0,0 +1,146 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "errors" + "fmt" + "sync" +) + +// Buffer chunks are allocated from a pool to reduce pressure on GC. +// The maximum wasted space per dataBuffer is 2x the largest size class, +// which happens when the dataBuffer has multiple chunks and there is +// one unread byte in both the first and last chunks. We use a few size +// classes to minimize overheads for servers that typically receive very +// small request bodies. +// +// TODO: Benchmark to determine if the pools are necessary. The GC may have +// improved enough that we can instead allocate chunks like this: +// make([]byte, max(16<<10, expectedBytesRemaining)) +var ( + dataChunkSizeClasses = []int{ + 1 << 10, + 2 << 10, + 4 << 10, + 8 << 10, + 16 << 10, + } + dataChunkPools = [...]sync.Pool{ + {New: func() interface{} { return make([]byte, 1<<10) }}, + {New: func() interface{} { return make([]byte, 2<<10) }}, + {New: func() interface{} { return make([]byte, 4<<10) }}, + {New: func() interface{} { return make([]byte, 8<<10) }}, + {New: func() interface{} { return make([]byte, 16<<10) }}, + } +) + +func getDataBufferChunk(size int64) []byte { + i := 0 + for ; i < len(dataChunkSizeClasses)-1; i++ { + if size <= int64(dataChunkSizeClasses[i]) { + break + } + } + return dataChunkPools[i].Get().([]byte) +} + +func putDataBufferChunk(p []byte) { + for i, n := range dataChunkSizeClasses { + if len(p) == n { + dataChunkPools[i].Put(p) + return + } + } + panic(fmt.Sprintf("unexpected buffer len=%v", len(p))) +} + +// dataBuffer is an io.ReadWriter backed by a list of data chunks. +// Each dataBuffer is used to read DATA frames on a single stream. +// The buffer is divided into chunks so the server can limit the +// total memory used by a single connection without limiting the +// request body size on any single stream. +type dataBuffer struct { + chunks [][]byte + r int // next byte to read is chunks[0][r] + w int // next byte to write is chunks[len(chunks)-1][w] + size int // total buffered bytes + expected int64 // we expect at least this many bytes in future Write calls (ignored if <= 0) +} + +var errReadEmpty = errors.New("read from empty dataBuffer") + +// Read copies bytes from the buffer into p. +// It is an error to read when no data is available. +func (b *dataBuffer) Read(p []byte) (int, error) { + if b.size == 0 { + return 0, errReadEmpty + } + var ntotal int + for len(p) > 0 && b.size > 0 { + readFrom := b.bytesFromFirstChunk() + n := copy(p, readFrom) + p = p[n:] + ntotal += n + b.r += n + b.size -= n + // If the first chunk has been consumed, advance to the next chunk. + if b.r == len(b.chunks[0]) { + putDataBufferChunk(b.chunks[0]) + end := len(b.chunks) - 1 + copy(b.chunks[:end], b.chunks[1:]) + b.chunks[end] = nil + b.chunks = b.chunks[:end] + b.r = 0 + } + } + return ntotal, nil +} + +func (b *dataBuffer) bytesFromFirstChunk() []byte { + if len(b.chunks) == 1 { + return b.chunks[0][b.r:b.w] + } + return b.chunks[0][b.r:] +} + +// Len returns the number of bytes of the unread portion of the buffer. +func (b *dataBuffer) Len() int { + return b.size +} + +// Write appends p to the buffer. +func (b *dataBuffer) Write(p []byte) (int, error) { + ntotal := len(p) + for len(p) > 0 { + // If the last chunk is empty, allocate a new chunk. Try to allocate + // enough to fully copy p plus any additional bytes we expect to + // receive. However, this may allocate less than len(p). + want := int64(len(p)) + if b.expected > want { + want = b.expected + } + chunk := b.lastChunkOrAlloc(want) + n := copy(chunk[b.w:], p) + p = p[n:] + b.w += n + b.size += n + b.expected -= int64(n) + } + return ntotal, nil +} + +func (b *dataBuffer) lastChunkOrAlloc(want int64) []byte { + if len(b.chunks) != 0 { + last := b.chunks[len(b.chunks)-1] + if b.w < len(last) { + return last + } + } + chunk := getDataBufferChunk(want) + b.chunks = append(b.chunks, chunk) + b.w = 0 + return chunk +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/errors.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/errors.go new file mode 100644 index 0000000..71f2c46 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/errors.go @@ -0,0 +1,133 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "errors" + "fmt" +) + +// An ErrCode is an unsigned 32-bit error code as defined in the HTTP/2 spec. +type ErrCode uint32 + +const ( + ErrCodeNo ErrCode = 0x0 + ErrCodeProtocol ErrCode = 0x1 + ErrCodeInternal ErrCode = 0x2 + ErrCodeFlowControl ErrCode = 0x3 + ErrCodeSettingsTimeout ErrCode = 0x4 + ErrCodeStreamClosed ErrCode = 0x5 + ErrCodeFrameSize ErrCode = 0x6 + ErrCodeRefusedStream ErrCode = 0x7 + ErrCodeCancel ErrCode = 0x8 + ErrCodeCompression ErrCode = 0x9 + ErrCodeConnect ErrCode = 0xa + ErrCodeEnhanceYourCalm ErrCode = 0xb + ErrCodeInadequateSecurity ErrCode = 0xc + ErrCodeHTTP11Required ErrCode = 0xd +) + +var errCodeName = map[ErrCode]string{ + ErrCodeNo: "NO_ERROR", + ErrCodeProtocol: "PROTOCOL_ERROR", + ErrCodeInternal: "INTERNAL_ERROR", + ErrCodeFlowControl: "FLOW_CONTROL_ERROR", + ErrCodeSettingsTimeout: "SETTINGS_TIMEOUT", + ErrCodeStreamClosed: "STREAM_CLOSED", + ErrCodeFrameSize: "FRAME_SIZE_ERROR", + ErrCodeRefusedStream: "REFUSED_STREAM", + ErrCodeCancel: "CANCEL", + ErrCodeCompression: "COMPRESSION_ERROR", + ErrCodeConnect: "CONNECT_ERROR", + ErrCodeEnhanceYourCalm: "ENHANCE_YOUR_CALM", + ErrCodeInadequateSecurity: "INADEQUATE_SECURITY", + ErrCodeHTTP11Required: "HTTP_1_1_REQUIRED", +} + +func (e ErrCode) String() string { + if s, ok := errCodeName[e]; ok { + return s + } + return fmt.Sprintf("unknown error code 0x%x", uint32(e)) +} + +// ConnectionError is an error that results in the termination of the +// entire connection. +type ConnectionError ErrCode + +func (e ConnectionError) Error() string { return fmt.Sprintf("connection error: %s", ErrCode(e)) } + +// StreamError is an error that only affects one stream within an +// HTTP/2 connection. +type StreamError struct { + StreamID uint32 + Code ErrCode + Cause error // optional additional detail +} + +func streamError(id uint32, code ErrCode) StreamError { + return StreamError{StreamID: id, Code: code} +} + +func (e StreamError) Error() string { + if e.Cause != nil { + return fmt.Sprintf("stream error: stream ID %d; %v; %v", e.StreamID, e.Code, e.Cause) + } + return fmt.Sprintf("stream error: stream ID %d; %v", e.StreamID, e.Code) +} + +// 6.9.1 The Flow Control Window +// "If a sender receives a WINDOW_UPDATE that causes a flow control +// window to exceed this maximum it MUST terminate either the stream +// or the connection, as appropriate. For streams, [...]; for the +// connection, a GOAWAY frame with a FLOW_CONTROL_ERROR code." +type goAwayFlowError struct{} + +func (goAwayFlowError) Error() string { return "connection exceeded flow control window size" } + +// connError represents an HTTP/2 ConnectionError error code, along +// with a string (for debugging) explaining why. +// +// Errors of this type are only returned by the frame parser functions +// and converted into ConnectionError(Code), after stashing away +// the Reason into the Framer's errDetail field, accessible via +// the (*Framer).ErrorDetail method. +type connError struct { + Code ErrCode // the ConnectionError error code + Reason string // additional reason +} + +func (e connError) Error() string { + return fmt.Sprintf("http2: connection error: %v: %v", e.Code, e.Reason) +} + +type pseudoHeaderError string + +func (e pseudoHeaderError) Error() string { + return fmt.Sprintf("invalid pseudo-header %q", string(e)) +} + +type duplicatePseudoHeaderError string + +func (e duplicatePseudoHeaderError) Error() string { + return fmt.Sprintf("duplicate pseudo-header %q", string(e)) +} + +type headerFieldNameError string + +func (e headerFieldNameError) Error() string { + return fmt.Sprintf("invalid header field name %q", string(e)) +} + +type headerFieldValueError string + +func (e headerFieldValueError) Error() string { + return fmt.Sprintf("invalid header field value %q", string(e)) +} + +var ( + errMixPseudoHeaderTypes = errors.New("mix of request and response pseudo headers") + errPseudoAfterRegular = errors.New("pseudo header field after regular") +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/flow.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/flow.go new file mode 100644 index 0000000..cea601f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/flow.go @@ -0,0 +1,50 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Flow control + +package http2 + +// flow is the flow control window's size. +type flow struct { + // n is the number of DATA bytes we're allowed to send. + // A flow is kept both on a conn and a per-stream. + n int32 + + // conn points to the shared connection-level flow that is + // shared by all streams on that conn. It is nil for the flow + // that's on the conn directly. + conn *flow +} + +func (f *flow) setConnFlow(cf *flow) { f.conn = cf } + +func (f *flow) available() int32 { + n := f.n + if f.conn != nil && f.conn.n < n { + n = f.conn.n + } + return n +} + +func (f *flow) take(n int32) { + if n > f.available() { + panic("internal error: took too much") + } + f.n -= n + if f.conn != nil { + f.conn.n -= n + } +} + +// add adds n bytes (positive or negative) to the flow control window. +// It returns false if the sum would exceed 2^31-1. +func (f *flow) add(n int32) bool { + sum := f.n + n + if (sum > n) == (f.n > 0) { + f.n = sum + return true + } + return false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/frame.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/frame.go new file mode 100644 index 0000000..514c126 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/frame.go @@ -0,0 +1,1614 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "io" + "log" + "strings" + "sync" + + "golang.org/x/net/http/httpguts" + "golang.org/x/net/http2/hpack" +) + +const frameHeaderLen = 9 + +var padZeros = make([]byte, 255) // zeros for padding + +// A FrameType is a registered frame type as defined in +// http://http2.github.io/http2-spec/#rfc.section.11.2 +type FrameType uint8 + +const ( + FrameData FrameType = 0x0 + FrameHeaders FrameType = 0x1 + FramePriority FrameType = 0x2 + FrameRSTStream FrameType = 0x3 + FrameSettings FrameType = 0x4 + FramePushPromise FrameType = 0x5 + FramePing FrameType = 0x6 + FrameGoAway FrameType = 0x7 + FrameWindowUpdate FrameType = 0x8 + FrameContinuation FrameType = 0x9 +) + +var frameName = map[FrameType]string{ + FrameData: "DATA", + FrameHeaders: "HEADERS", + FramePriority: "PRIORITY", + FrameRSTStream: "RST_STREAM", + FrameSettings: "SETTINGS", + FramePushPromise: "PUSH_PROMISE", + FramePing: "PING", + FrameGoAway: "GOAWAY", + FrameWindowUpdate: "WINDOW_UPDATE", + FrameContinuation: "CONTINUATION", +} + +func (t FrameType) String() string { + if s, ok := frameName[t]; ok { + return s + } + return fmt.Sprintf("UNKNOWN_FRAME_TYPE_%d", uint8(t)) +} + +// Flags is a bitmask of HTTP/2 flags. +// The meaning of flags varies depending on the frame type. +type Flags uint8 + +// Has reports whether f contains all (0 or more) flags in v. +func (f Flags) Has(v Flags) bool { + return (f & v) == v +} + +// Frame-specific FrameHeader flag bits. +const ( + // Data Frame + FlagDataEndStream Flags = 0x1 + FlagDataPadded Flags = 0x8 + + // Headers Frame + FlagHeadersEndStream Flags = 0x1 + FlagHeadersEndHeaders Flags = 0x4 + FlagHeadersPadded Flags = 0x8 + FlagHeadersPriority Flags = 0x20 + + // Settings Frame + FlagSettingsAck Flags = 0x1 + + // Ping Frame + FlagPingAck Flags = 0x1 + + // Continuation Frame + FlagContinuationEndHeaders Flags = 0x4 + + FlagPushPromiseEndHeaders Flags = 0x4 + FlagPushPromisePadded Flags = 0x8 +) + +var flagName = map[FrameType]map[Flags]string{ + FrameData: { + FlagDataEndStream: "END_STREAM", + FlagDataPadded: "PADDED", + }, + FrameHeaders: { + FlagHeadersEndStream: "END_STREAM", + FlagHeadersEndHeaders: "END_HEADERS", + FlagHeadersPadded: "PADDED", + FlagHeadersPriority: "PRIORITY", + }, + FrameSettings: { + FlagSettingsAck: "ACK", + }, + FramePing: { + FlagPingAck: "ACK", + }, + FrameContinuation: { + FlagContinuationEndHeaders: "END_HEADERS", + }, + FramePushPromise: { + FlagPushPromiseEndHeaders: "END_HEADERS", + FlagPushPromisePadded: "PADDED", + }, +} + +// a frameParser parses a frame given its FrameHeader and payload +// bytes. The length of payload will always equal fh.Length (which +// might be 0). +type frameParser func(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) + +var frameParsers = map[FrameType]frameParser{ + FrameData: parseDataFrame, + FrameHeaders: parseHeadersFrame, + FramePriority: parsePriorityFrame, + FrameRSTStream: parseRSTStreamFrame, + FrameSettings: parseSettingsFrame, + FramePushPromise: parsePushPromise, + FramePing: parsePingFrame, + FrameGoAway: parseGoAwayFrame, + FrameWindowUpdate: parseWindowUpdateFrame, + FrameContinuation: parseContinuationFrame, +} + +func typeFrameParser(t FrameType) frameParser { + if f := frameParsers[t]; f != nil { + return f + } + return parseUnknownFrame +} + +// A FrameHeader is the 9 byte header of all HTTP/2 frames. +// +// See http://http2.github.io/http2-spec/#FrameHeader +type FrameHeader struct { + valid bool // caller can access []byte fields in the Frame + + // Type is the 1 byte frame type. There are ten standard frame + // types, but extension frame types may be written by WriteRawFrame + // and will be returned by ReadFrame (as UnknownFrame). + Type FrameType + + // Flags are the 1 byte of 8 potential bit flags per frame. + // They are specific to the frame type. + Flags Flags + + // Length is the length of the frame, not including the 9 byte header. + // The maximum size is one byte less than 16MB (uint24), but only + // frames up to 16KB are allowed without peer agreement. + Length uint32 + + // StreamID is which stream this frame is for. Certain frames + // are not stream-specific, in which case this field is 0. + StreamID uint32 +} + +// Header returns h. It exists so FrameHeaders can be embedded in other +// specific frame types and implement the Frame interface. +func (h FrameHeader) Header() FrameHeader { return h } + +func (h FrameHeader) String() string { + var buf bytes.Buffer + buf.WriteString("[FrameHeader ") + h.writeDebug(&buf) + buf.WriteByte(']') + return buf.String() +} + +func (h FrameHeader) writeDebug(buf *bytes.Buffer) { + buf.WriteString(h.Type.String()) + if h.Flags != 0 { + buf.WriteString(" flags=") + set := 0 + for i := uint8(0); i < 8; i++ { + if h.Flags&(1< 1 { + buf.WriteByte('|') + } + name := flagName[h.Type][Flags(1<>24), + byte(streamID>>16), + byte(streamID>>8), + byte(streamID)) +} + +func (f *Framer) endWrite() error { + // Now that we know the final size, fill in the FrameHeader in + // the space previously reserved for it. Abuse append. + length := len(f.wbuf) - frameHeaderLen + if length >= (1 << 24) { + return ErrFrameTooLarge + } + _ = append(f.wbuf[:0], + byte(length>>16), + byte(length>>8), + byte(length)) + if f.logWrites { + f.logWrite() + } + + n, err := f.w.Write(f.wbuf) + if err == nil && n != len(f.wbuf) { + err = io.ErrShortWrite + } + return err +} + +func (f *Framer) logWrite() { + if f.debugFramer == nil { + f.debugFramerBuf = new(bytes.Buffer) + f.debugFramer = NewFramer(nil, f.debugFramerBuf) + f.debugFramer.logReads = false // we log it ourselves, saying "wrote" below + // Let us read anything, even if we accidentally wrote it + // in the wrong order: + f.debugFramer.AllowIllegalReads = true + } + f.debugFramerBuf.Write(f.wbuf) + fr, err := f.debugFramer.ReadFrame() + if err != nil { + f.debugWriteLoggerf("http2: Framer %p: failed to decode just-written frame", f) + return + } + f.debugWriteLoggerf("http2: Framer %p: wrote %v", f, summarizeFrame(fr)) +} + +func (f *Framer) writeByte(v byte) { f.wbuf = append(f.wbuf, v) } +func (f *Framer) writeBytes(v []byte) { f.wbuf = append(f.wbuf, v...) } +func (f *Framer) writeUint16(v uint16) { f.wbuf = append(f.wbuf, byte(v>>8), byte(v)) } +func (f *Framer) writeUint32(v uint32) { + f.wbuf = append(f.wbuf, byte(v>>24), byte(v>>16), byte(v>>8), byte(v)) +} + +const ( + minMaxFrameSize = 1 << 14 + maxFrameSize = 1<<24 - 1 +) + +// SetReuseFrames allows the Framer to reuse Frames. +// If called on a Framer, Frames returned by calls to ReadFrame are only +// valid until the next call to ReadFrame. +func (fr *Framer) SetReuseFrames() { + if fr.frameCache != nil { + return + } + fr.frameCache = &frameCache{} +} + +type frameCache struct { + dataFrame DataFrame +} + +func (fc *frameCache) getDataFrame() *DataFrame { + if fc == nil { + return &DataFrame{} + } + return &fc.dataFrame +} + +// NewFramer returns a Framer that writes frames to w and reads them from r. +func NewFramer(w io.Writer, r io.Reader) *Framer { + fr := &Framer{ + w: w, + r: r, + logReads: logFrameReads, + logWrites: logFrameWrites, + debugReadLoggerf: log.Printf, + debugWriteLoggerf: log.Printf, + } + fr.getReadBuf = func(size uint32) []byte { + if cap(fr.readBuf) >= int(size) { + return fr.readBuf[:size] + } + fr.readBuf = make([]byte, size) + return fr.readBuf + } + fr.SetMaxReadFrameSize(maxFrameSize) + return fr +} + +// SetMaxReadFrameSize sets the maximum size of a frame +// that will be read by a subsequent call to ReadFrame. +// It is the caller's responsibility to advertise this +// limit with a SETTINGS frame. +func (fr *Framer) SetMaxReadFrameSize(v uint32) { + if v > maxFrameSize { + v = maxFrameSize + } + fr.maxReadSize = v +} + +// ErrorDetail returns a more detailed error of the last error +// returned by Framer.ReadFrame. For instance, if ReadFrame +// returns a StreamError with code PROTOCOL_ERROR, ErrorDetail +// will say exactly what was invalid. ErrorDetail is not guaranteed +// to return a non-nil value and like the rest of the http2 package, +// its return value is not protected by an API compatibility promise. +// ErrorDetail is reset after the next call to ReadFrame. +func (fr *Framer) ErrorDetail() error { + return fr.errDetail +} + +// ErrFrameTooLarge is returned from Framer.ReadFrame when the peer +// sends a frame that is larger than declared with SetMaxReadFrameSize. +var ErrFrameTooLarge = errors.New("http2: frame too large") + +// terminalReadFrameError reports whether err is an unrecoverable +// error from ReadFrame and no other frames should be read. +func terminalReadFrameError(err error) bool { + if _, ok := err.(StreamError); ok { + return false + } + return err != nil +} + +// ReadFrame reads a single frame. The returned Frame is only valid +// until the next call to ReadFrame. +// +// If the frame is larger than previously set with SetMaxReadFrameSize, the +// returned error is ErrFrameTooLarge. Other errors may be of type +// ConnectionError, StreamError, or anything else from the underlying +// reader. +func (fr *Framer) ReadFrame() (Frame, error) { + fr.errDetail = nil + if fr.lastFrame != nil { + fr.lastFrame.invalidate() + } + fh, err := readFrameHeader(fr.headerBuf[:], fr.r) + if err != nil { + return nil, err + } + if fh.Length > fr.maxReadSize { + return nil, ErrFrameTooLarge + } + payload := fr.getReadBuf(fh.Length) + if _, err := io.ReadFull(fr.r, payload); err != nil { + return nil, err + } + f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, payload) + if err != nil { + if ce, ok := err.(connError); ok { + return nil, fr.connError(ce.Code, ce.Reason) + } + return nil, err + } + if err := fr.checkFrameOrder(f); err != nil { + return nil, err + } + if fr.logReads { + fr.debugReadLoggerf("http2: Framer %p: read %v", fr, summarizeFrame(f)) + } + if fh.Type == FrameHeaders && fr.ReadMetaHeaders != nil { + return fr.readMetaFrame(f.(*HeadersFrame)) + } + return f, nil +} + +// connError returns ConnectionError(code) but first +// stashes away a public reason to the caller can optionally relay it +// to the peer before hanging up on them. This might help others debug +// their implementations. +func (fr *Framer) connError(code ErrCode, reason string) error { + fr.errDetail = errors.New(reason) + return ConnectionError(code) +} + +// checkFrameOrder reports an error if f is an invalid frame to return +// next from ReadFrame. Mostly it checks whether HEADERS and +// CONTINUATION frames are contiguous. +func (fr *Framer) checkFrameOrder(f Frame) error { + last := fr.lastFrame + fr.lastFrame = f + if fr.AllowIllegalReads { + return nil + } + + fh := f.Header() + if fr.lastHeaderStream != 0 { + if fh.Type != FrameContinuation { + return fr.connError(ErrCodeProtocol, + fmt.Sprintf("got %s for stream %d; expected CONTINUATION following %s for stream %d", + fh.Type, fh.StreamID, + last.Header().Type, fr.lastHeaderStream)) + } + if fh.StreamID != fr.lastHeaderStream { + return fr.connError(ErrCodeProtocol, + fmt.Sprintf("got CONTINUATION for stream %d; expected stream %d", + fh.StreamID, fr.lastHeaderStream)) + } + } else if fh.Type == FrameContinuation { + return fr.connError(ErrCodeProtocol, fmt.Sprintf("unexpected CONTINUATION for stream %d", fh.StreamID)) + } + + switch fh.Type { + case FrameHeaders, FrameContinuation: + if fh.Flags.Has(FlagHeadersEndHeaders) { + fr.lastHeaderStream = 0 + } else { + fr.lastHeaderStream = fh.StreamID + } + } + + return nil +} + +// A DataFrame conveys arbitrary, variable-length sequences of octets +// associated with a stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.1 +type DataFrame struct { + FrameHeader + data []byte +} + +func (f *DataFrame) StreamEnded() bool { + return f.FrameHeader.Flags.Has(FlagDataEndStream) +} + +// Data returns the frame's data octets, not including any padding +// size byte or padding suffix bytes. +// The caller must not retain the returned memory past the next +// call to ReadFrame. +func (f *DataFrame) Data() []byte { + f.checkValid() + return f.data +} + +func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) { + if fh.StreamID == 0 { + // DATA frames MUST be associated with a stream. If a + // DATA frame is received whose stream identifier + // field is 0x0, the recipient MUST respond with a + // connection error (Section 5.4.1) of type + // PROTOCOL_ERROR. + return nil, connError{ErrCodeProtocol, "DATA frame with stream ID 0"} + } + f := fc.getDataFrame() + f.FrameHeader = fh + + var padSize byte + if fh.Flags.Has(FlagDataPadded) { + var err error + payload, padSize, err = readByte(payload) + if err != nil { + return nil, err + } + } + if int(padSize) > len(payload) { + // If the length of the padding is greater than the + // length of the frame payload, the recipient MUST + // treat this as a connection error. + // Filed: https://github.com/http2/http2-spec/issues/610 + return nil, connError{ErrCodeProtocol, "pad size larger than data payload"} + } + f.data = payload[:len(payload)-int(padSize)] + return f, nil +} + +var ( + errStreamID = errors.New("invalid stream ID") + errDepStreamID = errors.New("invalid dependent stream ID") + errPadLength = errors.New("pad length too large") + errPadBytes = errors.New("padding bytes must all be zeros unless AllowIllegalWrites is enabled") +) + +func validStreamIDOrZero(streamID uint32) bool { + return streamID&(1<<31) == 0 +} + +func validStreamID(streamID uint32) bool { + return streamID != 0 && streamID&(1<<31) == 0 +} + +// WriteData writes a DATA frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility not to violate the maximum frame size +// and to not call other Write methods concurrently. +func (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error { + return f.WriteDataPadded(streamID, endStream, data, nil) +} + +// WriteDataPadded writes a DATA frame with optional padding. +// +// If pad is nil, the padding bit is not sent. +// The length of pad must not exceed 255 bytes. +// The bytes of pad must all be zero, unless f.AllowIllegalWrites is set. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility not to violate the maximum frame size +// and to not call other Write methods concurrently. +func (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []byte) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + if len(pad) > 0 { + if len(pad) > 255 { + return errPadLength + } + if !f.AllowIllegalWrites { + for _, b := range pad { + if b != 0 { + // "Padding octets MUST be set to zero when sending." + return errPadBytes + } + } + } + } + var flags Flags + if endStream { + flags |= FlagDataEndStream + } + if pad != nil { + flags |= FlagDataPadded + } + f.startWrite(FrameData, flags, streamID) + if pad != nil { + f.wbuf = append(f.wbuf, byte(len(pad))) + } + f.wbuf = append(f.wbuf, data...) + f.wbuf = append(f.wbuf, pad...) + return f.endWrite() +} + +// A SettingsFrame conveys configuration parameters that affect how +// endpoints communicate, such as preferences and constraints on peer +// behavior. +// +// See http://http2.github.io/http2-spec/#SETTINGS +type SettingsFrame struct { + FrameHeader + p []byte +} + +func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 { + // When this (ACK 0x1) bit is set, the payload of the + // SETTINGS frame MUST be empty. Receipt of a + // SETTINGS frame with the ACK flag set and a length + // field value other than 0 MUST be treated as a + // connection error (Section 5.4.1) of type + // FRAME_SIZE_ERROR. + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID != 0 { + // SETTINGS frames always apply to a connection, + // never a single stream. The stream identifier for a + // SETTINGS frame MUST be zero (0x0). If an endpoint + // receives a SETTINGS frame whose stream identifier + // field is anything other than 0x0, the endpoint MUST + // respond with a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR. + return nil, ConnectionError(ErrCodeProtocol) + } + if len(p)%6 != 0 { + // Expecting even number of 6 byte settings. + return nil, ConnectionError(ErrCodeFrameSize) + } + f := &SettingsFrame{FrameHeader: fh, p: p} + if v, ok := f.Value(SettingInitialWindowSize); ok && v > (1<<31)-1 { + // Values above the maximum flow control window size of 2^31 - 1 MUST + // be treated as a connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR. + return nil, ConnectionError(ErrCodeFlowControl) + } + return f, nil +} + +func (f *SettingsFrame) IsAck() bool { + return f.FrameHeader.Flags.Has(FlagSettingsAck) +} + +func (f *SettingsFrame) Value(id SettingID) (v uint32, ok bool) { + f.checkValid() + for i := 0; i < f.NumSettings(); i++ { + if s := f.Setting(i); s.ID == id { + return s.Val, true + } + } + return 0, false +} + +// Setting returns the setting from the frame at the given 0-based index. +// The index must be >= 0 and less than f.NumSettings(). +func (f *SettingsFrame) Setting(i int) Setting { + buf := f.p + return Setting{ + ID: SettingID(binary.BigEndian.Uint16(buf[i*6 : i*6+2])), + Val: binary.BigEndian.Uint32(buf[i*6+2 : i*6+6]), + } +} + +func (f *SettingsFrame) NumSettings() int { return len(f.p) / 6 } + +// HasDuplicates reports whether f contains any duplicate setting IDs. +func (f *SettingsFrame) HasDuplicates() bool { + num := f.NumSettings() + if num == 0 { + return false + } + // If it's small enough (the common case), just do the n^2 + // thing and avoid a map allocation. + if num < 10 { + for i := 0; i < num; i++ { + idi := f.Setting(i).ID + for j := i + 1; j < num; j++ { + idj := f.Setting(j).ID + if idi == idj { + return true + } + } + } + return false + } + seen := map[SettingID]bool{} + for i := 0; i < num; i++ { + id := f.Setting(i).ID + if seen[id] { + return true + } + seen[id] = true + } + return false +} + +// ForeachSetting runs fn for each setting. +// It stops and returns the first error. +func (f *SettingsFrame) ForeachSetting(fn func(Setting) error) error { + f.checkValid() + for i := 0; i < f.NumSettings(); i++ { + if err := fn(f.Setting(i)); err != nil { + return err + } + } + return nil +} + +// WriteSettings writes a SETTINGS frame with zero or more settings +// specified and the ACK bit not set. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteSettings(settings ...Setting) error { + f.startWrite(FrameSettings, 0, 0) + for _, s := range settings { + f.writeUint16(uint16(s.ID)) + f.writeUint32(s.Val) + } + return f.endWrite() +} + +// WriteSettingsAck writes an empty SETTINGS frame with the ACK bit set. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteSettingsAck() error { + f.startWrite(FrameSettings, FlagSettingsAck, 0) + return f.endWrite() +} + +// A PingFrame is a mechanism for measuring a minimal round trip time +// from the sender, as well as determining whether an idle connection +// is still functional. +// See http://http2.github.io/http2-spec/#rfc.section.6.7 +type PingFrame struct { + FrameHeader + Data [8]byte +} + +func (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) } + +func parsePingFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) { + if len(payload) != 8 { + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID != 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + f := &PingFrame{FrameHeader: fh} + copy(f.Data[:], payload) + return f, nil +} + +func (f *Framer) WritePing(ack bool, data [8]byte) error { + var flags Flags + if ack { + flags = FlagPingAck + } + f.startWrite(FramePing, flags, 0) + f.writeBytes(data[:]) + return f.endWrite() +} + +// A GoAwayFrame informs the remote peer to stop creating streams on this connection. +// See http://http2.github.io/http2-spec/#rfc.section.6.8 +type GoAwayFrame struct { + FrameHeader + LastStreamID uint32 + ErrCode ErrCode + debugData []byte +} + +// DebugData returns any debug data in the GOAWAY frame. Its contents +// are not defined. +// The caller must not retain the returned memory past the next +// call to ReadFrame. +func (f *GoAwayFrame) DebugData() []byte { + f.checkValid() + return f.debugData +} + +func parseGoAwayFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if fh.StreamID != 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + if len(p) < 8 { + return nil, ConnectionError(ErrCodeFrameSize) + } + return &GoAwayFrame{ + FrameHeader: fh, + LastStreamID: binary.BigEndian.Uint32(p[:4]) & (1<<31 - 1), + ErrCode: ErrCode(binary.BigEndian.Uint32(p[4:8])), + debugData: p[8:], + }, nil +} + +func (f *Framer) WriteGoAway(maxStreamID uint32, code ErrCode, debugData []byte) error { + f.startWrite(FrameGoAway, 0, 0) + f.writeUint32(maxStreamID & (1<<31 - 1)) + f.writeUint32(uint32(code)) + f.writeBytes(debugData) + return f.endWrite() +} + +// An UnknownFrame is the frame type returned when the frame type is unknown +// or no specific frame type parser exists. +type UnknownFrame struct { + FrameHeader + p []byte +} + +// Payload returns the frame's payload (after the header). It is not +// valid to call this method after a subsequent call to +// Framer.ReadFrame, nor is it valid to retain the returned slice. +// The memory is owned by the Framer and is invalidated when the next +// frame is read. +func (f *UnknownFrame) Payload() []byte { + f.checkValid() + return f.p +} + +func parseUnknownFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + return &UnknownFrame{fh, p}, nil +} + +// A WindowUpdateFrame is used to implement flow control. +// See http://http2.github.io/http2-spec/#rfc.section.6.9 +type WindowUpdateFrame struct { + FrameHeader + Increment uint32 // never read with high bit set +} + +func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if len(p) != 4 { + return nil, ConnectionError(ErrCodeFrameSize) + } + inc := binary.BigEndian.Uint32(p[:4]) & 0x7fffffff // mask off high reserved bit + if inc == 0 { + // A receiver MUST treat the receipt of a + // WINDOW_UPDATE frame with an flow control window + // increment of 0 as a stream error (Section 5.4.2) of + // type PROTOCOL_ERROR; errors on the connection flow + // control window MUST be treated as a connection + // error (Section 5.4.1). + if fh.StreamID == 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + return nil, streamError(fh.StreamID, ErrCodeProtocol) + } + return &WindowUpdateFrame{ + FrameHeader: fh, + Increment: inc, + }, nil +} + +// WriteWindowUpdate writes a WINDOW_UPDATE frame. +// The increment value must be between 1 and 2,147,483,647, inclusive. +// If the Stream ID is zero, the window update applies to the +// connection as a whole. +func (f *Framer) WriteWindowUpdate(streamID, incr uint32) error { + // "The legal range for the increment to the flow control window is 1 to 2^31-1 (2,147,483,647) octets." + if (incr < 1 || incr > 2147483647) && !f.AllowIllegalWrites { + return errors.New("illegal window increment value") + } + f.startWrite(FrameWindowUpdate, 0, streamID) + f.writeUint32(incr) + return f.endWrite() +} + +// A HeadersFrame is used to open a stream and additionally carries a +// header block fragment. +type HeadersFrame struct { + FrameHeader + + // Priority is set if FlagHeadersPriority is set in the FrameHeader. + Priority PriorityParam + + headerFragBuf []byte // not owned +} + +func (f *HeadersFrame) HeaderBlockFragment() []byte { + f.checkValid() + return f.headerFragBuf +} + +func (f *HeadersFrame) HeadersEnded() bool { + return f.FrameHeader.Flags.Has(FlagHeadersEndHeaders) +} + +func (f *HeadersFrame) StreamEnded() bool { + return f.FrameHeader.Flags.Has(FlagHeadersEndStream) +} + +func (f *HeadersFrame) HasPriority() bool { + return f.FrameHeader.Flags.Has(FlagHeadersPriority) +} + +func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) { + hf := &HeadersFrame{ + FrameHeader: fh, + } + if fh.StreamID == 0 { + // HEADERS frames MUST be associated with a stream. If a HEADERS frame + // is received whose stream identifier field is 0x0, the recipient MUST + // respond with a connection error (Section 5.4.1) of type + // PROTOCOL_ERROR. + return nil, connError{ErrCodeProtocol, "HEADERS frame with stream ID 0"} + } + var padLength uint8 + if fh.Flags.Has(FlagHeadersPadded) { + if p, padLength, err = readByte(p); err != nil { + return + } + } + if fh.Flags.Has(FlagHeadersPriority) { + var v uint32 + p, v, err = readUint32(p) + if err != nil { + return nil, err + } + hf.Priority.StreamDep = v & 0x7fffffff + hf.Priority.Exclusive = (v != hf.Priority.StreamDep) // high bit was set + p, hf.Priority.Weight, err = readByte(p) + if err != nil { + return nil, err + } + } + if len(p)-int(padLength) <= 0 { + return nil, streamError(fh.StreamID, ErrCodeProtocol) + } + hf.headerFragBuf = p[:len(p)-int(padLength)] + return hf, nil +} + +// HeadersFrameParam are the parameters for writing a HEADERS frame. +type HeadersFrameParam struct { + // StreamID is the required Stream ID to initiate. + StreamID uint32 + // BlockFragment is part (or all) of a Header Block. + BlockFragment []byte + + // EndStream indicates that the header block is the last that + // the endpoint will send for the identified stream. Setting + // this flag causes the stream to enter one of "half closed" + // states. + EndStream bool + + // EndHeaders indicates that this frame contains an entire + // header block and is not followed by any + // CONTINUATION frames. + EndHeaders bool + + // PadLength is the optional number of bytes of zeros to add + // to this frame. + PadLength uint8 + + // Priority, if non-zero, includes stream priority information + // in the HEADER frame. + Priority PriorityParam +} + +// WriteHeaders writes a single HEADERS frame. +// +// This is a low-level header writing method. Encoding headers and +// splitting them into any necessary CONTINUATION frames is handled +// elsewhere. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteHeaders(p HeadersFrameParam) error { + if !validStreamID(p.StreamID) && !f.AllowIllegalWrites { + return errStreamID + } + var flags Flags + if p.PadLength != 0 { + flags |= FlagHeadersPadded + } + if p.EndStream { + flags |= FlagHeadersEndStream + } + if p.EndHeaders { + flags |= FlagHeadersEndHeaders + } + if !p.Priority.IsZero() { + flags |= FlagHeadersPriority + } + f.startWrite(FrameHeaders, flags, p.StreamID) + if p.PadLength != 0 { + f.writeByte(p.PadLength) + } + if !p.Priority.IsZero() { + v := p.Priority.StreamDep + if !validStreamIDOrZero(v) && !f.AllowIllegalWrites { + return errDepStreamID + } + if p.Priority.Exclusive { + v |= 1 << 31 + } + f.writeUint32(v) + f.writeByte(p.Priority.Weight) + } + f.wbuf = append(f.wbuf, p.BlockFragment...) + f.wbuf = append(f.wbuf, padZeros[:p.PadLength]...) + return f.endWrite() +} + +// A PriorityFrame specifies the sender-advised priority of a stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.3 +type PriorityFrame struct { + FrameHeader + PriorityParam +} + +// PriorityParam are the stream prioritzation parameters. +type PriorityParam struct { + // StreamDep is a 31-bit stream identifier for the + // stream that this stream depends on. Zero means no + // dependency. + StreamDep uint32 + + // Exclusive is whether the dependency is exclusive. + Exclusive bool + + // Weight is the stream's zero-indexed weight. It should be + // set together with StreamDep, or neither should be set. Per + // the spec, "Add one to the value to obtain a weight between + // 1 and 256." + Weight uint8 +} + +func (p PriorityParam) IsZero() bool { + return p == PriorityParam{} +} + +func parsePriorityFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) { + if fh.StreamID == 0 { + return nil, connError{ErrCodeProtocol, "PRIORITY frame with stream ID 0"} + } + if len(payload) != 5 { + return nil, connError{ErrCodeFrameSize, fmt.Sprintf("PRIORITY frame payload size was %d; want 5", len(payload))} + } + v := binary.BigEndian.Uint32(payload[:4]) + streamID := v & 0x7fffffff // mask off high bit + return &PriorityFrame{ + FrameHeader: fh, + PriorityParam: PriorityParam{ + Weight: payload[4], + StreamDep: streamID, + Exclusive: streamID != v, // was high bit set? + }, + }, nil +} + +// WritePriority writes a PRIORITY frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WritePriority(streamID uint32, p PriorityParam) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + if !validStreamIDOrZero(p.StreamDep) { + return errDepStreamID + } + f.startWrite(FramePriority, 0, streamID) + v := p.StreamDep + if p.Exclusive { + v |= 1 << 31 + } + f.writeUint32(v) + f.writeByte(p.Weight) + return f.endWrite() +} + +// A RSTStreamFrame allows for abnormal termination of a stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.4 +type RSTStreamFrame struct { + FrameHeader + ErrCode ErrCode +} + +func parseRSTStreamFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if len(p) != 4 { + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID == 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + return &RSTStreamFrame{fh, ErrCode(binary.BigEndian.Uint32(p[:4]))}, nil +} + +// WriteRSTStream writes a RST_STREAM frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteRSTStream(streamID uint32, code ErrCode) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + f.startWrite(FrameRSTStream, 0, streamID) + f.writeUint32(uint32(code)) + return f.endWrite() +} + +// A ContinuationFrame is used to continue a sequence of header block fragments. +// See http://http2.github.io/http2-spec/#rfc.section.6.10 +type ContinuationFrame struct { + FrameHeader + headerFragBuf []byte +} + +func parseContinuationFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if fh.StreamID == 0 { + return nil, connError{ErrCodeProtocol, "CONTINUATION frame with stream ID 0"} + } + return &ContinuationFrame{fh, p}, nil +} + +func (f *ContinuationFrame) HeaderBlockFragment() []byte { + f.checkValid() + return f.headerFragBuf +} + +func (f *ContinuationFrame) HeadersEnded() bool { + return f.FrameHeader.Flags.Has(FlagContinuationEndHeaders) +} + +// WriteContinuation writes a CONTINUATION frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteContinuation(streamID uint32, endHeaders bool, headerBlockFragment []byte) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + var flags Flags + if endHeaders { + flags |= FlagContinuationEndHeaders + } + f.startWrite(FrameContinuation, flags, streamID) + f.wbuf = append(f.wbuf, headerBlockFragment...) + return f.endWrite() +} + +// A PushPromiseFrame is used to initiate a server stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.6 +type PushPromiseFrame struct { + FrameHeader + PromiseID uint32 + headerFragBuf []byte // not owned +} + +func (f *PushPromiseFrame) HeaderBlockFragment() []byte { + f.checkValid() + return f.headerFragBuf +} + +func (f *PushPromiseFrame) HeadersEnded() bool { + return f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders) +} + +func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) { + pp := &PushPromiseFrame{ + FrameHeader: fh, + } + if pp.StreamID == 0 { + // PUSH_PROMISE frames MUST be associated with an existing, + // peer-initiated stream. The stream identifier of a + // PUSH_PROMISE frame indicates the stream it is associated + // with. If the stream identifier field specifies the value + // 0x0, a recipient MUST respond with a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. + return nil, ConnectionError(ErrCodeProtocol) + } + // The PUSH_PROMISE frame includes optional padding. + // Padding fields and flags are identical to those defined for DATA frames + var padLength uint8 + if fh.Flags.Has(FlagPushPromisePadded) { + if p, padLength, err = readByte(p); err != nil { + return + } + } + + p, pp.PromiseID, err = readUint32(p) + if err != nil { + return + } + pp.PromiseID = pp.PromiseID & (1<<31 - 1) + + if int(padLength) > len(p) { + // like the DATA frame, error out if padding is longer than the body. + return nil, ConnectionError(ErrCodeProtocol) + } + pp.headerFragBuf = p[:len(p)-int(padLength)] + return pp, nil +} + +// PushPromiseParam are the parameters for writing a PUSH_PROMISE frame. +type PushPromiseParam struct { + // StreamID is the required Stream ID to initiate. + StreamID uint32 + + // PromiseID is the required Stream ID which this + // Push Promises + PromiseID uint32 + + // BlockFragment is part (or all) of a Header Block. + BlockFragment []byte + + // EndHeaders indicates that this frame contains an entire + // header block and is not followed by any + // CONTINUATION frames. + EndHeaders bool + + // PadLength is the optional number of bytes of zeros to add + // to this frame. + PadLength uint8 +} + +// WritePushPromise writes a single PushPromise Frame. +// +// As with Header Frames, This is the low level call for writing +// individual frames. Continuation frames are handled elsewhere. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WritePushPromise(p PushPromiseParam) error { + if !validStreamID(p.StreamID) && !f.AllowIllegalWrites { + return errStreamID + } + var flags Flags + if p.PadLength != 0 { + flags |= FlagPushPromisePadded + } + if p.EndHeaders { + flags |= FlagPushPromiseEndHeaders + } + f.startWrite(FramePushPromise, flags, p.StreamID) + if p.PadLength != 0 { + f.writeByte(p.PadLength) + } + if !validStreamID(p.PromiseID) && !f.AllowIllegalWrites { + return errStreamID + } + f.writeUint32(p.PromiseID) + f.wbuf = append(f.wbuf, p.BlockFragment...) + f.wbuf = append(f.wbuf, padZeros[:p.PadLength]...) + return f.endWrite() +} + +// WriteRawFrame writes a raw frame. This can be used to write +// extension frames unknown to this package. +func (f *Framer) WriteRawFrame(t FrameType, flags Flags, streamID uint32, payload []byte) error { + f.startWrite(t, flags, streamID) + f.writeBytes(payload) + return f.endWrite() +} + +func readByte(p []byte) (remain []byte, b byte, err error) { + if len(p) == 0 { + return nil, 0, io.ErrUnexpectedEOF + } + return p[1:], p[0], nil +} + +func readUint32(p []byte) (remain []byte, v uint32, err error) { + if len(p) < 4 { + return nil, 0, io.ErrUnexpectedEOF + } + return p[4:], binary.BigEndian.Uint32(p[:4]), nil +} + +type streamEnder interface { + StreamEnded() bool +} + +type headersEnder interface { + HeadersEnded() bool +} + +type headersOrContinuation interface { + headersEnder + HeaderBlockFragment() []byte +} + +// A MetaHeadersFrame is the representation of one HEADERS frame and +// zero or more contiguous CONTINUATION frames and the decoding of +// their HPACK-encoded contents. +// +// This type of frame does not appear on the wire and is only returned +// by the Framer when Framer.ReadMetaHeaders is set. +type MetaHeadersFrame struct { + *HeadersFrame + + // Fields are the fields contained in the HEADERS and + // CONTINUATION frames. The underlying slice is owned by the + // Framer and must not be retained after the next call to + // ReadFrame. + // + // Fields are guaranteed to be in the correct http2 order and + // not have unknown pseudo header fields or invalid header + // field names or values. Required pseudo header fields may be + // missing, however. Use the MetaHeadersFrame.Pseudo accessor + // method access pseudo headers. + Fields []hpack.HeaderField + + // Truncated is whether the max header list size limit was hit + // and Fields is incomplete. The hpack decoder state is still + // valid, however. + Truncated bool +} + +// PseudoValue returns the given pseudo header field's value. +// The provided pseudo field should not contain the leading colon. +func (mh *MetaHeadersFrame) PseudoValue(pseudo string) string { + for _, hf := range mh.Fields { + if !hf.IsPseudo() { + return "" + } + if hf.Name[1:] == pseudo { + return hf.Value + } + } + return "" +} + +// RegularFields returns the regular (non-pseudo) header fields of mh. +// The caller does not own the returned slice. +func (mh *MetaHeadersFrame) RegularFields() []hpack.HeaderField { + for i, hf := range mh.Fields { + if !hf.IsPseudo() { + return mh.Fields[i:] + } + } + return nil +} + +// PseudoFields returns the pseudo header fields of mh. +// The caller does not own the returned slice. +func (mh *MetaHeadersFrame) PseudoFields() []hpack.HeaderField { + for i, hf := range mh.Fields { + if !hf.IsPseudo() { + return mh.Fields[:i] + } + } + return mh.Fields +} + +func (mh *MetaHeadersFrame) checkPseudos() error { + var isRequest, isResponse bool + pf := mh.PseudoFields() + for i, hf := range pf { + switch hf.Name { + case ":method", ":path", ":scheme", ":authority": + isRequest = true + case ":status": + isResponse = true + default: + return pseudoHeaderError(hf.Name) + } + // Check for duplicates. + // This would be a bad algorithm, but N is 4. + // And this doesn't allocate. + for _, hf2 := range pf[:i] { + if hf.Name == hf2.Name { + return duplicatePseudoHeaderError(hf.Name) + } + } + } + if isRequest && isResponse { + return errMixPseudoHeaderTypes + } + return nil +} + +func (fr *Framer) maxHeaderStringLen() int { + v := fr.maxHeaderListSize() + if uint32(int(v)) == v { + return int(v) + } + // They had a crazy big number for MaxHeaderBytes anyway, + // so give them unlimited header lengths: + return 0 +} + +// readMetaFrame returns 0 or more CONTINUATION frames from fr and +// merge them into the provided hf and returns a MetaHeadersFrame +// with the decoded hpack values. +func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) { + if fr.AllowIllegalReads { + return nil, errors.New("illegal use of AllowIllegalReads with ReadMetaHeaders") + } + mh := &MetaHeadersFrame{ + HeadersFrame: hf, + } + var remainSize = fr.maxHeaderListSize() + var sawRegular bool + + var invalid error // pseudo header field errors + hdec := fr.ReadMetaHeaders + hdec.SetEmitEnabled(true) + hdec.SetMaxStringLength(fr.maxHeaderStringLen()) + hdec.SetEmitFunc(func(hf hpack.HeaderField) { + if VerboseLogs && fr.logReads { + fr.debugReadLoggerf("http2: decoded hpack field %+v", hf) + } + if !httpguts.ValidHeaderFieldValue(hf.Value) { + invalid = headerFieldValueError(hf.Value) + } + isPseudo := strings.HasPrefix(hf.Name, ":") + if isPseudo { + if sawRegular { + invalid = errPseudoAfterRegular + } + } else { + sawRegular = true + if !validWireHeaderFieldName(hf.Name) { + invalid = headerFieldNameError(hf.Name) + } + } + + if invalid != nil { + hdec.SetEmitEnabled(false) + return + } + + size := hf.Size() + if size > remainSize { + hdec.SetEmitEnabled(false) + mh.Truncated = true + return + } + remainSize -= size + + mh.Fields = append(mh.Fields, hf) + }) + // Lose reference to MetaHeadersFrame: + defer hdec.SetEmitFunc(func(hf hpack.HeaderField) {}) + + var hc headersOrContinuation = hf + for { + frag := hc.HeaderBlockFragment() + if _, err := hdec.Write(frag); err != nil { + return nil, ConnectionError(ErrCodeCompression) + } + + if hc.HeadersEnded() { + break + } + if f, err := fr.ReadFrame(); err != nil { + return nil, err + } else { + hc = f.(*ContinuationFrame) // guaranteed by checkFrameOrder + } + } + + mh.HeadersFrame.headerFragBuf = nil + mh.HeadersFrame.invalidate() + + if err := hdec.Close(); err != nil { + return nil, ConnectionError(ErrCodeCompression) + } + if invalid != nil { + fr.errDetail = invalid + if VerboseLogs { + log.Printf("http2: invalid header: %v", invalid) + } + return nil, StreamError{mh.StreamID, ErrCodeProtocol, invalid} + } + if err := mh.checkPseudos(); err != nil { + fr.errDetail = err + if VerboseLogs { + log.Printf("http2: invalid pseudo headers: %v", err) + } + return nil, StreamError{mh.StreamID, ErrCodeProtocol, err} + } + return mh, nil +} + +func summarizeFrame(f Frame) string { + var buf bytes.Buffer + f.Header().writeDebug(&buf) + switch f := f.(type) { + case *SettingsFrame: + n := 0 + f.ForeachSetting(func(s Setting) error { + n++ + if n == 1 { + buf.WriteString(", settings:") + } + fmt.Fprintf(&buf, " %v=%v,", s.ID, s.Val) + return nil + }) + if n > 0 { + buf.Truncate(buf.Len() - 1) // remove trailing comma + } + case *DataFrame: + data := f.Data() + const max = 256 + if len(data) > max { + data = data[:max] + } + fmt.Fprintf(&buf, " data=%q", data) + if len(f.Data()) > max { + fmt.Fprintf(&buf, " (%d bytes omitted)", len(f.Data())-max) + } + case *WindowUpdateFrame: + if f.StreamID == 0 { + buf.WriteString(" (conn)") + } + fmt.Fprintf(&buf, " incr=%v", f.Increment) + case *PingFrame: + fmt.Fprintf(&buf, " ping=%q", f.Data[:]) + case *GoAwayFrame: + fmt.Fprintf(&buf, " LastStreamID=%v ErrCode=%v Debug=%q", + f.LastStreamID, f.ErrCode, f.debugData) + case *RSTStreamFrame: + fmt.Fprintf(&buf, " ErrCode=%v", f.ErrCode) + } + return buf.String() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/go111.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/go111.go new file mode 100644 index 0000000..3a13101 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/go111.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.11 + +package http2 + +import ( + "net/http/httptrace" + "net/textproto" +) + +func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool { + return trace != nil && trace.WroteHeaderField != nil +} + +func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) { + if trace != nil && trace.WroteHeaderField != nil { + trace.WroteHeaderField(k, []string{v}) + } +} + +func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error { + if trace != nil { + return trace.Got1xxResponse + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/gotrack.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/gotrack.go new file mode 100644 index 0000000..9933c9f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/gotrack.go @@ -0,0 +1,170 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Defensive debug-only utility to track that functions run on the +// goroutine that they're supposed to. + +package http2 + +import ( + "bytes" + "errors" + "fmt" + "os" + "runtime" + "strconv" + "sync" +) + +var DebugGoroutines = os.Getenv("DEBUG_HTTP2_GOROUTINES") == "1" + +type goroutineLock uint64 + +func newGoroutineLock() goroutineLock { + if !DebugGoroutines { + return 0 + } + return goroutineLock(curGoroutineID()) +} + +func (g goroutineLock) check() { + if !DebugGoroutines { + return + } + if curGoroutineID() != uint64(g) { + panic("running on the wrong goroutine") + } +} + +func (g goroutineLock) checkNotOn() { + if !DebugGoroutines { + return + } + if curGoroutineID() == uint64(g) { + panic("running on the wrong goroutine") + } +} + +var goroutineSpace = []byte("goroutine ") + +func curGoroutineID() uint64 { + bp := littleBuf.Get().(*[]byte) + defer littleBuf.Put(bp) + b := *bp + b = b[:runtime.Stack(b, false)] + // Parse the 4707 out of "goroutine 4707 [" + b = bytes.TrimPrefix(b, goroutineSpace) + i := bytes.IndexByte(b, ' ') + if i < 0 { + panic(fmt.Sprintf("No space found in %q", b)) + } + b = b[:i] + n, err := parseUintBytes(b, 10, 64) + if err != nil { + panic(fmt.Sprintf("Failed to parse goroutine ID out of %q: %v", b, err)) + } + return n +} + +var littleBuf = sync.Pool{ + New: func() interface{} { + buf := make([]byte, 64) + return &buf + }, +} + +// parseUintBytes is like strconv.ParseUint, but using a []byte. +func parseUintBytes(s []byte, base int, bitSize int) (n uint64, err error) { + var cutoff, maxVal uint64 + + if bitSize == 0 { + bitSize = int(strconv.IntSize) + } + + s0 := s + switch { + case len(s) < 1: + err = strconv.ErrSyntax + goto Error + + case 2 <= base && base <= 36: + // valid base; nothing to do + + case base == 0: + // Look for octal, hex prefix. + switch { + case s[0] == '0' && len(s) > 1 && (s[1] == 'x' || s[1] == 'X'): + base = 16 + s = s[2:] + if len(s) < 1 { + err = strconv.ErrSyntax + goto Error + } + case s[0] == '0': + base = 8 + default: + base = 10 + } + + default: + err = errors.New("invalid base " + strconv.Itoa(base)) + goto Error + } + + n = 0 + cutoff = cutoff64(base) + maxVal = 1<= base { + n = 0 + err = strconv.ErrSyntax + goto Error + } + + if n >= cutoff { + // n*base overflows + n = 1<<64 - 1 + err = strconv.ErrRange + goto Error + } + n *= uint64(base) + + n1 := n + uint64(v) + if n1 < n || n1 > maxVal { + // n+v overflows + n = 1<<64 - 1 + err = strconv.ErrRange + goto Error + } + n = n1 + } + + return n, nil + +Error: + return n, &strconv.NumError{Func: "ParseUint", Num: string(s0), Err: err} +} + +// Return the first number n such that n*base >= 1<<64. +func cutoff64(base int) uint64 { + if base < 2 { + return 0 + } + return (1<<64-1)/uint64(base) + 1 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/headermap.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/headermap.go new file mode 100644 index 0000000..c3ff3fa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/headermap.go @@ -0,0 +1,88 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "net/http" + "strings" + "sync" +) + +var ( + commonBuildOnce sync.Once + commonLowerHeader map[string]string // Go-Canonical-Case -> lower-case + commonCanonHeader map[string]string // lower-case -> Go-Canonical-Case +) + +func buildCommonHeaderMapsOnce() { + commonBuildOnce.Do(buildCommonHeaderMaps) +} + +func buildCommonHeaderMaps() { + common := []string{ + "accept", + "accept-charset", + "accept-encoding", + "accept-language", + "accept-ranges", + "age", + "access-control-allow-origin", + "allow", + "authorization", + "cache-control", + "content-disposition", + "content-encoding", + "content-language", + "content-length", + "content-location", + "content-range", + "content-type", + "cookie", + "date", + "etag", + "expect", + "expires", + "from", + "host", + "if-match", + "if-modified-since", + "if-none-match", + "if-unmodified-since", + "last-modified", + "link", + "location", + "max-forwards", + "proxy-authenticate", + "proxy-authorization", + "range", + "referer", + "refresh", + "retry-after", + "server", + "set-cookie", + "strict-transport-security", + "trailer", + "transfer-encoding", + "user-agent", + "vary", + "via", + "www-authenticate", + } + commonLowerHeader = make(map[string]string, len(common)) + commonCanonHeader = make(map[string]string, len(common)) + for _, v := range common { + chk := http.CanonicalHeaderKey(v) + commonLowerHeader[chk] = v + commonCanonHeader[v] = chk + } +} + +func lowerHeader(v string) string { + buildCommonHeaderMapsOnce() + if s, ok := commonLowerHeader[v]; ok { + return s + } + return strings.ToLower(v) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/encode.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/encode.go new file mode 100644 index 0000000..1565cf2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/encode.go @@ -0,0 +1,240 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package hpack + +import ( + "io" +) + +const ( + uint32Max = ^uint32(0) + initialHeaderTableSize = 4096 +) + +type Encoder struct { + dynTab dynamicTable + // minSize is the minimum table size set by + // SetMaxDynamicTableSize after the previous Header Table Size + // Update. + minSize uint32 + // maxSizeLimit is the maximum table size this encoder + // supports. This will protect the encoder from too large + // size. + maxSizeLimit uint32 + // tableSizeUpdate indicates whether "Header Table Size + // Update" is required. + tableSizeUpdate bool + w io.Writer + buf []byte +} + +// NewEncoder returns a new Encoder which performs HPACK encoding. An +// encoded data is written to w. +func NewEncoder(w io.Writer) *Encoder { + e := &Encoder{ + minSize: uint32Max, + maxSizeLimit: initialHeaderTableSize, + tableSizeUpdate: false, + w: w, + } + e.dynTab.table.init() + e.dynTab.setMaxSize(initialHeaderTableSize) + return e +} + +// WriteField encodes f into a single Write to e's underlying Writer. +// This function may also produce bytes for "Header Table Size Update" +// if necessary. If produced, it is done before encoding f. +func (e *Encoder) WriteField(f HeaderField) error { + e.buf = e.buf[:0] + + if e.tableSizeUpdate { + e.tableSizeUpdate = false + if e.minSize < e.dynTab.maxSize { + e.buf = appendTableSize(e.buf, e.minSize) + } + e.minSize = uint32Max + e.buf = appendTableSize(e.buf, e.dynTab.maxSize) + } + + idx, nameValueMatch := e.searchTable(f) + if nameValueMatch { + e.buf = appendIndexed(e.buf, idx) + } else { + indexing := e.shouldIndex(f) + if indexing { + e.dynTab.add(f) + } + + if idx == 0 { + e.buf = appendNewName(e.buf, f, indexing) + } else { + e.buf = appendIndexedName(e.buf, f, idx, indexing) + } + } + n, err := e.w.Write(e.buf) + if err == nil && n != len(e.buf) { + err = io.ErrShortWrite + } + return err +} + +// searchTable searches f in both stable and dynamic header tables. +// The static header table is searched first. Only when there is no +// exact match for both name and value, the dynamic header table is +// then searched. If there is no match, i is 0. If both name and value +// match, i is the matched index and nameValueMatch becomes true. If +// only name matches, i points to that index and nameValueMatch +// becomes false. +func (e *Encoder) searchTable(f HeaderField) (i uint64, nameValueMatch bool) { + i, nameValueMatch = staticTable.search(f) + if nameValueMatch { + return i, true + } + + j, nameValueMatch := e.dynTab.table.search(f) + if nameValueMatch || (i == 0 && j != 0) { + return j + uint64(staticTable.len()), nameValueMatch + } + + return i, false +} + +// SetMaxDynamicTableSize changes the dynamic header table size to v. +// The actual size is bounded by the value passed to +// SetMaxDynamicTableSizeLimit. +func (e *Encoder) SetMaxDynamicTableSize(v uint32) { + if v > e.maxSizeLimit { + v = e.maxSizeLimit + } + if v < e.minSize { + e.minSize = v + } + e.tableSizeUpdate = true + e.dynTab.setMaxSize(v) +} + +// SetMaxDynamicTableSizeLimit changes the maximum value that can be +// specified in SetMaxDynamicTableSize to v. By default, it is set to +// 4096, which is the same size of the default dynamic header table +// size described in HPACK specification. If the current maximum +// dynamic header table size is strictly greater than v, "Header Table +// Size Update" will be done in the next WriteField call and the +// maximum dynamic header table size is truncated to v. +func (e *Encoder) SetMaxDynamicTableSizeLimit(v uint32) { + e.maxSizeLimit = v + if e.dynTab.maxSize > v { + e.tableSizeUpdate = true + e.dynTab.setMaxSize(v) + } +} + +// shouldIndex reports whether f should be indexed. +func (e *Encoder) shouldIndex(f HeaderField) bool { + return !f.Sensitive && f.Size() <= e.dynTab.maxSize +} + +// appendIndexed appends index i, as encoded in "Indexed Header Field" +// representation, to dst and returns the extended buffer. +func appendIndexed(dst []byte, i uint64) []byte { + first := len(dst) + dst = appendVarInt(dst, 7, i) + dst[first] |= 0x80 + return dst +} + +// appendNewName appends f, as encoded in one of "Literal Header field +// - New Name" representation variants, to dst and returns the +// extended buffer. +// +// If f.Sensitive is true, "Never Indexed" representation is used. If +// f.Sensitive is false and indexing is true, "Inremental Indexing" +// representation is used. +func appendNewName(dst []byte, f HeaderField, indexing bool) []byte { + dst = append(dst, encodeTypeByte(indexing, f.Sensitive)) + dst = appendHpackString(dst, f.Name) + return appendHpackString(dst, f.Value) +} + +// appendIndexedName appends f and index i referring indexed name +// entry, as encoded in one of "Literal Header field - Indexed Name" +// representation variants, to dst and returns the extended buffer. +// +// If f.Sensitive is true, "Never Indexed" representation is used. If +// f.Sensitive is false and indexing is true, "Incremental Indexing" +// representation is used. +func appendIndexedName(dst []byte, f HeaderField, i uint64, indexing bool) []byte { + first := len(dst) + var n byte + if indexing { + n = 6 + } else { + n = 4 + } + dst = appendVarInt(dst, n, i) + dst[first] |= encodeTypeByte(indexing, f.Sensitive) + return appendHpackString(dst, f.Value) +} + +// appendTableSize appends v, as encoded in "Header Table Size Update" +// representation, to dst and returns the extended buffer. +func appendTableSize(dst []byte, v uint32) []byte { + first := len(dst) + dst = appendVarInt(dst, 5, uint64(v)) + dst[first] |= 0x20 + return dst +} + +// appendVarInt appends i, as encoded in variable integer form using n +// bit prefix, to dst and returns the extended buffer. +// +// See +// http://http2.github.io/http2-spec/compression.html#integer.representation +func appendVarInt(dst []byte, n byte, i uint64) []byte { + k := uint64((1 << n) - 1) + if i < k { + return append(dst, byte(i)) + } + dst = append(dst, byte(k)) + i -= k + for ; i >= 128; i >>= 7 { + dst = append(dst, byte(0x80|(i&0x7f))) + } + return append(dst, byte(i)) +} + +// appendHpackString appends s, as encoded in "String Literal" +// representation, to dst and returns the extended buffer. +// +// s will be encoded in Huffman codes only when it produces strictly +// shorter byte string. +func appendHpackString(dst []byte, s string) []byte { + huffmanLength := HuffmanEncodeLength(s) + if huffmanLength < uint64(len(s)) { + first := len(dst) + dst = appendVarInt(dst, 7, huffmanLength) + dst = AppendHuffmanString(dst, s) + dst[first] |= 0x80 + } else { + dst = appendVarInt(dst, 7, uint64(len(s))) + dst = append(dst, s...) + } + return dst +} + +// encodeTypeByte returns type byte. If sensitive is true, type byte +// for "Never Indexed" representation is returned. If sensitive is +// false and indexing is true, type byte for "Incremental Indexing" +// representation is returned. Otherwise, type byte for "Without +// Indexing" is returned. +func encodeTypeByte(indexing, sensitive bool) byte { + if sensitive { + return 0x10 + } + if indexing { + return 0x40 + } + return 0 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/hpack.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/hpack.go new file mode 100644 index 0000000..85f18a2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/hpack.go @@ -0,0 +1,504 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package hpack implements HPACK, a compression format for +// efficiently representing HTTP header fields in the context of HTTP/2. +// +// See http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09 +package hpack + +import ( + "bytes" + "errors" + "fmt" +) + +// A DecodingError is something the spec defines as a decoding error. +type DecodingError struct { + Err error +} + +func (de DecodingError) Error() string { + return fmt.Sprintf("decoding error: %v", de.Err) +} + +// An InvalidIndexError is returned when an encoder references a table +// entry before the static table or after the end of the dynamic table. +type InvalidIndexError int + +func (e InvalidIndexError) Error() string { + return fmt.Sprintf("invalid indexed representation index %d", int(e)) +} + +// A HeaderField is a name-value pair. Both the name and value are +// treated as opaque sequences of octets. +type HeaderField struct { + Name, Value string + + // Sensitive means that this header field should never be + // indexed. + Sensitive bool +} + +// IsPseudo reports whether the header field is an http2 pseudo header. +// That is, it reports whether it starts with a colon. +// It is not otherwise guaranteed to be a valid pseudo header field, +// though. +func (hf HeaderField) IsPseudo() bool { + return len(hf.Name) != 0 && hf.Name[0] == ':' +} + +func (hf HeaderField) String() string { + var suffix string + if hf.Sensitive { + suffix = " (sensitive)" + } + return fmt.Sprintf("header field %q = %q%s", hf.Name, hf.Value, suffix) +} + +// Size returns the size of an entry per RFC 7541 section 4.1. +func (hf HeaderField) Size() uint32 { + // http://http2.github.io/http2-spec/compression.html#rfc.section.4.1 + // "The size of the dynamic table is the sum of the size of + // its entries. The size of an entry is the sum of its name's + // length in octets (as defined in Section 5.2), its value's + // length in octets (see Section 5.2), plus 32. The size of + // an entry is calculated using the length of the name and + // value without any Huffman encoding applied." + + // This can overflow if somebody makes a large HeaderField + // Name and/or Value by hand, but we don't care, because that + // won't happen on the wire because the encoding doesn't allow + // it. + return uint32(len(hf.Name) + len(hf.Value) + 32) +} + +// A Decoder is the decoding context for incremental processing of +// header blocks. +type Decoder struct { + dynTab dynamicTable + emit func(f HeaderField) + + emitEnabled bool // whether calls to emit are enabled + maxStrLen int // 0 means unlimited + + // buf is the unparsed buffer. It's only written to + // saveBuf if it was truncated in the middle of a header + // block. Because it's usually not owned, we can only + // process it under Write. + buf []byte // not owned; only valid during Write + + // saveBuf is previous data passed to Write which we weren't able + // to fully parse before. Unlike buf, we own this data. + saveBuf bytes.Buffer + + firstField bool // processing the first field of the header block +} + +// NewDecoder returns a new decoder with the provided maximum dynamic +// table size. The emitFunc will be called for each valid field +// parsed, in the same goroutine as calls to Write, before Write returns. +func NewDecoder(maxDynamicTableSize uint32, emitFunc func(f HeaderField)) *Decoder { + d := &Decoder{ + emit: emitFunc, + emitEnabled: true, + firstField: true, + } + d.dynTab.table.init() + d.dynTab.allowedMaxSize = maxDynamicTableSize + d.dynTab.setMaxSize(maxDynamicTableSize) + return d +} + +// ErrStringLength is returned by Decoder.Write when the max string length +// (as configured by Decoder.SetMaxStringLength) would be violated. +var ErrStringLength = errors.New("hpack: string too long") + +// SetMaxStringLength sets the maximum size of a HeaderField name or +// value string. If a string exceeds this length (even after any +// decompression), Write will return ErrStringLength. +// A value of 0 means unlimited and is the default from NewDecoder. +func (d *Decoder) SetMaxStringLength(n int) { + d.maxStrLen = n +} + +// SetEmitFunc changes the callback used when new header fields +// are decoded. +// It must be non-nil. It does not affect EmitEnabled. +func (d *Decoder) SetEmitFunc(emitFunc func(f HeaderField)) { + d.emit = emitFunc +} + +// SetEmitEnabled controls whether the emitFunc provided to NewDecoder +// should be called. The default is true. +// +// This facility exists to let servers enforce MAX_HEADER_LIST_SIZE +// while still decoding and keeping in-sync with decoder state, but +// without doing unnecessary decompression or generating unnecessary +// garbage for header fields past the limit. +func (d *Decoder) SetEmitEnabled(v bool) { d.emitEnabled = v } + +// EmitEnabled reports whether calls to the emitFunc provided to NewDecoder +// are currently enabled. The default is true. +func (d *Decoder) EmitEnabled() bool { return d.emitEnabled } + +// TODO: add method *Decoder.Reset(maxSize, emitFunc) to let callers re-use Decoders and their +// underlying buffers for garbage reasons. + +func (d *Decoder) SetMaxDynamicTableSize(v uint32) { + d.dynTab.setMaxSize(v) +} + +// SetAllowedMaxDynamicTableSize sets the upper bound that the encoded +// stream (via dynamic table size updates) may set the maximum size +// to. +func (d *Decoder) SetAllowedMaxDynamicTableSize(v uint32) { + d.dynTab.allowedMaxSize = v +} + +type dynamicTable struct { + // http://http2.github.io/http2-spec/compression.html#rfc.section.2.3.2 + table headerFieldTable + size uint32 // in bytes + maxSize uint32 // current maxSize + allowedMaxSize uint32 // maxSize may go up to this, inclusive +} + +func (dt *dynamicTable) setMaxSize(v uint32) { + dt.maxSize = v + dt.evict() +} + +func (dt *dynamicTable) add(f HeaderField) { + dt.table.addEntry(f) + dt.size += f.Size() + dt.evict() +} + +// If we're too big, evict old stuff. +func (dt *dynamicTable) evict() { + var n int + for dt.size > dt.maxSize && n < dt.table.len() { + dt.size -= dt.table.ents[n].Size() + n++ + } + dt.table.evictOldest(n) +} + +func (d *Decoder) maxTableIndex() int { + // This should never overflow. RFC 7540 Section 6.5.2 limits the size of + // the dynamic table to 2^32 bytes, where each entry will occupy more than + // one byte. Further, the staticTable has a fixed, small length. + return d.dynTab.table.len() + staticTable.len() +} + +func (d *Decoder) at(i uint64) (hf HeaderField, ok bool) { + // See Section 2.3.3. + if i == 0 { + return + } + if i <= uint64(staticTable.len()) { + return staticTable.ents[i-1], true + } + if i > uint64(d.maxTableIndex()) { + return + } + // In the dynamic table, newer entries have lower indices. + // However, dt.ents[0] is the oldest entry. Hence, dt.ents is + // the reversed dynamic table. + dt := d.dynTab.table + return dt.ents[dt.len()-(int(i)-staticTable.len())], true +} + +// Decode decodes an entire block. +// +// TODO: remove this method and make it incremental later? This is +// easier for debugging now. +func (d *Decoder) DecodeFull(p []byte) ([]HeaderField, error) { + var hf []HeaderField + saveFunc := d.emit + defer func() { d.emit = saveFunc }() + d.emit = func(f HeaderField) { hf = append(hf, f) } + if _, err := d.Write(p); err != nil { + return nil, err + } + if err := d.Close(); err != nil { + return nil, err + } + return hf, nil +} + +// Close declares that the decoding is complete and resets the Decoder +// to be reused again for a new header block. If there is any remaining +// data in the decoder's buffer, Close returns an error. +func (d *Decoder) Close() error { + if d.saveBuf.Len() > 0 { + d.saveBuf.Reset() + return DecodingError{errors.New("truncated headers")} + } + d.firstField = true + return nil +} + +func (d *Decoder) Write(p []byte) (n int, err error) { + if len(p) == 0 { + // Prevent state machine CPU attacks (making us redo + // work up to the point of finding out we don't have + // enough data) + return + } + // Only copy the data if we have to. Optimistically assume + // that p will contain a complete header block. + if d.saveBuf.Len() == 0 { + d.buf = p + } else { + d.saveBuf.Write(p) + d.buf = d.saveBuf.Bytes() + d.saveBuf.Reset() + } + + for len(d.buf) > 0 { + err = d.parseHeaderFieldRepr() + if err == errNeedMore { + // Extra paranoia, making sure saveBuf won't + // get too large. All the varint and string + // reading code earlier should already catch + // overlong things and return ErrStringLength, + // but keep this as a last resort. + const varIntOverhead = 8 // conservative + if d.maxStrLen != 0 && int64(len(d.buf)) > 2*(int64(d.maxStrLen)+varIntOverhead) { + return 0, ErrStringLength + } + d.saveBuf.Write(d.buf) + return len(p), nil + } + d.firstField = false + if err != nil { + break + } + } + return len(p), err +} + +// errNeedMore is an internal sentinel error value that means the +// buffer is truncated and we need to read more data before we can +// continue parsing. +var errNeedMore = errors.New("need more data") + +type indexType int + +const ( + indexedTrue indexType = iota + indexedFalse + indexedNever +) + +func (v indexType) indexed() bool { return v == indexedTrue } +func (v indexType) sensitive() bool { return v == indexedNever } + +// returns errNeedMore if there isn't enough data available. +// any other error is fatal. +// consumes d.buf iff it returns nil. +// precondition: must be called with len(d.buf) > 0 +func (d *Decoder) parseHeaderFieldRepr() error { + b := d.buf[0] + switch { + case b&128 != 0: + // Indexed representation. + // High bit set? + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.1 + return d.parseFieldIndexed() + case b&192 == 64: + // 6.2.1 Literal Header Field with Incremental Indexing + // 0b10xxxxxx: top two bits are 10 + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.1 + return d.parseFieldLiteral(6, indexedTrue) + case b&240 == 0: + // 6.2.2 Literal Header Field without Indexing + // 0b0000xxxx: top four bits are 0000 + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.2 + return d.parseFieldLiteral(4, indexedFalse) + case b&240 == 16: + // 6.2.3 Literal Header Field never Indexed + // 0b0001xxxx: top four bits are 0001 + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.3 + return d.parseFieldLiteral(4, indexedNever) + case b&224 == 32: + // 6.3 Dynamic Table Size Update + // Top three bits are '001'. + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.3 + return d.parseDynamicTableSizeUpdate() + } + + return DecodingError{errors.New("invalid encoding")} +} + +// (same invariants and behavior as parseHeaderFieldRepr) +func (d *Decoder) parseFieldIndexed() error { + buf := d.buf + idx, buf, err := readVarInt(7, buf) + if err != nil { + return err + } + hf, ok := d.at(idx) + if !ok { + return DecodingError{InvalidIndexError(idx)} + } + d.buf = buf + return d.callEmit(HeaderField{Name: hf.Name, Value: hf.Value}) +} + +// (same invariants and behavior as parseHeaderFieldRepr) +func (d *Decoder) parseFieldLiteral(n uint8, it indexType) error { + buf := d.buf + nameIdx, buf, err := readVarInt(n, buf) + if err != nil { + return err + } + + var hf HeaderField + wantStr := d.emitEnabled || it.indexed() + if nameIdx > 0 { + ihf, ok := d.at(nameIdx) + if !ok { + return DecodingError{InvalidIndexError(nameIdx)} + } + hf.Name = ihf.Name + } else { + hf.Name, buf, err = d.readString(buf, wantStr) + if err != nil { + return err + } + } + hf.Value, buf, err = d.readString(buf, wantStr) + if err != nil { + return err + } + d.buf = buf + if it.indexed() { + d.dynTab.add(hf) + } + hf.Sensitive = it.sensitive() + return d.callEmit(hf) +} + +func (d *Decoder) callEmit(hf HeaderField) error { + if d.maxStrLen != 0 { + if len(hf.Name) > d.maxStrLen || len(hf.Value) > d.maxStrLen { + return ErrStringLength + } + } + if d.emitEnabled { + d.emit(hf) + } + return nil +} + +// (same invariants and behavior as parseHeaderFieldRepr) +func (d *Decoder) parseDynamicTableSizeUpdate() error { + // RFC 7541, sec 4.2: This dynamic table size update MUST occur at the + // beginning of the first header block following the change to the dynamic table size. + if !d.firstField && d.dynTab.size > 0 { + return DecodingError{errors.New("dynamic table size update MUST occur at the beginning of a header block")} + } + + buf := d.buf + size, buf, err := readVarInt(5, buf) + if err != nil { + return err + } + if size > uint64(d.dynTab.allowedMaxSize) { + return DecodingError{errors.New("dynamic table size update too large")} + } + d.dynTab.setMaxSize(uint32(size)) + d.buf = buf + return nil +} + +var errVarintOverflow = DecodingError{errors.New("varint integer overflow")} + +// readVarInt reads an unsigned variable length integer off the +// beginning of p. n is the parameter as described in +// http://http2.github.io/http2-spec/compression.html#rfc.section.5.1. +// +// n must always be between 1 and 8. +// +// The returned remain buffer is either a smaller suffix of p, or err != nil. +// The error is errNeedMore if p doesn't contain a complete integer. +func readVarInt(n byte, p []byte) (i uint64, remain []byte, err error) { + if n < 1 || n > 8 { + panic("bad n") + } + if len(p) == 0 { + return 0, p, errNeedMore + } + i = uint64(p[0]) + if n < 8 { + i &= (1 << uint64(n)) - 1 + } + if i < (1< 0 { + b := p[0] + p = p[1:] + i += uint64(b&127) << m + if b&128 == 0 { + return i, p, nil + } + m += 7 + if m >= 63 { // TODO: proper overflow check. making this up. + return 0, origP, errVarintOverflow + } + } + return 0, origP, errNeedMore +} + +// readString decodes an hpack string from p. +// +// wantStr is whether s will be used. If false, decompression and +// []byte->string garbage are skipped if s will be ignored +// anyway. This does mean that huffman decoding errors for non-indexed +// strings past the MAX_HEADER_LIST_SIZE are ignored, but the server +// is returning an error anyway, and because they're not indexed, the error +// won't affect the decoding state. +func (d *Decoder) readString(p []byte, wantStr bool) (s string, remain []byte, err error) { + if len(p) == 0 { + return "", p, errNeedMore + } + isHuff := p[0]&128 != 0 + strLen, p, err := readVarInt(7, p) + if err != nil { + return "", p, err + } + if d.maxStrLen != 0 && strLen > uint64(d.maxStrLen) { + return "", nil, ErrStringLength + } + if uint64(len(p)) < strLen { + return "", p, errNeedMore + } + if !isHuff { + if wantStr { + s = string(p[:strLen]) + } + return s, p[strLen:], nil + } + + if wantStr { + buf := bufPool.Get().(*bytes.Buffer) + buf.Reset() // don't trust others + defer bufPool.Put(buf) + if err := huffmanDecode(buf, d.maxStrLen, p[:strLen]); err != nil { + buf.Reset() + return "", nil, err + } + s = buf.String() + buf.Reset() // be nice to GC + } + return s, p[strLen:], nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/huffman.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/huffman.go new file mode 100644 index 0000000..b412a96 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/huffman.go @@ -0,0 +1,222 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package hpack + +import ( + "bytes" + "errors" + "io" + "sync" +) + +var bufPool = sync.Pool{ + New: func() interface{} { return new(bytes.Buffer) }, +} + +// HuffmanDecode decodes the string in v and writes the expanded +// result to w, returning the number of bytes written to w and the +// Write call's return value. At most one Write call is made. +func HuffmanDecode(w io.Writer, v []byte) (int, error) { + buf := bufPool.Get().(*bytes.Buffer) + buf.Reset() + defer bufPool.Put(buf) + if err := huffmanDecode(buf, 0, v); err != nil { + return 0, err + } + return w.Write(buf.Bytes()) +} + +// HuffmanDecodeToString decodes the string in v. +func HuffmanDecodeToString(v []byte) (string, error) { + buf := bufPool.Get().(*bytes.Buffer) + buf.Reset() + defer bufPool.Put(buf) + if err := huffmanDecode(buf, 0, v); err != nil { + return "", err + } + return buf.String(), nil +} + +// ErrInvalidHuffman is returned for errors found decoding +// Huffman-encoded strings. +var ErrInvalidHuffman = errors.New("hpack: invalid Huffman-encoded data") + +// huffmanDecode decodes v to buf. +// If maxLen is greater than 0, attempts to write more to buf than +// maxLen bytes will return ErrStringLength. +func huffmanDecode(buf *bytes.Buffer, maxLen int, v []byte) error { + rootHuffmanNode := getRootHuffmanNode() + n := rootHuffmanNode + // cur is the bit buffer that has not been fed into n. + // cbits is the number of low order bits in cur that are valid. + // sbits is the number of bits of the symbol prefix being decoded. + cur, cbits, sbits := uint(0), uint8(0), uint8(0) + for _, b := range v { + cur = cur<<8 | uint(b) + cbits += 8 + sbits += 8 + for cbits >= 8 { + idx := byte(cur >> (cbits - 8)) + n = n.children[idx] + if n == nil { + return ErrInvalidHuffman + } + if n.children == nil { + if maxLen != 0 && buf.Len() == maxLen { + return ErrStringLength + } + buf.WriteByte(n.sym) + cbits -= n.codeLen + n = rootHuffmanNode + sbits = cbits + } else { + cbits -= 8 + } + } + } + for cbits > 0 { + n = n.children[byte(cur<<(8-cbits))] + if n == nil { + return ErrInvalidHuffman + } + if n.children != nil || n.codeLen > cbits { + break + } + if maxLen != 0 && buf.Len() == maxLen { + return ErrStringLength + } + buf.WriteByte(n.sym) + cbits -= n.codeLen + n = rootHuffmanNode + sbits = cbits + } + if sbits > 7 { + // Either there was an incomplete symbol, or overlong padding. + // Both are decoding errors per RFC 7541 section 5.2. + return ErrInvalidHuffman + } + if mask := uint(1< 8 { + codeLen -= 8 + i := uint8(code >> codeLen) + if cur.children[i] == nil { + cur.children[i] = newInternalNode() + } + cur = cur.children[i] + } + shift := 8 - codeLen + start, end := int(uint8(code<> (nbits - rembits)) + dst[len(dst)-1] |= t + } + + return dst +} + +// HuffmanEncodeLength returns the number of bytes required to encode +// s in Huffman codes. The result is round up to byte boundary. +func HuffmanEncodeLength(s string) uint64 { + n := uint64(0) + for i := 0; i < len(s); i++ { + n += uint64(huffmanCodeLen[s[i]]) + } + return (n + 7) / 8 +} + +// appendByteToHuffmanCode appends Huffman code for c to dst and +// returns the extended buffer and the remaining bits in the last +// element. The appending is not byte aligned and the remaining bits +// in the last element of dst is given in rembits. +func appendByteToHuffmanCode(dst []byte, rembits uint8, c byte) ([]byte, uint8) { + code := huffmanCodes[c] + nbits := huffmanCodeLen[c] + + for { + if rembits > nbits { + t := uint8(code << (rembits - nbits)) + dst[len(dst)-1] |= t + rembits -= nbits + break + } + + t := uint8(code >> (nbits - rembits)) + dst[len(dst)-1] |= t + + nbits -= rembits + rembits = 8 + + if nbits == 0 { + break + } + + dst = append(dst, 0) + } + + return dst, rembits +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/tables.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/tables.go new file mode 100644 index 0000000..a66cfbe --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/hpack/tables.go @@ -0,0 +1,479 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package hpack + +import ( + "fmt" +) + +// headerFieldTable implements a list of HeaderFields. +// This is used to implement the static and dynamic tables. +type headerFieldTable struct { + // For static tables, entries are never evicted. + // + // For dynamic tables, entries are evicted from ents[0] and added to the end. + // Each entry has a unique id that starts at one and increments for each + // entry that is added. This unique id is stable across evictions, meaning + // it can be used as a pointer to a specific entry. As in hpack, unique ids + // are 1-based. The unique id for ents[k] is k + evictCount + 1. + // + // Zero is not a valid unique id. + // + // evictCount should not overflow in any remotely practical situation. In + // practice, we will have one dynamic table per HTTP/2 connection. If we + // assume a very powerful server that handles 1M QPS per connection and each + // request adds (then evicts) 100 entries from the table, it would still take + // 2M years for evictCount to overflow. + ents []HeaderField + evictCount uint64 + + // byName maps a HeaderField name to the unique id of the newest entry with + // the same name. See above for a definition of "unique id". + byName map[string]uint64 + + // byNameValue maps a HeaderField name/value pair to the unique id of the newest + // entry with the same name and value. See above for a definition of "unique id". + byNameValue map[pairNameValue]uint64 +} + +type pairNameValue struct { + name, value string +} + +func (t *headerFieldTable) init() { + t.byName = make(map[string]uint64) + t.byNameValue = make(map[pairNameValue]uint64) +} + +// len reports the number of entries in the table. +func (t *headerFieldTable) len() int { + return len(t.ents) +} + +// addEntry adds a new entry. +func (t *headerFieldTable) addEntry(f HeaderField) { + id := uint64(t.len()) + t.evictCount + 1 + t.byName[f.Name] = id + t.byNameValue[pairNameValue{f.Name, f.Value}] = id + t.ents = append(t.ents, f) +} + +// evictOldest evicts the n oldest entries in the table. +func (t *headerFieldTable) evictOldest(n int) { + if n > t.len() { + panic(fmt.Sprintf("evictOldest(%v) on table with %v entries", n, t.len())) + } + for k := 0; k < n; k++ { + f := t.ents[k] + id := t.evictCount + uint64(k) + 1 + if t.byName[f.Name] == id { + delete(t.byName, f.Name) + } + if p := (pairNameValue{f.Name, f.Value}); t.byNameValue[p] == id { + delete(t.byNameValue, p) + } + } + copy(t.ents, t.ents[n:]) + for k := t.len() - n; k < t.len(); k++ { + t.ents[k] = HeaderField{} // so strings can be garbage collected + } + t.ents = t.ents[:t.len()-n] + if t.evictCount+uint64(n) < t.evictCount { + panic("evictCount overflow") + } + t.evictCount += uint64(n) +} + +// search finds f in the table. If there is no match, i is 0. +// If both name and value match, i is the matched index and nameValueMatch +// becomes true. If only name matches, i points to that index and +// nameValueMatch becomes false. +// +// The returned index is a 1-based HPACK index. For dynamic tables, HPACK says +// that index 1 should be the newest entry, but t.ents[0] is the oldest entry, +// meaning t.ents is reversed for dynamic tables. Hence, when t is a dynamic +// table, the return value i actually refers to the entry t.ents[t.len()-i]. +// +// All tables are assumed to be a dynamic tables except for the global +// staticTable pointer. +// +// See Section 2.3.3. +func (t *headerFieldTable) search(f HeaderField) (i uint64, nameValueMatch bool) { + if !f.Sensitive { + if id := t.byNameValue[pairNameValue{f.Name, f.Value}]; id != 0 { + return t.idToIndex(id), true + } + } + if id := t.byName[f.Name]; id != 0 { + return t.idToIndex(id), false + } + return 0, false +} + +// idToIndex converts a unique id to an HPACK index. +// See Section 2.3.3. +func (t *headerFieldTable) idToIndex(id uint64) uint64 { + if id <= t.evictCount { + panic(fmt.Sprintf("id (%v) <= evictCount (%v)", id, t.evictCount)) + } + k := id - t.evictCount - 1 // convert id to an index t.ents[k] + if t != staticTable { + return uint64(t.len()) - k // dynamic table + } + return k + 1 +} + +// http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07#appendix-B +var staticTable = newStaticTable() +var staticTableEntries = [...]HeaderField{ + {Name: ":authority"}, + {Name: ":method", Value: "GET"}, + {Name: ":method", Value: "POST"}, + {Name: ":path", Value: "/"}, + {Name: ":path", Value: "/index.html"}, + {Name: ":scheme", Value: "http"}, + {Name: ":scheme", Value: "https"}, + {Name: ":status", Value: "200"}, + {Name: ":status", Value: "204"}, + {Name: ":status", Value: "206"}, + {Name: ":status", Value: "304"}, + {Name: ":status", Value: "400"}, + {Name: ":status", Value: "404"}, + {Name: ":status", Value: "500"}, + {Name: "accept-charset"}, + {Name: "accept-encoding", Value: "gzip, deflate"}, + {Name: "accept-language"}, + {Name: "accept-ranges"}, + {Name: "accept"}, + {Name: "access-control-allow-origin"}, + {Name: "age"}, + {Name: "allow"}, + {Name: "authorization"}, + {Name: "cache-control"}, + {Name: "content-disposition"}, + {Name: "content-encoding"}, + {Name: "content-language"}, + {Name: "content-length"}, + {Name: "content-location"}, + {Name: "content-range"}, + {Name: "content-type"}, + {Name: "cookie"}, + {Name: "date"}, + {Name: "etag"}, + {Name: "expect"}, + {Name: "expires"}, + {Name: "from"}, + {Name: "host"}, + {Name: "if-match"}, + {Name: "if-modified-since"}, + {Name: "if-none-match"}, + {Name: "if-range"}, + {Name: "if-unmodified-since"}, + {Name: "last-modified"}, + {Name: "link"}, + {Name: "location"}, + {Name: "max-forwards"}, + {Name: "proxy-authenticate"}, + {Name: "proxy-authorization"}, + {Name: "range"}, + {Name: "referer"}, + {Name: "refresh"}, + {Name: "retry-after"}, + {Name: "server"}, + {Name: "set-cookie"}, + {Name: "strict-transport-security"}, + {Name: "transfer-encoding"}, + {Name: "user-agent"}, + {Name: "vary"}, + {Name: "via"}, + {Name: "www-authenticate"}, +} + +func newStaticTable() *headerFieldTable { + t := &headerFieldTable{} + t.init() + for _, e := range staticTableEntries[:] { + t.addEntry(e) + } + return t +} + +var huffmanCodes = [256]uint32{ + 0x1ff8, + 0x7fffd8, + 0xfffffe2, + 0xfffffe3, + 0xfffffe4, + 0xfffffe5, + 0xfffffe6, + 0xfffffe7, + 0xfffffe8, + 0xffffea, + 0x3ffffffc, + 0xfffffe9, + 0xfffffea, + 0x3ffffffd, + 0xfffffeb, + 0xfffffec, + 0xfffffed, + 0xfffffee, + 0xfffffef, + 0xffffff0, + 0xffffff1, + 0xffffff2, + 0x3ffffffe, + 0xffffff3, + 0xffffff4, + 0xffffff5, + 0xffffff6, + 0xffffff7, + 0xffffff8, + 0xffffff9, + 0xffffffa, + 0xffffffb, + 0x14, + 0x3f8, + 0x3f9, + 0xffa, + 0x1ff9, + 0x15, + 0xf8, + 0x7fa, + 0x3fa, + 0x3fb, + 0xf9, + 0x7fb, + 0xfa, + 0x16, + 0x17, + 0x18, + 0x0, + 0x1, + 0x2, + 0x19, + 0x1a, + 0x1b, + 0x1c, + 0x1d, + 0x1e, + 0x1f, + 0x5c, + 0xfb, + 0x7ffc, + 0x20, + 0xffb, + 0x3fc, + 0x1ffa, + 0x21, + 0x5d, + 0x5e, + 0x5f, + 0x60, + 0x61, + 0x62, + 0x63, + 0x64, + 0x65, + 0x66, + 0x67, + 0x68, + 0x69, + 0x6a, + 0x6b, + 0x6c, + 0x6d, + 0x6e, + 0x6f, + 0x70, + 0x71, + 0x72, + 0xfc, + 0x73, + 0xfd, + 0x1ffb, + 0x7fff0, + 0x1ffc, + 0x3ffc, + 0x22, + 0x7ffd, + 0x3, + 0x23, + 0x4, + 0x24, + 0x5, + 0x25, + 0x26, + 0x27, + 0x6, + 0x74, + 0x75, + 0x28, + 0x29, + 0x2a, + 0x7, + 0x2b, + 0x76, + 0x2c, + 0x8, + 0x9, + 0x2d, + 0x77, + 0x78, + 0x79, + 0x7a, + 0x7b, + 0x7ffe, + 0x7fc, + 0x3ffd, + 0x1ffd, + 0xffffffc, + 0xfffe6, + 0x3fffd2, + 0xfffe7, + 0xfffe8, + 0x3fffd3, + 0x3fffd4, + 0x3fffd5, + 0x7fffd9, + 0x3fffd6, + 0x7fffda, + 0x7fffdb, + 0x7fffdc, + 0x7fffdd, + 0x7fffde, + 0xffffeb, + 0x7fffdf, + 0xffffec, + 0xffffed, + 0x3fffd7, + 0x7fffe0, + 0xffffee, + 0x7fffe1, + 0x7fffe2, + 0x7fffe3, + 0x7fffe4, + 0x1fffdc, + 0x3fffd8, + 0x7fffe5, + 0x3fffd9, + 0x7fffe6, + 0x7fffe7, + 0xffffef, + 0x3fffda, + 0x1fffdd, + 0xfffe9, + 0x3fffdb, + 0x3fffdc, + 0x7fffe8, + 0x7fffe9, + 0x1fffde, + 0x7fffea, + 0x3fffdd, + 0x3fffde, + 0xfffff0, + 0x1fffdf, + 0x3fffdf, + 0x7fffeb, + 0x7fffec, + 0x1fffe0, + 0x1fffe1, + 0x3fffe0, + 0x1fffe2, + 0x7fffed, + 0x3fffe1, + 0x7fffee, + 0x7fffef, + 0xfffea, + 0x3fffe2, + 0x3fffe3, + 0x3fffe4, + 0x7ffff0, + 0x3fffe5, + 0x3fffe6, + 0x7ffff1, + 0x3ffffe0, + 0x3ffffe1, + 0xfffeb, + 0x7fff1, + 0x3fffe7, + 0x7ffff2, + 0x3fffe8, + 0x1ffffec, + 0x3ffffe2, + 0x3ffffe3, + 0x3ffffe4, + 0x7ffffde, + 0x7ffffdf, + 0x3ffffe5, + 0xfffff1, + 0x1ffffed, + 0x7fff2, + 0x1fffe3, + 0x3ffffe6, + 0x7ffffe0, + 0x7ffffe1, + 0x3ffffe7, + 0x7ffffe2, + 0xfffff2, + 0x1fffe4, + 0x1fffe5, + 0x3ffffe8, + 0x3ffffe9, + 0xffffffd, + 0x7ffffe3, + 0x7ffffe4, + 0x7ffffe5, + 0xfffec, + 0xfffff3, + 0xfffed, + 0x1fffe6, + 0x3fffe9, + 0x1fffe7, + 0x1fffe8, + 0x7ffff3, + 0x3fffea, + 0x3fffeb, + 0x1ffffee, + 0x1ffffef, + 0xfffff4, + 0xfffff5, + 0x3ffffea, + 0x7ffff4, + 0x3ffffeb, + 0x7ffffe6, + 0x3ffffec, + 0x3ffffed, + 0x7ffffe7, + 0x7ffffe8, + 0x7ffffe9, + 0x7ffffea, + 0x7ffffeb, + 0xffffffe, + 0x7ffffec, + 0x7ffffed, + 0x7ffffee, + 0x7ffffef, + 0x7fffff0, + 0x3ffffee, +} + +var huffmanCodeLen = [256]uint8{ + 13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28, + 28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6, + 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10, + 13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6, + 15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5, + 6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28, + 20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23, + 24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24, + 22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23, + 21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23, + 26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25, + 19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27, + 20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23, + 26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/http2.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/http2.go new file mode 100644 index 0000000..bdaba1d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/http2.go @@ -0,0 +1,384 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package http2 implements the HTTP/2 protocol. +// +// This package is low-level and intended to be used directly by very +// few people. Most users will use it indirectly through the automatic +// use by the net/http package (from Go 1.6 and later). +// For use in earlier Go versions see ConfigureServer. (Transport support +// requires Go 1.6 or later) +// +// See https://http2.github.io/ for more information on HTTP/2. +// +// See https://http2.golang.org/ for a test server running this code. +// +package http2 // import "golang.org/x/net/http2" + +import ( + "bufio" + "crypto/tls" + "errors" + "fmt" + "io" + "net/http" + "os" + "sort" + "strconv" + "strings" + "sync" + + "golang.org/x/net/http/httpguts" +) + +var ( + VerboseLogs bool + logFrameWrites bool + logFrameReads bool + inTests bool +) + +func init() { + e := os.Getenv("GODEBUG") + if strings.Contains(e, "http2debug=1") { + VerboseLogs = true + } + if strings.Contains(e, "http2debug=2") { + VerboseLogs = true + logFrameWrites = true + logFrameReads = true + } +} + +const ( + // ClientPreface is the string that must be sent by new + // connections from clients. + ClientPreface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" + + // SETTINGS_MAX_FRAME_SIZE default + // http://http2.github.io/http2-spec/#rfc.section.6.5.2 + initialMaxFrameSize = 16384 + + // NextProtoTLS is the NPN/ALPN protocol negotiated during + // HTTP/2's TLS setup. + NextProtoTLS = "h2" + + // http://http2.github.io/http2-spec/#SettingValues + initialHeaderTableSize = 4096 + + initialWindowSize = 65535 // 6.9.2 Initial Flow Control Window Size + + defaultMaxReadFrameSize = 1 << 20 +) + +var ( + clientPreface = []byte(ClientPreface) +) + +type streamState int + +// HTTP/2 stream states. +// +// See http://tools.ietf.org/html/rfc7540#section-5.1. +// +// For simplicity, the server code merges "reserved (local)" into +// "half-closed (remote)". This is one less state transition to track. +// The only downside is that we send PUSH_PROMISEs slightly less +// liberally than allowable. More discussion here: +// https://lists.w3.org/Archives/Public/ietf-http-wg/2016JulSep/0599.html +// +// "reserved (remote)" is omitted since the client code does not +// support server push. +const ( + stateIdle streamState = iota + stateOpen + stateHalfClosedLocal + stateHalfClosedRemote + stateClosed +) + +var stateName = [...]string{ + stateIdle: "Idle", + stateOpen: "Open", + stateHalfClosedLocal: "HalfClosedLocal", + stateHalfClosedRemote: "HalfClosedRemote", + stateClosed: "Closed", +} + +func (st streamState) String() string { + return stateName[st] +} + +// Setting is a setting parameter: which setting it is, and its value. +type Setting struct { + // ID is which setting is being set. + // See http://http2.github.io/http2-spec/#SettingValues + ID SettingID + + // Val is the value. + Val uint32 +} + +func (s Setting) String() string { + return fmt.Sprintf("[%v = %d]", s.ID, s.Val) +} + +// Valid reports whether the setting is valid. +func (s Setting) Valid() error { + // Limits and error codes from 6.5.2 Defined SETTINGS Parameters + switch s.ID { + case SettingEnablePush: + if s.Val != 1 && s.Val != 0 { + return ConnectionError(ErrCodeProtocol) + } + case SettingInitialWindowSize: + if s.Val > 1<<31-1 { + return ConnectionError(ErrCodeFlowControl) + } + case SettingMaxFrameSize: + if s.Val < 16384 || s.Val > 1<<24-1 { + return ConnectionError(ErrCodeProtocol) + } + } + return nil +} + +// A SettingID is an HTTP/2 setting as defined in +// http://http2.github.io/http2-spec/#iana-settings +type SettingID uint16 + +const ( + SettingHeaderTableSize SettingID = 0x1 + SettingEnablePush SettingID = 0x2 + SettingMaxConcurrentStreams SettingID = 0x3 + SettingInitialWindowSize SettingID = 0x4 + SettingMaxFrameSize SettingID = 0x5 + SettingMaxHeaderListSize SettingID = 0x6 +) + +var settingName = map[SettingID]string{ + SettingHeaderTableSize: "HEADER_TABLE_SIZE", + SettingEnablePush: "ENABLE_PUSH", + SettingMaxConcurrentStreams: "MAX_CONCURRENT_STREAMS", + SettingInitialWindowSize: "INITIAL_WINDOW_SIZE", + SettingMaxFrameSize: "MAX_FRAME_SIZE", + SettingMaxHeaderListSize: "MAX_HEADER_LIST_SIZE", +} + +func (s SettingID) String() string { + if v, ok := settingName[s]; ok { + return v + } + return fmt.Sprintf("UNKNOWN_SETTING_%d", uint16(s)) +} + +var ( + errInvalidHeaderFieldName = errors.New("http2: invalid header field name") + errInvalidHeaderFieldValue = errors.New("http2: invalid header field value") +) + +// validWireHeaderFieldName reports whether v is a valid header field +// name (key). See httpguts.ValidHeaderName for the base rules. +// +// Further, http2 says: +// "Just as in HTTP/1.x, header field names are strings of ASCII +// characters that are compared in a case-insensitive +// fashion. However, header field names MUST be converted to +// lowercase prior to their encoding in HTTP/2. " +func validWireHeaderFieldName(v string) bool { + if len(v) == 0 { + return false + } + for _, r := range v { + if !httpguts.IsTokenRune(r) { + return false + } + if 'A' <= r && r <= 'Z' { + return false + } + } + return true +} + +func httpCodeString(code int) string { + switch code { + case 200: + return "200" + case 404: + return "404" + } + return strconv.Itoa(code) +} + +// from pkg io +type stringWriter interface { + WriteString(s string) (n int, err error) +} + +// A gate lets two goroutines coordinate their activities. +type gate chan struct{} + +func (g gate) Done() { g <- struct{}{} } +func (g gate) Wait() { <-g } + +// A closeWaiter is like a sync.WaitGroup but only goes 1 to 0 (open to closed). +type closeWaiter chan struct{} + +// Init makes a closeWaiter usable. +// It exists because so a closeWaiter value can be placed inside a +// larger struct and have the Mutex and Cond's memory in the same +// allocation. +func (cw *closeWaiter) Init() { + *cw = make(chan struct{}) +} + +// Close marks the closeWaiter as closed and unblocks any waiters. +func (cw closeWaiter) Close() { + close(cw) +} + +// Wait waits for the closeWaiter to become closed. +func (cw closeWaiter) Wait() { + <-cw +} + +// bufferedWriter is a buffered writer that writes to w. +// Its buffered writer is lazily allocated as needed, to minimize +// idle memory usage with many connections. +type bufferedWriter struct { + w io.Writer // immutable + bw *bufio.Writer // non-nil when data is buffered +} + +func newBufferedWriter(w io.Writer) *bufferedWriter { + return &bufferedWriter{w: w} +} + +// bufWriterPoolBufferSize is the size of bufio.Writer's +// buffers created using bufWriterPool. +// +// TODO: pick a less arbitrary value? this is a bit under +// (3 x typical 1500 byte MTU) at least. Other than that, +// not much thought went into it. +const bufWriterPoolBufferSize = 4 << 10 + +var bufWriterPool = sync.Pool{ + New: func() interface{} { + return bufio.NewWriterSize(nil, bufWriterPoolBufferSize) + }, +} + +func (w *bufferedWriter) Available() int { + if w.bw == nil { + return bufWriterPoolBufferSize + } + return w.bw.Available() +} + +func (w *bufferedWriter) Write(p []byte) (n int, err error) { + if w.bw == nil { + bw := bufWriterPool.Get().(*bufio.Writer) + bw.Reset(w.w) + w.bw = bw + } + return w.bw.Write(p) +} + +func (w *bufferedWriter) Flush() error { + bw := w.bw + if bw == nil { + return nil + } + err := bw.Flush() + bw.Reset(nil) + bufWriterPool.Put(bw) + w.bw = nil + return err +} + +func mustUint31(v int32) uint32 { + if v < 0 || v > 2147483647 { + panic("out of range") + } + return uint32(v) +} + +// bodyAllowedForStatus reports whether a given response status code +// permits a body. See RFC 7230, section 3.3. +func bodyAllowedForStatus(status int) bool { + switch { + case status >= 100 && status <= 199: + return false + case status == 204: + return false + case status == 304: + return false + } + return true +} + +type httpError struct { + msg string + timeout bool +} + +func (e *httpError) Error() string { return e.msg } +func (e *httpError) Timeout() bool { return e.timeout } +func (e *httpError) Temporary() bool { return true } + +var errTimeout error = &httpError{msg: "http2: timeout awaiting response headers", timeout: true} + +type connectionStater interface { + ConnectionState() tls.ConnectionState +} + +var sorterPool = sync.Pool{New: func() interface{} { return new(sorter) }} + +type sorter struct { + v []string // owned by sorter +} + +func (s *sorter) Len() int { return len(s.v) } +func (s *sorter) Swap(i, j int) { s.v[i], s.v[j] = s.v[j], s.v[i] } +func (s *sorter) Less(i, j int) bool { return s.v[i] < s.v[j] } + +// Keys returns the sorted keys of h. +// +// The returned slice is only valid until s used again or returned to +// its pool. +func (s *sorter) Keys(h http.Header) []string { + keys := s.v[:0] + for k := range h { + keys = append(keys, k) + } + s.v = keys + sort.Sort(s) + return keys +} + +func (s *sorter) SortStrings(ss []string) { + // Our sorter works on s.v, which sorter owns, so + // stash it away while we sort the user's buffer. + save := s.v + s.v = ss + sort.Sort(s) + s.v = save +} + +// validPseudoPath reports whether v is a valid :path pseudo-header +// value. It must be either: +// +// *) a non-empty string starting with '/' +// *) the string '*', for OPTIONS requests. +// +// For now this is only used a quick check for deciding when to clean +// up Opaque URLs before sending requests from the Transport. +// See golang.org/issue/16847 +// +// We used to enforce that the path also didn't start with "//", but +// Google's GFE accepts such paths and Chrome sends them, so ignore +// that part of the spec. See golang.org/issue/19103. +func validPseudoPath(v string) bool { + return (len(v) > 0 && v[0] == '/') || v == "*" +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/not_go111.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/not_go111.go new file mode 100644 index 0000000..161bca7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/not_go111.go @@ -0,0 +1,20 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.11 + +package http2 + +import ( + "net/http/httptrace" + "net/textproto" +) + +func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool { return false } + +func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) {} + +func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error { + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/pipe.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/pipe.go new file mode 100644 index 0000000..a614009 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/pipe.go @@ -0,0 +1,163 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "errors" + "io" + "sync" +) + +// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like +// io.Pipe except there are no PipeReader/PipeWriter halves, and the +// underlying buffer is an interface. (io.Pipe is always unbuffered) +type pipe struct { + mu sync.Mutex + c sync.Cond // c.L lazily initialized to &p.mu + b pipeBuffer // nil when done reading + err error // read error once empty. non-nil means closed. + breakErr error // immediate read error (caller doesn't see rest of b) + donec chan struct{} // closed on error + readFn func() // optional code to run in Read before error +} + +type pipeBuffer interface { + Len() int + io.Writer + io.Reader +} + +func (p *pipe) Len() int { + p.mu.Lock() + defer p.mu.Unlock() + if p.b == nil { + return 0 + } + return p.b.Len() +} + +// Read waits until data is available and copies bytes +// from the buffer into p. +func (p *pipe) Read(d []byte) (n int, err error) { + p.mu.Lock() + defer p.mu.Unlock() + if p.c.L == nil { + p.c.L = &p.mu + } + for { + if p.breakErr != nil { + return 0, p.breakErr + } + if p.b != nil && p.b.Len() > 0 { + return p.b.Read(d) + } + if p.err != nil { + if p.readFn != nil { + p.readFn() // e.g. copy trailers + p.readFn = nil // not sticky like p.err + } + p.b = nil + return 0, p.err + } + p.c.Wait() + } +} + +var errClosedPipeWrite = errors.New("write on closed buffer") + +// Write copies bytes from p into the buffer and wakes a reader. +// It is an error to write more data than the buffer can hold. +func (p *pipe) Write(d []byte) (n int, err error) { + p.mu.Lock() + defer p.mu.Unlock() + if p.c.L == nil { + p.c.L = &p.mu + } + defer p.c.Signal() + if p.err != nil { + return 0, errClosedPipeWrite + } + if p.breakErr != nil { + return len(d), nil // discard when there is no reader + } + return p.b.Write(d) +} + +// CloseWithError causes the next Read (waking up a current blocked +// Read if needed) to return the provided err after all data has been +// read. +// +// The error must be non-nil. +func (p *pipe) CloseWithError(err error) { p.closeWithError(&p.err, err, nil) } + +// BreakWithError causes the next Read (waking up a current blocked +// Read if needed) to return the provided err immediately, without +// waiting for unread data. +func (p *pipe) BreakWithError(err error) { p.closeWithError(&p.breakErr, err, nil) } + +// closeWithErrorAndCode is like CloseWithError but also sets some code to run +// in the caller's goroutine before returning the error. +func (p *pipe) closeWithErrorAndCode(err error, fn func()) { p.closeWithError(&p.err, err, fn) } + +func (p *pipe) closeWithError(dst *error, err error, fn func()) { + if err == nil { + panic("err must be non-nil") + } + p.mu.Lock() + defer p.mu.Unlock() + if p.c.L == nil { + p.c.L = &p.mu + } + defer p.c.Signal() + if *dst != nil { + // Already been done. + return + } + p.readFn = fn + if dst == &p.breakErr { + p.b = nil + } + *dst = err + p.closeDoneLocked() +} + +// requires p.mu be held. +func (p *pipe) closeDoneLocked() { + if p.donec == nil { + return + } + // Close if unclosed. This isn't racy since we always + // hold p.mu while closing. + select { + case <-p.donec: + default: + close(p.donec) + } +} + +// Err returns the error (if any) first set by BreakWithError or CloseWithError. +func (p *pipe) Err() error { + p.mu.Lock() + defer p.mu.Unlock() + if p.breakErr != nil { + return p.breakErr + } + return p.err +} + +// Done returns a channel which is closed if and when this pipe is closed +// with CloseWithError. +func (p *pipe) Done() <-chan struct{} { + p.mu.Lock() + defer p.mu.Unlock() + if p.donec == nil { + p.donec = make(chan struct{}) + if p.err != nil || p.breakErr != nil { + // Already hit an error. + p.closeDoneLocked() + } + } + return p.donec +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/server.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/server.go new file mode 100644 index 0000000..34d4293 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/server.go @@ -0,0 +1,2961 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO: turn off the serve goroutine when idle, so +// an idle conn only has the readFrames goroutine active. (which could +// also be optimized probably to pin less memory in crypto/tls). This +// would involve tracking when the serve goroutine is active (atomic +// int32 read/CAS probably?) and starting it up when frames arrive, +// and shutting it down when all handlers exit. the occasional PING +// packets could use time.AfterFunc to call sc.wakeStartServeLoop() +// (which is a no-op if already running) and then queue the PING write +// as normal. The serve loop would then exit in most cases (if no +// Handlers running) and not be woken up again until the PING packet +// returns. + +// TODO (maybe): add a mechanism for Handlers to going into +// half-closed-local mode (rw.(io.Closer) test?) but not exit their +// handler, and continue to be able to read from the +// Request.Body. This would be a somewhat semantic change from HTTP/1 +// (or at least what we expose in net/http), so I'd probably want to +// add it there too. For now, this package says that returning from +// the Handler ServeHTTP function means you're both done reading and +// done writing, without a way to stop just one or the other. + +package http2 + +import ( + "bufio" + "bytes" + "context" + "crypto/tls" + "errors" + "fmt" + "io" + "log" + "math" + "net" + "net/http" + "net/textproto" + "net/url" + "os" + "reflect" + "runtime" + "strconv" + "strings" + "sync" + "time" + + "golang.org/x/net/http/httpguts" + "golang.org/x/net/http2/hpack" +) + +const ( + prefaceTimeout = 10 * time.Second + firstSettingsTimeout = 2 * time.Second // should be in-flight with preface anyway + handlerChunkWriteSize = 4 << 10 + defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to? + maxQueuedControlFrames = 10000 +) + +var ( + errClientDisconnected = errors.New("client disconnected") + errClosedBody = errors.New("body closed by handler") + errHandlerComplete = errors.New("http2: request body closed due to handler exiting") + errStreamClosed = errors.New("http2: stream closed") +) + +var responseWriterStatePool = sync.Pool{ + New: func() interface{} { + rws := &responseWriterState{} + rws.bw = bufio.NewWriterSize(chunkWriter{rws}, handlerChunkWriteSize) + return rws + }, +} + +// Test hooks. +var ( + testHookOnConn func() + testHookGetServerConn func(*serverConn) + testHookOnPanicMu *sync.Mutex // nil except in tests + testHookOnPanic func(sc *serverConn, panicVal interface{}) (rePanic bool) +) + +// Server is an HTTP/2 server. +type Server struct { + // MaxHandlers limits the number of http.Handler ServeHTTP goroutines + // which may run at a time over all connections. + // Negative or zero no limit. + // TODO: implement + MaxHandlers int + + // MaxConcurrentStreams optionally specifies the number of + // concurrent streams that each client may have open at a + // time. This is unrelated to the number of http.Handler goroutines + // which may be active globally, which is MaxHandlers. + // If zero, MaxConcurrentStreams defaults to at least 100, per + // the HTTP/2 spec's recommendations. + MaxConcurrentStreams uint32 + + // MaxReadFrameSize optionally specifies the largest frame + // this server is willing to read. A valid value is between + // 16k and 16M, inclusive. If zero or otherwise invalid, a + // default value is used. + MaxReadFrameSize uint32 + + // PermitProhibitedCipherSuites, if true, permits the use of + // cipher suites prohibited by the HTTP/2 spec. + PermitProhibitedCipherSuites bool + + // IdleTimeout specifies how long until idle clients should be + // closed with a GOAWAY frame. PING frames are not considered + // activity for the purposes of IdleTimeout. + IdleTimeout time.Duration + + // MaxUploadBufferPerConnection is the size of the initial flow + // control window for each connections. The HTTP/2 spec does not + // allow this to be smaller than 65535 or larger than 2^32-1. + // If the value is outside this range, a default value will be + // used instead. + MaxUploadBufferPerConnection int32 + + // MaxUploadBufferPerStream is the size of the initial flow control + // window for each stream. The HTTP/2 spec does not allow this to + // be larger than 2^32-1. If the value is zero or larger than the + // maximum, a default value will be used instead. + MaxUploadBufferPerStream int32 + + // NewWriteScheduler constructs a write scheduler for a connection. + // If nil, a default scheduler is chosen. + NewWriteScheduler func() WriteScheduler + + // Internal state. This is a pointer (rather than embedded directly) + // so that we don't embed a Mutex in this struct, which will make the + // struct non-copyable, which might break some callers. + state *serverInternalState +} + +func (s *Server) initialConnRecvWindowSize() int32 { + if s.MaxUploadBufferPerConnection > initialWindowSize { + return s.MaxUploadBufferPerConnection + } + return 1 << 20 +} + +func (s *Server) initialStreamRecvWindowSize() int32 { + if s.MaxUploadBufferPerStream > 0 { + return s.MaxUploadBufferPerStream + } + return 1 << 20 +} + +func (s *Server) maxReadFrameSize() uint32 { + if v := s.MaxReadFrameSize; v >= minMaxFrameSize && v <= maxFrameSize { + return v + } + return defaultMaxReadFrameSize +} + +func (s *Server) maxConcurrentStreams() uint32 { + if v := s.MaxConcurrentStreams; v > 0 { + return v + } + return defaultMaxStreams +} + +// maxQueuedControlFrames is the maximum number of control frames like +// SETTINGS, PING and RST_STREAM that will be queued for writing before +// the connection is closed to prevent memory exhaustion attacks. +func (s *Server) maxQueuedControlFrames() int { + // TODO: if anybody asks, add a Server field, and remember to define the + // behavior of negative values. + return maxQueuedControlFrames +} + +type serverInternalState struct { + mu sync.Mutex + activeConns map[*serverConn]struct{} +} + +func (s *serverInternalState) registerConn(sc *serverConn) { + if s == nil { + return // if the Server was used without calling ConfigureServer + } + s.mu.Lock() + s.activeConns[sc] = struct{}{} + s.mu.Unlock() +} + +func (s *serverInternalState) unregisterConn(sc *serverConn) { + if s == nil { + return // if the Server was used without calling ConfigureServer + } + s.mu.Lock() + delete(s.activeConns, sc) + s.mu.Unlock() +} + +func (s *serverInternalState) startGracefulShutdown() { + if s == nil { + return // if the Server was used without calling ConfigureServer + } + s.mu.Lock() + for sc := range s.activeConns { + sc.startGracefulShutdown() + } + s.mu.Unlock() +} + +// ConfigureServer adds HTTP/2 support to a net/http Server. +// +// The configuration conf may be nil. +// +// ConfigureServer must be called before s begins serving. +func ConfigureServer(s *http.Server, conf *Server) error { + if s == nil { + panic("nil *http.Server") + } + if conf == nil { + conf = new(Server) + } + conf.state = &serverInternalState{activeConns: make(map[*serverConn]struct{})} + if h1, h2 := s, conf; h2.IdleTimeout == 0 { + if h1.IdleTimeout != 0 { + h2.IdleTimeout = h1.IdleTimeout + } else { + h2.IdleTimeout = h1.ReadTimeout + } + } + s.RegisterOnShutdown(conf.state.startGracefulShutdown) + + if s.TLSConfig == nil { + s.TLSConfig = new(tls.Config) + } else if s.TLSConfig.CipherSuites != nil { + // If they already provided a CipherSuite list, return + // an error if it has a bad order or is missing + // ECDHE_RSA_WITH_AES_128_GCM_SHA256 or ECDHE_ECDSA_WITH_AES_128_GCM_SHA256. + haveRequired := false + sawBad := false + for i, cs := range s.TLSConfig.CipherSuites { + switch cs { + case tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + // Alternative MTI cipher to not discourage ECDSA-only servers. + // See http://golang.org/cl/30721 for further information. + tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: + haveRequired = true + } + if isBadCipher(cs) { + sawBad = true + } else if sawBad { + return fmt.Errorf("http2: TLSConfig.CipherSuites index %d contains an HTTP/2-approved cipher suite (%#04x), but it comes after unapproved cipher suites. With this configuration, clients that don't support previous, approved cipher suites may be given an unapproved one and reject the connection.", i, cs) + } + } + if !haveRequired { + return fmt.Errorf("http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher.") + } + } + + // Note: not setting MinVersion to tls.VersionTLS12, + // as we don't want to interfere with HTTP/1.1 traffic + // on the user's server. We enforce TLS 1.2 later once + // we accept a connection. Ideally this should be done + // during next-proto selection, but using TLS <1.2 with + // HTTP/2 is still the client's bug. + + s.TLSConfig.PreferServerCipherSuites = true + + haveNPN := false + for _, p := range s.TLSConfig.NextProtos { + if p == NextProtoTLS { + haveNPN = true + break + } + } + if !haveNPN { + s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, NextProtoTLS) + } + + if s.TLSNextProto == nil { + s.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){} + } + protoHandler := func(hs *http.Server, c *tls.Conn, h http.Handler) { + if testHookOnConn != nil { + testHookOnConn() + } + // The TLSNextProto interface predates contexts, so + // the net/http package passes down its per-connection + // base context via an exported but unadvertised + // method on the Handler. This is for internal + // net/http<=>http2 use only. + var ctx context.Context + type baseContexter interface { + BaseContext() context.Context + } + if bc, ok := h.(baseContexter); ok { + ctx = bc.BaseContext() + } + conf.ServeConn(c, &ServeConnOpts{ + Context: ctx, + Handler: h, + BaseConfig: hs, + }) + } + s.TLSNextProto[NextProtoTLS] = protoHandler + return nil +} + +// ServeConnOpts are options for the Server.ServeConn method. +type ServeConnOpts struct { + // Context is the base context to use. + // If nil, context.Background is used. + Context context.Context + + // BaseConfig optionally sets the base configuration + // for values. If nil, defaults are used. + BaseConfig *http.Server + + // Handler specifies which handler to use for processing + // requests. If nil, BaseConfig.Handler is used. If BaseConfig + // or BaseConfig.Handler is nil, http.DefaultServeMux is used. + Handler http.Handler +} + +func (o *ServeConnOpts) context() context.Context { + if o != nil && o.Context != nil { + return o.Context + } + return context.Background() +} + +func (o *ServeConnOpts) baseConfig() *http.Server { + if o != nil && o.BaseConfig != nil { + return o.BaseConfig + } + return new(http.Server) +} + +func (o *ServeConnOpts) handler() http.Handler { + if o != nil { + if o.Handler != nil { + return o.Handler + } + if o.BaseConfig != nil && o.BaseConfig.Handler != nil { + return o.BaseConfig.Handler + } + } + return http.DefaultServeMux +} + +// ServeConn serves HTTP/2 requests on the provided connection and +// blocks until the connection is no longer readable. +// +// ServeConn starts speaking HTTP/2 assuming that c has not had any +// reads or writes. It writes its initial settings frame and expects +// to be able to read the preface and settings frame from the +// client. If c has a ConnectionState method like a *tls.Conn, the +// ConnectionState is used to verify the TLS ciphersuite and to set +// the Request.TLS field in Handlers. +// +// ServeConn does not support h2c by itself. Any h2c support must be +// implemented in terms of providing a suitably-behaving net.Conn. +// +// The opts parameter is optional. If nil, default values are used. +func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + baseCtx, cancel := serverConnBaseContext(c, opts) + defer cancel() + + sc := &serverConn{ + srv: s, + hs: opts.baseConfig(), + conn: c, + baseCtx: baseCtx, + remoteAddrStr: c.RemoteAddr().String(), + bw: newBufferedWriter(c), + handler: opts.handler(), + streams: make(map[uint32]*stream), + readFrameCh: make(chan readFrameResult), + wantWriteFrameCh: make(chan FrameWriteRequest, 8), + serveMsgCh: make(chan interface{}, 8), + wroteFrameCh: make(chan frameWriteResult, 1), // buffered; one send in writeFrameAsync + bodyReadCh: make(chan bodyReadMsg), // buffering doesn't matter either way + doneServing: make(chan struct{}), + clientMaxStreams: math.MaxUint32, // Section 6.5.2: "Initially, there is no limit to this value" + advMaxStreams: s.maxConcurrentStreams(), + initialStreamSendWindowSize: initialWindowSize, + maxFrameSize: initialMaxFrameSize, + headerTableSize: initialHeaderTableSize, + serveG: newGoroutineLock(), + pushEnabled: true, + } + + s.state.registerConn(sc) + defer s.state.unregisterConn(sc) + + // The net/http package sets the write deadline from the + // http.Server.WriteTimeout during the TLS handshake, but then + // passes the connection off to us with the deadline already set. + // Write deadlines are set per stream in serverConn.newStream. + // Disarm the net.Conn write deadline here. + if sc.hs.WriteTimeout != 0 { + sc.conn.SetWriteDeadline(time.Time{}) + } + + if s.NewWriteScheduler != nil { + sc.writeSched = s.NewWriteScheduler() + } else { + sc.writeSched = NewRandomWriteScheduler() + } + + // These start at the RFC-specified defaults. If there is a higher + // configured value for inflow, that will be updated when we send a + // WINDOW_UPDATE shortly after sending SETTINGS. + sc.flow.add(initialWindowSize) + sc.inflow.add(initialWindowSize) + sc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf) + + fr := NewFramer(sc.bw, c) + fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + fr.MaxHeaderListSize = sc.maxHeaderListSize() + fr.SetMaxReadFrameSize(s.maxReadFrameSize()) + sc.framer = fr + + if tc, ok := c.(connectionStater); ok { + sc.tlsState = new(tls.ConnectionState) + *sc.tlsState = tc.ConnectionState() + // 9.2 Use of TLS Features + // An implementation of HTTP/2 over TLS MUST use TLS + // 1.2 or higher with the restrictions on feature set + // and cipher suite described in this section. Due to + // implementation limitations, it might not be + // possible to fail TLS negotiation. An endpoint MUST + // immediately terminate an HTTP/2 connection that + // does not meet the TLS requirements described in + // this section with a connection error (Section + // 5.4.1) of type INADEQUATE_SECURITY. + if sc.tlsState.Version < tls.VersionTLS12 { + sc.rejectConn(ErrCodeInadequateSecurity, "TLS version too low") + return + } + + if sc.tlsState.ServerName == "" { + // Client must use SNI, but we don't enforce that anymore, + // since it was causing problems when connecting to bare IP + // addresses during development. + // + // TODO: optionally enforce? Or enforce at the time we receive + // a new request, and verify the ServerName matches the :authority? + // But that precludes proxy situations, perhaps. + // + // So for now, do nothing here again. + } + + if !s.PermitProhibitedCipherSuites && isBadCipher(sc.tlsState.CipherSuite) { + // "Endpoints MAY choose to generate a connection error + // (Section 5.4.1) of type INADEQUATE_SECURITY if one of + // the prohibited cipher suites are negotiated." + // + // We choose that. In my opinion, the spec is weak + // here. It also says both parties must support at least + // TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 so there's no + // excuses here. If we really must, we could allow an + // "AllowInsecureWeakCiphers" option on the server later. + // Let's see how it plays out first. + sc.rejectConn(ErrCodeInadequateSecurity, fmt.Sprintf("Prohibited TLS 1.2 Cipher Suite: %x", sc.tlsState.CipherSuite)) + return + } + } + + if hook := testHookGetServerConn; hook != nil { + hook(sc) + } + sc.serve() +} + +func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx context.Context, cancel func()) { + ctx, cancel = context.WithCancel(opts.context()) + ctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr()) + if hs := opts.baseConfig(); hs != nil { + ctx = context.WithValue(ctx, http.ServerContextKey, hs) + } + return +} + +func (sc *serverConn) rejectConn(err ErrCode, debug string) { + sc.vlogf("http2: server rejecting conn: %v, %s", err, debug) + // ignoring errors. hanging up anyway. + sc.framer.WriteGoAway(0, err, []byte(debug)) + sc.bw.Flush() + sc.conn.Close() +} + +type serverConn struct { + // Immutable: + srv *Server + hs *http.Server + conn net.Conn + bw *bufferedWriter // writing to conn + handler http.Handler + baseCtx context.Context + framer *Framer + doneServing chan struct{} // closed when serverConn.serve ends + readFrameCh chan readFrameResult // written by serverConn.readFrames + wantWriteFrameCh chan FrameWriteRequest // from handlers -> serve + wroteFrameCh chan frameWriteResult // from writeFrameAsync -> serve, tickles more frame writes + bodyReadCh chan bodyReadMsg // from handlers -> serve + serveMsgCh chan interface{} // misc messages & code to send to / run on the serve loop + flow flow // conn-wide (not stream-specific) outbound flow control + inflow flow // conn-wide inbound flow control + tlsState *tls.ConnectionState // shared by all handlers, like net/http + remoteAddrStr string + writeSched WriteScheduler + + // Everything following is owned by the serve loop; use serveG.check(): + serveG goroutineLock // used to verify funcs are on serve() + pushEnabled bool + sawFirstSettings bool // got the initial SETTINGS frame after the preface + needToSendSettingsAck bool + unackedSettings int // how many SETTINGS have we sent without ACKs? + queuedControlFrames int // control frames in the writeSched queue + clientMaxStreams uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit) + advMaxStreams uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client + curClientStreams uint32 // number of open streams initiated by the client + curPushedStreams uint32 // number of open streams initiated by server push + maxClientStreamID uint32 // max ever seen from client (odd), or 0 if there have been no client requests + maxPushPromiseID uint32 // ID of the last push promise (even), or 0 if there have been no pushes + streams map[uint32]*stream + initialStreamSendWindowSize int32 + maxFrameSize int32 + headerTableSize uint32 + peerMaxHeaderListSize uint32 // zero means unknown (default) + canonHeader map[string]string // http2-lower-case -> Go-Canonical-Case + writingFrame bool // started writing a frame (on serve goroutine or separate) + writingFrameAsync bool // started a frame on its own goroutine but haven't heard back on wroteFrameCh + needsFrameFlush bool // last frame write wasn't a flush + inGoAway bool // we've started to or sent GOAWAY + inFrameScheduleLoop bool // whether we're in the scheduleFrameWrite loop + needToSendGoAway bool // we need to schedule a GOAWAY frame write + goAwayCode ErrCode + shutdownTimer *time.Timer // nil until used + idleTimer *time.Timer // nil if unused + + // Owned by the writeFrameAsync goroutine: + headerWriteBuf bytes.Buffer + hpackEncoder *hpack.Encoder + + // Used by startGracefulShutdown. + shutdownOnce sync.Once +} + +func (sc *serverConn) maxHeaderListSize() uint32 { + n := sc.hs.MaxHeaderBytes + if n <= 0 { + n = http.DefaultMaxHeaderBytes + } + // http2's count is in a slightly different unit and includes 32 bytes per pair. + // So, take the net/http.Server value and pad it up a bit, assuming 10 headers. + const perFieldOverhead = 32 // per http2 spec + const typicalHeaders = 10 // conservative + return uint32(n + typicalHeaders*perFieldOverhead) +} + +func (sc *serverConn) curOpenStreams() uint32 { + sc.serveG.check() + return sc.curClientStreams + sc.curPushedStreams +} + +// stream represents a stream. This is the minimal metadata needed by +// the serve goroutine. Most of the actual stream state is owned by +// the http.Handler's goroutine in the responseWriter. Because the +// responseWriter's responseWriterState is recycled at the end of a +// handler, this struct intentionally has no pointer to the +// *responseWriter{,State} itself, as the Handler ending nils out the +// responseWriter's state field. +type stream struct { + // immutable: + sc *serverConn + id uint32 + body *pipe // non-nil if expecting DATA frames + cw closeWaiter // closed wait stream transitions to closed state + ctx context.Context + cancelCtx func() + + // owned by serverConn's serve loop: + bodyBytes int64 // body bytes seen so far + declBodyBytes int64 // or -1 if undeclared + flow flow // limits writing from Handler to client + inflow flow // what the client is allowed to POST/etc to us + parent *stream // or nil + numTrailerValues int64 + weight uint8 + state streamState + resetQueued bool // RST_STREAM queued for write; set by sc.resetStream + gotTrailerHeader bool // HEADER frame for trailers was seen + wroteHeaders bool // whether we wrote headers (not status 100) + writeDeadline *time.Timer // nil if unused + + trailer http.Header // accumulated trailers + reqTrailer http.Header // handler's Request.Trailer +} + +func (sc *serverConn) Framer() *Framer { return sc.framer } +func (sc *serverConn) CloseConn() error { return sc.conn.Close() } +func (sc *serverConn) Flush() error { return sc.bw.Flush() } +func (sc *serverConn) HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) { + return sc.hpackEncoder, &sc.headerWriteBuf +} + +func (sc *serverConn) state(streamID uint32) (streamState, *stream) { + sc.serveG.check() + // http://tools.ietf.org/html/rfc7540#section-5.1 + if st, ok := sc.streams[streamID]; ok { + return st.state, st + } + // "The first use of a new stream identifier implicitly closes all + // streams in the "idle" state that might have been initiated by + // that peer with a lower-valued stream identifier. For example, if + // a client sends a HEADERS frame on stream 7 without ever sending a + // frame on stream 5, then stream 5 transitions to the "closed" + // state when the first frame for stream 7 is sent or received." + if streamID%2 == 1 { + if streamID <= sc.maxClientStreamID { + return stateClosed, nil + } + } else { + if streamID <= sc.maxPushPromiseID { + return stateClosed, nil + } + } + return stateIdle, nil +} + +// setConnState calls the net/http ConnState hook for this connection, if configured. +// Note that the net/http package does StateNew and StateClosed for us. +// There is currently no plan for StateHijacked or hijacking HTTP/2 connections. +func (sc *serverConn) setConnState(state http.ConnState) { + if sc.hs.ConnState != nil { + sc.hs.ConnState(sc.conn, state) + } +} + +func (sc *serverConn) vlogf(format string, args ...interface{}) { + if VerboseLogs { + sc.logf(format, args...) + } +} + +func (sc *serverConn) logf(format string, args ...interface{}) { + if lg := sc.hs.ErrorLog; lg != nil { + lg.Printf(format, args...) + } else { + log.Printf(format, args...) + } +} + +// errno returns v's underlying uintptr, else 0. +// +// TODO: remove this helper function once http2 can use build +// tags. See comment in isClosedConnError. +func errno(v error) uintptr { + if rv := reflect.ValueOf(v); rv.Kind() == reflect.Uintptr { + return uintptr(rv.Uint()) + } + return 0 +} + +// isClosedConnError reports whether err is an error from use of a closed +// network connection. +func isClosedConnError(err error) bool { + if err == nil { + return false + } + + // TODO: remove this string search and be more like the Windows + // case below. That might involve modifying the standard library + // to return better error types. + str := err.Error() + if strings.Contains(str, "use of closed network connection") { + return true + } + + // TODO(bradfitz): x/tools/cmd/bundle doesn't really support + // build tags, so I can't make an http2_windows.go file with + // Windows-specific stuff. Fix that and move this, once we + // have a way to bundle this into std's net/http somehow. + if runtime.GOOS == "windows" { + if oe, ok := err.(*net.OpError); ok && oe.Op == "read" { + if se, ok := oe.Err.(*os.SyscallError); ok && se.Syscall == "wsarecv" { + const WSAECONNABORTED = 10053 + const WSAECONNRESET = 10054 + if n := errno(se.Err); n == WSAECONNRESET || n == WSAECONNABORTED { + return true + } + } + } + } + return false +} + +func (sc *serverConn) condlogf(err error, format string, args ...interface{}) { + if err == nil { + return + } + if err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) || err == errPrefaceTimeout { + // Boring, expected errors. + sc.vlogf(format, args...) + } else { + sc.logf(format, args...) + } +} + +func (sc *serverConn) canonicalHeader(v string) string { + sc.serveG.check() + buildCommonHeaderMapsOnce() + cv, ok := commonCanonHeader[v] + if ok { + return cv + } + cv, ok = sc.canonHeader[v] + if ok { + return cv + } + if sc.canonHeader == nil { + sc.canonHeader = make(map[string]string) + } + cv = http.CanonicalHeaderKey(v) + sc.canonHeader[v] = cv + return cv +} + +type readFrameResult struct { + f Frame // valid until readMore is called + err error + + // readMore should be called once the consumer no longer needs or + // retains f. After readMore, f is invalid and more frames can be + // read. + readMore func() +} + +// readFrames is the loop that reads incoming frames. +// It takes care to only read one frame at a time, blocking until the +// consumer is done with the frame. +// It's run on its own goroutine. +func (sc *serverConn) readFrames() { + gate := make(gate) + gateDone := gate.Done + for { + f, err := sc.framer.ReadFrame() + select { + case sc.readFrameCh <- readFrameResult{f, err, gateDone}: + case <-sc.doneServing: + return + } + select { + case <-gate: + case <-sc.doneServing: + return + } + if terminalReadFrameError(err) { + return + } + } +} + +// frameWriteResult is the message passed from writeFrameAsync to the serve goroutine. +type frameWriteResult struct { + wr FrameWriteRequest // what was written (or attempted) + err error // result of the writeFrame call +} + +// writeFrameAsync runs in its own goroutine and writes a single frame +// and then reports when it's done. +// At most one goroutine can be running writeFrameAsync at a time per +// serverConn. +func (sc *serverConn) writeFrameAsync(wr FrameWriteRequest) { + err := wr.write.writeFrame(sc) + sc.wroteFrameCh <- frameWriteResult{wr, err} +} + +func (sc *serverConn) closeAllStreamsOnConnClose() { + sc.serveG.check() + for _, st := range sc.streams { + sc.closeStream(st, errClientDisconnected) + } +} + +func (sc *serverConn) stopShutdownTimer() { + sc.serveG.check() + if t := sc.shutdownTimer; t != nil { + t.Stop() + } +} + +func (sc *serverConn) notePanic() { + // Note: this is for serverConn.serve panicking, not http.Handler code. + if testHookOnPanicMu != nil { + testHookOnPanicMu.Lock() + defer testHookOnPanicMu.Unlock() + } + if testHookOnPanic != nil { + if e := recover(); e != nil { + if testHookOnPanic(sc, e) { + panic(e) + } + } + } +} + +func (sc *serverConn) serve() { + sc.serveG.check() + defer sc.notePanic() + defer sc.conn.Close() + defer sc.closeAllStreamsOnConnClose() + defer sc.stopShutdownTimer() + defer close(sc.doneServing) // unblocks handlers trying to send + + if VerboseLogs { + sc.vlogf("http2: server connection from %v on %p", sc.conn.RemoteAddr(), sc.hs) + } + + sc.writeFrame(FrameWriteRequest{ + write: writeSettings{ + {SettingMaxFrameSize, sc.srv.maxReadFrameSize()}, + {SettingMaxConcurrentStreams, sc.advMaxStreams}, + {SettingMaxHeaderListSize, sc.maxHeaderListSize()}, + {SettingInitialWindowSize, uint32(sc.srv.initialStreamRecvWindowSize())}, + }, + }) + sc.unackedSettings++ + + // Each connection starts with intialWindowSize inflow tokens. + // If a higher value is configured, we add more tokens. + if diff := sc.srv.initialConnRecvWindowSize() - initialWindowSize; diff > 0 { + sc.sendWindowUpdate(nil, int(diff)) + } + + if err := sc.readPreface(); err != nil { + sc.condlogf(err, "http2: server: error reading preface from client %v: %v", sc.conn.RemoteAddr(), err) + return + } + // Now that we've got the preface, get us out of the + // "StateNew" state. We can't go directly to idle, though. + // Active means we read some data and anticipate a request. We'll + // do another Active when we get a HEADERS frame. + sc.setConnState(http.StateActive) + sc.setConnState(http.StateIdle) + + if sc.srv.IdleTimeout != 0 { + sc.idleTimer = time.AfterFunc(sc.srv.IdleTimeout, sc.onIdleTimer) + defer sc.idleTimer.Stop() + } + + go sc.readFrames() // closed by defer sc.conn.Close above + + settingsTimer := time.AfterFunc(firstSettingsTimeout, sc.onSettingsTimer) + defer settingsTimer.Stop() + + loopNum := 0 + for { + loopNum++ + select { + case wr := <-sc.wantWriteFrameCh: + if se, ok := wr.write.(StreamError); ok { + sc.resetStream(se) + break + } + sc.writeFrame(wr) + case res := <-sc.wroteFrameCh: + sc.wroteFrame(res) + case res := <-sc.readFrameCh: + if !sc.processFrameFromReader(res) { + return + } + res.readMore() + if settingsTimer != nil { + settingsTimer.Stop() + settingsTimer = nil + } + case m := <-sc.bodyReadCh: + sc.noteBodyRead(m.st, m.n) + case msg := <-sc.serveMsgCh: + switch v := msg.(type) { + case func(int): + v(loopNum) // for testing + case *serverMessage: + switch v { + case settingsTimerMsg: + sc.logf("timeout waiting for SETTINGS frames from %v", sc.conn.RemoteAddr()) + return + case idleTimerMsg: + sc.vlogf("connection is idle") + sc.goAway(ErrCodeNo) + case shutdownTimerMsg: + sc.vlogf("GOAWAY close timer fired; closing conn from %v", sc.conn.RemoteAddr()) + return + case gracefulShutdownMsg: + sc.startGracefulShutdownInternal() + default: + panic("unknown timer") + } + case *startPushRequest: + sc.startPush(v) + default: + panic(fmt.Sprintf("unexpected type %T", v)) + } + } + + // If the peer is causing us to generate a lot of control frames, + // but not reading them from us, assume they are trying to make us + // run out of memory. + if sc.queuedControlFrames > sc.srv.maxQueuedControlFrames() { + sc.vlogf("http2: too many control frames in send queue, closing connection") + return + } + + // Start the shutdown timer after sending a GOAWAY. When sending GOAWAY + // with no error code (graceful shutdown), don't start the timer until + // all open streams have been completed. + sentGoAway := sc.inGoAway && !sc.needToSendGoAway && !sc.writingFrame + gracefulShutdownComplete := sc.goAwayCode == ErrCodeNo && sc.curOpenStreams() == 0 + if sentGoAway && sc.shutdownTimer == nil && (sc.goAwayCode != ErrCodeNo || gracefulShutdownComplete) { + sc.shutDownIn(goAwayTimeout) + } + } +} + +func (sc *serverConn) awaitGracefulShutdown(sharedCh <-chan struct{}, privateCh chan struct{}) { + select { + case <-sc.doneServing: + case <-sharedCh: + close(privateCh) + } +} + +type serverMessage int + +// Message values sent to serveMsgCh. +var ( + settingsTimerMsg = new(serverMessage) + idleTimerMsg = new(serverMessage) + shutdownTimerMsg = new(serverMessage) + gracefulShutdownMsg = new(serverMessage) +) + +func (sc *serverConn) onSettingsTimer() { sc.sendServeMsg(settingsTimerMsg) } +func (sc *serverConn) onIdleTimer() { sc.sendServeMsg(idleTimerMsg) } +func (sc *serverConn) onShutdownTimer() { sc.sendServeMsg(shutdownTimerMsg) } + +func (sc *serverConn) sendServeMsg(msg interface{}) { + sc.serveG.checkNotOn() // NOT + select { + case sc.serveMsgCh <- msg: + case <-sc.doneServing: + } +} + +var errPrefaceTimeout = errors.New("timeout waiting for client preface") + +// readPreface reads the ClientPreface greeting from the peer or +// returns errPrefaceTimeout on timeout, or an error if the greeting +// is invalid. +func (sc *serverConn) readPreface() error { + errc := make(chan error, 1) + go func() { + // Read the client preface + buf := make([]byte, len(ClientPreface)) + if _, err := io.ReadFull(sc.conn, buf); err != nil { + errc <- err + } else if !bytes.Equal(buf, clientPreface) { + errc <- fmt.Errorf("bogus greeting %q", buf) + } else { + errc <- nil + } + }() + timer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server? + defer timer.Stop() + select { + case <-timer.C: + return errPrefaceTimeout + case err := <-errc: + if err == nil { + if VerboseLogs { + sc.vlogf("http2: server: client %v said hello", sc.conn.RemoteAddr()) + } + } + return err + } +} + +var errChanPool = sync.Pool{ + New: func() interface{} { return make(chan error, 1) }, +} + +var writeDataPool = sync.Pool{ + New: func() interface{} { return new(writeData) }, +} + +// writeDataFromHandler writes DATA response frames from a handler on +// the given stream. +func (sc *serverConn) writeDataFromHandler(stream *stream, data []byte, endStream bool) error { + ch := errChanPool.Get().(chan error) + writeArg := writeDataPool.Get().(*writeData) + *writeArg = writeData{stream.id, data, endStream} + err := sc.writeFrameFromHandler(FrameWriteRequest{ + write: writeArg, + stream: stream, + done: ch, + }) + if err != nil { + return err + } + var frameWriteDone bool // the frame write is done (successfully or not) + select { + case err = <-ch: + frameWriteDone = true + case <-sc.doneServing: + return errClientDisconnected + case <-stream.cw: + // If both ch and stream.cw were ready (as might + // happen on the final Write after an http.Handler + // ends), prefer the write result. Otherwise this + // might just be us successfully closing the stream. + // The writeFrameAsync and serve goroutines guarantee + // that the ch send will happen before the stream.cw + // close. + select { + case err = <-ch: + frameWriteDone = true + default: + return errStreamClosed + } + } + errChanPool.Put(ch) + if frameWriteDone { + writeDataPool.Put(writeArg) + } + return err +} + +// writeFrameFromHandler sends wr to sc.wantWriteFrameCh, but aborts +// if the connection has gone away. +// +// This must not be run from the serve goroutine itself, else it might +// deadlock writing to sc.wantWriteFrameCh (which is only mildly +// buffered and is read by serve itself). If you're on the serve +// goroutine, call writeFrame instead. +func (sc *serverConn) writeFrameFromHandler(wr FrameWriteRequest) error { + sc.serveG.checkNotOn() // NOT + select { + case sc.wantWriteFrameCh <- wr: + return nil + case <-sc.doneServing: + // Serve loop is gone. + // Client has closed their connection to the server. + return errClientDisconnected + } +} + +// writeFrame schedules a frame to write and sends it if there's nothing +// already being written. +// +// There is no pushback here (the serve goroutine never blocks). It's +// the http.Handlers that block, waiting for their previous frames to +// make it onto the wire +// +// If you're not on the serve goroutine, use writeFrameFromHandler instead. +func (sc *serverConn) writeFrame(wr FrameWriteRequest) { + sc.serveG.check() + + // If true, wr will not be written and wr.done will not be signaled. + var ignoreWrite bool + + // We are not allowed to write frames on closed streams. RFC 7540 Section + // 5.1.1 says: "An endpoint MUST NOT send frames other than PRIORITY on + // a closed stream." Our server never sends PRIORITY, so that exception + // does not apply. + // + // The serverConn might close an open stream while the stream's handler + // is still running. For example, the server might close a stream when it + // receives bad data from the client. If this happens, the handler might + // attempt to write a frame after the stream has been closed (since the + // handler hasn't yet been notified of the close). In this case, we simply + // ignore the frame. The handler will notice that the stream is closed when + // it waits for the frame to be written. + // + // As an exception to this rule, we allow sending RST_STREAM after close. + // This allows us to immediately reject new streams without tracking any + // state for those streams (except for the queued RST_STREAM frame). This + // may result in duplicate RST_STREAMs in some cases, but the client should + // ignore those. + if wr.StreamID() != 0 { + _, isReset := wr.write.(StreamError) + if state, _ := sc.state(wr.StreamID()); state == stateClosed && !isReset { + ignoreWrite = true + } + } + + // Don't send a 100-continue response if we've already sent headers. + // See golang.org/issue/14030. + switch wr.write.(type) { + case *writeResHeaders: + wr.stream.wroteHeaders = true + case write100ContinueHeadersFrame: + if wr.stream.wroteHeaders { + // We do not need to notify wr.done because this frame is + // never written with wr.done != nil. + if wr.done != nil { + panic("wr.done != nil for write100ContinueHeadersFrame") + } + ignoreWrite = true + } + } + + if !ignoreWrite { + if wr.isControl() { + sc.queuedControlFrames++ + // For extra safety, detect wraparounds, which should not happen, + // and pull the plug. + if sc.queuedControlFrames < 0 { + sc.conn.Close() + } + } + sc.writeSched.Push(wr) + } + sc.scheduleFrameWrite() +} + +// startFrameWrite starts a goroutine to write wr (in a separate +// goroutine since that might block on the network), and updates the +// serve goroutine's state about the world, updated from info in wr. +func (sc *serverConn) startFrameWrite(wr FrameWriteRequest) { + sc.serveG.check() + if sc.writingFrame { + panic("internal error: can only be writing one frame at a time") + } + + st := wr.stream + if st != nil { + switch st.state { + case stateHalfClosedLocal: + switch wr.write.(type) { + case StreamError, handlerPanicRST, writeWindowUpdate: + // RFC 7540 Section 5.1 allows sending RST_STREAM, PRIORITY, and WINDOW_UPDATE + // in this state. (We never send PRIORITY from the server, so that is not checked.) + default: + panic(fmt.Sprintf("internal error: attempt to send frame on a half-closed-local stream: %v", wr)) + } + case stateClosed: + panic(fmt.Sprintf("internal error: attempt to send frame on a closed stream: %v", wr)) + } + } + if wpp, ok := wr.write.(*writePushPromise); ok { + var err error + wpp.promisedID, err = wpp.allocatePromisedID() + if err != nil { + sc.writingFrameAsync = false + wr.replyToWriter(err) + return + } + } + + sc.writingFrame = true + sc.needsFrameFlush = true + if wr.write.staysWithinBuffer(sc.bw.Available()) { + sc.writingFrameAsync = false + err := wr.write.writeFrame(sc) + sc.wroteFrame(frameWriteResult{wr, err}) + } else { + sc.writingFrameAsync = true + go sc.writeFrameAsync(wr) + } +} + +// errHandlerPanicked is the error given to any callers blocked in a read from +// Request.Body when the main goroutine panics. Since most handlers read in the +// main ServeHTTP goroutine, this will show up rarely. +var errHandlerPanicked = errors.New("http2: handler panicked") + +// wroteFrame is called on the serve goroutine with the result of +// whatever happened on writeFrameAsync. +func (sc *serverConn) wroteFrame(res frameWriteResult) { + sc.serveG.check() + if !sc.writingFrame { + panic("internal error: expected to be already writing a frame") + } + sc.writingFrame = false + sc.writingFrameAsync = false + + wr := res.wr + + if writeEndsStream(wr.write) { + st := wr.stream + if st == nil { + panic("internal error: expecting non-nil stream") + } + switch st.state { + case stateOpen: + // Here we would go to stateHalfClosedLocal in + // theory, but since our handler is done and + // the net/http package provides no mechanism + // for closing a ResponseWriter while still + // reading data (see possible TODO at top of + // this file), we go into closed state here + // anyway, after telling the peer we're + // hanging up on them. We'll transition to + // stateClosed after the RST_STREAM frame is + // written. + st.state = stateHalfClosedLocal + // Section 8.1: a server MAY request that the client abort + // transmission of a request without error by sending a + // RST_STREAM with an error code of NO_ERROR after sending + // a complete response. + sc.resetStream(streamError(st.id, ErrCodeNo)) + case stateHalfClosedRemote: + sc.closeStream(st, errHandlerComplete) + } + } else { + switch v := wr.write.(type) { + case StreamError: + // st may be unknown if the RST_STREAM was generated to reject bad input. + if st, ok := sc.streams[v.StreamID]; ok { + sc.closeStream(st, v) + } + case handlerPanicRST: + sc.closeStream(wr.stream, errHandlerPanicked) + } + } + + // Reply (if requested) to unblock the ServeHTTP goroutine. + wr.replyToWriter(res.err) + + sc.scheduleFrameWrite() +} + +// scheduleFrameWrite tickles the frame writing scheduler. +// +// If a frame is already being written, nothing happens. This will be called again +// when the frame is done being written. +// +// If a frame isn't being written and we need to send one, the best frame +// to send is selected by writeSched. +// +// If a frame isn't being written and there's nothing else to send, we +// flush the write buffer. +func (sc *serverConn) scheduleFrameWrite() { + sc.serveG.check() + if sc.writingFrame || sc.inFrameScheduleLoop { + return + } + sc.inFrameScheduleLoop = true + for !sc.writingFrameAsync { + if sc.needToSendGoAway { + sc.needToSendGoAway = false + sc.startFrameWrite(FrameWriteRequest{ + write: &writeGoAway{ + maxStreamID: sc.maxClientStreamID, + code: sc.goAwayCode, + }, + }) + continue + } + if sc.needToSendSettingsAck { + sc.needToSendSettingsAck = false + sc.startFrameWrite(FrameWriteRequest{write: writeSettingsAck{}}) + continue + } + if !sc.inGoAway || sc.goAwayCode == ErrCodeNo { + if wr, ok := sc.writeSched.Pop(); ok { + if wr.isControl() { + sc.queuedControlFrames-- + } + sc.startFrameWrite(wr) + continue + } + } + if sc.needsFrameFlush { + sc.startFrameWrite(FrameWriteRequest{write: flushFrameWriter{}}) + sc.needsFrameFlush = false // after startFrameWrite, since it sets this true + continue + } + break + } + sc.inFrameScheduleLoop = false +} + +// startGracefulShutdown gracefully shuts down a connection. This +// sends GOAWAY with ErrCodeNo to tell the client we're gracefully +// shutting down. The connection isn't closed until all current +// streams are done. +// +// startGracefulShutdown returns immediately; it does not wait until +// the connection has shut down. +func (sc *serverConn) startGracefulShutdown() { + sc.serveG.checkNotOn() // NOT + sc.shutdownOnce.Do(func() { sc.sendServeMsg(gracefulShutdownMsg) }) +} + +// After sending GOAWAY, the connection will close after goAwayTimeout. +// If we close the connection immediately after sending GOAWAY, there may +// be unsent data in our kernel receive buffer, which will cause the kernel +// to send a TCP RST on close() instead of a FIN. This RST will abort the +// connection immediately, whether or not the client had received the GOAWAY. +// +// Ideally we should delay for at least 1 RTT + epsilon so the client has +// a chance to read the GOAWAY and stop sending messages. Measuring RTT +// is hard, so we approximate with 1 second. See golang.org/issue/18701. +// +// This is a var so it can be shorter in tests, where all requests uses the +// loopback interface making the expected RTT very small. +// +// TODO: configurable? +var goAwayTimeout = 1 * time.Second + +func (sc *serverConn) startGracefulShutdownInternal() { + sc.goAway(ErrCodeNo) +} + +func (sc *serverConn) goAway(code ErrCode) { + sc.serveG.check() + if sc.inGoAway { + return + } + sc.inGoAway = true + sc.needToSendGoAway = true + sc.goAwayCode = code + sc.scheduleFrameWrite() +} + +func (sc *serverConn) shutDownIn(d time.Duration) { + sc.serveG.check() + sc.shutdownTimer = time.AfterFunc(d, sc.onShutdownTimer) +} + +func (sc *serverConn) resetStream(se StreamError) { + sc.serveG.check() + sc.writeFrame(FrameWriteRequest{write: se}) + if st, ok := sc.streams[se.StreamID]; ok { + st.resetQueued = true + } +} + +// processFrameFromReader processes the serve loop's read from readFrameCh from the +// frame-reading goroutine. +// processFrameFromReader returns whether the connection should be kept open. +func (sc *serverConn) processFrameFromReader(res readFrameResult) bool { + sc.serveG.check() + err := res.err + if err != nil { + if err == ErrFrameTooLarge { + sc.goAway(ErrCodeFrameSize) + return true // goAway will close the loop + } + clientGone := err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) + if clientGone { + // TODO: could we also get into this state if + // the peer does a half close + // (e.g. CloseWrite) because they're done + // sending frames but they're still wanting + // our open replies? Investigate. + // TODO: add CloseWrite to crypto/tls.Conn first + // so we have a way to test this? I suppose + // just for testing we could have a non-TLS mode. + return false + } + } else { + f := res.f + if VerboseLogs { + sc.vlogf("http2: server read frame %v", summarizeFrame(f)) + } + err = sc.processFrame(f) + if err == nil { + return true + } + } + + switch ev := err.(type) { + case StreamError: + sc.resetStream(ev) + return true + case goAwayFlowError: + sc.goAway(ErrCodeFlowControl) + return true + case ConnectionError: + sc.logf("http2: server connection error from %v: %v", sc.conn.RemoteAddr(), ev) + sc.goAway(ErrCode(ev)) + return true // goAway will handle shutdown + default: + if res.err != nil { + sc.vlogf("http2: server closing client connection; error reading frame from client %s: %v", sc.conn.RemoteAddr(), err) + } else { + sc.logf("http2: server closing client connection: %v", err) + } + return false + } +} + +func (sc *serverConn) processFrame(f Frame) error { + sc.serveG.check() + + // First frame received must be SETTINGS. + if !sc.sawFirstSettings { + if _, ok := f.(*SettingsFrame); !ok { + return ConnectionError(ErrCodeProtocol) + } + sc.sawFirstSettings = true + } + + switch f := f.(type) { + case *SettingsFrame: + return sc.processSettings(f) + case *MetaHeadersFrame: + return sc.processHeaders(f) + case *WindowUpdateFrame: + return sc.processWindowUpdate(f) + case *PingFrame: + return sc.processPing(f) + case *DataFrame: + return sc.processData(f) + case *RSTStreamFrame: + return sc.processResetStream(f) + case *PriorityFrame: + return sc.processPriority(f) + case *GoAwayFrame: + return sc.processGoAway(f) + case *PushPromiseFrame: + // A client cannot push. Thus, servers MUST treat the receipt of a PUSH_PROMISE + // frame as a connection error (Section 5.4.1) of type PROTOCOL_ERROR. + return ConnectionError(ErrCodeProtocol) + default: + sc.vlogf("http2: server ignoring frame: %v", f.Header()) + return nil + } +} + +func (sc *serverConn) processPing(f *PingFrame) error { + sc.serveG.check() + if f.IsAck() { + // 6.7 PING: " An endpoint MUST NOT respond to PING frames + // containing this flag." + return nil + } + if f.StreamID != 0 { + // "PING frames are not associated with any individual + // stream. If a PING frame is received with a stream + // identifier field value other than 0x0, the recipient MUST + // respond with a connection error (Section 5.4.1) of type + // PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) + } + if sc.inGoAway && sc.goAwayCode != ErrCodeNo { + return nil + } + sc.writeFrame(FrameWriteRequest{write: writePingAck{f}}) + return nil +} + +func (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error { + sc.serveG.check() + switch { + case f.StreamID != 0: // stream-level flow control + state, st := sc.state(f.StreamID) + if state == stateIdle { + // Section 5.1: "Receiving any frame other than HEADERS + // or PRIORITY on a stream in this state MUST be + // treated as a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) + } + if st == nil { + // "WINDOW_UPDATE can be sent by a peer that has sent a + // frame bearing the END_STREAM flag. This means that a + // receiver could receive a WINDOW_UPDATE frame on a "half + // closed (remote)" or "closed" stream. A receiver MUST + // NOT treat this as an error, see Section 5.1." + return nil + } + if !st.flow.add(int32(f.Increment)) { + return streamError(f.StreamID, ErrCodeFlowControl) + } + default: // connection-level flow control + if !sc.flow.add(int32(f.Increment)) { + return goAwayFlowError{} + } + } + sc.scheduleFrameWrite() + return nil +} + +func (sc *serverConn) processResetStream(f *RSTStreamFrame) error { + sc.serveG.check() + + state, st := sc.state(f.StreamID) + if state == stateIdle { + // 6.4 "RST_STREAM frames MUST NOT be sent for a + // stream in the "idle" state. If a RST_STREAM frame + // identifying an idle stream is received, the + // recipient MUST treat this as a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. + return ConnectionError(ErrCodeProtocol) + } + if st != nil { + st.cancelCtx() + sc.closeStream(st, streamError(f.StreamID, f.ErrCode)) + } + return nil +} + +func (sc *serverConn) closeStream(st *stream, err error) { + sc.serveG.check() + if st.state == stateIdle || st.state == stateClosed { + panic(fmt.Sprintf("invariant; can't close stream in state %v", st.state)) + } + st.state = stateClosed + if st.writeDeadline != nil { + st.writeDeadline.Stop() + } + if st.isPushed() { + sc.curPushedStreams-- + } else { + sc.curClientStreams-- + } + delete(sc.streams, st.id) + if len(sc.streams) == 0 { + sc.setConnState(http.StateIdle) + if sc.srv.IdleTimeout != 0 { + sc.idleTimer.Reset(sc.srv.IdleTimeout) + } + if h1ServerKeepAlivesDisabled(sc.hs) { + sc.startGracefulShutdownInternal() + } + } + if p := st.body; p != nil { + // Return any buffered unread bytes worth of conn-level flow control. + // See golang.org/issue/16481 + sc.sendWindowUpdate(nil, p.Len()) + + p.CloseWithError(err) + } + st.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc + sc.writeSched.CloseStream(st.id) +} + +func (sc *serverConn) processSettings(f *SettingsFrame) error { + sc.serveG.check() + if f.IsAck() { + sc.unackedSettings-- + if sc.unackedSettings < 0 { + // Why is the peer ACKing settings we never sent? + // The spec doesn't mention this case, but + // hang up on them anyway. + return ConnectionError(ErrCodeProtocol) + } + return nil + } + if f.NumSettings() > 100 || f.HasDuplicates() { + // This isn't actually in the spec, but hang up on + // suspiciously large settings frames or those with + // duplicate entries. + return ConnectionError(ErrCodeProtocol) + } + if err := f.ForeachSetting(sc.processSetting); err != nil { + return err + } + // TODO: judging by RFC 7540, Section 6.5.3 each SETTINGS frame should be + // acknowledged individually, even if multiple are received before the ACK. + sc.needToSendSettingsAck = true + sc.scheduleFrameWrite() + return nil +} + +func (sc *serverConn) processSetting(s Setting) error { + sc.serveG.check() + if err := s.Valid(); err != nil { + return err + } + if VerboseLogs { + sc.vlogf("http2: server processing setting %v", s) + } + switch s.ID { + case SettingHeaderTableSize: + sc.headerTableSize = s.Val + sc.hpackEncoder.SetMaxDynamicTableSize(s.Val) + case SettingEnablePush: + sc.pushEnabled = s.Val != 0 + case SettingMaxConcurrentStreams: + sc.clientMaxStreams = s.Val + case SettingInitialWindowSize: + return sc.processSettingInitialWindowSize(s.Val) + case SettingMaxFrameSize: + sc.maxFrameSize = int32(s.Val) // the maximum valid s.Val is < 2^31 + case SettingMaxHeaderListSize: + sc.peerMaxHeaderListSize = s.Val + default: + // Unknown setting: "An endpoint that receives a SETTINGS + // frame with any unknown or unsupported identifier MUST + // ignore that setting." + if VerboseLogs { + sc.vlogf("http2: server ignoring unknown setting %v", s) + } + } + return nil +} + +func (sc *serverConn) processSettingInitialWindowSize(val uint32) error { + sc.serveG.check() + // Note: val already validated to be within range by + // processSetting's Valid call. + + // "A SETTINGS frame can alter the initial flow control window + // size for all current streams. When the value of + // SETTINGS_INITIAL_WINDOW_SIZE changes, a receiver MUST + // adjust the size of all stream flow control windows that it + // maintains by the difference between the new value and the + // old value." + old := sc.initialStreamSendWindowSize + sc.initialStreamSendWindowSize = int32(val) + growth := int32(val) - old // may be negative + for _, st := range sc.streams { + if !st.flow.add(growth) { + // 6.9.2 Initial Flow Control Window Size + // "An endpoint MUST treat a change to + // SETTINGS_INITIAL_WINDOW_SIZE that causes any flow + // control window to exceed the maximum size as a + // connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR." + return ConnectionError(ErrCodeFlowControl) + } + } + return nil +} + +func (sc *serverConn) processData(f *DataFrame) error { + sc.serveG.check() + if sc.inGoAway && sc.goAwayCode != ErrCodeNo { + return nil + } + data := f.Data() + + // "If a DATA frame is received whose stream is not in "open" + // or "half closed (local)" state, the recipient MUST respond + // with a stream error (Section 5.4.2) of type STREAM_CLOSED." + id := f.Header().StreamID + state, st := sc.state(id) + if id == 0 || state == stateIdle { + // Section 5.1: "Receiving any frame other than HEADERS + // or PRIORITY on a stream in this state MUST be + // treated as a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) + } + if st == nil || state != stateOpen || st.gotTrailerHeader || st.resetQueued { + // This includes sending a RST_STREAM if the stream is + // in stateHalfClosedLocal (which currently means that + // the http.Handler returned, so it's done reading & + // done writing). Try to stop the client from sending + // more DATA. + + // But still enforce their connection-level flow control, + // and return any flow control bytes since we're not going + // to consume them. + if sc.inflow.available() < int32(f.Length) { + return streamError(id, ErrCodeFlowControl) + } + // Deduct the flow control from inflow, since we're + // going to immediately add it back in + // sendWindowUpdate, which also schedules sending the + // frames. + sc.inflow.take(int32(f.Length)) + sc.sendWindowUpdate(nil, int(f.Length)) // conn-level + + if st != nil && st.resetQueued { + // Already have a stream error in flight. Don't send another. + return nil + } + return streamError(id, ErrCodeStreamClosed) + } + if st.body == nil { + panic("internal error: should have a body in this state") + } + + // Sender sending more than they'd declared? + if st.declBodyBytes != -1 && st.bodyBytes+int64(len(data)) > st.declBodyBytes { + st.body.CloseWithError(fmt.Errorf("sender tried to send more than declared Content-Length of %d bytes", st.declBodyBytes)) + // RFC 7540, sec 8.1.2.6: A request or response is also malformed if the + // value of a content-length header field does not equal the sum of the + // DATA frame payload lengths that form the body. + return streamError(id, ErrCodeProtocol) + } + if f.Length > 0 { + // Check whether the client has flow control quota. + if st.inflow.available() < int32(f.Length) { + return streamError(id, ErrCodeFlowControl) + } + st.inflow.take(int32(f.Length)) + + if len(data) > 0 { + wrote, err := st.body.Write(data) + if err != nil { + return streamError(id, ErrCodeStreamClosed) + } + if wrote != len(data) { + panic("internal error: bad Writer") + } + st.bodyBytes += int64(len(data)) + } + + // Return any padded flow control now, since we won't + // refund it later on body reads. + if pad := int32(f.Length) - int32(len(data)); pad > 0 { + sc.sendWindowUpdate32(nil, pad) + sc.sendWindowUpdate32(st, pad) + } + } + if f.StreamEnded() { + st.endStream() + } + return nil +} + +func (sc *serverConn) processGoAway(f *GoAwayFrame) error { + sc.serveG.check() + if f.ErrCode != ErrCodeNo { + sc.logf("http2: received GOAWAY %+v, starting graceful shutdown", f) + } else { + sc.vlogf("http2: received GOAWAY %+v, starting graceful shutdown", f) + } + sc.startGracefulShutdownInternal() + // http://tools.ietf.org/html/rfc7540#section-6.8 + // We should not create any new streams, which means we should disable push. + sc.pushEnabled = false + return nil +} + +// isPushed reports whether the stream is server-initiated. +func (st *stream) isPushed() bool { + return st.id%2 == 0 +} + +// endStream closes a Request.Body's pipe. It is called when a DATA +// frame says a request body is over (or after trailers). +func (st *stream) endStream() { + sc := st.sc + sc.serveG.check() + + if st.declBodyBytes != -1 && st.declBodyBytes != st.bodyBytes { + st.body.CloseWithError(fmt.Errorf("request declared a Content-Length of %d but only wrote %d bytes", + st.declBodyBytes, st.bodyBytes)) + } else { + st.body.closeWithErrorAndCode(io.EOF, st.copyTrailersToHandlerRequest) + st.body.CloseWithError(io.EOF) + } + st.state = stateHalfClosedRemote +} + +// copyTrailersToHandlerRequest is run in the Handler's goroutine in +// its Request.Body.Read just before it gets io.EOF. +func (st *stream) copyTrailersToHandlerRequest() { + for k, vv := range st.trailer { + if _, ok := st.reqTrailer[k]; ok { + // Only copy it over it was pre-declared. + st.reqTrailer[k] = vv + } + } +} + +// onWriteTimeout is run on its own goroutine (from time.AfterFunc) +// when the stream's WriteTimeout has fired. +func (st *stream) onWriteTimeout() { + st.sc.writeFrameFromHandler(FrameWriteRequest{write: streamError(st.id, ErrCodeInternal)}) +} + +func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + sc.serveG.check() + id := f.StreamID + if sc.inGoAway { + // Ignore. + return nil + } + // http://tools.ietf.org/html/rfc7540#section-5.1.1 + // Streams initiated by a client MUST use odd-numbered stream + // identifiers. [...] An endpoint that receives an unexpected + // stream identifier MUST respond with a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. + if id%2 != 1 { + return ConnectionError(ErrCodeProtocol) + } + // A HEADERS frame can be used to create a new stream or + // send a trailer for an open one. If we already have a stream + // open, let it process its own HEADERS frame (trailers at this + // point, if it's valid). + if st := sc.streams[f.StreamID]; st != nil { + if st.resetQueued { + // We're sending RST_STREAM to close the stream, so don't bother + // processing this frame. + return nil + } + // RFC 7540, sec 5.1: If an endpoint receives additional frames, other than + // WINDOW_UPDATE, PRIORITY, or RST_STREAM, for a stream that is in + // this state, it MUST respond with a stream error (Section 5.4.2) of + // type STREAM_CLOSED. + if st.state == stateHalfClosedRemote { + return streamError(id, ErrCodeStreamClosed) + } + return st.processTrailerHeaders(f) + } + + // [...] The identifier of a newly established stream MUST be + // numerically greater than all streams that the initiating + // endpoint has opened or reserved. [...] An endpoint that + // receives an unexpected stream identifier MUST respond with + // a connection error (Section 5.4.1) of type PROTOCOL_ERROR. + if id <= sc.maxClientStreamID { + return ConnectionError(ErrCodeProtocol) + } + sc.maxClientStreamID = id + + if sc.idleTimer != nil { + sc.idleTimer.Stop() + } + + // http://tools.ietf.org/html/rfc7540#section-5.1.2 + // [...] Endpoints MUST NOT exceed the limit set by their peer. An + // endpoint that receives a HEADERS frame that causes their + // advertised concurrent stream limit to be exceeded MUST treat + // this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR + // or REFUSED_STREAM. + if sc.curClientStreams+1 > sc.advMaxStreams { + if sc.unackedSettings == 0 { + // They should know better. + return streamError(id, ErrCodeProtocol) + } + // Assume it's a network race, where they just haven't + // received our last SETTINGS update. But actually + // this can't happen yet, because we don't yet provide + // a way for users to adjust server parameters at + // runtime. + return streamError(id, ErrCodeRefusedStream) + } + + initialState := stateOpen + if f.StreamEnded() { + initialState = stateHalfClosedRemote + } + st := sc.newStream(id, 0, initialState) + + if f.HasPriority() { + if err := checkPriority(f.StreamID, f.Priority); err != nil { + return err + } + sc.writeSched.AdjustStream(st.id, f.Priority) + } + + rw, req, err := sc.newWriterAndRequest(st, f) + if err != nil { + return err + } + st.reqTrailer = req.Trailer + if st.reqTrailer != nil { + st.trailer = make(http.Header) + } + st.body = req.Body.(*requestBody).pipe // may be nil + st.declBodyBytes = req.ContentLength + + handler := sc.handler.ServeHTTP + if f.Truncated { + // Their header list was too long. Send a 431 error. + handler = handleHeaderListTooLong + } else if err := checkValidHTTP2RequestHeaders(req.Header); err != nil { + handler = new400Handler(err) + } + + // The net/http package sets the read deadline from the + // http.Server.ReadTimeout during the TLS handshake, but then + // passes the connection off to us with the deadline already + // set. Disarm it here after the request headers are read, + // similar to how the http1 server works. Here it's + // technically more like the http1 Server's ReadHeaderTimeout + // (in Go 1.8), though. That's a more sane option anyway. + if sc.hs.ReadTimeout != 0 { + sc.conn.SetReadDeadline(time.Time{}) + } + + go sc.runHandler(rw, req, handler) + return nil +} + +func (st *stream) processTrailerHeaders(f *MetaHeadersFrame) error { + sc := st.sc + sc.serveG.check() + if st.gotTrailerHeader { + return ConnectionError(ErrCodeProtocol) + } + st.gotTrailerHeader = true + if !f.StreamEnded() { + return streamError(st.id, ErrCodeProtocol) + } + + if len(f.PseudoFields()) > 0 { + return streamError(st.id, ErrCodeProtocol) + } + if st.trailer != nil { + for _, hf := range f.RegularFields() { + key := sc.canonicalHeader(hf.Name) + if !httpguts.ValidTrailerHeader(key) { + // TODO: send more details to the peer somehow. But http2 has + // no way to send debug data at a stream level. Discuss with + // HTTP folk. + return streamError(st.id, ErrCodeProtocol) + } + st.trailer[key] = append(st.trailer[key], hf.Value) + } + } + st.endStream() + return nil +} + +func checkPriority(streamID uint32, p PriorityParam) error { + if streamID == p.StreamDep { + // Section 5.3.1: "A stream cannot depend on itself. An endpoint MUST treat + // this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR." + // Section 5.3.3 says that a stream can depend on one of its dependencies, + // so it's only self-dependencies that are forbidden. + return streamError(streamID, ErrCodeProtocol) + } + return nil +} + +func (sc *serverConn) processPriority(f *PriorityFrame) error { + if sc.inGoAway { + return nil + } + if err := checkPriority(f.StreamID, f.PriorityParam); err != nil { + return err + } + sc.writeSched.AdjustStream(f.StreamID, f.PriorityParam) + return nil +} + +func (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream { + sc.serveG.check() + if id == 0 { + panic("internal error: cannot create stream with id 0") + } + + ctx, cancelCtx := context.WithCancel(sc.baseCtx) + st := &stream{ + sc: sc, + id: id, + state: state, + ctx: ctx, + cancelCtx: cancelCtx, + } + st.cw.Init() + st.flow.conn = &sc.flow // link to conn-level counter + st.flow.add(sc.initialStreamSendWindowSize) + st.inflow.conn = &sc.inflow // link to conn-level counter + st.inflow.add(sc.srv.initialStreamRecvWindowSize()) + if sc.hs.WriteTimeout != 0 { + st.writeDeadline = time.AfterFunc(sc.hs.WriteTimeout, st.onWriteTimeout) + } + + sc.streams[id] = st + sc.writeSched.OpenStream(st.id, OpenStreamOptions{PusherID: pusherID}) + if st.isPushed() { + sc.curPushedStreams++ + } else { + sc.curClientStreams++ + } + if sc.curOpenStreams() == 1 { + sc.setConnState(http.StateActive) + } + + return st +} + +func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*responseWriter, *http.Request, error) { + sc.serveG.check() + + rp := requestParam{ + method: f.PseudoValue("method"), + scheme: f.PseudoValue("scheme"), + authority: f.PseudoValue("authority"), + path: f.PseudoValue("path"), + } + + isConnect := rp.method == "CONNECT" + if isConnect { + if rp.path != "" || rp.scheme != "" || rp.authority == "" { + return nil, nil, streamError(f.StreamID, ErrCodeProtocol) + } + } else if rp.method == "" || rp.path == "" || (rp.scheme != "https" && rp.scheme != "http") { + // See 8.1.2.6 Malformed Requests and Responses: + // + // Malformed requests or responses that are detected + // MUST be treated as a stream error (Section 5.4.2) + // of type PROTOCOL_ERROR." + // + // 8.1.2.3 Request Pseudo-Header Fields + // "All HTTP/2 requests MUST include exactly one valid + // value for the :method, :scheme, and :path + // pseudo-header fields" + return nil, nil, streamError(f.StreamID, ErrCodeProtocol) + } + + bodyOpen := !f.StreamEnded() + if rp.method == "HEAD" && bodyOpen { + // HEAD requests can't have bodies + return nil, nil, streamError(f.StreamID, ErrCodeProtocol) + } + + rp.header = make(http.Header) + for _, hf := range f.RegularFields() { + rp.header.Add(sc.canonicalHeader(hf.Name), hf.Value) + } + if rp.authority == "" { + rp.authority = rp.header.Get("Host") + } + + rw, req, err := sc.newWriterAndRequestNoBody(st, rp) + if err != nil { + return nil, nil, err + } + if bodyOpen { + if vv, ok := rp.header["Content-Length"]; ok { + req.ContentLength, _ = strconv.ParseInt(vv[0], 10, 64) + } else { + req.ContentLength = -1 + } + req.Body.(*requestBody).pipe = &pipe{ + b: &dataBuffer{expected: req.ContentLength}, + } + } + return rw, req, nil +} + +type requestParam struct { + method string + scheme, authority, path string + header http.Header +} + +func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*responseWriter, *http.Request, error) { + sc.serveG.check() + + var tlsState *tls.ConnectionState // nil if not scheme https + if rp.scheme == "https" { + tlsState = sc.tlsState + } + + needsContinue := rp.header.Get("Expect") == "100-continue" + if needsContinue { + rp.header.Del("Expect") + } + // Merge Cookie headers into one "; "-delimited value. + if cookies := rp.header["Cookie"]; len(cookies) > 1 { + rp.header.Set("Cookie", strings.Join(cookies, "; ")) + } + + // Setup Trailers + var trailer http.Header + for _, v := range rp.header["Trailer"] { + for _, key := range strings.Split(v, ",") { + key = http.CanonicalHeaderKey(strings.TrimSpace(key)) + switch key { + case "Transfer-Encoding", "Trailer", "Content-Length": + // Bogus. (copy of http1 rules) + // Ignore. + default: + if trailer == nil { + trailer = make(http.Header) + } + trailer[key] = nil + } + } + } + delete(rp.header, "Trailer") + + var url_ *url.URL + var requestURI string + if rp.method == "CONNECT" { + url_ = &url.URL{Host: rp.authority} + requestURI = rp.authority // mimic HTTP/1 server behavior + } else { + var err error + url_, err = url.ParseRequestURI(rp.path) + if err != nil { + return nil, nil, streamError(st.id, ErrCodeProtocol) + } + requestURI = rp.path + } + + body := &requestBody{ + conn: sc, + stream: st, + needsContinue: needsContinue, + } + req := &http.Request{ + Method: rp.method, + URL: url_, + RemoteAddr: sc.remoteAddrStr, + Header: rp.header, + RequestURI: requestURI, + Proto: "HTTP/2.0", + ProtoMajor: 2, + ProtoMinor: 0, + TLS: tlsState, + Host: rp.authority, + Body: body, + Trailer: trailer, + } + req = req.WithContext(st.ctx) + + rws := responseWriterStatePool.Get().(*responseWriterState) + bwSave := rws.bw + *rws = responseWriterState{} // zero all the fields + rws.conn = sc + rws.bw = bwSave + rws.bw.Reset(chunkWriter{rws}) + rws.stream = st + rws.req = req + rws.body = body + + rw := &responseWriter{rws: rws} + return rw, req, nil +} + +// Run on its own goroutine. +func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) { + didPanic := true + defer func() { + rw.rws.stream.cancelCtx() + if didPanic { + e := recover() + sc.writeFrameFromHandler(FrameWriteRequest{ + write: handlerPanicRST{rw.rws.stream.id}, + stream: rw.rws.stream, + }) + // Same as net/http: + if e != nil && e != http.ErrAbortHandler { + const size = 64 << 10 + buf := make([]byte, size) + buf = buf[:runtime.Stack(buf, false)] + sc.logf("http2: panic serving %v: %v\n%s", sc.conn.RemoteAddr(), e, buf) + } + return + } + rw.handlerDone() + }() + handler(rw, req) + didPanic = false +} + +func handleHeaderListTooLong(w http.ResponseWriter, r *http.Request) { + // 10.5.1 Limits on Header Block Size: + // .. "A server that receives a larger header block than it is + // willing to handle can send an HTTP 431 (Request Header Fields Too + // Large) status code" + const statusRequestHeaderFieldsTooLarge = 431 // only in Go 1.6+ + w.WriteHeader(statusRequestHeaderFieldsTooLarge) + io.WriteString(w, "

HTTP Error 431

Request Header Field(s) Too Large

") +} + +// called from handler goroutines. +// h may be nil. +func (sc *serverConn) writeHeaders(st *stream, headerData *writeResHeaders) error { + sc.serveG.checkNotOn() // NOT on + var errc chan error + if headerData.h != nil { + // If there's a header map (which we don't own), so we have to block on + // waiting for this frame to be written, so an http.Flush mid-handler + // writes out the correct value of keys, before a handler later potentially + // mutates it. + errc = errChanPool.Get().(chan error) + } + if err := sc.writeFrameFromHandler(FrameWriteRequest{ + write: headerData, + stream: st, + done: errc, + }); err != nil { + return err + } + if errc != nil { + select { + case err := <-errc: + errChanPool.Put(errc) + return err + case <-sc.doneServing: + return errClientDisconnected + case <-st.cw: + return errStreamClosed + } + } + return nil +} + +// called from handler goroutines. +func (sc *serverConn) write100ContinueHeaders(st *stream) { + sc.writeFrameFromHandler(FrameWriteRequest{ + write: write100ContinueHeadersFrame{st.id}, + stream: st, + }) +} + +// A bodyReadMsg tells the server loop that the http.Handler read n +// bytes of the DATA from the client on the given stream. +type bodyReadMsg struct { + st *stream + n int +} + +// called from handler goroutines. +// Notes that the handler for the given stream ID read n bytes of its body +// and schedules flow control tokens to be sent. +func (sc *serverConn) noteBodyReadFromHandler(st *stream, n int, err error) { + sc.serveG.checkNotOn() // NOT on + if n > 0 { + select { + case sc.bodyReadCh <- bodyReadMsg{st, n}: + case <-sc.doneServing: + } + } +} + +func (sc *serverConn) noteBodyRead(st *stream, n int) { + sc.serveG.check() + sc.sendWindowUpdate(nil, n) // conn-level + if st.state != stateHalfClosedRemote && st.state != stateClosed { + // Don't send this WINDOW_UPDATE if the stream is closed + // remotely. + sc.sendWindowUpdate(st, n) + } +} + +// st may be nil for conn-level +func (sc *serverConn) sendWindowUpdate(st *stream, n int) { + sc.serveG.check() + // "The legal range for the increment to the flow control + // window is 1 to 2^31-1 (2,147,483,647) octets." + // A Go Read call on 64-bit machines could in theory read + // a larger Read than this. Very unlikely, but we handle it here + // rather than elsewhere for now. + const maxUint31 = 1<<31 - 1 + for n >= maxUint31 { + sc.sendWindowUpdate32(st, maxUint31) + n -= maxUint31 + } + sc.sendWindowUpdate32(st, int32(n)) +} + +// st may be nil for conn-level +func (sc *serverConn) sendWindowUpdate32(st *stream, n int32) { + sc.serveG.check() + if n == 0 { + return + } + if n < 0 { + panic("negative update") + } + var streamID uint32 + if st != nil { + streamID = st.id + } + sc.writeFrame(FrameWriteRequest{ + write: writeWindowUpdate{streamID: streamID, n: uint32(n)}, + stream: st, + }) + var ok bool + if st == nil { + ok = sc.inflow.add(n) + } else { + ok = st.inflow.add(n) + } + if !ok { + panic("internal error; sent too many window updates without decrements?") + } +} + +// requestBody is the Handler's Request.Body type. +// Read and Close may be called concurrently. +type requestBody struct { + stream *stream + conn *serverConn + closed bool // for use by Close only + sawEOF bool // for use by Read only + pipe *pipe // non-nil if we have a HTTP entity message body + needsContinue bool // need to send a 100-continue +} + +func (b *requestBody) Close() error { + if b.pipe != nil && !b.closed { + b.pipe.BreakWithError(errClosedBody) + } + b.closed = true + return nil +} + +func (b *requestBody) Read(p []byte) (n int, err error) { + if b.needsContinue { + b.needsContinue = false + b.conn.write100ContinueHeaders(b.stream) + } + if b.pipe == nil || b.sawEOF { + return 0, io.EOF + } + n, err = b.pipe.Read(p) + if err == io.EOF { + b.sawEOF = true + } + if b.conn == nil && inTests { + return + } + b.conn.noteBodyReadFromHandler(b.stream, n, err) + return +} + +// responseWriter is the http.ResponseWriter implementation. It's +// intentionally small (1 pointer wide) to minimize garbage. The +// responseWriterState pointer inside is zeroed at the end of a +// request (in handlerDone) and calls on the responseWriter thereafter +// simply crash (caller's mistake), but the much larger responseWriterState +// and buffers are reused between multiple requests. +type responseWriter struct { + rws *responseWriterState +} + +// Optional http.ResponseWriter interfaces implemented. +var ( + _ http.CloseNotifier = (*responseWriter)(nil) + _ http.Flusher = (*responseWriter)(nil) + _ stringWriter = (*responseWriter)(nil) +) + +type responseWriterState struct { + // immutable within a request: + stream *stream + req *http.Request + body *requestBody // to close at end of request, if DATA frames didn't + conn *serverConn + + // TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc + bw *bufio.Writer // writing to a chunkWriter{this *responseWriterState} + + // mutated by http.Handler goroutine: + handlerHeader http.Header // nil until called + snapHeader http.Header // snapshot of handlerHeader at WriteHeader time + trailers []string // set in writeChunk + status int // status code passed to WriteHeader + wroteHeader bool // WriteHeader called (explicitly or implicitly). Not necessarily sent to user yet. + sentHeader bool // have we sent the header frame? + handlerDone bool // handler has finished + dirty bool // a Write failed; don't reuse this responseWriterState + + sentContentLen int64 // non-zero if handler set a Content-Length header + wroteBytes int64 + + closeNotifierMu sync.Mutex // guards closeNotifierCh + closeNotifierCh chan bool // nil until first used +} + +type chunkWriter struct{ rws *responseWriterState } + +func (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) } + +func (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) > 0 } + +func (rws *responseWriterState) hasNonemptyTrailers() bool { + for _, trailer := range rws.trailers { + if _, ok := rws.handlerHeader[trailer]; ok { + return true + } + } + return false +} + +// declareTrailer is called for each Trailer header when the +// response header is written. It notes that a header will need to be +// written in the trailers at the end of the response. +func (rws *responseWriterState) declareTrailer(k string) { + k = http.CanonicalHeaderKey(k) + if !httpguts.ValidTrailerHeader(k) { + // Forbidden by RFC 7230, section 4.1.2. + rws.conn.logf("ignoring invalid trailer %q", k) + return + } + if !strSliceContains(rws.trailers, k) { + rws.trailers = append(rws.trailers, k) + } +} + +// writeChunk writes chunks from the bufio.Writer. But because +// bufio.Writer may bypass its chunking, sometimes p may be +// arbitrarily large. +// +// writeChunk is also responsible (on the first chunk) for sending the +// HEADER response. +func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { + if !rws.wroteHeader { + rws.writeHeader(200) + } + + isHeadResp := rws.req.Method == "HEAD" + if !rws.sentHeader { + rws.sentHeader = true + var ctype, clen string + if clen = rws.snapHeader.Get("Content-Length"); clen != "" { + rws.snapHeader.Del("Content-Length") + clen64, err := strconv.ParseInt(clen, 10, 64) + if err == nil && clen64 >= 0 { + rws.sentContentLen = clen64 + } else { + clen = "" + } + } + if clen == "" && rws.handlerDone && bodyAllowedForStatus(rws.status) && (len(p) > 0 || !isHeadResp) { + clen = strconv.Itoa(len(p)) + } + _, hasContentType := rws.snapHeader["Content-Type"] + if !hasContentType && bodyAllowedForStatus(rws.status) && len(p) > 0 { + ctype = http.DetectContentType(p) + } + var date string + if _, ok := rws.snapHeader["Date"]; !ok { + // TODO(bradfitz): be faster here, like net/http? measure. + date = time.Now().UTC().Format(http.TimeFormat) + } + + for _, v := range rws.snapHeader["Trailer"] { + foreachHeaderElement(v, rws.declareTrailer) + } + + // "Connection" headers aren't allowed in HTTP/2 (RFC 7540, 8.1.2.2), + // but respect "Connection" == "close" to mean sending a GOAWAY and tearing + // down the TCP connection when idle, like we do for HTTP/1. + // TODO: remove more Connection-specific header fields here, in addition + // to "Connection". + if _, ok := rws.snapHeader["Connection"]; ok { + v := rws.snapHeader.Get("Connection") + delete(rws.snapHeader, "Connection") + if v == "close" { + rws.conn.startGracefulShutdown() + } + } + + endStream := (rws.handlerDone && !rws.hasTrailers() && len(p) == 0) || isHeadResp + err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{ + streamID: rws.stream.id, + httpResCode: rws.status, + h: rws.snapHeader, + endStream: endStream, + contentType: ctype, + contentLength: clen, + date: date, + }) + if err != nil { + rws.dirty = true + return 0, err + } + if endStream { + return 0, nil + } + } + if isHeadResp { + return len(p), nil + } + if len(p) == 0 && !rws.handlerDone { + return 0, nil + } + + if rws.handlerDone { + rws.promoteUndeclaredTrailers() + } + + // only send trailers if they have actually been defined by the + // server handler. + hasNonemptyTrailers := rws.hasNonemptyTrailers() + endStream := rws.handlerDone && !hasNonemptyTrailers + if len(p) > 0 || endStream { + // only send a 0 byte DATA frame if we're ending the stream. + if err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil { + rws.dirty = true + return 0, err + } + } + + if rws.handlerDone && hasNonemptyTrailers { + err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{ + streamID: rws.stream.id, + h: rws.handlerHeader, + trailers: rws.trailers, + endStream: true, + }) + if err != nil { + rws.dirty = true + } + return len(p), err + } + return len(p), nil +} + +// TrailerPrefix is a magic prefix for ResponseWriter.Header map keys +// that, if present, signals that the map entry is actually for +// the response trailers, and not the response headers. The prefix +// is stripped after the ServeHTTP call finishes and the values are +// sent in the trailers. +// +// This mechanism is intended only for trailers that are not known +// prior to the headers being written. If the set of trailers is fixed +// or known before the header is written, the normal Go trailers mechanism +// is preferred: +// https://golang.org/pkg/net/http/#ResponseWriter +// https://golang.org/pkg/net/http/#example_ResponseWriter_trailers +const TrailerPrefix = "Trailer:" + +// promoteUndeclaredTrailers permits http.Handlers to set trailers +// after the header has already been flushed. Because the Go +// ResponseWriter interface has no way to set Trailers (only the +// Header), and because we didn't want to expand the ResponseWriter +// interface, and because nobody used trailers, and because RFC 7230 +// says you SHOULD (but not must) predeclare any trailers in the +// header, the official ResponseWriter rules said trailers in Go must +// be predeclared, and then we reuse the same ResponseWriter.Header() +// map to mean both Headers and Trailers. When it's time to write the +// Trailers, we pick out the fields of Headers that were declared as +// trailers. That worked for a while, until we found the first major +// user of Trailers in the wild: gRPC (using them only over http2), +// and gRPC libraries permit setting trailers mid-stream without +// predeclarnig them. So: change of plans. We still permit the old +// way, but we also permit this hack: if a Header() key begins with +// "Trailer:", the suffix of that key is a Trailer. Because ':' is an +// invalid token byte anyway, there is no ambiguity. (And it's already +// filtered out) It's mildly hacky, but not terrible. +// +// This method runs after the Handler is done and promotes any Header +// fields to be trailers. +func (rws *responseWriterState) promoteUndeclaredTrailers() { + for k, vv := range rws.handlerHeader { + if !strings.HasPrefix(k, TrailerPrefix) { + continue + } + trailerKey := strings.TrimPrefix(k, TrailerPrefix) + rws.declareTrailer(trailerKey) + rws.handlerHeader[http.CanonicalHeaderKey(trailerKey)] = vv + } + + if len(rws.trailers) > 1 { + sorter := sorterPool.Get().(*sorter) + sorter.SortStrings(rws.trailers) + sorterPool.Put(sorter) + } +} + +func (w *responseWriter) Flush() { + rws := w.rws + if rws == nil { + panic("Header called after Handler finished") + } + if rws.bw.Buffered() > 0 { + if err := rws.bw.Flush(); err != nil { + // Ignore the error. The frame writer already knows. + return + } + } else { + // The bufio.Writer won't call chunkWriter.Write + // (writeChunk with zero bytes, so we have to do it + // ourselves to force the HTTP response header and/or + // final DATA frame (with END_STREAM) to be sent. + rws.writeChunk(nil) + } +} + +func (w *responseWriter) CloseNotify() <-chan bool { + rws := w.rws + if rws == nil { + panic("CloseNotify called after Handler finished") + } + rws.closeNotifierMu.Lock() + ch := rws.closeNotifierCh + if ch == nil { + ch = make(chan bool, 1) + rws.closeNotifierCh = ch + cw := rws.stream.cw + go func() { + cw.Wait() // wait for close + ch <- true + }() + } + rws.closeNotifierMu.Unlock() + return ch +} + +func (w *responseWriter) Header() http.Header { + rws := w.rws + if rws == nil { + panic("Header called after Handler finished") + } + if rws.handlerHeader == nil { + rws.handlerHeader = make(http.Header) + } + return rws.handlerHeader +} + +// checkWriteHeaderCode is a copy of net/http's checkWriteHeaderCode. +func checkWriteHeaderCode(code int) { + // Issue 22880: require valid WriteHeader status codes. + // For now we only enforce that it's three digits. + // In the future we might block things over 599 (600 and above aren't defined + // at http://httpwg.org/specs/rfc7231.html#status.codes) + // and we might block under 200 (once we have more mature 1xx support). + // But for now any three digits. + // + // We used to send "HTTP/1.1 000 0" on the wire in responses but there's + // no equivalent bogus thing we can realistically send in HTTP/2, + // so we'll consistently panic instead and help people find their bugs + // early. (We can't return an error from WriteHeader even if we wanted to.) + if code < 100 || code > 999 { + panic(fmt.Sprintf("invalid WriteHeader code %v", code)) + } +} + +func (w *responseWriter) WriteHeader(code int) { + rws := w.rws + if rws == nil { + panic("WriteHeader called after Handler finished") + } + rws.writeHeader(code) +} + +func (rws *responseWriterState) writeHeader(code int) { + if !rws.wroteHeader { + checkWriteHeaderCode(code) + rws.wroteHeader = true + rws.status = code + if len(rws.handlerHeader) > 0 { + rws.snapHeader = cloneHeader(rws.handlerHeader) + } + } +} + +func cloneHeader(h http.Header) http.Header { + h2 := make(http.Header, len(h)) + for k, vv := range h { + vv2 := make([]string, len(vv)) + copy(vv2, vv) + h2[k] = vv2 + } + return h2 +} + +// The Life Of A Write is like this: +// +// * Handler calls w.Write or w.WriteString -> +// * -> rws.bw (*bufio.Writer) -> +// * (Handler might call Flush) +// * -> chunkWriter{rws} +// * -> responseWriterState.writeChunk(p []byte) +// * -> responseWriterState.writeChunk (most of the magic; see comment there) +func (w *responseWriter) Write(p []byte) (n int, err error) { + return w.write(len(p), p, "") +} + +func (w *responseWriter) WriteString(s string) (n int, err error) { + return w.write(len(s), nil, s) +} + +// either dataB or dataS is non-zero. +func (w *responseWriter) write(lenData int, dataB []byte, dataS string) (n int, err error) { + rws := w.rws + if rws == nil { + panic("Write called after Handler finished") + } + if !rws.wroteHeader { + w.WriteHeader(200) + } + if !bodyAllowedForStatus(rws.status) { + return 0, http.ErrBodyNotAllowed + } + rws.wroteBytes += int64(len(dataB)) + int64(len(dataS)) // only one can be set + if rws.sentContentLen != 0 && rws.wroteBytes > rws.sentContentLen { + // TODO: send a RST_STREAM + return 0, errors.New("http2: handler wrote more than declared Content-Length") + } + + if dataB != nil { + return rws.bw.Write(dataB) + } else { + return rws.bw.WriteString(dataS) + } +} + +func (w *responseWriter) handlerDone() { + rws := w.rws + dirty := rws.dirty + rws.handlerDone = true + w.Flush() + w.rws = nil + if !dirty { + // Only recycle the pool if all prior Write calls to + // the serverConn goroutine completed successfully. If + // they returned earlier due to resets from the peer + // there might still be write goroutines outstanding + // from the serverConn referencing the rws memory. See + // issue 20704. + responseWriterStatePool.Put(rws) + } +} + +// Push errors. +var ( + ErrRecursivePush = errors.New("http2: recursive push not allowed") + ErrPushLimitReached = errors.New("http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS") +) + +var _ http.Pusher = (*responseWriter)(nil) + +func (w *responseWriter) Push(target string, opts *http.PushOptions) error { + st := w.rws.stream + sc := st.sc + sc.serveG.checkNotOn() + + // No recursive pushes: "PUSH_PROMISE frames MUST only be sent on a peer-initiated stream." + // http://tools.ietf.org/html/rfc7540#section-6.6 + if st.isPushed() { + return ErrRecursivePush + } + + if opts == nil { + opts = new(http.PushOptions) + } + + // Default options. + if opts.Method == "" { + opts.Method = "GET" + } + if opts.Header == nil { + opts.Header = http.Header{} + } + wantScheme := "http" + if w.rws.req.TLS != nil { + wantScheme = "https" + } + + // Validate the request. + u, err := url.Parse(target) + if err != nil { + return err + } + if u.Scheme == "" { + if !strings.HasPrefix(target, "/") { + return fmt.Errorf("target must be an absolute URL or an absolute path: %q", target) + } + u.Scheme = wantScheme + u.Host = w.rws.req.Host + } else { + if u.Scheme != wantScheme { + return fmt.Errorf("cannot push URL with scheme %q from request with scheme %q", u.Scheme, wantScheme) + } + if u.Host == "" { + return errors.New("URL must have a host") + } + } + for k := range opts.Header { + if strings.HasPrefix(k, ":") { + return fmt.Errorf("promised request headers cannot include pseudo header %q", k) + } + // These headers are meaningful only if the request has a body, + // but PUSH_PROMISE requests cannot have a body. + // http://tools.ietf.org/html/rfc7540#section-8.2 + // Also disallow Host, since the promised URL must be absolute. + switch strings.ToLower(k) { + case "content-length", "content-encoding", "trailer", "te", "expect", "host": + return fmt.Errorf("promised request headers cannot include %q", k) + } + } + if err := checkValidHTTP2RequestHeaders(opts.Header); err != nil { + return err + } + + // The RFC effectively limits promised requests to GET and HEAD: + // "Promised requests MUST be cacheable [GET, HEAD, or POST], and MUST be safe [GET or HEAD]" + // http://tools.ietf.org/html/rfc7540#section-8.2 + if opts.Method != "GET" && opts.Method != "HEAD" { + return fmt.Errorf("method %q must be GET or HEAD", opts.Method) + } + + msg := &startPushRequest{ + parent: st, + method: opts.Method, + url: u, + header: cloneHeader(opts.Header), + done: errChanPool.Get().(chan error), + } + + select { + case <-sc.doneServing: + return errClientDisconnected + case <-st.cw: + return errStreamClosed + case sc.serveMsgCh <- msg: + } + + select { + case <-sc.doneServing: + return errClientDisconnected + case <-st.cw: + return errStreamClosed + case err := <-msg.done: + errChanPool.Put(msg.done) + return err + } +} + +type startPushRequest struct { + parent *stream + method string + url *url.URL + header http.Header + done chan error +} + +func (sc *serverConn) startPush(msg *startPushRequest) { + sc.serveG.check() + + // http://tools.ietf.org/html/rfc7540#section-6.6. + // PUSH_PROMISE frames MUST only be sent on a peer-initiated stream that + // is in either the "open" or "half-closed (remote)" state. + if msg.parent.state != stateOpen && msg.parent.state != stateHalfClosedRemote { + // responseWriter.Push checks that the stream is peer-initiaed. + msg.done <- errStreamClosed + return + } + + // http://tools.ietf.org/html/rfc7540#section-6.6. + if !sc.pushEnabled { + msg.done <- http.ErrNotSupported + return + } + + // PUSH_PROMISE frames must be sent in increasing order by stream ID, so + // we allocate an ID for the promised stream lazily, when the PUSH_PROMISE + // is written. Once the ID is allocated, we start the request handler. + allocatePromisedID := func() (uint32, error) { + sc.serveG.check() + + // Check this again, just in case. Technically, we might have received + // an updated SETTINGS by the time we got around to writing this frame. + if !sc.pushEnabled { + return 0, http.ErrNotSupported + } + // http://tools.ietf.org/html/rfc7540#section-6.5.2. + if sc.curPushedStreams+1 > sc.clientMaxStreams { + return 0, ErrPushLimitReached + } + + // http://tools.ietf.org/html/rfc7540#section-5.1.1. + // Streams initiated by the server MUST use even-numbered identifiers. + // A server that is unable to establish a new stream identifier can send a GOAWAY + // frame so that the client is forced to open a new connection for new streams. + if sc.maxPushPromiseID+2 >= 1<<31 { + sc.startGracefulShutdownInternal() + return 0, ErrPushLimitReached + } + sc.maxPushPromiseID += 2 + promisedID := sc.maxPushPromiseID + + // http://tools.ietf.org/html/rfc7540#section-8.2. + // Strictly speaking, the new stream should start in "reserved (local)", then + // transition to "half closed (remote)" after sending the initial HEADERS, but + // we start in "half closed (remote)" for simplicity. + // See further comments at the definition of stateHalfClosedRemote. + promised := sc.newStream(promisedID, msg.parent.id, stateHalfClosedRemote) + rw, req, err := sc.newWriterAndRequestNoBody(promised, requestParam{ + method: msg.method, + scheme: msg.url.Scheme, + authority: msg.url.Host, + path: msg.url.RequestURI(), + header: cloneHeader(msg.header), // clone since handler runs concurrently with writing the PUSH_PROMISE + }) + if err != nil { + // Should not happen, since we've already validated msg.url. + panic(fmt.Sprintf("newWriterAndRequestNoBody(%+v): %v", msg.url, err)) + } + + go sc.runHandler(rw, req, sc.handler.ServeHTTP) + return promisedID, nil + } + + sc.writeFrame(FrameWriteRequest{ + write: &writePushPromise{ + streamID: msg.parent.id, + method: msg.method, + url: msg.url, + h: msg.header, + allocatePromisedID: allocatePromisedID, + }, + stream: msg.parent, + done: msg.done, + }) +} + +// foreachHeaderElement splits v according to the "#rule" construction +// in RFC 7230 section 7 and calls fn for each non-empty element. +func foreachHeaderElement(v string, fn func(string)) { + v = textproto.TrimString(v) + if v == "" { + return + } + if !strings.Contains(v, ",") { + fn(v) + return + } + for _, f := range strings.Split(v, ",") { + if f = textproto.TrimString(f); f != "" { + fn(f) + } + } +} + +// From http://httpwg.org/specs/rfc7540.html#rfc.section.8.1.2.2 +var connHeaders = []string{ + "Connection", + "Keep-Alive", + "Proxy-Connection", + "Transfer-Encoding", + "Upgrade", +} + +// checkValidHTTP2RequestHeaders checks whether h is a valid HTTP/2 request, +// per RFC 7540 Section 8.1.2.2. +// The returned error is reported to users. +func checkValidHTTP2RequestHeaders(h http.Header) error { + for _, k := range connHeaders { + if _, ok := h[k]; ok { + return fmt.Errorf("request header %q is not valid in HTTP/2", k) + } + } + te := h["Te"] + if len(te) > 0 && (len(te) > 1 || (te[0] != "trailers" && te[0] != "")) { + return errors.New(`request header "TE" may only be "trailers" in HTTP/2`) + } + return nil +} + +func new400Handler(err error) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + http.Error(w, err.Error(), http.StatusBadRequest) + } +} + +// h1ServerKeepAlivesDisabled reports whether hs has its keep-alives +// disabled. See comments on h1ServerShutdownChan above for why +// the code is written this way. +func h1ServerKeepAlivesDisabled(hs *http.Server) bool { + var x interface{} = hs + type I interface { + doKeepAlives() bool + } + if hs, ok := x.(I); ok { + return !hs.doKeepAlives() + } + return false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/transport.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/transport.go new file mode 100644 index 0000000..aeac7d8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/transport.go @@ -0,0 +1,2610 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Transport code. + +package http2 + +import ( + "bufio" + "bytes" + "compress/gzip" + "context" + "crypto/rand" + "crypto/tls" + "errors" + "fmt" + "io" + "io/ioutil" + "log" + "math" + mathrand "math/rand" + "net" + "net/http" + "net/http/httptrace" + "net/textproto" + "sort" + "strconv" + "strings" + "sync" + "sync/atomic" + "time" + + "golang.org/x/net/http/httpguts" + "golang.org/x/net/http2/hpack" + "golang.org/x/net/idna" +) + +const ( + // transportDefaultConnFlow is how many connection-level flow control + // tokens we give the server at start-up, past the default 64k. + transportDefaultConnFlow = 1 << 30 + + // transportDefaultStreamFlow is how many stream-level flow + // control tokens we announce to the peer, and how many bytes + // we buffer per stream. + transportDefaultStreamFlow = 4 << 20 + + // transportDefaultStreamMinRefresh is the minimum number of bytes we'll send + // a stream-level WINDOW_UPDATE for at a time. + transportDefaultStreamMinRefresh = 4 << 10 + + defaultUserAgent = "Go-http-client/2.0" +) + +// Transport is an HTTP/2 Transport. +// +// A Transport internally caches connections to servers. It is safe +// for concurrent use by multiple goroutines. +type Transport struct { + // DialTLS specifies an optional dial function for creating + // TLS connections for requests. + // + // If DialTLS is nil, tls.Dial is used. + // + // If the returned net.Conn has a ConnectionState method like tls.Conn, + // it will be used to set http.Response.TLS. + DialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error) + + // TLSClientConfig specifies the TLS configuration to use with + // tls.Client. If nil, the default configuration is used. + TLSClientConfig *tls.Config + + // ConnPool optionally specifies an alternate connection pool to use. + // If nil, the default is used. + ConnPool ClientConnPool + + // DisableCompression, if true, prevents the Transport from + // requesting compression with an "Accept-Encoding: gzip" + // request header when the Request contains no existing + // Accept-Encoding value. If the Transport requests gzip on + // its own and gets a gzipped response, it's transparently + // decoded in the Response.Body. However, if the user + // explicitly requested gzip it is not automatically + // uncompressed. + DisableCompression bool + + // AllowHTTP, if true, permits HTTP/2 requests using the insecure, + // plain-text "http" scheme. Note that this does not enable h2c support. + AllowHTTP bool + + // MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to + // send in the initial settings frame. It is how many bytes + // of response headers are allowed. Unlike the http2 spec, zero here + // means to use a default limit (currently 10MB). If you actually + // want to advertise an ulimited value to the peer, Transport + // interprets the highest possible value here (0xffffffff or 1<<32-1) + // to mean no limit. + MaxHeaderListSize uint32 + + // StrictMaxConcurrentStreams controls whether the server's + // SETTINGS_MAX_CONCURRENT_STREAMS should be respected + // globally. If false, new TCP connections are created to the + // server as needed to keep each under the per-connection + // SETTINGS_MAX_CONCURRENT_STREAMS limit. If true, the + // server's SETTINGS_MAX_CONCURRENT_STREAMS is interpreted as + // a global limit and callers of RoundTrip block when needed, + // waiting for their turn. + StrictMaxConcurrentStreams bool + + // t1, if non-nil, is the standard library Transport using + // this transport. Its settings are used (but not its + // RoundTrip method, etc). + t1 *http.Transport + + connPoolOnce sync.Once + connPoolOrDef ClientConnPool // non-nil version of ConnPool +} + +func (t *Transport) maxHeaderListSize() uint32 { + if t.MaxHeaderListSize == 0 { + return 10 << 20 + } + if t.MaxHeaderListSize == 0xffffffff { + return 0 + } + return t.MaxHeaderListSize +} + +func (t *Transport) disableCompression() bool { + return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression) +} + +// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2. +// It returns an error if t1 has already been HTTP/2-enabled. +func ConfigureTransport(t1 *http.Transport) error { + _, err := configureTransport(t1) + return err +} + +func configureTransport(t1 *http.Transport) (*Transport, error) { + connPool := new(clientConnPool) + t2 := &Transport{ + ConnPool: noDialClientConnPool{connPool}, + t1: t1, + } + connPool.t = t2 + if err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil { + return nil, err + } + if t1.TLSClientConfig == nil { + t1.TLSClientConfig = new(tls.Config) + } + if !strSliceContains(t1.TLSClientConfig.NextProtos, "h2") { + t1.TLSClientConfig.NextProtos = append([]string{"h2"}, t1.TLSClientConfig.NextProtos...) + } + if !strSliceContains(t1.TLSClientConfig.NextProtos, "http/1.1") { + t1.TLSClientConfig.NextProtos = append(t1.TLSClientConfig.NextProtos, "http/1.1") + } + upgradeFn := func(authority string, c *tls.Conn) http.RoundTripper { + addr := authorityAddr("https", authority) + if used, err := connPool.addConnIfNeeded(addr, t2, c); err != nil { + go c.Close() + return erringRoundTripper{err} + } else if !used { + // Turns out we don't need this c. + // For example, two goroutines made requests to the same host + // at the same time, both kicking off TCP dials. (since protocol + // was unknown) + go c.Close() + } + return t2 + } + if m := t1.TLSNextProto; len(m) == 0 { + t1.TLSNextProto = map[string]func(string, *tls.Conn) http.RoundTripper{ + "h2": upgradeFn, + } + } else { + m["h2"] = upgradeFn + } + return t2, nil +} + +func (t *Transport) connPool() ClientConnPool { + t.connPoolOnce.Do(t.initConnPool) + return t.connPoolOrDef +} + +func (t *Transport) initConnPool() { + if t.ConnPool != nil { + t.connPoolOrDef = t.ConnPool + } else { + t.connPoolOrDef = &clientConnPool{t: t} + } +} + +// ClientConn is the state of a single HTTP/2 client connection to an +// HTTP/2 server. +type ClientConn struct { + t *Transport + tconn net.Conn // usually *tls.Conn, except specialized impls + tlsState *tls.ConnectionState // nil only for specialized impls + reused uint32 // whether conn is being reused; atomic + singleUse bool // whether being used for a single http.Request + + // readLoop goroutine fields: + readerDone chan struct{} // closed on error + readerErr error // set before readerDone is closed + + idleTimeout time.Duration // or 0 for never + idleTimer *time.Timer + + mu sync.Mutex // guards following + cond *sync.Cond // hold mu; broadcast on flow/closed changes + flow flow // our conn-level flow control quota (cs.flow is per stream) + inflow flow // peer's conn-level flow control + closing bool + closed bool + wantSettingsAck bool // we sent a SETTINGS frame and haven't heard back + goAway *GoAwayFrame // if non-nil, the GoAwayFrame we received + goAwayDebug string // goAway frame's debug data, retained as a string + streams map[uint32]*clientStream // client-initiated + nextStreamID uint32 + pendingRequests int // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams + pings map[[8]byte]chan struct{} // in flight ping data to notification channel + bw *bufio.Writer + br *bufio.Reader + fr *Framer + lastActive time.Time + // Settings from peer: (also guarded by mu) + maxFrameSize uint32 + maxConcurrentStreams uint32 + peerMaxHeaderListSize uint64 + initialWindowSize uint32 + + hbuf bytes.Buffer // HPACK encoder writes into this + henc *hpack.Encoder + freeBuf [][]byte + + wmu sync.Mutex // held while writing; acquire AFTER mu if holding both + werr error // first write error that has occurred +} + +// clientStream is the state for a single HTTP/2 stream. One of these +// is created for each Transport.RoundTrip call. +type clientStream struct { + cc *ClientConn + req *http.Request + trace *httptrace.ClientTrace // or nil + ID uint32 + resc chan resAndError + bufPipe pipe // buffered pipe with the flow-controlled response payload + startedWrite bool // started request body write; guarded by cc.mu + requestedGzip bool + on100 func() // optional code to run if get a 100 continue response + + flow flow // guarded by cc.mu + inflow flow // guarded by cc.mu + bytesRemain int64 // -1 means unknown; owned by transportResponseBody.Read + readErr error // sticky read error; owned by transportResponseBody.Read + stopReqBody error // if non-nil, stop writing req body; guarded by cc.mu + didReset bool // whether we sent a RST_STREAM to the server; guarded by cc.mu + + peerReset chan struct{} // closed on peer reset + resetErr error // populated before peerReset is closed + + done chan struct{} // closed when stream remove from cc.streams map; close calls guarded by cc.mu + + // owned by clientConnReadLoop: + firstByte bool // got the first response byte + pastHeaders bool // got first MetaHeadersFrame (actual headers) + pastTrailers bool // got optional second MetaHeadersFrame (trailers) + num1xx uint8 // number of 1xx responses seen + + trailer http.Header // accumulated trailers + resTrailer *http.Header // client's Response.Trailer +} + +// awaitRequestCancel waits for the user to cancel a request or for the done +// channel to be signaled. A non-nil error is returned only if the request was +// canceled. +func awaitRequestCancel(req *http.Request, done <-chan struct{}) error { + ctx := req.Context() + if req.Cancel == nil && ctx.Done() == nil { + return nil + } + select { + case <-req.Cancel: + return errRequestCanceled + case <-ctx.Done(): + return ctx.Err() + case <-done: + return nil + } +} + +var got1xxFuncForTests func(int, textproto.MIMEHeader) error + +// get1xxTraceFunc returns the value of request's httptrace.ClientTrace.Got1xxResponse func, +// if any. It returns nil if not set or if the Go version is too old. +func (cs *clientStream) get1xxTraceFunc() func(int, textproto.MIMEHeader) error { + if fn := got1xxFuncForTests; fn != nil { + return fn + } + return traceGot1xxResponseFunc(cs.trace) +} + +// awaitRequestCancel waits for the user to cancel a request, its context to +// expire, or for the request to be done (any way it might be removed from the +// cc.streams map: peer reset, successful completion, TCP connection breakage, +// etc). If the request is canceled, then cs will be canceled and closed. +func (cs *clientStream) awaitRequestCancel(req *http.Request) { + if err := awaitRequestCancel(req, cs.done); err != nil { + cs.cancelStream() + cs.bufPipe.CloseWithError(err) + } +} + +func (cs *clientStream) cancelStream() { + cc := cs.cc + cc.mu.Lock() + didReset := cs.didReset + cs.didReset = true + cc.mu.Unlock() + + if !didReset { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + cc.forgetStreamID(cs.ID) + } +} + +// checkResetOrDone reports any error sent in a RST_STREAM frame by the +// server, or errStreamClosed if the stream is complete. +func (cs *clientStream) checkResetOrDone() error { + select { + case <-cs.peerReset: + return cs.resetErr + case <-cs.done: + return errStreamClosed + default: + return nil + } +} + +func (cs *clientStream) getStartedWrite() bool { + cc := cs.cc + cc.mu.Lock() + defer cc.mu.Unlock() + return cs.startedWrite +} + +func (cs *clientStream) abortRequestBodyWrite(err error) { + if err == nil { + panic("nil error") + } + cc := cs.cc + cc.mu.Lock() + cs.stopReqBody = err + cc.cond.Broadcast() + cc.mu.Unlock() +} + +type stickyErrWriter struct { + w io.Writer + err *error +} + +func (sew stickyErrWriter) Write(p []byte) (n int, err error) { + if *sew.err != nil { + return 0, *sew.err + } + n, err = sew.w.Write(p) + *sew.err = err + return +} + +// noCachedConnError is the concrete type of ErrNoCachedConn, which +// needs to be detected by net/http regardless of whether it's its +// bundled version (in h2_bundle.go with a rewritten type name) or +// from a user's x/net/http2. As such, as it has a unique method name +// (IsHTTP2NoCachedConnError) that net/http sniffs for via func +// isNoCachedConnError. +type noCachedConnError struct{} + +func (noCachedConnError) IsHTTP2NoCachedConnError() {} +func (noCachedConnError) Error() string { return "http2: no cached connection was available" } + +// isNoCachedConnError reports whether err is of type noCachedConnError +// or its equivalent renamed type in net/http2's h2_bundle.go. Both types +// may coexist in the same running program. +func isNoCachedConnError(err error) bool { + _, ok := err.(interface{ IsHTTP2NoCachedConnError() }) + return ok +} + +var ErrNoCachedConn error = noCachedConnError{} + +// RoundTripOpt are options for the Transport.RoundTripOpt method. +type RoundTripOpt struct { + // OnlyCachedConn controls whether RoundTripOpt may + // create a new TCP connection. If set true and + // no cached connection is available, RoundTripOpt + // will return ErrNoCachedConn. + OnlyCachedConn bool +} + +func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) { + return t.RoundTripOpt(req, RoundTripOpt{}) +} + +// authorityAddr returns a given authority (a host/IP, or host:port / ip:port) +// and returns a host:port. The port 443 is added if needed. +func authorityAddr(scheme string, authority string) (addr string) { + host, port, err := net.SplitHostPort(authority) + if err != nil { // authority didn't have a port + port = "443" + if scheme == "http" { + port = "80" + } + host = authority + } + if a, err := idna.ToASCII(host); err == nil { + host = a + } + // IPv6 address literal, without a port: + if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") { + return host + ":" + port + } + return net.JoinHostPort(host, port) +} + +// RoundTripOpt is like RoundTrip, but takes options. +func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) { + if !(req.URL.Scheme == "https" || (req.URL.Scheme == "http" && t.AllowHTTP)) { + return nil, errors.New("http2: unsupported scheme") + } + + addr := authorityAddr(req.URL.Scheme, req.URL.Host) + for retry := 0; ; retry++ { + cc, err := t.connPool().GetClientConn(req, addr) + if err != nil { + t.vlogf("http2: Transport failed to get client conn for %s: %v", addr, err) + return nil, err + } + reused := !atomic.CompareAndSwapUint32(&cc.reused, 0, 1) + traceGotConn(req, cc, reused) + res, gotErrAfterReqBodyWrite, err := cc.roundTrip(req) + if err != nil && retry <= 6 { + if req, err = shouldRetryRequest(req, err, gotErrAfterReqBodyWrite); err == nil { + // After the first retry, do exponential backoff with 10% jitter. + if retry == 0 { + continue + } + backoff := float64(uint(1) << (uint(retry) - 1)) + backoff += backoff * (0.1 * mathrand.Float64()) + select { + case <-time.After(time.Second * time.Duration(backoff)): + continue + case <-req.Context().Done(): + return nil, req.Context().Err() + } + } + } + if err != nil { + t.vlogf("RoundTrip failure: %v", err) + return nil, err + } + return res, nil + } +} + +// CloseIdleConnections closes any connections which were previously +// connected from previous requests but are now sitting idle. +// It does not interrupt any connections currently in use. +func (t *Transport) CloseIdleConnections() { + if cp, ok := t.connPool().(clientConnPoolIdleCloser); ok { + cp.closeIdleConnections() + } +} + +var ( + errClientConnClosed = errors.New("http2: client conn is closed") + errClientConnUnusable = errors.New("http2: client conn not usable") + errClientConnGotGoAway = errors.New("http2: Transport received Server's graceful shutdown GOAWAY") +) + +// shouldRetryRequest is called by RoundTrip when a request fails to get +// response headers. It is always called with a non-nil error. +// It returns either a request to retry (either the same request, or a +// modified clone), or an error if the request can't be replayed. +func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) { + if !canRetryError(err) { + return nil, err + } + // If the Body is nil (or http.NoBody), it's safe to reuse + // this request and its Body. + if req.Body == nil || req.Body == http.NoBody { + return req, nil + } + + // If the request body can be reset back to its original + // state via the optional req.GetBody, do that. + if req.GetBody != nil { + // TODO: consider a req.Body.Close here? or audit that all caller paths do? + body, err := req.GetBody() + if err != nil { + return nil, err + } + newReq := *req + newReq.Body = body + return &newReq, nil + } + + // The Request.Body can't reset back to the beginning, but we + // don't seem to have started to read from it yet, so reuse + // the request directly. The "afterBodyWrite" means the + // bodyWrite process has started, which becomes true before + // the first Read. + if !afterBodyWrite { + return req, nil + } + + return nil, fmt.Errorf("http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error", err) +} + +func canRetryError(err error) bool { + if err == errClientConnUnusable || err == errClientConnGotGoAway { + return true + } + if se, ok := err.(StreamError); ok { + return se.Code == ErrCodeRefusedStream + } + return false +} + +func (t *Transport) dialClientConn(addr string, singleUse bool) (*ClientConn, error) { + host, _, err := net.SplitHostPort(addr) + if err != nil { + return nil, err + } + tconn, err := t.dialTLS()("tcp", addr, t.newTLSConfig(host)) + if err != nil { + return nil, err + } + return t.newClientConn(tconn, singleUse) +} + +func (t *Transport) newTLSConfig(host string) *tls.Config { + cfg := new(tls.Config) + if t.TLSClientConfig != nil { + *cfg = *t.TLSClientConfig.Clone() + } + if !strSliceContains(cfg.NextProtos, NextProtoTLS) { + cfg.NextProtos = append([]string{NextProtoTLS}, cfg.NextProtos...) + } + if cfg.ServerName == "" { + cfg.ServerName = host + } + return cfg +} + +func (t *Transport) dialTLS() func(string, string, *tls.Config) (net.Conn, error) { + if t.DialTLS != nil { + return t.DialTLS + } + return t.dialTLSDefault +} + +func (t *Transport) dialTLSDefault(network, addr string, cfg *tls.Config) (net.Conn, error) { + cn, err := tls.Dial(network, addr, cfg) + if err != nil { + return nil, err + } + if err := cn.Handshake(); err != nil { + return nil, err + } + if !cfg.InsecureSkipVerify { + if err := cn.VerifyHostname(cfg.ServerName); err != nil { + return nil, err + } + } + state := cn.ConnectionState() + if p := state.NegotiatedProtocol; p != NextProtoTLS { + return nil, fmt.Errorf("http2: unexpected ALPN protocol %q; want %q", p, NextProtoTLS) + } + if !state.NegotiatedProtocolIsMutual { + return nil, errors.New("http2: could not negotiate protocol mutually") + } + return cn, nil +} + +// disableKeepAlives reports whether connections should be closed as +// soon as possible after handling the first request. +func (t *Transport) disableKeepAlives() bool { + return t.t1 != nil && t.t1.DisableKeepAlives +} + +func (t *Transport) expectContinueTimeout() time.Duration { + if t.t1 == nil { + return 0 + } + return t.t1.ExpectContinueTimeout +} + +func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) { + return t.newClientConn(c, false) +} + +func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) { + cc := &ClientConn{ + t: t, + tconn: c, + readerDone: make(chan struct{}), + nextStreamID: 1, + maxFrameSize: 16 << 10, // spec default + initialWindowSize: 65535, // spec default + maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough. + peerMaxHeaderListSize: 0xffffffffffffffff, // "infinite", per spec. Use 2^64-1 instead. + streams: make(map[uint32]*clientStream), + singleUse: singleUse, + wantSettingsAck: true, + pings: make(map[[8]byte]chan struct{}), + } + if d := t.idleConnTimeout(); d != 0 { + cc.idleTimeout = d + cc.idleTimer = time.AfterFunc(d, cc.onIdleTimeout) + } + if VerboseLogs { + t.vlogf("http2: Transport creating client conn %p to %v", cc, c.RemoteAddr()) + } + + cc.cond = sync.NewCond(&cc.mu) + cc.flow.add(int32(initialWindowSize)) + + // TODO: adjust this writer size to account for frame size + + // MTU + crypto/tls record padding. + cc.bw = bufio.NewWriter(stickyErrWriter{c, &cc.werr}) + cc.br = bufio.NewReader(c) + cc.fr = NewFramer(cc.bw, cc.br) + cc.fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + cc.fr.MaxHeaderListSize = t.maxHeaderListSize() + + // TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on + // henc in response to SETTINGS frames? + cc.henc = hpack.NewEncoder(&cc.hbuf) + + if t.AllowHTTP { + cc.nextStreamID = 3 + } + + if cs, ok := c.(connectionStater); ok { + state := cs.ConnectionState() + cc.tlsState = &state + } + + initialSettings := []Setting{ + {ID: SettingEnablePush, Val: 0}, + {ID: SettingInitialWindowSize, Val: transportDefaultStreamFlow}, + } + if max := t.maxHeaderListSize(); max != 0 { + initialSettings = append(initialSettings, Setting{ID: SettingMaxHeaderListSize, Val: max}) + } + + cc.bw.Write(clientPreface) + cc.fr.WriteSettings(initialSettings...) + cc.fr.WriteWindowUpdate(0, transportDefaultConnFlow) + cc.inflow.add(transportDefaultConnFlow + initialWindowSize) + cc.bw.Flush() + if cc.werr != nil { + return nil, cc.werr + } + + go cc.readLoop() + return cc, nil +} + +func (cc *ClientConn) setGoAway(f *GoAwayFrame) { + cc.mu.Lock() + defer cc.mu.Unlock() + + old := cc.goAway + cc.goAway = f + + // Merge the previous and current GoAway error frames. + if cc.goAwayDebug == "" { + cc.goAwayDebug = string(f.DebugData()) + } + if old != nil && old.ErrCode != ErrCodeNo { + cc.goAway.ErrCode = old.ErrCode + } + last := f.LastStreamID + for streamID, cs := range cc.streams { + if streamID > last { + select { + case cs.resc <- resAndError{err: errClientConnGotGoAway}: + default: + } + } + } +} + +// CanTakeNewRequest reports whether the connection can take a new request, +// meaning it has not been closed or received or sent a GOAWAY. +func (cc *ClientConn) CanTakeNewRequest() bool { + cc.mu.Lock() + defer cc.mu.Unlock() + return cc.canTakeNewRequestLocked() +} + +// clientConnIdleState describes the suitability of a client +// connection to initiate a new RoundTrip request. +type clientConnIdleState struct { + canTakeNewRequest bool + freshConn bool // whether it's unused by any previous request +} + +func (cc *ClientConn) idleState() clientConnIdleState { + cc.mu.Lock() + defer cc.mu.Unlock() + return cc.idleStateLocked() +} + +func (cc *ClientConn) idleStateLocked() (st clientConnIdleState) { + if cc.singleUse && cc.nextStreamID > 1 { + return + } + var maxConcurrentOkay bool + if cc.t.StrictMaxConcurrentStreams { + // We'll tell the caller we can take a new request to + // prevent the caller from dialing a new TCP + // connection, but then we'll block later before + // writing it. + maxConcurrentOkay = true + } else { + maxConcurrentOkay = int64(len(cc.streams)+1) < int64(cc.maxConcurrentStreams) + } + + st.canTakeNewRequest = cc.goAway == nil && !cc.closed && !cc.closing && maxConcurrentOkay && + int64(cc.nextStreamID)+2*int64(cc.pendingRequests) < math.MaxInt32 + st.freshConn = cc.nextStreamID == 1 && st.canTakeNewRequest + return +} + +func (cc *ClientConn) canTakeNewRequestLocked() bool { + st := cc.idleStateLocked() + return st.canTakeNewRequest +} + +// onIdleTimeout is called from a time.AfterFunc goroutine. It will +// only be called when we're idle, but because we're coming from a new +// goroutine, there could be a new request coming in at the same time, +// so this simply calls the synchronized closeIfIdle to shut down this +// connection. The timer could just call closeIfIdle, but this is more +// clear. +func (cc *ClientConn) onIdleTimeout() { + cc.closeIfIdle() +} + +func (cc *ClientConn) closeIfIdle() { + cc.mu.Lock() + if len(cc.streams) > 0 { + cc.mu.Unlock() + return + } + cc.closed = true + nextID := cc.nextStreamID + // TODO: do clients send GOAWAY too? maybe? Just Close: + cc.mu.Unlock() + + if VerboseLogs { + cc.vlogf("http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)", cc, cc.singleUse, nextID-2) + } + cc.tconn.Close() +} + +var shutdownEnterWaitStateHook = func() {} + +// Shutdown gracefully close the client connection, waiting for running streams to complete. +func (cc *ClientConn) Shutdown(ctx context.Context) error { + if err := cc.sendGoAway(); err != nil { + return err + } + // Wait for all in-flight streams to complete or connection to close + done := make(chan error, 1) + cancelled := false // guarded by cc.mu + go func() { + cc.mu.Lock() + defer cc.mu.Unlock() + for { + if len(cc.streams) == 0 || cc.closed { + cc.closed = true + done <- cc.tconn.Close() + break + } + if cancelled { + break + } + cc.cond.Wait() + } + }() + shutdownEnterWaitStateHook() + select { + case err := <-done: + return err + case <-ctx.Done(): + cc.mu.Lock() + // Free the goroutine above + cancelled = true + cc.cond.Broadcast() + cc.mu.Unlock() + return ctx.Err() + } +} + +func (cc *ClientConn) sendGoAway() error { + cc.mu.Lock() + defer cc.mu.Unlock() + cc.wmu.Lock() + defer cc.wmu.Unlock() + if cc.closing { + // GOAWAY sent already + return nil + } + // Send a graceful shutdown frame to server + maxStreamID := cc.nextStreamID + if err := cc.fr.WriteGoAway(maxStreamID, ErrCodeNo, nil); err != nil { + return err + } + if err := cc.bw.Flush(); err != nil { + return err + } + // Prevent new requests + cc.closing = true + return nil +} + +// Close closes the client connection immediately. +// +// In-flight requests are interrupted. For a graceful shutdown, use Shutdown instead. +func (cc *ClientConn) Close() error { + cc.mu.Lock() + defer cc.cond.Broadcast() + defer cc.mu.Unlock() + err := errors.New("http2: client connection force closed via ClientConn.Close") + for id, cs := range cc.streams { + select { + case cs.resc <- resAndError{err: err}: + default: + } + cs.bufPipe.CloseWithError(err) + delete(cc.streams, id) + } + cc.closed = true + return cc.tconn.Close() +} + +const maxAllocFrameSize = 512 << 10 + +// frameBuffer returns a scratch buffer suitable for writing DATA frames. +// They're capped at the min of the peer's max frame size or 512KB +// (kinda arbitrarily), but definitely capped so we don't allocate 4GB +// bufers. +func (cc *ClientConn) frameScratchBuffer() []byte { + cc.mu.Lock() + size := cc.maxFrameSize + if size > maxAllocFrameSize { + size = maxAllocFrameSize + } + for i, buf := range cc.freeBuf { + if len(buf) >= int(size) { + cc.freeBuf[i] = nil + cc.mu.Unlock() + return buf[:size] + } + } + cc.mu.Unlock() + return make([]byte, size) +} + +func (cc *ClientConn) putFrameScratchBuffer(buf []byte) { + cc.mu.Lock() + defer cc.mu.Unlock() + const maxBufs = 4 // arbitrary; 4 concurrent requests per conn? investigate. + if len(cc.freeBuf) < maxBufs { + cc.freeBuf = append(cc.freeBuf, buf) + return + } + for i, old := range cc.freeBuf { + if old == nil { + cc.freeBuf[i] = buf + return + } + } + // forget about it. +} + +// errRequestCanceled is a copy of net/http's errRequestCanceled because it's not +// exported. At least they'll be DeepEqual for h1-vs-h2 comparisons tests. +var errRequestCanceled = errors.New("net/http: request canceled") + +func commaSeparatedTrailers(req *http.Request) (string, error) { + keys := make([]string, 0, len(req.Trailer)) + for k := range req.Trailer { + k = http.CanonicalHeaderKey(k) + switch k { + case "Transfer-Encoding", "Trailer", "Content-Length": + return "", &badStringError{"invalid Trailer key", k} + } + keys = append(keys, k) + } + if len(keys) > 0 { + sort.Strings(keys) + return strings.Join(keys, ","), nil + } + return "", nil +} + +func (cc *ClientConn) responseHeaderTimeout() time.Duration { + if cc.t.t1 != nil { + return cc.t.t1.ResponseHeaderTimeout + } + // No way to do this (yet?) with just an http2.Transport. Probably + // no need. Request.Cancel this is the new way. We only need to support + // this for compatibility with the old http.Transport fields when + // we're doing transparent http2. + return 0 +} + +// checkConnHeaders checks whether req has any invalid connection-level headers. +// per RFC 7540 section 8.1.2.2: Connection-Specific Header Fields. +// Certain headers are special-cased as okay but not transmitted later. +func checkConnHeaders(req *http.Request) error { + if v := req.Header.Get("Upgrade"); v != "" { + return fmt.Errorf("http2: invalid Upgrade request header: %q", req.Header["Upgrade"]) + } + if vv := req.Header["Transfer-Encoding"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != "" && vv[0] != "chunked") { + return fmt.Errorf("http2: invalid Transfer-Encoding request header: %q", vv) + } + if vv := req.Header["Connection"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != "" && !strings.EqualFold(vv[0], "close") && !strings.EqualFold(vv[0], "keep-alive")) { + return fmt.Errorf("http2: invalid Connection request header: %q", vv) + } + return nil +} + +// actualContentLength returns a sanitized version of +// req.ContentLength, where 0 actually means zero (not unknown) and -1 +// means unknown. +func actualContentLength(req *http.Request) int64 { + if req.Body == nil || req.Body == http.NoBody { + return 0 + } + if req.ContentLength != 0 { + return req.ContentLength + } + return -1 +} + +func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { + resp, _, err := cc.roundTrip(req) + return resp, err +} + +func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAfterReqBodyWrite bool, err error) { + if err := checkConnHeaders(req); err != nil { + return nil, false, err + } + if cc.idleTimer != nil { + cc.idleTimer.Stop() + } + + trailers, err := commaSeparatedTrailers(req) + if err != nil { + return nil, false, err + } + hasTrailers := trailers != "" + + cc.mu.Lock() + if err := cc.awaitOpenSlotForRequest(req); err != nil { + cc.mu.Unlock() + return nil, false, err + } + + body := req.Body + contentLen := actualContentLength(req) + hasBody := contentLen != 0 + + // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? + var requestedGzip bool + if !cc.t.disableCompression() && + req.Header.Get("Accept-Encoding") == "" && + req.Header.Get("Range") == "" && + req.Method != "HEAD" { + // Request gzip only, not deflate. Deflate is ambiguous and + // not as universally supported anyway. + // See: https://zlib.net/zlib_faq.html#faq39 + // + // Note that we don't request this for HEAD requests, + // due to a bug in nginx: + // http://trac.nginx.org/nginx/ticket/358 + // https://golang.org/issue/5522 + // + // We don't request gzip if the request is for a range, since + // auto-decoding a portion of a gzipped document will just fail + // anyway. See https://golang.org/issue/8923 + requestedGzip = true + } + + // we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is + // sent by writeRequestBody below, along with any Trailers, + // again in form HEADERS{1}, CONTINUATION{0,}) + hdrs, err := cc.encodeHeaders(req, requestedGzip, trailers, contentLen) + if err != nil { + cc.mu.Unlock() + return nil, false, err + } + + cs := cc.newStream() + cs.req = req + cs.trace = httptrace.ContextClientTrace(req.Context()) + cs.requestedGzip = requestedGzip + bodyWriter := cc.t.getBodyWriterState(cs, body) + cs.on100 = bodyWriter.on100 + + cc.wmu.Lock() + endStream := !hasBody && !hasTrailers + werr := cc.writeHeaders(cs.ID, endStream, int(cc.maxFrameSize), hdrs) + cc.wmu.Unlock() + traceWroteHeaders(cs.trace) + cc.mu.Unlock() + + if werr != nil { + if hasBody { + req.Body.Close() // per RoundTripper contract + bodyWriter.cancel() + } + cc.forgetStreamID(cs.ID) + // Don't bother sending a RST_STREAM (our write already failed; + // no need to keep writing) + traceWroteRequest(cs.trace, werr) + return nil, false, werr + } + + var respHeaderTimer <-chan time.Time + if hasBody { + bodyWriter.scheduleBodyWrite() + } else { + traceWroteRequest(cs.trace, nil) + if d := cc.responseHeaderTimeout(); d != 0 { + timer := time.NewTimer(d) + defer timer.Stop() + respHeaderTimer = timer.C + } + } + + readLoopResCh := cs.resc + bodyWritten := false + ctx := req.Context() + + handleReadLoopResponse := func(re resAndError) (*http.Response, bool, error) { + res := re.res + if re.err != nil || res.StatusCode > 299 { + // On error or status code 3xx, 4xx, 5xx, etc abort any + // ongoing write, assuming that the server doesn't care + // about our request body. If the server replied with 1xx or + // 2xx, however, then assume the server DOES potentially + // want our body (e.g. full-duplex streaming: + // golang.org/issue/13444). If it turns out the server + // doesn't, they'll RST_STREAM us soon enough. This is a + // heuristic to avoid adding knobs to Transport. Hopefully + // we can keep it. + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWrite) + } + if re.err != nil { + cc.forgetStreamID(cs.ID) + return nil, cs.getStartedWrite(), re.err + } + res.Request = req + res.TLS = cc.tlsState + return res, false, nil + } + + for { + select { + case re := <-readLoopResCh: + return handleReadLoopResponse(re) + case <-respHeaderTimer: + if !hasBody || bodyWritten { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + } else { + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) + } + cc.forgetStreamID(cs.ID) + return nil, cs.getStartedWrite(), errTimeout + case <-ctx.Done(): + if !hasBody || bodyWritten { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + } else { + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) + } + cc.forgetStreamID(cs.ID) + return nil, cs.getStartedWrite(), ctx.Err() + case <-req.Cancel: + if !hasBody || bodyWritten { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + } else { + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) + } + cc.forgetStreamID(cs.ID) + return nil, cs.getStartedWrite(), errRequestCanceled + case <-cs.peerReset: + // processResetStream already removed the + // stream from the streams map; no need for + // forgetStreamID. + return nil, cs.getStartedWrite(), cs.resetErr + case err := <-bodyWriter.resc: + // Prefer the read loop's response, if available. Issue 16102. + select { + case re := <-readLoopResCh: + return handleReadLoopResponse(re) + default: + } + if err != nil { + cc.forgetStreamID(cs.ID) + return nil, cs.getStartedWrite(), err + } + bodyWritten = true + if d := cc.responseHeaderTimeout(); d != 0 { + timer := time.NewTimer(d) + defer timer.Stop() + respHeaderTimer = timer.C + } + } + } +} + +// awaitOpenSlotForRequest waits until len(streams) < maxConcurrentStreams. +// Must hold cc.mu. +func (cc *ClientConn) awaitOpenSlotForRequest(req *http.Request) error { + var waitingForConn chan struct{} + var waitingForConnErr error // guarded by cc.mu + for { + cc.lastActive = time.Now() + if cc.closed || !cc.canTakeNewRequestLocked() { + if waitingForConn != nil { + close(waitingForConn) + } + return errClientConnUnusable + } + if int64(len(cc.streams))+1 <= int64(cc.maxConcurrentStreams) { + if waitingForConn != nil { + close(waitingForConn) + } + return nil + } + // Unfortunately, we cannot wait on a condition variable and channel at + // the same time, so instead, we spin up a goroutine to check if the + // request is canceled while we wait for a slot to open in the connection. + if waitingForConn == nil { + waitingForConn = make(chan struct{}) + go func() { + if err := awaitRequestCancel(req, waitingForConn); err != nil { + cc.mu.Lock() + waitingForConnErr = err + cc.cond.Broadcast() + cc.mu.Unlock() + } + }() + } + cc.pendingRequests++ + cc.cond.Wait() + cc.pendingRequests-- + if waitingForConnErr != nil { + return waitingForConnErr + } + } +} + +// requires cc.wmu be held +func (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, maxFrameSize int, hdrs []byte) error { + first := true // first frame written (HEADERS is first, then CONTINUATION) + for len(hdrs) > 0 && cc.werr == nil { + chunk := hdrs + if len(chunk) > maxFrameSize { + chunk = chunk[:maxFrameSize] + } + hdrs = hdrs[len(chunk):] + endHeaders := len(hdrs) == 0 + if first { + cc.fr.WriteHeaders(HeadersFrameParam{ + StreamID: streamID, + BlockFragment: chunk, + EndStream: endStream, + EndHeaders: endHeaders, + }) + first = false + } else { + cc.fr.WriteContinuation(streamID, endHeaders, chunk) + } + } + // TODO(bradfitz): this Flush could potentially block (as + // could the WriteHeaders call(s) above), which means they + // wouldn't respond to Request.Cancel being readable. That's + // rare, but this should probably be in a goroutine. + cc.bw.Flush() + return cc.werr +} + +// internal error values; they don't escape to callers +var ( + // abort request body write; don't send cancel + errStopReqBodyWrite = errors.New("http2: aborting request body write") + + // abort request body write, but send stream reset of cancel. + errStopReqBodyWriteAndCancel = errors.New("http2: canceling request") +) + +func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (err error) { + cc := cs.cc + sentEnd := false // whether we sent the final DATA frame w/ END_STREAM + buf := cc.frameScratchBuffer() + defer cc.putFrameScratchBuffer(buf) + + defer func() { + traceWroteRequest(cs.trace, err) + // TODO: write h12Compare test showing whether + // Request.Body is closed by the Transport, + // and in multiple cases: server replies <=299 and >299 + // while still writing request body + cerr := bodyCloser.Close() + if err == nil { + err = cerr + } + }() + + req := cs.req + hasTrailers := req.Trailer != nil + + var sawEOF bool + for !sawEOF { + n, err := body.Read(buf) + if err == io.EOF { + sawEOF = true + err = nil + } else if err != nil { + cc.writeStreamReset(cs.ID, ErrCodeCancel, err) + return err + } + + remain := buf[:n] + for len(remain) > 0 && err == nil { + var allowed int32 + allowed, err = cs.awaitFlowControl(len(remain)) + switch { + case err == errStopReqBodyWrite: + return err + case err == errStopReqBodyWriteAndCancel: + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + return err + case err != nil: + return err + } + cc.wmu.Lock() + data := remain[:allowed] + remain = remain[allowed:] + sentEnd = sawEOF && len(remain) == 0 && !hasTrailers + err = cc.fr.WriteData(cs.ID, sentEnd, data) + if err == nil { + // TODO(bradfitz): this flush is for latency, not bandwidth. + // Most requests won't need this. Make this opt-in or + // opt-out? Use some heuristic on the body type? Nagel-like + // timers? Based on 'n'? Only last chunk of this for loop, + // unless flow control tokens are low? For now, always. + // If we change this, see comment below. + err = cc.bw.Flush() + } + cc.wmu.Unlock() + } + if err != nil { + return err + } + } + + if sentEnd { + // Already sent END_STREAM (which implies we have no + // trailers) and flushed, because currently all + // WriteData frames above get a flush. So we're done. + return nil + } + + var trls []byte + if hasTrailers { + cc.mu.Lock() + trls, err = cc.encodeTrailers(req) + cc.mu.Unlock() + if err != nil { + cc.writeStreamReset(cs.ID, ErrCodeInternal, err) + cc.forgetStreamID(cs.ID) + return err + } + } + + cc.mu.Lock() + maxFrameSize := int(cc.maxFrameSize) + cc.mu.Unlock() + + cc.wmu.Lock() + defer cc.wmu.Unlock() + + // Two ways to send END_STREAM: either with trailers, or + // with an empty DATA frame. + if len(trls) > 0 { + err = cc.writeHeaders(cs.ID, true, maxFrameSize, trls) + } else { + err = cc.fr.WriteData(cs.ID, true, nil) + } + if ferr := cc.bw.Flush(); ferr != nil && err == nil { + err = ferr + } + return err +} + +// awaitFlowControl waits for [1, min(maxBytes, cc.cs.maxFrameSize)] flow +// control tokens from the server. +// It returns either the non-zero number of tokens taken or an error +// if the stream is dead. +func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) { + cc := cs.cc + cc.mu.Lock() + defer cc.mu.Unlock() + for { + if cc.closed { + return 0, errClientConnClosed + } + if cs.stopReqBody != nil { + return 0, cs.stopReqBody + } + if err := cs.checkResetOrDone(); err != nil { + return 0, err + } + if a := cs.flow.available(); a > 0 { + take := a + if int(take) > maxBytes { + + take = int32(maxBytes) // can't truncate int; take is int32 + } + if take > int32(cc.maxFrameSize) { + take = int32(cc.maxFrameSize) + } + cs.flow.take(take) + return take, nil + } + cc.cond.Wait() + } +} + +type badStringError struct { + what string + str string +} + +func (e *badStringError) Error() string { return fmt.Sprintf("%s %q", e.what, e.str) } + +// requires cc.mu be held. +func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) ([]byte, error) { + cc.hbuf.Reset() + + host := req.Host + if host == "" { + host = req.URL.Host + } + host, err := httpguts.PunycodeHostPort(host) + if err != nil { + return nil, err + } + + var path string + if req.Method != "CONNECT" { + path = req.URL.RequestURI() + if !validPseudoPath(path) { + orig := path + path = strings.TrimPrefix(path, req.URL.Scheme+"://"+host) + if !validPseudoPath(path) { + if req.URL.Opaque != "" { + return nil, fmt.Errorf("invalid request :path %q from URL.Opaque = %q", orig, req.URL.Opaque) + } else { + return nil, fmt.Errorf("invalid request :path %q", orig) + } + } + } + } + + // Check for any invalid headers and return an error before we + // potentially pollute our hpack state. (We want to be able to + // continue to reuse the hpack encoder for future requests) + for k, vv := range req.Header { + if !httpguts.ValidHeaderFieldName(k) { + return nil, fmt.Errorf("invalid HTTP header name %q", k) + } + for _, v := range vv { + if !httpguts.ValidHeaderFieldValue(v) { + return nil, fmt.Errorf("invalid HTTP header value %q for header %q", v, k) + } + } + } + + enumerateHeaders := func(f func(name, value string)) { + // 8.1.2.3 Request Pseudo-Header Fields + // The :path pseudo-header field includes the path and query parts of the + // target URI (the path-absolute production and optionally a '?' character + // followed by the query production (see Sections 3.3 and 3.4 of + // [RFC3986]). + f(":authority", host) + m := req.Method + if m == "" { + m = http.MethodGet + } + f(":method", m) + if req.Method != "CONNECT" { + f(":path", path) + f(":scheme", req.URL.Scheme) + } + if trailers != "" { + f("trailer", trailers) + } + + var didUA bool + for k, vv := range req.Header { + if strings.EqualFold(k, "host") || strings.EqualFold(k, "content-length") { + // Host is :authority, already sent. + // Content-Length is automatic, set below. + continue + } else if strings.EqualFold(k, "connection") || strings.EqualFold(k, "proxy-connection") || + strings.EqualFold(k, "transfer-encoding") || strings.EqualFold(k, "upgrade") || + strings.EqualFold(k, "keep-alive") { + // Per 8.1.2.2 Connection-Specific Header + // Fields, don't send connection-specific + // fields. We have already checked if any + // are error-worthy so just ignore the rest. + continue + } else if strings.EqualFold(k, "user-agent") { + // Match Go's http1 behavior: at most one + // User-Agent. If set to nil or empty string, + // then omit it. Otherwise if not mentioned, + // include the default (below). + didUA = true + if len(vv) < 1 { + continue + } + vv = vv[:1] + if vv[0] == "" { + continue + } + + } + + for _, v := range vv { + f(k, v) + } + } + if shouldSendReqContentLength(req.Method, contentLength) { + f("content-length", strconv.FormatInt(contentLength, 10)) + } + if addGzipHeader { + f("accept-encoding", "gzip") + } + if !didUA { + f("user-agent", defaultUserAgent) + } + } + + // Do a first pass over the headers counting bytes to ensure + // we don't exceed cc.peerMaxHeaderListSize. This is done as a + // separate pass before encoding the headers to prevent + // modifying the hpack state. + hlSize := uint64(0) + enumerateHeaders(func(name, value string) { + hf := hpack.HeaderField{Name: name, Value: value} + hlSize += uint64(hf.Size()) + }) + + if hlSize > cc.peerMaxHeaderListSize { + return nil, errRequestHeaderListSize + } + + trace := httptrace.ContextClientTrace(req.Context()) + traceHeaders := traceHasWroteHeaderField(trace) + + // Header list size is ok. Write the headers. + enumerateHeaders(func(name, value string) { + name = strings.ToLower(name) + cc.writeHeader(name, value) + if traceHeaders { + traceWroteHeaderField(trace, name, value) + } + }) + + return cc.hbuf.Bytes(), nil +} + +// shouldSendReqContentLength reports whether the http2.Transport should send +// a "content-length" request header. This logic is basically a copy of the net/http +// transferWriter.shouldSendContentLength. +// The contentLength is the corrected contentLength (so 0 means actually 0, not unknown). +// -1 means unknown. +func shouldSendReqContentLength(method string, contentLength int64) bool { + if contentLength > 0 { + return true + } + if contentLength < 0 { + return false + } + // For zero bodies, whether we send a content-length depends on the method. + // It also kinda doesn't matter for http2 either way, with END_STREAM. + switch method { + case "POST", "PUT", "PATCH": + return true + default: + return false + } +} + +// requires cc.mu be held. +func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) { + cc.hbuf.Reset() + + hlSize := uint64(0) + for k, vv := range req.Trailer { + for _, v := range vv { + hf := hpack.HeaderField{Name: k, Value: v} + hlSize += uint64(hf.Size()) + } + } + if hlSize > cc.peerMaxHeaderListSize { + return nil, errRequestHeaderListSize + } + + for k, vv := range req.Trailer { + // Transfer-Encoding, etc.. have already been filtered at the + // start of RoundTrip + lowKey := strings.ToLower(k) + for _, v := range vv { + cc.writeHeader(lowKey, v) + } + } + return cc.hbuf.Bytes(), nil +} + +func (cc *ClientConn) writeHeader(name, value string) { + if VerboseLogs { + log.Printf("http2: Transport encoding header %q = %q", name, value) + } + cc.henc.WriteField(hpack.HeaderField{Name: name, Value: value}) +} + +type resAndError struct { + res *http.Response + err error +} + +// requires cc.mu be held. +func (cc *ClientConn) newStream() *clientStream { + cs := &clientStream{ + cc: cc, + ID: cc.nextStreamID, + resc: make(chan resAndError, 1), + peerReset: make(chan struct{}), + done: make(chan struct{}), + } + cs.flow.add(int32(cc.initialWindowSize)) + cs.flow.setConnFlow(&cc.flow) + cs.inflow.add(transportDefaultStreamFlow) + cs.inflow.setConnFlow(&cc.inflow) + cc.nextStreamID += 2 + cc.streams[cs.ID] = cs + return cs +} + +func (cc *ClientConn) forgetStreamID(id uint32) { + cc.streamByID(id, true) +} + +func (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream { + cc.mu.Lock() + defer cc.mu.Unlock() + cs := cc.streams[id] + if andRemove && cs != nil && !cc.closed { + cc.lastActive = time.Now() + delete(cc.streams, id) + if len(cc.streams) == 0 && cc.idleTimer != nil { + cc.idleTimer.Reset(cc.idleTimeout) + } + close(cs.done) + // Wake up checkResetOrDone via clientStream.awaitFlowControl and + // wake up RoundTrip if there is a pending request. + cc.cond.Broadcast() + } + return cs +} + +// clientConnReadLoop is the state owned by the clientConn's frame-reading readLoop. +type clientConnReadLoop struct { + cc *ClientConn + closeWhenIdle bool +} + +// readLoop runs in its own goroutine and reads and dispatches frames. +func (cc *ClientConn) readLoop() { + rl := &clientConnReadLoop{cc: cc} + defer rl.cleanup() + cc.readerErr = rl.run() + if ce, ok := cc.readerErr.(ConnectionError); ok { + cc.wmu.Lock() + cc.fr.WriteGoAway(0, ErrCode(ce), nil) + cc.wmu.Unlock() + } +} + +// GoAwayError is returned by the Transport when the server closes the +// TCP connection after sending a GOAWAY frame. +type GoAwayError struct { + LastStreamID uint32 + ErrCode ErrCode + DebugData string +} + +func (e GoAwayError) Error() string { + return fmt.Sprintf("http2: server sent GOAWAY and closed the connection; LastStreamID=%v, ErrCode=%v, debug=%q", + e.LastStreamID, e.ErrCode, e.DebugData) +} + +func isEOFOrNetReadError(err error) bool { + if err == io.EOF { + return true + } + ne, ok := err.(*net.OpError) + return ok && ne.Op == "read" +} + +func (rl *clientConnReadLoop) cleanup() { + cc := rl.cc + defer cc.tconn.Close() + defer cc.t.connPool().MarkDead(cc) + defer close(cc.readerDone) + + if cc.idleTimer != nil { + cc.idleTimer.Stop() + } + + // Close any response bodies if the server closes prematurely. + // TODO: also do this if we've written the headers but not + // gotten a response yet. + err := cc.readerErr + cc.mu.Lock() + if cc.goAway != nil && isEOFOrNetReadError(err) { + err = GoAwayError{ + LastStreamID: cc.goAway.LastStreamID, + ErrCode: cc.goAway.ErrCode, + DebugData: cc.goAwayDebug, + } + } else if err == io.EOF { + err = io.ErrUnexpectedEOF + } + for _, cs := range cc.streams { + cs.bufPipe.CloseWithError(err) // no-op if already closed + select { + case cs.resc <- resAndError{err: err}: + default: + } + close(cs.done) + } + cc.closed = true + cc.cond.Broadcast() + cc.mu.Unlock() +} + +func (rl *clientConnReadLoop) run() error { + cc := rl.cc + rl.closeWhenIdle = cc.t.disableKeepAlives() || cc.singleUse + gotReply := false // ever saw a HEADERS reply + gotSettings := false + for { + f, err := cc.fr.ReadFrame() + if err != nil { + cc.vlogf("http2: Transport readFrame error on conn %p: (%T) %v", cc, err, err) + } + if se, ok := err.(StreamError); ok { + if cs := cc.streamByID(se.StreamID, false); cs != nil { + cs.cc.writeStreamReset(cs.ID, se.Code, err) + cs.cc.forgetStreamID(cs.ID) + if se.Cause == nil { + se.Cause = cc.fr.errDetail + } + rl.endStreamError(cs, se) + } + continue + } else if err != nil { + return err + } + if VerboseLogs { + cc.vlogf("http2: Transport received %s", summarizeFrame(f)) + } + if !gotSettings { + if _, ok := f.(*SettingsFrame); !ok { + cc.logf("protocol error: received %T before a SETTINGS frame", f) + return ConnectionError(ErrCodeProtocol) + } + gotSettings = true + } + maybeIdle := false // whether frame might transition us to idle + + switch f := f.(type) { + case *MetaHeadersFrame: + err = rl.processHeaders(f) + maybeIdle = true + gotReply = true + case *DataFrame: + err = rl.processData(f) + maybeIdle = true + case *GoAwayFrame: + err = rl.processGoAway(f) + maybeIdle = true + case *RSTStreamFrame: + err = rl.processResetStream(f) + maybeIdle = true + case *SettingsFrame: + err = rl.processSettings(f) + case *PushPromiseFrame: + err = rl.processPushPromise(f) + case *WindowUpdateFrame: + err = rl.processWindowUpdate(f) + case *PingFrame: + err = rl.processPing(f) + default: + cc.logf("Transport: unhandled response frame type %T", f) + } + if err != nil { + if VerboseLogs { + cc.vlogf("http2: Transport conn %p received error from processing frame %v: %v", cc, summarizeFrame(f), err) + } + return err + } + if rl.closeWhenIdle && gotReply && maybeIdle { + cc.closeIfIdle() + } + } +} + +func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error { + cc := rl.cc + cs := cc.streamByID(f.StreamID, false) + if cs == nil { + // We'd get here if we canceled a request while the + // server had its response still in flight. So if this + // was just something we canceled, ignore it. + return nil + } + if f.StreamEnded() { + // Issue 20521: If the stream has ended, streamByID() causes + // clientStream.done to be closed, which causes the request's bodyWriter + // to be closed with an errStreamClosed, which may be received by + // clientConn.RoundTrip before the result of processing these headers. + // Deferring stream closure allows the header processing to occur first. + // clientConn.RoundTrip may still receive the bodyWriter error first, but + // the fix for issue 16102 prioritises any response. + // + // Issue 22413: If there is no request body, we should close the + // stream before writing to cs.resc so that the stream is closed + // immediately once RoundTrip returns. + if cs.req.Body != nil { + defer cc.forgetStreamID(f.StreamID) + } else { + cc.forgetStreamID(f.StreamID) + } + } + if !cs.firstByte { + if cs.trace != nil { + // TODO(bradfitz): move first response byte earlier, + // when we first read the 9 byte header, not waiting + // until all the HEADERS+CONTINUATION frames have been + // merged. This works for now. + traceFirstResponseByte(cs.trace) + } + cs.firstByte = true + } + if !cs.pastHeaders { + cs.pastHeaders = true + } else { + return rl.processTrailers(cs, f) + } + + res, err := rl.handleResponse(cs, f) + if err != nil { + if _, ok := err.(ConnectionError); ok { + return err + } + // Any other error type is a stream error. + cs.cc.writeStreamReset(f.StreamID, ErrCodeProtocol, err) + cc.forgetStreamID(cs.ID) + cs.resc <- resAndError{err: err} + return nil // return nil from process* funcs to keep conn alive + } + if res == nil { + // (nil, nil) special case. See handleResponse docs. + return nil + } + cs.resTrailer = &res.Trailer + cs.resc <- resAndError{res: res} + return nil +} + +// may return error types nil, or ConnectionError. Any other error value +// is a StreamError of type ErrCodeProtocol. The returned error in that case +// is the detail. +// +// As a special case, handleResponse may return (nil, nil) to skip the +// frame (currently only used for 1xx responses). +func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFrame) (*http.Response, error) { + if f.Truncated { + return nil, errResponseHeaderListSize + } + + status := f.PseudoValue("status") + if status == "" { + return nil, errors.New("malformed response from server: missing status pseudo header") + } + statusCode, err := strconv.Atoi(status) + if err != nil { + return nil, errors.New("malformed response from server: malformed non-numeric status pseudo header") + } + + header := make(http.Header) + res := &http.Response{ + Proto: "HTTP/2.0", + ProtoMajor: 2, + Header: header, + StatusCode: statusCode, + Status: status + " " + http.StatusText(statusCode), + } + for _, hf := range f.RegularFields() { + key := http.CanonicalHeaderKey(hf.Name) + if key == "Trailer" { + t := res.Trailer + if t == nil { + t = make(http.Header) + res.Trailer = t + } + foreachHeaderElement(hf.Value, func(v string) { + t[http.CanonicalHeaderKey(v)] = nil + }) + } else { + header[key] = append(header[key], hf.Value) + } + } + + if statusCode >= 100 && statusCode <= 199 { + cs.num1xx++ + const max1xxResponses = 5 // arbitrary bound on number of informational responses, same as net/http + if cs.num1xx > max1xxResponses { + return nil, errors.New("http2: too many 1xx informational responses") + } + if fn := cs.get1xxTraceFunc(); fn != nil { + if err := fn(statusCode, textproto.MIMEHeader(header)); err != nil { + return nil, err + } + } + if statusCode == 100 { + traceGot100Continue(cs.trace) + if cs.on100 != nil { + cs.on100() // forces any write delay timer to fire + } + } + cs.pastHeaders = false // do it all again + return nil, nil + } + + streamEnded := f.StreamEnded() + isHead := cs.req.Method == "HEAD" + if !streamEnded || isHead { + res.ContentLength = -1 + if clens := res.Header["Content-Length"]; len(clens) == 1 { + if clen64, err := strconv.ParseInt(clens[0], 10, 64); err == nil { + res.ContentLength = clen64 + } else { + // TODO: care? unlike http/1, it won't mess up our framing, so it's + // more safe smuggling-wise to ignore. + } + } else if len(clens) > 1 { + // TODO: care? unlike http/1, it won't mess up our framing, so it's + // more safe smuggling-wise to ignore. + } + } + + if streamEnded || isHead { + res.Body = noBody + return res, nil + } + + cs.bufPipe = pipe{b: &dataBuffer{expected: res.ContentLength}} + cs.bytesRemain = res.ContentLength + res.Body = transportResponseBody{cs} + go cs.awaitRequestCancel(cs.req) + + if cs.requestedGzip && res.Header.Get("Content-Encoding") == "gzip" { + res.Header.Del("Content-Encoding") + res.Header.Del("Content-Length") + res.ContentLength = -1 + res.Body = &gzipReader{body: res.Body} + res.Uncompressed = true + } + return res, nil +} + +func (rl *clientConnReadLoop) processTrailers(cs *clientStream, f *MetaHeadersFrame) error { + if cs.pastTrailers { + // Too many HEADERS frames for this stream. + return ConnectionError(ErrCodeProtocol) + } + cs.pastTrailers = true + if !f.StreamEnded() { + // We expect that any headers for trailers also + // has END_STREAM. + return ConnectionError(ErrCodeProtocol) + } + if len(f.PseudoFields()) > 0 { + // No pseudo header fields are defined for trailers. + // TODO: ConnectionError might be overly harsh? Check. + return ConnectionError(ErrCodeProtocol) + } + + trailer := make(http.Header) + for _, hf := range f.RegularFields() { + key := http.CanonicalHeaderKey(hf.Name) + trailer[key] = append(trailer[key], hf.Value) + } + cs.trailer = trailer + + rl.endStream(cs) + return nil +} + +// transportResponseBody is the concrete type of Transport.RoundTrip's +// Response.Body. It is an io.ReadCloser. On Read, it reads from cs.body. +// On Close it sends RST_STREAM if EOF wasn't already seen. +type transportResponseBody struct { + cs *clientStream +} + +func (b transportResponseBody) Read(p []byte) (n int, err error) { + cs := b.cs + cc := cs.cc + + if cs.readErr != nil { + return 0, cs.readErr + } + n, err = b.cs.bufPipe.Read(p) + if cs.bytesRemain != -1 { + if int64(n) > cs.bytesRemain { + n = int(cs.bytesRemain) + if err == nil { + err = errors.New("net/http: server replied with more than declared Content-Length; truncated") + cc.writeStreamReset(cs.ID, ErrCodeProtocol, err) + } + cs.readErr = err + return int(cs.bytesRemain), err + } + cs.bytesRemain -= int64(n) + if err == io.EOF && cs.bytesRemain > 0 { + err = io.ErrUnexpectedEOF + cs.readErr = err + return n, err + } + } + if n == 0 { + // No flow control tokens to send back. + return + } + + cc.mu.Lock() + defer cc.mu.Unlock() + + var connAdd, streamAdd int32 + // Check the conn-level first, before the stream-level. + if v := cc.inflow.available(); v < transportDefaultConnFlow/2 { + connAdd = transportDefaultConnFlow - v + cc.inflow.add(connAdd) + } + if err == nil { // No need to refresh if the stream is over or failed. + // Consider any buffered body data (read from the conn but not + // consumed by the client) when computing flow control for this + // stream. + v := int(cs.inflow.available()) + cs.bufPipe.Len() + if v < transportDefaultStreamFlow-transportDefaultStreamMinRefresh { + streamAdd = int32(transportDefaultStreamFlow - v) + cs.inflow.add(streamAdd) + } + } + if connAdd != 0 || streamAdd != 0 { + cc.wmu.Lock() + defer cc.wmu.Unlock() + if connAdd != 0 { + cc.fr.WriteWindowUpdate(0, mustUint31(connAdd)) + } + if streamAdd != 0 { + cc.fr.WriteWindowUpdate(cs.ID, mustUint31(streamAdd)) + } + cc.bw.Flush() + } + return +} + +var errClosedResponseBody = errors.New("http2: response body closed") + +func (b transportResponseBody) Close() error { + cs := b.cs + cc := cs.cc + + serverSentStreamEnd := cs.bufPipe.Err() == io.EOF + unread := cs.bufPipe.Len() + + if unread > 0 || !serverSentStreamEnd { + cc.mu.Lock() + cc.wmu.Lock() + if !serverSentStreamEnd { + cc.fr.WriteRSTStream(cs.ID, ErrCodeCancel) + cs.didReset = true + } + // Return connection-level flow control. + if unread > 0 { + cc.inflow.add(int32(unread)) + cc.fr.WriteWindowUpdate(0, uint32(unread)) + } + cc.bw.Flush() + cc.wmu.Unlock() + cc.mu.Unlock() + } + + cs.bufPipe.BreakWithError(errClosedResponseBody) + cc.forgetStreamID(cs.ID) + return nil +} + +func (rl *clientConnReadLoop) processData(f *DataFrame) error { + cc := rl.cc + cs := cc.streamByID(f.StreamID, f.StreamEnded()) + data := f.Data() + if cs == nil { + cc.mu.Lock() + neverSent := cc.nextStreamID + cc.mu.Unlock() + if f.StreamID >= neverSent { + // We never asked for this. + cc.logf("http2: Transport received unsolicited DATA frame; closing connection") + return ConnectionError(ErrCodeProtocol) + } + // We probably did ask for this, but canceled. Just ignore it. + // TODO: be stricter here? only silently ignore things which + // we canceled, but not things which were closed normally + // by the peer? Tough without accumulating too much state. + + // But at least return their flow control: + if f.Length > 0 { + cc.mu.Lock() + cc.inflow.add(int32(f.Length)) + cc.mu.Unlock() + + cc.wmu.Lock() + cc.fr.WriteWindowUpdate(0, uint32(f.Length)) + cc.bw.Flush() + cc.wmu.Unlock() + } + return nil + } + if !cs.firstByte { + cc.logf("protocol error: received DATA before a HEADERS frame") + rl.endStreamError(cs, StreamError{ + StreamID: f.StreamID, + Code: ErrCodeProtocol, + }) + return nil + } + if f.Length > 0 { + if cs.req.Method == "HEAD" && len(data) > 0 { + cc.logf("protocol error: received DATA on a HEAD request") + rl.endStreamError(cs, StreamError{ + StreamID: f.StreamID, + Code: ErrCodeProtocol, + }) + return nil + } + // Check connection-level flow control. + cc.mu.Lock() + if cs.inflow.available() >= int32(f.Length) { + cs.inflow.take(int32(f.Length)) + } else { + cc.mu.Unlock() + return ConnectionError(ErrCodeFlowControl) + } + // Return any padded flow control now, since we won't + // refund it later on body reads. + var refund int + if pad := int(f.Length) - len(data); pad > 0 { + refund += pad + } + // Return len(data) now if the stream is already closed, + // since data will never be read. + didReset := cs.didReset + if didReset { + refund += len(data) + } + if refund > 0 { + cc.inflow.add(int32(refund)) + cc.wmu.Lock() + cc.fr.WriteWindowUpdate(0, uint32(refund)) + if !didReset { + cs.inflow.add(int32(refund)) + cc.fr.WriteWindowUpdate(cs.ID, uint32(refund)) + } + cc.bw.Flush() + cc.wmu.Unlock() + } + cc.mu.Unlock() + + if len(data) > 0 && !didReset { + if _, err := cs.bufPipe.Write(data); err != nil { + rl.endStreamError(cs, err) + return err + } + } + } + + if f.StreamEnded() { + rl.endStream(cs) + } + return nil +} + +var errInvalidTrailers = errors.New("http2: invalid trailers") + +func (rl *clientConnReadLoop) endStream(cs *clientStream) { + // TODO: check that any declared content-length matches, like + // server.go's (*stream).endStream method. + rl.endStreamError(cs, nil) +} + +func (rl *clientConnReadLoop) endStreamError(cs *clientStream, err error) { + var code func() + if err == nil { + err = io.EOF + code = cs.copyTrailers + } + if isConnectionCloseRequest(cs.req) { + rl.closeWhenIdle = true + } + cs.bufPipe.closeWithErrorAndCode(err, code) + + select { + case cs.resc <- resAndError{err: err}: + default: + } +} + +func (cs *clientStream) copyTrailers() { + for k, vv := range cs.trailer { + t := cs.resTrailer + if *t == nil { + *t = make(http.Header) + } + (*t)[k] = vv + } +} + +func (rl *clientConnReadLoop) processGoAway(f *GoAwayFrame) error { + cc := rl.cc + cc.t.connPool().MarkDead(cc) + if f.ErrCode != 0 { + // TODO: deal with GOAWAY more. particularly the error code + cc.vlogf("transport got GOAWAY with error code = %v", f.ErrCode) + } + cc.setGoAway(f) + return nil +} + +func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { + cc := rl.cc + cc.mu.Lock() + defer cc.mu.Unlock() + + if f.IsAck() { + if cc.wantSettingsAck { + cc.wantSettingsAck = false + return nil + } + return ConnectionError(ErrCodeProtocol) + } + + err := f.ForeachSetting(func(s Setting) error { + switch s.ID { + case SettingMaxFrameSize: + cc.maxFrameSize = s.Val + case SettingMaxConcurrentStreams: + cc.maxConcurrentStreams = s.Val + case SettingMaxHeaderListSize: + cc.peerMaxHeaderListSize = uint64(s.Val) + case SettingInitialWindowSize: + // Values above the maximum flow-control + // window size of 2^31-1 MUST be treated as a + // connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR. + if s.Val > math.MaxInt32 { + return ConnectionError(ErrCodeFlowControl) + } + + // Adjust flow control of currently-open + // frames by the difference of the old initial + // window size and this one. + delta := int32(s.Val) - int32(cc.initialWindowSize) + for _, cs := range cc.streams { + cs.flow.add(delta) + } + cc.cond.Broadcast() + + cc.initialWindowSize = s.Val + default: + // TODO(bradfitz): handle more settings? SETTINGS_HEADER_TABLE_SIZE probably. + cc.vlogf("Unhandled Setting: %v", s) + } + return nil + }) + if err != nil { + return err + } + + cc.wmu.Lock() + defer cc.wmu.Unlock() + + cc.fr.WriteSettingsAck() + cc.bw.Flush() + return cc.werr +} + +func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { + cc := rl.cc + cs := cc.streamByID(f.StreamID, false) + if f.StreamID != 0 && cs == nil { + return nil + } + + cc.mu.Lock() + defer cc.mu.Unlock() + + fl := &cc.flow + if cs != nil { + fl = &cs.flow + } + if !fl.add(int32(f.Increment)) { + return ConnectionError(ErrCodeFlowControl) + } + cc.cond.Broadcast() + return nil +} + +func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error { + cs := rl.cc.streamByID(f.StreamID, true) + if cs == nil { + // TODO: return error if server tries to RST_STEAM an idle stream + return nil + } + select { + case <-cs.peerReset: + // Already reset. + // This is the only goroutine + // which closes this, so there + // isn't a race. + default: + err := streamError(cs.ID, f.ErrCode) + cs.resetErr = err + close(cs.peerReset) + cs.bufPipe.CloseWithError(err) + cs.cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl + } + return nil +} + +// Ping sends a PING frame to the server and waits for the ack. +func (cc *ClientConn) Ping(ctx context.Context) error { + c := make(chan struct{}) + // Generate a random payload + var p [8]byte + for { + if _, err := rand.Read(p[:]); err != nil { + return err + } + cc.mu.Lock() + // check for dup before insert + if _, found := cc.pings[p]; !found { + cc.pings[p] = c + cc.mu.Unlock() + break + } + cc.mu.Unlock() + } + cc.wmu.Lock() + if err := cc.fr.WritePing(false, p); err != nil { + cc.wmu.Unlock() + return err + } + if err := cc.bw.Flush(); err != nil { + cc.wmu.Unlock() + return err + } + cc.wmu.Unlock() + select { + case <-c: + return nil + case <-ctx.Done(): + return ctx.Err() + case <-cc.readerDone: + // connection closed + return cc.readerErr + } +} + +func (rl *clientConnReadLoop) processPing(f *PingFrame) error { + if f.IsAck() { + cc := rl.cc + cc.mu.Lock() + defer cc.mu.Unlock() + // If ack, notify listener if any + if c, ok := cc.pings[f.Data]; ok { + close(c) + delete(cc.pings, f.Data) + } + return nil + } + cc := rl.cc + cc.wmu.Lock() + defer cc.wmu.Unlock() + if err := cc.fr.WritePing(true, f.Data); err != nil { + return err + } + return cc.bw.Flush() +} + +func (rl *clientConnReadLoop) processPushPromise(f *PushPromiseFrame) error { + // We told the peer we don't want them. + // Spec says: + // "PUSH_PROMISE MUST NOT be sent if the SETTINGS_ENABLE_PUSH + // setting of the peer endpoint is set to 0. An endpoint that + // has set this setting and has received acknowledgement MUST + // treat the receipt of a PUSH_PROMISE frame as a connection + // error (Section 5.4.1) of type PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) +} + +func (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error) { + // TODO: map err to more interesting error codes, once the + // HTTP community comes up with some. But currently for + // RST_STREAM there's no equivalent to GOAWAY frame's debug + // data, and the error codes are all pretty vague ("cancel"). + cc.wmu.Lock() + cc.fr.WriteRSTStream(streamID, code) + cc.bw.Flush() + cc.wmu.Unlock() +} + +var ( + errResponseHeaderListSize = errors.New("http2: response header list larger than advertised limit") + errRequestHeaderListSize = errors.New("http2: request header list larger than peer's advertised limit") + errPseudoTrailers = errors.New("http2: invalid pseudo header in trailers") +) + +func (cc *ClientConn) logf(format string, args ...interface{}) { + cc.t.logf(format, args...) +} + +func (cc *ClientConn) vlogf(format string, args ...interface{}) { + cc.t.vlogf(format, args...) +} + +func (t *Transport) vlogf(format string, args ...interface{}) { + if VerboseLogs { + t.logf(format, args...) + } +} + +func (t *Transport) logf(format string, args ...interface{}) { + log.Printf(format, args...) +} + +var noBody io.ReadCloser = ioutil.NopCloser(bytes.NewReader(nil)) + +func strSliceContains(ss []string, s string) bool { + for _, v := range ss { + if v == s { + return true + } + } + return false +} + +type erringRoundTripper struct{ err error } + +func (rt erringRoundTripper) RoundTrip(*http.Request) (*http.Response, error) { return nil, rt.err } + +// gzipReader wraps a response body so it can lazily +// call gzip.NewReader on the first call to Read +type gzipReader struct { + body io.ReadCloser // underlying Response.Body + zr *gzip.Reader // lazily-initialized gzip reader + zerr error // sticky error +} + +func (gz *gzipReader) Read(p []byte) (n int, err error) { + if gz.zerr != nil { + return 0, gz.zerr + } + if gz.zr == nil { + gz.zr, err = gzip.NewReader(gz.body) + if err != nil { + gz.zerr = err + return 0, err + } + } + return gz.zr.Read(p) +} + +func (gz *gzipReader) Close() error { + return gz.body.Close() +} + +type errorReader struct{ err error } + +func (r errorReader) Read(p []byte) (int, error) { return 0, r.err } + +// bodyWriterState encapsulates various state around the Transport's writing +// of the request body, particularly regarding doing delayed writes of the body +// when the request contains "Expect: 100-continue". +type bodyWriterState struct { + cs *clientStream + timer *time.Timer // if non-nil, we're doing a delayed write + fnonce *sync.Once // to call fn with + fn func() // the code to run in the goroutine, writing the body + resc chan error // result of fn's execution + delay time.Duration // how long we should delay a delayed write for +} + +func (t *Transport) getBodyWriterState(cs *clientStream, body io.Reader) (s bodyWriterState) { + s.cs = cs + if body == nil { + return + } + resc := make(chan error, 1) + s.resc = resc + s.fn = func() { + cs.cc.mu.Lock() + cs.startedWrite = true + cs.cc.mu.Unlock() + resc <- cs.writeRequestBody(body, cs.req.Body) + } + s.delay = t.expectContinueTimeout() + if s.delay == 0 || + !httpguts.HeaderValuesContainsToken( + cs.req.Header["Expect"], + "100-continue") { + return + } + s.fnonce = new(sync.Once) + + // Arm the timer with a very large duration, which we'll + // intentionally lower later. It has to be large now because + // we need a handle to it before writing the headers, but the + // s.delay value is defined to not start until after the + // request headers were written. + const hugeDuration = 365 * 24 * time.Hour + s.timer = time.AfterFunc(hugeDuration, func() { + s.fnonce.Do(s.fn) + }) + return +} + +func (s bodyWriterState) cancel() { + if s.timer != nil { + s.timer.Stop() + } +} + +func (s bodyWriterState) on100() { + if s.timer == nil { + // If we didn't do a delayed write, ignore the server's + // bogus 100 continue response. + return + } + s.timer.Stop() + go func() { s.fnonce.Do(s.fn) }() +} + +// scheduleBodyWrite starts writing the body, either immediately (in +// the common case) or after the delay timeout. It should not be +// called until after the headers have been written. +func (s bodyWriterState) scheduleBodyWrite() { + if s.timer == nil { + // We're not doing a delayed write (see + // getBodyWriterState), so just start the writing + // goroutine immediately. + go s.fn() + return + } + traceWait100Continue(s.cs.trace) + if s.timer.Stop() { + s.timer.Reset(s.delay) + } +} + +// isConnectionCloseRequest reports whether req should use its own +// connection for a single request and then close the connection. +func isConnectionCloseRequest(req *http.Request) bool { + return req.Close || httpguts.HeaderValuesContainsToken(req.Header["Connection"], "close") +} + +// registerHTTPSProtocol calls Transport.RegisterProtocol but +// converting panics into errors. +func registerHTTPSProtocol(t *http.Transport, rt noDialH2RoundTripper) (err error) { + defer func() { + if e := recover(); e != nil { + err = fmt.Errorf("%v", e) + } + }() + t.RegisterProtocol("https", rt) + return nil +} + +// noDialH2RoundTripper is a RoundTripper which only tries to complete the request +// if there's already has a cached connection to the host. +// (The field is exported so it can be accessed via reflect from net/http; tested +// by TestNoDialH2RoundTripperType) +type noDialH2RoundTripper struct{ *Transport } + +func (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + res, err := rt.Transport.RoundTrip(req) + if isNoCachedConnError(err) { + return nil, http.ErrSkipAltProtocol + } + return res, err +} + +func (t *Transport) idleConnTimeout() time.Duration { + if t.t1 != nil { + return t.t1.IdleConnTimeout + } + return 0 +} + +func traceGetConn(req *http.Request, hostPort string) { + trace := httptrace.ContextClientTrace(req.Context()) + if trace == nil || trace.GetConn == nil { + return + } + trace.GetConn(hostPort) +} + +func traceGotConn(req *http.Request, cc *ClientConn, reused bool) { + trace := httptrace.ContextClientTrace(req.Context()) + if trace == nil || trace.GotConn == nil { + return + } + ci := httptrace.GotConnInfo{Conn: cc.tconn} + ci.Reused = reused + cc.mu.Lock() + ci.WasIdle = len(cc.streams) == 0 && reused + if ci.WasIdle && !cc.lastActive.IsZero() { + ci.IdleTime = time.Now().Sub(cc.lastActive) + } + cc.mu.Unlock() + + trace.GotConn(ci) +} + +func traceWroteHeaders(trace *httptrace.ClientTrace) { + if trace != nil && trace.WroteHeaders != nil { + trace.WroteHeaders() + } +} + +func traceGot100Continue(trace *httptrace.ClientTrace) { + if trace != nil && trace.Got100Continue != nil { + trace.Got100Continue() + } +} + +func traceWait100Continue(trace *httptrace.ClientTrace) { + if trace != nil && trace.Wait100Continue != nil { + trace.Wait100Continue() + } +} + +func traceWroteRequest(trace *httptrace.ClientTrace, err error) { + if trace != nil && trace.WroteRequest != nil { + trace.WroteRequest(httptrace.WroteRequestInfo{Err: err}) + } +} + +func traceFirstResponseByte(trace *httptrace.ClientTrace) { + if trace != nil && trace.GotFirstResponseByte != nil { + trace.GotFirstResponseByte() + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/write.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/write.go new file mode 100644 index 0000000..3849bc2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/write.go @@ -0,0 +1,365 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "bytes" + "fmt" + "log" + "net/http" + "net/url" + + "golang.org/x/net/http/httpguts" + "golang.org/x/net/http2/hpack" +) + +// writeFramer is implemented by any type that is used to write frames. +type writeFramer interface { + writeFrame(writeContext) error + + // staysWithinBuffer reports whether this writer promises that + // it will only write less than or equal to size bytes, and it + // won't Flush the write context. + staysWithinBuffer(size int) bool +} + +// writeContext is the interface needed by the various frame writer +// types below. All the writeFrame methods below are scheduled via the +// frame writing scheduler (see writeScheduler in writesched.go). +// +// This interface is implemented by *serverConn. +// +// TODO: decide whether to a) use this in the client code (which didn't +// end up using this yet, because it has a simpler design, not +// currently implementing priorities), or b) delete this and +// make the server code a bit more concrete. +type writeContext interface { + Framer() *Framer + Flush() error + CloseConn() error + // HeaderEncoder returns an HPACK encoder that writes to the + // returned buffer. + HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) +} + +// writeEndsStream reports whether w writes a frame that will transition +// the stream to a half-closed local state. This returns false for RST_STREAM, +// which closes the entire stream (not just the local half). +func writeEndsStream(w writeFramer) bool { + switch v := w.(type) { + case *writeData: + return v.endStream + case *writeResHeaders: + return v.endStream + case nil: + // This can only happen if the caller reuses w after it's + // been intentionally nil'ed out to prevent use. Keep this + // here to catch future refactoring breaking it. + panic("writeEndsStream called on nil writeFramer") + } + return false +} + +type flushFrameWriter struct{} + +func (flushFrameWriter) writeFrame(ctx writeContext) error { + return ctx.Flush() +} + +func (flushFrameWriter) staysWithinBuffer(max int) bool { return false } + +type writeSettings []Setting + +func (s writeSettings) staysWithinBuffer(max int) bool { + const settingSize = 6 // uint16 + uint32 + return frameHeaderLen+settingSize*len(s) <= max + +} + +func (s writeSettings) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteSettings([]Setting(s)...) +} + +type writeGoAway struct { + maxStreamID uint32 + code ErrCode +} + +func (p *writeGoAway) writeFrame(ctx writeContext) error { + err := ctx.Framer().WriteGoAway(p.maxStreamID, p.code, nil) + ctx.Flush() // ignore error: we're hanging up on them anyway + return err +} + +func (*writeGoAway) staysWithinBuffer(max int) bool { return false } // flushes + +type writeData struct { + streamID uint32 + p []byte + endStream bool +} + +func (w *writeData) String() string { + return fmt.Sprintf("writeData(stream=%d, p=%d, endStream=%v)", w.streamID, len(w.p), w.endStream) +} + +func (w *writeData) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteData(w.streamID, w.endStream, w.p) +} + +func (w *writeData) staysWithinBuffer(max int) bool { + return frameHeaderLen+len(w.p) <= max +} + +// handlerPanicRST is the message sent from handler goroutines when +// the handler panics. +type handlerPanicRST struct { + StreamID uint32 +} + +func (hp handlerPanicRST) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteRSTStream(hp.StreamID, ErrCodeInternal) +} + +func (hp handlerPanicRST) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max } + +func (se StreamError) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteRSTStream(se.StreamID, se.Code) +} + +func (se StreamError) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max } + +type writePingAck struct{ pf *PingFrame } + +func (w writePingAck) writeFrame(ctx writeContext) error { + return ctx.Framer().WritePing(true, w.pf.Data) +} + +func (w writePingAck) staysWithinBuffer(max int) bool { return frameHeaderLen+len(w.pf.Data) <= max } + +type writeSettingsAck struct{} + +func (writeSettingsAck) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteSettingsAck() +} + +func (writeSettingsAck) staysWithinBuffer(max int) bool { return frameHeaderLen <= max } + +// splitHeaderBlock splits headerBlock into fragments so that each fragment fits +// in a single frame, then calls fn for each fragment. firstFrag/lastFrag are true +// for the first/last fragment, respectively. +func splitHeaderBlock(ctx writeContext, headerBlock []byte, fn func(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error) error { + // For now we're lazy and just pick the minimum MAX_FRAME_SIZE + // that all peers must support (16KB). Later we could care + // more and send larger frames if the peer advertised it, but + // there's little point. Most headers are small anyway (so we + // generally won't have CONTINUATION frames), and extra frames + // only waste 9 bytes anyway. + const maxFrameSize = 16384 + + first := true + for len(headerBlock) > 0 { + frag := headerBlock + if len(frag) > maxFrameSize { + frag = frag[:maxFrameSize] + } + headerBlock = headerBlock[len(frag):] + if err := fn(ctx, frag, first, len(headerBlock) == 0); err != nil { + return err + } + first = false + } + return nil +} + +// writeResHeaders is a request to write a HEADERS and 0+ CONTINUATION frames +// for HTTP response headers or trailers from a server handler. +type writeResHeaders struct { + streamID uint32 + httpResCode int // 0 means no ":status" line + h http.Header // may be nil + trailers []string // if non-nil, which keys of h to write. nil means all. + endStream bool + + date string + contentType string + contentLength string +} + +func encKV(enc *hpack.Encoder, k, v string) { + if VerboseLogs { + log.Printf("http2: server encoding header %q = %q", k, v) + } + enc.WriteField(hpack.HeaderField{Name: k, Value: v}) +} + +func (w *writeResHeaders) staysWithinBuffer(max int) bool { + // TODO: this is a common one. It'd be nice to return true + // here and get into the fast path if we could be clever and + // calculate the size fast enough, or at least a conservative + // upper bound that usually fires. (Maybe if w.h and + // w.trailers are nil, so we don't need to enumerate it.) + // Otherwise I'm afraid that just calculating the length to + // answer this question would be slower than the ~2µs benefit. + return false +} + +func (w *writeResHeaders) writeFrame(ctx writeContext) error { + enc, buf := ctx.HeaderEncoder() + buf.Reset() + + if w.httpResCode != 0 { + encKV(enc, ":status", httpCodeString(w.httpResCode)) + } + + encodeHeaders(enc, w.h, w.trailers) + + if w.contentType != "" { + encKV(enc, "content-type", w.contentType) + } + if w.contentLength != "" { + encKV(enc, "content-length", w.contentLength) + } + if w.date != "" { + encKV(enc, "date", w.date) + } + + headerBlock := buf.Bytes() + if len(headerBlock) == 0 && w.trailers == nil { + panic("unexpected empty hpack") + } + + return splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock) +} + +func (w *writeResHeaders) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error { + if firstFrag { + return ctx.Framer().WriteHeaders(HeadersFrameParam{ + StreamID: w.streamID, + BlockFragment: frag, + EndStream: w.endStream, + EndHeaders: lastFrag, + }) + } else { + return ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag) + } +} + +// writePushPromise is a request to write a PUSH_PROMISE and 0+ CONTINUATION frames. +type writePushPromise struct { + streamID uint32 // pusher stream + method string // for :method + url *url.URL // for :scheme, :authority, :path + h http.Header + + // Creates an ID for a pushed stream. This runs on serveG just before + // the frame is written. The returned ID is copied to promisedID. + allocatePromisedID func() (uint32, error) + promisedID uint32 +} + +func (w *writePushPromise) staysWithinBuffer(max int) bool { + // TODO: see writeResHeaders.staysWithinBuffer + return false +} + +func (w *writePushPromise) writeFrame(ctx writeContext) error { + enc, buf := ctx.HeaderEncoder() + buf.Reset() + + encKV(enc, ":method", w.method) + encKV(enc, ":scheme", w.url.Scheme) + encKV(enc, ":authority", w.url.Host) + encKV(enc, ":path", w.url.RequestURI()) + encodeHeaders(enc, w.h, nil) + + headerBlock := buf.Bytes() + if len(headerBlock) == 0 { + panic("unexpected empty hpack") + } + + return splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock) +} + +func (w *writePushPromise) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error { + if firstFrag { + return ctx.Framer().WritePushPromise(PushPromiseParam{ + StreamID: w.streamID, + PromiseID: w.promisedID, + BlockFragment: frag, + EndHeaders: lastFrag, + }) + } else { + return ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag) + } +} + +type write100ContinueHeadersFrame struct { + streamID uint32 +} + +func (w write100ContinueHeadersFrame) writeFrame(ctx writeContext) error { + enc, buf := ctx.HeaderEncoder() + buf.Reset() + encKV(enc, ":status", "100") + return ctx.Framer().WriteHeaders(HeadersFrameParam{ + StreamID: w.streamID, + BlockFragment: buf.Bytes(), + EndStream: false, + EndHeaders: true, + }) +} + +func (w write100ContinueHeadersFrame) staysWithinBuffer(max int) bool { + // Sloppy but conservative: + return 9+2*(len(":status")+len("100")) <= max +} + +type writeWindowUpdate struct { + streamID uint32 // or 0 for conn-level + n uint32 +} + +func (wu writeWindowUpdate) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max } + +func (wu writeWindowUpdate) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteWindowUpdate(wu.streamID, wu.n) +} + +// encodeHeaders encodes an http.Header. If keys is not nil, then (k, h[k]) +// is encoded only if k is in keys. +func encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) { + if keys == nil { + sorter := sorterPool.Get().(*sorter) + // Using defer here, since the returned keys from the + // sorter.Keys method is only valid until the sorter + // is returned: + defer sorterPool.Put(sorter) + keys = sorter.Keys(h) + } + for _, k := range keys { + vv := h[k] + k = lowerHeader(k) + if !validWireHeaderFieldName(k) { + // Skip it as backup paranoia. Per + // golang.org/issue/14048, these should + // already be rejected at a higher level. + continue + } + isTE := k == "transfer-encoding" + for _, v := range vv { + if !httpguts.ValidHeaderFieldValue(v) { + // TODO: return an error? golang.org/issue/14048 + // For now just omit it. + continue + } + // TODO: more of "8.1.2.2 Connection-Specific Header Fields" + if isTE && v != "trailers" { + continue + } + encKV(enc, k, v) + } + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched.go new file mode 100644 index 0000000..f24d2b1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched.go @@ -0,0 +1,248 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import "fmt" + +// WriteScheduler is the interface implemented by HTTP/2 write schedulers. +// Methods are never called concurrently. +type WriteScheduler interface { + // OpenStream opens a new stream in the write scheduler. + // It is illegal to call this with streamID=0 or with a streamID that is + // already open -- the call may panic. + OpenStream(streamID uint32, options OpenStreamOptions) + + // CloseStream closes a stream in the write scheduler. Any frames queued on + // this stream should be discarded. It is illegal to call this on a stream + // that is not open -- the call may panic. + CloseStream(streamID uint32) + + // AdjustStream adjusts the priority of the given stream. This may be called + // on a stream that has not yet been opened or has been closed. Note that + // RFC 7540 allows PRIORITY frames to be sent on streams in any state. See: + // https://tools.ietf.org/html/rfc7540#section-5.1 + AdjustStream(streamID uint32, priority PriorityParam) + + // Push queues a frame in the scheduler. In most cases, this will not be + // called with wr.StreamID()!=0 unless that stream is currently open. The one + // exception is RST_STREAM frames, which may be sent on idle or closed streams. + Push(wr FrameWriteRequest) + + // Pop dequeues the next frame to write. Returns false if no frames can + // be written. Frames with a given wr.StreamID() are Pop'd in the same + // order they are Push'd. No frames should be discarded except by CloseStream. + Pop() (wr FrameWriteRequest, ok bool) +} + +// OpenStreamOptions specifies extra options for WriteScheduler.OpenStream. +type OpenStreamOptions struct { + // PusherID is zero if the stream was initiated by the client. Otherwise, + // PusherID names the stream that pushed the newly opened stream. + PusherID uint32 +} + +// FrameWriteRequest is a request to write a frame. +type FrameWriteRequest struct { + // write is the interface value that does the writing, once the + // WriteScheduler has selected this frame to write. The write + // functions are all defined in write.go. + write writeFramer + + // stream is the stream on which this frame will be written. + // nil for non-stream frames like PING and SETTINGS. + stream *stream + + // done, if non-nil, must be a buffered channel with space for + // 1 message and is sent the return value from write (or an + // earlier error) when the frame has been written. + done chan error +} + +// StreamID returns the id of the stream this frame will be written to. +// 0 is used for non-stream frames such as PING and SETTINGS. +func (wr FrameWriteRequest) StreamID() uint32 { + if wr.stream == nil { + if se, ok := wr.write.(StreamError); ok { + // (*serverConn).resetStream doesn't set + // stream because it doesn't necessarily have + // one. So special case this type of write + // message. + return se.StreamID + } + return 0 + } + return wr.stream.id +} + +// isControl reports whether wr is a control frame for MaxQueuedControlFrames +// purposes. That includes non-stream frames and RST_STREAM frames. +func (wr FrameWriteRequest) isControl() bool { + return wr.stream == nil +} + +// DataSize returns the number of flow control bytes that must be consumed +// to write this entire frame. This is 0 for non-DATA frames. +func (wr FrameWriteRequest) DataSize() int { + if wd, ok := wr.write.(*writeData); ok { + return len(wd.p) + } + return 0 +} + +// Consume consumes min(n, available) bytes from this frame, where available +// is the number of flow control bytes available on the stream. Consume returns +// 0, 1, or 2 frames, where the integer return value gives the number of frames +// returned. +// +// If flow control prevents consuming any bytes, this returns (_, _, 0). If +// the entire frame was consumed, this returns (wr, _, 1). Otherwise, this +// returns (consumed, rest, 2), where 'consumed' contains the consumed bytes and +// 'rest' contains the remaining bytes. The consumed bytes are deducted from the +// underlying stream's flow control budget. +func (wr FrameWriteRequest) Consume(n int32) (FrameWriteRequest, FrameWriteRequest, int) { + var empty FrameWriteRequest + + // Non-DATA frames are always consumed whole. + wd, ok := wr.write.(*writeData) + if !ok || len(wd.p) == 0 { + return wr, empty, 1 + } + + // Might need to split after applying limits. + allowed := wr.stream.flow.available() + if n < allowed { + allowed = n + } + if wr.stream.sc.maxFrameSize < allowed { + allowed = wr.stream.sc.maxFrameSize + } + if allowed <= 0 { + return empty, empty, 0 + } + if len(wd.p) > int(allowed) { + wr.stream.flow.take(allowed) + consumed := FrameWriteRequest{ + stream: wr.stream, + write: &writeData{ + streamID: wd.streamID, + p: wd.p[:allowed], + // Even if the original had endStream set, there + // are bytes remaining because len(wd.p) > allowed, + // so we know endStream is false. + endStream: false, + }, + // Our caller is blocking on the final DATA frame, not + // this intermediate frame, so no need to wait. + done: nil, + } + rest := FrameWriteRequest{ + stream: wr.stream, + write: &writeData{ + streamID: wd.streamID, + p: wd.p[allowed:], + endStream: wd.endStream, + }, + done: wr.done, + } + return consumed, rest, 2 + } + + // The frame is consumed whole. + // NB: This cast cannot overflow because allowed is <= math.MaxInt32. + wr.stream.flow.take(int32(len(wd.p))) + return wr, empty, 1 +} + +// String is for debugging only. +func (wr FrameWriteRequest) String() string { + var des string + if s, ok := wr.write.(fmt.Stringer); ok { + des = s.String() + } else { + des = fmt.Sprintf("%T", wr.write) + } + return fmt.Sprintf("[FrameWriteRequest stream=%d, ch=%v, writer=%v]", wr.StreamID(), wr.done != nil, des) +} + +// replyToWriter sends err to wr.done and panics if the send must block +// This does nothing if wr.done is nil. +func (wr *FrameWriteRequest) replyToWriter(err error) { + if wr.done == nil { + return + } + select { + case wr.done <- err: + default: + panic(fmt.Sprintf("unbuffered done channel passed in for type %T", wr.write)) + } + wr.write = nil // prevent use (assume it's tainted after wr.done send) +} + +// writeQueue is used by implementations of WriteScheduler. +type writeQueue struct { + s []FrameWriteRequest +} + +func (q *writeQueue) empty() bool { return len(q.s) == 0 } + +func (q *writeQueue) push(wr FrameWriteRequest) { + q.s = append(q.s, wr) +} + +func (q *writeQueue) shift() FrameWriteRequest { + if len(q.s) == 0 { + panic("invalid use of queue") + } + wr := q.s[0] + // TODO: less copy-happy queue. + copy(q.s, q.s[1:]) + q.s[len(q.s)-1] = FrameWriteRequest{} + q.s = q.s[:len(q.s)-1] + return wr +} + +// consume consumes up to n bytes from q.s[0]. If the frame is +// entirely consumed, it is removed from the queue. If the frame +// is partially consumed, the frame is kept with the consumed +// bytes removed. Returns true iff any bytes were consumed. +func (q *writeQueue) consume(n int32) (FrameWriteRequest, bool) { + if len(q.s) == 0 { + return FrameWriteRequest{}, false + } + consumed, rest, numresult := q.s[0].Consume(n) + switch numresult { + case 0: + return FrameWriteRequest{}, false + case 1: + q.shift() + case 2: + q.s[0] = rest + } + return consumed, true +} + +type writeQueuePool []*writeQueue + +// put inserts an unused writeQueue into the pool. +func (p *writeQueuePool) put(q *writeQueue) { + for i := range q.s { + q.s[i] = FrameWriteRequest{} + } + q.s = q.s[:0] + *p = append(*p, q) +} + +// get returns an empty writeQueue. +func (p *writeQueuePool) get() *writeQueue { + ln := len(*p) + if ln == 0 { + return new(writeQueue) + } + x := ln - 1 + q := (*p)[x] + (*p)[x] = nil + *p = (*p)[:x] + return q +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_priority.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_priority.go new file mode 100644 index 0000000..848fed6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_priority.go @@ -0,0 +1,452 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "fmt" + "math" + "sort" +) + +// RFC 7540, Section 5.3.5: the default weight is 16. +const priorityDefaultWeight = 15 // 16 = 15 + 1 + +// PriorityWriteSchedulerConfig configures a priorityWriteScheduler. +type PriorityWriteSchedulerConfig struct { + // MaxClosedNodesInTree controls the maximum number of closed streams to + // retain in the priority tree. Setting this to zero saves a small amount + // of memory at the cost of performance. + // + // See RFC 7540, Section 5.3.4: + // "It is possible for a stream to become closed while prioritization + // information ... is in transit. ... This potentially creates suboptimal + // prioritization, since the stream could be given a priority that is + // different from what is intended. To avoid these problems, an endpoint + // SHOULD retain stream prioritization state for a period after streams + // become closed. The longer state is retained, the lower the chance that + // streams are assigned incorrect or default priority values." + MaxClosedNodesInTree int + + // MaxIdleNodesInTree controls the maximum number of idle streams to + // retain in the priority tree. Setting this to zero saves a small amount + // of memory at the cost of performance. + // + // See RFC 7540, Section 5.3.4: + // Similarly, streams that are in the "idle" state can be assigned + // priority or become a parent of other streams. This allows for the + // creation of a grouping node in the dependency tree, which enables + // more flexible expressions of priority. Idle streams begin with a + // default priority (Section 5.3.5). + MaxIdleNodesInTree int + + // ThrottleOutOfOrderWrites enables write throttling to help ensure that + // data is delivered in priority order. This works around a race where + // stream B depends on stream A and both streams are about to call Write + // to queue DATA frames. If B wins the race, a naive scheduler would eagerly + // write as much data from B as possible, but this is suboptimal because A + // is a higher-priority stream. With throttling enabled, we write a small + // amount of data from B to minimize the amount of bandwidth that B can + // steal from A. + ThrottleOutOfOrderWrites bool +} + +// NewPriorityWriteScheduler constructs a WriteScheduler that schedules +// frames by following HTTP/2 priorities as described in RFC 7540 Section 5.3. +// If cfg is nil, default options are used. +func NewPriorityWriteScheduler(cfg *PriorityWriteSchedulerConfig) WriteScheduler { + if cfg == nil { + // For justification of these defaults, see: + // https://docs.google.com/document/d/1oLhNg1skaWD4_DtaoCxdSRN5erEXrH-KnLrMwEpOtFY + cfg = &PriorityWriteSchedulerConfig{ + MaxClosedNodesInTree: 10, + MaxIdleNodesInTree: 10, + ThrottleOutOfOrderWrites: false, + } + } + + ws := &priorityWriteScheduler{ + nodes: make(map[uint32]*priorityNode), + maxClosedNodesInTree: cfg.MaxClosedNodesInTree, + maxIdleNodesInTree: cfg.MaxIdleNodesInTree, + enableWriteThrottle: cfg.ThrottleOutOfOrderWrites, + } + ws.nodes[0] = &ws.root + if cfg.ThrottleOutOfOrderWrites { + ws.writeThrottleLimit = 1024 + } else { + ws.writeThrottleLimit = math.MaxInt32 + } + return ws +} + +type priorityNodeState int + +const ( + priorityNodeOpen priorityNodeState = iota + priorityNodeClosed + priorityNodeIdle +) + +// priorityNode is a node in an HTTP/2 priority tree. +// Each node is associated with a single stream ID. +// See RFC 7540, Section 5.3. +type priorityNode struct { + q writeQueue // queue of pending frames to write + id uint32 // id of the stream, or 0 for the root of the tree + weight uint8 // the actual weight is weight+1, so the value is in [1,256] + state priorityNodeState // open | closed | idle + bytes int64 // number of bytes written by this node, or 0 if closed + subtreeBytes int64 // sum(node.bytes) of all nodes in this subtree + + // These links form the priority tree. + parent *priorityNode + kids *priorityNode // start of the kids list + prev, next *priorityNode // doubly-linked list of siblings +} + +func (n *priorityNode) setParent(parent *priorityNode) { + if n == parent { + panic("setParent to self") + } + if n.parent == parent { + return + } + // Unlink from current parent. + if parent := n.parent; parent != nil { + if n.prev == nil { + parent.kids = n.next + } else { + n.prev.next = n.next + } + if n.next != nil { + n.next.prev = n.prev + } + } + // Link to new parent. + // If parent=nil, remove n from the tree. + // Always insert at the head of parent.kids (this is assumed by walkReadyInOrder). + n.parent = parent + if parent == nil { + n.next = nil + n.prev = nil + } else { + n.next = parent.kids + n.prev = nil + if n.next != nil { + n.next.prev = n + } + parent.kids = n + } +} + +func (n *priorityNode) addBytes(b int64) { + n.bytes += b + for ; n != nil; n = n.parent { + n.subtreeBytes += b + } +} + +// walkReadyInOrder iterates over the tree in priority order, calling f for each node +// with a non-empty write queue. When f returns true, this funcion returns true and the +// walk halts. tmp is used as scratch space for sorting. +// +// f(n, openParent) takes two arguments: the node to visit, n, and a bool that is true +// if any ancestor p of n is still open (ignoring the root node). +func (n *priorityNode) walkReadyInOrder(openParent bool, tmp *[]*priorityNode, f func(*priorityNode, bool) bool) bool { + if !n.q.empty() && f(n, openParent) { + return true + } + if n.kids == nil { + return false + } + + // Don't consider the root "open" when updating openParent since + // we can't send data frames on the root stream (only control frames). + if n.id != 0 { + openParent = openParent || (n.state == priorityNodeOpen) + } + + // Common case: only one kid or all kids have the same weight. + // Some clients don't use weights; other clients (like web browsers) + // use mostly-linear priority trees. + w := n.kids.weight + needSort := false + for k := n.kids.next; k != nil; k = k.next { + if k.weight != w { + needSort = true + break + } + } + if !needSort { + for k := n.kids; k != nil; k = k.next { + if k.walkReadyInOrder(openParent, tmp, f) { + return true + } + } + return false + } + + // Uncommon case: sort the child nodes. We remove the kids from the parent, + // then re-insert after sorting so we can reuse tmp for future sort calls. + *tmp = (*tmp)[:0] + for n.kids != nil { + *tmp = append(*tmp, n.kids) + n.kids.setParent(nil) + } + sort.Sort(sortPriorityNodeSiblings(*tmp)) + for i := len(*tmp) - 1; i >= 0; i-- { + (*tmp)[i].setParent(n) // setParent inserts at the head of n.kids + } + for k := n.kids; k != nil; k = k.next { + if k.walkReadyInOrder(openParent, tmp, f) { + return true + } + } + return false +} + +type sortPriorityNodeSiblings []*priorityNode + +func (z sortPriorityNodeSiblings) Len() int { return len(z) } +func (z sortPriorityNodeSiblings) Swap(i, k int) { z[i], z[k] = z[k], z[i] } +func (z sortPriorityNodeSiblings) Less(i, k int) bool { + // Prefer the subtree that has sent fewer bytes relative to its weight. + // See sections 5.3.2 and 5.3.4. + wi, bi := float64(z[i].weight+1), float64(z[i].subtreeBytes) + wk, bk := float64(z[k].weight+1), float64(z[k].subtreeBytes) + if bi == 0 && bk == 0 { + return wi >= wk + } + if bk == 0 { + return false + } + return bi/bk <= wi/wk +} + +type priorityWriteScheduler struct { + // root is the root of the priority tree, where root.id = 0. + // The root queues control frames that are not associated with any stream. + root priorityNode + + // nodes maps stream ids to priority tree nodes. + nodes map[uint32]*priorityNode + + // maxID is the maximum stream id in nodes. + maxID uint32 + + // lists of nodes that have been closed or are idle, but are kept in + // the tree for improved prioritization. When the lengths exceed either + // maxClosedNodesInTree or maxIdleNodesInTree, old nodes are discarded. + closedNodes, idleNodes []*priorityNode + + // From the config. + maxClosedNodesInTree int + maxIdleNodesInTree int + writeThrottleLimit int32 + enableWriteThrottle bool + + // tmp is scratch space for priorityNode.walkReadyInOrder to reduce allocations. + tmp []*priorityNode + + // pool of empty queues for reuse. + queuePool writeQueuePool +} + +func (ws *priorityWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) { + // The stream may be currently idle but cannot be opened or closed. + if curr := ws.nodes[streamID]; curr != nil { + if curr.state != priorityNodeIdle { + panic(fmt.Sprintf("stream %d already opened", streamID)) + } + curr.state = priorityNodeOpen + return + } + + // RFC 7540, Section 5.3.5: + // "All streams are initially assigned a non-exclusive dependency on stream 0x0. + // Pushed streams initially depend on their associated stream. In both cases, + // streams are assigned a default weight of 16." + parent := ws.nodes[options.PusherID] + if parent == nil { + parent = &ws.root + } + n := &priorityNode{ + q: *ws.queuePool.get(), + id: streamID, + weight: priorityDefaultWeight, + state: priorityNodeOpen, + } + n.setParent(parent) + ws.nodes[streamID] = n + if streamID > ws.maxID { + ws.maxID = streamID + } +} + +func (ws *priorityWriteScheduler) CloseStream(streamID uint32) { + if streamID == 0 { + panic("violation of WriteScheduler interface: cannot close stream 0") + } + if ws.nodes[streamID] == nil { + panic(fmt.Sprintf("violation of WriteScheduler interface: unknown stream %d", streamID)) + } + if ws.nodes[streamID].state != priorityNodeOpen { + panic(fmt.Sprintf("violation of WriteScheduler interface: stream %d already closed", streamID)) + } + + n := ws.nodes[streamID] + n.state = priorityNodeClosed + n.addBytes(-n.bytes) + + q := n.q + ws.queuePool.put(&q) + n.q.s = nil + if ws.maxClosedNodesInTree > 0 { + ws.addClosedOrIdleNode(&ws.closedNodes, ws.maxClosedNodesInTree, n) + } else { + ws.removeNode(n) + } +} + +func (ws *priorityWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) { + if streamID == 0 { + panic("adjustPriority on root") + } + + // If streamID does not exist, there are two cases: + // - A closed stream that has been removed (this will have ID <= maxID) + // - An idle stream that is being used for "grouping" (this will have ID > maxID) + n := ws.nodes[streamID] + if n == nil { + if streamID <= ws.maxID || ws.maxIdleNodesInTree == 0 { + return + } + ws.maxID = streamID + n = &priorityNode{ + q: *ws.queuePool.get(), + id: streamID, + weight: priorityDefaultWeight, + state: priorityNodeIdle, + } + n.setParent(&ws.root) + ws.nodes[streamID] = n + ws.addClosedOrIdleNode(&ws.idleNodes, ws.maxIdleNodesInTree, n) + } + + // Section 5.3.1: A dependency on a stream that is not currently in the tree + // results in that stream being given a default priority (Section 5.3.5). + parent := ws.nodes[priority.StreamDep] + if parent == nil { + n.setParent(&ws.root) + n.weight = priorityDefaultWeight + return + } + + // Ignore if the client tries to make a node its own parent. + if n == parent { + return + } + + // Section 5.3.3: + // "If a stream is made dependent on one of its own dependencies, the + // formerly dependent stream is first moved to be dependent on the + // reprioritized stream's previous parent. The moved dependency retains + // its weight." + // + // That is: if parent depends on n, move parent to depend on n.parent. + for x := parent.parent; x != nil; x = x.parent { + if x == n { + parent.setParent(n.parent) + break + } + } + + // Section 5.3.3: The exclusive flag causes the stream to become the sole + // dependency of its parent stream, causing other dependencies to become + // dependent on the exclusive stream. + if priority.Exclusive { + k := parent.kids + for k != nil { + next := k.next + if k != n { + k.setParent(n) + } + k = next + } + } + + n.setParent(parent) + n.weight = priority.Weight +} + +func (ws *priorityWriteScheduler) Push(wr FrameWriteRequest) { + var n *priorityNode + if id := wr.StreamID(); id == 0 { + n = &ws.root + } else { + n = ws.nodes[id] + if n == nil { + // id is an idle or closed stream. wr should not be a HEADERS or + // DATA frame. However, wr can be a RST_STREAM. In this case, we + // push wr onto the root, rather than creating a new priorityNode, + // since RST_STREAM is tiny and the stream's priority is unknown + // anyway. See issue #17919. + if wr.DataSize() > 0 { + panic("add DATA on non-open stream") + } + n = &ws.root + } + } + n.q.push(wr) +} + +func (ws *priorityWriteScheduler) Pop() (wr FrameWriteRequest, ok bool) { + ws.root.walkReadyInOrder(false, &ws.tmp, func(n *priorityNode, openParent bool) bool { + limit := int32(math.MaxInt32) + if openParent { + limit = ws.writeThrottleLimit + } + wr, ok = n.q.consume(limit) + if !ok { + return false + } + n.addBytes(int64(wr.DataSize())) + // If B depends on A and B continuously has data available but A + // does not, gradually increase the throttling limit to allow B to + // steal more and more bandwidth from A. + if openParent { + ws.writeThrottleLimit += 1024 + if ws.writeThrottleLimit < 0 { + ws.writeThrottleLimit = math.MaxInt32 + } + } else if ws.enableWriteThrottle { + ws.writeThrottleLimit = 1024 + } + return true + }) + return wr, ok +} + +func (ws *priorityWriteScheduler) addClosedOrIdleNode(list *[]*priorityNode, maxSize int, n *priorityNode) { + if maxSize == 0 { + return + } + if len(*list) == maxSize { + // Remove the oldest node, then shift left. + ws.removeNode((*list)[0]) + x := (*list)[1:] + copy(*list, x) + *list = (*list)[:len(x)] + } + *list = append(*list, n) +} + +func (ws *priorityWriteScheduler) removeNode(n *priorityNode) { + for k := n.kids; k != nil; k = k.next { + k.setParent(n.parent) + } + n.setParent(nil) + delete(ws.nodes, n.id) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_random.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_random.go new file mode 100644 index 0000000..36d7919 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/http2/writesched_random.go @@ -0,0 +1,72 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import "math" + +// NewRandomWriteScheduler constructs a WriteScheduler that ignores HTTP/2 +// priorities. Control frames like SETTINGS and PING are written before DATA +// frames, but if no control frames are queued and multiple streams have queued +// HEADERS or DATA frames, Pop selects a ready stream arbitrarily. +func NewRandomWriteScheduler() WriteScheduler { + return &randomWriteScheduler{sq: make(map[uint32]*writeQueue)} +} + +type randomWriteScheduler struct { + // zero are frames not associated with a specific stream. + zero writeQueue + + // sq contains the stream-specific queues, keyed by stream ID. + // When a stream is idle or closed, it's deleted from the map. + sq map[uint32]*writeQueue + + // pool of empty queues for reuse. + queuePool writeQueuePool +} + +func (ws *randomWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) { + // no-op: idle streams are not tracked +} + +func (ws *randomWriteScheduler) CloseStream(streamID uint32) { + q, ok := ws.sq[streamID] + if !ok { + return + } + delete(ws.sq, streamID) + ws.queuePool.put(q) +} + +func (ws *randomWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) { + // no-op: priorities are ignored +} + +func (ws *randomWriteScheduler) Push(wr FrameWriteRequest) { + id := wr.StreamID() + if id == 0 { + ws.zero.push(wr) + return + } + q, ok := ws.sq[id] + if !ok { + q = ws.queuePool.get() + ws.sq[id] = q + } + q.push(wr) +} + +func (ws *randomWriteScheduler) Pop() (FrameWriteRequest, bool) { + // Control frames first. + if !ws.zero.empty() { + return ws.zero.shift(), true + } + // Iterate over all non-idle streams until finding one that can be consumed. + for _, q := range ws.sq { + if wr, ok := q.consume(math.MaxInt32); ok { + return wr, true + } + } + return FrameWriteRequest{}, false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna10.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna10.0.0.go new file mode 100644 index 0000000..a98a31f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna10.0.0.go @@ -0,0 +1,734 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.10 + +// Package idna implements IDNA2008 using the compatibility processing +// defined by UTS (Unicode Technical Standard) #46, which defines a standard to +// deal with the transition from IDNA2003. +// +// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC +// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894. +// UTS #46 is defined in https://www.unicode.org/reports/tr46. +// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the +// differences between these two standards. +package idna // import "golang.org/x/net/idna" + +import ( + "fmt" + "strings" + "unicode/utf8" + + "golang.org/x/text/secure/bidirule" + "golang.org/x/text/unicode/bidi" + "golang.org/x/text/unicode/norm" +) + +// NOTE: Unlike common practice in Go APIs, the functions will return a +// sanitized domain name in case of errors. Browsers sometimes use a partially +// evaluated string as lookup. +// TODO: the current error handling is, in my opinion, the least opinionated. +// Other strategies are also viable, though: +// Option 1) Return an empty string in case of error, but allow the user to +// specify explicitly which errors to ignore. +// Option 2) Return the partially evaluated string if it is itself a valid +// string, otherwise return the empty string in case of error. +// Option 3) Option 1 and 2. +// Option 4) Always return an empty string for now and implement Option 1 as +// needed, and document that the return string may not be empty in case of +// error in the future. +// I think Option 1 is best, but it is quite opinionated. + +// ToASCII is a wrapper for Punycode.ToASCII. +func ToASCII(s string) (string, error) { + return Punycode.process(s, true) +} + +// ToUnicode is a wrapper for Punycode.ToUnicode. +func ToUnicode(s string) (string, error) { + return Punycode.process(s, false) +} + +// An Option configures a Profile at creation time. +type Option func(*options) + +// Transitional sets a Profile to use the Transitional mapping as defined in UTS +// #46. This will cause, for example, "ß" to be mapped to "ss". Using the +// transitional mapping provides a compromise between IDNA2003 and IDNA2008 +// compatibility. It is used by most browsers when resolving domain names. This +// option is only meaningful if combined with MapForLookup. +func Transitional(transitional bool) Option { + return func(o *options) { o.transitional = true } +} + +// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts +// are longer than allowed by the RFC. +func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } +} + +// RemoveLeadingDots removes leading label separators. Leading runes that map to +// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well. +// +// This is the behavior suggested by the UTS #46 and is adopted by some +// browsers. +func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } +} + +// ValidateLabels sets whether to check the mandatory label validation criteria +// as defined in Section 5.4 of RFC 5891. This includes testing for correct use +// of hyphens ('-'), normalization, validity of runes, and the context rules. +func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks + // normalization if it is not set. + if o.mapping == nil && enable { + o.mapping = normalize + } + o.trie = trie + o.validateLabels = enable + o.fromPuny = validateFromPunycode + } +} + +// StrictDomainName limits the set of permissible ASCII characters to those +// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +// hyphen). This is set by default for MapForLookup and ValidateForRegistration. +// +// This option is useful, for instance, for browsers that allow characters +// outside this range, for example a '_' (U+005F LOW LINE). See +// http://www.rfc-editor.org/std/std3.txt for more details This option +// corresponds to the UseSTD3ASCIIRules option in UTS #46. +func StrictDomainName(use bool) Option { + return func(o *options) { + o.trie = trie + o.useSTD3Rules = use + o.fromPuny = validateFromPunycode + } +} + +// NOTE: the following options pull in tables. The tables should not be linked +// in as long as the options are not used. + +// BidiRule enables the Bidi rule as defined in RFC 5893. Any application +// that relies on proper validation of labels should include this rule. +func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } +} + +// ValidateForRegistration sets validation options to verify that a given IDN is +// properly formatted for registration as defined by Section 4 of RFC 5891. +func ValidateForRegistration() Option { + return func(o *options) { + o.mapping = validateRegistration + StrictDomainName(true)(o) + ValidateLabels(true)(o) + VerifyDNSLength(true)(o) + BidiRule()(o) + } +} + +// MapForLookup sets validation and mapping options such that a given IDN is +// transformed for domain name lookup according to the requirements set out in +// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894, +// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option +// to add this check. +// +// The mappings include normalization and mapping case, width and other +// compatibility mappings. +func MapForLookup() Option { + return func(o *options) { + o.mapping = validateAndMap + StrictDomainName(true)(o) + ValidateLabels(true)(o) + } +} + +type options struct { + transitional bool + useSTD3Rules bool + validateLabels bool + verifyDNSLength bool + removeLeadingDots bool + + trie *idnaTrie + + // fromPuny calls validation rules when converting A-labels to U-labels. + fromPuny func(p *Profile, s string) error + + // mapping implements a validation and mapping step as defined in RFC 5895 + // or UTS 46, tailored to, for example, domain registration or lookup. + mapping func(p *Profile, s string) (mapped string, isBidi bool, err error) + + // bidirule, if specified, checks whether s conforms to the Bidi Rule + // defined in RFC 5893. + bidirule func(s string) bool +} + +// A Profile defines the configuration of an IDNA mapper. +type Profile struct { + options +} + +func apply(o *options, opts []Option) { + for _, f := range opts { + f(o) + } +} + +// New creates a new Profile. +// +// With no options, the returned Profile is the most permissive and equals the +// Punycode Profile. Options can be passed to further restrict the Profile. The +// MapForLookup and ValidateForRegistration options set a collection of options, +// for lookup and registration purposes respectively, which can be tailored by +// adding more fine-grained options, where later options override earlier +// options. +func New(o ...Option) *Profile { + p := &Profile{} + apply(&p.options, o) + return p +} + +// ToASCII converts a domain or domain label to its ASCII form. For example, +// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and +// ToASCII("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToASCII(s string) (string, error) { + return p.process(s, true) +} + +// ToUnicode converts a domain or domain label to its Unicode form. For example, +// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and +// ToUnicode("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToUnicode(s string) (string, error) { + pp := *p + pp.transitional = false + return pp.process(s, false) +} + +// String reports a string with a description of the profile for debugging +// purposes. The string format may change with different versions. +func (p *Profile) String() string { + s := "" + if p.transitional { + s = "Transitional" + } else { + s = "NonTransitional" + } + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } + if p.validateLabels { + s += ":ValidateLabels" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" + } + return s +} + +var ( + // Punycode is a Profile that does raw punycode processing with a minimum + // of validation. + Punycode *Profile = punycode + + // Lookup is the recommended profile for looking up domain names, according + // to Section 5 of RFC 5891. The exact configuration of this profile may + // change over time. + Lookup *Profile = lookup + + // Display is the recommended profile for displaying domain names. + // The configuration of this profile may change over time. + Display *Profile = display + + // Registration is the recommended profile for checking whether a given + // IDN is valid for registration, according to Section 4 of RFC 5891. + Registration *Profile = registration + + punycode = &Profile{} + lookup = &Profile{options{ + transitional: true, + useSTD3Rules: true, + validateLabels: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + display = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + registration = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + verifyDNSLength: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, + bidirule: bidirule.ValidString, + }} + + // TODO: profiles + // Register: recommended for approving domain names: don't do any mappings + // but rather reject on invalid input. Bundle or block deviation characters. +) + +type labelError struct{ label, code_ string } + +func (e labelError) code() string { return e.code_ } +func (e labelError) Error() string { + return fmt.Sprintf("idna: invalid label %q", e.label) +} + +type runeError rune + +func (e runeError) code() string { return "P1" } +func (e runeError) Error() string { + return fmt.Sprintf("idna: disallowed rune %U", e) +} + +// process implements the algorithm described in section 4 of UTS #46, +// see https://www.unicode.org/reports/tr46. +func (p *Profile) process(s string, toASCII bool) (string, error) { + var err error + var isBidi bool + if p.mapping != nil { + s, isBidi, err = p.mapping(p, s) + } + // Remove leading empty labels. + if p.removeLeadingDots { + for ; len(s) > 0 && s[0] == '.'; s = s[1:] { + } + } + // TODO: allow for a quick check of the tables data. + // It seems like we should only create this error on ToASCII, but the + // UTS 46 conformance tests suggests we should always check this. + if err == nil && p.verifyDNSLength && s == "" { + err = &labelError{s, "A4"} + } + labels := labelIter{orig: s} + for ; !labels.done(); labels.next() { + label := labels.label() + if label == "" { + // Empty labels are not okay. The label iterator skips the last + // label if it is empty. + if err == nil && p.verifyDNSLength { + err = &labelError{s, "A4"} + } + continue + } + if strings.HasPrefix(label, acePrefix) { + u, err2 := decode(label[len(acePrefix):]) + if err2 != nil { + if err == nil { + err = err2 + } + // Spec says keep the old label. + continue + } + isBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight + labels.set(u) + if err == nil && p.validateLabels { + err = p.fromPuny(p, u) + } + if err == nil { + // This should be called on NonTransitional, according to the + // spec, but that currently does not have any effect. Use the + // original profile to preserve options. + err = p.validateLabel(u) + } + } else if err == nil { + err = p.validateLabel(label) + } + } + if isBidi && p.bidirule != nil && err == nil { + for labels.reset(); !labels.done(); labels.next() { + if !p.bidirule(labels.label()) { + err = &labelError{s, "B"} + break + } + } + } + if toASCII { + for labels.reset(); !labels.done(); labels.next() { + label := labels.label() + if !ascii(label) { + a, err2 := encode(acePrefix, label) + if err == nil { + err = err2 + } + label = a + labels.set(a) + } + n := len(label) + if p.verifyDNSLength && err == nil && (n == 0 || n > 63) { + err = &labelError{label, "A4"} + } + } + } + s = labels.result() + if toASCII && p.verifyDNSLength && err == nil { + // Compute the length of the domain name minus the root label and its dot. + n := len(s) + if n > 0 && s[n-1] == '.' { + n-- + } + if len(s) < 1 || n > 253 { + err = &labelError{s, "A4"} + } + } + return s, err +} + +func normalize(p *Profile, s string) (mapped string, isBidi bool, err error) { + // TODO: consider first doing a quick check to see if any of these checks + // need to be done. This will make it slower in the general case, but + // faster in the common case. + mapped = norm.NFC.String(s) + isBidi = bidirule.DirectionString(mapped) == bidi.RightToLeft + return mapped, isBidi, nil +} + +func validateRegistration(p *Profile, s string) (idem string, bidi bool, err error) { + // TODO: filter need for normalization in loop below. + if !norm.NFC.IsNormalString(s) { + return s, false, &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if sz == 0 { + return s, bidi, runeError(utf8.RuneError) + } + bidi = bidi || info(v).isBidi(s[i:]) + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + // TODO: handle the NV8 defined in the Unicode idna data set to allow + // for strict conformance to IDNA2008. + case valid, deviation: + case disallowed, mapped, unknown, ignored: + r, _ := utf8.DecodeRuneInString(s[i:]) + return s, bidi, runeError(r) + } + i += sz + } + return s, bidi, nil +} + +func (c info) isBidi(s string) bool { + if !c.isMapped() { + return c&attributesMask == rtl + } + // TODO: also store bidi info for mapped data. This is possible, but a bit + // cumbersome and not for the common case. + p, _ := bidi.LookupString(s) + switch p.Class() { + case bidi.R, bidi.AL, bidi.AN: + return true + } + return false +} + +func validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) { + var ( + b []byte + k int + ) + // combinedInfoBits contains the or-ed bits of all runes. We use this + // to derive the mayNeedNorm bit later. This may trigger normalization + // overeagerly, but it will not do so in the common case. The end result + // is another 10% saving on BenchmarkProfile for the common case. + var combinedInfoBits info + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if sz == 0 { + b = append(b, s[k:i]...) + b = append(b, "\ufffd"...) + k = len(s) + if err == nil { + err = runeError(utf8.RuneError) + } + break + } + combinedInfoBits |= info(v) + bidi = bidi || info(v).isBidi(s[i:]) + start := i + i += sz + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + case valid: + continue + case disallowed: + if err == nil { + r, _ := utf8.DecodeRuneInString(s[start:]) + err = runeError(r) + } + continue + case mapped, deviation: + b = append(b, s[k:start]...) + b = info(v).appendMapping(b, s[start:i]) + case ignored: + b = append(b, s[k:start]...) + // drop the rune + case unknown: + b = append(b, s[k:start]...) + b = append(b, "\ufffd"...) + } + k = i + } + if k == 0 { + // No changes so far. + if combinedInfoBits&mayNeedNorm != 0 { + s = norm.NFC.String(s) + } + } else { + b = append(b, s[k:]...) + if norm.NFC.QuickSpan(b) != len(b) { + b = norm.NFC.Bytes(b) + } + // TODO: the punycode converters require strings as input. + s = string(b) + } + return s, bidi, err +} + +// A labelIter allows iterating over domain name labels. +type labelIter struct { + orig string + slice []string + curStart int + curEnd int + i int +} + +func (l *labelIter) reset() { + l.curStart = 0 + l.curEnd = 0 + l.i = 0 +} + +func (l *labelIter) done() bool { + return l.curStart >= len(l.orig) +} + +func (l *labelIter) result() string { + if l.slice != nil { + return strings.Join(l.slice, ".") + } + return l.orig +} + +func (l *labelIter) label() string { + if l.slice != nil { + return l.slice[l.i] + } + p := strings.IndexByte(l.orig[l.curStart:], '.') + l.curEnd = l.curStart + p + if p == -1 { + l.curEnd = len(l.orig) + } + return l.orig[l.curStart:l.curEnd] +} + +// next sets the value to the next label. It skips the last label if it is empty. +func (l *labelIter) next() { + l.i++ + if l.slice != nil { + if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" { + l.curStart = len(l.orig) + } + } else { + l.curStart = l.curEnd + 1 + if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' { + l.curStart = len(l.orig) + } + } +} + +func (l *labelIter) set(s string) { + if l.slice == nil { + l.slice = strings.Split(l.orig, ".") + } + l.slice[l.i] = s +} + +// acePrefix is the ASCII Compatible Encoding prefix. +const acePrefix = "xn--" + +func (p *Profile) simplify(cat category) category { + switch cat { + case disallowedSTD3Mapped: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = mapped + } + case disallowedSTD3Valid: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = valid + } + case deviation: + if !p.transitional { + cat = valid + } + case validNV8, validXV8: + // TODO: handle V2008 + cat = valid + } + return cat +} + +func validateFromPunycode(p *Profile, s string) error { + if !norm.NFC.IsNormalString(s) { + return &labelError{s, "V1"} + } + // TODO: detect whether string may have to be normalized in the following + // loop. + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if sz == 0 { + return runeError(utf8.RuneError) + } + if c := p.simplify(info(v).category()); c != valid && c != deviation { + return &labelError{s, "V6"} + } + i += sz + } + return nil +} + +const ( + zwnj = "\u200c" + zwj = "\u200d" +) + +type joinState int8 + +const ( + stateStart joinState = iota + stateVirama + stateBefore + stateBeforeVirama + stateAfter + stateFAIL +) + +var joinStates = [][numJoinTypes]joinState{ + stateStart: { + joiningL: stateBefore, + joiningD: stateBefore, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateVirama, + }, + stateVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + }, + stateBefore: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + joinZWNJ: stateAfter, + joinZWJ: stateFAIL, + joinVirama: stateBeforeVirama, + }, + stateBeforeVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + }, + stateAfter: { + joiningL: stateFAIL, + joiningD: stateBefore, + joiningT: stateAfter, + joiningR: stateStart, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateAfter, // no-op as we can't accept joiners here + }, + stateFAIL: { + 0: stateFAIL, + joiningL: stateFAIL, + joiningD: stateFAIL, + joiningT: stateFAIL, + joiningR: stateFAIL, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateFAIL, + }, +} + +// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are +// already implicitly satisfied by the overall implementation. +func (p *Profile) validateLabel(s string) (err error) { + if s == "" { + if p.verifyDNSLength { + return &labelError{s, "A4"} + } + return nil + } + if !p.validateLabels { + return nil + } + trie := p.trie // p.validateLabels is only set if trie is set. + if len(s) > 4 && s[2] == '-' && s[3] == '-' { + return &labelError{s, "V2"} + } + if s[0] == '-' || s[len(s)-1] == '-' { + return &labelError{s, "V3"} + } + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) + if x.isModifier() { + return &labelError{s, "V5"} + } + // Quickly return in the absence of zero-width (non) joiners. + if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 { + return nil + } + st := stateStart + for i := 0; ; { + jt := x.joinType() + if s[i:i+sz] == zwj { + jt = joinZWJ + } else if s[i:i+sz] == zwnj { + jt = joinZWNJ + } + st = joinStates[st][jt] + if x.isViramaModifier() { + st = joinStates[st][joinVirama] + } + if i += sz; i == len(s) { + break + } + v, sz = trie.lookupString(s[i:]) + x = info(v) + } + if st == stateFAIL || st == stateAfter { + return &labelError{s, "C"} + } + return nil +} + +func ascii(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna9.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna9.0.0.go new file mode 100644 index 0000000..8842146 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/idna9.0.0.go @@ -0,0 +1,682 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.10 + +// Package idna implements IDNA2008 using the compatibility processing +// defined by UTS (Unicode Technical Standard) #46, which defines a standard to +// deal with the transition from IDNA2003. +// +// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC +// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894. +// UTS #46 is defined in https://www.unicode.org/reports/tr46. +// See https://unicode.org/cldr/utility/idna.jsp for a visualization of the +// differences between these two standards. +package idna // import "golang.org/x/net/idna" + +import ( + "fmt" + "strings" + "unicode/utf8" + + "golang.org/x/text/secure/bidirule" + "golang.org/x/text/unicode/norm" +) + +// NOTE: Unlike common practice in Go APIs, the functions will return a +// sanitized domain name in case of errors. Browsers sometimes use a partially +// evaluated string as lookup. +// TODO: the current error handling is, in my opinion, the least opinionated. +// Other strategies are also viable, though: +// Option 1) Return an empty string in case of error, but allow the user to +// specify explicitly which errors to ignore. +// Option 2) Return the partially evaluated string if it is itself a valid +// string, otherwise return the empty string in case of error. +// Option 3) Option 1 and 2. +// Option 4) Always return an empty string for now and implement Option 1 as +// needed, and document that the return string may not be empty in case of +// error in the future. +// I think Option 1 is best, but it is quite opinionated. + +// ToASCII is a wrapper for Punycode.ToASCII. +func ToASCII(s string) (string, error) { + return Punycode.process(s, true) +} + +// ToUnicode is a wrapper for Punycode.ToUnicode. +func ToUnicode(s string) (string, error) { + return Punycode.process(s, false) +} + +// An Option configures a Profile at creation time. +type Option func(*options) + +// Transitional sets a Profile to use the Transitional mapping as defined in UTS +// #46. This will cause, for example, "ß" to be mapped to "ss". Using the +// transitional mapping provides a compromise between IDNA2003 and IDNA2008 +// compatibility. It is used by most browsers when resolving domain names. This +// option is only meaningful if combined with MapForLookup. +func Transitional(transitional bool) Option { + return func(o *options) { o.transitional = true } +} + +// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts +// are longer than allowed by the RFC. +func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } +} + +// RemoveLeadingDots removes leading label separators. Leading runes that map to +// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well. +// +// This is the behavior suggested by the UTS #46 and is adopted by some +// browsers. +func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } +} + +// ValidateLabels sets whether to check the mandatory label validation criteria +// as defined in Section 5.4 of RFC 5891. This includes testing for correct use +// of hyphens ('-'), normalization, validity of runes, and the context rules. +func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks + // normalization if it is not set. + if o.mapping == nil && enable { + o.mapping = normalize + } + o.trie = trie + o.validateLabels = enable + o.fromPuny = validateFromPunycode + } +} + +// StrictDomainName limits the set of permissable ASCII characters to those +// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +// hyphen). This is set by default for MapForLookup and ValidateForRegistration. +// +// This option is useful, for instance, for browsers that allow characters +// outside this range, for example a '_' (U+005F LOW LINE). See +// http://www.rfc-editor.org/std/std3.txt for more details This option +// corresponds to the UseSTD3ASCIIRules option in UTS #46. +func StrictDomainName(use bool) Option { + return func(o *options) { + o.trie = trie + o.useSTD3Rules = use + o.fromPuny = validateFromPunycode + } +} + +// NOTE: the following options pull in tables. The tables should not be linked +// in as long as the options are not used. + +// BidiRule enables the Bidi rule as defined in RFC 5893. Any application +// that relies on proper validation of labels should include this rule. +func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } +} + +// ValidateForRegistration sets validation options to verify that a given IDN is +// properly formatted for registration as defined by Section 4 of RFC 5891. +func ValidateForRegistration() Option { + return func(o *options) { + o.mapping = validateRegistration + StrictDomainName(true)(o) + ValidateLabels(true)(o) + VerifyDNSLength(true)(o) + BidiRule()(o) + } +} + +// MapForLookup sets validation and mapping options such that a given IDN is +// transformed for domain name lookup according to the requirements set out in +// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894, +// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option +// to add this check. +// +// The mappings include normalization and mapping case, width and other +// compatibility mappings. +func MapForLookup() Option { + return func(o *options) { + o.mapping = validateAndMap + StrictDomainName(true)(o) + ValidateLabels(true)(o) + RemoveLeadingDots(true)(o) + } +} + +type options struct { + transitional bool + useSTD3Rules bool + validateLabels bool + verifyDNSLength bool + removeLeadingDots bool + + trie *idnaTrie + + // fromPuny calls validation rules when converting A-labels to U-labels. + fromPuny func(p *Profile, s string) error + + // mapping implements a validation and mapping step as defined in RFC 5895 + // or UTS 46, tailored to, for example, domain registration or lookup. + mapping func(p *Profile, s string) (string, error) + + // bidirule, if specified, checks whether s conforms to the Bidi Rule + // defined in RFC 5893. + bidirule func(s string) bool +} + +// A Profile defines the configuration of a IDNA mapper. +type Profile struct { + options +} + +func apply(o *options, opts []Option) { + for _, f := range opts { + f(o) + } +} + +// New creates a new Profile. +// +// With no options, the returned Profile is the most permissive and equals the +// Punycode Profile. Options can be passed to further restrict the Profile. The +// MapForLookup and ValidateForRegistration options set a collection of options, +// for lookup and registration purposes respectively, which can be tailored by +// adding more fine-grained options, where later options override earlier +// options. +func New(o ...Option) *Profile { + p := &Profile{} + apply(&p.options, o) + return p +} + +// ToASCII converts a domain or domain label to its ASCII form. For example, +// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and +// ToASCII("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToASCII(s string) (string, error) { + return p.process(s, true) +} + +// ToUnicode converts a domain or domain label to its Unicode form. For example, +// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and +// ToUnicode("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToUnicode(s string) (string, error) { + pp := *p + pp.transitional = false + return pp.process(s, false) +} + +// String reports a string with a description of the profile for debugging +// purposes. The string format may change with different versions. +func (p *Profile) String() string { + s := "" + if p.transitional { + s = "Transitional" + } else { + s = "NonTransitional" + } + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } + if p.validateLabels { + s += ":ValidateLabels" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" + } + return s +} + +var ( + // Punycode is a Profile that does raw punycode processing with a minimum + // of validation. + Punycode *Profile = punycode + + // Lookup is the recommended profile for looking up domain names, according + // to Section 5 of RFC 5891. The exact configuration of this profile may + // change over time. + Lookup *Profile = lookup + + // Display is the recommended profile for displaying domain names. + // The configuration of this profile may change over time. + Display *Profile = display + + // Registration is the recommended profile for checking whether a given + // IDN is valid for registration, according to Section 4 of RFC 5891. + Registration *Profile = registration + + punycode = &Profile{} + lookup = &Profile{options{ + transitional: true, + useSTD3Rules: true, + validateLabels: true, + removeLeadingDots: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + display = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + removeLeadingDots: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + registration = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + verifyDNSLength: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, + bidirule: bidirule.ValidString, + }} + + // TODO: profiles + // Register: recommended for approving domain names: don't do any mappings + // but rather reject on invalid input. Bundle or block deviation characters. +) + +type labelError struct{ label, code_ string } + +func (e labelError) code() string { return e.code_ } +func (e labelError) Error() string { + return fmt.Sprintf("idna: invalid label %q", e.label) +} + +type runeError rune + +func (e runeError) code() string { return "P1" } +func (e runeError) Error() string { + return fmt.Sprintf("idna: disallowed rune %U", e) +} + +// process implements the algorithm described in section 4 of UTS #46, +// see https://www.unicode.org/reports/tr46. +func (p *Profile) process(s string, toASCII bool) (string, error) { + var err error + if p.mapping != nil { + s, err = p.mapping(p, s) + } + // Remove leading empty labels. + if p.removeLeadingDots { + for ; len(s) > 0 && s[0] == '.'; s = s[1:] { + } + } + // It seems like we should only create this error on ToASCII, but the + // UTS 46 conformance tests suggests we should always check this. + if err == nil && p.verifyDNSLength && s == "" { + err = &labelError{s, "A4"} + } + labels := labelIter{orig: s} + for ; !labels.done(); labels.next() { + label := labels.label() + if label == "" { + // Empty labels are not okay. The label iterator skips the last + // label if it is empty. + if err == nil && p.verifyDNSLength { + err = &labelError{s, "A4"} + } + continue + } + if strings.HasPrefix(label, acePrefix) { + u, err2 := decode(label[len(acePrefix):]) + if err2 != nil { + if err == nil { + err = err2 + } + // Spec says keep the old label. + continue + } + labels.set(u) + if err == nil && p.validateLabels { + err = p.fromPuny(p, u) + } + if err == nil { + // This should be called on NonTransitional, according to the + // spec, but that currently does not have any effect. Use the + // original profile to preserve options. + err = p.validateLabel(u) + } + } else if err == nil { + err = p.validateLabel(label) + } + } + if toASCII { + for labels.reset(); !labels.done(); labels.next() { + label := labels.label() + if !ascii(label) { + a, err2 := encode(acePrefix, label) + if err == nil { + err = err2 + } + label = a + labels.set(a) + } + n := len(label) + if p.verifyDNSLength && err == nil && (n == 0 || n > 63) { + err = &labelError{label, "A4"} + } + } + } + s = labels.result() + if toASCII && p.verifyDNSLength && err == nil { + // Compute the length of the domain name minus the root label and its dot. + n := len(s) + if n > 0 && s[n-1] == '.' { + n-- + } + if len(s) < 1 || n > 253 { + err = &labelError{s, "A4"} + } + } + return s, err +} + +func normalize(p *Profile, s string) (string, error) { + return norm.NFC.String(s), nil +} + +func validateRegistration(p *Profile, s string) (string, error) { + if !norm.NFC.IsNormalString(s) { + return s, &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + // TODO: handle the NV8 defined in the Unicode idna data set to allow + // for strict conformance to IDNA2008. + case valid, deviation: + case disallowed, mapped, unknown, ignored: + r, _ := utf8.DecodeRuneInString(s[i:]) + return s, runeError(r) + } + i += sz + } + return s, nil +} + +func validateAndMap(p *Profile, s string) (string, error) { + var ( + err error + b []byte + k int + ) + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + start := i + i += sz + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + case valid: + continue + case disallowed: + if err == nil { + r, _ := utf8.DecodeRuneInString(s[start:]) + err = runeError(r) + } + continue + case mapped, deviation: + b = append(b, s[k:start]...) + b = info(v).appendMapping(b, s[start:i]) + case ignored: + b = append(b, s[k:start]...) + // drop the rune + case unknown: + b = append(b, s[k:start]...) + b = append(b, "\ufffd"...) + } + k = i + } + if k == 0 { + // No changes so far. + s = norm.NFC.String(s) + } else { + b = append(b, s[k:]...) + if norm.NFC.QuickSpan(b) != len(b) { + b = norm.NFC.Bytes(b) + } + // TODO: the punycode converters require strings as input. + s = string(b) + } + return s, err +} + +// A labelIter allows iterating over domain name labels. +type labelIter struct { + orig string + slice []string + curStart int + curEnd int + i int +} + +func (l *labelIter) reset() { + l.curStart = 0 + l.curEnd = 0 + l.i = 0 +} + +func (l *labelIter) done() bool { + return l.curStart >= len(l.orig) +} + +func (l *labelIter) result() string { + if l.slice != nil { + return strings.Join(l.slice, ".") + } + return l.orig +} + +func (l *labelIter) label() string { + if l.slice != nil { + return l.slice[l.i] + } + p := strings.IndexByte(l.orig[l.curStart:], '.') + l.curEnd = l.curStart + p + if p == -1 { + l.curEnd = len(l.orig) + } + return l.orig[l.curStart:l.curEnd] +} + +// next sets the value to the next label. It skips the last label if it is empty. +func (l *labelIter) next() { + l.i++ + if l.slice != nil { + if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" { + l.curStart = len(l.orig) + } + } else { + l.curStart = l.curEnd + 1 + if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' { + l.curStart = len(l.orig) + } + } +} + +func (l *labelIter) set(s string) { + if l.slice == nil { + l.slice = strings.Split(l.orig, ".") + } + l.slice[l.i] = s +} + +// acePrefix is the ASCII Compatible Encoding prefix. +const acePrefix = "xn--" + +func (p *Profile) simplify(cat category) category { + switch cat { + case disallowedSTD3Mapped: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = mapped + } + case disallowedSTD3Valid: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = valid + } + case deviation: + if !p.transitional { + cat = valid + } + case validNV8, validXV8: + // TODO: handle V2008 + cat = valid + } + return cat +} + +func validateFromPunycode(p *Profile, s string) error { + if !norm.NFC.IsNormalString(s) { + return &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if c := p.simplify(info(v).category()); c != valid && c != deviation { + return &labelError{s, "V6"} + } + i += sz + } + return nil +} + +const ( + zwnj = "\u200c" + zwj = "\u200d" +) + +type joinState int8 + +const ( + stateStart joinState = iota + stateVirama + stateBefore + stateBeforeVirama + stateAfter + stateFAIL +) + +var joinStates = [][numJoinTypes]joinState{ + stateStart: { + joiningL: stateBefore, + joiningD: stateBefore, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateVirama, + }, + stateVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + }, + stateBefore: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + joinZWNJ: stateAfter, + joinZWJ: stateFAIL, + joinVirama: stateBeforeVirama, + }, + stateBeforeVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + }, + stateAfter: { + joiningL: stateFAIL, + joiningD: stateBefore, + joiningT: stateAfter, + joiningR: stateStart, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateAfter, // no-op as we can't accept joiners here + }, + stateFAIL: { + 0: stateFAIL, + joiningL: stateFAIL, + joiningD: stateFAIL, + joiningT: stateFAIL, + joiningR: stateFAIL, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateFAIL, + }, +} + +// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are +// already implicitly satisfied by the overall implementation. +func (p *Profile) validateLabel(s string) error { + if s == "" { + if p.verifyDNSLength { + return &labelError{s, "A4"} + } + return nil + } + if p.bidirule != nil && !p.bidirule(s) { + return &labelError{s, "B"} + } + if !p.validateLabels { + return nil + } + trie := p.trie // p.validateLabels is only set if trie is set. + if len(s) > 4 && s[2] == '-' && s[3] == '-' { + return &labelError{s, "V2"} + } + if s[0] == '-' || s[len(s)-1] == '-' { + return &labelError{s, "V3"} + } + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) + if x.isModifier() { + return &labelError{s, "V5"} + } + // Quickly return in the absence of zero-width (non) joiners. + if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 { + return nil + } + st := stateStart + for i := 0; ; { + jt := x.joinType() + if s[i:i+sz] == zwj { + jt = joinZWJ + } else if s[i:i+sz] == zwnj { + jt = joinZWNJ + } + st = joinStates[st][jt] + if x.isViramaModifier() { + st = joinStates[st][joinVirama] + } + if i += sz; i == len(s) { + break + } + v, sz = trie.lookupString(s[i:]) + x = info(v) + } + if st == stateFAIL || st == stateAfter { + return &labelError{s, "C"} + } + return nil +} + +func ascii(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/punycode.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/punycode.go new file mode 100644 index 0000000..02c7d59 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/punycode.go @@ -0,0 +1,203 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package idna + +// This file implements the Punycode algorithm from RFC 3492. + +import ( + "math" + "strings" + "unicode/utf8" +) + +// These parameter values are specified in section 5. +// +// All computation is done with int32s, so that overflow behavior is identical +// regardless of whether int is 32-bit or 64-bit. +const ( + base int32 = 36 + damp int32 = 700 + initialBias int32 = 72 + initialN int32 = 128 + skew int32 = 38 + tmax int32 = 26 + tmin int32 = 1 +) + +func punyError(s string) error { return &labelError{s, "A3"} } + +// decode decodes a string as specified in section 6.2. +func decode(encoded string) (string, error) { + if encoded == "" { + return "", nil + } + pos := 1 + strings.LastIndex(encoded, "-") + if pos == 1 { + return "", punyError(encoded) + } + if pos == len(encoded) { + return encoded[:len(encoded)-1], nil + } + output := make([]rune, 0, len(encoded)) + if pos != 0 { + for _, r := range encoded[:pos-1] { + output = append(output, r) + } + } + i, n, bias := int32(0), initialN, initialBias + for pos < len(encoded) { + oldI, w := i, int32(1) + for k := base; ; k += base { + if pos == len(encoded) { + return "", punyError(encoded) + } + digit, ok := decodeDigit(encoded[pos]) + if !ok { + return "", punyError(encoded) + } + pos++ + i += digit * w + if i < 0 { + return "", punyError(encoded) + } + t := k - bias + if t < tmin { + t = tmin + } else if t > tmax { + t = tmax + } + if digit < t { + break + } + w *= base - t + if w >= math.MaxInt32/base { + return "", punyError(encoded) + } + } + x := int32(len(output) + 1) + bias = adapt(i-oldI, x, oldI == 0) + n += i / x + i %= x + if n > utf8.MaxRune || len(output) >= 1024 { + return "", punyError(encoded) + } + output = append(output, 0) + copy(output[i+1:], output[i:]) + output[i] = n + i++ + } + return string(output), nil +} + +// encode encodes a string as specified in section 6.3 and prepends prefix to +// the result. +// +// The "while h < length(input)" line in the specification becomes "for +// remaining != 0" in the Go code, because len(s) in Go is in bytes, not runes. +func encode(prefix, s string) (string, error) { + output := make([]byte, len(prefix), len(prefix)+1+2*len(s)) + copy(output, prefix) + delta, n, bias := int32(0), initialN, initialBias + b, remaining := int32(0), int32(0) + for _, r := range s { + if r < 0x80 { + b++ + output = append(output, byte(r)) + } else { + remaining++ + } + } + h := b + if b > 0 { + output = append(output, '-') + } + for remaining != 0 { + m := int32(0x7fffffff) + for _, r := range s { + if m > r && r >= n { + m = r + } + } + delta += (m - n) * (h + 1) + if delta < 0 { + return "", punyError(s) + } + n = m + for _, r := range s { + if r < n { + delta++ + if delta < 0 { + return "", punyError(s) + } + continue + } + if r > n { + continue + } + q := delta + for k := base; ; k += base { + t := k - bias + if t < tmin { + t = tmin + } else if t > tmax { + t = tmax + } + if q < t { + break + } + output = append(output, encodeDigit(t+(q-t)%(base-t))) + q = (q - t) / (base - t) + } + output = append(output, encodeDigit(q)) + bias = adapt(delta, h+1, h == b) + delta = 0 + h++ + remaining-- + } + delta++ + n++ + } + return string(output), nil +} + +func decodeDigit(x byte) (digit int32, ok bool) { + switch { + case '0' <= x && x <= '9': + return int32(x - ('0' - 26)), true + case 'A' <= x && x <= 'Z': + return int32(x - 'A'), true + case 'a' <= x && x <= 'z': + return int32(x - 'a'), true + } + return 0, false +} + +func encodeDigit(digit int32) byte { + switch { + case 0 <= digit && digit < 26: + return byte(digit + 'a') + case 26 <= digit && digit < 36: + return byte(digit + ('0' - 26)) + } + panic("idna: internal error in punycode encoding") +} + +// adapt is the bias adaptation function specified in section 6.1. +func adapt(delta, numPoints int32, firstTime bool) int32 { + if firstTime { + delta /= damp + } else { + delta /= 2 + } + delta += delta / numPoints + k := int32(0) + for delta > ((base-tmin)*tmax)/2 { + delta /= base - tmin + k += base + } + return k + (base-tmin+1)*delta/(delta+skew) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables10.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables10.0.0.go new file mode 100644 index 0000000..54fddb4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables10.0.0.go @@ -0,0 +1,4559 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.10,!go1.13 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 29052 bytes (28.37 KiB). Checksum: ef06e7ecc26f36dd. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 125: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 125 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 127 blocks, 8128 entries, 16256 bytes +// The third block is the zero block. +var idnaValues = [8128]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, + 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, + 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, + 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808, + 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, + 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, + 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, + 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, + 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, + // Block 0x16, offset 0x580 + 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, + 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, + 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, + 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, + 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, + 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, + 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, + 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, + 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, + 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, + // Block 0x18, offset 0x600 + 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, + 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, + 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, + 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, + 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, + 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x0040, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, + 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, + // Block 0x1a, offset 0x680 + 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, + 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, + 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, + 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, + 0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, + // Block 0x1c, offset 0x700 + 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, + 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, + 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, + 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, + 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, + 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, + 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, + 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, + // Block 0x1e, offset 0x780 + 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, + 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, + 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008, + 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, + 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, + 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, + 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, + 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, + // Block 0x20, offset 0x800 + 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, + 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, + 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, + 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, + // Block 0x21, offset 0x840 + 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0040, 0x845: 0x0008, + 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, + 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, + 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, + 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, + 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, + 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, + 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, + 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, + 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, + 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, + 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, + 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, + 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, + 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, + 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, + 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, + 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, + 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, + 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, + // Block 0x24, offset 0x900 + 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, + 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040, + 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040, + 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, + 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, + 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, + 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, + 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, + 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, + // Block 0x26, offset 0x980 + 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, + 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, + 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, + 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, + 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, + 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, + 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, + 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, + 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, + 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, + 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, + 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, + 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, + 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, + 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, + 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, + // Block 0x28, offset 0xa00 + 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, + 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, + 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, + 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9, + 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099, + 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, + 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, + 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, + 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, + 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, + 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, + 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, + 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, + 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, + 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, + 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251, + 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, + 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, + 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, + 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, + 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, + 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, + 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, + 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, + 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008, + 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, + 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, + 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, + 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, + 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, + 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, + 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, + 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, + 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, + 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, + 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, + 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, + 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, + 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, + 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, + 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, + 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, + 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, + 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, + 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459, + 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686, + // Block 0x2e, offset 0xb80 + 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, + 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489, + 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, + 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, + 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, + 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, + 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, + 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, + 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, + 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, + 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, + 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, + 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, + 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018, + // Block 0x30, offset 0xc00 + 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, + 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, + 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, + 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, + 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, + 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, + 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, + 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, + 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, + 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd, + 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, + // Block 0x31, offset 0xc40 + 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, + 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5, + 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, + 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, + 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, + 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, + 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, + 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, + 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, + 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, + 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, + // Block 0x32, offset 0xc80 + 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e, + 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249, + 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, + 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, + 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, + 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018, + 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, + 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, + 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, + 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd, + 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, + 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, + 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, + 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, + 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, + 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439, + 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, + 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, + 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, + 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5, + 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, + // Block 0x34, offset 0xd00 + 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, + 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, + 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, + 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, + 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, + 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26, + 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6, + 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, + // Block 0x35, offset 0xd40 + 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, + 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, + 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, + 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, + 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46, + 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06, + 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6, + 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86, + 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46, + 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, + 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, + // Block 0x36, offset 0xd80 + 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, + 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, + 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, + 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, + 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, + 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, + 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, + 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, + 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, + 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, + 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, + 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, + 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, + 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, + 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd, + 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, + 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, + 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, + 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, + 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, + // Block 0x38, offset 0xe00 + 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, + 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, + 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, + 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, + 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, + 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, + 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, + 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, + 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d, + 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d, + 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d, + 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040, + 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, + 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, + 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, + 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, + 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, + 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, + 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, + // Block 0x3a, offset 0xe80 + 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, + 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, + 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, + 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, + 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, + 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, + 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, + 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, + 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018, + 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd, + 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd, + 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d, + 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d, + 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d, + 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd, + 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d, + 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd, + 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d, + 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd, + 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d, + // Block 0x3c, offset 0xf00 + 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd, + 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d, + 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, + 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd, + 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d, + 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, + 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, + 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, + 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, + 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040, + 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd, + 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, + 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761, + 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, + 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, + 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd, + 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d, + 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d, + 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd, + 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d, + 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018, + // Block 0x3e, offset 0xf80 + 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d, + 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d, + 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd, + 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd, + 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d, + 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d, + 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd, + 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d, + 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, + 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, + 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, + 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, + 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15, + 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75, + 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded, + 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d, + 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5, + 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d, + 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d, + 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd, + 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040, + // Block 0x40, offset 0x1000 + 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9, + 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1, + 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9, + 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549, + 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1, + 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11, + 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91, + 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9, + 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011, + 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209, + 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361, + // Block 0x41, offset 0x1040 + 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541, + 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781, + 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979, + 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89, + 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1, + 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99, + 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9, + 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9, + 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069, + 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9, + 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9, + // Block 0x42, offset 0x1080 + 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271, + 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9, + 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed, + 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371, + 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9, + 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d, + 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211, + 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1, + 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599, + 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9, + 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671, + 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709, + 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781, + 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1, + 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811, + 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901, + 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1, + 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11, + 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31, + 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51, + 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, + 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, + 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, + 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, + 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11, + 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, + 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, + 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, + 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, + 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, + 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, + 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, + 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, + 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, + 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, + 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, + 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, + 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, + 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008, + // Block 0x48, offset 0x1200 + 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, + 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, + 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, + 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, + 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, + 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, + 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, + 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0040, + 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008, + 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040, + 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040, + // Block 0x49, offset 0x1240 + 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575, + 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635, + 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008, + 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715, + 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5, + 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008, + 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, + 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935, + 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5, + 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5, + 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35, + // Block 0x4a, offset 0x1280 + 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35, + 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5, + 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19, + 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91, + 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, + 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, + 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, + 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, + 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, + 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, + 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001, + 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, + 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, + 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9, + 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1, + 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149, + 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2, + 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1, + 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1, + 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479, + 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040, + // Block 0x4c, offset 0x1300 + 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040, + 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659, + 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721, + 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751, + 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769, + 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799, + 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1, + 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1, + 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9, + 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829, + 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841, + // Block 0x4d, offset 0x1340 + 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871, + 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9, + 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9, + 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919, + 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931, + 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961, + 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991, + 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1, + 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, + 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, + 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, + 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, + 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, + 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09, + 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479, + 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81, + 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1, + 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19, + 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91, + 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1, + 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1, + 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1, + 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1, + 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991, + 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81, + 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a, + 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99, + 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89, + 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79, + 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19, + 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469, + // Block 0x50, offset 0x1400 + 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649, + 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9, + 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49, + 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21, + 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9, + 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01, + 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91, + 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9, + 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171, + 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289, + 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329, + // Block 0x51, offset 0x1440 + 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1, + 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621, + 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739, + 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1, + 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9, + 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29, + 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079, + 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1, + 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171, + 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261, + 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301, + // Block 0x52, offset 0x1480 + 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1, + 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1, + 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171, + 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261, + 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351, + 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441, + 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509, + 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1, + 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081, + 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239, + 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, + 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609, + 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721, + 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839, + 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919, + 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9, + 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9, + 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9, + 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1, + 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79, + // Block 0x54, offset 0x1500 + 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989, + 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, + 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, + 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, + 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, + 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9, + 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12, + 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, + // Block 0x55, offset 0x1540 + 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, + 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, + 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55, + 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75, + 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, + 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, + 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, + 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, + 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2, + 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35, + 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55, + // Block 0x56, offset 0x1580 + 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018, + 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56, + 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95, + 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa, + 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95, + 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99, + 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda, + 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, + 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040, + 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081, + 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141, + 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171, + 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1, + 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1, + 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201, + 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219, + 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249, + 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291, + 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1, + 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9, + 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1, + // Block 0x58, offset 0x1600 + 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321, + 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339, + 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369, + 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381, + 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1, + 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9, + 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9, + 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1, + 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441, + 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9, + 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, + // Block 0x59, offset 0x1640 + 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea, + 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2, + 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9, + 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, + 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2, + 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, + 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, + 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, + 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, + 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a, + 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, + 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, + 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, + 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, + 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a, + 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115, + 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5, + 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295, + 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355, + 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415, + 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515, + 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595, + 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5, + 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655, + 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115, + 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735, + 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5, + 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5, + 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5, + 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5, + 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5, + 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715, + 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040, + 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935, + 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6, + 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35, + 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, + 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, + 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, + 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, + 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, + 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, + 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, + 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, + 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, + 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, + 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, + 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, + 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, + 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, + 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, + 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, + 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, + 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, + 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, + 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, + 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, + 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, + 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x0040, + 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, + // Block 0x60, offset 0x1800 + 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, + 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, + 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, + 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, + 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, + 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, + 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, + 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, + 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, + 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, + 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, + // Block 0x61, offset 0x1840 + 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199, + 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359, + 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269, + 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369, + 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9, + 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259, + 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99, + 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089, + 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9, + 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249, + 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359, + // Block 0x62, offset 0x1880 + 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269, + 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369, + 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9, + 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259, + 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99, + 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089, + 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9, + 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249, + 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71, + 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9, + 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9, + 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259, + 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99, + 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089, + 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040, + 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040, + 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71, + 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9, + 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1, + 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199, + 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259, + // Block 0x64, offset 0x1900 + 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99, + 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089, + 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9, + 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249, + 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71, + 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9, + 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1, + 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199, + 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359, + 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269, + 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089, + // Block 0x65, offset 0x1940 + 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9, + 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040, + 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71, + 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9, + 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040, + 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199, + 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359, + 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269, + 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369, + 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9, + 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040, + // Block 0x66, offset 0x1980 + 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040, + 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9, + 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040, + 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199, + 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359, + 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269, + 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369, + 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9, + 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259, + 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99, + 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1, + 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199, + 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359, + 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269, + 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369, + 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9, + 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259, + 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99, + 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089, + 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9, + 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359, + 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269, + 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369, + 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9, + 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259, + 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99, + 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089, + 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9, + 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249, + 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71, + 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369, + 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9, + 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259, + 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99, + 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089, + 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9, + 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249, + 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71, + 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9, + 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1, + 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259, + 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99, + 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089, + 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9, + 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249, + 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71, + 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9, + 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1, + 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199, + 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359, + 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089, + 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9, + 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249, + 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71, + 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9, + 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1, + 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099, + 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429, + 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71, + 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9, + 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9, + 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11, + 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109, + 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1, + 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429, + 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099, + 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429, + 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71, + 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9, + 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01, + 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11, + 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109, + 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1, + 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429, + 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099, + 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429, + 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71, + 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9, + 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01, + 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1, + 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109, + 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1, + 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429, + 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099, + 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429, + 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71, + 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9, + 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01, + 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1, + 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41, + 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1, + 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429, + 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099, + 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429, + 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71, + 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9, + 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01, + 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1, + 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41, + 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1, + 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429, + 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41, + 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079, + 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1, + 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61, + 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9, + 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81, + 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079, + 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1, + 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61, + 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115, + 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135, + 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115, + 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175, + 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115, + 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08, + 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08, + 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08, + 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08, + 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08, + 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411, + 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1, + 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231, + 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949, + 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351, + 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040, + 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231, + 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949, + 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040, + 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411, + 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1, + 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9, + 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231, + 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040, + 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249, + 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429, + 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339, + 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1, + 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351, + 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02, + 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018, + 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2, + 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72, + 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32, + 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2, + 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2, + 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0040, + 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199, + 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359, + 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089, + 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1, + 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018, + 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018, + 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018, + 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018, + 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018, + 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040, + 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018, + 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018, + 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040, + 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040, + 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289, + 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349, + 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409, + 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9, + 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589, + 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649, + 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709, + 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9, + 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79, + 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39, + 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9, + 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39, + 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9, + 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79, + 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39, + 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9, + 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059, + 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9, + 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239, + 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9, + 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399, + 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459, + 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309, + 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559, + 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9, + 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679, + 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9, + 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d, + 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9, + 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959, + 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d, + 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d, + 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9, + 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99, + 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9, + 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9, + 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99, + 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39, + 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639, + 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9, + 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d, + 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9, + 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d, + 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd, + 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979, + 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19, + 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d, + 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d, + 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99, + 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39, + 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9, + 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39, + 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd, + 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19, + 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9, + 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59, + 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd, + 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d, + 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d, + 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d, + 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879, + 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919, + 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd, + 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9, + 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99, + 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39, + 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9, + 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d, + 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19, + 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9, + 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59, + 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9, + 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d, + 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040, + 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040, + 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040, + 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040, + 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040, + 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040, +} + +// idnaIndex: 36 blocks, 2304 entries, 4608 bytes +// Block 0 is the zero block. +var idnaIndex = [2304]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21, + // Block 0x4, offset 0x100 + 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, + 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3, + 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, + // Block 0x6, offset 0x180 + 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b, + 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0, + 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5, + 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1, + 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8, + 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0, + 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe, + 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, + 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52, + 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e, + 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c, + 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba, + 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x127, 0x401: 0x128, 0x402: 0x129, 0x403: 0x12a, 0x404: 0x12b, 0x405: 0x12c, 0x406: 0x12d, 0x407: 0x12e, + 0x408: 0x12f, 0x409: 0xba, 0x40a: 0x130, 0x40b: 0x131, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x132, 0x411: 0x133, 0x412: 0x134, 0x413: 0x135, 0x414: 0xba, 0x415: 0xba, 0x416: 0x136, 0x417: 0x137, + 0x418: 0x138, 0x419: 0x139, 0x41a: 0x13a, 0x41b: 0x13b, 0x41c: 0x13c, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0xba, 0x421: 0xba, 0x422: 0x13d, 0x423: 0x13e, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0x13f, 0x429: 0x140, 0x42a: 0x141, 0x42b: 0x142, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x143, 0x431: 0x144, 0x432: 0x145, 0x433: 0xba, 0x434: 0x146, 0x435: 0x147, 0x436: 0xba, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x148, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x149, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x14a, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x14b, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x14c, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x142, 0x529: 0x14d, 0x52a: 0xba, 0x52b: 0x14e, 0x52c: 0x14f, 0x52d: 0x150, 0x52e: 0x151, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x152, 0x53e: 0x153, 0x53f: 0x154, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x155, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x156, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x157, 0x585: 0x158, 0x586: 0x9f, 0x587: 0x9f, + 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x159, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x15a, 0x5b2: 0x15b, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x15c, 0x5c4: 0x15d, 0x5c5: 0x15e, 0x5c6: 0x15f, 0x5c7: 0x160, + 0x5c8: 0x9b, 0x5c9: 0x161, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x162, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66, + 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x163, 0x5e9: 0x164, 0x5ea: 0x165, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x166, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x167, 0x624: 0x6f, 0x625: 0x168, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x169, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x16a, 0x641: 0x9b, 0x642: 0x16b, 0x643: 0x16c, 0x644: 0x73, 0x645: 0x74, 0x646: 0x16d, 0x647: 0x16e, + 0x648: 0x75, 0x649: 0x16f, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x170, 0x65c: 0x9b, 0x65d: 0x171, 0x65e: 0x9b, 0x65f: 0x172, + 0x660: 0x173, 0x661: 0x174, 0x662: 0x175, 0x663: 0xba, 0x664: 0x176, 0x665: 0x177, 0x666: 0x178, 0x667: 0x179, + 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x17a, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x17b, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x17c, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x17d, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f, + // Block 0x1d, offset 0x740 + 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f, + 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f, + 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f, + 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f, + 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f, + 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x17e, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba, + 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba, + 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba, + 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba, + 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x17f, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x180, 0x7a7: 0x7b, + 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba, + 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba, + 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba, + // Block 0x1f, offset 0x7c0 + 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07, + 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17, + 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07, + 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b, + 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b, + 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b, + 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b, + 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b, + 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b, + 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, + 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, + // Block 0x21, offset 0x840 + 0x840: 0x181, 0x841: 0x182, 0x842: 0xba, 0x843: 0xba, 0x844: 0x183, 0x845: 0x183, 0x846: 0x183, 0x847: 0x184, + 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba, + 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba, + 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba, + 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba, + 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba, + 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba, + 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, + 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b, + 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b, + 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b, + 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b, + 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b, + 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, + 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, +} + +// idnaSparseOffset: 264 entries, 528 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x8a, 0x93, 0xa3, 0xb1, 0xbd, 0xc9, 0xda, 0xe4, 0xeb, 0xf8, 0x109, 0x110, 0x11b, 0x12a, 0x138, 0x142, 0x144, 0x149, 0x14c, 0x14f, 0x151, 0x15d, 0x168, 0x170, 0x176, 0x17c, 0x181, 0x186, 0x189, 0x18d, 0x193, 0x198, 0x1a4, 0x1ae, 0x1b4, 0x1c5, 0x1cf, 0x1d2, 0x1da, 0x1dd, 0x1ea, 0x1f2, 0x1f6, 0x1fd, 0x205, 0x215, 0x221, 0x223, 0x22d, 0x239, 0x245, 0x251, 0x259, 0x25e, 0x268, 0x279, 0x27d, 0x288, 0x28c, 0x295, 0x29d, 0x2a3, 0x2a8, 0x2ab, 0x2af, 0x2b5, 0x2b9, 0x2bd, 0x2c3, 0x2ca, 0x2d0, 0x2d8, 0x2df, 0x2ea, 0x2f4, 0x2f8, 0x2fb, 0x301, 0x305, 0x307, 0x30a, 0x30c, 0x30f, 0x319, 0x31c, 0x32b, 0x32f, 0x334, 0x337, 0x33b, 0x340, 0x345, 0x34b, 0x351, 0x360, 0x366, 0x36a, 0x379, 0x37e, 0x386, 0x390, 0x39b, 0x3a3, 0x3b4, 0x3bd, 0x3cd, 0x3da, 0x3e4, 0x3e9, 0x3f6, 0x3fa, 0x3ff, 0x401, 0x405, 0x407, 0x40b, 0x414, 0x41a, 0x41e, 0x42e, 0x438, 0x43d, 0x440, 0x446, 0x44d, 0x452, 0x456, 0x45c, 0x461, 0x46a, 0x46f, 0x475, 0x47c, 0x483, 0x48a, 0x48e, 0x493, 0x496, 0x49b, 0x4a7, 0x4ad, 0x4b2, 0x4b9, 0x4c1, 0x4c6, 0x4ca, 0x4da, 0x4e1, 0x4e5, 0x4e9, 0x4f0, 0x4f2, 0x4f5, 0x4f8, 0x4fc, 0x500, 0x506, 0x50f, 0x51b, 0x522, 0x52b, 0x533, 0x53a, 0x548, 0x555, 0x562, 0x56b, 0x56f, 0x57d, 0x585, 0x590, 0x599, 0x59f, 0x5a7, 0x5b0, 0x5ba, 0x5bd, 0x5c9, 0x5cc, 0x5d1, 0x5de, 0x5e7, 0x5f3, 0x5f6, 0x600, 0x609, 0x615, 0x622, 0x62a, 0x62d, 0x632, 0x635, 0x638, 0x63b, 0x642, 0x649, 0x64d, 0x658, 0x65b, 0x661, 0x666, 0x66a, 0x66d, 0x670, 0x673, 0x676, 0x679, 0x67e, 0x688, 0x68b, 0x68f, 0x69e, 0x6aa, 0x6ae, 0x6b3, 0x6b8, 0x6bc, 0x6c1, 0x6ca, 0x6d5, 0x6db, 0x6e3, 0x6e7, 0x6eb, 0x6f1, 0x6f7, 0x6fc, 0x6ff, 0x70f, 0x716, 0x719, 0x71c, 0x720, 0x726, 0x72b, 0x730, 0x735, 0x738, 0x73d, 0x740, 0x743, 0x747, 0x74b, 0x74e, 0x75e, 0x76f, 0x774, 0x776, 0x778} + +// idnaSparseValues: 1915 entries, 7660 bytes +var idnaSparseValues = [1915]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x07}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3f + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4b + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4f + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x63 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0xc, offset 0x6b + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x77 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xe, offset 0x85 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0xf, offset 0x8a + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x93 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x11, offset 0xa3 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb1 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbd + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xc9 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x15, offset 0xda + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x16, offset 0xe4 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x17, offset 0xeb + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x18, offset 0xf8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x109 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1a, offset 0x110 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0x11b + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1c, offset 0x12a + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1d, offset 0x138 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0x142 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x1f, offset 0x144 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x20, offset 0x149 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x21, offset 0x14c + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x22, offset 0x14f + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x151 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x15d + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x168 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x170 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x176 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x17c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x181 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x186 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x189 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x18d + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x193 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x198 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1a4 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1ae + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1b4 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1c5 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1cf + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x34, offset 0x1d2 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1da + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1dd + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x1ea + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x1f2 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x1f6 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x1fd + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x205 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x215 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x221 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3e, offset 0x223 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x22d + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x239 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x245 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x251 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x259 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x25e + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x45, offset 0x268 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x46, offset 0x279 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x27d + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x288 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x28c + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x295 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x29d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2a3 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2a8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4e, offset 0x2ab + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x4f, offset 0x2af + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x50, offset 0x2b5 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x51, offset 0x2b9 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x52, offset 0x2bd + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0018, lo: 0xbd, hi: 0xbf}, + // Block 0x53, offset 0x2c3 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0xab}, + {value: 0x0018, lo: 0xac, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x54, offset 0x2ca + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2d0 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2d8 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x57, offset 0x2df + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x58, offset 0x2ea + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x59, offset 0x2f4 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5a, offset 0x2f8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0x5b, offset 0x2fb + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5c, offset 0x301 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5d, offset 0x305 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x5e, offset 0x307 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x5f, offset 0x30a + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x30c + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x61, offset 0x30f + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x62, offset 0x319 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x31c + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x64, offset 0x32b + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x65, offset 0x32f + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x66, offset 0x334 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0x67, offset 0x337 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x68, offset 0x33b + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x69, offset 0x340 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6a, offset 0x345 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6b, offset 0x34b + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6c, offset 0x351 + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6d, offset 0x360 + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6e, offset 0x366 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6f, offset 0x36a + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x70, offset 0x379 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x71, offset 0x37e + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x72, offset 0x386 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x73, offset 0x390 + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x39b + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x75, offset 0x3a3 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x76, offset 0x3b4 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x77, offset 0x3bd + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x78, offset 0x3cd + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x79, offset 0x3da + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3e4 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3e9 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7c, offset 0x3f6 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3fa + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7e, offset 0x3ff + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x7f, offset 0x401 + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x80, offset 0x405 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x407 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x82, offset 0x40b + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x83, offset 0x414 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x84, offset 0x41a + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x85, offset 0x41e + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x86, offset 0x42e + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x87, offset 0x438 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x88, offset 0x43d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x89, offset 0x440 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8a, offset 0x446 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8b, offset 0x44d + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8c, offset 0x452 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8d, offset 0x456 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8e, offset 0x45c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xbf}, + // Block 0x8f, offset 0x461 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x90, offset 0x46a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x91, offset 0x46f + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x92, offset 0x475 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x93, offset 0x47c + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x94, offset 0x483 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x48a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x96, offset 0x48e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x493 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x98, offset 0x496 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x99, offset 0x49b + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x4a7 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9b, offset 0x4ad + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9c, offset 0x4b2 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9d, offset 0x4b9 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x4c1 + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9f, offset 0x4c6 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa0, offset 0x4ca + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa1, offset 0x4da + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa2, offset 0x4e1 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x4e5 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa4, offset 0x4e9 + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa5, offset 0x4f0 + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa6, offset 0x4f2 + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa7, offset 0x4f5 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa8, offset 0x4f8 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x4fc + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xaa, offset 0x500 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x506 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xac, offset 0x50f + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0340, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xad, offset 0x51b + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xae, offset 0x522 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xaf, offset 0x52b + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb0, offset 0x533 + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb1, offset 0x53a + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb2, offset 0x548 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x555 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb4, offset 0x562 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb5, offset 0x56b + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb6, offset 0x56f + {value: 0x0000, lo: 0x0d}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xb7, offset 0x57d + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xb8, offset 0x585 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xb9, offset 0x590 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xba, offset 0x599 + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbb, offset 0x59f + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbc, offset 0x5a7 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xbd, offset 0x5b0 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xbe, offset 0x5ba + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xbf, offset 0x5bd + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc0, offset 0x5c9 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc1, offset 0x5cc + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc2, offset 0x5d1 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xc3, offset 0x5de + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x3b08, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0xbf}, + // Block 0xc4, offset 0x5e7 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x98}, + {value: 0x3b08, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xbf}, + // Block 0xc5, offset 0x5f3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc6, offset 0x5f6 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc7, offset 0x600 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xc8, offset 0x609 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xc9, offset 0x615 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xca, offset 0x622 + {value: 0x0000, lo: 0x07}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xcb, offset 0x62a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xcc, offset 0x62d + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xcd, offset 0x632 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xce, offset 0x635 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xcf, offset 0x638 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xd0, offset 0x63b + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xd1, offset 0x642 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xd2, offset 0x649 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd3, offset 0x64d + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xd4, offset 0x658 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xd5, offset 0x65b + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd6, offset 0x661 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xd7, offset 0x666 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xd8, offset 0x66a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xd9, offset 0x66d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xda, offset 0x670 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xdb, offset 0x673 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xdc, offset 0x676 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xdd, offset 0x679 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xde, offset 0x67e + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xdf, offset 0x688 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xe0, offset 0x68b + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xe1, offset 0x68f + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xe2, offset 0x69e + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xe3, offset 0x6aa + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xe4, offset 0x6ae + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xe5, offset 0x6b3 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe6, offset 0x6b8 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xe7, offset 0x6bc + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xe8, offset 0x6c1 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xe9, offset 0x6ca + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xea, offset 0x6d5 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xeb, offset 0x6db + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xec, offset 0x6e3 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xed, offset 0x6e7 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xee, offset 0x6eb + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xef, offset 0x6f1 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xf0, offset 0x6f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xf1, offset 0x6fc + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xf2, offset 0x6ff + {value: 0x0000, lo: 0x0f}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xbf}, + // Block 0xf3, offset 0x70f + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xf4, offset 0x716 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xf5, offset 0x719 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0xbf}, + // Block 0xf6, offset 0x71c + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0xf7, offset 0x720 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0xf8, offset 0x726 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0xf9, offset 0x72b + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xfa, offset 0x730 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0xfb, offset 0x735 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xbf}, + // Block 0xfc, offset 0x738 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0xfd, offset 0x73d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xfe, offset 0x740 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xff, offset 0x743 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x100, offset 0x747 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x101, offset 0x74b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x102, offset 0x74e + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0x103, offset 0x75e + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0x104, offset 0x76f + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0x105, offset 0x774 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x106, offset 0x776 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x107, offset 0x778 + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 42114 bytes (41KiB); checksum: 355A58A4 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables11.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables11.0.0.go new file mode 100644 index 0000000..c515d7a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables11.0.0.go @@ -0,0 +1,4653 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 29404 bytes (28.71 KiB). Checksum: 848c45acb5f7991c. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 125: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 125 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 127 blocks, 8128 entries, 16256 bytes +// The third block is the zero block. +var idnaValues = [8128]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, + 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, + 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, + 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808, + 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, + 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, + 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, + 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, + 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, + // Block 0x16, offset 0x580 + 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, + 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, + 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, + 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, + 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, + 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, + 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, + 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, + 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, + 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, + // Block 0x18, offset 0x600 + 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, + 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, + 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, + 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, + 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, + 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, + 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, + // Block 0x1a, offset 0x680 + 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, + 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, + 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, + 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, + 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, + // Block 0x1c, offset 0x700 + 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, + 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, + 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, + 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, + 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, + 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, + 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, + 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, + // Block 0x1e, offset 0x780 + 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, + 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, + 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008, + 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, + 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, + 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, + 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, + 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, + // Block 0x20, offset 0x800 + 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, + 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, + 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, + 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, + // Block 0x21, offset 0x840 + 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008, + 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, + 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, + 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, + 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, + 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, + 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, + 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, + 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, + 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, + 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, + 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, + 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, + 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, + 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, + 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, + 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, + 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, + 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, + 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, + // Block 0x24, offset 0x900 + 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, + 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040, + 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040, + 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, + 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, + 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, + 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, + 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, + 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, + // Block 0x26, offset 0x980 + 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, + 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, + 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, + 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, + 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, + 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, + 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, + 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, + 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, + 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, + 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, + 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, + 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, + 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, + 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, + 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, + // Block 0x28, offset 0xa00 + 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, + 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, + 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, + 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9, + 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099, + 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, + 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, + 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, + 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, + 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, + 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, + 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, + 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, + 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, + 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, + 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251, + 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, + 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, + 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, + 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, + 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, + 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, + 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, + 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, + 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008, + 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, + 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, + 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, + 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, + 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, + 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, + 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, + 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, + 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, + 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, + 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, + 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, + 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, + 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, + 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, + 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, + 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, + 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, + 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, + 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459, + 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686, + // Block 0x2e, offset 0xb80 + 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, + 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489, + 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, + 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, + 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, + 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, + 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, + 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, + 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, + 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, + 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, + 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, + 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, + 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018, + // Block 0x30, offset 0xc00 + 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, + 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, + 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, + 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, + 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, + 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, + 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, + 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, + 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, + 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd, + 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, + // Block 0x31, offset 0xc40 + 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, + 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5, + 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, + 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, + 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, + 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, + 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, + 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, + 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, + 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, + 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, + // Block 0x32, offset 0xc80 + 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e, + 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249, + 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, + 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, + 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, + 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018, + 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, + 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, + 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, + 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd, + 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, + 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, + 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, + 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, + 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, + 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439, + 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, + 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, + 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, + 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5, + 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, + // Block 0x34, offset 0xd00 + 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, + 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, + 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, + 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, + 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, + 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26, + 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6, + 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, + // Block 0x35, offset 0xd40 + 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, + 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, + 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, + 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, + 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46, + 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06, + 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6, + 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86, + 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46, + 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, + 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, + // Block 0x36, offset 0xd80 + 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, + 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, + 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, + 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, + 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, + 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, + 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, + 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, + 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, + 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, + 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, + 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, + 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, + 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, + 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd, + 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, + 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, + 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, + 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, + 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, + // Block 0x38, offset 0xe00 + 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, + 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, + 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, + 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, + 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, + 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, + 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, + 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, + 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d, + 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d, + 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d, + 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040, + 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, + 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, + 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, + 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, + 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, + 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, + 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, + // Block 0x3a, offset 0xe80 + 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, + 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, + 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, + 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, + 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, + 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, + 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, + 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, + 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018, + 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd, + 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd, + 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d, + 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d, + 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d, + 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd, + 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d, + 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd, + 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d, + 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd, + 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d, + // Block 0x3c, offset 0xf00 + 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd, + 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d, + 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, + 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd, + 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d, + 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, + 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, + 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, + 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, + 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040, + 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd, + 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, + 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761, + 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, + 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, + 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd, + 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d, + 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d, + 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd, + 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d, + 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018, + // Block 0x3e, offset 0xf80 + 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d, + 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d, + 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd, + 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd, + 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d, + 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d, + 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd, + 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d, + 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, + 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, + 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, + 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, + 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15, + 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75, + 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded, + 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d, + 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5, + 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d, + 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d, + 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd, + 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040, + // Block 0x40, offset 0x1000 + 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9, + 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1, + 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9, + 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549, + 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1, + 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11, + 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91, + 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9, + 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011, + 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209, + 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361, + // Block 0x41, offset 0x1040 + 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541, + 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781, + 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979, + 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89, + 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1, + 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99, + 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9, + 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9, + 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069, + 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9, + 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9, + // Block 0x42, offset 0x1080 + 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271, + 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9, + 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed, + 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371, + 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9, + 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d, + 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211, + 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1, + 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599, + 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9, + 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671, + 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709, + 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781, + 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1, + 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811, + 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901, + 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1, + 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11, + 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31, + 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51, + 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, + 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, + 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, + 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, + 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11, + 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, + 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, + 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, + 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, + 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, + 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, + 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, + 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, + 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, + 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, + 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, + 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, + 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, + 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008, + // Block 0x48, offset 0x1200 + 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, + 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, + 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, + 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, + 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, + 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, + 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, + 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0008, + 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008, + 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0008, 0x123a: 0x0040, 0x123b: 0x0040, + 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040, + // Block 0x49, offset 0x1240 + 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575, + 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635, + 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008, + 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715, + 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5, + 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008, + 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, + 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935, + 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5, + 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5, + 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35, + // Block 0x4a, offset 0x1280 + 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35, + 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5, + 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19, + 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91, + 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, + 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, + 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, + 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, + 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, + 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, + 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001, + 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, + 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, + 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9, + 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1, + 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149, + 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2, + 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1, + 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1, + 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479, + 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040, + // Block 0x4c, offset 0x1300 + 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040, + 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659, + 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721, + 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751, + 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769, + 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799, + 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1, + 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1, + 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9, + 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829, + 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841, + // Block 0x4d, offset 0x1340 + 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871, + 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9, + 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9, + 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919, + 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931, + 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961, + 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991, + 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1, + 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, + 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, + 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, + 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, + 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, + 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09, + 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479, + 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81, + 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1, + 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19, + 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91, + 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1, + 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1, + 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1, + 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1, + 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991, + 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81, + 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a, + 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99, + 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89, + 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79, + 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19, + 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469, + // Block 0x50, offset 0x1400 + 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649, + 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9, + 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49, + 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21, + 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9, + 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01, + 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91, + 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9, + 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171, + 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289, + 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329, + // Block 0x51, offset 0x1440 + 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1, + 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621, + 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739, + 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1, + 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9, + 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29, + 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079, + 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1, + 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171, + 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261, + 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301, + // Block 0x52, offset 0x1480 + 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1, + 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1, + 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171, + 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261, + 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351, + 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441, + 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509, + 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1, + 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081, + 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239, + 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, + 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609, + 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721, + 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839, + 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919, + 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9, + 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9, + 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9, + 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1, + 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79, + // Block 0x54, offset 0x1500 + 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989, + 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, + 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, + 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, + 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, + 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9, + 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12, + 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, + // Block 0x55, offset 0x1540 + 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, + 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, + 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55, + 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75, + 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, + 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, + 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, + 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, + 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2, + 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35, + 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55, + // Block 0x56, offset 0x1580 + 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018, + 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56, + 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95, + 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa, + 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95, + 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99, + 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda, + 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, + 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040, + 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081, + 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141, + 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171, + 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1, + 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1, + 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201, + 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219, + 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249, + 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291, + 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1, + 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9, + 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1, + // Block 0x58, offset 0x1600 + 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321, + 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339, + 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369, + 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381, + 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1, + 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9, + 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9, + 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1, + 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441, + 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9, + 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, + // Block 0x59, offset 0x1640 + 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea, + 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2, + 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9, + 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, + 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2, + 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, + 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, + 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, + 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, + 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a, + 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, + 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, + 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, + 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, + 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a, + 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115, + 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5, + 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295, + 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355, + 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415, + 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515, + 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595, + 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5, + 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655, + 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115, + 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735, + 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5, + 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5, + 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5, + 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5, + 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5, + 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715, + 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040, + 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935, + 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6, + 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35, + 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, + 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, + 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, + 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, + 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, + 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, + 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, + 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, + 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, + 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, + 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, + 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, + 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, + 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, + 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, + 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, + 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, + 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, + 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, + 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, + 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, + 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, + 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308, + 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, + // Block 0x60, offset 0x1800 + 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, + 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, + 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, + 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, + 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, + 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, + 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, + 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, + 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, + 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, + 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, + // Block 0x61, offset 0x1840 + 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199, + 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359, + 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269, + 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369, + 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9, + 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259, + 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99, + 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089, + 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9, + 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249, + 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359, + // Block 0x62, offset 0x1880 + 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269, + 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369, + 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9, + 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259, + 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99, + 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089, + 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9, + 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249, + 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71, + 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9, + 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9, + 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259, + 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99, + 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089, + 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040, + 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040, + 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71, + 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9, + 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1, + 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199, + 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259, + // Block 0x64, offset 0x1900 + 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99, + 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089, + 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9, + 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249, + 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71, + 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9, + 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1, + 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199, + 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359, + 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269, + 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089, + // Block 0x65, offset 0x1940 + 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9, + 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040, + 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71, + 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9, + 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040, + 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199, + 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359, + 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269, + 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369, + 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9, + 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040, + // Block 0x66, offset 0x1980 + 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040, + 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9, + 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040, + 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199, + 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359, + 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269, + 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369, + 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9, + 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259, + 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99, + 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1, + 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199, + 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359, + 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269, + 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369, + 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9, + 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259, + 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99, + 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089, + 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9, + 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359, + 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269, + 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369, + 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9, + 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259, + 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99, + 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089, + 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9, + 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249, + 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71, + 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369, + 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9, + 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259, + 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99, + 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089, + 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9, + 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249, + 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71, + 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9, + 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1, + 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259, + 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99, + 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089, + 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9, + 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249, + 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71, + 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9, + 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1, + 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199, + 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359, + 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089, + 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9, + 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249, + 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71, + 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9, + 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1, + 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099, + 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429, + 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71, + 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9, + 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9, + 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11, + 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109, + 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1, + 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429, + 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099, + 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429, + 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71, + 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9, + 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01, + 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11, + 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109, + 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1, + 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429, + 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099, + 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429, + 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71, + 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9, + 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01, + 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1, + 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109, + 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1, + 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429, + 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099, + 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429, + 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71, + 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9, + 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01, + 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1, + 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41, + 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1, + 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429, + 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099, + 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429, + 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71, + 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9, + 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01, + 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1, + 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41, + 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1, + 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429, + 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41, + 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079, + 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1, + 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61, + 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9, + 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81, + 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079, + 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1, + 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61, + 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115, + 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135, + 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115, + 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175, + 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115, + 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08, + 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08, + 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08, + 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08, + 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08, + 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411, + 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1, + 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231, + 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949, + 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351, + 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040, + 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231, + 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949, + 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040, + 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411, + 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1, + 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9, + 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231, + 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040, + 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249, + 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429, + 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339, + 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1, + 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351, + 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02, + 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018, + 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2, + 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72, + 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32, + 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2, + 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2, + 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0018, + 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199, + 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359, + 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089, + 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1, + 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018, + 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018, + 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018, + 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018, + 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018, + 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040, + 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018, + 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018, + 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040, + 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040, + 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289, + 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349, + 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409, + 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9, + 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589, + 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649, + 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709, + 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9, + 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79, + 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39, + 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9, + 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39, + 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9, + 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79, + 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39, + 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9, + 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059, + 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9, + 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239, + 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9, + 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399, + 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459, + 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309, + 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559, + 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9, + 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679, + 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9, + 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d, + 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9, + 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959, + 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d, + 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d, + 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9, + 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99, + 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9, + 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9, + 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99, + 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39, + 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639, + 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9, + 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d, + 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9, + 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d, + 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd, + 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979, + 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19, + 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d, + 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d, + 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99, + 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39, + 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9, + 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39, + 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd, + 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19, + 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9, + 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59, + 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd, + 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d, + 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d, + 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d, + 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879, + 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919, + 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd, + 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9, + 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99, + 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39, + 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9, + 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d, + 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19, + 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9, + 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59, + 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9, + 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d, + 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040, + 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040, + 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040, + 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040, + 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040, + 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040, +} + +// idnaIndex: 36 blocks, 2304 entries, 4608 bytes +// Block 0 is the zero block. +var idnaIndex = [2304]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21, + // Block 0x4, offset 0x100 + 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, + 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3, + 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, + // Block 0x6, offset 0x180 + 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b, + 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0, + 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5, + 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1, + 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8, + 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0, + 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe, + 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, + 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52, + 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e, + 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c, + 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba, + 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0x126, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0x128, 0x3fd: 0x129, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x12a, 0x401: 0x12b, 0x402: 0x12c, 0x403: 0x12d, 0x404: 0x12e, 0x405: 0x12f, 0x406: 0x130, 0x407: 0x131, + 0x408: 0x132, 0x409: 0xba, 0x40a: 0x133, 0x40b: 0x134, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x135, 0x411: 0x136, 0x412: 0x137, 0x413: 0x138, 0x414: 0xba, 0x415: 0xba, 0x416: 0x139, 0x417: 0x13a, + 0x418: 0x13b, 0x419: 0x13c, 0x41a: 0x13d, 0x41b: 0x13e, 0x41c: 0x13f, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0x140, 0x421: 0xba, 0x422: 0x141, 0x423: 0x142, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0x143, 0x429: 0x144, 0x42a: 0x145, 0x42b: 0x146, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x147, 0x431: 0x148, 0x432: 0x149, 0x433: 0xba, 0x434: 0x14a, 0x435: 0x14b, 0x436: 0x14c, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0x14d, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x14e, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x14f, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x150, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x151, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x152, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x146, 0x529: 0x153, 0x52a: 0xba, 0x52b: 0x154, 0x52c: 0x155, 0x52d: 0x156, 0x52e: 0x157, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0x158, 0x53a: 0x159, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x15a, 0x53e: 0x15b, 0x53f: 0x15c, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x15d, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x15e, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x15f, 0x585: 0x160, 0x586: 0x9f, 0x587: 0x9f, + 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x161, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x162, 0x5b2: 0x163, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x164, 0x5c4: 0x165, 0x5c5: 0x166, 0x5c6: 0x167, 0x5c7: 0x168, + 0x5c8: 0x9b, 0x5c9: 0x169, 0x5ca: 0xba, 0x5cb: 0x16a, 0x5cc: 0x9b, 0x5cd: 0x16b, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66, + 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x16c, 0x5e9: 0x16d, 0x5ea: 0x16e, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x16f, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x170, 0x624: 0x6f, 0x625: 0x171, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0x172, 0x632: 0x173, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x174, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x175, 0x641: 0x9b, 0x642: 0x176, 0x643: 0x177, 0x644: 0x73, 0x645: 0x74, 0x646: 0x178, 0x647: 0x179, + 0x648: 0x75, 0x649: 0x17a, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x17b, 0x65c: 0x9b, 0x65d: 0x17c, 0x65e: 0x9b, 0x65f: 0x17d, + 0x660: 0x17e, 0x661: 0x17f, 0x662: 0x180, 0x663: 0xba, 0x664: 0x181, 0x665: 0x182, 0x666: 0x183, 0x667: 0x184, + 0x668: 0xba, 0x669: 0x185, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x186, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x187, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x188, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x189, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f, + // Block 0x1d, offset 0x740 + 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f, + 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f, + 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f, + 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f, + 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f, + 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x18a, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba, + 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba, + 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba, + 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba, + 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x18b, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x18c, 0x7a7: 0x7b, + 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba, + 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba, + 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba, + // Block 0x1f, offset 0x7c0 + 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07, + 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17, + 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07, + 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b, + 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b, + 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b, + 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b, + 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b, + 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b, + 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, + 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, + // Block 0x21, offset 0x840 + 0x840: 0x18d, 0x841: 0x18e, 0x842: 0xba, 0x843: 0xba, 0x844: 0x18f, 0x845: 0x18f, 0x846: 0x18f, 0x847: 0x190, + 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba, + 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba, + 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba, + 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba, + 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba, + 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba, + 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, + 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b, + 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b, + 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b, + 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b, + 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b, + 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, + 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, +} + +// idnaSparseOffset: 276 entries, 552 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x86, 0x8b, 0x94, 0xa4, 0xb2, 0xbe, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x224, 0x22e, 0x23a, 0x246, 0x252, 0x25a, 0x25f, 0x269, 0x27a, 0x27e, 0x289, 0x28d, 0x296, 0x29e, 0x2a4, 0x2a9, 0x2ac, 0x2b0, 0x2b6, 0x2ba, 0x2be, 0x2c2, 0x2c7, 0x2cd, 0x2d5, 0x2dc, 0x2e7, 0x2f1, 0x2f5, 0x2f8, 0x2fe, 0x302, 0x304, 0x307, 0x309, 0x30c, 0x316, 0x319, 0x328, 0x32c, 0x331, 0x334, 0x338, 0x33d, 0x342, 0x348, 0x34e, 0x35d, 0x363, 0x367, 0x376, 0x37b, 0x383, 0x38d, 0x398, 0x3a0, 0x3b1, 0x3ba, 0x3ca, 0x3d7, 0x3e1, 0x3e6, 0x3f3, 0x3f7, 0x3fc, 0x3fe, 0x402, 0x404, 0x408, 0x411, 0x417, 0x41b, 0x42b, 0x435, 0x43a, 0x43d, 0x443, 0x44a, 0x44f, 0x453, 0x459, 0x45e, 0x467, 0x46c, 0x472, 0x479, 0x480, 0x487, 0x48b, 0x490, 0x493, 0x498, 0x4a4, 0x4aa, 0x4af, 0x4b6, 0x4be, 0x4c3, 0x4c7, 0x4d7, 0x4de, 0x4e2, 0x4e6, 0x4ed, 0x4ef, 0x4f2, 0x4f5, 0x4f9, 0x502, 0x506, 0x50e, 0x516, 0x51c, 0x525, 0x531, 0x538, 0x541, 0x54b, 0x552, 0x560, 0x56d, 0x57a, 0x583, 0x587, 0x596, 0x59e, 0x5a9, 0x5b2, 0x5b8, 0x5c0, 0x5c9, 0x5d3, 0x5d6, 0x5e2, 0x5eb, 0x5ee, 0x5f3, 0x5fe, 0x607, 0x613, 0x616, 0x620, 0x629, 0x635, 0x642, 0x64f, 0x65d, 0x664, 0x667, 0x66c, 0x66f, 0x672, 0x675, 0x67c, 0x683, 0x687, 0x692, 0x695, 0x698, 0x69b, 0x6a1, 0x6a6, 0x6aa, 0x6ad, 0x6b0, 0x6b3, 0x6b6, 0x6b9, 0x6be, 0x6c8, 0x6cb, 0x6cf, 0x6de, 0x6ea, 0x6ee, 0x6f3, 0x6f7, 0x6fc, 0x700, 0x705, 0x70e, 0x719, 0x71f, 0x727, 0x72a, 0x72d, 0x731, 0x735, 0x73b, 0x741, 0x746, 0x749, 0x759, 0x760, 0x763, 0x766, 0x76a, 0x770, 0x775, 0x77a, 0x782, 0x787, 0x78b, 0x78f, 0x792, 0x795, 0x799, 0x79d, 0x7a0, 0x7b0, 0x7c1, 0x7c6, 0x7c8, 0x7ca} + +// idnaSparseValues: 1997 entries, 7988 bytes +var idnaSparseValues = [1997]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x06}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x6, offset 0x33 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3e + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xae}, + {value: 0x0808, lo: 0xaf, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4a + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4e + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5d + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x62 + {value: 0x0000, lo: 0x09}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbf}, + // Block 0xc, offset 0x6c + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x78 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xe, offset 0x86 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0xf, offset 0x8b + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x94 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x11, offset 0xa4 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb2 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbe + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xca + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x15, offset 0xdb + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x16, offset 0xe5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x17, offset 0xec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x18, offset 0xf9 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x10a + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1a, offset 0x111 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0x11c + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1c, offset 0x12b + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0x143 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x1f, offset 0x145 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x20, offset 0x14a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x21, offset 0x14d + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x22, offset 0x150 + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x152 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x15e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x169 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x171 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x177 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x17d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x182 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x187 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x18a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x18e + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x194 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x199 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1a5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1af + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1b5 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1c6 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1d0 + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x34, offset 0x1d3 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1db + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1de + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x1eb + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x1f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x1f7 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x1fe + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x206 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x216 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x222 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3e, offset 0x224 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x22e + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23a + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x246 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x252 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x25a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x25f + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x45, offset 0x269 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x46, offset 0x27a + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x27e + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x289 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x28d + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x296 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x29e + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2a4 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2a9 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4e, offset 0x2ac + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x4f, offset 0x2b0 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x50, offset 0x2b6 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x51, offset 0x2ba + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x52, offset 0x2be + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xbf}, + // Block 0x53, offset 0x2c2 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x54, offset 0x2c7 + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2cd + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2d5 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x57, offset 0x2dc + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x58, offset 0x2e7 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x59, offset 0x2f1 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5a, offset 0x2f5 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0xbf}, + // Block 0x5b, offset 0x2f8 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5c, offset 0x2fe + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5d, offset 0x302 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x5e, offset 0x304 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x5f, offset 0x307 + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x309 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x61, offset 0x30c + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x62, offset 0x316 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x319 + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x64, offset 0x328 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x65, offset 0x32c + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x66, offset 0x331 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x67, offset 0x334 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x68, offset 0x338 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x69, offset 0x33d + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6a, offset 0x342 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6b, offset 0x348 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6c, offset 0x34e + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6d, offset 0x35d + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6e, offset 0x363 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6f, offset 0x367 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x70, offset 0x376 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x71, offset 0x37b + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x72, offset 0x383 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x73, offset 0x38d + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x398 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x75, offset 0x3a0 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x76, offset 0x3b1 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x77, offset 0x3ba + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x78, offset 0x3ca + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x79, offset 0x3d7 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3e1 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3e6 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7c, offset 0x3f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7e, offset 0x3fc + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x7f, offset 0x3fe + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x80, offset 0x402 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x404 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x82, offset 0x408 + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x83, offset 0x411 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x84, offset 0x417 + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x85, offset 0x41b + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x86, offset 0x42b + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x87, offset 0x435 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x88, offset 0x43a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x89, offset 0x43d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8a, offset 0x443 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8b, offset 0x44a + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8c, offset 0x44f + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8d, offset 0x453 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8e, offset 0x459 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xbf}, + // Block 0x8f, offset 0x45e + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x90, offset 0x467 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x91, offset 0x46c + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x92, offset 0x472 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x93, offset 0x479 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x94, offset 0x480 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x487 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x96, offset 0x48b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x490 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x98, offset 0x493 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x99, offset 0x498 + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x4a4 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9b, offset 0x4aa + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9c, offset 0x4af + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9d, offset 0x4b6 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x4be + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9f, offset 0x4c3 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa0, offset 0x4c7 + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa1, offset 0x4d7 + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa2, offset 0x4de + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x4e2 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa4, offset 0x4e6 + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa5, offset 0x4ed + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa6, offset 0x4ef + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa7, offset 0x4f2 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa8, offset 0x4f5 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x4f9 + {value: 0x0000, lo: 0x08}, + {value: 0x0908, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0xa1}, + {value: 0x0c08, lo: 0xa2, hi: 0xa2}, + {value: 0x0a08, lo: 0xa3, hi: 0xa3}, + {value: 0x3308, lo: 0xa4, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xaa, offset 0x502 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xab, offset 0x506 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0xa6}, + {value: 0x0808, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0a08, lo: 0xb0, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb3}, + {value: 0x0a08, lo: 0xb4, hi: 0xbf}, + // Block 0xac, offset 0x50e + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x84}, + {value: 0x0808, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x90}, + {value: 0x0a18, lo: 0x91, hi: 0x93}, + {value: 0x0c18, lo: 0x94, hi: 0x94}, + {value: 0x0818, lo: 0x95, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xad, offset 0x516 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xae, offset 0x51c + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xaf, offset 0x525 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xb0, offset 0x531 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb1, offset 0x538 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb2, offset 0x541 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb3, offset 0x54b + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb4, offset 0x552 + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb5, offset 0x560 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb6, offset 0x56d + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb7, offset 0x57a + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb8, offset 0x583 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb9, offset 0x587 + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xba, offset 0x596 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xbb, offset 0x59e + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbc, offset 0x5a9 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbd, offset 0x5b2 + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbe, offset 0x5b8 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbf, offset 0x5c0 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xc0, offset 0x5c9 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xc1, offset 0x5d3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc2, offset 0x5d6 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc3, offset 0x5e2 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xc4, offset 0x5eb + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc5, offset 0x5ee + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc6, offset 0x5f3 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0xc7, offset 0x5fe + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x3b08, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0xbf}, + // Block 0xc8, offset 0x607 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x98}, + {value: 0x3b08, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xbf}, + // Block 0xc9, offset 0x613 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xca, offset 0x616 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xcb, offset 0x620 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xcc, offset 0x629 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xcd, offset 0x635 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xce, offset 0x642 + {value: 0x0000, lo: 0x0c}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xbf}, + // Block 0xcf, offset 0x64f + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x3008, lo: 0x93, hi: 0x94}, + {value: 0x3308, lo: 0x95, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x96}, + {value: 0x3b08, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xbf}, + // Block 0xd0, offset 0x65d + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xd1, offset 0x664 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xd2, offset 0x667 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xd3, offset 0x66c + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xd4, offset 0x66f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xd5, offset 0x672 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xd6, offset 0x675 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xd7, offset 0x67c + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xd8, offset 0x683 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd9, offset 0x687 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xda, offset 0x692 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xdb, offset 0x695 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xdc, offset 0x698 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0xdd, offset 0x69b + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xde, offset 0x6a1 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xdf, offset 0x6a6 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xe0, offset 0x6aa + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe1, offset 0x6ad + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xe2, offset 0x6b0 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xe3, offset 0x6b3 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xe4, offset 0x6b6 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0xe5, offset 0x6b9 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xe6, offset 0x6be + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xe7, offset 0x6c8 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xe8, offset 0x6cb + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xe9, offset 0x6cf + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xea, offset 0x6de + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xeb, offset 0x6ea + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xec, offset 0x6ee + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xed, offset 0x6f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xee, offset 0x6f7 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xef, offset 0x6fc + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xf0, offset 0x700 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xf1, offset 0x705 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xf2, offset 0x70e + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xf3, offset 0x719 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xf4, offset 0x71f + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xf5, offset 0x727 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xb0}, + {value: 0x0818, lo: 0xb1, hi: 0xbf}, + // Block 0xf6, offset 0x72a + {value: 0x0000, lo: 0x02}, + {value: 0x0818, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xf7, offset 0x72d + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xf8, offset 0x731 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xf9, offset 0x735 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xfa, offset 0x73b + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xfb, offset 0x741 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xfc, offset 0x746 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xfd, offset 0x749 + {value: 0x0000, lo: 0x0f}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xbf}, + // Block 0xfe, offset 0x759 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xff, offset 0x760 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x100, offset 0x763 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0xbf}, + // Block 0x101, offset 0x766 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x102, offset 0x76a + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x103, offset 0x770 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x104, offset 0x775 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x105, offset 0x77a + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x106, offset 0x782 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa2}, + {value: 0x0040, lo: 0xa3, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x107, offset 0x787 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x108, offset 0x78b + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0x109, offset 0x78f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0x10a, offset 0x792 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x10b, offset 0x795 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x10c, offset 0x799 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x10d, offset 0x79d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x10e, offset 0x7a0 + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0x10f, offset 0x7b0 + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0x110, offset 0x7c1 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0x111, offset 0x7c6 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x112, offset 0x7c8 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x113, offset 0x7ca + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 42466 bytes (41KiB); checksum: 355A58A4 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables9.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables9.0.0.go new file mode 100644 index 0000000..8b65fa1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/tables9.0.0.go @@ -0,0 +1,4486 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build !go1.10 + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +var mappings string = "" + // Size: 8175 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 28600 bytes (27.93 KiB). Checksum: 95575047b5d8fff. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 124: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 124 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 126 blocks, 8064 entries, 16128 bytes +// The third block is the zero block. +var idnaValues = [8064]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, + 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, + 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, + 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, + 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, + 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, + 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, + 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, + 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, + 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, + 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, + 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, + 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, + 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, + 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, + 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, + 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, + // Block 0x12, offset 0x480 + 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, + 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, + 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, + 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, + 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, + 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, + 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, + 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, + 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, + 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, + 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, + 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, + 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, + 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, + 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, + 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, + 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, + 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, + 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, + 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, + 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, + // Block 0x14, offset 0x500 + 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, + 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, + 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, + 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, + 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, + 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, + 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, + 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, + 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, + 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, + 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, + // Block 0x15, offset 0x540 + 0x540: 0x3008, 0x541: 0x3308, 0x542: 0x3308, 0x543: 0x3308, 0x544: 0x3308, 0x545: 0x3308, + 0x546: 0x3308, 0x547: 0x3308, 0x548: 0x3308, 0x549: 0x3008, 0x54a: 0x3008, 0x54b: 0x3008, + 0x54c: 0x3008, 0x54d: 0x3b08, 0x54e: 0x3008, 0x54f: 0x3008, 0x550: 0x0008, 0x551: 0x3308, + 0x552: 0x3308, 0x553: 0x3308, 0x554: 0x3308, 0x555: 0x3308, 0x556: 0x3308, 0x557: 0x3308, + 0x558: 0x04c9, 0x559: 0x0501, 0x55a: 0x0539, 0x55b: 0x0571, 0x55c: 0x05a9, 0x55d: 0x05e1, + 0x55e: 0x0619, 0x55f: 0x0651, 0x560: 0x0008, 0x561: 0x0008, 0x562: 0x3308, 0x563: 0x3308, + 0x564: 0x0018, 0x565: 0x0018, 0x566: 0x0008, 0x567: 0x0008, 0x568: 0x0008, 0x569: 0x0008, + 0x56a: 0x0008, 0x56b: 0x0008, 0x56c: 0x0008, 0x56d: 0x0008, 0x56e: 0x0008, 0x56f: 0x0008, + 0x570: 0x0018, 0x571: 0x0008, 0x572: 0x0008, 0x573: 0x0008, 0x574: 0x0008, 0x575: 0x0008, + 0x576: 0x0008, 0x577: 0x0008, 0x578: 0x0008, 0x579: 0x0008, 0x57a: 0x0008, 0x57b: 0x0008, + 0x57c: 0x0008, 0x57d: 0x0008, 0x57e: 0x0008, 0x57f: 0x0008, + // Block 0x16, offset 0x580 + 0x580: 0x0008, 0x581: 0x3308, 0x582: 0x3008, 0x583: 0x3008, 0x584: 0x0040, 0x585: 0x0008, + 0x586: 0x0008, 0x587: 0x0008, 0x588: 0x0008, 0x589: 0x0008, 0x58a: 0x0008, 0x58b: 0x0008, + 0x58c: 0x0008, 0x58d: 0x0040, 0x58e: 0x0040, 0x58f: 0x0008, 0x590: 0x0008, 0x591: 0x0040, + 0x592: 0x0040, 0x593: 0x0008, 0x594: 0x0008, 0x595: 0x0008, 0x596: 0x0008, 0x597: 0x0008, + 0x598: 0x0008, 0x599: 0x0008, 0x59a: 0x0008, 0x59b: 0x0008, 0x59c: 0x0008, 0x59d: 0x0008, + 0x59e: 0x0008, 0x59f: 0x0008, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x0008, 0x5a3: 0x0008, + 0x5a4: 0x0008, 0x5a5: 0x0008, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0040, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0008, 0x5b1: 0x0040, 0x5b2: 0x0008, 0x5b3: 0x0040, 0x5b4: 0x0040, 0x5b5: 0x0040, + 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0040, 0x5bb: 0x0040, + 0x5bc: 0x3308, 0x5bd: 0x0008, 0x5be: 0x3008, 0x5bf: 0x3008, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3008, 0x5c1: 0x3308, 0x5c2: 0x3308, 0x5c3: 0x3308, 0x5c4: 0x3308, 0x5c5: 0x0040, + 0x5c6: 0x0040, 0x5c7: 0x3008, 0x5c8: 0x3008, 0x5c9: 0x0040, 0x5ca: 0x0040, 0x5cb: 0x3008, + 0x5cc: 0x3008, 0x5cd: 0x3b08, 0x5ce: 0x0008, 0x5cf: 0x0040, 0x5d0: 0x0040, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0040, 0x5d4: 0x0040, 0x5d5: 0x0040, 0x5d6: 0x0040, 0x5d7: 0x3008, + 0x5d8: 0x0040, 0x5d9: 0x0040, 0x5da: 0x0040, 0x5db: 0x0040, 0x5dc: 0x0689, 0x5dd: 0x06c1, + 0x5de: 0x0040, 0x5df: 0x06f9, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x3308, 0x5e3: 0x3308, + 0x5e4: 0x0040, 0x5e5: 0x0040, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0008, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0008, 0x5f2: 0x0018, 0x5f3: 0x0018, 0x5f4: 0x0018, 0x5f5: 0x0018, + 0x5f6: 0x0018, 0x5f7: 0x0018, 0x5f8: 0x0018, 0x5f9: 0x0018, 0x5fa: 0x0018, 0x5fb: 0x0018, + 0x5fc: 0x0040, 0x5fd: 0x0040, 0x5fe: 0x0040, 0x5ff: 0x0040, + // Block 0x18, offset 0x600 + 0x600: 0x0040, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3008, 0x604: 0x0040, 0x605: 0x0008, + 0x606: 0x0008, 0x607: 0x0008, 0x608: 0x0008, 0x609: 0x0008, 0x60a: 0x0008, 0x60b: 0x0040, + 0x60c: 0x0040, 0x60d: 0x0040, 0x60e: 0x0040, 0x60f: 0x0008, 0x610: 0x0008, 0x611: 0x0040, + 0x612: 0x0040, 0x613: 0x0008, 0x614: 0x0008, 0x615: 0x0008, 0x616: 0x0008, 0x617: 0x0008, + 0x618: 0x0008, 0x619: 0x0008, 0x61a: 0x0008, 0x61b: 0x0008, 0x61c: 0x0008, 0x61d: 0x0008, + 0x61e: 0x0008, 0x61f: 0x0008, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x0008, 0x623: 0x0008, + 0x624: 0x0008, 0x625: 0x0008, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0040, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x0008, 0x631: 0x0040, 0x632: 0x0008, 0x633: 0x0731, 0x634: 0x0040, 0x635: 0x0008, + 0x636: 0x0769, 0x637: 0x0040, 0x638: 0x0008, 0x639: 0x0008, 0x63a: 0x0040, 0x63b: 0x0040, + 0x63c: 0x3308, 0x63d: 0x0040, 0x63e: 0x3008, 0x63f: 0x3008, + // Block 0x19, offset 0x640 + 0x640: 0x3008, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x0040, 0x644: 0x0040, 0x645: 0x0040, + 0x646: 0x0040, 0x647: 0x3308, 0x648: 0x3308, 0x649: 0x0040, 0x64a: 0x0040, 0x64b: 0x3308, + 0x64c: 0x3308, 0x64d: 0x3b08, 0x64e: 0x0040, 0x64f: 0x0040, 0x650: 0x0040, 0x651: 0x3308, + 0x652: 0x0040, 0x653: 0x0040, 0x654: 0x0040, 0x655: 0x0040, 0x656: 0x0040, 0x657: 0x0040, + 0x658: 0x0040, 0x659: 0x07a1, 0x65a: 0x07d9, 0x65b: 0x0811, 0x65c: 0x0008, 0x65d: 0x0040, + 0x65e: 0x0849, 0x65f: 0x0040, 0x660: 0x0040, 0x661: 0x0040, 0x662: 0x0040, 0x663: 0x0040, + 0x664: 0x0040, 0x665: 0x0040, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0008, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x3308, 0x671: 0x3308, 0x672: 0x0008, 0x673: 0x0008, 0x674: 0x0008, 0x675: 0x3308, + 0x676: 0x0040, 0x677: 0x0040, 0x678: 0x0040, 0x679: 0x0040, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x0040, 0x67d: 0x0040, 0x67e: 0x0040, 0x67f: 0x0040, + // Block 0x1a, offset 0x680 + 0x680: 0x0040, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x3008, 0x684: 0x0040, 0x685: 0x0008, + 0x686: 0x0008, 0x687: 0x0008, 0x688: 0x0008, 0x689: 0x0008, 0x68a: 0x0008, 0x68b: 0x0008, + 0x68c: 0x0008, 0x68d: 0x0008, 0x68e: 0x0040, 0x68f: 0x0008, 0x690: 0x0008, 0x691: 0x0008, + 0x692: 0x0040, 0x693: 0x0008, 0x694: 0x0008, 0x695: 0x0008, 0x696: 0x0008, 0x697: 0x0008, + 0x698: 0x0008, 0x699: 0x0008, 0x69a: 0x0008, 0x69b: 0x0008, 0x69c: 0x0008, 0x69d: 0x0008, + 0x69e: 0x0008, 0x69f: 0x0008, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x0008, 0x6a3: 0x0008, + 0x6a4: 0x0008, 0x6a5: 0x0008, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0040, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x0008, 0x6b1: 0x0040, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0040, 0x6b5: 0x0008, + 0x6b6: 0x0008, 0x6b7: 0x0008, 0x6b8: 0x0008, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x3308, 0x6bd: 0x0008, 0x6be: 0x3008, 0x6bf: 0x3008, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3008, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3308, 0x6c4: 0x3308, 0x6c5: 0x3308, + 0x6c6: 0x0040, 0x6c7: 0x3308, 0x6c8: 0x3308, 0x6c9: 0x3008, 0x6ca: 0x0040, 0x6cb: 0x3008, + 0x6cc: 0x3008, 0x6cd: 0x3b08, 0x6ce: 0x0040, 0x6cf: 0x0040, 0x6d0: 0x0008, 0x6d1: 0x0040, + 0x6d2: 0x0040, 0x6d3: 0x0040, 0x6d4: 0x0040, 0x6d5: 0x0040, 0x6d6: 0x0040, 0x6d7: 0x0040, + 0x6d8: 0x0040, 0x6d9: 0x0040, 0x6da: 0x0040, 0x6db: 0x0040, 0x6dc: 0x0040, 0x6dd: 0x0040, + 0x6de: 0x0040, 0x6df: 0x0040, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x3308, 0x6e3: 0x3308, + 0x6e4: 0x0040, 0x6e5: 0x0040, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0008, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0018, 0x6f1: 0x0018, 0x6f2: 0x0040, 0x6f3: 0x0040, 0x6f4: 0x0040, 0x6f5: 0x0040, + 0x6f6: 0x0040, 0x6f7: 0x0040, 0x6f8: 0x0040, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x0040, 0x6fd: 0x0040, 0x6fe: 0x0040, 0x6ff: 0x0040, + // Block 0x1c, offset 0x700 + 0x700: 0x0040, 0x701: 0x3308, 0x702: 0x3008, 0x703: 0x3008, 0x704: 0x0040, 0x705: 0x0008, + 0x706: 0x0008, 0x707: 0x0008, 0x708: 0x0008, 0x709: 0x0008, 0x70a: 0x0008, 0x70b: 0x0008, + 0x70c: 0x0008, 0x70d: 0x0040, 0x70e: 0x0040, 0x70f: 0x0008, 0x710: 0x0008, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0008, 0x714: 0x0008, 0x715: 0x0008, 0x716: 0x0008, 0x717: 0x0008, + 0x718: 0x0008, 0x719: 0x0008, 0x71a: 0x0008, 0x71b: 0x0008, 0x71c: 0x0008, 0x71d: 0x0008, + 0x71e: 0x0008, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x0008, 0x723: 0x0008, + 0x724: 0x0008, 0x725: 0x0008, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0040, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0008, 0x731: 0x0040, 0x732: 0x0008, 0x733: 0x0008, 0x734: 0x0040, 0x735: 0x0008, + 0x736: 0x0008, 0x737: 0x0008, 0x738: 0x0008, 0x739: 0x0008, 0x73a: 0x0040, 0x73b: 0x0040, + 0x73c: 0x3308, 0x73d: 0x0008, 0x73e: 0x3008, 0x73f: 0x3308, + // Block 0x1d, offset 0x740 + 0x740: 0x3008, 0x741: 0x3308, 0x742: 0x3308, 0x743: 0x3308, 0x744: 0x3308, 0x745: 0x0040, + 0x746: 0x0040, 0x747: 0x3008, 0x748: 0x3008, 0x749: 0x0040, 0x74a: 0x0040, 0x74b: 0x3008, + 0x74c: 0x3008, 0x74d: 0x3b08, 0x74e: 0x0040, 0x74f: 0x0040, 0x750: 0x0040, 0x751: 0x0040, + 0x752: 0x0040, 0x753: 0x0040, 0x754: 0x0040, 0x755: 0x0040, 0x756: 0x3308, 0x757: 0x3008, + 0x758: 0x0040, 0x759: 0x0040, 0x75a: 0x0040, 0x75b: 0x0040, 0x75c: 0x0881, 0x75d: 0x08b9, + 0x75e: 0x0040, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x3308, 0x763: 0x3308, + 0x764: 0x0040, 0x765: 0x0040, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0008, + 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0018, 0x771: 0x0008, 0x772: 0x0018, 0x773: 0x0018, 0x774: 0x0018, 0x775: 0x0018, + 0x776: 0x0018, 0x777: 0x0018, 0x778: 0x0040, 0x779: 0x0040, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x0040, 0x77d: 0x0040, 0x77e: 0x0040, 0x77f: 0x0040, + // Block 0x1e, offset 0x780 + 0x780: 0x0040, 0x781: 0x0040, 0x782: 0x3308, 0x783: 0x0008, 0x784: 0x0040, 0x785: 0x0008, + 0x786: 0x0008, 0x787: 0x0008, 0x788: 0x0008, 0x789: 0x0008, 0x78a: 0x0008, 0x78b: 0x0040, + 0x78c: 0x0040, 0x78d: 0x0040, 0x78e: 0x0008, 0x78f: 0x0008, 0x790: 0x0008, 0x791: 0x0040, + 0x792: 0x0008, 0x793: 0x0008, 0x794: 0x0008, 0x795: 0x0008, 0x796: 0x0040, 0x797: 0x0040, + 0x798: 0x0040, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0040, 0x79c: 0x0008, 0x79d: 0x0040, + 0x79e: 0x0008, 0x79f: 0x0008, 0x7a0: 0x0040, 0x7a1: 0x0040, 0x7a2: 0x0040, 0x7a3: 0x0008, + 0x7a4: 0x0008, 0x7a5: 0x0040, 0x7a6: 0x0040, 0x7a7: 0x0040, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0040, 0x7ac: 0x0040, 0x7ad: 0x0040, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0008, 0x7b1: 0x0008, 0x7b2: 0x0008, 0x7b3: 0x0008, 0x7b4: 0x0008, 0x7b5: 0x0008, + 0x7b6: 0x0008, 0x7b7: 0x0008, 0x7b8: 0x0008, 0x7b9: 0x0008, 0x7ba: 0x0040, 0x7bb: 0x0040, + 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x3008, 0x7bf: 0x3008, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x3308, 0x7c1: 0x3008, 0x7c2: 0x3008, 0x7c3: 0x3008, 0x7c4: 0x3008, 0x7c5: 0x0040, + 0x7c6: 0x3308, 0x7c7: 0x3308, 0x7c8: 0x3308, 0x7c9: 0x0040, 0x7ca: 0x3308, 0x7cb: 0x3308, + 0x7cc: 0x3308, 0x7cd: 0x3b08, 0x7ce: 0x0040, 0x7cf: 0x0040, 0x7d0: 0x0040, 0x7d1: 0x0040, + 0x7d2: 0x0040, 0x7d3: 0x0040, 0x7d4: 0x0040, 0x7d5: 0x3308, 0x7d6: 0x3308, 0x7d7: 0x0040, + 0x7d8: 0x0008, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0040, 0x7dd: 0x0040, + 0x7de: 0x0040, 0x7df: 0x0040, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x3308, 0x7e3: 0x3308, + 0x7e4: 0x0040, 0x7e5: 0x0040, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0008, + 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0040, 0x7f1: 0x0040, 0x7f2: 0x0040, 0x7f3: 0x0040, 0x7f4: 0x0040, 0x7f5: 0x0040, + 0x7f6: 0x0040, 0x7f7: 0x0040, 0x7f8: 0x0018, 0x7f9: 0x0018, 0x7fa: 0x0018, 0x7fb: 0x0018, + 0x7fc: 0x0018, 0x7fd: 0x0018, 0x7fe: 0x0018, 0x7ff: 0x0018, + // Block 0x20, offset 0x800 + 0x800: 0x0008, 0x801: 0x3308, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x0040, 0x805: 0x0008, + 0x806: 0x0008, 0x807: 0x0008, 0x808: 0x0008, 0x809: 0x0008, 0x80a: 0x0008, 0x80b: 0x0008, + 0x80c: 0x0008, 0x80d: 0x0040, 0x80e: 0x0008, 0x80f: 0x0008, 0x810: 0x0008, 0x811: 0x0040, + 0x812: 0x0008, 0x813: 0x0008, 0x814: 0x0008, 0x815: 0x0008, 0x816: 0x0008, 0x817: 0x0008, + 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0008, 0x81c: 0x0008, 0x81d: 0x0008, + 0x81e: 0x0008, 0x81f: 0x0008, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x0008, 0x823: 0x0008, + 0x824: 0x0008, 0x825: 0x0008, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0040, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0008, 0x831: 0x0008, 0x832: 0x0008, 0x833: 0x0008, 0x834: 0x0040, 0x835: 0x0008, + 0x836: 0x0008, 0x837: 0x0008, 0x838: 0x0008, 0x839: 0x0008, 0x83a: 0x0040, 0x83b: 0x0040, + 0x83c: 0x3308, 0x83d: 0x0008, 0x83e: 0x3008, 0x83f: 0x3308, + // Block 0x21, offset 0x840 + 0x840: 0x3008, 0x841: 0x3008, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x3008, 0x845: 0x0040, + 0x846: 0x3308, 0x847: 0x3008, 0x848: 0x3008, 0x849: 0x0040, 0x84a: 0x3008, 0x84b: 0x3008, + 0x84c: 0x3308, 0x84d: 0x3b08, 0x84e: 0x0040, 0x84f: 0x0040, 0x850: 0x0040, 0x851: 0x0040, + 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0040, 0x855: 0x3008, 0x856: 0x3008, 0x857: 0x0040, + 0x858: 0x0040, 0x859: 0x0040, 0x85a: 0x0040, 0x85b: 0x0040, 0x85c: 0x0040, 0x85d: 0x0040, + 0x85e: 0x0008, 0x85f: 0x0040, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x3308, 0x863: 0x3308, + 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0040, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0040, 0x874: 0x0040, 0x875: 0x0040, + 0x876: 0x0040, 0x877: 0x0040, 0x878: 0x0040, 0x879: 0x0040, 0x87a: 0x0040, 0x87b: 0x0040, + 0x87c: 0x0040, 0x87d: 0x0040, 0x87e: 0x0040, 0x87f: 0x0040, + // Block 0x22, offset 0x880 + 0x880: 0x3008, 0x881: 0x3308, 0x882: 0x3308, 0x883: 0x3308, 0x884: 0x3308, 0x885: 0x0040, + 0x886: 0x3008, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, + 0x88c: 0x3008, 0x88d: 0x3b08, 0x88e: 0x0008, 0x88f: 0x0018, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x3008, + 0x898: 0x0018, 0x899: 0x0018, 0x89a: 0x0018, 0x89b: 0x0018, 0x89c: 0x0018, 0x89d: 0x0018, + 0x89e: 0x0018, 0x89f: 0x0008, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, + 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0018, 0x8b1: 0x0018, 0x8b2: 0x0018, 0x8b3: 0x0018, 0x8b4: 0x0018, 0x8b5: 0x0018, + 0x8b6: 0x0018, 0x8b7: 0x0018, 0x8b8: 0x0018, 0x8b9: 0x0018, 0x8ba: 0x0008, 0x8bb: 0x0008, + 0x8bc: 0x0008, 0x8bd: 0x0008, 0x8be: 0x0008, 0x8bf: 0x0008, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0040, 0x8c1: 0x0008, 0x8c2: 0x0008, 0x8c3: 0x0040, 0x8c4: 0x0008, 0x8c5: 0x0040, + 0x8c6: 0x0040, 0x8c7: 0x0008, 0x8c8: 0x0008, 0x8c9: 0x0040, 0x8ca: 0x0008, 0x8cb: 0x0040, + 0x8cc: 0x0040, 0x8cd: 0x0008, 0x8ce: 0x0040, 0x8cf: 0x0040, 0x8d0: 0x0040, 0x8d1: 0x0040, + 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x0008, + 0x8d8: 0x0040, 0x8d9: 0x0008, 0x8da: 0x0008, 0x8db: 0x0008, 0x8dc: 0x0008, 0x8dd: 0x0008, + 0x8de: 0x0008, 0x8df: 0x0008, 0x8e0: 0x0040, 0x8e1: 0x0008, 0x8e2: 0x0008, 0x8e3: 0x0008, + 0x8e4: 0x0040, 0x8e5: 0x0008, 0x8e6: 0x0040, 0x8e7: 0x0008, 0x8e8: 0x0040, 0x8e9: 0x0040, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0040, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, + 0x8f0: 0x0008, 0x8f1: 0x3308, 0x8f2: 0x0008, 0x8f3: 0x0929, 0x8f4: 0x3308, 0x8f5: 0x3308, + 0x8f6: 0x3308, 0x8f7: 0x3308, 0x8f8: 0x3308, 0x8f9: 0x3308, 0x8fa: 0x0040, 0x8fb: 0x3308, + 0x8fc: 0x3308, 0x8fd: 0x0008, 0x8fe: 0x0040, 0x8ff: 0x0040, + // Block 0x24, offset 0x900 + 0x900: 0x0008, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x09d1, 0x904: 0x0008, 0x905: 0x0008, + 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0040, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0008, + 0x90c: 0x0008, 0x90d: 0x0a09, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008, + 0x912: 0x0a41, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0a79, + 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0ab1, 0x91d: 0x0008, + 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, + 0x924: 0x0008, 0x925: 0x0008, 0x926: 0x0008, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0ae9, + 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0040, 0x92e: 0x0040, 0x92f: 0x0040, + 0x930: 0x0040, 0x931: 0x3308, 0x932: 0x3308, 0x933: 0x0b21, 0x934: 0x3308, 0x935: 0x0b59, + 0x936: 0x0b91, 0x937: 0x0bc9, 0x938: 0x0c19, 0x939: 0x0c51, 0x93a: 0x3308, 0x93b: 0x3308, + 0x93c: 0x3308, 0x93d: 0x3308, 0x93e: 0x3308, 0x93f: 0x3008, + // Block 0x25, offset 0x940 + 0x940: 0x3308, 0x941: 0x0ca1, 0x942: 0x3308, 0x943: 0x3308, 0x944: 0x3b08, 0x945: 0x0018, + 0x946: 0x3308, 0x947: 0x3308, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x3308, 0x94e: 0x3308, 0x94f: 0x3308, 0x950: 0x3308, 0x951: 0x3308, + 0x952: 0x3308, 0x953: 0x0cd9, 0x954: 0x3308, 0x955: 0x3308, 0x956: 0x3308, 0x957: 0x3308, + 0x958: 0x0040, 0x959: 0x3308, 0x95a: 0x3308, 0x95b: 0x3308, 0x95c: 0x3308, 0x95d: 0x0d11, + 0x95e: 0x3308, 0x95f: 0x3308, 0x960: 0x3308, 0x961: 0x3308, 0x962: 0x0d49, 0x963: 0x3308, + 0x964: 0x3308, 0x965: 0x3308, 0x966: 0x3308, 0x967: 0x0d81, 0x968: 0x3308, 0x969: 0x3308, + 0x96a: 0x3308, 0x96b: 0x3308, 0x96c: 0x0db9, 0x96d: 0x3308, 0x96e: 0x3308, 0x96f: 0x3308, + 0x970: 0x3308, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x3308, 0x974: 0x3308, 0x975: 0x3308, + 0x976: 0x3308, 0x977: 0x3308, 0x978: 0x3308, 0x979: 0x0df1, 0x97a: 0x3308, 0x97b: 0x3308, + 0x97c: 0x3308, 0x97d: 0x0040, 0x97e: 0x0018, 0x97f: 0x0018, + // Block 0x26, offset 0x980 + 0x980: 0x0008, 0x981: 0x0008, 0x982: 0x0008, 0x983: 0x0008, 0x984: 0x0008, 0x985: 0x0008, + 0x986: 0x0008, 0x987: 0x0008, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, + 0x98c: 0x0008, 0x98d: 0x0008, 0x98e: 0x0008, 0x98f: 0x0008, 0x990: 0x0008, 0x991: 0x0008, + 0x992: 0x0008, 0x993: 0x0008, 0x994: 0x0008, 0x995: 0x0008, 0x996: 0x0008, 0x997: 0x0008, + 0x998: 0x0008, 0x999: 0x0008, 0x99a: 0x0008, 0x99b: 0x0008, 0x99c: 0x0008, 0x99d: 0x0008, + 0x99e: 0x0008, 0x99f: 0x0008, 0x9a0: 0x0008, 0x9a1: 0x0008, 0x9a2: 0x0008, 0x9a3: 0x0008, + 0x9a4: 0x0008, 0x9a5: 0x0008, 0x9a6: 0x0008, 0x9a7: 0x0008, 0x9a8: 0x0008, 0x9a9: 0x0008, + 0x9aa: 0x0008, 0x9ab: 0x0008, 0x9ac: 0x0039, 0x9ad: 0x0ed1, 0x9ae: 0x0ee9, 0x9af: 0x0008, + 0x9b0: 0x0ef9, 0x9b1: 0x0f09, 0x9b2: 0x0f19, 0x9b3: 0x0f31, 0x9b4: 0x0249, 0x9b5: 0x0f41, + 0x9b6: 0x0259, 0x9b7: 0x0f51, 0x9b8: 0x0359, 0x9b9: 0x0f61, 0x9ba: 0x0f71, 0x9bb: 0x0008, + 0x9bc: 0x00d9, 0x9bd: 0x0f81, 0x9be: 0x0f99, 0x9bf: 0x0269, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0fa9, 0x9c1: 0x0fb9, 0x9c2: 0x0279, 0x9c3: 0x0039, 0x9c4: 0x0fc9, 0x9c5: 0x0fe1, + 0x9c6: 0x059d, 0x9c7: 0x0ee9, 0x9c8: 0x0ef9, 0x9c9: 0x0f09, 0x9ca: 0x0ff9, 0x9cb: 0x1011, + 0x9cc: 0x1029, 0x9cd: 0x0f31, 0x9ce: 0x0008, 0x9cf: 0x0f51, 0x9d0: 0x0f61, 0x9d1: 0x1041, + 0x9d2: 0x00d9, 0x9d3: 0x1059, 0x9d4: 0x05b5, 0x9d5: 0x05b5, 0x9d6: 0x0f99, 0x9d7: 0x0fa9, + 0x9d8: 0x0fb9, 0x9d9: 0x059d, 0x9da: 0x1071, 0x9db: 0x1089, 0x9dc: 0x05cd, 0x9dd: 0x1099, + 0x9de: 0x10b1, 0x9df: 0x10c9, 0x9e0: 0x10e1, 0x9e1: 0x10f9, 0x9e2: 0x0f41, 0x9e3: 0x0269, + 0x9e4: 0x0fb9, 0x9e5: 0x1089, 0x9e6: 0x1099, 0x9e7: 0x10b1, 0x9e8: 0x1111, 0x9e9: 0x10e1, + 0x9ea: 0x10f9, 0x9eb: 0x0008, 0x9ec: 0x0008, 0x9ed: 0x0008, 0x9ee: 0x0008, 0x9ef: 0x0008, + 0x9f0: 0x0008, 0x9f1: 0x0008, 0x9f2: 0x0008, 0x9f3: 0x0008, 0x9f4: 0x0008, 0x9f5: 0x0008, + 0x9f6: 0x0008, 0x9f7: 0x0008, 0x9f8: 0x1129, 0x9f9: 0x0008, 0x9fa: 0x0008, 0x9fb: 0x0008, + 0x9fc: 0x0008, 0x9fd: 0x0008, 0x9fe: 0x0008, 0x9ff: 0x0008, + // Block 0x28, offset 0xa00 + 0xa00: 0x0008, 0xa01: 0x0008, 0xa02: 0x0008, 0xa03: 0x0008, 0xa04: 0x0008, 0xa05: 0x0008, + 0xa06: 0x0008, 0xa07: 0x0008, 0xa08: 0x0008, 0xa09: 0x0008, 0xa0a: 0x0008, 0xa0b: 0x0008, + 0xa0c: 0x0008, 0xa0d: 0x0008, 0xa0e: 0x0008, 0xa0f: 0x0008, 0xa10: 0x0008, 0xa11: 0x0008, + 0xa12: 0x0008, 0xa13: 0x0008, 0xa14: 0x0008, 0xa15: 0x0008, 0xa16: 0x0008, 0xa17: 0x0008, + 0xa18: 0x0008, 0xa19: 0x0008, 0xa1a: 0x0008, 0xa1b: 0x1141, 0xa1c: 0x1159, 0xa1d: 0x1169, + 0xa1e: 0x1181, 0xa1f: 0x1029, 0xa20: 0x1199, 0xa21: 0x11a9, 0xa22: 0x11c1, 0xa23: 0x11d9, + 0xa24: 0x11f1, 0xa25: 0x1209, 0xa26: 0x1221, 0xa27: 0x05e5, 0xa28: 0x1239, 0xa29: 0x1251, + 0xa2a: 0xe17d, 0xa2b: 0x1269, 0xa2c: 0x1281, 0xa2d: 0x1299, 0xa2e: 0x12b1, 0xa2f: 0x12c9, + 0xa30: 0x12e1, 0xa31: 0x12f9, 0xa32: 0x1311, 0xa33: 0x1329, 0xa34: 0x1341, 0xa35: 0x1359, + 0xa36: 0x1371, 0xa37: 0x1389, 0xa38: 0x05fd, 0xa39: 0x13a1, 0xa3a: 0x13b9, 0xa3b: 0x13d1, + 0xa3c: 0x13e1, 0xa3d: 0x13f9, 0xa3e: 0x1411, 0xa3f: 0x1429, + // Block 0x29, offset 0xa40 + 0xa40: 0xe00d, 0xa41: 0x0008, 0xa42: 0xe00d, 0xa43: 0x0008, 0xa44: 0xe00d, 0xa45: 0x0008, + 0xa46: 0xe00d, 0xa47: 0x0008, 0xa48: 0xe00d, 0xa49: 0x0008, 0xa4a: 0xe00d, 0xa4b: 0x0008, + 0xa4c: 0xe00d, 0xa4d: 0x0008, 0xa4e: 0xe00d, 0xa4f: 0x0008, 0xa50: 0xe00d, 0xa51: 0x0008, + 0xa52: 0xe00d, 0xa53: 0x0008, 0xa54: 0xe00d, 0xa55: 0x0008, 0xa56: 0xe00d, 0xa57: 0x0008, + 0xa58: 0xe00d, 0xa59: 0x0008, 0xa5a: 0xe00d, 0xa5b: 0x0008, 0xa5c: 0xe00d, 0xa5d: 0x0008, + 0xa5e: 0xe00d, 0xa5f: 0x0008, 0xa60: 0xe00d, 0xa61: 0x0008, 0xa62: 0xe00d, 0xa63: 0x0008, + 0xa64: 0xe00d, 0xa65: 0x0008, 0xa66: 0xe00d, 0xa67: 0x0008, 0xa68: 0xe00d, 0xa69: 0x0008, + 0xa6a: 0xe00d, 0xa6b: 0x0008, 0xa6c: 0xe00d, 0xa6d: 0x0008, 0xa6e: 0xe00d, 0xa6f: 0x0008, + 0xa70: 0xe00d, 0xa71: 0x0008, 0xa72: 0xe00d, 0xa73: 0x0008, 0xa74: 0xe00d, 0xa75: 0x0008, + 0xa76: 0xe00d, 0xa77: 0x0008, 0xa78: 0xe00d, 0xa79: 0x0008, 0xa7a: 0xe00d, 0xa7b: 0x0008, + 0xa7c: 0xe00d, 0xa7d: 0x0008, 0xa7e: 0xe00d, 0xa7f: 0x0008, + // Block 0x2a, offset 0xa80 + 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, + 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, + 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, + 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008, + 0xa98: 0x0008, 0xa99: 0x0008, 0xa9a: 0x0615, 0xa9b: 0x0635, 0xa9c: 0x0008, 0xa9d: 0x0008, + 0xa9e: 0x1441, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, + 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, + 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, + 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, + 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, + 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0008, 0xac1: 0x0008, 0xac2: 0x0008, 0xac3: 0x0008, 0xac4: 0x0008, 0xac5: 0x0008, + 0xac6: 0x0040, 0xac7: 0x0040, 0xac8: 0xe045, 0xac9: 0xe045, 0xaca: 0xe045, 0xacb: 0xe045, + 0xacc: 0xe045, 0xacd: 0xe045, 0xace: 0x0040, 0xacf: 0x0040, 0xad0: 0x0008, 0xad1: 0x0008, + 0xad2: 0x0008, 0xad3: 0x0008, 0xad4: 0x0008, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, + 0xad8: 0x0040, 0xad9: 0xe045, 0xada: 0x0040, 0xadb: 0xe045, 0xadc: 0x0040, 0xadd: 0xe045, + 0xade: 0x0040, 0xadf: 0xe045, 0xae0: 0x0008, 0xae1: 0x0008, 0xae2: 0x0008, 0xae3: 0x0008, + 0xae4: 0x0008, 0xae5: 0x0008, 0xae6: 0x0008, 0xae7: 0x0008, 0xae8: 0xe045, 0xae9: 0xe045, + 0xaea: 0xe045, 0xaeb: 0xe045, 0xaec: 0xe045, 0xaed: 0xe045, 0xaee: 0xe045, 0xaef: 0xe045, + 0xaf0: 0x0008, 0xaf1: 0x1459, 0xaf2: 0x0008, 0xaf3: 0x1471, 0xaf4: 0x0008, 0xaf5: 0x1489, + 0xaf6: 0x0008, 0xaf7: 0x14a1, 0xaf8: 0x0008, 0xaf9: 0x14b9, 0xafa: 0x0008, 0xafb: 0x14d1, + 0xafc: 0x0008, 0xafd: 0x14e9, 0xafe: 0x0040, 0xaff: 0x0040, + // Block 0x2c, offset 0xb00 + 0xb00: 0x1501, 0xb01: 0x1531, 0xb02: 0x1561, 0xb03: 0x1591, 0xb04: 0x15c1, 0xb05: 0x15f1, + 0xb06: 0x1621, 0xb07: 0x1651, 0xb08: 0x1501, 0xb09: 0x1531, 0xb0a: 0x1561, 0xb0b: 0x1591, + 0xb0c: 0x15c1, 0xb0d: 0x15f1, 0xb0e: 0x1621, 0xb0f: 0x1651, 0xb10: 0x1681, 0xb11: 0x16b1, + 0xb12: 0x16e1, 0xb13: 0x1711, 0xb14: 0x1741, 0xb15: 0x1771, 0xb16: 0x17a1, 0xb17: 0x17d1, + 0xb18: 0x1681, 0xb19: 0x16b1, 0xb1a: 0x16e1, 0xb1b: 0x1711, 0xb1c: 0x1741, 0xb1d: 0x1771, + 0xb1e: 0x17a1, 0xb1f: 0x17d1, 0xb20: 0x1801, 0xb21: 0x1831, 0xb22: 0x1861, 0xb23: 0x1891, + 0xb24: 0x18c1, 0xb25: 0x18f1, 0xb26: 0x1921, 0xb27: 0x1951, 0xb28: 0x1801, 0xb29: 0x1831, + 0xb2a: 0x1861, 0xb2b: 0x1891, 0xb2c: 0x18c1, 0xb2d: 0x18f1, 0xb2e: 0x1921, 0xb2f: 0x1951, + 0xb30: 0x0008, 0xb31: 0x0008, 0xb32: 0x1981, 0xb33: 0x19b1, 0xb34: 0x19d9, 0xb35: 0x0040, + 0xb36: 0x0008, 0xb37: 0x1a01, 0xb38: 0xe045, 0xb39: 0xe045, 0xb3a: 0x064d, 0xb3b: 0x1459, + 0xb3c: 0x19b1, 0xb3d: 0x0666, 0xb3e: 0x1a31, 0xb3f: 0x0686, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06a6, 0xb41: 0x1a4a, 0xb42: 0x1a79, 0xb43: 0x1aa9, 0xb44: 0x1ad1, 0xb45: 0x0040, + 0xb46: 0x0008, 0xb47: 0x1af9, 0xb48: 0x06c5, 0xb49: 0x1471, 0xb4a: 0x06dd, 0xb4b: 0x1489, + 0xb4c: 0x1aa9, 0xb4d: 0x1b2a, 0xb4e: 0x1b5a, 0xb4f: 0x1b8a, 0xb50: 0x0008, 0xb51: 0x0008, + 0xb52: 0x0008, 0xb53: 0x1bb9, 0xb54: 0x0040, 0xb55: 0x0040, 0xb56: 0x0008, 0xb57: 0x0008, + 0xb58: 0xe045, 0xb59: 0xe045, 0xb5a: 0x06f5, 0xb5b: 0x14a1, 0xb5c: 0x0040, 0xb5d: 0x1bd2, + 0xb5e: 0x1c02, 0xb5f: 0x1c32, 0xb60: 0x0008, 0xb61: 0x0008, 0xb62: 0x0008, 0xb63: 0x1c61, + 0xb64: 0x0008, 0xb65: 0x0008, 0xb66: 0x0008, 0xb67: 0x0008, 0xb68: 0xe045, 0xb69: 0xe045, + 0xb6a: 0x070d, 0xb6b: 0x14d1, 0xb6c: 0xe04d, 0xb6d: 0x1c7a, 0xb6e: 0x03d2, 0xb6f: 0x1caa, + 0xb70: 0x0040, 0xb71: 0x0040, 0xb72: 0x1cb9, 0xb73: 0x1ce9, 0xb74: 0x1d11, 0xb75: 0x0040, + 0xb76: 0x0008, 0xb77: 0x1d39, 0xb78: 0x0725, 0xb79: 0x14b9, 0xb7a: 0x0515, 0xb7b: 0x14e9, + 0xb7c: 0x1ce9, 0xb7d: 0x073e, 0xb7e: 0x075e, 0xb7f: 0x0040, + // Block 0x2e, offset 0xb80 + 0xb80: 0x000a, 0xb81: 0x000a, 0xb82: 0x000a, 0xb83: 0x000a, 0xb84: 0x000a, 0xb85: 0x000a, + 0xb86: 0x000a, 0xb87: 0x000a, 0xb88: 0x000a, 0xb89: 0x000a, 0xb8a: 0x000a, 0xb8b: 0x03c0, + 0xb8c: 0x0003, 0xb8d: 0x0003, 0xb8e: 0x0340, 0xb8f: 0x0b40, 0xb90: 0x0018, 0xb91: 0xe00d, + 0xb92: 0x0018, 0xb93: 0x0018, 0xb94: 0x0018, 0xb95: 0x0018, 0xb96: 0x0018, 0xb97: 0x077e, + 0xb98: 0x0018, 0xb99: 0x0018, 0xb9a: 0x0018, 0xb9b: 0x0018, 0xb9c: 0x0018, 0xb9d: 0x0018, + 0xb9e: 0x0018, 0xb9f: 0x0018, 0xba0: 0x0018, 0xba1: 0x0018, 0xba2: 0x0018, 0xba3: 0x0018, + 0xba4: 0x0040, 0xba5: 0x0040, 0xba6: 0x0040, 0xba7: 0x0018, 0xba8: 0x0040, 0xba9: 0x0040, + 0xbaa: 0x0340, 0xbab: 0x0340, 0xbac: 0x0340, 0xbad: 0x0340, 0xbae: 0x0340, 0xbaf: 0x000a, + 0xbb0: 0x0018, 0xbb1: 0x0018, 0xbb2: 0x0018, 0xbb3: 0x1d69, 0xbb4: 0x1da1, 0xbb5: 0x0018, + 0xbb6: 0x1df1, 0xbb7: 0x1e29, 0xbb8: 0x0018, 0xbb9: 0x0018, 0xbba: 0x0018, 0xbbb: 0x0018, + 0xbbc: 0x1e7a, 0xbbd: 0x0018, 0xbbe: 0x079e, 0xbbf: 0x0018, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x0018, 0xbc1: 0x0018, 0xbc2: 0x0018, 0xbc3: 0x0018, 0xbc4: 0x0018, 0xbc5: 0x0018, + 0xbc6: 0x0018, 0xbc7: 0x1e92, 0xbc8: 0x1eaa, 0xbc9: 0x1ec2, 0xbca: 0x0018, 0xbcb: 0x0018, + 0xbcc: 0x0018, 0xbcd: 0x0018, 0xbce: 0x0018, 0xbcf: 0x0018, 0xbd0: 0x0018, 0xbd1: 0x0018, + 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x1ed9, + 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, + 0xbde: 0x0018, 0xbdf: 0x000a, 0xbe0: 0x03c0, 0xbe1: 0x0340, 0xbe2: 0x0340, 0xbe3: 0x0340, + 0xbe4: 0x03c0, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0040, 0xbe8: 0x0040, 0xbe9: 0x0040, + 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x0340, + 0xbf0: 0x1f41, 0xbf1: 0x0f41, 0xbf2: 0x0040, 0xbf3: 0x0040, 0xbf4: 0x1f51, 0xbf5: 0x1f61, + 0xbf6: 0x1f71, 0xbf7: 0x1f81, 0xbf8: 0x1f91, 0xbf9: 0x1fa1, 0xbfa: 0x1fb2, 0xbfb: 0x07bd, + 0xbfc: 0x1fc2, 0xbfd: 0x1fd2, 0xbfe: 0x1fe2, 0xbff: 0x0f71, + // Block 0x30, offset 0xc00 + 0xc00: 0x1f41, 0xc01: 0x00c9, 0xc02: 0x0069, 0xc03: 0x0079, 0xc04: 0x1f51, 0xc05: 0x1f61, + 0xc06: 0x1f71, 0xc07: 0x1f81, 0xc08: 0x1f91, 0xc09: 0x1fa1, 0xc0a: 0x1fb2, 0xc0b: 0x07d5, + 0xc0c: 0x1fc2, 0xc0d: 0x1fd2, 0xc0e: 0x1fe2, 0xc0f: 0x0040, 0xc10: 0x0039, 0xc11: 0x0f09, + 0xc12: 0x00d9, 0xc13: 0x0369, 0xc14: 0x0ff9, 0xc15: 0x0249, 0xc16: 0x0f51, 0xc17: 0x0359, + 0xc18: 0x0f61, 0xc19: 0x0f71, 0xc1a: 0x0f99, 0xc1b: 0x01d9, 0xc1c: 0x0fa9, 0xc1d: 0x0040, + 0xc1e: 0x0040, 0xc1f: 0x0040, 0xc20: 0x0018, 0xc21: 0x0018, 0xc22: 0x0018, 0xc23: 0x0018, + 0xc24: 0x0018, 0xc25: 0x0018, 0xc26: 0x0018, 0xc27: 0x0018, 0xc28: 0x1ff1, 0xc29: 0x0018, + 0xc2a: 0x0018, 0xc2b: 0x0018, 0xc2c: 0x0018, 0xc2d: 0x0018, 0xc2e: 0x0018, 0xc2f: 0x0018, + 0xc30: 0x0018, 0xc31: 0x0018, 0xc32: 0x0018, 0xc33: 0x0018, 0xc34: 0x0018, 0xc35: 0x0018, + 0xc36: 0x0018, 0xc37: 0x0018, 0xc38: 0x0018, 0xc39: 0x0018, 0xc3a: 0x0018, 0xc3b: 0x0018, + 0xc3c: 0x0018, 0xc3d: 0x0018, 0xc3e: 0x0018, 0xc3f: 0x0040, + // Block 0x31, offset 0xc40 + 0xc40: 0x07ee, 0xc41: 0x080e, 0xc42: 0x1159, 0xc43: 0x082d, 0xc44: 0x0018, 0xc45: 0x084e, + 0xc46: 0x086e, 0xc47: 0x1011, 0xc48: 0x0018, 0xc49: 0x088d, 0xc4a: 0x0f31, 0xc4b: 0x0249, + 0xc4c: 0x0249, 0xc4d: 0x0249, 0xc4e: 0x0249, 0xc4f: 0x2009, 0xc50: 0x0f41, 0xc51: 0x0f41, + 0xc52: 0x0359, 0xc53: 0x0359, 0xc54: 0x0018, 0xc55: 0x0f71, 0xc56: 0x2021, 0xc57: 0x0018, + 0xc58: 0x0018, 0xc59: 0x0f99, 0xc5a: 0x2039, 0xc5b: 0x0269, 0xc5c: 0x0269, 0xc5d: 0x0269, + 0xc5e: 0x0018, 0xc5f: 0x0018, 0xc60: 0x2049, 0xc61: 0x08ad, 0xc62: 0x2061, 0xc63: 0x0018, + 0xc64: 0x13d1, 0xc65: 0x0018, 0xc66: 0x2079, 0xc67: 0x0018, 0xc68: 0x13d1, 0xc69: 0x0018, + 0xc6a: 0x0f51, 0xc6b: 0x2091, 0xc6c: 0x0ee9, 0xc6d: 0x1159, 0xc6e: 0x0018, 0xc6f: 0x0f09, + 0xc70: 0x0f09, 0xc71: 0x1199, 0xc72: 0x0040, 0xc73: 0x0f61, 0xc74: 0x00d9, 0xc75: 0x20a9, + 0xc76: 0x20c1, 0xc77: 0x20d9, 0xc78: 0x20f1, 0xc79: 0x0f41, 0xc7a: 0x0018, 0xc7b: 0x08cd, + 0xc7c: 0x2109, 0xc7d: 0x10b1, 0xc7e: 0x10b1, 0xc7f: 0x2109, + // Block 0x32, offset 0xc80 + 0xc80: 0x08ed, 0xc81: 0x0018, 0xc82: 0x0018, 0xc83: 0x0018, 0xc84: 0x0018, 0xc85: 0x0ef9, + 0xc86: 0x0ef9, 0xc87: 0x0f09, 0xc88: 0x0f41, 0xc89: 0x0259, 0xc8a: 0x0018, 0xc8b: 0x0018, + 0xc8c: 0x0018, 0xc8d: 0x0018, 0xc8e: 0x0008, 0xc8f: 0x0018, 0xc90: 0x2121, 0xc91: 0x2151, + 0xc92: 0x2181, 0xc93: 0x21b9, 0xc94: 0x21e9, 0xc95: 0x2219, 0xc96: 0x2249, 0xc97: 0x2279, + 0xc98: 0x22a9, 0xc99: 0x22d9, 0xc9a: 0x2309, 0xc9b: 0x2339, 0xc9c: 0x2369, 0xc9d: 0x2399, + 0xc9e: 0x23c9, 0xc9f: 0x23f9, 0xca0: 0x0f41, 0xca1: 0x2421, 0xca2: 0x0905, 0xca3: 0x2439, + 0xca4: 0x1089, 0xca5: 0x2451, 0xca6: 0x0925, 0xca7: 0x2469, 0xca8: 0x2491, 0xca9: 0x0369, + 0xcaa: 0x24a9, 0xcab: 0x0945, 0xcac: 0x0359, 0xcad: 0x1159, 0xcae: 0x0ef9, 0xcaf: 0x0f61, + 0xcb0: 0x0f41, 0xcb1: 0x2421, 0xcb2: 0x0965, 0xcb3: 0x2439, 0xcb4: 0x1089, 0xcb5: 0x2451, + 0xcb6: 0x0985, 0xcb7: 0x2469, 0xcb8: 0x2491, 0xcb9: 0x0369, 0xcba: 0x24a9, 0xcbb: 0x09a5, + 0xcbc: 0x0359, 0xcbd: 0x1159, 0xcbe: 0x0ef9, 0xcbf: 0x0f61, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x0018, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0018, + 0xcc6: 0x0018, 0xcc7: 0x0018, 0xcc8: 0x0018, 0xcc9: 0x0018, 0xcca: 0x0018, 0xccb: 0x0040, + 0xccc: 0x0040, 0xccd: 0x0040, 0xcce: 0x0040, 0xccf: 0x0040, 0xcd0: 0x0040, 0xcd1: 0x0040, + 0xcd2: 0x0040, 0xcd3: 0x0040, 0xcd4: 0x0040, 0xcd5: 0x0040, 0xcd6: 0x0040, 0xcd7: 0x0040, + 0xcd8: 0x0040, 0xcd9: 0x0040, 0xcda: 0x0040, 0xcdb: 0x0040, 0xcdc: 0x0040, 0xcdd: 0x0040, + 0xcde: 0x0040, 0xcdf: 0x0040, 0xce0: 0x00c9, 0xce1: 0x0069, 0xce2: 0x0079, 0xce3: 0x1f51, + 0xce4: 0x1f61, 0xce5: 0x1f71, 0xce6: 0x1f81, 0xce7: 0x1f91, 0xce8: 0x1fa1, 0xce9: 0x2601, + 0xcea: 0x2619, 0xceb: 0x2631, 0xcec: 0x2649, 0xced: 0x2661, 0xcee: 0x2679, 0xcef: 0x2691, + 0xcf0: 0x26a9, 0xcf1: 0x26c1, 0xcf2: 0x26d9, 0xcf3: 0x26f1, 0xcf4: 0x0a06, 0xcf5: 0x0a26, + 0xcf6: 0x0a46, 0xcf7: 0x0a66, 0xcf8: 0x0a86, 0xcf9: 0x0aa6, 0xcfa: 0x0ac6, 0xcfb: 0x0ae6, + 0xcfc: 0x0b06, 0xcfd: 0x270a, 0xcfe: 0x2732, 0xcff: 0x275a, + // Block 0x34, offset 0xd00 + 0xd00: 0x2782, 0xd01: 0x27aa, 0xd02: 0x27d2, 0xd03: 0x27fa, 0xd04: 0x2822, 0xd05: 0x284a, + 0xd06: 0x2872, 0xd07: 0x289a, 0xd08: 0x0040, 0xd09: 0x0040, 0xd0a: 0x0040, 0xd0b: 0x0040, + 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, + 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, + 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0b26, 0xd1d: 0x0b46, + 0xd1e: 0x0b66, 0xd1f: 0x0b86, 0xd20: 0x0ba6, 0xd21: 0x0bc6, 0xd22: 0x0be6, 0xd23: 0x0c06, + 0xd24: 0x0c26, 0xd25: 0x0c46, 0xd26: 0x0c66, 0xd27: 0x0c86, 0xd28: 0x0ca6, 0xd29: 0x0cc6, + 0xd2a: 0x0ce6, 0xd2b: 0x0d06, 0xd2c: 0x0d26, 0xd2d: 0x0d46, 0xd2e: 0x0d66, 0xd2f: 0x0d86, + 0xd30: 0x0da6, 0xd31: 0x0dc6, 0xd32: 0x0de6, 0xd33: 0x0e06, 0xd34: 0x0e26, 0xd35: 0x0e46, + 0xd36: 0x0039, 0xd37: 0x0ee9, 0xd38: 0x1159, 0xd39: 0x0ef9, 0xd3a: 0x0f09, 0xd3b: 0x1199, + 0xd3c: 0x0f31, 0xd3d: 0x0249, 0xd3e: 0x0f41, 0xd3f: 0x0259, + // Block 0x35, offset 0xd40 + 0xd40: 0x0f51, 0xd41: 0x0359, 0xd42: 0x0f61, 0xd43: 0x0f71, 0xd44: 0x00d9, 0xd45: 0x0f99, + 0xd46: 0x2039, 0xd47: 0x0269, 0xd48: 0x01d9, 0xd49: 0x0fa9, 0xd4a: 0x0fb9, 0xd4b: 0x1089, + 0xd4c: 0x0279, 0xd4d: 0x0369, 0xd4e: 0x0289, 0xd4f: 0x13d1, 0xd50: 0x0039, 0xd51: 0x0ee9, + 0xd52: 0x1159, 0xd53: 0x0ef9, 0xd54: 0x0f09, 0xd55: 0x1199, 0xd56: 0x0f31, 0xd57: 0x0249, + 0xd58: 0x0f41, 0xd59: 0x0259, 0xd5a: 0x0f51, 0xd5b: 0x0359, 0xd5c: 0x0f61, 0xd5d: 0x0f71, + 0xd5e: 0x00d9, 0xd5f: 0x0f99, 0xd60: 0x2039, 0xd61: 0x0269, 0xd62: 0x01d9, 0xd63: 0x0fa9, + 0xd64: 0x0fb9, 0xd65: 0x1089, 0xd66: 0x0279, 0xd67: 0x0369, 0xd68: 0x0289, 0xd69: 0x13d1, + 0xd6a: 0x1f41, 0xd6b: 0x0018, 0xd6c: 0x0018, 0xd6d: 0x0018, 0xd6e: 0x0018, 0xd6f: 0x0018, + 0xd70: 0x0018, 0xd71: 0x0018, 0xd72: 0x0018, 0xd73: 0x0018, 0xd74: 0x0018, 0xd75: 0x0018, + 0xd76: 0x0018, 0xd77: 0x0018, 0xd78: 0x0018, 0xd79: 0x0018, 0xd7a: 0x0018, 0xd7b: 0x0018, + 0xd7c: 0x0018, 0xd7d: 0x0018, 0xd7e: 0x0018, 0xd7f: 0x0018, + // Block 0x36, offset 0xd80 + 0xd80: 0x0008, 0xd81: 0x0008, 0xd82: 0x0008, 0xd83: 0x0008, 0xd84: 0x0008, 0xd85: 0x0008, + 0xd86: 0x0008, 0xd87: 0x0008, 0xd88: 0x0008, 0xd89: 0x0008, 0xd8a: 0x0008, 0xd8b: 0x0008, + 0xd8c: 0x0008, 0xd8d: 0x0008, 0xd8e: 0x0008, 0xd8f: 0x0008, 0xd90: 0x0008, 0xd91: 0x0008, + 0xd92: 0x0008, 0xd93: 0x0008, 0xd94: 0x0008, 0xd95: 0x0008, 0xd96: 0x0008, 0xd97: 0x0008, + 0xd98: 0x0008, 0xd99: 0x0008, 0xd9a: 0x0008, 0xd9b: 0x0008, 0xd9c: 0x0008, 0xd9d: 0x0008, + 0xd9e: 0x0008, 0xd9f: 0x0040, 0xda0: 0xe00d, 0xda1: 0x0008, 0xda2: 0x2971, 0xda3: 0x0ebd, + 0xda4: 0x2989, 0xda5: 0x0008, 0xda6: 0x0008, 0xda7: 0xe07d, 0xda8: 0x0008, 0xda9: 0xe01d, + 0xdaa: 0x0008, 0xdab: 0xe03d, 0xdac: 0x0008, 0xdad: 0x0fe1, 0xdae: 0x1281, 0xdaf: 0x0fc9, + 0xdb0: 0x1141, 0xdb1: 0x0008, 0xdb2: 0xe00d, 0xdb3: 0x0008, 0xdb4: 0x0008, 0xdb5: 0xe01d, + 0xdb6: 0x0008, 0xdb7: 0x0008, 0xdb8: 0x0008, 0xdb9: 0x0008, 0xdba: 0x0008, 0xdbb: 0x0008, + 0xdbc: 0x0259, 0xdbd: 0x1089, 0xdbe: 0x29a1, 0xdbf: 0x29b9, + // Block 0x37, offset 0xdc0 + 0xdc0: 0xe00d, 0xdc1: 0x0008, 0xdc2: 0xe00d, 0xdc3: 0x0008, 0xdc4: 0xe00d, 0xdc5: 0x0008, + 0xdc6: 0xe00d, 0xdc7: 0x0008, 0xdc8: 0xe00d, 0xdc9: 0x0008, 0xdca: 0xe00d, 0xdcb: 0x0008, + 0xdcc: 0xe00d, 0xdcd: 0x0008, 0xdce: 0xe00d, 0xdcf: 0x0008, 0xdd0: 0xe00d, 0xdd1: 0x0008, + 0xdd2: 0xe00d, 0xdd3: 0x0008, 0xdd4: 0xe00d, 0xdd5: 0x0008, 0xdd6: 0xe00d, 0xdd7: 0x0008, + 0xdd8: 0xe00d, 0xdd9: 0x0008, 0xdda: 0xe00d, 0xddb: 0x0008, 0xddc: 0xe00d, 0xddd: 0x0008, + 0xdde: 0xe00d, 0xddf: 0x0008, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0xe00d, 0xde3: 0x0008, + 0xde4: 0x0008, 0xde5: 0x0018, 0xde6: 0x0018, 0xde7: 0x0018, 0xde8: 0x0018, 0xde9: 0x0018, + 0xdea: 0x0018, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0xe01d, 0xdee: 0x0008, 0xdef: 0x3308, + 0xdf0: 0x3308, 0xdf1: 0x3308, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0040, 0xdf5: 0x0040, + 0xdf6: 0x0040, 0xdf7: 0x0040, 0xdf8: 0x0040, 0xdf9: 0x0018, 0xdfa: 0x0018, 0xdfb: 0x0018, + 0xdfc: 0x0018, 0xdfd: 0x0018, 0xdfe: 0x0018, 0xdff: 0x0018, + // Block 0x38, offset 0xe00 + 0xe00: 0x26fd, 0xe01: 0x271d, 0xe02: 0x273d, 0xe03: 0x275d, 0xe04: 0x277d, 0xe05: 0x279d, + 0xe06: 0x27bd, 0xe07: 0x27dd, 0xe08: 0x27fd, 0xe09: 0x281d, 0xe0a: 0x283d, 0xe0b: 0x285d, + 0xe0c: 0x287d, 0xe0d: 0x289d, 0xe0e: 0x28bd, 0xe0f: 0x28dd, 0xe10: 0x28fd, 0xe11: 0x291d, + 0xe12: 0x293d, 0xe13: 0x295d, 0xe14: 0x297d, 0xe15: 0x299d, 0xe16: 0x0040, 0xe17: 0x0040, + 0xe18: 0x0040, 0xe19: 0x0040, 0xe1a: 0x0040, 0xe1b: 0x0040, 0xe1c: 0x0040, 0xe1d: 0x0040, + 0xe1e: 0x0040, 0xe1f: 0x0040, 0xe20: 0x0040, 0xe21: 0x0040, 0xe22: 0x0040, 0xe23: 0x0040, + 0xe24: 0x0040, 0xe25: 0x0040, 0xe26: 0x0040, 0xe27: 0x0040, 0xe28: 0x0040, 0xe29: 0x0040, + 0xe2a: 0x0040, 0xe2b: 0x0040, 0xe2c: 0x0040, 0xe2d: 0x0040, 0xe2e: 0x0040, 0xe2f: 0x0040, + 0xe30: 0x0040, 0xe31: 0x0040, 0xe32: 0x0040, 0xe33: 0x0040, 0xe34: 0x0040, 0xe35: 0x0040, + 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0040, 0xe3a: 0x0040, 0xe3b: 0x0040, + 0xe3c: 0x0040, 0xe3d: 0x0040, 0xe3e: 0x0040, 0xe3f: 0x0040, + // Block 0x39, offset 0xe40 + 0xe40: 0x000a, 0xe41: 0x0018, 0xe42: 0x29d1, 0xe43: 0x0018, 0xe44: 0x0018, 0xe45: 0x0008, + 0xe46: 0x0008, 0xe47: 0x0008, 0xe48: 0x0018, 0xe49: 0x0018, 0xe4a: 0x0018, 0xe4b: 0x0018, + 0xe4c: 0x0018, 0xe4d: 0x0018, 0xe4e: 0x0018, 0xe4f: 0x0018, 0xe50: 0x0018, 0xe51: 0x0018, + 0xe52: 0x0018, 0xe53: 0x0018, 0xe54: 0x0018, 0xe55: 0x0018, 0xe56: 0x0018, 0xe57: 0x0018, + 0xe58: 0x0018, 0xe59: 0x0018, 0xe5a: 0x0018, 0xe5b: 0x0018, 0xe5c: 0x0018, 0xe5d: 0x0018, + 0xe5e: 0x0018, 0xe5f: 0x0018, 0xe60: 0x0018, 0xe61: 0x0018, 0xe62: 0x0018, 0xe63: 0x0018, + 0xe64: 0x0018, 0xe65: 0x0018, 0xe66: 0x0018, 0xe67: 0x0018, 0xe68: 0x0018, 0xe69: 0x0018, + 0xe6a: 0x3308, 0xe6b: 0x3308, 0xe6c: 0x3308, 0xe6d: 0x3308, 0xe6e: 0x3018, 0xe6f: 0x3018, + 0xe70: 0x0018, 0xe71: 0x0018, 0xe72: 0x0018, 0xe73: 0x0018, 0xe74: 0x0018, 0xe75: 0x0018, + 0xe76: 0xe125, 0xe77: 0x0018, 0xe78: 0x29bd, 0xe79: 0x29dd, 0xe7a: 0x29fd, 0xe7b: 0x0018, + 0xe7c: 0x0008, 0xe7d: 0x0018, 0xe7e: 0x0018, 0xe7f: 0x0018, + // Block 0x3a, offset 0xe80 + 0xe80: 0x2b3d, 0xe81: 0x2b5d, 0xe82: 0x2b7d, 0xe83: 0x2b9d, 0xe84: 0x2bbd, 0xe85: 0x2bdd, + 0xe86: 0x2bdd, 0xe87: 0x2bdd, 0xe88: 0x2bfd, 0xe89: 0x2bfd, 0xe8a: 0x2bfd, 0xe8b: 0x2bfd, + 0xe8c: 0x2c1d, 0xe8d: 0x2c1d, 0xe8e: 0x2c1d, 0xe8f: 0x2c3d, 0xe90: 0x2c5d, 0xe91: 0x2c5d, + 0xe92: 0x2a7d, 0xe93: 0x2a7d, 0xe94: 0x2c5d, 0xe95: 0x2c5d, 0xe96: 0x2c7d, 0xe97: 0x2c7d, + 0xe98: 0x2c5d, 0xe99: 0x2c5d, 0xe9a: 0x2a7d, 0xe9b: 0x2a7d, 0xe9c: 0x2c5d, 0xe9d: 0x2c5d, + 0xe9e: 0x2c3d, 0xe9f: 0x2c3d, 0xea0: 0x2c9d, 0xea1: 0x2c9d, 0xea2: 0x2cbd, 0xea3: 0x2cbd, + 0xea4: 0x0040, 0xea5: 0x2cdd, 0xea6: 0x2cfd, 0xea7: 0x2d1d, 0xea8: 0x2d1d, 0xea9: 0x2d3d, + 0xeaa: 0x2d5d, 0xeab: 0x2d7d, 0xeac: 0x2d9d, 0xead: 0x2dbd, 0xeae: 0x2ddd, 0xeaf: 0x2dfd, + 0xeb0: 0x2e1d, 0xeb1: 0x2e3d, 0xeb2: 0x2e3d, 0xeb3: 0x2e5d, 0xeb4: 0x2e7d, 0xeb5: 0x2e7d, + 0xeb6: 0x2e9d, 0xeb7: 0x2ebd, 0xeb8: 0x2e5d, 0xeb9: 0x2edd, 0xeba: 0x2efd, 0xebb: 0x2edd, + 0xebc: 0x2e5d, 0xebd: 0x2f1d, 0xebe: 0x2f3d, 0xebf: 0x2f5d, + // Block 0x3b, offset 0xec0 + 0xec0: 0x2f7d, 0xec1: 0x2f9d, 0xec2: 0x2cfd, 0xec3: 0x2cdd, 0xec4: 0x2fbd, 0xec5: 0x2fdd, + 0xec6: 0x2ffd, 0xec7: 0x301d, 0xec8: 0x303d, 0xec9: 0x305d, 0xeca: 0x307d, 0xecb: 0x309d, + 0xecc: 0x30bd, 0xecd: 0x30dd, 0xece: 0x30fd, 0xecf: 0x0040, 0xed0: 0x0018, 0xed1: 0x0018, + 0xed2: 0x311d, 0xed3: 0x313d, 0xed4: 0x315d, 0xed5: 0x317d, 0xed6: 0x319d, 0xed7: 0x31bd, + 0xed8: 0x31dd, 0xed9: 0x31fd, 0xeda: 0x321d, 0xedb: 0x323d, 0xedc: 0x315d, 0xedd: 0x325d, + 0xede: 0x327d, 0xedf: 0x329d, 0xee0: 0x0008, 0xee1: 0x0008, 0xee2: 0x0008, 0xee3: 0x0008, + 0xee4: 0x0008, 0xee5: 0x0008, 0xee6: 0x0008, 0xee7: 0x0008, 0xee8: 0x0008, 0xee9: 0x0008, + 0xeea: 0x0008, 0xeeb: 0x0008, 0xeec: 0x0008, 0xeed: 0x0008, 0xeee: 0x0008, 0xeef: 0x0008, + 0xef0: 0x0008, 0xef1: 0x0008, 0xef2: 0x0008, 0xef3: 0x0008, 0xef4: 0x0008, 0xef5: 0x0008, + 0xef6: 0x0008, 0xef7: 0x0008, 0xef8: 0x0008, 0xef9: 0x0008, 0xefa: 0x0008, 0xefb: 0x0040, + 0xefc: 0x0040, 0xefd: 0x0040, 0xefe: 0x0040, 0xeff: 0x0040, + // Block 0x3c, offset 0xf00 + 0xf00: 0x36a2, 0xf01: 0x36d2, 0xf02: 0x3702, 0xf03: 0x3732, 0xf04: 0x32bd, 0xf05: 0x32dd, + 0xf06: 0x32fd, 0xf07: 0x331d, 0xf08: 0x0018, 0xf09: 0x0018, 0xf0a: 0x0018, 0xf0b: 0x0018, + 0xf0c: 0x0018, 0xf0d: 0x0018, 0xf0e: 0x0018, 0xf0f: 0x0018, 0xf10: 0x333d, 0xf11: 0x3761, + 0xf12: 0x3779, 0xf13: 0x3791, 0xf14: 0x37a9, 0xf15: 0x37c1, 0xf16: 0x37d9, 0xf17: 0x37f1, + 0xf18: 0x3809, 0xf19: 0x3821, 0xf1a: 0x3839, 0xf1b: 0x3851, 0xf1c: 0x3869, 0xf1d: 0x3881, + 0xf1e: 0x3899, 0xf1f: 0x38b1, 0xf20: 0x335d, 0xf21: 0x337d, 0xf22: 0x339d, 0xf23: 0x33bd, + 0xf24: 0x33dd, 0xf25: 0x33dd, 0xf26: 0x33fd, 0xf27: 0x341d, 0xf28: 0x343d, 0xf29: 0x345d, + 0xf2a: 0x347d, 0xf2b: 0x349d, 0xf2c: 0x34bd, 0xf2d: 0x34dd, 0xf2e: 0x34fd, 0xf2f: 0x351d, + 0xf30: 0x353d, 0xf31: 0x355d, 0xf32: 0x357d, 0xf33: 0x359d, 0xf34: 0x35bd, 0xf35: 0x35dd, + 0xf36: 0x35fd, 0xf37: 0x361d, 0xf38: 0x363d, 0xf39: 0x365d, 0xf3a: 0x367d, 0xf3b: 0x369d, + 0xf3c: 0x38c9, 0xf3d: 0x3901, 0xf3e: 0x36bd, 0xf3f: 0x0018, + // Block 0x3d, offset 0xf40 + 0xf40: 0x36dd, 0xf41: 0x36fd, 0xf42: 0x371d, 0xf43: 0x373d, 0xf44: 0x375d, 0xf45: 0x377d, + 0xf46: 0x379d, 0xf47: 0x37bd, 0xf48: 0x37dd, 0xf49: 0x37fd, 0xf4a: 0x381d, 0xf4b: 0x383d, + 0xf4c: 0x385d, 0xf4d: 0x387d, 0xf4e: 0x389d, 0xf4f: 0x38bd, 0xf50: 0x38dd, 0xf51: 0x38fd, + 0xf52: 0x391d, 0xf53: 0x393d, 0xf54: 0x395d, 0xf55: 0x397d, 0xf56: 0x399d, 0xf57: 0x39bd, + 0xf58: 0x39dd, 0xf59: 0x39fd, 0xf5a: 0x3a1d, 0xf5b: 0x3a3d, 0xf5c: 0x3a5d, 0xf5d: 0x3a7d, + 0xf5e: 0x3a9d, 0xf5f: 0x3abd, 0xf60: 0x3add, 0xf61: 0x3afd, 0xf62: 0x3b1d, 0xf63: 0x3b3d, + 0xf64: 0x3b5d, 0xf65: 0x3b7d, 0xf66: 0x127d, 0xf67: 0x3b9d, 0xf68: 0x3bbd, 0xf69: 0x3bdd, + 0xf6a: 0x3bfd, 0xf6b: 0x3c1d, 0xf6c: 0x3c3d, 0xf6d: 0x3c5d, 0xf6e: 0x239d, 0xf6f: 0x3c7d, + 0xf70: 0x3c9d, 0xf71: 0x3939, 0xf72: 0x3951, 0xf73: 0x3969, 0xf74: 0x3981, 0xf75: 0x3999, + 0xf76: 0x39b1, 0xf77: 0x39c9, 0xf78: 0x39e1, 0xf79: 0x39f9, 0xf7a: 0x3a11, 0xf7b: 0x3a29, + 0xf7c: 0x3a41, 0xf7d: 0x3a59, 0xf7e: 0x3a71, 0xf7f: 0x3a89, + // Block 0x3e, offset 0xf80 + 0xf80: 0x3aa1, 0xf81: 0x3ac9, 0xf82: 0x3af1, 0xf83: 0x3b19, 0xf84: 0x3b41, 0xf85: 0x3b69, + 0xf86: 0x3b91, 0xf87: 0x3bb9, 0xf88: 0x3be1, 0xf89: 0x3c09, 0xf8a: 0x3c39, 0xf8b: 0x3c69, + 0xf8c: 0x3c99, 0xf8d: 0x3cbd, 0xf8e: 0x3cb1, 0xf8f: 0x3cdd, 0xf90: 0x3cfd, 0xf91: 0x3d15, + 0xf92: 0x3d2d, 0xf93: 0x3d45, 0xf94: 0x3d5d, 0xf95: 0x3d5d, 0xf96: 0x3d45, 0xf97: 0x3d75, + 0xf98: 0x07bd, 0xf99: 0x3d8d, 0xf9a: 0x3da5, 0xf9b: 0x3dbd, 0xf9c: 0x3dd5, 0xf9d: 0x3ded, + 0xf9e: 0x3e05, 0xf9f: 0x3e1d, 0xfa0: 0x3e35, 0xfa1: 0x3e4d, 0xfa2: 0x3e65, 0xfa3: 0x3e7d, + 0xfa4: 0x3e95, 0xfa5: 0x3e95, 0xfa6: 0x3ead, 0xfa7: 0x3ead, 0xfa8: 0x3ec5, 0xfa9: 0x3ec5, + 0xfaa: 0x3edd, 0xfab: 0x3ef5, 0xfac: 0x3f0d, 0xfad: 0x3f25, 0xfae: 0x3f3d, 0xfaf: 0x3f3d, + 0xfb0: 0x3f55, 0xfb1: 0x3f55, 0xfb2: 0x3f55, 0xfb3: 0x3f6d, 0xfb4: 0x3f85, 0xfb5: 0x3f9d, + 0xfb6: 0x3fb5, 0xfb7: 0x3f9d, 0xfb8: 0x3fcd, 0xfb9: 0x3fe5, 0xfba: 0x3f6d, 0xfbb: 0x3ffd, + 0xfbc: 0x4015, 0xfbd: 0x4015, 0xfbe: 0x4015, 0xfbf: 0x0040, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x3cc9, 0xfc1: 0x3d31, 0xfc2: 0x3d99, 0xfc3: 0x3e01, 0xfc4: 0x3e51, 0xfc5: 0x3eb9, + 0xfc6: 0x3f09, 0xfc7: 0x3f59, 0xfc8: 0x3fd9, 0xfc9: 0x4041, 0xfca: 0x4091, 0xfcb: 0x40e1, + 0xfcc: 0x4131, 0xfcd: 0x4199, 0xfce: 0x4201, 0xfcf: 0x4251, 0xfd0: 0x42a1, 0xfd1: 0x42d9, + 0xfd2: 0x4329, 0xfd3: 0x4391, 0xfd4: 0x43f9, 0xfd5: 0x4431, 0xfd6: 0x44b1, 0xfd7: 0x4549, + 0xfd8: 0x45c9, 0xfd9: 0x4619, 0xfda: 0x4699, 0xfdb: 0x4719, 0xfdc: 0x4781, 0xfdd: 0x47d1, + 0xfde: 0x4821, 0xfdf: 0x4871, 0xfe0: 0x48d9, 0xfe1: 0x4959, 0xfe2: 0x49c1, 0xfe3: 0x4a11, + 0xfe4: 0x4a61, 0xfe5: 0x4ab1, 0xfe6: 0x4ae9, 0xfe7: 0x4b21, 0xfe8: 0x4b59, 0xfe9: 0x4b91, + 0xfea: 0x4be1, 0xfeb: 0x4c31, 0xfec: 0x4cb1, 0xfed: 0x4d01, 0xfee: 0x4d69, 0xfef: 0x4de9, + 0xff0: 0x4e39, 0xff1: 0x4e71, 0xff2: 0x4ea9, 0xff3: 0x4f29, 0xff4: 0x4f91, 0xff5: 0x5011, + 0xff6: 0x5061, 0xff7: 0x50e1, 0xff8: 0x5119, 0xff9: 0x5169, 0xffa: 0x51b9, 0xffb: 0x5209, + 0xffc: 0x5259, 0xffd: 0x52a9, 0xffe: 0x5311, 0xfff: 0x5361, + // Block 0x40, offset 0x1000 + 0x1000: 0x5399, 0x1001: 0x53e9, 0x1002: 0x5439, 0x1003: 0x5489, 0x1004: 0x54f1, 0x1005: 0x5541, + 0x1006: 0x5591, 0x1007: 0x55e1, 0x1008: 0x5661, 0x1009: 0x56c9, 0x100a: 0x5701, 0x100b: 0x5781, + 0x100c: 0x57b9, 0x100d: 0x5821, 0x100e: 0x5889, 0x100f: 0x58d9, 0x1010: 0x5929, 0x1011: 0x5979, + 0x1012: 0x59e1, 0x1013: 0x5a19, 0x1014: 0x5a69, 0x1015: 0x5ad1, 0x1016: 0x5b09, 0x1017: 0x5b89, + 0x1018: 0x5bd9, 0x1019: 0x5c01, 0x101a: 0x5c29, 0x101b: 0x5c51, 0x101c: 0x5c79, 0x101d: 0x5ca1, + 0x101e: 0x5cc9, 0x101f: 0x5cf1, 0x1020: 0x5d19, 0x1021: 0x5d41, 0x1022: 0x5d69, 0x1023: 0x5d99, + 0x1024: 0x5dc9, 0x1025: 0x5df9, 0x1026: 0x5e29, 0x1027: 0x5e59, 0x1028: 0x5e89, 0x1029: 0x5eb9, + 0x102a: 0x5ee9, 0x102b: 0x5f19, 0x102c: 0x5f49, 0x102d: 0x5f79, 0x102e: 0x5fa9, 0x102f: 0x5fd9, + 0x1030: 0x6009, 0x1031: 0x402d, 0x1032: 0x6039, 0x1033: 0x6051, 0x1034: 0x404d, 0x1035: 0x6069, + 0x1036: 0x6081, 0x1037: 0x6099, 0x1038: 0x406d, 0x1039: 0x406d, 0x103a: 0x60b1, 0x103b: 0x60c9, + 0x103c: 0x6101, 0x103d: 0x6139, 0x103e: 0x6171, 0x103f: 0x61a9, + // Block 0x41, offset 0x1040 + 0x1040: 0x6211, 0x1041: 0x6229, 0x1042: 0x408d, 0x1043: 0x6241, 0x1044: 0x6259, 0x1045: 0x6271, + 0x1046: 0x6289, 0x1047: 0x62a1, 0x1048: 0x40ad, 0x1049: 0x62b9, 0x104a: 0x62e1, 0x104b: 0x62f9, + 0x104c: 0x40cd, 0x104d: 0x40cd, 0x104e: 0x6311, 0x104f: 0x6329, 0x1050: 0x6341, 0x1051: 0x40ed, + 0x1052: 0x410d, 0x1053: 0x412d, 0x1054: 0x414d, 0x1055: 0x416d, 0x1056: 0x6359, 0x1057: 0x6371, + 0x1058: 0x6389, 0x1059: 0x63a1, 0x105a: 0x63b9, 0x105b: 0x418d, 0x105c: 0x63d1, 0x105d: 0x63e9, + 0x105e: 0x6401, 0x105f: 0x41ad, 0x1060: 0x41cd, 0x1061: 0x6419, 0x1062: 0x41ed, 0x1063: 0x420d, + 0x1064: 0x422d, 0x1065: 0x6431, 0x1066: 0x424d, 0x1067: 0x6449, 0x1068: 0x6479, 0x1069: 0x6211, + 0x106a: 0x426d, 0x106b: 0x428d, 0x106c: 0x42ad, 0x106d: 0x42cd, 0x106e: 0x64b1, 0x106f: 0x64f1, + 0x1070: 0x6539, 0x1071: 0x6551, 0x1072: 0x42ed, 0x1073: 0x6569, 0x1074: 0x6581, 0x1075: 0x6599, + 0x1076: 0x430d, 0x1077: 0x65b1, 0x1078: 0x65c9, 0x1079: 0x65b1, 0x107a: 0x65e1, 0x107b: 0x65f9, + 0x107c: 0x432d, 0x107d: 0x6611, 0x107e: 0x6629, 0x107f: 0x6611, + // Block 0x42, offset 0x1080 + 0x1080: 0x434d, 0x1081: 0x436d, 0x1082: 0x0040, 0x1083: 0x6641, 0x1084: 0x6659, 0x1085: 0x6671, + 0x1086: 0x6689, 0x1087: 0x0040, 0x1088: 0x66c1, 0x1089: 0x66d9, 0x108a: 0x66f1, 0x108b: 0x6709, + 0x108c: 0x6721, 0x108d: 0x6739, 0x108e: 0x6401, 0x108f: 0x6751, 0x1090: 0x6769, 0x1091: 0x6781, + 0x1092: 0x438d, 0x1093: 0x6799, 0x1094: 0x6289, 0x1095: 0x43ad, 0x1096: 0x43cd, 0x1097: 0x67b1, + 0x1098: 0x0040, 0x1099: 0x43ed, 0x109a: 0x67c9, 0x109b: 0x67e1, 0x109c: 0x67f9, 0x109d: 0x6811, + 0x109e: 0x6829, 0x109f: 0x6859, 0x10a0: 0x6889, 0x10a1: 0x68b1, 0x10a2: 0x68d9, 0x10a3: 0x6901, + 0x10a4: 0x6929, 0x10a5: 0x6951, 0x10a6: 0x6979, 0x10a7: 0x69a1, 0x10a8: 0x69c9, 0x10a9: 0x69f1, + 0x10aa: 0x6a21, 0x10ab: 0x6a51, 0x10ac: 0x6a81, 0x10ad: 0x6ab1, 0x10ae: 0x6ae1, 0x10af: 0x6b11, + 0x10b0: 0x6b41, 0x10b1: 0x6b71, 0x10b2: 0x6ba1, 0x10b3: 0x6bd1, 0x10b4: 0x6c01, 0x10b5: 0x6c31, + 0x10b6: 0x6c61, 0x10b7: 0x6c91, 0x10b8: 0x6cc1, 0x10b9: 0x6cf1, 0x10ba: 0x6d21, 0x10bb: 0x6d51, + 0x10bc: 0x6d81, 0x10bd: 0x6db1, 0x10be: 0x6de1, 0x10bf: 0x440d, + // Block 0x43, offset 0x10c0 + 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008, + 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008, + 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008, + 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008, + 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0xe00d, 0x10dd: 0x0008, + 0x10de: 0xe00d, 0x10df: 0x0008, 0x10e0: 0xe00d, 0x10e1: 0x0008, 0x10e2: 0xe00d, 0x10e3: 0x0008, + 0x10e4: 0xe00d, 0x10e5: 0x0008, 0x10e6: 0xe00d, 0x10e7: 0x0008, 0x10e8: 0xe00d, 0x10e9: 0x0008, + 0x10ea: 0xe00d, 0x10eb: 0x0008, 0x10ec: 0xe00d, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x3308, + 0x10f0: 0x3318, 0x10f1: 0x3318, 0x10f2: 0x3318, 0x10f3: 0x0018, 0x10f4: 0x3308, 0x10f5: 0x3308, + 0x10f6: 0x3308, 0x10f7: 0x3308, 0x10f8: 0x3308, 0x10f9: 0x3308, 0x10fa: 0x3308, 0x10fb: 0x3308, + 0x10fc: 0x3308, 0x10fd: 0x3308, 0x10fe: 0x0018, 0x10ff: 0x0008, + // Block 0x44, offset 0x1100 + 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, + 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, + 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, + 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, + 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0x0ea1, 0x111d: 0x6e11, + 0x111e: 0x3308, 0x111f: 0x3308, 0x1120: 0x0008, 0x1121: 0x0008, 0x1122: 0x0008, 0x1123: 0x0008, + 0x1124: 0x0008, 0x1125: 0x0008, 0x1126: 0x0008, 0x1127: 0x0008, 0x1128: 0x0008, 0x1129: 0x0008, + 0x112a: 0x0008, 0x112b: 0x0008, 0x112c: 0x0008, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x0008, + 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0x0008, 0x1133: 0x0008, 0x1134: 0x0008, 0x1135: 0x0008, + 0x1136: 0x0008, 0x1137: 0x0008, 0x1138: 0x0008, 0x1139: 0x0008, 0x113a: 0x0008, 0x113b: 0x0008, + 0x113c: 0x0008, 0x113d: 0x0008, 0x113e: 0x0008, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0x0018, 0x1141: 0x0018, 0x1142: 0x0018, 0x1143: 0x0018, 0x1144: 0x0018, 0x1145: 0x0018, + 0x1146: 0x0018, 0x1147: 0x0018, 0x1148: 0x0018, 0x1149: 0x0018, 0x114a: 0x0018, 0x114b: 0x0018, + 0x114c: 0x0018, 0x114d: 0x0018, 0x114e: 0x0018, 0x114f: 0x0018, 0x1150: 0x0018, 0x1151: 0x0018, + 0x1152: 0x0018, 0x1153: 0x0018, 0x1154: 0x0018, 0x1155: 0x0018, 0x1156: 0x0018, 0x1157: 0x0008, + 0x1158: 0x0008, 0x1159: 0x0008, 0x115a: 0x0008, 0x115b: 0x0008, 0x115c: 0x0008, 0x115d: 0x0008, + 0x115e: 0x0008, 0x115f: 0x0008, 0x1160: 0x0018, 0x1161: 0x0018, 0x1162: 0xe00d, 0x1163: 0x0008, + 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008, + 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008, + 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0xe00d, 0x1173: 0x0008, 0x1174: 0xe00d, 0x1175: 0x0008, + 0x1176: 0xe00d, 0x1177: 0x0008, 0x1178: 0xe00d, 0x1179: 0x0008, 0x117a: 0xe00d, 0x117b: 0x0008, + 0x117c: 0xe00d, 0x117d: 0x0008, 0x117e: 0xe00d, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008, + 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0xe00d, 0x1189: 0x0008, 0x118a: 0xe00d, 0x118b: 0x0008, + 0x118c: 0xe00d, 0x118d: 0x0008, 0x118e: 0xe00d, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008, + 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0xe00d, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008, + 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008, + 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, + 0x11b0: 0xe0fd, 0x11b1: 0x0008, 0x11b2: 0x0008, 0x11b3: 0x0008, 0x11b4: 0x0008, 0x11b5: 0x0008, + 0x11b6: 0x0008, 0x11b7: 0x0008, 0x11b8: 0x0008, 0x11b9: 0xe01d, 0x11ba: 0x0008, 0x11bb: 0xe03d, + 0x11bc: 0x0008, 0x11bd: 0x442d, 0x11be: 0xe00d, 0x11bf: 0x0008, + // Block 0x47, offset 0x11c0 + 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, + 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0x0008, 0x11c9: 0x0018, 0x11ca: 0x0018, 0x11cb: 0xe03d, + 0x11cc: 0x0008, 0x11cd: 0x11d9, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, + 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, + 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, + 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, + 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, + 0x11ea: 0x6e29, 0x11eb: 0x1029, 0x11ec: 0x11c1, 0x11ed: 0x6e41, 0x11ee: 0x1221, 0x11ef: 0x0040, + 0x11f0: 0x6e59, 0x11f1: 0x6e71, 0x11f2: 0x1239, 0x11f3: 0x444d, 0x11f4: 0xe00d, 0x11f5: 0x0008, + 0x11f6: 0xe00d, 0x11f7: 0x0008, 0x11f8: 0x0040, 0x11f9: 0x0040, 0x11fa: 0x0040, 0x11fb: 0x0040, + 0x11fc: 0x0040, 0x11fd: 0x0040, 0x11fe: 0x0040, 0x11ff: 0x0040, + // Block 0x48, offset 0x1200 + 0x1200: 0x64d5, 0x1201: 0x64f5, 0x1202: 0x6515, 0x1203: 0x6535, 0x1204: 0x6555, 0x1205: 0x6575, + 0x1206: 0x6595, 0x1207: 0x65b5, 0x1208: 0x65d5, 0x1209: 0x65f5, 0x120a: 0x6615, 0x120b: 0x6635, + 0x120c: 0x6655, 0x120d: 0x6675, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0x6695, 0x1211: 0x0008, + 0x1212: 0x66b5, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x66d5, 0x1216: 0x66f5, 0x1217: 0x6715, + 0x1218: 0x6735, 0x1219: 0x6755, 0x121a: 0x6775, 0x121b: 0x6795, 0x121c: 0x67b5, 0x121d: 0x67d5, + 0x121e: 0x67f5, 0x121f: 0x0008, 0x1220: 0x6815, 0x1221: 0x0008, 0x1222: 0x6835, 0x1223: 0x0008, + 0x1224: 0x0008, 0x1225: 0x6855, 0x1226: 0x6875, 0x1227: 0x0008, 0x1228: 0x0008, 0x1229: 0x0008, + 0x122a: 0x6895, 0x122b: 0x68b5, 0x122c: 0x68d5, 0x122d: 0x68f5, 0x122e: 0x6915, 0x122f: 0x6935, + 0x1230: 0x6955, 0x1231: 0x6975, 0x1232: 0x6995, 0x1233: 0x69b5, 0x1234: 0x69d5, 0x1235: 0x69f5, + 0x1236: 0x6a15, 0x1237: 0x6a35, 0x1238: 0x6a55, 0x1239: 0x6a75, 0x123a: 0x6a95, 0x123b: 0x6ab5, + 0x123c: 0x6ad5, 0x123d: 0x6af5, 0x123e: 0x6b15, 0x123f: 0x6b35, + // Block 0x49, offset 0x1240 + 0x1240: 0x7a95, 0x1241: 0x7ab5, 0x1242: 0x7ad5, 0x1243: 0x7af5, 0x1244: 0x7b15, 0x1245: 0x7b35, + 0x1246: 0x7b55, 0x1247: 0x7b75, 0x1248: 0x7b95, 0x1249: 0x7bb5, 0x124a: 0x7bd5, 0x124b: 0x7bf5, + 0x124c: 0x7c15, 0x124d: 0x7c35, 0x124e: 0x7c55, 0x124f: 0x6ec9, 0x1250: 0x6ef1, 0x1251: 0x6f19, + 0x1252: 0x7c75, 0x1253: 0x7c95, 0x1254: 0x7cb5, 0x1255: 0x6f41, 0x1256: 0x6f69, 0x1257: 0x6f91, + 0x1258: 0x7cd5, 0x1259: 0x7cf5, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x0040, + 0x125e: 0x0040, 0x125f: 0x0040, 0x1260: 0x0040, 0x1261: 0x0040, 0x1262: 0x0040, 0x1263: 0x0040, + 0x1264: 0x0040, 0x1265: 0x0040, 0x1266: 0x0040, 0x1267: 0x0040, 0x1268: 0x0040, 0x1269: 0x0040, + 0x126a: 0x0040, 0x126b: 0x0040, 0x126c: 0x0040, 0x126d: 0x0040, 0x126e: 0x0040, 0x126f: 0x0040, + 0x1270: 0x0040, 0x1271: 0x0040, 0x1272: 0x0040, 0x1273: 0x0040, 0x1274: 0x0040, 0x1275: 0x0040, + 0x1276: 0x0040, 0x1277: 0x0040, 0x1278: 0x0040, 0x1279: 0x0040, 0x127a: 0x0040, 0x127b: 0x0040, + 0x127c: 0x0040, 0x127d: 0x0040, 0x127e: 0x0040, 0x127f: 0x0040, + // Block 0x4a, offset 0x1280 + 0x1280: 0x6fb9, 0x1281: 0x6fd1, 0x1282: 0x6fe9, 0x1283: 0x7d15, 0x1284: 0x7d35, 0x1285: 0x7001, + 0x1286: 0x7001, 0x1287: 0x0040, 0x1288: 0x0040, 0x1289: 0x0040, 0x128a: 0x0040, 0x128b: 0x0040, + 0x128c: 0x0040, 0x128d: 0x0040, 0x128e: 0x0040, 0x128f: 0x0040, 0x1290: 0x0040, 0x1291: 0x0040, + 0x1292: 0x0040, 0x1293: 0x7019, 0x1294: 0x7041, 0x1295: 0x7069, 0x1296: 0x7091, 0x1297: 0x70b9, + 0x1298: 0x0040, 0x1299: 0x0040, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x70e1, + 0x129e: 0x3308, 0x129f: 0x7109, 0x12a0: 0x7131, 0x12a1: 0x20a9, 0x12a2: 0x20f1, 0x12a3: 0x7149, + 0x12a4: 0x7161, 0x12a5: 0x7179, 0x12a6: 0x7191, 0x12a7: 0x71a9, 0x12a8: 0x71c1, 0x12a9: 0x1fb2, + 0x12aa: 0x71d9, 0x12ab: 0x7201, 0x12ac: 0x7229, 0x12ad: 0x7261, 0x12ae: 0x7299, 0x12af: 0x72c1, + 0x12b0: 0x72e9, 0x12b1: 0x7311, 0x12b2: 0x7339, 0x12b3: 0x7361, 0x12b4: 0x7389, 0x12b5: 0x73b1, + 0x12b6: 0x73d9, 0x12b7: 0x0040, 0x12b8: 0x7401, 0x12b9: 0x7429, 0x12ba: 0x7451, 0x12bb: 0x7479, + 0x12bc: 0x74a1, 0x12bd: 0x0040, 0x12be: 0x74c9, 0x12bf: 0x0040, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x74f1, 0x12c1: 0x7519, 0x12c2: 0x0040, 0x12c3: 0x7541, 0x12c4: 0x7569, 0x12c5: 0x0040, + 0x12c6: 0x7591, 0x12c7: 0x75b9, 0x12c8: 0x75e1, 0x12c9: 0x7609, 0x12ca: 0x7631, 0x12cb: 0x7659, + 0x12cc: 0x7681, 0x12cd: 0x76a9, 0x12ce: 0x76d1, 0x12cf: 0x76f9, 0x12d0: 0x7721, 0x12d1: 0x7721, + 0x12d2: 0x7739, 0x12d3: 0x7739, 0x12d4: 0x7739, 0x12d5: 0x7739, 0x12d6: 0x7751, 0x12d7: 0x7751, + 0x12d8: 0x7751, 0x12d9: 0x7751, 0x12da: 0x7769, 0x12db: 0x7769, 0x12dc: 0x7769, 0x12dd: 0x7769, + 0x12de: 0x7781, 0x12df: 0x7781, 0x12e0: 0x7781, 0x12e1: 0x7781, 0x12e2: 0x7799, 0x12e3: 0x7799, + 0x12e4: 0x7799, 0x12e5: 0x7799, 0x12e6: 0x77b1, 0x12e7: 0x77b1, 0x12e8: 0x77b1, 0x12e9: 0x77b1, + 0x12ea: 0x77c9, 0x12eb: 0x77c9, 0x12ec: 0x77c9, 0x12ed: 0x77c9, 0x12ee: 0x77e1, 0x12ef: 0x77e1, + 0x12f0: 0x77e1, 0x12f1: 0x77e1, 0x12f2: 0x77f9, 0x12f3: 0x77f9, 0x12f4: 0x77f9, 0x12f5: 0x77f9, + 0x12f6: 0x7811, 0x12f7: 0x7811, 0x12f8: 0x7811, 0x12f9: 0x7811, 0x12fa: 0x7829, 0x12fb: 0x7829, + 0x12fc: 0x7829, 0x12fd: 0x7829, 0x12fe: 0x7841, 0x12ff: 0x7841, + // Block 0x4c, offset 0x1300 + 0x1300: 0x7841, 0x1301: 0x7841, 0x1302: 0x7859, 0x1303: 0x7859, 0x1304: 0x7871, 0x1305: 0x7871, + 0x1306: 0x7889, 0x1307: 0x7889, 0x1308: 0x78a1, 0x1309: 0x78a1, 0x130a: 0x78b9, 0x130b: 0x78b9, + 0x130c: 0x78d1, 0x130d: 0x78d1, 0x130e: 0x78e9, 0x130f: 0x78e9, 0x1310: 0x78e9, 0x1311: 0x78e9, + 0x1312: 0x7901, 0x1313: 0x7901, 0x1314: 0x7901, 0x1315: 0x7901, 0x1316: 0x7919, 0x1317: 0x7919, + 0x1318: 0x7919, 0x1319: 0x7919, 0x131a: 0x7931, 0x131b: 0x7931, 0x131c: 0x7931, 0x131d: 0x7931, + 0x131e: 0x7949, 0x131f: 0x7949, 0x1320: 0x7961, 0x1321: 0x7961, 0x1322: 0x7961, 0x1323: 0x7961, + 0x1324: 0x7979, 0x1325: 0x7979, 0x1326: 0x7991, 0x1327: 0x7991, 0x1328: 0x7991, 0x1329: 0x7991, + 0x132a: 0x79a9, 0x132b: 0x79a9, 0x132c: 0x79a9, 0x132d: 0x79a9, 0x132e: 0x79c1, 0x132f: 0x79c1, + 0x1330: 0x79d9, 0x1331: 0x79d9, 0x1332: 0x0818, 0x1333: 0x0818, 0x1334: 0x0818, 0x1335: 0x0818, + 0x1336: 0x0818, 0x1337: 0x0818, 0x1338: 0x0818, 0x1339: 0x0818, 0x133a: 0x0818, 0x133b: 0x0818, + 0x133c: 0x0818, 0x133d: 0x0818, 0x133e: 0x0818, 0x133f: 0x0818, + // Block 0x4d, offset 0x1340 + 0x1340: 0x0818, 0x1341: 0x0818, 0x1342: 0x0040, 0x1343: 0x0040, 0x1344: 0x0040, 0x1345: 0x0040, + 0x1346: 0x0040, 0x1347: 0x0040, 0x1348: 0x0040, 0x1349: 0x0040, 0x134a: 0x0040, 0x134b: 0x0040, + 0x134c: 0x0040, 0x134d: 0x0040, 0x134e: 0x0040, 0x134f: 0x0040, 0x1350: 0x0040, 0x1351: 0x0040, + 0x1352: 0x0040, 0x1353: 0x79f1, 0x1354: 0x79f1, 0x1355: 0x79f1, 0x1356: 0x79f1, 0x1357: 0x7a09, + 0x1358: 0x7a09, 0x1359: 0x7a21, 0x135a: 0x7a21, 0x135b: 0x7a39, 0x135c: 0x7a39, 0x135d: 0x0479, + 0x135e: 0x7a51, 0x135f: 0x7a51, 0x1360: 0x7a69, 0x1361: 0x7a69, 0x1362: 0x7a81, 0x1363: 0x7a81, + 0x1364: 0x7a99, 0x1365: 0x7a99, 0x1366: 0x7a99, 0x1367: 0x7a99, 0x1368: 0x7ab1, 0x1369: 0x7ab1, + 0x136a: 0x7ac9, 0x136b: 0x7ac9, 0x136c: 0x7af1, 0x136d: 0x7af1, 0x136e: 0x7b19, 0x136f: 0x7b19, + 0x1370: 0x7b41, 0x1371: 0x7b41, 0x1372: 0x7b69, 0x1373: 0x7b69, 0x1374: 0x7b91, 0x1375: 0x7b91, + 0x1376: 0x7bb9, 0x1377: 0x7bb9, 0x1378: 0x7bb9, 0x1379: 0x7be1, 0x137a: 0x7be1, 0x137b: 0x7be1, + 0x137c: 0x7c09, 0x137d: 0x7c09, 0x137e: 0x7c09, 0x137f: 0x7c09, + // Block 0x4e, offset 0x1380 + 0x1380: 0x85f9, 0x1381: 0x8621, 0x1382: 0x8649, 0x1383: 0x8671, 0x1384: 0x8699, 0x1385: 0x86c1, + 0x1386: 0x86e9, 0x1387: 0x8711, 0x1388: 0x8739, 0x1389: 0x8761, 0x138a: 0x8789, 0x138b: 0x87b1, + 0x138c: 0x87d9, 0x138d: 0x8801, 0x138e: 0x8829, 0x138f: 0x8851, 0x1390: 0x8879, 0x1391: 0x88a1, + 0x1392: 0x88c9, 0x1393: 0x88f1, 0x1394: 0x8919, 0x1395: 0x8941, 0x1396: 0x8969, 0x1397: 0x8991, + 0x1398: 0x89b9, 0x1399: 0x89e1, 0x139a: 0x8a09, 0x139b: 0x8a31, 0x139c: 0x8a59, 0x139d: 0x8a81, + 0x139e: 0x8aaa, 0x139f: 0x8ada, 0x13a0: 0x8b0a, 0x13a1: 0x8b3a, 0x13a2: 0x8b6a, 0x13a3: 0x8b9a, + 0x13a4: 0x8bc9, 0x13a5: 0x8bf1, 0x13a6: 0x7c71, 0x13a7: 0x8c19, 0x13a8: 0x7be1, 0x13a9: 0x7c99, + 0x13aa: 0x8c41, 0x13ab: 0x8c69, 0x13ac: 0x7d39, 0x13ad: 0x8c91, 0x13ae: 0x7d61, 0x13af: 0x7d89, + 0x13b0: 0x8cb9, 0x13b1: 0x8ce1, 0x13b2: 0x7e29, 0x13b3: 0x8d09, 0x13b4: 0x7e51, 0x13b5: 0x7e79, + 0x13b6: 0x8d31, 0x13b7: 0x8d59, 0x13b8: 0x7ec9, 0x13b9: 0x8d81, 0x13ba: 0x7ef1, 0x13bb: 0x7f19, + 0x13bc: 0x83a1, 0x13bd: 0x83c9, 0x13be: 0x8441, 0x13bf: 0x8469, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x8491, 0x13c1: 0x8531, 0x13c2: 0x8559, 0x13c3: 0x8581, 0x13c4: 0x85a9, 0x13c5: 0x8649, + 0x13c6: 0x8671, 0x13c7: 0x8699, 0x13c8: 0x8da9, 0x13c9: 0x8739, 0x13ca: 0x8dd1, 0x13cb: 0x8df9, + 0x13cc: 0x8829, 0x13cd: 0x8e21, 0x13ce: 0x8851, 0x13cf: 0x8879, 0x13d0: 0x8a81, 0x13d1: 0x8e49, + 0x13d2: 0x8e71, 0x13d3: 0x89b9, 0x13d4: 0x8e99, 0x13d5: 0x89e1, 0x13d6: 0x8a09, 0x13d7: 0x7c21, + 0x13d8: 0x7c49, 0x13d9: 0x8ec1, 0x13da: 0x7c71, 0x13db: 0x8ee9, 0x13dc: 0x7cc1, 0x13dd: 0x7ce9, + 0x13de: 0x7d11, 0x13df: 0x7d39, 0x13e0: 0x8f11, 0x13e1: 0x7db1, 0x13e2: 0x7dd9, 0x13e3: 0x7e01, + 0x13e4: 0x7e29, 0x13e5: 0x8f39, 0x13e6: 0x7ec9, 0x13e7: 0x7f41, 0x13e8: 0x7f69, 0x13e9: 0x7f91, + 0x13ea: 0x7fb9, 0x13eb: 0x7fe1, 0x13ec: 0x8031, 0x13ed: 0x8059, 0x13ee: 0x8081, 0x13ef: 0x80a9, + 0x13f0: 0x80d1, 0x13f1: 0x80f9, 0x13f2: 0x8f61, 0x13f3: 0x8121, 0x13f4: 0x8149, 0x13f5: 0x8171, + 0x13f6: 0x8199, 0x13f7: 0x81c1, 0x13f8: 0x81e9, 0x13f9: 0x8239, 0x13fa: 0x8261, 0x13fb: 0x8289, + 0x13fc: 0x82b1, 0x13fd: 0x82d9, 0x13fe: 0x8301, 0x13ff: 0x8329, + // Block 0x50, offset 0x1400 + 0x1400: 0x8351, 0x1401: 0x8379, 0x1402: 0x83f1, 0x1403: 0x8419, 0x1404: 0x84b9, 0x1405: 0x84e1, + 0x1406: 0x8509, 0x1407: 0x8531, 0x1408: 0x8559, 0x1409: 0x85d1, 0x140a: 0x85f9, 0x140b: 0x8621, + 0x140c: 0x8649, 0x140d: 0x8f89, 0x140e: 0x86c1, 0x140f: 0x86e9, 0x1410: 0x8711, 0x1411: 0x8739, + 0x1412: 0x87b1, 0x1413: 0x87d9, 0x1414: 0x8801, 0x1415: 0x8829, 0x1416: 0x8fb1, 0x1417: 0x88a1, + 0x1418: 0x88c9, 0x1419: 0x8fd9, 0x141a: 0x8941, 0x141b: 0x8969, 0x141c: 0x8991, 0x141d: 0x89b9, + 0x141e: 0x9001, 0x141f: 0x7c71, 0x1420: 0x8ee9, 0x1421: 0x7d39, 0x1422: 0x8f11, 0x1423: 0x7e29, + 0x1424: 0x8f39, 0x1425: 0x7ec9, 0x1426: 0x9029, 0x1427: 0x80d1, 0x1428: 0x9051, 0x1429: 0x9079, + 0x142a: 0x90a1, 0x142b: 0x8531, 0x142c: 0x8559, 0x142d: 0x8649, 0x142e: 0x8829, 0x142f: 0x8fb1, + 0x1430: 0x89b9, 0x1431: 0x9001, 0x1432: 0x90c9, 0x1433: 0x9101, 0x1434: 0x9139, 0x1435: 0x9171, + 0x1436: 0x9199, 0x1437: 0x91c1, 0x1438: 0x91e9, 0x1439: 0x9211, 0x143a: 0x9239, 0x143b: 0x9261, + 0x143c: 0x9289, 0x143d: 0x92b1, 0x143e: 0x92d9, 0x143f: 0x9301, + // Block 0x51, offset 0x1440 + 0x1440: 0x9329, 0x1441: 0x9351, 0x1442: 0x9379, 0x1443: 0x93a1, 0x1444: 0x93c9, 0x1445: 0x93f1, + 0x1446: 0x9419, 0x1447: 0x9441, 0x1448: 0x9469, 0x1449: 0x9491, 0x144a: 0x94b9, 0x144b: 0x94e1, + 0x144c: 0x9079, 0x144d: 0x9509, 0x144e: 0x9531, 0x144f: 0x9559, 0x1450: 0x9581, 0x1451: 0x9171, + 0x1452: 0x9199, 0x1453: 0x91c1, 0x1454: 0x91e9, 0x1455: 0x9211, 0x1456: 0x9239, 0x1457: 0x9261, + 0x1458: 0x9289, 0x1459: 0x92b1, 0x145a: 0x92d9, 0x145b: 0x9301, 0x145c: 0x9329, 0x145d: 0x9351, + 0x145e: 0x9379, 0x145f: 0x93a1, 0x1460: 0x93c9, 0x1461: 0x93f1, 0x1462: 0x9419, 0x1463: 0x9441, + 0x1464: 0x9469, 0x1465: 0x9491, 0x1466: 0x94b9, 0x1467: 0x94e1, 0x1468: 0x9079, 0x1469: 0x9509, + 0x146a: 0x9531, 0x146b: 0x9559, 0x146c: 0x9581, 0x146d: 0x9491, 0x146e: 0x94b9, 0x146f: 0x94e1, + 0x1470: 0x9079, 0x1471: 0x9051, 0x1472: 0x90a1, 0x1473: 0x8211, 0x1474: 0x8059, 0x1475: 0x8081, + 0x1476: 0x80a9, 0x1477: 0x9491, 0x1478: 0x94b9, 0x1479: 0x94e1, 0x147a: 0x8211, 0x147b: 0x8239, + 0x147c: 0x95a9, 0x147d: 0x95a9, 0x147e: 0x0018, 0x147f: 0x0018, + // Block 0x52, offset 0x1480 + 0x1480: 0x0040, 0x1481: 0x0040, 0x1482: 0x0040, 0x1483: 0x0040, 0x1484: 0x0040, 0x1485: 0x0040, + 0x1486: 0x0040, 0x1487: 0x0040, 0x1488: 0x0040, 0x1489: 0x0040, 0x148a: 0x0040, 0x148b: 0x0040, + 0x148c: 0x0040, 0x148d: 0x0040, 0x148e: 0x0040, 0x148f: 0x0040, 0x1490: 0x95d1, 0x1491: 0x9609, + 0x1492: 0x9609, 0x1493: 0x9641, 0x1494: 0x9679, 0x1495: 0x96b1, 0x1496: 0x96e9, 0x1497: 0x9721, + 0x1498: 0x9759, 0x1499: 0x9759, 0x149a: 0x9791, 0x149b: 0x97c9, 0x149c: 0x9801, 0x149d: 0x9839, + 0x149e: 0x9871, 0x149f: 0x98a9, 0x14a0: 0x98a9, 0x14a1: 0x98e1, 0x14a2: 0x9919, 0x14a3: 0x9919, + 0x14a4: 0x9951, 0x14a5: 0x9951, 0x14a6: 0x9989, 0x14a7: 0x99c1, 0x14a8: 0x99c1, 0x14a9: 0x99f9, + 0x14aa: 0x9a31, 0x14ab: 0x9a31, 0x14ac: 0x9a69, 0x14ad: 0x9a69, 0x14ae: 0x9aa1, 0x14af: 0x9ad9, + 0x14b0: 0x9ad9, 0x14b1: 0x9b11, 0x14b2: 0x9b11, 0x14b3: 0x9b49, 0x14b4: 0x9b81, 0x14b5: 0x9bb9, + 0x14b6: 0x9bf1, 0x14b7: 0x9bf1, 0x14b8: 0x9c29, 0x14b9: 0x9c61, 0x14ba: 0x9c99, 0x14bb: 0x9cd1, + 0x14bc: 0x9d09, 0x14bd: 0x9d09, 0x14be: 0x9d41, 0x14bf: 0x9d79, + // Block 0x53, offset 0x14c0 + 0x14c0: 0xa949, 0x14c1: 0xa981, 0x14c2: 0xa9b9, 0x14c3: 0xa8a1, 0x14c4: 0x9bb9, 0x14c5: 0x9989, + 0x14c6: 0xa9f1, 0x14c7: 0xaa29, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, + 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x0040, 0x14d1: 0x0040, + 0x14d2: 0x0040, 0x14d3: 0x0040, 0x14d4: 0x0040, 0x14d5: 0x0040, 0x14d6: 0x0040, 0x14d7: 0x0040, + 0x14d8: 0x0040, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040, + 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x0040, 0x14e1: 0x0040, 0x14e2: 0x0040, 0x14e3: 0x0040, + 0x14e4: 0x0040, 0x14e5: 0x0040, 0x14e6: 0x0040, 0x14e7: 0x0040, 0x14e8: 0x0040, 0x14e9: 0x0040, + 0x14ea: 0x0040, 0x14eb: 0x0040, 0x14ec: 0x0040, 0x14ed: 0x0040, 0x14ee: 0x0040, 0x14ef: 0x0040, + 0x14f0: 0xaa61, 0x14f1: 0xaa99, 0x14f2: 0xaad1, 0x14f3: 0xab19, 0x14f4: 0xab61, 0x14f5: 0xaba9, + 0x14f6: 0xabf1, 0x14f7: 0xac39, 0x14f8: 0xac81, 0x14f9: 0xacc9, 0x14fa: 0xad02, 0x14fb: 0xae12, + 0x14fc: 0xae91, 0x14fd: 0x0018, 0x14fe: 0x0040, 0x14ff: 0x0040, + // Block 0x54, offset 0x1500 + 0x1500: 0x33c0, 0x1501: 0x33c0, 0x1502: 0x33c0, 0x1503: 0x33c0, 0x1504: 0x33c0, 0x1505: 0x33c0, + 0x1506: 0x33c0, 0x1507: 0x33c0, 0x1508: 0x33c0, 0x1509: 0x33c0, 0x150a: 0x33c0, 0x150b: 0x33c0, + 0x150c: 0x33c0, 0x150d: 0x33c0, 0x150e: 0x33c0, 0x150f: 0x33c0, 0x1510: 0xaeda, 0x1511: 0x7d55, + 0x1512: 0x0040, 0x1513: 0xaeea, 0x1514: 0x03c2, 0x1515: 0xaefa, 0x1516: 0xaf0a, 0x1517: 0x7d75, + 0x1518: 0x7d95, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, + 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x3308, 0x1521: 0x3308, 0x1522: 0x3308, 0x1523: 0x3308, + 0x1524: 0x3308, 0x1525: 0x3308, 0x1526: 0x3308, 0x1527: 0x3308, 0x1528: 0x3308, 0x1529: 0x3308, + 0x152a: 0x3308, 0x152b: 0x3308, 0x152c: 0x3308, 0x152d: 0x3308, 0x152e: 0x3308, 0x152f: 0x3308, + 0x1530: 0x0040, 0x1531: 0x7db5, 0x1532: 0x7dd5, 0x1533: 0xaf1a, 0x1534: 0xaf1a, 0x1535: 0x1fd2, + 0x1536: 0x1fe2, 0x1537: 0xaf2a, 0x1538: 0xaf3a, 0x1539: 0x7df5, 0x153a: 0x7e15, 0x153b: 0x7e35, + 0x153c: 0x7df5, 0x153d: 0x7e55, 0x153e: 0x7e75, 0x153f: 0x7e55, + // Block 0x55, offset 0x1540 + 0x1540: 0x7e95, 0x1541: 0x7eb5, 0x1542: 0x7ed5, 0x1543: 0x7eb5, 0x1544: 0x7ef5, 0x1545: 0x0018, + 0x1546: 0x0018, 0x1547: 0xaf4a, 0x1548: 0xaf5a, 0x1549: 0x7f16, 0x154a: 0x7f36, 0x154b: 0x7f56, + 0x154c: 0x7f76, 0x154d: 0xaf1a, 0x154e: 0xaf1a, 0x154f: 0xaf1a, 0x1550: 0xaeda, 0x1551: 0x7f95, + 0x1552: 0x0040, 0x1553: 0x0040, 0x1554: 0x03c2, 0x1555: 0xaeea, 0x1556: 0xaf0a, 0x1557: 0xaefa, + 0x1558: 0x7fb5, 0x1559: 0x1fd2, 0x155a: 0x1fe2, 0x155b: 0xaf2a, 0x155c: 0xaf3a, 0x155d: 0x7e95, + 0x155e: 0x7ef5, 0x155f: 0xaf6a, 0x1560: 0xaf7a, 0x1561: 0xaf8a, 0x1562: 0x1fb2, 0x1563: 0xaf99, + 0x1564: 0xafaa, 0x1565: 0xafba, 0x1566: 0x1fc2, 0x1567: 0x0040, 0x1568: 0xafca, 0x1569: 0xafda, + 0x156a: 0xafea, 0x156b: 0xaffa, 0x156c: 0x0040, 0x156d: 0x0040, 0x156e: 0x0040, 0x156f: 0x0040, + 0x1570: 0x7fd6, 0x1571: 0xb009, 0x1572: 0x7ff6, 0x1573: 0x0808, 0x1574: 0x8016, 0x1575: 0x0040, + 0x1576: 0x8036, 0x1577: 0xb031, 0x1578: 0x8056, 0x1579: 0xb059, 0x157a: 0x8076, 0x157b: 0xb081, + 0x157c: 0x8096, 0x157d: 0xb0a9, 0x157e: 0x80b6, 0x157f: 0xb0d1, + // Block 0x56, offset 0x1580 + 0x1580: 0xb0f9, 0x1581: 0xb111, 0x1582: 0xb111, 0x1583: 0xb129, 0x1584: 0xb129, 0x1585: 0xb141, + 0x1586: 0xb141, 0x1587: 0xb159, 0x1588: 0xb159, 0x1589: 0xb171, 0x158a: 0xb171, 0x158b: 0xb171, + 0x158c: 0xb171, 0x158d: 0xb189, 0x158e: 0xb189, 0x158f: 0xb1a1, 0x1590: 0xb1a1, 0x1591: 0xb1a1, + 0x1592: 0xb1a1, 0x1593: 0xb1b9, 0x1594: 0xb1b9, 0x1595: 0xb1d1, 0x1596: 0xb1d1, 0x1597: 0xb1d1, + 0x1598: 0xb1d1, 0x1599: 0xb1e9, 0x159a: 0xb1e9, 0x159b: 0xb1e9, 0x159c: 0xb1e9, 0x159d: 0xb201, + 0x159e: 0xb201, 0x159f: 0xb201, 0x15a0: 0xb201, 0x15a1: 0xb219, 0x15a2: 0xb219, 0x15a3: 0xb219, + 0x15a4: 0xb219, 0x15a5: 0xb231, 0x15a6: 0xb231, 0x15a7: 0xb231, 0x15a8: 0xb231, 0x15a9: 0xb249, + 0x15aa: 0xb249, 0x15ab: 0xb261, 0x15ac: 0xb261, 0x15ad: 0xb279, 0x15ae: 0xb279, 0x15af: 0xb291, + 0x15b0: 0xb291, 0x15b1: 0xb2a9, 0x15b2: 0xb2a9, 0x15b3: 0xb2a9, 0x15b4: 0xb2a9, 0x15b5: 0xb2c1, + 0x15b6: 0xb2c1, 0x15b7: 0xb2c1, 0x15b8: 0xb2c1, 0x15b9: 0xb2d9, 0x15ba: 0xb2d9, 0x15bb: 0xb2d9, + 0x15bc: 0xb2d9, 0x15bd: 0xb2f1, 0x15be: 0xb2f1, 0x15bf: 0xb2f1, + // Block 0x57, offset 0x15c0 + 0x15c0: 0xb2f1, 0x15c1: 0xb309, 0x15c2: 0xb309, 0x15c3: 0xb309, 0x15c4: 0xb309, 0x15c5: 0xb321, + 0x15c6: 0xb321, 0x15c7: 0xb321, 0x15c8: 0xb321, 0x15c9: 0xb339, 0x15ca: 0xb339, 0x15cb: 0xb339, + 0x15cc: 0xb339, 0x15cd: 0xb351, 0x15ce: 0xb351, 0x15cf: 0xb351, 0x15d0: 0xb351, 0x15d1: 0xb369, + 0x15d2: 0xb369, 0x15d3: 0xb369, 0x15d4: 0xb369, 0x15d5: 0xb381, 0x15d6: 0xb381, 0x15d7: 0xb381, + 0x15d8: 0xb381, 0x15d9: 0xb399, 0x15da: 0xb399, 0x15db: 0xb399, 0x15dc: 0xb399, 0x15dd: 0xb3b1, + 0x15de: 0xb3b1, 0x15df: 0xb3b1, 0x15e0: 0xb3b1, 0x15e1: 0xb3c9, 0x15e2: 0xb3c9, 0x15e3: 0xb3c9, + 0x15e4: 0xb3c9, 0x15e5: 0xb3e1, 0x15e6: 0xb3e1, 0x15e7: 0xb3e1, 0x15e8: 0xb3e1, 0x15e9: 0xb3f9, + 0x15ea: 0xb3f9, 0x15eb: 0xb3f9, 0x15ec: 0xb3f9, 0x15ed: 0xb411, 0x15ee: 0xb411, 0x15ef: 0x7ab1, + 0x15f0: 0x7ab1, 0x15f1: 0xb429, 0x15f2: 0xb429, 0x15f3: 0xb429, 0x15f4: 0xb429, 0x15f5: 0xb441, + 0x15f6: 0xb441, 0x15f7: 0xb469, 0x15f8: 0xb469, 0x15f9: 0xb491, 0x15fa: 0xb491, 0x15fb: 0xb4b9, + 0x15fc: 0xb4b9, 0x15fd: 0x0040, 0x15fe: 0x0040, 0x15ff: 0x03c0, + // Block 0x58, offset 0x1600 + 0x1600: 0x0040, 0x1601: 0xaefa, 0x1602: 0xb4e2, 0x1603: 0xaf6a, 0x1604: 0xafda, 0x1605: 0xafea, + 0x1606: 0xaf7a, 0x1607: 0xb4f2, 0x1608: 0x1fd2, 0x1609: 0x1fe2, 0x160a: 0xaf8a, 0x160b: 0x1fb2, + 0x160c: 0xaeda, 0x160d: 0xaf99, 0x160e: 0x29d1, 0x160f: 0xb502, 0x1610: 0x1f41, 0x1611: 0x00c9, + 0x1612: 0x0069, 0x1613: 0x0079, 0x1614: 0x1f51, 0x1615: 0x1f61, 0x1616: 0x1f71, 0x1617: 0x1f81, + 0x1618: 0x1f91, 0x1619: 0x1fa1, 0x161a: 0xaeea, 0x161b: 0x03c2, 0x161c: 0xafaa, 0x161d: 0x1fc2, + 0x161e: 0xafba, 0x161f: 0xaf0a, 0x1620: 0xaffa, 0x1621: 0x0039, 0x1622: 0x0ee9, 0x1623: 0x1159, + 0x1624: 0x0ef9, 0x1625: 0x0f09, 0x1626: 0x1199, 0x1627: 0x0f31, 0x1628: 0x0249, 0x1629: 0x0f41, + 0x162a: 0x0259, 0x162b: 0x0f51, 0x162c: 0x0359, 0x162d: 0x0f61, 0x162e: 0x0f71, 0x162f: 0x00d9, + 0x1630: 0x0f99, 0x1631: 0x2039, 0x1632: 0x0269, 0x1633: 0x01d9, 0x1634: 0x0fa9, 0x1635: 0x0fb9, + 0x1636: 0x1089, 0x1637: 0x0279, 0x1638: 0x0369, 0x1639: 0x0289, 0x163a: 0x13d1, 0x163b: 0xaf4a, + 0x163c: 0xafca, 0x163d: 0xaf5a, 0x163e: 0xb512, 0x163f: 0xaf1a, + // Block 0x59, offset 0x1640 + 0x1640: 0x1caa, 0x1641: 0x0039, 0x1642: 0x0ee9, 0x1643: 0x1159, 0x1644: 0x0ef9, 0x1645: 0x0f09, + 0x1646: 0x1199, 0x1647: 0x0f31, 0x1648: 0x0249, 0x1649: 0x0f41, 0x164a: 0x0259, 0x164b: 0x0f51, + 0x164c: 0x0359, 0x164d: 0x0f61, 0x164e: 0x0f71, 0x164f: 0x00d9, 0x1650: 0x0f99, 0x1651: 0x2039, + 0x1652: 0x0269, 0x1653: 0x01d9, 0x1654: 0x0fa9, 0x1655: 0x0fb9, 0x1656: 0x1089, 0x1657: 0x0279, + 0x1658: 0x0369, 0x1659: 0x0289, 0x165a: 0x13d1, 0x165b: 0xaf2a, 0x165c: 0xb522, 0x165d: 0xaf3a, + 0x165e: 0xb532, 0x165f: 0x80d5, 0x1660: 0x80f5, 0x1661: 0x29d1, 0x1662: 0x8115, 0x1663: 0x8115, + 0x1664: 0x8135, 0x1665: 0x8155, 0x1666: 0x8175, 0x1667: 0x8195, 0x1668: 0x81b5, 0x1669: 0x81d5, + 0x166a: 0x81f5, 0x166b: 0x8215, 0x166c: 0x8235, 0x166d: 0x8255, 0x166e: 0x8275, 0x166f: 0x8295, + 0x1670: 0x82b5, 0x1671: 0x82d5, 0x1672: 0x82f5, 0x1673: 0x8315, 0x1674: 0x8335, 0x1675: 0x8355, + 0x1676: 0x8375, 0x1677: 0x8395, 0x1678: 0x83b5, 0x1679: 0x83d5, 0x167a: 0x83f5, 0x167b: 0x8415, + 0x167c: 0x81b5, 0x167d: 0x8435, 0x167e: 0x8455, 0x167f: 0x8215, + // Block 0x5a, offset 0x1680 + 0x1680: 0x8475, 0x1681: 0x8495, 0x1682: 0x84b5, 0x1683: 0x84d5, 0x1684: 0x84f5, 0x1685: 0x8515, + 0x1686: 0x8535, 0x1687: 0x8555, 0x1688: 0x84d5, 0x1689: 0x8575, 0x168a: 0x84d5, 0x168b: 0x8595, + 0x168c: 0x8595, 0x168d: 0x85b5, 0x168e: 0x85b5, 0x168f: 0x85d5, 0x1690: 0x8515, 0x1691: 0x85f5, + 0x1692: 0x8615, 0x1693: 0x85f5, 0x1694: 0x8635, 0x1695: 0x8615, 0x1696: 0x8655, 0x1697: 0x8655, + 0x1698: 0x8675, 0x1699: 0x8675, 0x169a: 0x8695, 0x169b: 0x8695, 0x169c: 0x8615, 0x169d: 0x8115, + 0x169e: 0x86b5, 0x169f: 0x86d5, 0x16a0: 0x0040, 0x16a1: 0x86f5, 0x16a2: 0x8715, 0x16a3: 0x8735, + 0x16a4: 0x8755, 0x16a5: 0x8735, 0x16a6: 0x8775, 0x16a7: 0x8795, 0x16a8: 0x87b5, 0x16a9: 0x87b5, + 0x16aa: 0x87d5, 0x16ab: 0x87d5, 0x16ac: 0x87f5, 0x16ad: 0x87f5, 0x16ae: 0x87d5, 0x16af: 0x87d5, + 0x16b0: 0x8815, 0x16b1: 0x8835, 0x16b2: 0x8855, 0x16b3: 0x8875, 0x16b4: 0x8895, 0x16b5: 0x88b5, + 0x16b6: 0x88b5, 0x16b7: 0x88b5, 0x16b8: 0x88d5, 0x16b9: 0x88d5, 0x16ba: 0x88d5, 0x16bb: 0x88d5, + 0x16bc: 0x87b5, 0x16bd: 0x87b5, 0x16be: 0x87b5, 0x16bf: 0x0040, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x0040, 0x16c1: 0x0040, 0x16c2: 0x8715, 0x16c3: 0x86f5, 0x16c4: 0x88f5, 0x16c5: 0x86f5, + 0x16c6: 0x8715, 0x16c7: 0x86f5, 0x16c8: 0x0040, 0x16c9: 0x0040, 0x16ca: 0x8915, 0x16cb: 0x8715, + 0x16cc: 0x8935, 0x16cd: 0x88f5, 0x16ce: 0x8935, 0x16cf: 0x8715, 0x16d0: 0x0040, 0x16d1: 0x0040, + 0x16d2: 0x8955, 0x16d3: 0x8975, 0x16d4: 0x8875, 0x16d5: 0x8935, 0x16d6: 0x88f5, 0x16d7: 0x8935, + 0x16d8: 0x0040, 0x16d9: 0x0040, 0x16da: 0x8995, 0x16db: 0x89b5, 0x16dc: 0x8995, 0x16dd: 0x0040, + 0x16de: 0x0040, 0x16df: 0x0040, 0x16e0: 0xb541, 0x16e1: 0xb559, 0x16e2: 0xb571, 0x16e3: 0x89d6, + 0x16e4: 0xb589, 0x16e5: 0xb5a1, 0x16e6: 0x89f5, 0x16e7: 0x0040, 0x16e8: 0x8a15, 0x16e9: 0x8a35, + 0x16ea: 0x8a55, 0x16eb: 0x8a35, 0x16ec: 0x8a75, 0x16ed: 0x8a95, 0x16ee: 0x8ab5, 0x16ef: 0x0040, + 0x16f0: 0x0040, 0x16f1: 0x0040, 0x16f2: 0x0040, 0x16f3: 0x0040, 0x16f4: 0x0040, 0x16f5: 0x0040, + 0x16f6: 0x0040, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0340, 0x16fa: 0x0340, 0x16fb: 0x0340, + 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0a08, 0x1701: 0x0a08, 0x1702: 0x0a08, 0x1703: 0x0a08, 0x1704: 0x0a08, 0x1705: 0x0c08, + 0x1706: 0x0808, 0x1707: 0x0c08, 0x1708: 0x0818, 0x1709: 0x0c08, 0x170a: 0x0c08, 0x170b: 0x0808, + 0x170c: 0x0808, 0x170d: 0x0908, 0x170e: 0x0c08, 0x170f: 0x0c08, 0x1710: 0x0c08, 0x1711: 0x0c08, + 0x1712: 0x0c08, 0x1713: 0x0a08, 0x1714: 0x0a08, 0x1715: 0x0a08, 0x1716: 0x0a08, 0x1717: 0x0908, + 0x1718: 0x0a08, 0x1719: 0x0a08, 0x171a: 0x0a08, 0x171b: 0x0a08, 0x171c: 0x0a08, 0x171d: 0x0c08, + 0x171e: 0x0a08, 0x171f: 0x0a08, 0x1720: 0x0a08, 0x1721: 0x0c08, 0x1722: 0x0808, 0x1723: 0x0808, + 0x1724: 0x0c08, 0x1725: 0x3308, 0x1726: 0x3308, 0x1727: 0x0040, 0x1728: 0x0040, 0x1729: 0x0040, + 0x172a: 0x0040, 0x172b: 0x0a18, 0x172c: 0x0a18, 0x172d: 0x0a18, 0x172e: 0x0a18, 0x172f: 0x0c18, + 0x1730: 0x0818, 0x1731: 0x0818, 0x1732: 0x0818, 0x1733: 0x0818, 0x1734: 0x0818, 0x1735: 0x0818, + 0x1736: 0x0818, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0040, 0x173a: 0x0040, 0x173b: 0x0040, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x0a08, 0x1741: 0x0c08, 0x1742: 0x0a08, 0x1743: 0x0c08, 0x1744: 0x0c08, 0x1745: 0x0c08, + 0x1746: 0x0a08, 0x1747: 0x0a08, 0x1748: 0x0a08, 0x1749: 0x0c08, 0x174a: 0x0a08, 0x174b: 0x0a08, + 0x174c: 0x0c08, 0x174d: 0x0a08, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0a08, 0x1751: 0x0c08, + 0x1752: 0x0040, 0x1753: 0x0040, 0x1754: 0x0040, 0x1755: 0x0040, 0x1756: 0x0040, 0x1757: 0x0040, + 0x1758: 0x0040, 0x1759: 0x0818, 0x175a: 0x0818, 0x175b: 0x0818, 0x175c: 0x0818, 0x175d: 0x0040, + 0x175e: 0x0040, 0x175f: 0x0040, 0x1760: 0x0040, 0x1761: 0x0040, 0x1762: 0x0040, 0x1763: 0x0040, + 0x1764: 0x0040, 0x1765: 0x0040, 0x1766: 0x0040, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0c18, + 0x176a: 0x0c18, 0x176b: 0x0c18, 0x176c: 0x0c18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0818, + 0x1770: 0x0040, 0x1771: 0x0040, 0x1772: 0x0040, 0x1773: 0x0040, 0x1774: 0x0040, 0x1775: 0x0040, + 0x1776: 0x0040, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, + // Block 0x5e, offset 0x1780 + 0x1780: 0x3308, 0x1781: 0x3308, 0x1782: 0x3008, 0x1783: 0x3008, 0x1784: 0x0040, 0x1785: 0x0008, + 0x1786: 0x0008, 0x1787: 0x0008, 0x1788: 0x0008, 0x1789: 0x0008, 0x178a: 0x0008, 0x178b: 0x0008, + 0x178c: 0x0008, 0x178d: 0x0040, 0x178e: 0x0040, 0x178f: 0x0008, 0x1790: 0x0008, 0x1791: 0x0040, + 0x1792: 0x0040, 0x1793: 0x0008, 0x1794: 0x0008, 0x1795: 0x0008, 0x1796: 0x0008, 0x1797: 0x0008, + 0x1798: 0x0008, 0x1799: 0x0008, 0x179a: 0x0008, 0x179b: 0x0008, 0x179c: 0x0008, 0x179d: 0x0008, + 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x0008, 0x17a3: 0x0008, + 0x17a4: 0x0008, 0x17a5: 0x0008, 0x17a6: 0x0008, 0x17a7: 0x0008, 0x17a8: 0x0008, 0x17a9: 0x0040, + 0x17aa: 0x0008, 0x17ab: 0x0008, 0x17ac: 0x0008, 0x17ad: 0x0008, 0x17ae: 0x0008, 0x17af: 0x0008, + 0x17b0: 0x0008, 0x17b1: 0x0040, 0x17b2: 0x0008, 0x17b3: 0x0008, 0x17b4: 0x0040, 0x17b5: 0x0008, + 0x17b6: 0x0008, 0x17b7: 0x0008, 0x17b8: 0x0008, 0x17b9: 0x0008, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x3308, 0x17bd: 0x0008, 0x17be: 0x3008, 0x17bf: 0x3008, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x3308, 0x17c1: 0x3008, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x3008, 0x17c5: 0x0040, + 0x17c6: 0x0040, 0x17c7: 0x3008, 0x17c8: 0x3008, 0x17c9: 0x0040, 0x17ca: 0x0040, 0x17cb: 0x3008, + 0x17cc: 0x3008, 0x17cd: 0x3808, 0x17ce: 0x0040, 0x17cf: 0x0040, 0x17d0: 0x0008, 0x17d1: 0x0040, + 0x17d2: 0x0040, 0x17d3: 0x0040, 0x17d4: 0x0040, 0x17d5: 0x0040, 0x17d6: 0x0040, 0x17d7: 0x3008, + 0x17d8: 0x0040, 0x17d9: 0x0040, 0x17da: 0x0040, 0x17db: 0x0040, 0x17dc: 0x0040, 0x17dd: 0x0008, + 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x3008, 0x17e3: 0x3008, + 0x17e4: 0x0040, 0x17e5: 0x0040, 0x17e6: 0x3308, 0x17e7: 0x3308, 0x17e8: 0x3308, 0x17e9: 0x3308, + 0x17ea: 0x3308, 0x17eb: 0x3308, 0x17ec: 0x3308, 0x17ed: 0x0040, 0x17ee: 0x0040, 0x17ef: 0x0040, + 0x17f0: 0x3308, 0x17f1: 0x3308, 0x17f2: 0x3308, 0x17f3: 0x3308, 0x17f4: 0x3308, 0x17f5: 0x0040, + 0x17f6: 0x0040, 0x17f7: 0x0040, 0x17f8: 0x0040, 0x17f9: 0x0040, 0x17fa: 0x0040, 0x17fb: 0x0040, + 0x17fc: 0x0040, 0x17fd: 0x0040, 0x17fe: 0x0040, 0x17ff: 0x0040, + // Block 0x60, offset 0x1800 + 0x1800: 0x0039, 0x1801: 0x0ee9, 0x1802: 0x1159, 0x1803: 0x0ef9, 0x1804: 0x0f09, 0x1805: 0x1199, + 0x1806: 0x0f31, 0x1807: 0x0249, 0x1808: 0x0f41, 0x1809: 0x0259, 0x180a: 0x0f51, 0x180b: 0x0359, + 0x180c: 0x0f61, 0x180d: 0x0f71, 0x180e: 0x00d9, 0x180f: 0x0f99, 0x1810: 0x2039, 0x1811: 0x0269, + 0x1812: 0x01d9, 0x1813: 0x0fa9, 0x1814: 0x0fb9, 0x1815: 0x1089, 0x1816: 0x0279, 0x1817: 0x0369, + 0x1818: 0x0289, 0x1819: 0x13d1, 0x181a: 0x0039, 0x181b: 0x0ee9, 0x181c: 0x1159, 0x181d: 0x0ef9, + 0x181e: 0x0f09, 0x181f: 0x1199, 0x1820: 0x0f31, 0x1821: 0x0249, 0x1822: 0x0f41, 0x1823: 0x0259, + 0x1824: 0x0f51, 0x1825: 0x0359, 0x1826: 0x0f61, 0x1827: 0x0f71, 0x1828: 0x00d9, 0x1829: 0x0f99, + 0x182a: 0x2039, 0x182b: 0x0269, 0x182c: 0x01d9, 0x182d: 0x0fa9, 0x182e: 0x0fb9, 0x182f: 0x1089, + 0x1830: 0x0279, 0x1831: 0x0369, 0x1832: 0x0289, 0x1833: 0x13d1, 0x1834: 0x0039, 0x1835: 0x0ee9, + 0x1836: 0x1159, 0x1837: 0x0ef9, 0x1838: 0x0f09, 0x1839: 0x1199, 0x183a: 0x0f31, 0x183b: 0x0249, + 0x183c: 0x0f41, 0x183d: 0x0259, 0x183e: 0x0f51, 0x183f: 0x0359, + // Block 0x61, offset 0x1840 + 0x1840: 0x0f61, 0x1841: 0x0f71, 0x1842: 0x00d9, 0x1843: 0x0f99, 0x1844: 0x2039, 0x1845: 0x0269, + 0x1846: 0x01d9, 0x1847: 0x0fa9, 0x1848: 0x0fb9, 0x1849: 0x1089, 0x184a: 0x0279, 0x184b: 0x0369, + 0x184c: 0x0289, 0x184d: 0x13d1, 0x184e: 0x0039, 0x184f: 0x0ee9, 0x1850: 0x1159, 0x1851: 0x0ef9, + 0x1852: 0x0f09, 0x1853: 0x1199, 0x1854: 0x0f31, 0x1855: 0x0040, 0x1856: 0x0f41, 0x1857: 0x0259, + 0x1858: 0x0f51, 0x1859: 0x0359, 0x185a: 0x0f61, 0x185b: 0x0f71, 0x185c: 0x00d9, 0x185d: 0x0f99, + 0x185e: 0x2039, 0x185f: 0x0269, 0x1860: 0x01d9, 0x1861: 0x0fa9, 0x1862: 0x0fb9, 0x1863: 0x1089, + 0x1864: 0x0279, 0x1865: 0x0369, 0x1866: 0x0289, 0x1867: 0x13d1, 0x1868: 0x0039, 0x1869: 0x0ee9, + 0x186a: 0x1159, 0x186b: 0x0ef9, 0x186c: 0x0f09, 0x186d: 0x1199, 0x186e: 0x0f31, 0x186f: 0x0249, + 0x1870: 0x0f41, 0x1871: 0x0259, 0x1872: 0x0f51, 0x1873: 0x0359, 0x1874: 0x0f61, 0x1875: 0x0f71, + 0x1876: 0x00d9, 0x1877: 0x0f99, 0x1878: 0x2039, 0x1879: 0x0269, 0x187a: 0x01d9, 0x187b: 0x0fa9, + 0x187c: 0x0fb9, 0x187d: 0x1089, 0x187e: 0x0279, 0x187f: 0x0369, + // Block 0x62, offset 0x1880 + 0x1880: 0x0289, 0x1881: 0x13d1, 0x1882: 0x0039, 0x1883: 0x0ee9, 0x1884: 0x1159, 0x1885: 0x0ef9, + 0x1886: 0x0f09, 0x1887: 0x1199, 0x1888: 0x0f31, 0x1889: 0x0249, 0x188a: 0x0f41, 0x188b: 0x0259, + 0x188c: 0x0f51, 0x188d: 0x0359, 0x188e: 0x0f61, 0x188f: 0x0f71, 0x1890: 0x00d9, 0x1891: 0x0f99, + 0x1892: 0x2039, 0x1893: 0x0269, 0x1894: 0x01d9, 0x1895: 0x0fa9, 0x1896: 0x0fb9, 0x1897: 0x1089, + 0x1898: 0x0279, 0x1899: 0x0369, 0x189a: 0x0289, 0x189b: 0x13d1, 0x189c: 0x0039, 0x189d: 0x0040, + 0x189e: 0x1159, 0x189f: 0x0ef9, 0x18a0: 0x0040, 0x18a1: 0x0040, 0x18a2: 0x0f31, 0x18a3: 0x0040, + 0x18a4: 0x0040, 0x18a5: 0x0259, 0x18a6: 0x0f51, 0x18a7: 0x0040, 0x18a8: 0x0040, 0x18a9: 0x0f71, + 0x18aa: 0x00d9, 0x18ab: 0x0f99, 0x18ac: 0x2039, 0x18ad: 0x0040, 0x18ae: 0x01d9, 0x18af: 0x0fa9, + 0x18b0: 0x0fb9, 0x18b1: 0x1089, 0x18b2: 0x0279, 0x18b3: 0x0369, 0x18b4: 0x0289, 0x18b5: 0x13d1, + 0x18b6: 0x0039, 0x18b7: 0x0ee9, 0x18b8: 0x1159, 0x18b9: 0x0ef9, 0x18ba: 0x0040, 0x18bb: 0x1199, + 0x18bc: 0x0040, 0x18bd: 0x0249, 0x18be: 0x0f41, 0x18bf: 0x0259, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0f51, 0x18c1: 0x0359, 0x18c2: 0x0f61, 0x18c3: 0x0f71, 0x18c4: 0x0040, 0x18c5: 0x0f99, + 0x18c6: 0x2039, 0x18c7: 0x0269, 0x18c8: 0x01d9, 0x18c9: 0x0fa9, 0x18ca: 0x0fb9, 0x18cb: 0x1089, + 0x18cc: 0x0279, 0x18cd: 0x0369, 0x18ce: 0x0289, 0x18cf: 0x13d1, 0x18d0: 0x0039, 0x18d1: 0x0ee9, + 0x18d2: 0x1159, 0x18d3: 0x0ef9, 0x18d4: 0x0f09, 0x18d5: 0x1199, 0x18d6: 0x0f31, 0x18d7: 0x0249, + 0x18d8: 0x0f41, 0x18d9: 0x0259, 0x18da: 0x0f51, 0x18db: 0x0359, 0x18dc: 0x0f61, 0x18dd: 0x0f71, + 0x18de: 0x00d9, 0x18df: 0x0f99, 0x18e0: 0x2039, 0x18e1: 0x0269, 0x18e2: 0x01d9, 0x18e3: 0x0fa9, + 0x18e4: 0x0fb9, 0x18e5: 0x1089, 0x18e6: 0x0279, 0x18e7: 0x0369, 0x18e8: 0x0289, 0x18e9: 0x13d1, + 0x18ea: 0x0039, 0x18eb: 0x0ee9, 0x18ec: 0x1159, 0x18ed: 0x0ef9, 0x18ee: 0x0f09, 0x18ef: 0x1199, + 0x18f0: 0x0f31, 0x18f1: 0x0249, 0x18f2: 0x0f41, 0x18f3: 0x0259, 0x18f4: 0x0f51, 0x18f5: 0x0359, + 0x18f6: 0x0f61, 0x18f7: 0x0f71, 0x18f8: 0x00d9, 0x18f9: 0x0f99, 0x18fa: 0x2039, 0x18fb: 0x0269, + 0x18fc: 0x01d9, 0x18fd: 0x0fa9, 0x18fe: 0x0fb9, 0x18ff: 0x1089, + // Block 0x64, offset 0x1900 + 0x1900: 0x0279, 0x1901: 0x0369, 0x1902: 0x0289, 0x1903: 0x13d1, 0x1904: 0x0039, 0x1905: 0x0ee9, + 0x1906: 0x0040, 0x1907: 0x0ef9, 0x1908: 0x0f09, 0x1909: 0x1199, 0x190a: 0x0f31, 0x190b: 0x0040, + 0x190c: 0x0040, 0x190d: 0x0259, 0x190e: 0x0f51, 0x190f: 0x0359, 0x1910: 0x0f61, 0x1911: 0x0f71, + 0x1912: 0x00d9, 0x1913: 0x0f99, 0x1914: 0x2039, 0x1915: 0x0040, 0x1916: 0x01d9, 0x1917: 0x0fa9, + 0x1918: 0x0fb9, 0x1919: 0x1089, 0x191a: 0x0279, 0x191b: 0x0369, 0x191c: 0x0289, 0x191d: 0x0040, + 0x191e: 0x0039, 0x191f: 0x0ee9, 0x1920: 0x1159, 0x1921: 0x0ef9, 0x1922: 0x0f09, 0x1923: 0x1199, + 0x1924: 0x0f31, 0x1925: 0x0249, 0x1926: 0x0f41, 0x1927: 0x0259, 0x1928: 0x0f51, 0x1929: 0x0359, + 0x192a: 0x0f61, 0x192b: 0x0f71, 0x192c: 0x00d9, 0x192d: 0x0f99, 0x192e: 0x2039, 0x192f: 0x0269, + 0x1930: 0x01d9, 0x1931: 0x0fa9, 0x1932: 0x0fb9, 0x1933: 0x1089, 0x1934: 0x0279, 0x1935: 0x0369, + 0x1936: 0x0289, 0x1937: 0x13d1, 0x1938: 0x0039, 0x1939: 0x0ee9, 0x193a: 0x0040, 0x193b: 0x0ef9, + 0x193c: 0x0f09, 0x193d: 0x1199, 0x193e: 0x0f31, 0x193f: 0x0040, + // Block 0x65, offset 0x1940 + 0x1940: 0x0f41, 0x1941: 0x0259, 0x1942: 0x0f51, 0x1943: 0x0359, 0x1944: 0x0f61, 0x1945: 0x0040, + 0x1946: 0x00d9, 0x1947: 0x0040, 0x1948: 0x0040, 0x1949: 0x0040, 0x194a: 0x01d9, 0x194b: 0x0fa9, + 0x194c: 0x0fb9, 0x194d: 0x1089, 0x194e: 0x0279, 0x194f: 0x0369, 0x1950: 0x0289, 0x1951: 0x0040, + 0x1952: 0x0039, 0x1953: 0x0ee9, 0x1954: 0x1159, 0x1955: 0x0ef9, 0x1956: 0x0f09, 0x1957: 0x1199, + 0x1958: 0x0f31, 0x1959: 0x0249, 0x195a: 0x0f41, 0x195b: 0x0259, 0x195c: 0x0f51, 0x195d: 0x0359, + 0x195e: 0x0f61, 0x195f: 0x0f71, 0x1960: 0x00d9, 0x1961: 0x0f99, 0x1962: 0x2039, 0x1963: 0x0269, + 0x1964: 0x01d9, 0x1965: 0x0fa9, 0x1966: 0x0fb9, 0x1967: 0x1089, 0x1968: 0x0279, 0x1969: 0x0369, + 0x196a: 0x0289, 0x196b: 0x13d1, 0x196c: 0x0039, 0x196d: 0x0ee9, 0x196e: 0x1159, 0x196f: 0x0ef9, + 0x1970: 0x0f09, 0x1971: 0x1199, 0x1972: 0x0f31, 0x1973: 0x0249, 0x1974: 0x0f41, 0x1975: 0x0259, + 0x1976: 0x0f51, 0x1977: 0x0359, 0x1978: 0x0f61, 0x1979: 0x0f71, 0x197a: 0x00d9, 0x197b: 0x0f99, + 0x197c: 0x2039, 0x197d: 0x0269, 0x197e: 0x01d9, 0x197f: 0x0fa9, + // Block 0x66, offset 0x1980 + 0x1980: 0x0fb9, 0x1981: 0x1089, 0x1982: 0x0279, 0x1983: 0x0369, 0x1984: 0x0289, 0x1985: 0x13d1, + 0x1986: 0x0039, 0x1987: 0x0ee9, 0x1988: 0x1159, 0x1989: 0x0ef9, 0x198a: 0x0f09, 0x198b: 0x1199, + 0x198c: 0x0f31, 0x198d: 0x0249, 0x198e: 0x0f41, 0x198f: 0x0259, 0x1990: 0x0f51, 0x1991: 0x0359, + 0x1992: 0x0f61, 0x1993: 0x0f71, 0x1994: 0x00d9, 0x1995: 0x0f99, 0x1996: 0x2039, 0x1997: 0x0269, + 0x1998: 0x01d9, 0x1999: 0x0fa9, 0x199a: 0x0fb9, 0x199b: 0x1089, 0x199c: 0x0279, 0x199d: 0x0369, + 0x199e: 0x0289, 0x199f: 0x13d1, 0x19a0: 0x0039, 0x19a1: 0x0ee9, 0x19a2: 0x1159, 0x19a3: 0x0ef9, + 0x19a4: 0x0f09, 0x19a5: 0x1199, 0x19a6: 0x0f31, 0x19a7: 0x0249, 0x19a8: 0x0f41, 0x19a9: 0x0259, + 0x19aa: 0x0f51, 0x19ab: 0x0359, 0x19ac: 0x0f61, 0x19ad: 0x0f71, 0x19ae: 0x00d9, 0x19af: 0x0f99, + 0x19b0: 0x2039, 0x19b1: 0x0269, 0x19b2: 0x01d9, 0x19b3: 0x0fa9, 0x19b4: 0x0fb9, 0x19b5: 0x1089, + 0x19b6: 0x0279, 0x19b7: 0x0369, 0x19b8: 0x0289, 0x19b9: 0x13d1, 0x19ba: 0x0039, 0x19bb: 0x0ee9, + 0x19bc: 0x1159, 0x19bd: 0x0ef9, 0x19be: 0x0f09, 0x19bf: 0x1199, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x0f31, 0x19c1: 0x0249, 0x19c2: 0x0f41, 0x19c3: 0x0259, 0x19c4: 0x0f51, 0x19c5: 0x0359, + 0x19c6: 0x0f61, 0x19c7: 0x0f71, 0x19c8: 0x00d9, 0x19c9: 0x0f99, 0x19ca: 0x2039, 0x19cb: 0x0269, + 0x19cc: 0x01d9, 0x19cd: 0x0fa9, 0x19ce: 0x0fb9, 0x19cf: 0x1089, 0x19d0: 0x0279, 0x19d1: 0x0369, + 0x19d2: 0x0289, 0x19d3: 0x13d1, 0x19d4: 0x0039, 0x19d5: 0x0ee9, 0x19d6: 0x1159, 0x19d7: 0x0ef9, + 0x19d8: 0x0f09, 0x19d9: 0x1199, 0x19da: 0x0f31, 0x19db: 0x0249, 0x19dc: 0x0f41, 0x19dd: 0x0259, + 0x19de: 0x0f51, 0x19df: 0x0359, 0x19e0: 0x0f61, 0x19e1: 0x0f71, 0x19e2: 0x00d9, 0x19e3: 0x0f99, + 0x19e4: 0x2039, 0x19e5: 0x0269, 0x19e6: 0x01d9, 0x19e7: 0x0fa9, 0x19e8: 0x0fb9, 0x19e9: 0x1089, + 0x19ea: 0x0279, 0x19eb: 0x0369, 0x19ec: 0x0289, 0x19ed: 0x13d1, 0x19ee: 0x0039, 0x19ef: 0x0ee9, + 0x19f0: 0x1159, 0x19f1: 0x0ef9, 0x19f2: 0x0f09, 0x19f3: 0x1199, 0x19f4: 0x0f31, 0x19f5: 0x0249, + 0x19f6: 0x0f41, 0x19f7: 0x0259, 0x19f8: 0x0f51, 0x19f9: 0x0359, 0x19fa: 0x0f61, 0x19fb: 0x0f71, + 0x19fc: 0x00d9, 0x19fd: 0x0f99, 0x19fe: 0x2039, 0x19ff: 0x0269, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x01d9, 0x1a01: 0x0fa9, 0x1a02: 0x0fb9, 0x1a03: 0x1089, 0x1a04: 0x0279, 0x1a05: 0x0369, + 0x1a06: 0x0289, 0x1a07: 0x13d1, 0x1a08: 0x0039, 0x1a09: 0x0ee9, 0x1a0a: 0x1159, 0x1a0b: 0x0ef9, + 0x1a0c: 0x0f09, 0x1a0d: 0x1199, 0x1a0e: 0x0f31, 0x1a0f: 0x0249, 0x1a10: 0x0f41, 0x1a11: 0x0259, + 0x1a12: 0x0f51, 0x1a13: 0x0359, 0x1a14: 0x0f61, 0x1a15: 0x0f71, 0x1a16: 0x00d9, 0x1a17: 0x0f99, + 0x1a18: 0x2039, 0x1a19: 0x0269, 0x1a1a: 0x01d9, 0x1a1b: 0x0fa9, 0x1a1c: 0x0fb9, 0x1a1d: 0x1089, + 0x1a1e: 0x0279, 0x1a1f: 0x0369, 0x1a20: 0x0289, 0x1a21: 0x13d1, 0x1a22: 0x0039, 0x1a23: 0x0ee9, + 0x1a24: 0x1159, 0x1a25: 0x0ef9, 0x1a26: 0x0f09, 0x1a27: 0x1199, 0x1a28: 0x0f31, 0x1a29: 0x0249, + 0x1a2a: 0x0f41, 0x1a2b: 0x0259, 0x1a2c: 0x0f51, 0x1a2d: 0x0359, 0x1a2e: 0x0f61, 0x1a2f: 0x0f71, + 0x1a30: 0x00d9, 0x1a31: 0x0f99, 0x1a32: 0x2039, 0x1a33: 0x0269, 0x1a34: 0x01d9, 0x1a35: 0x0fa9, + 0x1a36: 0x0fb9, 0x1a37: 0x1089, 0x1a38: 0x0279, 0x1a39: 0x0369, 0x1a3a: 0x0289, 0x1a3b: 0x13d1, + 0x1a3c: 0x0039, 0x1a3d: 0x0ee9, 0x1a3e: 0x1159, 0x1a3f: 0x0ef9, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x0f09, 0x1a41: 0x1199, 0x1a42: 0x0f31, 0x1a43: 0x0249, 0x1a44: 0x0f41, 0x1a45: 0x0259, + 0x1a46: 0x0f51, 0x1a47: 0x0359, 0x1a48: 0x0f61, 0x1a49: 0x0f71, 0x1a4a: 0x00d9, 0x1a4b: 0x0f99, + 0x1a4c: 0x2039, 0x1a4d: 0x0269, 0x1a4e: 0x01d9, 0x1a4f: 0x0fa9, 0x1a50: 0x0fb9, 0x1a51: 0x1089, + 0x1a52: 0x0279, 0x1a53: 0x0369, 0x1a54: 0x0289, 0x1a55: 0x13d1, 0x1a56: 0x0039, 0x1a57: 0x0ee9, + 0x1a58: 0x1159, 0x1a59: 0x0ef9, 0x1a5a: 0x0f09, 0x1a5b: 0x1199, 0x1a5c: 0x0f31, 0x1a5d: 0x0249, + 0x1a5e: 0x0f41, 0x1a5f: 0x0259, 0x1a60: 0x0f51, 0x1a61: 0x0359, 0x1a62: 0x0f61, 0x1a63: 0x0f71, + 0x1a64: 0x00d9, 0x1a65: 0x0f99, 0x1a66: 0x2039, 0x1a67: 0x0269, 0x1a68: 0x01d9, 0x1a69: 0x0fa9, + 0x1a6a: 0x0fb9, 0x1a6b: 0x1089, 0x1a6c: 0x0279, 0x1a6d: 0x0369, 0x1a6e: 0x0289, 0x1a6f: 0x13d1, + 0x1a70: 0x0039, 0x1a71: 0x0ee9, 0x1a72: 0x1159, 0x1a73: 0x0ef9, 0x1a74: 0x0f09, 0x1a75: 0x1199, + 0x1a76: 0x0f31, 0x1a77: 0x0249, 0x1a78: 0x0f41, 0x1a79: 0x0259, 0x1a7a: 0x0f51, 0x1a7b: 0x0359, + 0x1a7c: 0x0f61, 0x1a7d: 0x0f71, 0x1a7e: 0x00d9, 0x1a7f: 0x0f99, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x2039, 0x1a81: 0x0269, 0x1a82: 0x01d9, 0x1a83: 0x0fa9, 0x1a84: 0x0fb9, 0x1a85: 0x1089, + 0x1a86: 0x0279, 0x1a87: 0x0369, 0x1a88: 0x0289, 0x1a89: 0x13d1, 0x1a8a: 0x0039, 0x1a8b: 0x0ee9, + 0x1a8c: 0x1159, 0x1a8d: 0x0ef9, 0x1a8e: 0x0f09, 0x1a8f: 0x1199, 0x1a90: 0x0f31, 0x1a91: 0x0249, + 0x1a92: 0x0f41, 0x1a93: 0x0259, 0x1a94: 0x0f51, 0x1a95: 0x0359, 0x1a96: 0x0f61, 0x1a97: 0x0f71, + 0x1a98: 0x00d9, 0x1a99: 0x0f99, 0x1a9a: 0x2039, 0x1a9b: 0x0269, 0x1a9c: 0x01d9, 0x1a9d: 0x0fa9, + 0x1a9e: 0x0fb9, 0x1a9f: 0x1089, 0x1aa0: 0x0279, 0x1aa1: 0x0369, 0x1aa2: 0x0289, 0x1aa3: 0x13d1, + 0x1aa4: 0xba81, 0x1aa5: 0xba99, 0x1aa6: 0x0040, 0x1aa7: 0x0040, 0x1aa8: 0xbab1, 0x1aa9: 0x1099, + 0x1aaa: 0x10b1, 0x1aab: 0x10c9, 0x1aac: 0xbac9, 0x1aad: 0xbae1, 0x1aae: 0xbaf9, 0x1aaf: 0x1429, + 0x1ab0: 0x1a31, 0x1ab1: 0xbb11, 0x1ab2: 0xbb29, 0x1ab3: 0xbb41, 0x1ab4: 0xbb59, 0x1ab5: 0xbb71, + 0x1ab6: 0xbb89, 0x1ab7: 0x2109, 0x1ab8: 0x1111, 0x1ab9: 0x1429, 0x1aba: 0xbba1, 0x1abb: 0xbbb9, + 0x1abc: 0xbbd1, 0x1abd: 0x10e1, 0x1abe: 0x10f9, 0x1abf: 0xbbe9, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x2079, 0x1ac1: 0xbc01, 0x1ac2: 0xbab1, 0x1ac3: 0x1099, 0x1ac4: 0x10b1, 0x1ac5: 0x10c9, + 0x1ac6: 0xbac9, 0x1ac7: 0xbae1, 0x1ac8: 0xbaf9, 0x1ac9: 0x1429, 0x1aca: 0x1a31, 0x1acb: 0xbb11, + 0x1acc: 0xbb29, 0x1acd: 0xbb41, 0x1ace: 0xbb59, 0x1acf: 0xbb71, 0x1ad0: 0xbb89, 0x1ad1: 0x2109, + 0x1ad2: 0x1111, 0x1ad3: 0xbba1, 0x1ad4: 0xbba1, 0x1ad5: 0xbbb9, 0x1ad6: 0xbbd1, 0x1ad7: 0x10e1, + 0x1ad8: 0x10f9, 0x1ad9: 0xbbe9, 0x1ada: 0x2079, 0x1adb: 0xbc21, 0x1adc: 0xbac9, 0x1add: 0x1429, + 0x1ade: 0xbb11, 0x1adf: 0x10e1, 0x1ae0: 0x1111, 0x1ae1: 0x2109, 0x1ae2: 0xbab1, 0x1ae3: 0x1099, + 0x1ae4: 0x10b1, 0x1ae5: 0x10c9, 0x1ae6: 0xbac9, 0x1ae7: 0xbae1, 0x1ae8: 0xbaf9, 0x1ae9: 0x1429, + 0x1aea: 0x1a31, 0x1aeb: 0xbb11, 0x1aec: 0xbb29, 0x1aed: 0xbb41, 0x1aee: 0xbb59, 0x1aef: 0xbb71, + 0x1af0: 0xbb89, 0x1af1: 0x2109, 0x1af2: 0x1111, 0x1af3: 0x1429, 0x1af4: 0xbba1, 0x1af5: 0xbbb9, + 0x1af6: 0xbbd1, 0x1af7: 0x10e1, 0x1af8: 0x10f9, 0x1af9: 0xbbe9, 0x1afa: 0x2079, 0x1afb: 0xbc01, + 0x1afc: 0xbab1, 0x1afd: 0x1099, 0x1afe: 0x10b1, 0x1aff: 0x10c9, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0xbac9, 0x1b01: 0xbae1, 0x1b02: 0xbaf9, 0x1b03: 0x1429, 0x1b04: 0x1a31, 0x1b05: 0xbb11, + 0x1b06: 0xbb29, 0x1b07: 0xbb41, 0x1b08: 0xbb59, 0x1b09: 0xbb71, 0x1b0a: 0xbb89, 0x1b0b: 0x2109, + 0x1b0c: 0x1111, 0x1b0d: 0xbba1, 0x1b0e: 0xbba1, 0x1b0f: 0xbbb9, 0x1b10: 0xbbd1, 0x1b11: 0x10e1, + 0x1b12: 0x10f9, 0x1b13: 0xbbe9, 0x1b14: 0x2079, 0x1b15: 0xbc21, 0x1b16: 0xbac9, 0x1b17: 0x1429, + 0x1b18: 0xbb11, 0x1b19: 0x10e1, 0x1b1a: 0x1111, 0x1b1b: 0x2109, 0x1b1c: 0xbab1, 0x1b1d: 0x1099, + 0x1b1e: 0x10b1, 0x1b1f: 0x10c9, 0x1b20: 0xbac9, 0x1b21: 0xbae1, 0x1b22: 0xbaf9, 0x1b23: 0x1429, + 0x1b24: 0x1a31, 0x1b25: 0xbb11, 0x1b26: 0xbb29, 0x1b27: 0xbb41, 0x1b28: 0xbb59, 0x1b29: 0xbb71, + 0x1b2a: 0xbb89, 0x1b2b: 0x2109, 0x1b2c: 0x1111, 0x1b2d: 0x1429, 0x1b2e: 0xbba1, 0x1b2f: 0xbbb9, + 0x1b30: 0xbbd1, 0x1b31: 0x10e1, 0x1b32: 0x10f9, 0x1b33: 0xbbe9, 0x1b34: 0x2079, 0x1b35: 0xbc01, + 0x1b36: 0xbab1, 0x1b37: 0x1099, 0x1b38: 0x10b1, 0x1b39: 0x10c9, 0x1b3a: 0xbac9, 0x1b3b: 0xbae1, + 0x1b3c: 0xbaf9, 0x1b3d: 0x1429, 0x1b3e: 0x1a31, 0x1b3f: 0xbb11, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0xbb29, 0x1b41: 0xbb41, 0x1b42: 0xbb59, 0x1b43: 0xbb71, 0x1b44: 0xbb89, 0x1b45: 0x2109, + 0x1b46: 0x1111, 0x1b47: 0xbba1, 0x1b48: 0xbba1, 0x1b49: 0xbbb9, 0x1b4a: 0xbbd1, 0x1b4b: 0x10e1, + 0x1b4c: 0x10f9, 0x1b4d: 0xbbe9, 0x1b4e: 0x2079, 0x1b4f: 0xbc21, 0x1b50: 0xbac9, 0x1b51: 0x1429, + 0x1b52: 0xbb11, 0x1b53: 0x10e1, 0x1b54: 0x1111, 0x1b55: 0x2109, 0x1b56: 0xbab1, 0x1b57: 0x1099, + 0x1b58: 0x10b1, 0x1b59: 0x10c9, 0x1b5a: 0xbac9, 0x1b5b: 0xbae1, 0x1b5c: 0xbaf9, 0x1b5d: 0x1429, + 0x1b5e: 0x1a31, 0x1b5f: 0xbb11, 0x1b60: 0xbb29, 0x1b61: 0xbb41, 0x1b62: 0xbb59, 0x1b63: 0xbb71, + 0x1b64: 0xbb89, 0x1b65: 0x2109, 0x1b66: 0x1111, 0x1b67: 0x1429, 0x1b68: 0xbba1, 0x1b69: 0xbbb9, + 0x1b6a: 0xbbd1, 0x1b6b: 0x10e1, 0x1b6c: 0x10f9, 0x1b6d: 0xbbe9, 0x1b6e: 0x2079, 0x1b6f: 0xbc01, + 0x1b70: 0xbab1, 0x1b71: 0x1099, 0x1b72: 0x10b1, 0x1b73: 0x10c9, 0x1b74: 0xbac9, 0x1b75: 0xbae1, + 0x1b76: 0xbaf9, 0x1b77: 0x1429, 0x1b78: 0x1a31, 0x1b79: 0xbb11, 0x1b7a: 0xbb29, 0x1b7b: 0xbb41, + 0x1b7c: 0xbb59, 0x1b7d: 0xbb71, 0x1b7e: 0xbb89, 0x1b7f: 0x2109, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x1111, 0x1b81: 0xbba1, 0x1b82: 0xbba1, 0x1b83: 0xbbb9, 0x1b84: 0xbbd1, 0x1b85: 0x10e1, + 0x1b86: 0x10f9, 0x1b87: 0xbbe9, 0x1b88: 0x2079, 0x1b89: 0xbc21, 0x1b8a: 0xbac9, 0x1b8b: 0x1429, + 0x1b8c: 0xbb11, 0x1b8d: 0x10e1, 0x1b8e: 0x1111, 0x1b8f: 0x2109, 0x1b90: 0xbab1, 0x1b91: 0x1099, + 0x1b92: 0x10b1, 0x1b93: 0x10c9, 0x1b94: 0xbac9, 0x1b95: 0xbae1, 0x1b96: 0xbaf9, 0x1b97: 0x1429, + 0x1b98: 0x1a31, 0x1b99: 0xbb11, 0x1b9a: 0xbb29, 0x1b9b: 0xbb41, 0x1b9c: 0xbb59, 0x1b9d: 0xbb71, + 0x1b9e: 0xbb89, 0x1b9f: 0x2109, 0x1ba0: 0x1111, 0x1ba1: 0x1429, 0x1ba2: 0xbba1, 0x1ba3: 0xbbb9, + 0x1ba4: 0xbbd1, 0x1ba5: 0x10e1, 0x1ba6: 0x10f9, 0x1ba7: 0xbbe9, 0x1ba8: 0x2079, 0x1ba9: 0xbc01, + 0x1baa: 0xbab1, 0x1bab: 0x1099, 0x1bac: 0x10b1, 0x1bad: 0x10c9, 0x1bae: 0xbac9, 0x1baf: 0xbae1, + 0x1bb0: 0xbaf9, 0x1bb1: 0x1429, 0x1bb2: 0x1a31, 0x1bb3: 0xbb11, 0x1bb4: 0xbb29, 0x1bb5: 0xbb41, + 0x1bb6: 0xbb59, 0x1bb7: 0xbb71, 0x1bb8: 0xbb89, 0x1bb9: 0x2109, 0x1bba: 0x1111, 0x1bbb: 0xbba1, + 0x1bbc: 0xbba1, 0x1bbd: 0xbbb9, 0x1bbe: 0xbbd1, 0x1bbf: 0x10e1, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x10f9, 0x1bc1: 0xbbe9, 0x1bc2: 0x2079, 0x1bc3: 0xbc21, 0x1bc4: 0xbac9, 0x1bc5: 0x1429, + 0x1bc6: 0xbb11, 0x1bc7: 0x10e1, 0x1bc8: 0x1111, 0x1bc9: 0x2109, 0x1bca: 0xbc41, 0x1bcb: 0xbc41, + 0x1bcc: 0x0040, 0x1bcd: 0x0040, 0x1bce: 0x1f41, 0x1bcf: 0x00c9, 0x1bd0: 0x0069, 0x1bd1: 0x0079, + 0x1bd2: 0x1f51, 0x1bd3: 0x1f61, 0x1bd4: 0x1f71, 0x1bd5: 0x1f81, 0x1bd6: 0x1f91, 0x1bd7: 0x1fa1, + 0x1bd8: 0x1f41, 0x1bd9: 0x00c9, 0x1bda: 0x0069, 0x1bdb: 0x0079, 0x1bdc: 0x1f51, 0x1bdd: 0x1f61, + 0x1bde: 0x1f71, 0x1bdf: 0x1f81, 0x1be0: 0x1f91, 0x1be1: 0x1fa1, 0x1be2: 0x1f41, 0x1be3: 0x00c9, + 0x1be4: 0x0069, 0x1be5: 0x0079, 0x1be6: 0x1f51, 0x1be7: 0x1f61, 0x1be8: 0x1f71, 0x1be9: 0x1f81, + 0x1bea: 0x1f91, 0x1beb: 0x1fa1, 0x1bec: 0x1f41, 0x1bed: 0x00c9, 0x1bee: 0x0069, 0x1bef: 0x0079, + 0x1bf0: 0x1f51, 0x1bf1: 0x1f61, 0x1bf2: 0x1f71, 0x1bf3: 0x1f81, 0x1bf4: 0x1f91, 0x1bf5: 0x1fa1, + 0x1bf6: 0x1f41, 0x1bf7: 0x00c9, 0x1bf8: 0x0069, 0x1bf9: 0x0079, 0x1bfa: 0x1f51, 0x1bfb: 0x1f61, + 0x1bfc: 0x1f71, 0x1bfd: 0x1f81, 0x1bfe: 0x1f91, 0x1bff: 0x1fa1, + // Block 0x70, offset 0x1c00 + 0x1c00: 0xe115, 0x1c01: 0xe115, 0x1c02: 0xe135, 0x1c03: 0xe135, 0x1c04: 0xe115, 0x1c05: 0xe115, + 0x1c06: 0xe175, 0x1c07: 0xe175, 0x1c08: 0xe115, 0x1c09: 0xe115, 0x1c0a: 0xe135, 0x1c0b: 0xe135, + 0x1c0c: 0xe115, 0x1c0d: 0xe115, 0x1c0e: 0xe1f5, 0x1c0f: 0xe1f5, 0x1c10: 0xe115, 0x1c11: 0xe115, + 0x1c12: 0xe135, 0x1c13: 0xe135, 0x1c14: 0xe115, 0x1c15: 0xe115, 0x1c16: 0xe175, 0x1c17: 0xe175, + 0x1c18: 0xe115, 0x1c19: 0xe115, 0x1c1a: 0xe135, 0x1c1b: 0xe135, 0x1c1c: 0xe115, 0x1c1d: 0xe115, + 0x1c1e: 0x8b05, 0x1c1f: 0x8b05, 0x1c20: 0x04b5, 0x1c21: 0x04b5, 0x1c22: 0x0a08, 0x1c23: 0x0a08, + 0x1c24: 0x0a08, 0x1c25: 0x0a08, 0x1c26: 0x0a08, 0x1c27: 0x0a08, 0x1c28: 0x0a08, 0x1c29: 0x0a08, + 0x1c2a: 0x0a08, 0x1c2b: 0x0a08, 0x1c2c: 0x0a08, 0x1c2d: 0x0a08, 0x1c2e: 0x0a08, 0x1c2f: 0x0a08, + 0x1c30: 0x0a08, 0x1c31: 0x0a08, 0x1c32: 0x0a08, 0x1c33: 0x0a08, 0x1c34: 0x0a08, 0x1c35: 0x0a08, + 0x1c36: 0x0a08, 0x1c37: 0x0a08, 0x1c38: 0x0a08, 0x1c39: 0x0a08, 0x1c3a: 0x0a08, 0x1c3b: 0x0a08, + 0x1c3c: 0x0a08, 0x1c3d: 0x0a08, 0x1c3e: 0x0a08, 0x1c3f: 0x0a08, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xb189, 0x1c41: 0xb1a1, 0x1c42: 0xb201, 0x1c43: 0xb249, 0x1c44: 0x0040, 0x1c45: 0xb411, + 0x1c46: 0xb291, 0x1c47: 0xb219, 0x1c48: 0xb309, 0x1c49: 0xb429, 0x1c4a: 0xb399, 0x1c4b: 0xb3b1, + 0x1c4c: 0xb3c9, 0x1c4d: 0xb3e1, 0x1c4e: 0xb2a9, 0x1c4f: 0xb339, 0x1c50: 0xb369, 0x1c51: 0xb2d9, + 0x1c52: 0xb381, 0x1c53: 0xb279, 0x1c54: 0xb2c1, 0x1c55: 0xb1d1, 0x1c56: 0xb1e9, 0x1c57: 0xb231, + 0x1c58: 0xb261, 0x1c59: 0xb2f1, 0x1c5a: 0xb321, 0x1c5b: 0xb351, 0x1c5c: 0xbc59, 0x1c5d: 0x7949, + 0x1c5e: 0xbc71, 0x1c5f: 0xbc89, 0x1c60: 0x0040, 0x1c61: 0xb1a1, 0x1c62: 0xb201, 0x1c63: 0x0040, + 0x1c64: 0xb3f9, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0xb219, 0x1c68: 0x0040, 0x1c69: 0xb429, + 0x1c6a: 0xb399, 0x1c6b: 0xb3b1, 0x1c6c: 0xb3c9, 0x1c6d: 0xb3e1, 0x1c6e: 0xb2a9, 0x1c6f: 0xb339, + 0x1c70: 0xb369, 0x1c71: 0xb2d9, 0x1c72: 0xb381, 0x1c73: 0x0040, 0x1c74: 0xb2c1, 0x1c75: 0xb1d1, + 0x1c76: 0xb1e9, 0x1c77: 0xb231, 0x1c78: 0x0040, 0x1c79: 0xb2f1, 0x1c7a: 0x0040, 0x1c7b: 0xb351, + 0x1c7c: 0x0040, 0x1c7d: 0x0040, 0x1c7e: 0x0040, 0x1c7f: 0x0040, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x0040, 0x1c81: 0x0040, 0x1c82: 0xb201, 0x1c83: 0x0040, 0x1c84: 0x0040, 0x1c85: 0x0040, + 0x1c86: 0x0040, 0x1c87: 0xb219, 0x1c88: 0x0040, 0x1c89: 0xb429, 0x1c8a: 0x0040, 0x1c8b: 0xb3b1, + 0x1c8c: 0x0040, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0x0040, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0x0040, 0x1c94: 0xb2c1, 0x1c95: 0x0040, 0x1c96: 0x0040, 0x1c97: 0xb231, + 0x1c98: 0x0040, 0x1c99: 0xb2f1, 0x1c9a: 0x0040, 0x1c9b: 0xb351, 0x1c9c: 0x0040, 0x1c9d: 0x7949, + 0x1c9e: 0x0040, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040, + 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0xb309, 0x1ca9: 0xb429, + 0x1caa: 0xb399, 0x1cab: 0x0040, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0xb321, 0x1cbb: 0xb351, + 0x1cbc: 0xbc59, 0x1cbd: 0x0040, 0x1cbe: 0xbc71, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0xb189, 0x1cc1: 0xb1a1, 0x1cc2: 0xb201, 0x1cc3: 0xb249, 0x1cc4: 0xb3f9, 0x1cc5: 0xb411, + 0x1cc6: 0xb291, 0x1cc7: 0xb219, 0x1cc8: 0xb309, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1, + 0x1ccc: 0xb3c9, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0xb369, 0x1cd1: 0xb2d9, + 0x1cd2: 0xb381, 0x1cd3: 0xb279, 0x1cd4: 0xb2c1, 0x1cd5: 0xb1d1, 0x1cd6: 0xb1e9, 0x1cd7: 0xb231, + 0x1cd8: 0xb261, 0x1cd9: 0xb2f1, 0x1cda: 0xb321, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x0040, + 0x1cde: 0x0040, 0x1cdf: 0x0040, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0xb249, + 0x1ce4: 0x0040, 0x1ce5: 0xb411, 0x1ce6: 0xb291, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429, + 0x1cea: 0x0040, 0x1ceb: 0xb3b1, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339, + 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0xb279, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1, + 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0xb261, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351, + 0x1cfc: 0x0040, 0x1cfd: 0x0040, 0x1cfe: 0x0040, 0x1cff: 0x0040, + // Block 0x74, offset 0x1d00 + 0x1d00: 0x0040, 0x1d01: 0xbca2, 0x1d02: 0xbcba, 0x1d03: 0xbcd2, 0x1d04: 0xbcea, 0x1d05: 0xbd02, + 0x1d06: 0xbd1a, 0x1d07: 0xbd32, 0x1d08: 0xbd4a, 0x1d09: 0xbd62, 0x1d0a: 0xbd7a, 0x1d0b: 0x0018, + 0x1d0c: 0x0018, 0x1d0d: 0x0040, 0x1d0e: 0x0040, 0x1d0f: 0x0040, 0x1d10: 0xbd92, 0x1d11: 0xbdb2, + 0x1d12: 0xbdd2, 0x1d13: 0xbdf2, 0x1d14: 0xbe12, 0x1d15: 0xbe32, 0x1d16: 0xbe52, 0x1d17: 0xbe72, + 0x1d18: 0xbe92, 0x1d19: 0xbeb2, 0x1d1a: 0xbed2, 0x1d1b: 0xbef2, 0x1d1c: 0xbf12, 0x1d1d: 0xbf32, + 0x1d1e: 0xbf52, 0x1d1f: 0xbf72, 0x1d20: 0xbf92, 0x1d21: 0xbfb2, 0x1d22: 0xbfd2, 0x1d23: 0xbff2, + 0x1d24: 0xc012, 0x1d25: 0xc032, 0x1d26: 0xc052, 0x1d27: 0xc072, 0x1d28: 0xc092, 0x1d29: 0xc0b2, + 0x1d2a: 0xc0d1, 0x1d2b: 0x1159, 0x1d2c: 0x0269, 0x1d2d: 0x6671, 0x1d2e: 0xc111, 0x1d2f: 0x0040, + 0x1d30: 0x0039, 0x1d31: 0x0ee9, 0x1d32: 0x1159, 0x1d33: 0x0ef9, 0x1d34: 0x0f09, 0x1d35: 0x1199, + 0x1d36: 0x0f31, 0x1d37: 0x0249, 0x1d38: 0x0f41, 0x1d39: 0x0259, 0x1d3a: 0x0f51, 0x1d3b: 0x0359, + 0x1d3c: 0x0f61, 0x1d3d: 0x0f71, 0x1d3e: 0x00d9, 0x1d3f: 0x0f99, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x2039, 0x1d41: 0x0269, 0x1d42: 0x01d9, 0x1d43: 0x0fa9, 0x1d44: 0x0fb9, 0x1d45: 0x1089, + 0x1d46: 0x0279, 0x1d47: 0x0369, 0x1d48: 0x0289, 0x1d49: 0x13d1, 0x1d4a: 0xc129, 0x1d4b: 0x65b1, + 0x1d4c: 0xc141, 0x1d4d: 0x1441, 0x1d4e: 0xc159, 0x1d4f: 0xc179, 0x1d50: 0x0018, 0x1d51: 0x0018, + 0x1d52: 0x0018, 0x1d53: 0x0018, 0x1d54: 0x0018, 0x1d55: 0x0018, 0x1d56: 0x0018, 0x1d57: 0x0018, + 0x1d58: 0x0018, 0x1d59: 0x0018, 0x1d5a: 0x0018, 0x1d5b: 0x0018, 0x1d5c: 0x0018, 0x1d5d: 0x0018, + 0x1d5e: 0x0018, 0x1d5f: 0x0018, 0x1d60: 0x0018, 0x1d61: 0x0018, 0x1d62: 0x0018, 0x1d63: 0x0018, + 0x1d64: 0x0018, 0x1d65: 0x0018, 0x1d66: 0x0018, 0x1d67: 0x0018, 0x1d68: 0x0018, 0x1d69: 0x0018, + 0x1d6a: 0xc191, 0x1d6b: 0xc1a9, 0x1d6c: 0x0040, 0x1d6d: 0x0040, 0x1d6e: 0x0040, 0x1d6f: 0x0040, + 0x1d70: 0x0018, 0x1d71: 0x0018, 0x1d72: 0x0018, 0x1d73: 0x0018, 0x1d74: 0x0018, 0x1d75: 0x0018, + 0x1d76: 0x0018, 0x1d77: 0x0018, 0x1d78: 0x0018, 0x1d79: 0x0018, 0x1d7a: 0x0018, 0x1d7b: 0x0018, + 0x1d7c: 0x0018, 0x1d7d: 0x0018, 0x1d7e: 0x0018, 0x1d7f: 0x0018, + // Block 0x76, offset 0x1d80 + 0x1d80: 0xc1d9, 0x1d81: 0xc211, 0x1d82: 0xc249, 0x1d83: 0x0040, 0x1d84: 0x0040, 0x1d85: 0x0040, + 0x1d86: 0x0040, 0x1d87: 0x0040, 0x1d88: 0x0040, 0x1d89: 0x0040, 0x1d8a: 0x0040, 0x1d8b: 0x0040, + 0x1d8c: 0x0040, 0x1d8d: 0x0040, 0x1d8e: 0x0040, 0x1d8f: 0x0040, 0x1d90: 0xc269, 0x1d91: 0xc289, + 0x1d92: 0xc2a9, 0x1d93: 0xc2c9, 0x1d94: 0xc2e9, 0x1d95: 0xc309, 0x1d96: 0xc329, 0x1d97: 0xc349, + 0x1d98: 0xc369, 0x1d99: 0xc389, 0x1d9a: 0xc3a9, 0x1d9b: 0xc3c9, 0x1d9c: 0xc3e9, 0x1d9d: 0xc409, + 0x1d9e: 0xc429, 0x1d9f: 0xc449, 0x1da0: 0xc469, 0x1da1: 0xc489, 0x1da2: 0xc4a9, 0x1da3: 0xc4c9, + 0x1da4: 0xc4e9, 0x1da5: 0xc509, 0x1da6: 0xc529, 0x1da7: 0xc549, 0x1da8: 0xc569, 0x1da9: 0xc589, + 0x1daa: 0xc5a9, 0x1dab: 0xc5c9, 0x1dac: 0xc5e9, 0x1dad: 0xc609, 0x1dae: 0xc629, 0x1daf: 0xc649, + 0x1db0: 0xc669, 0x1db1: 0xc689, 0x1db2: 0xc6a9, 0x1db3: 0xc6c9, 0x1db4: 0xc6e9, 0x1db5: 0xc709, + 0x1db6: 0xc729, 0x1db7: 0xc749, 0x1db8: 0xc769, 0x1db9: 0xc789, 0x1dba: 0xc7a9, 0x1dbb: 0xc7c9, + 0x1dbc: 0x0040, 0x1dbd: 0x0040, 0x1dbe: 0x0040, 0x1dbf: 0x0040, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xcaf9, 0x1dc1: 0xcb19, 0x1dc2: 0xcb39, 0x1dc3: 0x8b1d, 0x1dc4: 0xcb59, 0x1dc5: 0xcb79, + 0x1dc6: 0xcb99, 0x1dc7: 0xcbb9, 0x1dc8: 0xcbd9, 0x1dc9: 0xcbf9, 0x1dca: 0xcc19, 0x1dcb: 0xcc39, + 0x1dcc: 0xcc59, 0x1dcd: 0x8b3d, 0x1dce: 0xcc79, 0x1dcf: 0xcc99, 0x1dd0: 0xccb9, 0x1dd1: 0xccd9, + 0x1dd2: 0x8b5d, 0x1dd3: 0xccf9, 0x1dd4: 0xcd19, 0x1dd5: 0xc429, 0x1dd6: 0x8b7d, 0x1dd7: 0xcd39, + 0x1dd8: 0xcd59, 0x1dd9: 0xcd79, 0x1dda: 0xcd99, 0x1ddb: 0xcdb9, 0x1ddc: 0x8b9d, 0x1ddd: 0xcdd9, + 0x1dde: 0xcdf9, 0x1ddf: 0xce19, 0x1de0: 0xce39, 0x1de1: 0xce59, 0x1de2: 0xc789, 0x1de3: 0xce79, + 0x1de4: 0xce99, 0x1de5: 0xceb9, 0x1de6: 0xced9, 0x1de7: 0xcef9, 0x1de8: 0xcf19, 0x1de9: 0xcf39, + 0x1dea: 0xcf59, 0x1deb: 0xcf79, 0x1dec: 0xcf99, 0x1ded: 0xcfb9, 0x1dee: 0xcfd9, 0x1def: 0xcff9, + 0x1df0: 0xd019, 0x1df1: 0xd039, 0x1df2: 0xd039, 0x1df3: 0xd039, 0x1df4: 0x8bbd, 0x1df5: 0xd059, + 0x1df6: 0xd079, 0x1df7: 0xd099, 0x1df8: 0x8bdd, 0x1df9: 0xd0b9, 0x1dfa: 0xd0d9, 0x1dfb: 0xd0f9, + 0x1dfc: 0xd119, 0x1dfd: 0xd139, 0x1dfe: 0xd159, 0x1dff: 0xd179, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xd199, 0x1e01: 0xd1b9, 0x1e02: 0xd1d9, 0x1e03: 0xd1f9, 0x1e04: 0xd219, 0x1e05: 0xd239, + 0x1e06: 0xd239, 0x1e07: 0xd259, 0x1e08: 0xd279, 0x1e09: 0xd299, 0x1e0a: 0xd2b9, 0x1e0b: 0xd2d9, + 0x1e0c: 0xd2f9, 0x1e0d: 0xd319, 0x1e0e: 0xd339, 0x1e0f: 0xd359, 0x1e10: 0xd379, 0x1e11: 0xd399, + 0x1e12: 0xd3b9, 0x1e13: 0xd3d9, 0x1e14: 0xd3f9, 0x1e15: 0xd419, 0x1e16: 0xd439, 0x1e17: 0xd459, + 0x1e18: 0xd479, 0x1e19: 0x8bfd, 0x1e1a: 0xd499, 0x1e1b: 0xd4b9, 0x1e1c: 0xd4d9, 0x1e1d: 0xc309, + 0x1e1e: 0xd4f9, 0x1e1f: 0xd519, 0x1e20: 0x8c1d, 0x1e21: 0x8c3d, 0x1e22: 0xd539, 0x1e23: 0xd559, + 0x1e24: 0xd579, 0x1e25: 0xd599, 0x1e26: 0xd5b9, 0x1e27: 0xd5d9, 0x1e28: 0x2040, 0x1e29: 0xd5f9, + 0x1e2a: 0xd619, 0x1e2b: 0xd619, 0x1e2c: 0x8c5d, 0x1e2d: 0xd639, 0x1e2e: 0xd659, 0x1e2f: 0xd679, + 0x1e30: 0xd699, 0x1e31: 0x8c7d, 0x1e32: 0xd6b9, 0x1e33: 0xd6d9, 0x1e34: 0x2040, 0x1e35: 0xd6f9, + 0x1e36: 0xd719, 0x1e37: 0xd739, 0x1e38: 0xd759, 0x1e39: 0xd779, 0x1e3a: 0xd799, 0x1e3b: 0x8c9d, + 0x1e3c: 0xd7b9, 0x1e3d: 0x8cbd, 0x1e3e: 0xd7d9, 0x1e3f: 0xd7f9, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xd819, 0x1e41: 0xd839, 0x1e42: 0xd859, 0x1e43: 0xd879, 0x1e44: 0xd899, 0x1e45: 0xd8b9, + 0x1e46: 0xd8d9, 0x1e47: 0xd8f9, 0x1e48: 0xd919, 0x1e49: 0x8cdd, 0x1e4a: 0xd939, 0x1e4b: 0xd959, + 0x1e4c: 0xd979, 0x1e4d: 0xd999, 0x1e4e: 0xd9b9, 0x1e4f: 0x8cfd, 0x1e50: 0xd9d9, 0x1e51: 0x8d1d, + 0x1e52: 0x8d3d, 0x1e53: 0xd9f9, 0x1e54: 0xda19, 0x1e55: 0xda19, 0x1e56: 0xda39, 0x1e57: 0x8d5d, + 0x1e58: 0x8d7d, 0x1e59: 0xda59, 0x1e5a: 0xda79, 0x1e5b: 0xda99, 0x1e5c: 0xdab9, 0x1e5d: 0xdad9, + 0x1e5e: 0xdaf9, 0x1e5f: 0xdb19, 0x1e60: 0xdb39, 0x1e61: 0xdb59, 0x1e62: 0xdb79, 0x1e63: 0xdb99, + 0x1e64: 0x8d9d, 0x1e65: 0xdbb9, 0x1e66: 0xdbd9, 0x1e67: 0xdbf9, 0x1e68: 0xdc19, 0x1e69: 0xdbf9, + 0x1e6a: 0xdc39, 0x1e6b: 0xdc59, 0x1e6c: 0xdc79, 0x1e6d: 0xdc99, 0x1e6e: 0xdcb9, 0x1e6f: 0xdcd9, + 0x1e70: 0xdcf9, 0x1e71: 0xdd19, 0x1e72: 0xdd39, 0x1e73: 0xdd59, 0x1e74: 0xdd79, 0x1e75: 0xdd99, + 0x1e76: 0xddb9, 0x1e77: 0xddd9, 0x1e78: 0x8dbd, 0x1e79: 0xddf9, 0x1e7a: 0xde19, 0x1e7b: 0xde39, + 0x1e7c: 0xde59, 0x1e7d: 0xde79, 0x1e7e: 0x8ddd, 0x1e7f: 0xde99, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xe599, 0x1e81: 0xe5b9, 0x1e82: 0xe5d9, 0x1e83: 0xe5f9, 0x1e84: 0xe619, 0x1e85: 0xe639, + 0x1e86: 0x8efd, 0x1e87: 0xe659, 0x1e88: 0xe679, 0x1e89: 0xe699, 0x1e8a: 0xe6b9, 0x1e8b: 0xe6d9, + 0x1e8c: 0xe6f9, 0x1e8d: 0x8f1d, 0x1e8e: 0xe719, 0x1e8f: 0xe739, 0x1e90: 0x8f3d, 0x1e91: 0x8f5d, + 0x1e92: 0xe759, 0x1e93: 0xe779, 0x1e94: 0xe799, 0x1e95: 0xe7b9, 0x1e96: 0xe7d9, 0x1e97: 0xe7f9, + 0x1e98: 0xe819, 0x1e99: 0xe839, 0x1e9a: 0xe859, 0x1e9b: 0x8f7d, 0x1e9c: 0xe879, 0x1e9d: 0x8f9d, + 0x1e9e: 0xe899, 0x1e9f: 0x2040, 0x1ea0: 0xe8b9, 0x1ea1: 0xe8d9, 0x1ea2: 0xe8f9, 0x1ea3: 0x8fbd, + 0x1ea4: 0xe919, 0x1ea5: 0xe939, 0x1ea6: 0x8fdd, 0x1ea7: 0x8ffd, 0x1ea8: 0xe959, 0x1ea9: 0xe979, + 0x1eaa: 0xe999, 0x1eab: 0xe9b9, 0x1eac: 0xe9d9, 0x1ead: 0xe9d9, 0x1eae: 0xe9f9, 0x1eaf: 0xea19, + 0x1eb0: 0xea39, 0x1eb1: 0xea59, 0x1eb2: 0xea79, 0x1eb3: 0xea99, 0x1eb4: 0xeab9, 0x1eb5: 0x901d, + 0x1eb6: 0xead9, 0x1eb7: 0x903d, 0x1eb8: 0xeaf9, 0x1eb9: 0x905d, 0x1eba: 0xeb19, 0x1ebb: 0x907d, + 0x1ebc: 0x909d, 0x1ebd: 0x90bd, 0x1ebe: 0xeb39, 0x1ebf: 0xeb59, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xeb79, 0x1ec1: 0x90dd, 0x1ec2: 0x90fd, 0x1ec3: 0x911d, 0x1ec4: 0x913d, 0x1ec5: 0xeb99, + 0x1ec6: 0xebb9, 0x1ec7: 0xebb9, 0x1ec8: 0xebd9, 0x1ec9: 0xebf9, 0x1eca: 0xec19, 0x1ecb: 0xec39, + 0x1ecc: 0xec59, 0x1ecd: 0x915d, 0x1ece: 0xec79, 0x1ecf: 0xec99, 0x1ed0: 0xecb9, 0x1ed1: 0xecd9, + 0x1ed2: 0x917d, 0x1ed3: 0xecf9, 0x1ed4: 0x919d, 0x1ed5: 0x91bd, 0x1ed6: 0xed19, 0x1ed7: 0xed39, + 0x1ed8: 0xed59, 0x1ed9: 0xed79, 0x1eda: 0xed99, 0x1edb: 0xedb9, 0x1edc: 0x91dd, 0x1edd: 0x91fd, + 0x1ede: 0x921d, 0x1edf: 0x2040, 0x1ee0: 0xedd9, 0x1ee1: 0x923d, 0x1ee2: 0xedf9, 0x1ee3: 0xee19, + 0x1ee4: 0xee39, 0x1ee5: 0x925d, 0x1ee6: 0xee59, 0x1ee7: 0xee79, 0x1ee8: 0xee99, 0x1ee9: 0xeeb9, + 0x1eea: 0xeed9, 0x1eeb: 0x927d, 0x1eec: 0xeef9, 0x1eed: 0xef19, 0x1eee: 0xef39, 0x1eef: 0xef59, + 0x1ef0: 0xef79, 0x1ef1: 0xef99, 0x1ef2: 0x929d, 0x1ef3: 0x92bd, 0x1ef4: 0xefb9, 0x1ef5: 0x92dd, + 0x1ef6: 0xefd9, 0x1ef7: 0x92fd, 0x1ef8: 0xeff9, 0x1ef9: 0xf019, 0x1efa: 0xf039, 0x1efb: 0x931d, + 0x1efc: 0x933d, 0x1efd: 0xf059, 0x1efe: 0x935d, 0x1eff: 0xf079, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xf6b9, 0x1f01: 0xf6d9, 0x1f02: 0xf6f9, 0x1f03: 0xf719, 0x1f04: 0xf739, 0x1f05: 0x951d, + 0x1f06: 0xf759, 0x1f07: 0xf779, 0x1f08: 0xf799, 0x1f09: 0xf7b9, 0x1f0a: 0xf7d9, 0x1f0b: 0x953d, + 0x1f0c: 0x955d, 0x1f0d: 0xf7f9, 0x1f0e: 0xf819, 0x1f0f: 0xf839, 0x1f10: 0xf859, 0x1f11: 0xf879, + 0x1f12: 0xf899, 0x1f13: 0x957d, 0x1f14: 0xf8b9, 0x1f15: 0xf8d9, 0x1f16: 0xf8f9, 0x1f17: 0xf919, + 0x1f18: 0x959d, 0x1f19: 0x95bd, 0x1f1a: 0xf939, 0x1f1b: 0xf959, 0x1f1c: 0xf979, 0x1f1d: 0x95dd, + 0x1f1e: 0xf999, 0x1f1f: 0xf9b9, 0x1f20: 0x6815, 0x1f21: 0x95fd, 0x1f22: 0xf9d9, 0x1f23: 0xf9f9, + 0x1f24: 0xfa19, 0x1f25: 0x961d, 0x1f26: 0xfa39, 0x1f27: 0xfa59, 0x1f28: 0xfa79, 0x1f29: 0xfa99, + 0x1f2a: 0xfab9, 0x1f2b: 0xfad9, 0x1f2c: 0xfaf9, 0x1f2d: 0x963d, 0x1f2e: 0xfb19, 0x1f2f: 0xfb39, + 0x1f30: 0xfb59, 0x1f31: 0x965d, 0x1f32: 0xfb79, 0x1f33: 0xfb99, 0x1f34: 0xfbb9, 0x1f35: 0xfbd9, + 0x1f36: 0x7b35, 0x1f37: 0x967d, 0x1f38: 0xfbf9, 0x1f39: 0xfc19, 0x1f3a: 0xfc39, 0x1f3b: 0x969d, + 0x1f3c: 0xfc59, 0x1f3d: 0x96bd, 0x1f3e: 0xfc79, 0x1f3f: 0xfc79, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xfc99, 0x1f41: 0x96dd, 0x1f42: 0xfcb9, 0x1f43: 0xfcd9, 0x1f44: 0xfcf9, 0x1f45: 0xfd19, + 0x1f46: 0xfd39, 0x1f47: 0xfd59, 0x1f48: 0xfd79, 0x1f49: 0x96fd, 0x1f4a: 0xfd99, 0x1f4b: 0xfdb9, + 0x1f4c: 0xfdd9, 0x1f4d: 0xfdf9, 0x1f4e: 0xfe19, 0x1f4f: 0xfe39, 0x1f50: 0x971d, 0x1f51: 0xfe59, + 0x1f52: 0x973d, 0x1f53: 0x975d, 0x1f54: 0x977d, 0x1f55: 0xfe79, 0x1f56: 0xfe99, 0x1f57: 0xfeb9, + 0x1f58: 0xfed9, 0x1f59: 0xfef9, 0x1f5a: 0xff19, 0x1f5b: 0xff39, 0x1f5c: 0xff59, 0x1f5d: 0x979d, + 0x1f5e: 0x0040, 0x1f5f: 0x0040, 0x1f60: 0x0040, 0x1f61: 0x0040, 0x1f62: 0x0040, 0x1f63: 0x0040, + 0x1f64: 0x0040, 0x1f65: 0x0040, 0x1f66: 0x0040, 0x1f67: 0x0040, 0x1f68: 0x0040, 0x1f69: 0x0040, + 0x1f6a: 0x0040, 0x1f6b: 0x0040, 0x1f6c: 0x0040, 0x1f6d: 0x0040, 0x1f6e: 0x0040, 0x1f6f: 0x0040, + 0x1f70: 0x0040, 0x1f71: 0x0040, 0x1f72: 0x0040, 0x1f73: 0x0040, 0x1f74: 0x0040, 0x1f75: 0x0040, + 0x1f76: 0x0040, 0x1f77: 0x0040, 0x1f78: 0x0040, 0x1f79: 0x0040, 0x1f7a: 0x0040, 0x1f7b: 0x0040, + 0x1f7c: 0x0040, 0x1f7d: 0x0040, 0x1f7e: 0x0040, 0x1f7f: 0x0040, +} + +// idnaIndex: 35 blocks, 2240 entries, 4480 bytes +// Block 0 is the zero block. +var idnaIndex = [2240]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7c, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7d, 0xca: 0x7e, 0xcb: 0x07, 0xcc: 0x7f, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x80, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x81, 0xd6: 0x82, 0xd7: 0x83, + 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x84, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x85, 0xde: 0x86, 0xdf: 0x87, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1c, 0xf1: 0x1d, 0xf2: 0x1d, 0xf3: 0x1f, 0xf4: 0x20, + // Block 0x4, offset 0x100 + 0x120: 0x88, 0x121: 0x89, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x13, 0x126: 0x14, 0x127: 0x15, + 0x128: 0x16, 0x129: 0x17, 0x12a: 0x18, 0x12b: 0x19, 0x12c: 0x1a, 0x12d: 0x1b, 0x12e: 0x1c, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1d, 0x132: 0x1e, 0x133: 0x1f, 0x134: 0x8f, 0x135: 0x20, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x21, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x22, 0x13e: 0x23, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e, + 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6, + 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f, + 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae, + 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6, + 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe, + 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x24, 0x175: 0x25, 0x176: 0x26, 0x177: 0xc3, + 0x178: 0x27, 0x179: 0x27, 0x17a: 0x28, 0x17b: 0x27, 0x17c: 0xc4, 0x17d: 0x29, 0x17e: 0x2a, 0x17f: 0x2b, + // Block 0x6, offset 0x180 + 0x180: 0x2c, 0x181: 0x2d, 0x182: 0x2e, 0x183: 0xc5, 0x184: 0x2f, 0x185: 0x30, 0x186: 0xc6, 0x187: 0x9b, + 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0xca, + 0x190: 0xcb, 0x191: 0x31, 0x192: 0x32, 0x193: 0x33, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xcc, 0x1a9: 0xcd, 0x1aa: 0x9b, 0x1ab: 0xce, 0x1ac: 0x9b, 0x1ad: 0xcf, 0x1ae: 0xd0, 0x1af: 0xd1, + 0x1b0: 0xd2, 0x1b1: 0x34, 0x1b2: 0x27, 0x1b3: 0x35, 0x1b4: 0xd3, 0x1b5: 0xd4, 0x1b6: 0xd5, 0x1b7: 0xd6, + 0x1b8: 0xd7, 0x1b9: 0xd8, 0x1ba: 0xd9, 0x1bb: 0xda, 0x1bc: 0xdb, 0x1bd: 0xdc, 0x1be: 0xdd, 0x1bf: 0x36, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x37, 0x1c1: 0xde, 0x1c2: 0xdf, 0x1c3: 0xe0, 0x1c4: 0xe1, 0x1c5: 0x38, 0x1c6: 0x39, 0x1c7: 0xe2, + 0x1c8: 0xe3, 0x1c9: 0x3a, 0x1ca: 0x3b, 0x1cb: 0x3c, 0x1cc: 0x3d, 0x1cd: 0x3e, 0x1ce: 0x3f, 0x1cf: 0x40, + 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f, + 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f, + 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f, + 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f, + 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f, + 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f, + // Block 0x8, offset 0x200 + 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f, + 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f, + 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f, + 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f, + 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f, + 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f, + 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b, + 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f, + // Block 0x9, offset 0x240 + 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f, + 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f, + 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f, + 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f, + 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f, + 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f, + 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f, + 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f, + // Block 0xa, offset 0x280 + 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f, + 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f, + 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f, + 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f, + 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f, + 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f, + 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f, + 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe4, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f, + 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f, + 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe5, 0x2d3: 0xe6, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f, + 0x2d8: 0xe7, 0x2d9: 0x41, 0x2da: 0x42, 0x2db: 0xe8, 0x2dc: 0x43, 0x2dd: 0x44, 0x2de: 0x45, 0x2df: 0xe9, + 0x2e0: 0xea, 0x2e1: 0xeb, 0x2e2: 0xec, 0x2e3: 0xed, 0x2e4: 0xee, 0x2e5: 0xef, 0x2e6: 0xf0, 0x2e7: 0xf1, + 0x2e8: 0xf2, 0x2e9: 0xf3, 0x2ea: 0xf4, 0x2eb: 0xf5, 0x2ec: 0xf6, 0x2ed: 0xf7, 0x2ee: 0xf8, 0x2ef: 0xf9, + 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f, + 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f, + // Block 0xc, offset 0x300 + 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f, + 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f, + 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f, + 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xfa, 0x31f: 0xfb, + // Block 0xd, offset 0x340 + 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba, + 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba, + 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba, + 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba, + 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba, + 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba, + 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba, + 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba, + // Block 0xe, offset 0x380 + 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba, + 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba, + 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba, + 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba, + 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfc, 0x3a5: 0xfd, 0x3a6: 0xfe, 0x3a7: 0xff, + 0x3a8: 0x46, 0x3a9: 0x100, 0x3aa: 0x101, 0x3ab: 0x47, 0x3ac: 0x48, 0x3ad: 0x49, 0x3ae: 0x4a, 0x3af: 0x4b, + 0x3b0: 0x102, 0x3b1: 0x4c, 0x3b2: 0x4d, 0x3b3: 0x4e, 0x3b4: 0x4f, 0x3b5: 0x50, 0x3b6: 0x103, 0x3b7: 0x51, + 0x3b8: 0x52, 0x3b9: 0x53, 0x3ba: 0x54, 0x3bb: 0x55, 0x3bc: 0x56, 0x3bd: 0x57, 0x3be: 0x58, 0x3bf: 0x59, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x104, 0x3c1: 0x105, 0x3c2: 0x9f, 0x3c3: 0x106, 0x3c4: 0x107, 0x3c5: 0x9b, 0x3c6: 0x108, 0x3c7: 0x109, + 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x10a, 0x3cb: 0x10b, 0x3cc: 0x10c, 0x3cd: 0x10d, 0x3ce: 0x10e, 0x3cf: 0x10f, + 0x3d0: 0x110, 0x3d1: 0x9f, 0x3d2: 0x111, 0x3d3: 0x112, 0x3d4: 0x113, 0x3d5: 0x114, 0x3d6: 0xba, 0x3d7: 0xba, + 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x115, 0x3dd: 0x116, 0x3de: 0xba, 0x3df: 0xba, + 0x3e0: 0x117, 0x3e1: 0x118, 0x3e2: 0x119, 0x3e3: 0x11a, 0x3e4: 0x11b, 0x3e5: 0xba, 0x3e6: 0x11c, 0x3e7: 0x11d, + 0x3e8: 0x11e, 0x3e9: 0x11f, 0x3ea: 0x120, 0x3eb: 0x5a, 0x3ec: 0x121, 0x3ed: 0x122, 0x3ee: 0x5b, 0x3ef: 0xba, + 0x3f0: 0x123, 0x3f1: 0x124, 0x3f2: 0x125, 0x3f3: 0x126, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba, + 0x3f8: 0xba, 0x3f9: 0x127, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba, + // Block 0x10, offset 0x400 + 0x400: 0x128, 0x401: 0x129, 0x402: 0x12a, 0x403: 0x12b, 0x404: 0x12c, 0x405: 0x12d, 0x406: 0x12e, 0x407: 0x12f, + 0x408: 0x130, 0x409: 0xba, 0x40a: 0x131, 0x40b: 0x132, 0x40c: 0x5c, 0x40d: 0x5d, 0x40e: 0xba, 0x40f: 0xba, + 0x410: 0x133, 0x411: 0x134, 0x412: 0x135, 0x413: 0x136, 0x414: 0xba, 0x415: 0xba, 0x416: 0x137, 0x417: 0x138, + 0x418: 0x139, 0x419: 0x13a, 0x41a: 0x13b, 0x41b: 0x13c, 0x41c: 0x13d, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba, + 0x420: 0xba, 0x421: 0xba, 0x422: 0x13e, 0x423: 0x13f, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba, + 0x428: 0xba, 0x429: 0xba, 0x42a: 0xba, 0x42b: 0x140, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba, + 0x430: 0x141, 0x431: 0x142, 0x432: 0x143, 0x433: 0xba, 0x434: 0xba, 0x435: 0xba, 0x436: 0xba, 0x437: 0xba, + 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba, + // Block 0x11, offset 0x440 + 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f, + 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x144, 0x44f: 0xba, + 0x450: 0x9b, 0x451: 0x145, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x146, 0x456: 0xba, 0x457: 0xba, + 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba, + 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba, + 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba, + 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba, + 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba, + // Block 0x12, offset 0x480 + 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f, + 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f, + 0x490: 0x147, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba, + 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba, + 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba, + 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba, + 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba, + 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba, + 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba, + 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f, + 0x4d8: 0x9f, 0x4d9: 0x148, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba, + 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba, + 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba, + 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba, + 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba, + // Block 0x14, offset 0x500 + 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba, + 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba, + 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba, + 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba, + 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f, + 0x528: 0x140, 0x529: 0x149, 0x52a: 0xba, 0x52b: 0x14a, 0x52c: 0x14b, 0x52d: 0x14c, 0x52e: 0x14d, 0x52f: 0xba, + 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba, + 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x14e, 0x53e: 0x14f, 0x53f: 0x150, + // Block 0x15, offset 0x540 + 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f, + 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f, + 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f, + 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x151, + 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f, + 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x152, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba, + 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba, + 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba, + // Block 0x16, offset 0x580 + 0x580: 0x153, 0x581: 0xba, 0x582: 0xba, 0x583: 0xba, 0x584: 0xba, 0x585: 0xba, 0x586: 0xba, 0x587: 0xba, + 0x588: 0xba, 0x589: 0xba, 0x58a: 0xba, 0x58b: 0xba, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba, + 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba, + 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba, + 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba, + 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba, + 0x5b0: 0x9f, 0x5b1: 0x154, 0x5b2: 0x155, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba, + 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x156, 0x5c4: 0x157, 0x5c5: 0x158, 0x5c6: 0x159, 0x5c7: 0x15a, + 0x5c8: 0x9b, 0x5c9: 0x15b, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x15c, 0x5ce: 0xba, 0x5cf: 0xba, + 0x5d0: 0x5e, 0x5d1: 0x5f, 0x5d2: 0x60, 0x5d3: 0x61, 0x5d4: 0x62, 0x5d5: 0x63, 0x5d6: 0x64, 0x5d7: 0x65, + 0x5d8: 0x66, 0x5d9: 0x67, 0x5da: 0x68, 0x5db: 0x69, 0x5dc: 0x6a, 0x5dd: 0x6b, 0x5de: 0x6c, 0x5df: 0x6d, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x15d, 0x5e9: 0x15e, 0x5ea: 0x15f, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba, + 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba, + 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba, + // Block 0x18, offset 0x600 + 0x600: 0x160, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba, + 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba, + 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba, + 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba, + 0x620: 0x123, 0x621: 0x123, 0x622: 0x123, 0x623: 0x161, 0x624: 0x6e, 0x625: 0x162, 0x626: 0xba, 0x627: 0xba, + 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba, + 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba, + 0x638: 0x6f, 0x639: 0x70, 0x63a: 0x71, 0x63b: 0x163, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba, + // Block 0x19, offset 0x640 + 0x640: 0x164, 0x641: 0x9b, 0x642: 0x165, 0x643: 0x166, 0x644: 0x72, 0x645: 0x73, 0x646: 0x167, 0x647: 0x168, + 0x648: 0x74, 0x649: 0x169, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x16a, 0x65c: 0x9b, 0x65d: 0x16b, 0x65e: 0x9b, 0x65f: 0x16c, + 0x660: 0x16d, 0x661: 0x16e, 0x662: 0x16f, 0x663: 0xba, 0x664: 0x170, 0x665: 0x171, 0x666: 0x172, 0x667: 0x173, + 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba, + 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba, + 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba, + // Block 0x1a, offset 0x680 + 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f, + 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f, + 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f, + 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x174, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f, + 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f, + 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f, + 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f, + 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f, + 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f, + 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f, + 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x175, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f, + 0x6e0: 0x176, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f, + 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f, + 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f, + 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f, + // Block 0x1c, offset 0x700 + 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f, + 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f, + 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f, + 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f, + 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f, + 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f, + 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f, + 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x177, 0x73b: 0xba, 0x73c: 0xba, 0x73d: 0xba, 0x73e: 0xba, 0x73f: 0xba, + // Block 0x1d, offset 0x740 + 0x740: 0xba, 0x741: 0xba, 0x742: 0xba, 0x743: 0xba, 0x744: 0xba, 0x745: 0xba, 0x746: 0xba, 0x747: 0xba, + 0x748: 0xba, 0x749: 0xba, 0x74a: 0xba, 0x74b: 0xba, 0x74c: 0xba, 0x74d: 0xba, 0x74e: 0xba, 0x74f: 0xba, + 0x750: 0xba, 0x751: 0xba, 0x752: 0xba, 0x753: 0xba, 0x754: 0xba, 0x755: 0xba, 0x756: 0xba, 0x757: 0xba, + 0x758: 0xba, 0x759: 0xba, 0x75a: 0xba, 0x75b: 0xba, 0x75c: 0xba, 0x75d: 0xba, 0x75e: 0xba, 0x75f: 0xba, + 0x760: 0x75, 0x761: 0x76, 0x762: 0x77, 0x763: 0x178, 0x764: 0x78, 0x765: 0x79, 0x766: 0x179, 0x767: 0x7a, + 0x768: 0x7b, 0x769: 0xba, 0x76a: 0xba, 0x76b: 0xba, 0x76c: 0xba, 0x76d: 0xba, 0x76e: 0xba, 0x76f: 0xba, + 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba, + 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba, + // Block 0x1e, offset 0x780 + 0x790: 0x0d, 0x791: 0x0e, 0x792: 0x0f, 0x793: 0x10, 0x794: 0x11, 0x795: 0x0b, 0x796: 0x12, 0x797: 0x07, + 0x798: 0x13, 0x799: 0x0b, 0x79a: 0x0b, 0x79b: 0x14, 0x79c: 0x0b, 0x79d: 0x15, 0x79e: 0x16, 0x79f: 0x17, + 0x7a0: 0x07, 0x7a1: 0x07, 0x7a2: 0x07, 0x7a3: 0x07, 0x7a4: 0x07, 0x7a5: 0x07, 0x7a6: 0x07, 0x7a7: 0x07, + 0x7a8: 0x07, 0x7a9: 0x07, 0x7aa: 0x18, 0x7ab: 0x19, 0x7ac: 0x1a, 0x7ad: 0x0b, 0x7ae: 0x0b, 0x7af: 0x1b, + 0x7b0: 0x0b, 0x7b1: 0x0b, 0x7b2: 0x0b, 0x7b3: 0x0b, 0x7b4: 0x0b, 0x7b5: 0x0b, 0x7b6: 0x0b, 0x7b7: 0x0b, + 0x7b8: 0x0b, 0x7b9: 0x0b, 0x7ba: 0x0b, 0x7bb: 0x0b, 0x7bc: 0x0b, 0x7bd: 0x0b, 0x7be: 0x0b, 0x7bf: 0x0b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0b, 0x7c1: 0x0b, 0x7c2: 0x0b, 0x7c3: 0x0b, 0x7c4: 0x0b, 0x7c5: 0x0b, 0x7c6: 0x0b, 0x7c7: 0x0b, + 0x7c8: 0x0b, 0x7c9: 0x0b, 0x7ca: 0x0b, 0x7cb: 0x0b, 0x7cc: 0x0b, 0x7cd: 0x0b, 0x7ce: 0x0b, 0x7cf: 0x0b, + 0x7d0: 0x0b, 0x7d1: 0x0b, 0x7d2: 0x0b, 0x7d3: 0x0b, 0x7d4: 0x0b, 0x7d5: 0x0b, 0x7d6: 0x0b, 0x7d7: 0x0b, + 0x7d8: 0x0b, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x0b, 0x7dc: 0x0b, 0x7dd: 0x0b, 0x7de: 0x0b, 0x7df: 0x0b, + 0x7e0: 0x0b, 0x7e1: 0x0b, 0x7e2: 0x0b, 0x7e3: 0x0b, 0x7e4: 0x0b, 0x7e5: 0x0b, 0x7e6: 0x0b, 0x7e7: 0x0b, + 0x7e8: 0x0b, 0x7e9: 0x0b, 0x7ea: 0x0b, 0x7eb: 0x0b, 0x7ec: 0x0b, 0x7ed: 0x0b, 0x7ee: 0x0b, 0x7ef: 0x0b, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x17a, 0x801: 0x17b, 0x802: 0xba, 0x803: 0xba, 0x804: 0x17c, 0x805: 0x17c, 0x806: 0x17c, 0x807: 0x17d, + 0x808: 0xba, 0x809: 0xba, 0x80a: 0xba, 0x80b: 0xba, 0x80c: 0xba, 0x80d: 0xba, 0x80e: 0xba, 0x80f: 0xba, + 0x810: 0xba, 0x811: 0xba, 0x812: 0xba, 0x813: 0xba, 0x814: 0xba, 0x815: 0xba, 0x816: 0xba, 0x817: 0xba, + 0x818: 0xba, 0x819: 0xba, 0x81a: 0xba, 0x81b: 0xba, 0x81c: 0xba, 0x81d: 0xba, 0x81e: 0xba, 0x81f: 0xba, + 0x820: 0xba, 0x821: 0xba, 0x822: 0xba, 0x823: 0xba, 0x824: 0xba, 0x825: 0xba, 0x826: 0xba, 0x827: 0xba, + 0x828: 0xba, 0x829: 0xba, 0x82a: 0xba, 0x82b: 0xba, 0x82c: 0xba, 0x82d: 0xba, 0x82e: 0xba, 0x82f: 0xba, + 0x830: 0xba, 0x831: 0xba, 0x832: 0xba, 0x833: 0xba, 0x834: 0xba, 0x835: 0xba, 0x836: 0xba, 0x837: 0xba, + 0x838: 0xba, 0x839: 0xba, 0x83a: 0xba, 0x83b: 0xba, 0x83c: 0xba, 0x83d: 0xba, 0x83e: 0xba, 0x83f: 0xba, + // Block 0x21, offset 0x840 + 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b, + 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b, + 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b, + 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b, + 0x860: 0x1e, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b, + 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b, + 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b, + 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, +} + +// idnaSparseOffset: 258 entries, 516 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x93, 0x98, 0xa1, 0xb1, 0xbf, 0xcc, 0xd8, 0xe9, 0xf3, 0xfa, 0x107, 0x118, 0x11f, 0x12a, 0x139, 0x147, 0x151, 0x153, 0x158, 0x15b, 0x15e, 0x160, 0x16c, 0x177, 0x17f, 0x185, 0x18b, 0x190, 0x195, 0x198, 0x19c, 0x1a2, 0x1a7, 0x1b3, 0x1bd, 0x1c3, 0x1d4, 0x1de, 0x1e1, 0x1e9, 0x1ec, 0x1f9, 0x201, 0x205, 0x20c, 0x214, 0x224, 0x230, 0x232, 0x23c, 0x248, 0x254, 0x260, 0x268, 0x26d, 0x277, 0x288, 0x28c, 0x297, 0x29b, 0x2a4, 0x2ac, 0x2b2, 0x2b7, 0x2ba, 0x2bd, 0x2c1, 0x2c7, 0x2cb, 0x2cf, 0x2d5, 0x2dc, 0x2e2, 0x2ea, 0x2f1, 0x2fc, 0x306, 0x30a, 0x30d, 0x313, 0x317, 0x319, 0x31c, 0x31e, 0x321, 0x32b, 0x32e, 0x33d, 0x341, 0x346, 0x349, 0x34d, 0x352, 0x357, 0x35d, 0x363, 0x372, 0x378, 0x37c, 0x38b, 0x390, 0x398, 0x3a2, 0x3ad, 0x3b5, 0x3c6, 0x3cf, 0x3df, 0x3ec, 0x3f6, 0x3fb, 0x408, 0x40c, 0x411, 0x413, 0x417, 0x419, 0x41d, 0x426, 0x42c, 0x430, 0x440, 0x44a, 0x44f, 0x452, 0x458, 0x45f, 0x464, 0x468, 0x46e, 0x473, 0x47c, 0x481, 0x487, 0x48e, 0x495, 0x49c, 0x4a0, 0x4a5, 0x4a8, 0x4ad, 0x4b9, 0x4bf, 0x4c4, 0x4cb, 0x4d3, 0x4d8, 0x4dc, 0x4ec, 0x4f3, 0x4f7, 0x4fb, 0x502, 0x504, 0x507, 0x50a, 0x50e, 0x512, 0x518, 0x521, 0x52d, 0x534, 0x53d, 0x545, 0x54c, 0x55a, 0x567, 0x574, 0x57d, 0x581, 0x58f, 0x597, 0x5a2, 0x5ab, 0x5b1, 0x5b9, 0x5c2, 0x5cc, 0x5cf, 0x5db, 0x5de, 0x5e3, 0x5e6, 0x5f0, 0x5f9, 0x605, 0x608, 0x60d, 0x610, 0x613, 0x616, 0x61d, 0x624, 0x628, 0x633, 0x636, 0x63c, 0x641, 0x645, 0x648, 0x64b, 0x64e, 0x653, 0x65d, 0x660, 0x664, 0x673, 0x67f, 0x683, 0x688, 0x68d, 0x691, 0x696, 0x69f, 0x6aa, 0x6b0, 0x6b8, 0x6bc, 0x6c0, 0x6c6, 0x6cc, 0x6d1, 0x6d4, 0x6e2, 0x6e9, 0x6ec, 0x6ef, 0x6f3, 0x6f9, 0x6fe, 0x708, 0x70d, 0x710, 0x713, 0x716, 0x719, 0x71d, 0x720, 0x730, 0x741, 0x746, 0x748, 0x74a} + +// idnaSparseValues: 1869 entries, 7476 bytes +var idnaSparseValues = [1869]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x07}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x3308, lo: 0x91, hi: 0xbd}, + {value: 0x0818, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3f + {value: 0x0000, lo: 0x0b}, + {value: 0x0818, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x82}, + {value: 0x0818, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x85}, + {value: 0x0818, lo: 0x86, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0808, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4b + {value: 0x0000, lo: 0x03}, + {value: 0x0a08, lo: 0x80, hi: 0x87}, + {value: 0x0c08, lo: 0x88, hi: 0x99}, + {value: 0x0a08, lo: 0x9a, hi: 0xbf}, + // Block 0x9, offset 0x4f + {value: 0x0000, lo: 0x0e}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0c08, lo: 0x8d, hi: 0x8d}, + {value: 0x0a08, lo: 0x8e, hi: 0x98}, + {value: 0x0c08, lo: 0x99, hi: 0x9b}, + {value: 0x0a08, lo: 0x9c, hi: 0xaa}, + {value: 0x0c08, lo: 0xab, hi: 0xac}, + {value: 0x0a08, lo: 0xad, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb1}, + {value: 0x0a08, lo: 0xb2, hi: 0xb2}, + {value: 0x0c08, lo: 0xb3, hi: 0xb4}, + {value: 0x0a08, lo: 0xb5, hi: 0xb7}, + {value: 0x0c08, lo: 0xb8, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbf}, + // Block 0xa, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xb0}, + {value: 0x0808, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xb, offset 0x63 + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0xc, offset 0x6b + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x99}, + {value: 0x0808, lo: 0x9a, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa3}, + {value: 0x0808, lo: 0xa4, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa7}, + {value: 0x0808, lo: 0xa8, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd, offset 0x77 + {value: 0x0000, lo: 0x0d}, + {value: 0x0c08, lo: 0x80, hi: 0x80}, + {value: 0x0a08, lo: 0x81, hi: 0x85}, + {value: 0x0c08, lo: 0x86, hi: 0x87}, + {value: 0x0a08, lo: 0x88, hi: 0x88}, + {value: 0x0c08, lo: 0x89, hi: 0x89}, + {value: 0x0a08, lo: 0x8a, hi: 0x93}, + {value: 0x0c08, lo: 0x94, hi: 0x94}, + {value: 0x0a08, lo: 0x95, hi: 0x95}, + {value: 0x0808, lo: 0x96, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xe, offset 0x85 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0a08, lo: 0xa0, hi: 0xa9}, + {value: 0x0c08, lo: 0xaa, hi: 0xac}, + {value: 0x0808, lo: 0xad, hi: 0xad}, + {value: 0x0c08, lo: 0xae, hi: 0xae}, + {value: 0x0a08, lo: 0xaf, hi: 0xb0}, + {value: 0x0c08, lo: 0xb1, hi: 0xb2}, + {value: 0x0a08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0a08, lo: 0xb6, hi: 0xb8}, + {value: 0x0c08, lo: 0xb9, hi: 0xb9}, + {value: 0x0a08, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0xf, offset 0x93 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa1}, + {value: 0x0840, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xbf}, + // Block 0x10, offset 0x98 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x11, offset 0xa1 + {value: 0x0000, lo: 0x0f}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x3008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x3008, lo: 0x8a, hi: 0x8c}, + {value: 0x3b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x12, offset 0xb1 + {value: 0x0000, lo: 0x0d}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbf + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xcc + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x15, offset 0xd8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x3008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x16, offset 0xe9 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb9}, + {value: 0x3b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x17, offset 0xf3 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x18, offset 0xfa + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x19, offset 0x107 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x1a, offset 0x118 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1b, offset 0x11f + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0x12a + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1d, offset 0x139 + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x8c}, + {value: 0x3308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x3008, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1e, offset 0x147 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x1f, offset 0x151 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x20, offset 0x153 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x2018, lo: 0xa1, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x21, offset 0x158 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa7}, + {value: 0x2018, lo: 0xa8, hi: 0xbf}, + // Block 0x22, offset 0x15b + {value: 0x0000, lo: 0x02}, + {value: 0x2018, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0xbf}, + // Block 0x23, offset 0x15e + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x24, offset 0x160 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x25, offset 0x16c + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x26, offset 0x177 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x17f + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x28, offset 0x185 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x29, offset 0x18b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2a, offset 0x190 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2b, offset 0x195 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2c, offset 0x198 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2d, offset 0x19c + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2e, offset 0x1a2 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2f, offset 0x1a7 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x3b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x30, offset 0x1b3 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x31, offset 0x1bd + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x3340, lo: 0xb4, hi: 0xb5}, + {value: 0x3008, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x32, offset 0x1c3 + {value: 0x0000, lo: 0x10}, + {value: 0x3008, lo: 0x80, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x3008, lo: 0x87, hi: 0x88}, + {value: 0x3308, lo: 0x89, hi: 0x91}, + {value: 0x3b08, lo: 0x92, hi: 0x92}, + {value: 0x3308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x33, offset 0x1d4 + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x33c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x34, offset 0x1de + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x35, offset 0x1e1 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x36, offset 0x1e9 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x37, offset 0x1ec + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb8}, + {value: 0x3308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x38, offset 0x1f9 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x39, offset 0x201 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x3a, offset 0x205 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3b, offset 0x20c + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x3308, lo: 0x97, hi: 0x98}, + {value: 0x3008, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3c, offset 0x214 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x3008, lo: 0x95, hi: 0x95}, + {value: 0x3308, lo: 0x96, hi: 0x96}, + {value: 0x3008, lo: 0x97, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3b08, lo: 0xa0, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xac}, + {value: 0x3008, lo: 0xad, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x224 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x230 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3f, offset 0x232 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x23c + {value: 0x0000, lo: 0x0b}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x3808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x41, offset 0x248 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3808, lo: 0xaa, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x42, offset 0x254 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa9}, + {value: 0x3008, lo: 0xaa, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x43, offset 0x260 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x3008, lo: 0xa4, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x44, offset 0x268 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x45, offset 0x26d + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x46, offset 0x277 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x3308, lo: 0x94, hi: 0xa0}, + {value: 0x3008, lo: 0xa1, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x47, offset 0x288 + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0x48, offset 0x28c + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x49, offset 0x297 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x4a, offset 0x29b + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4b, offset 0x2a4 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4c, offset 0x2ac + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4d, offset 0x2b2 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4e, offset 0x2b7 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x4f, offset 0x2ba + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x50, offset 0x2bd + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x51, offset 0x2c1 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x52, offset 0x2c7 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x53, offset 0x2cb + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x54, offset 0x2cf + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0018, lo: 0xbd, hi: 0xbf}, + // Block 0x55, offset 0x2d5 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xab}, + {value: 0x0018, lo: 0xac, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2dc + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x57, offset 0x2e2 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x58, offset 0x2ea + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0x59, offset 0x2f1 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x5a, offset 0x2fc + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xbf}, + // Block 0x5b, offset 0x306 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5c, offset 0x30a + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0xbf}, + // Block 0x5d, offset 0x30d + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5e, offset 0x313 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5f, offset 0x317 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x319 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x61, offset 0x31c + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x62, offset 0x31e + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x63, offset 0x321 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x3308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x64, offset 0x32b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x65, offset 0x32e + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x66, offset 0x33d + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x67, offset 0x341 + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x68, offset 0x346 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x69, offset 0x349 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x6a, offset 0x34d + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x6b, offset 0x352 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6c, offset 0x357 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6d, offset 0x35d + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6e, offset 0x363 + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x3308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa6}, + {value: 0x3008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6f, offset 0x372 + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x70, offset 0x378 + {value: 0x0000, lo: 0x03}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x71, offset 0x37c + {value: 0x0000, lo: 0x0e}, + {value: 0x3008, lo: 0x80, hi: 0x83}, + {value: 0x3b08, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x72, offset 0x38b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x73, offset 0x390 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x87, hi: 0x91}, + {value: 0x3008, lo: 0x92, hi: 0x92}, + {value: 0x3808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x74, offset 0x398 + {value: 0x0000, lo: 0x09}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb9}, + {value: 0x3008, lo: 0xba, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbf}, + // Block 0x75, offset 0x3a2 + {value: 0x0000, lo: 0x0a}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x3ad + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x3308, lo: 0xa9, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb0}, + {value: 0x3308, lo: 0xb1, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x77, offset 0x3b5 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8c}, + {value: 0x3008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbc}, + {value: 0x3008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x78, offset 0x3c6 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x79, offset 0x3cf + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x3008, lo: 0xab, hi: 0xab}, + {value: 0x3308, lo: 0xac, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x7a, offset 0x3df + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3ec + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7c, offset 0x3f6 + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7d, offset 0x3fb + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x3008, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa7}, + {value: 0x3308, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7e, offset 0x408 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7f, offset 0x40c + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x80, offset 0x411 + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x81, offset 0x413 + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x82, offset 0x417 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x83, offset 0x419 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x84, offset 0x41d + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x85, offset 0x426 + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x86, offset 0x42c + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x87, offset 0x430 + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x88, offset 0x440 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x89, offset 0x44a + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x8a, offset 0x44f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x8b, offset 0x452 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8c, offset 0x458 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8d, offset 0x45f + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8e, offset 0x464 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8f, offset 0x468 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x90, offset 0x46e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x91, offset 0x473 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x92, offset 0x47c + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x93, offset 0x481 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x94, offset 0x487 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x95, offset 0x48e + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x96, offset 0x495 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x97, offset 0x49c + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x98, offset 0x4a0 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x99, offset 0x4a5 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x9a, offset 0x4a8 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x9b, offset 0x4ad + {value: 0x0000, lo: 0x0b}, + {value: 0x0808, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0808, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9c, offset 0x4b9 + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0818, lo: 0x97, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb6}, + {value: 0x0818, lo: 0xb7, hi: 0xbf}, + // Block 0x9d, offset 0x4bf + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9e, offset 0x4c4 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9f, offset 0x4cb + {value: 0x0000, lo: 0x07}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0818, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0xa0, offset 0x4d3 + {value: 0x0000, lo: 0x04}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0xa1, offset 0x4d8 + {value: 0x0000, lo: 0x03}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa2, offset 0x4dc + {value: 0x0000, lo: 0x0f}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0808, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0808, lo: 0x99, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa3, offset 0x4ec + {value: 0x0000, lo: 0x06}, + {value: 0x0818, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0818, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa4, offset 0x4f3 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa5, offset 0x4f7 + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa6, offset 0x4fb + {value: 0x0000, lo: 0x06}, + {value: 0x0808, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0818, lo: 0xb8, hi: 0xbf}, + // Block 0xa7, offset 0x502 + {value: 0x0000, lo: 0x01}, + {value: 0x0808, lo: 0x80, hi: 0xbf}, + // Block 0xa8, offset 0x504 + {value: 0x0000, lo: 0x02}, + {value: 0x0808, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa9, offset 0x507 + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xaa, offset 0x50a + {value: 0x0000, lo: 0x03}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xab, offset 0x50e + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xac, offset 0x512 + {value: 0x0000, lo: 0x05}, + {value: 0x3008, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xad, offset 0x518 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x85}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xae, offset 0x521 + {value: 0x0000, lo: 0x0b}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb6}, + {value: 0x3008, lo: 0xb7, hi: 0xb8}, + {value: 0x3b08, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0340, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xaf, offset 0x52d + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb0, offset 0x534 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xb2}, + {value: 0x3b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xb1, offset 0x53d + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb2, offset 0x545 + {value: 0x0000, lo: 0x06}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x3008, lo: 0xb3, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xbe}, + {value: 0x3008, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x54c + {value: 0x0000, lo: 0x0d}, + {value: 0x3808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x89}, + {value: 0x3308, lo: 0x8a, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb4, offset 0x55a + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xae}, + {value: 0x3308, lo: 0xaf, hi: 0xb1}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb4, hi: 0xb4}, + {value: 0x3808, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb5, offset 0x567 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb6, offset 0x574 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x3308, lo: 0x9f, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa9}, + {value: 0x3b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb7, offset 0x57d + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb8, offset 0x581 + {value: 0x0000, lo: 0x0d}, + {value: 0x3008, lo: 0x80, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x84}, + {value: 0x3008, lo: 0x85, hi: 0x85}, + {value: 0x3308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xb9, offset 0x58f + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xb8}, + {value: 0x3008, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xba, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbe}, + {value: 0x3308, lo: 0xbf, hi: 0xbf}, + // Block 0xba, offset 0x597 + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x81}, + {value: 0x3b08, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xbb, offset 0x5a2 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x3008, lo: 0xb8, hi: 0xbb}, + {value: 0x3308, lo: 0xbc, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbc, offset 0x5ab + {value: 0x0000, lo: 0x05}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbd, offset 0x5b1 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3008, lo: 0xb0, hi: 0xb2}, + {value: 0x3308, lo: 0xb3, hi: 0xba}, + {value: 0x3008, lo: 0xbb, hi: 0xbc}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbe, offset 0x5b9 + {value: 0x0000, lo: 0x08}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xbf, offset 0x5c2 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x3308, lo: 0xab, hi: 0xab}, + {value: 0x3008, lo: 0xac, hi: 0xac}, + {value: 0x3308, lo: 0xad, hi: 0xad}, + {value: 0x3008, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb5}, + {value: 0x3808, lo: 0xb6, hi: 0xb6}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xc0, offset 0x5cc + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xc1, offset 0x5cf + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, + {value: 0x3008, lo: 0xa0, hi: 0xa1}, + {value: 0x3308, lo: 0xa2, hi: 0xa5}, + {value: 0x3008, lo: 0xa6, hi: 0xa6}, + {value: 0x3308, lo: 0xa7, hi: 0xaa}, + {value: 0x3b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc2, offset 0x5db + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc3, offset 0x5de + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc4, offset 0x5e3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc5, offset 0x5e6 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbd}, + {value: 0x3008, lo: 0xbe, hi: 0xbe}, + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc6, offset 0x5f0 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xc7, offset 0x5f9 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x3008, lo: 0xa9, hi: 0xa9}, + {value: 0x3308, lo: 0xaa, hi: 0xb0}, + {value: 0x3008, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb4, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xc8, offset 0x605 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xc9, offset 0x608 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xca, offset 0x60d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xcb, offset 0x610 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xcc, offset 0x613 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xcd, offset 0x616 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xce, offset 0x61d + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xcf, offset 0x624 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xd0, offset 0x628 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xd1, offset 0x633 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xd2, offset 0x636 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd3, offset 0x63c + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xd4, offset 0x641 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0xd5, offset 0x645 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xd6, offset 0x648 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xd7, offset 0x64b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0xbf}, + // Block 0xd8, offset 0x64e + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xd9, offset 0x653 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x3308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xda, offset 0x65d + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xdb, offset 0x660 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xdc, offset 0x664 + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xdd, offset 0x673 + {value: 0x0000, lo: 0x0b}, + {value: 0x3318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x3318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xde, offset 0x67f + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xdf, offset 0x683 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x3318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xe0, offset 0x688 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe1, offset 0x68d + {value: 0x0000, lo: 0x03}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xe2, offset 0x691 + {value: 0x0000, lo: 0x04}, + {value: 0x3308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xe3, offset 0x696 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xe4, offset 0x69f + {value: 0x0000, lo: 0x0a}, + {value: 0x3308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x3308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xe5, offset 0x6aa + {value: 0x0000, lo: 0x05}, + {value: 0x0808, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xe6, offset 0x6b0 + {value: 0x0000, lo: 0x07}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xe7, offset 0x6b8 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe8, offset 0x6bc + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xe9, offset 0x6c0 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xea, offset 0x6c6 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xeb, offset 0x6cc + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xec, offset 0x6d1 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xed, offset 0x6d4 + {value: 0x0000, lo: 0x0d}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xee, offset 0x6e2 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xef, offset 0x6e9 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xf0, offset 0x6ec + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0xbf}, + // Block 0xf1, offset 0x6ef + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0xf2, offset 0x6f3 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0xf3, offset 0x6f9 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0xf4, offset 0x6fe + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xf5, offset 0x708 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xf6, offset 0x70d + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xf7, offset 0x710 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0xbf}, + // Block 0xf8, offset 0x713 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xf9, offset 0x716 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xfa, offset 0x719 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xfb, offset 0x71d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xfc, offset 0x720 + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0xfd, offset 0x730 + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x2040, lo: 0xbf, hi: 0xbf}, + // Block 0xfe, offset 0x741 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0xff, offset 0x746 + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0x100, offset 0x748 + {value: 0x0000, lo: 0x01}, + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x101, offset 0x74a + {value: 0x0000, lo: 0x02}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 41662 bytes (40KiB); checksum: 355A58A4 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trie.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trie.go new file mode 100644 index 0000000..c4ef847 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trie.go @@ -0,0 +1,72 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package idna + +// appendMapping appends the mapping for the respective rune. isMapped must be +// true. A mapping is a categorization of a rune as defined in UTS #46. +func (c info) appendMapping(b []byte, s string) []byte { + index := int(c >> indexShift) + if c&xorBit == 0 { + s := mappings[index:] + return append(b, s[1:s[0]+1]...) + } + b = append(b, s...) + if c&inlineXOR == inlineXOR { + // TODO: support and handle two-byte inline masks + b[len(b)-1] ^= byte(index) + } else { + for p := len(b) - int(xorData[index]); p < len(b); p++ { + index++ + b[p] ^= xorData[index] + } + } + return b +} + +// Sparse block handling code. + +type valueRange struct { + value uint16 // header: value:stride + lo, hi byte // header: lo:n +} + +type sparseBlocks struct { + values []valueRange + offset []uint16 +} + +var idnaSparse = sparseBlocks{ + values: idnaSparseValues[:], + offset: idnaSparseOffset[:], +} + +// Don't use newIdnaTrie to avoid unconditional linking in of the table. +var trie = &idnaTrie{} + +// lookup determines the type of block n and looks up the value for b. +// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block +// is a list of ranges with an accompanying value. Given a matching range r, +// the value for b is by r.value + (b - r.lo) * stride. +func (t *sparseBlocks) lookup(n uint32, b byte) uint16 { + offset := t.offset[n] + header := t.values[offset] + lo := offset + 1 + hi := lo + uint16(header.lo) + for lo < hi { + m := lo + (hi-lo)/2 + r := t.values[m] + if r.lo <= b && b <= r.hi { + return r.value + uint16(b-r.lo)*header.value + } + if b < r.lo { + hi = m + } else { + lo = m + 1 + } + } + return 0 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trieval.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trieval.go new file mode 100644 index 0000000..7a8cf88 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/idna/trieval.go @@ -0,0 +1,119 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package idna + +// This file contains definitions for interpreting the trie value of the idna +// trie generated by "go run gen*.go". It is shared by both the generator +// program and the resultant package. Sharing is achieved by the generator +// copying gen_trieval.go to trieval.go and changing what's above this comment. + +// info holds information from the IDNA mapping table for a single rune. It is +// the value returned by a trie lookup. In most cases, all information fits in +// a 16-bit value. For mappings, this value may contain an index into a slice +// with the mapped string. Such mappings can consist of the actual mapped value +// or an XOR pattern to be applied to the bytes of the UTF8 encoding of the +// input rune. This technique is used by the cases packages and reduces the +// table size significantly. +// +// The per-rune values have the following format: +// +// if mapped { +// if inlinedXOR { +// 15..13 inline XOR marker +// 12..11 unused +// 10..3 inline XOR mask +// } else { +// 15..3 index into xor or mapping table +// } +// } else { +// 15..14 unused +// 13 mayNeedNorm +// 12..11 attributes +// 10..8 joining type +// 7..3 category type +// } +// 2 use xor pattern +// 1..0 mapped category +// +// See the definitions below for a more detailed description of the various +// bits. +type info uint16 + +const ( + catSmallMask = 0x3 + catBigMask = 0xF8 + indexShift = 3 + xorBit = 0x4 // interpret the index as an xor pattern + inlineXOR = 0xE000 // These bits are set if the XOR pattern is inlined. + + joinShift = 8 + joinMask = 0x07 + + // Attributes + attributesMask = 0x1800 + viramaModifier = 0x1800 + modifier = 0x1000 + rtl = 0x0800 + + mayNeedNorm = 0x2000 +) + +// A category corresponds to a category defined in the IDNA mapping table. +type category uint16 + +const ( + unknown category = 0 // not currently defined in unicode. + mapped category = 1 + disallowedSTD3Mapped category = 2 + deviation category = 3 +) + +const ( + valid category = 0x08 + validNV8 category = 0x18 + validXV8 category = 0x28 + disallowed category = 0x40 + disallowedSTD3Valid category = 0x80 + ignored category = 0xC0 +) + +// join types and additional rune information +const ( + joiningL = (iota + 1) + joiningD + joiningT + joiningR + + //the following types are derived during processing + joinZWJ + joinZWNJ + joinVirama + numJoinTypes +) + +func (c info) isMapped() bool { + return c&0x3 != 0 +} + +func (c info) category() category { + small := c & catSmallMask + if small != 0 { + return category(small) + } + return category(c & catBigMask) +} + +func (c info) joinType() info { + if c.isMapped() { + return 0 + } + return (c >> joinShift) & joinMask +} + +func (c info) isModifier() bool { + return c&(modifier|catSmallMask) == modifier +} + +func (c info) isViramaModifier() bool { + return c&(attributesMask|catSmallMask) == viramaModifier +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/internal/timeseries/timeseries.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/internal/timeseries/timeseries.go new file mode 100644 index 0000000..685f0e7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/internal/timeseries/timeseries.go @@ -0,0 +1,525 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package timeseries implements a time series structure for stats collection. +package timeseries // import "golang.org/x/net/internal/timeseries" + +import ( + "fmt" + "log" + "time" +) + +const ( + timeSeriesNumBuckets = 64 + minuteHourSeriesNumBuckets = 60 +) + +var timeSeriesResolutions = []time.Duration{ + 1 * time.Second, + 10 * time.Second, + 1 * time.Minute, + 10 * time.Minute, + 1 * time.Hour, + 6 * time.Hour, + 24 * time.Hour, // 1 day + 7 * 24 * time.Hour, // 1 week + 4 * 7 * 24 * time.Hour, // 4 weeks + 16 * 7 * 24 * time.Hour, // 16 weeks +} + +var minuteHourSeriesResolutions = []time.Duration{ + 1 * time.Second, + 1 * time.Minute, +} + +// An Observable is a kind of data that can be aggregated in a time series. +type Observable interface { + Multiply(ratio float64) // Multiplies the data in self by a given ratio + Add(other Observable) // Adds the data from a different observation to self + Clear() // Clears the observation so it can be reused. + CopyFrom(other Observable) // Copies the contents of a given observation to self +} + +// Float attaches the methods of Observable to a float64. +type Float float64 + +// NewFloat returns a Float. +func NewFloat() Observable { + f := Float(0) + return &f +} + +// String returns the float as a string. +func (f *Float) String() string { return fmt.Sprintf("%g", f.Value()) } + +// Value returns the float's value. +func (f *Float) Value() float64 { return float64(*f) } + +func (f *Float) Multiply(ratio float64) { *f *= Float(ratio) } + +func (f *Float) Add(other Observable) { + o := other.(*Float) + *f += *o +} + +func (f *Float) Clear() { *f = 0 } + +func (f *Float) CopyFrom(other Observable) { + o := other.(*Float) + *f = *o +} + +// A Clock tells the current time. +type Clock interface { + Time() time.Time +} + +type defaultClock int + +var defaultClockInstance defaultClock + +func (defaultClock) Time() time.Time { return time.Now() } + +// Information kept per level. Each level consists of a circular list of +// observations. The start of the level may be derived from end and the +// len(buckets) * sizeInMillis. +type tsLevel struct { + oldest int // index to oldest bucketed Observable + newest int // index to newest bucketed Observable + end time.Time // end timestamp for this level + size time.Duration // duration of the bucketed Observable + buckets []Observable // collections of observations + provider func() Observable // used for creating new Observable +} + +func (l *tsLevel) Clear() { + l.oldest = 0 + l.newest = len(l.buckets) - 1 + l.end = time.Time{} + for i := range l.buckets { + if l.buckets[i] != nil { + l.buckets[i].Clear() + l.buckets[i] = nil + } + } +} + +func (l *tsLevel) InitLevel(size time.Duration, numBuckets int, f func() Observable) { + l.size = size + l.provider = f + l.buckets = make([]Observable, numBuckets) +} + +// Keeps a sequence of levels. Each level is responsible for storing data at +// a given resolution. For example, the first level stores data at a one +// minute resolution while the second level stores data at a one hour +// resolution. + +// Each level is represented by a sequence of buckets. Each bucket spans an +// interval equal to the resolution of the level. New observations are added +// to the last bucket. +type timeSeries struct { + provider func() Observable // make more Observable + numBuckets int // number of buckets in each level + levels []*tsLevel // levels of bucketed Observable + lastAdd time.Time // time of last Observable tracked + total Observable // convenient aggregation of all Observable + clock Clock // Clock for getting current time + pending Observable // observations not yet bucketed + pendingTime time.Time // what time are we keeping in pending + dirty bool // if there are pending observations +} + +// init initializes a level according to the supplied criteria. +func (ts *timeSeries) init(resolutions []time.Duration, f func() Observable, numBuckets int, clock Clock) { + ts.provider = f + ts.numBuckets = numBuckets + ts.clock = clock + ts.levels = make([]*tsLevel, len(resolutions)) + + for i := range resolutions { + if i > 0 && resolutions[i-1] >= resolutions[i] { + log.Print("timeseries: resolutions must be monotonically increasing") + break + } + newLevel := new(tsLevel) + newLevel.InitLevel(resolutions[i], ts.numBuckets, ts.provider) + ts.levels[i] = newLevel + } + + ts.Clear() +} + +// Clear removes all observations from the time series. +func (ts *timeSeries) Clear() { + ts.lastAdd = time.Time{} + ts.total = ts.resetObservation(ts.total) + ts.pending = ts.resetObservation(ts.pending) + ts.pendingTime = time.Time{} + ts.dirty = false + + for i := range ts.levels { + ts.levels[i].Clear() + } +} + +// Add records an observation at the current time. +func (ts *timeSeries) Add(observation Observable) { + ts.AddWithTime(observation, ts.clock.Time()) +} + +// AddWithTime records an observation at the specified time. +func (ts *timeSeries) AddWithTime(observation Observable, t time.Time) { + + smallBucketDuration := ts.levels[0].size + + if t.After(ts.lastAdd) { + ts.lastAdd = t + } + + if t.After(ts.pendingTime) { + ts.advance(t) + ts.mergePendingUpdates() + ts.pendingTime = ts.levels[0].end + ts.pending.CopyFrom(observation) + ts.dirty = true + } else if t.After(ts.pendingTime.Add(-1 * smallBucketDuration)) { + // The observation is close enough to go into the pending bucket. + // This compensates for clock skewing and small scheduling delays + // by letting the update stay in the fast path. + ts.pending.Add(observation) + ts.dirty = true + } else { + ts.mergeValue(observation, t) + } +} + +// mergeValue inserts the observation at the specified time in the past into all levels. +func (ts *timeSeries) mergeValue(observation Observable, t time.Time) { + for _, level := range ts.levels { + index := (ts.numBuckets - 1) - int(level.end.Sub(t)/level.size) + if 0 <= index && index < ts.numBuckets { + bucketNumber := (level.oldest + index) % ts.numBuckets + if level.buckets[bucketNumber] == nil { + level.buckets[bucketNumber] = level.provider() + } + level.buckets[bucketNumber].Add(observation) + } + } + ts.total.Add(observation) +} + +// mergePendingUpdates applies the pending updates into all levels. +func (ts *timeSeries) mergePendingUpdates() { + if ts.dirty { + ts.mergeValue(ts.pending, ts.pendingTime) + ts.pending = ts.resetObservation(ts.pending) + ts.dirty = false + } +} + +// advance cycles the buckets at each level until the latest bucket in +// each level can hold the time specified. +func (ts *timeSeries) advance(t time.Time) { + if !t.After(ts.levels[0].end) { + return + } + for i := 0; i < len(ts.levels); i++ { + level := ts.levels[i] + if !level.end.Before(t) { + break + } + + // If the time is sufficiently far, just clear the level and advance + // directly. + if !t.Before(level.end.Add(level.size * time.Duration(ts.numBuckets))) { + for _, b := range level.buckets { + ts.resetObservation(b) + } + level.end = time.Unix(0, (t.UnixNano()/level.size.Nanoseconds())*level.size.Nanoseconds()) + } + + for t.After(level.end) { + level.end = level.end.Add(level.size) + level.newest = level.oldest + level.oldest = (level.oldest + 1) % ts.numBuckets + ts.resetObservation(level.buckets[level.newest]) + } + + t = level.end + } +} + +// Latest returns the sum of the num latest buckets from the level. +func (ts *timeSeries) Latest(level, num int) Observable { + now := ts.clock.Time() + if ts.levels[0].end.Before(now) { + ts.advance(now) + } + + ts.mergePendingUpdates() + + result := ts.provider() + l := ts.levels[level] + index := l.newest + + for i := 0; i < num; i++ { + if l.buckets[index] != nil { + result.Add(l.buckets[index]) + } + if index == 0 { + index = ts.numBuckets + } + index-- + } + + return result +} + +// LatestBuckets returns a copy of the num latest buckets from level. +func (ts *timeSeries) LatestBuckets(level, num int) []Observable { + if level < 0 || level > len(ts.levels) { + log.Print("timeseries: bad level argument: ", level) + return nil + } + if num < 0 || num >= ts.numBuckets { + log.Print("timeseries: bad num argument: ", num) + return nil + } + + results := make([]Observable, num) + now := ts.clock.Time() + if ts.levels[0].end.Before(now) { + ts.advance(now) + } + + ts.mergePendingUpdates() + + l := ts.levels[level] + index := l.newest + + for i := 0; i < num; i++ { + result := ts.provider() + results[i] = result + if l.buckets[index] != nil { + result.CopyFrom(l.buckets[index]) + } + + if index == 0 { + index = ts.numBuckets + } + index -= 1 + } + return results +} + +// ScaleBy updates observations by scaling by factor. +func (ts *timeSeries) ScaleBy(factor float64) { + for _, l := range ts.levels { + for i := 0; i < ts.numBuckets; i++ { + l.buckets[i].Multiply(factor) + } + } + + ts.total.Multiply(factor) + ts.pending.Multiply(factor) +} + +// Range returns the sum of observations added over the specified time range. +// If start or finish times don't fall on bucket boundaries of the same +// level, then return values are approximate answers. +func (ts *timeSeries) Range(start, finish time.Time) Observable { + return ts.ComputeRange(start, finish, 1)[0] +} + +// Recent returns the sum of observations from the last delta. +func (ts *timeSeries) Recent(delta time.Duration) Observable { + now := ts.clock.Time() + return ts.Range(now.Add(-delta), now) +} + +// Total returns the total of all observations. +func (ts *timeSeries) Total() Observable { + ts.mergePendingUpdates() + return ts.total +} + +// ComputeRange computes a specified number of values into a slice using +// the observations recorded over the specified time period. The return +// values are approximate if the start or finish times don't fall on the +// bucket boundaries at the same level or if the number of buckets spanning +// the range is not an integral multiple of num. +func (ts *timeSeries) ComputeRange(start, finish time.Time, num int) []Observable { + if start.After(finish) { + log.Printf("timeseries: start > finish, %v>%v", start, finish) + return nil + } + + if num < 0 { + log.Printf("timeseries: num < 0, %v", num) + return nil + } + + results := make([]Observable, num) + + for _, l := range ts.levels { + if !start.Before(l.end.Add(-l.size * time.Duration(ts.numBuckets))) { + ts.extract(l, start, finish, num, results) + return results + } + } + + // Failed to find a level that covers the desired range. So just + // extract from the last level, even if it doesn't cover the entire + // desired range. + ts.extract(ts.levels[len(ts.levels)-1], start, finish, num, results) + + return results +} + +// RecentList returns the specified number of values in slice over the most +// recent time period of the specified range. +func (ts *timeSeries) RecentList(delta time.Duration, num int) []Observable { + if delta < 0 { + return nil + } + now := ts.clock.Time() + return ts.ComputeRange(now.Add(-delta), now, num) +} + +// extract returns a slice of specified number of observations from a given +// level over a given range. +func (ts *timeSeries) extract(l *tsLevel, start, finish time.Time, num int, results []Observable) { + ts.mergePendingUpdates() + + srcInterval := l.size + dstInterval := finish.Sub(start) / time.Duration(num) + dstStart := start + srcStart := l.end.Add(-srcInterval * time.Duration(ts.numBuckets)) + + srcIndex := 0 + + // Where should scanning start? + if dstStart.After(srcStart) { + advance := dstStart.Sub(srcStart) / srcInterval + srcIndex += int(advance) + srcStart = srcStart.Add(advance * srcInterval) + } + + // The i'th value is computed as show below. + // interval = (finish/start)/num + // i'th value = sum of observation in range + // [ start + i * interval, + // start + (i + 1) * interval ) + for i := 0; i < num; i++ { + results[i] = ts.resetObservation(results[i]) + dstEnd := dstStart.Add(dstInterval) + for srcIndex < ts.numBuckets && srcStart.Before(dstEnd) { + srcEnd := srcStart.Add(srcInterval) + if srcEnd.After(ts.lastAdd) { + srcEnd = ts.lastAdd + } + + if !srcEnd.Before(dstStart) { + srcValue := l.buckets[(srcIndex+l.oldest)%ts.numBuckets] + if !srcStart.Before(dstStart) && !srcEnd.After(dstEnd) { + // dst completely contains src. + if srcValue != nil { + results[i].Add(srcValue) + } + } else { + // dst partially overlaps src. + overlapStart := maxTime(srcStart, dstStart) + overlapEnd := minTime(srcEnd, dstEnd) + base := srcEnd.Sub(srcStart) + fraction := overlapEnd.Sub(overlapStart).Seconds() / base.Seconds() + + used := ts.provider() + if srcValue != nil { + used.CopyFrom(srcValue) + } + used.Multiply(fraction) + results[i].Add(used) + } + + if srcEnd.After(dstEnd) { + break + } + } + srcIndex++ + srcStart = srcStart.Add(srcInterval) + } + dstStart = dstStart.Add(dstInterval) + } +} + +// resetObservation clears the content so the struct may be reused. +func (ts *timeSeries) resetObservation(observation Observable) Observable { + if observation == nil { + observation = ts.provider() + } else { + observation.Clear() + } + return observation +} + +// TimeSeries tracks data at granularities from 1 second to 16 weeks. +type TimeSeries struct { + timeSeries +} + +// NewTimeSeries creates a new TimeSeries using the function provided for creating new Observable. +func NewTimeSeries(f func() Observable) *TimeSeries { + return NewTimeSeriesWithClock(f, defaultClockInstance) +} + +// NewTimeSeriesWithClock creates a new TimeSeries using the function provided for creating new Observable and the clock for +// assigning timestamps. +func NewTimeSeriesWithClock(f func() Observable, clock Clock) *TimeSeries { + ts := new(TimeSeries) + ts.timeSeries.init(timeSeriesResolutions, f, timeSeriesNumBuckets, clock) + return ts +} + +// MinuteHourSeries tracks data at granularities of 1 minute and 1 hour. +type MinuteHourSeries struct { + timeSeries +} + +// NewMinuteHourSeries creates a new MinuteHourSeries using the function provided for creating new Observable. +func NewMinuteHourSeries(f func() Observable) *MinuteHourSeries { + return NewMinuteHourSeriesWithClock(f, defaultClockInstance) +} + +// NewMinuteHourSeriesWithClock creates a new MinuteHourSeries using the function provided for creating new Observable and the clock for +// assigning timestamps. +func NewMinuteHourSeriesWithClock(f func() Observable, clock Clock) *MinuteHourSeries { + ts := new(MinuteHourSeries) + ts.timeSeries.init(minuteHourSeriesResolutions, f, + minuteHourSeriesNumBuckets, clock) + return ts +} + +func (ts *MinuteHourSeries) Minute() Observable { + return ts.timeSeries.Latest(0, 60) +} + +func (ts *MinuteHourSeries) Hour() Observable { + return ts.timeSeries.Latest(1, 60) +} + +func minTime(a, b time.Time) time.Time { + if a.Before(b) { + return a + } + return b +} + +func maxTime(a, b time.Time) time.Time { + if a.After(b) { + return a + } + return b +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/events.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/events.go new file mode 100644 index 0000000..c646a69 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/events.go @@ -0,0 +1,532 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package trace + +import ( + "bytes" + "fmt" + "html/template" + "io" + "log" + "net/http" + "runtime" + "sort" + "strconv" + "strings" + "sync" + "sync/atomic" + "text/tabwriter" + "time" +) + +const maxEventsPerLog = 100 + +type bucket struct { + MaxErrAge time.Duration + String string +} + +var buckets = []bucket{ + {0, "total"}, + {10 * time.Second, "errs<10s"}, + {1 * time.Minute, "errs<1m"}, + {10 * time.Minute, "errs<10m"}, + {1 * time.Hour, "errs<1h"}, + {10 * time.Hour, "errs<10h"}, + {24000 * time.Hour, "errors"}, +} + +// RenderEvents renders the HTML page typically served at /debug/events. +// It does not do any auth checking. The request may be nil. +// +// Most users will use the Events handler. +func RenderEvents(w http.ResponseWriter, req *http.Request, sensitive bool) { + now := time.Now() + data := &struct { + Families []string // family names + Buckets []bucket + Counts [][]int // eventLog count per family/bucket + + // Set when a bucket has been selected. + Family string + Bucket int + EventLogs eventLogs + Expanded bool + }{ + Buckets: buckets, + } + + data.Families = make([]string, 0, len(families)) + famMu.RLock() + for name := range families { + data.Families = append(data.Families, name) + } + famMu.RUnlock() + sort.Strings(data.Families) + + // Count the number of eventLogs in each family for each error age. + data.Counts = make([][]int, len(data.Families)) + for i, name := range data.Families { + // TODO(sameer): move this loop under the family lock. + f := getEventFamily(name) + data.Counts[i] = make([]int, len(data.Buckets)) + for j, b := range data.Buckets { + data.Counts[i][j] = f.Count(now, b.MaxErrAge) + } + } + + if req != nil { + var ok bool + data.Family, data.Bucket, ok = parseEventsArgs(req) + if !ok { + // No-op + } else { + data.EventLogs = getEventFamily(data.Family).Copy(now, buckets[data.Bucket].MaxErrAge) + } + if data.EventLogs != nil { + defer data.EventLogs.Free() + sort.Sort(data.EventLogs) + } + if exp, err := strconv.ParseBool(req.FormValue("exp")); err == nil { + data.Expanded = exp + } + } + + famMu.RLock() + defer famMu.RUnlock() + if err := eventsTmpl().Execute(w, data); err != nil { + log.Printf("net/trace: Failed executing template: %v", err) + } +} + +func parseEventsArgs(req *http.Request) (fam string, b int, ok bool) { + fam, bStr := req.FormValue("fam"), req.FormValue("b") + if fam == "" || bStr == "" { + return "", 0, false + } + b, err := strconv.Atoi(bStr) + if err != nil || b < 0 || b >= len(buckets) { + return "", 0, false + } + return fam, b, true +} + +// An EventLog provides a log of events associated with a specific object. +type EventLog interface { + // Printf formats its arguments with fmt.Sprintf and adds the + // result to the event log. + Printf(format string, a ...interface{}) + + // Errorf is like Printf, but it marks this event as an error. + Errorf(format string, a ...interface{}) + + // Finish declares that this event log is complete. + // The event log should not be used after calling this method. + Finish() +} + +// NewEventLog returns a new EventLog with the specified family name +// and title. +func NewEventLog(family, title string) EventLog { + el := newEventLog() + el.ref() + el.Family, el.Title = family, title + el.Start = time.Now() + el.events = make([]logEntry, 0, maxEventsPerLog) + el.stack = make([]uintptr, 32) + n := runtime.Callers(2, el.stack) + el.stack = el.stack[:n] + + getEventFamily(family).add(el) + return el +} + +func (el *eventLog) Finish() { + getEventFamily(el.Family).remove(el) + el.unref() // matches ref in New +} + +var ( + famMu sync.RWMutex + families = make(map[string]*eventFamily) // family name => family +) + +func getEventFamily(fam string) *eventFamily { + famMu.Lock() + defer famMu.Unlock() + f := families[fam] + if f == nil { + f = &eventFamily{} + families[fam] = f + } + return f +} + +type eventFamily struct { + mu sync.RWMutex + eventLogs eventLogs +} + +func (f *eventFamily) add(el *eventLog) { + f.mu.Lock() + f.eventLogs = append(f.eventLogs, el) + f.mu.Unlock() +} + +func (f *eventFamily) remove(el *eventLog) { + f.mu.Lock() + defer f.mu.Unlock() + for i, el0 := range f.eventLogs { + if el == el0 { + copy(f.eventLogs[i:], f.eventLogs[i+1:]) + f.eventLogs = f.eventLogs[:len(f.eventLogs)-1] + return + } + } +} + +func (f *eventFamily) Count(now time.Time, maxErrAge time.Duration) (n int) { + f.mu.RLock() + defer f.mu.RUnlock() + for _, el := range f.eventLogs { + if el.hasRecentError(now, maxErrAge) { + n++ + } + } + return +} + +func (f *eventFamily) Copy(now time.Time, maxErrAge time.Duration) (els eventLogs) { + f.mu.RLock() + defer f.mu.RUnlock() + els = make(eventLogs, 0, len(f.eventLogs)) + for _, el := range f.eventLogs { + if el.hasRecentError(now, maxErrAge) { + el.ref() + els = append(els, el) + } + } + return +} + +type eventLogs []*eventLog + +// Free calls unref on each element of the list. +func (els eventLogs) Free() { + for _, el := range els { + el.unref() + } +} + +// eventLogs may be sorted in reverse chronological order. +func (els eventLogs) Len() int { return len(els) } +func (els eventLogs) Less(i, j int) bool { return els[i].Start.After(els[j].Start) } +func (els eventLogs) Swap(i, j int) { els[i], els[j] = els[j], els[i] } + +// A logEntry is a timestamped log entry in an event log. +type logEntry struct { + When time.Time + Elapsed time.Duration // since previous event in log + NewDay bool // whether this event is on a different day to the previous event + What string + IsErr bool +} + +// WhenString returns a string representation of the elapsed time of the event. +// It will include the date if midnight was crossed. +func (e logEntry) WhenString() string { + if e.NewDay { + return e.When.Format("2006/01/02 15:04:05.000000") + } + return e.When.Format("15:04:05.000000") +} + +// An eventLog represents an active event log. +type eventLog struct { + // Family is the top-level grouping of event logs to which this belongs. + Family string + + // Title is the title of this event log. + Title string + + // Timing information. + Start time.Time + + // Call stack where this event log was created. + stack []uintptr + + // Append-only sequence of events. + // + // TODO(sameer): change this to a ring buffer to avoid the array copy + // when we hit maxEventsPerLog. + mu sync.RWMutex + events []logEntry + LastErrorTime time.Time + discarded int + + refs int32 // how many buckets this is in +} + +func (el *eventLog) reset() { + // Clear all but the mutex. Mutexes may not be copied, even when unlocked. + el.Family = "" + el.Title = "" + el.Start = time.Time{} + el.stack = nil + el.events = nil + el.LastErrorTime = time.Time{} + el.discarded = 0 + el.refs = 0 +} + +func (el *eventLog) hasRecentError(now time.Time, maxErrAge time.Duration) bool { + if maxErrAge == 0 { + return true + } + el.mu.RLock() + defer el.mu.RUnlock() + return now.Sub(el.LastErrorTime) < maxErrAge +} + +// delta returns the elapsed time since the last event or the log start, +// and whether it spans midnight. +// L >= el.mu +func (el *eventLog) delta(t time.Time) (time.Duration, bool) { + if len(el.events) == 0 { + return t.Sub(el.Start), false + } + prev := el.events[len(el.events)-1].When + return t.Sub(prev), prev.Day() != t.Day() + +} + +func (el *eventLog) Printf(format string, a ...interface{}) { + el.printf(false, format, a...) +} + +func (el *eventLog) Errorf(format string, a ...interface{}) { + el.printf(true, format, a...) +} + +func (el *eventLog) printf(isErr bool, format string, a ...interface{}) { + e := logEntry{When: time.Now(), IsErr: isErr, What: fmt.Sprintf(format, a...)} + el.mu.Lock() + e.Elapsed, e.NewDay = el.delta(e.When) + if len(el.events) < maxEventsPerLog { + el.events = append(el.events, e) + } else { + // Discard the oldest event. + if el.discarded == 0 { + // el.discarded starts at two to count for the event it + // is replacing, plus the next one that we are about to + // drop. + el.discarded = 2 + } else { + el.discarded++ + } + // TODO(sameer): if this causes allocations on a critical path, + // change eventLog.What to be a fmt.Stringer, as in trace.go. + el.events[0].What = fmt.Sprintf("(%d events discarded)", el.discarded) + // The timestamp of the discarded meta-event should be + // the time of the last event it is representing. + el.events[0].When = el.events[1].When + copy(el.events[1:], el.events[2:]) + el.events[maxEventsPerLog-1] = e + } + if e.IsErr { + el.LastErrorTime = e.When + } + el.mu.Unlock() +} + +func (el *eventLog) ref() { + atomic.AddInt32(&el.refs, 1) +} + +func (el *eventLog) unref() { + if atomic.AddInt32(&el.refs, -1) == 0 { + freeEventLog(el) + } +} + +func (el *eventLog) When() string { + return el.Start.Format("2006/01/02 15:04:05.000000") +} + +func (el *eventLog) ElapsedTime() string { + elapsed := time.Since(el.Start) + return fmt.Sprintf("%.6f", elapsed.Seconds()) +} + +func (el *eventLog) Stack() string { + buf := new(bytes.Buffer) + tw := tabwriter.NewWriter(buf, 1, 8, 1, '\t', 0) + printStackRecord(tw, el.stack) + tw.Flush() + return buf.String() +} + +// printStackRecord prints the function + source line information +// for a single stack trace. +// Adapted from runtime/pprof/pprof.go. +func printStackRecord(w io.Writer, stk []uintptr) { + for _, pc := range stk { + f := runtime.FuncForPC(pc) + if f == nil { + continue + } + file, line := f.FileLine(pc) + name := f.Name() + // Hide runtime.goexit and any runtime functions at the beginning. + if strings.HasPrefix(name, "runtime.") { + continue + } + fmt.Fprintf(w, "# %s\t%s:%d\n", name, file, line) + } +} + +func (el *eventLog) Events() []logEntry { + el.mu.RLock() + defer el.mu.RUnlock() + return el.events +} + +// freeEventLogs is a freelist of *eventLog +var freeEventLogs = make(chan *eventLog, 1000) + +// newEventLog returns a event log ready to use. +func newEventLog() *eventLog { + select { + case el := <-freeEventLogs: + return el + default: + return new(eventLog) + } +} + +// freeEventLog adds el to freeEventLogs if there's room. +// This is non-blocking. +func freeEventLog(el *eventLog) { + el.reset() + select { + case freeEventLogs <- el: + default: + } +} + +var eventsTmplCache *template.Template +var eventsTmplOnce sync.Once + +func eventsTmpl() *template.Template { + eventsTmplOnce.Do(func() { + eventsTmplCache = template.Must(template.New("events").Funcs(template.FuncMap{ + "elapsed": elapsed, + "trimSpace": strings.TrimSpace, + }).Parse(eventsHTML)) + }) + return eventsTmplCache +} + +const eventsHTML = ` + + + events + + + + +

/debug/events

+ + + {{range $i, $fam := .Families}} + + + + {{range $j, $bucket := $.Buckets}} + {{$n := index $.Counts $i $j}} + + {{end}} + + {{end}} +
{{$fam}} + {{if $n}}{{end}} + [{{$n}} {{$bucket.String}}] + {{if $n}}{{end}} +
+ +{{if $.EventLogs}} +
+

Family: {{$.Family}}

+ +{{if $.Expanded}}{{end}} +[Summary]{{if $.Expanded}}{{end}} + +{{if not $.Expanded}}{{end}} +[Expanded]{{if not $.Expanded}}{{end}} + + + + {{range $el := $.EventLogs}} + + + + + {{if $.Expanded}} + + + + + + {{range $el.Events}} + + + + + + {{end}} + {{end}} + {{end}} +
WhenElapsed
{{$el.When}}{{$el.ElapsedTime}}{{$el.Title}} +
{{$el.Stack|trimSpace}}
{{.WhenString}}{{elapsed .Elapsed}}.{{if .IsErr}}E{{else}}.{{end}}. {{.What}}
+{{end}} + + +` diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/histogram.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/histogram.go new file mode 100644 index 0000000..9bf4286 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/histogram.go @@ -0,0 +1,365 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package trace + +// This file implements histogramming for RPC statistics collection. + +import ( + "bytes" + "fmt" + "html/template" + "log" + "math" + "sync" + + "golang.org/x/net/internal/timeseries" +) + +const ( + bucketCount = 38 +) + +// histogram keeps counts of values in buckets that are spaced +// out in powers of 2: 0-1, 2-3, 4-7... +// histogram implements timeseries.Observable +type histogram struct { + sum int64 // running total of measurements + sumOfSquares float64 // square of running total + buckets []int64 // bucketed values for histogram + value int // holds a single value as an optimization + valueCount int64 // number of values recorded for single value +} + +// AddMeasurement records a value measurement observation to the histogram. +func (h *histogram) addMeasurement(value int64) { + // TODO: assert invariant + h.sum += value + h.sumOfSquares += float64(value) * float64(value) + + bucketIndex := getBucket(value) + + if h.valueCount == 0 || (h.valueCount > 0 && h.value == bucketIndex) { + h.value = bucketIndex + h.valueCount++ + } else { + h.allocateBuckets() + h.buckets[bucketIndex]++ + } +} + +func (h *histogram) allocateBuckets() { + if h.buckets == nil { + h.buckets = make([]int64, bucketCount) + h.buckets[h.value] = h.valueCount + h.value = 0 + h.valueCount = -1 + } +} + +func log2(i int64) int { + n := 0 + for ; i >= 0x100; i >>= 8 { + n += 8 + } + for ; i > 0; i >>= 1 { + n += 1 + } + return n +} + +func getBucket(i int64) (index int) { + index = log2(i) - 1 + if index < 0 { + index = 0 + } + if index >= bucketCount { + index = bucketCount - 1 + } + return +} + +// Total returns the number of recorded observations. +func (h *histogram) total() (total int64) { + if h.valueCount >= 0 { + total = h.valueCount + } + for _, val := range h.buckets { + total += int64(val) + } + return +} + +// Average returns the average value of recorded observations. +func (h *histogram) average() float64 { + t := h.total() + if t == 0 { + return 0 + } + return float64(h.sum) / float64(t) +} + +// Variance returns the variance of recorded observations. +func (h *histogram) variance() float64 { + t := float64(h.total()) + if t == 0 { + return 0 + } + s := float64(h.sum) / t + return h.sumOfSquares/t - s*s +} + +// StandardDeviation returns the standard deviation of recorded observations. +func (h *histogram) standardDeviation() float64 { + return math.Sqrt(h.variance()) +} + +// PercentileBoundary estimates the value that the given fraction of recorded +// observations are less than. +func (h *histogram) percentileBoundary(percentile float64) int64 { + total := h.total() + + // Corner cases (make sure result is strictly less than Total()) + if total == 0 { + return 0 + } else if total == 1 { + return int64(h.average()) + } + + percentOfTotal := round(float64(total) * percentile) + var runningTotal int64 + + for i := range h.buckets { + value := h.buckets[i] + runningTotal += value + if runningTotal == percentOfTotal { + // We hit an exact bucket boundary. If the next bucket has data, it is a + // good estimate of the value. If the bucket is empty, we interpolate the + // midpoint between the next bucket's boundary and the next non-zero + // bucket. If the remaining buckets are all empty, then we use the + // boundary for the next bucket as the estimate. + j := uint8(i + 1) + min := bucketBoundary(j) + if runningTotal < total { + for h.buckets[j] == 0 { + j++ + } + } + max := bucketBoundary(j) + return min + round(float64(max-min)/2) + } else if runningTotal > percentOfTotal { + // The value is in this bucket. Interpolate the value. + delta := runningTotal - percentOfTotal + percentBucket := float64(value-delta) / float64(value) + bucketMin := bucketBoundary(uint8(i)) + nextBucketMin := bucketBoundary(uint8(i + 1)) + bucketSize := nextBucketMin - bucketMin + return bucketMin + round(percentBucket*float64(bucketSize)) + } + } + return bucketBoundary(bucketCount - 1) +} + +// Median returns the estimated median of the observed values. +func (h *histogram) median() int64 { + return h.percentileBoundary(0.5) +} + +// Add adds other to h. +func (h *histogram) Add(other timeseries.Observable) { + o := other.(*histogram) + if o.valueCount == 0 { + // Other histogram is empty + } else if h.valueCount >= 0 && o.valueCount > 0 && h.value == o.value { + // Both have a single bucketed value, aggregate them + h.valueCount += o.valueCount + } else { + // Two different values necessitate buckets in this histogram + h.allocateBuckets() + if o.valueCount >= 0 { + h.buckets[o.value] += o.valueCount + } else { + for i := range h.buckets { + h.buckets[i] += o.buckets[i] + } + } + } + h.sumOfSquares += o.sumOfSquares + h.sum += o.sum +} + +// Clear resets the histogram to an empty state, removing all observed values. +func (h *histogram) Clear() { + h.buckets = nil + h.value = 0 + h.valueCount = 0 + h.sum = 0 + h.sumOfSquares = 0 +} + +// CopyFrom copies from other, which must be a *histogram, into h. +func (h *histogram) CopyFrom(other timeseries.Observable) { + o := other.(*histogram) + if o.valueCount == -1 { + h.allocateBuckets() + copy(h.buckets, o.buckets) + } + h.sum = o.sum + h.sumOfSquares = o.sumOfSquares + h.value = o.value + h.valueCount = o.valueCount +} + +// Multiply scales the histogram by the specified ratio. +func (h *histogram) Multiply(ratio float64) { + if h.valueCount == -1 { + for i := range h.buckets { + h.buckets[i] = int64(float64(h.buckets[i]) * ratio) + } + } else { + h.valueCount = int64(float64(h.valueCount) * ratio) + } + h.sum = int64(float64(h.sum) * ratio) + h.sumOfSquares = h.sumOfSquares * ratio +} + +// New creates a new histogram. +func (h *histogram) New() timeseries.Observable { + r := new(histogram) + r.Clear() + return r +} + +func (h *histogram) String() string { + return fmt.Sprintf("%d, %f, %d, %d, %v", + h.sum, h.sumOfSquares, h.value, h.valueCount, h.buckets) +} + +// round returns the closest int64 to the argument +func round(in float64) int64 { + return int64(math.Floor(in + 0.5)) +} + +// bucketBoundary returns the first value in the bucket. +func bucketBoundary(bucket uint8) int64 { + if bucket == 0 { + return 0 + } + return 1 << bucket +} + +// bucketData holds data about a specific bucket for use in distTmpl. +type bucketData struct { + Lower, Upper int64 + N int64 + Pct, CumulativePct float64 + GraphWidth int +} + +// data holds data about a Distribution for use in distTmpl. +type data struct { + Buckets []*bucketData + Count, Median int64 + Mean, StandardDeviation float64 +} + +// maxHTMLBarWidth is the maximum width of the HTML bar for visualizing buckets. +const maxHTMLBarWidth = 350.0 + +// newData returns data representing h for use in distTmpl. +func (h *histogram) newData() *data { + // Force the allocation of buckets to simplify the rendering implementation + h.allocateBuckets() + // We scale the bars on the right so that the largest bar is + // maxHTMLBarWidth pixels in width. + maxBucket := int64(0) + for _, n := range h.buckets { + if n > maxBucket { + maxBucket = n + } + } + total := h.total() + barsizeMult := maxHTMLBarWidth / float64(maxBucket) + var pctMult float64 + if total == 0 { + pctMult = 1.0 + } else { + pctMult = 100.0 / float64(total) + } + + buckets := make([]*bucketData, len(h.buckets)) + runningTotal := int64(0) + for i, n := range h.buckets { + if n == 0 { + continue + } + runningTotal += n + var upperBound int64 + if i < bucketCount-1 { + upperBound = bucketBoundary(uint8(i + 1)) + } else { + upperBound = math.MaxInt64 + } + buckets[i] = &bucketData{ + Lower: bucketBoundary(uint8(i)), + Upper: upperBound, + N: n, + Pct: float64(n) * pctMult, + CumulativePct: float64(runningTotal) * pctMult, + GraphWidth: int(float64(n) * barsizeMult), + } + } + return &data{ + Buckets: buckets, + Count: total, + Median: h.median(), + Mean: h.average(), + StandardDeviation: h.standardDeviation(), + } +} + +func (h *histogram) html() template.HTML { + buf := new(bytes.Buffer) + if err := distTmpl().Execute(buf, h.newData()); err != nil { + buf.Reset() + log.Printf("net/trace: couldn't execute template: %v", err) + } + return template.HTML(buf.String()) +} + +var distTmplCache *template.Template +var distTmplOnce sync.Once + +func distTmpl() *template.Template { + distTmplOnce.Do(func() { + // Input: data + distTmplCache = template.Must(template.New("distTmpl").Parse(` + + + + + + + +
Count: {{.Count}}Mean: {{printf "%.0f" .Mean}}StdDev: {{printf "%.0f" .StandardDeviation}}Median: {{.Median}}
+
+ +{{range $b := .Buckets}} +{{if $b}} + + + + + + + + + +{{end}} +{{end}} +
[{{.Lower}},{{.Upper}}){{.N}}{{printf "%#.3f" .Pct}}%{{printf "%#.3f" .CumulativePct}}%
+`)) + }) + return distTmplCache +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/trace.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/trace.go new file mode 100644 index 0000000..3ebf6f2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/net/trace/trace.go @@ -0,0 +1,1130 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package trace implements tracing of requests and long-lived objects. +It exports HTTP interfaces on /debug/requests and /debug/events. + +A trace.Trace provides tracing for short-lived objects, usually requests. +A request handler might be implemented like this: + + func fooHandler(w http.ResponseWriter, req *http.Request) { + tr := trace.New("mypkg.Foo", req.URL.Path) + defer tr.Finish() + ... + tr.LazyPrintf("some event %q happened", str) + ... + if err := somethingImportant(); err != nil { + tr.LazyPrintf("somethingImportant failed: %v", err) + tr.SetError() + } + } + +The /debug/requests HTTP endpoint organizes the traces by family, +errors, and duration. It also provides histogram of request duration +for each family. + +A trace.EventLog provides tracing for long-lived objects, such as RPC +connections. + + // A Fetcher fetches URL paths for a single domain. + type Fetcher struct { + domain string + events trace.EventLog + } + + func NewFetcher(domain string) *Fetcher { + return &Fetcher{ + domain, + trace.NewEventLog("mypkg.Fetcher", domain), + } + } + + func (f *Fetcher) Fetch(path string) (string, error) { + resp, err := http.Get("http://" + f.domain + "/" + path) + if err != nil { + f.events.Errorf("Get(%q) = %v", path, err) + return "", err + } + f.events.Printf("Get(%q) = %s", path, resp.Status) + ... + } + + func (f *Fetcher) Close() error { + f.events.Finish() + return nil + } + +The /debug/events HTTP endpoint organizes the event logs by family and +by time since the last error. The expanded view displays recent log +entries and the log's call stack. +*/ +package trace // import "golang.org/x/net/trace" + +import ( + "bytes" + "context" + "fmt" + "html/template" + "io" + "log" + "net" + "net/http" + "net/url" + "runtime" + "sort" + "strconv" + "sync" + "sync/atomic" + "time" + + "golang.org/x/net/internal/timeseries" +) + +// DebugUseAfterFinish controls whether to debug uses of Trace values after finishing. +// FOR DEBUGGING ONLY. This will slow down the program. +var DebugUseAfterFinish = false + +// HTTP ServeMux paths. +const ( + debugRequestsPath = "/debug/requests" + debugEventsPath = "/debug/events" +) + +// AuthRequest determines whether a specific request is permitted to load the +// /debug/requests or /debug/events pages. +// +// It returns two bools; the first indicates whether the page may be viewed at all, +// and the second indicates whether sensitive events will be shown. +// +// AuthRequest may be replaced by a program to customize its authorization requirements. +// +// The default AuthRequest function returns (true, true) if and only if the request +// comes from localhost/127.0.0.1/[::1]. +var AuthRequest = func(req *http.Request) (any, sensitive bool) { + // RemoteAddr is commonly in the form "IP" or "IP:port". + // If it is in the form "IP:port", split off the port. + host, _, err := net.SplitHostPort(req.RemoteAddr) + if err != nil { + host = req.RemoteAddr + } + switch host { + case "localhost", "127.0.0.1", "::1": + return true, true + default: + return false, false + } +} + +func init() { + _, pat := http.DefaultServeMux.Handler(&http.Request{URL: &url.URL{Path: debugRequestsPath}}) + if pat == debugRequestsPath { + panic("/debug/requests is already registered. You may have two independent copies of " + + "golang.org/x/net/trace in your binary, trying to maintain separate state. This may " + + "involve a vendored copy of golang.org/x/net/trace.") + } + + // TODO(jbd): Serve Traces from /debug/traces in the future? + // There is no requirement for a request to be present to have traces. + http.HandleFunc(debugRequestsPath, Traces) + http.HandleFunc(debugEventsPath, Events) +} + +// NewContext returns a copy of the parent context +// and associates it with a Trace. +func NewContext(ctx context.Context, tr Trace) context.Context { + return context.WithValue(ctx, contextKey, tr) +} + +// FromContext returns the Trace bound to the context, if any. +func FromContext(ctx context.Context) (tr Trace, ok bool) { + tr, ok = ctx.Value(contextKey).(Trace) + return +} + +// Traces responds with traces from the program. +// The package initialization registers it in http.DefaultServeMux +// at /debug/requests. +// +// It performs authorization by running AuthRequest. +func Traces(w http.ResponseWriter, req *http.Request) { + any, sensitive := AuthRequest(req) + if !any { + http.Error(w, "not allowed", http.StatusUnauthorized) + return + } + w.Header().Set("Content-Type", "text/html; charset=utf-8") + Render(w, req, sensitive) +} + +// Events responds with a page of events collected by EventLogs. +// The package initialization registers it in http.DefaultServeMux +// at /debug/events. +// +// It performs authorization by running AuthRequest. +func Events(w http.ResponseWriter, req *http.Request) { + any, sensitive := AuthRequest(req) + if !any { + http.Error(w, "not allowed", http.StatusUnauthorized) + return + } + w.Header().Set("Content-Type", "text/html; charset=utf-8") + RenderEvents(w, req, sensitive) +} + +// Render renders the HTML page typically served at /debug/requests. +// It does not do any auth checking. The request may be nil. +// +// Most users will use the Traces handler. +func Render(w io.Writer, req *http.Request, sensitive bool) { + data := &struct { + Families []string + ActiveTraceCount map[string]int + CompletedTraces map[string]*family + + // Set when a bucket has been selected. + Traces traceList + Family string + Bucket int + Expanded bool + Traced bool + Active bool + ShowSensitive bool // whether to show sensitive events + + Histogram template.HTML + HistogramWindow string // e.g. "last minute", "last hour", "all time" + + // If non-zero, the set of traces is a partial set, + // and this is the total number. + Total int + }{ + CompletedTraces: completedTraces, + } + + data.ShowSensitive = sensitive + if req != nil { + // Allow show_sensitive=0 to force hiding of sensitive data for testing. + // This only goes one way; you can't use show_sensitive=1 to see things. + if req.FormValue("show_sensitive") == "0" { + data.ShowSensitive = false + } + + if exp, err := strconv.ParseBool(req.FormValue("exp")); err == nil { + data.Expanded = exp + } + if exp, err := strconv.ParseBool(req.FormValue("rtraced")); err == nil { + data.Traced = exp + } + } + + completedMu.RLock() + data.Families = make([]string, 0, len(completedTraces)) + for fam := range completedTraces { + data.Families = append(data.Families, fam) + } + completedMu.RUnlock() + sort.Strings(data.Families) + + // We are careful here to minimize the time spent locking activeMu, + // since that lock is required every time an RPC starts and finishes. + data.ActiveTraceCount = make(map[string]int, len(data.Families)) + activeMu.RLock() + for fam, s := range activeTraces { + data.ActiveTraceCount[fam] = s.Len() + } + activeMu.RUnlock() + + var ok bool + data.Family, data.Bucket, ok = parseArgs(req) + switch { + case !ok: + // No-op + case data.Bucket == -1: + data.Active = true + n := data.ActiveTraceCount[data.Family] + data.Traces = getActiveTraces(data.Family) + if len(data.Traces) < n { + data.Total = n + } + case data.Bucket < bucketsPerFamily: + if b := lookupBucket(data.Family, data.Bucket); b != nil { + data.Traces = b.Copy(data.Traced) + } + default: + if f := getFamily(data.Family, false); f != nil { + var obs timeseries.Observable + f.LatencyMu.RLock() + switch o := data.Bucket - bucketsPerFamily; o { + case 0: + obs = f.Latency.Minute() + data.HistogramWindow = "last minute" + case 1: + obs = f.Latency.Hour() + data.HistogramWindow = "last hour" + case 2: + obs = f.Latency.Total() + data.HistogramWindow = "all time" + } + f.LatencyMu.RUnlock() + if obs != nil { + data.Histogram = obs.(*histogram).html() + } + } + } + + if data.Traces != nil { + defer data.Traces.Free() + sort.Sort(data.Traces) + } + + completedMu.RLock() + defer completedMu.RUnlock() + if err := pageTmpl().ExecuteTemplate(w, "Page", data); err != nil { + log.Printf("net/trace: Failed executing template: %v", err) + } +} + +func parseArgs(req *http.Request) (fam string, b int, ok bool) { + if req == nil { + return "", 0, false + } + fam, bStr := req.FormValue("fam"), req.FormValue("b") + if fam == "" || bStr == "" { + return "", 0, false + } + b, err := strconv.Atoi(bStr) + if err != nil || b < -1 { + return "", 0, false + } + + return fam, b, true +} + +func lookupBucket(fam string, b int) *traceBucket { + f := getFamily(fam, false) + if f == nil || b < 0 || b >= len(f.Buckets) { + return nil + } + return f.Buckets[b] +} + +type contextKeyT string + +var contextKey = contextKeyT("golang.org/x/net/trace.Trace") + +// Trace represents an active request. +type Trace interface { + // LazyLog adds x to the event log. It will be evaluated each time the + // /debug/requests page is rendered. Any memory referenced by x will be + // pinned until the trace is finished and later discarded. + LazyLog(x fmt.Stringer, sensitive bool) + + // LazyPrintf evaluates its arguments with fmt.Sprintf each time the + // /debug/requests page is rendered. Any memory referenced by a will be + // pinned until the trace is finished and later discarded. + LazyPrintf(format string, a ...interface{}) + + // SetError declares that this trace resulted in an error. + SetError() + + // SetRecycler sets a recycler for the trace. + // f will be called for each event passed to LazyLog at a time when + // it is no longer required, whether while the trace is still active + // and the event is discarded, or when a completed trace is discarded. + SetRecycler(f func(interface{})) + + // SetTraceInfo sets the trace info for the trace. + // This is currently unused. + SetTraceInfo(traceID, spanID uint64) + + // SetMaxEvents sets the maximum number of events that will be stored + // in the trace. This has no effect if any events have already been + // added to the trace. + SetMaxEvents(m int) + + // Finish declares that this trace is complete. + // The trace should not be used after calling this method. + Finish() +} + +type lazySprintf struct { + format string + a []interface{} +} + +func (l *lazySprintf) String() string { + return fmt.Sprintf(l.format, l.a...) +} + +// New returns a new Trace with the specified family and title. +func New(family, title string) Trace { + tr := newTrace() + tr.ref() + tr.Family, tr.Title = family, title + tr.Start = time.Now() + tr.maxEvents = maxEventsPerTrace + tr.events = tr.eventsBuf[:0] + + activeMu.RLock() + s := activeTraces[tr.Family] + activeMu.RUnlock() + if s == nil { + activeMu.Lock() + s = activeTraces[tr.Family] // check again + if s == nil { + s = new(traceSet) + activeTraces[tr.Family] = s + } + activeMu.Unlock() + } + s.Add(tr) + + // Trigger allocation of the completed trace structure for this family. + // This will cause the family to be present in the request page during + // the first trace of this family. We don't care about the return value, + // nor is there any need for this to run inline, so we execute it in its + // own goroutine, but only if the family isn't allocated yet. + completedMu.RLock() + if _, ok := completedTraces[tr.Family]; !ok { + go allocFamily(tr.Family) + } + completedMu.RUnlock() + + return tr +} + +func (tr *trace) Finish() { + elapsed := time.Now().Sub(tr.Start) + tr.mu.Lock() + tr.Elapsed = elapsed + tr.mu.Unlock() + + if DebugUseAfterFinish { + buf := make([]byte, 4<<10) // 4 KB should be enough + n := runtime.Stack(buf, false) + tr.finishStack = buf[:n] + } + + activeMu.RLock() + m := activeTraces[tr.Family] + activeMu.RUnlock() + m.Remove(tr) + + f := getFamily(tr.Family, true) + tr.mu.RLock() // protects tr fields in Cond.match calls + for _, b := range f.Buckets { + if b.Cond.match(tr) { + b.Add(tr) + } + } + tr.mu.RUnlock() + + // Add a sample of elapsed time as microseconds to the family's timeseries + h := new(histogram) + h.addMeasurement(elapsed.Nanoseconds() / 1e3) + f.LatencyMu.Lock() + f.Latency.Add(h) + f.LatencyMu.Unlock() + + tr.unref() // matches ref in New +} + +const ( + bucketsPerFamily = 9 + tracesPerBucket = 10 + maxActiveTraces = 20 // Maximum number of active traces to show. + maxEventsPerTrace = 10 + numHistogramBuckets = 38 +) + +var ( + // The active traces. + activeMu sync.RWMutex + activeTraces = make(map[string]*traceSet) // family -> traces + + // Families of completed traces. + completedMu sync.RWMutex + completedTraces = make(map[string]*family) // family -> traces +) + +type traceSet struct { + mu sync.RWMutex + m map[*trace]bool + + // We could avoid the entire map scan in FirstN by having a slice of all the traces + // ordered by start time, and an index into that from the trace struct, with a periodic + // repack of the slice after enough traces finish; we could also use a skip list or similar. + // However, that would shift some of the expense from /debug/requests time to RPC time, + // which is probably the wrong trade-off. +} + +func (ts *traceSet) Len() int { + ts.mu.RLock() + defer ts.mu.RUnlock() + return len(ts.m) +} + +func (ts *traceSet) Add(tr *trace) { + ts.mu.Lock() + if ts.m == nil { + ts.m = make(map[*trace]bool) + } + ts.m[tr] = true + ts.mu.Unlock() +} + +func (ts *traceSet) Remove(tr *trace) { + ts.mu.Lock() + delete(ts.m, tr) + ts.mu.Unlock() +} + +// FirstN returns the first n traces ordered by time. +func (ts *traceSet) FirstN(n int) traceList { + ts.mu.RLock() + defer ts.mu.RUnlock() + + if n > len(ts.m) { + n = len(ts.m) + } + trl := make(traceList, 0, n) + + // Fast path for when no selectivity is needed. + if n == len(ts.m) { + for tr := range ts.m { + tr.ref() + trl = append(trl, tr) + } + sort.Sort(trl) + return trl + } + + // Pick the oldest n traces. + // This is inefficient. See the comment in the traceSet struct. + for tr := range ts.m { + // Put the first n traces into trl in the order they occur. + // When we have n, sort trl, and thereafter maintain its order. + if len(trl) < n { + tr.ref() + trl = append(trl, tr) + if len(trl) == n { + // This is guaranteed to happen exactly once during this loop. + sort.Sort(trl) + } + continue + } + if tr.Start.After(trl[n-1].Start) { + continue + } + + // Find where to insert this one. + tr.ref() + i := sort.Search(n, func(i int) bool { return trl[i].Start.After(tr.Start) }) + trl[n-1].unref() + copy(trl[i+1:], trl[i:]) + trl[i] = tr + } + + return trl +} + +func getActiveTraces(fam string) traceList { + activeMu.RLock() + s := activeTraces[fam] + activeMu.RUnlock() + if s == nil { + return nil + } + return s.FirstN(maxActiveTraces) +} + +func getFamily(fam string, allocNew bool) *family { + completedMu.RLock() + f := completedTraces[fam] + completedMu.RUnlock() + if f == nil && allocNew { + f = allocFamily(fam) + } + return f +} + +func allocFamily(fam string) *family { + completedMu.Lock() + defer completedMu.Unlock() + f := completedTraces[fam] + if f == nil { + f = newFamily() + completedTraces[fam] = f + } + return f +} + +// family represents a set of trace buckets and associated latency information. +type family struct { + // traces may occur in multiple buckets. + Buckets [bucketsPerFamily]*traceBucket + + // latency time series + LatencyMu sync.RWMutex + Latency *timeseries.MinuteHourSeries +} + +func newFamily() *family { + return &family{ + Buckets: [bucketsPerFamily]*traceBucket{ + {Cond: minCond(0)}, + {Cond: minCond(50 * time.Millisecond)}, + {Cond: minCond(100 * time.Millisecond)}, + {Cond: minCond(200 * time.Millisecond)}, + {Cond: minCond(500 * time.Millisecond)}, + {Cond: minCond(1 * time.Second)}, + {Cond: minCond(10 * time.Second)}, + {Cond: minCond(100 * time.Second)}, + {Cond: errorCond{}}, + }, + Latency: timeseries.NewMinuteHourSeries(func() timeseries.Observable { return new(histogram) }), + } +} + +// traceBucket represents a size-capped bucket of historic traces, +// along with a condition for a trace to belong to the bucket. +type traceBucket struct { + Cond cond + + // Ring buffer implementation of a fixed-size FIFO queue. + mu sync.RWMutex + buf [tracesPerBucket]*trace + start int // < tracesPerBucket + length int // <= tracesPerBucket +} + +func (b *traceBucket) Add(tr *trace) { + b.mu.Lock() + defer b.mu.Unlock() + + i := b.start + b.length + if i >= tracesPerBucket { + i -= tracesPerBucket + } + if b.length == tracesPerBucket { + // "Remove" an element from the bucket. + b.buf[i].unref() + b.start++ + if b.start == tracesPerBucket { + b.start = 0 + } + } + b.buf[i] = tr + if b.length < tracesPerBucket { + b.length++ + } + tr.ref() +} + +// Copy returns a copy of the traces in the bucket. +// If tracedOnly is true, only the traces with trace information will be returned. +// The logs will be ref'd before returning; the caller should call +// the Free method when it is done with them. +// TODO(dsymonds): keep track of traced requests in separate buckets. +func (b *traceBucket) Copy(tracedOnly bool) traceList { + b.mu.RLock() + defer b.mu.RUnlock() + + trl := make(traceList, 0, b.length) + for i, x := 0, b.start; i < b.length; i++ { + tr := b.buf[x] + if !tracedOnly || tr.spanID != 0 { + tr.ref() + trl = append(trl, tr) + } + x++ + if x == b.length { + x = 0 + } + } + return trl +} + +func (b *traceBucket) Empty() bool { + b.mu.RLock() + defer b.mu.RUnlock() + return b.length == 0 +} + +// cond represents a condition on a trace. +type cond interface { + match(t *trace) bool + String() string +} + +type minCond time.Duration + +func (m minCond) match(t *trace) bool { return t.Elapsed >= time.Duration(m) } +func (m minCond) String() string { return fmt.Sprintf("≥%gs", time.Duration(m).Seconds()) } + +type errorCond struct{} + +func (e errorCond) match(t *trace) bool { return t.IsError } +func (e errorCond) String() string { return "errors" } + +type traceList []*trace + +// Free calls unref on each element of the list. +func (trl traceList) Free() { + for _, t := range trl { + t.unref() + } +} + +// traceList may be sorted in reverse chronological order. +func (trl traceList) Len() int { return len(trl) } +func (trl traceList) Less(i, j int) bool { return trl[i].Start.After(trl[j].Start) } +func (trl traceList) Swap(i, j int) { trl[i], trl[j] = trl[j], trl[i] } + +// An event is a timestamped log entry in a trace. +type event struct { + When time.Time + Elapsed time.Duration // since previous event in trace + NewDay bool // whether this event is on a different day to the previous event + Recyclable bool // whether this event was passed via LazyLog + Sensitive bool // whether this event contains sensitive information + What interface{} // string or fmt.Stringer +} + +// WhenString returns a string representation of the elapsed time of the event. +// It will include the date if midnight was crossed. +func (e event) WhenString() string { + if e.NewDay { + return e.When.Format("2006/01/02 15:04:05.000000") + } + return e.When.Format("15:04:05.000000") +} + +// discarded represents a number of discarded events. +// It is stored as *discarded to make it easier to update in-place. +type discarded int + +func (d *discarded) String() string { + return fmt.Sprintf("(%d events discarded)", int(*d)) +} + +// trace represents an active or complete request, +// either sent or received by this program. +type trace struct { + // Family is the top-level grouping of traces to which this belongs. + Family string + + // Title is the title of this trace. + Title string + + // Start time of the this trace. + Start time.Time + + mu sync.RWMutex + events []event // Append-only sequence of events (modulo discards). + maxEvents int + recycler func(interface{}) + IsError bool // Whether this trace resulted in an error. + Elapsed time.Duration // Elapsed time for this trace, zero while active. + traceID uint64 // Trace information if non-zero. + spanID uint64 + + refs int32 // how many buckets this is in + disc discarded // scratch space to avoid allocation + + finishStack []byte // where finish was called, if DebugUseAfterFinish is set + + eventsBuf [4]event // preallocated buffer in case we only log a few events +} + +func (tr *trace) reset() { + // Clear all but the mutex. Mutexes may not be copied, even when unlocked. + tr.Family = "" + tr.Title = "" + tr.Start = time.Time{} + + tr.mu.Lock() + tr.Elapsed = 0 + tr.traceID = 0 + tr.spanID = 0 + tr.IsError = false + tr.maxEvents = 0 + tr.events = nil + tr.recycler = nil + tr.mu.Unlock() + + tr.refs = 0 + tr.disc = 0 + tr.finishStack = nil + for i := range tr.eventsBuf { + tr.eventsBuf[i] = event{} + } +} + +// delta returns the elapsed time since the last event or the trace start, +// and whether it spans midnight. +// L >= tr.mu +func (tr *trace) delta(t time.Time) (time.Duration, bool) { + if len(tr.events) == 0 { + return t.Sub(tr.Start), false + } + prev := tr.events[len(tr.events)-1].When + return t.Sub(prev), prev.Day() != t.Day() +} + +func (tr *trace) addEvent(x interface{}, recyclable, sensitive bool) { + if DebugUseAfterFinish && tr.finishStack != nil { + buf := make([]byte, 4<<10) // 4 KB should be enough + n := runtime.Stack(buf, false) + log.Printf("net/trace: trace used after finish:\nFinished at:\n%s\nUsed at:\n%s", tr.finishStack, buf[:n]) + } + + /* + NOTE TO DEBUGGERS + + If you are here because your program panicked in this code, + it is almost definitely the fault of code using this package, + and very unlikely to be the fault of this code. + + The most likely scenario is that some code elsewhere is using + a trace.Trace after its Finish method is called. + You can temporarily set the DebugUseAfterFinish var + to help discover where that is; do not leave that var set, + since it makes this package much less efficient. + */ + + e := event{When: time.Now(), What: x, Recyclable: recyclable, Sensitive: sensitive} + tr.mu.Lock() + e.Elapsed, e.NewDay = tr.delta(e.When) + if len(tr.events) < tr.maxEvents { + tr.events = append(tr.events, e) + } else { + // Discard the middle events. + di := int((tr.maxEvents - 1) / 2) + if d, ok := tr.events[di].What.(*discarded); ok { + (*d)++ + } else { + // disc starts at two to count for the event it is replacing, + // plus the next one that we are about to drop. + tr.disc = 2 + if tr.recycler != nil && tr.events[di].Recyclable { + go tr.recycler(tr.events[di].What) + } + tr.events[di].What = &tr.disc + } + // The timestamp of the discarded meta-event should be + // the time of the last event it is representing. + tr.events[di].When = tr.events[di+1].When + + if tr.recycler != nil && tr.events[di+1].Recyclable { + go tr.recycler(tr.events[di+1].What) + } + copy(tr.events[di+1:], tr.events[di+2:]) + tr.events[tr.maxEvents-1] = e + } + tr.mu.Unlock() +} + +func (tr *trace) LazyLog(x fmt.Stringer, sensitive bool) { + tr.addEvent(x, true, sensitive) +} + +func (tr *trace) LazyPrintf(format string, a ...interface{}) { + tr.addEvent(&lazySprintf{format, a}, false, false) +} + +func (tr *trace) SetError() { + tr.mu.Lock() + tr.IsError = true + tr.mu.Unlock() +} + +func (tr *trace) SetRecycler(f func(interface{})) { + tr.mu.Lock() + tr.recycler = f + tr.mu.Unlock() +} + +func (tr *trace) SetTraceInfo(traceID, spanID uint64) { + tr.mu.Lock() + tr.traceID, tr.spanID = traceID, spanID + tr.mu.Unlock() +} + +func (tr *trace) SetMaxEvents(m int) { + tr.mu.Lock() + // Always keep at least three events: first, discarded count, last. + if len(tr.events) == 0 && m > 3 { + tr.maxEvents = m + } + tr.mu.Unlock() +} + +func (tr *trace) ref() { + atomic.AddInt32(&tr.refs, 1) +} + +func (tr *trace) unref() { + if atomic.AddInt32(&tr.refs, -1) == 0 { + tr.mu.RLock() + if tr.recycler != nil { + // freeTrace clears tr, so we hold tr.recycler and tr.events here. + go func(f func(interface{}), es []event) { + for _, e := range es { + if e.Recyclable { + f(e.What) + } + } + }(tr.recycler, tr.events) + } + tr.mu.RUnlock() + + freeTrace(tr) + } +} + +func (tr *trace) When() string { + return tr.Start.Format("2006/01/02 15:04:05.000000") +} + +func (tr *trace) ElapsedTime() string { + tr.mu.RLock() + t := tr.Elapsed + tr.mu.RUnlock() + + if t == 0 { + // Active trace. + t = time.Since(tr.Start) + } + return fmt.Sprintf("%.6f", t.Seconds()) +} + +func (tr *trace) Events() []event { + tr.mu.RLock() + defer tr.mu.RUnlock() + return tr.events +} + +var traceFreeList = make(chan *trace, 1000) // TODO(dsymonds): Use sync.Pool? + +// newTrace returns a trace ready to use. +func newTrace() *trace { + select { + case tr := <-traceFreeList: + return tr + default: + return new(trace) + } +} + +// freeTrace adds tr to traceFreeList if there's room. +// This is non-blocking. +func freeTrace(tr *trace) { + if DebugUseAfterFinish { + return // never reuse + } + tr.reset() + select { + case traceFreeList <- tr: + default: + } +} + +func elapsed(d time.Duration) string { + b := []byte(fmt.Sprintf("%.6f", d.Seconds())) + + // For subsecond durations, blank all zeros before decimal point, + // and all zeros between the decimal point and the first non-zero digit. + if d < time.Second { + dot := bytes.IndexByte(b, '.') + for i := 0; i < dot; i++ { + b[i] = ' ' + } + for i := dot + 1; i < len(b); i++ { + if b[i] == '0' { + b[i] = ' ' + } else { + break + } + } + } + + return string(b) +} + +var pageTmplCache *template.Template +var pageTmplOnce sync.Once + +func pageTmpl() *template.Template { + pageTmplOnce.Do(func() { + pageTmplCache = template.Must(template.New("Page").Funcs(template.FuncMap{ + "elapsed": elapsed, + "add": func(a, b int) int { return a + b }, + }).Parse(pageHTML)) + }) + return pageTmplCache +} + +const pageHTML = ` +{{template "Prolog" .}} +{{template "StatusTable" .}} +{{template "Epilog" .}} + +{{define "Prolog"}} + + + /debug/requests + + + + +

/debug/requests

+{{end}} {{/* end of Prolog */}} + +{{define "StatusTable"}} + + {{range $fam := .Families}} + + + + {{$n := index $.ActiveTraceCount $fam}} + + + {{$f := index $.CompletedTraces $fam}} + {{range $i, $b := $f.Buckets}} + {{$empty := $b.Empty}} + + {{end}} + + {{$nb := len $f.Buckets}} + + + + + + {{end}} +
{{$fam}} + {{if $n}}{{end}} + [{{$n}} active] + {{if $n}}{{end}} + + {{if not $empty}}{{end}} + [{{.Cond}}] + {{if not $empty}}{{end}} + + [minute] + + [hour] + + [total] +
+{{end}} {{/* end of StatusTable */}} + +{{define "Epilog"}} +{{if $.Traces}} +
+

Family: {{$.Family}}

+ +{{if or $.Expanded $.Traced}} + [Normal/Summary] +{{else}} + [Normal/Summary] +{{end}} + +{{if or (not $.Expanded) $.Traced}} + [Normal/Expanded] +{{else}} + [Normal/Expanded] +{{end}} + +{{if not $.Active}} + {{if or $.Expanded (not $.Traced)}} + [Traced/Summary] + {{else}} + [Traced/Summary] + {{end}} + {{if or (not $.Expanded) (not $.Traced)}} + [Traced/Expanded] + {{else}} + [Traced/Expanded] + {{end}} +{{end}} + +{{if $.Total}} +

Showing {{len $.Traces}} of {{$.Total}} traces.

+{{end}} + + + + + {{range $tr := $.Traces}} + + + + + {{/* TODO: include traceID/spanID */}} + + {{if $.Expanded}} + {{range $tr.Events}} + + + + + + {{end}} + {{end}} + {{end}} +
+ {{if $.Active}}Active{{else}}Completed{{end}} Requests +
WhenElapsed (s)
{{$tr.When}}{{$tr.ElapsedTime}}{{$tr.Title}}
{{.WhenString}}{{elapsed .Elapsed}}{{if or $.ShowSensitive (not .Sensitive)}}... {{.What}}{{else}}[redacted]{{end}}
+{{end}} {{/* if $.Traces */}} + +{{if $.Histogram}} +

Latency (µs) of {{$.Family}} over {{$.HistogramWindow}}

+{{$.Histogram}} +{{end}} {{/* if $.Histogram */}} + + + +{{end}} {{/* end of Epilog */}} +` diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/AUTHORS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/AUTHORS new file mode 100644 index 0000000..15167cd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/CONTRIBUTORS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/CONTRIBUTORS new file mode 100644 index 0000000..1c4577e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/PATENTS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/PATENTS new file mode 100644 index 0000000..7330990 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google 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, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/.gitignore b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/.gitignore new file mode 100644 index 0000000..e3e0fc6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/.gitignore @@ -0,0 +1,2 @@ +_obj/ +unix.test diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/README.md new file mode 100644 index 0000000..eb2f78a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/README.md @@ -0,0 +1,173 @@ +# Building `sys/unix` + +The sys/unix package provides access to the raw system call interface of the +underlying operating system. See: https://godoc.org/golang.org/x/sys/unix + +Porting Go to a new architecture/OS combination or adding syscalls, types, or +constants to an existing architecture/OS pair requires some manual effort; +however, there are tools that automate much of the process. + +## Build Systems + +There are currently two ways we generate the necessary files. We are currently +migrating the build system to use containers so the builds are reproducible. +This is being done on an OS-by-OS basis. Please update this documentation as +components of the build system change. + +### Old Build System (currently for `GOOS != "linux"`) + +The old build system generates the Go files based on the C header files +present on your system. This means that files +for a given GOOS/GOARCH pair must be generated on a system with that OS and +architecture. This also means that the generated code can differ from system +to system, based on differences in the header files. + +To avoid this, if you are using the old build system, only generate the Go +files on an installation with unmodified header files. It is also important to +keep track of which version of the OS the files were generated from (ex. +Darwin 14 vs Darwin 15). This makes it easier to track the progress of changes +and have each OS upgrade correspond to a single change. + +To build the files for your current OS and architecture, make sure GOOS and +GOARCH are set correctly and run `mkall.sh`. This will generate the files for +your specific system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, go + +### New Build System (currently for `GOOS == "linux"`) + +The new build system uses a Docker container to generate the go files directly +from source checkouts of the kernel and various system libraries. This means +that on any platform that supports Docker, all the files using the new build +system can be generated at once, and generated files will not change based on +what the person running the scripts has installed on their computer. + +The OS specific files for the new build system are located in the `${GOOS}` +directory, and the build is coordinated by the `${GOOS}/mkall.go` program. When +the kernel or system library updates, modify the Dockerfile at +`${GOOS}/Dockerfile` to checkout the new release of the source. + +To build all the files under the new build system, you must be on an amd64/Linux +system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will +then generate all of the files for all of the GOOS/GOARCH pairs in the new build +system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, go, docker + +## Component files + +This section describes the various files used in the code generation process. +It also contains instructions on how to modify these files to add a new +architecture/OS or to add additional syscalls, types, or constants. Note that +if you are using the new build system, the scripts/programs cannot be called normally. +They must be called from within the docker container. + +### asm files + +The hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system +call dispatch. There are three entry points: +``` + func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) + func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) + func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) +``` +The first and second are the standard ones; they differ only in how many +arguments can be passed to the kernel. The third is for low-level use by the +ForkExec wrapper. Unlike the first two, it does not call into the scheduler to +let it know that a system call is running. + +When porting Go to an new architecture/OS, this file must be implemented for +each GOOS/GOARCH pair. + +### mksysnum + +Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go` +for the old system). This program takes in a list of header files containing the +syscall number declarations and parses them to produce the corresponding list of +Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated +constants. + +Adding new syscall numbers is mostly done by running the build on a sufficiently +new installation of the target OS (or updating the source checkouts for the +new build system). However, depending on the OS, you make need to update the +parsing in mksysnum. + +### mksyscall.go + +The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are +hand-written Go files which implement system calls (for unix, the specific OS, +or the specific OS/Architecture pair respectively) that need special handling +and list `//sys` comments giving prototypes for ones that can be generated. + +The mksyscall.go program takes the `//sys` and `//sysnb` comments and converts +them into syscalls. This requires the name of the prototype in the comment to +match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function +prototype can be exported (capitalized) or not. + +Adding a new syscall often just requires adding a new `//sys` function prototype +with the desired arguments and a capitalized name so it is exported. However, if +you want the interface to the syscall to be different, often one will make an +unexported `//sys` prototype, an then write a custom wrapper in +`syscall_${GOOS}.go`. + +### types files + +For each OS, there is a hand-written Go file at `${GOOS}/types.go` (or +`types_${GOOS}.go` on the old system). This file includes standard C headers and +creates Go type aliases to the corresponding C types. The file is then fed +through godef to get the Go compatible definitions. Finally, the generated code +is fed though mkpost.go to format the code correctly and remove any hidden or +private identifiers. This cleaned-up code is written to +`ztypes_${GOOS}_${GOARCH}.go`. + +The hardest part about preparing this file is figuring out which headers to +include and which symbols need to be `#define`d to get the actual data +structures that pass through to the kernel system calls. Some C libraries +preset alternate versions for binary compatibility and translate them on the +way in and out of system calls, but there is almost always a `#define` that can +get the real ones. +See `types_darwin.go` and `linux/types.go` for examples. + +To add a new type, add in the necessary include statement at the top of the +file (if it is not already there) and add in a type alias line. Note that if +your type is significantly different on different architectures, you may need +some `#if/#elif` macros in your include statements. + +### mkerrors.sh + +This script is used to generate the system's various constants. This doesn't +just include the error numbers and error strings, but also the signal numbers +an a wide variety of miscellaneous constants. The constants come from the list +of include files in the `includes_${uname}` variable. A regex then picks out +the desired `#define` statements, and generates the corresponding Go constants. +The error numbers and strings are generated from `#include `, and the +signal numbers and strings are generated from `#include `. All of +these constants are written to `zerrors_${GOOS}_${GOARCH}.go` via a C program, +`_errors.c`, which prints out all the constants. + +To add a constant, add the header that includes it to the appropriate variable. +Then, edit the regex (if necessary) to match the desired constant. Avoid making +the regex too broad to avoid matching unintended constants. + + +## Generated files + +### `zerror_${GOOS}_${GOARCH}.go` + +A file containing all of the system's generated error numbers, error strings, +signal numbers, and constants. Generated by `mkerrors.sh` (see above). + +### `zsyscall_${GOOS}_${GOARCH}.go` + +A file containing all the generated syscalls for a specific GOOS and GOARCH. +Generated by `mksyscall.go` (see above). + +### `zsysnum_${GOOS}_${GOARCH}.go` + +A list of numeric constants for all the syscall number of the specific GOOS +and GOARCH. Generated by mksysnum (see above). + +### `ztypes_${GOOS}_${GOARCH}.go` + +A file containing Go types for passing into (or returning from) syscalls. +Generated by godefs and the types file (see above). diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/affinity_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/affinity_linux.go new file mode 100644 index 0000000..72afe33 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/affinity_linux.go @@ -0,0 +1,124 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// CPU affinity functions + +package unix + +import ( + "unsafe" +) + +const cpuSetSize = _CPU_SETSIZE / _NCPUBITS + +// CPUSet represents a CPU affinity mask. +type CPUSet [cpuSetSize]cpuMask + +func schedAffinity(trap uintptr, pid int, set *CPUSet) error { + _, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set))) + if e != 0 { + return errnoErr(e) + } + return nil +} + +// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid. +// If pid is 0 the calling thread is used. +func SchedGetaffinity(pid int, set *CPUSet) error { + return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set) +} + +// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid. +// If pid is 0 the calling thread is used. +func SchedSetaffinity(pid int, set *CPUSet) error { + return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set) +} + +// Zero clears the set s, so that it contains no CPUs. +func (s *CPUSet) Zero() { + for i := range s { + s[i] = 0 + } +} + +func cpuBitsIndex(cpu int) int { + return cpu / _NCPUBITS +} + +func cpuBitsMask(cpu int) cpuMask { + return cpuMask(1 << (uint(cpu) % _NCPUBITS)) +} + +// Set adds cpu to the set s. +func (s *CPUSet) Set(cpu int) { + i := cpuBitsIndex(cpu) + if i < len(s) { + s[i] |= cpuBitsMask(cpu) + } +} + +// Clear removes cpu from the set s. +func (s *CPUSet) Clear(cpu int) { + i := cpuBitsIndex(cpu) + if i < len(s) { + s[i] &^= cpuBitsMask(cpu) + } +} + +// IsSet reports whether cpu is in the set s. +func (s *CPUSet) IsSet(cpu int) bool { + i := cpuBitsIndex(cpu) + if i < len(s) { + return s[i]&cpuBitsMask(cpu) != 0 + } + return false +} + +// Count returns the number of CPUs in the set s. +func (s *CPUSet) Count() int { + c := 0 + for _, b := range s { + c += onesCount64(uint64(b)) + } + return c +} + +// onesCount64 is a copy of Go 1.9's math/bits.OnesCount64. +// Once this package can require Go 1.9, we can delete this +// and update the caller to use bits.OnesCount64. +func onesCount64(x uint64) int { + const m0 = 0x5555555555555555 // 01010101 ... + const m1 = 0x3333333333333333 // 00110011 ... + const m2 = 0x0f0f0f0f0f0f0f0f // 00001111 ... + const m3 = 0x00ff00ff00ff00ff // etc. + const m4 = 0x0000ffff0000ffff + + // Implementation: Parallel summing of adjacent bits. + // See "Hacker's Delight", Chap. 5: Counting Bits. + // The following pattern shows the general approach: + // + // x = x>>1&(m0&m) + x&(m0&m) + // x = x>>2&(m1&m) + x&(m1&m) + // x = x>>4&(m2&m) + x&(m2&m) + // x = x>>8&(m3&m) + x&(m3&m) + // x = x>>16&(m4&m) + x&(m4&m) + // x = x>>32&(m5&m) + x&(m5&m) + // return int(x) + // + // Masking (& operations) can be left away when there's no + // danger that a field's sum will carry over into the next + // field: Since the result cannot be > 64, 8 bits is enough + // and we can ignore the masks for the shifts by 8 and up. + // Per "Hacker's Delight", the first line can be simplified + // more, but it saves at best one instruction, so we leave + // it alone for clarity. + const m = 1<<64 - 1 + x = x>>1&(m0&m) + x&(m0&m) + x = x>>2&(m1&m) + x&(m1&m) + x = (x>>4 + x) & (m2 & m) + x += x >> 8 + x += x >> 16 + x += x >> 32 + return int(x) & (1<<7 - 1) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/aliases.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/aliases.go new file mode 100644 index 0000000..951fce4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/aliases.go @@ -0,0 +1,14 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris +// +build go1.9 + +package unix + +import "syscall" + +type Signal = syscall.Signal +type Errno = syscall.Errno +type SysProcAttr = syscall.SysProcAttr diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s new file mode 100644 index 0000000..06f84b8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s @@ -0,0 +1,17 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go +// + +TEXT ·syscall6(SB),NOSPLIT,$0-88 + JMP syscall·syscall6(SB) + +TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 + JMP syscall·rawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_386.s new file mode 100644 index 0000000..8a72783 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s new file mode 100644 index 0000000..6321421 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm.s new file mode 100644 index 0000000..333242d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm.s @@ -0,0 +1,30 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo +// +build arm,darwin + +#include "textflag.h" + +// +// System call support for ARM, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s new file mode 100644 index 0000000..97e0174 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s @@ -0,0 +1,30 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo +// +build arm64,darwin + +#include "textflag.h" + +// +// System call support for AMD64, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s new file mode 100644 index 0000000..603dd57 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, DragonFly +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_386.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_386.s new file mode 100644 index 0000000..c9a0a26 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s new file mode 100644 index 0000000..3517247 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s new file mode 100644 index 0000000..9227c87 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s new file mode 100644 index 0000000..d9318cb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM64, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_386.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_386.s new file mode 100644 index 0000000..448bebb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_386.s @@ -0,0 +1,65 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for 386, Linux +// + +// See ../runtime/sys_linux_386.s for the reason why we always use int 0x80 +// instead of the glibc-specific "CALL 0x10(GS)". +#define INVOKE_SYSCALL INT $0x80 + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + CALL runtime·entersyscall(SB) + MOVL trap+0(FP), AX // syscall entry + MOVL a1+4(FP), BX + MOVL a2+8(FP), CX + MOVL a3+12(FP), DX + MOVL $0, SI + MOVL $0, DI + INVOKE_SYSCALL + MOVL AX, r1+16(FP) + MOVL DX, r2+20(FP) + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVL trap+0(FP), AX // syscall entry + MOVL a1+4(FP), BX + MOVL a2+8(FP), CX + MOVL a3+12(FP), DX + MOVL $0, SI + MOVL $0, DI + INVOKE_SYSCALL + MOVL AX, r1+16(FP) + MOVL DX, r2+20(FP) + RET + +TEXT ·socketcall(SB),NOSPLIT,$0-36 + JMP syscall·socketcall(SB) + +TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 + JMP syscall·rawsocketcall(SB) + +TEXT ·seek(SB),NOSPLIT,$0-28 + JMP syscall·seek(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_amd64.s new file mode 100644 index 0000000..c6468a9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_amd64.s @@ -0,0 +1,57 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for AMD64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + CALL runtime·entersyscall(SB) + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ $0, R10 + MOVQ $0, R8 + MOVQ $0, R9 + MOVQ trap+0(FP), AX // syscall entry + SYSCALL + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ $0, R10 + MOVQ $0, R8 + MOVQ $0, R9 + MOVQ trap+0(FP), AX // syscall entry + SYSCALL + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + RET + +TEXT ·gettimeofday(SB),NOSPLIT,$0-16 + JMP syscall·gettimeofday(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm.s new file mode 100644 index 0000000..cf0f357 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm.s @@ -0,0 +1,56 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for arm, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + BL runtime·entersyscall(SB) + MOVW trap+0(FP), R7 + MOVW a1+4(FP), R0 + MOVW a2+8(FP), R1 + MOVW a3+12(FP), R2 + MOVW $0, R3 + MOVW $0, R4 + MOVW $0, R5 + SWI $0 + MOVW R0, r1+16(FP) + MOVW $0, R0 + MOVW R0, r2+20(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVW trap+0(FP), R7 // syscall entry + MOVW a1+4(FP), R0 + MOVW a2+8(FP), R1 + MOVW a3+12(FP), R2 + SWI $0 + MOVW R0, r1+16(FP) + MOVW $0, R0 + MOVW R0, r2+20(FP) + RET + +TEXT ·seek(SB),NOSPLIT,$0-28 + B syscall·seek(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm64.s new file mode 100644 index 0000000..afe6fdf --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_arm64.s @@ -0,0 +1,52 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build arm64 +// +build !gccgo + +#include "textflag.h" + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R0 + MOVD a2+16(FP), R1 + MOVD a3+24(FP), R2 + MOVD $0, R3 + MOVD $0, R4 + MOVD $0, R5 + MOVD trap+0(FP), R8 // syscall entry + SVC + MOVD R0, r1+32(FP) // r1 + MOVD R1, r2+40(FP) // r2 + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R0 + MOVD a2+16(FP), R1 + MOVD a3+24(FP), R2 + MOVD $0, R3 + MOVD $0, R4 + MOVD $0, R5 + MOVD trap+0(FP), R8 // syscall entry + SVC + MOVD R0, r1+32(FP) + MOVD R1, r2+40(FP) + RET diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s new file mode 100644 index 0000000..ab9d638 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s @@ -0,0 +1,56 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips64 mips64le +// +build !gccgo + +#include "textflag.h" + +// +// System calls for mips64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + JAL runtime·entersyscall(SB) + MOVV a1+8(FP), R4 + MOVV a2+16(FP), R5 + MOVV a3+24(FP), R6 + MOVV R0, R7 + MOVV R0, R8 + MOVV R0, R9 + MOVV trap+0(FP), R2 // syscall entry + SYSCALL + MOVV R2, r1+32(FP) + MOVV R3, r2+40(FP) + JAL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVV a1+8(FP), R4 + MOVV a2+16(FP), R5 + MOVV a3+24(FP), R6 + MOVV R0, R7 + MOVV R0, R8 + MOVV R0, R9 + MOVV trap+0(FP), R2 // syscall entry + SYSCALL + MOVV R2, r1+32(FP) + MOVV R3, r2+40(FP) + RET diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s new file mode 100644 index 0000000..99e5399 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s @@ -0,0 +1,54 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips mipsle +// +build !gccgo + +#include "textflag.h" + +// +// System calls for mips, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + JAL runtime·entersyscall(SB) + MOVW a1+4(FP), R4 + MOVW a2+8(FP), R5 + MOVW a3+12(FP), R6 + MOVW R0, R7 + MOVW trap+0(FP), R2 // syscall entry + SYSCALL + MOVW R2, r1+16(FP) // r1 + MOVW R3, r2+20(FP) // r2 + JAL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVW a1+4(FP), R4 + MOVW a2+8(FP), R5 + MOVW a3+12(FP), R6 + MOVW trap+0(FP), R2 // syscall entry + SYSCALL + MOVW R2, r1+16(FP) + MOVW R3, r2+20(FP) + RET diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s new file mode 100644 index 0000000..88f7125 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s @@ -0,0 +1,44 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64 ppc64le +// +build !gccgo + +#include "textflag.h" + +// +// System calls for ppc64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R3 + MOVD a2+16(FP), R4 + MOVD a3+24(FP), R5 + MOVD R0, R6 + MOVD R0, R7 + MOVD R0, R8 + MOVD trap+0(FP), R9 // syscall entry + SYSCALL R9 + MOVD R3, r1+32(FP) + MOVD R4, r2+40(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R3 + MOVD a2+16(FP), R4 + MOVD a3+24(FP), R5 + MOVD R0, R6 + MOVD R0, R7 + MOVD R0, R8 + MOVD trap+0(FP), R9 // syscall entry + SYSCALL R9 + MOVD R3, r1+32(FP) + MOVD R4, r2+40(FP) + RET diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s new file mode 100644 index 0000000..6db717d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s @@ -0,0 +1,54 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build riscv64,!gccgo + +#include "textflag.h" + +// +// System calls for linux/riscv64. +// +// Where available, just jump to package syscall's implementation of +// these functions. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + CALL runtime·entersyscall(SB) + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV $0, A3 + MOV $0, A4 + MOV $0, A5 + MOV $0, A6 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) // r1 + MOV A1, r2+40(FP) // r2 + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV ZERO, A3 + MOV ZERO, A4 + MOV ZERO, A5 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) + MOV A1, r2+40(FP) + RET diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_s390x.s new file mode 100644 index 0000000..a5a863c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_linux_s390x.s @@ -0,0 +1,56 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x +// +build linux +// +build !gccgo + +#include "textflag.h" + +// +// System calls for s390x, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + BR syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + BR syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R2 + MOVD a2+16(FP), R3 + MOVD a3+24(FP), R4 + MOVD $0, R5 + MOVD $0, R6 + MOVD $0, R7 + MOVD trap+0(FP), R1 // syscall entry + SYSCALL + MOVD R2, r1+32(FP) + MOVD R3, r2+40(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + BR syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + BR syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R2 + MOVD a2+16(FP), R3 + MOVD a3+24(FP), R4 + MOVD $0, R5 + MOVD $0, R6 + MOVD $0, R7 + MOVD trap+0(FP), R1 // syscall entry + SYSCALL + MOVD R2, r1+32(FP) + MOVD R3, r2+40(FP) + RET diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_386.s new file mode 100644 index 0000000..48bdcd7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s new file mode 100644 index 0000000..2ede05c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s new file mode 100644 index 0000000..e892857 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s new file mode 100644 index 0000000..6f98ba5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM64, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_386.s new file mode 100644 index 0000000..00576f3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s new file mode 100644 index 0000000..790ef77 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s new file mode 100644 index 0000000..469bfa1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s new file mode 100644 index 0000000..0cedea3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for arm64, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s new file mode 100644 index 0000000..ded8260 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s @@ -0,0 +1,17 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go +// + +TEXT ·sysvicall6(SB),NOSPLIT,$0-88 + JMP syscall·sysvicall6(SB) + +TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 + JMP syscall·rawSysvicall6(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/bluetooth_linux.go new file mode 100644 index 0000000..6e32296 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/bluetooth_linux.go @@ -0,0 +1,35 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Bluetooth sockets and messages + +package unix + +// Bluetooth Protocols +const ( + BTPROTO_L2CAP = 0 + BTPROTO_HCI = 1 + BTPROTO_SCO = 2 + BTPROTO_RFCOMM = 3 + BTPROTO_BNEP = 4 + BTPROTO_CMTP = 5 + BTPROTO_HIDP = 6 + BTPROTO_AVDTP = 7 +) + +const ( + HCI_CHANNEL_RAW = 0 + HCI_CHANNEL_USER = 1 + HCI_CHANNEL_MONITOR = 2 + HCI_CHANNEL_CONTROL = 3 +) + +// Socketoption Level +const ( + SOL_BLUETOOTH = 0x112 + SOL_HCI = 0x0 + SOL_L2CAP = 0x6 + SOL_RFCOMM = 0x12 + SOL_SCO = 0x11 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/cap_freebsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/cap_freebsd.go new file mode 100644 index 0000000..df52048 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/cap_freebsd.go @@ -0,0 +1,195 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd + +package unix + +import ( + "errors" + "fmt" +) + +// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c + +const ( + // This is the version of CapRights this package understands. See C implementation for parallels. + capRightsGoVersion = CAP_RIGHTS_VERSION_00 + capArSizeMin = CAP_RIGHTS_VERSION_00 + 2 + capArSizeMax = capRightsGoVersion + 2 +) + +var ( + bit2idx = []int{ + -1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, + 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + } +) + +func capidxbit(right uint64) int { + return int((right >> 57) & 0x1f) +} + +func rightToIndex(right uint64) (int, error) { + idx := capidxbit(right) + if idx < 0 || idx >= len(bit2idx) { + return -2, fmt.Errorf("index for right 0x%x out of range", right) + } + return bit2idx[idx], nil +} + +func caprver(right uint64) int { + return int(right >> 62) +} + +func capver(rights *CapRights) int { + return caprver(rights.Rights[0]) +} + +func caparsize(rights *CapRights) int { + return capver(rights) + 2 +} + +// CapRightsSet sets the permissions in setrights in rights. +func CapRightsSet(rights *CapRights, setrights []uint64) error { + // This is essentially a copy of cap_rights_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errors.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch") + } + rights.Rights[i] |= right + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsClear clears the permissions in clearrights from rights. +func CapRightsClear(rights *CapRights, clearrights []uint64) error { + // This is essentially a copy of cap_rights_vclear() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errors.New("bad rights size") + } + + for _, right := range clearrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch") + } + rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF) + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsIsSet checks whether all the permissions in setrights are present in rights. +func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) { + // This is essentially a copy of cap_rights_is_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return false, fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return false, errors.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return false, errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return false, err + } + if i >= n { + return false, errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return false, errors.New("index mismatch") + } + if (rights.Rights[i] & right) != right { + return false, nil + } + } + + return true, nil +} + +func capright(idx uint64, bit uint64) uint64 { + return ((1 << (57 + idx)) | bit) +} + +// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights. +// See man cap_rights_init(3) and rights(4). +func CapRightsInit(rights []uint64) (*CapRights, error) { + var r CapRights + r.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0) + r.Rights[1] = capright(1, 0) + + err := CapRightsSet(&r, rights) + if err != nil { + return nil, err + } + return &r, nil +} + +// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights. +// The capability rights on fd can never be increased by CapRightsLimit. +// See man cap_rights_limit(2) and rights(4). +func CapRightsLimit(fd uintptr, rights *CapRights) error { + return capRightsLimit(int(fd), rights) +} + +// CapRightsGet returns a CapRights structure containing the operations permitted on fd. +// See man cap_rights_get(3) and rights(4). +func CapRightsGet(fd uintptr) (*CapRights, error) { + r, err := CapRightsInit(nil) + if err != nil { + return nil, err + } + err = capRightsGet(capRightsGoVersion, int(fd), r) + if err != nil { + return nil, err + } + return r, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/constants.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/constants.go new file mode 100644 index 0000000..3a6ac64 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/constants.go @@ -0,0 +1,13 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +const ( + R_OK = 0x4 + W_OK = 0x2 + X_OK = 0x1 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc.go new file mode 100644 index 0000000..5e5fb45 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc.go @@ -0,0 +1,27 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc + +// Functions to access/create device major and minor numbers matching the +// encoding used by AIX. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 16) & 0xffff) +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff) +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return uint64(((major) << 16) | (minor)) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go new file mode 100644 index 0000000..8b40124 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc64 + +// Functions to access/create device major and minor numbers matching the +// encoding used AIX. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x3fffffff00000000) >> 32) +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + return uint32((dev & 0x00000000ffffffff) >> 0) +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + var DEVNO64 uint64 + DEVNO64 = 0x8000000000000000 + return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_darwin.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_darwin.go new file mode 100644 index 0000000..8d1dc0f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_darwin.go @@ -0,0 +1,24 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Darwin's sys/types.h header. + +package unix + +// Major returns the major component of a Darwin device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 24) & 0xff) +} + +// Minor returns the minor component of a Darwin device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffffff) +} + +// Mkdev returns a Darwin device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 24) | uint64(minor) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_dragonfly.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_dragonfly.go new file mode 100644 index 0000000..8502f20 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_dragonfly.go @@ -0,0 +1,30 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Dragonfly's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a DragonFlyBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a DragonFlyBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a DragonFlyBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_freebsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_freebsd.go new file mode 100644 index 0000000..eba3b4b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_freebsd.go @@ -0,0 +1,30 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in FreeBSD's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a FreeBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a FreeBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a FreeBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_linux.go new file mode 100644 index 0000000..d165d6f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_linux.go @@ -0,0 +1,42 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used by the Linux kernel and glibc. +// +// The information below is extracted and adapted from bits/sysmacros.h in the +// glibc sources: +// +// dev_t in glibc is 64-bit, with 32-bit major and minor numbers. glibc's +// default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of the major +// number and m is a hex digit of the minor number. This is backward compatible +// with legacy systems where dev_t is 16 bits wide, encoded as MMmm. It is also +// backward compatible with the Linux kernel, which for some architectures uses +// 32-bit dev_t, encoded as mmmM MMmm. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + major := uint32((dev & 0x00000000000fff00) >> 8) + major |= uint32((dev & 0xfffff00000000000) >> 32) + return major +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x00000000000000ff) >> 0) + minor |= uint32((dev & 0x00000ffffff00000) >> 12) + return minor +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) & 0x00000fff) << 8 + dev |= (uint64(major) & 0xfffff000) << 32 + dev |= (uint64(minor) & 0x000000ff) << 0 + dev |= (uint64(minor) & 0xffffff00) << 12 + return dev +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_netbsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_netbsd.go new file mode 100644 index 0000000..b4a203d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_netbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in NetBSD's sys/types.h header. + +package unix + +// Major returns the major component of a NetBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x000fff00) >> 8) +} + +// Minor returns the minor component of a NetBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xfff00000) >> 12) + return minor +} + +// Mkdev returns a NetBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x000fff00 + dev |= (uint64(minor) << 12) & 0xfff00000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_openbsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_openbsd.go new file mode 100644 index 0000000..f3430c4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dev_openbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in OpenBSD's sys/types.h header. + +package unix + +// Major returns the major component of an OpenBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x0000ff00) >> 8) +} + +// Minor returns the minor component of an OpenBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xffff0000) >> 8) + return minor +} + +// Mkdev returns an OpenBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x0000ff00 + dev |= (uint64(minor) << 8) & 0xffff0000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dirent.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dirent.go new file mode 100644 index 0000000..6f3460e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/dirent.go @@ -0,0 +1,102 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris + +package unix + +import "unsafe" + +// readInt returns the size-bytes unsigned integer in native byte order at offset off. +func readInt(b []byte, off, size uintptr) (u uint64, ok bool) { + if len(b) < int(off+size) { + return 0, false + } + if isBigEndian { + return readIntBE(b[off:], size), true + } + return readIntLE(b[off:], size), true +} + +func readIntBE(b []byte, size uintptr) uint64 { + switch size { + case 1: + return uint64(b[0]) + case 2: + _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[1]) | uint64(b[0])<<8 + case 4: + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24 + case 8: + _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | + uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 + default: + panic("syscall: readInt with unsupported size") + } +} + +func readIntLE(b []byte, size uintptr) uint64 { + switch size { + case 1: + return uint64(b[0]) + case 2: + _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 + case 4: + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 + case 8: + _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | + uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + default: + panic("syscall: readInt with unsupported size") + } +} + +// ParseDirent parses up to max directory entries in buf, +// appending the names to names. It returns the number of +// bytes consumed from buf, the number of entries added +// to names, and the new names slice. +func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) { + origlen := len(buf) + count = 0 + for max != 0 && len(buf) > 0 { + reclen, ok := direntReclen(buf) + if !ok || reclen > uint64(len(buf)) { + return origlen, count, names + } + rec := buf[:reclen] + buf = buf[reclen:] + ino, ok := direntIno(rec) + if !ok { + break + } + if ino == 0 { // File absent in directory. + continue + } + const namoff = uint64(unsafe.Offsetof(Dirent{}.Name)) + namlen, ok := direntNamlen(rec) + if !ok || namoff+namlen > uint64(len(rec)) { + break + } + name := rec[namoff : namoff+namlen] + for i, c := range name { + if c == 0 { + name = name[:i] + break + } + } + // Check for useless names before allocating a string. + if string(name) == "." || string(name) == ".." { + continue + } + max-- + count++ + names = append(names, string(name)) + } + return origlen - len(buf), count, names +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_big.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_big.go new file mode 100644 index 0000000..5e92690 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_big.go @@ -0,0 +1,9 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +// +build ppc64 s390x mips mips64 + +package unix + +const isBigEndian = true diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_little.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_little.go new file mode 100644 index 0000000..085df2d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/endian_little.go @@ -0,0 +1,9 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le + +package unix + +const isBigEndian = false diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/env_unix.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/env_unix.go new file mode 100644 index 0000000..84178b0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/env_unix.go @@ -0,0 +1,31 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Unix environment variables. + +package unix + +import "syscall" + +func Getenv(key string) (value string, found bool) { + return syscall.Getenv(key) +} + +func Setenv(key, value string) error { + return syscall.Setenv(key, value) +} + +func Clearenv() { + syscall.Clearenv() +} + +func Environ() []string { + return syscall.Environ() +} + +func Unsetenv(key string) error { + return syscall.Unsetenv(key) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_386.go new file mode 100644 index 0000000..c56bc8b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_386.go @@ -0,0 +1,227 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go new file mode 100644 index 0000000..3e97711 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go @@ -0,0 +1,227 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8040720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8040720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go new file mode 100644 index 0000000..856dca3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go @@ -0,0 +1,226 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +const ( + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + + // missing constants on FreeBSD-11.1-RELEASE, copied from old values in ztypes_freebsd_arm.go + IFF_SMART = 0x20 + IFT_FAITH = 0xf2 + IFT_IPXIP = 0xf9 + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl.go new file mode 100644 index 0000000..39c03f1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl.go @@ -0,0 +1,32 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build dragonfly freebsd linux netbsd openbsd + +package unix + +import "unsafe" + +// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux +// systems by flock_linux_32bit.go to be SYS_FCNTL64. +var fcntl64Syscall uintptr = SYS_FCNTL + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + valptr, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(arg)) + var err error + if errno != 0 { + err = errno + } + return int(valptr), err +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) + if errno == 0 { + return nil + } + return errno +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_darwin.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_darwin.go new file mode 100644 index 0000000..5868a4a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_darwin.go @@ -0,0 +1,18 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import "unsafe" + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + return fcntl(int(fd), cmd, arg) +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) + return err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go new file mode 100644 index 0000000..fc0e50e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go @@ -0,0 +1,13 @@ +// +build linux,386 linux,arm linux,mips linux,mipsle + +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +func init() { + // On 32-bit Linux systems, the fcntl syscall that matches Go's + // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. + fcntl64Syscall = SYS_FCNTL64 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo.go new file mode 100644 index 0000000..cd6f5a6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo.go @@ -0,0 +1,62 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo +// +build !aix + +package unix + +import "syscall" + +// We can't use the gc-syntax .s files for gccgo. On the plus side +// much of the functionality can be written directly in Go. + +//extern gccgoRealSyscallNoError +func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) + +//extern gccgoRealSyscall +func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) + +func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { + syscall.Entersyscall() + r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + syscall.Exitsyscall() + return r, 0 +} + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { + r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + return r, 0 +} + +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} + +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_c.c b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_c.c new file mode 100644 index 0000000..c44730c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_c.c @@ -0,0 +1,39 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo +// +build !aix + +#include +#include +#include + +#define _STRINGIFY2_(x) #x +#define _STRINGIFY_(x) _STRINGIFY2_(x) +#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__) + +// Call syscall from C code because the gccgo support for calling from +// Go to C does not support varargs functions. + +struct ret { + uintptr_t r; + uintptr_t err; +}; + +struct ret +gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) +{ + struct ret r; + + errno = 0; + r.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); + r.err = errno; + return r; +} + +uintptr_t +gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) +{ + return syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go new file mode 100644 index 0000000..251a977 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go @@ -0,0 +1,20 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo,linux,amd64 + +package unix + +import "syscall" + +//extern gettimeofday +func realGettimeofday(*Timeval, *byte) int32 + +func gettimeofday(tv *Timeval) (err syscall.Errno) { + r := realGettimeofday(tv, nil) + if r < 0 { + return syscall.GetErrno() + } + return 0 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ioctl.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ioctl.go new file mode 100644 index 0000000..f121a8d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ioctl.go @@ -0,0 +1,30 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import "runtime" + +// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. +// +// To change fd's window size, the req argument should be TIOCSWINSZ. +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + // TODO: if we get the chance, remove the req parameter and + // hardcode TIOCSWINSZ. + err := ioctlSetWinsize(fd, req, value) + runtime.KeepAlive(value) + return err +} + +// IoctlSetTermios performs an ioctl on fd with a *Termios. +// +// The req value will usually be TCSETA or TIOCSETA. +func IoctlSetTermios(fd int, req uint, value *Termios) error { + // TODO: if we get the chance, remove the req parameter. + err := ioctlSetTermios(fd, req, value) + runtime.KeepAlive(value) + return err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkall.sh b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkall.sh new file mode 100644 index 0000000..5a22eca --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkall.sh @@ -0,0 +1,227 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# This script runs or (given -n) prints suggested commands to generate files for +# the Architecture/OS specified by the GOARCH and GOOS environment variables. +# See README.md for more information about how the build system works. + +GOOSARCH="${GOOS}_${GOARCH}" + +# defaults +mksyscall="go run mksyscall.go" +mkerrors="./mkerrors.sh" +zerrors="zerrors_$GOOSARCH.go" +mksysctl="" +zsysctl="zsysctl_$GOOSARCH.go" +mksysnum= +mktypes= +mkasm= +run="sh" +cmd="" + +case "$1" in +-syscalls) + for i in zsyscall*go + do + # Run the command line that appears in the first line + # of the generated file to regenerate it. + sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i + rm _$i + done + exit 0 + ;; +-n) + run="cat" + cmd="echo" + shift +esac + +case "$#" in +0) + ;; +*) + echo 'usage: mkall.sh [-n]' 1>&2 + exit 2 +esac + +if [[ "$GOOS" = "linux" ]]; then + # Use the Docker-based build system + # Files generated through docker (use $cmd so you can Ctl-C the build or run) + $cmd docker build --tag generate:$GOOS $GOOS + $cmd docker run --interactive --tty --volume $(dirname "$(readlink -f "$0")"):/build generate:$GOOS + exit +fi + +GOOSARCH_in=syscall_$GOOSARCH.go +case "$GOOSARCH" in +_* | *_ | _) + echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 + exit 1 + ;; +aix_ppc) + mkerrors="$mkerrors -maix32" + mksyscall="go run mksyscall_aix_ppc.go -aix" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +aix_ppc64) + mkerrors="$mkerrors -maix64" + mksyscall="go run mksyscall_aix_ppc64.go -aix" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +darwin_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +darwin_amd64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +darwin_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +darwin_arm64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +dragonfly_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -dragonfly" + mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_amd64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -arm" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +freebsd_arm64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32 -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -netbsd -arm" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +netbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32 -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -openbsd -arm" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +openbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +solaris_amd64) + mksyscall="go run mksyscall_solaris.go" + mkerrors="$mkerrors -m64" + mksysnum= + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +*) + echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 + exit 1 + ;; +esac + +( + if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi + case "$GOOS" in + *) + syscall_goos="syscall_$GOOS.go" + case "$GOOS" in + darwin | dragonfly | freebsd | netbsd | openbsd) + syscall_goos="syscall_bsd.go $syscall_goos" + ;; + esac + if [ -n "$mksyscall" ]; then + if [ "$GOOSARCH" == "aix_ppc64" ]; then + # aix/ppc64 script generates files instead of writing to stdin. + echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ; + elif [ "$GOOS" == "darwin" ]; then + # pre-1.12, direct syscalls + echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go"; + # 1.12 and later, syscalls via libSystem + echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; + else + echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; + fi + fi + esac + if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi + if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi + if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi + if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi +) | $run diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkerrors.sh b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkerrors.sh new file mode 100644 index 0000000..3d85f27 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -0,0 +1,663 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Generate Go code listing errors and other #defined constant +# values (ENAMETOOLONG etc.), by asking the preprocessor +# about the definitions. + +unset LANG +export LC_ALL=C +export LC_CTYPE=C + +if test -z "$GOARCH" -o -z "$GOOS"; then + echo 1>&2 "GOARCH or GOOS not defined in environment" + exit 1 +fi + +# Check that we are using the new build system if we should +if [[ "$GOOS" = "linux" ]] && [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then + echo 1>&2 "In the Docker based build system, mkerrors should not be called directly." + echo 1>&2 "See README.md" + exit 1 +fi + +if [[ "$GOOS" = "aix" ]]; then + CC=${CC:-gcc} +else + CC=${CC:-cc} +fi + +if [[ "$GOOS" = "solaris" ]]; then + # Assumes GNU versions of utilities in PATH. + export PATH=/usr/gnu/bin:$PATH +fi + +uname=$(uname) + +includes_AIX=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define AF_LOCAL AF_UNIX +' + +includes_Darwin=' +#define _DARWIN_C_SOURCE +#define KERNEL +#define _DARWIN_USE_64_BIT_INODE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + +includes_DragonFly=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + +includes_FreeBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if __FreeBSD__ >= 10 +#define IFT_CARP 0xf8 // IFT_CARP is deprecated in FreeBSD 10 +#undef SIOCAIFADDR +#define SIOCAIFADDR _IOW(105, 26, struct oifaliasreq) // ifaliasreq contains if_data +#undef SIOCSIFPHYADDR +#define SIOCSIFPHYADDR _IOW(105, 70, struct oifaliasreq) // ifaliasreq contains if_data +#endif +' + +includes_Linux=' +#define _LARGEFILE_SOURCE +#define _LARGEFILE64_SOURCE +#ifndef __LP64__ +#define _FILE_OFFSET_BITS 64 +#endif +#define _GNU_SOURCE + +// is broken on powerpc64, as it fails to include definitions of +// these structures. We just include them copied from . +#if defined(__powerpc__) +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__sparc__) +// On sparc{,64}, the kernel defines struct termios2 itself which clashes with the +// definition in glibc. As only the error constants are needed here, include the +// generic termibits.h (which is included by termbits.h on sparc). +#include +#else +#include +#endif + +#ifndef MSG_FASTOPEN +#define MSG_FASTOPEN 0x20000000 +#endif + +#ifndef PTRACE_GETREGS +#define PTRACE_GETREGS 0xc +#endif + +#ifndef PTRACE_SETREGS +#define PTRACE_SETREGS 0xd +#endif + +#ifndef SOL_NETLINK +#define SOL_NETLINK 270 +#endif + +#ifdef SOL_BLUETOOTH +// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h +// but it is already in bluetooth_linux.go +#undef SOL_BLUETOOTH +#endif + +// Certain constants are missing from the fs/crypto UAPI +#define FS_KEY_DESC_PREFIX "fscrypt:" +#define FS_KEY_DESC_PREFIX_SIZE 8 +#define FS_MAX_KEY_SIZE 64 +' + +includes_NetBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Needed since refers to it... +#define schedppq 1 +' + +includes_OpenBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// We keep some constants not supported in OpenBSD 5.5 and beyond for +// the promise of compatibility. +#define EMUL_ENABLED 0x1 +#define EMUL_NATIVE 0x2 +#define IPV6_FAITH 0x1d +#define IPV6_OPTIONS 0x1 +#define IPV6_RTHDR_STRICT 0x1 +#define IPV6_SOCKOPT_RESERVED1 0x3 +#define SIOCGIFGENERIC 0xc020693a +#define SIOCSIFGENERIC 0x80206939 +#define WALTSIG 0x4 +' + +includes_SunOS=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + + +includes=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' +ccflags="$@" + +# Write go tool cgo -godefs input. +( + echo package unix + echo + echo '/*' + indirect="includes_$(uname)" + echo "${!indirect} $includes" + echo '*/' + echo 'import "C"' + echo 'import "syscall"' + echo + echo 'const (' + + # The gcc command line prints all the #defines + # it encounters while processing the input + echo "${!indirect} $includes" | $CC -x c - -E -dM $ccflags | + awk ' + $1 != "#define" || $2 ~ /\(/ || $3 == "" {next} + + $2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next} # 386 registers + $2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next} + $2 ~ /^(SCM_SRCRT)$/ {next} + $2 ~ /^(MAP_FAILED)$/ {next} + $2 ~ /^ELF_.*$/ {next}# contains ELF_ARCH, etc. + + $2 ~ /^EXTATTR_NAMESPACE_NAMES/ || + $2 ~ /^EXTATTR_NAMESPACE_[A-Z]+_STRING/ {next} + + $2 !~ /^ECCAPBITS/ && + $2 !~ /^ETH_/ && + $2 !~ /^EPROC_/ && + $2 !~ /^EQUIV_/ && + $2 !~ /^EXPR_/ && + $2 ~ /^E[A-Z0-9_]+$/ || + $2 ~ /^B[0-9_]+$/ || + $2 ~ /^(OLD|NEW)DEV$/ || + $2 == "BOTHER" || + $2 ~ /^CI?BAUD(EX)?$/ || + $2 == "IBSHIFT" || + $2 ~ /^V[A-Z0-9]+$/ || + $2 ~ /^CS[A-Z0-9]/ || + $2 ~ /^I(SIG|CANON|CRNL|UCLC|EXTEN|MAXBEL|STRIP|UTF8)$/ || + $2 ~ /^IGN/ || + $2 ~ /^IX(ON|ANY|OFF)$/ || + $2 ~ /^IN(LCR|PCK)$/ || + $2 !~ "X86_CR3_PCID_NOFLUSH" && + $2 ~ /(^FLU?SH)|(FLU?SH$)/ || + $2 ~ /^C(LOCAL|READ|MSPAR|RTSCTS)$/ || + $2 == "BRKINT" || + $2 == "HUPCL" || + $2 == "PENDIN" || + $2 == "TOSTOP" || + $2 == "XCASE" || + $2 == "ALTWERASE" || + $2 == "NOKERNINFO" || + $2 ~ /^PAR/ || + $2 ~ /^SIG[^_]/ || + $2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ || + $2 ~ /^(NL|CR|TAB|BS|VT|FF)DLY$/ || + $2 ~ /^(NL|CR|TAB|BS|VT|FF)[0-9]$/ || + $2 ~ /^O?XTABS$/ || + $2 ~ /^TC[IO](ON|OFF)$/ || + $2 ~ /^IN_/ || + $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || + $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ || + $2 ~ /^TP_STATUS_/ || + $2 ~ /^FALLOC_/ || + $2 == "ICMPV6_FILTER" || + $2 == "SOMAXCONN" || + $2 == "NAME_MAX" || + $2 == "IFNAMSIZ" || + $2 ~ /^CTL_(HW|KERN|MAXNAME|NET|QUERY)$/ || + $2 ~ /^KERN_(HOSTNAME|OS(RELEASE|TYPE)|VERSION)$/ || + $2 ~ /^HW_MACHINE$/ || + $2 ~ /^SYSCTL_VERS/ || + $2 !~ "MNT_BITS" && + $2 ~ /^(MS|MNT|UMOUNT)_/ || + $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || + $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT)_/ || + $2 ~ /^KEXEC_/ || + $2 ~ /^LINUX_REBOOT_CMD_/ || + $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ || + $2 ~ /^MODULE_INIT_/ || + $2 !~ "NLA_TYPE_MASK" && + $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || + $2 ~ /^SIOC/ || + $2 ~ /^TIOC/ || + $2 ~ /^TCGET/ || + $2 ~ /^TCSET/ || + $2 ~ /^TC(FLSH|SBRKP?|XONC)$/ || + $2 !~ "RTF_BITS" && + $2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ || + $2 ~ /^BIOC/ || + $2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ || + $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ || + $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ || + $2 ~ /^CLONE_[A-Z_]+/ || + $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ && + $2 ~ /^(BPF|DLT)_/ || + $2 ~ /^(CLOCK|TIMER)_/ || + $2 ~ /^CAN_/ || + $2 ~ /^CAP_/ || + $2 ~ /^ALG_/ || + $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ || + $2 ~ /^GRND_/ || + $2 ~ /^RND/ || + $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || + $2 ~ /^KEYCTL_/ || + $2 ~ /^PERF_EVENT_IOC_/ || + $2 ~ /^SECCOMP_MODE_/ || + $2 ~ /^SPLICE_/ || + $2 ~ /^SYNC_FILE_RANGE_/ || + $2 !~ /^AUDIT_RECORD_MAGIC/ && + $2 !~ /IOC_MAGIC/ && + $2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ || + $2 ~ /^(VM|VMADDR)_/ || + $2 ~ /^IOCTL_VM_SOCKETS_/ || + $2 ~ /^(TASKSTATS|TS)_/ || + $2 ~ /^CGROUPSTATS_/ || + $2 ~ /^GENL_/ || + $2 ~ /^STATX_/ || + $2 ~ /^RENAME/ || + $2 ~ /^UBI_IOC[A-Z]/ || + $2 ~ /^UTIME_/ || + $2 ~ /^XATTR_(CREATE|REPLACE|NO(DEFAULT|FOLLOW|SECURITY)|SHOWCOMPRESSION)/ || + $2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ || + $2 ~ /^FSOPT_/ || + $2 ~ /^WDIOC_/ || + $2 ~ /^NFN/ || + $2 ~ /^XDP_/ || + $2 ~ /^(HDIO|WIN|SMART)_/ || + $2 ~ /^CRYPTO_/ || + $2 !~ "WMESGLEN" && + $2 ~ /^W[A-Z0-9]+$/ || + $2 ~/^PPPIOC/ || + $2 ~ /^FAN_|FANOTIFY_/ || + $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)} + $2 ~ /^__WCOREFLAG$/ {next} + $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)} + + {next} + ' | sort + + echo ')' +) >_const.go + +# Pull out the error names for later. +errors=$( + echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print $2 }' | + sort +) + +# Pull out the signal names for later. +signals=$( + echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' | + egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' | + sort +) + +# Again, writing regexps to a file. +echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' | + sort >_error.grep +echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' | + egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' | + sort >_signal.grep + +echo '// mkerrors.sh' "$@" +echo '// Code generated by the command above; see README.md. DO NOT EDIT.' +echo +echo "// +build ${GOARCH},${GOOS}" +echo +go tool cgo -godefs -- "$@" _const.go >_error.out +cat _error.out | grep -vf _error.grep | grep -vf _signal.grep +echo +echo '// Errors' +echo 'const (' +cat _error.out | grep -f _error.grep | sed 's/=\(.*\)/= syscall.Errno(\1)/' +echo ')' + +echo +echo '// Signals' +echo 'const (' +cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= syscall.Signal(\1)/' +echo ')' + +# Run C program to print error and syscall strings. +( + echo -E " +#include +#include +#include +#include +#include +#include + +#define nelem(x) (sizeof(x)/sizeof((x)[0])) + +enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below + +struct tuple { + int num; + const char *name; +}; + +struct tuple errors[] = { +" + for i in $errors + do + echo -E ' {'$i', "'$i'" },' + done + + echo -E " +}; + +struct tuple signals[] = { +" + for i in $signals + do + echo -E ' {'$i', "'$i'" },' + done + + # Use -E because on some systems bash builtin interprets \n itself. + echo -E ' +}; + +static int +tuplecmp(const void *a, const void *b) +{ + return ((struct tuple *)a)->num - ((struct tuple *)b)->num; +} + +int +main(void) +{ + int i, e; + char buf[1024], *p; + + printf("\n\n// Error table\n"); + printf("var errorList = [...]struct {\n"); + printf("\tnum syscall.Errno\n"); + printf("\tname string\n"); + printf("\tdesc string\n"); + printf("} {\n"); + qsort(errors, nelem(errors), sizeof errors[0], tuplecmp); + for(i=0; i 0 && errors[i-1].num == e) + continue; + strcpy(buf, strerror(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + printf("\t{ %d, \"%s\", \"%s\" },\n", e, errors[i].name, buf); + } + printf("}\n\n"); + + printf("\n\n// Signal table\n"); + printf("var signalList = [...]struct {\n"); + printf("\tnum syscall.Signal\n"); + printf("\tname string\n"); + printf("\tdesc string\n"); + printf("} {\n"); + qsort(signals, nelem(signals), sizeof signals[0], tuplecmp); + for(i=0; i 0 && signals[i-1].num == e) + continue; + strcpy(buf, strsignal(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + // cut trailing : number. + p = strrchr(buf, ":"[0]); + if(p) + *p = '\0'; + printf("\t{ %d, \"%s\", \"%s\" },\n", e, signals[i].name, buf); + } + printf("}\n\n"); + + return 0; +} + +' +) >_errors.c + +$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pagesize_unix.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pagesize_unix.go new file mode 100644 index 0000000..bc2f362 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pagesize_unix.go @@ -0,0 +1,15 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// For Unix, get the pagesize from the runtime. + +package unix + +import "syscall" + +func Getpagesize() int { + return syscall.Getpagesize() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pledge_openbsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pledge_openbsd.go new file mode 100644 index 0000000..eb48294 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/pledge_openbsd.go @@ -0,0 +1,163 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "errors" + "fmt" + "strconv" + "syscall" + "unsafe" +) + +// Pledge implements the pledge syscall. +// +// The pledge syscall does not accept execpromises on OpenBSD releases +// before 6.3. +// +// execpromises must be empty when Pledge is called on OpenBSD +// releases predating 6.3, otherwise an error will be returned. +// +// For more information see pledge(2). +func Pledge(promises, execpromises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, execpromises) + if err != nil { + return err + } + + pptr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + + // This variable will hold either a nil unsafe.Pointer or + // an unsafe.Pointer to a string (execpromises). + var expr unsafe.Pointer + + // If we're running on OpenBSD > 6.2, pass execpromises to the syscall. + if maj > 6 || (maj == 6 && min > 2) { + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + expr = unsafe.Pointer(exptr) + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgePromises implements the pledge syscall. +// +// This changes the promises and leaves the execpromises untouched. +// +// For more information see pledge(2). +func PledgePromises(promises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, "") + if err != nil { + return err + } + + // This variable holds the execpromises and is always nil. + var expr unsafe.Pointer + + pptr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgeExecpromises implements the pledge syscall. +// +// This changes the execpromises and leaves the promises untouched. +// +// For more information see pledge(2). +func PledgeExecpromises(execpromises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, execpromises) + if err != nil { + return err + } + + // This variable holds the promises and is always nil. + var pptr unsafe.Pointer + + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0) + if e != 0 { + return e + } + + return nil +} + +// majmin returns major and minor version number for an OpenBSD system. +func majmin() (major int, minor int, err error) { + var v Utsname + err = Uname(&v) + if err != nil { + return + } + + major, err = strconv.Atoi(string(v.Release[0])) + if err != nil { + err = errors.New("cannot parse major version number returned by uname") + return + } + + minor, err = strconv.Atoi(string(v.Release[2])) + if err != nil { + err = errors.New("cannot parse minor version number returned by uname") + return + } + + return +} + +// pledgeAvailable checks for availability of the pledge(2) syscall +// based on the running OpenBSD version. +func pledgeAvailable(maj, min int, execpromises string) error { + // If OpenBSD <= 5.9, pledge is not available. + if (maj == 5 && min != 9) || maj < 5 { + return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min) + } + + // If OpenBSD <= 6.2 and execpromises is not empty, + // return an error - execpromises is not available before 6.3 + if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" { + return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min) + } + + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race.go new file mode 100644 index 0000000..61712b5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race.go @@ -0,0 +1,30 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,race linux,race freebsd,race + +package unix + +import ( + "runtime" + "unsafe" +) + +const raceenabled = true + +func raceAcquire(addr unsafe.Pointer) { + runtime.RaceAcquire(addr) +} + +func raceReleaseMerge(addr unsafe.Pointer) { + runtime.RaceReleaseMerge(addr) +} + +func raceReadRange(addr unsafe.Pointer, len int) { + runtime.RaceReadRange(addr, len) +} + +func raceWriteRange(addr unsafe.Pointer, len int) { + runtime.RaceWriteRange(addr, len) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race0.go new file mode 100644 index 0000000..ad02667 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/race0.go @@ -0,0 +1,25 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly + +package unix + +import ( + "unsafe" +) + +const raceenabled = false + +func raceAcquire(addr unsafe.Pointer) { +} + +func raceReleaseMerge(addr unsafe.Pointer) { +} + +func raceReadRange(addr unsafe.Pointer, len int) { +} + +func raceWriteRange(addr unsafe.Pointer, len int) { +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdents.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdents.go new file mode 100644 index 0000000..3a90aa6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdents.go @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix dragonfly freebsd linux netbsd openbsd + +package unix + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + return Getdents(fd, buf) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go new file mode 100644 index 0000000..5fdae40 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go @@ -0,0 +1,19 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin + +package unix + +import "unsafe" + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // 64 bits should be enough. (32 bits isn't even on 386). Since the + // actual system call is getdirentries64, 64 is a good guess. + // TODO(rsc): Can we use a single global basep for all calls? + var base = (*uintptr)(unsafe.Pointer(new(uint64))) + return Getdirentries(fd, buf, base) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_linux.go new file mode 100644 index 0000000..6079eb4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_linux.go @@ -0,0 +1,36 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Socket control messages + +package unix + +import "unsafe" + +// UnixCredentials encodes credentials into a socket control message +// for sending to another process. This can be used for +// authentication. +func UnixCredentials(ucred *Ucred) []byte { + b := make([]byte, CmsgSpace(SizeofUcred)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_CREDENTIALS + h.SetLen(CmsgLen(SizeofUcred)) + *((*Ucred)(cmsgData(h))) = *ucred + return b +} + +// ParseUnixCredentials decodes a socket control message that contains +// credentials in a Ucred structure. To receive such a message, the +// SO_PASSCRED option must be enabled on the socket. +func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_CREDENTIALS { + return nil, EINVAL + } + ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) + return &ucred, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_unix.go new file mode 100644 index 0000000..062bcab --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/sockcmsg_unix.go @@ -0,0 +1,120 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Socket control messages + +package unix + +import ( + "runtime" + "unsafe" +) + +// Round the length of a raw sockaddr up to align it properly. +func cmsgAlignOf(salen int) int { + salign := SizeofPtr + + switch runtime.GOOS { + case "aix": + // There is no alignment on AIX. + salign = 1 + case "darwin", "dragonfly", "solaris", "illumos": + // NOTE: It seems like 64-bit Darwin, DragonFly BSD, + // illumos, and Solaris kernels still require 32-bit + // aligned access to network subsystem. + if SizeofPtr == 8 { + salign = 4 + } + case "netbsd", "openbsd": + // NetBSD and OpenBSD armv7 require 64-bit alignment. + if runtime.GOARCH == "arm" { + salign = 8 + } + } + + return (salen + salign - 1) & ^(salign - 1) +} + +// CmsgLen returns the value to store in the Len field of the Cmsghdr +// structure, taking into account any necessary alignment. +func CmsgLen(datalen int) int { + return cmsgAlignOf(SizeofCmsghdr) + datalen +} + +// CmsgSpace returns the number of bytes an ancillary element with +// payload of the passed data length occupies. +func CmsgSpace(datalen int) int { + return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen) +} + +func cmsgData(h *Cmsghdr) unsafe.Pointer { + return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr))) +} + +// SocketControlMessage represents a socket control message. +type SocketControlMessage struct { + Header Cmsghdr + Data []byte +} + +// ParseSocketControlMessage parses b as an array of socket control +// messages. +func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) { + var msgs []SocketControlMessage + i := 0 + for i+CmsgLen(0) <= len(b) { + h, dbuf, err := socketControlMessageHeaderAndData(b[i:]) + if err != nil { + return nil, err + } + m := SocketControlMessage{Header: *h, Data: dbuf} + msgs = append(msgs, m) + i += cmsgAlignOf(int(h.Len)) + } + return msgs, nil +} + +func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) { + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) { + return nil, nil, EINVAL + } + return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil +} + +// UnixRights encodes a set of open file descriptors into a socket +// control message for sending to another process. +func UnixRights(fds ...int) []byte { + datalen := len(fds) * 4 + b := make([]byte, CmsgSpace(datalen)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_RIGHTS + h.SetLen(CmsgLen(datalen)) + data := cmsgData(h) + for _, fd := range fds { + *(*int32)(data) = int32(fd) + data = unsafe.Pointer(uintptr(data) + 4) + } + return b +} + +// ParseUnixRights decodes a socket control message that contains an +// integer array of open file descriptors from another process. +func ParseUnixRights(m *SocketControlMessage) ([]int, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_RIGHTS { + return nil, EINVAL + } + fds := make([]int, len(m.Data)>>2) + for i, j := 0, 0; i < len(m.Data); i += 4 { + fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i]))) + j++ + } + return fds, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/str.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/str.go new file mode 100644 index 0000000..17fb698 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/str.go @@ -0,0 +1,26 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +func itoa(val int) string { // do it here rather than with fmt to avoid dependency + if val < 0 { + return "-" + uitoa(uint(-val)) + } + return uitoa(uint(val)) +} + +func uitoa(val uint) string { + var buf [32]byte // big enough for int64 + i := len(buf) - 1 + for val >= 10 { + buf[i] = byte(val%10 + '0') + i-- + val /= 10 + } + buf[i] = byte(val + '0') + return string(buf[i:]) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall.go new file mode 100644 index 0000000..fd4ee8e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall.go @@ -0,0 +1,53 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Package unix contains an interface to the low-level operating system +// primitives. OS details vary depending on the underlying system, and +// by default, godoc will display OS-specific documentation for the current +// system. If you want godoc to display OS documentation for another +// system, set $GOOS and $GOARCH to the desired system. For example, if +// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS +// to freebsd and $GOARCH to arm. +// +// The primary use of this package is inside other packages that provide a more +// portable interface to the system, such as "os", "time" and "net". Use +// those packages rather than this one if you can. +// +// For details of the functions and data types in this package consult +// the manuals for the appropriate operating system. +// +// These calls return err == nil to indicate success; otherwise +// err represents an operating system error describing the failure and +// holds a value of type syscall.Errno. +package unix // import "golang.org/x/sys/unix" + +import "strings" + +// ByteSliceFromString returns a NUL-terminated slice of bytes +// containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func ByteSliceFromString(s string) ([]byte, error) { + if strings.IndexByte(s, 0) != -1 { + return nil, EINVAL + } + a := make([]byte, len(s)+1) + copy(a, s) + return a, nil +} + +// BytePtrFromString returns a pointer to a NUL-terminated array of +// bytes containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func BytePtrFromString(s string) (*byte, error) { + a, err := ByteSliceFromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +// Single-word zero for use when we need a valid pointer to 0 bytes. +var _zero uintptr diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix.go new file mode 100644 index 0000000..1aa065f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix.go @@ -0,0 +1,573 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix + +// Aix system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import "unsafe" + +/* + * Wrapped + */ + +//sys utimes(path string, times *[2]Timeval) (err error) +func Utimes(path string, tv []Timeval) error { + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) +func UtimesNano(path string, ts []Timespec) error { + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n > len(sa.raw.Path) { + return nil, 0, EINVAL + } + if n == len(sa.raw.Path) && name[0] != '@' { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = uint8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +//sys getcwd(buf []byte) (err error) + +const ImplementsGetwd = true + +func Getwd() (ret string, err error) { + for len := uint64(4096); ; len *= 2 { + b := make([]byte, len) + err := getcwd(b) + if err == nil { + i := 0 + for b[i] != 0 { + i++ + } + return string(b[0:i]), nil + } + if err != ERANGE { + return "", err + } + } +} + +func Getcwd(buf []byte) (n int, err error) { + err = getcwd(buf) + if err == nil { + i := 0 + for buf[i] != 0 { + i++ + } + n = i + 1 + } + return +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +/* + * Socket + */ + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + // Recvmsg not implemented on AIX + sa := new(SockaddrUnix) + return -1, -1, -1, sa, ENOSYS +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + // SendmsgN not implemented on AIX + return -1, ENOSYS +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + + // Some versions of AIX have a bug in getsockname (see IV78655). + // We can't rely on sa.Len being set correctly. + n := SizeofSockaddrUnix - 3 // subtract leading Family, Len, terminating NUL. + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + n = i + break + } + } + + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Gettimeofday(tv *Timeval) (err error) { + err = gettimeofday(tv, nil) + return +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sys getdirent(fd int, buf []byte) (n int, err error) +func Getdents(fd int, buf []byte) (n int, err error) { + return getdirent(fd, buf) +} + +//sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + var r Pid_t + err = ERESTART + // AIX wait4 may return with ERESTART errno, while the processus is still + // active. + for err == ERESTART { + r, err = wait4(Pid_t(pid), &status, options, rusage) + } + wpid = int(r) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +/* + * Wait + */ + +type WaitStatus uint32 + +func (w WaitStatus) Stopped() bool { return w&0x40 != 0 } +func (w WaitStatus) StopSignal() Signal { + if !w.Stopped() { + return -1 + } + return Signal(w>>8) & 0xFF +} + +func (w WaitStatus) Exited() bool { return w&0xFF == 0 } +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int((w >> 8) & 0xFF) +} + +func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 } +func (w WaitStatus) Signal() Signal { + if !w.Signaled() { + return -1 + } + return Signal(w>>16) & 0xFF +} + +func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 } + +func (w WaitStatus) CoreDump() bool { return w&0x200 != 0 } + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX +// There is no way to create a custom fcntl and to keep //sys fcntl easily, +// Therefore, the programmer must call dup2 instead of fcntl in this case. + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +//sys FcntlInt(fd uintptr, cmd int, arg int) (r int,err error) = fcntl + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +//sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) = fcntl + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +/* + * Direct access + */ + +//sys Acct(path string) (err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Fsync(fd int) (err error) +// readdir_r +//sysnb Getpgid(pid int) (pgid int, err error) + +//sys Getpgrp() (pid int) + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Kill(pid int, sig Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = syslog +//sys Mkdir(dirfd int, path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64 +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) + +//sys Setuid(uid int) (err error) +//sys Setgid(uid int) (err error) + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys readlen(fd int, p *byte, np int) (n int, err error) = read +//sys writelen(fd int, p *byte, np int) (n int, err error) = write + +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys fstat(fd int, stat *Stat_t) (err error) +//sys fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys stat(path string, statptr *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) + +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) + +// In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used. +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg + +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys gettimeofday(tv *Timeval, tzp *Timezone) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) + +//sys Getsystemcfg(label int) (n uint64) + +//sys umount(target string) (err error) +func Unmount(target string, flags int) (err error) { + if flags != 0 { + // AIX doesn't have any flags for umount. + return ENOSYS + } + return umount(target) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go new file mode 100644 index 0000000..bf05603 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go @@ -0,0 +1,50 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64 +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64 + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Fstat(fd int, stat *Stat_t) error { + return fstat(fd, stat) +} + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { + return fstatat(dirfd, path, stat, flags) +} + +func Lstat(path string, stat *Stat_t) error { + return lstat(path, stat) +} + +func Stat(path string, statptr *Stat_t) error { + return stat(path, statptr) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go new file mode 100644 index 0000000..13d4321 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go @@ -0,0 +1,81 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc64 + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64 + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int64(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// In order to only have Timespec structure, type of Stat_t's fields +// Atim, Mtim and Ctim is changed from StTimespec to Timespec during +// ztypes generation. +// On ppc64, Timespec.Nsec is an int64 while StTimespec.Nsec is an +// int32, so the fields' value must be modified. +func fixStatTimFields(stat *Stat_t) { + stat.Atim.Nsec >>= 32 + stat.Mtim.Nsec >>= 32 + stat.Ctim.Nsec >>= 32 +} + +func Fstat(fd int, stat *Stat_t) error { + err := fstat(fd, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { + err := fstatat(dirfd, path, stat, flags) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Lstat(path string, stat *Stat_t) error { + err := lstat(path, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Stat(path string, statptr *Stat_t) error { + err := stat(path, statptr) + if err != nil { + return err + } + fixStatTimFields(statptr) + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_bsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_bsd.go new file mode 100644 index 0000000..97a8eef --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -0,0 +1,618 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd netbsd openbsd + +// BSD system call wrappers shared by *BSD based systems +// including OS X (Darwin) and FreeBSD. Like the other +// syscall_*.go files it is compiled as Go code but also +// used as input to mksyscall which parses the //sys +// lines and generates system call stubs. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + killed = 9 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Killed() bool { return w&mask == killed && syscall.Signal(w>>shift) != SIGKILL } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys Shutdown(s int, how int) (err error) + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet4 + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet6 + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) || n == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Index == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = sa.Len + sa.raw.Family = AF_LINK + sa.raw.Index = sa.Index + sa.raw.Type = sa.Type + sa.raw.Nlen = sa.Nlen + sa.raw.Alen = sa.Alen + sa.raw.Slen = sa.Slen + for i := 0; i < len(sa.raw.Data); i++ { + sa.raw.Data[i] = sa.Data[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_LINK: + pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) + sa := new(SockaddrDatalink) + sa.Len = pp.Len + sa.Family = pp.Family + sa.Index = pp.Index + sa.Type = pp.Type + sa.Nlen = pp.Nlen + sa.Alen = pp.Alen + sa.Slen = pp.Slen + for i := 0; i < len(sa.Data); i++ { + sa.Data[i] = pp.Data[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { + return nil, EINVAL + } + sa := new(SockaddrUnix) + + // Some BSDs include the trailing NUL in the length, whereas + // others do not. Work around this by subtracting the leading + // family and len. The path is then scanned to see if a NUL + // terminator still exists within the length. + n := int(pp.Len) - 2 // subtract leading Family, Len + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + // found early NUL; assume Len included the NUL + // or was overestimating. + n = i + break + } + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + if runtime.GOOS == "darwin" && len == 0 { + // Accepted socket has no address. + // This is likely due to a bug in xnu kernels, + // where instead of ECONNABORTED error socket + // is accepted, but has no address. + Close(nfd) + return 0, nil, ECONNABORTED + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be + // reported upstream. + if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + rsa.Addr.Family = AF_UNIX + rsa.Addr.Len = SizeofSockaddrUnix + } + return anyToSockaddr(fd, &rsa) +} + +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) + +func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { + var change, event unsafe.Pointer + if len(changes) > 0 { + change = unsafe.Pointer(&changes[0]) + } + if len(events) > 0 { + event = unsafe.Pointer(&events[0]) + } + return kevent(kq, change, len(changes), event, len(events), timeout) +} + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +// sysctlmib translates name to mib number and appends any additional args. +func sysctlmib(name string, args ...int) ([]_C_int, error) { + // Translate name to mib number. + mib, err := nametomib(name) + if err != nil { + return nil, err + } + + for _, a := range args { + mib = append(mib, _C_int(a)) + } + + return mib, nil +} + +func Sysctl(name string) (string, error) { + return SysctlArgs(name) +} + +func SysctlArgs(name string, args ...int) (string, error) { + buf, err := SysctlRaw(name, args...) + if err != nil { + return "", err + } + n := len(buf) + + // Throw away terminating NUL. + if n > 0 && buf[n-1] == '\x00' { + n-- + } + return string(buf[0:n]), nil +} + +func SysctlUint32(name string) (uint32, error) { + return SysctlUint32Args(name) +} + +func SysctlUint32Args(name string, args ...int) (uint32, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(4) + buf := make([]byte, 4) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 4 { + return 0, EIO + } + return *(*uint32)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlUint64(name string, args ...int) (uint64, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(8) + buf := make([]byte, 8) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 8 { + return 0, EIO + } + return *(*uint64)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlRaw(name string, args ...int) ([]byte, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return nil, err + } + + // Find size. + n := uintptr(0) + if err := sysctl(mib, nil, &n, nil, 0); err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Read into buffer of that size. + buf := make([]byte, n) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return nil, err + } + + // The actual call may return less than the original reported required + // size so ensure we deal with that. + return buf[:n], nil +} + +//sys utimes(path string, timeval *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + // Darwin setattrlist can set nanosecond timestamps + err := setattrlistTimes(path, ts, 0) + if err != ENOSYS { + return err + } + err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // Not as efficient as it could be because Timespec and + // Timeval have different types in the different OSes + tv := [2]Timeval{ + NsecToTimeval(TimespecToNsec(ts[0])), + NsecToTimeval(TimespecToNsec(ts[1])), + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + err := setattrlistTimes(path, ts, flags) + if err != ENOSYS { + return err + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys futimes(fd int, timeval *[2]Timeval) (err error) + +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimes(fd, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +// TODO: wrap +// Acct(name nil-string) (err error) +// Gethostuuid(uuid *byte, timeout *Timespec) (err error) +// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, behav int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin.go new file mode 100644 index 0000000..216b4ac --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -0,0 +1,718 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Darwin system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "errors" + "syscall" + "unsafe" +) + +const ImplementsGetwd = true + +func Getwd() (string, error) { + buf := make([]byte, 2048) + attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) + if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { + wd := string(attrs[0]) + // Sanity check that it's an absolute path and ends + // in a null byte, which we then strip. + if wd[0] == '/' && wd[len(wd)-1] == 0 { + return wd[:len(wd)-1], nil + } + } + // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the + // slow algorithm. + return "", ENOTSUP +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) +func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } +func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } + +const ( + attrBitMapCount = 5 + attrCmnFullpath = 0x08000000 +) + +type attrList struct { + bitmapCount uint16 + _ uint16 + CommonAttr uint32 + VolAttr uint32 + DirAttr uint32 + FileAttr uint32 + Forkattr uint32 +} + +func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { + if len(attrBuf) < 4 { + return nil, errors.New("attrBuf too small") + } + attrList.bitmapCount = attrBitMapCount + + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return nil, err + } + + if err := getattrlist(_p0, unsafe.Pointer(&attrList), unsafe.Pointer(&attrBuf[0]), uintptr(len(attrBuf)), int(options)); err != nil { + return nil, err + } + size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) + + // dat is the section of attrBuf that contains valid data, + // without the 4 byte length header. All attribute offsets + // are relative to dat. + dat := attrBuf + if int(size) < len(attrBuf) { + dat = dat[:size] + } + dat = dat[4:] // remove length prefix + + for i := uint32(0); int(i) < len(dat); { + header := dat[i:] + if len(header) < 8 { + return attrs, errors.New("truncated attribute header") + } + datOff := *(*int32)(unsafe.Pointer(&header[0])) + attrLen := *(*uint32)(unsafe.Pointer(&header[4])) + if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { + return attrs, errors.New("truncated results; attrBuf too small") + } + end := uint32(datOff) + attrLen + attrs = append(attrs, dat[datOff:end]) + i = end + if r := i % 4; r != 0 { + i += (4 - r) + } + } + return +} + +//sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + return getfsstat(_p0, bufsize, flags) +} + +func xattrPointer(dest []byte) *byte { + // It's only when dest is set to NULL that the OS X implementations of + // getxattr() and listxattr() return the current sizes of the named attributes. + // An empty byte array is not sufficient. To maintain the same behaviour as the + // linux implementation, we wrap around the system calls and pass in NULL when + // dest is empty. + var destp *byte + if len(dest) > 0 { + destp = &dest[0] + } + return destp +} + +//sys getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + return getxattr(path, attr, xattrPointer(dest), len(dest), 0, 0) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + return getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW) +} + +//sys fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + return fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0) +} + +//sys setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + // The parameters for the OS X implementation vary slightly compared to the + // linux system call, specifically the position parameter: + // + // linux: + // int setxattr( + // const char *path, + // const char *name, + // const void *value, + // size_t size, + // int flags + // ); + // + // darwin: + // int setxattr( + // const char *path, + // const char *name, + // void *value, + // size_t size, + // u_int32_t position, + // int options + // ); + // + // position specifies the offset within the extended attribute. In the + // current implementation, only the resource fork extended attribute makes + // use of this argument. For all others, position is reserved. We simply + // default to setting it to zero. + return setxattr(path, attr, xattrPointer(data), len(data), 0, flags) +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + return setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW) +} + +//sys fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + return fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0) +} + +//sys removexattr(path string, attr string, options int) (err error) + +func Removexattr(path string, attr string) (err error) { + // We wrap around and explicitly zero out the options provided to the OS X + // implementation of removexattr, we do so for interoperability with the + // linux variant. + return removexattr(path, attr, 0) +} + +func Lremovexattr(link string, attr string) (err error) { + return removexattr(link, attr, XATTR_NOFOLLOW) +} + +//sys fremovexattr(fd int, attr string, options int) (err error) + +func Fremovexattr(fd int, attr string) (err error) { + return fremovexattr(fd, attr, 0) +} + +//sys listxattr(path string, dest *byte, size int, options int) (sz int, err error) + +func Listxattr(path string, dest []byte) (sz int, err error) { + return listxattr(path, xattrPointer(dest), len(dest), 0) +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + return listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW) +} + +//sys flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + return flistxattr(fd, xattrPointer(dest), len(dest), 0) +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + _p0, err := BytePtrFromString(path) + if err != nil { + return err + } + + var attrList attrList + attrList.bitmapCount = ATTR_BIT_MAP_COUNT + attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME + + // order is mtime, atime: the opposite of Chtimes + attributes := [2]Timespec{times[1], times[0]} + options := 0 + if flags&AT_SYMLINK_NOFOLLOW != 0 { + options |= FSOPT_NOFOLLOW + } + return setattrlist( + _p0, + unsafe.Pointer(&attrList), + unsafe.Pointer(&attributes), + unsafe.Sizeof(attributes), + options) +} + +//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error { + // Darwin doesn't support SYS_UTIMENSAT + return ENOSYS +} + +/* + * Wrapped + */ + +//sys kill(pid int, signum int, posix int) (err error) + +func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + var length = int64(count) + err = sendfile(infd, outfd, *offset, &length, nil, 0) + written = int(length) + return +} + +//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exchangedata(path1 string, path2 string, options int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Getuid() (uid int) +//sysnb Issetugid() (tainted bool) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sys Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setprivexec(flag int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// sendfile +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_386.go new file mode 100644 index 0000000..489726f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_386.go @@ -0,0 +1,63 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,darwin + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go new file mode 100644 index 0000000..914b89b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go @@ -0,0 +1,63 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,darwin + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go new file mode 100644 index 0000000..4a284cf --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go @@ -0,0 +1,64 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/arm the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return 0, ENOSYS +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go new file mode 100644 index 0000000..52dcd88 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go @@ -0,0 +1,66 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,darwin + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/arm64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return 0, ENOSYS +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go new file mode 100644 index 0000000..4b4ae46 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go @@ -0,0 +1,31 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,go1.12 + +package unix + +import "unsafe" + +// Implemented in the runtime package (runtime/sys_darwin.go) +func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only +func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +//go:linkname syscall_syscall syscall.syscall +//go:linkname syscall_syscall6 syscall.syscall6 +//go:linkname syscall_syscall6X syscall.syscall6X +//go:linkname syscall_syscall9 syscall.syscall9 +//go:linkname syscall_rawSyscall syscall.rawSyscall +//go:linkname syscall_rawSyscall6 syscall.rawSyscall6 + +// Find the entry point for f. See comments in runtime/proc.go for the +// function of the same name. +//go:nosplit +func funcPC(f func()) uintptr { + return **(**uintptr)(unsafe.Pointer(&f)) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly.go new file mode 100644 index 0000000..260a400 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -0,0 +1,556 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// DragonFly BSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import "unsafe" + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + namlen, ok := direntNamlen(buf) + if !ok { + return 0, false + } + return (16 + namlen + 1 + 7) &^ 7, true +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pread(fd int, p []byte, offset int64) (n int, err error) { + return extpread(fd, p, 0, offset) +} + +//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return extpwrite(fd, p, 0, offset) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error { + err := sysctl(mib, old, oldlen, nil, 0) + if err != nil { + // Utsname members on Dragonfly are only 32 bytes and + // the syscall returns ENOMEM in case the actual value + // is longer. + if err == ENOMEM { + err = nil + } + } + return err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil { + return err + } + uname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil { + return err + } + uname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctlUname(mib, &uname.Release[0], &n); err != nil { + return err + } + uname.Release[unsafe.Sizeof(uname.Release)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctlUname(mib, &uname.Version[0], &n); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctlUname(mib, &uname.Machine[0], &n); err != nil { + return err + } + uname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0 + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + * TODO(jsing): Update this list for DragonFly. + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Getxattr +// Fgetxattr +// Setxattr +// Fsetxattr +// Removexattr +// Fremovexattr +// Listxattr +// Flistxattr +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go new file mode 100644 index 0000000..9babb31 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go @@ -0,0 +1,52 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,dragonfly + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd.go new file mode 100644 index 0000000..329d240 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -0,0 +1,914 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// FreeBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sync" + "unsafe" +) + +const ( + SYS_FSTAT_FREEBSD12 = 551 // { int fstat(int fd, _Out_ struct stat *sb); } + SYS_FSTATAT_FREEBSD12 = 552 // { int fstatat(int fd, _In_z_ char *path, \ + SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \ + SYS_STATFS_FREEBSD12 = 555 // { int statfs(_In_z_ char *path, \ + SYS_FSTATFS_FREEBSD12 = 556 // { int fstatfs(int fd, \ + SYS_GETFSSTAT_FREEBSD12 = 557 // { int getfsstat( \ + SYS_MKNODAT_FREEBSD12 = 559 // { int mknodat(int fd, _In_z_ char *path, \ +) + +// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html. +var ( + osreldateOnce sync.Once + osreldate uint32 +) + +// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h +const _ino64First = 1200031 + +func supportsABI(ver uint32) bool { + osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) + return osreldate >= ver +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func Pipe(p []int) (err error) { + return Pipe2(p, 0) +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return err +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, errno +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var ( + _p0 unsafe.Pointer + bufsize uintptr + oldBuf []statfs_freebsd11_t + needsConvert bool + ) + + if len(buf) > 0 { + if supportsABI(_ino64First) { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } else { + n := len(buf) + oldBuf = make([]statfs_freebsd11_t, n) + _p0 = unsafe.Pointer(&oldBuf[0]) + bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n) + needsConvert = true + } + } + var sysno uintptr = SYS_GETFSSTAT + if supportsABI(_ino64First) { + sysno = SYS_GETFSSTAT_FREEBSD12 + } + r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + if e1 == 0 && needsConvert { + for i := range oldBuf { + buf[i].convertFrom(&oldBuf[i]) + } + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Stat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, 0) + } + err = stat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Lstat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW) + } + err = lstat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstat(fd int, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstat_freebsd12(fd, st) + } + err = fstat(fd, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(fd, path, st, flags) + } + err = fstatat(fd, path, &oldStat, flags) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Statfs(path string, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return statfs_freebsd12(path, st) + } + err = statfs(path, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Fstatfs(fd int, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return fstatfs_freebsd12(fd, st) + } + err = fstatfs(fd, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Getdents(fd int, buf []byte) (n int, err error) { + return Getdirentries(fd, buf, nil) +} + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + if supportsABI(_ino64First) { + if basep == nil || unsafe.Sizeof(*basep) == 8 { + return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep))) + } + // The freebsd12 syscall needs a 64-bit base. On 32-bit machines + // we can't just use the basep passed in. See #32498. + var base uint64 = uint64(*basep) + n, err = getdirentries_freebsd12(fd, buf, &base) + *basep = uintptr(base) + if base>>32 != 0 { + // We can't stuff the base back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO is allowed by getdirentries. + err = EIO + } + return + } + + // The old syscall entries are smaller than the new. Use 1/4 of the original + // buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c). + oldBufLen := roundup(len(buf)/4, _dirblksiz) + oldBuf := make([]byte, oldBufLen) + n, err = getdirentries(fd, oldBuf, basep) + if err == nil && n > 0 { + n = convertFromDirents11(buf, oldBuf[:n]) + } + return +} + +func Mknod(path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(AT_FDCWD, path, mode, dev) + } + oldDev = int(dev) + return mknod(path, mode, oldDev) +} + +func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(fd, path, mode, dev) + } + oldDev = int(dev) + return mknodat(fd, path, mode, oldDev) +} + +// round x to the nearest multiple of y, larger or equal to x. +// +// from /usr/include/sys/param.h Macros for counting and rounding. +// #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) +func roundup(x, y int) int { + return ((x + y - 1) / y) * y +} + +func (s *Stat_t) convertFrom(old *stat_freebsd11_t) { + *s = Stat_t{ + Dev: uint64(old.Dev), + Ino: uint64(old.Ino), + Nlink: uint64(old.Nlink), + Mode: old.Mode, + Uid: old.Uid, + Gid: old.Gid, + Rdev: uint64(old.Rdev), + Atim: old.Atim, + Mtim: old.Mtim, + Ctim: old.Ctim, + Btim: old.Btim, + Size: old.Size, + Blocks: old.Blocks, + Blksize: old.Blksize, + Flags: old.Flags, + Gen: uint64(old.Gen), + } +} + +func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) { + *s = Statfs_t{ + Version: _statfsVersion, + Type: old.Type, + Flags: old.Flags, + Bsize: old.Bsize, + Iosize: old.Iosize, + Blocks: old.Blocks, + Bfree: old.Bfree, + Bavail: old.Bavail, + Files: old.Files, + Ffree: old.Ffree, + Syncwrites: old.Syncwrites, + Asyncwrites: old.Asyncwrites, + Syncreads: old.Syncreads, + Asyncreads: old.Asyncreads, + // Spare + Namemax: old.Namemax, + Owner: old.Owner, + Fsid: old.Fsid, + // Charspare + // Fstypename + // Mntfromname + // Mntonname + } + + sl := old.Fstypename[:] + n := clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Fstypename[:], old.Fstypename[:n]) + + sl = old.Mntfromname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntfromname[:], old.Mntfromname[:n]) + + sl = old.Mntonname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntonname[:], old.Mntonname[:n]) +} + +func convertFromDirents11(buf []byte, old []byte) int { + const ( + fixedSize = int(unsafe.Offsetof(Dirent{}.Name)) + oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name)) + ) + + dstPos := 0 + srcPos := 0 + for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) { + dstDirent := (*Dirent)(unsafe.Pointer(&buf[dstPos])) + srcDirent := (*dirent_freebsd11)(unsafe.Pointer(&old[srcPos])) + + reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8) + if dstPos+reclen > len(buf) { + break + } + + dstDirent.Fileno = uint64(srcDirent.Fileno) + dstDirent.Off = 0 + dstDirent.Reclen = uint16(reclen) + dstDirent.Type = srcDirent.Type + dstDirent.Pad0 = 0 + dstDirent.Namlen = uint16(srcDirent.Namlen) + dstDirent.Pad1 = 0 + + copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen]) + padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen] + for i := range padding { + padding[i] = 0 + } + + dstPos += int(dstDirent.Reclen) + srcPos += int(srcDirent.Reclen) + } + + return dstPos +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +//sys ptrace(request int, pid int, addr uintptr, data int) (err error) + +func PtraceAttach(pid int) (err error) { + return ptrace(PTRACE_ATTACH, pid, 0, 0) +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 1, signal) +} + +func PtraceDetach(pid int) (err error) { + return ptrace(PTRACE_DETACH, pid, 1, 0) +} + +func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) { + return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0) +} + +func PtraceGetFsBase(pid int, fsbase *int64) (err error) { + return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) +} + +func PtraceGetRegs(pid int, regsout *Reg) (err error) { + return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0) +} + +func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { + ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint(countin)} + err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err +} + +func PtraceLwpEvents(pid int, enable int) (err error) { + return ptrace(PTRACE_LWPEVENTS, pid, 0, enable) +} + +func PtraceLwpInfo(pid int, info uintptr) (err error) { + return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{}))) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong) +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong) +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong) +} + +func PtraceSetRegs(pid int, regs *Reg) (err error) { + return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0) +} + +func PtraceSingleStep(pid int) (err error) { + return ptrace(PTRACE_SINGLESTEP, pid, 1, 0) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys CapEnter() (err error) +//sys capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET +//sys capRightsLimit(fd int, rightsp *CapRights) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys fstat(fd int, stat *stat_freebsd11_t) (err error) +//sys fstat_freebsd12(fd int, stat *Stat_t) (err error) +//sys fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) +//sys fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) +//sys fstatfs(fd int, stat *statfs_freebsd11_t) (err error) +//sys fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys lstat(path string, stat *stat_freebsd11_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys mknod(path string, mode uint32, dev int) (err error) +//sys mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys stat(path string, stat *stat_freebsd11_t) (err error) +//sys statfs(path string, stat *statfs_freebsd11_t) (err error) +//sys statfs_freebsd12(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdents +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go new file mode 100644 index 0000000..21e0395 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go @@ -0,0 +1,52 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go new file mode 100644 index 0000000..9c945a6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go @@ -0,0 +1,52 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go new file mode 100644 index 0000000..5cd6243 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go @@ -0,0 +1,52 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go new file mode 100644 index 0000000..a318054 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go @@ -0,0 +1,52 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux.go new file mode 100644 index 0000000..637b501 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -0,0 +1,1868 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Linux system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import ( + "encoding/binary" + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +func Access(path string, mode uint32) (err error) { + return Faccessat(AT_FDCWD, path, mode, 0) +} + +func Chmod(path string, mode uint32) (err error) { + return Fchmodat(AT_FDCWD, path, mode, 0) +} + +func Chown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, 0) +} + +func Creat(path string, mode uint32) (fd int, err error) { + return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) +} + +//sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) +//sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) + +func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) { + if pathname == "" { + return fanotifyMark(fd, flags, mask, dirFd, nil) + } + p, err := BytePtrFromString(pathname) + if err != nil { + return err + } + return fanotifyMark(fd, flags, mask, dirFd, p) +} + +//sys fchmodat(dirfd int, path string, mode uint32) (err error) + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + // Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior + // and check the flags. Otherwise the mode would be applied to the symlink + // destination which is not what the user expects. + if flags&^AT_SYMLINK_NOFOLLOW != 0 { + return EINVAL + } else if flags&AT_SYMLINK_NOFOLLOW != 0 { + return EOPNOTSUPP + } + return fchmodat(dirfd, path, mode) +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetPointerInt performs an ioctl operation which sets an +// integer value on fd, using the specified request number. The ioctl +// argument is called with a pointer to the integer value, rather than +// passing the integer value directly. +func IoctlSetPointerInt(fd int, req uint, value int) error { + v := int32(value) + return ioctl(fd, req, uintptr(unsafe.Pointer(&v))) +} + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetRTCTime(fd int, value *RTCTime) error { + err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetUint32(fd int, req uint) (uint32, error) { + var value uint32 + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetRTCTime(fd int) (*RTCTime, error) { + var value RTCTime + err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) + +func Link(oldpath string, newpath string) (err error) { + return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0) +} + +func Mkdir(path string, mode uint32) (err error) { + return Mkdirat(AT_FDCWD, path, mode) +} + +func Mknod(path string, mode uint32, dev int) (err error) { + return Mknodat(AT_FDCWD, path, mode, dev) +} + +func Open(path string, mode int, perm uint32) (fd int, err error) { + return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm) +} + +//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + return openat(dirfd, path, flags|O_LARGEFILE, mode) +} + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) + +func Readlink(path string, buf []byte) (n int, err error) { + return Readlinkat(AT_FDCWD, path, buf) +} + +func Rename(oldpath string, newpath string) (err error) { + return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) +} + +func Rmdir(path string) error { + return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) +} + +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) + +func Symlink(oldpath string, newpath string) (err error) { + return Symlinkat(oldpath, AT_FDCWD, newpath) +} + +func Unlink(path string) error { + return Unlinkat(AT_FDCWD, path, 0) +} + +//sys Unlinkat(dirfd int, path string, flags int) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + var ts [2]Timespec + ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) + ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // If the utimensat syscall isn't available (utimensat was added to Linux + // in 2.6.22, Released, 8 July 2007) then fall back to utimes + var tv [2]Timeval + for i := 0; i < 2; i++ { + tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func Futimesat(dirfd int, path string, tv []Timeval) error { + if tv == nil { + return futimesat(dirfd, path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func Futimes(fd int, tv []Timeval) (err error) { + // Believe it or not, this is the best we can do on Linux + // (and is what glibc does). + return Utimes("/proc/self/fd/"+itoa(fd), tv) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + n, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + // Getcwd returns the number of bytes written to buf, including the NUL. + if n < 1 || n > len(buf) || buf[n-1] != 0 { + return "", EINVAL + } + return string(buf[0 : n-1]), nil +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 1<<16 on Linux. + if n < 0 || n > 1<<20 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +type WaitStatus uint32 + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. At least that's the idea. +// There are various irregularities. For example, the +// "continued" status is 0xFFFF, distinguishing itself +// from stopped via the core dump bit. + +const ( + mask = 0x7F + core = 0x80 + exited = 0x00 + stopped = 0x7F + shift = 8 +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } + +func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } + +func (w WaitStatus) Continued() bool { return w == 0xFFFF } + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int(w>>shift) & 0xFF +} + +func (w WaitStatus) Signal() syscall.Signal { + if !w.Signaled() { + return -1 + } + return syscall.Signal(w & mask) +} + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { + if w.StopSignal() != SIGTRAP { + return -1 + } + return int(w>>shift) >> 8 +} + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +func Mkfifo(path string, mode uint32) error { + return Mknod(path, mode|S_IFIFO, 0) +} + +func Mkfifoat(dirfd int, path string, mode uint32) error { + return Mknodat(dirfd, path, mode|S_IFIFO, 0) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets. +type SockaddrLinklayer struct { + Protocol uint16 + Ifindex int + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]byte + raw RawSockaddrLinklayer +} + +func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_PACKET + sa.raw.Protocol = sa.Protocol + sa.raw.Ifindex = int32(sa.Ifindex) + sa.raw.Hatype = sa.Hatype + sa.raw.Pkttype = sa.Pkttype + sa.raw.Halen = sa.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil +} + +// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets. +type SockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 + raw RawSockaddrNetlink +} + +func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_NETLINK + sa.raw.Pad = sa.Pad + sa.raw.Pid = sa.Pid + sa.raw.Groups = sa.Groups + return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil +} + +// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the HCI protocol. +type SockaddrHCI struct { + Dev uint16 + Channel uint16 + raw RawSockaddrHCI +} + +func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Dev = sa.Dev + sa.raw.Channel = sa.Channel + return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil +} + +// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the L2CAP protocol. +type SockaddrL2 struct { + PSM uint16 + CID uint16 + Addr [6]uint8 + AddrType uint8 + raw RawSockaddrL2 +} + +func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm)) + psm[0] = byte(sa.PSM) + psm[1] = byte(sa.PSM >> 8) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i] + } + cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid)) + cid[0] = byte(sa.CID) + cid[1] = byte(sa.CID >> 8) + sa.raw.Bdaddr_type = sa.AddrType + return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil +} + +// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the RFCOMM protocol. +// +// Server example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00 +// }) +// _ = Listen(fd, 1) +// nfd, sa, _ := Accept(fd) +// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd) +// Read(nfd, buf) +// +// Client example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = Connect(fd, &SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11 +// }) +// Write(fd, []byte(`hello`)) +type SockaddrRFCOMM struct { + // Addr represents a bluetooth address, byte ordering is little-endian. + Addr [6]uint8 + + // Channel is a designated bluetooth channel, only 1-30 are available for use. + // Since Linux 2.6.7 and further zero value is the first available channel. + Channel uint8 + + raw RawSockaddrRFCOMM +} + +func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Channel = sa.Channel + sa.raw.Bdaddr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil +} + +// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. +// The RxID and TxID fields are used for transport protocol addressing in +// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with +// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. +// +// The SockaddrCAN struct must be bound to the socket file descriptor +// using Bind before the CAN socket can be used. +// +// // Read one raw CAN frame +// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) +// addr := &SockaddrCAN{Ifindex: index} +// Bind(fd, addr) +// frame := make([]byte, 16) +// Read(fd, frame) +// +// The full SocketCAN documentation can be found in the linux kernel +// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt +type SockaddrCAN struct { + Ifindex int + RxID uint32 + TxID uint32 + raw RawSockaddrCAN +} + +func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_CAN + sa.raw.Ifindex = int32(sa.Ifindex) + rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i] = rx[i] + } + tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i+4] = tx[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil +} + +// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. +// SockaddrALG enables userspace access to the Linux kernel's cryptography +// subsystem. The Type and Name fields specify which type of hash or cipher +// should be used with a given socket. +// +// To create a file descriptor that provides access to a hash or cipher, both +// Bind and Accept must be used. Once the setup process is complete, input +// data can be written to the socket, processed by the kernel, and then read +// back as hash output or ciphertext. +// +// Here is an example of using an AF_ALG socket with SHA1 hashing. +// The initial socket setup process is as follows: +// +// // Open a socket to perform SHA1 hashing. +// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) +// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} +// unix.Bind(fd, addr) +// // Note: unix.Accept does not work at this time; must invoke accept() +// // manually using unix.Syscall. +// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) +// +// Once a file descriptor has been returned from Accept, it may be used to +// perform SHA1 hashing. The descriptor is not safe for concurrent use, but +// may be re-used repeatedly with subsequent Write and Read operations. +// +// When hashing a small byte slice or string, a single Write and Read may +// be used: +// +// // Assume hashfd is already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash an input string and read the results. Each Write discards +// // previous hash state. Read always reads the current state. +// b := make([]byte, 20) +// for i := 0; i < 2; i++ { +// io.WriteString(hash, "Hello, world.") +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// } +// // Output: +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// +// For hashing larger byte slices, or byte streams such as those read from +// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update +// the hash digest instead of creating a new one for a given chunk and finalizing it. +// +// // Assume hashfd and addr are already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash the contents of a file. +// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") +// b := make([]byte, 4096) +// for { +// n, err := f.Read(b) +// if err == io.EOF { +// break +// } +// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) +// } +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 +// +// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. +type SockaddrALG struct { + Type string + Name string + Feature uint32 + Mask uint32 + raw RawSockaddrALG +} + +func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) { + // Leave room for NUL byte terminator. + if len(sa.Type) > 13 { + return nil, 0, EINVAL + } + if len(sa.Name) > 63 { + return nil, 0, EINVAL + } + + sa.raw.Family = AF_ALG + sa.raw.Feat = sa.Feature + sa.raw.Mask = sa.Mask + + typ, err := ByteSliceFromString(sa.Type) + if err != nil { + return nil, 0, err + } + name, err := ByteSliceFromString(sa.Name) + if err != nil { + return nil, 0, err + } + + copy(sa.raw.Type[:], typ) + copy(sa.raw.Name[:], name) + + return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil +} + +// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. +// SockaddrVM provides access to Linux VM sockets: a mechanism that enables +// bidirectional communication between a hypervisor and its guest virtual +// machines. +type SockaddrVM struct { + // CID and Port specify a context ID and port address for a VM socket. + // Guests have a unique CID, and hosts may have a well-known CID of: + // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. + // - VMADDR_CID_HOST: refers to other processes on the host. + CID uint32 + Port uint32 + raw RawSockaddrVM +} + +func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_VSOCK + sa.raw.Port = sa.Port + sa.raw.Cid = sa.CID + + return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil +} + +type SockaddrXDP struct { + Flags uint16 + Ifindex uint32 + QueueID uint32 + SharedUmemFD uint32 + raw RawSockaddrXDP +} + +func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_XDP + sa.raw.Flags = sa.Flags + sa.raw.Ifindex = sa.Ifindex + sa.raw.Queue_id = sa.QueueID + sa.raw.Shared_umem_fd = sa.SharedUmemFD + + return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil +} + +// This constant mirrors the #define of PX_PROTO_OE in +// linux/if_pppox.h. We're defining this by hand here instead of +// autogenerating through mkerrors.sh because including +// linux/if_pppox.h causes some declaration conflicts with other +// includes (linux/if_pppox.h includes linux/in.h, which conflicts +// with netinet/in.h). Given that we only need a single zero constant +// out of that file, it's cleaner to just define it by hand here. +const px_proto_oe = 0 + +type SockaddrPPPoE struct { + SID uint16 + Remote []byte + Dev string + raw RawSockaddrPPPoX +} + +func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) { + if len(sa.Remote) != 6 { + return nil, 0, EINVAL + } + if len(sa.Dev) > IFNAMSIZ-1 { + return nil, 0, EINVAL + } + + *(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX + // This next field is in host-endian byte order. We can't use the + // same unsafe pointer cast as above, because this value is not + // 32-bit aligned and some architectures don't allow unaligned + // access. + // + // However, the value of px_proto_oe is 0, so we can use + // encoding/binary helpers to write the bytes without worrying + // about the ordering. + binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe) + // This field is deliberately big-endian, unlike the previous + // one. The kernel expects SID to be in network byte order. + binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID) + copy(sa.raw[8:14], sa.Remote) + for i := 14; i < 14+IFNAMSIZ; i++ { + sa.raw[i] = 0 + } + copy(sa.raw[14:], sa.Dev) + return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_NETLINK: + pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) + sa := new(SockaddrNetlink) + sa.Family = pp.Family + sa.Pad = pp.Pad + sa.Pid = pp.Pid + sa.Groups = pp.Groups + return sa, nil + + case AF_PACKET: + pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) + sa := new(SockaddrLinklayer) + sa.Protocol = pp.Protocol + sa.Ifindex = int(pp.Ifindex) + sa.Hatype = pp.Hatype + sa.Pkttype = pp.Pkttype + sa.Halen = pp.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + if pp.Path[0] == 0 { + // "Abstract" Unix domain socket. + // Rewrite leading NUL as @ for textual display. + // (This is the standard convention.) + // Not friendly to overwrite in place, + // but the callers below don't care. + pp.Path[0] = '@' + } + + // Assume path ends at NUL. + // This is not technically the Linux semantics for + // abstract Unix domain sockets--they are supposed + // to be uninterpreted fixed-size binary blobs--but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_VSOCK: + pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) + sa := &SockaddrVM{ + CID: pp.Cid, + Port: pp.Port, + } + return sa, nil + case AF_BLUETOOTH: + proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) + if err != nil { + return nil, err + } + // only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections + switch proto { + case BTPROTO_L2CAP: + pp := (*RawSockaddrL2)(unsafe.Pointer(rsa)) + sa := &SockaddrL2{ + PSM: pp.Psm, + CID: pp.Cid, + Addr: pp.Bdaddr, + AddrType: pp.Bdaddr_type, + } + return sa, nil + case BTPROTO_RFCOMM: + pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa)) + sa := &SockaddrRFCOMM{ + Channel: pp.Channel, + Addr: pp.Bdaddr, + } + return sa, nil + } + case AF_XDP: + pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa)) + sa := &SockaddrXDP{ + Flags: pp.Flags, + Ifindex: pp.Ifindex, + QueueID: pp.Queue_id, + SharedUmemFD: pp.Shared_umem_fd, + } + return sa, nil + case AF_PPPOX: + pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa)) + if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe { + return nil, EINVAL + } + sa := &SockaddrPPPoE{ + SID: binary.BigEndian.Uint16(pp[6:8]), + Remote: pp[8:14], + } + for i := 14; i < 14+IFNAMSIZ; i++ { + if pp[i] == 0 { + sa.Dev = string(pp[14:i]) + break + } + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { + var value Ucred + vallen := _Socklen(SizeofUcred) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { + var value TCPInfo + vallen := _Socklen(SizeofTCPInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + if err == ERANGE { + buf = make([]byte, vallen) + err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + } + if err != nil { + return "", err + } + } + return string(buf[:vallen-1]), nil +} + +func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) { + var value TpacketStats + vallen := _Socklen(SizeofTpacketStats) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) { + var value TpacketStatsV3 + vallen := _Socklen(SizeofTpacketStatsV3) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a +// socket to filter incoming packets. See 'man 7 socket' for usage information. +func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error { + return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog)) +} + +func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error { + var p unsafe.Pointer + if len(filter) > 0 { + p = unsafe.Pointer(&filter[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter)) +} + +func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + +func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + +// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) + +// KeyctlInt calls keyctl commands in which each argument is an int. +// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK, +// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT, +// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT, +// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT. +//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlBuffer calls keyctl commands in which the third and fourth +// arguments are a buffer and its length, respectively. +// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE. +//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlString calls keyctl commands which return a string. +// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY. +func KeyctlString(cmd int, id int) (string, error) { + // We must loop as the string data may change in between the syscalls. + // We could allocate a large buffer here to reduce the chance that the + // syscall needs to be called twice; however, this is unnecessary as + // the performance loss is negligible. + var buffer []byte + for { + // Try to fill the buffer with data + length, err := KeyctlBuffer(cmd, id, buffer, 0) + if err != nil { + return "", err + } + + // Check if the data was written + if length <= len(buffer) { + // Exclude the null terminator + return string(buffer[:length-1]), nil + } + + // Make a bigger buffer if needed + buffer = make([]byte, length) + } +} + +// Keyctl commands with special signatures. + +// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html +func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) { + createInt := 0 + if create { + createInt = 1 + } + return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0) +} + +// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the +// key handle permission mask as described in the "keyctl setperm" section of +// http://man7.org/linux/man-pages/man1/keyctl.1.html. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html +func KeyctlSetperm(id int, perm uint32) error { + _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0) + return err +} + +//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL + +// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html +func KeyctlJoinSessionKeyring(name string) (ringid int, err error) { + return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name) +} + +//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlSearch implements the KEYCTL_SEARCH command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_search.3.html +func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) { + return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid) +} + +//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL + +// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This +// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice +// of Iovec (each of which represents a buffer) instead of a single buffer. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html +func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error { + return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid) +} + +//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL + +// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command +// computes a Diffie-Hellman shared secret based on the provide params. The +// secret is written to the provided buffer and the returned size is the number +// of bytes written (returning an error if there is insufficient space in the +// buffer). If a nil buffer is passed in, this function returns the minimum +// buffer length needed to store the appropriate data. Note that this differs +// from KEYCTL_READ's behavior which always returns the requested payload size. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html +func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) { + return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer) +} + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return + } + // receive at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + var err error + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(ptr) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return 0, err + } + // send at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +// BindToDevice binds the socket associated with fd to device. +func BindToDevice(fd int, device string) (err error) { + return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) + +func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { + // The peek requests are machine-size oriented, so we wrap it + // to retrieve arbitrary-length data. + + // The ptrace syscall differs from glibc's ptrace. + // Peeks returns the word in *data, not as the return value. + + var buf [SizeofPtr]byte + + // Leading edge. PEEKTEXT/PEEKDATA don't require aligned + // access (PEEKUSER warns that it might), but if we don't + // align our reads, we might straddle an unmapped page + // boundary and not get the bytes leading up to the page + // boundary. + n := 0 + if addr%SizeofPtr != 0 { + err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(out, buf[addr%SizeofPtr:]) + out = out[n:] + } + + // Remainder. + for len(out) > 0 { + // We use an internal buffer to guarantee alignment. + // It's not documented if this is necessary, but we're paranoid. + err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copied := copy(out, buf[0:]) + n += copied + out = out[copied:] + } + + return n, nil +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) +} + +func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) +} + +func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { + // As for ptracePeek, we need to align our accesses to deal + // with the possibility of straddling an invalid page. + + // Leading edge. + n := 0 + if addr%SizeofPtr != 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(buf[addr%SizeofPtr:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word) + if err != nil { + return 0, err + } + data = data[n:] + } + + // Interior. + for len(data) > SizeofPtr { + word := *((*uintptr)(unsafe.Pointer(&data[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += SizeofPtr + data = data[SizeofPtr:] + } + + // Trailing edge. + if len(data) > 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copy(buf[0:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += len(data) + } + + return n, nil +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) +} + +func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data) +} + +func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +func PtraceSetOptions(pid int, options int) (err error) { + return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) +} + +func PtraceGetEventMsg(pid int) (msg uint, err error) { + var data _C_long + err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) + msg = uint(data) + return +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) +} + +func PtraceSyscall(pid int, signal int) (err error) { + return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) +} + +func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } + +func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } + +func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } + +//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) + +func Reboot(cmd int) (err error) { + return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) + +func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + // Certain file systems get rather angry and EINVAL if you give + // them an empty string of data, rather than NULL. + if data == "" { + return mount(source, target, fstype, flags, nil) + } + datap, err := BytePtrFromString(data) + if err != nil { + return err + } + return mount(source, target, fstype, flags, datap) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// Sendto +// Recvfrom +// Socketpair + +/* + * Direct access + */ +//sys Acct(path string) (err error) +//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) +//sys Adjtimex(buf *Timex) (state int, err error) +//sys Capget(hdr *CapUserHeader, data *CapUserData) (err error) +//sys Capset(hdr *CapUserHeader, data *CapUserData) (err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys ClockGetres(clockid int32, res *Timespec) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) +//sys Close(fd int) (err error) +//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys DeleteModule(name string, flags int) (err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Dup3(oldfd int, newfd int, flags int) (err error) +//sysnb EpollCreate1(flag int) (fd int, err error) +//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) +//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2 +//sys Exit(code int) = SYS_EXIT_GROUP +//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys fcntl(fd int, cmd int, arg int) (val int, err error) +//sys Fdatasync(fd int) (err error) +//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) +//sys FinitModule(fd int, params string, flags int) (err error) +//sys Flistxattr(fd int, dest []byte) (sz int, err error) +//sys Flock(fd int, how int) (err error) +//sys Fremovexattr(fd int, attr string) (err error) +//sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) +//sys Fsync(fd int) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 +//sysnb Getpgid(pid int) (pgid int, err error) + +func Getpgrp() (pid int) { + pid, _ = Getpgid(0) + return +} + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sys Getrandom(buf []byte, flags int) (n int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettid() (tid int) +//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) +//sys InitModule(moduleImage []byte, params string) (err error) +//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) +//sysnb InotifyInit1(flags int) (fd int, err error) +//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) +//sysnb Kill(pid int, sig syscall.Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG +//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error) +//sys Listxattr(path string, dest []byte) (sz int, err error) +//sys Llistxattr(path string, dest []byte) (sz int, err error) +//sys Lremovexattr(path string, attr string) (err error) +//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) +//sys MemfdCreate(name string, flags int) (fd int, err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) +//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT +//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 +//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 +//sys read(fd int, p []byte) (n int, err error) +//sys Removexattr(path string, attr string) (err error) +//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) +//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) +//sys Setns(fd int, nstype int) (err error) + +// issue 1435. +// On linux Setuid and Setgid only affects the current thread, not the process. +// This does not match what most callers expect so we must return an error +// here rather than letting the caller think that the call succeeded. + +func Setuid(uid int) (err error) { + return EOPNOTSUPP +} + +func Setgid(uid int) (err error) { + return EOPNOTSUPP +} + +func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) { + return signalfd(fd, sigmask, _C__NSIG/8, flags) +} + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setxattr(path string, attr string, data []byte, flags int) (err error) +//sys signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4 +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sys Syncfs(fd int) (err error) +//sysnb Sysinfo(info *Sysinfo_t) (err error) +//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) +//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 +//sys Unshare(flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys exitThread(code int) (err error) = SYS_EXIT +//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ +//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE + +// mmap varies by architecture; see syscall_linux_*.go. +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, +// using the specified flags. +func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { + var p unsafe.Pointer + if len(iovs) > 0 { + p = unsafe.Pointer(&iovs[0]) + } + + n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0) + if errno != 0 { + return 0, syscall.Errno(errno) + } + + return int(n), nil +} + +//sys faccessat(dirfd int, path string, mode uint32) (err error) + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 { + return EINVAL + } + + // The Linux kernel faccessat system call does not take any flags. + // The glibc faccessat implements the flags itself; see + // https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD + // Because people naturally expect syscall.Faccessat to act + // like C faccessat, we do the same. + + if flags == 0 { + return faccessat(dirfd, path, mode) + } + + var st Stat_t + if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil { + return err + } + + mode &= 7 + if mode == 0 { + return nil + } + + var uid int + if flags&AT_EACCESS != 0 { + uid = Geteuid() + } else { + uid = Getuid() + } + + if uid == 0 { + if mode&1 == 0 { + // Root can read and write any file. + return nil + } + if st.Mode&0111 != 0 { + // Root can execute any file that anybody can execute. + return nil + } + return EACCES + } + + var fmode uint32 + if uint32(uid) == st.Uid { + fmode = (st.Mode >> 6) & 7 + } else { + var gid int + if flags&AT_EACCESS != 0 { + gid = Getegid() + } else { + gid = Getgid() + } + + if uint32(gid) == st.Gid { + fmode = (st.Mode >> 3) & 7 + } else { + fmode = st.Mode & 7 + } + } + + if fmode&mode == mode { + return nil + } + + return EACCES +} + +//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT +//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT + +// fileHandle is the argument to nameToHandleAt and openByHandleAt. We +// originally tried to generate it via unix/linux/types.go with "type +// fileHandle C.struct_file_handle" but that generated empty structs +// for mips64 and mips64le. Instead, hard code it for now (it's the +// same everywhere else) until the mips64 generator issue is fixed. +type fileHandle struct { + Bytes uint32 + Type int32 +} + +// FileHandle represents the C struct file_handle used by +// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see +// OpenByHandleAt). +type FileHandle struct { + *fileHandle +} + +// NewFileHandle constructs a FileHandle. +func NewFileHandle(handleType int32, handle []byte) FileHandle { + const hdrSize = unsafe.Sizeof(fileHandle{}) + buf := make([]byte, hdrSize+uintptr(len(handle))) + copy(buf[hdrSize:], handle) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Type = handleType + fh.Bytes = uint32(len(handle)) + return FileHandle{fh} +} + +func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) } +func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type } +func (fh *FileHandle) Bytes() []byte { + n := fh.Size() + if n == 0 { + return nil + } + return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n] +} + +// NameToHandleAt wraps the name_to_handle_at system call; it obtains +// a handle for a path name. +func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) { + var mid _C_int + // Try first with a small buffer, assuming the handle will + // only be 32 bytes. + size := uint32(32 + unsafe.Sizeof(fileHandle{})) + didResize := false + for { + buf := make([]byte, size) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{})) + err = nameToHandleAt(dirfd, path, fh, &mid, flags) + if err == EOVERFLOW { + if didResize { + // We shouldn't need to resize more than once + return + } + didResize = true + size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{})) + continue + } + if err != nil { + return + } + return FileHandle{fh}, int(mid), nil + } +} + +// OpenByHandleAt wraps the open_by_handle_at system call; it opens a +// file via a handle as previously returned by NameToHandleAt. +func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) { + return openByHandleAt(mountFD, handle.fileHandle, flags) +} + +/* + * Unimplemented + */ +// AfsSyscall +// Alarm +// ArchPrctl +// Brk +// ClockNanosleep +// ClockSettime +// Clone +// EpollCtlOld +// EpollPwait +// EpollWaitOld +// Execve +// Fork +// Futex +// GetKernelSyms +// GetMempolicy +// GetRobustList +// GetThreadArea +// Getitimer +// Getpmsg +// IoCancel +// IoDestroy +// IoGetevents +// IoSetup +// IoSubmit +// IoprioGet +// IoprioSet +// KexecLoad +// LookupDcookie +// Mbind +// MigratePages +// Mincore +// ModifyLdt +// Mount +// MovePages +// MqGetsetattr +// MqNotify +// MqOpen +// MqTimedreceive +// MqTimedsend +// MqUnlink +// Mremap +// Msgctl +// Msgget +// Msgrcv +// Msgsnd +// Nfsservctl +// Personality +// Pselect6 +// Ptrace +// Putpmsg +// Quotactl +// Readahead +// Readv +// RemapFilePages +// RestartSyscall +// RtSigaction +// RtSigpending +// RtSigprocmask +// RtSigqueueinfo +// RtSigreturn +// RtSigsuspend +// RtSigtimedwait +// SchedGetPriorityMax +// SchedGetPriorityMin +// SchedGetparam +// SchedGetscheduler +// SchedRrGetInterval +// SchedSetparam +// SchedYield +// Security +// Semctl +// Semget +// Semop +// Semtimedop +// SetMempolicy +// SetRobustList +// SetThreadArea +// SetTidAddress +// Shmat +// Shmctl +// Shmdt +// Shmget +// Sigaltstack +// Swapoff +// Swapon +// Sysfs +// TimerCreate +// TimerDelete +// TimerGetoverrun +// TimerGettime +// TimerSettime +// Timerfd +// Tkill (obsolete) +// Tuxcall +// Umount2 +// Uselib +// Utimensat +// Vfork +// Vhangup +// Vserver +// Waitid +// _Sysctl diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_386.go new file mode 100644 index 0000000..e2f8cf6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -0,0 +1,386 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) +// so that go vet can check that they are correct. + +// +build 386,linux + +package unix + +import ( + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// 64-bit file system and 32-bit uid calls +// (386 default is 32-bit file system and 16-bit uid). +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) +//sys Pause() (err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +// On x86 Linux, all the socket calls go through an extra indirection, +// I think because the 5-register system call interface can't handle +// the 6-argument calls like sendto and recvfrom. Instead the +// arguments to the underlying system call are the number below +// and a pointer to an array of uintptr. We hide the pointer in the +// socketcall assembly to avoid allocation on every system call. + +const ( + // see linux/net.h + _SOCKET = 1 + _BIND = 2 + _CONNECT = 3 + _LISTEN = 4 + _ACCEPT = 5 + _GETSOCKNAME = 6 + _GETPEERNAME = 7 + _SOCKETPAIR = 8 + _SEND = 9 + _RECV = 10 + _SENDTO = 11 + _RECVFROM = 12 + _SHUTDOWN = 13 + _SETSOCKOPT = 14 + _GETSOCKOPT = 15 + _SENDMSG = 16 + _RECVMSG = 17 + _ACCEPT4 = 18 + _RECVMMSG = 19 + _SENDMMSG = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e != 0 { + err = e + } + return +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socket(domain int, typ int, proto int) (fd int, err error) { + fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e != 0 { + err = e + } + return +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) + if e != 0 { + err = e + } + return +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + if e != 0 { + err = e + } + return +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e != 0 { + err = e + } + return +} + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Listen(s int, n int) (err error) { + _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Shutdown(s, how int) (err error) { + _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go new file mode 100644 index 0000000..87a3074 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -0,0 +1,190 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb inotifyInit() (fd int, err error) + +func InotifyInit() (fd int, err error) { + // First try inotify_init1, because Android's seccomp policy blocks the latter. + fd, err = InotifyInit1(0) + if err == ENOSYS { + fd, err = inotifyInit() + } + return +} + +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + // Use fstatat, because Android's seccomp policy blocks stat. + return Fstatat(AT_FDCWD, path, stat, 0) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) + +func Gettimeofday(tv *Timeval) (err error) { + errno := gettimeofday(tv) + if errno != 0 { + return errno + } + return nil +} + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + errno := gettimeofday(&tv) + if errno != 0 { + return 0, errno + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Rip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go new file mode 100644 index 0000000..21a4946 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go @@ -0,0 +1,13 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux +// +build !gccgo + +package unix + +import "syscall" + +//go:noescape +func gettimeofday(tv *Timeval) (err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm.go new file mode 100644 index 0000000..f626794 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -0,0 +1,287 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,linux + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + // Try pipe2 first for Android O, then try pipe for kernel 2.6.23. + err = pipe2(&pp, 0) + if err == ENOSYS { + err = pipe(&pp) + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +// 64-bit file system and 32-bit uid calls +// (16-bit uid calls are not always supported in newer kernels) +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pause() (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and arm_sync_file_range syscalls differ only in the + // order of their arguments. + return armSyncFileRange(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go new file mode 100644 index 0000000..cb20b15 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -0,0 +1,223 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Dup2(oldfd int, newfd int) (err error) { + return Dup3(oldfd, newfd, 0) +} + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc.go new file mode 100644 index 0000000..c26e6ec --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc.go @@ -0,0 +1,14 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,!gccgo + +package unix + +// SyscallNoError may be used instead of Syscall for syscalls that don't fail. +func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) + +// RawSyscallNoError may be used instead of RawSyscall for syscalls that don't +// fail. +func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go new file mode 100644 index 0000000..070bd38 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,!gccgo,386 + +package unix + +import "syscall" + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go new file mode 100644 index 0000000..308eb7a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go @@ -0,0 +1,30 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,gccgo,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} + +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go new file mode 100644 index 0000000..aa7fc9e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go @@ -0,0 +1,20 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,gccgo,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go new file mode 100644 index 0000000..b3b21ec --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -0,0 +1,222 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips64 mips64le + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +type stat_t struct { + Dev uint32 + Pad0 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad1 [3]uint32 + Size int64 + Atime uint32 + Atime_nsec uint32 + Mtime uint32 + Mtime_nsec uint32 + Ctime uint32 + Ctime_nsec uint32 + Blksize uint32 + Pad2 uint32 + Blocks int64 +} + +//sys fstat(fd int, st *stat_t) (err error) +//sys fstatat(dirfd int, path string, st *stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys lstat(path string, st *stat_t) (err error) +//sys stat(path string, st *stat_t) (err error) + +func Fstat(fd int, s *Stat_t) (err error) { + st := &stat_t{} + err = fstat(fd, st) + fillStat_t(s, st) + return +} + +func Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) { + st := &stat_t{} + err = fstatat(dirfd, path, st, flags) + fillStat_t(s, st) + return +} + +func Lstat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = lstat(path, st) + fillStat_t(s, st) + return +} + +func Stat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = stat(path, st) + fillStat_t(s, st) + return +} + +func fillStat_t(s *Stat_t, st *stat_t) { + s.Dev = st.Dev + s.Ino = st.Ino + s.Mode = st.Mode + s.Nlink = st.Nlink + s.Uid = st.Uid + s.Gid = st.Gid + s.Rdev = st.Rdev + s.Size = st.Size + s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} + s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} + s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} + s.Blksize = st.Blksize + s.Blocks = st.Blocks +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go new file mode 100644 index 0000000..5144d4e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -0,0 +1,234 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + +//sys Pause() (err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + p, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) + if e != 0 { + err = errnoErr(e) + } + return +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe() (p1 int, p2 int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go new file mode 100644 index 0000000..0a100b6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -0,0 +1,152 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64 ppc64le + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (r *PtraceRegs) PC() uint64 { return r.Nip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and sync_file_range2 syscalls differ only in the + // order of their arguments. + return syncFileRange2(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go new file mode 100644 index 0000000..6230f64 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -0,0 +1,226 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build riscv64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Dup2(oldfd int, newfd int) (err error) { + return Dup3(oldfd, newfd, 0) +} + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go new file mode 100644 index 0000000..f81dbdc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -0,0 +1,338 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,linux + +package unix + +import ( + "unsafe" +) + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. +// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + mmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)} + r0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// On s390x Linux, all the socket calls go through an extra indirection. +// The arguments to the underlying system call (SYS_SOCKETCALL) are the +// number below and a pointer to an array of uintptr. +const ( + // see linux/net.h + netSocket = 1 + netBind = 2 + netConnect = 3 + netListen = 4 + netAccept = 5 + netGetSockName = 6 + netGetPeerName = 7 + netSocketPair = 8 + netSend = 9 + netRecv = 10 + netSendTo = 11 + netRecvFrom = 12 + netShutdown = 13 + netSetSockOpt = 14 + netGetSockOpt = 15 + netSendMsg = 16 + netRecvMsg = 17 + netAccept4 = 18 + netRecvMMsg = 19 + netSendMMsg = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { + args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) error { + args := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socket(domain int, typ int, proto int) (int, error) { + args := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)} + fd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error { + args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))} + _, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { + args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} + _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func Listen(s int, n int) error { + args := [2]uintptr{uintptr(s), uintptr(n)} + _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func Shutdown(s, how int) error { + args := [2]uintptr{uintptr(s), uintptr(how)} + _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go new file mode 100644 index 0000000..b695656 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -0,0 +1,147 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build sparc64,linux + +package unix + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func (r *PtraceRegs) PC() uint64 { return r.Tpc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd.go new file mode 100644 index 0000000..5ef3090 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -0,0 +1,655 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// NetBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { + var olen uintptr + + // Get a list of all sysctl nodes below the given MIB by performing + // a sysctl for the given MIB with CTL_QUERY appended. + mib = append(mib, CTL_QUERY) + qnode := Sysctlnode{Flags: SYSCTL_VERS_1} + qp := (*byte)(unsafe.Pointer(&qnode)) + sz := unsafe.Sizeof(qnode) + if err = sysctl(mib, nil, &olen, qp, sz); err != nil { + return nil, err + } + + // Now that we know the size, get the actual nodes. + nodes = make([]Sysctlnode, olen/sz) + np := (*byte)(unsafe.Pointer(&nodes[0])) + if err = sysctl(mib, np, &olen, qp, sz); err != nil { + return nil, err + } + + return nodes, nil +} + +func nametomib(name string) (mib []_C_int, err error) { + // Split name into components. + var parts []string + last := 0 + for i := 0; i < len(name); i++ { + if name[i] == '.' { + parts = append(parts, name[last:i]) + last = i + 1 + } + } + parts = append(parts, name[last:]) + + // Discover the nodes and construct the MIB OID. + for partno, part := range parts { + nodes, err := sysctlNodes(mib) + if err != nil { + return nil, err + } + for _, node := range nodes { + n := make([]byte, 0) + for i := range node.Name { + if node.Name[i] != 0 { + n = append(n, byte(node.Name[i])) + } + } + if string(n) == part { + mib = append(mib, _C_int(node.Num)) + break + } + } + if len(mib) != partno+1 { + return nil, EINVAL + } + } + + return mib, nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +//sysnb pipe() (fd1 int, fd2 int, err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys Getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { + return + } + + var off int64 + off, err = Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + *basep = ^uintptr(0) + return + } + *basep = uintptr(off) + if unsafe.Sizeof(*basep) == 8 { + return + } + if off>>32 != 0 { + // We can't stuff the offset back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO is allowed by getdirentries. + err = EIO + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) { + var value Ptmget + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + runtime.KeepAlive(value) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// ____semctl13 +// __clone +// __fhopen40 +// __fhstat40 +// __fhstatvfs140 +// __fstat30 +// __getcwd +// __getfh30 +// __getlogin +// __lstat30 +// __mount50 +// __msgctl13 +// __msync13 +// __ntp_gettime30 +// __posix_chown +// __posix_fchown +// __posix_lchown +// __posix_rename +// __setlogin +// __shmctl13 +// __sigaction_sigtramp +// __sigaltstack14 +// __sigpending14 +// __sigprocmask14 +// __sigsuspend14 +// __sigtimedwait +// __stat30 +// __syscall +// __vfork14 +// _ksem_close +// _ksem_destroy +// _ksem_getvalue +// _ksem_init +// _ksem_open +// _ksem_post +// _ksem_trywait +// _ksem_unlink +// _ksem_wait +// _lwp_continue +// _lwp_create +// _lwp_ctl +// _lwp_detach +// _lwp_exit +// _lwp_getname +// _lwp_getprivate +// _lwp_kill +// _lwp_park +// _lwp_self +// _lwp_setname +// _lwp_setprivate +// _lwp_suspend +// _lwp_unpark +// _lwp_unpark_all +// _lwp_wait +// _lwp_wakeup +// _pset_bind +// _sched_getaffinity +// _sched_getparam +// _sched_setaffinity +// _sched_setparam +// acct +// aio_cancel +// aio_error +// aio_fsync +// aio_read +// aio_return +// aio_suspend +// aio_write +// break +// clock_getres +// clock_gettime +// clock_settime +// compat_09_ogetdomainname +// compat_09_osetdomainname +// compat_09_ouname +// compat_10_omsgsys +// compat_10_osemsys +// compat_10_oshmsys +// compat_12_fstat12 +// compat_12_getdirentries +// compat_12_lstat12 +// compat_12_msync +// compat_12_oreboot +// compat_12_oswapon +// compat_12_stat12 +// compat_13_sigaction13 +// compat_13_sigaltstack13 +// compat_13_sigpending13 +// compat_13_sigprocmask13 +// compat_13_sigreturn13 +// compat_13_sigsuspend13 +// compat_14___semctl +// compat_14_msgctl +// compat_14_shmctl +// compat_16___sigaction14 +// compat_16___sigreturn14 +// compat_20_fhstatfs +// compat_20_fstatfs +// compat_20_getfsstat +// compat_20_statfs +// compat_30___fhstat30 +// compat_30___fstat13 +// compat_30___lstat13 +// compat_30___stat13 +// compat_30_fhopen +// compat_30_fhstat +// compat_30_fhstatvfs1 +// compat_30_getdents +// compat_30_getfh +// compat_30_ntp_gettime +// compat_30_socket +// compat_40_mount +// compat_43_fstat43 +// compat_43_lstat43 +// compat_43_oaccept +// compat_43_ocreat +// compat_43_oftruncate +// compat_43_ogetdirentries +// compat_43_ogetdtablesize +// compat_43_ogethostid +// compat_43_ogethostname +// compat_43_ogetkerninfo +// compat_43_ogetpagesize +// compat_43_ogetpeername +// compat_43_ogetrlimit +// compat_43_ogetsockname +// compat_43_okillpg +// compat_43_olseek +// compat_43_ommap +// compat_43_oquota +// compat_43_orecv +// compat_43_orecvfrom +// compat_43_orecvmsg +// compat_43_osend +// compat_43_osendmsg +// compat_43_osethostid +// compat_43_osethostname +// compat_43_osetrlimit +// compat_43_osigblock +// compat_43_osigsetmask +// compat_43_osigstack +// compat_43_osigvec +// compat_43_otruncate +// compat_43_owait +// compat_43_stat43 +// execve +// extattr_delete_fd +// extattr_delete_file +// extattr_delete_link +// extattr_get_fd +// extattr_get_file +// extattr_get_link +// extattr_list_fd +// extattr_list_file +// extattr_list_link +// extattr_set_fd +// extattr_set_file +// extattr_set_link +// extattrctl +// fchroot +// fdatasync +// fgetxattr +// fktrace +// flistxattr +// fork +// fremovexattr +// fsetxattr +// fstatvfs1 +// fsync_range +// getcontext +// getitimer +// getvfsstat +// getxattr +// ktrace +// lchflags +// lchmod +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// lgetxattr +// lio_listio +// listxattr +// llistxattr +// lremovexattr +// lseek +// lsetxattr +// lutimes +// madvise +// mincore +// minherit +// modctl +// mq_close +// mq_getattr +// mq_notify +// mq_open +// mq_receive +// mq_send +// mq_setattr +// mq_timedreceive +// mq_timedsend +// mq_unlink +// mremap +// msgget +// msgrcv +// msgsnd +// nfssvc +// ntp_adjtime +// pmc_control +// pmc_get_info +// pollts +// preadv +// profil +// pselect +// pset_assign +// pset_create +// pset_destroy +// ptrace +// pwritev +// quotactl +// rasctl +// readv +// reboot +// removexattr +// sa_enable +// sa_preempt +// sa_register +// sa_setconcurrency +// sa_stacks +// sa_yield +// sbrk +// sched_yield +// semconfig +// semget +// semop +// setcontext +// setitimer +// setxattr +// shmat +// shmdt +// shmget +// sstk +// statvfs1 +// swapctl +// sysarch +// syscall +// timer_create +// timer_delete +// timer_getoverrun +// timer_gettime +// timer_settime +// undelete +// utrace +// uuidgen +// vadvise +// vfork +// writev diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go new file mode 100644 index 0000000..24f74e5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go @@ -0,0 +1,33 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go new file mode 100644 index 0000000..6878bf7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go @@ -0,0 +1,33 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go new file mode 100644 index 0000000..dbbfcf7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go @@ -0,0 +1,33 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go new file mode 100644 index 0000000..f343446 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go @@ -0,0 +1,33 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd.go new file mode 100644 index 0000000..1a074b2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -0,0 +1,449 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// OpenBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sort" + "syscall" + "unsafe" +) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func nametomib(name string) (mib []_C_int, err error) { + i := sort.Search(len(sysctlMib), func(i int) bool { + return sysctlMib[i].ctlname >= name + }) + if i < len(sysctlMib) && sysctlMib[i].ctlname == name { + return sysctlMib[i].ctloid, nil + } + return nil, EINVAL +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +func SysctlUvmexp(name string) (*Uvmexp, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofUvmexp) + var u Uvmexp + if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofUvmexp { + return nil, EIO + } + return &u, nil +} + +//sysnb pipe(p *[2]_C_int) (err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys Getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { + return + } + + var off int64 + off, err = Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + *basep = ^uintptr(0) + return + } + *basep = uintptr(off) + if unsafe.Sizeof(*basep) == 8 { + return + } + if off>>32 != 0 { + // We can't stuff the offset back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO was allowed by getdirentries. + err = EIO + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrtable() (rtable int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setrtable(rtable int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// __getcwd +// __semctl +// __syscall +// __sysctl +// adjfreq +// break +// clock_getres +// clock_gettime +// clock_settime +// closefrom +// execve +// fcntl +// fhopen +// fhstat +// fhstatfs +// fork +// futimens +// getfh +// getgid +// getitimer +// getlogin +// getresgid +// getresuid +// getthrid +// ktrace +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// mincore +// minherit +// mount +// mquery +// msgctl +// msgget +// msgrcv +// msgsnd +// nfssvc +// nnpfspioctl +// preadv +// profil +// pwritev +// quotactl +// readv +// reboot +// renameat +// rfork +// sched_yield +// semget +// semop +// setgroups +// setitimer +// setsockopt +// shmat +// shmctl +// shmdt +// shmget +// sigaction +// sigaltstack +// sigpending +// sigprocmask +// sigreturn +// sigsuspend +// sysarch +// syscall +// threxit +// thrsigdivert +// thrsleep +// thrwakeup +// vfork +// writev diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go new file mode 100644 index 0000000..d62da60 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go @@ -0,0 +1,37 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go new file mode 100644 index 0000000..9a35334 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go @@ -0,0 +1,37 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go new file mode 100644 index 0000000..5d812aa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go @@ -0,0 +1,37 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/arm the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go new file mode 100644 index 0000000..0fb39cf --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go @@ -0,0 +1,37 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris.go new file mode 100644 index 0000000..0153a31 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -0,0 +1,754 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Solaris system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_solaris.go or syscall_unix.go. + +package unix + +import ( + "syscall" + "unsafe" +) + +// Implemented in runtime/syscall_solaris.go. +type syscallFunc uintptr + +func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 + raw RawSockaddrDatalink +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sysnb pipe(p *[2]_C_int) (n int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + n, err := pipe(&pp) + if n != 0 { + return err + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return nil +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + // Getcwd will return an error if it failed for any reason. + _, err = Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + // Check for error and sanity check group count. Newer versions of + // Solaris allow up to 1024 (NGROUPS_MAX). + if n < 0 || n > 1024 { + if err != nil { + return nil, err + } + return nil, EINVAL + } else if n == 0 { + return nil, nil + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if n == -1 { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // TODO(rsc): Can we use a single global basep for all calls? + return Getdents(fd, buf, new(uintptr)) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { + var status _C_int + rpid, err := wait4(int32(pid), &status, options, rusage) + wpid := int(rpid) + if wpid == -1 { + return wpid, err + } + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return wpid, nil +} + +//sys gethostname(buf []byte) (n int, err error) + +func Gethostname() (name string, err error) { + var buf [MaxHostNameLen]byte + n, err := gethostname(buf[:]) + if n != 0 { + return "", err + } + n = clen(buf[:]) + if n < 1 { + return "", EFAULT + } + return string(buf[:n]), nil +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) (err error) { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + var err error + if errno != 0 { + err = errno + } + return int(valptr), err +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) + if e1 != 0 { + return e1 + } + return nil +} + +//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) + +func Futimesat(dirfd int, path string, tv []Timeval) error { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + if tv == nil { + return futimesat(dirfd, pathp, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +// Solaris doesn't have an futimes function because it allows NULL to be +// specified as the path for futimesat. However, Go doesn't like +// NULL-style string interfaces, so this simple wrapper is provided. +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimesat(fd, nil, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + // Assume path ends at NUL. + // This is not technically the Solaris semantics for + // abstract Unix domain sockets -- they are supposed + // to be uninterpreted fixed-size binary blobs -- but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); n == -1 { + return + } + oobn = int(msg.Accrightslen) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys acct(path *byte) (err error) + +func Acct(path string) (err error) { + if len(path) == 0 { + // Assume caller wants to disable accounting. + return acct(nil) + } + + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + return acct(pathp) +} + +//sys __makedev(version int, major uint, minor uint) (val uint64) + +func Mkdev(major, minor uint32) uint64 { + return __makedev(NEWDEV, uint(major), uint(minor)) +} + +//sys __major(version int, dev uint64) (val uint) + +func Major(dev uint64) uint32 { + return uint32(__major(NEWDEV, dev)) +} + +//sys __minor(version int, dev uint64) (val uint) + +func Minor(dev uint64) uint32 { + return uint32(__minor(NEWDEV, dev)) +} + +/* + * Expose the ioctl function + */ + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func IoctlSetInt(fd int, req uint, value int) (err error) { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermio(fd int, req uint, value *Termio) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermio(fd int, req uint) (*Termio, error) { + var value Termio + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Creat(path string, mode uint32) (fd int, err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) +//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) +//sysnb Getgid() (gid int) +//sysnb Getpid() (pid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgid int, err error) +//sys Geteuid() (euid int) +//sys Getegid() (egid int) +//sys Getppid() (ppid int) +//sys Getpriority(which int, who int) (n int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_llisten +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Madvise(b []byte, advice int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Setuid(uid int) (err error) +//sys Shutdown(s int, how int) (err error) = libsocket.shutdown +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statvfs(path string, vfsstat *Statvfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sys Truncate(path string, length int64) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = libc.umount +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = libsendfile.sendfile +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto +//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair +//sys write(fd int, p []byte) (n int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go new file mode 100644 index 0000000..91c32dd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go @@ -0,0 +1,23 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,solaris + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix.go new file mode 100644 index 0000000..3de3756 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -0,0 +1,431 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import ( + "bytes" + "sort" + "sync" + "syscall" + "unsafe" +) + +var ( + Stdin = 0 + Stdout = 1 + Stderr = 2 +) + +// Do the interface allocations only once for common +// Errno values. +var ( + errEAGAIN error = syscall.EAGAIN + errEINVAL error = syscall.EINVAL + errENOENT error = syscall.ENOENT +) + +var ( + signalNameMapOnce sync.Once + signalNameMap map[string]syscall.Signal +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return nil + case EAGAIN: + return errEAGAIN + case EINVAL: + return errEINVAL + case ENOENT: + return errENOENT + } + return e +} + +// ErrnoName returns the error name for error number e. +func ErrnoName(e syscall.Errno) string { + i := sort.Search(len(errorList), func(i int) bool { + return errorList[i].num >= e + }) + if i < len(errorList) && errorList[i].num == e { + return errorList[i].name + } + return "" +} + +// SignalName returns the signal name for signal number s. +func SignalName(s syscall.Signal) string { + i := sort.Search(len(signalList), func(i int) bool { + return signalList[i].num >= s + }) + if i < len(signalList) && signalList[i].num == s { + return signalList[i].name + } + return "" +} + +// SignalNum returns the syscall.Signal for signal named s, +// or 0 if a signal with such name is not found. +// The signal name should start with "SIG". +func SignalNum(s string) syscall.Signal { + signalNameMapOnce.Do(func() { + signalNameMap = make(map[string]syscall.Signal) + for _, signal := range signalList { + signalNameMap[signal.name] = signal.num + } + }) + return signalNameMap[s] +} + +// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. +func clen(n []byte) int { + i := bytes.IndexByte(n, 0) + if i == -1 { + i = len(n) + } + return i +} + +// Mmap manager, for use by operating system-specific implementations. + +type mmapper struct { + sync.Mutex + active map[*byte][]byte // active mappings; key is last byte in mapping + mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) + munmap func(addr uintptr, length uintptr) error +} + +func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + if length <= 0 { + return nil, EINVAL + } + + // Map the requested memory. + addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) + if errno != nil { + return nil, errno + } + + // Slice memory layout + var sl = struct { + addr uintptr + len int + cap int + }{addr, length, length} + + // Use unsafe to turn sl into a []byte. + b := *(*[]byte)(unsafe.Pointer(&sl)) + + // Register mapping in m and return it. + p := &b[cap(b)-1] + m.Lock() + defer m.Unlock() + m.active[p] = b + return b, nil +} + +func (m *mmapper) Munmap(data []byte) (err error) { + if len(data) == 0 || len(data) != cap(data) { + return EINVAL + } + + // Find the base of the mapping. + p := &data[cap(data)-1] + m.Lock() + defer m.Unlock() + b := m.active[p] + if b == nil || &b[0] != &data[0] { + return EINVAL + } + + // Unmap the memory and update m. + if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { + return errno + } + delete(m.active, p) + return nil +} + +func Read(fd int, p []byte) (n int, err error) { + n, err = read(fd, p) + if raceenabled { + if n > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), n) + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } + } + return +} + +func Write(fd int, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = write(fd, p) + if raceenabled && n > 0 { + raceReadRange(unsafe.Pointer(&p[0]), n) + } + return +} + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +// Sockaddr represents a socket address. +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs +} + +// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func Bind(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getpeername(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getpeername(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptByte(fd, level, opt int) (value byte, err error) { + var n byte + vallen := _Socklen(1) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func GetsockoptInt(fd, level, opt int) (value int, err error) { + var n int32 + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return int(n), err +} + +func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) + return value, err +} + +func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { + var value IPMreq + vallen := _Socklen(SizeofIPMreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { + var value IPv6Mreq + vallen := _Socklen(SizeofIPv6Mreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { + var value IPv6MTUInfo + vallen := _Socklen(SizeofIPv6MTUInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { + var value ICMPv6Filter + vallen := _Socklen(SizeofICMPv6Filter) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptLinger(fd, level, opt int) (*Linger, error) { + var linger Linger + vallen := _Socklen(SizeofLinger) + err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) + return &linger, err +} + +func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { + var tv Timeval + vallen := _Socklen(unsafe.Sizeof(tv)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) + return &tv, err +} + +func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { + var n uint64 + vallen := _Socklen(8) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { + return + } + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { + ptr, n, err := to.sockaddr() + if err != nil { + return err + } + return sendto(fd, p, flags, ptr, n) +} + +func SetsockoptByte(fd, level, opt int, value byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) +} + +func SetsockoptInt(fd, level, opt int, value int) (err error) { + var n = int32(value) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) +} + +func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) +} + +func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) +} + +func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) +} + +func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { + return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) +} + +func SetsockoptString(fd, level, opt int, s string) (err error) { + var p unsafe.Pointer + if len(s) > 0 { + p = unsafe.Pointer(&[]byte(s)[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(s))) +} + +func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) +} + +func SetsockoptUint64(fd, level, opt int, value uint64) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) +} + +func Socket(domain, typ, proto int) (fd int, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } + fd, err = socket(domain, typ, proto) + return +} + +func Socketpair(domain, typ, proto int) (fd [2]int, err error) { + var fdx [2]int32 + err = socketpair(domain, typ, proto, &fdx) + if err == nil { + fd[0] = int(fdx[0]) + fd[1] = int(fdx[1]) + } + return +} + +var ioSync int64 + +func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } + +func SetNonblock(fd int, nonblocking bool) (err error) { + flag, err := fcntl(fd, F_GETFL, 0) + if err != nil { + return err + } + if nonblocking { + flag |= O_NONBLOCK + } else { + flag &= ^O_NONBLOCK + } + _, err = fcntl(fd, F_SETFL, flag) + return err +} + +// Exec calls execve(2), which replaces the calling executable in the process +// tree. argv0 should be the full path to an executable ("/bin/ls") and the +// executable name should also be the first argument in argv (["ls", "-l"]). +// envv are the environment variables that should be passed to the new +// process (["USER=go", "PWD=/tmp"]). +func Exec(argv0 string, argv []string, envv []string) error { + return syscall.Exec(argv0, argv, envv) +} + +// Lutimes sets the access and modification times tv on path. If path refers to +// a symlink, it is not dereferenced and the timestamps are set on the symlink. +// If tv is nil, the access and modification times are set to the current time. +// Otherwise tv must contain exactly 2 elements, with access time as the first +// element and modification time as the second element. +func Lutimes(path string, tv []Timeval) error { + if tv == nil { + return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW) + } + if len(tv) != 2 { + return EINVAL + } + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc.go new file mode 100644 index 0000000..1c70d1b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build !gccgo,!ppc64le,!ppc64 + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go new file mode 100644 index 0000000..86dc765 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go @@ -0,0 +1,24 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64le ppc64 +// +build !gccgo + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall(trap, a1, a2, a3) +} +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) +} +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall(trap, a1, a2, a3) +} +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/timestruct.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/timestruct.go new file mode 100644 index 0000000..4a672f5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/timestruct.go @@ -0,0 +1,82 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import "time" + +// TimespecToNsec converts a Timespec value into a number of +// nanoseconds since the Unix epoch. +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +// NsecToTimespec takes a number of nanoseconds since the Unix epoch +// and returns the corresponding Timespec value. +func NsecToTimespec(nsec int64) Timespec { + sec := nsec / 1e9 + nsec = nsec % 1e9 + if nsec < 0 { + nsec += 1e9 + sec-- + } + return setTimespec(sec, nsec) +} + +// TimeToTimespec converts t into a Timespec. +// On some 32-bit systems the range of valid Timespec values are smaller +// than that of time.Time values. So if t is out of the valid range of +// Timespec, it returns a zero Timespec and ERANGE. +func TimeToTimespec(t time.Time) (Timespec, error) { + sec := t.Unix() + nsec := int64(t.Nanosecond()) + ts := setTimespec(sec, nsec) + + // Currently all targets have either int32 or int64 for Timespec.Sec. + // If there were a new target with floating point type for it, we have + // to consider the rounding error. + if int64(ts.Sec) != sec { + return Timespec{}, ERANGE + } + return ts, nil +} + +// TimevalToNsec converts a Timeval value into a number of nanoseconds +// since the Unix epoch. +func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } + +// NsecToTimeval takes a number of nanoseconds since the Unix epoch +// and returns the corresponding Timeval value. +func NsecToTimeval(nsec int64) Timeval { + nsec += 999 // round up to microsecond + usec := nsec % 1e9 / 1e3 + sec := nsec / 1e9 + if usec < 0 { + usec += 1e6 + sec-- + } + return setTimeval(sec, usec) +} + +// Unix returns ts as the number of seconds and nanoseconds elapsed since the +// Unix epoch. +func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) +} + +// Unix returns tv as the number of seconds and nanoseconds elapsed since the +// Unix epoch. +func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 +} + +// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch. +func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) +} + +// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch. +func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/unveil_openbsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/unveil_openbsd.go new file mode 100644 index 0000000..168d5ae --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/unveil_openbsd.go @@ -0,0 +1,42 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "syscall" + "unsafe" +) + +// Unveil implements the unveil syscall. +// For more information see unveil(2). +// Note that the special case of blocking further +// unveil calls is handled by UnveilBlock. +func Unveil(path string, flags string) error { + pathPtr, err := syscall.BytePtrFromString(path) + if err != nil { + return err + } + flagsPtr, err := syscall.BytePtrFromString(flags) + if err != nil { + return err + } + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0) + if e != 0 { + return e + } + return nil +} + +// UnveilBlock blocks future unveil calls. +// For more information see unveil(2). +func UnveilBlock() error { + // Both pointers must be nil. + var pathUnsafe, flagsUnsafe unsafe.Pointer + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0) + if e != 0 { + return e + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/xattr_bsd.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/xattr_bsd.go new file mode 100644 index 0000000..30c1d71 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/xattr_bsd.go @@ -0,0 +1,240 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd netbsd + +package unix + +import ( + "strings" + "unsafe" +) + +// Derive extattr namespace and attribute name + +func xattrnamespace(fullattr string) (ns int, attr string, err error) { + s := strings.IndexByte(fullattr, '.') + if s == -1 { + return -1, "", ENOATTR + } + + namespace := fullattr[0:s] + attr = fullattr[s+1:] + + switch namespace { + case "user": + return EXTATTR_NAMESPACE_USER, attr, nil + case "system": + return EXTATTR_NAMESPACE_SYSTEM, attr, nil + default: + return -1, "", ENOATTR + } +} + +func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { + if len(dest) > idx { + return unsafe.Pointer(&dest[idx]) + } else { + return unsafe.Pointer(_zero) + } +} + +// FreeBSD and NetBSD implement their own syscalls to handle extended attributes + +func Getxattr(file string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) +} + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) +} + +// flags are unused on FreeBSD + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) + return +} + +func Setxattr(file string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) + return +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) + return +} + +func Removexattr(file string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFile(file, nsid, a) + return +} + +func Fremovexattr(fd int, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFd(fd, nsid, a) + return +} + +func Lremovexattr(link string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteLink(link, nsid, a) + return +} + +func Listxattr(file string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + // FreeBSD won't allow you to list xattrs from multiple namespaces + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) + + /* Errors accessing system attrs are ignored so that + * we can implement the Linux-like behavior of omitting errors that + * we don't have read permissions on + * + * Linux will still error if we ask for user attributes on a file that + * we don't have read permissions on, so don't ignore those errors + */ + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go new file mode 100644 index 0000000..1def8a5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go @@ -0,0 +1,1374 @@ +// mkerrors.sh -maix32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc,aix + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -maix32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3ff796dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x5 + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0xc + F_SETLKW = 0x7 + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fcf8df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fcf8df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fd79693 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3ff796bb + SIOCGIFCONFGLOB = -0x3ff79670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0x80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0x80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0x80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0x8004747e + TIOCLBIS = 0x8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0x8004747d + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0x80067411 + TIOCSETD = 0x80047401 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0x3f) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGKAP", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGSAK", "secure attention"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go new file mode 100644 index 0000000..03187de --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go @@ -0,0 +1,1375 @@ +// mkerrors.sh -maix64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,aix + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -maix64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3fef96dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLK64 = 0xc + F_SETLKW = 0xd + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fc78df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fc78df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fd79693 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3fef96bb + SIOCGIFCONFGLOB = -0x3fef9670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0xffffffff80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0xffffffff80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0xffffffff80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0xffffffff80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0xffffffff80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0xffffffff8004747e + TIOCLBIS = 0xffffffff8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0xffffffff8004747d + TIOCMBIC = 0xffffffff8004746b + TIOCMBIS = 0xffffffff8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0xffffffff80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0xffffffff80047404 + TIOCMSET = 0xffffffff8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0xffffffff80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0xffffffff80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0xffffffff80067411 + TIOCSETD = 0xffffffff80047401 + TIOCSETN = 0xffffffff8006740a + TIOCSETP = 0xffffffff80067409 + TIOCSLTC = 0xffffffff80067475 + TIOCSPGRP = 0xffffffff80047476 + TIOCSSIZE = 0xffffffff80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0xffffffff80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0xffffffff80087467 + TIOCUCNTL = 0xffffffff80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0xff) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGGRANT", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGMAX32", "secure attention"}, + {255, "SIGMAX", "signal 255"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go new file mode 100644 index 0000000..3b39d74 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go @@ -0,0 +1,1783 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x8008427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc0086924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6981 + SIOCRSLVMULTI = 0xc008693b + SIOCSDRVSPEC = 0x801c697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40087458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x20 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go new file mode 100644 index 0000000..8fe5547 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -0,0 +1,1783 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go new file mode 100644 index 0000000..7a97777 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go @@ -0,0 +1,1783 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go new file mode 100644 index 0000000..6d56d8a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -0,0 +1,1783 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go new file mode 100644 index 0000000..bbe6089 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go @@ -0,0 +1,1650 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x21 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x23 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x22 + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DEFAULTBUFSIZE = 0x1000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MAX_CLONES = 0x80 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DBF = 0xf + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0x8 + EVFILT_FS = -0xa + EVFILT_MARKER = 0xf + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xa + EVFILT_TIMER = -0x7 + EVFILT_USER = -0x9 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_NODATA = 0x1000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTEXIT_LWP = 0x10000 + EXTEXIT_PROC = 0x0 + EXTEXIT_SETINT = 0x1 + EXTEXIT_SIMPLE = 0x0 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x118e72 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NPOLLING = 0x100000 + IFF_OACTIVE = 0x400 + IFF_OACTIVE_COMPAT = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_POLLING = 0x10000 + IFF_POLLING_COMPAT = 0x10000 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SMART = 0x20 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xf3 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SKIP = 0x39 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UNKNOWN = 0x102 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHLIM = 0x28 + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PKTOPTIONS = 0x34 + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_RESETLOG = 0x37 + IP_FW_X = 0x31 + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CONTROL_END = 0xb + MADV_CONTROL_START = 0xa + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_INVAL = 0xa + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SETMAP = 0xb + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_NOCORE = 0x20000 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_NOSYNC = 0x800 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SIZEALIGN = 0x40000 + MAP_STACK = 0x400 + MAP_TRYFIXED = 0x10000 + MAP_VPAGETABLE = 0x2000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x20 + MNT_CMDFLAGS = 0xf0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x4 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_TRIM = 0x1000000 + MNT_UPDATE = 0x10000 + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0xf1f0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x1000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FBLOCKING = 0x10000 + MSG_FMASK = 0xffff0000 + MSG_FNONBLOCKING = 0x20000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_SYNC = 0x800 + MSG_TRUNC = 0x10 + MSG_UNUSED09 = 0x200 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x20000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x8000000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FAPPEND = 0x100000 + O_FASYNCWRITE = 0x800000 + O_FBLOCKING = 0x40000 + O_FMASK = 0xfc0000 + O_FNONBLOCKING = 0x80000 + O_FOFFSET = 0x200000 + O_FSYNC = 0x80 + O_FSYNCWRITE = 0x400000 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0xb + RTAX_MPLS1 = 0x8 + RTAX_MPLS2 = 0x9 + RTAX_MPLS3 = 0xa + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_MPLS1 = 0x100 + RTA_MPLS2 = 0x200 + RTA_MPLS3 = 0x400 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPLSOPS = 0x1000000 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x6 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_IWCAPSEGS = 0x400 + RTV_IWMAXSEGS = 0x200 + RTV_MSL = 0x100 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCADDRT = 0x8040720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691b + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDELRT = 0x8040720b + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8118691d + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc0206926 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPOLLCPU = 0xc020697e + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFTSOLEN = 0xc0206980 + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFPOLLCPU = 0x8020697d + SIOCSIFTSOLEN = 0x8020697f + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_CPUHINT = 0x1030 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDSPACE = 0x100a + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDB = 0x9000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_FASTKEEP = 0x80 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x20 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0x100 + TCP_MIN_WINSHIFT = 0x5 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_SIGNATURE_ENABLE = 0x10 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCISPTMASTER = 0x20007455 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VCHECKPT = 0x13 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_BCACHE_SIZE_MAX = 0x0 + VM_SWZONE_SIZE_MAX = 0x4000000000 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EASYNC = syscall.Errno(0x63) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x63) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEDIUM = syscall.Errno(0x5d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUNUSED94 = syscall.Errno(0x5e) + EUNUSED95 = syscall.Errno(0x5f) + EUNUSED96 = syscall.Errno(0x60) + EUNUSED97 = syscall.Errno(0x61) + EUNUSED98 = syscall.Errno(0x62) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCKPT = syscall.Signal(0x21) + SIGCKPTEXIT = syscall.Signal(0x22) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOMEDIUM", "no medium found"}, + {94, "EUNUSED94", "unknown error: 94"}, + {95, "EUNUSED95", "unknown error: 95"}, + {96, "EUNUSED96", "unknown error: 96"}, + {97, "EUNUSED97", "unknown error: 97"}, + {98, "EUNUSED98", "unknown error: 98"}, + {99, "ELAST", "unknown error: 99"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread Scheduler"}, + {33, "SIGCKPT", "checkPoint"}, + {34, "SIGCKPTEXIT", "checkPointExit"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go new file mode 100644 index 0000000..d2bbaab --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go @@ -0,0 +1,1793 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go new file mode 100644 index 0000000..4f8db78 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go @@ -0,0 +1,1794 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffffffffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80000 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go new file mode 100644 index 0000000..53e5de6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go @@ -0,0 +1,1802 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_CLASS_NETBSD_RAWAF = 0x2240000 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_ISO_14443 = 0x108 + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x109 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RDS = 0x109 + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WATTSTOPPER_DLM = 0x107 + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DLT_ZWAVE_R1_R2 = 0x105 + DLT_ZWAVE_R3 = 0x106 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GUARD = 0x2000 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go new file mode 100644 index 0000000..d4a192f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go @@ -0,0 +1,1794 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffffffffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80000 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_386.go new file mode 100644 index 0000000..a5e32ae --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -0,0 +1,3004 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x8000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + X86_FXSR_MAGIC = 0x0 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go new file mode 100644 index 0000000..cacabfa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -0,0 +1,3004 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ARCH_PRCTL = 0x1e + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go new file mode 100644 index 0000000..c04d5b9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -0,0 +1,3010 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x20000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETCRUNCHREGS = 0x19 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFDPIC = 0x1f + PTRACE_GETFDPIC_EXEC = 0x0 + PTRACE_GETFDPIC_INTERP = 0x1 + PTRACE_GETFPREGS = 0xe + PTRACE_GETHBPREGS = 0x1d + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVFPREGS = 0x1b + PTRACE_GETWMMXREGS = 0x12 + PTRACE_GET_THREAD_AREA = 0x16 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETCRUNCHREGS = 0x1a + PTRACE_SETFPREGS = 0xf + PTRACE_SETHBPREGS = 0x1e + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVFPREGS = 0x1c + PTRACE_SETWMMXREGS = 0x13 + PTRACE_SET_SYSCALL = 0x17 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PT_DATA_ADDR = 0x10004 + PT_TEXT_ADDR = 0x10000 + PT_TEXT_END_ADDR = 0x10008 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go new file mode 100644 index 0000000..507c44c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -0,0 +1,2995 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ESR_MAGIC = 0x45535201 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + EXTRA_MAGIC = 0x45585401 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FPSIMD_MAGIC = 0x46508001 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SVE_MAGIC = 0x53564501 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go new file mode 100644 index 0000000..dd2a894 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -0,0 +1,3011 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go new file mode 100644 index 0000000..90a401b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -0,0 +1,3011 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go new file mode 100644 index 0000000..380759e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -0,0 +1,3011 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go new file mode 100644 index 0000000..56050eb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -0,0 +1,3011 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go new file mode 100644 index 0000000..11047e0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -0,0 +1,3066 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x400000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0xc00 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go new file mode 100644 index 0000000..38bf9e8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -0,0 +1,3066 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x400000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0xc00 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go new file mode 100644 index 0000000..852a5c6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -0,0 +1,2991 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go new file mode 100644 index 0000000..42d4549 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -0,0 +1,3064 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_DISABLE_TE = 0x5010 + PTRACE_ENABLE_TE = 0x5009 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_LAST_BREAK = 0x5006 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_AREA = 0x5003 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_AREA = 0x5002 + PTRACE_PEEKUSR = 0x3 + PTRACE_PEEKUSR_AREA = 0x5000 + PTRACE_PEEK_SYSTEM_CALL = 0x5007 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_AREA = 0x5005 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_AREA = 0x5004 + PTRACE_POKEUSR = 0x6 + PTRACE_POKEUSR_AREA = 0x5001 + PTRACE_POKE_SYSTEM_CALL = 0x5008 + PTRACE_PROT = 0x15 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLEBLOCK = 0xc + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TE_ABORT_RAND = 0x5011 + PTRACE_TRACEME = 0x0 + PT_ACR0 = 0x90 + PT_ACR1 = 0x94 + PT_ACR10 = 0xb8 + PT_ACR11 = 0xbc + PT_ACR12 = 0xc0 + PT_ACR13 = 0xc4 + PT_ACR14 = 0xc8 + PT_ACR15 = 0xcc + PT_ACR2 = 0x98 + PT_ACR3 = 0x9c + PT_ACR4 = 0xa0 + PT_ACR5 = 0xa4 + PT_ACR6 = 0xa8 + PT_ACR7 = 0xac + PT_ACR8 = 0xb0 + PT_ACR9 = 0xb4 + PT_CR_10 = 0x168 + PT_CR_11 = 0x170 + PT_CR_9 = 0x160 + PT_ENDREGS = 0x1af + PT_FPC = 0xd8 + PT_FPR0 = 0xe0 + PT_FPR1 = 0xe8 + PT_FPR10 = 0x130 + PT_FPR11 = 0x138 + PT_FPR12 = 0x140 + PT_FPR13 = 0x148 + PT_FPR14 = 0x150 + PT_FPR15 = 0x158 + PT_FPR2 = 0xf0 + PT_FPR3 = 0xf8 + PT_FPR4 = 0x100 + PT_FPR5 = 0x108 + PT_FPR6 = 0x110 + PT_FPR7 = 0x118 + PT_FPR8 = 0x120 + PT_FPR9 = 0x128 + PT_GPR0 = 0x10 + PT_GPR1 = 0x18 + PT_GPR10 = 0x60 + PT_GPR11 = 0x68 + PT_GPR12 = 0x70 + PT_GPR13 = 0x78 + PT_GPR14 = 0x80 + PT_GPR15 = 0x88 + PT_GPR2 = 0x20 + PT_GPR3 = 0x28 + PT_GPR4 = 0x30 + PT_GPR5 = 0x38 + PT_GPR6 = 0x40 + PT_GPR7 = 0x48 + PT_GPR8 = 0x50 + PT_GPR9 = 0x58 + PT_IEEE_IP = 0x1a8 + PT_LASTOFF = 0x1a8 + PT_ORIGGPR2 = 0xd0 + PT_PSWADDR = 0x8 + PT_PSWMASK = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go new file mode 100644 index 0000000..cc80e7a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -0,0 +1,3060 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + ASI_LEON_DFLUSH = 0x11 + ASI_LEON_IFLUSH = 0x10 + ASI_LEON_MMUFLUSH = 0x18 + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7 + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x400000 + EFD_NONBLOCK = 0x4000 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + EMT_TAGOVF = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x400000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x7 + F_GETLK64 = 0x7 + F_GETOWN = 0x5 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x8 + F_SETLK64 = 0x8 + F_SETLKW = 0x9 + F_SETLKW64 = 0x9 + F_SETOWN = 0x6 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x400000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x4000 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x200 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x100 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x100000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x2000 + O_EXCL = 0x800 + O_FSYNC = 0x802000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x4004 + O_NOATIME = 0x200000 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x4000 + O_PATH = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x802000 + O_SYNC = 0x802000 + O_TMPFILE = 0x2010000 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPAREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPREGS64 = 0x19 + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_READDATA = 0x10 + PTRACE_READTEXT = 0x12 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPAREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPREGS64 = 0x1a + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SPARC_DETACH = 0xb + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PTRACE_WRITEDATA = 0x11 + PTRACE_WRITETEXT = 0x13 + PT_FP = 0x48 + PT_G0 = 0x10 + PT_G1 = 0x14 + PT_G2 = 0x18 + PT_G3 = 0x1c + PT_G4 = 0x20 + PT_G5 = 0x24 + PT_G6 = 0x28 + PT_G7 = 0x2c + PT_I0 = 0x30 + PT_I1 = 0x34 + PT_I2 = 0x38 + PT_I3 = 0x3c + PT_I4 = 0x40 + PT_I5 = 0x44 + PT_I6 = 0x48 + PT_I7 = 0x4c + PT_NPC = 0x8 + PT_PC = 0x4 + PT_PSR = 0x0 + PT_REGS_MAGIC = 0x57ac6c00 + PT_TNPC = 0x90 + PT_TPC = 0x88 + PT_TSTATE = 0x80 + PT_V9_FP = 0x70 + PT_V9_G0 = 0x0 + PT_V9_G1 = 0x8 + PT_V9_G2 = 0x10 + PT_V9_G3 = 0x18 + PT_V9_G4 = 0x20 + PT_V9_G5 = 0x28 + PT_V9_G6 = 0x30 + PT_V9_G7 = 0x38 + PT_V9_I0 = 0x40 + PT_V9_I1 = 0x48 + PT_V9_I2 = 0x50 + PT_V9_I3 = 0x58 + PT_V9_I4 = 0x60 + PT_V9_I5 = 0x68 + PT_V9_I6 = 0x70 + PT_V9_I7 = 0x78 + PT_V9_MAGIC = 0x9c + PT_V9_TNPC = 0x90 + PT_V9_TPC = 0x88 + PT_V9_TSTATE = 0x80 + PT_V9_Y = 0x98 + PT_WIM = 0x10 + PT_Y = 0xc + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x6 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x23 + SCM_TIMESTAMPING_OPT_STATS = 0x38 + SCM_TIMESTAMPING_PKTINFO = 0x3c + SCM_TIMESTAMPNS = 0x21 + SCM_TXTIME = 0x3f + SCM_WIFI_STATUS = 0x25 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x400000 + SFD_NONBLOCK = 0x4000 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x400000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x4000 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x8000 + SO_ATTACH_BPF = 0x34 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x35 + SO_ATTACH_REUSEPORT_EBPF = 0x36 + SO_BINDTODEVICE = 0xd + SO_BINDTOIFINDEX = 0x41 + SO_BPF_EXTENSIONS = 0x32 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0x400 + SO_BUSY_POLL = 0x30 + SO_CNX_ADVICE = 0x37 + SO_COOKIE = 0x3b + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x33 + SO_INCOMING_NAPI_ID = 0x3a + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x28 + SO_MARK = 0x22 + SO_MAX_PACING_RATE = 0x31 + SO_MEMINFO = 0x39 + SO_NOFCS = 0x27 + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x2 + SO_PASSSEC = 0x1f + SO_PEEK_OFF = 0x26 + SO_PEERCRED = 0x40 + SO_PEERGROUPS = 0x3d + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x100b + SO_RCVLOWAT = 0x800 + SO_RCVTIMEO = 0x2000 + SO_RCVTIMEO_NEW = 0x44 + SO_RCVTIMEO_OLD = 0x2000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x24 + SO_SECURITY_AUTHENTICATION = 0x5001 + SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 + SO_SELECT_ERR_QUEUE = 0x29 + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x100a + SO_SNDLOWAT = 0x1000 + SO_SNDTIMEO = 0x4000 + SO_SNDTIMEO_NEW = 0x45 + SO_SNDTIMEO_OLD = 0x4000 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x23 + SO_TIMESTAMPING_NEW = 0x43 + SO_TIMESTAMPING_OLD = 0x23 + SO_TIMESTAMPNS = 0x21 + SO_TIMESTAMPNS_NEW = 0x42 + SO_TIMESTAMPNS_OLD = 0x21 + SO_TIMESTAMP_NEW = 0x46 + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3f + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x25 + SO_ZEROCOPY = 0x3e + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x20005407 + TCGETA = 0x40125401 + TCGETS = 0x40245408 + TCGETS2 = 0x402c540c + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x20005405 + TCSBRKP = 0x5425 + TCSETA = 0x80125402 + TCSETAF = 0x80125404 + TCSETAW = 0x80125403 + TCSETS = 0x80245409 + TCSETS2 = 0x802c540d + TCSETSF = 0x8024540b + TCSETSF2 = 0x802c540f + TCSETSW = 0x8024540a + TCSETSW2 = 0x802c540e + TCXONC = 0x20005406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x2000747a + TIOCCONS = 0x20007424 + TIOCEXCL = 0x2000740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x40047400 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285443 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x40047483 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40047486 + TIOCGPTPEER = 0x20007489 + TIOCGRS485 = 0x40205441 + TIOCGSERIAL = 0x541e + TIOCGSID = 0x40047485 + TIOCGSOFTCAR = 0x40047464 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x545c + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007484 + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSETD = 0x80047401 + TIOCSIG = 0x80047488 + TIOCSISO7816 = 0xc0285444 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x80047482 + TIOCSPTLCK = 0x80047487 + TIOCSRS485 = 0xc0205442 + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x80047465 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x20005437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 + __TIOCFLUSH = 0x80047410 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EADV = syscall.Errno(0x53) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x25) + EBADE = syscall.Errno(0x66) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x5d) + EBADMSG = syscall.Errno(0x4c) + EBADR = syscall.Errno(0x67) + EBADRQC = syscall.Errno(0x6a) + EBADSLT = syscall.Errno(0x6b) + EBFONT = syscall.Errno(0x6d) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x5e) + ECOMM = syscall.Errno(0x55) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0x4e) + EDEADLOCK = syscall.Errno(0x6c) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EHWPOISON = syscall.Errno(0x87) + EIDRM = syscall.Errno(0x4d) + EILSEQ = syscall.Errno(0x7a) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x81) + EKEYREJECTED = syscall.Errno(0x83) + EKEYREVOKED = syscall.Errno(0x82) + EL2HLT = syscall.Errno(0x65) + EL2NSYNC = syscall.Errno(0x5f) + EL3HLT = syscall.Errno(0x60) + EL3RST = syscall.Errno(0x61) + ELIBACC = syscall.Errno(0x72) + ELIBBAD = syscall.Errno(0x70) + ELIBEXEC = syscall.Errno(0x6e) + ELIBMAX = syscall.Errno(0x7b) + ELIBSCN = syscall.Errno(0x7c) + ELNRNG = syscall.Errno(0x62) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x7e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x57) + ENAMETOOLONG = syscall.Errno(0x3f) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x69) + ENOBUFS = syscall.Errno(0x37) + ENOCSI = syscall.Errno(0x64) + ENODATA = syscall.Errno(0x6f) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x80) + ENOLCK = syscall.Errno(0x4f) + ENOLINK = syscall.Errno(0x52) + ENOMEDIUM = syscall.Errno(0x7d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x4b) + ENONET = syscall.Errno(0x50) + ENOPKG = syscall.Errno(0x71) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x4a) + ENOSTR = syscall.Errno(0x48) + ENOSYS = syscall.Errno(0x5a) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x85) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x73) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x5c) + EOWNERDEAD = syscall.Errno(0x84) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROTO = syscall.Errno(0x56) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x59) + EREMOTE = syscall.Errno(0x47) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x74) + ERFKILL = syscall.Errno(0x86) + EROFS = syscall.Errno(0x1e) + ERREMOTE = syscall.Errno(0x51) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x54) + ESTALE = syscall.Errno(0x46) + ESTRPIPE = syscall.Errno(0x5b) + ETIME = syscall.Errno(0x49) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x63) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x68) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x1d) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "cannot assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "transport endpoint is already connected"}, + {57, "ENOTCONN", "transport endpoint is not connected"}, + {58, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {59, "ETOOMANYREFS", "too many references: cannot splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale file handle"}, + {71, "EREMOTE", "object is remote"}, + {72, "ENOSTR", "device not a stream"}, + {73, "ETIME", "timer expired"}, + {74, "ENOSR", "out of streams resources"}, + {75, "ENOMSG", "no message of desired type"}, + {76, "EBADMSG", "bad message"}, + {77, "EIDRM", "identifier removed"}, + {78, "EDEADLK", "resource deadlock avoided"}, + {79, "ENOLCK", "no locks available"}, + {80, "ENONET", "machine is not on the network"}, + {81, "ERREMOTE", "unknown error 81"}, + {82, "ENOLINK", "link has been severed"}, + {83, "EADV", "advertise error"}, + {84, "ESRMNT", "srmount error"}, + {85, "ECOMM", "communication error on send"}, + {86, "EPROTO", "protocol error"}, + {87, "EMULTIHOP", "multihop attempted"}, + {88, "EDOTDOT", "RFS specific error"}, + {89, "EREMCHG", "remote address changed"}, + {90, "ENOSYS", "function not implemented"}, + {91, "ESTRPIPE", "streams pipe error"}, + {92, "EOVERFLOW", "value too large for defined data type"}, + {93, "EBADFD", "file descriptor in bad state"}, + {94, "ECHRNG", "channel number out of range"}, + {95, "EL2NSYNC", "level 2 not synchronized"}, + {96, "EL3HLT", "level 3 halted"}, + {97, "EL3RST", "level 3 reset"}, + {98, "ELNRNG", "link number out of range"}, + {99, "EUNATCH", "protocol driver not attached"}, + {100, "ENOCSI", "no CSI structure available"}, + {101, "EL2HLT", "level 2 halted"}, + {102, "EBADE", "invalid exchange"}, + {103, "EBADR", "invalid request descriptor"}, + {104, "EXFULL", "exchange full"}, + {105, "ENOANO", "no anode"}, + {106, "EBADRQC", "invalid request code"}, + {107, "EBADSLT", "invalid slot"}, + {108, "EDEADLOCK", "file locking deadlock error"}, + {109, "EBFONT", "bad font file format"}, + {110, "ELIBEXEC", "cannot exec a shared library directly"}, + {111, "ENODATA", "no data available"}, + {112, "ELIBBAD", "accessing a corrupted shared library"}, + {113, "ENOPKG", "package not installed"}, + {114, "ELIBACC", "can not access a needed shared library"}, + {115, "ENOTUNIQ", "name not unique on network"}, + {116, "ERESTART", "interrupted system call should be restarted"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {123, "ELIBMAX", "attempting to link in too many shared libraries"}, + {124, "ELIBSCN", ".lib section in a.out corrupted"}, + {125, "ENOMEDIUM", "no medium found"}, + {126, "EMEDIUMTYPE", "wrong medium type"}, + {127, "ECANCELED", "operation canceled"}, + {128, "ENOKEY", "required key not available"}, + {129, "EKEYEXPIRED", "key has expired"}, + {130, "EKEYREVOKED", "key has been revoked"}, + {131, "EKEYREJECTED", "key was rejected by service"}, + {132, "EOWNERDEAD", "owner died"}, + {133, "ENOTRECOVERABLE", "state not recoverable"}, + {134, "ERFKILL", "operation not possible due to RF-kill"}, + {135, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGLOST", "power failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go new file mode 100644 index 0000000..78cc04e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go @@ -0,0 +1,1772 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + EN_SW_CTL_INF = 0x1000 + EN_SW_CTL_PREC = 0x300 + EN_SW_CTL_ROUND = 0xc00 + EN_SW_DATACHAIN = 0x80 + EN_SW_DENORM = 0x2 + EN_SW_INVOP = 0x1 + EN_SW_OVERFLOW = 0x8 + EN_SW_PRECLOSS = 0x20 + EN_SW_UNDERFLOW = 0x10 + EN_SW_ZERODIV = 0x4 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go new file mode 100644 index 0000000..92185e6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go @@ -0,0 +1,1762 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x8010427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80104272 + BIOCSUDPF = 0x80104273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go new file mode 100644 index 0000000..373ad45 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go @@ -0,0 +1,1751 @@ +// mkerrors.sh -marm +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -marm _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PRI_IOFLUSH = 0x7c + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x48087446 + TIOCPTSNAME = 0x48087448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go new file mode 100644 index 0000000..fb6c604 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go @@ -0,0 +1,1762 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x8010427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80104272 + BIOCSUDPF = 0x80104273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go new file mode 100644 index 0000000..d8be045 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go @@ -0,0 +1,1654 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_COPY = 0x4 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x1ff7 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_MASK = 0x3ff000 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x10f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_SOURCE = 0x20000 + RTF_STATIC = 0x800 + RTF_TUNNEL = 0x100000 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go new file mode 100644 index 0000000..1f9e8a2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go @@ -0,0 +1,1765 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x7ff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MAXID = 0xc + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go new file mode 100644 index 0000000..79d5695 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go @@ -0,0 +1,1656 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +// +build arm,openbsd + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x3ff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x70f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go new file mode 100644 index 0000000..ec5f92d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go @@ -0,0 +1,1789 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_FILDROP_CAPTURE = 0x1 + BPF_FILDROP_DROP = 0x2 + BPF_FILDROP_PASS = 0x0 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PBB = 0x88e7 + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SWAPPABLE = 0x200000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_80211INFO = 0x15 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_CHGADDRATTR = 0x14 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELLABEL = 0x80206997 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDPWE3NEIGHBOR = 0x802069de + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGLIST = 0xc028698d + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFSFFPAGE = 0xc1126939 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYECN = 0xc02069c8 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGPWE3 = 0xc0206998 + SIOCGPWE3CTRLWORD = 0xc02069dc + SIOCGPWE3FAT = 0xc02069dd + SIOCGPWE3NEIGHBOR = 0xc21869de + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGTXHPRIO = 0xc02069c6 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYECN = 0x802069c7 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSPWE3CTRLWORD = 0x802069dc + SIOCSPWE3FAT = 0x802069dd + SIOCSPWE3NEIGHBOR = 0x821869de + SIOCSSPPPPARAMS = 0x80206993 + SIOCSTXHPRIO = 0x802069c5 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MALLOC_CONF = 0xc + VM_MAXID = 0xd + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go new file mode 100644 index 0000000..22569db --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go @@ -0,0 +1,1532 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_802 = 0x12 + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_FILE = 0x1 + AF_GOSIP = 0x16 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1a + AF_INET_OFFLOAD = 0x1e + AF_IPX = 0x17 + AF_KEY = 0x1b + AF_LAT = 0xe + AF_LINK = 0x19 + AF_LOCAL = 0x1 + AF_MAX = 0x20 + AF_NBS = 0x7 + AF_NCA = 0x1c + AF_NIT = 0x11 + AF_NS = 0x6 + AF_OSI = 0x13 + AF_OSINET = 0x15 + AF_PACKET = 0x20 + AF_POLICY = 0x1d + AF_PUP = 0x4 + AF_ROUTE = 0x18 + AF_SNA = 0xb + AF_TRILL = 0x1f + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_X25 = 0x14 + ARPHRD_ARCNET = 0x7 + ARPHRD_ATM = 0x10 + ARPHRD_AX25 = 0x3 + ARPHRD_CHAOS = 0x5 + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_FC = 0x12 + ARPHRD_FRAME = 0xf + ARPHRD_HDLC = 0x11 + ARPHRD_IB = 0x20 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IPATM = 0x13 + ARPHRD_METRICOM = 0x17 + ARPHRD_TUNNEL = 0x1f + B0 = 0x0 + B110 = 0x3 + B115200 = 0x12 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B153600 = 0x13 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B230400 = 0x14 + B2400 = 0xb + B300 = 0x7 + B307200 = 0x15 + B38400 = 0xf + B460800 = 0x16 + B4800 = 0xc + B50 = 0x1 + B57600 = 0x10 + B600 = 0x8 + B75 = 0x2 + B76800 = 0x11 + B921600 = 0x17 + B9600 = 0xd + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = -0x3fefbd89 + BIOCGDLTLIST32 = -0x3ff7bd89 + BIOCGETIF = 0x4020426b + BIOCGETLIF = 0x4078426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGRTIMEOUT32 = 0x4008427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = -0x7ffbbd90 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = -0x3ffbbd9a + BIOCSDLT = -0x7ffbbd8a + BIOCSETF = -0x7fefbd99 + BIOCSETF32 = -0x7ff7bd99 + BIOCSETIF = -0x7fdfbd94 + BIOCSETLIF = -0x7f87bd94 + BIOCSHDRCMPLT = -0x7ffbbd8b + BIOCSRTIMEOUT = -0x7fefbd86 + BIOCSRTIMEOUT32 = -0x7ff7bd86 + BIOCSSEESENT = -0x7ffbbd87 + BIOCSTCPF = -0x7fefbd8e + BIOCSUDPF = -0x7fefbd8d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_HIGHRES = 0x4 + CLOCK_LEVEL = 0xa + CLOCK_MONOTONIC = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x5 + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x3 + CLOCK_THREAD_CPUTIME_ID = 0x2 + CLOCK_VIRTUAL = 0x1 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + CSWTCH = 0x1a + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_BACNET_MS_TP = 0xa5 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FRELAY = 0x6b + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xa2 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_PPPD = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EMPTY_SET = 0x0 + EMT_CPCOVF = 0x1 + EQUALITY_CHECK = 0x0 + EXTA = 0xe + EXTB = 0xf + FD_CLOEXEC = 0x1 + FD_NFDBITS = 0x40 + FD_SETSIZE = 0x10000 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHALL = 0x1 + FLUSHDATA = 0x0 + FLUSHO = 0x2000 + F_ALLOCSP = 0xa + F_ALLOCSP64 = 0xa + F_BADFD = 0x2e + F_BLKSIZE = 0x13 + F_BLOCKS = 0x12 + F_CHKFL = 0x8 + F_COMPAT = 0x8 + F_DUP2FD = 0x9 + F_DUP2FD_CLOEXEC = 0x24 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x25 + F_FLOCK = 0x35 + F_FLOCK64 = 0x35 + F_FLOCKW = 0x36 + F_FLOCKW64 = 0x36 + F_FREESP = 0xb + F_FREESP64 = 0xb + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETXFL = 0x2d + F_HASREMOTELOCKS = 0x1a + F_ISSTREAM = 0xd + F_MANDDNY = 0x10 + F_MDACC = 0x20 + F_NODNY = 0x0 + F_NPRIV = 0x10 + F_OFD_GETLK = 0x2f + F_OFD_GETLK64 = 0x2f + F_OFD_SETLK = 0x30 + F_OFD_SETLK64 = 0x30 + F_OFD_SETLKW = 0x31 + F_OFD_SETLKW64 = 0x31 + F_PRIV = 0xf + F_QUOTACTL = 0x11 + F_RDACC = 0x1 + F_RDDNY = 0x1 + F_RDLCK = 0x1 + F_REVOKE = 0x19 + F_RMACC = 0x4 + F_RMDNY = 0x4 + F_RWACC = 0x3 + F_RWDNY = 0x3 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLK64_NBMAND = 0x2a + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETLK_NBMAND = 0x2a + F_SETOWN = 0x18 + F_SHARE = 0x28 + F_SHARE_NBMAND = 0x2b + F_UNLCK = 0x3 + F_UNLKSYS = 0x4 + F_UNSHARE = 0x29 + F_WRACC = 0x2 + F_WRDNY = 0x2 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFF_ADDRCONF = 0x80000 + IFF_ALLMULTI = 0x200 + IFF_ANYCAST = 0x400000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x7f203003b5a + IFF_COS_ENABLED = 0x200000000 + IFF_DEBUG = 0x4 + IFF_DEPRECATED = 0x40000 + IFF_DHCPRUNNING = 0x4000 + IFF_DUPLICATE = 0x4000000000 + IFF_FAILED = 0x10000000 + IFF_FIXEDMTU = 0x1000000000 + IFF_INACTIVE = 0x40000000 + IFF_INTELLIGENT = 0x400 + IFF_IPMP = 0x8000000000 + IFF_IPMP_CANTCHANGE = 0x10000000 + IFF_IPMP_INVALID = 0x1ec200080 + IFF_IPV4 = 0x1000000 + IFF_IPV6 = 0x2000000 + IFF_L3PROTECT = 0x40000000000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x800 + IFF_MULTI_BCAST = 0x1000 + IFF_NOACCEPT = 0x4000000 + IFF_NOARP = 0x80 + IFF_NOFAILOVER = 0x8000000 + IFF_NOLINKLOCAL = 0x20000000000 + IFF_NOLOCAL = 0x20000 + IFF_NONUD = 0x200000 + IFF_NORTEXCH = 0x800000 + IFF_NOTRAILERS = 0x20 + IFF_NOXMIT = 0x10000 + IFF_OFFLINE = 0x80000000 + IFF_POINTOPOINT = 0x10 + IFF_PREFERRED = 0x400000000 + IFF_PRIVATE = 0x8000 + IFF_PROMISC = 0x100 + IFF_ROUTER = 0x100000 + IFF_RUNNING = 0x40 + IFF_STANDBY = 0x20000000 + IFF_TEMPORARY = 0x800000000 + IFF_UNNUMBERED = 0x2000 + IFF_UP = 0x1 + IFF_VIRTUAL = 0x2000000000 + IFF_VRRP = 0x10000000000 + IFF_XRESOLV = 0x100000000 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6TO4 = 0xca + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_IPV4 = 0xc8 + IFT_IPV6 = 0xc9 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_AUTOCONF_MASK = 0xffff0000 + IN_AUTOCONF_NET = 0xa9fe0000 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_CLASSE_NET = 0xffffffff + IN_LOOPBACKNET = 0x7f + IN_PRIVATE12_MASK = 0xfff00000 + IN_PRIVATE12_NET = 0xac100000 + IN_PRIVATE16_MASK = 0xffff0000 + IN_PRIVATE16_NET = 0xc0a80000 + IN_PRIVATE8_MASK = 0xff000000 + IN_PRIVATE8_NET = 0xa000000 + IPPROTO_AH = 0x33 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x4 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_HELLO = 0x3f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_ND = 0x4d + IPPROTO_NONE = 0x3b + IPPROTO_OSPF = 0x59 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_UDP = 0x11 + IPV6_ADD_MEMBERSHIP = 0x9 + IPV6_BOUND_IF = 0x41 + IPV6_CHECKSUM = 0x18 + IPV6_DONTFRAG = 0x21 + IPV6_DROP_MEMBERSHIP = 0xa + IPV6_DSTOPTS = 0xf + IPV6_FLOWINFO_FLOWLABEL = 0xffff0f00 + IPV6_FLOWINFO_TCLASS = 0xf00f + IPV6_HOPLIMIT = 0xc + IPV6_HOPOPTS = 0xe + IPV6_JOIN_GROUP = 0x9 + IPV6_LEAVE_GROUP = 0xa + IPV6_MULTICAST_HOPS = 0x7 + IPV6_MULTICAST_IF = 0x6 + IPV6_MULTICAST_LOOP = 0x8 + IPV6_NEXTHOP = 0xd + IPV6_PAD1_OPT = 0x0 + IPV6_PATHMTU = 0x25 + IPV6_PKTINFO = 0xb + IPV6_PREFER_SRC_CGA = 0x20 + IPV6_PREFER_SRC_CGADEFAULT = 0x10 + IPV6_PREFER_SRC_CGAMASK = 0x30 + IPV6_PREFER_SRC_COA = 0x2 + IPV6_PREFER_SRC_DEFAULT = 0x15 + IPV6_PREFER_SRC_HOME = 0x1 + IPV6_PREFER_SRC_MASK = 0x3f + IPV6_PREFER_SRC_MIPDEFAULT = 0x1 + IPV6_PREFER_SRC_MIPMASK = 0x3 + IPV6_PREFER_SRC_NONCGA = 0x10 + IPV6_PREFER_SRC_PUBLIC = 0x4 + IPV6_PREFER_SRC_TMP = 0x8 + IPV6_PREFER_SRC_TMPDEFAULT = 0x4 + IPV6_PREFER_SRC_TMPMASK = 0xc + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x13 + IPV6_RECVHOPOPTS = 0x14 + IPV6_RECVPATHMTU = 0x24 + IPV6_RECVPKTINFO = 0x12 + IPV6_RECVRTHDR = 0x16 + IPV6_RECVRTHDRDSTOPTS = 0x17 + IPV6_RECVTCLASS = 0x19 + IPV6_RTHDR = 0x10 + IPV6_RTHDRDSTOPTS = 0x11 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SEC_OPT = 0x22 + IPV6_SRC_PREFERENCES = 0x23 + IPV6_TCLASS = 0x26 + IPV6_UNICAST_HOPS = 0x5 + IPV6_UNSPEC_SRC = 0x42 + IPV6_USE_MIN_MTU = 0x20 + IPV6_V6ONLY = 0x27 + IP_ADD_MEMBERSHIP = 0x13 + IP_ADD_SOURCE_MEMBERSHIP = 0x17 + IP_BLOCK_SOURCE = 0x15 + IP_BOUND_IF = 0x41 + IP_BROADCAST = 0x106 + IP_BROADCAST_TTL = 0x43 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPINIT_IF = 0x45 + IP_DONTFRAG = 0x1b + IP_DONTROUTE = 0x105 + IP_DROP_MEMBERSHIP = 0x14 + IP_DROP_SOURCE_MEMBERSHIP = 0x18 + IP_HDRINCL = 0x2 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x10 + IP_MULTICAST_LOOP = 0x12 + IP_MULTICAST_TTL = 0x11 + IP_NEXTHOP = 0x19 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x9 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVSLLA = 0xa + IP_RECVTTL = 0xb + IP_RETOPTS = 0x8 + IP_REUSEADDR = 0x104 + IP_SEC_OPT = 0x22 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x16 + IP_UNSPEC_SRC = 0x42 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_ACCESS_DEFAULT = 0x6 + MADV_ACCESS_LWP = 0x7 + MADV_ACCESS_MANY = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NORMAL = 0x0 + MADV_PURGE = 0x9 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80 + MAP_ALIGN = 0x200 + MAP_ANON = 0x100 + MAP_ANONYMOUS = 0x100 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_INITDATA = 0x800 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TEXT = 0x400 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CTRUNC = 0x10 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_DUPCTRL = 0x800 + MSG_EOR = 0x8 + MSG_MAXIOVLEN = 0x10 + MSG_NOTIFICATION = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x20 + MSG_WAITALL = 0x40 + MSG_XPG4_2 = 0x8000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_OLDSYNC = 0x0 + MS_SYNC = 0x4 + M_FLUSH = 0x86 + NAME_MAX = 0xff + NEWDEV = 0x1 + NL0 = 0x0 + NL1 = 0x100 + NLDLY = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + OLDDEV = 0x0 + ONBITSMAJOR = 0x7 + ONBITSMINOR = 0x8 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENFAIL = -0x1 + OPOST = 0x1 + O_ACCMODE = 0x600003 + O_APPEND = 0x8 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DSYNC = 0x40 + O_EXCL = 0x400 + O_EXEC = 0x400000 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x4 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NOLINKS = 0x40000 + O_NONBLOCK = 0x80 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x8000 + O_SEARCH = 0x200000 + O_SIOCGIFCONF = -0x3ff796ec + O_SIOCGLIFCONF = -0x3fef9688 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + O_XATTR = 0x4000 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x3 + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_NUMBITS = 0x9 + RTA_SRC = 0x100 + RTF_BLACKHOLE = 0x1000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INDIRECT = 0x40000 + RTF_KERNEL = 0x80000 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTIRT = 0x10000 + RTF_PRIVATE = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SETSRC = 0x20000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTF_ZONE = 0x100000 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0xf + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_FREEADDR = 0x10 + RTM_GET = 0x4 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_VERSION = 0x3 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_AWARE = 0x1 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_RIGHTS = 0x1010 + SCM_TIMESTAMP = 0x1013 + SCM_UCRED = 0x1012 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIG2STR_MAX = 0x20 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDRT = -0x7fcf8df6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fdb96e0 + SIOCDELMULTI = -0x7fdf96ce + SIOCDELRT = -0x7fcf8df5 + SIOCDXARP = -0x7fff9658 + SIOCGARP = -0x3fdb96e1 + SIOCGDSTINFO = -0x3fff965c + SIOCGENADDR = -0x3fdf96ab + SIOCGENPSTATS = -0x3fdf96c7 + SIOCGETLSGCNT = -0x3fef8deb + SIOCGETNAME = 0x40107334 + SIOCGETPEER = 0x40107335 + SIOCGETPROP = -0x3fff8f44 + SIOCGETSGCNT = -0x3feb8deb + SIOCGETSYNC = -0x3fdf96d3 + SIOCGETVIFCNT = -0x3feb8dec + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fdf96f3 + SIOCGIFBRDADDR = -0x3fdf96e9 + SIOCGIFCONF = -0x3ff796a4 + SIOCGIFDSTADDR = -0x3fdf96f1 + SIOCGIFFLAGS = -0x3fdf96ef + SIOCGIFHWADDR = -0x3fdf9647 + SIOCGIFINDEX = -0x3fdf96a6 + SIOCGIFMEM = -0x3fdf96ed + SIOCGIFMETRIC = -0x3fdf96e5 + SIOCGIFMTU = -0x3fdf96ea + SIOCGIFMUXID = -0x3fdf96a8 + SIOCGIFNETMASK = -0x3fdf96e7 + SIOCGIFNUM = 0x40046957 + SIOCGIP6ADDRPOLICY = -0x3fff965e + SIOCGIPMSFILTER = -0x3ffb964c + SIOCGLIFADDR = -0x3f87968f + SIOCGLIFBINDING = -0x3f879666 + SIOCGLIFBRDADDR = -0x3f879685 + SIOCGLIFCONF = -0x3fef965b + SIOCGLIFDADSTATE = -0x3f879642 + SIOCGLIFDSTADDR = -0x3f87968d + SIOCGLIFFLAGS = -0x3f87968b + SIOCGLIFGROUPINFO = -0x3f4b9663 + SIOCGLIFGROUPNAME = -0x3f879664 + SIOCGLIFHWADDR = -0x3f879640 + SIOCGLIFINDEX = -0x3f87967b + SIOCGLIFLNKINFO = -0x3f879674 + SIOCGLIFMETRIC = -0x3f879681 + SIOCGLIFMTU = -0x3f879686 + SIOCGLIFMUXID = -0x3f87967d + SIOCGLIFNETMASK = -0x3f879683 + SIOCGLIFNUM = -0x3ff3967e + SIOCGLIFSRCOF = -0x3fef964f + SIOCGLIFSUBNET = -0x3f879676 + SIOCGLIFTOKEN = -0x3f879678 + SIOCGLIFUSESRC = -0x3f879651 + SIOCGLIFZONE = -0x3f879656 + SIOCGLOWAT = 0x40047303 + SIOCGMSFILTER = -0x3ffb964e + SIOCGPGRP = 0x40047309 + SIOCGSTAMP = -0x3fef9646 + SIOCGXARP = -0x3fff9659 + SIOCIFDETACH = -0x7fdf96c8 + SIOCILB = -0x3ffb9645 + SIOCLIFADDIF = -0x3f879691 + SIOCLIFDELND = -0x7f879673 + SIOCLIFGETND = -0x3f879672 + SIOCLIFREMOVEIF = -0x7f879692 + SIOCLIFSETND = -0x7f879671 + SIOCLOWER = -0x7fdf96d7 + SIOCSARP = -0x7fdb96e2 + SIOCSCTPGOPT = -0x3fef9653 + SIOCSCTPPEELOFF = -0x3ffb9652 + SIOCSCTPSOPT = -0x7fef9654 + SIOCSENABLESDP = -0x3ffb9649 + SIOCSETPROP = -0x7ffb8f43 + SIOCSETSYNC = -0x7fdf96d4 + SIOCSHIWAT = -0x7ffb8d00 + SIOCSIFADDR = -0x7fdf96f4 + SIOCSIFBRDADDR = -0x7fdf96e8 + SIOCSIFDSTADDR = -0x7fdf96f2 + SIOCSIFFLAGS = -0x7fdf96f0 + SIOCSIFINDEX = -0x7fdf96a5 + SIOCSIFMEM = -0x7fdf96ee + SIOCSIFMETRIC = -0x7fdf96e4 + SIOCSIFMTU = -0x7fdf96eb + SIOCSIFMUXID = -0x7fdf96a7 + SIOCSIFNAME = -0x7fdf96b7 + SIOCSIFNETMASK = -0x7fdf96e6 + SIOCSIP6ADDRPOLICY = -0x7fff965d + SIOCSIPMSFILTER = -0x7ffb964b + SIOCSLGETREQ = -0x3fdf96b9 + SIOCSLIFADDR = -0x7f879690 + SIOCSLIFBRDADDR = -0x7f879684 + SIOCSLIFDSTADDR = -0x7f87968e + SIOCSLIFFLAGS = -0x7f87968c + SIOCSLIFGROUPNAME = -0x7f879665 + SIOCSLIFINDEX = -0x7f87967a + SIOCSLIFLNKINFO = -0x7f879675 + SIOCSLIFMETRIC = -0x7f879680 + SIOCSLIFMTU = -0x7f879687 + SIOCSLIFMUXID = -0x7f87967c + SIOCSLIFNAME = -0x3f87967f + SIOCSLIFNETMASK = -0x7f879682 + SIOCSLIFPREFIX = -0x3f879641 + SIOCSLIFSUBNET = -0x7f879677 + SIOCSLIFTOKEN = -0x7f879679 + SIOCSLIFUSESRC = -0x7f879650 + SIOCSLIFZONE = -0x7f879655 + SIOCSLOWAT = -0x7ffb8cfe + SIOCSLSTAT = -0x7fdf96b8 + SIOCSMSFILTER = -0x7ffb964d + SIOCSPGRP = -0x7ffb8cf8 + SIOCSPROMISC = -0x7ffb96d0 + SIOCSQPTR = -0x3ffb9648 + SIOCSSDSTATS = -0x3fdf96d2 + SIOCSSESTATS = -0x3fdf96d1 + SIOCSXARP = -0x7fff965a + SIOCTMYADDR = -0x3ff79670 + SIOCTMYSITE = -0x3ff7966e + SIOCTONLINK = -0x3ff7966f + SIOCUPPER = -0x7fdf96d8 + SIOCX25RCV = -0x3fdf96c4 + SIOCX25TBL = -0x3fdf96c3 + SIOCX25XMT = -0x3fdf96c5 + SIOCXPROTO = 0x20007337 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NDELAY = 0x200000 + SOCK_NONBLOCK = 0x100000 + SOCK_RAW = 0x4 + SOCK_RDM = 0x5 + SOCK_SEQPACKET = 0x6 + SOCK_STREAM = 0x2 + SOCK_TYPE_MASK = 0xffff + SOL_FILTER = 0xfffc + SOL_PACKET = 0xfffd + SOL_ROUTE = 0xfffe + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ALL = 0x3f + SO_ALLZONES = 0x1014 + SO_ANON_MLP = 0x100a + SO_ATTACH_FILTER = 0x40000001 + SO_BAND = 0x4000 + SO_BROADCAST = 0x20 + SO_COPYOPT = 0x80000 + SO_DEBUG = 0x1 + SO_DELIM = 0x8000 + SO_DETACH_FILTER = 0x40000002 + SO_DGRAM_ERRIND = 0x200 + SO_DOMAIN = 0x100c + SO_DONTLINGER = -0x81 + SO_DONTROUTE = 0x10 + SO_ERROPT = 0x40000 + SO_ERROR = 0x1007 + SO_EXCLBIND = 0x1015 + SO_HIWAT = 0x10 + SO_ISNTTY = 0x800 + SO_ISTTY = 0x400 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOWAT = 0x20 + SO_MAC_EXEMPT = 0x100b + SO_MAC_IMPLICIT = 0x1016 + SO_MAXBLK = 0x100000 + SO_MAXPSZ = 0x8 + SO_MINPSZ = 0x4 + SO_MREADOFF = 0x80 + SO_MREADON = 0x40 + SO_NDELOFF = 0x200 + SO_NDELON = 0x100 + SO_NODELIM = 0x10000 + SO_OOBINLINE = 0x100 + SO_PROTOTYPE = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVPSH = 0x100d + SO_RCVTIMEO = 0x1006 + SO_READOPT = 0x1 + SO_RECVUCRED = 0x400 + SO_REUSEADDR = 0x4 + SO_SECATTR = 0x1011 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STRHOLD = 0x20000 + SO_TAIL = 0x200000 + SO_TIMESTAMP = 0x1013 + SO_TONSTOP = 0x2000 + SO_TOSTOP = 0x1000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_VRRP = 0x1017 + SO_WROFF = 0x2 + S_ENFMT = 0x400 + S_IAMB = 0x1ff + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFDOOR = 0xd000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFNAM = 0x5000 + S_IFPORT = 0xe000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_INSEM = 0x1 + S_INSHD = 0x2 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_ABORT_THRESHOLD = 0x11 + TCP_ANONPRIVBIND = 0x20 + TCP_CONN_ABORT_THRESHOLD = 0x13 + TCP_CONN_NOTIFY_THRESHOLD = 0x12 + TCP_CORK = 0x18 + TCP_EXCLBIND = 0x21 + TCP_INIT_CWND = 0x15 + TCP_KEEPALIVE = 0x8 + TCP_KEEPALIVE_ABORT_THRESHOLD = 0x17 + TCP_KEEPALIVE_THRESHOLD = 0x16 + TCP_KEEPCNT = 0x23 + TCP_KEEPIDLE = 0x22 + TCP_KEEPINTVL = 0x24 + TCP_LINGER2 = 0x1c + TCP_MAXSEG = 0x2 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOTIFY_THRESHOLD = 0x10 + TCP_RECVDSTADDR = 0x14 + TCP_RTO_INITIAL = 0x19 + TCP_RTO_MAX = 0x1b + TCP_RTO_MIN = 0x1a + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETSF = 0x5410 + TCSETSW = 0x540f + TCXONC = 0x5406 + TIOC = 0x5400 + TIOCCBRK = 0x747a + TIOCCDTR = 0x7478 + TIOCCILOOP = 0x746c + TIOCEXCL = 0x740d + TIOCFLUSH = 0x7410 + TIOCGETC = 0x7412 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x7414 + TIOCGPPS = 0x547d + TIOCGPPSEV = 0x547f + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5469 + TIOCGWINSZ = 0x5468 + TIOCHPCL = 0x7402 + TIOCKBOF = 0x5409 + TIOCKBON = 0x5408 + TIOCLBIC = 0x747e + TIOCLBIS = 0x747f + TIOCLGET = 0x747c + TIOCLSET = 0x747d + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMSET = 0x741a + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x7471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7473 + TIOCREMOTE = 0x741e + TIOCSBRK = 0x747b + TIOCSCTTY = 0x7484 + TIOCSDTR = 0x7479 + TIOCSETC = 0x7411 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIGNAL = 0x741f + TIOCSILOOP = 0x746d + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x7415 + TIOCSPPS = 0x547e + TIOCSSOFTCAR = 0x546a + TIOCSTART = 0x746e + TIOCSTI = 0x7417 + TIOCSTOP = 0x746f + TIOCSWINSZ = 0x5467 + TOSTOP = 0x100 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VCEOF = 0x8 + VCEOL = 0x9 + VDISCARD = 0xd + VDSUSP = 0xb + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VERASE2 = 0x11 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTATUS = 0x10 + VSTOP = 0x9 + VSUSP = 0xa + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WCONTFLG = 0xffff + WCONTINUED = 0x8 + WCOREFLG = 0x80 + WEXITED = 0x1 + WNOHANG = 0x40 + WNOWAIT = 0x80 + WOPTMASK = 0xcf + WRAP = 0x20000 + WSIGMASK = 0x7f + WSTOPFLG = 0x7f + WSTOPPED = 0x4 + WTRAPPED = 0x2 + WUNTRACED = 0x4 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x39) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x2f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x31) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOCKUNMAPPED = syscall.Errno(0x48) + ELOOP = syscall.Errno(0x5a) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTACTIVE = syscall.Errno(0x49) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTRECOVERABLE = syscall.Errno(0x3b) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x30) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0x3a) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMOTE = syscall.Errno(0x42) + ERESTART = syscall.Errno(0x5b) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCANCEL = syscall.Signal(0x24) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGFREEZE = syscall.Signal(0x22) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x29) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGJVM1 = syscall.Signal(0x27) + SIGJVM2 = syscall.Signal(0x28) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x25) + SIGLWP = syscall.Signal(0x21) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHAW = syscall.Signal(0x23) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWAITING = syscall.Signal(0x20) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) + SIGXRES = syscall.Signal(0x26) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock situation detected/avoided"}, + {46, "ENOLCK", "no record locks available"}, + {47, "ECANCELED", "operation canceled"}, + {48, "ENOTSUP", "operation not supported"}, + {49, "EDQUOT", "disc quota exceeded"}, + {50, "EBADE", "bad exchange descriptor"}, + {51, "EBADR", "bad request descriptor"}, + {52, "EXFULL", "message tables full"}, + {53, "ENOANO", "anode table overflow"}, + {54, "EBADRQC", "bad request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock"}, + {57, "EBFONT", "bad font file format"}, + {58, "EOWNERDEAD", "owner of the lock died"}, + {59, "ENOTRECOVERABLE", "lock is not recoverable"}, + {60, "ENOSTR", "not a stream device"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of stream resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "ELOCKUNMAPPED", "locked lock was unmapped "}, + {73, "ENOTACTIVE", "facility is not active"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "not a data message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in more shared libraries than system limit"}, + {87, "ELIBEXEC", "can not exec a shared library directly"}, + {88, "EILSEQ", "illegal byte sequence"}, + {89, "ENOSYS", "operation not applicable"}, + {90, "ELOOP", "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"}, + {91, "ERESTART", "error 91"}, + {92, "ESTRPIPE", "error 92"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "option not supported by protocol"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "EOPNOTSUPP", "operation not supported on transport endpoint"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection because of reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {143, "ESHUTDOWN", "cannot send after socket shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale NFS file handle"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal Instruction"}, + {5, "SIGTRAP", "trace/Breakpoint Trap"}, + {6, "SIGABRT", "abort"}, + {7, "SIGEMT", "emulation Trap"}, + {8, "SIGFPE", "arithmetic Exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus Error"}, + {11, "SIGSEGV", "segmentation Fault"}, + {12, "SIGSYS", "bad System Call"}, + {13, "SIGPIPE", "broken Pipe"}, + {14, "SIGALRM", "alarm Clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user Signal 1"}, + {17, "SIGUSR2", "user Signal 2"}, + {18, "SIGCHLD", "child Status Changed"}, + {19, "SIGPWR", "power-Fail/Restart"}, + {20, "SIGWINCH", "window Size Change"}, + {21, "SIGURG", "urgent Socket Condition"}, + {22, "SIGIO", "pollable Event"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped (user)"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual Timer Expired"}, + {29, "SIGPROF", "profiling Timer Expired"}, + {30, "SIGXCPU", "cpu Limit Exceeded"}, + {31, "SIGXFSZ", "file Size Limit Exceeded"}, + {32, "SIGWAITING", "no runnable lwp"}, + {33, "SIGLWP", "inter-lwp signal"}, + {34, "SIGFREEZE", "checkpoint Freeze"}, + {35, "SIGTHAW", "checkpoint Thaw"}, + {36, "SIGCANCEL", "thread Cancellation"}, + {37, "SIGLOST", "resource Lost"}, + {38, "SIGXRES", "resource Control Exceeded"}, + {39, "SIGJVM1", "reserved for JVM 1"}, + {40, "SIGJVM2", "reserved for JVM 2"}, + {41, "SIGINFO", "information Request"}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptrace386_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptrace386_linux.go new file mode 100644 index 0000000..2d21c49 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptrace386_linux.go @@ -0,0 +1,80 @@ +// Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT. + +// +build linux +// +build 386 amd64 + +package unix + +import "unsafe" + +// PtraceRegs386 is the registers used by 386 binaries. +type PtraceRegs386 struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +// PtraceGetRegs386 fetches the registers used by 386 binaries. +func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegs386 sets the registers used by 386 binaries. +func PtraceSetRegs386(pid int, regs *PtraceRegs386) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsAmd64 is the registers used by amd64 binaries. +type PtraceRegsAmd64 struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries. +func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsAmd64 sets the registers used by amd64 binaries. +func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracearm_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracearm_linux.go new file mode 100644 index 0000000..faf23bb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracearm_linux.go @@ -0,0 +1,41 @@ +// Code generated by linux/mkall.go generatePtracePair(arm, arm64). DO NOT EDIT. + +// +build linux +// +build arm arm64 + +package unix + +import "unsafe" + +// PtraceRegsArm is the registers used by arm binaries. +type PtraceRegsArm struct { + Uregs [18]uint32 +} + +// PtraceGetRegsArm fetches the registers used by arm binaries. +func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm sets the registers used by arm binaries. +func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsArm64 is the registers used by arm64 binaries. +type PtraceRegsArm64 struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +// PtraceGetRegsArm64 fetches the registers used by arm64 binaries. +func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm64 sets the registers used by arm64 binaries. +func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemips_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemips_linux.go new file mode 100644 index 0000000..c431131 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemips_linux.go @@ -0,0 +1,50 @@ +// Code generated by linux/mkall.go generatePtracePair(mips, mips64). DO NOT EDIT. + +// +build linux +// +build mips mips64 + +package unix + +import "unsafe" + +// PtraceRegsMips is the registers used by mips binaries. +type PtraceRegsMips struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips fetches the registers used by mips binaries. +func PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips sets the registers used by mips binaries. +func PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64 is the registers used by mips64 binaries. +type PtraceRegsMips64 struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64 fetches the registers used by mips64 binaries. +func PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64 sets the registers used by mips64 binaries. +func PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go new file mode 100644 index 0000000..dc3d6d3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go @@ -0,0 +1,50 @@ +// Code generated by linux/mkall.go generatePtracePair(mipsle, mips64le). DO NOT EDIT. + +// +build linux +// +build mipsle mips64le + +package unix + +import "unsafe" + +// PtraceRegsMipsle is the registers used by mipsle binaries. +type PtraceRegsMipsle struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMipsle fetches the registers used by mipsle binaries. +func PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMipsle sets the registers used by mipsle binaries. +func PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64le is the registers used by mips64le binaries. +type PtraceRegsMips64le struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64le fetches the registers used by mips64le binaries. +func PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64le sets the registers used by mips64le binaries. +func PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go new file mode 100644 index 0000000..ed657ff --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -0,0 +1,1484 @@ +// go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc + +package unix + +/* +#include +#include +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); +int getrlimit64(int, uintptr_t); +int setrlimit64(int, uintptr_t); +long long lseek64(int, long long, int); +uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimes(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))), C.int(flag)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getcwd(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, er := C.accept(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getdirent(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, er := C.wait4(C.int(pid), C.uintptr_t(uintptr(unsafe.Pointer(status))), C.int(options), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + wpid = Pid_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + r = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(uintptr(unsafe.Pointer(lk)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + val = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.acct(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chdir(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chroot(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + r0, er := C.close(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, er := C.dup(C.int(oldfd)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + C.exit(C.int(code)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + r0, er := C.fchdir(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + r0, er := C.fchmod(C.int(fd), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + r0, er := C.fdatasync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + r0, er := C.fsync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, er := C.getpgid(C.int(pid)) + pgid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := C.getpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := C.getpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := C.getppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, er := C.getpriority(C.int(which), C.int(who)) + prio = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + r0, er := C.getrusage(C.int(who), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, er := C.getsid(C.int(pid)) + sid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + r0, er := C.kill(C.int(pid), C.int(sig)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.syslog(C.int(typ), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkfifo(C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + r0, er := C.nanosleep(C.uintptr_t(uintptr(unsafe.Pointer(time))), C.uintptr_t(uintptr(unsafe.Pointer(leftover)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + var _p2 int + _p2 = len(buf) + r0, er := C.readlink(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(_p1))), C.size_t(_p2)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(oldpath))) + _p1 := uintptr(unsafe.Pointer(C.CString(newpath))) + r0, er := C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.setdomainname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.sethostname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + r0, er := C.setpgid(C.int(pid), C.int(pgid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, er := C.setsid() + pid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + r0, er := C.settimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + r0, er := C.setuid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + r0, er := C.setgid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + r0, er := C.setpriority(C.int(which), C.int(who), C.int(prio)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + C.sync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, er := C.times(C.uintptr_t(uintptr(unsafe.Pointer(tms)))) + ticks = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := C.umask(C.int(mask)) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + r0, er := C.uname(C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlink(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + r0, er := C.ustat(C.int(dev), C.uintptr_t(uintptr(unsafe.Pointer(ubuf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + r0, er := C.dup2(C.int(oldfd), C.int(newfd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + r0, er := C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + r0, er := C.fchown(C.int(fd), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *Stat_t) (err error) { + r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + r0, er := C.fstatfs(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + r0, er := C.ftruncate(C.int(fd), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := C.getegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := C.geteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := C.getgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := C.getuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + r0, er := C.listen(C.int(s), C.int(n)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + r0, er := C.pause() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pread64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pwrite64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + r0, er := C.setregid(C.int(rgid), C.int(egid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + r0, er := C.setreuid(C.int(ruid), C.int(euid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + r0, er := C.shutdown(C.int(fd), C.int(how)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, er := C.splice(C.int(rfd), C.uintptr_t(uintptr(unsafe.Pointer(roff))), C.int(wfd), C.uintptr_t(uintptr(unsafe.Pointer(woff))), C.int(len), C.int(flags)) + n = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, statptr *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(statptr)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statfs(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.truncate(C.uintptr_t(_p0), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.bind(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.connect(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, er := C.getgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + nn = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + r0, er := C.setgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + r0, er := C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(uintptr(unsafe.Pointer(vallen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + r0, er := C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(vallen)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, er := C.socket(C.int(domain), C.int(typ), C.int(proto)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + r0, er := C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(uintptr(unsafe.Pointer(fd)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getpeername(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getsockname(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.recvfrom(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(unsafe.Pointer(from))), C.uintptr_t(uintptr(unsafe.Pointer(fromlen)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.sendto(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(to)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + r0, er := C.munmap(C.uintptr_t(addr), C.uintptr_t(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.madvise(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mprotect(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(prot)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + r0, er := C.mlockall(C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.msync(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.munlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + r0, er := C.munlockall() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + r0, er := C.pipe(C.uintptr_t(uintptr(unsafe.Pointer(p)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, er := C.poll(C.uintptr_t(uintptr(unsafe.Pointer(fds))), C.int(nfds), C.int(timeout)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + r0, er := C.gettimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))), C.uintptr_t(uintptr(unsafe.Pointer(tzp)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, er := C.time(C.uintptr_t(uintptr(unsafe.Pointer(t)))) + tt = Time_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utime(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsystemcfg(label int) (n uint64) { + r0, _ := C.getsystemcfg(C.int(label)) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(target))) + r0, er := C.umount(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence)) + off = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, er := C.mmap(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset)) + xaddr = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go new file mode 100644 index 0000000..664b293 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -0,0 +1,1442 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 + +package unix + +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimes(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimensat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), flag) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callgetcwd(uintptr(unsafe.Pointer(_p0)), len(buf)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, e1 := callaccept(s, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callgetdirent(fd, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, e1 := callwait4(int(pid), uintptr(unsafe.Pointer(status)), options, uintptr(unsafe.Pointer(rusage))) + wpid = Pid_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, e1 := callioctl(fd, int(req), arg) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, e1 := callfcntl(fd, cmd, uintptr(arg)) + r = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + _, e1 := callfcntl(fd, cmd, uintptr(unsafe.Pointer(lk))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, e1 := callfcntl(uintptr(fd), cmd, uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callacct(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchdir(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchroot(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, e1 := callclose(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, e1 := calldup(oldfd) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + callexit(code) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfaccessat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, e1 := callfchdir(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, e1 := callfchmod(fd, mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchmodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchownat(dirfd, uintptr(unsafe.Pointer(_p0)), uid, gid, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, e1 := callfdatasync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, e1 := callfsync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, e1 := callgetpgid(pid) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := callgetpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := callgetpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := callgetppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, e1 := callgetpriority(which, who) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, e1 := callgetrusage(who, uintptr(unsafe.Pointer(rusage))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, e1 := callgetsid(pid) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + _, e1 := callkill(pid, int(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callsyslog(typ, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdir(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdirat(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkfifo(uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknod(uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, e1 := callnanosleep(uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopen64(uintptr(unsafe.Pointer(_p0)), mode, perm) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopenat(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mode) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callread(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, e1 := callreadlink(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, e1 := callrenameat(olddirfd, uintptr(unsafe.Pointer(_p0)), newdirfd, uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsetdomainname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsethostname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, e1 := callsetpgid(pid, pgid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, e1 := callsetsid() + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, e1 := callsettimeofday(uintptr(unsafe.Pointer(tv))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, e1 := callsetuid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + _, e1 := callsetgid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, e1 := callsetpriority(which, who, prio) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatx(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mask, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + callsync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, e1 := calltimes(uintptr(unsafe.Pointer(tms))) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := callumask(mask) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, e1 := calluname(uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlink(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlinkat(dirfd, uintptr(unsafe.Pointer(_p0)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, e1 := callustat(dev, uintptr(unsafe.Pointer(ubuf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callread(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, e1 := calldup2(oldfd, newfd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, e1 := callposix_fadvise64(fd, offset, length, advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, e1 := callfchown(fd, uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *Stat_t) (err error) { + _, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfstatat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, e1 := callfstatfs(fd, uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, e1 := callftruncate(fd, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := callgetegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := callgeteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := callgetgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := callgetuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllchown(uintptr(unsafe.Pointer(_p0)), uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, e1 := calllisten(s, n) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, e1 := callpause() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpread64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpwrite64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, e1 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, e1 := callsetregid(rgid, egid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, e1 := callsetreuid(ruid, euid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, e1 := callshutdown(fd, how) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, e1 := callsplice(rfd, uintptr(unsafe.Pointer(roff)), wfd, uintptr(unsafe.Pointer(woff)), len, flags) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, statptr *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statptr))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatfs(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calltruncate(uintptr(unsafe.Pointer(_p0)), length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callbind(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callconnect(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, e1 := callgetgroups(n, uintptr(unsafe.Pointer(list))) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, e1 := callsetgroups(n, uintptr(unsafe.Pointer(list))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e1 := callgetsockopt(s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e1 := callsetsockopt(s, level, name, uintptr(val), vallen) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, e1 := callsocket(domain, typ, proto) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, e1 := callsocketpair(domain, typ, proto, uintptr(unsafe.Pointer(fd))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetpeername(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetsockname(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callrecvfrom(fd, uintptr(unsafe.Pointer(_p0)), len(p), flags, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callsendto(s, uintptr(unsafe.Pointer(_p0)), len(buf), flags, uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, e1 := callmunmap(addr, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmadvise(uintptr(unsafe.Pointer(_p0)), len(b), advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmprotect(uintptr(unsafe.Pointer(_p0)), len(b), prot) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, e1 := callmlockall(flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmsync(uintptr(unsafe.Pointer(_p0)), len(b), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmunlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, e1 := callmunlockall() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, e1 := callpipe(uintptr(unsafe.Pointer(p))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, e1 := callpoll(uintptr(unsafe.Pointer(fds)), nfds, timeout) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + _, e1 := callgettimeofday(uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, e1 := calltime(uintptr(unsafe.Pointer(t))) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutime(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsystemcfg(label int) (n uint64) { + r0, _ := callgetsystemcfg(label) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, e1 := callumount(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, e1 := calllseek(fd, offset, whence) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, e1 := callmmap64(addr, length, prot, flags, fd, offset) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go new file mode 100644 index 0000000..4b3a8ad --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go @@ -0,0 +1,1192 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 +// +build !gccgo + +package unix + +import ( + "unsafe" +) + +//go:cgo_import_dynamic libc_utimes utimes "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_accept accept "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getdirent getdirent "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_close close "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup dup "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_exit exit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getppid getppid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsid getsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_kill kill "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_syslog syslog "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknod mknod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_open64 open64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_openat openat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_read read "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_readlink readlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_renameat renameat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setdomainname setdomainname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsid setsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setuid setuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgid setgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statx statx "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sync sync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_times times "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umask umask "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_uname uname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlink unlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ustat ustat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_write write "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_posix_fadvise64 posix_fadvise64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchown fchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstat fstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getegid getegid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgid getgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getuid getuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lchown lchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_listen listen "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lstat lstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_select select "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_shutdown shutdown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_splice splice "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_stat stat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statfs statfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_truncate truncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_bind bind "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_connect connect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socket socket "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socketpair socketpair "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpeername getpeername "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlock mlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_msync msync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlock munlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pipe pipe "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_poll poll "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o" + +//go:linkname libc_utimes libc_utimes +//go:linkname libc_utimensat libc_utimensat +//go:linkname libc_getcwd libc_getcwd +//go:linkname libc_accept libc_accept +//go:linkname libc_getdirent libc_getdirent +//go:linkname libc_wait4 libc_wait4 +//go:linkname libc_ioctl libc_ioctl +//go:linkname libc_fcntl libc_fcntl +//go:linkname libc_acct libc_acct +//go:linkname libc_chdir libc_chdir +//go:linkname libc_chroot libc_chroot +//go:linkname libc_close libc_close +//go:linkname libc_dup libc_dup +//go:linkname libc_exit libc_exit +//go:linkname libc_faccessat libc_faccessat +//go:linkname libc_fchdir libc_fchdir +//go:linkname libc_fchmod libc_fchmod +//go:linkname libc_fchmodat libc_fchmodat +//go:linkname libc_fchownat libc_fchownat +//go:linkname libc_fdatasync libc_fdatasync +//go:linkname libc_fsync libc_fsync +//go:linkname libc_getpgid libc_getpgid +//go:linkname libc_getpgrp libc_getpgrp +//go:linkname libc_getpid libc_getpid +//go:linkname libc_getppid libc_getppid +//go:linkname libc_getpriority libc_getpriority +//go:linkname libc_getrusage libc_getrusage +//go:linkname libc_getsid libc_getsid +//go:linkname libc_kill libc_kill +//go:linkname libc_syslog libc_syslog +//go:linkname libc_mkdir libc_mkdir +//go:linkname libc_mkdirat libc_mkdirat +//go:linkname libc_mkfifo libc_mkfifo +//go:linkname libc_mknod libc_mknod +//go:linkname libc_mknodat libc_mknodat +//go:linkname libc_nanosleep libc_nanosleep +//go:linkname libc_open64 libc_open64 +//go:linkname libc_openat libc_openat +//go:linkname libc_read libc_read +//go:linkname libc_readlink libc_readlink +//go:linkname libc_renameat libc_renameat +//go:linkname libc_setdomainname libc_setdomainname +//go:linkname libc_sethostname libc_sethostname +//go:linkname libc_setpgid libc_setpgid +//go:linkname libc_setsid libc_setsid +//go:linkname libc_settimeofday libc_settimeofday +//go:linkname libc_setuid libc_setuid +//go:linkname libc_setgid libc_setgid +//go:linkname libc_setpriority libc_setpriority +//go:linkname libc_statx libc_statx +//go:linkname libc_sync libc_sync +//go:linkname libc_times libc_times +//go:linkname libc_umask libc_umask +//go:linkname libc_uname libc_uname +//go:linkname libc_unlink libc_unlink +//go:linkname libc_unlinkat libc_unlinkat +//go:linkname libc_ustat libc_ustat +//go:linkname libc_write libc_write +//go:linkname libc_dup2 libc_dup2 +//go:linkname libc_posix_fadvise64 libc_posix_fadvise64 +//go:linkname libc_fchown libc_fchown +//go:linkname libc_fstat libc_fstat +//go:linkname libc_fstatat libc_fstatat +//go:linkname libc_fstatfs libc_fstatfs +//go:linkname libc_ftruncate libc_ftruncate +//go:linkname libc_getegid libc_getegid +//go:linkname libc_geteuid libc_geteuid +//go:linkname libc_getgid libc_getgid +//go:linkname libc_getuid libc_getuid +//go:linkname libc_lchown libc_lchown +//go:linkname libc_listen libc_listen +//go:linkname libc_lstat libc_lstat +//go:linkname libc_pause libc_pause +//go:linkname libc_pread64 libc_pread64 +//go:linkname libc_pwrite64 libc_pwrite64 +//go:linkname libc_select libc_select +//go:linkname libc_pselect libc_pselect +//go:linkname libc_setregid libc_setregid +//go:linkname libc_setreuid libc_setreuid +//go:linkname libc_shutdown libc_shutdown +//go:linkname libc_splice libc_splice +//go:linkname libc_stat libc_stat +//go:linkname libc_statfs libc_statfs +//go:linkname libc_truncate libc_truncate +//go:linkname libc_bind libc_bind +//go:linkname libc_connect libc_connect +//go:linkname libc_getgroups libc_getgroups +//go:linkname libc_setgroups libc_setgroups +//go:linkname libc_getsockopt libc_getsockopt +//go:linkname libc_setsockopt libc_setsockopt +//go:linkname libc_socket libc_socket +//go:linkname libc_socketpair libc_socketpair +//go:linkname libc_getpeername libc_getpeername +//go:linkname libc_getsockname libc_getsockname +//go:linkname libc_recvfrom libc_recvfrom +//go:linkname libc_sendto libc_sendto +//go:linkname libc_nrecvmsg libc_nrecvmsg +//go:linkname libc_nsendmsg libc_nsendmsg +//go:linkname libc_munmap libc_munmap +//go:linkname libc_madvise libc_madvise +//go:linkname libc_mprotect libc_mprotect +//go:linkname libc_mlock libc_mlock +//go:linkname libc_mlockall libc_mlockall +//go:linkname libc_msync libc_msync +//go:linkname libc_munlock libc_munlock +//go:linkname libc_munlockall libc_munlockall +//go:linkname libc_pipe libc_pipe +//go:linkname libc_poll libc_poll +//go:linkname libc_gettimeofday libc_gettimeofday +//go:linkname libc_time libc_time +//go:linkname libc_utime libc_utime +//go:linkname libc_getsystemcfg libc_getsystemcfg +//go:linkname libc_umount libc_umount +//go:linkname libc_getrlimit libc_getrlimit +//go:linkname libc_setrlimit libc_setrlimit +//go:linkname libc_lseek libc_lseek +//go:linkname libc_mmap64 libc_mmap64 + +type syscallFunc uintptr + +var ( + libc_utimes, + libc_utimensat, + libc_getcwd, + libc_accept, + libc_getdirent, + libc_wait4, + libc_ioctl, + libc_fcntl, + libc_acct, + libc_chdir, + libc_chroot, + libc_close, + libc_dup, + libc_exit, + libc_faccessat, + libc_fchdir, + libc_fchmod, + libc_fchmodat, + libc_fchownat, + libc_fdatasync, + libc_fsync, + libc_getpgid, + libc_getpgrp, + libc_getpid, + libc_getppid, + libc_getpriority, + libc_getrusage, + libc_getsid, + libc_kill, + libc_syslog, + libc_mkdir, + libc_mkdirat, + libc_mkfifo, + libc_mknod, + libc_mknodat, + libc_nanosleep, + libc_open64, + libc_openat, + libc_read, + libc_readlink, + libc_renameat, + libc_setdomainname, + libc_sethostname, + libc_setpgid, + libc_setsid, + libc_settimeofday, + libc_setuid, + libc_setgid, + libc_setpriority, + libc_statx, + libc_sync, + libc_times, + libc_umask, + libc_uname, + libc_unlink, + libc_unlinkat, + libc_ustat, + libc_write, + libc_dup2, + libc_posix_fadvise64, + libc_fchown, + libc_fstat, + libc_fstatat, + libc_fstatfs, + libc_ftruncate, + libc_getegid, + libc_geteuid, + libc_getgid, + libc_getuid, + libc_lchown, + libc_listen, + libc_lstat, + libc_pause, + libc_pread64, + libc_pwrite64, + libc_select, + libc_pselect, + libc_setregid, + libc_setreuid, + libc_shutdown, + libc_splice, + libc_stat, + libc_statfs, + libc_truncate, + libc_bind, + libc_connect, + libc_getgroups, + libc_setgroups, + libc_getsockopt, + libc_setsockopt, + libc_socket, + libc_socketpair, + libc_getpeername, + libc_getsockname, + libc_recvfrom, + libc_sendto, + libc_nrecvmsg, + libc_nsendmsg, + libc_munmap, + libc_madvise, + libc_mprotect, + libc_mlock, + libc_mlockall, + libc_msync, + libc_munlock, + libc_munlockall, + libc_pipe, + libc_poll, + libc_gettimeofday, + libc_time, + libc_utime, + libc_getsystemcfg, + libc_umount, + libc_getrlimit, + libc_setrlimit, + libc_lseek, + libc_mmap64 syscallFunc +) + +// Implemented in runtime/syscall_aix.go. +func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimes)), 2, _p0, times, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimensat)), 4, uintptr(dirfd), _p0, times, uintptr(flag), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getcwd)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_accept)), 3, uintptr(s), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getdirent)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_wait4)), 4, uintptr(pid), status, uintptr(options), rusage, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fcntl)), 3, fd, uintptr(cmd), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chdir)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chroot)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_close)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup)), 1, uintptr(oldfd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_exit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_faccessat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchownat)), 5, uintptr(dirfd), _p0, uintptr(uid), uintptr(gid), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpgrp)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getppid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrusage)), 2, uintptr(who), rusage, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_kill)), 2, uintptr(pid), uintptr(sig), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_syslog)), 3, uintptr(typ), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdir)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdirat)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkfifo)), 2, _p0, uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknod)), 3, _p0, uintptr(mode), uintptr(dev), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(dev), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nanosleep)), 2, time, leftover, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_open64)), 3, _p0, uintptr(mode), uintptr(perm), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_openat)), 4, uintptr(dirfd), _p0, uintptr(flags), uintptr(mode), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_read)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_readlink)), 3, _p0, _p1, uintptr(_lenp1), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_renameat)), 4, uintptr(olddirfd), _p0, uintptr(newdirfd), _p1, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setdomainname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sethostname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setsid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_settimeofday)), 1, tv, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setgid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statx)), 5, uintptr(dirfd), _p0, uintptr(flags), uintptr(mask), stat, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sync)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_times)), 1, tms, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_umask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_uname)), 1, buf, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlink)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlinkat)), 3, uintptr(dirfd), _p0, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ustat)), 2, uintptr(dev), ubuf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_write)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_posix_fadvise64)), 4, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstat)), 2, uintptr(fd), stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatat)), 4, uintptr(dirfd), _p0, stat, uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatfs)), 2, uintptr(fd), buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ftruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getegid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_geteuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lchown)), 3, _p0, uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_listen)), 2, uintptr(s), uintptr(n), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lstat)), 2, _p0, stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pause)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pread64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pwrite64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_shutdown)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_splice)), 6, uintptr(rfd), roff, uintptr(wfd), woff, uintptr(len), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, statptr, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statfs)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_truncate)), 2, _p0, uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_bind)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_connect)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), fd, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpeername)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsockname)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvfrom)), 6, uintptr(fd), _p0, uintptr(_lenp0), uintptr(flags), from, fromlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendto)), 6, uintptr(s), _p0, uintptr(_lenp0), uintptr(flags), to, addrlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munmap)), 2, addr, length, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_madvise)), 3, _p0, uintptr(_lenp0), uintptr(advice), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mprotect)), 3, _p0, uintptr(_lenp0), uintptr(prot), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_msync)), 3, _p0, uintptr(_lenp0), uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlockall)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_pipe)), 1, p, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_poll)), 3, fds, uintptr(nfds), uintptr(timeout), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_gettimeofday)), 2, tv, tzp, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_time)), 1, t, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utime)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mmap64)), 6, addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go new file mode 100644 index 0000000..cde4dbc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go @@ -0,0 +1,1070 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 +// +build gccgo + +package unix + +/* +#include +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); +int getrlimit(int, uintptr_t); +int setrlimit(int, uintptr_t); +long long lseek(int, long long, int); +uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "syscall" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimes(C.uintptr_t(_p0), C.uintptr_t(times))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(times), C.int(flag))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getcwd(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.accept(C.int(s), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getdirent(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.wait4(C.int(pid), C.uintptr_t(status), C.int(options), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.acct(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chdir(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chroot(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.close(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup(C.int(oldfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.exit(C.int(code))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchdir(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmod(C.int(fd), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fdatasync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fsync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgrp()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getppid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpriority(C.int(which), C.int(who))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrusage(C.int(who), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.kill(C.int(pid), C.int(sig))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.syslog(C.int(typ), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkfifo(C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nanosleep(C.uintptr_t(time), C.uintptr_t(leftover))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.read(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.readlink(C.uintptr_t(_p0), C.uintptr_t(_p1), C.size_t(_lenp1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setdomainname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sethostname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpgid(C.int(pid), C.int(pgid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.settimeofday(C.uintptr_t(tv))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setuid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpriority(C.int(which), C.int(who), C.int(prio))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sync()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.times(C.uintptr_t(tms))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umask(C.int(mask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.uname(C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlink(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ustat(C.int(dev), C.uintptr_t(ubuf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.write(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup2(C.int(oldfd), C.int(newfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchown(C.int(fd), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstat(C.int(fd), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(stat), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatfs(C.int(fd), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ftruncate(C.int(fd), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getegid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.geteuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.listen(C.int(s), C.int(n))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lstat(C.uintptr_t(_p0), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pause()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pread64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pwrite64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setregid(C.int(rgid), C.int(egid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setreuid(C.int(ruid), C.int(euid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.shutdown(C.int(fd), C.int(how))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.splice(C.int(rfd), C.uintptr_t(roff), C.int(wfd), C.uintptr_t(woff), C.int(len), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(statptr))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statfs(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.truncate(C.uintptr_t(_p0), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.bind(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.connect(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socket(C.int(domain), C.int(typ), C.int(proto))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpeername(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockname(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.recvfrom(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(from), C.uintptr_t(fromlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sendto(C.int(s), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(to), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munmap(C.uintptr_t(addr), C.uintptr_t(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.madvise(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mprotect(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(prot))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlockall(C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.msync(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlockall()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pipe(C.uintptr_t(p))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.poll(C.uintptr_t(fds), C.int(nfds), C.int(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.gettimeofday(C.uintptr_t(tv), C.uintptr_t(tzp))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.time(C.uintptr_t(t))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utime(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsystemcfg(C.int(label))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umount(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mmap64(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go new file mode 100644 index 0000000..c4ec7ff --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go @@ -0,0 +1,1810 @@ +// go run mksyscall.go -l32 -tags darwin,386,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go new file mode 100644 index 0000000..23346dc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go @@ -0,0 +1,2505 @@ +// go run mksyscall.go -l32 -tags darwin,386,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat64_trampoline() + +//go:linkname libc_fstat64 libc_fstat64 +//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat64_trampoline() + +//go:linkname libc_fstatat64 libc_fstatat64 +//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs64_trampoline() + +//go:linkname libc_fstatfs64 libc_fstatfs64 +//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc___getdirentries64_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___getdirentries64_trampoline() + +//go:linkname libc___getdirentries64 libc___getdirentries64 +//go:cgo_import_dynamic libc___getdirentries64 __getdirentries64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat64_trampoline() + +//go:linkname libc_getfsstat64 libc_getfsstat64 +//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat64_trampoline() + +//go:linkname libc_lstat64 libc_lstat64 +//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat64_trampoline() + +//go:linkname libc_stat64 libc_stat64 +//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs64_trampoline() + +//go:linkname libc_statfs64 libc_statfs64 +//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s new file mode 100644 index 0000000..37b85b4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s @@ -0,0 +1,284 @@ +// go run mkasm_darwin.go 386 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) +TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) +TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) +TEXT ·libc___getdirentries64_trampoline(SB),NOSPLIT,$0-0 + JMP libc___getdirentries64(SB) +TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) +TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) +TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) +TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go new file mode 100644 index 0000000..2581e89 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go @@ -0,0 +1,1810 @@ +// go run mksyscall.go -tags darwin,amd64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go new file mode 100644 index 0000000..c142e33 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -0,0 +1,2520 @@ +// go run mksyscall.go -tags darwin,amd64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_clock_gettime_trampoline() + +//go:linkname libc_clock_gettime libc_clock_gettime +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat64_trampoline() + +//go:linkname libc_fstat64 libc_fstat64 +//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat64_trampoline() + +//go:linkname libc_fstatat64 libc_fstatat64 +//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs64_trampoline() + +//go:linkname libc_fstatfs64 libc_fstatfs64 +//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc___getdirentries64_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___getdirentries64_trampoline() + +//go:linkname libc___getdirentries64 libc___getdirentries64 +//go:cgo_import_dynamic libc___getdirentries64 __getdirentries64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat64_trampoline() + +//go:linkname libc_getfsstat64 libc_getfsstat64 +//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat64_trampoline() + +//go:linkname libc_lstat64 libc_lstat64 +//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat64_trampoline() + +//go:linkname libc_stat64 libc_stat64 +//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs64_trampoline() + +//go:linkname libc_statfs64 libc_statfs64 +//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s new file mode 100644 index 0000000..1a39151 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -0,0 +1,286 @@ +// go run mkasm_darwin.go amd64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) +TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) +TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) +TEXT ·libc___getdirentries64_trampoline(SB),NOSPLIT,$0-0 + JMP libc___getdirentries64(SB) +TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) +TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) +TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) +TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go new file mode 100644 index 0000000..f8caece --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go @@ -0,0 +1,1793 @@ +// go run mksyscall.go -l32 -tags darwin,arm,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go new file mode 100644 index 0000000..01cffbf --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go @@ -0,0 +1,2483 @@ +// go run mksyscall.go -l32 -tags darwin,arm,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat_trampoline() + +//go:linkname libc_fstat libc_fstat +//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat_trampoline() + +//go:linkname libc_fstatat libc_fstatat +//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs_trampoline() + +//go:linkname libc_fstatfs libc_fstatfs +//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat_trampoline() + +//go:linkname libc_getfsstat libc_getfsstat +//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat_trampoline() + +//go:linkname libc_lstat libc_lstat +//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat_trampoline() + +//go:linkname libc_stat libc_stat +//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs_trampoline() + +//go:linkname libc_statfs libc_statfs +//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s new file mode 100644 index 0000000..994056f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s @@ -0,0 +1,282 @@ +// go run mkasm_darwin.go arm +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) +TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) +TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) +TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) +TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) +TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) +TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go new file mode 100644 index 0000000..3fd0f3c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go @@ -0,0 +1,1793 @@ +// go run mksyscall.go -tags darwin,arm64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go new file mode 100644 index 0000000..8f2691d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -0,0 +1,2483 @@ +// go run mksyscall.go -tags darwin,arm64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat_trampoline() + +//go:linkname libc_fstat libc_fstat +//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat_trampoline() + +//go:linkname libc_fstatat libc_fstatat +//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs_trampoline() + +//go:linkname libc_fstatfs libc_fstatfs +//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat_trampoline() + +//go:linkname libc_getfsstat libc_getfsstat +//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat_trampoline() + +//go:linkname libc_lstat libc_lstat +//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat_trampoline() + +//go:linkname libc_stat libc_stat +//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs_trampoline() + +//go:linkname libc_statfs libc_statfs +//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s new file mode 100644 index 0000000..61dc0d4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -0,0 +1,282 @@ +// go run mkasm_darwin.go arm64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) +TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) +TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) +TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) +TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) +TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) +TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go new file mode 100644 index 0000000..cdfe931 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go @@ -0,0 +1,1676 @@ +// go run mksyscall.go -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build dragonfly,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go new file mode 100644 index 0000000..a783306 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -0,0 +1,2025 @@ +// go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go new file mode 100644 index 0000000..f995520 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -0,0 +1,2025 @@ +// go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go new file mode 100644 index 0000000..d681acd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -0,0 +1,2025 @@ +// go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go new file mode 100644 index 0000000..5049b2e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go @@ -0,0 +1,2025 @@ +// go run mksyscall.go -tags freebsd,arm64 -- syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go new file mode 100644 index 0000000..c5e46e4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -0,0 +1,2270 @@ +// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go new file mode 100644 index 0000000..da8819e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -0,0 +1,2437 @@ +// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func inotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go new file mode 100644 index 0000000..6ad9be6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -0,0 +1,2407 @@ +// go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go new file mode 100644 index 0000000..f883317 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -0,0 +1,2294 @@ +// go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go new file mode 100644 index 0000000..8eebc6c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -0,0 +1,2450 @@ +// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r0)<<32 | int64(r1)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go new file mode 100644 index 0000000..ecf62a6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -0,0 +1,2421 @@ +// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go new file mode 100644 index 0000000..1ba0f7b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -0,0 +1,2421 @@ +// go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go new file mode 100644 index 0000000..20012b2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -0,0 +1,2450 @@ +// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go new file mode 100644 index 0000000..2b520de --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -0,0 +1,2499 @@ +// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go new file mode 100644 index 0000000..d9f044c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -0,0 +1,2499 @@ +// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go new file mode 100644 index 0000000..9feed65 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go @@ -0,0 +1,2274 @@ +// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,riscv64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go new file mode 100644 index 0000000..0a65150 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -0,0 +1,2269 @@ +// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,s390x + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go new file mode 100644 index 0000000..e27f669 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -0,0 +1,2432 @@ +// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,sparc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go new file mode 100644 index 0000000..7e05826 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go new file mode 100644 index 0000000..d94d076 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go new file mode 100644 index 0000000..cf5bf3d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go new file mode 100644 index 0000000..243a931 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go new file mode 100644 index 0000000..a9532d0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go new file mode 100644 index 0000000..0cb9f01 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go new file mode 100644 index 0000000..6fc99b5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go new file mode 100644 index 0000000..27878a7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -openbsd -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go new file mode 100644 index 0000000..5f61476 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -0,0 +1,1953 @@ +// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build solaris,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +//go:cgo_import_dynamic libc_pipe pipe "libc.so" +//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" +//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" +//go:cgo_import_dynamic libc_utimes utimes "libc.so" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" +//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" +//go:cgo_import_dynamic libc_accept accept "libsocket.so" +//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" +//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" +//go:cgo_import_dynamic libc_acct acct "libc.so" +//go:cgo_import_dynamic libc___makedev __makedev "libc.so" +//go:cgo_import_dynamic libc___major __major "libc.so" +//go:cgo_import_dynamic libc___minor __minor "libc.so" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" +//go:cgo_import_dynamic libc_poll poll "libc.so" +//go:cgo_import_dynamic libc_access access "libc.so" +//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" +//go:cgo_import_dynamic libc_chdir chdir "libc.so" +//go:cgo_import_dynamic libc_chmod chmod "libc.so" +//go:cgo_import_dynamic libc_chown chown "libc.so" +//go:cgo_import_dynamic libc_chroot chroot "libc.so" +//go:cgo_import_dynamic libc_close close "libc.so" +//go:cgo_import_dynamic libc_creat creat "libc.so" +//go:cgo_import_dynamic libc_dup dup "libc.so" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" +//go:cgo_import_dynamic libc_exit exit "libc.so" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" +//go:cgo_import_dynamic libc_fchown fchown "libc.so" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" +//go:cgo_import_dynamic libc_flock flock "libc.so" +//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" +//go:cgo_import_dynamic libc_fstat fstat "libc.so" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" +//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so" +//go:cgo_import_dynamic libc_getdents getdents "libc.so" +//go:cgo_import_dynamic libc_getgid getgid "libc.so" +//go:cgo_import_dynamic libc_getpid getpid "libc.so" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" +//go:cgo_import_dynamic libc_getegid getegid "libc.so" +//go:cgo_import_dynamic libc_getppid getppid "libc.so" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" +//go:cgo_import_dynamic libc_getuid getuid "libc.so" +//go:cgo_import_dynamic libc_kill kill "libc.so" +//go:cgo_import_dynamic libc_lchown lchown "libc.so" +//go:cgo_import_dynamic libc_link link "libc.so" +//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten "libsocket.so" +//go:cgo_import_dynamic libc_lstat lstat "libc.so" +//go:cgo_import_dynamic libc_madvise madvise "libc.so" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" +//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" +//go:cgo_import_dynamic libc_mknod mknod "libc.so" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" +//go:cgo_import_dynamic libc_mlock mlock "libc.so" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" +//go:cgo_import_dynamic libc_msync msync "libc.so" +//go:cgo_import_dynamic libc_munlock munlock "libc.so" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" +//go:cgo_import_dynamic libc_open open "libc.so" +//go:cgo_import_dynamic libc_openat openat "libc.so" +//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" +//go:cgo_import_dynamic libc_pause pause "libc.so" +//go:cgo_import_dynamic libc_pread pread "libc.so" +//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" +//go:cgo_import_dynamic libc_read read "libc.so" +//go:cgo_import_dynamic libc_readlink readlink "libc.so" +//go:cgo_import_dynamic libc_rename rename "libc.so" +//go:cgo_import_dynamic libc_renameat renameat "libc.so" +//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" +//go:cgo_import_dynamic libc_lseek lseek "libc.so" +//go:cgo_import_dynamic libc_select select "libc.so" +//go:cgo_import_dynamic libc_setegid setegid "libc.so" +//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" +//go:cgo_import_dynamic libc_setgid setgid "libc.so" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" +//go:cgo_import_dynamic libc_setregid setregid "libc.so" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" +//go:cgo_import_dynamic libc_setsid setsid "libc.so" +//go:cgo_import_dynamic libc_setuid setuid "libc.so" +//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" +//go:cgo_import_dynamic libc_stat stat "libc.so" +//go:cgo_import_dynamic libc_statvfs statvfs "libc.so" +//go:cgo_import_dynamic libc_symlink symlink "libc.so" +//go:cgo_import_dynamic libc_sync sync "libc.so" +//go:cgo_import_dynamic libc_times times "libc.so" +//go:cgo_import_dynamic libc_truncate truncate "libc.so" +//go:cgo_import_dynamic libc_fsync fsync "libc.so" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" +//go:cgo_import_dynamic libc_umask umask "libc.so" +//go:cgo_import_dynamic libc_uname uname "libc.so" +//go:cgo_import_dynamic libc_umount umount "libc.so" +//go:cgo_import_dynamic libc_unlink unlink "libc.so" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" +//go:cgo_import_dynamic libc_ustat ustat "libc.so" +//go:cgo_import_dynamic libc_utime utime "libc.so" +//go:cgo_import_dynamic libc___xnet_bind __xnet_bind "libsocket.so" +//go:cgo_import_dynamic libc___xnet_connect __xnet_connect "libsocket.so" +//go:cgo_import_dynamic libc_mmap mmap "libc.so" +//go:cgo_import_dynamic libc_munmap munmap "libc.so" +//go:cgo_import_dynamic libc_sendfile sendfile "libsendfile.so" +//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socket __xnet_socket "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair "libsocket.so" +//go:cgo_import_dynamic libc_write write "libc.so" +//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt "libsocket.so" +//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" + +//go:linkname procpipe libc_pipe +//go:linkname procgetsockname libc_getsockname +//go:linkname procGetcwd libc_getcwd +//go:linkname procgetgroups libc_getgroups +//go:linkname procsetgroups libc_setgroups +//go:linkname procwait4 libc_wait4 +//go:linkname procgethostname libc_gethostname +//go:linkname procutimes libc_utimes +//go:linkname procutimensat libc_utimensat +//go:linkname procfcntl libc_fcntl +//go:linkname procfutimesat libc_futimesat +//go:linkname procaccept libc_accept +//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg +//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg +//go:linkname procacct libc_acct +//go:linkname proc__makedev libc___makedev +//go:linkname proc__major libc___major +//go:linkname proc__minor libc___minor +//go:linkname procioctl libc_ioctl +//go:linkname procpoll libc_poll +//go:linkname procAccess libc_access +//go:linkname procAdjtime libc_adjtime +//go:linkname procChdir libc_chdir +//go:linkname procChmod libc_chmod +//go:linkname procChown libc_chown +//go:linkname procChroot libc_chroot +//go:linkname procClose libc_close +//go:linkname procCreat libc_creat +//go:linkname procDup libc_dup +//go:linkname procDup2 libc_dup2 +//go:linkname procExit libc_exit +//go:linkname procFaccessat libc_faccessat +//go:linkname procFchdir libc_fchdir +//go:linkname procFchmod libc_fchmod +//go:linkname procFchmodat libc_fchmodat +//go:linkname procFchown libc_fchown +//go:linkname procFchownat libc_fchownat +//go:linkname procFdatasync libc_fdatasync +//go:linkname procFlock libc_flock +//go:linkname procFpathconf libc_fpathconf +//go:linkname procFstat libc_fstat +//go:linkname procFstatat libc_fstatat +//go:linkname procFstatvfs libc_fstatvfs +//go:linkname procGetdents libc_getdents +//go:linkname procGetgid libc_getgid +//go:linkname procGetpid libc_getpid +//go:linkname procGetpgid libc_getpgid +//go:linkname procGetpgrp libc_getpgrp +//go:linkname procGeteuid libc_geteuid +//go:linkname procGetegid libc_getegid +//go:linkname procGetppid libc_getppid +//go:linkname procGetpriority libc_getpriority +//go:linkname procGetrlimit libc_getrlimit +//go:linkname procGetrusage libc_getrusage +//go:linkname procGettimeofday libc_gettimeofday +//go:linkname procGetuid libc_getuid +//go:linkname procKill libc_kill +//go:linkname procLchown libc_lchown +//go:linkname procLink libc_link +//go:linkname proc__xnet_llisten libc___xnet_llisten +//go:linkname procLstat libc_lstat +//go:linkname procMadvise libc_madvise +//go:linkname procMkdir libc_mkdir +//go:linkname procMkdirat libc_mkdirat +//go:linkname procMkfifo libc_mkfifo +//go:linkname procMkfifoat libc_mkfifoat +//go:linkname procMknod libc_mknod +//go:linkname procMknodat libc_mknodat +//go:linkname procMlock libc_mlock +//go:linkname procMlockall libc_mlockall +//go:linkname procMprotect libc_mprotect +//go:linkname procMsync libc_msync +//go:linkname procMunlock libc_munlock +//go:linkname procMunlockall libc_munlockall +//go:linkname procNanosleep libc_nanosleep +//go:linkname procOpen libc_open +//go:linkname procOpenat libc_openat +//go:linkname procPathconf libc_pathconf +//go:linkname procPause libc_pause +//go:linkname procPread libc_pread +//go:linkname procPwrite libc_pwrite +//go:linkname procread libc_read +//go:linkname procReadlink libc_readlink +//go:linkname procRename libc_rename +//go:linkname procRenameat libc_renameat +//go:linkname procRmdir libc_rmdir +//go:linkname proclseek libc_lseek +//go:linkname procSelect libc_select +//go:linkname procSetegid libc_setegid +//go:linkname procSeteuid libc_seteuid +//go:linkname procSetgid libc_setgid +//go:linkname procSethostname libc_sethostname +//go:linkname procSetpgid libc_setpgid +//go:linkname procSetpriority libc_setpriority +//go:linkname procSetregid libc_setregid +//go:linkname procSetreuid libc_setreuid +//go:linkname procSetrlimit libc_setrlimit +//go:linkname procSetsid libc_setsid +//go:linkname procSetuid libc_setuid +//go:linkname procshutdown libc_shutdown +//go:linkname procStat libc_stat +//go:linkname procStatvfs libc_statvfs +//go:linkname procSymlink libc_symlink +//go:linkname procSync libc_sync +//go:linkname procTimes libc_times +//go:linkname procTruncate libc_truncate +//go:linkname procFsync libc_fsync +//go:linkname procFtruncate libc_ftruncate +//go:linkname procUmask libc_umask +//go:linkname procUname libc_uname +//go:linkname procumount libc_umount +//go:linkname procUnlink libc_unlink +//go:linkname procUnlinkat libc_unlinkat +//go:linkname procUstat libc_ustat +//go:linkname procUtime libc_utime +//go:linkname proc__xnet_bind libc___xnet_bind +//go:linkname proc__xnet_connect libc___xnet_connect +//go:linkname procmmap libc_mmap +//go:linkname procmunmap libc_munmap +//go:linkname procsendfile libc_sendfile +//go:linkname proc__xnet_sendto libc___xnet_sendto +//go:linkname proc__xnet_socket libc___xnet_socket +//go:linkname proc__xnet_socketpair libc___xnet_socketpair +//go:linkname procwrite libc_write +//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt +//go:linkname procgetpeername libc_getpeername +//go:linkname procsetsockopt libc_setsockopt +//go:linkname procrecvfrom libc_recvfrom + +var ( + procpipe, + procgetsockname, + procGetcwd, + procgetgroups, + procsetgroups, + procwait4, + procgethostname, + procutimes, + procutimensat, + procfcntl, + procfutimesat, + procaccept, + proc__xnet_recvmsg, + proc__xnet_sendmsg, + procacct, + proc__makedev, + proc__major, + proc__minor, + procioctl, + procpoll, + procAccess, + procAdjtime, + procChdir, + procChmod, + procChown, + procChroot, + procClose, + procCreat, + procDup, + procDup2, + procExit, + procFaccessat, + procFchdir, + procFchmod, + procFchmodat, + procFchown, + procFchownat, + procFdatasync, + procFlock, + procFpathconf, + procFstat, + procFstatat, + procFstatvfs, + procGetdents, + procGetgid, + procGetpid, + procGetpgid, + procGetpgrp, + procGeteuid, + procGetegid, + procGetppid, + procGetpriority, + procGetrlimit, + procGetrusage, + procGettimeofday, + procGetuid, + procKill, + procLchown, + procLink, + proc__xnet_llisten, + procLstat, + procMadvise, + procMkdir, + procMkdirat, + procMkfifo, + procMkfifoat, + procMknod, + procMknodat, + procMlock, + procMlockall, + procMprotect, + procMsync, + procMunlock, + procMunlockall, + procNanosleep, + procOpen, + procOpenat, + procPathconf, + procPause, + procPread, + procPwrite, + procread, + procReadlink, + procRename, + procRenameat, + procRmdir, + proclseek, + procSelect, + procSetegid, + procSeteuid, + procSetgid, + procSethostname, + procSetpgid, + procSetpriority, + procSetregid, + procSetreuid, + procSetrlimit, + procSetsid, + procSetuid, + procshutdown, + procStat, + procStatvfs, + procSymlink, + procSync, + procTimes, + procTruncate, + procFsync, + procFtruncate, + procUmask, + procUname, + procumount, + procUnlink, + procUnlinkat, + procUstat, + procUtime, + proc__xnet_bind, + proc__xnet_connect, + procmmap, + procmunmap, + procsendfile, + proc__xnet_sendto, + proc__xnet_socket, + proc__xnet_socketpair, + procwrite, + proc__xnet_getsockopt, + procgetpeername, + procsetsockopt, + procrecvfrom syscallFunc +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int32(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gethostname(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func acct(path *byte) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __makedev(version int, major uint, minor uint) (val uint64) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0) + val = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __major(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __minor(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Creat(path string, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) + nfd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFaccessat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statvfs(path string, vfsstat *Statvfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go new file mode 100644 index 0000000..37dcc74 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go @@ -0,0 +1,272 @@ +// mksysctl_openbsd.pl +// Code generated by the command above; DO NOT EDIT. + +// +build 386,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.arandom", []_C_int{1, 37}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cryptodevallowsoft", []_C_int{1, 53}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.random", []_C_int{1, 31}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.maxptys", []_C_int{1, 44, 6}}, + {"kern.tty.nptys", []_C_int{1, 44, 7}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.userasymcrypto", []_C_int{1, 60}}, + {"kern.usercrypto", []_C_int{1, 52}}, + {"kern.usermount", []_C_int{1, 30}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.vnode", []_C_int{1, 13}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, + {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, + {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, + {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go new file mode 100644 index 0000000..fe6caa6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go @@ -0,0 +1,270 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.dnsjackport", []_C_int{1, 13}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go new file mode 100644 index 0000000..6eb8c0b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go @@ -0,0 +1,272 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +// +build arm,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.arandom", []_C_int{1, 37}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cryptodevallowsoft", []_C_int{1, 53}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.random", []_C_int{1, 31}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.maxptys", []_C_int{1, 44, 6}}, + {"kern.tty.nptys", []_C_int{1, 44, 7}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.userasymcrypto", []_C_int{1, 60}}, + {"kern.usercrypto", []_C_int{1, 52}}, + {"kern.usermount", []_C_int{1, 30}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.vnode", []_C_int{1, 13}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, + {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, + {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, + {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go new file mode 100644 index 0000000..ba4304f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go @@ -0,0 +1,275 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.smt", []_C_int{6, 24}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.audio", []_C_int{1, 84}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cpustats", []_C_int{1, 85}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.witnesswatch", []_C_int{1, 53}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.malloc_conf", []_C_int{2, 12}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go new file mode 100644 index 0000000..f336145 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go new file mode 100644 index 0000000..654dd3d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go @@ -0,0 +1,438 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_KQUEUE_WORKLOOP_CTL = 530 + SYS___MACH_BRIDGE_REMOTE_TIME = 531 + SYS_MAXSYSCALL = 532 + SYS_INVALID = 63 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go new file mode 100644 index 0000000..103a72e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go new file mode 100644 index 0000000..7ab2130 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go new file mode 100644 index 0000000..464c9a9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go @@ -0,0 +1,315 @@ +// go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void exit(int rval); } + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } wait4 wait_args int + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, caddr_t from, int *fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } + SYS_ACCESS = 33 // { int access(char *path, int flags); } + SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { pid_t vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(int from, int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } + SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } + SYS_UNAME = 164 // { int uname(struct utsname *name); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int + SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, u_int nsops); } + SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, u_int iovcnt, int flags, off_t offset); } + SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,u_int iovcnt, int flags, off_t offset); } + SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } + SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } + SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } + SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } + SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } + SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } + SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } + SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } + SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } + SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } + SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_CLOSEFROM = 474 // { int closefrom(int fd); } + SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } + SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } + SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } + SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, int bytes); } + SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } + SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } + SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } + SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } + SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, struct trapframe *tframe, struct vextframe *vframe); } + SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, int prot, int flags, int fd, off_t offset); } + SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, size_t len); } + SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } + SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } + SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } + SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } + SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } + SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sigmask); } + SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } + SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } + SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } + SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, struct statvfs *vbuf, long vbufsize, int flags); } + SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } + SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, struct stat *sb, int flags); } + SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, int flags); } + SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, int flags); } + SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } + SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, int flags); } + SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, mode_t mode, struct mq_attr *attr); } + SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } + SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } + SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); } + SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstat); } + SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, const struct sigevent *notification); } + SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); } + SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); } + SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } + SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } + SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } + SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } + SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_SWAPOFF = 529 // { int swapoff(char *name); } + SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, struct plistref *pref); } + SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flags); } + SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } + SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } + SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } + SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } + SYS_PROCCTL = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } + SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);} + SYS_PIPE2 = 538 // { int pipe2(int *fildes, int flags); } + SYS_UTIMENSAT = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } + SYS_FUTIMENS = 540 // { int futimens(int fd, const struct timespec *ts); } + SYS_ACCEPT4 = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); } + SYS_LWP_SETNAME = 542 // { int lwp_setname(lwpid_t tid, const char *name); } + SYS_PPOLL = 543 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *sigmask); } + SYS_LWP_SETAFFINITY = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } + SYS_LWP_GETAFFINITY = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } + SYS_LWP_CREATE2 = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go new file mode 100644 index 0000000..9474974 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go new file mode 100644 index 0000000..48a7bea --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go new file mode 100644 index 0000000..4a6dfd4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go new file mode 100644 index 0000000..3e51af8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go new file mode 100644 index 0000000..e869c06 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -0,0 +1,432 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86OLD = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_VM86 = 166 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_SET_THREAD_AREA = 243 + SYS_GET_THREAD_AREA = 244 + SYS_IO_SETUP = 245 + SYS_IO_DESTROY = 246 + SYS_IO_GETEVENTS = 247 + SYS_IO_SUBMIT = 248 + SYS_IO_CANCEL = 249 + SYS_FADVISE64 = 250 + SYS_EXIT_GROUP = 252 + SYS_LOOKUP_DCOOKIE = 253 + SYS_EPOLL_CREATE = 254 + SYS_EPOLL_CTL = 255 + SYS_EPOLL_WAIT = 256 + SYS_REMAP_FILE_PAGES = 257 + SYS_SET_TID_ADDRESS = 258 + SYS_TIMER_CREATE = 259 + SYS_TIMER_SETTIME = 260 + SYS_TIMER_GETTIME = 261 + SYS_TIMER_GETOVERRUN = 262 + SYS_TIMER_DELETE = 263 + SYS_CLOCK_SETTIME = 264 + SYS_CLOCK_GETTIME = 265 + SYS_CLOCK_GETRES = 266 + SYS_CLOCK_NANOSLEEP = 267 + SYS_STATFS64 = 268 + SYS_FSTATFS64 = 269 + SYS_TGKILL = 270 + SYS_UTIMES = 271 + SYS_FADVISE64_64 = 272 + SYS_VSERVER = 273 + SYS_MBIND = 274 + SYS_GET_MEMPOLICY = 275 + SYS_SET_MEMPOLICY = 276 + SYS_MQ_OPEN = 277 + SYS_MQ_UNLINK = 278 + SYS_MQ_TIMEDSEND = 279 + SYS_MQ_TIMEDRECEIVE = 280 + SYS_MQ_NOTIFY = 281 + SYS_MQ_GETSETATTR = 282 + SYS_KEXEC_LOAD = 283 + SYS_WAITID = 284 + SYS_ADD_KEY = 286 + SYS_REQUEST_KEY = 287 + SYS_KEYCTL = 288 + SYS_IOPRIO_SET = 289 + SYS_IOPRIO_GET = 290 + SYS_INOTIFY_INIT = 291 + SYS_INOTIFY_ADD_WATCH = 292 + SYS_INOTIFY_RM_WATCH = 293 + SYS_MIGRATE_PAGES = 294 + SYS_OPENAT = 295 + SYS_MKDIRAT = 296 + SYS_MKNODAT = 297 + SYS_FCHOWNAT = 298 + SYS_FUTIMESAT = 299 + SYS_FSTATAT64 = 300 + SYS_UNLINKAT = 301 + SYS_RENAMEAT = 302 + SYS_LINKAT = 303 + SYS_SYMLINKAT = 304 + SYS_READLINKAT = 305 + SYS_FCHMODAT = 306 + SYS_FACCESSAT = 307 + SYS_PSELECT6 = 308 + SYS_PPOLL = 309 + SYS_UNSHARE = 310 + SYS_SET_ROBUST_LIST = 311 + SYS_GET_ROBUST_LIST = 312 + SYS_SPLICE = 313 + SYS_SYNC_FILE_RANGE = 314 + SYS_TEE = 315 + SYS_VMSPLICE = 316 + SYS_MOVE_PAGES = 317 + SYS_GETCPU = 318 + SYS_EPOLL_PWAIT = 319 + SYS_UTIMENSAT = 320 + SYS_SIGNALFD = 321 + SYS_TIMERFD_CREATE = 322 + SYS_EVENTFD = 323 + SYS_FALLOCATE = 324 + SYS_TIMERFD_SETTIME = 325 + SYS_TIMERFD_GETTIME = 326 + SYS_SIGNALFD4 = 327 + SYS_EVENTFD2 = 328 + SYS_EPOLL_CREATE1 = 329 + SYS_DUP3 = 330 + SYS_PIPE2 = 331 + SYS_INOTIFY_INIT1 = 332 + SYS_PREADV = 333 + SYS_PWRITEV = 334 + SYS_RT_TGSIGQUEUEINFO = 335 + SYS_PERF_EVENT_OPEN = 336 + SYS_RECVMMSG = 337 + SYS_FANOTIFY_INIT = 338 + SYS_FANOTIFY_MARK = 339 + SYS_PRLIMIT64 = 340 + SYS_NAME_TO_HANDLE_AT = 341 + SYS_OPEN_BY_HANDLE_AT = 342 + SYS_CLOCK_ADJTIME = 343 + SYS_SYNCFS = 344 + SYS_SENDMMSG = 345 + SYS_SETNS = 346 + SYS_PROCESS_VM_READV = 347 + SYS_PROCESS_VM_WRITEV = 348 + SYS_KCMP = 349 + SYS_FINIT_MODULE = 350 + SYS_SCHED_SETATTR = 351 + SYS_SCHED_GETATTR = 352 + SYS_RENAMEAT2 = 353 + SYS_SECCOMP = 354 + SYS_GETRANDOM = 355 + SYS_MEMFD_CREATE = 356 + SYS_BPF = 357 + SYS_EXECVEAT = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_USERFAULTFD = 374 + SYS_MEMBARRIER = 375 + SYS_MLOCK2 = 376 + SYS_COPY_FILE_RANGE = 377 + SYS_PREADV2 = 378 + SYS_PWRITEV2 = 379 + SYS_PKEY_MPROTECT = 380 + SYS_PKEY_ALLOC = 381 + SYS_PKEY_FREE = 382 + SYS_STATX = 383 + SYS_ARCH_PRCTL = 384 + SYS_IO_PGETEVENTS = 385 + SYS_RSEQ = 386 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go new file mode 100644 index 0000000..4917b8a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -0,0 +1,354 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + SYS_READ = 0 + SYS_WRITE = 1 + SYS_OPEN = 2 + SYS_CLOSE = 3 + SYS_STAT = 4 + SYS_FSTAT = 5 + SYS_LSTAT = 6 + SYS_POLL = 7 + SYS_LSEEK = 8 + SYS_MMAP = 9 + SYS_MPROTECT = 10 + SYS_MUNMAP = 11 + SYS_BRK = 12 + SYS_RT_SIGACTION = 13 + SYS_RT_SIGPROCMASK = 14 + SYS_RT_SIGRETURN = 15 + SYS_IOCTL = 16 + SYS_PREAD64 = 17 + SYS_PWRITE64 = 18 + SYS_READV = 19 + SYS_WRITEV = 20 + SYS_ACCESS = 21 + SYS_PIPE = 22 + SYS_SELECT = 23 + SYS_SCHED_YIELD = 24 + SYS_MREMAP = 25 + SYS_MSYNC = 26 + SYS_MINCORE = 27 + SYS_MADVISE = 28 + SYS_SHMGET = 29 + SYS_SHMAT = 30 + SYS_SHMCTL = 31 + SYS_DUP = 32 + SYS_DUP2 = 33 + SYS_PAUSE = 34 + SYS_NANOSLEEP = 35 + SYS_GETITIMER = 36 + SYS_ALARM = 37 + SYS_SETITIMER = 38 + SYS_GETPID = 39 + SYS_SENDFILE = 40 + SYS_SOCKET = 41 + SYS_CONNECT = 42 + SYS_ACCEPT = 43 + SYS_SENDTO = 44 + SYS_RECVFROM = 45 + SYS_SENDMSG = 46 + SYS_RECVMSG = 47 + SYS_SHUTDOWN = 48 + SYS_BIND = 49 + SYS_LISTEN = 50 + SYS_GETSOCKNAME = 51 + SYS_GETPEERNAME = 52 + SYS_SOCKETPAIR = 53 + SYS_SETSOCKOPT = 54 + SYS_GETSOCKOPT = 55 + SYS_CLONE = 56 + SYS_FORK = 57 + SYS_VFORK = 58 + SYS_EXECVE = 59 + SYS_EXIT = 60 + SYS_WAIT4 = 61 + SYS_KILL = 62 + SYS_UNAME = 63 + SYS_SEMGET = 64 + SYS_SEMOP = 65 + SYS_SEMCTL = 66 + SYS_SHMDT = 67 + SYS_MSGGET = 68 + SYS_MSGSND = 69 + SYS_MSGRCV = 70 + SYS_MSGCTL = 71 + SYS_FCNTL = 72 + SYS_FLOCK = 73 + SYS_FSYNC = 74 + SYS_FDATASYNC = 75 + SYS_TRUNCATE = 76 + SYS_FTRUNCATE = 77 + SYS_GETDENTS = 78 + SYS_GETCWD = 79 + SYS_CHDIR = 80 + SYS_FCHDIR = 81 + SYS_RENAME = 82 + SYS_MKDIR = 83 + SYS_RMDIR = 84 + SYS_CREAT = 85 + SYS_LINK = 86 + SYS_UNLINK = 87 + SYS_SYMLINK = 88 + SYS_READLINK = 89 + SYS_CHMOD = 90 + SYS_FCHMOD = 91 + SYS_CHOWN = 92 + SYS_FCHOWN = 93 + SYS_LCHOWN = 94 + SYS_UMASK = 95 + SYS_GETTIMEOFDAY = 96 + SYS_GETRLIMIT = 97 + SYS_GETRUSAGE = 98 + SYS_SYSINFO = 99 + SYS_TIMES = 100 + SYS_PTRACE = 101 + SYS_GETUID = 102 + SYS_SYSLOG = 103 + SYS_GETGID = 104 + SYS_SETUID = 105 + SYS_SETGID = 106 + SYS_GETEUID = 107 + SYS_GETEGID = 108 + SYS_SETPGID = 109 + SYS_GETPPID = 110 + SYS_GETPGRP = 111 + SYS_SETSID = 112 + SYS_SETREUID = 113 + SYS_SETREGID = 114 + SYS_GETGROUPS = 115 + SYS_SETGROUPS = 116 + SYS_SETRESUID = 117 + SYS_GETRESUID = 118 + SYS_SETRESGID = 119 + SYS_GETRESGID = 120 + SYS_GETPGID = 121 + SYS_SETFSUID = 122 + SYS_SETFSGID = 123 + SYS_GETSID = 124 + SYS_CAPGET = 125 + SYS_CAPSET = 126 + SYS_RT_SIGPENDING = 127 + SYS_RT_SIGTIMEDWAIT = 128 + SYS_RT_SIGQUEUEINFO = 129 + SYS_RT_SIGSUSPEND = 130 + SYS_SIGALTSTACK = 131 + SYS_UTIME = 132 + SYS_MKNOD = 133 + SYS_USELIB = 134 + SYS_PERSONALITY = 135 + SYS_USTAT = 136 + SYS_STATFS = 137 + SYS_FSTATFS = 138 + SYS_SYSFS = 139 + SYS_GETPRIORITY = 140 + SYS_SETPRIORITY = 141 + SYS_SCHED_SETPARAM = 142 + SYS_SCHED_GETPARAM = 143 + SYS_SCHED_SETSCHEDULER = 144 + SYS_SCHED_GETSCHEDULER = 145 + SYS_SCHED_GET_PRIORITY_MAX = 146 + SYS_SCHED_GET_PRIORITY_MIN = 147 + SYS_SCHED_RR_GET_INTERVAL = 148 + SYS_MLOCK = 149 + SYS_MUNLOCK = 150 + SYS_MLOCKALL = 151 + SYS_MUNLOCKALL = 152 + SYS_VHANGUP = 153 + SYS_MODIFY_LDT = 154 + SYS_PIVOT_ROOT = 155 + SYS__SYSCTL = 156 + SYS_PRCTL = 157 + SYS_ARCH_PRCTL = 158 + SYS_ADJTIMEX = 159 + SYS_SETRLIMIT = 160 + SYS_CHROOT = 161 + SYS_SYNC = 162 + SYS_ACCT = 163 + SYS_SETTIMEOFDAY = 164 + SYS_MOUNT = 165 + SYS_UMOUNT2 = 166 + SYS_SWAPON = 167 + SYS_SWAPOFF = 168 + SYS_REBOOT = 169 + SYS_SETHOSTNAME = 170 + SYS_SETDOMAINNAME = 171 + SYS_IOPL = 172 + SYS_IOPERM = 173 + SYS_CREATE_MODULE = 174 + SYS_INIT_MODULE = 175 + SYS_DELETE_MODULE = 176 + SYS_GET_KERNEL_SYMS = 177 + SYS_QUERY_MODULE = 178 + SYS_QUOTACTL = 179 + SYS_NFSSERVCTL = 180 + SYS_GETPMSG = 181 + SYS_PUTPMSG = 182 + SYS_AFS_SYSCALL = 183 + SYS_TUXCALL = 184 + SYS_SECURITY = 185 + SYS_GETTID = 186 + SYS_READAHEAD = 187 + SYS_SETXATTR = 188 + SYS_LSETXATTR = 189 + SYS_FSETXATTR = 190 + SYS_GETXATTR = 191 + SYS_LGETXATTR = 192 + SYS_FGETXATTR = 193 + SYS_LISTXATTR = 194 + SYS_LLISTXATTR = 195 + SYS_FLISTXATTR = 196 + SYS_REMOVEXATTR = 197 + SYS_LREMOVEXATTR = 198 + SYS_FREMOVEXATTR = 199 + SYS_TKILL = 200 + SYS_TIME = 201 + SYS_FUTEX = 202 + SYS_SCHED_SETAFFINITY = 203 + SYS_SCHED_GETAFFINITY = 204 + SYS_SET_THREAD_AREA = 205 + SYS_IO_SETUP = 206 + SYS_IO_DESTROY = 207 + SYS_IO_GETEVENTS = 208 + SYS_IO_SUBMIT = 209 + SYS_IO_CANCEL = 210 + SYS_GET_THREAD_AREA = 211 + SYS_LOOKUP_DCOOKIE = 212 + SYS_EPOLL_CREATE = 213 + SYS_EPOLL_CTL_OLD = 214 + SYS_EPOLL_WAIT_OLD = 215 + SYS_REMAP_FILE_PAGES = 216 + SYS_GETDENTS64 = 217 + SYS_SET_TID_ADDRESS = 218 + SYS_RESTART_SYSCALL = 219 + SYS_SEMTIMEDOP = 220 + SYS_FADVISE64 = 221 + SYS_TIMER_CREATE = 222 + SYS_TIMER_SETTIME = 223 + SYS_TIMER_GETTIME = 224 + SYS_TIMER_GETOVERRUN = 225 + SYS_TIMER_DELETE = 226 + SYS_CLOCK_SETTIME = 227 + SYS_CLOCK_GETTIME = 228 + SYS_CLOCK_GETRES = 229 + SYS_CLOCK_NANOSLEEP = 230 + SYS_EXIT_GROUP = 231 + SYS_EPOLL_WAIT = 232 + SYS_EPOLL_CTL = 233 + SYS_TGKILL = 234 + SYS_UTIMES = 235 + SYS_VSERVER = 236 + SYS_MBIND = 237 + SYS_SET_MEMPOLICY = 238 + SYS_GET_MEMPOLICY = 239 + SYS_MQ_OPEN = 240 + SYS_MQ_UNLINK = 241 + SYS_MQ_TIMEDSEND = 242 + SYS_MQ_TIMEDRECEIVE = 243 + SYS_MQ_NOTIFY = 244 + SYS_MQ_GETSETATTR = 245 + SYS_KEXEC_LOAD = 246 + SYS_WAITID = 247 + SYS_ADD_KEY = 248 + SYS_REQUEST_KEY = 249 + SYS_KEYCTL = 250 + SYS_IOPRIO_SET = 251 + SYS_IOPRIO_GET = 252 + SYS_INOTIFY_INIT = 253 + SYS_INOTIFY_ADD_WATCH = 254 + SYS_INOTIFY_RM_WATCH = 255 + SYS_MIGRATE_PAGES = 256 + SYS_OPENAT = 257 + SYS_MKDIRAT = 258 + SYS_MKNODAT = 259 + SYS_FCHOWNAT = 260 + SYS_FUTIMESAT = 261 + SYS_NEWFSTATAT = 262 + SYS_UNLINKAT = 263 + SYS_RENAMEAT = 264 + SYS_LINKAT = 265 + SYS_SYMLINKAT = 266 + SYS_READLINKAT = 267 + SYS_FCHMODAT = 268 + SYS_FACCESSAT = 269 + SYS_PSELECT6 = 270 + SYS_PPOLL = 271 + SYS_UNSHARE = 272 + SYS_SET_ROBUST_LIST = 273 + SYS_GET_ROBUST_LIST = 274 + SYS_SPLICE = 275 + SYS_TEE = 276 + SYS_SYNC_FILE_RANGE = 277 + SYS_VMSPLICE = 278 + SYS_MOVE_PAGES = 279 + SYS_UTIMENSAT = 280 + SYS_EPOLL_PWAIT = 281 + SYS_SIGNALFD = 282 + SYS_TIMERFD_CREATE = 283 + SYS_EVENTFD = 284 + SYS_FALLOCATE = 285 + SYS_TIMERFD_SETTIME = 286 + SYS_TIMERFD_GETTIME = 287 + SYS_ACCEPT4 = 288 + SYS_SIGNALFD4 = 289 + SYS_EVENTFD2 = 290 + SYS_EPOLL_CREATE1 = 291 + SYS_DUP3 = 292 + SYS_PIPE2 = 293 + SYS_INOTIFY_INIT1 = 294 + SYS_PREADV = 295 + SYS_PWRITEV = 296 + SYS_RT_TGSIGQUEUEINFO = 297 + SYS_PERF_EVENT_OPEN = 298 + SYS_RECVMMSG = 299 + SYS_FANOTIFY_INIT = 300 + SYS_FANOTIFY_MARK = 301 + SYS_PRLIMIT64 = 302 + SYS_NAME_TO_HANDLE_AT = 303 + SYS_OPEN_BY_HANDLE_AT = 304 + SYS_CLOCK_ADJTIME = 305 + SYS_SYNCFS = 306 + SYS_SENDMMSG = 307 + SYS_SETNS = 308 + SYS_GETCPU = 309 + SYS_PROCESS_VM_READV = 310 + SYS_PROCESS_VM_WRITEV = 311 + SYS_KCMP = 312 + SYS_FINIT_MODULE = 313 + SYS_SCHED_SETATTR = 314 + SYS_SCHED_GETATTR = 315 + SYS_RENAMEAT2 = 316 + SYS_SECCOMP = 317 + SYS_GETRANDOM = 318 + SYS_MEMFD_CREATE = 319 + SYS_KEXEC_FILE_LOAD = 320 + SYS_BPF = 321 + SYS_EXECVEAT = 322 + SYS_USERFAULTFD = 323 + SYS_MEMBARRIER = 324 + SYS_MLOCK2 = 325 + SYS_COPY_FILE_RANGE = 326 + SYS_PREADV2 = 327 + SYS_PWRITEV2 = 328 + SYS_PKEY_MPROTECT = 329 + SYS_PKEY_ALLOC = 330 + SYS_PKEY_FREE = 331 + SYS_STATX = 332 + SYS_IO_PGETEVENTS = 333 + SYS_RSEQ = 334 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go new file mode 100644 index 0000000..f85fcb4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -0,0 +1,396 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_PTRACE = 26 + SYS_PAUSE = 29 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_VHANGUP = 111 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_GETDENTS64 = 217 + SYS_PIVOT_ROOT = 218 + SYS_MINCORE = 219 + SYS_MADVISE = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_LOOKUP_DCOOKIE = 249 + SYS_EPOLL_CREATE = 250 + SYS_EPOLL_CTL = 251 + SYS_EPOLL_WAIT = 252 + SYS_REMAP_FILE_PAGES = 253 + SYS_SET_TID_ADDRESS = 256 + SYS_TIMER_CREATE = 257 + SYS_TIMER_SETTIME = 258 + SYS_TIMER_GETTIME = 259 + SYS_TIMER_GETOVERRUN = 260 + SYS_TIMER_DELETE = 261 + SYS_CLOCK_SETTIME = 262 + SYS_CLOCK_GETTIME = 263 + SYS_CLOCK_GETRES = 264 + SYS_CLOCK_NANOSLEEP = 265 + SYS_STATFS64 = 266 + SYS_FSTATFS64 = 267 + SYS_TGKILL = 268 + SYS_UTIMES = 269 + SYS_ARM_FADVISE64_64 = 270 + SYS_PCICONFIG_IOBASE = 271 + SYS_PCICONFIG_READ = 272 + SYS_PCICONFIG_WRITE = 273 + SYS_MQ_OPEN = 274 + SYS_MQ_UNLINK = 275 + SYS_MQ_TIMEDSEND = 276 + SYS_MQ_TIMEDRECEIVE = 277 + SYS_MQ_NOTIFY = 278 + SYS_MQ_GETSETATTR = 279 + SYS_WAITID = 280 + SYS_SOCKET = 281 + SYS_BIND = 282 + SYS_CONNECT = 283 + SYS_LISTEN = 284 + SYS_ACCEPT = 285 + SYS_GETSOCKNAME = 286 + SYS_GETPEERNAME = 287 + SYS_SOCKETPAIR = 288 + SYS_SEND = 289 + SYS_SENDTO = 290 + SYS_RECV = 291 + SYS_RECVFROM = 292 + SYS_SHUTDOWN = 293 + SYS_SETSOCKOPT = 294 + SYS_GETSOCKOPT = 295 + SYS_SENDMSG = 296 + SYS_RECVMSG = 297 + SYS_SEMOP = 298 + SYS_SEMGET = 299 + SYS_SEMCTL = 300 + SYS_MSGSND = 301 + SYS_MSGRCV = 302 + SYS_MSGGET = 303 + SYS_MSGCTL = 304 + SYS_SHMAT = 305 + SYS_SHMDT = 306 + SYS_SHMGET = 307 + SYS_SHMCTL = 308 + SYS_ADD_KEY = 309 + SYS_REQUEST_KEY = 310 + SYS_KEYCTL = 311 + SYS_SEMTIMEDOP = 312 + SYS_VSERVER = 313 + SYS_IOPRIO_SET = 314 + SYS_IOPRIO_GET = 315 + SYS_INOTIFY_INIT = 316 + SYS_INOTIFY_ADD_WATCH = 317 + SYS_INOTIFY_RM_WATCH = 318 + SYS_MBIND = 319 + SYS_GET_MEMPOLICY = 320 + SYS_SET_MEMPOLICY = 321 + SYS_OPENAT = 322 + SYS_MKDIRAT = 323 + SYS_MKNODAT = 324 + SYS_FCHOWNAT = 325 + SYS_FUTIMESAT = 326 + SYS_FSTATAT64 = 327 + SYS_UNLINKAT = 328 + SYS_RENAMEAT = 329 + SYS_LINKAT = 330 + SYS_SYMLINKAT = 331 + SYS_READLINKAT = 332 + SYS_FCHMODAT = 333 + SYS_FACCESSAT = 334 + SYS_PSELECT6 = 335 + SYS_PPOLL = 336 + SYS_UNSHARE = 337 + SYS_SET_ROBUST_LIST = 338 + SYS_GET_ROBUST_LIST = 339 + SYS_SPLICE = 340 + SYS_ARM_SYNC_FILE_RANGE = 341 + SYS_TEE = 342 + SYS_VMSPLICE = 343 + SYS_MOVE_PAGES = 344 + SYS_GETCPU = 345 + SYS_EPOLL_PWAIT = 346 + SYS_KEXEC_LOAD = 347 + SYS_UTIMENSAT = 348 + SYS_SIGNALFD = 349 + SYS_TIMERFD_CREATE = 350 + SYS_EVENTFD = 351 + SYS_FALLOCATE = 352 + SYS_TIMERFD_SETTIME = 353 + SYS_TIMERFD_GETTIME = 354 + SYS_SIGNALFD4 = 355 + SYS_EVENTFD2 = 356 + SYS_EPOLL_CREATE1 = 357 + SYS_DUP3 = 358 + SYS_PIPE2 = 359 + SYS_INOTIFY_INIT1 = 360 + SYS_PREADV = 361 + SYS_PWRITEV = 362 + SYS_RT_TGSIGQUEUEINFO = 363 + SYS_PERF_EVENT_OPEN = 364 + SYS_RECVMMSG = 365 + SYS_ACCEPT4 = 366 + SYS_FANOTIFY_INIT = 367 + SYS_FANOTIFY_MARK = 368 + SYS_PRLIMIT64 = 369 + SYS_NAME_TO_HANDLE_AT = 370 + SYS_OPEN_BY_HANDLE_AT = 371 + SYS_CLOCK_ADJTIME = 372 + SYS_SYNCFS = 373 + SYS_SENDMMSG = 374 + SYS_SETNS = 375 + SYS_PROCESS_VM_READV = 376 + SYS_PROCESS_VM_WRITEV = 377 + SYS_KCMP = 378 + SYS_FINIT_MODULE = 379 + SYS_SCHED_SETATTR = 380 + SYS_SCHED_GETATTR = 381 + SYS_RENAMEAT2 = 382 + SYS_SECCOMP = 383 + SYS_GETRANDOM = 384 + SYS_MEMFD_CREATE = 385 + SYS_BPF = 386 + SYS_EXECVEAT = 387 + SYS_USERFAULTFD = 388 + SYS_MEMBARRIER = 389 + SYS_MLOCK2 = 390 + SYS_COPY_FILE_RANGE = 391 + SYS_PREADV2 = 392 + SYS_PWRITEV2 = 393 + SYS_PKEY_MPROTECT = 394 + SYS_PKEY_ALLOC = 395 + SYS_PKEY_FREE = 396 + SYS_STATX = 397 + SYS_RSEQ = 398 + SYS_IO_PGETEVENTS = 399 + SYS_MIGRATE_PAGES = 400 + SYS_KEXEC_FILE_LOAD = 401 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go new file mode 100644 index 0000000..678a119 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -0,0 +1,299 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_RENAMEAT = 38 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go new file mode 100644 index 0000000..222c9f9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -0,0 +1,417 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 + SYS_OPEN_TREE = 4428 + SYS_MOVE_MOUNT = 4429 + SYS_FSOPEN = 4430 + SYS_FSCONFIG = 4431 + SYS_FSMOUNT = 4432 + SYS_FSPICK = 4433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go new file mode 100644 index 0000000..28e6d0e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -0,0 +1,347 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go new file mode 100644 index 0000000..e643c6f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -0,0 +1,347 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go new file mode 100644 index 0000000..01d93c4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -0,0 +1,417 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 + SYS_OPEN_TREE = 4428 + SYS_MOVE_MOUNT = 4429 + SYS_FSOPEN = 4430 + SYS_FSCONFIG = 4431 + SYS_FSMOUNT = 4432 + SYS_FSPICK = 4433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go new file mode 100644 index 0000000..5744149 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -0,0 +1,396 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go new file mode 100644 index 0000000..21c8320 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -0,0 +1,396 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go new file mode 100644 index 0000000..c1bb6d8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -0,0 +1,298 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go new file mode 100644 index 0000000..bc3cc6b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -0,0 +1,361 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_RESTART_SYSCALL = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SIGNAL = 48 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_LOOKUP_DCOOKIE = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_GETDENTS = 141 + SYS_SELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_GETRLIMIT = 191 + SYS_LCHOWN = 198 + SYS_GETUID = 199 + SYS_GETGID = 200 + SYS_GETEUID = 201 + SYS_GETEGID = 202 + SYS_SETREUID = 203 + SYS_SETREGID = 204 + SYS_GETGROUPS = 205 + SYS_SETGROUPS = 206 + SYS_FCHOWN = 207 + SYS_SETRESUID = 208 + SYS_GETRESUID = 209 + SYS_SETRESGID = 210 + SYS_GETRESGID = 211 + SYS_CHOWN = 212 + SYS_SETUID = 213 + SYS_SETGID = 214 + SYS_SETFSUID = 215 + SYS_SETFSGID = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_READAHEAD = 222 + SYS_SETXATTR = 224 + SYS_LSETXATTR = 225 + SYS_FSETXATTR = 226 + SYS_GETXATTR = 227 + SYS_LGETXATTR = 228 + SYS_FGETXATTR = 229 + SYS_LISTXATTR = 230 + SYS_LLISTXATTR = 231 + SYS_FLISTXATTR = 232 + SYS_REMOVEXATTR = 233 + SYS_LREMOVEXATTR = 234 + SYS_FREMOVEXATTR = 235 + SYS_GETTID = 236 + SYS_TKILL = 237 + SYS_FUTEX = 238 + SYS_SCHED_SETAFFINITY = 239 + SYS_SCHED_GETAFFINITY = 240 + SYS_TGKILL = 241 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_EPOLL_CREATE = 249 + SYS_EPOLL_CTL = 250 + SYS_EPOLL_WAIT = 251 + SYS_SET_TID_ADDRESS = 252 + SYS_FADVISE64 = 253 + SYS_TIMER_CREATE = 254 + SYS_TIMER_SETTIME = 255 + SYS_TIMER_GETTIME = 256 + SYS_TIMER_GETOVERRUN = 257 + SYS_TIMER_DELETE = 258 + SYS_CLOCK_SETTIME = 259 + SYS_CLOCK_GETTIME = 260 + SYS_CLOCK_GETRES = 261 + SYS_CLOCK_NANOSLEEP = 262 + SYS_STATFS64 = 265 + SYS_FSTATFS64 = 266 + SYS_REMAP_FILE_PAGES = 267 + SYS_MBIND = 268 + SYS_GET_MEMPOLICY = 269 + SYS_SET_MEMPOLICY = 270 + SYS_MQ_OPEN = 271 + SYS_MQ_UNLINK = 272 + SYS_MQ_TIMEDSEND = 273 + SYS_MQ_TIMEDRECEIVE = 274 + SYS_MQ_NOTIFY = 275 + SYS_MQ_GETSETATTR = 276 + SYS_KEXEC_LOAD = 277 + SYS_ADD_KEY = 278 + SYS_REQUEST_KEY = 279 + SYS_KEYCTL = 280 + SYS_WAITID = 281 + SYS_IOPRIO_SET = 282 + SYS_IOPRIO_GET = 283 + SYS_INOTIFY_INIT = 284 + SYS_INOTIFY_ADD_WATCH = 285 + SYS_INOTIFY_RM_WATCH = 286 + SYS_MIGRATE_PAGES = 287 + SYS_OPENAT = 288 + SYS_MKDIRAT = 289 + SYS_MKNODAT = 290 + SYS_FCHOWNAT = 291 + SYS_FUTIMESAT = 292 + SYS_NEWFSTATAT = 293 + SYS_UNLINKAT = 294 + SYS_RENAMEAT = 295 + SYS_LINKAT = 296 + SYS_SYMLINKAT = 297 + SYS_READLINKAT = 298 + SYS_FCHMODAT = 299 + SYS_FACCESSAT = 300 + SYS_PSELECT6 = 301 + SYS_PPOLL = 302 + SYS_UNSHARE = 303 + SYS_SET_ROBUST_LIST = 304 + SYS_GET_ROBUST_LIST = 305 + SYS_SPLICE = 306 + SYS_SYNC_FILE_RANGE = 307 + SYS_TEE = 308 + SYS_VMSPLICE = 309 + SYS_MOVE_PAGES = 310 + SYS_GETCPU = 311 + SYS_EPOLL_PWAIT = 312 + SYS_UTIMES = 313 + SYS_FALLOCATE = 314 + SYS_UTIMENSAT = 315 + SYS_SIGNALFD = 316 + SYS_TIMERFD = 317 + SYS_EVENTFD = 318 + SYS_TIMERFD_CREATE = 319 + SYS_TIMERFD_SETTIME = 320 + SYS_TIMERFD_GETTIME = 321 + SYS_SIGNALFD4 = 322 + SYS_EVENTFD2 = 323 + SYS_INOTIFY_INIT1 = 324 + SYS_PIPE2 = 325 + SYS_DUP3 = 326 + SYS_EPOLL_CREATE1 = 327 + SYS_PREADV = 328 + SYS_PWRITEV = 329 + SYS_RT_TGSIGQUEUEINFO = 330 + SYS_PERF_EVENT_OPEN = 331 + SYS_FANOTIFY_INIT = 332 + SYS_FANOTIFY_MARK = 333 + SYS_PRLIMIT64 = 334 + SYS_NAME_TO_HANDLE_AT = 335 + SYS_OPEN_BY_HANDLE_AT = 336 + SYS_CLOCK_ADJTIME = 337 + SYS_SYNCFS = 338 + SYS_SETNS = 339 + SYS_PROCESS_VM_READV = 340 + SYS_PROCESS_VM_WRITEV = 341 + SYS_S390_RUNTIME_INSTR = 342 + SYS_KCMP = 343 + SYS_FINIT_MODULE = 344 + SYS_SCHED_SETATTR = 345 + SYS_SCHED_GETATTR = 346 + SYS_RENAMEAT2 = 347 + SYS_SECCOMP = 348 + SYS_GETRANDOM = 349 + SYS_MEMFD_CREATE = 350 + SYS_BPF = 351 + SYS_S390_PCI_MMIO_WRITE = 352 + SYS_S390_PCI_MMIO_READ = 353 + SYS_EXECVEAT = 354 + SYS_USERFAULTFD = 355 + SYS_MEMBARRIER = 356 + SYS_RECVMMSG = 357 + SYS_SENDMMSG = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_MLOCK2 = 374 + SYS_COPY_FILE_RANGE = 375 + SYS_PREADV2 = 376 + SYS_PWRITEV2 = 377 + SYS_S390_GUARDED_STORAGE = 378 + SYS_STATX = 379 + SYS_S390_STHYI = 380 + SYS_KEXEC_FILE_LOAD = 381 + SYS_IO_PGETEVENTS = 382 + SYS_RSEQ = 383 + SYS_PKEY_MPROTECT = 384 + SYS_PKEY_ALLOC = 385 + SYS_PKEY_FREE = 386 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go new file mode 100644 index 0000000..0a2841b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -0,0 +1,376 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECV = 11 + SYS_CHDIR = 12 + SYS_CHOWN = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BRK = 17 + SYS_PERFCTR = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_CAPGET = 21 + SYS_CAPSET = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_VMSPLICE = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_SIGALTSTACK = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_STAT = 38 + SYS_SENDFILE = 39 + SYS_LSTAT = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_UMOUNT2 = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_MEMORY_ORDERING = 52 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_FSTAT = 62 + SYS_FSTAT64 = 63 + SYS_GETPAGESIZE = 64 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_MMAP = 71 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_VHANGUP = 76 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_SETHOSTNAME = 88 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_ACCEPT = 99 + SYS_GETPRIORITY = 100 + SYS_RT_SIGRETURN = 101 + SYS_RT_SIGACTION = 102 + SYS_RT_SIGPROCMASK = 103 + SYS_RT_SIGPENDING = 104 + SYS_RT_SIGTIMEDWAIT = 105 + SYS_RT_SIGQUEUEINFO = 106 + SYS_RT_SIGSUSPEND = 107 + SYS_SETRESUID = 108 + SYS_GETRESUID = 109 + SYS_SETRESGID = 110 + SYS_GETRESGID = 111 + SYS_RECVMSG = 113 + SYS_SENDMSG = 114 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_GETCWD = 119 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_RECVFROM = 125 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_TRUNCATE = 129 + SYS_FTRUNCATE = 130 + SYS_FLOCK = 131 + SYS_LSTAT64 = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_STAT64 = 139 + SYS_SENDFILE64 = 140 + SYS_GETPEERNAME = 141 + SYS_FUTEX = 142 + SYS_GETTID = 143 + SYS_GETRLIMIT = 144 + SYS_SETRLIMIT = 145 + SYS_PIVOT_ROOT = 146 + SYS_PRCTL = 147 + SYS_PCICONFIG_READ = 148 + SYS_PCICONFIG_WRITE = 149 + SYS_GETSOCKNAME = 150 + SYS_INOTIFY_INIT = 151 + SYS_INOTIFY_ADD_WATCH = 152 + SYS_POLL = 153 + SYS_GETDENTS64 = 154 + SYS_INOTIFY_RM_WATCH = 156 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UMOUNT = 159 + SYS_SCHED_SET_AFFINITY = 160 + SYS_SCHED_GET_AFFINITY = 161 + SYS_GETDOMAINNAME = 162 + SYS_SETDOMAINNAME = 163 + SYS_UTRAP_INSTALL = 164 + SYS_QUOTACTL = 165 + SYS_SET_TID_ADDRESS = 166 + SYS_MOUNT = 167 + SYS_USTAT = 168 + SYS_SETXATTR = 169 + SYS_LSETXATTR = 170 + SYS_FSETXATTR = 171 + SYS_GETXATTR = 172 + SYS_LGETXATTR = 173 + SYS_GETDENTS = 174 + SYS_SETSID = 175 + SYS_FCHDIR = 176 + SYS_FGETXATTR = 177 + SYS_LISTXATTR = 178 + SYS_LLISTXATTR = 179 + SYS_FLISTXATTR = 180 + SYS_REMOVEXATTR = 181 + SYS_LREMOVEXATTR = 182 + SYS_SIGPENDING = 183 + SYS_QUERY_MODULE = 184 + SYS_SETPGID = 185 + SYS_FREMOVEXATTR = 186 + SYS_TKILL = 187 + SYS_EXIT_GROUP = 188 + SYS_UNAME = 189 + SYS_INIT_MODULE = 190 + SYS_PERSONALITY = 191 + SYS_REMAP_FILE_PAGES = 192 + SYS_EPOLL_CREATE = 193 + SYS_EPOLL_CTL = 194 + SYS_EPOLL_WAIT = 195 + SYS_IOPRIO_SET = 196 + SYS_GETPPID = 197 + SYS_SIGACTION = 198 + SYS_SGETMASK = 199 + SYS_SSETMASK = 200 + SYS_SIGSUSPEND = 201 + SYS_OLDLSTAT = 202 + SYS_USELIB = 203 + SYS_READDIR = 204 + SYS_READAHEAD = 205 + SYS_SOCKETCALL = 206 + SYS_SYSLOG = 207 + SYS_LOOKUP_DCOOKIE = 208 + SYS_FADVISE64 = 209 + SYS_FADVISE64_64 = 210 + SYS_TGKILL = 211 + SYS_WAITPID = 212 + SYS_SWAPOFF = 213 + SYS_SYSINFO = 214 + SYS_IPC = 215 + SYS_SIGRETURN = 216 + SYS_CLONE = 217 + SYS_IOPRIO_GET = 218 + SYS_ADJTIMEX = 219 + SYS_SIGPROCMASK = 220 + SYS_CREATE_MODULE = 221 + SYS_DELETE_MODULE = 222 + SYS_GET_KERNEL_SYMS = 223 + SYS_GETPGID = 224 + SYS_BDFLUSH = 225 + SYS_SYSFS = 226 + SYS_AFS_SYSCALL = 227 + SYS_SETFSUID = 228 + SYS_SETFSGID = 229 + SYS__NEWSELECT = 230 + SYS_SPLICE = 232 + SYS_STIME = 233 + SYS_STATFS64 = 234 + SYS_FSTATFS64 = 235 + SYS__LLSEEK = 236 + SYS_MLOCK = 237 + SYS_MUNLOCK = 238 + SYS_MLOCKALL = 239 + SYS_MUNLOCKALL = 240 + SYS_SCHED_SETPARAM = 241 + SYS_SCHED_GETPARAM = 242 + SYS_SCHED_SETSCHEDULER = 243 + SYS_SCHED_GETSCHEDULER = 244 + SYS_SCHED_YIELD = 245 + SYS_SCHED_GET_PRIORITY_MAX = 246 + SYS_SCHED_GET_PRIORITY_MIN = 247 + SYS_SCHED_RR_GET_INTERVAL = 248 + SYS_NANOSLEEP = 249 + SYS_MREMAP = 250 + SYS__SYSCTL = 251 + SYS_GETSID = 252 + SYS_FDATASYNC = 253 + SYS_NFSSERVCTL = 254 + SYS_SYNC_FILE_RANGE = 255 + SYS_CLOCK_SETTIME = 256 + SYS_CLOCK_GETTIME = 257 + SYS_CLOCK_GETRES = 258 + SYS_CLOCK_NANOSLEEP = 259 + SYS_SCHED_GETAFFINITY = 260 + SYS_SCHED_SETAFFINITY = 261 + SYS_TIMER_SETTIME = 262 + SYS_TIMER_GETTIME = 263 + SYS_TIMER_GETOVERRUN = 264 + SYS_TIMER_DELETE = 265 + SYS_TIMER_CREATE = 266 + SYS_VSERVER = 267 + SYS_IO_SETUP = 268 + SYS_IO_DESTROY = 269 + SYS_IO_SUBMIT = 270 + SYS_IO_CANCEL = 271 + SYS_IO_GETEVENTS = 272 + SYS_MQ_OPEN = 273 + SYS_MQ_UNLINK = 274 + SYS_MQ_TIMEDSEND = 275 + SYS_MQ_TIMEDRECEIVE = 276 + SYS_MQ_NOTIFY = 277 + SYS_MQ_GETSETATTR = 278 + SYS_WAITID = 279 + SYS_TEE = 280 + SYS_ADD_KEY = 281 + SYS_REQUEST_KEY = 282 + SYS_KEYCTL = 283 + SYS_OPENAT = 284 + SYS_MKDIRAT = 285 + SYS_MKNODAT = 286 + SYS_FCHOWNAT = 287 + SYS_FUTIMESAT = 288 + SYS_FSTATAT64 = 289 + SYS_UNLINKAT = 290 + SYS_RENAMEAT = 291 + SYS_LINKAT = 292 + SYS_SYMLINKAT = 293 + SYS_READLINKAT = 294 + SYS_FCHMODAT = 295 + SYS_FACCESSAT = 296 + SYS_PSELECT6 = 297 + SYS_PPOLL = 298 + SYS_UNSHARE = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_GET_ROBUST_LIST = 301 + SYS_MIGRATE_PAGES = 302 + SYS_MBIND = 303 + SYS_GET_MEMPOLICY = 304 + SYS_SET_MEMPOLICY = 305 + SYS_KEXEC_LOAD = 306 + SYS_MOVE_PAGES = 307 + SYS_GETCPU = 308 + SYS_EPOLL_PWAIT = 309 + SYS_UTIMENSAT = 310 + SYS_SIGNALFD = 311 + SYS_TIMERFD_CREATE = 312 + SYS_EVENTFD = 313 + SYS_FALLOCATE = 314 + SYS_TIMERFD_SETTIME = 315 + SYS_TIMERFD_GETTIME = 316 + SYS_SIGNALFD4 = 317 + SYS_EVENTFD2 = 318 + SYS_EPOLL_CREATE1 = 319 + SYS_DUP3 = 320 + SYS_PIPE2 = 321 + SYS_INOTIFY_INIT1 = 322 + SYS_ACCEPT4 = 323 + SYS_PREADV = 324 + SYS_PWRITEV = 325 + SYS_RT_TGSIGQUEUEINFO = 326 + SYS_PERF_EVENT_OPEN = 327 + SYS_RECVMMSG = 328 + SYS_FANOTIFY_INIT = 329 + SYS_FANOTIFY_MARK = 330 + SYS_PRLIMIT64 = 331 + SYS_NAME_TO_HANDLE_AT = 332 + SYS_OPEN_BY_HANDLE_AT = 333 + SYS_CLOCK_ADJTIME = 334 + SYS_SYNCFS = 335 + SYS_SENDMMSG = 336 + SYS_SETNS = 337 + SYS_PROCESS_VM_READV = 338 + SYS_PROCESS_VM_WRITEV = 339 + SYS_KERN_FEATURES = 340 + SYS_KCMP = 341 + SYS_FINIT_MODULE = 342 + SYS_SCHED_SETATTR = 343 + SYS_SCHED_GETATTR = 344 + SYS_RENAMEAT2 = 345 + SYS_SECCOMP = 346 + SYS_GETRANDOM = 347 + SYS_MEMFD_CREATE = 348 + SYS_BPF = 349 + SYS_EXECVEAT = 350 + SYS_MEMBARRIER = 351 + SYS_USERFAULTFD = 352 + SYS_BIND = 353 + SYS_LISTEN = 354 + SYS_SETSOCKOPT = 355 + SYS_MLOCK2 = 356 + SYS_COPY_FILE_RANGE = 357 + SYS_PREADV2 = 358 + SYS_PWRITEV2 = 359 + SYS_STATX = 360 + SYS_IO_PGETEVENTS = 361 + SYS_PKEY_MPROTECT = 362 + SYS_PKEY_ALLOC = 363 + SYS_PKEY_FREE = 364 + SYS_RSEQ = 365 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go new file mode 100644 index 0000000..e66a8c9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go new file mode 100644 index 0000000..42c788f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go new file mode 100644 index 0000000..0a07571 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go new file mode 100644 index 0000000..0291c09 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; DO NOT EDIT. + +// +build arm64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go new file mode 100644 index 0000000..b0207d1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go new file mode 100644 index 0000000..f0dec6f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go new file mode 100644 index 0000000..33d1dc5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go new file mode 100644 index 0000000..fe2b689 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go @@ -0,0 +1,217 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go new file mode 100644 index 0000000..2c1f815 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go @@ -0,0 +1,352 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc,aix + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type off64 int64 +type off int32 +type Mode_t uint32 + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int32 + +type Tms struct{} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint32 + +type Stat_t struct { + Dev uint32 + Ino uint32 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Size int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Blocks int32 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint32 + Ino uint32 + Reclen uint16 + Namlen uint16 + Name [256]uint8 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [2048]int32 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Losigs uint32 + Hisigs uint32 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint32 + Blocks uint32 + Bfree uint32 + Bavail uint32 + Files uint32 + Ffree uint32 + Fsid Fsid_t + Vfstype int32 + Fsize uint32 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 +} + +const RNDGETENTCNT = 0x80045200 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go new file mode 100644 index 0000000..b4a069e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go @@ -0,0 +1,356 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,aix + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type off64 int64 +type off int64 +type Mode_t uint32 + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int64 + +type Tms struct{} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint64 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint64 + Ssize int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int64 + Blocks int64 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 + Padto_ll uint32 + Size int64 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint64 + Ino uint64 + Reclen uint16 + Namlen uint16 + Name [256]uint8 + _ [4]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Set [4]uint64 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid64_t + Vfstype int32 + Fsize uint64 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 + _ [4]byte +} + +const RNDGETENTCNT = 0x80045200 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go new file mode 100644 index 0000000..9f47b87 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go @@ -0,0 +1,499 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct{} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go new file mode 100644 index 0000000..966798a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -0,0 +1,509 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [8]byte + _ [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + _ [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go new file mode 100644 index 0000000..4fe4c9c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go @@ -0,0 +1,500 @@ +// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_darwin.go + +// +build arm,darwin + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 [0]byte + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go new file mode 100644 index 0000000..21999e4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -0,0 +1,509 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [8]byte + _ [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + _ [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go new file mode 100644 index 0000000..c206f2b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go @@ -0,0 +1,469 @@ +// cgo -godefs types_dragonfly.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Ino uint64 + Nlink uint32 + Dev uint32 + Mode uint16 + _1 uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare1 int64 + Qspare2 int64 +} + +type Statfs_t struct { + Spare2 int64 + Bsize int64 + Iosize int64 + Blocks int64 + Bfree int64 + Bavail int64 + Files int64 + Ffree int64 + Fsid Fsid + Owner uint32 + Type int32 + Flags int32 + _ [4]byte + Syncwrites int64 + Asyncwrites int64 + Fstypename [16]int8 + Mntonname [80]int8 + Syncreads int64 + Asyncreads int64 + Spares1 int16 + Mntfromname [80]int8 + Spares2 int16 + _ [4]byte + Spare [2]int64 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Namlen uint16 + Type uint8 + Unused1 uint8 + Unused2 uint32 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + SizeofIfMsghdr = 0xb0 + SizeofIfData = 0xa0 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + _ [2]byte + Mtu uint64 + Metric uint64 + Link_state uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Oqdrops uint64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Pksent uint64 + Expire uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Recvpipe uint64 + Hopcount uint64 + Mssopt uint16 + Pad uint16 + _ [4]byte + Msl uint64 + Iwmaxsegs uint64 + Iwcapsegs uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = 0xfffafdcd + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go new file mode 100644 index 0000000..7312e95 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -0,0 +1,700 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + _ int32 + Atim Timespec + _ int32 + Mtim Timespec + _ int32 + Ctim Timespec + _ int32 + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec + _ [8]byte +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [4]byte + X_reason [32]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + Fs uint32 + Es uint32 + Ds uint32 + Edi uint32 + Esi uint32 + Ebp uint32 + Isp uint32 + Ebx uint32 + Edx uint32 + Ecx uint32 + Eax uint32 + Trapno uint32 + Err uint32 + Eip uint32 + Cs uint32 + Eflags uint32 + Esp uint32 + Ss uint32 + Gs uint32 +} + +type FpReg struct { + Env [7]uint32 + Acc [8][10]uint8 + Ex_sw uint32 + Pad [64]uint8 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x60 + sizeofIfData = 0x98 + SizeofIfData = 0x50 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + Epoch int32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go new file mode 100644 index 0000000..29ba2f5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -0,0 +1,706 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [8]byte + _ [40]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + R15 int64 + R14 int64 + R13 int64 + R12 int64 + R11 int64 + R10 int64 + R9 int64 + R8 int64 + Rdi int64 + Rsi int64 + Rbp int64 + Rbx int64 + Rdx int64 + Rcx int64 + Rax int64 + Trapno uint32 + Fs uint16 + Gs uint16 + Err uint32 + Es uint16 + Ds uint16 + Rip int64 + Cs int64 + Rflags int64 + Rsp int64 + Ss int64 +} + +type FpReg struct { + Env [4]uint64 + Acc [8][16]uint8 + Xacc [16][16]uint8 + Spare [12]uint64 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Expire uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Pksent uint64 + Weight uint64 + Filler [3]uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0x18 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go new file mode 100644 index 0000000..b4090ef --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -0,0 +1,683 @@ +// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [4]byte + X_reason [32]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + R [13]uint32 + R_sp uint32 + R_lr uint32 + R_pc uint32 + R_cpsr uint32 +} + +type FpReg struct { + Fpr_fpsr uint32 + Fpr [8][3]uint32 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x70 + sizeofIfData = 0x98 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + _ [4]byte + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go new file mode 100644 index 0000000..1542a87 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -0,0 +1,684 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [8]byte + X_reason [40]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + X [30]uint64 + Lr uint64 + Sp uint64 + Elr uint64 + Spsr uint32 +} + +type FpReg struct { + Fp_q [32]uint128 + Fp_sr uint32 + Fp_cr uint32 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Expire uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Pksent uint64 + Weight uint64 + Filler [3]uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0x18 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_386.go new file mode 100644 index 0000000..5492b96 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -0,0 +1,2486 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [1]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go new file mode 100644 index 0000000..caf33b2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -0,0 +1,2499 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [3]int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go new file mode 100644 index 0000000..93aec7e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -0,0 +1,2477 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + _ [4]byte + Size int64 + Blksize int32 + _ [4]byte + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Uregs [18]uint32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]uint8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]uint8 + Fpack [6]uint8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]uint8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go new file mode 100644 index 0000000..0a03843 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -0,0 +1,2478 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go new file mode 100644 index 0000000..2de0e58 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -0,0 +1,2483 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go new file mode 100644 index 0000000..3735eb4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -0,0 +1,2480 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go new file mode 100644 index 0000000..073c299 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -0,0 +1,2480 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go new file mode 100644 index 0000000..58d09f7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -0,0 +1,2483 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go new file mode 100644 index 0000000..3f1e62e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -0,0 +1,2488 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go new file mode 100644 index 0000000..e67be11 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -0,0 +1,2488 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go new file mode 100644 index 0000000..f44f294 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -0,0 +1,2505 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Pc uint64 + Ra uint64 + Sp uint64 + Gp uint64 + Tp uint64 + T0 uint64 + T1 uint64 + T2 uint64 + S0 uint64 + S1 uint64 + A0 uint64 + A1 uint64 + A2 uint64 + A3 uint64 + A4 uint64 + A5 uint64 + A6 uint64 + A7 uint64 + S2 uint64 + S3 uint64 + S4 uint64 + S5 uint64 + S6 uint64 + S7 uint64 + S8 uint64 + S9 uint64 + S10 uint64 + S11 uint64 + T3 uint64 + T4 uint64 + T5 uint64 + T6 uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go new file mode 100644 index 0000000..90bf5dc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -0,0 +1,2502 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int64 + Blocks int64 + _ [3]int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x6 + FADV_NOREUSE = 0x7 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Psw PtracePsw + Gprs [16]uint64 + Acrs [16]uint32 + Orig_gpr2 uint64 + Fp_regs PtraceFpregs + Per_info PtracePer + Ieee_instruction_pointer uint64 +} + +type PtracePsw struct { + Mask uint64 + Addr uint64 +} + +type PtraceFpregs struct { + Fpc uint32 + Fprs [16]float64 +} + +type PtracePer struct { + _ [0]uint64 + _ [32]byte + Starting_addr uint64 + Ending_addr uint64 + Perc_atmid uint16 + Address uint64 + Access_id uint8 + _ [7]byte +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type uint32 + Bsize uint32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen uint32 + Frsize uint32 + Flags uint32 + Spare [4]uint32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go new file mode 100644 index 0000000..4f054dc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -0,0 +1,2483 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ int16 + _ [2]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [16]uint64 + Tstate uint64 + Tpc uint64 + Tnpc uint64 + Y uint32 + Magic uint32 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x800 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go new file mode 100644 index 0000000..86736ab --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go @@ -0,0 +1,466 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x84 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData + Pad_cgo_1 [4]byte +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go new file mode 100644 index 0000000..3427811 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go @@ -0,0 +1,473 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go new file mode 100644 index 0000000..399f37a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -0,0 +1,471 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + Pad_cgo_0 [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 + Pad_cgo_0 [4]byte +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go new file mode 100644 index 0000000..32f0c15 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go @@ -0,0 +1,473 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go new file mode 100644 index 0000000..61ea001 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -0,0 +1,571 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + Pad_cgo_0 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xec + SizeofIfData = 0xd4 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval + Mclpool [7]Mclpool +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct { + Grown int32 + Alive uint16 + Hwm uint16 + Cwm uint16 + Lwm uint16 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go new file mode 100644 index 0000000..87a493f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -0,0 +1,571 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen uint32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go new file mode 100644 index 0000000..d80836e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -0,0 +1,572 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + _ [4]byte + Data int64 + Udata *byte + _ [4]byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go new file mode 100644 index 0000000..4e15874 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go @@ -0,0 +1,565 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go new file mode 100644 index 0000000..8531a19 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go @@ -0,0 +1,442 @@ +// cgo -godefs types_solaris.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x400 + MaxHostNameLen = 0x100 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + _ [4]byte + Blocks int64 + Fstype [16]int8 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Sysid int32 + Pid int32 + Pad [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Name [1]int8 + _ [5]byte +} + +type _Fsblkcnt_t uint64 + +type Statvfs_t struct { + Bsize uint64 + Frsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fsid uint64 + Basetype [16]int8 + Flag uint64 + Namemax uint64 + Fstr [32]int8 +} + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 + X__sin6_src_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [236]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *int8 + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Accrights *int8 + Accrightslen int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + X__icmp6_filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x20 + SizeofSockaddrAny = 0xfc + SizeofSockaddrUnix = 0x6e + SizeofSockaddrDatalink = 0xfc + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x24 + SizeofICMPv6Filter = 0x20 +) + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [257]byte + Nodename [257]byte + Release [257]byte + Version [257]byte + Machine [257]byte +} + +type Ustat_t struct { + Tfree int64 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +const ( + AT_FDCWD = 0xffd19553 + AT_SYMLINK_NOFOLLOW = 0x1000 + AT_SYMLINK_FOLLOW = 0x2000 + AT_REMOVEDIR = 0x1 + AT_EACCESS = 0x4 +) + +const ( + SizeofIfMsghdr = 0x54 + SizeofIfData = 0x44 + SizeofIfaMsghdr = 0x14 + SizeofRtMsghdr = 0x4c + SizeofRtMetrics = 0x28 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + _ [1]byte + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Lastchange Timeval32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + _ [1]byte +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line int8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/AUTHORS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/AUTHORS new file mode 100644 index 0000000..15167cd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/CONTRIBUTORS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/CONTRIBUTORS new file mode 100644 index 0000000..1c4577e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/PATENTS b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/PATENTS new file mode 100644 index 0000000..7330990 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google 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, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/secure/bidirule/bidirule.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/secure/bidirule/bidirule.go new file mode 100644 index 0000000..e2b70f7 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/secure/bidirule/bidirule.go @@ -0,0 +1,336 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package bidirule implements the Bidi Rule defined by RFC 5893. +// +// This package is under development. The API may change without notice and +// without preserving backward compatibility. +package bidirule + +import ( + "errors" + "unicode/utf8" + + "golang.org/x/text/transform" + "golang.org/x/text/unicode/bidi" +) + +// This file contains an implementation of RFC 5893: Right-to-Left Scripts for +// Internationalized Domain Names for Applications (IDNA) +// +// A label is an individual component of a domain name. Labels are usually +// shown separated by dots; for example, the domain name "www.example.com" is +// composed of three labels: "www", "example", and "com". +// +// An RTL label is a label that contains at least one character of class R, AL, +// or AN. An LTR label is any label that is not an RTL label. +// +// A "Bidi domain name" is a domain name that contains at least one RTL label. +// +// The following guarantees can be made based on the above: +// +// o In a domain name consisting of only labels that satisfy the rule, +// the requirements of Section 3 are satisfied. Note that even LTR +// labels and pure ASCII labels have to be tested. +// +// o In a domain name consisting of only LDH labels (as defined in the +// Definitions document [RFC5890]) and labels that satisfy the rule, +// the requirements of Section 3 are satisfied as long as a label +// that starts with an ASCII digit does not come after a +// right-to-left label. +// +// No guarantee is given for other combinations. + +// ErrInvalid indicates a label is invalid according to the Bidi Rule. +var ErrInvalid = errors.New("bidirule: failed Bidi Rule") + +type ruleState uint8 + +const ( + ruleInitial ruleState = iota + ruleLTR + ruleLTRFinal + ruleRTL + ruleRTLFinal + ruleInvalid +) + +type ruleTransition struct { + next ruleState + mask uint16 +} + +var transitions = [...][2]ruleTransition{ + // [2.1] The first character must be a character with Bidi property L, R, or + // AL. If it has the R or AL property, it is an RTL label; if it has the L + // property, it is an LTR label. + ruleInitial: { + {ruleLTRFinal, 1 << bidi.L}, + {ruleRTLFinal, 1< 0 bytes returned + // before considering the error". + if r.src0 != r.src1 || r.err != nil { + r.dst0 = 0 + r.dst1, n, err = r.t.Transform(r.dst, r.src[r.src0:r.src1], r.err == io.EOF) + r.src0 += n + + switch { + case err == nil: + if r.src0 != r.src1 { + r.err = errInconsistentByteCount + } + // The Transform call was successful; we are complete if we + // cannot read more bytes into src. + r.transformComplete = r.err != nil + continue + case err == ErrShortDst && (r.dst1 != 0 || n != 0): + // Make room in dst by copying out, and try again. + continue + case err == ErrShortSrc && r.src1-r.src0 != len(r.src) && r.err == nil: + // Read more bytes into src via the code below, and try again. + default: + r.transformComplete = true + // The reader error (r.err) takes precedence over the + // transformer error (err) unless r.err is nil or io.EOF. + if r.err == nil || r.err == io.EOF { + r.err = err + } + continue + } + } + + // Move any untransformed source bytes to the start of the buffer + // and read more bytes. + if r.src0 != 0 { + r.src0, r.src1 = 0, copy(r.src, r.src[r.src0:r.src1]) + } + n, r.err = r.r.Read(r.src[r.src1:]) + r.src1 += n + } +} + +// TODO: implement ReadByte (and ReadRune??). + +// Writer wraps another io.Writer by transforming the bytes read. +// The user needs to call Close to flush unwritten bytes that may +// be buffered. +type Writer struct { + w io.Writer + t Transformer + dst []byte + + // src[:n] contains bytes that have not yet passed through t. + src []byte + n int +} + +// NewWriter returns a new Writer that wraps w by transforming the bytes written +// via t. It calls Reset on t. +func NewWriter(w io.Writer, t Transformer) *Writer { + t.Reset() + return &Writer{ + w: w, + t: t, + dst: make([]byte, defaultBufSize), + src: make([]byte, defaultBufSize), + } +} + +// Write implements the io.Writer interface. If there are not enough +// bytes available to complete a Transform, the bytes will be buffered +// for the next write. Call Close to convert the remaining bytes. +func (w *Writer) Write(data []byte) (n int, err error) { + src := data + if w.n > 0 { + // Append bytes from data to the last remainder. + // TODO: limit the amount copied on first try. + n = copy(w.src[w.n:], data) + w.n += n + src = w.src[:w.n] + } + for { + nDst, nSrc, err := w.t.Transform(w.dst, src, false) + if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { + return n, werr + } + src = src[nSrc:] + if w.n == 0 { + n += nSrc + } else if len(src) <= n { + // Enough bytes from w.src have been consumed. We make src point + // to data instead to reduce the copying. + w.n = 0 + n -= len(src) + src = data[n:] + if n < len(data) && (err == nil || err == ErrShortSrc) { + continue + } + } + switch err { + case ErrShortDst: + // This error is okay as long as we are making progress. + if nDst > 0 || nSrc > 0 { + continue + } + case ErrShortSrc: + if len(src) < len(w.src) { + m := copy(w.src, src) + // If w.n > 0, bytes from data were already copied to w.src and n + // was already set to the number of bytes consumed. + if w.n == 0 { + n += m + } + w.n = m + err = nil + } else if nDst > 0 || nSrc > 0 { + // Not enough buffer to store the remainder. Keep processing as + // long as there is progress. Without this case, transforms that + // require a lookahead larger than the buffer may result in an + // error. This is not something one may expect to be common in + // practice, but it may occur when buffers are set to small + // sizes during testing. + continue + } + case nil: + if w.n > 0 { + err = errInconsistentByteCount + } + } + return n, err + } +} + +// Close implements the io.Closer interface. +func (w *Writer) Close() error { + src := w.src[:w.n] + for { + nDst, nSrc, err := w.t.Transform(w.dst, src, true) + if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { + return werr + } + if err != ErrShortDst { + return err + } + src = src[nSrc:] + } +} + +type nop struct{ NopResetter } + +func (nop) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + n := copy(dst, src) + if n < len(src) { + err = ErrShortDst + } + return n, n, err +} + +func (nop) Span(src []byte, atEOF bool) (n int, err error) { + return len(src), nil +} + +type discard struct{ NopResetter } + +func (discard) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + return 0, len(src), nil +} + +var ( + // Discard is a Transformer for which all Transform calls succeed + // by consuming all bytes and writing nothing. + Discard Transformer = discard{} + + // Nop is a SpanningTransformer that copies src to dst. + Nop SpanningTransformer = nop{} +) + +// chain is a sequence of links. A chain with N Transformers has N+1 links and +// N+1 buffers. Of those N+1 buffers, the first and last are the src and dst +// buffers given to chain.Transform and the middle N-1 buffers are intermediate +// buffers owned by the chain. The i'th link transforms bytes from the i'th +// buffer chain.link[i].b at read offset chain.link[i].p to the i+1'th buffer +// chain.link[i+1].b at write offset chain.link[i+1].n, for i in [0, N). +type chain struct { + link []link + err error + // errStart is the index at which the error occurred plus 1. Processing + // errStart at this level at the next call to Transform. As long as + // errStart > 0, chain will not consume any more source bytes. + errStart int +} + +func (c *chain) fatalError(errIndex int, err error) { + if i := errIndex + 1; i > c.errStart { + c.errStart = i + c.err = err + } +} + +type link struct { + t Transformer + // b[p:n] holds the bytes to be transformed by t. + b []byte + p int + n int +} + +func (l *link) src() []byte { + return l.b[l.p:l.n] +} + +func (l *link) dst() []byte { + return l.b[l.n:] +} + +// Chain returns a Transformer that applies t in sequence. +func Chain(t ...Transformer) Transformer { + if len(t) == 0 { + return nop{} + } + c := &chain{link: make([]link, len(t)+1)} + for i, tt := range t { + c.link[i].t = tt + } + // Allocate intermediate buffers. + b := make([][defaultBufSize]byte, len(t)-1) + for i := range b { + c.link[i+1].b = b[i][:] + } + return c +} + +// Reset resets the state of Chain. It calls Reset on all the Transformers. +func (c *chain) Reset() { + for i, l := range c.link { + if l.t != nil { + l.t.Reset() + } + c.link[i].p, c.link[i].n = 0, 0 + } +} + +// TODO: make chain use Span (is going to be fun to implement!) + +// Transform applies the transformers of c in sequence. +func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + // Set up src and dst in the chain. + srcL := &c.link[0] + dstL := &c.link[len(c.link)-1] + srcL.b, srcL.p, srcL.n = src, 0, len(src) + dstL.b, dstL.n = dst, 0 + var lastFull, needProgress bool // for detecting progress + + // i is the index of the next Transformer to apply, for i in [low, high]. + // low is the lowest index for which c.link[low] may still produce bytes. + // high is the highest index for which c.link[high] has a Transformer. + // The error returned by Transform determines whether to increase or + // decrease i. We try to completely fill a buffer before converting it. + for low, i, high := c.errStart, c.errStart, len(c.link)-2; low <= i && i <= high; { + in, out := &c.link[i], &c.link[i+1] + nDst, nSrc, err0 := in.t.Transform(out.dst(), in.src(), atEOF && low == i) + out.n += nDst + in.p += nSrc + if i > 0 && in.p == in.n { + in.p, in.n = 0, 0 + } + needProgress, lastFull = lastFull, false + switch err0 { + case ErrShortDst: + // Process the destination buffer next. Return if we are already + // at the high index. + if i == high { + return dstL.n, srcL.p, ErrShortDst + } + if out.n != 0 { + i++ + // If the Transformer at the next index is not able to process any + // source bytes there is nothing that can be done to make progress + // and the bytes will remain unprocessed. lastFull is used to + // detect this and break out of the loop with a fatal error. + lastFull = true + continue + } + // The destination buffer was too small, but is completely empty. + // Return a fatal error as this transformation can never complete. + c.fatalError(i, errShortInternal) + case ErrShortSrc: + if i == 0 { + // Save ErrShortSrc in err. All other errors take precedence. + err = ErrShortSrc + break + } + // Source bytes were depleted before filling up the destination buffer. + // Verify we made some progress, move the remaining bytes to the errStart + // and try to get more source bytes. + if needProgress && nSrc == 0 || in.n-in.p == len(in.b) { + // There were not enough source bytes to proceed while the source + // buffer cannot hold any more bytes. Return a fatal error as this + // transformation can never complete. + c.fatalError(i, errShortInternal) + break + } + // in.b is an internal buffer and we can make progress. + in.p, in.n = 0, copy(in.b, in.src()) + fallthrough + case nil: + // if i == low, we have depleted the bytes at index i or any lower levels. + // In that case we increase low and i. In all other cases we decrease i to + // fetch more bytes before proceeding to the next index. + if i > low { + i-- + continue + } + default: + c.fatalError(i, err0) + } + // Exhausted level low or fatal error: increase low and continue + // to process the bytes accepted so far. + i++ + low = i + } + + // If c.errStart > 0, this means we found a fatal error. We will clear + // all upstream buffers. At this point, no more progress can be made + // downstream, as Transform would have bailed while handling ErrShortDst. + if c.errStart > 0 { + for i := 1; i < c.errStart; i++ { + c.link[i].p, c.link[i].n = 0, 0 + } + err, c.errStart, c.err = c.err, 0, nil + } + return dstL.n, srcL.p, err +} + +// Deprecated: Use runes.Remove instead. +func RemoveFunc(f func(r rune) bool) Transformer { + return removeF(f) +} + +type removeF func(r rune) bool + +func (removeF) Reset() {} + +// Transform implements the Transformer interface. +func (t removeF) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for r, sz := rune(0), 0; len(src) > 0; src = src[sz:] { + + if r = rune(src[0]); r < utf8.RuneSelf { + sz = 1 + } else { + r, sz = utf8.DecodeRune(src) + + if sz == 1 { + // Invalid rune. + if !atEOF && !utf8.FullRune(src) { + err = ErrShortSrc + break + } + // We replace illegal bytes with RuneError. Not doing so might + // otherwise turn a sequence of invalid UTF-8 into valid UTF-8. + // The resulting byte sequence may subsequently contain runes + // for which t(r) is true that were passed unnoticed. + if !t(r) { + if nDst+3 > len(dst) { + err = ErrShortDst + break + } + nDst += copy(dst[nDst:], "\uFFFD") + } + nSrc++ + continue + } + } + + if !t(r) { + if nDst+sz > len(dst) { + err = ErrShortDst + break + } + nDst += copy(dst[nDst:], src[:sz]) + } + nSrc += sz + } + return +} + +// grow returns a new []byte that is longer than b, and copies the first n bytes +// of b to the start of the new slice. +func grow(b []byte, n int) []byte { + m := len(b) + if m <= 32 { + m = 64 + } else if m <= 256 { + m *= 2 + } else { + m += m >> 1 + } + buf := make([]byte, m) + copy(buf, b[:n]) + return buf +} + +const initialBufSize = 128 + +// String returns a string with the result of converting s[:n] using t, where +// n <= len(s). If err == nil, n will be len(s). It calls Reset on t. +func String(t Transformer, s string) (result string, n int, err error) { + t.Reset() + if s == "" { + // Fast path for the common case for empty input. Results in about a + // 86% reduction of running time for BenchmarkStringLowerEmpty. + if _, _, err := t.Transform(nil, nil, true); err == nil { + return "", 0, nil + } + } + + // Allocate only once. Note that both dst and src escape when passed to + // Transform. + buf := [2 * initialBufSize]byte{} + dst := buf[:initialBufSize:initialBufSize] + src := buf[initialBufSize : 2*initialBufSize] + + // The input string s is transformed in multiple chunks (starting with a + // chunk size of initialBufSize). nDst and nSrc are per-chunk (or + // per-Transform-call) indexes, pDst and pSrc are overall indexes. + nDst, nSrc := 0, 0 + pDst, pSrc := 0, 0 + + // pPrefix is the length of a common prefix: the first pPrefix bytes of the + // result will equal the first pPrefix bytes of s. It is not guaranteed to + // be the largest such value, but if pPrefix, len(result) and len(s) are + // all equal after the final transform (i.e. calling Transform with atEOF + // being true returned nil error) then we don't need to allocate a new + // result string. + pPrefix := 0 + for { + // Invariant: pDst == pPrefix && pSrc == pPrefix. + + n := copy(src, s[pSrc:]) + nDst, nSrc, err = t.Transform(dst, src[:n], pSrc+n == len(s)) + pDst += nDst + pSrc += nSrc + + // TODO: let transformers implement an optional Spanner interface, akin + // to norm's QuickSpan. This would even allow us to avoid any allocation. + if !bytes.Equal(dst[:nDst], src[:nSrc]) { + break + } + pPrefix = pSrc + if err == ErrShortDst { + // A buffer can only be short if a transformer modifies its input. + break + } else if err == ErrShortSrc { + if nSrc == 0 { + // No progress was made. + break + } + // Equal so far and !atEOF, so continue checking. + } else if err != nil || pPrefix == len(s) { + return string(s[:pPrefix]), pPrefix, err + } + } + // Post-condition: pDst == pPrefix + nDst && pSrc == pPrefix + nSrc. + + // We have transformed the first pSrc bytes of the input s to become pDst + // transformed bytes. Those transformed bytes are discontiguous: the first + // pPrefix of them equal s[:pPrefix] and the last nDst of them equal + // dst[:nDst]. We copy them around, into a new dst buffer if necessary, so + // that they become one contiguous slice: dst[:pDst]. + if pPrefix != 0 { + newDst := dst + if pDst > len(newDst) { + newDst = make([]byte, len(s)+nDst-nSrc) + } + copy(newDst[pPrefix:pDst], dst[:nDst]) + copy(newDst[:pPrefix], s[:pPrefix]) + dst = newDst + } + + // Prevent duplicate Transform calls with atEOF being true at the end of + // the input. Also return if we have an unrecoverable error. + if (err == nil && pSrc == len(s)) || + (err != nil && err != ErrShortDst && err != ErrShortSrc) { + return string(dst[:pDst]), pSrc, err + } + + // Transform the remaining input, growing dst and src buffers as necessary. + for { + n := copy(src, s[pSrc:]) + nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s)) + pDst += nDst + pSrc += nSrc + + // If we got ErrShortDst or ErrShortSrc, do not grow as long as we can + // make progress. This may avoid excessive allocations. + if err == ErrShortDst { + if nDst == 0 { + dst = grow(dst, pDst) + } + } else if err == ErrShortSrc { + if nSrc == 0 { + src = grow(src, 0) + } + } else if err != nil || pSrc == len(s) { + return string(dst[:pDst]), pSrc, err + } + } +} + +// Bytes returns a new byte slice with the result of converting b[:n] using t, +// where n <= len(b). If err == nil, n will be len(b). It calls Reset on t. +func Bytes(t Transformer, b []byte) (result []byte, n int, err error) { + return doAppend(t, 0, make([]byte, len(b)), b) +} + +// Append appends the result of converting src[:n] using t to dst, where +// n <= len(src), If err == nil, n will be len(src). It calls Reset on t. +func Append(t Transformer, dst, src []byte) (result []byte, n int, err error) { + if len(dst) == cap(dst) { + n := len(src) + len(dst) // It is okay for this to be 0. + b := make([]byte, n) + dst = b[:copy(b, dst)] + } + return doAppend(t, len(dst), dst[:cap(dst)], src) +} + +func doAppend(t Transformer, pDst int, dst, src []byte) (result []byte, n int, err error) { + t.Reset() + pSrc := 0 + for { + nDst, nSrc, err := t.Transform(dst[pDst:], src[pSrc:], true) + pDst += nDst + pSrc += nSrc + if err != ErrShortDst { + return dst[:pDst], pSrc, err + } + + // Grow the destination buffer, but do not grow as long as we can make + // progress. This may avoid excessive allocations. + if nDst == 0 { + dst = grow(dst, pDst) + } + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bidi.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bidi.go new file mode 100644 index 0000000..e8edc54 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bidi.go @@ -0,0 +1,198 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run gen.go gen_trieval.go gen_ranges.go + +// Package bidi contains functionality for bidirectional text support. +// +// See https://www.unicode.org/reports/tr9. +// +// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways +// and without notice. +package bidi // import "golang.org/x/text/unicode/bidi" + +// TODO: +// The following functionality would not be hard to implement, but hinges on +// the definition of a Segmenter interface. For now this is up to the user. +// - Iterate over paragraphs +// - Segmenter to iterate over runs directly from a given text. +// Also: +// - Transformer for reordering? +// - Transformer (validator, really) for Bidi Rule. + +// This API tries to avoid dealing with embedding levels for now. Under the hood +// these will be computed, but the question is to which extent the user should +// know they exist. We should at some point allow the user to specify an +// embedding hierarchy, though. + +// A Direction indicates the overall flow of text. +type Direction int + +const ( + // LeftToRight indicates the text contains no right-to-left characters and + // that either there are some left-to-right characters or the option + // DefaultDirection(LeftToRight) was passed. + LeftToRight Direction = iota + + // RightToLeft indicates the text contains no left-to-right characters and + // that either there are some right-to-left characters or the option + // DefaultDirection(RightToLeft) was passed. + RightToLeft + + // Mixed indicates text contains both left-to-right and right-to-left + // characters. + Mixed + + // Neutral means that text contains no left-to-right and right-to-left + // characters and that no default direction has been set. + Neutral +) + +type options struct{} + +// An Option is an option for Bidi processing. +type Option func(*options) + +// ICU allows the user to define embedding levels. This may be used, for example, +// to use hierarchical structure of markup languages to define embeddings. +// The following option may be a way to expose this functionality in this API. +// // LevelFunc sets a function that associates nesting levels with the given text. +// // The levels function will be called with monotonically increasing values for p. +// func LevelFunc(levels func(p int) int) Option { +// panic("unimplemented") +// } + +// DefaultDirection sets the default direction for a Paragraph. The direction is +// overridden if the text contains directional characters. +func DefaultDirection(d Direction) Option { + panic("unimplemented") +} + +// A Paragraph holds a single Paragraph for Bidi processing. +type Paragraph struct { + // buffers +} + +// SetBytes configures p for the given paragraph text. It replaces text +// previously set by SetBytes or SetString. If b contains a paragraph separator +// it will only process the first paragraph and report the number of bytes +// consumed from b including this separator. Error may be non-nil if options are +// given. +func (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) { + panic("unimplemented") +} + +// SetString configures p for the given paragraph text. It replaces text +// previously set by SetBytes or SetString. If b contains a paragraph separator +// it will only process the first paragraph and report the number of bytes +// consumed from b including this separator. Error may be non-nil if options are +// given. +func (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) { + panic("unimplemented") +} + +// IsLeftToRight reports whether the principle direction of rendering for this +// paragraphs is left-to-right. If this returns false, the principle direction +// of rendering is right-to-left. +func (p *Paragraph) IsLeftToRight() bool { + panic("unimplemented") +} + +// Direction returns the direction of the text of this paragraph. +// +// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. +func (p *Paragraph) Direction() Direction { + panic("unimplemented") +} + +// RunAt reports the Run at the given position of the input text. +// +// This method can be used for computing line breaks on paragraphs. +func (p *Paragraph) RunAt(pos int) Run { + panic("unimplemented") +} + +// Order computes the visual ordering of all the runs in a Paragraph. +func (p *Paragraph) Order() (Ordering, error) { + panic("unimplemented") +} + +// Line computes the visual ordering of runs for a single line starting and +// ending at the given positions in the original text. +func (p *Paragraph) Line(start, end int) (Ordering, error) { + panic("unimplemented") +} + +// An Ordering holds the computed visual order of runs of a Paragraph. Calling +// SetBytes or SetString on the originating Paragraph invalidates an Ordering. +// The methods of an Ordering should only be called by one goroutine at a time. +type Ordering struct{} + +// Direction reports the directionality of the runs. +// +// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. +func (o *Ordering) Direction() Direction { + panic("unimplemented") +} + +// NumRuns returns the number of runs. +func (o *Ordering) NumRuns() int { + panic("unimplemented") +} + +// Run returns the ith run within the ordering. +func (o *Ordering) Run(i int) Run { + panic("unimplemented") +} + +// TODO: perhaps with options. +// // Reorder creates a reader that reads the runes in visual order per character. +// // Modifiers remain after the runes they modify. +// func (l *Runs) Reorder() io.Reader { +// panic("unimplemented") +// } + +// A Run is a continuous sequence of characters of a single direction. +type Run struct { +} + +// String returns the text of the run in its original order. +func (r *Run) String() string { + panic("unimplemented") +} + +// Bytes returns the text of the run in its original order. +func (r *Run) Bytes() []byte { + panic("unimplemented") +} + +// TODO: methods for +// - Display order +// - headers and footers +// - bracket replacement. + +// Direction reports the direction of the run. +func (r *Run) Direction() Direction { + panic("unimplemented") +} + +// Position of the Run within the text passed to SetBytes or SetString of the +// originating Paragraph value. +func (r *Run) Pos() (start, end int) { + panic("unimplemented") +} + +// AppendReverse reverses the order of characters of in, appends them to out, +// and returns the result. Modifiers will still follow the runes they modify. +// Brackets are replaced with their counterparts. +func AppendReverse(out, in []byte) []byte { + panic("unimplemented") +} + +// ReverseString reverses the order of characters in s and returns a new string. +// Modifiers will still follow the runes they modify. Brackets are replaced with +// their counterparts. +func ReverseString(s string) string { + panic("unimplemented") +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bracket.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bracket.go new file mode 100644 index 0000000..1853939 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/bracket.go @@ -0,0 +1,335 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import ( + "container/list" + "fmt" + "sort" +) + +// This file contains a port of the reference implementation of the +// Bidi Parentheses Algorithm: +// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java +// +// The implementation in this file covers definitions BD14-BD16 and rule N0 +// of UAX#9. +// +// Some preprocessing is done for each rune before data is passed to this +// algorithm: +// - opening and closing brackets are identified +// - a bracket pair type, like '(' and ')' is assigned a unique identifier that +// is identical for the opening and closing bracket. It is left to do these +// mappings. +// - The BPA algorithm requires that bracket characters that are canonical +// equivalents of each other be able to be substituted for each other. +// It is the responsibility of the caller to do this canonicalization. +// +// In implementing BD16, this implementation departs slightly from the "logical" +// algorithm defined in UAX#9. In particular, the stack referenced there +// supports operations that go beyond a "basic" stack. An equivalent +// implementation based on a linked list is used here. + +// Bidi_Paired_Bracket_Type +// BD14. An opening paired bracket is a character whose +// Bidi_Paired_Bracket_Type property value is Open. +// +// BD15. A closing paired bracket is a character whose +// Bidi_Paired_Bracket_Type property value is Close. +type bracketType byte + +const ( + bpNone bracketType = iota + bpOpen + bpClose +) + +// bracketPair holds a pair of index values for opening and closing bracket +// location of a bracket pair. +type bracketPair struct { + opener int + closer int +} + +func (b *bracketPair) String() string { + return fmt.Sprintf("(%v, %v)", b.opener, b.closer) +} + +// bracketPairs is a slice of bracketPairs with a sort.Interface implementation. +type bracketPairs []bracketPair + +func (b bracketPairs) Len() int { return len(b) } +func (b bracketPairs) Swap(i, j int) { b[i], b[j] = b[j], b[i] } +func (b bracketPairs) Less(i, j int) bool { return b[i].opener < b[j].opener } + +// resolvePairedBrackets runs the paired bracket part of the UBA algorithm. +// +// For each rune, it takes the indexes into the original string, the class the +// bracket type (in pairTypes) and the bracket identifier (pairValues). It also +// takes the direction type for the start-of-sentence and the embedding level. +// +// The identifiers for bracket types are the rune of the canonicalized opening +// bracket for brackets (open or close) or 0 for runes that are not brackets. +func resolvePairedBrackets(s *isolatingRunSequence) { + p := bracketPairer{ + sos: s.sos, + openers: list.New(), + codesIsolatedRun: s.types, + indexes: s.indexes, + } + dirEmbed := L + if s.level&1 != 0 { + dirEmbed = R + } + p.locateBrackets(s.p.pairTypes, s.p.pairValues) + p.resolveBrackets(dirEmbed, s.p.initialTypes) +} + +type bracketPairer struct { + sos Class // direction corresponding to start of sequence + + // The following is a restatement of BD 16 using non-algorithmic language. + // + // A bracket pair is a pair of characters consisting of an opening + // paired bracket and a closing paired bracket such that the + // Bidi_Paired_Bracket property value of the former equals the latter, + // subject to the following constraints. + // - both characters of a pair occur in the same isolating run sequence + // - the closing character of a pair follows the opening character + // - any bracket character can belong at most to one pair, the earliest possible one + // - any bracket character not part of a pair is treated like an ordinary character + // - pairs may nest properly, but their spans may not overlap otherwise + + // Bracket characters with canonical decompositions are supposed to be + // treated as if they had been normalized, to allow normalized and non- + // normalized text to give the same result. In this implementation that step + // is pushed out to the caller. The caller has to ensure that the pairValue + // slices contain the rune of the opening bracket after normalization for + // any opening or closing bracket. + + openers *list.List // list of positions for opening brackets + + // bracket pair positions sorted by location of opening bracket + pairPositions bracketPairs + + codesIsolatedRun []Class // directional bidi codes for an isolated run + indexes []int // array of index values into the original string + +} + +// matchOpener reports whether characters at given positions form a matching +// bracket pair. +func (p *bracketPairer) matchOpener(pairValues []rune, opener, closer int) bool { + return pairValues[p.indexes[opener]] == pairValues[p.indexes[closer]] +} + +const maxPairingDepth = 63 + +// locateBrackets locates matching bracket pairs according to BD16. +// +// This implementation uses a linked list instead of a stack, because, while +// elements are added at the front (like a push) they are not generally removed +// in atomic 'pop' operations, reducing the benefit of the stack archetype. +func (p *bracketPairer) locateBrackets(pairTypes []bracketType, pairValues []rune) { + // traverse the run + // do that explicitly (not in a for-each) so we can record position + for i, index := range p.indexes { + + // look at the bracket type for each character + if pairTypes[index] == bpNone || p.codesIsolatedRun[i] != ON { + // continue scanning + continue + } + switch pairTypes[index] { + case bpOpen: + // check if maximum pairing depth reached + if p.openers.Len() == maxPairingDepth { + p.openers.Init() + return + } + // remember opener location, most recent first + p.openers.PushFront(i) + + case bpClose: + // see if there is a match + count := 0 + for elem := p.openers.Front(); elem != nil; elem = elem.Next() { + count++ + opener := elem.Value.(int) + if p.matchOpener(pairValues, opener, i) { + // if the opener matches, add nested pair to the ordered list + p.pairPositions = append(p.pairPositions, bracketPair{opener, i}) + // remove up to and including matched opener + for ; count > 0; count-- { + p.openers.Remove(p.openers.Front()) + } + break + } + } + sort.Sort(p.pairPositions) + // if we get here, the closing bracket matched no openers + // and gets ignored + } + } +} + +// Bracket pairs within an isolating run sequence are processed as units so +// that both the opening and the closing paired bracket in a pair resolve to +// the same direction. +// +// N0. Process bracket pairs in an isolating run sequence sequentially in +// the logical order of the text positions of the opening paired brackets +// using the logic given below. Within this scope, bidirectional types EN +// and AN are treated as R. +// +// Identify the bracket pairs in the current isolating run sequence +// according to BD16. For each bracket-pair element in the list of pairs of +// text positions: +// +// a Inspect the bidirectional types of the characters enclosed within the +// bracket pair. +// +// b If any strong type (either L or R) matching the embedding direction is +// found, set the type for both brackets in the pair to match the embedding +// direction. +// +// o [ e ] o -> o e e e o +// +// o [ o e ] -> o e o e e +// +// o [ NI e ] -> o e NI e e +// +// c Otherwise, if a strong type (opposite the embedding direction) is +// found, test for adjacent strong types as follows: 1 First, check +// backwards before the opening paired bracket until the first strong type +// (L, R, or sos) is found. If that first preceding strong type is opposite +// the embedding direction, then set the type for both brackets in the pair +// to that type. 2 Otherwise, set the type for both brackets in the pair to +// the embedding direction. +// +// o [ o ] e -> o o o o e +// +// o [ o NI ] o -> o o o NI o o +// +// e [ o ] o -> e e o e o +// +// e [ o ] e -> e e o e e +// +// e ( o [ o ] NI ) e -> e e o o o o NI e e +// +// d Otherwise, do not set the type for the current bracket pair. Note that +// if the enclosed text contains no strong types the paired brackets will +// both resolve to the same level when resolved individually using rules N1 +// and N2. +// +// e ( NI ) o -> e ( NI ) o + +// getStrongTypeN0 maps character's directional code to strong type as required +// by rule N0. +// +// TODO: have separate type for "strong" directionality. +func (p *bracketPairer) getStrongTypeN0(index int) Class { + switch p.codesIsolatedRun[index] { + // in the scope of N0, number types are treated as R + case EN, AN, AL, R: + return R + case L: + return L + default: + return ON + } +} + +// classifyPairContent reports the strong types contained inside a Bracket Pair, +// assuming the given embedding direction. +// +// It returns ON if no strong type is found. If a single strong type is found, +// it returns this type. Otherwise it returns the embedding direction. +// +// TODO: use separate type for "strong" directionality. +func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class { + dirOpposite := ON + for i := loc.opener + 1; i < loc.closer; i++ { + dir := p.getStrongTypeN0(i) + if dir == ON { + continue + } + if dir == dirEmbed { + return dir // type matching embedding direction found + } + dirOpposite = dir + } + // return ON if no strong type found, or class opposite to dirEmbed + return dirOpposite +} + +// classBeforePair determines which strong types are present before a Bracket +// Pair. Return R or L if strong type found, otherwise ON. +func (p *bracketPairer) classBeforePair(loc bracketPair) Class { + for i := loc.opener - 1; i >= 0; i-- { + if dir := p.getStrongTypeN0(i); dir != ON { + return dir + } + } + // no strong types found, return sos + return p.sos +} + +// assignBracketType implements rule N0 for a single bracket pair. +func (p *bracketPairer) assignBracketType(loc bracketPair, dirEmbed Class, initialTypes []Class) { + // rule "N0, a", inspect contents of pair + dirPair := p.classifyPairContent(loc, dirEmbed) + + // dirPair is now L, R, or N (no strong type found) + + // the following logical tests are performed out of order compared to + // the statement of the rules but yield the same results + if dirPair == ON { + return // case "d" - nothing to do + } + + if dirPair != dirEmbed { + // case "c": strong type found, opposite - check before (c.1) + dirPair = p.classBeforePair(loc) + if dirPair == dirEmbed || dirPair == ON { + // no strong opposite type found before - use embedding (c.2) + dirPair = dirEmbed + } + } + // else: case "b", strong type found matching embedding, + // no explicit action needed, as dirPair is already set to embedding + // direction + + // set the bracket types to the type found + p.setBracketsToType(loc, dirPair, initialTypes) +} + +func (p *bracketPairer) setBracketsToType(loc bracketPair, dirPair Class, initialTypes []Class) { + p.codesIsolatedRun[loc.opener] = dirPair + p.codesIsolatedRun[loc.closer] = dirPair + + for i := loc.opener + 1; i < loc.closer; i++ { + index := p.indexes[i] + if initialTypes[index] != NSM { + break + } + p.codesIsolatedRun[i] = dirPair + } + + for i := loc.closer + 1; i < len(p.indexes); i++ { + index := p.indexes[i] + if initialTypes[index] != NSM { + break + } + p.codesIsolatedRun[i] = dirPair + } +} + +// resolveBrackets implements rule N0 for a list of pairs. +func (p *bracketPairer) resolveBrackets(dirEmbed Class, initialTypes []Class) { + for _, loc := range p.pairPositions { + p.assignBracketType(loc, dirEmbed, initialTypes) + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/core.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/core.go new file mode 100644 index 0000000..48d1440 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/core.go @@ -0,0 +1,1058 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import "log" + +// This implementation is a port based on the reference implementation found at: +// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ +// +// described in Unicode Bidirectional Algorithm (UAX #9). +// +// Input: +// There are two levels of input to the algorithm, since clients may prefer to +// supply some information from out-of-band sources rather than relying on the +// default behavior. +// +// - Bidi class array +// - Bidi class array, with externally supplied base line direction +// +// Output: +// Output is separated into several stages: +// +// - levels array over entire paragraph +// - reordering array over entire paragraph +// - levels array over line +// - reordering array over line +// +// Note that for conformance to the Unicode Bidirectional Algorithm, +// implementations are only required to generate correct reordering and +// character directionality (odd or even levels) over a line. Generating +// identical level arrays over a line is not required. Bidi explicit format +// codes (LRE, RLE, LRO, RLO, PDF) and BN can be assigned arbitrary levels and +// positions as long as the rest of the input is properly reordered. +// +// As the algorithm is defined to operate on a single paragraph at a time, this +// implementation is written to handle single paragraphs. Thus rule P1 is +// presumed by this implementation-- the data provided to the implementation is +// assumed to be a single paragraph, and either contains no 'B' codes, or a +// single 'B' code at the end of the input. 'B' is allowed as input to +// illustrate how the algorithm assigns it a level. +// +// Also note that rules L3 and L4 depend on the rendering engine that uses the +// result of the bidi algorithm. This implementation assumes that the rendering +// engine expects combining marks in visual order (e.g. to the left of their +// base character in RTL runs) and that it adjusts the glyphs used to render +// mirrored characters that are in RTL runs so that they render appropriately. + +// level is the embedding level of a character. Even embedding levels indicate +// left-to-right order and odd levels indicate right-to-left order. The special +// level of -1 is reserved for undefined order. +type level int8 + +const implicitLevel level = -1 + +// in returns if x is equal to any of the values in set. +func (c Class) in(set ...Class) bool { + for _, s := range set { + if c == s { + return true + } + } + return false +} + +// A paragraph contains the state of a paragraph. +type paragraph struct { + initialTypes []Class + + // Arrays of properties needed for paired bracket evaluation in N0 + pairTypes []bracketType // paired Bracket types for paragraph + pairValues []rune // rune for opening bracket or pbOpen and pbClose; 0 for pbNone + + embeddingLevel level // default: = implicitLevel; + + // at the paragraph levels + resultTypes []Class + resultLevels []level + + // Index of matching PDI for isolate initiator characters. For other + // characters, the value of matchingPDI will be set to -1. For isolate + // initiators with no matching PDI, matchingPDI will be set to the length of + // the input string. + matchingPDI []int + + // Index of matching isolate initiator for PDI characters. For other + // characters, and for PDIs with no matching isolate initiator, the value of + // matchingIsolateInitiator will be set to -1. + matchingIsolateInitiator []int +} + +// newParagraph initializes a paragraph. The user needs to supply a few arrays +// corresponding to the preprocessed text input. The types correspond to the +// Unicode BiDi classes for each rune. pairTypes indicates the bracket type for +// each rune. pairValues provides a unique bracket class identifier for each +// rune (suggested is the rune of the open bracket for opening and matching +// close brackets, after normalization). The embedding levels are optional, but +// may be supplied to encode embedding levels of styled text. +// +// TODO: return an error. +func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) *paragraph { + validateTypes(types) + validatePbTypes(pairTypes) + validatePbValues(pairValues, pairTypes) + validateParagraphEmbeddingLevel(levels) + + p := ¶graph{ + initialTypes: append([]Class(nil), types...), + embeddingLevel: levels, + + pairTypes: pairTypes, + pairValues: pairValues, + + resultTypes: append([]Class(nil), types...), + } + p.run() + return p +} + +func (p *paragraph) Len() int { return len(p.initialTypes) } + +// The algorithm. Does not include line-based processing (Rules L1, L2). +// These are applied later in the line-based phase of the algorithm. +func (p *paragraph) run() { + p.determineMatchingIsolates() + + // 1) determining the paragraph level + // Rule P1 is the requirement for entering this algorithm. + // Rules P2, P3. + // If no externally supplied paragraph embedding level, use default. + if p.embeddingLevel == implicitLevel { + p.embeddingLevel = p.determineParagraphEmbeddingLevel(0, p.Len()) + } + + // Initialize result levels to paragraph embedding level. + p.resultLevels = make([]level, p.Len()) + setLevels(p.resultLevels, p.embeddingLevel) + + // 2) Explicit levels and directions + // Rules X1-X8. + p.determineExplicitEmbeddingLevels() + + // Rule X9. + // We do not remove the embeddings, the overrides, the PDFs, and the BNs + // from the string explicitly. But they are not copied into isolating run + // sequences when they are created, so they are removed for all + // practical purposes. + + // Rule X10. + // Run remainder of algorithm one isolating run sequence at a time + for _, seq := range p.determineIsolatingRunSequences() { + // 3) resolving weak types + // Rules W1-W7. + seq.resolveWeakTypes() + + // 4a) resolving paired brackets + // Rule N0 + resolvePairedBrackets(seq) + + // 4b) resolving neutral types + // Rules N1-N3. + seq.resolveNeutralTypes() + + // 5) resolving implicit embedding levels + // Rules I1, I2. + seq.resolveImplicitLevels() + + // Apply the computed levels and types + seq.applyLevelsAndTypes() + } + + // Assign appropriate levels to 'hide' LREs, RLEs, LROs, RLOs, PDFs, and + // BNs. This is for convenience, so the resulting level array will have + // a value for every character. + p.assignLevelsToCharactersRemovedByX9() +} + +// determineMatchingIsolates determines the matching PDI for each isolate +// initiator and vice versa. +// +// Definition BD9. +// +// At the end of this function: +// +// - The member variable matchingPDI is set to point to the index of the +// matching PDI character for each isolate initiator character. If there is +// no matching PDI, it is set to the length of the input text. For other +// characters, it is set to -1. +// - The member variable matchingIsolateInitiator is set to point to the +// index of the matching isolate initiator character for each PDI character. +// If there is no matching isolate initiator, or the character is not a PDI, +// it is set to -1. +func (p *paragraph) determineMatchingIsolates() { + p.matchingPDI = make([]int, p.Len()) + p.matchingIsolateInitiator = make([]int, p.Len()) + + for i := range p.matchingIsolateInitiator { + p.matchingIsolateInitiator[i] = -1 + } + + for i := range p.matchingPDI { + p.matchingPDI[i] = -1 + + if t := p.resultTypes[i]; t.in(LRI, RLI, FSI) { + depthCounter := 1 + for j := i + 1; j < p.Len(); j++ { + if u := p.resultTypes[j]; u.in(LRI, RLI, FSI) { + depthCounter++ + } else if u == PDI { + if depthCounter--; depthCounter == 0 { + p.matchingPDI[i] = j + p.matchingIsolateInitiator[j] = i + break + } + } + } + if p.matchingPDI[i] == -1 { + p.matchingPDI[i] = p.Len() + } + } + } +} + +// determineParagraphEmbeddingLevel reports the resolved paragraph direction of +// the substring limited by the given range [start, end). +// +// Determines the paragraph level based on rules P2, P3. This is also used +// in rule X5c to find if an FSI should resolve to LRI or RLI. +func (p *paragraph) determineParagraphEmbeddingLevel(start, end int) level { + var strongType Class = unknownClass + + // Rule P2. + for i := start; i < end; i++ { + if t := p.resultTypes[i]; t.in(L, AL, R) { + strongType = t + break + } else if t.in(FSI, LRI, RLI) { + i = p.matchingPDI[i] // skip over to the matching PDI + if i > end { + log.Panic("assert (i <= end)") + } + } + } + // Rule P3. + switch strongType { + case unknownClass: // none found + // default embedding level when no strong types found is 0. + return 0 + case L: + return 0 + default: // AL, R + return 1 + } +} + +const maxDepth = 125 + +// This stack will store the embedding levels and override and isolated +// statuses +type directionalStatusStack struct { + stackCounter int + embeddingLevelStack [maxDepth + 1]level + overrideStatusStack [maxDepth + 1]Class + isolateStatusStack [maxDepth + 1]bool +} + +func (s *directionalStatusStack) empty() { s.stackCounter = 0 } +func (s *directionalStatusStack) pop() { s.stackCounter-- } +func (s *directionalStatusStack) depth() int { return s.stackCounter } + +func (s *directionalStatusStack) push(level level, overrideStatus Class, isolateStatus bool) { + s.embeddingLevelStack[s.stackCounter] = level + s.overrideStatusStack[s.stackCounter] = overrideStatus + s.isolateStatusStack[s.stackCounter] = isolateStatus + s.stackCounter++ +} + +func (s *directionalStatusStack) lastEmbeddingLevel() level { + return s.embeddingLevelStack[s.stackCounter-1] +} + +func (s *directionalStatusStack) lastDirectionalOverrideStatus() Class { + return s.overrideStatusStack[s.stackCounter-1] +} + +func (s *directionalStatusStack) lastDirectionalIsolateStatus() bool { + return s.isolateStatusStack[s.stackCounter-1] +} + +// Determine explicit levels using rules X1 - X8 +func (p *paragraph) determineExplicitEmbeddingLevels() { + var stack directionalStatusStack + var overflowIsolateCount, overflowEmbeddingCount, validIsolateCount int + + // Rule X1. + stack.push(p.embeddingLevel, ON, false) + + for i, t := range p.resultTypes { + // Rules X2, X3, X4, X5, X5a, X5b, X5c + switch t { + case RLE, LRE, RLO, LRO, RLI, LRI, FSI: + isIsolate := t.in(RLI, LRI, FSI) + isRTL := t.in(RLE, RLO, RLI) + + // override if this is an FSI that resolves to RLI + if t == FSI { + isRTL = (p.determineParagraphEmbeddingLevel(i+1, p.matchingPDI[i]) == 1) + } + if isIsolate { + p.resultLevels[i] = stack.lastEmbeddingLevel() + if stack.lastDirectionalOverrideStatus() != ON { + p.resultTypes[i] = stack.lastDirectionalOverrideStatus() + } + } + + var newLevel level + if isRTL { + // least greater odd + newLevel = (stack.lastEmbeddingLevel() + 1) | 1 + } else { + // least greater even + newLevel = (stack.lastEmbeddingLevel() + 2) &^ 1 + } + + if newLevel <= maxDepth && overflowIsolateCount == 0 && overflowEmbeddingCount == 0 { + if isIsolate { + validIsolateCount++ + } + // Push new embedding level, override status, and isolated + // status. + // No check for valid stack counter, since the level check + // suffices. + switch t { + case LRO: + stack.push(newLevel, L, isIsolate) + case RLO: + stack.push(newLevel, R, isIsolate) + default: + stack.push(newLevel, ON, isIsolate) + } + // Not really part of the spec + if !isIsolate { + p.resultLevels[i] = newLevel + } + } else { + // This is an invalid explicit formatting character, + // so apply the "Otherwise" part of rules X2-X5b. + if isIsolate { + overflowIsolateCount++ + } else { // !isIsolate + if overflowIsolateCount == 0 { + overflowEmbeddingCount++ + } + } + } + + // Rule X6a + case PDI: + if overflowIsolateCount > 0 { + overflowIsolateCount-- + } else if validIsolateCount == 0 { + // do nothing + } else { + overflowEmbeddingCount = 0 + for !stack.lastDirectionalIsolateStatus() { + stack.pop() + } + stack.pop() + validIsolateCount-- + } + p.resultLevels[i] = stack.lastEmbeddingLevel() + + // Rule X7 + case PDF: + // Not really part of the spec + p.resultLevels[i] = stack.lastEmbeddingLevel() + + if overflowIsolateCount > 0 { + // do nothing + } else if overflowEmbeddingCount > 0 { + overflowEmbeddingCount-- + } else if !stack.lastDirectionalIsolateStatus() && stack.depth() >= 2 { + stack.pop() + } + + case B: // paragraph separator. + // Rule X8. + + // These values are reset for clarity, in this implementation B + // can only occur as the last code in the array. + stack.empty() + overflowIsolateCount = 0 + overflowEmbeddingCount = 0 + validIsolateCount = 0 + p.resultLevels[i] = p.embeddingLevel + + default: + p.resultLevels[i] = stack.lastEmbeddingLevel() + if stack.lastDirectionalOverrideStatus() != ON { + p.resultTypes[i] = stack.lastDirectionalOverrideStatus() + } + } + } +} + +type isolatingRunSequence struct { + p *paragraph + + indexes []int // indexes to the original string + + types []Class // type of each character using the index + resolvedLevels []level // resolved levels after application of rules + level level + sos, eos Class +} + +func (i *isolatingRunSequence) Len() int { return len(i.indexes) } + +func maxLevel(a, b level) level { + if a > b { + return a + } + return b +} + +// Rule X10, second bullet: Determine the start-of-sequence (sos) and end-of-sequence (eos) types, +// either L or R, for each isolating run sequence. +func (p *paragraph) isolatingRunSequence(indexes []int) *isolatingRunSequence { + length := len(indexes) + types := make([]Class, length) + for i, x := range indexes { + types[i] = p.resultTypes[x] + } + + // assign level, sos and eos + prevChar := indexes[0] - 1 + for prevChar >= 0 && isRemovedByX9(p.initialTypes[prevChar]) { + prevChar-- + } + prevLevel := p.embeddingLevel + if prevChar >= 0 { + prevLevel = p.resultLevels[prevChar] + } + + var succLevel level + lastType := types[length-1] + if lastType.in(LRI, RLI, FSI) { + succLevel = p.embeddingLevel + } else { + // the first character after the end of run sequence + limit := indexes[length-1] + 1 + for ; limit < p.Len() && isRemovedByX9(p.initialTypes[limit]); limit++ { + + } + succLevel = p.embeddingLevel + if limit < p.Len() { + succLevel = p.resultLevels[limit] + } + } + level := p.resultLevels[indexes[0]] + return &isolatingRunSequence{ + p: p, + indexes: indexes, + types: types, + level: level, + sos: typeForLevel(maxLevel(prevLevel, level)), + eos: typeForLevel(maxLevel(succLevel, level)), + } +} + +// Resolving weak types Rules W1-W7. +// +// Note that some weak types (EN, AN) remain after this processing is +// complete. +func (s *isolatingRunSequence) resolveWeakTypes() { + + // on entry, only these types remain + s.assertOnly(L, R, AL, EN, ES, ET, AN, CS, B, S, WS, ON, NSM, LRI, RLI, FSI, PDI) + + // Rule W1. + // Changes all NSMs. + preceedingCharacterType := s.sos + for i, t := range s.types { + if t == NSM { + s.types[i] = preceedingCharacterType + } else { + if t.in(LRI, RLI, FSI, PDI) { + preceedingCharacterType = ON + } + preceedingCharacterType = t + } + } + + // Rule W2. + // EN does not change at the start of the run, because sos != AL. + for i, t := range s.types { + if t == EN { + for j := i - 1; j >= 0; j-- { + if t := s.types[j]; t.in(L, R, AL) { + if t == AL { + s.types[i] = AN + } + break + } + } + } + } + + // Rule W3. + for i, t := range s.types { + if t == AL { + s.types[i] = R + } + } + + // Rule W4. + // Since there must be values on both sides for this rule to have an + // effect, the scan skips the first and last value. + // + // Although the scan proceeds left to right, and changes the type + // values in a way that would appear to affect the computations + // later in the scan, there is actually no problem. A change in the + // current value can only affect the value to its immediate right, + // and only affect it if it is ES or CS. But the current value can + // only change if the value to its right is not ES or CS. Thus + // either the current value will not change, or its change will have + // no effect on the remainder of the analysis. + + for i := 1; i < s.Len()-1; i++ { + t := s.types[i] + if t == ES || t == CS { + prevSepType := s.types[i-1] + succSepType := s.types[i+1] + if prevSepType == EN && succSepType == EN { + s.types[i] = EN + } else if s.types[i] == CS && prevSepType == AN && succSepType == AN { + s.types[i] = AN + } + } + } + + // Rule W5. + for i, t := range s.types { + if t == ET { + // locate end of sequence + runStart := i + runEnd := s.findRunLimit(runStart, ET) + + // check values at ends of sequence + t := s.sos + if runStart > 0 { + t = s.types[runStart-1] + } + if t != EN { + t = s.eos + if runEnd < len(s.types) { + t = s.types[runEnd] + } + } + if t == EN { + setTypes(s.types[runStart:runEnd], EN) + } + // continue at end of sequence + i = runEnd + } + } + + // Rule W6. + for i, t := range s.types { + if t.in(ES, ET, CS) { + s.types[i] = ON + } + } + + // Rule W7. + for i, t := range s.types { + if t == EN { + // set default if we reach start of run + prevStrongType := s.sos + for j := i - 1; j >= 0; j-- { + t = s.types[j] + if t == L || t == R { // AL's have been changed to R + prevStrongType = t + break + } + } + if prevStrongType == L { + s.types[i] = L + } + } + } +} + +// 6) resolving neutral types Rules N1-N2. +func (s *isolatingRunSequence) resolveNeutralTypes() { + + // on entry, only these types can be in resultTypes + s.assertOnly(L, R, EN, AN, B, S, WS, ON, RLI, LRI, FSI, PDI) + + for i, t := range s.types { + switch t { + case WS, ON, B, S, RLI, LRI, FSI, PDI: + // find bounds of run of neutrals + runStart := i + runEnd := s.findRunLimit(runStart, B, S, WS, ON, RLI, LRI, FSI, PDI) + + // determine effective types at ends of run + var leadType, trailType Class + + // Note that the character found can only be L, R, AN, or + // EN. + if runStart == 0 { + leadType = s.sos + } else { + leadType = s.types[runStart-1] + if leadType.in(AN, EN) { + leadType = R + } + } + if runEnd == len(s.types) { + trailType = s.eos + } else { + trailType = s.types[runEnd] + if trailType.in(AN, EN) { + trailType = R + } + } + + var resolvedType Class + if leadType == trailType { + // Rule N1. + resolvedType = leadType + } else { + // Rule N2. + // Notice the embedding level of the run is used, not + // the paragraph embedding level. + resolvedType = typeForLevel(s.level) + } + + setTypes(s.types[runStart:runEnd], resolvedType) + + // skip over run of (former) neutrals + i = runEnd + } + } +} + +func setLevels(levels []level, newLevel level) { + for i := range levels { + levels[i] = newLevel + } +} + +func setTypes(types []Class, newType Class) { + for i := range types { + types[i] = newType + } +} + +// 7) resolving implicit embedding levels Rules I1, I2. +func (s *isolatingRunSequence) resolveImplicitLevels() { + + // on entry, only these types can be in resultTypes + s.assertOnly(L, R, EN, AN) + + s.resolvedLevels = make([]level, len(s.types)) + setLevels(s.resolvedLevels, s.level) + + if (s.level & 1) == 0 { // even level + for i, t := range s.types { + // Rule I1. + if t == L { + // no change + } else if t == R { + s.resolvedLevels[i] += 1 + } else { // t == AN || t == EN + s.resolvedLevels[i] += 2 + } + } + } else { // odd level + for i, t := range s.types { + // Rule I2. + if t == R { + // no change + } else { // t == L || t == AN || t == EN + s.resolvedLevels[i] += 1 + } + } + } +} + +// Applies the levels and types resolved in rules W1-I2 to the +// resultLevels array. +func (s *isolatingRunSequence) applyLevelsAndTypes() { + for i, x := range s.indexes { + s.p.resultTypes[x] = s.types[i] + s.p.resultLevels[x] = s.resolvedLevels[i] + } +} + +// Return the limit of the run consisting only of the types in validSet +// starting at index. This checks the value at index, and will return +// index if that value is not in validSet. +func (s *isolatingRunSequence) findRunLimit(index int, validSet ...Class) int { +loop: + for ; index < len(s.types); index++ { + t := s.types[index] + for _, valid := range validSet { + if t == valid { + continue loop + } + } + return index // didn't find a match in validSet + } + return len(s.types) +} + +// Algorithm validation. Assert that all values in types are in the +// provided set. +func (s *isolatingRunSequence) assertOnly(codes ...Class) { +loop: + for i, t := range s.types { + for _, c := range codes { + if t == c { + continue loop + } + } + log.Panicf("invalid bidi code %v present in assertOnly at position %d", t, s.indexes[i]) + } +} + +// determineLevelRuns returns an array of level runs. Each level run is +// described as an array of indexes into the input string. +// +// Determines the level runs. Rule X9 will be applied in determining the +// runs, in the way that makes sure the characters that are supposed to be +// removed are not included in the runs. +func (p *paragraph) determineLevelRuns() [][]int { + run := []int{} + allRuns := [][]int{} + currentLevel := implicitLevel + + for i := range p.initialTypes { + if !isRemovedByX9(p.initialTypes[i]) { + if p.resultLevels[i] != currentLevel { + // we just encountered a new run; wrap up last run + if currentLevel >= 0 { // only wrap it up if there was a run + allRuns = append(allRuns, run) + run = nil + } + // Start new run + currentLevel = p.resultLevels[i] + } + run = append(run, i) + } + } + // Wrap up the final run, if any + if len(run) > 0 { + allRuns = append(allRuns, run) + } + return allRuns +} + +// Definition BD13. Determine isolating run sequences. +func (p *paragraph) determineIsolatingRunSequences() []*isolatingRunSequence { + levelRuns := p.determineLevelRuns() + + // Compute the run that each character belongs to + runForCharacter := make([]int, p.Len()) + for i, run := range levelRuns { + for _, index := range run { + runForCharacter[index] = i + } + } + + sequences := []*isolatingRunSequence{} + + var currentRunSequence []int + + for _, run := range levelRuns { + first := run[0] + if p.initialTypes[first] != PDI || p.matchingIsolateInitiator[first] == -1 { + currentRunSequence = nil + // int run = i; + for { + // Copy this level run into currentRunSequence + currentRunSequence = append(currentRunSequence, run...) + + last := currentRunSequence[len(currentRunSequence)-1] + lastT := p.initialTypes[last] + if lastT.in(LRI, RLI, FSI) && p.matchingPDI[last] != p.Len() { + run = levelRuns[runForCharacter[p.matchingPDI[last]]] + } else { + break + } + } + sequences = append(sequences, p.isolatingRunSequence(currentRunSequence)) + } + } + return sequences +} + +// Assign level information to characters removed by rule X9. This is for +// ease of relating the level information to the original input data. Note +// that the levels assigned to these codes are arbitrary, they're chosen so +// as to avoid breaking level runs. +func (p *paragraph) assignLevelsToCharactersRemovedByX9() { + for i, t := range p.initialTypes { + if t.in(LRE, RLE, LRO, RLO, PDF, BN) { + p.resultTypes[i] = t + p.resultLevels[i] = -1 + } + } + // now propagate forward the levels information (could have + // propagated backward, the main thing is not to introduce a level + // break where one doesn't already exist). + + if p.resultLevels[0] == -1 { + p.resultLevels[0] = p.embeddingLevel + } + for i := 1; i < len(p.initialTypes); i++ { + if p.resultLevels[i] == -1 { + p.resultLevels[i] = p.resultLevels[i-1] + } + } + // Embedding information is for informational purposes only so need not be + // adjusted. +} + +// +// Output +// + +// getLevels computes levels array breaking lines at offsets in linebreaks. +// Rule L1. +// +// The linebreaks array must include at least one value. The values must be +// in strictly increasing order (no duplicates) between 1 and the length of +// the text, inclusive. The last value must be the length of the text. +func (p *paragraph) getLevels(linebreaks []int) []level { + // Note that since the previous processing has removed all + // P, S, and WS values from resultTypes, the values referred to + // in these rules are the initial types, before any processing + // has been applied (including processing of overrides). + // + // This example implementation has reinserted explicit format codes + // and BN, in order that the levels array correspond to the + // initial text. Their final placement is not normative. + // These codes are treated like WS in this implementation, + // so they don't interrupt sequences of WS. + + validateLineBreaks(linebreaks, p.Len()) + + result := append([]level(nil), p.resultLevels...) + + // don't worry about linebreaks since if there is a break within + // a series of WS values preceding S, the linebreak itself + // causes the reset. + for i, t := range p.initialTypes { + if t.in(B, S) { + // Rule L1, clauses one and two. + result[i] = p.embeddingLevel + + // Rule L1, clause three. + for j := i - 1; j >= 0; j-- { + if isWhitespace(p.initialTypes[j]) { // including format codes + result[j] = p.embeddingLevel + } else { + break + } + } + } + } + + // Rule L1, clause four. + start := 0 + for _, limit := range linebreaks { + for j := limit - 1; j >= start; j-- { + if isWhitespace(p.initialTypes[j]) { // including format codes + result[j] = p.embeddingLevel + } else { + break + } + } + start = limit + } + + return result +} + +// getReordering returns the reordering of lines from a visual index to a +// logical index for line breaks at the given offsets. +// +// Lines are concatenated from left to right. So for example, the fifth +// character from the left on the third line is +// +// getReordering(linebreaks)[linebreaks[1] + 4] +// +// (linebreaks[1] is the position after the last character of the second +// line, which is also the index of the first character on the third line, +// and adding four gets the fifth character from the left). +// +// The linebreaks array must include at least one value. The values must be +// in strictly increasing order (no duplicates) between 1 and the length of +// the text, inclusive. The last value must be the length of the text. +func (p *paragraph) getReordering(linebreaks []int) []int { + validateLineBreaks(linebreaks, p.Len()) + + return computeMultilineReordering(p.getLevels(linebreaks), linebreaks) +} + +// Return multiline reordering array for a given level array. Reordering +// does not occur across a line break. +func computeMultilineReordering(levels []level, linebreaks []int) []int { + result := make([]int, len(levels)) + + start := 0 + for _, limit := range linebreaks { + tempLevels := make([]level, limit-start) + copy(tempLevels, levels[start:]) + + for j, order := range computeReordering(tempLevels) { + result[start+j] = order + start + } + start = limit + } + return result +} + +// Return reordering array for a given level array. This reorders a single +// line. The reordering is a visual to logical map. For example, the +// leftmost char is string.charAt(order[0]). Rule L2. +func computeReordering(levels []level) []int { + result := make([]int, len(levels)) + // initialize order + for i := range result { + result[i] = i + } + + // locate highest level found on line. + // Note the rules say text, but no reordering across line bounds is + // performed, so this is sufficient. + highestLevel := level(0) + lowestOddLevel := level(maxDepth + 2) + for _, level := range levels { + if level > highestLevel { + highestLevel = level + } + if level&1 != 0 && level < lowestOddLevel { + lowestOddLevel = level + } + } + + for level := highestLevel; level >= lowestOddLevel; level-- { + for i := 0; i < len(levels); i++ { + if levels[i] >= level { + // find range of text at or above this level + start := i + limit := i + 1 + for limit < len(levels) && levels[limit] >= level { + limit++ + } + + for j, k := start, limit-1; j < k; j, k = j+1, k-1 { + result[j], result[k] = result[k], result[j] + } + // skip to end of level run + i = limit + } + } + } + + return result +} + +// isWhitespace reports whether the type is considered a whitespace type for the +// line break rules. +func isWhitespace(c Class) bool { + switch c { + case LRE, RLE, LRO, RLO, PDF, LRI, RLI, FSI, PDI, BN, WS: + return true + } + return false +} + +// isRemovedByX9 reports whether the type is one of the types removed in X9. +func isRemovedByX9(c Class) bool { + switch c { + case LRE, RLE, LRO, RLO, PDF, BN: + return true + } + return false +} + +// typeForLevel reports the strong type (L or R) corresponding to the level. +func typeForLevel(level level) Class { + if (level & 0x1) == 0 { + return L + } + return R +} + +// TODO: change validation to not panic + +func validateTypes(types []Class) { + if len(types) == 0 { + log.Panic("types is null") + } + for i, t := range types[:len(types)-1] { + if t == B { + log.Panicf("B type before end of paragraph at index: %d", i) + } + } +} + +func validateParagraphEmbeddingLevel(embeddingLevel level) { + if embeddingLevel != implicitLevel && + embeddingLevel != 0 && + embeddingLevel != 1 { + log.Panicf("illegal paragraph embedding level: %d", embeddingLevel) + } +} + +func validateLineBreaks(linebreaks []int, textLength int) { + prev := 0 + for i, next := range linebreaks { + if next <= prev { + log.Panicf("bad linebreak: %d at index: %d", next, i) + } + prev = next + } + if prev != textLength { + log.Panicf("last linebreak was %d, want %d", prev, textLength) + } +} + +func validatePbTypes(pairTypes []bracketType) { + if len(pairTypes) == 0 { + log.Panic("pairTypes is null") + } + for i, pt := range pairTypes { + switch pt { + case bpNone, bpOpen, bpClose: + default: + log.Panicf("illegal pairType value at %d: %v", i, pairTypes[i]) + } + } +} + +func validatePbValues(pairValues []rune, pairTypes []bracketType) { + if pairValues == nil { + log.Panic("pairValues is null") + } + if len(pairTypes) != len(pairValues) { + log.Panic("pairTypes is different length from pairValues") + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/prop.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/prop.go new file mode 100644 index 0000000..7c9484e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/prop.go @@ -0,0 +1,206 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import "unicode/utf8" + +// Properties provides access to BiDi properties of runes. +type Properties struct { + entry uint8 + last uint8 +} + +var trie = newBidiTrie(0) + +// TODO: using this for bidirule reduces the running time by about 5%. Consider +// if this is worth exposing or if we can find a way to speed up the Class +// method. +// +// // CompactClass is like Class, but maps all of the BiDi control classes +// // (LRO, RLO, LRE, RLE, PDF, LRI, RLI, FSI, PDI) to the class Control. +// func (p Properties) CompactClass() Class { +// return Class(p.entry & 0x0F) +// } + +// Class returns the Bidi class for p. +func (p Properties) Class() Class { + c := Class(p.entry & 0x0F) + if c == Control { + c = controlByteToClass[p.last&0xF] + } + return c +} + +// IsBracket reports whether the rune is a bracket. +func (p Properties) IsBracket() bool { return p.entry&0xF0 != 0 } + +// IsOpeningBracket reports whether the rune is an opening bracket. +// IsBracket must return true. +func (p Properties) IsOpeningBracket() bool { return p.entry&openMask != 0 } + +// TODO: find a better API and expose. +func (p Properties) reverseBracket(r rune) rune { + return xorMasks[p.entry>>xorMaskShift] ^ r +} + +var controlByteToClass = [16]Class{ + 0xD: LRO, // U+202D LeftToRightOverride, + 0xE: RLO, // U+202E RightToLeftOverride, + 0xA: LRE, // U+202A LeftToRightEmbedding, + 0xB: RLE, // U+202B RightToLeftEmbedding, + 0xC: PDF, // U+202C PopDirectionalFormat, + 0x6: LRI, // U+2066 LeftToRightIsolate, + 0x7: RLI, // U+2067 RightToLeftIsolate, + 0x8: FSI, // U+2068 FirstStrongIsolate, + 0x9: PDI, // U+2069 PopDirectionalIsolate, +} + +// LookupRune returns properties for r. +func LookupRune(r rune) (p Properties, size int) { + var buf [4]byte + n := utf8.EncodeRune(buf[:], r) + return Lookup(buf[:n]) +} + +// TODO: these lookup methods are based on the generated trie code. The returned +// sizes have slightly different semantics from the generated code, in that it +// always returns size==1 for an illegal UTF-8 byte (instead of the length +// of the maximum invalid subsequence). Most Transformers, like unicode/norm, +// leave invalid UTF-8 untouched, in which case it has performance benefits to +// do so (without changing the semantics). Bidi requires the semantics used here +// for the bidirule implementation to be compatible with the Go semantics. +// They ultimately should perhaps be adopted by all trie implementations, for +// convenience sake. +// This unrolled code also boosts performance of the secure/bidirule package by +// about 30%. +// So, to remove this code: +// - add option to trie generator to define return type. +// - always return 1 byte size for ill-formed UTF-8 runes. + +// Lookup returns properties for the first rune in s and the width in bytes of +// its encoding. The size will be 0 if s does not hold enough bytes to complete +// the encoding. +func Lookup(s []byte) (p Properties, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return Properties{entry: bidiValues[c0]}, 1 + case c0 < 0xC2: + return Properties{}, 1 + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c1)}, 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c3)}, 4 + } + // Illegal rune + return Properties{}, 1 +} + +// LookupString returns properties for the first rune in s and the width in +// bytes of its encoding. The size will be 0 if s does not hold enough bytes to +// complete the encoding. +func LookupString(s string) (p Properties, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return Properties{entry: bidiValues[c0]}, 1 + case c0 < 0xC2: + return Properties{}, 1 + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c1)}, 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c3)}, 4 + } + // Illegal rune + return Properties{}, 1 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go new file mode 100644 index 0000000..d8c94e1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go @@ -0,0 +1,1815 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.10,!go1.13 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 16128 bytes (15.75 KiB). Checksum: 8122d83e461996f. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 228 blocks, 14592 entries, 14592 bytes +// The third block is the zero block. +var bidiValues = [14592]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, + // Block 0x5e, offset 0x1780 + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, + 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, + 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19ef: 0x000c, + 0x19f0: 0x000c, 0x19f1: 0x000c, + 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a3f: 0x000c, + // Block 0x69, offset 0x1a40 + 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c, + 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c, + 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c, + 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c, + 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c, + 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a, + 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a, + 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a, + 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a, + 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a, + 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a, + 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a, + 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a, + 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a, + 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a, + 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, + 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a, + 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a, + 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a, + 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a, + 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c, + 0x1bf0: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, + 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a, + 0x1c20: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c7b: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a, + 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a, + 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a, + 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a, + 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a, + 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cdd: 0x000a, + 0x1cde: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d10: 0x000a, 0x1d11: 0x000a, + 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a, + 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a, + 0x1d1e: 0x000a, 0x1d1f: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a, + 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e1e: 0x000a, 0x1e1f: 0x000a, + 0x1e3f: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e50: 0x000a, 0x1e51: 0x000a, + 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a, + 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a, + 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a, + 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a, + 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a, + 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a, + 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a, + 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a, + 0x1e86: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f2f: 0x000c, + 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c, + 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c, + 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f5e: 0x000c, 0x1f5f: 0x000c, + // Block 0x7e, offset 0x1f80 + 0x1fb0: 0x000c, 0x1fb1: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a, + 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a, + 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a, + 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a, + 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a, + 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a, + // Block 0x80, offset 0x2000 + 0x2008: 0x000a, + // Block 0x81, offset 0x2040 + 0x2042: 0x000c, + 0x2046: 0x000c, 0x204b: 0x000c, + 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a, + 0x206a: 0x000a, 0x206b: 0x000a, + 0x2078: 0x0004, 0x2079: 0x0004, + // Block 0x82, offset 0x2080 + 0x20b4: 0x000a, 0x20b5: 0x000a, + 0x20b6: 0x000a, 0x20b7: 0x000a, + // Block 0x83, offset 0x20c0 + 0x20c4: 0x000c, 0x20c5: 0x000c, + 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c, + 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c, + 0x20f0: 0x000c, 0x20f1: 0x000c, + // Block 0x84, offset 0x2100 + 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, + // Block 0x85, offset 0x2140 + 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c, + 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c, + // Block 0x86, offset 0x2180 + 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c, + 0x21b3: 0x000c, + 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c, + 0x21bc: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21e5: 0x000c, + // Block 0x88, offset 0x2200 + 0x2229: 0x000c, + 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c, + 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c, + 0x2236: 0x000c, + // Block 0x89, offset 0x2240 + 0x2243: 0x000c, + 0x224c: 0x000c, + 0x227c: 0x000c, + // Block 0x8a, offset 0x2280 + 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c, + 0x22b7: 0x000c, 0x22b8: 0x000c, + 0x22be: 0x000c, 0x22bf: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22c1: 0x000c, + 0x22ec: 0x000c, 0x22ed: 0x000c, + 0x22f6: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2325: 0x000c, 0x2328: 0x000c, + 0x232d: 0x000c, + // Block 0x8d, offset 0x2340 + 0x235d: 0x0001, + 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001, + 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003, + 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001, + 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001, + 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001, + 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001, + // Block 0x8e, offset 0x2380 + 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001, + 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001, + 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b, + 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b, + 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b, + 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b, + 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b, + 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d, + // Block 0x91, offset 0x2440 + 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c, + 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c, + 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a, + 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x000a, + 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c, + 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c, + 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c, + 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a, + 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a, + 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a, + // Block 0x92, offset 0x2480 + 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a, + 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a, + 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a, + 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a, + 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003, + 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004, + 0x24aa: 0x0004, 0x24ab: 0x000a, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d, + 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d, + 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d, + 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d, + 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d, + 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d, + 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d, + 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b, + // Block 0x94, offset 0x2500 + 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003, + 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002, + 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002, + 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a, + 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a, + 0x253b: 0x005a, + 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a, + // Block 0x95, offset 0x2540 + 0x2540: 0x000a, + 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a, + 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a, + 0x2564: 0x000a, 0x2565: 0x000a, + // Block 0x96, offset 0x2580 + 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a, + 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a, + 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a, + 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b, + 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a, + 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b, + // Block 0x97, offset 0x25c0 + 0x25c1: 0x000a, + // Block 0x98, offset 0x2600 + 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a, + 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a, + 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a, + 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a, + 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a, + 0x2620: 0x000a, + // Block 0x99, offset 0x2640 + 0x267d: 0x000c, + // Block 0x9a, offset 0x2680 + 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002, + 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002, + 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002, + 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002, + 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002, + // Block 0x9b, offset 0x26c0 + 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c, + // Block 0x9c, offset 0x2700 + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c, + 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a, + 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a, + // Block 0xa1, offset 0x2840 + 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, + 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, + 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, + 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, + 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005, + 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005, + 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005, + 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001, + // Block 0xa2, offset 0x2880 + 0x2881: 0x000c, + 0x28b8: 0x000c, 0x28b9: 0x000c, 0x28ba: 0x000c, 0x28bb: 0x000c, + 0x28bc: 0x000c, 0x28bd: 0x000c, 0x28be: 0x000c, 0x28bf: 0x000c, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x000c, 0x28c1: 0x000c, 0x28c2: 0x000c, 0x28c3: 0x000c, 0x28c4: 0x000c, 0x28c5: 0x000c, + 0x28c6: 0x000c, + 0x28d2: 0x000a, 0x28d3: 0x000a, 0x28d4: 0x000a, 0x28d5: 0x000a, 0x28d6: 0x000a, 0x28d7: 0x000a, + 0x28d8: 0x000a, 0x28d9: 0x000a, 0x28da: 0x000a, 0x28db: 0x000a, 0x28dc: 0x000a, 0x28dd: 0x000a, + 0x28de: 0x000a, 0x28df: 0x000a, 0x28e0: 0x000a, 0x28e1: 0x000a, 0x28e2: 0x000a, 0x28e3: 0x000a, + 0x28e4: 0x000a, 0x28e5: 0x000a, + 0x28ff: 0x000c, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000c, 0x2901: 0x000c, + 0x2933: 0x000c, 0x2934: 0x000c, 0x2935: 0x000c, + 0x2936: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c, + // Block 0xa5, offset 0x2940 + 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c, + 0x2967: 0x000c, 0x2968: 0x000c, 0x2969: 0x000c, + 0x296a: 0x000c, 0x296b: 0x000c, 0x296d: 0x000c, 0x296e: 0x000c, 0x296f: 0x000c, + 0x2970: 0x000c, 0x2971: 0x000c, 0x2972: 0x000c, 0x2973: 0x000c, 0x2974: 0x000c, + // Block 0xa6, offset 0x2980 + 0x29b3: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000c, 0x29c1: 0x000c, + 0x29f6: 0x000c, 0x29f7: 0x000c, 0x29f8: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, 0x29fb: 0x000c, + 0x29fc: 0x000c, 0x29fd: 0x000c, 0x29fe: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a0a: 0x000c, 0x2a0b: 0x000c, + 0x2a0c: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a6f: 0x000c, + 0x2a70: 0x000c, 0x2a71: 0x000c, 0x2a74: 0x000c, + 0x2a76: 0x000c, 0x2a77: 0x000c, + 0x2a7e: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a9f: 0x000c, 0x2aa3: 0x000c, + 0x2aa4: 0x000c, 0x2aa5: 0x000c, 0x2aa6: 0x000c, 0x2aa7: 0x000c, 0x2aa8: 0x000c, 0x2aa9: 0x000c, + 0x2aaa: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2ac0: 0x000c, 0x2ac1: 0x000c, + 0x2afc: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b00: 0x000c, + 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c, + 0x2b2a: 0x000c, 0x2b2b: 0x000c, 0x2b2c: 0x000c, + 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b32: 0x000c, 0x2b33: 0x000c, 0x2b34: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c, + 0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, 0x2b7f: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2b82: 0x000c, 0x2b83: 0x000c, 0x2b84: 0x000c, + 0x2b86: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bf3: 0x000c, 0x2bf4: 0x000c, 0x2bf5: 0x000c, + 0x2bf6: 0x000c, 0x2bf7: 0x000c, 0x2bf8: 0x000c, 0x2bfa: 0x000c, + 0x2bff: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c00: 0x000c, 0x2c02: 0x000c, 0x2c03: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c, + 0x2c7c: 0x000c, 0x2c7d: 0x000c, 0x2c7f: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2c80: 0x000c, + 0x2c9c: 0x000c, 0x2c9d: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c, + 0x2cf6: 0x000c, 0x2cf7: 0x000c, 0x2cf8: 0x000c, 0x2cf9: 0x000c, 0x2cfa: 0x000c, + 0x2cfd: 0x000c, 0x2cff: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x000c, + 0x2d20: 0x000a, 0x2d21: 0x000a, 0x2d22: 0x000a, 0x2d23: 0x000a, + 0x2d24: 0x000a, 0x2d25: 0x000a, 0x2d26: 0x000a, 0x2d27: 0x000a, 0x2d28: 0x000a, 0x2d29: 0x000a, + 0x2d2a: 0x000a, 0x2d2b: 0x000a, 0x2d2c: 0x000a, + // Block 0xb5, offset 0x2d40 + 0x2d6b: 0x000c, 0x2d6d: 0x000c, + 0x2d70: 0x000c, 0x2d71: 0x000c, 0x2d72: 0x000c, 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c, + 0x2d77: 0x000c, + // Block 0xb6, offset 0x2d80 + 0x2d9d: 0x000c, + 0x2d9e: 0x000c, 0x2d9f: 0x000c, 0x2da2: 0x000c, 0x2da3: 0x000c, + 0x2da4: 0x000c, 0x2da5: 0x000c, 0x2da7: 0x000c, 0x2da8: 0x000c, 0x2da9: 0x000c, + 0x2daa: 0x000c, 0x2dab: 0x000c, + // Block 0xb7, offset 0x2dc0 + 0x2dc1: 0x000c, 0x2dc2: 0x000c, 0x2dc3: 0x000c, 0x2dc4: 0x000c, 0x2dc5: 0x000c, + 0x2dc6: 0x000c, 0x2dc9: 0x000c, 0x2dca: 0x000c, + 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c, + 0x2df6: 0x000c, 0x2df7: 0x000c, 0x2df8: 0x000c, 0x2dfb: 0x000c, + 0x2dfc: 0x000c, 0x2dfd: 0x000c, 0x2dfe: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e07: 0x000c, + 0x2e11: 0x000c, + 0x2e12: 0x000c, 0x2e13: 0x000c, 0x2e14: 0x000c, 0x2e15: 0x000c, 0x2e16: 0x000c, + 0x2e19: 0x000c, 0x2e1a: 0x000c, 0x2e1b: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e4a: 0x000c, 0x2e4b: 0x000c, + 0x2e4c: 0x000c, 0x2e4d: 0x000c, 0x2e4e: 0x000c, 0x2e4f: 0x000c, 0x2e50: 0x000c, 0x2e51: 0x000c, + 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, + 0x2e58: 0x000c, 0x2e59: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb8: 0x000c, 0x2eb9: 0x000c, 0x2eba: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, 0x2ed7: 0x000c, + 0x2ed8: 0x000c, 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, 0x2edc: 0x000c, 0x2edd: 0x000c, + 0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee0: 0x000c, 0x2ee1: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c, + 0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee6: 0x000c, 0x2ee7: 0x000c, + 0x2eea: 0x000c, 0x2eeb: 0x000c, 0x2eec: 0x000c, 0x2eed: 0x000c, 0x2eee: 0x000c, 0x2eef: 0x000c, + 0x2ef0: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef5: 0x000c, + 0x2ef6: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c, + 0x2f36: 0x000c, 0x2f3a: 0x000c, + 0x2f3c: 0x000c, 0x2f3d: 0x000c, 0x2f3f: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f40: 0x000c, 0x2f41: 0x000c, 0x2f42: 0x000c, 0x2f43: 0x000c, 0x2f44: 0x000c, 0x2f45: 0x000c, + 0x2f47: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2fb0: 0x000c, 0x2fb1: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb4: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2ff0: 0x000c, 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, + // Block 0xc0, offset 0x3000 + 0x300f: 0x000c, 0x3010: 0x000c, 0x3011: 0x000c, + 0x3012: 0x000c, + // Block 0xc1, offset 0x3040 + 0x305d: 0x000c, + 0x305e: 0x000c, 0x3060: 0x000b, 0x3061: 0x000b, 0x3062: 0x000b, 0x3063: 0x000b, + // Block 0xc2, offset 0x3080 + 0x30a7: 0x000c, 0x30a8: 0x000c, 0x30a9: 0x000c, + 0x30b3: 0x000b, 0x30b4: 0x000b, 0x30b5: 0x000b, + 0x30b6: 0x000b, 0x30b7: 0x000b, 0x30b8: 0x000b, 0x30b9: 0x000b, 0x30ba: 0x000b, 0x30bb: 0x000c, + 0x30bc: 0x000c, 0x30bd: 0x000c, 0x30be: 0x000c, 0x30bf: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30c0: 0x000c, 0x30c1: 0x000c, 0x30c2: 0x000c, 0x30c5: 0x000c, + 0x30c6: 0x000c, 0x30c7: 0x000c, 0x30c8: 0x000c, 0x30c9: 0x000c, 0x30ca: 0x000c, 0x30cb: 0x000c, + 0x30ea: 0x000c, 0x30eb: 0x000c, 0x30ec: 0x000c, 0x30ed: 0x000c, + // Block 0xc4, offset 0x3100 + 0x3100: 0x000a, 0x3101: 0x000a, 0x3102: 0x000c, 0x3103: 0x000c, 0x3104: 0x000c, 0x3105: 0x000a, + // Block 0xc5, offset 0x3140 + 0x3140: 0x000a, 0x3141: 0x000a, 0x3142: 0x000a, 0x3143: 0x000a, 0x3144: 0x000a, 0x3145: 0x000a, + 0x3146: 0x000a, 0x3147: 0x000a, 0x3148: 0x000a, 0x3149: 0x000a, 0x314a: 0x000a, 0x314b: 0x000a, + 0x314c: 0x000a, 0x314d: 0x000a, 0x314e: 0x000a, 0x314f: 0x000a, 0x3150: 0x000a, 0x3151: 0x000a, + 0x3152: 0x000a, 0x3153: 0x000a, 0x3154: 0x000a, 0x3155: 0x000a, 0x3156: 0x000a, + // Block 0xc6, offset 0x3180 + 0x319b: 0x000a, + // Block 0xc7, offset 0x31c0 + 0x31d5: 0x000a, + // Block 0xc8, offset 0x3200 + 0x320f: 0x000a, + // Block 0xc9, offset 0x3240 + 0x3249: 0x000a, + // Block 0xca, offset 0x3280 + 0x3283: 0x000a, + 0x328e: 0x0002, 0x328f: 0x0002, 0x3290: 0x0002, 0x3291: 0x0002, + 0x3292: 0x0002, 0x3293: 0x0002, 0x3294: 0x0002, 0x3295: 0x0002, 0x3296: 0x0002, 0x3297: 0x0002, + 0x3298: 0x0002, 0x3299: 0x0002, 0x329a: 0x0002, 0x329b: 0x0002, 0x329c: 0x0002, 0x329d: 0x0002, + 0x329e: 0x0002, 0x329f: 0x0002, 0x32a0: 0x0002, 0x32a1: 0x0002, 0x32a2: 0x0002, 0x32a3: 0x0002, + 0x32a4: 0x0002, 0x32a5: 0x0002, 0x32a6: 0x0002, 0x32a7: 0x0002, 0x32a8: 0x0002, 0x32a9: 0x0002, + 0x32aa: 0x0002, 0x32ab: 0x0002, 0x32ac: 0x0002, 0x32ad: 0x0002, 0x32ae: 0x0002, 0x32af: 0x0002, + 0x32b0: 0x0002, 0x32b1: 0x0002, 0x32b2: 0x0002, 0x32b3: 0x0002, 0x32b4: 0x0002, 0x32b5: 0x0002, + 0x32b6: 0x0002, 0x32b7: 0x0002, 0x32b8: 0x0002, 0x32b9: 0x0002, 0x32ba: 0x0002, 0x32bb: 0x0002, + 0x32bc: 0x0002, 0x32bd: 0x0002, 0x32be: 0x0002, 0x32bf: 0x0002, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c3: 0x000c, 0x32c4: 0x000c, 0x32c5: 0x000c, + 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c, + 0x32cc: 0x000c, 0x32cd: 0x000c, 0x32ce: 0x000c, 0x32cf: 0x000c, 0x32d0: 0x000c, 0x32d1: 0x000c, + 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x000c, + 0x32d8: 0x000c, 0x32d9: 0x000c, 0x32da: 0x000c, 0x32db: 0x000c, 0x32dc: 0x000c, 0x32dd: 0x000c, + 0x32de: 0x000c, 0x32df: 0x000c, 0x32e0: 0x000c, 0x32e1: 0x000c, 0x32e2: 0x000c, 0x32e3: 0x000c, + 0x32e4: 0x000c, 0x32e5: 0x000c, 0x32e6: 0x000c, 0x32e7: 0x000c, 0x32e8: 0x000c, 0x32e9: 0x000c, + 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, 0x32ee: 0x000c, 0x32ef: 0x000c, + 0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c, + 0x32f6: 0x000c, 0x32fb: 0x000c, + 0x32fc: 0x000c, 0x32fd: 0x000c, 0x32fe: 0x000c, 0x32ff: 0x000c, + // Block 0xcc, offset 0x3300 + 0x3300: 0x000c, 0x3301: 0x000c, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000c, + 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x000c, + 0x330c: 0x000c, 0x330d: 0x000c, 0x330e: 0x000c, 0x330f: 0x000c, 0x3310: 0x000c, 0x3311: 0x000c, + 0x3312: 0x000c, 0x3313: 0x000c, 0x3314: 0x000c, 0x3315: 0x000c, 0x3316: 0x000c, 0x3317: 0x000c, + 0x3318: 0x000c, 0x3319: 0x000c, 0x331a: 0x000c, 0x331b: 0x000c, 0x331c: 0x000c, 0x331d: 0x000c, + 0x331e: 0x000c, 0x331f: 0x000c, 0x3320: 0x000c, 0x3321: 0x000c, 0x3322: 0x000c, 0x3323: 0x000c, + 0x3324: 0x000c, 0x3325: 0x000c, 0x3326: 0x000c, 0x3327: 0x000c, 0x3328: 0x000c, 0x3329: 0x000c, + 0x332a: 0x000c, 0x332b: 0x000c, 0x332c: 0x000c, + 0x3335: 0x000c, + // Block 0xcd, offset 0x3340 + 0x3344: 0x000c, + 0x335b: 0x000c, 0x335c: 0x000c, 0x335d: 0x000c, + 0x335e: 0x000c, 0x335f: 0x000c, 0x3361: 0x000c, 0x3362: 0x000c, 0x3363: 0x000c, + 0x3364: 0x000c, 0x3365: 0x000c, 0x3366: 0x000c, 0x3367: 0x000c, 0x3368: 0x000c, 0x3369: 0x000c, + 0x336a: 0x000c, 0x336b: 0x000c, 0x336c: 0x000c, 0x336d: 0x000c, 0x336e: 0x000c, 0x336f: 0x000c, + // Block 0xce, offset 0x3380 + 0x3380: 0x000c, 0x3381: 0x000c, 0x3382: 0x000c, 0x3383: 0x000c, 0x3384: 0x000c, 0x3385: 0x000c, + 0x3386: 0x000c, 0x3388: 0x000c, 0x3389: 0x000c, 0x338a: 0x000c, 0x338b: 0x000c, + 0x338c: 0x000c, 0x338d: 0x000c, 0x338e: 0x000c, 0x338f: 0x000c, 0x3390: 0x000c, 0x3391: 0x000c, + 0x3392: 0x000c, 0x3393: 0x000c, 0x3394: 0x000c, 0x3395: 0x000c, 0x3396: 0x000c, 0x3397: 0x000c, + 0x3398: 0x000c, 0x339b: 0x000c, 0x339c: 0x000c, 0x339d: 0x000c, + 0x339e: 0x000c, 0x339f: 0x000c, 0x33a0: 0x000c, 0x33a1: 0x000c, 0x33a3: 0x000c, + 0x33a4: 0x000c, 0x33a6: 0x000c, 0x33a7: 0x000c, 0x33a8: 0x000c, 0x33a9: 0x000c, + 0x33aa: 0x000c, + // Block 0xcf, offset 0x33c0 + 0x33c0: 0x0001, 0x33c1: 0x0001, 0x33c2: 0x0001, 0x33c3: 0x0001, 0x33c4: 0x0001, 0x33c5: 0x0001, + 0x33c6: 0x0001, 0x33c7: 0x0001, 0x33c8: 0x0001, 0x33c9: 0x0001, 0x33ca: 0x0001, 0x33cb: 0x0001, + 0x33cc: 0x0001, 0x33cd: 0x0001, 0x33ce: 0x0001, 0x33cf: 0x0001, 0x33d0: 0x000c, 0x33d1: 0x000c, + 0x33d2: 0x000c, 0x33d3: 0x000c, 0x33d4: 0x000c, 0x33d5: 0x000c, 0x33d6: 0x000c, 0x33d7: 0x0001, + 0x33d8: 0x0001, 0x33d9: 0x0001, 0x33da: 0x0001, 0x33db: 0x0001, 0x33dc: 0x0001, 0x33dd: 0x0001, + 0x33de: 0x0001, 0x33df: 0x0001, 0x33e0: 0x0001, 0x33e1: 0x0001, 0x33e2: 0x0001, 0x33e3: 0x0001, + 0x33e4: 0x0001, 0x33e5: 0x0001, 0x33e6: 0x0001, 0x33e7: 0x0001, 0x33e8: 0x0001, 0x33e9: 0x0001, + 0x33ea: 0x0001, 0x33eb: 0x0001, 0x33ec: 0x0001, 0x33ed: 0x0001, 0x33ee: 0x0001, 0x33ef: 0x0001, + 0x33f0: 0x0001, 0x33f1: 0x0001, 0x33f2: 0x0001, 0x33f3: 0x0001, 0x33f4: 0x0001, 0x33f5: 0x0001, + 0x33f6: 0x0001, 0x33f7: 0x0001, 0x33f8: 0x0001, 0x33f9: 0x0001, 0x33fa: 0x0001, 0x33fb: 0x0001, + 0x33fc: 0x0001, 0x33fd: 0x0001, 0x33fe: 0x0001, 0x33ff: 0x0001, + // Block 0xd0, offset 0x3400 + 0x3400: 0x0001, 0x3401: 0x0001, 0x3402: 0x0001, 0x3403: 0x0001, 0x3404: 0x000c, 0x3405: 0x000c, + 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x0001, + 0x340c: 0x0001, 0x340d: 0x0001, 0x340e: 0x0001, 0x340f: 0x0001, 0x3410: 0x0001, 0x3411: 0x0001, + 0x3412: 0x0001, 0x3413: 0x0001, 0x3414: 0x0001, 0x3415: 0x0001, 0x3416: 0x0001, 0x3417: 0x0001, + 0x3418: 0x0001, 0x3419: 0x0001, 0x341a: 0x0001, 0x341b: 0x0001, 0x341c: 0x0001, 0x341d: 0x0001, + 0x341e: 0x0001, 0x341f: 0x0001, 0x3420: 0x0001, 0x3421: 0x0001, 0x3422: 0x0001, 0x3423: 0x0001, + 0x3424: 0x0001, 0x3425: 0x0001, 0x3426: 0x0001, 0x3427: 0x0001, 0x3428: 0x0001, 0x3429: 0x0001, + 0x342a: 0x0001, 0x342b: 0x0001, 0x342c: 0x0001, 0x342d: 0x0001, 0x342e: 0x0001, 0x342f: 0x0001, + 0x3430: 0x0001, 0x3431: 0x0001, 0x3432: 0x0001, 0x3433: 0x0001, 0x3434: 0x0001, 0x3435: 0x0001, + 0x3436: 0x0001, 0x3437: 0x0001, 0x3438: 0x0001, 0x3439: 0x0001, 0x343a: 0x0001, 0x343b: 0x0001, + 0x343c: 0x0001, 0x343d: 0x0001, 0x343e: 0x0001, 0x343f: 0x0001, + // Block 0xd1, offset 0x3440 + 0x3440: 0x000d, 0x3441: 0x000d, 0x3442: 0x000d, 0x3443: 0x000d, 0x3444: 0x000d, 0x3445: 0x000d, + 0x3446: 0x000d, 0x3447: 0x000d, 0x3448: 0x000d, 0x3449: 0x000d, 0x344a: 0x000d, 0x344b: 0x000d, + 0x344c: 0x000d, 0x344d: 0x000d, 0x344e: 0x000d, 0x344f: 0x000d, 0x3450: 0x000d, 0x3451: 0x000d, + 0x3452: 0x000d, 0x3453: 0x000d, 0x3454: 0x000d, 0x3455: 0x000d, 0x3456: 0x000d, 0x3457: 0x000d, + 0x3458: 0x000d, 0x3459: 0x000d, 0x345a: 0x000d, 0x345b: 0x000d, 0x345c: 0x000d, 0x345d: 0x000d, + 0x345e: 0x000d, 0x345f: 0x000d, 0x3460: 0x000d, 0x3461: 0x000d, 0x3462: 0x000d, 0x3463: 0x000d, + 0x3464: 0x000d, 0x3465: 0x000d, 0x3466: 0x000d, 0x3467: 0x000d, 0x3468: 0x000d, 0x3469: 0x000d, + 0x346a: 0x000d, 0x346b: 0x000d, 0x346c: 0x000d, 0x346d: 0x000d, 0x346e: 0x000d, 0x346f: 0x000d, + 0x3470: 0x000a, 0x3471: 0x000a, 0x3472: 0x000d, 0x3473: 0x000d, 0x3474: 0x000d, 0x3475: 0x000d, + 0x3476: 0x000d, 0x3477: 0x000d, 0x3478: 0x000d, 0x3479: 0x000d, 0x347a: 0x000d, 0x347b: 0x000d, + 0x347c: 0x000d, 0x347d: 0x000d, 0x347e: 0x000d, 0x347f: 0x000d, + // Block 0xd2, offset 0x3480 + 0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000a, 0x3483: 0x000a, 0x3484: 0x000a, 0x3485: 0x000a, + 0x3486: 0x000a, 0x3487: 0x000a, 0x3488: 0x000a, 0x3489: 0x000a, 0x348a: 0x000a, 0x348b: 0x000a, + 0x348c: 0x000a, 0x348d: 0x000a, 0x348e: 0x000a, 0x348f: 0x000a, 0x3490: 0x000a, 0x3491: 0x000a, + 0x3492: 0x000a, 0x3493: 0x000a, 0x3494: 0x000a, 0x3495: 0x000a, 0x3496: 0x000a, 0x3497: 0x000a, + 0x3498: 0x000a, 0x3499: 0x000a, 0x349a: 0x000a, 0x349b: 0x000a, 0x349c: 0x000a, 0x349d: 0x000a, + 0x349e: 0x000a, 0x349f: 0x000a, 0x34a0: 0x000a, 0x34a1: 0x000a, 0x34a2: 0x000a, 0x34a3: 0x000a, + 0x34a4: 0x000a, 0x34a5: 0x000a, 0x34a6: 0x000a, 0x34a7: 0x000a, 0x34a8: 0x000a, 0x34a9: 0x000a, + 0x34aa: 0x000a, 0x34ab: 0x000a, + 0x34b0: 0x000a, 0x34b1: 0x000a, 0x34b2: 0x000a, 0x34b3: 0x000a, 0x34b4: 0x000a, 0x34b5: 0x000a, + 0x34b6: 0x000a, 0x34b7: 0x000a, 0x34b8: 0x000a, 0x34b9: 0x000a, 0x34ba: 0x000a, 0x34bb: 0x000a, + 0x34bc: 0x000a, 0x34bd: 0x000a, 0x34be: 0x000a, 0x34bf: 0x000a, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, + 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, + 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, + 0x34d2: 0x000a, 0x34d3: 0x000a, + 0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a, + 0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a, + 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, 0x34ed: 0x000a, 0x34ee: 0x000a, + 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a, + 0x34f6: 0x000a, 0x34f7: 0x000a, 0x34f8: 0x000a, 0x34f9: 0x000a, 0x34fa: 0x000a, 0x34fb: 0x000a, + 0x34fc: 0x000a, 0x34fd: 0x000a, 0x34fe: 0x000a, 0x34ff: 0x000a, + // Block 0xd4, offset 0x3500 + 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a, + 0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a, + 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3511: 0x000a, + 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, 0x3515: 0x000a, 0x3516: 0x000a, 0x3517: 0x000a, + 0x3518: 0x000a, 0x3519: 0x000a, 0x351a: 0x000a, 0x351b: 0x000a, 0x351c: 0x000a, 0x351d: 0x000a, + 0x351e: 0x000a, 0x351f: 0x000a, 0x3520: 0x000a, 0x3521: 0x000a, 0x3522: 0x000a, 0x3523: 0x000a, + 0x3524: 0x000a, 0x3525: 0x000a, 0x3526: 0x000a, 0x3527: 0x000a, 0x3528: 0x000a, 0x3529: 0x000a, + 0x352a: 0x000a, 0x352b: 0x000a, 0x352c: 0x000a, 0x352d: 0x000a, 0x352e: 0x000a, 0x352f: 0x000a, + 0x3530: 0x000a, 0x3531: 0x000a, 0x3532: 0x000a, 0x3533: 0x000a, 0x3534: 0x000a, 0x3535: 0x000a, + // Block 0xd5, offset 0x3540 + 0x3540: 0x0002, 0x3541: 0x0002, 0x3542: 0x0002, 0x3543: 0x0002, 0x3544: 0x0002, 0x3545: 0x0002, + 0x3546: 0x0002, 0x3547: 0x0002, 0x3548: 0x0002, 0x3549: 0x0002, 0x354a: 0x0002, 0x354b: 0x000a, + 0x354c: 0x000a, + // Block 0xd6, offset 0x3580 + 0x35aa: 0x000a, 0x35ab: 0x000a, + // Block 0xd7, offset 0x35c0 + 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a, + 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a, + 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, + 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a, + 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a, + 0x3630: 0x000a, 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3650: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a, + 0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a, + 0x3690: 0x000a, 0x3691: 0x000a, + 0x3692: 0x000a, 0x3693: 0x000a, 0x3694: 0x000a, 0x3695: 0x000a, 0x3696: 0x000a, 0x3697: 0x000a, + 0x3698: 0x000a, 0x3699: 0x000a, 0x369a: 0x000a, 0x369b: 0x000a, 0x369c: 0x000a, 0x369d: 0x000a, + 0x369e: 0x000a, 0x369f: 0x000a, 0x36a0: 0x000a, 0x36a1: 0x000a, 0x36a2: 0x000a, 0x36a3: 0x000a, + 0x36a4: 0x000a, 0x36a5: 0x000a, 0x36a6: 0x000a, 0x36a7: 0x000a, 0x36a8: 0x000a, 0x36a9: 0x000a, + 0x36aa: 0x000a, 0x36ab: 0x000a, 0x36ac: 0x000a, 0x36ad: 0x000a, 0x36ae: 0x000a, 0x36af: 0x000a, + 0x36b0: 0x000a, 0x36b1: 0x000a, 0x36b2: 0x000a, 0x36b3: 0x000a, 0x36b4: 0x000a, 0x36b5: 0x000a, + 0x36b6: 0x000a, 0x36b7: 0x000a, 0x36b8: 0x000a, 0x36b9: 0x000a, 0x36ba: 0x000a, 0x36bb: 0x000a, + 0x36bc: 0x000a, 0x36bd: 0x000a, 0x36be: 0x000a, 0x36bf: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36c0: 0x000a, 0x36c1: 0x000a, 0x36c2: 0x000a, 0x36c3: 0x000a, 0x36c4: 0x000a, 0x36c5: 0x000a, + 0x36c6: 0x000a, 0x36c7: 0x000a, + 0x36d0: 0x000a, 0x36d1: 0x000a, + 0x36d2: 0x000a, 0x36d3: 0x000a, 0x36d4: 0x000a, 0x36d5: 0x000a, 0x36d6: 0x000a, 0x36d7: 0x000a, + 0x36d8: 0x000a, 0x36d9: 0x000a, + 0x36e0: 0x000a, 0x36e1: 0x000a, 0x36e2: 0x000a, 0x36e3: 0x000a, + 0x36e4: 0x000a, 0x36e5: 0x000a, 0x36e6: 0x000a, 0x36e7: 0x000a, 0x36e8: 0x000a, 0x36e9: 0x000a, + 0x36ea: 0x000a, 0x36eb: 0x000a, 0x36ec: 0x000a, 0x36ed: 0x000a, 0x36ee: 0x000a, 0x36ef: 0x000a, + 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000a, 0x36f3: 0x000a, 0x36f4: 0x000a, 0x36f5: 0x000a, + 0x36f6: 0x000a, 0x36f7: 0x000a, 0x36f8: 0x000a, 0x36f9: 0x000a, 0x36fa: 0x000a, 0x36fb: 0x000a, + 0x36fc: 0x000a, 0x36fd: 0x000a, 0x36fe: 0x000a, 0x36ff: 0x000a, + // Block 0xdc, offset 0x3700 + 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a, + 0x3706: 0x000a, 0x3707: 0x000a, + 0x3710: 0x000a, 0x3711: 0x000a, + 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a, + 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a, + 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a, + 0x372a: 0x000a, 0x372b: 0x000a, 0x372c: 0x000a, 0x372d: 0x000a, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, 0x3755: 0x000a, 0x3756: 0x000a, 0x3757: 0x000a, + 0x3758: 0x000a, 0x3759: 0x000a, 0x375a: 0x000a, 0x375b: 0x000a, 0x375c: 0x000a, 0x375d: 0x000a, + 0x375e: 0x000a, 0x375f: 0x000a, 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, 0x376f: 0x000a, + 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a, + 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a, + // Block 0xde, offset 0x3780 + 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a, + 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a, + 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a, + 0x37aa: 0x000a, 0x37ab: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a, + 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a, + 0x37cc: 0x000a, 0x37cd: 0x000a, 0x37ce: 0x000a, 0x37cf: 0x000a, 0x37d0: 0x000a, 0x37d1: 0x000a, + 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000a, + 0x3810: 0x000a, 0x3811: 0x000a, + 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a, + 0x3818: 0x000a, 0x3819: 0x000a, 0x381a: 0x000a, 0x381b: 0x000a, 0x381c: 0x000a, 0x381d: 0x000a, + 0x381e: 0x000a, 0x381f: 0x000a, 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a, + 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a, + // Block 0xe1, offset 0x3840 + 0x387e: 0x000b, 0x387f: 0x000b, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000b, 0x3881: 0x000b, 0x3882: 0x000b, 0x3883: 0x000b, 0x3884: 0x000b, 0x3885: 0x000b, + 0x3886: 0x000b, 0x3887: 0x000b, 0x3888: 0x000b, 0x3889: 0x000b, 0x388a: 0x000b, 0x388b: 0x000b, + 0x388c: 0x000b, 0x388d: 0x000b, 0x388e: 0x000b, 0x388f: 0x000b, 0x3890: 0x000b, 0x3891: 0x000b, + 0x3892: 0x000b, 0x3893: 0x000b, 0x3894: 0x000b, 0x3895: 0x000b, 0x3896: 0x000b, 0x3897: 0x000b, + 0x3898: 0x000b, 0x3899: 0x000b, 0x389a: 0x000b, 0x389b: 0x000b, 0x389c: 0x000b, 0x389d: 0x000b, + 0x389e: 0x000b, 0x389f: 0x000b, 0x38a0: 0x000b, 0x38a1: 0x000b, 0x38a2: 0x000b, 0x38a3: 0x000b, + 0x38a4: 0x000b, 0x38a5: 0x000b, 0x38a6: 0x000b, 0x38a7: 0x000b, 0x38a8: 0x000b, 0x38a9: 0x000b, + 0x38aa: 0x000b, 0x38ab: 0x000b, 0x38ac: 0x000b, 0x38ad: 0x000b, 0x38ae: 0x000b, 0x38af: 0x000b, + 0x38b0: 0x000b, 0x38b1: 0x000b, 0x38b2: 0x000b, 0x38b3: 0x000b, 0x38b4: 0x000b, 0x38b5: 0x000b, + 0x38b6: 0x000b, 0x38b7: 0x000b, 0x38b8: 0x000b, 0x38b9: 0x000b, 0x38ba: 0x000b, 0x38bb: 0x000b, + 0x38bc: 0x000b, 0x38bd: 0x000b, 0x38be: 0x000b, 0x38bf: 0x000b, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000c, 0x38c1: 0x000c, 0x38c2: 0x000c, 0x38c3: 0x000c, 0x38c4: 0x000c, 0x38c5: 0x000c, + 0x38c6: 0x000c, 0x38c7: 0x000c, 0x38c8: 0x000c, 0x38c9: 0x000c, 0x38ca: 0x000c, 0x38cb: 0x000c, + 0x38cc: 0x000c, 0x38cd: 0x000c, 0x38ce: 0x000c, 0x38cf: 0x000c, 0x38d0: 0x000c, 0x38d1: 0x000c, + 0x38d2: 0x000c, 0x38d3: 0x000c, 0x38d4: 0x000c, 0x38d5: 0x000c, 0x38d6: 0x000c, 0x38d7: 0x000c, + 0x38d8: 0x000c, 0x38d9: 0x000c, 0x38da: 0x000c, 0x38db: 0x000c, 0x38dc: 0x000c, 0x38dd: 0x000c, + 0x38de: 0x000c, 0x38df: 0x000c, 0x38e0: 0x000c, 0x38e1: 0x000c, 0x38e2: 0x000c, 0x38e3: 0x000c, + 0x38e4: 0x000c, 0x38e5: 0x000c, 0x38e6: 0x000c, 0x38e7: 0x000c, 0x38e8: 0x000c, 0x38e9: 0x000c, + 0x38ea: 0x000c, 0x38eb: 0x000c, 0x38ec: 0x000c, 0x38ed: 0x000c, 0x38ee: 0x000c, 0x38ef: 0x000c, + 0x38f0: 0x000b, 0x38f1: 0x000b, 0x38f2: 0x000b, 0x38f3: 0x000b, 0x38f4: 0x000b, 0x38f5: 0x000b, + 0x38f6: 0x000b, 0x38f7: 0x000b, 0x38f8: 0x000b, 0x38f9: 0x000b, 0x38fa: 0x000b, 0x38fb: 0x000b, + 0x38fc: 0x000b, 0x38fd: 0x000b, 0x38fe: 0x000b, 0x38ff: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64, + 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67, + 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70, + 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x77, 0x253: 0x78, + 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e, + 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85, + 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a, + // Block 0xa, offset 0x280 + 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e, + 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97, + 0x2cb: 0x98, 0x2cd: 0x99, + 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a, + 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a, + 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9a, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a, + 0x2f8: 0x9a, 0x2f9: 0x9f, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0x9a, 0x2fd: 0x9a, 0x2fe: 0x9a, 0x2ff: 0x9a, + // Block 0xc, offset 0x300 + 0x300: 0xa0, 0x301: 0xa1, 0x302: 0xa2, 0x304: 0xa3, 0x305: 0xa4, 0x306: 0xa5, 0x307: 0xa6, + 0x308: 0xa7, 0x30b: 0xa8, 0x30c: 0xa9, 0x30d: 0xaa, + 0x310: 0xab, 0x311: 0xac, 0x312: 0xad, 0x313: 0xae, 0x316: 0xaf, 0x317: 0xb0, + 0x318: 0xb1, 0x319: 0xb2, 0x31a: 0xb3, 0x31c: 0xb4, + 0x328: 0xb5, 0x329: 0xb6, 0x32a: 0xb7, + 0x330: 0xb8, 0x332: 0xb9, 0x334: 0xba, 0x335: 0xbb, + // Block 0xd, offset 0x340 + 0x36b: 0xbc, 0x36c: 0xbd, + 0x37e: 0xbe, + // Block 0xe, offset 0x380 + 0x3b2: 0xbf, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xc0, 0x3c6: 0xc1, + 0x3c8: 0x54, 0x3c9: 0xc2, 0x3cc: 0x54, 0x3cd: 0xc3, + 0x3db: 0xc4, 0x3dc: 0xc5, 0x3dd: 0xc6, 0x3de: 0xc7, 0x3df: 0xc8, + 0x3e8: 0xc9, 0x3e9: 0xca, 0x3ea: 0xcb, + // Block 0x10, offset 0x400 + 0x400: 0xcc, + 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xcd, 0x424: 0x9a, 0x425: 0xce, 0x426: 0x9a, 0x427: 0x9a, + 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a, + 0x430: 0x9a, 0x431: 0x9a, 0x432: 0x9a, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcf, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a, + // Block 0x11, offset 0x440 + 0x440: 0xd0, 0x441: 0x54, 0x442: 0xd1, 0x443: 0xd2, 0x444: 0xd3, 0x445: 0xd4, + 0x449: 0xd5, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd6, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xd7, + 0x460: 0xd8, 0x461: 0xd9, 0x462: 0xda, 0x464: 0xdb, 0x465: 0xdc, 0x466: 0xdd, 0x467: 0xde, + 0x47f: 0xdf, + // Block 0x12, offset 0x480 + 0x4bf: 0xdf, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xe0, 0x541: 0xe0, 0x542: 0xe0, 0x543: 0xe0, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe1, + 0x548: 0xe0, 0x549: 0xe0, 0x54a: 0xe0, 0x54b: 0xe0, 0x54c: 0xe0, 0x54d: 0xe0, 0x54e: 0xe0, 0x54f: 0xe0, + 0x550: 0xe0, 0x551: 0xe0, 0x552: 0xe0, 0x553: 0xe0, 0x554: 0xe0, 0x555: 0xe0, 0x556: 0xe0, 0x557: 0xe0, + 0x558: 0xe0, 0x559: 0xe0, 0x55a: 0xe0, 0x55b: 0xe0, 0x55c: 0xe0, 0x55d: 0xe0, 0x55e: 0xe0, 0x55f: 0xe0, + 0x560: 0xe0, 0x561: 0xe0, 0x562: 0xe0, 0x563: 0xe0, 0x564: 0xe0, 0x565: 0xe0, 0x566: 0xe0, 0x567: 0xe0, + 0x568: 0xe0, 0x569: 0xe0, 0x56a: 0xe0, 0x56b: 0xe0, 0x56c: 0xe0, 0x56d: 0xe0, 0x56e: 0xe0, 0x56f: 0xe0, + 0x570: 0xe0, 0x571: 0xe0, 0x572: 0xe0, 0x573: 0xe0, 0x574: 0xe0, 0x575: 0xe0, 0x576: 0xe0, 0x577: 0xe0, + 0x578: 0xe0, 0x579: 0xe0, 0x57a: 0xe0, 0x57b: 0xe0, 0x57c: 0xe0, 0x57d: 0xe0, 0x57e: 0xe0, 0x57f: 0xe0, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 16184 bytes (15KiB); checksum: F50EF68C diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go new file mode 100644 index 0000000..022e3c6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go @@ -0,0 +1,1887 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 16512 bytes (16.12 KiB). Checksum: 2a9cf1317f2ffaa. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 234 blocks, 14976 entries, 14976 bytes +// The third block is the zero block. +var bidiValues = [14976]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + 0x77e: 0x000c, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, 0x944: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, + // Block 0x5e, offset 0x1780 + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, + 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, 0x1996: 0x000a, 0x1997: 0x000a, + 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, + 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, + 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, + 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a, + 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, + 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19ef: 0x000c, + 0x19f0: 0x000c, 0x19f1: 0x000c, + 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a3f: 0x000c, + // Block 0x69, offset 0x1a40 + 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c, + 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c, + 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c, + 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c, + 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c, + 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a, + 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a, + 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a, + 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a, + 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a, + 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a, + 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a, + 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a, + 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, + 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a, + 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a, + 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, + 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a, + 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a, + 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a, + 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a, + 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c, + 0x1bf0: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, + 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a, + 0x1c20: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c7b: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a, + 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a, + 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a, + 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a, + 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a, + 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cdd: 0x000a, + 0x1cde: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d10: 0x000a, 0x1d11: 0x000a, + 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a, + 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a, + 0x1d1e: 0x000a, 0x1d1f: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a, + 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e1e: 0x000a, 0x1e1f: 0x000a, + 0x1e3f: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e50: 0x000a, 0x1e51: 0x000a, + 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a, + 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a, + 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a, + 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a, + 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a, + 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a, + 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a, + 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a, + 0x1e86: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f2f: 0x000c, + 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c, + 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c, + 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f5e: 0x000c, 0x1f5f: 0x000c, + // Block 0x7e, offset 0x1f80 + 0x1fb0: 0x000c, 0x1fb1: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a, + 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a, + 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a, + 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a, + 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a, + 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a, + // Block 0x80, offset 0x2000 + 0x2008: 0x000a, + // Block 0x81, offset 0x2040 + 0x2042: 0x000c, + 0x2046: 0x000c, 0x204b: 0x000c, + 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a, + 0x206a: 0x000a, 0x206b: 0x000a, + 0x2078: 0x0004, 0x2079: 0x0004, + // Block 0x82, offset 0x2080 + 0x20b4: 0x000a, 0x20b5: 0x000a, + 0x20b6: 0x000a, 0x20b7: 0x000a, + // Block 0x83, offset 0x20c0 + 0x20c4: 0x000c, 0x20c5: 0x000c, + 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c, + 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c, + 0x20f0: 0x000c, 0x20f1: 0x000c, + 0x20ff: 0x000c, + // Block 0x84, offset 0x2100 + 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, + // Block 0x85, offset 0x2140 + 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c, + 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c, + // Block 0x86, offset 0x2180 + 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c, + 0x21b3: 0x000c, + 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c, + 0x21bc: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21e5: 0x000c, + // Block 0x88, offset 0x2200 + 0x2229: 0x000c, + 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c, + 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c, + 0x2236: 0x000c, + // Block 0x89, offset 0x2240 + 0x2243: 0x000c, + 0x224c: 0x000c, + 0x227c: 0x000c, + // Block 0x8a, offset 0x2280 + 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c, + 0x22b7: 0x000c, 0x22b8: 0x000c, + 0x22be: 0x000c, 0x22bf: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22c1: 0x000c, + 0x22ec: 0x000c, 0x22ed: 0x000c, + 0x22f6: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2325: 0x000c, 0x2328: 0x000c, + 0x232d: 0x000c, + // Block 0x8d, offset 0x2340 + 0x235d: 0x0001, + 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001, + 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003, + 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001, + 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001, + 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001, + 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001, + // Block 0x8e, offset 0x2380 + 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001, + 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001, + 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b, + 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b, + 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b, + 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b, + 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b, + 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d, + // Block 0x91, offset 0x2440 + 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c, + 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c, + 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a, + 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x000a, + 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c, + 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c, + 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c, + 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a, + 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a, + 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a, + // Block 0x92, offset 0x2480 + 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a, + 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a, + 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a, + 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a, + 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003, + 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004, + 0x24aa: 0x0004, 0x24ab: 0x000a, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d, + 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d, + 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d, + 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d, + 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d, + 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d, + 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d, + 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b, + // Block 0x94, offset 0x2500 + 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003, + 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002, + 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002, + 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a, + 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a, + 0x253b: 0x005a, + 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a, + // Block 0x95, offset 0x2540 + 0x2540: 0x000a, + 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a, + 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a, + 0x2564: 0x000a, 0x2565: 0x000a, + // Block 0x96, offset 0x2580 + 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a, + 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a, + 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a, + 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b, + 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a, + 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b, + // Block 0x97, offset 0x25c0 + 0x25c1: 0x000a, + // Block 0x98, offset 0x2600 + 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a, + 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a, + 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a, + 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a, + 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a, + 0x2620: 0x000a, + // Block 0x99, offset 0x2640 + 0x267d: 0x000c, + // Block 0x9a, offset 0x2680 + 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002, + 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002, + 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002, + 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002, + 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002, + // Block 0x9b, offset 0x26c0 + 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c, + // Block 0x9c, offset 0x2700 + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c, + 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a, + 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a, + // Block 0xa1, offset 0x2840 + 0x2840: 0x000d, 0x2841: 0x000d, 0x2842: 0x000d, 0x2843: 0x000d, 0x2844: 0x000d, 0x2845: 0x000d, + 0x2846: 0x000d, 0x2847: 0x000d, 0x2848: 0x000d, 0x2849: 0x000d, 0x284a: 0x000d, 0x284b: 0x000d, + 0x284c: 0x000d, 0x284d: 0x000d, 0x284e: 0x000d, 0x284f: 0x000d, 0x2850: 0x000d, 0x2851: 0x000d, + 0x2852: 0x000d, 0x2853: 0x000d, 0x2854: 0x000d, 0x2855: 0x000d, 0x2856: 0x000d, 0x2857: 0x000d, + 0x2858: 0x000d, 0x2859: 0x000d, 0x285a: 0x000d, 0x285b: 0x000d, 0x285c: 0x000d, 0x285d: 0x000d, + 0x285e: 0x000d, 0x285f: 0x000d, 0x2860: 0x000d, 0x2861: 0x000d, 0x2862: 0x000d, 0x2863: 0x000d, + 0x2864: 0x000c, 0x2865: 0x000c, 0x2866: 0x000c, 0x2867: 0x000c, 0x2868: 0x000d, 0x2869: 0x000d, + 0x286a: 0x000d, 0x286b: 0x000d, 0x286c: 0x000d, 0x286d: 0x000d, 0x286e: 0x000d, 0x286f: 0x000d, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x000d, 0x287b: 0x000d, + 0x287c: 0x000d, 0x287d: 0x000d, 0x287e: 0x000d, 0x287f: 0x000d, + // Block 0xa2, offset 0x2880 + 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, + 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, + 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, + 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, + 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, + 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005, + 0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005, + 0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005, + 0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005, + 0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005, + 0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x0001, 0x28c1: 0x0001, 0x28c2: 0x0001, 0x28c3: 0x0001, 0x28c4: 0x0001, 0x28c5: 0x0001, + 0x28c6: 0x0001, 0x28c7: 0x0001, 0x28c8: 0x0001, 0x28c9: 0x0001, 0x28ca: 0x0001, 0x28cb: 0x0001, + 0x28cc: 0x0001, 0x28cd: 0x0001, 0x28ce: 0x0001, 0x28cf: 0x0001, 0x28d0: 0x0001, 0x28d1: 0x0001, + 0x28d2: 0x0001, 0x28d3: 0x0001, 0x28d4: 0x0001, 0x28d5: 0x0001, 0x28d6: 0x0001, 0x28d7: 0x0001, + 0x28d8: 0x0001, 0x28d9: 0x0001, 0x28da: 0x0001, 0x28db: 0x0001, 0x28dc: 0x0001, 0x28dd: 0x0001, + 0x28de: 0x0001, 0x28df: 0x0001, 0x28e0: 0x0001, 0x28e1: 0x0001, 0x28e2: 0x0001, 0x28e3: 0x0001, + 0x28e4: 0x0001, 0x28e5: 0x0001, 0x28e6: 0x0001, 0x28e7: 0x0001, 0x28e8: 0x0001, 0x28e9: 0x0001, + 0x28ea: 0x0001, 0x28eb: 0x0001, 0x28ec: 0x0001, 0x28ed: 0x0001, 0x28ee: 0x0001, 0x28ef: 0x0001, + 0x28f0: 0x000d, 0x28f1: 0x000d, 0x28f2: 0x000d, 0x28f3: 0x000d, 0x28f4: 0x000d, 0x28f5: 0x000d, + 0x28f6: 0x000d, 0x28f7: 0x000d, 0x28f8: 0x000d, 0x28f9: 0x000d, 0x28fa: 0x000d, 0x28fb: 0x000d, + 0x28fc: 0x000d, 0x28fd: 0x000d, 0x28fe: 0x000d, 0x28ff: 0x000d, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000d, 0x2901: 0x000d, 0x2902: 0x000d, 0x2903: 0x000d, 0x2904: 0x000d, 0x2905: 0x000d, + 0x2906: 0x000c, 0x2907: 0x000c, 0x2908: 0x000c, 0x2909: 0x000c, 0x290a: 0x000c, 0x290b: 0x000c, + 0x290c: 0x000c, 0x290d: 0x000c, 0x290e: 0x000c, 0x290f: 0x000c, 0x2910: 0x000c, 0x2911: 0x000d, + 0x2912: 0x000d, 0x2913: 0x000d, 0x2914: 0x000d, 0x2915: 0x000d, 0x2916: 0x000d, 0x2917: 0x000d, + 0x2918: 0x000d, 0x2919: 0x000d, 0x291a: 0x000d, 0x291b: 0x000d, 0x291c: 0x000d, 0x291d: 0x000d, + 0x291e: 0x000d, 0x291f: 0x000d, 0x2920: 0x000d, 0x2921: 0x000d, 0x2922: 0x000d, 0x2923: 0x000d, + 0x2924: 0x000d, 0x2925: 0x000d, 0x2926: 0x000d, 0x2927: 0x000d, 0x2928: 0x000d, 0x2929: 0x000d, + 0x292a: 0x000d, 0x292b: 0x000d, 0x292c: 0x000d, 0x292d: 0x000d, 0x292e: 0x000d, 0x292f: 0x000d, + 0x2930: 0x0001, 0x2931: 0x0001, 0x2932: 0x0001, 0x2933: 0x0001, 0x2934: 0x0001, 0x2935: 0x0001, + 0x2936: 0x0001, 0x2937: 0x0001, 0x2938: 0x0001, 0x2939: 0x0001, 0x293a: 0x0001, 0x293b: 0x0001, + 0x293c: 0x0001, 0x293d: 0x0001, 0x293e: 0x0001, 0x293f: 0x0001, + // Block 0xa5, offset 0x2940 + 0x2941: 0x000c, + 0x2978: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c, 0x297b: 0x000c, + 0x297c: 0x000c, 0x297d: 0x000c, 0x297e: 0x000c, 0x297f: 0x000c, + // Block 0xa6, offset 0x2980 + 0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c, 0x2983: 0x000c, 0x2984: 0x000c, 0x2985: 0x000c, + 0x2986: 0x000c, + 0x2992: 0x000a, 0x2993: 0x000a, 0x2994: 0x000a, 0x2995: 0x000a, 0x2996: 0x000a, 0x2997: 0x000a, + 0x2998: 0x000a, 0x2999: 0x000a, 0x299a: 0x000a, 0x299b: 0x000a, 0x299c: 0x000a, 0x299d: 0x000a, + 0x299e: 0x000a, 0x299f: 0x000a, 0x29a0: 0x000a, 0x29a1: 0x000a, 0x29a2: 0x000a, 0x29a3: 0x000a, + 0x29a4: 0x000a, 0x29a5: 0x000a, + 0x29bf: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000c, 0x29c1: 0x000c, + 0x29f3: 0x000c, 0x29f4: 0x000c, 0x29f5: 0x000c, + 0x29f6: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a00: 0x000c, 0x2a01: 0x000c, 0x2a02: 0x000c, + 0x2a27: 0x000c, 0x2a28: 0x000c, 0x2a29: 0x000c, + 0x2a2a: 0x000c, 0x2a2b: 0x000c, 0x2a2d: 0x000c, 0x2a2e: 0x000c, 0x2a2f: 0x000c, + 0x2a30: 0x000c, 0x2a31: 0x000c, 0x2a32: 0x000c, 0x2a33: 0x000c, 0x2a34: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a73: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a80: 0x000c, 0x2a81: 0x000c, + 0x2ab6: 0x000c, 0x2ab7: 0x000c, 0x2ab8: 0x000c, 0x2ab9: 0x000c, 0x2aba: 0x000c, 0x2abb: 0x000c, + 0x2abc: 0x000c, 0x2abd: 0x000c, 0x2abe: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2ac9: 0x000c, 0x2aca: 0x000c, 0x2acb: 0x000c, + 0x2acc: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b2f: 0x000c, + 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b34: 0x000c, + 0x2b36: 0x000c, 0x2b37: 0x000c, + 0x2b3e: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b5f: 0x000c, 0x2b63: 0x000c, + 0x2b64: 0x000c, 0x2b65: 0x000c, 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, + 0x2b6a: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2b80: 0x000c, + 0x2ba6: 0x000c, 0x2ba7: 0x000c, 0x2ba8: 0x000c, 0x2ba9: 0x000c, + 0x2baa: 0x000c, 0x2bab: 0x000c, 0x2bac: 0x000c, + 0x2bb0: 0x000c, 0x2bb1: 0x000c, 0x2bb2: 0x000c, 0x2bb3: 0x000c, 0x2bb4: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bf8: 0x000c, 0x2bf9: 0x000c, 0x2bfa: 0x000c, 0x2bfb: 0x000c, + 0x2bfc: 0x000c, 0x2bfd: 0x000c, 0x2bfe: 0x000c, 0x2bff: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c02: 0x000c, 0x2c03: 0x000c, 0x2c04: 0x000c, + 0x2c06: 0x000c, + 0x2c1e: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c, + 0x2c76: 0x000c, 0x2c77: 0x000c, 0x2c78: 0x000c, 0x2c7a: 0x000c, + 0x2c7f: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2c80: 0x000c, 0x2c82: 0x000c, 0x2c83: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cf2: 0x000c, 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c, + 0x2cfc: 0x000c, 0x2cfd: 0x000c, 0x2cff: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x000c, + 0x2d1c: 0x000c, 0x2d1d: 0x000c, + // Block 0xb5, offset 0x2d40 + 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c, + 0x2d76: 0x000c, 0x2d77: 0x000c, 0x2d78: 0x000c, 0x2d79: 0x000c, 0x2d7a: 0x000c, + 0x2d7d: 0x000c, 0x2d7f: 0x000c, + // Block 0xb6, offset 0x2d80 + 0x2d80: 0x000c, + 0x2da0: 0x000a, 0x2da1: 0x000a, 0x2da2: 0x000a, 0x2da3: 0x000a, + 0x2da4: 0x000a, 0x2da5: 0x000a, 0x2da6: 0x000a, 0x2da7: 0x000a, 0x2da8: 0x000a, 0x2da9: 0x000a, + 0x2daa: 0x000a, 0x2dab: 0x000a, 0x2dac: 0x000a, + // Block 0xb7, offset 0x2dc0 + 0x2deb: 0x000c, 0x2ded: 0x000c, + 0x2df0: 0x000c, 0x2df1: 0x000c, 0x2df2: 0x000c, 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c, + 0x2df7: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e1d: 0x000c, + 0x2e1e: 0x000c, 0x2e1f: 0x000c, 0x2e22: 0x000c, 0x2e23: 0x000c, + 0x2e24: 0x000c, 0x2e25: 0x000c, 0x2e27: 0x000c, 0x2e28: 0x000c, 0x2e29: 0x000c, + 0x2e2a: 0x000c, 0x2e2b: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e6f: 0x000c, + 0x2e70: 0x000c, 0x2e71: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e74: 0x000c, 0x2e75: 0x000c, + 0x2e76: 0x000c, 0x2e77: 0x000c, 0x2e79: 0x000c, 0x2e7a: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2e81: 0x000c, 0x2e82: 0x000c, 0x2e83: 0x000c, 0x2e84: 0x000c, 0x2e85: 0x000c, + 0x2e86: 0x000c, 0x2e89: 0x000c, 0x2e8a: 0x000c, + 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb7: 0x000c, 0x2eb8: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, 0x2ebe: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ec7: 0x000c, + 0x2ed1: 0x000c, + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, + 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f0a: 0x000c, 0x2f0b: 0x000c, + 0x2f0c: 0x000c, 0x2f0d: 0x000c, 0x2f0e: 0x000c, 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, + 0x2f12: 0x000c, 0x2f13: 0x000c, 0x2f14: 0x000c, 0x2f15: 0x000c, 0x2f16: 0x000c, + 0x2f18: 0x000c, 0x2f19: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f70: 0x000c, 0x2f71: 0x000c, 0x2f72: 0x000c, 0x2f73: 0x000c, 0x2f74: 0x000c, 0x2f75: 0x000c, + 0x2f76: 0x000c, 0x2f78: 0x000c, 0x2f79: 0x000c, 0x2f7a: 0x000c, 0x2f7b: 0x000c, + 0x2f7c: 0x000c, 0x2f7d: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2f92: 0x000c, 0x2f93: 0x000c, 0x2f94: 0x000c, 0x2f95: 0x000c, 0x2f96: 0x000c, 0x2f97: 0x000c, + 0x2f98: 0x000c, 0x2f99: 0x000c, 0x2f9a: 0x000c, 0x2f9b: 0x000c, 0x2f9c: 0x000c, 0x2f9d: 0x000c, + 0x2f9e: 0x000c, 0x2f9f: 0x000c, 0x2fa0: 0x000c, 0x2fa1: 0x000c, 0x2fa2: 0x000c, 0x2fa3: 0x000c, + 0x2fa4: 0x000c, 0x2fa5: 0x000c, 0x2fa6: 0x000c, 0x2fa7: 0x000c, + 0x2faa: 0x000c, 0x2fab: 0x000c, 0x2fac: 0x000c, 0x2fad: 0x000c, 0x2fae: 0x000c, 0x2faf: 0x000c, + 0x2fb0: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb5: 0x000c, + 0x2fb6: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, 0x2ffa: 0x000c, + 0x2ffc: 0x000c, 0x2ffd: 0x000c, 0x2fff: 0x000c, + // Block 0xc0, offset 0x3000 + 0x3000: 0x000c, 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, + 0x3007: 0x000c, + // Block 0xc1, offset 0x3040 + 0x3050: 0x000c, 0x3051: 0x000c, + 0x3055: 0x000c, 0x3057: 0x000c, + // Block 0xc2, offset 0x3080 + 0x30b3: 0x000c, 0x30b4: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30f0: 0x000c, 0x30f1: 0x000c, 0x30f2: 0x000c, 0x30f3: 0x000c, 0x30f4: 0x000c, + // Block 0xc4, offset 0x3100 + 0x3130: 0x000c, 0x3131: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3134: 0x000c, 0x3135: 0x000c, + 0x3136: 0x000c, + // Block 0xc5, offset 0x3140 + 0x314f: 0x000c, 0x3150: 0x000c, 0x3151: 0x000c, + 0x3152: 0x000c, + // Block 0xc6, offset 0x3180 + 0x319d: 0x000c, + 0x319e: 0x000c, 0x31a0: 0x000b, 0x31a1: 0x000b, 0x31a2: 0x000b, 0x31a3: 0x000b, + // Block 0xc7, offset 0x31c0 + 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c, + 0x31f3: 0x000b, 0x31f4: 0x000b, 0x31f5: 0x000b, + 0x31f6: 0x000b, 0x31f7: 0x000b, 0x31f8: 0x000b, 0x31f9: 0x000b, 0x31fa: 0x000b, 0x31fb: 0x000c, + 0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c, + // Block 0xc8, offset 0x3200 + 0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3205: 0x000c, + 0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c, + 0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c, 0x322d: 0x000c, + // Block 0xc9, offset 0x3240 + 0x3240: 0x000a, 0x3241: 0x000a, 0x3242: 0x000c, 0x3243: 0x000c, 0x3244: 0x000c, 0x3245: 0x000a, + // Block 0xca, offset 0x3280 + 0x3280: 0x000a, 0x3281: 0x000a, 0x3282: 0x000a, 0x3283: 0x000a, 0x3284: 0x000a, 0x3285: 0x000a, + 0x3286: 0x000a, 0x3287: 0x000a, 0x3288: 0x000a, 0x3289: 0x000a, 0x328a: 0x000a, 0x328b: 0x000a, + 0x328c: 0x000a, 0x328d: 0x000a, 0x328e: 0x000a, 0x328f: 0x000a, 0x3290: 0x000a, 0x3291: 0x000a, + 0x3292: 0x000a, 0x3293: 0x000a, 0x3294: 0x000a, 0x3295: 0x000a, 0x3296: 0x000a, + // Block 0xcb, offset 0x32c0 + 0x32db: 0x000a, + // Block 0xcc, offset 0x3300 + 0x3315: 0x000a, + // Block 0xcd, offset 0x3340 + 0x334f: 0x000a, + // Block 0xce, offset 0x3380 + 0x3389: 0x000a, + // Block 0xcf, offset 0x33c0 + 0x33c3: 0x000a, + 0x33ce: 0x0002, 0x33cf: 0x0002, 0x33d0: 0x0002, 0x33d1: 0x0002, + 0x33d2: 0x0002, 0x33d3: 0x0002, 0x33d4: 0x0002, 0x33d5: 0x0002, 0x33d6: 0x0002, 0x33d7: 0x0002, + 0x33d8: 0x0002, 0x33d9: 0x0002, 0x33da: 0x0002, 0x33db: 0x0002, 0x33dc: 0x0002, 0x33dd: 0x0002, + 0x33de: 0x0002, 0x33df: 0x0002, 0x33e0: 0x0002, 0x33e1: 0x0002, 0x33e2: 0x0002, 0x33e3: 0x0002, + 0x33e4: 0x0002, 0x33e5: 0x0002, 0x33e6: 0x0002, 0x33e7: 0x0002, 0x33e8: 0x0002, 0x33e9: 0x0002, + 0x33ea: 0x0002, 0x33eb: 0x0002, 0x33ec: 0x0002, 0x33ed: 0x0002, 0x33ee: 0x0002, 0x33ef: 0x0002, + 0x33f0: 0x0002, 0x33f1: 0x0002, 0x33f2: 0x0002, 0x33f3: 0x0002, 0x33f4: 0x0002, 0x33f5: 0x0002, + 0x33f6: 0x0002, 0x33f7: 0x0002, 0x33f8: 0x0002, 0x33f9: 0x0002, 0x33fa: 0x0002, 0x33fb: 0x0002, + 0x33fc: 0x0002, 0x33fd: 0x0002, 0x33fe: 0x0002, 0x33ff: 0x0002, + // Block 0xd0, offset 0x3400 + 0x3400: 0x000c, 0x3401: 0x000c, 0x3402: 0x000c, 0x3403: 0x000c, 0x3404: 0x000c, 0x3405: 0x000c, + 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x000c, + 0x340c: 0x000c, 0x340d: 0x000c, 0x340e: 0x000c, 0x340f: 0x000c, 0x3410: 0x000c, 0x3411: 0x000c, + 0x3412: 0x000c, 0x3413: 0x000c, 0x3414: 0x000c, 0x3415: 0x000c, 0x3416: 0x000c, 0x3417: 0x000c, + 0x3418: 0x000c, 0x3419: 0x000c, 0x341a: 0x000c, 0x341b: 0x000c, 0x341c: 0x000c, 0x341d: 0x000c, + 0x341e: 0x000c, 0x341f: 0x000c, 0x3420: 0x000c, 0x3421: 0x000c, 0x3422: 0x000c, 0x3423: 0x000c, + 0x3424: 0x000c, 0x3425: 0x000c, 0x3426: 0x000c, 0x3427: 0x000c, 0x3428: 0x000c, 0x3429: 0x000c, + 0x342a: 0x000c, 0x342b: 0x000c, 0x342c: 0x000c, 0x342d: 0x000c, 0x342e: 0x000c, 0x342f: 0x000c, + 0x3430: 0x000c, 0x3431: 0x000c, 0x3432: 0x000c, 0x3433: 0x000c, 0x3434: 0x000c, 0x3435: 0x000c, + 0x3436: 0x000c, 0x343b: 0x000c, + 0x343c: 0x000c, 0x343d: 0x000c, 0x343e: 0x000c, 0x343f: 0x000c, + // Block 0xd1, offset 0x3440 + 0x3440: 0x000c, 0x3441: 0x000c, 0x3442: 0x000c, 0x3443: 0x000c, 0x3444: 0x000c, 0x3445: 0x000c, + 0x3446: 0x000c, 0x3447: 0x000c, 0x3448: 0x000c, 0x3449: 0x000c, 0x344a: 0x000c, 0x344b: 0x000c, + 0x344c: 0x000c, 0x344d: 0x000c, 0x344e: 0x000c, 0x344f: 0x000c, 0x3450: 0x000c, 0x3451: 0x000c, + 0x3452: 0x000c, 0x3453: 0x000c, 0x3454: 0x000c, 0x3455: 0x000c, 0x3456: 0x000c, 0x3457: 0x000c, + 0x3458: 0x000c, 0x3459: 0x000c, 0x345a: 0x000c, 0x345b: 0x000c, 0x345c: 0x000c, 0x345d: 0x000c, + 0x345e: 0x000c, 0x345f: 0x000c, 0x3460: 0x000c, 0x3461: 0x000c, 0x3462: 0x000c, 0x3463: 0x000c, + 0x3464: 0x000c, 0x3465: 0x000c, 0x3466: 0x000c, 0x3467: 0x000c, 0x3468: 0x000c, 0x3469: 0x000c, + 0x346a: 0x000c, 0x346b: 0x000c, 0x346c: 0x000c, + 0x3475: 0x000c, + // Block 0xd2, offset 0x3480 + 0x3484: 0x000c, + 0x349b: 0x000c, 0x349c: 0x000c, 0x349d: 0x000c, + 0x349e: 0x000c, 0x349f: 0x000c, 0x34a1: 0x000c, 0x34a2: 0x000c, 0x34a3: 0x000c, + 0x34a4: 0x000c, 0x34a5: 0x000c, 0x34a6: 0x000c, 0x34a7: 0x000c, 0x34a8: 0x000c, 0x34a9: 0x000c, + 0x34aa: 0x000c, 0x34ab: 0x000c, 0x34ac: 0x000c, 0x34ad: 0x000c, 0x34ae: 0x000c, 0x34af: 0x000c, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000c, 0x34c1: 0x000c, 0x34c2: 0x000c, 0x34c3: 0x000c, 0x34c4: 0x000c, 0x34c5: 0x000c, + 0x34c6: 0x000c, 0x34c8: 0x000c, 0x34c9: 0x000c, 0x34ca: 0x000c, 0x34cb: 0x000c, + 0x34cc: 0x000c, 0x34cd: 0x000c, 0x34ce: 0x000c, 0x34cf: 0x000c, 0x34d0: 0x000c, 0x34d1: 0x000c, + 0x34d2: 0x000c, 0x34d3: 0x000c, 0x34d4: 0x000c, 0x34d5: 0x000c, 0x34d6: 0x000c, 0x34d7: 0x000c, + 0x34d8: 0x000c, 0x34db: 0x000c, 0x34dc: 0x000c, 0x34dd: 0x000c, + 0x34de: 0x000c, 0x34df: 0x000c, 0x34e0: 0x000c, 0x34e1: 0x000c, 0x34e3: 0x000c, + 0x34e4: 0x000c, 0x34e6: 0x000c, 0x34e7: 0x000c, 0x34e8: 0x000c, 0x34e9: 0x000c, + 0x34ea: 0x000c, + // Block 0xd4, offset 0x3500 + 0x3500: 0x0001, 0x3501: 0x0001, 0x3502: 0x0001, 0x3503: 0x0001, 0x3504: 0x0001, 0x3505: 0x0001, + 0x3506: 0x0001, 0x3507: 0x0001, 0x3508: 0x0001, 0x3509: 0x0001, 0x350a: 0x0001, 0x350b: 0x0001, + 0x350c: 0x0001, 0x350d: 0x0001, 0x350e: 0x0001, 0x350f: 0x0001, 0x3510: 0x000c, 0x3511: 0x000c, + 0x3512: 0x000c, 0x3513: 0x000c, 0x3514: 0x000c, 0x3515: 0x000c, 0x3516: 0x000c, 0x3517: 0x0001, + 0x3518: 0x0001, 0x3519: 0x0001, 0x351a: 0x0001, 0x351b: 0x0001, 0x351c: 0x0001, 0x351d: 0x0001, + 0x351e: 0x0001, 0x351f: 0x0001, 0x3520: 0x0001, 0x3521: 0x0001, 0x3522: 0x0001, 0x3523: 0x0001, + 0x3524: 0x0001, 0x3525: 0x0001, 0x3526: 0x0001, 0x3527: 0x0001, 0x3528: 0x0001, 0x3529: 0x0001, + 0x352a: 0x0001, 0x352b: 0x0001, 0x352c: 0x0001, 0x352d: 0x0001, 0x352e: 0x0001, 0x352f: 0x0001, + 0x3530: 0x0001, 0x3531: 0x0001, 0x3532: 0x0001, 0x3533: 0x0001, 0x3534: 0x0001, 0x3535: 0x0001, + 0x3536: 0x0001, 0x3537: 0x0001, 0x3538: 0x0001, 0x3539: 0x0001, 0x353a: 0x0001, 0x353b: 0x0001, + 0x353c: 0x0001, 0x353d: 0x0001, 0x353e: 0x0001, 0x353f: 0x0001, + // Block 0xd5, offset 0x3540 + 0x3540: 0x0001, 0x3541: 0x0001, 0x3542: 0x0001, 0x3543: 0x0001, 0x3544: 0x000c, 0x3545: 0x000c, + 0x3546: 0x000c, 0x3547: 0x000c, 0x3548: 0x000c, 0x3549: 0x000c, 0x354a: 0x000c, 0x354b: 0x0001, + 0x354c: 0x0001, 0x354d: 0x0001, 0x354e: 0x0001, 0x354f: 0x0001, 0x3550: 0x0001, 0x3551: 0x0001, + 0x3552: 0x0001, 0x3553: 0x0001, 0x3554: 0x0001, 0x3555: 0x0001, 0x3556: 0x0001, 0x3557: 0x0001, + 0x3558: 0x0001, 0x3559: 0x0001, 0x355a: 0x0001, 0x355b: 0x0001, 0x355c: 0x0001, 0x355d: 0x0001, + 0x355e: 0x0001, 0x355f: 0x0001, 0x3560: 0x0001, 0x3561: 0x0001, 0x3562: 0x0001, 0x3563: 0x0001, + 0x3564: 0x0001, 0x3565: 0x0001, 0x3566: 0x0001, 0x3567: 0x0001, 0x3568: 0x0001, 0x3569: 0x0001, + 0x356a: 0x0001, 0x356b: 0x0001, 0x356c: 0x0001, 0x356d: 0x0001, 0x356e: 0x0001, 0x356f: 0x0001, + 0x3570: 0x0001, 0x3571: 0x0001, 0x3572: 0x0001, 0x3573: 0x0001, 0x3574: 0x0001, 0x3575: 0x0001, + 0x3576: 0x0001, 0x3577: 0x0001, 0x3578: 0x0001, 0x3579: 0x0001, 0x357a: 0x0001, 0x357b: 0x0001, + 0x357c: 0x0001, 0x357d: 0x0001, 0x357e: 0x0001, 0x357f: 0x0001, + // Block 0xd6, offset 0x3580 + 0x3580: 0x000d, 0x3581: 0x000d, 0x3582: 0x000d, 0x3583: 0x000d, 0x3584: 0x000d, 0x3585: 0x000d, + 0x3586: 0x000d, 0x3587: 0x000d, 0x3588: 0x000d, 0x3589: 0x000d, 0x358a: 0x000d, 0x358b: 0x000d, + 0x358c: 0x000d, 0x358d: 0x000d, 0x358e: 0x000d, 0x358f: 0x000d, 0x3590: 0x000d, 0x3591: 0x000d, + 0x3592: 0x000d, 0x3593: 0x000d, 0x3594: 0x000d, 0x3595: 0x000d, 0x3596: 0x000d, 0x3597: 0x000d, + 0x3598: 0x000d, 0x3599: 0x000d, 0x359a: 0x000d, 0x359b: 0x000d, 0x359c: 0x000d, 0x359d: 0x000d, + 0x359e: 0x000d, 0x359f: 0x000d, 0x35a0: 0x000d, 0x35a1: 0x000d, 0x35a2: 0x000d, 0x35a3: 0x000d, + 0x35a4: 0x000d, 0x35a5: 0x000d, 0x35a6: 0x000d, 0x35a7: 0x000d, 0x35a8: 0x000d, 0x35a9: 0x000d, + 0x35aa: 0x000d, 0x35ab: 0x000d, 0x35ac: 0x000d, 0x35ad: 0x000d, 0x35ae: 0x000d, 0x35af: 0x000d, + 0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000d, 0x35b3: 0x000d, 0x35b4: 0x000d, 0x35b5: 0x000d, + 0x35b6: 0x000d, 0x35b7: 0x000d, 0x35b8: 0x000d, 0x35b9: 0x000d, 0x35ba: 0x000d, 0x35bb: 0x000d, + 0x35bc: 0x000d, 0x35bd: 0x000d, 0x35be: 0x000d, 0x35bf: 0x000d, + // Block 0xd7, offset 0x35c0 + 0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a, + 0x35c6: 0x000a, 0x35c7: 0x000a, 0x35c8: 0x000a, 0x35c9: 0x000a, 0x35ca: 0x000a, 0x35cb: 0x000a, + 0x35cc: 0x000a, 0x35cd: 0x000a, 0x35ce: 0x000a, 0x35cf: 0x000a, 0x35d0: 0x000a, 0x35d1: 0x000a, + 0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a, + 0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a, + 0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a, + 0x35ea: 0x000a, 0x35eb: 0x000a, + 0x35f0: 0x000a, 0x35f1: 0x000a, 0x35f2: 0x000a, 0x35f3: 0x000a, 0x35f4: 0x000a, 0x35f5: 0x000a, + 0x35f6: 0x000a, 0x35f7: 0x000a, 0x35f8: 0x000a, 0x35f9: 0x000a, 0x35fa: 0x000a, 0x35fb: 0x000a, + 0x35fc: 0x000a, 0x35fd: 0x000a, 0x35fe: 0x000a, 0x35ff: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a, + 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a, + 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, + 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a, + 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a, 0x362d: 0x000a, 0x362e: 0x000a, + 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a, + 0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a, 0x363f: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a, + 0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a, + 0x365e: 0x000a, 0x365f: 0x000a, 0x3660: 0x000a, 0x3661: 0x000a, 0x3662: 0x000a, 0x3663: 0x000a, + 0x3664: 0x000a, 0x3665: 0x000a, 0x3666: 0x000a, 0x3667: 0x000a, 0x3668: 0x000a, 0x3669: 0x000a, + 0x366a: 0x000a, 0x366b: 0x000a, 0x366c: 0x000a, 0x366d: 0x000a, 0x366e: 0x000a, 0x366f: 0x000a, + 0x3670: 0x000a, 0x3671: 0x000a, 0x3672: 0x000a, 0x3673: 0x000a, 0x3674: 0x000a, 0x3675: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x0002, 0x3681: 0x0002, 0x3682: 0x0002, 0x3683: 0x0002, 0x3684: 0x0002, 0x3685: 0x0002, + 0x3686: 0x0002, 0x3687: 0x0002, 0x3688: 0x0002, 0x3689: 0x0002, 0x368a: 0x0002, 0x368b: 0x000a, + 0x368c: 0x000a, + 0x36af: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36ea: 0x000a, 0x36eb: 0x000a, + // Block 0xdc, offset 0x3700 + 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x374c: 0x000a, 0x374d: 0x000a, 0x374e: 0x000a, 0x374f: 0x000a, 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, + 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, + 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, + // Block 0xde, offset 0x3780 + 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x378d: 0x000a, 0x378e: 0x000a, 0x378f: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a, + 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a, + 0x37d0: 0x000a, 0x37d1: 0x000a, + 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a, + 0x37d8: 0x000a, 0x37d9: 0x000a, 0x37da: 0x000a, 0x37db: 0x000a, 0x37dc: 0x000a, 0x37dd: 0x000a, + 0x37de: 0x000a, 0x37df: 0x000a, 0x37e0: 0x000a, 0x37e1: 0x000a, 0x37e2: 0x000a, 0x37e3: 0x000a, + 0x37e4: 0x000a, 0x37e5: 0x000a, 0x37e6: 0x000a, 0x37e7: 0x000a, 0x37e8: 0x000a, 0x37e9: 0x000a, + 0x37ea: 0x000a, 0x37eb: 0x000a, 0x37ec: 0x000a, 0x37ed: 0x000a, 0x37ee: 0x000a, 0x37ef: 0x000a, + 0x37f0: 0x000a, 0x37f1: 0x000a, 0x37f2: 0x000a, 0x37f3: 0x000a, 0x37f4: 0x000a, 0x37f5: 0x000a, + 0x37f6: 0x000a, 0x37f7: 0x000a, 0x37f8: 0x000a, 0x37f9: 0x000a, 0x37fa: 0x000a, 0x37fb: 0x000a, + 0x37fc: 0x000a, 0x37fd: 0x000a, 0x37fe: 0x000a, 0x37ff: 0x000a, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000a, 0x3801: 0x000a, 0x3802: 0x000a, 0x3803: 0x000a, 0x3804: 0x000a, 0x3805: 0x000a, + 0x3806: 0x000a, 0x3807: 0x000a, + 0x3810: 0x000a, 0x3811: 0x000a, + 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a, + 0x3818: 0x000a, 0x3819: 0x000a, + 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a, + 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a, 0x3827: 0x000a, 0x3828: 0x000a, 0x3829: 0x000a, + 0x382a: 0x000a, 0x382b: 0x000a, 0x382c: 0x000a, 0x382d: 0x000a, 0x382e: 0x000a, 0x382f: 0x000a, + 0x3830: 0x000a, 0x3831: 0x000a, 0x3832: 0x000a, 0x3833: 0x000a, 0x3834: 0x000a, 0x3835: 0x000a, + 0x3836: 0x000a, 0x3837: 0x000a, 0x3838: 0x000a, 0x3839: 0x000a, 0x383a: 0x000a, 0x383b: 0x000a, + 0x383c: 0x000a, 0x383d: 0x000a, 0x383e: 0x000a, 0x383f: 0x000a, + // Block 0xe1, offset 0x3840 + 0x3840: 0x000a, 0x3841: 0x000a, 0x3842: 0x000a, 0x3843: 0x000a, 0x3844: 0x000a, 0x3845: 0x000a, + 0x3846: 0x000a, 0x3847: 0x000a, + 0x3850: 0x000a, 0x3851: 0x000a, + 0x3852: 0x000a, 0x3853: 0x000a, 0x3854: 0x000a, 0x3855: 0x000a, 0x3856: 0x000a, 0x3857: 0x000a, + 0x3858: 0x000a, 0x3859: 0x000a, 0x385a: 0x000a, 0x385b: 0x000a, 0x385c: 0x000a, 0x385d: 0x000a, + 0x385e: 0x000a, 0x385f: 0x000a, 0x3860: 0x000a, 0x3861: 0x000a, 0x3862: 0x000a, 0x3863: 0x000a, + 0x3864: 0x000a, 0x3865: 0x000a, 0x3866: 0x000a, 0x3867: 0x000a, 0x3868: 0x000a, 0x3869: 0x000a, + 0x386a: 0x000a, 0x386b: 0x000a, 0x386c: 0x000a, 0x386d: 0x000a, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, + 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, + 0x3890: 0x000a, 0x3891: 0x000a, + 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, 0x3896: 0x000a, 0x3897: 0x000a, + 0x3898: 0x000a, 0x3899: 0x000a, 0x389a: 0x000a, 0x389b: 0x000a, 0x389c: 0x000a, 0x389d: 0x000a, + 0x389e: 0x000a, 0x389f: 0x000a, 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, + 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, + 0x38aa: 0x000a, 0x38ab: 0x000a, 0x38ac: 0x000a, 0x38ad: 0x000a, 0x38ae: 0x000a, 0x38af: 0x000a, + 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, + 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, 0x38bb: 0x000a, + 0x38bc: 0x000a, 0x38bd: 0x000a, 0x38be: 0x000a, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, + 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, + 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, + 0x38d2: 0x000a, 0x38d3: 0x000a, 0x38d4: 0x000a, 0x38d5: 0x000a, 0x38d6: 0x000a, 0x38d7: 0x000a, + 0x38d8: 0x000a, 0x38d9: 0x000a, 0x38da: 0x000a, 0x38db: 0x000a, 0x38dc: 0x000a, 0x38dd: 0x000a, + 0x38de: 0x000a, 0x38df: 0x000a, 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, + 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, + 0x38ea: 0x000a, 0x38eb: 0x000a, 0x38ec: 0x000a, 0x38ed: 0x000a, 0x38ee: 0x000a, 0x38ef: 0x000a, + 0x38f0: 0x000a, 0x38f3: 0x000a, 0x38f4: 0x000a, 0x38f5: 0x000a, + 0x38f6: 0x000a, 0x38fa: 0x000a, + 0x38fc: 0x000a, 0x38fd: 0x000a, 0x38fe: 0x000a, 0x38ff: 0x000a, + // Block 0xe4, offset 0x3900 + 0x3900: 0x000a, 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, + 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, + 0x390c: 0x000a, 0x390d: 0x000a, 0x390e: 0x000a, 0x390f: 0x000a, 0x3910: 0x000a, 0x3911: 0x000a, + 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, + 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, + 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, + 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, + 0x3936: 0x000a, 0x3937: 0x000a, 0x3938: 0x000a, 0x3939: 0x000a, + // Block 0xe5, offset 0x3940 + 0x3940: 0x000a, 0x3941: 0x000a, 0x3942: 0x000a, + 0x3950: 0x000a, 0x3951: 0x000a, + 0x3952: 0x000a, 0x3953: 0x000a, 0x3954: 0x000a, 0x3955: 0x000a, 0x3956: 0x000a, 0x3957: 0x000a, + 0x3958: 0x000a, 0x3959: 0x000a, 0x395a: 0x000a, 0x395b: 0x000a, 0x395c: 0x000a, 0x395d: 0x000a, + 0x395e: 0x000a, 0x395f: 0x000a, 0x3960: 0x000a, 0x3961: 0x000a, 0x3962: 0x000a, 0x3963: 0x000a, + 0x3964: 0x000a, 0x3965: 0x000a, 0x3966: 0x000a, 0x3967: 0x000a, 0x3968: 0x000a, 0x3969: 0x000a, + 0x396a: 0x000a, 0x396b: 0x000a, 0x396c: 0x000a, 0x396d: 0x000a, 0x396e: 0x000a, 0x396f: 0x000a, + 0x3970: 0x000a, 0x3971: 0x000a, 0x3972: 0x000a, 0x3973: 0x000a, 0x3974: 0x000a, 0x3975: 0x000a, + 0x3976: 0x000a, 0x3977: 0x000a, 0x3978: 0x000a, 0x3979: 0x000a, 0x397a: 0x000a, 0x397b: 0x000a, + 0x397c: 0x000a, 0x397d: 0x000a, 0x397e: 0x000a, 0x397f: 0x000a, + // Block 0xe6, offset 0x3980 + 0x39a0: 0x000a, 0x39a1: 0x000a, 0x39a2: 0x000a, 0x39a3: 0x000a, + 0x39a4: 0x000a, 0x39a5: 0x000a, 0x39a6: 0x000a, 0x39a7: 0x000a, 0x39a8: 0x000a, 0x39a9: 0x000a, + 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, + // Block 0xe7, offset 0x39c0 + 0x39fe: 0x000b, 0x39ff: 0x000b, + // Block 0xe8, offset 0x3a00 + 0x3a00: 0x000b, 0x3a01: 0x000b, 0x3a02: 0x000b, 0x3a03: 0x000b, 0x3a04: 0x000b, 0x3a05: 0x000b, + 0x3a06: 0x000b, 0x3a07: 0x000b, 0x3a08: 0x000b, 0x3a09: 0x000b, 0x3a0a: 0x000b, 0x3a0b: 0x000b, + 0x3a0c: 0x000b, 0x3a0d: 0x000b, 0x3a0e: 0x000b, 0x3a0f: 0x000b, 0x3a10: 0x000b, 0x3a11: 0x000b, + 0x3a12: 0x000b, 0x3a13: 0x000b, 0x3a14: 0x000b, 0x3a15: 0x000b, 0x3a16: 0x000b, 0x3a17: 0x000b, + 0x3a18: 0x000b, 0x3a19: 0x000b, 0x3a1a: 0x000b, 0x3a1b: 0x000b, 0x3a1c: 0x000b, 0x3a1d: 0x000b, + 0x3a1e: 0x000b, 0x3a1f: 0x000b, 0x3a20: 0x000b, 0x3a21: 0x000b, 0x3a22: 0x000b, 0x3a23: 0x000b, + 0x3a24: 0x000b, 0x3a25: 0x000b, 0x3a26: 0x000b, 0x3a27: 0x000b, 0x3a28: 0x000b, 0x3a29: 0x000b, + 0x3a2a: 0x000b, 0x3a2b: 0x000b, 0x3a2c: 0x000b, 0x3a2d: 0x000b, 0x3a2e: 0x000b, 0x3a2f: 0x000b, + 0x3a30: 0x000b, 0x3a31: 0x000b, 0x3a32: 0x000b, 0x3a33: 0x000b, 0x3a34: 0x000b, 0x3a35: 0x000b, + 0x3a36: 0x000b, 0x3a37: 0x000b, 0x3a38: 0x000b, 0x3a39: 0x000b, 0x3a3a: 0x000b, 0x3a3b: 0x000b, + 0x3a3c: 0x000b, 0x3a3d: 0x000b, 0x3a3e: 0x000b, 0x3a3f: 0x000b, + // Block 0xe9, offset 0x3a40 + 0x3a40: 0x000c, 0x3a41: 0x000c, 0x3a42: 0x000c, 0x3a43: 0x000c, 0x3a44: 0x000c, 0x3a45: 0x000c, + 0x3a46: 0x000c, 0x3a47: 0x000c, 0x3a48: 0x000c, 0x3a49: 0x000c, 0x3a4a: 0x000c, 0x3a4b: 0x000c, + 0x3a4c: 0x000c, 0x3a4d: 0x000c, 0x3a4e: 0x000c, 0x3a4f: 0x000c, 0x3a50: 0x000c, 0x3a51: 0x000c, + 0x3a52: 0x000c, 0x3a53: 0x000c, 0x3a54: 0x000c, 0x3a55: 0x000c, 0x3a56: 0x000c, 0x3a57: 0x000c, + 0x3a58: 0x000c, 0x3a59: 0x000c, 0x3a5a: 0x000c, 0x3a5b: 0x000c, 0x3a5c: 0x000c, 0x3a5d: 0x000c, + 0x3a5e: 0x000c, 0x3a5f: 0x000c, 0x3a60: 0x000c, 0x3a61: 0x000c, 0x3a62: 0x000c, 0x3a63: 0x000c, + 0x3a64: 0x000c, 0x3a65: 0x000c, 0x3a66: 0x000c, 0x3a67: 0x000c, 0x3a68: 0x000c, 0x3a69: 0x000c, + 0x3a6a: 0x000c, 0x3a6b: 0x000c, 0x3a6c: 0x000c, 0x3a6d: 0x000c, 0x3a6e: 0x000c, 0x3a6f: 0x000c, + 0x3a70: 0x000b, 0x3a71: 0x000b, 0x3a72: 0x000b, 0x3a73: 0x000b, 0x3a74: 0x000b, 0x3a75: 0x000b, + 0x3a76: 0x000b, 0x3a77: 0x000b, 0x3a78: 0x000b, 0x3a79: 0x000b, 0x3a7a: 0x000b, 0x3a7b: 0x000b, + 0x3a7c: 0x000b, 0x3a7d: 0x000b, 0x3a7e: 0x000b, 0x3a7f: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64, + 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67, + 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70, + 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x77, 0x253: 0x78, + 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e, + 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85, + 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a, + // Block 0xa, offset 0x280 + 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e, + 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97, + 0x2cb: 0x98, 0x2cd: 0x99, + 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a, + 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a, + 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9f, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a, + 0x2f8: 0x9a, 0x2f9: 0xa0, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0xa1, 0x2fd: 0xa2, 0x2fe: 0x9a, 0x2ff: 0x9a, + // Block 0xc, offset 0x300 + 0x300: 0xa3, 0x301: 0xa4, 0x302: 0xa5, 0x304: 0xa6, 0x305: 0xa7, 0x306: 0xa8, 0x307: 0xa9, + 0x308: 0xaa, 0x30b: 0xab, 0x30c: 0x26, 0x30d: 0xac, + 0x310: 0xad, 0x311: 0xae, 0x312: 0xaf, 0x313: 0xb0, 0x316: 0xb1, 0x317: 0xb2, + 0x318: 0xb3, 0x319: 0xb4, 0x31a: 0xb5, 0x31c: 0xb6, + 0x320: 0xb7, + 0x328: 0xb8, 0x329: 0xb9, 0x32a: 0xba, + 0x330: 0xbb, 0x332: 0xbc, 0x334: 0xbd, 0x335: 0xbe, 0x336: 0xbf, + 0x33b: 0xc0, + // Block 0xd, offset 0x340 + 0x36b: 0xc1, 0x36c: 0xc2, + 0x37e: 0xc3, + // Block 0xe, offset 0x380 + 0x3b2: 0xc4, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xc5, 0x3c6: 0xc6, + 0x3c8: 0x54, 0x3c9: 0xc7, 0x3cc: 0x54, 0x3cd: 0xc8, + 0x3db: 0xc9, 0x3dc: 0xca, 0x3dd: 0xcb, 0x3de: 0xcc, 0x3df: 0xcd, + 0x3e8: 0xce, 0x3e9: 0xcf, 0x3ea: 0xd0, + // Block 0x10, offset 0x400 + 0x400: 0xd1, + 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xd2, 0x424: 0x9a, 0x425: 0xd3, 0x426: 0x9a, 0x427: 0x9a, + 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a, + 0x430: 0x9a, 0x431: 0xa1, 0x432: 0x0e, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xd4, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a, + // Block 0x11, offset 0x440 + 0x440: 0xd5, 0x441: 0x54, 0x442: 0xd6, 0x443: 0xd7, 0x444: 0xd8, 0x445: 0xd9, + 0x449: 0xda, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xdb, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xdc, + 0x460: 0xdd, 0x461: 0xde, 0x462: 0xdf, 0x464: 0xe0, 0x465: 0xe1, 0x466: 0xe2, 0x467: 0xe3, + 0x469: 0xe4, + 0x47f: 0xe5, + // Block 0x12, offset 0x480 + 0x4bf: 0xe5, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xe6, 0x541: 0xe6, 0x542: 0xe6, 0x543: 0xe6, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe7, + 0x548: 0xe6, 0x549: 0xe6, 0x54a: 0xe6, 0x54b: 0xe6, 0x54c: 0xe6, 0x54d: 0xe6, 0x54e: 0xe6, 0x54f: 0xe6, + 0x550: 0xe6, 0x551: 0xe6, 0x552: 0xe6, 0x553: 0xe6, 0x554: 0xe6, 0x555: 0xe6, 0x556: 0xe6, 0x557: 0xe6, + 0x558: 0xe6, 0x559: 0xe6, 0x55a: 0xe6, 0x55b: 0xe6, 0x55c: 0xe6, 0x55d: 0xe6, 0x55e: 0xe6, 0x55f: 0xe6, + 0x560: 0xe6, 0x561: 0xe6, 0x562: 0xe6, 0x563: 0xe6, 0x564: 0xe6, 0x565: 0xe6, 0x566: 0xe6, 0x567: 0xe6, + 0x568: 0xe6, 0x569: 0xe6, 0x56a: 0xe6, 0x56b: 0xe6, 0x56c: 0xe6, 0x56d: 0xe6, 0x56e: 0xe6, 0x56f: 0xe6, + 0x570: 0xe6, 0x571: 0xe6, 0x572: 0xe6, 0x573: 0xe6, 0x574: 0xe6, 0x575: 0xe6, 0x576: 0xe6, 0x577: 0xe6, + 0x578: 0xe6, 0x579: 0xe6, 0x57a: 0xe6, 0x57b: 0xe6, 0x57c: 0xe6, 0x57d: 0xe6, 0x57e: 0xe6, 0x57f: 0xe6, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 16568 bytes (16KiB); checksum: F50EF68C diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go new file mode 100644 index 0000000..0ca0193 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go @@ -0,0 +1,1781 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build !go1.10 + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 15744 bytes (15.38 KiB). Checksum: b4c3b70954803b86. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 222 blocks, 14208 entries, 14208 bytes +// The third block is the zero block. +var bidiValues = [14208]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x0001, 0x5e1: 0x0001, 0x5e2: 0x0001, 0x5e3: 0x0001, + 0x5e4: 0x0001, 0x5e5: 0x0001, 0x5e6: 0x0001, 0x5e7: 0x0001, 0x5e8: 0x0001, 0x5e9: 0x0001, + 0x5ea: 0x0001, 0x5eb: 0x0001, 0x5ec: 0x0001, 0x5ed: 0x0001, 0x5ee: 0x0001, 0x5ef: 0x0001, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa01: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, 0x16e7: 0x000a, 0x16e8: 0x000a, 0x16e9: 0x000a, + 0x16ea: 0x000a, 0x16eb: 0x000a, 0x16ec: 0x000a, 0x16ed: 0x000a, 0x16ee: 0x000a, 0x16ef: 0x000a, + 0x16f0: 0x000a, 0x16f1: 0x000a, 0x16f2: 0x000a, 0x16f3: 0x000a, 0x16f4: 0x000a, 0x16f5: 0x000a, + 0x16f6: 0x000a, 0x16f7: 0x000a, 0x16f8: 0x000a, 0x16f9: 0x000a, 0x16fa: 0x000a, 0x16fb: 0x000a, + 0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a, + 0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a, + 0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1715: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a, + 0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a, + 0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a, + 0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a, + 0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, 0x1767: 0x000a, 0x1768: 0x000a, 0x1769: 0x000a, + 0x176a: 0x000a, 0x176b: 0x000a, 0x176c: 0x000a, 0x176d: 0x000a, 0x176e: 0x000a, 0x176f: 0x000a, + 0x1770: 0x000a, 0x1771: 0x000a, 0x1772: 0x000a, 0x1773: 0x000a, 0x1774: 0x000a, 0x1775: 0x000a, + 0x1776: 0x000a, 0x1777: 0x000a, 0x1778: 0x000a, 0x1779: 0x000a, 0x177a: 0x000a, 0x177b: 0x000a, + 0x177c: 0x000a, 0x177d: 0x000a, 0x177e: 0x000a, 0x177f: 0x000a, + // Block 0x5e, offset 0x1780 + 0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a, + 0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x0002, 0x1789: 0x0002, 0x178a: 0x0002, 0x178b: 0x0002, + 0x178c: 0x0002, 0x178d: 0x0002, 0x178e: 0x0002, 0x178f: 0x0002, 0x1790: 0x0002, 0x1791: 0x0002, + 0x1792: 0x0002, 0x1793: 0x0002, 0x1794: 0x0002, 0x1795: 0x0002, 0x1796: 0x0002, 0x1797: 0x0002, + 0x1798: 0x0002, 0x1799: 0x0002, 0x179a: 0x0002, 0x179b: 0x0002, + // Block 0x5f, offset 0x17c0 + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ec: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x000a, 0x1829: 0x000a, + 0x182a: 0x000a, 0x182b: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a, + 0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a, + 0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x003a, 0x1871: 0x002a, 0x1872: 0x003a, 0x1873: 0x002a, 0x1874: 0x003a, 0x1875: 0x002a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a, + 0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a, + 0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a, + 0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x003a, 0x18a7: 0x002a, 0x18a8: 0x003a, 0x18a9: 0x002a, + 0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x007a, 0x18c4: 0x006a, 0x18c5: 0x009a, + 0x18c6: 0x008a, 0x18c7: 0x00ba, 0x18c8: 0x00aa, 0x18c9: 0x009a, 0x18ca: 0x008a, 0x18cb: 0x007a, + 0x18cc: 0x006a, 0x18cd: 0x00da, 0x18ce: 0x002a, 0x18cf: 0x003a, 0x18d0: 0x00ca, 0x18d1: 0x009a, + 0x18d2: 0x008a, 0x18d3: 0x007a, 0x18d4: 0x006a, 0x18d5: 0x009a, 0x18d6: 0x008a, 0x18d7: 0x00ba, + 0x18d8: 0x00aa, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x003a, 0x1919: 0x002a, 0x191a: 0x003a, 0x191b: 0x002a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x003a, 0x193d: 0x002a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, + 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, + 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, + 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, + 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, + 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a, + 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, + 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a, + 0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a, + 0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a, + 0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a, + 0x1a2a: 0x000a, 0x1a2f: 0x000c, + 0x1a30: 0x000c, 0x1a31: 0x000c, + 0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a, + 0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a, + // Block 0x69, offset 0x1a40 + 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c, + 0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c, + 0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c, + 0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c, + 0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c, + 0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, + 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, + 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, + 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, + 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a, + 0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a, + 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, + 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, + 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, + 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, + 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, + 0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a, + 0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, + 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a, + 0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a, + 0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a, + 0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a, + 0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a, + 0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a, + 0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a, + 0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a, + 0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a, + 0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a, + 0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a, + 0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c, + 0x1c30: 0x000a, + 0x1c36: 0x000a, 0x1c37: 0x000a, + 0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a, + 0x1c60: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1cbb: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a, + 0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a, + 0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a, + 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, + 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, + 0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d1d: 0x000a, + 0x1d1e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d50: 0x000a, 0x1d51: 0x000a, + 0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a, + 0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a, + 0x1d5e: 0x000a, 0x1d5f: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a, + 0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a, + 0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e5e: 0x000a, 0x1e5f: 0x000a, + 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e90: 0x000a, 0x1e91: 0x000a, + 0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a, + 0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a, + 0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a, + 0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a, + 0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a, + 0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a, + 0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a, + 0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a, + 0x1ec6: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f6f: 0x000c, + 0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c, + 0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c, + 0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a, + // Block 0x7e, offset 0x1f80 + 0x1f9e: 0x000c, 0x1f9f: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1ff0: 0x000c, 0x1ff1: 0x000c, + // Block 0x80, offset 0x2000 + 0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a, + 0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a, + 0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a, + 0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a, + 0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a, + 0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a, + // Block 0x81, offset 0x2040 + 0x2048: 0x000a, + // Block 0x82, offset 0x2080 + 0x2082: 0x000c, + 0x2086: 0x000c, 0x208b: 0x000c, + 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a, + 0x20aa: 0x000a, 0x20ab: 0x000a, + 0x20b8: 0x0004, 0x20b9: 0x0004, + // Block 0x83, offset 0x20c0 + 0x20f4: 0x000a, 0x20f5: 0x000a, + 0x20f6: 0x000a, 0x20f7: 0x000a, + // Block 0x84, offset 0x2100 + 0x2104: 0x000c, 0x2105: 0x000c, + 0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c, + 0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c, + 0x2130: 0x000c, 0x2131: 0x000c, + // Block 0x85, offset 0x2140 + 0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c, + 0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c, + // Block 0x86, offset 0x2180 + 0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c, + 0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c, + 0x21f3: 0x000c, + 0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c, + 0x21fc: 0x000c, + // Block 0x88, offset 0x2200 + 0x2225: 0x000c, + // Block 0x89, offset 0x2240 + 0x2269: 0x000c, + 0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c, + 0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c, + 0x2276: 0x000c, + // Block 0x8a, offset 0x2280 + 0x2283: 0x000c, + 0x228c: 0x000c, + 0x22bc: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c, + 0x22f7: 0x000c, 0x22f8: 0x000c, + 0x22fe: 0x000c, 0x22ff: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2301: 0x000c, + 0x232c: 0x000c, 0x232d: 0x000c, + 0x2336: 0x000c, + // Block 0x8d, offset 0x2340 + 0x2365: 0x000c, 0x2368: 0x000c, + 0x236d: 0x000c, + // Block 0x8e, offset 0x2380 + 0x239d: 0x0001, + 0x239e: 0x000c, 0x239f: 0x0001, 0x23a0: 0x0001, 0x23a1: 0x0001, 0x23a2: 0x0001, 0x23a3: 0x0001, + 0x23a4: 0x0001, 0x23a5: 0x0001, 0x23a6: 0x0001, 0x23a7: 0x0001, 0x23a8: 0x0001, 0x23a9: 0x0003, + 0x23aa: 0x0001, 0x23ab: 0x0001, 0x23ac: 0x0001, 0x23ad: 0x0001, 0x23ae: 0x0001, 0x23af: 0x0001, + 0x23b0: 0x0001, 0x23b1: 0x0001, 0x23b2: 0x0001, 0x23b3: 0x0001, 0x23b4: 0x0001, 0x23b5: 0x0001, + 0x23b6: 0x0001, 0x23b7: 0x0001, 0x23b8: 0x0001, 0x23b9: 0x0001, 0x23ba: 0x0001, 0x23bb: 0x0001, + 0x23bc: 0x0001, 0x23bd: 0x0001, 0x23be: 0x0001, 0x23bf: 0x0001, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x0001, 0x23c1: 0x0001, 0x23c2: 0x0001, 0x23c3: 0x0001, 0x23c4: 0x0001, 0x23c5: 0x0001, + 0x23c6: 0x0001, 0x23c7: 0x0001, 0x23c8: 0x0001, 0x23c9: 0x0001, 0x23ca: 0x0001, 0x23cb: 0x0001, + 0x23cc: 0x0001, 0x23cd: 0x0001, 0x23ce: 0x0001, 0x23cf: 0x0001, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000d, 0x23ff: 0x000d, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000d, 0x2411: 0x000d, + 0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d, + 0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d, + 0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d, + 0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d, + 0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000a, 0x243f: 0x000a, + // Block 0x91, offset 0x2440 + 0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d, + 0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d, + 0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000b, 0x2451: 0x000b, + 0x2452: 0x000b, 0x2453: 0x000b, 0x2454: 0x000b, 0x2455: 0x000b, 0x2456: 0x000b, 0x2457: 0x000b, + 0x2458: 0x000b, 0x2459: 0x000b, 0x245a: 0x000b, 0x245b: 0x000b, 0x245c: 0x000b, 0x245d: 0x000b, + 0x245e: 0x000b, 0x245f: 0x000b, 0x2460: 0x000b, 0x2461: 0x000b, 0x2462: 0x000b, 0x2463: 0x000b, + 0x2464: 0x000b, 0x2465: 0x000b, 0x2466: 0x000b, 0x2467: 0x000b, 0x2468: 0x000b, 0x2469: 0x000b, + 0x246a: 0x000b, 0x246b: 0x000b, 0x246c: 0x000b, 0x246d: 0x000b, 0x246e: 0x000b, 0x246f: 0x000b, + 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, + 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, + 0x247c: 0x000d, 0x247d: 0x000a, 0x247e: 0x000d, 0x247f: 0x000d, + // Block 0x92, offset 0x2480 + 0x2480: 0x000c, 0x2481: 0x000c, 0x2482: 0x000c, 0x2483: 0x000c, 0x2484: 0x000c, 0x2485: 0x000c, + 0x2486: 0x000c, 0x2487: 0x000c, 0x2488: 0x000c, 0x2489: 0x000c, 0x248a: 0x000c, 0x248b: 0x000c, + 0x248c: 0x000c, 0x248d: 0x000c, 0x248e: 0x000c, 0x248f: 0x000c, 0x2490: 0x000a, 0x2491: 0x000a, + 0x2492: 0x000a, 0x2493: 0x000a, 0x2494: 0x000a, 0x2495: 0x000a, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x000a, + 0x24a0: 0x000c, 0x24a1: 0x000c, 0x24a2: 0x000c, 0x24a3: 0x000c, + 0x24a4: 0x000c, 0x24a5: 0x000c, 0x24a6: 0x000c, 0x24a7: 0x000c, 0x24a8: 0x000c, 0x24a9: 0x000c, + 0x24aa: 0x000c, 0x24ab: 0x000c, 0x24ac: 0x000c, 0x24ad: 0x000c, 0x24ae: 0x000c, 0x24af: 0x000c, + 0x24b0: 0x000a, 0x24b1: 0x000a, 0x24b2: 0x000a, 0x24b3: 0x000a, 0x24b4: 0x000a, 0x24b5: 0x000a, + 0x24b6: 0x000a, 0x24b7: 0x000a, 0x24b8: 0x000a, 0x24b9: 0x000a, 0x24ba: 0x000a, 0x24bb: 0x000a, + 0x24bc: 0x000a, 0x24bd: 0x000a, 0x24be: 0x000a, 0x24bf: 0x000a, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000a, 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x000a, 0x24c4: 0x000a, 0x24c5: 0x000a, + 0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x000a, 0x24c9: 0x000a, 0x24ca: 0x000a, 0x24cb: 0x000a, + 0x24cc: 0x000a, 0x24cd: 0x000a, 0x24ce: 0x000a, 0x24cf: 0x000a, 0x24d0: 0x0006, 0x24d1: 0x000a, + 0x24d2: 0x0006, 0x24d4: 0x000a, 0x24d5: 0x0006, 0x24d6: 0x000a, 0x24d7: 0x000a, + 0x24d8: 0x000a, 0x24d9: 0x009a, 0x24da: 0x008a, 0x24db: 0x007a, 0x24dc: 0x006a, 0x24dd: 0x009a, + 0x24de: 0x008a, 0x24df: 0x0004, 0x24e0: 0x000a, 0x24e1: 0x000a, 0x24e2: 0x0003, 0x24e3: 0x0003, + 0x24e4: 0x000a, 0x24e5: 0x000a, 0x24e6: 0x000a, 0x24e8: 0x000a, 0x24e9: 0x0004, + 0x24ea: 0x0004, 0x24eb: 0x000a, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000d, + // Block 0x94, offset 0x2500 + 0x2500: 0x000d, 0x2501: 0x000d, 0x2502: 0x000d, 0x2503: 0x000d, 0x2504: 0x000d, 0x2505: 0x000d, + 0x2506: 0x000d, 0x2507: 0x000d, 0x2508: 0x000d, 0x2509: 0x000d, 0x250a: 0x000d, 0x250b: 0x000d, + 0x250c: 0x000d, 0x250d: 0x000d, 0x250e: 0x000d, 0x250f: 0x000d, 0x2510: 0x000d, 0x2511: 0x000d, + 0x2512: 0x000d, 0x2513: 0x000d, 0x2514: 0x000d, 0x2515: 0x000d, 0x2516: 0x000d, 0x2517: 0x000d, + 0x2518: 0x000d, 0x2519: 0x000d, 0x251a: 0x000d, 0x251b: 0x000d, 0x251c: 0x000d, 0x251d: 0x000d, + 0x251e: 0x000d, 0x251f: 0x000d, 0x2520: 0x000d, 0x2521: 0x000d, 0x2522: 0x000d, 0x2523: 0x000d, + 0x2524: 0x000d, 0x2525: 0x000d, 0x2526: 0x000d, 0x2527: 0x000d, 0x2528: 0x000d, 0x2529: 0x000d, + 0x252a: 0x000d, 0x252b: 0x000d, 0x252c: 0x000d, 0x252d: 0x000d, 0x252e: 0x000d, 0x252f: 0x000d, + 0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d, + 0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d, + 0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000b, + // Block 0x95, offset 0x2540 + 0x2541: 0x000a, 0x2542: 0x000a, 0x2543: 0x0004, 0x2544: 0x0004, 0x2545: 0x0004, + 0x2546: 0x000a, 0x2547: 0x000a, 0x2548: 0x003a, 0x2549: 0x002a, 0x254a: 0x000a, 0x254b: 0x0003, + 0x254c: 0x0006, 0x254d: 0x0003, 0x254e: 0x0006, 0x254f: 0x0006, 0x2550: 0x0002, 0x2551: 0x0002, + 0x2552: 0x0002, 0x2553: 0x0002, 0x2554: 0x0002, 0x2555: 0x0002, 0x2556: 0x0002, 0x2557: 0x0002, + 0x2558: 0x0002, 0x2559: 0x0002, 0x255a: 0x0006, 0x255b: 0x000a, 0x255c: 0x000a, 0x255d: 0x000a, + 0x255e: 0x000a, 0x255f: 0x000a, 0x2560: 0x000a, + 0x257b: 0x005a, + 0x257c: 0x000a, 0x257d: 0x004a, 0x257e: 0x000a, 0x257f: 0x000a, + // Block 0x96, offset 0x2580 + 0x2580: 0x000a, + 0x259b: 0x005a, 0x259c: 0x000a, 0x259d: 0x004a, + 0x259e: 0x000a, 0x259f: 0x00fa, 0x25a0: 0x00ea, 0x25a1: 0x000a, 0x25a2: 0x003a, 0x25a3: 0x002a, + 0x25a4: 0x000a, 0x25a5: 0x000a, + // Block 0x97, offset 0x25c0 + 0x25e0: 0x0004, 0x25e1: 0x0004, 0x25e2: 0x000a, 0x25e3: 0x000a, + 0x25e4: 0x000a, 0x25e5: 0x0004, 0x25e6: 0x0004, 0x25e8: 0x000a, 0x25e9: 0x000a, + 0x25ea: 0x000a, 0x25eb: 0x000a, 0x25ec: 0x000a, 0x25ed: 0x000a, 0x25ee: 0x000a, + 0x25f0: 0x000b, 0x25f1: 0x000b, 0x25f2: 0x000b, 0x25f3: 0x000b, 0x25f4: 0x000b, 0x25f5: 0x000b, + 0x25f6: 0x000b, 0x25f7: 0x000b, 0x25f8: 0x000b, 0x25f9: 0x000a, 0x25fa: 0x000a, 0x25fb: 0x000a, + 0x25fc: 0x000a, 0x25fd: 0x000a, 0x25fe: 0x000b, 0x25ff: 0x000b, + // Block 0x98, offset 0x2600 + 0x2601: 0x000a, + // Block 0x99, offset 0x2640 + 0x2640: 0x000a, 0x2641: 0x000a, 0x2642: 0x000a, 0x2643: 0x000a, 0x2644: 0x000a, 0x2645: 0x000a, + 0x2646: 0x000a, 0x2647: 0x000a, 0x2648: 0x000a, 0x2649: 0x000a, 0x264a: 0x000a, 0x264b: 0x000a, + 0x264c: 0x000a, 0x2650: 0x000a, 0x2651: 0x000a, + 0x2652: 0x000a, 0x2653: 0x000a, 0x2654: 0x000a, 0x2655: 0x000a, 0x2656: 0x000a, 0x2657: 0x000a, + 0x2658: 0x000a, 0x2659: 0x000a, 0x265a: 0x000a, 0x265b: 0x000a, + 0x2660: 0x000a, + // Block 0x9a, offset 0x2680 + 0x26bd: 0x000c, + // Block 0x9b, offset 0x26c0 + 0x26e0: 0x000c, 0x26e1: 0x0002, 0x26e2: 0x0002, 0x26e3: 0x0002, + 0x26e4: 0x0002, 0x26e5: 0x0002, 0x26e6: 0x0002, 0x26e7: 0x0002, 0x26e8: 0x0002, 0x26e9: 0x0002, + 0x26ea: 0x0002, 0x26eb: 0x0002, 0x26ec: 0x0002, 0x26ed: 0x0002, 0x26ee: 0x0002, 0x26ef: 0x0002, + 0x26f0: 0x0002, 0x26f1: 0x0002, 0x26f2: 0x0002, 0x26f3: 0x0002, 0x26f4: 0x0002, 0x26f5: 0x0002, + 0x26f6: 0x0002, 0x26f7: 0x0002, 0x26f8: 0x0002, 0x26f9: 0x0002, 0x26fa: 0x0002, 0x26fb: 0x0002, + // Block 0x9c, offset 0x2700 + 0x2736: 0x000c, 0x2737: 0x000c, 0x2738: 0x000c, 0x2739: 0x000c, 0x273a: 0x000c, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, + 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x000a, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x000c, 0x27c2: 0x000c, 0x27c3: 0x000c, 0x27c4: 0x0001, 0x27c5: 0x000c, + 0x27c6: 0x000c, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x000c, 0x27cd: 0x000c, 0x27ce: 0x000c, 0x27cf: 0x000c, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x000c, 0x27f9: 0x000c, 0x27fa: 0x000c, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x000c, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x0001, 0x283a: 0x0001, 0x283b: 0x0001, + 0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x0001, + // Block 0xa1, offset 0x2840 + 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, + 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, + 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, + 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, + 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001, + 0x2864: 0x0001, 0x2865: 0x0001, 0x2866: 0x0001, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001, + 0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001, + 0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001, + 0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x000a, 0x287a: 0x000a, 0x287b: 0x000a, + 0x287c: 0x000a, 0x287d: 0x000a, 0x287e: 0x000a, 0x287f: 0x000a, + // Block 0xa2, offset 0x2880 + 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, + 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, + 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, + 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, + 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, + 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005, + 0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005, + 0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005, + 0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005, + 0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005, + 0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001, + // Block 0xa3, offset 0x28c0 + 0x28c1: 0x000c, + 0x28f8: 0x000c, 0x28f9: 0x000c, 0x28fa: 0x000c, 0x28fb: 0x000c, + 0x28fc: 0x000c, 0x28fd: 0x000c, 0x28fe: 0x000c, 0x28ff: 0x000c, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000c, 0x2901: 0x000c, 0x2902: 0x000c, 0x2903: 0x000c, 0x2904: 0x000c, 0x2905: 0x000c, + 0x2906: 0x000c, + 0x2912: 0x000a, 0x2913: 0x000a, 0x2914: 0x000a, 0x2915: 0x000a, 0x2916: 0x000a, 0x2917: 0x000a, + 0x2918: 0x000a, 0x2919: 0x000a, 0x291a: 0x000a, 0x291b: 0x000a, 0x291c: 0x000a, 0x291d: 0x000a, + 0x291e: 0x000a, 0x291f: 0x000a, 0x2920: 0x000a, 0x2921: 0x000a, 0x2922: 0x000a, 0x2923: 0x000a, + 0x2924: 0x000a, 0x2925: 0x000a, + 0x293f: 0x000c, + // Block 0xa5, offset 0x2940 + 0x2940: 0x000c, 0x2941: 0x000c, + 0x2973: 0x000c, 0x2974: 0x000c, 0x2975: 0x000c, + 0x2976: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c, + // Block 0xa6, offset 0x2980 + 0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c, + 0x29a7: 0x000c, 0x29a8: 0x000c, 0x29a9: 0x000c, + 0x29aa: 0x000c, 0x29ab: 0x000c, 0x29ad: 0x000c, 0x29ae: 0x000c, 0x29af: 0x000c, + 0x29b0: 0x000c, 0x29b1: 0x000c, 0x29b2: 0x000c, 0x29b3: 0x000c, 0x29b4: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29f3: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a00: 0x000c, 0x2a01: 0x000c, + 0x2a36: 0x000c, 0x2a37: 0x000c, 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c, + 0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a4a: 0x000c, 0x2a4b: 0x000c, + 0x2a4c: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2aaf: 0x000c, + 0x2ab0: 0x000c, 0x2ab1: 0x000c, 0x2ab4: 0x000c, + 0x2ab6: 0x000c, 0x2ab7: 0x000c, + 0x2abe: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2adf: 0x000c, 0x2ae3: 0x000c, + 0x2ae4: 0x000c, 0x2ae5: 0x000c, 0x2ae6: 0x000c, 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c, + 0x2aea: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b00: 0x000c, 0x2b01: 0x000c, + 0x2b3c: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b40: 0x000c, + 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, + 0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c, + 0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c, + 0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c, + 0x2bc6: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c, + 0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c, + 0x2c3f: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c, + 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cc0: 0x000c, + 0x2cdc: 0x000c, 0x2cdd: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, + 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c, + 0x2d3d: 0x000c, 0x2d3f: 0x000c, + // Block 0xb5, offset 0x2d40 + 0x2d40: 0x000c, + 0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a, + 0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a, + 0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a, + // Block 0xb6, offset 0x2d80 + 0x2dab: 0x000c, 0x2dad: 0x000c, + 0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, + 0x2db7: 0x000c, + // Block 0xb7, offset 0x2dc0 + 0x2ddd: 0x000c, + 0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c, + 0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c, + 0x2dea: 0x000c, 0x2deb: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, + 0x2e36: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, 0x2e3b: 0x000c, + 0x2e3c: 0x000c, 0x2e3d: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c, + 0x2e58: 0x000c, 0x2e59: 0x000c, 0x2e5a: 0x000c, 0x2e5b: 0x000c, 0x2e5c: 0x000c, 0x2e5d: 0x000c, + 0x2e5e: 0x000c, 0x2e5f: 0x000c, 0x2e60: 0x000c, 0x2e61: 0x000c, 0x2e62: 0x000c, 0x2e63: 0x000c, + 0x2e64: 0x000c, 0x2e65: 0x000c, 0x2e66: 0x000c, 0x2e67: 0x000c, + 0x2e6a: 0x000c, 0x2e6b: 0x000c, 0x2e6c: 0x000c, 0x2e6d: 0x000c, 0x2e6e: 0x000c, 0x2e6f: 0x000c, + 0x2e70: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e75: 0x000c, + 0x2e76: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ef0: 0x000c, 0x2ef1: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef4: 0x000c, 0x2ef5: 0x000c, + 0x2ef6: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, + 0x2f12: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f5d: 0x000c, + 0x2f5e: 0x000c, 0x2f60: 0x000b, 0x2f61: 0x000b, 0x2f62: 0x000b, 0x2f63: 0x000b, + // Block 0xbe, offset 0x2f80 + 0x2fa7: 0x000c, 0x2fa8: 0x000c, 0x2fa9: 0x000c, + 0x2fb3: 0x000b, 0x2fb4: 0x000b, 0x2fb5: 0x000b, + 0x2fb6: 0x000b, 0x2fb7: 0x000b, 0x2fb8: 0x000b, 0x2fb9: 0x000b, 0x2fba: 0x000b, 0x2fbb: 0x000c, + 0x2fbc: 0x000c, 0x2fbd: 0x000c, 0x2fbe: 0x000c, 0x2fbf: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2fc0: 0x000c, 0x2fc1: 0x000c, 0x2fc2: 0x000c, 0x2fc5: 0x000c, + 0x2fc6: 0x000c, 0x2fc7: 0x000c, 0x2fc8: 0x000c, 0x2fc9: 0x000c, 0x2fca: 0x000c, 0x2fcb: 0x000c, + 0x2fea: 0x000c, 0x2feb: 0x000c, 0x2fec: 0x000c, 0x2fed: 0x000c, + // Block 0xc0, offset 0x3000 + 0x3000: 0x000a, 0x3001: 0x000a, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000a, + // Block 0xc1, offset 0x3040 + 0x3040: 0x000a, 0x3041: 0x000a, 0x3042: 0x000a, 0x3043: 0x000a, 0x3044: 0x000a, 0x3045: 0x000a, + 0x3046: 0x000a, 0x3047: 0x000a, 0x3048: 0x000a, 0x3049: 0x000a, 0x304a: 0x000a, 0x304b: 0x000a, + 0x304c: 0x000a, 0x304d: 0x000a, 0x304e: 0x000a, 0x304f: 0x000a, 0x3050: 0x000a, 0x3051: 0x000a, + 0x3052: 0x000a, 0x3053: 0x000a, 0x3054: 0x000a, 0x3055: 0x000a, 0x3056: 0x000a, + // Block 0xc2, offset 0x3080 + 0x309b: 0x000a, + // Block 0xc3, offset 0x30c0 + 0x30d5: 0x000a, + // Block 0xc4, offset 0x3100 + 0x310f: 0x000a, + // Block 0xc5, offset 0x3140 + 0x3149: 0x000a, + // Block 0xc6, offset 0x3180 + 0x3183: 0x000a, + 0x318e: 0x0002, 0x318f: 0x0002, 0x3190: 0x0002, 0x3191: 0x0002, + 0x3192: 0x0002, 0x3193: 0x0002, 0x3194: 0x0002, 0x3195: 0x0002, 0x3196: 0x0002, 0x3197: 0x0002, + 0x3198: 0x0002, 0x3199: 0x0002, 0x319a: 0x0002, 0x319b: 0x0002, 0x319c: 0x0002, 0x319d: 0x0002, + 0x319e: 0x0002, 0x319f: 0x0002, 0x31a0: 0x0002, 0x31a1: 0x0002, 0x31a2: 0x0002, 0x31a3: 0x0002, + 0x31a4: 0x0002, 0x31a5: 0x0002, 0x31a6: 0x0002, 0x31a7: 0x0002, 0x31a8: 0x0002, 0x31a9: 0x0002, + 0x31aa: 0x0002, 0x31ab: 0x0002, 0x31ac: 0x0002, 0x31ad: 0x0002, 0x31ae: 0x0002, 0x31af: 0x0002, + 0x31b0: 0x0002, 0x31b1: 0x0002, 0x31b2: 0x0002, 0x31b3: 0x0002, 0x31b4: 0x0002, 0x31b5: 0x0002, + 0x31b6: 0x0002, 0x31b7: 0x0002, 0x31b8: 0x0002, 0x31b9: 0x0002, 0x31ba: 0x0002, 0x31bb: 0x0002, + 0x31bc: 0x0002, 0x31bd: 0x0002, 0x31be: 0x0002, 0x31bf: 0x0002, + // Block 0xc7, offset 0x31c0 + 0x31c0: 0x000c, 0x31c1: 0x000c, 0x31c2: 0x000c, 0x31c3: 0x000c, 0x31c4: 0x000c, 0x31c5: 0x000c, + 0x31c6: 0x000c, 0x31c7: 0x000c, 0x31c8: 0x000c, 0x31c9: 0x000c, 0x31ca: 0x000c, 0x31cb: 0x000c, + 0x31cc: 0x000c, 0x31cd: 0x000c, 0x31ce: 0x000c, 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c, + 0x31d2: 0x000c, 0x31d3: 0x000c, 0x31d4: 0x000c, 0x31d5: 0x000c, 0x31d6: 0x000c, 0x31d7: 0x000c, + 0x31d8: 0x000c, 0x31d9: 0x000c, 0x31da: 0x000c, 0x31db: 0x000c, 0x31dc: 0x000c, 0x31dd: 0x000c, + 0x31de: 0x000c, 0x31df: 0x000c, 0x31e0: 0x000c, 0x31e1: 0x000c, 0x31e2: 0x000c, 0x31e3: 0x000c, + 0x31e4: 0x000c, 0x31e5: 0x000c, 0x31e6: 0x000c, 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c, + 0x31ea: 0x000c, 0x31eb: 0x000c, 0x31ec: 0x000c, 0x31ed: 0x000c, 0x31ee: 0x000c, 0x31ef: 0x000c, + 0x31f0: 0x000c, 0x31f1: 0x000c, 0x31f2: 0x000c, 0x31f3: 0x000c, 0x31f4: 0x000c, 0x31f5: 0x000c, + 0x31f6: 0x000c, 0x31fb: 0x000c, + 0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c, + // Block 0xc8, offset 0x3200 + 0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3203: 0x000c, 0x3204: 0x000c, 0x3205: 0x000c, + 0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c, + 0x320c: 0x000c, 0x320d: 0x000c, 0x320e: 0x000c, 0x320f: 0x000c, 0x3210: 0x000c, 0x3211: 0x000c, + 0x3212: 0x000c, 0x3213: 0x000c, 0x3214: 0x000c, 0x3215: 0x000c, 0x3216: 0x000c, 0x3217: 0x000c, + 0x3218: 0x000c, 0x3219: 0x000c, 0x321a: 0x000c, 0x321b: 0x000c, 0x321c: 0x000c, 0x321d: 0x000c, + 0x321e: 0x000c, 0x321f: 0x000c, 0x3220: 0x000c, 0x3221: 0x000c, 0x3222: 0x000c, 0x3223: 0x000c, + 0x3224: 0x000c, 0x3225: 0x000c, 0x3226: 0x000c, 0x3227: 0x000c, 0x3228: 0x000c, 0x3229: 0x000c, + 0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c, + 0x3235: 0x000c, + // Block 0xc9, offset 0x3240 + 0x3244: 0x000c, + 0x325b: 0x000c, 0x325c: 0x000c, 0x325d: 0x000c, + 0x325e: 0x000c, 0x325f: 0x000c, 0x3261: 0x000c, 0x3262: 0x000c, 0x3263: 0x000c, + 0x3264: 0x000c, 0x3265: 0x000c, 0x3266: 0x000c, 0x3267: 0x000c, 0x3268: 0x000c, 0x3269: 0x000c, + 0x326a: 0x000c, 0x326b: 0x000c, 0x326c: 0x000c, 0x326d: 0x000c, 0x326e: 0x000c, 0x326f: 0x000c, + // Block 0xca, offset 0x3280 + 0x3280: 0x000c, 0x3281: 0x000c, 0x3282: 0x000c, 0x3283: 0x000c, 0x3284: 0x000c, 0x3285: 0x000c, + 0x3286: 0x000c, 0x3288: 0x000c, 0x3289: 0x000c, 0x328a: 0x000c, 0x328b: 0x000c, + 0x328c: 0x000c, 0x328d: 0x000c, 0x328e: 0x000c, 0x328f: 0x000c, 0x3290: 0x000c, 0x3291: 0x000c, + 0x3292: 0x000c, 0x3293: 0x000c, 0x3294: 0x000c, 0x3295: 0x000c, 0x3296: 0x000c, 0x3297: 0x000c, + 0x3298: 0x000c, 0x329b: 0x000c, 0x329c: 0x000c, 0x329d: 0x000c, + 0x329e: 0x000c, 0x329f: 0x000c, 0x32a0: 0x000c, 0x32a1: 0x000c, 0x32a3: 0x000c, + 0x32a4: 0x000c, 0x32a6: 0x000c, 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c, + 0x32aa: 0x000c, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0x0001, 0x32c1: 0x0001, 0x32c2: 0x0001, 0x32c3: 0x0001, 0x32c4: 0x0001, 0x32c5: 0x0001, + 0x32c6: 0x0001, 0x32c7: 0x0001, 0x32c8: 0x0001, 0x32c9: 0x0001, 0x32ca: 0x0001, 0x32cb: 0x0001, + 0x32cc: 0x0001, 0x32cd: 0x0001, 0x32ce: 0x0001, 0x32cf: 0x0001, 0x32d0: 0x000c, 0x32d1: 0x000c, + 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x0001, + 0x32d8: 0x0001, 0x32d9: 0x0001, 0x32da: 0x0001, 0x32db: 0x0001, 0x32dc: 0x0001, 0x32dd: 0x0001, + 0x32de: 0x0001, 0x32df: 0x0001, 0x32e0: 0x0001, 0x32e1: 0x0001, 0x32e2: 0x0001, 0x32e3: 0x0001, + 0x32e4: 0x0001, 0x32e5: 0x0001, 0x32e6: 0x0001, 0x32e7: 0x0001, 0x32e8: 0x0001, 0x32e9: 0x0001, + 0x32ea: 0x0001, 0x32eb: 0x0001, 0x32ec: 0x0001, 0x32ed: 0x0001, 0x32ee: 0x0001, 0x32ef: 0x0001, + 0x32f0: 0x0001, 0x32f1: 0x0001, 0x32f2: 0x0001, 0x32f3: 0x0001, 0x32f4: 0x0001, 0x32f5: 0x0001, + 0x32f6: 0x0001, 0x32f7: 0x0001, 0x32f8: 0x0001, 0x32f9: 0x0001, 0x32fa: 0x0001, 0x32fb: 0x0001, + 0x32fc: 0x0001, 0x32fd: 0x0001, 0x32fe: 0x0001, 0x32ff: 0x0001, + // Block 0xcc, offset 0x3300 + 0x3300: 0x0001, 0x3301: 0x0001, 0x3302: 0x0001, 0x3303: 0x0001, 0x3304: 0x000c, 0x3305: 0x000c, + 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x0001, + 0x330c: 0x0001, 0x330d: 0x0001, 0x330e: 0x0001, 0x330f: 0x0001, 0x3310: 0x0001, 0x3311: 0x0001, + 0x3312: 0x0001, 0x3313: 0x0001, 0x3314: 0x0001, 0x3315: 0x0001, 0x3316: 0x0001, 0x3317: 0x0001, + 0x3318: 0x0001, 0x3319: 0x0001, 0x331a: 0x0001, 0x331b: 0x0001, 0x331c: 0x0001, 0x331d: 0x0001, + 0x331e: 0x0001, 0x331f: 0x0001, 0x3320: 0x0001, 0x3321: 0x0001, 0x3322: 0x0001, 0x3323: 0x0001, + 0x3324: 0x0001, 0x3325: 0x0001, 0x3326: 0x0001, 0x3327: 0x0001, 0x3328: 0x0001, 0x3329: 0x0001, + 0x332a: 0x0001, 0x332b: 0x0001, 0x332c: 0x0001, 0x332d: 0x0001, 0x332e: 0x0001, 0x332f: 0x0001, + 0x3330: 0x0001, 0x3331: 0x0001, 0x3332: 0x0001, 0x3333: 0x0001, 0x3334: 0x0001, 0x3335: 0x0001, + 0x3336: 0x0001, 0x3337: 0x0001, 0x3338: 0x0001, 0x3339: 0x0001, 0x333a: 0x0001, 0x333b: 0x0001, + 0x333c: 0x0001, 0x333d: 0x0001, 0x333e: 0x0001, 0x333f: 0x0001, + // Block 0xcd, offset 0x3340 + 0x3340: 0x000d, 0x3341: 0x000d, 0x3342: 0x000d, 0x3343: 0x000d, 0x3344: 0x000d, 0x3345: 0x000d, + 0x3346: 0x000d, 0x3347: 0x000d, 0x3348: 0x000d, 0x3349: 0x000d, 0x334a: 0x000d, 0x334b: 0x000d, + 0x334c: 0x000d, 0x334d: 0x000d, 0x334e: 0x000d, 0x334f: 0x000d, 0x3350: 0x000d, 0x3351: 0x000d, + 0x3352: 0x000d, 0x3353: 0x000d, 0x3354: 0x000d, 0x3355: 0x000d, 0x3356: 0x000d, 0x3357: 0x000d, + 0x3358: 0x000d, 0x3359: 0x000d, 0x335a: 0x000d, 0x335b: 0x000d, 0x335c: 0x000d, 0x335d: 0x000d, + 0x335e: 0x000d, 0x335f: 0x000d, 0x3360: 0x000d, 0x3361: 0x000d, 0x3362: 0x000d, 0x3363: 0x000d, + 0x3364: 0x000d, 0x3365: 0x000d, 0x3366: 0x000d, 0x3367: 0x000d, 0x3368: 0x000d, 0x3369: 0x000d, + 0x336a: 0x000d, 0x336b: 0x000d, 0x336c: 0x000d, 0x336d: 0x000d, 0x336e: 0x000d, 0x336f: 0x000d, + 0x3370: 0x000a, 0x3371: 0x000a, 0x3372: 0x000d, 0x3373: 0x000d, 0x3374: 0x000d, 0x3375: 0x000d, + 0x3376: 0x000d, 0x3377: 0x000d, 0x3378: 0x000d, 0x3379: 0x000d, 0x337a: 0x000d, 0x337b: 0x000d, + 0x337c: 0x000d, 0x337d: 0x000d, 0x337e: 0x000d, 0x337f: 0x000d, + // Block 0xce, offset 0x3380 + 0x3380: 0x000a, 0x3381: 0x000a, 0x3382: 0x000a, 0x3383: 0x000a, 0x3384: 0x000a, 0x3385: 0x000a, + 0x3386: 0x000a, 0x3387: 0x000a, 0x3388: 0x000a, 0x3389: 0x000a, 0x338a: 0x000a, 0x338b: 0x000a, + 0x338c: 0x000a, 0x338d: 0x000a, 0x338e: 0x000a, 0x338f: 0x000a, 0x3390: 0x000a, 0x3391: 0x000a, + 0x3392: 0x000a, 0x3393: 0x000a, 0x3394: 0x000a, 0x3395: 0x000a, 0x3396: 0x000a, 0x3397: 0x000a, + 0x3398: 0x000a, 0x3399: 0x000a, 0x339a: 0x000a, 0x339b: 0x000a, 0x339c: 0x000a, 0x339d: 0x000a, + 0x339e: 0x000a, 0x339f: 0x000a, 0x33a0: 0x000a, 0x33a1: 0x000a, 0x33a2: 0x000a, 0x33a3: 0x000a, + 0x33a4: 0x000a, 0x33a5: 0x000a, 0x33a6: 0x000a, 0x33a7: 0x000a, 0x33a8: 0x000a, 0x33a9: 0x000a, + 0x33aa: 0x000a, 0x33ab: 0x000a, + 0x33b0: 0x000a, 0x33b1: 0x000a, 0x33b2: 0x000a, 0x33b3: 0x000a, 0x33b4: 0x000a, 0x33b5: 0x000a, + 0x33b6: 0x000a, 0x33b7: 0x000a, 0x33b8: 0x000a, 0x33b9: 0x000a, 0x33ba: 0x000a, 0x33bb: 0x000a, + 0x33bc: 0x000a, 0x33bd: 0x000a, 0x33be: 0x000a, 0x33bf: 0x000a, + // Block 0xcf, offset 0x33c0 + 0x33c0: 0x000a, 0x33c1: 0x000a, 0x33c2: 0x000a, 0x33c3: 0x000a, 0x33c4: 0x000a, 0x33c5: 0x000a, + 0x33c6: 0x000a, 0x33c7: 0x000a, 0x33c8: 0x000a, 0x33c9: 0x000a, 0x33ca: 0x000a, 0x33cb: 0x000a, + 0x33cc: 0x000a, 0x33cd: 0x000a, 0x33ce: 0x000a, 0x33cf: 0x000a, 0x33d0: 0x000a, 0x33d1: 0x000a, + 0x33d2: 0x000a, 0x33d3: 0x000a, + 0x33e0: 0x000a, 0x33e1: 0x000a, 0x33e2: 0x000a, 0x33e3: 0x000a, + 0x33e4: 0x000a, 0x33e5: 0x000a, 0x33e6: 0x000a, 0x33e7: 0x000a, 0x33e8: 0x000a, 0x33e9: 0x000a, + 0x33ea: 0x000a, 0x33eb: 0x000a, 0x33ec: 0x000a, 0x33ed: 0x000a, 0x33ee: 0x000a, + 0x33f1: 0x000a, 0x33f2: 0x000a, 0x33f3: 0x000a, 0x33f4: 0x000a, 0x33f5: 0x000a, + 0x33f6: 0x000a, 0x33f7: 0x000a, 0x33f8: 0x000a, 0x33f9: 0x000a, 0x33fa: 0x000a, 0x33fb: 0x000a, + 0x33fc: 0x000a, 0x33fd: 0x000a, 0x33fe: 0x000a, 0x33ff: 0x000a, + // Block 0xd0, offset 0x3400 + 0x3401: 0x000a, 0x3402: 0x000a, 0x3403: 0x000a, 0x3404: 0x000a, 0x3405: 0x000a, + 0x3406: 0x000a, 0x3407: 0x000a, 0x3408: 0x000a, 0x3409: 0x000a, 0x340a: 0x000a, 0x340b: 0x000a, + 0x340c: 0x000a, 0x340d: 0x000a, 0x340e: 0x000a, 0x340f: 0x000a, 0x3411: 0x000a, + 0x3412: 0x000a, 0x3413: 0x000a, 0x3414: 0x000a, 0x3415: 0x000a, 0x3416: 0x000a, 0x3417: 0x000a, + 0x3418: 0x000a, 0x3419: 0x000a, 0x341a: 0x000a, 0x341b: 0x000a, 0x341c: 0x000a, 0x341d: 0x000a, + 0x341e: 0x000a, 0x341f: 0x000a, 0x3420: 0x000a, 0x3421: 0x000a, 0x3422: 0x000a, 0x3423: 0x000a, + 0x3424: 0x000a, 0x3425: 0x000a, 0x3426: 0x000a, 0x3427: 0x000a, 0x3428: 0x000a, 0x3429: 0x000a, + 0x342a: 0x000a, 0x342b: 0x000a, 0x342c: 0x000a, 0x342d: 0x000a, 0x342e: 0x000a, 0x342f: 0x000a, + 0x3430: 0x000a, 0x3431: 0x000a, 0x3432: 0x000a, 0x3433: 0x000a, 0x3434: 0x000a, 0x3435: 0x000a, + // Block 0xd1, offset 0x3440 + 0x3440: 0x0002, 0x3441: 0x0002, 0x3442: 0x0002, 0x3443: 0x0002, 0x3444: 0x0002, 0x3445: 0x0002, + 0x3446: 0x0002, 0x3447: 0x0002, 0x3448: 0x0002, 0x3449: 0x0002, 0x344a: 0x0002, 0x344b: 0x000a, + 0x344c: 0x000a, + // Block 0xd2, offset 0x3480 + 0x34aa: 0x000a, 0x34ab: 0x000a, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, + 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, + 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, + 0x34d2: 0x000a, + 0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a, + 0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a, + 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, + 0x34f0: 0x000a, 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a, + 0x34f6: 0x000a, + // Block 0xd4, offset 0x3500 + 0x3500: 0x000a, 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a, + 0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a, + 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3510: 0x000a, 0x3511: 0x000a, + 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, + // Block 0xd5, offset 0x3540 + 0x3540: 0x000a, 0x3541: 0x000a, 0x3542: 0x000a, 0x3543: 0x000a, 0x3544: 0x000a, 0x3545: 0x000a, + 0x3546: 0x000a, 0x3547: 0x000a, 0x3548: 0x000a, 0x3549: 0x000a, 0x354a: 0x000a, 0x354b: 0x000a, + 0x3550: 0x000a, 0x3551: 0x000a, + 0x3552: 0x000a, 0x3553: 0x000a, 0x3554: 0x000a, 0x3555: 0x000a, 0x3556: 0x000a, 0x3557: 0x000a, + 0x3558: 0x000a, 0x3559: 0x000a, 0x355a: 0x000a, 0x355b: 0x000a, 0x355c: 0x000a, 0x355d: 0x000a, + 0x355e: 0x000a, 0x355f: 0x000a, 0x3560: 0x000a, 0x3561: 0x000a, 0x3562: 0x000a, 0x3563: 0x000a, + 0x3564: 0x000a, 0x3565: 0x000a, 0x3566: 0x000a, 0x3567: 0x000a, 0x3568: 0x000a, 0x3569: 0x000a, + 0x356a: 0x000a, 0x356b: 0x000a, 0x356c: 0x000a, 0x356d: 0x000a, 0x356e: 0x000a, 0x356f: 0x000a, + 0x3570: 0x000a, 0x3571: 0x000a, 0x3572: 0x000a, 0x3573: 0x000a, 0x3574: 0x000a, 0x3575: 0x000a, + 0x3576: 0x000a, 0x3577: 0x000a, 0x3578: 0x000a, 0x3579: 0x000a, 0x357a: 0x000a, 0x357b: 0x000a, + 0x357c: 0x000a, 0x357d: 0x000a, 0x357e: 0x000a, 0x357f: 0x000a, + // Block 0xd6, offset 0x3580 + 0x3580: 0x000a, 0x3581: 0x000a, 0x3582: 0x000a, 0x3583: 0x000a, 0x3584: 0x000a, 0x3585: 0x000a, + 0x3586: 0x000a, 0x3587: 0x000a, + 0x3590: 0x000a, 0x3591: 0x000a, + 0x3592: 0x000a, 0x3593: 0x000a, 0x3594: 0x000a, 0x3595: 0x000a, 0x3596: 0x000a, 0x3597: 0x000a, + 0x3598: 0x000a, 0x3599: 0x000a, + 0x35a0: 0x000a, 0x35a1: 0x000a, 0x35a2: 0x000a, 0x35a3: 0x000a, + 0x35a4: 0x000a, 0x35a5: 0x000a, 0x35a6: 0x000a, 0x35a7: 0x000a, 0x35a8: 0x000a, 0x35a9: 0x000a, + 0x35aa: 0x000a, 0x35ab: 0x000a, 0x35ac: 0x000a, 0x35ad: 0x000a, 0x35ae: 0x000a, 0x35af: 0x000a, + 0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000a, 0x35b3: 0x000a, 0x35b4: 0x000a, 0x35b5: 0x000a, + 0x35b6: 0x000a, 0x35b7: 0x000a, 0x35b8: 0x000a, 0x35b9: 0x000a, 0x35ba: 0x000a, 0x35bb: 0x000a, + 0x35bc: 0x000a, 0x35bd: 0x000a, 0x35be: 0x000a, 0x35bf: 0x000a, + // Block 0xd7, offset 0x35c0 + 0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a, + 0x35c6: 0x000a, 0x35c7: 0x000a, + 0x35d0: 0x000a, 0x35d1: 0x000a, + 0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a, + 0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a, + 0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a, + 0x35ea: 0x000a, 0x35eb: 0x000a, 0x35ec: 0x000a, 0x35ed: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, 0x3615: 0x000a, 0x3616: 0x000a, 0x3617: 0x000a, + 0x3618: 0x000a, 0x3619: 0x000a, 0x361a: 0x000a, 0x361b: 0x000a, 0x361c: 0x000a, 0x361d: 0x000a, + 0x361e: 0x000a, 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, + 0x3630: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a, + 0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x3650: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a, + 0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a, + 0x365e: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a, + 0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a, + 0x368c: 0x000a, 0x368d: 0x000a, 0x368e: 0x000a, 0x368f: 0x000a, 0x3690: 0x000a, 0x3691: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36fe: 0x000b, 0x36ff: 0x000b, + // Block 0xdc, offset 0x3700 + 0x3700: 0x000b, 0x3701: 0x000b, 0x3702: 0x000b, 0x3703: 0x000b, 0x3704: 0x000b, 0x3705: 0x000b, + 0x3706: 0x000b, 0x3707: 0x000b, 0x3708: 0x000b, 0x3709: 0x000b, 0x370a: 0x000b, 0x370b: 0x000b, + 0x370c: 0x000b, 0x370d: 0x000b, 0x370e: 0x000b, 0x370f: 0x000b, 0x3710: 0x000b, 0x3711: 0x000b, + 0x3712: 0x000b, 0x3713: 0x000b, 0x3714: 0x000b, 0x3715: 0x000b, 0x3716: 0x000b, 0x3717: 0x000b, + 0x3718: 0x000b, 0x3719: 0x000b, 0x371a: 0x000b, 0x371b: 0x000b, 0x371c: 0x000b, 0x371d: 0x000b, + 0x371e: 0x000b, 0x371f: 0x000b, 0x3720: 0x000b, 0x3721: 0x000b, 0x3722: 0x000b, 0x3723: 0x000b, + 0x3724: 0x000b, 0x3725: 0x000b, 0x3726: 0x000b, 0x3727: 0x000b, 0x3728: 0x000b, 0x3729: 0x000b, + 0x372a: 0x000b, 0x372b: 0x000b, 0x372c: 0x000b, 0x372d: 0x000b, 0x372e: 0x000b, 0x372f: 0x000b, + 0x3730: 0x000b, 0x3731: 0x000b, 0x3732: 0x000b, 0x3733: 0x000b, 0x3734: 0x000b, 0x3735: 0x000b, + 0x3736: 0x000b, 0x3737: 0x000b, 0x3738: 0x000b, 0x3739: 0x000b, 0x373a: 0x000b, 0x373b: 0x000b, + 0x373c: 0x000b, 0x373d: 0x000b, 0x373e: 0x000b, 0x373f: 0x000b, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000c, 0x3741: 0x000c, 0x3742: 0x000c, 0x3743: 0x000c, 0x3744: 0x000c, 0x3745: 0x000c, + 0x3746: 0x000c, 0x3747: 0x000c, 0x3748: 0x000c, 0x3749: 0x000c, 0x374a: 0x000c, 0x374b: 0x000c, + 0x374c: 0x000c, 0x374d: 0x000c, 0x374e: 0x000c, 0x374f: 0x000c, 0x3750: 0x000c, 0x3751: 0x000c, + 0x3752: 0x000c, 0x3753: 0x000c, 0x3754: 0x000c, 0x3755: 0x000c, 0x3756: 0x000c, 0x3757: 0x000c, + 0x3758: 0x000c, 0x3759: 0x000c, 0x375a: 0x000c, 0x375b: 0x000c, 0x375c: 0x000c, 0x375d: 0x000c, + 0x375e: 0x000c, 0x375f: 0x000c, 0x3760: 0x000c, 0x3761: 0x000c, 0x3762: 0x000c, 0x3763: 0x000c, + 0x3764: 0x000c, 0x3765: 0x000c, 0x3766: 0x000c, 0x3767: 0x000c, 0x3768: 0x000c, 0x3769: 0x000c, + 0x376a: 0x000c, 0x376b: 0x000c, 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c, + 0x3770: 0x000b, 0x3771: 0x000b, 0x3772: 0x000b, 0x3773: 0x000b, 0x3774: 0x000b, 0x3775: 0x000b, + 0x3776: 0x000b, 0x3777: 0x000b, 0x3778: 0x000b, 0x3779: 0x000b, 0x377a: 0x000b, 0x377b: 0x000b, + 0x377c: 0x000b, 0x377d: 0x000b, 0x377e: 0x000b, 0x377f: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x59, + 0x190: 0x5a, 0x191: 0x5b, 0x192: 0x5c, 0x193: 0x5d, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5e, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5f, 0x19e: 0x54, 0x19f: 0x60, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x61, 0x1a7: 0x62, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x63, 0x1ae: 0x64, 0x1af: 0x65, + 0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68, + 0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6d, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71, + 0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x78, 0x253: 0x79, + 0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f, + 0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26f: 0x8b, + // Block 0xa, offset 0x280 + 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8e, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8f, + 0x2b8: 0x90, 0x2b9: 0x91, 0x2ba: 0x0e, 0x2bb: 0x92, 0x2bc: 0x93, 0x2bd: 0x94, 0x2bf: 0x95, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x96, 0x2c5: 0x54, 0x2c6: 0x97, 0x2c7: 0x98, + 0x2cb: 0x99, 0x2cd: 0x9a, + 0x2e0: 0x9b, 0x2e1: 0x9b, 0x2e2: 0x9b, 0x2e3: 0x9b, 0x2e4: 0x9c, 0x2e5: 0x9b, 0x2e6: 0x9b, 0x2e7: 0x9b, + 0x2e8: 0x9d, 0x2e9: 0x9b, 0x2ea: 0x9b, 0x2eb: 0x9e, 0x2ec: 0x9f, 0x2ed: 0x9b, 0x2ee: 0x9b, 0x2ef: 0x9b, + 0x2f0: 0x9b, 0x2f1: 0x9b, 0x2f2: 0x9b, 0x2f3: 0x9b, 0x2f4: 0x9b, 0x2f5: 0x9b, 0x2f6: 0x9b, 0x2f7: 0x9b, + 0x2f8: 0x9b, 0x2f9: 0xa0, 0x2fa: 0x9b, 0x2fb: 0x9b, 0x2fc: 0x9b, 0x2fd: 0x9b, 0x2fe: 0x9b, 0x2ff: 0x9b, + // Block 0xc, offset 0x300 + 0x300: 0xa1, 0x301: 0xa2, 0x302: 0xa3, 0x304: 0xa4, 0x305: 0xa5, 0x306: 0xa6, 0x307: 0xa7, + 0x308: 0xa8, 0x30b: 0xa9, 0x30c: 0xaa, 0x30d: 0xab, + 0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1, + 0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5, + 0x330: 0xb6, 0x332: 0xb7, + // Block 0xd, offset 0x340 + 0x36b: 0xb8, 0x36c: 0xb9, + 0x37e: 0xba, + // Block 0xe, offset 0x380 + 0x3b2: 0xbb, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xbc, 0x3c6: 0xbd, + 0x3c8: 0x54, 0x3c9: 0xbe, 0x3cc: 0x54, 0x3cd: 0xbf, + 0x3db: 0xc0, 0x3dc: 0xc1, 0x3dd: 0xc2, 0x3de: 0xc3, 0x3df: 0xc4, + 0x3e8: 0xc5, 0x3e9: 0xc6, 0x3ea: 0xc7, + // Block 0x10, offset 0x400 + 0x400: 0xc8, + 0x420: 0x9b, 0x421: 0x9b, 0x422: 0x9b, 0x423: 0xc9, 0x424: 0x9b, 0x425: 0xca, 0x426: 0x9b, 0x427: 0x9b, + 0x428: 0x9b, 0x429: 0x9b, 0x42a: 0x9b, 0x42b: 0x9b, 0x42c: 0x9b, 0x42d: 0x9b, 0x42e: 0x9b, 0x42f: 0x9b, + 0x430: 0x9b, 0x431: 0x9b, 0x432: 0x9b, 0x433: 0x9b, 0x434: 0x9b, 0x435: 0x9b, 0x436: 0x9b, 0x437: 0x9b, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcb, 0x43c: 0x9b, 0x43d: 0x9b, 0x43e: 0x9b, 0x43f: 0x9b, + // Block 0x11, offset 0x440 + 0x440: 0xcc, 0x441: 0x54, 0x442: 0xcd, 0x443: 0xce, 0x444: 0xcf, 0x445: 0xd0, + 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd1, 0x45c: 0x54, 0x45d: 0x6c, 0x45e: 0x54, 0x45f: 0xd2, + 0x460: 0xd3, 0x461: 0xd4, 0x462: 0xd5, 0x464: 0xd6, 0x465: 0xd7, 0x466: 0xd8, 0x467: 0x36, + 0x47f: 0xd9, + // Block 0x12, offset 0x480 + 0x4bf: 0xd9, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xda, 0x541: 0xda, 0x542: 0xda, 0x543: 0xda, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xdb, + 0x548: 0xda, 0x549: 0xda, 0x54a: 0xda, 0x54b: 0xda, 0x54c: 0xda, 0x54d: 0xda, 0x54e: 0xda, 0x54f: 0xda, + 0x550: 0xda, 0x551: 0xda, 0x552: 0xda, 0x553: 0xda, 0x554: 0xda, 0x555: 0xda, 0x556: 0xda, 0x557: 0xda, + 0x558: 0xda, 0x559: 0xda, 0x55a: 0xda, 0x55b: 0xda, 0x55c: 0xda, 0x55d: 0xda, 0x55e: 0xda, 0x55f: 0xda, + 0x560: 0xda, 0x561: 0xda, 0x562: 0xda, 0x563: 0xda, 0x564: 0xda, 0x565: 0xda, 0x566: 0xda, 0x567: 0xda, + 0x568: 0xda, 0x569: 0xda, 0x56a: 0xda, 0x56b: 0xda, 0x56c: 0xda, 0x56d: 0xda, 0x56e: 0xda, 0x56f: 0xda, + 0x570: 0xda, 0x571: 0xda, 0x572: 0xda, 0x573: 0xda, 0x574: 0xda, 0x575: 0xda, 0x576: 0xda, 0x577: 0xda, + 0x578: 0xda, 0x579: 0xda, 0x57a: 0xda, 0x57b: 0xda, 0x57c: 0xda, 0x57d: 0xda, 0x57e: 0xda, 0x57f: 0xda, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 15800 bytes (15KiB); checksum: F50EF68C diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/trieval.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/trieval.go new file mode 100644 index 0000000..4c459c4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/bidi/trieval.go @@ -0,0 +1,60 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package bidi + +// Class is the Unicode BiDi class. Each rune has a single class. +type Class uint + +const ( + L Class = iota // LeftToRight + R // RightToLeft + EN // EuropeanNumber + ES // EuropeanSeparator + ET // EuropeanTerminator + AN // ArabicNumber + CS // CommonSeparator + B // ParagraphSeparator + S // SegmentSeparator + WS // WhiteSpace + ON // OtherNeutral + BN // BoundaryNeutral + NSM // NonspacingMark + AL // ArabicLetter + Control // Control LRO - PDI + + numClass + + LRO // LeftToRightOverride + RLO // RightToLeftOverride + LRE // LeftToRightEmbedding + RLE // RightToLeftEmbedding + PDF // PopDirectionalFormat + LRI // LeftToRightIsolate + RLI // RightToLeftIsolate + FSI // FirstStrongIsolate + PDI // PopDirectionalIsolate + + unknownClass = ^Class(0) +) + +var controlToClass = map[rune]Class{ + 0x202D: LRO, // LeftToRightOverride, + 0x202E: RLO, // RightToLeftOverride, + 0x202A: LRE, // LeftToRightEmbedding, + 0x202B: RLE, // RightToLeftEmbedding, + 0x202C: PDF, // PopDirectionalFormat, + 0x2066: LRI, // LeftToRightIsolate, + 0x2067: RLI, // RightToLeftIsolate, + 0x2068: FSI, // FirstStrongIsolate, + 0x2069: PDI, // PopDirectionalIsolate, +} + +// A trie entry has the following bits: +// 7..5 XOR mask for brackets +// 4 1: Bracket open, 0: Bracket close +// 3..0 Class type + +const ( + openMask = 0x10 + xorMaskShift = 5 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/composition.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/composition.go new file mode 100644 index 0000000..e2087bc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/composition.go @@ -0,0 +1,512 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "unicode/utf8" + +const ( + maxNonStarters = 30 + // The maximum number of characters needed for a buffer is + // maxNonStarters + 1 for the starter + 1 for the GCJ + maxBufferSize = maxNonStarters + 2 + maxNFCExpansion = 3 // NFC(0x1D160) + maxNFKCExpansion = 18 // NFKC(0xFDFA) + + maxByteBufferSize = utf8.UTFMax * maxBufferSize // 128 +) + +// ssState is used for reporting the segment state after inserting a rune. +// It is returned by streamSafe.next. +type ssState int + +const ( + // Indicates a rune was successfully added to the segment. + ssSuccess ssState = iota + // Indicates a rune starts a new segment and should not be added. + ssStarter + // Indicates a rune caused a segment overflow and a CGJ should be inserted. + ssOverflow +) + +// streamSafe implements the policy of when a CGJ should be inserted. +type streamSafe uint8 + +// first inserts the first rune of a segment. It is a faster version of next if +// it is known p represents the first rune in a segment. +func (ss *streamSafe) first(p Properties) { + *ss = streamSafe(p.nTrailingNonStarters()) +} + +// insert returns a ssState value to indicate whether a rune represented by p +// can be inserted. +func (ss *streamSafe) next(p Properties) ssState { + if *ss > maxNonStarters { + panic("streamSafe was not reset") + } + n := p.nLeadingNonStarters() + if *ss += streamSafe(n); *ss > maxNonStarters { + *ss = 0 + return ssOverflow + } + // The Stream-Safe Text Processing prescribes that the counting can stop + // as soon as a starter is encountered. However, there are some starters, + // like Jamo V and T, that can combine with other runes, leaving their + // successive non-starters appended to the previous, possibly causing an + // overflow. We will therefore consider any rune with a non-zero nLead to + // be a non-starter. Note that it always hold that if nLead > 0 then + // nLead == nTrail. + if n == 0 { + *ss = streamSafe(p.nTrailingNonStarters()) + return ssStarter + } + return ssSuccess +} + +// backwards is used for checking for overflow and segment starts +// when traversing a string backwards. Users do not need to call first +// for the first rune. The state of the streamSafe retains the count of +// the non-starters loaded. +func (ss *streamSafe) backwards(p Properties) ssState { + if *ss > maxNonStarters { + panic("streamSafe was not reset") + } + c := *ss + streamSafe(p.nTrailingNonStarters()) + if c > maxNonStarters { + return ssOverflow + } + *ss = c + if p.nLeadingNonStarters() == 0 { + return ssStarter + } + return ssSuccess +} + +func (ss streamSafe) isMax() bool { + return ss == maxNonStarters +} + +// GraphemeJoiner is inserted after maxNonStarters non-starter runes. +const GraphemeJoiner = "\u034F" + +// reorderBuffer is used to normalize a single segment. Characters inserted with +// insert are decomposed and reordered based on CCC. The compose method can +// be used to recombine characters. Note that the byte buffer does not hold +// the UTF-8 characters in order. Only the rune array is maintained in sorted +// order. flush writes the resulting segment to a byte array. +type reorderBuffer struct { + rune [maxBufferSize]Properties // Per character info. + byte [maxByteBufferSize]byte // UTF-8 buffer. Referenced by runeInfo.pos. + nbyte uint8 // Number or bytes. + ss streamSafe // For limiting length of non-starter sequence. + nrune int // Number of runeInfos. + f formInfo + + src input + nsrc int + tmpBytes input + + out []byte + flushF func(*reorderBuffer) bool +} + +func (rb *reorderBuffer) init(f Form, src []byte) { + rb.f = *formTable[f] + rb.src.setBytes(src) + rb.nsrc = len(src) + rb.ss = 0 +} + +func (rb *reorderBuffer) initString(f Form, src string) { + rb.f = *formTable[f] + rb.src.setString(src) + rb.nsrc = len(src) + rb.ss = 0 +} + +func (rb *reorderBuffer) setFlusher(out []byte, f func(*reorderBuffer) bool) { + rb.out = out + rb.flushF = f +} + +// reset discards all characters from the buffer. +func (rb *reorderBuffer) reset() { + rb.nrune = 0 + rb.nbyte = 0 +} + +func (rb *reorderBuffer) doFlush() bool { + if rb.f.composing { + rb.compose() + } + res := rb.flushF(rb) + rb.reset() + return res +} + +// appendFlush appends the normalized segment to rb.out. +func appendFlush(rb *reorderBuffer) bool { + for i := 0; i < rb.nrune; i++ { + start := rb.rune[i].pos + end := start + rb.rune[i].size + rb.out = append(rb.out, rb.byte[start:end]...) + } + return true +} + +// flush appends the normalized segment to out and resets rb. +func (rb *reorderBuffer) flush(out []byte) []byte { + for i := 0; i < rb.nrune; i++ { + start := rb.rune[i].pos + end := start + rb.rune[i].size + out = append(out, rb.byte[start:end]...) + } + rb.reset() + return out +} + +// flushCopy copies the normalized segment to buf and resets rb. +// It returns the number of bytes written to buf. +func (rb *reorderBuffer) flushCopy(buf []byte) int { + p := 0 + for i := 0; i < rb.nrune; i++ { + runep := rb.rune[i] + p += copy(buf[p:], rb.byte[runep.pos:runep.pos+runep.size]) + } + rb.reset() + return p +} + +// insertOrdered inserts a rune in the buffer, ordered by Canonical Combining Class. +// It returns false if the buffer is not large enough to hold the rune. +// It is used internally by insert and insertString only. +func (rb *reorderBuffer) insertOrdered(info Properties) { + n := rb.nrune + b := rb.rune[:] + cc := info.ccc + if cc > 0 { + // Find insertion position + move elements to make room. + for ; n > 0; n-- { + if b[n-1].ccc <= cc { + break + } + b[n] = b[n-1] + } + } + rb.nrune += 1 + pos := uint8(rb.nbyte) + rb.nbyte += utf8.UTFMax + info.pos = pos + b[n] = info +} + +// insertErr is an error code returned by insert. Using this type instead +// of error improves performance up to 20% for many of the benchmarks. +type insertErr int + +const ( + iSuccess insertErr = -iota + iShortDst + iShortSrc +) + +// insertFlush inserts the given rune in the buffer ordered by CCC. +// If a decomposition with multiple segments are encountered, they leading +// ones are flushed. +// It returns a non-zero error code if the rune was not inserted. +func (rb *reorderBuffer) insertFlush(src input, i int, info Properties) insertErr { + if rune := src.hangul(i); rune != 0 { + rb.decomposeHangul(rune) + return iSuccess + } + if info.hasDecomposition() { + return rb.insertDecomposed(info.Decomposition()) + } + rb.insertSingle(src, i, info) + return iSuccess +} + +// insertUnsafe inserts the given rune in the buffer ordered by CCC. +// It is assumed there is sufficient space to hold the runes. It is the +// responsibility of the caller to ensure this. This can be done by checking +// the state returned by the streamSafe type. +func (rb *reorderBuffer) insertUnsafe(src input, i int, info Properties) { + if rune := src.hangul(i); rune != 0 { + rb.decomposeHangul(rune) + } + if info.hasDecomposition() { + // TODO: inline. + rb.insertDecomposed(info.Decomposition()) + } else { + rb.insertSingle(src, i, info) + } +} + +// insertDecomposed inserts an entry in to the reorderBuffer for each rune +// in dcomp. dcomp must be a sequence of decomposed UTF-8-encoded runes. +// It flushes the buffer on each new segment start. +func (rb *reorderBuffer) insertDecomposed(dcomp []byte) insertErr { + rb.tmpBytes.setBytes(dcomp) + // As the streamSafe accounting already handles the counting for modifiers, + // we don't have to call next. However, we do need to keep the accounting + // intact when flushing the buffer. + for i := 0; i < len(dcomp); { + info := rb.f.info(rb.tmpBytes, i) + if info.BoundaryBefore() && rb.nrune > 0 && !rb.doFlush() { + return iShortDst + } + i += copy(rb.byte[rb.nbyte:], dcomp[i:i+int(info.size)]) + rb.insertOrdered(info) + } + return iSuccess +} + +// insertSingle inserts an entry in the reorderBuffer for the rune at +// position i. info is the runeInfo for the rune at position i. +func (rb *reorderBuffer) insertSingle(src input, i int, info Properties) { + src.copySlice(rb.byte[rb.nbyte:], i, i+int(info.size)) + rb.insertOrdered(info) +} + +// insertCGJ inserts a Combining Grapheme Joiner (0x034f) into rb. +func (rb *reorderBuffer) insertCGJ() { + rb.insertSingle(input{str: GraphemeJoiner}, 0, Properties{size: uint8(len(GraphemeJoiner))}) +} + +// appendRune inserts a rune at the end of the buffer. It is used for Hangul. +func (rb *reorderBuffer) appendRune(r rune) { + bn := rb.nbyte + sz := utf8.EncodeRune(rb.byte[bn:], rune(r)) + rb.nbyte += utf8.UTFMax + rb.rune[rb.nrune] = Properties{pos: bn, size: uint8(sz)} + rb.nrune++ +} + +// assignRune sets a rune at position pos. It is used for Hangul and recomposition. +func (rb *reorderBuffer) assignRune(pos int, r rune) { + bn := rb.rune[pos].pos + sz := utf8.EncodeRune(rb.byte[bn:], rune(r)) + rb.rune[pos] = Properties{pos: bn, size: uint8(sz)} +} + +// runeAt returns the rune at position n. It is used for Hangul and recomposition. +func (rb *reorderBuffer) runeAt(n int) rune { + inf := rb.rune[n] + r, _ := utf8.DecodeRune(rb.byte[inf.pos : inf.pos+inf.size]) + return r +} + +// bytesAt returns the UTF-8 encoding of the rune at position n. +// It is used for Hangul and recomposition. +func (rb *reorderBuffer) bytesAt(n int) []byte { + inf := rb.rune[n] + return rb.byte[inf.pos : int(inf.pos)+int(inf.size)] +} + +// For Hangul we combine algorithmically, instead of using tables. +const ( + hangulBase = 0xAC00 // UTF-8(hangulBase) -> EA B0 80 + hangulBase0 = 0xEA + hangulBase1 = 0xB0 + hangulBase2 = 0x80 + + hangulEnd = hangulBase + jamoLVTCount // UTF-8(0xD7A4) -> ED 9E A4 + hangulEnd0 = 0xED + hangulEnd1 = 0x9E + hangulEnd2 = 0xA4 + + jamoLBase = 0x1100 // UTF-8(jamoLBase) -> E1 84 00 + jamoLBase0 = 0xE1 + jamoLBase1 = 0x84 + jamoLEnd = 0x1113 + jamoVBase = 0x1161 + jamoVEnd = 0x1176 + jamoTBase = 0x11A7 + jamoTEnd = 0x11C3 + + jamoTCount = 28 + jamoVCount = 21 + jamoVTCount = 21 * 28 + jamoLVTCount = 19 * 21 * 28 +) + +const hangulUTF8Size = 3 + +func isHangul(b []byte) bool { + if len(b) < hangulUTF8Size { + return false + } + b0 := b[0] + if b0 < hangulBase0 { + return false + } + b1 := b[1] + switch { + case b0 == hangulBase0: + return b1 >= hangulBase1 + case b0 < hangulEnd0: + return true + case b0 > hangulEnd0: + return false + case b1 < hangulEnd1: + return true + } + return b1 == hangulEnd1 && b[2] < hangulEnd2 +} + +func isHangulString(b string) bool { + if len(b) < hangulUTF8Size { + return false + } + b0 := b[0] + if b0 < hangulBase0 { + return false + } + b1 := b[1] + switch { + case b0 == hangulBase0: + return b1 >= hangulBase1 + case b0 < hangulEnd0: + return true + case b0 > hangulEnd0: + return false + case b1 < hangulEnd1: + return true + } + return b1 == hangulEnd1 && b[2] < hangulEnd2 +} + +// Caller must ensure len(b) >= 2. +func isJamoVT(b []byte) bool { + // True if (rune & 0xff00) == jamoLBase + return b[0] == jamoLBase0 && (b[1]&0xFC) == jamoLBase1 +} + +func isHangulWithoutJamoT(b []byte) bool { + c, _ := utf8.DecodeRune(b) + c -= hangulBase + return c < jamoLVTCount && c%jamoTCount == 0 +} + +// decomposeHangul writes the decomposed Hangul to buf and returns the number +// of bytes written. len(buf) should be at least 9. +func decomposeHangul(buf []byte, r rune) int { + const JamoUTF8Len = 3 + r -= hangulBase + x := r % jamoTCount + r /= jamoTCount + utf8.EncodeRune(buf, jamoLBase+r/jamoVCount) + utf8.EncodeRune(buf[JamoUTF8Len:], jamoVBase+r%jamoVCount) + if x != 0 { + utf8.EncodeRune(buf[2*JamoUTF8Len:], jamoTBase+x) + return 3 * JamoUTF8Len + } + return 2 * JamoUTF8Len +} + +// decomposeHangul algorithmically decomposes a Hangul rune into +// its Jamo components. +// See https://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul. +func (rb *reorderBuffer) decomposeHangul(r rune) { + r -= hangulBase + x := r % jamoTCount + r /= jamoTCount + rb.appendRune(jamoLBase + r/jamoVCount) + rb.appendRune(jamoVBase + r%jamoVCount) + if x != 0 { + rb.appendRune(jamoTBase + x) + } +} + +// combineHangul algorithmically combines Jamo character components into Hangul. +// See https://unicode.org/reports/tr15/#Hangul for details on combining Hangul. +func (rb *reorderBuffer) combineHangul(s, i, k int) { + b := rb.rune[:] + bn := rb.nrune + for ; i < bn; i++ { + cccB := b[k-1].ccc + cccC := b[i].ccc + if cccB == 0 { + s = k - 1 + } + if s != k-1 && cccB >= cccC { + // b[i] is blocked by greater-equal cccX below it + b[k] = b[i] + k++ + } else { + l := rb.runeAt(s) // also used to compare to hangulBase + v := rb.runeAt(i) // also used to compare to jamoT + switch { + case jamoLBase <= l && l < jamoLEnd && + jamoVBase <= v && v < jamoVEnd: + // 11xx plus 116x to LV + rb.assignRune(s, hangulBase+ + (l-jamoLBase)*jamoVTCount+(v-jamoVBase)*jamoTCount) + case hangulBase <= l && l < hangulEnd && + jamoTBase < v && v < jamoTEnd && + ((l-hangulBase)%jamoTCount) == 0: + // ACxx plus 11Ax to LVT + rb.assignRune(s, l+v-jamoTBase) + default: + b[k] = b[i] + k++ + } + } + } + rb.nrune = k +} + +// compose recombines the runes in the buffer. +// It should only be used to recompose a single segment, as it will not +// handle alternations between Hangul and non-Hangul characters correctly. +func (rb *reorderBuffer) compose() { + // Lazily load the map used by the combine func below, but do + // it outside of the loop. + recompMapOnce.Do(buildRecompMap) + + // UAX #15, section X5 , including Corrigendum #5 + // "In any character sequence beginning with starter S, a character C is + // blocked from S if and only if there is some character B between S + // and C, and either B is a starter or it has the same or higher + // combining class as C." + bn := rb.nrune + if bn == 0 { + return + } + k := 1 + b := rb.rune[:] + for s, i := 0, 1; i < bn; i++ { + if isJamoVT(rb.bytesAt(i)) { + // Redo from start in Hangul mode. Necessary to support + // U+320E..U+321E in NFKC mode. + rb.combineHangul(s, i, k) + return + } + ii := b[i] + // We can only use combineForward as a filter if we later + // get the info for the combined character. This is more + // expensive than using the filter. Using combinesBackward() + // is safe. + if ii.combinesBackward() { + cccB := b[k-1].ccc + cccC := ii.ccc + blocked := false // b[i] blocked by starter or greater or equal CCC? + if cccB == 0 { + s = k - 1 + } else { + blocked = s != k-1 && cccB >= cccC + } + if !blocked { + combined := combine(rb.runeAt(s), rb.runeAt(i)) + if combined != 0 { + rb.assignRune(s, combined) + continue + } + } + } + b[k] = b[i] + k++ + } + rb.nrune = k +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/forminfo.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/forminfo.go new file mode 100644 index 0000000..526c703 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/forminfo.go @@ -0,0 +1,278 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "encoding/binary" + +// This file contains Form-specific logic and wrappers for data in tables.go. + +// Rune info is stored in a separate trie per composing form. A composing form +// and its corresponding decomposing form share the same trie. Each trie maps +// a rune to a uint16. The values take two forms. For v >= 0x8000: +// bits +// 15: 1 (inverse of NFD_QC bit of qcInfo) +// 13..7: qcInfo (see below). isYesD is always true (no decompostion). +// 6..0: ccc (compressed CCC value). +// For v < 0x8000, the respective rune has a decomposition and v is an index +// into a byte array of UTF-8 decomposition sequences and additional info and +// has the form: +//
* [ []] +// The header contains the number of bytes in the decomposition (excluding this +// length byte). The two most significant bits of this length byte correspond +// to bit 5 and 4 of qcInfo (see below). The byte sequence itself starts at v+1. +// The byte sequence is followed by a trailing and leading CCC if the values +// for these are not zero. The value of v determines which ccc are appended +// to the sequences. For v < firstCCC, there are none, for v >= firstCCC, +// the sequence is followed by a trailing ccc, and for v >= firstLeadingCC +// there is an additional leading ccc. The value of tccc itself is the +// trailing CCC shifted left 2 bits. The two least-significant bits of tccc +// are the number of trailing non-starters. + +const ( + qcInfoMask = 0x3F // to clear all but the relevant bits in a qcInfo + headerLenMask = 0x3F // extract the length value from the header byte + headerFlagsMask = 0xC0 // extract the qcInfo bits from the header byte +) + +// Properties provides access to normalization properties of a rune. +type Properties struct { + pos uint8 // start position in reorderBuffer; used in composition.go + size uint8 // length of UTF-8 encoding of this rune + ccc uint8 // leading canonical combining class (ccc if not decomposition) + tccc uint8 // trailing canonical combining class (ccc if not decomposition) + nLead uint8 // number of leading non-starters. + flags qcInfo // quick check flags + index uint16 +} + +// functions dispatchable per form +type lookupFunc func(b input, i int) Properties + +// formInfo holds Form-specific functions and tables. +type formInfo struct { + form Form + composing, compatibility bool // form type + info lookupFunc + nextMain iterFunc +} + +var formTable = []*formInfo{{ + form: NFC, + composing: true, + compatibility: false, + info: lookupInfoNFC, + nextMain: nextComposed, +}, { + form: NFD, + composing: false, + compatibility: false, + info: lookupInfoNFC, + nextMain: nextDecomposed, +}, { + form: NFKC, + composing: true, + compatibility: true, + info: lookupInfoNFKC, + nextMain: nextComposed, +}, { + form: NFKD, + composing: false, + compatibility: true, + info: lookupInfoNFKC, + nextMain: nextDecomposed, +}} + +// We do not distinguish between boundaries for NFC, NFD, etc. to avoid +// unexpected behavior for the user. For example, in NFD, there is a boundary +// after 'a'. However, 'a' might combine with modifiers, so from the application's +// perspective it is not a good boundary. We will therefore always use the +// boundaries for the combining variants. + +// BoundaryBefore returns true if this rune starts a new segment and +// cannot combine with any rune on the left. +func (p Properties) BoundaryBefore() bool { + if p.ccc == 0 && !p.combinesBackward() { + return true + } + // We assume that the CCC of the first character in a decomposition + // is always non-zero if different from info.ccc and that we can return + // false at this point. This is verified by maketables. + return false +} + +// BoundaryAfter returns true if runes cannot combine with or otherwise +// interact with this or previous runes. +func (p Properties) BoundaryAfter() bool { + // TODO: loosen these conditions. + return p.isInert() +} + +// We pack quick check data in 4 bits: +// 5: Combines forward (0 == false, 1 == true) +// 4..3: NFC_QC Yes(00), No (10), or Maybe (11) +// 2: NFD_QC Yes (0) or No (1). No also means there is a decomposition. +// 1..0: Number of trailing non-starters. +// +// When all 4 bits are zero, the character is inert, meaning it is never +// influenced by normalization. +type qcInfo uint8 + +func (p Properties) isYesC() bool { return p.flags&0x10 == 0 } +func (p Properties) isYesD() bool { return p.flags&0x4 == 0 } + +func (p Properties) combinesForward() bool { return p.flags&0x20 != 0 } +func (p Properties) combinesBackward() bool { return p.flags&0x8 != 0 } // == isMaybe +func (p Properties) hasDecomposition() bool { return p.flags&0x4 != 0 } // == isNoD + +func (p Properties) isInert() bool { + return p.flags&qcInfoMask == 0 && p.ccc == 0 +} + +func (p Properties) multiSegment() bool { + return p.index >= firstMulti && p.index < endMulti +} + +func (p Properties) nLeadingNonStarters() uint8 { + return p.nLead +} + +func (p Properties) nTrailingNonStarters() uint8 { + return uint8(p.flags & 0x03) +} + +// Decomposition returns the decomposition for the underlying rune +// or nil if there is none. +func (p Properties) Decomposition() []byte { + // TODO: create the decomposition for Hangul? + if p.index == 0 { + return nil + } + i := p.index + n := decomps[i] & headerLenMask + i++ + return decomps[i : i+uint16(n)] +} + +// Size returns the length of UTF-8 encoding of the rune. +func (p Properties) Size() int { + return int(p.size) +} + +// CCC returns the canonical combining class of the underlying rune. +func (p Properties) CCC() uint8 { + if p.index >= firstCCCZeroExcept { + return 0 + } + return ccc[p.ccc] +} + +// LeadCCC returns the CCC of the first rune in the decomposition. +// If there is no decomposition, LeadCCC equals CCC. +func (p Properties) LeadCCC() uint8 { + return ccc[p.ccc] +} + +// TrailCCC returns the CCC of the last rune in the decomposition. +// If there is no decomposition, TrailCCC equals CCC. +func (p Properties) TrailCCC() uint8 { + return ccc[p.tccc] +} + +func buildRecompMap() { + recompMap = make(map[uint32]rune, len(recompMapPacked)/8) + var buf [8]byte + for i := 0; i < len(recompMapPacked); i += 8 { + copy(buf[:], recompMapPacked[i:i+8]) + key := binary.BigEndian.Uint32(buf[:4]) + val := binary.BigEndian.Uint32(buf[4:]) + recompMap[key] = rune(val) + } +} + +// Recomposition +// We use 32-bit keys instead of 64-bit for the two codepoint keys. +// This clips off the bits of three entries, but we know this will not +// result in a collision. In the unlikely event that changes to +// UnicodeData.txt introduce collisions, the compiler will catch it. +// Note that the recomposition map for NFC and NFKC are identical. + +// combine returns the combined rune or 0 if it doesn't exist. +// +// The caller is responsible for calling +// recompMapOnce.Do(buildRecompMap) sometime before this is called. +func combine(a, b rune) rune { + key := uint32(uint16(a))<<16 + uint32(uint16(b)) + if recompMap == nil { + panic("caller error") // see func comment + } + return recompMap[key] +} + +func lookupInfoNFC(b input, i int) Properties { + v, sz := b.charinfoNFC(i) + return compInfo(v, sz) +} + +func lookupInfoNFKC(b input, i int) Properties { + v, sz := b.charinfoNFKC(i) + return compInfo(v, sz) +} + +// Properties returns properties for the first rune in s. +func (f Form) Properties(s []byte) Properties { + if f == NFC || f == NFD { + return compInfo(nfcData.lookup(s)) + } + return compInfo(nfkcData.lookup(s)) +} + +// PropertiesString returns properties for the first rune in s. +func (f Form) PropertiesString(s string) Properties { + if f == NFC || f == NFD { + return compInfo(nfcData.lookupString(s)) + } + return compInfo(nfkcData.lookupString(s)) +} + +// compInfo converts the information contained in v and sz +// to a Properties. See the comment at the top of the file +// for more information on the format. +func compInfo(v uint16, sz int) Properties { + if v == 0 { + return Properties{size: uint8(sz)} + } else if v >= 0x8000 { + p := Properties{ + size: uint8(sz), + ccc: uint8(v), + tccc: uint8(v), + flags: qcInfo(v >> 8), + } + if p.ccc > 0 || p.combinesBackward() { + p.nLead = uint8(p.flags & 0x3) + } + return p + } + // has decomposition + h := decomps[v] + f := (qcInfo(h&headerFlagsMask) >> 2) | 0x4 + p := Properties{size: uint8(sz), flags: f, index: v} + if v >= firstCCC { + v += uint16(h&headerLenMask) + 1 + c := decomps[v] + p.tccc = c >> 2 + p.flags |= qcInfo(c & 0x3) + if v >= firstLeadingCCC { + p.nLead = c & 0x3 + if v >= firstStarterWithNLead { + // We were tricked. Remove the decomposition. + p.flags &= 0x03 + p.index = 0 + return p + } + p.ccc = decomps[v+1] + } + } + return p +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/input.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/input.go new file mode 100644 index 0000000..479e35b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/input.go @@ -0,0 +1,109 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "unicode/utf8" + +type input struct { + str string + bytes []byte +} + +func inputBytes(str []byte) input { + return input{bytes: str} +} + +func inputString(str string) input { + return input{str: str} +} + +func (in *input) setBytes(str []byte) { + in.str = "" + in.bytes = str +} + +func (in *input) setString(str string) { + in.str = str + in.bytes = nil +} + +func (in *input) _byte(p int) byte { + if in.bytes == nil { + return in.str[p] + } + return in.bytes[p] +} + +func (in *input) skipASCII(p, max int) int { + if in.bytes == nil { + for ; p < max && in.str[p] < utf8.RuneSelf; p++ { + } + } else { + for ; p < max && in.bytes[p] < utf8.RuneSelf; p++ { + } + } + return p +} + +func (in *input) skipContinuationBytes(p int) int { + if in.bytes == nil { + for ; p < len(in.str) && !utf8.RuneStart(in.str[p]); p++ { + } + } else { + for ; p < len(in.bytes) && !utf8.RuneStart(in.bytes[p]); p++ { + } + } + return p +} + +func (in *input) appendSlice(buf []byte, b, e int) []byte { + if in.bytes != nil { + return append(buf, in.bytes[b:e]...) + } + for i := b; i < e; i++ { + buf = append(buf, in.str[i]) + } + return buf +} + +func (in *input) copySlice(buf []byte, b, e int) int { + if in.bytes == nil { + return copy(buf, in.str[b:e]) + } + return copy(buf, in.bytes[b:e]) +} + +func (in *input) charinfoNFC(p int) (uint16, int) { + if in.bytes == nil { + return nfcData.lookupString(in.str[p:]) + } + return nfcData.lookup(in.bytes[p:]) +} + +func (in *input) charinfoNFKC(p int) (uint16, int) { + if in.bytes == nil { + return nfkcData.lookupString(in.str[p:]) + } + return nfkcData.lookup(in.bytes[p:]) +} + +func (in *input) hangul(p int) (r rune) { + var size int + if in.bytes == nil { + if !isHangulString(in.str[p:]) { + return 0 + } + r, size = utf8.DecodeRuneInString(in.str[p:]) + } else { + if !isHangul(in.bytes[p:]) { + return 0 + } + r, size = utf8.DecodeRune(in.bytes[p:]) + } + if size != hangulUTF8Size { + return 0 + } + return r +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/iter.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/iter.go new file mode 100644 index 0000000..417c6b2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/iter.go @@ -0,0 +1,458 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import ( + "fmt" + "unicode/utf8" +) + +// MaxSegmentSize is the maximum size of a byte buffer needed to consider any +// sequence of starter and non-starter runes for the purpose of normalization. +const MaxSegmentSize = maxByteBufferSize + +// An Iter iterates over a string or byte slice, while normalizing it +// to a given Form. +type Iter struct { + rb reorderBuffer + buf [maxByteBufferSize]byte + info Properties // first character saved from previous iteration + next iterFunc // implementation of next depends on form + asciiF iterFunc + + p int // current position in input source + multiSeg []byte // remainder of multi-segment decomposition +} + +type iterFunc func(*Iter) []byte + +// Init initializes i to iterate over src after normalizing it to Form f. +func (i *Iter) Init(f Form, src []byte) { + i.p = 0 + if len(src) == 0 { + i.setDone() + i.rb.nsrc = 0 + return + } + i.multiSeg = nil + i.rb.init(f, src) + i.next = i.rb.f.nextMain + i.asciiF = nextASCIIBytes + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) +} + +// InitString initializes i to iterate over src after normalizing it to Form f. +func (i *Iter) InitString(f Form, src string) { + i.p = 0 + if len(src) == 0 { + i.setDone() + i.rb.nsrc = 0 + return + } + i.multiSeg = nil + i.rb.initString(f, src) + i.next = i.rb.f.nextMain + i.asciiF = nextASCIIString + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) +} + +// Seek sets the segment to be returned by the next call to Next to start +// at position p. It is the responsibility of the caller to set p to the +// start of a segment. +func (i *Iter) Seek(offset int64, whence int) (int64, error) { + var abs int64 + switch whence { + case 0: + abs = offset + case 1: + abs = int64(i.p) + offset + case 2: + abs = int64(i.rb.nsrc) + offset + default: + return 0, fmt.Errorf("norm: invalid whence") + } + if abs < 0 { + return 0, fmt.Errorf("norm: negative position") + } + if int(abs) >= i.rb.nsrc { + i.setDone() + return int64(i.p), nil + } + i.p = int(abs) + i.multiSeg = nil + i.next = i.rb.f.nextMain + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) + return abs, nil +} + +// returnSlice returns a slice of the underlying input type as a byte slice. +// If the underlying is of type []byte, it will simply return a slice. +// If the underlying is of type string, it will copy the slice to the buffer +// and return that. +func (i *Iter) returnSlice(a, b int) []byte { + if i.rb.src.bytes == nil { + return i.buf[:copy(i.buf[:], i.rb.src.str[a:b])] + } + return i.rb.src.bytes[a:b] +} + +// Pos returns the byte position at which the next call to Next will commence processing. +func (i *Iter) Pos() int { + return i.p +} + +func (i *Iter) setDone() { + i.next = nextDone + i.p = i.rb.nsrc +} + +// Done returns true if there is no more input to process. +func (i *Iter) Done() bool { + return i.p >= i.rb.nsrc +} + +// Next returns f(i.input[i.Pos():n]), where n is a boundary of i.input. +// For any input a and b for which f(a) == f(b), subsequent calls +// to Next will return the same segments. +// Modifying runes are grouped together with the preceding starter, if such a starter exists. +// Although not guaranteed, n will typically be the smallest possible n. +func (i *Iter) Next() []byte { + return i.next(i) +} + +func nextASCIIBytes(i *Iter) []byte { + p := i.p + 1 + if p >= i.rb.nsrc { + p0 := i.p + i.setDone() + return i.rb.src.bytes[p0:p] + } + if i.rb.src.bytes[p] < utf8.RuneSelf { + p0 := i.p + i.p = p + return i.rb.src.bytes[p0:p] + } + i.info = i.rb.f.info(i.rb.src, i.p) + i.next = i.rb.f.nextMain + return i.next(i) +} + +func nextASCIIString(i *Iter) []byte { + p := i.p + 1 + if p >= i.rb.nsrc { + i.buf[0] = i.rb.src.str[i.p] + i.setDone() + return i.buf[:1] + } + if i.rb.src.str[p] < utf8.RuneSelf { + i.buf[0] = i.rb.src.str[i.p] + i.p = p + return i.buf[:1] + } + i.info = i.rb.f.info(i.rb.src, i.p) + i.next = i.rb.f.nextMain + return i.next(i) +} + +func nextHangul(i *Iter) []byte { + p := i.p + next := p + hangulUTF8Size + if next >= i.rb.nsrc { + i.setDone() + } else if i.rb.src.hangul(next) == 0 { + i.rb.ss.next(i.info) + i.info = i.rb.f.info(i.rb.src, i.p) + i.next = i.rb.f.nextMain + return i.next(i) + } + i.p = next + return i.buf[:decomposeHangul(i.buf[:], i.rb.src.hangul(p))] +} + +func nextDone(i *Iter) []byte { + return nil +} + +// nextMulti is used for iterating over multi-segment decompositions +// for decomposing normal forms. +func nextMulti(i *Iter) []byte { + j := 0 + d := i.multiSeg + // skip first rune + for j = 1; j < len(d) && !utf8.RuneStart(d[j]); j++ { + } + for j < len(d) { + info := i.rb.f.info(input{bytes: d}, j) + if info.BoundaryBefore() { + i.multiSeg = d[j:] + return d[:j] + } + j += int(info.size) + } + // treat last segment as normal decomposition + i.next = i.rb.f.nextMain + return i.next(i) +} + +// nextMultiNorm is used for iterating over multi-segment decompositions +// for composing normal forms. +func nextMultiNorm(i *Iter) []byte { + j := 0 + d := i.multiSeg + for j < len(d) { + info := i.rb.f.info(input{bytes: d}, j) + if info.BoundaryBefore() { + i.rb.compose() + seg := i.buf[:i.rb.flushCopy(i.buf[:])] + i.rb.insertUnsafe(input{bytes: d}, j, info) + i.multiSeg = d[j+int(info.size):] + return seg + } + i.rb.insertUnsafe(input{bytes: d}, j, info) + j += int(info.size) + } + i.multiSeg = nil + i.next = nextComposed + return doNormComposed(i) +} + +// nextDecomposed is the implementation of Next for forms NFD and NFKD. +func nextDecomposed(i *Iter) (next []byte) { + outp := 0 + inCopyStart, outCopyStart := i.p, 0 + for { + if sz := int(i.info.size); sz <= 1 { + i.rb.ss = 0 + p := i.p + i.p++ // ASCII or illegal byte. Either way, advance by 1. + if i.p >= i.rb.nsrc { + i.setDone() + return i.returnSlice(p, i.p) + } else if i.rb.src._byte(i.p) < utf8.RuneSelf { + i.next = i.asciiF + return i.returnSlice(p, i.p) + } + outp++ + } else if d := i.info.Decomposition(); d != nil { + // Note: If leading CCC != 0, then len(d) == 2 and last is also non-zero. + // Case 1: there is a leftover to copy. In this case the decomposition + // must begin with a modifier and should always be appended. + // Case 2: no leftover. Simply return d if followed by a ccc == 0 value. + p := outp + len(d) + if outp > 0 { + i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p) + // TODO: this condition should not be possible, but we leave it + // in for defensive purposes. + if p > len(i.buf) { + return i.buf[:outp] + } + } else if i.info.multiSegment() { + // outp must be 0 as multi-segment decompositions always + // start a new segment. + if i.multiSeg == nil { + i.multiSeg = d + i.next = nextMulti + return nextMulti(i) + } + // We are in the last segment. Treat as normal decomposition. + d = i.multiSeg + i.multiSeg = nil + p = len(d) + } + prevCC := i.info.tccc + if i.p += sz; i.p >= i.rb.nsrc { + i.setDone() + i.info = Properties{} // Force BoundaryBefore to succeed. + } else { + i.info = i.rb.f.info(i.rb.src, i.p) + } + switch i.rb.ss.next(i.info) { + case ssOverflow: + i.next = nextCGJDecompose + fallthrough + case ssStarter: + if outp > 0 { + copy(i.buf[outp:], d) + return i.buf[:p] + } + return d + } + copy(i.buf[outp:], d) + outp = p + inCopyStart, outCopyStart = i.p, outp + if i.info.ccc < prevCC { + goto doNorm + } + continue + } else if r := i.rb.src.hangul(i.p); r != 0 { + outp = decomposeHangul(i.buf[:], r) + i.p += hangulUTF8Size + inCopyStart, outCopyStart = i.p, outp + if i.p >= i.rb.nsrc { + i.setDone() + break + } else if i.rb.src.hangul(i.p) != 0 { + i.next = nextHangul + return i.buf[:outp] + } + } else { + p := outp + sz + if p > len(i.buf) { + break + } + outp = p + i.p += sz + } + if i.p >= i.rb.nsrc { + i.setDone() + break + } + prevCC := i.info.tccc + i.info = i.rb.f.info(i.rb.src, i.p) + if v := i.rb.ss.next(i.info); v == ssStarter { + break + } else if v == ssOverflow { + i.next = nextCGJDecompose + break + } + if i.info.ccc < prevCC { + goto doNorm + } + } + if outCopyStart == 0 { + return i.returnSlice(inCopyStart, i.p) + } else if inCopyStart < i.p { + i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p) + } + return i.buf[:outp] +doNorm: + // Insert what we have decomposed so far in the reorderBuffer. + // As we will only reorder, there will always be enough room. + i.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p) + i.rb.insertDecomposed(i.buf[0:outp]) + return doNormDecomposed(i) +} + +func doNormDecomposed(i *Iter) []byte { + for { + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + if i.p += int(i.info.size); i.p >= i.rb.nsrc { + i.setDone() + break + } + i.info = i.rb.f.info(i.rb.src, i.p) + if i.info.ccc == 0 { + break + } + if s := i.rb.ss.next(i.info); s == ssOverflow { + i.next = nextCGJDecompose + break + } + } + // new segment or too many combining characters: exit normalization + return i.buf[:i.rb.flushCopy(i.buf[:])] +} + +func nextCGJDecompose(i *Iter) []byte { + i.rb.ss = 0 + i.rb.insertCGJ() + i.next = nextDecomposed + i.rb.ss.first(i.info) + buf := doNormDecomposed(i) + return buf +} + +// nextComposed is the implementation of Next for forms NFC and NFKC. +func nextComposed(i *Iter) []byte { + outp, startp := 0, i.p + var prevCC uint8 + for { + if !i.info.isYesC() { + goto doNorm + } + prevCC = i.info.tccc + sz := int(i.info.size) + if sz == 0 { + sz = 1 // illegal rune: copy byte-by-byte + } + p := outp + sz + if p > len(i.buf) { + break + } + outp = p + i.p += sz + if i.p >= i.rb.nsrc { + i.setDone() + break + } else if i.rb.src._byte(i.p) < utf8.RuneSelf { + i.rb.ss = 0 + i.next = i.asciiF + break + } + i.info = i.rb.f.info(i.rb.src, i.p) + if v := i.rb.ss.next(i.info); v == ssStarter { + break + } else if v == ssOverflow { + i.next = nextCGJCompose + break + } + if i.info.ccc < prevCC { + goto doNorm + } + } + return i.returnSlice(startp, i.p) +doNorm: + // reset to start position + i.p = startp + i.info = i.rb.f.info(i.rb.src, i.p) + i.rb.ss.first(i.info) + if i.info.multiSegment() { + d := i.info.Decomposition() + info := i.rb.f.info(input{bytes: d}, 0) + i.rb.insertUnsafe(input{bytes: d}, 0, info) + i.multiSeg = d[int(info.size):] + i.next = nextMultiNorm + return nextMultiNorm(i) + } + i.rb.ss.first(i.info) + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + return doNormComposed(i) +} + +func doNormComposed(i *Iter) []byte { + // First rune should already be inserted. + for { + if i.p += int(i.info.size); i.p >= i.rb.nsrc { + i.setDone() + break + } + i.info = i.rb.f.info(i.rb.src, i.p) + if s := i.rb.ss.next(i.info); s == ssStarter { + break + } else if s == ssOverflow { + i.next = nextCGJCompose + break + } + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + } + i.rb.compose() + seg := i.buf[:i.rb.flushCopy(i.buf[:])] + return seg +} + +func nextCGJCompose(i *Iter) []byte { + i.rb.ss = 0 // instead of first + i.rb.insertCGJ() + i.next = nextComposed + // Note that we treat any rune with nLeadingNonStarters > 0 as a non-starter, + // even if they are not. This is particularly dubious for U+FF9E and UFF9A. + // If we ever change that, insert a check here. + i.rb.ss.first(i.info) + i.rb.insertUnsafe(i.rb.src, i.p, i.info) + return doNormComposed(i) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/normalize.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/normalize.go new file mode 100644 index 0000000..95efcf2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/normalize.go @@ -0,0 +1,609 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Note: the file data_test.go that is generated should not be checked in. +//go:generate go run maketables.go triegen.go +//go:generate go test -tags test + +// Package norm contains types and functions for normalizing Unicode strings. +package norm // import "golang.org/x/text/unicode/norm" + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +// A Form denotes a canonical representation of Unicode code points. +// The Unicode-defined normalization and equivalence forms are: +// +// NFC Unicode Normalization Form C +// NFD Unicode Normalization Form D +// NFKC Unicode Normalization Form KC +// NFKD Unicode Normalization Form KD +// +// For a Form f, this documentation uses the notation f(x) to mean +// the bytes or string x converted to the given form. +// A position n in x is called a boundary if conversion to the form can +// proceed independently on both sides: +// f(x) == append(f(x[0:n]), f(x[n:])...) +// +// References: https://unicode.org/reports/tr15/ and +// https://unicode.org/notes/tn5/. +type Form int + +const ( + NFC Form = iota + NFD + NFKC + NFKD +) + +// Bytes returns f(b). May return b if f(b) = b. +func (f Form) Bytes(b []byte) []byte { + src := inputBytes(b) + ft := formTable[f] + n, ok := ft.quickSpan(src, 0, len(b), true) + if ok { + return b + } + out := make([]byte, n, len(b)) + copy(out, b[0:n]) + rb := reorderBuffer{f: *ft, src: src, nsrc: len(b), out: out, flushF: appendFlush} + return doAppendInner(&rb, n) +} + +// String returns f(s). +func (f Form) String(s string) string { + src := inputString(s) + ft := formTable[f] + n, ok := ft.quickSpan(src, 0, len(s), true) + if ok { + return s + } + out := make([]byte, n, len(s)) + copy(out, s[0:n]) + rb := reorderBuffer{f: *ft, src: src, nsrc: len(s), out: out, flushF: appendFlush} + return string(doAppendInner(&rb, n)) +} + +// IsNormal returns true if b == f(b). +func (f Form) IsNormal(b []byte) bool { + src := inputBytes(b) + ft := formTable[f] + bp, ok := ft.quickSpan(src, 0, len(b), true) + if ok { + return true + } + rb := reorderBuffer{f: *ft, src: src, nsrc: len(b)} + rb.setFlusher(nil, cmpNormalBytes) + for bp < len(b) { + rb.out = b[bp:] + if bp = decomposeSegment(&rb, bp, true); bp < 0 { + return false + } + bp, _ = rb.f.quickSpan(rb.src, bp, len(b), true) + } + return true +} + +func cmpNormalBytes(rb *reorderBuffer) bool { + b := rb.out + for i := 0; i < rb.nrune; i++ { + info := rb.rune[i] + if int(info.size) > len(b) { + return false + } + p := info.pos + pe := p + info.size + for ; p < pe; p++ { + if b[0] != rb.byte[p] { + return false + } + b = b[1:] + } + } + return true +} + +// IsNormalString returns true if s == f(s). +func (f Form) IsNormalString(s string) bool { + src := inputString(s) + ft := formTable[f] + bp, ok := ft.quickSpan(src, 0, len(s), true) + if ok { + return true + } + rb := reorderBuffer{f: *ft, src: src, nsrc: len(s)} + rb.setFlusher(nil, func(rb *reorderBuffer) bool { + for i := 0; i < rb.nrune; i++ { + info := rb.rune[i] + if bp+int(info.size) > len(s) { + return false + } + p := info.pos + pe := p + info.size + for ; p < pe; p++ { + if s[bp] != rb.byte[p] { + return false + } + bp++ + } + } + return true + }) + for bp < len(s) { + if bp = decomposeSegment(&rb, bp, true); bp < 0 { + return false + } + bp, _ = rb.f.quickSpan(rb.src, bp, len(s), true) + } + return true +} + +// patchTail fixes a case where a rune may be incorrectly normalized +// if it is followed by illegal continuation bytes. It returns the +// patched buffer and whether the decomposition is still in progress. +func patchTail(rb *reorderBuffer) bool { + info, p := lastRuneStart(&rb.f, rb.out) + if p == -1 || info.size == 0 { + return true + } + end := p + int(info.size) + extra := len(rb.out) - end + if extra > 0 { + // Potentially allocating memory. However, this only + // happens with ill-formed UTF-8. + x := make([]byte, 0) + x = append(x, rb.out[len(rb.out)-extra:]...) + rb.out = rb.out[:end] + decomposeToLastBoundary(rb) + rb.doFlush() + rb.out = append(rb.out, x...) + return false + } + buf := rb.out[p:] + rb.out = rb.out[:p] + decomposeToLastBoundary(rb) + if s := rb.ss.next(info); s == ssStarter { + rb.doFlush() + rb.ss.first(info) + } else if s == ssOverflow { + rb.doFlush() + rb.insertCGJ() + rb.ss = 0 + } + rb.insertUnsafe(inputBytes(buf), 0, info) + return true +} + +func appendQuick(rb *reorderBuffer, i int) int { + if rb.nsrc == i { + return i + } + end, _ := rb.f.quickSpan(rb.src, i, rb.nsrc, true) + rb.out = rb.src.appendSlice(rb.out, i, end) + return end +} + +// Append returns f(append(out, b...)). +// The buffer out must be nil, empty, or equal to f(out). +func (f Form) Append(out []byte, src ...byte) []byte { + return f.doAppend(out, inputBytes(src), len(src)) +} + +func (f Form) doAppend(out []byte, src input, n int) []byte { + if n == 0 { + return out + } + ft := formTable[f] + // Attempt to do a quickSpan first so we can avoid initializing the reorderBuffer. + if len(out) == 0 { + p, _ := ft.quickSpan(src, 0, n, true) + out = src.appendSlice(out, 0, p) + if p == n { + return out + } + rb := reorderBuffer{f: *ft, src: src, nsrc: n, out: out, flushF: appendFlush} + return doAppendInner(&rb, p) + } + rb := reorderBuffer{f: *ft, src: src, nsrc: n} + return doAppend(&rb, out, 0) +} + +func doAppend(rb *reorderBuffer, out []byte, p int) []byte { + rb.setFlusher(out, appendFlush) + src, n := rb.src, rb.nsrc + doMerge := len(out) > 0 + if q := src.skipContinuationBytes(p); q > p { + // Move leading non-starters to destination. + rb.out = src.appendSlice(rb.out, p, q) + p = q + doMerge = patchTail(rb) + } + fd := &rb.f + if doMerge { + var info Properties + if p < n { + info = fd.info(src, p) + if !info.BoundaryBefore() || info.nLeadingNonStarters() > 0 { + if p == 0 { + decomposeToLastBoundary(rb) + } + p = decomposeSegment(rb, p, true) + } + } + if info.size == 0 { + rb.doFlush() + // Append incomplete UTF-8 encoding. + return src.appendSlice(rb.out, p, n) + } + if rb.nrune > 0 { + return doAppendInner(rb, p) + } + } + p = appendQuick(rb, p) + return doAppendInner(rb, p) +} + +func doAppendInner(rb *reorderBuffer, p int) []byte { + for n := rb.nsrc; p < n; { + p = decomposeSegment(rb, p, true) + p = appendQuick(rb, p) + } + return rb.out +} + +// AppendString returns f(append(out, []byte(s))). +// The buffer out must be nil, empty, or equal to f(out). +func (f Form) AppendString(out []byte, src string) []byte { + return f.doAppend(out, inputString(src), len(src)) +} + +// QuickSpan returns a boundary n such that b[0:n] == f(b[0:n]). +// It is not guaranteed to return the largest such n. +func (f Form) QuickSpan(b []byte) int { + n, _ := formTable[f].quickSpan(inputBytes(b), 0, len(b), true) + return n +} + +// Span implements transform.SpanningTransformer. It returns a boundary n such +// that b[0:n] == f(b[0:n]). It is not guaranteed to return the largest such n. +func (f Form) Span(b []byte, atEOF bool) (n int, err error) { + n, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), atEOF) + if n < len(b) { + if !ok { + err = transform.ErrEndOfSpan + } else { + err = transform.ErrShortSrc + } + } + return n, err +} + +// SpanString returns a boundary n such that s[0:n] == f(s[0:n]). +// It is not guaranteed to return the largest such n. +func (f Form) SpanString(s string, atEOF bool) (n int, err error) { + n, ok := formTable[f].quickSpan(inputString(s), 0, len(s), atEOF) + if n < len(s) { + if !ok { + err = transform.ErrEndOfSpan + } else { + err = transform.ErrShortSrc + } + } + return n, err +} + +// quickSpan returns a boundary n such that src[0:n] == f(src[0:n]) and +// whether any non-normalized parts were found. If atEOF is false, n will +// not point past the last segment if this segment might be become +// non-normalized by appending other runes. +func (f *formInfo) quickSpan(src input, i, end int, atEOF bool) (n int, ok bool) { + var lastCC uint8 + ss := streamSafe(0) + lastSegStart := i + for n = end; i < n; { + if j := src.skipASCII(i, n); i != j { + i = j + lastSegStart = i - 1 + lastCC = 0 + ss = 0 + continue + } + info := f.info(src, i) + if info.size == 0 { + if atEOF { + // include incomplete runes + return n, true + } + return lastSegStart, true + } + // This block needs to be before the next, because it is possible to + // have an overflow for runes that are starters (e.g. with U+FF9E). + switch ss.next(info) { + case ssStarter: + lastSegStart = i + case ssOverflow: + return lastSegStart, false + case ssSuccess: + if lastCC > info.ccc { + return lastSegStart, false + } + } + if f.composing { + if !info.isYesC() { + break + } + } else { + if !info.isYesD() { + break + } + } + lastCC = info.ccc + i += int(info.size) + } + if i == n { + if !atEOF { + n = lastSegStart + } + return n, true + } + return lastSegStart, false +} + +// QuickSpanString returns a boundary n such that s[0:n] == f(s[0:n]). +// It is not guaranteed to return the largest such n. +func (f Form) QuickSpanString(s string) int { + n, _ := formTable[f].quickSpan(inputString(s), 0, len(s), true) + return n +} + +// FirstBoundary returns the position i of the first boundary in b +// or -1 if b contains no boundary. +func (f Form) FirstBoundary(b []byte) int { + return f.firstBoundary(inputBytes(b), len(b)) +} + +func (f Form) firstBoundary(src input, nsrc int) int { + i := src.skipContinuationBytes(0) + if i >= nsrc { + return -1 + } + fd := formTable[f] + ss := streamSafe(0) + // We should call ss.first here, but we can't as the first rune is + // skipped already. This means FirstBoundary can't really determine + // CGJ insertion points correctly. Luckily it doesn't have to. + for { + info := fd.info(src, i) + if info.size == 0 { + return -1 + } + if s := ss.next(info); s != ssSuccess { + return i + } + i += int(info.size) + if i >= nsrc { + if !info.BoundaryAfter() && !ss.isMax() { + return -1 + } + return nsrc + } + } +} + +// FirstBoundaryInString returns the position i of the first boundary in s +// or -1 if s contains no boundary. +func (f Form) FirstBoundaryInString(s string) int { + return f.firstBoundary(inputString(s), len(s)) +} + +// NextBoundary reports the index of the boundary between the first and next +// segment in b or -1 if atEOF is false and there are not enough bytes to +// determine this boundary. +func (f Form) NextBoundary(b []byte, atEOF bool) int { + return f.nextBoundary(inputBytes(b), len(b), atEOF) +} + +// NextBoundaryInString reports the index of the boundary between the first and +// next segment in b or -1 if atEOF is false and there are not enough bytes to +// determine this boundary. +func (f Form) NextBoundaryInString(s string, atEOF bool) int { + return f.nextBoundary(inputString(s), len(s), atEOF) +} + +func (f Form) nextBoundary(src input, nsrc int, atEOF bool) int { + if nsrc == 0 { + if atEOF { + return 0 + } + return -1 + } + fd := formTable[f] + info := fd.info(src, 0) + if info.size == 0 { + if atEOF { + return 1 + } + return -1 + } + ss := streamSafe(0) + ss.first(info) + + for i := int(info.size); i < nsrc; i += int(info.size) { + info = fd.info(src, i) + if info.size == 0 { + if atEOF { + return i + } + return -1 + } + // TODO: Using streamSafe to determine the boundary isn't the same as + // using BoundaryBefore. Determine which should be used. + if s := ss.next(info); s != ssSuccess { + return i + } + } + if !atEOF && !info.BoundaryAfter() && !ss.isMax() { + return -1 + } + return nsrc +} + +// LastBoundary returns the position i of the last boundary in b +// or -1 if b contains no boundary. +func (f Form) LastBoundary(b []byte) int { + return lastBoundary(formTable[f], b) +} + +func lastBoundary(fd *formInfo, b []byte) int { + i := len(b) + info, p := lastRuneStart(fd, b) + if p == -1 { + return -1 + } + if info.size == 0 { // ends with incomplete rune + if p == 0 { // starts with incomplete rune + return -1 + } + i = p + info, p = lastRuneStart(fd, b[:i]) + if p == -1 { // incomplete UTF-8 encoding or non-starter bytes without a starter + return i + } + } + if p+int(info.size) != i { // trailing non-starter bytes: illegal UTF-8 + return i + } + if info.BoundaryAfter() { + return i + } + ss := streamSafe(0) + v := ss.backwards(info) + for i = p; i >= 0 && v != ssStarter; i = p { + info, p = lastRuneStart(fd, b[:i]) + if v = ss.backwards(info); v == ssOverflow { + break + } + if p+int(info.size) != i { + if p == -1 { // no boundary found + return -1 + } + return i // boundary after an illegal UTF-8 encoding + } + } + return i +} + +// decomposeSegment scans the first segment in src into rb. It inserts 0x034f +// (Grapheme Joiner) when it encounters a sequence of more than 30 non-starters +// and returns the number of bytes consumed from src or iShortDst or iShortSrc. +func decomposeSegment(rb *reorderBuffer, sp int, atEOF bool) int { + // Force one character to be consumed. + info := rb.f.info(rb.src, sp) + if info.size == 0 { + return 0 + } + if s := rb.ss.next(info); s == ssStarter { + // TODO: this could be removed if we don't support merging. + if rb.nrune > 0 { + goto end + } + } else if s == ssOverflow { + rb.insertCGJ() + goto end + } + if err := rb.insertFlush(rb.src, sp, info); err != iSuccess { + return int(err) + } + for { + sp += int(info.size) + if sp >= rb.nsrc { + if !atEOF && !info.BoundaryAfter() { + return int(iShortSrc) + } + break + } + info = rb.f.info(rb.src, sp) + if info.size == 0 { + if !atEOF { + return int(iShortSrc) + } + break + } + if s := rb.ss.next(info); s == ssStarter { + break + } else if s == ssOverflow { + rb.insertCGJ() + break + } + if err := rb.insertFlush(rb.src, sp, info); err != iSuccess { + return int(err) + } + } +end: + if !rb.doFlush() { + return int(iShortDst) + } + return sp +} + +// lastRuneStart returns the runeInfo and position of the last +// rune in buf or the zero runeInfo and -1 if no rune was found. +func lastRuneStart(fd *formInfo, buf []byte) (Properties, int) { + p := len(buf) - 1 + for ; p >= 0 && !utf8.RuneStart(buf[p]); p-- { + } + if p < 0 { + return Properties{}, -1 + } + return fd.info(inputBytes(buf), p), p +} + +// decomposeToLastBoundary finds an open segment at the end of the buffer +// and scans it into rb. Returns the buffer minus the last segment. +func decomposeToLastBoundary(rb *reorderBuffer) { + fd := &rb.f + info, i := lastRuneStart(fd, rb.out) + if int(info.size) != len(rb.out)-i { + // illegal trailing continuation bytes + return + } + if info.BoundaryAfter() { + return + } + var add [maxNonStarters + 1]Properties // stores runeInfo in reverse order + padd := 0 + ss := streamSafe(0) + p := len(rb.out) + for { + add[padd] = info + v := ss.backwards(info) + if v == ssOverflow { + // Note that if we have an overflow, it the string we are appending to + // is not correctly normalized. In this case the behavior is undefined. + break + } + padd++ + p -= int(info.size) + if v == ssStarter || p < 0 { + break + } + info, i = lastRuneStart(fd, rb.out[:p]) + if int(info.size) != p-i { + break + } + } + rb.ss = ss + // Copy bytes for insertion as we may need to overwrite rb.out. + var buf [maxBufferSize * utf8.UTFMax]byte + cp := buf[:copy(buf[:], rb.out[p:])] + rb.out = rb.out[:p] + for padd--; padd >= 0; padd-- { + info = add[padd] + rb.insertUnsafe(inputBytes(cp), 0, info) + cp = cp[info.size:] + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/readwriter.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/readwriter.go new file mode 100644 index 0000000..b38096f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/readwriter.go @@ -0,0 +1,125 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import "io" + +type normWriter struct { + rb reorderBuffer + w io.Writer + buf []byte +} + +// Write implements the standard write interface. If the last characters are +// not at a normalization boundary, the bytes will be buffered for the next +// write. The remaining bytes will be written on close. +func (w *normWriter) Write(data []byte) (n int, err error) { + // Process data in pieces to keep w.buf size bounded. + const chunk = 4000 + + for len(data) > 0 { + // Normalize into w.buf. + m := len(data) + if m > chunk { + m = chunk + } + w.rb.src = inputBytes(data[:m]) + w.rb.nsrc = m + w.buf = doAppend(&w.rb, w.buf, 0) + data = data[m:] + n += m + + // Write out complete prefix, save remainder. + // Note that lastBoundary looks back at most 31 runes. + i := lastBoundary(&w.rb.f, w.buf) + if i == -1 { + i = 0 + } + if i > 0 { + if _, err = w.w.Write(w.buf[:i]); err != nil { + break + } + bn := copy(w.buf, w.buf[i:]) + w.buf = w.buf[:bn] + } + } + return n, err +} + +// Close forces data that remains in the buffer to be written. +func (w *normWriter) Close() error { + if len(w.buf) > 0 { + _, err := w.w.Write(w.buf) + if err != nil { + return err + } + } + return nil +} + +// Writer returns a new writer that implements Write(b) +// by writing f(b) to w. The returned writer may use an +// internal buffer to maintain state across Write calls. +// Calling its Close method writes any buffered data to w. +func (f Form) Writer(w io.Writer) io.WriteCloser { + wr := &normWriter{rb: reorderBuffer{}, w: w} + wr.rb.init(f, nil) + return wr +} + +type normReader struct { + rb reorderBuffer + r io.Reader + inbuf []byte + outbuf []byte + bufStart int + lastBoundary int + err error +} + +// Read implements the standard read interface. +func (r *normReader) Read(p []byte) (int, error) { + for { + if r.lastBoundary-r.bufStart > 0 { + n := copy(p, r.outbuf[r.bufStart:r.lastBoundary]) + r.bufStart += n + if r.lastBoundary-r.bufStart > 0 { + return n, nil + } + return n, r.err + } + if r.err != nil { + return 0, r.err + } + outn := copy(r.outbuf, r.outbuf[r.lastBoundary:]) + r.outbuf = r.outbuf[0:outn] + r.bufStart = 0 + + n, err := r.r.Read(r.inbuf) + r.rb.src = inputBytes(r.inbuf[0:n]) + r.rb.nsrc, r.err = n, err + if n > 0 { + r.outbuf = doAppend(&r.rb, r.outbuf, 0) + } + if err == io.EOF { + r.lastBoundary = len(r.outbuf) + } else { + r.lastBoundary = lastBoundary(&r.rb.f, r.outbuf) + if r.lastBoundary == -1 { + r.lastBoundary = 0 + } + } + } +} + +// Reader returns a new reader that implements Read +// by reading data from r and returning f(data). +func (f Form) Reader(r io.Reader) io.Reader { + const chunk = 4000 + buf := make([]byte, chunk) + rr := &normReader{rb: reorderBuffer{}, r: r, inbuf: buf} + rr.rb.init(f, buf) + return rr +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go new file mode 100644 index 0000000..26fbd55 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go @@ -0,0 +1,7657 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.10,!go1.13 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "10.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2C9E + endMulti = 0x2F60 + firstLeadingCCC = 0x49AE + firstCCCZeroExcept = 0x4A78 + firstStarterWithNLead = 0x4A9F + lastDecomp = 0x4AA1 + maxDecomp = 0x8000 +) + +// decomps: 19105 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, + 0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, + 0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, + 0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, + 0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, + 0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, + 0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, + 0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, + 0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, + 0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, + 0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, + 0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, + 0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, + 0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, + 0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, + 0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, + 0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, + 0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, + 0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, + 0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, + 0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, + 0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, + 0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, + 0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, + 0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, + 0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, + 0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, + 0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, + 0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, + // Bytes 1a80 - 1abf + 0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, + 0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, + 0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, + 0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, + 0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, + 0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, + 0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, + 0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, + // Bytes 1ac0 - 1aff + 0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, + 0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, + 0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, + 0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, + 0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, + 0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, + 0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, + 0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, + // Bytes 1b00 - 1b3f + 0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, + 0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, + 0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, + 0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, + 0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, + 0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, + 0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, + 0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, + // Bytes 1b40 - 1b7f + 0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, + 0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, + 0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, + 0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, + 0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, + 0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, + 0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, + 0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, + // Bytes 1b80 - 1bbf + 0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, + 0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, + 0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, + 0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, + 0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, + 0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, + 0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, + 0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, + // Bytes 1bc0 - 1bff + 0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, + 0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, + 0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, + 0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, + 0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, + 0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, + 0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, + // Bytes 1c00 - 1c3f + 0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, + 0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, + 0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, + 0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, + 0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, + 0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, + 0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, + 0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, + // Bytes 1c40 - 1c7f + 0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, + 0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, + 0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, + 0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, + 0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, + 0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, + 0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, + 0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, + // Bytes 1c80 - 1cbf + 0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, + 0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, + 0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, + 0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, + 0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, + 0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, + 0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, + 0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, + // Bytes 1cc0 - 1cff + 0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, + 0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, + 0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, + 0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, + 0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, + 0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, + 0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, + 0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, + // Bytes 1d00 - 1d3f + 0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, + 0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, + 0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, + 0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, + 0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, + 0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, + 0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, + 0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, + // Bytes 1d40 - 1d7f + 0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, + 0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, + 0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, + 0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, + 0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, + 0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, + 0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, + 0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, + // Bytes 1d80 - 1dbf + 0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, + 0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, + 0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, + 0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, + 0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, + 0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, + 0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, + 0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, + // Bytes 1dc0 - 1dff + 0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, + 0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, + 0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, + 0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, + 0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, + 0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, + 0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, + 0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, + // Bytes 1e00 - 1e3f + 0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, + 0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, + 0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, + 0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, + 0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, + 0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, + 0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, + 0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, + // Bytes 1e40 - 1e7f + 0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, + 0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, + 0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, + 0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, + 0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, + 0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, + 0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, + 0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1e80 - 1ebf + 0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, + 0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, + 0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, + 0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, + 0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, + 0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, + 0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, + 0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, + // Bytes 1ec0 - 1eff + 0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, + 0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, + 0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, + 0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, + 0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, + 0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, + 0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, + 0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, + // Bytes 1f00 - 1f3f + 0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, + 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, + 0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, + 0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, + 0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, + 0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, + 0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, + 0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, + // Bytes 1f40 - 1f7f + 0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, + 0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, + 0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, + 0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, + 0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, + 0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, + 0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, + 0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, + // Bytes 1f80 - 1fbf + 0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, + 0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, + 0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, + 0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, + 0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, + 0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, + 0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, + 0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, + // Bytes 1fc0 - 1fff + 0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, + 0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, + 0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, + 0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, + 0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, + 0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, + 0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, + 0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, + // Bytes 2000 - 203f + 0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, + 0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, + 0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, + 0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, + 0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, + 0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, + 0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, + 0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, + // Bytes 2040 - 207f + 0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, + 0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, + 0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, + 0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, + 0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, + 0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, + 0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, + 0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, + // Bytes 2100 - 213f + 0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, + 0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, + 0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, + 0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, + 0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, + 0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, + 0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, + 0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, + 0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, + 0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, + 0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, + // Bytes 21c0 - 21ff + 0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, + // Bytes 2240 - 227f + 0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, + // Bytes 2280 - 22bf + 0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, + 0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, + 0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, + 0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, + 0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, + // Bytes 2300 - 233f + 0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, + 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, + // Bytes 2340 - 237f + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, + // Bytes 2380 - 23bf + 0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, + // Bytes 23c0 - 23ff + 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, + 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, + // Bytes 2400 - 243f + 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, + 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, + 0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, + 0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, + // Bytes 2440 - 247f + 0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, + // Bytes 2480 - 24bf + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, + 0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, + 0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, + // Bytes 24c0 - 24ff + 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, + // Bytes 2500 - 253f + 0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + 0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, + // Bytes 2540 - 257f + 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, + 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2580 - 25bf + 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, + 0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, + // Bytes 25c0 - 25ff + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, + 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, + 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, + 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, + // Bytes 2640 - 267f + 0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, + 0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, + 0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, + 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, + 0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, + 0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, + // Bytes 26c0 - 26ff + 0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, + 0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, + 0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, + 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, + 0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, + 0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, + // Bytes 2700 - 273f + 0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90, + 0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46, + 0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72, + 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3, + 0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, + // Bytes 2740 - 277f + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29, + // Bytes 2780 - 27bf + 0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61, + 0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8, + 0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48, + // Bytes 27c0 - 27ff + 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, + 0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9, + 0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, + 0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8, + 0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84, + 0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2, + // Bytes 2800 - 283f + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3, + 0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B, + // Bytes 2840 - 287f + 0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C, + 0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95, + // Bytes 2880 - 28bf + 0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6, + 0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, + 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, + 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1, + // Bytes 28c0 - 28ff + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A, + 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, + 0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3, + 0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3, + // Bytes 2940 - 297f + 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3, + 0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF, + 0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82, + // Bytes 2980 - 29bf + 0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82, + 0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3, + // Bytes 29c0 - 29ff + 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2a40 - 2a7f + 0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3, + 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, + 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92, + 0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9, + // Bytes 2b00 - 2b3f + 0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, + 0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84, + 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3, + // Bytes 2bc0 - 2bff + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + 0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, + 0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, + 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9, + // Bytes 2c80 - 2cbf + 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, + 0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, + 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2cc0 - 2cff + 0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0, + 0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2d00 - 2d3f + 0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0, + 0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1, + 0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1, + 0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0, + // Bytes 2d80 - 2dbf + 0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01, + 0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84, + 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, + 0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D, + 0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0, + 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01, + 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, + 0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, + // Bytes 2dc0 - 2dff + 0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96, + 0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, + 0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01, + 0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, + 0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44, + 0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC, + 0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9, + // Bytes 2e00 - 2e3f + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e40 - 2e7f + 0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, + 0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e80 - 2ebf + 0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, + 0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, + 0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83, + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, + // Bytes 2f00 - 2f3f + 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, + 0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, + 0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, + 0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, + 0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81, + 0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41, + // Bytes 2f80 - 2fbf + 0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9, + 0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC, + 0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03, + 0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8, + 0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42, + 0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5, + 0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC, + 0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03, + // Bytes 2fc0 - 2fff + 0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87, + 0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44, + 0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5, + 0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC, + 0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03, + 0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83, + 0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45, + 0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9, + // Bytes 3000 - 303f + 0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC, + 0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03, + 0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8, + 0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45, + 0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9, + 0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC, + 0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03, + 0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87, + // Bytes 3040 - 307f + 0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47, + 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9, + 0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC, + 0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03, + 0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7, + 0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49, + 0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9, + 0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC, + // Bytes 3080 - 30bf + 0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03, + 0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87, + 0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49, + 0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9, + 0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC, + 0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03, + 0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82, + 0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B, + // Bytes 30c0 - 30ff + 0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5, + 0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC, + 0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03, + 0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7, + 0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C, + 0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9, + 0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC, + 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03, + // Bytes 3100 - 313f + 0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83, + 0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E, + 0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5, + 0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC, + 0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03, + 0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81, + 0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F, + 0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9, + // Bytes 3140 - 317f + 0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC, + 0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03, + 0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87, + 0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52, + 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9, + 0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC, + 0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03, + 0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82, + // Bytes 3180 - 31bf + 0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53, + 0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5, + 0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC, + 0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03, + 0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7, + 0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54, + 0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9, + 0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC, + // Bytes 31c0 - 31ff + 0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03, + 0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A, + 0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55, + 0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9, + 0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC, + 0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03, + 0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD, + 0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56, + // Bytes 3200 - 323f + 0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5, + 0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC, + 0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03, + 0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88, + 0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58, + 0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9, + 0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC, + 0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03, + // Bytes 3240 - 327f + 0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84, + 0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9, + 0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC, + 0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03, + 0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C, + 0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, + 0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9, + // Bytes 3280 - 32bf + 0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC, + 0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03, + 0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C, + 0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61, + 0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5, + 0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC, + 0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03, + 0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81, + // Bytes 32c0 - 32ff + 0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63, + 0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9, + 0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC, + 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03, + 0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD, + 0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65, + 0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9, + 0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC, + // Bytes 3300 - 333f + 0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03, + 0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89, + 0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65, + 0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9, + 0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC, + 0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03, + 0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81, + 0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67, + // Bytes 3340 - 337f + 0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9, + 0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, + 0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03, + 0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87, + 0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68, + 0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5, + 0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC, + 0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3380 - 33bf + 0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81, + 0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69, + 0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9, + 0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC, + 0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03, + 0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91, + 0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69, + 0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5, + // Bytes 33c0 - 33ff + 0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC, + 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03, + 0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3, + 0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B, + 0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9, + 0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC, + 0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03, + 0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81, + // Bytes 3400 - 343f + 0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D, + 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9, + 0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC, + 0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03, + 0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3, + 0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E, + 0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5, + 0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC, + // Bytes 3440 - 347f + 0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03, + 0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B, + 0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F, + 0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9, + 0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC, + 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03, + 0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C, + 0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72, + // Bytes 3480 - 34bf + 0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5, + 0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC, + 0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03, + 0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7, + 0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74, + 0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9, + 0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC, + 0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03, + // Bytes 34c0 - 34ff + 0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1, + 0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75, + 0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9, + 0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC, + 0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03, + 0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C, + 0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75, + 0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5, + // Bytes 3500 - 353f + 0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC, + 0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03, + 0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83, + 0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77, + 0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9, + 0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC, + 0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03, + 0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3, + // Bytes 3540 - 357f + 0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78, + 0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9, + 0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC, + 0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03, + 0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87, + 0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9, + 0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC, + // Bytes 3580 - 35bf + 0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03, + 0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C, + 0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, + 0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80, + 0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04, + 0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86, + 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84, + 0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04, + // Bytes 35c0 - 35ff + 0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6, + 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81, + 0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04, + 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92, + 0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85, + // Bytes 3600 - 363f + 0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04, + 0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F, + // Bytes 3640 - 367f + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04, + // Bytes 3680 - 36bf + 0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85, + 0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7, + 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82, + // Bytes 36c0 - 36ff + 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81, + 0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94, + 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04, + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85, + 0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86, + 0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04, + 0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92, + // Bytes 3700 - 373f + 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81, + 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3740 - 377f + 0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84, + 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04, + 0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A, + 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04, + 0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, + // Bytes 3780 - 37bf + 0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6, + // Bytes 37c0 - 37ff + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8, + 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04, + 0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83, + 0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86, + 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3800 - 383f + 0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87, + 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88, + 0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04, + 0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4, + 0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, + 0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04, + 0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8, + 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88, + // Bytes 3840 - 387f + 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94, + 0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04, + 0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92, + 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94, + 0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3880 - 38bf + 0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, + 0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA, + 0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, + 0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41, + // Bytes 38c0 - 38ff + 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7, + 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, + // Bytes 3900 - 393f + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7, + 0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83, + // Bytes 3940 - 397f + 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + 0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + 0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + // Bytes 3980 - 39bf + 0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, + 0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, + 0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53, + 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, + 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3, + 0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, + // Bytes 39c0 - 39ff + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + // Bytes 3a00 - 3a3f + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, + 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA, + 0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + // Bytes 3a40 - 3a7f + 0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61, + 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC, + 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, + 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA, + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65, + // Bytes 3a80 - 3abf + 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC, + 0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + // Bytes 3ac0 - 3aff + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83, + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, + 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + // Bytes 3b00 - 3b3f + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + 0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72, + 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC, + 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C, + 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC, + // Bytes 3b40 - 3b7f + 0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, + // Bytes 3b80 - 3bbf + 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05, + 0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE, + 0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, + 0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + 0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, + 0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, + // Bytes 3bc0 - 3bff + 0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c00 - 3c3f + 0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3c40 - 3c7f + 0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + // Bytes 3c80 - 3cbf + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, + // Bytes 3cc0 - 3cff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, + 0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + // Bytes 3d00 - 3d3f + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3d40 - 3d7f + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + // Bytes 3d80 - 3dbf + 0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + // Bytes 3dc0 - 3dff + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + // Bytes 3e00 - 3e3f + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3e40 - 3e7f + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + // Bytes 3e80 - 3ebf + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + // Bytes 3ec0 - 3eff + 0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85, + 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11, + // Bytes 3f00 - 3f3f + 0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f40 - 3f7f + 0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f80 - 3fbf + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D, + // Bytes 3fc0 - 3fff + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4000 - 403f + 0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4040 - 407f + 0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4080 - 40bf + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 40c0 - 40ff + 0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + // Bytes 4100 - 413f + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + // Bytes 4140 - 417f + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, + // Bytes 4180 - 41bf + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + // Bytes 41c0 - 41ff + 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + // Bytes 4200 - 423f + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, + // Bytes 4240 - 427f + 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, + 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, + 0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2, + 0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43, + 0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84, + 0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20, + 0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9, + 0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC, + // Bytes 4280 - 42bf + 0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43, + 0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94, + 0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20, + 0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5, + 0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD, + 0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43, + 0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D, + 0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20, + // Bytes 42c0 - 42ff + 0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D, + 0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9, + 0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43, + 0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82, + 0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D, + 0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE, + 0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9, + // Bytes 4300 - 433f + 0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, + 0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC, + // Bytes 4340 - 437f + 0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9, + 0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7, + 0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7, + // Bytes 4380 - 43bf + 0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7, + 0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41, + // Bytes 43c0 - 43ff + 0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49, + 0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7, + 0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6, + // Bytes 4400 - 443f + 0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31, + 0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8, + 0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, + 0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8, + 0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9, + 0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65, + 0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9, + // Bytes 4440 - 447f + 0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9, + 0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75, + 0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9, + 0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, + 0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC, + // Bytes 4480 - 44bf + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, + // Bytes 44c0 - 44ff + 0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72, + 0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45, + 0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20, + 0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB, + 0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6, + 0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6, + // Bytes 4500 - 453f + 0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9, + 0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85, + 0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, + 0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + 0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49, + // Bytes 4600 - 463f + 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + 0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, + 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, + 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + // Bytes 4640 - 467f + 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE, + 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, + 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, + 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + // Bytes 4680 - 46bf + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, + 0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC, + 0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83, + 0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A, + 0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43, + 0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9, + 0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC, + 0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 46c0 - 46ff + 0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3, + 0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F, + 0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9, + 0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC, + 0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83, + 0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8, + 0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53, + 0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9, + // Bytes 4700 - 473f + 0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC, + 0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83, + 0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B, + 0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61, + 0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9, + 0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC, + 0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83, + 0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82, + // Bytes 4740 - 477f + 0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65, + 0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5, + 0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC, + 0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83, + 0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84, + 0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F, + 0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD, + 0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + // Bytes 4780 - 47bf + 0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83, + 0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C, + 0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75, + 0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9, + 0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC, + 0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC, + // Bytes 47c0 - 47ff + 0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE, + // Bytes 4800 - 483f + 0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE, + 0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9, + 0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE, + 0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9, + // Bytes 4840 - 487f + 0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE, + 0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF, + 0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC, + 0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF, + 0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC, + // Bytes 4880 - 48bf + 0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + // Bytes 48c0 - 48ff + 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + // Bytes 4900 - 493f + 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + // Bytes 4940 - 497f + 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + // Bytes 4980 - 49bf + 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC, + 0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32, + 0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85, + // Bytes 49c0 - 49ff + 0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, + // Bytes 4a00 - 4a3f + 0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, + // Bytes 4a40 - 4a7f + 0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, + 0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, + 0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32, + 0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3, + // Bytes 4a80 - 4abf + 0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00, + 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10442 bytes (10.20 KiB). Checksum: 4ba400a9d8208e03. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 45: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 45 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 47 blocks, 3008 entries, 6016 bytes +// The third block is the zero block. +var nfcValues = [3008]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, + // Block 0x5, offset 0x140 + 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a1, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b, + 0x2c6: 0xa000, 0x2c7: 0x3709, + 0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3733, 0x302: 0x37b7, + 0x310: 0x370f, 0x311: 0x3793, + 0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd, + 0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf, + 0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed, + 0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805, + 0x338: 0x3787, 0x339: 0x380b, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xa000, + 0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000, + 0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000, + 0x3d2: 0x2d4e, + 0x3f4: 0x8102, 0x3f5: 0x9900, + 0x3fa: 0xa000, 0x3fb: 0x2d56, + 0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000, + // Block 0x10, offset 0x400 + 0x400: 0x8132, 0x401: 0x8132, 0x402: 0x812d, 0x403: 0x8132, 0x404: 0x8132, 0x405: 0x8132, + 0x406: 0x8132, 0x407: 0x8132, 0x408: 0x8132, 0x409: 0x8132, 0x40a: 0x812d, 0x40b: 0x8132, + 0x40c: 0x8132, 0x40d: 0x8135, 0x40e: 0x812a, 0x40f: 0x812d, 0x410: 0x8129, 0x411: 0x8132, + 0x412: 0x8132, 0x413: 0x8132, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, + 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, + 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x422: 0x8132, 0x423: 0x8132, + 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x8132, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x8132, + 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x8132, 0x42e: 0x8132, 0x42f: 0x8132, + 0x430: 0x8132, 0x431: 0x8132, 0x432: 0x8132, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, + 0x436: 0x8133, 0x437: 0x8131, 0x438: 0x8131, 0x439: 0x812d, 0x43b: 0x8132, + 0x43c: 0x8134, 0x43d: 0x812d, 0x43e: 0x8132, 0x43f: 0x812d, + // Block 0x11, offset 0x440 + 0x440: 0x2f97, 0x441: 0x32a3, 0x442: 0x2fa1, 0x443: 0x32ad, 0x444: 0x2fa6, 0x445: 0x32b2, + 0x446: 0x2fab, 0x447: 0x32b7, 0x448: 0x38cc, 0x449: 0x3a5b, 0x44a: 0x2fc4, 0x44b: 0x32d0, + 0x44c: 0x2fce, 0x44d: 0x32da, 0x44e: 0x2fdd, 0x44f: 0x32e9, 0x450: 0x2fd3, 0x451: 0x32df, + 0x452: 0x2fd8, 0x453: 0x32e4, 0x454: 0x38ef, 0x455: 0x3a7e, 0x456: 0x38f6, 0x457: 0x3a85, + 0x458: 0x3019, 0x459: 0x3325, 0x45a: 0x301e, 0x45b: 0x332a, 0x45c: 0x3904, 0x45d: 0x3a93, + 0x45e: 0x3023, 0x45f: 0x332f, 0x460: 0x3032, 0x461: 0x333e, 0x462: 0x3050, 0x463: 0x335c, + 0x464: 0x305f, 0x465: 0x336b, 0x466: 0x3055, 0x467: 0x3361, 0x468: 0x3064, 0x469: 0x3370, + 0x46a: 0x3069, 0x46b: 0x3375, 0x46c: 0x30af, 0x46d: 0x33bb, 0x46e: 0x390b, 0x46f: 0x3a9a, + 0x470: 0x30b9, 0x471: 0x33ca, 0x472: 0x30c3, 0x473: 0x33d4, 0x474: 0x30cd, 0x475: 0x33de, + 0x476: 0x46c4, 0x477: 0x4755, 0x478: 0x3912, 0x479: 0x3aa1, 0x47a: 0x30e6, 0x47b: 0x33f7, + 0x47c: 0x30e1, 0x47d: 0x33f2, 0x47e: 0x30eb, 0x47f: 0x33fc, + // Block 0x12, offset 0x480 + 0x480: 0x30f0, 0x481: 0x3401, 0x482: 0x30f5, 0x483: 0x3406, 0x484: 0x3109, 0x485: 0x341a, + 0x486: 0x3113, 0x487: 0x3424, 0x488: 0x3122, 0x489: 0x3433, 0x48a: 0x311d, 0x48b: 0x342e, + 0x48c: 0x3935, 0x48d: 0x3ac4, 0x48e: 0x3943, 0x48f: 0x3ad2, 0x490: 0x394a, 0x491: 0x3ad9, + 0x492: 0x3951, 0x493: 0x3ae0, 0x494: 0x314f, 0x495: 0x3460, 0x496: 0x3154, 0x497: 0x3465, + 0x498: 0x315e, 0x499: 0x346f, 0x49a: 0x46f1, 0x49b: 0x4782, 0x49c: 0x3997, 0x49d: 0x3b26, + 0x49e: 0x3177, 0x49f: 0x3488, 0x4a0: 0x3181, 0x4a1: 0x3492, 0x4a2: 0x4700, 0x4a3: 0x4791, + 0x4a4: 0x399e, 0x4a5: 0x3b2d, 0x4a6: 0x39a5, 0x4a7: 0x3b34, 0x4a8: 0x39ac, 0x4a9: 0x3b3b, + 0x4aa: 0x3190, 0x4ab: 0x34a1, 0x4ac: 0x319a, 0x4ad: 0x34b0, 0x4ae: 0x31ae, 0x4af: 0x34c4, + 0x4b0: 0x31a9, 0x4b1: 0x34bf, 0x4b2: 0x31ea, 0x4b3: 0x3500, 0x4b4: 0x31f9, 0x4b5: 0x350f, + 0x4b6: 0x31f4, 0x4b7: 0x350a, 0x4b8: 0x39b3, 0x4b9: 0x3b42, 0x4ba: 0x39ba, 0x4bb: 0x3b49, + 0x4bc: 0x31fe, 0x4bd: 0x3514, 0x4be: 0x3203, 0x4bf: 0x3519, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x3208, 0x4c1: 0x351e, 0x4c2: 0x320d, 0x4c3: 0x3523, 0x4c4: 0x321c, 0x4c5: 0x3532, + 0x4c6: 0x3217, 0x4c7: 0x352d, 0x4c8: 0x3221, 0x4c9: 0x353c, 0x4ca: 0x3226, 0x4cb: 0x3541, + 0x4cc: 0x322b, 0x4cd: 0x3546, 0x4ce: 0x3249, 0x4cf: 0x3564, 0x4d0: 0x3262, 0x4d1: 0x3582, + 0x4d2: 0x3271, 0x4d3: 0x3591, 0x4d4: 0x3276, 0x4d5: 0x3596, 0x4d6: 0x337a, 0x4d7: 0x34a6, + 0x4d8: 0x3537, 0x4d9: 0x3573, 0x4db: 0x35d1, + 0x4e0: 0x46a1, 0x4e1: 0x4732, 0x4e2: 0x2f83, 0x4e3: 0x328f, + 0x4e4: 0x3878, 0x4e5: 0x3a07, 0x4e6: 0x3871, 0x4e7: 0x3a00, 0x4e8: 0x3886, 0x4e9: 0x3a15, + 0x4ea: 0x387f, 0x4eb: 0x3a0e, 0x4ec: 0x38be, 0x4ed: 0x3a4d, 0x4ee: 0x3894, 0x4ef: 0x3a23, + 0x4f0: 0x388d, 0x4f1: 0x3a1c, 0x4f2: 0x38a2, 0x4f3: 0x3a31, 0x4f4: 0x389b, 0x4f5: 0x3a2a, + 0x4f6: 0x38c5, 0x4f7: 0x3a54, 0x4f8: 0x46b5, 0x4f9: 0x4746, 0x4fa: 0x3000, 0x4fb: 0x330c, + 0x4fc: 0x2fec, 0x4fd: 0x32f8, 0x4fe: 0x38da, 0x4ff: 0x3a69, + // Block 0x14, offset 0x500 + 0x500: 0x38d3, 0x501: 0x3a62, 0x502: 0x38e8, 0x503: 0x3a77, 0x504: 0x38e1, 0x505: 0x3a70, + 0x506: 0x38fd, 0x507: 0x3a8c, 0x508: 0x3091, 0x509: 0x339d, 0x50a: 0x30a5, 0x50b: 0x33b1, + 0x50c: 0x46e7, 0x50d: 0x4778, 0x50e: 0x3136, 0x50f: 0x3447, 0x510: 0x3920, 0x511: 0x3aaf, + 0x512: 0x3919, 0x513: 0x3aa8, 0x514: 0x392e, 0x515: 0x3abd, 0x516: 0x3927, 0x517: 0x3ab6, + 0x518: 0x3989, 0x519: 0x3b18, 0x51a: 0x396d, 0x51b: 0x3afc, 0x51c: 0x3966, 0x51d: 0x3af5, + 0x51e: 0x397b, 0x51f: 0x3b0a, 0x520: 0x3974, 0x521: 0x3b03, 0x522: 0x3982, 0x523: 0x3b11, + 0x524: 0x31e5, 0x525: 0x34fb, 0x526: 0x31c7, 0x527: 0x34dd, 0x528: 0x39e4, 0x529: 0x3b73, + 0x52a: 0x39dd, 0x52b: 0x3b6c, 0x52c: 0x39f2, 0x52d: 0x3b81, 0x52e: 0x39eb, 0x52f: 0x3b7a, + 0x530: 0x39f9, 0x531: 0x3b88, 0x532: 0x3230, 0x533: 0x354b, 0x534: 0x3258, 0x535: 0x3578, + 0x536: 0x3253, 0x537: 0x356e, 0x538: 0x323f, 0x539: 0x355a, + // Block 0x15, offset 0x540 + 0x540: 0x4804, 0x541: 0x480a, 0x542: 0x491e, 0x543: 0x4936, 0x544: 0x4926, 0x545: 0x493e, + 0x546: 0x492e, 0x547: 0x4946, 0x548: 0x47aa, 0x549: 0x47b0, 0x54a: 0x488e, 0x54b: 0x48a6, + 0x54c: 0x4896, 0x54d: 0x48ae, 0x54e: 0x489e, 0x54f: 0x48b6, 0x550: 0x4816, 0x551: 0x481c, + 0x552: 0x3db8, 0x553: 0x3dc8, 0x554: 0x3dc0, 0x555: 0x3dd0, + 0x558: 0x47b6, 0x559: 0x47bc, 0x55a: 0x3ce8, 0x55b: 0x3cf8, 0x55c: 0x3cf0, 0x55d: 0x3d00, + 0x560: 0x482e, 0x561: 0x4834, 0x562: 0x494e, 0x563: 0x4966, + 0x564: 0x4956, 0x565: 0x496e, 0x566: 0x495e, 0x567: 0x4976, 0x568: 0x47c2, 0x569: 0x47c8, + 0x56a: 0x48be, 0x56b: 0x48d6, 0x56c: 0x48c6, 0x56d: 0x48de, 0x56e: 0x48ce, 0x56f: 0x48e6, + 0x570: 0x4846, 0x571: 0x484c, 0x572: 0x3e18, 0x573: 0x3e30, 0x574: 0x3e20, 0x575: 0x3e38, + 0x576: 0x3e28, 0x577: 0x3e40, 0x578: 0x47ce, 0x579: 0x47d4, 0x57a: 0x3d18, 0x57b: 0x3d30, + 0x57c: 0x3d20, 0x57d: 0x3d38, 0x57e: 0x3d28, 0x57f: 0x3d40, + // Block 0x16, offset 0x580 + 0x580: 0x4852, 0x581: 0x4858, 0x582: 0x3e48, 0x583: 0x3e58, 0x584: 0x3e50, 0x585: 0x3e60, + 0x588: 0x47da, 0x589: 0x47e0, 0x58a: 0x3d48, 0x58b: 0x3d58, + 0x58c: 0x3d50, 0x58d: 0x3d60, 0x590: 0x4864, 0x591: 0x486a, + 0x592: 0x3e80, 0x593: 0x3e98, 0x594: 0x3e88, 0x595: 0x3ea0, 0x596: 0x3e90, 0x597: 0x3ea8, + 0x599: 0x47e6, 0x59b: 0x3d68, 0x59d: 0x3d70, + 0x59f: 0x3d78, 0x5a0: 0x487c, 0x5a1: 0x4882, 0x5a2: 0x497e, 0x5a3: 0x4996, + 0x5a4: 0x4986, 0x5a5: 0x499e, 0x5a6: 0x498e, 0x5a7: 0x49a6, 0x5a8: 0x47ec, 0x5a9: 0x47f2, + 0x5aa: 0x48ee, 0x5ab: 0x4906, 0x5ac: 0x48f6, 0x5ad: 0x490e, 0x5ae: 0x48fe, 0x5af: 0x4916, + 0x5b0: 0x47f8, 0x5b1: 0x431e, 0x5b2: 0x3691, 0x5b3: 0x4324, 0x5b4: 0x4822, 0x5b5: 0x432a, + 0x5b6: 0x36a3, 0x5b7: 0x4330, 0x5b8: 0x36c1, 0x5b9: 0x4336, 0x5ba: 0x36d9, 0x5bb: 0x433c, + 0x5bc: 0x4870, 0x5bd: 0x4342, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3da0, 0x5c1: 0x3da8, 0x5c2: 0x4184, 0x5c3: 0x41a2, 0x5c4: 0x418e, 0x5c5: 0x41ac, + 0x5c6: 0x4198, 0x5c7: 0x41b6, 0x5c8: 0x3cd8, 0x5c9: 0x3ce0, 0x5ca: 0x40d0, 0x5cb: 0x40ee, + 0x5cc: 0x40da, 0x5cd: 0x40f8, 0x5ce: 0x40e4, 0x5cf: 0x4102, 0x5d0: 0x3de8, 0x5d1: 0x3df0, + 0x5d2: 0x41c0, 0x5d3: 0x41de, 0x5d4: 0x41ca, 0x5d5: 0x41e8, 0x5d6: 0x41d4, 0x5d7: 0x41f2, + 0x5d8: 0x3d08, 0x5d9: 0x3d10, 0x5da: 0x410c, 0x5db: 0x412a, 0x5dc: 0x4116, 0x5dd: 0x4134, + 0x5de: 0x4120, 0x5df: 0x413e, 0x5e0: 0x3ec0, 0x5e1: 0x3ec8, 0x5e2: 0x41fc, 0x5e3: 0x421a, + 0x5e4: 0x4206, 0x5e5: 0x4224, 0x5e6: 0x4210, 0x5e7: 0x422e, 0x5e8: 0x3d80, 0x5e9: 0x3d88, + 0x5ea: 0x4148, 0x5eb: 0x4166, 0x5ec: 0x4152, 0x5ed: 0x4170, 0x5ee: 0x415c, 0x5ef: 0x417a, + 0x5f0: 0x3685, 0x5f1: 0x367f, 0x5f2: 0x3d90, 0x5f3: 0x368b, 0x5f4: 0x3d98, + 0x5f6: 0x4810, 0x5f7: 0x3db0, 0x5f8: 0x35f5, 0x5f9: 0x35ef, 0x5fa: 0x35e3, 0x5fb: 0x42ee, + 0x5fc: 0x35fb, 0x5fd: 0x8100, 0x5fe: 0x01d3, 0x5ff: 0xa100, + // Block 0x18, offset 0x600 + 0x600: 0x8100, 0x601: 0x35a7, 0x602: 0x3dd8, 0x603: 0x369d, 0x604: 0x3de0, + 0x606: 0x483a, 0x607: 0x3df8, 0x608: 0x3601, 0x609: 0x42f4, 0x60a: 0x360d, 0x60b: 0x42fa, + 0x60c: 0x3619, 0x60d: 0x3b8f, 0x60e: 0x3b96, 0x60f: 0x3b9d, 0x610: 0x36b5, 0x611: 0x36af, + 0x612: 0x3e00, 0x613: 0x44e4, 0x616: 0x36bb, 0x617: 0x3e10, + 0x618: 0x3631, 0x619: 0x362b, 0x61a: 0x361f, 0x61b: 0x4300, 0x61d: 0x3ba4, + 0x61e: 0x3bab, 0x61f: 0x3bb2, 0x620: 0x36eb, 0x621: 0x36e5, 0x622: 0x3e68, 0x623: 0x44ec, + 0x624: 0x36cd, 0x625: 0x36d3, 0x626: 0x36f1, 0x627: 0x3e78, 0x628: 0x3661, 0x629: 0x365b, + 0x62a: 0x364f, 0x62b: 0x430c, 0x62c: 0x3649, 0x62d: 0x359b, 0x62e: 0x42e8, 0x62f: 0x0081, + 0x632: 0x3eb0, 0x633: 0x36f7, 0x634: 0x3eb8, + 0x636: 0x4888, 0x637: 0x3ed0, 0x638: 0x363d, 0x639: 0x4306, 0x63a: 0x366d, 0x63b: 0x4318, + 0x63c: 0x3679, 0x63d: 0x4256, 0x63e: 0xa100, + // Block 0x19, offset 0x640 + 0x641: 0x3c06, 0x643: 0xa000, 0x644: 0x3c0d, 0x645: 0xa000, + 0x647: 0x3c14, 0x648: 0xa000, 0x649: 0x3c1b, + 0x64d: 0xa000, + 0x660: 0x2f65, 0x661: 0xa000, 0x662: 0x3c29, + 0x664: 0xa000, 0x665: 0xa000, + 0x66d: 0x3c22, 0x66e: 0x2f60, 0x66f: 0x2f6a, + 0x670: 0x3c30, 0x671: 0x3c37, 0x672: 0xa000, 0x673: 0xa000, 0x674: 0x3c3e, 0x675: 0x3c45, + 0x676: 0xa000, 0x677: 0xa000, 0x678: 0x3c4c, 0x679: 0x3c53, 0x67a: 0xa000, 0x67b: 0xa000, + 0x67c: 0xa000, 0x67d: 0xa000, + // Block 0x1a, offset 0x680 + 0x680: 0x3c5a, 0x681: 0x3c61, 0x682: 0xa000, 0x683: 0xa000, 0x684: 0x3c76, 0x685: 0x3c7d, + 0x686: 0xa000, 0x687: 0xa000, 0x688: 0x3c84, 0x689: 0x3c8b, + 0x691: 0xa000, + 0x692: 0xa000, + 0x6a2: 0xa000, + 0x6a8: 0xa000, 0x6a9: 0xa000, + 0x6ab: 0xa000, 0x6ac: 0x3ca0, 0x6ad: 0x3ca7, 0x6ae: 0x3cae, 0x6af: 0x3cb5, + 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0xa000, 0x6b5: 0xa000, + // Block 0x1b, offset 0x6c0 + 0x6c6: 0xa000, 0x6cb: 0xa000, + 0x6cc: 0x3f08, 0x6cd: 0xa000, 0x6ce: 0x3f10, 0x6cf: 0xa000, 0x6d0: 0x3f18, 0x6d1: 0xa000, + 0x6d2: 0x3f20, 0x6d3: 0xa000, 0x6d4: 0x3f28, 0x6d5: 0xa000, 0x6d6: 0x3f30, 0x6d7: 0xa000, + 0x6d8: 0x3f38, 0x6d9: 0xa000, 0x6da: 0x3f40, 0x6db: 0xa000, 0x6dc: 0x3f48, 0x6dd: 0xa000, + 0x6de: 0x3f50, 0x6df: 0xa000, 0x6e0: 0x3f58, 0x6e1: 0xa000, 0x6e2: 0x3f60, + 0x6e4: 0xa000, 0x6e5: 0x3f68, 0x6e6: 0xa000, 0x6e7: 0x3f70, 0x6e8: 0xa000, 0x6e9: 0x3f78, + 0x6ef: 0xa000, + 0x6f0: 0x3f80, 0x6f1: 0x3f88, 0x6f2: 0xa000, 0x6f3: 0x3f90, 0x6f4: 0x3f98, 0x6f5: 0xa000, + 0x6f6: 0x3fa0, 0x6f7: 0x3fa8, 0x6f8: 0xa000, 0x6f9: 0x3fb0, 0x6fa: 0x3fb8, 0x6fb: 0xa000, + 0x6fc: 0x3fc0, 0x6fd: 0x3fc8, + // Block 0x1c, offset 0x700 + 0x714: 0x3f00, + 0x719: 0x9903, 0x71a: 0x9903, 0x71b: 0x8100, 0x71c: 0x8100, 0x71d: 0xa000, + 0x71e: 0x3fd0, + 0x726: 0xa000, + 0x72b: 0xa000, 0x72c: 0x3fe0, 0x72d: 0xa000, 0x72e: 0x3fe8, 0x72f: 0xa000, + 0x730: 0x3ff0, 0x731: 0xa000, 0x732: 0x3ff8, 0x733: 0xa000, 0x734: 0x4000, 0x735: 0xa000, + 0x736: 0x4008, 0x737: 0xa000, 0x738: 0x4010, 0x739: 0xa000, 0x73a: 0x4018, 0x73b: 0xa000, + 0x73c: 0x4020, 0x73d: 0xa000, 0x73e: 0x4028, 0x73f: 0xa000, + // Block 0x1d, offset 0x740 + 0x740: 0x4030, 0x741: 0xa000, 0x742: 0x4038, 0x744: 0xa000, 0x745: 0x4040, + 0x746: 0xa000, 0x747: 0x4048, 0x748: 0xa000, 0x749: 0x4050, + 0x74f: 0xa000, 0x750: 0x4058, 0x751: 0x4060, + 0x752: 0xa000, 0x753: 0x4068, 0x754: 0x4070, 0x755: 0xa000, 0x756: 0x4078, 0x757: 0x4080, + 0x758: 0xa000, 0x759: 0x4088, 0x75a: 0x4090, 0x75b: 0xa000, 0x75c: 0x4098, 0x75d: 0x40a0, + 0x76f: 0xa000, + 0x770: 0xa000, 0x771: 0xa000, 0x772: 0xa000, 0x774: 0x3fd8, + 0x777: 0x40a8, 0x778: 0x40b0, 0x779: 0x40b8, 0x77a: 0x40c0, + 0x77d: 0xa000, 0x77e: 0x40c8, + // Block 0x1e, offset 0x780 + 0x780: 0x1377, 0x781: 0x0cfb, 0x782: 0x13d3, 0x783: 0x139f, 0x784: 0x0e57, 0x785: 0x06eb, + 0x786: 0x08df, 0x787: 0x162b, 0x788: 0x162b, 0x789: 0x0a0b, 0x78a: 0x145f, 0x78b: 0x0943, + 0x78c: 0x0a07, 0x78d: 0x0bef, 0x78e: 0x0fcf, 0x78f: 0x115f, 0x790: 0x1297, 0x791: 0x12d3, + 0x792: 0x1307, 0x793: 0x141b, 0x794: 0x0d73, 0x795: 0x0dff, 0x796: 0x0eab, 0x797: 0x0f43, + 0x798: 0x125f, 0x799: 0x1447, 0x79a: 0x1573, 0x79b: 0x070f, 0x79c: 0x08b3, 0x79d: 0x0d87, + 0x79e: 0x0ecf, 0x79f: 0x1293, 0x7a0: 0x15c3, 0x7a1: 0x0ab3, 0x7a2: 0x0e77, 0x7a3: 0x1283, + 0x7a4: 0x1317, 0x7a5: 0x0c23, 0x7a6: 0x11bb, 0x7a7: 0x12df, 0x7a8: 0x0b1f, 0x7a9: 0x0d0f, + 0x7aa: 0x0e17, 0x7ab: 0x0f1b, 0x7ac: 0x1427, 0x7ad: 0x074f, 0x7ae: 0x07e7, 0x7af: 0x0853, + 0x7b0: 0x0c8b, 0x7b1: 0x0d7f, 0x7b2: 0x0ecb, 0x7b3: 0x0fef, 0x7b4: 0x1177, 0x7b5: 0x128b, + 0x7b6: 0x12a3, 0x7b7: 0x13c7, 0x7b8: 0x14ef, 0x7b9: 0x15a3, 0x7ba: 0x15bf, 0x7bb: 0x102b, + 0x7bc: 0x106b, 0x7bd: 0x1123, 0x7be: 0x1243, 0x7bf: 0x147b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x15cb, 0x7c1: 0x134b, 0x7c2: 0x09c7, 0x7c3: 0x0b3b, 0x7c4: 0x10db, 0x7c5: 0x119b, + 0x7c6: 0x0eff, 0x7c7: 0x1033, 0x7c8: 0x1397, 0x7c9: 0x14e7, 0x7ca: 0x09c3, 0x7cb: 0x0a8f, + 0x7cc: 0x0d77, 0x7cd: 0x0e2b, 0x7ce: 0x0e5f, 0x7cf: 0x1113, 0x7d0: 0x113b, 0x7d1: 0x14a7, + 0x7d2: 0x084f, 0x7d3: 0x11a7, 0x7d4: 0x07f3, 0x7d5: 0x07ef, 0x7d6: 0x1097, 0x7d7: 0x1127, + 0x7d8: 0x125b, 0x7d9: 0x14af, 0x7da: 0x1367, 0x7db: 0x0c27, 0x7dc: 0x0d73, 0x7dd: 0x1357, + 0x7de: 0x06f7, 0x7df: 0x0a63, 0x7e0: 0x0b93, 0x7e1: 0x0f2f, 0x7e2: 0x0faf, 0x7e3: 0x0873, + 0x7e4: 0x103b, 0x7e5: 0x075f, 0x7e6: 0x0b77, 0x7e7: 0x06d7, 0x7e8: 0x0deb, 0x7e9: 0x0ca3, + 0x7ea: 0x110f, 0x7eb: 0x08c7, 0x7ec: 0x09b3, 0x7ed: 0x0ffb, 0x7ee: 0x1263, 0x7ef: 0x133b, + 0x7f0: 0x0db7, 0x7f1: 0x13f7, 0x7f2: 0x0de3, 0x7f3: 0x0c37, 0x7f4: 0x121b, 0x7f5: 0x0c57, + 0x7f6: 0x0fab, 0x7f7: 0x072b, 0x7f8: 0x07a7, 0x7f9: 0x07eb, 0x7fa: 0x0d53, 0x7fb: 0x10fb, + 0x7fc: 0x11f3, 0x7fd: 0x1347, 0x7fe: 0x145b, 0x7ff: 0x085b, + // Block 0x20, offset 0x800 + 0x800: 0x090f, 0x801: 0x0a17, 0x802: 0x0b2f, 0x803: 0x0cbf, 0x804: 0x0e7b, 0x805: 0x103f, + 0x806: 0x1497, 0x807: 0x157b, 0x808: 0x15cf, 0x809: 0x15e7, 0x80a: 0x0837, 0x80b: 0x0cf3, + 0x80c: 0x0da3, 0x80d: 0x13eb, 0x80e: 0x0afb, 0x80f: 0x0bd7, 0x810: 0x0bf3, 0x811: 0x0c83, + 0x812: 0x0e6b, 0x813: 0x0eb7, 0x814: 0x0f67, 0x815: 0x108b, 0x816: 0x112f, 0x817: 0x1193, + 0x818: 0x13db, 0x819: 0x126b, 0x81a: 0x1403, 0x81b: 0x147f, 0x81c: 0x080f, 0x81d: 0x083b, + 0x81e: 0x0923, 0x81f: 0x0ea7, 0x820: 0x12f3, 0x821: 0x133b, 0x822: 0x0b1b, 0x823: 0x0b8b, + 0x824: 0x0c4f, 0x825: 0x0daf, 0x826: 0x10d7, 0x827: 0x0f23, 0x828: 0x073b, 0x829: 0x097f, + 0x82a: 0x0a63, 0x82b: 0x0ac7, 0x82c: 0x0b97, 0x82d: 0x0f3f, 0x82e: 0x0f5b, 0x82f: 0x116b, + 0x830: 0x118b, 0x831: 0x1463, 0x832: 0x14e3, 0x833: 0x14f3, 0x834: 0x152f, 0x835: 0x0753, + 0x836: 0x107f, 0x837: 0x144f, 0x838: 0x14cb, 0x839: 0x0baf, 0x83a: 0x0717, 0x83b: 0x0777, + 0x83c: 0x0a67, 0x83d: 0x0a87, 0x83e: 0x0caf, 0x83f: 0x0d73, + // Block 0x21, offset 0x840 + 0x840: 0x0ec3, 0x841: 0x0fcb, 0x842: 0x1277, 0x843: 0x1417, 0x844: 0x1623, 0x845: 0x0ce3, + 0x846: 0x14a3, 0x847: 0x0833, 0x848: 0x0d2f, 0x849: 0x0d3b, 0x84a: 0x0e0f, 0x84b: 0x0e47, + 0x84c: 0x0f4b, 0x84d: 0x0fa7, 0x84e: 0x1027, 0x84f: 0x110b, 0x850: 0x153b, 0x851: 0x07af, + 0x852: 0x0c03, 0x853: 0x14b3, 0x854: 0x0767, 0x855: 0x0aab, 0x856: 0x0e2f, 0x857: 0x13df, + 0x858: 0x0b67, 0x859: 0x0bb7, 0x85a: 0x0d43, 0x85b: 0x0f2f, 0x85c: 0x14bb, 0x85d: 0x0817, + 0x85e: 0x08ff, 0x85f: 0x0a97, 0x860: 0x0cd3, 0x861: 0x0d1f, 0x862: 0x0d5f, 0x863: 0x0df3, + 0x864: 0x0f47, 0x865: 0x0fbb, 0x866: 0x1157, 0x867: 0x12f7, 0x868: 0x1303, 0x869: 0x1457, + 0x86a: 0x14d7, 0x86b: 0x0883, 0x86c: 0x0e4b, 0x86d: 0x0903, 0x86e: 0x0ec7, 0x86f: 0x0f6b, + 0x870: 0x1287, 0x871: 0x14bf, 0x872: 0x15ab, 0x873: 0x15d3, 0x874: 0x0d37, 0x875: 0x0e27, + 0x876: 0x11c3, 0x877: 0x10b7, 0x878: 0x10c3, 0x879: 0x10e7, 0x87a: 0x0f17, 0x87b: 0x0e9f, + 0x87c: 0x1363, 0x87d: 0x0733, 0x87e: 0x122b, 0x87f: 0x081b, + // Block 0x22, offset 0x880 + 0x880: 0x080b, 0x881: 0x0b0b, 0x882: 0x0c2b, 0x883: 0x10f3, 0x884: 0x0a53, 0x885: 0x0e03, + 0x886: 0x0cef, 0x887: 0x13e7, 0x888: 0x12e7, 0x889: 0x14ab, 0x88a: 0x1323, 0x88b: 0x0b27, + 0x88c: 0x0787, 0x88d: 0x095b, 0x890: 0x09af, + 0x892: 0x0cdf, 0x895: 0x07f7, 0x896: 0x0f1f, 0x897: 0x0fe3, + 0x898: 0x1047, 0x899: 0x1063, 0x89a: 0x1067, 0x89b: 0x107b, 0x89c: 0x14fb, 0x89d: 0x10eb, + 0x89e: 0x116f, 0x8a0: 0x128f, 0x8a2: 0x1353, + 0x8a5: 0x1407, 0x8a6: 0x1433, + 0x8aa: 0x154f, 0x8ab: 0x1553, 0x8ac: 0x1557, 0x8ad: 0x15bb, 0x8ae: 0x142b, 0x8af: 0x14c7, + 0x8b0: 0x0757, 0x8b1: 0x077b, 0x8b2: 0x078f, 0x8b3: 0x084b, 0x8b4: 0x0857, 0x8b5: 0x0897, + 0x8b6: 0x094b, 0x8b7: 0x0967, 0x8b8: 0x096f, 0x8b9: 0x09ab, 0x8ba: 0x09b7, 0x8bb: 0x0a93, + 0x8bc: 0x0a9b, 0x8bd: 0x0ba3, 0x8be: 0x0bcb, 0x8bf: 0x0bd3, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0beb, 0x8c1: 0x0c97, 0x8c2: 0x0cc7, 0x8c3: 0x0ce7, 0x8c4: 0x0d57, 0x8c5: 0x0e1b, + 0x8c6: 0x0e37, 0x8c7: 0x0e67, 0x8c8: 0x0ebb, 0x8c9: 0x0edb, 0x8ca: 0x0f4f, 0x8cb: 0x102f, + 0x8cc: 0x104b, 0x8cd: 0x1053, 0x8ce: 0x104f, 0x8cf: 0x1057, 0x8d0: 0x105b, 0x8d1: 0x105f, + 0x8d2: 0x1073, 0x8d3: 0x1077, 0x8d4: 0x109b, 0x8d5: 0x10af, 0x8d6: 0x10cb, 0x8d7: 0x112f, + 0x8d8: 0x1137, 0x8d9: 0x113f, 0x8da: 0x1153, 0x8db: 0x117b, 0x8dc: 0x11cb, 0x8dd: 0x11ff, + 0x8de: 0x11ff, 0x8df: 0x1267, 0x8e0: 0x130f, 0x8e1: 0x1327, 0x8e2: 0x135b, 0x8e3: 0x135f, + 0x8e4: 0x13a3, 0x8e5: 0x13a7, 0x8e6: 0x13ff, 0x8e7: 0x1407, 0x8e8: 0x14db, 0x8e9: 0x151f, + 0x8ea: 0x1537, 0x8eb: 0x0b9b, 0x8ec: 0x171e, 0x8ed: 0x11e3, + 0x8f0: 0x06df, 0x8f1: 0x07e3, 0x8f2: 0x07a3, 0x8f3: 0x074b, 0x8f4: 0x078b, 0x8f5: 0x07b7, + 0x8f6: 0x0847, 0x8f7: 0x0863, 0x8f8: 0x094b, 0x8f9: 0x0937, 0x8fa: 0x0947, 0x8fb: 0x0963, + 0x8fc: 0x09af, 0x8fd: 0x09bf, 0x8fe: 0x0a03, 0x8ff: 0x0a0f, + // Block 0x24, offset 0x900 + 0x900: 0x0a2b, 0x901: 0x0a3b, 0x902: 0x0b23, 0x903: 0x0b2b, 0x904: 0x0b5b, 0x905: 0x0b7b, + 0x906: 0x0bab, 0x907: 0x0bc3, 0x908: 0x0bb3, 0x909: 0x0bd3, 0x90a: 0x0bc7, 0x90b: 0x0beb, + 0x90c: 0x0c07, 0x90d: 0x0c5f, 0x90e: 0x0c6b, 0x90f: 0x0c73, 0x910: 0x0c9b, 0x911: 0x0cdf, + 0x912: 0x0d0f, 0x913: 0x0d13, 0x914: 0x0d27, 0x915: 0x0da7, 0x916: 0x0db7, 0x917: 0x0e0f, + 0x918: 0x0e5b, 0x919: 0x0e53, 0x91a: 0x0e67, 0x91b: 0x0e83, 0x91c: 0x0ebb, 0x91d: 0x1013, + 0x91e: 0x0edf, 0x91f: 0x0f13, 0x920: 0x0f1f, 0x921: 0x0f5f, 0x922: 0x0f7b, 0x923: 0x0f9f, + 0x924: 0x0fc3, 0x925: 0x0fc7, 0x926: 0x0fe3, 0x927: 0x0fe7, 0x928: 0x0ff7, 0x929: 0x100b, + 0x92a: 0x1007, 0x92b: 0x1037, 0x92c: 0x10b3, 0x92d: 0x10cb, 0x92e: 0x10e3, 0x92f: 0x111b, + 0x930: 0x112f, 0x931: 0x114b, 0x932: 0x117b, 0x933: 0x122f, 0x934: 0x1257, 0x935: 0x12cb, + 0x936: 0x1313, 0x937: 0x131f, 0x938: 0x1327, 0x939: 0x133f, 0x93a: 0x1353, 0x93b: 0x1343, + 0x93c: 0x135b, 0x93d: 0x1357, 0x93e: 0x134f, 0x93f: 0x135f, + // Block 0x25, offset 0x940 + 0x940: 0x136b, 0x941: 0x13a7, 0x942: 0x13e3, 0x943: 0x1413, 0x944: 0x144b, 0x945: 0x146b, + 0x946: 0x14b7, 0x947: 0x14db, 0x948: 0x14fb, 0x949: 0x150f, 0x94a: 0x151f, 0x94b: 0x152b, + 0x94c: 0x1537, 0x94d: 0x158b, 0x94e: 0x162b, 0x94f: 0x16b5, 0x950: 0x16b0, 0x951: 0x16e2, + 0x952: 0x0607, 0x953: 0x062f, 0x954: 0x0633, 0x955: 0x1764, 0x956: 0x1791, 0x957: 0x1809, + 0x958: 0x1617, 0x959: 0x1627, + // Block 0x26, offset 0x980 + 0x980: 0x06fb, 0x981: 0x06f3, 0x982: 0x0703, 0x983: 0x1647, 0x984: 0x0747, 0x985: 0x0757, + 0x986: 0x075b, 0x987: 0x0763, 0x988: 0x076b, 0x989: 0x076f, 0x98a: 0x077b, 0x98b: 0x0773, + 0x98c: 0x05b3, 0x98d: 0x165b, 0x98e: 0x078f, 0x98f: 0x0793, 0x990: 0x0797, 0x991: 0x07b3, + 0x992: 0x164c, 0x993: 0x05b7, 0x994: 0x079f, 0x995: 0x07bf, 0x996: 0x1656, 0x997: 0x07cf, + 0x998: 0x07d7, 0x999: 0x0737, 0x99a: 0x07df, 0x99b: 0x07e3, 0x99c: 0x1831, 0x99d: 0x07ff, + 0x99e: 0x0807, 0x99f: 0x05bf, 0x9a0: 0x081f, 0x9a1: 0x0823, 0x9a2: 0x082b, 0x9a3: 0x082f, + 0x9a4: 0x05c3, 0x9a5: 0x0847, 0x9a6: 0x084b, 0x9a7: 0x0857, 0x9a8: 0x0863, 0x9a9: 0x0867, + 0x9aa: 0x086b, 0x9ab: 0x0873, 0x9ac: 0x0893, 0x9ad: 0x0897, 0x9ae: 0x089f, 0x9af: 0x08af, + 0x9b0: 0x08b7, 0x9b1: 0x08bb, 0x9b2: 0x08bb, 0x9b3: 0x08bb, 0x9b4: 0x166a, 0x9b5: 0x0e93, + 0x9b6: 0x08cf, 0x9b7: 0x08d7, 0x9b8: 0x166f, 0x9b9: 0x08e3, 0x9ba: 0x08eb, 0x9bb: 0x08f3, + 0x9bc: 0x091b, 0x9bd: 0x0907, 0x9be: 0x0913, 0x9bf: 0x0917, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x091f, 0x9c1: 0x0927, 0x9c2: 0x092b, 0x9c3: 0x0933, 0x9c4: 0x093b, 0x9c5: 0x093f, + 0x9c6: 0x093f, 0x9c7: 0x0947, 0x9c8: 0x094f, 0x9c9: 0x0953, 0x9ca: 0x095f, 0x9cb: 0x0983, + 0x9cc: 0x0967, 0x9cd: 0x0987, 0x9ce: 0x096b, 0x9cf: 0x0973, 0x9d0: 0x080b, 0x9d1: 0x09cf, + 0x9d2: 0x0997, 0x9d3: 0x099b, 0x9d4: 0x099f, 0x9d5: 0x0993, 0x9d6: 0x09a7, 0x9d7: 0x09a3, + 0x9d8: 0x09bb, 0x9d9: 0x1674, 0x9da: 0x09d7, 0x9db: 0x09db, 0x9dc: 0x09e3, 0x9dd: 0x09ef, + 0x9de: 0x09f7, 0x9df: 0x0a13, 0x9e0: 0x1679, 0x9e1: 0x167e, 0x9e2: 0x0a1f, 0x9e3: 0x0a23, + 0x9e4: 0x0a27, 0x9e5: 0x0a1b, 0x9e6: 0x0a2f, 0x9e7: 0x05c7, 0x9e8: 0x05cb, 0x9e9: 0x0a37, + 0x9ea: 0x0a3f, 0x9eb: 0x0a3f, 0x9ec: 0x1683, 0x9ed: 0x0a5b, 0x9ee: 0x0a5f, 0x9ef: 0x0a63, + 0x9f0: 0x0a6b, 0x9f1: 0x1688, 0x9f2: 0x0a73, 0x9f3: 0x0a77, 0x9f4: 0x0b4f, 0x9f5: 0x0a7f, + 0x9f6: 0x05cf, 0x9f7: 0x0a8b, 0x9f8: 0x0a9b, 0x9f9: 0x0aa7, 0x9fa: 0x0aa3, 0x9fb: 0x1692, + 0x9fc: 0x0aaf, 0x9fd: 0x1697, 0x9fe: 0x0abb, 0x9ff: 0x0ab7, + // Block 0x28, offset 0xa00 + 0xa00: 0x0abf, 0xa01: 0x0acf, 0xa02: 0x0ad3, 0xa03: 0x05d3, 0xa04: 0x0ae3, 0xa05: 0x0aeb, + 0xa06: 0x0aef, 0xa07: 0x0af3, 0xa08: 0x05d7, 0xa09: 0x169c, 0xa0a: 0x05db, 0xa0b: 0x0b0f, + 0xa0c: 0x0b13, 0xa0d: 0x0b17, 0xa0e: 0x0b1f, 0xa0f: 0x1863, 0xa10: 0x0b37, 0xa11: 0x16a6, + 0xa12: 0x16a6, 0xa13: 0x11d7, 0xa14: 0x0b47, 0xa15: 0x0b47, 0xa16: 0x05df, 0xa17: 0x16c9, + 0xa18: 0x179b, 0xa19: 0x0b57, 0xa1a: 0x0b5f, 0xa1b: 0x05e3, 0xa1c: 0x0b73, 0xa1d: 0x0b83, + 0xa1e: 0x0b87, 0xa1f: 0x0b8f, 0xa20: 0x0b9f, 0xa21: 0x05eb, 0xa22: 0x05e7, 0xa23: 0x0ba3, + 0xa24: 0x16ab, 0xa25: 0x0ba7, 0xa26: 0x0bbb, 0xa27: 0x0bbf, 0xa28: 0x0bc3, 0xa29: 0x0bbf, + 0xa2a: 0x0bcf, 0xa2b: 0x0bd3, 0xa2c: 0x0be3, 0xa2d: 0x0bdb, 0xa2e: 0x0bdf, 0xa2f: 0x0be7, + 0xa30: 0x0beb, 0xa31: 0x0bef, 0xa32: 0x0bfb, 0xa33: 0x0bff, 0xa34: 0x0c17, 0xa35: 0x0c1f, + 0xa36: 0x0c2f, 0xa37: 0x0c43, 0xa38: 0x16ba, 0xa39: 0x0c3f, 0xa3a: 0x0c33, 0xa3b: 0x0c4b, + 0xa3c: 0x0c53, 0xa3d: 0x0c67, 0xa3e: 0x16bf, 0xa3f: 0x0c6f, + // Block 0x29, offset 0xa40 + 0xa40: 0x0c63, 0xa41: 0x0c5b, 0xa42: 0x05ef, 0xa43: 0x0c77, 0xa44: 0x0c7f, 0xa45: 0x0c87, + 0xa46: 0x0c7b, 0xa47: 0x05f3, 0xa48: 0x0c97, 0xa49: 0x0c9f, 0xa4a: 0x16c4, 0xa4b: 0x0ccb, + 0xa4c: 0x0cff, 0xa4d: 0x0cdb, 0xa4e: 0x05ff, 0xa4f: 0x0ce7, 0xa50: 0x05fb, 0xa51: 0x05f7, + 0xa52: 0x07c3, 0xa53: 0x07c7, 0xa54: 0x0d03, 0xa55: 0x0ceb, 0xa56: 0x11ab, 0xa57: 0x0663, + 0xa58: 0x0d0f, 0xa59: 0x0d13, 0xa5a: 0x0d17, 0xa5b: 0x0d2b, 0xa5c: 0x0d23, 0xa5d: 0x16dd, + 0xa5e: 0x0603, 0xa5f: 0x0d3f, 0xa60: 0x0d33, 0xa61: 0x0d4f, 0xa62: 0x0d57, 0xa63: 0x16e7, + 0xa64: 0x0d5b, 0xa65: 0x0d47, 0xa66: 0x0d63, 0xa67: 0x0607, 0xa68: 0x0d67, 0xa69: 0x0d6b, + 0xa6a: 0x0d6f, 0xa6b: 0x0d7b, 0xa6c: 0x16ec, 0xa6d: 0x0d83, 0xa6e: 0x060b, 0xa6f: 0x0d8f, + 0xa70: 0x16f1, 0xa71: 0x0d93, 0xa72: 0x060f, 0xa73: 0x0d9f, 0xa74: 0x0dab, 0xa75: 0x0db7, + 0xa76: 0x0dbb, 0xa77: 0x16f6, 0xa78: 0x168d, 0xa79: 0x16fb, 0xa7a: 0x0ddb, 0xa7b: 0x1700, + 0xa7c: 0x0de7, 0xa7d: 0x0def, 0xa7e: 0x0ddf, 0xa7f: 0x0dfb, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0e0b, 0xa81: 0x0e1b, 0xa82: 0x0e0f, 0xa83: 0x0e13, 0xa84: 0x0e1f, 0xa85: 0x0e23, + 0xa86: 0x1705, 0xa87: 0x0e07, 0xa88: 0x0e3b, 0xa89: 0x0e3f, 0xa8a: 0x0613, 0xa8b: 0x0e53, + 0xa8c: 0x0e4f, 0xa8d: 0x170a, 0xa8e: 0x0e33, 0xa8f: 0x0e6f, 0xa90: 0x170f, 0xa91: 0x1714, + 0xa92: 0x0e73, 0xa93: 0x0e87, 0xa94: 0x0e83, 0xa95: 0x0e7f, 0xa96: 0x0617, 0xa97: 0x0e8b, + 0xa98: 0x0e9b, 0xa99: 0x0e97, 0xa9a: 0x0ea3, 0xa9b: 0x1651, 0xa9c: 0x0eb3, 0xa9d: 0x1719, + 0xa9e: 0x0ebf, 0xa9f: 0x1723, 0xaa0: 0x0ed3, 0xaa1: 0x0edf, 0xaa2: 0x0ef3, 0xaa3: 0x1728, + 0xaa4: 0x0f07, 0xaa5: 0x0f0b, 0xaa6: 0x172d, 0xaa7: 0x1732, 0xaa8: 0x0f27, 0xaa9: 0x0f37, + 0xaaa: 0x061b, 0xaab: 0x0f3b, 0xaac: 0x061f, 0xaad: 0x061f, 0xaae: 0x0f53, 0xaaf: 0x0f57, + 0xab0: 0x0f5f, 0xab1: 0x0f63, 0xab2: 0x0f6f, 0xab3: 0x0623, 0xab4: 0x0f87, 0xab5: 0x1737, + 0xab6: 0x0fa3, 0xab7: 0x173c, 0xab8: 0x0faf, 0xab9: 0x16a1, 0xaba: 0x0fbf, 0xabb: 0x1741, + 0xabc: 0x1746, 0xabd: 0x174b, 0xabe: 0x0627, 0xabf: 0x062b, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0ff7, 0xac1: 0x1755, 0xac2: 0x1750, 0xac3: 0x175a, 0xac4: 0x175f, 0xac5: 0x0fff, + 0xac6: 0x1003, 0xac7: 0x1003, 0xac8: 0x100b, 0xac9: 0x0633, 0xaca: 0x100f, 0xacb: 0x0637, + 0xacc: 0x063b, 0xacd: 0x1769, 0xace: 0x1023, 0xacf: 0x102b, 0xad0: 0x1037, 0xad1: 0x063f, + 0xad2: 0x176e, 0xad3: 0x105b, 0xad4: 0x1773, 0xad5: 0x1778, 0xad6: 0x107b, 0xad7: 0x1093, + 0xad8: 0x0643, 0xad9: 0x109b, 0xada: 0x109f, 0xadb: 0x10a3, 0xadc: 0x177d, 0xadd: 0x1782, + 0xade: 0x1782, 0xadf: 0x10bb, 0xae0: 0x0647, 0xae1: 0x1787, 0xae2: 0x10cf, 0xae3: 0x10d3, + 0xae4: 0x064b, 0xae5: 0x178c, 0xae6: 0x10ef, 0xae7: 0x064f, 0xae8: 0x10ff, 0xae9: 0x10f7, + 0xaea: 0x1107, 0xaeb: 0x1796, 0xaec: 0x111f, 0xaed: 0x0653, 0xaee: 0x112b, 0xaef: 0x1133, + 0xaf0: 0x1143, 0xaf1: 0x0657, 0xaf2: 0x17a0, 0xaf3: 0x17a5, 0xaf4: 0x065b, 0xaf5: 0x17aa, + 0xaf6: 0x115b, 0xaf7: 0x17af, 0xaf8: 0x1167, 0xaf9: 0x1173, 0xafa: 0x117b, 0xafb: 0x17b4, + 0xafc: 0x17b9, 0xafd: 0x118f, 0xafe: 0x17be, 0xaff: 0x1197, + // Block 0x2c, offset 0xb00 + 0xb00: 0x16ce, 0xb01: 0x065f, 0xb02: 0x11af, 0xb03: 0x11b3, 0xb04: 0x0667, 0xb05: 0x11b7, + 0xb06: 0x0a33, 0xb07: 0x17c3, 0xb08: 0x17c8, 0xb09: 0x16d3, 0xb0a: 0x16d8, 0xb0b: 0x11d7, + 0xb0c: 0x11db, 0xb0d: 0x13f3, 0xb0e: 0x066b, 0xb0f: 0x1207, 0xb10: 0x1203, 0xb11: 0x120b, + 0xb12: 0x083f, 0xb13: 0x120f, 0xb14: 0x1213, 0xb15: 0x1217, 0xb16: 0x121f, 0xb17: 0x17cd, + 0xb18: 0x121b, 0xb19: 0x1223, 0xb1a: 0x1237, 0xb1b: 0x123b, 0xb1c: 0x1227, 0xb1d: 0x123f, + 0xb1e: 0x1253, 0xb1f: 0x1267, 0xb20: 0x1233, 0xb21: 0x1247, 0xb22: 0x124b, 0xb23: 0x124f, + 0xb24: 0x17d2, 0xb25: 0x17dc, 0xb26: 0x17d7, 0xb27: 0x066f, 0xb28: 0x126f, 0xb29: 0x1273, + 0xb2a: 0x127b, 0xb2b: 0x17f0, 0xb2c: 0x127f, 0xb2d: 0x17e1, 0xb2e: 0x0673, 0xb2f: 0x0677, + 0xb30: 0x17e6, 0xb31: 0x17eb, 0xb32: 0x067b, 0xb33: 0x129f, 0xb34: 0x12a3, 0xb35: 0x12a7, + 0xb36: 0x12ab, 0xb37: 0x12b7, 0xb38: 0x12b3, 0xb39: 0x12bf, 0xb3a: 0x12bb, 0xb3b: 0x12cb, + 0xb3c: 0x12c3, 0xb3d: 0x12c7, 0xb3e: 0x12cf, 0xb3f: 0x067f, + // Block 0x2d, offset 0xb40 + 0xb40: 0x12d7, 0xb41: 0x12db, 0xb42: 0x0683, 0xb43: 0x12eb, 0xb44: 0x12ef, 0xb45: 0x17f5, + 0xb46: 0x12fb, 0xb47: 0x12ff, 0xb48: 0x0687, 0xb49: 0x130b, 0xb4a: 0x05bb, 0xb4b: 0x17fa, + 0xb4c: 0x17ff, 0xb4d: 0x068b, 0xb4e: 0x068f, 0xb4f: 0x1337, 0xb50: 0x134f, 0xb51: 0x136b, + 0xb52: 0x137b, 0xb53: 0x1804, 0xb54: 0x138f, 0xb55: 0x1393, 0xb56: 0x13ab, 0xb57: 0x13b7, + 0xb58: 0x180e, 0xb59: 0x1660, 0xb5a: 0x13c3, 0xb5b: 0x13bf, 0xb5c: 0x13cb, 0xb5d: 0x1665, + 0xb5e: 0x13d7, 0xb5f: 0x13e3, 0xb60: 0x1813, 0xb61: 0x1818, 0xb62: 0x1423, 0xb63: 0x142f, + 0xb64: 0x1437, 0xb65: 0x181d, 0xb66: 0x143b, 0xb67: 0x1467, 0xb68: 0x1473, 0xb69: 0x1477, + 0xb6a: 0x146f, 0xb6b: 0x1483, 0xb6c: 0x1487, 0xb6d: 0x1822, 0xb6e: 0x1493, 0xb6f: 0x0693, + 0xb70: 0x149b, 0xb71: 0x1827, 0xb72: 0x0697, 0xb73: 0x14d3, 0xb74: 0x0ac3, 0xb75: 0x14eb, + 0xb76: 0x182c, 0xb77: 0x1836, 0xb78: 0x069b, 0xb79: 0x069f, 0xb7a: 0x1513, 0xb7b: 0x183b, + 0xb7c: 0x06a3, 0xb7d: 0x1840, 0xb7e: 0x152b, 0xb7f: 0x152b, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1533, 0xb81: 0x1845, 0xb82: 0x154b, 0xb83: 0x06a7, 0xb84: 0x155b, 0xb85: 0x1567, + 0xb86: 0x156f, 0xb87: 0x1577, 0xb88: 0x06ab, 0xb89: 0x184a, 0xb8a: 0x158b, 0xb8b: 0x15a7, + 0xb8c: 0x15b3, 0xb8d: 0x06af, 0xb8e: 0x06b3, 0xb8f: 0x15b7, 0xb90: 0x184f, 0xb91: 0x06b7, + 0xb92: 0x1854, 0xb93: 0x1859, 0xb94: 0x185e, 0xb95: 0x15db, 0xb96: 0x06bb, 0xb97: 0x15ef, + 0xb98: 0x15f7, 0xb99: 0x15fb, 0xb9a: 0x1603, 0xb9b: 0x160b, 0xb9c: 0x1613, 0xb9d: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2d, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2e, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x2f, 0xcb: 0x30, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x31, + 0xd0: 0x09, 0xd1: 0x32, 0xd2: 0x33, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x34, + 0xd8: 0x35, 0xd9: 0x0c, 0xdb: 0x36, 0xdc: 0x37, 0xdd: 0x38, 0xdf: 0x39, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x3a, 0x121: 0x3b, 0x123: 0x3c, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, + // Block 0x5, offset 0x140 + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0d, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, + 0x170: 0x67, 0x173: 0x68, 0x177: 0x0e, + 0x178: 0x0f, 0x179: 0x10, 0x17a: 0x11, 0x17b: 0x12, 0x17c: 0x13, 0x17d: 0x14, 0x17e: 0x15, 0x17f: 0x16, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x17, 0x18a: 0x18, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x19, 0x1c2: 0x1a, 0x1c3: 0x1b, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1c, 0x325: 0x1d, 0x326: 0x1e, 0x327: 0x1f, + 0x328: 0x20, 0x329: 0x21, 0x32a: 0x22, 0x32b: 0x23, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + // Block 0xe, offset 0x380 + 0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4, + 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3f, 0x38d: 0xa7, + 0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac, + 0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae, + 0x3a8: 0xaf, 0x3a9: 0xb0, 0x3aa: 0xb1, + 0x3b0: 0x73, 0x3b5: 0xb2, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xb3, 0x3ec: 0xb4, + // Block 0x10, offset 0x400 + 0x432: 0xb5, + // Block 0x11, offset 0x440 + 0x445: 0xb6, 0x446: 0xb7, 0x447: 0xb8, + 0x449: 0xb9, + // Block 0x12, offset 0x480 + 0x480: 0xba, + 0x4a3: 0xbb, 0x4a5: 0xbc, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xbd, + // Block 0x14, offset 0x500 + 0x520: 0x24, 0x521: 0x25, 0x522: 0x26, 0x523: 0x27, 0x524: 0x28, 0x525: 0x29, 0x526: 0x2a, 0x527: 0x2b, + 0x528: 0x2c, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 145 entries, 290 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc8, 0xcf, 0xd7, 0xda, 0xdc, 0xde, 0xe0, 0xe5, 0xf6, 0x102, 0x104, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x119, 0x11c, 0x11e, 0x121, 0x124, 0x128, 0x12d, 0x136, 0x138, 0x13b, 0x13d, 0x148, 0x14c, 0x15a, 0x15d, 0x163, 0x169, 0x174, 0x178, 0x17a, 0x17c, 0x17e, 0x180, 0x182, 0x188, 0x18c, 0x18e, 0x190, 0x198, 0x19c, 0x19f, 0x1a1, 0x1a3, 0x1a5, 0x1a8, 0x1aa, 0x1ac, 0x1ae, 0x1b0, 0x1b6, 0x1b9, 0x1bb, 0x1c2, 0x1c8, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e8, 0x1ec, 0x1fa, 0x203, 0x206, 0x209, 0x20b, 0x20e, 0x210, 0x214, 0x219, 0x21b, 0x21d, 0x222, 0x228, 0x22a, 0x22c, 0x22e, 0x234, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x259, 0x25c, 0x263, 0x266, 0x26c, 0x26e, 0x271, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x28f, 0x299, 0x29b, 0x29d, 0x2a3, 0x2a5, 0x2a8} + +// nfcSparseValues: 682 entries, 2728 bytes +var nfcSparseValues = [682]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4840, lo: 0x8a, hi: 0x8a}, + {value: 0x485e, lo: 0x8b, hi: 0x8b}, + {value: 0x36c7, lo: 0x8c, hi: 0x8c}, + {value: 0x36df, lo: 0x8d, hi: 0x8d}, + {value: 0x4876, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x36fd, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xd, offset 0x62 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x67 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x69 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0x10, offset 0x7a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x11, offset 0x82 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x12, offset 0x89 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x8c + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x14, offset 0x93 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x97 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x16, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x17, offset 0x9d + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x18, offset 0x9f + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x19, offset 0xa8 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1a, offset 0xac + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1b, offset 0xb3 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xb8 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1d, offset 0xbb + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1e, offset 0xc5 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1f, offset 0xc8 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x20, offset 0xcf + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x21, offset 0xd7 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x22, offset 0xda + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x23, offset 0xdc + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x24, offset 0xde + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x25, offset 0xe0 + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0xe5 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x27, offset 0xf6 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x28, offset 0x102 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x29, offset 0x104 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x2a, offset 0x10a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2b, offset 0x10c + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x10e + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x110 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x112 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x114 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x116 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x119 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x11c + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x11e + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x121 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x124 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x128 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x12d + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x136 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x138 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x13b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x13d + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x148 + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3d, offset 0x14c + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3e, offset 0x15a + {value: 0x427b, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x3f, offset 0x15d + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x40, offset 0x163 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x41, offset 0x169 + {value: 0x6408, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x42, offset 0x174 + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x43, offset 0x178 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x44, offset 0x17a + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x45, offset 0x17c + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x46, offset 0x17e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x47, offset 0x180 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x48, offset 0x182 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x49, offset 0x188 + {value: 0x0000, lo: 0x03}, + {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, + {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, + {value: 0x4a9f, lo: 0xba, hi: 0xbf}, + // Block 0x4a, offset 0x18c + {value: 0x0000, lo: 0x01}, + {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, + // Block 0x4b, offset 0x18e + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4c, offset 0x190 + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4d, offset 0x198 + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4e, offset 0x19c + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x4f, offset 0x19f + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x50, offset 0x1a1 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x51, offset 0x1a3 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x52, offset 0x1a5 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x53, offset 0x1a8 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x54, offset 0x1aa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x55, offset 0x1ac + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x56, offset 0x1ae + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x57, offset 0x1b0 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x58, offset 0x1b6 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x59, offset 0x1b9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x5a, offset 0x1bb + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5b, offset 0x1c2 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5c, offset 0x1c8 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5d, offset 0x1ce + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5e, offset 0x1d6 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x5f, offset 0x1dc + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x60, offset 0x1e2 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x61, offset 0x1e8 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x62, offset 0x1ec + {value: 0x0006, lo: 0x0d}, + {value: 0x4390, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4402, lo: 0x9f, hi: 0x9f}, + {value: 0x43f0, lo: 0xaa, hi: 0xab}, + {value: 0x44f4, lo: 0xac, hi: 0xac}, + {value: 0x44fc, lo: 0xad, hi: 0xad}, + {value: 0x4348, lo: 0xae, hi: 0xb1}, + {value: 0x4366, lo: 0xb2, hi: 0xb4}, + {value: 0x437e, lo: 0xb5, hi: 0xb6}, + {value: 0x438a, lo: 0xb8, hi: 0xb8}, + {value: 0x4396, lo: 0xb9, hi: 0xbb}, + {value: 0x43ae, lo: 0xbc, hi: 0xbc}, + {value: 0x43b4, lo: 0xbe, hi: 0xbe}, + // Block 0x63, offset 0x1fa + {value: 0x0006, lo: 0x08}, + {value: 0x43ba, lo: 0x80, hi: 0x81}, + {value: 0x43c6, lo: 0x83, hi: 0x84}, + {value: 0x43d8, lo: 0x86, hi: 0x89}, + {value: 0x43fc, lo: 0x8a, hi: 0x8a}, + {value: 0x4378, lo: 0x8b, hi: 0x8b}, + {value: 0x4360, lo: 0x8c, hi: 0x8c}, + {value: 0x43a8, lo: 0x8d, hi: 0x8d}, + {value: 0x43d2, lo: 0x8e, hi: 0x8e}, + // Block 0x64, offset 0x203 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x65, offset 0x206 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x66, offset 0x209 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x67, offset 0x20b + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x68, offset 0x20e + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x69, offset 0x210 + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x6a, offset 0x214 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6b, offset 0x219 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6c, offset 0x21b + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6d, offset 0x21d + {value: 0x0000, lo: 0x04}, + {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, + {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, + {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, + {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, + // Block 0x6e, offset 0x222 + {value: 0x0000, lo: 0x05}, + {value: 0x4a9f, lo: 0x82, hi: 0x87}, + {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, + {value: 0x4a9f, lo: 0x92, hi: 0x97}, + {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x6f, offset 0x228 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x70, offset 0x22a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x71, offset 0x22c + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x72, offset 0x22e + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x73, offset 0x234 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x74, offset 0x237 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x75, offset 0x23a + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x76, offset 0x242 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x77, offset 0x249 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x78, offset 0x24c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x79, offset 0x24f + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7a, offset 0x251 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7b, offset 0x259 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x7c, offset 0x25c + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7d, offset 0x263 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7e, offset 0x266 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7f, offset 0x26c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x80, offset 0x26e + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x81, offset 0x271 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x82, offset 0x273 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x83, offset 0x275 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x84, offset 0x277 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x85, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x86, offset 0x27c + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x87, offset 0x27e + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x88, offset 0x280 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x89, offset 0x282 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8a, offset 0x28f + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8b, offset 0x299 + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x8c, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8d, offset 0x29d + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x8e, offset 0x2a3 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x8f, offset 0x2a5 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x90, offset 0x2a8 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 17104 bytes (16.70 KiB). Checksum: d985061cf5307b35. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 91: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 91 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 93 blocks, 5952 entries, 11904 bytes +// The third block is the zero block. +var nfkcValues = [5952]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac, + // Block 0x5, offset 0x140 + 0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2dee, 0x185: 0x2df4, + 0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a, + 0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a5, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425a, 0x285: 0x447b, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e, + 0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b, + 0x306: 0xa000, 0x307: 0x3709, + 0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3733, 0x342: 0x37b7, + 0x350: 0x370f, 0x351: 0x3793, + 0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd, + 0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf, + 0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed, + 0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805, + 0x378: 0x3787, 0x379: 0x380b, + // Block 0xe, offset 0x380 + 0x387: 0x1d61, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d84, + 0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000, + 0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000, + 0x412: 0x2d4e, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d56, + 0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8, + 0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107, + 0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0, + 0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9, + 0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be, + 0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5, + 0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa, + 0x46a: 0x01fd, + 0x478: 0x020c, + // Block 0x12, offset 0x480 + 0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101, + 0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116, + 0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128, + 0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137, + 0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec, + 0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5, + 0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x8132, 0x4c1: 0x8132, 0x4c2: 0x812d, 0x4c3: 0x8132, 0x4c4: 0x8132, 0x4c5: 0x8132, + 0x4c6: 0x8132, 0x4c7: 0x8132, 0x4c8: 0x8132, 0x4c9: 0x8132, 0x4ca: 0x812d, 0x4cb: 0x8132, + 0x4cc: 0x8132, 0x4cd: 0x8135, 0x4ce: 0x812a, 0x4cf: 0x812d, 0x4d0: 0x8129, 0x4d1: 0x8132, + 0x4d2: 0x8132, 0x4d3: 0x8132, 0x4d4: 0x8132, 0x4d5: 0x8132, 0x4d6: 0x8132, 0x4d7: 0x8132, + 0x4d8: 0x8132, 0x4d9: 0x8132, 0x4da: 0x8132, 0x4db: 0x8132, 0x4dc: 0x8132, 0x4dd: 0x8132, + 0x4de: 0x8132, 0x4df: 0x8132, 0x4e0: 0x8132, 0x4e1: 0x8132, 0x4e2: 0x8132, 0x4e3: 0x8132, + 0x4e4: 0x8132, 0x4e5: 0x8132, 0x4e6: 0x8132, 0x4e7: 0x8132, 0x4e8: 0x8132, 0x4e9: 0x8132, + 0x4ea: 0x8132, 0x4eb: 0x8132, 0x4ec: 0x8132, 0x4ed: 0x8132, 0x4ee: 0x8132, 0x4ef: 0x8132, + 0x4f0: 0x8132, 0x4f1: 0x8132, 0x4f2: 0x8132, 0x4f3: 0x8132, 0x4f4: 0x8132, 0x4f5: 0x8132, + 0x4f6: 0x8133, 0x4f7: 0x8131, 0x4f8: 0x8131, 0x4f9: 0x812d, 0x4fb: 0x8132, + 0x4fc: 0x8134, 0x4fd: 0x812d, 0x4fe: 0x8132, 0x4ff: 0x812d, + // Block 0x14, offset 0x500 + 0x500: 0x2f97, 0x501: 0x32a3, 0x502: 0x2fa1, 0x503: 0x32ad, 0x504: 0x2fa6, 0x505: 0x32b2, + 0x506: 0x2fab, 0x507: 0x32b7, 0x508: 0x38cc, 0x509: 0x3a5b, 0x50a: 0x2fc4, 0x50b: 0x32d0, + 0x50c: 0x2fce, 0x50d: 0x32da, 0x50e: 0x2fdd, 0x50f: 0x32e9, 0x510: 0x2fd3, 0x511: 0x32df, + 0x512: 0x2fd8, 0x513: 0x32e4, 0x514: 0x38ef, 0x515: 0x3a7e, 0x516: 0x38f6, 0x517: 0x3a85, + 0x518: 0x3019, 0x519: 0x3325, 0x51a: 0x301e, 0x51b: 0x332a, 0x51c: 0x3904, 0x51d: 0x3a93, + 0x51e: 0x3023, 0x51f: 0x332f, 0x520: 0x3032, 0x521: 0x333e, 0x522: 0x3050, 0x523: 0x335c, + 0x524: 0x305f, 0x525: 0x336b, 0x526: 0x3055, 0x527: 0x3361, 0x528: 0x3064, 0x529: 0x3370, + 0x52a: 0x3069, 0x52b: 0x3375, 0x52c: 0x30af, 0x52d: 0x33bb, 0x52e: 0x390b, 0x52f: 0x3a9a, + 0x530: 0x30b9, 0x531: 0x33ca, 0x532: 0x30c3, 0x533: 0x33d4, 0x534: 0x30cd, 0x535: 0x33de, + 0x536: 0x46c4, 0x537: 0x4755, 0x538: 0x3912, 0x539: 0x3aa1, 0x53a: 0x30e6, 0x53b: 0x33f7, + 0x53c: 0x30e1, 0x53d: 0x33f2, 0x53e: 0x30eb, 0x53f: 0x33fc, + // Block 0x15, offset 0x540 + 0x540: 0x30f0, 0x541: 0x3401, 0x542: 0x30f5, 0x543: 0x3406, 0x544: 0x3109, 0x545: 0x341a, + 0x546: 0x3113, 0x547: 0x3424, 0x548: 0x3122, 0x549: 0x3433, 0x54a: 0x311d, 0x54b: 0x342e, + 0x54c: 0x3935, 0x54d: 0x3ac4, 0x54e: 0x3943, 0x54f: 0x3ad2, 0x550: 0x394a, 0x551: 0x3ad9, + 0x552: 0x3951, 0x553: 0x3ae0, 0x554: 0x314f, 0x555: 0x3460, 0x556: 0x3154, 0x557: 0x3465, + 0x558: 0x315e, 0x559: 0x346f, 0x55a: 0x46f1, 0x55b: 0x4782, 0x55c: 0x3997, 0x55d: 0x3b26, + 0x55e: 0x3177, 0x55f: 0x3488, 0x560: 0x3181, 0x561: 0x3492, 0x562: 0x4700, 0x563: 0x4791, + 0x564: 0x399e, 0x565: 0x3b2d, 0x566: 0x39a5, 0x567: 0x3b34, 0x568: 0x39ac, 0x569: 0x3b3b, + 0x56a: 0x3190, 0x56b: 0x34a1, 0x56c: 0x319a, 0x56d: 0x34b0, 0x56e: 0x31ae, 0x56f: 0x34c4, + 0x570: 0x31a9, 0x571: 0x34bf, 0x572: 0x31ea, 0x573: 0x3500, 0x574: 0x31f9, 0x575: 0x350f, + 0x576: 0x31f4, 0x577: 0x350a, 0x578: 0x39b3, 0x579: 0x3b42, 0x57a: 0x39ba, 0x57b: 0x3b49, + 0x57c: 0x31fe, 0x57d: 0x3514, 0x57e: 0x3203, 0x57f: 0x3519, + // Block 0x16, offset 0x580 + 0x580: 0x3208, 0x581: 0x351e, 0x582: 0x320d, 0x583: 0x3523, 0x584: 0x321c, 0x585: 0x3532, + 0x586: 0x3217, 0x587: 0x352d, 0x588: 0x3221, 0x589: 0x353c, 0x58a: 0x3226, 0x58b: 0x3541, + 0x58c: 0x322b, 0x58d: 0x3546, 0x58e: 0x3249, 0x58f: 0x3564, 0x590: 0x3262, 0x591: 0x3582, + 0x592: 0x3271, 0x593: 0x3591, 0x594: 0x3276, 0x595: 0x3596, 0x596: 0x337a, 0x597: 0x34a6, + 0x598: 0x3537, 0x599: 0x3573, 0x59a: 0x1be0, 0x59b: 0x42d7, + 0x5a0: 0x46a1, 0x5a1: 0x4732, 0x5a2: 0x2f83, 0x5a3: 0x328f, + 0x5a4: 0x3878, 0x5a5: 0x3a07, 0x5a6: 0x3871, 0x5a7: 0x3a00, 0x5a8: 0x3886, 0x5a9: 0x3a15, + 0x5aa: 0x387f, 0x5ab: 0x3a0e, 0x5ac: 0x38be, 0x5ad: 0x3a4d, 0x5ae: 0x3894, 0x5af: 0x3a23, + 0x5b0: 0x388d, 0x5b1: 0x3a1c, 0x5b2: 0x38a2, 0x5b3: 0x3a31, 0x5b4: 0x389b, 0x5b5: 0x3a2a, + 0x5b6: 0x38c5, 0x5b7: 0x3a54, 0x5b8: 0x46b5, 0x5b9: 0x4746, 0x5ba: 0x3000, 0x5bb: 0x330c, + 0x5bc: 0x2fec, 0x5bd: 0x32f8, 0x5be: 0x38da, 0x5bf: 0x3a69, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x38d3, 0x5c1: 0x3a62, 0x5c2: 0x38e8, 0x5c3: 0x3a77, 0x5c4: 0x38e1, 0x5c5: 0x3a70, + 0x5c6: 0x38fd, 0x5c7: 0x3a8c, 0x5c8: 0x3091, 0x5c9: 0x339d, 0x5ca: 0x30a5, 0x5cb: 0x33b1, + 0x5cc: 0x46e7, 0x5cd: 0x4778, 0x5ce: 0x3136, 0x5cf: 0x3447, 0x5d0: 0x3920, 0x5d1: 0x3aaf, + 0x5d2: 0x3919, 0x5d3: 0x3aa8, 0x5d4: 0x392e, 0x5d5: 0x3abd, 0x5d6: 0x3927, 0x5d7: 0x3ab6, + 0x5d8: 0x3989, 0x5d9: 0x3b18, 0x5da: 0x396d, 0x5db: 0x3afc, 0x5dc: 0x3966, 0x5dd: 0x3af5, + 0x5de: 0x397b, 0x5df: 0x3b0a, 0x5e0: 0x3974, 0x5e1: 0x3b03, 0x5e2: 0x3982, 0x5e3: 0x3b11, + 0x5e4: 0x31e5, 0x5e5: 0x34fb, 0x5e6: 0x31c7, 0x5e7: 0x34dd, 0x5e8: 0x39e4, 0x5e9: 0x3b73, + 0x5ea: 0x39dd, 0x5eb: 0x3b6c, 0x5ec: 0x39f2, 0x5ed: 0x3b81, 0x5ee: 0x39eb, 0x5ef: 0x3b7a, + 0x5f0: 0x39f9, 0x5f1: 0x3b88, 0x5f2: 0x3230, 0x5f3: 0x354b, 0x5f4: 0x3258, 0x5f5: 0x3578, + 0x5f6: 0x3253, 0x5f7: 0x356e, 0x5f8: 0x323f, 0x5f9: 0x355a, + // Block 0x18, offset 0x600 + 0x600: 0x4804, 0x601: 0x480a, 0x602: 0x491e, 0x603: 0x4936, 0x604: 0x4926, 0x605: 0x493e, + 0x606: 0x492e, 0x607: 0x4946, 0x608: 0x47aa, 0x609: 0x47b0, 0x60a: 0x488e, 0x60b: 0x48a6, + 0x60c: 0x4896, 0x60d: 0x48ae, 0x60e: 0x489e, 0x60f: 0x48b6, 0x610: 0x4816, 0x611: 0x481c, + 0x612: 0x3db8, 0x613: 0x3dc8, 0x614: 0x3dc0, 0x615: 0x3dd0, + 0x618: 0x47b6, 0x619: 0x47bc, 0x61a: 0x3ce8, 0x61b: 0x3cf8, 0x61c: 0x3cf0, 0x61d: 0x3d00, + 0x620: 0x482e, 0x621: 0x4834, 0x622: 0x494e, 0x623: 0x4966, + 0x624: 0x4956, 0x625: 0x496e, 0x626: 0x495e, 0x627: 0x4976, 0x628: 0x47c2, 0x629: 0x47c8, + 0x62a: 0x48be, 0x62b: 0x48d6, 0x62c: 0x48c6, 0x62d: 0x48de, 0x62e: 0x48ce, 0x62f: 0x48e6, + 0x630: 0x4846, 0x631: 0x484c, 0x632: 0x3e18, 0x633: 0x3e30, 0x634: 0x3e20, 0x635: 0x3e38, + 0x636: 0x3e28, 0x637: 0x3e40, 0x638: 0x47ce, 0x639: 0x47d4, 0x63a: 0x3d18, 0x63b: 0x3d30, + 0x63c: 0x3d20, 0x63d: 0x3d38, 0x63e: 0x3d28, 0x63f: 0x3d40, + // Block 0x19, offset 0x640 + 0x640: 0x4852, 0x641: 0x4858, 0x642: 0x3e48, 0x643: 0x3e58, 0x644: 0x3e50, 0x645: 0x3e60, + 0x648: 0x47da, 0x649: 0x47e0, 0x64a: 0x3d48, 0x64b: 0x3d58, + 0x64c: 0x3d50, 0x64d: 0x3d60, 0x650: 0x4864, 0x651: 0x486a, + 0x652: 0x3e80, 0x653: 0x3e98, 0x654: 0x3e88, 0x655: 0x3ea0, 0x656: 0x3e90, 0x657: 0x3ea8, + 0x659: 0x47e6, 0x65b: 0x3d68, 0x65d: 0x3d70, + 0x65f: 0x3d78, 0x660: 0x487c, 0x661: 0x4882, 0x662: 0x497e, 0x663: 0x4996, + 0x664: 0x4986, 0x665: 0x499e, 0x666: 0x498e, 0x667: 0x49a6, 0x668: 0x47ec, 0x669: 0x47f2, + 0x66a: 0x48ee, 0x66b: 0x4906, 0x66c: 0x48f6, 0x66d: 0x490e, 0x66e: 0x48fe, 0x66f: 0x4916, + 0x670: 0x47f8, 0x671: 0x431e, 0x672: 0x3691, 0x673: 0x4324, 0x674: 0x4822, 0x675: 0x432a, + 0x676: 0x36a3, 0x677: 0x4330, 0x678: 0x36c1, 0x679: 0x4336, 0x67a: 0x36d9, 0x67b: 0x433c, + 0x67c: 0x4870, 0x67d: 0x4342, + // Block 0x1a, offset 0x680 + 0x680: 0x3da0, 0x681: 0x3da8, 0x682: 0x4184, 0x683: 0x41a2, 0x684: 0x418e, 0x685: 0x41ac, + 0x686: 0x4198, 0x687: 0x41b6, 0x688: 0x3cd8, 0x689: 0x3ce0, 0x68a: 0x40d0, 0x68b: 0x40ee, + 0x68c: 0x40da, 0x68d: 0x40f8, 0x68e: 0x40e4, 0x68f: 0x4102, 0x690: 0x3de8, 0x691: 0x3df0, + 0x692: 0x41c0, 0x693: 0x41de, 0x694: 0x41ca, 0x695: 0x41e8, 0x696: 0x41d4, 0x697: 0x41f2, + 0x698: 0x3d08, 0x699: 0x3d10, 0x69a: 0x410c, 0x69b: 0x412a, 0x69c: 0x4116, 0x69d: 0x4134, + 0x69e: 0x4120, 0x69f: 0x413e, 0x6a0: 0x3ec0, 0x6a1: 0x3ec8, 0x6a2: 0x41fc, 0x6a3: 0x421a, + 0x6a4: 0x4206, 0x6a5: 0x4224, 0x6a6: 0x4210, 0x6a7: 0x422e, 0x6a8: 0x3d80, 0x6a9: 0x3d88, + 0x6aa: 0x4148, 0x6ab: 0x4166, 0x6ac: 0x4152, 0x6ad: 0x4170, 0x6ae: 0x415c, 0x6af: 0x417a, + 0x6b0: 0x3685, 0x6b1: 0x367f, 0x6b2: 0x3d90, 0x6b3: 0x368b, 0x6b4: 0x3d98, + 0x6b6: 0x4810, 0x6b7: 0x3db0, 0x6b8: 0x35f5, 0x6b9: 0x35ef, 0x6ba: 0x35e3, 0x6bb: 0x42ee, + 0x6bc: 0x35fb, 0x6bd: 0x4287, 0x6be: 0x01d3, 0x6bf: 0x4287, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x42a0, 0x6c1: 0x4482, 0x6c2: 0x3dd8, 0x6c3: 0x369d, 0x6c4: 0x3de0, + 0x6c6: 0x483a, 0x6c7: 0x3df8, 0x6c8: 0x3601, 0x6c9: 0x42f4, 0x6ca: 0x360d, 0x6cb: 0x42fa, + 0x6cc: 0x3619, 0x6cd: 0x4489, 0x6ce: 0x4490, 0x6cf: 0x4497, 0x6d0: 0x36b5, 0x6d1: 0x36af, + 0x6d2: 0x3e00, 0x6d3: 0x44e4, 0x6d6: 0x36bb, 0x6d7: 0x3e10, + 0x6d8: 0x3631, 0x6d9: 0x362b, 0x6da: 0x361f, 0x6db: 0x4300, 0x6dd: 0x449e, + 0x6de: 0x44a5, 0x6df: 0x44ac, 0x6e0: 0x36eb, 0x6e1: 0x36e5, 0x6e2: 0x3e68, 0x6e3: 0x44ec, + 0x6e4: 0x36cd, 0x6e5: 0x36d3, 0x6e6: 0x36f1, 0x6e7: 0x3e78, 0x6e8: 0x3661, 0x6e9: 0x365b, + 0x6ea: 0x364f, 0x6eb: 0x430c, 0x6ec: 0x3649, 0x6ed: 0x4474, 0x6ee: 0x447b, 0x6ef: 0x0081, + 0x6f2: 0x3eb0, 0x6f3: 0x36f7, 0x6f4: 0x3eb8, + 0x6f6: 0x4888, 0x6f7: 0x3ed0, 0x6f8: 0x363d, 0x6f9: 0x4306, 0x6fa: 0x366d, 0x6fb: 0x4318, + 0x6fc: 0x3679, 0x6fd: 0x425a, 0x6fe: 0x428c, + // Block 0x1c, offset 0x700 + 0x700: 0x1bd8, 0x701: 0x1bdc, 0x702: 0x0047, 0x703: 0x1c54, 0x705: 0x1be8, + 0x706: 0x1bec, 0x707: 0x00e9, 0x709: 0x1c58, 0x70a: 0x008f, 0x70b: 0x0051, + 0x70c: 0x0051, 0x70d: 0x0051, 0x70e: 0x0091, 0x70f: 0x00da, 0x710: 0x0053, 0x711: 0x0053, + 0x712: 0x0059, 0x713: 0x0099, 0x715: 0x005d, 0x716: 0x198d, + 0x719: 0x0061, 0x71a: 0x0063, 0x71b: 0x0065, 0x71c: 0x0065, 0x71d: 0x0065, + 0x720: 0x199f, 0x721: 0x1bc8, 0x722: 0x19a8, + 0x724: 0x0075, 0x726: 0x01b8, 0x728: 0x0075, + 0x72a: 0x0057, 0x72b: 0x42d2, 0x72c: 0x0045, 0x72d: 0x0047, 0x72f: 0x008b, + 0x730: 0x004b, 0x731: 0x004d, 0x733: 0x005b, 0x734: 0x009f, 0x735: 0x0215, + 0x736: 0x0218, 0x737: 0x021b, 0x738: 0x021e, 0x739: 0x0093, 0x73b: 0x1b98, + 0x73c: 0x01e8, 0x73d: 0x01c1, 0x73e: 0x0179, 0x73f: 0x01a0, + // Block 0x1d, offset 0x740 + 0x740: 0x0463, 0x745: 0x0049, + 0x746: 0x0089, 0x747: 0x008b, 0x748: 0x0093, 0x749: 0x0095, + 0x750: 0x222e, 0x751: 0x223a, + 0x752: 0x22ee, 0x753: 0x2216, 0x754: 0x229a, 0x755: 0x2222, 0x756: 0x22a0, 0x757: 0x22b8, + 0x758: 0x22c4, 0x759: 0x2228, 0x75a: 0x22ca, 0x75b: 0x2234, 0x75c: 0x22be, 0x75d: 0x22d0, + 0x75e: 0x22d6, 0x75f: 0x1cbc, 0x760: 0x0053, 0x761: 0x195a, 0x762: 0x1ba4, 0x763: 0x1963, + 0x764: 0x006d, 0x765: 0x19ab, 0x766: 0x1bd0, 0x767: 0x1d48, 0x768: 0x1966, 0x769: 0x0071, + 0x76a: 0x19b7, 0x76b: 0x1bd4, 0x76c: 0x0059, 0x76d: 0x0047, 0x76e: 0x0049, 0x76f: 0x005b, + 0x770: 0x0093, 0x771: 0x19e4, 0x772: 0x1c18, 0x773: 0x19ed, 0x774: 0x00ad, 0x775: 0x1a62, + 0x776: 0x1c4c, 0x777: 0x1d5c, 0x778: 0x19f0, 0x779: 0x00b1, 0x77a: 0x1a65, 0x77b: 0x1c50, + 0x77c: 0x0099, 0x77d: 0x0087, 0x77e: 0x0089, 0x77f: 0x009b, + // Block 0x1e, offset 0x780 + 0x781: 0x3c06, 0x783: 0xa000, 0x784: 0x3c0d, 0x785: 0xa000, + 0x787: 0x3c14, 0x788: 0xa000, 0x789: 0x3c1b, + 0x78d: 0xa000, + 0x7a0: 0x2f65, 0x7a1: 0xa000, 0x7a2: 0x3c29, + 0x7a4: 0xa000, 0x7a5: 0xa000, + 0x7ad: 0x3c22, 0x7ae: 0x2f60, 0x7af: 0x2f6a, + 0x7b0: 0x3c30, 0x7b1: 0x3c37, 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0x3c3e, 0x7b5: 0x3c45, + 0x7b6: 0xa000, 0x7b7: 0xa000, 0x7b8: 0x3c4c, 0x7b9: 0x3c53, 0x7ba: 0xa000, 0x7bb: 0xa000, + 0x7bc: 0xa000, 0x7bd: 0xa000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x3c5a, 0x7c1: 0x3c61, 0x7c2: 0xa000, 0x7c3: 0xa000, 0x7c4: 0x3c76, 0x7c5: 0x3c7d, + 0x7c6: 0xa000, 0x7c7: 0xa000, 0x7c8: 0x3c84, 0x7c9: 0x3c8b, + 0x7d1: 0xa000, + 0x7d2: 0xa000, + 0x7e2: 0xa000, + 0x7e8: 0xa000, 0x7e9: 0xa000, + 0x7eb: 0xa000, 0x7ec: 0x3ca0, 0x7ed: 0x3ca7, 0x7ee: 0x3cae, 0x7ef: 0x3cb5, + 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0xa000, 0x7f5: 0xa000, + // Block 0x20, offset 0x800 + 0x820: 0x0023, 0x821: 0x0025, 0x822: 0x0027, 0x823: 0x0029, + 0x824: 0x002b, 0x825: 0x002d, 0x826: 0x002f, 0x827: 0x0031, 0x828: 0x0033, 0x829: 0x1882, + 0x82a: 0x1885, 0x82b: 0x1888, 0x82c: 0x188b, 0x82d: 0x188e, 0x82e: 0x1891, 0x82f: 0x1894, + 0x830: 0x1897, 0x831: 0x189a, 0x832: 0x189d, 0x833: 0x18a6, 0x834: 0x1a68, 0x835: 0x1a6c, + 0x836: 0x1a70, 0x837: 0x1a74, 0x838: 0x1a78, 0x839: 0x1a7c, 0x83a: 0x1a80, 0x83b: 0x1a84, + 0x83c: 0x1a88, 0x83d: 0x1c80, 0x83e: 0x1c85, 0x83f: 0x1c8a, + // Block 0x21, offset 0x840 + 0x840: 0x1c8f, 0x841: 0x1c94, 0x842: 0x1c99, 0x843: 0x1c9e, 0x844: 0x1ca3, 0x845: 0x1ca8, + 0x846: 0x1cad, 0x847: 0x1cb2, 0x848: 0x187f, 0x849: 0x18a3, 0x84a: 0x18c7, 0x84b: 0x18eb, + 0x84c: 0x190f, 0x84d: 0x1918, 0x84e: 0x191e, 0x84f: 0x1924, 0x850: 0x192a, 0x851: 0x1b60, + 0x852: 0x1b64, 0x853: 0x1b68, 0x854: 0x1b6c, 0x855: 0x1b70, 0x856: 0x1b74, 0x857: 0x1b78, + 0x858: 0x1b7c, 0x859: 0x1b80, 0x85a: 0x1b84, 0x85b: 0x1b88, 0x85c: 0x1af4, 0x85d: 0x1af8, + 0x85e: 0x1afc, 0x85f: 0x1b00, 0x860: 0x1b04, 0x861: 0x1b08, 0x862: 0x1b0c, 0x863: 0x1b10, + 0x864: 0x1b14, 0x865: 0x1b18, 0x866: 0x1b1c, 0x867: 0x1b20, 0x868: 0x1b24, 0x869: 0x1b28, + 0x86a: 0x1b2c, 0x86b: 0x1b30, 0x86c: 0x1b34, 0x86d: 0x1b38, 0x86e: 0x1b3c, 0x86f: 0x1b40, + 0x870: 0x1b44, 0x871: 0x1b48, 0x872: 0x1b4c, 0x873: 0x1b50, 0x874: 0x1b54, 0x875: 0x1b58, + 0x876: 0x0043, 0x877: 0x0045, 0x878: 0x0047, 0x879: 0x0049, 0x87a: 0x004b, 0x87b: 0x004d, + 0x87c: 0x004f, 0x87d: 0x0051, 0x87e: 0x0053, 0x87f: 0x0055, + // Block 0x22, offset 0x880 + 0x880: 0x06bf, 0x881: 0x06e3, 0x882: 0x06ef, 0x883: 0x06ff, 0x884: 0x0707, 0x885: 0x0713, + 0x886: 0x071b, 0x887: 0x0723, 0x888: 0x072f, 0x889: 0x0783, 0x88a: 0x079b, 0x88b: 0x07ab, + 0x88c: 0x07bb, 0x88d: 0x07cb, 0x88e: 0x07db, 0x88f: 0x07fb, 0x890: 0x07ff, 0x891: 0x0803, + 0x892: 0x0837, 0x893: 0x085f, 0x894: 0x086f, 0x895: 0x0877, 0x896: 0x087b, 0x897: 0x0887, + 0x898: 0x08a3, 0x899: 0x08a7, 0x89a: 0x08bf, 0x89b: 0x08c3, 0x89c: 0x08cb, 0x89d: 0x08db, + 0x89e: 0x0977, 0x89f: 0x098b, 0x8a0: 0x09cb, 0x8a1: 0x09df, 0x8a2: 0x09e7, 0x8a3: 0x09eb, + 0x8a4: 0x09fb, 0x8a5: 0x0a17, 0x8a6: 0x0a43, 0x8a7: 0x0a4f, 0x8a8: 0x0a6f, 0x8a9: 0x0a7b, + 0x8aa: 0x0a7f, 0x8ab: 0x0a83, 0x8ac: 0x0a9b, 0x8ad: 0x0a9f, 0x8ae: 0x0acb, 0x8af: 0x0ad7, + 0x8b0: 0x0adf, 0x8b1: 0x0ae7, 0x8b2: 0x0af7, 0x8b3: 0x0aff, 0x8b4: 0x0b07, 0x8b5: 0x0b33, + 0x8b6: 0x0b37, 0x8b7: 0x0b3f, 0x8b8: 0x0b43, 0x8b9: 0x0b4b, 0x8ba: 0x0b53, 0x8bb: 0x0b63, + 0x8bc: 0x0b7f, 0x8bd: 0x0bf7, 0x8be: 0x0c0b, 0x8bf: 0x0c0f, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0c8f, 0x8c1: 0x0c93, 0x8c2: 0x0ca7, 0x8c3: 0x0cab, 0x8c4: 0x0cb3, 0x8c5: 0x0cbb, + 0x8c6: 0x0cc3, 0x8c7: 0x0ccf, 0x8c8: 0x0cf7, 0x8c9: 0x0d07, 0x8ca: 0x0d1b, 0x8cb: 0x0d8b, + 0x8cc: 0x0d97, 0x8cd: 0x0da7, 0x8ce: 0x0db3, 0x8cf: 0x0dbf, 0x8d0: 0x0dc7, 0x8d1: 0x0dcb, + 0x8d2: 0x0dcf, 0x8d3: 0x0dd3, 0x8d4: 0x0dd7, 0x8d5: 0x0e8f, 0x8d6: 0x0ed7, 0x8d7: 0x0ee3, + 0x8d8: 0x0ee7, 0x8d9: 0x0eeb, 0x8da: 0x0eef, 0x8db: 0x0ef7, 0x8dc: 0x0efb, 0x8dd: 0x0f0f, + 0x8de: 0x0f2b, 0x8df: 0x0f33, 0x8e0: 0x0f73, 0x8e1: 0x0f77, 0x8e2: 0x0f7f, 0x8e3: 0x0f83, + 0x8e4: 0x0f8b, 0x8e5: 0x0f8f, 0x8e6: 0x0fb3, 0x8e7: 0x0fb7, 0x8e8: 0x0fd3, 0x8e9: 0x0fd7, + 0x8ea: 0x0fdb, 0x8eb: 0x0fdf, 0x8ec: 0x0ff3, 0x8ed: 0x1017, 0x8ee: 0x101b, 0x8ef: 0x101f, + 0x8f0: 0x1043, 0x8f1: 0x1083, 0x8f2: 0x1087, 0x8f3: 0x10a7, 0x8f4: 0x10b7, 0x8f5: 0x10bf, + 0x8f6: 0x10df, 0x8f7: 0x1103, 0x8f8: 0x1147, 0x8f9: 0x114f, 0x8fa: 0x1163, 0x8fb: 0x116f, + 0x8fc: 0x1177, 0x8fd: 0x117f, 0x8fe: 0x1183, 0x8ff: 0x1187, + // Block 0x24, offset 0x900 + 0x900: 0x119f, 0x901: 0x11a3, 0x902: 0x11bf, 0x903: 0x11c7, 0x904: 0x11cf, 0x905: 0x11d3, + 0x906: 0x11df, 0x907: 0x11e7, 0x908: 0x11eb, 0x909: 0x11ef, 0x90a: 0x11f7, 0x90b: 0x11fb, + 0x90c: 0x129b, 0x90d: 0x12af, 0x90e: 0x12e3, 0x90f: 0x12e7, 0x910: 0x12ef, 0x911: 0x131b, + 0x912: 0x1323, 0x913: 0x132b, 0x914: 0x1333, 0x915: 0x136f, 0x916: 0x1373, 0x917: 0x137b, + 0x918: 0x137f, 0x919: 0x1383, 0x91a: 0x13af, 0x91b: 0x13b3, 0x91c: 0x13bb, 0x91d: 0x13cf, + 0x91e: 0x13d3, 0x91f: 0x13ef, 0x920: 0x13f7, 0x921: 0x13fb, 0x922: 0x141f, 0x923: 0x143f, + 0x924: 0x1453, 0x925: 0x1457, 0x926: 0x145f, 0x927: 0x148b, 0x928: 0x148f, 0x929: 0x149f, + 0x92a: 0x14c3, 0x92b: 0x14cf, 0x92c: 0x14df, 0x92d: 0x14f7, 0x92e: 0x14ff, 0x92f: 0x1503, + 0x930: 0x1507, 0x931: 0x150b, 0x932: 0x1517, 0x933: 0x151b, 0x934: 0x1523, 0x935: 0x153f, + 0x936: 0x1543, 0x937: 0x1547, 0x938: 0x155f, 0x939: 0x1563, 0x93a: 0x156b, 0x93b: 0x157f, + 0x93c: 0x1583, 0x93d: 0x1587, 0x93e: 0x158f, 0x93f: 0x1593, + // Block 0x25, offset 0x940 + 0x946: 0xa000, 0x94b: 0xa000, + 0x94c: 0x3f08, 0x94d: 0xa000, 0x94e: 0x3f10, 0x94f: 0xa000, 0x950: 0x3f18, 0x951: 0xa000, + 0x952: 0x3f20, 0x953: 0xa000, 0x954: 0x3f28, 0x955: 0xa000, 0x956: 0x3f30, 0x957: 0xa000, + 0x958: 0x3f38, 0x959: 0xa000, 0x95a: 0x3f40, 0x95b: 0xa000, 0x95c: 0x3f48, 0x95d: 0xa000, + 0x95e: 0x3f50, 0x95f: 0xa000, 0x960: 0x3f58, 0x961: 0xa000, 0x962: 0x3f60, + 0x964: 0xa000, 0x965: 0x3f68, 0x966: 0xa000, 0x967: 0x3f70, 0x968: 0xa000, 0x969: 0x3f78, + 0x96f: 0xa000, + 0x970: 0x3f80, 0x971: 0x3f88, 0x972: 0xa000, 0x973: 0x3f90, 0x974: 0x3f98, 0x975: 0xa000, + 0x976: 0x3fa0, 0x977: 0x3fa8, 0x978: 0xa000, 0x979: 0x3fb0, 0x97a: 0x3fb8, 0x97b: 0xa000, + 0x97c: 0x3fc0, 0x97d: 0x3fc8, + // Block 0x26, offset 0x980 + 0x994: 0x3f00, + 0x999: 0x9903, 0x99a: 0x9903, 0x99b: 0x42dc, 0x99c: 0x42e2, 0x99d: 0xa000, + 0x99e: 0x3fd0, 0x99f: 0x26b4, + 0x9a6: 0xa000, + 0x9ab: 0xa000, 0x9ac: 0x3fe0, 0x9ad: 0xa000, 0x9ae: 0x3fe8, 0x9af: 0xa000, + 0x9b0: 0x3ff0, 0x9b1: 0xa000, 0x9b2: 0x3ff8, 0x9b3: 0xa000, 0x9b4: 0x4000, 0x9b5: 0xa000, + 0x9b6: 0x4008, 0x9b7: 0xa000, 0x9b8: 0x4010, 0x9b9: 0xa000, 0x9ba: 0x4018, 0x9bb: 0xa000, + 0x9bc: 0x4020, 0x9bd: 0xa000, 0x9be: 0x4028, 0x9bf: 0xa000, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x4030, 0x9c1: 0xa000, 0x9c2: 0x4038, 0x9c4: 0xa000, 0x9c5: 0x4040, + 0x9c6: 0xa000, 0x9c7: 0x4048, 0x9c8: 0xa000, 0x9c9: 0x4050, + 0x9cf: 0xa000, 0x9d0: 0x4058, 0x9d1: 0x4060, + 0x9d2: 0xa000, 0x9d3: 0x4068, 0x9d4: 0x4070, 0x9d5: 0xa000, 0x9d6: 0x4078, 0x9d7: 0x4080, + 0x9d8: 0xa000, 0x9d9: 0x4088, 0x9da: 0x4090, 0x9db: 0xa000, 0x9dc: 0x4098, 0x9dd: 0x40a0, + 0x9ef: 0xa000, + 0x9f0: 0xa000, 0x9f1: 0xa000, 0x9f2: 0xa000, 0x9f4: 0x3fd8, + 0x9f7: 0x40a8, 0x9f8: 0x40b0, 0x9f9: 0x40b8, 0x9fa: 0x40c0, + 0x9fd: 0xa000, 0x9fe: 0x40c8, 0x9ff: 0x26c9, + // Block 0x28, offset 0xa00 + 0xa00: 0x0367, 0xa01: 0x032b, 0xa02: 0x032f, 0xa03: 0x0333, 0xa04: 0x037b, 0xa05: 0x0337, + 0xa06: 0x033b, 0xa07: 0x033f, 0xa08: 0x0343, 0xa09: 0x0347, 0xa0a: 0x034b, 0xa0b: 0x034f, + 0xa0c: 0x0353, 0xa0d: 0x0357, 0xa0e: 0x035b, 0xa0f: 0x49bd, 0xa10: 0x49c3, 0xa11: 0x49c9, + 0xa12: 0x49cf, 0xa13: 0x49d5, 0xa14: 0x49db, 0xa15: 0x49e1, 0xa16: 0x49e7, 0xa17: 0x49ed, + 0xa18: 0x49f3, 0xa19: 0x49f9, 0xa1a: 0x49ff, 0xa1b: 0x4a05, 0xa1c: 0x4a0b, 0xa1d: 0x4a11, + 0xa1e: 0x4a17, 0xa1f: 0x4a1d, 0xa20: 0x4a23, 0xa21: 0x4a29, 0xa22: 0x4a2f, 0xa23: 0x4a35, + 0xa24: 0x03c3, 0xa25: 0x035f, 0xa26: 0x0363, 0xa27: 0x03e7, 0xa28: 0x03eb, 0xa29: 0x03ef, + 0xa2a: 0x03f3, 0xa2b: 0x03f7, 0xa2c: 0x03fb, 0xa2d: 0x03ff, 0xa2e: 0x036b, 0xa2f: 0x0403, + 0xa30: 0x0407, 0xa31: 0x036f, 0xa32: 0x0373, 0xa33: 0x0377, 0xa34: 0x037f, 0xa35: 0x0383, + 0xa36: 0x0387, 0xa37: 0x038b, 0xa38: 0x038f, 0xa39: 0x0393, 0xa3a: 0x0397, 0xa3b: 0x039b, + 0xa3c: 0x039f, 0xa3d: 0x03a3, 0xa3e: 0x03a7, 0xa3f: 0x03ab, + // Block 0x29, offset 0xa40 + 0xa40: 0x03af, 0xa41: 0x03b3, 0xa42: 0x040b, 0xa43: 0x040f, 0xa44: 0x03b7, 0xa45: 0x03bb, + 0xa46: 0x03bf, 0xa47: 0x03c7, 0xa48: 0x03cb, 0xa49: 0x03cf, 0xa4a: 0x03d3, 0xa4b: 0x03d7, + 0xa4c: 0x03db, 0xa4d: 0x03df, 0xa4e: 0x03e3, + 0xa52: 0x06bf, 0xa53: 0x071b, 0xa54: 0x06cb, 0xa55: 0x097b, 0xa56: 0x06cf, 0xa57: 0x06e7, + 0xa58: 0x06d3, 0xa59: 0x0f93, 0xa5a: 0x0707, 0xa5b: 0x06db, 0xa5c: 0x06c3, 0xa5d: 0x09ff, + 0xa5e: 0x098f, 0xa5f: 0x072f, + // Block 0x2a, offset 0xa80 + 0xa80: 0x2054, 0xa81: 0x205a, 0xa82: 0x2060, 0xa83: 0x2066, 0xa84: 0x206c, 0xa85: 0x2072, + 0xa86: 0x2078, 0xa87: 0x207e, 0xa88: 0x2084, 0xa89: 0x208a, 0xa8a: 0x2090, 0xa8b: 0x2096, + 0xa8c: 0x209c, 0xa8d: 0x20a2, 0xa8e: 0x2726, 0xa8f: 0x272f, 0xa90: 0x2738, 0xa91: 0x2741, + 0xa92: 0x274a, 0xa93: 0x2753, 0xa94: 0x275c, 0xa95: 0x2765, 0xa96: 0x276e, 0xa97: 0x2780, + 0xa98: 0x2789, 0xa99: 0x2792, 0xa9a: 0x279b, 0xa9b: 0x27a4, 0xa9c: 0x2777, 0xa9d: 0x2bac, + 0xa9e: 0x2aed, 0xaa0: 0x20a8, 0xaa1: 0x20c0, 0xaa2: 0x20b4, 0xaa3: 0x2108, + 0xaa4: 0x20c6, 0xaa5: 0x20e4, 0xaa6: 0x20ae, 0xaa7: 0x20de, 0xaa8: 0x20ba, 0xaa9: 0x20f0, + 0xaaa: 0x2120, 0xaab: 0x213e, 0xaac: 0x2138, 0xaad: 0x212c, 0xaae: 0x217a, 0xaaf: 0x210e, + 0xab0: 0x211a, 0xab1: 0x2132, 0xab2: 0x2126, 0xab3: 0x2150, 0xab4: 0x20fc, 0xab5: 0x2144, + 0xab6: 0x216e, 0xab7: 0x2156, 0xab8: 0x20ea, 0xab9: 0x20cc, 0xaba: 0x2102, 0xabb: 0x2114, + 0xabc: 0x214a, 0xabd: 0x20d2, 0xabe: 0x2174, 0xabf: 0x20f6, + // Block 0x2b, offset 0xac0 + 0xac0: 0x215c, 0xac1: 0x20d8, 0xac2: 0x2162, 0xac3: 0x2168, 0xac4: 0x092f, 0xac5: 0x0b03, + 0xac6: 0x0ca7, 0xac7: 0x10c7, + 0xad0: 0x1bc4, 0xad1: 0x18a9, + 0xad2: 0x18ac, 0xad3: 0x18af, 0xad4: 0x18b2, 0xad5: 0x18b5, 0xad6: 0x18b8, 0xad7: 0x18bb, + 0xad8: 0x18be, 0xad9: 0x18c1, 0xada: 0x18ca, 0xadb: 0x18cd, 0xadc: 0x18d0, 0xadd: 0x18d3, + 0xade: 0x18d6, 0xadf: 0x18d9, 0xae0: 0x0313, 0xae1: 0x031b, 0xae2: 0x031f, 0xae3: 0x0327, + 0xae4: 0x032b, 0xae5: 0x032f, 0xae6: 0x0337, 0xae7: 0x033f, 0xae8: 0x0343, 0xae9: 0x034b, + 0xaea: 0x034f, 0xaeb: 0x0353, 0xaec: 0x0357, 0xaed: 0x035b, 0xaee: 0x2e18, 0xaef: 0x2e20, + 0xaf0: 0x2e28, 0xaf1: 0x2e30, 0xaf2: 0x2e38, 0xaf3: 0x2e40, 0xaf4: 0x2e48, 0xaf5: 0x2e50, + 0xaf6: 0x2e60, 0xaf7: 0x2e68, 0xaf8: 0x2e70, 0xaf9: 0x2e78, 0xafa: 0x2e80, 0xafb: 0x2e88, + 0xafc: 0x2ed3, 0xafd: 0x2e9b, 0xafe: 0x2e58, + // Block 0x2c, offset 0xb00 + 0xb00: 0x06bf, 0xb01: 0x071b, 0xb02: 0x06cb, 0xb03: 0x097b, 0xb04: 0x071f, 0xb05: 0x07af, + 0xb06: 0x06c7, 0xb07: 0x07ab, 0xb08: 0x070b, 0xb09: 0x0887, 0xb0a: 0x0d07, 0xb0b: 0x0e8f, + 0xb0c: 0x0dd7, 0xb0d: 0x0d1b, 0xb0e: 0x145f, 0xb0f: 0x098b, 0xb10: 0x0ccf, 0xb11: 0x0d4b, + 0xb12: 0x0d0b, 0xb13: 0x104b, 0xb14: 0x08fb, 0xb15: 0x0f03, 0xb16: 0x1387, 0xb17: 0x105f, + 0xb18: 0x0843, 0xb19: 0x108f, 0xb1a: 0x0f9b, 0xb1b: 0x0a17, 0xb1c: 0x140f, 0xb1d: 0x077f, + 0xb1e: 0x08ab, 0xb1f: 0x0df7, 0xb20: 0x1527, 0xb21: 0x0743, 0xb22: 0x07d3, 0xb23: 0x0d9b, + 0xb24: 0x06cf, 0xb25: 0x06e7, 0xb26: 0x06d3, 0xb27: 0x0adb, 0xb28: 0x08ef, 0xb29: 0x087f, + 0xb2a: 0x0a57, 0xb2b: 0x0a4b, 0xb2c: 0x0feb, 0xb2d: 0x073f, 0xb2e: 0x139b, 0xb2f: 0x089b, + 0xb30: 0x09f3, 0xb31: 0x18dc, 0xb32: 0x18df, 0xb33: 0x18e2, 0xb34: 0x18e5, 0xb35: 0x18ee, + 0xb36: 0x18f1, 0xb37: 0x18f4, 0xb38: 0x18f7, 0xb39: 0x18fa, 0xb3a: 0x18fd, 0xb3b: 0x1900, + 0xb3c: 0x1903, 0xb3d: 0x1906, 0xb3e: 0x1909, 0xb3f: 0x1912, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1cc6, 0xb41: 0x1cd5, 0xb42: 0x1ce4, 0xb43: 0x1cf3, 0xb44: 0x1d02, 0xb45: 0x1d11, + 0xb46: 0x1d20, 0xb47: 0x1d2f, 0xb48: 0x1d3e, 0xb49: 0x218c, 0xb4a: 0x219e, 0xb4b: 0x21b0, + 0xb4c: 0x1954, 0xb4d: 0x1c04, 0xb4e: 0x19d2, 0xb4f: 0x1ba8, 0xb50: 0x04cb, 0xb51: 0x04d3, + 0xb52: 0x04db, 0xb53: 0x04e3, 0xb54: 0x04eb, 0xb55: 0x04ef, 0xb56: 0x04f3, 0xb57: 0x04f7, + 0xb58: 0x04fb, 0xb59: 0x04ff, 0xb5a: 0x0503, 0xb5b: 0x0507, 0xb5c: 0x050b, 0xb5d: 0x050f, + 0xb5e: 0x0513, 0xb5f: 0x0517, 0xb60: 0x051b, 0xb61: 0x0523, 0xb62: 0x0527, 0xb63: 0x052b, + 0xb64: 0x052f, 0xb65: 0x0533, 0xb66: 0x0537, 0xb67: 0x053b, 0xb68: 0x053f, 0xb69: 0x0543, + 0xb6a: 0x0547, 0xb6b: 0x054b, 0xb6c: 0x054f, 0xb6d: 0x0553, 0xb6e: 0x0557, 0xb6f: 0x055b, + 0xb70: 0x055f, 0xb71: 0x0563, 0xb72: 0x0567, 0xb73: 0x056f, 0xb74: 0x0577, 0xb75: 0x057f, + 0xb76: 0x0583, 0xb77: 0x0587, 0xb78: 0x058b, 0xb79: 0x058f, 0xb7a: 0x0593, 0xb7b: 0x0597, + 0xb7c: 0x059b, 0xb7d: 0x059f, 0xb7e: 0x05a3, + // Block 0x2e, offset 0xb80 + 0xb80: 0x2b0c, 0xb81: 0x29a8, 0xb82: 0x2b1c, 0xb83: 0x2880, 0xb84: 0x2ee4, 0xb85: 0x288a, + 0xb86: 0x2894, 0xb87: 0x2f28, 0xb88: 0x29b5, 0xb89: 0x289e, 0xb8a: 0x28a8, 0xb8b: 0x28b2, + 0xb8c: 0x29dc, 0xb8d: 0x29e9, 0xb8e: 0x29c2, 0xb8f: 0x29cf, 0xb90: 0x2ea9, 0xb91: 0x29f6, + 0xb92: 0x2a03, 0xb93: 0x2bbe, 0xb94: 0x26bb, 0xb95: 0x2bd1, 0xb96: 0x2be4, 0xb97: 0x2b2c, + 0xb98: 0x2a10, 0xb99: 0x2bf7, 0xb9a: 0x2c0a, 0xb9b: 0x2a1d, 0xb9c: 0x28bc, 0xb9d: 0x28c6, + 0xb9e: 0x2eb7, 0xb9f: 0x2a2a, 0xba0: 0x2b3c, 0xba1: 0x2ef5, 0xba2: 0x28d0, 0xba3: 0x28da, + 0xba4: 0x2a37, 0xba5: 0x28e4, 0xba6: 0x28ee, 0xba7: 0x26d0, 0xba8: 0x26d7, 0xba9: 0x28f8, + 0xbaa: 0x2902, 0xbab: 0x2c1d, 0xbac: 0x2a44, 0xbad: 0x2b4c, 0xbae: 0x2c30, 0xbaf: 0x2a51, + 0xbb0: 0x2916, 0xbb1: 0x290c, 0xbb2: 0x2f3c, 0xbb3: 0x2a5e, 0xbb4: 0x2c43, 0xbb5: 0x2920, + 0xbb6: 0x2b5c, 0xbb7: 0x292a, 0xbb8: 0x2a78, 0xbb9: 0x2934, 0xbba: 0x2a85, 0xbbb: 0x2f06, + 0xbbc: 0x2a6b, 0xbbd: 0x2b6c, 0xbbe: 0x2a92, 0xbbf: 0x26de, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x2f17, 0xbc1: 0x293e, 0xbc2: 0x2948, 0xbc3: 0x2a9f, 0xbc4: 0x2952, 0xbc5: 0x295c, + 0xbc6: 0x2966, 0xbc7: 0x2b7c, 0xbc8: 0x2aac, 0xbc9: 0x26e5, 0xbca: 0x2c56, 0xbcb: 0x2e90, + 0xbcc: 0x2b8c, 0xbcd: 0x2ab9, 0xbce: 0x2ec5, 0xbcf: 0x2970, 0xbd0: 0x297a, 0xbd1: 0x2ac6, + 0xbd2: 0x26ec, 0xbd3: 0x2ad3, 0xbd4: 0x2b9c, 0xbd5: 0x26f3, 0xbd6: 0x2c69, 0xbd7: 0x2984, + 0xbd8: 0x1cb7, 0xbd9: 0x1ccb, 0xbda: 0x1cda, 0xbdb: 0x1ce9, 0xbdc: 0x1cf8, 0xbdd: 0x1d07, + 0xbde: 0x1d16, 0xbdf: 0x1d25, 0xbe0: 0x1d34, 0xbe1: 0x1d43, 0xbe2: 0x2192, 0xbe3: 0x21a4, + 0xbe4: 0x21b6, 0xbe5: 0x21c2, 0xbe6: 0x21ce, 0xbe7: 0x21da, 0xbe8: 0x21e6, 0xbe9: 0x21f2, + 0xbea: 0x21fe, 0xbeb: 0x220a, 0xbec: 0x2246, 0xbed: 0x2252, 0xbee: 0x225e, 0xbef: 0x226a, + 0xbf0: 0x2276, 0xbf1: 0x1c14, 0xbf2: 0x19c6, 0xbf3: 0x1936, 0xbf4: 0x1be4, 0xbf5: 0x1a47, + 0xbf6: 0x1a56, 0xbf7: 0x19cc, 0xbf8: 0x1bfc, 0xbf9: 0x1c00, 0xbfa: 0x1960, 0xbfb: 0x2701, + 0xbfc: 0x270f, 0xbfd: 0x26fa, 0xbfe: 0x2708, 0xbff: 0x2ae0, + // Block 0x30, offset 0xc00 + 0xc00: 0x1a4a, 0xc01: 0x1a32, 0xc02: 0x1c60, 0xc03: 0x1a1a, 0xc04: 0x19f3, 0xc05: 0x1969, + 0xc06: 0x1978, 0xc07: 0x1948, 0xc08: 0x1bf0, 0xc09: 0x1d52, 0xc0a: 0x1a4d, 0xc0b: 0x1a35, + 0xc0c: 0x1c64, 0xc0d: 0x1c70, 0xc0e: 0x1a26, 0xc0f: 0x19fc, 0xc10: 0x1957, 0xc11: 0x1c1c, + 0xc12: 0x1bb0, 0xc13: 0x1b9c, 0xc14: 0x1bcc, 0xc15: 0x1c74, 0xc16: 0x1a29, 0xc17: 0x19c9, + 0xc18: 0x19ff, 0xc19: 0x19de, 0xc1a: 0x1a41, 0xc1b: 0x1c78, 0xc1c: 0x1a2c, 0xc1d: 0x19c0, + 0xc1e: 0x1a02, 0xc1f: 0x1c3c, 0xc20: 0x1bf4, 0xc21: 0x1a14, 0xc22: 0x1c24, 0xc23: 0x1c40, + 0xc24: 0x1bf8, 0xc25: 0x1a17, 0xc26: 0x1c28, 0xc27: 0x22e8, 0xc28: 0x22fc, 0xc29: 0x1996, + 0xc2a: 0x1c20, 0xc2b: 0x1bb4, 0xc2c: 0x1ba0, 0xc2d: 0x1c48, 0xc2e: 0x2716, 0xc2f: 0x27ad, + 0xc30: 0x1a59, 0xc31: 0x1a44, 0xc32: 0x1c7c, 0xc33: 0x1a2f, 0xc34: 0x1a50, 0xc35: 0x1a38, + 0xc36: 0x1c68, 0xc37: 0x1a1d, 0xc38: 0x19f6, 0xc39: 0x1981, 0xc3a: 0x1a53, 0xc3b: 0x1a3b, + 0xc3c: 0x1c6c, 0xc3d: 0x1a20, 0xc3e: 0x19f9, 0xc3f: 0x1984, + // Block 0x31, offset 0xc40 + 0xc40: 0x1c2c, 0xc41: 0x1bb8, 0xc42: 0x1d4d, 0xc43: 0x1939, 0xc44: 0x19ba, 0xc45: 0x19bd, + 0xc46: 0x22f5, 0xc47: 0x1b94, 0xc48: 0x19c3, 0xc49: 0x194b, 0xc4a: 0x19e1, 0xc4b: 0x194e, + 0xc4c: 0x19ea, 0xc4d: 0x196c, 0xc4e: 0x196f, 0xc4f: 0x1a05, 0xc50: 0x1a0b, 0xc51: 0x1a0e, + 0xc52: 0x1c30, 0xc53: 0x1a11, 0xc54: 0x1a23, 0xc55: 0x1c38, 0xc56: 0x1c44, 0xc57: 0x1990, + 0xc58: 0x1d57, 0xc59: 0x1bbc, 0xc5a: 0x1993, 0xc5b: 0x1a5c, 0xc5c: 0x19a5, 0xc5d: 0x19b4, + 0xc5e: 0x22e2, 0xc5f: 0x22dc, 0xc60: 0x1cc1, 0xc61: 0x1cd0, 0xc62: 0x1cdf, 0xc63: 0x1cee, + 0xc64: 0x1cfd, 0xc65: 0x1d0c, 0xc66: 0x1d1b, 0xc67: 0x1d2a, 0xc68: 0x1d39, 0xc69: 0x2186, + 0xc6a: 0x2198, 0xc6b: 0x21aa, 0xc6c: 0x21bc, 0xc6d: 0x21c8, 0xc6e: 0x21d4, 0xc6f: 0x21e0, + 0xc70: 0x21ec, 0xc71: 0x21f8, 0xc72: 0x2204, 0xc73: 0x2240, 0xc74: 0x224c, 0xc75: 0x2258, + 0xc76: 0x2264, 0xc77: 0x2270, 0xc78: 0x227c, 0xc79: 0x2282, 0xc7a: 0x2288, 0xc7b: 0x228e, + 0xc7c: 0x2294, 0xc7d: 0x22a6, 0xc7e: 0x22ac, 0xc7f: 0x1c10, + // Block 0x32, offset 0xc80 + 0xc80: 0x1377, 0xc81: 0x0cfb, 0xc82: 0x13d3, 0xc83: 0x139f, 0xc84: 0x0e57, 0xc85: 0x06eb, + 0xc86: 0x08df, 0xc87: 0x162b, 0xc88: 0x162b, 0xc89: 0x0a0b, 0xc8a: 0x145f, 0xc8b: 0x0943, + 0xc8c: 0x0a07, 0xc8d: 0x0bef, 0xc8e: 0x0fcf, 0xc8f: 0x115f, 0xc90: 0x1297, 0xc91: 0x12d3, + 0xc92: 0x1307, 0xc93: 0x141b, 0xc94: 0x0d73, 0xc95: 0x0dff, 0xc96: 0x0eab, 0xc97: 0x0f43, + 0xc98: 0x125f, 0xc99: 0x1447, 0xc9a: 0x1573, 0xc9b: 0x070f, 0xc9c: 0x08b3, 0xc9d: 0x0d87, + 0xc9e: 0x0ecf, 0xc9f: 0x1293, 0xca0: 0x15c3, 0xca1: 0x0ab3, 0xca2: 0x0e77, 0xca3: 0x1283, + 0xca4: 0x1317, 0xca5: 0x0c23, 0xca6: 0x11bb, 0xca7: 0x12df, 0xca8: 0x0b1f, 0xca9: 0x0d0f, + 0xcaa: 0x0e17, 0xcab: 0x0f1b, 0xcac: 0x1427, 0xcad: 0x074f, 0xcae: 0x07e7, 0xcaf: 0x0853, + 0xcb0: 0x0c8b, 0xcb1: 0x0d7f, 0xcb2: 0x0ecb, 0xcb3: 0x0fef, 0xcb4: 0x1177, 0xcb5: 0x128b, + 0xcb6: 0x12a3, 0xcb7: 0x13c7, 0xcb8: 0x14ef, 0xcb9: 0x15a3, 0xcba: 0x15bf, 0xcbb: 0x102b, + 0xcbc: 0x106b, 0xcbd: 0x1123, 0xcbe: 0x1243, 0xcbf: 0x147b, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x15cb, 0xcc1: 0x134b, 0xcc2: 0x09c7, 0xcc3: 0x0b3b, 0xcc4: 0x10db, 0xcc5: 0x119b, + 0xcc6: 0x0eff, 0xcc7: 0x1033, 0xcc8: 0x1397, 0xcc9: 0x14e7, 0xcca: 0x09c3, 0xccb: 0x0a8f, + 0xccc: 0x0d77, 0xccd: 0x0e2b, 0xcce: 0x0e5f, 0xccf: 0x1113, 0xcd0: 0x113b, 0xcd1: 0x14a7, + 0xcd2: 0x084f, 0xcd3: 0x11a7, 0xcd4: 0x07f3, 0xcd5: 0x07ef, 0xcd6: 0x1097, 0xcd7: 0x1127, + 0xcd8: 0x125b, 0xcd9: 0x14af, 0xcda: 0x1367, 0xcdb: 0x0c27, 0xcdc: 0x0d73, 0xcdd: 0x1357, + 0xcde: 0x06f7, 0xcdf: 0x0a63, 0xce0: 0x0b93, 0xce1: 0x0f2f, 0xce2: 0x0faf, 0xce3: 0x0873, + 0xce4: 0x103b, 0xce5: 0x075f, 0xce6: 0x0b77, 0xce7: 0x06d7, 0xce8: 0x0deb, 0xce9: 0x0ca3, + 0xcea: 0x110f, 0xceb: 0x08c7, 0xcec: 0x09b3, 0xced: 0x0ffb, 0xcee: 0x1263, 0xcef: 0x133b, + 0xcf0: 0x0db7, 0xcf1: 0x13f7, 0xcf2: 0x0de3, 0xcf3: 0x0c37, 0xcf4: 0x121b, 0xcf5: 0x0c57, + 0xcf6: 0x0fab, 0xcf7: 0x072b, 0xcf8: 0x07a7, 0xcf9: 0x07eb, 0xcfa: 0x0d53, 0xcfb: 0x10fb, + 0xcfc: 0x11f3, 0xcfd: 0x1347, 0xcfe: 0x145b, 0xcff: 0x085b, + // Block 0x34, offset 0xd00 + 0xd00: 0x090f, 0xd01: 0x0a17, 0xd02: 0x0b2f, 0xd03: 0x0cbf, 0xd04: 0x0e7b, 0xd05: 0x103f, + 0xd06: 0x1497, 0xd07: 0x157b, 0xd08: 0x15cf, 0xd09: 0x15e7, 0xd0a: 0x0837, 0xd0b: 0x0cf3, + 0xd0c: 0x0da3, 0xd0d: 0x13eb, 0xd0e: 0x0afb, 0xd0f: 0x0bd7, 0xd10: 0x0bf3, 0xd11: 0x0c83, + 0xd12: 0x0e6b, 0xd13: 0x0eb7, 0xd14: 0x0f67, 0xd15: 0x108b, 0xd16: 0x112f, 0xd17: 0x1193, + 0xd18: 0x13db, 0xd19: 0x126b, 0xd1a: 0x1403, 0xd1b: 0x147f, 0xd1c: 0x080f, 0xd1d: 0x083b, + 0xd1e: 0x0923, 0xd1f: 0x0ea7, 0xd20: 0x12f3, 0xd21: 0x133b, 0xd22: 0x0b1b, 0xd23: 0x0b8b, + 0xd24: 0x0c4f, 0xd25: 0x0daf, 0xd26: 0x10d7, 0xd27: 0x0f23, 0xd28: 0x073b, 0xd29: 0x097f, + 0xd2a: 0x0a63, 0xd2b: 0x0ac7, 0xd2c: 0x0b97, 0xd2d: 0x0f3f, 0xd2e: 0x0f5b, 0xd2f: 0x116b, + 0xd30: 0x118b, 0xd31: 0x1463, 0xd32: 0x14e3, 0xd33: 0x14f3, 0xd34: 0x152f, 0xd35: 0x0753, + 0xd36: 0x107f, 0xd37: 0x144f, 0xd38: 0x14cb, 0xd39: 0x0baf, 0xd3a: 0x0717, 0xd3b: 0x0777, + 0xd3c: 0x0a67, 0xd3d: 0x0a87, 0xd3e: 0x0caf, 0xd3f: 0x0d73, + // Block 0x35, offset 0xd40 + 0xd40: 0x0ec3, 0xd41: 0x0fcb, 0xd42: 0x1277, 0xd43: 0x1417, 0xd44: 0x1623, 0xd45: 0x0ce3, + 0xd46: 0x14a3, 0xd47: 0x0833, 0xd48: 0x0d2f, 0xd49: 0x0d3b, 0xd4a: 0x0e0f, 0xd4b: 0x0e47, + 0xd4c: 0x0f4b, 0xd4d: 0x0fa7, 0xd4e: 0x1027, 0xd4f: 0x110b, 0xd50: 0x153b, 0xd51: 0x07af, + 0xd52: 0x0c03, 0xd53: 0x14b3, 0xd54: 0x0767, 0xd55: 0x0aab, 0xd56: 0x0e2f, 0xd57: 0x13df, + 0xd58: 0x0b67, 0xd59: 0x0bb7, 0xd5a: 0x0d43, 0xd5b: 0x0f2f, 0xd5c: 0x14bb, 0xd5d: 0x0817, + 0xd5e: 0x08ff, 0xd5f: 0x0a97, 0xd60: 0x0cd3, 0xd61: 0x0d1f, 0xd62: 0x0d5f, 0xd63: 0x0df3, + 0xd64: 0x0f47, 0xd65: 0x0fbb, 0xd66: 0x1157, 0xd67: 0x12f7, 0xd68: 0x1303, 0xd69: 0x1457, + 0xd6a: 0x14d7, 0xd6b: 0x0883, 0xd6c: 0x0e4b, 0xd6d: 0x0903, 0xd6e: 0x0ec7, 0xd6f: 0x0f6b, + 0xd70: 0x1287, 0xd71: 0x14bf, 0xd72: 0x15ab, 0xd73: 0x15d3, 0xd74: 0x0d37, 0xd75: 0x0e27, + 0xd76: 0x11c3, 0xd77: 0x10b7, 0xd78: 0x10c3, 0xd79: 0x10e7, 0xd7a: 0x0f17, 0xd7b: 0x0e9f, + 0xd7c: 0x1363, 0xd7d: 0x0733, 0xd7e: 0x122b, 0xd7f: 0x081b, + // Block 0x36, offset 0xd80 + 0xd80: 0x080b, 0xd81: 0x0b0b, 0xd82: 0x0c2b, 0xd83: 0x10f3, 0xd84: 0x0a53, 0xd85: 0x0e03, + 0xd86: 0x0cef, 0xd87: 0x13e7, 0xd88: 0x12e7, 0xd89: 0x14ab, 0xd8a: 0x1323, 0xd8b: 0x0b27, + 0xd8c: 0x0787, 0xd8d: 0x095b, 0xd90: 0x09af, + 0xd92: 0x0cdf, 0xd95: 0x07f7, 0xd96: 0x0f1f, 0xd97: 0x0fe3, + 0xd98: 0x1047, 0xd99: 0x1063, 0xd9a: 0x1067, 0xd9b: 0x107b, 0xd9c: 0x14fb, 0xd9d: 0x10eb, + 0xd9e: 0x116f, 0xda0: 0x128f, 0xda2: 0x1353, + 0xda5: 0x1407, 0xda6: 0x1433, + 0xdaa: 0x154f, 0xdab: 0x1553, 0xdac: 0x1557, 0xdad: 0x15bb, 0xdae: 0x142b, 0xdaf: 0x14c7, + 0xdb0: 0x0757, 0xdb1: 0x077b, 0xdb2: 0x078f, 0xdb3: 0x084b, 0xdb4: 0x0857, 0xdb5: 0x0897, + 0xdb6: 0x094b, 0xdb7: 0x0967, 0xdb8: 0x096f, 0xdb9: 0x09ab, 0xdba: 0x09b7, 0xdbb: 0x0a93, + 0xdbc: 0x0a9b, 0xdbd: 0x0ba3, 0xdbe: 0x0bcb, 0xdbf: 0x0bd3, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0beb, 0xdc1: 0x0c97, 0xdc2: 0x0cc7, 0xdc3: 0x0ce7, 0xdc4: 0x0d57, 0xdc5: 0x0e1b, + 0xdc6: 0x0e37, 0xdc7: 0x0e67, 0xdc8: 0x0ebb, 0xdc9: 0x0edb, 0xdca: 0x0f4f, 0xdcb: 0x102f, + 0xdcc: 0x104b, 0xdcd: 0x1053, 0xdce: 0x104f, 0xdcf: 0x1057, 0xdd0: 0x105b, 0xdd1: 0x105f, + 0xdd2: 0x1073, 0xdd3: 0x1077, 0xdd4: 0x109b, 0xdd5: 0x10af, 0xdd6: 0x10cb, 0xdd7: 0x112f, + 0xdd8: 0x1137, 0xdd9: 0x113f, 0xdda: 0x1153, 0xddb: 0x117b, 0xddc: 0x11cb, 0xddd: 0x11ff, + 0xdde: 0x11ff, 0xddf: 0x1267, 0xde0: 0x130f, 0xde1: 0x1327, 0xde2: 0x135b, 0xde3: 0x135f, + 0xde4: 0x13a3, 0xde5: 0x13a7, 0xde6: 0x13ff, 0xde7: 0x1407, 0xde8: 0x14db, 0xde9: 0x151f, + 0xdea: 0x1537, 0xdeb: 0x0b9b, 0xdec: 0x171e, 0xded: 0x11e3, + 0xdf0: 0x06df, 0xdf1: 0x07e3, 0xdf2: 0x07a3, 0xdf3: 0x074b, 0xdf4: 0x078b, 0xdf5: 0x07b7, + 0xdf6: 0x0847, 0xdf7: 0x0863, 0xdf8: 0x094b, 0xdf9: 0x0937, 0xdfa: 0x0947, 0xdfb: 0x0963, + 0xdfc: 0x09af, 0xdfd: 0x09bf, 0xdfe: 0x0a03, 0xdff: 0x0a0f, + // Block 0x38, offset 0xe00 + 0xe00: 0x0a2b, 0xe01: 0x0a3b, 0xe02: 0x0b23, 0xe03: 0x0b2b, 0xe04: 0x0b5b, 0xe05: 0x0b7b, + 0xe06: 0x0bab, 0xe07: 0x0bc3, 0xe08: 0x0bb3, 0xe09: 0x0bd3, 0xe0a: 0x0bc7, 0xe0b: 0x0beb, + 0xe0c: 0x0c07, 0xe0d: 0x0c5f, 0xe0e: 0x0c6b, 0xe0f: 0x0c73, 0xe10: 0x0c9b, 0xe11: 0x0cdf, + 0xe12: 0x0d0f, 0xe13: 0x0d13, 0xe14: 0x0d27, 0xe15: 0x0da7, 0xe16: 0x0db7, 0xe17: 0x0e0f, + 0xe18: 0x0e5b, 0xe19: 0x0e53, 0xe1a: 0x0e67, 0xe1b: 0x0e83, 0xe1c: 0x0ebb, 0xe1d: 0x1013, + 0xe1e: 0x0edf, 0xe1f: 0x0f13, 0xe20: 0x0f1f, 0xe21: 0x0f5f, 0xe22: 0x0f7b, 0xe23: 0x0f9f, + 0xe24: 0x0fc3, 0xe25: 0x0fc7, 0xe26: 0x0fe3, 0xe27: 0x0fe7, 0xe28: 0x0ff7, 0xe29: 0x100b, + 0xe2a: 0x1007, 0xe2b: 0x1037, 0xe2c: 0x10b3, 0xe2d: 0x10cb, 0xe2e: 0x10e3, 0xe2f: 0x111b, + 0xe30: 0x112f, 0xe31: 0x114b, 0xe32: 0x117b, 0xe33: 0x122f, 0xe34: 0x1257, 0xe35: 0x12cb, + 0xe36: 0x1313, 0xe37: 0x131f, 0xe38: 0x1327, 0xe39: 0x133f, 0xe3a: 0x1353, 0xe3b: 0x1343, + 0xe3c: 0x135b, 0xe3d: 0x1357, 0xe3e: 0x134f, 0xe3f: 0x135f, + // Block 0x39, offset 0xe40 + 0xe40: 0x136b, 0xe41: 0x13a7, 0xe42: 0x13e3, 0xe43: 0x1413, 0xe44: 0x144b, 0xe45: 0x146b, + 0xe46: 0x14b7, 0xe47: 0x14db, 0xe48: 0x14fb, 0xe49: 0x150f, 0xe4a: 0x151f, 0xe4b: 0x152b, + 0xe4c: 0x1537, 0xe4d: 0x158b, 0xe4e: 0x162b, 0xe4f: 0x16b5, 0xe50: 0x16b0, 0xe51: 0x16e2, + 0xe52: 0x0607, 0xe53: 0x062f, 0xe54: 0x0633, 0xe55: 0x1764, 0xe56: 0x1791, 0xe57: 0x1809, + 0xe58: 0x1617, 0xe59: 0x1627, + // Block 0x3a, offset 0xe80 + 0xe80: 0x19d5, 0xe81: 0x19d8, 0xe82: 0x19db, 0xe83: 0x1c08, 0xe84: 0x1c0c, 0xe85: 0x1a5f, + 0xe86: 0x1a5f, + 0xe93: 0x1d75, 0xe94: 0x1d66, 0xe95: 0x1d6b, 0xe96: 0x1d7a, 0xe97: 0x1d70, + 0xe9d: 0x4390, + 0xe9e: 0x8115, 0xe9f: 0x4402, 0xea0: 0x022d, 0xea1: 0x0215, 0xea2: 0x021e, 0xea3: 0x0221, + 0xea4: 0x0224, 0xea5: 0x0227, 0xea6: 0x022a, 0xea7: 0x0230, 0xea8: 0x0233, 0xea9: 0x0017, + 0xeaa: 0x43f0, 0xeab: 0x43f6, 0xeac: 0x44f4, 0xead: 0x44fc, 0xeae: 0x4348, 0xeaf: 0x434e, + 0xeb0: 0x4354, 0xeb1: 0x435a, 0xeb2: 0x4366, 0xeb3: 0x436c, 0xeb4: 0x4372, 0xeb5: 0x437e, + 0xeb6: 0x4384, 0xeb8: 0x438a, 0xeb9: 0x4396, 0xeba: 0x439c, 0xebb: 0x43a2, + 0xebc: 0x43ae, 0xebe: 0x43b4, + // Block 0x3b, offset 0xec0 + 0xec0: 0x43ba, 0xec1: 0x43c0, 0xec3: 0x43c6, 0xec4: 0x43cc, + 0xec6: 0x43d8, 0xec7: 0x43de, 0xec8: 0x43e4, 0xec9: 0x43ea, 0xeca: 0x43fc, 0xecb: 0x4378, + 0xecc: 0x4360, 0xecd: 0x43a8, 0xece: 0x43d2, 0xecf: 0x1d7f, 0xed0: 0x0299, 0xed1: 0x0299, + 0xed2: 0x02a2, 0xed3: 0x02a2, 0xed4: 0x02a2, 0xed5: 0x02a2, 0xed6: 0x02a5, 0xed7: 0x02a5, + 0xed8: 0x02a5, 0xed9: 0x02a5, 0xeda: 0x02ab, 0xedb: 0x02ab, 0xedc: 0x02ab, 0xedd: 0x02ab, + 0xede: 0x029f, 0xedf: 0x029f, 0xee0: 0x029f, 0xee1: 0x029f, 0xee2: 0x02a8, 0xee3: 0x02a8, + 0xee4: 0x02a8, 0xee5: 0x02a8, 0xee6: 0x029c, 0xee7: 0x029c, 0xee8: 0x029c, 0xee9: 0x029c, + 0xeea: 0x02cf, 0xeeb: 0x02cf, 0xeec: 0x02cf, 0xeed: 0x02cf, 0xeee: 0x02d2, 0xeef: 0x02d2, + 0xef0: 0x02d2, 0xef1: 0x02d2, 0xef2: 0x02b1, 0xef3: 0x02b1, 0xef4: 0x02b1, 0xef5: 0x02b1, + 0xef6: 0x02ae, 0xef7: 0x02ae, 0xef8: 0x02ae, 0xef9: 0x02ae, 0xefa: 0x02b4, 0xefb: 0x02b4, + 0xefc: 0x02b4, 0xefd: 0x02b4, 0xefe: 0x02b7, 0xeff: 0x02b7, + // Block 0x3c, offset 0xf00 + 0xf00: 0x02b7, 0xf01: 0x02b7, 0xf02: 0x02c0, 0xf03: 0x02c0, 0xf04: 0x02bd, 0xf05: 0x02bd, + 0xf06: 0x02c3, 0xf07: 0x02c3, 0xf08: 0x02ba, 0xf09: 0x02ba, 0xf0a: 0x02c9, 0xf0b: 0x02c9, + 0xf0c: 0x02c6, 0xf0d: 0x02c6, 0xf0e: 0x02d5, 0xf0f: 0x02d5, 0xf10: 0x02d5, 0xf11: 0x02d5, + 0xf12: 0x02db, 0xf13: 0x02db, 0xf14: 0x02db, 0xf15: 0x02db, 0xf16: 0x02e1, 0xf17: 0x02e1, + 0xf18: 0x02e1, 0xf19: 0x02e1, 0xf1a: 0x02de, 0xf1b: 0x02de, 0xf1c: 0x02de, 0xf1d: 0x02de, + 0xf1e: 0x02e4, 0xf1f: 0x02e4, 0xf20: 0x02e7, 0xf21: 0x02e7, 0xf22: 0x02e7, 0xf23: 0x02e7, + 0xf24: 0x446e, 0xf25: 0x446e, 0xf26: 0x02ed, 0xf27: 0x02ed, 0xf28: 0x02ed, 0xf29: 0x02ed, + 0xf2a: 0x02ea, 0xf2b: 0x02ea, 0xf2c: 0x02ea, 0xf2d: 0x02ea, 0xf2e: 0x0308, 0xf2f: 0x0308, + 0xf30: 0x4468, 0xf31: 0x4468, + // Block 0x3d, offset 0xf40 + 0xf53: 0x02d8, 0xf54: 0x02d8, 0xf55: 0x02d8, 0xf56: 0x02d8, 0xf57: 0x02f6, + 0xf58: 0x02f6, 0xf59: 0x02f3, 0xf5a: 0x02f3, 0xf5b: 0x02f9, 0xf5c: 0x02f9, 0xf5d: 0x204f, + 0xf5e: 0x02ff, 0xf5f: 0x02ff, 0xf60: 0x02f0, 0xf61: 0x02f0, 0xf62: 0x02fc, 0xf63: 0x02fc, + 0xf64: 0x0305, 0xf65: 0x0305, 0xf66: 0x0305, 0xf67: 0x0305, 0xf68: 0x028d, 0xf69: 0x028d, + 0xf6a: 0x25aa, 0xf6b: 0x25aa, 0xf6c: 0x261a, 0xf6d: 0x261a, 0xf6e: 0x25e9, 0xf6f: 0x25e9, + 0xf70: 0x2605, 0xf71: 0x2605, 0xf72: 0x25fe, 0xf73: 0x25fe, 0xf74: 0x260c, 0xf75: 0x260c, + 0xf76: 0x2613, 0xf77: 0x2613, 0xf78: 0x2613, 0xf79: 0x25f0, 0xf7a: 0x25f0, 0xf7b: 0x25f0, + 0xf7c: 0x0302, 0xf7d: 0x0302, 0xf7e: 0x0302, 0xf7f: 0x0302, + // Block 0x3e, offset 0xf80 + 0xf80: 0x25b1, 0xf81: 0x25b8, 0xf82: 0x25d4, 0xf83: 0x25f0, 0xf84: 0x25f7, 0xf85: 0x1d89, + 0xf86: 0x1d8e, 0xf87: 0x1d93, 0xf88: 0x1da2, 0xf89: 0x1db1, 0xf8a: 0x1db6, 0xf8b: 0x1dbb, + 0xf8c: 0x1dc0, 0xf8d: 0x1dc5, 0xf8e: 0x1dd4, 0xf8f: 0x1de3, 0xf90: 0x1de8, 0xf91: 0x1ded, + 0xf92: 0x1dfc, 0xf93: 0x1e0b, 0xf94: 0x1e10, 0xf95: 0x1e15, 0xf96: 0x1e1a, 0xf97: 0x1e29, + 0xf98: 0x1e2e, 0xf99: 0x1e3d, 0xf9a: 0x1e42, 0xf9b: 0x1e47, 0xf9c: 0x1e56, 0xf9d: 0x1e5b, + 0xf9e: 0x1e60, 0xf9f: 0x1e6a, 0xfa0: 0x1ea6, 0xfa1: 0x1eb5, 0xfa2: 0x1ec4, 0xfa3: 0x1ec9, + 0xfa4: 0x1ece, 0xfa5: 0x1ed8, 0xfa6: 0x1ee7, 0xfa7: 0x1eec, 0xfa8: 0x1efb, 0xfa9: 0x1f00, + 0xfaa: 0x1f05, 0xfab: 0x1f14, 0xfac: 0x1f19, 0xfad: 0x1f28, 0xfae: 0x1f2d, 0xfaf: 0x1f32, + 0xfb0: 0x1f37, 0xfb1: 0x1f3c, 0xfb2: 0x1f41, 0xfb3: 0x1f46, 0xfb4: 0x1f4b, 0xfb5: 0x1f50, + 0xfb6: 0x1f55, 0xfb7: 0x1f5a, 0xfb8: 0x1f5f, 0xfb9: 0x1f64, 0xfba: 0x1f69, 0xfbb: 0x1f6e, + 0xfbc: 0x1f73, 0xfbd: 0x1f78, 0xfbe: 0x1f7d, 0xfbf: 0x1f87, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x1f8c, 0xfc1: 0x1f91, 0xfc2: 0x1f96, 0xfc3: 0x1fa0, 0xfc4: 0x1fa5, 0xfc5: 0x1faf, + 0xfc6: 0x1fb4, 0xfc7: 0x1fb9, 0xfc8: 0x1fbe, 0xfc9: 0x1fc3, 0xfca: 0x1fc8, 0xfcb: 0x1fcd, + 0xfcc: 0x1fd2, 0xfcd: 0x1fd7, 0xfce: 0x1fe6, 0xfcf: 0x1ff5, 0xfd0: 0x1ffa, 0xfd1: 0x1fff, + 0xfd2: 0x2004, 0xfd3: 0x2009, 0xfd4: 0x200e, 0xfd5: 0x2018, 0xfd6: 0x201d, 0xfd7: 0x2022, + 0xfd8: 0x2031, 0xfd9: 0x2040, 0xfda: 0x2045, 0xfdb: 0x4420, 0xfdc: 0x4426, 0xfdd: 0x445c, + 0xfde: 0x44b3, 0xfdf: 0x44ba, 0xfe0: 0x44c1, 0xfe1: 0x44c8, 0xfe2: 0x44cf, 0xfe3: 0x44d6, + 0xfe4: 0x25c6, 0xfe5: 0x25cd, 0xfe6: 0x25d4, 0xfe7: 0x25db, 0xfe8: 0x25f0, 0xfe9: 0x25f7, + 0xfea: 0x1d98, 0xfeb: 0x1d9d, 0xfec: 0x1da2, 0xfed: 0x1da7, 0xfee: 0x1db1, 0xfef: 0x1db6, + 0xff0: 0x1dca, 0xff1: 0x1dcf, 0xff2: 0x1dd4, 0xff3: 0x1dd9, 0xff4: 0x1de3, 0xff5: 0x1de8, + 0xff6: 0x1df2, 0xff7: 0x1df7, 0xff8: 0x1dfc, 0xff9: 0x1e01, 0xffa: 0x1e0b, 0xffb: 0x1e10, + 0xffc: 0x1f3c, 0xffd: 0x1f41, 0xffe: 0x1f50, 0xfff: 0x1f55, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f5a, 0x1001: 0x1f6e, 0x1002: 0x1f73, 0x1003: 0x1f78, 0x1004: 0x1f7d, 0x1005: 0x1f96, + 0x1006: 0x1fa0, 0x1007: 0x1fa5, 0x1008: 0x1faa, 0x1009: 0x1fbe, 0x100a: 0x1fdc, 0x100b: 0x1fe1, + 0x100c: 0x1fe6, 0x100d: 0x1feb, 0x100e: 0x1ff5, 0x100f: 0x1ffa, 0x1010: 0x445c, 0x1011: 0x2027, + 0x1012: 0x202c, 0x1013: 0x2031, 0x1014: 0x2036, 0x1015: 0x2040, 0x1016: 0x2045, 0x1017: 0x25b1, + 0x1018: 0x25b8, 0x1019: 0x25bf, 0x101a: 0x25d4, 0x101b: 0x25e2, 0x101c: 0x1d89, 0x101d: 0x1d8e, + 0x101e: 0x1d93, 0x101f: 0x1da2, 0x1020: 0x1dac, 0x1021: 0x1dbb, 0x1022: 0x1dc0, 0x1023: 0x1dc5, + 0x1024: 0x1dd4, 0x1025: 0x1dde, 0x1026: 0x1dfc, 0x1027: 0x1e15, 0x1028: 0x1e1a, 0x1029: 0x1e29, + 0x102a: 0x1e2e, 0x102b: 0x1e3d, 0x102c: 0x1e47, 0x102d: 0x1e56, 0x102e: 0x1e5b, 0x102f: 0x1e60, + 0x1030: 0x1e6a, 0x1031: 0x1ea6, 0x1032: 0x1eab, 0x1033: 0x1eb5, 0x1034: 0x1ec4, 0x1035: 0x1ec9, + 0x1036: 0x1ece, 0x1037: 0x1ed8, 0x1038: 0x1ee7, 0x1039: 0x1efb, 0x103a: 0x1f00, 0x103b: 0x1f05, + 0x103c: 0x1f14, 0x103d: 0x1f19, 0x103e: 0x1f28, 0x103f: 0x1f2d, + // Block 0x41, offset 0x1040 + 0x1040: 0x1f32, 0x1041: 0x1f37, 0x1042: 0x1f46, 0x1043: 0x1f4b, 0x1044: 0x1f5f, 0x1045: 0x1f64, + 0x1046: 0x1f69, 0x1047: 0x1f6e, 0x1048: 0x1f73, 0x1049: 0x1f87, 0x104a: 0x1f8c, 0x104b: 0x1f91, + 0x104c: 0x1f96, 0x104d: 0x1f9b, 0x104e: 0x1faf, 0x104f: 0x1fb4, 0x1050: 0x1fb9, 0x1051: 0x1fbe, + 0x1052: 0x1fcd, 0x1053: 0x1fd2, 0x1054: 0x1fd7, 0x1055: 0x1fe6, 0x1056: 0x1ff0, 0x1057: 0x1fff, + 0x1058: 0x2004, 0x1059: 0x4450, 0x105a: 0x2018, 0x105b: 0x201d, 0x105c: 0x2022, 0x105d: 0x2031, + 0x105e: 0x203b, 0x105f: 0x25d4, 0x1060: 0x25e2, 0x1061: 0x1da2, 0x1062: 0x1dac, 0x1063: 0x1dd4, + 0x1064: 0x1dde, 0x1065: 0x1dfc, 0x1066: 0x1e06, 0x1067: 0x1e6a, 0x1068: 0x1e6f, 0x1069: 0x1e92, + 0x106a: 0x1e97, 0x106b: 0x1f6e, 0x106c: 0x1f73, 0x106d: 0x1f96, 0x106e: 0x1fe6, 0x106f: 0x1ff0, + 0x1070: 0x2031, 0x1071: 0x203b, 0x1072: 0x4504, 0x1073: 0x450c, 0x1074: 0x4514, 0x1075: 0x1ef1, + 0x1076: 0x1ef6, 0x1077: 0x1f0a, 0x1078: 0x1f0f, 0x1079: 0x1f1e, 0x107a: 0x1f23, 0x107b: 0x1e74, + 0x107c: 0x1e79, 0x107d: 0x1e9c, 0x107e: 0x1ea1, 0x107f: 0x1e33, + // Block 0x42, offset 0x1080 + 0x1080: 0x1e38, 0x1081: 0x1e1f, 0x1082: 0x1e24, 0x1083: 0x1e4c, 0x1084: 0x1e51, 0x1085: 0x1eba, + 0x1086: 0x1ebf, 0x1087: 0x1edd, 0x1088: 0x1ee2, 0x1089: 0x1e7e, 0x108a: 0x1e83, 0x108b: 0x1e88, + 0x108c: 0x1e92, 0x108d: 0x1e8d, 0x108e: 0x1e65, 0x108f: 0x1eb0, 0x1090: 0x1ed3, 0x1091: 0x1ef1, + 0x1092: 0x1ef6, 0x1093: 0x1f0a, 0x1094: 0x1f0f, 0x1095: 0x1f1e, 0x1096: 0x1f23, 0x1097: 0x1e74, + 0x1098: 0x1e79, 0x1099: 0x1e9c, 0x109a: 0x1ea1, 0x109b: 0x1e33, 0x109c: 0x1e38, 0x109d: 0x1e1f, + 0x109e: 0x1e24, 0x109f: 0x1e4c, 0x10a0: 0x1e51, 0x10a1: 0x1eba, 0x10a2: 0x1ebf, 0x10a3: 0x1edd, + 0x10a4: 0x1ee2, 0x10a5: 0x1e7e, 0x10a6: 0x1e83, 0x10a7: 0x1e88, 0x10a8: 0x1e92, 0x10a9: 0x1e8d, + 0x10aa: 0x1e65, 0x10ab: 0x1eb0, 0x10ac: 0x1ed3, 0x10ad: 0x1e7e, 0x10ae: 0x1e83, 0x10af: 0x1e88, + 0x10b0: 0x1e92, 0x10b1: 0x1e6f, 0x10b2: 0x1e97, 0x10b3: 0x1eec, 0x10b4: 0x1e56, 0x10b5: 0x1e5b, + 0x10b6: 0x1e60, 0x10b7: 0x1e7e, 0x10b8: 0x1e83, 0x10b9: 0x1e88, 0x10ba: 0x1eec, 0x10bb: 0x1efb, + 0x10bc: 0x4408, 0x10bd: 0x4408, + // Block 0x43, offset 0x10c0 + 0x10d0: 0x2311, 0x10d1: 0x2326, + 0x10d2: 0x2326, 0x10d3: 0x232d, 0x10d4: 0x2334, 0x10d5: 0x2349, 0x10d6: 0x2350, 0x10d7: 0x2357, + 0x10d8: 0x237a, 0x10d9: 0x237a, 0x10da: 0x239d, 0x10db: 0x2396, 0x10dc: 0x23b2, 0x10dd: 0x23a4, + 0x10de: 0x23ab, 0x10df: 0x23ce, 0x10e0: 0x23ce, 0x10e1: 0x23c7, 0x10e2: 0x23d5, 0x10e3: 0x23d5, + 0x10e4: 0x23ff, 0x10e5: 0x23ff, 0x10e6: 0x241b, 0x10e7: 0x23e3, 0x10e8: 0x23e3, 0x10e9: 0x23dc, + 0x10ea: 0x23f1, 0x10eb: 0x23f1, 0x10ec: 0x23f8, 0x10ed: 0x23f8, 0x10ee: 0x2422, 0x10ef: 0x2430, + 0x10f0: 0x2430, 0x10f1: 0x2437, 0x10f2: 0x2437, 0x10f3: 0x243e, 0x10f4: 0x2445, 0x10f5: 0x244c, + 0x10f6: 0x2453, 0x10f7: 0x2453, 0x10f8: 0x245a, 0x10f9: 0x2468, 0x10fa: 0x2476, 0x10fb: 0x246f, + 0x10fc: 0x247d, 0x10fd: 0x247d, 0x10fe: 0x2492, 0x10ff: 0x2499, + // Block 0x44, offset 0x1100 + 0x1100: 0x24ca, 0x1101: 0x24d8, 0x1102: 0x24d1, 0x1103: 0x24b5, 0x1104: 0x24b5, 0x1105: 0x24df, + 0x1106: 0x24df, 0x1107: 0x24e6, 0x1108: 0x24e6, 0x1109: 0x2510, 0x110a: 0x2517, 0x110b: 0x251e, + 0x110c: 0x24f4, 0x110d: 0x2502, 0x110e: 0x2525, 0x110f: 0x252c, + 0x1112: 0x24fb, 0x1113: 0x2580, 0x1114: 0x2587, 0x1115: 0x255d, 0x1116: 0x2564, 0x1117: 0x2548, + 0x1118: 0x2548, 0x1119: 0x254f, 0x111a: 0x2579, 0x111b: 0x2572, 0x111c: 0x259c, 0x111d: 0x259c, + 0x111e: 0x230a, 0x111f: 0x231f, 0x1120: 0x2318, 0x1121: 0x2342, 0x1122: 0x233b, 0x1123: 0x2365, + 0x1124: 0x235e, 0x1125: 0x2388, 0x1126: 0x236c, 0x1127: 0x2381, 0x1128: 0x23b9, 0x1129: 0x2406, + 0x112a: 0x23ea, 0x112b: 0x2429, 0x112c: 0x24c3, 0x112d: 0x24ed, 0x112e: 0x2595, 0x112f: 0x258e, + 0x1130: 0x25a3, 0x1131: 0x253a, 0x1132: 0x24a0, 0x1133: 0x256b, 0x1134: 0x2492, 0x1135: 0x24ca, + 0x1136: 0x2461, 0x1137: 0x24ae, 0x1138: 0x2541, 0x1139: 0x2533, 0x113a: 0x24bc, 0x113b: 0x24a7, + 0x113c: 0x24bc, 0x113d: 0x2541, 0x113e: 0x2373, 0x113f: 0x238f, + // Block 0x45, offset 0x1140 + 0x1140: 0x2509, 0x1141: 0x2484, 0x1142: 0x2303, 0x1143: 0x24a7, 0x1144: 0x244c, 0x1145: 0x241b, + 0x1146: 0x23c0, 0x1147: 0x2556, + 0x1170: 0x2414, 0x1171: 0x248b, 0x1172: 0x27bf, 0x1173: 0x27b6, 0x1174: 0x27ec, 0x1175: 0x27da, + 0x1176: 0x27c8, 0x1177: 0x27e3, 0x1178: 0x27f5, 0x1179: 0x240d, 0x117a: 0x2c7c, 0x117b: 0x2afc, + 0x117c: 0x27d1, + // Block 0x46, offset 0x1180 + 0x1190: 0x0019, 0x1191: 0x0483, + 0x1192: 0x0487, 0x1193: 0x0035, 0x1194: 0x0037, 0x1195: 0x0003, 0x1196: 0x003f, 0x1197: 0x04bf, + 0x1198: 0x04c3, 0x1199: 0x1b5c, + 0x11a0: 0x8132, 0x11a1: 0x8132, 0x11a2: 0x8132, 0x11a3: 0x8132, + 0x11a4: 0x8132, 0x11a5: 0x8132, 0x11a6: 0x8132, 0x11a7: 0x812d, 0x11a8: 0x812d, 0x11a9: 0x812d, + 0x11aa: 0x812d, 0x11ab: 0x812d, 0x11ac: 0x812d, 0x11ad: 0x812d, 0x11ae: 0x8132, 0x11af: 0x8132, + 0x11b0: 0x1873, 0x11b1: 0x0443, 0x11b2: 0x043f, 0x11b3: 0x007f, 0x11b4: 0x007f, 0x11b5: 0x0011, + 0x11b6: 0x0013, 0x11b7: 0x00b7, 0x11b8: 0x00bb, 0x11b9: 0x04b7, 0x11ba: 0x04bb, 0x11bb: 0x04ab, + 0x11bc: 0x04af, 0x11bd: 0x0493, 0x11be: 0x0497, 0x11bf: 0x048b, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x048f, 0x11c1: 0x049b, 0x11c2: 0x049f, 0x11c3: 0x04a3, 0x11c4: 0x04a7, + 0x11c7: 0x0077, 0x11c8: 0x007b, 0x11c9: 0x4269, 0x11ca: 0x4269, 0x11cb: 0x4269, + 0x11cc: 0x4269, 0x11cd: 0x007f, 0x11ce: 0x007f, 0x11cf: 0x007f, 0x11d0: 0x0019, 0x11d1: 0x0483, + 0x11d2: 0x001d, 0x11d4: 0x0037, 0x11d5: 0x0035, 0x11d6: 0x003f, 0x11d7: 0x0003, + 0x11d8: 0x0443, 0x11d9: 0x0011, 0x11da: 0x0013, 0x11db: 0x00b7, 0x11dc: 0x00bb, 0x11dd: 0x04b7, + 0x11de: 0x04bb, 0x11df: 0x0007, 0x11e0: 0x000d, 0x11e1: 0x0015, 0x11e2: 0x0017, 0x11e3: 0x001b, + 0x11e4: 0x0039, 0x11e5: 0x003d, 0x11e6: 0x003b, 0x11e8: 0x0079, 0x11e9: 0x0009, + 0x11ea: 0x000b, 0x11eb: 0x0041, + 0x11f0: 0x42aa, 0x11f1: 0x442c, 0x11f2: 0x42af, 0x11f4: 0x42b4, + 0x11f6: 0x42b9, 0x11f7: 0x4432, 0x11f8: 0x42be, 0x11f9: 0x4438, 0x11fa: 0x42c3, 0x11fb: 0x443e, + 0x11fc: 0x42c8, 0x11fd: 0x4444, 0x11fe: 0x42cd, 0x11ff: 0x444a, + // Block 0x48, offset 0x1200 + 0x1200: 0x0236, 0x1201: 0x440e, 0x1202: 0x440e, 0x1203: 0x4414, 0x1204: 0x4414, 0x1205: 0x4456, + 0x1206: 0x4456, 0x1207: 0x441a, 0x1208: 0x441a, 0x1209: 0x4462, 0x120a: 0x4462, 0x120b: 0x4462, + 0x120c: 0x4462, 0x120d: 0x0239, 0x120e: 0x0239, 0x120f: 0x023c, 0x1210: 0x023c, 0x1211: 0x023c, + 0x1212: 0x023c, 0x1213: 0x023f, 0x1214: 0x023f, 0x1215: 0x0242, 0x1216: 0x0242, 0x1217: 0x0242, + 0x1218: 0x0242, 0x1219: 0x0245, 0x121a: 0x0245, 0x121b: 0x0245, 0x121c: 0x0245, 0x121d: 0x0248, + 0x121e: 0x0248, 0x121f: 0x0248, 0x1220: 0x0248, 0x1221: 0x024b, 0x1222: 0x024b, 0x1223: 0x024b, + 0x1224: 0x024b, 0x1225: 0x024e, 0x1226: 0x024e, 0x1227: 0x024e, 0x1228: 0x024e, 0x1229: 0x0251, + 0x122a: 0x0251, 0x122b: 0x0254, 0x122c: 0x0254, 0x122d: 0x0257, 0x122e: 0x0257, 0x122f: 0x025a, + 0x1230: 0x025a, 0x1231: 0x025d, 0x1232: 0x025d, 0x1233: 0x025d, 0x1234: 0x025d, 0x1235: 0x0260, + 0x1236: 0x0260, 0x1237: 0x0260, 0x1238: 0x0260, 0x1239: 0x0263, 0x123a: 0x0263, 0x123b: 0x0263, + 0x123c: 0x0263, 0x123d: 0x0266, 0x123e: 0x0266, 0x123f: 0x0266, + // Block 0x49, offset 0x1240 + 0x1240: 0x0266, 0x1241: 0x0269, 0x1242: 0x0269, 0x1243: 0x0269, 0x1244: 0x0269, 0x1245: 0x026c, + 0x1246: 0x026c, 0x1247: 0x026c, 0x1248: 0x026c, 0x1249: 0x026f, 0x124a: 0x026f, 0x124b: 0x026f, + 0x124c: 0x026f, 0x124d: 0x0272, 0x124e: 0x0272, 0x124f: 0x0272, 0x1250: 0x0272, 0x1251: 0x0275, + 0x1252: 0x0275, 0x1253: 0x0275, 0x1254: 0x0275, 0x1255: 0x0278, 0x1256: 0x0278, 0x1257: 0x0278, + 0x1258: 0x0278, 0x1259: 0x027b, 0x125a: 0x027b, 0x125b: 0x027b, 0x125c: 0x027b, 0x125d: 0x027e, + 0x125e: 0x027e, 0x125f: 0x027e, 0x1260: 0x027e, 0x1261: 0x0281, 0x1262: 0x0281, 0x1263: 0x0281, + 0x1264: 0x0281, 0x1265: 0x0284, 0x1266: 0x0284, 0x1267: 0x0284, 0x1268: 0x0284, 0x1269: 0x0287, + 0x126a: 0x0287, 0x126b: 0x0287, 0x126c: 0x0287, 0x126d: 0x028a, 0x126e: 0x028a, 0x126f: 0x028d, + 0x1270: 0x028d, 0x1271: 0x0290, 0x1272: 0x0290, 0x1273: 0x0290, 0x1274: 0x0290, 0x1275: 0x2e00, + 0x1276: 0x2e00, 0x1277: 0x2e08, 0x1278: 0x2e08, 0x1279: 0x2e10, 0x127a: 0x2e10, 0x127b: 0x1f82, + 0x127c: 0x1f82, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0081, 0x1281: 0x0083, 0x1282: 0x0085, 0x1283: 0x0087, 0x1284: 0x0089, 0x1285: 0x008b, + 0x1286: 0x008d, 0x1287: 0x008f, 0x1288: 0x0091, 0x1289: 0x0093, 0x128a: 0x0095, 0x128b: 0x0097, + 0x128c: 0x0099, 0x128d: 0x009b, 0x128e: 0x009d, 0x128f: 0x009f, 0x1290: 0x00a1, 0x1291: 0x00a3, + 0x1292: 0x00a5, 0x1293: 0x00a7, 0x1294: 0x00a9, 0x1295: 0x00ab, 0x1296: 0x00ad, 0x1297: 0x00af, + 0x1298: 0x00b1, 0x1299: 0x00b3, 0x129a: 0x00b5, 0x129b: 0x00b7, 0x129c: 0x00b9, 0x129d: 0x00bb, + 0x129e: 0x00bd, 0x129f: 0x0477, 0x12a0: 0x047b, 0x12a1: 0x0487, 0x12a2: 0x049b, 0x12a3: 0x049f, + 0x12a4: 0x0483, 0x12a5: 0x05ab, 0x12a6: 0x05a3, 0x12a7: 0x04c7, 0x12a8: 0x04cf, 0x12a9: 0x04d7, + 0x12aa: 0x04df, 0x12ab: 0x04e7, 0x12ac: 0x056b, 0x12ad: 0x0573, 0x12ae: 0x057b, 0x12af: 0x051f, + 0x12b0: 0x05af, 0x12b1: 0x04cb, 0x12b2: 0x04d3, 0x12b3: 0x04db, 0x12b4: 0x04e3, 0x12b5: 0x04eb, + 0x12b6: 0x04ef, 0x12b7: 0x04f3, 0x12b8: 0x04f7, 0x12b9: 0x04fb, 0x12ba: 0x04ff, 0x12bb: 0x0503, + 0x12bc: 0x0507, 0x12bd: 0x050b, 0x12be: 0x050f, 0x12bf: 0x0513, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x0517, 0x12c1: 0x051b, 0x12c2: 0x0523, 0x12c3: 0x0527, 0x12c4: 0x052b, 0x12c5: 0x052f, + 0x12c6: 0x0533, 0x12c7: 0x0537, 0x12c8: 0x053b, 0x12c9: 0x053f, 0x12ca: 0x0543, 0x12cb: 0x0547, + 0x12cc: 0x054b, 0x12cd: 0x054f, 0x12ce: 0x0553, 0x12cf: 0x0557, 0x12d0: 0x055b, 0x12d1: 0x055f, + 0x12d2: 0x0563, 0x12d3: 0x0567, 0x12d4: 0x056f, 0x12d5: 0x0577, 0x12d6: 0x057f, 0x12d7: 0x0583, + 0x12d8: 0x0587, 0x12d9: 0x058b, 0x12da: 0x058f, 0x12db: 0x0593, 0x12dc: 0x0597, 0x12dd: 0x05a7, + 0x12de: 0x4a78, 0x12df: 0x4a7e, 0x12e0: 0x03c3, 0x12e1: 0x0313, 0x12e2: 0x0317, 0x12e3: 0x4a3b, + 0x12e4: 0x031b, 0x12e5: 0x4a41, 0x12e6: 0x4a47, 0x12e7: 0x031f, 0x12e8: 0x0323, 0x12e9: 0x0327, + 0x12ea: 0x4a4d, 0x12eb: 0x4a53, 0x12ec: 0x4a59, 0x12ed: 0x4a5f, 0x12ee: 0x4a65, 0x12ef: 0x4a6b, + 0x12f0: 0x0367, 0x12f1: 0x032b, 0x12f2: 0x032f, 0x12f3: 0x0333, 0x12f4: 0x037b, 0x12f5: 0x0337, + 0x12f6: 0x033b, 0x12f7: 0x033f, 0x12f8: 0x0343, 0x12f9: 0x0347, 0x12fa: 0x034b, 0x12fb: 0x034f, + 0x12fc: 0x0353, 0x12fd: 0x0357, 0x12fe: 0x035b, + // Block 0x4c, offset 0x1300 + 0x1302: 0x49bd, 0x1303: 0x49c3, 0x1304: 0x49c9, 0x1305: 0x49cf, + 0x1306: 0x49d5, 0x1307: 0x49db, 0x130a: 0x49e1, 0x130b: 0x49e7, + 0x130c: 0x49ed, 0x130d: 0x49f3, 0x130e: 0x49f9, 0x130f: 0x49ff, + 0x1312: 0x4a05, 0x1313: 0x4a0b, 0x1314: 0x4a11, 0x1315: 0x4a17, 0x1316: 0x4a1d, 0x1317: 0x4a23, + 0x131a: 0x4a29, 0x131b: 0x4a2f, 0x131c: 0x4a35, + 0x1320: 0x00bf, 0x1321: 0x00c2, 0x1322: 0x00cb, 0x1323: 0x4264, + 0x1324: 0x00c8, 0x1325: 0x00c5, 0x1326: 0x0447, 0x1328: 0x046b, 0x1329: 0x044b, + 0x132a: 0x044f, 0x132b: 0x0453, 0x132c: 0x0457, 0x132d: 0x046f, 0x132e: 0x0473, + // Block 0x4d, offset 0x1340 + 0x1340: 0x0063, 0x1341: 0x0065, 0x1342: 0x0067, 0x1343: 0x0069, 0x1344: 0x006b, 0x1345: 0x006d, + 0x1346: 0x006f, 0x1347: 0x0071, 0x1348: 0x0073, 0x1349: 0x0075, 0x134a: 0x0083, 0x134b: 0x0085, + 0x134c: 0x0087, 0x134d: 0x0089, 0x134e: 0x008b, 0x134f: 0x008d, 0x1350: 0x008f, 0x1351: 0x0091, + 0x1352: 0x0093, 0x1353: 0x0095, 0x1354: 0x0097, 0x1355: 0x0099, 0x1356: 0x009b, 0x1357: 0x009d, + 0x1358: 0x009f, 0x1359: 0x00a1, 0x135a: 0x00a3, 0x135b: 0x00a5, 0x135c: 0x00a7, 0x135d: 0x00a9, + 0x135e: 0x00ab, 0x135f: 0x00ad, 0x1360: 0x00af, 0x1361: 0x00b1, 0x1362: 0x00b3, 0x1363: 0x00b5, + 0x1364: 0x00dd, 0x1365: 0x00f2, 0x1368: 0x0173, 0x1369: 0x0176, + 0x136a: 0x0179, 0x136b: 0x017c, 0x136c: 0x017f, 0x136d: 0x0182, 0x136e: 0x0185, 0x136f: 0x0188, + 0x1370: 0x018b, 0x1371: 0x018e, 0x1372: 0x0191, 0x1373: 0x0194, 0x1374: 0x0197, 0x1375: 0x019a, + 0x1376: 0x019d, 0x1377: 0x01a0, 0x1378: 0x01a3, 0x1379: 0x0188, 0x137a: 0x01a6, 0x137b: 0x01a9, + 0x137c: 0x01ac, 0x137d: 0x01af, 0x137e: 0x01b2, 0x137f: 0x01b5, + // Block 0x4e, offset 0x1380 + 0x1380: 0x01fd, 0x1381: 0x0200, 0x1382: 0x0203, 0x1383: 0x045b, 0x1384: 0x01c7, 0x1385: 0x01d0, + 0x1386: 0x01d6, 0x1387: 0x01fa, 0x1388: 0x01eb, 0x1389: 0x01e8, 0x138a: 0x0206, 0x138b: 0x0209, + 0x138e: 0x0021, 0x138f: 0x0023, 0x1390: 0x0025, 0x1391: 0x0027, + 0x1392: 0x0029, 0x1393: 0x002b, 0x1394: 0x002d, 0x1395: 0x002f, 0x1396: 0x0031, 0x1397: 0x0033, + 0x1398: 0x0021, 0x1399: 0x0023, 0x139a: 0x0025, 0x139b: 0x0027, 0x139c: 0x0029, 0x139d: 0x002b, + 0x139e: 0x002d, 0x139f: 0x002f, 0x13a0: 0x0031, 0x13a1: 0x0033, 0x13a2: 0x0021, 0x13a3: 0x0023, + 0x13a4: 0x0025, 0x13a5: 0x0027, 0x13a6: 0x0029, 0x13a7: 0x002b, 0x13a8: 0x002d, 0x13a9: 0x002f, + 0x13aa: 0x0031, 0x13ab: 0x0033, 0x13ac: 0x0021, 0x13ad: 0x0023, 0x13ae: 0x0025, 0x13af: 0x0027, + 0x13b0: 0x0029, 0x13b1: 0x002b, 0x13b2: 0x002d, 0x13b3: 0x002f, 0x13b4: 0x0031, 0x13b5: 0x0033, + 0x13b6: 0x0021, 0x13b7: 0x0023, 0x13b8: 0x0025, 0x13b9: 0x0027, 0x13ba: 0x0029, 0x13bb: 0x002b, + 0x13bc: 0x002d, 0x13bd: 0x002f, 0x13be: 0x0031, 0x13bf: 0x0033, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0239, 0x13c1: 0x023c, 0x13c2: 0x0248, 0x13c3: 0x0251, 0x13c5: 0x028a, + 0x13c6: 0x025a, 0x13c7: 0x024b, 0x13c8: 0x0269, 0x13c9: 0x0290, 0x13ca: 0x027b, 0x13cb: 0x027e, + 0x13cc: 0x0281, 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d0: 0x0275, 0x13d1: 0x0263, + 0x13d2: 0x0278, 0x13d3: 0x0257, 0x13d4: 0x0260, 0x13d5: 0x0242, 0x13d6: 0x0245, 0x13d7: 0x024e, + 0x13d8: 0x0254, 0x13d9: 0x0266, 0x13da: 0x026c, 0x13db: 0x0272, 0x13dc: 0x0293, 0x13dd: 0x02e4, + 0x13de: 0x02cc, 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248, + 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e9: 0x0290, + 0x13ea: 0x027b, 0x13eb: 0x027e, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f, + 0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242, + 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fb: 0x0272, + // Block 0x50, offset 0x1400 + 0x1402: 0x0248, + 0x1407: 0x024b, 0x1409: 0x0290, 0x140b: 0x027e, + 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1414: 0x0260, 0x1417: 0x024e, + 0x1419: 0x0266, 0x141b: 0x0272, 0x141d: 0x02e4, + 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, + 0x1424: 0x0287, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290, + 0x142a: 0x027b, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272, + 0x143c: 0x0293, 0x143e: 0x02cc, + // Block 0x51, offset 0x1440 + 0x1440: 0x0239, 0x1441: 0x023c, 0x1442: 0x0248, 0x1443: 0x0251, 0x1444: 0x0287, 0x1445: 0x028a, + 0x1446: 0x025a, 0x1447: 0x024b, 0x1448: 0x0269, 0x1449: 0x0290, 0x144b: 0x027e, + 0x144c: 0x0281, 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1450: 0x0275, 0x1451: 0x0263, + 0x1452: 0x0278, 0x1453: 0x0257, 0x1454: 0x0260, 0x1455: 0x0242, 0x1456: 0x0245, 0x1457: 0x024e, + 0x1458: 0x0254, 0x1459: 0x0266, 0x145a: 0x026c, 0x145b: 0x0272, + 0x1461: 0x023c, 0x1462: 0x0248, 0x1463: 0x0251, + 0x1465: 0x028a, 0x1466: 0x025a, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, + 0x146b: 0x027e, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, + 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1473: 0x0257, 0x1474: 0x0260, 0x1475: 0x0242, + 0x1476: 0x0245, 0x1477: 0x024e, 0x1478: 0x0254, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, + // Block 0x52, offset 0x1480 + 0x1480: 0x1879, 0x1481: 0x1876, 0x1482: 0x187c, 0x1483: 0x18a0, 0x1484: 0x18c4, 0x1485: 0x18e8, + 0x1486: 0x190c, 0x1487: 0x1915, 0x1488: 0x191b, 0x1489: 0x1921, 0x148a: 0x1927, + 0x1490: 0x1a8c, 0x1491: 0x1a90, + 0x1492: 0x1a94, 0x1493: 0x1a98, 0x1494: 0x1a9c, 0x1495: 0x1aa0, 0x1496: 0x1aa4, 0x1497: 0x1aa8, + 0x1498: 0x1aac, 0x1499: 0x1ab0, 0x149a: 0x1ab4, 0x149b: 0x1ab8, 0x149c: 0x1abc, 0x149d: 0x1ac0, + 0x149e: 0x1ac4, 0x149f: 0x1ac8, 0x14a0: 0x1acc, 0x14a1: 0x1ad0, 0x14a2: 0x1ad4, 0x14a3: 0x1ad8, + 0x14a4: 0x1adc, 0x14a5: 0x1ae0, 0x14a6: 0x1ae4, 0x14a7: 0x1ae8, 0x14a8: 0x1aec, 0x14a9: 0x1af0, + 0x14aa: 0x271e, 0x14ab: 0x0047, 0x14ac: 0x0065, 0x14ad: 0x193c, 0x14ae: 0x19b1, + 0x14b0: 0x0043, 0x14b1: 0x0045, 0x14b2: 0x0047, 0x14b3: 0x0049, 0x14b4: 0x004b, 0x14b5: 0x004d, + 0x14b6: 0x004f, 0x14b7: 0x0051, 0x14b8: 0x0053, 0x14b9: 0x0055, 0x14ba: 0x0057, 0x14bb: 0x0059, + 0x14bc: 0x005b, 0x14bd: 0x005d, 0x14be: 0x005f, 0x14bf: 0x0061, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x26ad, 0x14c1: 0x26c2, 0x14c2: 0x0503, + 0x14d0: 0x0c0f, 0x14d1: 0x0a47, + 0x14d2: 0x08d3, 0x14d3: 0x45c4, 0x14d4: 0x071b, 0x14d5: 0x09ef, 0x14d6: 0x132f, 0x14d7: 0x09ff, + 0x14d8: 0x0727, 0x14d9: 0x0cd7, 0x14da: 0x0eaf, 0x14db: 0x0caf, 0x14dc: 0x0827, 0x14dd: 0x0b6b, + 0x14de: 0x07bf, 0x14df: 0x0cb7, 0x14e0: 0x0813, 0x14e1: 0x1117, 0x14e2: 0x0f83, 0x14e3: 0x138b, + 0x14e4: 0x09d3, 0x14e5: 0x090b, 0x14e6: 0x0e63, 0x14e7: 0x0c1b, 0x14e8: 0x0c47, 0x14e9: 0x06bf, + 0x14ea: 0x06cb, 0x14eb: 0x140b, 0x14ec: 0x0adb, 0x14ed: 0x06e7, 0x14ee: 0x08ef, 0x14ef: 0x0c3b, + 0x14f0: 0x13b3, 0x14f1: 0x0c13, 0x14f2: 0x106f, 0x14f3: 0x10ab, 0x14f4: 0x08f7, 0x14f5: 0x0e43, + 0x14f6: 0x0d0b, 0x14f7: 0x0d07, 0x14f8: 0x0f97, 0x14f9: 0x082b, 0x14fa: 0x0957, 0x14fb: 0x1443, + // Block 0x54, offset 0x1500 + 0x1500: 0x06fb, 0x1501: 0x06f3, 0x1502: 0x0703, 0x1503: 0x1647, 0x1504: 0x0747, 0x1505: 0x0757, + 0x1506: 0x075b, 0x1507: 0x0763, 0x1508: 0x076b, 0x1509: 0x076f, 0x150a: 0x077b, 0x150b: 0x0773, + 0x150c: 0x05b3, 0x150d: 0x165b, 0x150e: 0x078f, 0x150f: 0x0793, 0x1510: 0x0797, 0x1511: 0x07b3, + 0x1512: 0x164c, 0x1513: 0x05b7, 0x1514: 0x079f, 0x1515: 0x07bf, 0x1516: 0x1656, 0x1517: 0x07cf, + 0x1518: 0x07d7, 0x1519: 0x0737, 0x151a: 0x07df, 0x151b: 0x07e3, 0x151c: 0x1831, 0x151d: 0x07ff, + 0x151e: 0x0807, 0x151f: 0x05bf, 0x1520: 0x081f, 0x1521: 0x0823, 0x1522: 0x082b, 0x1523: 0x082f, + 0x1524: 0x05c3, 0x1525: 0x0847, 0x1526: 0x084b, 0x1527: 0x0857, 0x1528: 0x0863, 0x1529: 0x0867, + 0x152a: 0x086b, 0x152b: 0x0873, 0x152c: 0x0893, 0x152d: 0x0897, 0x152e: 0x089f, 0x152f: 0x08af, + 0x1530: 0x08b7, 0x1531: 0x08bb, 0x1532: 0x08bb, 0x1533: 0x08bb, 0x1534: 0x166a, 0x1535: 0x0e93, + 0x1536: 0x08cf, 0x1537: 0x08d7, 0x1538: 0x166f, 0x1539: 0x08e3, 0x153a: 0x08eb, 0x153b: 0x08f3, + 0x153c: 0x091b, 0x153d: 0x0907, 0x153e: 0x0913, 0x153f: 0x0917, + // Block 0x55, offset 0x1540 + 0x1540: 0x091f, 0x1541: 0x0927, 0x1542: 0x092b, 0x1543: 0x0933, 0x1544: 0x093b, 0x1545: 0x093f, + 0x1546: 0x093f, 0x1547: 0x0947, 0x1548: 0x094f, 0x1549: 0x0953, 0x154a: 0x095f, 0x154b: 0x0983, + 0x154c: 0x0967, 0x154d: 0x0987, 0x154e: 0x096b, 0x154f: 0x0973, 0x1550: 0x080b, 0x1551: 0x09cf, + 0x1552: 0x0997, 0x1553: 0x099b, 0x1554: 0x099f, 0x1555: 0x0993, 0x1556: 0x09a7, 0x1557: 0x09a3, + 0x1558: 0x09bb, 0x1559: 0x1674, 0x155a: 0x09d7, 0x155b: 0x09db, 0x155c: 0x09e3, 0x155d: 0x09ef, + 0x155e: 0x09f7, 0x155f: 0x0a13, 0x1560: 0x1679, 0x1561: 0x167e, 0x1562: 0x0a1f, 0x1563: 0x0a23, + 0x1564: 0x0a27, 0x1565: 0x0a1b, 0x1566: 0x0a2f, 0x1567: 0x05c7, 0x1568: 0x05cb, 0x1569: 0x0a37, + 0x156a: 0x0a3f, 0x156b: 0x0a3f, 0x156c: 0x1683, 0x156d: 0x0a5b, 0x156e: 0x0a5f, 0x156f: 0x0a63, + 0x1570: 0x0a6b, 0x1571: 0x1688, 0x1572: 0x0a73, 0x1573: 0x0a77, 0x1574: 0x0b4f, 0x1575: 0x0a7f, + 0x1576: 0x05cf, 0x1577: 0x0a8b, 0x1578: 0x0a9b, 0x1579: 0x0aa7, 0x157a: 0x0aa3, 0x157b: 0x1692, + 0x157c: 0x0aaf, 0x157d: 0x1697, 0x157e: 0x0abb, 0x157f: 0x0ab7, + // Block 0x56, offset 0x1580 + 0x1580: 0x0abf, 0x1581: 0x0acf, 0x1582: 0x0ad3, 0x1583: 0x05d3, 0x1584: 0x0ae3, 0x1585: 0x0aeb, + 0x1586: 0x0aef, 0x1587: 0x0af3, 0x1588: 0x05d7, 0x1589: 0x169c, 0x158a: 0x05db, 0x158b: 0x0b0f, + 0x158c: 0x0b13, 0x158d: 0x0b17, 0x158e: 0x0b1f, 0x158f: 0x1863, 0x1590: 0x0b37, 0x1591: 0x16a6, + 0x1592: 0x16a6, 0x1593: 0x11d7, 0x1594: 0x0b47, 0x1595: 0x0b47, 0x1596: 0x05df, 0x1597: 0x16c9, + 0x1598: 0x179b, 0x1599: 0x0b57, 0x159a: 0x0b5f, 0x159b: 0x05e3, 0x159c: 0x0b73, 0x159d: 0x0b83, + 0x159e: 0x0b87, 0x159f: 0x0b8f, 0x15a0: 0x0b9f, 0x15a1: 0x05eb, 0x15a2: 0x05e7, 0x15a3: 0x0ba3, + 0x15a4: 0x16ab, 0x15a5: 0x0ba7, 0x15a6: 0x0bbb, 0x15a7: 0x0bbf, 0x15a8: 0x0bc3, 0x15a9: 0x0bbf, + 0x15aa: 0x0bcf, 0x15ab: 0x0bd3, 0x15ac: 0x0be3, 0x15ad: 0x0bdb, 0x15ae: 0x0bdf, 0x15af: 0x0be7, + 0x15b0: 0x0beb, 0x15b1: 0x0bef, 0x15b2: 0x0bfb, 0x15b3: 0x0bff, 0x15b4: 0x0c17, 0x15b5: 0x0c1f, + 0x15b6: 0x0c2f, 0x15b7: 0x0c43, 0x15b8: 0x16ba, 0x15b9: 0x0c3f, 0x15ba: 0x0c33, 0x15bb: 0x0c4b, + 0x15bc: 0x0c53, 0x15bd: 0x0c67, 0x15be: 0x16bf, 0x15bf: 0x0c6f, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0c63, 0x15c1: 0x0c5b, 0x15c2: 0x05ef, 0x15c3: 0x0c77, 0x15c4: 0x0c7f, 0x15c5: 0x0c87, + 0x15c6: 0x0c7b, 0x15c7: 0x05f3, 0x15c8: 0x0c97, 0x15c9: 0x0c9f, 0x15ca: 0x16c4, 0x15cb: 0x0ccb, + 0x15cc: 0x0cff, 0x15cd: 0x0cdb, 0x15ce: 0x05ff, 0x15cf: 0x0ce7, 0x15d0: 0x05fb, 0x15d1: 0x05f7, + 0x15d2: 0x07c3, 0x15d3: 0x07c7, 0x15d4: 0x0d03, 0x15d5: 0x0ceb, 0x15d6: 0x11ab, 0x15d7: 0x0663, + 0x15d8: 0x0d0f, 0x15d9: 0x0d13, 0x15da: 0x0d17, 0x15db: 0x0d2b, 0x15dc: 0x0d23, 0x15dd: 0x16dd, + 0x15de: 0x0603, 0x15df: 0x0d3f, 0x15e0: 0x0d33, 0x15e1: 0x0d4f, 0x15e2: 0x0d57, 0x15e3: 0x16e7, + 0x15e4: 0x0d5b, 0x15e5: 0x0d47, 0x15e6: 0x0d63, 0x15e7: 0x0607, 0x15e8: 0x0d67, 0x15e9: 0x0d6b, + 0x15ea: 0x0d6f, 0x15eb: 0x0d7b, 0x15ec: 0x16ec, 0x15ed: 0x0d83, 0x15ee: 0x060b, 0x15ef: 0x0d8f, + 0x15f0: 0x16f1, 0x15f1: 0x0d93, 0x15f2: 0x060f, 0x15f3: 0x0d9f, 0x15f4: 0x0dab, 0x15f5: 0x0db7, + 0x15f6: 0x0dbb, 0x15f7: 0x16f6, 0x15f8: 0x168d, 0x15f9: 0x16fb, 0x15fa: 0x0ddb, 0x15fb: 0x1700, + 0x15fc: 0x0de7, 0x15fd: 0x0def, 0x15fe: 0x0ddf, 0x15ff: 0x0dfb, + // Block 0x58, offset 0x1600 + 0x1600: 0x0e0b, 0x1601: 0x0e1b, 0x1602: 0x0e0f, 0x1603: 0x0e13, 0x1604: 0x0e1f, 0x1605: 0x0e23, + 0x1606: 0x1705, 0x1607: 0x0e07, 0x1608: 0x0e3b, 0x1609: 0x0e3f, 0x160a: 0x0613, 0x160b: 0x0e53, + 0x160c: 0x0e4f, 0x160d: 0x170a, 0x160e: 0x0e33, 0x160f: 0x0e6f, 0x1610: 0x170f, 0x1611: 0x1714, + 0x1612: 0x0e73, 0x1613: 0x0e87, 0x1614: 0x0e83, 0x1615: 0x0e7f, 0x1616: 0x0617, 0x1617: 0x0e8b, + 0x1618: 0x0e9b, 0x1619: 0x0e97, 0x161a: 0x0ea3, 0x161b: 0x1651, 0x161c: 0x0eb3, 0x161d: 0x1719, + 0x161e: 0x0ebf, 0x161f: 0x1723, 0x1620: 0x0ed3, 0x1621: 0x0edf, 0x1622: 0x0ef3, 0x1623: 0x1728, + 0x1624: 0x0f07, 0x1625: 0x0f0b, 0x1626: 0x172d, 0x1627: 0x1732, 0x1628: 0x0f27, 0x1629: 0x0f37, + 0x162a: 0x061b, 0x162b: 0x0f3b, 0x162c: 0x061f, 0x162d: 0x061f, 0x162e: 0x0f53, 0x162f: 0x0f57, + 0x1630: 0x0f5f, 0x1631: 0x0f63, 0x1632: 0x0f6f, 0x1633: 0x0623, 0x1634: 0x0f87, 0x1635: 0x1737, + 0x1636: 0x0fa3, 0x1637: 0x173c, 0x1638: 0x0faf, 0x1639: 0x16a1, 0x163a: 0x0fbf, 0x163b: 0x1741, + 0x163c: 0x1746, 0x163d: 0x174b, 0x163e: 0x0627, 0x163f: 0x062b, + // Block 0x59, offset 0x1640 + 0x1640: 0x0ff7, 0x1641: 0x1755, 0x1642: 0x1750, 0x1643: 0x175a, 0x1644: 0x175f, 0x1645: 0x0fff, + 0x1646: 0x1003, 0x1647: 0x1003, 0x1648: 0x100b, 0x1649: 0x0633, 0x164a: 0x100f, 0x164b: 0x0637, + 0x164c: 0x063b, 0x164d: 0x1769, 0x164e: 0x1023, 0x164f: 0x102b, 0x1650: 0x1037, 0x1651: 0x063f, + 0x1652: 0x176e, 0x1653: 0x105b, 0x1654: 0x1773, 0x1655: 0x1778, 0x1656: 0x107b, 0x1657: 0x1093, + 0x1658: 0x0643, 0x1659: 0x109b, 0x165a: 0x109f, 0x165b: 0x10a3, 0x165c: 0x177d, 0x165d: 0x1782, + 0x165e: 0x1782, 0x165f: 0x10bb, 0x1660: 0x0647, 0x1661: 0x1787, 0x1662: 0x10cf, 0x1663: 0x10d3, + 0x1664: 0x064b, 0x1665: 0x178c, 0x1666: 0x10ef, 0x1667: 0x064f, 0x1668: 0x10ff, 0x1669: 0x10f7, + 0x166a: 0x1107, 0x166b: 0x1796, 0x166c: 0x111f, 0x166d: 0x0653, 0x166e: 0x112b, 0x166f: 0x1133, + 0x1670: 0x1143, 0x1671: 0x0657, 0x1672: 0x17a0, 0x1673: 0x17a5, 0x1674: 0x065b, 0x1675: 0x17aa, + 0x1676: 0x115b, 0x1677: 0x17af, 0x1678: 0x1167, 0x1679: 0x1173, 0x167a: 0x117b, 0x167b: 0x17b4, + 0x167c: 0x17b9, 0x167d: 0x118f, 0x167e: 0x17be, 0x167f: 0x1197, + // Block 0x5a, offset 0x1680 + 0x1680: 0x16ce, 0x1681: 0x065f, 0x1682: 0x11af, 0x1683: 0x11b3, 0x1684: 0x0667, 0x1685: 0x11b7, + 0x1686: 0x0a33, 0x1687: 0x17c3, 0x1688: 0x17c8, 0x1689: 0x16d3, 0x168a: 0x16d8, 0x168b: 0x11d7, + 0x168c: 0x11db, 0x168d: 0x13f3, 0x168e: 0x066b, 0x168f: 0x1207, 0x1690: 0x1203, 0x1691: 0x120b, + 0x1692: 0x083f, 0x1693: 0x120f, 0x1694: 0x1213, 0x1695: 0x1217, 0x1696: 0x121f, 0x1697: 0x17cd, + 0x1698: 0x121b, 0x1699: 0x1223, 0x169a: 0x1237, 0x169b: 0x123b, 0x169c: 0x1227, 0x169d: 0x123f, + 0x169e: 0x1253, 0x169f: 0x1267, 0x16a0: 0x1233, 0x16a1: 0x1247, 0x16a2: 0x124b, 0x16a3: 0x124f, + 0x16a4: 0x17d2, 0x16a5: 0x17dc, 0x16a6: 0x17d7, 0x16a7: 0x066f, 0x16a8: 0x126f, 0x16a9: 0x1273, + 0x16aa: 0x127b, 0x16ab: 0x17f0, 0x16ac: 0x127f, 0x16ad: 0x17e1, 0x16ae: 0x0673, 0x16af: 0x0677, + 0x16b0: 0x17e6, 0x16b1: 0x17eb, 0x16b2: 0x067b, 0x16b3: 0x129f, 0x16b4: 0x12a3, 0x16b5: 0x12a7, + 0x16b6: 0x12ab, 0x16b7: 0x12b7, 0x16b8: 0x12b3, 0x16b9: 0x12bf, 0x16ba: 0x12bb, 0x16bb: 0x12cb, + 0x16bc: 0x12c3, 0x16bd: 0x12c7, 0x16be: 0x12cf, 0x16bf: 0x067f, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x12d7, 0x16c1: 0x12db, 0x16c2: 0x0683, 0x16c3: 0x12eb, 0x16c4: 0x12ef, 0x16c5: 0x17f5, + 0x16c6: 0x12fb, 0x16c7: 0x12ff, 0x16c8: 0x0687, 0x16c9: 0x130b, 0x16ca: 0x05bb, 0x16cb: 0x17fa, + 0x16cc: 0x17ff, 0x16cd: 0x068b, 0x16ce: 0x068f, 0x16cf: 0x1337, 0x16d0: 0x134f, 0x16d1: 0x136b, + 0x16d2: 0x137b, 0x16d3: 0x1804, 0x16d4: 0x138f, 0x16d5: 0x1393, 0x16d6: 0x13ab, 0x16d7: 0x13b7, + 0x16d8: 0x180e, 0x16d9: 0x1660, 0x16da: 0x13c3, 0x16db: 0x13bf, 0x16dc: 0x13cb, 0x16dd: 0x1665, + 0x16de: 0x13d7, 0x16df: 0x13e3, 0x16e0: 0x1813, 0x16e1: 0x1818, 0x16e2: 0x1423, 0x16e3: 0x142f, + 0x16e4: 0x1437, 0x16e5: 0x181d, 0x16e6: 0x143b, 0x16e7: 0x1467, 0x16e8: 0x1473, 0x16e9: 0x1477, + 0x16ea: 0x146f, 0x16eb: 0x1483, 0x16ec: 0x1487, 0x16ed: 0x1822, 0x16ee: 0x1493, 0x16ef: 0x0693, + 0x16f0: 0x149b, 0x16f1: 0x1827, 0x16f2: 0x0697, 0x16f3: 0x14d3, 0x16f4: 0x0ac3, 0x16f5: 0x14eb, + 0x16f6: 0x182c, 0x16f7: 0x1836, 0x16f8: 0x069b, 0x16f9: 0x069f, 0x16fa: 0x1513, 0x16fb: 0x183b, + 0x16fc: 0x06a3, 0x16fd: 0x1840, 0x16fe: 0x152b, 0x16ff: 0x152b, + // Block 0x5c, offset 0x1700 + 0x1700: 0x1533, 0x1701: 0x1845, 0x1702: 0x154b, 0x1703: 0x06a7, 0x1704: 0x155b, 0x1705: 0x1567, + 0x1706: 0x156f, 0x1707: 0x1577, 0x1708: 0x06ab, 0x1709: 0x184a, 0x170a: 0x158b, 0x170b: 0x15a7, + 0x170c: 0x15b3, 0x170d: 0x06af, 0x170e: 0x06b3, 0x170f: 0x15b7, 0x1710: 0x184f, 0x1711: 0x06b7, + 0x1712: 0x1854, 0x1713: 0x1859, 0x1714: 0x185e, 0x1715: 0x15db, 0x1716: 0x06bb, 0x1717: 0x15ef, + 0x1718: 0x15f7, 0x1719: 0x15fb, 0x171a: 0x1603, 0x171b: 0x160b, 0x171c: 0x1613, 0x171d: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5b, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5c, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5d, 0xcb: 0x5e, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x5f, 0xd2: 0x60, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x61, + 0xd8: 0x62, 0xd9: 0x0d, 0xdb: 0x63, 0xdc: 0x64, 0xdd: 0x65, 0xdf: 0x66, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x67, 0x121: 0x68, 0x123: 0x69, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, + // Block 0x5, offset 0x140 + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0e, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, + 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x11, + 0x178: 0x12, 0x179: 0x13, 0x17a: 0x14, 0x17b: 0x15, 0x17c: 0x16, 0x17d: 0x17, 0x17e: 0x18, 0x17f: 0x19, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1a, 0x185: 0x1b, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1c, 0x18a: 0x1d, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1e, 0x192: 0x1f, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x20, 0x1bd: 0x21, 0x1be: 0x22, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x23, 0x1c2: 0x24, 0x1c3: 0x25, 0x1c4: 0xad, 0x1c5: 0x26, 0x1c6: 0x27, + 0x1c8: 0x28, 0x1c9: 0x29, 0x1ca: 0x2a, 0x1cb: 0x2b, 0x1cc: 0x2c, 0x1cd: 0x2d, 0x1ce: 0x2e, 0x1cf: 0x2f, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x30, 0x325: 0x31, 0x326: 0x32, 0x327: 0x33, + 0x328: 0x34, 0x329: 0x35, 0x32a: 0x36, 0x32b: 0x37, 0x32c: 0x38, 0x32d: 0x39, 0x32e: 0x3a, 0x32f: 0x3b, + 0x330: 0x3c, 0x331: 0x3d, 0x332: 0x3e, 0x333: 0x3f, 0x334: 0x40, 0x335: 0x41, 0x336: 0x42, 0x337: 0x43, + 0x338: 0x44, 0x339: 0x45, 0x33a: 0x46, 0x33b: 0x47, 0x33c: 0xc5, 0x33d: 0x48, 0x33e: 0x49, 0x33f: 0x4a, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + // Block 0xe, offset 0x380 + 0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce, + 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6c, 0x38d: 0xd1, + 0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6, + 0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9, + 0x3a8: 0xda, 0x3a9: 0xdb, 0x3aa: 0xdc, + 0x3b0: 0xd7, 0x3b5: 0xdd, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xde, 0x3ec: 0xdf, + // Block 0x10, offset 0x400 + 0x432: 0xe0, + // Block 0x11, offset 0x440 + 0x445: 0xe1, 0x446: 0xe2, 0x447: 0xe3, + 0x449: 0xe4, + 0x450: 0xe5, 0x451: 0xe6, 0x452: 0xe7, 0x453: 0xe8, 0x454: 0xe9, 0x455: 0xea, 0x456: 0xeb, 0x457: 0xec, + 0x458: 0xed, 0x459: 0xee, 0x45a: 0x4b, 0x45b: 0xef, 0x45c: 0xf0, 0x45d: 0xf1, 0x45e: 0xf2, 0x45f: 0x4c, + // Block 0x12, offset 0x480 + 0x480: 0xf3, + 0x4a3: 0xf4, 0x4a5: 0xf5, + 0x4b8: 0x4d, 0x4b9: 0x4e, 0x4ba: 0x4f, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x50, 0x4c5: 0xf6, 0x4c6: 0xf7, + 0x4c8: 0x51, 0x4c9: 0xf8, + // Block 0x14, offset 0x500 + 0x520: 0x52, 0x521: 0x53, 0x522: 0x54, 0x523: 0x55, 0x524: 0x56, 0x525: 0x57, 0x526: 0x58, 0x527: 0x59, + 0x528: 0x5a, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 158 entries, 316 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd5, 0xdc, 0xe4, 0xe8, 0xea, 0xed, 0xf1, 0xf7, 0x108, 0x114, 0x116, 0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12d, 0x130, 0x132, 0x135, 0x138, 0x13c, 0x141, 0x14a, 0x14c, 0x14f, 0x151, 0x15c, 0x167, 0x175, 0x183, 0x193, 0x1a1, 0x1a8, 0x1ae, 0x1bd, 0x1c1, 0x1c3, 0x1c7, 0x1c9, 0x1cc, 0x1ce, 0x1d1, 0x1d3, 0x1d6, 0x1d8, 0x1da, 0x1dc, 0x1e8, 0x1f2, 0x1fc, 0x1ff, 0x203, 0x205, 0x207, 0x209, 0x20b, 0x20e, 0x210, 0x212, 0x214, 0x216, 0x21c, 0x21f, 0x223, 0x225, 0x22c, 0x232, 0x238, 0x240, 0x246, 0x24c, 0x252, 0x256, 0x258, 0x25a, 0x25c, 0x25e, 0x264, 0x267, 0x26a, 0x272, 0x279, 0x27c, 0x27f, 0x281, 0x289, 0x28c, 0x293, 0x296, 0x29c, 0x29e, 0x2a0, 0x2a3, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2c1, 0x2cb, 0x2cd, 0x2cf, 0x2d3, 0x2d8, 0x2e4, 0x2e9, 0x2f2, 0x2f8, 0x2fd, 0x301, 0x306, 0x30a, 0x31a, 0x328, 0x336, 0x344, 0x34a, 0x34c, 0x34f, 0x359, 0x35b} + +// nfkcSparseValues: 869 entries, 3476 bytes +var nfkcSparseValues = [869]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x4278, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4264, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425a, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4291, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221c, lo: 0xbc, hi: 0xbc}, + {value: 0x2210, lo: 0xbd, hi: 0xbd}, + {value: 0x22b2, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x426e, lo: 0x98, hi: 0x98}, + {value: 0x4273, lo: 0x99, hi: 0x9a}, + {value: 0x4296, lo: 0x9b, hi: 0x9b}, + {value: 0x425f, lo: 0x9c, hi: 0x9c}, + {value: 0x4282, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xc, offset 0x6f + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x74 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x76 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0xf, offset 0x87 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x8f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x96 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x99 + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x13, offset 0xa0 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0xa4 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0xa8 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0xaa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0xac + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0xb5 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xc0 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xc5 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xc8 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xd2 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xd5 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xdc + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xe4 + {value: 0x0000, lo: 0x03}, + {value: 0x2621, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xe8 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xea + {value: 0x0000, lo: 0x02}, + {value: 0x2636, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x23, offset 0xed + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x2628, lo: 0x9c, hi: 0x9c}, + {value: 0x262f, lo: 0x9d, hi: 0x9d}, + // Block 0x24, offset 0xf1 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xf7 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x45f4, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x45ff, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0x108 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0x114 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0x116 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0x11c + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0x11e + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2b, offset 0x120 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x122 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x124 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x126 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x128 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x12a + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x12d + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x130 + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x132 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x135 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x138 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x13c + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x141 + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x14a + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x14c + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x14f + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x151 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x15c + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x167 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429b, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5c, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2691, lo: 0xb3, hi: 0xb3}, + {value: 0x27fe, lo: 0xb4, hi: 0xb4}, + {value: 0x2698, lo: 0xb6, hi: 0xb6}, + {value: 0x2808, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x4269, lo: 0xbe, hi: 0xbe}, + // Block 0x3e, offset 0x175 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x298e, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x3f, offset 0x183 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x1999, lo: 0xa8, hi: 0xa8}, + // Block 0x40, offset 0x193 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x41, offset 0x1a1 + {value: 0x0007, lo: 0x06}, + {value: 0x2180, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x42, offset 0x1a8 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x43, offset 0x1ae + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0x269f, lo: 0xac, hi: 0xad}, + {value: 0x26a6, lo: 0xaf, hi: 0xaf}, + {value: 0x281c, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x44, offset 0x1bd + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x45, offset 0x1c1 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x46, offset 0x1c3 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x47, offset 0x1c7 + {value: 0x0000, lo: 0x01}, + {value: 0x299b, lo: 0x8c, hi: 0x8c}, + // Block 0x48, offset 0x1c9 + {value: 0x0263, lo: 0x02}, + {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x49, offset 0x1cc + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x4a, offset 0x1ce + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4b, offset 0x1d1 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4c, offset 0x1d3 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4d, offset 0x1d6 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4e, offset 0x1d8 + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x4f, offset 0x1da + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x50, offset 0x1dc + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x51, offset 0x1e8 + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x52, offset 0x1f2 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3b, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a41, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a4d, lo: 0xba, hi: 0xbf}, + // Block 0x53, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x54, offset 0x1ff + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x55, offset 0x203 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x56, offset 0x205 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x57, offset 0x207 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x58, offset 0x209 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x59, offset 0x20b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x5a, offset 0x20e + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5b, offset 0x210 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5c, offset 0x212 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5d, offset 0x214 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5e, offset 0x216 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x5f, offset 0x21c + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x60, offset 0x21f + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x61, offset 0x223 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x62, offset 0x225 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x63, offset 0x22c + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x64, offset 0x232 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x65, offset 0x238 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x66, offset 0x240 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x67, offset 0x246 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x68, offset 0x24c + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x69, offset 0x252 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x6a, offset 0x256 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6b, offset 0x258 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6c, offset 0x25a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6d, offset 0x25c + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6e, offset 0x25e + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x6f, offset 0x264 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x70, offset 0x267 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x71, offset 0x26a + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x72, offset 0x272 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x73, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x74, offset 0x27c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x75, offset 0x27f + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x76, offset 0x281 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x77, offset 0x289 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x78, offset 0x28c + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x79, offset 0x293 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7a, offset 0x296 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7b, offset 0x29c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7c, offset 0x29e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7d, offset 0x2a0 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x7e, offset 0x2a3 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x7f, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x80, offset 0x2a7 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x81, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x82, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x83, offset 0x2ae + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x84, offset 0x2b0 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x85, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x86, offset 0x2b4 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x87, offset 0x2c1 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x88, offset 0x2cb + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x89, offset 0x2cd + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8a, offset 0x2cf + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x8b, offset 0x2d3 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x8c, offset 0x2d8 + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x8d, offset 0x2e4 + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x8e, offset 0x2e9 + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x8f, offset 0x2f2 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x90, offset 0x2f8 + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x91, offset 0x2fd + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x92, offset 0x301 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x93, offset 0x306 + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x94, offset 0x30a + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x95, offset 0x31a + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x96, offset 0x328 + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x336 + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x98, offset 0x344 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x99, offset 0x34a + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x9a, offset 0x34c + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x9b, offset 0x34f + {value: 0x0002, lo: 0x09}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1981, lo: 0x8b, hi: 0x8b}, + {value: 0x199c, lo: 0x8c, hi: 0x8c}, + {value: 0x19a2, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc0, lo: 0x8e, hi: 0x8e}, + {value: 0x19ae, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + // Block 0x9c, offset 0x359 + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0x9d, offset 0x35b + {value: 0x0028, lo: 0x09}, + {value: 0x2862, lo: 0x80, hi: 0x80}, + {value: 0x2826, lo: 0x81, hi: 0x81}, + {value: 0x2830, lo: 0x82, hi: 0x82}, + {value: 0x2844, lo: 0x83, hi: 0x84}, + {value: 0x284e, lo: 0x85, hi: 0x86}, + {value: 0x283a, lo: 0x87, hi: 0x87}, + {value: 0x2858, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54226 bytes) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go new file mode 100644 index 0000000..7297cce --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go @@ -0,0 +1,7693 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "11.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2C9E + endMulti = 0x2F60 + firstLeadingCCC = 0x49AE + firstCCCZeroExcept = 0x4A78 + firstStarterWithNLead = 0x4A9F + lastDecomp = 0x4AA1 + maxDecomp = 0x8000 +) + +// decomps: 19105 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, + 0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, + 0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, + 0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, + 0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, + 0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, + 0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, + 0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, + 0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, + 0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, + 0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, + 0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, + 0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, + 0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, + 0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, + 0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, + 0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, + 0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, + 0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, + 0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, + 0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, + 0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, + 0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, + 0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, + 0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, + 0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, + 0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, + 0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, + 0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, + // Bytes 1a80 - 1abf + 0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, + 0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, + 0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, + 0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, + 0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, + 0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, + 0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, + 0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, + // Bytes 1ac0 - 1aff + 0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, + 0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, + 0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, + 0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, + 0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, + 0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, + 0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, + 0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, + // Bytes 1b00 - 1b3f + 0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, + 0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, + 0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, + 0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, + 0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, + 0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, + 0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, + 0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, + // Bytes 1b40 - 1b7f + 0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, + 0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, + 0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, + 0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, + 0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, + 0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, + 0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, + 0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, + // Bytes 1b80 - 1bbf + 0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, + 0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, + 0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, + 0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, + 0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, + 0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, + 0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, + 0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, + // Bytes 1bc0 - 1bff + 0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, + 0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, + 0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, + 0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, + 0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, + 0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, + 0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, + // Bytes 1c00 - 1c3f + 0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, + 0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, + 0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, + 0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, + 0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, + 0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, + 0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, + 0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, + // Bytes 1c40 - 1c7f + 0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, + 0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, + 0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, + 0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, + 0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, + 0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, + 0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, + 0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, + // Bytes 1c80 - 1cbf + 0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, + 0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, + 0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, + 0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, + 0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, + 0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, + 0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, + 0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, + // Bytes 1cc0 - 1cff + 0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, + 0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, + 0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, + 0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, + 0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, + 0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, + 0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, + 0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, + // Bytes 1d00 - 1d3f + 0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, + 0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, + 0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, + 0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, + 0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, + 0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, + 0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, + 0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, + // Bytes 1d40 - 1d7f + 0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, + 0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, + 0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, + 0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, + 0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, + 0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, + 0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, + 0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, + // Bytes 1d80 - 1dbf + 0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, + 0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, + 0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, + 0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, + 0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, + 0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, + 0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, + 0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, + // Bytes 1dc0 - 1dff + 0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, + 0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, + 0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, + 0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, + 0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, + 0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, + 0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, + 0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, + // Bytes 1e00 - 1e3f + 0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, + 0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, + 0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, + 0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, + 0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, + 0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, + 0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, + 0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, + // Bytes 1e40 - 1e7f + 0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, + 0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, + 0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, + 0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, + 0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, + 0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, + 0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, + 0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1e80 - 1ebf + 0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, + 0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, + 0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, + 0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, + 0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, + 0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, + 0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, + 0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, + // Bytes 1ec0 - 1eff + 0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, + 0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, + 0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, + 0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, + 0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, + 0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, + 0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, + 0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, + // Bytes 1f00 - 1f3f + 0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, + 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, + 0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, + 0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, + 0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, + 0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, + 0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, + 0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, + // Bytes 1f40 - 1f7f + 0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, + 0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, + 0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, + 0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, + 0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, + 0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, + 0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, + 0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, + // Bytes 1f80 - 1fbf + 0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, + 0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, + 0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, + 0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, + 0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, + 0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, + 0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, + 0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, + // Bytes 1fc0 - 1fff + 0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, + 0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, + 0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, + 0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, + 0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, + 0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, + 0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, + 0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, + // Bytes 2000 - 203f + 0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, + 0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, + 0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, + 0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, + 0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, + 0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, + 0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, + 0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, + // Bytes 2040 - 207f + 0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, + 0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, + 0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, + 0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, + 0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, + 0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, + 0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, + 0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, + // Bytes 2100 - 213f + 0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, + 0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, + 0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, + 0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, + 0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, + 0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, + 0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, + 0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, + 0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, + 0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, + 0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, + // Bytes 21c0 - 21ff + 0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, + // Bytes 2240 - 227f + 0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, + // Bytes 2280 - 22bf + 0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, + 0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, + 0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, + 0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, + 0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, + // Bytes 2300 - 233f + 0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, + 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, + // Bytes 2340 - 237f + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, + // Bytes 2380 - 23bf + 0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, + // Bytes 23c0 - 23ff + 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, + 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, + // Bytes 2400 - 243f + 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, + 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, + 0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, + 0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, + // Bytes 2440 - 247f + 0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, + // Bytes 2480 - 24bf + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, + 0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, + 0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, + // Bytes 24c0 - 24ff + 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, + // Bytes 2500 - 253f + 0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + 0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, + // Bytes 2540 - 257f + 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, + 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2580 - 25bf + 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, + 0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, + // Bytes 25c0 - 25ff + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, + 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, + 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, + 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, + // Bytes 2640 - 267f + 0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, + 0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, + 0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, + 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, + 0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, + 0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, + // Bytes 26c0 - 26ff + 0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, + 0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, + 0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, + 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, + 0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, + 0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, + // Bytes 2700 - 273f + 0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90, + 0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46, + 0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72, + 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3, + 0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, + // Bytes 2740 - 277f + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29, + // Bytes 2780 - 27bf + 0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61, + 0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8, + 0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48, + // Bytes 27c0 - 27ff + 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, + 0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9, + 0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, + 0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8, + 0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84, + 0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2, + // Bytes 2800 - 283f + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3, + 0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B, + // Bytes 2840 - 287f + 0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C, + 0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95, + // Bytes 2880 - 28bf + 0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6, + 0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, + 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, + 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1, + // Bytes 28c0 - 28ff + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A, + 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, + 0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3, + 0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3, + // Bytes 2940 - 297f + 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3, + 0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF, + 0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82, + // Bytes 2980 - 29bf + 0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82, + 0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3, + // Bytes 29c0 - 29ff + 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2a40 - 2a7f + 0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3, + 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, + 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92, + 0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9, + // Bytes 2b00 - 2b3f + 0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, + 0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84, + 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3, + // Bytes 2bc0 - 2bff + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + 0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, + 0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, + 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9, + // Bytes 2c80 - 2cbf + 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, + 0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, + 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2cc0 - 2cff + 0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0, + 0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2d00 - 2d3f + 0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0, + 0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1, + 0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1, + 0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0, + // Bytes 2d80 - 2dbf + 0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01, + 0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84, + 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, + 0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D, + 0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0, + 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01, + 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, + 0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, + // Bytes 2dc0 - 2dff + 0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96, + 0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, + 0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01, + 0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, + 0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44, + 0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC, + 0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9, + // Bytes 2e00 - 2e3f + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e40 - 2e7f + 0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, + 0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e80 - 2ebf + 0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, + 0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, + 0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83, + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, + // Bytes 2f00 - 2f3f + 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, + 0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, + 0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, + 0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, + 0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81, + 0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41, + // Bytes 2f80 - 2fbf + 0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9, + 0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC, + 0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03, + 0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8, + 0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42, + 0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5, + 0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC, + 0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03, + // Bytes 2fc0 - 2fff + 0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87, + 0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44, + 0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5, + 0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC, + 0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03, + 0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83, + 0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45, + 0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9, + // Bytes 3000 - 303f + 0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC, + 0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03, + 0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8, + 0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45, + 0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9, + 0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC, + 0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03, + 0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87, + // Bytes 3040 - 307f + 0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47, + 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9, + 0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC, + 0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03, + 0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7, + 0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49, + 0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9, + 0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC, + // Bytes 3080 - 30bf + 0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03, + 0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87, + 0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49, + 0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9, + 0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC, + 0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03, + 0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82, + 0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B, + // Bytes 30c0 - 30ff + 0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5, + 0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC, + 0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03, + 0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7, + 0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C, + 0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9, + 0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC, + 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03, + // Bytes 3100 - 313f + 0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83, + 0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E, + 0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5, + 0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC, + 0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03, + 0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81, + 0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F, + 0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9, + // Bytes 3140 - 317f + 0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC, + 0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03, + 0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87, + 0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52, + 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9, + 0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC, + 0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03, + 0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82, + // Bytes 3180 - 31bf + 0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53, + 0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5, + 0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC, + 0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03, + 0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7, + 0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54, + 0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9, + 0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC, + // Bytes 31c0 - 31ff + 0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03, + 0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A, + 0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55, + 0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9, + 0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC, + 0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03, + 0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD, + 0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56, + // Bytes 3200 - 323f + 0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5, + 0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC, + 0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03, + 0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88, + 0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58, + 0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9, + 0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC, + 0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03, + // Bytes 3240 - 327f + 0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84, + 0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9, + 0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC, + 0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03, + 0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C, + 0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, + 0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9, + // Bytes 3280 - 32bf + 0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC, + 0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03, + 0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C, + 0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61, + 0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5, + 0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC, + 0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03, + 0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81, + // Bytes 32c0 - 32ff + 0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63, + 0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9, + 0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC, + 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03, + 0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD, + 0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65, + 0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9, + 0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC, + // Bytes 3300 - 333f + 0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03, + 0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89, + 0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65, + 0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9, + 0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC, + 0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03, + 0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81, + 0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67, + // Bytes 3340 - 337f + 0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9, + 0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, + 0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03, + 0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87, + 0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68, + 0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5, + 0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC, + 0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3380 - 33bf + 0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81, + 0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69, + 0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9, + 0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC, + 0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03, + 0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91, + 0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69, + 0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5, + // Bytes 33c0 - 33ff + 0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC, + 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03, + 0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3, + 0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B, + 0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9, + 0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC, + 0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03, + 0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81, + // Bytes 3400 - 343f + 0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D, + 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9, + 0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC, + 0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03, + 0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3, + 0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E, + 0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5, + 0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC, + // Bytes 3440 - 347f + 0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03, + 0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B, + 0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F, + 0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9, + 0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC, + 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03, + 0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C, + 0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72, + // Bytes 3480 - 34bf + 0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5, + 0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC, + 0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03, + 0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7, + 0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74, + 0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9, + 0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC, + 0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03, + // Bytes 34c0 - 34ff + 0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1, + 0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75, + 0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9, + 0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC, + 0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03, + 0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C, + 0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75, + 0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5, + // Bytes 3500 - 353f + 0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC, + 0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03, + 0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83, + 0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77, + 0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9, + 0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC, + 0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03, + 0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3, + // Bytes 3540 - 357f + 0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78, + 0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9, + 0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC, + 0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03, + 0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87, + 0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9, + 0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC, + // Bytes 3580 - 35bf + 0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03, + 0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C, + 0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, + 0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80, + 0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04, + 0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86, + 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84, + 0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04, + // Bytes 35c0 - 35ff + 0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6, + 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81, + 0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04, + 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92, + 0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85, + // Bytes 3600 - 363f + 0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04, + 0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F, + // Bytes 3640 - 367f + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04, + // Bytes 3680 - 36bf + 0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85, + 0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7, + 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82, + // Bytes 36c0 - 36ff + 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81, + 0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94, + 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04, + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85, + 0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86, + 0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04, + 0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92, + // Bytes 3700 - 373f + 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81, + 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3740 - 377f + 0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84, + 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04, + 0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A, + 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04, + 0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, + // Bytes 3780 - 37bf + 0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6, + // Bytes 37c0 - 37ff + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8, + 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04, + 0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83, + 0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86, + 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3800 - 383f + 0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87, + 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88, + 0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04, + 0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4, + 0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, + 0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04, + 0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8, + 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88, + // Bytes 3840 - 387f + 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94, + 0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04, + 0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92, + 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94, + 0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3880 - 38bf + 0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, + 0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA, + 0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, + 0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41, + // Bytes 38c0 - 38ff + 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7, + 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, + // Bytes 3900 - 393f + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7, + 0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83, + // Bytes 3940 - 397f + 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + 0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + 0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + // Bytes 3980 - 39bf + 0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, + 0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, + 0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53, + 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, + 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3, + 0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, + // Bytes 39c0 - 39ff + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + // Bytes 3a00 - 3a3f + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, + 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA, + 0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + // Bytes 3a40 - 3a7f + 0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61, + 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC, + 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, + 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA, + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65, + // Bytes 3a80 - 3abf + 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC, + 0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + // Bytes 3ac0 - 3aff + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83, + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, + 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + // Bytes 3b00 - 3b3f + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + 0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72, + 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC, + 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C, + 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC, + // Bytes 3b40 - 3b7f + 0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, + // Bytes 3b80 - 3bbf + 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05, + 0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE, + 0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, + 0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + 0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, + 0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, + // Bytes 3bc0 - 3bff + 0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c00 - 3c3f + 0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3c40 - 3c7f + 0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + // Bytes 3c80 - 3cbf + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, + // Bytes 3cc0 - 3cff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, + 0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + // Bytes 3d00 - 3d3f + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3d40 - 3d7f + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + // Bytes 3d80 - 3dbf + 0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + // Bytes 3dc0 - 3dff + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + // Bytes 3e00 - 3e3f + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3e40 - 3e7f + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + // Bytes 3e80 - 3ebf + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + // Bytes 3ec0 - 3eff + 0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85, + 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11, + // Bytes 3f00 - 3f3f + 0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f40 - 3f7f + 0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f80 - 3fbf + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D, + // Bytes 3fc0 - 3fff + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4000 - 403f + 0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4040 - 407f + 0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4080 - 40bf + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 40c0 - 40ff + 0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + // Bytes 4100 - 413f + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + // Bytes 4140 - 417f + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, + // Bytes 4180 - 41bf + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + // Bytes 41c0 - 41ff + 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + // Bytes 4200 - 423f + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, + // Bytes 4240 - 427f + 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, + 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, + 0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2, + 0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43, + 0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84, + 0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20, + 0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9, + 0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC, + // Bytes 4280 - 42bf + 0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43, + 0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94, + 0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20, + 0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5, + 0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD, + 0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43, + 0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D, + 0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20, + // Bytes 42c0 - 42ff + 0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D, + 0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9, + 0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43, + 0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82, + 0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D, + 0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE, + 0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9, + // Bytes 4300 - 433f + 0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, + 0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC, + // Bytes 4340 - 437f + 0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9, + 0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7, + 0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7, + // Bytes 4380 - 43bf + 0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7, + 0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41, + // Bytes 43c0 - 43ff + 0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49, + 0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7, + 0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6, + // Bytes 4400 - 443f + 0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31, + 0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8, + 0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, + 0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8, + 0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9, + 0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65, + 0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9, + // Bytes 4440 - 447f + 0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9, + 0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75, + 0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9, + 0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, + 0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC, + // Bytes 4480 - 44bf + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, + // Bytes 44c0 - 44ff + 0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72, + 0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45, + 0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20, + 0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB, + 0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6, + 0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6, + // Bytes 4500 - 453f + 0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9, + 0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85, + 0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, + 0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + 0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49, + // Bytes 4600 - 463f + 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + 0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, + 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, + 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + // Bytes 4640 - 467f + 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE, + 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, + 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, + 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + // Bytes 4680 - 46bf + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, + 0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC, + 0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83, + 0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A, + 0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43, + 0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9, + 0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC, + 0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 46c0 - 46ff + 0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3, + 0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F, + 0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9, + 0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC, + 0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83, + 0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8, + 0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53, + 0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9, + // Bytes 4700 - 473f + 0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC, + 0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83, + 0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B, + 0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61, + 0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9, + 0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC, + 0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83, + 0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82, + // Bytes 4740 - 477f + 0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65, + 0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5, + 0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC, + 0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83, + 0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84, + 0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F, + 0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD, + 0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + // Bytes 4780 - 47bf + 0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83, + 0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C, + 0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75, + 0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9, + 0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC, + 0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC, + // Bytes 47c0 - 47ff + 0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE, + // Bytes 4800 - 483f + 0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE, + 0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9, + 0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE, + 0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9, + // Bytes 4840 - 487f + 0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE, + 0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF, + 0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC, + 0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF, + 0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC, + // Bytes 4880 - 48bf + 0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + // Bytes 48c0 - 48ff + 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + // Bytes 4900 - 493f + 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + // Bytes 4940 - 497f + 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + // Bytes 4980 - 49bf + 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC, + 0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32, + 0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85, + // Bytes 49c0 - 49ff + 0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, + // Bytes 4a00 - 4a3f + 0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, + // Bytes 4a40 - 4a7f + 0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, + 0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, + 0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32, + 0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3, + // Bytes 4a80 - 4abf + 0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00, + 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10586 bytes (10.34 KiB). Checksum: dd926e82067bee11. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 46: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 46 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 48 blocks, 3072 entries, 6144 bytes +// The third block is the zero block. +var nfcValues = [3072]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, + // Block 0x5, offset 0x140 + 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a1, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b, + 0x2c6: 0xa000, 0x2c7: 0x3709, + 0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3733, 0x302: 0x37b7, + 0x310: 0x370f, 0x311: 0x3793, + 0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd, + 0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf, + 0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed, + 0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805, + 0x338: 0x3787, 0x339: 0x380b, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3d3: 0x812d, 0x3d4: 0x8132, 0x3d5: 0x8132, 0x3d6: 0x8132, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x8132, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x8132, 0x3e0: 0x8132, 0x3e1: 0x8132, 0x3e3: 0x812d, + 0x3e4: 0x8132, 0x3e5: 0x8132, 0x3e6: 0x812d, 0x3e7: 0x8132, 0x3e8: 0x8132, 0x3e9: 0x812d, + 0x3ea: 0x8132, 0x3eb: 0x8132, 0x3ec: 0x8132, 0x3ed: 0x812d, 0x3ee: 0x812d, 0x3ef: 0x812d, + 0x3f0: 0x8116, 0x3f1: 0x8117, 0x3f2: 0x8118, 0x3f3: 0x8132, 0x3f4: 0x8132, 0x3f5: 0x8132, + 0x3f6: 0x812d, 0x3f7: 0x8132, 0x3f8: 0x8132, 0x3f9: 0x812d, 0x3fa: 0x812d, 0x3fb: 0x8132, + 0x3fc: 0x8132, 0x3fd: 0x8132, 0x3fe: 0x8132, 0x3ff: 0x8132, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000, + 0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000, + 0x412: 0x2d4e, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d56, + 0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x8132, 0x441: 0x8132, 0x442: 0x812d, 0x443: 0x8132, 0x444: 0x8132, 0x445: 0x8132, + 0x446: 0x8132, 0x447: 0x8132, 0x448: 0x8132, 0x449: 0x8132, 0x44a: 0x812d, 0x44b: 0x8132, + 0x44c: 0x8132, 0x44d: 0x8135, 0x44e: 0x812a, 0x44f: 0x812d, 0x450: 0x8129, 0x451: 0x8132, + 0x452: 0x8132, 0x453: 0x8132, 0x454: 0x8132, 0x455: 0x8132, 0x456: 0x8132, 0x457: 0x8132, + 0x458: 0x8132, 0x459: 0x8132, 0x45a: 0x8132, 0x45b: 0x8132, 0x45c: 0x8132, 0x45d: 0x8132, + 0x45e: 0x8132, 0x45f: 0x8132, 0x460: 0x8132, 0x461: 0x8132, 0x462: 0x8132, 0x463: 0x8132, + 0x464: 0x8132, 0x465: 0x8132, 0x466: 0x8132, 0x467: 0x8132, 0x468: 0x8132, 0x469: 0x8132, + 0x46a: 0x8132, 0x46b: 0x8132, 0x46c: 0x8132, 0x46d: 0x8132, 0x46e: 0x8132, 0x46f: 0x8132, + 0x470: 0x8132, 0x471: 0x8132, 0x472: 0x8132, 0x473: 0x8132, 0x474: 0x8132, 0x475: 0x8132, + 0x476: 0x8133, 0x477: 0x8131, 0x478: 0x8131, 0x479: 0x812d, 0x47b: 0x8132, + 0x47c: 0x8134, 0x47d: 0x812d, 0x47e: 0x8132, 0x47f: 0x812d, + // Block 0x12, offset 0x480 + 0x480: 0x2f97, 0x481: 0x32a3, 0x482: 0x2fa1, 0x483: 0x32ad, 0x484: 0x2fa6, 0x485: 0x32b2, + 0x486: 0x2fab, 0x487: 0x32b7, 0x488: 0x38cc, 0x489: 0x3a5b, 0x48a: 0x2fc4, 0x48b: 0x32d0, + 0x48c: 0x2fce, 0x48d: 0x32da, 0x48e: 0x2fdd, 0x48f: 0x32e9, 0x490: 0x2fd3, 0x491: 0x32df, + 0x492: 0x2fd8, 0x493: 0x32e4, 0x494: 0x38ef, 0x495: 0x3a7e, 0x496: 0x38f6, 0x497: 0x3a85, + 0x498: 0x3019, 0x499: 0x3325, 0x49a: 0x301e, 0x49b: 0x332a, 0x49c: 0x3904, 0x49d: 0x3a93, + 0x49e: 0x3023, 0x49f: 0x332f, 0x4a0: 0x3032, 0x4a1: 0x333e, 0x4a2: 0x3050, 0x4a3: 0x335c, + 0x4a4: 0x305f, 0x4a5: 0x336b, 0x4a6: 0x3055, 0x4a7: 0x3361, 0x4a8: 0x3064, 0x4a9: 0x3370, + 0x4aa: 0x3069, 0x4ab: 0x3375, 0x4ac: 0x30af, 0x4ad: 0x33bb, 0x4ae: 0x390b, 0x4af: 0x3a9a, + 0x4b0: 0x30b9, 0x4b1: 0x33ca, 0x4b2: 0x30c3, 0x4b3: 0x33d4, 0x4b4: 0x30cd, 0x4b5: 0x33de, + 0x4b6: 0x46c4, 0x4b7: 0x4755, 0x4b8: 0x3912, 0x4b9: 0x3aa1, 0x4ba: 0x30e6, 0x4bb: 0x33f7, + 0x4bc: 0x30e1, 0x4bd: 0x33f2, 0x4be: 0x30eb, 0x4bf: 0x33fc, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x30f0, 0x4c1: 0x3401, 0x4c2: 0x30f5, 0x4c3: 0x3406, 0x4c4: 0x3109, 0x4c5: 0x341a, + 0x4c6: 0x3113, 0x4c7: 0x3424, 0x4c8: 0x3122, 0x4c9: 0x3433, 0x4ca: 0x311d, 0x4cb: 0x342e, + 0x4cc: 0x3935, 0x4cd: 0x3ac4, 0x4ce: 0x3943, 0x4cf: 0x3ad2, 0x4d0: 0x394a, 0x4d1: 0x3ad9, + 0x4d2: 0x3951, 0x4d3: 0x3ae0, 0x4d4: 0x314f, 0x4d5: 0x3460, 0x4d6: 0x3154, 0x4d7: 0x3465, + 0x4d8: 0x315e, 0x4d9: 0x346f, 0x4da: 0x46f1, 0x4db: 0x4782, 0x4dc: 0x3997, 0x4dd: 0x3b26, + 0x4de: 0x3177, 0x4df: 0x3488, 0x4e0: 0x3181, 0x4e1: 0x3492, 0x4e2: 0x4700, 0x4e3: 0x4791, + 0x4e4: 0x399e, 0x4e5: 0x3b2d, 0x4e6: 0x39a5, 0x4e7: 0x3b34, 0x4e8: 0x39ac, 0x4e9: 0x3b3b, + 0x4ea: 0x3190, 0x4eb: 0x34a1, 0x4ec: 0x319a, 0x4ed: 0x34b0, 0x4ee: 0x31ae, 0x4ef: 0x34c4, + 0x4f0: 0x31a9, 0x4f1: 0x34bf, 0x4f2: 0x31ea, 0x4f3: 0x3500, 0x4f4: 0x31f9, 0x4f5: 0x350f, + 0x4f6: 0x31f4, 0x4f7: 0x350a, 0x4f8: 0x39b3, 0x4f9: 0x3b42, 0x4fa: 0x39ba, 0x4fb: 0x3b49, + 0x4fc: 0x31fe, 0x4fd: 0x3514, 0x4fe: 0x3203, 0x4ff: 0x3519, + // Block 0x14, offset 0x500 + 0x500: 0x3208, 0x501: 0x351e, 0x502: 0x320d, 0x503: 0x3523, 0x504: 0x321c, 0x505: 0x3532, + 0x506: 0x3217, 0x507: 0x352d, 0x508: 0x3221, 0x509: 0x353c, 0x50a: 0x3226, 0x50b: 0x3541, + 0x50c: 0x322b, 0x50d: 0x3546, 0x50e: 0x3249, 0x50f: 0x3564, 0x510: 0x3262, 0x511: 0x3582, + 0x512: 0x3271, 0x513: 0x3591, 0x514: 0x3276, 0x515: 0x3596, 0x516: 0x337a, 0x517: 0x34a6, + 0x518: 0x3537, 0x519: 0x3573, 0x51b: 0x35d1, + 0x520: 0x46a1, 0x521: 0x4732, 0x522: 0x2f83, 0x523: 0x328f, + 0x524: 0x3878, 0x525: 0x3a07, 0x526: 0x3871, 0x527: 0x3a00, 0x528: 0x3886, 0x529: 0x3a15, + 0x52a: 0x387f, 0x52b: 0x3a0e, 0x52c: 0x38be, 0x52d: 0x3a4d, 0x52e: 0x3894, 0x52f: 0x3a23, + 0x530: 0x388d, 0x531: 0x3a1c, 0x532: 0x38a2, 0x533: 0x3a31, 0x534: 0x389b, 0x535: 0x3a2a, + 0x536: 0x38c5, 0x537: 0x3a54, 0x538: 0x46b5, 0x539: 0x4746, 0x53a: 0x3000, 0x53b: 0x330c, + 0x53c: 0x2fec, 0x53d: 0x32f8, 0x53e: 0x38da, 0x53f: 0x3a69, + // Block 0x15, offset 0x540 + 0x540: 0x38d3, 0x541: 0x3a62, 0x542: 0x38e8, 0x543: 0x3a77, 0x544: 0x38e1, 0x545: 0x3a70, + 0x546: 0x38fd, 0x547: 0x3a8c, 0x548: 0x3091, 0x549: 0x339d, 0x54a: 0x30a5, 0x54b: 0x33b1, + 0x54c: 0x46e7, 0x54d: 0x4778, 0x54e: 0x3136, 0x54f: 0x3447, 0x550: 0x3920, 0x551: 0x3aaf, + 0x552: 0x3919, 0x553: 0x3aa8, 0x554: 0x392e, 0x555: 0x3abd, 0x556: 0x3927, 0x557: 0x3ab6, + 0x558: 0x3989, 0x559: 0x3b18, 0x55a: 0x396d, 0x55b: 0x3afc, 0x55c: 0x3966, 0x55d: 0x3af5, + 0x55e: 0x397b, 0x55f: 0x3b0a, 0x560: 0x3974, 0x561: 0x3b03, 0x562: 0x3982, 0x563: 0x3b11, + 0x564: 0x31e5, 0x565: 0x34fb, 0x566: 0x31c7, 0x567: 0x34dd, 0x568: 0x39e4, 0x569: 0x3b73, + 0x56a: 0x39dd, 0x56b: 0x3b6c, 0x56c: 0x39f2, 0x56d: 0x3b81, 0x56e: 0x39eb, 0x56f: 0x3b7a, + 0x570: 0x39f9, 0x571: 0x3b88, 0x572: 0x3230, 0x573: 0x354b, 0x574: 0x3258, 0x575: 0x3578, + 0x576: 0x3253, 0x577: 0x356e, 0x578: 0x323f, 0x579: 0x355a, + // Block 0x16, offset 0x580 + 0x580: 0x4804, 0x581: 0x480a, 0x582: 0x491e, 0x583: 0x4936, 0x584: 0x4926, 0x585: 0x493e, + 0x586: 0x492e, 0x587: 0x4946, 0x588: 0x47aa, 0x589: 0x47b0, 0x58a: 0x488e, 0x58b: 0x48a6, + 0x58c: 0x4896, 0x58d: 0x48ae, 0x58e: 0x489e, 0x58f: 0x48b6, 0x590: 0x4816, 0x591: 0x481c, + 0x592: 0x3db8, 0x593: 0x3dc8, 0x594: 0x3dc0, 0x595: 0x3dd0, + 0x598: 0x47b6, 0x599: 0x47bc, 0x59a: 0x3ce8, 0x59b: 0x3cf8, 0x59c: 0x3cf0, 0x59d: 0x3d00, + 0x5a0: 0x482e, 0x5a1: 0x4834, 0x5a2: 0x494e, 0x5a3: 0x4966, + 0x5a4: 0x4956, 0x5a5: 0x496e, 0x5a6: 0x495e, 0x5a7: 0x4976, 0x5a8: 0x47c2, 0x5a9: 0x47c8, + 0x5aa: 0x48be, 0x5ab: 0x48d6, 0x5ac: 0x48c6, 0x5ad: 0x48de, 0x5ae: 0x48ce, 0x5af: 0x48e6, + 0x5b0: 0x4846, 0x5b1: 0x484c, 0x5b2: 0x3e18, 0x5b3: 0x3e30, 0x5b4: 0x3e20, 0x5b5: 0x3e38, + 0x5b6: 0x3e28, 0x5b7: 0x3e40, 0x5b8: 0x47ce, 0x5b9: 0x47d4, 0x5ba: 0x3d18, 0x5bb: 0x3d30, + 0x5bc: 0x3d20, 0x5bd: 0x3d38, 0x5be: 0x3d28, 0x5bf: 0x3d40, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x4852, 0x5c1: 0x4858, 0x5c2: 0x3e48, 0x5c3: 0x3e58, 0x5c4: 0x3e50, 0x5c5: 0x3e60, + 0x5c8: 0x47da, 0x5c9: 0x47e0, 0x5ca: 0x3d48, 0x5cb: 0x3d58, + 0x5cc: 0x3d50, 0x5cd: 0x3d60, 0x5d0: 0x4864, 0x5d1: 0x486a, + 0x5d2: 0x3e80, 0x5d3: 0x3e98, 0x5d4: 0x3e88, 0x5d5: 0x3ea0, 0x5d6: 0x3e90, 0x5d7: 0x3ea8, + 0x5d9: 0x47e6, 0x5db: 0x3d68, 0x5dd: 0x3d70, + 0x5df: 0x3d78, 0x5e0: 0x487c, 0x5e1: 0x4882, 0x5e2: 0x497e, 0x5e3: 0x4996, + 0x5e4: 0x4986, 0x5e5: 0x499e, 0x5e6: 0x498e, 0x5e7: 0x49a6, 0x5e8: 0x47ec, 0x5e9: 0x47f2, + 0x5ea: 0x48ee, 0x5eb: 0x4906, 0x5ec: 0x48f6, 0x5ed: 0x490e, 0x5ee: 0x48fe, 0x5ef: 0x4916, + 0x5f0: 0x47f8, 0x5f1: 0x431e, 0x5f2: 0x3691, 0x5f3: 0x4324, 0x5f4: 0x4822, 0x5f5: 0x432a, + 0x5f6: 0x36a3, 0x5f7: 0x4330, 0x5f8: 0x36c1, 0x5f9: 0x4336, 0x5fa: 0x36d9, 0x5fb: 0x433c, + 0x5fc: 0x4870, 0x5fd: 0x4342, + // Block 0x18, offset 0x600 + 0x600: 0x3da0, 0x601: 0x3da8, 0x602: 0x4184, 0x603: 0x41a2, 0x604: 0x418e, 0x605: 0x41ac, + 0x606: 0x4198, 0x607: 0x41b6, 0x608: 0x3cd8, 0x609: 0x3ce0, 0x60a: 0x40d0, 0x60b: 0x40ee, + 0x60c: 0x40da, 0x60d: 0x40f8, 0x60e: 0x40e4, 0x60f: 0x4102, 0x610: 0x3de8, 0x611: 0x3df0, + 0x612: 0x41c0, 0x613: 0x41de, 0x614: 0x41ca, 0x615: 0x41e8, 0x616: 0x41d4, 0x617: 0x41f2, + 0x618: 0x3d08, 0x619: 0x3d10, 0x61a: 0x410c, 0x61b: 0x412a, 0x61c: 0x4116, 0x61d: 0x4134, + 0x61e: 0x4120, 0x61f: 0x413e, 0x620: 0x3ec0, 0x621: 0x3ec8, 0x622: 0x41fc, 0x623: 0x421a, + 0x624: 0x4206, 0x625: 0x4224, 0x626: 0x4210, 0x627: 0x422e, 0x628: 0x3d80, 0x629: 0x3d88, + 0x62a: 0x4148, 0x62b: 0x4166, 0x62c: 0x4152, 0x62d: 0x4170, 0x62e: 0x415c, 0x62f: 0x417a, + 0x630: 0x3685, 0x631: 0x367f, 0x632: 0x3d90, 0x633: 0x368b, 0x634: 0x3d98, + 0x636: 0x4810, 0x637: 0x3db0, 0x638: 0x35f5, 0x639: 0x35ef, 0x63a: 0x35e3, 0x63b: 0x42ee, + 0x63c: 0x35fb, 0x63d: 0x8100, 0x63e: 0x01d3, 0x63f: 0xa100, + // Block 0x19, offset 0x640 + 0x640: 0x8100, 0x641: 0x35a7, 0x642: 0x3dd8, 0x643: 0x369d, 0x644: 0x3de0, + 0x646: 0x483a, 0x647: 0x3df8, 0x648: 0x3601, 0x649: 0x42f4, 0x64a: 0x360d, 0x64b: 0x42fa, + 0x64c: 0x3619, 0x64d: 0x3b8f, 0x64e: 0x3b96, 0x64f: 0x3b9d, 0x650: 0x36b5, 0x651: 0x36af, + 0x652: 0x3e00, 0x653: 0x44e4, 0x656: 0x36bb, 0x657: 0x3e10, + 0x658: 0x3631, 0x659: 0x362b, 0x65a: 0x361f, 0x65b: 0x4300, 0x65d: 0x3ba4, + 0x65e: 0x3bab, 0x65f: 0x3bb2, 0x660: 0x36eb, 0x661: 0x36e5, 0x662: 0x3e68, 0x663: 0x44ec, + 0x664: 0x36cd, 0x665: 0x36d3, 0x666: 0x36f1, 0x667: 0x3e78, 0x668: 0x3661, 0x669: 0x365b, + 0x66a: 0x364f, 0x66b: 0x430c, 0x66c: 0x3649, 0x66d: 0x359b, 0x66e: 0x42e8, 0x66f: 0x0081, + 0x672: 0x3eb0, 0x673: 0x36f7, 0x674: 0x3eb8, + 0x676: 0x4888, 0x677: 0x3ed0, 0x678: 0x363d, 0x679: 0x4306, 0x67a: 0x366d, 0x67b: 0x4318, + 0x67c: 0x3679, 0x67d: 0x4256, 0x67e: 0xa100, + // Block 0x1a, offset 0x680 + 0x681: 0x3c06, 0x683: 0xa000, 0x684: 0x3c0d, 0x685: 0xa000, + 0x687: 0x3c14, 0x688: 0xa000, 0x689: 0x3c1b, + 0x68d: 0xa000, + 0x6a0: 0x2f65, 0x6a1: 0xa000, 0x6a2: 0x3c29, + 0x6a4: 0xa000, 0x6a5: 0xa000, + 0x6ad: 0x3c22, 0x6ae: 0x2f60, 0x6af: 0x2f6a, + 0x6b0: 0x3c30, 0x6b1: 0x3c37, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c3e, 0x6b5: 0x3c45, + 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c4c, 0x6b9: 0x3c53, 0x6ba: 0xa000, 0x6bb: 0xa000, + 0x6bc: 0xa000, 0x6bd: 0xa000, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3c5a, 0x6c1: 0x3c61, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c76, 0x6c5: 0x3c7d, + 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c84, 0x6c9: 0x3c8b, + 0x6d1: 0xa000, + 0x6d2: 0xa000, + 0x6e2: 0xa000, + 0x6e8: 0xa000, 0x6e9: 0xa000, + 0x6eb: 0xa000, 0x6ec: 0x3ca0, 0x6ed: 0x3ca7, 0x6ee: 0x3cae, 0x6ef: 0x3cb5, + 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, + // Block 0x1c, offset 0x700 + 0x706: 0xa000, 0x70b: 0xa000, + 0x70c: 0x3f08, 0x70d: 0xa000, 0x70e: 0x3f10, 0x70f: 0xa000, 0x710: 0x3f18, 0x711: 0xa000, + 0x712: 0x3f20, 0x713: 0xa000, 0x714: 0x3f28, 0x715: 0xa000, 0x716: 0x3f30, 0x717: 0xa000, + 0x718: 0x3f38, 0x719: 0xa000, 0x71a: 0x3f40, 0x71b: 0xa000, 0x71c: 0x3f48, 0x71d: 0xa000, + 0x71e: 0x3f50, 0x71f: 0xa000, 0x720: 0x3f58, 0x721: 0xa000, 0x722: 0x3f60, + 0x724: 0xa000, 0x725: 0x3f68, 0x726: 0xa000, 0x727: 0x3f70, 0x728: 0xa000, 0x729: 0x3f78, + 0x72f: 0xa000, + 0x730: 0x3f80, 0x731: 0x3f88, 0x732: 0xa000, 0x733: 0x3f90, 0x734: 0x3f98, 0x735: 0xa000, + 0x736: 0x3fa0, 0x737: 0x3fa8, 0x738: 0xa000, 0x739: 0x3fb0, 0x73a: 0x3fb8, 0x73b: 0xa000, + 0x73c: 0x3fc0, 0x73d: 0x3fc8, + // Block 0x1d, offset 0x740 + 0x754: 0x3f00, + 0x759: 0x9903, 0x75a: 0x9903, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, + 0x75e: 0x3fd0, + 0x766: 0xa000, + 0x76b: 0xa000, 0x76c: 0x3fe0, 0x76d: 0xa000, 0x76e: 0x3fe8, 0x76f: 0xa000, + 0x770: 0x3ff0, 0x771: 0xa000, 0x772: 0x3ff8, 0x773: 0xa000, 0x774: 0x4000, 0x775: 0xa000, + 0x776: 0x4008, 0x777: 0xa000, 0x778: 0x4010, 0x779: 0xa000, 0x77a: 0x4018, 0x77b: 0xa000, + 0x77c: 0x4020, 0x77d: 0xa000, 0x77e: 0x4028, 0x77f: 0xa000, + // Block 0x1e, offset 0x780 + 0x780: 0x4030, 0x781: 0xa000, 0x782: 0x4038, 0x784: 0xa000, 0x785: 0x4040, + 0x786: 0xa000, 0x787: 0x4048, 0x788: 0xa000, 0x789: 0x4050, + 0x78f: 0xa000, 0x790: 0x4058, 0x791: 0x4060, + 0x792: 0xa000, 0x793: 0x4068, 0x794: 0x4070, 0x795: 0xa000, 0x796: 0x4078, 0x797: 0x4080, + 0x798: 0xa000, 0x799: 0x4088, 0x79a: 0x4090, 0x79b: 0xa000, 0x79c: 0x4098, 0x79d: 0x40a0, + 0x7af: 0xa000, + 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fd8, + 0x7b7: 0x40a8, 0x7b8: 0x40b0, 0x7b9: 0x40b8, 0x7ba: 0x40c0, + 0x7bd: 0xa000, 0x7be: 0x40c8, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x1377, 0x7c1: 0x0cfb, 0x7c2: 0x13d3, 0x7c3: 0x139f, 0x7c4: 0x0e57, 0x7c5: 0x06eb, + 0x7c6: 0x08df, 0x7c7: 0x162b, 0x7c8: 0x162b, 0x7c9: 0x0a0b, 0x7ca: 0x145f, 0x7cb: 0x0943, + 0x7cc: 0x0a07, 0x7cd: 0x0bef, 0x7ce: 0x0fcf, 0x7cf: 0x115f, 0x7d0: 0x1297, 0x7d1: 0x12d3, + 0x7d2: 0x1307, 0x7d3: 0x141b, 0x7d4: 0x0d73, 0x7d5: 0x0dff, 0x7d6: 0x0eab, 0x7d7: 0x0f43, + 0x7d8: 0x125f, 0x7d9: 0x1447, 0x7da: 0x1573, 0x7db: 0x070f, 0x7dc: 0x08b3, 0x7dd: 0x0d87, + 0x7de: 0x0ecf, 0x7df: 0x1293, 0x7e0: 0x15c3, 0x7e1: 0x0ab3, 0x7e2: 0x0e77, 0x7e3: 0x1283, + 0x7e4: 0x1317, 0x7e5: 0x0c23, 0x7e6: 0x11bb, 0x7e7: 0x12df, 0x7e8: 0x0b1f, 0x7e9: 0x0d0f, + 0x7ea: 0x0e17, 0x7eb: 0x0f1b, 0x7ec: 0x1427, 0x7ed: 0x074f, 0x7ee: 0x07e7, 0x7ef: 0x0853, + 0x7f0: 0x0c8b, 0x7f1: 0x0d7f, 0x7f2: 0x0ecb, 0x7f3: 0x0fef, 0x7f4: 0x1177, 0x7f5: 0x128b, + 0x7f6: 0x12a3, 0x7f7: 0x13c7, 0x7f8: 0x14ef, 0x7f9: 0x15a3, 0x7fa: 0x15bf, 0x7fb: 0x102b, + 0x7fc: 0x106b, 0x7fd: 0x1123, 0x7fe: 0x1243, 0x7ff: 0x147b, + // Block 0x20, offset 0x800 + 0x800: 0x15cb, 0x801: 0x134b, 0x802: 0x09c7, 0x803: 0x0b3b, 0x804: 0x10db, 0x805: 0x119b, + 0x806: 0x0eff, 0x807: 0x1033, 0x808: 0x1397, 0x809: 0x14e7, 0x80a: 0x09c3, 0x80b: 0x0a8f, + 0x80c: 0x0d77, 0x80d: 0x0e2b, 0x80e: 0x0e5f, 0x80f: 0x1113, 0x810: 0x113b, 0x811: 0x14a7, + 0x812: 0x084f, 0x813: 0x11a7, 0x814: 0x07f3, 0x815: 0x07ef, 0x816: 0x1097, 0x817: 0x1127, + 0x818: 0x125b, 0x819: 0x14af, 0x81a: 0x1367, 0x81b: 0x0c27, 0x81c: 0x0d73, 0x81d: 0x1357, + 0x81e: 0x06f7, 0x81f: 0x0a63, 0x820: 0x0b93, 0x821: 0x0f2f, 0x822: 0x0faf, 0x823: 0x0873, + 0x824: 0x103b, 0x825: 0x075f, 0x826: 0x0b77, 0x827: 0x06d7, 0x828: 0x0deb, 0x829: 0x0ca3, + 0x82a: 0x110f, 0x82b: 0x08c7, 0x82c: 0x09b3, 0x82d: 0x0ffb, 0x82e: 0x1263, 0x82f: 0x133b, + 0x830: 0x0db7, 0x831: 0x13f7, 0x832: 0x0de3, 0x833: 0x0c37, 0x834: 0x121b, 0x835: 0x0c57, + 0x836: 0x0fab, 0x837: 0x072b, 0x838: 0x07a7, 0x839: 0x07eb, 0x83a: 0x0d53, 0x83b: 0x10fb, + 0x83c: 0x11f3, 0x83d: 0x1347, 0x83e: 0x145b, 0x83f: 0x085b, + // Block 0x21, offset 0x840 + 0x840: 0x090f, 0x841: 0x0a17, 0x842: 0x0b2f, 0x843: 0x0cbf, 0x844: 0x0e7b, 0x845: 0x103f, + 0x846: 0x1497, 0x847: 0x157b, 0x848: 0x15cf, 0x849: 0x15e7, 0x84a: 0x0837, 0x84b: 0x0cf3, + 0x84c: 0x0da3, 0x84d: 0x13eb, 0x84e: 0x0afb, 0x84f: 0x0bd7, 0x850: 0x0bf3, 0x851: 0x0c83, + 0x852: 0x0e6b, 0x853: 0x0eb7, 0x854: 0x0f67, 0x855: 0x108b, 0x856: 0x112f, 0x857: 0x1193, + 0x858: 0x13db, 0x859: 0x126b, 0x85a: 0x1403, 0x85b: 0x147f, 0x85c: 0x080f, 0x85d: 0x083b, + 0x85e: 0x0923, 0x85f: 0x0ea7, 0x860: 0x12f3, 0x861: 0x133b, 0x862: 0x0b1b, 0x863: 0x0b8b, + 0x864: 0x0c4f, 0x865: 0x0daf, 0x866: 0x10d7, 0x867: 0x0f23, 0x868: 0x073b, 0x869: 0x097f, + 0x86a: 0x0a63, 0x86b: 0x0ac7, 0x86c: 0x0b97, 0x86d: 0x0f3f, 0x86e: 0x0f5b, 0x86f: 0x116b, + 0x870: 0x118b, 0x871: 0x1463, 0x872: 0x14e3, 0x873: 0x14f3, 0x874: 0x152f, 0x875: 0x0753, + 0x876: 0x107f, 0x877: 0x144f, 0x878: 0x14cb, 0x879: 0x0baf, 0x87a: 0x0717, 0x87b: 0x0777, + 0x87c: 0x0a67, 0x87d: 0x0a87, 0x87e: 0x0caf, 0x87f: 0x0d73, + // Block 0x22, offset 0x880 + 0x880: 0x0ec3, 0x881: 0x0fcb, 0x882: 0x1277, 0x883: 0x1417, 0x884: 0x1623, 0x885: 0x0ce3, + 0x886: 0x14a3, 0x887: 0x0833, 0x888: 0x0d2f, 0x889: 0x0d3b, 0x88a: 0x0e0f, 0x88b: 0x0e47, + 0x88c: 0x0f4b, 0x88d: 0x0fa7, 0x88e: 0x1027, 0x88f: 0x110b, 0x890: 0x153b, 0x891: 0x07af, + 0x892: 0x0c03, 0x893: 0x14b3, 0x894: 0x0767, 0x895: 0x0aab, 0x896: 0x0e2f, 0x897: 0x13df, + 0x898: 0x0b67, 0x899: 0x0bb7, 0x89a: 0x0d43, 0x89b: 0x0f2f, 0x89c: 0x14bb, 0x89d: 0x0817, + 0x89e: 0x08ff, 0x89f: 0x0a97, 0x8a0: 0x0cd3, 0x8a1: 0x0d1f, 0x8a2: 0x0d5f, 0x8a3: 0x0df3, + 0x8a4: 0x0f47, 0x8a5: 0x0fbb, 0x8a6: 0x1157, 0x8a7: 0x12f7, 0x8a8: 0x1303, 0x8a9: 0x1457, + 0x8aa: 0x14d7, 0x8ab: 0x0883, 0x8ac: 0x0e4b, 0x8ad: 0x0903, 0x8ae: 0x0ec7, 0x8af: 0x0f6b, + 0x8b0: 0x1287, 0x8b1: 0x14bf, 0x8b2: 0x15ab, 0x8b3: 0x15d3, 0x8b4: 0x0d37, 0x8b5: 0x0e27, + 0x8b6: 0x11c3, 0x8b7: 0x10b7, 0x8b8: 0x10c3, 0x8b9: 0x10e7, 0x8ba: 0x0f17, 0x8bb: 0x0e9f, + 0x8bc: 0x1363, 0x8bd: 0x0733, 0x8be: 0x122b, 0x8bf: 0x081b, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x080b, 0x8c1: 0x0b0b, 0x8c2: 0x0c2b, 0x8c3: 0x10f3, 0x8c4: 0x0a53, 0x8c5: 0x0e03, + 0x8c6: 0x0cef, 0x8c7: 0x13e7, 0x8c8: 0x12e7, 0x8c9: 0x14ab, 0x8ca: 0x1323, 0x8cb: 0x0b27, + 0x8cc: 0x0787, 0x8cd: 0x095b, 0x8d0: 0x09af, + 0x8d2: 0x0cdf, 0x8d5: 0x07f7, 0x8d6: 0x0f1f, 0x8d7: 0x0fe3, + 0x8d8: 0x1047, 0x8d9: 0x1063, 0x8da: 0x1067, 0x8db: 0x107b, 0x8dc: 0x14fb, 0x8dd: 0x10eb, + 0x8de: 0x116f, 0x8e0: 0x128f, 0x8e2: 0x1353, + 0x8e5: 0x1407, 0x8e6: 0x1433, + 0x8ea: 0x154f, 0x8eb: 0x1553, 0x8ec: 0x1557, 0x8ed: 0x15bb, 0x8ee: 0x142b, 0x8ef: 0x14c7, + 0x8f0: 0x0757, 0x8f1: 0x077b, 0x8f2: 0x078f, 0x8f3: 0x084b, 0x8f4: 0x0857, 0x8f5: 0x0897, + 0x8f6: 0x094b, 0x8f7: 0x0967, 0x8f8: 0x096f, 0x8f9: 0x09ab, 0x8fa: 0x09b7, 0x8fb: 0x0a93, + 0x8fc: 0x0a9b, 0x8fd: 0x0ba3, 0x8fe: 0x0bcb, 0x8ff: 0x0bd3, + // Block 0x24, offset 0x900 + 0x900: 0x0beb, 0x901: 0x0c97, 0x902: 0x0cc7, 0x903: 0x0ce7, 0x904: 0x0d57, 0x905: 0x0e1b, + 0x906: 0x0e37, 0x907: 0x0e67, 0x908: 0x0ebb, 0x909: 0x0edb, 0x90a: 0x0f4f, 0x90b: 0x102f, + 0x90c: 0x104b, 0x90d: 0x1053, 0x90e: 0x104f, 0x90f: 0x1057, 0x910: 0x105b, 0x911: 0x105f, + 0x912: 0x1073, 0x913: 0x1077, 0x914: 0x109b, 0x915: 0x10af, 0x916: 0x10cb, 0x917: 0x112f, + 0x918: 0x1137, 0x919: 0x113f, 0x91a: 0x1153, 0x91b: 0x117b, 0x91c: 0x11cb, 0x91d: 0x11ff, + 0x91e: 0x11ff, 0x91f: 0x1267, 0x920: 0x130f, 0x921: 0x1327, 0x922: 0x135b, 0x923: 0x135f, + 0x924: 0x13a3, 0x925: 0x13a7, 0x926: 0x13ff, 0x927: 0x1407, 0x928: 0x14db, 0x929: 0x151f, + 0x92a: 0x1537, 0x92b: 0x0b9b, 0x92c: 0x171e, 0x92d: 0x11e3, + 0x930: 0x06df, 0x931: 0x07e3, 0x932: 0x07a3, 0x933: 0x074b, 0x934: 0x078b, 0x935: 0x07b7, + 0x936: 0x0847, 0x937: 0x0863, 0x938: 0x094b, 0x939: 0x0937, 0x93a: 0x0947, 0x93b: 0x0963, + 0x93c: 0x09af, 0x93d: 0x09bf, 0x93e: 0x0a03, 0x93f: 0x0a0f, + // Block 0x25, offset 0x940 + 0x940: 0x0a2b, 0x941: 0x0a3b, 0x942: 0x0b23, 0x943: 0x0b2b, 0x944: 0x0b5b, 0x945: 0x0b7b, + 0x946: 0x0bab, 0x947: 0x0bc3, 0x948: 0x0bb3, 0x949: 0x0bd3, 0x94a: 0x0bc7, 0x94b: 0x0beb, + 0x94c: 0x0c07, 0x94d: 0x0c5f, 0x94e: 0x0c6b, 0x94f: 0x0c73, 0x950: 0x0c9b, 0x951: 0x0cdf, + 0x952: 0x0d0f, 0x953: 0x0d13, 0x954: 0x0d27, 0x955: 0x0da7, 0x956: 0x0db7, 0x957: 0x0e0f, + 0x958: 0x0e5b, 0x959: 0x0e53, 0x95a: 0x0e67, 0x95b: 0x0e83, 0x95c: 0x0ebb, 0x95d: 0x1013, + 0x95e: 0x0edf, 0x95f: 0x0f13, 0x960: 0x0f1f, 0x961: 0x0f5f, 0x962: 0x0f7b, 0x963: 0x0f9f, + 0x964: 0x0fc3, 0x965: 0x0fc7, 0x966: 0x0fe3, 0x967: 0x0fe7, 0x968: 0x0ff7, 0x969: 0x100b, + 0x96a: 0x1007, 0x96b: 0x1037, 0x96c: 0x10b3, 0x96d: 0x10cb, 0x96e: 0x10e3, 0x96f: 0x111b, + 0x970: 0x112f, 0x971: 0x114b, 0x972: 0x117b, 0x973: 0x122f, 0x974: 0x1257, 0x975: 0x12cb, + 0x976: 0x1313, 0x977: 0x131f, 0x978: 0x1327, 0x979: 0x133f, 0x97a: 0x1353, 0x97b: 0x1343, + 0x97c: 0x135b, 0x97d: 0x1357, 0x97e: 0x134f, 0x97f: 0x135f, + // Block 0x26, offset 0x980 + 0x980: 0x136b, 0x981: 0x13a7, 0x982: 0x13e3, 0x983: 0x1413, 0x984: 0x144b, 0x985: 0x146b, + 0x986: 0x14b7, 0x987: 0x14db, 0x988: 0x14fb, 0x989: 0x150f, 0x98a: 0x151f, 0x98b: 0x152b, + 0x98c: 0x1537, 0x98d: 0x158b, 0x98e: 0x162b, 0x98f: 0x16b5, 0x990: 0x16b0, 0x991: 0x16e2, + 0x992: 0x0607, 0x993: 0x062f, 0x994: 0x0633, 0x995: 0x1764, 0x996: 0x1791, 0x997: 0x1809, + 0x998: 0x1617, 0x999: 0x1627, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x06fb, 0x9c1: 0x06f3, 0x9c2: 0x0703, 0x9c3: 0x1647, 0x9c4: 0x0747, 0x9c5: 0x0757, + 0x9c6: 0x075b, 0x9c7: 0x0763, 0x9c8: 0x076b, 0x9c9: 0x076f, 0x9ca: 0x077b, 0x9cb: 0x0773, + 0x9cc: 0x05b3, 0x9cd: 0x165b, 0x9ce: 0x078f, 0x9cf: 0x0793, 0x9d0: 0x0797, 0x9d1: 0x07b3, + 0x9d2: 0x164c, 0x9d3: 0x05b7, 0x9d4: 0x079f, 0x9d5: 0x07bf, 0x9d6: 0x1656, 0x9d7: 0x07cf, + 0x9d8: 0x07d7, 0x9d9: 0x0737, 0x9da: 0x07df, 0x9db: 0x07e3, 0x9dc: 0x1831, 0x9dd: 0x07ff, + 0x9de: 0x0807, 0x9df: 0x05bf, 0x9e0: 0x081f, 0x9e1: 0x0823, 0x9e2: 0x082b, 0x9e3: 0x082f, + 0x9e4: 0x05c3, 0x9e5: 0x0847, 0x9e6: 0x084b, 0x9e7: 0x0857, 0x9e8: 0x0863, 0x9e9: 0x0867, + 0x9ea: 0x086b, 0x9eb: 0x0873, 0x9ec: 0x0893, 0x9ed: 0x0897, 0x9ee: 0x089f, 0x9ef: 0x08af, + 0x9f0: 0x08b7, 0x9f1: 0x08bb, 0x9f2: 0x08bb, 0x9f3: 0x08bb, 0x9f4: 0x166a, 0x9f5: 0x0e93, + 0x9f6: 0x08cf, 0x9f7: 0x08d7, 0x9f8: 0x166f, 0x9f9: 0x08e3, 0x9fa: 0x08eb, 0x9fb: 0x08f3, + 0x9fc: 0x091b, 0x9fd: 0x0907, 0x9fe: 0x0913, 0x9ff: 0x0917, + // Block 0x28, offset 0xa00 + 0xa00: 0x091f, 0xa01: 0x0927, 0xa02: 0x092b, 0xa03: 0x0933, 0xa04: 0x093b, 0xa05: 0x093f, + 0xa06: 0x093f, 0xa07: 0x0947, 0xa08: 0x094f, 0xa09: 0x0953, 0xa0a: 0x095f, 0xa0b: 0x0983, + 0xa0c: 0x0967, 0xa0d: 0x0987, 0xa0e: 0x096b, 0xa0f: 0x0973, 0xa10: 0x080b, 0xa11: 0x09cf, + 0xa12: 0x0997, 0xa13: 0x099b, 0xa14: 0x099f, 0xa15: 0x0993, 0xa16: 0x09a7, 0xa17: 0x09a3, + 0xa18: 0x09bb, 0xa19: 0x1674, 0xa1a: 0x09d7, 0xa1b: 0x09db, 0xa1c: 0x09e3, 0xa1d: 0x09ef, + 0xa1e: 0x09f7, 0xa1f: 0x0a13, 0xa20: 0x1679, 0xa21: 0x167e, 0xa22: 0x0a1f, 0xa23: 0x0a23, + 0xa24: 0x0a27, 0xa25: 0x0a1b, 0xa26: 0x0a2f, 0xa27: 0x05c7, 0xa28: 0x05cb, 0xa29: 0x0a37, + 0xa2a: 0x0a3f, 0xa2b: 0x0a3f, 0xa2c: 0x1683, 0xa2d: 0x0a5b, 0xa2e: 0x0a5f, 0xa2f: 0x0a63, + 0xa30: 0x0a6b, 0xa31: 0x1688, 0xa32: 0x0a73, 0xa33: 0x0a77, 0xa34: 0x0b4f, 0xa35: 0x0a7f, + 0xa36: 0x05cf, 0xa37: 0x0a8b, 0xa38: 0x0a9b, 0xa39: 0x0aa7, 0xa3a: 0x0aa3, 0xa3b: 0x1692, + 0xa3c: 0x0aaf, 0xa3d: 0x1697, 0xa3e: 0x0abb, 0xa3f: 0x0ab7, + // Block 0x29, offset 0xa40 + 0xa40: 0x0abf, 0xa41: 0x0acf, 0xa42: 0x0ad3, 0xa43: 0x05d3, 0xa44: 0x0ae3, 0xa45: 0x0aeb, + 0xa46: 0x0aef, 0xa47: 0x0af3, 0xa48: 0x05d7, 0xa49: 0x169c, 0xa4a: 0x05db, 0xa4b: 0x0b0f, + 0xa4c: 0x0b13, 0xa4d: 0x0b17, 0xa4e: 0x0b1f, 0xa4f: 0x1863, 0xa50: 0x0b37, 0xa51: 0x16a6, + 0xa52: 0x16a6, 0xa53: 0x11d7, 0xa54: 0x0b47, 0xa55: 0x0b47, 0xa56: 0x05df, 0xa57: 0x16c9, + 0xa58: 0x179b, 0xa59: 0x0b57, 0xa5a: 0x0b5f, 0xa5b: 0x05e3, 0xa5c: 0x0b73, 0xa5d: 0x0b83, + 0xa5e: 0x0b87, 0xa5f: 0x0b8f, 0xa60: 0x0b9f, 0xa61: 0x05eb, 0xa62: 0x05e7, 0xa63: 0x0ba3, + 0xa64: 0x16ab, 0xa65: 0x0ba7, 0xa66: 0x0bbb, 0xa67: 0x0bbf, 0xa68: 0x0bc3, 0xa69: 0x0bbf, + 0xa6a: 0x0bcf, 0xa6b: 0x0bd3, 0xa6c: 0x0be3, 0xa6d: 0x0bdb, 0xa6e: 0x0bdf, 0xa6f: 0x0be7, + 0xa70: 0x0beb, 0xa71: 0x0bef, 0xa72: 0x0bfb, 0xa73: 0x0bff, 0xa74: 0x0c17, 0xa75: 0x0c1f, + 0xa76: 0x0c2f, 0xa77: 0x0c43, 0xa78: 0x16ba, 0xa79: 0x0c3f, 0xa7a: 0x0c33, 0xa7b: 0x0c4b, + 0xa7c: 0x0c53, 0xa7d: 0x0c67, 0xa7e: 0x16bf, 0xa7f: 0x0c6f, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0c63, 0xa81: 0x0c5b, 0xa82: 0x05ef, 0xa83: 0x0c77, 0xa84: 0x0c7f, 0xa85: 0x0c87, + 0xa86: 0x0c7b, 0xa87: 0x05f3, 0xa88: 0x0c97, 0xa89: 0x0c9f, 0xa8a: 0x16c4, 0xa8b: 0x0ccb, + 0xa8c: 0x0cff, 0xa8d: 0x0cdb, 0xa8e: 0x05ff, 0xa8f: 0x0ce7, 0xa90: 0x05fb, 0xa91: 0x05f7, + 0xa92: 0x07c3, 0xa93: 0x07c7, 0xa94: 0x0d03, 0xa95: 0x0ceb, 0xa96: 0x11ab, 0xa97: 0x0663, + 0xa98: 0x0d0f, 0xa99: 0x0d13, 0xa9a: 0x0d17, 0xa9b: 0x0d2b, 0xa9c: 0x0d23, 0xa9d: 0x16dd, + 0xa9e: 0x0603, 0xa9f: 0x0d3f, 0xaa0: 0x0d33, 0xaa1: 0x0d4f, 0xaa2: 0x0d57, 0xaa3: 0x16e7, + 0xaa4: 0x0d5b, 0xaa5: 0x0d47, 0xaa6: 0x0d63, 0xaa7: 0x0607, 0xaa8: 0x0d67, 0xaa9: 0x0d6b, + 0xaaa: 0x0d6f, 0xaab: 0x0d7b, 0xaac: 0x16ec, 0xaad: 0x0d83, 0xaae: 0x060b, 0xaaf: 0x0d8f, + 0xab0: 0x16f1, 0xab1: 0x0d93, 0xab2: 0x060f, 0xab3: 0x0d9f, 0xab4: 0x0dab, 0xab5: 0x0db7, + 0xab6: 0x0dbb, 0xab7: 0x16f6, 0xab8: 0x168d, 0xab9: 0x16fb, 0xaba: 0x0ddb, 0xabb: 0x1700, + 0xabc: 0x0de7, 0xabd: 0x0def, 0xabe: 0x0ddf, 0xabf: 0x0dfb, + // Block 0x2b, offset 0xac0 + 0xac0: 0x0e0b, 0xac1: 0x0e1b, 0xac2: 0x0e0f, 0xac3: 0x0e13, 0xac4: 0x0e1f, 0xac5: 0x0e23, + 0xac6: 0x1705, 0xac7: 0x0e07, 0xac8: 0x0e3b, 0xac9: 0x0e3f, 0xaca: 0x0613, 0xacb: 0x0e53, + 0xacc: 0x0e4f, 0xacd: 0x170a, 0xace: 0x0e33, 0xacf: 0x0e6f, 0xad0: 0x170f, 0xad1: 0x1714, + 0xad2: 0x0e73, 0xad3: 0x0e87, 0xad4: 0x0e83, 0xad5: 0x0e7f, 0xad6: 0x0617, 0xad7: 0x0e8b, + 0xad8: 0x0e9b, 0xad9: 0x0e97, 0xada: 0x0ea3, 0xadb: 0x1651, 0xadc: 0x0eb3, 0xadd: 0x1719, + 0xade: 0x0ebf, 0xadf: 0x1723, 0xae0: 0x0ed3, 0xae1: 0x0edf, 0xae2: 0x0ef3, 0xae3: 0x1728, + 0xae4: 0x0f07, 0xae5: 0x0f0b, 0xae6: 0x172d, 0xae7: 0x1732, 0xae8: 0x0f27, 0xae9: 0x0f37, + 0xaea: 0x061b, 0xaeb: 0x0f3b, 0xaec: 0x061f, 0xaed: 0x061f, 0xaee: 0x0f53, 0xaef: 0x0f57, + 0xaf0: 0x0f5f, 0xaf1: 0x0f63, 0xaf2: 0x0f6f, 0xaf3: 0x0623, 0xaf4: 0x0f87, 0xaf5: 0x1737, + 0xaf6: 0x0fa3, 0xaf7: 0x173c, 0xaf8: 0x0faf, 0xaf9: 0x16a1, 0xafa: 0x0fbf, 0xafb: 0x1741, + 0xafc: 0x1746, 0xafd: 0x174b, 0xafe: 0x0627, 0xaff: 0x062b, + // Block 0x2c, offset 0xb00 + 0xb00: 0x0ff7, 0xb01: 0x1755, 0xb02: 0x1750, 0xb03: 0x175a, 0xb04: 0x175f, 0xb05: 0x0fff, + 0xb06: 0x1003, 0xb07: 0x1003, 0xb08: 0x100b, 0xb09: 0x0633, 0xb0a: 0x100f, 0xb0b: 0x0637, + 0xb0c: 0x063b, 0xb0d: 0x1769, 0xb0e: 0x1023, 0xb0f: 0x102b, 0xb10: 0x1037, 0xb11: 0x063f, + 0xb12: 0x176e, 0xb13: 0x105b, 0xb14: 0x1773, 0xb15: 0x1778, 0xb16: 0x107b, 0xb17: 0x1093, + 0xb18: 0x0643, 0xb19: 0x109b, 0xb1a: 0x109f, 0xb1b: 0x10a3, 0xb1c: 0x177d, 0xb1d: 0x1782, + 0xb1e: 0x1782, 0xb1f: 0x10bb, 0xb20: 0x0647, 0xb21: 0x1787, 0xb22: 0x10cf, 0xb23: 0x10d3, + 0xb24: 0x064b, 0xb25: 0x178c, 0xb26: 0x10ef, 0xb27: 0x064f, 0xb28: 0x10ff, 0xb29: 0x10f7, + 0xb2a: 0x1107, 0xb2b: 0x1796, 0xb2c: 0x111f, 0xb2d: 0x0653, 0xb2e: 0x112b, 0xb2f: 0x1133, + 0xb30: 0x1143, 0xb31: 0x0657, 0xb32: 0x17a0, 0xb33: 0x17a5, 0xb34: 0x065b, 0xb35: 0x17aa, + 0xb36: 0x115b, 0xb37: 0x17af, 0xb38: 0x1167, 0xb39: 0x1173, 0xb3a: 0x117b, 0xb3b: 0x17b4, + 0xb3c: 0x17b9, 0xb3d: 0x118f, 0xb3e: 0x17be, 0xb3f: 0x1197, + // Block 0x2d, offset 0xb40 + 0xb40: 0x16ce, 0xb41: 0x065f, 0xb42: 0x11af, 0xb43: 0x11b3, 0xb44: 0x0667, 0xb45: 0x11b7, + 0xb46: 0x0a33, 0xb47: 0x17c3, 0xb48: 0x17c8, 0xb49: 0x16d3, 0xb4a: 0x16d8, 0xb4b: 0x11d7, + 0xb4c: 0x11db, 0xb4d: 0x13f3, 0xb4e: 0x066b, 0xb4f: 0x1207, 0xb50: 0x1203, 0xb51: 0x120b, + 0xb52: 0x083f, 0xb53: 0x120f, 0xb54: 0x1213, 0xb55: 0x1217, 0xb56: 0x121f, 0xb57: 0x17cd, + 0xb58: 0x121b, 0xb59: 0x1223, 0xb5a: 0x1237, 0xb5b: 0x123b, 0xb5c: 0x1227, 0xb5d: 0x123f, + 0xb5e: 0x1253, 0xb5f: 0x1267, 0xb60: 0x1233, 0xb61: 0x1247, 0xb62: 0x124b, 0xb63: 0x124f, + 0xb64: 0x17d2, 0xb65: 0x17dc, 0xb66: 0x17d7, 0xb67: 0x066f, 0xb68: 0x126f, 0xb69: 0x1273, + 0xb6a: 0x127b, 0xb6b: 0x17f0, 0xb6c: 0x127f, 0xb6d: 0x17e1, 0xb6e: 0x0673, 0xb6f: 0x0677, + 0xb70: 0x17e6, 0xb71: 0x17eb, 0xb72: 0x067b, 0xb73: 0x129f, 0xb74: 0x12a3, 0xb75: 0x12a7, + 0xb76: 0x12ab, 0xb77: 0x12b7, 0xb78: 0x12b3, 0xb79: 0x12bf, 0xb7a: 0x12bb, 0xb7b: 0x12cb, + 0xb7c: 0x12c3, 0xb7d: 0x12c7, 0xb7e: 0x12cf, 0xb7f: 0x067f, + // Block 0x2e, offset 0xb80 + 0xb80: 0x12d7, 0xb81: 0x12db, 0xb82: 0x0683, 0xb83: 0x12eb, 0xb84: 0x12ef, 0xb85: 0x17f5, + 0xb86: 0x12fb, 0xb87: 0x12ff, 0xb88: 0x0687, 0xb89: 0x130b, 0xb8a: 0x05bb, 0xb8b: 0x17fa, + 0xb8c: 0x17ff, 0xb8d: 0x068b, 0xb8e: 0x068f, 0xb8f: 0x1337, 0xb90: 0x134f, 0xb91: 0x136b, + 0xb92: 0x137b, 0xb93: 0x1804, 0xb94: 0x138f, 0xb95: 0x1393, 0xb96: 0x13ab, 0xb97: 0x13b7, + 0xb98: 0x180e, 0xb99: 0x1660, 0xb9a: 0x13c3, 0xb9b: 0x13bf, 0xb9c: 0x13cb, 0xb9d: 0x1665, + 0xb9e: 0x13d7, 0xb9f: 0x13e3, 0xba0: 0x1813, 0xba1: 0x1818, 0xba2: 0x1423, 0xba3: 0x142f, + 0xba4: 0x1437, 0xba5: 0x181d, 0xba6: 0x143b, 0xba7: 0x1467, 0xba8: 0x1473, 0xba9: 0x1477, + 0xbaa: 0x146f, 0xbab: 0x1483, 0xbac: 0x1487, 0xbad: 0x1822, 0xbae: 0x1493, 0xbaf: 0x0693, + 0xbb0: 0x149b, 0xbb1: 0x1827, 0xbb2: 0x0697, 0xbb3: 0x14d3, 0xbb4: 0x0ac3, 0xbb5: 0x14eb, + 0xbb6: 0x182c, 0xbb7: 0x1836, 0xbb8: 0x069b, 0xbb9: 0x069f, 0xbba: 0x1513, 0xbbb: 0x183b, + 0xbbc: 0x06a3, 0xbbd: 0x1840, 0xbbe: 0x152b, 0xbbf: 0x152b, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1533, 0xbc1: 0x1845, 0xbc2: 0x154b, 0xbc3: 0x06a7, 0xbc4: 0x155b, 0xbc5: 0x1567, + 0xbc6: 0x156f, 0xbc7: 0x1577, 0xbc8: 0x06ab, 0xbc9: 0x184a, 0xbca: 0x158b, 0xbcb: 0x15a7, + 0xbcc: 0x15b3, 0xbcd: 0x06af, 0xbce: 0x06b3, 0xbcf: 0x15b7, 0xbd0: 0x184f, 0xbd1: 0x06b7, + 0xbd2: 0x1854, 0xbd3: 0x1859, 0xbd4: 0x185e, 0xbd5: 0x15db, 0xbd6: 0x06bb, 0xbd7: 0x15ef, + 0xbd8: 0x15f7, 0xbd9: 0x15fb, 0xbda: 0x1603, 0xbdb: 0x160b, 0xbdc: 0x1613, 0xbdd: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, + 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, + 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, + // Block 0x5, offset 0x140 + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0e, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, + 0x170: 0x67, 0x173: 0x68, 0x177: 0x0f, + 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, + 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + 0x374: 0xa1, + 0x37d: 0xa2, + // Block 0xe, offset 0x380 + 0x381: 0xa3, 0x382: 0xa4, 0x384: 0xa5, 0x385: 0x82, 0x387: 0xa6, + 0x388: 0xa7, 0x38b: 0xa8, 0x38c: 0xa9, 0x38d: 0xaa, + 0x391: 0xab, 0x392: 0xac, 0x393: 0xad, 0x396: 0xae, 0x397: 0xaf, + 0x398: 0x73, 0x39a: 0xb0, 0x39c: 0xb1, + 0x3a0: 0xb2, + 0x3a8: 0xb3, 0x3a9: 0xb4, 0x3aa: 0xb5, + 0x3b0: 0x73, 0x3b5: 0xb6, 0x3b6: 0xb7, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xb8, 0x3ec: 0xb9, + // Block 0x10, offset 0x400 + 0x432: 0xba, + // Block 0x11, offset 0x440 + 0x445: 0xbb, 0x446: 0xbc, 0x447: 0xbd, + 0x449: 0xbe, + // Block 0x12, offset 0x480 + 0x480: 0xbf, + 0x4a3: 0xc0, 0x4a5: 0xc1, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xc2, + // Block 0x14, offset 0x500 + 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, + 0x528: 0x2d, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 149 entries, 298 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xcf, 0xd1, 0xd6, 0xe7, 0xf3, 0xf5, 0xfb, 0xfd, 0xff, 0x101, 0x103, 0x105, 0x107, 0x10a, 0x10d, 0x10f, 0x112, 0x115, 0x119, 0x11e, 0x127, 0x129, 0x12c, 0x12e, 0x139, 0x13d, 0x14b, 0x14e, 0x154, 0x15a, 0x165, 0x169, 0x16b, 0x16d, 0x16f, 0x171, 0x173, 0x179, 0x17d, 0x17f, 0x181, 0x189, 0x18d, 0x190, 0x192, 0x194, 0x196, 0x199, 0x19b, 0x19d, 0x19f, 0x1a1, 0x1a7, 0x1aa, 0x1ac, 0x1b3, 0x1b9, 0x1bf, 0x1c7, 0x1cd, 0x1d3, 0x1d9, 0x1dd, 0x1eb, 0x1f4, 0x1f7, 0x1fa, 0x1fc, 0x1ff, 0x201, 0x205, 0x20a, 0x20c, 0x20e, 0x213, 0x219, 0x21b, 0x21d, 0x21f, 0x225, 0x228, 0x22a, 0x230, 0x233, 0x23b, 0x242, 0x245, 0x248, 0x24a, 0x24d, 0x255, 0x259, 0x260, 0x263, 0x269, 0x26b, 0x26e, 0x270, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x284, 0x291, 0x29b, 0x29d, 0x29f, 0x2a5, 0x2a7, 0x2aa} + +// nfcSparseValues: 684 entries, 2736 bytes +var nfcSparseValues = [684]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4840, lo: 0x8a, hi: 0x8a}, + {value: 0x485e, lo: 0x8b, hi: 0x8b}, + {value: 0x36c7, lo: 0x8c, hi: 0x8c}, + {value: 0x36df, lo: 0x8d, hi: 0x8d}, + {value: 0x4876, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x36fd, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xd, offset 0x63 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x68 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x6a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x72 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x79 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x7c + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x84 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0x88 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0x8c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0x8e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0x90 + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0x99 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0x9d + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xa4 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xa9 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xac + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xc0 + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xc8 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xcb + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xcd + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x23, offset 0xcf + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x24, offset 0xd1 + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xd6 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0xe7 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0xf3 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0xf5 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0xfb + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0xfd + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0xff + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x101 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x103 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x105 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x107 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x10a + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x10f + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x112 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x115 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x119 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x11e + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x127 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x129 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x12c + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x12e + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x139 + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3c, offset 0x13d + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3d, offset 0x14b + {value: 0x427b, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x3e, offset 0x14e + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x3f, offset 0x154 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x40, offset 0x15a + {value: 0x6408, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x41, offset 0x165 + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x42, offset 0x169 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x43, offset 0x16b + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x44, offset 0x16d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x45, offset 0x16f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x46, offset 0x171 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x47, offset 0x173 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x48, offset 0x179 + {value: 0x0000, lo: 0x03}, + {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, + {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, + {value: 0x4a9f, lo: 0xba, hi: 0xbf}, + // Block 0x49, offset 0x17d + {value: 0x0000, lo: 0x01}, + {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, + // Block 0x4a, offset 0x17f + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4b, offset 0x181 + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4c, offset 0x189 + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4d, offset 0x18d + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x4e, offset 0x190 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x4f, offset 0x192 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x50, offset 0x194 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x51, offset 0x196 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x52, offset 0x199 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x53, offset 0x19b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x54, offset 0x19d + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x55, offset 0x19f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x56, offset 0x1a1 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x57, offset 0x1a7 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x58, offset 0x1aa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x59, offset 0x1ac + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5a, offset 0x1b3 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5b, offset 0x1b9 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5c, offset 0x1bf + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5d, offset 0x1c7 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x5e, offset 0x1cd + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x5f, offset 0x1d3 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x60, offset 0x1d9 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x61, offset 0x1dd + {value: 0x0006, lo: 0x0d}, + {value: 0x4390, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4402, lo: 0x9f, hi: 0x9f}, + {value: 0x43f0, lo: 0xaa, hi: 0xab}, + {value: 0x44f4, lo: 0xac, hi: 0xac}, + {value: 0x44fc, lo: 0xad, hi: 0xad}, + {value: 0x4348, lo: 0xae, hi: 0xb1}, + {value: 0x4366, lo: 0xb2, hi: 0xb4}, + {value: 0x437e, lo: 0xb5, hi: 0xb6}, + {value: 0x438a, lo: 0xb8, hi: 0xb8}, + {value: 0x4396, lo: 0xb9, hi: 0xbb}, + {value: 0x43ae, lo: 0xbc, hi: 0xbc}, + {value: 0x43b4, lo: 0xbe, hi: 0xbe}, + // Block 0x62, offset 0x1eb + {value: 0x0006, lo: 0x08}, + {value: 0x43ba, lo: 0x80, hi: 0x81}, + {value: 0x43c6, lo: 0x83, hi: 0x84}, + {value: 0x43d8, lo: 0x86, hi: 0x89}, + {value: 0x43fc, lo: 0x8a, hi: 0x8a}, + {value: 0x4378, lo: 0x8b, hi: 0x8b}, + {value: 0x4360, lo: 0x8c, hi: 0x8c}, + {value: 0x43a8, lo: 0x8d, hi: 0x8d}, + {value: 0x43d2, lo: 0x8e, hi: 0x8e}, + // Block 0x63, offset 0x1f4 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x64, offset 0x1f7 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x65, offset 0x1fa + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x66, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x67, offset 0x1ff + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x68, offset 0x201 + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x69, offset 0x205 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6a, offset 0x20a + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6b, offset 0x20c + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6c, offset 0x20e + {value: 0x0000, lo: 0x04}, + {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, + {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, + {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, + {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, + // Block 0x6d, offset 0x213 + {value: 0x0000, lo: 0x05}, + {value: 0x4a9f, lo: 0x82, hi: 0x87}, + {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, + {value: 0x4a9f, lo: 0x92, hi: 0x97}, + {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x6e, offset 0x219 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6f, offset 0x21b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x70, offset 0x21d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x71, offset 0x21f + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x225 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x73, offset 0x228 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x74, offset 0x22a + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x75, offset 0x230 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x233 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x77, offset 0x23b + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x78, offset 0x242 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x79, offset 0x245 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x7a, offset 0x248 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7b, offset 0x24a + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x7c, offset 0x24d + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7d, offset 0x255 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7e, offset 0x259 + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7f, offset 0x260 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x80, offset 0x263 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x269 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x82, offset 0x26b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x83, offset 0x26e + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x84, offset 0x270 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x85, offset 0x273 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x86, offset 0x275 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x87, offset 0x277 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x88, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x89, offset 0x27c + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x8a, offset 0x27e + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x8b, offset 0x280 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x8c, offset 0x282 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8d, offset 0x284 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8e, offset 0x291 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8f, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x90, offset 0x29d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x91, offset 0x29f + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x92, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x93, offset 0x2a7 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x94, offset 0x2aa + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 17248 bytes (16.84 KiB). Checksum: 4fb368372b6b1b27. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 92: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 92 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 94 blocks, 6016 entries, 12032 bytes +// The third block is the zero block. +var nfkcValues = [6016]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac, + // Block 0x5, offset 0x140 + 0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2dee, 0x185: 0x2df4, + 0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a, + 0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a5, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425a, 0x285: 0x447b, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e, + 0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b, + 0x306: 0xa000, 0x307: 0x3709, + 0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3733, 0x342: 0x37b7, + 0x350: 0x370f, 0x351: 0x3793, + 0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd, + 0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf, + 0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed, + 0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805, + 0x378: 0x3787, 0x379: 0x380b, + // Block 0xe, offset 0x380 + 0x387: 0x1d61, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d84, + 0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a, + // Block 0x10, offset 0x400 + 0x413: 0x812d, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, + 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, + 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x423: 0x812d, + 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x812d, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x812d, + 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x812d, 0x42e: 0x812d, 0x42f: 0x812d, + 0x430: 0x8116, 0x431: 0x8117, 0x432: 0x8118, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, + 0x436: 0x812d, 0x437: 0x8132, 0x438: 0x8132, 0x439: 0x812d, 0x43a: 0x812d, 0x43b: 0x8132, + 0x43c: 0x8132, 0x43d: 0x8132, 0x43e: 0x8132, 0x43f: 0x8132, + // Block 0x11, offset 0x440 + 0x445: 0xa000, + 0x446: 0x2d26, 0x447: 0xa000, 0x448: 0x2d2e, 0x449: 0xa000, 0x44a: 0x2d36, 0x44b: 0xa000, + 0x44c: 0x2d3e, 0x44d: 0xa000, 0x44e: 0x2d46, 0x451: 0xa000, + 0x452: 0x2d4e, + 0x474: 0x8102, 0x475: 0x9900, + 0x47a: 0xa000, 0x47b: 0x2d56, + 0x47c: 0xa000, 0x47d: 0x2d5e, 0x47e: 0xa000, 0x47f: 0xa000, + // Block 0x12, offset 0x480 + 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, + 0x486: 0x0413, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, + 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, + 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x0417, 0x495: 0x041b, 0x496: 0x00a1, 0x497: 0x00a9, + 0x498: 0x00ab, 0x499: 0x0423, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x0427, 0x49d: 0x01be, + 0x49e: 0x01c1, 0x49f: 0x01c4, 0x4a0: 0x01fa, 0x4a1: 0x01fd, 0x4a2: 0x0093, 0x4a3: 0x00a5, + 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01be, 0x4a7: 0x01c1, 0x4a8: 0x01eb, 0x4a9: 0x01fa, + 0x4aa: 0x01fd, + 0x4b8: 0x020c, + // Block 0x13, offset 0x4c0 + 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, + 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, + 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042b, 0x4e8: 0x016a, 0x4e9: 0x0128, + 0x4ea: 0x042f, 0x4eb: 0x016d, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, + 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, + 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x041f, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, + 0x4fc: 0x015e, 0x4fd: 0x0161, 0x4fe: 0x0164, 0x4ff: 0x01d0, + // Block 0x14, offset 0x500 + 0x500: 0x8132, 0x501: 0x8132, 0x502: 0x812d, 0x503: 0x8132, 0x504: 0x8132, 0x505: 0x8132, + 0x506: 0x8132, 0x507: 0x8132, 0x508: 0x8132, 0x509: 0x8132, 0x50a: 0x812d, 0x50b: 0x8132, + 0x50c: 0x8132, 0x50d: 0x8135, 0x50e: 0x812a, 0x50f: 0x812d, 0x510: 0x8129, 0x511: 0x8132, + 0x512: 0x8132, 0x513: 0x8132, 0x514: 0x8132, 0x515: 0x8132, 0x516: 0x8132, 0x517: 0x8132, + 0x518: 0x8132, 0x519: 0x8132, 0x51a: 0x8132, 0x51b: 0x8132, 0x51c: 0x8132, 0x51d: 0x8132, + 0x51e: 0x8132, 0x51f: 0x8132, 0x520: 0x8132, 0x521: 0x8132, 0x522: 0x8132, 0x523: 0x8132, + 0x524: 0x8132, 0x525: 0x8132, 0x526: 0x8132, 0x527: 0x8132, 0x528: 0x8132, 0x529: 0x8132, + 0x52a: 0x8132, 0x52b: 0x8132, 0x52c: 0x8132, 0x52d: 0x8132, 0x52e: 0x8132, 0x52f: 0x8132, + 0x530: 0x8132, 0x531: 0x8132, 0x532: 0x8132, 0x533: 0x8132, 0x534: 0x8132, 0x535: 0x8132, + 0x536: 0x8133, 0x537: 0x8131, 0x538: 0x8131, 0x539: 0x812d, 0x53b: 0x8132, + 0x53c: 0x8134, 0x53d: 0x812d, 0x53e: 0x8132, 0x53f: 0x812d, + // Block 0x15, offset 0x540 + 0x540: 0x2f97, 0x541: 0x32a3, 0x542: 0x2fa1, 0x543: 0x32ad, 0x544: 0x2fa6, 0x545: 0x32b2, + 0x546: 0x2fab, 0x547: 0x32b7, 0x548: 0x38cc, 0x549: 0x3a5b, 0x54a: 0x2fc4, 0x54b: 0x32d0, + 0x54c: 0x2fce, 0x54d: 0x32da, 0x54e: 0x2fdd, 0x54f: 0x32e9, 0x550: 0x2fd3, 0x551: 0x32df, + 0x552: 0x2fd8, 0x553: 0x32e4, 0x554: 0x38ef, 0x555: 0x3a7e, 0x556: 0x38f6, 0x557: 0x3a85, + 0x558: 0x3019, 0x559: 0x3325, 0x55a: 0x301e, 0x55b: 0x332a, 0x55c: 0x3904, 0x55d: 0x3a93, + 0x55e: 0x3023, 0x55f: 0x332f, 0x560: 0x3032, 0x561: 0x333e, 0x562: 0x3050, 0x563: 0x335c, + 0x564: 0x305f, 0x565: 0x336b, 0x566: 0x3055, 0x567: 0x3361, 0x568: 0x3064, 0x569: 0x3370, + 0x56a: 0x3069, 0x56b: 0x3375, 0x56c: 0x30af, 0x56d: 0x33bb, 0x56e: 0x390b, 0x56f: 0x3a9a, + 0x570: 0x30b9, 0x571: 0x33ca, 0x572: 0x30c3, 0x573: 0x33d4, 0x574: 0x30cd, 0x575: 0x33de, + 0x576: 0x46c4, 0x577: 0x4755, 0x578: 0x3912, 0x579: 0x3aa1, 0x57a: 0x30e6, 0x57b: 0x33f7, + 0x57c: 0x30e1, 0x57d: 0x33f2, 0x57e: 0x30eb, 0x57f: 0x33fc, + // Block 0x16, offset 0x580 + 0x580: 0x30f0, 0x581: 0x3401, 0x582: 0x30f5, 0x583: 0x3406, 0x584: 0x3109, 0x585: 0x341a, + 0x586: 0x3113, 0x587: 0x3424, 0x588: 0x3122, 0x589: 0x3433, 0x58a: 0x311d, 0x58b: 0x342e, + 0x58c: 0x3935, 0x58d: 0x3ac4, 0x58e: 0x3943, 0x58f: 0x3ad2, 0x590: 0x394a, 0x591: 0x3ad9, + 0x592: 0x3951, 0x593: 0x3ae0, 0x594: 0x314f, 0x595: 0x3460, 0x596: 0x3154, 0x597: 0x3465, + 0x598: 0x315e, 0x599: 0x346f, 0x59a: 0x46f1, 0x59b: 0x4782, 0x59c: 0x3997, 0x59d: 0x3b26, + 0x59e: 0x3177, 0x59f: 0x3488, 0x5a0: 0x3181, 0x5a1: 0x3492, 0x5a2: 0x4700, 0x5a3: 0x4791, + 0x5a4: 0x399e, 0x5a5: 0x3b2d, 0x5a6: 0x39a5, 0x5a7: 0x3b34, 0x5a8: 0x39ac, 0x5a9: 0x3b3b, + 0x5aa: 0x3190, 0x5ab: 0x34a1, 0x5ac: 0x319a, 0x5ad: 0x34b0, 0x5ae: 0x31ae, 0x5af: 0x34c4, + 0x5b0: 0x31a9, 0x5b1: 0x34bf, 0x5b2: 0x31ea, 0x5b3: 0x3500, 0x5b4: 0x31f9, 0x5b5: 0x350f, + 0x5b6: 0x31f4, 0x5b7: 0x350a, 0x5b8: 0x39b3, 0x5b9: 0x3b42, 0x5ba: 0x39ba, 0x5bb: 0x3b49, + 0x5bc: 0x31fe, 0x5bd: 0x3514, 0x5be: 0x3203, 0x5bf: 0x3519, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x3208, 0x5c1: 0x351e, 0x5c2: 0x320d, 0x5c3: 0x3523, 0x5c4: 0x321c, 0x5c5: 0x3532, + 0x5c6: 0x3217, 0x5c7: 0x352d, 0x5c8: 0x3221, 0x5c9: 0x353c, 0x5ca: 0x3226, 0x5cb: 0x3541, + 0x5cc: 0x322b, 0x5cd: 0x3546, 0x5ce: 0x3249, 0x5cf: 0x3564, 0x5d0: 0x3262, 0x5d1: 0x3582, + 0x5d2: 0x3271, 0x5d3: 0x3591, 0x5d4: 0x3276, 0x5d5: 0x3596, 0x5d6: 0x337a, 0x5d7: 0x34a6, + 0x5d8: 0x3537, 0x5d9: 0x3573, 0x5da: 0x1be0, 0x5db: 0x42d7, + 0x5e0: 0x46a1, 0x5e1: 0x4732, 0x5e2: 0x2f83, 0x5e3: 0x328f, + 0x5e4: 0x3878, 0x5e5: 0x3a07, 0x5e6: 0x3871, 0x5e7: 0x3a00, 0x5e8: 0x3886, 0x5e9: 0x3a15, + 0x5ea: 0x387f, 0x5eb: 0x3a0e, 0x5ec: 0x38be, 0x5ed: 0x3a4d, 0x5ee: 0x3894, 0x5ef: 0x3a23, + 0x5f0: 0x388d, 0x5f1: 0x3a1c, 0x5f2: 0x38a2, 0x5f3: 0x3a31, 0x5f4: 0x389b, 0x5f5: 0x3a2a, + 0x5f6: 0x38c5, 0x5f7: 0x3a54, 0x5f8: 0x46b5, 0x5f9: 0x4746, 0x5fa: 0x3000, 0x5fb: 0x330c, + 0x5fc: 0x2fec, 0x5fd: 0x32f8, 0x5fe: 0x38da, 0x5ff: 0x3a69, + // Block 0x18, offset 0x600 + 0x600: 0x38d3, 0x601: 0x3a62, 0x602: 0x38e8, 0x603: 0x3a77, 0x604: 0x38e1, 0x605: 0x3a70, + 0x606: 0x38fd, 0x607: 0x3a8c, 0x608: 0x3091, 0x609: 0x339d, 0x60a: 0x30a5, 0x60b: 0x33b1, + 0x60c: 0x46e7, 0x60d: 0x4778, 0x60e: 0x3136, 0x60f: 0x3447, 0x610: 0x3920, 0x611: 0x3aaf, + 0x612: 0x3919, 0x613: 0x3aa8, 0x614: 0x392e, 0x615: 0x3abd, 0x616: 0x3927, 0x617: 0x3ab6, + 0x618: 0x3989, 0x619: 0x3b18, 0x61a: 0x396d, 0x61b: 0x3afc, 0x61c: 0x3966, 0x61d: 0x3af5, + 0x61e: 0x397b, 0x61f: 0x3b0a, 0x620: 0x3974, 0x621: 0x3b03, 0x622: 0x3982, 0x623: 0x3b11, + 0x624: 0x31e5, 0x625: 0x34fb, 0x626: 0x31c7, 0x627: 0x34dd, 0x628: 0x39e4, 0x629: 0x3b73, + 0x62a: 0x39dd, 0x62b: 0x3b6c, 0x62c: 0x39f2, 0x62d: 0x3b81, 0x62e: 0x39eb, 0x62f: 0x3b7a, + 0x630: 0x39f9, 0x631: 0x3b88, 0x632: 0x3230, 0x633: 0x354b, 0x634: 0x3258, 0x635: 0x3578, + 0x636: 0x3253, 0x637: 0x356e, 0x638: 0x323f, 0x639: 0x355a, + // Block 0x19, offset 0x640 + 0x640: 0x4804, 0x641: 0x480a, 0x642: 0x491e, 0x643: 0x4936, 0x644: 0x4926, 0x645: 0x493e, + 0x646: 0x492e, 0x647: 0x4946, 0x648: 0x47aa, 0x649: 0x47b0, 0x64a: 0x488e, 0x64b: 0x48a6, + 0x64c: 0x4896, 0x64d: 0x48ae, 0x64e: 0x489e, 0x64f: 0x48b6, 0x650: 0x4816, 0x651: 0x481c, + 0x652: 0x3db8, 0x653: 0x3dc8, 0x654: 0x3dc0, 0x655: 0x3dd0, + 0x658: 0x47b6, 0x659: 0x47bc, 0x65a: 0x3ce8, 0x65b: 0x3cf8, 0x65c: 0x3cf0, 0x65d: 0x3d00, + 0x660: 0x482e, 0x661: 0x4834, 0x662: 0x494e, 0x663: 0x4966, + 0x664: 0x4956, 0x665: 0x496e, 0x666: 0x495e, 0x667: 0x4976, 0x668: 0x47c2, 0x669: 0x47c8, + 0x66a: 0x48be, 0x66b: 0x48d6, 0x66c: 0x48c6, 0x66d: 0x48de, 0x66e: 0x48ce, 0x66f: 0x48e6, + 0x670: 0x4846, 0x671: 0x484c, 0x672: 0x3e18, 0x673: 0x3e30, 0x674: 0x3e20, 0x675: 0x3e38, + 0x676: 0x3e28, 0x677: 0x3e40, 0x678: 0x47ce, 0x679: 0x47d4, 0x67a: 0x3d18, 0x67b: 0x3d30, + 0x67c: 0x3d20, 0x67d: 0x3d38, 0x67e: 0x3d28, 0x67f: 0x3d40, + // Block 0x1a, offset 0x680 + 0x680: 0x4852, 0x681: 0x4858, 0x682: 0x3e48, 0x683: 0x3e58, 0x684: 0x3e50, 0x685: 0x3e60, + 0x688: 0x47da, 0x689: 0x47e0, 0x68a: 0x3d48, 0x68b: 0x3d58, + 0x68c: 0x3d50, 0x68d: 0x3d60, 0x690: 0x4864, 0x691: 0x486a, + 0x692: 0x3e80, 0x693: 0x3e98, 0x694: 0x3e88, 0x695: 0x3ea0, 0x696: 0x3e90, 0x697: 0x3ea8, + 0x699: 0x47e6, 0x69b: 0x3d68, 0x69d: 0x3d70, + 0x69f: 0x3d78, 0x6a0: 0x487c, 0x6a1: 0x4882, 0x6a2: 0x497e, 0x6a3: 0x4996, + 0x6a4: 0x4986, 0x6a5: 0x499e, 0x6a6: 0x498e, 0x6a7: 0x49a6, 0x6a8: 0x47ec, 0x6a9: 0x47f2, + 0x6aa: 0x48ee, 0x6ab: 0x4906, 0x6ac: 0x48f6, 0x6ad: 0x490e, 0x6ae: 0x48fe, 0x6af: 0x4916, + 0x6b0: 0x47f8, 0x6b1: 0x431e, 0x6b2: 0x3691, 0x6b3: 0x4324, 0x6b4: 0x4822, 0x6b5: 0x432a, + 0x6b6: 0x36a3, 0x6b7: 0x4330, 0x6b8: 0x36c1, 0x6b9: 0x4336, 0x6ba: 0x36d9, 0x6bb: 0x433c, + 0x6bc: 0x4870, 0x6bd: 0x4342, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x3da0, 0x6c1: 0x3da8, 0x6c2: 0x4184, 0x6c3: 0x41a2, 0x6c4: 0x418e, 0x6c5: 0x41ac, + 0x6c6: 0x4198, 0x6c7: 0x41b6, 0x6c8: 0x3cd8, 0x6c9: 0x3ce0, 0x6ca: 0x40d0, 0x6cb: 0x40ee, + 0x6cc: 0x40da, 0x6cd: 0x40f8, 0x6ce: 0x40e4, 0x6cf: 0x4102, 0x6d0: 0x3de8, 0x6d1: 0x3df0, + 0x6d2: 0x41c0, 0x6d3: 0x41de, 0x6d4: 0x41ca, 0x6d5: 0x41e8, 0x6d6: 0x41d4, 0x6d7: 0x41f2, + 0x6d8: 0x3d08, 0x6d9: 0x3d10, 0x6da: 0x410c, 0x6db: 0x412a, 0x6dc: 0x4116, 0x6dd: 0x4134, + 0x6de: 0x4120, 0x6df: 0x413e, 0x6e0: 0x3ec0, 0x6e1: 0x3ec8, 0x6e2: 0x41fc, 0x6e3: 0x421a, + 0x6e4: 0x4206, 0x6e5: 0x4224, 0x6e6: 0x4210, 0x6e7: 0x422e, 0x6e8: 0x3d80, 0x6e9: 0x3d88, + 0x6ea: 0x4148, 0x6eb: 0x4166, 0x6ec: 0x4152, 0x6ed: 0x4170, 0x6ee: 0x415c, 0x6ef: 0x417a, + 0x6f0: 0x3685, 0x6f1: 0x367f, 0x6f2: 0x3d90, 0x6f3: 0x368b, 0x6f4: 0x3d98, + 0x6f6: 0x4810, 0x6f7: 0x3db0, 0x6f8: 0x35f5, 0x6f9: 0x35ef, 0x6fa: 0x35e3, 0x6fb: 0x42ee, + 0x6fc: 0x35fb, 0x6fd: 0x4287, 0x6fe: 0x01d3, 0x6ff: 0x4287, + // Block 0x1c, offset 0x700 + 0x700: 0x42a0, 0x701: 0x4482, 0x702: 0x3dd8, 0x703: 0x369d, 0x704: 0x3de0, + 0x706: 0x483a, 0x707: 0x3df8, 0x708: 0x3601, 0x709: 0x42f4, 0x70a: 0x360d, 0x70b: 0x42fa, + 0x70c: 0x3619, 0x70d: 0x4489, 0x70e: 0x4490, 0x70f: 0x4497, 0x710: 0x36b5, 0x711: 0x36af, + 0x712: 0x3e00, 0x713: 0x44e4, 0x716: 0x36bb, 0x717: 0x3e10, + 0x718: 0x3631, 0x719: 0x362b, 0x71a: 0x361f, 0x71b: 0x4300, 0x71d: 0x449e, + 0x71e: 0x44a5, 0x71f: 0x44ac, 0x720: 0x36eb, 0x721: 0x36e5, 0x722: 0x3e68, 0x723: 0x44ec, + 0x724: 0x36cd, 0x725: 0x36d3, 0x726: 0x36f1, 0x727: 0x3e78, 0x728: 0x3661, 0x729: 0x365b, + 0x72a: 0x364f, 0x72b: 0x430c, 0x72c: 0x3649, 0x72d: 0x4474, 0x72e: 0x447b, 0x72f: 0x0081, + 0x732: 0x3eb0, 0x733: 0x36f7, 0x734: 0x3eb8, + 0x736: 0x4888, 0x737: 0x3ed0, 0x738: 0x363d, 0x739: 0x4306, 0x73a: 0x366d, 0x73b: 0x4318, + 0x73c: 0x3679, 0x73d: 0x425a, 0x73e: 0x428c, + // Block 0x1d, offset 0x740 + 0x740: 0x1bd8, 0x741: 0x1bdc, 0x742: 0x0047, 0x743: 0x1c54, 0x745: 0x1be8, + 0x746: 0x1bec, 0x747: 0x00e9, 0x749: 0x1c58, 0x74a: 0x008f, 0x74b: 0x0051, + 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, + 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x198d, + 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, + 0x760: 0x199f, 0x761: 0x1bc8, 0x762: 0x19a8, + 0x764: 0x0075, 0x766: 0x01b8, 0x768: 0x0075, + 0x76a: 0x0057, 0x76b: 0x42d2, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, + 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0215, + 0x776: 0x0218, 0x777: 0x021b, 0x778: 0x021e, 0x779: 0x0093, 0x77b: 0x1b98, + 0x77c: 0x01e8, 0x77d: 0x01c1, 0x77e: 0x0179, 0x77f: 0x01a0, + // Block 0x1e, offset 0x780 + 0x780: 0x0463, 0x785: 0x0049, + 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, + 0x790: 0x222e, 0x791: 0x223a, + 0x792: 0x22ee, 0x793: 0x2216, 0x794: 0x229a, 0x795: 0x2222, 0x796: 0x22a0, 0x797: 0x22b8, + 0x798: 0x22c4, 0x799: 0x2228, 0x79a: 0x22ca, 0x79b: 0x2234, 0x79c: 0x22be, 0x79d: 0x22d0, + 0x79e: 0x22d6, 0x79f: 0x1cbc, 0x7a0: 0x0053, 0x7a1: 0x195a, 0x7a2: 0x1ba4, 0x7a3: 0x1963, + 0x7a4: 0x006d, 0x7a5: 0x19ab, 0x7a6: 0x1bd0, 0x7a7: 0x1d48, 0x7a8: 0x1966, 0x7a9: 0x0071, + 0x7aa: 0x19b7, 0x7ab: 0x1bd4, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, + 0x7b0: 0x0093, 0x7b1: 0x19e4, 0x7b2: 0x1c18, 0x7b3: 0x19ed, 0x7b4: 0x00ad, 0x7b5: 0x1a62, + 0x7b6: 0x1c4c, 0x7b7: 0x1d5c, 0x7b8: 0x19f0, 0x7b9: 0x00b1, 0x7ba: 0x1a65, 0x7bb: 0x1c50, + 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x3c06, 0x7c3: 0xa000, 0x7c4: 0x3c0d, 0x7c5: 0xa000, + 0x7c7: 0x3c14, 0x7c8: 0xa000, 0x7c9: 0x3c1b, + 0x7cd: 0xa000, + 0x7e0: 0x2f65, 0x7e1: 0xa000, 0x7e2: 0x3c29, + 0x7e4: 0xa000, 0x7e5: 0xa000, + 0x7ed: 0x3c22, 0x7ee: 0x2f60, 0x7ef: 0x2f6a, + 0x7f0: 0x3c30, 0x7f1: 0x3c37, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c3e, 0x7f5: 0x3c45, + 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c4c, 0x7f9: 0x3c53, 0x7fa: 0xa000, 0x7fb: 0xa000, + 0x7fc: 0xa000, 0x7fd: 0xa000, + // Block 0x20, offset 0x800 + 0x800: 0x3c5a, 0x801: 0x3c61, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c76, 0x805: 0x3c7d, + 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c84, 0x809: 0x3c8b, + 0x811: 0xa000, + 0x812: 0xa000, + 0x822: 0xa000, + 0x828: 0xa000, 0x829: 0xa000, + 0x82b: 0xa000, 0x82c: 0x3ca0, 0x82d: 0x3ca7, 0x82e: 0x3cae, 0x82f: 0x3cb5, + 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, + // Block 0x21, offset 0x840 + 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, + 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1882, + 0x86a: 0x1885, 0x86b: 0x1888, 0x86c: 0x188b, 0x86d: 0x188e, 0x86e: 0x1891, 0x86f: 0x1894, + 0x870: 0x1897, 0x871: 0x189a, 0x872: 0x189d, 0x873: 0x18a6, 0x874: 0x1a68, 0x875: 0x1a6c, + 0x876: 0x1a70, 0x877: 0x1a74, 0x878: 0x1a78, 0x879: 0x1a7c, 0x87a: 0x1a80, 0x87b: 0x1a84, + 0x87c: 0x1a88, 0x87d: 0x1c80, 0x87e: 0x1c85, 0x87f: 0x1c8a, + // Block 0x22, offset 0x880 + 0x880: 0x1c8f, 0x881: 0x1c94, 0x882: 0x1c99, 0x883: 0x1c9e, 0x884: 0x1ca3, 0x885: 0x1ca8, + 0x886: 0x1cad, 0x887: 0x1cb2, 0x888: 0x187f, 0x889: 0x18a3, 0x88a: 0x18c7, 0x88b: 0x18eb, + 0x88c: 0x190f, 0x88d: 0x1918, 0x88e: 0x191e, 0x88f: 0x1924, 0x890: 0x192a, 0x891: 0x1b60, + 0x892: 0x1b64, 0x893: 0x1b68, 0x894: 0x1b6c, 0x895: 0x1b70, 0x896: 0x1b74, 0x897: 0x1b78, + 0x898: 0x1b7c, 0x899: 0x1b80, 0x89a: 0x1b84, 0x89b: 0x1b88, 0x89c: 0x1af4, 0x89d: 0x1af8, + 0x89e: 0x1afc, 0x89f: 0x1b00, 0x8a0: 0x1b04, 0x8a1: 0x1b08, 0x8a2: 0x1b0c, 0x8a3: 0x1b10, + 0x8a4: 0x1b14, 0x8a5: 0x1b18, 0x8a6: 0x1b1c, 0x8a7: 0x1b20, 0x8a8: 0x1b24, 0x8a9: 0x1b28, + 0x8aa: 0x1b2c, 0x8ab: 0x1b30, 0x8ac: 0x1b34, 0x8ad: 0x1b38, 0x8ae: 0x1b3c, 0x8af: 0x1b40, + 0x8b0: 0x1b44, 0x8b1: 0x1b48, 0x8b2: 0x1b4c, 0x8b3: 0x1b50, 0x8b4: 0x1b54, 0x8b5: 0x1b58, + 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, + 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x06bf, 0x8c1: 0x06e3, 0x8c2: 0x06ef, 0x8c3: 0x06ff, 0x8c4: 0x0707, 0x8c5: 0x0713, + 0x8c6: 0x071b, 0x8c7: 0x0723, 0x8c8: 0x072f, 0x8c9: 0x0783, 0x8ca: 0x079b, 0x8cb: 0x07ab, + 0x8cc: 0x07bb, 0x8cd: 0x07cb, 0x8ce: 0x07db, 0x8cf: 0x07fb, 0x8d0: 0x07ff, 0x8d1: 0x0803, + 0x8d2: 0x0837, 0x8d3: 0x085f, 0x8d4: 0x086f, 0x8d5: 0x0877, 0x8d6: 0x087b, 0x8d7: 0x0887, + 0x8d8: 0x08a3, 0x8d9: 0x08a7, 0x8da: 0x08bf, 0x8db: 0x08c3, 0x8dc: 0x08cb, 0x8dd: 0x08db, + 0x8de: 0x0977, 0x8df: 0x098b, 0x8e0: 0x09cb, 0x8e1: 0x09df, 0x8e2: 0x09e7, 0x8e3: 0x09eb, + 0x8e4: 0x09fb, 0x8e5: 0x0a17, 0x8e6: 0x0a43, 0x8e7: 0x0a4f, 0x8e8: 0x0a6f, 0x8e9: 0x0a7b, + 0x8ea: 0x0a7f, 0x8eb: 0x0a83, 0x8ec: 0x0a9b, 0x8ed: 0x0a9f, 0x8ee: 0x0acb, 0x8ef: 0x0ad7, + 0x8f0: 0x0adf, 0x8f1: 0x0ae7, 0x8f2: 0x0af7, 0x8f3: 0x0aff, 0x8f4: 0x0b07, 0x8f5: 0x0b33, + 0x8f6: 0x0b37, 0x8f7: 0x0b3f, 0x8f8: 0x0b43, 0x8f9: 0x0b4b, 0x8fa: 0x0b53, 0x8fb: 0x0b63, + 0x8fc: 0x0b7f, 0x8fd: 0x0bf7, 0x8fe: 0x0c0b, 0x8ff: 0x0c0f, + // Block 0x24, offset 0x900 + 0x900: 0x0c8f, 0x901: 0x0c93, 0x902: 0x0ca7, 0x903: 0x0cab, 0x904: 0x0cb3, 0x905: 0x0cbb, + 0x906: 0x0cc3, 0x907: 0x0ccf, 0x908: 0x0cf7, 0x909: 0x0d07, 0x90a: 0x0d1b, 0x90b: 0x0d8b, + 0x90c: 0x0d97, 0x90d: 0x0da7, 0x90e: 0x0db3, 0x90f: 0x0dbf, 0x910: 0x0dc7, 0x911: 0x0dcb, + 0x912: 0x0dcf, 0x913: 0x0dd3, 0x914: 0x0dd7, 0x915: 0x0e8f, 0x916: 0x0ed7, 0x917: 0x0ee3, + 0x918: 0x0ee7, 0x919: 0x0eeb, 0x91a: 0x0eef, 0x91b: 0x0ef7, 0x91c: 0x0efb, 0x91d: 0x0f0f, + 0x91e: 0x0f2b, 0x91f: 0x0f33, 0x920: 0x0f73, 0x921: 0x0f77, 0x922: 0x0f7f, 0x923: 0x0f83, + 0x924: 0x0f8b, 0x925: 0x0f8f, 0x926: 0x0fb3, 0x927: 0x0fb7, 0x928: 0x0fd3, 0x929: 0x0fd7, + 0x92a: 0x0fdb, 0x92b: 0x0fdf, 0x92c: 0x0ff3, 0x92d: 0x1017, 0x92e: 0x101b, 0x92f: 0x101f, + 0x930: 0x1043, 0x931: 0x1083, 0x932: 0x1087, 0x933: 0x10a7, 0x934: 0x10b7, 0x935: 0x10bf, + 0x936: 0x10df, 0x937: 0x1103, 0x938: 0x1147, 0x939: 0x114f, 0x93a: 0x1163, 0x93b: 0x116f, + 0x93c: 0x1177, 0x93d: 0x117f, 0x93e: 0x1183, 0x93f: 0x1187, + // Block 0x25, offset 0x940 + 0x940: 0x119f, 0x941: 0x11a3, 0x942: 0x11bf, 0x943: 0x11c7, 0x944: 0x11cf, 0x945: 0x11d3, + 0x946: 0x11df, 0x947: 0x11e7, 0x948: 0x11eb, 0x949: 0x11ef, 0x94a: 0x11f7, 0x94b: 0x11fb, + 0x94c: 0x129b, 0x94d: 0x12af, 0x94e: 0x12e3, 0x94f: 0x12e7, 0x950: 0x12ef, 0x951: 0x131b, + 0x952: 0x1323, 0x953: 0x132b, 0x954: 0x1333, 0x955: 0x136f, 0x956: 0x1373, 0x957: 0x137b, + 0x958: 0x137f, 0x959: 0x1383, 0x95a: 0x13af, 0x95b: 0x13b3, 0x95c: 0x13bb, 0x95d: 0x13cf, + 0x95e: 0x13d3, 0x95f: 0x13ef, 0x960: 0x13f7, 0x961: 0x13fb, 0x962: 0x141f, 0x963: 0x143f, + 0x964: 0x1453, 0x965: 0x1457, 0x966: 0x145f, 0x967: 0x148b, 0x968: 0x148f, 0x969: 0x149f, + 0x96a: 0x14c3, 0x96b: 0x14cf, 0x96c: 0x14df, 0x96d: 0x14f7, 0x96e: 0x14ff, 0x96f: 0x1503, + 0x970: 0x1507, 0x971: 0x150b, 0x972: 0x1517, 0x973: 0x151b, 0x974: 0x1523, 0x975: 0x153f, + 0x976: 0x1543, 0x977: 0x1547, 0x978: 0x155f, 0x979: 0x1563, 0x97a: 0x156b, 0x97b: 0x157f, + 0x97c: 0x1583, 0x97d: 0x1587, 0x97e: 0x158f, 0x97f: 0x1593, + // Block 0x26, offset 0x980 + 0x986: 0xa000, 0x98b: 0xa000, + 0x98c: 0x3f08, 0x98d: 0xa000, 0x98e: 0x3f10, 0x98f: 0xa000, 0x990: 0x3f18, 0x991: 0xa000, + 0x992: 0x3f20, 0x993: 0xa000, 0x994: 0x3f28, 0x995: 0xa000, 0x996: 0x3f30, 0x997: 0xa000, + 0x998: 0x3f38, 0x999: 0xa000, 0x99a: 0x3f40, 0x99b: 0xa000, 0x99c: 0x3f48, 0x99d: 0xa000, + 0x99e: 0x3f50, 0x99f: 0xa000, 0x9a0: 0x3f58, 0x9a1: 0xa000, 0x9a2: 0x3f60, + 0x9a4: 0xa000, 0x9a5: 0x3f68, 0x9a6: 0xa000, 0x9a7: 0x3f70, 0x9a8: 0xa000, 0x9a9: 0x3f78, + 0x9af: 0xa000, + 0x9b0: 0x3f80, 0x9b1: 0x3f88, 0x9b2: 0xa000, 0x9b3: 0x3f90, 0x9b4: 0x3f98, 0x9b5: 0xa000, + 0x9b6: 0x3fa0, 0x9b7: 0x3fa8, 0x9b8: 0xa000, 0x9b9: 0x3fb0, 0x9ba: 0x3fb8, 0x9bb: 0xa000, + 0x9bc: 0x3fc0, 0x9bd: 0x3fc8, + // Block 0x27, offset 0x9c0 + 0x9d4: 0x3f00, + 0x9d9: 0x9903, 0x9da: 0x9903, 0x9db: 0x42dc, 0x9dc: 0x42e2, 0x9dd: 0xa000, + 0x9de: 0x3fd0, 0x9df: 0x26b4, + 0x9e6: 0xa000, + 0x9eb: 0xa000, 0x9ec: 0x3fe0, 0x9ed: 0xa000, 0x9ee: 0x3fe8, 0x9ef: 0xa000, + 0x9f0: 0x3ff0, 0x9f1: 0xa000, 0x9f2: 0x3ff8, 0x9f3: 0xa000, 0x9f4: 0x4000, 0x9f5: 0xa000, + 0x9f6: 0x4008, 0x9f7: 0xa000, 0x9f8: 0x4010, 0x9f9: 0xa000, 0x9fa: 0x4018, 0x9fb: 0xa000, + 0x9fc: 0x4020, 0x9fd: 0xa000, 0x9fe: 0x4028, 0x9ff: 0xa000, + // Block 0x28, offset 0xa00 + 0xa00: 0x4030, 0xa01: 0xa000, 0xa02: 0x4038, 0xa04: 0xa000, 0xa05: 0x4040, + 0xa06: 0xa000, 0xa07: 0x4048, 0xa08: 0xa000, 0xa09: 0x4050, + 0xa0f: 0xa000, 0xa10: 0x4058, 0xa11: 0x4060, + 0xa12: 0xa000, 0xa13: 0x4068, 0xa14: 0x4070, 0xa15: 0xa000, 0xa16: 0x4078, 0xa17: 0x4080, + 0xa18: 0xa000, 0xa19: 0x4088, 0xa1a: 0x4090, 0xa1b: 0xa000, 0xa1c: 0x4098, 0xa1d: 0x40a0, + 0xa2f: 0xa000, + 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fd8, + 0xa37: 0x40a8, 0xa38: 0x40b0, 0xa39: 0x40b8, 0xa3a: 0x40c0, + 0xa3d: 0xa000, 0xa3e: 0x40c8, 0xa3f: 0x26c9, + // Block 0x29, offset 0xa40 + 0xa40: 0x0367, 0xa41: 0x032b, 0xa42: 0x032f, 0xa43: 0x0333, 0xa44: 0x037b, 0xa45: 0x0337, + 0xa46: 0x033b, 0xa47: 0x033f, 0xa48: 0x0343, 0xa49: 0x0347, 0xa4a: 0x034b, 0xa4b: 0x034f, + 0xa4c: 0x0353, 0xa4d: 0x0357, 0xa4e: 0x035b, 0xa4f: 0x49bd, 0xa50: 0x49c3, 0xa51: 0x49c9, + 0xa52: 0x49cf, 0xa53: 0x49d5, 0xa54: 0x49db, 0xa55: 0x49e1, 0xa56: 0x49e7, 0xa57: 0x49ed, + 0xa58: 0x49f3, 0xa59: 0x49f9, 0xa5a: 0x49ff, 0xa5b: 0x4a05, 0xa5c: 0x4a0b, 0xa5d: 0x4a11, + 0xa5e: 0x4a17, 0xa5f: 0x4a1d, 0xa60: 0x4a23, 0xa61: 0x4a29, 0xa62: 0x4a2f, 0xa63: 0x4a35, + 0xa64: 0x03c3, 0xa65: 0x035f, 0xa66: 0x0363, 0xa67: 0x03e7, 0xa68: 0x03eb, 0xa69: 0x03ef, + 0xa6a: 0x03f3, 0xa6b: 0x03f7, 0xa6c: 0x03fb, 0xa6d: 0x03ff, 0xa6e: 0x036b, 0xa6f: 0x0403, + 0xa70: 0x0407, 0xa71: 0x036f, 0xa72: 0x0373, 0xa73: 0x0377, 0xa74: 0x037f, 0xa75: 0x0383, + 0xa76: 0x0387, 0xa77: 0x038b, 0xa78: 0x038f, 0xa79: 0x0393, 0xa7a: 0x0397, 0xa7b: 0x039b, + 0xa7c: 0x039f, 0xa7d: 0x03a3, 0xa7e: 0x03a7, 0xa7f: 0x03ab, + // Block 0x2a, offset 0xa80 + 0xa80: 0x03af, 0xa81: 0x03b3, 0xa82: 0x040b, 0xa83: 0x040f, 0xa84: 0x03b7, 0xa85: 0x03bb, + 0xa86: 0x03bf, 0xa87: 0x03c7, 0xa88: 0x03cb, 0xa89: 0x03cf, 0xa8a: 0x03d3, 0xa8b: 0x03d7, + 0xa8c: 0x03db, 0xa8d: 0x03df, 0xa8e: 0x03e3, + 0xa92: 0x06bf, 0xa93: 0x071b, 0xa94: 0x06cb, 0xa95: 0x097b, 0xa96: 0x06cf, 0xa97: 0x06e7, + 0xa98: 0x06d3, 0xa99: 0x0f93, 0xa9a: 0x0707, 0xa9b: 0x06db, 0xa9c: 0x06c3, 0xa9d: 0x09ff, + 0xa9e: 0x098f, 0xa9f: 0x072f, + // Block 0x2b, offset 0xac0 + 0xac0: 0x2054, 0xac1: 0x205a, 0xac2: 0x2060, 0xac3: 0x2066, 0xac4: 0x206c, 0xac5: 0x2072, + 0xac6: 0x2078, 0xac7: 0x207e, 0xac8: 0x2084, 0xac9: 0x208a, 0xaca: 0x2090, 0xacb: 0x2096, + 0xacc: 0x209c, 0xacd: 0x20a2, 0xace: 0x2726, 0xacf: 0x272f, 0xad0: 0x2738, 0xad1: 0x2741, + 0xad2: 0x274a, 0xad3: 0x2753, 0xad4: 0x275c, 0xad5: 0x2765, 0xad6: 0x276e, 0xad7: 0x2780, + 0xad8: 0x2789, 0xad9: 0x2792, 0xada: 0x279b, 0xadb: 0x27a4, 0xadc: 0x2777, 0xadd: 0x2bac, + 0xade: 0x2aed, 0xae0: 0x20a8, 0xae1: 0x20c0, 0xae2: 0x20b4, 0xae3: 0x2108, + 0xae4: 0x20c6, 0xae5: 0x20e4, 0xae6: 0x20ae, 0xae7: 0x20de, 0xae8: 0x20ba, 0xae9: 0x20f0, + 0xaea: 0x2120, 0xaeb: 0x213e, 0xaec: 0x2138, 0xaed: 0x212c, 0xaee: 0x217a, 0xaef: 0x210e, + 0xaf0: 0x211a, 0xaf1: 0x2132, 0xaf2: 0x2126, 0xaf3: 0x2150, 0xaf4: 0x20fc, 0xaf5: 0x2144, + 0xaf6: 0x216e, 0xaf7: 0x2156, 0xaf8: 0x20ea, 0xaf9: 0x20cc, 0xafa: 0x2102, 0xafb: 0x2114, + 0xafc: 0x214a, 0xafd: 0x20d2, 0xafe: 0x2174, 0xaff: 0x20f6, + // Block 0x2c, offset 0xb00 + 0xb00: 0x215c, 0xb01: 0x20d8, 0xb02: 0x2162, 0xb03: 0x2168, 0xb04: 0x092f, 0xb05: 0x0b03, + 0xb06: 0x0ca7, 0xb07: 0x10c7, + 0xb10: 0x1bc4, 0xb11: 0x18a9, + 0xb12: 0x18ac, 0xb13: 0x18af, 0xb14: 0x18b2, 0xb15: 0x18b5, 0xb16: 0x18b8, 0xb17: 0x18bb, + 0xb18: 0x18be, 0xb19: 0x18c1, 0xb1a: 0x18ca, 0xb1b: 0x18cd, 0xb1c: 0x18d0, 0xb1d: 0x18d3, + 0xb1e: 0x18d6, 0xb1f: 0x18d9, 0xb20: 0x0313, 0xb21: 0x031b, 0xb22: 0x031f, 0xb23: 0x0327, + 0xb24: 0x032b, 0xb25: 0x032f, 0xb26: 0x0337, 0xb27: 0x033f, 0xb28: 0x0343, 0xb29: 0x034b, + 0xb2a: 0x034f, 0xb2b: 0x0353, 0xb2c: 0x0357, 0xb2d: 0x035b, 0xb2e: 0x2e18, 0xb2f: 0x2e20, + 0xb30: 0x2e28, 0xb31: 0x2e30, 0xb32: 0x2e38, 0xb33: 0x2e40, 0xb34: 0x2e48, 0xb35: 0x2e50, + 0xb36: 0x2e60, 0xb37: 0x2e68, 0xb38: 0x2e70, 0xb39: 0x2e78, 0xb3a: 0x2e80, 0xb3b: 0x2e88, + 0xb3c: 0x2ed3, 0xb3d: 0x2e9b, 0xb3e: 0x2e58, + // Block 0x2d, offset 0xb40 + 0xb40: 0x06bf, 0xb41: 0x071b, 0xb42: 0x06cb, 0xb43: 0x097b, 0xb44: 0x071f, 0xb45: 0x07af, + 0xb46: 0x06c7, 0xb47: 0x07ab, 0xb48: 0x070b, 0xb49: 0x0887, 0xb4a: 0x0d07, 0xb4b: 0x0e8f, + 0xb4c: 0x0dd7, 0xb4d: 0x0d1b, 0xb4e: 0x145f, 0xb4f: 0x098b, 0xb50: 0x0ccf, 0xb51: 0x0d4b, + 0xb52: 0x0d0b, 0xb53: 0x104b, 0xb54: 0x08fb, 0xb55: 0x0f03, 0xb56: 0x1387, 0xb57: 0x105f, + 0xb58: 0x0843, 0xb59: 0x108f, 0xb5a: 0x0f9b, 0xb5b: 0x0a17, 0xb5c: 0x140f, 0xb5d: 0x077f, + 0xb5e: 0x08ab, 0xb5f: 0x0df7, 0xb60: 0x1527, 0xb61: 0x0743, 0xb62: 0x07d3, 0xb63: 0x0d9b, + 0xb64: 0x06cf, 0xb65: 0x06e7, 0xb66: 0x06d3, 0xb67: 0x0adb, 0xb68: 0x08ef, 0xb69: 0x087f, + 0xb6a: 0x0a57, 0xb6b: 0x0a4b, 0xb6c: 0x0feb, 0xb6d: 0x073f, 0xb6e: 0x139b, 0xb6f: 0x089b, + 0xb70: 0x09f3, 0xb71: 0x18dc, 0xb72: 0x18df, 0xb73: 0x18e2, 0xb74: 0x18e5, 0xb75: 0x18ee, + 0xb76: 0x18f1, 0xb77: 0x18f4, 0xb78: 0x18f7, 0xb79: 0x18fa, 0xb7a: 0x18fd, 0xb7b: 0x1900, + 0xb7c: 0x1903, 0xb7d: 0x1906, 0xb7e: 0x1909, 0xb7f: 0x1912, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1cc6, 0xb81: 0x1cd5, 0xb82: 0x1ce4, 0xb83: 0x1cf3, 0xb84: 0x1d02, 0xb85: 0x1d11, + 0xb86: 0x1d20, 0xb87: 0x1d2f, 0xb88: 0x1d3e, 0xb89: 0x218c, 0xb8a: 0x219e, 0xb8b: 0x21b0, + 0xb8c: 0x1954, 0xb8d: 0x1c04, 0xb8e: 0x19d2, 0xb8f: 0x1ba8, 0xb90: 0x04cb, 0xb91: 0x04d3, + 0xb92: 0x04db, 0xb93: 0x04e3, 0xb94: 0x04eb, 0xb95: 0x04ef, 0xb96: 0x04f3, 0xb97: 0x04f7, + 0xb98: 0x04fb, 0xb99: 0x04ff, 0xb9a: 0x0503, 0xb9b: 0x0507, 0xb9c: 0x050b, 0xb9d: 0x050f, + 0xb9e: 0x0513, 0xb9f: 0x0517, 0xba0: 0x051b, 0xba1: 0x0523, 0xba2: 0x0527, 0xba3: 0x052b, + 0xba4: 0x052f, 0xba5: 0x0533, 0xba6: 0x0537, 0xba7: 0x053b, 0xba8: 0x053f, 0xba9: 0x0543, + 0xbaa: 0x0547, 0xbab: 0x054b, 0xbac: 0x054f, 0xbad: 0x0553, 0xbae: 0x0557, 0xbaf: 0x055b, + 0xbb0: 0x055f, 0xbb1: 0x0563, 0xbb2: 0x0567, 0xbb3: 0x056f, 0xbb4: 0x0577, 0xbb5: 0x057f, + 0xbb6: 0x0583, 0xbb7: 0x0587, 0xbb8: 0x058b, 0xbb9: 0x058f, 0xbba: 0x0593, 0xbbb: 0x0597, + 0xbbc: 0x059b, 0xbbd: 0x059f, 0xbbe: 0x05a3, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x2b0c, 0xbc1: 0x29a8, 0xbc2: 0x2b1c, 0xbc3: 0x2880, 0xbc4: 0x2ee4, 0xbc5: 0x288a, + 0xbc6: 0x2894, 0xbc7: 0x2f28, 0xbc8: 0x29b5, 0xbc9: 0x289e, 0xbca: 0x28a8, 0xbcb: 0x28b2, + 0xbcc: 0x29dc, 0xbcd: 0x29e9, 0xbce: 0x29c2, 0xbcf: 0x29cf, 0xbd0: 0x2ea9, 0xbd1: 0x29f6, + 0xbd2: 0x2a03, 0xbd3: 0x2bbe, 0xbd4: 0x26bb, 0xbd5: 0x2bd1, 0xbd6: 0x2be4, 0xbd7: 0x2b2c, + 0xbd8: 0x2a10, 0xbd9: 0x2bf7, 0xbda: 0x2c0a, 0xbdb: 0x2a1d, 0xbdc: 0x28bc, 0xbdd: 0x28c6, + 0xbde: 0x2eb7, 0xbdf: 0x2a2a, 0xbe0: 0x2b3c, 0xbe1: 0x2ef5, 0xbe2: 0x28d0, 0xbe3: 0x28da, + 0xbe4: 0x2a37, 0xbe5: 0x28e4, 0xbe6: 0x28ee, 0xbe7: 0x26d0, 0xbe8: 0x26d7, 0xbe9: 0x28f8, + 0xbea: 0x2902, 0xbeb: 0x2c1d, 0xbec: 0x2a44, 0xbed: 0x2b4c, 0xbee: 0x2c30, 0xbef: 0x2a51, + 0xbf0: 0x2916, 0xbf1: 0x290c, 0xbf2: 0x2f3c, 0xbf3: 0x2a5e, 0xbf4: 0x2c43, 0xbf5: 0x2920, + 0xbf6: 0x2b5c, 0xbf7: 0x292a, 0xbf8: 0x2a78, 0xbf9: 0x2934, 0xbfa: 0x2a85, 0xbfb: 0x2f06, + 0xbfc: 0x2a6b, 0xbfd: 0x2b6c, 0xbfe: 0x2a92, 0xbff: 0x26de, + // Block 0x30, offset 0xc00 + 0xc00: 0x2f17, 0xc01: 0x293e, 0xc02: 0x2948, 0xc03: 0x2a9f, 0xc04: 0x2952, 0xc05: 0x295c, + 0xc06: 0x2966, 0xc07: 0x2b7c, 0xc08: 0x2aac, 0xc09: 0x26e5, 0xc0a: 0x2c56, 0xc0b: 0x2e90, + 0xc0c: 0x2b8c, 0xc0d: 0x2ab9, 0xc0e: 0x2ec5, 0xc0f: 0x2970, 0xc10: 0x297a, 0xc11: 0x2ac6, + 0xc12: 0x26ec, 0xc13: 0x2ad3, 0xc14: 0x2b9c, 0xc15: 0x26f3, 0xc16: 0x2c69, 0xc17: 0x2984, + 0xc18: 0x1cb7, 0xc19: 0x1ccb, 0xc1a: 0x1cda, 0xc1b: 0x1ce9, 0xc1c: 0x1cf8, 0xc1d: 0x1d07, + 0xc1e: 0x1d16, 0xc1f: 0x1d25, 0xc20: 0x1d34, 0xc21: 0x1d43, 0xc22: 0x2192, 0xc23: 0x21a4, + 0xc24: 0x21b6, 0xc25: 0x21c2, 0xc26: 0x21ce, 0xc27: 0x21da, 0xc28: 0x21e6, 0xc29: 0x21f2, + 0xc2a: 0x21fe, 0xc2b: 0x220a, 0xc2c: 0x2246, 0xc2d: 0x2252, 0xc2e: 0x225e, 0xc2f: 0x226a, + 0xc30: 0x2276, 0xc31: 0x1c14, 0xc32: 0x19c6, 0xc33: 0x1936, 0xc34: 0x1be4, 0xc35: 0x1a47, + 0xc36: 0x1a56, 0xc37: 0x19cc, 0xc38: 0x1bfc, 0xc39: 0x1c00, 0xc3a: 0x1960, 0xc3b: 0x2701, + 0xc3c: 0x270f, 0xc3d: 0x26fa, 0xc3e: 0x2708, 0xc3f: 0x2ae0, + // Block 0x31, offset 0xc40 + 0xc40: 0x1a4a, 0xc41: 0x1a32, 0xc42: 0x1c60, 0xc43: 0x1a1a, 0xc44: 0x19f3, 0xc45: 0x1969, + 0xc46: 0x1978, 0xc47: 0x1948, 0xc48: 0x1bf0, 0xc49: 0x1d52, 0xc4a: 0x1a4d, 0xc4b: 0x1a35, + 0xc4c: 0x1c64, 0xc4d: 0x1c70, 0xc4e: 0x1a26, 0xc4f: 0x19fc, 0xc50: 0x1957, 0xc51: 0x1c1c, + 0xc52: 0x1bb0, 0xc53: 0x1b9c, 0xc54: 0x1bcc, 0xc55: 0x1c74, 0xc56: 0x1a29, 0xc57: 0x19c9, + 0xc58: 0x19ff, 0xc59: 0x19de, 0xc5a: 0x1a41, 0xc5b: 0x1c78, 0xc5c: 0x1a2c, 0xc5d: 0x19c0, + 0xc5e: 0x1a02, 0xc5f: 0x1c3c, 0xc60: 0x1bf4, 0xc61: 0x1a14, 0xc62: 0x1c24, 0xc63: 0x1c40, + 0xc64: 0x1bf8, 0xc65: 0x1a17, 0xc66: 0x1c28, 0xc67: 0x22e8, 0xc68: 0x22fc, 0xc69: 0x1996, + 0xc6a: 0x1c20, 0xc6b: 0x1bb4, 0xc6c: 0x1ba0, 0xc6d: 0x1c48, 0xc6e: 0x2716, 0xc6f: 0x27ad, + 0xc70: 0x1a59, 0xc71: 0x1a44, 0xc72: 0x1c7c, 0xc73: 0x1a2f, 0xc74: 0x1a50, 0xc75: 0x1a38, + 0xc76: 0x1c68, 0xc77: 0x1a1d, 0xc78: 0x19f6, 0xc79: 0x1981, 0xc7a: 0x1a53, 0xc7b: 0x1a3b, + 0xc7c: 0x1c6c, 0xc7d: 0x1a20, 0xc7e: 0x19f9, 0xc7f: 0x1984, + // Block 0x32, offset 0xc80 + 0xc80: 0x1c2c, 0xc81: 0x1bb8, 0xc82: 0x1d4d, 0xc83: 0x1939, 0xc84: 0x19ba, 0xc85: 0x19bd, + 0xc86: 0x22f5, 0xc87: 0x1b94, 0xc88: 0x19c3, 0xc89: 0x194b, 0xc8a: 0x19e1, 0xc8b: 0x194e, + 0xc8c: 0x19ea, 0xc8d: 0x196c, 0xc8e: 0x196f, 0xc8f: 0x1a05, 0xc90: 0x1a0b, 0xc91: 0x1a0e, + 0xc92: 0x1c30, 0xc93: 0x1a11, 0xc94: 0x1a23, 0xc95: 0x1c38, 0xc96: 0x1c44, 0xc97: 0x1990, + 0xc98: 0x1d57, 0xc99: 0x1bbc, 0xc9a: 0x1993, 0xc9b: 0x1a5c, 0xc9c: 0x19a5, 0xc9d: 0x19b4, + 0xc9e: 0x22e2, 0xc9f: 0x22dc, 0xca0: 0x1cc1, 0xca1: 0x1cd0, 0xca2: 0x1cdf, 0xca3: 0x1cee, + 0xca4: 0x1cfd, 0xca5: 0x1d0c, 0xca6: 0x1d1b, 0xca7: 0x1d2a, 0xca8: 0x1d39, 0xca9: 0x2186, + 0xcaa: 0x2198, 0xcab: 0x21aa, 0xcac: 0x21bc, 0xcad: 0x21c8, 0xcae: 0x21d4, 0xcaf: 0x21e0, + 0xcb0: 0x21ec, 0xcb1: 0x21f8, 0xcb2: 0x2204, 0xcb3: 0x2240, 0xcb4: 0x224c, 0xcb5: 0x2258, + 0xcb6: 0x2264, 0xcb7: 0x2270, 0xcb8: 0x227c, 0xcb9: 0x2282, 0xcba: 0x2288, 0xcbb: 0x228e, + 0xcbc: 0x2294, 0xcbd: 0x22a6, 0xcbe: 0x22ac, 0xcbf: 0x1c10, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x1377, 0xcc1: 0x0cfb, 0xcc2: 0x13d3, 0xcc3: 0x139f, 0xcc4: 0x0e57, 0xcc5: 0x06eb, + 0xcc6: 0x08df, 0xcc7: 0x162b, 0xcc8: 0x162b, 0xcc9: 0x0a0b, 0xcca: 0x145f, 0xccb: 0x0943, + 0xccc: 0x0a07, 0xccd: 0x0bef, 0xcce: 0x0fcf, 0xccf: 0x115f, 0xcd0: 0x1297, 0xcd1: 0x12d3, + 0xcd2: 0x1307, 0xcd3: 0x141b, 0xcd4: 0x0d73, 0xcd5: 0x0dff, 0xcd6: 0x0eab, 0xcd7: 0x0f43, + 0xcd8: 0x125f, 0xcd9: 0x1447, 0xcda: 0x1573, 0xcdb: 0x070f, 0xcdc: 0x08b3, 0xcdd: 0x0d87, + 0xcde: 0x0ecf, 0xcdf: 0x1293, 0xce0: 0x15c3, 0xce1: 0x0ab3, 0xce2: 0x0e77, 0xce3: 0x1283, + 0xce4: 0x1317, 0xce5: 0x0c23, 0xce6: 0x11bb, 0xce7: 0x12df, 0xce8: 0x0b1f, 0xce9: 0x0d0f, + 0xcea: 0x0e17, 0xceb: 0x0f1b, 0xcec: 0x1427, 0xced: 0x074f, 0xcee: 0x07e7, 0xcef: 0x0853, + 0xcf0: 0x0c8b, 0xcf1: 0x0d7f, 0xcf2: 0x0ecb, 0xcf3: 0x0fef, 0xcf4: 0x1177, 0xcf5: 0x128b, + 0xcf6: 0x12a3, 0xcf7: 0x13c7, 0xcf8: 0x14ef, 0xcf9: 0x15a3, 0xcfa: 0x15bf, 0xcfb: 0x102b, + 0xcfc: 0x106b, 0xcfd: 0x1123, 0xcfe: 0x1243, 0xcff: 0x147b, + // Block 0x34, offset 0xd00 + 0xd00: 0x15cb, 0xd01: 0x134b, 0xd02: 0x09c7, 0xd03: 0x0b3b, 0xd04: 0x10db, 0xd05: 0x119b, + 0xd06: 0x0eff, 0xd07: 0x1033, 0xd08: 0x1397, 0xd09: 0x14e7, 0xd0a: 0x09c3, 0xd0b: 0x0a8f, + 0xd0c: 0x0d77, 0xd0d: 0x0e2b, 0xd0e: 0x0e5f, 0xd0f: 0x1113, 0xd10: 0x113b, 0xd11: 0x14a7, + 0xd12: 0x084f, 0xd13: 0x11a7, 0xd14: 0x07f3, 0xd15: 0x07ef, 0xd16: 0x1097, 0xd17: 0x1127, + 0xd18: 0x125b, 0xd19: 0x14af, 0xd1a: 0x1367, 0xd1b: 0x0c27, 0xd1c: 0x0d73, 0xd1d: 0x1357, + 0xd1e: 0x06f7, 0xd1f: 0x0a63, 0xd20: 0x0b93, 0xd21: 0x0f2f, 0xd22: 0x0faf, 0xd23: 0x0873, + 0xd24: 0x103b, 0xd25: 0x075f, 0xd26: 0x0b77, 0xd27: 0x06d7, 0xd28: 0x0deb, 0xd29: 0x0ca3, + 0xd2a: 0x110f, 0xd2b: 0x08c7, 0xd2c: 0x09b3, 0xd2d: 0x0ffb, 0xd2e: 0x1263, 0xd2f: 0x133b, + 0xd30: 0x0db7, 0xd31: 0x13f7, 0xd32: 0x0de3, 0xd33: 0x0c37, 0xd34: 0x121b, 0xd35: 0x0c57, + 0xd36: 0x0fab, 0xd37: 0x072b, 0xd38: 0x07a7, 0xd39: 0x07eb, 0xd3a: 0x0d53, 0xd3b: 0x10fb, + 0xd3c: 0x11f3, 0xd3d: 0x1347, 0xd3e: 0x145b, 0xd3f: 0x085b, + // Block 0x35, offset 0xd40 + 0xd40: 0x090f, 0xd41: 0x0a17, 0xd42: 0x0b2f, 0xd43: 0x0cbf, 0xd44: 0x0e7b, 0xd45: 0x103f, + 0xd46: 0x1497, 0xd47: 0x157b, 0xd48: 0x15cf, 0xd49: 0x15e7, 0xd4a: 0x0837, 0xd4b: 0x0cf3, + 0xd4c: 0x0da3, 0xd4d: 0x13eb, 0xd4e: 0x0afb, 0xd4f: 0x0bd7, 0xd50: 0x0bf3, 0xd51: 0x0c83, + 0xd52: 0x0e6b, 0xd53: 0x0eb7, 0xd54: 0x0f67, 0xd55: 0x108b, 0xd56: 0x112f, 0xd57: 0x1193, + 0xd58: 0x13db, 0xd59: 0x126b, 0xd5a: 0x1403, 0xd5b: 0x147f, 0xd5c: 0x080f, 0xd5d: 0x083b, + 0xd5e: 0x0923, 0xd5f: 0x0ea7, 0xd60: 0x12f3, 0xd61: 0x133b, 0xd62: 0x0b1b, 0xd63: 0x0b8b, + 0xd64: 0x0c4f, 0xd65: 0x0daf, 0xd66: 0x10d7, 0xd67: 0x0f23, 0xd68: 0x073b, 0xd69: 0x097f, + 0xd6a: 0x0a63, 0xd6b: 0x0ac7, 0xd6c: 0x0b97, 0xd6d: 0x0f3f, 0xd6e: 0x0f5b, 0xd6f: 0x116b, + 0xd70: 0x118b, 0xd71: 0x1463, 0xd72: 0x14e3, 0xd73: 0x14f3, 0xd74: 0x152f, 0xd75: 0x0753, + 0xd76: 0x107f, 0xd77: 0x144f, 0xd78: 0x14cb, 0xd79: 0x0baf, 0xd7a: 0x0717, 0xd7b: 0x0777, + 0xd7c: 0x0a67, 0xd7d: 0x0a87, 0xd7e: 0x0caf, 0xd7f: 0x0d73, + // Block 0x36, offset 0xd80 + 0xd80: 0x0ec3, 0xd81: 0x0fcb, 0xd82: 0x1277, 0xd83: 0x1417, 0xd84: 0x1623, 0xd85: 0x0ce3, + 0xd86: 0x14a3, 0xd87: 0x0833, 0xd88: 0x0d2f, 0xd89: 0x0d3b, 0xd8a: 0x0e0f, 0xd8b: 0x0e47, + 0xd8c: 0x0f4b, 0xd8d: 0x0fa7, 0xd8e: 0x1027, 0xd8f: 0x110b, 0xd90: 0x153b, 0xd91: 0x07af, + 0xd92: 0x0c03, 0xd93: 0x14b3, 0xd94: 0x0767, 0xd95: 0x0aab, 0xd96: 0x0e2f, 0xd97: 0x13df, + 0xd98: 0x0b67, 0xd99: 0x0bb7, 0xd9a: 0x0d43, 0xd9b: 0x0f2f, 0xd9c: 0x14bb, 0xd9d: 0x0817, + 0xd9e: 0x08ff, 0xd9f: 0x0a97, 0xda0: 0x0cd3, 0xda1: 0x0d1f, 0xda2: 0x0d5f, 0xda3: 0x0df3, + 0xda4: 0x0f47, 0xda5: 0x0fbb, 0xda6: 0x1157, 0xda7: 0x12f7, 0xda8: 0x1303, 0xda9: 0x1457, + 0xdaa: 0x14d7, 0xdab: 0x0883, 0xdac: 0x0e4b, 0xdad: 0x0903, 0xdae: 0x0ec7, 0xdaf: 0x0f6b, + 0xdb0: 0x1287, 0xdb1: 0x14bf, 0xdb2: 0x15ab, 0xdb3: 0x15d3, 0xdb4: 0x0d37, 0xdb5: 0x0e27, + 0xdb6: 0x11c3, 0xdb7: 0x10b7, 0xdb8: 0x10c3, 0xdb9: 0x10e7, 0xdba: 0x0f17, 0xdbb: 0x0e9f, + 0xdbc: 0x1363, 0xdbd: 0x0733, 0xdbe: 0x122b, 0xdbf: 0x081b, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x080b, 0xdc1: 0x0b0b, 0xdc2: 0x0c2b, 0xdc3: 0x10f3, 0xdc4: 0x0a53, 0xdc5: 0x0e03, + 0xdc6: 0x0cef, 0xdc7: 0x13e7, 0xdc8: 0x12e7, 0xdc9: 0x14ab, 0xdca: 0x1323, 0xdcb: 0x0b27, + 0xdcc: 0x0787, 0xdcd: 0x095b, 0xdd0: 0x09af, + 0xdd2: 0x0cdf, 0xdd5: 0x07f7, 0xdd6: 0x0f1f, 0xdd7: 0x0fe3, + 0xdd8: 0x1047, 0xdd9: 0x1063, 0xdda: 0x1067, 0xddb: 0x107b, 0xddc: 0x14fb, 0xddd: 0x10eb, + 0xdde: 0x116f, 0xde0: 0x128f, 0xde2: 0x1353, + 0xde5: 0x1407, 0xde6: 0x1433, + 0xdea: 0x154f, 0xdeb: 0x1553, 0xdec: 0x1557, 0xded: 0x15bb, 0xdee: 0x142b, 0xdef: 0x14c7, + 0xdf0: 0x0757, 0xdf1: 0x077b, 0xdf2: 0x078f, 0xdf3: 0x084b, 0xdf4: 0x0857, 0xdf5: 0x0897, + 0xdf6: 0x094b, 0xdf7: 0x0967, 0xdf8: 0x096f, 0xdf9: 0x09ab, 0xdfa: 0x09b7, 0xdfb: 0x0a93, + 0xdfc: 0x0a9b, 0xdfd: 0x0ba3, 0xdfe: 0x0bcb, 0xdff: 0x0bd3, + // Block 0x38, offset 0xe00 + 0xe00: 0x0beb, 0xe01: 0x0c97, 0xe02: 0x0cc7, 0xe03: 0x0ce7, 0xe04: 0x0d57, 0xe05: 0x0e1b, + 0xe06: 0x0e37, 0xe07: 0x0e67, 0xe08: 0x0ebb, 0xe09: 0x0edb, 0xe0a: 0x0f4f, 0xe0b: 0x102f, + 0xe0c: 0x104b, 0xe0d: 0x1053, 0xe0e: 0x104f, 0xe0f: 0x1057, 0xe10: 0x105b, 0xe11: 0x105f, + 0xe12: 0x1073, 0xe13: 0x1077, 0xe14: 0x109b, 0xe15: 0x10af, 0xe16: 0x10cb, 0xe17: 0x112f, + 0xe18: 0x1137, 0xe19: 0x113f, 0xe1a: 0x1153, 0xe1b: 0x117b, 0xe1c: 0x11cb, 0xe1d: 0x11ff, + 0xe1e: 0x11ff, 0xe1f: 0x1267, 0xe20: 0x130f, 0xe21: 0x1327, 0xe22: 0x135b, 0xe23: 0x135f, + 0xe24: 0x13a3, 0xe25: 0x13a7, 0xe26: 0x13ff, 0xe27: 0x1407, 0xe28: 0x14db, 0xe29: 0x151f, + 0xe2a: 0x1537, 0xe2b: 0x0b9b, 0xe2c: 0x171e, 0xe2d: 0x11e3, + 0xe30: 0x06df, 0xe31: 0x07e3, 0xe32: 0x07a3, 0xe33: 0x074b, 0xe34: 0x078b, 0xe35: 0x07b7, + 0xe36: 0x0847, 0xe37: 0x0863, 0xe38: 0x094b, 0xe39: 0x0937, 0xe3a: 0x0947, 0xe3b: 0x0963, + 0xe3c: 0x09af, 0xe3d: 0x09bf, 0xe3e: 0x0a03, 0xe3f: 0x0a0f, + // Block 0x39, offset 0xe40 + 0xe40: 0x0a2b, 0xe41: 0x0a3b, 0xe42: 0x0b23, 0xe43: 0x0b2b, 0xe44: 0x0b5b, 0xe45: 0x0b7b, + 0xe46: 0x0bab, 0xe47: 0x0bc3, 0xe48: 0x0bb3, 0xe49: 0x0bd3, 0xe4a: 0x0bc7, 0xe4b: 0x0beb, + 0xe4c: 0x0c07, 0xe4d: 0x0c5f, 0xe4e: 0x0c6b, 0xe4f: 0x0c73, 0xe50: 0x0c9b, 0xe51: 0x0cdf, + 0xe52: 0x0d0f, 0xe53: 0x0d13, 0xe54: 0x0d27, 0xe55: 0x0da7, 0xe56: 0x0db7, 0xe57: 0x0e0f, + 0xe58: 0x0e5b, 0xe59: 0x0e53, 0xe5a: 0x0e67, 0xe5b: 0x0e83, 0xe5c: 0x0ebb, 0xe5d: 0x1013, + 0xe5e: 0x0edf, 0xe5f: 0x0f13, 0xe60: 0x0f1f, 0xe61: 0x0f5f, 0xe62: 0x0f7b, 0xe63: 0x0f9f, + 0xe64: 0x0fc3, 0xe65: 0x0fc7, 0xe66: 0x0fe3, 0xe67: 0x0fe7, 0xe68: 0x0ff7, 0xe69: 0x100b, + 0xe6a: 0x1007, 0xe6b: 0x1037, 0xe6c: 0x10b3, 0xe6d: 0x10cb, 0xe6e: 0x10e3, 0xe6f: 0x111b, + 0xe70: 0x112f, 0xe71: 0x114b, 0xe72: 0x117b, 0xe73: 0x122f, 0xe74: 0x1257, 0xe75: 0x12cb, + 0xe76: 0x1313, 0xe77: 0x131f, 0xe78: 0x1327, 0xe79: 0x133f, 0xe7a: 0x1353, 0xe7b: 0x1343, + 0xe7c: 0x135b, 0xe7d: 0x1357, 0xe7e: 0x134f, 0xe7f: 0x135f, + // Block 0x3a, offset 0xe80 + 0xe80: 0x136b, 0xe81: 0x13a7, 0xe82: 0x13e3, 0xe83: 0x1413, 0xe84: 0x144b, 0xe85: 0x146b, + 0xe86: 0x14b7, 0xe87: 0x14db, 0xe88: 0x14fb, 0xe89: 0x150f, 0xe8a: 0x151f, 0xe8b: 0x152b, + 0xe8c: 0x1537, 0xe8d: 0x158b, 0xe8e: 0x162b, 0xe8f: 0x16b5, 0xe90: 0x16b0, 0xe91: 0x16e2, + 0xe92: 0x0607, 0xe93: 0x062f, 0xe94: 0x0633, 0xe95: 0x1764, 0xe96: 0x1791, 0xe97: 0x1809, + 0xe98: 0x1617, 0xe99: 0x1627, + // Block 0x3b, offset 0xec0 + 0xec0: 0x19d5, 0xec1: 0x19d8, 0xec2: 0x19db, 0xec3: 0x1c08, 0xec4: 0x1c0c, 0xec5: 0x1a5f, + 0xec6: 0x1a5f, + 0xed3: 0x1d75, 0xed4: 0x1d66, 0xed5: 0x1d6b, 0xed6: 0x1d7a, 0xed7: 0x1d70, + 0xedd: 0x4390, + 0xede: 0x8115, 0xedf: 0x4402, 0xee0: 0x022d, 0xee1: 0x0215, 0xee2: 0x021e, 0xee3: 0x0221, + 0xee4: 0x0224, 0xee5: 0x0227, 0xee6: 0x022a, 0xee7: 0x0230, 0xee8: 0x0233, 0xee9: 0x0017, + 0xeea: 0x43f0, 0xeeb: 0x43f6, 0xeec: 0x44f4, 0xeed: 0x44fc, 0xeee: 0x4348, 0xeef: 0x434e, + 0xef0: 0x4354, 0xef1: 0x435a, 0xef2: 0x4366, 0xef3: 0x436c, 0xef4: 0x4372, 0xef5: 0x437e, + 0xef6: 0x4384, 0xef8: 0x438a, 0xef9: 0x4396, 0xefa: 0x439c, 0xefb: 0x43a2, + 0xefc: 0x43ae, 0xefe: 0x43b4, + // Block 0x3c, offset 0xf00 + 0xf00: 0x43ba, 0xf01: 0x43c0, 0xf03: 0x43c6, 0xf04: 0x43cc, + 0xf06: 0x43d8, 0xf07: 0x43de, 0xf08: 0x43e4, 0xf09: 0x43ea, 0xf0a: 0x43fc, 0xf0b: 0x4378, + 0xf0c: 0x4360, 0xf0d: 0x43a8, 0xf0e: 0x43d2, 0xf0f: 0x1d7f, 0xf10: 0x0299, 0xf11: 0x0299, + 0xf12: 0x02a2, 0xf13: 0x02a2, 0xf14: 0x02a2, 0xf15: 0x02a2, 0xf16: 0x02a5, 0xf17: 0x02a5, + 0xf18: 0x02a5, 0xf19: 0x02a5, 0xf1a: 0x02ab, 0xf1b: 0x02ab, 0xf1c: 0x02ab, 0xf1d: 0x02ab, + 0xf1e: 0x029f, 0xf1f: 0x029f, 0xf20: 0x029f, 0xf21: 0x029f, 0xf22: 0x02a8, 0xf23: 0x02a8, + 0xf24: 0x02a8, 0xf25: 0x02a8, 0xf26: 0x029c, 0xf27: 0x029c, 0xf28: 0x029c, 0xf29: 0x029c, + 0xf2a: 0x02cf, 0xf2b: 0x02cf, 0xf2c: 0x02cf, 0xf2d: 0x02cf, 0xf2e: 0x02d2, 0xf2f: 0x02d2, + 0xf30: 0x02d2, 0xf31: 0x02d2, 0xf32: 0x02b1, 0xf33: 0x02b1, 0xf34: 0x02b1, 0xf35: 0x02b1, + 0xf36: 0x02ae, 0xf37: 0x02ae, 0xf38: 0x02ae, 0xf39: 0x02ae, 0xf3a: 0x02b4, 0xf3b: 0x02b4, + 0xf3c: 0x02b4, 0xf3d: 0x02b4, 0xf3e: 0x02b7, 0xf3f: 0x02b7, + // Block 0x3d, offset 0xf40 + 0xf40: 0x02b7, 0xf41: 0x02b7, 0xf42: 0x02c0, 0xf43: 0x02c0, 0xf44: 0x02bd, 0xf45: 0x02bd, + 0xf46: 0x02c3, 0xf47: 0x02c3, 0xf48: 0x02ba, 0xf49: 0x02ba, 0xf4a: 0x02c9, 0xf4b: 0x02c9, + 0xf4c: 0x02c6, 0xf4d: 0x02c6, 0xf4e: 0x02d5, 0xf4f: 0x02d5, 0xf50: 0x02d5, 0xf51: 0x02d5, + 0xf52: 0x02db, 0xf53: 0x02db, 0xf54: 0x02db, 0xf55: 0x02db, 0xf56: 0x02e1, 0xf57: 0x02e1, + 0xf58: 0x02e1, 0xf59: 0x02e1, 0xf5a: 0x02de, 0xf5b: 0x02de, 0xf5c: 0x02de, 0xf5d: 0x02de, + 0xf5e: 0x02e4, 0xf5f: 0x02e4, 0xf60: 0x02e7, 0xf61: 0x02e7, 0xf62: 0x02e7, 0xf63: 0x02e7, + 0xf64: 0x446e, 0xf65: 0x446e, 0xf66: 0x02ed, 0xf67: 0x02ed, 0xf68: 0x02ed, 0xf69: 0x02ed, + 0xf6a: 0x02ea, 0xf6b: 0x02ea, 0xf6c: 0x02ea, 0xf6d: 0x02ea, 0xf6e: 0x0308, 0xf6f: 0x0308, + 0xf70: 0x4468, 0xf71: 0x4468, + // Block 0x3e, offset 0xf80 + 0xf93: 0x02d8, 0xf94: 0x02d8, 0xf95: 0x02d8, 0xf96: 0x02d8, 0xf97: 0x02f6, + 0xf98: 0x02f6, 0xf99: 0x02f3, 0xf9a: 0x02f3, 0xf9b: 0x02f9, 0xf9c: 0x02f9, 0xf9d: 0x204f, + 0xf9e: 0x02ff, 0xf9f: 0x02ff, 0xfa0: 0x02f0, 0xfa1: 0x02f0, 0xfa2: 0x02fc, 0xfa3: 0x02fc, + 0xfa4: 0x0305, 0xfa5: 0x0305, 0xfa6: 0x0305, 0xfa7: 0x0305, 0xfa8: 0x028d, 0xfa9: 0x028d, + 0xfaa: 0x25aa, 0xfab: 0x25aa, 0xfac: 0x261a, 0xfad: 0x261a, 0xfae: 0x25e9, 0xfaf: 0x25e9, + 0xfb0: 0x2605, 0xfb1: 0x2605, 0xfb2: 0x25fe, 0xfb3: 0x25fe, 0xfb4: 0x260c, 0xfb5: 0x260c, + 0xfb6: 0x2613, 0xfb7: 0x2613, 0xfb8: 0x2613, 0xfb9: 0x25f0, 0xfba: 0x25f0, 0xfbb: 0x25f0, + 0xfbc: 0x0302, 0xfbd: 0x0302, 0xfbe: 0x0302, 0xfbf: 0x0302, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x25b1, 0xfc1: 0x25b8, 0xfc2: 0x25d4, 0xfc3: 0x25f0, 0xfc4: 0x25f7, 0xfc5: 0x1d89, + 0xfc6: 0x1d8e, 0xfc7: 0x1d93, 0xfc8: 0x1da2, 0xfc9: 0x1db1, 0xfca: 0x1db6, 0xfcb: 0x1dbb, + 0xfcc: 0x1dc0, 0xfcd: 0x1dc5, 0xfce: 0x1dd4, 0xfcf: 0x1de3, 0xfd0: 0x1de8, 0xfd1: 0x1ded, + 0xfd2: 0x1dfc, 0xfd3: 0x1e0b, 0xfd4: 0x1e10, 0xfd5: 0x1e15, 0xfd6: 0x1e1a, 0xfd7: 0x1e29, + 0xfd8: 0x1e2e, 0xfd9: 0x1e3d, 0xfda: 0x1e42, 0xfdb: 0x1e47, 0xfdc: 0x1e56, 0xfdd: 0x1e5b, + 0xfde: 0x1e60, 0xfdf: 0x1e6a, 0xfe0: 0x1ea6, 0xfe1: 0x1eb5, 0xfe2: 0x1ec4, 0xfe3: 0x1ec9, + 0xfe4: 0x1ece, 0xfe5: 0x1ed8, 0xfe6: 0x1ee7, 0xfe7: 0x1eec, 0xfe8: 0x1efb, 0xfe9: 0x1f00, + 0xfea: 0x1f05, 0xfeb: 0x1f14, 0xfec: 0x1f19, 0xfed: 0x1f28, 0xfee: 0x1f2d, 0xfef: 0x1f32, + 0xff0: 0x1f37, 0xff1: 0x1f3c, 0xff2: 0x1f41, 0xff3: 0x1f46, 0xff4: 0x1f4b, 0xff5: 0x1f50, + 0xff6: 0x1f55, 0xff7: 0x1f5a, 0xff8: 0x1f5f, 0xff9: 0x1f64, 0xffa: 0x1f69, 0xffb: 0x1f6e, + 0xffc: 0x1f73, 0xffd: 0x1f78, 0xffe: 0x1f7d, 0xfff: 0x1f87, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f8c, 0x1001: 0x1f91, 0x1002: 0x1f96, 0x1003: 0x1fa0, 0x1004: 0x1fa5, 0x1005: 0x1faf, + 0x1006: 0x1fb4, 0x1007: 0x1fb9, 0x1008: 0x1fbe, 0x1009: 0x1fc3, 0x100a: 0x1fc8, 0x100b: 0x1fcd, + 0x100c: 0x1fd2, 0x100d: 0x1fd7, 0x100e: 0x1fe6, 0x100f: 0x1ff5, 0x1010: 0x1ffa, 0x1011: 0x1fff, + 0x1012: 0x2004, 0x1013: 0x2009, 0x1014: 0x200e, 0x1015: 0x2018, 0x1016: 0x201d, 0x1017: 0x2022, + 0x1018: 0x2031, 0x1019: 0x2040, 0x101a: 0x2045, 0x101b: 0x4420, 0x101c: 0x4426, 0x101d: 0x445c, + 0x101e: 0x44b3, 0x101f: 0x44ba, 0x1020: 0x44c1, 0x1021: 0x44c8, 0x1022: 0x44cf, 0x1023: 0x44d6, + 0x1024: 0x25c6, 0x1025: 0x25cd, 0x1026: 0x25d4, 0x1027: 0x25db, 0x1028: 0x25f0, 0x1029: 0x25f7, + 0x102a: 0x1d98, 0x102b: 0x1d9d, 0x102c: 0x1da2, 0x102d: 0x1da7, 0x102e: 0x1db1, 0x102f: 0x1db6, + 0x1030: 0x1dca, 0x1031: 0x1dcf, 0x1032: 0x1dd4, 0x1033: 0x1dd9, 0x1034: 0x1de3, 0x1035: 0x1de8, + 0x1036: 0x1df2, 0x1037: 0x1df7, 0x1038: 0x1dfc, 0x1039: 0x1e01, 0x103a: 0x1e0b, 0x103b: 0x1e10, + 0x103c: 0x1f3c, 0x103d: 0x1f41, 0x103e: 0x1f50, 0x103f: 0x1f55, + // Block 0x41, offset 0x1040 + 0x1040: 0x1f5a, 0x1041: 0x1f6e, 0x1042: 0x1f73, 0x1043: 0x1f78, 0x1044: 0x1f7d, 0x1045: 0x1f96, + 0x1046: 0x1fa0, 0x1047: 0x1fa5, 0x1048: 0x1faa, 0x1049: 0x1fbe, 0x104a: 0x1fdc, 0x104b: 0x1fe1, + 0x104c: 0x1fe6, 0x104d: 0x1feb, 0x104e: 0x1ff5, 0x104f: 0x1ffa, 0x1050: 0x445c, 0x1051: 0x2027, + 0x1052: 0x202c, 0x1053: 0x2031, 0x1054: 0x2036, 0x1055: 0x2040, 0x1056: 0x2045, 0x1057: 0x25b1, + 0x1058: 0x25b8, 0x1059: 0x25bf, 0x105a: 0x25d4, 0x105b: 0x25e2, 0x105c: 0x1d89, 0x105d: 0x1d8e, + 0x105e: 0x1d93, 0x105f: 0x1da2, 0x1060: 0x1dac, 0x1061: 0x1dbb, 0x1062: 0x1dc0, 0x1063: 0x1dc5, + 0x1064: 0x1dd4, 0x1065: 0x1dde, 0x1066: 0x1dfc, 0x1067: 0x1e15, 0x1068: 0x1e1a, 0x1069: 0x1e29, + 0x106a: 0x1e2e, 0x106b: 0x1e3d, 0x106c: 0x1e47, 0x106d: 0x1e56, 0x106e: 0x1e5b, 0x106f: 0x1e60, + 0x1070: 0x1e6a, 0x1071: 0x1ea6, 0x1072: 0x1eab, 0x1073: 0x1eb5, 0x1074: 0x1ec4, 0x1075: 0x1ec9, + 0x1076: 0x1ece, 0x1077: 0x1ed8, 0x1078: 0x1ee7, 0x1079: 0x1efb, 0x107a: 0x1f00, 0x107b: 0x1f05, + 0x107c: 0x1f14, 0x107d: 0x1f19, 0x107e: 0x1f28, 0x107f: 0x1f2d, + // Block 0x42, offset 0x1080 + 0x1080: 0x1f32, 0x1081: 0x1f37, 0x1082: 0x1f46, 0x1083: 0x1f4b, 0x1084: 0x1f5f, 0x1085: 0x1f64, + 0x1086: 0x1f69, 0x1087: 0x1f6e, 0x1088: 0x1f73, 0x1089: 0x1f87, 0x108a: 0x1f8c, 0x108b: 0x1f91, + 0x108c: 0x1f96, 0x108d: 0x1f9b, 0x108e: 0x1faf, 0x108f: 0x1fb4, 0x1090: 0x1fb9, 0x1091: 0x1fbe, + 0x1092: 0x1fcd, 0x1093: 0x1fd2, 0x1094: 0x1fd7, 0x1095: 0x1fe6, 0x1096: 0x1ff0, 0x1097: 0x1fff, + 0x1098: 0x2004, 0x1099: 0x4450, 0x109a: 0x2018, 0x109b: 0x201d, 0x109c: 0x2022, 0x109d: 0x2031, + 0x109e: 0x203b, 0x109f: 0x25d4, 0x10a0: 0x25e2, 0x10a1: 0x1da2, 0x10a2: 0x1dac, 0x10a3: 0x1dd4, + 0x10a4: 0x1dde, 0x10a5: 0x1dfc, 0x10a6: 0x1e06, 0x10a7: 0x1e6a, 0x10a8: 0x1e6f, 0x10a9: 0x1e92, + 0x10aa: 0x1e97, 0x10ab: 0x1f6e, 0x10ac: 0x1f73, 0x10ad: 0x1f96, 0x10ae: 0x1fe6, 0x10af: 0x1ff0, + 0x10b0: 0x2031, 0x10b1: 0x203b, 0x10b2: 0x4504, 0x10b3: 0x450c, 0x10b4: 0x4514, 0x10b5: 0x1ef1, + 0x10b6: 0x1ef6, 0x10b7: 0x1f0a, 0x10b8: 0x1f0f, 0x10b9: 0x1f1e, 0x10ba: 0x1f23, 0x10bb: 0x1e74, + 0x10bc: 0x1e79, 0x10bd: 0x1e9c, 0x10be: 0x1ea1, 0x10bf: 0x1e33, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x1e38, 0x10c1: 0x1e1f, 0x10c2: 0x1e24, 0x10c3: 0x1e4c, 0x10c4: 0x1e51, 0x10c5: 0x1eba, + 0x10c6: 0x1ebf, 0x10c7: 0x1edd, 0x10c8: 0x1ee2, 0x10c9: 0x1e7e, 0x10ca: 0x1e83, 0x10cb: 0x1e88, + 0x10cc: 0x1e92, 0x10cd: 0x1e8d, 0x10ce: 0x1e65, 0x10cf: 0x1eb0, 0x10d0: 0x1ed3, 0x10d1: 0x1ef1, + 0x10d2: 0x1ef6, 0x10d3: 0x1f0a, 0x10d4: 0x1f0f, 0x10d5: 0x1f1e, 0x10d6: 0x1f23, 0x10d7: 0x1e74, + 0x10d8: 0x1e79, 0x10d9: 0x1e9c, 0x10da: 0x1ea1, 0x10db: 0x1e33, 0x10dc: 0x1e38, 0x10dd: 0x1e1f, + 0x10de: 0x1e24, 0x10df: 0x1e4c, 0x10e0: 0x1e51, 0x10e1: 0x1eba, 0x10e2: 0x1ebf, 0x10e3: 0x1edd, + 0x10e4: 0x1ee2, 0x10e5: 0x1e7e, 0x10e6: 0x1e83, 0x10e7: 0x1e88, 0x10e8: 0x1e92, 0x10e9: 0x1e8d, + 0x10ea: 0x1e65, 0x10eb: 0x1eb0, 0x10ec: 0x1ed3, 0x10ed: 0x1e7e, 0x10ee: 0x1e83, 0x10ef: 0x1e88, + 0x10f0: 0x1e92, 0x10f1: 0x1e6f, 0x10f2: 0x1e97, 0x10f3: 0x1eec, 0x10f4: 0x1e56, 0x10f5: 0x1e5b, + 0x10f6: 0x1e60, 0x10f7: 0x1e7e, 0x10f8: 0x1e83, 0x10f9: 0x1e88, 0x10fa: 0x1eec, 0x10fb: 0x1efb, + 0x10fc: 0x4408, 0x10fd: 0x4408, + // Block 0x44, offset 0x1100 + 0x1110: 0x2311, 0x1111: 0x2326, + 0x1112: 0x2326, 0x1113: 0x232d, 0x1114: 0x2334, 0x1115: 0x2349, 0x1116: 0x2350, 0x1117: 0x2357, + 0x1118: 0x237a, 0x1119: 0x237a, 0x111a: 0x239d, 0x111b: 0x2396, 0x111c: 0x23b2, 0x111d: 0x23a4, + 0x111e: 0x23ab, 0x111f: 0x23ce, 0x1120: 0x23ce, 0x1121: 0x23c7, 0x1122: 0x23d5, 0x1123: 0x23d5, + 0x1124: 0x23ff, 0x1125: 0x23ff, 0x1126: 0x241b, 0x1127: 0x23e3, 0x1128: 0x23e3, 0x1129: 0x23dc, + 0x112a: 0x23f1, 0x112b: 0x23f1, 0x112c: 0x23f8, 0x112d: 0x23f8, 0x112e: 0x2422, 0x112f: 0x2430, + 0x1130: 0x2430, 0x1131: 0x2437, 0x1132: 0x2437, 0x1133: 0x243e, 0x1134: 0x2445, 0x1135: 0x244c, + 0x1136: 0x2453, 0x1137: 0x2453, 0x1138: 0x245a, 0x1139: 0x2468, 0x113a: 0x2476, 0x113b: 0x246f, + 0x113c: 0x247d, 0x113d: 0x247d, 0x113e: 0x2492, 0x113f: 0x2499, + // Block 0x45, offset 0x1140 + 0x1140: 0x24ca, 0x1141: 0x24d8, 0x1142: 0x24d1, 0x1143: 0x24b5, 0x1144: 0x24b5, 0x1145: 0x24df, + 0x1146: 0x24df, 0x1147: 0x24e6, 0x1148: 0x24e6, 0x1149: 0x2510, 0x114a: 0x2517, 0x114b: 0x251e, + 0x114c: 0x24f4, 0x114d: 0x2502, 0x114e: 0x2525, 0x114f: 0x252c, + 0x1152: 0x24fb, 0x1153: 0x2580, 0x1154: 0x2587, 0x1155: 0x255d, 0x1156: 0x2564, 0x1157: 0x2548, + 0x1158: 0x2548, 0x1159: 0x254f, 0x115a: 0x2579, 0x115b: 0x2572, 0x115c: 0x259c, 0x115d: 0x259c, + 0x115e: 0x230a, 0x115f: 0x231f, 0x1160: 0x2318, 0x1161: 0x2342, 0x1162: 0x233b, 0x1163: 0x2365, + 0x1164: 0x235e, 0x1165: 0x2388, 0x1166: 0x236c, 0x1167: 0x2381, 0x1168: 0x23b9, 0x1169: 0x2406, + 0x116a: 0x23ea, 0x116b: 0x2429, 0x116c: 0x24c3, 0x116d: 0x24ed, 0x116e: 0x2595, 0x116f: 0x258e, + 0x1170: 0x25a3, 0x1171: 0x253a, 0x1172: 0x24a0, 0x1173: 0x256b, 0x1174: 0x2492, 0x1175: 0x24ca, + 0x1176: 0x2461, 0x1177: 0x24ae, 0x1178: 0x2541, 0x1179: 0x2533, 0x117a: 0x24bc, 0x117b: 0x24a7, + 0x117c: 0x24bc, 0x117d: 0x2541, 0x117e: 0x2373, 0x117f: 0x238f, + // Block 0x46, offset 0x1180 + 0x1180: 0x2509, 0x1181: 0x2484, 0x1182: 0x2303, 0x1183: 0x24a7, 0x1184: 0x244c, 0x1185: 0x241b, + 0x1186: 0x23c0, 0x1187: 0x2556, + 0x11b0: 0x2414, 0x11b1: 0x248b, 0x11b2: 0x27bf, 0x11b3: 0x27b6, 0x11b4: 0x27ec, 0x11b5: 0x27da, + 0x11b6: 0x27c8, 0x11b7: 0x27e3, 0x11b8: 0x27f5, 0x11b9: 0x240d, 0x11ba: 0x2c7c, 0x11bb: 0x2afc, + 0x11bc: 0x27d1, + // Block 0x47, offset 0x11c0 + 0x11d0: 0x0019, 0x11d1: 0x0483, + 0x11d2: 0x0487, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04bf, + 0x11d8: 0x04c3, 0x11d9: 0x1b5c, + 0x11e0: 0x8132, 0x11e1: 0x8132, 0x11e2: 0x8132, 0x11e3: 0x8132, + 0x11e4: 0x8132, 0x11e5: 0x8132, 0x11e6: 0x8132, 0x11e7: 0x812d, 0x11e8: 0x812d, 0x11e9: 0x812d, + 0x11ea: 0x812d, 0x11eb: 0x812d, 0x11ec: 0x812d, 0x11ed: 0x812d, 0x11ee: 0x8132, 0x11ef: 0x8132, + 0x11f0: 0x1873, 0x11f1: 0x0443, 0x11f2: 0x043f, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, + 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04b7, 0x11fa: 0x04bb, 0x11fb: 0x04ab, + 0x11fc: 0x04af, 0x11fd: 0x0493, 0x11fe: 0x0497, 0x11ff: 0x048b, + // Block 0x48, offset 0x1200 + 0x1200: 0x048f, 0x1201: 0x049b, 0x1202: 0x049f, 0x1203: 0x04a3, 0x1204: 0x04a7, + 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x4269, 0x120a: 0x4269, 0x120b: 0x4269, + 0x120c: 0x4269, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0483, + 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, + 0x1218: 0x0443, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04b7, + 0x121e: 0x04bb, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, + 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, + 0x122a: 0x000b, 0x122b: 0x0041, + 0x1230: 0x42aa, 0x1231: 0x442c, 0x1232: 0x42af, 0x1234: 0x42b4, + 0x1236: 0x42b9, 0x1237: 0x4432, 0x1238: 0x42be, 0x1239: 0x4438, 0x123a: 0x42c3, 0x123b: 0x443e, + 0x123c: 0x42c8, 0x123d: 0x4444, 0x123e: 0x42cd, 0x123f: 0x444a, + // Block 0x49, offset 0x1240 + 0x1240: 0x0236, 0x1241: 0x440e, 0x1242: 0x440e, 0x1243: 0x4414, 0x1244: 0x4414, 0x1245: 0x4456, + 0x1246: 0x4456, 0x1247: 0x441a, 0x1248: 0x441a, 0x1249: 0x4462, 0x124a: 0x4462, 0x124b: 0x4462, + 0x124c: 0x4462, 0x124d: 0x0239, 0x124e: 0x0239, 0x124f: 0x023c, 0x1250: 0x023c, 0x1251: 0x023c, + 0x1252: 0x023c, 0x1253: 0x023f, 0x1254: 0x023f, 0x1255: 0x0242, 0x1256: 0x0242, 0x1257: 0x0242, + 0x1258: 0x0242, 0x1259: 0x0245, 0x125a: 0x0245, 0x125b: 0x0245, 0x125c: 0x0245, 0x125d: 0x0248, + 0x125e: 0x0248, 0x125f: 0x0248, 0x1260: 0x0248, 0x1261: 0x024b, 0x1262: 0x024b, 0x1263: 0x024b, + 0x1264: 0x024b, 0x1265: 0x024e, 0x1266: 0x024e, 0x1267: 0x024e, 0x1268: 0x024e, 0x1269: 0x0251, + 0x126a: 0x0251, 0x126b: 0x0254, 0x126c: 0x0254, 0x126d: 0x0257, 0x126e: 0x0257, 0x126f: 0x025a, + 0x1270: 0x025a, 0x1271: 0x025d, 0x1272: 0x025d, 0x1273: 0x025d, 0x1274: 0x025d, 0x1275: 0x0260, + 0x1276: 0x0260, 0x1277: 0x0260, 0x1278: 0x0260, 0x1279: 0x0263, 0x127a: 0x0263, 0x127b: 0x0263, + 0x127c: 0x0263, 0x127d: 0x0266, 0x127e: 0x0266, 0x127f: 0x0266, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0266, 0x1281: 0x0269, 0x1282: 0x0269, 0x1283: 0x0269, 0x1284: 0x0269, 0x1285: 0x026c, + 0x1286: 0x026c, 0x1287: 0x026c, 0x1288: 0x026c, 0x1289: 0x026f, 0x128a: 0x026f, 0x128b: 0x026f, + 0x128c: 0x026f, 0x128d: 0x0272, 0x128e: 0x0272, 0x128f: 0x0272, 0x1290: 0x0272, 0x1291: 0x0275, + 0x1292: 0x0275, 0x1293: 0x0275, 0x1294: 0x0275, 0x1295: 0x0278, 0x1296: 0x0278, 0x1297: 0x0278, + 0x1298: 0x0278, 0x1299: 0x027b, 0x129a: 0x027b, 0x129b: 0x027b, 0x129c: 0x027b, 0x129d: 0x027e, + 0x129e: 0x027e, 0x129f: 0x027e, 0x12a0: 0x027e, 0x12a1: 0x0281, 0x12a2: 0x0281, 0x12a3: 0x0281, + 0x12a4: 0x0281, 0x12a5: 0x0284, 0x12a6: 0x0284, 0x12a7: 0x0284, 0x12a8: 0x0284, 0x12a9: 0x0287, + 0x12aa: 0x0287, 0x12ab: 0x0287, 0x12ac: 0x0287, 0x12ad: 0x028a, 0x12ae: 0x028a, 0x12af: 0x028d, + 0x12b0: 0x028d, 0x12b1: 0x0290, 0x12b2: 0x0290, 0x12b3: 0x0290, 0x12b4: 0x0290, 0x12b5: 0x2e00, + 0x12b6: 0x2e00, 0x12b7: 0x2e08, 0x12b8: 0x2e08, 0x12b9: 0x2e10, 0x12ba: 0x2e10, 0x12bb: 0x1f82, + 0x12bc: 0x1f82, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, + 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, + 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, + 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, + 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, + 0x12de: 0x00bd, 0x12df: 0x0477, 0x12e0: 0x047b, 0x12e1: 0x0487, 0x12e2: 0x049b, 0x12e3: 0x049f, + 0x12e4: 0x0483, 0x12e5: 0x05ab, 0x12e6: 0x05a3, 0x12e7: 0x04c7, 0x12e8: 0x04cf, 0x12e9: 0x04d7, + 0x12ea: 0x04df, 0x12eb: 0x04e7, 0x12ec: 0x056b, 0x12ed: 0x0573, 0x12ee: 0x057b, 0x12ef: 0x051f, + 0x12f0: 0x05af, 0x12f1: 0x04cb, 0x12f2: 0x04d3, 0x12f3: 0x04db, 0x12f4: 0x04e3, 0x12f5: 0x04eb, + 0x12f6: 0x04ef, 0x12f7: 0x04f3, 0x12f8: 0x04f7, 0x12f9: 0x04fb, 0x12fa: 0x04ff, 0x12fb: 0x0503, + 0x12fc: 0x0507, 0x12fd: 0x050b, 0x12fe: 0x050f, 0x12ff: 0x0513, + // Block 0x4c, offset 0x1300 + 0x1300: 0x0517, 0x1301: 0x051b, 0x1302: 0x0523, 0x1303: 0x0527, 0x1304: 0x052b, 0x1305: 0x052f, + 0x1306: 0x0533, 0x1307: 0x0537, 0x1308: 0x053b, 0x1309: 0x053f, 0x130a: 0x0543, 0x130b: 0x0547, + 0x130c: 0x054b, 0x130d: 0x054f, 0x130e: 0x0553, 0x130f: 0x0557, 0x1310: 0x055b, 0x1311: 0x055f, + 0x1312: 0x0563, 0x1313: 0x0567, 0x1314: 0x056f, 0x1315: 0x0577, 0x1316: 0x057f, 0x1317: 0x0583, + 0x1318: 0x0587, 0x1319: 0x058b, 0x131a: 0x058f, 0x131b: 0x0593, 0x131c: 0x0597, 0x131d: 0x05a7, + 0x131e: 0x4a78, 0x131f: 0x4a7e, 0x1320: 0x03c3, 0x1321: 0x0313, 0x1322: 0x0317, 0x1323: 0x4a3b, + 0x1324: 0x031b, 0x1325: 0x4a41, 0x1326: 0x4a47, 0x1327: 0x031f, 0x1328: 0x0323, 0x1329: 0x0327, + 0x132a: 0x4a4d, 0x132b: 0x4a53, 0x132c: 0x4a59, 0x132d: 0x4a5f, 0x132e: 0x4a65, 0x132f: 0x4a6b, + 0x1330: 0x0367, 0x1331: 0x032b, 0x1332: 0x032f, 0x1333: 0x0333, 0x1334: 0x037b, 0x1335: 0x0337, + 0x1336: 0x033b, 0x1337: 0x033f, 0x1338: 0x0343, 0x1339: 0x0347, 0x133a: 0x034b, 0x133b: 0x034f, + 0x133c: 0x0353, 0x133d: 0x0357, 0x133e: 0x035b, + // Block 0x4d, offset 0x1340 + 0x1342: 0x49bd, 0x1343: 0x49c3, 0x1344: 0x49c9, 0x1345: 0x49cf, + 0x1346: 0x49d5, 0x1347: 0x49db, 0x134a: 0x49e1, 0x134b: 0x49e7, + 0x134c: 0x49ed, 0x134d: 0x49f3, 0x134e: 0x49f9, 0x134f: 0x49ff, + 0x1352: 0x4a05, 0x1353: 0x4a0b, 0x1354: 0x4a11, 0x1355: 0x4a17, 0x1356: 0x4a1d, 0x1357: 0x4a23, + 0x135a: 0x4a29, 0x135b: 0x4a2f, 0x135c: 0x4a35, + 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x4264, + 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x0447, 0x1368: 0x046b, 0x1369: 0x044b, + 0x136a: 0x044f, 0x136b: 0x0453, 0x136c: 0x0457, 0x136d: 0x046f, 0x136e: 0x0473, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, + 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, + 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, + 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, + 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, + 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, + 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0173, 0x13a9: 0x0176, + 0x13aa: 0x0179, 0x13ab: 0x017c, 0x13ac: 0x017f, 0x13ad: 0x0182, 0x13ae: 0x0185, 0x13af: 0x0188, + 0x13b0: 0x018b, 0x13b1: 0x018e, 0x13b2: 0x0191, 0x13b3: 0x0194, 0x13b4: 0x0197, 0x13b5: 0x019a, + 0x13b6: 0x019d, 0x13b7: 0x01a0, 0x13b8: 0x01a3, 0x13b9: 0x0188, 0x13ba: 0x01a6, 0x13bb: 0x01a9, + 0x13bc: 0x01ac, 0x13bd: 0x01af, 0x13be: 0x01b2, 0x13bf: 0x01b5, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x01fd, 0x13c1: 0x0200, 0x13c2: 0x0203, 0x13c3: 0x045b, 0x13c4: 0x01c7, 0x13c5: 0x01d0, + 0x13c6: 0x01d6, 0x13c7: 0x01fa, 0x13c8: 0x01eb, 0x13c9: 0x01e8, 0x13ca: 0x0206, 0x13cb: 0x0209, + 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, + 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, + 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, + 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, + 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, + 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, + 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, + 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, + 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, + // Block 0x50, offset 0x1400 + 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1405: 0x028a, + 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140a: 0x027b, 0x140b: 0x027e, + 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, + 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, 0x141c: 0x0293, 0x141d: 0x02e4, + 0x141e: 0x02cc, 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, + 0x1424: 0x0287, 0x1427: 0x024b, 0x1429: 0x0290, + 0x142a: 0x027b, 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143b: 0x0272, + // Block 0x51, offset 0x1440 + 0x1442: 0x0248, + 0x1447: 0x024b, 0x1449: 0x0290, 0x144b: 0x027e, + 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1451: 0x0263, + 0x1452: 0x0278, 0x1454: 0x0260, 0x1457: 0x024e, + 0x1459: 0x0266, 0x145b: 0x0272, 0x145d: 0x02e4, + 0x145f: 0x0296, 0x1461: 0x023c, 0x1462: 0x0248, + 0x1464: 0x0287, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, + 0x146a: 0x027b, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, + 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1474: 0x0260, 0x1475: 0x0242, + 0x1476: 0x0245, 0x1477: 0x024e, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, + 0x147c: 0x0293, 0x147e: 0x02cc, + // Block 0x52, offset 0x1480 + 0x1480: 0x0239, 0x1481: 0x023c, 0x1482: 0x0248, 0x1483: 0x0251, 0x1484: 0x0287, 0x1485: 0x028a, + 0x1486: 0x025a, 0x1487: 0x024b, 0x1488: 0x0269, 0x1489: 0x0290, 0x148b: 0x027e, + 0x148c: 0x0281, 0x148d: 0x0284, 0x148e: 0x025d, 0x148f: 0x026f, 0x1490: 0x0275, 0x1491: 0x0263, + 0x1492: 0x0278, 0x1493: 0x0257, 0x1494: 0x0260, 0x1495: 0x0242, 0x1496: 0x0245, 0x1497: 0x024e, + 0x1498: 0x0254, 0x1499: 0x0266, 0x149a: 0x026c, 0x149b: 0x0272, + 0x14a1: 0x023c, 0x14a2: 0x0248, 0x14a3: 0x0251, + 0x14a5: 0x028a, 0x14a6: 0x025a, 0x14a7: 0x024b, 0x14a8: 0x0269, 0x14a9: 0x0290, + 0x14ab: 0x027e, 0x14ac: 0x0281, 0x14ad: 0x0284, 0x14ae: 0x025d, 0x14af: 0x026f, + 0x14b0: 0x0275, 0x14b1: 0x0263, 0x14b2: 0x0278, 0x14b3: 0x0257, 0x14b4: 0x0260, 0x14b5: 0x0242, + 0x14b6: 0x0245, 0x14b7: 0x024e, 0x14b8: 0x0254, 0x14b9: 0x0266, 0x14ba: 0x026c, 0x14bb: 0x0272, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x1879, 0x14c1: 0x1876, 0x14c2: 0x187c, 0x14c3: 0x18a0, 0x14c4: 0x18c4, 0x14c5: 0x18e8, + 0x14c6: 0x190c, 0x14c7: 0x1915, 0x14c8: 0x191b, 0x14c9: 0x1921, 0x14ca: 0x1927, + 0x14d0: 0x1a8c, 0x14d1: 0x1a90, + 0x14d2: 0x1a94, 0x14d3: 0x1a98, 0x14d4: 0x1a9c, 0x14d5: 0x1aa0, 0x14d6: 0x1aa4, 0x14d7: 0x1aa8, + 0x14d8: 0x1aac, 0x14d9: 0x1ab0, 0x14da: 0x1ab4, 0x14db: 0x1ab8, 0x14dc: 0x1abc, 0x14dd: 0x1ac0, + 0x14de: 0x1ac4, 0x14df: 0x1ac8, 0x14e0: 0x1acc, 0x14e1: 0x1ad0, 0x14e2: 0x1ad4, 0x14e3: 0x1ad8, + 0x14e4: 0x1adc, 0x14e5: 0x1ae0, 0x14e6: 0x1ae4, 0x14e7: 0x1ae8, 0x14e8: 0x1aec, 0x14e9: 0x1af0, + 0x14ea: 0x271e, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193c, 0x14ee: 0x19b1, + 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, + 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, + 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, + // Block 0x54, offset 0x1500 + 0x1500: 0x26ad, 0x1501: 0x26c2, 0x1502: 0x0503, + 0x1510: 0x0c0f, 0x1511: 0x0a47, + 0x1512: 0x08d3, 0x1513: 0x45c4, 0x1514: 0x071b, 0x1515: 0x09ef, 0x1516: 0x132f, 0x1517: 0x09ff, + 0x1518: 0x0727, 0x1519: 0x0cd7, 0x151a: 0x0eaf, 0x151b: 0x0caf, 0x151c: 0x0827, 0x151d: 0x0b6b, + 0x151e: 0x07bf, 0x151f: 0x0cb7, 0x1520: 0x0813, 0x1521: 0x1117, 0x1522: 0x0f83, 0x1523: 0x138b, + 0x1524: 0x09d3, 0x1525: 0x090b, 0x1526: 0x0e63, 0x1527: 0x0c1b, 0x1528: 0x0c47, 0x1529: 0x06bf, + 0x152a: 0x06cb, 0x152b: 0x140b, 0x152c: 0x0adb, 0x152d: 0x06e7, 0x152e: 0x08ef, 0x152f: 0x0c3b, + 0x1530: 0x13b3, 0x1531: 0x0c13, 0x1532: 0x106f, 0x1533: 0x10ab, 0x1534: 0x08f7, 0x1535: 0x0e43, + 0x1536: 0x0d0b, 0x1537: 0x0d07, 0x1538: 0x0f97, 0x1539: 0x082b, 0x153a: 0x0957, 0x153b: 0x1443, + // Block 0x55, offset 0x1540 + 0x1540: 0x06fb, 0x1541: 0x06f3, 0x1542: 0x0703, 0x1543: 0x1647, 0x1544: 0x0747, 0x1545: 0x0757, + 0x1546: 0x075b, 0x1547: 0x0763, 0x1548: 0x076b, 0x1549: 0x076f, 0x154a: 0x077b, 0x154b: 0x0773, + 0x154c: 0x05b3, 0x154d: 0x165b, 0x154e: 0x078f, 0x154f: 0x0793, 0x1550: 0x0797, 0x1551: 0x07b3, + 0x1552: 0x164c, 0x1553: 0x05b7, 0x1554: 0x079f, 0x1555: 0x07bf, 0x1556: 0x1656, 0x1557: 0x07cf, + 0x1558: 0x07d7, 0x1559: 0x0737, 0x155a: 0x07df, 0x155b: 0x07e3, 0x155c: 0x1831, 0x155d: 0x07ff, + 0x155e: 0x0807, 0x155f: 0x05bf, 0x1560: 0x081f, 0x1561: 0x0823, 0x1562: 0x082b, 0x1563: 0x082f, + 0x1564: 0x05c3, 0x1565: 0x0847, 0x1566: 0x084b, 0x1567: 0x0857, 0x1568: 0x0863, 0x1569: 0x0867, + 0x156a: 0x086b, 0x156b: 0x0873, 0x156c: 0x0893, 0x156d: 0x0897, 0x156e: 0x089f, 0x156f: 0x08af, + 0x1570: 0x08b7, 0x1571: 0x08bb, 0x1572: 0x08bb, 0x1573: 0x08bb, 0x1574: 0x166a, 0x1575: 0x0e93, + 0x1576: 0x08cf, 0x1577: 0x08d7, 0x1578: 0x166f, 0x1579: 0x08e3, 0x157a: 0x08eb, 0x157b: 0x08f3, + 0x157c: 0x091b, 0x157d: 0x0907, 0x157e: 0x0913, 0x157f: 0x0917, + // Block 0x56, offset 0x1580 + 0x1580: 0x091f, 0x1581: 0x0927, 0x1582: 0x092b, 0x1583: 0x0933, 0x1584: 0x093b, 0x1585: 0x093f, + 0x1586: 0x093f, 0x1587: 0x0947, 0x1588: 0x094f, 0x1589: 0x0953, 0x158a: 0x095f, 0x158b: 0x0983, + 0x158c: 0x0967, 0x158d: 0x0987, 0x158e: 0x096b, 0x158f: 0x0973, 0x1590: 0x080b, 0x1591: 0x09cf, + 0x1592: 0x0997, 0x1593: 0x099b, 0x1594: 0x099f, 0x1595: 0x0993, 0x1596: 0x09a7, 0x1597: 0x09a3, + 0x1598: 0x09bb, 0x1599: 0x1674, 0x159a: 0x09d7, 0x159b: 0x09db, 0x159c: 0x09e3, 0x159d: 0x09ef, + 0x159e: 0x09f7, 0x159f: 0x0a13, 0x15a0: 0x1679, 0x15a1: 0x167e, 0x15a2: 0x0a1f, 0x15a3: 0x0a23, + 0x15a4: 0x0a27, 0x15a5: 0x0a1b, 0x15a6: 0x0a2f, 0x15a7: 0x05c7, 0x15a8: 0x05cb, 0x15a9: 0x0a37, + 0x15aa: 0x0a3f, 0x15ab: 0x0a3f, 0x15ac: 0x1683, 0x15ad: 0x0a5b, 0x15ae: 0x0a5f, 0x15af: 0x0a63, + 0x15b0: 0x0a6b, 0x15b1: 0x1688, 0x15b2: 0x0a73, 0x15b3: 0x0a77, 0x15b4: 0x0b4f, 0x15b5: 0x0a7f, + 0x15b6: 0x05cf, 0x15b7: 0x0a8b, 0x15b8: 0x0a9b, 0x15b9: 0x0aa7, 0x15ba: 0x0aa3, 0x15bb: 0x1692, + 0x15bc: 0x0aaf, 0x15bd: 0x1697, 0x15be: 0x0abb, 0x15bf: 0x0ab7, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0abf, 0x15c1: 0x0acf, 0x15c2: 0x0ad3, 0x15c3: 0x05d3, 0x15c4: 0x0ae3, 0x15c5: 0x0aeb, + 0x15c6: 0x0aef, 0x15c7: 0x0af3, 0x15c8: 0x05d7, 0x15c9: 0x169c, 0x15ca: 0x05db, 0x15cb: 0x0b0f, + 0x15cc: 0x0b13, 0x15cd: 0x0b17, 0x15ce: 0x0b1f, 0x15cf: 0x1863, 0x15d0: 0x0b37, 0x15d1: 0x16a6, + 0x15d2: 0x16a6, 0x15d3: 0x11d7, 0x15d4: 0x0b47, 0x15d5: 0x0b47, 0x15d6: 0x05df, 0x15d7: 0x16c9, + 0x15d8: 0x179b, 0x15d9: 0x0b57, 0x15da: 0x0b5f, 0x15db: 0x05e3, 0x15dc: 0x0b73, 0x15dd: 0x0b83, + 0x15de: 0x0b87, 0x15df: 0x0b8f, 0x15e0: 0x0b9f, 0x15e1: 0x05eb, 0x15e2: 0x05e7, 0x15e3: 0x0ba3, + 0x15e4: 0x16ab, 0x15e5: 0x0ba7, 0x15e6: 0x0bbb, 0x15e7: 0x0bbf, 0x15e8: 0x0bc3, 0x15e9: 0x0bbf, + 0x15ea: 0x0bcf, 0x15eb: 0x0bd3, 0x15ec: 0x0be3, 0x15ed: 0x0bdb, 0x15ee: 0x0bdf, 0x15ef: 0x0be7, + 0x15f0: 0x0beb, 0x15f1: 0x0bef, 0x15f2: 0x0bfb, 0x15f3: 0x0bff, 0x15f4: 0x0c17, 0x15f5: 0x0c1f, + 0x15f6: 0x0c2f, 0x15f7: 0x0c43, 0x15f8: 0x16ba, 0x15f9: 0x0c3f, 0x15fa: 0x0c33, 0x15fb: 0x0c4b, + 0x15fc: 0x0c53, 0x15fd: 0x0c67, 0x15fe: 0x16bf, 0x15ff: 0x0c6f, + // Block 0x58, offset 0x1600 + 0x1600: 0x0c63, 0x1601: 0x0c5b, 0x1602: 0x05ef, 0x1603: 0x0c77, 0x1604: 0x0c7f, 0x1605: 0x0c87, + 0x1606: 0x0c7b, 0x1607: 0x05f3, 0x1608: 0x0c97, 0x1609: 0x0c9f, 0x160a: 0x16c4, 0x160b: 0x0ccb, + 0x160c: 0x0cff, 0x160d: 0x0cdb, 0x160e: 0x05ff, 0x160f: 0x0ce7, 0x1610: 0x05fb, 0x1611: 0x05f7, + 0x1612: 0x07c3, 0x1613: 0x07c7, 0x1614: 0x0d03, 0x1615: 0x0ceb, 0x1616: 0x11ab, 0x1617: 0x0663, + 0x1618: 0x0d0f, 0x1619: 0x0d13, 0x161a: 0x0d17, 0x161b: 0x0d2b, 0x161c: 0x0d23, 0x161d: 0x16dd, + 0x161e: 0x0603, 0x161f: 0x0d3f, 0x1620: 0x0d33, 0x1621: 0x0d4f, 0x1622: 0x0d57, 0x1623: 0x16e7, + 0x1624: 0x0d5b, 0x1625: 0x0d47, 0x1626: 0x0d63, 0x1627: 0x0607, 0x1628: 0x0d67, 0x1629: 0x0d6b, + 0x162a: 0x0d6f, 0x162b: 0x0d7b, 0x162c: 0x16ec, 0x162d: 0x0d83, 0x162e: 0x060b, 0x162f: 0x0d8f, + 0x1630: 0x16f1, 0x1631: 0x0d93, 0x1632: 0x060f, 0x1633: 0x0d9f, 0x1634: 0x0dab, 0x1635: 0x0db7, + 0x1636: 0x0dbb, 0x1637: 0x16f6, 0x1638: 0x168d, 0x1639: 0x16fb, 0x163a: 0x0ddb, 0x163b: 0x1700, + 0x163c: 0x0de7, 0x163d: 0x0def, 0x163e: 0x0ddf, 0x163f: 0x0dfb, + // Block 0x59, offset 0x1640 + 0x1640: 0x0e0b, 0x1641: 0x0e1b, 0x1642: 0x0e0f, 0x1643: 0x0e13, 0x1644: 0x0e1f, 0x1645: 0x0e23, + 0x1646: 0x1705, 0x1647: 0x0e07, 0x1648: 0x0e3b, 0x1649: 0x0e3f, 0x164a: 0x0613, 0x164b: 0x0e53, + 0x164c: 0x0e4f, 0x164d: 0x170a, 0x164e: 0x0e33, 0x164f: 0x0e6f, 0x1650: 0x170f, 0x1651: 0x1714, + 0x1652: 0x0e73, 0x1653: 0x0e87, 0x1654: 0x0e83, 0x1655: 0x0e7f, 0x1656: 0x0617, 0x1657: 0x0e8b, + 0x1658: 0x0e9b, 0x1659: 0x0e97, 0x165a: 0x0ea3, 0x165b: 0x1651, 0x165c: 0x0eb3, 0x165d: 0x1719, + 0x165e: 0x0ebf, 0x165f: 0x1723, 0x1660: 0x0ed3, 0x1661: 0x0edf, 0x1662: 0x0ef3, 0x1663: 0x1728, + 0x1664: 0x0f07, 0x1665: 0x0f0b, 0x1666: 0x172d, 0x1667: 0x1732, 0x1668: 0x0f27, 0x1669: 0x0f37, + 0x166a: 0x061b, 0x166b: 0x0f3b, 0x166c: 0x061f, 0x166d: 0x061f, 0x166e: 0x0f53, 0x166f: 0x0f57, + 0x1670: 0x0f5f, 0x1671: 0x0f63, 0x1672: 0x0f6f, 0x1673: 0x0623, 0x1674: 0x0f87, 0x1675: 0x1737, + 0x1676: 0x0fa3, 0x1677: 0x173c, 0x1678: 0x0faf, 0x1679: 0x16a1, 0x167a: 0x0fbf, 0x167b: 0x1741, + 0x167c: 0x1746, 0x167d: 0x174b, 0x167e: 0x0627, 0x167f: 0x062b, + // Block 0x5a, offset 0x1680 + 0x1680: 0x0ff7, 0x1681: 0x1755, 0x1682: 0x1750, 0x1683: 0x175a, 0x1684: 0x175f, 0x1685: 0x0fff, + 0x1686: 0x1003, 0x1687: 0x1003, 0x1688: 0x100b, 0x1689: 0x0633, 0x168a: 0x100f, 0x168b: 0x0637, + 0x168c: 0x063b, 0x168d: 0x1769, 0x168e: 0x1023, 0x168f: 0x102b, 0x1690: 0x1037, 0x1691: 0x063f, + 0x1692: 0x176e, 0x1693: 0x105b, 0x1694: 0x1773, 0x1695: 0x1778, 0x1696: 0x107b, 0x1697: 0x1093, + 0x1698: 0x0643, 0x1699: 0x109b, 0x169a: 0x109f, 0x169b: 0x10a3, 0x169c: 0x177d, 0x169d: 0x1782, + 0x169e: 0x1782, 0x169f: 0x10bb, 0x16a0: 0x0647, 0x16a1: 0x1787, 0x16a2: 0x10cf, 0x16a3: 0x10d3, + 0x16a4: 0x064b, 0x16a5: 0x178c, 0x16a6: 0x10ef, 0x16a7: 0x064f, 0x16a8: 0x10ff, 0x16a9: 0x10f7, + 0x16aa: 0x1107, 0x16ab: 0x1796, 0x16ac: 0x111f, 0x16ad: 0x0653, 0x16ae: 0x112b, 0x16af: 0x1133, + 0x16b0: 0x1143, 0x16b1: 0x0657, 0x16b2: 0x17a0, 0x16b3: 0x17a5, 0x16b4: 0x065b, 0x16b5: 0x17aa, + 0x16b6: 0x115b, 0x16b7: 0x17af, 0x16b8: 0x1167, 0x16b9: 0x1173, 0x16ba: 0x117b, 0x16bb: 0x17b4, + 0x16bc: 0x17b9, 0x16bd: 0x118f, 0x16be: 0x17be, 0x16bf: 0x1197, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x16ce, 0x16c1: 0x065f, 0x16c2: 0x11af, 0x16c3: 0x11b3, 0x16c4: 0x0667, 0x16c5: 0x11b7, + 0x16c6: 0x0a33, 0x16c7: 0x17c3, 0x16c8: 0x17c8, 0x16c9: 0x16d3, 0x16ca: 0x16d8, 0x16cb: 0x11d7, + 0x16cc: 0x11db, 0x16cd: 0x13f3, 0x16ce: 0x066b, 0x16cf: 0x1207, 0x16d0: 0x1203, 0x16d1: 0x120b, + 0x16d2: 0x083f, 0x16d3: 0x120f, 0x16d4: 0x1213, 0x16d5: 0x1217, 0x16d6: 0x121f, 0x16d7: 0x17cd, + 0x16d8: 0x121b, 0x16d9: 0x1223, 0x16da: 0x1237, 0x16db: 0x123b, 0x16dc: 0x1227, 0x16dd: 0x123f, + 0x16de: 0x1253, 0x16df: 0x1267, 0x16e0: 0x1233, 0x16e1: 0x1247, 0x16e2: 0x124b, 0x16e3: 0x124f, + 0x16e4: 0x17d2, 0x16e5: 0x17dc, 0x16e6: 0x17d7, 0x16e7: 0x066f, 0x16e8: 0x126f, 0x16e9: 0x1273, + 0x16ea: 0x127b, 0x16eb: 0x17f0, 0x16ec: 0x127f, 0x16ed: 0x17e1, 0x16ee: 0x0673, 0x16ef: 0x0677, + 0x16f0: 0x17e6, 0x16f1: 0x17eb, 0x16f2: 0x067b, 0x16f3: 0x129f, 0x16f4: 0x12a3, 0x16f5: 0x12a7, + 0x16f6: 0x12ab, 0x16f7: 0x12b7, 0x16f8: 0x12b3, 0x16f9: 0x12bf, 0x16fa: 0x12bb, 0x16fb: 0x12cb, + 0x16fc: 0x12c3, 0x16fd: 0x12c7, 0x16fe: 0x12cf, 0x16ff: 0x067f, + // Block 0x5c, offset 0x1700 + 0x1700: 0x12d7, 0x1701: 0x12db, 0x1702: 0x0683, 0x1703: 0x12eb, 0x1704: 0x12ef, 0x1705: 0x17f5, + 0x1706: 0x12fb, 0x1707: 0x12ff, 0x1708: 0x0687, 0x1709: 0x130b, 0x170a: 0x05bb, 0x170b: 0x17fa, + 0x170c: 0x17ff, 0x170d: 0x068b, 0x170e: 0x068f, 0x170f: 0x1337, 0x1710: 0x134f, 0x1711: 0x136b, + 0x1712: 0x137b, 0x1713: 0x1804, 0x1714: 0x138f, 0x1715: 0x1393, 0x1716: 0x13ab, 0x1717: 0x13b7, + 0x1718: 0x180e, 0x1719: 0x1660, 0x171a: 0x13c3, 0x171b: 0x13bf, 0x171c: 0x13cb, 0x171d: 0x1665, + 0x171e: 0x13d7, 0x171f: 0x13e3, 0x1720: 0x1813, 0x1721: 0x1818, 0x1722: 0x1423, 0x1723: 0x142f, + 0x1724: 0x1437, 0x1725: 0x181d, 0x1726: 0x143b, 0x1727: 0x1467, 0x1728: 0x1473, 0x1729: 0x1477, + 0x172a: 0x146f, 0x172b: 0x1483, 0x172c: 0x1487, 0x172d: 0x1822, 0x172e: 0x1493, 0x172f: 0x0693, + 0x1730: 0x149b, 0x1731: 0x1827, 0x1732: 0x0697, 0x1733: 0x14d3, 0x1734: 0x0ac3, 0x1735: 0x14eb, + 0x1736: 0x182c, 0x1737: 0x1836, 0x1738: 0x069b, 0x1739: 0x069f, 0x173a: 0x1513, 0x173b: 0x183b, + 0x173c: 0x06a3, 0x173d: 0x1840, 0x173e: 0x152b, 0x173f: 0x152b, + // Block 0x5d, offset 0x1740 + 0x1740: 0x1533, 0x1741: 0x1845, 0x1742: 0x154b, 0x1743: 0x06a7, 0x1744: 0x155b, 0x1745: 0x1567, + 0x1746: 0x156f, 0x1747: 0x1577, 0x1748: 0x06ab, 0x1749: 0x184a, 0x174a: 0x158b, 0x174b: 0x15a7, + 0x174c: 0x15b3, 0x174d: 0x06af, 0x174e: 0x06b3, 0x174f: 0x15b7, 0x1750: 0x184f, 0x1751: 0x06b7, + 0x1752: 0x1854, 0x1753: 0x1859, 0x1754: 0x185e, 0x1755: 0x15db, 0x1756: 0x06bb, 0x1757: 0x15ef, + 0x1758: 0x15f7, 0x1759: 0x15fb, 0x175a: 0x1603, 0x175b: 0x160b, 0x175c: 0x1613, 0x175d: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, + 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, + // Block 0x5, offset 0x140 + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0f, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, + 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, + 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xad, 0x1c5: 0x27, 0x1c6: 0x28, + 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, + 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, + 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, + 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc5, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + 0x374: 0xcb, + 0x37d: 0xcc, + // Block 0xe, offset 0x380 + 0x381: 0xcd, 0x382: 0xce, 0x384: 0xcf, 0x385: 0xb7, 0x387: 0xd0, + 0x388: 0xd1, 0x38b: 0xd2, 0x38c: 0xd3, 0x38d: 0xd4, + 0x391: 0xd5, 0x392: 0xd6, 0x393: 0xd7, 0x396: 0xd8, 0x397: 0xd9, + 0x398: 0xda, 0x39a: 0xdb, 0x39c: 0xdc, + 0x3a0: 0xdd, + 0x3a8: 0xde, 0x3a9: 0xdf, 0x3aa: 0xe0, + 0x3b0: 0xda, 0x3b5: 0xe1, 0x3b6: 0xe2, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xe3, 0x3ec: 0xe4, + // Block 0x10, offset 0x400 + 0x432: 0xe5, + // Block 0x11, offset 0x440 + 0x445: 0xe6, 0x446: 0xe7, 0x447: 0xe8, + 0x449: 0xe9, + 0x450: 0xea, 0x451: 0xeb, 0x452: 0xec, 0x453: 0xed, 0x454: 0xee, 0x455: 0xef, 0x456: 0xf0, 0x457: 0xf1, + 0x458: 0xf2, 0x459: 0xf3, 0x45a: 0x4c, 0x45b: 0xf4, 0x45c: 0xf5, 0x45d: 0xf6, 0x45e: 0xf7, 0x45f: 0x4d, + // Block 0x12, offset 0x480 + 0x480: 0xf8, + 0x4a3: 0xf9, 0x4a5: 0xfa, + 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x51, 0x4c5: 0xfb, 0x4c6: 0xfc, + 0x4c8: 0x52, 0x4c9: 0xfd, + // Block 0x14, offset 0x500 + 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, + 0x528: 0x5b, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 162 entries, 324 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xde, 0xe2, 0xe8, 0xf9, 0x105, 0x107, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11b, 0x11e, 0x121, 0x123, 0x126, 0x129, 0x12d, 0x132, 0x13b, 0x13d, 0x140, 0x142, 0x14d, 0x158, 0x166, 0x174, 0x184, 0x192, 0x199, 0x19f, 0x1ae, 0x1b2, 0x1b4, 0x1b8, 0x1ba, 0x1bd, 0x1bf, 0x1c2, 0x1c4, 0x1c7, 0x1c9, 0x1cb, 0x1cd, 0x1d9, 0x1e3, 0x1ed, 0x1f0, 0x1f4, 0x1f6, 0x1f8, 0x1fa, 0x1fc, 0x1ff, 0x201, 0x203, 0x205, 0x207, 0x20d, 0x210, 0x214, 0x216, 0x21d, 0x223, 0x229, 0x231, 0x237, 0x23d, 0x243, 0x247, 0x249, 0x24b, 0x24d, 0x24f, 0x255, 0x258, 0x25a, 0x260, 0x263, 0x26b, 0x272, 0x275, 0x278, 0x27a, 0x27d, 0x285, 0x289, 0x290, 0x293, 0x299, 0x29b, 0x29d, 0x2a0, 0x2a2, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2b6, 0x2c3, 0x2cd, 0x2cf, 0x2d1, 0x2d5, 0x2da, 0x2e6, 0x2eb, 0x2f4, 0x2fa, 0x2ff, 0x303, 0x308, 0x30c, 0x31c, 0x32a, 0x338, 0x346, 0x34c, 0x34e, 0x351, 0x35b, 0x35d} + +// nfkcSparseValues: 871 entries, 3484 bytes +var nfkcSparseValues = [871]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x4278, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4264, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425a, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4291, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221c, lo: 0xbc, hi: 0xbc}, + {value: 0x2210, lo: 0xbd, hi: 0xbd}, + {value: 0x22b2, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x426e, lo: 0x98, hi: 0x98}, + {value: 0x4273, lo: 0x99, hi: 0x9a}, + {value: 0x4296, lo: 0x9b, hi: 0x9b}, + {value: 0x425f, lo: 0x9c, hi: 0x9c}, + {value: 0x4282, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0xc, offset 0x70 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x75 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x77 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0xf, offset 0x7f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x10, offset 0x86 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x11, offset 0x89 + {value: 0x0008, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x91 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x13, offset 0x95 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x14, offset 0x99 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x16, offset 0x9d + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x17, offset 0xa6 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x18, offset 0xaa + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x19, offset 0xb1 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1a, offset 0xb6 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1b, offset 0xb9 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xc3 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1d, offset 0xc6 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1e, offset 0xcd + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x1f, offset 0xd5 + {value: 0x0000, lo: 0x03}, + {value: 0x2621, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x20, offset 0xd9 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x21, offset 0xdb + {value: 0x0000, lo: 0x02}, + {value: 0x2636, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x22, offset 0xde + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x2628, lo: 0x9c, hi: 0x9c}, + {value: 0x262f, lo: 0x9d, hi: 0x9d}, + // Block 0x23, offset 0xe2 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x24, offset 0xe8 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x45f4, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x45ff, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x25, offset 0xf9 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0x105 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x27, offset 0x107 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x28, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x29, offset 0x10f + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2a, offset 0x111 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2b, offset 0x113 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2c, offset 0x115 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2d, offset 0x117 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2e, offset 0x119 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x2f, offset 0x11b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x30, offset 0x11e + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x31, offset 0x121 + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x32, offset 0x123 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x33, offset 0x126 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x34, offset 0x129 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x12d + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x36, offset 0x132 + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x37, offset 0x13b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x38, offset 0x13d + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x39, offset 0x140 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3a, offset 0x142 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3b, offset 0x14d + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x158 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429b, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5c, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2691, lo: 0xb3, hi: 0xb3}, + {value: 0x27fe, lo: 0xb4, hi: 0xb4}, + {value: 0x2698, lo: 0xb6, hi: 0xb6}, + {value: 0x2808, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x4269, lo: 0xbe, hi: 0xbe}, + // Block 0x3d, offset 0x166 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x298e, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x174 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x1999, lo: 0xa8, hi: 0xa8}, + // Block 0x3f, offset 0x184 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x40, offset 0x192 + {value: 0x0007, lo: 0x06}, + {value: 0x2180, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x41, offset 0x199 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x42, offset 0x19f + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0x269f, lo: 0xac, hi: 0xad}, + {value: 0x26a6, lo: 0xaf, hi: 0xaf}, + {value: 0x281c, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x43, offset 0x1ae + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x44, offset 0x1b2 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x45, offset 0x1b4 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x46, offset 0x1b8 + {value: 0x0000, lo: 0x01}, + {value: 0x299b, lo: 0x8c, hi: 0x8c}, + // Block 0x47, offset 0x1ba + {value: 0x0263, lo: 0x02}, + {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x48, offset 0x1bd + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x49, offset 0x1bf + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4a, offset 0x1c2 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4b, offset 0x1c4 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4c, offset 0x1c7 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4d, offset 0x1c9 + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x4e, offset 0x1cb + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x4f, offset 0x1cd + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x50, offset 0x1d9 + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x51, offset 0x1e3 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3b, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a41, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a4d, lo: 0xba, hi: 0xbf}, + // Block 0x52, offset 0x1ed + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x53, offset 0x1f0 + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x54, offset 0x1f4 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x55, offset 0x1f6 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x56, offset 0x1f8 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x57, offset 0x1fa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x58, offset 0x1fc + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x59, offset 0x1ff + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5a, offset 0x201 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5b, offset 0x203 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5c, offset 0x205 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5d, offset 0x207 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x5e, offset 0x20d + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x5f, offset 0x210 + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x60, offset 0x214 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x61, offset 0x216 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x62, offset 0x21d + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x63, offset 0x223 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x64, offset 0x229 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x65, offset 0x231 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x66, offset 0x237 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x67, offset 0x23d + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x68, offset 0x243 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x69, offset 0x247 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6a, offset 0x249 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6b, offset 0x24b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6c, offset 0x24d + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6d, offset 0x24f + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x6e, offset 0x255 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x6f, offset 0x258 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa4, hi: 0xa7}, + // Block 0x70, offset 0x25a + {value: 0x0000, lo: 0x05}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x8132, lo: 0x88, hi: 0x8a}, + {value: 0x812d, lo: 0x8b, hi: 0x8b}, + {value: 0x8132, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x8d, hi: 0x90}, + // Block 0x71, offset 0x260 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x263 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x73, offset 0x26b + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x74, offset 0x272 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x75, offset 0x275 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x76, offset 0x278 + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x77, offset 0x27a + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbb, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x78, offset 0x27d + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x79, offset 0x285 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + {value: 0x8132, lo: 0x9e, hi: 0x9e}, + // Block 0x7a, offset 0x289 + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7b, offset 0x290 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7c, offset 0x293 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7d, offset 0x299 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7e, offset 0x29b + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7f, offset 0x29d + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x80, offset 0x2a0 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x81, offset 0x2a2 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb9, hi: 0xb9}, + {value: 0x8102, lo: 0xba, hi: 0xba}, + // Block 0x82, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x83, offset 0x2a7 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x84, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x85, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x86, offset 0x2ae + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x97, hi: 0x97}, + // Block 0x87, offset 0x2b0 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x88, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x89, offset 0x2b4 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x8a, offset 0x2b6 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x8b, offset 0x2c3 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x8c, offset 0x2cd + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x8d, offset 0x2cf + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8e, offset 0x2d1 + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x8f, offset 0x2d5 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x90, offset 0x2da + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x91, offset 0x2e6 + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x92, offset 0x2eb + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x93, offset 0x2f4 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x94, offset 0x2fa + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x95, offset 0x2ff + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x96, offset 0x303 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x97, offset 0x308 + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x98, offset 0x30c + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x99, offset 0x31c + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x9a, offset 0x32a + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x9b, offset 0x338 + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x9c, offset 0x346 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x9d, offset 0x34c + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x9e, offset 0x34e + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x9f, offset 0x351 + {value: 0x0002, lo: 0x09}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1981, lo: 0x8b, hi: 0x8b}, + {value: 0x199c, lo: 0x8c, hi: 0x8c}, + {value: 0x19a2, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc0, lo: 0x8e, hi: 0x8e}, + {value: 0x19ae, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + // Block 0xa0, offset 0x35b + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0xa1, offset 0x35d + {value: 0x0028, lo: 0x09}, + {value: 0x2862, lo: 0x80, hi: 0x80}, + {value: 0x2826, lo: 0x81, hi: 0x81}, + {value: 0x2830, lo: 0x82, hi: 0x82}, + {value: 0x2844, lo: 0x83, hi: 0x84}, + {value: 0x284e, lo: 0x85, hi: 0x86}, + {value: 0x283a, lo: 0x87, hi: 0x87}, + {value: 0x2858, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54514 bytes) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go new file mode 100644 index 0000000..9429069 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go @@ -0,0 +1,7637 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build !go1.10 + +package norm + +import "sync" + +const ( + // Version is the Unicode edition from which the tables are derived. + Version = "9.0.0" + + // MaxTransformChunkSize indicates the maximum number of bytes that Transform + // may need to write atomically for any Form. Making a destination buffer at + // least this size ensures that Transform can always make progress and that + // the user does not need to grow the buffer on an ErrShortDst. + MaxTransformChunkSize = 35 + maxNonStarters*4 +) + +var ccc = [55]uint8{ + 0, 1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 84, 91, 103, 107, 118, 122, 129, 130, + 132, 202, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 233, 234, 240, +} + +const ( + firstMulti = 0x186D + firstCCC = 0x2C9E + endMulti = 0x2F60 + firstLeadingCCC = 0x49AE + firstCCCZeroExcept = 0x4A78 + firstStarterWithNLead = 0x4A9F + lastDecomp = 0x4AA1 + maxDecomp = 0x8000 +) + +// decomps: 19105 bytes +var decomps = [...]byte{ + // Bytes 0 - 3f + 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, + 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, + 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, + 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, + 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, + 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, + 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, + 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, + // Bytes 40 - 7f + 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, + 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, + 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, + 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, + 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, + 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, + 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, + 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, + // Bytes 80 - bf + 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, + 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, + 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, + 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, + 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, + 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, + 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, + 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, + // Bytes c0 - ff + 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, + 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, + 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, + 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, + 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, + 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, + 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, + 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, + // Bytes 100 - 13f + 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, + 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, + 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, + 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, + 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, + 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, + 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, + 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, + // Bytes 140 - 17f + 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, + 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, + 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, + 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, + 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, + 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, + 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, + 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, + // Bytes 180 - 1bf + 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, + 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, + 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, + 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, + 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, + 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, + 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, + 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, + // Bytes 1c0 - 1ff + 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, + 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, + 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, + 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, + 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, + 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, + 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, + 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, + // Bytes 200 - 23f + 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, + 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, + 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, + 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, + 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, + 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, + 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, + 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, + // Bytes 240 - 27f + 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, + 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, + 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, + 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, + 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, + 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, + 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, + 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, + // Bytes 280 - 2bf + 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, + 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, + 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, + 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, + 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, + 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, + 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, + 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, + // Bytes 2c0 - 2ff + 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, + 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, + 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, + 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, + 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, + 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, + 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, + 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, + // Bytes 300 - 33f + 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, + 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, + 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, + 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, + 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, + 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, + 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, + 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, + // Bytes 340 - 37f + 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, + 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, + 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, + 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, + 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, + 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, + 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, + 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, + // Bytes 380 - 3bf + 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, + 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, + 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, + 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, + 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, + 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, + 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, + 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, + // Bytes 3c0 - 3ff + 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, + 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, + 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, + 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, + 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, + 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, + 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, + 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, + // Bytes 400 - 43f + 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, + 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, + 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, + 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, + 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, + 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, + 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, + 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, + // Bytes 440 - 47f + 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, + 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, + 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, + 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, + 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, + 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, + 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, + 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, + // Bytes 480 - 4bf + 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, + 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, + 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, + 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, + 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, + 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, + 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, + 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, + // Bytes 4c0 - 4ff + 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, + 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, + 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, + 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, + 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, + 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, + 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, + 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, + // Bytes 500 - 53f + 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, + 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, + 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, + 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, + 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, + 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, + 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, + 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, + // Bytes 540 - 57f + 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, + 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, + 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, + 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, + 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, + 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, + 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, + 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, + // Bytes 580 - 5bf + 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, + 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, + 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, + 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, + 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, + 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, + 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, + 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, + // Bytes 5c0 - 5ff + 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, + 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, + 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, + 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, + 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, + 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, + 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, + 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, + // Bytes 600 - 63f + 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, + 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, + 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, + 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, + 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, + 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, + 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, + 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, + // Bytes 640 - 67f + 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, + 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, + 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, + 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, + 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, + 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, + 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, + 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, + // Bytes 680 - 6bf + 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, + 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, + 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, + 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, + 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, + 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, + 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, + 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, + // Bytes 6c0 - 6ff + 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, + 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, + 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, + 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, + 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, + 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, + 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, + 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, + // Bytes 700 - 73f + 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, + 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, + 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, + 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, + 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, + 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, + 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, + 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, + // Bytes 740 - 77f + 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, + 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, + 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, + 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, + 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, + 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, + 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, + 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, + // Bytes 780 - 7bf + 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, + 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, + 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, + 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, + 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, + 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, + 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, + 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, + // Bytes 7c0 - 7ff + 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, + 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, + 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, + 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, + 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, + 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, + 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, + 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, + // Bytes 800 - 83f + 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, + 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, + 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, + 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, + 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, + 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, + 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, + 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, + // Bytes 840 - 87f + 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, + 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, + 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, + 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, + 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, + 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, + 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, + 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, + // Bytes 880 - 8bf + 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, + 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, + 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, + 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, + 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, + 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, + 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, + 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, + // Bytes 8c0 - 8ff + 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, + 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, + 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, + 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, + 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, + 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, + 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, + 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, + // Bytes 900 - 93f + 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, + 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, + 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, + 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, + 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, + 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, + 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, + 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, + // Bytes 940 - 97f + 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, + 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, + 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, + 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, + 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, + 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, + 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, + 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, + // Bytes 980 - 9bf + 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, + 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, + 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, + 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, + 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, + 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, + 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, + 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, + // Bytes 9c0 - 9ff + 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, + 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, + 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, + 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, + 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, + 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, + 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, + 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, + // Bytes a00 - a3f + 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, + 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, + 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, + 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, + 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, + 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, + 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, + 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, + // Bytes a40 - a7f + 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, + 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, + 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, + 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, + 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, + 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, + 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, + 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, + // Bytes a80 - abf + 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, + 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, + 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, + 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, + 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, + 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, + 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, + 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, + // Bytes ac0 - aff + 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, + 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, + 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, + 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, + 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, + 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, + 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, + 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, + // Bytes b00 - b3f + 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, + 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, + 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, + 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, + 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, + 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, + 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, + 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, + // Bytes b40 - b7f + 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, + 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, + 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, + 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, + 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, + 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, + 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, + 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, + // Bytes b80 - bbf + 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, + 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, + 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, + 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, + 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, + 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, + 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, + 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, + // Bytes bc0 - bff + 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, + 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, + 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, + 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, + 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, + 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, + 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, + 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, + // Bytes c00 - c3f + 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, + 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, + 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, + 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, + 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, + 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, + 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, + 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, + // Bytes c40 - c7f + 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, + 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, + 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, + 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, + 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, + 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, + 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, + 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, + // Bytes c80 - cbf + 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, + 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, + 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, + 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, + 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, + 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, + 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, + 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, + // Bytes cc0 - cff + 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, + 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, + 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, + 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, + 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, + 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, + 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, + 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, + // Bytes d00 - d3f + 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, + 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, + 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, + 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, + 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, + 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, + 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, + 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, + // Bytes d40 - d7f + 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, + 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, + 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, + 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, + 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, + 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, + 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, + 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, + // Bytes d80 - dbf + 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, + 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, + 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, + 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, + 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, + 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, + 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, + 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, + // Bytes dc0 - dff + 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, + 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, + 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, + 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, + 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, + 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, + 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, + 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, + // Bytes e00 - e3f + 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, + 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, + 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, + 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, + 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, + 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, + 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, + 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, + // Bytes e40 - e7f + 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, + 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, + 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, + 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, + 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, + 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, + 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, + 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, + // Bytes e80 - ebf + 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, + 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, + 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, + 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, + 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, + 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, + 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, + 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, + // Bytes ec0 - eff + 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, + 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, + 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, + 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, + 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, + 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, + 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, + 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, + // Bytes f00 - f3f + 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, + 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, + 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, + 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, + 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, + 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, + 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, + 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, + // Bytes f40 - f7f + 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, + 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, + 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, + 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, + 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, + 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, + 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, + 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, + // Bytes f80 - fbf + 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, + 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, + 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, + 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, + 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, + 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, + 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, + 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, + // Bytes fc0 - fff + 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, + 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, + 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, + 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, + 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, + 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, + 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, + 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, + // Bytes 1000 - 103f + 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, + 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, + 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, + 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, + 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, + 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, + 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, + 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, + // Bytes 1040 - 107f + 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, + 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, + 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, + 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, + 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, + 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, + 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, + 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, + // Bytes 1080 - 10bf + 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, + 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, + 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, + 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, + 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, + 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, + 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, + 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, + // Bytes 10c0 - 10ff + 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, + 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, + 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, + 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, + 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, + 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, + 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, + 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, + // Bytes 1100 - 113f + 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, + 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, + 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, + 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, + 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, + 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, + 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, + 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, + // Bytes 1140 - 117f + 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, + 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, + 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, + 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, + 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, + 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, + 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, + 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, + // Bytes 1180 - 11bf + 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, + 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, + 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, + 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, + 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, + 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, + 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, + 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, + // Bytes 11c0 - 11ff + 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, + 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, + 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, + 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, + 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, + 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, + 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, + 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, + // Bytes 1200 - 123f + 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, + 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, + 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, + 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, + 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, + 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, + 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, + 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, + // Bytes 1240 - 127f + 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, + 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, + 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, + 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, + 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, + 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, + 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, + 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, + // Bytes 1280 - 12bf + 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, + 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, + 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, + 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, + 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, + 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, + 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, + 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, + // Bytes 12c0 - 12ff + 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, + 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, + 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, + 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, + 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, + 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, + 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, + 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, + // Bytes 1300 - 133f + 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, + 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, + 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, + 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, + 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, + 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, + 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, + 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, + // Bytes 1340 - 137f + 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, + 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, + 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, + 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, + 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, + 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, + 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, + 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, + // Bytes 1380 - 13bf + 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, + 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, + 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, + 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, + 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, + 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, + 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, + 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, + // Bytes 13c0 - 13ff + 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, + 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, + 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, + 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, + 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, + 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, + 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, + 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, + // Bytes 1400 - 143f + 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, + 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, + 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, + 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, + 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, + 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, + 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, + 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, + // Bytes 1440 - 147f + 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, + 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, + 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, + 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, + 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, + 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, + 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, + 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, + // Bytes 1480 - 14bf + 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, + 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, + 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, + 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, + 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, + 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, + 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, + 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, + // Bytes 14c0 - 14ff + 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, + 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, + 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, + 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, + 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, + 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, + 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, + 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, + // Bytes 1500 - 153f + 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, + 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, + 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, + 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, + 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, + 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, + 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, + 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, + // Bytes 1540 - 157f + 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, + 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, + 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, + 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, + 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, + 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, + 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, + 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, + // Bytes 1580 - 15bf + 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, + 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, + 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, + 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, + 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, + 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, + 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, + 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, + // Bytes 15c0 - 15ff + 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, + 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, + 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, + 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, + 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, + 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, + 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, + 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, + // Bytes 1600 - 163f + 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, + 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, + 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, + 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, + 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, + 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, + 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, + 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, + // Bytes 1640 - 167f + 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, + 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, + 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, + 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, + 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, + 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, + 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, + 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, + // Bytes 1680 - 16bf + 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, + 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, + 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, + 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, + 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, + 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, + 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, + 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, + // Bytes 16c0 - 16ff + 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, + 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, + 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, + 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, + 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, + 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, + 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, + 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, + // Bytes 1700 - 173f + 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, + 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, + 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, + 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, + 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, + 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, + 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, + 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, + // Bytes 1740 - 177f + 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, + 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, + 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, + 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, + 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, + 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, + 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, + 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, + // Bytes 1780 - 17bf + 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, + 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, + 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, + 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, + 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, + 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, + 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, + 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, + // Bytes 17c0 - 17ff + 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, + 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, + 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, + 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, + 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, + 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, + 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, + 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, + // Bytes 1800 - 183f + 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, + 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, + 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, + 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, + 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, + 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, + 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, + 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, + // Bytes 1840 - 187f + 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, + 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, + 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, + 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, + 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, + 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, + 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, + 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, + // Bytes 1880 - 18bf + 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, + 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, + 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, + 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, + 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, + 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, + 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, + 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, + // Bytes 18c0 - 18ff + 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, + 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, + 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, + 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, + 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, + 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, + 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, + 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, + // Bytes 1900 - 193f + 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, + 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, + 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, + 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, + 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, + 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, + 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, + 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, + // Bytes 1940 - 197f + 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, + 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, + 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, + 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, + 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, + 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, + 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, + 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, + // Bytes 1980 - 19bf + 0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, + 0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, + 0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, + 0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, + 0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, + 0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, + 0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, + 0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, + // Bytes 19c0 - 19ff + 0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, + 0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, + 0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, + 0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, + 0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, + 0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, + 0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, + 0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, + // Bytes 1a00 - 1a3f + 0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, + 0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, + 0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, + 0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, + 0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, + 0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, + 0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, + 0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, + // Bytes 1a40 - 1a7f + 0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, + 0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, + 0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, + 0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, + 0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, + 0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, + 0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, + 0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, + // Bytes 1a80 - 1abf + 0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, + 0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, + 0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, + 0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, + 0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, + 0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, + 0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, + 0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, + // Bytes 1ac0 - 1aff + 0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, + 0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, + 0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, + 0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, + 0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, + 0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, + 0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, + 0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, + // Bytes 1b00 - 1b3f + 0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, + 0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, + 0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, + 0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, + 0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, + 0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, + 0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, + 0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, + // Bytes 1b40 - 1b7f + 0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, + 0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, + 0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, + 0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, + 0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, + 0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, + 0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, + 0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, + // Bytes 1b80 - 1bbf + 0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, + 0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, + 0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, + 0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, + 0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, + 0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, + 0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, + 0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, + // Bytes 1bc0 - 1bff + 0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, + 0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, + 0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, + 0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, + 0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, + 0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, + 0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, + // Bytes 1c00 - 1c3f + 0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, + 0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, + 0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, + 0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, + 0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, + 0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, + 0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, + 0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, + // Bytes 1c40 - 1c7f + 0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, + 0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, + 0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, + 0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, + 0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, + 0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, + 0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, + 0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, + // Bytes 1c80 - 1cbf + 0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, + 0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, + 0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, + 0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, + 0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, + 0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, + 0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, + 0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, + // Bytes 1cc0 - 1cff + 0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, + 0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, + 0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, + 0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, + 0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, + 0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, + 0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, + 0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, + // Bytes 1d00 - 1d3f + 0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, + 0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, + 0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, + 0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, + 0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, + 0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, + 0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, + 0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, + // Bytes 1d40 - 1d7f + 0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, + 0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, + 0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, + 0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, + 0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, + 0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, + 0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, + 0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, + // Bytes 1d80 - 1dbf + 0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, + 0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, + 0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, + 0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, + 0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, + 0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, + 0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, + 0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, + // Bytes 1dc0 - 1dff + 0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, + 0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, + 0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, + 0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, + 0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, + 0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, + 0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, + 0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, + // Bytes 1e00 - 1e3f + 0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, + 0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, + 0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, + 0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, + 0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, + 0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, + 0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, + 0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, + // Bytes 1e40 - 1e7f + 0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, + 0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, + 0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, + 0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, + 0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, + 0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, + 0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, + 0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, + // Bytes 1e80 - 1ebf + 0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, + 0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, + 0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, + 0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, + 0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, + 0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, + 0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, + 0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, + // Bytes 1ec0 - 1eff + 0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, + 0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, + 0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, + 0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, + 0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, + 0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, + 0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, + 0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, + // Bytes 1f00 - 1f3f + 0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, + 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, + 0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, + 0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, + 0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, + 0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, + 0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, + 0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, + // Bytes 1f40 - 1f7f + 0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, + 0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, + 0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, + 0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, + 0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, + 0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, + 0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, + 0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, + // Bytes 1f80 - 1fbf + 0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, + 0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, + 0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, + 0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, + 0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, + 0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, + 0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, + 0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, + // Bytes 1fc0 - 1fff + 0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, + 0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, + 0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, + 0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, + 0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, + 0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, + 0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, + 0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, + // Bytes 2000 - 203f + 0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, + 0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, + 0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, + 0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, + 0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, + 0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, + 0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, + 0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, + // Bytes 2040 - 207f + 0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, + 0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, + 0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, + 0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, + // Bytes 2080 - 20bf + 0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, + 0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, + 0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, + 0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, + 0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, + 0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, + 0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, + // Bytes 20c0 - 20ff + 0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, + 0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, + 0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, + 0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, + 0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, + 0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, + 0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, + 0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, + // Bytes 2100 - 213f + 0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, + 0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, + 0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, + 0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, + 0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, + 0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, + 0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, + 0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, + // Bytes 2140 - 217f + 0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, + 0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, + 0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, + 0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, + 0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, + 0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, + 0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, + 0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, + // Bytes 2180 - 21bf + 0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, + 0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, + 0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, + 0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, + // Bytes 21c0 - 21ff + 0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, + 0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, + // Bytes 2200 - 223f + 0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, + 0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, + 0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, + 0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, + // Bytes 2240 - 227f + 0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, + 0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, + // Bytes 2280 - 22bf + 0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, + 0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, + 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, + 0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, + 0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, + 0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, + 0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, + // Bytes 22c0 - 22ff + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, + 0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, + 0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, + 0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, + 0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, + 0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, + 0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, + 0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, + // Bytes 2300 - 233f + 0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, + 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, + 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, + // Bytes 2340 - 237f + 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, + 0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, + 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, + 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, + 0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, + // Bytes 2380 - 23bf + 0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, + 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, + 0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, + 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, + 0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, + // Bytes 23c0 - 23ff + 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, + 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, + 0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, + 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, + 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, + 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, + 0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, + 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, + // Bytes 2400 - 243f + 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, + 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, + 0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, + 0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, + 0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, + 0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, + 0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, + // Bytes 2440 - 247f + 0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, + 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, + 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, + 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, + 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, + 0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, + // Bytes 2480 - 24bf + 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, + 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, + 0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, + 0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, + 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, + 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, + 0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, + // Bytes 24c0 - 24ff + 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, + 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, + 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, + 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, + 0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, + 0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, + 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, + 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, + // Bytes 2500 - 253f + 0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, + 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, + 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, + 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, + 0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, + 0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, + 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, + 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, + // Bytes 2540 - 257f + 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, + 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, + 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, + 0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, + 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, + 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, + 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, + 0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, + // Bytes 2580 - 25bf + 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, + 0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, + 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, + 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, + 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, + 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, + 0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, + // Bytes 25c0 - 25ff + 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, + 0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, + 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, + 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, + 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, + // Bytes 2600 - 263f + 0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, + 0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, + 0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, + 0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, + 0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, + 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, + 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, + 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, + // Bytes 2640 - 267f + 0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, + 0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, + 0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, + 0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, + 0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, + 0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, + // Bytes 2680 - 26bf + 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, + 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, + 0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, + 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, + 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, + 0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, + 0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, + // Bytes 26c0 - 26ff + 0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, + 0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, + 0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, + 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, + 0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, + 0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, + 0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, + 0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, + // Bytes 2700 - 273f + 0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90, + 0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46, + 0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72, + 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3, + 0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28, + 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29, + 0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, + // Bytes 2740 - 277f + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, + 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48, + 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29, + // Bytes 2780 - 27bf + 0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, + 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85, + 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1, + 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91, + 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, + 0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61, + 0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8, + 0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48, + // Bytes 27c0 - 27ff + 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, + 0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9, + 0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, + 0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8, + 0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84, + 0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8, + 0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2, + // Bytes 2800 - 283f + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2, + 0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88, + 0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE, + 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3, + 0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B, + // Bytes 2840 - 287f + 0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95, + 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3, + 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C, + 0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, + 0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3, + 0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95, + // Bytes 2880 - 28bf + 0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6, + 0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, + 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, + 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1, + // Bytes 28c0 - 28ff + 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3, + 0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A, + 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, + 0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3, + 0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3, + // Bytes 2900 - 293f + 0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3, + 0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98, + 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3, + // Bytes 2940 - 297f + 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, + 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82, + 0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3, + 0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF, + 0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82, + // Bytes 2980 - 29bf + 0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF, + 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2, + 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, + 0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2, + 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, + 0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82, + 0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3, + // Bytes 29c0 - 29ff + 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB, + 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, + 0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD, + 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B, + // Bytes 2a00 - 2a3f + 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, + 0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, + 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, + 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3, + 0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82, + 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2a40 - 2a7f + 0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, + 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF, + 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, + // Bytes 2a80 - 2abf + 0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83, + 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3, + 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C, + 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82, + 0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F, + 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, + 0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, + // Bytes 2ac0 - 2aff + 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, + 0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, + 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3, + 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, + 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1, + 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92, + 0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9, + // Bytes 2b00 - 2b3f + 0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7, + 0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2, + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82, + 0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5, + // Bytes 2b40 - 2b7f + 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B, + 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E, + // Bytes 2b80 - 2bbf + 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, + 0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB, + 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84, + 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3, + // Bytes 2bc0 - 2bff + 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, + 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + 0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD, + 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83, + 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, + 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, + // Bytes 2c00 - 2c3f + 0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3, + 0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83, + 0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3, + 0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83, + 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, + 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, + 0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, + 0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, + // Bytes 2c40 - 2c7f + 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3, + 0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, + 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3, + 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F, + 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + 0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, + 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82, + 0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9, + // Bytes 2c80 - 2cbf + 0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84, + 0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9, + 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88, + 0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0, + 0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0, + 0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2cc0 - 2cff + 0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0, + 0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0, + 0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0, + 0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0, + 0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0, + // Bytes 2d00 - 2d3f + 0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0, + 0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0, + 0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1, + 0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1, + 0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + // Bytes 2d40 - 2d7f + 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1, + 0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0, + // Bytes 2d80 - 2dbf + 0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01, + 0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84, + 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, + 0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D, + 0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0, + 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01, + 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, + 0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, + // Bytes 2dc0 - 2dff + 0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96, + 0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, + 0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01, + 0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, + 0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, + 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44, + 0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC, + 0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9, + // Bytes 2e00 - 2e3f + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, + 0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e40 - 2e7f + 0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, + 0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, + // Bytes 2e80 - 2ebf + 0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, + 0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, + 0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, + 0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, + 0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, + 0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, + 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, + 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, + // Bytes 2ec0 - 2eff + 0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83, + 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, + 0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, + 0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, + 0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, + 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, + 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82, + 0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, + // Bytes 2f00 - 2f3f + 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, + 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, + 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F, + 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, + 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, + 0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, + 0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95, + // Bytes 2f40 - 2f7f + 0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, + 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, + 0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, + 0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, + 0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, + 0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81, + 0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41, + // Bytes 2f80 - 2fbf + 0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9, + 0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC, + 0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03, + 0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8, + 0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42, + 0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5, + 0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC, + 0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03, + // Bytes 2fc0 - 2fff + 0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87, + 0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44, + 0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5, + 0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC, + 0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03, + 0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83, + 0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45, + 0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9, + // Bytes 3000 - 303f + 0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC, + 0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03, + 0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8, + 0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45, + 0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9, + 0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC, + 0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03, + 0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87, + // Bytes 3040 - 307f + 0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47, + 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9, + 0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC, + 0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03, + 0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7, + 0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49, + 0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9, + 0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC, + // Bytes 3080 - 30bf + 0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03, + 0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87, + 0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49, + 0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9, + 0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC, + 0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03, + 0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82, + 0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B, + // Bytes 30c0 - 30ff + 0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5, + 0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC, + 0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03, + 0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7, + 0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C, + 0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9, + 0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC, + 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03, + // Bytes 3100 - 313f + 0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83, + 0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E, + 0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5, + 0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC, + 0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03, + 0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81, + 0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F, + 0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9, + // Bytes 3140 - 317f + 0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC, + 0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03, + 0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87, + 0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52, + 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9, + 0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC, + 0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03, + 0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82, + // Bytes 3180 - 31bf + 0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53, + 0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5, + 0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC, + 0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03, + 0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7, + 0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54, + 0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9, + 0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC, + // Bytes 31c0 - 31ff + 0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03, + 0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A, + 0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55, + 0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9, + 0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC, + 0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03, + 0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD, + 0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56, + // Bytes 3200 - 323f + 0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5, + 0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC, + 0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03, + 0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88, + 0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58, + 0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9, + 0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC, + 0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03, + // Bytes 3240 - 327f + 0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84, + 0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59, + 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9, + 0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC, + 0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03, + 0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C, + 0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, + 0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9, + // Bytes 3280 - 32bf + 0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC, + 0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03, + 0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C, + 0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61, + 0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5, + 0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC, + 0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03, + 0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81, + // Bytes 32c0 - 32ff + 0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63, + 0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9, + 0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC, + 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03, + 0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD, + 0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65, + 0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9, + 0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC, + // Bytes 3300 - 333f + 0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03, + 0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89, + 0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65, + 0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9, + 0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC, + 0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03, + 0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81, + 0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67, + // Bytes 3340 - 337f + 0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9, + 0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, + 0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03, + 0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87, + 0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68, + 0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5, + 0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC, + 0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03, + // Bytes 3380 - 33bf + 0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81, + 0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69, + 0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9, + 0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC, + 0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03, + 0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91, + 0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69, + 0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5, + // Bytes 33c0 - 33ff + 0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC, + 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03, + 0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3, + 0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B, + 0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9, + 0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC, + 0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03, + 0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81, + // Bytes 3400 - 343f + 0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D, + 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9, + 0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC, + 0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03, + 0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3, + 0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E, + 0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5, + 0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC, + // Bytes 3440 - 347f + 0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03, + 0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B, + 0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F, + 0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9, + 0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC, + 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03, + 0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C, + 0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72, + // Bytes 3480 - 34bf + 0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5, + 0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC, + 0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03, + 0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7, + 0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74, + 0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9, + 0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC, + 0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03, + // Bytes 34c0 - 34ff + 0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1, + 0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75, + 0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9, + 0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC, + 0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03, + 0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C, + 0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75, + 0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5, + // Bytes 3500 - 353f + 0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC, + 0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03, + 0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83, + 0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77, + 0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9, + 0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC, + 0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03, + 0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3, + // Bytes 3540 - 357f + 0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78, + 0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9, + 0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC, + 0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03, + 0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87, + 0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79, + 0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9, + 0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC, + // Bytes 3580 - 35bf + 0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03, + 0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C, + 0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, + 0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80, + 0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04, + 0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86, + 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84, + 0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04, + // Bytes 35c0 - 35ff + 0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6, + 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81, + 0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04, + 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92, + 0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85, + // Bytes 3600 - 363f + 0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04, + 0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F, + // Bytes 3640 - 367f + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5, + 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84, + 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04, + 0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9, + 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81, + 0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04, + // Bytes 3680 - 36bf + 0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85, + 0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7, + 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80, + 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04, + 0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9, + 0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82, + // Bytes 36c0 - 36ff + 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04, + 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81, + 0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94, + 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04, + 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85, + 0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86, + 0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04, + 0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92, + // Bytes 3700 - 373f + 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81, + 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3740 - 377f + 0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84, + 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04, + 0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A, + 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04, + 0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, + // Bytes 3780 - 37bf + 0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD, + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5, + 0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86, + 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04, + 0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6, + // Bytes 37c0 - 37ff + 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04, + 0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8, + 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88, + 0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04, + 0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83, + 0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86, + 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04, + // Bytes 3800 - 383f + 0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87, + 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88, + 0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04, + 0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4, + 0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, + 0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04, + 0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8, + 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88, + // Bytes 3840 - 387f + 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04, + 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7, + 0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94, + 0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04, + 0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92, + 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94, + 0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + // Bytes 3880 - 38bf + 0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, + 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86, + 0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, + 0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, + 0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA, + 0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, + 0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41, + // Bytes 38c0 - 38ff + 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC, + 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7, + 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, + 0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, + 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA, + 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, + 0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45, + 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, + // Bytes 3900 - 393f + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7, + 0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC, + 0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, + 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, + 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, + 0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F, + 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, + 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83, + // Bytes 3940 - 397f + 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC, + 0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, + 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, + 0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + 0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F, + 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, + 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, + 0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, + // Bytes 3980 - 39bf + 0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, + 0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, + 0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, + 0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53, + 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, + 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3, + 0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC, + 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, + // Bytes 39c0 - 39ff + 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, + 0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55, + 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B, + 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + // Bytes 3a00 - 3a3f + 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86, + 0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, + 0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, + 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA, + 0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, + // Bytes 3a40 - 3a7f + 0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61, + 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, + 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3, + 0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC, + 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, + 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA, + 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, + 0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65, + // Bytes 3a80 - 3abf + 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, + 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3, + 0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC, + 0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, + 0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, + 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, + 0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F, + 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, + // Bytes 3ac0 - 3aff + 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83, + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, + 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, + 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA, + 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, + 0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, + 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, + // Bytes 3b00 - 3b3f + 0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, + 0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, + 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, + 0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, + 0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72, + 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC, + 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C, + 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC, + // Bytes 3b40 - 3b7f + 0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, + 0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA, + 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05, + 0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75, + 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC, + 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B, + 0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, + 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, + // Bytes 3b80 - 3bbf + 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA, + 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05, + 0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1, + 0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE, + 0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, + 0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, + 0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, + 0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, + // Bytes 3bc0 - 3bff + 0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, + 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, + // Bytes 3c00 - 3c3f + 0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + // Bytes 3c40 - 3c7f + 0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, + 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + // Bytes 3c80 - 3cbf + 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, + 0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, + 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, + 0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, + 0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, + // Bytes 3cc0 - 3cff + 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, + 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, + 0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, + 0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + // Bytes 3d00 - 3d3f + 0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3d40 - 3d7f + 0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + // Bytes 3d80 - 3dbf + 0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + // Bytes 3dc0 - 3dff + 0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + // Bytes 3e00 - 3e3f + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + // Bytes 3e40 - 3e7f + 0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA, + // Bytes 3e80 - 3ebf + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA, + 0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA, + 0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA, + // Bytes 3ec0 - 3eff + 0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA, + 0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA, + 0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09, + 0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85, + 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11, + // Bytes 3f00 - 3f3f + 0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f40 - 3f7f + 0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 3f80 - 3fbf + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D, + // Bytes 3fc0 - 3fff + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4000 - 403f + 0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4040 - 407f + 0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 4080 - 40bf + 0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, + 0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D, + // Bytes 40c0 - 40ff + 0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D, + 0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D, + 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + // Bytes 4100 - 413f + 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + // Bytes 4140 - 417f + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, + // Bytes 4180 - 41bf + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + // Bytes 41c0 - 41ff + 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, + 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, + 0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, + 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, + 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, + 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + // Bytes 4200 - 423f + 0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, + 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, + 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, + 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, + 0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, + 0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, + // Bytes 4240 - 427f + 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, + 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, + 0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2, + 0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43, + 0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84, + 0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20, + 0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9, + 0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC, + // Bytes 4280 - 42bf + 0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43, + 0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94, + 0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20, + 0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5, + 0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD, + 0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43, + 0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D, + 0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20, + // Bytes 42c0 - 42ff + 0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D, + 0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9, + 0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43, + 0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82, + 0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D, + 0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE, + 0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9, + // Bytes 4300 - 433f + 0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, + 0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC, + 0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, + 0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE, + 0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC, + // Bytes 4340 - 437f + 0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9, + 0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7, + 0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7, + // Bytes 4380 - 43bf + 0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7, + 0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7, + 0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41, + // Bytes 43c0 - 43ff + 0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49, + 0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7, + 0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6, + 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41, + 0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7, + 0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6, + // Bytes 4400 - 443f + 0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31, + 0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8, + 0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, + 0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, + 0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8, + 0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9, + 0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65, + 0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9, + // Bytes 4440 - 447f + 0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9, + 0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75, + 0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9, + 0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9, + 0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, + 0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB, + 0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88, + 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC, + // Bytes 4480 - 44bf + 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, + 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA, + 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45, + 0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20, + 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, + 0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94, + 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9, + 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, + // Bytes 44c0 - 44ff + 0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72, + 0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45, + 0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20, + 0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB, + 0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC, + 0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6, + 0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6, + // Bytes 4500 - 453f + 0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9, + 0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9, + 0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1, + // Bytes 4540 - 457f + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF, + 0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF, + 0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97, + // Bytes 4580 - 45bf + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8, + 0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2, + 0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3, + // Bytes 45c0 - 45ff + 0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86, + 0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85, + 0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, + 0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + 0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2, + 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49, + // Bytes 4600 - 463f + 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, + 0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, + 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, + 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, + 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + // Bytes 4640 - 467f + 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE, + 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, + 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, + 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, + 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, + 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, + 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, + // Bytes 4680 - 46bf + 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, + 0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC, + 0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83, + 0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A, + 0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43, + 0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9, + 0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC, + 0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83, + // Bytes 46c0 - 46ff + 0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3, + 0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F, + 0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9, + 0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC, + 0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83, + 0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8, + 0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53, + 0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9, + // Bytes 4700 - 473f + 0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC, + 0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83, + 0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B, + 0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61, + 0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9, + 0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC, + 0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83, + 0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82, + // Bytes 4740 - 477f + 0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65, + 0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5, + 0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC, + 0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83, + 0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84, + 0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F, + 0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD, + 0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, + // Bytes 4780 - 47bf + 0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83, + 0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C, + 0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75, + 0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9, + 0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC, + 0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC, + // Bytes 47c0 - 47ff + 0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE, + 0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE, + // Bytes 4800 - 483f + 0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, + 0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9, + 0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE, + 0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9, + 0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE, + 0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9, + // Bytes 4840 - 487f + 0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE, + 0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, + 0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9, + 0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF, + 0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC, + 0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF, + 0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC, + // Bytes 4880 - 48bf + 0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9, + 0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + // Bytes 48c0 - 48ff + 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + // Bytes 4900 - 493f + 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + // Bytes 4940 - 497f + 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE, + 0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + // Bytes 4980 - 49bf + 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF, + 0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC, + 0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32, + 0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85, + // Bytes 49c0 - 49ff + 0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, + // Bytes 4a00 - 4a3f + 0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, + 0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, + 0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, + 0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, + // Bytes 4a40 - 4a7f + 0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, + 0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, + 0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, + 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, + 0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32, + 0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3, + // Bytes 4a80 - 4abf + 0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1, + 0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD, + 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0, + 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00, + 0x01, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfcValues[c0] + } + i := nfcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfcTrie. Total size: 10332 bytes (10.09 KiB). Checksum: 51cc525b297fc970. +type nfcTrie struct{} + +func newNfcTrie(i int) *nfcTrie { + return &nfcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 44: + return uint16(nfcValues[n<<6+uint32(b)]) + default: + n -= 44 + return uint16(nfcSparse.lookup(n, b)) + } +} + +// nfcValues: 46 blocks, 2944 entries, 5888 bytes +// The third block is the zero block. +var nfcValues = [2944]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, + // Block 0x5, offset 0x140 + 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000, + // Block 0x6, offset 0x180 + 0x184: 0x8100, 0x185: 0x8100, + 0x186: 0x8100, + 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x8100, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x8100, 0x285: 0x35a1, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b, + 0x2c6: 0xa000, 0x2c7: 0x3709, + 0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000, + 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, + 0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000, + 0x2de: 0xa000, 0x2e3: 0xa000, + 0x2e7: 0xa000, + 0x2eb: 0xa000, 0x2ed: 0xa000, + 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, + 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000, + 0x2fe: 0xa000, + // Block 0xc, offset 0x300 + 0x301: 0x3733, 0x302: 0x37b7, + 0x310: 0x370f, 0x311: 0x3793, + 0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab, + 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd, + 0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf, + 0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000, + 0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed, + 0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805, + 0x338: 0x3787, 0x339: 0x380b, + // Block 0xd, offset 0x340 + 0x351: 0x812d, + 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, + 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, + 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, + 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, + 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, + 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, + 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, + 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, + // Block 0xe, offset 0x380 + 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, + 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, + 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x812d, + 0x3b0: 0x811e, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xa000, + 0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000, + 0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000, + 0x3d2: 0x2d4e, + 0x3f4: 0x8102, 0x3f5: 0x9900, + 0x3fa: 0xa000, 0x3fb: 0x2d56, + 0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000, + // Block 0x10, offset 0x400 + 0x400: 0x2f97, 0x401: 0x32a3, 0x402: 0x2fa1, 0x403: 0x32ad, 0x404: 0x2fa6, 0x405: 0x32b2, + 0x406: 0x2fab, 0x407: 0x32b7, 0x408: 0x38cc, 0x409: 0x3a5b, 0x40a: 0x2fc4, 0x40b: 0x32d0, + 0x40c: 0x2fce, 0x40d: 0x32da, 0x40e: 0x2fdd, 0x40f: 0x32e9, 0x410: 0x2fd3, 0x411: 0x32df, + 0x412: 0x2fd8, 0x413: 0x32e4, 0x414: 0x38ef, 0x415: 0x3a7e, 0x416: 0x38f6, 0x417: 0x3a85, + 0x418: 0x3019, 0x419: 0x3325, 0x41a: 0x301e, 0x41b: 0x332a, 0x41c: 0x3904, 0x41d: 0x3a93, + 0x41e: 0x3023, 0x41f: 0x332f, 0x420: 0x3032, 0x421: 0x333e, 0x422: 0x3050, 0x423: 0x335c, + 0x424: 0x305f, 0x425: 0x336b, 0x426: 0x3055, 0x427: 0x3361, 0x428: 0x3064, 0x429: 0x3370, + 0x42a: 0x3069, 0x42b: 0x3375, 0x42c: 0x30af, 0x42d: 0x33bb, 0x42e: 0x390b, 0x42f: 0x3a9a, + 0x430: 0x30b9, 0x431: 0x33ca, 0x432: 0x30c3, 0x433: 0x33d4, 0x434: 0x30cd, 0x435: 0x33de, + 0x436: 0x46c4, 0x437: 0x4755, 0x438: 0x3912, 0x439: 0x3aa1, 0x43a: 0x30e6, 0x43b: 0x33f7, + 0x43c: 0x30e1, 0x43d: 0x33f2, 0x43e: 0x30eb, 0x43f: 0x33fc, + // Block 0x11, offset 0x440 + 0x440: 0x30f0, 0x441: 0x3401, 0x442: 0x30f5, 0x443: 0x3406, 0x444: 0x3109, 0x445: 0x341a, + 0x446: 0x3113, 0x447: 0x3424, 0x448: 0x3122, 0x449: 0x3433, 0x44a: 0x311d, 0x44b: 0x342e, + 0x44c: 0x3935, 0x44d: 0x3ac4, 0x44e: 0x3943, 0x44f: 0x3ad2, 0x450: 0x394a, 0x451: 0x3ad9, + 0x452: 0x3951, 0x453: 0x3ae0, 0x454: 0x314f, 0x455: 0x3460, 0x456: 0x3154, 0x457: 0x3465, + 0x458: 0x315e, 0x459: 0x346f, 0x45a: 0x46f1, 0x45b: 0x4782, 0x45c: 0x3997, 0x45d: 0x3b26, + 0x45e: 0x3177, 0x45f: 0x3488, 0x460: 0x3181, 0x461: 0x3492, 0x462: 0x4700, 0x463: 0x4791, + 0x464: 0x399e, 0x465: 0x3b2d, 0x466: 0x39a5, 0x467: 0x3b34, 0x468: 0x39ac, 0x469: 0x3b3b, + 0x46a: 0x3190, 0x46b: 0x34a1, 0x46c: 0x319a, 0x46d: 0x34b0, 0x46e: 0x31ae, 0x46f: 0x34c4, + 0x470: 0x31a9, 0x471: 0x34bf, 0x472: 0x31ea, 0x473: 0x3500, 0x474: 0x31f9, 0x475: 0x350f, + 0x476: 0x31f4, 0x477: 0x350a, 0x478: 0x39b3, 0x479: 0x3b42, 0x47a: 0x39ba, 0x47b: 0x3b49, + 0x47c: 0x31fe, 0x47d: 0x3514, 0x47e: 0x3203, 0x47f: 0x3519, + // Block 0x12, offset 0x480 + 0x480: 0x3208, 0x481: 0x351e, 0x482: 0x320d, 0x483: 0x3523, 0x484: 0x321c, 0x485: 0x3532, + 0x486: 0x3217, 0x487: 0x352d, 0x488: 0x3221, 0x489: 0x353c, 0x48a: 0x3226, 0x48b: 0x3541, + 0x48c: 0x322b, 0x48d: 0x3546, 0x48e: 0x3249, 0x48f: 0x3564, 0x490: 0x3262, 0x491: 0x3582, + 0x492: 0x3271, 0x493: 0x3591, 0x494: 0x3276, 0x495: 0x3596, 0x496: 0x337a, 0x497: 0x34a6, + 0x498: 0x3537, 0x499: 0x3573, 0x49b: 0x35d1, + 0x4a0: 0x46a1, 0x4a1: 0x4732, 0x4a2: 0x2f83, 0x4a3: 0x328f, + 0x4a4: 0x3878, 0x4a5: 0x3a07, 0x4a6: 0x3871, 0x4a7: 0x3a00, 0x4a8: 0x3886, 0x4a9: 0x3a15, + 0x4aa: 0x387f, 0x4ab: 0x3a0e, 0x4ac: 0x38be, 0x4ad: 0x3a4d, 0x4ae: 0x3894, 0x4af: 0x3a23, + 0x4b0: 0x388d, 0x4b1: 0x3a1c, 0x4b2: 0x38a2, 0x4b3: 0x3a31, 0x4b4: 0x389b, 0x4b5: 0x3a2a, + 0x4b6: 0x38c5, 0x4b7: 0x3a54, 0x4b8: 0x46b5, 0x4b9: 0x4746, 0x4ba: 0x3000, 0x4bb: 0x330c, + 0x4bc: 0x2fec, 0x4bd: 0x32f8, 0x4be: 0x38da, 0x4bf: 0x3a69, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x38d3, 0x4c1: 0x3a62, 0x4c2: 0x38e8, 0x4c3: 0x3a77, 0x4c4: 0x38e1, 0x4c5: 0x3a70, + 0x4c6: 0x38fd, 0x4c7: 0x3a8c, 0x4c8: 0x3091, 0x4c9: 0x339d, 0x4ca: 0x30a5, 0x4cb: 0x33b1, + 0x4cc: 0x46e7, 0x4cd: 0x4778, 0x4ce: 0x3136, 0x4cf: 0x3447, 0x4d0: 0x3920, 0x4d1: 0x3aaf, + 0x4d2: 0x3919, 0x4d3: 0x3aa8, 0x4d4: 0x392e, 0x4d5: 0x3abd, 0x4d6: 0x3927, 0x4d7: 0x3ab6, + 0x4d8: 0x3989, 0x4d9: 0x3b18, 0x4da: 0x396d, 0x4db: 0x3afc, 0x4dc: 0x3966, 0x4dd: 0x3af5, + 0x4de: 0x397b, 0x4df: 0x3b0a, 0x4e0: 0x3974, 0x4e1: 0x3b03, 0x4e2: 0x3982, 0x4e3: 0x3b11, + 0x4e4: 0x31e5, 0x4e5: 0x34fb, 0x4e6: 0x31c7, 0x4e7: 0x34dd, 0x4e8: 0x39e4, 0x4e9: 0x3b73, + 0x4ea: 0x39dd, 0x4eb: 0x3b6c, 0x4ec: 0x39f2, 0x4ed: 0x3b81, 0x4ee: 0x39eb, 0x4ef: 0x3b7a, + 0x4f0: 0x39f9, 0x4f1: 0x3b88, 0x4f2: 0x3230, 0x4f3: 0x354b, 0x4f4: 0x3258, 0x4f5: 0x3578, + 0x4f6: 0x3253, 0x4f7: 0x356e, 0x4f8: 0x323f, 0x4f9: 0x355a, + // Block 0x14, offset 0x500 + 0x500: 0x4804, 0x501: 0x480a, 0x502: 0x491e, 0x503: 0x4936, 0x504: 0x4926, 0x505: 0x493e, + 0x506: 0x492e, 0x507: 0x4946, 0x508: 0x47aa, 0x509: 0x47b0, 0x50a: 0x488e, 0x50b: 0x48a6, + 0x50c: 0x4896, 0x50d: 0x48ae, 0x50e: 0x489e, 0x50f: 0x48b6, 0x510: 0x4816, 0x511: 0x481c, + 0x512: 0x3db8, 0x513: 0x3dc8, 0x514: 0x3dc0, 0x515: 0x3dd0, + 0x518: 0x47b6, 0x519: 0x47bc, 0x51a: 0x3ce8, 0x51b: 0x3cf8, 0x51c: 0x3cf0, 0x51d: 0x3d00, + 0x520: 0x482e, 0x521: 0x4834, 0x522: 0x494e, 0x523: 0x4966, + 0x524: 0x4956, 0x525: 0x496e, 0x526: 0x495e, 0x527: 0x4976, 0x528: 0x47c2, 0x529: 0x47c8, + 0x52a: 0x48be, 0x52b: 0x48d6, 0x52c: 0x48c6, 0x52d: 0x48de, 0x52e: 0x48ce, 0x52f: 0x48e6, + 0x530: 0x4846, 0x531: 0x484c, 0x532: 0x3e18, 0x533: 0x3e30, 0x534: 0x3e20, 0x535: 0x3e38, + 0x536: 0x3e28, 0x537: 0x3e40, 0x538: 0x47ce, 0x539: 0x47d4, 0x53a: 0x3d18, 0x53b: 0x3d30, + 0x53c: 0x3d20, 0x53d: 0x3d38, 0x53e: 0x3d28, 0x53f: 0x3d40, + // Block 0x15, offset 0x540 + 0x540: 0x4852, 0x541: 0x4858, 0x542: 0x3e48, 0x543: 0x3e58, 0x544: 0x3e50, 0x545: 0x3e60, + 0x548: 0x47da, 0x549: 0x47e0, 0x54a: 0x3d48, 0x54b: 0x3d58, + 0x54c: 0x3d50, 0x54d: 0x3d60, 0x550: 0x4864, 0x551: 0x486a, + 0x552: 0x3e80, 0x553: 0x3e98, 0x554: 0x3e88, 0x555: 0x3ea0, 0x556: 0x3e90, 0x557: 0x3ea8, + 0x559: 0x47e6, 0x55b: 0x3d68, 0x55d: 0x3d70, + 0x55f: 0x3d78, 0x560: 0x487c, 0x561: 0x4882, 0x562: 0x497e, 0x563: 0x4996, + 0x564: 0x4986, 0x565: 0x499e, 0x566: 0x498e, 0x567: 0x49a6, 0x568: 0x47ec, 0x569: 0x47f2, + 0x56a: 0x48ee, 0x56b: 0x4906, 0x56c: 0x48f6, 0x56d: 0x490e, 0x56e: 0x48fe, 0x56f: 0x4916, + 0x570: 0x47f8, 0x571: 0x431e, 0x572: 0x3691, 0x573: 0x4324, 0x574: 0x4822, 0x575: 0x432a, + 0x576: 0x36a3, 0x577: 0x4330, 0x578: 0x36c1, 0x579: 0x4336, 0x57a: 0x36d9, 0x57b: 0x433c, + 0x57c: 0x4870, 0x57d: 0x4342, + // Block 0x16, offset 0x580 + 0x580: 0x3da0, 0x581: 0x3da8, 0x582: 0x4184, 0x583: 0x41a2, 0x584: 0x418e, 0x585: 0x41ac, + 0x586: 0x4198, 0x587: 0x41b6, 0x588: 0x3cd8, 0x589: 0x3ce0, 0x58a: 0x40d0, 0x58b: 0x40ee, + 0x58c: 0x40da, 0x58d: 0x40f8, 0x58e: 0x40e4, 0x58f: 0x4102, 0x590: 0x3de8, 0x591: 0x3df0, + 0x592: 0x41c0, 0x593: 0x41de, 0x594: 0x41ca, 0x595: 0x41e8, 0x596: 0x41d4, 0x597: 0x41f2, + 0x598: 0x3d08, 0x599: 0x3d10, 0x59a: 0x410c, 0x59b: 0x412a, 0x59c: 0x4116, 0x59d: 0x4134, + 0x59e: 0x4120, 0x59f: 0x413e, 0x5a0: 0x3ec0, 0x5a1: 0x3ec8, 0x5a2: 0x41fc, 0x5a3: 0x421a, + 0x5a4: 0x4206, 0x5a5: 0x4224, 0x5a6: 0x4210, 0x5a7: 0x422e, 0x5a8: 0x3d80, 0x5a9: 0x3d88, + 0x5aa: 0x4148, 0x5ab: 0x4166, 0x5ac: 0x4152, 0x5ad: 0x4170, 0x5ae: 0x415c, 0x5af: 0x417a, + 0x5b0: 0x3685, 0x5b1: 0x367f, 0x5b2: 0x3d90, 0x5b3: 0x368b, 0x5b4: 0x3d98, + 0x5b6: 0x4810, 0x5b7: 0x3db0, 0x5b8: 0x35f5, 0x5b9: 0x35ef, 0x5ba: 0x35e3, 0x5bb: 0x42ee, + 0x5bc: 0x35fb, 0x5bd: 0x8100, 0x5be: 0x01d3, 0x5bf: 0xa100, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x8100, 0x5c1: 0x35a7, 0x5c2: 0x3dd8, 0x5c3: 0x369d, 0x5c4: 0x3de0, + 0x5c6: 0x483a, 0x5c7: 0x3df8, 0x5c8: 0x3601, 0x5c9: 0x42f4, 0x5ca: 0x360d, 0x5cb: 0x42fa, + 0x5cc: 0x3619, 0x5cd: 0x3b8f, 0x5ce: 0x3b96, 0x5cf: 0x3b9d, 0x5d0: 0x36b5, 0x5d1: 0x36af, + 0x5d2: 0x3e00, 0x5d3: 0x44e4, 0x5d6: 0x36bb, 0x5d7: 0x3e10, + 0x5d8: 0x3631, 0x5d9: 0x362b, 0x5da: 0x361f, 0x5db: 0x4300, 0x5dd: 0x3ba4, + 0x5de: 0x3bab, 0x5df: 0x3bb2, 0x5e0: 0x36eb, 0x5e1: 0x36e5, 0x5e2: 0x3e68, 0x5e3: 0x44ec, + 0x5e4: 0x36cd, 0x5e5: 0x36d3, 0x5e6: 0x36f1, 0x5e7: 0x3e78, 0x5e8: 0x3661, 0x5e9: 0x365b, + 0x5ea: 0x364f, 0x5eb: 0x430c, 0x5ec: 0x3649, 0x5ed: 0x359b, 0x5ee: 0x42e8, 0x5ef: 0x0081, + 0x5f2: 0x3eb0, 0x5f3: 0x36f7, 0x5f4: 0x3eb8, + 0x5f6: 0x4888, 0x5f7: 0x3ed0, 0x5f8: 0x363d, 0x5f9: 0x4306, 0x5fa: 0x366d, 0x5fb: 0x4318, + 0x5fc: 0x3679, 0x5fd: 0x4256, 0x5fe: 0xa100, + // Block 0x18, offset 0x600 + 0x601: 0x3c06, 0x603: 0xa000, 0x604: 0x3c0d, 0x605: 0xa000, + 0x607: 0x3c14, 0x608: 0xa000, 0x609: 0x3c1b, + 0x60d: 0xa000, + 0x620: 0x2f65, 0x621: 0xa000, 0x622: 0x3c29, + 0x624: 0xa000, 0x625: 0xa000, + 0x62d: 0x3c22, 0x62e: 0x2f60, 0x62f: 0x2f6a, + 0x630: 0x3c30, 0x631: 0x3c37, 0x632: 0xa000, 0x633: 0xa000, 0x634: 0x3c3e, 0x635: 0x3c45, + 0x636: 0xa000, 0x637: 0xa000, 0x638: 0x3c4c, 0x639: 0x3c53, 0x63a: 0xa000, 0x63b: 0xa000, + 0x63c: 0xa000, 0x63d: 0xa000, + // Block 0x19, offset 0x640 + 0x640: 0x3c5a, 0x641: 0x3c61, 0x642: 0xa000, 0x643: 0xa000, 0x644: 0x3c76, 0x645: 0x3c7d, + 0x646: 0xa000, 0x647: 0xa000, 0x648: 0x3c84, 0x649: 0x3c8b, + 0x651: 0xa000, + 0x652: 0xa000, + 0x662: 0xa000, + 0x668: 0xa000, 0x669: 0xa000, + 0x66b: 0xa000, 0x66c: 0x3ca0, 0x66d: 0x3ca7, 0x66e: 0x3cae, 0x66f: 0x3cb5, + 0x672: 0xa000, 0x673: 0xa000, 0x674: 0xa000, 0x675: 0xa000, + // Block 0x1a, offset 0x680 + 0x686: 0xa000, 0x68b: 0xa000, + 0x68c: 0x3f08, 0x68d: 0xa000, 0x68e: 0x3f10, 0x68f: 0xa000, 0x690: 0x3f18, 0x691: 0xa000, + 0x692: 0x3f20, 0x693: 0xa000, 0x694: 0x3f28, 0x695: 0xa000, 0x696: 0x3f30, 0x697: 0xa000, + 0x698: 0x3f38, 0x699: 0xa000, 0x69a: 0x3f40, 0x69b: 0xa000, 0x69c: 0x3f48, 0x69d: 0xa000, + 0x69e: 0x3f50, 0x69f: 0xa000, 0x6a0: 0x3f58, 0x6a1: 0xa000, 0x6a2: 0x3f60, + 0x6a4: 0xa000, 0x6a5: 0x3f68, 0x6a6: 0xa000, 0x6a7: 0x3f70, 0x6a8: 0xa000, 0x6a9: 0x3f78, + 0x6af: 0xa000, + 0x6b0: 0x3f80, 0x6b1: 0x3f88, 0x6b2: 0xa000, 0x6b3: 0x3f90, 0x6b4: 0x3f98, 0x6b5: 0xa000, + 0x6b6: 0x3fa0, 0x6b7: 0x3fa8, 0x6b8: 0xa000, 0x6b9: 0x3fb0, 0x6ba: 0x3fb8, 0x6bb: 0xa000, + 0x6bc: 0x3fc0, 0x6bd: 0x3fc8, + // Block 0x1b, offset 0x6c0 + 0x6d4: 0x3f00, + 0x6d9: 0x9903, 0x6da: 0x9903, 0x6db: 0x8100, 0x6dc: 0x8100, 0x6dd: 0xa000, + 0x6de: 0x3fd0, + 0x6e6: 0xa000, + 0x6eb: 0xa000, 0x6ec: 0x3fe0, 0x6ed: 0xa000, 0x6ee: 0x3fe8, 0x6ef: 0xa000, + 0x6f0: 0x3ff0, 0x6f1: 0xa000, 0x6f2: 0x3ff8, 0x6f3: 0xa000, 0x6f4: 0x4000, 0x6f5: 0xa000, + 0x6f6: 0x4008, 0x6f7: 0xa000, 0x6f8: 0x4010, 0x6f9: 0xa000, 0x6fa: 0x4018, 0x6fb: 0xa000, + 0x6fc: 0x4020, 0x6fd: 0xa000, 0x6fe: 0x4028, 0x6ff: 0xa000, + // Block 0x1c, offset 0x700 + 0x700: 0x4030, 0x701: 0xa000, 0x702: 0x4038, 0x704: 0xa000, 0x705: 0x4040, + 0x706: 0xa000, 0x707: 0x4048, 0x708: 0xa000, 0x709: 0x4050, + 0x70f: 0xa000, 0x710: 0x4058, 0x711: 0x4060, + 0x712: 0xa000, 0x713: 0x4068, 0x714: 0x4070, 0x715: 0xa000, 0x716: 0x4078, 0x717: 0x4080, + 0x718: 0xa000, 0x719: 0x4088, 0x71a: 0x4090, 0x71b: 0xa000, 0x71c: 0x4098, 0x71d: 0x40a0, + 0x72f: 0xa000, + 0x730: 0xa000, 0x731: 0xa000, 0x732: 0xa000, 0x734: 0x3fd8, + 0x737: 0x40a8, 0x738: 0x40b0, 0x739: 0x40b8, 0x73a: 0x40c0, + 0x73d: 0xa000, 0x73e: 0x40c8, + // Block 0x1d, offset 0x740 + 0x740: 0x1377, 0x741: 0x0cfb, 0x742: 0x13d3, 0x743: 0x139f, 0x744: 0x0e57, 0x745: 0x06eb, + 0x746: 0x08df, 0x747: 0x162b, 0x748: 0x162b, 0x749: 0x0a0b, 0x74a: 0x145f, 0x74b: 0x0943, + 0x74c: 0x0a07, 0x74d: 0x0bef, 0x74e: 0x0fcf, 0x74f: 0x115f, 0x750: 0x1297, 0x751: 0x12d3, + 0x752: 0x1307, 0x753: 0x141b, 0x754: 0x0d73, 0x755: 0x0dff, 0x756: 0x0eab, 0x757: 0x0f43, + 0x758: 0x125f, 0x759: 0x1447, 0x75a: 0x1573, 0x75b: 0x070f, 0x75c: 0x08b3, 0x75d: 0x0d87, + 0x75e: 0x0ecf, 0x75f: 0x1293, 0x760: 0x15c3, 0x761: 0x0ab3, 0x762: 0x0e77, 0x763: 0x1283, + 0x764: 0x1317, 0x765: 0x0c23, 0x766: 0x11bb, 0x767: 0x12df, 0x768: 0x0b1f, 0x769: 0x0d0f, + 0x76a: 0x0e17, 0x76b: 0x0f1b, 0x76c: 0x1427, 0x76d: 0x074f, 0x76e: 0x07e7, 0x76f: 0x0853, + 0x770: 0x0c8b, 0x771: 0x0d7f, 0x772: 0x0ecb, 0x773: 0x0fef, 0x774: 0x1177, 0x775: 0x128b, + 0x776: 0x12a3, 0x777: 0x13c7, 0x778: 0x14ef, 0x779: 0x15a3, 0x77a: 0x15bf, 0x77b: 0x102b, + 0x77c: 0x106b, 0x77d: 0x1123, 0x77e: 0x1243, 0x77f: 0x147b, + // Block 0x1e, offset 0x780 + 0x780: 0x15cb, 0x781: 0x134b, 0x782: 0x09c7, 0x783: 0x0b3b, 0x784: 0x10db, 0x785: 0x119b, + 0x786: 0x0eff, 0x787: 0x1033, 0x788: 0x1397, 0x789: 0x14e7, 0x78a: 0x09c3, 0x78b: 0x0a8f, + 0x78c: 0x0d77, 0x78d: 0x0e2b, 0x78e: 0x0e5f, 0x78f: 0x1113, 0x790: 0x113b, 0x791: 0x14a7, + 0x792: 0x084f, 0x793: 0x11a7, 0x794: 0x07f3, 0x795: 0x07ef, 0x796: 0x1097, 0x797: 0x1127, + 0x798: 0x125b, 0x799: 0x14af, 0x79a: 0x1367, 0x79b: 0x0c27, 0x79c: 0x0d73, 0x79d: 0x1357, + 0x79e: 0x06f7, 0x79f: 0x0a63, 0x7a0: 0x0b93, 0x7a1: 0x0f2f, 0x7a2: 0x0faf, 0x7a3: 0x0873, + 0x7a4: 0x103b, 0x7a5: 0x075f, 0x7a6: 0x0b77, 0x7a7: 0x06d7, 0x7a8: 0x0deb, 0x7a9: 0x0ca3, + 0x7aa: 0x110f, 0x7ab: 0x08c7, 0x7ac: 0x09b3, 0x7ad: 0x0ffb, 0x7ae: 0x1263, 0x7af: 0x133b, + 0x7b0: 0x0db7, 0x7b1: 0x13f7, 0x7b2: 0x0de3, 0x7b3: 0x0c37, 0x7b4: 0x121b, 0x7b5: 0x0c57, + 0x7b6: 0x0fab, 0x7b7: 0x072b, 0x7b8: 0x07a7, 0x7b9: 0x07eb, 0x7ba: 0x0d53, 0x7bb: 0x10fb, + 0x7bc: 0x11f3, 0x7bd: 0x1347, 0x7be: 0x145b, 0x7bf: 0x085b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x090f, 0x7c1: 0x0a17, 0x7c2: 0x0b2f, 0x7c3: 0x0cbf, 0x7c4: 0x0e7b, 0x7c5: 0x103f, + 0x7c6: 0x1497, 0x7c7: 0x157b, 0x7c8: 0x15cf, 0x7c9: 0x15e7, 0x7ca: 0x0837, 0x7cb: 0x0cf3, + 0x7cc: 0x0da3, 0x7cd: 0x13eb, 0x7ce: 0x0afb, 0x7cf: 0x0bd7, 0x7d0: 0x0bf3, 0x7d1: 0x0c83, + 0x7d2: 0x0e6b, 0x7d3: 0x0eb7, 0x7d4: 0x0f67, 0x7d5: 0x108b, 0x7d6: 0x112f, 0x7d7: 0x1193, + 0x7d8: 0x13db, 0x7d9: 0x126b, 0x7da: 0x1403, 0x7db: 0x147f, 0x7dc: 0x080f, 0x7dd: 0x083b, + 0x7de: 0x0923, 0x7df: 0x0ea7, 0x7e0: 0x12f3, 0x7e1: 0x133b, 0x7e2: 0x0b1b, 0x7e3: 0x0b8b, + 0x7e4: 0x0c4f, 0x7e5: 0x0daf, 0x7e6: 0x10d7, 0x7e7: 0x0f23, 0x7e8: 0x073b, 0x7e9: 0x097f, + 0x7ea: 0x0a63, 0x7eb: 0x0ac7, 0x7ec: 0x0b97, 0x7ed: 0x0f3f, 0x7ee: 0x0f5b, 0x7ef: 0x116b, + 0x7f0: 0x118b, 0x7f1: 0x1463, 0x7f2: 0x14e3, 0x7f3: 0x14f3, 0x7f4: 0x152f, 0x7f5: 0x0753, + 0x7f6: 0x107f, 0x7f7: 0x144f, 0x7f8: 0x14cb, 0x7f9: 0x0baf, 0x7fa: 0x0717, 0x7fb: 0x0777, + 0x7fc: 0x0a67, 0x7fd: 0x0a87, 0x7fe: 0x0caf, 0x7ff: 0x0d73, + // Block 0x20, offset 0x800 + 0x800: 0x0ec3, 0x801: 0x0fcb, 0x802: 0x1277, 0x803: 0x1417, 0x804: 0x1623, 0x805: 0x0ce3, + 0x806: 0x14a3, 0x807: 0x0833, 0x808: 0x0d2f, 0x809: 0x0d3b, 0x80a: 0x0e0f, 0x80b: 0x0e47, + 0x80c: 0x0f4b, 0x80d: 0x0fa7, 0x80e: 0x1027, 0x80f: 0x110b, 0x810: 0x153b, 0x811: 0x07af, + 0x812: 0x0c03, 0x813: 0x14b3, 0x814: 0x0767, 0x815: 0x0aab, 0x816: 0x0e2f, 0x817: 0x13df, + 0x818: 0x0b67, 0x819: 0x0bb7, 0x81a: 0x0d43, 0x81b: 0x0f2f, 0x81c: 0x14bb, 0x81d: 0x0817, + 0x81e: 0x08ff, 0x81f: 0x0a97, 0x820: 0x0cd3, 0x821: 0x0d1f, 0x822: 0x0d5f, 0x823: 0x0df3, + 0x824: 0x0f47, 0x825: 0x0fbb, 0x826: 0x1157, 0x827: 0x12f7, 0x828: 0x1303, 0x829: 0x1457, + 0x82a: 0x14d7, 0x82b: 0x0883, 0x82c: 0x0e4b, 0x82d: 0x0903, 0x82e: 0x0ec7, 0x82f: 0x0f6b, + 0x830: 0x1287, 0x831: 0x14bf, 0x832: 0x15ab, 0x833: 0x15d3, 0x834: 0x0d37, 0x835: 0x0e27, + 0x836: 0x11c3, 0x837: 0x10b7, 0x838: 0x10c3, 0x839: 0x10e7, 0x83a: 0x0f17, 0x83b: 0x0e9f, + 0x83c: 0x1363, 0x83d: 0x0733, 0x83e: 0x122b, 0x83f: 0x081b, + // Block 0x21, offset 0x840 + 0x840: 0x080b, 0x841: 0x0b0b, 0x842: 0x0c2b, 0x843: 0x10f3, 0x844: 0x0a53, 0x845: 0x0e03, + 0x846: 0x0cef, 0x847: 0x13e7, 0x848: 0x12e7, 0x849: 0x14ab, 0x84a: 0x1323, 0x84b: 0x0b27, + 0x84c: 0x0787, 0x84d: 0x095b, 0x850: 0x09af, + 0x852: 0x0cdf, 0x855: 0x07f7, 0x856: 0x0f1f, 0x857: 0x0fe3, + 0x858: 0x1047, 0x859: 0x1063, 0x85a: 0x1067, 0x85b: 0x107b, 0x85c: 0x14fb, 0x85d: 0x10eb, + 0x85e: 0x116f, 0x860: 0x128f, 0x862: 0x1353, + 0x865: 0x1407, 0x866: 0x1433, + 0x86a: 0x154f, 0x86b: 0x1553, 0x86c: 0x1557, 0x86d: 0x15bb, 0x86e: 0x142b, 0x86f: 0x14c7, + 0x870: 0x0757, 0x871: 0x077b, 0x872: 0x078f, 0x873: 0x084b, 0x874: 0x0857, 0x875: 0x0897, + 0x876: 0x094b, 0x877: 0x0967, 0x878: 0x096f, 0x879: 0x09ab, 0x87a: 0x09b7, 0x87b: 0x0a93, + 0x87c: 0x0a9b, 0x87d: 0x0ba3, 0x87e: 0x0bcb, 0x87f: 0x0bd3, + // Block 0x22, offset 0x880 + 0x880: 0x0beb, 0x881: 0x0c97, 0x882: 0x0cc7, 0x883: 0x0ce7, 0x884: 0x0d57, 0x885: 0x0e1b, + 0x886: 0x0e37, 0x887: 0x0e67, 0x888: 0x0ebb, 0x889: 0x0edb, 0x88a: 0x0f4f, 0x88b: 0x102f, + 0x88c: 0x104b, 0x88d: 0x1053, 0x88e: 0x104f, 0x88f: 0x1057, 0x890: 0x105b, 0x891: 0x105f, + 0x892: 0x1073, 0x893: 0x1077, 0x894: 0x109b, 0x895: 0x10af, 0x896: 0x10cb, 0x897: 0x112f, + 0x898: 0x1137, 0x899: 0x113f, 0x89a: 0x1153, 0x89b: 0x117b, 0x89c: 0x11cb, 0x89d: 0x11ff, + 0x89e: 0x11ff, 0x89f: 0x1267, 0x8a0: 0x130f, 0x8a1: 0x1327, 0x8a2: 0x135b, 0x8a3: 0x135f, + 0x8a4: 0x13a3, 0x8a5: 0x13a7, 0x8a6: 0x13ff, 0x8a7: 0x1407, 0x8a8: 0x14db, 0x8a9: 0x151f, + 0x8aa: 0x1537, 0x8ab: 0x0b9b, 0x8ac: 0x171e, 0x8ad: 0x11e3, + 0x8b0: 0x06df, 0x8b1: 0x07e3, 0x8b2: 0x07a3, 0x8b3: 0x074b, 0x8b4: 0x078b, 0x8b5: 0x07b7, + 0x8b6: 0x0847, 0x8b7: 0x0863, 0x8b8: 0x094b, 0x8b9: 0x0937, 0x8ba: 0x0947, 0x8bb: 0x0963, + 0x8bc: 0x09af, 0x8bd: 0x09bf, 0x8be: 0x0a03, 0x8bf: 0x0a0f, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0a2b, 0x8c1: 0x0a3b, 0x8c2: 0x0b23, 0x8c3: 0x0b2b, 0x8c4: 0x0b5b, 0x8c5: 0x0b7b, + 0x8c6: 0x0bab, 0x8c7: 0x0bc3, 0x8c8: 0x0bb3, 0x8c9: 0x0bd3, 0x8ca: 0x0bc7, 0x8cb: 0x0beb, + 0x8cc: 0x0c07, 0x8cd: 0x0c5f, 0x8ce: 0x0c6b, 0x8cf: 0x0c73, 0x8d0: 0x0c9b, 0x8d1: 0x0cdf, + 0x8d2: 0x0d0f, 0x8d3: 0x0d13, 0x8d4: 0x0d27, 0x8d5: 0x0da7, 0x8d6: 0x0db7, 0x8d7: 0x0e0f, + 0x8d8: 0x0e5b, 0x8d9: 0x0e53, 0x8da: 0x0e67, 0x8db: 0x0e83, 0x8dc: 0x0ebb, 0x8dd: 0x1013, + 0x8de: 0x0edf, 0x8df: 0x0f13, 0x8e0: 0x0f1f, 0x8e1: 0x0f5f, 0x8e2: 0x0f7b, 0x8e3: 0x0f9f, + 0x8e4: 0x0fc3, 0x8e5: 0x0fc7, 0x8e6: 0x0fe3, 0x8e7: 0x0fe7, 0x8e8: 0x0ff7, 0x8e9: 0x100b, + 0x8ea: 0x1007, 0x8eb: 0x1037, 0x8ec: 0x10b3, 0x8ed: 0x10cb, 0x8ee: 0x10e3, 0x8ef: 0x111b, + 0x8f0: 0x112f, 0x8f1: 0x114b, 0x8f2: 0x117b, 0x8f3: 0x122f, 0x8f4: 0x1257, 0x8f5: 0x12cb, + 0x8f6: 0x1313, 0x8f7: 0x131f, 0x8f8: 0x1327, 0x8f9: 0x133f, 0x8fa: 0x1353, 0x8fb: 0x1343, + 0x8fc: 0x135b, 0x8fd: 0x1357, 0x8fe: 0x134f, 0x8ff: 0x135f, + // Block 0x24, offset 0x900 + 0x900: 0x136b, 0x901: 0x13a7, 0x902: 0x13e3, 0x903: 0x1413, 0x904: 0x144b, 0x905: 0x146b, + 0x906: 0x14b7, 0x907: 0x14db, 0x908: 0x14fb, 0x909: 0x150f, 0x90a: 0x151f, 0x90b: 0x152b, + 0x90c: 0x1537, 0x90d: 0x158b, 0x90e: 0x162b, 0x90f: 0x16b5, 0x910: 0x16b0, 0x911: 0x16e2, + 0x912: 0x0607, 0x913: 0x062f, 0x914: 0x0633, 0x915: 0x1764, 0x916: 0x1791, 0x917: 0x1809, + 0x918: 0x1617, 0x919: 0x1627, + // Block 0x25, offset 0x940 + 0x940: 0x06fb, 0x941: 0x06f3, 0x942: 0x0703, 0x943: 0x1647, 0x944: 0x0747, 0x945: 0x0757, + 0x946: 0x075b, 0x947: 0x0763, 0x948: 0x076b, 0x949: 0x076f, 0x94a: 0x077b, 0x94b: 0x0773, + 0x94c: 0x05b3, 0x94d: 0x165b, 0x94e: 0x078f, 0x94f: 0x0793, 0x950: 0x0797, 0x951: 0x07b3, + 0x952: 0x164c, 0x953: 0x05b7, 0x954: 0x079f, 0x955: 0x07bf, 0x956: 0x1656, 0x957: 0x07cf, + 0x958: 0x07d7, 0x959: 0x0737, 0x95a: 0x07df, 0x95b: 0x07e3, 0x95c: 0x1831, 0x95d: 0x07ff, + 0x95e: 0x0807, 0x95f: 0x05bf, 0x960: 0x081f, 0x961: 0x0823, 0x962: 0x082b, 0x963: 0x082f, + 0x964: 0x05c3, 0x965: 0x0847, 0x966: 0x084b, 0x967: 0x0857, 0x968: 0x0863, 0x969: 0x0867, + 0x96a: 0x086b, 0x96b: 0x0873, 0x96c: 0x0893, 0x96d: 0x0897, 0x96e: 0x089f, 0x96f: 0x08af, + 0x970: 0x08b7, 0x971: 0x08bb, 0x972: 0x08bb, 0x973: 0x08bb, 0x974: 0x166a, 0x975: 0x0e93, + 0x976: 0x08cf, 0x977: 0x08d7, 0x978: 0x166f, 0x979: 0x08e3, 0x97a: 0x08eb, 0x97b: 0x08f3, + 0x97c: 0x091b, 0x97d: 0x0907, 0x97e: 0x0913, 0x97f: 0x0917, + // Block 0x26, offset 0x980 + 0x980: 0x091f, 0x981: 0x0927, 0x982: 0x092b, 0x983: 0x0933, 0x984: 0x093b, 0x985: 0x093f, + 0x986: 0x093f, 0x987: 0x0947, 0x988: 0x094f, 0x989: 0x0953, 0x98a: 0x095f, 0x98b: 0x0983, + 0x98c: 0x0967, 0x98d: 0x0987, 0x98e: 0x096b, 0x98f: 0x0973, 0x990: 0x080b, 0x991: 0x09cf, + 0x992: 0x0997, 0x993: 0x099b, 0x994: 0x099f, 0x995: 0x0993, 0x996: 0x09a7, 0x997: 0x09a3, + 0x998: 0x09bb, 0x999: 0x1674, 0x99a: 0x09d7, 0x99b: 0x09db, 0x99c: 0x09e3, 0x99d: 0x09ef, + 0x99e: 0x09f7, 0x99f: 0x0a13, 0x9a0: 0x1679, 0x9a1: 0x167e, 0x9a2: 0x0a1f, 0x9a3: 0x0a23, + 0x9a4: 0x0a27, 0x9a5: 0x0a1b, 0x9a6: 0x0a2f, 0x9a7: 0x05c7, 0x9a8: 0x05cb, 0x9a9: 0x0a37, + 0x9aa: 0x0a3f, 0x9ab: 0x0a3f, 0x9ac: 0x1683, 0x9ad: 0x0a5b, 0x9ae: 0x0a5f, 0x9af: 0x0a63, + 0x9b0: 0x0a6b, 0x9b1: 0x1688, 0x9b2: 0x0a73, 0x9b3: 0x0a77, 0x9b4: 0x0b4f, 0x9b5: 0x0a7f, + 0x9b6: 0x05cf, 0x9b7: 0x0a8b, 0x9b8: 0x0a9b, 0x9b9: 0x0aa7, 0x9ba: 0x0aa3, 0x9bb: 0x1692, + 0x9bc: 0x0aaf, 0x9bd: 0x1697, 0x9be: 0x0abb, 0x9bf: 0x0ab7, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0abf, 0x9c1: 0x0acf, 0x9c2: 0x0ad3, 0x9c3: 0x05d3, 0x9c4: 0x0ae3, 0x9c5: 0x0aeb, + 0x9c6: 0x0aef, 0x9c7: 0x0af3, 0x9c8: 0x05d7, 0x9c9: 0x169c, 0x9ca: 0x05db, 0x9cb: 0x0b0f, + 0x9cc: 0x0b13, 0x9cd: 0x0b17, 0x9ce: 0x0b1f, 0x9cf: 0x1863, 0x9d0: 0x0b37, 0x9d1: 0x16a6, + 0x9d2: 0x16a6, 0x9d3: 0x11d7, 0x9d4: 0x0b47, 0x9d5: 0x0b47, 0x9d6: 0x05df, 0x9d7: 0x16c9, + 0x9d8: 0x179b, 0x9d9: 0x0b57, 0x9da: 0x0b5f, 0x9db: 0x05e3, 0x9dc: 0x0b73, 0x9dd: 0x0b83, + 0x9de: 0x0b87, 0x9df: 0x0b8f, 0x9e0: 0x0b9f, 0x9e1: 0x05eb, 0x9e2: 0x05e7, 0x9e3: 0x0ba3, + 0x9e4: 0x16ab, 0x9e5: 0x0ba7, 0x9e6: 0x0bbb, 0x9e7: 0x0bbf, 0x9e8: 0x0bc3, 0x9e9: 0x0bbf, + 0x9ea: 0x0bcf, 0x9eb: 0x0bd3, 0x9ec: 0x0be3, 0x9ed: 0x0bdb, 0x9ee: 0x0bdf, 0x9ef: 0x0be7, + 0x9f0: 0x0beb, 0x9f1: 0x0bef, 0x9f2: 0x0bfb, 0x9f3: 0x0bff, 0x9f4: 0x0c17, 0x9f5: 0x0c1f, + 0x9f6: 0x0c2f, 0x9f7: 0x0c43, 0x9f8: 0x16ba, 0x9f9: 0x0c3f, 0x9fa: 0x0c33, 0x9fb: 0x0c4b, + 0x9fc: 0x0c53, 0x9fd: 0x0c67, 0x9fe: 0x16bf, 0x9ff: 0x0c6f, + // Block 0x28, offset 0xa00 + 0xa00: 0x0c63, 0xa01: 0x0c5b, 0xa02: 0x05ef, 0xa03: 0x0c77, 0xa04: 0x0c7f, 0xa05: 0x0c87, + 0xa06: 0x0c7b, 0xa07: 0x05f3, 0xa08: 0x0c97, 0xa09: 0x0c9f, 0xa0a: 0x16c4, 0xa0b: 0x0ccb, + 0xa0c: 0x0cff, 0xa0d: 0x0cdb, 0xa0e: 0x05ff, 0xa0f: 0x0ce7, 0xa10: 0x05fb, 0xa11: 0x05f7, + 0xa12: 0x07c3, 0xa13: 0x07c7, 0xa14: 0x0d03, 0xa15: 0x0ceb, 0xa16: 0x11ab, 0xa17: 0x0663, + 0xa18: 0x0d0f, 0xa19: 0x0d13, 0xa1a: 0x0d17, 0xa1b: 0x0d2b, 0xa1c: 0x0d23, 0xa1d: 0x16dd, + 0xa1e: 0x0603, 0xa1f: 0x0d3f, 0xa20: 0x0d33, 0xa21: 0x0d4f, 0xa22: 0x0d57, 0xa23: 0x16e7, + 0xa24: 0x0d5b, 0xa25: 0x0d47, 0xa26: 0x0d63, 0xa27: 0x0607, 0xa28: 0x0d67, 0xa29: 0x0d6b, + 0xa2a: 0x0d6f, 0xa2b: 0x0d7b, 0xa2c: 0x16ec, 0xa2d: 0x0d83, 0xa2e: 0x060b, 0xa2f: 0x0d8f, + 0xa30: 0x16f1, 0xa31: 0x0d93, 0xa32: 0x060f, 0xa33: 0x0d9f, 0xa34: 0x0dab, 0xa35: 0x0db7, + 0xa36: 0x0dbb, 0xa37: 0x16f6, 0xa38: 0x168d, 0xa39: 0x16fb, 0xa3a: 0x0ddb, 0xa3b: 0x1700, + 0xa3c: 0x0de7, 0xa3d: 0x0def, 0xa3e: 0x0ddf, 0xa3f: 0x0dfb, + // Block 0x29, offset 0xa40 + 0xa40: 0x0e0b, 0xa41: 0x0e1b, 0xa42: 0x0e0f, 0xa43: 0x0e13, 0xa44: 0x0e1f, 0xa45: 0x0e23, + 0xa46: 0x1705, 0xa47: 0x0e07, 0xa48: 0x0e3b, 0xa49: 0x0e3f, 0xa4a: 0x0613, 0xa4b: 0x0e53, + 0xa4c: 0x0e4f, 0xa4d: 0x170a, 0xa4e: 0x0e33, 0xa4f: 0x0e6f, 0xa50: 0x170f, 0xa51: 0x1714, + 0xa52: 0x0e73, 0xa53: 0x0e87, 0xa54: 0x0e83, 0xa55: 0x0e7f, 0xa56: 0x0617, 0xa57: 0x0e8b, + 0xa58: 0x0e9b, 0xa59: 0x0e97, 0xa5a: 0x0ea3, 0xa5b: 0x1651, 0xa5c: 0x0eb3, 0xa5d: 0x1719, + 0xa5e: 0x0ebf, 0xa5f: 0x1723, 0xa60: 0x0ed3, 0xa61: 0x0edf, 0xa62: 0x0ef3, 0xa63: 0x1728, + 0xa64: 0x0f07, 0xa65: 0x0f0b, 0xa66: 0x172d, 0xa67: 0x1732, 0xa68: 0x0f27, 0xa69: 0x0f37, + 0xa6a: 0x061b, 0xa6b: 0x0f3b, 0xa6c: 0x061f, 0xa6d: 0x061f, 0xa6e: 0x0f53, 0xa6f: 0x0f57, + 0xa70: 0x0f5f, 0xa71: 0x0f63, 0xa72: 0x0f6f, 0xa73: 0x0623, 0xa74: 0x0f87, 0xa75: 0x1737, + 0xa76: 0x0fa3, 0xa77: 0x173c, 0xa78: 0x0faf, 0xa79: 0x16a1, 0xa7a: 0x0fbf, 0xa7b: 0x1741, + 0xa7c: 0x1746, 0xa7d: 0x174b, 0xa7e: 0x0627, 0xa7f: 0x062b, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0ff7, 0xa81: 0x1755, 0xa82: 0x1750, 0xa83: 0x175a, 0xa84: 0x175f, 0xa85: 0x0fff, + 0xa86: 0x1003, 0xa87: 0x1003, 0xa88: 0x100b, 0xa89: 0x0633, 0xa8a: 0x100f, 0xa8b: 0x0637, + 0xa8c: 0x063b, 0xa8d: 0x1769, 0xa8e: 0x1023, 0xa8f: 0x102b, 0xa90: 0x1037, 0xa91: 0x063f, + 0xa92: 0x176e, 0xa93: 0x105b, 0xa94: 0x1773, 0xa95: 0x1778, 0xa96: 0x107b, 0xa97: 0x1093, + 0xa98: 0x0643, 0xa99: 0x109b, 0xa9a: 0x109f, 0xa9b: 0x10a3, 0xa9c: 0x177d, 0xa9d: 0x1782, + 0xa9e: 0x1782, 0xa9f: 0x10bb, 0xaa0: 0x0647, 0xaa1: 0x1787, 0xaa2: 0x10cf, 0xaa3: 0x10d3, + 0xaa4: 0x064b, 0xaa5: 0x178c, 0xaa6: 0x10ef, 0xaa7: 0x064f, 0xaa8: 0x10ff, 0xaa9: 0x10f7, + 0xaaa: 0x1107, 0xaab: 0x1796, 0xaac: 0x111f, 0xaad: 0x0653, 0xaae: 0x112b, 0xaaf: 0x1133, + 0xab0: 0x1143, 0xab1: 0x0657, 0xab2: 0x17a0, 0xab3: 0x17a5, 0xab4: 0x065b, 0xab5: 0x17aa, + 0xab6: 0x115b, 0xab7: 0x17af, 0xab8: 0x1167, 0xab9: 0x1173, 0xaba: 0x117b, 0xabb: 0x17b4, + 0xabc: 0x17b9, 0xabd: 0x118f, 0xabe: 0x17be, 0xabf: 0x1197, + // Block 0x2b, offset 0xac0 + 0xac0: 0x16ce, 0xac1: 0x065f, 0xac2: 0x11af, 0xac3: 0x11b3, 0xac4: 0x0667, 0xac5: 0x11b7, + 0xac6: 0x0a33, 0xac7: 0x17c3, 0xac8: 0x17c8, 0xac9: 0x16d3, 0xaca: 0x16d8, 0xacb: 0x11d7, + 0xacc: 0x11db, 0xacd: 0x13f3, 0xace: 0x066b, 0xacf: 0x1207, 0xad0: 0x1203, 0xad1: 0x120b, + 0xad2: 0x083f, 0xad3: 0x120f, 0xad4: 0x1213, 0xad5: 0x1217, 0xad6: 0x121f, 0xad7: 0x17cd, + 0xad8: 0x121b, 0xad9: 0x1223, 0xada: 0x1237, 0xadb: 0x123b, 0xadc: 0x1227, 0xadd: 0x123f, + 0xade: 0x1253, 0xadf: 0x1267, 0xae0: 0x1233, 0xae1: 0x1247, 0xae2: 0x124b, 0xae3: 0x124f, + 0xae4: 0x17d2, 0xae5: 0x17dc, 0xae6: 0x17d7, 0xae7: 0x066f, 0xae8: 0x126f, 0xae9: 0x1273, + 0xaea: 0x127b, 0xaeb: 0x17f0, 0xaec: 0x127f, 0xaed: 0x17e1, 0xaee: 0x0673, 0xaef: 0x0677, + 0xaf0: 0x17e6, 0xaf1: 0x17eb, 0xaf2: 0x067b, 0xaf3: 0x129f, 0xaf4: 0x12a3, 0xaf5: 0x12a7, + 0xaf6: 0x12ab, 0xaf7: 0x12b7, 0xaf8: 0x12b3, 0xaf9: 0x12bf, 0xafa: 0x12bb, 0xafb: 0x12cb, + 0xafc: 0x12c3, 0xafd: 0x12c7, 0xafe: 0x12cf, 0xaff: 0x067f, + // Block 0x2c, offset 0xb00 + 0xb00: 0x12d7, 0xb01: 0x12db, 0xb02: 0x0683, 0xb03: 0x12eb, 0xb04: 0x12ef, 0xb05: 0x17f5, + 0xb06: 0x12fb, 0xb07: 0x12ff, 0xb08: 0x0687, 0xb09: 0x130b, 0xb0a: 0x05bb, 0xb0b: 0x17fa, + 0xb0c: 0x17ff, 0xb0d: 0x068b, 0xb0e: 0x068f, 0xb0f: 0x1337, 0xb10: 0x134f, 0xb11: 0x136b, + 0xb12: 0x137b, 0xb13: 0x1804, 0xb14: 0x138f, 0xb15: 0x1393, 0xb16: 0x13ab, 0xb17: 0x13b7, + 0xb18: 0x180e, 0xb19: 0x1660, 0xb1a: 0x13c3, 0xb1b: 0x13bf, 0xb1c: 0x13cb, 0xb1d: 0x1665, + 0xb1e: 0x13d7, 0xb1f: 0x13e3, 0xb20: 0x1813, 0xb21: 0x1818, 0xb22: 0x1423, 0xb23: 0x142f, + 0xb24: 0x1437, 0xb25: 0x181d, 0xb26: 0x143b, 0xb27: 0x1467, 0xb28: 0x1473, 0xb29: 0x1477, + 0xb2a: 0x146f, 0xb2b: 0x1483, 0xb2c: 0x1487, 0xb2d: 0x1822, 0xb2e: 0x1493, 0xb2f: 0x0693, + 0xb30: 0x149b, 0xb31: 0x1827, 0xb32: 0x0697, 0xb33: 0x14d3, 0xb34: 0x0ac3, 0xb35: 0x14eb, + 0xb36: 0x182c, 0xb37: 0x1836, 0xb38: 0x069b, 0xb39: 0x069f, 0xb3a: 0x1513, 0xb3b: 0x183b, + 0xb3c: 0x06a3, 0xb3d: 0x1840, 0xb3e: 0x152b, 0xb3f: 0x152b, + // Block 0x2d, offset 0xb40 + 0xb40: 0x1533, 0xb41: 0x1845, 0xb42: 0x154b, 0xb43: 0x06a7, 0xb44: 0x155b, 0xb45: 0x1567, + 0xb46: 0x156f, 0xb47: 0x1577, 0xb48: 0x06ab, 0xb49: 0x184a, 0xb4a: 0x158b, 0xb4b: 0x15a7, + 0xb4c: 0x15b3, 0xb4d: 0x06af, 0xb4e: 0x06b3, 0xb4f: 0x15b7, 0xb50: 0x184f, 0xb51: 0x06b7, + 0xb52: 0x1854, 0xb53: 0x1859, 0xb54: 0x185e, 0xb55: 0x15db, 0xb56: 0x06bb, 0xb57: 0x15ef, + 0xb58: 0x15f7, 0xb59: 0x15fb, 0xb5a: 0x1603, 0xb5b: 0x160b, 0xb5c: 0x1613, 0xb5d: 0x1868, +} + +// nfcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x2c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2d, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x2e, 0xcb: 0x2f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x30, + 0xd0: 0x09, 0xd1: 0x31, 0xd2: 0x32, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x33, + 0xd8: 0x34, 0xd9: 0x0c, 0xdb: 0x35, 0xdc: 0x36, 0xdd: 0x37, 0xdf: 0x38, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x39, 0x121: 0x3a, 0x123: 0x3b, 0x124: 0x3c, 0x125: 0x3d, 0x126: 0x3e, 0x127: 0x3f, + 0x128: 0x40, 0x129: 0x41, 0x12a: 0x42, 0x12b: 0x43, 0x12c: 0x3e, 0x12d: 0x44, 0x12e: 0x45, 0x12f: 0x46, + 0x131: 0x47, 0x132: 0x48, 0x133: 0x49, 0x134: 0x4a, 0x135: 0x4b, 0x137: 0x4c, + 0x138: 0x4d, 0x139: 0x4e, 0x13a: 0x4f, 0x13b: 0x50, 0x13c: 0x51, 0x13d: 0x52, 0x13e: 0x53, 0x13f: 0x54, + // Block 0x5, offset 0x140 + 0x140: 0x55, 0x142: 0x56, 0x144: 0x57, 0x145: 0x58, 0x146: 0x59, 0x147: 0x5a, + 0x14d: 0x5b, + 0x15c: 0x5c, 0x15f: 0x5d, + 0x162: 0x5e, 0x164: 0x5f, + 0x168: 0x60, 0x169: 0x61, 0x16a: 0x62, 0x16c: 0x0d, 0x16d: 0x63, 0x16e: 0x64, 0x16f: 0x65, + 0x170: 0x66, 0x173: 0x67, 0x177: 0x68, + 0x178: 0x0e, 0x179: 0x0f, 0x17a: 0x10, 0x17b: 0x11, 0x17c: 0x12, 0x17d: 0x13, 0x17e: 0x14, 0x17f: 0x15, + // Block 0x6, offset 0x180 + 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, + 0x188: 0x6e, 0x189: 0x16, 0x18a: 0x17, 0x18b: 0x6f, 0x18c: 0x70, + 0x1ab: 0x71, + 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x75, 0x1c1: 0x18, 0x1c2: 0x19, 0x1c3: 0x1a, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, + // Block 0x8, offset 0x200 + 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, + 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, + 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, + 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, + 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, + // Block 0x9, offset 0x240 + 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, + 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, + 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, + 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, + 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, + 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, + 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, + 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, + // Block 0xa, offset 0x280 + 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, + 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, + 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, + 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, + 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, + 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, + 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, + 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, + 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, + 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, + 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, + // Block 0xc, offset 0x300 + 0x324: 0x1b, 0x325: 0x1c, 0x326: 0x1d, 0x327: 0x1e, + 0x328: 0x1f, 0x329: 0x20, 0x32a: 0x21, 0x32b: 0x22, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, + 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, + // Block 0xd, offset 0x340 + 0x347: 0x9c, + 0x34b: 0x9d, 0x34d: 0x9e, + 0x368: 0x9f, 0x36b: 0xa0, + // Block 0xe, offset 0x380 + 0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4, + 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3e, 0x38d: 0xa7, + 0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac, + 0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae, + 0x3b0: 0x73, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xaf, 0x3ec: 0xb0, + // Block 0x10, offset 0x400 + 0x432: 0xb1, + // Block 0x11, offset 0x440 + 0x445: 0xb2, 0x446: 0xb3, 0x447: 0xb4, + 0x449: 0xb5, + // Block 0x12, offset 0x480 + 0x480: 0xb6, + 0x4a3: 0xb7, 0x4a5: 0xb8, + // Block 0x13, offset 0x4c0 + 0x4c8: 0xb9, + // Block 0x14, offset 0x500 + 0x520: 0x23, 0x521: 0x24, 0x522: 0x25, 0x523: 0x26, 0x524: 0x27, 0x525: 0x28, 0x526: 0x29, 0x527: 0x2a, + 0x528: 0x2b, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfcSparseOffset: 142 entries, 284 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc7, 0xce, 0xd6, 0xd9, 0xdb, 0xdd, 0xdf, 0xe4, 0xf5, 0x101, 0x103, 0x109, 0x10b, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x118, 0x11b, 0x11d, 0x120, 0x123, 0x127, 0x12c, 0x135, 0x137, 0x13a, 0x13c, 0x147, 0x157, 0x15b, 0x169, 0x16c, 0x172, 0x178, 0x183, 0x187, 0x189, 0x18b, 0x18d, 0x18f, 0x191, 0x197, 0x19b, 0x19d, 0x19f, 0x1a7, 0x1ab, 0x1ae, 0x1b0, 0x1b2, 0x1b4, 0x1b7, 0x1b9, 0x1bb, 0x1bd, 0x1bf, 0x1c5, 0x1c8, 0x1ca, 0x1d1, 0x1d7, 0x1dd, 0x1e5, 0x1eb, 0x1f1, 0x1f7, 0x1fb, 0x209, 0x212, 0x215, 0x218, 0x21a, 0x21d, 0x21f, 0x223, 0x228, 0x22a, 0x22c, 0x231, 0x237, 0x239, 0x23b, 0x23d, 0x243, 0x246, 0x249, 0x251, 0x258, 0x25b, 0x25e, 0x260, 0x268, 0x26b, 0x272, 0x275, 0x27b, 0x27d, 0x280, 0x282, 0x284, 0x286, 0x288, 0x295, 0x29f, 0x2a1, 0x2a3, 0x2a9, 0x2ab, 0x2ae} + +// nfcSparseValues: 688 entries, 2752 bytes +var nfcSparseValues = [688]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x04}, + {value: 0xa100, lo: 0xa8, hi: 0xa8}, + {value: 0x8100, lo: 0xaf, hi: 0xaf}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb8, hi: 0xb8}, + // Block 0x1, offset 0x5 + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x9 + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + // Block 0x3, offset 0xb + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x98, hi: 0x9d}, + // Block 0x4, offset 0xd + {value: 0x0006, lo: 0x0a}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x85, hi: 0x85}, + {value: 0xa000, lo: 0x89, hi: 0x89}, + {value: 0x4840, lo: 0x8a, hi: 0x8a}, + {value: 0x485e, lo: 0x8b, hi: 0x8b}, + {value: 0x36c7, lo: 0x8c, hi: 0x8c}, + {value: 0x36df, lo: 0x8d, hi: 0x8d}, + {value: 0x4876, lo: 0x8e, hi: 0x8e}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x36fd, lo: 0x93, hi: 0x94}, + // Block 0x5, offset 0x18 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x6, offset 0x28 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x7, offset 0x2a + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x8, offset 0x2f + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x9, offset 0x3a + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0xa, offset 0x49 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xb, offset 0x56 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xc, offset 0x5e + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xd, offset 0x62 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xe, offset 0x67 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xf, offset 0x69 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0x10, offset 0x7a + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x11, offset 0x82 + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x12, offset 0x89 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x13, offset 0x8c + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x14, offset 0x93 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x15, offset 0x97 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x16, offset 0x9b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x17, offset 0x9d + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x18, offset 0x9f + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x19, offset 0xa8 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1a, offset 0xac + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1b, offset 0xb3 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1c, offset 0xb8 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1d, offset 0xbb + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1e, offset 0xc5 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1f, offset 0xc7 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x20, offset 0xce + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x21, offset 0xd6 + {value: 0x0000, lo: 0x02}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x22, offset 0xd9 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x23, offset 0xdb + {value: 0x0000, lo: 0x01}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x24, offset 0xdd + {value: 0x0000, lo: 0x01}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + // Block 0x25, offset 0xdf + {value: 0x0000, lo: 0x04}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x26, offset 0xe4 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x8200, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x8200, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x27, offset 0xf5 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x28, offset 0x101 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x29, offset 0x103 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x2a, offset 0x109 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2b, offset 0x10b + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x10d + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x10f + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x111 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x113 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x115 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x118 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x11b + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x11d + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x120 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x123 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x127 + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x12c + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x135 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x137 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x13a + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x13c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x147 + {value: 0x0000, lo: 0x0f}, + {value: 0x8132, lo: 0x80, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x82}, + {value: 0x8132, lo: 0x83, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8a}, + {value: 0x8132, lo: 0x8b, hi: 0x8c}, + {value: 0x8135, lo: 0x8d, hi: 0x8d}, + {value: 0x812a, lo: 0x8e, hi: 0x8e}, + {value: 0x812d, lo: 0x8f, hi: 0x8f}, + {value: 0x8129, lo: 0x90, hi: 0x90}, + {value: 0x8132, lo: 0x91, hi: 0xb5}, + {value: 0x8132, lo: 0xbb, hi: 0xbb}, + {value: 0x8134, lo: 0xbc, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x157 + {value: 0x0004, lo: 0x03}, + {value: 0x0433, lo: 0x80, hi: 0x81}, + {value: 0x8100, lo: 0x97, hi: 0x97}, + {value: 0x8100, lo: 0xbe, hi: 0xbe}, + // Block 0x3e, offset 0x15b + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x3f, offset 0x169 + {value: 0x427b, lo: 0x02}, + {value: 0x01b8, lo: 0xa6, hi: 0xa6}, + {value: 0x0057, lo: 0xaa, hi: 0xab}, + // Block 0x40, offset 0x16c + {value: 0x0007, lo: 0x05}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x41, offset 0x172 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x42, offset 0x178 + {value: 0x6408, lo: 0x0a}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x43, offset 0x183 + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x44, offset 0x187 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x45, offset 0x189 + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x46, offset 0x18b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x47, offset 0x18d + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x48, offset 0x18f + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x49, offset 0x191 + {value: 0x0000, lo: 0x05}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xaf}, + // Block 0x4a, offset 0x197 + {value: 0x0000, lo: 0x03}, + {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, + {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, + {value: 0x4a9f, lo: 0xba, hi: 0xbf}, + // Block 0x4b, offset 0x19b + {value: 0x0000, lo: 0x01}, + {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, + // Block 0x4c, offset 0x19d + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xae, hi: 0xbe}, + // Block 0x4d, offset 0x19f + {value: 0x0000, lo: 0x07}, + {value: 0x8100, lo: 0x84, hi: 0x84}, + {value: 0x8100, lo: 0x87, hi: 0x87}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + {value: 0x8100, lo: 0x9e, hi: 0x9e}, + {value: 0x8100, lo: 0xa1, hi: 0xa1}, + {value: 0x8100, lo: 0xb2, hi: 0xb2}, + {value: 0x8100, lo: 0xbb, hi: 0xbb}, + // Block 0x4e, offset 0x1a7 + {value: 0x0000, lo: 0x03}, + {value: 0x8100, lo: 0x80, hi: 0x80}, + {value: 0x8100, lo: 0x8b, hi: 0x8b}, + {value: 0x8100, lo: 0x8e, hi: 0x8e}, + // Block 0x4f, offset 0x1ab + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x50, offset 0x1ae + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x51, offset 0x1b0 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x52, offset 0x1b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x53, offset 0x1b4 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x54, offset 0x1b7 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x55, offset 0x1b9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x56, offset 0x1bb + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x57, offset 0x1bd + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x58, offset 0x1bf + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x59, offset 0x1c5 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x5a, offset 0x1c8 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x5b, offset 0x1ca + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x5c, offset 0x1d1 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x5d, offset 0x1d7 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x5e, offset 0x1dd + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x5f, offset 0x1e5 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x60, offset 0x1eb + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x61, offset 0x1f1 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x62, offset 0x1f7 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x63, offset 0x1fb + {value: 0x0006, lo: 0x0d}, + {value: 0x4390, lo: 0x9d, hi: 0x9d}, + {value: 0x8115, lo: 0x9e, hi: 0x9e}, + {value: 0x4402, lo: 0x9f, hi: 0x9f}, + {value: 0x43f0, lo: 0xaa, hi: 0xab}, + {value: 0x44f4, lo: 0xac, hi: 0xac}, + {value: 0x44fc, lo: 0xad, hi: 0xad}, + {value: 0x4348, lo: 0xae, hi: 0xb1}, + {value: 0x4366, lo: 0xb2, hi: 0xb4}, + {value: 0x437e, lo: 0xb5, hi: 0xb6}, + {value: 0x438a, lo: 0xb8, hi: 0xb8}, + {value: 0x4396, lo: 0xb9, hi: 0xbb}, + {value: 0x43ae, lo: 0xbc, hi: 0xbc}, + {value: 0x43b4, lo: 0xbe, hi: 0xbe}, + // Block 0x64, offset 0x209 + {value: 0x0006, lo: 0x08}, + {value: 0x43ba, lo: 0x80, hi: 0x81}, + {value: 0x43c6, lo: 0x83, hi: 0x84}, + {value: 0x43d8, lo: 0x86, hi: 0x89}, + {value: 0x43fc, lo: 0x8a, hi: 0x8a}, + {value: 0x4378, lo: 0x8b, hi: 0x8b}, + {value: 0x4360, lo: 0x8c, hi: 0x8c}, + {value: 0x43a8, lo: 0x8d, hi: 0x8d}, + {value: 0x43d2, lo: 0x8e, hi: 0x8e}, + // Block 0x65, offset 0x212 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0xa4, hi: 0xa5}, + {value: 0x8100, lo: 0xb0, hi: 0xb1}, + // Block 0x66, offset 0x215 + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x9b, hi: 0x9d}, + {value: 0x8200, lo: 0x9e, hi: 0xa3}, + // Block 0x67, offset 0x218 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x90, hi: 0x90}, + // Block 0x68, offset 0x21a + {value: 0x0000, lo: 0x02}, + {value: 0x8100, lo: 0x99, hi: 0x99}, + {value: 0x8200, lo: 0xb2, hi: 0xb4}, + // Block 0x69, offset 0x21d + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xbc, hi: 0xbd}, + // Block 0x6a, offset 0x21f + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xa0, hi: 0xa6}, + {value: 0x812d, lo: 0xa7, hi: 0xad}, + {value: 0x8132, lo: 0xae, hi: 0xaf}, + // Block 0x6b, offset 0x223 + {value: 0x0000, lo: 0x04}, + {value: 0x8100, lo: 0x89, hi: 0x8c}, + {value: 0x8100, lo: 0xb0, hi: 0xb2}, + {value: 0x8100, lo: 0xb4, hi: 0xb4}, + {value: 0x8100, lo: 0xb6, hi: 0xbf}, + // Block 0x6c, offset 0x228 + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x81, hi: 0x8c}, + // Block 0x6d, offset 0x22a + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0xb5, hi: 0xba}, + // Block 0x6e, offset 0x22c + {value: 0x0000, lo: 0x04}, + {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, + {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, + {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, + {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, + // Block 0x6f, offset 0x231 + {value: 0x0000, lo: 0x05}, + {value: 0x4a9f, lo: 0x82, hi: 0x87}, + {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, + {value: 0x4a9f, lo: 0x92, hi: 0x97}, + {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, + {value: 0x8100, lo: 0xa3, hi: 0xa3}, + // Block 0x70, offset 0x237 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x71, offset 0x239 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x72, offset 0x23b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x73, offset 0x23d + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x74, offset 0x243 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x75, offset 0x246 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x76, offset 0x249 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x77, offset 0x251 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x78, offset 0x258 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x79, offset 0x25b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x7a, offset 0x25e + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x7b, offset 0x260 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x7c, offset 0x268 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x7d, offset 0x26b + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7e, offset 0x272 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7f, offset 0x275 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x80, offset 0x27b + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x81, offset 0x27d + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x82, offset 0x280 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x83, offset 0x282 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x84, offset 0x284 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x85, offset 0x286 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x86, offset 0x288 + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x87, offset 0x295 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x88, offset 0x29f + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x89, offset 0x2a1 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x8a, offset 0x2a3 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x8b, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x8c, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x8d, offset 0x2ae + {value: 0x0000, lo: 0x01}, + {value: 0x8100, lo: 0x93, hi: 0x93}, +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return nfkcValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := nfkcIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = nfkcIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = nfkcIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return nfkcValues[c0] + } + i := nfkcIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = nfkcIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// nfkcTrie. Total size: 16994 bytes (16.60 KiB). Checksum: c3ed54ee046f3c46. +type nfkcTrie struct{} + +func newNfkcTrie(i int) *nfkcTrie { + return &nfkcTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 90: + return uint16(nfkcValues[n<<6+uint32(b)]) + default: + n -= 90 + return uint16(nfkcSparse.lookup(n, b)) + } +} + +// nfkcValues: 92 blocks, 5888 entries, 11776 bytes +// The third block is the zero block. +var nfkcValues = [5888]uint16{ + // Block 0x0, offset 0x0 + 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, + // Block 0x1, offset 0x40 + 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, + 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, + 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, + 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, + 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, + 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, + 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, + 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, + 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, + 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c, + 0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb, + 0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104, + 0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd, + 0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235, + 0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285, + 0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3, + 0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750, + 0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f, + 0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3, + 0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569, + // Block 0x4, offset 0x100 + 0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8, + 0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6, + 0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5, + 0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302, + 0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339, + 0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352, + 0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e, + 0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6, + 0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0, + 0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc, + 0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac, + // Block 0x5, offset 0x140 + 0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118, + 0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c, + 0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c, + 0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483, + 0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d, + 0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba, + 0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796, + 0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2, + 0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528, + 0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267, + 0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7, + // Block 0x6, offset 0x180 + 0x184: 0x2dee, 0x185: 0x2df4, + 0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a, + 0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140, + 0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8, + 0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50, + 0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5, + 0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf, + 0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd, + 0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334, + 0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46, + 0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316, + 0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac, + 0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479, + 0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6, + 0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5, + 0x1de: 0x305a, 0x1df: 0x3366, + 0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b, + 0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769, + 0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f, + // Block 0x8, offset 0x200 + 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, + 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, + 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, + 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, + 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, + 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, + 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, + 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, + 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, + 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, + 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, + // Block 0x9, offset 0x240 + 0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936, + 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, + 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, + 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, + 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, + 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, + 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, + 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, + 0x274: 0x0170, + 0x27a: 0x42a5, + 0x27e: 0x0037, + // Block 0xa, offset 0x280 + 0x284: 0x425a, 0x285: 0x447b, + 0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625, + 0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000, + 0x295: 0xa000, 0x297: 0xa000, + 0x299: 0xa000, + 0x29f: 0xa000, 0x2a1: 0xa000, + 0x2a5: 0xa000, 0x2a9: 0xa000, + 0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9, + 0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000, + 0x2b7: 0xa000, 0x2b9: 0xa000, + 0x2bf: 0xa000, + // Block 0xb, offset 0x2c0 + 0x2c1: 0xa000, 0x2c5: 0xa000, + 0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e, + 0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0, + 0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8, + 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, + 0x2f9: 0x01a6, + // Block 0xc, offset 0x300 + 0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b, + 0x306: 0xa000, 0x307: 0x3709, + 0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000, + 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, + 0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000, + 0x31e: 0xa000, 0x323: 0xa000, + 0x327: 0xa000, + 0x32b: 0xa000, 0x32d: 0xa000, + 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, + 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000, + 0x33e: 0xa000, + // Block 0xd, offset 0x340 + 0x341: 0x3733, 0x342: 0x37b7, + 0x350: 0x370f, 0x351: 0x3793, + 0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab, + 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd, + 0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf, + 0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000, + 0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed, + 0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805, + 0x378: 0x3787, 0x379: 0x380b, + // Block 0xe, offset 0x380 + 0x387: 0x1d61, + 0x391: 0x812d, + 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, + 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, + 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, + 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, + 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, + 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, + 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, + 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, + // Block 0xf, offset 0x3c0 + 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, + 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, + 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, + 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, + 0x3de: 0x8132, 0x3df: 0x812d, + 0x3f0: 0x811e, 0x3f5: 0x1d84, + 0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a, + // Block 0x10, offset 0x400 + 0x405: 0xa000, + 0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000, + 0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000, + 0x412: 0x2d4e, + 0x434: 0x8102, 0x435: 0x9900, + 0x43a: 0xa000, 0x43b: 0x2d56, + 0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000, + // Block 0x11, offset 0x440 + 0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8, + 0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107, + 0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0, + 0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9, + 0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be, + 0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5, + 0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa, + 0x46a: 0x01fd, + 0x478: 0x020c, + // Block 0x12, offset 0x480 + 0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101, + 0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116, + 0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128, + 0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137, + 0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec, + 0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5, + 0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x2f97, 0x4c1: 0x32a3, 0x4c2: 0x2fa1, 0x4c3: 0x32ad, 0x4c4: 0x2fa6, 0x4c5: 0x32b2, + 0x4c6: 0x2fab, 0x4c7: 0x32b7, 0x4c8: 0x38cc, 0x4c9: 0x3a5b, 0x4ca: 0x2fc4, 0x4cb: 0x32d0, + 0x4cc: 0x2fce, 0x4cd: 0x32da, 0x4ce: 0x2fdd, 0x4cf: 0x32e9, 0x4d0: 0x2fd3, 0x4d1: 0x32df, + 0x4d2: 0x2fd8, 0x4d3: 0x32e4, 0x4d4: 0x38ef, 0x4d5: 0x3a7e, 0x4d6: 0x38f6, 0x4d7: 0x3a85, + 0x4d8: 0x3019, 0x4d9: 0x3325, 0x4da: 0x301e, 0x4db: 0x332a, 0x4dc: 0x3904, 0x4dd: 0x3a93, + 0x4de: 0x3023, 0x4df: 0x332f, 0x4e0: 0x3032, 0x4e1: 0x333e, 0x4e2: 0x3050, 0x4e3: 0x335c, + 0x4e4: 0x305f, 0x4e5: 0x336b, 0x4e6: 0x3055, 0x4e7: 0x3361, 0x4e8: 0x3064, 0x4e9: 0x3370, + 0x4ea: 0x3069, 0x4eb: 0x3375, 0x4ec: 0x30af, 0x4ed: 0x33bb, 0x4ee: 0x390b, 0x4ef: 0x3a9a, + 0x4f0: 0x30b9, 0x4f1: 0x33ca, 0x4f2: 0x30c3, 0x4f3: 0x33d4, 0x4f4: 0x30cd, 0x4f5: 0x33de, + 0x4f6: 0x46c4, 0x4f7: 0x4755, 0x4f8: 0x3912, 0x4f9: 0x3aa1, 0x4fa: 0x30e6, 0x4fb: 0x33f7, + 0x4fc: 0x30e1, 0x4fd: 0x33f2, 0x4fe: 0x30eb, 0x4ff: 0x33fc, + // Block 0x14, offset 0x500 + 0x500: 0x30f0, 0x501: 0x3401, 0x502: 0x30f5, 0x503: 0x3406, 0x504: 0x3109, 0x505: 0x341a, + 0x506: 0x3113, 0x507: 0x3424, 0x508: 0x3122, 0x509: 0x3433, 0x50a: 0x311d, 0x50b: 0x342e, + 0x50c: 0x3935, 0x50d: 0x3ac4, 0x50e: 0x3943, 0x50f: 0x3ad2, 0x510: 0x394a, 0x511: 0x3ad9, + 0x512: 0x3951, 0x513: 0x3ae0, 0x514: 0x314f, 0x515: 0x3460, 0x516: 0x3154, 0x517: 0x3465, + 0x518: 0x315e, 0x519: 0x346f, 0x51a: 0x46f1, 0x51b: 0x4782, 0x51c: 0x3997, 0x51d: 0x3b26, + 0x51e: 0x3177, 0x51f: 0x3488, 0x520: 0x3181, 0x521: 0x3492, 0x522: 0x4700, 0x523: 0x4791, + 0x524: 0x399e, 0x525: 0x3b2d, 0x526: 0x39a5, 0x527: 0x3b34, 0x528: 0x39ac, 0x529: 0x3b3b, + 0x52a: 0x3190, 0x52b: 0x34a1, 0x52c: 0x319a, 0x52d: 0x34b0, 0x52e: 0x31ae, 0x52f: 0x34c4, + 0x530: 0x31a9, 0x531: 0x34bf, 0x532: 0x31ea, 0x533: 0x3500, 0x534: 0x31f9, 0x535: 0x350f, + 0x536: 0x31f4, 0x537: 0x350a, 0x538: 0x39b3, 0x539: 0x3b42, 0x53a: 0x39ba, 0x53b: 0x3b49, + 0x53c: 0x31fe, 0x53d: 0x3514, 0x53e: 0x3203, 0x53f: 0x3519, + // Block 0x15, offset 0x540 + 0x540: 0x3208, 0x541: 0x351e, 0x542: 0x320d, 0x543: 0x3523, 0x544: 0x321c, 0x545: 0x3532, + 0x546: 0x3217, 0x547: 0x352d, 0x548: 0x3221, 0x549: 0x353c, 0x54a: 0x3226, 0x54b: 0x3541, + 0x54c: 0x322b, 0x54d: 0x3546, 0x54e: 0x3249, 0x54f: 0x3564, 0x550: 0x3262, 0x551: 0x3582, + 0x552: 0x3271, 0x553: 0x3591, 0x554: 0x3276, 0x555: 0x3596, 0x556: 0x337a, 0x557: 0x34a6, + 0x558: 0x3537, 0x559: 0x3573, 0x55a: 0x1be0, 0x55b: 0x42d7, + 0x560: 0x46a1, 0x561: 0x4732, 0x562: 0x2f83, 0x563: 0x328f, + 0x564: 0x3878, 0x565: 0x3a07, 0x566: 0x3871, 0x567: 0x3a00, 0x568: 0x3886, 0x569: 0x3a15, + 0x56a: 0x387f, 0x56b: 0x3a0e, 0x56c: 0x38be, 0x56d: 0x3a4d, 0x56e: 0x3894, 0x56f: 0x3a23, + 0x570: 0x388d, 0x571: 0x3a1c, 0x572: 0x38a2, 0x573: 0x3a31, 0x574: 0x389b, 0x575: 0x3a2a, + 0x576: 0x38c5, 0x577: 0x3a54, 0x578: 0x46b5, 0x579: 0x4746, 0x57a: 0x3000, 0x57b: 0x330c, + 0x57c: 0x2fec, 0x57d: 0x32f8, 0x57e: 0x38da, 0x57f: 0x3a69, + // Block 0x16, offset 0x580 + 0x580: 0x38d3, 0x581: 0x3a62, 0x582: 0x38e8, 0x583: 0x3a77, 0x584: 0x38e1, 0x585: 0x3a70, + 0x586: 0x38fd, 0x587: 0x3a8c, 0x588: 0x3091, 0x589: 0x339d, 0x58a: 0x30a5, 0x58b: 0x33b1, + 0x58c: 0x46e7, 0x58d: 0x4778, 0x58e: 0x3136, 0x58f: 0x3447, 0x590: 0x3920, 0x591: 0x3aaf, + 0x592: 0x3919, 0x593: 0x3aa8, 0x594: 0x392e, 0x595: 0x3abd, 0x596: 0x3927, 0x597: 0x3ab6, + 0x598: 0x3989, 0x599: 0x3b18, 0x59a: 0x396d, 0x59b: 0x3afc, 0x59c: 0x3966, 0x59d: 0x3af5, + 0x59e: 0x397b, 0x59f: 0x3b0a, 0x5a0: 0x3974, 0x5a1: 0x3b03, 0x5a2: 0x3982, 0x5a3: 0x3b11, + 0x5a4: 0x31e5, 0x5a5: 0x34fb, 0x5a6: 0x31c7, 0x5a7: 0x34dd, 0x5a8: 0x39e4, 0x5a9: 0x3b73, + 0x5aa: 0x39dd, 0x5ab: 0x3b6c, 0x5ac: 0x39f2, 0x5ad: 0x3b81, 0x5ae: 0x39eb, 0x5af: 0x3b7a, + 0x5b0: 0x39f9, 0x5b1: 0x3b88, 0x5b2: 0x3230, 0x5b3: 0x354b, 0x5b4: 0x3258, 0x5b5: 0x3578, + 0x5b6: 0x3253, 0x5b7: 0x356e, 0x5b8: 0x323f, 0x5b9: 0x355a, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x4804, 0x5c1: 0x480a, 0x5c2: 0x491e, 0x5c3: 0x4936, 0x5c4: 0x4926, 0x5c5: 0x493e, + 0x5c6: 0x492e, 0x5c7: 0x4946, 0x5c8: 0x47aa, 0x5c9: 0x47b0, 0x5ca: 0x488e, 0x5cb: 0x48a6, + 0x5cc: 0x4896, 0x5cd: 0x48ae, 0x5ce: 0x489e, 0x5cf: 0x48b6, 0x5d0: 0x4816, 0x5d1: 0x481c, + 0x5d2: 0x3db8, 0x5d3: 0x3dc8, 0x5d4: 0x3dc0, 0x5d5: 0x3dd0, + 0x5d8: 0x47b6, 0x5d9: 0x47bc, 0x5da: 0x3ce8, 0x5db: 0x3cf8, 0x5dc: 0x3cf0, 0x5dd: 0x3d00, + 0x5e0: 0x482e, 0x5e1: 0x4834, 0x5e2: 0x494e, 0x5e3: 0x4966, + 0x5e4: 0x4956, 0x5e5: 0x496e, 0x5e6: 0x495e, 0x5e7: 0x4976, 0x5e8: 0x47c2, 0x5e9: 0x47c8, + 0x5ea: 0x48be, 0x5eb: 0x48d6, 0x5ec: 0x48c6, 0x5ed: 0x48de, 0x5ee: 0x48ce, 0x5ef: 0x48e6, + 0x5f0: 0x4846, 0x5f1: 0x484c, 0x5f2: 0x3e18, 0x5f3: 0x3e30, 0x5f4: 0x3e20, 0x5f5: 0x3e38, + 0x5f6: 0x3e28, 0x5f7: 0x3e40, 0x5f8: 0x47ce, 0x5f9: 0x47d4, 0x5fa: 0x3d18, 0x5fb: 0x3d30, + 0x5fc: 0x3d20, 0x5fd: 0x3d38, 0x5fe: 0x3d28, 0x5ff: 0x3d40, + // Block 0x18, offset 0x600 + 0x600: 0x4852, 0x601: 0x4858, 0x602: 0x3e48, 0x603: 0x3e58, 0x604: 0x3e50, 0x605: 0x3e60, + 0x608: 0x47da, 0x609: 0x47e0, 0x60a: 0x3d48, 0x60b: 0x3d58, + 0x60c: 0x3d50, 0x60d: 0x3d60, 0x610: 0x4864, 0x611: 0x486a, + 0x612: 0x3e80, 0x613: 0x3e98, 0x614: 0x3e88, 0x615: 0x3ea0, 0x616: 0x3e90, 0x617: 0x3ea8, + 0x619: 0x47e6, 0x61b: 0x3d68, 0x61d: 0x3d70, + 0x61f: 0x3d78, 0x620: 0x487c, 0x621: 0x4882, 0x622: 0x497e, 0x623: 0x4996, + 0x624: 0x4986, 0x625: 0x499e, 0x626: 0x498e, 0x627: 0x49a6, 0x628: 0x47ec, 0x629: 0x47f2, + 0x62a: 0x48ee, 0x62b: 0x4906, 0x62c: 0x48f6, 0x62d: 0x490e, 0x62e: 0x48fe, 0x62f: 0x4916, + 0x630: 0x47f8, 0x631: 0x431e, 0x632: 0x3691, 0x633: 0x4324, 0x634: 0x4822, 0x635: 0x432a, + 0x636: 0x36a3, 0x637: 0x4330, 0x638: 0x36c1, 0x639: 0x4336, 0x63a: 0x36d9, 0x63b: 0x433c, + 0x63c: 0x4870, 0x63d: 0x4342, + // Block 0x19, offset 0x640 + 0x640: 0x3da0, 0x641: 0x3da8, 0x642: 0x4184, 0x643: 0x41a2, 0x644: 0x418e, 0x645: 0x41ac, + 0x646: 0x4198, 0x647: 0x41b6, 0x648: 0x3cd8, 0x649: 0x3ce0, 0x64a: 0x40d0, 0x64b: 0x40ee, + 0x64c: 0x40da, 0x64d: 0x40f8, 0x64e: 0x40e4, 0x64f: 0x4102, 0x650: 0x3de8, 0x651: 0x3df0, + 0x652: 0x41c0, 0x653: 0x41de, 0x654: 0x41ca, 0x655: 0x41e8, 0x656: 0x41d4, 0x657: 0x41f2, + 0x658: 0x3d08, 0x659: 0x3d10, 0x65a: 0x410c, 0x65b: 0x412a, 0x65c: 0x4116, 0x65d: 0x4134, + 0x65e: 0x4120, 0x65f: 0x413e, 0x660: 0x3ec0, 0x661: 0x3ec8, 0x662: 0x41fc, 0x663: 0x421a, + 0x664: 0x4206, 0x665: 0x4224, 0x666: 0x4210, 0x667: 0x422e, 0x668: 0x3d80, 0x669: 0x3d88, + 0x66a: 0x4148, 0x66b: 0x4166, 0x66c: 0x4152, 0x66d: 0x4170, 0x66e: 0x415c, 0x66f: 0x417a, + 0x670: 0x3685, 0x671: 0x367f, 0x672: 0x3d90, 0x673: 0x368b, 0x674: 0x3d98, + 0x676: 0x4810, 0x677: 0x3db0, 0x678: 0x35f5, 0x679: 0x35ef, 0x67a: 0x35e3, 0x67b: 0x42ee, + 0x67c: 0x35fb, 0x67d: 0x4287, 0x67e: 0x01d3, 0x67f: 0x4287, + // Block 0x1a, offset 0x680 + 0x680: 0x42a0, 0x681: 0x4482, 0x682: 0x3dd8, 0x683: 0x369d, 0x684: 0x3de0, + 0x686: 0x483a, 0x687: 0x3df8, 0x688: 0x3601, 0x689: 0x42f4, 0x68a: 0x360d, 0x68b: 0x42fa, + 0x68c: 0x3619, 0x68d: 0x4489, 0x68e: 0x4490, 0x68f: 0x4497, 0x690: 0x36b5, 0x691: 0x36af, + 0x692: 0x3e00, 0x693: 0x44e4, 0x696: 0x36bb, 0x697: 0x3e10, + 0x698: 0x3631, 0x699: 0x362b, 0x69a: 0x361f, 0x69b: 0x4300, 0x69d: 0x449e, + 0x69e: 0x44a5, 0x69f: 0x44ac, 0x6a0: 0x36eb, 0x6a1: 0x36e5, 0x6a2: 0x3e68, 0x6a3: 0x44ec, + 0x6a4: 0x36cd, 0x6a5: 0x36d3, 0x6a6: 0x36f1, 0x6a7: 0x3e78, 0x6a8: 0x3661, 0x6a9: 0x365b, + 0x6aa: 0x364f, 0x6ab: 0x430c, 0x6ac: 0x3649, 0x6ad: 0x4474, 0x6ae: 0x447b, 0x6af: 0x0081, + 0x6b2: 0x3eb0, 0x6b3: 0x36f7, 0x6b4: 0x3eb8, + 0x6b6: 0x4888, 0x6b7: 0x3ed0, 0x6b8: 0x363d, 0x6b9: 0x4306, 0x6ba: 0x366d, 0x6bb: 0x4318, + 0x6bc: 0x3679, 0x6bd: 0x425a, 0x6be: 0x428c, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x1bd8, 0x6c1: 0x1bdc, 0x6c2: 0x0047, 0x6c3: 0x1c54, 0x6c5: 0x1be8, + 0x6c6: 0x1bec, 0x6c7: 0x00e9, 0x6c9: 0x1c58, 0x6ca: 0x008f, 0x6cb: 0x0051, + 0x6cc: 0x0051, 0x6cd: 0x0051, 0x6ce: 0x0091, 0x6cf: 0x00da, 0x6d0: 0x0053, 0x6d1: 0x0053, + 0x6d2: 0x0059, 0x6d3: 0x0099, 0x6d5: 0x005d, 0x6d6: 0x198d, + 0x6d9: 0x0061, 0x6da: 0x0063, 0x6db: 0x0065, 0x6dc: 0x0065, 0x6dd: 0x0065, + 0x6e0: 0x199f, 0x6e1: 0x1bc8, 0x6e2: 0x19a8, + 0x6e4: 0x0075, 0x6e6: 0x01b8, 0x6e8: 0x0075, + 0x6ea: 0x0057, 0x6eb: 0x42d2, 0x6ec: 0x0045, 0x6ed: 0x0047, 0x6ef: 0x008b, + 0x6f0: 0x004b, 0x6f1: 0x004d, 0x6f3: 0x005b, 0x6f4: 0x009f, 0x6f5: 0x0215, + 0x6f6: 0x0218, 0x6f7: 0x021b, 0x6f8: 0x021e, 0x6f9: 0x0093, 0x6fb: 0x1b98, + 0x6fc: 0x01e8, 0x6fd: 0x01c1, 0x6fe: 0x0179, 0x6ff: 0x01a0, + // Block 0x1c, offset 0x700 + 0x700: 0x0463, 0x705: 0x0049, + 0x706: 0x0089, 0x707: 0x008b, 0x708: 0x0093, 0x709: 0x0095, + 0x710: 0x222e, 0x711: 0x223a, + 0x712: 0x22ee, 0x713: 0x2216, 0x714: 0x229a, 0x715: 0x2222, 0x716: 0x22a0, 0x717: 0x22b8, + 0x718: 0x22c4, 0x719: 0x2228, 0x71a: 0x22ca, 0x71b: 0x2234, 0x71c: 0x22be, 0x71d: 0x22d0, + 0x71e: 0x22d6, 0x71f: 0x1cbc, 0x720: 0x0053, 0x721: 0x195a, 0x722: 0x1ba4, 0x723: 0x1963, + 0x724: 0x006d, 0x725: 0x19ab, 0x726: 0x1bd0, 0x727: 0x1d48, 0x728: 0x1966, 0x729: 0x0071, + 0x72a: 0x19b7, 0x72b: 0x1bd4, 0x72c: 0x0059, 0x72d: 0x0047, 0x72e: 0x0049, 0x72f: 0x005b, + 0x730: 0x0093, 0x731: 0x19e4, 0x732: 0x1c18, 0x733: 0x19ed, 0x734: 0x00ad, 0x735: 0x1a62, + 0x736: 0x1c4c, 0x737: 0x1d5c, 0x738: 0x19f0, 0x739: 0x00b1, 0x73a: 0x1a65, 0x73b: 0x1c50, + 0x73c: 0x0099, 0x73d: 0x0087, 0x73e: 0x0089, 0x73f: 0x009b, + // Block 0x1d, offset 0x740 + 0x741: 0x3c06, 0x743: 0xa000, 0x744: 0x3c0d, 0x745: 0xa000, + 0x747: 0x3c14, 0x748: 0xa000, 0x749: 0x3c1b, + 0x74d: 0xa000, + 0x760: 0x2f65, 0x761: 0xa000, 0x762: 0x3c29, + 0x764: 0xa000, 0x765: 0xa000, + 0x76d: 0x3c22, 0x76e: 0x2f60, 0x76f: 0x2f6a, + 0x770: 0x3c30, 0x771: 0x3c37, 0x772: 0xa000, 0x773: 0xa000, 0x774: 0x3c3e, 0x775: 0x3c45, + 0x776: 0xa000, 0x777: 0xa000, 0x778: 0x3c4c, 0x779: 0x3c53, 0x77a: 0xa000, 0x77b: 0xa000, + 0x77c: 0xa000, 0x77d: 0xa000, + // Block 0x1e, offset 0x780 + 0x780: 0x3c5a, 0x781: 0x3c61, 0x782: 0xa000, 0x783: 0xa000, 0x784: 0x3c76, 0x785: 0x3c7d, + 0x786: 0xa000, 0x787: 0xa000, 0x788: 0x3c84, 0x789: 0x3c8b, + 0x791: 0xa000, + 0x792: 0xa000, + 0x7a2: 0xa000, + 0x7a8: 0xa000, 0x7a9: 0xa000, + 0x7ab: 0xa000, 0x7ac: 0x3ca0, 0x7ad: 0x3ca7, 0x7ae: 0x3cae, 0x7af: 0x3cb5, + 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0xa000, 0x7b5: 0xa000, + // Block 0x1f, offset 0x7c0 + 0x7e0: 0x0023, 0x7e1: 0x0025, 0x7e2: 0x0027, 0x7e3: 0x0029, + 0x7e4: 0x002b, 0x7e5: 0x002d, 0x7e6: 0x002f, 0x7e7: 0x0031, 0x7e8: 0x0033, 0x7e9: 0x1882, + 0x7ea: 0x1885, 0x7eb: 0x1888, 0x7ec: 0x188b, 0x7ed: 0x188e, 0x7ee: 0x1891, 0x7ef: 0x1894, + 0x7f0: 0x1897, 0x7f1: 0x189a, 0x7f2: 0x189d, 0x7f3: 0x18a6, 0x7f4: 0x1a68, 0x7f5: 0x1a6c, + 0x7f6: 0x1a70, 0x7f7: 0x1a74, 0x7f8: 0x1a78, 0x7f9: 0x1a7c, 0x7fa: 0x1a80, 0x7fb: 0x1a84, + 0x7fc: 0x1a88, 0x7fd: 0x1c80, 0x7fe: 0x1c85, 0x7ff: 0x1c8a, + // Block 0x20, offset 0x800 + 0x800: 0x1c8f, 0x801: 0x1c94, 0x802: 0x1c99, 0x803: 0x1c9e, 0x804: 0x1ca3, 0x805: 0x1ca8, + 0x806: 0x1cad, 0x807: 0x1cb2, 0x808: 0x187f, 0x809: 0x18a3, 0x80a: 0x18c7, 0x80b: 0x18eb, + 0x80c: 0x190f, 0x80d: 0x1918, 0x80e: 0x191e, 0x80f: 0x1924, 0x810: 0x192a, 0x811: 0x1b60, + 0x812: 0x1b64, 0x813: 0x1b68, 0x814: 0x1b6c, 0x815: 0x1b70, 0x816: 0x1b74, 0x817: 0x1b78, + 0x818: 0x1b7c, 0x819: 0x1b80, 0x81a: 0x1b84, 0x81b: 0x1b88, 0x81c: 0x1af4, 0x81d: 0x1af8, + 0x81e: 0x1afc, 0x81f: 0x1b00, 0x820: 0x1b04, 0x821: 0x1b08, 0x822: 0x1b0c, 0x823: 0x1b10, + 0x824: 0x1b14, 0x825: 0x1b18, 0x826: 0x1b1c, 0x827: 0x1b20, 0x828: 0x1b24, 0x829: 0x1b28, + 0x82a: 0x1b2c, 0x82b: 0x1b30, 0x82c: 0x1b34, 0x82d: 0x1b38, 0x82e: 0x1b3c, 0x82f: 0x1b40, + 0x830: 0x1b44, 0x831: 0x1b48, 0x832: 0x1b4c, 0x833: 0x1b50, 0x834: 0x1b54, 0x835: 0x1b58, + 0x836: 0x0043, 0x837: 0x0045, 0x838: 0x0047, 0x839: 0x0049, 0x83a: 0x004b, 0x83b: 0x004d, + 0x83c: 0x004f, 0x83d: 0x0051, 0x83e: 0x0053, 0x83f: 0x0055, + // Block 0x21, offset 0x840 + 0x840: 0x06bf, 0x841: 0x06e3, 0x842: 0x06ef, 0x843: 0x06ff, 0x844: 0x0707, 0x845: 0x0713, + 0x846: 0x071b, 0x847: 0x0723, 0x848: 0x072f, 0x849: 0x0783, 0x84a: 0x079b, 0x84b: 0x07ab, + 0x84c: 0x07bb, 0x84d: 0x07cb, 0x84e: 0x07db, 0x84f: 0x07fb, 0x850: 0x07ff, 0x851: 0x0803, + 0x852: 0x0837, 0x853: 0x085f, 0x854: 0x086f, 0x855: 0x0877, 0x856: 0x087b, 0x857: 0x0887, + 0x858: 0x08a3, 0x859: 0x08a7, 0x85a: 0x08bf, 0x85b: 0x08c3, 0x85c: 0x08cb, 0x85d: 0x08db, + 0x85e: 0x0977, 0x85f: 0x098b, 0x860: 0x09cb, 0x861: 0x09df, 0x862: 0x09e7, 0x863: 0x09eb, + 0x864: 0x09fb, 0x865: 0x0a17, 0x866: 0x0a43, 0x867: 0x0a4f, 0x868: 0x0a6f, 0x869: 0x0a7b, + 0x86a: 0x0a7f, 0x86b: 0x0a83, 0x86c: 0x0a9b, 0x86d: 0x0a9f, 0x86e: 0x0acb, 0x86f: 0x0ad7, + 0x870: 0x0adf, 0x871: 0x0ae7, 0x872: 0x0af7, 0x873: 0x0aff, 0x874: 0x0b07, 0x875: 0x0b33, + 0x876: 0x0b37, 0x877: 0x0b3f, 0x878: 0x0b43, 0x879: 0x0b4b, 0x87a: 0x0b53, 0x87b: 0x0b63, + 0x87c: 0x0b7f, 0x87d: 0x0bf7, 0x87e: 0x0c0b, 0x87f: 0x0c0f, + // Block 0x22, offset 0x880 + 0x880: 0x0c8f, 0x881: 0x0c93, 0x882: 0x0ca7, 0x883: 0x0cab, 0x884: 0x0cb3, 0x885: 0x0cbb, + 0x886: 0x0cc3, 0x887: 0x0ccf, 0x888: 0x0cf7, 0x889: 0x0d07, 0x88a: 0x0d1b, 0x88b: 0x0d8b, + 0x88c: 0x0d97, 0x88d: 0x0da7, 0x88e: 0x0db3, 0x88f: 0x0dbf, 0x890: 0x0dc7, 0x891: 0x0dcb, + 0x892: 0x0dcf, 0x893: 0x0dd3, 0x894: 0x0dd7, 0x895: 0x0e8f, 0x896: 0x0ed7, 0x897: 0x0ee3, + 0x898: 0x0ee7, 0x899: 0x0eeb, 0x89a: 0x0eef, 0x89b: 0x0ef7, 0x89c: 0x0efb, 0x89d: 0x0f0f, + 0x89e: 0x0f2b, 0x89f: 0x0f33, 0x8a0: 0x0f73, 0x8a1: 0x0f77, 0x8a2: 0x0f7f, 0x8a3: 0x0f83, + 0x8a4: 0x0f8b, 0x8a5: 0x0f8f, 0x8a6: 0x0fb3, 0x8a7: 0x0fb7, 0x8a8: 0x0fd3, 0x8a9: 0x0fd7, + 0x8aa: 0x0fdb, 0x8ab: 0x0fdf, 0x8ac: 0x0ff3, 0x8ad: 0x1017, 0x8ae: 0x101b, 0x8af: 0x101f, + 0x8b0: 0x1043, 0x8b1: 0x1083, 0x8b2: 0x1087, 0x8b3: 0x10a7, 0x8b4: 0x10b7, 0x8b5: 0x10bf, + 0x8b6: 0x10df, 0x8b7: 0x1103, 0x8b8: 0x1147, 0x8b9: 0x114f, 0x8ba: 0x1163, 0x8bb: 0x116f, + 0x8bc: 0x1177, 0x8bd: 0x117f, 0x8be: 0x1183, 0x8bf: 0x1187, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x119f, 0x8c1: 0x11a3, 0x8c2: 0x11bf, 0x8c3: 0x11c7, 0x8c4: 0x11cf, 0x8c5: 0x11d3, + 0x8c6: 0x11df, 0x8c7: 0x11e7, 0x8c8: 0x11eb, 0x8c9: 0x11ef, 0x8ca: 0x11f7, 0x8cb: 0x11fb, + 0x8cc: 0x129b, 0x8cd: 0x12af, 0x8ce: 0x12e3, 0x8cf: 0x12e7, 0x8d0: 0x12ef, 0x8d1: 0x131b, + 0x8d2: 0x1323, 0x8d3: 0x132b, 0x8d4: 0x1333, 0x8d5: 0x136f, 0x8d6: 0x1373, 0x8d7: 0x137b, + 0x8d8: 0x137f, 0x8d9: 0x1383, 0x8da: 0x13af, 0x8db: 0x13b3, 0x8dc: 0x13bb, 0x8dd: 0x13cf, + 0x8de: 0x13d3, 0x8df: 0x13ef, 0x8e0: 0x13f7, 0x8e1: 0x13fb, 0x8e2: 0x141f, 0x8e3: 0x143f, + 0x8e4: 0x1453, 0x8e5: 0x1457, 0x8e6: 0x145f, 0x8e7: 0x148b, 0x8e8: 0x148f, 0x8e9: 0x149f, + 0x8ea: 0x14c3, 0x8eb: 0x14cf, 0x8ec: 0x14df, 0x8ed: 0x14f7, 0x8ee: 0x14ff, 0x8ef: 0x1503, + 0x8f0: 0x1507, 0x8f1: 0x150b, 0x8f2: 0x1517, 0x8f3: 0x151b, 0x8f4: 0x1523, 0x8f5: 0x153f, + 0x8f6: 0x1543, 0x8f7: 0x1547, 0x8f8: 0x155f, 0x8f9: 0x1563, 0x8fa: 0x156b, 0x8fb: 0x157f, + 0x8fc: 0x1583, 0x8fd: 0x1587, 0x8fe: 0x158f, 0x8ff: 0x1593, + // Block 0x24, offset 0x900 + 0x906: 0xa000, 0x90b: 0xa000, + 0x90c: 0x3f08, 0x90d: 0xa000, 0x90e: 0x3f10, 0x90f: 0xa000, 0x910: 0x3f18, 0x911: 0xa000, + 0x912: 0x3f20, 0x913: 0xa000, 0x914: 0x3f28, 0x915: 0xa000, 0x916: 0x3f30, 0x917: 0xa000, + 0x918: 0x3f38, 0x919: 0xa000, 0x91a: 0x3f40, 0x91b: 0xa000, 0x91c: 0x3f48, 0x91d: 0xa000, + 0x91e: 0x3f50, 0x91f: 0xa000, 0x920: 0x3f58, 0x921: 0xa000, 0x922: 0x3f60, + 0x924: 0xa000, 0x925: 0x3f68, 0x926: 0xa000, 0x927: 0x3f70, 0x928: 0xa000, 0x929: 0x3f78, + 0x92f: 0xa000, + 0x930: 0x3f80, 0x931: 0x3f88, 0x932: 0xa000, 0x933: 0x3f90, 0x934: 0x3f98, 0x935: 0xa000, + 0x936: 0x3fa0, 0x937: 0x3fa8, 0x938: 0xa000, 0x939: 0x3fb0, 0x93a: 0x3fb8, 0x93b: 0xa000, + 0x93c: 0x3fc0, 0x93d: 0x3fc8, + // Block 0x25, offset 0x940 + 0x954: 0x3f00, + 0x959: 0x9903, 0x95a: 0x9903, 0x95b: 0x42dc, 0x95c: 0x42e2, 0x95d: 0xa000, + 0x95e: 0x3fd0, 0x95f: 0x26b4, + 0x966: 0xa000, + 0x96b: 0xa000, 0x96c: 0x3fe0, 0x96d: 0xa000, 0x96e: 0x3fe8, 0x96f: 0xa000, + 0x970: 0x3ff0, 0x971: 0xa000, 0x972: 0x3ff8, 0x973: 0xa000, 0x974: 0x4000, 0x975: 0xa000, + 0x976: 0x4008, 0x977: 0xa000, 0x978: 0x4010, 0x979: 0xa000, 0x97a: 0x4018, 0x97b: 0xa000, + 0x97c: 0x4020, 0x97d: 0xa000, 0x97e: 0x4028, 0x97f: 0xa000, + // Block 0x26, offset 0x980 + 0x980: 0x4030, 0x981: 0xa000, 0x982: 0x4038, 0x984: 0xa000, 0x985: 0x4040, + 0x986: 0xa000, 0x987: 0x4048, 0x988: 0xa000, 0x989: 0x4050, + 0x98f: 0xa000, 0x990: 0x4058, 0x991: 0x4060, + 0x992: 0xa000, 0x993: 0x4068, 0x994: 0x4070, 0x995: 0xa000, 0x996: 0x4078, 0x997: 0x4080, + 0x998: 0xa000, 0x999: 0x4088, 0x99a: 0x4090, 0x99b: 0xa000, 0x99c: 0x4098, 0x99d: 0x40a0, + 0x9af: 0xa000, + 0x9b0: 0xa000, 0x9b1: 0xa000, 0x9b2: 0xa000, 0x9b4: 0x3fd8, + 0x9b7: 0x40a8, 0x9b8: 0x40b0, 0x9b9: 0x40b8, 0x9ba: 0x40c0, + 0x9bd: 0xa000, 0x9be: 0x40c8, 0x9bf: 0x26c9, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0367, 0x9c1: 0x032b, 0x9c2: 0x032f, 0x9c3: 0x0333, 0x9c4: 0x037b, 0x9c5: 0x0337, + 0x9c6: 0x033b, 0x9c7: 0x033f, 0x9c8: 0x0343, 0x9c9: 0x0347, 0x9ca: 0x034b, 0x9cb: 0x034f, + 0x9cc: 0x0353, 0x9cd: 0x0357, 0x9ce: 0x035b, 0x9cf: 0x49bd, 0x9d0: 0x49c3, 0x9d1: 0x49c9, + 0x9d2: 0x49cf, 0x9d3: 0x49d5, 0x9d4: 0x49db, 0x9d5: 0x49e1, 0x9d6: 0x49e7, 0x9d7: 0x49ed, + 0x9d8: 0x49f3, 0x9d9: 0x49f9, 0x9da: 0x49ff, 0x9db: 0x4a05, 0x9dc: 0x4a0b, 0x9dd: 0x4a11, + 0x9de: 0x4a17, 0x9df: 0x4a1d, 0x9e0: 0x4a23, 0x9e1: 0x4a29, 0x9e2: 0x4a2f, 0x9e3: 0x4a35, + 0x9e4: 0x03c3, 0x9e5: 0x035f, 0x9e6: 0x0363, 0x9e7: 0x03e7, 0x9e8: 0x03eb, 0x9e9: 0x03ef, + 0x9ea: 0x03f3, 0x9eb: 0x03f7, 0x9ec: 0x03fb, 0x9ed: 0x03ff, 0x9ee: 0x036b, 0x9ef: 0x0403, + 0x9f0: 0x0407, 0x9f1: 0x036f, 0x9f2: 0x0373, 0x9f3: 0x0377, 0x9f4: 0x037f, 0x9f5: 0x0383, + 0x9f6: 0x0387, 0x9f7: 0x038b, 0x9f8: 0x038f, 0x9f9: 0x0393, 0x9fa: 0x0397, 0x9fb: 0x039b, + 0x9fc: 0x039f, 0x9fd: 0x03a3, 0x9fe: 0x03a7, 0x9ff: 0x03ab, + // Block 0x28, offset 0xa00 + 0xa00: 0x03af, 0xa01: 0x03b3, 0xa02: 0x040b, 0xa03: 0x040f, 0xa04: 0x03b7, 0xa05: 0x03bb, + 0xa06: 0x03bf, 0xa07: 0x03c7, 0xa08: 0x03cb, 0xa09: 0x03cf, 0xa0a: 0x03d3, 0xa0b: 0x03d7, + 0xa0c: 0x03db, 0xa0d: 0x03df, 0xa0e: 0x03e3, + 0xa12: 0x06bf, 0xa13: 0x071b, 0xa14: 0x06cb, 0xa15: 0x097b, 0xa16: 0x06cf, 0xa17: 0x06e7, + 0xa18: 0x06d3, 0xa19: 0x0f93, 0xa1a: 0x0707, 0xa1b: 0x06db, 0xa1c: 0x06c3, 0xa1d: 0x09ff, + 0xa1e: 0x098f, 0xa1f: 0x072f, + // Block 0x29, offset 0xa40 + 0xa40: 0x2054, 0xa41: 0x205a, 0xa42: 0x2060, 0xa43: 0x2066, 0xa44: 0x206c, 0xa45: 0x2072, + 0xa46: 0x2078, 0xa47: 0x207e, 0xa48: 0x2084, 0xa49: 0x208a, 0xa4a: 0x2090, 0xa4b: 0x2096, + 0xa4c: 0x209c, 0xa4d: 0x20a2, 0xa4e: 0x2726, 0xa4f: 0x272f, 0xa50: 0x2738, 0xa51: 0x2741, + 0xa52: 0x274a, 0xa53: 0x2753, 0xa54: 0x275c, 0xa55: 0x2765, 0xa56: 0x276e, 0xa57: 0x2780, + 0xa58: 0x2789, 0xa59: 0x2792, 0xa5a: 0x279b, 0xa5b: 0x27a4, 0xa5c: 0x2777, 0xa5d: 0x2bac, + 0xa5e: 0x2aed, 0xa60: 0x20a8, 0xa61: 0x20c0, 0xa62: 0x20b4, 0xa63: 0x2108, + 0xa64: 0x20c6, 0xa65: 0x20e4, 0xa66: 0x20ae, 0xa67: 0x20de, 0xa68: 0x20ba, 0xa69: 0x20f0, + 0xa6a: 0x2120, 0xa6b: 0x213e, 0xa6c: 0x2138, 0xa6d: 0x212c, 0xa6e: 0x217a, 0xa6f: 0x210e, + 0xa70: 0x211a, 0xa71: 0x2132, 0xa72: 0x2126, 0xa73: 0x2150, 0xa74: 0x20fc, 0xa75: 0x2144, + 0xa76: 0x216e, 0xa77: 0x2156, 0xa78: 0x20ea, 0xa79: 0x20cc, 0xa7a: 0x2102, 0xa7b: 0x2114, + 0xa7c: 0x214a, 0xa7d: 0x20d2, 0xa7e: 0x2174, 0xa7f: 0x20f6, + // Block 0x2a, offset 0xa80 + 0xa80: 0x215c, 0xa81: 0x20d8, 0xa82: 0x2162, 0xa83: 0x2168, 0xa84: 0x092f, 0xa85: 0x0b03, + 0xa86: 0x0ca7, 0xa87: 0x10c7, + 0xa90: 0x1bc4, 0xa91: 0x18a9, + 0xa92: 0x18ac, 0xa93: 0x18af, 0xa94: 0x18b2, 0xa95: 0x18b5, 0xa96: 0x18b8, 0xa97: 0x18bb, + 0xa98: 0x18be, 0xa99: 0x18c1, 0xa9a: 0x18ca, 0xa9b: 0x18cd, 0xa9c: 0x18d0, 0xa9d: 0x18d3, + 0xa9e: 0x18d6, 0xa9f: 0x18d9, 0xaa0: 0x0313, 0xaa1: 0x031b, 0xaa2: 0x031f, 0xaa3: 0x0327, + 0xaa4: 0x032b, 0xaa5: 0x032f, 0xaa6: 0x0337, 0xaa7: 0x033f, 0xaa8: 0x0343, 0xaa9: 0x034b, + 0xaaa: 0x034f, 0xaab: 0x0353, 0xaac: 0x0357, 0xaad: 0x035b, 0xaae: 0x2e18, 0xaaf: 0x2e20, + 0xab0: 0x2e28, 0xab1: 0x2e30, 0xab2: 0x2e38, 0xab3: 0x2e40, 0xab4: 0x2e48, 0xab5: 0x2e50, + 0xab6: 0x2e60, 0xab7: 0x2e68, 0xab8: 0x2e70, 0xab9: 0x2e78, 0xaba: 0x2e80, 0xabb: 0x2e88, + 0xabc: 0x2ed3, 0xabd: 0x2e9b, 0xabe: 0x2e58, + // Block 0x2b, offset 0xac0 + 0xac0: 0x06bf, 0xac1: 0x071b, 0xac2: 0x06cb, 0xac3: 0x097b, 0xac4: 0x071f, 0xac5: 0x07af, + 0xac6: 0x06c7, 0xac7: 0x07ab, 0xac8: 0x070b, 0xac9: 0x0887, 0xaca: 0x0d07, 0xacb: 0x0e8f, + 0xacc: 0x0dd7, 0xacd: 0x0d1b, 0xace: 0x145f, 0xacf: 0x098b, 0xad0: 0x0ccf, 0xad1: 0x0d4b, + 0xad2: 0x0d0b, 0xad3: 0x104b, 0xad4: 0x08fb, 0xad5: 0x0f03, 0xad6: 0x1387, 0xad7: 0x105f, + 0xad8: 0x0843, 0xad9: 0x108f, 0xada: 0x0f9b, 0xadb: 0x0a17, 0xadc: 0x140f, 0xadd: 0x077f, + 0xade: 0x08ab, 0xadf: 0x0df7, 0xae0: 0x1527, 0xae1: 0x0743, 0xae2: 0x07d3, 0xae3: 0x0d9b, + 0xae4: 0x06cf, 0xae5: 0x06e7, 0xae6: 0x06d3, 0xae7: 0x0adb, 0xae8: 0x08ef, 0xae9: 0x087f, + 0xaea: 0x0a57, 0xaeb: 0x0a4b, 0xaec: 0x0feb, 0xaed: 0x073f, 0xaee: 0x139b, 0xaef: 0x089b, + 0xaf0: 0x09f3, 0xaf1: 0x18dc, 0xaf2: 0x18df, 0xaf3: 0x18e2, 0xaf4: 0x18e5, 0xaf5: 0x18ee, + 0xaf6: 0x18f1, 0xaf7: 0x18f4, 0xaf8: 0x18f7, 0xaf9: 0x18fa, 0xafa: 0x18fd, 0xafb: 0x1900, + 0xafc: 0x1903, 0xafd: 0x1906, 0xafe: 0x1909, 0xaff: 0x1912, + // Block 0x2c, offset 0xb00 + 0xb00: 0x1cc6, 0xb01: 0x1cd5, 0xb02: 0x1ce4, 0xb03: 0x1cf3, 0xb04: 0x1d02, 0xb05: 0x1d11, + 0xb06: 0x1d20, 0xb07: 0x1d2f, 0xb08: 0x1d3e, 0xb09: 0x218c, 0xb0a: 0x219e, 0xb0b: 0x21b0, + 0xb0c: 0x1954, 0xb0d: 0x1c04, 0xb0e: 0x19d2, 0xb0f: 0x1ba8, 0xb10: 0x04cb, 0xb11: 0x04d3, + 0xb12: 0x04db, 0xb13: 0x04e3, 0xb14: 0x04eb, 0xb15: 0x04ef, 0xb16: 0x04f3, 0xb17: 0x04f7, + 0xb18: 0x04fb, 0xb19: 0x04ff, 0xb1a: 0x0503, 0xb1b: 0x0507, 0xb1c: 0x050b, 0xb1d: 0x050f, + 0xb1e: 0x0513, 0xb1f: 0x0517, 0xb20: 0x051b, 0xb21: 0x0523, 0xb22: 0x0527, 0xb23: 0x052b, + 0xb24: 0x052f, 0xb25: 0x0533, 0xb26: 0x0537, 0xb27: 0x053b, 0xb28: 0x053f, 0xb29: 0x0543, + 0xb2a: 0x0547, 0xb2b: 0x054b, 0xb2c: 0x054f, 0xb2d: 0x0553, 0xb2e: 0x0557, 0xb2f: 0x055b, + 0xb30: 0x055f, 0xb31: 0x0563, 0xb32: 0x0567, 0xb33: 0x056f, 0xb34: 0x0577, 0xb35: 0x057f, + 0xb36: 0x0583, 0xb37: 0x0587, 0xb38: 0x058b, 0xb39: 0x058f, 0xb3a: 0x0593, 0xb3b: 0x0597, + 0xb3c: 0x059b, 0xb3d: 0x059f, 0xb3e: 0x05a3, + // Block 0x2d, offset 0xb40 + 0xb40: 0x2b0c, 0xb41: 0x29a8, 0xb42: 0x2b1c, 0xb43: 0x2880, 0xb44: 0x2ee4, 0xb45: 0x288a, + 0xb46: 0x2894, 0xb47: 0x2f28, 0xb48: 0x29b5, 0xb49: 0x289e, 0xb4a: 0x28a8, 0xb4b: 0x28b2, + 0xb4c: 0x29dc, 0xb4d: 0x29e9, 0xb4e: 0x29c2, 0xb4f: 0x29cf, 0xb50: 0x2ea9, 0xb51: 0x29f6, + 0xb52: 0x2a03, 0xb53: 0x2bbe, 0xb54: 0x26bb, 0xb55: 0x2bd1, 0xb56: 0x2be4, 0xb57: 0x2b2c, + 0xb58: 0x2a10, 0xb59: 0x2bf7, 0xb5a: 0x2c0a, 0xb5b: 0x2a1d, 0xb5c: 0x28bc, 0xb5d: 0x28c6, + 0xb5e: 0x2eb7, 0xb5f: 0x2a2a, 0xb60: 0x2b3c, 0xb61: 0x2ef5, 0xb62: 0x28d0, 0xb63: 0x28da, + 0xb64: 0x2a37, 0xb65: 0x28e4, 0xb66: 0x28ee, 0xb67: 0x26d0, 0xb68: 0x26d7, 0xb69: 0x28f8, + 0xb6a: 0x2902, 0xb6b: 0x2c1d, 0xb6c: 0x2a44, 0xb6d: 0x2b4c, 0xb6e: 0x2c30, 0xb6f: 0x2a51, + 0xb70: 0x2916, 0xb71: 0x290c, 0xb72: 0x2f3c, 0xb73: 0x2a5e, 0xb74: 0x2c43, 0xb75: 0x2920, + 0xb76: 0x2b5c, 0xb77: 0x292a, 0xb78: 0x2a78, 0xb79: 0x2934, 0xb7a: 0x2a85, 0xb7b: 0x2f06, + 0xb7c: 0x2a6b, 0xb7d: 0x2b6c, 0xb7e: 0x2a92, 0xb7f: 0x26de, + // Block 0x2e, offset 0xb80 + 0xb80: 0x2f17, 0xb81: 0x293e, 0xb82: 0x2948, 0xb83: 0x2a9f, 0xb84: 0x2952, 0xb85: 0x295c, + 0xb86: 0x2966, 0xb87: 0x2b7c, 0xb88: 0x2aac, 0xb89: 0x26e5, 0xb8a: 0x2c56, 0xb8b: 0x2e90, + 0xb8c: 0x2b8c, 0xb8d: 0x2ab9, 0xb8e: 0x2ec5, 0xb8f: 0x2970, 0xb90: 0x297a, 0xb91: 0x2ac6, + 0xb92: 0x26ec, 0xb93: 0x2ad3, 0xb94: 0x2b9c, 0xb95: 0x26f3, 0xb96: 0x2c69, 0xb97: 0x2984, + 0xb98: 0x1cb7, 0xb99: 0x1ccb, 0xb9a: 0x1cda, 0xb9b: 0x1ce9, 0xb9c: 0x1cf8, 0xb9d: 0x1d07, + 0xb9e: 0x1d16, 0xb9f: 0x1d25, 0xba0: 0x1d34, 0xba1: 0x1d43, 0xba2: 0x2192, 0xba3: 0x21a4, + 0xba4: 0x21b6, 0xba5: 0x21c2, 0xba6: 0x21ce, 0xba7: 0x21da, 0xba8: 0x21e6, 0xba9: 0x21f2, + 0xbaa: 0x21fe, 0xbab: 0x220a, 0xbac: 0x2246, 0xbad: 0x2252, 0xbae: 0x225e, 0xbaf: 0x226a, + 0xbb0: 0x2276, 0xbb1: 0x1c14, 0xbb2: 0x19c6, 0xbb3: 0x1936, 0xbb4: 0x1be4, 0xbb5: 0x1a47, + 0xbb6: 0x1a56, 0xbb7: 0x19cc, 0xbb8: 0x1bfc, 0xbb9: 0x1c00, 0xbba: 0x1960, 0xbbb: 0x2701, + 0xbbc: 0x270f, 0xbbd: 0x26fa, 0xbbe: 0x2708, 0xbbf: 0x2ae0, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1a4a, 0xbc1: 0x1a32, 0xbc2: 0x1c60, 0xbc3: 0x1a1a, 0xbc4: 0x19f3, 0xbc5: 0x1969, + 0xbc6: 0x1978, 0xbc7: 0x1948, 0xbc8: 0x1bf0, 0xbc9: 0x1d52, 0xbca: 0x1a4d, 0xbcb: 0x1a35, + 0xbcc: 0x1c64, 0xbcd: 0x1c70, 0xbce: 0x1a26, 0xbcf: 0x19fc, 0xbd0: 0x1957, 0xbd1: 0x1c1c, + 0xbd2: 0x1bb0, 0xbd3: 0x1b9c, 0xbd4: 0x1bcc, 0xbd5: 0x1c74, 0xbd6: 0x1a29, 0xbd7: 0x19c9, + 0xbd8: 0x19ff, 0xbd9: 0x19de, 0xbda: 0x1a41, 0xbdb: 0x1c78, 0xbdc: 0x1a2c, 0xbdd: 0x19c0, + 0xbde: 0x1a02, 0xbdf: 0x1c3c, 0xbe0: 0x1bf4, 0xbe1: 0x1a14, 0xbe2: 0x1c24, 0xbe3: 0x1c40, + 0xbe4: 0x1bf8, 0xbe5: 0x1a17, 0xbe6: 0x1c28, 0xbe7: 0x22e8, 0xbe8: 0x22fc, 0xbe9: 0x1996, + 0xbea: 0x1c20, 0xbeb: 0x1bb4, 0xbec: 0x1ba0, 0xbed: 0x1c48, 0xbee: 0x2716, 0xbef: 0x27ad, + 0xbf0: 0x1a59, 0xbf1: 0x1a44, 0xbf2: 0x1c7c, 0xbf3: 0x1a2f, 0xbf4: 0x1a50, 0xbf5: 0x1a38, + 0xbf6: 0x1c68, 0xbf7: 0x1a1d, 0xbf8: 0x19f6, 0xbf9: 0x1981, 0xbfa: 0x1a53, 0xbfb: 0x1a3b, + 0xbfc: 0x1c6c, 0xbfd: 0x1a20, 0xbfe: 0x19f9, 0xbff: 0x1984, + // Block 0x30, offset 0xc00 + 0xc00: 0x1c2c, 0xc01: 0x1bb8, 0xc02: 0x1d4d, 0xc03: 0x1939, 0xc04: 0x19ba, 0xc05: 0x19bd, + 0xc06: 0x22f5, 0xc07: 0x1b94, 0xc08: 0x19c3, 0xc09: 0x194b, 0xc0a: 0x19e1, 0xc0b: 0x194e, + 0xc0c: 0x19ea, 0xc0d: 0x196c, 0xc0e: 0x196f, 0xc0f: 0x1a05, 0xc10: 0x1a0b, 0xc11: 0x1a0e, + 0xc12: 0x1c30, 0xc13: 0x1a11, 0xc14: 0x1a23, 0xc15: 0x1c38, 0xc16: 0x1c44, 0xc17: 0x1990, + 0xc18: 0x1d57, 0xc19: 0x1bbc, 0xc1a: 0x1993, 0xc1b: 0x1a5c, 0xc1c: 0x19a5, 0xc1d: 0x19b4, + 0xc1e: 0x22e2, 0xc1f: 0x22dc, 0xc20: 0x1cc1, 0xc21: 0x1cd0, 0xc22: 0x1cdf, 0xc23: 0x1cee, + 0xc24: 0x1cfd, 0xc25: 0x1d0c, 0xc26: 0x1d1b, 0xc27: 0x1d2a, 0xc28: 0x1d39, 0xc29: 0x2186, + 0xc2a: 0x2198, 0xc2b: 0x21aa, 0xc2c: 0x21bc, 0xc2d: 0x21c8, 0xc2e: 0x21d4, 0xc2f: 0x21e0, + 0xc30: 0x21ec, 0xc31: 0x21f8, 0xc32: 0x2204, 0xc33: 0x2240, 0xc34: 0x224c, 0xc35: 0x2258, + 0xc36: 0x2264, 0xc37: 0x2270, 0xc38: 0x227c, 0xc39: 0x2282, 0xc3a: 0x2288, 0xc3b: 0x228e, + 0xc3c: 0x2294, 0xc3d: 0x22a6, 0xc3e: 0x22ac, 0xc3f: 0x1c10, + // Block 0x31, offset 0xc40 + 0xc40: 0x1377, 0xc41: 0x0cfb, 0xc42: 0x13d3, 0xc43: 0x139f, 0xc44: 0x0e57, 0xc45: 0x06eb, + 0xc46: 0x08df, 0xc47: 0x162b, 0xc48: 0x162b, 0xc49: 0x0a0b, 0xc4a: 0x145f, 0xc4b: 0x0943, + 0xc4c: 0x0a07, 0xc4d: 0x0bef, 0xc4e: 0x0fcf, 0xc4f: 0x115f, 0xc50: 0x1297, 0xc51: 0x12d3, + 0xc52: 0x1307, 0xc53: 0x141b, 0xc54: 0x0d73, 0xc55: 0x0dff, 0xc56: 0x0eab, 0xc57: 0x0f43, + 0xc58: 0x125f, 0xc59: 0x1447, 0xc5a: 0x1573, 0xc5b: 0x070f, 0xc5c: 0x08b3, 0xc5d: 0x0d87, + 0xc5e: 0x0ecf, 0xc5f: 0x1293, 0xc60: 0x15c3, 0xc61: 0x0ab3, 0xc62: 0x0e77, 0xc63: 0x1283, + 0xc64: 0x1317, 0xc65: 0x0c23, 0xc66: 0x11bb, 0xc67: 0x12df, 0xc68: 0x0b1f, 0xc69: 0x0d0f, + 0xc6a: 0x0e17, 0xc6b: 0x0f1b, 0xc6c: 0x1427, 0xc6d: 0x074f, 0xc6e: 0x07e7, 0xc6f: 0x0853, + 0xc70: 0x0c8b, 0xc71: 0x0d7f, 0xc72: 0x0ecb, 0xc73: 0x0fef, 0xc74: 0x1177, 0xc75: 0x128b, + 0xc76: 0x12a3, 0xc77: 0x13c7, 0xc78: 0x14ef, 0xc79: 0x15a3, 0xc7a: 0x15bf, 0xc7b: 0x102b, + 0xc7c: 0x106b, 0xc7d: 0x1123, 0xc7e: 0x1243, 0xc7f: 0x147b, + // Block 0x32, offset 0xc80 + 0xc80: 0x15cb, 0xc81: 0x134b, 0xc82: 0x09c7, 0xc83: 0x0b3b, 0xc84: 0x10db, 0xc85: 0x119b, + 0xc86: 0x0eff, 0xc87: 0x1033, 0xc88: 0x1397, 0xc89: 0x14e7, 0xc8a: 0x09c3, 0xc8b: 0x0a8f, + 0xc8c: 0x0d77, 0xc8d: 0x0e2b, 0xc8e: 0x0e5f, 0xc8f: 0x1113, 0xc90: 0x113b, 0xc91: 0x14a7, + 0xc92: 0x084f, 0xc93: 0x11a7, 0xc94: 0x07f3, 0xc95: 0x07ef, 0xc96: 0x1097, 0xc97: 0x1127, + 0xc98: 0x125b, 0xc99: 0x14af, 0xc9a: 0x1367, 0xc9b: 0x0c27, 0xc9c: 0x0d73, 0xc9d: 0x1357, + 0xc9e: 0x06f7, 0xc9f: 0x0a63, 0xca0: 0x0b93, 0xca1: 0x0f2f, 0xca2: 0x0faf, 0xca3: 0x0873, + 0xca4: 0x103b, 0xca5: 0x075f, 0xca6: 0x0b77, 0xca7: 0x06d7, 0xca8: 0x0deb, 0xca9: 0x0ca3, + 0xcaa: 0x110f, 0xcab: 0x08c7, 0xcac: 0x09b3, 0xcad: 0x0ffb, 0xcae: 0x1263, 0xcaf: 0x133b, + 0xcb0: 0x0db7, 0xcb1: 0x13f7, 0xcb2: 0x0de3, 0xcb3: 0x0c37, 0xcb4: 0x121b, 0xcb5: 0x0c57, + 0xcb6: 0x0fab, 0xcb7: 0x072b, 0xcb8: 0x07a7, 0xcb9: 0x07eb, 0xcba: 0x0d53, 0xcbb: 0x10fb, + 0xcbc: 0x11f3, 0xcbd: 0x1347, 0xcbe: 0x145b, 0xcbf: 0x085b, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x090f, 0xcc1: 0x0a17, 0xcc2: 0x0b2f, 0xcc3: 0x0cbf, 0xcc4: 0x0e7b, 0xcc5: 0x103f, + 0xcc6: 0x1497, 0xcc7: 0x157b, 0xcc8: 0x15cf, 0xcc9: 0x15e7, 0xcca: 0x0837, 0xccb: 0x0cf3, + 0xccc: 0x0da3, 0xccd: 0x13eb, 0xcce: 0x0afb, 0xccf: 0x0bd7, 0xcd0: 0x0bf3, 0xcd1: 0x0c83, + 0xcd2: 0x0e6b, 0xcd3: 0x0eb7, 0xcd4: 0x0f67, 0xcd5: 0x108b, 0xcd6: 0x112f, 0xcd7: 0x1193, + 0xcd8: 0x13db, 0xcd9: 0x126b, 0xcda: 0x1403, 0xcdb: 0x147f, 0xcdc: 0x080f, 0xcdd: 0x083b, + 0xcde: 0x0923, 0xcdf: 0x0ea7, 0xce0: 0x12f3, 0xce1: 0x133b, 0xce2: 0x0b1b, 0xce3: 0x0b8b, + 0xce4: 0x0c4f, 0xce5: 0x0daf, 0xce6: 0x10d7, 0xce7: 0x0f23, 0xce8: 0x073b, 0xce9: 0x097f, + 0xcea: 0x0a63, 0xceb: 0x0ac7, 0xcec: 0x0b97, 0xced: 0x0f3f, 0xcee: 0x0f5b, 0xcef: 0x116b, + 0xcf0: 0x118b, 0xcf1: 0x1463, 0xcf2: 0x14e3, 0xcf3: 0x14f3, 0xcf4: 0x152f, 0xcf5: 0x0753, + 0xcf6: 0x107f, 0xcf7: 0x144f, 0xcf8: 0x14cb, 0xcf9: 0x0baf, 0xcfa: 0x0717, 0xcfb: 0x0777, + 0xcfc: 0x0a67, 0xcfd: 0x0a87, 0xcfe: 0x0caf, 0xcff: 0x0d73, + // Block 0x34, offset 0xd00 + 0xd00: 0x0ec3, 0xd01: 0x0fcb, 0xd02: 0x1277, 0xd03: 0x1417, 0xd04: 0x1623, 0xd05: 0x0ce3, + 0xd06: 0x14a3, 0xd07: 0x0833, 0xd08: 0x0d2f, 0xd09: 0x0d3b, 0xd0a: 0x0e0f, 0xd0b: 0x0e47, + 0xd0c: 0x0f4b, 0xd0d: 0x0fa7, 0xd0e: 0x1027, 0xd0f: 0x110b, 0xd10: 0x153b, 0xd11: 0x07af, + 0xd12: 0x0c03, 0xd13: 0x14b3, 0xd14: 0x0767, 0xd15: 0x0aab, 0xd16: 0x0e2f, 0xd17: 0x13df, + 0xd18: 0x0b67, 0xd19: 0x0bb7, 0xd1a: 0x0d43, 0xd1b: 0x0f2f, 0xd1c: 0x14bb, 0xd1d: 0x0817, + 0xd1e: 0x08ff, 0xd1f: 0x0a97, 0xd20: 0x0cd3, 0xd21: 0x0d1f, 0xd22: 0x0d5f, 0xd23: 0x0df3, + 0xd24: 0x0f47, 0xd25: 0x0fbb, 0xd26: 0x1157, 0xd27: 0x12f7, 0xd28: 0x1303, 0xd29: 0x1457, + 0xd2a: 0x14d7, 0xd2b: 0x0883, 0xd2c: 0x0e4b, 0xd2d: 0x0903, 0xd2e: 0x0ec7, 0xd2f: 0x0f6b, + 0xd30: 0x1287, 0xd31: 0x14bf, 0xd32: 0x15ab, 0xd33: 0x15d3, 0xd34: 0x0d37, 0xd35: 0x0e27, + 0xd36: 0x11c3, 0xd37: 0x10b7, 0xd38: 0x10c3, 0xd39: 0x10e7, 0xd3a: 0x0f17, 0xd3b: 0x0e9f, + 0xd3c: 0x1363, 0xd3d: 0x0733, 0xd3e: 0x122b, 0xd3f: 0x081b, + // Block 0x35, offset 0xd40 + 0xd40: 0x080b, 0xd41: 0x0b0b, 0xd42: 0x0c2b, 0xd43: 0x10f3, 0xd44: 0x0a53, 0xd45: 0x0e03, + 0xd46: 0x0cef, 0xd47: 0x13e7, 0xd48: 0x12e7, 0xd49: 0x14ab, 0xd4a: 0x1323, 0xd4b: 0x0b27, + 0xd4c: 0x0787, 0xd4d: 0x095b, 0xd50: 0x09af, + 0xd52: 0x0cdf, 0xd55: 0x07f7, 0xd56: 0x0f1f, 0xd57: 0x0fe3, + 0xd58: 0x1047, 0xd59: 0x1063, 0xd5a: 0x1067, 0xd5b: 0x107b, 0xd5c: 0x14fb, 0xd5d: 0x10eb, + 0xd5e: 0x116f, 0xd60: 0x128f, 0xd62: 0x1353, + 0xd65: 0x1407, 0xd66: 0x1433, + 0xd6a: 0x154f, 0xd6b: 0x1553, 0xd6c: 0x1557, 0xd6d: 0x15bb, 0xd6e: 0x142b, 0xd6f: 0x14c7, + 0xd70: 0x0757, 0xd71: 0x077b, 0xd72: 0x078f, 0xd73: 0x084b, 0xd74: 0x0857, 0xd75: 0x0897, + 0xd76: 0x094b, 0xd77: 0x0967, 0xd78: 0x096f, 0xd79: 0x09ab, 0xd7a: 0x09b7, 0xd7b: 0x0a93, + 0xd7c: 0x0a9b, 0xd7d: 0x0ba3, 0xd7e: 0x0bcb, 0xd7f: 0x0bd3, + // Block 0x36, offset 0xd80 + 0xd80: 0x0beb, 0xd81: 0x0c97, 0xd82: 0x0cc7, 0xd83: 0x0ce7, 0xd84: 0x0d57, 0xd85: 0x0e1b, + 0xd86: 0x0e37, 0xd87: 0x0e67, 0xd88: 0x0ebb, 0xd89: 0x0edb, 0xd8a: 0x0f4f, 0xd8b: 0x102f, + 0xd8c: 0x104b, 0xd8d: 0x1053, 0xd8e: 0x104f, 0xd8f: 0x1057, 0xd90: 0x105b, 0xd91: 0x105f, + 0xd92: 0x1073, 0xd93: 0x1077, 0xd94: 0x109b, 0xd95: 0x10af, 0xd96: 0x10cb, 0xd97: 0x112f, + 0xd98: 0x1137, 0xd99: 0x113f, 0xd9a: 0x1153, 0xd9b: 0x117b, 0xd9c: 0x11cb, 0xd9d: 0x11ff, + 0xd9e: 0x11ff, 0xd9f: 0x1267, 0xda0: 0x130f, 0xda1: 0x1327, 0xda2: 0x135b, 0xda3: 0x135f, + 0xda4: 0x13a3, 0xda5: 0x13a7, 0xda6: 0x13ff, 0xda7: 0x1407, 0xda8: 0x14db, 0xda9: 0x151f, + 0xdaa: 0x1537, 0xdab: 0x0b9b, 0xdac: 0x171e, 0xdad: 0x11e3, + 0xdb0: 0x06df, 0xdb1: 0x07e3, 0xdb2: 0x07a3, 0xdb3: 0x074b, 0xdb4: 0x078b, 0xdb5: 0x07b7, + 0xdb6: 0x0847, 0xdb7: 0x0863, 0xdb8: 0x094b, 0xdb9: 0x0937, 0xdba: 0x0947, 0xdbb: 0x0963, + 0xdbc: 0x09af, 0xdbd: 0x09bf, 0xdbe: 0x0a03, 0xdbf: 0x0a0f, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x0a2b, 0xdc1: 0x0a3b, 0xdc2: 0x0b23, 0xdc3: 0x0b2b, 0xdc4: 0x0b5b, 0xdc5: 0x0b7b, + 0xdc6: 0x0bab, 0xdc7: 0x0bc3, 0xdc8: 0x0bb3, 0xdc9: 0x0bd3, 0xdca: 0x0bc7, 0xdcb: 0x0beb, + 0xdcc: 0x0c07, 0xdcd: 0x0c5f, 0xdce: 0x0c6b, 0xdcf: 0x0c73, 0xdd0: 0x0c9b, 0xdd1: 0x0cdf, + 0xdd2: 0x0d0f, 0xdd3: 0x0d13, 0xdd4: 0x0d27, 0xdd5: 0x0da7, 0xdd6: 0x0db7, 0xdd7: 0x0e0f, + 0xdd8: 0x0e5b, 0xdd9: 0x0e53, 0xdda: 0x0e67, 0xddb: 0x0e83, 0xddc: 0x0ebb, 0xddd: 0x1013, + 0xdde: 0x0edf, 0xddf: 0x0f13, 0xde0: 0x0f1f, 0xde1: 0x0f5f, 0xde2: 0x0f7b, 0xde3: 0x0f9f, + 0xde4: 0x0fc3, 0xde5: 0x0fc7, 0xde6: 0x0fe3, 0xde7: 0x0fe7, 0xde8: 0x0ff7, 0xde9: 0x100b, + 0xdea: 0x1007, 0xdeb: 0x1037, 0xdec: 0x10b3, 0xded: 0x10cb, 0xdee: 0x10e3, 0xdef: 0x111b, + 0xdf0: 0x112f, 0xdf1: 0x114b, 0xdf2: 0x117b, 0xdf3: 0x122f, 0xdf4: 0x1257, 0xdf5: 0x12cb, + 0xdf6: 0x1313, 0xdf7: 0x131f, 0xdf8: 0x1327, 0xdf9: 0x133f, 0xdfa: 0x1353, 0xdfb: 0x1343, + 0xdfc: 0x135b, 0xdfd: 0x1357, 0xdfe: 0x134f, 0xdff: 0x135f, + // Block 0x38, offset 0xe00 + 0xe00: 0x136b, 0xe01: 0x13a7, 0xe02: 0x13e3, 0xe03: 0x1413, 0xe04: 0x144b, 0xe05: 0x146b, + 0xe06: 0x14b7, 0xe07: 0x14db, 0xe08: 0x14fb, 0xe09: 0x150f, 0xe0a: 0x151f, 0xe0b: 0x152b, + 0xe0c: 0x1537, 0xe0d: 0x158b, 0xe0e: 0x162b, 0xe0f: 0x16b5, 0xe10: 0x16b0, 0xe11: 0x16e2, + 0xe12: 0x0607, 0xe13: 0x062f, 0xe14: 0x0633, 0xe15: 0x1764, 0xe16: 0x1791, 0xe17: 0x1809, + 0xe18: 0x1617, 0xe19: 0x1627, + // Block 0x39, offset 0xe40 + 0xe40: 0x19d5, 0xe41: 0x19d8, 0xe42: 0x19db, 0xe43: 0x1c08, 0xe44: 0x1c0c, 0xe45: 0x1a5f, + 0xe46: 0x1a5f, + 0xe53: 0x1d75, 0xe54: 0x1d66, 0xe55: 0x1d6b, 0xe56: 0x1d7a, 0xe57: 0x1d70, + 0xe5d: 0x4390, + 0xe5e: 0x8115, 0xe5f: 0x4402, 0xe60: 0x022d, 0xe61: 0x0215, 0xe62: 0x021e, 0xe63: 0x0221, + 0xe64: 0x0224, 0xe65: 0x0227, 0xe66: 0x022a, 0xe67: 0x0230, 0xe68: 0x0233, 0xe69: 0x0017, + 0xe6a: 0x43f0, 0xe6b: 0x43f6, 0xe6c: 0x44f4, 0xe6d: 0x44fc, 0xe6e: 0x4348, 0xe6f: 0x434e, + 0xe70: 0x4354, 0xe71: 0x435a, 0xe72: 0x4366, 0xe73: 0x436c, 0xe74: 0x4372, 0xe75: 0x437e, + 0xe76: 0x4384, 0xe78: 0x438a, 0xe79: 0x4396, 0xe7a: 0x439c, 0xe7b: 0x43a2, + 0xe7c: 0x43ae, 0xe7e: 0x43b4, + // Block 0x3a, offset 0xe80 + 0xe80: 0x43ba, 0xe81: 0x43c0, 0xe83: 0x43c6, 0xe84: 0x43cc, + 0xe86: 0x43d8, 0xe87: 0x43de, 0xe88: 0x43e4, 0xe89: 0x43ea, 0xe8a: 0x43fc, 0xe8b: 0x4378, + 0xe8c: 0x4360, 0xe8d: 0x43a8, 0xe8e: 0x43d2, 0xe8f: 0x1d7f, 0xe90: 0x0299, 0xe91: 0x0299, + 0xe92: 0x02a2, 0xe93: 0x02a2, 0xe94: 0x02a2, 0xe95: 0x02a2, 0xe96: 0x02a5, 0xe97: 0x02a5, + 0xe98: 0x02a5, 0xe99: 0x02a5, 0xe9a: 0x02ab, 0xe9b: 0x02ab, 0xe9c: 0x02ab, 0xe9d: 0x02ab, + 0xe9e: 0x029f, 0xe9f: 0x029f, 0xea0: 0x029f, 0xea1: 0x029f, 0xea2: 0x02a8, 0xea3: 0x02a8, + 0xea4: 0x02a8, 0xea5: 0x02a8, 0xea6: 0x029c, 0xea7: 0x029c, 0xea8: 0x029c, 0xea9: 0x029c, + 0xeaa: 0x02cf, 0xeab: 0x02cf, 0xeac: 0x02cf, 0xead: 0x02cf, 0xeae: 0x02d2, 0xeaf: 0x02d2, + 0xeb0: 0x02d2, 0xeb1: 0x02d2, 0xeb2: 0x02b1, 0xeb3: 0x02b1, 0xeb4: 0x02b1, 0xeb5: 0x02b1, + 0xeb6: 0x02ae, 0xeb7: 0x02ae, 0xeb8: 0x02ae, 0xeb9: 0x02ae, 0xeba: 0x02b4, 0xebb: 0x02b4, + 0xebc: 0x02b4, 0xebd: 0x02b4, 0xebe: 0x02b7, 0xebf: 0x02b7, + // Block 0x3b, offset 0xec0 + 0xec0: 0x02b7, 0xec1: 0x02b7, 0xec2: 0x02c0, 0xec3: 0x02c0, 0xec4: 0x02bd, 0xec5: 0x02bd, + 0xec6: 0x02c3, 0xec7: 0x02c3, 0xec8: 0x02ba, 0xec9: 0x02ba, 0xeca: 0x02c9, 0xecb: 0x02c9, + 0xecc: 0x02c6, 0xecd: 0x02c6, 0xece: 0x02d5, 0xecf: 0x02d5, 0xed0: 0x02d5, 0xed1: 0x02d5, + 0xed2: 0x02db, 0xed3: 0x02db, 0xed4: 0x02db, 0xed5: 0x02db, 0xed6: 0x02e1, 0xed7: 0x02e1, + 0xed8: 0x02e1, 0xed9: 0x02e1, 0xeda: 0x02de, 0xedb: 0x02de, 0xedc: 0x02de, 0xedd: 0x02de, + 0xede: 0x02e4, 0xedf: 0x02e4, 0xee0: 0x02e7, 0xee1: 0x02e7, 0xee2: 0x02e7, 0xee3: 0x02e7, + 0xee4: 0x446e, 0xee5: 0x446e, 0xee6: 0x02ed, 0xee7: 0x02ed, 0xee8: 0x02ed, 0xee9: 0x02ed, + 0xeea: 0x02ea, 0xeeb: 0x02ea, 0xeec: 0x02ea, 0xeed: 0x02ea, 0xeee: 0x0308, 0xeef: 0x0308, + 0xef0: 0x4468, 0xef1: 0x4468, + // Block 0x3c, offset 0xf00 + 0xf13: 0x02d8, 0xf14: 0x02d8, 0xf15: 0x02d8, 0xf16: 0x02d8, 0xf17: 0x02f6, + 0xf18: 0x02f6, 0xf19: 0x02f3, 0xf1a: 0x02f3, 0xf1b: 0x02f9, 0xf1c: 0x02f9, 0xf1d: 0x204f, + 0xf1e: 0x02ff, 0xf1f: 0x02ff, 0xf20: 0x02f0, 0xf21: 0x02f0, 0xf22: 0x02fc, 0xf23: 0x02fc, + 0xf24: 0x0305, 0xf25: 0x0305, 0xf26: 0x0305, 0xf27: 0x0305, 0xf28: 0x028d, 0xf29: 0x028d, + 0xf2a: 0x25aa, 0xf2b: 0x25aa, 0xf2c: 0x261a, 0xf2d: 0x261a, 0xf2e: 0x25e9, 0xf2f: 0x25e9, + 0xf30: 0x2605, 0xf31: 0x2605, 0xf32: 0x25fe, 0xf33: 0x25fe, 0xf34: 0x260c, 0xf35: 0x260c, + 0xf36: 0x2613, 0xf37: 0x2613, 0xf38: 0x2613, 0xf39: 0x25f0, 0xf3a: 0x25f0, 0xf3b: 0x25f0, + 0xf3c: 0x0302, 0xf3d: 0x0302, 0xf3e: 0x0302, 0xf3f: 0x0302, + // Block 0x3d, offset 0xf40 + 0xf40: 0x25b1, 0xf41: 0x25b8, 0xf42: 0x25d4, 0xf43: 0x25f0, 0xf44: 0x25f7, 0xf45: 0x1d89, + 0xf46: 0x1d8e, 0xf47: 0x1d93, 0xf48: 0x1da2, 0xf49: 0x1db1, 0xf4a: 0x1db6, 0xf4b: 0x1dbb, + 0xf4c: 0x1dc0, 0xf4d: 0x1dc5, 0xf4e: 0x1dd4, 0xf4f: 0x1de3, 0xf50: 0x1de8, 0xf51: 0x1ded, + 0xf52: 0x1dfc, 0xf53: 0x1e0b, 0xf54: 0x1e10, 0xf55: 0x1e15, 0xf56: 0x1e1a, 0xf57: 0x1e29, + 0xf58: 0x1e2e, 0xf59: 0x1e3d, 0xf5a: 0x1e42, 0xf5b: 0x1e47, 0xf5c: 0x1e56, 0xf5d: 0x1e5b, + 0xf5e: 0x1e60, 0xf5f: 0x1e6a, 0xf60: 0x1ea6, 0xf61: 0x1eb5, 0xf62: 0x1ec4, 0xf63: 0x1ec9, + 0xf64: 0x1ece, 0xf65: 0x1ed8, 0xf66: 0x1ee7, 0xf67: 0x1eec, 0xf68: 0x1efb, 0xf69: 0x1f00, + 0xf6a: 0x1f05, 0xf6b: 0x1f14, 0xf6c: 0x1f19, 0xf6d: 0x1f28, 0xf6e: 0x1f2d, 0xf6f: 0x1f32, + 0xf70: 0x1f37, 0xf71: 0x1f3c, 0xf72: 0x1f41, 0xf73: 0x1f46, 0xf74: 0x1f4b, 0xf75: 0x1f50, + 0xf76: 0x1f55, 0xf77: 0x1f5a, 0xf78: 0x1f5f, 0xf79: 0x1f64, 0xf7a: 0x1f69, 0xf7b: 0x1f6e, + 0xf7c: 0x1f73, 0xf7d: 0x1f78, 0xf7e: 0x1f7d, 0xf7f: 0x1f87, + // Block 0x3e, offset 0xf80 + 0xf80: 0x1f8c, 0xf81: 0x1f91, 0xf82: 0x1f96, 0xf83: 0x1fa0, 0xf84: 0x1fa5, 0xf85: 0x1faf, + 0xf86: 0x1fb4, 0xf87: 0x1fb9, 0xf88: 0x1fbe, 0xf89: 0x1fc3, 0xf8a: 0x1fc8, 0xf8b: 0x1fcd, + 0xf8c: 0x1fd2, 0xf8d: 0x1fd7, 0xf8e: 0x1fe6, 0xf8f: 0x1ff5, 0xf90: 0x1ffa, 0xf91: 0x1fff, + 0xf92: 0x2004, 0xf93: 0x2009, 0xf94: 0x200e, 0xf95: 0x2018, 0xf96: 0x201d, 0xf97: 0x2022, + 0xf98: 0x2031, 0xf99: 0x2040, 0xf9a: 0x2045, 0xf9b: 0x4420, 0xf9c: 0x4426, 0xf9d: 0x445c, + 0xf9e: 0x44b3, 0xf9f: 0x44ba, 0xfa0: 0x44c1, 0xfa1: 0x44c8, 0xfa2: 0x44cf, 0xfa3: 0x44d6, + 0xfa4: 0x25c6, 0xfa5: 0x25cd, 0xfa6: 0x25d4, 0xfa7: 0x25db, 0xfa8: 0x25f0, 0xfa9: 0x25f7, + 0xfaa: 0x1d98, 0xfab: 0x1d9d, 0xfac: 0x1da2, 0xfad: 0x1da7, 0xfae: 0x1db1, 0xfaf: 0x1db6, + 0xfb0: 0x1dca, 0xfb1: 0x1dcf, 0xfb2: 0x1dd4, 0xfb3: 0x1dd9, 0xfb4: 0x1de3, 0xfb5: 0x1de8, + 0xfb6: 0x1df2, 0xfb7: 0x1df7, 0xfb8: 0x1dfc, 0xfb9: 0x1e01, 0xfba: 0x1e0b, 0xfbb: 0x1e10, + 0xfbc: 0x1f3c, 0xfbd: 0x1f41, 0xfbe: 0x1f50, 0xfbf: 0x1f55, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x1f5a, 0xfc1: 0x1f6e, 0xfc2: 0x1f73, 0xfc3: 0x1f78, 0xfc4: 0x1f7d, 0xfc5: 0x1f96, + 0xfc6: 0x1fa0, 0xfc7: 0x1fa5, 0xfc8: 0x1faa, 0xfc9: 0x1fbe, 0xfca: 0x1fdc, 0xfcb: 0x1fe1, + 0xfcc: 0x1fe6, 0xfcd: 0x1feb, 0xfce: 0x1ff5, 0xfcf: 0x1ffa, 0xfd0: 0x445c, 0xfd1: 0x2027, + 0xfd2: 0x202c, 0xfd3: 0x2031, 0xfd4: 0x2036, 0xfd5: 0x2040, 0xfd6: 0x2045, 0xfd7: 0x25b1, + 0xfd8: 0x25b8, 0xfd9: 0x25bf, 0xfda: 0x25d4, 0xfdb: 0x25e2, 0xfdc: 0x1d89, 0xfdd: 0x1d8e, + 0xfde: 0x1d93, 0xfdf: 0x1da2, 0xfe0: 0x1dac, 0xfe1: 0x1dbb, 0xfe2: 0x1dc0, 0xfe3: 0x1dc5, + 0xfe4: 0x1dd4, 0xfe5: 0x1dde, 0xfe6: 0x1dfc, 0xfe7: 0x1e15, 0xfe8: 0x1e1a, 0xfe9: 0x1e29, + 0xfea: 0x1e2e, 0xfeb: 0x1e3d, 0xfec: 0x1e47, 0xfed: 0x1e56, 0xfee: 0x1e5b, 0xfef: 0x1e60, + 0xff0: 0x1e6a, 0xff1: 0x1ea6, 0xff2: 0x1eab, 0xff3: 0x1eb5, 0xff4: 0x1ec4, 0xff5: 0x1ec9, + 0xff6: 0x1ece, 0xff7: 0x1ed8, 0xff8: 0x1ee7, 0xff9: 0x1efb, 0xffa: 0x1f00, 0xffb: 0x1f05, + 0xffc: 0x1f14, 0xffd: 0x1f19, 0xffe: 0x1f28, 0xfff: 0x1f2d, + // Block 0x40, offset 0x1000 + 0x1000: 0x1f32, 0x1001: 0x1f37, 0x1002: 0x1f46, 0x1003: 0x1f4b, 0x1004: 0x1f5f, 0x1005: 0x1f64, + 0x1006: 0x1f69, 0x1007: 0x1f6e, 0x1008: 0x1f73, 0x1009: 0x1f87, 0x100a: 0x1f8c, 0x100b: 0x1f91, + 0x100c: 0x1f96, 0x100d: 0x1f9b, 0x100e: 0x1faf, 0x100f: 0x1fb4, 0x1010: 0x1fb9, 0x1011: 0x1fbe, + 0x1012: 0x1fcd, 0x1013: 0x1fd2, 0x1014: 0x1fd7, 0x1015: 0x1fe6, 0x1016: 0x1ff0, 0x1017: 0x1fff, + 0x1018: 0x2004, 0x1019: 0x4450, 0x101a: 0x2018, 0x101b: 0x201d, 0x101c: 0x2022, 0x101d: 0x2031, + 0x101e: 0x203b, 0x101f: 0x25d4, 0x1020: 0x25e2, 0x1021: 0x1da2, 0x1022: 0x1dac, 0x1023: 0x1dd4, + 0x1024: 0x1dde, 0x1025: 0x1dfc, 0x1026: 0x1e06, 0x1027: 0x1e6a, 0x1028: 0x1e6f, 0x1029: 0x1e92, + 0x102a: 0x1e97, 0x102b: 0x1f6e, 0x102c: 0x1f73, 0x102d: 0x1f96, 0x102e: 0x1fe6, 0x102f: 0x1ff0, + 0x1030: 0x2031, 0x1031: 0x203b, 0x1032: 0x4504, 0x1033: 0x450c, 0x1034: 0x4514, 0x1035: 0x1ef1, + 0x1036: 0x1ef6, 0x1037: 0x1f0a, 0x1038: 0x1f0f, 0x1039: 0x1f1e, 0x103a: 0x1f23, 0x103b: 0x1e74, + 0x103c: 0x1e79, 0x103d: 0x1e9c, 0x103e: 0x1ea1, 0x103f: 0x1e33, + // Block 0x41, offset 0x1040 + 0x1040: 0x1e38, 0x1041: 0x1e1f, 0x1042: 0x1e24, 0x1043: 0x1e4c, 0x1044: 0x1e51, 0x1045: 0x1eba, + 0x1046: 0x1ebf, 0x1047: 0x1edd, 0x1048: 0x1ee2, 0x1049: 0x1e7e, 0x104a: 0x1e83, 0x104b: 0x1e88, + 0x104c: 0x1e92, 0x104d: 0x1e8d, 0x104e: 0x1e65, 0x104f: 0x1eb0, 0x1050: 0x1ed3, 0x1051: 0x1ef1, + 0x1052: 0x1ef6, 0x1053: 0x1f0a, 0x1054: 0x1f0f, 0x1055: 0x1f1e, 0x1056: 0x1f23, 0x1057: 0x1e74, + 0x1058: 0x1e79, 0x1059: 0x1e9c, 0x105a: 0x1ea1, 0x105b: 0x1e33, 0x105c: 0x1e38, 0x105d: 0x1e1f, + 0x105e: 0x1e24, 0x105f: 0x1e4c, 0x1060: 0x1e51, 0x1061: 0x1eba, 0x1062: 0x1ebf, 0x1063: 0x1edd, + 0x1064: 0x1ee2, 0x1065: 0x1e7e, 0x1066: 0x1e83, 0x1067: 0x1e88, 0x1068: 0x1e92, 0x1069: 0x1e8d, + 0x106a: 0x1e65, 0x106b: 0x1eb0, 0x106c: 0x1ed3, 0x106d: 0x1e7e, 0x106e: 0x1e83, 0x106f: 0x1e88, + 0x1070: 0x1e92, 0x1071: 0x1e6f, 0x1072: 0x1e97, 0x1073: 0x1eec, 0x1074: 0x1e56, 0x1075: 0x1e5b, + 0x1076: 0x1e60, 0x1077: 0x1e7e, 0x1078: 0x1e83, 0x1079: 0x1e88, 0x107a: 0x1eec, 0x107b: 0x1efb, + 0x107c: 0x4408, 0x107d: 0x4408, + // Block 0x42, offset 0x1080 + 0x1090: 0x2311, 0x1091: 0x2326, + 0x1092: 0x2326, 0x1093: 0x232d, 0x1094: 0x2334, 0x1095: 0x2349, 0x1096: 0x2350, 0x1097: 0x2357, + 0x1098: 0x237a, 0x1099: 0x237a, 0x109a: 0x239d, 0x109b: 0x2396, 0x109c: 0x23b2, 0x109d: 0x23a4, + 0x109e: 0x23ab, 0x109f: 0x23ce, 0x10a0: 0x23ce, 0x10a1: 0x23c7, 0x10a2: 0x23d5, 0x10a3: 0x23d5, + 0x10a4: 0x23ff, 0x10a5: 0x23ff, 0x10a6: 0x241b, 0x10a7: 0x23e3, 0x10a8: 0x23e3, 0x10a9: 0x23dc, + 0x10aa: 0x23f1, 0x10ab: 0x23f1, 0x10ac: 0x23f8, 0x10ad: 0x23f8, 0x10ae: 0x2422, 0x10af: 0x2430, + 0x10b0: 0x2430, 0x10b1: 0x2437, 0x10b2: 0x2437, 0x10b3: 0x243e, 0x10b4: 0x2445, 0x10b5: 0x244c, + 0x10b6: 0x2453, 0x10b7: 0x2453, 0x10b8: 0x245a, 0x10b9: 0x2468, 0x10ba: 0x2476, 0x10bb: 0x246f, + 0x10bc: 0x247d, 0x10bd: 0x247d, 0x10be: 0x2492, 0x10bf: 0x2499, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x24ca, 0x10c1: 0x24d8, 0x10c2: 0x24d1, 0x10c3: 0x24b5, 0x10c4: 0x24b5, 0x10c5: 0x24df, + 0x10c6: 0x24df, 0x10c7: 0x24e6, 0x10c8: 0x24e6, 0x10c9: 0x2510, 0x10ca: 0x2517, 0x10cb: 0x251e, + 0x10cc: 0x24f4, 0x10cd: 0x2502, 0x10ce: 0x2525, 0x10cf: 0x252c, + 0x10d2: 0x24fb, 0x10d3: 0x2580, 0x10d4: 0x2587, 0x10d5: 0x255d, 0x10d6: 0x2564, 0x10d7: 0x2548, + 0x10d8: 0x2548, 0x10d9: 0x254f, 0x10da: 0x2579, 0x10db: 0x2572, 0x10dc: 0x259c, 0x10dd: 0x259c, + 0x10de: 0x230a, 0x10df: 0x231f, 0x10e0: 0x2318, 0x10e1: 0x2342, 0x10e2: 0x233b, 0x10e3: 0x2365, + 0x10e4: 0x235e, 0x10e5: 0x2388, 0x10e6: 0x236c, 0x10e7: 0x2381, 0x10e8: 0x23b9, 0x10e9: 0x2406, + 0x10ea: 0x23ea, 0x10eb: 0x2429, 0x10ec: 0x24c3, 0x10ed: 0x24ed, 0x10ee: 0x2595, 0x10ef: 0x258e, + 0x10f0: 0x25a3, 0x10f1: 0x253a, 0x10f2: 0x24a0, 0x10f3: 0x256b, 0x10f4: 0x2492, 0x10f5: 0x24ca, + 0x10f6: 0x2461, 0x10f7: 0x24ae, 0x10f8: 0x2541, 0x10f9: 0x2533, 0x10fa: 0x24bc, 0x10fb: 0x24a7, + 0x10fc: 0x24bc, 0x10fd: 0x2541, 0x10fe: 0x2373, 0x10ff: 0x238f, + // Block 0x44, offset 0x1100 + 0x1100: 0x2509, 0x1101: 0x2484, 0x1102: 0x2303, 0x1103: 0x24a7, 0x1104: 0x244c, 0x1105: 0x241b, + 0x1106: 0x23c0, 0x1107: 0x2556, + 0x1130: 0x2414, 0x1131: 0x248b, 0x1132: 0x27bf, 0x1133: 0x27b6, 0x1134: 0x27ec, 0x1135: 0x27da, + 0x1136: 0x27c8, 0x1137: 0x27e3, 0x1138: 0x27f5, 0x1139: 0x240d, 0x113a: 0x2c7c, 0x113b: 0x2afc, + 0x113c: 0x27d1, + // Block 0x45, offset 0x1140 + 0x1150: 0x0019, 0x1151: 0x0483, + 0x1152: 0x0487, 0x1153: 0x0035, 0x1154: 0x0037, 0x1155: 0x0003, 0x1156: 0x003f, 0x1157: 0x04bf, + 0x1158: 0x04c3, 0x1159: 0x1b5c, + 0x1160: 0x8132, 0x1161: 0x8132, 0x1162: 0x8132, 0x1163: 0x8132, + 0x1164: 0x8132, 0x1165: 0x8132, 0x1166: 0x8132, 0x1167: 0x812d, 0x1168: 0x812d, 0x1169: 0x812d, + 0x116a: 0x812d, 0x116b: 0x812d, 0x116c: 0x812d, 0x116d: 0x812d, 0x116e: 0x8132, 0x116f: 0x8132, + 0x1170: 0x1873, 0x1171: 0x0443, 0x1172: 0x043f, 0x1173: 0x007f, 0x1174: 0x007f, 0x1175: 0x0011, + 0x1176: 0x0013, 0x1177: 0x00b7, 0x1178: 0x00bb, 0x1179: 0x04b7, 0x117a: 0x04bb, 0x117b: 0x04ab, + 0x117c: 0x04af, 0x117d: 0x0493, 0x117e: 0x0497, 0x117f: 0x048b, + // Block 0x46, offset 0x1180 + 0x1180: 0x048f, 0x1181: 0x049b, 0x1182: 0x049f, 0x1183: 0x04a3, 0x1184: 0x04a7, + 0x1187: 0x0077, 0x1188: 0x007b, 0x1189: 0x4269, 0x118a: 0x4269, 0x118b: 0x4269, + 0x118c: 0x4269, 0x118d: 0x007f, 0x118e: 0x007f, 0x118f: 0x007f, 0x1190: 0x0019, 0x1191: 0x0483, + 0x1192: 0x001d, 0x1194: 0x0037, 0x1195: 0x0035, 0x1196: 0x003f, 0x1197: 0x0003, + 0x1198: 0x0443, 0x1199: 0x0011, 0x119a: 0x0013, 0x119b: 0x00b7, 0x119c: 0x00bb, 0x119d: 0x04b7, + 0x119e: 0x04bb, 0x119f: 0x0007, 0x11a0: 0x000d, 0x11a1: 0x0015, 0x11a2: 0x0017, 0x11a3: 0x001b, + 0x11a4: 0x0039, 0x11a5: 0x003d, 0x11a6: 0x003b, 0x11a8: 0x0079, 0x11a9: 0x0009, + 0x11aa: 0x000b, 0x11ab: 0x0041, + 0x11b0: 0x42aa, 0x11b1: 0x442c, 0x11b2: 0x42af, 0x11b4: 0x42b4, + 0x11b6: 0x42b9, 0x11b7: 0x4432, 0x11b8: 0x42be, 0x11b9: 0x4438, 0x11ba: 0x42c3, 0x11bb: 0x443e, + 0x11bc: 0x42c8, 0x11bd: 0x4444, 0x11be: 0x42cd, 0x11bf: 0x444a, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x0236, 0x11c1: 0x440e, 0x11c2: 0x440e, 0x11c3: 0x4414, 0x11c4: 0x4414, 0x11c5: 0x4456, + 0x11c6: 0x4456, 0x11c7: 0x441a, 0x11c8: 0x441a, 0x11c9: 0x4462, 0x11ca: 0x4462, 0x11cb: 0x4462, + 0x11cc: 0x4462, 0x11cd: 0x0239, 0x11ce: 0x0239, 0x11cf: 0x023c, 0x11d0: 0x023c, 0x11d1: 0x023c, + 0x11d2: 0x023c, 0x11d3: 0x023f, 0x11d4: 0x023f, 0x11d5: 0x0242, 0x11d6: 0x0242, 0x11d7: 0x0242, + 0x11d8: 0x0242, 0x11d9: 0x0245, 0x11da: 0x0245, 0x11db: 0x0245, 0x11dc: 0x0245, 0x11dd: 0x0248, + 0x11de: 0x0248, 0x11df: 0x0248, 0x11e0: 0x0248, 0x11e1: 0x024b, 0x11e2: 0x024b, 0x11e3: 0x024b, + 0x11e4: 0x024b, 0x11e5: 0x024e, 0x11e6: 0x024e, 0x11e7: 0x024e, 0x11e8: 0x024e, 0x11e9: 0x0251, + 0x11ea: 0x0251, 0x11eb: 0x0254, 0x11ec: 0x0254, 0x11ed: 0x0257, 0x11ee: 0x0257, 0x11ef: 0x025a, + 0x11f0: 0x025a, 0x11f1: 0x025d, 0x11f2: 0x025d, 0x11f3: 0x025d, 0x11f4: 0x025d, 0x11f5: 0x0260, + 0x11f6: 0x0260, 0x11f7: 0x0260, 0x11f8: 0x0260, 0x11f9: 0x0263, 0x11fa: 0x0263, 0x11fb: 0x0263, + 0x11fc: 0x0263, 0x11fd: 0x0266, 0x11fe: 0x0266, 0x11ff: 0x0266, + // Block 0x48, offset 0x1200 + 0x1200: 0x0266, 0x1201: 0x0269, 0x1202: 0x0269, 0x1203: 0x0269, 0x1204: 0x0269, 0x1205: 0x026c, + 0x1206: 0x026c, 0x1207: 0x026c, 0x1208: 0x026c, 0x1209: 0x026f, 0x120a: 0x026f, 0x120b: 0x026f, + 0x120c: 0x026f, 0x120d: 0x0272, 0x120e: 0x0272, 0x120f: 0x0272, 0x1210: 0x0272, 0x1211: 0x0275, + 0x1212: 0x0275, 0x1213: 0x0275, 0x1214: 0x0275, 0x1215: 0x0278, 0x1216: 0x0278, 0x1217: 0x0278, + 0x1218: 0x0278, 0x1219: 0x027b, 0x121a: 0x027b, 0x121b: 0x027b, 0x121c: 0x027b, 0x121d: 0x027e, + 0x121e: 0x027e, 0x121f: 0x027e, 0x1220: 0x027e, 0x1221: 0x0281, 0x1222: 0x0281, 0x1223: 0x0281, + 0x1224: 0x0281, 0x1225: 0x0284, 0x1226: 0x0284, 0x1227: 0x0284, 0x1228: 0x0284, 0x1229: 0x0287, + 0x122a: 0x0287, 0x122b: 0x0287, 0x122c: 0x0287, 0x122d: 0x028a, 0x122e: 0x028a, 0x122f: 0x028d, + 0x1230: 0x028d, 0x1231: 0x0290, 0x1232: 0x0290, 0x1233: 0x0290, 0x1234: 0x0290, 0x1235: 0x2e00, + 0x1236: 0x2e00, 0x1237: 0x2e08, 0x1238: 0x2e08, 0x1239: 0x2e10, 0x123a: 0x2e10, 0x123b: 0x1f82, + 0x123c: 0x1f82, + // Block 0x49, offset 0x1240 + 0x1240: 0x0081, 0x1241: 0x0083, 0x1242: 0x0085, 0x1243: 0x0087, 0x1244: 0x0089, 0x1245: 0x008b, + 0x1246: 0x008d, 0x1247: 0x008f, 0x1248: 0x0091, 0x1249: 0x0093, 0x124a: 0x0095, 0x124b: 0x0097, + 0x124c: 0x0099, 0x124d: 0x009b, 0x124e: 0x009d, 0x124f: 0x009f, 0x1250: 0x00a1, 0x1251: 0x00a3, + 0x1252: 0x00a5, 0x1253: 0x00a7, 0x1254: 0x00a9, 0x1255: 0x00ab, 0x1256: 0x00ad, 0x1257: 0x00af, + 0x1258: 0x00b1, 0x1259: 0x00b3, 0x125a: 0x00b5, 0x125b: 0x00b7, 0x125c: 0x00b9, 0x125d: 0x00bb, + 0x125e: 0x00bd, 0x125f: 0x0477, 0x1260: 0x047b, 0x1261: 0x0487, 0x1262: 0x049b, 0x1263: 0x049f, + 0x1264: 0x0483, 0x1265: 0x05ab, 0x1266: 0x05a3, 0x1267: 0x04c7, 0x1268: 0x04cf, 0x1269: 0x04d7, + 0x126a: 0x04df, 0x126b: 0x04e7, 0x126c: 0x056b, 0x126d: 0x0573, 0x126e: 0x057b, 0x126f: 0x051f, + 0x1270: 0x05af, 0x1271: 0x04cb, 0x1272: 0x04d3, 0x1273: 0x04db, 0x1274: 0x04e3, 0x1275: 0x04eb, + 0x1276: 0x04ef, 0x1277: 0x04f3, 0x1278: 0x04f7, 0x1279: 0x04fb, 0x127a: 0x04ff, 0x127b: 0x0503, + 0x127c: 0x0507, 0x127d: 0x050b, 0x127e: 0x050f, 0x127f: 0x0513, + // Block 0x4a, offset 0x1280 + 0x1280: 0x0517, 0x1281: 0x051b, 0x1282: 0x0523, 0x1283: 0x0527, 0x1284: 0x052b, 0x1285: 0x052f, + 0x1286: 0x0533, 0x1287: 0x0537, 0x1288: 0x053b, 0x1289: 0x053f, 0x128a: 0x0543, 0x128b: 0x0547, + 0x128c: 0x054b, 0x128d: 0x054f, 0x128e: 0x0553, 0x128f: 0x0557, 0x1290: 0x055b, 0x1291: 0x055f, + 0x1292: 0x0563, 0x1293: 0x0567, 0x1294: 0x056f, 0x1295: 0x0577, 0x1296: 0x057f, 0x1297: 0x0583, + 0x1298: 0x0587, 0x1299: 0x058b, 0x129a: 0x058f, 0x129b: 0x0593, 0x129c: 0x0597, 0x129d: 0x05a7, + 0x129e: 0x4a78, 0x129f: 0x4a7e, 0x12a0: 0x03c3, 0x12a1: 0x0313, 0x12a2: 0x0317, 0x12a3: 0x4a3b, + 0x12a4: 0x031b, 0x12a5: 0x4a41, 0x12a6: 0x4a47, 0x12a7: 0x031f, 0x12a8: 0x0323, 0x12a9: 0x0327, + 0x12aa: 0x4a4d, 0x12ab: 0x4a53, 0x12ac: 0x4a59, 0x12ad: 0x4a5f, 0x12ae: 0x4a65, 0x12af: 0x4a6b, + 0x12b0: 0x0367, 0x12b1: 0x032b, 0x12b2: 0x032f, 0x12b3: 0x0333, 0x12b4: 0x037b, 0x12b5: 0x0337, + 0x12b6: 0x033b, 0x12b7: 0x033f, 0x12b8: 0x0343, 0x12b9: 0x0347, 0x12ba: 0x034b, 0x12bb: 0x034f, + 0x12bc: 0x0353, 0x12bd: 0x0357, 0x12be: 0x035b, + // Block 0x4b, offset 0x12c0 + 0x12c2: 0x49bd, 0x12c3: 0x49c3, 0x12c4: 0x49c9, 0x12c5: 0x49cf, + 0x12c6: 0x49d5, 0x12c7: 0x49db, 0x12ca: 0x49e1, 0x12cb: 0x49e7, + 0x12cc: 0x49ed, 0x12cd: 0x49f3, 0x12ce: 0x49f9, 0x12cf: 0x49ff, + 0x12d2: 0x4a05, 0x12d3: 0x4a0b, 0x12d4: 0x4a11, 0x12d5: 0x4a17, 0x12d6: 0x4a1d, 0x12d7: 0x4a23, + 0x12da: 0x4a29, 0x12db: 0x4a2f, 0x12dc: 0x4a35, + 0x12e0: 0x00bf, 0x12e1: 0x00c2, 0x12e2: 0x00cb, 0x12e3: 0x4264, + 0x12e4: 0x00c8, 0x12e5: 0x00c5, 0x12e6: 0x0447, 0x12e8: 0x046b, 0x12e9: 0x044b, + 0x12ea: 0x044f, 0x12eb: 0x0453, 0x12ec: 0x0457, 0x12ed: 0x046f, 0x12ee: 0x0473, + // Block 0x4c, offset 0x1300 + 0x1300: 0x0063, 0x1301: 0x0065, 0x1302: 0x0067, 0x1303: 0x0069, 0x1304: 0x006b, 0x1305: 0x006d, + 0x1306: 0x006f, 0x1307: 0x0071, 0x1308: 0x0073, 0x1309: 0x0075, 0x130a: 0x0083, 0x130b: 0x0085, + 0x130c: 0x0087, 0x130d: 0x0089, 0x130e: 0x008b, 0x130f: 0x008d, 0x1310: 0x008f, 0x1311: 0x0091, + 0x1312: 0x0093, 0x1313: 0x0095, 0x1314: 0x0097, 0x1315: 0x0099, 0x1316: 0x009b, 0x1317: 0x009d, + 0x1318: 0x009f, 0x1319: 0x00a1, 0x131a: 0x00a3, 0x131b: 0x00a5, 0x131c: 0x00a7, 0x131d: 0x00a9, + 0x131e: 0x00ab, 0x131f: 0x00ad, 0x1320: 0x00af, 0x1321: 0x00b1, 0x1322: 0x00b3, 0x1323: 0x00b5, + 0x1324: 0x00dd, 0x1325: 0x00f2, 0x1328: 0x0173, 0x1329: 0x0176, + 0x132a: 0x0179, 0x132b: 0x017c, 0x132c: 0x017f, 0x132d: 0x0182, 0x132e: 0x0185, 0x132f: 0x0188, + 0x1330: 0x018b, 0x1331: 0x018e, 0x1332: 0x0191, 0x1333: 0x0194, 0x1334: 0x0197, 0x1335: 0x019a, + 0x1336: 0x019d, 0x1337: 0x01a0, 0x1338: 0x01a3, 0x1339: 0x0188, 0x133a: 0x01a6, 0x133b: 0x01a9, + 0x133c: 0x01ac, 0x133d: 0x01af, 0x133e: 0x01b2, 0x133f: 0x01b5, + // Block 0x4d, offset 0x1340 + 0x1340: 0x01fd, 0x1341: 0x0200, 0x1342: 0x0203, 0x1343: 0x045b, 0x1344: 0x01c7, 0x1345: 0x01d0, + 0x1346: 0x01d6, 0x1347: 0x01fa, 0x1348: 0x01eb, 0x1349: 0x01e8, 0x134a: 0x0206, 0x134b: 0x0209, + 0x134e: 0x0021, 0x134f: 0x0023, 0x1350: 0x0025, 0x1351: 0x0027, + 0x1352: 0x0029, 0x1353: 0x002b, 0x1354: 0x002d, 0x1355: 0x002f, 0x1356: 0x0031, 0x1357: 0x0033, + 0x1358: 0x0021, 0x1359: 0x0023, 0x135a: 0x0025, 0x135b: 0x0027, 0x135c: 0x0029, 0x135d: 0x002b, + 0x135e: 0x002d, 0x135f: 0x002f, 0x1360: 0x0031, 0x1361: 0x0033, 0x1362: 0x0021, 0x1363: 0x0023, + 0x1364: 0x0025, 0x1365: 0x0027, 0x1366: 0x0029, 0x1367: 0x002b, 0x1368: 0x002d, 0x1369: 0x002f, + 0x136a: 0x0031, 0x136b: 0x0033, 0x136c: 0x0021, 0x136d: 0x0023, 0x136e: 0x0025, 0x136f: 0x0027, + 0x1370: 0x0029, 0x1371: 0x002b, 0x1372: 0x002d, 0x1373: 0x002f, 0x1374: 0x0031, 0x1375: 0x0033, + 0x1376: 0x0021, 0x1377: 0x0023, 0x1378: 0x0025, 0x1379: 0x0027, 0x137a: 0x0029, 0x137b: 0x002b, + 0x137c: 0x002d, 0x137d: 0x002f, 0x137e: 0x0031, 0x137f: 0x0033, + // Block 0x4e, offset 0x1380 + 0x1380: 0x0239, 0x1381: 0x023c, 0x1382: 0x0248, 0x1383: 0x0251, 0x1385: 0x028a, + 0x1386: 0x025a, 0x1387: 0x024b, 0x1388: 0x0269, 0x1389: 0x0290, 0x138a: 0x027b, 0x138b: 0x027e, + 0x138c: 0x0281, 0x138d: 0x0284, 0x138e: 0x025d, 0x138f: 0x026f, 0x1390: 0x0275, 0x1391: 0x0263, + 0x1392: 0x0278, 0x1393: 0x0257, 0x1394: 0x0260, 0x1395: 0x0242, 0x1396: 0x0245, 0x1397: 0x024e, + 0x1398: 0x0254, 0x1399: 0x0266, 0x139a: 0x026c, 0x139b: 0x0272, 0x139c: 0x0293, 0x139d: 0x02e4, + 0x139e: 0x02cc, 0x139f: 0x0296, 0x13a1: 0x023c, 0x13a2: 0x0248, + 0x13a4: 0x0287, 0x13a7: 0x024b, 0x13a9: 0x0290, + 0x13aa: 0x027b, 0x13ab: 0x027e, 0x13ac: 0x0281, 0x13ad: 0x0284, 0x13ae: 0x025d, 0x13af: 0x026f, + 0x13b0: 0x0275, 0x13b1: 0x0263, 0x13b2: 0x0278, 0x13b4: 0x0260, 0x13b5: 0x0242, + 0x13b6: 0x0245, 0x13b7: 0x024e, 0x13b9: 0x0266, 0x13bb: 0x0272, + // Block 0x4f, offset 0x13c0 + 0x13c2: 0x0248, + 0x13c7: 0x024b, 0x13c9: 0x0290, 0x13cb: 0x027e, + 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d1: 0x0263, + 0x13d2: 0x0278, 0x13d4: 0x0260, 0x13d7: 0x024e, + 0x13d9: 0x0266, 0x13db: 0x0272, 0x13dd: 0x02e4, + 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248, + 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e8: 0x0269, 0x13e9: 0x0290, + 0x13ea: 0x027b, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f, + 0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242, + 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fa: 0x026c, 0x13fb: 0x0272, + 0x13fc: 0x0293, 0x13fe: 0x02cc, + // Block 0x50, offset 0x1400 + 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1404: 0x0287, 0x1405: 0x028a, + 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140b: 0x027e, + 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, + 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, + 0x1421: 0x023c, 0x1422: 0x0248, 0x1423: 0x0251, + 0x1425: 0x028a, 0x1426: 0x025a, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290, + 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1433: 0x0257, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1438: 0x0254, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272, + // Block 0x51, offset 0x1440 + 0x1440: 0x1879, 0x1441: 0x1876, 0x1442: 0x187c, 0x1443: 0x18a0, 0x1444: 0x18c4, 0x1445: 0x18e8, + 0x1446: 0x190c, 0x1447: 0x1915, 0x1448: 0x191b, 0x1449: 0x1921, 0x144a: 0x1927, + 0x1450: 0x1a8c, 0x1451: 0x1a90, + 0x1452: 0x1a94, 0x1453: 0x1a98, 0x1454: 0x1a9c, 0x1455: 0x1aa0, 0x1456: 0x1aa4, 0x1457: 0x1aa8, + 0x1458: 0x1aac, 0x1459: 0x1ab0, 0x145a: 0x1ab4, 0x145b: 0x1ab8, 0x145c: 0x1abc, 0x145d: 0x1ac0, + 0x145e: 0x1ac4, 0x145f: 0x1ac8, 0x1460: 0x1acc, 0x1461: 0x1ad0, 0x1462: 0x1ad4, 0x1463: 0x1ad8, + 0x1464: 0x1adc, 0x1465: 0x1ae0, 0x1466: 0x1ae4, 0x1467: 0x1ae8, 0x1468: 0x1aec, 0x1469: 0x1af0, + 0x146a: 0x271e, 0x146b: 0x0047, 0x146c: 0x0065, 0x146d: 0x193c, 0x146e: 0x19b1, + 0x1470: 0x0043, 0x1471: 0x0045, 0x1472: 0x0047, 0x1473: 0x0049, 0x1474: 0x004b, 0x1475: 0x004d, + 0x1476: 0x004f, 0x1477: 0x0051, 0x1478: 0x0053, 0x1479: 0x0055, 0x147a: 0x0057, 0x147b: 0x0059, + 0x147c: 0x005b, 0x147d: 0x005d, 0x147e: 0x005f, 0x147f: 0x0061, + // Block 0x52, offset 0x1480 + 0x1480: 0x26ad, 0x1481: 0x26c2, 0x1482: 0x0503, + 0x1490: 0x0c0f, 0x1491: 0x0a47, + 0x1492: 0x08d3, 0x1493: 0x45c4, 0x1494: 0x071b, 0x1495: 0x09ef, 0x1496: 0x132f, 0x1497: 0x09ff, + 0x1498: 0x0727, 0x1499: 0x0cd7, 0x149a: 0x0eaf, 0x149b: 0x0caf, 0x149c: 0x0827, 0x149d: 0x0b6b, + 0x149e: 0x07bf, 0x149f: 0x0cb7, 0x14a0: 0x0813, 0x14a1: 0x1117, 0x14a2: 0x0f83, 0x14a3: 0x138b, + 0x14a4: 0x09d3, 0x14a5: 0x090b, 0x14a6: 0x0e63, 0x14a7: 0x0c1b, 0x14a8: 0x0c47, 0x14a9: 0x06bf, + 0x14aa: 0x06cb, 0x14ab: 0x140b, 0x14ac: 0x0adb, 0x14ad: 0x06e7, 0x14ae: 0x08ef, 0x14af: 0x0c3b, + 0x14b0: 0x13b3, 0x14b1: 0x0c13, 0x14b2: 0x106f, 0x14b3: 0x10ab, 0x14b4: 0x08f7, 0x14b5: 0x0e43, + 0x14b6: 0x0d0b, 0x14b7: 0x0d07, 0x14b8: 0x0f97, 0x14b9: 0x082b, 0x14ba: 0x0957, 0x14bb: 0x1443, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x06fb, 0x14c1: 0x06f3, 0x14c2: 0x0703, 0x14c3: 0x1647, 0x14c4: 0x0747, 0x14c5: 0x0757, + 0x14c6: 0x075b, 0x14c7: 0x0763, 0x14c8: 0x076b, 0x14c9: 0x076f, 0x14ca: 0x077b, 0x14cb: 0x0773, + 0x14cc: 0x05b3, 0x14cd: 0x165b, 0x14ce: 0x078f, 0x14cf: 0x0793, 0x14d0: 0x0797, 0x14d1: 0x07b3, + 0x14d2: 0x164c, 0x14d3: 0x05b7, 0x14d4: 0x079f, 0x14d5: 0x07bf, 0x14d6: 0x1656, 0x14d7: 0x07cf, + 0x14d8: 0x07d7, 0x14d9: 0x0737, 0x14da: 0x07df, 0x14db: 0x07e3, 0x14dc: 0x1831, 0x14dd: 0x07ff, + 0x14de: 0x0807, 0x14df: 0x05bf, 0x14e0: 0x081f, 0x14e1: 0x0823, 0x14e2: 0x082b, 0x14e3: 0x082f, + 0x14e4: 0x05c3, 0x14e5: 0x0847, 0x14e6: 0x084b, 0x14e7: 0x0857, 0x14e8: 0x0863, 0x14e9: 0x0867, + 0x14ea: 0x086b, 0x14eb: 0x0873, 0x14ec: 0x0893, 0x14ed: 0x0897, 0x14ee: 0x089f, 0x14ef: 0x08af, + 0x14f0: 0x08b7, 0x14f1: 0x08bb, 0x14f2: 0x08bb, 0x14f3: 0x08bb, 0x14f4: 0x166a, 0x14f5: 0x0e93, + 0x14f6: 0x08cf, 0x14f7: 0x08d7, 0x14f8: 0x166f, 0x14f9: 0x08e3, 0x14fa: 0x08eb, 0x14fb: 0x08f3, + 0x14fc: 0x091b, 0x14fd: 0x0907, 0x14fe: 0x0913, 0x14ff: 0x0917, + // Block 0x54, offset 0x1500 + 0x1500: 0x091f, 0x1501: 0x0927, 0x1502: 0x092b, 0x1503: 0x0933, 0x1504: 0x093b, 0x1505: 0x093f, + 0x1506: 0x093f, 0x1507: 0x0947, 0x1508: 0x094f, 0x1509: 0x0953, 0x150a: 0x095f, 0x150b: 0x0983, + 0x150c: 0x0967, 0x150d: 0x0987, 0x150e: 0x096b, 0x150f: 0x0973, 0x1510: 0x080b, 0x1511: 0x09cf, + 0x1512: 0x0997, 0x1513: 0x099b, 0x1514: 0x099f, 0x1515: 0x0993, 0x1516: 0x09a7, 0x1517: 0x09a3, + 0x1518: 0x09bb, 0x1519: 0x1674, 0x151a: 0x09d7, 0x151b: 0x09db, 0x151c: 0x09e3, 0x151d: 0x09ef, + 0x151e: 0x09f7, 0x151f: 0x0a13, 0x1520: 0x1679, 0x1521: 0x167e, 0x1522: 0x0a1f, 0x1523: 0x0a23, + 0x1524: 0x0a27, 0x1525: 0x0a1b, 0x1526: 0x0a2f, 0x1527: 0x05c7, 0x1528: 0x05cb, 0x1529: 0x0a37, + 0x152a: 0x0a3f, 0x152b: 0x0a3f, 0x152c: 0x1683, 0x152d: 0x0a5b, 0x152e: 0x0a5f, 0x152f: 0x0a63, + 0x1530: 0x0a6b, 0x1531: 0x1688, 0x1532: 0x0a73, 0x1533: 0x0a77, 0x1534: 0x0b4f, 0x1535: 0x0a7f, + 0x1536: 0x05cf, 0x1537: 0x0a8b, 0x1538: 0x0a9b, 0x1539: 0x0aa7, 0x153a: 0x0aa3, 0x153b: 0x1692, + 0x153c: 0x0aaf, 0x153d: 0x1697, 0x153e: 0x0abb, 0x153f: 0x0ab7, + // Block 0x55, offset 0x1540 + 0x1540: 0x0abf, 0x1541: 0x0acf, 0x1542: 0x0ad3, 0x1543: 0x05d3, 0x1544: 0x0ae3, 0x1545: 0x0aeb, + 0x1546: 0x0aef, 0x1547: 0x0af3, 0x1548: 0x05d7, 0x1549: 0x169c, 0x154a: 0x05db, 0x154b: 0x0b0f, + 0x154c: 0x0b13, 0x154d: 0x0b17, 0x154e: 0x0b1f, 0x154f: 0x1863, 0x1550: 0x0b37, 0x1551: 0x16a6, + 0x1552: 0x16a6, 0x1553: 0x11d7, 0x1554: 0x0b47, 0x1555: 0x0b47, 0x1556: 0x05df, 0x1557: 0x16c9, + 0x1558: 0x179b, 0x1559: 0x0b57, 0x155a: 0x0b5f, 0x155b: 0x05e3, 0x155c: 0x0b73, 0x155d: 0x0b83, + 0x155e: 0x0b87, 0x155f: 0x0b8f, 0x1560: 0x0b9f, 0x1561: 0x05eb, 0x1562: 0x05e7, 0x1563: 0x0ba3, + 0x1564: 0x16ab, 0x1565: 0x0ba7, 0x1566: 0x0bbb, 0x1567: 0x0bbf, 0x1568: 0x0bc3, 0x1569: 0x0bbf, + 0x156a: 0x0bcf, 0x156b: 0x0bd3, 0x156c: 0x0be3, 0x156d: 0x0bdb, 0x156e: 0x0bdf, 0x156f: 0x0be7, + 0x1570: 0x0beb, 0x1571: 0x0bef, 0x1572: 0x0bfb, 0x1573: 0x0bff, 0x1574: 0x0c17, 0x1575: 0x0c1f, + 0x1576: 0x0c2f, 0x1577: 0x0c43, 0x1578: 0x16ba, 0x1579: 0x0c3f, 0x157a: 0x0c33, 0x157b: 0x0c4b, + 0x157c: 0x0c53, 0x157d: 0x0c67, 0x157e: 0x16bf, 0x157f: 0x0c6f, + // Block 0x56, offset 0x1580 + 0x1580: 0x0c63, 0x1581: 0x0c5b, 0x1582: 0x05ef, 0x1583: 0x0c77, 0x1584: 0x0c7f, 0x1585: 0x0c87, + 0x1586: 0x0c7b, 0x1587: 0x05f3, 0x1588: 0x0c97, 0x1589: 0x0c9f, 0x158a: 0x16c4, 0x158b: 0x0ccb, + 0x158c: 0x0cff, 0x158d: 0x0cdb, 0x158e: 0x05ff, 0x158f: 0x0ce7, 0x1590: 0x05fb, 0x1591: 0x05f7, + 0x1592: 0x07c3, 0x1593: 0x07c7, 0x1594: 0x0d03, 0x1595: 0x0ceb, 0x1596: 0x11ab, 0x1597: 0x0663, + 0x1598: 0x0d0f, 0x1599: 0x0d13, 0x159a: 0x0d17, 0x159b: 0x0d2b, 0x159c: 0x0d23, 0x159d: 0x16dd, + 0x159e: 0x0603, 0x159f: 0x0d3f, 0x15a0: 0x0d33, 0x15a1: 0x0d4f, 0x15a2: 0x0d57, 0x15a3: 0x16e7, + 0x15a4: 0x0d5b, 0x15a5: 0x0d47, 0x15a6: 0x0d63, 0x15a7: 0x0607, 0x15a8: 0x0d67, 0x15a9: 0x0d6b, + 0x15aa: 0x0d6f, 0x15ab: 0x0d7b, 0x15ac: 0x16ec, 0x15ad: 0x0d83, 0x15ae: 0x060b, 0x15af: 0x0d8f, + 0x15b0: 0x16f1, 0x15b1: 0x0d93, 0x15b2: 0x060f, 0x15b3: 0x0d9f, 0x15b4: 0x0dab, 0x15b5: 0x0db7, + 0x15b6: 0x0dbb, 0x15b7: 0x16f6, 0x15b8: 0x168d, 0x15b9: 0x16fb, 0x15ba: 0x0ddb, 0x15bb: 0x1700, + 0x15bc: 0x0de7, 0x15bd: 0x0def, 0x15be: 0x0ddf, 0x15bf: 0x0dfb, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0e0b, 0x15c1: 0x0e1b, 0x15c2: 0x0e0f, 0x15c3: 0x0e13, 0x15c4: 0x0e1f, 0x15c5: 0x0e23, + 0x15c6: 0x1705, 0x15c7: 0x0e07, 0x15c8: 0x0e3b, 0x15c9: 0x0e3f, 0x15ca: 0x0613, 0x15cb: 0x0e53, + 0x15cc: 0x0e4f, 0x15cd: 0x170a, 0x15ce: 0x0e33, 0x15cf: 0x0e6f, 0x15d0: 0x170f, 0x15d1: 0x1714, + 0x15d2: 0x0e73, 0x15d3: 0x0e87, 0x15d4: 0x0e83, 0x15d5: 0x0e7f, 0x15d6: 0x0617, 0x15d7: 0x0e8b, + 0x15d8: 0x0e9b, 0x15d9: 0x0e97, 0x15da: 0x0ea3, 0x15db: 0x1651, 0x15dc: 0x0eb3, 0x15dd: 0x1719, + 0x15de: 0x0ebf, 0x15df: 0x1723, 0x15e0: 0x0ed3, 0x15e1: 0x0edf, 0x15e2: 0x0ef3, 0x15e3: 0x1728, + 0x15e4: 0x0f07, 0x15e5: 0x0f0b, 0x15e6: 0x172d, 0x15e7: 0x1732, 0x15e8: 0x0f27, 0x15e9: 0x0f37, + 0x15ea: 0x061b, 0x15eb: 0x0f3b, 0x15ec: 0x061f, 0x15ed: 0x061f, 0x15ee: 0x0f53, 0x15ef: 0x0f57, + 0x15f0: 0x0f5f, 0x15f1: 0x0f63, 0x15f2: 0x0f6f, 0x15f3: 0x0623, 0x15f4: 0x0f87, 0x15f5: 0x1737, + 0x15f6: 0x0fa3, 0x15f7: 0x173c, 0x15f8: 0x0faf, 0x15f9: 0x16a1, 0x15fa: 0x0fbf, 0x15fb: 0x1741, + 0x15fc: 0x1746, 0x15fd: 0x174b, 0x15fe: 0x0627, 0x15ff: 0x062b, + // Block 0x58, offset 0x1600 + 0x1600: 0x0ff7, 0x1601: 0x1755, 0x1602: 0x1750, 0x1603: 0x175a, 0x1604: 0x175f, 0x1605: 0x0fff, + 0x1606: 0x1003, 0x1607: 0x1003, 0x1608: 0x100b, 0x1609: 0x0633, 0x160a: 0x100f, 0x160b: 0x0637, + 0x160c: 0x063b, 0x160d: 0x1769, 0x160e: 0x1023, 0x160f: 0x102b, 0x1610: 0x1037, 0x1611: 0x063f, + 0x1612: 0x176e, 0x1613: 0x105b, 0x1614: 0x1773, 0x1615: 0x1778, 0x1616: 0x107b, 0x1617: 0x1093, + 0x1618: 0x0643, 0x1619: 0x109b, 0x161a: 0x109f, 0x161b: 0x10a3, 0x161c: 0x177d, 0x161d: 0x1782, + 0x161e: 0x1782, 0x161f: 0x10bb, 0x1620: 0x0647, 0x1621: 0x1787, 0x1622: 0x10cf, 0x1623: 0x10d3, + 0x1624: 0x064b, 0x1625: 0x178c, 0x1626: 0x10ef, 0x1627: 0x064f, 0x1628: 0x10ff, 0x1629: 0x10f7, + 0x162a: 0x1107, 0x162b: 0x1796, 0x162c: 0x111f, 0x162d: 0x0653, 0x162e: 0x112b, 0x162f: 0x1133, + 0x1630: 0x1143, 0x1631: 0x0657, 0x1632: 0x17a0, 0x1633: 0x17a5, 0x1634: 0x065b, 0x1635: 0x17aa, + 0x1636: 0x115b, 0x1637: 0x17af, 0x1638: 0x1167, 0x1639: 0x1173, 0x163a: 0x117b, 0x163b: 0x17b4, + 0x163c: 0x17b9, 0x163d: 0x118f, 0x163e: 0x17be, 0x163f: 0x1197, + // Block 0x59, offset 0x1640 + 0x1640: 0x16ce, 0x1641: 0x065f, 0x1642: 0x11af, 0x1643: 0x11b3, 0x1644: 0x0667, 0x1645: 0x11b7, + 0x1646: 0x0a33, 0x1647: 0x17c3, 0x1648: 0x17c8, 0x1649: 0x16d3, 0x164a: 0x16d8, 0x164b: 0x11d7, + 0x164c: 0x11db, 0x164d: 0x13f3, 0x164e: 0x066b, 0x164f: 0x1207, 0x1650: 0x1203, 0x1651: 0x120b, + 0x1652: 0x083f, 0x1653: 0x120f, 0x1654: 0x1213, 0x1655: 0x1217, 0x1656: 0x121f, 0x1657: 0x17cd, + 0x1658: 0x121b, 0x1659: 0x1223, 0x165a: 0x1237, 0x165b: 0x123b, 0x165c: 0x1227, 0x165d: 0x123f, + 0x165e: 0x1253, 0x165f: 0x1267, 0x1660: 0x1233, 0x1661: 0x1247, 0x1662: 0x124b, 0x1663: 0x124f, + 0x1664: 0x17d2, 0x1665: 0x17dc, 0x1666: 0x17d7, 0x1667: 0x066f, 0x1668: 0x126f, 0x1669: 0x1273, + 0x166a: 0x127b, 0x166b: 0x17f0, 0x166c: 0x127f, 0x166d: 0x17e1, 0x166e: 0x0673, 0x166f: 0x0677, + 0x1670: 0x17e6, 0x1671: 0x17eb, 0x1672: 0x067b, 0x1673: 0x129f, 0x1674: 0x12a3, 0x1675: 0x12a7, + 0x1676: 0x12ab, 0x1677: 0x12b7, 0x1678: 0x12b3, 0x1679: 0x12bf, 0x167a: 0x12bb, 0x167b: 0x12cb, + 0x167c: 0x12c3, 0x167d: 0x12c7, 0x167e: 0x12cf, 0x167f: 0x067f, + // Block 0x5a, offset 0x1680 + 0x1680: 0x12d7, 0x1681: 0x12db, 0x1682: 0x0683, 0x1683: 0x12eb, 0x1684: 0x12ef, 0x1685: 0x17f5, + 0x1686: 0x12fb, 0x1687: 0x12ff, 0x1688: 0x0687, 0x1689: 0x130b, 0x168a: 0x05bb, 0x168b: 0x17fa, + 0x168c: 0x17ff, 0x168d: 0x068b, 0x168e: 0x068f, 0x168f: 0x1337, 0x1690: 0x134f, 0x1691: 0x136b, + 0x1692: 0x137b, 0x1693: 0x1804, 0x1694: 0x138f, 0x1695: 0x1393, 0x1696: 0x13ab, 0x1697: 0x13b7, + 0x1698: 0x180e, 0x1699: 0x1660, 0x169a: 0x13c3, 0x169b: 0x13bf, 0x169c: 0x13cb, 0x169d: 0x1665, + 0x169e: 0x13d7, 0x169f: 0x13e3, 0x16a0: 0x1813, 0x16a1: 0x1818, 0x16a2: 0x1423, 0x16a3: 0x142f, + 0x16a4: 0x1437, 0x16a5: 0x181d, 0x16a6: 0x143b, 0x16a7: 0x1467, 0x16a8: 0x1473, 0x16a9: 0x1477, + 0x16aa: 0x146f, 0x16ab: 0x1483, 0x16ac: 0x1487, 0x16ad: 0x1822, 0x16ae: 0x1493, 0x16af: 0x0693, + 0x16b0: 0x149b, 0x16b1: 0x1827, 0x16b2: 0x0697, 0x16b3: 0x14d3, 0x16b4: 0x0ac3, 0x16b5: 0x14eb, + 0x16b6: 0x182c, 0x16b7: 0x1836, 0x16b8: 0x069b, 0x16b9: 0x069f, 0x16ba: 0x1513, 0x16bb: 0x183b, + 0x16bc: 0x06a3, 0x16bd: 0x1840, 0x16be: 0x152b, 0x16bf: 0x152b, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x1533, 0x16c1: 0x1845, 0x16c2: 0x154b, 0x16c3: 0x06a7, 0x16c4: 0x155b, 0x16c5: 0x1567, + 0x16c6: 0x156f, 0x16c7: 0x1577, 0x16c8: 0x06ab, 0x16c9: 0x184a, 0x16ca: 0x158b, 0x16cb: 0x15a7, + 0x16cc: 0x15b3, 0x16cd: 0x06af, 0x16ce: 0x06b3, 0x16cf: 0x15b7, 0x16d0: 0x184f, 0x16d1: 0x06b7, + 0x16d2: 0x1854, 0x16d3: 0x1859, 0x16d4: 0x185e, 0x16d5: 0x15db, 0x16d6: 0x06bb, 0x16d7: 0x15ef, + 0x16d8: 0x15f7, 0x16d9: 0x15fb, 0x16da: 0x1603, 0x16db: 0x160b, 0x16dc: 0x1613, 0x16dd: 0x1868, +} + +// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var nfkcIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x5a, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5b, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5c, 0xcb: 0x5d, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x5e, 0xd2: 0x5f, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x60, + 0xd8: 0x61, 0xd9: 0x0d, 0xdb: 0x62, 0xdc: 0x63, 0xdd: 0x64, 0xdf: 0x65, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, + 0xf0: 0x13, + // Block 0x4, offset 0x100 + 0x120: 0x66, 0x121: 0x67, 0x123: 0x68, 0x124: 0x69, 0x125: 0x6a, 0x126: 0x6b, 0x127: 0x6c, + 0x128: 0x6d, 0x129: 0x6e, 0x12a: 0x6f, 0x12b: 0x70, 0x12c: 0x6b, 0x12d: 0x71, 0x12e: 0x72, 0x12f: 0x73, + 0x131: 0x74, 0x132: 0x75, 0x133: 0x76, 0x134: 0x77, 0x135: 0x78, 0x137: 0x79, + 0x138: 0x7a, 0x139: 0x7b, 0x13a: 0x7c, 0x13b: 0x7d, 0x13c: 0x7e, 0x13d: 0x7f, 0x13e: 0x80, 0x13f: 0x81, + // Block 0x5, offset 0x140 + 0x140: 0x82, 0x142: 0x83, 0x143: 0x84, 0x144: 0x85, 0x145: 0x86, 0x146: 0x87, 0x147: 0x88, + 0x14d: 0x89, + 0x15c: 0x8a, 0x15f: 0x8b, + 0x162: 0x8c, 0x164: 0x8d, + 0x168: 0x8e, 0x169: 0x8f, 0x16a: 0x90, 0x16c: 0x0e, 0x16d: 0x91, 0x16e: 0x92, 0x16f: 0x93, + 0x170: 0x94, 0x173: 0x95, 0x174: 0x96, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x97, + 0x178: 0x11, 0x179: 0x12, 0x17a: 0x13, 0x17b: 0x14, 0x17c: 0x15, 0x17d: 0x16, 0x17e: 0x17, 0x17f: 0x18, + // Block 0x6, offset 0x180 + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x19, 0x185: 0x1a, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1b, 0x18a: 0x1c, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1d, 0x192: 0x1e, 0x193: 0xa1, + 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, + 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x1f, 0x1bd: 0x20, 0x1be: 0x21, 0x1bf: 0xab, + // Block 0x7, offset 0x1c0 + 0x1c0: 0xac, 0x1c1: 0x22, 0x1c2: 0x23, 0x1c3: 0x24, 0x1c4: 0xad, 0x1c5: 0x25, 0x1c6: 0x26, + 0x1c8: 0x27, 0x1c9: 0x28, 0x1ca: 0x29, 0x1cb: 0x2a, 0x1cc: 0x2b, 0x1cd: 0x2c, 0x1ce: 0x2d, 0x1cf: 0x2e, + // Block 0x8, offset 0x200 + 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, + 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, + 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, + 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, + 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, + // Block 0x9, offset 0x240 + 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, + 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, + 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, + 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, + 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, + 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, + 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, + 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, + // Block 0xa, offset 0x280 + 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, + 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, + 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, + 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, + 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, + 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, + 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, + 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, + // Block 0xb, offset 0x2c0 + 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, + 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, + 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, + 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, + // Block 0xc, offset 0x300 + 0x324: 0x2f, 0x325: 0x30, 0x326: 0x31, 0x327: 0x32, + 0x328: 0x33, 0x329: 0x34, 0x32a: 0x35, 0x32b: 0x36, 0x32c: 0x37, 0x32d: 0x38, 0x32e: 0x39, 0x32f: 0x3a, + 0x330: 0x3b, 0x331: 0x3c, 0x332: 0x3d, 0x333: 0x3e, 0x334: 0x3f, 0x335: 0x40, 0x336: 0x41, 0x337: 0x42, + 0x338: 0x43, 0x339: 0x44, 0x33a: 0x45, 0x33b: 0x46, 0x33c: 0xc5, 0x33d: 0x47, 0x33e: 0x48, 0x33f: 0x49, + // Block 0xd, offset 0x340 + 0x347: 0xc6, + 0x34b: 0xc7, 0x34d: 0xc8, + 0x368: 0xc9, 0x36b: 0xca, + // Block 0xe, offset 0x380 + 0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce, + 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6b, 0x38d: 0xd1, + 0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6, + 0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9, + 0x3b0: 0xd7, + // Block 0xf, offset 0x3c0 + 0x3eb: 0xda, 0x3ec: 0xdb, + // Block 0x10, offset 0x400 + 0x432: 0xdc, + // Block 0x11, offset 0x440 + 0x445: 0xdd, 0x446: 0xde, 0x447: 0xdf, + 0x449: 0xe0, + 0x450: 0xe1, 0x451: 0xe2, 0x452: 0xe3, 0x453: 0xe4, 0x454: 0xe5, 0x455: 0xe6, 0x456: 0xe7, 0x457: 0xe8, + 0x458: 0xe9, 0x459: 0xea, 0x45a: 0x4a, 0x45b: 0xeb, 0x45c: 0xec, 0x45d: 0xed, 0x45e: 0xee, 0x45f: 0x4b, + // Block 0x12, offset 0x480 + 0x480: 0xef, + 0x4a3: 0xf0, 0x4a5: 0xf1, + 0x4b8: 0x4c, 0x4b9: 0x4d, 0x4ba: 0x4e, + // Block 0x13, offset 0x4c0 + 0x4c4: 0x4f, 0x4c5: 0xf2, 0x4c6: 0xf3, + 0x4c8: 0x50, 0x4c9: 0xf4, + // Block 0x14, offset 0x500 + 0x520: 0x51, 0x521: 0x52, 0x522: 0x53, 0x523: 0x54, 0x524: 0x55, 0x525: 0x56, 0x526: 0x57, 0x527: 0x58, + 0x528: 0x59, + // Block 0x15, offset 0x540 + 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, +} + +// nfkcSparseOffset: 155 entries, 310 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd4, 0xdb, 0xe3, 0xe7, 0xe9, 0xec, 0xf0, 0xf6, 0x107, 0x113, 0x115, 0x11b, 0x11d, 0x11f, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12c, 0x12f, 0x131, 0x134, 0x137, 0x13b, 0x140, 0x149, 0x14b, 0x14e, 0x150, 0x15b, 0x166, 0x176, 0x184, 0x192, 0x1a2, 0x1b0, 0x1b7, 0x1bd, 0x1cc, 0x1d0, 0x1d2, 0x1d6, 0x1d8, 0x1db, 0x1dd, 0x1e0, 0x1e2, 0x1e5, 0x1e7, 0x1e9, 0x1eb, 0x1f7, 0x201, 0x20b, 0x20e, 0x212, 0x214, 0x216, 0x218, 0x21a, 0x21d, 0x21f, 0x221, 0x223, 0x225, 0x22b, 0x22e, 0x232, 0x234, 0x23b, 0x241, 0x247, 0x24f, 0x255, 0x25b, 0x261, 0x265, 0x267, 0x269, 0x26b, 0x26d, 0x273, 0x276, 0x279, 0x281, 0x288, 0x28b, 0x28e, 0x290, 0x298, 0x29b, 0x2a2, 0x2a5, 0x2ab, 0x2ad, 0x2af, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2c7, 0x2d1, 0x2d3, 0x2d5, 0x2d9, 0x2de, 0x2ea, 0x2ef, 0x2f8, 0x2fe, 0x303, 0x307, 0x30c, 0x310, 0x320, 0x32e, 0x33c, 0x34a, 0x350, 0x352, 0x355, 0x35f, 0x361} + +// nfkcSparseValues: 875 entries, 3500 bytes +var nfkcSparseValues = [875]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0002, lo: 0x0d}, + {value: 0x0001, lo: 0xa0, hi: 0xa0}, + {value: 0x4278, lo: 0xa8, hi: 0xa8}, + {value: 0x0083, lo: 0xaa, hi: 0xaa}, + {value: 0x4264, lo: 0xaf, hi: 0xaf}, + {value: 0x0025, lo: 0xb2, hi: 0xb3}, + {value: 0x425a, lo: 0xb4, hi: 0xb4}, + {value: 0x01dc, lo: 0xb5, hi: 0xb5}, + {value: 0x4291, lo: 0xb8, hi: 0xb8}, + {value: 0x0023, lo: 0xb9, hi: 0xb9}, + {value: 0x009f, lo: 0xba, hi: 0xba}, + {value: 0x221c, lo: 0xbc, hi: 0xbc}, + {value: 0x2210, lo: 0xbd, hi: 0xbd}, + {value: 0x22b2, lo: 0xbe, hi: 0xbe}, + // Block 0x1, offset 0xe + {value: 0x0091, lo: 0x03}, + {value: 0x46e2, lo: 0xa0, hi: 0xa1}, + {value: 0x4714, lo: 0xaf, hi: 0xb0}, + {value: 0xa000, lo: 0xb7, hi: 0xb7}, + // Block 0x2, offset 0x12 + {value: 0x0003, lo: 0x08}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x0091, lo: 0xb0, hi: 0xb0}, + {value: 0x0119, lo: 0xb1, hi: 0xb1}, + {value: 0x0095, lo: 0xb2, hi: 0xb2}, + {value: 0x00a5, lo: 0xb3, hi: 0xb3}, + {value: 0x0143, lo: 0xb4, hi: 0xb6}, + {value: 0x00af, lo: 0xb7, hi: 0xb7}, + {value: 0x00b3, lo: 0xb8, hi: 0xb8}, + // Block 0x3, offset 0x1b + {value: 0x000a, lo: 0x09}, + {value: 0x426e, lo: 0x98, hi: 0x98}, + {value: 0x4273, lo: 0x99, hi: 0x9a}, + {value: 0x4296, lo: 0x9b, hi: 0x9b}, + {value: 0x425f, lo: 0x9c, hi: 0x9c}, + {value: 0x4282, lo: 0x9d, hi: 0x9d}, + {value: 0x0113, lo: 0xa0, hi: 0xa0}, + {value: 0x0099, lo: 0xa1, hi: 0xa1}, + {value: 0x00a7, lo: 0xa2, hi: 0xa3}, + {value: 0x0167, lo: 0xa4, hi: 0xa4}, + // Block 0x4, offset 0x25 + {value: 0x0000, lo: 0x0f}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0xa000, lo: 0x8d, hi: 0x8d}, + {value: 0x37a5, lo: 0x90, hi: 0x90}, + {value: 0x37b1, lo: 0x91, hi: 0x91}, + {value: 0x379f, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x96, hi: 0x96}, + {value: 0x3817, lo: 0x97, hi: 0x97}, + {value: 0x37e1, lo: 0x9c, hi: 0x9c}, + {value: 0x37c9, lo: 0x9d, hi: 0x9d}, + {value: 0x37f3, lo: 0x9e, hi: 0x9e}, + {value: 0xa000, lo: 0xb4, hi: 0xb5}, + {value: 0x381d, lo: 0xb6, hi: 0xb6}, + {value: 0x3823, lo: 0xb7, hi: 0xb7}, + // Block 0x5, offset 0x35 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x83, hi: 0x87}, + // Block 0x6, offset 0x37 + {value: 0x0001, lo: 0x04}, + {value: 0x8113, lo: 0x81, hi: 0x82}, + {value: 0x8132, lo: 0x84, hi: 0x84}, + {value: 0x812d, lo: 0x85, hi: 0x85}, + {value: 0x810d, lo: 0x87, hi: 0x87}, + // Block 0x7, offset 0x3c + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x97}, + {value: 0x8119, lo: 0x98, hi: 0x98}, + {value: 0x811a, lo: 0x99, hi: 0x99}, + {value: 0x811b, lo: 0x9a, hi: 0x9a}, + {value: 0x3841, lo: 0xa2, hi: 0xa2}, + {value: 0x3847, lo: 0xa3, hi: 0xa3}, + {value: 0x3853, lo: 0xa4, hi: 0xa4}, + {value: 0x384d, lo: 0xa5, hi: 0xa5}, + {value: 0x3859, lo: 0xa6, hi: 0xa6}, + {value: 0xa000, lo: 0xa7, hi: 0xa7}, + // Block 0x8, offset 0x47 + {value: 0x0000, lo: 0x0e}, + {value: 0x386b, lo: 0x80, hi: 0x80}, + {value: 0xa000, lo: 0x81, hi: 0x81}, + {value: 0x385f, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x3865, lo: 0x93, hi: 0x93}, + {value: 0xa000, lo: 0x95, hi: 0x95}, + {value: 0x8132, lo: 0x96, hi: 0x9c}, + {value: 0x8132, lo: 0x9f, hi: 0xa2}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa4}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xaa, hi: 0xaa}, + {value: 0x8132, lo: 0xab, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + // Block 0x9, offset 0x56 + {value: 0x0000, lo: 0x0c}, + {value: 0x811f, lo: 0x91, hi: 0x91}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x812d, lo: 0xb1, hi: 0xb1}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb5, hi: 0xb6}, + {value: 0x812d, lo: 0xb7, hi: 0xb9}, + {value: 0x8132, lo: 0xba, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbc}, + {value: 0x8132, lo: 0xbd, hi: 0xbd}, + {value: 0x812d, lo: 0xbe, hi: 0xbe}, + {value: 0x8132, lo: 0xbf, hi: 0xbf}, + // Block 0xa, offset 0x63 + {value: 0x0005, lo: 0x07}, + {value: 0x8132, lo: 0x80, hi: 0x80}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x83}, + {value: 0x812d, lo: 0x84, hi: 0x85}, + {value: 0x812d, lo: 0x86, hi: 0x87}, + {value: 0x812d, lo: 0x88, hi: 0x89}, + {value: 0x8132, lo: 0x8a, hi: 0x8a}, + // Block 0xb, offset 0x6b + {value: 0x0000, lo: 0x03}, + {value: 0x8132, lo: 0xab, hi: 0xb1}, + {value: 0x812d, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb3}, + // Block 0xc, offset 0x6f + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0x96, hi: 0x99}, + {value: 0x8132, lo: 0x9b, hi: 0xa3}, + {value: 0x8132, lo: 0xa5, hi: 0xa7}, + {value: 0x8132, lo: 0xa9, hi: 0xad}, + // Block 0xd, offset 0x74 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x99, hi: 0x9b}, + // Block 0xe, offset 0x76 + {value: 0x0000, lo: 0x10}, + {value: 0x8132, lo: 0x94, hi: 0xa1}, + {value: 0x812d, lo: 0xa3, hi: 0xa3}, + {value: 0x8132, lo: 0xa4, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa8}, + {value: 0x812d, lo: 0xa9, hi: 0xa9}, + {value: 0x8132, lo: 0xaa, hi: 0xac}, + {value: 0x812d, lo: 0xad, hi: 0xaf}, + {value: 0x8116, lo: 0xb0, hi: 0xb0}, + {value: 0x8117, lo: 0xb1, hi: 0xb1}, + {value: 0x8118, lo: 0xb2, hi: 0xb2}, + {value: 0x8132, lo: 0xb3, hi: 0xb5}, + {value: 0x812d, lo: 0xb6, hi: 0xb6}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x812d, lo: 0xb9, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbf}, + // Block 0xf, offset 0x87 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0xa8, hi: 0xa8}, + {value: 0x3ed8, lo: 0xa9, hi: 0xa9}, + {value: 0xa000, lo: 0xb0, hi: 0xb0}, + {value: 0x3ee0, lo: 0xb1, hi: 0xb1}, + {value: 0xa000, lo: 0xb3, hi: 0xb3}, + {value: 0x3ee8, lo: 0xb4, hi: 0xb4}, + {value: 0x9902, lo: 0xbc, hi: 0xbc}, + // Block 0x10, offset 0x8f + {value: 0x0008, lo: 0x06}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x91, hi: 0x91}, + {value: 0x812d, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x93, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x94}, + {value: 0x451c, lo: 0x98, hi: 0x9f}, + // Block 0x11, offset 0x96 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x12, offset 0x99 + {value: 0x0008, lo: 0x06}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2c9e, lo: 0x8b, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x455c, lo: 0x9c, hi: 0x9d}, + {value: 0x456c, lo: 0x9f, hi: 0x9f}, + // Block 0x13, offset 0xa0 + {value: 0x0000, lo: 0x03}, + {value: 0x4594, lo: 0xb3, hi: 0xb3}, + {value: 0x459c, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x14, offset 0xa4 + {value: 0x0008, lo: 0x03}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x4574, lo: 0x99, hi: 0x9b}, + {value: 0x458c, lo: 0x9e, hi: 0x9e}, + // Block 0x15, offset 0xa8 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + // Block 0x16, offset 0xaa + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + // Block 0x17, offset 0xac + {value: 0x0000, lo: 0x08}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2cb6, lo: 0x88, hi: 0x88}, + {value: 0x2cae, lo: 0x8b, hi: 0x8b}, + {value: 0x2cbe, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x96, hi: 0x97}, + {value: 0x45a4, lo: 0x9c, hi: 0x9c}, + {value: 0x45ac, lo: 0x9d, hi: 0x9d}, + // Block 0x18, offset 0xb5 + {value: 0x0000, lo: 0x03}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0x2cc6, lo: 0x94, hi: 0x94}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x19, offset 0xb9 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cce, lo: 0x8a, hi: 0x8a}, + {value: 0x2cde, lo: 0x8b, hi: 0x8b}, + {value: 0x2cd6, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1a, offset 0xc0 + {value: 0x1801, lo: 0x04}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x3ef0, lo: 0x88, hi: 0x88}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x8120, lo: 0x95, hi: 0x96}, + // Block 0x1b, offset 0xc5 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xbc, hi: 0xbc}, + {value: 0xa000, lo: 0xbf, hi: 0xbf}, + // Block 0x1c, offset 0xc8 + {value: 0x0000, lo: 0x09}, + {value: 0x2ce6, lo: 0x80, hi: 0x80}, + {value: 0x9900, lo: 0x82, hi: 0x82}, + {value: 0xa000, lo: 0x86, hi: 0x86}, + {value: 0x2cee, lo: 0x87, hi: 0x87}, + {value: 0x2cf6, lo: 0x88, hi: 0x88}, + {value: 0x2f50, lo: 0x8a, hi: 0x8a}, + {value: 0x2dd8, lo: 0x8b, hi: 0x8b}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x95, hi: 0x96}, + // Block 0x1d, offset 0xd2 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xd4 + {value: 0x0000, lo: 0x06}, + {value: 0xa000, lo: 0x86, hi: 0x87}, + {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, + {value: 0x2d0e, lo: 0x8b, hi: 0x8b}, + {value: 0x2d06, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + // Block 0x1f, offset 0xdb + {value: 0x6bea, lo: 0x07}, + {value: 0x9904, lo: 0x8a, hi: 0x8a}, + {value: 0x9900, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x3ef8, lo: 0x9a, hi: 0x9a}, + {value: 0x2f58, lo: 0x9c, hi: 0x9c}, + {value: 0x2de3, lo: 0x9d, hi: 0x9d}, + {value: 0x2d16, lo: 0x9e, hi: 0x9f}, + // Block 0x20, offset 0xe3 + {value: 0x0000, lo: 0x03}, + {value: 0x2621, lo: 0xb3, hi: 0xb3}, + {value: 0x8122, lo: 0xb8, hi: 0xb9}, + {value: 0x8104, lo: 0xba, hi: 0xba}, + // Block 0x21, offset 0xe7 + {value: 0x0000, lo: 0x01}, + {value: 0x8123, lo: 0x88, hi: 0x8b}, + // Block 0x22, offset 0xe9 + {value: 0x0000, lo: 0x02}, + {value: 0x2636, lo: 0xb3, hi: 0xb3}, + {value: 0x8124, lo: 0xb8, hi: 0xb9}, + // Block 0x23, offset 0xec + {value: 0x0000, lo: 0x03}, + {value: 0x8125, lo: 0x88, hi: 0x8b}, + {value: 0x2628, lo: 0x9c, hi: 0x9c}, + {value: 0x262f, lo: 0x9d, hi: 0x9d}, + // Block 0x24, offset 0xf0 + {value: 0x0000, lo: 0x05}, + {value: 0x030b, lo: 0x8c, hi: 0x8c}, + {value: 0x812d, lo: 0x98, hi: 0x99}, + {value: 0x812d, lo: 0xb5, hi: 0xb5}, + {value: 0x812d, lo: 0xb7, hi: 0xb7}, + {value: 0x812b, lo: 0xb9, hi: 0xb9}, + // Block 0x25, offset 0xf6 + {value: 0x0000, lo: 0x10}, + {value: 0x2644, lo: 0x83, hi: 0x83}, + {value: 0x264b, lo: 0x8d, hi: 0x8d}, + {value: 0x2652, lo: 0x92, hi: 0x92}, + {value: 0x2659, lo: 0x97, hi: 0x97}, + {value: 0x2660, lo: 0x9c, hi: 0x9c}, + {value: 0x263d, lo: 0xa9, hi: 0xa9}, + {value: 0x8126, lo: 0xb1, hi: 0xb1}, + {value: 0x8127, lo: 0xb2, hi: 0xb2}, + {value: 0x4a84, lo: 0xb3, hi: 0xb3}, + {value: 0x8128, lo: 0xb4, hi: 0xb4}, + {value: 0x4a8d, lo: 0xb5, hi: 0xb5}, + {value: 0x45b4, lo: 0xb6, hi: 0xb6}, + {value: 0x45f4, lo: 0xb7, hi: 0xb7}, + {value: 0x45bc, lo: 0xb8, hi: 0xb8}, + {value: 0x45ff, lo: 0xb9, hi: 0xb9}, + {value: 0x8127, lo: 0xba, hi: 0xbd}, + // Block 0x26, offset 0x107 + {value: 0x0000, lo: 0x0b}, + {value: 0x8127, lo: 0x80, hi: 0x80}, + {value: 0x4a96, lo: 0x81, hi: 0x81}, + {value: 0x8132, lo: 0x82, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0x86, hi: 0x87}, + {value: 0x266e, lo: 0x93, hi: 0x93}, + {value: 0x2675, lo: 0x9d, hi: 0x9d}, + {value: 0x267c, lo: 0xa2, hi: 0xa2}, + {value: 0x2683, lo: 0xa7, hi: 0xa7}, + {value: 0x268a, lo: 0xac, hi: 0xac}, + {value: 0x2667, lo: 0xb9, hi: 0xb9}, + // Block 0x27, offset 0x113 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x86, hi: 0x86}, + // Block 0x28, offset 0x115 + {value: 0x0000, lo: 0x05}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, + {value: 0x9900, lo: 0xae, hi: 0xae}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x29, offset 0x11b + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + // Block 0x2a, offset 0x11d + {value: 0x0000, lo: 0x01}, + {value: 0x030f, lo: 0xbc, hi: 0xbc}, + // Block 0x2b, offset 0x11f + {value: 0x0000, lo: 0x01}, + {value: 0xa000, lo: 0x80, hi: 0x92}, + // Block 0x2c, offset 0x121 + {value: 0x0000, lo: 0x01}, + {value: 0xb900, lo: 0xa1, hi: 0xb5}, + // Block 0x2d, offset 0x123 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0xa8, hi: 0xbf}, + // Block 0x2e, offset 0x125 + {value: 0x0000, lo: 0x01}, + {value: 0x9900, lo: 0x80, hi: 0x82}, + // Block 0x2f, offset 0x127 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x9d, hi: 0x9f}, + // Block 0x30, offset 0x129 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x94, hi: 0x94}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x31, offset 0x12c + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x92, hi: 0x92}, + {value: 0x8132, lo: 0x9d, hi: 0x9d}, + // Block 0x32, offset 0x12f + {value: 0x0000, lo: 0x01}, + {value: 0x8131, lo: 0xa9, hi: 0xa9}, + // Block 0x33, offset 0x131 + {value: 0x0004, lo: 0x02}, + {value: 0x812e, lo: 0xb9, hi: 0xba}, + {value: 0x812d, lo: 0xbb, hi: 0xbb}, + // Block 0x34, offset 0x134 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x97, hi: 0x97}, + {value: 0x812d, lo: 0x98, hi: 0x98}, + // Block 0x35, offset 0x137 + {value: 0x0000, lo: 0x03}, + {value: 0x8104, lo: 0xa0, hi: 0xa0}, + {value: 0x8132, lo: 0xb5, hi: 0xbc}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x36, offset 0x13b + {value: 0x0000, lo: 0x04}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + {value: 0x812d, lo: 0xb5, hi: 0xba}, + {value: 0x8132, lo: 0xbb, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x37, offset 0x140 + {value: 0x0000, lo: 0x08}, + {value: 0x2d66, lo: 0x80, hi: 0x80}, + {value: 0x2d6e, lo: 0x81, hi: 0x81}, + {value: 0xa000, lo: 0x82, hi: 0x82}, + {value: 0x2d76, lo: 0x83, hi: 0x83}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xab, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xac}, + {value: 0x8132, lo: 0xad, hi: 0xb3}, + // Block 0x38, offset 0x149 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xaa, hi: 0xab}, + // Block 0x39, offset 0x14b + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0xa6, hi: 0xa6}, + {value: 0x8104, lo: 0xb2, hi: 0xb3}, + // Block 0x3a, offset 0x14e + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x3b, offset 0x150 + {value: 0x0000, lo: 0x0a}, + {value: 0x8132, lo: 0x90, hi: 0x92}, + {value: 0x8101, lo: 0x94, hi: 0x94}, + {value: 0x812d, lo: 0x95, hi: 0x99}, + {value: 0x8132, lo: 0x9a, hi: 0x9b}, + {value: 0x812d, lo: 0x9c, hi: 0x9f}, + {value: 0x8132, lo: 0xa0, hi: 0xa0}, + {value: 0x8101, lo: 0xa2, hi: 0xa8}, + {value: 0x812d, lo: 0xad, hi: 0xad}, + {value: 0x8132, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb8, hi: 0xb9}, + // Block 0x3c, offset 0x15b + {value: 0x0002, lo: 0x0a}, + {value: 0x0043, lo: 0xac, hi: 0xac}, + {value: 0x00d1, lo: 0xad, hi: 0xad}, + {value: 0x0045, lo: 0xae, hi: 0xae}, + {value: 0x0049, lo: 0xb0, hi: 0xb1}, + {value: 0x00e6, lo: 0xb2, hi: 0xb2}, + {value: 0x004f, lo: 0xb3, hi: 0xba}, + {value: 0x005f, lo: 0xbc, hi: 0xbc}, + {value: 0x00ef, lo: 0xbd, hi: 0xbd}, + {value: 0x0061, lo: 0xbe, hi: 0xbe}, + {value: 0x0065, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x166 + {value: 0x0000, lo: 0x0f}, + {value: 0x8132, lo: 0x80, hi: 0x81}, + {value: 0x812d, lo: 0x82, hi: 0x82}, + {value: 0x8132, lo: 0x83, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8a}, + {value: 0x8132, lo: 0x8b, hi: 0x8c}, + {value: 0x8135, lo: 0x8d, hi: 0x8d}, + {value: 0x812a, lo: 0x8e, hi: 0x8e}, + {value: 0x812d, lo: 0x8f, hi: 0x8f}, + {value: 0x8129, lo: 0x90, hi: 0x90}, + {value: 0x8132, lo: 0x91, hi: 0xb5}, + {value: 0x8132, lo: 0xbb, hi: 0xbb}, + {value: 0x8134, lo: 0xbc, hi: 0xbc}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + {value: 0x8132, lo: 0xbe, hi: 0xbe}, + {value: 0x812d, lo: 0xbf, hi: 0xbf}, + // Block 0x3e, offset 0x176 + {value: 0x0000, lo: 0x0d}, + {value: 0x0001, lo: 0x80, hi: 0x8a}, + {value: 0x043b, lo: 0x91, hi: 0x91}, + {value: 0x429b, lo: 0x97, hi: 0x97}, + {value: 0x001d, lo: 0xa4, hi: 0xa4}, + {value: 0x1873, lo: 0xa5, hi: 0xa5}, + {value: 0x1b5c, lo: 0xa6, hi: 0xa6}, + {value: 0x0001, lo: 0xaf, hi: 0xaf}, + {value: 0x2691, lo: 0xb3, hi: 0xb3}, + {value: 0x27fe, lo: 0xb4, hi: 0xb4}, + {value: 0x2698, lo: 0xb6, hi: 0xb6}, + {value: 0x2808, lo: 0xb7, hi: 0xb7}, + {value: 0x186d, lo: 0xbc, hi: 0xbc}, + {value: 0x4269, lo: 0xbe, hi: 0xbe}, + // Block 0x3f, offset 0x184 + {value: 0x0002, lo: 0x0d}, + {value: 0x1933, lo: 0x87, hi: 0x87}, + {value: 0x1930, lo: 0x88, hi: 0x88}, + {value: 0x1870, lo: 0x89, hi: 0x89}, + {value: 0x298e, lo: 0x97, hi: 0x97}, + {value: 0x0001, lo: 0x9f, hi: 0x9f}, + {value: 0x0021, lo: 0xb0, hi: 0xb0}, + {value: 0x0093, lo: 0xb1, hi: 0xb1}, + {value: 0x0029, lo: 0xb4, hi: 0xb9}, + {value: 0x0017, lo: 0xba, hi: 0xba}, + {value: 0x0467, lo: 0xbb, hi: 0xbb}, + {value: 0x003b, lo: 0xbc, hi: 0xbc}, + {value: 0x0011, lo: 0xbd, hi: 0xbe}, + {value: 0x009d, lo: 0xbf, hi: 0xbf}, + // Block 0x40, offset 0x192 + {value: 0x0002, lo: 0x0f}, + {value: 0x0021, lo: 0x80, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8a}, + {value: 0x0467, lo: 0x8b, hi: 0x8b}, + {value: 0x003b, lo: 0x8c, hi: 0x8c}, + {value: 0x0011, lo: 0x8d, hi: 0x8e}, + {value: 0x0083, lo: 0x90, hi: 0x90}, + {value: 0x008b, lo: 0x91, hi: 0x91}, + {value: 0x009f, lo: 0x92, hi: 0x92}, + {value: 0x00b1, lo: 0x93, hi: 0x93}, + {value: 0x0104, lo: 0x94, hi: 0x94}, + {value: 0x0091, lo: 0x95, hi: 0x95}, + {value: 0x0097, lo: 0x96, hi: 0x99}, + {value: 0x00a1, lo: 0x9a, hi: 0x9a}, + {value: 0x00a7, lo: 0x9b, hi: 0x9c}, + {value: 0x1999, lo: 0xa8, hi: 0xa8}, + // Block 0x41, offset 0x1a2 + {value: 0x0000, lo: 0x0d}, + {value: 0x8132, lo: 0x90, hi: 0x91}, + {value: 0x8101, lo: 0x92, hi: 0x93}, + {value: 0x8132, lo: 0x94, hi: 0x97}, + {value: 0x8101, lo: 0x98, hi: 0x9a}, + {value: 0x8132, lo: 0x9b, hi: 0x9c}, + {value: 0x8132, lo: 0xa1, hi: 0xa1}, + {value: 0x8101, lo: 0xa5, hi: 0xa6}, + {value: 0x8132, lo: 0xa7, hi: 0xa7}, + {value: 0x812d, lo: 0xa8, hi: 0xa8}, + {value: 0x8132, lo: 0xa9, hi: 0xa9}, + {value: 0x8101, lo: 0xaa, hi: 0xab}, + {value: 0x812d, lo: 0xac, hi: 0xaf}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + // Block 0x42, offset 0x1b0 + {value: 0x0007, lo: 0x06}, + {value: 0x2180, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, + {value: 0x3bc7, lo: 0xae, hi: 0xae}, + // Block 0x43, offset 0x1b7 + {value: 0x000e, lo: 0x05}, + {value: 0x3bce, lo: 0x8d, hi: 0x8e}, + {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, + {value: 0xa000, lo: 0x90, hi: 0x90}, + {value: 0xa000, lo: 0x92, hi: 0x92}, + {value: 0xa000, lo: 0x94, hi: 0x94}, + // Block 0x44, offset 0x1bd + {value: 0x0173, lo: 0x0e}, + {value: 0xa000, lo: 0x83, hi: 0x83}, + {value: 0x3be3, lo: 0x84, hi: 0x84}, + {value: 0xa000, lo: 0x88, hi: 0x88}, + {value: 0x3bea, lo: 0x89, hi: 0x89}, + {value: 0xa000, lo: 0x8b, hi: 0x8b}, + {value: 0x3bf1, lo: 0x8c, hi: 0x8c}, + {value: 0xa000, lo: 0xa3, hi: 0xa3}, + {value: 0x3bf8, lo: 0xa4, hi: 0xa4}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x3bff, lo: 0xa6, hi: 0xa6}, + {value: 0x269f, lo: 0xac, hi: 0xad}, + {value: 0x26a6, lo: 0xaf, hi: 0xaf}, + {value: 0x281c, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xbc, hi: 0xbc}, + // Block 0x45, offset 0x1cc + {value: 0x0007, lo: 0x03}, + {value: 0x3c68, lo: 0xa0, hi: 0xa1}, + {value: 0x3c92, lo: 0xa2, hi: 0xa3}, + {value: 0x3cbc, lo: 0xaa, hi: 0xad}, + // Block 0x46, offset 0x1d0 + {value: 0x0004, lo: 0x01}, + {value: 0x048b, lo: 0xa9, hi: 0xaa}, + // Block 0x47, offset 0x1d2 + {value: 0x0002, lo: 0x03}, + {value: 0x0057, lo: 0x80, hi: 0x8f}, + {value: 0x0083, lo: 0x90, hi: 0xa9}, + {value: 0x0021, lo: 0xaa, hi: 0xaa}, + // Block 0x48, offset 0x1d6 + {value: 0x0000, lo: 0x01}, + {value: 0x299b, lo: 0x8c, hi: 0x8c}, + // Block 0x49, offset 0x1d8 + {value: 0x0263, lo: 0x02}, + {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, + {value: 0x192d, lo: 0xb5, hi: 0xb6}, + // Block 0x4a, offset 0x1db + {value: 0x0000, lo: 0x01}, + {value: 0x44dd, lo: 0x9c, hi: 0x9c}, + // Block 0x4b, offset 0x1dd + {value: 0x0000, lo: 0x02}, + {value: 0x0095, lo: 0xbc, hi: 0xbc}, + {value: 0x006d, lo: 0xbd, hi: 0xbd}, + // Block 0x4c, offset 0x1e0 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xaf, hi: 0xb1}, + // Block 0x4d, offset 0x1e2 + {value: 0x0000, lo: 0x02}, + {value: 0x047f, lo: 0xaf, hi: 0xaf}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x4e, offset 0x1e5 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xa0, hi: 0xbf}, + // Block 0x4f, offset 0x1e7 + {value: 0x0000, lo: 0x01}, + {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, + // Block 0x50, offset 0x1e9 + {value: 0x0000, lo: 0x01}, + {value: 0x162f, lo: 0xb3, hi: 0xb3}, + // Block 0x51, offset 0x1eb + {value: 0x0004, lo: 0x0b}, + {value: 0x1597, lo: 0x80, hi: 0x82}, + {value: 0x15af, lo: 0x83, hi: 0x83}, + {value: 0x15c7, lo: 0x84, hi: 0x85}, + {value: 0x15d7, lo: 0x86, hi: 0x89}, + {value: 0x15eb, lo: 0x8a, hi: 0x8c}, + {value: 0x15ff, lo: 0x8d, hi: 0x8d}, + {value: 0x1607, lo: 0x8e, hi: 0x8e}, + {value: 0x160f, lo: 0x8f, hi: 0x90}, + {value: 0x161b, lo: 0x91, hi: 0x93}, + {value: 0x162b, lo: 0x94, hi: 0x94}, + {value: 0x1633, lo: 0x95, hi: 0x95}, + // Block 0x52, offset 0x1f7 + {value: 0x0004, lo: 0x09}, + {value: 0x0001, lo: 0x80, hi: 0x80}, + {value: 0x812c, lo: 0xaa, hi: 0xaa}, + {value: 0x8131, lo: 0xab, hi: 0xab}, + {value: 0x8133, lo: 0xac, hi: 0xac}, + {value: 0x812e, lo: 0xad, hi: 0xad}, + {value: 0x812f, lo: 0xae, hi: 0xae}, + {value: 0x812f, lo: 0xaf, hi: 0xaf}, + {value: 0x04b3, lo: 0xb6, hi: 0xb6}, + {value: 0x0887, lo: 0xb8, hi: 0xba}, + // Block 0x53, offset 0x201 + {value: 0x0006, lo: 0x09}, + {value: 0x0313, lo: 0xb1, hi: 0xb1}, + {value: 0x0317, lo: 0xb2, hi: 0xb2}, + {value: 0x4a3b, lo: 0xb3, hi: 0xb3}, + {value: 0x031b, lo: 0xb4, hi: 0xb4}, + {value: 0x4a41, lo: 0xb5, hi: 0xb6}, + {value: 0x031f, lo: 0xb7, hi: 0xb7}, + {value: 0x0323, lo: 0xb8, hi: 0xb8}, + {value: 0x0327, lo: 0xb9, hi: 0xb9}, + {value: 0x4a4d, lo: 0xba, hi: 0xbf}, + // Block 0x54, offset 0x20b + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xaf, hi: 0xaf}, + {value: 0x8132, lo: 0xb4, hi: 0xbd}, + // Block 0x55, offset 0x20e + {value: 0x0000, lo: 0x03}, + {value: 0x020f, lo: 0x9c, hi: 0x9c}, + {value: 0x0212, lo: 0x9d, hi: 0x9d}, + {value: 0x8132, lo: 0x9e, hi: 0x9f}, + // Block 0x56, offset 0x212 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb1}, + // Block 0x57, offset 0x214 + {value: 0x0000, lo: 0x01}, + {value: 0x163b, lo: 0xb0, hi: 0xb0}, + // Block 0x58, offset 0x216 + {value: 0x000c, lo: 0x01}, + {value: 0x00d7, lo: 0xb8, hi: 0xb9}, + // Block 0x59, offset 0x218 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + // Block 0x5a, offset 0x21a + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x84, hi: 0x84}, + {value: 0x8132, lo: 0xa0, hi: 0xb1}, + // Block 0x5b, offset 0x21d + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xab, hi: 0xad}, + // Block 0x5c, offset 0x21f + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x93, hi: 0x93}, + // Block 0x5d, offset 0x221 + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0xb3, hi: 0xb3}, + // Block 0x5e, offset 0x223 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + // Block 0x5f, offset 0x225 + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0xb0, hi: 0xb0}, + {value: 0x8132, lo: 0xb2, hi: 0xb3}, + {value: 0x812d, lo: 0xb4, hi: 0xb4}, + {value: 0x8132, lo: 0xb7, hi: 0xb8}, + {value: 0x8132, lo: 0xbe, hi: 0xbf}, + // Block 0x60, offset 0x22b + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x81, hi: 0x81}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + // Block 0x61, offset 0x22e + {value: 0x0008, lo: 0x03}, + {value: 0x1637, lo: 0x9c, hi: 0x9d}, + {value: 0x0125, lo: 0x9e, hi: 0x9e}, + {value: 0x1643, lo: 0x9f, hi: 0x9f}, + // Block 0x62, offset 0x232 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xad, hi: 0xad}, + // Block 0x63, offset 0x234 + {value: 0x0000, lo: 0x06}, + {value: 0xe500, lo: 0x80, hi: 0x80}, + {value: 0xc600, lo: 0x81, hi: 0x9b}, + {value: 0xe500, lo: 0x9c, hi: 0x9c}, + {value: 0xc600, lo: 0x9d, hi: 0xb7}, + {value: 0xe500, lo: 0xb8, hi: 0xb8}, + {value: 0xc600, lo: 0xb9, hi: 0xbf}, + // Block 0x64, offset 0x23b + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x93}, + {value: 0xe500, lo: 0x94, hi: 0x94}, + {value: 0xc600, lo: 0x95, hi: 0xaf}, + {value: 0xe500, lo: 0xb0, hi: 0xb0}, + {value: 0xc600, lo: 0xb1, hi: 0xbf}, + // Block 0x65, offset 0x241 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8b}, + {value: 0xe500, lo: 0x8c, hi: 0x8c}, + {value: 0xc600, lo: 0x8d, hi: 0xa7}, + {value: 0xe500, lo: 0xa8, hi: 0xa8}, + {value: 0xc600, lo: 0xa9, hi: 0xbf}, + // Block 0x66, offset 0x247 + {value: 0x0000, lo: 0x07}, + {value: 0xc600, lo: 0x80, hi: 0x83}, + {value: 0xe500, lo: 0x84, hi: 0x84}, + {value: 0xc600, lo: 0x85, hi: 0x9f}, + {value: 0xe500, lo: 0xa0, hi: 0xa0}, + {value: 0xc600, lo: 0xa1, hi: 0xbb}, + {value: 0xe500, lo: 0xbc, hi: 0xbc}, + {value: 0xc600, lo: 0xbd, hi: 0xbf}, + // Block 0x67, offset 0x24f + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x97}, + {value: 0xe500, lo: 0x98, hi: 0x98}, + {value: 0xc600, lo: 0x99, hi: 0xb3}, + {value: 0xe500, lo: 0xb4, hi: 0xb4}, + {value: 0xc600, lo: 0xb5, hi: 0xbf}, + // Block 0x68, offset 0x255 + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x8f}, + {value: 0xe500, lo: 0x90, hi: 0x90}, + {value: 0xc600, lo: 0x91, hi: 0xab}, + {value: 0xe500, lo: 0xac, hi: 0xac}, + {value: 0xc600, lo: 0xad, hi: 0xbf}, + // Block 0x69, offset 0x25b + {value: 0x0000, lo: 0x05}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + {value: 0xe500, lo: 0xa4, hi: 0xa4}, + {value: 0xc600, lo: 0xa5, hi: 0xbf}, + // Block 0x6a, offset 0x261 + {value: 0x0000, lo: 0x03}, + {value: 0xc600, lo: 0x80, hi: 0x87}, + {value: 0xe500, lo: 0x88, hi: 0x88}, + {value: 0xc600, lo: 0x89, hi: 0xa3}, + // Block 0x6b, offset 0x265 + {value: 0x0002, lo: 0x01}, + {value: 0x0003, lo: 0x81, hi: 0xbf}, + // Block 0x6c, offset 0x267 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xbd, hi: 0xbd}, + // Block 0x6d, offset 0x269 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0xa0, hi: 0xa0}, + // Block 0x6e, offset 0x26b + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb6, hi: 0xba}, + // Block 0x6f, offset 0x26d + {value: 0x002c, lo: 0x05}, + {value: 0x812d, lo: 0x8d, hi: 0x8d}, + {value: 0x8132, lo: 0x8f, hi: 0x8f}, + {value: 0x8132, lo: 0xb8, hi: 0xb8}, + {value: 0x8101, lo: 0xb9, hi: 0xba}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x70, offset 0x273 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0xa5, hi: 0xa5}, + {value: 0x812d, lo: 0xa6, hi: 0xa6}, + // Block 0x71, offset 0x276 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x86, hi: 0x86}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x72, offset 0x279 + {value: 0x17fe, lo: 0x07}, + {value: 0xa000, lo: 0x99, hi: 0x99}, + {value: 0x4238, lo: 0x9a, hi: 0x9a}, + {value: 0xa000, lo: 0x9b, hi: 0x9b}, + {value: 0x4242, lo: 0x9c, hi: 0x9c}, + {value: 0xa000, lo: 0xa5, hi: 0xa5}, + {value: 0x424c, lo: 0xab, hi: 0xab}, + {value: 0x8104, lo: 0xb9, hi: 0xba}, + // Block 0x73, offset 0x281 + {value: 0x0000, lo: 0x06}, + {value: 0x8132, lo: 0x80, hi: 0x82}, + {value: 0x9900, lo: 0xa7, hi: 0xa7}, + {value: 0x2d7e, lo: 0xae, hi: 0xae}, + {value: 0x2d88, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb1, hi: 0xb2}, + {value: 0x8104, lo: 0xb3, hi: 0xb4}, + // Block 0x74, offset 0x288 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x80, hi: 0x80}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x75, offset 0x28b + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb5, hi: 0xb5}, + {value: 0x8102, lo: 0xb6, hi: 0xb6}, + // Block 0x76, offset 0x28e + {value: 0x0002, lo: 0x01}, + {value: 0x8102, lo: 0xa9, hi: 0xaa}, + // Block 0x77, offset 0x290 + {value: 0x0000, lo: 0x07}, + {value: 0xa000, lo: 0x87, hi: 0x87}, + {value: 0x2d92, lo: 0x8b, hi: 0x8b}, + {value: 0x2d9c, lo: 0x8c, hi: 0x8c}, + {value: 0x8104, lo: 0x8d, hi: 0x8d}, + {value: 0x9900, lo: 0x97, hi: 0x97}, + {value: 0x8132, lo: 0xa6, hi: 0xac}, + {value: 0x8132, lo: 0xb0, hi: 0xb4}, + // Block 0x78, offset 0x298 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x86, hi: 0x86}, + // Block 0x79, offset 0x29b + {value: 0x6b5a, lo: 0x06}, + {value: 0x9900, lo: 0xb0, hi: 0xb0}, + {value: 0xa000, lo: 0xb9, hi: 0xb9}, + {value: 0x9900, lo: 0xba, hi: 0xba}, + {value: 0x2db0, lo: 0xbb, hi: 0xbb}, + {value: 0x2da6, lo: 0xbc, hi: 0xbd}, + {value: 0x2dba, lo: 0xbe, hi: 0xbe}, + // Block 0x7a, offset 0x2a2 + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0x82, hi: 0x82}, + {value: 0x8102, lo: 0x83, hi: 0x83}, + // Block 0x7b, offset 0x2a5 + {value: 0x0000, lo: 0x05}, + {value: 0x9900, lo: 0xaf, hi: 0xaf}, + {value: 0xa000, lo: 0xb8, hi: 0xb9}, + {value: 0x2dc4, lo: 0xba, hi: 0xba}, + {value: 0x2dce, lo: 0xbb, hi: 0xbb}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7c, offset 0x2ab + {value: 0x0000, lo: 0x01}, + {value: 0x8102, lo: 0x80, hi: 0x80}, + // Block 0x7d, offset 0x2ad + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xbf, hi: 0xbf}, + // Block 0x7e, offset 0x2af + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xb6, hi: 0xb6}, + {value: 0x8102, lo: 0xb7, hi: 0xb7}, + // Block 0x7f, offset 0x2b2 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xab, hi: 0xab}, + // Block 0x80, offset 0x2b4 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0xb0, hi: 0xb4}, + // Block 0x81, offset 0x2b6 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0xb0, hi: 0xb6}, + // Block 0x82, offset 0x2b8 + {value: 0x0000, lo: 0x01}, + {value: 0x8101, lo: 0x9e, hi: 0x9e}, + // Block 0x83, offset 0x2ba + {value: 0x0000, lo: 0x0c}, + {value: 0x45cc, lo: 0x9e, hi: 0x9e}, + {value: 0x45d6, lo: 0x9f, hi: 0x9f}, + {value: 0x460a, lo: 0xa0, hi: 0xa0}, + {value: 0x4618, lo: 0xa1, hi: 0xa1}, + {value: 0x4626, lo: 0xa2, hi: 0xa2}, + {value: 0x4634, lo: 0xa3, hi: 0xa3}, + {value: 0x4642, lo: 0xa4, hi: 0xa4}, + {value: 0x812b, lo: 0xa5, hi: 0xa6}, + {value: 0x8101, lo: 0xa7, hi: 0xa9}, + {value: 0x8130, lo: 0xad, hi: 0xad}, + {value: 0x812b, lo: 0xae, hi: 0xb2}, + {value: 0x812d, lo: 0xbb, hi: 0xbf}, + // Block 0x84, offset 0x2c7 + {value: 0x0000, lo: 0x09}, + {value: 0x812d, lo: 0x80, hi: 0x82}, + {value: 0x8132, lo: 0x85, hi: 0x89}, + {value: 0x812d, lo: 0x8a, hi: 0x8b}, + {value: 0x8132, lo: 0xaa, hi: 0xad}, + {value: 0x45e0, lo: 0xbb, hi: 0xbb}, + {value: 0x45ea, lo: 0xbc, hi: 0xbc}, + {value: 0x4650, lo: 0xbd, hi: 0xbd}, + {value: 0x466c, lo: 0xbe, hi: 0xbe}, + {value: 0x465e, lo: 0xbf, hi: 0xbf}, + // Block 0x85, offset 0x2d1 + {value: 0x0000, lo: 0x01}, + {value: 0x467a, lo: 0x80, hi: 0x80}, + // Block 0x86, offset 0x2d3 + {value: 0x0000, lo: 0x01}, + {value: 0x8132, lo: 0x82, hi: 0x84}, + // Block 0x87, offset 0x2d5 + {value: 0x0002, lo: 0x03}, + {value: 0x0043, lo: 0x80, hi: 0x99}, + {value: 0x0083, lo: 0x9a, hi: 0xb3}, + {value: 0x0043, lo: 0xb4, hi: 0xbf}, + // Block 0x88, offset 0x2d9 + {value: 0x0002, lo: 0x04}, + {value: 0x005b, lo: 0x80, hi: 0x8d}, + {value: 0x0083, lo: 0x8e, hi: 0x94}, + {value: 0x0093, lo: 0x96, hi: 0xa7}, + {value: 0x0043, lo: 0xa8, hi: 0xbf}, + // Block 0x89, offset 0x2de + {value: 0x0002, lo: 0x0b}, + {value: 0x0073, lo: 0x80, hi: 0x81}, + {value: 0x0083, lo: 0x82, hi: 0x9b}, + {value: 0x0043, lo: 0x9c, hi: 0x9c}, + {value: 0x0047, lo: 0x9e, hi: 0x9f}, + {value: 0x004f, lo: 0xa2, hi: 0xa2}, + {value: 0x0055, lo: 0xa5, hi: 0xa6}, + {value: 0x005d, lo: 0xa9, hi: 0xac}, + {value: 0x0067, lo: 0xae, hi: 0xb5}, + {value: 0x0083, lo: 0xb6, hi: 0xb9}, + {value: 0x008d, lo: 0xbb, hi: 0xbb}, + {value: 0x0091, lo: 0xbd, hi: 0xbf}, + // Block 0x8a, offset 0x2ea + {value: 0x0002, lo: 0x04}, + {value: 0x0097, lo: 0x80, hi: 0x83}, + {value: 0x00a1, lo: 0x85, hi: 0x8f}, + {value: 0x0043, lo: 0x90, hi: 0xa9}, + {value: 0x0083, lo: 0xaa, hi: 0xbf}, + // Block 0x8b, offset 0x2ef + {value: 0x0002, lo: 0x08}, + {value: 0x00af, lo: 0x80, hi: 0x83}, + {value: 0x0043, lo: 0x84, hi: 0x85}, + {value: 0x0049, lo: 0x87, hi: 0x8a}, + {value: 0x0055, lo: 0x8d, hi: 0x94}, + {value: 0x0067, lo: 0x96, hi: 0x9c}, + {value: 0x0083, lo: 0x9e, hi: 0xb7}, + {value: 0x0043, lo: 0xb8, hi: 0xb9}, + {value: 0x0049, lo: 0xbb, hi: 0xbe}, + // Block 0x8c, offset 0x2f8 + {value: 0x0002, lo: 0x05}, + {value: 0x0053, lo: 0x80, hi: 0x84}, + {value: 0x005f, lo: 0x86, hi: 0x86}, + {value: 0x0067, lo: 0x8a, hi: 0x90}, + {value: 0x0083, lo: 0x92, hi: 0xab}, + {value: 0x0043, lo: 0xac, hi: 0xbf}, + // Block 0x8d, offset 0x2fe + {value: 0x0002, lo: 0x04}, + {value: 0x006b, lo: 0x80, hi: 0x85}, + {value: 0x0083, lo: 0x86, hi: 0x9f}, + {value: 0x0043, lo: 0xa0, hi: 0xb9}, + {value: 0x0083, lo: 0xba, hi: 0xbf}, + // Block 0x8e, offset 0x303 + {value: 0x0002, lo: 0x03}, + {value: 0x008f, lo: 0x80, hi: 0x93}, + {value: 0x0043, lo: 0x94, hi: 0xad}, + {value: 0x0083, lo: 0xae, hi: 0xbf}, + // Block 0x8f, offset 0x307 + {value: 0x0002, lo: 0x04}, + {value: 0x00a7, lo: 0x80, hi: 0x87}, + {value: 0x0043, lo: 0x88, hi: 0xa1}, + {value: 0x0083, lo: 0xa2, hi: 0xbb}, + {value: 0x0043, lo: 0xbc, hi: 0xbf}, + // Block 0x90, offset 0x30c + {value: 0x0002, lo: 0x03}, + {value: 0x004b, lo: 0x80, hi: 0x95}, + {value: 0x0083, lo: 0x96, hi: 0xaf}, + {value: 0x0043, lo: 0xb0, hi: 0xbf}, + // Block 0x91, offset 0x310 + {value: 0x0003, lo: 0x0f}, + {value: 0x01b8, lo: 0x80, hi: 0x80}, + {value: 0x045f, lo: 0x81, hi: 0x81}, + {value: 0x01bb, lo: 0x82, hi: 0x9a}, + {value: 0x045b, lo: 0x9b, hi: 0x9b}, + {value: 0x01c7, lo: 0x9c, hi: 0x9c}, + {value: 0x01d0, lo: 0x9d, hi: 0x9d}, + {value: 0x01d6, lo: 0x9e, hi: 0x9e}, + {value: 0x01fa, lo: 0x9f, hi: 0x9f}, + {value: 0x01eb, lo: 0xa0, hi: 0xa0}, + {value: 0x01e8, lo: 0xa1, hi: 0xa1}, + {value: 0x0173, lo: 0xa2, hi: 0xb2}, + {value: 0x0188, lo: 0xb3, hi: 0xb3}, + {value: 0x01a6, lo: 0xb4, hi: 0xba}, + {value: 0x045f, lo: 0xbb, hi: 0xbb}, + {value: 0x01bb, lo: 0xbc, hi: 0xbf}, + // Block 0x92, offset 0x320 + {value: 0x0003, lo: 0x0d}, + {value: 0x01c7, lo: 0x80, hi: 0x94}, + {value: 0x045b, lo: 0x95, hi: 0x95}, + {value: 0x01c7, lo: 0x96, hi: 0x96}, + {value: 0x01d0, lo: 0x97, hi: 0x97}, + {value: 0x01d6, lo: 0x98, hi: 0x98}, + {value: 0x01fa, lo: 0x99, hi: 0x99}, + {value: 0x01eb, lo: 0x9a, hi: 0x9a}, + {value: 0x01e8, lo: 0x9b, hi: 0x9b}, + {value: 0x0173, lo: 0x9c, hi: 0xac}, + {value: 0x0188, lo: 0xad, hi: 0xad}, + {value: 0x01a6, lo: 0xae, hi: 0xb4}, + {value: 0x045f, lo: 0xb5, hi: 0xb5}, + {value: 0x01bb, lo: 0xb6, hi: 0xbf}, + // Block 0x93, offset 0x32e + {value: 0x0003, lo: 0x0d}, + {value: 0x01d9, lo: 0x80, hi: 0x8e}, + {value: 0x045b, lo: 0x8f, hi: 0x8f}, + {value: 0x01c7, lo: 0x90, hi: 0x90}, + {value: 0x01d0, lo: 0x91, hi: 0x91}, + {value: 0x01d6, lo: 0x92, hi: 0x92}, + {value: 0x01fa, lo: 0x93, hi: 0x93}, + {value: 0x01eb, lo: 0x94, hi: 0x94}, + {value: 0x01e8, lo: 0x95, hi: 0x95}, + {value: 0x0173, lo: 0x96, hi: 0xa6}, + {value: 0x0188, lo: 0xa7, hi: 0xa7}, + {value: 0x01a6, lo: 0xa8, hi: 0xae}, + {value: 0x045f, lo: 0xaf, hi: 0xaf}, + {value: 0x01bb, lo: 0xb0, hi: 0xbf}, + // Block 0x94, offset 0x33c + {value: 0x0003, lo: 0x0d}, + {value: 0x01eb, lo: 0x80, hi: 0x88}, + {value: 0x045b, lo: 0x89, hi: 0x89}, + {value: 0x01c7, lo: 0x8a, hi: 0x8a}, + {value: 0x01d0, lo: 0x8b, hi: 0x8b}, + {value: 0x01d6, lo: 0x8c, hi: 0x8c}, + {value: 0x01fa, lo: 0x8d, hi: 0x8d}, + {value: 0x01eb, lo: 0x8e, hi: 0x8e}, + {value: 0x01e8, lo: 0x8f, hi: 0x8f}, + {value: 0x0173, lo: 0x90, hi: 0xa0}, + {value: 0x0188, lo: 0xa1, hi: 0xa1}, + {value: 0x01a6, lo: 0xa2, hi: 0xa8}, + {value: 0x045f, lo: 0xa9, hi: 0xa9}, + {value: 0x01bb, lo: 0xaa, hi: 0xbf}, + // Block 0x95, offset 0x34a + {value: 0x0000, lo: 0x05}, + {value: 0x8132, lo: 0x80, hi: 0x86}, + {value: 0x8132, lo: 0x88, hi: 0x98}, + {value: 0x8132, lo: 0x9b, hi: 0xa1}, + {value: 0x8132, lo: 0xa3, hi: 0xa4}, + {value: 0x8132, lo: 0xa6, hi: 0xaa}, + // Block 0x96, offset 0x350 + {value: 0x0000, lo: 0x01}, + {value: 0x812d, lo: 0x90, hi: 0x96}, + // Block 0x97, offset 0x352 + {value: 0x0000, lo: 0x02}, + {value: 0x8132, lo: 0x84, hi: 0x89}, + {value: 0x8102, lo: 0x8a, hi: 0x8a}, + // Block 0x98, offset 0x355 + {value: 0x0002, lo: 0x09}, + {value: 0x0063, lo: 0x80, hi: 0x89}, + {value: 0x1951, lo: 0x8a, hi: 0x8a}, + {value: 0x1981, lo: 0x8b, hi: 0x8b}, + {value: 0x199c, lo: 0x8c, hi: 0x8c}, + {value: 0x19a2, lo: 0x8d, hi: 0x8d}, + {value: 0x1bc0, lo: 0x8e, hi: 0x8e}, + {value: 0x19ae, lo: 0x8f, hi: 0x8f}, + {value: 0x197b, lo: 0xaa, hi: 0xaa}, + {value: 0x197e, lo: 0xab, hi: 0xab}, + // Block 0x99, offset 0x35f + {value: 0x0000, lo: 0x01}, + {value: 0x193f, lo: 0x90, hi: 0x90}, + // Block 0x9a, offset 0x361 + {value: 0x0028, lo: 0x09}, + {value: 0x2862, lo: 0x80, hi: 0x80}, + {value: 0x2826, lo: 0x81, hi: 0x81}, + {value: 0x2830, lo: 0x82, hi: 0x82}, + {value: 0x2844, lo: 0x83, hi: 0x84}, + {value: 0x284e, lo: 0x85, hi: 0x86}, + {value: 0x283a, lo: 0x87, hi: 0x87}, + {value: 0x2858, lo: 0x88, hi: 0x88}, + {value: 0x0b6f, lo: 0x90, hi: 0x90}, + {value: 0x08e7, lo: 0x91, hi: 0x91}, +} + +// recompMap: 7520 bytes (entries only) +var recompMap map[uint32]rune +var recompMapOnce sync.Once + +const recompMapPacked = "" + + "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 + "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 + "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 + "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 + "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 + "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 + "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 + "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 + "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 + "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA + "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB + "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC + "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD + "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE + "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF + "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 + "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 + "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 + "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 + "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 + "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 + "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 + "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA + "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB + "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC + "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD + "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 + "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 + "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 + "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 + "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 + "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 + "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 + "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 + "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 + "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA + "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB + "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC + "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED + "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE + "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF + "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 + "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 + "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 + "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 + "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 + "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 + "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 + "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA + "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB + "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC + "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD + "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF + "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 + "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 + "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 + "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 + "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 + "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 + "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 + "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 + "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 + "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 + "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A + "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B + "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C + "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D + "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E + "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F + "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 + "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 + "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 + "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 + "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 + "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 + "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 + "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 + "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A + "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B + "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C + "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D + "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E + "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F + "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 + "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 + "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 + "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 + "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 + "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 + "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 + "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 + "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A + "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B + "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C + "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D + "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E + "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F + "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 + "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 + "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 + "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 + "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 + "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 + "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A + "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B + "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C + "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D + "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E + "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 + "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 + "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 + "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 + "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 + "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 + "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C + "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D + "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E + "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F + "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 + "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 + "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 + "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 + "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 + "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 + "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 + "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 + "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A + "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B + "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C + "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D + "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E + "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F + "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 + "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 + "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 + "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 + "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 + "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 + "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 + "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 + "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A + "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B + "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C + "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D + "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E + "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F + "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 + "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 + "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 + "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 + "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 + "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 + "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 + "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 + "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 + "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 + "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A + "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B + "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C + "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D + "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E + "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 + "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 + "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF + "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 + "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD + "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE + "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF + "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 + "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 + "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 + "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 + "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 + "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 + "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 + "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 + "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 + "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 + "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA + "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB + "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC + "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE + "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF + "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 + "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 + "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 + "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 + "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 + "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 + "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 + "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 + "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA + "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB + "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC + "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED + "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE + "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF + "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 + "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 + "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 + "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 + "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 + "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA + "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB + "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC + "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD + "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE + "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF + "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 + "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 + "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 + "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 + "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 + "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 + "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 + "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 + "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 + "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 + "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A + "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B + "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C + "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D + "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E + "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F + "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 + "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 + "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 + "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 + "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 + "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 + "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 + "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 + "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 + "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 + "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A + "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B + "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E + "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F + "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 + "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 + "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 + "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 + "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A + "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B + "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C + "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D + "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E + "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F + "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 + "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 + "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 + "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 + "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 + "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 + "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 + "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 + "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A + "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C + "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E + "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F + "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 + "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA + "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB + "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC + "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD + "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE + "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF + "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 + "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA + "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB + "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC + "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD + "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE + "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 + "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 + "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 + "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 + "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 + "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 + "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C + "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D + "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E + "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 + "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 + "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 + "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 + "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 + "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 + "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C + "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D + "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E + "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 + "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 + "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 + "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 + "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 + "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 + "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 + "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 + "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 + "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 + "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA + "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB + "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC + "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD + "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE + "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF + "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 + "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 + "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 + "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 + "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 + "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 + "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA + "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB + "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC + "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED + "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE + "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF + "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 + "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 + "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 + "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 + "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 + "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 + "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 + "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 + "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 + "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 + "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 + "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 + "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 + "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 + "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 + "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 + "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 + "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 + "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 + "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB + "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC + "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 + "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B + "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C + "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 + "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA + "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB + "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC + "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 + "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 + "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 + "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 + "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA + "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB + "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A + "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B + "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C + "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA + "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC + "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD + "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE + "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 + "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 + "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 + "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A + "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C + "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E + "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 + "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B + "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D + "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 + "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 + "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 + "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 + "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 + "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 + "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 + "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 + "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 + "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 + "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 + "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 + "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 + "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A + "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B + "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C + "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D + "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E + "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F + "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 + "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 + "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 + "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 + "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 + "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 + "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 + "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 + "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 + "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 + "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A + "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B + "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C + "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D + "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E + "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F + "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 + "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 + "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 + "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 + "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 + "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 + "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 + "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 + "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 + "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 + "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A + "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B + "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C + "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D + "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E + "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F + "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 + "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 + "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 + "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 + "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 + "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 + "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 + "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 + "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 + "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 + "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A + "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B + "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C + "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D + "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E + "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F + "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 + "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 + "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 + "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 + "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 + "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 + "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 + "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 + "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 + "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 + "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A + "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B + "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C + "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D + "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E + "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F + "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 + "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 + "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 + "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 + "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 + "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 + "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 + "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 + "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 + "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 + "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A + "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B + "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C + "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D + "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E + "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F + "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 + "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 + "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 + "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 + "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 + "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 + "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 + "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 + "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 + "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 + "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A + "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B + "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C + "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D + "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E + "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F + "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 + "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 + "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 + "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 + "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 + "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 + "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 + "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 + "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 + "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 + "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A + "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B + "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C + "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D + "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E + "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F + "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 + "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 + "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 + "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 + "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 + "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 + "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 + "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 + "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 + "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 + "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A + "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B + "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C + "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D + "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E + "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F + "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 + "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 + "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 + "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 + "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 + "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 + "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 + "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 + "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 + "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 + "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B + "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 + "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 + "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 + "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 + "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 + "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 + "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 + "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 + "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 + "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 + "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA + "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB + "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC + "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD + "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE + "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF + "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 + "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 + "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 + "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 + "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 + "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 + "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 + "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 + "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 + "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 + "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA + "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB + "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC + "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD + "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE + "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF + "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 + "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 + "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 + "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 + "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 + "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 + "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 + "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 + "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 + "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 + "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA + "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB + "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC + "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD + "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE + "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF + "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 + "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 + "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 + "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 + "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 + "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 + "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 + "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 + "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 + "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 + "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA + "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB + "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC + "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD + "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE + "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF + "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 + "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 + "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 + "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 + "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 + "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 + "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 + "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 + "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 + "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 + "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA + "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB + "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC + "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED + "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE + "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF + "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 + "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 + "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 + "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 + "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 + "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 + "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 + "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 + "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 + "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 + "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 + "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 + "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 + "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 + "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 + "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 + "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 + "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 + "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 + "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 + "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A + "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B + "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C + "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D + "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E + "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F + "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 + "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 + "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 + "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 + "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 + "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 + "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 + "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 + "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A + "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B + "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C + "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D + "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 + "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 + "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 + "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 + "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 + "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 + "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 + "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 + "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 + "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 + "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A + "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B + "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C + "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D + "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E + "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F + "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 + "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 + "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 + "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 + "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 + "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 + "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 + "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 + "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 + "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 + "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A + "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B + "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C + "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D + "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E + "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F + "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 + "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 + "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 + "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 + "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 + "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 + "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 + "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 + "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A + "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B + "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C + "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D + "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 + "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 + "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 + "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 + "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 + "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 + "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 + "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 + "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 + "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B + "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D + "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F + "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 + "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 + "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 + "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 + "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 + "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 + "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 + "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 + "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 + "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 + "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A + "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B + "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C + "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D + "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E + "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F + "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 + "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 + "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 + "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 + "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 + "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A + "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C + "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 + "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 + "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 + "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 + "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 + "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 + "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 + "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 + "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 + "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 + "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A + "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B + "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C + "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D + "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E + "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F + "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 + "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 + "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 + "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 + "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 + "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 + "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 + "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 + "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 + "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 + "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A + "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B + "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C + "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D + "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E + "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F + "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 + "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 + "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 + "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 + "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 + "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 + "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 + "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 + "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 + "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 + "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA + "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB + "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC + "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD + "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE + "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF + "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 + "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 + "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 + "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 + "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 + "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 + "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 + "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 + "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 + "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA + "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC + "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 + "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 + "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 + "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 + "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 + "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 + "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 + "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA + "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC + "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD + "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE + "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF + "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 + "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 + "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 + "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 + "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 + "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 + "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 + "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA + "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD + "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE + "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF + "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 + "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 + "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 + "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 + "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 + "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 + "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 + "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 + "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 + "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA + "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC + "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED + "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 + "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 + "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 + "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 + "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 + "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 + "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA + "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC + "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A + "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B + "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE + "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD + "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE + "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF + "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 + "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 + "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C + "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 + "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 + "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 + "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 + "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 + "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 + "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 + "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 + "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D + "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E + "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F + "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 + "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 + "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 + "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 + "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 + "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 + "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 + "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 + "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 + "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 + "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 + "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 + "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC + "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD + "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE + "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF + "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 + "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 + "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 + "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 + "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA + "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB + "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC + "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED + "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C + "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E + "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 + "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 + "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 + "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 + "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 + "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A + "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C + "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E + "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 + "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 + "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 + "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 + "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 + "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 + "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 + "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 + "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 + "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 + "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 + "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 + "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A + "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C + "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D + "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 + "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E + "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC + "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE + "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 + "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 + "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 + "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 + "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 + "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA + "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC + "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE + "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 + "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 + "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 + "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 + "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 + "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 + "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 + "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 + "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 + "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 + "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 + "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 + "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA + "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC + "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD + "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 + "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 + "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 + "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 + "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA + "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE + "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A + "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C + "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB + "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E + "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F + "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B + "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C + "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB + "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC + "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE + "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA + "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB + "" + // Total size of tables: 53KB (54006 bytes) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/transform.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/transform.go new file mode 100644 index 0000000..a1d366a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/transform.go @@ -0,0 +1,88 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +// Reset implements the Reset method of the transform.Transformer interface. +func (Form) Reset() {} + +// Transform implements the Transform method of the transform.Transformer +// interface. It may need to write segments of up to MaxSegmentSize at once. +// Users should either catch ErrShortDst and allow dst to grow or have dst be at +// least of size MaxTransformChunkSize to be guaranteed of progress. +func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + // Cap the maximum number of src bytes to check. + b := src + eof := atEOF + if ns := len(dst); ns < len(b) { + err = transform.ErrShortDst + eof = false + b = b[:ns] + } + i, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), eof) + n := copy(dst, b[:i]) + if !ok { + nDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF) + return nDst + n, nSrc + n, err + } + + if err == nil && n < len(src) && !atEOF { + err = transform.ErrShortSrc + } + return n, n, err +} + +func flushTransform(rb *reorderBuffer) bool { + // Write out (must fully fit in dst, or else it is an ErrShortDst). + if len(rb.out) < rb.nrune*utf8.UTFMax { + return false + } + rb.out = rb.out[rb.flushCopy(rb.out):] + return true +} + +var errs = []error{nil, transform.ErrShortDst, transform.ErrShortSrc} + +// transform implements the transform.Transformer interface. It is only called +// when quickSpan does not pass for a given string. +func (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + // TODO: get rid of reorderBuffer. See CL 23460044. + rb := reorderBuffer{} + rb.init(f, src) + for { + // Load segment into reorder buffer. + rb.setFlusher(dst[nDst:], flushTransform) + end := decomposeSegment(&rb, nSrc, atEOF) + if end < 0 { + return nDst, nSrc, errs[-end] + } + nDst = len(dst) - len(rb.out) + nSrc = end + + // Next quickSpan. + end = rb.nsrc + eof := atEOF + if n := nSrc + len(dst) - nDst; n < end { + err = transform.ErrShortDst + end = n + eof = false + } + end, ok := rb.f.quickSpan(rb.src, nSrc, end, eof) + n := copy(dst[nDst:], rb.src.bytes[nSrc:end]) + nSrc += n + nDst += n + if ok { + if err == nil && n < rb.nsrc && !atEOF { + err = transform.ErrShortSrc + } + return nDst, nSrc, err + } + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/trie.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/trie.go new file mode 100644 index 0000000..423386b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/unicode/norm/trie.go @@ -0,0 +1,54 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package norm + +type valueRange struct { + value uint16 // header: value:stride + lo, hi byte // header: lo:n +} + +type sparseBlocks struct { + values []valueRange + offset []uint16 +} + +var nfcSparse = sparseBlocks{ + values: nfcSparseValues[:], + offset: nfcSparseOffset[:], +} + +var nfkcSparse = sparseBlocks{ + values: nfkcSparseValues[:], + offset: nfkcSparseOffset[:], +} + +var ( + nfcData = newNfcTrie(0) + nfkcData = newNfkcTrie(0) +) + +// lookupValue determines the type of block n and looks up the value for b. +// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block +// is a list of ranges with an accompanying value. Given a matching range r, +// the value for b is by r.value + (b - r.lo) * stride. +func (t *sparseBlocks) lookup(n uint32, b byte) uint16 { + offset := t.offset[n] + header := t.values[offset] + lo := offset + 1 + hi := lo + uint16(header.lo) + for lo < hi { + m := lo + (hi-lo)/2 + r := t.values[m] + if r.lo <= b && b <= r.hi { + return r.value + uint16(b-r.lo)*header.value + } + if b < r.lo { + hi = m + } else { + lo = m + 1 + } + } + return 0 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/kind_string.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/kind_string.go new file mode 100644 index 0000000..dd3febd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/kind_string.go @@ -0,0 +1,28 @@ +// Code generated by "stringer -type=Kind"; DO NOT EDIT. + +package width + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[Neutral-0] + _ = x[EastAsianAmbiguous-1] + _ = x[EastAsianWide-2] + _ = x[EastAsianNarrow-3] + _ = x[EastAsianFullwidth-4] + _ = x[EastAsianHalfwidth-5] +} + +const _Kind_name = "NeutralEastAsianAmbiguousEastAsianWideEastAsianNarrowEastAsianFullwidthEastAsianHalfwidth" + +var _Kind_index = [...]uint8{0, 7, 25, 38, 53, 71, 89} + +func (i Kind) String() string { + if i < 0 || i >= Kind(len(_Kind_index)-1) { + return "Kind(" + strconv.FormatInt(int64(i), 10) + ")" + } + return _Kind_name[_Kind_index[i]:_Kind_index[i+1]] +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables10.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables10.0.0.go new file mode 100644 index 0000000..decb8e4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables10.0.0.go @@ -0,0 +1,1318 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.10,!go1.13 + +package width + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// widthTrie. Total size: 14336 bytes (14.00 KiB). Checksum: c59df54630d3dc4a. +type widthTrie struct{} + +func newWidthTrie(i int) *widthTrie { + return &widthTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { + switch { + default: + return uint16(widthValues[n<<6+uint32(b)]) + } +} + +// widthValues: 101 blocks, 6464 entries, 12928 bytes +// The third block is the zero block. +var widthValues = [6464]uint16{ + // Block 0x0, offset 0x0 + 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, + 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, + 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, + 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, + 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, + 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, + // Block 0x1, offset 0x40 + 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, + 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, + 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, + 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, + 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, + 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, + 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, + 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, + 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, + 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, + 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, + 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, + 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, + 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, + 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, + 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, + // Block 0x4, offset 0x100 + 0x106: 0x2000, + 0x110: 0x2000, + 0x117: 0x2000, + 0x118: 0x2000, + 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, + 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, + 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, + 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, + 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, + 0x13c: 0x2000, 0x13e: 0x2000, + // Block 0x5, offset 0x140 + 0x141: 0x2000, + 0x151: 0x2000, + 0x153: 0x2000, + 0x15b: 0x2000, + 0x166: 0x2000, 0x167: 0x2000, + 0x16b: 0x2000, + 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, + 0x178: 0x2000, + 0x17f: 0x2000, + // Block 0x6, offset 0x180 + 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, + 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, + 0x18d: 0x2000, + 0x192: 0x2000, 0x193: 0x2000, + 0x1a6: 0x2000, 0x1a7: 0x2000, + 0x1ab: 0x2000, + // Block 0x7, offset 0x1c0 + 0x1ce: 0x2000, 0x1d0: 0x2000, + 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, + 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, + // Block 0x8, offset 0x200 + 0x211: 0x2000, + 0x221: 0x2000, + // Block 0x9, offset 0x240 + 0x244: 0x2000, + 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, + 0x24d: 0x2000, 0x250: 0x2000, + 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, + 0x25f: 0x2000, + // Block 0xa, offset 0x280 + 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, + 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, + 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, + 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, + 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, + 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, + 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, + 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, + 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, + 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, + 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, + 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, + 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, + 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, + 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, + 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, + 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, + 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, + // Block 0xc, offset 0x300 + 0x311: 0x2000, + 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, + 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, + 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, + 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, + 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, + 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, + 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, + // Block 0xd, offset 0x340 + 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, + 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, + // Block 0xe, offset 0x380 + 0x381: 0x2000, + 0x390: 0x2000, 0x391: 0x2000, + 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, + 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, + 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, + 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, + 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, + 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, + 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, + 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, + 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, + 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, + // Block 0x10, offset 0x400 + 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, + 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, + 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, + 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, + 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, + 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, + 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, + 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, + 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, + 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, + 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, + // Block 0x11, offset 0x440 + 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, + 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, + 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, + 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, + 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, + 0x45e: 0x4000, 0x45f: 0x4000, + // Block 0x12, offset 0x480 + 0x490: 0x2000, + 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, + 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, + 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, + 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, + 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, + 0x4bb: 0x2000, + 0x4be: 0x2000, + // Block 0x13, offset 0x4c0 + 0x4f4: 0x2000, + 0x4ff: 0x2000, + // Block 0x14, offset 0x500 + 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, + 0x529: 0xa009, + 0x52c: 0x2000, + // Block 0x15, offset 0x540 + 0x543: 0x2000, 0x545: 0x2000, + 0x549: 0x2000, + 0x553: 0x2000, 0x556: 0x2000, + 0x561: 0x2000, 0x562: 0x2000, + 0x566: 0x2000, + 0x56b: 0x2000, + // Block 0x16, offset 0x580 + 0x593: 0x2000, 0x594: 0x2000, + 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, + 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, + 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, + 0x5aa: 0x2000, 0x5ab: 0x2000, + 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, + 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, + // Block 0x17, offset 0x5c0 + 0x5c9: 0x2000, + 0x5d0: 0x200a, 0x5d1: 0x200b, + 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, + 0x5d8: 0x2000, 0x5d9: 0x2000, + 0x5f8: 0x2000, 0x5f9: 0x2000, + // Block 0x18, offset 0x600 + 0x612: 0x2000, 0x614: 0x2000, + 0x627: 0x2000, + // Block 0x19, offset 0x640 + 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, + 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, + 0x64f: 0x2000, 0x651: 0x2000, + 0x655: 0x2000, + 0x65a: 0x2000, 0x65d: 0x2000, + 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, + 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, + 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, + 0x674: 0x2000, 0x675: 0x2000, + 0x676: 0x2000, 0x677: 0x2000, + 0x67c: 0x2000, 0x67d: 0x2000, + // Block 0x1a, offset 0x680 + 0x688: 0x2000, + 0x68c: 0x2000, + 0x692: 0x2000, + 0x6a0: 0x2000, 0x6a1: 0x2000, + 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, + 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, + // Block 0x1b, offset 0x6c0 + 0x6c2: 0x2000, 0x6c3: 0x2000, + 0x6c6: 0x2000, 0x6c7: 0x2000, + 0x6d5: 0x2000, + 0x6d9: 0x2000, + 0x6e5: 0x2000, + 0x6ff: 0x2000, + // Block 0x1c, offset 0x700 + 0x712: 0x2000, + 0x71a: 0x4000, 0x71b: 0x4000, + 0x729: 0x4000, + 0x72a: 0x4000, + // Block 0x1d, offset 0x740 + 0x769: 0x4000, + 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, + 0x770: 0x4000, 0x773: 0x4000, + // Block 0x1e, offset 0x780 + 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, + 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, + 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, + 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, + 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, + 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, + 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, + 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, + 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, + 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, + 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, + 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, + 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, + 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, + 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, + 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, + // Block 0x20, offset 0x800 + 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, + 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, + 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, + 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, + 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, + 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, + 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, + 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, + 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, + 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, + 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, + // Block 0x21, offset 0x840 + 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, + 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, + 0x850: 0x2000, 0x851: 0x2000, + 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, + 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, + 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, + 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, + 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, + 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, + // Block 0x22, offset 0x880 + 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, + 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, + 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, + 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, + 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, + 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, + 0x8b2: 0x2000, 0x8b3: 0x2000, + 0x8b6: 0x2000, 0x8b7: 0x2000, + 0x8bc: 0x2000, 0x8bd: 0x2000, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x2000, 0x8c1: 0x2000, + 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, + 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, + 0x8e2: 0x2000, 0x8e3: 0x2000, + 0x8e4: 0x2000, 0x8e5: 0x2000, + 0x8ef: 0x2000, + 0x8fd: 0x4000, 0x8fe: 0x4000, + // Block 0x24, offset 0x900 + 0x905: 0x2000, + 0x906: 0x2000, 0x909: 0x2000, + 0x90e: 0x2000, 0x90f: 0x2000, + 0x914: 0x4000, 0x915: 0x4000, + 0x91c: 0x2000, + 0x91e: 0x2000, + // Block 0x25, offset 0x940 + 0x940: 0x2000, 0x942: 0x2000, + 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, + 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, + 0x952: 0x4000, 0x953: 0x4000, + 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, + 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, + 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, + 0x97f: 0x4000, + // Block 0x26, offset 0x980 + 0x993: 0x4000, + 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, + 0x9aa: 0x4000, 0x9ab: 0x4000, + 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, + // Block 0x27, offset 0x9c0 + 0x9c4: 0x4000, 0x9c5: 0x4000, + 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, + 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, + 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, + 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, + 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, + 0x9e8: 0x2000, 0x9e9: 0x2000, + 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, + 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, + 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, + 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, + // Block 0x28, offset 0xa00 + 0xa05: 0x4000, + 0xa0a: 0x4000, 0xa0b: 0x4000, + 0xa28: 0x4000, + 0xa3d: 0x2000, + // Block 0x29, offset 0xa40 + 0xa4c: 0x4000, 0xa4e: 0x4000, + 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, + 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, + 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, + // Block 0x2a, offset 0xa80 + 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, + 0xab0: 0x4000, + 0xabf: 0x4000, + // Block 0x2b, offset 0xac0 + 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, + 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, + // Block 0x2c, offset 0xb00 + 0xb05: 0x6010, + 0xb06: 0x6011, + // Block 0x2d, offset 0xb40 + 0xb5b: 0x4000, 0xb5c: 0x4000, + // Block 0x2e, offset 0xb80 + 0xb90: 0x4000, + 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, + 0xb98: 0x2000, 0xb99: 0x2000, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, + 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, + 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, + 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, + 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, + 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, + 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, + 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, + 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, + 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, + 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, + // Block 0x30, offset 0xc00 + 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, + 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, + 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, + 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, + 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, + 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, + 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, + 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, + 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, + // Block 0x31, offset 0xc40 + 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, + 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, + 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, + 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, + 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, + 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, + // Block 0x32, offset 0xc80 + 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, + 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, + 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, + 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, + 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, + 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, + 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, + 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, + 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, + 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, + 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, + // Block 0x33, offset 0xcc0 + 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, + 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, + 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, + 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, + 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, + 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, + 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, + 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, + 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, + 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, + 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, + // Block 0x34, offset 0xd00 + 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, + 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, + 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, + 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, + 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, + 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, + 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, + 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, + 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, + 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, + 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, + // Block 0x35, offset 0xd40 + 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, + 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, + 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, + 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, + 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, + 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, + 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, + 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, + 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, + 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, + 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, + // Block 0x36, offset 0xd80 + 0xd85: 0x4000, + 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, + 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, + 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, + 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, + 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, + 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, + 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000, + 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, + 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, + 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, + 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, + 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, + 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, + 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, + 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, + 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, + 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, + 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, + 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, + 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, + // Block 0x38, offset 0xe00 + 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, + 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, + 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, + 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, + 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, + 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, + 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, + 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, + 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, + 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, + // Block 0x39, offset 0xe40 + 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, + 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, + 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, + 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, + 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, + 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, + 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, + 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, + 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, + // Block 0x3a, offset 0xe80 + 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, + 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, + 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, + 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, + 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, + 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, + 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, + 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, + 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, + 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, + 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, + // Block 0x3b, offset 0xec0 + 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, + 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, + 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, + 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, + 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, + 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, + 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, + 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, + 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, + 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, + 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, + // Block 0x3c, offset 0xf00 + 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, + 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, + 0xf0c: 0x4000, 0xf0d: 0x4000, 0xf0e: 0x4000, 0xf0f: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, + 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, + 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, + 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, + 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, + 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, + 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, + 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, + 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, + // Block 0x3d, offset 0xf40 + 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, + 0xf46: 0x4000, 0xf47: 0x4000, 0xf48: 0x4000, 0xf49: 0x4000, 0xf4a: 0x4000, 0xf4b: 0x4000, + 0xf4c: 0x4000, 0xf50: 0x4000, 0xf51: 0x4000, + 0xf52: 0x4000, 0xf53: 0x4000, 0xf54: 0x4000, 0xf55: 0x4000, 0xf56: 0x4000, 0xf57: 0x4000, + 0xf58: 0x4000, 0xf59: 0x4000, 0xf5a: 0x4000, 0xf5b: 0x4000, 0xf5c: 0x4000, 0xf5d: 0x4000, + 0xf5e: 0x4000, 0xf5f: 0x4000, 0xf60: 0x4000, 0xf61: 0x4000, 0xf62: 0x4000, 0xf63: 0x4000, + 0xf64: 0x4000, 0xf65: 0x4000, 0xf66: 0x4000, 0xf67: 0x4000, 0xf68: 0x4000, 0xf69: 0x4000, + 0xf6a: 0x4000, 0xf6b: 0x4000, 0xf6c: 0x4000, 0xf6d: 0x4000, 0xf6e: 0x4000, 0xf6f: 0x4000, + 0xf70: 0x4000, 0xf71: 0x4000, 0xf72: 0x4000, 0xf73: 0x4000, 0xf74: 0x4000, 0xf75: 0x4000, + 0xf76: 0x4000, 0xf77: 0x4000, 0xf78: 0x4000, 0xf79: 0x4000, 0xf7a: 0x4000, 0xf7b: 0x4000, + 0xf7c: 0x4000, 0xf7d: 0x4000, 0xf7e: 0x4000, 0xf7f: 0x4000, + // Block 0x3e, offset 0xf80 + 0xf80: 0x4000, 0xf81: 0x4000, 0xf82: 0x4000, 0xf83: 0x4000, 0xf84: 0x4000, 0xf85: 0x4000, + 0xf86: 0x4000, + // Block 0x3f, offset 0xfc0 + 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, + 0xfe4: 0x4000, 0xfe5: 0x4000, 0xfe6: 0x4000, 0xfe7: 0x4000, 0xfe8: 0x4000, 0xfe9: 0x4000, + 0xfea: 0x4000, 0xfeb: 0x4000, 0xfec: 0x4000, 0xfed: 0x4000, 0xfee: 0x4000, 0xfef: 0x4000, + 0xff0: 0x4000, 0xff1: 0x4000, 0xff2: 0x4000, 0xff3: 0x4000, 0xff4: 0x4000, 0xff5: 0x4000, + 0xff6: 0x4000, 0xff7: 0x4000, 0xff8: 0x4000, 0xff9: 0x4000, 0xffa: 0x4000, 0xffb: 0x4000, + 0xffc: 0x4000, + // Block 0x40, offset 0x1000 + 0x1000: 0x4000, 0x1001: 0x4000, 0x1002: 0x4000, 0x1003: 0x4000, 0x1004: 0x4000, 0x1005: 0x4000, + 0x1006: 0x4000, 0x1007: 0x4000, 0x1008: 0x4000, 0x1009: 0x4000, 0x100a: 0x4000, 0x100b: 0x4000, + 0x100c: 0x4000, 0x100d: 0x4000, 0x100e: 0x4000, 0x100f: 0x4000, 0x1010: 0x4000, 0x1011: 0x4000, + 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, + 0x1018: 0x4000, 0x1019: 0x4000, 0x101a: 0x4000, 0x101b: 0x4000, 0x101c: 0x4000, 0x101d: 0x4000, + 0x101e: 0x4000, 0x101f: 0x4000, 0x1020: 0x4000, 0x1021: 0x4000, 0x1022: 0x4000, 0x1023: 0x4000, + // Block 0x41, offset 0x1040 + 0x1040: 0x2000, 0x1041: 0x2000, 0x1042: 0x2000, 0x1043: 0x2000, 0x1044: 0x2000, 0x1045: 0x2000, + 0x1046: 0x2000, 0x1047: 0x2000, 0x1048: 0x2000, 0x1049: 0x2000, 0x104a: 0x2000, 0x104b: 0x2000, + 0x104c: 0x2000, 0x104d: 0x2000, 0x104e: 0x2000, 0x104f: 0x2000, 0x1050: 0x4000, 0x1051: 0x4000, + 0x1052: 0x4000, 0x1053: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, + 0x1058: 0x4000, 0x1059: 0x4000, + 0x1070: 0x4000, 0x1071: 0x4000, 0x1072: 0x4000, 0x1073: 0x4000, 0x1074: 0x4000, 0x1075: 0x4000, + 0x1076: 0x4000, 0x1077: 0x4000, 0x1078: 0x4000, 0x1079: 0x4000, 0x107a: 0x4000, 0x107b: 0x4000, + 0x107c: 0x4000, 0x107d: 0x4000, 0x107e: 0x4000, 0x107f: 0x4000, + // Block 0x42, offset 0x1080 + 0x1080: 0x4000, 0x1081: 0x4000, 0x1082: 0x4000, 0x1083: 0x4000, 0x1084: 0x4000, 0x1085: 0x4000, + 0x1086: 0x4000, 0x1087: 0x4000, 0x1088: 0x4000, 0x1089: 0x4000, 0x108a: 0x4000, 0x108b: 0x4000, + 0x108c: 0x4000, 0x108d: 0x4000, 0x108e: 0x4000, 0x108f: 0x4000, 0x1090: 0x4000, 0x1091: 0x4000, + 0x1092: 0x4000, 0x1094: 0x4000, 0x1095: 0x4000, 0x1096: 0x4000, 0x1097: 0x4000, + 0x1098: 0x4000, 0x1099: 0x4000, 0x109a: 0x4000, 0x109b: 0x4000, 0x109c: 0x4000, 0x109d: 0x4000, + 0x109e: 0x4000, 0x109f: 0x4000, 0x10a0: 0x4000, 0x10a1: 0x4000, 0x10a2: 0x4000, 0x10a3: 0x4000, + 0x10a4: 0x4000, 0x10a5: 0x4000, 0x10a6: 0x4000, 0x10a8: 0x4000, 0x10a9: 0x4000, + 0x10aa: 0x4000, 0x10ab: 0x4000, + // Block 0x43, offset 0x10c0 + 0x10c1: 0x9012, 0x10c2: 0x9012, 0x10c3: 0x9012, 0x10c4: 0x9012, 0x10c5: 0x9012, + 0x10c6: 0x9012, 0x10c7: 0x9012, 0x10c8: 0x9012, 0x10c9: 0x9012, 0x10ca: 0x9012, 0x10cb: 0x9012, + 0x10cc: 0x9012, 0x10cd: 0x9012, 0x10ce: 0x9012, 0x10cf: 0x9012, 0x10d0: 0x9012, 0x10d1: 0x9012, + 0x10d2: 0x9012, 0x10d3: 0x9012, 0x10d4: 0x9012, 0x10d5: 0x9012, 0x10d6: 0x9012, 0x10d7: 0x9012, + 0x10d8: 0x9012, 0x10d9: 0x9012, 0x10da: 0x9012, 0x10db: 0x9012, 0x10dc: 0x9012, 0x10dd: 0x9012, + 0x10de: 0x9012, 0x10df: 0x9012, 0x10e0: 0x9049, 0x10e1: 0x9049, 0x10e2: 0x9049, 0x10e3: 0x9049, + 0x10e4: 0x9049, 0x10e5: 0x9049, 0x10e6: 0x9049, 0x10e7: 0x9049, 0x10e8: 0x9049, 0x10e9: 0x9049, + 0x10ea: 0x9049, 0x10eb: 0x9049, 0x10ec: 0x9049, 0x10ed: 0x9049, 0x10ee: 0x9049, 0x10ef: 0x9049, + 0x10f0: 0x9049, 0x10f1: 0x9049, 0x10f2: 0x9049, 0x10f3: 0x9049, 0x10f4: 0x9049, 0x10f5: 0x9049, + 0x10f6: 0x9049, 0x10f7: 0x9049, 0x10f8: 0x9049, 0x10f9: 0x9049, 0x10fa: 0x9049, 0x10fb: 0x9049, + 0x10fc: 0x9049, 0x10fd: 0x9049, 0x10fe: 0x9049, 0x10ff: 0x9049, + // Block 0x44, offset 0x1100 + 0x1100: 0x9049, 0x1101: 0x9049, 0x1102: 0x9049, 0x1103: 0x9049, 0x1104: 0x9049, 0x1105: 0x9049, + 0x1106: 0x9049, 0x1107: 0x9049, 0x1108: 0x9049, 0x1109: 0x9049, 0x110a: 0x9049, 0x110b: 0x9049, + 0x110c: 0x9049, 0x110d: 0x9049, 0x110e: 0x9049, 0x110f: 0x9049, 0x1110: 0x9049, 0x1111: 0x9049, + 0x1112: 0x9049, 0x1113: 0x9049, 0x1114: 0x9049, 0x1115: 0x9049, 0x1116: 0x9049, 0x1117: 0x9049, + 0x1118: 0x9049, 0x1119: 0x9049, 0x111a: 0x9049, 0x111b: 0x9049, 0x111c: 0x9049, 0x111d: 0x9049, + 0x111e: 0x9049, 0x111f: 0x904a, 0x1120: 0x904b, 0x1121: 0xb04c, 0x1122: 0xb04d, 0x1123: 0xb04d, + 0x1124: 0xb04e, 0x1125: 0xb04f, 0x1126: 0xb050, 0x1127: 0xb051, 0x1128: 0xb052, 0x1129: 0xb053, + 0x112a: 0xb054, 0x112b: 0xb055, 0x112c: 0xb056, 0x112d: 0xb057, 0x112e: 0xb058, 0x112f: 0xb059, + 0x1130: 0xb05a, 0x1131: 0xb05b, 0x1132: 0xb05c, 0x1133: 0xb05d, 0x1134: 0xb05e, 0x1135: 0xb05f, + 0x1136: 0xb060, 0x1137: 0xb061, 0x1138: 0xb062, 0x1139: 0xb063, 0x113a: 0xb064, 0x113b: 0xb065, + 0x113c: 0xb052, 0x113d: 0xb066, 0x113e: 0xb067, 0x113f: 0xb055, + // Block 0x45, offset 0x1140 + 0x1140: 0xb068, 0x1141: 0xb069, 0x1142: 0xb06a, 0x1143: 0xb06b, 0x1144: 0xb05a, 0x1145: 0xb056, + 0x1146: 0xb06c, 0x1147: 0xb06d, 0x1148: 0xb06b, 0x1149: 0xb06e, 0x114a: 0xb06b, 0x114b: 0xb06f, + 0x114c: 0xb06f, 0x114d: 0xb070, 0x114e: 0xb070, 0x114f: 0xb071, 0x1150: 0xb056, 0x1151: 0xb072, + 0x1152: 0xb073, 0x1153: 0xb072, 0x1154: 0xb074, 0x1155: 0xb073, 0x1156: 0xb075, 0x1157: 0xb075, + 0x1158: 0xb076, 0x1159: 0xb076, 0x115a: 0xb077, 0x115b: 0xb077, 0x115c: 0xb073, 0x115d: 0xb078, + 0x115e: 0xb079, 0x115f: 0xb067, 0x1160: 0xb07a, 0x1161: 0xb07b, 0x1162: 0xb07b, 0x1163: 0xb07b, + 0x1164: 0xb07b, 0x1165: 0xb07b, 0x1166: 0xb07b, 0x1167: 0xb07b, 0x1168: 0xb07b, 0x1169: 0xb07b, + 0x116a: 0xb07b, 0x116b: 0xb07b, 0x116c: 0xb07b, 0x116d: 0xb07b, 0x116e: 0xb07b, 0x116f: 0xb07b, + 0x1170: 0xb07c, 0x1171: 0xb07c, 0x1172: 0xb07c, 0x1173: 0xb07c, 0x1174: 0xb07c, 0x1175: 0xb07c, + 0x1176: 0xb07c, 0x1177: 0xb07c, 0x1178: 0xb07c, 0x1179: 0xb07c, 0x117a: 0xb07c, 0x117b: 0xb07c, + 0x117c: 0xb07c, 0x117d: 0xb07c, 0x117e: 0xb07c, + // Block 0x46, offset 0x1180 + 0x1182: 0xb07d, 0x1183: 0xb07e, 0x1184: 0xb07f, 0x1185: 0xb080, + 0x1186: 0xb07f, 0x1187: 0xb07e, 0x118a: 0xb081, 0x118b: 0xb082, + 0x118c: 0xb083, 0x118d: 0xb07f, 0x118e: 0xb080, 0x118f: 0xb07f, + 0x1192: 0xb084, 0x1193: 0xb085, 0x1194: 0xb084, 0x1195: 0xb086, 0x1196: 0xb084, 0x1197: 0xb087, + 0x119a: 0xb088, 0x119b: 0xb089, 0x119c: 0xb08a, + 0x11a0: 0x908b, 0x11a1: 0x908b, 0x11a2: 0x908c, 0x11a3: 0x908d, + 0x11a4: 0x908b, 0x11a5: 0x908e, 0x11a6: 0x908f, 0x11a8: 0xb090, 0x11a9: 0xb091, + 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, + 0x11bd: 0x2000, + // Block 0x47, offset 0x11c0 + 0x11e0: 0x4000, 0x11e1: 0x4000, + // Block 0x48, offset 0x1200 + 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, + 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, + 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, + 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, 0x1216: 0x4000, 0x1217: 0x4000, + 0x1218: 0x4000, 0x1219: 0x4000, 0x121a: 0x4000, 0x121b: 0x4000, 0x121c: 0x4000, 0x121d: 0x4000, + 0x121e: 0x4000, 0x121f: 0x4000, 0x1220: 0x4000, 0x1221: 0x4000, 0x1222: 0x4000, 0x1223: 0x4000, + 0x1224: 0x4000, 0x1225: 0x4000, 0x1226: 0x4000, 0x1227: 0x4000, 0x1228: 0x4000, 0x1229: 0x4000, + 0x122a: 0x4000, 0x122b: 0x4000, 0x122c: 0x4000, + // Block 0x49, offset 0x1240 + 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, + 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, 0x1249: 0x4000, 0x124a: 0x4000, 0x124b: 0x4000, + 0x124c: 0x4000, 0x124d: 0x4000, 0x124e: 0x4000, 0x124f: 0x4000, 0x1250: 0x4000, 0x1251: 0x4000, + 0x1252: 0x4000, 0x1253: 0x4000, 0x1254: 0x4000, 0x1255: 0x4000, 0x1256: 0x4000, 0x1257: 0x4000, + 0x1258: 0x4000, 0x1259: 0x4000, 0x125a: 0x4000, 0x125b: 0x4000, 0x125c: 0x4000, 0x125d: 0x4000, + 0x125e: 0x4000, 0x125f: 0x4000, 0x1260: 0x4000, 0x1261: 0x4000, 0x1262: 0x4000, 0x1263: 0x4000, + 0x1264: 0x4000, 0x1265: 0x4000, 0x1266: 0x4000, 0x1267: 0x4000, 0x1268: 0x4000, 0x1269: 0x4000, + 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, + 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, + // Block 0x4a, offset 0x1280 + 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000, + 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000, + 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000, + 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000, + 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000, + 0x129e: 0x4000, + // Block 0x4b, offset 0x12c0 + 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000, + 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000, + 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000, + // Block 0x4c, offset 0x1300 + 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000, + 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000, + 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000, + 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000, + 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000, + 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000, + 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000, + 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000, + 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000, + 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000, + // Block 0x4d, offset 0x1340 + 0x1344: 0x4000, + // Block 0x4e, offset 0x1380 + 0x138f: 0x4000, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, + 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, + 0x13d0: 0x2000, 0x13d1: 0x2000, + 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000, + 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, + 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, + 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, + 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000, + 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000, + 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000, + 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000, + // Block 0x50, offset 0x1400 + 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000, + 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000, + 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000, + 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000, + 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000, + 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000, + 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000, + 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000, + 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000, + 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000, + // Block 0x51, offset 0x1440 + 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000, + 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000, + 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000, + 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000, + 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000, + 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000, + 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000, + 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000, + // Block 0x52, offset 0x1480 + 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, + 0x1490: 0x4000, 0x1491: 0x4000, + 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, + 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, + 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000, + 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000, + 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, + 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, + 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, + 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, + 0x14d0: 0x4000, 0x14d1: 0x4000, + 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, + 0x14e4: 0x4000, 0x14e5: 0x4000, + // Block 0x54, offset 0x1500 + 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, + 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, + 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, + 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000, + 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000, + 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000, + 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, + 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, + 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, + 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, + // Block 0x55, offset 0x1540 + 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, + 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000, + 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, + 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000, + 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000, + 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, + 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, + 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, + 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000, + 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, + 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, + // Block 0x56, offset 0x1580 + 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, + 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, + 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, + 0x1592: 0x4000, 0x1593: 0x4000, + 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, + 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, + 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, + 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, + 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, + 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, + 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, + 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, + 0x15d2: 0x4000, 0x15d3: 0x4000, + 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, + 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, + 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, + 0x15f0: 0x4000, 0x15f4: 0x4000, + 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, + 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000, + // Block 0x58, offset 0x1600 + 0x1600: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, + 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, + 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, + 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, + 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, + 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, + 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, + 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, + 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, + 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, + 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, 0x163f: 0x4000, + // Block 0x59, offset 0x1640 + 0x1640: 0x4000, 0x1641: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000, + 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000, + 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, + 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, + 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, + 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, + 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000, + 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000, + 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000, + 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000, + 0x167c: 0x4000, 0x167f: 0x4000, + // Block 0x5a, offset 0x1680 + 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000, + 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000, + 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000, + 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000, + 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000, + 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000, + 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000, + 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000, + 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000, + 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000, + 0x16bc: 0x4000, 0x16bd: 0x4000, + // Block 0x5b, offset 0x16c0 + 0x16cb: 0x4000, + 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000, + 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000, + 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000, + 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000, + 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000, + 0x16fa: 0x4000, + // Block 0x5c, offset 0x1700 + 0x1715: 0x4000, 0x1716: 0x4000, + 0x1724: 0x4000, + // Block 0x5d, offset 0x1740 + 0x177b: 0x4000, + 0x177c: 0x4000, 0x177d: 0x4000, 0x177e: 0x4000, 0x177f: 0x4000, + // Block 0x5e, offset 0x1780 + 0x1780: 0x4000, 0x1781: 0x4000, 0x1782: 0x4000, 0x1783: 0x4000, 0x1784: 0x4000, 0x1785: 0x4000, + 0x1786: 0x4000, 0x1787: 0x4000, 0x1788: 0x4000, 0x1789: 0x4000, 0x178a: 0x4000, 0x178b: 0x4000, + 0x178c: 0x4000, 0x178d: 0x4000, 0x178e: 0x4000, 0x178f: 0x4000, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, + 0x17cc: 0x4000, 0x17d0: 0x4000, 0x17d1: 0x4000, + 0x17d2: 0x4000, + 0x17eb: 0x4000, 0x17ec: 0x4000, + 0x17f4: 0x4000, 0x17f5: 0x4000, + 0x17f6: 0x4000, 0x17f7: 0x4000, 0x17f8: 0x4000, + // Block 0x60, offset 0x1800 + 0x1810: 0x4000, 0x1811: 0x4000, + 0x1812: 0x4000, 0x1813: 0x4000, 0x1814: 0x4000, 0x1815: 0x4000, 0x1816: 0x4000, 0x1817: 0x4000, + 0x1818: 0x4000, 0x1819: 0x4000, 0x181a: 0x4000, 0x181b: 0x4000, 0x181c: 0x4000, 0x181d: 0x4000, + 0x181e: 0x4000, 0x181f: 0x4000, 0x1820: 0x4000, 0x1821: 0x4000, 0x1822: 0x4000, 0x1823: 0x4000, + 0x1824: 0x4000, 0x1825: 0x4000, 0x1826: 0x4000, 0x1827: 0x4000, 0x1828: 0x4000, 0x1829: 0x4000, + 0x182a: 0x4000, 0x182b: 0x4000, 0x182c: 0x4000, 0x182d: 0x4000, 0x182e: 0x4000, 0x182f: 0x4000, + 0x1830: 0x4000, 0x1831: 0x4000, 0x1832: 0x4000, 0x1833: 0x4000, 0x1834: 0x4000, 0x1835: 0x4000, + 0x1836: 0x4000, 0x1837: 0x4000, 0x1838: 0x4000, 0x1839: 0x4000, 0x183a: 0x4000, 0x183b: 0x4000, + 0x183c: 0x4000, 0x183d: 0x4000, 0x183e: 0x4000, + // Block 0x61, offset 0x1840 + 0x1840: 0x4000, 0x1841: 0x4000, 0x1842: 0x4000, 0x1843: 0x4000, 0x1844: 0x4000, 0x1845: 0x4000, + 0x1846: 0x4000, 0x1847: 0x4000, 0x1848: 0x4000, 0x1849: 0x4000, 0x184a: 0x4000, 0x184b: 0x4000, + 0x184c: 0x4000, 0x1850: 0x4000, 0x1851: 0x4000, + 0x1852: 0x4000, 0x1853: 0x4000, 0x1854: 0x4000, 0x1855: 0x4000, 0x1856: 0x4000, 0x1857: 0x4000, + 0x1858: 0x4000, 0x1859: 0x4000, 0x185a: 0x4000, 0x185b: 0x4000, 0x185c: 0x4000, 0x185d: 0x4000, + 0x185e: 0x4000, 0x185f: 0x4000, 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000, + 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000, + 0x186a: 0x4000, 0x186b: 0x4000, + // Block 0x62, offset 0x1880 + 0x1880: 0x4000, 0x1881: 0x4000, 0x1882: 0x4000, 0x1883: 0x4000, 0x1884: 0x4000, 0x1885: 0x4000, + 0x1886: 0x4000, 0x1887: 0x4000, 0x1888: 0x4000, 0x1889: 0x4000, 0x188a: 0x4000, 0x188b: 0x4000, + 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000, + 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x4000, + 0x18d0: 0x4000, 0x18d1: 0x4000, + 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000, + 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000, + 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, 0x18e3: 0x4000, + 0x18e4: 0x4000, 0x18e5: 0x4000, 0x18e6: 0x4000, + // Block 0x64, offset 0x1900 + 0x1900: 0x2000, 0x1901: 0x2000, 0x1902: 0x2000, 0x1903: 0x2000, 0x1904: 0x2000, 0x1905: 0x2000, + 0x1906: 0x2000, 0x1907: 0x2000, 0x1908: 0x2000, 0x1909: 0x2000, 0x190a: 0x2000, 0x190b: 0x2000, + 0x190c: 0x2000, 0x190d: 0x2000, 0x190e: 0x2000, 0x190f: 0x2000, 0x1910: 0x2000, 0x1911: 0x2000, + 0x1912: 0x2000, 0x1913: 0x2000, 0x1914: 0x2000, 0x1915: 0x2000, 0x1916: 0x2000, 0x1917: 0x2000, + 0x1918: 0x2000, 0x1919: 0x2000, 0x191a: 0x2000, 0x191b: 0x2000, 0x191c: 0x2000, 0x191d: 0x2000, + 0x191e: 0x2000, 0x191f: 0x2000, 0x1920: 0x2000, 0x1921: 0x2000, 0x1922: 0x2000, 0x1923: 0x2000, + 0x1924: 0x2000, 0x1925: 0x2000, 0x1926: 0x2000, 0x1927: 0x2000, 0x1928: 0x2000, 0x1929: 0x2000, + 0x192a: 0x2000, 0x192b: 0x2000, 0x192c: 0x2000, 0x192d: 0x2000, 0x192e: 0x2000, 0x192f: 0x2000, + 0x1930: 0x2000, 0x1931: 0x2000, 0x1932: 0x2000, 0x1933: 0x2000, 0x1934: 0x2000, 0x1935: 0x2000, + 0x1936: 0x2000, 0x1937: 0x2000, 0x1938: 0x2000, 0x1939: 0x2000, 0x193a: 0x2000, 0x193b: 0x2000, + 0x193c: 0x2000, 0x193d: 0x2000, +} + +// widthIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var widthIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, + 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, + 0xd0: 0x0c, 0xd1: 0x0d, + 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, + 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, + 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, + // Block 0x4, offset 0x100 + 0x104: 0x0e, 0x105: 0x0f, + // Block 0x5, offset 0x140 + 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, + 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, + 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, + 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, + 0x166: 0x2a, + 0x16c: 0x2b, 0x16d: 0x2c, + 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, + // Block 0x6, offset 0x180 + 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, + 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x3a, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, + 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, + 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, + 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, + 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, + 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, + 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, + 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, + 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, + 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, + 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, + 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, + 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, + 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, + // Block 0x8, offset 0x200 + 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, + 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, + 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, + 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, + 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, + 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, + 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, + 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, + // Block 0x9, offset 0x240 + 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, + 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, + 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3b, 0x253: 0x3c, + 0x265: 0x3d, + 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, + 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, + // Block 0xa, offset 0x280 + 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, + 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, + 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, + 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3e, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, + 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, + 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, + 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, + 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, + 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, + 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, + 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, + // Block 0xc, offset 0x300 + 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, + 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, + 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, + 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, + 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, + 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, + 0x338: 0x3f, 0x339: 0x40, 0x33c: 0x41, 0x33d: 0x42, 0x33e: 0x43, 0x33f: 0x44, + // Block 0xd, offset 0x340 + 0x37f: 0x45, + // Block 0xe, offset 0x380 + 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, + 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, + 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, + 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x46, + 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, + 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e, + 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a, + // Block 0x10, offset 0x400 + 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f, + 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55, + 0x410: 0x3a, 0x411: 0x56, 0x412: 0x0e, 0x413: 0x57, 0x414: 0x58, 0x415: 0x59, 0x416: 0x5a, 0x417: 0x5b, + 0x418: 0x0e, 0x419: 0x5c, 0x41a: 0x0e, 0x41b: 0x5d, + 0x424: 0x5e, 0x425: 0x5f, 0x426: 0x60, 0x427: 0x61, + // Block 0x11, offset 0x440 + 0x456: 0x0b, 0x457: 0x06, + 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, + 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, + 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, + 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, + 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, + // Block 0x12, offset 0x480 + 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, + 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, + 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, + 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, + 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, + 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, + 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, + 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x62, + // Block 0x14, offset 0x500 + 0x520: 0x10, + 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, + 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, + // Block 0x15, offset 0x540 + 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, + 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, +} + +// inverseData contains 4-byte entries of the following format: +// <0 padding> +// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the +// UTF-8 encoding of the original rune. Mappings often have the following +// pattern: +// A -> A (U+FF21 -> U+0041) +// B -> B (U+FF22 -> U+0042) +// ... +// By xor-ing the last byte the same entry can be shared by many mappings. This +// reduces the total number of distinct entries by about two thirds. +// The resulting entry for the aforementioned mappings is +// { 0x01, 0xE0, 0x00, 0x00 } +// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get +// E0 ^ A1 = 41. +// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get +// E0 ^ A2 = 42. +// Note that because of the xor-ing, the byte sequence stored in the entry is +// not valid UTF-8. +var inverseData = [150][4]byte{ + {0x00, 0x00, 0x00, 0x00}, + {0x03, 0xe3, 0x80, 0xa0}, + {0x03, 0xef, 0xbc, 0xa0}, + {0x03, 0xef, 0xbc, 0xe0}, + {0x03, 0xef, 0xbd, 0xe0}, + {0x03, 0xef, 0xbf, 0x02}, + {0x03, 0xef, 0xbf, 0x00}, + {0x03, 0xef, 0xbf, 0x0e}, + {0x03, 0xef, 0xbf, 0x0c}, + {0x03, 0xef, 0xbf, 0x0f}, + {0x03, 0xef, 0xbf, 0x39}, + {0x03, 0xef, 0xbf, 0x3b}, + {0x03, 0xef, 0xbf, 0x3f}, + {0x03, 0xef, 0xbf, 0x2a}, + {0x03, 0xef, 0xbf, 0x0d}, + {0x03, 0xef, 0xbf, 0x25}, + {0x03, 0xef, 0xbd, 0x1a}, + {0x03, 0xef, 0xbd, 0x26}, + {0x01, 0xa0, 0x00, 0x00}, + {0x03, 0xef, 0xbd, 0x25}, + {0x03, 0xef, 0xbd, 0x23}, + {0x03, 0xef, 0xbd, 0x2e}, + {0x03, 0xef, 0xbe, 0x07}, + {0x03, 0xef, 0xbe, 0x05}, + {0x03, 0xef, 0xbd, 0x06}, + {0x03, 0xef, 0xbd, 0x13}, + {0x03, 0xef, 0xbd, 0x0b}, + {0x03, 0xef, 0xbd, 0x16}, + {0x03, 0xef, 0xbd, 0x0c}, + {0x03, 0xef, 0xbd, 0x15}, + {0x03, 0xef, 0xbd, 0x0d}, + {0x03, 0xef, 0xbd, 0x1c}, + {0x03, 0xef, 0xbd, 0x02}, + {0x03, 0xef, 0xbd, 0x1f}, + {0x03, 0xef, 0xbd, 0x1d}, + {0x03, 0xef, 0xbd, 0x17}, + {0x03, 0xef, 0xbd, 0x08}, + {0x03, 0xef, 0xbd, 0x09}, + {0x03, 0xef, 0xbd, 0x0e}, + {0x03, 0xef, 0xbd, 0x04}, + {0x03, 0xef, 0xbd, 0x05}, + {0x03, 0xef, 0xbe, 0x3f}, + {0x03, 0xef, 0xbe, 0x00}, + {0x03, 0xef, 0xbd, 0x2c}, + {0x03, 0xef, 0xbe, 0x06}, + {0x03, 0xef, 0xbe, 0x0c}, + {0x03, 0xef, 0xbe, 0x0f}, + {0x03, 0xef, 0xbe, 0x0d}, + {0x03, 0xef, 0xbe, 0x0b}, + {0x03, 0xef, 0xbe, 0x19}, + {0x03, 0xef, 0xbe, 0x15}, + {0x03, 0xef, 0xbe, 0x11}, + {0x03, 0xef, 0xbe, 0x31}, + {0x03, 0xef, 0xbe, 0x33}, + {0x03, 0xef, 0xbd, 0x0f}, + {0x03, 0xef, 0xbe, 0x30}, + {0x03, 0xef, 0xbe, 0x3e}, + {0x03, 0xef, 0xbe, 0x32}, + {0x03, 0xef, 0xbe, 0x36}, + {0x03, 0xef, 0xbd, 0x14}, + {0x03, 0xef, 0xbe, 0x2e}, + {0x03, 0xef, 0xbd, 0x1e}, + {0x03, 0xef, 0xbe, 0x10}, + {0x03, 0xef, 0xbf, 0x13}, + {0x03, 0xef, 0xbf, 0x15}, + {0x03, 0xef, 0xbf, 0x17}, + {0x03, 0xef, 0xbf, 0x1f}, + {0x03, 0xef, 0xbf, 0x1d}, + {0x03, 0xef, 0xbf, 0x1b}, + {0x03, 0xef, 0xbf, 0x09}, + {0x03, 0xef, 0xbf, 0x0b}, + {0x03, 0xef, 0xbf, 0x37}, + {0x03, 0xef, 0xbe, 0x04}, + {0x01, 0xe0, 0x00, 0x00}, + {0x03, 0xe2, 0xa6, 0x1a}, + {0x03, 0xe2, 0xa6, 0x26}, + {0x03, 0xe3, 0x80, 0x23}, + {0x03, 0xe3, 0x80, 0x2e}, + {0x03, 0xe3, 0x80, 0x25}, + {0x03, 0xe3, 0x83, 0x1e}, + {0x03, 0xe3, 0x83, 0x14}, + {0x03, 0xe3, 0x82, 0x06}, + {0x03, 0xe3, 0x82, 0x0b}, + {0x03, 0xe3, 0x82, 0x0c}, + {0x03, 0xe3, 0x82, 0x0d}, + {0x03, 0xe3, 0x82, 0x02}, + {0x03, 0xe3, 0x83, 0x0f}, + {0x03, 0xe3, 0x83, 0x08}, + {0x03, 0xe3, 0x83, 0x09}, + {0x03, 0xe3, 0x83, 0x2c}, + {0x03, 0xe3, 0x83, 0x0c}, + {0x03, 0xe3, 0x82, 0x13}, + {0x03, 0xe3, 0x82, 0x16}, + {0x03, 0xe3, 0x82, 0x15}, + {0x03, 0xe3, 0x82, 0x1c}, + {0x03, 0xe3, 0x82, 0x1f}, + {0x03, 0xe3, 0x82, 0x1d}, + {0x03, 0xe3, 0x82, 0x1a}, + {0x03, 0xe3, 0x82, 0x17}, + {0x03, 0xe3, 0x82, 0x08}, + {0x03, 0xe3, 0x82, 0x09}, + {0x03, 0xe3, 0x82, 0x0e}, + {0x03, 0xe3, 0x82, 0x04}, + {0x03, 0xe3, 0x82, 0x05}, + {0x03, 0xe3, 0x82, 0x3f}, + {0x03, 0xe3, 0x83, 0x00}, + {0x03, 0xe3, 0x83, 0x06}, + {0x03, 0xe3, 0x83, 0x05}, + {0x03, 0xe3, 0x83, 0x0d}, + {0x03, 0xe3, 0x83, 0x0b}, + {0x03, 0xe3, 0x83, 0x07}, + {0x03, 0xe3, 0x83, 0x19}, + {0x03, 0xe3, 0x83, 0x15}, + {0x03, 0xe3, 0x83, 0x11}, + {0x03, 0xe3, 0x83, 0x31}, + {0x03, 0xe3, 0x83, 0x33}, + {0x03, 0xe3, 0x83, 0x30}, + {0x03, 0xe3, 0x83, 0x3e}, + {0x03, 0xe3, 0x83, 0x32}, + {0x03, 0xe3, 0x83, 0x36}, + {0x03, 0xe3, 0x83, 0x2e}, + {0x03, 0xe3, 0x82, 0x07}, + {0x03, 0xe3, 0x85, 0x04}, + {0x03, 0xe3, 0x84, 0x10}, + {0x03, 0xe3, 0x85, 0x30}, + {0x03, 0xe3, 0x85, 0x0d}, + {0x03, 0xe3, 0x85, 0x13}, + {0x03, 0xe3, 0x85, 0x15}, + {0x03, 0xe3, 0x85, 0x17}, + {0x03, 0xe3, 0x85, 0x1f}, + {0x03, 0xe3, 0x85, 0x1d}, + {0x03, 0xe3, 0x85, 0x1b}, + {0x03, 0xe3, 0x85, 0x09}, + {0x03, 0xe3, 0x85, 0x0f}, + {0x03, 0xe3, 0x85, 0x0b}, + {0x03, 0xe3, 0x85, 0x37}, + {0x03, 0xe3, 0x85, 0x3b}, + {0x03, 0xe3, 0x85, 0x39}, + {0x03, 0xe3, 0x85, 0x3f}, + {0x02, 0xc2, 0x02, 0x00}, + {0x02, 0xc2, 0x0e, 0x00}, + {0x02, 0xc2, 0x0c, 0x00}, + {0x02, 0xc2, 0x00, 0x00}, + {0x03, 0xe2, 0x82, 0x0f}, + {0x03, 0xe2, 0x94, 0x2a}, + {0x03, 0xe2, 0x86, 0x39}, + {0x03, 0xe2, 0x86, 0x3b}, + {0x03, 0xe2, 0x86, 0x3f}, + {0x03, 0xe2, 0x96, 0x0d}, + {0x03, 0xe2, 0x97, 0x25}, +} + +// Total table size 14936 bytes (14KiB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables11.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables11.0.0.go new file mode 100644 index 0000000..d6def0e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables11.0.0.go @@ -0,0 +1,1330 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package width + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// widthTrie. Total size: 14336 bytes (14.00 KiB). Checksum: c0f7712776e71cd4. +type widthTrie struct{} + +func newWidthTrie(i int) *widthTrie { + return &widthTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { + switch { + default: + return uint16(widthValues[n<<6+uint32(b)]) + } +} + +// widthValues: 101 blocks, 6464 entries, 12928 bytes +// The third block is the zero block. +var widthValues = [6464]uint16{ + // Block 0x0, offset 0x0 + 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, + 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, + 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, + 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, + 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, + 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, + // Block 0x1, offset 0x40 + 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, + 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, + 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, + 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, + 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, + 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, + 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, + 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, + 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, + 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, + 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, + 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, + 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, + 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, + 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, + 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, + // Block 0x4, offset 0x100 + 0x106: 0x2000, + 0x110: 0x2000, + 0x117: 0x2000, + 0x118: 0x2000, + 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, + 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, + 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, + 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, + 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, + 0x13c: 0x2000, 0x13e: 0x2000, + // Block 0x5, offset 0x140 + 0x141: 0x2000, + 0x151: 0x2000, + 0x153: 0x2000, + 0x15b: 0x2000, + 0x166: 0x2000, 0x167: 0x2000, + 0x16b: 0x2000, + 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, + 0x178: 0x2000, + 0x17f: 0x2000, + // Block 0x6, offset 0x180 + 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, + 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, + 0x18d: 0x2000, + 0x192: 0x2000, 0x193: 0x2000, + 0x1a6: 0x2000, 0x1a7: 0x2000, + 0x1ab: 0x2000, + // Block 0x7, offset 0x1c0 + 0x1ce: 0x2000, 0x1d0: 0x2000, + 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, + 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, + // Block 0x8, offset 0x200 + 0x211: 0x2000, + 0x221: 0x2000, + // Block 0x9, offset 0x240 + 0x244: 0x2000, + 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, + 0x24d: 0x2000, 0x250: 0x2000, + 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, + 0x25f: 0x2000, + // Block 0xa, offset 0x280 + 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, + 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, + 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, + 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, + 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, + 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, + 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, + 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, + 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, + 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, + 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, + 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, + 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, + 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, + 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, + 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, + 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, + 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, + // Block 0xc, offset 0x300 + 0x311: 0x2000, + 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, + 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, + 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, + 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, + 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, + 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, + 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, + // Block 0xd, offset 0x340 + 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, + 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, + // Block 0xe, offset 0x380 + 0x381: 0x2000, + 0x390: 0x2000, 0x391: 0x2000, + 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, + 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, + 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, + 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, + 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, + 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, + 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, + 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, + 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, + 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, + // Block 0x10, offset 0x400 + 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, + 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, + 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, + 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, + 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, + 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, + 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, + 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, + 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, + 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, + 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, + // Block 0x11, offset 0x440 + 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, + 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, + 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, + 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, + 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, + 0x45e: 0x4000, 0x45f: 0x4000, + // Block 0x12, offset 0x480 + 0x490: 0x2000, + 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, + 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, + 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, + 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, + 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, + 0x4bb: 0x2000, + 0x4be: 0x2000, + // Block 0x13, offset 0x4c0 + 0x4f4: 0x2000, + 0x4ff: 0x2000, + // Block 0x14, offset 0x500 + 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, + 0x529: 0xa009, + 0x52c: 0x2000, + // Block 0x15, offset 0x540 + 0x543: 0x2000, 0x545: 0x2000, + 0x549: 0x2000, + 0x553: 0x2000, 0x556: 0x2000, + 0x561: 0x2000, 0x562: 0x2000, + 0x566: 0x2000, + 0x56b: 0x2000, + // Block 0x16, offset 0x580 + 0x593: 0x2000, 0x594: 0x2000, + 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, + 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, + 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, + 0x5aa: 0x2000, 0x5ab: 0x2000, + 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, + 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, + // Block 0x17, offset 0x5c0 + 0x5c9: 0x2000, + 0x5d0: 0x200a, 0x5d1: 0x200b, + 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, + 0x5d8: 0x2000, 0x5d9: 0x2000, + 0x5f8: 0x2000, 0x5f9: 0x2000, + // Block 0x18, offset 0x600 + 0x612: 0x2000, 0x614: 0x2000, + 0x627: 0x2000, + // Block 0x19, offset 0x640 + 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, + 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, + 0x64f: 0x2000, 0x651: 0x2000, + 0x655: 0x2000, + 0x65a: 0x2000, 0x65d: 0x2000, + 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, + 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, + 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, + 0x674: 0x2000, 0x675: 0x2000, + 0x676: 0x2000, 0x677: 0x2000, + 0x67c: 0x2000, 0x67d: 0x2000, + // Block 0x1a, offset 0x680 + 0x688: 0x2000, + 0x68c: 0x2000, + 0x692: 0x2000, + 0x6a0: 0x2000, 0x6a1: 0x2000, + 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, + 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, + // Block 0x1b, offset 0x6c0 + 0x6c2: 0x2000, 0x6c3: 0x2000, + 0x6c6: 0x2000, 0x6c7: 0x2000, + 0x6d5: 0x2000, + 0x6d9: 0x2000, + 0x6e5: 0x2000, + 0x6ff: 0x2000, + // Block 0x1c, offset 0x700 + 0x712: 0x2000, + 0x71a: 0x4000, 0x71b: 0x4000, + 0x729: 0x4000, + 0x72a: 0x4000, + // Block 0x1d, offset 0x740 + 0x769: 0x4000, + 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, + 0x770: 0x4000, 0x773: 0x4000, + // Block 0x1e, offset 0x780 + 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, + 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, + 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, + 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, + 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, + 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, + 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, + 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, + 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, + 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, + 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, + 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, + 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, + 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, + 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, + 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, + // Block 0x20, offset 0x800 + 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, + 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, + 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, + 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, + 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, + 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, + 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, + 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, + 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, + 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, + 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, + // Block 0x21, offset 0x840 + 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, + 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, + 0x850: 0x2000, 0x851: 0x2000, + 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, + 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, + 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, + 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, + 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, + 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, + // Block 0x22, offset 0x880 + 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, + 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, + 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, + 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, + 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, + 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, + 0x8b2: 0x2000, 0x8b3: 0x2000, + 0x8b6: 0x2000, 0x8b7: 0x2000, + 0x8bc: 0x2000, 0x8bd: 0x2000, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x2000, 0x8c1: 0x2000, + 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, + 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, + 0x8e2: 0x2000, 0x8e3: 0x2000, + 0x8e4: 0x2000, 0x8e5: 0x2000, + 0x8ef: 0x2000, + 0x8fd: 0x4000, 0x8fe: 0x4000, + // Block 0x24, offset 0x900 + 0x905: 0x2000, + 0x906: 0x2000, 0x909: 0x2000, + 0x90e: 0x2000, 0x90f: 0x2000, + 0x914: 0x4000, 0x915: 0x4000, + 0x91c: 0x2000, + 0x91e: 0x2000, + // Block 0x25, offset 0x940 + 0x940: 0x2000, 0x942: 0x2000, + 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, + 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, + 0x952: 0x4000, 0x953: 0x4000, + 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, + 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, + 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, + 0x97f: 0x4000, + // Block 0x26, offset 0x980 + 0x993: 0x4000, + 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, + 0x9aa: 0x4000, 0x9ab: 0x4000, + 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, + // Block 0x27, offset 0x9c0 + 0x9c4: 0x4000, 0x9c5: 0x4000, + 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, + 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, + 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, + 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, + 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, + 0x9e8: 0x2000, 0x9e9: 0x2000, + 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, + 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, + 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, + 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, + // Block 0x28, offset 0xa00 + 0xa05: 0x4000, + 0xa0a: 0x4000, 0xa0b: 0x4000, + 0xa28: 0x4000, + 0xa3d: 0x2000, + // Block 0x29, offset 0xa40 + 0xa4c: 0x4000, 0xa4e: 0x4000, + 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, + 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, + 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, + // Block 0x2a, offset 0xa80 + 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, + 0xab0: 0x4000, + 0xabf: 0x4000, + // Block 0x2b, offset 0xac0 + 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, + 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, + // Block 0x2c, offset 0xb00 + 0xb05: 0x6010, + 0xb06: 0x6011, + // Block 0x2d, offset 0xb40 + 0xb5b: 0x4000, 0xb5c: 0x4000, + // Block 0x2e, offset 0xb80 + 0xb90: 0x4000, + 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, + 0xb98: 0x2000, 0xb99: 0x2000, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, + 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, + 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, + 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, + 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, + 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, + 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, + 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, + 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, + 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, + 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, + // Block 0x30, offset 0xc00 + 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, + 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, + 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, + 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, + 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, + 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, + 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, + 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, + 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, + // Block 0x31, offset 0xc40 + 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, + 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, + 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, + 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, + 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, + 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, + // Block 0x32, offset 0xc80 + 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, + 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, + 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, + 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, + 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, + 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, + 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, + 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, + 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, + 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, + 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, + // Block 0x33, offset 0xcc0 + 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, + 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, + 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, + 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, + 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, + 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, + 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, + 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, + 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, + 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, + 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, + // Block 0x34, offset 0xd00 + 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, + 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, + 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, + 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, + 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, + 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, + 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, + 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, + 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, + 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, + 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, + // Block 0x35, offset 0xd40 + 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, + 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, + 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, + 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, + 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, + 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, + 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, + 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, + 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, + 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, + 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, + // Block 0x36, offset 0xd80 + 0xd85: 0x4000, + 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, + 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, + 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, + 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, + 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, + 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, + 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000, 0xdaf: 0x4000, + 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, + 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, + 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, + 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, + 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, + 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, + 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, + 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, + 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, + 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, + 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, + 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, + 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, + // Block 0x38, offset 0xe00 + 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, + 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, + 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, + 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, + 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, + 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, + 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, + 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, + 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, + 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, + // Block 0x39, offset 0xe40 + 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, + 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, + 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, + 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, + 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, + 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, + 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, + 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, + 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, + // Block 0x3a, offset 0xe80 + 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, + 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, + 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, + 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, + 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, + 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, + 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, + 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, + 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, + 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, + 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, + // Block 0x3b, offset 0xec0 + 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, + 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, + 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, + 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, + 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, + 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, + 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, + 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, + 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, + 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, + 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, + // Block 0x3c, offset 0xf00 + 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, + 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, + 0xf0c: 0x4000, 0xf0d: 0x4000, 0xf0e: 0x4000, 0xf0f: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, + 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, + 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, + 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, + 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, + 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, + 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, + 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, + 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, + // Block 0x3d, offset 0xf40 + 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, + 0xf46: 0x4000, 0xf47: 0x4000, 0xf48: 0x4000, 0xf49: 0x4000, 0xf4a: 0x4000, 0xf4b: 0x4000, + 0xf4c: 0x4000, 0xf50: 0x4000, 0xf51: 0x4000, + 0xf52: 0x4000, 0xf53: 0x4000, 0xf54: 0x4000, 0xf55: 0x4000, 0xf56: 0x4000, 0xf57: 0x4000, + 0xf58: 0x4000, 0xf59: 0x4000, 0xf5a: 0x4000, 0xf5b: 0x4000, 0xf5c: 0x4000, 0xf5d: 0x4000, + 0xf5e: 0x4000, 0xf5f: 0x4000, 0xf60: 0x4000, 0xf61: 0x4000, 0xf62: 0x4000, 0xf63: 0x4000, + 0xf64: 0x4000, 0xf65: 0x4000, 0xf66: 0x4000, 0xf67: 0x4000, 0xf68: 0x4000, 0xf69: 0x4000, + 0xf6a: 0x4000, 0xf6b: 0x4000, 0xf6c: 0x4000, 0xf6d: 0x4000, 0xf6e: 0x4000, 0xf6f: 0x4000, + 0xf70: 0x4000, 0xf71: 0x4000, 0xf72: 0x4000, 0xf73: 0x4000, 0xf74: 0x4000, 0xf75: 0x4000, + 0xf76: 0x4000, 0xf77: 0x4000, 0xf78: 0x4000, 0xf79: 0x4000, 0xf7a: 0x4000, 0xf7b: 0x4000, + 0xf7c: 0x4000, 0xf7d: 0x4000, 0xf7e: 0x4000, 0xf7f: 0x4000, + // Block 0x3e, offset 0xf80 + 0xf80: 0x4000, 0xf81: 0x4000, 0xf82: 0x4000, 0xf83: 0x4000, 0xf84: 0x4000, 0xf85: 0x4000, + 0xf86: 0x4000, + // Block 0x3f, offset 0xfc0 + 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, + 0xfe4: 0x4000, 0xfe5: 0x4000, 0xfe6: 0x4000, 0xfe7: 0x4000, 0xfe8: 0x4000, 0xfe9: 0x4000, + 0xfea: 0x4000, 0xfeb: 0x4000, 0xfec: 0x4000, 0xfed: 0x4000, 0xfee: 0x4000, 0xfef: 0x4000, + 0xff0: 0x4000, 0xff1: 0x4000, 0xff2: 0x4000, 0xff3: 0x4000, 0xff4: 0x4000, 0xff5: 0x4000, + 0xff6: 0x4000, 0xff7: 0x4000, 0xff8: 0x4000, 0xff9: 0x4000, 0xffa: 0x4000, 0xffb: 0x4000, + 0xffc: 0x4000, + // Block 0x40, offset 0x1000 + 0x1000: 0x4000, 0x1001: 0x4000, 0x1002: 0x4000, 0x1003: 0x4000, 0x1004: 0x4000, 0x1005: 0x4000, + 0x1006: 0x4000, 0x1007: 0x4000, 0x1008: 0x4000, 0x1009: 0x4000, 0x100a: 0x4000, 0x100b: 0x4000, + 0x100c: 0x4000, 0x100d: 0x4000, 0x100e: 0x4000, 0x100f: 0x4000, 0x1010: 0x4000, 0x1011: 0x4000, + 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, + 0x1018: 0x4000, 0x1019: 0x4000, 0x101a: 0x4000, 0x101b: 0x4000, 0x101c: 0x4000, 0x101d: 0x4000, + 0x101e: 0x4000, 0x101f: 0x4000, 0x1020: 0x4000, 0x1021: 0x4000, 0x1022: 0x4000, 0x1023: 0x4000, + // Block 0x41, offset 0x1040 + 0x1040: 0x2000, 0x1041: 0x2000, 0x1042: 0x2000, 0x1043: 0x2000, 0x1044: 0x2000, 0x1045: 0x2000, + 0x1046: 0x2000, 0x1047: 0x2000, 0x1048: 0x2000, 0x1049: 0x2000, 0x104a: 0x2000, 0x104b: 0x2000, + 0x104c: 0x2000, 0x104d: 0x2000, 0x104e: 0x2000, 0x104f: 0x2000, 0x1050: 0x4000, 0x1051: 0x4000, + 0x1052: 0x4000, 0x1053: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, + 0x1058: 0x4000, 0x1059: 0x4000, + 0x1070: 0x4000, 0x1071: 0x4000, 0x1072: 0x4000, 0x1073: 0x4000, 0x1074: 0x4000, 0x1075: 0x4000, + 0x1076: 0x4000, 0x1077: 0x4000, 0x1078: 0x4000, 0x1079: 0x4000, 0x107a: 0x4000, 0x107b: 0x4000, + 0x107c: 0x4000, 0x107d: 0x4000, 0x107e: 0x4000, 0x107f: 0x4000, + // Block 0x42, offset 0x1080 + 0x1080: 0x4000, 0x1081: 0x4000, 0x1082: 0x4000, 0x1083: 0x4000, 0x1084: 0x4000, 0x1085: 0x4000, + 0x1086: 0x4000, 0x1087: 0x4000, 0x1088: 0x4000, 0x1089: 0x4000, 0x108a: 0x4000, 0x108b: 0x4000, + 0x108c: 0x4000, 0x108d: 0x4000, 0x108e: 0x4000, 0x108f: 0x4000, 0x1090: 0x4000, 0x1091: 0x4000, + 0x1092: 0x4000, 0x1094: 0x4000, 0x1095: 0x4000, 0x1096: 0x4000, 0x1097: 0x4000, + 0x1098: 0x4000, 0x1099: 0x4000, 0x109a: 0x4000, 0x109b: 0x4000, 0x109c: 0x4000, 0x109d: 0x4000, + 0x109e: 0x4000, 0x109f: 0x4000, 0x10a0: 0x4000, 0x10a1: 0x4000, 0x10a2: 0x4000, 0x10a3: 0x4000, + 0x10a4: 0x4000, 0x10a5: 0x4000, 0x10a6: 0x4000, 0x10a8: 0x4000, 0x10a9: 0x4000, + 0x10aa: 0x4000, 0x10ab: 0x4000, + // Block 0x43, offset 0x10c0 + 0x10c1: 0x9012, 0x10c2: 0x9012, 0x10c3: 0x9012, 0x10c4: 0x9012, 0x10c5: 0x9012, + 0x10c6: 0x9012, 0x10c7: 0x9012, 0x10c8: 0x9012, 0x10c9: 0x9012, 0x10ca: 0x9012, 0x10cb: 0x9012, + 0x10cc: 0x9012, 0x10cd: 0x9012, 0x10ce: 0x9012, 0x10cf: 0x9012, 0x10d0: 0x9012, 0x10d1: 0x9012, + 0x10d2: 0x9012, 0x10d3: 0x9012, 0x10d4: 0x9012, 0x10d5: 0x9012, 0x10d6: 0x9012, 0x10d7: 0x9012, + 0x10d8: 0x9012, 0x10d9: 0x9012, 0x10da: 0x9012, 0x10db: 0x9012, 0x10dc: 0x9012, 0x10dd: 0x9012, + 0x10de: 0x9012, 0x10df: 0x9012, 0x10e0: 0x9049, 0x10e1: 0x9049, 0x10e2: 0x9049, 0x10e3: 0x9049, + 0x10e4: 0x9049, 0x10e5: 0x9049, 0x10e6: 0x9049, 0x10e7: 0x9049, 0x10e8: 0x9049, 0x10e9: 0x9049, + 0x10ea: 0x9049, 0x10eb: 0x9049, 0x10ec: 0x9049, 0x10ed: 0x9049, 0x10ee: 0x9049, 0x10ef: 0x9049, + 0x10f0: 0x9049, 0x10f1: 0x9049, 0x10f2: 0x9049, 0x10f3: 0x9049, 0x10f4: 0x9049, 0x10f5: 0x9049, + 0x10f6: 0x9049, 0x10f7: 0x9049, 0x10f8: 0x9049, 0x10f9: 0x9049, 0x10fa: 0x9049, 0x10fb: 0x9049, + 0x10fc: 0x9049, 0x10fd: 0x9049, 0x10fe: 0x9049, 0x10ff: 0x9049, + // Block 0x44, offset 0x1100 + 0x1100: 0x9049, 0x1101: 0x9049, 0x1102: 0x9049, 0x1103: 0x9049, 0x1104: 0x9049, 0x1105: 0x9049, + 0x1106: 0x9049, 0x1107: 0x9049, 0x1108: 0x9049, 0x1109: 0x9049, 0x110a: 0x9049, 0x110b: 0x9049, + 0x110c: 0x9049, 0x110d: 0x9049, 0x110e: 0x9049, 0x110f: 0x9049, 0x1110: 0x9049, 0x1111: 0x9049, + 0x1112: 0x9049, 0x1113: 0x9049, 0x1114: 0x9049, 0x1115: 0x9049, 0x1116: 0x9049, 0x1117: 0x9049, + 0x1118: 0x9049, 0x1119: 0x9049, 0x111a: 0x9049, 0x111b: 0x9049, 0x111c: 0x9049, 0x111d: 0x9049, + 0x111e: 0x9049, 0x111f: 0x904a, 0x1120: 0x904b, 0x1121: 0xb04c, 0x1122: 0xb04d, 0x1123: 0xb04d, + 0x1124: 0xb04e, 0x1125: 0xb04f, 0x1126: 0xb050, 0x1127: 0xb051, 0x1128: 0xb052, 0x1129: 0xb053, + 0x112a: 0xb054, 0x112b: 0xb055, 0x112c: 0xb056, 0x112d: 0xb057, 0x112e: 0xb058, 0x112f: 0xb059, + 0x1130: 0xb05a, 0x1131: 0xb05b, 0x1132: 0xb05c, 0x1133: 0xb05d, 0x1134: 0xb05e, 0x1135: 0xb05f, + 0x1136: 0xb060, 0x1137: 0xb061, 0x1138: 0xb062, 0x1139: 0xb063, 0x113a: 0xb064, 0x113b: 0xb065, + 0x113c: 0xb052, 0x113d: 0xb066, 0x113e: 0xb067, 0x113f: 0xb055, + // Block 0x45, offset 0x1140 + 0x1140: 0xb068, 0x1141: 0xb069, 0x1142: 0xb06a, 0x1143: 0xb06b, 0x1144: 0xb05a, 0x1145: 0xb056, + 0x1146: 0xb06c, 0x1147: 0xb06d, 0x1148: 0xb06b, 0x1149: 0xb06e, 0x114a: 0xb06b, 0x114b: 0xb06f, + 0x114c: 0xb06f, 0x114d: 0xb070, 0x114e: 0xb070, 0x114f: 0xb071, 0x1150: 0xb056, 0x1151: 0xb072, + 0x1152: 0xb073, 0x1153: 0xb072, 0x1154: 0xb074, 0x1155: 0xb073, 0x1156: 0xb075, 0x1157: 0xb075, + 0x1158: 0xb076, 0x1159: 0xb076, 0x115a: 0xb077, 0x115b: 0xb077, 0x115c: 0xb073, 0x115d: 0xb078, + 0x115e: 0xb079, 0x115f: 0xb067, 0x1160: 0xb07a, 0x1161: 0xb07b, 0x1162: 0xb07b, 0x1163: 0xb07b, + 0x1164: 0xb07b, 0x1165: 0xb07b, 0x1166: 0xb07b, 0x1167: 0xb07b, 0x1168: 0xb07b, 0x1169: 0xb07b, + 0x116a: 0xb07b, 0x116b: 0xb07b, 0x116c: 0xb07b, 0x116d: 0xb07b, 0x116e: 0xb07b, 0x116f: 0xb07b, + 0x1170: 0xb07c, 0x1171: 0xb07c, 0x1172: 0xb07c, 0x1173: 0xb07c, 0x1174: 0xb07c, 0x1175: 0xb07c, + 0x1176: 0xb07c, 0x1177: 0xb07c, 0x1178: 0xb07c, 0x1179: 0xb07c, 0x117a: 0xb07c, 0x117b: 0xb07c, + 0x117c: 0xb07c, 0x117d: 0xb07c, 0x117e: 0xb07c, + // Block 0x46, offset 0x1180 + 0x1182: 0xb07d, 0x1183: 0xb07e, 0x1184: 0xb07f, 0x1185: 0xb080, + 0x1186: 0xb07f, 0x1187: 0xb07e, 0x118a: 0xb081, 0x118b: 0xb082, + 0x118c: 0xb083, 0x118d: 0xb07f, 0x118e: 0xb080, 0x118f: 0xb07f, + 0x1192: 0xb084, 0x1193: 0xb085, 0x1194: 0xb084, 0x1195: 0xb086, 0x1196: 0xb084, 0x1197: 0xb087, + 0x119a: 0xb088, 0x119b: 0xb089, 0x119c: 0xb08a, + 0x11a0: 0x908b, 0x11a1: 0x908b, 0x11a2: 0x908c, 0x11a3: 0x908d, + 0x11a4: 0x908b, 0x11a5: 0x908e, 0x11a6: 0x908f, 0x11a8: 0xb090, 0x11a9: 0xb091, + 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, + 0x11bd: 0x2000, + // Block 0x47, offset 0x11c0 + 0x11e0: 0x4000, 0x11e1: 0x4000, + // Block 0x48, offset 0x1200 + 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, + 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, + 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, + 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, 0x1216: 0x4000, 0x1217: 0x4000, + 0x1218: 0x4000, 0x1219: 0x4000, 0x121a: 0x4000, 0x121b: 0x4000, 0x121c: 0x4000, 0x121d: 0x4000, + 0x121e: 0x4000, 0x121f: 0x4000, 0x1220: 0x4000, 0x1221: 0x4000, 0x1222: 0x4000, 0x1223: 0x4000, + 0x1224: 0x4000, 0x1225: 0x4000, 0x1226: 0x4000, 0x1227: 0x4000, 0x1228: 0x4000, 0x1229: 0x4000, + 0x122a: 0x4000, 0x122b: 0x4000, 0x122c: 0x4000, 0x122d: 0x4000, 0x122e: 0x4000, 0x122f: 0x4000, + 0x1230: 0x4000, 0x1231: 0x4000, + // Block 0x49, offset 0x1240 + 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, + 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, 0x1249: 0x4000, 0x124a: 0x4000, 0x124b: 0x4000, + 0x124c: 0x4000, 0x124d: 0x4000, 0x124e: 0x4000, 0x124f: 0x4000, 0x1250: 0x4000, 0x1251: 0x4000, + 0x1252: 0x4000, 0x1253: 0x4000, 0x1254: 0x4000, 0x1255: 0x4000, 0x1256: 0x4000, 0x1257: 0x4000, + 0x1258: 0x4000, 0x1259: 0x4000, 0x125a: 0x4000, 0x125b: 0x4000, 0x125c: 0x4000, 0x125d: 0x4000, + 0x125e: 0x4000, 0x125f: 0x4000, 0x1260: 0x4000, 0x1261: 0x4000, 0x1262: 0x4000, 0x1263: 0x4000, + 0x1264: 0x4000, 0x1265: 0x4000, 0x1266: 0x4000, 0x1267: 0x4000, 0x1268: 0x4000, 0x1269: 0x4000, + 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, + 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, + // Block 0x4a, offset 0x1280 + 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000, + 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000, + 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000, + 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000, + 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000, + 0x129e: 0x4000, + // Block 0x4b, offset 0x12c0 + 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000, + 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000, + 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000, + // Block 0x4c, offset 0x1300 + 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000, + 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000, + 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000, + 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000, + 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000, + 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000, + 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000, + 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000, + 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000, + 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000, + // Block 0x4d, offset 0x1340 + 0x1344: 0x4000, + // Block 0x4e, offset 0x1380 + 0x138f: 0x4000, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, + 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, + 0x13d0: 0x2000, 0x13d1: 0x2000, + 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000, + 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, + 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, + 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, + 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000, + 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000, + 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000, + 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000, + // Block 0x50, offset 0x1400 + 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000, + 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000, + 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000, + 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000, + 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000, + 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000, + 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000, + 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000, + 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000, + 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000, + // Block 0x51, offset 0x1440 + 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000, + 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000, + 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000, + 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000, + 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000, + 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000, + 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000, + 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000, + // Block 0x52, offset 0x1480 + 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, + 0x1490: 0x4000, 0x1491: 0x4000, + 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, + 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, + 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000, + 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000, + 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, + 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, + 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, + 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, + 0x14d0: 0x4000, 0x14d1: 0x4000, + 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, + 0x14e4: 0x4000, 0x14e5: 0x4000, + // Block 0x54, offset 0x1500 + 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, + 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, + 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, + 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000, + 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000, + 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000, + 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, + 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, + 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, + 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, + // Block 0x55, offset 0x1540 + 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, + 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000, + 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, + 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000, + 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000, + 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, + 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, + 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, + 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000, + 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, + 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, + // Block 0x56, offset 0x1580 + 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, + 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, + 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, + 0x1592: 0x4000, 0x1593: 0x4000, + 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, + 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, + 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, + 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, + 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, + 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, + 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, + 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, + 0x15d2: 0x4000, 0x15d3: 0x4000, + 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, + 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, + 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, + 0x15f0: 0x4000, 0x15f4: 0x4000, + 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, + 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000, + // Block 0x58, offset 0x1600 + 0x1600: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, + 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, + 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, + 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, + 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, + 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, + 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, + 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, + 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, + 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, + 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, 0x163f: 0x4000, + // Block 0x59, offset 0x1640 + 0x1640: 0x4000, 0x1641: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000, + 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000, + 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, + 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, + 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, + 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, + 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000, + 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000, + 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000, + 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000, + 0x167c: 0x4000, 0x167f: 0x4000, + // Block 0x5a, offset 0x1680 + 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000, + 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000, + 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000, + 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000, + 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000, + 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000, + 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000, + 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000, + 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000, + 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000, + 0x16bc: 0x4000, 0x16bd: 0x4000, + // Block 0x5b, offset 0x16c0 + 0x16cb: 0x4000, + 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000, + 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000, + 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000, + 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000, + 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000, + 0x16fa: 0x4000, + // Block 0x5c, offset 0x1700 + 0x1715: 0x4000, 0x1716: 0x4000, + 0x1724: 0x4000, + // Block 0x5d, offset 0x1740 + 0x177b: 0x4000, + 0x177c: 0x4000, 0x177d: 0x4000, 0x177e: 0x4000, 0x177f: 0x4000, + // Block 0x5e, offset 0x1780 + 0x1780: 0x4000, 0x1781: 0x4000, 0x1782: 0x4000, 0x1783: 0x4000, 0x1784: 0x4000, 0x1785: 0x4000, + 0x1786: 0x4000, 0x1787: 0x4000, 0x1788: 0x4000, 0x1789: 0x4000, 0x178a: 0x4000, 0x178b: 0x4000, + 0x178c: 0x4000, 0x178d: 0x4000, 0x178e: 0x4000, 0x178f: 0x4000, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, + 0x17cc: 0x4000, 0x17d0: 0x4000, 0x17d1: 0x4000, + 0x17d2: 0x4000, + 0x17eb: 0x4000, 0x17ec: 0x4000, + 0x17f4: 0x4000, 0x17f5: 0x4000, + 0x17f6: 0x4000, 0x17f7: 0x4000, 0x17f8: 0x4000, 0x17f9: 0x4000, + // Block 0x60, offset 0x1800 + 0x1810: 0x4000, 0x1811: 0x4000, + 0x1812: 0x4000, 0x1813: 0x4000, 0x1814: 0x4000, 0x1815: 0x4000, 0x1816: 0x4000, 0x1817: 0x4000, + 0x1818: 0x4000, 0x1819: 0x4000, 0x181a: 0x4000, 0x181b: 0x4000, 0x181c: 0x4000, 0x181d: 0x4000, + 0x181e: 0x4000, 0x181f: 0x4000, 0x1820: 0x4000, 0x1821: 0x4000, 0x1822: 0x4000, 0x1823: 0x4000, + 0x1824: 0x4000, 0x1825: 0x4000, 0x1826: 0x4000, 0x1827: 0x4000, 0x1828: 0x4000, 0x1829: 0x4000, + 0x182a: 0x4000, 0x182b: 0x4000, 0x182c: 0x4000, 0x182d: 0x4000, 0x182e: 0x4000, 0x182f: 0x4000, + 0x1830: 0x4000, 0x1831: 0x4000, 0x1832: 0x4000, 0x1833: 0x4000, 0x1834: 0x4000, 0x1835: 0x4000, + 0x1836: 0x4000, 0x1837: 0x4000, 0x1838: 0x4000, 0x1839: 0x4000, 0x183a: 0x4000, 0x183b: 0x4000, + 0x183c: 0x4000, 0x183d: 0x4000, 0x183e: 0x4000, + // Block 0x61, offset 0x1840 + 0x1840: 0x4000, 0x1841: 0x4000, 0x1842: 0x4000, 0x1843: 0x4000, 0x1844: 0x4000, 0x1845: 0x4000, + 0x1846: 0x4000, 0x1847: 0x4000, 0x1848: 0x4000, 0x1849: 0x4000, 0x184a: 0x4000, 0x184b: 0x4000, + 0x184c: 0x4000, 0x184d: 0x4000, 0x184e: 0x4000, 0x184f: 0x4000, 0x1850: 0x4000, 0x1851: 0x4000, + 0x1852: 0x4000, 0x1853: 0x4000, 0x1854: 0x4000, 0x1855: 0x4000, 0x1856: 0x4000, 0x1857: 0x4000, + 0x1858: 0x4000, 0x1859: 0x4000, 0x185a: 0x4000, 0x185b: 0x4000, 0x185c: 0x4000, 0x185d: 0x4000, + 0x185e: 0x4000, 0x185f: 0x4000, 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000, + 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000, + 0x186a: 0x4000, 0x186b: 0x4000, 0x186c: 0x4000, 0x186d: 0x4000, 0x186e: 0x4000, 0x186f: 0x4000, + 0x1870: 0x4000, 0x1873: 0x4000, 0x1874: 0x4000, 0x1875: 0x4000, + 0x1876: 0x4000, 0x187a: 0x4000, + 0x187c: 0x4000, 0x187d: 0x4000, 0x187e: 0x4000, 0x187f: 0x4000, + // Block 0x62, offset 0x1880 + 0x1880: 0x4000, 0x1881: 0x4000, 0x1882: 0x4000, 0x1883: 0x4000, 0x1884: 0x4000, 0x1885: 0x4000, + 0x1886: 0x4000, 0x1887: 0x4000, 0x1888: 0x4000, 0x1889: 0x4000, 0x188a: 0x4000, 0x188b: 0x4000, + 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000, + 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000, + 0x1898: 0x4000, 0x1899: 0x4000, 0x189a: 0x4000, 0x189b: 0x4000, 0x189c: 0x4000, 0x189d: 0x4000, + 0x189e: 0x4000, 0x189f: 0x4000, 0x18a0: 0x4000, 0x18a1: 0x4000, 0x18a2: 0x4000, + 0x18b0: 0x4000, 0x18b1: 0x4000, 0x18b2: 0x4000, 0x18b3: 0x4000, 0x18b4: 0x4000, 0x18b5: 0x4000, + 0x18b6: 0x4000, 0x18b7: 0x4000, 0x18b8: 0x4000, 0x18b9: 0x4000, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x4000, 0x18c1: 0x4000, 0x18c2: 0x4000, + 0x18d0: 0x4000, 0x18d1: 0x4000, + 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000, + 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000, + 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, 0x18e3: 0x4000, + 0x18e4: 0x4000, 0x18e5: 0x4000, 0x18e6: 0x4000, 0x18e7: 0x4000, 0x18e8: 0x4000, 0x18e9: 0x4000, + 0x18ea: 0x4000, 0x18eb: 0x4000, 0x18ec: 0x4000, 0x18ed: 0x4000, 0x18ee: 0x4000, 0x18ef: 0x4000, + 0x18f0: 0x4000, 0x18f1: 0x4000, 0x18f2: 0x4000, 0x18f3: 0x4000, 0x18f4: 0x4000, 0x18f5: 0x4000, + 0x18f6: 0x4000, 0x18f7: 0x4000, 0x18f8: 0x4000, 0x18f9: 0x4000, 0x18fa: 0x4000, 0x18fb: 0x4000, + 0x18fc: 0x4000, 0x18fd: 0x4000, 0x18fe: 0x4000, 0x18ff: 0x4000, + // Block 0x64, offset 0x1900 + 0x1900: 0x2000, 0x1901: 0x2000, 0x1902: 0x2000, 0x1903: 0x2000, 0x1904: 0x2000, 0x1905: 0x2000, + 0x1906: 0x2000, 0x1907: 0x2000, 0x1908: 0x2000, 0x1909: 0x2000, 0x190a: 0x2000, 0x190b: 0x2000, + 0x190c: 0x2000, 0x190d: 0x2000, 0x190e: 0x2000, 0x190f: 0x2000, 0x1910: 0x2000, 0x1911: 0x2000, + 0x1912: 0x2000, 0x1913: 0x2000, 0x1914: 0x2000, 0x1915: 0x2000, 0x1916: 0x2000, 0x1917: 0x2000, + 0x1918: 0x2000, 0x1919: 0x2000, 0x191a: 0x2000, 0x191b: 0x2000, 0x191c: 0x2000, 0x191d: 0x2000, + 0x191e: 0x2000, 0x191f: 0x2000, 0x1920: 0x2000, 0x1921: 0x2000, 0x1922: 0x2000, 0x1923: 0x2000, + 0x1924: 0x2000, 0x1925: 0x2000, 0x1926: 0x2000, 0x1927: 0x2000, 0x1928: 0x2000, 0x1929: 0x2000, + 0x192a: 0x2000, 0x192b: 0x2000, 0x192c: 0x2000, 0x192d: 0x2000, 0x192e: 0x2000, 0x192f: 0x2000, + 0x1930: 0x2000, 0x1931: 0x2000, 0x1932: 0x2000, 0x1933: 0x2000, 0x1934: 0x2000, 0x1935: 0x2000, + 0x1936: 0x2000, 0x1937: 0x2000, 0x1938: 0x2000, 0x1939: 0x2000, 0x193a: 0x2000, 0x193b: 0x2000, + 0x193c: 0x2000, 0x193d: 0x2000, +} + +// widthIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var widthIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, + 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, + 0xd0: 0x0c, 0xd1: 0x0d, + 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, + 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, + 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, + // Block 0x4, offset 0x100 + 0x104: 0x0e, 0x105: 0x0f, + // Block 0x5, offset 0x140 + 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, + 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, + 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, + 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, + 0x166: 0x2a, + 0x16c: 0x2b, 0x16d: 0x2c, + 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, + // Block 0x6, offset 0x180 + 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, + 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x3a, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, + 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, + 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, + 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, + 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, + 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, + 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, + 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, + 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, + 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, + 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, + 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, + 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, + 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, + // Block 0x8, offset 0x200 + 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, + 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, + 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, + 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, + 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, + 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, + 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, + 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, + // Block 0x9, offset 0x240 + 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, + 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, + 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3b, 0x253: 0x3c, + 0x265: 0x3d, + 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, + 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, + // Block 0xa, offset 0x280 + 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, + 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, + 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, + 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3e, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, + 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, + 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, + 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, + 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, + 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, + 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, + 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, + // Block 0xc, offset 0x300 + 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, + 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, + 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, + 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, + 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, + 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, + 0x338: 0x3f, 0x339: 0x40, 0x33c: 0x41, 0x33d: 0x42, 0x33e: 0x43, 0x33f: 0x44, + // Block 0xd, offset 0x340 + 0x37f: 0x45, + // Block 0xe, offset 0x380 + 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, + 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, + 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, + 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x46, + 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, + 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e, + 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a, + // Block 0x10, offset 0x400 + 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f, + 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55, + 0x410: 0x3a, 0x411: 0x56, 0x412: 0x0e, 0x413: 0x57, 0x414: 0x58, 0x415: 0x59, 0x416: 0x5a, 0x417: 0x5b, + 0x418: 0x0e, 0x419: 0x5c, 0x41a: 0x0e, 0x41b: 0x5d, + 0x424: 0x5e, 0x425: 0x5f, 0x426: 0x60, 0x427: 0x61, + // Block 0x11, offset 0x440 + 0x456: 0x0b, 0x457: 0x06, + 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, + 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, + 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, + 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, + 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, + // Block 0x12, offset 0x480 + 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, + 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, + 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, + 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, + 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, + 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, + 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, + 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x62, + // Block 0x14, offset 0x500 + 0x520: 0x10, + 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, + 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, + // Block 0x15, offset 0x540 + 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, + 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, +} + +// inverseData contains 4-byte entries of the following format: +// <0 padding> +// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the +// UTF-8 encoding of the original rune. Mappings often have the following +// pattern: +// A -> A (U+FF21 -> U+0041) +// B -> B (U+FF22 -> U+0042) +// ... +// By xor-ing the last byte the same entry can be shared by many mappings. This +// reduces the total number of distinct entries by about two thirds. +// The resulting entry for the aforementioned mappings is +// { 0x01, 0xE0, 0x00, 0x00 } +// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get +// E0 ^ A1 = 41. +// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get +// E0 ^ A2 = 42. +// Note that because of the xor-ing, the byte sequence stored in the entry is +// not valid UTF-8. +var inverseData = [150][4]byte{ + {0x00, 0x00, 0x00, 0x00}, + {0x03, 0xe3, 0x80, 0xa0}, + {0x03, 0xef, 0xbc, 0xa0}, + {0x03, 0xef, 0xbc, 0xe0}, + {0x03, 0xef, 0xbd, 0xe0}, + {0x03, 0xef, 0xbf, 0x02}, + {0x03, 0xef, 0xbf, 0x00}, + {0x03, 0xef, 0xbf, 0x0e}, + {0x03, 0xef, 0xbf, 0x0c}, + {0x03, 0xef, 0xbf, 0x0f}, + {0x03, 0xef, 0xbf, 0x39}, + {0x03, 0xef, 0xbf, 0x3b}, + {0x03, 0xef, 0xbf, 0x3f}, + {0x03, 0xef, 0xbf, 0x2a}, + {0x03, 0xef, 0xbf, 0x0d}, + {0x03, 0xef, 0xbf, 0x25}, + {0x03, 0xef, 0xbd, 0x1a}, + {0x03, 0xef, 0xbd, 0x26}, + {0x01, 0xa0, 0x00, 0x00}, + {0x03, 0xef, 0xbd, 0x25}, + {0x03, 0xef, 0xbd, 0x23}, + {0x03, 0xef, 0xbd, 0x2e}, + {0x03, 0xef, 0xbe, 0x07}, + {0x03, 0xef, 0xbe, 0x05}, + {0x03, 0xef, 0xbd, 0x06}, + {0x03, 0xef, 0xbd, 0x13}, + {0x03, 0xef, 0xbd, 0x0b}, + {0x03, 0xef, 0xbd, 0x16}, + {0x03, 0xef, 0xbd, 0x0c}, + {0x03, 0xef, 0xbd, 0x15}, + {0x03, 0xef, 0xbd, 0x0d}, + {0x03, 0xef, 0xbd, 0x1c}, + {0x03, 0xef, 0xbd, 0x02}, + {0x03, 0xef, 0xbd, 0x1f}, + {0x03, 0xef, 0xbd, 0x1d}, + {0x03, 0xef, 0xbd, 0x17}, + {0x03, 0xef, 0xbd, 0x08}, + {0x03, 0xef, 0xbd, 0x09}, + {0x03, 0xef, 0xbd, 0x0e}, + {0x03, 0xef, 0xbd, 0x04}, + {0x03, 0xef, 0xbd, 0x05}, + {0x03, 0xef, 0xbe, 0x3f}, + {0x03, 0xef, 0xbe, 0x00}, + {0x03, 0xef, 0xbd, 0x2c}, + {0x03, 0xef, 0xbe, 0x06}, + {0x03, 0xef, 0xbe, 0x0c}, + {0x03, 0xef, 0xbe, 0x0f}, + {0x03, 0xef, 0xbe, 0x0d}, + {0x03, 0xef, 0xbe, 0x0b}, + {0x03, 0xef, 0xbe, 0x19}, + {0x03, 0xef, 0xbe, 0x15}, + {0x03, 0xef, 0xbe, 0x11}, + {0x03, 0xef, 0xbe, 0x31}, + {0x03, 0xef, 0xbe, 0x33}, + {0x03, 0xef, 0xbd, 0x0f}, + {0x03, 0xef, 0xbe, 0x30}, + {0x03, 0xef, 0xbe, 0x3e}, + {0x03, 0xef, 0xbe, 0x32}, + {0x03, 0xef, 0xbe, 0x36}, + {0x03, 0xef, 0xbd, 0x14}, + {0x03, 0xef, 0xbe, 0x2e}, + {0x03, 0xef, 0xbd, 0x1e}, + {0x03, 0xef, 0xbe, 0x10}, + {0x03, 0xef, 0xbf, 0x13}, + {0x03, 0xef, 0xbf, 0x15}, + {0x03, 0xef, 0xbf, 0x17}, + {0x03, 0xef, 0xbf, 0x1f}, + {0x03, 0xef, 0xbf, 0x1d}, + {0x03, 0xef, 0xbf, 0x1b}, + {0x03, 0xef, 0xbf, 0x09}, + {0x03, 0xef, 0xbf, 0x0b}, + {0x03, 0xef, 0xbf, 0x37}, + {0x03, 0xef, 0xbe, 0x04}, + {0x01, 0xe0, 0x00, 0x00}, + {0x03, 0xe2, 0xa6, 0x1a}, + {0x03, 0xe2, 0xa6, 0x26}, + {0x03, 0xe3, 0x80, 0x23}, + {0x03, 0xe3, 0x80, 0x2e}, + {0x03, 0xe3, 0x80, 0x25}, + {0x03, 0xe3, 0x83, 0x1e}, + {0x03, 0xe3, 0x83, 0x14}, + {0x03, 0xe3, 0x82, 0x06}, + {0x03, 0xe3, 0x82, 0x0b}, + {0x03, 0xe3, 0x82, 0x0c}, + {0x03, 0xe3, 0x82, 0x0d}, + {0x03, 0xe3, 0x82, 0x02}, + {0x03, 0xe3, 0x83, 0x0f}, + {0x03, 0xe3, 0x83, 0x08}, + {0x03, 0xe3, 0x83, 0x09}, + {0x03, 0xe3, 0x83, 0x2c}, + {0x03, 0xe3, 0x83, 0x0c}, + {0x03, 0xe3, 0x82, 0x13}, + {0x03, 0xe3, 0x82, 0x16}, + {0x03, 0xe3, 0x82, 0x15}, + {0x03, 0xe3, 0x82, 0x1c}, + {0x03, 0xe3, 0x82, 0x1f}, + {0x03, 0xe3, 0x82, 0x1d}, + {0x03, 0xe3, 0x82, 0x1a}, + {0x03, 0xe3, 0x82, 0x17}, + {0x03, 0xe3, 0x82, 0x08}, + {0x03, 0xe3, 0x82, 0x09}, + {0x03, 0xe3, 0x82, 0x0e}, + {0x03, 0xe3, 0x82, 0x04}, + {0x03, 0xe3, 0x82, 0x05}, + {0x03, 0xe3, 0x82, 0x3f}, + {0x03, 0xe3, 0x83, 0x00}, + {0x03, 0xe3, 0x83, 0x06}, + {0x03, 0xe3, 0x83, 0x05}, + {0x03, 0xe3, 0x83, 0x0d}, + {0x03, 0xe3, 0x83, 0x0b}, + {0x03, 0xe3, 0x83, 0x07}, + {0x03, 0xe3, 0x83, 0x19}, + {0x03, 0xe3, 0x83, 0x15}, + {0x03, 0xe3, 0x83, 0x11}, + {0x03, 0xe3, 0x83, 0x31}, + {0x03, 0xe3, 0x83, 0x33}, + {0x03, 0xe3, 0x83, 0x30}, + {0x03, 0xe3, 0x83, 0x3e}, + {0x03, 0xe3, 0x83, 0x32}, + {0x03, 0xe3, 0x83, 0x36}, + {0x03, 0xe3, 0x83, 0x2e}, + {0x03, 0xe3, 0x82, 0x07}, + {0x03, 0xe3, 0x85, 0x04}, + {0x03, 0xe3, 0x84, 0x10}, + {0x03, 0xe3, 0x85, 0x30}, + {0x03, 0xe3, 0x85, 0x0d}, + {0x03, 0xe3, 0x85, 0x13}, + {0x03, 0xe3, 0x85, 0x15}, + {0x03, 0xe3, 0x85, 0x17}, + {0x03, 0xe3, 0x85, 0x1f}, + {0x03, 0xe3, 0x85, 0x1d}, + {0x03, 0xe3, 0x85, 0x1b}, + {0x03, 0xe3, 0x85, 0x09}, + {0x03, 0xe3, 0x85, 0x0f}, + {0x03, 0xe3, 0x85, 0x0b}, + {0x03, 0xe3, 0x85, 0x37}, + {0x03, 0xe3, 0x85, 0x3b}, + {0x03, 0xe3, 0x85, 0x39}, + {0x03, 0xe3, 0x85, 0x3f}, + {0x02, 0xc2, 0x02, 0x00}, + {0x02, 0xc2, 0x0e, 0x00}, + {0x02, 0xc2, 0x0c, 0x00}, + {0x02, 0xc2, 0x00, 0x00}, + {0x03, 0xe2, 0x82, 0x0f}, + {0x03, 0xe2, 0x94, 0x2a}, + {0x03, 0xe2, 0x86, 0x39}, + {0x03, 0xe2, 0x86, 0x3b}, + {0x03, 0xe2, 0x86, 0x3f}, + {0x03, 0xe2, 0x96, 0x0d}, + {0x03, 0xe2, 0x97, 0x25}, +} + +// Total table size 14936 bytes (14KiB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables9.0.0.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables9.0.0.go new file mode 100644 index 0000000..7069e26 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/tables9.0.0.go @@ -0,0 +1,1286 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build !go1.10 + +package width + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// widthTrie. Total size: 14080 bytes (13.75 KiB). Checksum: 3b8aeb3dc03667a3. +type widthTrie struct{} + +func newWidthTrie(i int) *widthTrie { + return &widthTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { + switch { + default: + return uint16(widthValues[n<<6+uint32(b)]) + } +} + +// widthValues: 99 blocks, 6336 entries, 12672 bytes +// The third block is the zero block. +var widthValues = [6336]uint16{ + // Block 0x0, offset 0x0 + 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, + 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, + 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, + 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, + 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, + 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, + // Block 0x1, offset 0x40 + 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, + 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, + 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, + 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, + 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, + 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, + 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, + 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, + 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, + 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, + 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, + 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, + 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, + 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, + 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, + 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, + // Block 0x4, offset 0x100 + 0x106: 0x2000, + 0x110: 0x2000, + 0x117: 0x2000, + 0x118: 0x2000, + 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, + 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, + 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, + 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, + 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, + 0x13c: 0x2000, 0x13e: 0x2000, + // Block 0x5, offset 0x140 + 0x141: 0x2000, + 0x151: 0x2000, + 0x153: 0x2000, + 0x15b: 0x2000, + 0x166: 0x2000, 0x167: 0x2000, + 0x16b: 0x2000, + 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, + 0x178: 0x2000, + 0x17f: 0x2000, + // Block 0x6, offset 0x180 + 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, + 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, + 0x18d: 0x2000, + 0x192: 0x2000, 0x193: 0x2000, + 0x1a6: 0x2000, 0x1a7: 0x2000, + 0x1ab: 0x2000, + // Block 0x7, offset 0x1c0 + 0x1ce: 0x2000, 0x1d0: 0x2000, + 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, + 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, + // Block 0x8, offset 0x200 + 0x211: 0x2000, + 0x221: 0x2000, + // Block 0x9, offset 0x240 + 0x244: 0x2000, + 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, + 0x24d: 0x2000, 0x250: 0x2000, + 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, + 0x25f: 0x2000, + // Block 0xa, offset 0x280 + 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, + 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, + 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, + 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, + 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, + 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, + 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, + 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, + 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, + 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, + 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, + 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, + 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, + 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, + 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, + 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, + 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, + 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, + // Block 0xc, offset 0x300 + 0x311: 0x2000, + 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, + 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, + 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, + 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, + 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, + 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, + 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, + // Block 0xd, offset 0x340 + 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, + 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, + // Block 0xe, offset 0x380 + 0x381: 0x2000, + 0x390: 0x2000, 0x391: 0x2000, + 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, + 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, + 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, + 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, + 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, + 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, + 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, + 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, + 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, + 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, + // Block 0x10, offset 0x400 + 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, + 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, + 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, + 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, + 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, + 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, + 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, + 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, + 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, + 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, + 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, + // Block 0x11, offset 0x440 + 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, + 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, + 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, + 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, + 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, + 0x45e: 0x4000, 0x45f: 0x4000, + // Block 0x12, offset 0x480 + 0x490: 0x2000, + 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, + 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, + 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, + 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, + 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, + 0x4bb: 0x2000, + 0x4be: 0x2000, + // Block 0x13, offset 0x4c0 + 0x4f4: 0x2000, + 0x4ff: 0x2000, + // Block 0x14, offset 0x500 + 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, + 0x529: 0xa009, + 0x52c: 0x2000, + // Block 0x15, offset 0x540 + 0x543: 0x2000, 0x545: 0x2000, + 0x549: 0x2000, + 0x553: 0x2000, 0x556: 0x2000, + 0x561: 0x2000, 0x562: 0x2000, + 0x566: 0x2000, + 0x56b: 0x2000, + // Block 0x16, offset 0x580 + 0x593: 0x2000, 0x594: 0x2000, + 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, + 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, + 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, + 0x5aa: 0x2000, 0x5ab: 0x2000, + 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, + 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, + // Block 0x17, offset 0x5c0 + 0x5c9: 0x2000, + 0x5d0: 0x200a, 0x5d1: 0x200b, + 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, + 0x5d8: 0x2000, 0x5d9: 0x2000, + 0x5f8: 0x2000, 0x5f9: 0x2000, + // Block 0x18, offset 0x600 + 0x612: 0x2000, 0x614: 0x2000, + 0x627: 0x2000, + // Block 0x19, offset 0x640 + 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, + 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, + 0x64f: 0x2000, 0x651: 0x2000, + 0x655: 0x2000, + 0x65a: 0x2000, 0x65d: 0x2000, + 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, + 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, + 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, + 0x674: 0x2000, 0x675: 0x2000, + 0x676: 0x2000, 0x677: 0x2000, + 0x67c: 0x2000, 0x67d: 0x2000, + // Block 0x1a, offset 0x680 + 0x688: 0x2000, + 0x68c: 0x2000, + 0x692: 0x2000, + 0x6a0: 0x2000, 0x6a1: 0x2000, + 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, + 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, + // Block 0x1b, offset 0x6c0 + 0x6c2: 0x2000, 0x6c3: 0x2000, + 0x6c6: 0x2000, 0x6c7: 0x2000, + 0x6d5: 0x2000, + 0x6d9: 0x2000, + 0x6e5: 0x2000, + 0x6ff: 0x2000, + // Block 0x1c, offset 0x700 + 0x712: 0x2000, + 0x71a: 0x4000, 0x71b: 0x4000, + 0x729: 0x4000, + 0x72a: 0x4000, + // Block 0x1d, offset 0x740 + 0x769: 0x4000, + 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, + 0x770: 0x4000, 0x773: 0x4000, + // Block 0x1e, offset 0x780 + 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, + 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, + 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, + 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, + 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, + 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, + 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, + 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, + 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, + 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, + 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, + 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, + 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, + 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, + 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, + 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, + // Block 0x20, offset 0x800 + 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, + 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, + 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, + 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, + 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, + 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, + 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, + 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, + 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, + 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, + 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, + // Block 0x21, offset 0x840 + 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, + 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, + 0x850: 0x2000, 0x851: 0x2000, + 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, + 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, + 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, + 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, + 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, + 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, + // Block 0x22, offset 0x880 + 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, + 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, + 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, + 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, + 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, + 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, + 0x8b2: 0x2000, 0x8b3: 0x2000, + 0x8b6: 0x2000, 0x8b7: 0x2000, + 0x8bc: 0x2000, 0x8bd: 0x2000, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x2000, 0x8c1: 0x2000, + 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, + 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, + 0x8e2: 0x2000, 0x8e3: 0x2000, + 0x8e4: 0x2000, 0x8e5: 0x2000, + 0x8ef: 0x2000, + 0x8fd: 0x4000, 0x8fe: 0x4000, + // Block 0x24, offset 0x900 + 0x905: 0x2000, + 0x906: 0x2000, 0x909: 0x2000, + 0x90e: 0x2000, 0x90f: 0x2000, + 0x914: 0x4000, 0x915: 0x4000, + 0x91c: 0x2000, + 0x91e: 0x2000, + // Block 0x25, offset 0x940 + 0x940: 0x2000, 0x942: 0x2000, + 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, + 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, + 0x952: 0x4000, 0x953: 0x4000, + 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, + 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, + 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, + 0x97f: 0x4000, + // Block 0x26, offset 0x980 + 0x993: 0x4000, + 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, + 0x9aa: 0x4000, 0x9ab: 0x4000, + 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, + // Block 0x27, offset 0x9c0 + 0x9c4: 0x4000, 0x9c5: 0x4000, + 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, + 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, + 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, + 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, + 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, + 0x9e8: 0x2000, 0x9e9: 0x2000, + 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, + 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, + 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, + 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, + // Block 0x28, offset 0xa00 + 0xa05: 0x4000, + 0xa0a: 0x4000, 0xa0b: 0x4000, + 0xa28: 0x4000, + 0xa3d: 0x2000, + // Block 0x29, offset 0xa40 + 0xa4c: 0x4000, 0xa4e: 0x4000, + 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, + 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, + 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, + // Block 0x2a, offset 0xa80 + 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, + 0xab0: 0x4000, + 0xabf: 0x4000, + // Block 0x2b, offset 0xac0 + 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, + 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, + // Block 0x2c, offset 0xb00 + 0xb05: 0x6010, + 0xb06: 0x6011, + // Block 0x2d, offset 0xb40 + 0xb5b: 0x4000, 0xb5c: 0x4000, + // Block 0x2e, offset 0xb80 + 0xb90: 0x4000, + 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, + 0xb98: 0x2000, 0xb99: 0x2000, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, + 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, + 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, + 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, + 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, + 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, + 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, + 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, + 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, + 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, + 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, + // Block 0x30, offset 0xc00 + 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, + 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, + 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, + 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, + 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, + 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, + 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, + 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, + 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, + // Block 0x31, offset 0xc40 + 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, + 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, + 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, + 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, + 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, + 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, + // Block 0x32, offset 0xc80 + 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, + 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, + 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, + 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, + 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, + 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, + 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, + 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, + 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, + 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, + 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, + // Block 0x33, offset 0xcc0 + 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, + 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, + 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, + 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, + 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, + 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, + 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, + 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, + 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, + 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, + 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, + // Block 0x34, offset 0xd00 + 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, + 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, + 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, + 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, + 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, + 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, + 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, + 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, + 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, + 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, + 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, + // Block 0x35, offset 0xd40 + 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, + 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, + 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, + 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, + 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, + 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, + 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, + 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, + 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, + 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, + 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, + // Block 0x36, offset 0xd80 + 0xd85: 0x4000, + 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, + 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, + 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, + 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, + 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, + 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, + 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, + 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, + 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, + 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, + 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, + 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, + 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, + 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, + 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, + 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, + 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, + 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, + 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, + 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, + // Block 0x38, offset 0xe00 + 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, + 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, + 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, + 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, + 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, + 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, + 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, + 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, + 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, + 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, + // Block 0x39, offset 0xe40 + 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, + 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, + 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, + 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, + 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, + 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, + 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, + 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, + 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, + // Block 0x3a, offset 0xe80 + 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, + 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, + 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, + 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, + 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, + 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, + 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, + 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, + 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, + 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, + 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, + // Block 0x3b, offset 0xec0 + 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, + 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, + 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, + 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, + 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, + 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, + 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, + 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, + 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, + 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, + 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, + // Block 0x3c, offset 0xf00 + 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, + 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, + 0xf0c: 0x4000, 0xf0d: 0x4000, 0xf0e: 0x4000, 0xf0f: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, + 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, + 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, + 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, + 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, + 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, + 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, + 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, + 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, + // Block 0x3d, offset 0xf40 + 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, + 0xf46: 0x4000, 0xf47: 0x4000, 0xf48: 0x4000, 0xf49: 0x4000, 0xf4a: 0x4000, 0xf4b: 0x4000, + 0xf4c: 0x4000, 0xf50: 0x4000, 0xf51: 0x4000, + 0xf52: 0x4000, 0xf53: 0x4000, 0xf54: 0x4000, 0xf55: 0x4000, 0xf56: 0x4000, 0xf57: 0x4000, + 0xf58: 0x4000, 0xf59: 0x4000, 0xf5a: 0x4000, 0xf5b: 0x4000, 0xf5c: 0x4000, 0xf5d: 0x4000, + 0xf5e: 0x4000, 0xf5f: 0x4000, 0xf60: 0x4000, 0xf61: 0x4000, 0xf62: 0x4000, 0xf63: 0x4000, + 0xf64: 0x4000, 0xf65: 0x4000, 0xf66: 0x4000, 0xf67: 0x4000, 0xf68: 0x4000, 0xf69: 0x4000, + 0xf6a: 0x4000, 0xf6b: 0x4000, 0xf6c: 0x4000, 0xf6d: 0x4000, 0xf6e: 0x4000, 0xf6f: 0x4000, + 0xf70: 0x4000, 0xf71: 0x4000, 0xf72: 0x4000, 0xf73: 0x4000, 0xf74: 0x4000, 0xf75: 0x4000, + 0xf76: 0x4000, 0xf77: 0x4000, 0xf78: 0x4000, 0xf79: 0x4000, 0xf7a: 0x4000, 0xf7b: 0x4000, + 0xf7c: 0x4000, 0xf7d: 0x4000, 0xf7e: 0x4000, 0xf7f: 0x4000, + // Block 0x3e, offset 0xf80 + 0xf80: 0x4000, 0xf81: 0x4000, 0xf82: 0x4000, 0xf83: 0x4000, 0xf84: 0x4000, 0xf85: 0x4000, + 0xf86: 0x4000, + // Block 0x3f, offset 0xfc0 + 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, + 0xfe4: 0x4000, 0xfe5: 0x4000, 0xfe6: 0x4000, 0xfe7: 0x4000, 0xfe8: 0x4000, 0xfe9: 0x4000, + 0xfea: 0x4000, 0xfeb: 0x4000, 0xfec: 0x4000, 0xfed: 0x4000, 0xfee: 0x4000, 0xfef: 0x4000, + 0xff0: 0x4000, 0xff1: 0x4000, 0xff2: 0x4000, 0xff3: 0x4000, 0xff4: 0x4000, 0xff5: 0x4000, + 0xff6: 0x4000, 0xff7: 0x4000, 0xff8: 0x4000, 0xff9: 0x4000, 0xffa: 0x4000, 0xffb: 0x4000, + 0xffc: 0x4000, + // Block 0x40, offset 0x1000 + 0x1000: 0x4000, 0x1001: 0x4000, 0x1002: 0x4000, 0x1003: 0x4000, 0x1004: 0x4000, 0x1005: 0x4000, + 0x1006: 0x4000, 0x1007: 0x4000, 0x1008: 0x4000, 0x1009: 0x4000, 0x100a: 0x4000, 0x100b: 0x4000, + 0x100c: 0x4000, 0x100d: 0x4000, 0x100e: 0x4000, 0x100f: 0x4000, 0x1010: 0x4000, 0x1011: 0x4000, + 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, + 0x1018: 0x4000, 0x1019: 0x4000, 0x101a: 0x4000, 0x101b: 0x4000, 0x101c: 0x4000, 0x101d: 0x4000, + 0x101e: 0x4000, 0x101f: 0x4000, 0x1020: 0x4000, 0x1021: 0x4000, 0x1022: 0x4000, 0x1023: 0x4000, + // Block 0x41, offset 0x1040 + 0x1040: 0x2000, 0x1041: 0x2000, 0x1042: 0x2000, 0x1043: 0x2000, 0x1044: 0x2000, 0x1045: 0x2000, + 0x1046: 0x2000, 0x1047: 0x2000, 0x1048: 0x2000, 0x1049: 0x2000, 0x104a: 0x2000, 0x104b: 0x2000, + 0x104c: 0x2000, 0x104d: 0x2000, 0x104e: 0x2000, 0x104f: 0x2000, 0x1050: 0x4000, 0x1051: 0x4000, + 0x1052: 0x4000, 0x1053: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, + 0x1058: 0x4000, 0x1059: 0x4000, + 0x1070: 0x4000, 0x1071: 0x4000, 0x1072: 0x4000, 0x1073: 0x4000, 0x1074: 0x4000, 0x1075: 0x4000, + 0x1076: 0x4000, 0x1077: 0x4000, 0x1078: 0x4000, 0x1079: 0x4000, 0x107a: 0x4000, 0x107b: 0x4000, + 0x107c: 0x4000, 0x107d: 0x4000, 0x107e: 0x4000, 0x107f: 0x4000, + // Block 0x42, offset 0x1080 + 0x1080: 0x4000, 0x1081: 0x4000, 0x1082: 0x4000, 0x1083: 0x4000, 0x1084: 0x4000, 0x1085: 0x4000, + 0x1086: 0x4000, 0x1087: 0x4000, 0x1088: 0x4000, 0x1089: 0x4000, 0x108a: 0x4000, 0x108b: 0x4000, + 0x108c: 0x4000, 0x108d: 0x4000, 0x108e: 0x4000, 0x108f: 0x4000, 0x1090: 0x4000, 0x1091: 0x4000, + 0x1092: 0x4000, 0x1094: 0x4000, 0x1095: 0x4000, 0x1096: 0x4000, 0x1097: 0x4000, + 0x1098: 0x4000, 0x1099: 0x4000, 0x109a: 0x4000, 0x109b: 0x4000, 0x109c: 0x4000, 0x109d: 0x4000, + 0x109e: 0x4000, 0x109f: 0x4000, 0x10a0: 0x4000, 0x10a1: 0x4000, 0x10a2: 0x4000, 0x10a3: 0x4000, + 0x10a4: 0x4000, 0x10a5: 0x4000, 0x10a6: 0x4000, 0x10a8: 0x4000, 0x10a9: 0x4000, + 0x10aa: 0x4000, 0x10ab: 0x4000, + // Block 0x43, offset 0x10c0 + 0x10c1: 0x9012, 0x10c2: 0x9012, 0x10c3: 0x9012, 0x10c4: 0x9012, 0x10c5: 0x9012, + 0x10c6: 0x9012, 0x10c7: 0x9012, 0x10c8: 0x9012, 0x10c9: 0x9012, 0x10ca: 0x9012, 0x10cb: 0x9012, + 0x10cc: 0x9012, 0x10cd: 0x9012, 0x10ce: 0x9012, 0x10cf: 0x9012, 0x10d0: 0x9012, 0x10d1: 0x9012, + 0x10d2: 0x9012, 0x10d3: 0x9012, 0x10d4: 0x9012, 0x10d5: 0x9012, 0x10d6: 0x9012, 0x10d7: 0x9012, + 0x10d8: 0x9012, 0x10d9: 0x9012, 0x10da: 0x9012, 0x10db: 0x9012, 0x10dc: 0x9012, 0x10dd: 0x9012, + 0x10de: 0x9012, 0x10df: 0x9012, 0x10e0: 0x9049, 0x10e1: 0x9049, 0x10e2: 0x9049, 0x10e3: 0x9049, + 0x10e4: 0x9049, 0x10e5: 0x9049, 0x10e6: 0x9049, 0x10e7: 0x9049, 0x10e8: 0x9049, 0x10e9: 0x9049, + 0x10ea: 0x9049, 0x10eb: 0x9049, 0x10ec: 0x9049, 0x10ed: 0x9049, 0x10ee: 0x9049, 0x10ef: 0x9049, + 0x10f0: 0x9049, 0x10f1: 0x9049, 0x10f2: 0x9049, 0x10f3: 0x9049, 0x10f4: 0x9049, 0x10f5: 0x9049, + 0x10f6: 0x9049, 0x10f7: 0x9049, 0x10f8: 0x9049, 0x10f9: 0x9049, 0x10fa: 0x9049, 0x10fb: 0x9049, + 0x10fc: 0x9049, 0x10fd: 0x9049, 0x10fe: 0x9049, 0x10ff: 0x9049, + // Block 0x44, offset 0x1100 + 0x1100: 0x9049, 0x1101: 0x9049, 0x1102: 0x9049, 0x1103: 0x9049, 0x1104: 0x9049, 0x1105: 0x9049, + 0x1106: 0x9049, 0x1107: 0x9049, 0x1108: 0x9049, 0x1109: 0x9049, 0x110a: 0x9049, 0x110b: 0x9049, + 0x110c: 0x9049, 0x110d: 0x9049, 0x110e: 0x9049, 0x110f: 0x9049, 0x1110: 0x9049, 0x1111: 0x9049, + 0x1112: 0x9049, 0x1113: 0x9049, 0x1114: 0x9049, 0x1115: 0x9049, 0x1116: 0x9049, 0x1117: 0x9049, + 0x1118: 0x9049, 0x1119: 0x9049, 0x111a: 0x9049, 0x111b: 0x9049, 0x111c: 0x9049, 0x111d: 0x9049, + 0x111e: 0x9049, 0x111f: 0x904a, 0x1120: 0x904b, 0x1121: 0xb04c, 0x1122: 0xb04d, 0x1123: 0xb04d, + 0x1124: 0xb04e, 0x1125: 0xb04f, 0x1126: 0xb050, 0x1127: 0xb051, 0x1128: 0xb052, 0x1129: 0xb053, + 0x112a: 0xb054, 0x112b: 0xb055, 0x112c: 0xb056, 0x112d: 0xb057, 0x112e: 0xb058, 0x112f: 0xb059, + 0x1130: 0xb05a, 0x1131: 0xb05b, 0x1132: 0xb05c, 0x1133: 0xb05d, 0x1134: 0xb05e, 0x1135: 0xb05f, + 0x1136: 0xb060, 0x1137: 0xb061, 0x1138: 0xb062, 0x1139: 0xb063, 0x113a: 0xb064, 0x113b: 0xb065, + 0x113c: 0xb052, 0x113d: 0xb066, 0x113e: 0xb067, 0x113f: 0xb055, + // Block 0x45, offset 0x1140 + 0x1140: 0xb068, 0x1141: 0xb069, 0x1142: 0xb06a, 0x1143: 0xb06b, 0x1144: 0xb05a, 0x1145: 0xb056, + 0x1146: 0xb06c, 0x1147: 0xb06d, 0x1148: 0xb06b, 0x1149: 0xb06e, 0x114a: 0xb06b, 0x114b: 0xb06f, + 0x114c: 0xb06f, 0x114d: 0xb070, 0x114e: 0xb070, 0x114f: 0xb071, 0x1150: 0xb056, 0x1151: 0xb072, + 0x1152: 0xb073, 0x1153: 0xb072, 0x1154: 0xb074, 0x1155: 0xb073, 0x1156: 0xb075, 0x1157: 0xb075, + 0x1158: 0xb076, 0x1159: 0xb076, 0x115a: 0xb077, 0x115b: 0xb077, 0x115c: 0xb073, 0x115d: 0xb078, + 0x115e: 0xb079, 0x115f: 0xb067, 0x1160: 0xb07a, 0x1161: 0xb07b, 0x1162: 0xb07b, 0x1163: 0xb07b, + 0x1164: 0xb07b, 0x1165: 0xb07b, 0x1166: 0xb07b, 0x1167: 0xb07b, 0x1168: 0xb07b, 0x1169: 0xb07b, + 0x116a: 0xb07b, 0x116b: 0xb07b, 0x116c: 0xb07b, 0x116d: 0xb07b, 0x116e: 0xb07b, 0x116f: 0xb07b, + 0x1170: 0xb07c, 0x1171: 0xb07c, 0x1172: 0xb07c, 0x1173: 0xb07c, 0x1174: 0xb07c, 0x1175: 0xb07c, + 0x1176: 0xb07c, 0x1177: 0xb07c, 0x1178: 0xb07c, 0x1179: 0xb07c, 0x117a: 0xb07c, 0x117b: 0xb07c, + 0x117c: 0xb07c, 0x117d: 0xb07c, 0x117e: 0xb07c, + // Block 0x46, offset 0x1180 + 0x1182: 0xb07d, 0x1183: 0xb07e, 0x1184: 0xb07f, 0x1185: 0xb080, + 0x1186: 0xb07f, 0x1187: 0xb07e, 0x118a: 0xb081, 0x118b: 0xb082, + 0x118c: 0xb083, 0x118d: 0xb07f, 0x118e: 0xb080, 0x118f: 0xb07f, + 0x1192: 0xb084, 0x1193: 0xb085, 0x1194: 0xb084, 0x1195: 0xb086, 0x1196: 0xb084, 0x1197: 0xb087, + 0x119a: 0xb088, 0x119b: 0xb089, 0x119c: 0xb08a, + 0x11a0: 0x908b, 0x11a1: 0x908b, 0x11a2: 0x908c, 0x11a3: 0x908d, + 0x11a4: 0x908b, 0x11a5: 0x908e, 0x11a6: 0x908f, 0x11a8: 0xb090, 0x11a9: 0xb091, + 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, + 0x11bd: 0x2000, + // Block 0x47, offset 0x11c0 + 0x11e0: 0x4000, + // Block 0x48, offset 0x1200 + 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, + 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, + 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, + 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, 0x1216: 0x4000, 0x1217: 0x4000, + 0x1218: 0x4000, 0x1219: 0x4000, 0x121a: 0x4000, 0x121b: 0x4000, 0x121c: 0x4000, 0x121d: 0x4000, + 0x121e: 0x4000, 0x121f: 0x4000, 0x1220: 0x4000, 0x1221: 0x4000, 0x1222: 0x4000, 0x1223: 0x4000, + 0x1224: 0x4000, 0x1225: 0x4000, 0x1226: 0x4000, 0x1227: 0x4000, 0x1228: 0x4000, 0x1229: 0x4000, + 0x122a: 0x4000, 0x122b: 0x4000, 0x122c: 0x4000, + // Block 0x49, offset 0x1240 + 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, + 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, 0x1249: 0x4000, 0x124a: 0x4000, 0x124b: 0x4000, + 0x124c: 0x4000, 0x124d: 0x4000, 0x124e: 0x4000, 0x124f: 0x4000, 0x1250: 0x4000, 0x1251: 0x4000, + 0x1252: 0x4000, 0x1253: 0x4000, 0x1254: 0x4000, 0x1255: 0x4000, 0x1256: 0x4000, 0x1257: 0x4000, + 0x1258: 0x4000, 0x1259: 0x4000, 0x125a: 0x4000, 0x125b: 0x4000, 0x125c: 0x4000, 0x125d: 0x4000, + 0x125e: 0x4000, 0x125f: 0x4000, 0x1260: 0x4000, 0x1261: 0x4000, 0x1262: 0x4000, 0x1263: 0x4000, + 0x1264: 0x4000, 0x1265: 0x4000, 0x1266: 0x4000, 0x1267: 0x4000, 0x1268: 0x4000, 0x1269: 0x4000, + 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, + 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, + // Block 0x4a, offset 0x1280 + 0x1280: 0x4000, 0x1281: 0x4000, + // Block 0x4b, offset 0x12c0 + 0x12c4: 0x4000, + // Block 0x4c, offset 0x1300 + 0x130f: 0x4000, + // Block 0x4d, offset 0x1340 + 0x1340: 0x2000, 0x1341: 0x2000, 0x1342: 0x2000, 0x1343: 0x2000, 0x1344: 0x2000, 0x1345: 0x2000, + 0x1346: 0x2000, 0x1347: 0x2000, 0x1348: 0x2000, 0x1349: 0x2000, 0x134a: 0x2000, + 0x1350: 0x2000, 0x1351: 0x2000, + 0x1352: 0x2000, 0x1353: 0x2000, 0x1354: 0x2000, 0x1355: 0x2000, 0x1356: 0x2000, 0x1357: 0x2000, + 0x1358: 0x2000, 0x1359: 0x2000, 0x135a: 0x2000, 0x135b: 0x2000, 0x135c: 0x2000, 0x135d: 0x2000, + 0x135e: 0x2000, 0x135f: 0x2000, 0x1360: 0x2000, 0x1361: 0x2000, 0x1362: 0x2000, 0x1363: 0x2000, + 0x1364: 0x2000, 0x1365: 0x2000, 0x1366: 0x2000, 0x1367: 0x2000, 0x1368: 0x2000, 0x1369: 0x2000, + 0x136a: 0x2000, 0x136b: 0x2000, 0x136c: 0x2000, 0x136d: 0x2000, + 0x1370: 0x2000, 0x1371: 0x2000, 0x1372: 0x2000, 0x1373: 0x2000, 0x1374: 0x2000, 0x1375: 0x2000, + 0x1376: 0x2000, 0x1377: 0x2000, 0x1378: 0x2000, 0x1379: 0x2000, 0x137a: 0x2000, 0x137b: 0x2000, + 0x137c: 0x2000, 0x137d: 0x2000, 0x137e: 0x2000, 0x137f: 0x2000, + // Block 0x4e, offset 0x1380 + 0x1380: 0x2000, 0x1381: 0x2000, 0x1382: 0x2000, 0x1383: 0x2000, 0x1384: 0x2000, 0x1385: 0x2000, + 0x1386: 0x2000, 0x1387: 0x2000, 0x1388: 0x2000, 0x1389: 0x2000, 0x138a: 0x2000, 0x138b: 0x2000, + 0x138c: 0x2000, 0x138d: 0x2000, 0x138e: 0x2000, 0x138f: 0x2000, 0x1390: 0x2000, 0x1391: 0x2000, + 0x1392: 0x2000, 0x1393: 0x2000, 0x1394: 0x2000, 0x1395: 0x2000, 0x1396: 0x2000, 0x1397: 0x2000, + 0x1398: 0x2000, 0x1399: 0x2000, 0x139a: 0x2000, 0x139b: 0x2000, 0x139c: 0x2000, 0x139d: 0x2000, + 0x139e: 0x2000, 0x139f: 0x2000, 0x13a0: 0x2000, 0x13a1: 0x2000, 0x13a2: 0x2000, 0x13a3: 0x2000, + 0x13a4: 0x2000, 0x13a5: 0x2000, 0x13a6: 0x2000, 0x13a7: 0x2000, 0x13a8: 0x2000, 0x13a9: 0x2000, + 0x13b0: 0x2000, 0x13b1: 0x2000, 0x13b2: 0x2000, 0x13b3: 0x2000, 0x13b4: 0x2000, 0x13b5: 0x2000, + 0x13b6: 0x2000, 0x13b7: 0x2000, 0x13b8: 0x2000, 0x13b9: 0x2000, 0x13ba: 0x2000, 0x13bb: 0x2000, + 0x13bc: 0x2000, 0x13bd: 0x2000, 0x13be: 0x2000, 0x13bf: 0x2000, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, + 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, 0x13cb: 0x2000, + 0x13cc: 0x2000, 0x13cd: 0x2000, 0x13ce: 0x4000, 0x13cf: 0x2000, 0x13d0: 0x2000, 0x13d1: 0x4000, + 0x13d2: 0x4000, 0x13d3: 0x4000, 0x13d4: 0x4000, 0x13d5: 0x4000, 0x13d6: 0x4000, 0x13d7: 0x4000, + 0x13d8: 0x4000, 0x13d9: 0x4000, 0x13da: 0x4000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, + 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, + 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, + 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, + // Block 0x50, offset 0x1400 + 0x1400: 0x4000, 0x1401: 0x4000, 0x1402: 0x4000, + 0x1410: 0x4000, 0x1411: 0x4000, + 0x1412: 0x4000, 0x1413: 0x4000, 0x1414: 0x4000, 0x1415: 0x4000, 0x1416: 0x4000, 0x1417: 0x4000, + 0x1418: 0x4000, 0x1419: 0x4000, 0x141a: 0x4000, 0x141b: 0x4000, 0x141c: 0x4000, 0x141d: 0x4000, + 0x141e: 0x4000, 0x141f: 0x4000, 0x1420: 0x4000, 0x1421: 0x4000, 0x1422: 0x4000, 0x1423: 0x4000, + 0x1424: 0x4000, 0x1425: 0x4000, 0x1426: 0x4000, 0x1427: 0x4000, 0x1428: 0x4000, 0x1429: 0x4000, + 0x142a: 0x4000, 0x142b: 0x4000, 0x142c: 0x4000, 0x142d: 0x4000, 0x142e: 0x4000, 0x142f: 0x4000, + 0x1430: 0x4000, 0x1431: 0x4000, 0x1432: 0x4000, 0x1433: 0x4000, 0x1434: 0x4000, 0x1435: 0x4000, + 0x1436: 0x4000, 0x1437: 0x4000, 0x1438: 0x4000, 0x1439: 0x4000, 0x143a: 0x4000, 0x143b: 0x4000, + // Block 0x51, offset 0x1440 + 0x1440: 0x4000, 0x1441: 0x4000, 0x1442: 0x4000, 0x1443: 0x4000, 0x1444: 0x4000, 0x1445: 0x4000, + 0x1446: 0x4000, 0x1447: 0x4000, 0x1448: 0x4000, + 0x1450: 0x4000, 0x1451: 0x4000, + // Block 0x52, offset 0x1480 + 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, 0x1483: 0x4000, 0x1484: 0x4000, 0x1485: 0x4000, + 0x1486: 0x4000, 0x1487: 0x4000, 0x1488: 0x4000, 0x1489: 0x4000, 0x148a: 0x4000, 0x148b: 0x4000, + 0x148c: 0x4000, 0x148d: 0x4000, 0x148e: 0x4000, 0x148f: 0x4000, 0x1490: 0x4000, 0x1491: 0x4000, + 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, + 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, + 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, + 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, + 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, + 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, + 0x14bc: 0x4000, 0x14bd: 0x4000, 0x14be: 0x4000, 0x14bf: 0x4000, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, + 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, 0x14c9: 0x4000, 0x14ca: 0x4000, 0x14cb: 0x4000, + 0x14cc: 0x4000, 0x14cd: 0x4000, 0x14ce: 0x4000, 0x14cf: 0x4000, 0x14d0: 0x4000, 0x14d1: 0x4000, + 0x14d2: 0x4000, 0x14d3: 0x4000, 0x14d4: 0x4000, 0x14d5: 0x4000, 0x14d6: 0x4000, 0x14d7: 0x4000, + 0x14d8: 0x4000, 0x14d9: 0x4000, 0x14da: 0x4000, 0x14db: 0x4000, 0x14dc: 0x4000, 0x14dd: 0x4000, + 0x14de: 0x4000, 0x14df: 0x4000, 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, + 0x14e4: 0x4000, 0x14e5: 0x4000, 0x14e6: 0x4000, 0x14e7: 0x4000, 0x14e8: 0x4000, 0x14e9: 0x4000, + 0x14ea: 0x4000, 0x14eb: 0x4000, 0x14ec: 0x4000, 0x14ed: 0x4000, 0x14ee: 0x4000, 0x14ef: 0x4000, + 0x14f0: 0x4000, 0x14f1: 0x4000, 0x14f2: 0x4000, 0x14f3: 0x4000, 0x14f4: 0x4000, 0x14f5: 0x4000, + 0x14f6: 0x4000, 0x14f7: 0x4000, 0x14f8: 0x4000, 0x14f9: 0x4000, 0x14fa: 0x4000, 0x14fb: 0x4000, + 0x14fc: 0x4000, 0x14fe: 0x4000, 0x14ff: 0x4000, + // Block 0x54, offset 0x1500 + 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, + 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, + 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, + 0x1512: 0x4000, 0x1513: 0x4000, + 0x1520: 0x4000, 0x1521: 0x4000, 0x1522: 0x4000, 0x1523: 0x4000, + 0x1524: 0x4000, 0x1525: 0x4000, 0x1526: 0x4000, 0x1527: 0x4000, 0x1528: 0x4000, 0x1529: 0x4000, + 0x152a: 0x4000, 0x152b: 0x4000, 0x152c: 0x4000, 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, + 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, + 0x1536: 0x4000, 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, + 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, + // Block 0x55, offset 0x1540 + 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, + 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, + 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, + 0x1552: 0x4000, 0x1553: 0x4000, + 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, + 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, + 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, + 0x1570: 0x4000, 0x1574: 0x4000, + 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, + 0x157c: 0x4000, 0x157d: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, + // Block 0x56, offset 0x1580 + 0x1580: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, + 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, + 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, + 0x1592: 0x4000, 0x1593: 0x4000, 0x1594: 0x4000, 0x1595: 0x4000, 0x1596: 0x4000, 0x1597: 0x4000, + 0x1598: 0x4000, 0x1599: 0x4000, 0x159a: 0x4000, 0x159b: 0x4000, 0x159c: 0x4000, 0x159d: 0x4000, + 0x159e: 0x4000, 0x159f: 0x4000, 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, + 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, + 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, + 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, + 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, + 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, + 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, 0x15cb: 0x4000, + 0x15cc: 0x4000, 0x15cd: 0x4000, 0x15ce: 0x4000, 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, + 0x15d2: 0x4000, 0x15d3: 0x4000, 0x15d4: 0x4000, 0x15d5: 0x4000, 0x15d6: 0x4000, 0x15d7: 0x4000, + 0x15d8: 0x4000, 0x15d9: 0x4000, 0x15da: 0x4000, 0x15db: 0x4000, 0x15dc: 0x4000, 0x15dd: 0x4000, + 0x15de: 0x4000, 0x15df: 0x4000, 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, + 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, + 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, + 0x15f0: 0x4000, 0x15f1: 0x4000, 0x15f2: 0x4000, 0x15f3: 0x4000, 0x15f4: 0x4000, 0x15f5: 0x4000, + 0x15f6: 0x4000, 0x15f7: 0x4000, 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, + 0x15fc: 0x4000, 0x15ff: 0x4000, + // Block 0x58, offset 0x1600 + 0x1600: 0x4000, 0x1601: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, + 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, + 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, + 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, + 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, + 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, + 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, + 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, + 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, + 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, + 0x163c: 0x4000, 0x163d: 0x4000, + // Block 0x59, offset 0x1640 + 0x164b: 0x4000, + 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, + 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, + 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, + 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, + 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, + 0x167a: 0x4000, + // Block 0x5a, offset 0x1680 + 0x1695: 0x4000, 0x1696: 0x4000, + 0x16a4: 0x4000, + // Block 0x5b, offset 0x16c0 + 0x16fb: 0x4000, + 0x16fc: 0x4000, 0x16fd: 0x4000, 0x16fe: 0x4000, 0x16ff: 0x4000, + // Block 0x5c, offset 0x1700 + 0x1700: 0x4000, 0x1701: 0x4000, 0x1702: 0x4000, 0x1703: 0x4000, 0x1704: 0x4000, 0x1705: 0x4000, + 0x1706: 0x4000, 0x1707: 0x4000, 0x1708: 0x4000, 0x1709: 0x4000, 0x170a: 0x4000, 0x170b: 0x4000, + 0x170c: 0x4000, 0x170d: 0x4000, 0x170e: 0x4000, 0x170f: 0x4000, + // Block 0x5d, offset 0x1740 + 0x1740: 0x4000, 0x1741: 0x4000, 0x1742: 0x4000, 0x1743: 0x4000, 0x1744: 0x4000, 0x1745: 0x4000, + 0x174c: 0x4000, 0x1750: 0x4000, 0x1751: 0x4000, + 0x1752: 0x4000, + 0x176b: 0x4000, 0x176c: 0x4000, + 0x1774: 0x4000, 0x1775: 0x4000, + 0x1776: 0x4000, + // Block 0x5e, offset 0x1780 + 0x1790: 0x4000, 0x1791: 0x4000, + 0x1792: 0x4000, 0x1793: 0x4000, 0x1794: 0x4000, 0x1795: 0x4000, 0x1796: 0x4000, 0x1797: 0x4000, + 0x1798: 0x4000, 0x1799: 0x4000, 0x179a: 0x4000, 0x179b: 0x4000, 0x179c: 0x4000, 0x179d: 0x4000, + 0x179e: 0x4000, 0x17a0: 0x4000, 0x17a1: 0x4000, 0x17a2: 0x4000, 0x17a3: 0x4000, + 0x17a4: 0x4000, 0x17a5: 0x4000, 0x17a6: 0x4000, 0x17a7: 0x4000, + 0x17b0: 0x4000, 0x17b3: 0x4000, 0x17b4: 0x4000, 0x17b5: 0x4000, + 0x17b6: 0x4000, 0x17b7: 0x4000, 0x17b8: 0x4000, 0x17b9: 0x4000, 0x17ba: 0x4000, 0x17bb: 0x4000, + 0x17bc: 0x4000, 0x17bd: 0x4000, 0x17be: 0x4000, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, + 0x17c6: 0x4000, 0x17c7: 0x4000, 0x17c8: 0x4000, 0x17c9: 0x4000, 0x17ca: 0x4000, 0x17cb: 0x4000, + 0x17d0: 0x4000, 0x17d1: 0x4000, + 0x17d2: 0x4000, 0x17d3: 0x4000, 0x17d4: 0x4000, 0x17d5: 0x4000, 0x17d6: 0x4000, 0x17d7: 0x4000, + 0x17d8: 0x4000, 0x17d9: 0x4000, 0x17da: 0x4000, 0x17db: 0x4000, 0x17dc: 0x4000, 0x17dd: 0x4000, + 0x17de: 0x4000, + // Block 0x60, offset 0x1800 + 0x1800: 0x4000, 0x1801: 0x4000, 0x1802: 0x4000, 0x1803: 0x4000, 0x1804: 0x4000, 0x1805: 0x4000, + 0x1806: 0x4000, 0x1807: 0x4000, 0x1808: 0x4000, 0x1809: 0x4000, 0x180a: 0x4000, 0x180b: 0x4000, + 0x180c: 0x4000, 0x180d: 0x4000, 0x180e: 0x4000, 0x180f: 0x4000, 0x1810: 0x4000, 0x1811: 0x4000, + // Block 0x61, offset 0x1840 + 0x1840: 0x4000, + // Block 0x62, offset 0x1880 + 0x1880: 0x2000, 0x1881: 0x2000, 0x1882: 0x2000, 0x1883: 0x2000, 0x1884: 0x2000, 0x1885: 0x2000, + 0x1886: 0x2000, 0x1887: 0x2000, 0x1888: 0x2000, 0x1889: 0x2000, 0x188a: 0x2000, 0x188b: 0x2000, + 0x188c: 0x2000, 0x188d: 0x2000, 0x188e: 0x2000, 0x188f: 0x2000, 0x1890: 0x2000, 0x1891: 0x2000, + 0x1892: 0x2000, 0x1893: 0x2000, 0x1894: 0x2000, 0x1895: 0x2000, 0x1896: 0x2000, 0x1897: 0x2000, + 0x1898: 0x2000, 0x1899: 0x2000, 0x189a: 0x2000, 0x189b: 0x2000, 0x189c: 0x2000, 0x189d: 0x2000, + 0x189e: 0x2000, 0x189f: 0x2000, 0x18a0: 0x2000, 0x18a1: 0x2000, 0x18a2: 0x2000, 0x18a3: 0x2000, + 0x18a4: 0x2000, 0x18a5: 0x2000, 0x18a6: 0x2000, 0x18a7: 0x2000, 0x18a8: 0x2000, 0x18a9: 0x2000, + 0x18aa: 0x2000, 0x18ab: 0x2000, 0x18ac: 0x2000, 0x18ad: 0x2000, 0x18ae: 0x2000, 0x18af: 0x2000, + 0x18b0: 0x2000, 0x18b1: 0x2000, 0x18b2: 0x2000, 0x18b3: 0x2000, 0x18b4: 0x2000, 0x18b5: 0x2000, + 0x18b6: 0x2000, 0x18b7: 0x2000, 0x18b8: 0x2000, 0x18b9: 0x2000, 0x18ba: 0x2000, 0x18bb: 0x2000, + 0x18bc: 0x2000, 0x18bd: 0x2000, +} + +// widthIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var widthIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, + 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, + 0xd0: 0x0c, 0xd1: 0x0d, + 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, + 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, + 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, + // Block 0x4, offset 0x100 + 0x104: 0x0e, 0x105: 0x0f, + // Block 0x5, offset 0x140 + 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, + 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, + 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, + 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, + 0x166: 0x2a, + 0x16c: 0x2b, 0x16d: 0x2c, + 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, + // Block 0x6, offset 0x180 + 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, + 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x3a, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, + 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, + 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, + 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, + 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, + 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, + 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, + 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, + 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, + 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, + 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, + 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, + 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, + 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, + // Block 0x8, offset 0x200 + 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, + 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, + 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, + 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, + 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, + 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, + 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, + 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, + // Block 0x9, offset 0x240 + 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, + 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, + 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3b, 0x253: 0x3c, + 0x265: 0x3d, + 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, + 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, + // Block 0xa, offset 0x280 + 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, + 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, + 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, + 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3e, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, + 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, + 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, + 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, + 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, + 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, + 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, + 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, + // Block 0xc, offset 0x300 + 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, + 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, + 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, + 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, + 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, + 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, + 0x338: 0x3f, 0x339: 0x40, 0x33c: 0x41, 0x33d: 0x42, 0x33e: 0x43, 0x33f: 0x44, + // Block 0xd, offset 0x340 + 0x37f: 0x45, + // Block 0xe, offset 0x380 + 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, + 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, + 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, + 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x46, + 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, + 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x48, + // Block 0x10, offset 0x400 + 0x400: 0x49, 0x403: 0x4a, 0x404: 0x4b, 0x405: 0x4c, 0x406: 0x4d, + 0x408: 0x4e, 0x409: 0x4f, 0x40c: 0x50, 0x40d: 0x51, 0x40e: 0x52, 0x40f: 0x53, + 0x410: 0x3a, 0x411: 0x54, 0x412: 0x0e, 0x413: 0x55, 0x414: 0x56, 0x415: 0x57, 0x416: 0x58, 0x417: 0x59, + 0x418: 0x0e, 0x419: 0x5a, 0x41a: 0x0e, 0x41b: 0x5b, + 0x424: 0x5c, 0x425: 0x5d, 0x426: 0x5e, 0x427: 0x5f, + // Block 0x11, offset 0x440 + 0x456: 0x0b, 0x457: 0x06, + 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, + 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, + 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, + 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, + 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, + // Block 0x12, offset 0x480 + 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, + 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, + 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, + 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, + 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, + 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, + 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, + 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x60, + // Block 0x14, offset 0x500 + 0x520: 0x10, + 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, + 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, + // Block 0x15, offset 0x540 + 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, + 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, +} + +// inverseData contains 4-byte entries of the following format: +// <0 padding> +// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the +// UTF-8 encoding of the original rune. Mappings often have the following +// pattern: +// A -> A (U+FF21 -> U+0041) +// B -> B (U+FF22 -> U+0042) +// ... +// By xor-ing the last byte the same entry can be shared by many mappings. This +// reduces the total number of distinct entries by about two thirds. +// The resulting entry for the aforementioned mappings is +// { 0x01, 0xE0, 0x00, 0x00 } +// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get +// E0 ^ A1 = 41. +// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get +// E0 ^ A2 = 42. +// Note that because of the xor-ing, the byte sequence stored in the entry is +// not valid UTF-8. +var inverseData = [150][4]byte{ + {0x00, 0x00, 0x00, 0x00}, + {0x03, 0xe3, 0x80, 0xa0}, + {0x03, 0xef, 0xbc, 0xa0}, + {0x03, 0xef, 0xbc, 0xe0}, + {0x03, 0xef, 0xbd, 0xe0}, + {0x03, 0xef, 0xbf, 0x02}, + {0x03, 0xef, 0xbf, 0x00}, + {0x03, 0xef, 0xbf, 0x0e}, + {0x03, 0xef, 0xbf, 0x0c}, + {0x03, 0xef, 0xbf, 0x0f}, + {0x03, 0xef, 0xbf, 0x39}, + {0x03, 0xef, 0xbf, 0x3b}, + {0x03, 0xef, 0xbf, 0x3f}, + {0x03, 0xef, 0xbf, 0x2a}, + {0x03, 0xef, 0xbf, 0x0d}, + {0x03, 0xef, 0xbf, 0x25}, + {0x03, 0xef, 0xbd, 0x1a}, + {0x03, 0xef, 0xbd, 0x26}, + {0x01, 0xa0, 0x00, 0x00}, + {0x03, 0xef, 0xbd, 0x25}, + {0x03, 0xef, 0xbd, 0x23}, + {0x03, 0xef, 0xbd, 0x2e}, + {0x03, 0xef, 0xbe, 0x07}, + {0x03, 0xef, 0xbe, 0x05}, + {0x03, 0xef, 0xbd, 0x06}, + {0x03, 0xef, 0xbd, 0x13}, + {0x03, 0xef, 0xbd, 0x0b}, + {0x03, 0xef, 0xbd, 0x16}, + {0x03, 0xef, 0xbd, 0x0c}, + {0x03, 0xef, 0xbd, 0x15}, + {0x03, 0xef, 0xbd, 0x0d}, + {0x03, 0xef, 0xbd, 0x1c}, + {0x03, 0xef, 0xbd, 0x02}, + {0x03, 0xef, 0xbd, 0x1f}, + {0x03, 0xef, 0xbd, 0x1d}, + {0x03, 0xef, 0xbd, 0x17}, + {0x03, 0xef, 0xbd, 0x08}, + {0x03, 0xef, 0xbd, 0x09}, + {0x03, 0xef, 0xbd, 0x0e}, + {0x03, 0xef, 0xbd, 0x04}, + {0x03, 0xef, 0xbd, 0x05}, + {0x03, 0xef, 0xbe, 0x3f}, + {0x03, 0xef, 0xbe, 0x00}, + {0x03, 0xef, 0xbd, 0x2c}, + {0x03, 0xef, 0xbe, 0x06}, + {0x03, 0xef, 0xbe, 0x0c}, + {0x03, 0xef, 0xbe, 0x0f}, + {0x03, 0xef, 0xbe, 0x0d}, + {0x03, 0xef, 0xbe, 0x0b}, + {0x03, 0xef, 0xbe, 0x19}, + {0x03, 0xef, 0xbe, 0x15}, + {0x03, 0xef, 0xbe, 0x11}, + {0x03, 0xef, 0xbe, 0x31}, + {0x03, 0xef, 0xbe, 0x33}, + {0x03, 0xef, 0xbd, 0x0f}, + {0x03, 0xef, 0xbe, 0x30}, + {0x03, 0xef, 0xbe, 0x3e}, + {0x03, 0xef, 0xbe, 0x32}, + {0x03, 0xef, 0xbe, 0x36}, + {0x03, 0xef, 0xbd, 0x14}, + {0x03, 0xef, 0xbe, 0x2e}, + {0x03, 0xef, 0xbd, 0x1e}, + {0x03, 0xef, 0xbe, 0x10}, + {0x03, 0xef, 0xbf, 0x13}, + {0x03, 0xef, 0xbf, 0x15}, + {0x03, 0xef, 0xbf, 0x17}, + {0x03, 0xef, 0xbf, 0x1f}, + {0x03, 0xef, 0xbf, 0x1d}, + {0x03, 0xef, 0xbf, 0x1b}, + {0x03, 0xef, 0xbf, 0x09}, + {0x03, 0xef, 0xbf, 0x0b}, + {0x03, 0xef, 0xbf, 0x37}, + {0x03, 0xef, 0xbe, 0x04}, + {0x01, 0xe0, 0x00, 0x00}, + {0x03, 0xe2, 0xa6, 0x1a}, + {0x03, 0xe2, 0xa6, 0x26}, + {0x03, 0xe3, 0x80, 0x23}, + {0x03, 0xe3, 0x80, 0x2e}, + {0x03, 0xe3, 0x80, 0x25}, + {0x03, 0xe3, 0x83, 0x1e}, + {0x03, 0xe3, 0x83, 0x14}, + {0x03, 0xe3, 0x82, 0x06}, + {0x03, 0xe3, 0x82, 0x0b}, + {0x03, 0xe3, 0x82, 0x0c}, + {0x03, 0xe3, 0x82, 0x0d}, + {0x03, 0xe3, 0x82, 0x02}, + {0x03, 0xe3, 0x83, 0x0f}, + {0x03, 0xe3, 0x83, 0x08}, + {0x03, 0xe3, 0x83, 0x09}, + {0x03, 0xe3, 0x83, 0x2c}, + {0x03, 0xe3, 0x83, 0x0c}, + {0x03, 0xe3, 0x82, 0x13}, + {0x03, 0xe3, 0x82, 0x16}, + {0x03, 0xe3, 0x82, 0x15}, + {0x03, 0xe3, 0x82, 0x1c}, + {0x03, 0xe3, 0x82, 0x1f}, + {0x03, 0xe3, 0x82, 0x1d}, + {0x03, 0xe3, 0x82, 0x1a}, + {0x03, 0xe3, 0x82, 0x17}, + {0x03, 0xe3, 0x82, 0x08}, + {0x03, 0xe3, 0x82, 0x09}, + {0x03, 0xe3, 0x82, 0x0e}, + {0x03, 0xe3, 0x82, 0x04}, + {0x03, 0xe3, 0x82, 0x05}, + {0x03, 0xe3, 0x82, 0x3f}, + {0x03, 0xe3, 0x83, 0x00}, + {0x03, 0xe3, 0x83, 0x06}, + {0x03, 0xe3, 0x83, 0x05}, + {0x03, 0xe3, 0x83, 0x0d}, + {0x03, 0xe3, 0x83, 0x0b}, + {0x03, 0xe3, 0x83, 0x07}, + {0x03, 0xe3, 0x83, 0x19}, + {0x03, 0xe3, 0x83, 0x15}, + {0x03, 0xe3, 0x83, 0x11}, + {0x03, 0xe3, 0x83, 0x31}, + {0x03, 0xe3, 0x83, 0x33}, + {0x03, 0xe3, 0x83, 0x30}, + {0x03, 0xe3, 0x83, 0x3e}, + {0x03, 0xe3, 0x83, 0x32}, + {0x03, 0xe3, 0x83, 0x36}, + {0x03, 0xe3, 0x83, 0x2e}, + {0x03, 0xe3, 0x82, 0x07}, + {0x03, 0xe3, 0x85, 0x04}, + {0x03, 0xe3, 0x84, 0x10}, + {0x03, 0xe3, 0x85, 0x30}, + {0x03, 0xe3, 0x85, 0x0d}, + {0x03, 0xe3, 0x85, 0x13}, + {0x03, 0xe3, 0x85, 0x15}, + {0x03, 0xe3, 0x85, 0x17}, + {0x03, 0xe3, 0x85, 0x1f}, + {0x03, 0xe3, 0x85, 0x1d}, + {0x03, 0xe3, 0x85, 0x1b}, + {0x03, 0xe3, 0x85, 0x09}, + {0x03, 0xe3, 0x85, 0x0f}, + {0x03, 0xe3, 0x85, 0x0b}, + {0x03, 0xe3, 0x85, 0x37}, + {0x03, 0xe3, 0x85, 0x3b}, + {0x03, 0xe3, 0x85, 0x39}, + {0x03, 0xe3, 0x85, 0x3f}, + {0x02, 0xc2, 0x02, 0x00}, + {0x02, 0xc2, 0x0e, 0x00}, + {0x02, 0xc2, 0x0c, 0x00}, + {0x02, 0xc2, 0x00, 0x00}, + {0x03, 0xe2, 0x82, 0x0f}, + {0x03, 0xe2, 0x94, 0x2a}, + {0x03, 0xe2, 0x86, 0x39}, + {0x03, 0xe2, 0x86, 0x3b}, + {0x03, 0xe2, 0x86, 0x3f}, + {0x03, 0xe2, 0x96, 0x0d}, + {0x03, 0xe2, 0x97, 0x25}, +} + +// Total table size 14680 bytes (14KiB) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/transform.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/transform.go new file mode 100644 index 0000000..0049f70 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/transform.go @@ -0,0 +1,239 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package width + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +type foldTransform struct { + transform.NopResetter +} + +func (foldTransform) Span(src []byte, atEOF bool) (n int, err error) { + for n < len(src) { + if src[n] < utf8.RuneSelf { + // ASCII fast path. + for n++; n < len(src) && src[n] < utf8.RuneSelf; n++ { + } + continue + } + v, size := trie.lookup(src[n:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + err = transform.ErrShortSrc + } else { + n = len(src) + } + break + } + if elem(v)&tagNeedsFold != 0 { + err = transform.ErrEndOfSpan + break + } + n += size + } + return n, err +} + +func (foldTransform) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for nSrc < len(src) { + if src[nSrc] < utf8.RuneSelf { + // ASCII fast path. + start, end := nSrc, len(src) + if d := len(dst) - nDst; d < end-start { + end = nSrc + d + } + for nSrc++; nSrc < end && src[nSrc] < utf8.RuneSelf; nSrc++ { + } + n := copy(dst[nDst:], src[start:nSrc]) + if nDst += n; nDst == len(dst) { + nSrc = start + n + if nSrc == len(src) { + return nDst, nSrc, nil + } + if src[nSrc] < utf8.RuneSelf { + return nDst, nSrc, transform.ErrShortDst + } + } + continue + } + v, size := trie.lookup(src[nSrc:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + return nDst, nSrc, transform.ErrShortSrc + } + size = 1 // gobble 1 byte + } + if elem(v)&tagNeedsFold == 0 { + if size != copy(dst[nDst:], src[nSrc:nSrc+size]) { + return nDst, nSrc, transform.ErrShortDst + } + nDst += size + } else { + data := inverseData[byte(v)] + if len(dst)-nDst < int(data[0]) { + return nDst, nSrc, transform.ErrShortDst + } + i := 1 + for end := int(data[0]); i < end; i++ { + dst[nDst] = data[i] + nDst++ + } + dst[nDst] = data[i] ^ src[nSrc+size-1] + nDst++ + } + nSrc += size + } + return nDst, nSrc, nil +} + +type narrowTransform struct { + transform.NopResetter +} + +func (narrowTransform) Span(src []byte, atEOF bool) (n int, err error) { + for n < len(src) { + if src[n] < utf8.RuneSelf { + // ASCII fast path. + for n++; n < len(src) && src[n] < utf8.RuneSelf; n++ { + } + continue + } + v, size := trie.lookup(src[n:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + err = transform.ErrShortSrc + } else { + n = len(src) + } + break + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianFullwidth && k != EastAsianWide && k != EastAsianAmbiguous { + } else { + err = transform.ErrEndOfSpan + break + } + n += size + } + return n, err +} + +func (narrowTransform) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for nSrc < len(src) { + if src[nSrc] < utf8.RuneSelf { + // ASCII fast path. + start, end := nSrc, len(src) + if d := len(dst) - nDst; d < end-start { + end = nSrc + d + } + for nSrc++; nSrc < end && src[nSrc] < utf8.RuneSelf; nSrc++ { + } + n := copy(dst[nDst:], src[start:nSrc]) + if nDst += n; nDst == len(dst) { + nSrc = start + n + if nSrc == len(src) { + return nDst, nSrc, nil + } + if src[nSrc] < utf8.RuneSelf { + return nDst, nSrc, transform.ErrShortDst + } + } + continue + } + v, size := trie.lookup(src[nSrc:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + return nDst, nSrc, transform.ErrShortSrc + } + size = 1 // gobble 1 byte + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianFullwidth && k != EastAsianWide && k != EastAsianAmbiguous { + if size != copy(dst[nDst:], src[nSrc:nSrc+size]) { + return nDst, nSrc, transform.ErrShortDst + } + nDst += size + } else { + data := inverseData[byte(v)] + if len(dst)-nDst < int(data[0]) { + return nDst, nSrc, transform.ErrShortDst + } + i := 1 + for end := int(data[0]); i < end; i++ { + dst[nDst] = data[i] + nDst++ + } + dst[nDst] = data[i] ^ src[nSrc+size-1] + nDst++ + } + nSrc += size + } + return nDst, nSrc, nil +} + +type wideTransform struct { + transform.NopResetter +} + +func (wideTransform) Span(src []byte, atEOF bool) (n int, err error) { + for n < len(src) { + // TODO: Consider ASCII fast path. Special-casing ASCII handling can + // reduce the ns/op of BenchmarkWideASCII by about 30%. This is probably + // not enough to warrant the extra code and complexity. + v, size := trie.lookup(src[n:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + err = transform.ErrShortSrc + } else { + n = len(src) + } + break + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianHalfwidth && k != EastAsianNarrow { + } else { + err = transform.ErrEndOfSpan + break + } + n += size + } + return n, err +} + +func (wideTransform) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for nSrc < len(src) { + // TODO: Consider ASCII fast path. Special-casing ASCII handling can + // reduce the ns/op of BenchmarkWideASCII by about 30%. This is probably + // not enough to warrant the extra code and complexity. + v, size := trie.lookup(src[nSrc:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + return nDst, nSrc, transform.ErrShortSrc + } + size = 1 // gobble 1 byte + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianHalfwidth && k != EastAsianNarrow { + if size != copy(dst[nDst:], src[nSrc:nSrc+size]) { + return nDst, nSrc, transform.ErrShortDst + } + nDst += size + } else { + data := inverseData[byte(v)] + if len(dst)-nDst < int(data[0]) { + return nDst, nSrc, transform.ErrShortDst + } + i := 1 + for end := int(data[0]); i < end; i++ { + dst[nDst] = data[i] + nDst++ + } + dst[nDst] = data[i] ^ src[nSrc+size-1] + nDst++ + } + nSrc += size + } + return nDst, nSrc, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/trieval.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/trieval.go new file mode 100644 index 0000000..ca8e45f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/trieval.go @@ -0,0 +1,30 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package width + +// elem is an entry of the width trie. The high byte is used to encode the type +// of the rune. The low byte is used to store the index to a mapping entry in +// the inverseData array. +type elem uint16 + +const ( + tagNeutral elem = iota << typeShift + tagAmbiguous + tagWide + tagNarrow + tagFullwidth + tagHalfwidth +) + +const ( + numTypeBits = 3 + typeShift = 16 - numTypeBits + + // tagNeedsFold is true for all fullwidth and halfwidth runes except for + // the Won sign U+20A9. + tagNeedsFold = 0x1000 + + // The Korean Won sign is halfwidth, but SHOULD NOT be mapped to a wide + // variant. + wonSign rune = 0x20A9 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/width.go b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/width.go new file mode 100644 index 0000000..29c7509 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/golang.org/x/text/width/width.go @@ -0,0 +1,206 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate stringer -type=Kind +//go:generate go run gen.go gen_common.go gen_trieval.go + +// Package width provides functionality for handling different widths in text. +// +// Wide characters behave like ideographs; they tend to allow line breaks after +// each character and remain upright in vertical text layout. Narrow characters +// are kept together in words or runs that are rotated sideways in vertical text +// layout. +// +// For more information, see https://unicode.org/reports/tr11/. +package width // import "golang.org/x/text/width" + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +// TODO +// 1) Reduce table size by compressing blocks. +// 2) API proposition for computing display length +// (approximation, fixed pitch only). +// 3) Implement display length. + +// Kind indicates the type of width property as defined in https://unicode.org/reports/tr11/. +type Kind int + +const ( + // Neutral characters do not occur in legacy East Asian character sets. + Neutral Kind = iota + + // EastAsianAmbiguous characters that can be sometimes wide and sometimes + // narrow and require additional information not contained in the character + // code to further resolve their width. + EastAsianAmbiguous + + // EastAsianWide characters are wide in its usual form. They occur only in + // the context of East Asian typography. These runes may have explicit + // halfwidth counterparts. + EastAsianWide + + // EastAsianNarrow characters are narrow in its usual form. They often have + // fullwidth counterparts. + EastAsianNarrow + + // Note: there exist Narrow runes that do not have fullwidth or wide + // counterparts, despite what the definition says (e.g. U+27E6). + + // EastAsianFullwidth characters have a compatibility decompositions of type + // wide that map to a narrow counterpart. + EastAsianFullwidth + + // EastAsianHalfwidth characters have a compatibility decomposition of type + // narrow that map to a wide or ambiguous counterpart, plus U+20A9 ₩ WON + // SIGN. + EastAsianHalfwidth + + // Note: there exist runes that have a halfwidth counterparts but that are + // classified as Ambiguous, rather than wide (e.g. U+2190). +) + +// TODO: the generated tries need to return size 1 for invalid runes for the +// width to be computed correctly (each byte should render width 1) + +var trie = newWidthTrie(0) + +// Lookup reports the Properties of the first rune in b and the number of bytes +// of its UTF-8 encoding. +func Lookup(b []byte) (p Properties, size int) { + v, sz := trie.lookup(b) + return Properties{elem(v), b[sz-1]}, sz +} + +// LookupString reports the Properties of the first rune in s and the number of +// bytes of its UTF-8 encoding. +func LookupString(s string) (p Properties, size int) { + v, sz := trie.lookupString(s) + return Properties{elem(v), s[sz-1]}, sz +} + +// LookupRune reports the Properties of rune r. +func LookupRune(r rune) Properties { + var buf [4]byte + n := utf8.EncodeRune(buf[:], r) + v, _ := trie.lookup(buf[:n]) + last := byte(r) + if r >= utf8.RuneSelf { + last = 0x80 + byte(r&0x3f) + } + return Properties{elem(v), last} +} + +// Properties provides access to width properties of a rune. +type Properties struct { + elem elem + last byte +} + +func (e elem) kind() Kind { + return Kind(e >> typeShift) +} + +// Kind returns the Kind of a rune as defined in Unicode TR #11. +// See https://unicode.org/reports/tr11/ for more details. +func (p Properties) Kind() Kind { + return p.elem.kind() +} + +// Folded returns the folded variant of a rune or 0 if the rune is canonical. +func (p Properties) Folded() rune { + if p.elem&tagNeedsFold != 0 { + buf := inverseData[byte(p.elem)] + buf[buf[0]] ^= p.last + r, _ := utf8.DecodeRune(buf[1 : 1+buf[0]]) + return r + } + return 0 +} + +// Narrow returns the narrow variant of a rune or 0 if the rune is already +// narrow or doesn't have a narrow variant. +func (p Properties) Narrow() rune { + if k := p.elem.kind(); byte(p.elem) != 0 && (k == EastAsianFullwidth || k == EastAsianWide || k == EastAsianAmbiguous) { + buf := inverseData[byte(p.elem)] + buf[buf[0]] ^= p.last + r, _ := utf8.DecodeRune(buf[1 : 1+buf[0]]) + return r + } + return 0 +} + +// Wide returns the wide variant of a rune or 0 if the rune is already +// wide or doesn't have a wide variant. +func (p Properties) Wide() rune { + if k := p.elem.kind(); byte(p.elem) != 0 && (k == EastAsianHalfwidth || k == EastAsianNarrow) { + buf := inverseData[byte(p.elem)] + buf[buf[0]] ^= p.last + r, _ := utf8.DecodeRune(buf[1 : 1+buf[0]]) + return r + } + return 0 +} + +// TODO for Properties: +// - Add Fullwidth/Halfwidth or Inverted methods for computing variants +// mapping. +// - Add width information (including information on non-spacing runes). + +// Transformer implements the transform.Transformer interface. +type Transformer struct { + t transform.SpanningTransformer +} + +// Reset implements the transform.Transformer interface. +func (t Transformer) Reset() { t.t.Reset() } + +// Transform implements the transform.Transformer interface. +func (t Transformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + return t.t.Transform(dst, src, atEOF) +} + +// Span implements the transform.SpanningTransformer interface. +func (t Transformer) Span(src []byte, atEOF bool) (n int, err error) { + return t.t.Span(src, atEOF) +} + +// Bytes returns a new byte slice with the result of applying t to b. +func (t Transformer) Bytes(b []byte) []byte { + b, _, _ = transform.Bytes(t, b) + return b +} + +// String returns a string with the result of applying t to s. +func (t Transformer) String(s string) string { + s, _, _ = transform.String(t, s) + return s +} + +var ( + // Fold is a transform that maps all runes to their canonical width. + // + // Note that the NFKC and NFKD transforms in golang.org/x/text/unicode/norm + // provide a more generic folding mechanism. + Fold Transformer = Transformer{foldTransform{}} + + // Widen is a transform that maps runes to their wide variant, if + // available. + Widen Transformer = Transformer{wideTransform{}} + + // Narrow is a transform that maps runes to their narrow variant, if + // available. + Narrow Transformer = Transformer{narrowTransform{}} +) + +// TODO: Consider the following options: +// - Treat Ambiguous runes that have a halfwidth counterpart as wide, or some +// generalized variant of this. +// - Consider a wide Won character to be the default width (or some generalized +// variant of this). +// - Filter the set of characters that gets converted (the preferred approach is +// to allow applying filters to transforms). diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go new file mode 100644 index 0000000..7bfe37a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go @@ -0,0 +1,156 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/rpc/status.proto + +package status // import "google.golang.org/genproto/googleapis/rpc/status" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import any "github.com/golang/protobuf/ptypes/any" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +// The `Status` type defines a logical error model that is suitable for different +// programming environments, including REST APIs and RPC APIs. It is used by +// [gRPC](https://github.com/grpc). The error model is designed to be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error message, +// and error details. The error code should be an enum value of +// [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed. The +// error message should be a developer-facing English message that helps +// developers *understand* and *resolve* the error. If a localized user-facing +// error message is needed, put the localized message in the error details or +// localize it in the client. The optional error details may contain arbitrary +// information about the error. There is a predefined set of error detail types +// in the package `google.rpc` that can be used for common error conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error model, but it +// is not necessarily the actual wire format. When the `Status` message is +// exposed in different client libraries and different wire protocols, it can be +// mapped differently. For example, it will likely be mapped to some exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety of +// environments, either with or without APIs, to provide a +// consistent developer experience across different environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the client, +// it may embed the `Status` in the normal response to indicate the partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch response, the +// `Status` message should be used directly inside batch response, one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous operation +// results in its response, the status of those operations should be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message `Status` could +// be used directly after any stripping needed for security/privacy reasons. +type Status struct { + // The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + // A developer-facing error message, which should be in English. Any + // user-facing error message should be localized and sent in the + // [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // A list of messages that carry the error details. There is a common set of + // message types for APIs to use. + Details []*any.Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Status) Reset() { *m = Status{} } +func (m *Status) String() string { return proto.CompactTextString(m) } +func (*Status) ProtoMessage() {} +func (*Status) Descriptor() ([]byte, []int) { + return fileDescriptor_status_c6e4de62dcdf2edf, []int{0} +} +func (m *Status) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Status.Unmarshal(m, b) +} +func (m *Status) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Status.Marshal(b, m, deterministic) +} +func (dst *Status) XXX_Merge(src proto.Message) { + xxx_messageInfo_Status.Merge(dst, src) +} +func (m *Status) XXX_Size() int { + return xxx_messageInfo_Status.Size(m) +} +func (m *Status) XXX_DiscardUnknown() { + xxx_messageInfo_Status.DiscardUnknown(m) +} + +var xxx_messageInfo_Status proto.InternalMessageInfo + +func (m *Status) GetCode() int32 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *Status) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + +func (m *Status) GetDetails() []*any.Any { + if m != nil { + return m.Details + } + return nil +} + +func init() { + proto.RegisterType((*Status)(nil), "google.rpc.Status") +} + +func init() { proto.RegisterFile("google/rpc/status.proto", fileDescriptor_status_c6e4de62dcdf2edf) } + +var fileDescriptor_status_c6e4de62dcdf2edf = []byte{ + // 209 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4f, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x2a, 0x48, 0xd6, 0x2f, 0x2e, 0x49, 0x2c, 0x29, 0x2d, 0xd6, 0x2b, 0x28, + 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x48, 0xe8, 0x15, 0x15, 0x24, 0x4b, 0x49, 0x42, 0x15, 0x81, + 0x65, 0x92, 0x4a, 0xd3, 0xf4, 0x13, 0xf3, 0x2a, 0x21, 0xca, 0x94, 0xd2, 0xb8, 0xd8, 0x82, 0xc1, + 0xda, 0x84, 0x84, 0xb8, 0x58, 0x92, 0xf3, 0x53, 0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83, + 0xc0, 0x6c, 0x21, 0x09, 0x2e, 0xf6, 0xdc, 0xd4, 0xe2, 0xe2, 0xc4, 0xf4, 0x54, 0x09, 0x26, 0x05, + 0x46, 0x0d, 0xce, 0x20, 0x18, 0x57, 0x48, 0x8f, 0x8b, 0x3d, 0x25, 0xb5, 0x24, 0x31, 0x33, 0xa7, + 0x58, 0x82, 0x59, 0x81, 0x59, 0x83, 0xdb, 0x48, 0x44, 0x0f, 0x6a, 0x21, 0xcc, 0x12, 0x3d, 0xc7, + 0xbc, 0xca, 0x20, 0x98, 0x22, 0xa7, 0x38, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x3d, 0x84, 0xa3, 0x9c, + 0xb8, 0x21, 0xf6, 0x06, 0x80, 0x94, 0x07, 0x30, 0x46, 0x99, 0x43, 0xa5, 0xd2, 0xf3, 0x73, 0x12, + 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0x86, 0xe9, 0x43, 0xa4, 0x12, + 0x0b, 0x32, 0x8b, 0x91, 0xfc, 0x69, 0x0d, 0xa1, 0x16, 0x31, 0x31, 0x07, 0x05, 0x38, 0x27, 0xb1, + 0x81, 0x55, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x53, 0xf0, 0x7c, 0x10, 0x01, 0x00, + 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/.travis.yml new file mode 100644 index 0000000..024408e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/.travis.yml @@ -0,0 +1,39 @@ +language: go + +matrix: + include: + - go: 1.12.x + env: VET=1 GO111MODULE=on + - go: 1.12.x + env: RACE=1 GO111MODULE=on + - go: 1.12.x + env: RUN386=1 + - go: 1.12.x + env: GRPC_GO_RETRY=on + - go: 1.11.x + env: GO111MODULE=on + - go: 1.10.x + - go: 1.9.x + - go: 1.9.x + env: GAE=1 + +go_import_path: google.golang.org/grpc + +before_install: + - if [[ "${GO111MODULE}" = "on" ]]; then mkdir "${HOME}/go"; export GOPATH="${HOME}/go"; fi + - if [[ -n "${RUN386}" ]]; then export GOARCH=386; fi + - if [[ "${TRAVIS_EVENT_TYPE}" = "cron" && -z "${RUN386}" ]]; then RACE=1; fi + - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" ]]; then VET_SKIP_PROTO=1; fi + +install: + - try3() { eval "$*" || eval "$*" || eval "$*"; } + - try3 'if [[ "${GO111MODULE}" = "on" ]]; then go mod download; else make testdeps; fi' + - if [[ "${GAE}" = 1 ]]; then source ./install_gae.sh; make testappenginedeps; fi + - if [[ "${VET}" = 1 ]]; then ./vet.sh -install; fi + +script: + - set -e + - if [[ "${VET}" = 1 ]]; then ./vet.sh; fi + - if [[ "${GAE}" = 1 ]]; then make testappengine; exit 0; fi + - if [[ "${RACE}" = 1 ]]; then make testrace; exit 0; fi + - make test diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/AUTHORS b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/AUTHORS new file mode 100644 index 0000000..e491a9e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/AUTHORS @@ -0,0 +1 @@ +Google Inc. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/CONTRIBUTING.md b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/CONTRIBUTING.md new file mode 100644 index 0000000..6e69b28 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/CONTRIBUTING.md @@ -0,0 +1,60 @@ +# How to contribute + +We definitely welcome your patches and contributions to gRPC! + +If you are new to github, please start by reading [Pull Request howto](https://help.github.com/articles/about-pull-requests/) + +## Legal requirements + +In order to protect both you and ourselves, you will need to sign the +[Contributor License Agreement](https://identity.linuxfoundation.org/projects/cncf). + +## Guidelines for Pull Requests +How to get your contributions merged smoothly and quickly. + +- Create **small PRs** that are narrowly focused on **addressing a single + concern**. We often times receive PRs that are trying to fix several things at + a time, but only one fix is considered acceptable, nothing gets merged and + both author's & review's time is wasted. Create more PRs to address different + concerns and everyone will be happy. + +- The grpc package should only depend on standard Go packages and a small number + of exceptions. If your contribution introduces new dependencies which are NOT + in the [list](https://godoc.org/google.golang.org/grpc?imports), you need a + discussion with gRPC-Go authors and consultants. + +- For speculative changes, consider opening an issue and discussing it first. If + you are suggesting a behavioral or API change, consider starting with a [gRFC + proposal](https://github.com/grpc/proposal). + +- Provide a good **PR description** as a record of **what** change is being made + and **why** it was made. Link to a github issue if it exists. + +- Don't fix code style and formatting unless you are already changing that line + to address an issue. PRs with irrelevant changes won't be merged. If you do + want to fix formatting or style, do that in a separate PR. + +- Unless your PR is trivial, you should expect there will be reviewer comments + that you'll need to address before merging. We expect you to be reasonably + responsive to those comments, otherwise the PR will be closed after 2-3 weeks + of inactivity. + +- Maintain **clean commit history** and use **meaningful commit messages**. PRs + with messy commit history are difficult to review and won't be merged. Use + `rebase -i upstream/master` to curate your commit history and/or to bring in + latest changes from master (but avoid rebasing in the middle of a code + review). + +- Keep your PR up to date with upstream/master (if there are merge conflicts, we + can't really merge your change). + +- **All tests need to be passing** before your change can be merged. We + recommend you **run tests locally** before creating your PR to catch breakages + early on. + - `make all` to test everything, OR + - `make vet` to catch vet errors + - `make test` to run the tests + - `make testrace` to run tests in race mode + - optional `make testappengine` to run tests with appengine + +- Exceptions to the rules can be made if there's a compelling reason for doing so. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/Makefile b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/Makefile new file mode 100644 index 0000000..db982aa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/Makefile @@ -0,0 +1,60 @@ +all: vet test testrace + +build: deps + go build google.golang.org/grpc/... + +clean: + go clean -i google.golang.org/grpc/... + +deps: + go get -d -v google.golang.org/grpc/... + +proto: + @ if ! which protoc > /dev/null; then \ + echo "error: protoc not installed" >&2; \ + exit 1; \ + fi + go generate google.golang.org/grpc/... + +test: testdeps + go test -cpu 1,4 -timeout 7m google.golang.org/grpc/... + +testappengine: testappenginedeps + goapp test -cpu 1,4 -timeout 7m google.golang.org/grpc/... + +testappenginedeps: + goapp get -d -v -t -tags 'appengine appenginevm' google.golang.org/grpc/... + +testdeps: + go get -d -v -t google.golang.org/grpc/... + +testrace: testdeps + go test -race -cpu 1,4 -timeout 7m google.golang.org/grpc/... + +updatedeps: + go get -d -v -u -f google.golang.org/grpc/... + +updatetestdeps: + go get -d -v -t -u -f google.golang.org/grpc/... + +vet: vetdeps + ./vet.sh + +vetdeps: + ./vet.sh -install + +.PHONY: \ + all \ + build \ + clean \ + deps \ + proto \ + test \ + testappengine \ + testappenginedeps \ + testdeps \ + testrace \ + updatedeps \ + updatetestdeps \ + vet \ + vetdeps diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/README.md new file mode 100644 index 0000000..afbc43d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/README.md @@ -0,0 +1,121 @@ +# gRPC-Go + +[![Build Status](https://travis-ci.org/grpc/grpc-go.svg)](https://travis-ci.org/grpc/grpc-go) +[![GoDoc](https://godoc.org/google.golang.org/grpc?status.svg)](https://godoc.org/google.golang.org/grpc) +[![GoReportCard](https://goreportcard.com/badge/grpc/grpc-go)](https://goreportcard.com/report/github.com/grpc/grpc-go) + +The Go implementation of [gRPC](https://grpc.io/): A high performance, open +source, general RPC framework that puts mobile and HTTP/2 first. For more +information see the [gRPC Quick Start: +Go](https://grpc.io/docs/quickstart/go.html) guide. + +Installation +------------ + +To install this package, you need to install Go and setup your Go workspace on +your computer. The simplest way to install the library is to run: + +``` +$ go get -u google.golang.org/grpc +``` + +With Go module support (Go 1.11+), simply `import "google.golang.org/grpc"` in +your source code and `go [build|run|test]` will automatically download the +necessary dependencies ([Go modules +ref](https://github.com/golang/go/wiki/Modules)). + +If you are trying to access grpc-go from within China, please see the +[FAQ](#FAQ) below. + +Prerequisites +------------- +gRPC-Go requires Go 1.9 or later. + +Documentation +------------- +- See [godoc](https://godoc.org/google.golang.org/grpc) for package and API + descriptions. +- Documentation on specific topics can be found in the [Documentation + directory](Documentation/). +- Examples can be found in the [examples directory](examples/). + +Performance +----------- +Performance benchmark data for grpc-go and other languages is maintained in +[this +dashboard](https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5652536396611584&widget=490377658&container=1286539696). + +Status +------ +General Availability [Google Cloud Platform Launch +Stages](https://cloud.google.com/terms/launch-stages). + +FAQ +--- + +#### I/O Timeout Errors + +The `golang.org` domain may be blocked from some countries. `go get` usually +produces an error like the following when this happens: + +``` +$ go get -u google.golang.org/grpc +package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout) +``` + +To build Go code, there are several options: + +- Set up a VPN and access google.golang.org through that. + +- Without Go module support: `git clone` the repo manually: + + ``` + git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc + ``` + + You will need to do the same for all of grpc's dependencies in `golang.org`, + e.g. `golang.org/x/net`. + +- With Go module support: it is possible to use the `replace` feature of `go + mod` to create aliases for golang.org packages. In your project's directory: + + ``` + go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest + go mod tidy + go mod vendor + go build -mod=vendor + ``` + + Again, this will need to be done for all transitive dependencies hosted on + golang.org as well. Please refer to [this + issue](https://github.com/golang/go/issues/28652) in the golang repo regarding + this concern. + +#### Compiling error, undefined: grpc.SupportPackageIsVersion + +Please update proto package, gRPC package and rebuild the proto files: + - `go get -u github.com/golang/protobuf/{proto,protoc-gen-go}` + - `go get -u google.golang.org/grpc` + - `protoc --go_out=plugins=grpc:. *.proto` + +#### How to turn on logging + +The default logger is controlled by the environment variables. Turn everything +on by setting: + +``` +GRPC_GO_LOG_VERBOSITY_LEVEL=99 GRPC_GO_LOG_SEVERITY_LEVEL=info +``` + +#### The RPC failed with error `"code = Unavailable desc = transport is closing"` + +This error means the connection the RPC is using was closed, and there are many +possible reasons, including: + 1. mis-configured transport credentials, connection failed on handshaking + 1. bytes disrupted, possibly by a proxy in between + 1. server shutdown + +It can be tricky to debug this because the error happens on the client side but +the root cause of the connection being closed is on the server side. Turn on +logging on __both client and server__, and see if there are any transport +errors. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/backoff.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/backoff.go new file mode 100644 index 0000000..97c6e25 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/backoff.go @@ -0,0 +1,38 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// See internal/backoff package for the backoff implementation. This file is +// kept for the exported types and API backward compatibility. + +package grpc + +import ( + "time" +) + +// DefaultBackoffConfig uses values specified for backoff in +// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md. +var DefaultBackoffConfig = BackoffConfig{ + MaxDelay: 120 * time.Second, +} + +// BackoffConfig defines the parameters for the default gRPC backoff strategy. +type BackoffConfig struct { + // MaxDelay is the upper bound of backoff delay. + MaxDelay time.Duration +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer.go new file mode 100644 index 0000000..a8eb0f4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer.go @@ -0,0 +1,391 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + "net" + "sync" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/naming" + "google.golang.org/grpc/status" +) + +// Address represents a server the client connects to. +// +// Deprecated: please use package balancer. +type Address struct { + // Addr is the server address on which a connection will be established. + Addr string + // Metadata is the information associated with Addr, which may be used + // to make load balancing decision. + Metadata interface{} +} + +// BalancerConfig specifies the configurations for Balancer. +// +// Deprecated: please use package balancer. May be removed in a future 1.x release. +type BalancerConfig struct { + // DialCreds is the transport credential the Balancer implementation can + // use to dial to a remote load balancer server. The Balancer implementations + // can ignore this if it does not need to talk to another party securely. + DialCreds credentials.TransportCredentials + // Dialer is the custom dialer the Balancer implementation can use to dial + // to a remote load balancer server. The Balancer implementations + // can ignore this if it doesn't need to talk to remote balancer. + Dialer func(context.Context, string) (net.Conn, error) +} + +// BalancerGetOptions configures a Get call. +// +// Deprecated: please use package balancer. May be removed in a future 1.x release. +type BalancerGetOptions struct { + // BlockingWait specifies whether Get should block when there is no + // connected address. + BlockingWait bool +} + +// Balancer chooses network addresses for RPCs. +// +// Deprecated: please use package balancer. May be removed in a future 1.x release. +type Balancer interface { + // Start does the initialization work to bootstrap a Balancer. For example, + // this function may start the name resolution and watch the updates. It will + // be called when dialing. + Start(target string, config BalancerConfig) error + // Up informs the Balancer that gRPC has a connection to the server at + // addr. It returns down which is called once the connection to addr gets + // lost or closed. + // TODO: It is not clear how to construct and take advantage of the meaningful error + // parameter for down. Need realistic demands to guide. + Up(addr Address) (down func(error)) + // Get gets the address of a server for the RPC corresponding to ctx. + // i) If it returns a connected address, gRPC internals issues the RPC on the + // connection to this address; + // ii) If it returns an address on which the connection is under construction + // (initiated by Notify(...)) but not connected, gRPC internals + // * fails RPC if the RPC is fail-fast and connection is in the TransientFailure or + // Shutdown state; + // or + // * issues RPC on the connection otherwise. + // iii) If it returns an address on which the connection does not exist, gRPC + // internals treats it as an error and will fail the corresponding RPC. + // + // Therefore, the following is the recommended rule when writing a custom Balancer. + // If opts.BlockingWait is true, it should return a connected address or + // block if there is no connected address. It should respect the timeout or + // cancellation of ctx when blocking. If opts.BlockingWait is false (for fail-fast + // RPCs), it should return an address it has notified via Notify(...) immediately + // instead of blocking. + // + // The function returns put which is called once the rpc has completed or failed. + // put can collect and report RPC stats to a remote load balancer. + // + // This function should only return the errors Balancer cannot recover by itself. + // gRPC internals will fail the RPC if an error is returned. + Get(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error) + // Notify returns a channel that is used by gRPC internals to watch the addresses + // gRPC needs to connect. The addresses might be from a name resolver or remote + // load balancer. gRPC internals will compare it with the existing connected + // addresses. If the address Balancer notified is not in the existing connected + // addresses, gRPC starts to connect the address. If an address in the existing + // connected addresses is not in the notification list, the corresponding connection + // is shutdown gracefully. Otherwise, there are no operations to take. Note that + // the Address slice must be the full list of the Addresses which should be connected. + // It is NOT delta. + Notify() <-chan []Address + // Close shuts down the balancer. + Close() error +} + +// RoundRobin returns a Balancer that selects addresses round-robin. It uses r to watch +// the name resolution updates and updates the addresses available correspondingly. +// +// Deprecated: please use package balancer/roundrobin. May be removed in a future 1.x release. +func RoundRobin(r naming.Resolver) Balancer { + return &roundRobin{r: r} +} + +type addrInfo struct { + addr Address + connected bool +} + +type roundRobin struct { + r naming.Resolver + w naming.Watcher + addrs []*addrInfo // all the addresses the client should potentially connect + mu sync.Mutex + addrCh chan []Address // the channel to notify gRPC internals the list of addresses the client should connect to. + next int // index of the next address to return for Get() + waitCh chan struct{} // the channel to block when there is no connected address available + done bool // The Balancer is closed. +} + +func (rr *roundRobin) watchAddrUpdates() error { + updates, err := rr.w.Next() + if err != nil { + grpclog.Warningf("grpc: the naming watcher stops working due to %v.", err) + return err + } + rr.mu.Lock() + defer rr.mu.Unlock() + for _, update := range updates { + addr := Address{ + Addr: update.Addr, + Metadata: update.Metadata, + } + switch update.Op { + case naming.Add: + var exist bool + for _, v := range rr.addrs { + if addr == v.addr { + exist = true + grpclog.Infoln("grpc: The name resolver wanted to add an existing address: ", addr) + break + } + } + if exist { + continue + } + rr.addrs = append(rr.addrs, &addrInfo{addr: addr}) + case naming.Delete: + for i, v := range rr.addrs { + if addr == v.addr { + copy(rr.addrs[i:], rr.addrs[i+1:]) + rr.addrs = rr.addrs[:len(rr.addrs)-1] + break + } + } + default: + grpclog.Errorln("Unknown update.Op ", update.Op) + } + } + // Make a copy of rr.addrs and write it onto rr.addrCh so that gRPC internals gets notified. + open := make([]Address, len(rr.addrs)) + for i, v := range rr.addrs { + open[i] = v.addr + } + if rr.done { + return ErrClientConnClosing + } + select { + case <-rr.addrCh: + default: + } + rr.addrCh <- open + return nil +} + +func (rr *roundRobin) Start(target string, config BalancerConfig) error { + rr.mu.Lock() + defer rr.mu.Unlock() + if rr.done { + return ErrClientConnClosing + } + if rr.r == nil { + // If there is no name resolver installed, it is not needed to + // do name resolution. In this case, target is added into rr.addrs + // as the only address available and rr.addrCh stays nil. + rr.addrs = append(rr.addrs, &addrInfo{addr: Address{Addr: target}}) + return nil + } + w, err := rr.r.Resolve(target) + if err != nil { + return err + } + rr.w = w + rr.addrCh = make(chan []Address, 1) + go func() { + for { + if err := rr.watchAddrUpdates(); err != nil { + return + } + } + }() + return nil +} + +// Up sets the connected state of addr and sends notification if there are pending +// Get() calls. +func (rr *roundRobin) Up(addr Address) func(error) { + rr.mu.Lock() + defer rr.mu.Unlock() + var cnt int + for _, a := range rr.addrs { + if a.addr == addr { + if a.connected { + return nil + } + a.connected = true + } + if a.connected { + cnt++ + } + } + // addr is only one which is connected. Notify the Get() callers who are blocking. + if cnt == 1 && rr.waitCh != nil { + close(rr.waitCh) + rr.waitCh = nil + } + return func(err error) { + rr.down(addr, err) + } +} + +// down unsets the connected state of addr. +func (rr *roundRobin) down(addr Address, err error) { + rr.mu.Lock() + defer rr.mu.Unlock() + for _, a := range rr.addrs { + if addr == a.addr { + a.connected = false + break + } + } +} + +// Get returns the next addr in the rotation. +func (rr *roundRobin) Get(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error) { + var ch chan struct{} + rr.mu.Lock() + if rr.done { + rr.mu.Unlock() + err = ErrClientConnClosing + return + } + + if len(rr.addrs) > 0 { + if rr.next >= len(rr.addrs) { + rr.next = 0 + } + next := rr.next + for { + a := rr.addrs[next] + next = (next + 1) % len(rr.addrs) + if a.connected { + addr = a.addr + rr.next = next + rr.mu.Unlock() + return + } + if next == rr.next { + // Has iterated all the possible address but none is connected. + break + } + } + } + if !opts.BlockingWait { + if len(rr.addrs) == 0 { + rr.mu.Unlock() + err = status.Errorf(codes.Unavailable, "there is no address available") + return + } + // Returns the next addr on rr.addrs for failfast RPCs. + addr = rr.addrs[rr.next].addr + rr.next++ + rr.mu.Unlock() + return + } + // Wait on rr.waitCh for non-failfast RPCs. + if rr.waitCh == nil { + ch = make(chan struct{}) + rr.waitCh = ch + } else { + ch = rr.waitCh + } + rr.mu.Unlock() + for { + select { + case <-ctx.Done(): + err = ctx.Err() + return + case <-ch: + rr.mu.Lock() + if rr.done { + rr.mu.Unlock() + err = ErrClientConnClosing + return + } + + if len(rr.addrs) > 0 { + if rr.next >= len(rr.addrs) { + rr.next = 0 + } + next := rr.next + for { + a := rr.addrs[next] + next = (next + 1) % len(rr.addrs) + if a.connected { + addr = a.addr + rr.next = next + rr.mu.Unlock() + return + } + if next == rr.next { + // Has iterated all the possible address but none is connected. + break + } + } + } + // The newly added addr got removed by Down() again. + if rr.waitCh == nil { + ch = make(chan struct{}) + rr.waitCh = ch + } else { + ch = rr.waitCh + } + rr.mu.Unlock() + } + } +} + +func (rr *roundRobin) Notify() <-chan []Address { + return rr.addrCh +} + +func (rr *roundRobin) Close() error { + rr.mu.Lock() + defer rr.mu.Unlock() + if rr.done { + return errBalancerClosed + } + rr.done = true + if rr.w != nil { + rr.w.Close() + } + if rr.waitCh != nil { + close(rr.waitCh) + rr.waitCh = nil + } + if rr.addrCh != nil { + close(rr.addrCh) + } + return nil +} + +// pickFirst is used to test multi-addresses in one addrConn in which all addresses share the same addrConn. +// It is a wrapper around roundRobin balancer. The logic of all methods works fine because balancer.Get() +// returns the only address Up by resetTransport(). +type pickFirst struct { + *roundRobin +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/balancer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/balancer.go new file mode 100644 index 0000000..c266f4e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/balancer.go @@ -0,0 +1,364 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package balancer defines APIs for load balancing in gRPC. +// All APIs in this package are experimental. +package balancer + +import ( + "context" + "encoding/json" + "errors" + "net" + "strings" + + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/internal" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/resolver" + "google.golang.org/grpc/serviceconfig" +) + +var ( + // m is a map from name to balancer builder. + m = make(map[string]Builder) +) + +// Register registers the balancer builder to the balancer map. b.Name +// (lowercased) will be used as the name registered with this builder. If the +// Builder implements ConfigParser, ParseConfig will be called when new service +// configs are received by the resolver, and the result will be provided to the +// Balancer in UpdateClientConnState. +// +// NOTE: this function must only be called during initialization time (i.e. in +// an init() function), and is not thread-safe. If multiple Balancers are +// registered with the same name, the one registered last will take effect. +func Register(b Builder) { + m[strings.ToLower(b.Name())] = b +} + +// unregisterForTesting deletes the balancer with the given name from the +// balancer map. +// +// This function is not thread-safe. +func unregisterForTesting(name string) { + delete(m, name) +} + +func init() { + internal.BalancerUnregister = unregisterForTesting +} + +// Get returns the resolver builder registered with the given name. +// Note that the compare is done in a case-insensitive fashion. +// If no builder is register with the name, nil will be returned. +func Get(name string) Builder { + if b, ok := m[strings.ToLower(name)]; ok { + return b + } + return nil +} + +// SubConn represents a gRPC sub connection. +// Each sub connection contains a list of addresses. gRPC will +// try to connect to them (in sequence), and stop trying the +// remainder once one connection is successful. +// +// The reconnect backoff will be applied on the list, not a single address. +// For example, try_on_all_addresses -> backoff -> try_on_all_addresses. +// +// All SubConns start in IDLE, and will not try to connect. To trigger +// the connecting, Balancers must call Connect. +// When the connection encounters an error, it will reconnect immediately. +// When the connection becomes IDLE, it will not reconnect unless Connect is +// called. +// +// This interface is to be implemented by gRPC. Users should not need a +// brand new implementation of this interface. For the situations like +// testing, the new implementation should embed this interface. This allows +// gRPC to add new methods to this interface. +type SubConn interface { + // UpdateAddresses updates the addresses used in this SubConn. + // gRPC checks if currently-connected address is still in the new list. + // If it's in the list, the connection will be kept. + // If it's not in the list, the connection will gracefully closed, and + // a new connection will be created. + // + // This will trigger a state transition for the SubConn. + UpdateAddresses([]resolver.Address) + // Connect starts the connecting for this SubConn. + Connect() +} + +// NewSubConnOptions contains options to create new SubConn. +type NewSubConnOptions struct { + // CredsBundle is the credentials bundle that will be used in the created + // SubConn. If it's nil, the original creds from grpc DialOptions will be + // used. + CredsBundle credentials.Bundle + // HealthCheckEnabled indicates whether health check service should be + // enabled on this SubConn + HealthCheckEnabled bool +} + +// ClientConn represents a gRPC ClientConn. +// +// This interface is to be implemented by gRPC. Users should not need a +// brand new implementation of this interface. For the situations like +// testing, the new implementation should embed this interface. This allows +// gRPC to add new methods to this interface. +type ClientConn interface { + // NewSubConn is called by balancer to create a new SubConn. + // It doesn't block and wait for the connections to be established. + // Behaviors of the SubConn can be controlled by options. + NewSubConn([]resolver.Address, NewSubConnOptions) (SubConn, error) + // RemoveSubConn removes the SubConn from ClientConn. + // The SubConn will be shutdown. + RemoveSubConn(SubConn) + + // UpdateBalancerState is called by balancer to notify gRPC that some internal + // state in balancer has changed. + // + // gRPC will update the connectivity state of the ClientConn, and will call pick + // on the new picker to pick new SubConn. + UpdateBalancerState(s connectivity.State, p Picker) + + // ResolveNow is called by balancer to notify gRPC to do a name resolving. + ResolveNow(resolver.ResolveNowOption) + + // Target returns the dial target for this ClientConn. + // + // Deprecated: Use the Target field in the BuildOptions instead. + Target() string +} + +// BuildOptions contains additional information for Build. +type BuildOptions struct { + // DialCreds is the transport credential the Balancer implementation can + // use to dial to a remote load balancer server. The Balancer implementations + // can ignore this if it does not need to talk to another party securely. + DialCreds credentials.TransportCredentials + // CredsBundle is the credentials bundle that the Balancer can use. + CredsBundle credentials.Bundle + // Dialer is the custom dialer the Balancer implementation can use to dial + // to a remote load balancer server. The Balancer implementations + // can ignore this if it doesn't need to talk to remote balancer. + Dialer func(context.Context, string) (net.Conn, error) + // ChannelzParentID is the entity parent's channelz unique identification number. + ChannelzParentID int64 + // Target contains the parsed address info of the dial target. It is the same resolver.Target as + // passed to the resolver. + // See the documentation for the resolver.Target type for details about what it contains. + Target resolver.Target +} + +// Builder creates a balancer. +type Builder interface { + // Build creates a new balancer with the ClientConn. + Build(cc ClientConn, opts BuildOptions) Balancer + // Name returns the name of balancers built by this builder. + // It will be used to pick balancers (for example in service config). + Name() string +} + +// ConfigParser parses load balancer configs. +type ConfigParser interface { + // ParseConfig parses the JSON load balancer config provided into an + // internal form or returns an error if the config is invalid. For future + // compatibility reasons, unknown fields in the config should be ignored. + ParseConfig(LoadBalancingConfigJSON json.RawMessage) (serviceconfig.LoadBalancingConfig, error) +} + +// PickOptions contains addition information for the Pick operation. +type PickOptions struct { + // FullMethodName is the method name that NewClientStream() is called + // with. The canonical format is /service/Method. + FullMethodName string +} + +// DoneInfo contains additional information for done. +type DoneInfo struct { + // Err is the rpc error the RPC finished with. It could be nil. + Err error + // Trailer contains the metadata from the RPC's trailer, if present. + Trailer metadata.MD + // BytesSent indicates if any bytes have been sent to the server. + BytesSent bool + // BytesReceived indicates if any byte has been received from the server. + BytesReceived bool + // ServerLoad is the load received from server. It's usually sent as part of + // trailing metadata. + // + // The only supported type now is *orca_v1.LoadReport. + ServerLoad interface{} +} + +var ( + // ErrNoSubConnAvailable indicates no SubConn is available for pick(). + // gRPC will block the RPC until a new picker is available via UpdateBalancerState(). + ErrNoSubConnAvailable = errors.New("no SubConn is available") + // ErrTransientFailure indicates all SubConns are in TransientFailure. + // WaitForReady RPCs will block, non-WaitForReady RPCs will fail. + ErrTransientFailure = errors.New("all SubConns are in TransientFailure") +) + +// Picker is used by gRPC to pick a SubConn to send an RPC. +// Balancer is expected to generate a new picker from its snapshot every time its +// internal state has changed. +// +// The pickers used by gRPC can be updated by ClientConn.UpdateBalancerState(). +type Picker interface { + // Pick returns the SubConn to be used to send the RPC. + // The returned SubConn must be one returned by NewSubConn(). + // + // This functions is expected to return: + // - a SubConn that is known to be READY; + // - ErrNoSubConnAvailable if no SubConn is available, but progress is being + // made (for example, some SubConn is in CONNECTING mode); + // - other errors if no active connecting is happening (for example, all SubConn + // are in TRANSIENT_FAILURE mode). + // + // If a SubConn is returned: + // - If it is READY, gRPC will send the RPC on it; + // - If it is not ready, or becomes not ready after it's returned, gRPC will + // block until UpdateBalancerState() is called and will call pick on the + // new picker. The done function returned from Pick(), if not nil, will be + // called with nil error, no bytes sent and no bytes received. + // + // If the returned error is not nil: + // - If the error is ErrNoSubConnAvailable, gRPC will block until UpdateBalancerState() + // - If the error is ErrTransientFailure: + // - If the RPC is wait-for-ready, gRPC will block until UpdateBalancerState() + // is called to pick again; + // - Otherwise, RPC will fail with unavailable error. + // - Else (error is other non-nil error): + // - The RPC will fail with unavailable error. + // + // The returned done() function will be called once the rpc has finished, + // with the final status of that RPC. If the SubConn returned is not a + // valid SubConn type, done may not be called. done may be nil if balancer + // doesn't care about the RPC status. + Pick(ctx context.Context, opts PickOptions) (conn SubConn, done func(DoneInfo), err error) +} + +// Balancer takes input from gRPC, manages SubConns, and collects and aggregates +// the connectivity states. +// +// It also generates and updates the Picker used by gRPC to pick SubConns for RPCs. +// +// HandleSubConnectionStateChange, HandleResolvedAddrs and Close are guaranteed +// to be called synchronously from the same goroutine. +// There's no guarantee on picker.Pick, it may be called anytime. +type Balancer interface { + // HandleSubConnStateChange is called by gRPC when the connectivity state + // of sc has changed. + // Balancer is expected to aggregate all the state of SubConn and report + // that back to gRPC. + // Balancer should also generate and update Pickers when its internal state has + // been changed by the new state. + // + // Deprecated: if V2Balancer is implemented by the Balancer, + // UpdateSubConnState will be called instead. + HandleSubConnStateChange(sc SubConn, state connectivity.State) + // HandleResolvedAddrs is called by gRPC to send updated resolved addresses to + // balancers. + // Balancer can create new SubConn or remove SubConn with the addresses. + // An empty address slice and a non-nil error will be passed if the resolver returns + // non-nil error to gRPC. + // + // Deprecated: if V2Balancer is implemented by the Balancer, + // UpdateClientConnState will be called instead. + HandleResolvedAddrs([]resolver.Address, error) + // Close closes the balancer. The balancer is not required to call + // ClientConn.RemoveSubConn for its existing SubConns. + Close() +} + +// SubConnState describes the state of a SubConn. +type SubConnState struct { + ConnectivityState connectivity.State + // TODO: add last connection error +} + +// ClientConnState describes the state of a ClientConn relevant to the +// balancer. +type ClientConnState struct { + ResolverState resolver.State + // The parsed load balancing configuration returned by the builder's + // ParseConfig method, if implemented. + BalancerConfig serviceconfig.LoadBalancingConfig +} + +// V2Balancer is defined for documentation purposes. If a Balancer also +// implements V2Balancer, its UpdateClientConnState method will be called +// instead of HandleResolvedAddrs and its UpdateSubConnState will be called +// instead of HandleSubConnStateChange. +type V2Balancer interface { + // UpdateClientConnState is called by gRPC when the state of the ClientConn + // changes. + UpdateClientConnState(ClientConnState) + // UpdateSubConnState is called by gRPC when the state of a SubConn + // changes. + UpdateSubConnState(SubConn, SubConnState) + // Close closes the balancer. The balancer is not required to call + // ClientConn.RemoveSubConn for its existing SubConns. + Close() +} + +// ConnectivityStateEvaluator takes the connectivity states of multiple SubConns +// and returns one aggregated connectivity state. +// +// It's not thread safe. +type ConnectivityStateEvaluator struct { + numReady uint64 // Number of addrConns in ready state. + numConnecting uint64 // Number of addrConns in connecting state. + numTransientFailure uint64 // Number of addrConns in transientFailure. +} + +// RecordTransition records state change happening in subConn and based on that +// it evaluates what aggregated state should be. +// +// - If at least one SubConn in Ready, the aggregated state is Ready; +// - Else if at least one SubConn in Connecting, the aggregated state is Connecting; +// - Else the aggregated state is TransientFailure. +// +// Idle and Shutdown are not considered. +func (cse *ConnectivityStateEvaluator) RecordTransition(oldState, newState connectivity.State) connectivity.State { + // Update counters. + for idx, state := range []connectivity.State{oldState, newState} { + updateVal := 2*uint64(idx) - 1 // -1 for oldState and +1 for new. + switch state { + case connectivity.Ready: + cse.numReady += updateVal + case connectivity.Connecting: + cse.numConnecting += updateVal + case connectivity.TransientFailure: + cse.numTransientFailure += updateVal + } + } + + // Evaluate. + if cse.numReady > 0 { + return connectivity.Ready + } + if cse.numConnecting > 0 { + return connectivity.Connecting + } + return connectivity.TransientFailure +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/balancer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/balancer.go new file mode 100644 index 0000000..1af88f0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/balancer.go @@ -0,0 +1,184 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package base + +import ( + "context" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/resolver" +) + +type baseBuilder struct { + name string + pickerBuilder PickerBuilder + config Config +} + +func (bb *baseBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions) balancer.Balancer { + return &baseBalancer{ + cc: cc, + pickerBuilder: bb.pickerBuilder, + + subConns: make(map[resolver.Address]balancer.SubConn), + scStates: make(map[balancer.SubConn]connectivity.State), + csEvltr: &balancer.ConnectivityStateEvaluator{}, + // Initialize picker to a picker that always return + // ErrNoSubConnAvailable, because when state of a SubConn changes, we + // may call UpdateBalancerState with this picker. + picker: NewErrPicker(balancer.ErrNoSubConnAvailable), + config: bb.config, + } +} + +func (bb *baseBuilder) Name() string { + return bb.name +} + +type baseBalancer struct { + cc balancer.ClientConn + pickerBuilder PickerBuilder + + csEvltr *balancer.ConnectivityStateEvaluator + state connectivity.State + + subConns map[resolver.Address]balancer.SubConn + scStates map[balancer.SubConn]connectivity.State + picker balancer.Picker + config Config +} + +func (b *baseBalancer) HandleResolvedAddrs(addrs []resolver.Address, err error) { + panic("not implemented") +} + +func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) { + // TODO: handle s.ResolverState.Err (log if not nil) once implemented. + // TODO: handle s.ResolverState.ServiceConfig? + if grpclog.V(2) { + grpclog.Infoln("base.baseBalancer: got new ClientConn state: ", s) + } + // addrsSet is the set converted from addrs, it's used for quick lookup of an address. + addrsSet := make(map[resolver.Address]struct{}) + for _, a := range s.ResolverState.Addresses { + addrsSet[a] = struct{}{} + if _, ok := b.subConns[a]; !ok { + // a is a new address (not existing in b.subConns). + sc, err := b.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{HealthCheckEnabled: b.config.HealthCheck}) + if err != nil { + grpclog.Warningf("base.baseBalancer: failed to create new SubConn: %v", err) + continue + } + b.subConns[a] = sc + b.scStates[sc] = connectivity.Idle + sc.Connect() + } + } + for a, sc := range b.subConns { + // a was removed by resolver. + if _, ok := addrsSet[a]; !ok { + b.cc.RemoveSubConn(sc) + delete(b.subConns, a) + // Keep the state of this sc in b.scStates until sc's state becomes Shutdown. + // The entry will be deleted in HandleSubConnStateChange. + } + } +} + +// regeneratePicker takes a snapshot of the balancer, and generates a picker +// from it. The picker is +// - errPicker with ErrTransientFailure if the balancer is in TransientFailure, +// - built by the pickerBuilder with all READY SubConns otherwise. +func (b *baseBalancer) regeneratePicker() { + if b.state == connectivity.TransientFailure { + b.picker = NewErrPicker(balancer.ErrTransientFailure) + return + } + readySCs := make(map[resolver.Address]balancer.SubConn) + + // Filter out all ready SCs from full subConn map. + for addr, sc := range b.subConns { + if st, ok := b.scStates[sc]; ok && st == connectivity.Ready { + readySCs[addr] = sc + } + } + b.picker = b.pickerBuilder.Build(readySCs) +} + +func (b *baseBalancer) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) { + panic("not implemented") +} + +func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.SubConnState) { + s := state.ConnectivityState + if grpclog.V(2) { + grpclog.Infof("base.baseBalancer: handle SubConn state change: %p, %v", sc, s) + } + oldS, ok := b.scStates[sc] + if !ok { + if grpclog.V(2) { + grpclog.Infof("base.baseBalancer: got state changes for an unknown SubConn: %p, %v", sc, s) + } + return + } + b.scStates[sc] = s + switch s { + case connectivity.Idle: + sc.Connect() + case connectivity.Shutdown: + // When an address was removed by resolver, b called RemoveSubConn but + // kept the sc's state in scStates. Remove state for this sc here. + delete(b.scStates, sc) + } + + oldAggrState := b.state + b.state = b.csEvltr.RecordTransition(oldS, s) + + // Regenerate picker when one of the following happens: + // - this sc became ready from not-ready + // - this sc became not-ready from ready + // - the aggregated state of balancer became TransientFailure from non-TransientFailure + // - the aggregated state of balancer became non-TransientFailure from TransientFailure + if (s == connectivity.Ready) != (oldS == connectivity.Ready) || + (b.state == connectivity.TransientFailure) != (oldAggrState == connectivity.TransientFailure) { + b.regeneratePicker() + } + + b.cc.UpdateBalancerState(b.state, b.picker) +} + +// Close is a nop because base balancer doesn't have internal state to clean up, +// and it doesn't need to call RemoveSubConn for the SubConns. +func (b *baseBalancer) Close() { +} + +// NewErrPicker returns a picker that always returns err on Pick(). +func NewErrPicker(err error) balancer.Picker { + return &errPicker{err: err} +} + +type errPicker struct { + err error // Pick() always returns this err. +} + +func (p *errPicker) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) { + return nil, nil, p.err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/base.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/base.go new file mode 100644 index 0000000..34b1f29 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/base/base.go @@ -0,0 +1,64 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package base defines a balancer base that can be used to build balancers with +// different picking algorithms. +// +// The base balancer creates a new SubConn for each resolved address. The +// provided picker will only be notified about READY SubConns. +// +// This package is the base of round_robin balancer, its purpose is to be used +// to build round_robin like balancers with complex picking algorithms. +// Balancers with more complicated logic should try to implement a balancer +// builder from scratch. +// +// All APIs in this package are experimental. +package base + +import ( + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/resolver" +) + +// PickerBuilder creates balancer.Picker. +type PickerBuilder interface { + // Build takes a slice of ready SubConns, and returns a picker that will be + // used by gRPC to pick a SubConn. + Build(readySCs map[resolver.Address]balancer.SubConn) balancer.Picker +} + +// NewBalancerBuilder returns a balancer builder. The balancers +// built by this builder will use the picker builder to build pickers. +func NewBalancerBuilder(name string, pb PickerBuilder) balancer.Builder { + return NewBalancerBuilderWithConfig(name, pb, Config{}) +} + +// Config contains the config info about the base balancer builder. +type Config struct { + // HealthCheck indicates whether health checking should be enabled for this specific balancer. + HealthCheck bool +} + +// NewBalancerBuilderWithConfig returns a base balancer builder configured by the provided config. +func NewBalancerBuilderWithConfig(name string, pb PickerBuilder, config Config) balancer.Builder { + return &baseBuilder{ + name: name, + pickerBuilder: pb, + config: config, + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go new file mode 100644 index 0000000..29f7a4d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go @@ -0,0 +1,83 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package roundrobin defines a roundrobin balancer. Roundrobin balancer is +// installed as one of the default balancers in gRPC, users don't need to +// explicitly install this balancer. +package roundrobin + +import ( + "context" + "sync" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/balancer/base" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal/grpcrand" + "google.golang.org/grpc/resolver" +) + +// Name is the name of round_robin balancer. +const Name = "round_robin" + +// newBuilder creates a new roundrobin balancer builder. +func newBuilder() balancer.Builder { + return base.NewBalancerBuilderWithConfig(Name, &rrPickerBuilder{}, base.Config{HealthCheck: true}) +} + +func init() { + balancer.Register(newBuilder()) +} + +type rrPickerBuilder struct{} + +func (*rrPickerBuilder) Build(readySCs map[resolver.Address]balancer.SubConn) balancer.Picker { + grpclog.Infof("roundrobinPicker: newPicker called with readySCs: %v", readySCs) + if len(readySCs) == 0 { + return base.NewErrPicker(balancer.ErrNoSubConnAvailable) + } + var scs []balancer.SubConn + for _, sc := range readySCs { + scs = append(scs, sc) + } + return &rrPicker{ + subConns: scs, + // Start at a random index, as the same RR balancer rebuilds a new + // picker when SubConn states change, and we don't want to apply excess + // load to the first server in the list. + next: grpcrand.Intn(len(scs)), + } +} + +type rrPicker struct { + // subConns is the snapshot of the roundrobin balancer when this picker was + // created. The slice is immutable. Each Get() will do a round robin + // selection from it and return the selected SubConn. + subConns []balancer.SubConn + + mu sync.Mutex + next int +} + +func (p *rrPicker) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) { + p.mu.Lock() + sc := p.subConns[p.next] + p.next = (p.next + 1) % len(p.subConns) + p.mu.Unlock() + return sc, nil, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_conn_wrappers.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_conn_wrappers.go new file mode 100644 index 0000000..8df4095 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_conn_wrappers.go @@ -0,0 +1,318 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "fmt" + "sync" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/resolver" +) + +// scStateUpdate contains the subConn and the new state it changed to. +type scStateUpdate struct { + sc balancer.SubConn + state connectivity.State +} + +// scStateUpdateBuffer is an unbounded channel for scStateChangeTuple. +// TODO make a general purpose buffer that uses interface{}. +type scStateUpdateBuffer struct { + c chan *scStateUpdate + mu sync.Mutex + backlog []*scStateUpdate +} + +func newSCStateUpdateBuffer() *scStateUpdateBuffer { + return &scStateUpdateBuffer{ + c: make(chan *scStateUpdate, 1), + } +} + +func (b *scStateUpdateBuffer) put(t *scStateUpdate) { + b.mu.Lock() + defer b.mu.Unlock() + if len(b.backlog) == 0 { + select { + case b.c <- t: + return + default: + } + } + b.backlog = append(b.backlog, t) +} + +func (b *scStateUpdateBuffer) load() { + b.mu.Lock() + defer b.mu.Unlock() + if len(b.backlog) > 0 { + select { + case b.c <- b.backlog[0]: + b.backlog[0] = nil + b.backlog = b.backlog[1:] + default: + } + } +} + +// get returns the channel that the scStateUpdate will be sent to. +// +// Upon receiving, the caller should call load to send another +// scStateChangeTuple onto the channel if there is any. +func (b *scStateUpdateBuffer) get() <-chan *scStateUpdate { + return b.c +} + +// ccBalancerWrapper is a wrapper on top of cc for balancers. +// It implements balancer.ClientConn interface. +type ccBalancerWrapper struct { + cc *ClientConn + balancer balancer.Balancer + stateChangeQueue *scStateUpdateBuffer + ccUpdateCh chan *balancer.ClientConnState + done chan struct{} + + mu sync.Mutex + subConns map[*acBalancerWrapper]struct{} +} + +func newCCBalancerWrapper(cc *ClientConn, b balancer.Builder, bopts balancer.BuildOptions) *ccBalancerWrapper { + ccb := &ccBalancerWrapper{ + cc: cc, + stateChangeQueue: newSCStateUpdateBuffer(), + ccUpdateCh: make(chan *balancer.ClientConnState, 1), + done: make(chan struct{}), + subConns: make(map[*acBalancerWrapper]struct{}), + } + go ccb.watcher() + ccb.balancer = b.Build(ccb, bopts) + return ccb +} + +// watcher balancer functions sequentially, so the balancer can be implemented +// lock-free. +func (ccb *ccBalancerWrapper) watcher() { + for { + select { + case t := <-ccb.stateChangeQueue.get(): + ccb.stateChangeQueue.load() + select { + case <-ccb.done: + ccb.balancer.Close() + return + default: + } + if ub, ok := ccb.balancer.(balancer.V2Balancer); ok { + ub.UpdateSubConnState(t.sc, balancer.SubConnState{ConnectivityState: t.state}) + } else { + ccb.balancer.HandleSubConnStateChange(t.sc, t.state) + } + case s := <-ccb.ccUpdateCh: + select { + case <-ccb.done: + ccb.balancer.Close() + return + default: + } + if ub, ok := ccb.balancer.(balancer.V2Balancer); ok { + ub.UpdateClientConnState(*s) + } else { + ccb.balancer.HandleResolvedAddrs(s.ResolverState.Addresses, nil) + } + case <-ccb.done: + } + + select { + case <-ccb.done: + ccb.balancer.Close() + ccb.mu.Lock() + scs := ccb.subConns + ccb.subConns = nil + ccb.mu.Unlock() + for acbw := range scs { + ccb.cc.removeAddrConn(acbw.getAddrConn(), errConnDrain) + } + ccb.UpdateBalancerState(connectivity.Connecting, nil) + return + default: + } + ccb.cc.firstResolveEvent.Fire() + } +} + +func (ccb *ccBalancerWrapper) close() { + close(ccb.done) +} + +func (ccb *ccBalancerWrapper) handleSubConnStateChange(sc balancer.SubConn, s connectivity.State) { + // When updating addresses for a SubConn, if the address in use is not in + // the new addresses, the old ac will be tearDown() and a new ac will be + // created. tearDown() generates a state change with Shutdown state, we + // don't want the balancer to receive this state change. So before + // tearDown() on the old ac, ac.acbw (acWrapper) will be set to nil, and + // this function will be called with (nil, Shutdown). We don't need to call + // balancer method in this case. + if sc == nil { + return + } + ccb.stateChangeQueue.put(&scStateUpdate{ + sc: sc, + state: s, + }) +} + +func (ccb *ccBalancerWrapper) updateClientConnState(ccs *balancer.ClientConnState) { + if ccb.cc.curBalancerName != grpclbName { + // Filter any grpclb addresses since we don't have the grpclb balancer. + s := &ccs.ResolverState + for i := 0; i < len(s.Addresses); { + if s.Addresses[i].Type == resolver.GRPCLB { + copy(s.Addresses[i:], s.Addresses[i+1:]) + s.Addresses = s.Addresses[:len(s.Addresses)-1] + continue + } + i++ + } + } + select { + case <-ccb.ccUpdateCh: + default: + } + ccb.ccUpdateCh <- ccs +} + +func (ccb *ccBalancerWrapper) NewSubConn(addrs []resolver.Address, opts balancer.NewSubConnOptions) (balancer.SubConn, error) { + if len(addrs) <= 0 { + return nil, fmt.Errorf("grpc: cannot create SubConn with empty address list") + } + ccb.mu.Lock() + defer ccb.mu.Unlock() + if ccb.subConns == nil { + return nil, fmt.Errorf("grpc: ClientConn balancer wrapper was closed") + } + ac, err := ccb.cc.newAddrConn(addrs, opts) + if err != nil { + return nil, err + } + acbw := &acBalancerWrapper{ac: ac} + acbw.ac.mu.Lock() + ac.acbw = acbw + acbw.ac.mu.Unlock() + ccb.subConns[acbw] = struct{}{} + return acbw, nil +} + +func (ccb *ccBalancerWrapper) RemoveSubConn(sc balancer.SubConn) { + acbw, ok := sc.(*acBalancerWrapper) + if !ok { + return + } + ccb.mu.Lock() + defer ccb.mu.Unlock() + if ccb.subConns == nil { + return + } + delete(ccb.subConns, acbw) + ccb.cc.removeAddrConn(acbw.getAddrConn(), errConnDrain) +} + +func (ccb *ccBalancerWrapper) UpdateBalancerState(s connectivity.State, p balancer.Picker) { + ccb.mu.Lock() + defer ccb.mu.Unlock() + if ccb.subConns == nil { + return + } + // Update picker before updating state. Even though the ordering here does + // not matter, it can lead to multiple calls of Pick in the common start-up + // case where we wait for ready and then perform an RPC. If the picker is + // updated later, we could call the "connecting" picker when the state is + // updated, and then call the "ready" picker after the picker gets updated. + ccb.cc.blockingpicker.updatePicker(p) + ccb.cc.csMgr.updateState(s) +} + +func (ccb *ccBalancerWrapper) ResolveNow(o resolver.ResolveNowOption) { + ccb.cc.resolveNow(o) +} + +func (ccb *ccBalancerWrapper) Target() string { + return ccb.cc.target +} + +// acBalancerWrapper is a wrapper on top of ac for balancers. +// It implements balancer.SubConn interface. +type acBalancerWrapper struct { + mu sync.Mutex + ac *addrConn +} + +func (acbw *acBalancerWrapper) UpdateAddresses(addrs []resolver.Address) { + acbw.mu.Lock() + defer acbw.mu.Unlock() + if len(addrs) <= 0 { + acbw.ac.tearDown(errConnDrain) + return + } + if !acbw.ac.tryUpdateAddrs(addrs) { + cc := acbw.ac.cc + opts := acbw.ac.scopts + acbw.ac.mu.Lock() + // Set old ac.acbw to nil so the Shutdown state update will be ignored + // by balancer. + // + // TODO(bar) the state transition could be wrong when tearDown() old ac + // and creating new ac, fix the transition. + acbw.ac.acbw = nil + acbw.ac.mu.Unlock() + acState := acbw.ac.getState() + acbw.ac.tearDown(errConnDrain) + + if acState == connectivity.Shutdown { + return + } + + ac, err := cc.newAddrConn(addrs, opts) + if err != nil { + grpclog.Warningf("acBalancerWrapper: UpdateAddresses: failed to newAddrConn: %v", err) + return + } + acbw.ac = ac + ac.mu.Lock() + ac.acbw = acbw + ac.mu.Unlock() + if acState != connectivity.Idle { + ac.connect() + } + } +} + +func (acbw *acBalancerWrapper) Connect() { + acbw.mu.Lock() + defer acbw.mu.Unlock() + acbw.ac.connect() +} + +func (acbw *acBalancerWrapper) getAddrConn() *addrConn { + acbw.mu.Lock() + defer acbw.mu.Unlock() + return acbw.ac +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_v1_wrapper.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_v1_wrapper.go new file mode 100644 index 0000000..66e9a44 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/balancer_v1_wrapper.go @@ -0,0 +1,334 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + "sync" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/resolver" +) + +type balancerWrapperBuilder struct { + b Balancer // The v1 balancer. +} + +func (bwb *balancerWrapperBuilder) Build(cc balancer.ClientConn, opts balancer.BuildOptions) balancer.Balancer { + bwb.b.Start(opts.Target.Endpoint, BalancerConfig{ + DialCreds: opts.DialCreds, + Dialer: opts.Dialer, + }) + _, pickfirst := bwb.b.(*pickFirst) + bw := &balancerWrapper{ + balancer: bwb.b, + pickfirst: pickfirst, + cc: cc, + targetAddr: opts.Target.Endpoint, + startCh: make(chan struct{}), + conns: make(map[resolver.Address]balancer.SubConn), + connSt: make(map[balancer.SubConn]*scState), + csEvltr: &balancer.ConnectivityStateEvaluator{}, + state: connectivity.Idle, + } + cc.UpdateBalancerState(connectivity.Idle, bw) + go bw.lbWatcher() + return bw +} + +func (bwb *balancerWrapperBuilder) Name() string { + return "wrapper" +} + +type scState struct { + addr Address // The v1 address type. + s connectivity.State + down func(error) +} + +type balancerWrapper struct { + balancer Balancer // The v1 balancer. + pickfirst bool + + cc balancer.ClientConn + targetAddr string // Target without the scheme. + + mu sync.Mutex + conns map[resolver.Address]balancer.SubConn + connSt map[balancer.SubConn]*scState + // This channel is closed when handling the first resolver result. + // lbWatcher blocks until this is closed, to avoid race between + // - NewSubConn is created, cc wants to notify balancer of state changes; + // - Build hasn't return, cc doesn't have access to balancer. + startCh chan struct{} + + // To aggregate the connectivity state. + csEvltr *balancer.ConnectivityStateEvaluator + state connectivity.State +} + +// lbWatcher watches the Notify channel of the balancer and manages +// connections accordingly. +func (bw *balancerWrapper) lbWatcher() { + <-bw.startCh + notifyCh := bw.balancer.Notify() + if notifyCh == nil { + // There's no resolver in the balancer. Connect directly. + a := resolver.Address{ + Addr: bw.targetAddr, + Type: resolver.Backend, + } + sc, err := bw.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{}) + if err != nil { + grpclog.Warningf("Error creating connection to %v. Err: %v", a, err) + } else { + bw.mu.Lock() + bw.conns[a] = sc + bw.connSt[sc] = &scState{ + addr: Address{Addr: bw.targetAddr}, + s: connectivity.Idle, + } + bw.mu.Unlock() + sc.Connect() + } + return + } + + for addrs := range notifyCh { + grpclog.Infof("balancerWrapper: got update addr from Notify: %v", addrs) + if bw.pickfirst { + var ( + oldA resolver.Address + oldSC balancer.SubConn + ) + bw.mu.Lock() + for oldA, oldSC = range bw.conns { + break + } + bw.mu.Unlock() + if len(addrs) <= 0 { + if oldSC != nil { + // Teardown old sc. + bw.mu.Lock() + delete(bw.conns, oldA) + delete(bw.connSt, oldSC) + bw.mu.Unlock() + bw.cc.RemoveSubConn(oldSC) + } + continue + } + + var newAddrs []resolver.Address + for _, a := range addrs { + newAddr := resolver.Address{ + Addr: a.Addr, + Type: resolver.Backend, // All addresses from balancer are all backends. + ServerName: "", + Metadata: a.Metadata, + } + newAddrs = append(newAddrs, newAddr) + } + if oldSC == nil { + // Create new sc. + sc, err := bw.cc.NewSubConn(newAddrs, balancer.NewSubConnOptions{}) + if err != nil { + grpclog.Warningf("Error creating connection to %v. Err: %v", newAddrs, err) + } else { + bw.mu.Lock() + // For pickfirst, there should be only one SubConn, so the + // address doesn't matter. All states updating (up and down) + // and picking should all happen on that only SubConn. + bw.conns[resolver.Address{}] = sc + bw.connSt[sc] = &scState{ + addr: addrs[0], // Use the first address. + s: connectivity.Idle, + } + bw.mu.Unlock() + sc.Connect() + } + } else { + bw.mu.Lock() + bw.connSt[oldSC].addr = addrs[0] + bw.mu.Unlock() + oldSC.UpdateAddresses(newAddrs) + } + } else { + var ( + add []resolver.Address // Addresses need to setup connections. + del []balancer.SubConn // Connections need to tear down. + ) + resAddrs := make(map[resolver.Address]Address) + for _, a := range addrs { + resAddrs[resolver.Address{ + Addr: a.Addr, + Type: resolver.Backend, // All addresses from balancer are all backends. + ServerName: "", + Metadata: a.Metadata, + }] = a + } + bw.mu.Lock() + for a := range resAddrs { + if _, ok := bw.conns[a]; !ok { + add = append(add, a) + } + } + for a, c := range bw.conns { + if _, ok := resAddrs[a]; !ok { + del = append(del, c) + delete(bw.conns, a) + // Keep the state of this sc in bw.connSt until its state becomes Shutdown. + } + } + bw.mu.Unlock() + for _, a := range add { + sc, err := bw.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{}) + if err != nil { + grpclog.Warningf("Error creating connection to %v. Err: %v", a, err) + } else { + bw.mu.Lock() + bw.conns[a] = sc + bw.connSt[sc] = &scState{ + addr: resAddrs[a], + s: connectivity.Idle, + } + bw.mu.Unlock() + sc.Connect() + } + } + for _, c := range del { + bw.cc.RemoveSubConn(c) + } + } + } +} + +func (bw *balancerWrapper) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) { + bw.mu.Lock() + defer bw.mu.Unlock() + scSt, ok := bw.connSt[sc] + if !ok { + return + } + if s == connectivity.Idle { + sc.Connect() + } + oldS := scSt.s + scSt.s = s + if oldS != connectivity.Ready && s == connectivity.Ready { + scSt.down = bw.balancer.Up(scSt.addr) + } else if oldS == connectivity.Ready && s != connectivity.Ready { + if scSt.down != nil { + scSt.down(errConnClosing) + } + } + sa := bw.csEvltr.RecordTransition(oldS, s) + if bw.state != sa { + bw.state = sa + } + bw.cc.UpdateBalancerState(bw.state, bw) + if s == connectivity.Shutdown { + // Remove state for this sc. + delete(bw.connSt, sc) + } +} + +func (bw *balancerWrapper) HandleResolvedAddrs([]resolver.Address, error) { + bw.mu.Lock() + defer bw.mu.Unlock() + select { + case <-bw.startCh: + default: + close(bw.startCh) + } + // There should be a resolver inside the balancer. + // All updates here, if any, are ignored. +} + +func (bw *balancerWrapper) Close() { + bw.mu.Lock() + defer bw.mu.Unlock() + select { + case <-bw.startCh: + default: + close(bw.startCh) + } + bw.balancer.Close() +} + +// The picker is the balancerWrapper itself. +// It either blocks or returns error, consistent with v1 balancer Get(). +func (bw *balancerWrapper) Pick(ctx context.Context, opts balancer.PickOptions) (sc balancer.SubConn, done func(balancer.DoneInfo), err error) { + failfast := true // Default failfast is true. + if ss, ok := rpcInfoFromContext(ctx); ok { + failfast = ss.failfast + } + a, p, err := bw.balancer.Get(ctx, BalancerGetOptions{BlockingWait: !failfast}) + if err != nil { + return nil, nil, err + } + if p != nil { + done = func(balancer.DoneInfo) { p() } + defer func() { + if err != nil { + p() + } + }() + } + + bw.mu.Lock() + defer bw.mu.Unlock() + if bw.pickfirst { + // Get the first sc in conns. + for _, sc := range bw.conns { + return sc, done, nil + } + return nil, nil, balancer.ErrNoSubConnAvailable + } + sc, ok1 := bw.conns[resolver.Address{ + Addr: a.Addr, + Type: resolver.Backend, + ServerName: "", + Metadata: a.Metadata, + }] + s, ok2 := bw.connSt[sc] + if !ok1 || !ok2 { + // This can only happen due to a race where Get() returned an address + // that was subsequently removed by Notify. In this case we should + // retry always. + return nil, nil, balancer.ErrNoSubConnAvailable + } + switch s.s { + case connectivity.Ready, connectivity.Idle: + return sc, done, nil + case connectivity.Shutdown, connectivity.TransientFailure: + // If the returned sc has been shut down or is in transient failure, + // return error, and this RPC will fail or wait for another picker (if + // non-failfast). + return nil, nil, balancer.ErrTransientFailure + default: + // For other states (connecting or unknown), the v1 balancer would + // traditionally wait until ready and then issue the RPC. Returning + // ErrNoSubConnAvailable will be a slight improvement in that it will + // allow the balancer to choose another address in case others are + // connected. + return nil, nil, balancer.ErrNoSubConnAvailable + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go new file mode 100644 index 0000000..f393bb6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go @@ -0,0 +1,900 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: grpc/binarylog/grpc_binarylog_v1/binarylog.proto + +package grpc_binarylog_v1 // import "google.golang.org/grpc/binarylog/grpc_binarylog_v1" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import duration "github.com/golang/protobuf/ptypes/duration" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +// Enumerates the type of event +// Note the terminology is different from the RPC semantics +// definition, but the same meaning is expressed here. +type GrpcLogEntry_EventType int32 + +const ( + GrpcLogEntry_EVENT_TYPE_UNKNOWN GrpcLogEntry_EventType = 0 + // Header sent from client to server + GrpcLogEntry_EVENT_TYPE_CLIENT_HEADER GrpcLogEntry_EventType = 1 + // Header sent from server to client + GrpcLogEntry_EVENT_TYPE_SERVER_HEADER GrpcLogEntry_EventType = 2 + // Message sent from client to server + GrpcLogEntry_EVENT_TYPE_CLIENT_MESSAGE GrpcLogEntry_EventType = 3 + // Message sent from server to client + GrpcLogEntry_EVENT_TYPE_SERVER_MESSAGE GrpcLogEntry_EventType = 4 + // A signal that client is done sending + GrpcLogEntry_EVENT_TYPE_CLIENT_HALF_CLOSE GrpcLogEntry_EventType = 5 + // Trailer indicates the end of the RPC. + // On client side, this event means a trailer was either received + // from the network or the gRPC library locally generated a status + // to inform the application about a failure. + // On server side, this event means the server application requested + // to send a trailer. Note: EVENT_TYPE_CANCEL may still arrive after + // this due to races on server side. + GrpcLogEntry_EVENT_TYPE_SERVER_TRAILER GrpcLogEntry_EventType = 6 + // A signal that the RPC is cancelled. On client side, this + // indicates the client application requests a cancellation. + // On server side, this indicates that cancellation was detected. + // Note: This marks the end of the RPC. Events may arrive after + // this due to races. For example, on client side a trailer + // may arrive even though the application requested to cancel the RPC. + GrpcLogEntry_EVENT_TYPE_CANCEL GrpcLogEntry_EventType = 7 +) + +var GrpcLogEntry_EventType_name = map[int32]string{ + 0: "EVENT_TYPE_UNKNOWN", + 1: "EVENT_TYPE_CLIENT_HEADER", + 2: "EVENT_TYPE_SERVER_HEADER", + 3: "EVENT_TYPE_CLIENT_MESSAGE", + 4: "EVENT_TYPE_SERVER_MESSAGE", + 5: "EVENT_TYPE_CLIENT_HALF_CLOSE", + 6: "EVENT_TYPE_SERVER_TRAILER", + 7: "EVENT_TYPE_CANCEL", +} +var GrpcLogEntry_EventType_value = map[string]int32{ + "EVENT_TYPE_UNKNOWN": 0, + "EVENT_TYPE_CLIENT_HEADER": 1, + "EVENT_TYPE_SERVER_HEADER": 2, + "EVENT_TYPE_CLIENT_MESSAGE": 3, + "EVENT_TYPE_SERVER_MESSAGE": 4, + "EVENT_TYPE_CLIENT_HALF_CLOSE": 5, + "EVENT_TYPE_SERVER_TRAILER": 6, + "EVENT_TYPE_CANCEL": 7, +} + +func (x GrpcLogEntry_EventType) String() string { + return proto.EnumName(GrpcLogEntry_EventType_name, int32(x)) +} +func (GrpcLogEntry_EventType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{0, 0} +} + +// Enumerates the entity that generates the log entry +type GrpcLogEntry_Logger int32 + +const ( + GrpcLogEntry_LOGGER_UNKNOWN GrpcLogEntry_Logger = 0 + GrpcLogEntry_LOGGER_CLIENT GrpcLogEntry_Logger = 1 + GrpcLogEntry_LOGGER_SERVER GrpcLogEntry_Logger = 2 +) + +var GrpcLogEntry_Logger_name = map[int32]string{ + 0: "LOGGER_UNKNOWN", + 1: "LOGGER_CLIENT", + 2: "LOGGER_SERVER", +} +var GrpcLogEntry_Logger_value = map[string]int32{ + "LOGGER_UNKNOWN": 0, + "LOGGER_CLIENT": 1, + "LOGGER_SERVER": 2, +} + +func (x GrpcLogEntry_Logger) String() string { + return proto.EnumName(GrpcLogEntry_Logger_name, int32(x)) +} +func (GrpcLogEntry_Logger) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{0, 1} +} + +type Address_Type int32 + +const ( + Address_TYPE_UNKNOWN Address_Type = 0 + // address is in 1.2.3.4 form + Address_TYPE_IPV4 Address_Type = 1 + // address is in IPv6 canonical form (RFC5952 section 4) + // The scope is NOT included in the address string. + Address_TYPE_IPV6 Address_Type = 2 + // address is UDS string + Address_TYPE_UNIX Address_Type = 3 +) + +var Address_Type_name = map[int32]string{ + 0: "TYPE_UNKNOWN", + 1: "TYPE_IPV4", + 2: "TYPE_IPV6", + 3: "TYPE_UNIX", +} +var Address_Type_value = map[string]int32{ + "TYPE_UNKNOWN": 0, + "TYPE_IPV4": 1, + "TYPE_IPV6": 2, + "TYPE_UNIX": 3, +} + +func (x Address_Type) String() string { + return proto.EnumName(Address_Type_name, int32(x)) +} +func (Address_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{7, 0} +} + +// Log entry we store in binary logs +type GrpcLogEntry struct { + // The timestamp of the binary log message + Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // Uniquely identifies a call. The value must not be 0 in order to disambiguate + // from an unset value. + // Each call may have several log entries, they will all have the same call_id. + // Nothing is guaranteed about their value other than they are unique across + // different RPCs in the same gRPC process. + CallId uint64 `protobuf:"varint,2,opt,name=call_id,json=callId,proto3" json:"call_id,omitempty"` + // The entry sequence id for this call. The first GrpcLogEntry has a + // value of 1, to disambiguate from an unset value. The purpose of + // this field is to detect missing entries in environments where + // durability or ordering is not guaranteed. + SequenceIdWithinCall uint64 `protobuf:"varint,3,opt,name=sequence_id_within_call,json=sequenceIdWithinCall,proto3" json:"sequence_id_within_call,omitempty"` + Type GrpcLogEntry_EventType `protobuf:"varint,4,opt,name=type,proto3,enum=grpc.binarylog.v1.GrpcLogEntry_EventType" json:"type,omitempty"` + Logger GrpcLogEntry_Logger `protobuf:"varint,5,opt,name=logger,proto3,enum=grpc.binarylog.v1.GrpcLogEntry_Logger" json:"logger,omitempty"` + // The logger uses one of the following fields to record the payload, + // according to the type of the log entry. + // + // Types that are valid to be assigned to Payload: + // *GrpcLogEntry_ClientHeader + // *GrpcLogEntry_ServerHeader + // *GrpcLogEntry_Message + // *GrpcLogEntry_Trailer + Payload isGrpcLogEntry_Payload `protobuf_oneof:"payload"` + // true if payload does not represent the full message or metadata. + PayloadTruncated bool `protobuf:"varint,10,opt,name=payload_truncated,json=payloadTruncated,proto3" json:"payload_truncated,omitempty"` + // Peer address information, will only be recorded on the first + // incoming event. On client side, peer is logged on + // EVENT_TYPE_SERVER_HEADER normally or EVENT_TYPE_SERVER_TRAILER in + // the case of trailers-only. On server side, peer is always + // logged on EVENT_TYPE_CLIENT_HEADER. + Peer *Address `protobuf:"bytes,11,opt,name=peer,proto3" json:"peer,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GrpcLogEntry) Reset() { *m = GrpcLogEntry{} } +func (m *GrpcLogEntry) String() string { return proto.CompactTextString(m) } +func (*GrpcLogEntry) ProtoMessage() {} +func (*GrpcLogEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{0} +} +func (m *GrpcLogEntry) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GrpcLogEntry.Unmarshal(m, b) +} +func (m *GrpcLogEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GrpcLogEntry.Marshal(b, m, deterministic) +} +func (dst *GrpcLogEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_GrpcLogEntry.Merge(dst, src) +} +func (m *GrpcLogEntry) XXX_Size() int { + return xxx_messageInfo_GrpcLogEntry.Size(m) +} +func (m *GrpcLogEntry) XXX_DiscardUnknown() { + xxx_messageInfo_GrpcLogEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_GrpcLogEntry proto.InternalMessageInfo + +func (m *GrpcLogEntry) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *GrpcLogEntry) GetCallId() uint64 { + if m != nil { + return m.CallId + } + return 0 +} + +func (m *GrpcLogEntry) GetSequenceIdWithinCall() uint64 { + if m != nil { + return m.SequenceIdWithinCall + } + return 0 +} + +func (m *GrpcLogEntry) GetType() GrpcLogEntry_EventType { + if m != nil { + return m.Type + } + return GrpcLogEntry_EVENT_TYPE_UNKNOWN +} + +func (m *GrpcLogEntry) GetLogger() GrpcLogEntry_Logger { + if m != nil { + return m.Logger + } + return GrpcLogEntry_LOGGER_UNKNOWN +} + +type isGrpcLogEntry_Payload interface { + isGrpcLogEntry_Payload() +} + +type GrpcLogEntry_ClientHeader struct { + ClientHeader *ClientHeader `protobuf:"bytes,6,opt,name=client_header,json=clientHeader,proto3,oneof"` +} + +type GrpcLogEntry_ServerHeader struct { + ServerHeader *ServerHeader `protobuf:"bytes,7,opt,name=server_header,json=serverHeader,proto3,oneof"` +} + +type GrpcLogEntry_Message struct { + Message *Message `protobuf:"bytes,8,opt,name=message,proto3,oneof"` +} + +type GrpcLogEntry_Trailer struct { + Trailer *Trailer `protobuf:"bytes,9,opt,name=trailer,proto3,oneof"` +} + +func (*GrpcLogEntry_ClientHeader) isGrpcLogEntry_Payload() {} + +func (*GrpcLogEntry_ServerHeader) isGrpcLogEntry_Payload() {} + +func (*GrpcLogEntry_Message) isGrpcLogEntry_Payload() {} + +func (*GrpcLogEntry_Trailer) isGrpcLogEntry_Payload() {} + +func (m *GrpcLogEntry) GetPayload() isGrpcLogEntry_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *GrpcLogEntry) GetClientHeader() *ClientHeader { + if x, ok := m.GetPayload().(*GrpcLogEntry_ClientHeader); ok { + return x.ClientHeader + } + return nil +} + +func (m *GrpcLogEntry) GetServerHeader() *ServerHeader { + if x, ok := m.GetPayload().(*GrpcLogEntry_ServerHeader); ok { + return x.ServerHeader + } + return nil +} + +func (m *GrpcLogEntry) GetMessage() *Message { + if x, ok := m.GetPayload().(*GrpcLogEntry_Message); ok { + return x.Message + } + return nil +} + +func (m *GrpcLogEntry) GetTrailer() *Trailer { + if x, ok := m.GetPayload().(*GrpcLogEntry_Trailer); ok { + return x.Trailer + } + return nil +} + +func (m *GrpcLogEntry) GetPayloadTruncated() bool { + if m != nil { + return m.PayloadTruncated + } + return false +} + +func (m *GrpcLogEntry) GetPeer() *Address { + if m != nil { + return m.Peer + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*GrpcLogEntry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _GrpcLogEntry_OneofMarshaler, _GrpcLogEntry_OneofUnmarshaler, _GrpcLogEntry_OneofSizer, []interface{}{ + (*GrpcLogEntry_ClientHeader)(nil), + (*GrpcLogEntry_ServerHeader)(nil), + (*GrpcLogEntry_Message)(nil), + (*GrpcLogEntry_Trailer)(nil), + } +} + +func _GrpcLogEntry_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*GrpcLogEntry) + // payload + switch x := m.Payload.(type) { + case *GrpcLogEntry_ClientHeader: + b.EncodeVarint(6<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.ClientHeader); err != nil { + return err + } + case *GrpcLogEntry_ServerHeader: + b.EncodeVarint(7<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.ServerHeader); err != nil { + return err + } + case *GrpcLogEntry_Message: + b.EncodeVarint(8<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Message); err != nil { + return err + } + case *GrpcLogEntry_Trailer: + b.EncodeVarint(9<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Trailer); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("GrpcLogEntry.Payload has unexpected type %T", x) + } + return nil +} + +func _GrpcLogEntry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*GrpcLogEntry) + switch tag { + case 6: // payload.client_header + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(ClientHeader) + err := b.DecodeMessage(msg) + m.Payload = &GrpcLogEntry_ClientHeader{msg} + return true, err + case 7: // payload.server_header + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(ServerHeader) + err := b.DecodeMessage(msg) + m.Payload = &GrpcLogEntry_ServerHeader{msg} + return true, err + case 8: // payload.message + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(Message) + err := b.DecodeMessage(msg) + m.Payload = &GrpcLogEntry_Message{msg} + return true, err + case 9: // payload.trailer + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(Trailer) + err := b.DecodeMessage(msg) + m.Payload = &GrpcLogEntry_Trailer{msg} + return true, err + default: + return false, nil + } +} + +func _GrpcLogEntry_OneofSizer(msg proto.Message) (n int) { + m := msg.(*GrpcLogEntry) + // payload + switch x := m.Payload.(type) { + case *GrpcLogEntry_ClientHeader: + s := proto.Size(x.ClientHeader) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *GrpcLogEntry_ServerHeader: + s := proto.Size(x.ServerHeader) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *GrpcLogEntry_Message: + s := proto.Size(x.Message) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *GrpcLogEntry_Trailer: + s := proto.Size(x.Trailer) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type ClientHeader struct { + // This contains only the metadata from the application. + Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The name of the RPC method, which looks something like: + // // + // Note the leading "/" character. + MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` + // A single process may be used to run multiple virtual + // servers with different identities. + // The authority is the name of such a server identitiy. + // It is typically a portion of the URI in the form of + // or : . + Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` + // the RPC timeout + Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ClientHeader) Reset() { *m = ClientHeader{} } +func (m *ClientHeader) String() string { return proto.CompactTextString(m) } +func (*ClientHeader) ProtoMessage() {} +func (*ClientHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{1} +} +func (m *ClientHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ClientHeader.Unmarshal(m, b) +} +func (m *ClientHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ClientHeader.Marshal(b, m, deterministic) +} +func (dst *ClientHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClientHeader.Merge(dst, src) +} +func (m *ClientHeader) XXX_Size() int { + return xxx_messageInfo_ClientHeader.Size(m) +} +func (m *ClientHeader) XXX_DiscardUnknown() { + xxx_messageInfo_ClientHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_ClientHeader proto.InternalMessageInfo + +func (m *ClientHeader) GetMetadata() *Metadata { + if m != nil { + return m.Metadata + } + return nil +} + +func (m *ClientHeader) GetMethodName() string { + if m != nil { + return m.MethodName + } + return "" +} + +func (m *ClientHeader) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *ClientHeader) GetTimeout() *duration.Duration { + if m != nil { + return m.Timeout + } + return nil +} + +type ServerHeader struct { + // This contains only the metadata from the application. + Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ServerHeader) Reset() { *m = ServerHeader{} } +func (m *ServerHeader) String() string { return proto.CompactTextString(m) } +func (*ServerHeader) ProtoMessage() {} +func (*ServerHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{2} +} +func (m *ServerHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ServerHeader.Unmarshal(m, b) +} +func (m *ServerHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ServerHeader.Marshal(b, m, deterministic) +} +func (dst *ServerHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServerHeader.Merge(dst, src) +} +func (m *ServerHeader) XXX_Size() int { + return xxx_messageInfo_ServerHeader.Size(m) +} +func (m *ServerHeader) XXX_DiscardUnknown() { + xxx_messageInfo_ServerHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_ServerHeader proto.InternalMessageInfo + +func (m *ServerHeader) GetMetadata() *Metadata { + if m != nil { + return m.Metadata + } + return nil +} + +type Trailer struct { + // This contains only the metadata from the application. + Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The gRPC status code. + StatusCode uint32 `protobuf:"varint,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` + // An original status message before any transport specific + // encoding. + StatusMessage string `protobuf:"bytes,3,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // The value of the 'grpc-status-details-bin' metadata key. If + // present, this is always an encoded 'google.rpc.Status' message. + StatusDetails []byte `protobuf:"bytes,4,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Trailer) Reset() { *m = Trailer{} } +func (m *Trailer) String() string { return proto.CompactTextString(m) } +func (*Trailer) ProtoMessage() {} +func (*Trailer) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{3} +} +func (m *Trailer) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Trailer.Unmarshal(m, b) +} +func (m *Trailer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Trailer.Marshal(b, m, deterministic) +} +func (dst *Trailer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Trailer.Merge(dst, src) +} +func (m *Trailer) XXX_Size() int { + return xxx_messageInfo_Trailer.Size(m) +} +func (m *Trailer) XXX_DiscardUnknown() { + xxx_messageInfo_Trailer.DiscardUnknown(m) +} + +var xxx_messageInfo_Trailer proto.InternalMessageInfo + +func (m *Trailer) GetMetadata() *Metadata { + if m != nil { + return m.Metadata + } + return nil +} + +func (m *Trailer) GetStatusCode() uint32 { + if m != nil { + return m.StatusCode + } + return 0 +} + +func (m *Trailer) GetStatusMessage() string { + if m != nil { + return m.StatusMessage + } + return "" +} + +func (m *Trailer) GetStatusDetails() []byte { + if m != nil { + return m.StatusDetails + } + return nil +} + +// Message payload, used by CLIENT_MESSAGE and SERVER_MESSAGE +type Message struct { + // Length of the message. It may not be the same as the length of the + // data field, as the logging payload can be truncated or omitted. + Length uint32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` + // May be truncated or omitted. + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Message) Reset() { *m = Message{} } +func (m *Message) String() string { return proto.CompactTextString(m) } +func (*Message) ProtoMessage() {} +func (*Message) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{4} +} +func (m *Message) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Message.Unmarshal(m, b) +} +func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Message.Marshal(b, m, deterministic) +} +func (dst *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(dst, src) +} +func (m *Message) XXX_Size() int { + return xxx_messageInfo_Message.Size(m) +} +func (m *Message) XXX_DiscardUnknown() { + xxx_messageInfo_Message.DiscardUnknown(m) +} + +var xxx_messageInfo_Message proto.InternalMessageInfo + +func (m *Message) GetLength() uint32 { + if m != nil { + return m.Length + } + return 0 +} + +func (m *Message) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +// A list of metadata pairs, used in the payload of client header, +// server header, and server trailer. +// Implementations may omit some entries to honor the header limits +// of GRPC_BINARY_LOG_CONFIG. +// +// Header keys added by gRPC are omitted. To be more specific, +// implementations will not log the following entries, and this is +// not to be treated as a truncation: +// - entries handled by grpc that are not user visible, such as those +// that begin with 'grpc-' (with exception of grpc-trace-bin) +// or keys like 'lb-token' +// - transport specific entries, including but not limited to: +// ':path', ':authority', 'content-encoding', 'user-agent', 'te', etc +// - entries added for call credentials +// +// Implementations must always log grpc-trace-bin if it is present. +// Practically speaking it will only be visible on server side because +// grpc-trace-bin is managed by low level client side mechanisms +// inaccessible from the application level. On server side, the +// header is just a normal metadata key. +// The pair will not count towards the size limit. +type Metadata struct { + Entry []*MetadataEntry `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Metadata) Reset() { *m = Metadata{} } +func (m *Metadata) String() string { return proto.CompactTextString(m) } +func (*Metadata) ProtoMessage() {} +func (*Metadata) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{5} +} +func (m *Metadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Metadata.Unmarshal(m, b) +} +func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Metadata.Marshal(b, m, deterministic) +} +func (dst *Metadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_Metadata.Merge(dst, src) +} +func (m *Metadata) XXX_Size() int { + return xxx_messageInfo_Metadata.Size(m) +} +func (m *Metadata) XXX_DiscardUnknown() { + xxx_messageInfo_Metadata.DiscardUnknown(m) +} + +var xxx_messageInfo_Metadata proto.InternalMessageInfo + +func (m *Metadata) GetEntry() []*MetadataEntry { + if m != nil { + return m.Entry + } + return nil +} + +// A metadata key value pair +type MetadataEntry struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MetadataEntry) Reset() { *m = MetadataEntry{} } +func (m *MetadataEntry) String() string { return proto.CompactTextString(m) } +func (*MetadataEntry) ProtoMessage() {} +func (*MetadataEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{6} +} +func (m *MetadataEntry) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MetadataEntry.Unmarshal(m, b) +} +func (m *MetadataEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MetadataEntry.Marshal(b, m, deterministic) +} +func (dst *MetadataEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_MetadataEntry.Merge(dst, src) +} +func (m *MetadataEntry) XXX_Size() int { + return xxx_messageInfo_MetadataEntry.Size(m) +} +func (m *MetadataEntry) XXX_DiscardUnknown() { + xxx_messageInfo_MetadataEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_MetadataEntry proto.InternalMessageInfo + +func (m *MetadataEntry) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *MetadataEntry) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +// Address information +type Address struct { + Type Address_Type `protobuf:"varint,1,opt,name=type,proto3,enum=grpc.binarylog.v1.Address_Type" json:"type,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + // only for TYPE_IPV4 and TYPE_IPV6 + IpPort uint32 `protobuf:"varint,3,opt,name=ip_port,json=ipPort,proto3" json:"ip_port,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Address) Reset() { *m = Address{} } +func (m *Address) String() string { return proto.CompactTextString(m) } +func (*Address) ProtoMessage() {} +func (*Address) Descriptor() ([]byte, []int) { + return fileDescriptor_binarylog_264c8c9c551ce911, []int{7} +} +func (m *Address) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Address.Unmarshal(m, b) +} +func (m *Address) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Address.Marshal(b, m, deterministic) +} +func (dst *Address) XXX_Merge(src proto.Message) { + xxx_messageInfo_Address.Merge(dst, src) +} +func (m *Address) XXX_Size() int { + return xxx_messageInfo_Address.Size(m) +} +func (m *Address) XXX_DiscardUnknown() { + xxx_messageInfo_Address.DiscardUnknown(m) +} + +var xxx_messageInfo_Address proto.InternalMessageInfo + +func (m *Address) GetType() Address_Type { + if m != nil { + return m.Type + } + return Address_TYPE_UNKNOWN +} + +func (m *Address) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *Address) GetIpPort() uint32 { + if m != nil { + return m.IpPort + } + return 0 +} + +func init() { + proto.RegisterType((*GrpcLogEntry)(nil), "grpc.binarylog.v1.GrpcLogEntry") + proto.RegisterType((*ClientHeader)(nil), "grpc.binarylog.v1.ClientHeader") + proto.RegisterType((*ServerHeader)(nil), "grpc.binarylog.v1.ServerHeader") + proto.RegisterType((*Trailer)(nil), "grpc.binarylog.v1.Trailer") + proto.RegisterType((*Message)(nil), "grpc.binarylog.v1.Message") + proto.RegisterType((*Metadata)(nil), "grpc.binarylog.v1.Metadata") + proto.RegisterType((*MetadataEntry)(nil), "grpc.binarylog.v1.MetadataEntry") + proto.RegisterType((*Address)(nil), "grpc.binarylog.v1.Address") + proto.RegisterEnum("grpc.binarylog.v1.GrpcLogEntry_EventType", GrpcLogEntry_EventType_name, GrpcLogEntry_EventType_value) + proto.RegisterEnum("grpc.binarylog.v1.GrpcLogEntry_Logger", GrpcLogEntry_Logger_name, GrpcLogEntry_Logger_value) + proto.RegisterEnum("grpc.binarylog.v1.Address_Type", Address_Type_name, Address_Type_value) +} + +func init() { + proto.RegisterFile("grpc/binarylog/grpc_binarylog_v1/binarylog.proto", fileDescriptor_binarylog_264c8c9c551ce911) +} + +var fileDescriptor_binarylog_264c8c9c551ce911 = []byte{ + // 900 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x51, 0x6f, 0xe3, 0x44, + 0x10, 0x3e, 0x37, 0x69, 0xdc, 0x4c, 0x92, 0xca, 0x5d, 0x95, 0x3b, 0x5f, 0x29, 0x34, 0xb2, 0x04, + 0x0a, 0x42, 0x72, 0xb9, 0x94, 0xeb, 0xf1, 0x02, 0x52, 0x92, 0xfa, 0xd2, 0x88, 0x5c, 0x1a, 0x6d, + 0x72, 0x3d, 0x40, 0x48, 0xd6, 0x36, 0x5e, 0x1c, 0x0b, 0xc7, 0x6b, 0xd6, 0x9b, 0xa0, 0xfc, 0x2c, + 0xde, 0x90, 0xee, 0x77, 0xf1, 0x8e, 0xbc, 0x6b, 0x27, 0xa6, 0x69, 0x0f, 0x09, 0xde, 0x3c, 0xdf, + 0x7c, 0xf3, 0xcd, 0xee, 0x78, 0x66, 0x16, 0xbe, 0xf2, 0x79, 0x3c, 0x3b, 0xbf, 0x0b, 0x22, 0xc2, + 0xd7, 0x21, 0xf3, 0xcf, 0x53, 0xd3, 0xdd, 0x98, 0xee, 0xea, 0xc5, 0xd6, 0x67, 0xc7, 0x9c, 0x09, + 0x86, 0x8e, 0x52, 0x8a, 0xbd, 0x45, 0x57, 0x2f, 0x4e, 0x3e, 0xf5, 0x19, 0xf3, 0x43, 0x7a, 0x2e, + 0x09, 0x77, 0xcb, 0x5f, 0xce, 0xbd, 0x25, 0x27, 0x22, 0x60, 0x91, 0x0a, 0x39, 0x39, 0xbb, 0xef, + 0x17, 0xc1, 0x82, 0x26, 0x82, 0x2c, 0x62, 0x45, 0xb0, 0xde, 0xeb, 0x50, 0xef, 0xf3, 0x78, 0x36, + 0x64, 0xbe, 0x13, 0x09, 0xbe, 0x46, 0xdf, 0x40, 0x75, 0xc3, 0x31, 0xb5, 0xa6, 0xd6, 0xaa, 0xb5, + 0x4f, 0x6c, 0xa5, 0x62, 0xe7, 0x2a, 0xf6, 0x34, 0x67, 0xe0, 0x2d, 0x19, 0x3d, 0x03, 0x7d, 0x46, + 0xc2, 0xd0, 0x0d, 0x3c, 0x73, 0xaf, 0xa9, 0xb5, 0xca, 0xb8, 0x92, 0x9a, 0x03, 0x0f, 0xbd, 0x84, + 0x67, 0x09, 0xfd, 0x6d, 0x49, 0xa3, 0x19, 0x75, 0x03, 0xcf, 0xfd, 0x3d, 0x10, 0xf3, 0x20, 0x72, + 0x53, 0xa7, 0x59, 0x92, 0xc4, 0xe3, 0xdc, 0x3d, 0xf0, 0xde, 0x49, 0x67, 0x8f, 0x84, 0x21, 0xfa, + 0x16, 0xca, 0x62, 0x1d, 0x53, 0xb3, 0xdc, 0xd4, 0x5a, 0x87, 0xed, 0x2f, 0xec, 0x9d, 0xdb, 0xdb, + 0xc5, 0x83, 0xdb, 0xce, 0x8a, 0x46, 0x62, 0xba, 0x8e, 0x29, 0x96, 0x61, 0xe8, 0x3b, 0xa8, 0x84, + 0xcc, 0xf7, 0x29, 0x37, 0xf7, 0xa5, 0xc0, 0xe7, 0xff, 0x26, 0x30, 0x94, 0x6c, 0x9c, 0x45, 0xa1, + 0xd7, 0xd0, 0x98, 0x85, 0x01, 0x8d, 0x84, 0x3b, 0xa7, 0xc4, 0xa3, 0xdc, 0xac, 0xc8, 0x62, 0x9c, + 0x3d, 0x20, 0xd3, 0x93, 0xbc, 0x6b, 0x49, 0xbb, 0x7e, 0x82, 0xeb, 0xb3, 0x82, 0x9d, 0xea, 0x24, + 0x94, 0xaf, 0x28, 0xcf, 0x75, 0xf4, 0x47, 0x75, 0x26, 0x92, 0xb7, 0xd5, 0x49, 0x0a, 0x36, 0xba, + 0x04, 0x7d, 0x41, 0x93, 0x84, 0xf8, 0xd4, 0x3c, 0xc8, 0x7f, 0xcb, 0x8e, 0xc2, 0x1b, 0xc5, 0xb8, + 0x7e, 0x82, 0x73, 0x72, 0x1a, 0x27, 0x38, 0x09, 0x42, 0xca, 0xcd, 0xea, 0xa3, 0x71, 0x53, 0xc5, + 0x48, 0xe3, 0x32, 0x32, 0xfa, 0x12, 0x8e, 0x62, 0xb2, 0x0e, 0x19, 0xf1, 0x5c, 0xc1, 0x97, 0xd1, + 0x8c, 0x08, 0xea, 0x99, 0xd0, 0xd4, 0x5a, 0x07, 0xd8, 0xc8, 0x1c, 0xd3, 0x1c, 0x47, 0x36, 0x94, + 0x63, 0x4a, 0xb9, 0x59, 0x7b, 0x34, 0x43, 0xc7, 0xf3, 0x38, 0x4d, 0x12, 0x2c, 0x79, 0xd6, 0x5f, + 0x1a, 0x54, 0x37, 0x3f, 0x0c, 0x3d, 0x05, 0xe4, 0xdc, 0x3a, 0xa3, 0xa9, 0x3b, 0xfd, 0x71, 0xec, + 0xb8, 0x6f, 0x47, 0xdf, 0x8f, 0x6e, 0xde, 0x8d, 0x8c, 0x27, 0xe8, 0x14, 0xcc, 0x02, 0xde, 0x1b, + 0x0e, 0xd2, 0xef, 0x6b, 0xa7, 0x73, 0xe5, 0x60, 0x43, 0xbb, 0xe7, 0x9d, 0x38, 0xf8, 0xd6, 0xc1, + 0xb9, 0x77, 0x0f, 0x7d, 0x02, 0xcf, 0x77, 0x63, 0xdf, 0x38, 0x93, 0x49, 0xa7, 0xef, 0x18, 0xa5, + 0x7b, 0xee, 0x2c, 0x38, 0x77, 0x97, 0x51, 0x13, 0x4e, 0x1f, 0xc8, 0xdc, 0x19, 0xbe, 0x76, 0x7b, + 0xc3, 0x9b, 0x89, 0x63, 0xec, 0x3f, 0x2c, 0x30, 0xc5, 0x9d, 0xc1, 0xd0, 0xc1, 0x46, 0x05, 0x7d, + 0x04, 0x47, 0x45, 0x81, 0xce, 0xa8, 0xe7, 0x0c, 0x0d, 0xdd, 0xea, 0x42, 0x45, 0xb5, 0x19, 0x42, + 0x70, 0x38, 0xbc, 0xe9, 0xf7, 0x1d, 0x5c, 0xb8, 0xef, 0x11, 0x34, 0x32, 0x4c, 0x65, 0x34, 0xb4, + 0x02, 0xa4, 0x52, 0x18, 0x7b, 0xdd, 0x2a, 0xe8, 0x59, 0xfd, 0xad, 0xf7, 0x1a, 0xd4, 0x8b, 0xcd, + 0x87, 0x5e, 0xc1, 0xc1, 0x82, 0x0a, 0xe2, 0x11, 0x41, 0xb2, 0xe1, 0xfd, 0xf8, 0xc1, 0x2e, 0x51, + 0x14, 0xbc, 0x21, 0xa3, 0x33, 0xa8, 0x2d, 0xa8, 0x98, 0x33, 0xcf, 0x8d, 0xc8, 0x82, 0xca, 0x01, + 0xae, 0x62, 0x50, 0xd0, 0x88, 0x2c, 0x28, 0x3a, 0x85, 0x2a, 0x59, 0x8a, 0x39, 0xe3, 0x81, 0x58, + 0xcb, 0xb1, 0xad, 0xe2, 0x2d, 0x80, 0x2e, 0x40, 0x4f, 0x17, 0x01, 0x5b, 0x0a, 0x39, 0xae, 0xb5, + 0xf6, 0xf3, 0x9d, 0x9d, 0x71, 0x95, 0x6d, 0x26, 0x9c, 0x33, 0xad, 0x3e, 0xd4, 0x8b, 0x1d, 0xff, + 0x9f, 0x0f, 0x6f, 0xfd, 0xa1, 0x81, 0x9e, 0x75, 0xf0, 0xff, 0xaa, 0x40, 0x22, 0x88, 0x58, 0x26, + 0xee, 0x8c, 0x79, 0xaa, 0x02, 0x0d, 0x0c, 0x0a, 0xea, 0x31, 0x8f, 0xa2, 0xcf, 0xe0, 0x30, 0x23, + 0xe4, 0x73, 0xa8, 0xca, 0xd0, 0x50, 0x68, 0x36, 0x7a, 0x05, 0x9a, 0x47, 0x05, 0x09, 0xc2, 0x44, + 0x56, 0xa4, 0x9e, 0xd3, 0xae, 0x14, 0x68, 0xbd, 0x04, 0x3d, 0x8f, 0x78, 0x0a, 0x95, 0x90, 0x46, + 0xbe, 0x98, 0xcb, 0x03, 0x37, 0x70, 0x66, 0x21, 0x04, 0x65, 0x79, 0x8d, 0x3d, 0x19, 0x2f, 0xbf, + 0xad, 0x2e, 0x1c, 0xe4, 0x67, 0x47, 0x97, 0xb0, 0x4f, 0xd3, 0xcd, 0x65, 0x6a, 0xcd, 0x52, 0xab, + 0xd6, 0x6e, 0x7e, 0xe0, 0x9e, 0x72, 0xc3, 0x61, 0x45, 0xb7, 0x5e, 0x41, 0xe3, 0x1f, 0x38, 0x32, + 0xa0, 0xf4, 0x2b, 0x5d, 0xcb, 0xec, 0x55, 0x9c, 0x7e, 0xa2, 0x63, 0xd8, 0x5f, 0x91, 0x70, 0x49, + 0xb3, 0xdc, 0xca, 0xb0, 0xfe, 0xd4, 0x40, 0xcf, 0xe6, 0x18, 0x5d, 0x64, 0xdb, 0x59, 0x93, 0xcb, + 0xf5, 0xec, 0xf1, 0x89, 0xb7, 0x0b, 0x3b, 0xd9, 0x04, 0x9d, 0x28, 0x34, 0xeb, 0xb0, 0xdc, 0x4c, + 0x1f, 0x8f, 0x20, 0x76, 0x63, 0xc6, 0x85, 0xac, 0x6a, 0x03, 0x57, 0x82, 0x78, 0xcc, 0xb8, 0xb0, + 0x1c, 0x28, 0xcb, 0x1d, 0x61, 0x40, 0xfd, 0xde, 0x76, 0x68, 0x40, 0x55, 0x22, 0x83, 0xf1, 0xed, + 0xd7, 0x86, 0x56, 0x34, 0x2f, 0x8d, 0xbd, 0x8d, 0xf9, 0x76, 0x34, 0xf8, 0xc1, 0x28, 0x75, 0x7f, + 0x86, 0xe3, 0x80, 0xed, 0x1e, 0xb2, 0x7b, 0xd8, 0x95, 0xd6, 0x90, 0xf9, 0xe3, 0xb4, 0x51, 0xc7, + 0xda, 0x4f, 0xed, 0xac, 0x71, 0x7d, 0x16, 0x92, 0xc8, 0xb7, 0x19, 0x57, 0x4f, 0xf3, 0x87, 0x5e, + 0xea, 0xbb, 0x8a, 0xec, 0xf2, 0x8b, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xf6, 0x4b, 0x50, + 0xd4, 0x07, 0x00, 0x00, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/call.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/call.go new file mode 100644 index 0000000..9e20e4d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/call.go @@ -0,0 +1,74 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" +) + +// Invoke sends the RPC request on the wire and returns after response is +// received. This is typically called by generated code. +// +// All errors returned by Invoke are compatible with the status package. +func (cc *ClientConn) Invoke(ctx context.Context, method string, args, reply interface{}, opts ...CallOption) error { + // allow interceptor to see all applicable call options, which means those + // configured as defaults from dial option as well as per-call options + opts = combine(cc.dopts.callOptions, opts) + + if cc.dopts.unaryInt != nil { + return cc.dopts.unaryInt(ctx, method, args, reply, cc, invoke, opts...) + } + return invoke(ctx, method, args, reply, cc, opts...) +} + +func combine(o1 []CallOption, o2 []CallOption) []CallOption { + // we don't use append because o1 could have extra capacity whose + // elements would be overwritten, which could cause inadvertent + // sharing (and race conditions) between concurrent calls + if len(o1) == 0 { + return o2 + } else if len(o2) == 0 { + return o1 + } + ret := make([]CallOption, len(o1)+len(o2)) + copy(ret, o1) + copy(ret[len(o1):], o2) + return ret +} + +// Invoke sends the RPC request on the wire and returns after response is +// received. This is typically called by generated code. +// +// DEPRECATED: Use ClientConn.Invoke instead. +func Invoke(ctx context.Context, method string, args, reply interface{}, cc *ClientConn, opts ...CallOption) error { + return cc.Invoke(ctx, method, args, reply, opts...) +} + +var unaryStreamDesc = &StreamDesc{ServerStreams: false, ClientStreams: false} + +func invoke(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, opts ...CallOption) error { + cs, err := newClientStream(ctx, unaryStreamDesc, cc, method, opts...) + if err != nil { + return err + } + if err := cs.SendMsg(req); err != nil { + return err + } + return cs.RecvMsg(reply) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/clientconn.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/clientconn.go new file mode 100644 index 0000000..a7643df --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/clientconn.go @@ -0,0 +1,1447 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + "errors" + "fmt" + "math" + "net" + "reflect" + "strings" + "sync" + "sync/atomic" + "time" + + "google.golang.org/grpc/balancer" + _ "google.golang.org/grpc/balancer/roundrobin" // To register roundrobin. + "google.golang.org/grpc/codes" + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal/backoff" + "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/internal/grpcsync" + "google.golang.org/grpc/internal/transport" + "google.golang.org/grpc/keepalive" + "google.golang.org/grpc/resolver" + _ "google.golang.org/grpc/resolver/dns" // To register dns resolver. + _ "google.golang.org/grpc/resolver/passthrough" // To register passthrough resolver. + "google.golang.org/grpc/serviceconfig" + "google.golang.org/grpc/status" +) + +const ( + // minimum time to give a connection to complete + minConnectTimeout = 20 * time.Second + // must match grpclbName in grpclb/grpclb.go + grpclbName = "grpclb" +) + +var ( + // ErrClientConnClosing indicates that the operation is illegal because + // the ClientConn is closing. + // + // Deprecated: this error should not be relied upon by users; use the status + // code of Canceled instead. + ErrClientConnClosing = status.Error(codes.Canceled, "grpc: the client connection is closing") + // errConnDrain indicates that the connection starts to be drained and does not accept any new RPCs. + errConnDrain = errors.New("grpc: the connection is drained") + // errConnClosing indicates that the connection is closing. + errConnClosing = errors.New("grpc: the connection is closing") + // errBalancerClosed indicates that the balancer is closed. + errBalancerClosed = errors.New("grpc: balancer is closed") + // invalidDefaultServiceConfigErrPrefix is used to prefix the json parsing error for the default + // service config. + invalidDefaultServiceConfigErrPrefix = "grpc: the provided default service config is invalid" +) + +// The following errors are returned from Dial and DialContext +var ( + // errNoTransportSecurity indicates that there is no transport security + // being set for ClientConn. Users should either set one or explicitly + // call WithInsecure DialOption to disable security. + errNoTransportSecurity = errors.New("grpc: no transport security set (use grpc.WithInsecure() explicitly or set credentials)") + // errTransportCredsAndBundle indicates that creds bundle is used together + // with other individual Transport Credentials. + errTransportCredsAndBundle = errors.New("grpc: credentials.Bundle may not be used with individual TransportCredentials") + // errTransportCredentialsMissing indicates that users want to transmit security + // information (e.g., OAuth2 token) which requires secure connection on an insecure + // connection. + errTransportCredentialsMissing = errors.New("grpc: the credentials require transport level security (use grpc.WithTransportCredentials() to set)") + // errCredentialsConflict indicates that grpc.WithTransportCredentials() + // and grpc.WithInsecure() are both called for a connection. + errCredentialsConflict = errors.New("grpc: transport credentials are set for an insecure connection (grpc.WithTransportCredentials() and grpc.WithInsecure() are both called)") +) + +const ( + defaultClientMaxReceiveMessageSize = 1024 * 1024 * 4 + defaultClientMaxSendMessageSize = math.MaxInt32 + // http2IOBufSize specifies the buffer size for sending frames. + defaultWriteBufSize = 32 * 1024 + defaultReadBufSize = 32 * 1024 +) + +// Dial creates a client connection to the given target. +func Dial(target string, opts ...DialOption) (*ClientConn, error) { + return DialContext(context.Background(), target, opts...) +} + +// DialContext creates a client connection to the given target. By default, it's +// a non-blocking dial (the function won't wait for connections to be +// established, and connecting happens in the background). To make it a blocking +// dial, use WithBlock() dial option. +// +// In the non-blocking case, the ctx does not act against the connection. It +// only controls the setup steps. +// +// In the blocking case, ctx can be used to cancel or expire the pending +// connection. Once this function returns, the cancellation and expiration of +// ctx will be noop. Users should call ClientConn.Close to terminate all the +// pending operations after this function returns. +// +// The target name syntax is defined in +// https://github.com/grpc/grpc/blob/master/doc/naming.md. +// e.g. to use dns resolver, a "dns:///" prefix should be applied to the target. +func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *ClientConn, err error) { + cc := &ClientConn{ + target: target, + csMgr: &connectivityStateManager{}, + conns: make(map[*addrConn]struct{}), + dopts: defaultDialOptions(), + blockingpicker: newPickerWrapper(), + czData: new(channelzData), + firstResolveEvent: grpcsync.NewEvent(), + } + cc.retryThrottler.Store((*retryThrottler)(nil)) + cc.ctx, cc.cancel = context.WithCancel(context.Background()) + + for _, opt := range opts { + opt.apply(&cc.dopts) + } + + chainUnaryClientInterceptors(cc) + chainStreamClientInterceptors(cc) + + defer func() { + if err != nil { + cc.Close() + } + }() + + if channelz.IsOn() { + if cc.dopts.channelzParentID != 0 { + cc.channelzID = channelz.RegisterChannel(&channelzChannel{cc}, cc.dopts.channelzParentID, target) + channelz.AddTraceEvent(cc.channelzID, &channelz.TraceEventDesc{ + Desc: "Channel Created", + Severity: channelz.CtINFO, + Parent: &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Nested Channel(id:%d) created", cc.channelzID), + Severity: channelz.CtINFO, + }, + }) + } else { + cc.channelzID = channelz.RegisterChannel(&channelzChannel{cc}, 0, target) + channelz.AddTraceEvent(cc.channelzID, &channelz.TraceEventDesc{ + Desc: "Channel Created", + Severity: channelz.CtINFO, + }) + } + cc.csMgr.channelzID = cc.channelzID + } + + if !cc.dopts.insecure { + if cc.dopts.copts.TransportCredentials == nil && cc.dopts.copts.CredsBundle == nil { + return nil, errNoTransportSecurity + } + if cc.dopts.copts.TransportCredentials != nil && cc.dopts.copts.CredsBundle != nil { + return nil, errTransportCredsAndBundle + } + } else { + if cc.dopts.copts.TransportCredentials != nil || cc.dopts.copts.CredsBundle != nil { + return nil, errCredentialsConflict + } + for _, cd := range cc.dopts.copts.PerRPCCredentials { + if cd.RequireTransportSecurity() { + return nil, errTransportCredentialsMissing + } + } + } + + if cc.dopts.defaultServiceConfigRawJSON != nil { + sc, err := parseServiceConfig(*cc.dopts.defaultServiceConfigRawJSON) + if err != nil { + return nil, fmt.Errorf("%s: %v", invalidDefaultServiceConfigErrPrefix, err) + } + cc.dopts.defaultServiceConfig = sc + } + cc.mkp = cc.dopts.copts.KeepaliveParams + + if cc.dopts.copts.Dialer == nil { + cc.dopts.copts.Dialer = newProxyDialer( + func(ctx context.Context, addr string) (net.Conn, error) { + network, addr := parseDialTarget(addr) + return (&net.Dialer{}).DialContext(ctx, network, addr) + }, + ) + } + + if cc.dopts.copts.UserAgent != "" { + cc.dopts.copts.UserAgent += " " + grpcUA + } else { + cc.dopts.copts.UserAgent = grpcUA + } + + if cc.dopts.timeout > 0 { + var cancel context.CancelFunc + ctx, cancel = context.WithTimeout(ctx, cc.dopts.timeout) + defer cancel() + } + defer func() { + select { + case <-ctx.Done(): + conn, err = nil, ctx.Err() + default: + } + }() + + scSet := false + if cc.dopts.scChan != nil { + // Try to get an initial service config. + select { + case sc, ok := <-cc.dopts.scChan: + if ok { + cc.sc = &sc + scSet = true + } + default: + } + } + if cc.dopts.bs == nil { + cc.dopts.bs = backoff.Exponential{ + MaxDelay: DefaultBackoffConfig.MaxDelay, + } + } + if cc.dopts.resolverBuilder == nil { + // Only try to parse target when resolver builder is not already set. + cc.parsedTarget = parseTarget(cc.target) + grpclog.Infof("parsed scheme: %q", cc.parsedTarget.Scheme) + cc.dopts.resolverBuilder = resolver.Get(cc.parsedTarget.Scheme) + if cc.dopts.resolverBuilder == nil { + // If resolver builder is still nil, the parsed target's scheme is + // not registered. Fallback to default resolver and set Endpoint to + // the original target. + grpclog.Infof("scheme %q not registered, fallback to default scheme", cc.parsedTarget.Scheme) + cc.parsedTarget = resolver.Target{ + Scheme: resolver.GetDefaultScheme(), + Endpoint: target, + } + cc.dopts.resolverBuilder = resolver.Get(cc.parsedTarget.Scheme) + } + } else { + cc.parsedTarget = resolver.Target{Endpoint: target} + } + creds := cc.dopts.copts.TransportCredentials + if creds != nil && creds.Info().ServerName != "" { + cc.authority = creds.Info().ServerName + } else if cc.dopts.insecure && cc.dopts.authority != "" { + cc.authority = cc.dopts.authority + } else { + // Use endpoint from "scheme://authority/endpoint" as the default + // authority for ClientConn. + cc.authority = cc.parsedTarget.Endpoint + } + + if cc.dopts.scChan != nil && !scSet { + // Blocking wait for the initial service config. + select { + case sc, ok := <-cc.dopts.scChan: + if ok { + cc.sc = &sc + } + case <-ctx.Done(): + return nil, ctx.Err() + } + } + if cc.dopts.scChan != nil { + go cc.scWatcher() + } + + var credsClone credentials.TransportCredentials + if creds := cc.dopts.copts.TransportCredentials; creds != nil { + credsClone = creds.Clone() + } + cc.balancerBuildOpts = balancer.BuildOptions{ + DialCreds: credsClone, + CredsBundle: cc.dopts.copts.CredsBundle, + Dialer: cc.dopts.copts.Dialer, + ChannelzParentID: cc.channelzID, + Target: cc.parsedTarget, + } + + // Build the resolver. + rWrapper, err := newCCResolverWrapper(cc) + if err != nil { + return nil, fmt.Errorf("failed to build resolver: %v", err) + } + + cc.mu.Lock() + cc.resolverWrapper = rWrapper + cc.mu.Unlock() + // A blocking dial blocks until the clientConn is ready. + if cc.dopts.block { + for { + s := cc.GetState() + if s == connectivity.Ready { + break + } else if cc.dopts.copts.FailOnNonTempDialError && s == connectivity.TransientFailure { + if err = cc.blockingpicker.connectionError(); err != nil { + terr, ok := err.(interface { + Temporary() bool + }) + if ok && !terr.Temporary() { + return nil, err + } + } + } + if !cc.WaitForStateChange(ctx, s) { + // ctx got timeout or canceled. + return nil, ctx.Err() + } + } + } + + return cc, nil +} + +// chainUnaryClientInterceptors chains all unary client interceptors into one. +func chainUnaryClientInterceptors(cc *ClientConn) { + interceptors := cc.dopts.chainUnaryInts + // Prepend dopts.unaryInt to the chaining interceptors if it exists, since unaryInt will + // be executed before any other chained interceptors. + if cc.dopts.unaryInt != nil { + interceptors = append([]UnaryClientInterceptor{cc.dopts.unaryInt}, interceptors...) + } + var chainedInt UnaryClientInterceptor + if len(interceptors) == 0 { + chainedInt = nil + } else if len(interceptors) == 1 { + chainedInt = interceptors[0] + } else { + chainedInt = func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, invoker UnaryInvoker, opts ...CallOption) error { + return interceptors[0](ctx, method, req, reply, cc, getChainUnaryInvoker(interceptors, 0, invoker), opts...) + } + } + cc.dopts.unaryInt = chainedInt +} + +// getChainUnaryInvoker recursively generate the chained unary invoker. +func getChainUnaryInvoker(interceptors []UnaryClientInterceptor, curr int, finalInvoker UnaryInvoker) UnaryInvoker { + if curr == len(interceptors)-1 { + return finalInvoker + } + return func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, opts ...CallOption) error { + return interceptors[curr+1](ctx, method, req, reply, cc, getChainUnaryInvoker(interceptors, curr+1, finalInvoker), opts...) + } +} + +// chainStreamClientInterceptors chains all stream client interceptors into one. +func chainStreamClientInterceptors(cc *ClientConn) { + interceptors := cc.dopts.chainStreamInts + // Prepend dopts.streamInt to the chaining interceptors if it exists, since streamInt will + // be executed before any other chained interceptors. + if cc.dopts.streamInt != nil { + interceptors = append([]StreamClientInterceptor{cc.dopts.streamInt}, interceptors...) + } + var chainedInt StreamClientInterceptor + if len(interceptors) == 0 { + chainedInt = nil + } else if len(interceptors) == 1 { + chainedInt = interceptors[0] + } else { + chainedInt = func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, streamer Streamer, opts ...CallOption) (ClientStream, error) { + return interceptors[0](ctx, desc, cc, method, getChainStreamer(interceptors, 0, streamer), opts...) + } + } + cc.dopts.streamInt = chainedInt +} + +// getChainStreamer recursively generate the chained client stream constructor. +func getChainStreamer(interceptors []StreamClientInterceptor, curr int, finalStreamer Streamer) Streamer { + if curr == len(interceptors)-1 { + return finalStreamer + } + return func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (ClientStream, error) { + return interceptors[curr+1](ctx, desc, cc, method, getChainStreamer(interceptors, curr+1, finalStreamer), opts...) + } +} + +// connectivityStateManager keeps the connectivity.State of ClientConn. +// This struct will eventually be exported so the balancers can access it. +type connectivityStateManager struct { + mu sync.Mutex + state connectivity.State + notifyChan chan struct{} + channelzID int64 +} + +// updateState updates the connectivity.State of ClientConn. +// If there's a change it notifies goroutines waiting on state change to +// happen. +func (csm *connectivityStateManager) updateState(state connectivity.State) { + csm.mu.Lock() + defer csm.mu.Unlock() + if csm.state == connectivity.Shutdown { + return + } + if csm.state == state { + return + } + csm.state = state + if channelz.IsOn() { + channelz.AddTraceEvent(csm.channelzID, &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Channel Connectivity change to %v", state), + Severity: channelz.CtINFO, + }) + } + if csm.notifyChan != nil { + // There are other goroutines waiting on this channel. + close(csm.notifyChan) + csm.notifyChan = nil + } +} + +func (csm *connectivityStateManager) getState() connectivity.State { + csm.mu.Lock() + defer csm.mu.Unlock() + return csm.state +} + +func (csm *connectivityStateManager) getNotifyChan() <-chan struct{} { + csm.mu.Lock() + defer csm.mu.Unlock() + if csm.notifyChan == nil { + csm.notifyChan = make(chan struct{}) + } + return csm.notifyChan +} + +// ClientConn represents a client connection to an RPC server. +type ClientConn struct { + ctx context.Context + cancel context.CancelFunc + + target string + parsedTarget resolver.Target + authority string + dopts dialOptions + csMgr *connectivityStateManager + + balancerBuildOpts balancer.BuildOptions + blockingpicker *pickerWrapper + + mu sync.RWMutex + resolverWrapper *ccResolverWrapper + sc *ServiceConfig + conns map[*addrConn]struct{} + // Keepalive parameter can be updated if a GoAway is received. + mkp keepalive.ClientParameters + curBalancerName string + balancerWrapper *ccBalancerWrapper + retryThrottler atomic.Value + + firstResolveEvent *grpcsync.Event + + channelzID int64 // channelz unique identification number + czData *channelzData +} + +// WaitForStateChange waits until the connectivity.State of ClientConn changes from sourceState or +// ctx expires. A true value is returned in former case and false in latter. +// This is an EXPERIMENTAL API. +func (cc *ClientConn) WaitForStateChange(ctx context.Context, sourceState connectivity.State) bool { + ch := cc.csMgr.getNotifyChan() + if cc.csMgr.getState() != sourceState { + return true + } + select { + case <-ctx.Done(): + return false + case <-ch: + return true + } +} + +// GetState returns the connectivity.State of ClientConn. +// This is an EXPERIMENTAL API. +func (cc *ClientConn) GetState() connectivity.State { + return cc.csMgr.getState() +} + +func (cc *ClientConn) scWatcher() { + for { + select { + case sc, ok := <-cc.dopts.scChan: + if !ok { + return + } + cc.mu.Lock() + // TODO: load balance policy runtime change is ignored. + // We may revisit this decision in the future. + cc.sc = &sc + cc.mu.Unlock() + case <-cc.ctx.Done(): + return + } + } +} + +// waitForResolvedAddrs blocks until the resolver has provided addresses or the +// context expires. Returns nil unless the context expires first; otherwise +// returns a status error based on the context. +func (cc *ClientConn) waitForResolvedAddrs(ctx context.Context) error { + // This is on the RPC path, so we use a fast path to avoid the + // more-expensive "select" below after the resolver has returned once. + if cc.firstResolveEvent.HasFired() { + return nil + } + select { + case <-cc.firstResolveEvent.Done(): + return nil + case <-ctx.Done(): + return status.FromContextError(ctx.Err()).Err() + case <-cc.ctx.Done(): + return ErrClientConnClosing + } +} + +func (cc *ClientConn) updateResolverState(s resolver.State) error { + cc.mu.Lock() + defer cc.mu.Unlock() + // Check if the ClientConn is already closed. Some fields (e.g. + // balancerWrapper) are set to nil when closing the ClientConn, and could + // cause nil pointer panic if we don't have this check. + if cc.conns == nil { + return nil + } + + if cc.dopts.disableServiceConfig || s.ServiceConfig == nil { + if cc.dopts.defaultServiceConfig != nil && cc.sc == nil { + cc.applyServiceConfig(cc.dopts.defaultServiceConfig) + } + } else if sc, ok := s.ServiceConfig.(*ServiceConfig); ok { + cc.applyServiceConfig(sc) + } + + var balCfg serviceconfig.LoadBalancingConfig + if cc.dopts.balancerBuilder == nil { + // Only look at balancer types and switch balancer if balancer dial + // option is not set. + var newBalancerName string + if cc.sc != nil && cc.sc.lbConfig != nil { + newBalancerName = cc.sc.lbConfig.name + balCfg = cc.sc.lbConfig.cfg + } else { + var isGRPCLB bool + for _, a := range s.Addresses { + if a.Type == resolver.GRPCLB { + isGRPCLB = true + break + } + } + if isGRPCLB { + newBalancerName = grpclbName + } else if cc.sc != nil && cc.sc.LB != nil { + newBalancerName = *cc.sc.LB + } else { + newBalancerName = PickFirstBalancerName + } + } + cc.switchBalancer(newBalancerName) + } else if cc.balancerWrapper == nil { + // Balancer dial option was set, and this is the first time handling + // resolved addresses. Build a balancer with dopts.balancerBuilder. + cc.curBalancerName = cc.dopts.balancerBuilder.Name() + cc.balancerWrapper = newCCBalancerWrapper(cc, cc.dopts.balancerBuilder, cc.balancerBuildOpts) + } + + cc.balancerWrapper.updateClientConnState(&balancer.ClientConnState{ResolverState: s, BalancerConfig: balCfg}) + return nil +} + +// switchBalancer starts the switching from current balancer to the balancer +// with the given name. +// +// It will NOT send the current address list to the new balancer. If needed, +// caller of this function should send address list to the new balancer after +// this function returns. +// +// Caller must hold cc.mu. +func (cc *ClientConn) switchBalancer(name string) { + if strings.EqualFold(cc.curBalancerName, name) { + return + } + + grpclog.Infof("ClientConn switching balancer to %q", name) + if cc.dopts.balancerBuilder != nil { + grpclog.Infoln("ignoring balancer switching: Balancer DialOption used instead") + return + } + if cc.balancerWrapper != nil { + cc.balancerWrapper.close() + } + + builder := balancer.Get(name) + if channelz.IsOn() { + if builder == nil { + channelz.AddTraceEvent(cc.channelzID, &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Channel switches to new LB policy %q due to fallback from invalid balancer name", PickFirstBalancerName), + Severity: channelz.CtWarning, + }) + } else { + channelz.AddTraceEvent(cc.channelzID, &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Channel switches to new LB policy %q", name), + Severity: channelz.CtINFO, + }) + } + } + if builder == nil { + grpclog.Infof("failed to get balancer builder for: %v, using pick_first instead", name) + builder = newPickfirstBuilder() + } + + cc.curBalancerName = builder.Name() + cc.balancerWrapper = newCCBalancerWrapper(cc, builder, cc.balancerBuildOpts) +} + +func (cc *ClientConn) handleSubConnStateChange(sc balancer.SubConn, s connectivity.State) { + cc.mu.Lock() + if cc.conns == nil { + cc.mu.Unlock() + return + } + // TODO(bar switching) send updates to all balancer wrappers when balancer + // gracefully switching is supported. + cc.balancerWrapper.handleSubConnStateChange(sc, s) + cc.mu.Unlock() +} + +// newAddrConn creates an addrConn for addrs and adds it to cc.conns. +// +// Caller needs to make sure len(addrs) > 0. +func (cc *ClientConn) newAddrConn(addrs []resolver.Address, opts balancer.NewSubConnOptions) (*addrConn, error) { + ac := &addrConn{ + cc: cc, + addrs: addrs, + scopts: opts, + dopts: cc.dopts, + czData: new(channelzData), + resetBackoff: make(chan struct{}), + } + ac.ctx, ac.cancel = context.WithCancel(cc.ctx) + // Track ac in cc. This needs to be done before any getTransport(...) is called. + cc.mu.Lock() + if cc.conns == nil { + cc.mu.Unlock() + return nil, ErrClientConnClosing + } + if channelz.IsOn() { + ac.channelzID = channelz.RegisterSubChannel(ac, cc.channelzID, "") + channelz.AddTraceEvent(ac.channelzID, &channelz.TraceEventDesc{ + Desc: "Subchannel Created", + Severity: channelz.CtINFO, + Parent: &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Subchannel(id:%d) created", ac.channelzID), + Severity: channelz.CtINFO, + }, + }) + } + cc.conns[ac] = struct{}{} + cc.mu.Unlock() + return ac, nil +} + +// removeAddrConn removes the addrConn in the subConn from clientConn. +// It also tears down the ac with the given error. +func (cc *ClientConn) removeAddrConn(ac *addrConn, err error) { + cc.mu.Lock() + if cc.conns == nil { + cc.mu.Unlock() + return + } + delete(cc.conns, ac) + cc.mu.Unlock() + ac.tearDown(err) +} + +func (cc *ClientConn) channelzMetric() *channelz.ChannelInternalMetric { + return &channelz.ChannelInternalMetric{ + State: cc.GetState(), + Target: cc.target, + CallsStarted: atomic.LoadInt64(&cc.czData.callsStarted), + CallsSucceeded: atomic.LoadInt64(&cc.czData.callsSucceeded), + CallsFailed: atomic.LoadInt64(&cc.czData.callsFailed), + LastCallStartedTimestamp: time.Unix(0, atomic.LoadInt64(&cc.czData.lastCallStartedTime)), + } +} + +// Target returns the target string of the ClientConn. +// This is an EXPERIMENTAL API. +func (cc *ClientConn) Target() string { + return cc.target +} + +func (cc *ClientConn) incrCallsStarted() { + atomic.AddInt64(&cc.czData.callsStarted, 1) + atomic.StoreInt64(&cc.czData.lastCallStartedTime, time.Now().UnixNano()) +} + +func (cc *ClientConn) incrCallsSucceeded() { + atomic.AddInt64(&cc.czData.callsSucceeded, 1) +} + +func (cc *ClientConn) incrCallsFailed() { + atomic.AddInt64(&cc.czData.callsFailed, 1) +} + +// connect starts creating a transport. +// It does nothing if the ac is not IDLE. +// TODO(bar) Move this to the addrConn section. +func (ac *addrConn) connect() error { + ac.mu.Lock() + if ac.state == connectivity.Shutdown { + ac.mu.Unlock() + return errConnClosing + } + if ac.state != connectivity.Idle { + ac.mu.Unlock() + return nil + } + // Update connectivity state within the lock to prevent subsequent or + // concurrent calls from resetting the transport more than once. + ac.updateConnectivityState(connectivity.Connecting) + ac.mu.Unlock() + + // Start a goroutine connecting to the server asynchronously. + go ac.resetTransport() + return nil +} + +// tryUpdateAddrs tries to update ac.addrs with the new addresses list. +// +// If ac is Connecting, it returns false. The caller should tear down the ac and +// create a new one. Note that the backoff will be reset when this happens. +// +// If ac is TransientFailure, it updates ac.addrs and returns true. The updated +// addresses will be picked up by retry in the next iteration after backoff. +// +// If ac is Shutdown or Idle, it updates ac.addrs and returns true. +// +// If ac is Ready, it checks whether current connected address of ac is in the +// new addrs list. +// - If true, it updates ac.addrs and returns true. The ac will keep using +// the existing connection. +// - If false, it does nothing and returns false. +func (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool { + ac.mu.Lock() + defer ac.mu.Unlock() + grpclog.Infof("addrConn: tryUpdateAddrs curAddr: %v, addrs: %v", ac.curAddr, addrs) + if ac.state == connectivity.Shutdown || + ac.state == connectivity.TransientFailure || + ac.state == connectivity.Idle { + ac.addrs = addrs + return true + } + + if ac.state == connectivity.Connecting { + return false + } + + // ac.state is Ready, try to find the connected address. + var curAddrFound bool + for _, a := range addrs { + if reflect.DeepEqual(ac.curAddr, a) { + curAddrFound = true + break + } + } + grpclog.Infof("addrConn: tryUpdateAddrs curAddrFound: %v", curAddrFound) + if curAddrFound { + ac.addrs = addrs + } + + return curAddrFound +} + +// GetMethodConfig gets the method config of the input method. +// If there's an exact match for input method (i.e. /service/method), we return +// the corresponding MethodConfig. +// If there isn't an exact match for the input method, we look for the default config +// under the service (i.e /service/). If there is a default MethodConfig for +// the service, we return it. +// Otherwise, we return an empty MethodConfig. +func (cc *ClientConn) GetMethodConfig(method string) MethodConfig { + // TODO: Avoid the locking here. + cc.mu.RLock() + defer cc.mu.RUnlock() + if cc.sc == nil { + return MethodConfig{} + } + m, ok := cc.sc.Methods[method] + if !ok { + i := strings.LastIndex(method, "/") + m = cc.sc.Methods[method[:i+1]] + } + return m +} + +func (cc *ClientConn) healthCheckConfig() *healthCheckConfig { + cc.mu.RLock() + defer cc.mu.RUnlock() + if cc.sc == nil { + return nil + } + return cc.sc.healthCheckConfig +} + +func (cc *ClientConn) getTransport(ctx context.Context, failfast bool, method string) (transport.ClientTransport, func(balancer.DoneInfo), error) { + t, done, err := cc.blockingpicker.pick(ctx, failfast, balancer.PickOptions{ + FullMethodName: method, + }) + if err != nil { + return nil, nil, toRPCErr(err) + } + return t, done, nil +} + +func (cc *ClientConn) applyServiceConfig(sc *ServiceConfig) error { + if sc == nil { + // should never reach here. + return fmt.Errorf("got nil pointer for service config") + } + cc.sc = sc + + if cc.sc.retryThrottling != nil { + newThrottler := &retryThrottler{ + tokens: cc.sc.retryThrottling.MaxTokens, + max: cc.sc.retryThrottling.MaxTokens, + thresh: cc.sc.retryThrottling.MaxTokens / 2, + ratio: cc.sc.retryThrottling.TokenRatio, + } + cc.retryThrottler.Store(newThrottler) + } else { + cc.retryThrottler.Store((*retryThrottler)(nil)) + } + + return nil +} + +func (cc *ClientConn) resolveNow(o resolver.ResolveNowOption) { + cc.mu.RLock() + r := cc.resolverWrapper + cc.mu.RUnlock() + if r == nil { + return + } + go r.resolveNow(o) +} + +// ResetConnectBackoff wakes up all subchannels in transient failure and causes +// them to attempt another connection immediately. It also resets the backoff +// times used for subsequent attempts regardless of the current state. +// +// In general, this function should not be used. Typical service or network +// outages result in a reasonable client reconnection strategy by default. +// However, if a previously unavailable network becomes available, this may be +// used to trigger an immediate reconnect. +// +// This API is EXPERIMENTAL. +func (cc *ClientConn) ResetConnectBackoff() { + cc.mu.Lock() + defer cc.mu.Unlock() + for ac := range cc.conns { + ac.resetConnectBackoff() + } +} + +// Close tears down the ClientConn and all underlying connections. +func (cc *ClientConn) Close() error { + defer cc.cancel() + + cc.mu.Lock() + if cc.conns == nil { + cc.mu.Unlock() + return ErrClientConnClosing + } + conns := cc.conns + cc.conns = nil + cc.csMgr.updateState(connectivity.Shutdown) + + rWrapper := cc.resolverWrapper + cc.resolverWrapper = nil + bWrapper := cc.balancerWrapper + cc.balancerWrapper = nil + cc.mu.Unlock() + + cc.blockingpicker.close() + + if rWrapper != nil { + rWrapper.close() + } + if bWrapper != nil { + bWrapper.close() + } + + for ac := range conns { + ac.tearDown(ErrClientConnClosing) + } + if channelz.IsOn() { + ted := &channelz.TraceEventDesc{ + Desc: "Channel Deleted", + Severity: channelz.CtINFO, + } + if cc.dopts.channelzParentID != 0 { + ted.Parent = &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Nested channel(id:%d) deleted", cc.channelzID), + Severity: channelz.CtINFO, + } + } + channelz.AddTraceEvent(cc.channelzID, ted) + // TraceEvent needs to be called before RemoveEntry, as TraceEvent may add trace reference to + // the entity being deleted, and thus prevent it from being deleted right away. + channelz.RemoveEntry(cc.channelzID) + } + return nil +} + +// addrConn is a network connection to a given address. +type addrConn struct { + ctx context.Context + cancel context.CancelFunc + + cc *ClientConn + dopts dialOptions + acbw balancer.SubConn + scopts balancer.NewSubConnOptions + + // transport is set when there's a viable transport (note: ac state may not be READY as LB channel + // health checking may require server to report healthy to set ac to READY), and is reset + // to nil when the current transport should no longer be used to create a stream (e.g. after GoAway + // is received, transport is closed, ac has been torn down). + transport transport.ClientTransport // The current transport. + + mu sync.Mutex + curAddr resolver.Address // The current address. + addrs []resolver.Address // All addresses that the resolver resolved to. + + // Use updateConnectivityState for updating addrConn's connectivity state. + state connectivity.State + + backoffIdx int // Needs to be stateful for resetConnectBackoff. + resetBackoff chan struct{} + + channelzID int64 // channelz unique identification number. + czData *channelzData +} + +// Note: this requires a lock on ac.mu. +func (ac *addrConn) updateConnectivityState(s connectivity.State) { + if ac.state == s { + return + } + + updateMsg := fmt.Sprintf("Subchannel Connectivity change to %v", s) + ac.state = s + if channelz.IsOn() { + channelz.AddTraceEvent(ac.channelzID, &channelz.TraceEventDesc{ + Desc: updateMsg, + Severity: channelz.CtINFO, + }) + } + ac.cc.handleSubConnStateChange(ac.acbw, s) +} + +// adjustParams updates parameters used to create transports upon +// receiving a GoAway. +func (ac *addrConn) adjustParams(r transport.GoAwayReason) { + switch r { + case transport.GoAwayTooManyPings: + v := 2 * ac.dopts.copts.KeepaliveParams.Time + ac.cc.mu.Lock() + if v > ac.cc.mkp.Time { + ac.cc.mkp.Time = v + } + ac.cc.mu.Unlock() + } +} + +func (ac *addrConn) resetTransport() { + for i := 0; ; i++ { + if i > 0 { + ac.cc.resolveNow(resolver.ResolveNowOption{}) + } + + ac.mu.Lock() + if ac.state == connectivity.Shutdown { + ac.mu.Unlock() + return + } + + addrs := ac.addrs + backoffFor := ac.dopts.bs.Backoff(ac.backoffIdx) + // This will be the duration that dial gets to finish. + dialDuration := minConnectTimeout + if ac.dopts.minConnectTimeout != nil { + dialDuration = ac.dopts.minConnectTimeout() + } + + if dialDuration < backoffFor { + // Give dial more time as we keep failing to connect. + dialDuration = backoffFor + } + // We can potentially spend all the time trying the first address, and + // if the server accepts the connection and then hangs, the following + // addresses will never be tried. + // + // The spec doesn't mention what should be done for multiple addresses. + // https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md#proposed-backoff-algorithm + connectDeadline := time.Now().Add(dialDuration) + + ac.updateConnectivityState(connectivity.Connecting) + ac.transport = nil + ac.mu.Unlock() + + newTr, addr, reconnect, err := ac.tryAllAddrs(addrs, connectDeadline) + if err != nil { + // After exhausting all addresses, the addrConn enters + // TRANSIENT_FAILURE. + ac.mu.Lock() + if ac.state == connectivity.Shutdown { + ac.mu.Unlock() + return + } + ac.updateConnectivityState(connectivity.TransientFailure) + + // Backoff. + b := ac.resetBackoff + ac.mu.Unlock() + + timer := time.NewTimer(backoffFor) + select { + case <-timer.C: + ac.mu.Lock() + ac.backoffIdx++ + ac.mu.Unlock() + case <-b: + timer.Stop() + case <-ac.ctx.Done(): + timer.Stop() + return + } + continue + } + + ac.mu.Lock() + if ac.state == connectivity.Shutdown { + ac.mu.Unlock() + newTr.Close() + return + } + ac.curAddr = addr + ac.transport = newTr + ac.backoffIdx = 0 + + hctx, hcancel := context.WithCancel(ac.ctx) + ac.startHealthCheck(hctx) + ac.mu.Unlock() + + // Block until the created transport is down. And when this happens, + // we restart from the top of the addr list. + <-reconnect.Done() + hcancel() + // restart connecting - the top of the loop will set state to + // CONNECTING. This is against the current connectivity semantics doc, + // however it allows for graceful behavior for RPCs not yet dispatched + // - unfortunate timing would otherwise lead to the RPC failing even + // though the TRANSIENT_FAILURE state (called for by the doc) would be + // instantaneous. + // + // Ideally we should transition to Idle here and block until there is + // RPC activity that leads to the balancer requesting a reconnect of + // the associated SubConn. + } +} + +// tryAllAddrs tries to creates a connection to the addresses, and stop when at the +// first successful one. It returns the transport, the address and a Event in +// the successful case. The Event fires when the returned transport disconnects. +func (ac *addrConn) tryAllAddrs(addrs []resolver.Address, connectDeadline time.Time) (transport.ClientTransport, resolver.Address, *grpcsync.Event, error) { + for _, addr := range addrs { + ac.mu.Lock() + if ac.state == connectivity.Shutdown { + ac.mu.Unlock() + return nil, resolver.Address{}, nil, errConnClosing + } + + ac.cc.mu.RLock() + ac.dopts.copts.KeepaliveParams = ac.cc.mkp + ac.cc.mu.RUnlock() + + copts := ac.dopts.copts + if ac.scopts.CredsBundle != nil { + copts.CredsBundle = ac.scopts.CredsBundle + } + ac.mu.Unlock() + + if channelz.IsOn() { + channelz.AddTraceEvent(ac.channelzID, &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Subchannel picks a new address %q to connect", addr.Addr), + Severity: channelz.CtINFO, + }) + } + + newTr, reconnect, err := ac.createTransport(addr, copts, connectDeadline) + if err == nil { + return newTr, addr, reconnect, nil + } + ac.cc.blockingpicker.updateConnectionError(err) + } + + // Couldn't connect to any address. + return nil, resolver.Address{}, nil, fmt.Errorf("couldn't connect to any address") +} + +// createTransport creates a connection to addr. It returns the transport and a +// Event in the successful case. The Event fires when the returned transport +// disconnects. +func (ac *addrConn) createTransport(addr resolver.Address, copts transport.ConnectOptions, connectDeadline time.Time) (transport.ClientTransport, *grpcsync.Event, error) { + prefaceReceived := make(chan struct{}) + onCloseCalled := make(chan struct{}) + reconnect := grpcsync.NewEvent() + + target := transport.TargetInfo{ + Addr: addr.Addr, + Metadata: addr.Metadata, + Authority: ac.cc.authority, + } + + once := sync.Once{} + onGoAway := func(r transport.GoAwayReason) { + ac.mu.Lock() + ac.adjustParams(r) + once.Do(func() { + if ac.state == connectivity.Ready { + // Prevent this SubConn from being used for new RPCs by setting its + // state to Connecting. + // + // TODO: this should be Idle when grpc-go properly supports it. + ac.updateConnectivityState(connectivity.Connecting) + } + }) + ac.mu.Unlock() + reconnect.Fire() + } + + onClose := func() { + ac.mu.Lock() + once.Do(func() { + if ac.state == connectivity.Ready { + // Prevent this SubConn from being used for new RPCs by setting its + // state to Connecting. + // + // TODO: this should be Idle when grpc-go properly supports it. + ac.updateConnectivityState(connectivity.Connecting) + } + }) + ac.mu.Unlock() + close(onCloseCalled) + reconnect.Fire() + } + + onPrefaceReceipt := func() { + close(prefaceReceived) + } + + connectCtx, cancel := context.WithDeadline(ac.ctx, connectDeadline) + defer cancel() + if channelz.IsOn() { + copts.ChannelzParentID = ac.channelzID + } + + newTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, target, copts, onPrefaceReceipt, onGoAway, onClose) + if err != nil { + // newTr is either nil, or closed. + grpclog.Warningf("grpc: addrConn.createTransport failed to connect to %v. Err :%v. Reconnecting...", addr, err) + return nil, nil, err + } + + select { + case <-time.After(connectDeadline.Sub(time.Now())): + // We didn't get the preface in time. + newTr.Close() + grpclog.Warningf("grpc: addrConn.createTransport failed to connect to %v: didn't receive server preface in time. Reconnecting...", addr) + return nil, nil, errors.New("timed out waiting for server handshake") + case <-prefaceReceived: + // We got the preface - huzzah! things are good. + case <-onCloseCalled: + // The transport has already closed - noop. + return nil, nil, errors.New("connection closed") + // TODO(deklerk) this should bail on ac.ctx.Done(). Add a test and fix. + } + return newTr, reconnect, nil +} + +// startHealthCheck starts the health checking stream (RPC) to watch the health +// stats of this connection if health checking is requested and configured. +// +// LB channel health checking is enabled when all requirements below are met: +// 1. it is not disabled by the user with the WithDisableHealthCheck DialOption +// 2. internal.HealthCheckFunc is set by importing the grpc/healthcheck package +// 3. a service config with non-empty healthCheckConfig field is provided +// 4. the load balancer requests it +// +// It sets addrConn to READY if the health checking stream is not started. +// +// Caller must hold ac.mu. +func (ac *addrConn) startHealthCheck(ctx context.Context) { + var healthcheckManagingState bool + defer func() { + if !healthcheckManagingState { + ac.updateConnectivityState(connectivity.Ready) + } + }() + + if ac.cc.dopts.disableHealthCheck { + return + } + healthCheckConfig := ac.cc.healthCheckConfig() + if healthCheckConfig == nil { + return + } + if !ac.scopts.HealthCheckEnabled { + return + } + healthCheckFunc := ac.cc.dopts.healthCheckFunc + if healthCheckFunc == nil { + // The health package is not imported to set health check function. + // + // TODO: add a link to the health check doc in the error message. + grpclog.Error("Health check is requested but health check function is not set.") + return + } + + healthcheckManagingState = true + + // Set up the health check helper functions. + currentTr := ac.transport + newStream := func(method string) (interface{}, error) { + ac.mu.Lock() + if ac.transport != currentTr { + ac.mu.Unlock() + return nil, status.Error(codes.Canceled, "the provided transport is no longer valid to use") + } + ac.mu.Unlock() + return newNonRetryClientStream(ctx, &StreamDesc{ServerStreams: true}, method, currentTr, ac) + } + setConnectivityState := func(s connectivity.State) { + ac.mu.Lock() + defer ac.mu.Unlock() + if ac.transport != currentTr { + return + } + ac.updateConnectivityState(s) + } + // Start the health checking stream. + go func() { + err := ac.cc.dopts.healthCheckFunc(ctx, newStream, setConnectivityState, healthCheckConfig.ServiceName) + if err != nil { + if status.Code(err) == codes.Unimplemented { + if channelz.IsOn() { + channelz.AddTraceEvent(ac.channelzID, &channelz.TraceEventDesc{ + Desc: "Subchannel health check is unimplemented at server side, thus health check is disabled", + Severity: channelz.CtError, + }) + } + grpclog.Error("Subchannel health check is unimplemented at server side, thus health check is disabled") + } else { + grpclog.Errorf("HealthCheckFunc exits with unexpected error %v", err) + } + } + }() +} + +func (ac *addrConn) resetConnectBackoff() { + ac.mu.Lock() + close(ac.resetBackoff) + ac.backoffIdx = 0 + ac.resetBackoff = make(chan struct{}) + ac.mu.Unlock() +} + +// getReadyTransport returns the transport if ac's state is READY. +// Otherwise it returns nil, false. +// If ac's state is IDLE, it will trigger ac to connect. +func (ac *addrConn) getReadyTransport() (transport.ClientTransport, bool) { + ac.mu.Lock() + if ac.state == connectivity.Ready && ac.transport != nil { + t := ac.transport + ac.mu.Unlock() + return t, true + } + var idle bool + if ac.state == connectivity.Idle { + idle = true + } + ac.mu.Unlock() + // Trigger idle ac to connect. + if idle { + ac.connect() + } + return nil, false +} + +// tearDown starts to tear down the addrConn. +// TODO(zhaoq): Make this synchronous to avoid unbounded memory consumption in +// some edge cases (e.g., the caller opens and closes many addrConn's in a +// tight loop. +// tearDown doesn't remove ac from ac.cc.conns. +func (ac *addrConn) tearDown(err error) { + ac.mu.Lock() + if ac.state == connectivity.Shutdown { + ac.mu.Unlock() + return + } + curTr := ac.transport + ac.transport = nil + // We have to set the state to Shutdown before anything else to prevent races + // between setting the state and logic that waits on context cancelation / etc. + ac.updateConnectivityState(connectivity.Shutdown) + ac.cancel() + ac.curAddr = resolver.Address{} + if err == errConnDrain && curTr != nil { + // GracefulClose(...) may be executed multiple times when + // i) receiving multiple GoAway frames from the server; or + // ii) there are concurrent name resolver/Balancer triggered + // address removal and GoAway. + // We have to unlock and re-lock here because GracefulClose => Close => onClose, which requires locking ac.mu. + ac.mu.Unlock() + curTr.GracefulClose() + ac.mu.Lock() + } + if channelz.IsOn() { + channelz.AddTraceEvent(ac.channelzID, &channelz.TraceEventDesc{ + Desc: "Subchannel Deleted", + Severity: channelz.CtINFO, + Parent: &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Subchanel(id:%d) deleted", ac.channelzID), + Severity: channelz.CtINFO, + }, + }) + // TraceEvent needs to be called before RemoveEntry, as TraceEvent may add trace reference to + // the entity beng deleted, and thus prevent it from being deleted right away. + channelz.RemoveEntry(ac.channelzID) + } + ac.mu.Unlock() +} + +func (ac *addrConn) getState() connectivity.State { + ac.mu.Lock() + defer ac.mu.Unlock() + return ac.state +} + +func (ac *addrConn) ChannelzMetric() *channelz.ChannelInternalMetric { + ac.mu.Lock() + addr := ac.curAddr.Addr + ac.mu.Unlock() + return &channelz.ChannelInternalMetric{ + State: ac.getState(), + Target: addr, + CallsStarted: atomic.LoadInt64(&ac.czData.callsStarted), + CallsSucceeded: atomic.LoadInt64(&ac.czData.callsSucceeded), + CallsFailed: atomic.LoadInt64(&ac.czData.callsFailed), + LastCallStartedTimestamp: time.Unix(0, atomic.LoadInt64(&ac.czData.lastCallStartedTime)), + } +} + +func (ac *addrConn) incrCallsStarted() { + atomic.AddInt64(&ac.czData.callsStarted, 1) + atomic.StoreInt64(&ac.czData.lastCallStartedTime, time.Now().UnixNano()) +} + +func (ac *addrConn) incrCallsSucceeded() { + atomic.AddInt64(&ac.czData.callsSucceeded, 1) +} + +func (ac *addrConn) incrCallsFailed() { + atomic.AddInt64(&ac.czData.callsFailed, 1) +} + +type retryThrottler struct { + max float64 + thresh float64 + ratio float64 + + mu sync.Mutex + tokens float64 // TODO(dfawley): replace with atomic and remove lock. +} + +// throttle subtracts a retry token from the pool and returns whether a retry +// should be throttled (disallowed) based upon the retry throttling policy in +// the service config. +func (rt *retryThrottler) throttle() bool { + if rt == nil { + return false + } + rt.mu.Lock() + defer rt.mu.Unlock() + rt.tokens-- + if rt.tokens < 0 { + rt.tokens = 0 + } + return rt.tokens <= rt.thresh +} + +func (rt *retryThrottler) successfulRPC() { + if rt == nil { + return + } + rt.mu.Lock() + defer rt.mu.Unlock() + rt.tokens += rt.ratio + if rt.tokens > rt.max { + rt.tokens = rt.max + } +} + +type channelzChannel struct { + cc *ClientConn +} + +func (c *channelzChannel) ChannelzMetric() *channelz.ChannelInternalMetric { + return c.cc.channelzMetric() +} + +// ErrClientConnTimeout indicates that the ClientConn cannot establish the +// underlying connections within the specified timeout. +// +// Deprecated: This error is never returned by grpc and should not be +// referenced by users. +var ErrClientConnTimeout = errors.New("grpc: timed out when dialing") diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codec.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codec.go new file mode 100644 index 0000000..1297765 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codec.go @@ -0,0 +1,50 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "google.golang.org/grpc/encoding" + _ "google.golang.org/grpc/encoding/proto" // to register the Codec for "proto" +) + +// baseCodec contains the functionality of both Codec and encoding.Codec, but +// omits the name/string, which vary between the two and are not needed for +// anything besides the registry in the encoding package. +type baseCodec interface { + Marshal(v interface{}) ([]byte, error) + Unmarshal(data []byte, v interface{}) error +} + +var _ baseCodec = Codec(nil) +var _ baseCodec = encoding.Codec(nil) + +// Codec defines the interface gRPC uses to encode and decode messages. +// Note that implementations of this interface must be thread safe; +// a Codec's methods can be called from concurrent goroutines. +// +// Deprecated: use encoding.Codec instead. +type Codec interface { + // Marshal returns the wire format of v. + Marshal(v interface{}) ([]byte, error) + // Unmarshal parses the wire format into v. + Unmarshal(data []byte, v interface{}) error + // String returns the name of the Codec implementation. This is unused by + // gRPC. + String() string +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codegen.sh b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codegen.sh new file mode 100644 index 0000000..4cdc6ba --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codegen.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# This script serves as an example to demonstrate how to generate the gRPC-Go +# interface and the related messages from .proto file. +# +# It assumes the installation of i) Google proto buffer compiler at +# https://github.com/google/protobuf (after v2.6.1) and ii) the Go codegen +# plugin at https://github.com/golang/protobuf (after 2015-02-20). If you have +# not, please install them first. +# +# We recommend running this script at $GOPATH/src. +# +# If this is not what you need, feel free to make your own scripts. Again, this +# script is for demonstration purpose. +# +proto=$1 +protoc --go_out=plugins=grpc:. $proto diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/code_string.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/code_string.go new file mode 100644 index 0000000..0b206a5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/code_string.go @@ -0,0 +1,62 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package codes + +import "strconv" + +func (c Code) String() string { + switch c { + case OK: + return "OK" + case Canceled: + return "Canceled" + case Unknown: + return "Unknown" + case InvalidArgument: + return "InvalidArgument" + case DeadlineExceeded: + return "DeadlineExceeded" + case NotFound: + return "NotFound" + case AlreadyExists: + return "AlreadyExists" + case PermissionDenied: + return "PermissionDenied" + case ResourceExhausted: + return "ResourceExhausted" + case FailedPrecondition: + return "FailedPrecondition" + case Aborted: + return "Aborted" + case OutOfRange: + return "OutOfRange" + case Unimplemented: + return "Unimplemented" + case Internal: + return "Internal" + case Unavailable: + return "Unavailable" + case DataLoss: + return "DataLoss" + case Unauthenticated: + return "Unauthenticated" + default: + return "Code(" + strconv.FormatInt(int64(c), 10) + ")" + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/codes.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/codes.go new file mode 100644 index 0000000..0273883 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/codes/codes.go @@ -0,0 +1,198 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +// Package codes defines the canonical error codes used by gRPC. It is +// consistent across various languages. +package codes // import "google.golang.org/grpc/codes" + +import ( + "fmt" + "strconv" +) + +// A Code is an unsigned 32-bit error code as defined in the gRPC spec. +type Code uint32 + +const ( + // OK is returned on success. + OK Code = 0 + + // Canceled indicates the operation was canceled (typically by the caller). + Canceled Code = 1 + + // Unknown error. An example of where this error may be returned is + // if a Status value received from another address space belongs to + // an error-space that is not known in this address space. Also + // errors raised by APIs that do not return enough error information + // may be converted to this error. + Unknown Code = 2 + + // InvalidArgument indicates client specified an invalid argument. + // Note that this differs from FailedPrecondition. It indicates arguments + // that are problematic regardless of the state of the system + // (e.g., a malformed file name). + InvalidArgument Code = 3 + + // DeadlineExceeded means operation expired before completion. + // For operations that change the state of the system, this error may be + // returned even if the operation has completed successfully. For + // example, a successful response from a server could have been delayed + // long enough for the deadline to expire. + DeadlineExceeded Code = 4 + + // NotFound means some requested entity (e.g., file or directory) was + // not found. + NotFound Code = 5 + + // AlreadyExists means an attempt to create an entity failed because one + // already exists. + AlreadyExists Code = 6 + + // PermissionDenied indicates the caller does not have permission to + // execute the specified operation. It must not be used for rejections + // caused by exhausting some resource (use ResourceExhausted + // instead for those errors). It must not be + // used if the caller cannot be identified (use Unauthenticated + // instead for those errors). + PermissionDenied Code = 7 + + // ResourceExhausted indicates some resource has been exhausted, perhaps + // a per-user quota, or perhaps the entire file system is out of space. + ResourceExhausted Code = 8 + + // FailedPrecondition indicates operation was rejected because the + // system is not in a state required for the operation's execution. + // For example, directory to be deleted may be non-empty, an rmdir + // operation is applied to a non-directory, etc. + // + // A litmus test that may help a service implementor in deciding + // between FailedPrecondition, Aborted, and Unavailable: + // (a) Use Unavailable if the client can retry just the failing call. + // (b) Use Aborted if the client should retry at a higher-level + // (e.g., restarting a read-modify-write sequence). + // (c) Use FailedPrecondition if the client should not retry until + // the system state has been explicitly fixed. E.g., if an "rmdir" + // fails because the directory is non-empty, FailedPrecondition + // should be returned since the client should not retry unless + // they have first fixed up the directory by deleting files from it. + // (d) Use FailedPrecondition if the client performs conditional + // REST Get/Update/Delete on a resource and the resource on the + // server does not match the condition. E.g., conflicting + // read-modify-write on the same resource. + FailedPrecondition Code = 9 + + // Aborted indicates the operation was aborted, typically due to a + // concurrency issue like sequencer check failures, transaction aborts, + // etc. + // + // See litmus test above for deciding between FailedPrecondition, + // Aborted, and Unavailable. + Aborted Code = 10 + + // OutOfRange means operation was attempted past the valid range. + // E.g., seeking or reading past end of file. + // + // Unlike InvalidArgument, this error indicates a problem that may + // be fixed if the system state changes. For example, a 32-bit file + // system will generate InvalidArgument if asked to read at an + // offset that is not in the range [0,2^32-1], but it will generate + // OutOfRange if asked to read from an offset past the current + // file size. + // + // There is a fair bit of overlap between FailedPrecondition and + // OutOfRange. We recommend using OutOfRange (the more specific + // error) when it applies so that callers who are iterating through + // a space can easily look for an OutOfRange error to detect when + // they are done. + OutOfRange Code = 11 + + // Unimplemented indicates operation is not implemented or not + // supported/enabled in this service. + Unimplemented Code = 12 + + // Internal errors. Means some invariants expected by underlying + // system has been broken. If you see one of these errors, + // something is very broken. + Internal Code = 13 + + // Unavailable indicates the service is currently unavailable. + // This is a most likely a transient condition and may be corrected + // by retrying with a backoff. Note that it is not always safe to retry + // non-idempotent operations. + // + // See litmus test above for deciding between FailedPrecondition, + // Aborted, and Unavailable. + Unavailable Code = 14 + + // DataLoss indicates unrecoverable data loss or corruption. + DataLoss Code = 15 + + // Unauthenticated indicates the request does not have valid + // authentication credentials for the operation. + Unauthenticated Code = 16 + + _maxCode = 17 +) + +var strToCode = map[string]Code{ + `"OK"`: OK, + `"CANCELLED"`:/* [sic] */ Canceled, + `"UNKNOWN"`: Unknown, + `"INVALID_ARGUMENT"`: InvalidArgument, + `"DEADLINE_EXCEEDED"`: DeadlineExceeded, + `"NOT_FOUND"`: NotFound, + `"ALREADY_EXISTS"`: AlreadyExists, + `"PERMISSION_DENIED"`: PermissionDenied, + `"RESOURCE_EXHAUSTED"`: ResourceExhausted, + `"FAILED_PRECONDITION"`: FailedPrecondition, + `"ABORTED"`: Aborted, + `"OUT_OF_RANGE"`: OutOfRange, + `"UNIMPLEMENTED"`: Unimplemented, + `"INTERNAL"`: Internal, + `"UNAVAILABLE"`: Unavailable, + `"DATA_LOSS"`: DataLoss, + `"UNAUTHENTICATED"`: Unauthenticated, +} + +// UnmarshalJSON unmarshals b into the Code. +func (c *Code) UnmarshalJSON(b []byte) error { + // From json.Unmarshaler: By convention, to approximate the behavior of + // Unmarshal itself, Unmarshalers implement UnmarshalJSON([]byte("null")) as + // a no-op. + if string(b) == "null" { + return nil + } + if c == nil { + return fmt.Errorf("nil receiver passed to UnmarshalJSON") + } + + if ci, err := strconv.ParseUint(string(b), 10, 32); err == nil { + if ci >= _maxCode { + return fmt.Errorf("invalid code: %q", ci) + } + + *c = Code(ci) + return nil + } + + if jc, ok := strToCode[string(b)]; ok { + *c = jc + return nil + } + return fmt.Errorf("invalid code: %q", string(b)) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/connectivity/connectivity.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/connectivity/connectivity.go new file mode 100644 index 0000000..34ec36f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/connectivity/connectivity.go @@ -0,0 +1,73 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package connectivity defines connectivity semantics. +// For details, see https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md. +// All APIs in this package are experimental. +package connectivity + +import ( + "context" + + "google.golang.org/grpc/grpclog" +) + +// State indicates the state of connectivity. +// It can be the state of a ClientConn or SubConn. +type State int + +func (s State) String() string { + switch s { + case Idle: + return "IDLE" + case Connecting: + return "CONNECTING" + case Ready: + return "READY" + case TransientFailure: + return "TRANSIENT_FAILURE" + case Shutdown: + return "SHUTDOWN" + default: + grpclog.Errorf("unknown connectivity state: %d", s) + return "Invalid-State" + } +} + +const ( + // Idle indicates the ClientConn is idle. + Idle State = iota + // Connecting indicates the ClientConn is connecting. + Connecting + // Ready indicates the ClientConn is ready for work. + Ready + // TransientFailure indicates the ClientConn has seen a failure but expects to recover. + TransientFailure + // Shutdown indicates the ClientConn has started shutting down. + Shutdown +) + +// Reporter reports the connectivity states. +type Reporter interface { + // CurrentState returns the current state of the reporter. + CurrentState() State + // WaitForStateChange blocks until the reporter's state is different from the given state, + // and returns true. + // It returns false if <-ctx.Done() can proceed (ctx got timeout or got canceled). + WaitForStateChange(context.Context, State) bool +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/credentials.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/credentials.go new file mode 100644 index 0000000..8ea3d4a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/credentials.go @@ -0,0 +1,336 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +// Package credentials implements various credentials supported by gRPC library, +// which encapsulate all the state needed by a client to authenticate with a +// server and make various assertions, e.g., about the client's identity, role, +// or whether it is authorized to make a particular call. +package credentials // import "google.golang.org/grpc/credentials" + +import ( + "context" + "crypto/tls" + "crypto/x509" + "errors" + "fmt" + "io/ioutil" + "net" + "strings" + + "github.com/golang/protobuf/proto" + "google.golang.org/grpc/credentials/internal" +) + +// PerRPCCredentials defines the common interface for the credentials which need to +// attach security information to every RPC (e.g., oauth2). +type PerRPCCredentials interface { + // GetRequestMetadata gets the current request metadata, refreshing + // tokens if required. This should be called by the transport layer on + // each request, and the data should be populated in headers or other + // context. If a status code is returned, it will be used as the status + // for the RPC. uri is the URI of the entry point for the request. + // When supported by the underlying implementation, ctx can be used for + // timeout and cancellation. + // TODO(zhaoq): Define the set of the qualified keys instead of leaving + // it as an arbitrary string. + GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) + // RequireTransportSecurity indicates whether the credentials requires + // transport security. + RequireTransportSecurity() bool +} + +// ProtocolInfo provides information regarding the gRPC wire protocol version, +// security protocol, security protocol version in use, server name, etc. +type ProtocolInfo struct { + // ProtocolVersion is the gRPC wire protocol version. + ProtocolVersion string + // SecurityProtocol is the security protocol in use. + SecurityProtocol string + // SecurityVersion is the security protocol version. + SecurityVersion string + // ServerName is the user-configured server name. + ServerName string +} + +// AuthInfo defines the common interface for the auth information the users are interested in. +type AuthInfo interface { + AuthType() string +} + +// ErrConnDispatched indicates that rawConn has been dispatched out of gRPC +// and the caller should not close rawConn. +var ErrConnDispatched = errors.New("credentials: rawConn is dispatched out of gRPC") + +// TransportCredentials defines the common interface for all the live gRPC wire +// protocols and supported transport security protocols (e.g., TLS, SSL). +type TransportCredentials interface { + // ClientHandshake does the authentication handshake specified by the corresponding + // authentication protocol on rawConn for clients. It returns the authenticated + // connection and the corresponding auth information about the connection. + // Implementations must use the provided context to implement timely cancellation. + // gRPC will try to reconnect if the error returned is a temporary error + // (io.EOF, context.DeadlineExceeded or err.Temporary() == true). + // If the returned error is a wrapper error, implementations should make sure that + // the error implements Temporary() to have the correct retry behaviors. + // + // If the returned net.Conn is closed, it MUST close the net.Conn provided. + ClientHandshake(context.Context, string, net.Conn) (net.Conn, AuthInfo, error) + // ServerHandshake does the authentication handshake for servers. It returns + // the authenticated connection and the corresponding auth information about + // the connection. + // + // If the returned net.Conn is closed, it MUST close the net.Conn provided. + ServerHandshake(net.Conn) (net.Conn, AuthInfo, error) + // Info provides the ProtocolInfo of this TransportCredentials. + Info() ProtocolInfo + // Clone makes a copy of this TransportCredentials. + Clone() TransportCredentials + // OverrideServerName overrides the server name used to verify the hostname on the returned certificates from the server. + // gRPC internals also use it to override the virtual hosting name if it is set. + // It must be called before dialing. Currently, this is only used by grpclb. + OverrideServerName(string) error +} + +// Bundle is a combination of TransportCredentials and PerRPCCredentials. +// +// It also contains a mode switching method, so it can be used as a combination +// of different credential policies. +// +// Bundle cannot be used together with individual TransportCredentials. +// PerRPCCredentials from Bundle will be appended to other PerRPCCredentials. +// +// This API is experimental. +type Bundle interface { + TransportCredentials() TransportCredentials + PerRPCCredentials() PerRPCCredentials + // NewWithMode should make a copy of Bundle, and switch mode. Modifying the + // existing Bundle may cause races. + // + // NewWithMode returns nil if the requested mode is not supported. + NewWithMode(mode string) (Bundle, error) +} + +// TLSInfo contains the auth information for a TLS authenticated connection. +// It implements the AuthInfo interface. +type TLSInfo struct { + State tls.ConnectionState +} + +// AuthType returns the type of TLSInfo as a string. +func (t TLSInfo) AuthType() string { + return "tls" +} + +// GetSecurityValue returns security info requested by channelz. +func (t TLSInfo) GetSecurityValue() ChannelzSecurityValue { + v := &TLSChannelzSecurityValue{ + StandardName: cipherSuiteLookup[t.State.CipherSuite], + } + // Currently there's no way to get LocalCertificate info from tls package. + if len(t.State.PeerCertificates) > 0 { + v.RemoteCertificate = t.State.PeerCertificates[0].Raw + } + return v +} + +// tlsCreds is the credentials required for authenticating a connection using TLS. +type tlsCreds struct { + // TLS configuration + config *tls.Config +} + +func (c tlsCreds) Info() ProtocolInfo { + return ProtocolInfo{ + SecurityProtocol: "tls", + SecurityVersion: "1.2", + ServerName: c.config.ServerName, + } +} + +func (c *tlsCreds) ClientHandshake(ctx context.Context, authority string, rawConn net.Conn) (_ net.Conn, _ AuthInfo, err error) { + // use local cfg to avoid clobbering ServerName if using multiple endpoints + cfg := cloneTLSConfig(c.config) + if cfg.ServerName == "" { + colonPos := strings.LastIndex(authority, ":") + if colonPos == -1 { + colonPos = len(authority) + } + cfg.ServerName = authority[:colonPos] + } + conn := tls.Client(rawConn, cfg) + errChannel := make(chan error, 1) + go func() { + errChannel <- conn.Handshake() + }() + select { + case err := <-errChannel: + if err != nil { + return nil, nil, err + } + case <-ctx.Done(): + return nil, nil, ctx.Err() + } + return internal.WrapSyscallConn(rawConn, conn), TLSInfo{conn.ConnectionState()}, nil +} + +func (c *tlsCreds) ServerHandshake(rawConn net.Conn) (net.Conn, AuthInfo, error) { + conn := tls.Server(rawConn, c.config) + if err := conn.Handshake(); err != nil { + return nil, nil, err + } + return internal.WrapSyscallConn(rawConn, conn), TLSInfo{conn.ConnectionState()}, nil +} + +func (c *tlsCreds) Clone() TransportCredentials { + return NewTLS(c.config) +} + +func (c *tlsCreds) OverrideServerName(serverNameOverride string) error { + c.config.ServerName = serverNameOverride + return nil +} + +const alpnProtoStrH2 = "h2" + +func appendH2ToNextProtos(ps []string) []string { + for _, p := range ps { + if p == alpnProtoStrH2 { + return ps + } + } + ret := make([]string, 0, len(ps)+1) + ret = append(ret, ps...) + return append(ret, alpnProtoStrH2) +} + +// NewTLS uses c to construct a TransportCredentials based on TLS. +func NewTLS(c *tls.Config) TransportCredentials { + tc := &tlsCreds{cloneTLSConfig(c)} + tc.config.NextProtos = appendH2ToNextProtos(tc.config.NextProtos) + return tc +} + +// NewClientTLSFromCert constructs TLS credentials from the input certificate for client. +// serverNameOverride is for testing only. If set to a non empty string, +// it will override the virtual host name of authority (e.g. :authority header field) in requests. +func NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) TransportCredentials { + return NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp}) +} + +// NewClientTLSFromFile constructs TLS credentials from the input certificate file for client. +// serverNameOverride is for testing only. If set to a non empty string, +// it will override the virtual host name of authority (e.g. :authority header field) in requests. +func NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredentials, error) { + b, err := ioutil.ReadFile(certFile) + if err != nil { + return nil, err + } + cp := x509.NewCertPool() + if !cp.AppendCertsFromPEM(b) { + return nil, fmt.Errorf("credentials: failed to append certificates") + } + return NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp}), nil +} + +// NewServerTLSFromCert constructs TLS credentials from the input certificate for server. +func NewServerTLSFromCert(cert *tls.Certificate) TransportCredentials { + return NewTLS(&tls.Config{Certificates: []tls.Certificate{*cert}}) +} + +// NewServerTLSFromFile constructs TLS credentials from the input certificate file and key +// file for server. +func NewServerTLSFromFile(certFile, keyFile string) (TransportCredentials, error) { + cert, err := tls.LoadX509KeyPair(certFile, keyFile) + if err != nil { + return nil, err + } + return NewTLS(&tls.Config{Certificates: []tls.Certificate{cert}}), nil +} + +// ChannelzSecurityInfo defines the interface that security protocols should implement +// in order to provide security info to channelz. +type ChannelzSecurityInfo interface { + GetSecurityValue() ChannelzSecurityValue +} + +// ChannelzSecurityValue defines the interface that GetSecurityValue() return value +// should satisfy. This interface should only be satisfied by *TLSChannelzSecurityValue +// and *OtherChannelzSecurityValue. +type ChannelzSecurityValue interface { + isChannelzSecurityValue() +} + +// TLSChannelzSecurityValue defines the struct that TLS protocol should return +// from GetSecurityValue(), containing security info like cipher and certificate used. +type TLSChannelzSecurityValue struct { + ChannelzSecurityValue + StandardName string + LocalCertificate []byte + RemoteCertificate []byte +} + +// OtherChannelzSecurityValue defines the struct that non-TLS protocol should return +// from GetSecurityValue(), which contains protocol specific security info. Note +// the Value field will be sent to users of channelz requesting channel info, and +// thus sensitive info should better be avoided. +type OtherChannelzSecurityValue struct { + ChannelzSecurityValue + Name string + Value proto.Message +} + +var cipherSuiteLookup = map[uint16]string{ + tls.TLS_RSA_WITH_RC4_128_SHA: "TLS_RSA_WITH_RC4_128_SHA", + tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA: "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + tls.TLS_RSA_WITH_AES_128_CBC_SHA: "TLS_RSA_WITH_AES_128_CBC_SHA", + tls.TLS_RSA_WITH_AES_256_CBC_SHA: "TLS_RSA_WITH_AES_256_CBC_SHA", + tls.TLS_RSA_WITH_AES_128_GCM_SHA256: "TLS_RSA_WITH_AES_128_GCM_SHA256", + tls.TLS_RSA_WITH_AES_256_GCM_SHA384: "TLS_RSA_WITH_AES_256_GCM_SHA384", + tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", + tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA: "TLS_ECDHE_RSA_WITH_RC4_128_SHA", + tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", + tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + tls.TLS_FALLBACK_SCSV: "TLS_FALLBACK_SCSV", + tls.TLS_RSA_WITH_AES_128_CBC_SHA256: "TLS_RSA_WITH_AES_128_CBC_SHA256", + tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305", + tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", +} + +// cloneTLSConfig returns a shallow clone of the exported +// fields of cfg, ignoring the unexported sync.Once, which +// contains a mutex and must not be copied. +// +// If cfg is nil, a new zero tls.Config is returned. +// +// TODO: inline this function if possible. +func cloneTLSConfig(cfg *tls.Config) *tls.Config { + if cfg == nil { + return &tls.Config{} + } + + return cfg.Clone() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn.go new file mode 100644 index 0000000..2f4472b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn.go @@ -0,0 +1,61 @@ +// +build !appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package internal contains credentials-internal code. +package internal + +import ( + "net" + "syscall" +) + +type sysConn = syscall.Conn + +// syscallConn keeps reference of rawConn to support syscall.Conn for channelz. +// SyscallConn() (the method in interface syscall.Conn) is explicitly +// implemented on this type, +// +// Interface syscall.Conn is implemented by most net.Conn implementations (e.g. +// TCPConn, UnixConn), but is not part of net.Conn interface. So wrapper conns +// that embed net.Conn don't implement syscall.Conn. (Side note: tls.Conn +// doesn't embed net.Conn, so even if syscall.Conn is part of net.Conn, it won't +// help here). +type syscallConn struct { + net.Conn + // sysConn is a type alias of syscall.Conn. It's necessary because the name + // `Conn` collides with `net.Conn`. + sysConn +} + +// WrapSyscallConn tries to wrap rawConn and newConn into a net.Conn that +// implements syscall.Conn. rawConn will be used to support syscall, and newConn +// will be used for read/write. +// +// This function returns newConn if rawConn doesn't implement syscall.Conn. +func WrapSyscallConn(rawConn, newConn net.Conn) net.Conn { + sysConn, ok := rawConn.(syscall.Conn) + if !ok { + return newConn + } + return &syscallConn{ + Conn: newConn, + sysConn: sysConn, + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn_appengine.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn_appengine.go new file mode 100644 index 0000000..d4346e9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/internal/syscallconn_appengine.go @@ -0,0 +1,30 @@ +// +build appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package internal + +import ( + "net" +) + +// WrapSyscallConn returns newConn on appengine. +func WrapSyscallConn(rawConn, newConn net.Conn) net.Conn { + return newConn +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/tls13.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/tls13.go new file mode 100644 index 0000000..ccbf35b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/credentials/tls13.go @@ -0,0 +1,30 @@ +// +build go1.12 + +/* + * + * Copyright 2019 gRPC authors. + * + * 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. + * + */ + +package credentials + +import "crypto/tls" + +// This init function adds cipher suite constants only defined in Go 1.12. +func init() { + cipherSuiteLookup[tls.TLS_AES_128_GCM_SHA256] = "TLS_AES_128_GCM_SHA256" + cipherSuiteLookup[tls.TLS_AES_256_GCM_SHA384] = "TLS_AES_256_GCM_SHA384" + cipherSuiteLookup[tls.TLS_CHACHA20_POLY1305_SHA256] = "TLS_CHACHA20_POLY1305_SHA256" +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/dialoptions.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/dialoptions.go new file mode 100644 index 0000000..e8f34d0 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/dialoptions.go @@ -0,0 +1,554 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + "fmt" + "net" + "time" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal" + "google.golang.org/grpc/internal/backoff" + "google.golang.org/grpc/internal/envconfig" + "google.golang.org/grpc/internal/transport" + "google.golang.org/grpc/keepalive" + "google.golang.org/grpc/resolver" + "google.golang.org/grpc/stats" +) + +// dialOptions configure a Dial call. dialOptions are set by the DialOption +// values passed to Dial. +type dialOptions struct { + unaryInt UnaryClientInterceptor + streamInt StreamClientInterceptor + + chainUnaryInts []UnaryClientInterceptor + chainStreamInts []StreamClientInterceptor + + cp Compressor + dc Decompressor + bs backoff.Strategy + block bool + insecure bool + timeout time.Duration + scChan <-chan ServiceConfig + authority string + copts transport.ConnectOptions + callOptions []CallOption + // This is used by v1 balancer dial option WithBalancer to support v1 + // balancer, and also by WithBalancerName dial option. + balancerBuilder balancer.Builder + // This is to support grpclb. + resolverBuilder resolver.Builder + channelzParentID int64 + disableServiceConfig bool + disableRetry bool + disableHealthCheck bool + healthCheckFunc internal.HealthChecker + minConnectTimeout func() time.Duration + defaultServiceConfig *ServiceConfig // defaultServiceConfig is parsed from defaultServiceConfigRawJSON. + defaultServiceConfigRawJSON *string +} + +// DialOption configures how we set up the connection. +type DialOption interface { + apply(*dialOptions) +} + +// EmptyDialOption does not alter the dial configuration. It can be embedded in +// another structure to build custom dial options. +// +// This API is EXPERIMENTAL. +type EmptyDialOption struct{} + +func (EmptyDialOption) apply(*dialOptions) {} + +// funcDialOption wraps a function that modifies dialOptions into an +// implementation of the DialOption interface. +type funcDialOption struct { + f func(*dialOptions) +} + +func (fdo *funcDialOption) apply(do *dialOptions) { + fdo.f(do) +} + +func newFuncDialOption(f func(*dialOptions)) *funcDialOption { + return &funcDialOption{ + f: f, + } +} + +// WithWriteBufferSize determines how much data can be batched before doing a +// write on the wire. The corresponding memory allocation for this buffer will +// be twice the size to keep syscalls low. The default value for this buffer is +// 32KB. +// +// Zero will disable the write buffer such that each write will be on underlying +// connection. Note: A Send call may not directly translate to a write. +func WithWriteBufferSize(s int) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.WriteBufferSize = s + }) +} + +// WithReadBufferSize lets you set the size of read buffer, this determines how +// much data can be read at most for each read syscall. +// +// The default value for this buffer is 32KB. Zero will disable read buffer for +// a connection so data framer can access the underlying conn directly. +func WithReadBufferSize(s int) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.ReadBufferSize = s + }) +} + +// WithInitialWindowSize returns a DialOption which sets the value for initial +// window size on a stream. The lower bound for window size is 64K and any value +// smaller than that will be ignored. +func WithInitialWindowSize(s int32) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.InitialWindowSize = s + }) +} + +// WithInitialConnWindowSize returns a DialOption which sets the value for +// initial window size on a connection. The lower bound for window size is 64K +// and any value smaller than that will be ignored. +func WithInitialConnWindowSize(s int32) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.InitialConnWindowSize = s + }) +} + +// WithMaxMsgSize returns a DialOption which sets the maximum message size the +// client can receive. +// +// Deprecated: use WithDefaultCallOptions(MaxCallRecvMsgSize(s)) instead. Will +// be supported throughout 1.x. +func WithMaxMsgSize(s int) DialOption { + return WithDefaultCallOptions(MaxCallRecvMsgSize(s)) +} + +// WithDefaultCallOptions returns a DialOption which sets the default +// CallOptions for calls over the connection. +func WithDefaultCallOptions(cos ...CallOption) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.callOptions = append(o.callOptions, cos...) + }) +} + +// WithCodec returns a DialOption which sets a codec for message marshaling and +// unmarshaling. +// +// Deprecated: use WithDefaultCallOptions(ForceCodec(_)) instead. Will be +// supported throughout 1.x. +func WithCodec(c Codec) DialOption { + return WithDefaultCallOptions(CallCustomCodec(c)) +} + +// WithCompressor returns a DialOption which sets a Compressor to use for +// message compression. It has lower priority than the compressor set by the +// UseCompressor CallOption. +// +// Deprecated: use UseCompressor instead. Will be supported throughout 1.x. +func WithCompressor(cp Compressor) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.cp = cp + }) +} + +// WithDecompressor returns a DialOption which sets a Decompressor to use for +// incoming message decompression. If incoming response messages are encoded +// using the decompressor's Type(), it will be used. Otherwise, the message +// encoding will be used to look up the compressor registered via +// encoding.RegisterCompressor, which will then be used to decompress the +// message. If no compressor is registered for the encoding, an Unimplemented +// status error will be returned. +// +// Deprecated: use encoding.RegisterCompressor instead. Will be supported +// throughout 1.x. +func WithDecompressor(dc Decompressor) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.dc = dc + }) +} + +// WithBalancer returns a DialOption which sets a load balancer with the v1 API. +// Name resolver will be ignored if this DialOption is specified. +// +// Deprecated: use the new balancer APIs in balancer package and +// WithBalancerName. Will be removed in a future 1.x release. +func WithBalancer(b Balancer) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.balancerBuilder = &balancerWrapperBuilder{ + b: b, + } + }) +} + +// WithBalancerName sets the balancer that the ClientConn will be initialized +// with. Balancer registered with balancerName will be used. This function +// panics if no balancer was registered by balancerName. +// +// The balancer cannot be overridden by balancer option specified by service +// config. +// +// Deprecated: use WithDefaultServiceConfig and WithDisableServiceConfig +// instead. Will be removed in a future 1.x release. +func WithBalancerName(balancerName string) DialOption { + builder := balancer.Get(balancerName) + if builder == nil { + panic(fmt.Sprintf("grpc.WithBalancerName: no balancer is registered for name %v", balancerName)) + } + return newFuncDialOption(func(o *dialOptions) { + o.balancerBuilder = builder + }) +} + +// withResolverBuilder is only for grpclb. +func withResolverBuilder(b resolver.Builder) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.resolverBuilder = b + }) +} + +// WithServiceConfig returns a DialOption which has a channel to read the +// service configuration. +// +// Deprecated: service config should be received through name resolver or via +// WithDefaultServiceConfig, as specified at +// https://github.com/grpc/grpc/blob/master/doc/service_config.md. Will be +// removed in a future 1.x release. +func WithServiceConfig(c <-chan ServiceConfig) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.scChan = c + }) +} + +// WithBackoffMaxDelay configures the dialer to use the provided maximum delay +// when backing off after failed connection attempts. +func WithBackoffMaxDelay(md time.Duration) DialOption { + return WithBackoffConfig(BackoffConfig{MaxDelay: md}) +} + +// WithBackoffConfig configures the dialer to use the provided backoff +// parameters after connection failures. +// +// Use WithBackoffMaxDelay until more parameters on BackoffConfig are opened up +// for use. +func WithBackoffConfig(b BackoffConfig) DialOption { + return withBackoff(backoff.Exponential{ + MaxDelay: b.MaxDelay, + }) +} + +// withBackoff sets the backoff strategy used for connectRetryNum after a failed +// connection attempt. +// +// This can be exported if arbitrary backoff strategies are allowed by gRPC. +func withBackoff(bs backoff.Strategy) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.bs = bs + }) +} + +// WithBlock returns a DialOption which makes caller of Dial blocks until the +// underlying connection is up. Without this, Dial returns immediately and +// connecting the server happens in background. +func WithBlock() DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.block = true + }) +} + +// WithInsecure returns a DialOption which disables transport security for this +// ClientConn. Note that transport security is required unless WithInsecure is +// set. +func WithInsecure() DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.insecure = true + }) +} + +// WithTransportCredentials returns a DialOption which configures a connection +// level security credentials (e.g., TLS/SSL). This should not be used together +// with WithCredentialsBundle. +func WithTransportCredentials(creds credentials.TransportCredentials) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.TransportCredentials = creds + }) +} + +// WithPerRPCCredentials returns a DialOption which sets credentials and places +// auth state on each outbound RPC. +func WithPerRPCCredentials(creds credentials.PerRPCCredentials) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.PerRPCCredentials = append(o.copts.PerRPCCredentials, creds) + }) +} + +// WithCredentialsBundle returns a DialOption to set a credentials bundle for +// the ClientConn.WithCreds. This should not be used together with +// WithTransportCredentials. +// +// This API is experimental. +func WithCredentialsBundle(b credentials.Bundle) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.CredsBundle = b + }) +} + +// WithTimeout returns a DialOption that configures a timeout for dialing a +// ClientConn initially. This is valid if and only if WithBlock() is present. +// +// Deprecated: use DialContext and context.WithTimeout instead. Will be +// supported throughout 1.x. +func WithTimeout(d time.Duration) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.timeout = d + }) +} + +// WithContextDialer returns a DialOption that sets a dialer to create +// connections. If FailOnNonTempDialError() is set to true, and an error is +// returned by f, gRPC checks the error's Temporary() method to decide if it +// should try to reconnect to the network address. +func WithContextDialer(f func(context.Context, string) (net.Conn, error)) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.Dialer = f + }) +} + +func init() { + internal.WithResolverBuilder = withResolverBuilder + internal.WithHealthCheckFunc = withHealthCheckFunc +} + +// WithDialer returns a DialOption that specifies a function to use for dialing +// network addresses. If FailOnNonTempDialError() is set to true, and an error +// is returned by f, gRPC checks the error's Temporary() method to decide if it +// should try to reconnect to the network address. +// +// Deprecated: use WithContextDialer instead. Will be supported throughout +// 1.x. +func WithDialer(f func(string, time.Duration) (net.Conn, error)) DialOption { + return WithContextDialer( + func(ctx context.Context, addr string) (net.Conn, error) { + if deadline, ok := ctx.Deadline(); ok { + return f(addr, time.Until(deadline)) + } + return f(addr, 0) + }) +} + +// WithStatsHandler returns a DialOption that specifies the stats handler for +// all the RPCs and underlying network connections in this ClientConn. +func WithStatsHandler(h stats.Handler) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.StatsHandler = h + }) +} + +// FailOnNonTempDialError returns a DialOption that specifies if gRPC fails on +// non-temporary dial errors. If f is true, and dialer returns a non-temporary +// error, gRPC will fail the connection to the network address and won't try to +// reconnect. The default value of FailOnNonTempDialError is false. +// +// FailOnNonTempDialError only affects the initial dial, and does not do +// anything useful unless you are also using WithBlock(). +// +// This is an EXPERIMENTAL API. +func FailOnNonTempDialError(f bool) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.FailOnNonTempDialError = f + }) +} + +// WithUserAgent returns a DialOption that specifies a user agent string for all +// the RPCs. +func WithUserAgent(s string) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.UserAgent = s + }) +} + +// WithKeepaliveParams returns a DialOption that specifies keepalive parameters +// for the client transport. +func WithKeepaliveParams(kp keepalive.ClientParameters) DialOption { + if kp.Time < internal.KeepaliveMinPingTime { + grpclog.Warningf("Adjusting keepalive ping interval to minimum period of %v", internal.KeepaliveMinPingTime) + kp.Time = internal.KeepaliveMinPingTime + } + return newFuncDialOption(func(o *dialOptions) { + o.copts.KeepaliveParams = kp + }) +} + +// WithUnaryInterceptor returns a DialOption that specifies the interceptor for +// unary RPCs. +func WithUnaryInterceptor(f UnaryClientInterceptor) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.unaryInt = f + }) +} + +// WithChainUnaryInterceptor returns a DialOption that specifies the chained +// interceptor for unary RPCs. The first interceptor will be the outer most, +// while the last interceptor will be the inner most wrapper around the real call. +// All interceptors added by this method will be chained, and the interceptor +// defined by WithUnaryInterceptor will always be prepended to the chain. +func WithChainUnaryInterceptor(interceptors ...UnaryClientInterceptor) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.chainUnaryInts = append(o.chainUnaryInts, interceptors...) + }) +} + +// WithStreamInterceptor returns a DialOption that specifies the interceptor for +// streaming RPCs. +func WithStreamInterceptor(f StreamClientInterceptor) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.streamInt = f + }) +} + +// WithChainStreamInterceptor returns a DialOption that specifies the chained +// interceptor for unary RPCs. The first interceptor will be the outer most, +// while the last interceptor will be the inner most wrapper around the real call. +// All interceptors added by this method will be chained, and the interceptor +// defined by WithStreamInterceptor will always be prepended to the chain. +func WithChainStreamInterceptor(interceptors ...StreamClientInterceptor) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.chainStreamInts = append(o.chainStreamInts, interceptors...) + }) +} + +// WithAuthority returns a DialOption that specifies the value to be used as the +// :authority pseudo-header. This value only works with WithInsecure and has no +// effect if TransportCredentials are present. +func WithAuthority(a string) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.authority = a + }) +} + +// WithChannelzParentID returns a DialOption that specifies the channelz ID of +// current ClientConn's parent. This function is used in nested channel creation +// (e.g. grpclb dial). +func WithChannelzParentID(id int64) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.channelzParentID = id + }) +} + +// WithDisableServiceConfig returns a DialOption that causes gRPC to ignore any +// service config provided by the resolver and provides a hint to the resolver +// to not fetch service configs. +// +// Note that this dial option only disables service config from resolver. If +// default service config is provided, gRPC will use the default service config. +func WithDisableServiceConfig() DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.disableServiceConfig = true + }) +} + +// WithDefaultServiceConfig returns a DialOption that configures the default +// service config, which will be used in cases where: +// +// 1. WithDisableServiceConfig is also used. +// 2. Resolver does not return a service config or if the resolver returns an +// invalid service config. +// +// This API is EXPERIMENTAL. +func WithDefaultServiceConfig(s string) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.defaultServiceConfigRawJSON = &s + }) +} + +// WithDisableRetry returns a DialOption that disables retries, even if the +// service config enables them. This does not impact transparent retries, which +// will happen automatically if no data is written to the wire or if the RPC is +// unprocessed by the remote server. +// +// Retry support is currently disabled by default, but will be enabled by +// default in the future. Until then, it may be enabled by setting the +// environment variable "GRPC_GO_RETRY" to "on". +// +// This API is EXPERIMENTAL. +func WithDisableRetry() DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.disableRetry = true + }) +} + +// WithMaxHeaderListSize returns a DialOption that specifies the maximum +// (uncompressed) size of header list that the client is prepared to accept. +func WithMaxHeaderListSize(s uint32) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.MaxHeaderListSize = &s + }) +} + +// WithDisableHealthCheck disables the LB channel health checking for all +// SubConns of this ClientConn. +// +// This API is EXPERIMENTAL. +func WithDisableHealthCheck() DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.disableHealthCheck = true + }) +} + +// withHealthCheckFunc replaces the default health check function with the +// provided one. It makes tests easier to change the health check function. +// +// For testing purpose only. +func withHealthCheckFunc(f internal.HealthChecker) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.healthCheckFunc = f + }) +} + +func defaultDialOptions() dialOptions { + return dialOptions{ + disableRetry: !envconfig.Retry, + healthCheckFunc: internal.HealthCheckFunc, + copts: transport.ConnectOptions{ + WriteBufferSize: defaultWriteBufSize, + ReadBufferSize: defaultReadBufSize, + }, + } +} + +// withGetMinConnectDeadline specifies the function that clientconn uses to +// get minConnectDeadline. This can be used to make connection attempts happen +// faster/slower. +// +// For testing purpose only. +func withMinConnectDeadline(f func() time.Duration) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.minConnectTimeout = f + }) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/doc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/doc.go new file mode 100644 index 0000000..187adbb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/doc.go @@ -0,0 +1,24 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * 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. + * + */ + +/* +Package grpc implements an RPC system called gRPC. + +See grpc.io for more information about gRPC. +*/ +package grpc // import "google.golang.org/grpc" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/encoding.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/encoding.go new file mode 100644 index 0000000..30a75da --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/encoding.go @@ -0,0 +1,118 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package encoding defines the interface for the compressor and codec, and +// functions to register and retrieve compressors and codecs. +// +// This package is EXPERIMENTAL. +package encoding + +import ( + "io" + "strings" +) + +// Identity specifies the optional encoding for uncompressed streams. +// It is intended for grpc internal use only. +const Identity = "identity" + +// Compressor is used for compressing and decompressing when sending or +// receiving messages. +type Compressor interface { + // Compress writes the data written to wc to w after compressing it. If an + // error occurs while initializing the compressor, that error is returned + // instead. + Compress(w io.Writer) (io.WriteCloser, error) + // Decompress reads data from r, decompresses it, and provides the + // uncompressed data via the returned io.Reader. If an error occurs while + // initializing the decompressor, that error is returned instead. + Decompress(r io.Reader) (io.Reader, error) + // Name is the name of the compression codec and is used to set the content + // coding header. The result must be static; the result cannot change + // between calls. + Name() string +} + +var registeredCompressor = make(map[string]Compressor) + +// RegisterCompressor registers the compressor with gRPC by its name. It can +// be activated when sending an RPC via grpc.UseCompressor(). It will be +// automatically accessed when receiving a message based on the content coding +// header. Servers also use it to send a response with the same encoding as +// the request. +// +// NOTE: this function must only be called during initialization time (i.e. in +// an init() function), and is not thread-safe. If multiple Compressors are +// registered with the same name, the one registered last will take effect. +func RegisterCompressor(c Compressor) { + registeredCompressor[c.Name()] = c +} + +// GetCompressor returns Compressor for the given compressor name. +func GetCompressor(name string) Compressor { + return registeredCompressor[name] +} + +// Codec defines the interface gRPC uses to encode and decode messages. Note +// that implementations of this interface must be thread safe; a Codec's +// methods can be called from concurrent goroutines. +type Codec interface { + // Marshal returns the wire format of v. + Marshal(v interface{}) ([]byte, error) + // Unmarshal parses the wire format into v. + Unmarshal(data []byte, v interface{}) error + // Name returns the name of the Codec implementation. The returned string + // will be used as part of content type in transmission. The result must be + // static; the result cannot change between calls. + Name() string +} + +var registeredCodecs = make(map[string]Codec) + +// RegisterCodec registers the provided Codec for use with all gRPC clients and +// servers. +// +// The Codec will be stored and looked up by result of its Name() method, which +// should match the content-subtype of the encoding handled by the Codec. This +// is case-insensitive, and is stored and looked up as lowercase. If the +// result of calling Name() is an empty string, RegisterCodec will panic. See +// Content-Type on +// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for +// more details. +// +// NOTE: this function must only be called during initialization time (i.e. in +// an init() function), and is not thread-safe. If multiple Compressors are +// registered with the same name, the one registered last will take effect. +func RegisterCodec(codec Codec) { + if codec == nil { + panic("cannot register a nil Codec") + } + if codec.Name() == "" { + panic("cannot register Codec with empty string result for Name()") + } + contentSubtype := strings.ToLower(codec.Name()) + registeredCodecs[contentSubtype] = codec +} + +// GetCodec gets a registered Codec by content-subtype, or nil if no Codec is +// registered for the content-subtype. +// +// The content-subtype is expected to be lowercase. +func GetCodec(contentSubtype string) Codec { + return registeredCodecs[contentSubtype] +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/proto/proto.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/proto/proto.go new file mode 100644 index 0000000..66b97a6 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/encoding/proto/proto.go @@ -0,0 +1,110 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package proto defines the protobuf codec. Importing this package will +// register the codec. +package proto + +import ( + "math" + "sync" + + "github.com/golang/protobuf/proto" + "google.golang.org/grpc/encoding" +) + +// Name is the name registered for the proto compressor. +const Name = "proto" + +func init() { + encoding.RegisterCodec(codec{}) +} + +// codec is a Codec implementation with protobuf. It is the default codec for gRPC. +type codec struct{} + +type cachedProtoBuffer struct { + lastMarshaledSize uint32 + proto.Buffer +} + +func capToMaxInt32(val int) uint32 { + if val > math.MaxInt32 { + return uint32(math.MaxInt32) + } + return uint32(val) +} + +func marshal(v interface{}, cb *cachedProtoBuffer) ([]byte, error) { + protoMsg := v.(proto.Message) + newSlice := make([]byte, 0, cb.lastMarshaledSize) + + cb.SetBuf(newSlice) + cb.Reset() + if err := cb.Marshal(protoMsg); err != nil { + return nil, err + } + out := cb.Bytes() + cb.lastMarshaledSize = capToMaxInt32(len(out)) + return out, nil +} + +func (codec) Marshal(v interface{}) ([]byte, error) { + if pm, ok := v.(proto.Marshaler); ok { + // object can marshal itself, no need for buffer + return pm.Marshal() + } + + cb := protoBufferPool.Get().(*cachedProtoBuffer) + out, err := marshal(v, cb) + + // put back buffer and lose the ref to the slice + cb.SetBuf(nil) + protoBufferPool.Put(cb) + return out, err +} + +func (codec) Unmarshal(data []byte, v interface{}) error { + protoMsg := v.(proto.Message) + protoMsg.Reset() + + if pu, ok := protoMsg.(proto.Unmarshaler); ok { + // object can unmarshal itself, no need for buffer + return pu.Unmarshal(data) + } + + cb := protoBufferPool.Get().(*cachedProtoBuffer) + cb.SetBuf(data) + err := cb.Unmarshal(protoMsg) + cb.SetBuf(nil) + protoBufferPool.Put(cb) + return err +} + +func (codec) Name() string { + return Name +} + +var protoBufferPool = &sync.Pool{ + New: func() interface{} { + return &cachedProtoBuffer{ + Buffer: proto.Buffer{}, + lastMarshaledSize: 16, + } + }, +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.mod new file mode 100644 index 0000000..c1a8340 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.mod @@ -0,0 +1,19 @@ +module google.golang.org/grpc + +require ( + cloud.google.com/go v0.26.0 // indirect + github.com/BurntSushi/toml v0.3.1 // indirect + github.com/client9/misspell v0.3.4 + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b + github.com/golang/mock v1.1.1 + github.com/golang/protobuf v1.2.0 + github.com/google/go-cmp v0.2.0 + golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3 + golang.org/x/net v0.0.0-20190311183353-d8887717615a + golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be + golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a + golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 + google.golang.org/appengine v1.1.0 // indirect + google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 + honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.sum b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.sum new file mode 100644 index 0000000..741677d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/go.sum @@ -0,0 +1,37 @@ +cloud.google.com/go v0.26.0 h1:e0WKqKTd5BnrG8aKH3J3h+QvEIQtSUcf2n5UZ5ZgLtQ= +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/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1 h1:G5FRp8JnTd7RQH5kemVNlMeyXQAztQ3mOWV95KxsXH8= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3 h1:XQyxROzUlZH+WIQwySDgnISgOivlhjIEwaQaJEJrrN0= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd h1:/e+gpKk9r3dJobndpTytxS2gOy6m5uvpg+ISQoEcusQ= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 h1:5Beo0mZN8dRzgrMMkDp0jc8YXQKx9DiJ2k1dkvGsn5A= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +google.golang.org/appengine v1.1.0 h1:igQkv0AAhEIvTEpD5LIpAfav2eeVO9HBTjvKHVJPRSs= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/grpclog.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/grpclog.go new file mode 100644 index 0000000..51bb945 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/grpclog.go @@ -0,0 +1,126 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package grpclog defines logging for grpc. +// +// All logs in transport and grpclb packages only go to verbose level 2. +// All logs in other packages in grpc are logged in spite of the verbosity level. +// +// In the default logger, +// severity level can be set by environment variable GRPC_GO_LOG_SEVERITY_LEVEL, +// verbosity level can be set by GRPC_GO_LOG_VERBOSITY_LEVEL. +package grpclog // import "google.golang.org/grpc/grpclog" + +import "os" + +var logger = newLoggerV2() + +// V reports whether verbosity level l is at least the requested verbose level. +func V(l int) bool { + return logger.V(l) +} + +// Info logs to the INFO log. +func Info(args ...interface{}) { + logger.Info(args...) +} + +// Infof logs to the INFO log. Arguments are handled in the manner of fmt.Printf. +func Infof(format string, args ...interface{}) { + logger.Infof(format, args...) +} + +// Infoln logs to the INFO log. Arguments are handled in the manner of fmt.Println. +func Infoln(args ...interface{}) { + logger.Infoln(args...) +} + +// Warning logs to the WARNING log. +func Warning(args ...interface{}) { + logger.Warning(args...) +} + +// Warningf logs to the WARNING log. Arguments are handled in the manner of fmt.Printf. +func Warningf(format string, args ...interface{}) { + logger.Warningf(format, args...) +} + +// Warningln logs to the WARNING log. Arguments are handled in the manner of fmt.Println. +func Warningln(args ...interface{}) { + logger.Warningln(args...) +} + +// Error logs to the ERROR log. +func Error(args ...interface{}) { + logger.Error(args...) +} + +// Errorf logs to the ERROR log. Arguments are handled in the manner of fmt.Printf. +func Errorf(format string, args ...interface{}) { + logger.Errorf(format, args...) +} + +// Errorln logs to the ERROR log. Arguments are handled in the manner of fmt.Println. +func Errorln(args ...interface{}) { + logger.Errorln(args...) +} + +// Fatal logs to the FATAL log. Arguments are handled in the manner of fmt.Print. +// It calls os.Exit() with exit code 1. +func Fatal(args ...interface{}) { + logger.Fatal(args...) + // Make sure fatal logs will exit. + os.Exit(1) +} + +// Fatalf logs to the FATAL log. Arguments are handled in the manner of fmt.Printf. +// It calles os.Exit() with exit code 1. +func Fatalf(format string, args ...interface{}) { + logger.Fatalf(format, args...) + // Make sure fatal logs will exit. + os.Exit(1) +} + +// Fatalln logs to the FATAL log. Arguments are handled in the manner of fmt.Println. +// It calle os.Exit()) with exit code 1. +func Fatalln(args ...interface{}) { + logger.Fatalln(args...) + // Make sure fatal logs will exit. + os.Exit(1) +} + +// Print prints to the logger. Arguments are handled in the manner of fmt.Print. +// +// Deprecated: use Info. +func Print(args ...interface{}) { + logger.Info(args...) +} + +// Printf prints to the logger. Arguments are handled in the manner of fmt.Printf. +// +// Deprecated: use Infof. +func Printf(format string, args ...interface{}) { + logger.Infof(format, args...) +} + +// Println prints to the logger. Arguments are handled in the manner of fmt.Println. +// +// Deprecated: use Infoln. +func Println(args ...interface{}) { + logger.Infoln(args...) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/logger.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/logger.go new file mode 100644 index 0000000..097494f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/logger.go @@ -0,0 +1,85 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * 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. + * + */ + +package grpclog + +// Logger mimics golang's standard Logger as an interface. +// +// Deprecated: use LoggerV2. +type Logger interface { + Fatal(args ...interface{}) + Fatalf(format string, args ...interface{}) + Fatalln(args ...interface{}) + Print(args ...interface{}) + Printf(format string, args ...interface{}) + Println(args ...interface{}) +} + +// SetLogger sets the logger that is used in grpc. Call only from +// init() functions. +// +// Deprecated: use SetLoggerV2. +func SetLogger(l Logger) { + logger = &loggerWrapper{Logger: l} +} + +// loggerWrapper wraps Logger into a LoggerV2. +type loggerWrapper struct { + Logger +} + +func (g *loggerWrapper) Info(args ...interface{}) { + g.Logger.Print(args...) +} + +func (g *loggerWrapper) Infoln(args ...interface{}) { + g.Logger.Println(args...) +} + +func (g *loggerWrapper) Infof(format string, args ...interface{}) { + g.Logger.Printf(format, args...) +} + +func (g *loggerWrapper) Warning(args ...interface{}) { + g.Logger.Print(args...) +} + +func (g *loggerWrapper) Warningln(args ...interface{}) { + g.Logger.Println(args...) +} + +func (g *loggerWrapper) Warningf(format string, args ...interface{}) { + g.Logger.Printf(format, args...) +} + +func (g *loggerWrapper) Error(args ...interface{}) { + g.Logger.Print(args...) +} + +func (g *loggerWrapper) Errorln(args ...interface{}) { + g.Logger.Println(args...) +} + +func (g *loggerWrapper) Errorf(format string, args ...interface{}) { + g.Logger.Printf(format, args...) +} + +func (g *loggerWrapper) V(l int) bool { + // Returns true for all verbose level. + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/loggerv2.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/loggerv2.go new file mode 100644 index 0000000..d493257 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/grpclog/loggerv2.go @@ -0,0 +1,195 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpclog + +import ( + "io" + "io/ioutil" + "log" + "os" + "strconv" +) + +// LoggerV2 does underlying logging work for grpclog. +type LoggerV2 interface { + // Info logs to INFO log. Arguments are handled in the manner of fmt.Print. + Info(args ...interface{}) + // Infoln logs to INFO log. Arguments are handled in the manner of fmt.Println. + Infoln(args ...interface{}) + // Infof logs to INFO log. Arguments are handled in the manner of fmt.Printf. + Infof(format string, args ...interface{}) + // Warning logs to WARNING log. Arguments are handled in the manner of fmt.Print. + Warning(args ...interface{}) + // Warningln logs to WARNING log. Arguments are handled in the manner of fmt.Println. + Warningln(args ...interface{}) + // Warningf logs to WARNING log. Arguments are handled in the manner of fmt.Printf. + Warningf(format string, args ...interface{}) + // Error logs to ERROR log. Arguments are handled in the manner of fmt.Print. + Error(args ...interface{}) + // Errorln logs to ERROR log. Arguments are handled in the manner of fmt.Println. + Errorln(args ...interface{}) + // Errorf logs to ERROR log. Arguments are handled in the manner of fmt.Printf. + Errorf(format string, args ...interface{}) + // Fatal logs to ERROR log. Arguments are handled in the manner of fmt.Print. + // gRPC ensures that all Fatal logs will exit with os.Exit(1). + // Implementations may also call os.Exit() with a non-zero exit code. + Fatal(args ...interface{}) + // Fatalln logs to ERROR log. Arguments are handled in the manner of fmt.Println. + // gRPC ensures that all Fatal logs will exit with os.Exit(1). + // Implementations may also call os.Exit() with a non-zero exit code. + Fatalln(args ...interface{}) + // Fatalf logs to ERROR log. Arguments are handled in the manner of fmt.Printf. + // gRPC ensures that all Fatal logs will exit with os.Exit(1). + // Implementations may also call os.Exit() with a non-zero exit code. + Fatalf(format string, args ...interface{}) + // V reports whether verbosity level l is at least the requested verbose level. + V(l int) bool +} + +// SetLoggerV2 sets logger that is used in grpc to a V2 logger. +// Not mutex-protected, should be called before any gRPC functions. +func SetLoggerV2(l LoggerV2) { + logger = l +} + +const ( + // infoLog indicates Info severity. + infoLog int = iota + // warningLog indicates Warning severity. + warningLog + // errorLog indicates Error severity. + errorLog + // fatalLog indicates Fatal severity. + fatalLog +) + +// severityName contains the string representation of each severity. +var severityName = []string{ + infoLog: "INFO", + warningLog: "WARNING", + errorLog: "ERROR", + fatalLog: "FATAL", +} + +// loggerT is the default logger used by grpclog. +type loggerT struct { + m []*log.Logger + v int +} + +// NewLoggerV2 creates a loggerV2 with the provided writers. +// Fatal logs will be written to errorW, warningW, infoW, followed by exit(1). +// Error logs will be written to errorW, warningW and infoW. +// Warning logs will be written to warningW and infoW. +// Info logs will be written to infoW. +func NewLoggerV2(infoW, warningW, errorW io.Writer) LoggerV2 { + return NewLoggerV2WithVerbosity(infoW, warningW, errorW, 0) +} + +// NewLoggerV2WithVerbosity creates a loggerV2 with the provided writers and +// verbosity level. +func NewLoggerV2WithVerbosity(infoW, warningW, errorW io.Writer, v int) LoggerV2 { + var m []*log.Logger + m = append(m, log.New(infoW, severityName[infoLog]+": ", log.LstdFlags)) + m = append(m, log.New(io.MultiWriter(infoW, warningW), severityName[warningLog]+": ", log.LstdFlags)) + ew := io.MultiWriter(infoW, warningW, errorW) // ew will be used for error and fatal. + m = append(m, log.New(ew, severityName[errorLog]+": ", log.LstdFlags)) + m = append(m, log.New(ew, severityName[fatalLog]+": ", log.LstdFlags)) + return &loggerT{m: m, v: v} +} + +// newLoggerV2 creates a loggerV2 to be used as default logger. +// All logs are written to stderr. +func newLoggerV2() LoggerV2 { + errorW := ioutil.Discard + warningW := ioutil.Discard + infoW := ioutil.Discard + + logLevel := os.Getenv("GRPC_GO_LOG_SEVERITY_LEVEL") + switch logLevel { + case "", "ERROR", "error": // If env is unset, set level to ERROR. + errorW = os.Stderr + case "WARNING", "warning": + warningW = os.Stderr + case "INFO", "info": + infoW = os.Stderr + } + + var v int + vLevel := os.Getenv("GRPC_GO_LOG_VERBOSITY_LEVEL") + if vl, err := strconv.Atoi(vLevel); err == nil { + v = vl + } + return NewLoggerV2WithVerbosity(infoW, warningW, errorW, v) +} + +func (g *loggerT) Info(args ...interface{}) { + g.m[infoLog].Print(args...) +} + +func (g *loggerT) Infoln(args ...interface{}) { + g.m[infoLog].Println(args...) +} + +func (g *loggerT) Infof(format string, args ...interface{}) { + g.m[infoLog].Printf(format, args...) +} + +func (g *loggerT) Warning(args ...interface{}) { + g.m[warningLog].Print(args...) +} + +func (g *loggerT) Warningln(args ...interface{}) { + g.m[warningLog].Println(args...) +} + +func (g *loggerT) Warningf(format string, args ...interface{}) { + g.m[warningLog].Printf(format, args...) +} + +func (g *loggerT) Error(args ...interface{}) { + g.m[errorLog].Print(args...) +} + +func (g *loggerT) Errorln(args ...interface{}) { + g.m[errorLog].Println(args...) +} + +func (g *loggerT) Errorf(format string, args ...interface{}) { + g.m[errorLog].Printf(format, args...) +} + +func (g *loggerT) Fatal(args ...interface{}) { + g.m[fatalLog].Fatal(args...) + // No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit(). +} + +func (g *loggerT) Fatalln(args ...interface{}) { + g.m[fatalLog].Fatalln(args...) + // No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit(). +} + +func (g *loggerT) Fatalf(format string, args ...interface{}) { + g.m[fatalLog].Fatalf(format, args...) + // No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit(). +} + +func (g *loggerT) V(l int) bool { + return l <= g.v +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/install_gae.sh b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/install_gae.sh new file mode 100644 index 0000000..7c7bcad --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/install_gae.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +TMP=$(mktemp -d /tmp/sdk.XXX) \ +&& curl -o $TMP.zip "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-1.9.68.zip" \ +&& unzip -q $TMP.zip -d $TMP \ +&& export PATH="$PATH:$TMP/go_appengine" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/interceptor.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/interceptor.go new file mode 100644 index 0000000..8b73500 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/interceptor.go @@ -0,0 +1,77 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" +) + +// UnaryInvoker is called by UnaryClientInterceptor to complete RPCs. +type UnaryInvoker func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, opts ...CallOption) error + +// UnaryClientInterceptor intercepts the execution of a unary RPC on the client. invoker is the handler to complete the RPC +// and it is the responsibility of the interceptor to call it. +// This is an EXPERIMENTAL API. +type UnaryClientInterceptor func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, invoker UnaryInvoker, opts ...CallOption) error + +// Streamer is called by StreamClientInterceptor to create a ClientStream. +type Streamer func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (ClientStream, error) + +// StreamClientInterceptor intercepts the creation of ClientStream. It may return a custom ClientStream to intercept all I/O +// operations. streamer is the handler to create a ClientStream and it is the responsibility of the interceptor to call it. +// This is an EXPERIMENTAL API. +type StreamClientInterceptor func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, streamer Streamer, opts ...CallOption) (ClientStream, error) + +// UnaryServerInfo consists of various information about a unary RPC on +// server side. All per-rpc information may be mutated by the interceptor. +type UnaryServerInfo struct { + // Server is the service implementation the user provides. This is read-only. + Server interface{} + // FullMethod is the full RPC method string, i.e., /package.service/method. + FullMethod string +} + +// UnaryHandler defines the handler invoked by UnaryServerInterceptor to complete the normal +// execution of a unary RPC. If a UnaryHandler returns an error, it should be produced by the +// status package, or else gRPC will use codes.Unknown as the status code and err.Error() as +// the status message of the RPC. +type UnaryHandler func(ctx context.Context, req interface{}) (interface{}, error) + +// UnaryServerInterceptor provides a hook to intercept the execution of a unary RPC on the server. info +// contains all the information of this RPC the interceptor can operate on. And handler is the wrapper +// of the service method implementation. It is the responsibility of the interceptor to invoke handler +// to complete the RPC. +type UnaryServerInterceptor func(ctx context.Context, req interface{}, info *UnaryServerInfo, handler UnaryHandler) (resp interface{}, err error) + +// StreamServerInfo consists of various information about a streaming RPC on +// server side. All per-rpc information may be mutated by the interceptor. +type StreamServerInfo struct { + // FullMethod is the full RPC method string, i.e., /package.service/method. + FullMethod string + // IsClientStream indicates whether the RPC is a client streaming RPC. + IsClientStream bool + // IsServerStream indicates whether the RPC is a server streaming RPC. + IsServerStream bool +} + +// StreamServerInterceptor provides a hook to intercept the execution of a streaming RPC on the server. +// info contains all the information of this RPC the interceptor can operate on. And handler is the +// service method implementation. It is the responsibility of the interceptor to invoke handler to +// complete the RPC. +type StreamServerInterceptor func(srv interface{}, ss ServerStream, info *StreamServerInfo, handler StreamHandler) error diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/backoff/backoff.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/backoff/backoff.go new file mode 100644 index 0000000..1bd0cce --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/backoff/backoff.go @@ -0,0 +1,78 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package backoff implement the backoff strategy for gRPC. +// +// This is kept in internal until the gRPC project decides whether or not to +// allow alternative backoff strategies. +package backoff + +import ( + "time" + + "google.golang.org/grpc/internal/grpcrand" +) + +// Strategy defines the methodology for backing off after a grpc connection +// failure. +// +type Strategy interface { + // Backoff returns the amount of time to wait before the next retry given + // the number of consecutive failures. + Backoff(retries int) time.Duration +} + +const ( + // baseDelay is the amount of time to wait before retrying after the first + // failure. + baseDelay = 1.0 * time.Second + // factor is applied to the backoff after each retry. + factor = 1.6 + // jitter provides a range to randomize backoff delays. + jitter = 0.2 +) + +// Exponential implements exponential backoff algorithm as defined in +// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md. +type Exponential struct { + // MaxDelay is the upper bound of backoff delay. + MaxDelay time.Duration +} + +// Backoff returns the amount of time to wait before the next retry given the +// number of retries. +func (bc Exponential) Backoff(retries int) time.Duration { + if retries == 0 { + return baseDelay + } + backoff, max := float64(baseDelay), float64(bc.MaxDelay) + for backoff < max && retries > 0 { + backoff *= factor + retries-- + } + if backoff > max { + backoff = max + } + // Randomize backoff delays so that if a cluster of requests start at + // the same time, they won't operate in lockstep. + backoff *= 1 + jitter*(grpcrand.Float64()*2-1) + if backoff < 0 { + return 0 + } + return time.Duration(backoff) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/balancerload/load.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/balancerload/load.go new file mode 100644 index 0000000..3a905d9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/balancerload/load.go @@ -0,0 +1,46 @@ +/* + * Copyright 2019 gRPC authors. + * + * 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. + */ + +// Package balancerload defines APIs to parse server loads in trailers. The +// parsed loads are sent to balancers in DoneInfo. +package balancerload + +import ( + "google.golang.org/grpc/metadata" +) + +// Parser converts loads from metadata into a concrete type. +type Parser interface { + // Parse parses loads from metadata. + Parse(md metadata.MD) interface{} +} + +var parser Parser + +// SetParser sets the load parser. +// +// Not mutex-protected, should be called before any gRPC functions. +func SetParser(lr Parser) { + parser = lr +} + +// Parse calls parser.Read(). +func Parse(md metadata.MD) interface{} { + if parser == nil { + return nil + } + return parser.Parse(md) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog.go new file mode 100644 index 0000000..fee6aec --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog.go @@ -0,0 +1,167 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package binarylog implementation binary logging as defined in +// https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. +package binarylog + +import ( + "fmt" + "os" + + "google.golang.org/grpc/grpclog" +) + +// Logger is the global binary logger. It can be used to get binary logger for +// each method. +type Logger interface { + getMethodLogger(methodName string) *MethodLogger +} + +// binLogger is the global binary logger for the binary. One of this should be +// built at init time from the configuration (environment varialbe or flags). +// +// It is used to get a methodLogger for each individual method. +var binLogger Logger + +// SetLogger sets the binarg logger. +// +// Only call this at init time. +func SetLogger(l Logger) { + binLogger = l +} + +// GetMethodLogger returns the methodLogger for the given methodName. +// +// methodName should be in the format of "/service/method". +// +// Each methodLogger returned by this method is a new instance. This is to +// generate sequence id within the call. +func GetMethodLogger(methodName string) *MethodLogger { + if binLogger == nil { + return nil + } + return binLogger.getMethodLogger(methodName) +} + +func init() { + const envStr = "GRPC_BINARY_LOG_FILTER" + configStr := os.Getenv(envStr) + binLogger = NewLoggerFromConfigString(configStr) +} + +type methodLoggerConfig struct { + // Max length of header and message. + hdr, msg uint64 +} + +type logger struct { + all *methodLoggerConfig + services map[string]*methodLoggerConfig + methods map[string]*methodLoggerConfig + + blacklist map[string]struct{} +} + +// newEmptyLogger creates an empty logger. The map fields need to be filled in +// using the set* functions. +func newEmptyLogger() *logger { + return &logger{} +} + +// Set method logger for "*". +func (l *logger) setDefaultMethodLogger(ml *methodLoggerConfig) error { + if l.all != nil { + return fmt.Errorf("conflicting global rules found") + } + l.all = ml + return nil +} + +// Set method logger for "service/*". +// +// New methodLogger with same service overrides the old one. +func (l *logger) setServiceMethodLogger(service string, ml *methodLoggerConfig) error { + if _, ok := l.services[service]; ok { + return fmt.Errorf("conflicting rules for service %v found", service) + } + if l.services == nil { + l.services = make(map[string]*methodLoggerConfig) + } + l.services[service] = ml + return nil +} + +// Set method logger for "service/method". +// +// New methodLogger with same method overrides the old one. +func (l *logger) setMethodMethodLogger(method string, ml *methodLoggerConfig) error { + if _, ok := l.blacklist[method]; ok { + return fmt.Errorf("conflicting rules for method %v found", method) + } + if _, ok := l.methods[method]; ok { + return fmt.Errorf("conflicting rules for method %v found", method) + } + if l.methods == nil { + l.methods = make(map[string]*methodLoggerConfig) + } + l.methods[method] = ml + return nil +} + +// Set blacklist method for "-service/method". +func (l *logger) setBlacklist(method string) error { + if _, ok := l.blacklist[method]; ok { + return fmt.Errorf("conflicting rules for method %v found", method) + } + if _, ok := l.methods[method]; ok { + return fmt.Errorf("conflicting rules for method %v found", method) + } + if l.blacklist == nil { + l.blacklist = make(map[string]struct{}) + } + l.blacklist[method] = struct{}{} + return nil +} + +// getMethodLogger returns the methodLogger for the given methodName. +// +// methodName should be in the format of "/service/method". +// +// Each methodLogger returned by this method is a new instance. This is to +// generate sequence id within the call. +func (l *logger) getMethodLogger(methodName string) *MethodLogger { + s, m, err := parseMethodName(methodName) + if err != nil { + grpclog.Infof("binarylogging: failed to parse %q: %v", methodName, err) + return nil + } + if ml, ok := l.methods[s+"/"+m]; ok { + return newMethodLogger(ml.hdr, ml.msg) + } + if _, ok := l.blacklist[s+"/"+m]; ok { + return nil + } + if ml, ok := l.services[s]; ok { + return newMethodLogger(ml.hdr, ml.msg) + } + if l.all == nil { + return nil + } + return newMethodLogger(l.all.hdr, l.all.msg) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog_testutil.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog_testutil.go new file mode 100644 index 0000000..1ee00a3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/binarylog_testutil.go @@ -0,0 +1,42 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// This file contains exported variables/functions that are exported for testing +// only. +// +// An ideal way for this would be to put those in a *_test.go but in binarylog +// package. But this doesn't work with staticcheck with go module. Error was: +// "MdToMetadataProto not declared by package binarylog". This could be caused +// by the way staticcheck looks for files for a certain package, which doesn't +// support *_test.go files. +// +// Move those to binary_test.go when staticcheck is fixed. + +package binarylog + +var ( + // AllLogger is a logger that logs all headers/messages for all RPCs. It's + // for testing only. + AllLogger = NewLoggerFromConfigString("*") + // MdToMetadataProto converts metadata to a binary logging proto message. + // It's for testing only. + MdToMetadataProto = mdToMetadataProto + // AddrToProto converts an address to a binary logging proto message. It's + // for testing only. + AddrToProto = addrToProto +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/env_config.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/env_config.go new file mode 100644 index 0000000..4cc2525 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/env_config.go @@ -0,0 +1,210 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package binarylog + +import ( + "errors" + "fmt" + "regexp" + "strconv" + "strings" + + "google.golang.org/grpc/grpclog" +) + +// NewLoggerFromConfigString reads the string and build a logger. It can be used +// to build a new logger and assign it to binarylog.Logger. +// +// Example filter config strings: +// - "" Nothing will be logged +// - "*" All headers and messages will be fully logged. +// - "*{h}" Only headers will be logged. +// - "*{m:256}" Only the first 256 bytes of each message will be logged. +// - "Foo/*" Logs every method in service Foo +// - "Foo/*,-Foo/Bar" Logs every method in service Foo except method /Foo/Bar +// - "Foo/*,Foo/Bar{m:256}" Logs the first 256 bytes of each message in method +// /Foo/Bar, logs all headers and messages in every other method in service +// Foo. +// +// If two configs exist for one certain method or service, the one specified +// later overrides the privous config. +func NewLoggerFromConfigString(s string) Logger { + if s == "" { + return nil + } + l := newEmptyLogger() + methods := strings.Split(s, ",") + for _, method := range methods { + if err := l.fillMethodLoggerWithConfigString(method); err != nil { + grpclog.Warningf("failed to parse binary log config: %v", err) + return nil + } + } + return l +} + +// fillMethodLoggerWithConfigString parses config, creates methodLogger and adds +// it to the right map in the logger. +func (l *logger) fillMethodLoggerWithConfigString(config string) error { + // "" is invalid. + if config == "" { + return errors.New("empty string is not a valid method binary logging config") + } + + // "-service/method", blacklist, no * or {} allowed. + if config[0] == '-' { + s, m, suffix, err := parseMethodConfigAndSuffix(config[1:]) + if err != nil { + return fmt.Errorf("invalid config: %q, %v", config, err) + } + if m == "*" { + return fmt.Errorf("invalid config: %q, %v", config, "* not allowd in blacklist config") + } + if suffix != "" { + return fmt.Errorf("invalid config: %q, %v", config, "header/message limit not allowed in blacklist config") + } + if err := l.setBlacklist(s + "/" + m); err != nil { + return fmt.Errorf("invalid config: %v", err) + } + return nil + } + + // "*{h:256;m:256}" + if config[0] == '*' { + hdr, msg, err := parseHeaderMessageLengthConfig(config[1:]) + if err != nil { + return fmt.Errorf("invalid config: %q, %v", config, err) + } + if err := l.setDefaultMethodLogger(&methodLoggerConfig{hdr: hdr, msg: msg}); err != nil { + return fmt.Errorf("invalid config: %v", err) + } + return nil + } + + s, m, suffix, err := parseMethodConfigAndSuffix(config) + if err != nil { + return fmt.Errorf("invalid config: %q, %v", config, err) + } + hdr, msg, err := parseHeaderMessageLengthConfig(suffix) + if err != nil { + return fmt.Errorf("invalid header/message length config: %q, %v", suffix, err) + } + if m == "*" { + if err := l.setServiceMethodLogger(s, &methodLoggerConfig{hdr: hdr, msg: msg}); err != nil { + return fmt.Errorf("invalid config: %v", err) + } + } else { + if err := l.setMethodMethodLogger(s+"/"+m, &methodLoggerConfig{hdr: hdr, msg: msg}); err != nil { + return fmt.Errorf("invalid config: %v", err) + } + } + return nil +} + +const ( + // TODO: this const is only used by env_config now. But could be useful for + // other config. Move to binarylog.go if necessary. + maxUInt = ^uint64(0) + + // For "p.s/m" plus any suffix. Suffix will be parsed again. See test for + // expected output. + longMethodConfigRegexpStr = `^([\w./]+)/((?:\w+)|[*])(.+)?$` + + // For suffix from above, "{h:123,m:123}". See test for expected output. + optionalLengthRegexpStr = `(?::(\d+))?` // Optional ":123". + headerConfigRegexpStr = `^{h` + optionalLengthRegexpStr + `}$` + messageConfigRegexpStr = `^{m` + optionalLengthRegexpStr + `}$` + headerMessageConfigRegexpStr = `^{h` + optionalLengthRegexpStr + `;m` + optionalLengthRegexpStr + `}$` +) + +var ( + longMethodConfigRegexp = regexp.MustCompile(longMethodConfigRegexpStr) + headerConfigRegexp = regexp.MustCompile(headerConfigRegexpStr) + messageConfigRegexp = regexp.MustCompile(messageConfigRegexpStr) + headerMessageConfigRegexp = regexp.MustCompile(headerMessageConfigRegexpStr) +) + +// Turn "service/method{h;m}" into "service", "method", "{h;m}". +func parseMethodConfigAndSuffix(c string) (service, method, suffix string, _ error) { + // Regexp result: + // + // in: "p.s/m{h:123,m:123}", + // out: []string{"p.s/m{h:123,m:123}", "p.s", "m", "{h:123,m:123}"}, + match := longMethodConfigRegexp.FindStringSubmatch(c) + if match == nil { + return "", "", "", fmt.Errorf("%q contains invalid substring", c) + } + service = match[1] + method = match[2] + suffix = match[3] + return +} + +// Turn "{h:123;m:345}" into 123, 345. +// +// Return maxUInt if length is unspecified. +func parseHeaderMessageLengthConfig(c string) (hdrLenStr, msgLenStr uint64, err error) { + if c == "" { + return maxUInt, maxUInt, nil + } + // Header config only. + if match := headerConfigRegexp.FindStringSubmatch(c); match != nil { + if s := match[1]; s != "" { + hdrLenStr, err = strconv.ParseUint(s, 10, 64) + if err != nil { + return 0, 0, fmt.Errorf("failed to convert %q to uint", s) + } + return hdrLenStr, 0, nil + } + return maxUInt, 0, nil + } + + // Message config only. + if match := messageConfigRegexp.FindStringSubmatch(c); match != nil { + if s := match[1]; s != "" { + msgLenStr, err = strconv.ParseUint(s, 10, 64) + if err != nil { + return 0, 0, fmt.Errorf("failed to convert %q to uint", s) + } + return 0, msgLenStr, nil + } + return 0, maxUInt, nil + } + + // Header and message config both. + if match := headerMessageConfigRegexp.FindStringSubmatch(c); match != nil { + // Both hdr and msg are specified, but one or two of them might be empty. + hdrLenStr = maxUInt + msgLenStr = maxUInt + if s := match[1]; s != "" { + hdrLenStr, err = strconv.ParseUint(s, 10, 64) + if err != nil { + return 0, 0, fmt.Errorf("failed to convert %q to uint", s) + } + } + if s := match[2]; s != "" { + msgLenStr, err = strconv.ParseUint(s, 10, 64) + if err != nil { + return 0, 0, fmt.Errorf("failed to convert %q to uint", s) + } + } + return hdrLenStr, msgLenStr, nil + } + return 0, 0, fmt.Errorf("%q contains invalid substring", c) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go new file mode 100644 index 0000000..160f6e8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/method_logger.go @@ -0,0 +1,423 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package binarylog + +import ( + "net" + "strings" + "sync/atomic" + "time" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes" + pb "google.golang.org/grpc/binarylog/grpc_binarylog_v1" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" +) + +type callIDGenerator struct { + id uint64 +} + +func (g *callIDGenerator) next() uint64 { + id := atomic.AddUint64(&g.id, 1) + return id +} + +// reset is for testing only, and doesn't need to be thread safe. +func (g *callIDGenerator) reset() { + g.id = 0 +} + +var idGen callIDGenerator + +// MethodLogger is the sub-logger for each method. +type MethodLogger struct { + headerMaxLen, messageMaxLen uint64 + + callID uint64 + idWithinCallGen *callIDGenerator + + sink Sink // TODO(blog): make this plugable. +} + +func newMethodLogger(h, m uint64) *MethodLogger { + return &MethodLogger{ + headerMaxLen: h, + messageMaxLen: m, + + callID: idGen.next(), + idWithinCallGen: &callIDGenerator{}, + + sink: defaultSink, // TODO(blog): make it plugable. + } +} + +// Log creates a proto binary log entry, and logs it to the sink. +func (ml *MethodLogger) Log(c LogEntryConfig) { + m := c.toProto() + timestamp, _ := ptypes.TimestampProto(time.Now()) + m.Timestamp = timestamp + m.CallId = ml.callID + m.SequenceIdWithinCall = ml.idWithinCallGen.next() + + switch pay := m.Payload.(type) { + case *pb.GrpcLogEntry_ClientHeader: + m.PayloadTruncated = ml.truncateMetadata(pay.ClientHeader.GetMetadata()) + case *pb.GrpcLogEntry_ServerHeader: + m.PayloadTruncated = ml.truncateMetadata(pay.ServerHeader.GetMetadata()) + case *pb.GrpcLogEntry_Message: + m.PayloadTruncated = ml.truncateMessage(pay.Message) + } + + ml.sink.Write(m) +} + +func (ml *MethodLogger) truncateMetadata(mdPb *pb.Metadata) (truncated bool) { + if ml.headerMaxLen == maxUInt { + return false + } + var ( + bytesLimit = ml.headerMaxLen + index int + ) + // At the end of the loop, index will be the first entry where the total + // size is greater than the limit: + // + // len(entry[:index]) <= ml.hdr && len(entry[:index+1]) > ml.hdr. + for ; index < len(mdPb.Entry); index++ { + entry := mdPb.Entry[index] + if entry.Key == "grpc-trace-bin" { + // "grpc-trace-bin" is a special key. It's kept in the log entry, + // but not counted towards the size limit. + continue + } + currentEntryLen := uint64(len(entry.Value)) + if currentEntryLen > bytesLimit { + break + } + bytesLimit -= currentEntryLen + } + truncated = index < len(mdPb.Entry) + mdPb.Entry = mdPb.Entry[:index] + return truncated +} + +func (ml *MethodLogger) truncateMessage(msgPb *pb.Message) (truncated bool) { + if ml.messageMaxLen == maxUInt { + return false + } + if ml.messageMaxLen >= uint64(len(msgPb.Data)) { + return false + } + msgPb.Data = msgPb.Data[:ml.messageMaxLen] + return true +} + +// LogEntryConfig represents the configuration for binary log entry. +type LogEntryConfig interface { + toProto() *pb.GrpcLogEntry +} + +// ClientHeader configs the binary log entry to be a ClientHeader entry. +type ClientHeader struct { + OnClientSide bool + Header metadata.MD + MethodName string + Authority string + Timeout time.Duration + // PeerAddr is required only when it's on server side. + PeerAddr net.Addr +} + +func (c *ClientHeader) toProto() *pb.GrpcLogEntry { + // This function doesn't need to set all the fields (e.g. seq ID). The Log + // function will set the fields when necessary. + clientHeader := &pb.ClientHeader{ + Metadata: mdToMetadataProto(c.Header), + MethodName: c.MethodName, + Authority: c.Authority, + } + if c.Timeout > 0 { + clientHeader.Timeout = ptypes.DurationProto(c.Timeout) + } + ret := &pb.GrpcLogEntry{ + Type: pb.GrpcLogEntry_EVENT_TYPE_CLIENT_HEADER, + Payload: &pb.GrpcLogEntry_ClientHeader{ + ClientHeader: clientHeader, + }, + } + if c.OnClientSide { + ret.Logger = pb.GrpcLogEntry_LOGGER_CLIENT + } else { + ret.Logger = pb.GrpcLogEntry_LOGGER_SERVER + } + if c.PeerAddr != nil { + ret.Peer = addrToProto(c.PeerAddr) + } + return ret +} + +// ServerHeader configs the binary log entry to be a ServerHeader entry. +type ServerHeader struct { + OnClientSide bool + Header metadata.MD + // PeerAddr is required only when it's on client side. + PeerAddr net.Addr +} + +func (c *ServerHeader) toProto() *pb.GrpcLogEntry { + ret := &pb.GrpcLogEntry{ + Type: pb.GrpcLogEntry_EVENT_TYPE_SERVER_HEADER, + Payload: &pb.GrpcLogEntry_ServerHeader{ + ServerHeader: &pb.ServerHeader{ + Metadata: mdToMetadataProto(c.Header), + }, + }, + } + if c.OnClientSide { + ret.Logger = pb.GrpcLogEntry_LOGGER_CLIENT + } else { + ret.Logger = pb.GrpcLogEntry_LOGGER_SERVER + } + if c.PeerAddr != nil { + ret.Peer = addrToProto(c.PeerAddr) + } + return ret +} + +// ClientMessage configs the binary log entry to be a ClientMessage entry. +type ClientMessage struct { + OnClientSide bool + // Message can be a proto.Message or []byte. Other messages formats are not + // supported. + Message interface{} +} + +func (c *ClientMessage) toProto() *pb.GrpcLogEntry { + var ( + data []byte + err error + ) + if m, ok := c.Message.(proto.Message); ok { + data, err = proto.Marshal(m) + if err != nil { + grpclog.Infof("binarylogging: failed to marshal proto message: %v", err) + } + } else if b, ok := c.Message.([]byte); ok { + data = b + } else { + grpclog.Infof("binarylogging: message to log is neither proto.message nor []byte") + } + ret := &pb.GrpcLogEntry{ + Type: pb.GrpcLogEntry_EVENT_TYPE_CLIENT_MESSAGE, + Payload: &pb.GrpcLogEntry_Message{ + Message: &pb.Message{ + Length: uint32(len(data)), + Data: data, + }, + }, + } + if c.OnClientSide { + ret.Logger = pb.GrpcLogEntry_LOGGER_CLIENT + } else { + ret.Logger = pb.GrpcLogEntry_LOGGER_SERVER + } + return ret +} + +// ServerMessage configs the binary log entry to be a ServerMessage entry. +type ServerMessage struct { + OnClientSide bool + // Message can be a proto.Message or []byte. Other messages formats are not + // supported. + Message interface{} +} + +func (c *ServerMessage) toProto() *pb.GrpcLogEntry { + var ( + data []byte + err error + ) + if m, ok := c.Message.(proto.Message); ok { + data, err = proto.Marshal(m) + if err != nil { + grpclog.Infof("binarylogging: failed to marshal proto message: %v", err) + } + } else if b, ok := c.Message.([]byte); ok { + data = b + } else { + grpclog.Infof("binarylogging: message to log is neither proto.message nor []byte") + } + ret := &pb.GrpcLogEntry{ + Type: pb.GrpcLogEntry_EVENT_TYPE_SERVER_MESSAGE, + Payload: &pb.GrpcLogEntry_Message{ + Message: &pb.Message{ + Length: uint32(len(data)), + Data: data, + }, + }, + } + if c.OnClientSide { + ret.Logger = pb.GrpcLogEntry_LOGGER_CLIENT + } else { + ret.Logger = pb.GrpcLogEntry_LOGGER_SERVER + } + return ret +} + +// ClientHalfClose configs the binary log entry to be a ClientHalfClose entry. +type ClientHalfClose struct { + OnClientSide bool +} + +func (c *ClientHalfClose) toProto() *pb.GrpcLogEntry { + ret := &pb.GrpcLogEntry{ + Type: pb.GrpcLogEntry_EVENT_TYPE_CLIENT_HALF_CLOSE, + Payload: nil, // No payload here. + } + if c.OnClientSide { + ret.Logger = pb.GrpcLogEntry_LOGGER_CLIENT + } else { + ret.Logger = pb.GrpcLogEntry_LOGGER_SERVER + } + return ret +} + +// ServerTrailer configs the binary log entry to be a ServerTrailer entry. +type ServerTrailer struct { + OnClientSide bool + Trailer metadata.MD + // Err is the status error. + Err error + // PeerAddr is required only when it's on client side and the RPC is trailer + // only. + PeerAddr net.Addr +} + +func (c *ServerTrailer) toProto() *pb.GrpcLogEntry { + st, ok := status.FromError(c.Err) + if !ok { + grpclog.Info("binarylogging: error in trailer is not a status error") + } + var ( + detailsBytes []byte + err error + ) + stProto := st.Proto() + if stProto != nil && len(stProto.Details) != 0 { + detailsBytes, err = proto.Marshal(stProto) + if err != nil { + grpclog.Infof("binarylogging: failed to marshal status proto: %v", err) + } + } + ret := &pb.GrpcLogEntry{ + Type: pb.GrpcLogEntry_EVENT_TYPE_SERVER_TRAILER, + Payload: &pb.GrpcLogEntry_Trailer{ + Trailer: &pb.Trailer{ + Metadata: mdToMetadataProto(c.Trailer), + StatusCode: uint32(st.Code()), + StatusMessage: st.Message(), + StatusDetails: detailsBytes, + }, + }, + } + if c.OnClientSide { + ret.Logger = pb.GrpcLogEntry_LOGGER_CLIENT + } else { + ret.Logger = pb.GrpcLogEntry_LOGGER_SERVER + } + if c.PeerAddr != nil { + ret.Peer = addrToProto(c.PeerAddr) + } + return ret +} + +// Cancel configs the binary log entry to be a Cancel entry. +type Cancel struct { + OnClientSide bool +} + +func (c *Cancel) toProto() *pb.GrpcLogEntry { + ret := &pb.GrpcLogEntry{ + Type: pb.GrpcLogEntry_EVENT_TYPE_CANCEL, + Payload: nil, + } + if c.OnClientSide { + ret.Logger = pb.GrpcLogEntry_LOGGER_CLIENT + } else { + ret.Logger = pb.GrpcLogEntry_LOGGER_SERVER + } + return ret +} + +// metadataKeyOmit returns whether the metadata entry with this key should be +// omitted. +func metadataKeyOmit(key string) bool { + switch key { + case "lb-token", ":path", ":authority", "content-encoding", "content-type", "user-agent", "te": + return true + case "grpc-trace-bin": // grpc-trace-bin is special because it's visiable to users. + return false + } + return strings.HasPrefix(key, "grpc-") +} + +func mdToMetadataProto(md metadata.MD) *pb.Metadata { + ret := &pb.Metadata{} + for k, vv := range md { + if metadataKeyOmit(k) { + continue + } + for _, v := range vv { + ret.Entry = append(ret.Entry, + &pb.MetadataEntry{ + Key: k, + Value: []byte(v), + }, + ) + } + } + return ret +} + +func addrToProto(addr net.Addr) *pb.Address { + ret := &pb.Address{} + switch a := addr.(type) { + case *net.TCPAddr: + if a.IP.To4() != nil { + ret.Type = pb.Address_TYPE_IPV4 + } else if a.IP.To16() != nil { + ret.Type = pb.Address_TYPE_IPV6 + } else { + ret.Type = pb.Address_TYPE_UNKNOWN + // Do not set address and port fields. + break + } + ret.Address = a.IP.String() + ret.IpPort = uint32(a.Port) + case *net.UnixAddr: + ret.Type = pb.Address_TYPE_UNIX + ret.Address = a.String() + default: + ret.Type = pb.Address_TYPE_UNKNOWN + } + return ret +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/regenerate.sh b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/regenerate.sh new file mode 100644 index 0000000..113d40c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/regenerate.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Copyright 2018 gRPC authors. +# +# 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. + +set -eux -o pipefail + +TMP=$(mktemp -d) + +function finish { + rm -rf "$TMP" +} +trap finish EXIT + +pushd "$TMP" +mkdir -p grpc/binarylog/grpc_binarylog_v1 +curl https://raw.githubusercontent.com/grpc/grpc-proto/master/grpc/binlog/v1/binarylog.proto > grpc/binarylog/grpc_binarylog_v1/binarylog.proto + +protoc --go_out=plugins=grpc,paths=source_relative:. -I. grpc/binarylog/grpc_binarylog_v1/*.proto +popd +rm -f ./grpc_binarylog_v1/*.pb.go +cp "$TMP"/grpc/binarylog/grpc_binarylog_v1/*.pb.go ../../binarylog/grpc_binarylog_v1/ + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/sink.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/sink.go new file mode 100644 index 0000000..20d044f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/sink.go @@ -0,0 +1,162 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package binarylog + +import ( + "bufio" + "encoding/binary" + "fmt" + "io" + "io/ioutil" + "sync" + "time" + + "github.com/golang/protobuf/proto" + pb "google.golang.org/grpc/binarylog/grpc_binarylog_v1" + "google.golang.org/grpc/grpclog" +) + +var ( + defaultSink Sink = &noopSink{} // TODO(blog): change this default (file in /tmp). +) + +// SetDefaultSink sets the sink where binary logs will be written to. +// +// Not thread safe. Only set during initialization. +func SetDefaultSink(s Sink) { + if defaultSink != nil { + defaultSink.Close() + } + defaultSink = s +} + +// Sink writes log entry into the binary log sink. +type Sink interface { + // Write will be called to write the log entry into the sink. + // + // It should be thread-safe so it can be called in parallel. + Write(*pb.GrpcLogEntry) error + // Close will be called when the Sink is replaced by a new Sink. + Close() error +} + +type noopSink struct{} + +func (ns *noopSink) Write(*pb.GrpcLogEntry) error { return nil } +func (ns *noopSink) Close() error { return nil } + +// newWriterSink creates a binary log sink with the given writer. +// +// Write() marshalls the proto message and writes it to the given writer. Each +// message is prefixed with a 4 byte big endian unsigned integer as the length. +// +// No buffer is done, Close() doesn't try to close the writer. +func newWriterSink(w io.Writer) *writerSink { + return &writerSink{out: w} +} + +type writerSink struct { + out io.Writer +} + +func (ws *writerSink) Write(e *pb.GrpcLogEntry) error { + b, err := proto.Marshal(e) + if err != nil { + grpclog.Infof("binary logging: failed to marshal proto message: %v", err) + } + hdr := make([]byte, 4) + binary.BigEndian.PutUint32(hdr, uint32(len(b))) + if _, err := ws.out.Write(hdr); err != nil { + return err + } + if _, err := ws.out.Write(b); err != nil { + return err + } + return nil +} + +func (ws *writerSink) Close() error { return nil } + +type bufWriteCloserSink struct { + mu sync.Mutex + closer io.Closer + out *writerSink // out is built on buf. + buf *bufio.Writer // buf is kept for flush. + + writeStartOnce sync.Once + writeTicker *time.Ticker +} + +func (fs *bufWriteCloserSink) Write(e *pb.GrpcLogEntry) error { + // Start the write loop when Write is called. + fs.writeStartOnce.Do(fs.startFlushGoroutine) + fs.mu.Lock() + if err := fs.out.Write(e); err != nil { + fs.mu.Unlock() + return err + } + fs.mu.Unlock() + return nil +} + +const ( + bufFlushDuration = 60 * time.Second +) + +func (fs *bufWriteCloserSink) startFlushGoroutine() { + fs.writeTicker = time.NewTicker(bufFlushDuration) + go func() { + for range fs.writeTicker.C { + fs.mu.Lock() + fs.buf.Flush() + fs.mu.Unlock() + } + }() +} + +func (fs *bufWriteCloserSink) Close() error { + if fs.writeTicker != nil { + fs.writeTicker.Stop() + } + fs.mu.Lock() + fs.buf.Flush() + fs.closer.Close() + fs.out.Close() + fs.mu.Unlock() + return nil +} + +func newBufWriteCloserSink(o io.WriteCloser) Sink { + bufW := bufio.NewWriter(o) + return &bufWriteCloserSink{ + closer: o, + out: newWriterSink(bufW), + buf: bufW, + } +} + +// NewTempFileSink creates a temp file and returns a Sink that writes to this +// file. +func NewTempFileSink() (Sink, error) { + tempFile, err := ioutil.TempFile("/tmp", "grpcgo_binarylog_*.txt") + if err != nil { + return nil, fmt.Errorf("failed to create temp file: %v", err) + } + return newBufWriteCloserSink(tempFile), nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/util.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/util.go new file mode 100644 index 0000000..15dc780 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/binarylog/util.go @@ -0,0 +1,41 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package binarylog + +import ( + "errors" + "strings" +) + +// parseMethodName splits service and method from the input. It expects format +// "/service/method". +// +// TODO: move to internal/grpcutil. +func parseMethodName(methodName string) (service, method string, _ error) { + if !strings.HasPrefix(methodName, "/") { + return "", "", errors.New("invalid method name: should start with /") + } + methodName = methodName[1:] + + pos := strings.LastIndex(methodName, "/") + if pos < 0 { + return "", "", errors.New("invalid method name: suffix /method is missing") + } + return methodName[:pos], methodName[pos+1:], nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/funcs.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/funcs.go new file mode 100644 index 0000000..f0744f9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/funcs.go @@ -0,0 +1,727 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package channelz defines APIs for enabling channelz service, entry +// registration/deletion, and accessing channelz data. It also defines channelz +// metric struct formats. +// +// All APIs in this package are experimental. +package channelz + +import ( + "fmt" + "sort" + "sync" + "sync/atomic" + "time" + + "google.golang.org/grpc/grpclog" +) + +const ( + defaultMaxTraceEntry int32 = 30 +) + +var ( + db dbWrapper + idGen idGenerator + // EntryPerPage defines the number of channelz entries to be shown on a web page. + EntryPerPage = int64(50) + curState int32 + maxTraceEntry = defaultMaxTraceEntry +) + +// TurnOn turns on channelz data collection. +func TurnOn() { + if !IsOn() { + NewChannelzStorage() + atomic.StoreInt32(&curState, 1) + } +} + +// IsOn returns whether channelz data collection is on. +func IsOn() bool { + return atomic.CompareAndSwapInt32(&curState, 1, 1) +} + +// SetMaxTraceEntry sets maximum number of trace entry per entity (i.e. channel/subchannel). +// Setting it to 0 will disable channel tracing. +func SetMaxTraceEntry(i int32) { + atomic.StoreInt32(&maxTraceEntry, i) +} + +// ResetMaxTraceEntryToDefault resets the maximum number of trace entry per entity to default. +func ResetMaxTraceEntryToDefault() { + atomic.StoreInt32(&maxTraceEntry, defaultMaxTraceEntry) +} + +func getMaxTraceEntry() int { + i := atomic.LoadInt32(&maxTraceEntry) + return int(i) +} + +// dbWarpper wraps around a reference to internal channelz data storage, and +// provide synchronized functionality to set and get the reference. +type dbWrapper struct { + mu sync.RWMutex + DB *channelMap +} + +func (d *dbWrapper) set(db *channelMap) { + d.mu.Lock() + d.DB = db + d.mu.Unlock() +} + +func (d *dbWrapper) get() *channelMap { + d.mu.RLock() + defer d.mu.RUnlock() + return d.DB +} + +// NewChannelzStorage initializes channelz data storage and id generator. +// +// This function returns a cleanup function to wait for all channelz state to be reset by the +// grpc goroutines when those entities get closed. By using this cleanup function, we make sure tests +// don't mess up each other, i.e. lingering goroutine from previous test doing entity removal happen +// to remove some entity just register by the new test, since the id space is the same. +// +// Note: This function is exported for testing purpose only. User should not call +// it in most cases. +func NewChannelzStorage() (cleanup func() error) { + db.set(&channelMap{ + topLevelChannels: make(map[int64]struct{}), + channels: make(map[int64]*channel), + listenSockets: make(map[int64]*listenSocket), + normalSockets: make(map[int64]*normalSocket), + servers: make(map[int64]*server), + subChannels: make(map[int64]*subChannel), + }) + idGen.reset() + return func() error { + var err error + cm := db.get() + if cm == nil { + return nil + } + for i := 0; i < 1000; i++ { + cm.mu.Lock() + if len(cm.topLevelChannels) == 0 && len(cm.servers) == 0 && len(cm.channels) == 0 && len(cm.subChannels) == 0 && len(cm.listenSockets) == 0 && len(cm.normalSockets) == 0 { + cm.mu.Unlock() + // all things stored in the channelz map have been cleared. + return nil + } + cm.mu.Unlock() + time.Sleep(10 * time.Millisecond) + } + + cm.mu.Lock() + err = fmt.Errorf("after 10s the channelz map has not been cleaned up yet, topchannels: %d, servers: %d, channels: %d, subchannels: %d, listen sockets: %d, normal sockets: %d", len(cm.topLevelChannels), len(cm.servers), len(cm.channels), len(cm.subChannels), len(cm.listenSockets), len(cm.normalSockets)) + cm.mu.Unlock() + return err + } +} + +// GetTopChannels returns a slice of top channel's ChannelMetric, along with a +// boolean indicating whether there's more top channels to be queried for. +// +// The arg id specifies that only top channel with id at or above it will be included +// in the result. The returned slice is up to a length of the arg maxResults or +// EntryPerPage if maxResults is zero, and is sorted in ascending id order. +func GetTopChannels(id int64, maxResults int64) ([]*ChannelMetric, bool) { + return db.get().GetTopChannels(id, maxResults) +} + +// GetServers returns a slice of server's ServerMetric, along with a +// boolean indicating whether there's more servers to be queried for. +// +// The arg id specifies that only server with id at or above it will be included +// in the result. The returned slice is up to a length of the arg maxResults or +// EntryPerPage if maxResults is zero, and is sorted in ascending id order. +func GetServers(id int64, maxResults int64) ([]*ServerMetric, bool) { + return db.get().GetServers(id, maxResults) +} + +// GetServerSockets returns a slice of server's (identified by id) normal socket's +// SocketMetric, along with a boolean indicating whether there's more sockets to +// be queried for. +// +// The arg startID specifies that only sockets with id at or above it will be +// included in the result. The returned slice is up to a length of the arg maxResults +// or EntryPerPage if maxResults is zero, and is sorted in ascending id order. +func GetServerSockets(id int64, startID int64, maxResults int64) ([]*SocketMetric, bool) { + return db.get().GetServerSockets(id, startID, maxResults) +} + +// GetChannel returns the ChannelMetric for the channel (identified by id). +func GetChannel(id int64) *ChannelMetric { + return db.get().GetChannel(id) +} + +// GetSubChannel returns the SubChannelMetric for the subchannel (identified by id). +func GetSubChannel(id int64) *SubChannelMetric { + return db.get().GetSubChannel(id) +} + +// GetSocket returns the SocketInternalMetric for the socket (identified by id). +func GetSocket(id int64) *SocketMetric { + return db.get().GetSocket(id) +} + +// GetServer returns the ServerMetric for the server (identified by id). +func GetServer(id int64) *ServerMetric { + return db.get().GetServer(id) +} + +// RegisterChannel registers the given channel c in channelz database with ref +// as its reference name, and add it to the child list of its parent (identified +// by pid). pid = 0 means no parent. It returns the unique channelz tracking id +// assigned to this channel. +func RegisterChannel(c Channel, pid int64, ref string) int64 { + id := idGen.genID() + cn := &channel{ + refName: ref, + c: c, + subChans: make(map[int64]string), + nestedChans: make(map[int64]string), + id: id, + pid: pid, + trace: &channelTrace{createdTime: time.Now(), events: make([]*TraceEvent, 0, getMaxTraceEntry())}, + } + if pid == 0 { + db.get().addChannel(id, cn, true, pid, ref) + } else { + db.get().addChannel(id, cn, false, pid, ref) + } + return id +} + +// RegisterSubChannel registers the given channel c in channelz database with ref +// as its reference name, and add it to the child list of its parent (identified +// by pid). It returns the unique channelz tracking id assigned to this subchannel. +func RegisterSubChannel(c Channel, pid int64, ref string) int64 { + if pid == 0 { + grpclog.Error("a SubChannel's parent id cannot be 0") + return 0 + } + id := idGen.genID() + sc := &subChannel{ + refName: ref, + c: c, + sockets: make(map[int64]string), + id: id, + pid: pid, + trace: &channelTrace{createdTime: time.Now(), events: make([]*TraceEvent, 0, getMaxTraceEntry())}, + } + db.get().addSubChannel(id, sc, pid, ref) + return id +} + +// RegisterServer registers the given server s in channelz database. It returns +// the unique channelz tracking id assigned to this server. +func RegisterServer(s Server, ref string) int64 { + id := idGen.genID() + svr := &server{ + refName: ref, + s: s, + sockets: make(map[int64]string), + listenSockets: make(map[int64]string), + id: id, + } + db.get().addServer(id, svr) + return id +} + +// RegisterListenSocket registers the given listen socket s in channelz database +// with ref as its reference name, and add it to the child list of its parent +// (identified by pid). It returns the unique channelz tracking id assigned to +// this listen socket. +func RegisterListenSocket(s Socket, pid int64, ref string) int64 { + if pid == 0 { + grpclog.Error("a ListenSocket's parent id cannot be 0") + return 0 + } + id := idGen.genID() + ls := &listenSocket{refName: ref, s: s, id: id, pid: pid} + db.get().addListenSocket(id, ls, pid, ref) + return id +} + +// RegisterNormalSocket registers the given normal socket s in channelz database +// with ref as its reference name, and add it to the child list of its parent +// (identified by pid). It returns the unique channelz tracking id assigned to +// this normal socket. +func RegisterNormalSocket(s Socket, pid int64, ref string) int64 { + if pid == 0 { + grpclog.Error("a NormalSocket's parent id cannot be 0") + return 0 + } + id := idGen.genID() + ns := &normalSocket{refName: ref, s: s, id: id, pid: pid} + db.get().addNormalSocket(id, ns, pid, ref) + return id +} + +// RemoveEntry removes an entry with unique channelz trakcing id to be id from +// channelz database. +func RemoveEntry(id int64) { + db.get().removeEntry(id) +} + +// TraceEventDesc is what the caller of AddTraceEvent should provide to describe the event to be added +// to the channel trace. +// The Parent field is optional. It is used for event that will be recorded in the entity's parent +// trace also. +type TraceEventDesc struct { + Desc string + Severity Severity + Parent *TraceEventDesc +} + +// AddTraceEvent adds trace related to the entity with specified id, using the provided TraceEventDesc. +func AddTraceEvent(id int64, desc *TraceEventDesc) { + if getMaxTraceEntry() == 0 { + return + } + db.get().traceEvent(id, desc) +} + +// channelMap is the storage data structure for channelz. +// Methods of channelMap can be divided in two two categories with respect to locking. +// 1. Methods acquire the global lock. +// 2. Methods that can only be called when global lock is held. +// A second type of method need always to be called inside a first type of method. +type channelMap struct { + mu sync.RWMutex + topLevelChannels map[int64]struct{} + servers map[int64]*server + channels map[int64]*channel + subChannels map[int64]*subChannel + listenSockets map[int64]*listenSocket + normalSockets map[int64]*normalSocket +} + +func (c *channelMap) addServer(id int64, s *server) { + c.mu.Lock() + s.cm = c + c.servers[id] = s + c.mu.Unlock() +} + +func (c *channelMap) addChannel(id int64, cn *channel, isTopChannel bool, pid int64, ref string) { + c.mu.Lock() + cn.cm = c + cn.trace.cm = c + c.channels[id] = cn + if isTopChannel { + c.topLevelChannels[id] = struct{}{} + } else { + c.findEntry(pid).addChild(id, cn) + } + c.mu.Unlock() +} + +func (c *channelMap) addSubChannel(id int64, sc *subChannel, pid int64, ref string) { + c.mu.Lock() + sc.cm = c + sc.trace.cm = c + c.subChannels[id] = sc + c.findEntry(pid).addChild(id, sc) + c.mu.Unlock() +} + +func (c *channelMap) addListenSocket(id int64, ls *listenSocket, pid int64, ref string) { + c.mu.Lock() + ls.cm = c + c.listenSockets[id] = ls + c.findEntry(pid).addChild(id, ls) + c.mu.Unlock() +} + +func (c *channelMap) addNormalSocket(id int64, ns *normalSocket, pid int64, ref string) { + c.mu.Lock() + ns.cm = c + c.normalSockets[id] = ns + c.findEntry(pid).addChild(id, ns) + c.mu.Unlock() +} + +// removeEntry triggers the removal of an entry, which may not indeed delete the entry, if it has to +// wait on the deletion of its children and until no other entity's channel trace references it. +// It may lead to a chain of entry deletion. For example, deleting the last socket of a gracefully +// shutting down server will lead to the server being also deleted. +func (c *channelMap) removeEntry(id int64) { + c.mu.Lock() + c.findEntry(id).triggerDelete() + c.mu.Unlock() +} + +// c.mu must be held by the caller +func (c *channelMap) decrTraceRefCount(id int64) { + e := c.findEntry(id) + if v, ok := e.(tracedChannel); ok { + v.decrTraceRefCount() + e.deleteSelfIfReady() + } +} + +// c.mu must be held by the caller. +func (c *channelMap) findEntry(id int64) entry { + var v entry + var ok bool + if v, ok = c.channels[id]; ok { + return v + } + if v, ok = c.subChannels[id]; ok { + return v + } + if v, ok = c.servers[id]; ok { + return v + } + if v, ok = c.listenSockets[id]; ok { + return v + } + if v, ok = c.normalSockets[id]; ok { + return v + } + return &dummyEntry{idNotFound: id} +} + +// c.mu must be held by the caller +// deleteEntry simply deletes an entry from the channelMap. Before calling this +// method, caller must check this entry is ready to be deleted, i.e removeEntry() +// has been called on it, and no children still exist. +// Conditionals are ordered by the expected frequency of deletion of each entity +// type, in order to optimize performance. +func (c *channelMap) deleteEntry(id int64) { + var ok bool + if _, ok = c.normalSockets[id]; ok { + delete(c.normalSockets, id) + return + } + if _, ok = c.subChannels[id]; ok { + delete(c.subChannels, id) + return + } + if _, ok = c.channels[id]; ok { + delete(c.channels, id) + delete(c.topLevelChannels, id) + return + } + if _, ok = c.listenSockets[id]; ok { + delete(c.listenSockets, id) + return + } + if _, ok = c.servers[id]; ok { + delete(c.servers, id) + return + } +} + +func (c *channelMap) traceEvent(id int64, desc *TraceEventDesc) { + c.mu.Lock() + child := c.findEntry(id) + childTC, ok := child.(tracedChannel) + if !ok { + c.mu.Unlock() + return + } + childTC.getChannelTrace().append(&TraceEvent{Desc: desc.Desc, Severity: desc.Severity, Timestamp: time.Now()}) + if desc.Parent != nil { + parent := c.findEntry(child.getParentID()) + var chanType RefChannelType + switch child.(type) { + case *channel: + chanType = RefChannel + case *subChannel: + chanType = RefSubChannel + } + if parentTC, ok := parent.(tracedChannel); ok { + parentTC.getChannelTrace().append(&TraceEvent{ + Desc: desc.Parent.Desc, + Severity: desc.Parent.Severity, + Timestamp: time.Now(), + RefID: id, + RefName: childTC.getRefName(), + RefType: chanType, + }) + childTC.incrTraceRefCount() + } + } + c.mu.Unlock() +} + +type int64Slice []int64 + +func (s int64Slice) Len() int { return len(s) } +func (s int64Slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s int64Slice) Less(i, j int) bool { return s[i] < s[j] } + +func copyMap(m map[int64]string) map[int64]string { + n := make(map[int64]string) + for k, v := range m { + n[k] = v + } + return n +} + +func min(a, b int64) int64 { + if a < b { + return a + } + return b +} + +func (c *channelMap) GetTopChannels(id int64, maxResults int64) ([]*ChannelMetric, bool) { + if maxResults <= 0 { + maxResults = EntryPerPage + } + c.mu.RLock() + l := int64(len(c.topLevelChannels)) + ids := make([]int64, 0, l) + cns := make([]*channel, 0, min(l, maxResults)) + + for k := range c.topLevelChannels { + ids = append(ids, k) + } + sort.Sort(int64Slice(ids)) + idx := sort.Search(len(ids), func(i int) bool { return ids[i] >= id }) + count := int64(0) + var end bool + var t []*ChannelMetric + for i, v := range ids[idx:] { + if count == maxResults { + break + } + if cn, ok := c.channels[v]; ok { + cns = append(cns, cn) + t = append(t, &ChannelMetric{ + NestedChans: copyMap(cn.nestedChans), + SubChans: copyMap(cn.subChans), + }) + count++ + } + if i == len(ids[idx:])-1 { + end = true + break + } + } + c.mu.RUnlock() + if count == 0 { + end = true + } + + for i, cn := range cns { + t[i].ChannelData = cn.c.ChannelzMetric() + t[i].ID = cn.id + t[i].RefName = cn.refName + t[i].Trace = cn.trace.dumpData() + } + return t, end +} + +func (c *channelMap) GetServers(id, maxResults int64) ([]*ServerMetric, bool) { + if maxResults <= 0 { + maxResults = EntryPerPage + } + c.mu.RLock() + l := int64(len(c.servers)) + ids := make([]int64, 0, l) + ss := make([]*server, 0, min(l, maxResults)) + for k := range c.servers { + ids = append(ids, k) + } + sort.Sort(int64Slice(ids)) + idx := sort.Search(len(ids), func(i int) bool { return ids[i] >= id }) + count := int64(0) + var end bool + var s []*ServerMetric + for i, v := range ids[idx:] { + if count == maxResults { + break + } + if svr, ok := c.servers[v]; ok { + ss = append(ss, svr) + s = append(s, &ServerMetric{ + ListenSockets: copyMap(svr.listenSockets), + }) + count++ + } + if i == len(ids[idx:])-1 { + end = true + break + } + } + c.mu.RUnlock() + if count == 0 { + end = true + } + + for i, svr := range ss { + s[i].ServerData = svr.s.ChannelzMetric() + s[i].ID = svr.id + s[i].RefName = svr.refName + } + return s, end +} + +func (c *channelMap) GetServerSockets(id int64, startID int64, maxResults int64) ([]*SocketMetric, bool) { + if maxResults <= 0 { + maxResults = EntryPerPage + } + var svr *server + var ok bool + c.mu.RLock() + if svr, ok = c.servers[id]; !ok { + // server with id doesn't exist. + c.mu.RUnlock() + return nil, true + } + svrskts := svr.sockets + l := int64(len(svrskts)) + ids := make([]int64, 0, l) + sks := make([]*normalSocket, 0, min(l, maxResults)) + for k := range svrskts { + ids = append(ids, k) + } + sort.Sort(int64Slice(ids)) + idx := sort.Search(len(ids), func(i int) bool { return ids[i] >= startID }) + count := int64(0) + var end bool + for i, v := range ids[idx:] { + if count == maxResults { + break + } + if ns, ok := c.normalSockets[v]; ok { + sks = append(sks, ns) + count++ + } + if i == len(ids[idx:])-1 { + end = true + break + } + } + c.mu.RUnlock() + if count == 0 { + end = true + } + var s []*SocketMetric + for _, ns := range sks { + sm := &SocketMetric{} + sm.SocketData = ns.s.ChannelzMetric() + sm.ID = ns.id + sm.RefName = ns.refName + s = append(s, sm) + } + return s, end +} + +func (c *channelMap) GetChannel(id int64) *ChannelMetric { + cm := &ChannelMetric{} + var cn *channel + var ok bool + c.mu.RLock() + if cn, ok = c.channels[id]; !ok { + // channel with id doesn't exist. + c.mu.RUnlock() + return nil + } + cm.NestedChans = copyMap(cn.nestedChans) + cm.SubChans = copyMap(cn.subChans) + // cn.c can be set to &dummyChannel{} when deleteSelfFromMap is called. Save a copy of cn.c when + // holding the lock to prevent potential data race. + chanCopy := cn.c + c.mu.RUnlock() + cm.ChannelData = chanCopy.ChannelzMetric() + cm.ID = cn.id + cm.RefName = cn.refName + cm.Trace = cn.trace.dumpData() + return cm +} + +func (c *channelMap) GetSubChannel(id int64) *SubChannelMetric { + cm := &SubChannelMetric{} + var sc *subChannel + var ok bool + c.mu.RLock() + if sc, ok = c.subChannels[id]; !ok { + // subchannel with id doesn't exist. + c.mu.RUnlock() + return nil + } + cm.Sockets = copyMap(sc.sockets) + // sc.c can be set to &dummyChannel{} when deleteSelfFromMap is called. Save a copy of sc.c when + // holding the lock to prevent potential data race. + chanCopy := sc.c + c.mu.RUnlock() + cm.ChannelData = chanCopy.ChannelzMetric() + cm.ID = sc.id + cm.RefName = sc.refName + cm.Trace = sc.trace.dumpData() + return cm +} + +func (c *channelMap) GetSocket(id int64) *SocketMetric { + sm := &SocketMetric{} + c.mu.RLock() + if ls, ok := c.listenSockets[id]; ok { + c.mu.RUnlock() + sm.SocketData = ls.s.ChannelzMetric() + sm.ID = ls.id + sm.RefName = ls.refName + return sm + } + if ns, ok := c.normalSockets[id]; ok { + c.mu.RUnlock() + sm.SocketData = ns.s.ChannelzMetric() + sm.ID = ns.id + sm.RefName = ns.refName + return sm + } + c.mu.RUnlock() + return nil +} + +func (c *channelMap) GetServer(id int64) *ServerMetric { + sm := &ServerMetric{} + var svr *server + var ok bool + c.mu.RLock() + if svr, ok = c.servers[id]; !ok { + c.mu.RUnlock() + return nil + } + sm.ListenSockets = copyMap(svr.listenSockets) + c.mu.RUnlock() + sm.ID = svr.id + sm.RefName = svr.refName + sm.ServerData = svr.s.ChannelzMetric() + return sm +} + +type idGenerator struct { + id int64 +} + +func (i *idGenerator) reset() { + atomic.StoreInt64(&i.id, 0) +} + +func (i *idGenerator) genID() int64 { + return atomic.AddInt64(&i.id, 1) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types.go new file mode 100644 index 0000000..17c2274 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types.go @@ -0,0 +1,702 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package channelz + +import ( + "net" + "sync" + "sync/atomic" + "time" + + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/grpclog" +) + +// entry represents a node in the channelz database. +type entry interface { + // addChild adds a child e, whose channelz id is id to child list + addChild(id int64, e entry) + // deleteChild deletes a child with channelz id to be id from child list + deleteChild(id int64) + // triggerDelete tries to delete self from channelz database. However, if child + // list is not empty, then deletion from the database is on hold until the last + // child is deleted from database. + triggerDelete() + // deleteSelfIfReady check whether triggerDelete() has been called before, and whether child + // list is now empty. If both conditions are met, then delete self from database. + deleteSelfIfReady() + // getParentID returns parent ID of the entry. 0 value parent ID means no parent. + getParentID() int64 +} + +// dummyEntry is a fake entry to handle entry not found case. +type dummyEntry struct { + idNotFound int64 +} + +func (d *dummyEntry) addChild(id int64, e entry) { + // Note: It is possible for a normal program to reach here under race condition. + // For example, there could be a race between ClientConn.Close() info being propagated + // to addrConn and http2Client. ClientConn.Close() cancel the context and result + // in http2Client to error. The error info is then caught by transport monitor + // and before addrConn.tearDown() is called in side ClientConn.Close(). Therefore, + // the addrConn will create a new transport. And when registering the new transport in + // channelz, its parent addrConn could have already been torn down and deleted + // from channelz tracking, and thus reach the code here. + grpclog.Infof("attempt to add child of type %T with id %d to a parent (id=%d) that doesn't currently exist", e, id, d.idNotFound) +} + +func (d *dummyEntry) deleteChild(id int64) { + // It is possible for a normal program to reach here under race condition. + // Refer to the example described in addChild(). + grpclog.Infof("attempt to delete child with id %d from a parent (id=%d) that doesn't currently exist", id, d.idNotFound) +} + +func (d *dummyEntry) triggerDelete() { + grpclog.Warningf("attempt to delete an entry (id=%d) that doesn't currently exist", d.idNotFound) +} + +func (*dummyEntry) deleteSelfIfReady() { + // code should not reach here. deleteSelfIfReady is always called on an existing entry. +} + +func (*dummyEntry) getParentID() int64 { + return 0 +} + +// ChannelMetric defines the info channelz provides for a specific Channel, which +// includes ChannelInternalMetric and channelz-specific data, such as channelz id, +// child list, etc. +type ChannelMetric struct { + // ID is the channelz id of this channel. + ID int64 + // RefName is the human readable reference string of this channel. + RefName string + // ChannelData contains channel internal metric reported by the channel through + // ChannelzMetric(). + ChannelData *ChannelInternalMetric + // NestedChans tracks the nested channel type children of this channel in the format of + // a map from nested channel channelz id to corresponding reference string. + NestedChans map[int64]string + // SubChans tracks the subchannel type children of this channel in the format of a + // map from subchannel channelz id to corresponding reference string. + SubChans map[int64]string + // Sockets tracks the socket type children of this channel in the format of a map + // from socket channelz id to corresponding reference string. + // Note current grpc implementation doesn't allow channel having sockets directly, + // therefore, this is field is unused. + Sockets map[int64]string + // Trace contains the most recent traced events. + Trace *ChannelTrace +} + +// SubChannelMetric defines the info channelz provides for a specific SubChannel, +// which includes ChannelInternalMetric and channelz-specific data, such as +// channelz id, child list, etc. +type SubChannelMetric struct { + // ID is the channelz id of this subchannel. + ID int64 + // RefName is the human readable reference string of this subchannel. + RefName string + // ChannelData contains subchannel internal metric reported by the subchannel + // through ChannelzMetric(). + ChannelData *ChannelInternalMetric + // NestedChans tracks the nested channel type children of this subchannel in the format of + // a map from nested channel channelz id to corresponding reference string. + // Note current grpc implementation doesn't allow subchannel to have nested channels + // as children, therefore, this field is unused. + NestedChans map[int64]string + // SubChans tracks the subchannel type children of this subchannel in the format of a + // map from subchannel channelz id to corresponding reference string. + // Note current grpc implementation doesn't allow subchannel to have subchannels + // as children, therefore, this field is unused. + SubChans map[int64]string + // Sockets tracks the socket type children of this subchannel in the format of a map + // from socket channelz id to corresponding reference string. + Sockets map[int64]string + // Trace contains the most recent traced events. + Trace *ChannelTrace +} + +// ChannelInternalMetric defines the struct that the implementor of Channel interface +// should return from ChannelzMetric(). +type ChannelInternalMetric struct { + // current connectivity state of the channel. + State connectivity.State + // The target this channel originally tried to connect to. May be absent + Target string + // The number of calls started on the channel. + CallsStarted int64 + // The number of calls that have completed with an OK status. + CallsSucceeded int64 + // The number of calls that have a completed with a non-OK status. + CallsFailed int64 + // The last time a call was started on the channel. + LastCallStartedTimestamp time.Time +} + +// ChannelTrace stores traced events on a channel/subchannel and related info. +type ChannelTrace struct { + // EventNum is the number of events that ever got traced (i.e. including those that have been deleted) + EventNum int64 + // CreationTime is the creation time of the trace. + CreationTime time.Time + // Events stores the most recent trace events (up to $maxTraceEntry, newer event will overwrite the + // oldest one) + Events []*TraceEvent +} + +// TraceEvent represent a single trace event +type TraceEvent struct { + // Desc is a simple description of the trace event. + Desc string + // Severity states the severity of this trace event. + Severity Severity + // Timestamp is the event time. + Timestamp time.Time + // RefID is the id of the entity that gets referenced in the event. RefID is 0 if no other entity is + // involved in this event. + // e.g. SubChannel (id: 4[]) Created. --> RefID = 4, RefName = "" (inside []) + RefID int64 + // RefName is the reference name for the entity that gets referenced in the event. + RefName string + // RefType indicates the referenced entity type, i.e Channel or SubChannel. + RefType RefChannelType +} + +// Channel is the interface that should be satisfied in order to be tracked by +// channelz as Channel or SubChannel. +type Channel interface { + ChannelzMetric() *ChannelInternalMetric +} + +type dummyChannel struct{} + +func (d *dummyChannel) ChannelzMetric() *ChannelInternalMetric { + return &ChannelInternalMetric{} +} + +type channel struct { + refName string + c Channel + closeCalled bool + nestedChans map[int64]string + subChans map[int64]string + id int64 + pid int64 + cm *channelMap + trace *channelTrace + // traceRefCount is the number of trace events that reference this channel. + // Non-zero traceRefCount means the trace of this channel cannot be deleted. + traceRefCount int32 +} + +func (c *channel) addChild(id int64, e entry) { + switch v := e.(type) { + case *subChannel: + c.subChans[id] = v.refName + case *channel: + c.nestedChans[id] = v.refName + default: + grpclog.Errorf("cannot add a child (id = %d) of type %T to a channel", id, e) + } +} + +func (c *channel) deleteChild(id int64) { + delete(c.subChans, id) + delete(c.nestedChans, id) + c.deleteSelfIfReady() +} + +func (c *channel) triggerDelete() { + c.closeCalled = true + c.deleteSelfIfReady() +} + +func (c *channel) getParentID() int64 { + return c.pid +} + +// deleteSelfFromTree tries to delete the channel from the channelz entry relation tree, which means +// deleting the channel reference from its parent's child list. +// +// In order for a channel to be deleted from the tree, it must meet the criteria that, removal of the +// corresponding grpc object has been invoked, and the channel does not have any children left. +// +// The returned boolean value indicates whether the channel has been successfully deleted from tree. +func (c *channel) deleteSelfFromTree() (deleted bool) { + if !c.closeCalled || len(c.subChans)+len(c.nestedChans) != 0 { + return false + } + // not top channel + if c.pid != 0 { + c.cm.findEntry(c.pid).deleteChild(c.id) + } + return true +} + +// deleteSelfFromMap checks whether it is valid to delete the channel from the map, which means +// deleting the channel from channelz's tracking entirely. Users can no longer use id to query the +// channel, and its memory will be garbage collected. +// +// The trace reference count of the channel must be 0 in order to be deleted from the map. This is +// specified in the channel tracing gRFC that as long as some other trace has reference to an entity, +// the trace of the referenced entity must not be deleted. In order to release the resource allocated +// by grpc, the reference to the grpc object is reset to a dummy object. +// +// deleteSelfFromMap must be called after deleteSelfFromTree returns true. +// +// It returns a bool to indicate whether the channel can be safely deleted from map. +func (c *channel) deleteSelfFromMap() (delete bool) { + if c.getTraceRefCount() != 0 { + c.c = &dummyChannel{} + return false + } + return true +} + +// deleteSelfIfReady tries to delete the channel itself from the channelz database. +// The delete process includes two steps: +// 1. delete the channel from the entry relation tree, i.e. delete the channel reference from its +// parent's child list. +// 2. delete the channel from the map, i.e. delete the channel entirely from channelz. Lookup by id +// will return entry not found error. +func (c *channel) deleteSelfIfReady() { + if !c.deleteSelfFromTree() { + return + } + if !c.deleteSelfFromMap() { + return + } + c.cm.deleteEntry(c.id) + c.trace.clear() +} + +func (c *channel) getChannelTrace() *channelTrace { + return c.trace +} + +func (c *channel) incrTraceRefCount() { + atomic.AddInt32(&c.traceRefCount, 1) +} + +func (c *channel) decrTraceRefCount() { + atomic.AddInt32(&c.traceRefCount, -1) +} + +func (c *channel) getTraceRefCount() int { + i := atomic.LoadInt32(&c.traceRefCount) + return int(i) +} + +func (c *channel) getRefName() string { + return c.refName +} + +type subChannel struct { + refName string + c Channel + closeCalled bool + sockets map[int64]string + id int64 + pid int64 + cm *channelMap + trace *channelTrace + traceRefCount int32 +} + +func (sc *subChannel) addChild(id int64, e entry) { + if v, ok := e.(*normalSocket); ok { + sc.sockets[id] = v.refName + } else { + grpclog.Errorf("cannot add a child (id = %d) of type %T to a subChannel", id, e) + } +} + +func (sc *subChannel) deleteChild(id int64) { + delete(sc.sockets, id) + sc.deleteSelfIfReady() +} + +func (sc *subChannel) triggerDelete() { + sc.closeCalled = true + sc.deleteSelfIfReady() +} + +func (sc *subChannel) getParentID() int64 { + return sc.pid +} + +// deleteSelfFromTree tries to delete the subchannel from the channelz entry relation tree, which +// means deleting the subchannel reference from its parent's child list. +// +// In order for a subchannel to be deleted from the tree, it must meet the criteria that, removal of +// the corresponding grpc object has been invoked, and the subchannel does not have any children left. +// +// The returned boolean value indicates whether the channel has been successfully deleted from tree. +func (sc *subChannel) deleteSelfFromTree() (deleted bool) { + if !sc.closeCalled || len(sc.sockets) != 0 { + return false + } + sc.cm.findEntry(sc.pid).deleteChild(sc.id) + return true +} + +// deleteSelfFromMap checks whether it is valid to delete the subchannel from the map, which means +// deleting the subchannel from channelz's tracking entirely. Users can no longer use id to query +// the subchannel, and its memory will be garbage collected. +// +// The trace reference count of the subchannel must be 0 in order to be deleted from the map. This is +// specified in the channel tracing gRFC that as long as some other trace has reference to an entity, +// the trace of the referenced entity must not be deleted. In order to release the resource allocated +// by grpc, the reference to the grpc object is reset to a dummy object. +// +// deleteSelfFromMap must be called after deleteSelfFromTree returns true. +// +// It returns a bool to indicate whether the channel can be safely deleted from map. +func (sc *subChannel) deleteSelfFromMap() (delete bool) { + if sc.getTraceRefCount() != 0 { + // free the grpc struct (i.e. addrConn) + sc.c = &dummyChannel{} + return false + } + return true +} + +// deleteSelfIfReady tries to delete the subchannel itself from the channelz database. +// The delete process includes two steps: +// 1. delete the subchannel from the entry relation tree, i.e. delete the subchannel reference from +// its parent's child list. +// 2. delete the subchannel from the map, i.e. delete the subchannel entirely from channelz. Lookup +// by id will return entry not found error. +func (sc *subChannel) deleteSelfIfReady() { + if !sc.deleteSelfFromTree() { + return + } + if !sc.deleteSelfFromMap() { + return + } + sc.cm.deleteEntry(sc.id) + sc.trace.clear() +} + +func (sc *subChannel) getChannelTrace() *channelTrace { + return sc.trace +} + +func (sc *subChannel) incrTraceRefCount() { + atomic.AddInt32(&sc.traceRefCount, 1) +} + +func (sc *subChannel) decrTraceRefCount() { + atomic.AddInt32(&sc.traceRefCount, -1) +} + +func (sc *subChannel) getTraceRefCount() int { + i := atomic.LoadInt32(&sc.traceRefCount) + return int(i) +} + +func (sc *subChannel) getRefName() string { + return sc.refName +} + +// SocketMetric defines the info channelz provides for a specific Socket, which +// includes SocketInternalMetric and channelz-specific data, such as channelz id, etc. +type SocketMetric struct { + // ID is the channelz id of this socket. + ID int64 + // RefName is the human readable reference string of this socket. + RefName string + // SocketData contains socket internal metric reported by the socket through + // ChannelzMetric(). + SocketData *SocketInternalMetric +} + +// SocketInternalMetric defines the struct that the implementor of Socket interface +// should return from ChannelzMetric(). +type SocketInternalMetric struct { + // The number of streams that have been started. + StreamsStarted int64 + // The number of streams that have ended successfully: + // On client side, receiving frame with eos bit set. + // On server side, sending frame with eos bit set. + StreamsSucceeded int64 + // The number of streams that have ended unsuccessfully: + // On client side, termination without receiving frame with eos bit set. + // On server side, termination without sending frame with eos bit set. + StreamsFailed int64 + // The number of messages successfully sent on this socket. + MessagesSent int64 + MessagesReceived int64 + // The number of keep alives sent. This is typically implemented with HTTP/2 + // ping messages. + KeepAlivesSent int64 + // The last time a stream was created by this endpoint. Usually unset for + // servers. + LastLocalStreamCreatedTimestamp time.Time + // The last time a stream was created by the remote endpoint. Usually unset + // for clients. + LastRemoteStreamCreatedTimestamp time.Time + // The last time a message was sent by this endpoint. + LastMessageSentTimestamp time.Time + // The last time a message was received by this endpoint. + LastMessageReceivedTimestamp time.Time + // The amount of window, granted to the local endpoint by the remote endpoint. + // This may be slightly out of date due to network latency. This does NOT + // include stream level or TCP level flow control info. + LocalFlowControlWindow int64 + // The amount of window, granted to the remote endpoint by the local endpoint. + // This may be slightly out of date due to network latency. This does NOT + // include stream level or TCP level flow control info. + RemoteFlowControlWindow int64 + // The locally bound address. + LocalAddr net.Addr + // The remote bound address. May be absent. + RemoteAddr net.Addr + // Optional, represents the name of the remote endpoint, if different than + // the original target name. + RemoteName string + SocketOptions *SocketOptionData + Security credentials.ChannelzSecurityValue +} + +// Socket is the interface that should be satisfied in order to be tracked by +// channelz as Socket. +type Socket interface { + ChannelzMetric() *SocketInternalMetric +} + +type listenSocket struct { + refName string + s Socket + id int64 + pid int64 + cm *channelMap +} + +func (ls *listenSocket) addChild(id int64, e entry) { + grpclog.Errorf("cannot add a child (id = %d) of type %T to a listen socket", id, e) +} + +func (ls *listenSocket) deleteChild(id int64) { + grpclog.Errorf("cannot delete a child (id = %d) from a listen socket", id) +} + +func (ls *listenSocket) triggerDelete() { + ls.cm.deleteEntry(ls.id) + ls.cm.findEntry(ls.pid).deleteChild(ls.id) +} + +func (ls *listenSocket) deleteSelfIfReady() { + grpclog.Errorf("cannot call deleteSelfIfReady on a listen socket") +} + +func (ls *listenSocket) getParentID() int64 { + return ls.pid +} + +type normalSocket struct { + refName string + s Socket + id int64 + pid int64 + cm *channelMap +} + +func (ns *normalSocket) addChild(id int64, e entry) { + grpclog.Errorf("cannot add a child (id = %d) of type %T to a normal socket", id, e) +} + +func (ns *normalSocket) deleteChild(id int64) { + grpclog.Errorf("cannot delete a child (id = %d) from a normal socket", id) +} + +func (ns *normalSocket) triggerDelete() { + ns.cm.deleteEntry(ns.id) + ns.cm.findEntry(ns.pid).deleteChild(ns.id) +} + +func (ns *normalSocket) deleteSelfIfReady() { + grpclog.Errorf("cannot call deleteSelfIfReady on a normal socket") +} + +func (ns *normalSocket) getParentID() int64 { + return ns.pid +} + +// ServerMetric defines the info channelz provides for a specific Server, which +// includes ServerInternalMetric and channelz-specific data, such as channelz id, +// child list, etc. +type ServerMetric struct { + // ID is the channelz id of this server. + ID int64 + // RefName is the human readable reference string of this server. + RefName string + // ServerData contains server internal metric reported by the server through + // ChannelzMetric(). + ServerData *ServerInternalMetric + // ListenSockets tracks the listener socket type children of this server in the + // format of a map from socket channelz id to corresponding reference string. + ListenSockets map[int64]string +} + +// ServerInternalMetric defines the struct that the implementor of Server interface +// should return from ChannelzMetric(). +type ServerInternalMetric struct { + // The number of incoming calls started on the server. + CallsStarted int64 + // The number of incoming calls that have completed with an OK status. + CallsSucceeded int64 + // The number of incoming calls that have a completed with a non-OK status. + CallsFailed int64 + // The last time a call was started on the server. + LastCallStartedTimestamp time.Time +} + +// Server is the interface to be satisfied in order to be tracked by channelz as +// Server. +type Server interface { + ChannelzMetric() *ServerInternalMetric +} + +type server struct { + refName string + s Server + closeCalled bool + sockets map[int64]string + listenSockets map[int64]string + id int64 + cm *channelMap +} + +func (s *server) addChild(id int64, e entry) { + switch v := e.(type) { + case *normalSocket: + s.sockets[id] = v.refName + case *listenSocket: + s.listenSockets[id] = v.refName + default: + grpclog.Errorf("cannot add a child (id = %d) of type %T to a server", id, e) + } +} + +func (s *server) deleteChild(id int64) { + delete(s.sockets, id) + delete(s.listenSockets, id) + s.deleteSelfIfReady() +} + +func (s *server) triggerDelete() { + s.closeCalled = true + s.deleteSelfIfReady() +} + +func (s *server) deleteSelfIfReady() { + if !s.closeCalled || len(s.sockets)+len(s.listenSockets) != 0 { + return + } + s.cm.deleteEntry(s.id) +} + +func (s *server) getParentID() int64 { + return 0 +} + +type tracedChannel interface { + getChannelTrace() *channelTrace + incrTraceRefCount() + decrTraceRefCount() + getRefName() string +} + +type channelTrace struct { + cm *channelMap + createdTime time.Time + eventCount int64 + mu sync.Mutex + events []*TraceEvent +} + +func (c *channelTrace) append(e *TraceEvent) { + c.mu.Lock() + if len(c.events) == getMaxTraceEntry() { + del := c.events[0] + c.events = c.events[1:] + if del.RefID != 0 { + // start recursive cleanup in a goroutine to not block the call originated from grpc. + go func() { + // need to acquire c.cm.mu lock to call the unlocked attemptCleanup func. + c.cm.mu.Lock() + c.cm.decrTraceRefCount(del.RefID) + c.cm.mu.Unlock() + }() + } + } + e.Timestamp = time.Now() + c.events = append(c.events, e) + c.eventCount++ + c.mu.Unlock() +} + +func (c *channelTrace) clear() { + c.mu.Lock() + for _, e := range c.events { + if e.RefID != 0 { + // caller should have already held the c.cm.mu lock. + c.cm.decrTraceRefCount(e.RefID) + } + } + c.mu.Unlock() +} + +// Severity is the severity level of a trace event. +// The canonical enumeration of all valid values is here: +// https://github.com/grpc/grpc-proto/blob/9b13d199cc0d4703c7ea26c9c330ba695866eb23/grpc/channelz/v1/channelz.proto#L126. +type Severity int + +const ( + // CtUNKNOWN indicates unknown severity of a trace event. + CtUNKNOWN Severity = iota + // CtINFO indicates info level severity of a trace event. + CtINFO + // CtWarning indicates warning level severity of a trace event. + CtWarning + // CtError indicates error level severity of a trace event. + CtError +) + +// RefChannelType is the type of the entity being referenced in a trace event. +type RefChannelType int + +const ( + // RefChannel indicates the referenced entity is a Channel. + RefChannel RefChannelType = iota + // RefSubChannel indicates the referenced entity is a SubChannel. + RefSubChannel +) + +func (c *channelTrace) dumpData() *ChannelTrace { + c.mu.Lock() + ct := &ChannelTrace{EventNum: c.eventCount, CreationTime: c.createdTime} + ct.Events = c.events[:len(c.events)] + c.mu.Unlock() + return ct +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_linux.go new file mode 100644 index 0000000..692dd61 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_linux.go @@ -0,0 +1,53 @@ +// +build !appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package channelz + +import ( + "syscall" + + "golang.org/x/sys/unix" +) + +// SocketOptionData defines the struct to hold socket option data, and related +// getter function to obtain info from fd. +type SocketOptionData struct { + Linger *unix.Linger + RecvTimeout *unix.Timeval + SendTimeout *unix.Timeval + TCPInfo *unix.TCPInfo +} + +// Getsockopt defines the function to get socket options requested by channelz. +// It is to be passed to syscall.RawConn.Control(). +func (s *SocketOptionData) Getsockopt(fd uintptr) { + if v, err := unix.GetsockoptLinger(int(fd), syscall.SOL_SOCKET, syscall.SO_LINGER); err == nil { + s.Linger = v + } + if v, err := unix.GetsockoptTimeval(int(fd), syscall.SOL_SOCKET, syscall.SO_RCVTIMEO); err == nil { + s.RecvTimeout = v + } + if v, err := unix.GetsockoptTimeval(int(fd), syscall.SOL_SOCKET, syscall.SO_SNDTIMEO); err == nil { + s.SendTimeout = v + } + if v, err := unix.GetsockoptTCPInfo(int(fd), syscall.SOL_TCP, syscall.TCP_INFO); err == nil { + s.TCPInfo = v + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go new file mode 100644 index 0000000..79edbef --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go @@ -0,0 +1,44 @@ +// +build !linux appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package channelz + +import ( + "sync" + + "google.golang.org/grpc/grpclog" +) + +var once sync.Once + +// SocketOptionData defines the struct to hold socket option data, and related +// getter function to obtain info from fd. +// Windows OS doesn't support Socket Option +type SocketOptionData struct { +} + +// Getsockopt defines the function to get socket options requested by channelz. +// It is to be passed to syscall.RawConn.Control(). +// Windows OS doesn't support Socket Option +func (s *SocketOptionData) Getsockopt(fd uintptr) { + once.Do(func() { + grpclog.Warningln("Channelz: socket options are not supported on non-linux os and appengine.") + }) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_linux.go new file mode 100644 index 0000000..fdf409d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_linux.go @@ -0,0 +1,39 @@ +// +build linux,!appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package channelz + +import ( + "syscall" +) + +// GetSocketOption gets the socket option info of the conn. +func GetSocketOption(socket interface{}) *SocketOptionData { + c, ok := socket.(syscall.Conn) + if !ok { + return nil + } + data := &SocketOptionData{} + if rawConn, err := c.SyscallConn(); err == nil { + rawConn.Control(data.Getsockopt) + return data + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go new file mode 100644 index 0000000..8864a08 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go @@ -0,0 +1,26 @@ +// +build !linux appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package channelz + +// GetSocketOption gets the socket option info of the conn. +func GetSocketOption(c interface{}) *SocketOptionData { + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go new file mode 100644 index 0000000..3ee8740 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go @@ -0,0 +1,35 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package envconfig contains grpc settings configured by environment variables. +package envconfig + +import ( + "os" + "strings" +) + +const ( + prefix = "GRPC_GO_" + retryStr = prefix + "RETRY" +) + +var ( + // Retry is set if retry is explicitly enabled via "GRPC_GO_RETRY=on". + Retry = strings.EqualFold(os.Getenv(retryStr), "on") +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcrand/grpcrand.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcrand/grpcrand.go new file mode 100644 index 0000000..200b115 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcrand/grpcrand.go @@ -0,0 +1,56 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package grpcrand implements math/rand functions in a concurrent-safe way +// with a global random source, independent of math/rand's global source. +package grpcrand + +import ( + "math/rand" + "sync" + "time" +) + +var ( + r = rand.New(rand.NewSource(time.Now().UnixNano())) + mu sync.Mutex +) + +// Int63n implements rand.Int63n on the grpcrand global source. +func Int63n(n int64) int64 { + mu.Lock() + res := r.Int63n(n) + mu.Unlock() + return res +} + +// Intn implements rand.Intn on the grpcrand global source. +func Intn(n int) int { + mu.Lock() + res := r.Intn(n) + mu.Unlock() + return res +} + +// Float64 implements rand.Float64 on the grpcrand global source. +func Float64() float64 { + mu.Lock() + res := r.Float64() + mu.Unlock() + return res +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcsync/event.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcsync/event.go new file mode 100644 index 0000000..fbe697c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/grpcsync/event.go @@ -0,0 +1,61 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package grpcsync implements additional synchronization primitives built upon +// the sync package. +package grpcsync + +import ( + "sync" + "sync/atomic" +) + +// Event represents a one-time event that may occur in the future. +type Event struct { + fired int32 + c chan struct{} + o sync.Once +} + +// Fire causes e to complete. It is safe to call multiple times, and +// concurrently. It returns true iff this call to Fire caused the signaling +// channel returned by Done to close. +func (e *Event) Fire() bool { + ret := false + e.o.Do(func() { + atomic.StoreInt32(&e.fired, 1) + close(e.c) + ret = true + }) + return ret +} + +// Done returns a channel that will be closed when Fire is called. +func (e *Event) Done() <-chan struct{} { + return e.c +} + +// HasFired returns true if Fire has been called. +func (e *Event) HasFired() bool { + return atomic.LoadInt32(&e.fired) == 1 +} + +// NewEvent returns a new, ready-to-use Event. +func NewEvent() *Event { + return &Event{c: make(chan struct{})} +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/internal.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/internal.go new file mode 100644 index 0000000..bc1f99a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/internal.go @@ -0,0 +1,71 @@ +/* + * Copyright 2016 gRPC authors. + * + * 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. + * + */ + +// Package internal contains gRPC-internal code, to avoid polluting +// the godoc of the top-level grpc package. It must not import any grpc +// symbols to avoid circular dependencies. +package internal + +import ( + "context" + "time" + + "google.golang.org/grpc/connectivity" +) + +var ( + // WithResolverBuilder is exported by dialoptions.go + WithResolverBuilder interface{} // func (resolver.Builder) grpc.DialOption + // WithHealthCheckFunc is not exported by dialoptions.go + WithHealthCheckFunc interface{} // func (HealthChecker) DialOption + // HealthCheckFunc is used to provide client-side LB channel health checking + HealthCheckFunc HealthChecker + // BalancerUnregister is exported by package balancer to unregister a balancer. + BalancerUnregister func(name string) + // KeepaliveMinPingTime is the minimum ping interval. This must be 10s by + // default, but tests may wish to set it lower for convenience. + KeepaliveMinPingTime = 10 * time.Second + // ParseServiceConfig is a function to parse JSON service configs into + // opaque data structures. + ParseServiceConfig func(sc string) (interface{}, error) + // StatusRawProto is exported by status/status.go. This func returns a + // pointer to the wrapped Status proto for a given status.Status without a + // call to proto.Clone(). The returned Status proto should not be mutated by + // the caller. + StatusRawProto interface{} // func (*status.Status) *spb.Status +) + +// HealthChecker defines the signature of the client-side LB channel health checking function. +// +// The implementation is expected to create a health checking RPC stream by +// calling newStream(), watch for the health status of serviceName, and report +// it's health back by calling setConnectivityState(). +// +// The health checking protocol is defined at: +// https://github.com/grpc/grpc/blob/master/doc/health-checking.md +type HealthChecker func(ctx context.Context, newStream func(string) (interface{}, error), setConnectivityState func(connectivity.State), serviceName string) error + +const ( + // CredsBundleModeFallback switches GoogleDefaultCreds to fallback mode. + CredsBundleModeFallback = "fallback" + // CredsBundleModeBalancer switches GoogleDefaultCreds to grpclb balancer + // mode. + CredsBundleModeBalancer = "balancer" + // CredsBundleModeBackendFromBalancer switches GoogleDefaultCreds to mode + // that supports backend returned by grpclb balancer. + CredsBundleModeBackendFromBalancer = "backend-from-balancer" +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go new file mode 100644 index 0000000..43281a3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go @@ -0,0 +1,114 @@ +// +build !appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package syscall provides functionalities that grpc uses to get low-level operating system +// stats/info. +package syscall + +import ( + "fmt" + "net" + "syscall" + "time" + + "golang.org/x/sys/unix" + "google.golang.org/grpc/grpclog" +) + +// GetCPUTime returns the how much CPU time has passed since the start of this process. +func GetCPUTime() int64 { + var ts unix.Timespec + if err := unix.ClockGettime(unix.CLOCK_PROCESS_CPUTIME_ID, &ts); err != nil { + grpclog.Fatal(err) + } + return ts.Nano() +} + +// Rusage is an alias for syscall.Rusage under linux non-appengine environment. +type Rusage syscall.Rusage + +// GetRusage returns the resource usage of current process. +func GetRusage() (rusage *Rusage) { + rusage = new(Rusage) + syscall.Getrusage(syscall.RUSAGE_SELF, (*syscall.Rusage)(rusage)) + return +} + +// CPUTimeDiff returns the differences of user CPU time and system CPU time used +// between two Rusage structs. +func CPUTimeDiff(first *Rusage, latest *Rusage) (float64, float64) { + f := (*syscall.Rusage)(first) + l := (*syscall.Rusage)(latest) + var ( + utimeDiffs = l.Utime.Sec - f.Utime.Sec + utimeDiffus = l.Utime.Usec - f.Utime.Usec + stimeDiffs = l.Stime.Sec - f.Stime.Sec + stimeDiffus = l.Stime.Usec - f.Stime.Usec + ) + + uTimeElapsed := float64(utimeDiffs) + float64(utimeDiffus)*1.0e-6 + sTimeElapsed := float64(stimeDiffs) + float64(stimeDiffus)*1.0e-6 + + return uTimeElapsed, sTimeElapsed +} + +// SetTCPUserTimeout sets the TCP user timeout on a connection's socket +func SetTCPUserTimeout(conn net.Conn, timeout time.Duration) error { + tcpconn, ok := conn.(*net.TCPConn) + if !ok { + // not a TCP connection. exit early + return nil + } + rawConn, err := tcpconn.SyscallConn() + if err != nil { + return fmt.Errorf("error getting raw connection: %v", err) + } + err = rawConn.Control(func(fd uintptr) { + err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_TCP, unix.TCP_USER_TIMEOUT, int(timeout/time.Millisecond)) + }) + if err != nil { + return fmt.Errorf("error setting option on socket: %v", err) + } + + return nil +} + +// GetTCPUserTimeout gets the TCP user timeout on a connection's socket +func GetTCPUserTimeout(conn net.Conn) (opt int, err error) { + tcpconn, ok := conn.(*net.TCPConn) + if !ok { + err = fmt.Errorf("conn is not *net.TCPConn. got %T", conn) + return + } + rawConn, err := tcpconn.SyscallConn() + if err != nil { + err = fmt.Errorf("error getting raw connection: %v", err) + return + } + err = rawConn.Control(func(fd uintptr) { + opt, err = syscall.GetsockoptInt(int(fd), syscall.IPPROTO_TCP, unix.TCP_USER_TIMEOUT) + }) + if err != nil { + err = fmt.Errorf("error getting option on socket: %v", err) + return + } + + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go new file mode 100644 index 0000000..d3fd9da --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go @@ -0,0 +1,73 @@ +// +build !linux appengine + +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package syscall + +import ( + "net" + "sync" + "time" + + "google.golang.org/grpc/grpclog" +) + +var once sync.Once + +func log() { + once.Do(func() { + grpclog.Info("CPU time info is unavailable on non-linux or appengine environment.") + }) +} + +// GetCPUTime returns the how much CPU time has passed since the start of this process. +// It always returns 0 under non-linux or appengine environment. +func GetCPUTime() int64 { + log() + return 0 +} + +// Rusage is an empty struct under non-linux or appengine environment. +type Rusage struct{} + +// GetRusage is a no-op function under non-linux or appengine environment. +func GetRusage() (rusage *Rusage) { + log() + return nil +} + +// CPUTimeDiff returns the differences of user CPU time and system CPU time used +// between two Rusage structs. It a no-op function for non-linux or appengine environment. +func CPUTimeDiff(first *Rusage, latest *Rusage) (float64, float64) { + log() + return 0, 0 +} + +// SetTCPUserTimeout is a no-op function under non-linux or appengine environments +func SetTCPUserTimeout(conn net.Conn, timeout time.Duration) error { + log() + return nil +} + +// GetTCPUserTimeout is a no-op function under non-linux or appengine environments +// a negative return value indicates the operation is not supported +func GetTCPUserTimeout(conn net.Conn) (int, error) { + log() + return -1, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/bdp_estimator.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/bdp_estimator.go new file mode 100644 index 0000000..070680e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/bdp_estimator.go @@ -0,0 +1,141 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package transport + +import ( + "sync" + "time" +) + +const ( + // bdpLimit is the maximum value the flow control windows will be increased + // to. TCP typically limits this to 4MB, but some systems go up to 16MB. + // Since this is only a limit, it is safe to make it optimistic. + bdpLimit = (1 << 20) * 16 + // alpha is a constant factor used to keep a moving average + // of RTTs. + alpha = 0.9 + // If the current bdp sample is greater than or equal to + // our beta * our estimated bdp and the current bandwidth + // sample is the maximum bandwidth observed so far, we + // increase our bbp estimate by a factor of gamma. + beta = 0.66 + // To put our bdp to be smaller than or equal to twice the real BDP, + // we should multiply our current sample with 4/3, however to round things out + // we use 2 as the multiplication factor. + gamma = 2 +) + +// Adding arbitrary data to ping so that its ack can be identified. +// Easter-egg: what does the ping message say? +var bdpPing = &ping{data: [8]byte{2, 4, 16, 16, 9, 14, 7, 7}} + +type bdpEstimator struct { + // sentAt is the time when the ping was sent. + sentAt time.Time + + mu sync.Mutex + // bdp is the current bdp estimate. + bdp uint32 + // sample is the number of bytes received in one measurement cycle. + sample uint32 + // bwMax is the maximum bandwidth noted so far (bytes/sec). + bwMax float64 + // bool to keep track of the beginning of a new measurement cycle. + isSent bool + // Callback to update the window sizes. + updateFlowControl func(n uint32) + // sampleCount is the number of samples taken so far. + sampleCount uint64 + // round trip time (seconds) + rtt float64 +} + +// timesnap registers the time bdp ping was sent out so that +// network rtt can be calculated when its ack is received. +// It is called (by controller) when the bdpPing is +// being written on the wire. +func (b *bdpEstimator) timesnap(d [8]byte) { + if bdpPing.data != d { + return + } + b.sentAt = time.Now() +} + +// add adds bytes to the current sample for calculating bdp. +// It returns true only if a ping must be sent. This can be used +// by the caller (handleData) to make decision about batching +// a window update with it. +func (b *bdpEstimator) add(n uint32) bool { + b.mu.Lock() + defer b.mu.Unlock() + if b.bdp == bdpLimit { + return false + } + if !b.isSent { + b.isSent = true + b.sample = n + b.sentAt = time.Time{} + b.sampleCount++ + return true + } + b.sample += n + return false +} + +// calculate is called when an ack for a bdp ping is received. +// Here we calculate the current bdp and bandwidth sample and +// decide if the flow control windows should go up. +func (b *bdpEstimator) calculate(d [8]byte) { + // Check if the ping acked for was the bdp ping. + if bdpPing.data != d { + return + } + b.mu.Lock() + rttSample := time.Since(b.sentAt).Seconds() + if b.sampleCount < 10 { + // Bootstrap rtt with an average of first 10 rtt samples. + b.rtt += (rttSample - b.rtt) / float64(b.sampleCount) + } else { + // Heed to the recent past more. + b.rtt += (rttSample - b.rtt) * float64(alpha) + } + b.isSent = false + // The number of bytes accumulated so far in the sample is smaller + // than or equal to 1.5 times the real BDP on a saturated connection. + bwCurrent := float64(b.sample) / (b.rtt * float64(1.5)) + if bwCurrent > b.bwMax { + b.bwMax = bwCurrent + } + // If the current sample (which is smaller than or equal to the 1.5 times the real BDP) is + // greater than or equal to 2/3rd our perceived bdp AND this is the maximum bandwidth seen so far, we + // should update our perception of the network BDP. + if float64(b.sample) >= beta*float64(b.bdp) && bwCurrent == b.bwMax && b.bdp != bdpLimit { + sampleFloat := float64(b.sample) + b.bdp = uint32(gamma * sampleFloat) + if b.bdp > bdpLimit { + b.bdp = bdpLimit + } + bdp := b.bdp + b.mu.Unlock() + b.updateFlowControl(bdp) + return + } + b.mu.Unlock() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/controlbuf.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/controlbuf.go new file mode 100644 index 0000000..b8e0aa4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/controlbuf.go @@ -0,0 +1,930 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package transport + +import ( + "bytes" + "fmt" + "runtime" + "sync" + "sync/atomic" + + "golang.org/x/net/http2" + "golang.org/x/net/http2/hpack" +) + +var updateHeaderTblSize = func(e *hpack.Encoder, v uint32) { + e.SetMaxDynamicTableSizeLimit(v) +} + +type itemNode struct { + it interface{} + next *itemNode +} + +type itemList struct { + head *itemNode + tail *itemNode +} + +func (il *itemList) enqueue(i interface{}) { + n := &itemNode{it: i} + if il.tail == nil { + il.head, il.tail = n, n + return + } + il.tail.next = n + il.tail = n +} + +// peek returns the first item in the list without removing it from the +// list. +func (il *itemList) peek() interface{} { + return il.head.it +} + +func (il *itemList) dequeue() interface{} { + if il.head == nil { + return nil + } + i := il.head.it + il.head = il.head.next + if il.head == nil { + il.tail = nil + } + return i +} + +func (il *itemList) dequeueAll() *itemNode { + h := il.head + il.head, il.tail = nil, nil + return h +} + +func (il *itemList) isEmpty() bool { + return il.head == nil +} + +// The following defines various control items which could flow through +// the control buffer of transport. They represent different aspects of +// control tasks, e.g., flow control, settings, streaming resetting, etc. + +// maxQueuedTransportResponseFrames is the most queued "transport response" +// frames we will buffer before preventing new reads from occurring on the +// transport. These are control frames sent in response to client requests, +// such as RST_STREAM due to bad headers or settings acks. +const maxQueuedTransportResponseFrames = 50 + +type cbItem interface { + isTransportResponseFrame() bool +} + +// registerStream is used to register an incoming stream with loopy writer. +type registerStream struct { + streamID uint32 + wq *writeQuota +} + +func (*registerStream) isTransportResponseFrame() bool { return false } + +// headerFrame is also used to register stream on the client-side. +type headerFrame struct { + streamID uint32 + hf []hpack.HeaderField + endStream bool // Valid on server side. + initStream func(uint32) (bool, error) // Used only on the client side. + onWrite func() + wq *writeQuota // write quota for the stream created. + cleanup *cleanupStream // Valid on the server side. + onOrphaned func(error) // Valid on client-side +} + +func (h *headerFrame) isTransportResponseFrame() bool { + return h.cleanup != nil && h.cleanup.rst // Results in a RST_STREAM +} + +type cleanupStream struct { + streamID uint32 + rst bool + rstCode http2.ErrCode + onWrite func() +} + +func (c *cleanupStream) isTransportResponseFrame() bool { return c.rst } // Results in a RST_STREAM + +type dataFrame struct { + streamID uint32 + endStream bool + h []byte + d []byte + // onEachWrite is called every time + // a part of d is written out. + onEachWrite func() +} + +func (*dataFrame) isTransportResponseFrame() bool { return false } + +type incomingWindowUpdate struct { + streamID uint32 + increment uint32 +} + +func (*incomingWindowUpdate) isTransportResponseFrame() bool { return false } + +type outgoingWindowUpdate struct { + streamID uint32 + increment uint32 +} + +func (*outgoingWindowUpdate) isTransportResponseFrame() bool { + return false // window updates are throttled by thresholds +} + +type incomingSettings struct { + ss []http2.Setting +} + +func (*incomingSettings) isTransportResponseFrame() bool { return true } // Results in a settings ACK + +type outgoingSettings struct { + ss []http2.Setting +} + +func (*outgoingSettings) isTransportResponseFrame() bool { return false } + +type incomingGoAway struct { +} + +func (*incomingGoAway) isTransportResponseFrame() bool { return false } + +type goAway struct { + code http2.ErrCode + debugData []byte + headsUp bool + closeConn bool +} + +func (*goAway) isTransportResponseFrame() bool { return false } + +type ping struct { + ack bool + data [8]byte +} + +func (*ping) isTransportResponseFrame() bool { return true } + +type outFlowControlSizeRequest struct { + resp chan uint32 +} + +func (*outFlowControlSizeRequest) isTransportResponseFrame() bool { return false } + +type outStreamState int + +const ( + active outStreamState = iota + empty + waitingOnStreamQuota +) + +type outStream struct { + id uint32 + state outStreamState + itl *itemList + bytesOutStanding int + wq *writeQuota + + next *outStream + prev *outStream +} + +func (s *outStream) deleteSelf() { + if s.prev != nil { + s.prev.next = s.next + } + if s.next != nil { + s.next.prev = s.prev + } + s.next, s.prev = nil, nil +} + +type outStreamList struct { + // Following are sentinel objects that mark the + // beginning and end of the list. They do not + // contain any item lists. All valid objects are + // inserted in between them. + // This is needed so that an outStream object can + // deleteSelf() in O(1) time without knowing which + // list it belongs to. + head *outStream + tail *outStream +} + +func newOutStreamList() *outStreamList { + head, tail := new(outStream), new(outStream) + head.next = tail + tail.prev = head + return &outStreamList{ + head: head, + tail: tail, + } +} + +func (l *outStreamList) enqueue(s *outStream) { + e := l.tail.prev + e.next = s + s.prev = e + s.next = l.tail + l.tail.prev = s +} + +// remove from the beginning of the list. +func (l *outStreamList) dequeue() *outStream { + b := l.head.next + if b == l.tail { + return nil + } + b.deleteSelf() + return b +} + +// controlBuffer is a way to pass information to loopy. +// Information is passed as specific struct types called control frames. +// A control frame not only represents data, messages or headers to be sent out +// but can also be used to instruct loopy to update its internal state. +// It shouldn't be confused with an HTTP2 frame, although some of the control frames +// like dataFrame and headerFrame do go out on wire as HTTP2 frames. +type controlBuffer struct { + ch chan struct{} + done <-chan struct{} + mu sync.Mutex + consumerWaiting bool + list *itemList + err error + + // transportResponseFrames counts the number of queued items that represent + // the response of an action initiated by the peer. trfChan is created + // when transportResponseFrames >= maxQueuedTransportResponseFrames and is + // closed and nilled when transportResponseFrames drops below the + // threshold. Both fields are protected by mu. + transportResponseFrames int + trfChan atomic.Value // *chan struct{} +} + +func newControlBuffer(done <-chan struct{}) *controlBuffer { + return &controlBuffer{ + ch: make(chan struct{}, 1), + list: &itemList{}, + done: done, + } +} + +// throttle blocks if there are too many incomingSettings/cleanupStreams in the +// controlbuf. +func (c *controlBuffer) throttle() { + ch, _ := c.trfChan.Load().(*chan struct{}) + if ch != nil { + select { + case <-*ch: + case <-c.done: + } + } +} + +func (c *controlBuffer) put(it cbItem) error { + _, err := c.executeAndPut(nil, it) + return err +} + +func (c *controlBuffer) executeAndPut(f func(it interface{}) bool, it cbItem) (bool, error) { + var wakeUp bool + c.mu.Lock() + if c.err != nil { + c.mu.Unlock() + return false, c.err + } + if f != nil { + if !f(it) { // f wasn't successful + c.mu.Unlock() + return false, nil + } + } + if c.consumerWaiting { + wakeUp = true + c.consumerWaiting = false + } + c.list.enqueue(it) + if it.isTransportResponseFrame() { + c.transportResponseFrames++ + if c.transportResponseFrames == maxQueuedTransportResponseFrames { + // We are adding the frame that puts us over the threshold; create + // a throttling channel. + ch := make(chan struct{}) + c.trfChan.Store(&ch) + } + } + c.mu.Unlock() + if wakeUp { + select { + case c.ch <- struct{}{}: + default: + } + } + return true, nil +} + +// Note argument f should never be nil. +func (c *controlBuffer) execute(f func(it interface{}) bool, it interface{}) (bool, error) { + c.mu.Lock() + if c.err != nil { + c.mu.Unlock() + return false, c.err + } + if !f(it) { // f wasn't successful + c.mu.Unlock() + return false, nil + } + c.mu.Unlock() + return true, nil +} + +func (c *controlBuffer) get(block bool) (interface{}, error) { + for { + c.mu.Lock() + if c.err != nil { + c.mu.Unlock() + return nil, c.err + } + if !c.list.isEmpty() { + h := c.list.dequeue().(cbItem) + if h.isTransportResponseFrame() { + if c.transportResponseFrames == maxQueuedTransportResponseFrames { + // We are removing the frame that put us over the + // threshold; close and clear the throttling channel. + ch := c.trfChan.Load().(*chan struct{}) + close(*ch) + c.trfChan.Store((*chan struct{})(nil)) + } + c.transportResponseFrames-- + } + c.mu.Unlock() + return h, nil + } + if !block { + c.mu.Unlock() + return nil, nil + } + c.consumerWaiting = true + c.mu.Unlock() + select { + case <-c.ch: + case <-c.done: + c.finish() + return nil, ErrConnClosing + } + } +} + +func (c *controlBuffer) finish() { + c.mu.Lock() + if c.err != nil { + c.mu.Unlock() + return + } + c.err = ErrConnClosing + // There may be headers for streams in the control buffer. + // These streams need to be cleaned out since the transport + // is still not aware of these yet. + for head := c.list.dequeueAll(); head != nil; head = head.next { + hdr, ok := head.it.(*headerFrame) + if !ok { + continue + } + if hdr.onOrphaned != nil { // It will be nil on the server-side. + hdr.onOrphaned(ErrConnClosing) + } + } + c.mu.Unlock() +} + +type side int + +const ( + clientSide side = iota + serverSide +) + +// Loopy receives frames from the control buffer. +// Each frame is handled individually; most of the work done by loopy goes +// into handling data frames. Loopy maintains a queue of active streams, and each +// stream maintains a queue of data frames; as loopy receives data frames +// it gets added to the queue of the relevant stream. +// Loopy goes over this list of active streams by processing one node every iteration, +// thereby closely resemebling to a round-robin scheduling over all streams. While +// processing a stream, loopy writes out data bytes from this stream capped by the min +// of http2MaxFrameLen, connection-level flow control and stream-level flow control. +type loopyWriter struct { + side side + cbuf *controlBuffer + sendQuota uint32 + oiws uint32 // outbound initial window size. + // estdStreams is map of all established streams that are not cleaned-up yet. + // On client-side, this is all streams whose headers were sent out. + // On server-side, this is all streams whose headers were received. + estdStreams map[uint32]*outStream // Established streams. + // activeStreams is a linked-list of all streams that have data to send and some + // stream-level flow control quota. + // Each of these streams internally have a list of data items(and perhaps trailers + // on the server-side) to be sent out. + activeStreams *outStreamList + framer *framer + hBuf *bytes.Buffer // The buffer for HPACK encoding. + hEnc *hpack.Encoder // HPACK encoder. + bdpEst *bdpEstimator + draining bool + + // Side-specific handlers + ssGoAwayHandler func(*goAway) (bool, error) +} + +func newLoopyWriter(s side, fr *framer, cbuf *controlBuffer, bdpEst *bdpEstimator) *loopyWriter { + var buf bytes.Buffer + l := &loopyWriter{ + side: s, + cbuf: cbuf, + sendQuota: defaultWindowSize, + oiws: defaultWindowSize, + estdStreams: make(map[uint32]*outStream), + activeStreams: newOutStreamList(), + framer: fr, + hBuf: &buf, + hEnc: hpack.NewEncoder(&buf), + bdpEst: bdpEst, + } + return l +} + +const minBatchSize = 1000 + +// run should be run in a separate goroutine. +// It reads control frames from controlBuf and processes them by: +// 1. Updating loopy's internal state, or/and +// 2. Writing out HTTP2 frames on the wire. +// +// Loopy keeps all active streams with data to send in a linked-list. +// All streams in the activeStreams linked-list must have both: +// 1. Data to send, and +// 2. Stream level flow control quota available. +// +// In each iteration of run loop, other than processing the incoming control +// frame, loopy calls processData, which processes one node from the activeStreams linked-list. +// This results in writing of HTTP2 frames into an underlying write buffer. +// When there's no more control frames to read from controlBuf, loopy flushes the write buffer. +// As an optimization, to increase the batch size for each flush, loopy yields the processor, once +// if the batch size is too low to give stream goroutines a chance to fill it up. +func (l *loopyWriter) run() (err error) { + defer func() { + if err == ErrConnClosing { + // Don't log ErrConnClosing as error since it happens + // 1. When the connection is closed by some other known issue. + // 2. User closed the connection. + // 3. A graceful close of connection. + infof("transport: loopyWriter.run returning. %v", err) + err = nil + } + }() + for { + it, err := l.cbuf.get(true) + if err != nil { + return err + } + if err = l.handle(it); err != nil { + return err + } + if _, err = l.processData(); err != nil { + return err + } + gosched := true + hasdata: + for { + it, err := l.cbuf.get(false) + if err != nil { + return err + } + if it != nil { + if err = l.handle(it); err != nil { + return err + } + if _, err = l.processData(); err != nil { + return err + } + continue hasdata + } + isEmpty, err := l.processData() + if err != nil { + return err + } + if !isEmpty { + continue hasdata + } + if gosched { + gosched = false + if l.framer.writer.offset < minBatchSize { + runtime.Gosched() + continue hasdata + } + } + l.framer.writer.Flush() + break hasdata + + } + } +} + +func (l *loopyWriter) outgoingWindowUpdateHandler(w *outgoingWindowUpdate) error { + return l.framer.fr.WriteWindowUpdate(w.streamID, w.increment) +} + +func (l *loopyWriter) incomingWindowUpdateHandler(w *incomingWindowUpdate) error { + // Otherwise update the quota. + if w.streamID == 0 { + l.sendQuota += w.increment + return nil + } + // Find the stream and update it. + if str, ok := l.estdStreams[w.streamID]; ok { + str.bytesOutStanding -= int(w.increment) + if strQuota := int(l.oiws) - str.bytesOutStanding; strQuota > 0 && str.state == waitingOnStreamQuota { + str.state = active + l.activeStreams.enqueue(str) + return nil + } + } + return nil +} + +func (l *loopyWriter) outgoingSettingsHandler(s *outgoingSettings) error { + return l.framer.fr.WriteSettings(s.ss...) +} + +func (l *loopyWriter) incomingSettingsHandler(s *incomingSettings) error { + if err := l.applySettings(s.ss); err != nil { + return err + } + return l.framer.fr.WriteSettingsAck() +} + +func (l *loopyWriter) registerStreamHandler(h *registerStream) error { + str := &outStream{ + id: h.streamID, + state: empty, + itl: &itemList{}, + wq: h.wq, + } + l.estdStreams[h.streamID] = str + return nil +} + +func (l *loopyWriter) headerHandler(h *headerFrame) error { + if l.side == serverSide { + str, ok := l.estdStreams[h.streamID] + if !ok { + warningf("transport: loopy doesn't recognize the stream: %d", h.streamID) + return nil + } + // Case 1.A: Server is responding back with headers. + if !h.endStream { + return l.writeHeader(h.streamID, h.endStream, h.hf, h.onWrite) + } + // else: Case 1.B: Server wants to close stream. + + if str.state != empty { // either active or waiting on stream quota. + // add it str's list of items. + str.itl.enqueue(h) + return nil + } + if err := l.writeHeader(h.streamID, h.endStream, h.hf, h.onWrite); err != nil { + return err + } + return l.cleanupStreamHandler(h.cleanup) + } + // Case 2: Client wants to originate stream. + str := &outStream{ + id: h.streamID, + state: empty, + itl: &itemList{}, + wq: h.wq, + } + str.itl.enqueue(h) + return l.originateStream(str) +} + +func (l *loopyWriter) originateStream(str *outStream) error { + hdr := str.itl.dequeue().(*headerFrame) + sendPing, err := hdr.initStream(str.id) + if err != nil { + if err == ErrConnClosing { + return err + } + // Other errors(errStreamDrain) need not close transport. + return nil + } + if err = l.writeHeader(str.id, hdr.endStream, hdr.hf, hdr.onWrite); err != nil { + return err + } + l.estdStreams[str.id] = str + if sendPing { + return l.pingHandler(&ping{data: [8]byte{}}) + } + return nil +} + +func (l *loopyWriter) writeHeader(streamID uint32, endStream bool, hf []hpack.HeaderField, onWrite func()) error { + if onWrite != nil { + onWrite() + } + l.hBuf.Reset() + for _, f := range hf { + if err := l.hEnc.WriteField(f); err != nil { + warningf("transport: loopyWriter.writeHeader encountered error while encoding headers:", err) + } + } + var ( + err error + endHeaders, first bool + ) + first = true + for !endHeaders { + size := l.hBuf.Len() + if size > http2MaxFrameLen { + size = http2MaxFrameLen + } else { + endHeaders = true + } + if first { + first = false + err = l.framer.fr.WriteHeaders(http2.HeadersFrameParam{ + StreamID: streamID, + BlockFragment: l.hBuf.Next(size), + EndStream: endStream, + EndHeaders: endHeaders, + }) + } else { + err = l.framer.fr.WriteContinuation( + streamID, + endHeaders, + l.hBuf.Next(size), + ) + } + if err != nil { + return err + } + } + return nil +} + +func (l *loopyWriter) preprocessData(df *dataFrame) error { + str, ok := l.estdStreams[df.streamID] + if !ok { + return nil + } + // If we got data for a stream it means that + // stream was originated and the headers were sent out. + str.itl.enqueue(df) + if str.state == empty { + str.state = active + l.activeStreams.enqueue(str) + } + return nil +} + +func (l *loopyWriter) pingHandler(p *ping) error { + if !p.ack { + l.bdpEst.timesnap(p.data) + } + return l.framer.fr.WritePing(p.ack, p.data) + +} + +func (l *loopyWriter) outFlowControlSizeRequestHandler(o *outFlowControlSizeRequest) error { + o.resp <- l.sendQuota + return nil +} + +func (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error { + c.onWrite() + if str, ok := l.estdStreams[c.streamID]; ok { + // On the server side it could be a trailers-only response or + // a RST_STREAM before stream initialization thus the stream might + // not be established yet. + delete(l.estdStreams, c.streamID) + str.deleteSelf() + } + if c.rst { // If RST_STREAM needs to be sent. + if err := l.framer.fr.WriteRSTStream(c.streamID, c.rstCode); err != nil { + return err + } + } + if l.side == clientSide && l.draining && len(l.estdStreams) == 0 { + return ErrConnClosing + } + return nil +} + +func (l *loopyWriter) incomingGoAwayHandler(*incomingGoAway) error { + if l.side == clientSide { + l.draining = true + if len(l.estdStreams) == 0 { + return ErrConnClosing + } + } + return nil +} + +func (l *loopyWriter) goAwayHandler(g *goAway) error { + // Handling of outgoing GoAway is very specific to side. + if l.ssGoAwayHandler != nil { + draining, err := l.ssGoAwayHandler(g) + if err != nil { + return err + } + l.draining = draining + } + return nil +} + +func (l *loopyWriter) handle(i interface{}) error { + switch i := i.(type) { + case *incomingWindowUpdate: + return l.incomingWindowUpdateHandler(i) + case *outgoingWindowUpdate: + return l.outgoingWindowUpdateHandler(i) + case *incomingSettings: + return l.incomingSettingsHandler(i) + case *outgoingSettings: + return l.outgoingSettingsHandler(i) + case *headerFrame: + return l.headerHandler(i) + case *registerStream: + return l.registerStreamHandler(i) + case *cleanupStream: + return l.cleanupStreamHandler(i) + case *incomingGoAway: + return l.incomingGoAwayHandler(i) + case *dataFrame: + return l.preprocessData(i) + case *ping: + return l.pingHandler(i) + case *goAway: + return l.goAwayHandler(i) + case *outFlowControlSizeRequest: + return l.outFlowControlSizeRequestHandler(i) + default: + return fmt.Errorf("transport: unknown control message type %T", i) + } +} + +func (l *loopyWriter) applySettings(ss []http2.Setting) error { + for _, s := range ss { + switch s.ID { + case http2.SettingInitialWindowSize: + o := l.oiws + l.oiws = s.Val + if o < l.oiws { + // If the new limit is greater make all depleted streams active. + for _, stream := range l.estdStreams { + if stream.state == waitingOnStreamQuota { + stream.state = active + l.activeStreams.enqueue(stream) + } + } + } + case http2.SettingHeaderTableSize: + updateHeaderTblSize(l.hEnc, s.Val) + } + } + return nil +} + +// processData removes the first stream from active streams, writes out at most 16KB +// of its data and then puts it at the end of activeStreams if there's still more data +// to be sent and stream has some stream-level flow control. +func (l *loopyWriter) processData() (bool, error) { + if l.sendQuota == 0 { + return true, nil + } + str := l.activeStreams.dequeue() // Remove the first stream. + if str == nil { + return true, nil + } + dataItem := str.itl.peek().(*dataFrame) // Peek at the first data item this stream. + // A data item is represented by a dataFrame, since it later translates into + // multiple HTTP2 data frames. + // Every dataFrame has two buffers; h that keeps grpc-message header and d that is acutal data. + // As an optimization to keep wire traffic low, data from d is copied to h to make as big as the + // maximum possilbe HTTP2 frame size. + + if len(dataItem.h) == 0 && len(dataItem.d) == 0 { // Empty data frame + // Client sends out empty data frame with endStream = true + if err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil { + return false, err + } + str.itl.dequeue() // remove the empty data item from stream + if str.itl.isEmpty() { + str.state = empty + } else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers. + if err := l.writeHeader(trailer.streamID, trailer.endStream, trailer.hf, trailer.onWrite); err != nil { + return false, err + } + if err := l.cleanupStreamHandler(trailer.cleanup); err != nil { + return false, nil + } + } else { + l.activeStreams.enqueue(str) + } + return false, nil + } + var ( + idx int + buf []byte + ) + if len(dataItem.h) != 0 { // data header has not been written out yet. + buf = dataItem.h + } else { + idx = 1 + buf = dataItem.d + } + size := http2MaxFrameLen + if len(buf) < size { + size = len(buf) + } + if strQuota := int(l.oiws) - str.bytesOutStanding; strQuota <= 0 { // stream-level flow control. + str.state = waitingOnStreamQuota + return false, nil + } else if strQuota < size { + size = strQuota + } + + if l.sendQuota < uint32(size) { // connection-level flow control. + size = int(l.sendQuota) + } + // Now that outgoing flow controls are checked we can replenish str's write quota + str.wq.replenish(size) + var endStream bool + // If this is the last data message on this stream and all of it can be written in this iteration. + if dataItem.endStream && size == len(buf) { + // buf contains either data or it contains header but data is empty. + if idx == 1 || len(dataItem.d) == 0 { + endStream = true + } + } + if dataItem.onEachWrite != nil { + dataItem.onEachWrite() + } + if err := l.framer.fr.WriteData(dataItem.streamID, endStream, buf[:size]); err != nil { + return false, err + } + buf = buf[size:] + str.bytesOutStanding += size + l.sendQuota -= uint32(size) + if idx == 0 { + dataItem.h = buf + } else { + dataItem.d = buf + } + + if len(dataItem.h) == 0 && len(dataItem.d) == 0 { // All the data from that message was written out. + str.itl.dequeue() + } + if str.itl.isEmpty() { + str.state = empty + } else if trailer, ok := str.itl.peek().(*headerFrame); ok { // The next item is trailers. + if err := l.writeHeader(trailer.streamID, trailer.endStream, trailer.hf, trailer.onWrite); err != nil { + return false, err + } + if err := l.cleanupStreamHandler(trailer.cleanup); err != nil { + return false, err + } + } else if int(l.oiws)-str.bytesOutStanding <= 0 { // Ran out of stream quota. + str.state = waitingOnStreamQuota + } else { // Otherwise add it back to the list of active streams. + l.activeStreams.enqueue(str) + } + return false, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/defaults.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/defaults.go new file mode 100644 index 0000000..9fa306b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/defaults.go @@ -0,0 +1,49 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package transport + +import ( + "math" + "time" +) + +const ( + // The default value of flow control window size in HTTP2 spec. + defaultWindowSize = 65535 + // The initial window size for flow control. + initialWindowSize = defaultWindowSize // for an RPC + infinity = time.Duration(math.MaxInt64) + defaultClientKeepaliveTime = infinity + defaultClientKeepaliveTimeout = 20 * time.Second + defaultMaxStreamsClient = 100 + defaultMaxConnectionIdle = infinity + defaultMaxConnectionAge = infinity + defaultMaxConnectionAgeGrace = infinity + defaultServerKeepaliveTime = 2 * time.Hour + defaultServerKeepaliveTimeout = 20 * time.Second + defaultKeepalivePolicyMinTime = 5 * time.Minute + // max window limit set by HTTP2 Specs. + maxWindowSize = math.MaxInt32 + // defaultWriteQuota is the default value for number of data + // bytes that each stream can schedule before some of it being + // flushed out. + defaultWriteQuota = 64 * 1024 + defaultClientMaxHeaderListSize = uint32(16 << 20) + defaultServerMaxHeaderListSize = uint32(16 << 20) +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go new file mode 100644 index 0000000..f262edd --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go @@ -0,0 +1,217 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package transport + +import ( + "fmt" + "math" + "sync" + "sync/atomic" +) + +// writeQuota is a soft limit on the amount of data a stream can +// schedule before some of it is written out. +type writeQuota struct { + quota int32 + // get waits on read from when quota goes less than or equal to zero. + // replenish writes on it when quota goes positive again. + ch chan struct{} + // done is triggered in error case. + done <-chan struct{} + // replenish is called by loopyWriter to give quota back to. + // It is implemented as a field so that it can be updated + // by tests. + replenish func(n int) +} + +func newWriteQuota(sz int32, done <-chan struct{}) *writeQuota { + w := &writeQuota{ + quota: sz, + ch: make(chan struct{}, 1), + done: done, + } + w.replenish = w.realReplenish + return w +} + +func (w *writeQuota) get(sz int32) error { + for { + if atomic.LoadInt32(&w.quota) > 0 { + atomic.AddInt32(&w.quota, -sz) + return nil + } + select { + case <-w.ch: + continue + case <-w.done: + return errStreamDone + } + } +} + +func (w *writeQuota) realReplenish(n int) { + sz := int32(n) + a := atomic.AddInt32(&w.quota, sz) + b := a - sz + if b <= 0 && a > 0 { + select { + case w.ch <- struct{}{}: + default: + } + } +} + +type trInFlow struct { + limit uint32 + unacked uint32 + effectiveWindowSize uint32 +} + +func (f *trInFlow) newLimit(n uint32) uint32 { + d := n - f.limit + f.limit = n + f.updateEffectiveWindowSize() + return d +} + +func (f *trInFlow) onData(n uint32) uint32 { + f.unacked += n + if f.unacked >= f.limit/4 { + w := f.unacked + f.unacked = 0 + f.updateEffectiveWindowSize() + return w + } + f.updateEffectiveWindowSize() + return 0 +} + +func (f *trInFlow) reset() uint32 { + w := f.unacked + f.unacked = 0 + f.updateEffectiveWindowSize() + return w +} + +func (f *trInFlow) updateEffectiveWindowSize() { + atomic.StoreUint32(&f.effectiveWindowSize, f.limit-f.unacked) +} + +func (f *trInFlow) getSize() uint32 { + return atomic.LoadUint32(&f.effectiveWindowSize) +} + +// TODO(mmukhi): Simplify this code. +// inFlow deals with inbound flow control +type inFlow struct { + mu sync.Mutex + // The inbound flow control limit for pending data. + limit uint32 + // pendingData is the overall data which have been received but not been + // consumed by applications. + pendingData uint32 + // The amount of data the application has consumed but grpc has not sent + // window update for them. Used to reduce window update frequency. + pendingUpdate uint32 + // delta is the extra window update given by receiver when an application + // is reading data bigger in size than the inFlow limit. + delta uint32 +} + +// newLimit updates the inflow window to a new value n. +// It assumes that n is always greater than the old limit. +func (f *inFlow) newLimit(n uint32) uint32 { + f.mu.Lock() + d := n - f.limit + f.limit = n + f.mu.Unlock() + return d +} + +func (f *inFlow) maybeAdjust(n uint32) uint32 { + if n > uint32(math.MaxInt32) { + n = uint32(math.MaxInt32) + } + f.mu.Lock() + defer f.mu.Unlock() + // estSenderQuota is the receiver's view of the maximum number of bytes the sender + // can send without a window update. + estSenderQuota := int32(f.limit - (f.pendingData + f.pendingUpdate)) + // estUntransmittedData is the maximum number of bytes the sends might not have put + // on the wire yet. A value of 0 or less means that we have already received all or + // more bytes than the application is requesting to read. + estUntransmittedData := int32(n - f.pendingData) // Casting into int32 since it could be negative. + // This implies that unless we send a window update, the sender won't be able to send all the bytes + // for this message. Therefore we must send an update over the limit since there's an active read + // request from the application. + if estUntransmittedData > estSenderQuota { + // Sender's window shouldn't go more than 2^31 - 1 as specified in the HTTP spec. + if f.limit+n > maxWindowSize { + f.delta = maxWindowSize - f.limit + } else { + // Send a window update for the whole message and not just the difference between + // estUntransmittedData and estSenderQuota. This will be helpful in case the message + // is padded; We will fallback on the current available window(at least a 1/4th of the limit). + f.delta = n + } + return f.delta + } + return 0 +} + +// onData is invoked when some data frame is received. It updates pendingData. +func (f *inFlow) onData(n uint32) error { + f.mu.Lock() + f.pendingData += n + if f.pendingData+f.pendingUpdate > f.limit+f.delta { + limit := f.limit + rcvd := f.pendingData + f.pendingUpdate + f.mu.Unlock() + return fmt.Errorf("received %d-bytes data exceeding the limit %d bytes", rcvd, limit) + } + f.mu.Unlock() + return nil +} + +// onRead is invoked when the application reads the data. It returns the window size +// to be sent to the peer. +func (f *inFlow) onRead(n uint32) uint32 { + f.mu.Lock() + if f.pendingData == 0 { + f.mu.Unlock() + return 0 + } + f.pendingData -= n + if n > f.delta { + n -= f.delta + f.delta = 0 + } else { + f.delta -= n + n = 0 + } + f.pendingUpdate += n + if f.pendingUpdate >= f.limit/4 { + wu := f.pendingUpdate + f.pendingUpdate = 0 + f.mu.Unlock() + return wu + } + f.mu.Unlock() + return 0 +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/handler_server.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/handler_server.go new file mode 100644 index 0000000..78f9ddc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/handler_server.go @@ -0,0 +1,431 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * 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. + * + */ + +// This file is the implementation of a gRPC server using HTTP/2 which +// uses the standard Go http2 Server implementation (via the +// http.Handler interface), rather than speaking low-level HTTP/2 +// frames itself. It is the implementation of *grpc.Server.ServeHTTP. + +package transport + +import ( + "bytes" + "context" + "errors" + "fmt" + "io" + "net" + "net/http" + "strings" + "sync" + "time" + + "github.com/golang/protobuf/proto" + "golang.org/x/net/http2" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/peer" + "google.golang.org/grpc/stats" + "google.golang.org/grpc/status" +) + +// NewServerHandlerTransport returns a ServerTransport handling gRPC +// from inside an http.Handler. It requires that the http Server +// supports HTTP/2. +func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request, stats stats.Handler) (ServerTransport, error) { + if r.ProtoMajor != 2 { + return nil, errors.New("gRPC requires HTTP/2") + } + if r.Method != "POST" { + return nil, errors.New("invalid gRPC request method") + } + contentType := r.Header.Get("Content-Type") + // TODO: do we assume contentType is lowercase? we did before + contentSubtype, validContentType := contentSubtype(contentType) + if !validContentType { + return nil, errors.New("invalid gRPC request content-type") + } + if _, ok := w.(http.Flusher); !ok { + return nil, errors.New("gRPC requires a ResponseWriter supporting http.Flusher") + } + + st := &serverHandlerTransport{ + rw: w, + req: r, + closedCh: make(chan struct{}), + writes: make(chan func()), + contentType: contentType, + contentSubtype: contentSubtype, + stats: stats, + } + + if v := r.Header.Get("grpc-timeout"); v != "" { + to, err := decodeTimeout(v) + if err != nil { + return nil, status.Errorf(codes.Internal, "malformed time-out: %v", err) + } + st.timeoutSet = true + st.timeout = to + } + + metakv := []string{"content-type", contentType} + if r.Host != "" { + metakv = append(metakv, ":authority", r.Host) + } + for k, vv := range r.Header { + k = strings.ToLower(k) + if isReservedHeader(k) && !isWhitelistedHeader(k) { + continue + } + for _, v := range vv { + v, err := decodeMetadataHeader(k, v) + if err != nil { + return nil, status.Errorf(codes.Internal, "malformed binary metadata: %v", err) + } + metakv = append(metakv, k, v) + } + } + st.headerMD = metadata.Pairs(metakv...) + + return st, nil +} + +// serverHandlerTransport is an implementation of ServerTransport +// which replies to exactly one gRPC request (exactly one HTTP request), +// using the net/http.Handler interface. This http.Handler is guaranteed +// at this point to be speaking over HTTP/2, so it's able to speak valid +// gRPC. +type serverHandlerTransport struct { + rw http.ResponseWriter + req *http.Request + timeoutSet bool + timeout time.Duration + didCommonHeaders bool + + headerMD metadata.MD + + closeOnce sync.Once + closedCh chan struct{} // closed on Close + + // writes is a channel of code to run serialized in the + // ServeHTTP (HandleStreams) goroutine. The channel is closed + // when WriteStatus is called. + writes chan func() + + // block concurrent WriteStatus calls + // e.g. grpc/(*serverStream).SendMsg/RecvMsg + writeStatusMu sync.Mutex + + // we just mirror the request content-type + contentType string + // we store both contentType and contentSubtype so we don't keep recreating them + // TODO make sure this is consistent across handler_server and http2_server + contentSubtype string + + stats stats.Handler +} + +func (ht *serverHandlerTransport) Close() error { + ht.closeOnce.Do(ht.closeCloseChanOnce) + return nil +} + +func (ht *serverHandlerTransport) closeCloseChanOnce() { close(ht.closedCh) } + +func (ht *serverHandlerTransport) RemoteAddr() net.Addr { return strAddr(ht.req.RemoteAddr) } + +// strAddr is a net.Addr backed by either a TCP "ip:port" string, or +// the empty string if unknown. +type strAddr string + +func (a strAddr) Network() string { + if a != "" { + // Per the documentation on net/http.Request.RemoteAddr, if this is + // set, it's set to the IP:port of the peer (hence, TCP): + // https://golang.org/pkg/net/http/#Request + // + // If we want to support Unix sockets later, we can + // add our own grpc-specific convention within the + // grpc codebase to set RemoteAddr to a different + // format, or probably better: we can attach it to the + // context and use that from serverHandlerTransport.RemoteAddr. + return "tcp" + } + return "" +} + +func (a strAddr) String() string { return string(a) } + +// do runs fn in the ServeHTTP goroutine. +func (ht *serverHandlerTransport) do(fn func()) error { + select { + case <-ht.closedCh: + return ErrConnClosing + case ht.writes <- fn: + return nil + } +} + +func (ht *serverHandlerTransport) WriteStatus(s *Stream, st *status.Status) error { + ht.writeStatusMu.Lock() + defer ht.writeStatusMu.Unlock() + + err := ht.do(func() { + ht.writeCommonHeaders(s) + + // And flush, in case no header or body has been sent yet. + // This forces a separation of headers and trailers if this is the + // first call (for example, in end2end tests's TestNoService). + ht.rw.(http.Flusher).Flush() + + h := ht.rw.Header() + h.Set("Grpc-Status", fmt.Sprintf("%d", st.Code())) + if m := st.Message(); m != "" { + h.Set("Grpc-Message", encodeGrpcMessage(m)) + } + + if p := st.Proto(); p != nil && len(p.Details) > 0 { + stBytes, err := proto.Marshal(p) + if err != nil { + // TODO: return error instead, when callers are able to handle it. + panic(err) + } + + h.Set("Grpc-Status-Details-Bin", encodeBinHeader(stBytes)) + } + + if md := s.Trailer(); len(md) > 0 { + for k, vv := range md { + // Clients don't tolerate reading restricted headers after some non restricted ones were sent. + if isReservedHeader(k) { + continue + } + for _, v := range vv { + // http2 ResponseWriter mechanism to send undeclared Trailers after + // the headers have possibly been written. + h.Add(http2.TrailerPrefix+k, encodeMetadataHeader(k, v)) + } + } + } + }) + + if err == nil { // transport has not been closed + if ht.stats != nil { + ht.stats.HandleRPC(s.Context(), &stats.OutTrailer{}) + } + } + ht.Close() + return err +} + +// writeCommonHeaders sets common headers on the first write +// call (Write, WriteHeader, or WriteStatus). +func (ht *serverHandlerTransport) writeCommonHeaders(s *Stream) { + if ht.didCommonHeaders { + return + } + ht.didCommonHeaders = true + + h := ht.rw.Header() + h["Date"] = nil // suppress Date to make tests happy; TODO: restore + h.Set("Content-Type", ht.contentType) + + // Predeclare trailers we'll set later in WriteStatus (after the body). + // This is a SHOULD in the HTTP RFC, and the way you add (known) + // Trailers per the net/http.ResponseWriter contract. + // See https://golang.org/pkg/net/http/#ResponseWriter + // and https://golang.org/pkg/net/http/#example_ResponseWriter_trailers + h.Add("Trailer", "Grpc-Status") + h.Add("Trailer", "Grpc-Message") + h.Add("Trailer", "Grpc-Status-Details-Bin") + + if s.sendCompress != "" { + h.Set("Grpc-Encoding", s.sendCompress) + } +} + +func (ht *serverHandlerTransport) Write(s *Stream, hdr []byte, data []byte, opts *Options) error { + return ht.do(func() { + ht.writeCommonHeaders(s) + ht.rw.Write(hdr) + ht.rw.Write(data) + ht.rw.(http.Flusher).Flush() + }) +} + +func (ht *serverHandlerTransport) WriteHeader(s *Stream, md metadata.MD) error { + err := ht.do(func() { + ht.writeCommonHeaders(s) + h := ht.rw.Header() + for k, vv := range md { + // Clients don't tolerate reading restricted headers after some non restricted ones were sent. + if isReservedHeader(k) { + continue + } + for _, v := range vv { + v = encodeMetadataHeader(k, v) + h.Add(k, v) + } + } + ht.rw.WriteHeader(200) + ht.rw.(http.Flusher).Flush() + }) + + if err == nil { + if ht.stats != nil { + ht.stats.HandleRPC(s.Context(), &stats.OutHeader{}) + } + } + return err +} + +func (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), traceCtx func(context.Context, string) context.Context) { + // With this transport type there will be exactly 1 stream: this HTTP request. + + ctx := ht.req.Context() + var cancel context.CancelFunc + if ht.timeoutSet { + ctx, cancel = context.WithTimeout(ctx, ht.timeout) + } else { + ctx, cancel = context.WithCancel(ctx) + } + + // requestOver is closed when the status has been written via WriteStatus. + requestOver := make(chan struct{}) + go func() { + select { + case <-requestOver: + case <-ht.closedCh: + case <-ht.req.Context().Done(): + } + cancel() + ht.Close() + }() + + req := ht.req + + s := &Stream{ + id: 0, // irrelevant + requestRead: func(int) {}, + cancel: cancel, + buf: newRecvBuffer(), + st: ht, + method: req.URL.Path, + recvCompress: req.Header.Get("grpc-encoding"), + contentSubtype: ht.contentSubtype, + } + pr := &peer.Peer{ + Addr: ht.RemoteAddr(), + } + if req.TLS != nil { + pr.AuthInfo = credentials.TLSInfo{State: *req.TLS} + } + ctx = metadata.NewIncomingContext(ctx, ht.headerMD) + s.ctx = peer.NewContext(ctx, pr) + if ht.stats != nil { + s.ctx = ht.stats.TagRPC(s.ctx, &stats.RPCTagInfo{FullMethodName: s.method}) + inHeader := &stats.InHeader{ + FullMethod: s.method, + RemoteAddr: ht.RemoteAddr(), + Compression: s.recvCompress, + } + ht.stats.HandleRPC(s.ctx, inHeader) + } + s.trReader = &transportReader{ + reader: &recvBufferReader{ctx: s.ctx, ctxDone: s.ctx.Done(), recv: s.buf, freeBuffer: func(*bytes.Buffer) {}}, + windowHandler: func(int) {}, + } + + // readerDone is closed when the Body.Read-ing goroutine exits. + readerDone := make(chan struct{}) + go func() { + defer close(readerDone) + + // TODO: minimize garbage, optimize recvBuffer code/ownership + const readSize = 8196 + for buf := make([]byte, readSize); ; { + n, err := req.Body.Read(buf) + if n > 0 { + s.buf.put(recvMsg{buffer: bytes.NewBuffer(buf[:n:n])}) + buf = buf[n:] + } + if err != nil { + s.buf.put(recvMsg{err: mapRecvMsgError(err)}) + return + } + if len(buf) == 0 { + buf = make([]byte, readSize) + } + } + }() + + // startStream is provided by the *grpc.Server's serveStreams. + // It starts a goroutine serving s and exits immediately. + // The goroutine that is started is the one that then calls + // into ht, calling WriteHeader, Write, WriteStatus, Close, etc. + startStream(s) + + ht.runStream() + close(requestOver) + + // Wait for reading goroutine to finish. + req.Body.Close() + <-readerDone +} + +func (ht *serverHandlerTransport) runStream() { + for { + select { + case fn := <-ht.writes: + fn() + case <-ht.closedCh: + return + } + } +} + +func (ht *serverHandlerTransport) IncrMsgSent() {} + +func (ht *serverHandlerTransport) IncrMsgRecv() {} + +func (ht *serverHandlerTransport) Drain() { + panic("Drain() is not implemented") +} + +// mapRecvMsgError returns the non-nil err into the appropriate +// error value as expected by callers of *grpc.parser.recvMsg. +// In particular, in can only be: +// * io.EOF +// * io.ErrUnexpectedEOF +// * of type transport.ConnectionError +// * an error from the status package +func mapRecvMsgError(err error) error { + if err == io.EOF || err == io.ErrUnexpectedEOF { + return err + } + if se, ok := err.(http2.StreamError); ok { + if code, ok := http2ErrConvTab[se.Code]; ok { + return status.Error(code, se.Error()) + } + } + if strings.Contains(err.Error(), "body closed by handler") { + return status.Error(codes.Canceled, err.Error()) + } + return connectionErrorf(true, err, err.Error()) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_client.go new file mode 100644 index 0000000..41a79c5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_client.go @@ -0,0 +1,1411 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package transport + +import ( + "context" + "fmt" + "io" + "math" + "net" + "strconv" + "strings" + "sync" + "sync/atomic" + "time" + + "golang.org/x/net/http2" + "golang.org/x/net/http2/hpack" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/internal/syscall" + "google.golang.org/grpc/keepalive" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/peer" + "google.golang.org/grpc/stats" + "google.golang.org/grpc/status" +) + +// http2Client implements the ClientTransport interface with HTTP2. +type http2Client struct { + ctx context.Context + cancel context.CancelFunc + ctxDone <-chan struct{} // Cache the ctx.Done() chan. + userAgent string + md interface{} + conn net.Conn // underlying communication channel + loopy *loopyWriter + remoteAddr net.Addr + localAddr net.Addr + authInfo credentials.AuthInfo // auth info about the connection + + readerDone chan struct{} // sync point to enable testing. + writerDone chan struct{} // sync point to enable testing. + // goAway is closed to notify the upper layer (i.e., addrConn.transportMonitor) + // that the server sent GoAway on this transport. + goAway chan struct{} + // awakenKeepalive is used to wake up keepalive when after it has gone dormant. + awakenKeepalive chan struct{} + + framer *framer + // controlBuf delivers all the control related tasks (e.g., window + // updates, reset streams, and various settings) to the controller. + controlBuf *controlBuffer + fc *trInFlow + // The scheme used: https if TLS is on, http otherwise. + scheme string + + isSecure bool + + perRPCCreds []credentials.PerRPCCredentials + + // Boolean to keep track of reading activity on transport. + // 1 is true and 0 is false. + activity uint32 // Accessed atomically. + kp keepalive.ClientParameters + keepaliveEnabled bool + + statsHandler stats.Handler + + initialWindowSize int32 + + // configured by peer through SETTINGS_MAX_HEADER_LIST_SIZE + maxSendHeaderListSize *uint32 + + bdpEst *bdpEstimator + // onPrefaceReceipt is a callback that client transport calls upon + // receiving server preface to signal that a succefull HTTP2 + // connection was established. + onPrefaceReceipt func() + + maxConcurrentStreams uint32 + streamQuota int64 + streamsQuotaAvailable chan struct{} + waitingStreams uint32 + nextID uint32 + + mu sync.Mutex // guard the following variables + state transportState + activeStreams map[uint32]*Stream + // prevGoAway ID records the Last-Stream-ID in the previous GOAway frame. + prevGoAwayID uint32 + // goAwayReason records the http2.ErrCode and debug data received with the + // GoAway frame. + goAwayReason GoAwayReason + + // Fields below are for channelz metric collection. + channelzID int64 // channelz unique identification number + czData *channelzData + + onGoAway func(GoAwayReason) + onClose func() + + bufferPool *bufferPool +} + +func dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error), addr string) (net.Conn, error) { + if fn != nil { + return fn(ctx, addr) + } + return (&net.Dialer{}).DialContext(ctx, "tcp", addr) +} + +func isTemporary(err error) bool { + switch err := err.(type) { + case interface { + Temporary() bool + }: + return err.Temporary() + case interface { + Timeout() bool + }: + // Timeouts may be resolved upon retry, and are thus treated as + // temporary. + return err.Timeout() + } + return true +} + +// newHTTP2Client constructs a connected ClientTransport to addr based on HTTP2 +// and starts to receive messages on it. Non-nil error returns if construction +// fails. +func newHTTP2Client(connectCtx, ctx context.Context, addr TargetInfo, opts ConnectOptions, onPrefaceReceipt func(), onGoAway func(GoAwayReason), onClose func()) (_ *http2Client, err error) { + scheme := "http" + ctx, cancel := context.WithCancel(ctx) + defer func() { + if err != nil { + cancel() + } + }() + + conn, err := dial(connectCtx, opts.Dialer, addr.Addr) + if err != nil { + if opts.FailOnNonTempDialError { + return nil, connectionErrorf(isTemporary(err), err, "transport: error while dialing: %v", err) + } + return nil, connectionErrorf(true, err, "transport: Error while dialing %v", err) + } + // Any further errors will close the underlying connection + defer func(conn net.Conn) { + if err != nil { + conn.Close() + } + }(conn) + kp := opts.KeepaliveParams + // Validate keepalive parameters. + if kp.Time == 0 { + kp.Time = defaultClientKeepaliveTime + } + if kp.Timeout == 0 { + kp.Timeout = defaultClientKeepaliveTimeout + } + keepaliveEnabled := false + if kp.Time != infinity { + if err = syscall.SetTCPUserTimeout(conn, kp.Timeout); err != nil { + return nil, connectionErrorf(false, err, "transport: failed to set TCP_USER_TIMEOUT: %v", err) + } + keepaliveEnabled = true + } + var ( + isSecure bool + authInfo credentials.AuthInfo + ) + transportCreds := opts.TransportCredentials + perRPCCreds := opts.PerRPCCredentials + + if b := opts.CredsBundle; b != nil { + if t := b.TransportCredentials(); t != nil { + transportCreds = t + } + if t := b.PerRPCCredentials(); t != nil { + perRPCCreds = append(perRPCCreds, t) + } + } + if transportCreds != nil { + scheme = "https" + conn, authInfo, err = transportCreds.ClientHandshake(connectCtx, addr.Authority, conn) + if err != nil { + return nil, connectionErrorf(isTemporary(err), err, "transport: authentication handshake failed: %v", err) + } + isSecure = true + } + dynamicWindow := true + icwz := int32(initialWindowSize) + if opts.InitialConnWindowSize >= defaultWindowSize { + icwz = opts.InitialConnWindowSize + dynamicWindow = false + } + writeBufSize := opts.WriteBufferSize + readBufSize := opts.ReadBufferSize + maxHeaderListSize := defaultClientMaxHeaderListSize + if opts.MaxHeaderListSize != nil { + maxHeaderListSize = *opts.MaxHeaderListSize + } + t := &http2Client{ + ctx: ctx, + ctxDone: ctx.Done(), // Cache Done chan. + cancel: cancel, + userAgent: opts.UserAgent, + md: addr.Metadata, + conn: conn, + remoteAddr: conn.RemoteAddr(), + localAddr: conn.LocalAddr(), + authInfo: authInfo, + readerDone: make(chan struct{}), + writerDone: make(chan struct{}), + goAway: make(chan struct{}), + awakenKeepalive: make(chan struct{}, 1), + framer: newFramer(conn, writeBufSize, readBufSize, maxHeaderListSize), + fc: &trInFlow{limit: uint32(icwz)}, + scheme: scheme, + activeStreams: make(map[uint32]*Stream), + isSecure: isSecure, + perRPCCreds: perRPCCreds, + kp: kp, + statsHandler: opts.StatsHandler, + initialWindowSize: initialWindowSize, + onPrefaceReceipt: onPrefaceReceipt, + nextID: 1, + maxConcurrentStreams: defaultMaxStreamsClient, + streamQuota: defaultMaxStreamsClient, + streamsQuotaAvailable: make(chan struct{}, 1), + czData: new(channelzData), + onGoAway: onGoAway, + onClose: onClose, + keepaliveEnabled: keepaliveEnabled, + bufferPool: newBufferPool(), + } + t.controlBuf = newControlBuffer(t.ctxDone) + if opts.InitialWindowSize >= defaultWindowSize { + t.initialWindowSize = opts.InitialWindowSize + dynamicWindow = false + } + if dynamicWindow { + t.bdpEst = &bdpEstimator{ + bdp: initialWindowSize, + updateFlowControl: t.updateFlowControl, + } + } + // Make sure awakenKeepalive can't be written upon. + // keepalive routine will make it writable, if need be. + t.awakenKeepalive <- struct{}{} + if t.statsHandler != nil { + t.ctx = t.statsHandler.TagConn(t.ctx, &stats.ConnTagInfo{ + RemoteAddr: t.remoteAddr, + LocalAddr: t.localAddr, + }) + connBegin := &stats.ConnBegin{ + Client: true, + } + t.statsHandler.HandleConn(t.ctx, connBegin) + } + if channelz.IsOn() { + t.channelzID = channelz.RegisterNormalSocket(t, opts.ChannelzParentID, fmt.Sprintf("%s -> %s", t.localAddr, t.remoteAddr)) + } + if t.keepaliveEnabled { + go t.keepalive() + } + // Start the reader goroutine for incoming message. Each transport has + // a dedicated goroutine which reads HTTP2 frame from network. Then it + // dispatches the frame to the corresponding stream entity. + go t.reader() + + // Send connection preface to server. + n, err := t.conn.Write(clientPreface) + if err != nil { + t.Close() + return nil, connectionErrorf(true, err, "transport: failed to write client preface: %v", err) + } + if n != len(clientPreface) { + t.Close() + return nil, connectionErrorf(true, err, "transport: preface mismatch, wrote %d bytes; want %d", n, len(clientPreface)) + } + var ss []http2.Setting + + if t.initialWindowSize != defaultWindowSize { + ss = append(ss, http2.Setting{ + ID: http2.SettingInitialWindowSize, + Val: uint32(t.initialWindowSize), + }) + } + if opts.MaxHeaderListSize != nil { + ss = append(ss, http2.Setting{ + ID: http2.SettingMaxHeaderListSize, + Val: *opts.MaxHeaderListSize, + }) + } + err = t.framer.fr.WriteSettings(ss...) + if err != nil { + t.Close() + return nil, connectionErrorf(true, err, "transport: failed to write initial settings frame: %v", err) + } + // Adjust the connection flow control window if needed. + if delta := uint32(icwz - defaultWindowSize); delta > 0 { + if err := t.framer.fr.WriteWindowUpdate(0, delta); err != nil { + t.Close() + return nil, connectionErrorf(true, err, "transport: failed to write window update: %v", err) + } + } + + if err := t.framer.writer.Flush(); err != nil { + return nil, err + } + go func() { + t.loopy = newLoopyWriter(clientSide, t.framer, t.controlBuf, t.bdpEst) + err := t.loopy.run() + if err != nil { + errorf("transport: loopyWriter.run returning. Err: %v", err) + } + // If it's a connection error, let reader goroutine handle it + // since there might be data in the buffers. + if _, ok := err.(net.Error); !ok { + t.conn.Close() + } + close(t.writerDone) + }() + return t, nil +} + +func (t *http2Client) newStream(ctx context.Context, callHdr *CallHdr) *Stream { + // TODO(zhaoq): Handle uint32 overflow of Stream.id. + s := &Stream{ + done: make(chan struct{}), + method: callHdr.Method, + sendCompress: callHdr.SendCompress, + buf: newRecvBuffer(), + headerChan: make(chan struct{}), + contentSubtype: callHdr.ContentSubtype, + } + s.wq = newWriteQuota(defaultWriteQuota, s.done) + s.requestRead = func(n int) { + t.adjustWindow(s, uint32(n)) + } + // The client side stream context should have exactly the same life cycle with the user provided context. + // That means, s.ctx should be read-only. And s.ctx is done iff ctx is done. + // So we use the original context here instead of creating a copy. + s.ctx = ctx + s.trReader = &transportReader{ + reader: &recvBufferReader{ + ctx: s.ctx, + ctxDone: s.ctx.Done(), + recv: s.buf, + closeStream: func(err error) { + t.CloseStream(s, err) + }, + freeBuffer: t.bufferPool.put, + }, + windowHandler: func(n int) { + t.updateWindow(s, uint32(n)) + }, + } + return s +} + +func (t *http2Client) getPeer() *peer.Peer { + pr := &peer.Peer{ + Addr: t.remoteAddr, + } + // Attach Auth info if there is any. + if t.authInfo != nil { + pr.AuthInfo = t.authInfo + } + return pr +} + +func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr) ([]hpack.HeaderField, error) { + aud := t.createAudience(callHdr) + authData, err := t.getTrAuthData(ctx, aud) + if err != nil { + return nil, err + } + callAuthData, err := t.getCallAuthData(ctx, aud, callHdr) + if err != nil { + return nil, err + } + // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields + // first and create a slice of that exact size. + // Make the slice of certain predictable size to reduce allocations made by append. + hfLen := 7 // :method, :scheme, :path, :authority, content-type, user-agent, te + hfLen += len(authData) + len(callAuthData) + headerFields := make([]hpack.HeaderField, 0, hfLen) + headerFields = append(headerFields, hpack.HeaderField{Name: ":method", Value: "POST"}) + headerFields = append(headerFields, hpack.HeaderField{Name: ":scheme", Value: t.scheme}) + headerFields = append(headerFields, hpack.HeaderField{Name: ":path", Value: callHdr.Method}) + headerFields = append(headerFields, hpack.HeaderField{Name: ":authority", Value: callHdr.Host}) + headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: contentType(callHdr.ContentSubtype)}) + headerFields = append(headerFields, hpack.HeaderField{Name: "user-agent", Value: t.userAgent}) + headerFields = append(headerFields, hpack.HeaderField{Name: "te", Value: "trailers"}) + if callHdr.PreviousAttempts > 0 { + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-previous-rpc-attempts", Value: strconv.Itoa(callHdr.PreviousAttempts)}) + } + + if callHdr.SendCompress != "" { + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-encoding", Value: callHdr.SendCompress}) + } + if dl, ok := ctx.Deadline(); ok { + // Send out timeout regardless its value. The server can detect timeout context by itself. + // TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire. + timeout := time.Until(dl) + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-timeout", Value: encodeTimeout(timeout)}) + } + for k, v := range authData { + headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)}) + } + for k, v := range callAuthData { + headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)}) + } + if b := stats.OutgoingTags(ctx); b != nil { + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-tags-bin", Value: encodeBinHeader(b)}) + } + if b := stats.OutgoingTrace(ctx); b != nil { + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-trace-bin", Value: encodeBinHeader(b)}) + } + + if md, added, ok := metadata.FromOutgoingContextRaw(ctx); ok { + var k string + for k, vv := range md { + // HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set. + if isReservedHeader(k) { + continue + } + for _, v := range vv { + headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)}) + } + } + for _, vv := range added { + for i, v := range vv { + if i%2 == 0 { + k = v + continue + } + // HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set. + if isReservedHeader(k) { + continue + } + headerFields = append(headerFields, hpack.HeaderField{Name: strings.ToLower(k), Value: encodeMetadataHeader(k, v)}) + } + } + } + if md, ok := t.md.(*metadata.MD); ok { + for k, vv := range *md { + if isReservedHeader(k) { + continue + } + for _, v := range vv { + headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)}) + } + } + } + return headerFields, nil +} + +func (t *http2Client) createAudience(callHdr *CallHdr) string { + // Create an audience string only if needed. + if len(t.perRPCCreds) == 0 && callHdr.Creds == nil { + return "" + } + // Construct URI required to get auth request metadata. + // Omit port if it is the default one. + host := strings.TrimSuffix(callHdr.Host, ":443") + pos := strings.LastIndex(callHdr.Method, "/") + if pos == -1 { + pos = len(callHdr.Method) + } + return "https://" + host + callHdr.Method[:pos] +} + +func (t *http2Client) getTrAuthData(ctx context.Context, audience string) (map[string]string, error) { + if len(t.perRPCCreds) == 0 { + return nil, nil + } + authData := map[string]string{} + for _, c := range t.perRPCCreds { + data, err := c.GetRequestMetadata(ctx, audience) + if err != nil { + if _, ok := status.FromError(err); ok { + return nil, err + } + + return nil, status.Errorf(codes.Unauthenticated, "transport: %v", err) + } + for k, v := range data { + // Capital header names are illegal in HTTP/2. + k = strings.ToLower(k) + authData[k] = v + } + } + return authData, nil +} + +func (t *http2Client) getCallAuthData(ctx context.Context, audience string, callHdr *CallHdr) (map[string]string, error) { + var callAuthData map[string]string + // Check if credentials.PerRPCCredentials were provided via call options. + // Note: if these credentials are provided both via dial options and call + // options, then both sets of credentials will be applied. + if callCreds := callHdr.Creds; callCreds != nil { + if !t.isSecure && callCreds.RequireTransportSecurity() { + return nil, status.Error(codes.Unauthenticated, "transport: cannot send secure credentials on an insecure connection") + } + data, err := callCreds.GetRequestMetadata(ctx, audience) + if err != nil { + return nil, status.Errorf(codes.Internal, "transport: %v", err) + } + callAuthData = make(map[string]string, len(data)) + for k, v := range data { + // Capital header names are illegal in HTTP/2 + k = strings.ToLower(k) + callAuthData[k] = v + } + } + return callAuthData, nil +} + +// NewStream creates a stream and registers it into the transport as "active" +// streams. +func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Stream, err error) { + ctx = peer.NewContext(ctx, t.getPeer()) + headerFields, err := t.createHeaderFields(ctx, callHdr) + if err != nil { + return nil, err + } + s := t.newStream(ctx, callHdr) + cleanup := func(err error) { + if s.swapState(streamDone) == streamDone { + // If it was already done, return. + return + } + // The stream was unprocessed by the server. + atomic.StoreUint32(&s.unprocessed, 1) + s.write(recvMsg{err: err}) + close(s.done) + // If headerChan isn't closed, then close it. + if atomic.CompareAndSwapUint32(&s.headerChanClosed, 0, 1) { + close(s.headerChan) + } + } + hdr := &headerFrame{ + hf: headerFields, + endStream: false, + initStream: func(id uint32) (bool, error) { + t.mu.Lock() + if state := t.state; state != reachable { + t.mu.Unlock() + // Do a quick cleanup. + err := error(errStreamDrain) + if state == closing { + err = ErrConnClosing + } + cleanup(err) + return false, err + } + t.activeStreams[id] = s + if channelz.IsOn() { + atomic.AddInt64(&t.czData.streamsStarted, 1) + atomic.StoreInt64(&t.czData.lastStreamCreatedTime, time.Now().UnixNano()) + } + var sendPing bool + // If the number of active streams change from 0 to 1, then check if keepalive + // has gone dormant. If so, wake it up. + if len(t.activeStreams) == 1 && t.keepaliveEnabled { + select { + case t.awakenKeepalive <- struct{}{}: + sendPing = true + // Fill the awakenKeepalive channel again as this channel must be + // kept non-writable except at the point that the keepalive() + // goroutine is waiting either to be awaken or shutdown. + t.awakenKeepalive <- struct{}{} + default: + } + } + t.mu.Unlock() + return sendPing, nil + }, + onOrphaned: cleanup, + wq: s.wq, + } + firstTry := true + var ch chan struct{} + checkForStreamQuota := func(it interface{}) bool { + if t.streamQuota <= 0 { // Can go negative if server decreases it. + if firstTry { + t.waitingStreams++ + } + ch = t.streamsQuotaAvailable + return false + } + if !firstTry { + t.waitingStreams-- + } + t.streamQuota-- + h := it.(*headerFrame) + h.streamID = t.nextID + t.nextID += 2 + s.id = h.streamID + s.fc = &inFlow{limit: uint32(t.initialWindowSize)} + if t.streamQuota > 0 && t.waitingStreams > 0 { + select { + case t.streamsQuotaAvailable <- struct{}{}: + default: + } + } + return true + } + var hdrListSizeErr error + checkForHeaderListSize := func(it interface{}) bool { + if t.maxSendHeaderListSize == nil { + return true + } + hdrFrame := it.(*headerFrame) + var sz int64 + for _, f := range hdrFrame.hf { + if sz += int64(f.Size()); sz > int64(*t.maxSendHeaderListSize) { + hdrListSizeErr = status.Errorf(codes.Internal, "header list size to send violates the maximum size (%d bytes) set by server", *t.maxSendHeaderListSize) + return false + } + } + return true + } + for { + success, err := t.controlBuf.executeAndPut(func(it interface{}) bool { + if !checkForStreamQuota(it) { + return false + } + if !checkForHeaderListSize(it) { + return false + } + return true + }, hdr) + if err != nil { + return nil, err + } + if success { + break + } + if hdrListSizeErr != nil { + return nil, hdrListSizeErr + } + firstTry = false + select { + case <-ch: + case <-s.ctx.Done(): + return nil, ContextErr(s.ctx.Err()) + case <-t.goAway: + return nil, errStreamDrain + case <-t.ctx.Done(): + return nil, ErrConnClosing + } + } + if t.statsHandler != nil { + outHeader := &stats.OutHeader{ + Client: true, + FullMethod: callHdr.Method, + RemoteAddr: t.remoteAddr, + LocalAddr: t.localAddr, + Compression: callHdr.SendCompress, + } + t.statsHandler.HandleRPC(s.ctx, outHeader) + } + return s, nil +} + +// CloseStream clears the footprint of a stream when the stream is not needed any more. +// This must not be executed in reader's goroutine. +func (t *http2Client) CloseStream(s *Stream, err error) { + var ( + rst bool + rstCode http2.ErrCode + ) + if err != nil { + rst = true + rstCode = http2.ErrCodeCancel + } + t.closeStream(s, err, rst, rstCode, status.Convert(err), nil, false) +} + +func (t *http2Client) closeStream(s *Stream, err error, rst bool, rstCode http2.ErrCode, st *status.Status, mdata map[string][]string, eosReceived bool) { + // Set stream status to done. + if s.swapState(streamDone) == streamDone { + // If it was already done, return. If multiple closeStream calls + // happen simultaneously, wait for the first to finish. + <-s.done + return + } + // status and trailers can be updated here without any synchronization because the stream goroutine will + // only read it after it sees an io.EOF error from read or write and we'll write those errors + // only after updating this. + s.status = st + if len(mdata) > 0 { + s.trailer = mdata + } + if err != nil { + // This will unblock reads eventually. + s.write(recvMsg{err: err}) + } + // If headerChan isn't closed, then close it. + if atomic.CompareAndSwapUint32(&s.headerChanClosed, 0, 1) { + s.noHeaders = true + close(s.headerChan) + } + cleanup := &cleanupStream{ + streamID: s.id, + onWrite: func() { + t.mu.Lock() + if t.activeStreams != nil { + delete(t.activeStreams, s.id) + } + t.mu.Unlock() + if channelz.IsOn() { + if eosReceived { + atomic.AddInt64(&t.czData.streamsSucceeded, 1) + } else { + atomic.AddInt64(&t.czData.streamsFailed, 1) + } + } + }, + rst: rst, + rstCode: rstCode, + } + addBackStreamQuota := func(interface{}) bool { + t.streamQuota++ + if t.streamQuota > 0 && t.waitingStreams > 0 { + select { + case t.streamsQuotaAvailable <- struct{}{}: + default: + } + } + return true + } + t.controlBuf.executeAndPut(addBackStreamQuota, cleanup) + // This will unblock write. + close(s.done) +} + +// Close kicks off the shutdown process of the transport. This should be called +// only once on a transport. Once it is called, the transport should not be +// accessed any more. +// +// This method blocks until the addrConn that initiated this transport is +// re-connected. This happens because t.onClose() begins reconnect logic at the +// addrConn level and blocks until the addrConn is successfully connected. +func (t *http2Client) Close() error { + t.mu.Lock() + // Make sure we only Close once. + if t.state == closing { + t.mu.Unlock() + return nil + } + // Call t.onClose before setting the state to closing to prevent the client + // from attempting to create new streams ASAP. + t.onClose() + t.state = closing + streams := t.activeStreams + t.activeStreams = nil + t.mu.Unlock() + t.controlBuf.finish() + t.cancel() + err := t.conn.Close() + if channelz.IsOn() { + channelz.RemoveEntry(t.channelzID) + } + // Notify all active streams. + for _, s := range streams { + t.closeStream(s, ErrConnClosing, false, http2.ErrCodeNo, status.New(codes.Unavailable, ErrConnClosing.Desc), nil, false) + } + if t.statsHandler != nil { + connEnd := &stats.ConnEnd{ + Client: true, + } + t.statsHandler.HandleConn(t.ctx, connEnd) + } + return err +} + +// GracefulClose sets the state to draining, which prevents new streams from +// being created and causes the transport to be closed when the last active +// stream is closed. If there are no active streams, the transport is closed +// immediately. This does nothing if the transport is already draining or +// closing. +func (t *http2Client) GracefulClose() { + t.mu.Lock() + // Make sure we move to draining only from active. + if t.state == draining || t.state == closing { + t.mu.Unlock() + return + } + t.state = draining + active := len(t.activeStreams) + t.mu.Unlock() + if active == 0 { + t.Close() + return + } + t.controlBuf.put(&incomingGoAway{}) +} + +// Write formats the data into HTTP2 data frame(s) and sends it out. The caller +// should proceed only if Write returns nil. +func (t *http2Client) Write(s *Stream, hdr []byte, data []byte, opts *Options) error { + if opts.Last { + // If it's the last message, update stream state. + if !s.compareAndSwapState(streamActive, streamWriteDone) { + return errStreamDone + } + } else if s.getState() != streamActive { + return errStreamDone + } + df := &dataFrame{ + streamID: s.id, + endStream: opts.Last, + } + if hdr != nil || data != nil { // If it's not an empty data frame. + // Add some data to grpc message header so that we can equally + // distribute bytes across frames. + emptyLen := http2MaxFrameLen - len(hdr) + if emptyLen > len(data) { + emptyLen = len(data) + } + hdr = append(hdr, data[:emptyLen]...) + data = data[emptyLen:] + df.h, df.d = hdr, data + // TODO(mmukhi): The above logic in this if can be moved to loopyWriter's data handler. + if err := s.wq.get(int32(len(hdr) + len(data))); err != nil { + return err + } + } + return t.controlBuf.put(df) +} + +func (t *http2Client) getStream(f http2.Frame) (*Stream, bool) { + t.mu.Lock() + defer t.mu.Unlock() + s, ok := t.activeStreams[f.Header().StreamID] + return s, ok +} + +// adjustWindow sends out extra window update over the initial window size +// of stream if the application is requesting data larger in size than +// the window. +func (t *http2Client) adjustWindow(s *Stream, n uint32) { + if w := s.fc.maybeAdjust(n); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{streamID: s.id, increment: w}) + } +} + +// updateWindow adjusts the inbound quota for the stream. +// Window updates will be sent out when the cumulative quota +// exceeds the corresponding threshold. +func (t *http2Client) updateWindow(s *Stream, n uint32) { + if w := s.fc.onRead(n); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{streamID: s.id, increment: w}) + } +} + +// updateFlowControl updates the incoming flow control windows +// for the transport and the stream based on the current bdp +// estimation. +func (t *http2Client) updateFlowControl(n uint32) { + t.mu.Lock() + for _, s := range t.activeStreams { + s.fc.newLimit(n) + } + t.mu.Unlock() + updateIWS := func(interface{}) bool { + t.initialWindowSize = int32(n) + return true + } + t.controlBuf.executeAndPut(updateIWS, &outgoingWindowUpdate{streamID: 0, increment: t.fc.newLimit(n)}) + t.controlBuf.put(&outgoingSettings{ + ss: []http2.Setting{ + { + ID: http2.SettingInitialWindowSize, + Val: n, + }, + }, + }) +} + +func (t *http2Client) handleData(f *http2.DataFrame) { + size := f.Header().Length + var sendBDPPing bool + if t.bdpEst != nil { + sendBDPPing = t.bdpEst.add(size) + } + // Decouple connection's flow control from application's read. + // An update on connection's flow control should not depend on + // whether user application has read the data or not. Such a + // restriction is already imposed on the stream's flow control, + // and therefore the sender will be blocked anyways. + // Decoupling the connection flow control will prevent other + // active(fast) streams from starving in presence of slow or + // inactive streams. + // + if w := t.fc.onData(size); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{ + streamID: 0, + increment: w, + }) + } + if sendBDPPing { + // Avoid excessive ping detection (e.g. in an L7 proxy) + // by sending a window update prior to the BDP ping. + + if w := t.fc.reset(); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{ + streamID: 0, + increment: w, + }) + } + + t.controlBuf.put(bdpPing) + } + // Select the right stream to dispatch. + s, ok := t.getStream(f) + if !ok { + return + } + if size > 0 { + if err := s.fc.onData(size); err != nil { + t.closeStream(s, io.EOF, true, http2.ErrCodeFlowControl, status.New(codes.Internal, err.Error()), nil, false) + return + } + if f.Header().Flags.Has(http2.FlagDataPadded) { + if w := s.fc.onRead(size - uint32(len(f.Data()))); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{s.id, w}) + } + } + // TODO(bradfitz, zhaoq): A copy is required here because there is no + // guarantee f.Data() is consumed before the arrival of next frame. + // Can this copy be eliminated? + if len(f.Data()) > 0 { + buffer := t.bufferPool.get() + buffer.Reset() + buffer.Write(f.Data()) + s.write(recvMsg{buffer: buffer}) + } + } + // The server has closed the stream without sending trailers. Record that + // the read direction is closed, and set the status appropriately. + if f.FrameHeader.Flags.Has(http2.FlagDataEndStream) { + t.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.New(codes.Internal, "server closed the stream without sending trailers"), nil, true) + } +} + +func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) { + s, ok := t.getStream(f) + if !ok { + return + } + if f.ErrCode == http2.ErrCodeRefusedStream { + // The stream was unprocessed by the server. + atomic.StoreUint32(&s.unprocessed, 1) + } + statusCode, ok := http2ErrConvTab[f.ErrCode] + if !ok { + warningf("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error %v", f.ErrCode) + statusCode = codes.Unknown + } + if statusCode == codes.Canceled { + if d, ok := s.ctx.Deadline(); ok && !d.After(time.Now()) { + // Our deadline was already exceeded, and that was likely the cause + // of this cancelation. Alter the status code accordingly. + statusCode = codes.DeadlineExceeded + } + } + t.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.Newf(statusCode, "stream terminated by RST_STREAM with error code: %v", f.ErrCode), nil, false) +} + +func (t *http2Client) handleSettings(f *http2.SettingsFrame, isFirst bool) { + if f.IsAck() { + return + } + var maxStreams *uint32 + var ss []http2.Setting + var updateFuncs []func() + f.ForeachSetting(func(s http2.Setting) error { + switch s.ID { + case http2.SettingMaxConcurrentStreams: + maxStreams = new(uint32) + *maxStreams = s.Val + case http2.SettingMaxHeaderListSize: + updateFuncs = append(updateFuncs, func() { + t.maxSendHeaderListSize = new(uint32) + *t.maxSendHeaderListSize = s.Val + }) + default: + ss = append(ss, s) + } + return nil + }) + if isFirst && maxStreams == nil { + maxStreams = new(uint32) + *maxStreams = math.MaxUint32 + } + sf := &incomingSettings{ + ss: ss, + } + if maxStreams != nil { + updateStreamQuota := func() { + delta := int64(*maxStreams) - int64(t.maxConcurrentStreams) + t.maxConcurrentStreams = *maxStreams + t.streamQuota += delta + if delta > 0 && t.waitingStreams > 0 { + close(t.streamsQuotaAvailable) // wake all of them up. + t.streamsQuotaAvailable = make(chan struct{}, 1) + } + } + updateFuncs = append(updateFuncs, updateStreamQuota) + } + t.controlBuf.executeAndPut(func(interface{}) bool { + for _, f := range updateFuncs { + f() + } + return true + }, sf) +} + +func (t *http2Client) handlePing(f *http2.PingFrame) { + if f.IsAck() { + // Maybe it's a BDP ping. + if t.bdpEst != nil { + t.bdpEst.calculate(f.Data) + } + return + } + pingAck := &ping{ack: true} + copy(pingAck.data[:], f.Data[:]) + t.controlBuf.put(pingAck) +} + +func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) { + t.mu.Lock() + if t.state == closing { + t.mu.Unlock() + return + } + if f.ErrCode == http2.ErrCodeEnhanceYourCalm { + infof("Client received GoAway with http2.ErrCodeEnhanceYourCalm.") + } + id := f.LastStreamID + if id > 0 && id%2 != 1 { + t.mu.Unlock() + t.Close() + return + } + // A client can receive multiple GoAways from the server (see + // https://github.com/grpc/grpc-go/issues/1387). The idea is that the first + // GoAway will be sent with an ID of MaxInt32 and the second GoAway will be + // sent after an RTT delay with the ID of the last stream the server will + // process. + // + // Therefore, when we get the first GoAway we don't necessarily close any + // streams. While in case of second GoAway we close all streams created after + // the GoAwayId. This way streams that were in-flight while the GoAway from + // server was being sent don't get killed. + select { + case <-t.goAway: // t.goAway has been closed (i.e.,multiple GoAways). + // If there are multiple GoAways the first one should always have an ID greater than the following ones. + if id > t.prevGoAwayID { + t.mu.Unlock() + t.Close() + return + } + default: + t.setGoAwayReason(f) + close(t.goAway) + t.controlBuf.put(&incomingGoAway{}) + // Notify the clientconn about the GOAWAY before we set the state to + // draining, to allow the client to stop attempting to create streams + // before disallowing new streams on this connection. + t.onGoAway(t.goAwayReason) + t.state = draining + } + // All streams with IDs greater than the GoAwayId + // and smaller than the previous GoAway ID should be killed. + upperLimit := t.prevGoAwayID + if upperLimit == 0 { // This is the first GoAway Frame. + upperLimit = math.MaxUint32 // Kill all streams after the GoAway ID. + } + for streamID, stream := range t.activeStreams { + if streamID > id && streamID <= upperLimit { + // The stream was unprocessed by the server. + atomic.StoreUint32(&stream.unprocessed, 1) + t.closeStream(stream, errStreamDrain, false, http2.ErrCodeNo, statusGoAway, nil, false) + } + } + t.prevGoAwayID = id + active := len(t.activeStreams) + t.mu.Unlock() + if active == 0 { + t.Close() + } +} + +// setGoAwayReason sets the value of t.goAwayReason based +// on the GoAway frame received. +// It expects a lock on transport's mutext to be held by +// the caller. +func (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) { + t.goAwayReason = GoAwayNoReason + switch f.ErrCode { + case http2.ErrCodeEnhanceYourCalm: + if string(f.DebugData()) == "too_many_pings" { + t.goAwayReason = GoAwayTooManyPings + } + } +} + +func (t *http2Client) GetGoAwayReason() GoAwayReason { + t.mu.Lock() + defer t.mu.Unlock() + return t.goAwayReason +} + +func (t *http2Client) handleWindowUpdate(f *http2.WindowUpdateFrame) { + t.controlBuf.put(&incomingWindowUpdate{ + streamID: f.Header().StreamID, + increment: f.Increment, + }) +} + +// operateHeaders takes action on the decoded headers. +func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) { + s, ok := t.getStream(frame) + if !ok { + return + } + endStream := frame.StreamEnded() + atomic.StoreUint32(&s.bytesReceived, 1) + initialHeader := atomic.LoadUint32(&s.headerChanClosed) == 0 + + if !initialHeader && !endStream { + // As specified by gRPC over HTTP2, a HEADERS frame (and associated CONTINUATION frames) can only appear at the start or end of a stream. Therefore, second HEADERS frame must have EOS bit set. + st := status.New(codes.Internal, "a HEADERS frame cannot appear in the middle of a stream") + t.closeStream(s, st.Err(), true, http2.ErrCodeProtocol, st, nil, false) + return + } + + state := &decodeState{} + // Initialize isGRPC value to be !initialHeader, since if a gRPC Response-Headers has already been received, then it means that the peer is speaking gRPC and we are in gRPC mode. + state.data.isGRPC = !initialHeader + if err := state.decodeHeader(frame); err != nil { + t.closeStream(s, err, true, http2.ErrCodeProtocol, status.Convert(err), nil, endStream) + return + } + + isHeader := false + defer func() { + if t.statsHandler != nil { + if isHeader { + inHeader := &stats.InHeader{ + Client: true, + WireLength: int(frame.Header().Length), + } + t.statsHandler.HandleRPC(s.ctx, inHeader) + } else { + inTrailer := &stats.InTrailer{ + Client: true, + WireLength: int(frame.Header().Length), + } + t.statsHandler.HandleRPC(s.ctx, inTrailer) + } + } + }() + + // If headerChan hasn't been closed yet + if atomic.CompareAndSwapUint32(&s.headerChanClosed, 0, 1) { + if !endStream { + // HEADERS frame block carries a Response-Headers. + isHeader = true + // These values can be set without any synchronization because + // stream goroutine will read it only after seeing a closed + // headerChan which we'll close after setting this. + s.recvCompress = state.data.encoding + if len(state.data.mdata) > 0 { + s.header = state.data.mdata + } + } else { + // HEADERS frame block carries a Trailers-Only. + s.noHeaders = true + } + close(s.headerChan) + } + + if !endStream { + return + } + + // if client received END_STREAM from server while stream was still active, send RST_STREAM + rst := s.getState() == streamActive + t.closeStream(s, io.EOF, rst, http2.ErrCodeNo, state.status(), state.data.mdata, true) +} + +// reader runs as a separate goroutine in charge of reading data from network +// connection. +// +// TODO(zhaoq): currently one reader per transport. Investigate whether this is +// optimal. +// TODO(zhaoq): Check the validity of the incoming frame sequence. +func (t *http2Client) reader() { + defer close(t.readerDone) + // Check the validity of server preface. + frame, err := t.framer.fr.ReadFrame() + if err != nil { + t.Close() // this kicks off resetTransport, so must be last before return + return + } + t.conn.SetReadDeadline(time.Time{}) // reset deadline once we get the settings frame (we didn't time out, yay!) + if t.keepaliveEnabled { + atomic.CompareAndSwapUint32(&t.activity, 0, 1) + } + sf, ok := frame.(*http2.SettingsFrame) + if !ok { + t.Close() // this kicks off resetTransport, so must be last before return + return + } + t.onPrefaceReceipt() + t.handleSettings(sf, true) + + // loop to keep reading incoming messages on this transport. + for { + t.controlBuf.throttle() + frame, err := t.framer.fr.ReadFrame() + if t.keepaliveEnabled { + atomic.CompareAndSwapUint32(&t.activity, 0, 1) + } + if err != nil { + // Abort an active stream if the http2.Framer returns a + // http2.StreamError. This can happen only if the server's response + // is malformed http2. + if se, ok := err.(http2.StreamError); ok { + t.mu.Lock() + s := t.activeStreams[se.StreamID] + t.mu.Unlock() + if s != nil { + // use error detail to provide better err message + code := http2ErrConvTab[se.Code] + msg := t.framer.fr.ErrorDetail().Error() + t.closeStream(s, status.Error(code, msg), true, http2.ErrCodeProtocol, status.New(code, msg), nil, false) + } + continue + } else { + // Transport error. + t.Close() + return + } + } + switch frame := frame.(type) { + case *http2.MetaHeadersFrame: + t.operateHeaders(frame) + case *http2.DataFrame: + t.handleData(frame) + case *http2.RSTStreamFrame: + t.handleRSTStream(frame) + case *http2.SettingsFrame: + t.handleSettings(frame, false) + case *http2.PingFrame: + t.handlePing(frame) + case *http2.GoAwayFrame: + t.handleGoAway(frame) + case *http2.WindowUpdateFrame: + t.handleWindowUpdate(frame) + default: + errorf("transport: http2Client.reader got unhandled frame type %v.", frame) + } + } +} + +// keepalive running in a separate goroutune makes sure the connection is alive by sending pings. +func (t *http2Client) keepalive() { + p := &ping{data: [8]byte{}} + timer := time.NewTimer(t.kp.Time) + for { + select { + case <-timer.C: + if atomic.CompareAndSwapUint32(&t.activity, 1, 0) { + timer.Reset(t.kp.Time) + continue + } + // Check if keepalive should go dormant. + t.mu.Lock() + if len(t.activeStreams) < 1 && !t.kp.PermitWithoutStream { + // Make awakenKeepalive writable. + <-t.awakenKeepalive + t.mu.Unlock() + select { + case <-t.awakenKeepalive: + // If the control gets here a ping has been sent + // need to reset the timer with keepalive.Timeout. + case <-t.ctx.Done(): + return + } + } else { + t.mu.Unlock() + if channelz.IsOn() { + atomic.AddInt64(&t.czData.kpCount, 1) + } + // Send ping. + t.controlBuf.put(p) + } + + // By the time control gets here a ping has been sent one way or the other. + timer.Reset(t.kp.Timeout) + select { + case <-timer.C: + if atomic.CompareAndSwapUint32(&t.activity, 1, 0) { + timer.Reset(t.kp.Time) + continue + } + infof("transport: closing client transport due to idleness.") + t.Close() + return + case <-t.ctx.Done(): + if !timer.Stop() { + <-timer.C + } + return + } + case <-t.ctx.Done(): + if !timer.Stop() { + <-timer.C + } + return + } + } +} + +func (t *http2Client) Error() <-chan struct{} { + return t.ctx.Done() +} + +func (t *http2Client) GoAway() <-chan struct{} { + return t.goAway +} + +func (t *http2Client) ChannelzMetric() *channelz.SocketInternalMetric { + s := channelz.SocketInternalMetric{ + StreamsStarted: atomic.LoadInt64(&t.czData.streamsStarted), + StreamsSucceeded: atomic.LoadInt64(&t.czData.streamsSucceeded), + StreamsFailed: atomic.LoadInt64(&t.czData.streamsFailed), + MessagesSent: atomic.LoadInt64(&t.czData.msgSent), + MessagesReceived: atomic.LoadInt64(&t.czData.msgRecv), + KeepAlivesSent: atomic.LoadInt64(&t.czData.kpCount), + LastLocalStreamCreatedTimestamp: time.Unix(0, atomic.LoadInt64(&t.czData.lastStreamCreatedTime)), + LastMessageSentTimestamp: time.Unix(0, atomic.LoadInt64(&t.czData.lastMsgSentTime)), + LastMessageReceivedTimestamp: time.Unix(0, atomic.LoadInt64(&t.czData.lastMsgRecvTime)), + LocalFlowControlWindow: int64(t.fc.getSize()), + SocketOptions: channelz.GetSocketOption(t.conn), + LocalAddr: t.localAddr, + RemoteAddr: t.remoteAddr, + // RemoteName : + } + if au, ok := t.authInfo.(credentials.ChannelzSecurityInfo); ok { + s.Security = au.GetSecurityValue() + } + s.RemoteFlowControlWindow = t.getOutFlowWindow() + return &s +} + +func (t *http2Client) RemoteAddr() net.Addr { return t.remoteAddr } + +func (t *http2Client) IncrMsgSent() { + atomic.AddInt64(&t.czData.msgSent, 1) + atomic.StoreInt64(&t.czData.lastMsgSentTime, time.Now().UnixNano()) +} + +func (t *http2Client) IncrMsgRecv() { + atomic.AddInt64(&t.czData.msgRecv, 1) + atomic.StoreInt64(&t.czData.lastMsgRecvTime, time.Now().UnixNano()) +} + +func (t *http2Client) getOutFlowWindow() int64 { + resp := make(chan uint32, 1) + timer := time.NewTimer(time.Second) + defer timer.Stop() + t.controlBuf.put(&outFlowControlSizeRequest{resp}) + select { + case sz := <-resp: + return int64(sz) + case <-t.ctxDone: + return -1 + case <-timer.C: + return -2 + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_server.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_server.go new file mode 100644 index 0000000..83439b5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http2_server.go @@ -0,0 +1,1220 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package transport + +import ( + "bytes" + "context" + "errors" + "fmt" + "io" + "math" + "net" + "strconv" + "sync" + "sync/atomic" + "time" + + "github.com/golang/protobuf/proto" + "golang.org/x/net/http2" + "golang.org/x/net/http2/hpack" + + spb "google.golang.org/genproto/googleapis/rpc/status" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal" + "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/internal/grpcrand" + "google.golang.org/grpc/keepalive" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/peer" + "google.golang.org/grpc/stats" + "google.golang.org/grpc/status" + "google.golang.org/grpc/tap" +) + +var ( + // ErrIllegalHeaderWrite indicates that setting header is illegal because of + // the stream's state. + ErrIllegalHeaderWrite = errors.New("transport: the stream is done or WriteHeader was already called") + // ErrHeaderListSizeLimitViolation indicates that the header list size is larger + // than the limit set by peer. + ErrHeaderListSizeLimitViolation = errors.New("transport: trying to send header list size larger than the limit set by peer") + // statusRawProto is a function to get to the raw status proto wrapped in a + // status.Status without a proto.Clone(). + statusRawProto = internal.StatusRawProto.(func(*status.Status) *spb.Status) +) + +// http2Server implements the ServerTransport interface with HTTP2. +type http2Server struct { + ctx context.Context + ctxDone <-chan struct{} // Cache the context.Done() chan + cancel context.CancelFunc + conn net.Conn + loopy *loopyWriter + readerDone chan struct{} // sync point to enable testing. + writerDone chan struct{} // sync point to enable testing. + remoteAddr net.Addr + localAddr net.Addr + maxStreamID uint32 // max stream ID ever seen + authInfo credentials.AuthInfo // auth info about the connection + inTapHandle tap.ServerInHandle + framer *framer + // The max number of concurrent streams. + maxStreams uint32 + // controlBuf delivers all the control related tasks (e.g., window + // updates, reset streams, and various settings) to the controller. + controlBuf *controlBuffer + fc *trInFlow + stats stats.Handler + // Flag to keep track of reading activity on transport. + // 1 is true and 0 is false. + activity uint32 // Accessed atomically. + // Keepalive and max-age parameters for the server. + kp keepalive.ServerParameters + + // Keepalive enforcement policy. + kep keepalive.EnforcementPolicy + // The time instance last ping was received. + lastPingAt time.Time + // Number of times the client has violated keepalive ping policy so far. + pingStrikes uint8 + // Flag to signify that number of ping strikes should be reset to 0. + // This is set whenever data or header frames are sent. + // 1 means yes. + resetPingStrikes uint32 // Accessed atomically. + initialWindowSize int32 + bdpEst *bdpEstimator + maxSendHeaderListSize *uint32 + + mu sync.Mutex // guard the following + + // drainChan is initialized when drain(...) is called the first time. + // After which the server writes out the first GoAway(with ID 2^31-1) frame. + // Then an independent goroutine will be launched to later send the second GoAway. + // During this time we don't want to write another first GoAway(with ID 2^31 -1) frame. + // Thus call to drain(...) will be a no-op if drainChan is already initialized since draining is + // already underway. + drainChan chan struct{} + state transportState + activeStreams map[uint32]*Stream + // idle is the time instant when the connection went idle. + // This is either the beginning of the connection or when the number of + // RPCs go down to 0. + // When the connection is busy, this value is set to 0. + idle time.Time + + // Fields below are for channelz metric collection. + channelzID int64 // channelz unique identification number + czData *channelzData + bufferPool *bufferPool +} + +// newHTTP2Server constructs a ServerTransport based on HTTP2. ConnectionError is +// returned if something goes wrong. +func newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err error) { + writeBufSize := config.WriteBufferSize + readBufSize := config.ReadBufferSize + maxHeaderListSize := defaultServerMaxHeaderListSize + if config.MaxHeaderListSize != nil { + maxHeaderListSize = *config.MaxHeaderListSize + } + framer := newFramer(conn, writeBufSize, readBufSize, maxHeaderListSize) + // Send initial settings as connection preface to client. + var isettings []http2.Setting + // TODO(zhaoq): Have a better way to signal "no limit" because 0 is + // permitted in the HTTP2 spec. + maxStreams := config.MaxStreams + if maxStreams == 0 { + maxStreams = math.MaxUint32 + } else { + isettings = append(isettings, http2.Setting{ + ID: http2.SettingMaxConcurrentStreams, + Val: maxStreams, + }) + } + dynamicWindow := true + iwz := int32(initialWindowSize) + if config.InitialWindowSize >= defaultWindowSize { + iwz = config.InitialWindowSize + dynamicWindow = false + } + icwz := int32(initialWindowSize) + if config.InitialConnWindowSize >= defaultWindowSize { + icwz = config.InitialConnWindowSize + dynamicWindow = false + } + if iwz != defaultWindowSize { + isettings = append(isettings, http2.Setting{ + ID: http2.SettingInitialWindowSize, + Val: uint32(iwz)}) + } + if config.MaxHeaderListSize != nil { + isettings = append(isettings, http2.Setting{ + ID: http2.SettingMaxHeaderListSize, + Val: *config.MaxHeaderListSize, + }) + } + if err := framer.fr.WriteSettings(isettings...); err != nil { + return nil, connectionErrorf(false, err, "transport: %v", err) + } + // Adjust the connection flow control window if needed. + if delta := uint32(icwz - defaultWindowSize); delta > 0 { + if err := framer.fr.WriteWindowUpdate(0, delta); err != nil { + return nil, connectionErrorf(false, err, "transport: %v", err) + } + } + kp := config.KeepaliveParams + if kp.MaxConnectionIdle == 0 { + kp.MaxConnectionIdle = defaultMaxConnectionIdle + } + if kp.MaxConnectionAge == 0 { + kp.MaxConnectionAge = defaultMaxConnectionAge + } + // Add a jitter to MaxConnectionAge. + kp.MaxConnectionAge += getJitter(kp.MaxConnectionAge) + if kp.MaxConnectionAgeGrace == 0 { + kp.MaxConnectionAgeGrace = defaultMaxConnectionAgeGrace + } + if kp.Time == 0 { + kp.Time = defaultServerKeepaliveTime + } + if kp.Timeout == 0 { + kp.Timeout = defaultServerKeepaliveTimeout + } + kep := config.KeepalivePolicy + if kep.MinTime == 0 { + kep.MinTime = defaultKeepalivePolicyMinTime + } + ctx, cancel := context.WithCancel(context.Background()) + t := &http2Server{ + ctx: ctx, + cancel: cancel, + ctxDone: ctx.Done(), + conn: conn, + remoteAddr: conn.RemoteAddr(), + localAddr: conn.LocalAddr(), + authInfo: config.AuthInfo, + framer: framer, + readerDone: make(chan struct{}), + writerDone: make(chan struct{}), + maxStreams: maxStreams, + inTapHandle: config.InTapHandle, + fc: &trInFlow{limit: uint32(icwz)}, + state: reachable, + activeStreams: make(map[uint32]*Stream), + stats: config.StatsHandler, + kp: kp, + idle: time.Now(), + kep: kep, + initialWindowSize: iwz, + czData: new(channelzData), + bufferPool: newBufferPool(), + } + t.controlBuf = newControlBuffer(t.ctxDone) + if dynamicWindow { + t.bdpEst = &bdpEstimator{ + bdp: initialWindowSize, + updateFlowControl: t.updateFlowControl, + } + } + if t.stats != nil { + t.ctx = t.stats.TagConn(t.ctx, &stats.ConnTagInfo{ + RemoteAddr: t.remoteAddr, + LocalAddr: t.localAddr, + }) + connBegin := &stats.ConnBegin{} + t.stats.HandleConn(t.ctx, connBegin) + } + if channelz.IsOn() { + t.channelzID = channelz.RegisterNormalSocket(t, config.ChannelzParentID, fmt.Sprintf("%s -> %s", t.remoteAddr, t.localAddr)) + } + t.framer.writer.Flush() + + defer func() { + if err != nil { + t.Close() + } + }() + + // Check the validity of client preface. + preface := make([]byte, len(clientPreface)) + if _, err := io.ReadFull(t.conn, preface); err != nil { + return nil, connectionErrorf(false, err, "transport: http2Server.HandleStreams failed to receive the preface from client: %v", err) + } + if !bytes.Equal(preface, clientPreface) { + return nil, connectionErrorf(false, nil, "transport: http2Server.HandleStreams received bogus greeting from client: %q", preface) + } + + frame, err := t.framer.fr.ReadFrame() + if err == io.EOF || err == io.ErrUnexpectedEOF { + return nil, err + } + if err != nil { + return nil, connectionErrorf(false, err, "transport: http2Server.HandleStreams failed to read initial settings frame: %v", err) + } + atomic.StoreUint32(&t.activity, 1) + sf, ok := frame.(*http2.SettingsFrame) + if !ok { + return nil, connectionErrorf(false, nil, "transport: http2Server.HandleStreams saw invalid preface type %T from client", frame) + } + t.handleSettings(sf) + + go func() { + t.loopy = newLoopyWriter(serverSide, t.framer, t.controlBuf, t.bdpEst) + t.loopy.ssGoAwayHandler = t.outgoingGoAwayHandler + if err := t.loopy.run(); err != nil { + errorf("transport: loopyWriter.run returning. Err: %v", err) + } + t.conn.Close() + close(t.writerDone) + }() + go t.keepalive() + return t, nil +} + +// operateHeader takes action on the decoded headers. +func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(*Stream), traceCtx func(context.Context, string) context.Context) (fatal bool) { + streamID := frame.Header().StreamID + state := &decodeState{ + serverSide: true, + } + if err := state.decodeHeader(frame); err != nil { + if se, ok := status.FromError(err); ok { + t.controlBuf.put(&cleanupStream{ + streamID: streamID, + rst: true, + rstCode: statusCodeConvTab[se.Code()], + onWrite: func() {}, + }) + } + return false + } + + buf := newRecvBuffer() + s := &Stream{ + id: streamID, + st: t, + buf: buf, + fc: &inFlow{limit: uint32(t.initialWindowSize)}, + recvCompress: state.data.encoding, + method: state.data.method, + contentSubtype: state.data.contentSubtype, + } + if frame.StreamEnded() { + // s is just created by the caller. No lock needed. + s.state = streamReadDone + } + if state.data.timeoutSet { + s.ctx, s.cancel = context.WithTimeout(t.ctx, state.data.timeout) + } else { + s.ctx, s.cancel = context.WithCancel(t.ctx) + } + pr := &peer.Peer{ + Addr: t.remoteAddr, + } + // Attach Auth info if there is any. + if t.authInfo != nil { + pr.AuthInfo = t.authInfo + } + s.ctx = peer.NewContext(s.ctx, pr) + // Attach the received metadata to the context. + if len(state.data.mdata) > 0 { + s.ctx = metadata.NewIncomingContext(s.ctx, state.data.mdata) + } + if state.data.statsTags != nil { + s.ctx = stats.SetIncomingTags(s.ctx, state.data.statsTags) + } + if state.data.statsTrace != nil { + s.ctx = stats.SetIncomingTrace(s.ctx, state.data.statsTrace) + } + if t.inTapHandle != nil { + var err error + info := &tap.Info{ + FullMethodName: state.data.method, + } + s.ctx, err = t.inTapHandle(s.ctx, info) + if err != nil { + warningf("transport: http2Server.operateHeaders got an error from InTapHandle: %v", err) + t.controlBuf.put(&cleanupStream{ + streamID: s.id, + rst: true, + rstCode: http2.ErrCodeRefusedStream, + onWrite: func() {}, + }) + return false + } + } + t.mu.Lock() + if t.state != reachable { + t.mu.Unlock() + return false + } + if uint32(len(t.activeStreams)) >= t.maxStreams { + t.mu.Unlock() + t.controlBuf.put(&cleanupStream{ + streamID: streamID, + rst: true, + rstCode: http2.ErrCodeRefusedStream, + onWrite: func() {}, + }) + return false + } + if streamID%2 != 1 || streamID <= t.maxStreamID { + t.mu.Unlock() + // illegal gRPC stream id. + errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", streamID) + return true + } + t.maxStreamID = streamID + t.activeStreams[streamID] = s + if len(t.activeStreams) == 1 { + t.idle = time.Time{} + } + t.mu.Unlock() + if channelz.IsOn() { + atomic.AddInt64(&t.czData.streamsStarted, 1) + atomic.StoreInt64(&t.czData.lastStreamCreatedTime, time.Now().UnixNano()) + } + s.requestRead = func(n int) { + t.adjustWindow(s, uint32(n)) + } + s.ctx = traceCtx(s.ctx, s.method) + if t.stats != nil { + s.ctx = t.stats.TagRPC(s.ctx, &stats.RPCTagInfo{FullMethodName: s.method}) + inHeader := &stats.InHeader{ + FullMethod: s.method, + RemoteAddr: t.remoteAddr, + LocalAddr: t.localAddr, + Compression: s.recvCompress, + WireLength: int(frame.Header().Length), + } + t.stats.HandleRPC(s.ctx, inHeader) + } + s.ctxDone = s.ctx.Done() + s.wq = newWriteQuota(defaultWriteQuota, s.ctxDone) + s.trReader = &transportReader{ + reader: &recvBufferReader{ + ctx: s.ctx, + ctxDone: s.ctxDone, + recv: s.buf, + freeBuffer: t.bufferPool.put, + }, + windowHandler: func(n int) { + t.updateWindow(s, uint32(n)) + }, + } + // Register the stream with loopy. + t.controlBuf.put(®isterStream{ + streamID: s.id, + wq: s.wq, + }) + handle(s) + return false +} + +// HandleStreams receives incoming streams using the given handler. This is +// typically run in a separate goroutine. +// traceCtx attaches trace to ctx and returns the new context. +func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.Context, string) context.Context) { + defer close(t.readerDone) + for { + t.controlBuf.throttle() + frame, err := t.framer.fr.ReadFrame() + atomic.StoreUint32(&t.activity, 1) + if err != nil { + if se, ok := err.(http2.StreamError); ok { + warningf("transport: http2Server.HandleStreams encountered http2.StreamError: %v", se) + t.mu.Lock() + s := t.activeStreams[se.StreamID] + t.mu.Unlock() + if s != nil { + t.closeStream(s, true, se.Code, false) + } else { + t.controlBuf.put(&cleanupStream{ + streamID: se.StreamID, + rst: true, + rstCode: se.Code, + onWrite: func() {}, + }) + } + continue + } + if err == io.EOF || err == io.ErrUnexpectedEOF { + t.Close() + return + } + warningf("transport: http2Server.HandleStreams failed to read frame: %v", err) + t.Close() + return + } + switch frame := frame.(type) { + case *http2.MetaHeadersFrame: + if t.operateHeaders(frame, handle, traceCtx) { + t.Close() + break + } + case *http2.DataFrame: + t.handleData(frame) + case *http2.RSTStreamFrame: + t.handleRSTStream(frame) + case *http2.SettingsFrame: + t.handleSettings(frame) + case *http2.PingFrame: + t.handlePing(frame) + case *http2.WindowUpdateFrame: + t.handleWindowUpdate(frame) + case *http2.GoAwayFrame: + // TODO: Handle GoAway from the client appropriately. + default: + errorf("transport: http2Server.HandleStreams found unhandled frame type %v.", frame) + } + } +} + +func (t *http2Server) getStream(f http2.Frame) (*Stream, bool) { + t.mu.Lock() + defer t.mu.Unlock() + if t.activeStreams == nil { + // The transport is closing. + return nil, false + } + s, ok := t.activeStreams[f.Header().StreamID] + if !ok { + // The stream is already done. + return nil, false + } + return s, true +} + +// adjustWindow sends out extra window update over the initial window size +// of stream if the application is requesting data larger in size than +// the window. +func (t *http2Server) adjustWindow(s *Stream, n uint32) { + if w := s.fc.maybeAdjust(n); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{streamID: s.id, increment: w}) + } + +} + +// updateWindow adjusts the inbound quota for the stream and the transport. +// Window updates will deliver to the controller for sending when +// the cumulative quota exceeds the corresponding threshold. +func (t *http2Server) updateWindow(s *Stream, n uint32) { + if w := s.fc.onRead(n); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{streamID: s.id, + increment: w, + }) + } +} + +// updateFlowControl updates the incoming flow control windows +// for the transport and the stream based on the current bdp +// estimation. +func (t *http2Server) updateFlowControl(n uint32) { + t.mu.Lock() + for _, s := range t.activeStreams { + s.fc.newLimit(n) + } + t.initialWindowSize = int32(n) + t.mu.Unlock() + t.controlBuf.put(&outgoingWindowUpdate{ + streamID: 0, + increment: t.fc.newLimit(n), + }) + t.controlBuf.put(&outgoingSettings{ + ss: []http2.Setting{ + { + ID: http2.SettingInitialWindowSize, + Val: n, + }, + }, + }) + +} + +func (t *http2Server) handleData(f *http2.DataFrame) { + size := f.Header().Length + var sendBDPPing bool + if t.bdpEst != nil { + sendBDPPing = t.bdpEst.add(size) + } + // Decouple connection's flow control from application's read. + // An update on connection's flow control should not depend on + // whether user application has read the data or not. Such a + // restriction is already imposed on the stream's flow control, + // and therefore the sender will be blocked anyways. + // Decoupling the connection flow control will prevent other + // active(fast) streams from starving in presence of slow or + // inactive streams. + if w := t.fc.onData(size); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{ + streamID: 0, + increment: w, + }) + } + if sendBDPPing { + // Avoid excessive ping detection (e.g. in an L7 proxy) + // by sending a window update prior to the BDP ping. + if w := t.fc.reset(); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{ + streamID: 0, + increment: w, + }) + } + t.controlBuf.put(bdpPing) + } + // Select the right stream to dispatch. + s, ok := t.getStream(f) + if !ok { + return + } + if size > 0 { + if err := s.fc.onData(size); err != nil { + t.closeStream(s, true, http2.ErrCodeFlowControl, false) + return + } + if f.Header().Flags.Has(http2.FlagDataPadded) { + if w := s.fc.onRead(size - uint32(len(f.Data()))); w > 0 { + t.controlBuf.put(&outgoingWindowUpdate{s.id, w}) + } + } + // TODO(bradfitz, zhaoq): A copy is required here because there is no + // guarantee f.Data() is consumed before the arrival of next frame. + // Can this copy be eliminated? + if len(f.Data()) > 0 { + buffer := t.bufferPool.get() + buffer.Reset() + buffer.Write(f.Data()) + s.write(recvMsg{buffer: buffer}) + } + } + if f.Header().Flags.Has(http2.FlagDataEndStream) { + // Received the end of stream from the client. + s.compareAndSwapState(streamActive, streamReadDone) + s.write(recvMsg{err: io.EOF}) + } +} + +func (t *http2Server) handleRSTStream(f *http2.RSTStreamFrame) { + // If the stream is not deleted from the transport's active streams map, then do a regular close stream. + if s, ok := t.getStream(f); ok { + t.closeStream(s, false, 0, false) + return + } + // If the stream is already deleted from the active streams map, then put a cleanupStream item into controlbuf to delete the stream from loopy writer's established streams map. + t.controlBuf.put(&cleanupStream{ + streamID: f.Header().StreamID, + rst: false, + rstCode: 0, + onWrite: func() {}, + }) +} + +func (t *http2Server) handleSettings(f *http2.SettingsFrame) { + if f.IsAck() { + return + } + var ss []http2.Setting + var updateFuncs []func() + f.ForeachSetting(func(s http2.Setting) error { + switch s.ID { + case http2.SettingMaxHeaderListSize: + updateFuncs = append(updateFuncs, func() { + t.maxSendHeaderListSize = new(uint32) + *t.maxSendHeaderListSize = s.Val + }) + default: + ss = append(ss, s) + } + return nil + }) + t.controlBuf.executeAndPut(func(interface{}) bool { + for _, f := range updateFuncs { + f() + } + return true + }, &incomingSettings{ + ss: ss, + }) +} + +const ( + maxPingStrikes = 2 + defaultPingTimeout = 2 * time.Hour +) + +func (t *http2Server) handlePing(f *http2.PingFrame) { + if f.IsAck() { + if f.Data == goAwayPing.data && t.drainChan != nil { + close(t.drainChan) + return + } + // Maybe it's a BDP ping. + if t.bdpEst != nil { + t.bdpEst.calculate(f.Data) + } + return + } + pingAck := &ping{ack: true} + copy(pingAck.data[:], f.Data[:]) + t.controlBuf.put(pingAck) + + now := time.Now() + defer func() { + t.lastPingAt = now + }() + // A reset ping strikes means that we don't need to check for policy + // violation for this ping and the pingStrikes counter should be set + // to 0. + if atomic.CompareAndSwapUint32(&t.resetPingStrikes, 1, 0) { + t.pingStrikes = 0 + return + } + t.mu.Lock() + ns := len(t.activeStreams) + t.mu.Unlock() + if ns < 1 && !t.kep.PermitWithoutStream { + // Keepalive shouldn't be active thus, this new ping should + // have come after at least defaultPingTimeout. + if t.lastPingAt.Add(defaultPingTimeout).After(now) { + t.pingStrikes++ + } + } else { + // Check if keepalive policy is respected. + if t.lastPingAt.Add(t.kep.MinTime).After(now) { + t.pingStrikes++ + } + } + + if t.pingStrikes > maxPingStrikes { + // Send goaway and close the connection. + errorf("transport: Got too many pings from the client, closing the connection.") + t.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte("too_many_pings"), closeConn: true}) + } +} + +func (t *http2Server) handleWindowUpdate(f *http2.WindowUpdateFrame) { + t.controlBuf.put(&incomingWindowUpdate{ + streamID: f.Header().StreamID, + increment: f.Increment, + }) +} + +func appendHeaderFieldsFromMD(headerFields []hpack.HeaderField, md metadata.MD) []hpack.HeaderField { + for k, vv := range md { + if isReservedHeader(k) { + // Clients don't tolerate reading restricted headers after some non restricted ones were sent. + continue + } + for _, v := range vv { + headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)}) + } + } + return headerFields +} + +func (t *http2Server) checkForHeaderListSize(it interface{}) bool { + if t.maxSendHeaderListSize == nil { + return true + } + hdrFrame := it.(*headerFrame) + var sz int64 + for _, f := range hdrFrame.hf { + if sz += int64(f.Size()); sz > int64(*t.maxSendHeaderListSize) { + errorf("header list size to send violates the maximum size (%d bytes) set by client", *t.maxSendHeaderListSize) + return false + } + } + return true +} + +// WriteHeader sends the header metedata md back to the client. +func (t *http2Server) WriteHeader(s *Stream, md metadata.MD) error { + if s.updateHeaderSent() || s.getState() == streamDone { + return ErrIllegalHeaderWrite + } + s.hdrMu.Lock() + if md.Len() > 0 { + if s.header.Len() > 0 { + s.header = metadata.Join(s.header, md) + } else { + s.header = md + } + } + if err := t.writeHeaderLocked(s); err != nil { + s.hdrMu.Unlock() + return err + } + s.hdrMu.Unlock() + return nil +} + +func (t *http2Server) setResetPingStrikes() { + atomic.StoreUint32(&t.resetPingStrikes, 1) +} + +func (t *http2Server) writeHeaderLocked(s *Stream) error { + // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields + // first and create a slice of that exact size. + headerFields := make([]hpack.HeaderField, 0, 2) // at least :status, content-type will be there if none else. + headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"}) + headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: contentType(s.contentSubtype)}) + if s.sendCompress != "" { + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-encoding", Value: s.sendCompress}) + } + headerFields = appendHeaderFieldsFromMD(headerFields, s.header) + success, err := t.controlBuf.executeAndPut(t.checkForHeaderListSize, &headerFrame{ + streamID: s.id, + hf: headerFields, + endStream: false, + onWrite: t.setResetPingStrikes, + }) + if !success { + if err != nil { + return err + } + t.closeStream(s, true, http2.ErrCodeInternal, false) + return ErrHeaderListSizeLimitViolation + } + if t.stats != nil { + // Note: WireLength is not set in outHeader. + // TODO(mmukhi): Revisit this later, if needed. + outHeader := &stats.OutHeader{} + t.stats.HandleRPC(s.Context(), outHeader) + } + return nil +} + +// WriteStatus sends stream status to the client and terminates the stream. +// There is no further I/O operations being able to perform on this stream. +// TODO(zhaoq): Now it indicates the end of entire stream. Revisit if early +// OK is adopted. +func (t *http2Server) WriteStatus(s *Stream, st *status.Status) error { + if s.getState() == streamDone { + return nil + } + s.hdrMu.Lock() + // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields + // first and create a slice of that exact size. + headerFields := make([]hpack.HeaderField, 0, 2) // grpc-status and grpc-message will be there if none else. + if !s.updateHeaderSent() { // No headers have been sent. + if len(s.header) > 0 { // Send a separate header frame. + if err := t.writeHeaderLocked(s); err != nil { + s.hdrMu.Unlock() + return err + } + } else { // Send a trailer only response. + headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"}) + headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: contentType(s.contentSubtype)}) + } + } + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status", Value: strconv.Itoa(int(st.Code()))}) + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-message", Value: encodeGrpcMessage(st.Message())}) + + if p := statusRawProto(st); p != nil && len(p.Details) > 0 { + stBytes, err := proto.Marshal(p) + if err != nil { + // TODO: return error instead, when callers are able to handle it. + grpclog.Errorf("transport: failed to marshal rpc status: %v, error: %v", p, err) + } else { + headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status-details-bin", Value: encodeBinHeader(stBytes)}) + } + } + + // Attach the trailer metadata. + headerFields = appendHeaderFieldsFromMD(headerFields, s.trailer) + trailingHeader := &headerFrame{ + streamID: s.id, + hf: headerFields, + endStream: true, + onWrite: t.setResetPingStrikes, + } + s.hdrMu.Unlock() + success, err := t.controlBuf.execute(t.checkForHeaderListSize, trailingHeader) + if !success { + if err != nil { + return err + } + t.closeStream(s, true, http2.ErrCodeInternal, false) + return ErrHeaderListSizeLimitViolation + } + // Send a RST_STREAM after the trailers if the client has not already half-closed. + rst := s.getState() == streamActive + t.finishStream(s, rst, http2.ErrCodeNo, trailingHeader, true) + if t.stats != nil { + t.stats.HandleRPC(s.Context(), &stats.OutTrailer{}) + } + return nil +} + +// Write converts the data into HTTP2 data frame and sends it out. Non-nil error +// is returns if it fails (e.g., framing error, transport error). +func (t *http2Server) Write(s *Stream, hdr []byte, data []byte, opts *Options) error { + if !s.isHeaderSent() { // Headers haven't been written yet. + if err := t.WriteHeader(s, nil); err != nil { + if _, ok := err.(ConnectionError); ok { + return err + } + // TODO(mmukhi, dfawley): Make sure this is the right code to return. + return status.Errorf(codes.Internal, "transport: %v", err) + } + } else { + // Writing headers checks for this condition. + if s.getState() == streamDone { + // TODO(mmukhi, dfawley): Should the server write also return io.EOF? + s.cancel() + select { + case <-t.ctx.Done(): + return ErrConnClosing + default: + } + return ContextErr(s.ctx.Err()) + } + } + // Add some data to header frame so that we can equally distribute bytes across frames. + emptyLen := http2MaxFrameLen - len(hdr) + if emptyLen > len(data) { + emptyLen = len(data) + } + hdr = append(hdr, data[:emptyLen]...) + data = data[emptyLen:] + df := &dataFrame{ + streamID: s.id, + h: hdr, + d: data, + onEachWrite: t.setResetPingStrikes, + } + if err := s.wq.get(int32(len(hdr) + len(data))); err != nil { + select { + case <-t.ctx.Done(): + return ErrConnClosing + default: + } + return ContextErr(s.ctx.Err()) + } + return t.controlBuf.put(df) +} + +// keepalive running in a separate goroutine does the following: +// 1. Gracefully closes an idle connection after a duration of keepalive.MaxConnectionIdle. +// 2. Gracefully closes any connection after a duration of keepalive.MaxConnectionAge. +// 3. Forcibly closes a connection after an additive period of keepalive.MaxConnectionAgeGrace over keepalive.MaxConnectionAge. +// 4. Makes sure a connection is alive by sending pings with a frequency of keepalive.Time and closes a non-responsive connection +// after an additional duration of keepalive.Timeout. +func (t *http2Server) keepalive() { + p := &ping{} + var pingSent bool + maxIdle := time.NewTimer(t.kp.MaxConnectionIdle) + maxAge := time.NewTimer(t.kp.MaxConnectionAge) + keepalive := time.NewTimer(t.kp.Time) + // NOTE: All exit paths of this function should reset their + // respective timers. A failure to do so will cause the + // following clean-up to deadlock and eventually leak. + defer func() { + if !maxIdle.Stop() { + <-maxIdle.C + } + if !maxAge.Stop() { + <-maxAge.C + } + if !keepalive.Stop() { + <-keepalive.C + } + }() + for { + select { + case <-maxIdle.C: + t.mu.Lock() + idle := t.idle + if idle.IsZero() { // The connection is non-idle. + t.mu.Unlock() + maxIdle.Reset(t.kp.MaxConnectionIdle) + continue + } + val := t.kp.MaxConnectionIdle - time.Since(idle) + t.mu.Unlock() + if val <= 0 { + // The connection has been idle for a duration of keepalive.MaxConnectionIdle or more. + // Gracefully close the connection. + t.drain(http2.ErrCodeNo, []byte{}) + // Resetting the timer so that the clean-up doesn't deadlock. + maxIdle.Reset(infinity) + return + } + maxIdle.Reset(val) + case <-maxAge.C: + t.drain(http2.ErrCodeNo, []byte{}) + maxAge.Reset(t.kp.MaxConnectionAgeGrace) + select { + case <-maxAge.C: + // Close the connection after grace period. + infof("transport: closing server transport due to maximum connection age.") + t.Close() + // Resetting the timer so that the clean-up doesn't deadlock. + maxAge.Reset(infinity) + case <-t.ctx.Done(): + } + return + case <-keepalive.C: + if atomic.CompareAndSwapUint32(&t.activity, 1, 0) { + pingSent = false + keepalive.Reset(t.kp.Time) + continue + } + if pingSent { + infof("transport: closing server transport due to idleness.") + t.Close() + // Resetting the timer so that the clean-up doesn't deadlock. + keepalive.Reset(infinity) + return + } + pingSent = true + if channelz.IsOn() { + atomic.AddInt64(&t.czData.kpCount, 1) + } + t.controlBuf.put(p) + keepalive.Reset(t.kp.Timeout) + case <-t.ctx.Done(): + return + } + } +} + +// Close starts shutting down the http2Server transport. +// TODO(zhaoq): Now the destruction is not blocked on any pending streams. This +// could cause some resource issue. Revisit this later. +func (t *http2Server) Close() error { + t.mu.Lock() + if t.state == closing { + t.mu.Unlock() + return errors.New("transport: Close() was already called") + } + t.state = closing + streams := t.activeStreams + t.activeStreams = nil + t.mu.Unlock() + t.controlBuf.finish() + t.cancel() + err := t.conn.Close() + if channelz.IsOn() { + channelz.RemoveEntry(t.channelzID) + } + // Cancel all active streams. + for _, s := range streams { + s.cancel() + } + if t.stats != nil { + connEnd := &stats.ConnEnd{} + t.stats.HandleConn(t.ctx, connEnd) + } + return err +} + +// deleteStream deletes the stream s from transport's active streams. +func (t *http2Server) deleteStream(s *Stream, eosReceived bool) { + // In case stream sending and receiving are invoked in separate + // goroutines (e.g., bi-directional streaming), cancel needs to be + // called to interrupt the potential blocking on other goroutines. + s.cancel() + + t.mu.Lock() + if _, ok := t.activeStreams[s.id]; ok { + delete(t.activeStreams, s.id) + if len(t.activeStreams) == 0 { + t.idle = time.Now() + } + } + t.mu.Unlock() + + if channelz.IsOn() { + if eosReceived { + atomic.AddInt64(&t.czData.streamsSucceeded, 1) + } else { + atomic.AddInt64(&t.czData.streamsFailed, 1) + } + } +} + +// finishStream closes the stream and puts the trailing headerFrame into controlbuf. +func (t *http2Server) finishStream(s *Stream, rst bool, rstCode http2.ErrCode, hdr *headerFrame, eosReceived bool) { + oldState := s.swapState(streamDone) + if oldState == streamDone { + // If the stream was already done, return. + return + } + + hdr.cleanup = &cleanupStream{ + streamID: s.id, + rst: rst, + rstCode: rstCode, + onWrite: func() { + t.deleteStream(s, eosReceived) + }, + } + t.controlBuf.put(hdr) +} + +// closeStream clears the footprint of a stream when the stream is not needed any more. +func (t *http2Server) closeStream(s *Stream, rst bool, rstCode http2.ErrCode, eosReceived bool) { + s.swapState(streamDone) + t.deleteStream(s, eosReceived) + + t.controlBuf.put(&cleanupStream{ + streamID: s.id, + rst: rst, + rstCode: rstCode, + onWrite: func() {}, + }) +} + +func (t *http2Server) RemoteAddr() net.Addr { + return t.remoteAddr +} + +func (t *http2Server) Drain() { + t.drain(http2.ErrCodeNo, []byte{}) +} + +func (t *http2Server) drain(code http2.ErrCode, debugData []byte) { + t.mu.Lock() + defer t.mu.Unlock() + if t.drainChan != nil { + return + } + t.drainChan = make(chan struct{}) + t.controlBuf.put(&goAway{code: code, debugData: debugData, headsUp: true}) +} + +var goAwayPing = &ping{data: [8]byte{1, 6, 1, 8, 0, 3, 3, 9}} + +// Handles outgoing GoAway and returns true if loopy needs to put itself +// in draining mode. +func (t *http2Server) outgoingGoAwayHandler(g *goAway) (bool, error) { + t.mu.Lock() + if t.state == closing { // TODO(mmukhi): This seems unnecessary. + t.mu.Unlock() + // The transport is closing. + return false, ErrConnClosing + } + sid := t.maxStreamID + if !g.headsUp { + // Stop accepting more streams now. + t.state = draining + if len(t.activeStreams) == 0 { + g.closeConn = true + } + t.mu.Unlock() + if err := t.framer.fr.WriteGoAway(sid, g.code, g.debugData); err != nil { + return false, err + } + if g.closeConn { + // Abruptly close the connection following the GoAway (via + // loopywriter). But flush out what's inside the buffer first. + t.framer.writer.Flush() + return false, fmt.Errorf("transport: Connection closing") + } + return true, nil + } + t.mu.Unlock() + // For a graceful close, send out a GoAway with stream ID of MaxUInt32, + // Follow that with a ping and wait for the ack to come back or a timer + // to expire. During this time accept new streams since they might have + // originated before the GoAway reaches the client. + // After getting the ack or timer expiration send out another GoAway this + // time with an ID of the max stream server intends to process. + if err := t.framer.fr.WriteGoAway(math.MaxUint32, http2.ErrCodeNo, []byte{}); err != nil { + return false, err + } + if err := t.framer.fr.WritePing(false, goAwayPing.data); err != nil { + return false, err + } + go func() { + timer := time.NewTimer(time.Minute) + defer timer.Stop() + select { + case <-t.drainChan: + case <-timer.C: + case <-t.ctx.Done(): + return + } + t.controlBuf.put(&goAway{code: g.code, debugData: g.debugData}) + }() + return false, nil +} + +func (t *http2Server) ChannelzMetric() *channelz.SocketInternalMetric { + s := channelz.SocketInternalMetric{ + StreamsStarted: atomic.LoadInt64(&t.czData.streamsStarted), + StreamsSucceeded: atomic.LoadInt64(&t.czData.streamsSucceeded), + StreamsFailed: atomic.LoadInt64(&t.czData.streamsFailed), + MessagesSent: atomic.LoadInt64(&t.czData.msgSent), + MessagesReceived: atomic.LoadInt64(&t.czData.msgRecv), + KeepAlivesSent: atomic.LoadInt64(&t.czData.kpCount), + LastRemoteStreamCreatedTimestamp: time.Unix(0, atomic.LoadInt64(&t.czData.lastStreamCreatedTime)), + LastMessageSentTimestamp: time.Unix(0, atomic.LoadInt64(&t.czData.lastMsgSentTime)), + LastMessageReceivedTimestamp: time.Unix(0, atomic.LoadInt64(&t.czData.lastMsgRecvTime)), + LocalFlowControlWindow: int64(t.fc.getSize()), + SocketOptions: channelz.GetSocketOption(t.conn), + LocalAddr: t.localAddr, + RemoteAddr: t.remoteAddr, + // RemoteName : + } + if au, ok := t.authInfo.(credentials.ChannelzSecurityInfo); ok { + s.Security = au.GetSecurityValue() + } + s.RemoteFlowControlWindow = t.getOutFlowWindow() + return &s +} + +func (t *http2Server) IncrMsgSent() { + atomic.AddInt64(&t.czData.msgSent, 1) + atomic.StoreInt64(&t.czData.lastMsgSentTime, time.Now().UnixNano()) +} + +func (t *http2Server) IncrMsgRecv() { + atomic.AddInt64(&t.czData.msgRecv, 1) + atomic.StoreInt64(&t.czData.lastMsgRecvTime, time.Now().UnixNano()) +} + +func (t *http2Server) getOutFlowWindow() int64 { + resp := make(chan uint32, 1) + timer := time.NewTimer(time.Second) + defer timer.Stop() + t.controlBuf.put(&outFlowControlSizeRequest{resp}) + select { + case sz := <-resp: + return int64(sz) + case <-t.ctxDone: + return -1 + case <-timer.C: + return -2 + } +} + +func getJitter(v time.Duration) time.Duration { + if v == infinity { + return 0 + } + // Generate a jitter between +/- 10% of the value. + r := int64(v / 10) + j := grpcrand.Int63n(2*r) - r + return time.Duration(j) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http_util.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http_util.go new file mode 100644 index 0000000..9d21286 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/http_util.go @@ -0,0 +1,676 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package transport + +import ( + "bufio" + "bytes" + "encoding/base64" + "fmt" + "io" + "math" + "net" + "net/http" + "strconv" + "strings" + "time" + "unicode/utf8" + + "github.com/golang/protobuf/proto" + "golang.org/x/net/http2" + "golang.org/x/net/http2/hpack" + spb "google.golang.org/genproto/googleapis/rpc/status" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +const ( + // http2MaxFrameLen specifies the max length of a HTTP2 frame. + http2MaxFrameLen = 16384 // 16KB frame + // http://http2.github.io/http2-spec/#SettingValues + http2InitHeaderTableSize = 4096 + // baseContentType is the base content-type for gRPC. This is a valid + // content-type on it's own, but can also include a content-subtype such as + // "proto" as a suffix after "+" or ";". See + // https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests + // for more details. + baseContentType = "application/grpc" +) + +var ( + clientPreface = []byte(http2.ClientPreface) + http2ErrConvTab = map[http2.ErrCode]codes.Code{ + http2.ErrCodeNo: codes.Internal, + http2.ErrCodeProtocol: codes.Internal, + http2.ErrCodeInternal: codes.Internal, + http2.ErrCodeFlowControl: codes.ResourceExhausted, + http2.ErrCodeSettingsTimeout: codes.Internal, + http2.ErrCodeStreamClosed: codes.Internal, + http2.ErrCodeFrameSize: codes.Internal, + http2.ErrCodeRefusedStream: codes.Unavailable, + http2.ErrCodeCancel: codes.Canceled, + http2.ErrCodeCompression: codes.Internal, + http2.ErrCodeConnect: codes.Internal, + http2.ErrCodeEnhanceYourCalm: codes.ResourceExhausted, + http2.ErrCodeInadequateSecurity: codes.PermissionDenied, + http2.ErrCodeHTTP11Required: codes.Internal, + } + statusCodeConvTab = map[codes.Code]http2.ErrCode{ + codes.Internal: http2.ErrCodeInternal, + codes.Canceled: http2.ErrCodeCancel, + codes.Unavailable: http2.ErrCodeRefusedStream, + codes.ResourceExhausted: http2.ErrCodeEnhanceYourCalm, + codes.PermissionDenied: http2.ErrCodeInadequateSecurity, + } + // HTTPStatusConvTab is the HTTP status code to gRPC error code conversion table. + HTTPStatusConvTab = map[int]codes.Code{ + // 400 Bad Request - INTERNAL. + http.StatusBadRequest: codes.Internal, + // 401 Unauthorized - UNAUTHENTICATED. + http.StatusUnauthorized: codes.Unauthenticated, + // 403 Forbidden - PERMISSION_DENIED. + http.StatusForbidden: codes.PermissionDenied, + // 404 Not Found - UNIMPLEMENTED. + http.StatusNotFound: codes.Unimplemented, + // 429 Too Many Requests - UNAVAILABLE. + http.StatusTooManyRequests: codes.Unavailable, + // 502 Bad Gateway - UNAVAILABLE. + http.StatusBadGateway: codes.Unavailable, + // 503 Service Unavailable - UNAVAILABLE. + http.StatusServiceUnavailable: codes.Unavailable, + // 504 Gateway timeout - UNAVAILABLE. + http.StatusGatewayTimeout: codes.Unavailable, + } +) + +type parsedHeaderData struct { + encoding string + // statusGen caches the stream status received from the trailer the server + // sent. Client side only. Do not access directly. After all trailers are + // parsed, use the status method to retrieve the status. + statusGen *status.Status + // rawStatusCode and rawStatusMsg are set from the raw trailer fields and are not + // intended for direct access outside of parsing. + rawStatusCode *int + rawStatusMsg string + httpStatus *int + // Server side only fields. + timeoutSet bool + timeout time.Duration + method string + // key-value metadata map from the peer. + mdata map[string][]string + statsTags []byte + statsTrace []byte + contentSubtype string + + // isGRPC field indicates whether the peer is speaking gRPC (otherwise HTTP). + // + // We are in gRPC mode (peer speaking gRPC) if: + // * We are client side and have already received a HEADER frame that indicates gRPC peer. + // * The header contains valid a content-type, i.e. a string starts with "application/grpc" + // And we should handle error specific to gRPC. + // + // Otherwise (i.e. a content-type string starts without "application/grpc", or does not exist), we + // are in HTTP fallback mode, and should handle error specific to HTTP. + isGRPC bool + grpcErr error + httpErr error + contentTypeErr string +} + +// decodeState configures decoding criteria and records the decoded data. +type decodeState struct { + // whether decoding on server side or not + serverSide bool + + // Records the states during HPACK decoding. It will be filled with info parsed from HTTP HEADERS + // frame once decodeHeader function has been invoked and returned. + data parsedHeaderData +} + +// isReservedHeader checks whether hdr belongs to HTTP2 headers +// reserved by gRPC protocol. Any other headers are classified as the +// user-specified metadata. +func isReservedHeader(hdr string) bool { + if hdr != "" && hdr[0] == ':' { + return true + } + switch hdr { + case "content-type", + "user-agent", + "grpc-message-type", + "grpc-encoding", + "grpc-message", + "grpc-status", + "grpc-timeout", + "grpc-status-details-bin", + // Intentionally exclude grpc-previous-rpc-attempts and + // grpc-retry-pushback-ms, which are "reserved", but their API + // intentionally works via metadata. + "te": + return true + default: + return false + } +} + +// isWhitelistedHeader checks whether hdr should be propagated into metadata +// visible to users, even though it is classified as "reserved", above. +func isWhitelistedHeader(hdr string) bool { + switch hdr { + case ":authority", "user-agent": + return true + default: + return false + } +} + +// contentSubtype returns the content-subtype for the given content-type. The +// given content-type must be a valid content-type that starts with +// "application/grpc". A content-subtype will follow "application/grpc" after a +// "+" or ";". See +// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for +// more details. +// +// If contentType is not a valid content-type for gRPC, the boolean +// will be false, otherwise true. If content-type == "application/grpc", +// "application/grpc+", or "application/grpc;", the boolean will be true, +// but no content-subtype will be returned. +// +// contentType is assumed to be lowercase already. +func contentSubtype(contentType string) (string, bool) { + if contentType == baseContentType { + return "", true + } + if !strings.HasPrefix(contentType, baseContentType) { + return "", false + } + // guaranteed since != baseContentType and has baseContentType prefix + switch contentType[len(baseContentType)] { + case '+', ';': + // this will return true for "application/grpc+" or "application/grpc;" + // which the previous validContentType function tested to be valid, so we + // just say that no content-subtype is specified in this case + return contentType[len(baseContentType)+1:], true + default: + return "", false + } +} + +// contentSubtype is assumed to be lowercase +func contentType(contentSubtype string) string { + if contentSubtype == "" { + return baseContentType + } + return baseContentType + "+" + contentSubtype +} + +func (d *decodeState) status() *status.Status { + if d.data.statusGen == nil { + // No status-details were provided; generate status using code/msg. + d.data.statusGen = status.New(codes.Code(int32(*(d.data.rawStatusCode))), d.data.rawStatusMsg) + } + return d.data.statusGen +} + +const binHdrSuffix = "-bin" + +func encodeBinHeader(v []byte) string { + return base64.RawStdEncoding.EncodeToString(v) +} + +func decodeBinHeader(v string) ([]byte, error) { + if len(v)%4 == 0 { + // Input was padded, or padding was not necessary. + return base64.StdEncoding.DecodeString(v) + } + return base64.RawStdEncoding.DecodeString(v) +} + +func encodeMetadataHeader(k, v string) string { + if strings.HasSuffix(k, binHdrSuffix) { + return encodeBinHeader(([]byte)(v)) + } + return v +} + +func decodeMetadataHeader(k, v string) (string, error) { + if strings.HasSuffix(k, binHdrSuffix) { + b, err := decodeBinHeader(v) + return string(b), err + } + return v, nil +} + +func (d *decodeState) decodeHeader(frame *http2.MetaHeadersFrame) error { + // frame.Truncated is set to true when framer detects that the current header + // list size hits MaxHeaderListSize limit. + if frame.Truncated { + return status.Error(codes.Internal, "peer header list size exceeded limit") + } + + for _, hf := range frame.Fields { + d.processHeaderField(hf) + } + + if d.data.isGRPC { + if d.data.grpcErr != nil { + return d.data.grpcErr + } + if d.serverSide { + return nil + } + if d.data.rawStatusCode == nil && d.data.statusGen == nil { + // gRPC status doesn't exist. + // Set rawStatusCode to be unknown and return nil error. + // So that, if the stream has ended this Unknown status + // will be propagated to the user. + // Otherwise, it will be ignored. In which case, status from + // a later trailer, that has StreamEnded flag set, is propagated. + code := int(codes.Unknown) + d.data.rawStatusCode = &code + } + return nil + } + + // HTTP fallback mode + if d.data.httpErr != nil { + return d.data.httpErr + } + + var ( + code = codes.Internal // when header does not include HTTP status, return INTERNAL + ok bool + ) + + if d.data.httpStatus != nil { + code, ok = HTTPStatusConvTab[*(d.data.httpStatus)] + if !ok { + code = codes.Unknown + } + } + + return status.Error(code, d.constructHTTPErrMsg()) +} + +// constructErrMsg constructs error message to be returned in HTTP fallback mode. +// Format: HTTP status code and its corresponding message + content-type error message. +func (d *decodeState) constructHTTPErrMsg() string { + var errMsgs []string + + if d.data.httpStatus == nil { + errMsgs = append(errMsgs, "malformed header: missing HTTP status") + } else { + errMsgs = append(errMsgs, fmt.Sprintf("%s: HTTP status code %d", http.StatusText(*(d.data.httpStatus)), *d.data.httpStatus)) + } + + if d.data.contentTypeErr == "" { + errMsgs = append(errMsgs, "transport: missing content-type field") + } else { + errMsgs = append(errMsgs, d.data.contentTypeErr) + } + + return strings.Join(errMsgs, "; ") +} + +func (d *decodeState) addMetadata(k, v string) { + if d.data.mdata == nil { + d.data.mdata = make(map[string][]string) + } + d.data.mdata[k] = append(d.data.mdata[k], v) +} + +func (d *decodeState) processHeaderField(f hpack.HeaderField) { + switch f.Name { + case "content-type": + contentSubtype, validContentType := contentSubtype(f.Value) + if !validContentType { + d.data.contentTypeErr = fmt.Sprintf("transport: received the unexpected content-type %q", f.Value) + return + } + d.data.contentSubtype = contentSubtype + // TODO: do we want to propagate the whole content-type in the metadata, + // or come up with a way to just propagate the content-subtype if it was set? + // ie {"content-type": "application/grpc+proto"} or {"content-subtype": "proto"} + // in the metadata? + d.addMetadata(f.Name, f.Value) + d.data.isGRPC = true + case "grpc-encoding": + d.data.encoding = f.Value + case "grpc-status": + code, err := strconv.Atoi(f.Value) + if err != nil { + d.data.grpcErr = status.Errorf(codes.Internal, "transport: malformed grpc-status: %v", err) + return + } + d.data.rawStatusCode = &code + case "grpc-message": + d.data.rawStatusMsg = decodeGrpcMessage(f.Value) + case "grpc-status-details-bin": + v, err := decodeBinHeader(f.Value) + if err != nil { + d.data.grpcErr = status.Errorf(codes.Internal, "transport: malformed grpc-status-details-bin: %v", err) + return + } + s := &spb.Status{} + if err := proto.Unmarshal(v, s); err != nil { + d.data.grpcErr = status.Errorf(codes.Internal, "transport: malformed grpc-status-details-bin: %v", err) + return + } + d.data.statusGen = status.FromProto(s) + case "grpc-timeout": + d.data.timeoutSet = true + var err error + if d.data.timeout, err = decodeTimeout(f.Value); err != nil { + d.data.grpcErr = status.Errorf(codes.Internal, "transport: malformed time-out: %v", err) + } + case ":path": + d.data.method = f.Value + case ":status": + code, err := strconv.Atoi(f.Value) + if err != nil { + d.data.httpErr = status.Errorf(codes.Internal, "transport: malformed http-status: %v", err) + return + } + d.data.httpStatus = &code + case "grpc-tags-bin": + v, err := decodeBinHeader(f.Value) + if err != nil { + d.data.grpcErr = status.Errorf(codes.Internal, "transport: malformed grpc-tags-bin: %v", err) + return + } + d.data.statsTags = v + d.addMetadata(f.Name, string(v)) + case "grpc-trace-bin": + v, err := decodeBinHeader(f.Value) + if err != nil { + d.data.grpcErr = status.Errorf(codes.Internal, "transport: malformed grpc-trace-bin: %v", err) + return + } + d.data.statsTrace = v + d.addMetadata(f.Name, string(v)) + default: + if isReservedHeader(f.Name) && !isWhitelistedHeader(f.Name) { + break + } + v, err := decodeMetadataHeader(f.Name, f.Value) + if err != nil { + errorf("Failed to decode metadata header (%q, %q): %v", f.Name, f.Value, err) + return + } + d.addMetadata(f.Name, v) + } +} + +type timeoutUnit uint8 + +const ( + hour timeoutUnit = 'H' + minute timeoutUnit = 'M' + second timeoutUnit = 'S' + millisecond timeoutUnit = 'm' + microsecond timeoutUnit = 'u' + nanosecond timeoutUnit = 'n' +) + +func timeoutUnitToDuration(u timeoutUnit) (d time.Duration, ok bool) { + switch u { + case hour: + return time.Hour, true + case minute: + return time.Minute, true + case second: + return time.Second, true + case millisecond: + return time.Millisecond, true + case microsecond: + return time.Microsecond, true + case nanosecond: + return time.Nanosecond, true + default: + } + return +} + +const maxTimeoutValue int64 = 100000000 - 1 + +// div does integer division and round-up the result. Note that this is +// equivalent to (d+r-1)/r but has less chance to overflow. +func div(d, r time.Duration) int64 { + if m := d % r; m > 0 { + return int64(d/r + 1) + } + return int64(d / r) +} + +// TODO(zhaoq): It is the simplistic and not bandwidth efficient. Improve it. +func encodeTimeout(t time.Duration) string { + if t <= 0 { + return "0n" + } + if d := div(t, time.Nanosecond); d <= maxTimeoutValue { + return strconv.FormatInt(d, 10) + "n" + } + if d := div(t, time.Microsecond); d <= maxTimeoutValue { + return strconv.FormatInt(d, 10) + "u" + } + if d := div(t, time.Millisecond); d <= maxTimeoutValue { + return strconv.FormatInt(d, 10) + "m" + } + if d := div(t, time.Second); d <= maxTimeoutValue { + return strconv.FormatInt(d, 10) + "S" + } + if d := div(t, time.Minute); d <= maxTimeoutValue { + return strconv.FormatInt(d, 10) + "M" + } + // Note that maxTimeoutValue * time.Hour > MaxInt64. + return strconv.FormatInt(div(t, time.Hour), 10) + "H" +} + +func decodeTimeout(s string) (time.Duration, error) { + size := len(s) + if size < 2 { + return 0, fmt.Errorf("transport: timeout string is too short: %q", s) + } + if size > 9 { + // Spec allows for 8 digits plus the unit. + return 0, fmt.Errorf("transport: timeout string is too long: %q", s) + } + unit := timeoutUnit(s[size-1]) + d, ok := timeoutUnitToDuration(unit) + if !ok { + return 0, fmt.Errorf("transport: timeout unit is not recognized: %q", s) + } + t, err := strconv.ParseInt(s[:size-1], 10, 64) + if err != nil { + return 0, err + } + const maxHours = math.MaxInt64 / int64(time.Hour) + if d == time.Hour && t > maxHours { + // This timeout would overflow math.MaxInt64; clamp it. + return time.Duration(math.MaxInt64), nil + } + return d * time.Duration(t), nil +} + +const ( + spaceByte = ' ' + tildeByte = '~' + percentByte = '%' +) + +// encodeGrpcMessage is used to encode status code in header field +// "grpc-message". It does percent encoding and also replaces invalid utf-8 +// characters with Unicode replacement character. +// +// It checks to see if each individual byte in msg is an allowable byte, and +// then either percent encoding or passing it through. When percent encoding, +// the byte is converted into hexadecimal notation with a '%' prepended. +func encodeGrpcMessage(msg string) string { + if msg == "" { + return "" + } + lenMsg := len(msg) + for i := 0; i < lenMsg; i++ { + c := msg[i] + if !(c >= spaceByte && c <= tildeByte && c != percentByte) { + return encodeGrpcMessageUnchecked(msg) + } + } + return msg +} + +func encodeGrpcMessageUnchecked(msg string) string { + var buf bytes.Buffer + for len(msg) > 0 { + r, size := utf8.DecodeRuneInString(msg) + for _, b := range []byte(string(r)) { + if size > 1 { + // If size > 1, r is not ascii. Always do percent encoding. + buf.WriteString(fmt.Sprintf("%%%02X", b)) + continue + } + + // The for loop is necessary even if size == 1. r could be + // utf8.RuneError. + // + // fmt.Sprintf("%%%02X", utf8.RuneError) gives "%FFFD". + if b >= spaceByte && b <= tildeByte && b != percentByte { + buf.WriteByte(b) + } else { + buf.WriteString(fmt.Sprintf("%%%02X", b)) + } + } + msg = msg[size:] + } + return buf.String() +} + +// decodeGrpcMessage decodes the msg encoded by encodeGrpcMessage. +func decodeGrpcMessage(msg string) string { + if msg == "" { + return "" + } + lenMsg := len(msg) + for i := 0; i < lenMsg; i++ { + if msg[i] == percentByte && i+2 < lenMsg { + return decodeGrpcMessageUnchecked(msg) + } + } + return msg +} + +func decodeGrpcMessageUnchecked(msg string) string { + var buf bytes.Buffer + lenMsg := len(msg) + for i := 0; i < lenMsg; i++ { + c := msg[i] + if c == percentByte && i+2 < lenMsg { + parsed, err := strconv.ParseUint(msg[i+1:i+3], 16, 8) + if err != nil { + buf.WriteByte(c) + } else { + buf.WriteByte(byte(parsed)) + i += 2 + } + } else { + buf.WriteByte(c) + } + } + return buf.String() +} + +type bufWriter struct { + buf []byte + offset int + batchSize int + conn net.Conn + err error + + onFlush func() +} + +func newBufWriter(conn net.Conn, batchSize int) *bufWriter { + return &bufWriter{ + buf: make([]byte, batchSize*2), + batchSize: batchSize, + conn: conn, + } +} + +func (w *bufWriter) Write(b []byte) (n int, err error) { + if w.err != nil { + return 0, w.err + } + if w.batchSize == 0 { // Buffer has been disabled. + return w.conn.Write(b) + } + for len(b) > 0 { + nn := copy(w.buf[w.offset:], b) + b = b[nn:] + w.offset += nn + n += nn + if w.offset >= w.batchSize { + err = w.Flush() + } + } + return n, err +} + +func (w *bufWriter) Flush() error { + if w.err != nil { + return w.err + } + if w.offset == 0 { + return nil + } + if w.onFlush != nil { + w.onFlush() + } + _, w.err = w.conn.Write(w.buf[:w.offset]) + w.offset = 0 + return w.err +} + +type framer struct { + writer *bufWriter + fr *http2.Framer +} + +func newFramer(conn net.Conn, writeBufferSize, readBufferSize int, maxHeaderListSize uint32) *framer { + if writeBufferSize < 0 { + writeBufferSize = 0 + } + var r io.Reader = conn + if readBufferSize > 0 { + r = bufio.NewReaderSize(r, readBufferSize) + } + w := newBufWriter(conn, writeBufferSize) + f := &framer{ + writer: w, + fr: http2.NewFramer(w, r), + } + // Opt-in to Frame reuse API on framer to reduce garbage. + // Frames aren't safe to read from after a subsequent call to ReadFrame. + f.fr.SetReuseFrames() + f.fr.MaxHeaderListSize = maxHeaderListSize + f.fr.ReadMetaHeaders = hpack.NewDecoder(http2InitHeaderTableSize, nil) + return f +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/log.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/log.go new file mode 100644 index 0000000..879df80 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/log.go @@ -0,0 +1,44 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// This file contains wrappers for grpclog functions. +// The transport package only logs to verbose level 2 by default. + +package transport + +import "google.golang.org/grpc/grpclog" + +const logLevel = 2 + +func infof(format string, args ...interface{}) { + if grpclog.V(logLevel) { + grpclog.Infof(format, args...) + } +} + +func warningf(format string, args ...interface{}) { + if grpclog.V(logLevel) { + grpclog.Warningf(format, args...) + } +} + +func errorf(format string, args ...interface{}) { + if grpclog.V(logLevel) { + grpclog.Errorf(format, args...) + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/transport.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/transport.go new file mode 100644 index 0000000..1c1d106 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/internal/transport/transport.go @@ -0,0 +1,816 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +// Package transport defines and implements message oriented communication +// channel to complete various transactions (e.g., an RPC). It is meant for +// grpc-internal usage and is not intended to be imported directly by users. +package transport + +import ( + "bytes" + "context" + "errors" + "fmt" + "io" + "net" + "sync" + "sync/atomic" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/keepalive" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/stats" + "google.golang.org/grpc/status" + "google.golang.org/grpc/tap" +) + +type bufferPool struct { + pool sync.Pool +} + +func newBufferPool() *bufferPool { + return &bufferPool{ + pool: sync.Pool{ + New: func() interface{} { + return new(bytes.Buffer) + }, + }, + } +} + +func (p *bufferPool) get() *bytes.Buffer { + return p.pool.Get().(*bytes.Buffer) +} + +func (p *bufferPool) put(b *bytes.Buffer) { + p.pool.Put(b) +} + +// recvMsg represents the received msg from the transport. All transport +// protocol specific info has been removed. +type recvMsg struct { + buffer *bytes.Buffer + // nil: received some data + // io.EOF: stream is completed. data is nil. + // other non-nil error: transport failure. data is nil. + err error +} + +// recvBuffer is an unbounded channel of recvMsg structs. +// Note recvBuffer differs from controlBuffer only in that recvBuffer +// holds a channel of only recvMsg structs instead of objects implementing "item" interface. +// recvBuffer is written to much more often than +// controlBuffer and using strict recvMsg structs helps avoid allocation in "recvBuffer.put" +type recvBuffer struct { + c chan recvMsg + mu sync.Mutex + backlog []recvMsg + err error +} + +func newRecvBuffer() *recvBuffer { + b := &recvBuffer{ + c: make(chan recvMsg, 1), + } + return b +} + +func (b *recvBuffer) put(r recvMsg) { + b.mu.Lock() + if b.err != nil { + b.mu.Unlock() + // An error had occurred earlier, don't accept more + // data or errors. + return + } + b.err = r.err + if len(b.backlog) == 0 { + select { + case b.c <- r: + b.mu.Unlock() + return + default: + } + } + b.backlog = append(b.backlog, r) + b.mu.Unlock() +} + +func (b *recvBuffer) load() { + b.mu.Lock() + if len(b.backlog) > 0 { + select { + case b.c <- b.backlog[0]: + b.backlog[0] = recvMsg{} + b.backlog = b.backlog[1:] + default: + } + } + b.mu.Unlock() +} + +// get returns the channel that receives a recvMsg in the buffer. +// +// Upon receipt of a recvMsg, the caller should call load to send another +// recvMsg onto the channel if there is any. +func (b *recvBuffer) get() <-chan recvMsg { + return b.c +} + +// recvBufferReader implements io.Reader interface to read the data from +// recvBuffer. +type recvBufferReader struct { + closeStream func(error) // Closes the client transport stream with the given error and nil trailer metadata. + ctx context.Context + ctxDone <-chan struct{} // cache of ctx.Done() (for performance). + recv *recvBuffer + last *bytes.Buffer // Stores the remaining data in the previous calls. + err error + freeBuffer func(*bytes.Buffer) +} + +// Read reads the next len(p) bytes from last. If last is drained, it tries to +// read additional data from recv. It blocks if there no additional data available +// in recv. If Read returns any non-nil error, it will continue to return that error. +func (r *recvBufferReader) Read(p []byte) (n int, err error) { + if r.err != nil { + return 0, r.err + } + if r.last != nil { + // Read remaining data left in last call. + copied, _ := r.last.Read(p) + if r.last.Len() == 0 { + r.freeBuffer(r.last) + r.last = nil + } + return copied, nil + } + if r.closeStream != nil { + n, r.err = r.readClient(p) + } else { + n, r.err = r.read(p) + } + return n, r.err +} + +func (r *recvBufferReader) read(p []byte) (n int, err error) { + select { + case <-r.ctxDone: + return 0, ContextErr(r.ctx.Err()) + case m := <-r.recv.get(): + return r.readAdditional(m, p) + } +} + +func (r *recvBufferReader) readClient(p []byte) (n int, err error) { + // If the context is canceled, then closes the stream with nil metadata. + // closeStream writes its error parameter to r.recv as a recvMsg. + // r.readAdditional acts on that message and returns the necessary error. + select { + case <-r.ctxDone: + // Note that this adds the ctx error to the end of recv buffer, and + // reads from the head. This will delay the error until recv buffer is + // empty, thus will delay ctx cancellation in Recv(). + // + // It's done this way to fix a race between ctx cancel and trailer. The + // race was, stream.Recv() may return ctx error if ctxDone wins the + // race, but stream.Trailer() may return a non-nil md because the stream + // was not marked as done when trailer is received. This closeStream + // call will mark stream as done, thus fix the race. + // + // TODO: delaying ctx error seems like a unnecessary side effect. What + // we really want is to mark the stream as done, and return ctx error + // faster. + r.closeStream(ContextErr(r.ctx.Err())) + m := <-r.recv.get() + return r.readAdditional(m, p) + case m := <-r.recv.get(): + return r.readAdditional(m, p) + } +} + +func (r *recvBufferReader) readAdditional(m recvMsg, p []byte) (n int, err error) { + r.recv.load() + if m.err != nil { + return 0, m.err + } + copied, _ := m.buffer.Read(p) + if m.buffer.Len() == 0 { + r.freeBuffer(m.buffer) + r.last = nil + } else { + r.last = m.buffer + } + return copied, nil +} + +type streamState uint32 + +const ( + streamActive streamState = iota + streamWriteDone // EndStream sent + streamReadDone // EndStream received + streamDone // the entire stream is finished. +) + +// Stream represents an RPC in the transport layer. +type Stream struct { + id uint32 + st ServerTransport // nil for client side Stream + ctx context.Context // the associated context of the stream + cancel context.CancelFunc // always nil for client side Stream + done chan struct{} // closed at the end of stream to unblock writers. On the client side. + ctxDone <-chan struct{} // same as done chan but for server side. Cache of ctx.Done() (for performance) + method string // the associated RPC method of the stream + recvCompress string + sendCompress string + buf *recvBuffer + trReader io.Reader + fc *inFlow + wq *writeQuota + + // Callback to state application's intentions to read data. This + // is used to adjust flow control, if needed. + requestRead func(int) + + headerChan chan struct{} // closed to indicate the end of header metadata. + headerChanClosed uint32 // set when headerChan is closed. Used to avoid closing headerChan multiple times. + + // hdrMu protects header and trailer metadata on the server-side. + hdrMu sync.Mutex + // On client side, header keeps the received header metadata. + // + // On server side, header keeps the header set by SetHeader(). The complete + // header will merged into this after t.WriteHeader() is called. + header metadata.MD + trailer metadata.MD // the key-value map of trailer metadata. + + noHeaders bool // set if the client never received headers (set only after the stream is done). + + // On the server-side, headerSent is atomically set to 1 when the headers are sent out. + headerSent uint32 + + state streamState + + // On client-side it is the status error received from the server. + // On server-side it is unused. + status *status.Status + + bytesReceived uint32 // indicates whether any bytes have been received on this stream + unprocessed uint32 // set if the server sends a refused stream or GOAWAY including this stream + + // contentSubtype is the content-subtype for requests. + // this must be lowercase or the behavior is undefined. + contentSubtype string +} + +// isHeaderSent is only valid on the server-side. +func (s *Stream) isHeaderSent() bool { + return atomic.LoadUint32(&s.headerSent) == 1 +} + +// updateHeaderSent updates headerSent and returns true +// if it was alreay set. It is valid only on server-side. +func (s *Stream) updateHeaderSent() bool { + return atomic.SwapUint32(&s.headerSent, 1) == 1 +} + +func (s *Stream) swapState(st streamState) streamState { + return streamState(atomic.SwapUint32((*uint32)(&s.state), uint32(st))) +} + +func (s *Stream) compareAndSwapState(oldState, newState streamState) bool { + return atomic.CompareAndSwapUint32((*uint32)(&s.state), uint32(oldState), uint32(newState)) +} + +func (s *Stream) getState() streamState { + return streamState(atomic.LoadUint32((*uint32)(&s.state))) +} + +func (s *Stream) waitOnHeader() error { + if s.headerChan == nil { + // On the server headerChan is always nil since a stream originates + // only after having received headers. + return nil + } + select { + case <-s.ctx.Done(): + // We prefer success over failure when reading messages because we delay + // context error in stream.Read(). To keep behavior consistent, we also + // prefer success here. + select { + case <-s.headerChan: + return nil + default: + } + return ContextErr(s.ctx.Err()) + case <-s.headerChan: + return nil + } +} + +// RecvCompress returns the compression algorithm applied to the inbound +// message. It is empty string if there is no compression applied. +func (s *Stream) RecvCompress() string { + if err := s.waitOnHeader(); err != nil { + return "" + } + return s.recvCompress +} + +// SetSendCompress sets the compression algorithm to the stream. +func (s *Stream) SetSendCompress(str string) { + s.sendCompress = str +} + +// Done returns a channel which is closed when it receives the final status +// from the server. +func (s *Stream) Done() <-chan struct{} { + return s.done +} + +// Header returns the header metadata of the stream. +// +// On client side, it acquires the key-value pairs of header metadata once it is +// available. It blocks until i) the metadata is ready or ii) there is no header +// metadata or iii) the stream is canceled/expired. +// +// On server side, it returns the out header after t.WriteHeader is called. +func (s *Stream) Header() (metadata.MD, error) { + if s.headerChan == nil && s.header != nil { + // On server side, return the header in stream. It will be the out + // header after t.WriteHeader is called. + return s.header.Copy(), nil + } + err := s.waitOnHeader() + // Even if the stream is closed, header is returned if available. + select { + case <-s.headerChan: + if s.header == nil { + return nil, nil + } + return s.header.Copy(), nil + default: + } + return nil, err +} + +// TrailersOnly blocks until a header or trailers-only frame is received and +// then returns true if the stream was trailers-only. If the stream ends +// before headers are received, returns true, nil. If a context error happens +// first, returns it as a status error. Client-side only. +func (s *Stream) TrailersOnly() (bool, error) { + err := s.waitOnHeader() + if err != nil { + return false, err + } + return s.noHeaders, nil +} + +// Trailer returns the cached trailer metedata. Note that if it is not called +// after the entire stream is done, it could return an empty MD. Client +// side only. +// It can be safely read only after stream has ended that is either read +// or write have returned io.EOF. +func (s *Stream) Trailer() metadata.MD { + c := s.trailer.Copy() + return c +} + +// ContentSubtype returns the content-subtype for a request. For example, a +// content-subtype of "proto" will result in a content-type of +// "application/grpc+proto". This will always be lowercase. See +// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for +// more details. +func (s *Stream) ContentSubtype() string { + return s.contentSubtype +} + +// Context returns the context of the stream. +func (s *Stream) Context() context.Context { + return s.ctx +} + +// Method returns the method for the stream. +func (s *Stream) Method() string { + return s.method +} + +// Status returns the status received from the server. +// Status can be read safely only after the stream has ended, +// that is, after Done() is closed. +func (s *Stream) Status() *status.Status { + return s.status +} + +// SetHeader sets the header metadata. This can be called multiple times. +// Server side only. +// This should not be called in parallel to other data writes. +func (s *Stream) SetHeader(md metadata.MD) error { + if md.Len() == 0 { + return nil + } + if s.isHeaderSent() || s.getState() == streamDone { + return ErrIllegalHeaderWrite + } + s.hdrMu.Lock() + s.header = metadata.Join(s.header, md) + s.hdrMu.Unlock() + return nil +} + +// SendHeader sends the given header metadata. The given metadata is +// combined with any metadata set by previous calls to SetHeader and +// then written to the transport stream. +func (s *Stream) SendHeader(md metadata.MD) error { + return s.st.WriteHeader(s, md) +} + +// SetTrailer sets the trailer metadata which will be sent with the RPC status +// by the server. This can be called multiple times. Server side only. +// This should not be called parallel to other data writes. +func (s *Stream) SetTrailer(md metadata.MD) error { + if md.Len() == 0 { + return nil + } + if s.getState() == streamDone { + return ErrIllegalHeaderWrite + } + s.hdrMu.Lock() + s.trailer = metadata.Join(s.trailer, md) + s.hdrMu.Unlock() + return nil +} + +func (s *Stream) write(m recvMsg) { + s.buf.put(m) +} + +// Read reads all p bytes from the wire for this stream. +func (s *Stream) Read(p []byte) (n int, err error) { + // Don't request a read if there was an error earlier + if er := s.trReader.(*transportReader).er; er != nil { + return 0, er + } + s.requestRead(len(p)) + return io.ReadFull(s.trReader, p) +} + +// tranportReader reads all the data available for this Stream from the transport and +// passes them into the decoder, which converts them into a gRPC message stream. +// The error is io.EOF when the stream is done or another non-nil error if +// the stream broke. +type transportReader struct { + reader io.Reader + // The handler to control the window update procedure for both this + // particular stream and the associated transport. + windowHandler func(int) + er error +} + +func (t *transportReader) Read(p []byte) (n int, err error) { + n, err = t.reader.Read(p) + if err != nil { + t.er = err + return + } + t.windowHandler(n) + return +} + +// BytesReceived indicates whether any bytes have been received on this stream. +func (s *Stream) BytesReceived() bool { + return atomic.LoadUint32(&s.bytesReceived) == 1 +} + +// Unprocessed indicates whether the server did not process this stream -- +// i.e. it sent a refused stream or GOAWAY including this stream ID. +func (s *Stream) Unprocessed() bool { + return atomic.LoadUint32(&s.unprocessed) == 1 +} + +// GoString is implemented by Stream so context.String() won't +// race when printing %#v. +func (s *Stream) GoString() string { + return fmt.Sprintf("", s, s.method) +} + +// state of transport +type transportState int + +const ( + reachable transportState = iota + closing + draining +) + +// ServerConfig consists of all the configurations to establish a server transport. +type ServerConfig struct { + MaxStreams uint32 + AuthInfo credentials.AuthInfo + InTapHandle tap.ServerInHandle + StatsHandler stats.Handler + KeepaliveParams keepalive.ServerParameters + KeepalivePolicy keepalive.EnforcementPolicy + InitialWindowSize int32 + InitialConnWindowSize int32 + WriteBufferSize int + ReadBufferSize int + ChannelzParentID int64 + MaxHeaderListSize *uint32 +} + +// NewServerTransport creates a ServerTransport with conn or non-nil error +// if it fails. +func NewServerTransport(protocol string, conn net.Conn, config *ServerConfig) (ServerTransport, error) { + return newHTTP2Server(conn, config) +} + +// ConnectOptions covers all relevant options for communicating with the server. +type ConnectOptions struct { + // UserAgent is the application user agent. + UserAgent string + // Dialer specifies how to dial a network address. + Dialer func(context.Context, string) (net.Conn, error) + // FailOnNonTempDialError specifies if gRPC fails on non-temporary dial errors. + FailOnNonTempDialError bool + // PerRPCCredentials stores the PerRPCCredentials required to issue RPCs. + PerRPCCredentials []credentials.PerRPCCredentials + // TransportCredentials stores the Authenticator required to setup a client + // connection. Only one of TransportCredentials and CredsBundle is non-nil. + TransportCredentials credentials.TransportCredentials + // CredsBundle is the credentials bundle to be used. Only one of + // TransportCredentials and CredsBundle is non-nil. + CredsBundle credentials.Bundle + // KeepaliveParams stores the keepalive parameters. + KeepaliveParams keepalive.ClientParameters + // StatsHandler stores the handler for stats. + StatsHandler stats.Handler + // InitialWindowSize sets the initial window size for a stream. + InitialWindowSize int32 + // InitialConnWindowSize sets the initial window size for a connection. + InitialConnWindowSize int32 + // WriteBufferSize sets the size of write buffer which in turn determines how much data can be batched before it's written on the wire. + WriteBufferSize int + // ReadBufferSize sets the size of read buffer, which in turn determines how much data can be read at most for one read syscall. + ReadBufferSize int + // ChannelzParentID sets the addrConn id which initiate the creation of this client transport. + ChannelzParentID int64 + // MaxHeaderListSize sets the max (uncompressed) size of header list that is prepared to be received. + MaxHeaderListSize *uint32 +} + +// TargetInfo contains the information of the target such as network address and metadata. +type TargetInfo struct { + Addr string + Metadata interface{} + Authority string +} + +// NewClientTransport establishes the transport with the required ConnectOptions +// and returns it to the caller. +func NewClientTransport(connectCtx, ctx context.Context, target TargetInfo, opts ConnectOptions, onPrefaceReceipt func(), onGoAway func(GoAwayReason), onClose func()) (ClientTransport, error) { + return newHTTP2Client(connectCtx, ctx, target, opts, onPrefaceReceipt, onGoAway, onClose) +} + +// Options provides additional hints and information for message +// transmission. +type Options struct { + // Last indicates whether this write is the last piece for + // this stream. + Last bool +} + +// CallHdr carries the information of a particular RPC. +type CallHdr struct { + // Host specifies the peer's host. + Host string + + // Method specifies the operation to perform. + Method string + + // SendCompress specifies the compression algorithm applied on + // outbound message. + SendCompress string + + // Creds specifies credentials.PerRPCCredentials for a call. + Creds credentials.PerRPCCredentials + + // ContentSubtype specifies the content-subtype for a request. For example, a + // content-subtype of "proto" will result in a content-type of + // "application/grpc+proto". The value of ContentSubtype must be all + // lowercase, otherwise the behavior is undefined. See + // https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests + // for more details. + ContentSubtype string + + PreviousAttempts int // value of grpc-previous-rpc-attempts header to set +} + +// ClientTransport is the common interface for all gRPC client-side transport +// implementations. +type ClientTransport interface { + // Close tears down this transport. Once it returns, the transport + // should not be accessed any more. The caller must make sure this + // is called only once. + Close() error + + // GracefulClose starts to tear down the transport: the transport will stop + // accepting new RPCs and NewStream will return error. Once all streams are + // finished, the transport will close. + // + // It does not block. + GracefulClose() + + // Write sends the data for the given stream. A nil stream indicates + // the write is to be performed on the transport as a whole. + Write(s *Stream, hdr []byte, data []byte, opts *Options) error + + // NewStream creates a Stream for an RPC. + NewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error) + + // CloseStream clears the footprint of a stream when the stream is + // not needed any more. The err indicates the error incurred when + // CloseStream is called. Must be called when a stream is finished + // unless the associated transport is closing. + CloseStream(stream *Stream, err error) + + // Error returns a channel that is closed when some I/O error + // happens. Typically the caller should have a goroutine to monitor + // this in order to take action (e.g., close the current transport + // and create a new one) in error case. It should not return nil + // once the transport is initiated. + Error() <-chan struct{} + + // GoAway returns a channel that is closed when ClientTransport + // receives the draining signal from the server (e.g., GOAWAY frame in + // HTTP/2). + GoAway() <-chan struct{} + + // GetGoAwayReason returns the reason why GoAway frame was received. + GetGoAwayReason() GoAwayReason + + // RemoteAddr returns the remote network address. + RemoteAddr() net.Addr + + // IncrMsgSent increments the number of message sent through this transport. + IncrMsgSent() + + // IncrMsgRecv increments the number of message received through this transport. + IncrMsgRecv() +} + +// ServerTransport is the common interface for all gRPC server-side transport +// implementations. +// +// Methods may be called concurrently from multiple goroutines, but +// Write methods for a given Stream will be called serially. +type ServerTransport interface { + // HandleStreams receives incoming streams using the given handler. + HandleStreams(func(*Stream), func(context.Context, string) context.Context) + + // WriteHeader sends the header metadata for the given stream. + // WriteHeader may not be called on all streams. + WriteHeader(s *Stream, md metadata.MD) error + + // Write sends the data for the given stream. + // Write may not be called on all streams. + Write(s *Stream, hdr []byte, data []byte, opts *Options) error + + // WriteStatus sends the status of a stream to the client. WriteStatus is + // the final call made on a stream and always occurs. + WriteStatus(s *Stream, st *status.Status) error + + // Close tears down the transport. Once it is called, the transport + // should not be accessed any more. All the pending streams and their + // handlers will be terminated asynchronously. + Close() error + + // RemoteAddr returns the remote network address. + RemoteAddr() net.Addr + + // Drain notifies the client this ServerTransport stops accepting new RPCs. + Drain() + + // IncrMsgSent increments the number of message sent through this transport. + IncrMsgSent() + + // IncrMsgRecv increments the number of message received through this transport. + IncrMsgRecv() +} + +// connectionErrorf creates an ConnectionError with the specified error description. +func connectionErrorf(temp bool, e error, format string, a ...interface{}) ConnectionError { + return ConnectionError{ + Desc: fmt.Sprintf(format, a...), + temp: temp, + err: e, + } +} + +// ConnectionError is an error that results in the termination of the +// entire connection and the retry of all the active streams. +type ConnectionError struct { + Desc string + temp bool + err error +} + +func (e ConnectionError) Error() string { + return fmt.Sprintf("connection error: desc = %q", e.Desc) +} + +// Temporary indicates if this connection error is temporary or fatal. +func (e ConnectionError) Temporary() bool { + return e.temp +} + +// Origin returns the original error of this connection error. +func (e ConnectionError) Origin() error { + // Never return nil error here. + // If the original error is nil, return itself. + if e.err == nil { + return e + } + return e.err +} + +var ( + // ErrConnClosing indicates that the transport is closing. + ErrConnClosing = connectionErrorf(true, nil, "transport is closing") + // errStreamDrain indicates that the stream is rejected because the + // connection is draining. This could be caused by goaway or balancer + // removing the address. + errStreamDrain = status.Error(codes.Unavailable, "the connection is draining") + // errStreamDone is returned from write at the client side to indiacte application + // layer of an error. + errStreamDone = errors.New("the stream is done") + // StatusGoAway indicates that the server sent a GOAWAY that included this + // stream's ID in unprocessed RPCs. + statusGoAway = status.New(codes.Unavailable, "the stream is rejected because server is draining the connection") +) + +// GoAwayReason contains the reason for the GoAway frame received. +type GoAwayReason uint8 + +const ( + // GoAwayInvalid indicates that no GoAway frame is received. + GoAwayInvalid GoAwayReason = 0 + // GoAwayNoReason is the default value when GoAway frame is received. + GoAwayNoReason GoAwayReason = 1 + // GoAwayTooManyPings indicates that a GoAway frame with + // ErrCodeEnhanceYourCalm was received and that the debug data said + // "too_many_pings". + GoAwayTooManyPings GoAwayReason = 2 +) + +// channelzData is used to store channelz related data for http2Client and http2Server. +// These fields cannot be embedded in the original structs (e.g. http2Client), since to do atomic +// operation on int64 variable on 32-bit machine, user is responsible to enforce memory alignment. +// Here, by grouping those int64 fields inside a struct, we are enforcing the alignment. +type channelzData struct { + kpCount int64 + // The number of streams that have started, including already finished ones. + streamsStarted int64 + // Client side: The number of streams that have ended successfully by receiving + // EoS bit set frame from server. + // Server side: The number of streams that have ended successfully by sending + // frame with EoS bit set. + streamsSucceeded int64 + streamsFailed int64 + // lastStreamCreatedTime stores the timestamp that the last stream gets created. It is of int64 type + // instead of time.Time since it's more costly to atomically update time.Time variable than int64 + // variable. The same goes for lastMsgSentTime and lastMsgRecvTime. + lastStreamCreatedTime int64 + msgSent int64 + msgRecv int64 + lastMsgSentTime int64 + lastMsgRecvTime int64 +} + +// ContextErr converts the error from context package into a status error. +func ContextErr(err error) error { + switch err { + case context.DeadlineExceeded: + return status.Error(codes.DeadlineExceeded, err.Error()) + case context.Canceled: + return status.Error(codes.Canceled, err.Error()) + } + return status.Errorf(codes.Internal, "Unexpected error from context packet: %v", err) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/keepalive/keepalive.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/keepalive/keepalive.go new file mode 100644 index 0000000..34d31b5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/keepalive/keepalive.go @@ -0,0 +1,85 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package keepalive defines configurable parameters for point-to-point +// healthcheck. +package keepalive + +import ( + "time" +) + +// ClientParameters is used to set keepalive parameters on the client-side. +// These configure how the client will actively probe to notice when a +// connection is broken and send pings so intermediaries will be aware of the +// liveness of the connection. Make sure these parameters are set in +// coordination with the keepalive policy on the server, as incompatible +// settings can result in closing of connection. +type ClientParameters struct { + // After a duration of this time if the client doesn't see any activity it + // pings the server to see if the transport is still alive. + // If set below 10s, a minimum value of 10s will be used instead. + Time time.Duration // The current default value is infinity. + // After having pinged for keepalive check, the client waits for a duration + // of Timeout and if no activity is seen even after that the connection is + // closed. + Timeout time.Duration // The current default value is 20 seconds. + // If true, client sends keepalive pings even with no active RPCs. If false, + // when there are no active RPCs, Time and Timeout will be ignored and no + // keepalive pings will be sent. + PermitWithoutStream bool // false by default. +} + +// ServerParameters is used to set keepalive and max-age parameters on the +// server-side. +type ServerParameters struct { + // MaxConnectionIdle is a duration for the amount of time after which an + // idle connection would be closed by sending a GoAway. Idleness duration is + // defined since the most recent time the number of outstanding RPCs became + // zero or the connection establishment. + MaxConnectionIdle time.Duration // The current default value is infinity. + // MaxConnectionAge is a duration for the maximum amount of time a + // connection may exist before it will be closed by sending a GoAway. A + // random jitter of +/-10% will be added to MaxConnectionAge to spread out + // connection storms. + MaxConnectionAge time.Duration // The current default value is infinity. + // MaxConnectionAgeGrace is an additive period after MaxConnectionAge after + // which the connection will be forcibly closed. + MaxConnectionAgeGrace time.Duration // The current default value is infinity. + // After a duration of this time if the server doesn't see any activity it + // pings the client to see if the transport is still alive. + // If set below 1s, a minimum value of 1s will be used instead. + Time time.Duration // The current default value is 2 hours. + // After having pinged for keepalive check, the server waits for a duration + // of Timeout and if no activity is seen even after that the connection is + // closed. + Timeout time.Duration // The current default value is 20 seconds. +} + +// EnforcementPolicy is used to set keepalive enforcement policy on the +// server-side. Server will close connection with a client that violates this +// policy. +type EnforcementPolicy struct { + // MinTime is the minimum amount of time a client should wait before sending + // a keepalive ping. + MinTime time.Duration // The current default value is 5 minutes. + // If true, server allows keepalive pings even when there are no active + // streams(RPCs). If false, and client sends ping when there are no active + // streams, server will send GOAWAY and close the connection. + PermitWithoutStream bool // false by default. +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/metadata/metadata.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/metadata/metadata.go new file mode 100644 index 0000000..cf6d1b9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/metadata/metadata.go @@ -0,0 +1,209 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +// Package metadata define the structure of the metadata supported by gRPC library. +// Please refer to https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md +// for more information about custom-metadata. +package metadata // import "google.golang.org/grpc/metadata" + +import ( + "context" + "fmt" + "strings" +) + +// DecodeKeyValue returns k, v, nil. +// +// Deprecated: use k and v directly instead. +func DecodeKeyValue(k, v string) (string, string, error) { + return k, v, nil +} + +// MD is a mapping from metadata keys to values. Users should use the following +// two convenience functions New and Pairs to generate MD. +type MD map[string][]string + +// New creates an MD from a given key-value map. +// +// Only the following ASCII characters are allowed in keys: +// - digits: 0-9 +// - uppercase letters: A-Z (normalized to lower) +// - lowercase letters: a-z +// - special characters: -_. +// Uppercase letters are automatically converted to lowercase. +// +// Keys beginning with "grpc-" are reserved for grpc-internal use only and may +// result in errors if set in metadata. +func New(m map[string]string) MD { + md := MD{} + for k, val := range m { + key := strings.ToLower(k) + md[key] = append(md[key], val) + } + return md +} + +// Pairs returns an MD formed by the mapping of key, value ... +// Pairs panics if len(kv) is odd. +// +// Only the following ASCII characters are allowed in keys: +// - digits: 0-9 +// - uppercase letters: A-Z (normalized to lower) +// - lowercase letters: a-z +// - special characters: -_. +// Uppercase letters are automatically converted to lowercase. +// +// Keys beginning with "grpc-" are reserved for grpc-internal use only and may +// result in errors if set in metadata. +func Pairs(kv ...string) MD { + if len(kv)%2 == 1 { + panic(fmt.Sprintf("metadata: Pairs got the odd number of input pairs for metadata: %d", len(kv))) + } + md := MD{} + var key string + for i, s := range kv { + if i%2 == 0 { + key = strings.ToLower(s) + continue + } + md[key] = append(md[key], s) + } + return md +} + +// Len returns the number of items in md. +func (md MD) Len() int { + return len(md) +} + +// Copy returns a copy of md. +func (md MD) Copy() MD { + return Join(md) +} + +// Get obtains the values for a given key. +func (md MD) Get(k string) []string { + k = strings.ToLower(k) + return md[k] +} + +// Set sets the value of a given key with a slice of values. +func (md MD) Set(k string, vals ...string) { + if len(vals) == 0 { + return + } + k = strings.ToLower(k) + md[k] = vals +} + +// Append adds the values to key k, not overwriting what was already stored at that key. +func (md MD) Append(k string, vals ...string) { + if len(vals) == 0 { + return + } + k = strings.ToLower(k) + md[k] = append(md[k], vals...) +} + +// Join joins any number of mds into a single MD. +// The order of values for each key is determined by the order in which +// the mds containing those values are presented to Join. +func Join(mds ...MD) MD { + out := MD{} + for _, md := range mds { + for k, v := range md { + out[k] = append(out[k], v...) + } + } + return out +} + +type mdIncomingKey struct{} +type mdOutgoingKey struct{} + +// NewIncomingContext creates a new context with incoming md attached. +func NewIncomingContext(ctx context.Context, md MD) context.Context { + return context.WithValue(ctx, mdIncomingKey{}, md) +} + +// NewOutgoingContext creates a new context with outgoing md attached. If used +// in conjunction with AppendToOutgoingContext, NewOutgoingContext will +// overwrite any previously-appended metadata. +func NewOutgoingContext(ctx context.Context, md MD) context.Context { + return context.WithValue(ctx, mdOutgoingKey{}, rawMD{md: md}) +} + +// AppendToOutgoingContext returns a new context with the provided kv merged +// with any existing metadata in the context. Please refer to the +// documentation of Pairs for a description of kv. +func AppendToOutgoingContext(ctx context.Context, kv ...string) context.Context { + if len(kv)%2 == 1 { + panic(fmt.Sprintf("metadata: AppendToOutgoingContext got an odd number of input pairs for metadata: %d", len(kv))) + } + md, _ := ctx.Value(mdOutgoingKey{}).(rawMD) + added := make([][]string, len(md.added)+1) + copy(added, md.added) + added[len(added)-1] = make([]string, len(kv)) + copy(added[len(added)-1], kv) + return context.WithValue(ctx, mdOutgoingKey{}, rawMD{md: md.md, added: added}) +} + +// FromIncomingContext returns the incoming metadata in ctx if it exists. The +// returned MD should not be modified. Writing to it may cause races. +// Modification should be made to copies of the returned MD. +func FromIncomingContext(ctx context.Context) (md MD, ok bool) { + md, ok = ctx.Value(mdIncomingKey{}).(MD) + return +} + +// FromOutgoingContextRaw returns the un-merged, intermediary contents +// of rawMD. Remember to perform strings.ToLower on the keys. The returned +// MD should not be modified. Writing to it may cause races. Modification +// should be made to copies of the returned MD. +// +// This is intended for gRPC-internal use ONLY. +func FromOutgoingContextRaw(ctx context.Context) (MD, [][]string, bool) { + raw, ok := ctx.Value(mdOutgoingKey{}).(rawMD) + if !ok { + return nil, nil, false + } + + return raw.md, raw.added, true +} + +// FromOutgoingContext returns the outgoing metadata in ctx if it exists. The +// returned MD should not be modified. Writing to it may cause races. +// Modification should be made to copies of the returned MD. +func FromOutgoingContext(ctx context.Context) (MD, bool) { + raw, ok := ctx.Value(mdOutgoingKey{}).(rawMD) + if !ok { + return nil, false + } + + mds := make([]MD, 0, len(raw.added)+1) + mds = append(mds, raw.md) + for _, vv := range raw.added { + mds = append(mds, Pairs(vv...)) + } + return Join(mds...), ok +} + +type rawMD struct { + md MD + added [][]string +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/dns_resolver.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/dns_resolver.go new file mode 100644 index 0000000..c9f79dc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/dns_resolver.go @@ -0,0 +1,293 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package naming + +import ( + "context" + "errors" + "fmt" + "net" + "strconv" + "time" + + "google.golang.org/grpc/grpclog" +) + +const ( + defaultPort = "443" + defaultFreq = time.Minute * 30 +) + +var ( + errMissingAddr = errors.New("missing address") + errWatcherClose = errors.New("watcher has been closed") + + lookupHost = net.DefaultResolver.LookupHost + lookupSRV = net.DefaultResolver.LookupSRV +) + +// NewDNSResolverWithFreq creates a DNS Resolver that can resolve DNS names, and +// create watchers that poll the DNS server using the frequency set by freq. +func NewDNSResolverWithFreq(freq time.Duration) (Resolver, error) { + return &dnsResolver{freq: freq}, nil +} + +// NewDNSResolver creates a DNS Resolver that can resolve DNS names, and create +// watchers that poll the DNS server using the default frequency defined by defaultFreq. +func NewDNSResolver() (Resolver, error) { + return NewDNSResolverWithFreq(defaultFreq) +} + +// dnsResolver handles name resolution for names following the DNS scheme +type dnsResolver struct { + // frequency of polling the DNS server that the watchers created by this resolver will use. + freq time.Duration +} + +// formatIP returns ok = false if addr is not a valid textual representation of an IP address. +// If addr is an IPv4 address, return the addr and ok = true. +// If addr is an IPv6 address, return the addr enclosed in square brackets and ok = true. +func formatIP(addr string) (addrIP string, ok bool) { + ip := net.ParseIP(addr) + if ip == nil { + return "", false + } + if ip.To4() != nil { + return addr, true + } + return "[" + addr + "]", true +} + +// parseTarget takes the user input target string, returns formatted host and port info. +// If target doesn't specify a port, set the port to be the defaultPort. +// If target is in IPv6 format and host-name is enclosed in square brackets, brackets +// are stripped when setting the host. +// examples: +// target: "www.google.com" returns host: "www.google.com", port: "443" +// target: "ipv4-host:80" returns host: "ipv4-host", port: "80" +// target: "[ipv6-host]" returns host: "ipv6-host", port: "443" +// target: ":80" returns host: "localhost", port: "80" +// target: ":" returns host: "localhost", port: "443" +func parseTarget(target string) (host, port string, err error) { + if target == "" { + return "", "", errMissingAddr + } + + if ip := net.ParseIP(target); ip != nil { + // target is an IPv4 or IPv6(without brackets) address + return target, defaultPort, nil + } + if host, port, err := net.SplitHostPort(target); err == nil { + // target has port, i.e ipv4-host:port, [ipv6-host]:port, host-name:port + if host == "" { + // Keep consistent with net.Dial(): If the host is empty, as in ":80", the local system is assumed. + host = "localhost" + } + if port == "" { + // If the port field is empty(target ends with colon), e.g. "[::1]:", defaultPort is used. + port = defaultPort + } + return host, port, nil + } + if host, port, err := net.SplitHostPort(target + ":" + defaultPort); err == nil { + // target doesn't have port + return host, port, nil + } + return "", "", fmt.Errorf("invalid target address %v", target) +} + +// Resolve creates a watcher that watches the name resolution of the target. +func (r *dnsResolver) Resolve(target string) (Watcher, error) { + host, port, err := parseTarget(target) + if err != nil { + return nil, err + } + + if net.ParseIP(host) != nil { + ipWatcher := &ipWatcher{ + updateChan: make(chan *Update, 1), + } + host, _ = formatIP(host) + ipWatcher.updateChan <- &Update{Op: Add, Addr: host + ":" + port} + return ipWatcher, nil + } + + ctx, cancel := context.WithCancel(context.Background()) + return &dnsWatcher{ + r: r, + host: host, + port: port, + ctx: ctx, + cancel: cancel, + t: time.NewTimer(0), + }, nil +} + +// dnsWatcher watches for the name resolution update for a specific target +type dnsWatcher struct { + r *dnsResolver + host string + port string + // The latest resolved address set + curAddrs map[string]*Update + ctx context.Context + cancel context.CancelFunc + t *time.Timer +} + +// ipWatcher watches for the name resolution update for an IP address. +type ipWatcher struct { + updateChan chan *Update +} + +// Next returns the address resolution Update for the target. For IP address, +// the resolution is itself, thus polling name server is unnecessary. Therefore, +// Next() will return an Update the first time it is called, and will be blocked +// for all following calls as no Update exists until watcher is closed. +func (i *ipWatcher) Next() ([]*Update, error) { + u, ok := <-i.updateChan + if !ok { + return nil, errWatcherClose + } + return []*Update{u}, nil +} + +// Close closes the ipWatcher. +func (i *ipWatcher) Close() { + close(i.updateChan) +} + +// AddressType indicates the address type returned by name resolution. +type AddressType uint8 + +const ( + // Backend indicates the server is a backend server. + Backend AddressType = iota + // GRPCLB indicates the server is a grpclb load balancer. + GRPCLB +) + +// AddrMetadataGRPCLB contains the information the name resolver for grpclb should provide. The +// name resolver used by the grpclb balancer is required to provide this type of metadata in +// its address updates. +type AddrMetadataGRPCLB struct { + // AddrType is the type of server (grpc load balancer or backend). + AddrType AddressType + // ServerName is the name of the grpc load balancer. Used for authentication. + ServerName string +} + +// compileUpdate compares the old resolved addresses and newly resolved addresses, +// and generates an update list +func (w *dnsWatcher) compileUpdate(newAddrs map[string]*Update) []*Update { + var res []*Update + for a, u := range w.curAddrs { + if _, ok := newAddrs[a]; !ok { + u.Op = Delete + res = append(res, u) + } + } + for a, u := range newAddrs { + if _, ok := w.curAddrs[a]; !ok { + res = append(res, u) + } + } + return res +} + +func (w *dnsWatcher) lookupSRV() map[string]*Update { + newAddrs := make(map[string]*Update) + _, srvs, err := lookupSRV(w.ctx, "grpclb", "tcp", w.host) + if err != nil { + grpclog.Infof("grpc: failed dns SRV record lookup due to %v.\n", err) + return nil + } + for _, s := range srvs { + lbAddrs, err := lookupHost(w.ctx, s.Target) + if err != nil { + grpclog.Warningf("grpc: failed load balancer address dns lookup due to %v.\n", err) + continue + } + for _, a := range lbAddrs { + a, ok := formatIP(a) + if !ok { + grpclog.Errorf("grpc: failed IP parsing due to %v.\n", err) + continue + } + addr := a + ":" + strconv.Itoa(int(s.Port)) + newAddrs[addr] = &Update{Addr: addr, + Metadata: AddrMetadataGRPCLB{AddrType: GRPCLB, ServerName: s.Target}} + } + } + return newAddrs +} + +func (w *dnsWatcher) lookupHost() map[string]*Update { + newAddrs := make(map[string]*Update) + addrs, err := lookupHost(w.ctx, w.host) + if err != nil { + grpclog.Warningf("grpc: failed dns A record lookup due to %v.\n", err) + return nil + } + for _, a := range addrs { + a, ok := formatIP(a) + if !ok { + grpclog.Errorf("grpc: failed IP parsing due to %v.\n", err) + continue + } + addr := a + ":" + w.port + newAddrs[addr] = &Update{Addr: addr} + } + return newAddrs +} + +func (w *dnsWatcher) lookup() []*Update { + newAddrs := w.lookupSRV() + if newAddrs == nil { + // If failed to get any balancer address (either no corresponding SRV for the + // target, or caused by failure during resolution/parsing of the balancer target), + // return any A record info available. + newAddrs = w.lookupHost() + } + result := w.compileUpdate(newAddrs) + w.curAddrs = newAddrs + return result +} + +// Next returns the resolved address update(delta) for the target. If there's no +// change, it will sleep for 30 mins and try to resolve again after that. +func (w *dnsWatcher) Next() ([]*Update, error) { + for { + select { + case <-w.ctx.Done(): + return nil, errWatcherClose + case <-w.t.C: + } + result := w.lookup() + // Next lookup should happen after an interval defined by w.r.freq. + w.t.Reset(w.r.freq) + if len(result) > 0 { + return result, nil + } + } +} + +func (w *dnsWatcher) Close() { + w.cancel() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/naming.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/naming.go new file mode 100644 index 0000000..f4c1c8b --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/naming/naming.go @@ -0,0 +1,68 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +// Package naming defines the naming API and related data structures for gRPC. +// +// This package is deprecated: please use package resolver instead. +package naming + +// Operation defines the corresponding operations for a name resolution change. +// +// Deprecated: please use package resolver. +type Operation uint8 + +const ( + // Add indicates a new address is added. + Add Operation = iota + // Delete indicates an existing address is deleted. + Delete +) + +// Update defines a name resolution update. Notice that it is not valid having both +// empty string Addr and nil Metadata in an Update. +// +// Deprecated: please use package resolver. +type Update struct { + // Op indicates the operation of the update. + Op Operation + // Addr is the updated address. It is empty string if there is no address update. + Addr string + // Metadata is the updated metadata. It is nil if there is no metadata update. + // Metadata is not required for a custom naming implementation. + Metadata interface{} +} + +// Resolver creates a Watcher for a target to track its resolution changes. +// +// Deprecated: please use package resolver. +type Resolver interface { + // Resolve creates a Watcher for target. + Resolve(target string) (Watcher, error) +} + +// Watcher watches for the updates on the specified target. +// +// Deprecated: please use package resolver. +type Watcher interface { + // Next blocks until an update or error happens. It may return one or more + // updates. The first call should get the full set of the results. It should + // return an error if and only if Watcher cannot recover. + Next() ([]*Update, error) + // Close closes the Watcher. + Close() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/peer/peer.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/peer/peer.go new file mode 100644 index 0000000..e01d219 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/peer/peer.go @@ -0,0 +1,51 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +// Package peer defines various peer information associated with RPCs and +// corresponding utils. +package peer + +import ( + "context" + "net" + + "google.golang.org/grpc/credentials" +) + +// Peer contains the information of the peer for an RPC, such as the address +// and authentication information. +type Peer struct { + // Addr is the peer address. + Addr net.Addr + // AuthInfo is the authentication information of the transport. + // It is nil if there is no transport security being used. + AuthInfo credentials.AuthInfo +} + +type peerKey struct{} + +// NewContext creates a new context with peer information attached. +func NewContext(ctx context.Context, p *Peer) context.Context { + return context.WithValue(ctx, peerKey{}, p) +} + +// FromContext returns the peer information in ctx if it exists. +func FromContext(ctx context.Context) (p *Peer, ok bool) { + p, ok = ctx.Value(peerKey{}).(*Peer) + return +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/picker_wrapper.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/picker_wrapper.go new file mode 100644 index 0000000..45baa2a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/picker_wrapper.go @@ -0,0 +1,197 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + "io" + "sync" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/internal/transport" + "google.golang.org/grpc/status" +) + +// pickerWrapper is a wrapper of balancer.Picker. It blocks on certain pick +// actions and unblock when there's a picker update. +type pickerWrapper struct { + mu sync.Mutex + done bool + blockingCh chan struct{} + picker balancer.Picker + + // The latest connection happened. + connErrMu sync.Mutex + connErr error +} + +func newPickerWrapper() *pickerWrapper { + bp := &pickerWrapper{blockingCh: make(chan struct{})} + return bp +} + +func (bp *pickerWrapper) updateConnectionError(err error) { + bp.connErrMu.Lock() + bp.connErr = err + bp.connErrMu.Unlock() +} + +func (bp *pickerWrapper) connectionError() error { + bp.connErrMu.Lock() + err := bp.connErr + bp.connErrMu.Unlock() + return err +} + +// updatePicker is called by UpdateBalancerState. It unblocks all blocked pick. +func (bp *pickerWrapper) updatePicker(p balancer.Picker) { + bp.mu.Lock() + if bp.done { + bp.mu.Unlock() + return + } + bp.picker = p + // bp.blockingCh should never be nil. + close(bp.blockingCh) + bp.blockingCh = make(chan struct{}) + bp.mu.Unlock() +} + +func doneChannelzWrapper(acw *acBalancerWrapper, done func(balancer.DoneInfo)) func(balancer.DoneInfo) { + acw.mu.Lock() + ac := acw.ac + acw.mu.Unlock() + ac.incrCallsStarted() + return func(b balancer.DoneInfo) { + if b.Err != nil && b.Err != io.EOF { + ac.incrCallsFailed() + } else { + ac.incrCallsSucceeded() + } + if done != nil { + done(b) + } + } +} + +// pick returns the transport that will be used for the RPC. +// It may block in the following cases: +// - there's no picker +// - the current picker returns ErrNoSubConnAvailable +// - the current picker returns other errors and failfast is false. +// - the subConn returned by the current picker is not READY +// When one of these situations happens, pick blocks until the picker gets updated. +func (bp *pickerWrapper) pick(ctx context.Context, failfast bool, opts balancer.PickOptions) (transport.ClientTransport, func(balancer.DoneInfo), error) { + var ch chan struct{} + + for { + bp.mu.Lock() + if bp.done { + bp.mu.Unlock() + return nil, nil, ErrClientConnClosing + } + + if bp.picker == nil { + ch = bp.blockingCh + } + if ch == bp.blockingCh { + // This could happen when either: + // - bp.picker is nil (the previous if condition), or + // - has called pick on the current picker. + bp.mu.Unlock() + select { + case <-ctx.Done(): + if connectionErr := bp.connectionError(); connectionErr != nil { + switch ctx.Err() { + case context.DeadlineExceeded: + return nil, nil, status.Errorf(codes.DeadlineExceeded, "latest connection error: %v", connectionErr) + case context.Canceled: + return nil, nil, status.Errorf(codes.Canceled, "latest connection error: %v", connectionErr) + } + } + return nil, nil, ctx.Err() + case <-ch: + } + continue + } + + ch = bp.blockingCh + p := bp.picker + bp.mu.Unlock() + + subConn, done, err := p.Pick(ctx, opts) + + if err != nil { + switch err { + case balancer.ErrNoSubConnAvailable: + continue + case balancer.ErrTransientFailure: + if !failfast { + continue + } + return nil, nil, status.Errorf(codes.Unavailable, "%v, latest connection error: %v", err, bp.connectionError()) + case context.DeadlineExceeded: + return nil, nil, status.Error(codes.DeadlineExceeded, err.Error()) + case context.Canceled: + return nil, nil, status.Error(codes.Canceled, err.Error()) + default: + if _, ok := status.FromError(err); ok { + return nil, nil, err + } + // err is some other error. + return nil, nil, status.Error(codes.Unknown, err.Error()) + } + } + + acw, ok := subConn.(*acBalancerWrapper) + if !ok { + grpclog.Error("subconn returned from pick is not *acBalancerWrapper") + continue + } + if t, ok := acw.getAddrConn().getReadyTransport(); ok { + if channelz.IsOn() { + return t, doneChannelzWrapper(acw, done), nil + } + return t, done, nil + } + if done != nil { + // Calling done with nil error, no bytes sent and no bytes received. + // DoneInfo with default value works. + done(balancer.DoneInfo{}) + } + grpclog.Infof("blockingPicker: the picked transport is not ready, loop back to repick") + // If ok == false, ac.state is not READY. + // A valid picker always returns READY subConn. This means the state of ac + // just changed, and picker will be updated shortly. + // continue back to the beginning of the for loop to repick. + } +} + +func (bp *pickerWrapper) close() { + bp.mu.Lock() + defer bp.mu.Unlock() + if bp.done { + return + } + bp.done = true + close(bp.blockingCh) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/pickfirst.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/pickfirst.go new file mode 100644 index 0000000..ed05b02 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/pickfirst.go @@ -0,0 +1,118 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/connectivity" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/resolver" +) + +// PickFirstBalancerName is the name of the pick_first balancer. +const PickFirstBalancerName = "pick_first" + +func newPickfirstBuilder() balancer.Builder { + return &pickfirstBuilder{} +} + +type pickfirstBuilder struct{} + +func (*pickfirstBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions) balancer.Balancer { + return &pickfirstBalancer{cc: cc} +} + +func (*pickfirstBuilder) Name() string { + return PickFirstBalancerName +} + +type pickfirstBalancer struct { + cc balancer.ClientConn + sc balancer.SubConn +} + +func (b *pickfirstBalancer) HandleResolvedAddrs(addrs []resolver.Address, err error) { + if err != nil { + if grpclog.V(2) { + grpclog.Infof("pickfirstBalancer: HandleResolvedAddrs called with error %v", err) + } + return + } + if b.sc == nil { + b.sc, err = b.cc.NewSubConn(addrs, balancer.NewSubConnOptions{}) + if err != nil { + //TODO(yuxuanli): why not change the cc state to Idle? + if grpclog.V(2) { + grpclog.Errorf("pickfirstBalancer: failed to NewSubConn: %v", err) + } + return + } + b.cc.UpdateBalancerState(connectivity.Idle, &picker{sc: b.sc}) + b.sc.Connect() + } else { + b.sc.UpdateAddresses(addrs) + b.sc.Connect() + } +} + +func (b *pickfirstBalancer) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) { + if grpclog.V(2) { + grpclog.Infof("pickfirstBalancer: HandleSubConnStateChange: %p, %v", sc, s) + } + if b.sc != sc { + if grpclog.V(2) { + grpclog.Infof("pickfirstBalancer: ignored state change because sc is not recognized") + } + return + } + if s == connectivity.Shutdown { + b.sc = nil + return + } + + switch s { + case connectivity.Ready, connectivity.Idle: + b.cc.UpdateBalancerState(s, &picker{sc: sc}) + case connectivity.Connecting: + b.cc.UpdateBalancerState(s, &picker{err: balancer.ErrNoSubConnAvailable}) + case connectivity.TransientFailure: + b.cc.UpdateBalancerState(s, &picker{err: balancer.ErrTransientFailure}) + } +} + +func (b *pickfirstBalancer) Close() { +} + +type picker struct { + err error + sc balancer.SubConn +} + +func (p *picker) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) { + if p.err != nil { + return nil, nil, p.err + } + return p.sc, nil, nil +} + +func init() { + balancer.Register(newPickfirstBuilder()) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/preloader.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/preloader.go new file mode 100644 index 0000000..76acbbc --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/preloader.go @@ -0,0 +1,64 @@ +/* + * + * Copyright 2019 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +// PreparedMsg is responsible for creating a Marshalled and Compressed object. +// +// This API is EXPERIMENTAL. +type PreparedMsg struct { + // Struct for preparing msg before sending them + encodedData []byte + hdr []byte + payload []byte +} + +// Encode marshalls and compresses the message using the codec and compressor for the stream. +func (p *PreparedMsg) Encode(s Stream, msg interface{}) error { + ctx := s.Context() + rpcInfo, ok := rpcInfoFromContext(ctx) + if !ok { + return status.Errorf(codes.Internal, "grpc: unable to get rpcInfo") + } + + // check if the context has the relevant information to prepareMsg + if rpcInfo.preloaderInfo == nil { + return status.Errorf(codes.Internal, "grpc: rpcInfo.preloaderInfo is nil") + } + if rpcInfo.preloaderInfo.codec == nil { + return status.Errorf(codes.Internal, "grpc: rpcInfo.preloaderInfo.codec is nil") + } + + // prepare the msg + data, err := encode(rpcInfo.preloaderInfo.codec, msg) + if err != nil { + return err + } + p.encodedData = data + compData, err := compress(data, rpcInfo.preloaderInfo.cp, rpcInfo.preloaderInfo.comp) + if err != nil { + return err + } + p.hdr, p.payload = msgHeader(data, compData) + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/proxy.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/proxy.go new file mode 100644 index 0000000..f8f69bf --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/proxy.go @@ -0,0 +1,152 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "bufio" + "context" + "encoding/base64" + "errors" + "fmt" + "io" + "net" + "net/http" + "net/http/httputil" + "net/url" +) + +const proxyAuthHeaderKey = "Proxy-Authorization" + +var ( + // errDisabled indicates that proxy is disabled for the address. + errDisabled = errors.New("proxy is disabled for the address") + // The following variable will be overwritten in the tests. + httpProxyFromEnvironment = http.ProxyFromEnvironment +) + +func mapAddress(ctx context.Context, address string) (*url.URL, error) { + req := &http.Request{ + URL: &url.URL{ + Scheme: "https", + Host: address, + }, + } + url, err := httpProxyFromEnvironment(req) + if err != nil { + return nil, err + } + if url == nil { + return nil, errDisabled + } + return url, nil +} + +// To read a response from a net.Conn, http.ReadResponse() takes a bufio.Reader. +// It's possible that this reader reads more than what's need for the response and stores +// those bytes in the buffer. +// bufConn wraps the original net.Conn and the bufio.Reader to make sure we don't lose the +// bytes in the buffer. +type bufConn struct { + net.Conn + r io.Reader +} + +func (c *bufConn) Read(b []byte) (int, error) { + return c.r.Read(b) +} + +func basicAuth(username, password string) string { + auth := username + ":" + password + return base64.StdEncoding.EncodeToString([]byte(auth)) +} + +func doHTTPConnectHandshake(ctx context.Context, conn net.Conn, backendAddr string, proxyURL *url.URL) (_ net.Conn, err error) { + defer func() { + if err != nil { + conn.Close() + } + }() + + req := &http.Request{ + Method: http.MethodConnect, + URL: &url.URL{Host: backendAddr}, + Header: map[string][]string{"User-Agent": {grpcUA}}, + } + if t := proxyURL.User; t != nil { + u := t.Username() + p, _ := t.Password() + req.Header.Add(proxyAuthHeaderKey, "Basic "+basicAuth(u, p)) + } + + if err := sendHTTPRequest(ctx, req, conn); err != nil { + return nil, fmt.Errorf("failed to write the HTTP request: %v", err) + } + + r := bufio.NewReader(conn) + resp, err := http.ReadResponse(r, req) + if err != nil { + return nil, fmt.Errorf("reading server HTTP response: %v", err) + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + dump, err := httputil.DumpResponse(resp, true) + if err != nil { + return nil, fmt.Errorf("failed to do connect handshake, status code: %s", resp.Status) + } + return nil, fmt.Errorf("failed to do connect handshake, response: %q", dump) + } + + return &bufConn{Conn: conn, r: r}, nil +} + +// newProxyDialer returns a dialer that connects to proxy first if necessary. +// The returned dialer checks if a proxy is necessary, dial to the proxy with the +// provided dialer, does HTTP CONNECT handshake and returns the connection. +func newProxyDialer(dialer func(context.Context, string) (net.Conn, error)) func(context.Context, string) (net.Conn, error) { + return func(ctx context.Context, addr string) (conn net.Conn, err error) { + var newAddr string + proxyURL, err := mapAddress(ctx, addr) + if err != nil { + if err != errDisabled { + return nil, err + } + newAddr = addr + } else { + newAddr = proxyURL.Host + } + + conn, err = dialer(ctx, newAddr) + if err != nil { + return + } + if proxyURL != nil { + // proxy is disabled if proxyURL is nil. + conn, err = doHTTPConnectHandshake(ctx, conn, addr, proxyURL) + } + return + } +} + +func sendHTTPRequest(ctx context.Context, req *http.Request, conn net.Conn) error { + req = req.WithContext(ctx) + if err := req.Write(conn); err != nil { + return fmt.Errorf("failed to write the HTTP request: %v", err) + } + return nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/dns/dns_resolver.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/dns/dns_resolver.go new file mode 100644 index 0000000..297492e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/dns/dns_resolver.go @@ -0,0 +1,457 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +// Package dns implements a dns resolver to be installed as the default resolver +// in grpc. +package dns + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "net" + "os" + "strconv" + "strings" + "sync" + "time" + + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal/backoff" + "google.golang.org/grpc/internal/grpcrand" + "google.golang.org/grpc/resolver" +) + +func init() { + resolver.Register(NewBuilder()) +} + +const ( + defaultPort = "443" + defaultFreq = time.Minute * 30 + defaultDNSSvrPort = "53" + golang = "GO" + // txtPrefix is the prefix string to be prepended to the host name for txt record lookup. + txtPrefix = "_grpc_config." + // In DNS, service config is encoded in a TXT record via the mechanism + // described in RFC-1464 using the attribute name grpc_config. + txtAttribute = "grpc_config=" +) + +var ( + errMissingAddr = errors.New("dns resolver: missing address") + + // Addresses ending with a colon that is supposed to be the separator + // between host and port is not allowed. E.g. "::" is a valid address as + // it is an IPv6 address (host only) and "[::]:" is invalid as it ends with + // a colon as the host and port separator + errEndsWithColon = errors.New("dns resolver: missing port after port-separator colon") +) + +var ( + defaultResolver netResolver = net.DefaultResolver + // To prevent excessive re-resolution, we enforce a rate limit on DNS + // resolution requests. + minDNSResRate = 30 * time.Second +) + +var customAuthorityDialler = func(authority string) func(ctx context.Context, network, address string) (net.Conn, error) { + return func(ctx context.Context, network, address string) (net.Conn, error) { + var dialer net.Dialer + return dialer.DialContext(ctx, network, authority) + } +} + +var customAuthorityResolver = func(authority string) (netResolver, error) { + host, port, err := parseTarget(authority, defaultDNSSvrPort) + if err != nil { + return nil, err + } + + authorityWithPort := net.JoinHostPort(host, port) + + return &net.Resolver{ + PreferGo: true, + Dial: customAuthorityDialler(authorityWithPort), + }, nil +} + +// NewBuilder creates a dnsBuilder which is used to factory DNS resolvers. +func NewBuilder() resolver.Builder { + return &dnsBuilder{minFreq: defaultFreq} +} + +type dnsBuilder struct { + // minimum frequency of polling the DNS server. + minFreq time.Duration +} + +// Build creates and starts a DNS resolver that watches the name resolution of the target. +func (b *dnsBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOption) (resolver.Resolver, error) { + host, port, err := parseTarget(target.Endpoint, defaultPort) + if err != nil { + return nil, err + } + + // IP address. + if net.ParseIP(host) != nil { + host, _ = formatIP(host) + addr := []resolver.Address{{Addr: host + ":" + port}} + i := &ipResolver{ + cc: cc, + ip: addr, + rn: make(chan struct{}, 1), + q: make(chan struct{}), + } + cc.NewAddress(addr) + go i.watcher() + return i, nil + } + + // DNS address (non-IP). + ctx, cancel := context.WithCancel(context.Background()) + d := &dnsResolver{ + freq: b.minFreq, + backoff: backoff.Exponential{MaxDelay: b.minFreq}, + host: host, + port: port, + ctx: ctx, + cancel: cancel, + cc: cc, + t: time.NewTimer(0), + rn: make(chan struct{}, 1), + disableServiceConfig: opts.DisableServiceConfig, + } + + if target.Authority == "" { + d.resolver = defaultResolver + } else { + d.resolver, err = customAuthorityResolver(target.Authority) + if err != nil { + return nil, err + } + } + + d.wg.Add(1) + go d.watcher() + return d, nil +} + +// Scheme returns the naming scheme of this resolver builder, which is "dns". +func (b *dnsBuilder) Scheme() string { + return "dns" +} + +type netResolver interface { + LookupHost(ctx context.Context, host string) (addrs []string, err error) + LookupSRV(ctx context.Context, service, proto, name string) (cname string, addrs []*net.SRV, err error) + LookupTXT(ctx context.Context, name string) (txts []string, err error) +} + +// ipResolver watches for the name resolution update for an IP address. +type ipResolver struct { + cc resolver.ClientConn + ip []resolver.Address + // rn channel is used by ResolveNow() to force an immediate resolution of the target. + rn chan struct{} + q chan struct{} +} + +// ResolveNow resend the address it stores, no resolution is needed. +func (i *ipResolver) ResolveNow(opt resolver.ResolveNowOption) { + select { + case i.rn <- struct{}{}: + default: + } +} + +// Close closes the ipResolver. +func (i *ipResolver) Close() { + close(i.q) +} + +func (i *ipResolver) watcher() { + for { + select { + case <-i.rn: + i.cc.NewAddress(i.ip) + case <-i.q: + return + } + } +} + +// dnsResolver watches for the name resolution update for a non-IP target. +type dnsResolver struct { + freq time.Duration + backoff backoff.Exponential + retryCount int + host string + port string + resolver netResolver + ctx context.Context + cancel context.CancelFunc + cc resolver.ClientConn + // rn channel is used by ResolveNow() to force an immediate resolution of the target. + rn chan struct{} + t *time.Timer + // wg is used to enforce Close() to return after the watcher() goroutine has finished. + // Otherwise, data race will be possible. [Race Example] in dns_resolver_test we + // replace the real lookup functions with mocked ones to facilitate testing. + // If Close() doesn't wait for watcher() goroutine finishes, race detector sometimes + // will warns lookup (READ the lookup function pointers) inside watcher() goroutine + // has data race with replaceNetFunc (WRITE the lookup function pointers). + wg sync.WaitGroup + disableServiceConfig bool +} + +// ResolveNow invoke an immediate resolution of the target that this dnsResolver watches. +func (d *dnsResolver) ResolveNow(opt resolver.ResolveNowOption) { + select { + case d.rn <- struct{}{}: + default: + } +} + +// Close closes the dnsResolver. +func (d *dnsResolver) Close() { + d.cancel() + d.wg.Wait() + d.t.Stop() +} + +func (d *dnsResolver) watcher() { + defer d.wg.Done() + for { + select { + case <-d.ctx.Done(): + return + case <-d.t.C: + case <-d.rn: + if !d.t.Stop() { + // Before resetting a timer, it should be stopped to prevent racing with + // reads on it's channel. + <-d.t.C + } + } + + result, sc := d.lookup() + // Next lookup should happen within an interval defined by d.freq. It may be + // more often due to exponential retry on empty address list. + if len(result) == 0 { + d.retryCount++ + d.t.Reset(d.backoff.Backoff(d.retryCount)) + } else { + d.retryCount = 0 + d.t.Reset(d.freq) + } + d.cc.NewServiceConfig(sc) + d.cc.NewAddress(result) + + // Sleep to prevent excessive re-resolutions. Incoming resolution requests + // will be queued in d.rn. + t := time.NewTimer(minDNSResRate) + select { + case <-t.C: + case <-d.ctx.Done(): + t.Stop() + return + } + } +} + +func (d *dnsResolver) lookupSRV() []resolver.Address { + var newAddrs []resolver.Address + _, srvs, err := d.resolver.LookupSRV(d.ctx, "grpclb", "tcp", d.host) + if err != nil { + grpclog.Infof("grpc: failed dns SRV record lookup due to %v.\n", err) + return nil + } + for _, s := range srvs { + lbAddrs, err := d.resolver.LookupHost(d.ctx, s.Target) + if err != nil { + grpclog.Infof("grpc: failed load balancer address dns lookup due to %v.\n", err) + continue + } + for _, a := range lbAddrs { + a, ok := formatIP(a) + if !ok { + grpclog.Errorf("grpc: failed IP parsing due to %v.\n", err) + continue + } + addr := a + ":" + strconv.Itoa(int(s.Port)) + newAddrs = append(newAddrs, resolver.Address{Addr: addr, Type: resolver.GRPCLB, ServerName: s.Target}) + } + } + return newAddrs +} + +func (d *dnsResolver) lookupTXT() string { + ss, err := d.resolver.LookupTXT(d.ctx, txtPrefix+d.host) + if err != nil { + grpclog.Infof("grpc: failed dns TXT record lookup due to %v.\n", err) + return "" + } + var res string + for _, s := range ss { + res += s + } + + // TXT record must have "grpc_config=" attribute in order to be used as service config. + if !strings.HasPrefix(res, txtAttribute) { + grpclog.Warningf("grpc: TXT record %v missing %v attribute", res, txtAttribute) + return "" + } + return strings.TrimPrefix(res, txtAttribute) +} + +func (d *dnsResolver) lookupHost() []resolver.Address { + var newAddrs []resolver.Address + addrs, err := d.resolver.LookupHost(d.ctx, d.host) + if err != nil { + grpclog.Warningf("grpc: failed dns A record lookup due to %v.\n", err) + return nil + } + for _, a := range addrs { + a, ok := formatIP(a) + if !ok { + grpclog.Errorf("grpc: failed IP parsing due to %v.\n", err) + continue + } + addr := a + ":" + d.port + newAddrs = append(newAddrs, resolver.Address{Addr: addr}) + } + return newAddrs +} + +func (d *dnsResolver) lookup() ([]resolver.Address, string) { + newAddrs := d.lookupSRV() + // Support fallback to non-balancer address. + newAddrs = append(newAddrs, d.lookupHost()...) + if d.disableServiceConfig { + return newAddrs, "" + } + sc := d.lookupTXT() + return newAddrs, canaryingSC(sc) +} + +// formatIP returns ok = false if addr is not a valid textual representation of an IP address. +// If addr is an IPv4 address, return the addr and ok = true. +// If addr is an IPv6 address, return the addr enclosed in square brackets and ok = true. +func formatIP(addr string) (addrIP string, ok bool) { + ip := net.ParseIP(addr) + if ip == nil { + return "", false + } + if ip.To4() != nil { + return addr, true + } + return "[" + addr + "]", true +} + +// parseTarget takes the user input target string and default port, returns formatted host and port info. +// If target doesn't specify a port, set the port to be the defaultPort. +// If target is in IPv6 format and host-name is enclosed in square brackets, brackets +// are stripped when setting the host. +// examples: +// target: "www.google.com" defaultPort: "443" returns host: "www.google.com", port: "443" +// target: "ipv4-host:80" defaultPort: "443" returns host: "ipv4-host", port: "80" +// target: "[ipv6-host]" defaultPort: "443" returns host: "ipv6-host", port: "443" +// target: ":80" defaultPort: "443" returns host: "localhost", port: "80" +func parseTarget(target, defaultPort string) (host, port string, err error) { + if target == "" { + return "", "", errMissingAddr + } + if ip := net.ParseIP(target); ip != nil { + // target is an IPv4 or IPv6(without brackets) address + return target, defaultPort, nil + } + if host, port, err = net.SplitHostPort(target); err == nil { + if port == "" { + // If the port field is empty (target ends with colon), e.g. "[::1]:", this is an error. + return "", "", errEndsWithColon + } + // target has port, i.e ipv4-host:port, [ipv6-host]:port, host-name:port + if host == "" { + // Keep consistent with net.Dial(): If the host is empty, as in ":80", the local system is assumed. + host = "localhost" + } + return host, port, nil + } + if host, port, err = net.SplitHostPort(target + ":" + defaultPort); err == nil { + // target doesn't have port + return host, port, nil + } + return "", "", fmt.Errorf("invalid target address %v, error info: %v", target, err) +} + +type rawChoice struct { + ClientLanguage *[]string `json:"clientLanguage,omitempty"` + Percentage *int `json:"percentage,omitempty"` + ClientHostName *[]string `json:"clientHostName,omitempty"` + ServiceConfig *json.RawMessage `json:"serviceConfig,omitempty"` +} + +func containsString(a *[]string, b string) bool { + if a == nil { + return true + } + for _, c := range *a { + if c == b { + return true + } + } + return false +} + +func chosenByPercentage(a *int) bool { + if a == nil { + return true + } + return grpcrand.Intn(100)+1 <= *a +} + +func canaryingSC(js string) string { + if js == "" { + return "" + } + var rcs []rawChoice + err := json.Unmarshal([]byte(js), &rcs) + if err != nil { + grpclog.Warningf("grpc: failed to parse service config json string due to %v.\n", err) + return "" + } + cliHostname, err := os.Hostname() + if err != nil { + grpclog.Warningf("grpc: failed to get client hostname due to %v.\n", err) + return "" + } + var sc string + for _, c := range rcs { + if !containsString(c.ClientLanguage, golang) || + !chosenByPercentage(c.Percentage) || + !containsString(c.ClientHostName, cliHostname) || + c.ServiceConfig == nil { + continue + } + sc = string(*c.ServiceConfig) + break + } + return sc +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/passthrough/passthrough.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/passthrough/passthrough.go new file mode 100644 index 0000000..893d5d1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/passthrough/passthrough.go @@ -0,0 +1,57 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package passthrough implements a pass-through resolver. It sends the target +// name without scheme back to gRPC as resolved address. +package passthrough + +import "google.golang.org/grpc/resolver" + +const scheme = "passthrough" + +type passthroughBuilder struct{} + +func (*passthroughBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOption) (resolver.Resolver, error) { + r := &passthroughResolver{ + target: target, + cc: cc, + } + r.start() + return r, nil +} + +func (*passthroughBuilder) Scheme() string { + return scheme +} + +type passthroughResolver struct { + target resolver.Target + cc resolver.ClientConn +} + +func (r *passthroughResolver) start() { + r.cc.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: r.target.Endpoint}}}) +} + +func (*passthroughResolver) ResolveNow(o resolver.ResolveNowOption) {} + +func (*passthroughResolver) Close() {} + +func init() { + resolver.Register(&passthroughBuilder{}) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/resolver.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/resolver.go new file mode 100644 index 0000000..e83da34 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver/resolver.go @@ -0,0 +1,193 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package resolver defines APIs for name resolution in gRPC. +// All APIs in this package are experimental. +package resolver + +import ( + "google.golang.org/grpc/serviceconfig" +) + +var ( + // m is a map from scheme to resolver builder. + m = make(map[string]Builder) + // defaultScheme is the default scheme to use. + defaultScheme = "passthrough" +) + +// TODO(bar) install dns resolver in init(){}. + +// Register registers the resolver builder to the resolver map. b.Scheme will be +// used as the scheme registered with this builder. +// +// NOTE: this function must only be called during initialization time (i.e. in +// an init() function), and is not thread-safe. If multiple Resolvers are +// registered with the same name, the one registered last will take effect. +func Register(b Builder) { + m[b.Scheme()] = b +} + +// Get returns the resolver builder registered with the given scheme. +// +// If no builder is register with the scheme, nil will be returned. +func Get(scheme string) Builder { + if b, ok := m[scheme]; ok { + return b + } + return nil +} + +// SetDefaultScheme sets the default scheme that will be used. The default +// default scheme is "passthrough". +// +// NOTE: this function must only be called during initialization time (i.e. in +// an init() function), and is not thread-safe. The scheme set last overrides +// previously set values. +func SetDefaultScheme(scheme string) { + defaultScheme = scheme +} + +// GetDefaultScheme gets the default scheme that will be used. +func GetDefaultScheme() string { + return defaultScheme +} + +// AddressType indicates the address type returned by name resolution. +type AddressType uint8 + +const ( + // Backend indicates the address is for a backend server. + Backend AddressType = iota + // GRPCLB indicates the address is for a grpclb load balancer. + GRPCLB +) + +// Address represents a server the client connects to. +// This is the EXPERIMENTAL API and may be changed or extended in the future. +type Address struct { + // Addr is the server address on which a connection will be established. + Addr string + // Type is the type of this address. + Type AddressType + // ServerName is the name of this address. + // + // e.g. if Type is GRPCLB, ServerName should be the name of the remote load + // balancer, not the name of the backend. + ServerName string + // Metadata is the information associated with Addr, which may be used + // to make load balancing decision. + Metadata interface{} +} + +// BuildOption includes additional information for the builder to create +// the resolver. +type BuildOption struct { + // DisableServiceConfig indicates whether resolver should fetch service config data. + DisableServiceConfig bool +} + +// State contains the current Resolver state relevant to the ClientConn. +type State struct { + Addresses []Address // Resolved addresses for the target + // ServiceConfig is the parsed service config; obtained from + // serviceconfig.Parse. + ServiceConfig serviceconfig.Config + + // TODO: add Err error +} + +// ClientConn contains the callbacks for resolver to notify any updates +// to the gRPC ClientConn. +// +// This interface is to be implemented by gRPC. Users should not need a +// brand new implementation of this interface. For the situations like +// testing, the new implementation should embed this interface. This allows +// gRPC to add new methods to this interface. +type ClientConn interface { + // UpdateState updates the state of the ClientConn appropriately. + UpdateState(State) + // NewAddress is called by resolver to notify ClientConn a new list + // of resolved addresses. + // The address list should be the complete list of resolved addresses. + // + // Deprecated: Use UpdateState instead. + NewAddress(addresses []Address) + // NewServiceConfig is called by resolver to notify ClientConn a new + // service config. The service config should be provided as a json string. + // + // Deprecated: Use UpdateState instead. + NewServiceConfig(serviceConfig string) +} + +// Target represents a target for gRPC, as specified in: +// https://github.com/grpc/grpc/blob/master/doc/naming.md. +// It is parsed from the target string that gets passed into Dial or DialContext by the user. And +// grpc passes it to the resolver and the balancer. +// +// If the target follows the naming spec, and the parsed scheme is registered with grpc, we will +// parse the target string according to the spec. e.g. "dns://some_authority/foo.bar" will be parsed +// into &Target{Scheme: "dns", Authority: "some_authority", Endpoint: "foo.bar"} +// +// If the target does not contain a scheme, we will apply the default scheme, and set the Target to +// be the full target string. e.g. "foo.bar" will be parsed into +// &Target{Scheme: resolver.GetDefaultScheme(), Endpoint: "foo.bar"}. +// +// If the parsed scheme is not registered (i.e. no corresponding resolver available to resolve the +// endpoint), we set the Scheme to be the default scheme, and set the Endpoint to be the full target +// string. e.g. target string "unknown_scheme://authority/endpoint" will be parsed into +// &Target{Scheme: resolver.GetDefaultScheme(), Endpoint: "unknown_scheme://authority/endpoint"}. +type Target struct { + Scheme string + Authority string + Endpoint string +} + +// Builder creates a resolver that will be used to watch name resolution updates. +type Builder interface { + // Build creates a new resolver for the given target. + // + // gRPC dial calls Build synchronously, and fails if the returned error is + // not nil. + Build(target Target, cc ClientConn, opts BuildOption) (Resolver, error) + // Scheme returns the scheme supported by this resolver. + // Scheme is defined at https://github.com/grpc/grpc/blob/master/doc/naming.md. + Scheme() string +} + +// ResolveNowOption includes additional information for ResolveNow. +type ResolveNowOption struct{} + +// Resolver watches for the updates on the specified target. +// Updates include address updates and service config updates. +type Resolver interface { + // ResolveNow will be called by gRPC to try to resolve the target name + // again. It's just a hint, resolver can ignore this if it's not necessary. + // + // It could be called multiple times concurrently. + ResolveNow(ResolveNowOption) + // Close closes the resolver. + Close() +} + +// UnregisterForTesting removes the resolver builder with the given scheme from the +// resolver map. +// This function is for testing only. +func UnregisterForTesting(scheme string) { + delete(m, scheme) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver_conn_wrapper.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver_conn_wrapper.go new file mode 100644 index 0000000..6934905 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/resolver_conn_wrapper.go @@ -0,0 +1,168 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "fmt" + "strings" + "sync/atomic" + + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/resolver" +) + +// ccResolverWrapper is a wrapper on top of cc for resolvers. +// It implements resolver.ClientConnection interface. +type ccResolverWrapper struct { + cc *ClientConn + resolver resolver.Resolver + addrCh chan []resolver.Address + scCh chan string + done uint32 // accessed atomically; set to 1 when closed. + curState resolver.State +} + +// split2 returns the values from strings.SplitN(s, sep, 2). +// If sep is not found, it returns ("", "", false) instead. +func split2(s, sep string) (string, string, bool) { + spl := strings.SplitN(s, sep, 2) + if len(spl) < 2 { + return "", "", false + } + return spl[0], spl[1], true +} + +// parseTarget splits target into a struct containing scheme, authority and +// endpoint. +// +// If target is not a valid scheme://authority/endpoint, it returns {Endpoint: +// target}. +func parseTarget(target string) (ret resolver.Target) { + var ok bool + ret.Scheme, ret.Endpoint, ok = split2(target, "://") + if !ok { + return resolver.Target{Endpoint: target} + } + ret.Authority, ret.Endpoint, ok = split2(ret.Endpoint, "/") + if !ok { + return resolver.Target{Endpoint: target} + } + return ret +} + +// newCCResolverWrapper parses cc.target for scheme and gets the resolver +// builder for this scheme and builds the resolver. The monitoring goroutine +// for it is not started yet and can be created by calling start(). +// +// If withResolverBuilder dial option is set, the specified resolver will be +// used instead. +func newCCResolverWrapper(cc *ClientConn) (*ccResolverWrapper, error) { + rb := cc.dopts.resolverBuilder + if rb == nil { + return nil, fmt.Errorf("could not get resolver for scheme: %q", cc.parsedTarget.Scheme) + } + + ccr := &ccResolverWrapper{ + cc: cc, + addrCh: make(chan []resolver.Address, 1), + scCh: make(chan string, 1), + } + + var err error + ccr.resolver, err = rb.Build(cc.parsedTarget, ccr, resolver.BuildOption{DisableServiceConfig: cc.dopts.disableServiceConfig}) + if err != nil { + return nil, err + } + return ccr, nil +} + +func (ccr *ccResolverWrapper) resolveNow(o resolver.ResolveNowOption) { + ccr.resolver.ResolveNow(o) +} + +func (ccr *ccResolverWrapper) close() { + ccr.resolver.Close() + atomic.StoreUint32(&ccr.done, 1) +} + +func (ccr *ccResolverWrapper) isDone() bool { + return atomic.LoadUint32(&ccr.done) == 1 +} + +func (ccr *ccResolverWrapper) UpdateState(s resolver.State) { + if ccr.isDone() { + return + } + grpclog.Infof("ccResolverWrapper: sending update to cc: %v", s) + if channelz.IsOn() { + ccr.addChannelzTraceEvent(s) + } + ccr.cc.updateResolverState(s) + ccr.curState = s +} + +// NewAddress is called by the resolver implementation to send addresses to gRPC. +func (ccr *ccResolverWrapper) NewAddress(addrs []resolver.Address) { + if ccr.isDone() { + return + } + grpclog.Infof("ccResolverWrapper: sending new addresses to cc: %v", addrs) + if channelz.IsOn() { + ccr.addChannelzTraceEvent(resolver.State{Addresses: addrs, ServiceConfig: ccr.curState.ServiceConfig}) + } + ccr.curState.Addresses = addrs + ccr.cc.updateResolverState(ccr.curState) +} + +// NewServiceConfig is called by the resolver implementation to send service +// configs to gRPC. +func (ccr *ccResolverWrapper) NewServiceConfig(sc string) { + if ccr.isDone() { + return + } + grpclog.Infof("ccResolverWrapper: got new service config: %v", sc) + c, err := parseServiceConfig(sc) + if err != nil { + return + } + if channelz.IsOn() { + ccr.addChannelzTraceEvent(resolver.State{Addresses: ccr.curState.Addresses, ServiceConfig: c}) + } + ccr.curState.ServiceConfig = c + ccr.cc.updateResolverState(ccr.curState) +} + +func (ccr *ccResolverWrapper) addChannelzTraceEvent(s resolver.State) { + var updates []string + oldSC, oldOK := ccr.curState.ServiceConfig.(*ServiceConfig) + newSC, newOK := s.ServiceConfig.(*ServiceConfig) + if oldOK != newOK || (oldOK && newOK && oldSC.rawJSONString != newSC.rawJSONString) { + updates = append(updates, "service config updated") + } + if len(ccr.curState.Addresses) > 0 && len(s.Addresses) == 0 { + updates = append(updates, "resolver returned an empty address list") + } else if len(ccr.curState.Addresses) == 0 && len(s.Addresses) > 0 { + updates = append(updates, "resolver returned new addresses") + } + channelz.AddTraceEvent(ccr.cc.channelzID, &channelz.TraceEventDesc{ + Desc: fmt.Sprintf("Resolver state updated: %+v (%v)", s, strings.Join(updates, "; ")), + Severity: channelz.CtINFO, + }) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/rpc_util.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/rpc_util.go new file mode 100644 index 0000000..088c3f1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/rpc_util.go @@ -0,0 +1,863 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "bytes" + "compress/gzip" + "context" + "encoding/binary" + "fmt" + "io" + "io/ioutil" + "math" + "net/url" + "strings" + "sync" + "time" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/encoding" + "google.golang.org/grpc/encoding/proto" + "google.golang.org/grpc/internal/transport" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/peer" + "google.golang.org/grpc/stats" + "google.golang.org/grpc/status" +) + +// Compressor defines the interface gRPC uses to compress a message. +// +// Deprecated: use package encoding. +type Compressor interface { + // Do compresses p into w. + Do(w io.Writer, p []byte) error + // Type returns the compression algorithm the Compressor uses. + Type() string +} + +type gzipCompressor struct { + pool sync.Pool +} + +// NewGZIPCompressor creates a Compressor based on GZIP. +// +// Deprecated: use package encoding/gzip. +func NewGZIPCompressor() Compressor { + c, _ := NewGZIPCompressorWithLevel(gzip.DefaultCompression) + return c +} + +// NewGZIPCompressorWithLevel is like NewGZIPCompressor but specifies the gzip compression level instead +// of assuming DefaultCompression. +// +// The error returned will be nil if the level is valid. +// +// Deprecated: use package encoding/gzip. +func NewGZIPCompressorWithLevel(level int) (Compressor, error) { + if level < gzip.DefaultCompression || level > gzip.BestCompression { + return nil, fmt.Errorf("grpc: invalid compression level: %d", level) + } + return &gzipCompressor{ + pool: sync.Pool{ + New: func() interface{} { + w, err := gzip.NewWriterLevel(ioutil.Discard, level) + if err != nil { + panic(err) + } + return w + }, + }, + }, nil +} + +func (c *gzipCompressor) Do(w io.Writer, p []byte) error { + z := c.pool.Get().(*gzip.Writer) + defer c.pool.Put(z) + z.Reset(w) + if _, err := z.Write(p); err != nil { + return err + } + return z.Close() +} + +func (c *gzipCompressor) Type() string { + return "gzip" +} + +// Decompressor defines the interface gRPC uses to decompress a message. +// +// Deprecated: use package encoding. +type Decompressor interface { + // Do reads the data from r and uncompress them. + Do(r io.Reader) ([]byte, error) + // Type returns the compression algorithm the Decompressor uses. + Type() string +} + +type gzipDecompressor struct { + pool sync.Pool +} + +// NewGZIPDecompressor creates a Decompressor based on GZIP. +// +// Deprecated: use package encoding/gzip. +func NewGZIPDecompressor() Decompressor { + return &gzipDecompressor{} +} + +func (d *gzipDecompressor) Do(r io.Reader) ([]byte, error) { + var z *gzip.Reader + switch maybeZ := d.pool.Get().(type) { + case nil: + newZ, err := gzip.NewReader(r) + if err != nil { + return nil, err + } + z = newZ + case *gzip.Reader: + z = maybeZ + if err := z.Reset(r); err != nil { + d.pool.Put(z) + return nil, err + } + } + + defer func() { + z.Close() + d.pool.Put(z) + }() + return ioutil.ReadAll(z) +} + +func (d *gzipDecompressor) Type() string { + return "gzip" +} + +// callInfo contains all related configuration and information about an RPC. +type callInfo struct { + compressorType string + failFast bool + stream ClientStream + maxReceiveMessageSize *int + maxSendMessageSize *int + creds credentials.PerRPCCredentials + contentSubtype string + codec baseCodec + maxRetryRPCBufferSize int +} + +func defaultCallInfo() *callInfo { + return &callInfo{ + failFast: true, + maxRetryRPCBufferSize: 256 * 1024, // 256KB + } +} + +// CallOption configures a Call before it starts or extracts information from +// a Call after it completes. +type CallOption interface { + // before is called before the call is sent to any server. If before + // returns a non-nil error, the RPC fails with that error. + before(*callInfo) error + + // after is called after the call has completed. after cannot return an + // error, so any failures should be reported via output parameters. + after(*callInfo) +} + +// EmptyCallOption does not alter the Call configuration. +// It can be embedded in another structure to carry satellite data for use +// by interceptors. +type EmptyCallOption struct{} + +func (EmptyCallOption) before(*callInfo) error { return nil } +func (EmptyCallOption) after(*callInfo) {} + +// Header returns a CallOptions that retrieves the header metadata +// for a unary RPC. +func Header(md *metadata.MD) CallOption { + return HeaderCallOption{HeaderAddr: md} +} + +// HeaderCallOption is a CallOption for collecting response header metadata. +// The metadata field will be populated *after* the RPC completes. +// This is an EXPERIMENTAL API. +type HeaderCallOption struct { + HeaderAddr *metadata.MD +} + +func (o HeaderCallOption) before(c *callInfo) error { return nil } +func (o HeaderCallOption) after(c *callInfo) { + if c.stream != nil { + *o.HeaderAddr, _ = c.stream.Header() + } +} + +// Trailer returns a CallOptions that retrieves the trailer metadata +// for a unary RPC. +func Trailer(md *metadata.MD) CallOption { + return TrailerCallOption{TrailerAddr: md} +} + +// TrailerCallOption is a CallOption for collecting response trailer metadata. +// The metadata field will be populated *after* the RPC completes. +// This is an EXPERIMENTAL API. +type TrailerCallOption struct { + TrailerAddr *metadata.MD +} + +func (o TrailerCallOption) before(c *callInfo) error { return nil } +func (o TrailerCallOption) after(c *callInfo) { + if c.stream != nil { + *o.TrailerAddr = c.stream.Trailer() + } +} + +// Peer returns a CallOption that retrieves peer information for a unary RPC. +// The peer field will be populated *after* the RPC completes. +func Peer(p *peer.Peer) CallOption { + return PeerCallOption{PeerAddr: p} +} + +// PeerCallOption is a CallOption for collecting the identity of the remote +// peer. The peer field will be populated *after* the RPC completes. +// This is an EXPERIMENTAL API. +type PeerCallOption struct { + PeerAddr *peer.Peer +} + +func (o PeerCallOption) before(c *callInfo) error { return nil } +func (o PeerCallOption) after(c *callInfo) { + if c.stream != nil { + if x, ok := peer.FromContext(c.stream.Context()); ok { + *o.PeerAddr = *x + } + } +} + +// WaitForReady configures the action to take when an RPC is attempted on broken +// connections or unreachable servers. If waitForReady is false, the RPC will fail +// immediately. Otherwise, the RPC client will block the call until a +// connection is available (or the call is canceled or times out) and will +// retry the call if it fails due to a transient error. gRPC will not retry if +// data was written to the wire unless the server indicates it did not process +// the data. Please refer to +// https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md. +// +// By default, RPCs don't "wait for ready". +func WaitForReady(waitForReady bool) CallOption { + return FailFastCallOption{FailFast: !waitForReady} +} + +// FailFast is the opposite of WaitForReady. +// +// Deprecated: use WaitForReady. +func FailFast(failFast bool) CallOption { + return FailFastCallOption{FailFast: failFast} +} + +// FailFastCallOption is a CallOption for indicating whether an RPC should fail +// fast or not. +// This is an EXPERIMENTAL API. +type FailFastCallOption struct { + FailFast bool +} + +func (o FailFastCallOption) before(c *callInfo) error { + c.failFast = o.FailFast + return nil +} +func (o FailFastCallOption) after(c *callInfo) {} + +// MaxCallRecvMsgSize returns a CallOption which sets the maximum message size the client can receive. +func MaxCallRecvMsgSize(s int) CallOption { + return MaxRecvMsgSizeCallOption{MaxRecvMsgSize: s} +} + +// MaxRecvMsgSizeCallOption is a CallOption that indicates the maximum message +// size the client can receive. +// This is an EXPERIMENTAL API. +type MaxRecvMsgSizeCallOption struct { + MaxRecvMsgSize int +} + +func (o MaxRecvMsgSizeCallOption) before(c *callInfo) error { + c.maxReceiveMessageSize = &o.MaxRecvMsgSize + return nil +} +func (o MaxRecvMsgSizeCallOption) after(c *callInfo) {} + +// MaxCallSendMsgSize returns a CallOption which sets the maximum message size the client can send. +func MaxCallSendMsgSize(s int) CallOption { + return MaxSendMsgSizeCallOption{MaxSendMsgSize: s} +} + +// MaxSendMsgSizeCallOption is a CallOption that indicates the maximum message +// size the client can send. +// This is an EXPERIMENTAL API. +type MaxSendMsgSizeCallOption struct { + MaxSendMsgSize int +} + +func (o MaxSendMsgSizeCallOption) before(c *callInfo) error { + c.maxSendMessageSize = &o.MaxSendMsgSize + return nil +} +func (o MaxSendMsgSizeCallOption) after(c *callInfo) {} + +// PerRPCCredentials returns a CallOption that sets credentials.PerRPCCredentials +// for a call. +func PerRPCCredentials(creds credentials.PerRPCCredentials) CallOption { + return PerRPCCredsCallOption{Creds: creds} +} + +// PerRPCCredsCallOption is a CallOption that indicates the per-RPC +// credentials to use for the call. +// This is an EXPERIMENTAL API. +type PerRPCCredsCallOption struct { + Creds credentials.PerRPCCredentials +} + +func (o PerRPCCredsCallOption) before(c *callInfo) error { + c.creds = o.Creds + return nil +} +func (o PerRPCCredsCallOption) after(c *callInfo) {} + +// UseCompressor returns a CallOption which sets the compressor used when +// sending the request. If WithCompressor is also set, UseCompressor has +// higher priority. +// +// This API is EXPERIMENTAL. +func UseCompressor(name string) CallOption { + return CompressorCallOption{CompressorType: name} +} + +// CompressorCallOption is a CallOption that indicates the compressor to use. +// This is an EXPERIMENTAL API. +type CompressorCallOption struct { + CompressorType string +} + +func (o CompressorCallOption) before(c *callInfo) error { + c.compressorType = o.CompressorType + return nil +} +func (o CompressorCallOption) after(c *callInfo) {} + +// CallContentSubtype returns a CallOption that will set the content-subtype +// for a call. For example, if content-subtype is "json", the Content-Type over +// the wire will be "application/grpc+json". The content-subtype is converted +// to lowercase before being included in Content-Type. See Content-Type on +// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for +// more details. +// +// If ForceCodec is not also used, the content-subtype will be used to look up +// the Codec to use in the registry controlled by RegisterCodec. See the +// documentation on RegisterCodec for details on registration. The lookup of +// content-subtype is case-insensitive. If no such Codec is found, the call +// will result in an error with code codes.Internal. +// +// If ForceCodec is also used, that Codec will be used for all request and +// response messages, with the content-subtype set to the given contentSubtype +// here for requests. +func CallContentSubtype(contentSubtype string) CallOption { + return ContentSubtypeCallOption{ContentSubtype: strings.ToLower(contentSubtype)} +} + +// ContentSubtypeCallOption is a CallOption that indicates the content-subtype +// used for marshaling messages. +// This is an EXPERIMENTAL API. +type ContentSubtypeCallOption struct { + ContentSubtype string +} + +func (o ContentSubtypeCallOption) before(c *callInfo) error { + c.contentSubtype = o.ContentSubtype + return nil +} +func (o ContentSubtypeCallOption) after(c *callInfo) {} + +// ForceCodec returns a CallOption that will set the given Codec to be +// used for all request and response messages for a call. The result of calling +// String() will be used as the content-subtype in a case-insensitive manner. +// +// See Content-Type on +// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for +// more details. Also see the documentation on RegisterCodec and +// CallContentSubtype for more details on the interaction between Codec and +// content-subtype. +// +// This function is provided for advanced users; prefer to use only +// CallContentSubtype to select a registered codec instead. +// +// This is an EXPERIMENTAL API. +func ForceCodec(codec encoding.Codec) CallOption { + return ForceCodecCallOption{Codec: codec} +} + +// ForceCodecCallOption is a CallOption that indicates the codec used for +// marshaling messages. +// +// This is an EXPERIMENTAL API. +type ForceCodecCallOption struct { + Codec encoding.Codec +} + +func (o ForceCodecCallOption) before(c *callInfo) error { + c.codec = o.Codec + return nil +} +func (o ForceCodecCallOption) after(c *callInfo) {} + +// CallCustomCodec behaves like ForceCodec, but accepts a grpc.Codec instead of +// an encoding.Codec. +// +// Deprecated: use ForceCodec instead. +func CallCustomCodec(codec Codec) CallOption { + return CustomCodecCallOption{Codec: codec} +} + +// CustomCodecCallOption is a CallOption that indicates the codec used for +// marshaling messages. +// +// This is an EXPERIMENTAL API. +type CustomCodecCallOption struct { + Codec Codec +} + +func (o CustomCodecCallOption) before(c *callInfo) error { + c.codec = o.Codec + return nil +} +func (o CustomCodecCallOption) after(c *callInfo) {} + +// MaxRetryRPCBufferSize returns a CallOption that limits the amount of memory +// used for buffering this RPC's requests for retry purposes. +// +// This API is EXPERIMENTAL. +func MaxRetryRPCBufferSize(bytes int) CallOption { + return MaxRetryRPCBufferSizeCallOption{bytes} +} + +// MaxRetryRPCBufferSizeCallOption is a CallOption indicating the amount of +// memory to be used for caching this RPC for retry purposes. +// This is an EXPERIMENTAL API. +type MaxRetryRPCBufferSizeCallOption struct { + MaxRetryRPCBufferSize int +} + +func (o MaxRetryRPCBufferSizeCallOption) before(c *callInfo) error { + c.maxRetryRPCBufferSize = o.MaxRetryRPCBufferSize + return nil +} +func (o MaxRetryRPCBufferSizeCallOption) after(c *callInfo) {} + +// The format of the payload: compressed or not? +type payloadFormat uint8 + +const ( + compressionNone payloadFormat = 0 // no compression + compressionMade payloadFormat = 1 // compressed +) + +// parser reads complete gRPC messages from the underlying reader. +type parser struct { + // r is the underlying reader. + // See the comment on recvMsg for the permissible + // error types. + r io.Reader + + // The header of a gRPC message. Find more detail at + // https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md + header [5]byte +} + +// recvMsg reads a complete gRPC message from the stream. +// +// It returns the message and its payload (compression/encoding) +// format. The caller owns the returned msg memory. +// +// If there is an error, possible values are: +// * io.EOF, when no messages remain +// * io.ErrUnexpectedEOF +// * of type transport.ConnectionError +// * an error from the status package +// No other error values or types must be returned, which also means +// that the underlying io.Reader must not return an incompatible +// error. +func (p *parser) recvMsg(maxReceiveMessageSize int) (pf payloadFormat, msg []byte, err error) { + if _, err := p.r.Read(p.header[:]); err != nil { + return 0, nil, err + } + + pf = payloadFormat(p.header[0]) + length := binary.BigEndian.Uint32(p.header[1:]) + + if length == 0 { + return pf, nil, nil + } + if int64(length) > int64(maxInt) { + return 0, nil, status.Errorf(codes.ResourceExhausted, "grpc: received message larger than max length allowed on current machine (%d vs. %d)", length, maxInt) + } + if int(length) > maxReceiveMessageSize { + return 0, nil, status.Errorf(codes.ResourceExhausted, "grpc: received message larger than max (%d vs. %d)", length, maxReceiveMessageSize) + } + // TODO(bradfitz,zhaoq): garbage. reuse buffer after proto decoding instead + // of making it for each message: + msg = make([]byte, int(length)) + if _, err := p.r.Read(msg); err != nil { + if err == io.EOF { + err = io.ErrUnexpectedEOF + } + return 0, nil, err + } + return pf, msg, nil +} + +// encode serializes msg and returns a buffer containing the message, or an +// error if it is too large to be transmitted by grpc. If msg is nil, it +// generates an empty message. +func encode(c baseCodec, msg interface{}) ([]byte, error) { + if msg == nil { // NOTE: typed nils will not be caught by this check + return nil, nil + } + b, err := c.Marshal(msg) + if err != nil { + return nil, status.Errorf(codes.Internal, "grpc: error while marshaling: %v", err.Error()) + } + if uint(len(b)) > math.MaxUint32 { + return nil, status.Errorf(codes.ResourceExhausted, "grpc: message too large (%d bytes)", len(b)) + } + return b, nil +} + +// compress returns the input bytes compressed by compressor or cp. If both +// compressors are nil, returns nil. +// +// TODO(dfawley): eliminate cp parameter by wrapping Compressor in an encoding.Compressor. +func compress(in []byte, cp Compressor, compressor encoding.Compressor) ([]byte, error) { + if compressor == nil && cp == nil { + return nil, nil + } + wrapErr := func(err error) error { + return status.Errorf(codes.Internal, "grpc: error while compressing: %v", err.Error()) + } + cbuf := &bytes.Buffer{} + if compressor != nil { + z, err := compressor.Compress(cbuf) + if err != nil { + return nil, wrapErr(err) + } + if _, err := z.Write(in); err != nil { + return nil, wrapErr(err) + } + if err := z.Close(); err != nil { + return nil, wrapErr(err) + } + } else { + if err := cp.Do(cbuf, in); err != nil { + return nil, wrapErr(err) + } + } + return cbuf.Bytes(), nil +} + +const ( + payloadLen = 1 + sizeLen = 4 + headerLen = payloadLen + sizeLen +) + +// msgHeader returns a 5-byte header for the message being transmitted and the +// payload, which is compData if non-nil or data otherwise. +func msgHeader(data, compData []byte) (hdr []byte, payload []byte) { + hdr = make([]byte, headerLen) + if compData != nil { + hdr[0] = byte(compressionMade) + data = compData + } else { + hdr[0] = byte(compressionNone) + } + + // Write length of payload into buf + binary.BigEndian.PutUint32(hdr[payloadLen:], uint32(len(data))) + return hdr, data +} + +func outPayload(client bool, msg interface{}, data, payload []byte, t time.Time) *stats.OutPayload { + return &stats.OutPayload{ + Client: client, + Payload: msg, + Data: data, + Length: len(data), + WireLength: len(payload) + headerLen, + SentTime: t, + } +} + +func checkRecvPayload(pf payloadFormat, recvCompress string, haveCompressor bool) *status.Status { + switch pf { + case compressionNone: + case compressionMade: + if recvCompress == "" || recvCompress == encoding.Identity { + return status.New(codes.Internal, "grpc: compressed flag set with identity or empty encoding") + } + if !haveCompressor { + return status.Newf(codes.Unimplemented, "grpc: Decompressor is not installed for grpc-encoding %q", recvCompress) + } + default: + return status.Newf(codes.Internal, "grpc: received unexpected payload format %d", pf) + } + return nil +} + +type payloadInfo struct { + wireLength int // The compressed length got from wire. + uncompressedBytes []byte +} + +func recvAndDecompress(p *parser, s *transport.Stream, dc Decompressor, maxReceiveMessageSize int, payInfo *payloadInfo, compressor encoding.Compressor) ([]byte, error) { + pf, d, err := p.recvMsg(maxReceiveMessageSize) + if err != nil { + return nil, err + } + if payInfo != nil { + payInfo.wireLength = len(d) + } + + if st := checkRecvPayload(pf, s.RecvCompress(), compressor != nil || dc != nil); st != nil { + return nil, st.Err() + } + + if pf == compressionMade { + // To match legacy behavior, if the decompressor is set by WithDecompressor or RPCDecompressor, + // use this decompressor as the default. + if dc != nil { + d, err = dc.Do(bytes.NewReader(d)) + if err != nil { + return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the received message %v", err) + } + } else { + dcReader, err := compressor.Decompress(bytes.NewReader(d)) + if err != nil { + return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the received message %v", err) + } + // Read from LimitReader with limit max+1. So if the underlying + // reader is over limit, the result will be bigger than max. + d, err = ioutil.ReadAll(io.LimitReader(dcReader, int64(maxReceiveMessageSize)+1)) + if err != nil { + return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the received message %v", err) + } + } + } + if len(d) > maxReceiveMessageSize { + // TODO: Revisit the error code. Currently keep it consistent with java + // implementation. + return nil, status.Errorf(codes.ResourceExhausted, "grpc: received message larger than max (%d vs. %d)", len(d), maxReceiveMessageSize) + } + return d, nil +} + +// For the two compressor parameters, both should not be set, but if they are, +// dc takes precedence over compressor. +// TODO(dfawley): wrap the old compressor/decompressor using the new API? +func recv(p *parser, c baseCodec, s *transport.Stream, dc Decompressor, m interface{}, maxReceiveMessageSize int, payInfo *payloadInfo, compressor encoding.Compressor) error { + d, err := recvAndDecompress(p, s, dc, maxReceiveMessageSize, payInfo, compressor) + if err != nil { + return err + } + if err := c.Unmarshal(d, m); err != nil { + return status.Errorf(codes.Internal, "grpc: failed to unmarshal the received message %v", err) + } + if payInfo != nil { + payInfo.uncompressedBytes = d + } + return nil +} + +// Information about RPC +type rpcInfo struct { + failfast bool + preloaderInfo *compressorInfo +} + +// Information about Preloader +// Responsible for storing codec, and compressors +// If stream (s) has context s.Context which stores rpcInfo that has non nil +// pointers to codec, and compressors, then we can use preparedMsg for Async message prep +// and reuse marshalled bytes +type compressorInfo struct { + codec baseCodec + cp Compressor + comp encoding.Compressor +} + +type rpcInfoContextKey struct{} + +func newContextWithRPCInfo(ctx context.Context, failfast bool, codec baseCodec, cp Compressor, comp encoding.Compressor) context.Context { + return context.WithValue(ctx, rpcInfoContextKey{}, &rpcInfo{ + failfast: failfast, + preloaderInfo: &compressorInfo{ + codec: codec, + cp: cp, + comp: comp, + }, + }) +} + +func rpcInfoFromContext(ctx context.Context) (s *rpcInfo, ok bool) { + s, ok = ctx.Value(rpcInfoContextKey{}).(*rpcInfo) + return +} + +// Code returns the error code for err if it was produced by the rpc system. +// Otherwise, it returns codes.Unknown. +// +// Deprecated: use status.Code instead. +func Code(err error) codes.Code { + return status.Code(err) +} + +// ErrorDesc returns the error description of err if it was produced by the rpc system. +// Otherwise, it returns err.Error() or empty string when err is nil. +// +// Deprecated: use status.Convert and Message method instead. +func ErrorDesc(err error) string { + return status.Convert(err).Message() +} + +// Errorf returns an error containing an error code and a description; +// Errorf returns nil if c is OK. +// +// Deprecated: use status.Errorf instead. +func Errorf(c codes.Code, format string, a ...interface{}) error { + return status.Errorf(c, format, a...) +} + +// toRPCErr converts an error into an error from the status package. +func toRPCErr(err error) error { + if err == nil || err == io.EOF { + return err + } + if err == io.ErrUnexpectedEOF { + return status.Error(codes.Internal, err.Error()) + } + if _, ok := status.FromError(err); ok { + return err + } + switch e := err.(type) { + case transport.ConnectionError: + return status.Error(codes.Unavailable, e.Desc) + default: + switch err { + case context.DeadlineExceeded: + return status.Error(codes.DeadlineExceeded, err.Error()) + case context.Canceled: + return status.Error(codes.Canceled, err.Error()) + } + } + return status.Error(codes.Unknown, err.Error()) +} + +// setCallInfoCodec should only be called after CallOptions have been applied. +func setCallInfoCodec(c *callInfo) error { + if c.codec != nil { + // codec was already set by a CallOption; use it. + return nil + } + + if c.contentSubtype == "" { + // No codec specified in CallOptions; use proto by default. + c.codec = encoding.GetCodec(proto.Name) + return nil + } + + // c.contentSubtype is already lowercased in CallContentSubtype + c.codec = encoding.GetCodec(c.contentSubtype) + if c.codec == nil { + return status.Errorf(codes.Internal, "no codec registered for content-subtype %s", c.contentSubtype) + } + return nil +} + +// parseDialTarget returns the network and address to pass to dialer +func parseDialTarget(target string) (net string, addr string) { + net = "tcp" + + m1 := strings.Index(target, ":") + m2 := strings.Index(target, ":/") + + // handle unix:addr which will fail with url.Parse + if m1 >= 0 && m2 < 0 { + if n := target[0:m1]; n == "unix" { + net = n + addr = target[m1+1:] + return net, addr + } + } + if m2 >= 0 { + t, err := url.Parse(target) + if err != nil { + return net, target + } + scheme := t.Scheme + addr = t.Path + if scheme == "unix" { + net = scheme + if addr == "" { + addr = t.Host + } + return net, addr + } + } + + return net, target +} + +// channelzData is used to store channelz related data for ClientConn, addrConn and Server. +// These fields cannot be embedded in the original structs (e.g. ClientConn), since to do atomic +// operation on int64 variable on 32-bit machine, user is responsible to enforce memory alignment. +// Here, by grouping those int64 fields inside a struct, we are enforcing the alignment. +type channelzData struct { + callsStarted int64 + callsFailed int64 + callsSucceeded int64 + // lastCallStartedTime stores the timestamp that last call starts. It is of int64 type instead of + // time.Time since it's more costly to atomically update time.Time variable than int64 variable. + lastCallStartedTime int64 +} + +// The SupportPackageIsVersion variables are referenced from generated protocol +// buffer files to ensure compatibility with the gRPC version used. The latest +// support package version is 5. +// +// Older versions are kept for compatibility. They may be removed if +// compatibility cannot be maintained. +// +// These constants should not be referenced from any other code. +const ( + SupportPackageIsVersion3 = true + SupportPackageIsVersion4 = true + SupportPackageIsVersion5 = true +) + +const grpcUA = "grpc-go/" + Version diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/server.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/server.go new file mode 100644 index 0000000..f064b73 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/server.go @@ -0,0 +1,1510 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + "errors" + "fmt" + "io" + "math" + "net" + "net/http" + "reflect" + "runtime" + "strings" + "sync" + "sync/atomic" + "time" + + "golang.org/x/net/trace" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/encoding" + "google.golang.org/grpc/encoding/proto" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal/binarylog" + "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/internal/grpcsync" + "google.golang.org/grpc/internal/transport" + "google.golang.org/grpc/keepalive" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/peer" + "google.golang.org/grpc/stats" + "google.golang.org/grpc/status" + "google.golang.org/grpc/tap" +) + +const ( + defaultServerMaxReceiveMessageSize = 1024 * 1024 * 4 + defaultServerMaxSendMessageSize = math.MaxInt32 +) + +var statusOK = status.New(codes.OK, "") + +type methodHandler func(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor UnaryServerInterceptor) (interface{}, error) + +// MethodDesc represents an RPC service's method specification. +type MethodDesc struct { + MethodName string + Handler methodHandler +} + +// ServiceDesc represents an RPC service's specification. +type ServiceDesc struct { + ServiceName string + // The pointer to the service interface. Used to check whether the user + // provided implementation satisfies the interface requirements. + HandlerType interface{} + Methods []MethodDesc + Streams []StreamDesc + Metadata interface{} +} + +// service consists of the information of the server serving this service and +// the methods in this service. +type service struct { + server interface{} // the server for service methods + md map[string]*MethodDesc + sd map[string]*StreamDesc + mdata interface{} +} + +// Server is a gRPC server to serve RPC requests. +type Server struct { + opts serverOptions + + mu sync.Mutex // guards following + lis map[net.Listener]bool + conns map[transport.ServerTransport]bool + serve bool + drain bool + cv *sync.Cond // signaled when connections close for GracefulStop + m map[string]*service // service name -> service info + events trace.EventLog + + quit *grpcsync.Event + done *grpcsync.Event + channelzRemoveOnce sync.Once + serveWG sync.WaitGroup // counts active Serve goroutines for GracefulStop + + channelzID int64 // channelz unique identification number + czData *channelzData +} + +type serverOptions struct { + creds credentials.TransportCredentials + codec baseCodec + cp Compressor + dc Decompressor + unaryInt UnaryServerInterceptor + streamInt StreamServerInterceptor + inTapHandle tap.ServerInHandle + statsHandler stats.Handler + maxConcurrentStreams uint32 + maxReceiveMessageSize int + maxSendMessageSize int + unknownStreamDesc *StreamDesc + keepaliveParams keepalive.ServerParameters + keepalivePolicy keepalive.EnforcementPolicy + initialWindowSize int32 + initialConnWindowSize int32 + writeBufferSize int + readBufferSize int + connectionTimeout time.Duration + maxHeaderListSize *uint32 +} + +var defaultServerOptions = serverOptions{ + maxReceiveMessageSize: defaultServerMaxReceiveMessageSize, + maxSendMessageSize: defaultServerMaxSendMessageSize, + connectionTimeout: 120 * time.Second, + writeBufferSize: defaultWriteBufSize, + readBufferSize: defaultReadBufSize, +} + +// A ServerOption sets options such as credentials, codec and keepalive parameters, etc. +type ServerOption interface { + apply(*serverOptions) +} + +// EmptyServerOption does not alter the server configuration. It can be embedded +// in another structure to build custom server options. +// +// This API is EXPERIMENTAL. +type EmptyServerOption struct{} + +func (EmptyServerOption) apply(*serverOptions) {} + +// funcServerOption wraps a function that modifies serverOptions into an +// implementation of the ServerOption interface. +type funcServerOption struct { + f func(*serverOptions) +} + +func (fdo *funcServerOption) apply(do *serverOptions) { + fdo.f(do) +} + +func newFuncServerOption(f func(*serverOptions)) *funcServerOption { + return &funcServerOption{ + f: f, + } +} + +// WriteBufferSize determines how much data can be batched before doing a write on the wire. +// The corresponding memory allocation for this buffer will be twice the size to keep syscalls low. +// The default value for this buffer is 32KB. +// Zero will disable the write buffer such that each write will be on underlying connection. +// Note: A Send call may not directly translate to a write. +func WriteBufferSize(s int) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.writeBufferSize = s + }) +} + +// ReadBufferSize lets you set the size of read buffer, this determines how much data can be read at most +// for one read syscall. +// The default value for this buffer is 32KB. +// Zero will disable read buffer for a connection so data framer can access the underlying +// conn directly. +func ReadBufferSize(s int) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.readBufferSize = s + }) +} + +// InitialWindowSize returns a ServerOption that sets window size for stream. +// The lower bound for window size is 64K and any value smaller than that will be ignored. +func InitialWindowSize(s int32) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.initialWindowSize = s + }) +} + +// InitialConnWindowSize returns a ServerOption that sets window size for a connection. +// The lower bound for window size is 64K and any value smaller than that will be ignored. +func InitialConnWindowSize(s int32) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.initialConnWindowSize = s + }) +} + +// KeepaliveParams returns a ServerOption that sets keepalive and max-age parameters for the server. +func KeepaliveParams(kp keepalive.ServerParameters) ServerOption { + if kp.Time > 0 && kp.Time < time.Second { + grpclog.Warning("Adjusting keepalive ping interval to minimum period of 1s") + kp.Time = time.Second + } + + return newFuncServerOption(func(o *serverOptions) { + o.keepaliveParams = kp + }) +} + +// KeepaliveEnforcementPolicy returns a ServerOption that sets keepalive enforcement policy for the server. +func KeepaliveEnforcementPolicy(kep keepalive.EnforcementPolicy) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.keepalivePolicy = kep + }) +} + +// CustomCodec returns a ServerOption that sets a codec for message marshaling and unmarshaling. +// +// This will override any lookups by content-subtype for Codecs registered with RegisterCodec. +func CustomCodec(codec Codec) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.codec = codec + }) +} + +// RPCCompressor returns a ServerOption that sets a compressor for outbound +// messages. For backward compatibility, all outbound messages will be sent +// using this compressor, regardless of incoming message compression. By +// default, server messages will be sent using the same compressor with which +// request messages were sent. +// +// Deprecated: use encoding.RegisterCompressor instead. +func RPCCompressor(cp Compressor) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.cp = cp + }) +} + +// RPCDecompressor returns a ServerOption that sets a decompressor for inbound +// messages. It has higher priority than decompressors registered via +// encoding.RegisterCompressor. +// +// Deprecated: use encoding.RegisterCompressor instead. +func RPCDecompressor(dc Decompressor) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.dc = dc + }) +} + +// MaxMsgSize returns a ServerOption to set the max message size in bytes the server can receive. +// If this is not set, gRPC uses the default limit. +// +// Deprecated: use MaxRecvMsgSize instead. +func MaxMsgSize(m int) ServerOption { + return MaxRecvMsgSize(m) +} + +// MaxRecvMsgSize returns a ServerOption to set the max message size in bytes the server can receive. +// If this is not set, gRPC uses the default 4MB. +func MaxRecvMsgSize(m int) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.maxReceiveMessageSize = m + }) +} + +// MaxSendMsgSize returns a ServerOption to set the max message size in bytes the server can send. +// If this is not set, gRPC uses the default `math.MaxInt32`. +func MaxSendMsgSize(m int) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.maxSendMessageSize = m + }) +} + +// MaxConcurrentStreams returns a ServerOption that will apply a limit on the number +// of concurrent streams to each ServerTransport. +func MaxConcurrentStreams(n uint32) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.maxConcurrentStreams = n + }) +} + +// Creds returns a ServerOption that sets credentials for server connections. +func Creds(c credentials.TransportCredentials) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.creds = c + }) +} + +// UnaryInterceptor returns a ServerOption that sets the UnaryServerInterceptor for the +// server. Only one unary interceptor can be installed. The construction of multiple +// interceptors (e.g., chaining) can be implemented at the caller. +func UnaryInterceptor(i UnaryServerInterceptor) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + if o.unaryInt != nil { + panic("The unary server interceptor was already set and may not be reset.") + } + o.unaryInt = i + }) +} + +// StreamInterceptor returns a ServerOption that sets the StreamServerInterceptor for the +// server. Only one stream interceptor can be installed. +func StreamInterceptor(i StreamServerInterceptor) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + if o.streamInt != nil { + panic("The stream server interceptor was already set and may not be reset.") + } + o.streamInt = i + }) +} + +// InTapHandle returns a ServerOption that sets the tap handle for all the server +// transport to be created. Only one can be installed. +func InTapHandle(h tap.ServerInHandle) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + if o.inTapHandle != nil { + panic("The tap handle was already set and may not be reset.") + } + o.inTapHandle = h + }) +} + +// StatsHandler returns a ServerOption that sets the stats handler for the server. +func StatsHandler(h stats.Handler) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.statsHandler = h + }) +} + +// UnknownServiceHandler returns a ServerOption that allows for adding a custom +// unknown service handler. The provided method is a bidi-streaming RPC service +// handler that will be invoked instead of returning the "unimplemented" gRPC +// error whenever a request is received for an unregistered service or method. +// The handling function has full access to the Context of the request and the +// stream, and the invocation bypasses interceptors. +func UnknownServiceHandler(streamHandler StreamHandler) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.unknownStreamDesc = &StreamDesc{ + StreamName: "unknown_service_handler", + Handler: streamHandler, + // We need to assume that the users of the streamHandler will want to use both. + ClientStreams: true, + ServerStreams: true, + } + }) +} + +// ConnectionTimeout returns a ServerOption that sets the timeout for +// connection establishment (up to and including HTTP/2 handshaking) for all +// new connections. If this is not set, the default is 120 seconds. A zero or +// negative value will result in an immediate timeout. +// +// This API is EXPERIMENTAL. +func ConnectionTimeout(d time.Duration) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.connectionTimeout = d + }) +} + +// MaxHeaderListSize returns a ServerOption that sets the max (uncompressed) size +// of header list that the server is prepared to accept. +func MaxHeaderListSize(s uint32) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.maxHeaderListSize = &s + }) +} + +// NewServer creates a gRPC server which has no service registered and has not +// started to accept requests yet. +func NewServer(opt ...ServerOption) *Server { + opts := defaultServerOptions + for _, o := range opt { + o.apply(&opts) + } + s := &Server{ + lis: make(map[net.Listener]bool), + opts: opts, + conns: make(map[transport.ServerTransport]bool), + m: make(map[string]*service), + quit: grpcsync.NewEvent(), + done: grpcsync.NewEvent(), + czData: new(channelzData), + } + s.cv = sync.NewCond(&s.mu) + if EnableTracing { + _, file, line, _ := runtime.Caller(1) + s.events = trace.NewEventLog("grpc.Server", fmt.Sprintf("%s:%d", file, line)) + } + + if channelz.IsOn() { + s.channelzID = channelz.RegisterServer(&channelzServer{s}, "") + } + return s +} + +// printf records an event in s's event log, unless s has been stopped. +// REQUIRES s.mu is held. +func (s *Server) printf(format string, a ...interface{}) { + if s.events != nil { + s.events.Printf(format, a...) + } +} + +// errorf records an error in s's event log, unless s has been stopped. +// REQUIRES s.mu is held. +func (s *Server) errorf(format string, a ...interface{}) { + if s.events != nil { + s.events.Errorf(format, a...) + } +} + +// RegisterService registers a service and its implementation to the gRPC +// server. It is called from the IDL generated code. This must be called before +// invoking Serve. +func (s *Server) RegisterService(sd *ServiceDesc, ss interface{}) { + ht := reflect.TypeOf(sd.HandlerType).Elem() + st := reflect.TypeOf(ss) + if !st.Implements(ht) { + grpclog.Fatalf("grpc: Server.RegisterService found the handler of type %v that does not satisfy %v", st, ht) + } + s.register(sd, ss) +} + +func (s *Server) register(sd *ServiceDesc, ss interface{}) { + s.mu.Lock() + defer s.mu.Unlock() + s.printf("RegisterService(%q)", sd.ServiceName) + if s.serve { + grpclog.Fatalf("grpc: Server.RegisterService after Server.Serve for %q", sd.ServiceName) + } + if _, ok := s.m[sd.ServiceName]; ok { + grpclog.Fatalf("grpc: Server.RegisterService found duplicate service registration for %q", sd.ServiceName) + } + srv := &service{ + server: ss, + md: make(map[string]*MethodDesc), + sd: make(map[string]*StreamDesc), + mdata: sd.Metadata, + } + for i := range sd.Methods { + d := &sd.Methods[i] + srv.md[d.MethodName] = d + } + for i := range sd.Streams { + d := &sd.Streams[i] + srv.sd[d.StreamName] = d + } + s.m[sd.ServiceName] = srv +} + +// MethodInfo contains the information of an RPC including its method name and type. +type MethodInfo struct { + // Name is the method name only, without the service name or package name. + Name string + // IsClientStream indicates whether the RPC is a client streaming RPC. + IsClientStream bool + // IsServerStream indicates whether the RPC is a server streaming RPC. + IsServerStream bool +} + +// ServiceInfo contains unary RPC method info, streaming RPC method info and metadata for a service. +type ServiceInfo struct { + Methods []MethodInfo + // Metadata is the metadata specified in ServiceDesc when registering service. + Metadata interface{} +} + +// GetServiceInfo returns a map from service names to ServiceInfo. +// Service names include the package names, in the form of .. +func (s *Server) GetServiceInfo() map[string]ServiceInfo { + ret := make(map[string]ServiceInfo) + for n, srv := range s.m { + methods := make([]MethodInfo, 0, len(srv.md)+len(srv.sd)) + for m := range srv.md { + methods = append(methods, MethodInfo{ + Name: m, + IsClientStream: false, + IsServerStream: false, + }) + } + for m, d := range srv.sd { + methods = append(methods, MethodInfo{ + Name: m, + IsClientStream: d.ClientStreams, + IsServerStream: d.ServerStreams, + }) + } + + ret[n] = ServiceInfo{ + Methods: methods, + Metadata: srv.mdata, + } + } + return ret +} + +// ErrServerStopped indicates that the operation is now illegal because of +// the server being stopped. +var ErrServerStopped = errors.New("grpc: the server has been stopped") + +func (s *Server) useTransportAuthenticator(rawConn net.Conn) (net.Conn, credentials.AuthInfo, error) { + if s.opts.creds == nil { + return rawConn, nil, nil + } + return s.opts.creds.ServerHandshake(rawConn) +} + +type listenSocket struct { + net.Listener + channelzID int64 +} + +func (l *listenSocket) ChannelzMetric() *channelz.SocketInternalMetric { + return &channelz.SocketInternalMetric{ + SocketOptions: channelz.GetSocketOption(l.Listener), + LocalAddr: l.Listener.Addr(), + } +} + +func (l *listenSocket) Close() error { + err := l.Listener.Close() + if channelz.IsOn() { + channelz.RemoveEntry(l.channelzID) + } + return err +} + +// Serve accepts incoming connections on the listener lis, creating a new +// ServerTransport and service goroutine for each. The service goroutines +// read gRPC requests and then call the registered handlers to reply to them. +// Serve returns when lis.Accept fails with fatal errors. lis will be closed when +// this method returns. +// Serve will return a non-nil error unless Stop or GracefulStop is called. +func (s *Server) Serve(lis net.Listener) error { + s.mu.Lock() + s.printf("serving") + s.serve = true + if s.lis == nil { + // Serve called after Stop or GracefulStop. + s.mu.Unlock() + lis.Close() + return ErrServerStopped + } + + s.serveWG.Add(1) + defer func() { + s.serveWG.Done() + if s.quit.HasFired() { + // Stop or GracefulStop called; block until done and return nil. + <-s.done.Done() + } + }() + + ls := &listenSocket{Listener: lis} + s.lis[ls] = true + + if channelz.IsOn() { + ls.channelzID = channelz.RegisterListenSocket(ls, s.channelzID, lis.Addr().String()) + } + s.mu.Unlock() + + defer func() { + s.mu.Lock() + if s.lis != nil && s.lis[ls] { + ls.Close() + delete(s.lis, ls) + } + s.mu.Unlock() + }() + + var tempDelay time.Duration // how long to sleep on accept failure + + for { + rawConn, err := lis.Accept() + if err != nil { + if ne, ok := err.(interface { + Temporary() bool + }); ok && ne.Temporary() { + if tempDelay == 0 { + tempDelay = 5 * time.Millisecond + } else { + tempDelay *= 2 + } + if max := 1 * time.Second; tempDelay > max { + tempDelay = max + } + s.mu.Lock() + s.printf("Accept error: %v; retrying in %v", err, tempDelay) + s.mu.Unlock() + timer := time.NewTimer(tempDelay) + select { + case <-timer.C: + case <-s.quit.Done(): + timer.Stop() + return nil + } + continue + } + s.mu.Lock() + s.printf("done serving; Accept = %v", err) + s.mu.Unlock() + + if s.quit.HasFired() { + return nil + } + return err + } + tempDelay = 0 + // Start a new goroutine to deal with rawConn so we don't stall this Accept + // loop goroutine. + // + // Make sure we account for the goroutine so GracefulStop doesn't nil out + // s.conns before this conn can be added. + s.serveWG.Add(1) + go func() { + s.handleRawConn(rawConn) + s.serveWG.Done() + }() + } +} + +// handleRawConn forks a goroutine to handle a just-accepted connection that +// has not had any I/O performed on it yet. +func (s *Server) handleRawConn(rawConn net.Conn) { + if s.quit.HasFired() { + rawConn.Close() + return + } + rawConn.SetDeadline(time.Now().Add(s.opts.connectionTimeout)) + conn, authInfo, err := s.useTransportAuthenticator(rawConn) + if err != nil { + // ErrConnDispatched means that the connection was dispatched away from + // gRPC; those connections should be left open. + if err != credentials.ErrConnDispatched { + s.mu.Lock() + s.errorf("ServerHandshake(%q) failed: %v", rawConn.RemoteAddr(), err) + s.mu.Unlock() + grpclog.Warningf("grpc: Server.Serve failed to complete security handshake from %q: %v", rawConn.RemoteAddr(), err) + rawConn.Close() + } + rawConn.SetDeadline(time.Time{}) + return + } + + // Finish handshaking (HTTP2) + st := s.newHTTP2Transport(conn, authInfo) + if st == nil { + return + } + + rawConn.SetDeadline(time.Time{}) + if !s.addConn(st) { + return + } + go func() { + s.serveStreams(st) + s.removeConn(st) + }() +} + +// newHTTP2Transport sets up a http/2 transport (using the +// gRPC http2 server transport in transport/http2_server.go). +func (s *Server) newHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo) transport.ServerTransport { + config := &transport.ServerConfig{ + MaxStreams: s.opts.maxConcurrentStreams, + AuthInfo: authInfo, + InTapHandle: s.opts.inTapHandle, + StatsHandler: s.opts.statsHandler, + KeepaliveParams: s.opts.keepaliveParams, + KeepalivePolicy: s.opts.keepalivePolicy, + InitialWindowSize: s.opts.initialWindowSize, + InitialConnWindowSize: s.opts.initialConnWindowSize, + WriteBufferSize: s.opts.writeBufferSize, + ReadBufferSize: s.opts.readBufferSize, + ChannelzParentID: s.channelzID, + MaxHeaderListSize: s.opts.maxHeaderListSize, + } + st, err := transport.NewServerTransport("http2", c, config) + if err != nil { + s.mu.Lock() + s.errorf("NewServerTransport(%q) failed: %v", c.RemoteAddr(), err) + s.mu.Unlock() + c.Close() + grpclog.Warningln("grpc: Server.Serve failed to create ServerTransport: ", err) + return nil + } + + return st +} + +func (s *Server) serveStreams(st transport.ServerTransport) { + defer st.Close() + var wg sync.WaitGroup + st.HandleStreams(func(stream *transport.Stream) { + wg.Add(1) + go func() { + defer wg.Done() + s.handleStream(st, stream, s.traceInfo(st, stream)) + }() + }, func(ctx context.Context, method string) context.Context { + if !EnableTracing { + return ctx + } + tr := trace.New("grpc.Recv."+methodFamily(method), method) + return trace.NewContext(ctx, tr) + }) + wg.Wait() +} + +var _ http.Handler = (*Server)(nil) + +// ServeHTTP implements the Go standard library's http.Handler +// interface by responding to the gRPC request r, by looking up +// the requested gRPC method in the gRPC server s. +// +// The provided HTTP request must have arrived on an HTTP/2 +// connection. When using the Go standard library's server, +// practically this means that the Request must also have arrived +// over TLS. +// +// To share one port (such as 443 for https) between gRPC and an +// existing http.Handler, use a root http.Handler such as: +// +// if r.ProtoMajor == 2 && strings.HasPrefix( +// r.Header.Get("Content-Type"), "application/grpc") { +// grpcServer.ServeHTTP(w, r) +// } else { +// yourMux.ServeHTTP(w, r) +// } +// +// Note that ServeHTTP uses Go's HTTP/2 server implementation which is totally +// separate from grpc-go's HTTP/2 server. Performance and features may vary +// between the two paths. ServeHTTP does not support some gRPC features +// available through grpc-go's HTTP/2 server, and it is currently EXPERIMENTAL +// and subject to change. +func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { + st, err := transport.NewServerHandlerTransport(w, r, s.opts.statsHandler) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + if !s.addConn(st) { + return + } + defer s.removeConn(st) + s.serveStreams(st) +} + +// traceInfo returns a traceInfo and associates it with stream, if tracing is enabled. +// If tracing is not enabled, it returns nil. +func (s *Server) traceInfo(st transport.ServerTransport, stream *transport.Stream) (trInfo *traceInfo) { + if !EnableTracing { + return nil + } + tr, ok := trace.FromContext(stream.Context()) + if !ok { + return nil + } + + trInfo = &traceInfo{ + tr: tr, + firstLine: firstLine{ + client: false, + remoteAddr: st.RemoteAddr(), + }, + } + if dl, ok := stream.Context().Deadline(); ok { + trInfo.firstLine.deadline = time.Until(dl) + } + return trInfo +} + +func (s *Server) addConn(st transport.ServerTransport) bool { + s.mu.Lock() + defer s.mu.Unlock() + if s.conns == nil { + st.Close() + return false + } + if s.drain { + // Transport added after we drained our existing conns: drain it + // immediately. + st.Drain() + } + s.conns[st] = true + return true +} + +func (s *Server) removeConn(st transport.ServerTransport) { + s.mu.Lock() + defer s.mu.Unlock() + if s.conns != nil { + delete(s.conns, st) + s.cv.Broadcast() + } +} + +func (s *Server) channelzMetric() *channelz.ServerInternalMetric { + return &channelz.ServerInternalMetric{ + CallsStarted: atomic.LoadInt64(&s.czData.callsStarted), + CallsSucceeded: atomic.LoadInt64(&s.czData.callsSucceeded), + CallsFailed: atomic.LoadInt64(&s.czData.callsFailed), + LastCallStartedTimestamp: time.Unix(0, atomic.LoadInt64(&s.czData.lastCallStartedTime)), + } +} + +func (s *Server) incrCallsStarted() { + atomic.AddInt64(&s.czData.callsStarted, 1) + atomic.StoreInt64(&s.czData.lastCallStartedTime, time.Now().UnixNano()) +} + +func (s *Server) incrCallsSucceeded() { + atomic.AddInt64(&s.czData.callsSucceeded, 1) +} + +func (s *Server) incrCallsFailed() { + atomic.AddInt64(&s.czData.callsFailed, 1) +} + +func (s *Server) sendResponse(t transport.ServerTransport, stream *transport.Stream, msg interface{}, cp Compressor, opts *transport.Options, comp encoding.Compressor) error { + data, err := encode(s.getCodec(stream.ContentSubtype()), msg) + if err != nil { + grpclog.Errorln("grpc: server failed to encode response: ", err) + return err + } + compData, err := compress(data, cp, comp) + if err != nil { + grpclog.Errorln("grpc: server failed to compress response: ", err) + return err + } + hdr, payload := msgHeader(data, compData) + // TODO(dfawley): should we be checking len(data) instead? + if len(payload) > s.opts.maxSendMessageSize { + return status.Errorf(codes.ResourceExhausted, "grpc: trying to send message larger than max (%d vs. %d)", len(payload), s.opts.maxSendMessageSize) + } + err = t.Write(stream, hdr, payload, opts) + if err == nil && s.opts.statsHandler != nil { + s.opts.statsHandler.HandleRPC(stream.Context(), outPayload(false, msg, data, payload, time.Now())) + } + return err +} + +func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.Stream, srv *service, md *MethodDesc, trInfo *traceInfo) (err error) { + if channelz.IsOn() { + s.incrCallsStarted() + defer func() { + if err != nil && err != io.EOF { + s.incrCallsFailed() + } else { + s.incrCallsSucceeded() + } + }() + } + sh := s.opts.statsHandler + if sh != nil { + beginTime := time.Now() + begin := &stats.Begin{ + BeginTime: beginTime, + } + sh.HandleRPC(stream.Context(), begin) + defer func() { + end := &stats.End{ + BeginTime: beginTime, + EndTime: time.Now(), + } + if err != nil && err != io.EOF { + end.Error = toRPCErr(err) + } + sh.HandleRPC(stream.Context(), end) + }() + } + if trInfo != nil { + defer trInfo.tr.Finish() + trInfo.tr.LazyLog(&trInfo.firstLine, false) + defer func() { + if err != nil && err != io.EOF { + trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + trInfo.tr.SetError() + } + }() + } + + binlog := binarylog.GetMethodLogger(stream.Method()) + if binlog != nil { + ctx := stream.Context() + md, _ := metadata.FromIncomingContext(ctx) + logEntry := &binarylog.ClientHeader{ + Header: md, + MethodName: stream.Method(), + PeerAddr: nil, + } + if deadline, ok := ctx.Deadline(); ok { + logEntry.Timeout = time.Until(deadline) + if logEntry.Timeout < 0 { + logEntry.Timeout = 0 + } + } + if a := md[":authority"]; len(a) > 0 { + logEntry.Authority = a[0] + } + if peer, ok := peer.FromContext(ctx); ok { + logEntry.PeerAddr = peer.Addr + } + binlog.Log(logEntry) + } + + // comp and cp are used for compression. decomp and dc are used for + // decompression. If comp and decomp are both set, they are the same; + // however they are kept separate to ensure that at most one of the + // compressor/decompressor variable pairs are set for use later. + var comp, decomp encoding.Compressor + var cp Compressor + var dc Decompressor + + // If dc is set and matches the stream's compression, use it. Otherwise, try + // to find a matching registered compressor for decomp. + if rc := stream.RecvCompress(); s.opts.dc != nil && s.opts.dc.Type() == rc { + dc = s.opts.dc + } else if rc != "" && rc != encoding.Identity { + decomp = encoding.GetCompressor(rc) + if decomp == nil { + st := status.Newf(codes.Unimplemented, "grpc: Decompressor is not installed for grpc-encoding %q", rc) + t.WriteStatus(stream, st) + return st.Err() + } + } + + // If cp is set, use it. Otherwise, attempt to compress the response using + // the incoming message compression method. + // + // NOTE: this needs to be ahead of all handling, https://github.com/grpc/grpc-go/issues/686. + if s.opts.cp != nil { + cp = s.opts.cp + stream.SetSendCompress(cp.Type()) + } else if rc := stream.RecvCompress(); rc != "" && rc != encoding.Identity { + // Legacy compressor not specified; attempt to respond with same encoding. + comp = encoding.GetCompressor(rc) + if comp != nil { + stream.SetSendCompress(rc) + } + } + + var payInfo *payloadInfo + if sh != nil || binlog != nil { + payInfo = &payloadInfo{} + } + d, err := recvAndDecompress(&parser{r: stream}, stream, dc, s.opts.maxReceiveMessageSize, payInfo, decomp) + if err != nil { + if st, ok := status.FromError(err); ok { + if e := t.WriteStatus(stream, st); e != nil { + grpclog.Warningf("grpc: Server.processUnaryRPC failed to write status %v", e) + } + } + return err + } + if channelz.IsOn() { + t.IncrMsgRecv() + } + df := func(v interface{}) error { + if err := s.getCodec(stream.ContentSubtype()).Unmarshal(d, v); err != nil { + return status.Errorf(codes.Internal, "grpc: error unmarshalling request: %v", err) + } + if sh != nil { + sh.HandleRPC(stream.Context(), &stats.InPayload{ + RecvTime: time.Now(), + Payload: v, + WireLength: payInfo.wireLength, + Data: d, + Length: len(d), + }) + } + if binlog != nil { + binlog.Log(&binarylog.ClientMessage{ + Message: d, + }) + } + if trInfo != nil { + trInfo.tr.LazyLog(&payload{sent: false, msg: v}, true) + } + return nil + } + ctx := NewContextWithServerTransportStream(stream.Context(), stream) + reply, appErr := md.Handler(srv.server, ctx, df, s.opts.unaryInt) + if appErr != nil { + appStatus, ok := status.FromError(appErr) + if !ok { + // Convert appErr if it is not a grpc status error. + appErr = status.Error(codes.Unknown, appErr.Error()) + appStatus, _ = status.FromError(appErr) + } + if trInfo != nil { + trInfo.tr.LazyLog(stringer(appStatus.Message()), true) + trInfo.tr.SetError() + } + if e := t.WriteStatus(stream, appStatus); e != nil { + grpclog.Warningf("grpc: Server.processUnaryRPC failed to write status: %v", e) + } + if binlog != nil { + if h, _ := stream.Header(); h.Len() > 0 { + // Only log serverHeader if there was header. Otherwise it can + // be trailer only. + binlog.Log(&binarylog.ServerHeader{ + Header: h, + }) + } + binlog.Log(&binarylog.ServerTrailer{ + Trailer: stream.Trailer(), + Err: appErr, + }) + } + return appErr + } + if trInfo != nil { + trInfo.tr.LazyLog(stringer("OK"), false) + } + opts := &transport.Options{Last: true} + + if err := s.sendResponse(t, stream, reply, cp, opts, comp); err != nil { + if err == io.EOF { + // The entire stream is done (for unary RPC only). + return err + } + if s, ok := status.FromError(err); ok { + if e := t.WriteStatus(stream, s); e != nil { + grpclog.Warningf("grpc: Server.processUnaryRPC failed to write status: %v", e) + } + } else { + switch st := err.(type) { + case transport.ConnectionError: + // Nothing to do here. + default: + panic(fmt.Sprintf("grpc: Unexpected error (%T) from sendResponse: %v", st, st)) + } + } + if binlog != nil { + h, _ := stream.Header() + binlog.Log(&binarylog.ServerHeader{ + Header: h, + }) + binlog.Log(&binarylog.ServerTrailer{ + Trailer: stream.Trailer(), + Err: appErr, + }) + } + return err + } + if binlog != nil { + h, _ := stream.Header() + binlog.Log(&binarylog.ServerHeader{ + Header: h, + }) + binlog.Log(&binarylog.ServerMessage{ + Message: reply, + }) + } + if channelz.IsOn() { + t.IncrMsgSent() + } + if trInfo != nil { + trInfo.tr.LazyLog(&payload{sent: true, msg: reply}, true) + } + // TODO: Should we be logging if writing status failed here, like above? + // Should the logging be in WriteStatus? Should we ignore the WriteStatus + // error or allow the stats handler to see it? + err = t.WriteStatus(stream, statusOK) + if binlog != nil { + binlog.Log(&binarylog.ServerTrailer{ + Trailer: stream.Trailer(), + Err: appErr, + }) + } + return err +} + +func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transport.Stream, srv *service, sd *StreamDesc, trInfo *traceInfo) (err error) { + if channelz.IsOn() { + s.incrCallsStarted() + defer func() { + if err != nil && err != io.EOF { + s.incrCallsFailed() + } else { + s.incrCallsSucceeded() + } + }() + } + sh := s.opts.statsHandler + if sh != nil { + beginTime := time.Now() + begin := &stats.Begin{ + BeginTime: beginTime, + } + sh.HandleRPC(stream.Context(), begin) + defer func() { + end := &stats.End{ + BeginTime: beginTime, + EndTime: time.Now(), + } + if err != nil && err != io.EOF { + end.Error = toRPCErr(err) + } + sh.HandleRPC(stream.Context(), end) + }() + } + ctx := NewContextWithServerTransportStream(stream.Context(), stream) + ss := &serverStream{ + ctx: ctx, + t: t, + s: stream, + p: &parser{r: stream}, + codec: s.getCodec(stream.ContentSubtype()), + maxReceiveMessageSize: s.opts.maxReceiveMessageSize, + maxSendMessageSize: s.opts.maxSendMessageSize, + trInfo: trInfo, + statsHandler: sh, + } + + ss.binlog = binarylog.GetMethodLogger(stream.Method()) + if ss.binlog != nil { + md, _ := metadata.FromIncomingContext(ctx) + logEntry := &binarylog.ClientHeader{ + Header: md, + MethodName: stream.Method(), + PeerAddr: nil, + } + if deadline, ok := ctx.Deadline(); ok { + logEntry.Timeout = time.Until(deadline) + if logEntry.Timeout < 0 { + logEntry.Timeout = 0 + } + } + if a := md[":authority"]; len(a) > 0 { + logEntry.Authority = a[0] + } + if peer, ok := peer.FromContext(ss.Context()); ok { + logEntry.PeerAddr = peer.Addr + } + ss.binlog.Log(logEntry) + } + + // If dc is set and matches the stream's compression, use it. Otherwise, try + // to find a matching registered compressor for decomp. + if rc := stream.RecvCompress(); s.opts.dc != nil && s.opts.dc.Type() == rc { + ss.dc = s.opts.dc + } else if rc != "" && rc != encoding.Identity { + ss.decomp = encoding.GetCompressor(rc) + if ss.decomp == nil { + st := status.Newf(codes.Unimplemented, "grpc: Decompressor is not installed for grpc-encoding %q", rc) + t.WriteStatus(ss.s, st) + return st.Err() + } + } + + // If cp is set, use it. Otherwise, attempt to compress the response using + // the incoming message compression method. + // + // NOTE: this needs to be ahead of all handling, https://github.com/grpc/grpc-go/issues/686. + if s.opts.cp != nil { + ss.cp = s.opts.cp + stream.SetSendCompress(s.opts.cp.Type()) + } else if rc := stream.RecvCompress(); rc != "" && rc != encoding.Identity { + // Legacy compressor not specified; attempt to respond with same encoding. + ss.comp = encoding.GetCompressor(rc) + if ss.comp != nil { + stream.SetSendCompress(rc) + } + } + + if trInfo != nil { + trInfo.tr.LazyLog(&trInfo.firstLine, false) + defer func() { + ss.mu.Lock() + if err != nil && err != io.EOF { + ss.trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + ss.trInfo.tr.SetError() + } + ss.trInfo.tr.Finish() + ss.trInfo.tr = nil + ss.mu.Unlock() + }() + } + var appErr error + var server interface{} + if srv != nil { + server = srv.server + } + if s.opts.streamInt == nil { + appErr = sd.Handler(server, ss) + } else { + info := &StreamServerInfo{ + FullMethod: stream.Method(), + IsClientStream: sd.ClientStreams, + IsServerStream: sd.ServerStreams, + } + appErr = s.opts.streamInt(server, ss, info, sd.Handler) + } + if appErr != nil { + appStatus, ok := status.FromError(appErr) + if !ok { + appStatus = status.New(codes.Unknown, appErr.Error()) + appErr = appStatus.Err() + } + if trInfo != nil { + ss.mu.Lock() + ss.trInfo.tr.LazyLog(stringer(appStatus.Message()), true) + ss.trInfo.tr.SetError() + ss.mu.Unlock() + } + t.WriteStatus(ss.s, appStatus) + if ss.binlog != nil { + ss.binlog.Log(&binarylog.ServerTrailer{ + Trailer: ss.s.Trailer(), + Err: appErr, + }) + } + // TODO: Should we log an error from WriteStatus here and below? + return appErr + } + if trInfo != nil { + ss.mu.Lock() + ss.trInfo.tr.LazyLog(stringer("OK"), false) + ss.mu.Unlock() + } + err = t.WriteStatus(ss.s, statusOK) + if ss.binlog != nil { + ss.binlog.Log(&binarylog.ServerTrailer{ + Trailer: ss.s.Trailer(), + Err: appErr, + }) + } + return err +} + +func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Stream, trInfo *traceInfo) { + sm := stream.Method() + if sm != "" && sm[0] == '/' { + sm = sm[1:] + } + pos := strings.LastIndex(sm, "/") + if pos == -1 { + if trInfo != nil { + trInfo.tr.LazyLog(&fmtStringer{"Malformed method name %q", []interface{}{sm}}, true) + trInfo.tr.SetError() + } + errDesc := fmt.Sprintf("malformed method name: %q", stream.Method()) + if err := t.WriteStatus(stream, status.New(codes.ResourceExhausted, errDesc)); err != nil { + if trInfo != nil { + trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + trInfo.tr.SetError() + } + grpclog.Warningf("grpc: Server.handleStream failed to write status: %v", err) + } + if trInfo != nil { + trInfo.tr.Finish() + } + return + } + service := sm[:pos] + method := sm[pos+1:] + + srv, knownService := s.m[service] + if knownService { + if md, ok := srv.md[method]; ok { + s.processUnaryRPC(t, stream, srv, md, trInfo) + return + } + if sd, ok := srv.sd[method]; ok { + s.processStreamingRPC(t, stream, srv, sd, trInfo) + return + } + } + // Unknown service, or known server unknown method. + if unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil { + s.processStreamingRPC(t, stream, nil, unknownDesc, trInfo) + return + } + var errDesc string + if !knownService { + errDesc = fmt.Sprintf("unknown service %v", service) + } else { + errDesc = fmt.Sprintf("unknown method %v for service %v", method, service) + } + if trInfo != nil { + trInfo.tr.LazyPrintf("%s", errDesc) + trInfo.tr.SetError() + } + if err := t.WriteStatus(stream, status.New(codes.Unimplemented, errDesc)); err != nil { + if trInfo != nil { + trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + trInfo.tr.SetError() + } + grpclog.Warningf("grpc: Server.handleStream failed to write status: %v", err) + } + if trInfo != nil { + trInfo.tr.Finish() + } +} + +// The key to save ServerTransportStream in the context. +type streamKey struct{} + +// NewContextWithServerTransportStream creates a new context from ctx and +// attaches stream to it. +// +// This API is EXPERIMENTAL. +func NewContextWithServerTransportStream(ctx context.Context, stream ServerTransportStream) context.Context { + return context.WithValue(ctx, streamKey{}, stream) +} + +// ServerTransportStream is a minimal interface that a transport stream must +// implement. This can be used to mock an actual transport stream for tests of +// handler code that use, for example, grpc.SetHeader (which requires some +// stream to be in context). +// +// See also NewContextWithServerTransportStream. +// +// This API is EXPERIMENTAL. +type ServerTransportStream interface { + Method() string + SetHeader(md metadata.MD) error + SendHeader(md metadata.MD) error + SetTrailer(md metadata.MD) error +} + +// ServerTransportStreamFromContext returns the ServerTransportStream saved in +// ctx. Returns nil if the given context has no stream associated with it +// (which implies it is not an RPC invocation context). +// +// This API is EXPERIMENTAL. +func ServerTransportStreamFromContext(ctx context.Context) ServerTransportStream { + s, _ := ctx.Value(streamKey{}).(ServerTransportStream) + return s +} + +// Stop stops the gRPC server. It immediately closes all open +// connections and listeners. +// It cancels all active RPCs on the server side and the corresponding +// pending RPCs on the client side will get notified by connection +// errors. +func (s *Server) Stop() { + s.quit.Fire() + + defer func() { + s.serveWG.Wait() + s.done.Fire() + }() + + s.channelzRemoveOnce.Do(func() { + if channelz.IsOn() { + channelz.RemoveEntry(s.channelzID) + } + }) + + s.mu.Lock() + listeners := s.lis + s.lis = nil + st := s.conns + s.conns = nil + // interrupt GracefulStop if Stop and GracefulStop are called concurrently. + s.cv.Broadcast() + s.mu.Unlock() + + for lis := range listeners { + lis.Close() + } + for c := range st { + c.Close() + } + + s.mu.Lock() + if s.events != nil { + s.events.Finish() + s.events = nil + } + s.mu.Unlock() +} + +// GracefulStop stops the gRPC server gracefully. It stops the server from +// accepting new connections and RPCs and blocks until all the pending RPCs are +// finished. +func (s *Server) GracefulStop() { + s.quit.Fire() + defer s.done.Fire() + + s.channelzRemoveOnce.Do(func() { + if channelz.IsOn() { + channelz.RemoveEntry(s.channelzID) + } + }) + s.mu.Lock() + if s.conns == nil { + s.mu.Unlock() + return + } + + for lis := range s.lis { + lis.Close() + } + s.lis = nil + if !s.drain { + for st := range s.conns { + st.Drain() + } + s.drain = true + } + + // Wait for serving threads to be ready to exit. Only then can we be sure no + // new conns will be created. + s.mu.Unlock() + s.serveWG.Wait() + s.mu.Lock() + + for len(s.conns) != 0 { + s.cv.Wait() + } + s.conns = nil + if s.events != nil { + s.events.Finish() + s.events = nil + } + s.mu.Unlock() +} + +// contentSubtype must be lowercase +// cannot return nil +func (s *Server) getCodec(contentSubtype string) baseCodec { + if s.opts.codec != nil { + return s.opts.codec + } + if contentSubtype == "" { + return encoding.GetCodec(proto.Name) + } + codec := encoding.GetCodec(contentSubtype) + if codec == nil { + return encoding.GetCodec(proto.Name) + } + return codec +} + +// SetHeader sets the header metadata. +// When called multiple times, all the provided metadata will be merged. +// All the metadata will be sent out when one of the following happens: +// - grpc.SendHeader() is called; +// - The first response is sent out; +// - An RPC status is sent out (error or success). +func SetHeader(ctx context.Context, md metadata.MD) error { + if md.Len() == 0 { + return nil + } + stream := ServerTransportStreamFromContext(ctx) + if stream == nil { + return status.Errorf(codes.Internal, "grpc: failed to fetch the stream from the context %v", ctx) + } + return stream.SetHeader(md) +} + +// SendHeader sends header metadata. It may be called at most once. +// The provided md and headers set by SetHeader() will be sent. +func SendHeader(ctx context.Context, md metadata.MD) error { + stream := ServerTransportStreamFromContext(ctx) + if stream == nil { + return status.Errorf(codes.Internal, "grpc: failed to fetch the stream from the context %v", ctx) + } + if err := stream.SendHeader(md); err != nil { + return toRPCErr(err) + } + return nil +} + +// SetTrailer sets the trailer metadata that will be sent when an RPC returns. +// When called more than once, all the provided metadata will be merged. +func SetTrailer(ctx context.Context, md metadata.MD) error { + if md.Len() == 0 { + return nil + } + stream := ServerTransportStreamFromContext(ctx) + if stream == nil { + return status.Errorf(codes.Internal, "grpc: failed to fetch the stream from the context %v", ctx) + } + return stream.SetTrailer(md) +} + +// Method returns the method string for the server context. The returned +// string is in the format of "/service/method". +func Method(ctx context.Context) (string, bool) { + s := ServerTransportStreamFromContext(ctx) + if s == nil { + return "", false + } + return s.Method(), true +} + +type channelzServer struct { + s *Server +} + +func (c *channelzServer) ChannelzMetric() *channelz.ServerInternalMetric { + return c.s.channelzMetric() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/service_config.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/service_config.go new file mode 100644 index 0000000..d0787f1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/service_config.go @@ -0,0 +1,429 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "encoding/json" + "fmt" + "strconv" + "strings" + "time" + + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal" + "google.golang.org/grpc/serviceconfig" +) + +const maxInt = int(^uint(0) >> 1) + +// MethodConfig defines the configuration recommended by the service providers for a +// particular method. +// +// Deprecated: Users should not use this struct. Service config should be received +// through name resolver, as specified here +// https://github.com/grpc/grpc/blob/master/doc/service_config.md +type MethodConfig struct { + // WaitForReady indicates whether RPCs sent to this method should wait until + // the connection is ready by default (!failfast). The value specified via the + // gRPC client API will override the value set here. + WaitForReady *bool + // Timeout is the default timeout for RPCs sent to this method. The actual + // deadline used will be the minimum of the value specified here and the value + // set by the application via the gRPC client API. If either one is not set, + // then the other will be used. If neither is set, then the RPC has no deadline. + Timeout *time.Duration + // MaxReqSize is the maximum allowed payload size for an individual request in a + // stream (client->server) in bytes. The size which is measured is the serialized + // payload after per-message compression (but before stream compression) in bytes. + // The actual value used is the minimum of the value specified here and the value set + // by the application via the gRPC client API. If either one is not set, then the other + // will be used. If neither is set, then the built-in default is used. + MaxReqSize *int + // MaxRespSize is the maximum allowed payload size for an individual response in a + // stream (server->client) in bytes. + MaxRespSize *int + // RetryPolicy configures retry options for the method. + retryPolicy *retryPolicy +} + +type lbConfig struct { + name string + cfg serviceconfig.LoadBalancingConfig +} + +// ServiceConfig is provided by the service provider and contains parameters for how +// clients that connect to the service should behave. +// +// Deprecated: Users should not use this struct. Service config should be received +// through name resolver, as specified here +// https://github.com/grpc/grpc/blob/master/doc/service_config.md +type ServiceConfig struct { + serviceconfig.Config + + // LB is the load balancer the service providers recommends. The balancer + // specified via grpc.WithBalancer will override this. This is deprecated; + // lbConfigs is preferred. If lbConfig and LB are both present, lbConfig + // will be used. + LB *string + + // lbConfig is the service config's load balancing configuration. If + // lbConfig and LB are both present, lbConfig will be used. + lbConfig *lbConfig + + // Methods contains a map for the methods in this service. If there is an + // exact match for a method (i.e. /service/method) in the map, use the + // corresponding MethodConfig. If there's no exact match, look for the + // default config for the service (/service/) and use the corresponding + // MethodConfig if it exists. Otherwise, the method has no MethodConfig to + // use. + Methods map[string]MethodConfig + + // If a retryThrottlingPolicy is provided, gRPC will automatically throttle + // retry attempts and hedged RPCs when the client’s ratio of failures to + // successes exceeds a threshold. + // + // For each server name, the gRPC client will maintain a token_count which is + // initially set to maxTokens, and can take values between 0 and maxTokens. + // + // Every outgoing RPC (regardless of service or method invoked) will change + // token_count as follows: + // + // - Every failed RPC will decrement the token_count by 1. + // - Every successful RPC will increment the token_count by tokenRatio. + // + // If token_count is less than or equal to maxTokens / 2, then RPCs will not + // be retried and hedged RPCs will not be sent. + retryThrottling *retryThrottlingPolicy + // healthCheckConfig must be set as one of the requirement to enable LB channel + // health check. + healthCheckConfig *healthCheckConfig + // rawJSONString stores service config json string that get parsed into + // this service config struct. + rawJSONString string +} + +// healthCheckConfig defines the go-native version of the LB channel health check config. +type healthCheckConfig struct { + // serviceName is the service name to use in the health-checking request. + ServiceName string +} + +// retryPolicy defines the go-native version of the retry policy defined by the +// service config here: +// https://github.com/grpc/proposal/blob/master/A6-client-retries.md#integration-with-service-config +type retryPolicy struct { + // MaxAttempts is the maximum number of attempts, including the original RPC. + // + // This field is required and must be two or greater. + maxAttempts int + + // Exponential backoff parameters. The initial retry attempt will occur at + // random(0, initialBackoffMS). In general, the nth attempt will occur at + // random(0, + // min(initialBackoffMS*backoffMultiplier**(n-1), maxBackoffMS)). + // + // These fields are required and must be greater than zero. + initialBackoff time.Duration + maxBackoff time.Duration + backoffMultiplier float64 + + // The set of status codes which may be retried. + // + // Status codes are specified as strings, e.g., "UNAVAILABLE". + // + // This field is required and must be non-empty. + // Note: a set is used to store this for easy lookup. + retryableStatusCodes map[codes.Code]bool +} + +type jsonRetryPolicy struct { + MaxAttempts int + InitialBackoff string + MaxBackoff string + BackoffMultiplier float64 + RetryableStatusCodes []codes.Code +} + +// retryThrottlingPolicy defines the go-native version of the retry throttling +// policy defined by the service config here: +// https://github.com/grpc/proposal/blob/master/A6-client-retries.md#integration-with-service-config +type retryThrottlingPolicy struct { + // The number of tokens starts at maxTokens. The token_count will always be + // between 0 and maxTokens. + // + // This field is required and must be greater than zero. + MaxTokens float64 + // The amount of tokens to add on each successful RPC. Typically this will + // be some number between 0 and 1, e.g., 0.1. + // + // This field is required and must be greater than zero. Up to 3 decimal + // places are supported. + TokenRatio float64 +} + +func parseDuration(s *string) (*time.Duration, error) { + if s == nil { + return nil, nil + } + if !strings.HasSuffix(*s, "s") { + return nil, fmt.Errorf("malformed duration %q", *s) + } + ss := strings.SplitN((*s)[:len(*s)-1], ".", 3) + if len(ss) > 2 { + return nil, fmt.Errorf("malformed duration %q", *s) + } + // hasDigits is set if either the whole or fractional part of the number is + // present, since both are optional but one is required. + hasDigits := false + var d time.Duration + if len(ss[0]) > 0 { + i, err := strconv.ParseInt(ss[0], 10, 32) + if err != nil { + return nil, fmt.Errorf("malformed duration %q: %v", *s, err) + } + d = time.Duration(i) * time.Second + hasDigits = true + } + if len(ss) == 2 && len(ss[1]) > 0 { + if len(ss[1]) > 9 { + return nil, fmt.Errorf("malformed duration %q", *s) + } + f, err := strconv.ParseInt(ss[1], 10, 64) + if err != nil { + return nil, fmt.Errorf("malformed duration %q: %v", *s, err) + } + for i := 9; i > len(ss[1]); i-- { + f *= 10 + } + d += time.Duration(f) + hasDigits = true + } + if !hasDigits { + return nil, fmt.Errorf("malformed duration %q", *s) + } + + return &d, nil +} + +type jsonName struct { + Service *string + Method *string +} + +func (j jsonName) generatePath() (string, bool) { + if j.Service == nil { + return "", false + } + res := "/" + *j.Service + "/" + if j.Method != nil { + res += *j.Method + } + return res, true +} + +// TODO(lyuxuan): delete this struct after cleaning up old service config implementation. +type jsonMC struct { + Name *[]jsonName + WaitForReady *bool + Timeout *string + MaxRequestMessageBytes *int64 + MaxResponseMessageBytes *int64 + RetryPolicy *jsonRetryPolicy +} + +type loadBalancingConfig map[string]json.RawMessage + +// TODO(lyuxuan): delete this struct after cleaning up old service config implementation. +type jsonSC struct { + LoadBalancingPolicy *string + LoadBalancingConfig *[]loadBalancingConfig + MethodConfig *[]jsonMC + RetryThrottling *retryThrottlingPolicy + HealthCheckConfig *healthCheckConfig +} + +func init() { + internal.ParseServiceConfig = func(sc string) (interface{}, error) { + return parseServiceConfig(sc) + } +} + +func parseServiceConfig(js string) (*ServiceConfig, error) { + if len(js) == 0 { + return nil, fmt.Errorf("no JSON service config provided") + } + var rsc jsonSC + err := json.Unmarshal([]byte(js), &rsc) + if err != nil { + grpclog.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err) + return nil, err + } + sc := ServiceConfig{ + LB: rsc.LoadBalancingPolicy, + Methods: make(map[string]MethodConfig), + retryThrottling: rsc.RetryThrottling, + healthCheckConfig: rsc.HealthCheckConfig, + rawJSONString: js, + } + if rsc.LoadBalancingConfig != nil { + for i, lbcfg := range *rsc.LoadBalancingConfig { + if len(lbcfg) != 1 { + err := fmt.Errorf("invalid loadBalancingConfig: entry %v does not contain exactly 1 policy/config pair: %q", i, lbcfg) + grpclog.Warningf(err.Error()) + return nil, err + } + var name string + var jsonCfg json.RawMessage + for name, jsonCfg = range lbcfg { + } + builder := balancer.Get(name) + if builder == nil { + continue + } + sc.lbConfig = &lbConfig{name: name} + if parser, ok := builder.(balancer.ConfigParser); ok { + var err error + sc.lbConfig.cfg, err = parser.ParseConfig(jsonCfg) + if err != nil { + return nil, fmt.Errorf("error parsing loadBalancingConfig for policy %q: %v", name, err) + } + } else if string(jsonCfg) != "{}" { + grpclog.Warningf("non-empty balancer configuration %q, but balancer does not implement ParseConfig", string(jsonCfg)) + } + break + } + } + + if rsc.MethodConfig == nil { + return &sc, nil + } + for _, m := range *rsc.MethodConfig { + if m.Name == nil { + continue + } + d, err := parseDuration(m.Timeout) + if err != nil { + grpclog.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err) + return nil, err + } + + mc := MethodConfig{ + WaitForReady: m.WaitForReady, + Timeout: d, + } + if mc.retryPolicy, err = convertRetryPolicy(m.RetryPolicy); err != nil { + grpclog.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err) + return nil, err + } + if m.MaxRequestMessageBytes != nil { + if *m.MaxRequestMessageBytes > int64(maxInt) { + mc.MaxReqSize = newInt(maxInt) + } else { + mc.MaxReqSize = newInt(int(*m.MaxRequestMessageBytes)) + } + } + if m.MaxResponseMessageBytes != nil { + if *m.MaxResponseMessageBytes > int64(maxInt) { + mc.MaxRespSize = newInt(maxInt) + } else { + mc.MaxRespSize = newInt(int(*m.MaxResponseMessageBytes)) + } + } + for _, n := range *m.Name { + if path, valid := n.generatePath(); valid { + sc.Methods[path] = mc + } + } + } + + if sc.retryThrottling != nil { + if mt := sc.retryThrottling.MaxTokens; mt <= 0 || mt > 1000 { + return nil, fmt.Errorf("invalid retry throttling config: maxTokens (%v) out of range (0, 1000]", mt) + } + if tr := sc.retryThrottling.TokenRatio; tr <= 0 { + return nil, fmt.Errorf("invalid retry throttling config: tokenRatio (%v) may not be negative", tr) + } + } + return &sc, nil +} + +func convertRetryPolicy(jrp *jsonRetryPolicy) (p *retryPolicy, err error) { + if jrp == nil { + return nil, nil + } + ib, err := parseDuration(&jrp.InitialBackoff) + if err != nil { + return nil, err + } + mb, err := parseDuration(&jrp.MaxBackoff) + if err != nil { + return nil, err + } + + if jrp.MaxAttempts <= 1 || + *ib <= 0 || + *mb <= 0 || + jrp.BackoffMultiplier <= 0 || + len(jrp.RetryableStatusCodes) == 0 { + grpclog.Warningf("grpc: ignoring retry policy %v due to illegal configuration", jrp) + return nil, nil + } + + rp := &retryPolicy{ + maxAttempts: jrp.MaxAttempts, + initialBackoff: *ib, + maxBackoff: *mb, + backoffMultiplier: jrp.BackoffMultiplier, + retryableStatusCodes: make(map[codes.Code]bool), + } + if rp.maxAttempts > 5 { + // TODO(retry): Make the max maxAttempts configurable. + rp.maxAttempts = 5 + } + for _, code := range jrp.RetryableStatusCodes { + rp.retryableStatusCodes[code] = true + } + return rp, nil +} + +func min(a, b *int) *int { + if *a < *b { + return a + } + return b +} + +func getMaxSize(mcMax, doptMax *int, defaultVal int) *int { + if mcMax == nil && doptMax == nil { + return &defaultVal + } + if mcMax != nil && doptMax != nil { + return min(mcMax, doptMax) + } + if mcMax != nil { + return mcMax + } + return doptMax +} + +func newInt(b int) *int { + return &b +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/serviceconfig/serviceconfig.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/serviceconfig/serviceconfig.go new file mode 100644 index 0000000..53b2787 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/serviceconfig/serviceconfig.go @@ -0,0 +1,48 @@ +/* + * + * Copyright 2019 gRPC authors. + * + * 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. + * + */ + +// Package serviceconfig defines types and methods for operating on gRPC +// service configs. +// +// This package is EXPERIMENTAL. +package serviceconfig + +import ( + "google.golang.org/grpc/internal" +) + +// Config represents an opaque data structure holding a service config. +type Config interface { + isConfig() +} + +// LoadBalancingConfig represents an opaque data structure holding a load +// balancer config. +type LoadBalancingConfig interface { + isLoadBalancingConfig() +} + +// Parse parses the JSON service config provided into an internal form or +// returns an error if the config is invalid. +func Parse(ServiceConfigJSON string) (Config, error) { + c, err := internal.ParseServiceConfig(ServiceConfigJSON) + if err != nil { + return nil, err + } + return c.(Config), err +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/handlers.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/handlers.go new file mode 100644 index 0000000..dc03731 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/handlers.go @@ -0,0 +1,63 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * 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. + * + */ + +package stats + +import ( + "context" + "net" +) + +// ConnTagInfo defines the relevant information needed by connection context tagger. +type ConnTagInfo struct { + // RemoteAddr is the remote address of the corresponding connection. + RemoteAddr net.Addr + // LocalAddr is the local address of the corresponding connection. + LocalAddr net.Addr +} + +// RPCTagInfo defines the relevant information needed by RPC context tagger. +type RPCTagInfo struct { + // FullMethodName is the RPC method in the format of /package.service/method. + FullMethodName string + // FailFast indicates if this RPC is failfast. + // This field is only valid on client side, it's always false on server side. + FailFast bool +} + +// Handler defines the interface for the related stats handling (e.g., RPCs, connections). +type Handler interface { + // TagRPC can attach some information to the given context. + // The context used for the rest lifetime of the RPC will be derived from + // the returned context. + TagRPC(context.Context, *RPCTagInfo) context.Context + // HandleRPC processes the RPC stats. + HandleRPC(context.Context, RPCStats) + + // TagConn can attach some information to the given context. + // The returned context will be used for stats handling. + // For conn stats handling, the context used in HandleConn for this + // connection will be derived from the context returned. + // For RPC stats handling, + // - On server side, the context used in HandleRPC for all RPCs on this + // connection will be derived from the context returned. + // - On client side, the context is not derived from the context returned. + TagConn(context.Context, *ConnTagInfo) context.Context + // HandleConn processes the Conn stats. + HandleConn(context.Context, ConnStats) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/stats.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/stats.go new file mode 100644 index 0000000..f3f593c --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stats/stats.go @@ -0,0 +1,300 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * 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. + * + */ + +//go:generate protoc --go_out=plugins=grpc:. grpc_testing/test.proto + +// Package stats is for collecting and reporting various network and RPC stats. +// This package is for monitoring purpose only. All fields are read-only. +// All APIs are experimental. +package stats // import "google.golang.org/grpc/stats" + +import ( + "context" + "net" + "time" + + "google.golang.org/grpc/metadata" +) + +// RPCStats contains stats information about RPCs. +type RPCStats interface { + isRPCStats() + // IsClient returns true if this RPCStats is from client side. + IsClient() bool +} + +// Begin contains stats when an RPC begins. +// FailFast is only valid if this Begin is from client side. +type Begin struct { + // Client is true if this Begin is from client side. + Client bool + // BeginTime is the time when the RPC begins. + BeginTime time.Time + // FailFast indicates if this RPC is failfast. + FailFast bool +} + +// IsClient indicates if the stats information is from client side. +func (s *Begin) IsClient() bool { return s.Client } + +func (s *Begin) isRPCStats() {} + +// InPayload contains the information for an incoming payload. +type InPayload struct { + // Client is true if this InPayload is from client side. + Client bool + // Payload is the payload with original type. + Payload interface{} + // Data is the serialized message payload. + Data []byte + // Length is the length of uncompressed data. + Length int + // WireLength is the length of data on wire (compressed, signed, encrypted). + WireLength int + // RecvTime is the time when the payload is received. + RecvTime time.Time +} + +// IsClient indicates if the stats information is from client side. +func (s *InPayload) IsClient() bool { return s.Client } + +func (s *InPayload) isRPCStats() {} + +// InHeader contains stats when a header is received. +type InHeader struct { + // Client is true if this InHeader is from client side. + Client bool + // WireLength is the wire length of header. + WireLength int + + // The following fields are valid only if Client is false. + // FullMethod is the full RPC method string, i.e., /package.service/method. + FullMethod string + // RemoteAddr is the remote address of the corresponding connection. + RemoteAddr net.Addr + // LocalAddr is the local address of the corresponding connection. + LocalAddr net.Addr + // Compression is the compression algorithm used for the RPC. + Compression string +} + +// IsClient indicates if the stats information is from client side. +func (s *InHeader) IsClient() bool { return s.Client } + +func (s *InHeader) isRPCStats() {} + +// InTrailer contains stats when a trailer is received. +type InTrailer struct { + // Client is true if this InTrailer is from client side. + Client bool + // WireLength is the wire length of trailer. + WireLength int +} + +// IsClient indicates if the stats information is from client side. +func (s *InTrailer) IsClient() bool { return s.Client } + +func (s *InTrailer) isRPCStats() {} + +// OutPayload contains the information for an outgoing payload. +type OutPayload struct { + // Client is true if this OutPayload is from client side. + Client bool + // Payload is the payload with original type. + Payload interface{} + // Data is the serialized message payload. + Data []byte + // Length is the length of uncompressed data. + Length int + // WireLength is the length of data on wire (compressed, signed, encrypted). + WireLength int + // SentTime is the time when the payload is sent. + SentTime time.Time +} + +// IsClient indicates if this stats information is from client side. +func (s *OutPayload) IsClient() bool { return s.Client } + +func (s *OutPayload) isRPCStats() {} + +// OutHeader contains stats when a header is sent. +type OutHeader struct { + // Client is true if this OutHeader is from client side. + Client bool + + // The following fields are valid only if Client is true. + // FullMethod is the full RPC method string, i.e., /package.service/method. + FullMethod string + // RemoteAddr is the remote address of the corresponding connection. + RemoteAddr net.Addr + // LocalAddr is the local address of the corresponding connection. + LocalAddr net.Addr + // Compression is the compression algorithm used for the RPC. + Compression string +} + +// IsClient indicates if this stats information is from client side. +func (s *OutHeader) IsClient() bool { return s.Client } + +func (s *OutHeader) isRPCStats() {} + +// OutTrailer contains stats when a trailer is sent. +type OutTrailer struct { + // Client is true if this OutTrailer is from client side. + Client bool + // WireLength is the wire length of trailer. + WireLength int +} + +// IsClient indicates if this stats information is from client side. +func (s *OutTrailer) IsClient() bool { return s.Client } + +func (s *OutTrailer) isRPCStats() {} + +// End contains stats when an RPC ends. +type End struct { + // Client is true if this End is from client side. + Client bool + // BeginTime is the time when the RPC began. + BeginTime time.Time + // EndTime is the time when the RPC ends. + EndTime time.Time + // Trailer contains the trailer metadata received from the server. This + // field is only valid if this End is from the client side. + Trailer metadata.MD + // Error is the error the RPC ended with. It is an error generated from + // status.Status and can be converted back to status.Status using + // status.FromError if non-nil. + Error error +} + +// IsClient indicates if this is from client side. +func (s *End) IsClient() bool { return s.Client } + +func (s *End) isRPCStats() {} + +// ConnStats contains stats information about connections. +type ConnStats interface { + isConnStats() + // IsClient returns true if this ConnStats is from client side. + IsClient() bool +} + +// ConnBegin contains the stats of a connection when it is established. +type ConnBegin struct { + // Client is true if this ConnBegin is from client side. + Client bool +} + +// IsClient indicates if this is from client side. +func (s *ConnBegin) IsClient() bool { return s.Client } + +func (s *ConnBegin) isConnStats() {} + +// ConnEnd contains the stats of a connection when it ends. +type ConnEnd struct { + // Client is true if this ConnEnd is from client side. + Client bool +} + +// IsClient indicates if this is from client side. +func (s *ConnEnd) IsClient() bool { return s.Client } + +func (s *ConnEnd) isConnStats() {} + +type incomingTagsKey struct{} +type outgoingTagsKey struct{} + +// SetTags attaches stats tagging data to the context, which will be sent in +// the outgoing RPC with the header grpc-tags-bin. Subsequent calls to +// SetTags will overwrite the values from earlier calls. +// +// NOTE: this is provided only for backward compatibility with existing clients +// and will likely be removed in an upcoming release. New uses should transmit +// this type of data using metadata with a different, non-reserved (i.e. does +// not begin with "grpc-") header name. +func SetTags(ctx context.Context, b []byte) context.Context { + return context.WithValue(ctx, outgoingTagsKey{}, b) +} + +// Tags returns the tags from the context for the inbound RPC. +// +// NOTE: this is provided only for backward compatibility with existing clients +// and will likely be removed in an upcoming release. New uses should transmit +// this type of data using metadata with a different, non-reserved (i.e. does +// not begin with "grpc-") header name. +func Tags(ctx context.Context) []byte { + b, _ := ctx.Value(incomingTagsKey{}).([]byte) + return b +} + +// SetIncomingTags attaches stats tagging data to the context, to be read by +// the application (not sent in outgoing RPCs). +// +// This is intended for gRPC-internal use ONLY. +func SetIncomingTags(ctx context.Context, b []byte) context.Context { + return context.WithValue(ctx, incomingTagsKey{}, b) +} + +// OutgoingTags returns the tags from the context for the outbound RPC. +// +// This is intended for gRPC-internal use ONLY. +func OutgoingTags(ctx context.Context) []byte { + b, _ := ctx.Value(outgoingTagsKey{}).([]byte) + return b +} + +type incomingTraceKey struct{} +type outgoingTraceKey struct{} + +// SetTrace attaches stats tagging data to the context, which will be sent in +// the outgoing RPC with the header grpc-trace-bin. Subsequent calls to +// SetTrace will overwrite the values from earlier calls. +// +// NOTE: this is provided only for backward compatibility with existing clients +// and will likely be removed in an upcoming release. New uses should transmit +// this type of data using metadata with a different, non-reserved (i.e. does +// not begin with "grpc-") header name. +func SetTrace(ctx context.Context, b []byte) context.Context { + return context.WithValue(ctx, outgoingTraceKey{}, b) +} + +// Trace returns the trace from the context for the inbound RPC. +// +// NOTE: this is provided only for backward compatibility with existing clients +// and will likely be removed in an upcoming release. New uses should transmit +// this type of data using metadata with a different, non-reserved (i.e. does +// not begin with "grpc-") header name. +func Trace(ctx context.Context) []byte { + b, _ := ctx.Value(incomingTraceKey{}).([]byte) + return b +} + +// SetIncomingTrace attaches stats tagging data to the context, to be read by +// the application (not sent in outgoing RPCs). It is intended for +// gRPC-internal use. +func SetIncomingTrace(ctx context.Context, b []byte) context.Context { + return context.WithValue(ctx, incomingTraceKey{}, b) +} + +// OutgoingTrace returns the trace from the context for the outbound RPC. It is +// intended for gRPC-internal use. +func OutgoingTrace(ctx context.Context) []byte { + b, _ := ctx.Value(outgoingTraceKey{}).([]byte) + return b +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/status/status.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/status/status.go new file mode 100644 index 0000000..a1348e9 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/status/status.go @@ -0,0 +1,228 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * 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. + * + */ + +// Package status implements errors returned by gRPC. These errors are +// serialized and transmitted on the wire between server and client, and allow +// for additional data to be transmitted via the Details field in the status +// proto. gRPC service handlers should return an error created by this +// package, and gRPC clients should expect a corresponding error to be +// returned from the RPC call. +// +// This package upholds the invariants that a non-nil error may not +// contain an OK code, and an OK code must result in a nil error. +package status + +import ( + "context" + "errors" + "fmt" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes" + spb "google.golang.org/genproto/googleapis/rpc/status" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/internal" +) + +func init() { + internal.StatusRawProto = statusRawProto +} + +func statusRawProto(s *Status) *spb.Status { return s.s } + +// statusError is an alias of a status proto. It implements error and Status, +// and a nil statusError should never be returned by this package. +type statusError spb.Status + +func (se *statusError) Error() string { + p := (*spb.Status)(se) + return fmt.Sprintf("rpc error: code = %s desc = %s", codes.Code(p.GetCode()), p.GetMessage()) +} + +func (se *statusError) GRPCStatus() *Status { + return &Status{s: (*spb.Status)(se)} +} + +// Is implements future error.Is functionality. +// A statusError is equivalent if the code and message are identical. +func (se *statusError) Is(target error) bool { + tse, ok := target.(*statusError) + if !ok { + return false + } + + return proto.Equal((*spb.Status)(se), (*spb.Status)(tse)) +} + +// Status represents an RPC status code, message, and details. It is immutable +// and should be created with New, Newf, or FromProto. +type Status struct { + s *spb.Status +} + +// Code returns the status code contained in s. +func (s *Status) Code() codes.Code { + if s == nil || s.s == nil { + return codes.OK + } + return codes.Code(s.s.Code) +} + +// Message returns the message contained in s. +func (s *Status) Message() string { + if s == nil || s.s == nil { + return "" + } + return s.s.Message +} + +// Proto returns s's status as an spb.Status proto message. +func (s *Status) Proto() *spb.Status { + if s == nil { + return nil + } + return proto.Clone(s.s).(*spb.Status) +} + +// Err returns an immutable error representing s; returns nil if s.Code() is +// OK. +func (s *Status) Err() error { + if s.Code() == codes.OK { + return nil + } + return (*statusError)(s.s) +} + +// New returns a Status representing c and msg. +func New(c codes.Code, msg string) *Status { + return &Status{s: &spb.Status{Code: int32(c), Message: msg}} +} + +// Newf returns New(c, fmt.Sprintf(format, a...)). +func Newf(c codes.Code, format string, a ...interface{}) *Status { + return New(c, fmt.Sprintf(format, a...)) +} + +// Error returns an error representing c and msg. If c is OK, returns nil. +func Error(c codes.Code, msg string) error { + return New(c, msg).Err() +} + +// Errorf returns Error(c, fmt.Sprintf(format, a...)). +func Errorf(c codes.Code, format string, a ...interface{}) error { + return Error(c, fmt.Sprintf(format, a...)) +} + +// ErrorProto returns an error representing s. If s.Code is OK, returns nil. +func ErrorProto(s *spb.Status) error { + return FromProto(s).Err() +} + +// FromProto returns a Status representing s. +func FromProto(s *spb.Status) *Status { + return &Status{s: proto.Clone(s).(*spb.Status)} +} + +// FromError returns a Status representing err if it was produced from this +// package or has a method `GRPCStatus() *Status`. Otherwise, ok is false and a +// Status is returned with codes.Unknown and the original error message. +func FromError(err error) (s *Status, ok bool) { + if err == nil { + return nil, true + } + if se, ok := err.(interface { + GRPCStatus() *Status + }); ok { + return se.GRPCStatus(), true + } + return New(codes.Unknown, err.Error()), false +} + +// Convert is a convenience function which removes the need to handle the +// boolean return value from FromError. +func Convert(err error) *Status { + s, _ := FromError(err) + return s +} + +// WithDetails returns a new status with the provided details messages appended to the status. +// If any errors are encountered, it returns nil and the first error encountered. +func (s *Status) WithDetails(details ...proto.Message) (*Status, error) { + if s.Code() == codes.OK { + return nil, errors.New("no error details for status with code OK") + } + // s.Code() != OK implies that s.Proto() != nil. + p := s.Proto() + for _, detail := range details { + any, err := ptypes.MarshalAny(detail) + if err != nil { + return nil, err + } + p.Details = append(p.Details, any) + } + return &Status{s: p}, nil +} + +// Details returns a slice of details messages attached to the status. +// If a detail cannot be decoded, the error is returned in place of the detail. +func (s *Status) Details() []interface{} { + if s == nil || s.s == nil { + return nil + } + details := make([]interface{}, 0, len(s.s.Details)) + for _, any := range s.s.Details { + detail := &ptypes.DynamicAny{} + if err := ptypes.UnmarshalAny(any, detail); err != nil { + details = append(details, err) + continue + } + details = append(details, detail.Message) + } + return details +} + +// Code returns the Code of the error if it is a Status error, codes.OK if err +// is nil, or codes.Unknown otherwise. +func Code(err error) codes.Code { + // Don't use FromError to avoid allocation of OK status. + if err == nil { + return codes.OK + } + if se, ok := err.(interface { + GRPCStatus() *Status + }); ok { + return se.GRPCStatus().Code() + } + return codes.Unknown +} + +// FromContextError converts a context error into a Status. It returns a +// Status with codes.OK if err is nil, or a Status with codes.Unknown if err is +// non-nil and not a context error. +func FromContextError(err error) *Status { + switch err { + case nil: + return nil + case context.DeadlineExceeded: + return New(codes.DeadlineExceeded, err.Error()) + case context.Canceled: + return New(codes.Canceled, err.Error()) + default: + return New(codes.Unknown, err.Error()) + } +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stream.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stream.go new file mode 100644 index 0000000..134a624 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/stream.go @@ -0,0 +1,1529 @@ +/* + * + * Copyright 2014 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "context" + "errors" + "io" + "math" + "strconv" + "sync" + "time" + + "golang.org/x/net/trace" + "google.golang.org/grpc/balancer" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/encoding" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/internal/balancerload" + "google.golang.org/grpc/internal/binarylog" + "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/internal/grpcrand" + "google.golang.org/grpc/internal/transport" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/peer" + "google.golang.org/grpc/stats" + "google.golang.org/grpc/status" +) + +// StreamHandler defines the handler called by gRPC server to complete the +// execution of a streaming RPC. If a StreamHandler returns an error, it +// should be produced by the status package, or else gRPC will use +// codes.Unknown as the status code and err.Error() as the status message +// of the RPC. +type StreamHandler func(srv interface{}, stream ServerStream) error + +// StreamDesc represents a streaming RPC service's method specification. +type StreamDesc struct { + StreamName string + Handler StreamHandler + + // At least one of these is true. + ServerStreams bool + ClientStreams bool +} + +// Stream defines the common interface a client or server stream has to satisfy. +// +// Deprecated: See ClientStream and ServerStream documentation instead. +type Stream interface { + // Deprecated: See ClientStream and ServerStream documentation instead. + Context() context.Context + // Deprecated: See ClientStream and ServerStream documentation instead. + SendMsg(m interface{}) error + // Deprecated: See ClientStream and ServerStream documentation instead. + RecvMsg(m interface{}) error +} + +// ClientStream defines the client-side behavior of a streaming RPC. +// +// All errors returned from ClientStream methods are compatible with the +// status package. +type ClientStream interface { + // Header returns the header metadata received from the server if there + // is any. It blocks if the metadata is not ready to read. + Header() (metadata.MD, error) + // Trailer returns the trailer metadata from the server, if there is any. + // It must only be called after stream.CloseAndRecv has returned, or + // stream.Recv has returned a non-nil error (including io.EOF). + Trailer() metadata.MD + // CloseSend closes the send direction of the stream. It closes the stream + // when non-nil error is met. It is also not safe to call CloseSend + // concurrently with SendMsg. + CloseSend() error + // Context returns the context for this stream. + // + // It should not be called until after Header or RecvMsg has returned. Once + // called, subsequent client-side retries are disabled. + Context() context.Context + // SendMsg is generally called by generated code. On error, SendMsg aborts + // the stream. If the error was generated by the client, the status is + // returned directly; otherwise, io.EOF is returned and the status of + // the stream may be discovered using RecvMsg. + // + // SendMsg blocks until: + // - There is sufficient flow control to schedule m with the transport, or + // - The stream is done, or + // - The stream breaks. + // + // SendMsg does not wait until the message is received by the server. An + // untimely stream closure may result in lost messages. To ensure delivery, + // users should ensure the RPC completed successfully using RecvMsg. + // + // It is safe to have a goroutine calling SendMsg and another goroutine + // calling RecvMsg on the same stream at the same time, but it is not safe + // to call SendMsg on the same stream in different goroutines. It is also + // not safe to call CloseSend concurrently with SendMsg. + SendMsg(m interface{}) error + // RecvMsg blocks until it receives a message into m or the stream is + // done. It returns io.EOF when the stream completes successfully. On + // any other error, the stream is aborted and the error contains the RPC + // status. + // + // It is safe to have a goroutine calling SendMsg and another goroutine + // calling RecvMsg on the same stream at the same time, but it is not + // safe to call RecvMsg on the same stream in different goroutines. + RecvMsg(m interface{}) error +} + +// NewStream creates a new Stream for the client side. This is typically +// called by generated code. ctx is used for the lifetime of the stream. +// +// To ensure resources are not leaked due to the stream returned, one of the following +// actions must be performed: +// +// 1. Call Close on the ClientConn. +// 2. Cancel the context provided. +// 3. Call RecvMsg until a non-nil error is returned. A protobuf-generated +// client-streaming RPC, for instance, might use the helper function +// CloseAndRecv (note that CloseSend does not Recv, therefore is not +// guaranteed to release all resources). +// 4. Receive a non-nil, non-io.EOF error from Header or SendMsg. +// +// If none of the above happen, a goroutine and a context will be leaked, and grpc +// will not call the optionally-configured stats handler with a stats.End message. +func (cc *ClientConn) NewStream(ctx context.Context, desc *StreamDesc, method string, opts ...CallOption) (ClientStream, error) { + // allow interceptor to see all applicable call options, which means those + // configured as defaults from dial option as well as per-call options + opts = combine(cc.dopts.callOptions, opts) + + if cc.dopts.streamInt != nil { + return cc.dopts.streamInt(ctx, desc, cc, method, newClientStream, opts...) + } + return newClientStream(ctx, desc, cc, method, opts...) +} + +// NewClientStream is a wrapper for ClientConn.NewStream. +func NewClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (ClientStream, error) { + return cc.NewStream(ctx, desc, method, opts...) +} + +func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (_ ClientStream, err error) { + if channelz.IsOn() { + cc.incrCallsStarted() + defer func() { + if err != nil { + cc.incrCallsFailed() + } + }() + } + c := defaultCallInfo() + // Provide an opportunity for the first RPC to see the first service config + // provided by the resolver. + if err := cc.waitForResolvedAddrs(ctx); err != nil { + return nil, err + } + mc := cc.GetMethodConfig(method) + if mc.WaitForReady != nil { + c.failFast = !*mc.WaitForReady + } + + // Possible context leak: + // The cancel function for the child context we create will only be called + // when RecvMsg returns a non-nil error, if the ClientConn is closed, or if + // an error is generated by SendMsg. + // https://github.com/grpc/grpc-go/issues/1818. + var cancel context.CancelFunc + if mc.Timeout != nil && *mc.Timeout >= 0 { + ctx, cancel = context.WithTimeout(ctx, *mc.Timeout) + } else { + ctx, cancel = context.WithCancel(ctx) + } + defer func() { + if err != nil { + cancel() + } + }() + + for _, o := range opts { + if err := o.before(c); err != nil { + return nil, toRPCErr(err) + } + } + c.maxSendMessageSize = getMaxSize(mc.MaxReqSize, c.maxSendMessageSize, defaultClientMaxSendMessageSize) + c.maxReceiveMessageSize = getMaxSize(mc.MaxRespSize, c.maxReceiveMessageSize, defaultClientMaxReceiveMessageSize) + if err := setCallInfoCodec(c); err != nil { + return nil, err + } + + callHdr := &transport.CallHdr{ + Host: cc.authority, + Method: method, + ContentSubtype: c.contentSubtype, + } + + // Set our outgoing compression according to the UseCompressor CallOption, if + // set. In that case, also find the compressor from the encoding package. + // Otherwise, use the compressor configured by the WithCompressor DialOption, + // if set. + var cp Compressor + var comp encoding.Compressor + if ct := c.compressorType; ct != "" { + callHdr.SendCompress = ct + if ct != encoding.Identity { + comp = encoding.GetCompressor(ct) + if comp == nil { + return nil, status.Errorf(codes.Internal, "grpc: Compressor is not installed for requested grpc-encoding %q", ct) + } + } + } else if cc.dopts.cp != nil { + callHdr.SendCompress = cc.dopts.cp.Type() + cp = cc.dopts.cp + } + if c.creds != nil { + callHdr.Creds = c.creds + } + var trInfo *traceInfo + if EnableTracing { + trInfo = &traceInfo{ + tr: trace.New("grpc.Sent."+methodFamily(method), method), + firstLine: firstLine{ + client: true, + }, + } + if deadline, ok := ctx.Deadline(); ok { + trInfo.firstLine.deadline = time.Until(deadline) + } + trInfo.tr.LazyLog(&trInfo.firstLine, false) + ctx = trace.NewContext(ctx, trInfo.tr) + } + ctx = newContextWithRPCInfo(ctx, c.failFast, c.codec, cp, comp) + sh := cc.dopts.copts.StatsHandler + var beginTime time.Time + if sh != nil { + ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: c.failFast}) + beginTime = time.Now() + begin := &stats.Begin{ + Client: true, + BeginTime: beginTime, + FailFast: c.failFast, + } + sh.HandleRPC(ctx, begin) + } + + cs := &clientStream{ + callHdr: callHdr, + ctx: ctx, + methodConfig: &mc, + opts: opts, + callInfo: c, + cc: cc, + desc: desc, + codec: c.codec, + cp: cp, + comp: comp, + cancel: cancel, + beginTime: beginTime, + firstAttempt: true, + } + if !cc.dopts.disableRetry { + cs.retryThrottler = cc.retryThrottler.Load().(*retryThrottler) + } + cs.binlog = binarylog.GetMethodLogger(method) + + cs.callInfo.stream = cs + // Only this initial attempt has stats/tracing. + // TODO(dfawley): move to newAttempt when per-attempt stats are implemented. + if err := cs.newAttemptLocked(sh, trInfo); err != nil { + cs.finish(err) + return nil, err + } + + op := func(a *csAttempt) error { return a.newStream() } + if err := cs.withRetry(op, func() { cs.bufferForRetryLocked(0, op) }); err != nil { + cs.finish(err) + return nil, err + } + + if cs.binlog != nil { + md, _ := metadata.FromOutgoingContext(ctx) + logEntry := &binarylog.ClientHeader{ + OnClientSide: true, + Header: md, + MethodName: method, + Authority: cs.cc.authority, + } + if deadline, ok := ctx.Deadline(); ok { + logEntry.Timeout = time.Until(deadline) + if logEntry.Timeout < 0 { + logEntry.Timeout = 0 + } + } + cs.binlog.Log(logEntry) + } + + if desc != unaryStreamDesc { + // Listen on cc and stream contexts to cleanup when the user closes the + // ClientConn or cancels the stream context. In all other cases, an error + // should already be injected into the recv buffer by the transport, which + // the client will eventually receive, and then we will cancel the stream's + // context in clientStream.finish. + go func() { + select { + case <-cc.ctx.Done(): + cs.finish(ErrClientConnClosing) + case <-ctx.Done(): + cs.finish(toRPCErr(ctx.Err())) + } + }() + } + return cs, nil +} + +// newAttemptLocked creates a new attempt with a transport. +// If it succeeds, then it replaces clientStream's attempt with this new attempt. +func (cs *clientStream) newAttemptLocked(sh stats.Handler, trInfo *traceInfo) (retErr error) { + newAttempt := &csAttempt{ + cs: cs, + dc: cs.cc.dopts.dc, + statsHandler: sh, + trInfo: trInfo, + } + defer func() { + if retErr != nil { + // This attempt is not set in the clientStream, so it's finish won't + // be called. Call it here for stats and trace in case they are not + // nil. + newAttempt.finish(retErr) + } + }() + + if err := cs.ctx.Err(); err != nil { + return toRPCErr(err) + } + t, done, err := cs.cc.getTransport(cs.ctx, cs.callInfo.failFast, cs.callHdr.Method) + if err != nil { + return err + } + if trInfo != nil { + trInfo.firstLine.SetRemoteAddr(t.RemoteAddr()) + } + newAttempt.t = t + newAttempt.done = done + cs.attempt = newAttempt + return nil +} + +func (a *csAttempt) newStream() error { + cs := a.cs + cs.callHdr.PreviousAttempts = cs.numRetries + s, err := a.t.NewStream(cs.ctx, cs.callHdr) + if err != nil { + return toRPCErr(err) + } + cs.attempt.s = s + cs.attempt.p = &parser{r: s} + return nil +} + +// clientStream implements a client side Stream. +type clientStream struct { + callHdr *transport.CallHdr + opts []CallOption + callInfo *callInfo + cc *ClientConn + desc *StreamDesc + + codec baseCodec + cp Compressor + comp encoding.Compressor + + cancel context.CancelFunc // cancels all attempts + + sentLast bool // sent an end stream + beginTime time.Time + + methodConfig *MethodConfig + + ctx context.Context // the application's context, wrapped by stats/tracing + + retryThrottler *retryThrottler // The throttler active when the RPC began. + + binlog *binarylog.MethodLogger // Binary logger, can be nil. + // serverHeaderBinlogged is a boolean for whether server header has been + // logged. Server header will be logged when the first time one of those + // happens: stream.Header(), stream.Recv(). + // + // It's only read and used by Recv() and Header(), so it doesn't need to be + // synchronized. + serverHeaderBinlogged bool + + mu sync.Mutex + firstAttempt bool // if true, transparent retry is valid + numRetries int // exclusive of transparent retry attempt(s) + numRetriesSincePushback int // retries since pushback; to reset backoff + finished bool // TODO: replace with atomic cmpxchg or sync.Once? + // attempt is the active client stream attempt. + // The only place where it is written is the newAttemptLocked method and this method never writes nil. + // So, attempt can be nil only inside newClientStream function when clientStream is first created. + // One of the first things done after clientStream's creation, is to call newAttemptLocked which either + // assigns a non nil value to the attempt or returns an error. If an error is returned from newAttemptLocked, + // then newClientStream calls finish on the clientStream and returns. So, finish method is the only + // place where we need to check if the attempt is nil. + attempt *csAttempt + // TODO(hedging): hedging will have multiple attempts simultaneously. + committed bool // active attempt committed for retry? + buffer []func(a *csAttempt) error // operations to replay on retry + bufferSize int // current size of buffer +} + +// csAttempt implements a single transport stream attempt within a +// clientStream. +type csAttempt struct { + cs *clientStream + t transport.ClientTransport + s *transport.Stream + p *parser + done func(balancer.DoneInfo) + + finished bool + dc Decompressor + decomp encoding.Compressor + decompSet bool + + mu sync.Mutex // guards trInfo.tr + // trInfo may be nil (if EnableTracing is false). + // trInfo.tr is set when created (if EnableTracing is true), + // and cleared when the finish method is called. + trInfo *traceInfo + + statsHandler stats.Handler +} + +func (cs *clientStream) commitAttemptLocked() { + cs.committed = true + cs.buffer = nil +} + +func (cs *clientStream) commitAttempt() { + cs.mu.Lock() + cs.commitAttemptLocked() + cs.mu.Unlock() +} + +// shouldRetry returns nil if the RPC should be retried; otherwise it returns +// the error that should be returned by the operation. +func (cs *clientStream) shouldRetry(err error) error { + if cs.attempt.s == nil && !cs.callInfo.failFast { + // In the event of any error from NewStream (attempt.s == nil), we + // never attempted to write anything to the wire, so we can retry + // indefinitely for non-fail-fast RPCs. + return nil + } + if cs.finished || cs.committed { + // RPC is finished or committed; cannot retry. + return err + } + // Wait for the trailers. + if cs.attempt.s != nil { + <-cs.attempt.s.Done() + } + if cs.firstAttempt && (cs.attempt.s == nil || cs.attempt.s.Unprocessed()) { + // First attempt, stream unprocessed: transparently retry. + cs.firstAttempt = false + return nil + } + cs.firstAttempt = false + if cs.cc.dopts.disableRetry { + return err + } + + pushback := 0 + hasPushback := false + if cs.attempt.s != nil { + if to, toErr := cs.attempt.s.TrailersOnly(); toErr != nil || !to { + return err + } + + // TODO(retry): Move down if the spec changes to not check server pushback + // before considering this a failure for throttling. + sps := cs.attempt.s.Trailer()["grpc-retry-pushback-ms"] + if len(sps) == 1 { + var e error + if pushback, e = strconv.Atoi(sps[0]); e != nil || pushback < 0 { + grpclog.Infof("Server retry pushback specified to abort (%q).", sps[0]) + cs.retryThrottler.throttle() // This counts as a failure for throttling. + return err + } + hasPushback = true + } else if len(sps) > 1 { + grpclog.Warningf("Server retry pushback specified multiple values (%q); not retrying.", sps) + cs.retryThrottler.throttle() // This counts as a failure for throttling. + return err + } + } + + var code codes.Code + if cs.attempt.s != nil { + code = cs.attempt.s.Status().Code() + } else { + code = status.Convert(err).Code() + } + + rp := cs.methodConfig.retryPolicy + if rp == nil || !rp.retryableStatusCodes[code] { + return err + } + + // Note: the ordering here is important; we count this as a failure + // only if the code matched a retryable code. + if cs.retryThrottler.throttle() { + return err + } + if cs.numRetries+1 >= rp.maxAttempts { + return err + } + + var dur time.Duration + if hasPushback { + dur = time.Millisecond * time.Duration(pushback) + cs.numRetriesSincePushback = 0 + } else { + fact := math.Pow(rp.backoffMultiplier, float64(cs.numRetriesSincePushback)) + cur := float64(rp.initialBackoff) * fact + if max := float64(rp.maxBackoff); cur > max { + cur = max + } + dur = time.Duration(grpcrand.Int63n(int64(cur))) + cs.numRetriesSincePushback++ + } + + // TODO(dfawley): we could eagerly fail here if dur puts us past the + // deadline, but unsure if it is worth doing. + t := time.NewTimer(dur) + select { + case <-t.C: + cs.numRetries++ + return nil + case <-cs.ctx.Done(): + t.Stop() + return status.FromContextError(cs.ctx.Err()).Err() + } +} + +// Returns nil if a retry was performed and succeeded; error otherwise. +func (cs *clientStream) retryLocked(lastErr error) error { + for { + cs.attempt.finish(lastErr) + if err := cs.shouldRetry(lastErr); err != nil { + cs.commitAttemptLocked() + return err + } + if err := cs.newAttemptLocked(nil, nil); err != nil { + return err + } + if lastErr = cs.replayBufferLocked(); lastErr == nil { + return nil + } + } +} + +func (cs *clientStream) Context() context.Context { + cs.commitAttempt() + // No need to lock before using attempt, since we know it is committed and + // cannot change. + return cs.attempt.s.Context() +} + +func (cs *clientStream) withRetry(op func(a *csAttempt) error, onSuccess func()) error { + cs.mu.Lock() + for { + if cs.committed { + cs.mu.Unlock() + return op(cs.attempt) + } + a := cs.attempt + cs.mu.Unlock() + err := op(a) + cs.mu.Lock() + if a != cs.attempt { + // We started another attempt already. + continue + } + if err == io.EOF { + <-a.s.Done() + } + if err == nil || (err == io.EOF && a.s.Status().Code() == codes.OK) { + onSuccess() + cs.mu.Unlock() + return err + } + if err := cs.retryLocked(err); err != nil { + cs.mu.Unlock() + return err + } + } +} + +func (cs *clientStream) Header() (metadata.MD, error) { + var m metadata.MD + err := cs.withRetry(func(a *csAttempt) error { + var err error + m, err = a.s.Header() + return toRPCErr(err) + }, cs.commitAttemptLocked) + if err != nil { + cs.finish(err) + return nil, err + } + if cs.binlog != nil && !cs.serverHeaderBinlogged { + // Only log if binary log is on and header has not been logged. + logEntry := &binarylog.ServerHeader{ + OnClientSide: true, + Header: m, + PeerAddr: nil, + } + if peer, ok := peer.FromContext(cs.Context()); ok { + logEntry.PeerAddr = peer.Addr + } + cs.binlog.Log(logEntry) + cs.serverHeaderBinlogged = true + } + return m, err +} + +func (cs *clientStream) Trailer() metadata.MD { + // On RPC failure, we never need to retry, because usage requires that + // RecvMsg() returned a non-nil error before calling this function is valid. + // We would have retried earlier if necessary. + // + // Commit the attempt anyway, just in case users are not following those + // directions -- it will prevent races and should not meaningfully impact + // performance. + cs.commitAttempt() + if cs.attempt.s == nil { + return nil + } + return cs.attempt.s.Trailer() +} + +func (cs *clientStream) replayBufferLocked() error { + a := cs.attempt + for _, f := range cs.buffer { + if err := f(a); err != nil { + return err + } + } + return nil +} + +func (cs *clientStream) bufferForRetryLocked(sz int, op func(a *csAttempt) error) { + // Note: we still will buffer if retry is disabled (for transparent retries). + if cs.committed { + return + } + cs.bufferSize += sz + if cs.bufferSize > cs.callInfo.maxRetryRPCBufferSize { + cs.commitAttemptLocked() + return + } + cs.buffer = append(cs.buffer, op) +} + +func (cs *clientStream) SendMsg(m interface{}) (err error) { + defer func() { + if err != nil && err != io.EOF { + // Call finish on the client stream for errors generated by this SendMsg + // call, as these indicate problems created by this client. (Transport + // errors are converted to an io.EOF error in csAttempt.sendMsg; the real + // error will be returned from RecvMsg eventually in that case, or be + // retried.) + cs.finish(err) + } + }() + if cs.sentLast { + return status.Errorf(codes.Internal, "SendMsg called after CloseSend") + } + if !cs.desc.ClientStreams { + cs.sentLast = true + } + + // load hdr, payload, data + hdr, payload, data, err := prepareMsg(m, cs.codec, cs.cp, cs.comp) + if err != nil { + return err + } + + // TODO(dfawley): should we be checking len(data) instead? + if len(payload) > *cs.callInfo.maxSendMessageSize { + return status.Errorf(codes.ResourceExhausted, "trying to send message larger than max (%d vs. %d)", len(payload), *cs.callInfo.maxSendMessageSize) + } + msgBytes := data // Store the pointer before setting to nil. For binary logging. + op := func(a *csAttempt) error { + err := a.sendMsg(m, hdr, payload, data) + // nil out the message and uncomp when replaying; they are only needed for + // stats which is disabled for subsequent attempts. + m, data = nil, nil + return err + } + err = cs.withRetry(op, func() { cs.bufferForRetryLocked(len(hdr)+len(payload), op) }) + if cs.binlog != nil && err == nil { + cs.binlog.Log(&binarylog.ClientMessage{ + OnClientSide: true, + Message: msgBytes, + }) + } + return +} + +func (cs *clientStream) RecvMsg(m interface{}) error { + if cs.binlog != nil && !cs.serverHeaderBinlogged { + // Call Header() to binary log header if it's not already logged. + cs.Header() + } + var recvInfo *payloadInfo + if cs.binlog != nil { + recvInfo = &payloadInfo{} + } + err := cs.withRetry(func(a *csAttempt) error { + return a.recvMsg(m, recvInfo) + }, cs.commitAttemptLocked) + if cs.binlog != nil && err == nil { + cs.binlog.Log(&binarylog.ServerMessage{ + OnClientSide: true, + Message: recvInfo.uncompressedBytes, + }) + } + if err != nil || !cs.desc.ServerStreams { + // err != nil or non-server-streaming indicates end of stream. + cs.finish(err) + + if cs.binlog != nil { + // finish will not log Trailer. Log Trailer here. + logEntry := &binarylog.ServerTrailer{ + OnClientSide: true, + Trailer: cs.Trailer(), + Err: err, + } + if logEntry.Err == io.EOF { + logEntry.Err = nil + } + if peer, ok := peer.FromContext(cs.Context()); ok { + logEntry.PeerAddr = peer.Addr + } + cs.binlog.Log(logEntry) + } + } + return err +} + +func (cs *clientStream) CloseSend() error { + if cs.sentLast { + // TODO: return an error and finish the stream instead, due to API misuse? + return nil + } + cs.sentLast = true + op := func(a *csAttempt) error { + a.t.Write(a.s, nil, nil, &transport.Options{Last: true}) + // Always return nil; io.EOF is the only error that might make sense + // instead, but there is no need to signal the client to call RecvMsg + // as the only use left for the stream after CloseSend is to call + // RecvMsg. This also matches historical behavior. + return nil + } + cs.withRetry(op, func() { cs.bufferForRetryLocked(0, op) }) + if cs.binlog != nil { + cs.binlog.Log(&binarylog.ClientHalfClose{ + OnClientSide: true, + }) + } + // We never returned an error here for reasons. + return nil +} + +func (cs *clientStream) finish(err error) { + if err == io.EOF { + // Ending a stream with EOF indicates a success. + err = nil + } + cs.mu.Lock() + if cs.finished { + cs.mu.Unlock() + return + } + cs.finished = true + cs.commitAttemptLocked() + cs.mu.Unlock() + // For binary logging. only log cancel in finish (could be caused by RPC ctx + // canceled or ClientConn closed). Trailer will be logged in RecvMsg. + // + // Only one of cancel or trailer needs to be logged. In the cases where + // users don't call RecvMsg, users must have already canceled the RPC. + if cs.binlog != nil && status.Code(err) == codes.Canceled { + cs.binlog.Log(&binarylog.Cancel{ + OnClientSide: true, + }) + } + if err == nil { + cs.retryThrottler.successfulRPC() + } + if channelz.IsOn() { + if err != nil { + cs.cc.incrCallsFailed() + } else { + cs.cc.incrCallsSucceeded() + } + } + if cs.attempt != nil { + cs.attempt.finish(err) + // after functions all rely upon having a stream. + if cs.attempt.s != nil { + for _, o := range cs.opts { + o.after(cs.callInfo) + } + } + } + cs.cancel() +} + +func (a *csAttempt) sendMsg(m interface{}, hdr, payld, data []byte) error { + cs := a.cs + if a.trInfo != nil { + a.mu.Lock() + if a.trInfo.tr != nil { + a.trInfo.tr.LazyLog(&payload{sent: true, msg: m}, true) + } + a.mu.Unlock() + } + if err := a.t.Write(a.s, hdr, payld, &transport.Options{Last: !cs.desc.ClientStreams}); err != nil { + if !cs.desc.ClientStreams { + // For non-client-streaming RPCs, we return nil instead of EOF on error + // because the generated code requires it. finish is not called; RecvMsg() + // will call it with the stream's status independently. + return nil + } + return io.EOF + } + if a.statsHandler != nil { + a.statsHandler.HandleRPC(cs.ctx, outPayload(true, m, data, payld, time.Now())) + } + if channelz.IsOn() { + a.t.IncrMsgSent() + } + return nil +} + +func (a *csAttempt) recvMsg(m interface{}, payInfo *payloadInfo) (err error) { + cs := a.cs + if a.statsHandler != nil && payInfo == nil { + payInfo = &payloadInfo{} + } + + if !a.decompSet { + // Block until we receive headers containing received message encoding. + if ct := a.s.RecvCompress(); ct != "" && ct != encoding.Identity { + if a.dc == nil || a.dc.Type() != ct { + // No configured decompressor, or it does not match the incoming + // message encoding; attempt to find a registered compressor that does. + a.dc = nil + a.decomp = encoding.GetCompressor(ct) + } + } else { + // No compression is used; disable our decompressor. + a.dc = nil + } + // Only initialize this state once per stream. + a.decompSet = true + } + err = recv(a.p, cs.codec, a.s, a.dc, m, *cs.callInfo.maxReceiveMessageSize, payInfo, a.decomp) + if err != nil { + if err == io.EOF { + if statusErr := a.s.Status().Err(); statusErr != nil { + return statusErr + } + return io.EOF // indicates successful end of stream. + } + return toRPCErr(err) + } + if a.trInfo != nil { + a.mu.Lock() + if a.trInfo.tr != nil { + a.trInfo.tr.LazyLog(&payload{sent: false, msg: m}, true) + } + a.mu.Unlock() + } + if a.statsHandler != nil { + a.statsHandler.HandleRPC(cs.ctx, &stats.InPayload{ + Client: true, + RecvTime: time.Now(), + Payload: m, + // TODO truncate large payload. + Data: payInfo.uncompressedBytes, + WireLength: payInfo.wireLength, + Length: len(payInfo.uncompressedBytes), + }) + } + if channelz.IsOn() { + a.t.IncrMsgRecv() + } + if cs.desc.ServerStreams { + // Subsequent messages should be received by subsequent RecvMsg calls. + return nil + } + // Special handling for non-server-stream rpcs. + // This recv expects EOF or errors, so we don't collect inPayload. + err = recv(a.p, cs.codec, a.s, a.dc, m, *cs.callInfo.maxReceiveMessageSize, nil, a.decomp) + if err == nil { + return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want ")) + } + if err == io.EOF { + return a.s.Status().Err() // non-server streaming Recv returns nil on success + } + return toRPCErr(err) +} + +func (a *csAttempt) finish(err error) { + a.mu.Lock() + if a.finished { + a.mu.Unlock() + return + } + a.finished = true + if err == io.EOF { + // Ending a stream with EOF indicates a success. + err = nil + } + var tr metadata.MD + if a.s != nil { + a.t.CloseStream(a.s, err) + tr = a.s.Trailer() + } + + if a.done != nil { + br := false + if a.s != nil { + br = a.s.BytesReceived() + } + a.done(balancer.DoneInfo{ + Err: err, + Trailer: tr, + BytesSent: a.s != nil, + BytesReceived: br, + ServerLoad: balancerload.Parse(tr), + }) + } + if a.statsHandler != nil { + end := &stats.End{ + Client: true, + BeginTime: a.cs.beginTime, + EndTime: time.Now(), + Trailer: tr, + Error: err, + } + a.statsHandler.HandleRPC(a.cs.ctx, end) + } + if a.trInfo != nil && a.trInfo.tr != nil { + if err == nil { + a.trInfo.tr.LazyPrintf("RPC: [OK]") + } else { + a.trInfo.tr.LazyPrintf("RPC: [%v]", err) + a.trInfo.tr.SetError() + } + a.trInfo.tr.Finish() + a.trInfo.tr = nil + } + a.mu.Unlock() +} + +// newClientStream creates a ClientStream with the specified transport, on the +// given addrConn. +// +// It's expected that the given transport is either the same one in addrConn, or +// is already closed. To avoid race, transport is specified separately, instead +// of using ac.transpot. +// +// Main difference between this and ClientConn.NewStream: +// - no retry +// - no service config (or wait for service config) +// - no tracing or stats +func newNonRetryClientStream(ctx context.Context, desc *StreamDesc, method string, t transport.ClientTransport, ac *addrConn, opts ...CallOption) (_ ClientStream, err error) { + if t == nil { + // TODO: return RPC error here? + return nil, errors.New("transport provided is nil") + } + // defaultCallInfo contains unnecessary info(i.e. failfast, maxRetryRPCBufferSize), so we just initialize an empty struct. + c := &callInfo{} + + // Possible context leak: + // The cancel function for the child context we create will only be called + // when RecvMsg returns a non-nil error, if the ClientConn is closed, or if + // an error is generated by SendMsg. + // https://github.com/grpc/grpc-go/issues/1818. + ctx, cancel := context.WithCancel(ctx) + defer func() { + if err != nil { + cancel() + } + }() + + for _, o := range opts { + if err := o.before(c); err != nil { + return nil, toRPCErr(err) + } + } + c.maxReceiveMessageSize = getMaxSize(nil, c.maxReceiveMessageSize, defaultClientMaxReceiveMessageSize) + c.maxSendMessageSize = getMaxSize(nil, c.maxSendMessageSize, defaultServerMaxSendMessageSize) + if err := setCallInfoCodec(c); err != nil { + return nil, err + } + + callHdr := &transport.CallHdr{ + Host: ac.cc.authority, + Method: method, + ContentSubtype: c.contentSubtype, + } + + // Set our outgoing compression according to the UseCompressor CallOption, if + // set. In that case, also find the compressor from the encoding package. + // Otherwise, use the compressor configured by the WithCompressor DialOption, + // if set. + var cp Compressor + var comp encoding.Compressor + if ct := c.compressorType; ct != "" { + callHdr.SendCompress = ct + if ct != encoding.Identity { + comp = encoding.GetCompressor(ct) + if comp == nil { + return nil, status.Errorf(codes.Internal, "grpc: Compressor is not installed for requested grpc-encoding %q", ct) + } + } + } else if ac.cc.dopts.cp != nil { + callHdr.SendCompress = ac.cc.dopts.cp.Type() + cp = ac.cc.dopts.cp + } + if c.creds != nil { + callHdr.Creds = c.creds + } + + // Use a special addrConnStream to avoid retry. + as := &addrConnStream{ + callHdr: callHdr, + ac: ac, + ctx: ctx, + cancel: cancel, + opts: opts, + callInfo: c, + desc: desc, + codec: c.codec, + cp: cp, + comp: comp, + t: t, + } + + as.callInfo.stream = as + s, err := as.t.NewStream(as.ctx, as.callHdr) + if err != nil { + err = toRPCErr(err) + return nil, err + } + as.s = s + as.p = &parser{r: s} + ac.incrCallsStarted() + if desc != unaryStreamDesc { + // Listen on cc and stream contexts to cleanup when the user closes the + // ClientConn or cancels the stream context. In all other cases, an error + // should already be injected into the recv buffer by the transport, which + // the client will eventually receive, and then we will cancel the stream's + // context in clientStream.finish. + go func() { + select { + case <-ac.ctx.Done(): + as.finish(status.Error(codes.Canceled, "grpc: the SubConn is closing")) + case <-ctx.Done(): + as.finish(toRPCErr(ctx.Err())) + } + }() + } + return as, nil +} + +type addrConnStream struct { + s *transport.Stream + ac *addrConn + callHdr *transport.CallHdr + cancel context.CancelFunc + opts []CallOption + callInfo *callInfo + t transport.ClientTransport + ctx context.Context + sentLast bool + desc *StreamDesc + codec baseCodec + cp Compressor + comp encoding.Compressor + decompSet bool + dc Decompressor + decomp encoding.Compressor + p *parser + mu sync.Mutex + finished bool +} + +func (as *addrConnStream) Header() (metadata.MD, error) { + m, err := as.s.Header() + if err != nil { + as.finish(toRPCErr(err)) + } + return m, err +} + +func (as *addrConnStream) Trailer() metadata.MD { + return as.s.Trailer() +} + +func (as *addrConnStream) CloseSend() error { + if as.sentLast { + // TODO: return an error and finish the stream instead, due to API misuse? + return nil + } + as.sentLast = true + + as.t.Write(as.s, nil, nil, &transport.Options{Last: true}) + // Always return nil; io.EOF is the only error that might make sense + // instead, but there is no need to signal the client to call RecvMsg + // as the only use left for the stream after CloseSend is to call + // RecvMsg. This also matches historical behavior. + return nil +} + +func (as *addrConnStream) Context() context.Context { + return as.s.Context() +} + +func (as *addrConnStream) SendMsg(m interface{}) (err error) { + defer func() { + if err != nil && err != io.EOF { + // Call finish on the client stream for errors generated by this SendMsg + // call, as these indicate problems created by this client. (Transport + // errors are converted to an io.EOF error in csAttempt.sendMsg; the real + // error will be returned from RecvMsg eventually in that case, or be + // retried.) + as.finish(err) + } + }() + if as.sentLast { + return status.Errorf(codes.Internal, "SendMsg called after CloseSend") + } + if !as.desc.ClientStreams { + as.sentLast = true + } + + // load hdr, payload, data + hdr, payld, _, err := prepareMsg(m, as.codec, as.cp, as.comp) + if err != nil { + return err + } + + // TODO(dfawley): should we be checking len(data) instead? + if len(payld) > *as.callInfo.maxSendMessageSize { + return status.Errorf(codes.ResourceExhausted, "trying to send message larger than max (%d vs. %d)", len(payld), *as.callInfo.maxSendMessageSize) + } + + if err := as.t.Write(as.s, hdr, payld, &transport.Options{Last: !as.desc.ClientStreams}); err != nil { + if !as.desc.ClientStreams { + // For non-client-streaming RPCs, we return nil instead of EOF on error + // because the generated code requires it. finish is not called; RecvMsg() + // will call it with the stream's status independently. + return nil + } + return io.EOF + } + + if channelz.IsOn() { + as.t.IncrMsgSent() + } + return nil +} + +func (as *addrConnStream) RecvMsg(m interface{}) (err error) { + defer func() { + if err != nil || !as.desc.ServerStreams { + // err != nil or non-server-streaming indicates end of stream. + as.finish(err) + } + }() + + if !as.decompSet { + // Block until we receive headers containing received message encoding. + if ct := as.s.RecvCompress(); ct != "" && ct != encoding.Identity { + if as.dc == nil || as.dc.Type() != ct { + // No configured decompressor, or it does not match the incoming + // message encoding; attempt to find a registered compressor that does. + as.dc = nil + as.decomp = encoding.GetCompressor(ct) + } + } else { + // No compression is used; disable our decompressor. + as.dc = nil + } + // Only initialize this state once per stream. + as.decompSet = true + } + err = recv(as.p, as.codec, as.s, as.dc, m, *as.callInfo.maxReceiveMessageSize, nil, as.decomp) + if err != nil { + if err == io.EOF { + if statusErr := as.s.Status().Err(); statusErr != nil { + return statusErr + } + return io.EOF // indicates successful end of stream. + } + return toRPCErr(err) + } + + if channelz.IsOn() { + as.t.IncrMsgRecv() + } + if as.desc.ServerStreams { + // Subsequent messages should be received by subsequent RecvMsg calls. + return nil + } + + // Special handling for non-server-stream rpcs. + // This recv expects EOF or errors, so we don't collect inPayload. + err = recv(as.p, as.codec, as.s, as.dc, m, *as.callInfo.maxReceiveMessageSize, nil, as.decomp) + if err == nil { + return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want ")) + } + if err == io.EOF { + return as.s.Status().Err() // non-server streaming Recv returns nil on success + } + return toRPCErr(err) +} + +func (as *addrConnStream) finish(err error) { + as.mu.Lock() + if as.finished { + as.mu.Unlock() + return + } + as.finished = true + if err == io.EOF { + // Ending a stream with EOF indicates a success. + err = nil + } + if as.s != nil { + as.t.CloseStream(as.s, err) + } + + if err != nil { + as.ac.incrCallsFailed() + } else { + as.ac.incrCallsSucceeded() + } + as.cancel() + as.mu.Unlock() +} + +// ServerStream defines the server-side behavior of a streaming RPC. +// +// All errors returned from ServerStream methods are compatible with the +// status package. +type ServerStream interface { + // SetHeader sets the header metadata. It may be called multiple times. + // When call multiple times, all the provided metadata will be merged. + // All the metadata will be sent out when one of the following happens: + // - ServerStream.SendHeader() is called; + // - The first response is sent out; + // - An RPC status is sent out (error or success). + SetHeader(metadata.MD) error + // SendHeader sends the header metadata. + // The provided md and headers set by SetHeader() will be sent. + // It fails if called multiple times. + SendHeader(metadata.MD) error + // SetTrailer sets the trailer metadata which will be sent with the RPC status. + // When called more than once, all the provided metadata will be merged. + SetTrailer(metadata.MD) + // Context returns the context for this stream. + Context() context.Context + // SendMsg sends a message. On error, SendMsg aborts the stream and the + // error is returned directly. + // + // SendMsg blocks until: + // - There is sufficient flow control to schedule m with the transport, or + // - The stream is done, or + // - The stream breaks. + // + // SendMsg does not wait until the message is received by the client. An + // untimely stream closure may result in lost messages. + // + // It is safe to have a goroutine calling SendMsg and another goroutine + // calling RecvMsg on the same stream at the same time, but it is not safe + // to call SendMsg on the same stream in different goroutines. + SendMsg(m interface{}) error + // RecvMsg blocks until it receives a message into m or the stream is + // done. It returns io.EOF when the client has performed a CloseSend. On + // any non-EOF error, the stream is aborted and the error contains the + // RPC status. + // + // It is safe to have a goroutine calling SendMsg and another goroutine + // calling RecvMsg on the same stream at the same time, but it is not + // safe to call RecvMsg on the same stream in different goroutines. + RecvMsg(m interface{}) error +} + +// serverStream implements a server side Stream. +type serverStream struct { + ctx context.Context + t transport.ServerTransport + s *transport.Stream + p *parser + codec baseCodec + + cp Compressor + dc Decompressor + comp encoding.Compressor + decomp encoding.Compressor + + maxReceiveMessageSize int + maxSendMessageSize int + trInfo *traceInfo + + statsHandler stats.Handler + + binlog *binarylog.MethodLogger + // serverHeaderBinlogged indicates whether server header has been logged. It + // will happen when one of the following two happens: stream.SendHeader(), + // stream.Send(). + // + // It's only checked in send and sendHeader, doesn't need to be + // synchronized. + serverHeaderBinlogged bool + + mu sync.Mutex // protects trInfo.tr after the service handler runs. +} + +func (ss *serverStream) Context() context.Context { + return ss.ctx +} + +func (ss *serverStream) SetHeader(md metadata.MD) error { + if md.Len() == 0 { + return nil + } + return ss.s.SetHeader(md) +} + +func (ss *serverStream) SendHeader(md metadata.MD) error { + err := ss.t.WriteHeader(ss.s, md) + if ss.binlog != nil && !ss.serverHeaderBinlogged { + h, _ := ss.s.Header() + ss.binlog.Log(&binarylog.ServerHeader{ + Header: h, + }) + ss.serverHeaderBinlogged = true + } + return err +} + +func (ss *serverStream) SetTrailer(md metadata.MD) { + if md.Len() == 0 { + return + } + ss.s.SetTrailer(md) +} + +func (ss *serverStream) SendMsg(m interface{}) (err error) { + defer func() { + if ss.trInfo != nil { + ss.mu.Lock() + if ss.trInfo.tr != nil { + if err == nil { + ss.trInfo.tr.LazyLog(&payload{sent: true, msg: m}, true) + } else { + ss.trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + ss.trInfo.tr.SetError() + } + } + ss.mu.Unlock() + } + if err != nil && err != io.EOF { + st, _ := status.FromError(toRPCErr(err)) + ss.t.WriteStatus(ss.s, st) + // Non-user specified status was sent out. This should be an error + // case (as a server side Cancel maybe). + // + // This is not handled specifically now. User will return a final + // status from the service handler, we will log that error instead. + // This behavior is similar to an interceptor. + } + if channelz.IsOn() && err == nil { + ss.t.IncrMsgSent() + } + }() + + // load hdr, payload, data + hdr, payload, data, err := prepareMsg(m, ss.codec, ss.cp, ss.comp) + if err != nil { + return err + } + + // TODO(dfawley): should we be checking len(data) instead? + if len(payload) > ss.maxSendMessageSize { + return status.Errorf(codes.ResourceExhausted, "trying to send message larger than max (%d vs. %d)", len(payload), ss.maxSendMessageSize) + } + if err := ss.t.Write(ss.s, hdr, payload, &transport.Options{Last: false}); err != nil { + return toRPCErr(err) + } + if ss.binlog != nil { + if !ss.serverHeaderBinlogged { + h, _ := ss.s.Header() + ss.binlog.Log(&binarylog.ServerHeader{ + Header: h, + }) + ss.serverHeaderBinlogged = true + } + ss.binlog.Log(&binarylog.ServerMessage{ + Message: data, + }) + } + if ss.statsHandler != nil { + ss.statsHandler.HandleRPC(ss.s.Context(), outPayload(false, m, data, payload, time.Now())) + } + return nil +} + +func (ss *serverStream) RecvMsg(m interface{}) (err error) { + defer func() { + if ss.trInfo != nil { + ss.mu.Lock() + if ss.trInfo.tr != nil { + if err == nil { + ss.trInfo.tr.LazyLog(&payload{sent: false, msg: m}, true) + } else if err != io.EOF { + ss.trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true) + ss.trInfo.tr.SetError() + } + } + ss.mu.Unlock() + } + if err != nil && err != io.EOF { + st, _ := status.FromError(toRPCErr(err)) + ss.t.WriteStatus(ss.s, st) + // Non-user specified status was sent out. This should be an error + // case (as a server side Cancel maybe). + // + // This is not handled specifically now. User will return a final + // status from the service handler, we will log that error instead. + // This behavior is similar to an interceptor. + } + if channelz.IsOn() && err == nil { + ss.t.IncrMsgRecv() + } + }() + var payInfo *payloadInfo + if ss.statsHandler != nil || ss.binlog != nil { + payInfo = &payloadInfo{} + } + if err := recv(ss.p, ss.codec, ss.s, ss.dc, m, ss.maxReceiveMessageSize, payInfo, ss.decomp); err != nil { + if err == io.EOF { + if ss.binlog != nil { + ss.binlog.Log(&binarylog.ClientHalfClose{}) + } + return err + } + if err == io.ErrUnexpectedEOF { + err = status.Errorf(codes.Internal, io.ErrUnexpectedEOF.Error()) + } + return toRPCErr(err) + } + if ss.statsHandler != nil { + ss.statsHandler.HandleRPC(ss.s.Context(), &stats.InPayload{ + RecvTime: time.Now(), + Payload: m, + // TODO truncate large payload. + Data: payInfo.uncompressedBytes, + WireLength: payInfo.wireLength, + Length: len(payInfo.uncompressedBytes), + }) + } + if ss.binlog != nil { + ss.binlog.Log(&binarylog.ClientMessage{ + Message: payInfo.uncompressedBytes, + }) + } + return nil +} + +// MethodFromServerStream returns the method string for the input stream. +// The returned string is in the format of "/service/method". +func MethodFromServerStream(stream ServerStream) (string, bool) { + return Method(stream.Context()) +} + +// prepareMsg returns the hdr, payload and data +// using the compressors passed or using the +// passed preparedmsg +func prepareMsg(m interface{}, codec baseCodec, cp Compressor, comp encoding.Compressor) (hdr, payload, data []byte, err error) { + if preparedMsg, ok := m.(*PreparedMsg); ok { + return preparedMsg.hdr, preparedMsg.payload, preparedMsg.encodedData, nil + } + // The input interface is not a prepared msg. + // Marshal and Compress the data at this point + data, err = encode(codec, m) + if err != nil { + return nil, nil, nil, err + } + compData, err := compress(data, cp, comp) + if err != nil { + return nil, nil, nil, err + } + hdr, payload = msgHeader(data, compData) + return hdr, payload, data, nil +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/tap/tap.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/tap/tap.go new file mode 100644 index 0000000..584360f --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/tap/tap.go @@ -0,0 +1,51 @@ +/* + * + * Copyright 2016 gRPC authors. + * + * 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. + * + */ + +// Package tap defines the function handles which are executed on the transport +// layer of gRPC-Go and related information. Everything here is EXPERIMENTAL. +package tap + +import ( + "context" +) + +// Info defines the relevant information needed by the handles. +type Info struct { + // FullMethodName is the string of grpc method (in the format of + // /package.service/method). + FullMethodName string + // TODO: More to be added. +} + +// ServerInHandle defines the function which runs before a new stream is created +// on the server side. If it returns a non-nil error, the stream will not be +// created and a RST_STREAM will be sent back to the client with REFUSED_STREAM. +// The client will receive an RPC error "code = Unavailable, desc = stream +// terminated by RST_STREAM with error code: REFUSED_STREAM". +// +// It's intended to be used in situations where you don't want to waste the +// resources to accept the new stream (e.g. rate-limiting). And the content of +// the error will be ignored and won't be sent back to the client. For other +// general usages, please use interceptors. +// +// Note that it is executed in the per-connection I/O goroutine(s) instead of +// per-RPC goroutine. Therefore, users should NOT have any +// blocking/time-consuming work in this handle. Otherwise all the RPCs would +// slow down. Also, for the same reason, this handle won't be called +// concurrently by gRPC. +type ServerInHandle func(ctx context.Context, info *Info) (context.Context, error) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/trace.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/trace.go new file mode 100644 index 0000000..0a57b99 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/trace.go @@ -0,0 +1,126 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * 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. + * + */ + +package grpc + +import ( + "bytes" + "fmt" + "io" + "net" + "strings" + "sync" + "time" + + "golang.org/x/net/trace" +) + +// EnableTracing controls whether to trace RPCs using the golang.org/x/net/trace package. +// This should only be set before any RPCs are sent or received by this program. +var EnableTracing bool + +// methodFamily returns the trace family for the given method. +// It turns "/pkg.Service/GetFoo" into "pkg.Service". +func methodFamily(m string) string { + m = strings.TrimPrefix(m, "/") // remove leading slash + if i := strings.Index(m, "/"); i >= 0 { + m = m[:i] // remove everything from second slash + } + if i := strings.LastIndex(m, "."); i >= 0 { + m = m[i+1:] // cut down to last dotted component + } + return m +} + +// traceInfo contains tracing information for an RPC. +type traceInfo struct { + tr trace.Trace + firstLine firstLine +} + +// firstLine is the first line of an RPC trace. +// It may be mutated after construction; remoteAddr specifically may change +// during client-side use. +type firstLine struct { + mu sync.Mutex + client bool // whether this is a client (outgoing) RPC + remoteAddr net.Addr + deadline time.Duration // may be zero +} + +func (f *firstLine) SetRemoteAddr(addr net.Addr) { + f.mu.Lock() + f.remoteAddr = addr + f.mu.Unlock() +} + +func (f *firstLine) String() string { + f.mu.Lock() + defer f.mu.Unlock() + + var line bytes.Buffer + io.WriteString(&line, "RPC: ") + if f.client { + io.WriteString(&line, "to") + } else { + io.WriteString(&line, "from") + } + fmt.Fprintf(&line, " %v deadline:", f.remoteAddr) + if f.deadline != 0 { + fmt.Fprint(&line, f.deadline) + } else { + io.WriteString(&line, "none") + } + return line.String() +} + +const truncateSize = 100 + +func truncate(x string, l int) string { + if l > len(x) { + return x + } + return x[:l] +} + +// payload represents an RPC request or response payload. +type payload struct { + sent bool // whether this is an outgoing payload + msg interface{} // e.g. a proto.Message + // TODO(dsymonds): add stringifying info to codec, and limit how much we hold here? +} + +func (p payload) String() string { + if p.sent { + return truncate(fmt.Sprintf("sent: %v", p.msg), truncateSize) + } + return truncate(fmt.Sprintf("recv: %v", p.msg), truncateSize) +} + +type fmtStringer struct { + format string + a []interface{} +} + +func (f *fmtStringer) String() string { + return fmt.Sprintf(f.format, f.a...) +} + +type stringer string + +func (s stringer) String() string { return string(s) } diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/version.go b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/version.go new file mode 100644 index 0000000..5411a73 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/version.go @@ -0,0 +1,22 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * 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. + * + */ + +package grpc + +// Version is the current grpc version. +const Version = "1.23.0" diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/vet.sh b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/vet.sh new file mode 100644 index 0000000..661e1e1 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/google.golang.org/grpc/vet.sh @@ -0,0 +1,134 @@ +#!/bin/bash + +if [[ `uname -a` = *"Darwin"* ]]; then + echo "It seems you are running on Mac. This script does not work on Mac. See https://github.com/grpc/grpc-go/issues/2047" + exit 1 +fi + +set -ex # Exit on error; debugging enabled. +set -o pipefail # Fail a pipe if any sub-command fails. + +die() { + echo "$@" >&2 + exit 1 +} + +fail_on_output() { + tee /dev/stderr | (! read) +} + +# Check to make sure it's safe to modify the user's git repo. +git status --porcelain | fail_on_output + +# Undo any edits made by this script. +cleanup() { + git reset --hard HEAD +} +trap cleanup EXIT + +PATH="${GOPATH}/bin:${GOROOT}/bin:${PATH}" + +if [[ "$1" = "-install" ]]; then + # Check for module support + if go help mod >& /dev/null; then + go install \ + golang.org/x/lint/golint \ + golang.org/x/tools/cmd/goimports \ + honnef.co/go/tools/cmd/staticcheck \ + github.com/client9/misspell/cmd/misspell \ + github.com/golang/protobuf/protoc-gen-go + else + # Ye olde `go get` incantation. + # Note: this gets the latest version of all tools (vs. the pinned versions + # with Go modules). + go get -u \ + golang.org/x/lint/golint \ + golang.org/x/tools/cmd/goimports \ + honnef.co/go/tools/cmd/staticcheck \ + github.com/client9/misspell/cmd/misspell \ + github.com/golang/protobuf/protoc-gen-go + fi + if [[ -z "${VET_SKIP_PROTO}" ]]; then + if [[ "${TRAVIS}" = "true" ]]; then + PROTOBUF_VERSION=3.3.0 + PROTOC_FILENAME=protoc-${PROTOBUF_VERSION}-linux-x86_64.zip + pushd /home/travis + wget https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/${PROTOC_FILENAME} + unzip ${PROTOC_FILENAME} + bin/protoc --version + popd + elif ! which protoc > /dev/null; then + die "Please install protoc into your path" + fi + fi + exit 0 +elif [[ "$#" -ne 0 ]]; then + die "Unknown argument(s): $*" +fi + +# - Ensure all source files contain a copyright message. +git ls-files "*.go" | xargs grep -L "\(Copyright [0-9]\{4,\} gRPC authors\)\|DO NOT EDIT" 2>&1 | fail_on_output + +# - Make sure all tests in grpc and grpc/test use leakcheck via Teardown. +(! grep 'func Test[^(]' *_test.go) +(! grep 'func Test[^(]' test/*.go) + +# - Do not import math/rand for real library code. Use internal/grpcrand for +# thread safety. +git ls-files "*.go" | xargs grep -l '"math/rand"' 2>&1 | (! grep -v '^examples\|^stress\|grpcrand\|wrr_test') + +# - Ensure all ptypes proto packages are renamed when importing. +git ls-files "*.go" | (! xargs grep "\(import \|^\s*\)\"github.com/golang/protobuf/ptypes/") + +# - Check imports that are illegal in appengine (until Go 1.11). +# TODO: Remove when we drop Go 1.10 support +go list -f {{.Dir}} ./... | xargs go run test/go_vet/vet.go + +# - gofmt, goimports, golint (with exceptions for generated code), go vet. +gofmt -s -d -l . 2>&1 | fail_on_output +goimports -l . 2>&1 | (! grep -vE "(_mock|\.pb)\.go:") | fail_on_output +golint ./... 2>&1 | (! grep -vE "(_mock|\.pb)\.go:") +go vet -all . + +# - Check that generated proto files are up to date. +if [[ -z "${VET_SKIP_PROTO}" ]]; then + PATH="/home/travis/bin:${PATH}" make proto && \ + git status --porcelain 2>&1 | fail_on_output || \ + (git status; git --no-pager diff; exit 1) +fi + +# - Check that our module is tidy. +if go help mod >& /dev/null; then + go mod tidy && \ + git status --porcelain 2>&1 | fail_on_output || \ + (git status; git --no-pager diff; exit 1) +fi + +# - Collection of static analysis checks +# TODO(dfawley): don't use deprecated functions in examples. +staticcheck -go 1.9 -checks 'inherit,-ST1015' -ignore ' +google.golang.org/grpc/balancer.go:SA1019 +google.golang.org/grpc/balancer/grpclb/grpclb_remote_balancer.go:SA1019 +google.golang.org/grpc/balancer/roundrobin/roundrobin_test.go:SA1019 +google.golang.org/grpc/xds/internal/balancer/edsbalancer/balancergroup.go:SA1019 +google.golang.org/grpc/xds/internal/balancer/xds.go:SA1019 +google.golang.org/grpc/xds/internal/balancer/xds_client.go:SA1019 +google.golang.org/grpc/balancer_conn_wrappers.go:SA1019 +google.golang.org/grpc/balancer_test.go:SA1019 +google.golang.org/grpc/benchmark/benchmain/main.go:SA1019 +google.golang.org/grpc/benchmark/worker/benchmark_client.go:SA1019 +google.golang.org/grpc/clientconn.go:S1024 +google.golang.org/grpc/clientconn_state_transition_test.go:SA1019 +google.golang.org/grpc/clientconn_test.go:SA1019 +google.golang.org/grpc/examples/features/debugging/client/main.go:SA1019 +google.golang.org/grpc/examples/features/load_balancing/client/main.go:SA1019 +google.golang.org/grpc/internal/transport/handler_server.go:SA1019 +google.golang.org/grpc/internal/transport/handler_server_test.go:SA1019 +google.golang.org/grpc/resolver/dns/dns_resolver.go:SA1019 +google.golang.org/grpc/stats/stats_test.go:SA1019 +google.golang.org/grpc/test/balancer_test.go:SA1019 +google.golang.org/grpc/test/channelz_test.go:SA1019 +google.golang.org/grpc/test/end2end_test.go:SA1019 +google.golang.org/grpc/test/healthcheck_test.go:SA1019 +' ./... +misspell -error . diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/.travis.yml b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/.travis.yml new file mode 100644 index 0000000..9f55693 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/.travis.yml @@ -0,0 +1,12 @@ +language: go + +go: + - 1.4 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - tip + +go_import_path: gopkg.in/yaml.v2 diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE new file mode 100644 index 0000000..8dada3e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE.libyaml b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE.libyaml new file mode 100644 index 0000000..8da58fb --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/LICENSE.libyaml @@ -0,0 +1,31 @@ +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original copyright and license: + + apic.go + emitterc.go + parserc.go + readerc.go + scannerc.go + writerc.go + yamlh.go + yamlprivateh.go + +Copyright (c) 2006 Kirill Simonov + +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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/NOTICE b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/NOTICE new file mode 100644 index 0000000..866d74a --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/NOTICE @@ -0,0 +1,13 @@ +Copyright 2011-2016 Canonical Ltd. + +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. diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/README.md b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/README.md new file mode 100644 index 0000000..b50c6e8 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/README.md @@ -0,0 +1,133 @@ +# YAML support for the Go language + +Introduction +------------ + +The yaml package enables Go programs to comfortably encode and decode YAML +values. It was developed within [Canonical](https://www.canonical.com) as +part of the [juju](https://juju.ubuntu.com) project, and is based on a +pure Go port of the well-known [libyaml](http://pyyaml.org/wiki/LibYAML) +C library to parse and generate YAML data quickly and reliably. + +Compatibility +------------- + +The yaml package supports most of YAML 1.1 and 1.2, including support for +anchors, tags, map merging, etc. Multi-document unmarshalling is not yet +implemented, and base-60 floats from YAML 1.1 are purposefully not +supported since they're a poor design and are gone in YAML 1.2. + +Installation and usage +---------------------- + +The import path for the package is *gopkg.in/yaml.v2*. + +To install it, run: + + go get gopkg.in/yaml.v2 + +API documentation +----------------- + +If opened in a browser, the import path itself leads to the API documentation: + + * [https://gopkg.in/yaml.v2](https://gopkg.in/yaml.v2) + +API stability +------------- + +The package API for yaml v2 will remain stable as described in [gopkg.in](https://gopkg.in). + + +License +------- + +The yaml package is licensed under the Apache License 2.0. Please see the LICENSE file for details. + + +Example +------- + +```Go +package main + +import ( + "fmt" + "log" + + "gopkg.in/yaml.v2" +) + +var data = ` +a: Easy! +b: + c: 2 + d: [3, 4] +` + +// Note: struct fields must be public in order for unmarshal to +// correctly populate the data. +type T struct { + A string + B struct { + RenamedC int `yaml:"c"` + D []int `yaml:",flow"` + } +} + +func main() { + t := T{} + + err := yaml.Unmarshal([]byte(data), &t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t:\n%v\n\n", t) + + d, err := yaml.Marshal(&t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t dump:\n%s\n\n", string(d)) + + m := make(map[interface{}]interface{}) + + err = yaml.Unmarshal([]byte(data), &m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m:\n%v\n\n", m) + + d, err = yaml.Marshal(&m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m dump:\n%s\n\n", string(d)) +} +``` + +This example will generate the following output: + +``` +--- t: +{Easy! {2 [3 4]}} + +--- t dump: +a: Easy! +b: + c: 2 + d: [3, 4] + + +--- m: +map[a:Easy! b:map[c:2 d:[3 4]]] + +--- m dump: +a: Easy! +b: + c: 2 + d: + - 3 + - 4 +``` + diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/apic.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/apic.go new file mode 100644 index 0000000..1f7e87e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/apic.go @@ -0,0 +1,739 @@ +package yaml + +import ( + "io" +) + +func yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) { + //fmt.Println("yaml_insert_token", "pos:", pos, "typ:", token.typ, "head:", parser.tokens_head, "len:", len(parser.tokens)) + + // Check if we can move the queue at the beginning of the buffer. + if parser.tokens_head > 0 && len(parser.tokens) == cap(parser.tokens) { + if parser.tokens_head != len(parser.tokens) { + copy(parser.tokens, parser.tokens[parser.tokens_head:]) + } + parser.tokens = parser.tokens[:len(parser.tokens)-parser.tokens_head] + parser.tokens_head = 0 + } + parser.tokens = append(parser.tokens, *token) + if pos < 0 { + return + } + copy(parser.tokens[parser.tokens_head+pos+1:], parser.tokens[parser.tokens_head+pos:]) + parser.tokens[parser.tokens_head+pos] = *token +} + +// Create a new parser object. +func yaml_parser_initialize(parser *yaml_parser_t) bool { + *parser = yaml_parser_t{ + raw_buffer: make([]byte, 0, input_raw_buffer_size), + buffer: make([]byte, 0, input_buffer_size), + } + return true +} + +// Destroy a parser object. +func yaml_parser_delete(parser *yaml_parser_t) { + *parser = yaml_parser_t{} +} + +// String read handler. +func yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + if parser.input_pos == len(parser.input) { + return 0, io.EOF + } + n = copy(buffer, parser.input[parser.input_pos:]) + parser.input_pos += n + return n, nil +} + +// Reader read handler. +func yaml_reader_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + return parser.input_reader.Read(buffer) +} + +// Set a string input. +func yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_string_read_handler + parser.input = input + parser.input_pos = 0 +} + +// Set a file input. +func yaml_parser_set_input_reader(parser *yaml_parser_t, r io.Reader) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_reader_read_handler + parser.input_reader = r +} + +// Set the source encoding. +func yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) { + if parser.encoding != yaml_ANY_ENCODING { + panic("must set the encoding only once") + } + parser.encoding = encoding +} + +// Create a new emitter object. +func yaml_emitter_initialize(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{ + buffer: make([]byte, output_buffer_size), + raw_buffer: make([]byte, 0, output_raw_buffer_size), + states: make([]yaml_emitter_state_t, 0, initial_stack_size), + events: make([]yaml_event_t, 0, initial_queue_size), + } +} + +// Destroy an emitter object. +func yaml_emitter_delete(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{} +} + +// String write handler. +func yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + *emitter.output_buffer = append(*emitter.output_buffer, buffer...) + return nil +} + +// yaml_writer_write_handler uses emitter.output_writer to write the +// emitted text. +func yaml_writer_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + _, err := emitter.output_writer.Write(buffer) + return err +} + +// Set a string output. +func yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]byte) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_string_write_handler + emitter.output_buffer = output_buffer +} + +// Set a file output. +func yaml_emitter_set_output_writer(emitter *yaml_emitter_t, w io.Writer) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_writer_write_handler + emitter.output_writer = w +} + +// Set the output encoding. +func yaml_emitter_set_encoding(emitter *yaml_emitter_t, encoding yaml_encoding_t) { + if emitter.encoding != yaml_ANY_ENCODING { + panic("must set the output encoding only once") + } + emitter.encoding = encoding +} + +// Set the canonical output style. +func yaml_emitter_set_canonical(emitter *yaml_emitter_t, canonical bool) { + emitter.canonical = canonical +} + +//// Set the indentation increment. +func yaml_emitter_set_indent(emitter *yaml_emitter_t, indent int) { + if indent < 2 || indent > 9 { + indent = 2 + } + emitter.best_indent = indent +} + +// Set the preferred line width. +func yaml_emitter_set_width(emitter *yaml_emitter_t, width int) { + if width < 0 { + width = -1 + } + emitter.best_width = width +} + +// Set if unescaped non-ASCII characters are allowed. +func yaml_emitter_set_unicode(emitter *yaml_emitter_t, unicode bool) { + emitter.unicode = unicode +} + +// Set the preferred line break character. +func yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) { + emitter.line_break = line_break +} + +///* +// * Destroy a token object. +// */ +// +//YAML_DECLARE(void) +//yaml_token_delete(yaml_token_t *token) +//{ +// assert(token); // Non-NULL token object expected. +// +// switch (token.type) +// { +// case YAML_TAG_DIRECTIVE_TOKEN: +// yaml_free(token.data.tag_directive.handle); +// yaml_free(token.data.tag_directive.prefix); +// break; +// +// case YAML_ALIAS_TOKEN: +// yaml_free(token.data.alias.value); +// break; +// +// case YAML_ANCHOR_TOKEN: +// yaml_free(token.data.anchor.value); +// break; +// +// case YAML_TAG_TOKEN: +// yaml_free(token.data.tag.handle); +// yaml_free(token.data.tag.suffix); +// break; +// +// case YAML_SCALAR_TOKEN: +// yaml_free(token.data.scalar.value); +// break; +// +// default: +// break; +// } +// +// memset(token, 0, sizeof(yaml_token_t)); +//} +// +///* +// * Check if a string is a valid UTF-8 sequence. +// * +// * Check 'reader.c' for more details on UTF-8 encoding. +// */ +// +//static int +//yaml_check_utf8(yaml_char_t *start, size_t length) +//{ +// yaml_char_t *end = start+length; +// yaml_char_t *pointer = start; +// +// while (pointer < end) { +// unsigned char octet; +// unsigned int width; +// unsigned int value; +// size_t k; +// +// octet = pointer[0]; +// width = (octet & 0x80) == 0x00 ? 1 : +// (octet & 0xE0) == 0xC0 ? 2 : +// (octet & 0xF0) == 0xE0 ? 3 : +// (octet & 0xF8) == 0xF0 ? 4 : 0; +// value = (octet & 0x80) == 0x00 ? octet & 0x7F : +// (octet & 0xE0) == 0xC0 ? octet & 0x1F : +// (octet & 0xF0) == 0xE0 ? octet & 0x0F : +// (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; +// if (!width) return 0; +// if (pointer+width > end) return 0; +// for (k = 1; k < width; k ++) { +// octet = pointer[k]; +// if ((octet & 0xC0) != 0x80) return 0; +// value = (value << 6) + (octet & 0x3F); +// } +// if (!((width == 1) || +// (width == 2 && value >= 0x80) || +// (width == 3 && value >= 0x800) || +// (width == 4 && value >= 0x10000))) return 0; +// +// pointer += width; +// } +// +// return 1; +//} +// + +// Create STREAM-START. +func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + encoding: encoding, + } +} + +// Create STREAM-END. +func yaml_stream_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + } +} + +// Create DOCUMENT-START. +func yaml_document_start_event_initialize( + event *yaml_event_t, + version_directive *yaml_version_directive_t, + tag_directives []yaml_tag_directive_t, + implicit bool, +) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: implicit, + } +} + +// Create DOCUMENT-END. +func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + implicit: implicit, + } +} + +///* +// * Create ALIAS. +// */ +// +//YAML_DECLARE(int) +//yaml_alias_event_initialize(event *yaml_event_t, anchor *yaml_char_t) +//{ +// mark yaml_mark_t = { 0, 0, 0 } +// anchor_copy *yaml_char_t = NULL +// +// assert(event) // Non-NULL event object is expected. +// assert(anchor) // Non-NULL anchor is expected. +// +// if (!yaml_check_utf8(anchor, strlen((char *)anchor))) return 0 +// +// anchor_copy = yaml_strdup(anchor) +// if (!anchor_copy) +// return 0 +// +// ALIAS_EVENT_INIT(*event, anchor_copy, mark, mark) +// +// return 1 +//} + +// Create SCALAR. +func yaml_scalar_event_initialize(event *yaml_event_t, anchor, tag, value []byte, plain_implicit, quoted_implicit bool, style yaml_scalar_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + anchor: anchor, + tag: tag, + value: value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-START. +func yaml_sequence_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_sequence_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-END. +func yaml_sequence_end_event_initialize(event *yaml_event_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + } + return true +} + +// Create MAPPING-START. +func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } +} + +// Create MAPPING-END. +func yaml_mapping_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + } +} + +// Destroy an event object. +func yaml_event_delete(event *yaml_event_t) { + *event = yaml_event_t{} +} + +///* +// * Create a document object. +// */ +// +//YAML_DECLARE(int) +//yaml_document_initialize(document *yaml_document_t, +// version_directive *yaml_version_directive_t, +// tag_directives_start *yaml_tag_directive_t, +// tag_directives_end *yaml_tag_directive_t, +// start_implicit int, end_implicit int) +//{ +// struct { +// error yaml_error_type_t +// } context +// struct { +// start *yaml_node_t +// end *yaml_node_t +// top *yaml_node_t +// } nodes = { NULL, NULL, NULL } +// version_directive_copy *yaml_version_directive_t = NULL +// struct { +// start *yaml_tag_directive_t +// end *yaml_tag_directive_t +// top *yaml_tag_directive_t +// } tag_directives_copy = { NULL, NULL, NULL } +// value yaml_tag_directive_t = { NULL, NULL } +// mark yaml_mark_t = { 0, 0, 0 } +// +// assert(document) // Non-NULL document object is expected. +// assert((tag_directives_start && tag_directives_end) || +// (tag_directives_start == tag_directives_end)) +// // Valid tag directives are expected. +// +// if (!STACK_INIT(&context, nodes, INITIAL_STACK_SIZE)) goto error +// +// if (version_directive) { +// version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t)) +// if (!version_directive_copy) goto error +// version_directive_copy.major = version_directive.major +// version_directive_copy.minor = version_directive.minor +// } +// +// if (tag_directives_start != tag_directives_end) { +// tag_directive *yaml_tag_directive_t +// if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE)) +// goto error +// for (tag_directive = tag_directives_start +// tag_directive != tag_directives_end; tag_directive ++) { +// assert(tag_directive.handle) +// assert(tag_directive.prefix) +// if (!yaml_check_utf8(tag_directive.handle, +// strlen((char *)tag_directive.handle))) +// goto error +// if (!yaml_check_utf8(tag_directive.prefix, +// strlen((char *)tag_directive.prefix))) +// goto error +// value.handle = yaml_strdup(tag_directive.handle) +// value.prefix = yaml_strdup(tag_directive.prefix) +// if (!value.handle || !value.prefix) goto error +// if (!PUSH(&context, tag_directives_copy, value)) +// goto error +// value.handle = NULL +// value.prefix = NULL +// } +// } +// +// DOCUMENT_INIT(*document, nodes.start, nodes.end, version_directive_copy, +// tag_directives_copy.start, tag_directives_copy.top, +// start_implicit, end_implicit, mark, mark) +// +// return 1 +// +//error: +// STACK_DEL(&context, nodes) +// yaml_free(version_directive_copy) +// while (!STACK_EMPTY(&context, tag_directives_copy)) { +// value yaml_tag_directive_t = POP(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// } +// STACK_DEL(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// +// return 0 +//} +// +///* +// * Destroy a document object. +// */ +// +//YAML_DECLARE(void) +//yaml_document_delete(document *yaml_document_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// tag_directive *yaml_tag_directive_t +// +// context.error = YAML_NO_ERROR // Eliminate a compiler warning. +// +// assert(document) // Non-NULL document object is expected. +// +// while (!STACK_EMPTY(&context, document.nodes)) { +// node yaml_node_t = POP(&context, document.nodes) +// yaml_free(node.tag) +// switch (node.type) { +// case YAML_SCALAR_NODE: +// yaml_free(node.data.scalar.value) +// break +// case YAML_SEQUENCE_NODE: +// STACK_DEL(&context, node.data.sequence.items) +// break +// case YAML_MAPPING_NODE: +// STACK_DEL(&context, node.data.mapping.pairs) +// break +// default: +// assert(0) // Should not happen. +// } +// } +// STACK_DEL(&context, document.nodes) +// +// yaml_free(document.version_directive) +// for (tag_directive = document.tag_directives.start +// tag_directive != document.tag_directives.end +// tag_directive++) { +// yaml_free(tag_directive.handle) +// yaml_free(tag_directive.prefix) +// } +// yaml_free(document.tag_directives.start) +// +// memset(document, 0, sizeof(yaml_document_t)) +//} +// +///** +// * Get a document node. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_node(document *yaml_document_t, index int) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (index > 0 && document.nodes.start + index <= document.nodes.top) { +// return document.nodes.start + index - 1 +// } +// return NULL +//} +// +///** +// * Get the root object. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_root_node(document *yaml_document_t) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (document.nodes.top != document.nodes.start) { +// return document.nodes.start +// } +// return NULL +//} +// +///* +// * Add a scalar node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_scalar(document *yaml_document_t, +// tag *yaml_char_t, value *yaml_char_t, length int, +// style yaml_scalar_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// value_copy *yaml_char_t = NULL +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// assert(value) // Non-NULL value is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SCALAR_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (length < 0) { +// length = strlen((char *)value) +// } +// +// if (!yaml_check_utf8(value, length)) goto error +// value_copy = yaml_malloc(length+1) +// if (!value_copy) goto error +// memcpy(value_copy, value, length) +// value_copy[length] = '\0' +// +// SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// yaml_free(tag_copy) +// yaml_free(value_copy) +// +// return 0 +//} +// +///* +// * Add a sequence node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_sequence(document *yaml_document_t, +// tag *yaml_char_t, style yaml_sequence_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_item_t +// end *yaml_node_item_t +// top *yaml_node_item_t +// } items = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, items, INITIAL_STACK_SIZE)) goto error +// +// SEQUENCE_NODE_INIT(node, tag_copy, items.start, items.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, items) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Add a mapping node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_mapping(document *yaml_document_t, +// tag *yaml_char_t, style yaml_mapping_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_pair_t +// end *yaml_node_pair_t +// top *yaml_node_pair_t +// } pairs = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_MAPPING_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, pairs, INITIAL_STACK_SIZE)) goto error +// +// MAPPING_NODE_INIT(node, tag_copy, pairs.start, pairs.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, pairs) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Append an item to a sequence node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_sequence_item(document *yaml_document_t, +// sequence int, item int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// assert(document) // Non-NULL document is required. +// assert(sequence > 0 +// && document.nodes.start + sequence <= document.nodes.top) +// // Valid sequence id is required. +// assert(document.nodes.start[sequence-1].type == YAML_SEQUENCE_NODE) +// // A sequence node is required. +// assert(item > 0 && document.nodes.start + item <= document.nodes.top) +// // Valid item id is required. +// +// if (!PUSH(&context, +// document.nodes.start[sequence-1].data.sequence.items, item)) +// return 0 +// +// return 1 +//} +// +///* +// * Append a pair of a key and a value to a mapping node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_mapping_pair(document *yaml_document_t, +// mapping int, key int, value int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// pair yaml_node_pair_t +// +// assert(document) // Non-NULL document is required. +// assert(mapping > 0 +// && document.nodes.start + mapping <= document.nodes.top) +// // Valid mapping id is required. +// assert(document.nodes.start[mapping-1].type == YAML_MAPPING_NODE) +// // A mapping node is required. +// assert(key > 0 && document.nodes.start + key <= document.nodes.top) +// // Valid key id is required. +// assert(value > 0 && document.nodes.start + value <= document.nodes.top) +// // Valid value id is required. +// +// pair.key = key +// pair.value = value +// +// if (!PUSH(&context, +// document.nodes.start[mapping-1].data.mapping.pairs, pair)) +// return 0 +// +// return 1 +//} +// +// diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/decode.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/decode.go new file mode 100644 index 0000000..e4e56e2 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/decode.go @@ -0,0 +1,775 @@ +package yaml + +import ( + "encoding" + "encoding/base64" + "fmt" + "io" + "math" + "reflect" + "strconv" + "time" +) + +const ( + documentNode = 1 << iota + mappingNode + sequenceNode + scalarNode + aliasNode +) + +type node struct { + kind int + line, column int + tag string + // For an alias node, alias holds the resolved alias. + alias *node + value string + implicit bool + children []*node + anchors map[string]*node +} + +// ---------------------------------------------------------------------------- +// Parser, produces a node tree out of a libyaml event stream. + +type parser struct { + parser yaml_parser_t + event yaml_event_t + doc *node + doneInit bool +} + +func newParser(b []byte) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + if len(b) == 0 { + b = []byte{'\n'} + } + yaml_parser_set_input_string(&p.parser, b) + return &p +} + +func newParserFromReader(r io.Reader) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + yaml_parser_set_input_reader(&p.parser, r) + return &p +} + +func (p *parser) init() { + if p.doneInit { + return + } + p.expect(yaml_STREAM_START_EVENT) + p.doneInit = true +} + +func (p *parser) destroy() { + if p.event.typ != yaml_NO_EVENT { + yaml_event_delete(&p.event) + } + yaml_parser_delete(&p.parser) +} + +// expect consumes an event from the event stream and +// checks that it's of the expected type. +func (p *parser) expect(e yaml_event_type_t) { + if p.event.typ == yaml_NO_EVENT { + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + } + if p.event.typ == yaml_STREAM_END_EVENT { + failf("attempted to go past the end of stream; corrupted value?") + } + if p.event.typ != e { + p.parser.problem = fmt.Sprintf("expected %s event but got %s", e, p.event.typ) + p.fail() + } + yaml_event_delete(&p.event) + p.event.typ = yaml_NO_EVENT +} + +// peek peeks at the next event in the event stream, +// puts the results into p.event and returns the event type. +func (p *parser) peek() yaml_event_type_t { + if p.event.typ != yaml_NO_EVENT { + return p.event.typ + } + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + return p.event.typ +} + +func (p *parser) fail() { + var where string + var line int + if p.parser.problem_mark.line != 0 { + line = p.parser.problem_mark.line + // Scanner errors don't iterate line before returning error + if p.parser.error == yaml_SCANNER_ERROR { + line++ + } + } else if p.parser.context_mark.line != 0 { + line = p.parser.context_mark.line + } + if line != 0 { + where = "line " + strconv.Itoa(line) + ": " + } + var msg string + if len(p.parser.problem) > 0 { + msg = p.parser.problem + } else { + msg = "unknown problem parsing YAML content" + } + failf("%s%s", where, msg) +} + +func (p *parser) anchor(n *node, anchor []byte) { + if anchor != nil { + p.doc.anchors[string(anchor)] = n + } +} + +func (p *parser) parse() *node { + p.init() + switch p.peek() { + case yaml_SCALAR_EVENT: + return p.scalar() + case yaml_ALIAS_EVENT: + return p.alias() + case yaml_MAPPING_START_EVENT: + return p.mapping() + case yaml_SEQUENCE_START_EVENT: + return p.sequence() + case yaml_DOCUMENT_START_EVENT: + return p.document() + case yaml_STREAM_END_EVENT: + // Happens when attempting to decode an empty buffer. + return nil + default: + panic("attempted to parse unknown event: " + p.event.typ.String()) + } +} + +func (p *parser) node(kind int) *node { + return &node{ + kind: kind, + line: p.event.start_mark.line, + column: p.event.start_mark.column, + } +} + +func (p *parser) document() *node { + n := p.node(documentNode) + n.anchors = make(map[string]*node) + p.doc = n + p.expect(yaml_DOCUMENT_START_EVENT) + n.children = append(n.children, p.parse()) + p.expect(yaml_DOCUMENT_END_EVENT) + return n +} + +func (p *parser) alias() *node { + n := p.node(aliasNode) + n.value = string(p.event.anchor) + n.alias = p.doc.anchors[n.value] + if n.alias == nil { + failf("unknown anchor '%s' referenced", n.value) + } + p.expect(yaml_ALIAS_EVENT) + return n +} + +func (p *parser) scalar() *node { + n := p.node(scalarNode) + n.value = string(p.event.value) + n.tag = string(p.event.tag) + n.implicit = p.event.implicit + p.anchor(n, p.event.anchor) + p.expect(yaml_SCALAR_EVENT) + return n +} + +func (p *parser) sequence() *node { + n := p.node(sequenceNode) + p.anchor(n, p.event.anchor) + p.expect(yaml_SEQUENCE_START_EVENT) + for p.peek() != yaml_SEQUENCE_END_EVENT { + n.children = append(n.children, p.parse()) + } + p.expect(yaml_SEQUENCE_END_EVENT) + return n +} + +func (p *parser) mapping() *node { + n := p.node(mappingNode) + p.anchor(n, p.event.anchor) + p.expect(yaml_MAPPING_START_EVENT) + for p.peek() != yaml_MAPPING_END_EVENT { + n.children = append(n.children, p.parse(), p.parse()) + } + p.expect(yaml_MAPPING_END_EVENT) + return n +} + +// ---------------------------------------------------------------------------- +// Decoder, unmarshals a node into a provided value. + +type decoder struct { + doc *node + aliases map[*node]bool + mapType reflect.Type + terrors []string + strict bool +} + +var ( + mapItemType = reflect.TypeOf(MapItem{}) + durationType = reflect.TypeOf(time.Duration(0)) + defaultMapType = reflect.TypeOf(map[interface{}]interface{}{}) + ifaceType = defaultMapType.Elem() + timeType = reflect.TypeOf(time.Time{}) + ptrTimeType = reflect.TypeOf(&time.Time{}) +) + +func newDecoder(strict bool) *decoder { + d := &decoder{mapType: defaultMapType, strict: strict} + d.aliases = make(map[*node]bool) + return d +} + +func (d *decoder) terror(n *node, tag string, out reflect.Value) { + if n.tag != "" { + tag = n.tag + } + value := n.value + if tag != yaml_SEQ_TAG && tag != yaml_MAP_TAG { + if len(value) > 10 { + value = " `" + value[:7] + "...`" + } else { + value = " `" + value + "`" + } + } + d.terrors = append(d.terrors, fmt.Sprintf("line %d: cannot unmarshal %s%s into %s", n.line+1, shortTag(tag), value, out.Type())) +} + +func (d *decoder) callUnmarshaler(n *node, u Unmarshaler) (good bool) { + terrlen := len(d.terrors) + err := u.UnmarshalYAML(func(v interface{}) (err error) { + defer handleErr(&err) + d.unmarshal(n, reflect.ValueOf(v)) + if len(d.terrors) > terrlen { + issues := d.terrors[terrlen:] + d.terrors = d.terrors[:terrlen] + return &TypeError{issues} + } + return nil + }) + if e, ok := err.(*TypeError); ok { + d.terrors = append(d.terrors, e.Errors...) + return false + } + if err != nil { + fail(err) + } + return true +} + +// d.prepare initializes and dereferences pointers and calls UnmarshalYAML +// if a value is found to implement it. +// It returns the initialized and dereferenced out value, whether +// unmarshalling was already done by UnmarshalYAML, and if so whether +// its types unmarshalled appropriately. +// +// If n holds a null value, prepare returns before doing anything. +func (d *decoder) prepare(n *node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) { + if n.tag == yaml_NULL_TAG || n.kind == scalarNode && n.tag == "" && (n.value == "null" || n.value == "~" || n.value == "" && n.implicit) { + return out, false, false + } + again := true + for again { + again = false + if out.Kind() == reflect.Ptr { + if out.IsNil() { + out.Set(reflect.New(out.Type().Elem())) + } + out = out.Elem() + again = true + } + if out.CanAddr() { + if u, ok := out.Addr().Interface().(Unmarshaler); ok { + good = d.callUnmarshaler(n, u) + return out, true, good + } + } + } + return out, false, false +} + +func (d *decoder) unmarshal(n *node, out reflect.Value) (good bool) { + switch n.kind { + case documentNode: + return d.document(n, out) + case aliasNode: + return d.alias(n, out) + } + out, unmarshaled, good := d.prepare(n, out) + if unmarshaled { + return good + } + switch n.kind { + case scalarNode: + good = d.scalar(n, out) + case mappingNode: + good = d.mapping(n, out) + case sequenceNode: + good = d.sequence(n, out) + default: + panic("internal error: unknown node kind: " + strconv.Itoa(n.kind)) + } + return good +} + +func (d *decoder) document(n *node, out reflect.Value) (good bool) { + if len(n.children) == 1 { + d.doc = n + d.unmarshal(n.children[0], out) + return true + } + return false +} + +func (d *decoder) alias(n *node, out reflect.Value) (good bool) { + if d.aliases[n] { + // TODO this could actually be allowed in some circumstances. + failf("anchor '%s' value contains itself", n.value) + } + d.aliases[n] = true + good = d.unmarshal(n.alias, out) + delete(d.aliases, n) + return good +} + +var zeroValue reflect.Value + +func resetMap(out reflect.Value) { + for _, k := range out.MapKeys() { + out.SetMapIndex(k, zeroValue) + } +} + +func (d *decoder) scalar(n *node, out reflect.Value) bool { + var tag string + var resolved interface{} + if n.tag == "" && !n.implicit { + tag = yaml_STR_TAG + resolved = n.value + } else { + tag, resolved = resolve(n.tag, n.value) + if tag == yaml_BINARY_TAG { + data, err := base64.StdEncoding.DecodeString(resolved.(string)) + if err != nil { + failf("!!binary value contains invalid base64 data") + } + resolved = string(data) + } + } + if resolved == nil { + if out.Kind() == reflect.Map && !out.CanAddr() { + resetMap(out) + } else { + out.Set(reflect.Zero(out.Type())) + } + return true + } + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + // We've resolved to exactly the type we want, so use that. + out.Set(resolvedv) + return true + } + // Perhaps we can use the value as a TextUnmarshaler to + // set its value. + if out.CanAddr() { + u, ok := out.Addr().Interface().(encoding.TextUnmarshaler) + if ok { + var text []byte + if tag == yaml_BINARY_TAG { + text = []byte(resolved.(string)) + } else { + // We let any value be unmarshaled into TextUnmarshaler. + // That might be more lax than we'd like, but the + // TextUnmarshaler itself should bowl out any dubious values. + text = []byte(n.value) + } + err := u.UnmarshalText(text) + if err != nil { + fail(err) + } + return true + } + } + switch out.Kind() { + case reflect.String: + if tag == yaml_BINARY_TAG { + out.SetString(resolved.(string)) + return true + } + if resolved != nil { + out.SetString(n.value) + return true + } + case reflect.Interface: + if resolved == nil { + out.Set(reflect.Zero(out.Type())) + } else if tag == yaml_TIMESTAMP_TAG { + // It looks like a timestamp but for backward compatibility + // reasons we set it as a string, so that code that unmarshals + // timestamp-like values into interface{} will continue to + // see a string and not a time.Time. + // TODO(v3) Drop this. + out.Set(reflect.ValueOf(n.value)) + } else { + out.Set(reflect.ValueOf(resolved)) + } + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + switch resolved := resolved.(type) { + case int: + if !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case int64: + if !out.OverflowInt(resolved) { + out.SetInt(resolved) + return true + } + case uint64: + if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case float64: + if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case string: + if out.Type() == durationType { + d, err := time.ParseDuration(resolved) + if err == nil { + out.SetInt(int64(d)) + return true + } + } + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + switch resolved := resolved.(type) { + case int: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case int64: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case uint64: + if !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case float64: + if resolved <= math.MaxUint64 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + } + case reflect.Bool: + switch resolved := resolved.(type) { + case bool: + out.SetBool(resolved) + return true + } + case reflect.Float32, reflect.Float64: + switch resolved := resolved.(type) { + case int: + out.SetFloat(float64(resolved)) + return true + case int64: + out.SetFloat(float64(resolved)) + return true + case uint64: + out.SetFloat(float64(resolved)) + return true + case float64: + out.SetFloat(resolved) + return true + } + case reflect.Struct: + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + out.Set(resolvedv) + return true + } + case reflect.Ptr: + if out.Type().Elem() == reflect.TypeOf(resolved) { + // TODO DOes this make sense? When is out a Ptr except when decoding a nil value? + elem := reflect.New(out.Type().Elem()) + elem.Elem().Set(reflect.ValueOf(resolved)) + out.Set(elem) + return true + } + } + d.terror(n, tag, out) + return false +} + +func settableValueOf(i interface{}) reflect.Value { + v := reflect.ValueOf(i) + sv := reflect.New(v.Type()).Elem() + sv.Set(v) + return sv +} + +func (d *decoder) sequence(n *node, out reflect.Value) (good bool) { + l := len(n.children) + + var iface reflect.Value + switch out.Kind() { + case reflect.Slice: + out.Set(reflect.MakeSlice(out.Type(), l, l)) + case reflect.Array: + if l != out.Len() { + failf("invalid array: want %d elements but got %d", out.Len(), l) + } + case reflect.Interface: + // No type hints. Will have to use a generic sequence. + iface = out + out = settableValueOf(make([]interface{}, l)) + default: + d.terror(n, yaml_SEQ_TAG, out) + return false + } + et := out.Type().Elem() + + j := 0 + for i := 0; i < l; i++ { + e := reflect.New(et).Elem() + if ok := d.unmarshal(n.children[i], e); ok { + out.Index(j).Set(e) + j++ + } + } + if out.Kind() != reflect.Array { + out.Set(out.Slice(0, j)) + } + if iface.IsValid() { + iface.Set(out) + } + return true +} + +func (d *decoder) mapping(n *node, out reflect.Value) (good bool) { + switch out.Kind() { + case reflect.Struct: + return d.mappingStruct(n, out) + case reflect.Slice: + return d.mappingSlice(n, out) + case reflect.Map: + // okay + case reflect.Interface: + if d.mapType.Kind() == reflect.Map { + iface := out + out = reflect.MakeMap(d.mapType) + iface.Set(out) + } else { + slicev := reflect.New(d.mapType).Elem() + if !d.mappingSlice(n, slicev) { + return false + } + out.Set(slicev) + return true + } + default: + d.terror(n, yaml_MAP_TAG, out) + return false + } + outt := out.Type() + kt := outt.Key() + et := outt.Elem() + + mapType := d.mapType + if outt.Key() == ifaceType && outt.Elem() == ifaceType { + d.mapType = outt + } + + if out.IsNil() { + out.Set(reflect.MakeMap(outt)) + } + l := len(n.children) + for i := 0; i < l; i += 2 { + if isMerge(n.children[i]) { + d.merge(n.children[i+1], out) + continue + } + k := reflect.New(kt).Elem() + if d.unmarshal(n.children[i], k) { + kkind := k.Kind() + if kkind == reflect.Interface { + kkind = k.Elem().Kind() + } + if kkind == reflect.Map || kkind == reflect.Slice { + failf("invalid map key: %#v", k.Interface()) + } + e := reflect.New(et).Elem() + if d.unmarshal(n.children[i+1], e) { + d.setMapIndex(n.children[i+1], out, k, e) + } + } + } + d.mapType = mapType + return true +} + +func (d *decoder) setMapIndex(n *node, out, k, v reflect.Value) { + if d.strict && out.MapIndex(k) != zeroValue { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: key %#v already set in map", n.line+1, k.Interface())) + return + } + out.SetMapIndex(k, v) +} + +func (d *decoder) mappingSlice(n *node, out reflect.Value) (good bool) { + outt := out.Type() + if outt.Elem() != mapItemType { + d.terror(n, yaml_MAP_TAG, out) + return false + } + + mapType := d.mapType + d.mapType = outt + + var slice []MapItem + var l = len(n.children) + for i := 0; i < l; i += 2 { + if isMerge(n.children[i]) { + d.merge(n.children[i+1], out) + continue + } + item := MapItem{} + k := reflect.ValueOf(&item.Key).Elem() + if d.unmarshal(n.children[i], k) { + v := reflect.ValueOf(&item.Value).Elem() + if d.unmarshal(n.children[i+1], v) { + slice = append(slice, item) + } + } + } + out.Set(reflect.ValueOf(slice)) + d.mapType = mapType + return true +} + +func (d *decoder) mappingStruct(n *node, out reflect.Value) (good bool) { + sinfo, err := getStructInfo(out.Type()) + if err != nil { + panic(err) + } + name := settableValueOf("") + l := len(n.children) + + var inlineMap reflect.Value + var elemType reflect.Type + if sinfo.InlineMap != -1 { + inlineMap = out.Field(sinfo.InlineMap) + inlineMap.Set(reflect.New(inlineMap.Type()).Elem()) + elemType = inlineMap.Type().Elem() + } + + var doneFields []bool + if d.strict { + doneFields = make([]bool, len(sinfo.FieldsList)) + } + for i := 0; i < l; i += 2 { + ni := n.children[i] + if isMerge(ni) { + d.merge(n.children[i+1], out) + continue + } + if !d.unmarshal(ni, name) { + continue + } + if info, ok := sinfo.FieldsMap[name.String()]; ok { + if d.strict { + if doneFields[info.Id] { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s already set in type %s", ni.line+1, name.String(), out.Type())) + continue + } + doneFields[info.Id] = true + } + var field reflect.Value + if info.Inline == nil { + field = out.Field(info.Num) + } else { + field = out.FieldByIndex(info.Inline) + } + d.unmarshal(n.children[i+1], field) + } else if sinfo.InlineMap != -1 { + if inlineMap.IsNil() { + inlineMap.Set(reflect.MakeMap(inlineMap.Type())) + } + value := reflect.New(elemType).Elem() + d.unmarshal(n.children[i+1], value) + d.setMapIndex(n.children[i+1], inlineMap, name, value) + } else if d.strict { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s not found in type %s", ni.line+1, name.String(), out.Type())) + } + } + return true +} + +func failWantMap() { + failf("map merge requires map or sequence of maps as the value") +} + +func (d *decoder) merge(n *node, out reflect.Value) { + switch n.kind { + case mappingNode: + d.unmarshal(n, out) + case aliasNode: + an, ok := d.doc.anchors[n.value] + if ok && an.kind != mappingNode { + failWantMap() + } + d.unmarshal(n, out) + case sequenceNode: + // Step backwards as earlier nodes take precedence. + for i := len(n.children) - 1; i >= 0; i-- { + ni := n.children[i] + if ni.kind == aliasNode { + an, ok := d.doc.anchors[ni.value] + if ok && an.kind != mappingNode { + failWantMap() + } + } else if ni.kind != mappingNode { + failWantMap() + } + d.unmarshal(ni, out) + } + default: + failWantMap() + } +} + +func isMerge(n *node) bool { + return n.kind == scalarNode && n.value == "<<" && (n.implicit == true || n.tag == yaml_MERGE_TAG) +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/emitterc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/emitterc.go new file mode 100644 index 0000000..a1c2cc5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/emitterc.go @@ -0,0 +1,1685 @@ +package yaml + +import ( + "bytes" + "fmt" +) + +// Flush the buffer if needed. +func flush(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) { + return yaml_emitter_flush(emitter) + } + return true +} + +// Put a character to the output buffer. +func put(emitter *yaml_emitter_t, value byte) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + emitter.buffer[emitter.buffer_pos] = value + emitter.buffer_pos++ + emitter.column++ + return true +} + +// Put a line break to the output buffer. +func put_break(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + switch emitter.line_break { + case yaml_CR_BREAK: + emitter.buffer[emitter.buffer_pos] = '\r' + emitter.buffer_pos += 1 + case yaml_LN_BREAK: + emitter.buffer[emitter.buffer_pos] = '\n' + emitter.buffer_pos += 1 + case yaml_CRLN_BREAK: + emitter.buffer[emitter.buffer_pos+0] = '\r' + emitter.buffer[emitter.buffer_pos+1] = '\n' + emitter.buffer_pos += 2 + default: + panic("unknown line break setting") + } + emitter.column = 0 + emitter.line++ + return true +} + +// Copy a character from a string into buffer. +func write(emitter *yaml_emitter_t, s []byte, i *int) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + p := emitter.buffer_pos + w := width(s[*i]) + switch w { + case 4: + emitter.buffer[p+3] = s[*i+3] + fallthrough + case 3: + emitter.buffer[p+2] = s[*i+2] + fallthrough + case 2: + emitter.buffer[p+1] = s[*i+1] + fallthrough + case 1: + emitter.buffer[p+0] = s[*i+0] + default: + panic("unknown character width") + } + emitter.column++ + emitter.buffer_pos += w + *i += w + return true +} + +// Write a whole string into buffer. +func write_all(emitter *yaml_emitter_t, s []byte) bool { + for i := 0; i < len(s); { + if !write(emitter, s, &i) { + return false + } + } + return true +} + +// Copy a line break character from a string into buffer. +func write_break(emitter *yaml_emitter_t, s []byte, i *int) bool { + if s[*i] == '\n' { + if !put_break(emitter) { + return false + } + *i++ + } else { + if !write(emitter, s, i) { + return false + } + emitter.column = 0 + emitter.line++ + } + return true +} + +// Set an emitter error and return false. +func yaml_emitter_set_emitter_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_EMITTER_ERROR + emitter.problem = problem + return false +} + +// Emit an event. +func yaml_emitter_emit(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.events = append(emitter.events, *event) + for !yaml_emitter_need_more_events(emitter) { + event := &emitter.events[emitter.events_head] + if !yaml_emitter_analyze_event(emitter, event) { + return false + } + if !yaml_emitter_state_machine(emitter, event) { + return false + } + yaml_event_delete(event) + emitter.events_head++ + } + return true +} + +// Check if we need to accumulate more events before emitting. +// +// We accumulate extra +// - 1 event for DOCUMENT-START +// - 2 events for SEQUENCE-START +// - 3 events for MAPPING-START +// +func yaml_emitter_need_more_events(emitter *yaml_emitter_t) bool { + if emitter.events_head == len(emitter.events) { + return true + } + var accumulate int + switch emitter.events[emitter.events_head].typ { + case yaml_DOCUMENT_START_EVENT: + accumulate = 1 + break + case yaml_SEQUENCE_START_EVENT: + accumulate = 2 + break + case yaml_MAPPING_START_EVENT: + accumulate = 3 + break + default: + return false + } + if len(emitter.events)-emitter.events_head > accumulate { + return false + } + var level int + for i := emitter.events_head; i < len(emitter.events); i++ { + switch emitter.events[i].typ { + case yaml_STREAM_START_EVENT, yaml_DOCUMENT_START_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT: + level++ + case yaml_STREAM_END_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_END_EVENT, yaml_MAPPING_END_EVENT: + level-- + } + if level == 0 { + return false + } + } + return true +} + +// Append a directive to the directives stack. +func yaml_emitter_append_tag_directive(emitter *yaml_emitter_t, value *yaml_tag_directive_t, allow_duplicates bool) bool { + for i := 0; i < len(emitter.tag_directives); i++ { + if bytes.Equal(value.handle, emitter.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_emitter_set_emitter_error(emitter, "duplicate %TAG directive") + } + } + + // [Go] Do we actually need to copy this given garbage collection + // and the lack of deallocating destructors? + tag_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(tag_copy.handle, value.handle) + copy(tag_copy.prefix, value.prefix) + emitter.tag_directives = append(emitter.tag_directives, tag_copy) + return true +} + +// Increase the indentation level. +func yaml_emitter_increase_indent(emitter *yaml_emitter_t, flow, indentless bool) bool { + emitter.indents = append(emitter.indents, emitter.indent) + if emitter.indent < 0 { + if flow { + emitter.indent = emitter.best_indent + } else { + emitter.indent = 0 + } + } else if !indentless { + emitter.indent += emitter.best_indent + } + return true +} + +// State dispatcher. +func yaml_emitter_state_machine(emitter *yaml_emitter_t, event *yaml_event_t) bool { + switch emitter.state { + default: + case yaml_EMIT_STREAM_START_STATE: + return yaml_emitter_emit_stream_start(emitter, event) + + case yaml_EMIT_FIRST_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, true) + + case yaml_EMIT_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, false) + + case yaml_EMIT_DOCUMENT_CONTENT_STATE: + return yaml_emitter_emit_document_content(emitter, event) + + case yaml_EMIT_DOCUMENT_END_STATE: + return yaml_emitter_emit_document_end(emitter, event) + + case yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, true) + + case yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, false) + + case yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, false) + + case yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, false) + + case yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, true) + + case yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, false) + + case yaml_EMIT_END_STATE: + return yaml_emitter_set_emitter_error(emitter, "expected nothing after STREAM-END") + } + panic("invalid emitter state") +} + +// Expect STREAM-START. +func yaml_emitter_emit_stream_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_STREAM_START_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected STREAM-START") + } + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = event.encoding + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = yaml_UTF8_ENCODING + } + } + if emitter.best_indent < 2 || emitter.best_indent > 9 { + emitter.best_indent = 2 + } + if emitter.best_width >= 0 && emitter.best_width <= emitter.best_indent*2 { + emitter.best_width = 80 + } + if emitter.best_width < 0 { + emitter.best_width = 1<<31 - 1 + } + if emitter.line_break == yaml_ANY_BREAK { + emitter.line_break = yaml_LN_BREAK + } + + emitter.indent = -1 + emitter.line = 0 + emitter.column = 0 + emitter.whitespace = true + emitter.indention = true + + if emitter.encoding != yaml_UTF8_ENCODING { + if !yaml_emitter_write_bom(emitter) { + return false + } + } + emitter.state = yaml_EMIT_FIRST_DOCUMENT_START_STATE + return true +} + +// Expect DOCUMENT-START or STREAM-END. +func yaml_emitter_emit_document_start(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + + if event.typ == yaml_DOCUMENT_START_EVENT { + + if event.version_directive != nil { + if !yaml_emitter_analyze_version_directive(emitter, event.version_directive) { + return false + } + } + + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_analyze_tag_directive(emitter, tag_directive) { + return false + } + if !yaml_emitter_append_tag_directive(emitter, tag_directive, false) { + return false + } + } + + for i := 0; i < len(default_tag_directives); i++ { + tag_directive := &default_tag_directives[i] + if !yaml_emitter_append_tag_directive(emitter, tag_directive, true) { + return false + } + } + + implicit := event.implicit + if !first || emitter.canonical { + implicit = false + } + + if emitter.open_ended && (event.version_directive != nil || len(event.tag_directives) > 0) { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if event.version_directive != nil { + implicit = false + if !yaml_emitter_write_indicator(emitter, []byte("%YAML"), true, false, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("1.1"), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if len(event.tag_directives) > 0 { + implicit = false + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_write_indicator(emitter, []byte("%TAG"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_handle(emitter, tag_directive.handle) { + return false + } + if !yaml_emitter_write_tag_content(emitter, tag_directive.prefix, true) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + if yaml_emitter_check_empty_document(emitter) { + implicit = false + } + if !implicit { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("---"), true, false, false) { + return false + } + if emitter.canonical { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + emitter.state = yaml_EMIT_DOCUMENT_CONTENT_STATE + return true + } + + if event.typ == yaml_STREAM_END_EVENT { + if emitter.open_ended { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_END_STATE + return true + } + + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-START or STREAM-END") +} + +// Expect the root node. +func yaml_emitter_emit_document_content(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.states = append(emitter.states, yaml_EMIT_DOCUMENT_END_STATE) + return yaml_emitter_emit_node(emitter, event, true, false, false, false) +} + +// Expect DOCUMENT-END. +func yaml_emitter_emit_document_end(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_DOCUMENT_END_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-END") + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !event.implicit { + // [Go] Allocate the slice elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_DOCUMENT_START_STATE + emitter.tag_directives = emitter.tag_directives[:0] + return true +} + +// Expect a flow item node. +func yaml_emitter_emit_flow_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'['}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{']'}, false, false, false) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + + return true + } + + if !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE) + return yaml_emitter_emit_node(emitter, event, false, true, false, false) +} + +// Expect a flow key node. +func yaml_emitter_emit_flow_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'{'}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_MAPPING_END_EVENT { + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'}'}, false, false, false) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + + if !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if !emitter.canonical && yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, false) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a flow value node. +func yaml_emitter_emit_flow_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, false) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_KEY_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block item node. +func yaml_emitter_emit_block_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, emitter.mapping_context && !emitter.indention) { + return false + } + } + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'-'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE) + return yaml_emitter_emit_node(emitter, event, false, true, false, false) +} + +// Expect a block key node. +func yaml_emitter_emit_block_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, false) { + return false + } + } + if event.typ == yaml_MAPPING_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block value node. +func yaml_emitter_emit_block_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, true) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_KEY_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a node. +func yaml_emitter_emit_node(emitter *yaml_emitter_t, event *yaml_event_t, + root bool, sequence bool, mapping bool, simple_key bool) bool { + + emitter.root_context = root + emitter.sequence_context = sequence + emitter.mapping_context = mapping + emitter.simple_key_context = simple_key + + switch event.typ { + case yaml_ALIAS_EVENT: + return yaml_emitter_emit_alias(emitter, event) + case yaml_SCALAR_EVENT: + return yaml_emitter_emit_scalar(emitter, event) + case yaml_SEQUENCE_START_EVENT: + return yaml_emitter_emit_sequence_start(emitter, event) + case yaml_MAPPING_START_EVENT: + return yaml_emitter_emit_mapping_start(emitter, event) + default: + return yaml_emitter_set_emitter_error(emitter, + fmt.Sprintf("expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS, but got %v", event.typ)) + } +} + +// Expect ALIAS. +func yaml_emitter_emit_alias(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SCALAR. +func yaml_emitter_emit_scalar(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_select_scalar_style(emitter, event) { + return false + } + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + if !yaml_emitter_process_scalar(emitter) { + return false + } + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SEQUENCE-START. +func yaml_emitter_emit_sequence_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.sequence_style() == yaml_FLOW_SEQUENCE_STYLE || + yaml_emitter_check_empty_sequence(emitter) { + emitter.state = yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE + } + return true +} + +// Expect MAPPING-START. +func yaml_emitter_emit_mapping_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.mapping_style() == yaml_FLOW_MAPPING_STYLE || + yaml_emitter_check_empty_mapping(emitter) { + emitter.state = yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE + } + return true +} + +// Check if the document content is an empty scalar. +func yaml_emitter_check_empty_document(emitter *yaml_emitter_t) bool { + return false // [Go] Huh? +} + +// Check if the next events represent an empty sequence. +func yaml_emitter_check_empty_sequence(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_SEQUENCE_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_SEQUENCE_END_EVENT +} + +// Check if the next events represent an empty mapping. +func yaml_emitter_check_empty_mapping(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_MAPPING_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_MAPPING_END_EVENT +} + +// Check if the next node can be expressed as a simple key. +func yaml_emitter_check_simple_key(emitter *yaml_emitter_t) bool { + length := 0 + switch emitter.events[emitter.events_head].typ { + case yaml_ALIAS_EVENT: + length += len(emitter.anchor_data.anchor) + case yaml_SCALAR_EVENT: + if emitter.scalar_data.multiline { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + + len(emitter.scalar_data.value) + case yaml_SEQUENCE_START_EVENT: + if !yaml_emitter_check_empty_sequence(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + case yaml_MAPPING_START_EVENT: + if !yaml_emitter_check_empty_mapping(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + default: + return false + } + return length <= 128 +} + +// Determine an acceptable scalar style. +func yaml_emitter_select_scalar_style(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + no_tag := len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 + if no_tag && !event.implicit && !event.quoted_implicit { + return yaml_emitter_set_emitter_error(emitter, "neither tag nor implicit flags are specified") + } + + style := event.scalar_style() + if style == yaml_ANY_SCALAR_STYLE { + style = yaml_PLAIN_SCALAR_STYLE + } + if emitter.canonical { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + if emitter.simple_key_context && emitter.scalar_data.multiline { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + + if style == yaml_PLAIN_SCALAR_STYLE { + if emitter.flow_level > 0 && !emitter.scalar_data.flow_plain_allowed || + emitter.flow_level == 0 && !emitter.scalar_data.block_plain_allowed { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if len(emitter.scalar_data.value) == 0 && (emitter.flow_level > 0 || emitter.simple_key_context) { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if no_tag && !event.implicit { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_SINGLE_QUOTED_SCALAR_STYLE { + if !emitter.scalar_data.single_quoted_allowed { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_LITERAL_SCALAR_STYLE || style == yaml_FOLDED_SCALAR_STYLE { + if !emitter.scalar_data.block_allowed || emitter.flow_level > 0 || emitter.simple_key_context { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + + if no_tag && !event.quoted_implicit && style != yaml_PLAIN_SCALAR_STYLE { + emitter.tag_data.handle = []byte{'!'} + } + emitter.scalar_data.style = style + return true +} + +// Write an anchor. +func yaml_emitter_process_anchor(emitter *yaml_emitter_t) bool { + if emitter.anchor_data.anchor == nil { + return true + } + c := []byte{'&'} + if emitter.anchor_data.alias { + c[0] = '*' + } + if !yaml_emitter_write_indicator(emitter, c, true, false, false) { + return false + } + return yaml_emitter_write_anchor(emitter, emitter.anchor_data.anchor) +} + +// Write a tag. +func yaml_emitter_process_tag(emitter *yaml_emitter_t) bool { + if len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 { + return true + } + if len(emitter.tag_data.handle) > 0 { + if !yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) { + return false + } + if len(emitter.tag_data.suffix) > 0 { + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + } + } else { + // [Go] Allocate these slices elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, false, false, false) { + return false + } + } + return true +} + +// Write a scalar. +func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool { + switch emitter.scalar_data.style { + case yaml_PLAIN_SCALAR_STYLE: + return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_SINGLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_DOUBLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_LITERAL_SCALAR_STYLE: + return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value) + + case yaml_FOLDED_SCALAR_STYLE: + return yaml_emitter_write_folded_scalar(emitter, emitter.scalar_data.value) + } + panic("unknown scalar style") +} + +// Check if a %YAML directive is valid. +func yaml_emitter_analyze_version_directive(emitter *yaml_emitter_t, version_directive *yaml_version_directive_t) bool { + if version_directive.major != 1 || version_directive.minor != 1 { + return yaml_emitter_set_emitter_error(emitter, "incompatible %YAML directive") + } + return true +} + +// Check if a %TAG directive is valid. +func yaml_emitter_analyze_tag_directive(emitter *yaml_emitter_t, tag_directive *yaml_tag_directive_t) bool { + handle := tag_directive.handle + prefix := tag_directive.prefix + if len(handle) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag handle must not be empty") + } + if handle[0] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must start with '!'") + } + if handle[len(handle)-1] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must end with '!'") + } + for i := 1; i < len(handle)-1; i += width(handle[i]) { + if !is_alpha(handle, i) { + return yaml_emitter_set_emitter_error(emitter, "tag handle must contain alphanumerical characters only") + } + } + if len(prefix) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag prefix must not be empty") + } + return true +} + +// Check if an anchor is valid. +func yaml_emitter_analyze_anchor(emitter *yaml_emitter_t, anchor []byte, alias bool) bool { + if len(anchor) == 0 { + problem := "anchor value must not be empty" + if alias { + problem = "alias value must not be empty" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + for i := 0; i < len(anchor); i += width(anchor[i]) { + if !is_alpha(anchor, i) { + problem := "anchor value must contain alphanumerical characters only" + if alias { + problem = "alias value must contain alphanumerical characters only" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + } + emitter.anchor_data.anchor = anchor + emitter.anchor_data.alias = alias + return true +} + +// Check if a tag is valid. +func yaml_emitter_analyze_tag(emitter *yaml_emitter_t, tag []byte) bool { + if len(tag) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag value must not be empty") + } + for i := 0; i < len(emitter.tag_directives); i++ { + tag_directive := &emitter.tag_directives[i] + if bytes.HasPrefix(tag, tag_directive.prefix) { + emitter.tag_data.handle = tag_directive.handle + emitter.tag_data.suffix = tag[len(tag_directive.prefix):] + return true + } + } + emitter.tag_data.suffix = tag + return true +} + +// Check if a scalar is valid. +func yaml_emitter_analyze_scalar(emitter *yaml_emitter_t, value []byte) bool { + var ( + block_indicators = false + flow_indicators = false + line_breaks = false + special_characters = false + + leading_space = false + leading_break = false + trailing_space = false + trailing_break = false + break_space = false + space_break = false + + preceded_by_whitespace = false + followed_by_whitespace = false + previous_space = false + previous_break = false + ) + + emitter.scalar_data.value = value + + if len(value) == 0 { + emitter.scalar_data.multiline = false + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = false + return true + } + + if len(value) >= 3 && ((value[0] == '-' && value[1] == '-' && value[2] == '-') || (value[0] == '.' && value[1] == '.' && value[2] == '.')) { + block_indicators = true + flow_indicators = true + } + + preceded_by_whitespace = true + for i, w := 0, 0; i < len(value); i += w { + w = width(value[i]) + followed_by_whitespace = i+w >= len(value) || is_blank(value, i+w) + + if i == 0 { + switch value[i] { + case '#', ',', '[', ']', '{', '}', '&', '*', '!', '|', '>', '\'', '"', '%', '@', '`': + flow_indicators = true + block_indicators = true + case '?', ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '-': + if followed_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } else { + switch value[i] { + case ',', '?', '[', ']', '{', '}': + flow_indicators = true + case ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '#': + if preceded_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } + + if !is_printable(value, i) || !is_ascii(value, i) && !emitter.unicode { + special_characters = true + } + if is_space(value, i) { + if i == 0 { + leading_space = true + } + if i+width(value[i]) == len(value) { + trailing_space = true + } + if previous_break { + break_space = true + } + previous_space = true + previous_break = false + } else if is_break(value, i) { + line_breaks = true + if i == 0 { + leading_break = true + } + if i+width(value[i]) == len(value) { + trailing_break = true + } + if previous_space { + space_break = true + } + previous_space = false + previous_break = true + } else { + previous_space = false + previous_break = false + } + + // [Go]: Why 'z'? Couldn't be the end of the string as that's the loop condition. + preceded_by_whitespace = is_blankz(value, i) + } + + emitter.scalar_data.multiline = line_breaks + emitter.scalar_data.flow_plain_allowed = true + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = true + + if leading_space || leading_break || trailing_space || trailing_break { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if trailing_space { + emitter.scalar_data.block_allowed = false + } + if break_space { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + } + if space_break || special_characters { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + emitter.scalar_data.block_allowed = false + } + if line_breaks { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if flow_indicators { + emitter.scalar_data.flow_plain_allowed = false + } + if block_indicators { + emitter.scalar_data.block_plain_allowed = false + } + return true +} + +// Check if the event data is valid. +func yaml_emitter_analyze_event(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + emitter.anchor_data.anchor = nil + emitter.tag_data.handle = nil + emitter.tag_data.suffix = nil + emitter.scalar_data.value = nil + + switch event.typ { + case yaml_ALIAS_EVENT: + if !yaml_emitter_analyze_anchor(emitter, event.anchor, true) { + return false + } + + case yaml_SCALAR_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || (!event.implicit && !event.quoted_implicit)) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + if !yaml_emitter_analyze_scalar(emitter, event.value) { + return false + } + + case yaml_SEQUENCE_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + + case yaml_MAPPING_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + } + return true +} + +// Write the BOM character. +func yaml_emitter_write_bom(emitter *yaml_emitter_t) bool { + if !flush(emitter) { + return false + } + pos := emitter.buffer_pos + emitter.buffer[pos+0] = '\xEF' + emitter.buffer[pos+1] = '\xBB' + emitter.buffer[pos+2] = '\xBF' + emitter.buffer_pos += 3 + return true +} + +func yaml_emitter_write_indent(emitter *yaml_emitter_t) bool { + indent := emitter.indent + if indent < 0 { + indent = 0 + } + if !emitter.indention || emitter.column > indent || (emitter.column == indent && !emitter.whitespace) { + if !put_break(emitter) { + return false + } + } + for emitter.column < indent { + if !put(emitter, ' ') { + return false + } + } + emitter.whitespace = true + emitter.indention = true + return true +} + +func yaml_emitter_write_indicator(emitter *yaml_emitter_t, indicator []byte, need_whitespace, is_whitespace, is_indention bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, indicator) { + return false + } + emitter.whitespace = is_whitespace + emitter.indention = (emitter.indention && is_indention) + emitter.open_ended = false + return true +} + +func yaml_emitter_write_anchor(emitter *yaml_emitter_t, value []byte) bool { + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_handle(emitter *yaml_emitter_t, value []byte) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_content(emitter *yaml_emitter_t, value []byte, need_whitespace bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + for i := 0; i < len(value); { + var must_write bool + switch value[i] { + case ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '_', '.', '~', '*', '\'', '(', ')', '[', ']': + must_write = true + default: + must_write = is_alpha(value, i) + } + if must_write { + if !write(emitter, value, &i) { + return false + } + } else { + w := width(value[i]) + for k := 0; k < w; k++ { + octet := value[i] + i++ + if !put(emitter, '%') { + return false + } + + c := octet >> 4 + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + + c = octet & 0x0f + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + } + } + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_plain_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + + emitter.whitespace = false + emitter.indention = false + if emitter.root_context { + emitter.open_ended = true + } + + return true +} + +func yaml_emitter_write_single_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, true, false, false) { + return false + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if value[i] == '\'' { + if !put(emitter, '\'') { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_double_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + spaces := false + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, true, false, false) { + return false + } + + for i := 0; i < len(value); { + if !is_printable(value, i) || (!emitter.unicode && !is_ascii(value, i)) || + is_bom(value, i) || is_break(value, i) || + value[i] == '"' || value[i] == '\\' { + + octet := value[i] + + var w int + var v rune + switch { + case octet&0x80 == 0x00: + w, v = 1, rune(octet&0x7F) + case octet&0xE0 == 0xC0: + w, v = 2, rune(octet&0x1F) + case octet&0xF0 == 0xE0: + w, v = 3, rune(octet&0x0F) + case octet&0xF8 == 0xF0: + w, v = 4, rune(octet&0x07) + } + for k := 1; k < w; k++ { + octet = value[i+k] + v = (v << 6) + (rune(octet) & 0x3F) + } + i += w + + if !put(emitter, '\\') { + return false + } + + var ok bool + switch v { + case 0x00: + ok = put(emitter, '0') + case 0x07: + ok = put(emitter, 'a') + case 0x08: + ok = put(emitter, 'b') + case 0x09: + ok = put(emitter, 't') + case 0x0A: + ok = put(emitter, 'n') + case 0x0b: + ok = put(emitter, 'v') + case 0x0c: + ok = put(emitter, 'f') + case 0x0d: + ok = put(emitter, 'r') + case 0x1b: + ok = put(emitter, 'e') + case 0x22: + ok = put(emitter, '"') + case 0x5c: + ok = put(emitter, '\\') + case 0x85: + ok = put(emitter, 'N') + case 0xA0: + ok = put(emitter, '_') + case 0x2028: + ok = put(emitter, 'L') + case 0x2029: + ok = put(emitter, 'P') + default: + if v <= 0xFF { + ok = put(emitter, 'x') + w = 2 + } else if v <= 0xFFFF { + ok = put(emitter, 'u') + w = 4 + } else { + ok = put(emitter, 'U') + w = 8 + } + for k := (w - 1) * 4; ok && k >= 0; k -= 4 { + digit := byte((v >> uint(k)) & 0x0F) + if digit < 10 { + ok = put(emitter, digit+'0') + } else { + ok = put(emitter, digit+'A'-10) + } + } + } + if !ok { + return false + } + spaces = false + } else if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 { + if !yaml_emitter_write_indent(emitter) { + return false + } + if is_space(value, i+1) { + if !put(emitter, '\\') { + return false + } + } + i += width(value[i]) + } else if !write(emitter, value, &i) { + return false + } + spaces = true + } else { + if !write(emitter, value, &i) { + return false + } + spaces = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_block_scalar_hints(emitter *yaml_emitter_t, value []byte) bool { + if is_space(value, 0) || is_break(value, 0) { + indent_hint := []byte{'0' + byte(emitter.best_indent)} + if !yaml_emitter_write_indicator(emitter, indent_hint, false, false, false) { + return false + } + } + + emitter.open_ended = false + + var chomp_hint [1]byte + if len(value) == 0 { + chomp_hint[0] = '-' + } else { + i := len(value) - 1 + for value[i]&0xC0 == 0x80 { + i-- + } + if !is_break(value, i) { + chomp_hint[0] = '-' + } else if i == 0 { + chomp_hint[0] = '+' + emitter.open_ended = true + } else { + i-- + for value[i]&0xC0 == 0x80 { + i-- + } + if is_break(value, i) { + chomp_hint[0] = '+' + emitter.open_ended = true + } + } + } + if chomp_hint[0] != 0 { + if !yaml_emitter_write_indicator(emitter, chomp_hint[:], false, false, false) { + return false + } + } + return true +} + +func yaml_emitter_write_literal_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'|'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + if !put_break(emitter) { + return false + } + emitter.indention = true + emitter.whitespace = true + breaks := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + breaks = false + } + } + + return true +} + +func yaml_emitter_write_folded_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + + if !put_break(emitter) { + return false + } + emitter.indention = true + emitter.whitespace = true + + breaks := true + leading_spaces := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !breaks && !leading_spaces && value[i] == '\n' { + k := 0 + for is_break(value, k) { + k += width(value[k]) + } + if !is_blankz(value, k) { + if !put_break(emitter) { + return false + } + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + leading_spaces = is_blank(value, i) + } + if !breaks && is_space(value, i) && !is_space(value, i+1) && emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + emitter.indention = false + breaks = false + } + } + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/encode.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/encode.go new file mode 100644 index 0000000..0ee738e --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/encode.go @@ -0,0 +1,390 @@ +package yaml + +import ( + "encoding" + "fmt" + "io" + "reflect" + "regexp" + "sort" + "strconv" + "strings" + "time" + "unicode/utf8" +) + +// jsonNumber is the interface of the encoding/json.Number datatype. +// Repeating the interface here avoids a dependency on encoding/json, and also +// supports other libraries like jsoniter, which use a similar datatype with +// the same interface. Detecting this interface is useful when dealing with +// structures containing json.Number, which is a string under the hood. The +// encoder should prefer the use of Int64(), Float64() and string(), in that +// order, when encoding this type. +type jsonNumber interface { + Float64() (float64, error) + Int64() (int64, error) + String() string +} + +type encoder struct { + emitter yaml_emitter_t + event yaml_event_t + out []byte + flow bool + // doneInit holds whether the initial stream_start_event has been + // emitted. + doneInit bool +} + +func newEncoder() *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_string(&e.emitter, &e.out) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func newEncoderWithWriter(w io.Writer) *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_writer(&e.emitter, w) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func (e *encoder) init() { + if e.doneInit { + return + } + yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING) + e.emit() + e.doneInit = true +} + +func (e *encoder) finish() { + e.emitter.open_ended = false + yaml_stream_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) destroy() { + yaml_emitter_delete(&e.emitter) +} + +func (e *encoder) emit() { + // This will internally delete the e.event value. + e.must(yaml_emitter_emit(&e.emitter, &e.event)) +} + +func (e *encoder) must(ok bool) { + if !ok { + msg := e.emitter.problem + if msg == "" { + msg = "unknown problem generating YAML content" + } + failf("%s", msg) + } +} + +func (e *encoder) marshalDoc(tag string, in reflect.Value) { + e.init() + yaml_document_start_event_initialize(&e.event, nil, nil, true) + e.emit() + e.marshal(tag, in) + yaml_document_end_event_initialize(&e.event, true) + e.emit() +} + +func (e *encoder) marshal(tag string, in reflect.Value) { + if !in.IsValid() || in.Kind() == reflect.Ptr && in.IsNil() { + e.nilv() + return + } + iface := in.Interface() + switch m := iface.(type) { + case jsonNumber: + integer, err := m.Int64() + if err == nil { + // In this case the json.Number is a valid int64 + in = reflect.ValueOf(integer) + break + } + float, err := m.Float64() + if err == nil { + // In this case the json.Number is a valid float64 + in = reflect.ValueOf(float) + break + } + // fallback case - no number could be obtained + in = reflect.ValueOf(m.String()) + case time.Time, *time.Time: + // Although time.Time implements TextMarshaler, + // we don't want to treat it as a string for YAML + // purposes because YAML has special support for + // timestamps. + case Marshaler: + v, err := m.MarshalYAML() + if err != nil { + fail(err) + } + if v == nil { + e.nilv() + return + } + in = reflect.ValueOf(v) + case encoding.TextMarshaler: + text, err := m.MarshalText() + if err != nil { + fail(err) + } + in = reflect.ValueOf(string(text)) + case nil: + e.nilv() + return + } + switch in.Kind() { + case reflect.Interface: + e.marshal(tag, in.Elem()) + case reflect.Map: + e.mapv(tag, in) + case reflect.Ptr: + if in.Type() == ptrTimeType { + e.timev(tag, in.Elem()) + } else { + e.marshal(tag, in.Elem()) + } + case reflect.Struct: + if in.Type() == timeType { + e.timev(tag, in) + } else { + e.structv(tag, in) + } + case reflect.Slice, reflect.Array: + if in.Type().Elem() == mapItemType { + e.itemsv(tag, in) + } else { + e.slicev(tag, in) + } + case reflect.String: + e.stringv(tag, in) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + if in.Type() == durationType { + e.stringv(tag, reflect.ValueOf(iface.(time.Duration).String())) + } else { + e.intv(tag, in) + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + e.uintv(tag, in) + case reflect.Float32, reflect.Float64: + e.floatv(tag, in) + case reflect.Bool: + e.boolv(tag, in) + default: + panic("cannot marshal type: " + in.Type().String()) + } +} + +func (e *encoder) mapv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + keys := keyList(in.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + e.marshal("", k) + e.marshal("", in.MapIndex(k)) + } + }) +} + +func (e *encoder) itemsv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + slice := in.Convert(reflect.TypeOf([]MapItem{})).Interface().([]MapItem) + for _, item := range slice { + e.marshal("", reflect.ValueOf(item.Key)) + e.marshal("", reflect.ValueOf(item.Value)) + } + }) +} + +func (e *encoder) structv(tag string, in reflect.Value) { + sinfo, err := getStructInfo(in.Type()) + if err != nil { + panic(err) + } + e.mappingv(tag, func() { + for _, info := range sinfo.FieldsList { + var value reflect.Value + if info.Inline == nil { + value = in.Field(info.Num) + } else { + value = in.FieldByIndex(info.Inline) + } + if info.OmitEmpty && isZero(value) { + continue + } + e.marshal("", reflect.ValueOf(info.Key)) + e.flow = info.Flow + e.marshal("", value) + } + if sinfo.InlineMap >= 0 { + m := in.Field(sinfo.InlineMap) + if m.Len() > 0 { + e.flow = false + keys := keyList(m.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + if _, found := sinfo.FieldsMap[k.String()]; found { + panic(fmt.Sprintf("Can't have key %q in inlined map; conflicts with struct field", k.String())) + } + e.marshal("", k) + e.flow = false + e.marshal("", m.MapIndex(k)) + } + } + } + }) +} + +func (e *encoder) mappingv(tag string, f func()) { + implicit := tag == "" + style := yaml_BLOCK_MAPPING_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_MAPPING_STYLE + } + yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style) + e.emit() + f() + yaml_mapping_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) slicev(tag string, in reflect.Value) { + implicit := tag == "" + style := yaml_BLOCK_SEQUENCE_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_SEQUENCE_STYLE + } + e.must(yaml_sequence_start_event_initialize(&e.event, nil, []byte(tag), implicit, style)) + e.emit() + n := in.Len() + for i := 0; i < n; i++ { + e.marshal("", in.Index(i)) + } + e.must(yaml_sequence_end_event_initialize(&e.event)) + e.emit() +} + +// isBase60 returns whether s is in base 60 notation as defined in YAML 1.1. +// +// The base 60 float notation in YAML 1.1 is a terrible idea and is unsupported +// in YAML 1.2 and by this package, but these should be marshalled quoted for +// the time being for compatibility with other parsers. +func isBase60Float(s string) (result bool) { + // Fast path. + if s == "" { + return false + } + c := s[0] + if !(c == '+' || c == '-' || c >= '0' && c <= '9') || strings.IndexByte(s, ':') < 0 { + return false + } + // Do the full match. + return base60float.MatchString(s) +} + +// From http://yaml.org/type/float.html, except the regular expression there +// is bogus. In practice parsers do not enforce the "\.[0-9_]*" suffix. +var base60float = regexp.MustCompile(`^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+(?:\.[0-9_]*)?$`) + +func (e *encoder) stringv(tag string, in reflect.Value) { + var style yaml_scalar_style_t + s := in.String() + canUsePlain := true + switch { + case !utf8.ValidString(s): + if tag == yaml_BINARY_TAG { + failf("explicitly tagged !!binary data must be base64-encoded") + } + if tag != "" { + failf("cannot marshal invalid UTF-8 data as %s", shortTag(tag)) + } + // It can't be encoded directly as YAML so use a binary tag + // and encode it as base64. + tag = yaml_BINARY_TAG + s = encodeBase64(s) + case tag == "": + // Check to see if it would resolve to a specific + // tag when encoded unquoted. If it doesn't, + // there's no need to quote it. + rtag, _ := resolve("", s) + canUsePlain = rtag == yaml_STR_TAG && !isBase60Float(s) + } + // Note: it's possible for user code to emit invalid YAML + // if they explicitly specify a tag and a string containing + // text that's incompatible with that tag. + switch { + case strings.Contains(s, "\n"): + style = yaml_LITERAL_SCALAR_STYLE + case canUsePlain: + style = yaml_PLAIN_SCALAR_STYLE + default: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + e.emitScalar(s, "", tag, style) +} + +func (e *encoder) boolv(tag string, in reflect.Value) { + var s string + if in.Bool() { + s = "true" + } else { + s = "false" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) intv(tag string, in reflect.Value) { + s := strconv.FormatInt(in.Int(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) uintv(tag string, in reflect.Value) { + s := strconv.FormatUint(in.Uint(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) timev(tag string, in reflect.Value) { + t := in.Interface().(time.Time) + s := t.Format(time.RFC3339Nano) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) floatv(tag string, in reflect.Value) { + // Issue #352: When formatting, use the precision of the underlying value + precision := 64 + if in.Kind() == reflect.Float32 { + precision = 32 + } + + s := strconv.FormatFloat(in.Float(), 'g', -1, precision) + switch s { + case "+Inf": + s = ".inf" + case "-Inf": + s = "-.inf" + case "NaN": + s = ".nan" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) nilv() { + e.emitScalar("null", "", "", yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) emitScalar(value, anchor, tag string, style yaml_scalar_style_t) { + implicit := tag == "" + e.must(yaml_scalar_event_initialize(&e.event, []byte(anchor), []byte(tag), []byte(value), implicit, implicit, style)) + e.emit() +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/go.mod b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/go.mod new file mode 100644 index 0000000..1934e87 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/go.mod @@ -0,0 +1,5 @@ +module "gopkg.in/yaml.v2" + +require ( + "gopkg.in/check.v1" v0.0.0-20161208181325-20d25e280405 +) diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/parserc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/parserc.go new file mode 100644 index 0000000..81d05df --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/parserc.go @@ -0,0 +1,1095 @@ +package yaml + +import ( + "bytes" +) + +// The parser implements the following grammar: +// +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// implicit_document ::= block_node DOCUMENT-END* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// block_node_or_indentless_sequence ::= +// ALIAS +// | properties (block_content | indentless_block_sequence)? +// | block_content +// | indentless_block_sequence +// block_node ::= ALIAS +// | properties block_content? +// | block_content +// flow_node ::= ALIAS +// | properties flow_content? +// | flow_content +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// block_content ::= block_collection | flow_collection | SCALAR +// flow_content ::= flow_collection | SCALAR +// block_collection ::= block_sequence | block_mapping +// flow_collection ::= flow_sequence | flow_mapping +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// block_mapping ::= BLOCK-MAPPING_START +// ((KEY block_node_or_indentless_sequence?)? +// (VALUE block_node_or_indentless_sequence?)?)* +// BLOCK-END +// flow_sequence ::= FLOW-SEQUENCE-START +// (flow_sequence_entry FLOW-ENTRY)* +// flow_sequence_entry? +// FLOW-SEQUENCE-END +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// flow_mapping ::= FLOW-MAPPING-START +// (flow_mapping_entry FLOW-ENTRY)* +// flow_mapping_entry? +// FLOW-MAPPING-END +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + +// Peek the next token in the token queue. +func peek_token(parser *yaml_parser_t) *yaml_token_t { + if parser.token_available || yaml_parser_fetch_more_tokens(parser) { + return &parser.tokens[parser.tokens_head] + } + return nil +} + +// Remove the next token from the queue (must be called after peek_token). +func skip_token(parser *yaml_parser_t) { + parser.token_available = false + parser.tokens_parsed++ + parser.stream_end_produced = parser.tokens[parser.tokens_head].typ == yaml_STREAM_END_TOKEN + parser.tokens_head++ +} + +// Get the next event. +func yaml_parser_parse(parser *yaml_parser_t, event *yaml_event_t) bool { + // Erase the event object. + *event = yaml_event_t{} + + // No events after the end of the stream or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR || parser.state == yaml_PARSE_END_STATE { + return true + } + + // Generate the next event. + return yaml_parser_state_machine(parser, event) +} + +// Set parser error. +func yaml_parser_set_parser_error(parser *yaml_parser_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +func yaml_parser_set_parser_error_context(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +// State dispatcher. +func yaml_parser_state_machine(parser *yaml_parser_t, event *yaml_event_t) bool { + //trace("yaml_parser_state_machine", "state:", parser.state.String()) + + switch parser.state { + case yaml_PARSE_STREAM_START_STATE: + return yaml_parser_parse_stream_start(parser, event) + + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, true) + + case yaml_PARSE_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, false) + + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return yaml_parser_parse_document_content(parser, event) + + case yaml_PARSE_DOCUMENT_END_STATE: + return yaml_parser_parse_document_end(parser, event) + + case yaml_PARSE_BLOCK_NODE_STATE: + return yaml_parser_parse_node(parser, event, true, false) + + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return yaml_parser_parse_node(parser, event, true, true) + + case yaml_PARSE_FLOW_NODE_STATE: + return yaml_parser_parse_node(parser, event, false, false) + + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, true) + + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, false) + + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_indentless_sequence_entry(parser, event) + + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, true) + + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, false) + + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return yaml_parser_parse_block_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, true) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, false) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_key(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_end(parser, event) + + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, true) + + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, true) + + default: + panic("invalid parser state") + } +} + +// Parse the production: +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// ************ +func yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_STREAM_START_TOKEN { + return yaml_parser_set_parser_error(parser, "did not find expected ", token.start_mark) + } + parser.state = yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + encoding: token.encoding, + } + skip_token(parser) + return true +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// * +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// ************************* +func yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t, implicit bool) bool { + + token := peek_token(parser) + if token == nil { + return false + } + + // Parse extra document end indicators. + if !implicit { + for token.typ == yaml_DOCUMENT_END_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + if implicit && token.typ != yaml_VERSION_DIRECTIVE_TOKEN && + token.typ != yaml_TAG_DIRECTIVE_TOKEN && + token.typ != yaml_DOCUMENT_START_TOKEN && + token.typ != yaml_STREAM_END_TOKEN { + // Parse an implicit document. + if !yaml_parser_process_directives(parser, nil, nil) { + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_BLOCK_NODE_STATE + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + } else if token.typ != yaml_STREAM_END_TOKEN { + // Parse an explicit document. + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + start_mark := token.start_mark + if !yaml_parser_process_directives(parser, &version_directive, &tag_directives) { + return false + } + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_DOCUMENT_START_TOKEN { + yaml_parser_set_parser_error(parser, + "did not find expected ", token.start_mark) + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_DOCUMENT_CONTENT_STATE + end_mark := token.end_mark + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: false, + } + skip_token(parser) + + } else { + // Parse the stream end. + parser.state = yaml_PARSE_END_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + } + + return true +} + +// Parse the productions: +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// *********** +// +func yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN || + token.typ == yaml_TAG_DIRECTIVE_TOKEN || + token.typ == yaml_DOCUMENT_START_TOKEN || + token.typ == yaml_DOCUMENT_END_TOKEN || + token.typ == yaml_STREAM_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + return yaml_parser_process_empty_scalar(parser, event, + token.start_mark) + } + return yaml_parser_parse_node(parser, event, true, false) +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// ************* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// +func yaml_parser_parse_document_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + start_mark := token.start_mark + end_mark := token.start_mark + + implicit := true + if token.typ == yaml_DOCUMENT_END_TOKEN { + end_mark = token.end_mark + skip_token(parser) + implicit = false + } + + parser.tag_directives = parser.tag_directives[:0] + + parser.state = yaml_PARSE_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + start_mark: start_mark, + end_mark: end_mark, + implicit: implicit, + } + return true +} + +// Parse the productions: +// block_node_or_indentless_sequence ::= +// ALIAS +// ***** +// | properties (block_content | indentless_block_sequence)? +// ********** * +// | block_content | indentless_block_sequence +// * +// block_node ::= ALIAS +// ***** +// | properties block_content? +// ********** * +// | block_content +// * +// flow_node ::= ALIAS +// ***** +// | properties flow_content? +// ********** * +// | flow_content +// * +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// ************************* +// block_content ::= block_collection | flow_collection | SCALAR +// ****** +// flow_content ::= flow_collection | SCALAR +// ****** +func yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, indentless_sequence bool) bool { + //defer trace("yaml_parser_parse_node", "block:", block, "indentless_sequence:", indentless_sequence)() + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_ALIAS_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + *event = yaml_event_t{ + typ: yaml_ALIAS_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + anchor: token.value, + } + skip_token(parser) + return true + } + + start_mark := token.start_mark + end_mark := token.start_mark + + var tag_token bool + var tag_handle, tag_suffix, anchor []byte + var tag_mark yaml_mark_t + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + start_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } else if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + start_mark = token.start_mark + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + var tag []byte + if tag_token { + if len(tag_handle) == 0 { + tag = tag_suffix + tag_suffix = nil + } else { + for i := range parser.tag_directives { + if bytes.Equal(parser.tag_directives[i].handle, tag_handle) { + tag = append([]byte(nil), parser.tag_directives[i].prefix...) + tag = append(tag, tag_suffix...) + break + } + } + if len(tag) == 0 { + yaml_parser_set_parser_error_context(parser, + "while parsing a node", start_mark, + "found undefined tag handle", tag_mark) + return false + } + } + } + + implicit := len(tag) == 0 + if indentless_sequence && token.typ == yaml_BLOCK_ENTRY_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_SCALAR_TOKEN { + var plain_implicit, quoted_implicit bool + end_mark = token.end_mark + if (len(tag) == 0 && token.style == yaml_PLAIN_SCALAR_STYLE) || (len(tag) == 1 && tag[0] == '!') { + plain_implicit = true + } else if len(tag) == 0 { + quoted_implicit = true + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + value: token.value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(token.style), + } + skip_token(parser) + return true + } + if token.typ == yaml_FLOW_SEQUENCE_START_TOKEN { + // [Go] Some of the events below can be merged as they differ only on style. + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_FLOW_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + return true + } + if block && token.typ == yaml_BLOCK_SEQUENCE_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if block && token.typ == yaml_BLOCK_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_MAPPING_STYLE), + } + return true + } + if len(anchor) > 0 || len(tag) > 0 { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + quoted_implicit: false, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true + } + + context := "while parsing a flow node" + if block { + context = "while parsing a block node" + } + yaml_parser_set_parser_error_context(parser, context, start_mark, + "did not find expected node content", token.start_mark) + return false +} + +// Parse the productions: +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// ******************** *********** * ********* +// +func yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } else { + parser.state = yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } + if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block collection", context_mark, + "did not find expected '-' indicator", token.start_mark) +} + +// Parse the productions: +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// *********** * +func yaml_parser_parse_indentless_sequence_entry(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && + token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be token.end_mark? + } + return true +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// ******************* +// ((KEY block_node_or_indentless_sequence?)? +// *** * +// (VALUE block_node_or_indentless_sequence?)?)* +// +// BLOCK-END +// ********* +// +func yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_KEY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } else { + parser.state = yaml_PARSE_BLOCK_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } else if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block mapping", context_mark, + "did not find expected key", token.start_mark) +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// +// ((KEY block_node_or_indentless_sequence?)? +// +// (VALUE block_node_or_indentless_sequence?)?)* +// ***** * +// BLOCK-END +// +// +func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence ::= FLOW-SEQUENCE-START +// ******************* +// (flow_sequence_entry FLOW-ENTRY)* +// * ********** +// flow_sequence_entry? +// * +// FLOW-SEQUENCE-END +// ***************** +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow sequence", context_mark, + "did not find expected ',' or ']'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + implicit: true, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + skip_token(parser) + return true + } else if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true +} + +// +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// *** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + mark := token.end_mark + skip_token(parser) + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// ***** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be end_mark? + } + return true +} + +// Parse the productions: +// flow_mapping ::= FLOW-MAPPING-START +// ****************** +// (flow_mapping_entry FLOW-ENTRY)* +// * ********** +// flow_mapping_entry? +// ****************** +// FLOW-MAPPING-END +// **************** +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * *** * +// +func yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow mapping", context_mark, + "did not find expected ',' or '}'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } else { + parser.state = yaml_PARSE_FLOW_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + } else if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + return true +} + +// Parse the productions: +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * ***** * +// +func yaml_parser_parse_flow_mapping_value(parser *yaml_parser_t, event *yaml_event_t, empty bool) bool { + token := peek_token(parser) + if token == nil { + return false + } + if empty { + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Generate an empty scalar event. +func yaml_parser_process_empty_scalar(parser *yaml_parser_t, event *yaml_event_t, mark yaml_mark_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: mark, + end_mark: mark, + value: nil, // Empty + implicit: true, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true +} + +var default_tag_directives = []yaml_tag_directive_t{ + {[]byte("!"), []byte("!")}, + {[]byte("!!"), []byte("tag:yaml.org,2002:")}, +} + +// Parse directives. +func yaml_parser_process_directives(parser *yaml_parser_t, + version_directive_ref **yaml_version_directive_t, + tag_directives_ref *[]yaml_tag_directive_t) bool { + + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + + token := peek_token(parser) + if token == nil { + return false + } + + for token.typ == yaml_VERSION_DIRECTIVE_TOKEN || token.typ == yaml_TAG_DIRECTIVE_TOKEN { + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN { + if version_directive != nil { + yaml_parser_set_parser_error(parser, + "found duplicate %YAML directive", token.start_mark) + return false + } + if token.major != 1 || token.minor != 1 { + yaml_parser_set_parser_error(parser, + "found incompatible YAML document", token.start_mark) + return false + } + version_directive = &yaml_version_directive_t{ + major: token.major, + minor: token.minor, + } + } else if token.typ == yaml_TAG_DIRECTIVE_TOKEN { + value := yaml_tag_directive_t{ + handle: token.value, + prefix: token.prefix, + } + if !yaml_parser_append_tag_directive(parser, value, false, token.start_mark) { + return false + } + tag_directives = append(tag_directives, value) + } + + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + + for i := range default_tag_directives { + if !yaml_parser_append_tag_directive(parser, default_tag_directives[i], true, token.start_mark) { + return false + } + } + + if version_directive_ref != nil { + *version_directive_ref = version_directive + } + if tag_directives_ref != nil { + *tag_directives_ref = tag_directives + } + return true +} + +// Append a tag directive to the directives stack. +func yaml_parser_append_tag_directive(parser *yaml_parser_t, value yaml_tag_directive_t, allow_duplicates bool, mark yaml_mark_t) bool { + for i := range parser.tag_directives { + if bytes.Equal(value.handle, parser.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_parser_set_parser_error(parser, "found duplicate %TAG directive", mark) + } + } + + // [Go] I suspect the copy is unnecessary. This was likely done + // because there was no way to track ownership of the data. + value_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(value_copy.handle, value.handle) + copy(value_copy.prefix, value.prefix) + parser.tag_directives = append(parser.tag_directives, value_copy) + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/readerc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/readerc.go new file mode 100644 index 0000000..7c1f5fa --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/readerc.go @@ -0,0 +1,412 @@ +package yaml + +import ( + "io" +) + +// Set the reader error and return 0. +func yaml_parser_set_reader_error(parser *yaml_parser_t, problem string, offset int, value int) bool { + parser.error = yaml_READER_ERROR + parser.problem = problem + parser.problem_offset = offset + parser.problem_value = value + return false +} + +// Byte order marks. +const ( + bom_UTF8 = "\xef\xbb\xbf" + bom_UTF16LE = "\xff\xfe" + bom_UTF16BE = "\xfe\xff" +) + +// Determine the input stream encoding by checking the BOM symbol. If no BOM is +// found, the UTF-8 encoding is assumed. Return 1 on success, 0 on failure. +func yaml_parser_determine_encoding(parser *yaml_parser_t) bool { + // Ensure that we had enough bytes in the raw buffer. + for !parser.eof && len(parser.raw_buffer)-parser.raw_buffer_pos < 3 { + if !yaml_parser_update_raw_buffer(parser) { + return false + } + } + + // Determine the encoding. + buf := parser.raw_buffer + pos := parser.raw_buffer_pos + avail := len(buf) - pos + if avail >= 2 && buf[pos] == bom_UTF16LE[0] && buf[pos+1] == bom_UTF16LE[1] { + parser.encoding = yaml_UTF16LE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 2 && buf[pos] == bom_UTF16BE[0] && buf[pos+1] == bom_UTF16BE[1] { + parser.encoding = yaml_UTF16BE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 3 && buf[pos] == bom_UTF8[0] && buf[pos+1] == bom_UTF8[1] && buf[pos+2] == bom_UTF8[2] { + parser.encoding = yaml_UTF8_ENCODING + parser.raw_buffer_pos += 3 + parser.offset += 3 + } else { + parser.encoding = yaml_UTF8_ENCODING + } + return true +} + +// Update the raw buffer. +func yaml_parser_update_raw_buffer(parser *yaml_parser_t) bool { + size_read := 0 + + // Return if the raw buffer is full. + if parser.raw_buffer_pos == 0 && len(parser.raw_buffer) == cap(parser.raw_buffer) { + return true + } + + // Return on EOF. + if parser.eof { + return true + } + + // Move the remaining bytes in the raw buffer to the beginning. + if parser.raw_buffer_pos > 0 && parser.raw_buffer_pos < len(parser.raw_buffer) { + copy(parser.raw_buffer, parser.raw_buffer[parser.raw_buffer_pos:]) + } + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)-parser.raw_buffer_pos] + parser.raw_buffer_pos = 0 + + // Call the read handler to fill the buffer. + size_read, err := parser.read_handler(parser, parser.raw_buffer[len(parser.raw_buffer):cap(parser.raw_buffer)]) + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)+size_read] + if err == io.EOF { + parser.eof = true + } else if err != nil { + return yaml_parser_set_reader_error(parser, "input error: "+err.Error(), parser.offset, -1) + } + return true +} + +// Ensure that the buffer contains at least `length` characters. +// Return true on success, false on failure. +// +// The length is supposed to be significantly less that the buffer size. +func yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool { + if parser.read_handler == nil { + panic("read handler must be set") + } + + // [Go] This function was changed to guarantee the requested length size at EOF. + // The fact we need to do this is pretty awful, but the description above implies + // for that to be the case, and there are tests + + // If the EOF flag is set and the raw buffer is empty, do nothing. + if parser.eof && parser.raw_buffer_pos == len(parser.raw_buffer) { + // [Go] ACTUALLY! Read the documentation of this function above. + // This is just broken. To return true, we need to have the + // given length in the buffer. Not doing that means every single + // check that calls this function to make sure the buffer has a + // given length is Go) panicking; or C) accessing invalid memory. + //return true + } + + // Return if the buffer contains enough characters. + if parser.unread >= length { + return true + } + + // Determine the input encoding if it is not known yet. + if parser.encoding == yaml_ANY_ENCODING { + if !yaml_parser_determine_encoding(parser) { + return false + } + } + + // Move the unread characters to the beginning of the buffer. + buffer_len := len(parser.buffer) + if parser.buffer_pos > 0 && parser.buffer_pos < buffer_len { + copy(parser.buffer, parser.buffer[parser.buffer_pos:]) + buffer_len -= parser.buffer_pos + parser.buffer_pos = 0 + } else if parser.buffer_pos == buffer_len { + buffer_len = 0 + parser.buffer_pos = 0 + } + + // Open the whole buffer for writing, and cut it before returning. + parser.buffer = parser.buffer[:cap(parser.buffer)] + + // Fill the buffer until it has enough characters. + first := true + for parser.unread < length { + + // Fill the raw buffer if necessary. + if !first || parser.raw_buffer_pos == len(parser.raw_buffer) { + if !yaml_parser_update_raw_buffer(parser) { + parser.buffer = parser.buffer[:buffer_len] + return false + } + } + first = false + + // Decode the raw buffer. + inner: + for parser.raw_buffer_pos != len(parser.raw_buffer) { + var value rune + var width int + + raw_unread := len(parser.raw_buffer) - parser.raw_buffer_pos + + // Decode the next character. + switch parser.encoding { + case yaml_UTF8_ENCODING: + // Decode a UTF-8 character. Check RFC 3629 + // (http://www.ietf.org/rfc/rfc3629.txt) for more details. + // + // The following table (taken from the RFC) is used for + // decoding. + // + // Char. number range | UTF-8 octet sequence + // (hexadecimal) | (binary) + // --------------------+------------------------------------ + // 0000 0000-0000 007F | 0xxxxxxx + // 0000 0080-0000 07FF | 110xxxxx 10xxxxxx + // 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx + // 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + // + // Additionally, the characters in the range 0xD800-0xDFFF + // are prohibited as they are reserved for use with UTF-16 + // surrogate pairs. + + // Determine the length of the UTF-8 sequence. + octet := parser.raw_buffer[parser.raw_buffer_pos] + switch { + case octet&0x80 == 0x00: + width = 1 + case octet&0xE0 == 0xC0: + width = 2 + case octet&0xF0 == 0xE0: + width = 3 + case octet&0xF8 == 0xF0: + width = 4 + default: + // The leading octet is invalid. + return yaml_parser_set_reader_error(parser, + "invalid leading UTF-8 octet", + parser.offset, int(octet)) + } + + // Check if the raw buffer contains an incomplete character. + if width > raw_unread { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-8 octet sequence", + parser.offset, -1) + } + break inner + } + + // Decode the leading octet. + switch { + case octet&0x80 == 0x00: + value = rune(octet & 0x7F) + case octet&0xE0 == 0xC0: + value = rune(octet & 0x1F) + case octet&0xF0 == 0xE0: + value = rune(octet & 0x0F) + case octet&0xF8 == 0xF0: + value = rune(octet & 0x07) + default: + value = 0 + } + + // Check and decode the trailing octets. + for k := 1; k < width; k++ { + octet = parser.raw_buffer[parser.raw_buffer_pos+k] + + // Check if the octet is valid. + if (octet & 0xC0) != 0x80 { + return yaml_parser_set_reader_error(parser, + "invalid trailing UTF-8 octet", + parser.offset+k, int(octet)) + } + + // Decode the octet. + value = (value << 6) + rune(octet&0x3F) + } + + // Check the length of the sequence against the value. + switch { + case width == 1: + case width == 2 && value >= 0x80: + case width == 3 && value >= 0x800: + case width == 4 && value >= 0x10000: + default: + return yaml_parser_set_reader_error(parser, + "invalid length of a UTF-8 sequence", + parser.offset, -1) + } + + // Check the range of the value. + if value >= 0xD800 && value <= 0xDFFF || value > 0x10FFFF { + return yaml_parser_set_reader_error(parser, + "invalid Unicode character", + parser.offset, int(value)) + } + + case yaml_UTF16LE_ENCODING, yaml_UTF16BE_ENCODING: + var low, high int + if parser.encoding == yaml_UTF16LE_ENCODING { + low, high = 0, 1 + } else { + low, high = 1, 0 + } + + // The UTF-16 encoding is not as simple as one might + // naively think. Check RFC 2781 + // (http://www.ietf.org/rfc/rfc2781.txt). + // + // Normally, two subsequent bytes describe a Unicode + // character. However a special technique (called a + // surrogate pair) is used for specifying character + // values larger than 0xFFFF. + // + // A surrogate pair consists of two pseudo-characters: + // high surrogate area (0xD800-0xDBFF) + // low surrogate area (0xDC00-0xDFFF) + // + // The following formulas are used for decoding + // and encoding characters using surrogate pairs: + // + // U = U' + 0x10000 (0x01 00 00 <= U <= 0x10 FF FF) + // U' = yyyyyyyyyyxxxxxxxxxx (0 <= U' <= 0x0F FF FF) + // W1 = 110110yyyyyyyyyy + // W2 = 110111xxxxxxxxxx + // + // where U is the character value, W1 is the high surrogate + // area, W2 is the low surrogate area. + + // Check for incomplete UTF-16 character. + if raw_unread < 2 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 character", + parser.offset, -1) + } + break inner + } + + // Get the character. + value = rune(parser.raw_buffer[parser.raw_buffer_pos+low]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high]) << 8) + + // Check for unexpected low surrogate area. + if value&0xFC00 == 0xDC00 { + return yaml_parser_set_reader_error(parser, + "unexpected low surrogate area", + parser.offset, int(value)) + } + + // Check for a high surrogate area. + if value&0xFC00 == 0xD800 { + width = 4 + + // Check for incomplete surrogate pair. + if raw_unread < 4 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 surrogate pair", + parser.offset, -1) + } + break inner + } + + // Get the next character. + value2 := rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high+2]) << 8) + + // Check for a low surrogate area. + if value2&0xFC00 != 0xDC00 { + return yaml_parser_set_reader_error(parser, + "expected low surrogate area", + parser.offset+2, int(value2)) + } + + // Generate the value of the surrogate pair. + value = 0x10000 + ((value & 0x3FF) << 10) + (value2 & 0x3FF) + } else { + width = 2 + } + + default: + panic("impossible") + } + + // Check if the character is in the allowed range: + // #x9 | #xA | #xD | [#x20-#x7E] (8 bit) + // | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD] (16 bit) + // | [#x10000-#x10FFFF] (32 bit) + switch { + case value == 0x09: + case value == 0x0A: + case value == 0x0D: + case value >= 0x20 && value <= 0x7E: + case value == 0x85: + case value >= 0xA0 && value <= 0xD7FF: + case value >= 0xE000 && value <= 0xFFFD: + case value >= 0x10000 && value <= 0x10FFFF: + default: + return yaml_parser_set_reader_error(parser, + "control characters are not allowed", + parser.offset, int(value)) + } + + // Move the raw pointers. + parser.raw_buffer_pos += width + parser.offset += width + + // Finally put the character into the buffer. + if value <= 0x7F { + // 0000 0000-0000 007F . 0xxxxxxx + parser.buffer[buffer_len+0] = byte(value) + buffer_len += 1 + } else if value <= 0x7FF { + // 0000 0080-0000 07FF . 110xxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xC0 + (value >> 6)) + parser.buffer[buffer_len+1] = byte(0x80 + (value & 0x3F)) + buffer_len += 2 + } else if value <= 0xFFFF { + // 0000 0800-0000 FFFF . 1110xxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xE0 + (value >> 12)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + (value & 0x3F)) + buffer_len += 3 + } else { + // 0001 0000-0010 FFFF . 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xF0 + (value >> 18)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 12) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+3] = byte(0x80 + (value & 0x3F)) + buffer_len += 4 + } + + parser.unread++ + } + + // On EOF, put NUL into the buffer and return. + if parser.eof { + parser.buffer[buffer_len] = 0 + buffer_len++ + parser.unread++ + break + } + } + // [Go] Read the documentation of this function above. To return true, + // we need to have the given length in the buffer. Not doing that means + // every single check that calls this function to make sure the buffer + // has a given length is Go) panicking; or C) accessing invalid memory. + // This happens here due to the EOF above breaking early. + for buffer_len < length { + parser.buffer[buffer_len] = 0 + buffer_len++ + } + parser.buffer = parser.buffer[:buffer_len] + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/resolve.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/resolve.go new file mode 100644 index 0000000..6c151db --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/resolve.go @@ -0,0 +1,258 @@ +package yaml + +import ( + "encoding/base64" + "math" + "regexp" + "strconv" + "strings" + "time" +) + +type resolveMapItem struct { + value interface{} + tag string +} + +var resolveTable = make([]byte, 256) +var resolveMap = make(map[string]resolveMapItem) + +func init() { + t := resolveTable + t[int('+')] = 'S' // Sign + t[int('-')] = 'S' + for _, c := range "0123456789" { + t[int(c)] = 'D' // Digit + } + for _, c := range "yYnNtTfFoO~" { + t[int(c)] = 'M' // In map + } + t[int('.')] = '.' // Float (potentially in map) + + var resolveMapList = []struct { + v interface{} + tag string + l []string + }{ + {true, yaml_BOOL_TAG, []string{"y", "Y", "yes", "Yes", "YES"}}, + {true, yaml_BOOL_TAG, []string{"true", "True", "TRUE"}}, + {true, yaml_BOOL_TAG, []string{"on", "On", "ON"}}, + {false, yaml_BOOL_TAG, []string{"n", "N", "no", "No", "NO"}}, + {false, yaml_BOOL_TAG, []string{"false", "False", "FALSE"}}, + {false, yaml_BOOL_TAG, []string{"off", "Off", "OFF"}}, + {nil, yaml_NULL_TAG, []string{"", "~", "null", "Null", "NULL"}}, + {math.NaN(), yaml_FLOAT_TAG, []string{".nan", ".NaN", ".NAN"}}, + {math.Inf(+1), yaml_FLOAT_TAG, []string{".inf", ".Inf", ".INF"}}, + {math.Inf(+1), yaml_FLOAT_TAG, []string{"+.inf", "+.Inf", "+.INF"}}, + {math.Inf(-1), yaml_FLOAT_TAG, []string{"-.inf", "-.Inf", "-.INF"}}, + {"<<", yaml_MERGE_TAG, []string{"<<"}}, + } + + m := resolveMap + for _, item := range resolveMapList { + for _, s := range item.l { + m[s] = resolveMapItem{item.v, item.tag} + } + } +} + +const longTagPrefix = "tag:yaml.org,2002:" + +func shortTag(tag string) string { + // TODO This can easily be made faster and produce less garbage. + if strings.HasPrefix(tag, longTagPrefix) { + return "!!" + tag[len(longTagPrefix):] + } + return tag +} + +func longTag(tag string) string { + if strings.HasPrefix(tag, "!!") { + return longTagPrefix + tag[2:] + } + return tag +} + +func resolvableTag(tag string) bool { + switch tag { + case "", yaml_STR_TAG, yaml_BOOL_TAG, yaml_INT_TAG, yaml_FLOAT_TAG, yaml_NULL_TAG, yaml_TIMESTAMP_TAG: + return true + } + return false +} + +var yamlStyleFloat = regexp.MustCompile(`^[-+]?[0-9]*\.?[0-9]+([eE][-+][0-9]+)?$`) + +func resolve(tag string, in string) (rtag string, out interface{}) { + if !resolvableTag(tag) { + return tag, in + } + + defer func() { + switch tag { + case "", rtag, yaml_STR_TAG, yaml_BINARY_TAG: + return + case yaml_FLOAT_TAG: + if rtag == yaml_INT_TAG { + switch v := out.(type) { + case int64: + rtag = yaml_FLOAT_TAG + out = float64(v) + return + case int: + rtag = yaml_FLOAT_TAG + out = float64(v) + return + } + } + } + failf("cannot decode %s `%s` as a %s", shortTag(rtag), in, shortTag(tag)) + }() + + // Any data is accepted as a !!str or !!binary. + // Otherwise, the prefix is enough of a hint about what it might be. + hint := byte('N') + if in != "" { + hint = resolveTable[in[0]] + } + if hint != 0 && tag != yaml_STR_TAG && tag != yaml_BINARY_TAG { + // Handle things we can lookup in a map. + if item, ok := resolveMap[in]; ok { + return item.tag, item.value + } + + // Base 60 floats are a bad idea, were dropped in YAML 1.2, and + // are purposefully unsupported here. They're still quoted on + // the way out for compatibility with other parser, though. + + switch hint { + case 'M': + // We've already checked the map above. + + case '.': + // Not in the map, so maybe a normal float. + floatv, err := strconv.ParseFloat(in, 64) + if err == nil { + return yaml_FLOAT_TAG, floatv + } + + case 'D', 'S': + // Int, float, or timestamp. + // Only try values as a timestamp if the value is unquoted or there's an explicit + // !!timestamp tag. + if tag == "" || tag == yaml_TIMESTAMP_TAG { + t, ok := parseTimestamp(in) + if ok { + return yaml_TIMESTAMP_TAG, t + } + } + + plain := strings.Replace(in, "_", "", -1) + intv, err := strconv.ParseInt(plain, 0, 64) + if err == nil { + if intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + uintv, err := strconv.ParseUint(plain, 0, 64) + if err == nil { + return yaml_INT_TAG, uintv + } + if yamlStyleFloat.MatchString(plain) { + floatv, err := strconv.ParseFloat(plain, 64) + if err == nil { + return yaml_FLOAT_TAG, floatv + } + } + if strings.HasPrefix(plain, "0b") { + intv, err := strconv.ParseInt(plain[2:], 2, 64) + if err == nil { + if intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + uintv, err := strconv.ParseUint(plain[2:], 2, 64) + if err == nil { + return yaml_INT_TAG, uintv + } + } else if strings.HasPrefix(plain, "-0b") { + intv, err := strconv.ParseInt("-" + plain[3:], 2, 64) + if err == nil { + if true || intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + } + default: + panic("resolveTable item not yet handled: " + string(rune(hint)) + " (with " + in + ")") + } + } + return yaml_STR_TAG, in +} + +// encodeBase64 encodes s as base64 that is broken up into multiple lines +// as appropriate for the resulting length. +func encodeBase64(s string) string { + const lineLen = 70 + encLen := base64.StdEncoding.EncodedLen(len(s)) + lines := encLen/lineLen + 1 + buf := make([]byte, encLen*2+lines) + in := buf[0:encLen] + out := buf[encLen:] + base64.StdEncoding.Encode(in, []byte(s)) + k := 0 + for i := 0; i < len(in); i += lineLen { + j := i + lineLen + if j > len(in) { + j = len(in) + } + k += copy(out[k:], in[i:j]) + if lines > 1 { + out[k] = '\n' + k++ + } + } + return string(out[:k]) +} + +// This is a subset of the formats allowed by the regular expression +// defined at http://yaml.org/type/timestamp.html. +var allowedTimestampFormats = []string{ + "2006-1-2T15:4:5.999999999Z07:00", // RCF3339Nano with short date fields. + "2006-1-2t15:4:5.999999999Z07:00", // RFC3339Nano with short date fields and lower-case "t". + "2006-1-2 15:4:5.999999999", // space separated with no time zone + "2006-1-2", // date only + // Notable exception: time.Parse cannot handle: "2001-12-14 21:59:43.10 -5" + // from the set of examples. +} + +// parseTimestamp parses s as a timestamp string and +// returns the timestamp and reports whether it succeeded. +// Timestamp formats are defined at http://yaml.org/type/timestamp.html +func parseTimestamp(s string) (time.Time, bool) { + // TODO write code to check all the formats supported by + // http://yaml.org/type/timestamp.html instead of using time.Parse. + + // Quick check: all date formats start with YYYY-. + i := 0 + for ; i < len(s); i++ { + if c := s[i]; c < '0' || c > '9' { + break + } + } + if i != 4 || i == len(s) || s[i] != '-' { + return time.Time{}, false + } + for _, format := range allowedTimestampFormats { + if t, err := time.Parse(format, s); err == nil { + return t, true + } + } + return time.Time{}, false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/scannerc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/scannerc.go new file mode 100644 index 0000000..077fd1d --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/scannerc.go @@ -0,0 +1,2696 @@ +package yaml + +import ( + "bytes" + "fmt" +) + +// Introduction +// ************ +// +// The following notes assume that you are familiar with the YAML specification +// (http://yaml.org/spec/1.2/spec.html). We mostly follow it, although in +// some cases we are less restrictive that it requires. +// +// The process of transforming a YAML stream into a sequence of events is +// divided on two steps: Scanning and Parsing. +// +// The Scanner transforms the input stream into a sequence of tokens, while the +// parser transform the sequence of tokens produced by the Scanner into a +// sequence of parsing events. +// +// The Scanner is rather clever and complicated. The Parser, on the contrary, +// is a straightforward implementation of a recursive-descendant parser (or, +// LL(1) parser, as it is usually called). +// +// Actually there are two issues of Scanning that might be called "clever", the +// rest is quite straightforward. The issues are "block collection start" and +// "simple keys". Both issues are explained below in details. +// +// Here the Scanning step is explained and implemented. We start with the list +// of all the tokens produced by the Scanner together with short descriptions. +// +// Now, tokens: +// +// STREAM-START(encoding) # The stream start. +// STREAM-END # The stream end. +// VERSION-DIRECTIVE(major,minor) # The '%YAML' directive. +// TAG-DIRECTIVE(handle,prefix) # The '%TAG' directive. +// DOCUMENT-START # '---' +// DOCUMENT-END # '...' +// BLOCK-SEQUENCE-START # Indentation increase denoting a block +// BLOCK-MAPPING-START # sequence or a block mapping. +// BLOCK-END # Indentation decrease. +// FLOW-SEQUENCE-START # '[' +// FLOW-SEQUENCE-END # ']' +// BLOCK-SEQUENCE-START # '{' +// BLOCK-SEQUENCE-END # '}' +// BLOCK-ENTRY # '-' +// FLOW-ENTRY # ',' +// KEY # '?' or nothing (simple keys). +// VALUE # ':' +// ALIAS(anchor) # '*anchor' +// ANCHOR(anchor) # '&anchor' +// TAG(handle,suffix) # '!handle!suffix' +// SCALAR(value,style) # A scalar. +// +// The following two tokens are "virtual" tokens denoting the beginning and the +// end of the stream: +// +// STREAM-START(encoding) +// STREAM-END +// +// We pass the information about the input stream encoding with the +// STREAM-START token. +// +// The next two tokens are responsible for tags: +// +// VERSION-DIRECTIVE(major,minor) +// TAG-DIRECTIVE(handle,prefix) +// +// Example: +// +// %YAML 1.1 +// %TAG ! !foo +// %TAG !yaml! tag:yaml.org,2002: +// --- +// +// The correspoding sequence of tokens: +// +// STREAM-START(utf-8) +// VERSION-DIRECTIVE(1,1) +// TAG-DIRECTIVE("!","!foo") +// TAG-DIRECTIVE("!yaml","tag:yaml.org,2002:") +// DOCUMENT-START +// STREAM-END +// +// Note that the VERSION-DIRECTIVE and TAG-DIRECTIVE tokens occupy a whole +// line. +// +// The document start and end indicators are represented by: +// +// DOCUMENT-START +// DOCUMENT-END +// +// Note that if a YAML stream contains an implicit document (without '---' +// and '...' indicators), no DOCUMENT-START and DOCUMENT-END tokens will be +// produced. +// +// In the following examples, we present whole documents together with the +// produced tokens. +// +// 1. An implicit document: +// +// 'a scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// STREAM-END +// +// 2. An explicit document: +// +// --- +// 'a scalar' +// ... +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// SCALAR("a scalar",single-quoted) +// DOCUMENT-END +// STREAM-END +// +// 3. Several documents in a stream: +// +// 'a scalar' +// --- +// 'another scalar' +// --- +// 'yet another scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// DOCUMENT-START +// SCALAR("another scalar",single-quoted) +// DOCUMENT-START +// SCALAR("yet another scalar",single-quoted) +// STREAM-END +// +// We have already introduced the SCALAR token above. The following tokens are +// used to describe aliases, anchors, tag, and scalars: +// +// ALIAS(anchor) +// ANCHOR(anchor) +// TAG(handle,suffix) +// SCALAR(value,style) +// +// The following series of examples illustrate the usage of these tokens: +// +// 1. A recursive sequence: +// +// &A [ *A ] +// +// Tokens: +// +// STREAM-START(utf-8) +// ANCHOR("A") +// FLOW-SEQUENCE-START +// ALIAS("A") +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A tagged scalar: +// +// !!float "3.14" # A good approximation. +// +// Tokens: +// +// STREAM-START(utf-8) +// TAG("!!","float") +// SCALAR("3.14",double-quoted) +// STREAM-END +// +// 3. Various scalar styles: +// +// --- # Implicit empty plain scalars do not produce tokens. +// --- a plain scalar +// --- 'a single-quoted scalar' +// --- "a double-quoted scalar" +// --- |- +// a literal scalar +// --- >- +// a folded +// scalar +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// DOCUMENT-START +// SCALAR("a plain scalar",plain) +// DOCUMENT-START +// SCALAR("a single-quoted scalar",single-quoted) +// DOCUMENT-START +// SCALAR("a double-quoted scalar",double-quoted) +// DOCUMENT-START +// SCALAR("a literal scalar",literal) +// DOCUMENT-START +// SCALAR("a folded scalar",folded) +// STREAM-END +// +// Now it's time to review collection-related tokens. We will start with +// flow collections: +// +// FLOW-SEQUENCE-START +// FLOW-SEQUENCE-END +// FLOW-MAPPING-START +// FLOW-MAPPING-END +// FLOW-ENTRY +// KEY +// VALUE +// +// The tokens FLOW-SEQUENCE-START, FLOW-SEQUENCE-END, FLOW-MAPPING-START, and +// FLOW-MAPPING-END represent the indicators '[', ']', '{', and '}' +// correspondingly. FLOW-ENTRY represent the ',' indicator. Finally the +// indicators '?' and ':', which are used for denoting mapping keys and values, +// are represented by the KEY and VALUE tokens. +// +// The following examples show flow collections: +// +// 1. A flow sequence: +// +// [item 1, item 2, item 3] +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-SEQUENCE-START +// SCALAR("item 1",plain) +// FLOW-ENTRY +// SCALAR("item 2",plain) +// FLOW-ENTRY +// SCALAR("item 3",plain) +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A flow mapping: +// +// { +// a simple key: a value, # Note that the KEY token is produced. +// ? a complex key: another value, +// } +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// FLOW-ENTRY +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// FLOW-ENTRY +// FLOW-MAPPING-END +// STREAM-END +// +// A simple key is a key which is not denoted by the '?' indicator. Note that +// the Scanner still produce the KEY token whenever it encounters a simple key. +// +// For scanning block collections, the following tokens are used (note that we +// repeat KEY and VALUE here): +// +// BLOCK-SEQUENCE-START +// BLOCK-MAPPING-START +// BLOCK-END +// BLOCK-ENTRY +// KEY +// VALUE +// +// The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation +// increase that precedes a block collection (cf. the INDENT token in Python). +// The token BLOCK-END denote indentation decrease that ends a block collection +// (cf. the DEDENT token in Python). However YAML has some syntax pecularities +// that makes detections of these tokens more complex. +// +// The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators +// '-', '?', and ':' correspondingly. +// +// The following examples show how the tokens BLOCK-SEQUENCE-START, +// BLOCK-MAPPING-START, and BLOCK-END are emitted by the Scanner: +// +// 1. Block sequences: +// +// - item 1 +// - item 2 +// - +// - item 3.1 +// - item 3.2 +// - +// key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 3.1",plain) +// BLOCK-ENTRY +// SCALAR("item 3.2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Block mappings: +// +// a simple key: a value # The KEY token is produced here. +// ? a complex key +// : another value +// a mapping: +// key 1: value 1 +// key 2: value 2 +// a sequence: +// - item 1 +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// KEY +// SCALAR("a mapping",plain) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML does not always require to start a new block collection from a new +// line. If the current line contains only '-', '?', and ':' indicators, a new +// block collection may start at the current line. The following examples +// illustrate this case: +// +// 1. Collections in a sequence: +// +// - - item 1 +// - item 2 +// - key 1: value 1 +// key 2: value 2 +// - ? complex key +// : complex value +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("complex key") +// VALUE +// SCALAR("complex value") +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Collections in a mapping: +// +// ? a sequence +// : - item 1 +// - item 2 +// ? a mapping +// : key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// KEY +// SCALAR("a mapping",plain) +// VALUE +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML also permits non-indented sequences if they are included into a block +// mapping. In this case, the token BLOCK-SEQUENCE-START is not produced: +// +// key: +// - item 1 # BLOCK-SEQUENCE-START is NOT produced here. +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key",plain) +// VALUE +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// + +// Ensure that the buffer contains the required number of characters. +// Return true on success, false on failure (reader error or memory error). +func cache(parser *yaml_parser_t, length int) bool { + // [Go] This was inlined: !cache(A, B) -> unread < B && !update(A, B) + return parser.unread >= length || yaml_parser_update_buffer(parser, length) +} + +// Advance the buffer pointer. +func skip(parser *yaml_parser_t) { + parser.mark.index++ + parser.mark.column++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) +} + +func skip_line(parser *yaml_parser_t) { + if is_crlf(parser.buffer, parser.buffer_pos) { + parser.mark.index += 2 + parser.mark.column = 0 + parser.mark.line++ + parser.unread -= 2 + parser.buffer_pos += 2 + } else if is_break(parser.buffer, parser.buffer_pos) { + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) + } +} + +// Copy a character to a string buffer and advance pointers. +func read(parser *yaml_parser_t, s []byte) []byte { + w := width(parser.buffer[parser.buffer_pos]) + if w == 0 { + panic("invalid character sequence") + } + if len(s) == 0 { + s = make([]byte, 0, 32) + } + if w == 1 && len(s)+w <= cap(s) { + s = s[:len(s)+1] + s[len(s)-1] = parser.buffer[parser.buffer_pos] + parser.buffer_pos++ + } else { + s = append(s, parser.buffer[parser.buffer_pos:parser.buffer_pos+w]...) + parser.buffer_pos += w + } + parser.mark.index++ + parser.mark.column++ + parser.unread-- + return s +} + +// Copy a line break character to a string buffer and advance pointers. +func read_line(parser *yaml_parser_t, s []byte) []byte { + buf := parser.buffer + pos := parser.buffer_pos + switch { + case buf[pos] == '\r' && buf[pos+1] == '\n': + // CR LF . LF + s = append(s, '\n') + parser.buffer_pos += 2 + parser.mark.index++ + parser.unread-- + case buf[pos] == '\r' || buf[pos] == '\n': + // CR|LF . LF + s = append(s, '\n') + parser.buffer_pos += 1 + case buf[pos] == '\xC2' && buf[pos+1] == '\x85': + // NEL . LF + s = append(s, '\n') + parser.buffer_pos += 2 + case buf[pos] == '\xE2' && buf[pos+1] == '\x80' && (buf[pos+2] == '\xA8' || buf[pos+2] == '\xA9'): + // LS|PS . LS|PS + s = append(s, buf[parser.buffer_pos:pos+3]...) + parser.buffer_pos += 3 + default: + return s + } + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + return s +} + +// Get the next token. +func yaml_parser_scan(parser *yaml_parser_t, token *yaml_token_t) bool { + // Erase the token object. + *token = yaml_token_t{} // [Go] Is this necessary? + + // No tokens after STREAM-END or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR { + return true + } + + // Ensure that the tokens queue contains enough tokens. + if !parser.token_available { + if !yaml_parser_fetch_more_tokens(parser) { + return false + } + } + + // Fetch the next token from the queue. + *token = parser.tokens[parser.tokens_head] + parser.tokens_head++ + parser.tokens_parsed++ + parser.token_available = false + + if token.typ == yaml_STREAM_END_TOKEN { + parser.stream_end_produced = true + } + return true +} + +// Set the scanner error and return false. +func yaml_parser_set_scanner_error(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string) bool { + parser.error = yaml_SCANNER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = parser.mark + return false +} + +func yaml_parser_set_scanner_tag_error(parser *yaml_parser_t, directive bool, context_mark yaml_mark_t, problem string) bool { + context := "while parsing a tag" + if directive { + context = "while parsing a %TAG directive" + } + return yaml_parser_set_scanner_error(parser, context, context_mark, problem) +} + +func trace(args ...interface{}) func() { + pargs := append([]interface{}{"+++"}, args...) + fmt.Println(pargs...) + pargs = append([]interface{}{"---"}, args...) + return func() { fmt.Println(pargs...) } +} + +// Ensure that the tokens queue contains at least one token which can be +// returned to the Parser. +func yaml_parser_fetch_more_tokens(parser *yaml_parser_t) bool { + // While we need more tokens to fetch, do it. + for { + // Check if we really need to fetch more tokens. + need_more_tokens := false + + if parser.tokens_head == len(parser.tokens) { + // Queue is empty. + need_more_tokens = true + } else { + // Check if any potential simple key may occupy the head position. + if !yaml_parser_stale_simple_keys(parser) { + return false + } + + for i := range parser.simple_keys { + simple_key := &parser.simple_keys[i] + if simple_key.possible && simple_key.token_number == parser.tokens_parsed { + need_more_tokens = true + break + } + } + } + + // We are finished. + if !need_more_tokens { + break + } + // Fetch the next token. + if !yaml_parser_fetch_next_token(parser) { + return false + } + } + + parser.token_available = true + return true +} + +// The dispatcher for token fetchers. +func yaml_parser_fetch_next_token(parser *yaml_parser_t) bool { + // Ensure that the buffer is initialized. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we just started scanning. Fetch STREAM-START then. + if !parser.stream_start_produced { + return yaml_parser_fetch_stream_start(parser) + } + + // Eat whitespaces and comments until we reach the next token. + if !yaml_parser_scan_to_next_token(parser) { + return false + } + + // Remove obsolete potential simple keys. + if !yaml_parser_stale_simple_keys(parser) { + return false + } + + // Check the indentation level against the current column. + if !yaml_parser_unroll_indent(parser, parser.mark.column) { + return false + } + + // Ensure that the buffer contains at least 4 characters. 4 is the length + // of the longest indicators ('--- ' and '... '). + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + // Is it the end of the stream? + if is_z(parser.buffer, parser.buffer_pos) { + return yaml_parser_fetch_stream_end(parser) + } + + // Is it a directive? + if parser.mark.column == 0 && parser.buffer[parser.buffer_pos] == '%' { + return yaml_parser_fetch_directive(parser) + } + + buf := parser.buffer + pos := parser.buffer_pos + + // Is it the document start indicator? + if parser.mark.column == 0 && buf[pos] == '-' && buf[pos+1] == '-' && buf[pos+2] == '-' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_START_TOKEN) + } + + // Is it the document end indicator? + if parser.mark.column == 0 && buf[pos] == '.' && buf[pos+1] == '.' && buf[pos+2] == '.' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_END_TOKEN) + } + + // Is it the flow sequence start indicator? + if buf[pos] == '[' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_SEQUENCE_START_TOKEN) + } + + // Is it the flow mapping start indicator? + if parser.buffer[parser.buffer_pos] == '{' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_MAPPING_START_TOKEN) + } + + // Is it the flow sequence end indicator? + if parser.buffer[parser.buffer_pos] == ']' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_SEQUENCE_END_TOKEN) + } + + // Is it the flow mapping end indicator? + if parser.buffer[parser.buffer_pos] == '}' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_MAPPING_END_TOKEN) + } + + // Is it the flow entry indicator? + if parser.buffer[parser.buffer_pos] == ',' { + return yaml_parser_fetch_flow_entry(parser) + } + + // Is it the block entry indicator? + if parser.buffer[parser.buffer_pos] == '-' && is_blankz(parser.buffer, parser.buffer_pos+1) { + return yaml_parser_fetch_block_entry(parser) + } + + // Is it the key indicator? + if parser.buffer[parser.buffer_pos] == '?' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_key(parser) + } + + // Is it the value indicator? + if parser.buffer[parser.buffer_pos] == ':' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_value(parser) + } + + // Is it an alias? + if parser.buffer[parser.buffer_pos] == '*' { + return yaml_parser_fetch_anchor(parser, yaml_ALIAS_TOKEN) + } + + // Is it an anchor? + if parser.buffer[parser.buffer_pos] == '&' { + return yaml_parser_fetch_anchor(parser, yaml_ANCHOR_TOKEN) + } + + // Is it a tag? + if parser.buffer[parser.buffer_pos] == '!' { + return yaml_parser_fetch_tag(parser) + } + + // Is it a literal scalar? + if parser.buffer[parser.buffer_pos] == '|' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, true) + } + + // Is it a folded scalar? + if parser.buffer[parser.buffer_pos] == '>' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, false) + } + + // Is it a single-quoted scalar? + if parser.buffer[parser.buffer_pos] == '\'' { + return yaml_parser_fetch_flow_scalar(parser, true) + } + + // Is it a double-quoted scalar? + if parser.buffer[parser.buffer_pos] == '"' { + return yaml_parser_fetch_flow_scalar(parser, false) + } + + // Is it a plain scalar? + // + // A plain scalar may start with any non-blank characters except + // + // '-', '?', ':', ',', '[', ']', '{', '}', + // '#', '&', '*', '!', '|', '>', '\'', '\"', + // '%', '@', '`'. + // + // In the block context (and, for the '-' indicator, in the flow context + // too), it may also start with the characters + // + // '-', '?', ':' + // + // if it is followed by a non-space character. + // + // The last rule is more restrictive than the specification requires. + // [Go] Make this logic more reasonable. + //switch parser.buffer[parser.buffer_pos] { + //case '-', '?', ':', ',', '?', '-', ',', ':', ']', '[', '}', '{', '&', '#', '!', '*', '>', '|', '"', '\'', '@', '%', '-', '`': + //} + if !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '-' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}' || parser.buffer[parser.buffer_pos] == '#' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '*' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '|' || + parser.buffer[parser.buffer_pos] == '>' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '"' || parser.buffer[parser.buffer_pos] == '%' || + parser.buffer[parser.buffer_pos] == '@' || parser.buffer[parser.buffer_pos] == '`') || + (parser.buffer[parser.buffer_pos] == '-' && !is_blank(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level == 0 && + (parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':') && + !is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_plain_scalar(parser) + } + + // If we don't determine the token type so far, it is an error. + return yaml_parser_set_scanner_error(parser, + "while scanning for the next token", parser.mark, + "found character that cannot start any token") +} + +// Check the list of potential simple keys and remove the positions that +// cannot contain simple keys anymore. +func yaml_parser_stale_simple_keys(parser *yaml_parser_t) bool { + // Check for a potential simple key for each flow level. + for i := range parser.simple_keys { + simple_key := &parser.simple_keys[i] + + // The specification requires that a simple key + // + // - is limited to a single line, + // - is shorter than 1024 characters. + if simple_key.possible && (simple_key.mark.line < parser.mark.line || simple_key.mark.index+1024 < parser.mark.index) { + + // Check if the potential simple key to be removed is required. + if simple_key.required { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", simple_key.mark, + "could not find expected ':'") + } + simple_key.possible = false + } + } + return true +} + +// Check if a simple key may start at the current position and add it if +// needed. +func yaml_parser_save_simple_key(parser *yaml_parser_t) bool { + // A simple key is required at the current position if the scanner is in + // the block context and the current column coincides with the indentation + // level. + + required := parser.flow_level == 0 && parser.indent == parser.mark.column + + // + // If the current position may start a simple key, save it. + // + if parser.simple_key_allowed { + simple_key := yaml_simple_key_t{ + possible: true, + required: required, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + } + simple_key.mark = parser.mark + + if !yaml_parser_remove_simple_key(parser) { + return false + } + parser.simple_keys[len(parser.simple_keys)-1] = simple_key + } + return true +} + +// Remove a potential simple key at the current flow level. +func yaml_parser_remove_simple_key(parser *yaml_parser_t) bool { + i := len(parser.simple_keys) - 1 + if parser.simple_keys[i].possible { + // If the key is required, it is an error. + if parser.simple_keys[i].required { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", parser.simple_keys[i].mark, + "could not find expected ':'") + } + } + // Remove the key from the stack. + parser.simple_keys[i].possible = false + return true +} + +// Increase the flow level and resize the simple key list if needed. +func yaml_parser_increase_flow_level(parser *yaml_parser_t) bool { + // Reset the simple key on the next level. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{}) + + // Increase the flow level. + parser.flow_level++ + return true +} + +// Decrease the flow level. +func yaml_parser_decrease_flow_level(parser *yaml_parser_t) bool { + if parser.flow_level > 0 { + parser.flow_level-- + parser.simple_keys = parser.simple_keys[:len(parser.simple_keys)-1] + } + return true +} + +// Push the current indentation level to the stack and set the new level +// the current column is greater than the indentation level. In this case, +// append or insert the specified token into the token queue. +func yaml_parser_roll_indent(parser *yaml_parser_t, column, number int, typ yaml_token_type_t, mark yaml_mark_t) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + if parser.indent < column { + // Push the current indentation level to the stack and set the new + // indentation level. + parser.indents = append(parser.indents, parser.indent) + parser.indent = column + + // Create a token and insert it into the queue. + token := yaml_token_t{ + typ: typ, + start_mark: mark, + end_mark: mark, + } + if number > -1 { + number -= parser.tokens_parsed + } + yaml_insert_token(parser, number, &token) + } + return true +} + +// Pop indentation levels from the indents stack until the current level +// becomes less or equal to the column. For each indentation level, append +// the BLOCK-END token. +func yaml_parser_unroll_indent(parser *yaml_parser_t, column int) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + // Loop through the indentation levels in the stack. + for parser.indent > column { + // Create a token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + + // Pop the indentation level. + parser.indent = parser.indents[len(parser.indents)-1] + parser.indents = parser.indents[:len(parser.indents)-1] + } + return true +} + +// Initialize the scanner and produce the STREAM-START token. +func yaml_parser_fetch_stream_start(parser *yaml_parser_t) bool { + + // Set the initial indentation. + parser.indent = -1 + + // Initialize the simple key stack. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{}) + + // A simple key is allowed at the beginning of the stream. + parser.simple_key_allowed = true + + // We have started. + parser.stream_start_produced = true + + // Create the STREAM-START token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_START_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + encoding: parser.encoding, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the STREAM-END token and shut down the scanner. +func yaml_parser_fetch_stream_end(parser *yaml_parser_t) bool { + + // Force new line. + if parser.mark.column != 0 { + parser.mark.column = 0 + parser.mark.line++ + } + + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the STREAM-END token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce a VERSION-DIRECTIVE or TAG-DIRECTIVE token. +func yaml_parser_fetch_directive(parser *yaml_parser_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the YAML-DIRECTIVE or TAG-DIRECTIVE token. + token := yaml_token_t{} + if !yaml_parser_scan_directive(parser, &token) { + return false + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the DOCUMENT-START or DOCUMENT-END token. +func yaml_parser_fetch_document_indicator(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Consume the token. + start_mark := parser.mark + + skip(parser) + skip(parser) + skip(parser) + + end_mark := parser.mark + + // Create the DOCUMENT-START or DOCUMENT-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. +func yaml_parser_fetch_flow_collection_start(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // The indicators '[' and '{' may start a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // Increase the flow level. + if !yaml_parser_increase_flow_level(parser) { + return false + } + + // A simple key may follow the indicators '[' and '{'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-START of FLOW-MAPPING-START token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. +func yaml_parser_fetch_flow_collection_end(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset any potential simple key on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Decrease the flow level. + if !yaml_parser_decrease_flow_level(parser) { + return false + } + + // No simple keys after the indicators ']' and '}'. + parser.simple_key_allowed = false + + // Consume the token. + + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-END of FLOW-MAPPING-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-ENTRY token. +func yaml_parser_fetch_flow_entry(parser *yaml_parser_t) bool { + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after ','. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_FLOW_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the BLOCK-ENTRY token. +func yaml_parser_fetch_block_entry(parser *yaml_parser_t) bool { + // Check if the scanner is in the block context. + if parser.flow_level == 0 { + // Check if we are allowed to start a new entry. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "block sequence entries are not allowed in this context") + } + // Add the BLOCK-SEQUENCE-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_SEQUENCE_START_TOKEN, parser.mark) { + return false + } + } else { + // It is an error for the '-' indicator to occur in the flow context, + // but we let the Parser detect and report about it because the Parser + // is able to point to the context. + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '-'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the BLOCK-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the KEY token. +func yaml_parser_fetch_key(parser *yaml_parser_t) bool { + + // In the block context, additional checks are required. + if parser.flow_level == 0 { + // Check if we are allowed to start a new key (not nessesary simple). + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping keys are not allowed in this context") + } + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '?' in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the KEY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the VALUE token. +func yaml_parser_fetch_value(parser *yaml_parser_t) bool { + + simple_key := &parser.simple_keys[len(parser.simple_keys)-1] + + // Have we found a simple key? + if simple_key.possible { + // Create the KEY token and insert it into the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: simple_key.mark, + end_mark: simple_key.mark, + } + yaml_insert_token(parser, simple_key.token_number-parser.tokens_parsed, &token) + + // In the block context, we may need to add the BLOCK-MAPPING-START token. + if !yaml_parser_roll_indent(parser, simple_key.mark.column, + simple_key.token_number, + yaml_BLOCK_MAPPING_START_TOKEN, simple_key.mark) { + return false + } + + // Remove the simple key. + simple_key.possible = false + + // A simple key cannot follow another simple key. + parser.simple_key_allowed = false + + } else { + // The ':' indicator follows a complex key. + + // In the block context, extra checks are required. + if parser.flow_level == 0 { + + // Check if we are allowed to start a complex value. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping values are not allowed in this context") + } + + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Simple keys after ':' are allowed in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + } + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the VALUE token and append it to the queue. + token := yaml_token_t{ + typ: yaml_VALUE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the ALIAS or ANCHOR token. +func yaml_parser_fetch_anchor(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // An anchor or an alias could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow an anchor or an alias. + parser.simple_key_allowed = false + + // Create the ALIAS or ANCHOR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_anchor(parser, &token, typ) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the TAG token. +func yaml_parser_fetch_tag(parser *yaml_parser_t) bool { + // A tag could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a tag. + parser.simple_key_allowed = false + + // Create the TAG token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_tag(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. +func yaml_parser_fetch_block_scalar(parser *yaml_parser_t, literal bool) bool { + // Remove any potential simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // A simple key may follow a block scalar. + parser.simple_key_allowed = true + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_block_scalar(parser, &token, literal) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. +func yaml_parser_fetch_flow_scalar(parser *yaml_parser_t, single bool) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_flow_scalar(parser, &token, single) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,plain) token. +func yaml_parser_fetch_plain_scalar(parser *yaml_parser_t) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_plain_scalar(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Eat whitespaces and comments until the next token is found. +func yaml_parser_scan_to_next_token(parser *yaml_parser_t) bool { + + // Until the next token is not found. + for { + // Allow the BOM mark to start a line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.mark.column == 0 && is_bom(parser.buffer, parser.buffer_pos) { + skip(parser) + } + + // Eat whitespaces. + // Tabs are allowed: + // - in the flow context + // - in the block context, but not at the beginning of the line or + // after '-', '?', or ':' (complex value). + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for parser.buffer[parser.buffer_pos] == ' ' || ((parser.flow_level > 0 || !parser.simple_key_allowed) && parser.buffer[parser.buffer_pos] == '\t') { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Eat a comment until a line break. + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // If it is a line break, eat it. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + + // In the block context, a new line may start a simple key. + if parser.flow_level == 0 { + parser.simple_key_allowed = true + } + } else { + break // We have found a token. + } + } + + return true +} + +// Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_directive(parser *yaml_parser_t, token *yaml_token_t) bool { + // Eat '%'. + start_mark := parser.mark + skip(parser) + + // Scan the directive name. + var name []byte + if !yaml_parser_scan_directive_name(parser, start_mark, &name) { + return false + } + + // Is it a YAML directive? + if bytes.Equal(name, []byte("YAML")) { + // Scan the VERSION directive value. + var major, minor int8 + if !yaml_parser_scan_version_directive_value(parser, start_mark, &major, &minor) { + return false + } + end_mark := parser.mark + + // Create a VERSION-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_VERSION_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + major: major, + minor: minor, + } + + // Is it a TAG directive? + } else if bytes.Equal(name, []byte("TAG")) { + // Scan the TAG directive value. + var handle, prefix []byte + if !yaml_parser_scan_tag_directive_value(parser, start_mark, &handle, &prefix) { + return false + } + end_mark := parser.mark + + // Create a TAG-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_TAG_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + prefix: prefix, + } + + // Unknown directive. + } else { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unknown directive name") + return false + } + + // Eat the rest of the line including any comments. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + return true +} + +// Scan the directive name. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^ +// +func yaml_parser_scan_directive_name(parser *yaml_parser_t, start_mark yaml_mark_t, name *[]byte) bool { + // Consume the directive name. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + var s []byte + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the name is empty. + if len(s) == 0 { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "could not find expected directive name") + return false + } + + // Check for an blank character after the name. + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unexpected non-alphabetical character") + return false + } + *name = s + return true +} + +// Scan the value of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^ +func yaml_parser_scan_version_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, major, minor *int8) bool { + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the major version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, major) { + return false + } + + // Eat '.'. + if parser.buffer[parser.buffer_pos] != '.' { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected digit or '.' character") + } + + skip(parser) + + // Consume the minor version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, minor) { + return false + } + return true +} + +const max_number_length = 2 + +// Scan the version number of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^ +// %YAML 1.1 # a comment \n +// ^ +func yaml_parser_scan_version_directive_number(parser *yaml_parser_t, start_mark yaml_mark_t, number *int8) bool { + + // Repeat while the next character is digit. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var value, length int8 + for is_digit(parser.buffer, parser.buffer_pos) { + // Check if the number is too long. + length++ + if length > max_number_length { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "found extremely long version number") + } + value = value*10 + int8(as_digit(parser.buffer, parser.buffer_pos)) + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the number was present. + if length == 0 { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected version number") + } + *number = value + return true +} + +// Scan the value of a TAG-DIRECTIVE token. +// +// Scope: +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_tag_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, handle, prefix *[]byte) bool { + var handle_value, prefix_value []byte + + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a handle. + if !yaml_parser_scan_tag_handle(parser, true, start_mark, &handle_value) { + return false + } + + // Expect a whitespace. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blank(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace") + return false + } + + // Eat whitespaces. + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a prefix. + if !yaml_parser_scan_tag_uri(parser, true, nil, start_mark, &prefix_value) { + return false + } + + // Expect a whitespace or line break. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace or line break") + return false + } + + *handle = handle_value + *prefix = prefix_value + return true +} + +func yaml_parser_scan_anchor(parser *yaml_parser_t, token *yaml_token_t, typ yaml_token_type_t) bool { + var s []byte + + // Eat the indicator character. + start_mark := parser.mark + skip(parser) + + // Consume the value. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + end_mark := parser.mark + + /* + * Check if length of the anchor is greater than 0 and it is followed by + * a whitespace character or one of the indicators: + * + * '?', ':', ',', ']', '}', '%', '@', '`'. + */ + + if len(s) == 0 || + !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '}' || + parser.buffer[parser.buffer_pos] == '%' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '`') { + context := "while scanning an alias" + if typ == yaml_ANCHOR_TOKEN { + context = "while scanning an anchor" + } + yaml_parser_set_scanner_error(parser, context, start_mark, + "did not find expected alphabetic or numeric character") + return false + } + + // Create a token. + *token = yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + value: s, + } + + return true +} + +/* + * Scan a TAG token. + */ + +func yaml_parser_scan_tag(parser *yaml_parser_t, token *yaml_token_t) bool { + var handle, suffix []byte + + start_mark := parser.mark + + // Check if the tag is in the canonical form. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + if parser.buffer[parser.buffer_pos+1] == '<' { + // Keep the handle as '' + + // Eat '!<' + skip(parser) + skip(parser) + + // Consume the tag value. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + + // Check for '>' and eat it. + if parser.buffer[parser.buffer_pos] != '>' { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find the expected '>'") + return false + } + + skip(parser) + } else { + // The tag has either the '!suffix' or the '!handle!suffix' form. + + // First, try to scan a handle. + if !yaml_parser_scan_tag_handle(parser, false, start_mark, &handle) { + return false + } + + // Check if it is, indeed, handle. + if handle[0] == '!' && len(handle) > 1 && handle[len(handle)-1] == '!' { + // Scan the suffix now. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + } else { + // It wasn't a handle after all. Scan the rest of the tag. + if !yaml_parser_scan_tag_uri(parser, false, handle, start_mark, &suffix) { + return false + } + + // Set the handle to '!'. + handle = []byte{'!'} + + // A special case: the '!' tag. Set the handle to '' and the + // suffix to '!'. + if len(suffix) == 0 { + handle, suffix = suffix, handle + } + } + } + + // Check the character which ends the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find expected whitespace or line break") + return false + } + + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_TAG_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + suffix: suffix, + } + return true +} + +// Scan a tag handle. +func yaml_parser_scan_tag_handle(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, handle *[]byte) bool { + // Check the initial '!' character. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] != '!' { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + + var s []byte + + // Copy the '!' character. + s = read(parser, s) + + // Copy all subsequent alphabetical and numerical characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the trailing character is '!' and copy it. + if parser.buffer[parser.buffer_pos] == '!' { + s = read(parser, s) + } else { + // It's either the '!' tag or not really a tag handle. If it's a %TAG + // directive, it's an error. If it's a tag token, it must be a part of URI. + if directive && string(s) != "!" { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + } + + *handle = s + return true +} + +// Scan a tag. +func yaml_parser_scan_tag_uri(parser *yaml_parser_t, directive bool, head []byte, start_mark yaml_mark_t, uri *[]byte) bool { + //size_t length = head ? strlen((char *)head) : 0 + var s []byte + hasTag := len(head) > 0 + + // Copy the head if needed. + // + // Note that we don't copy the leading '!' character. + if len(head) > 1 { + s = append(s, head[1:]...) + } + + // Scan the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // The set of characters that may appear in URI is as follows: + // + // '0'-'9', 'A'-'Z', 'a'-'z', '_', '-', ';', '/', '?', ':', '@', '&', + // '=', '+', '$', ',', '.', '!', '~', '*', '\'', '(', ')', '[', ']', + // '%'. + // [Go] Convert this into more reasonable logic. + for is_alpha(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == ';' || + parser.buffer[parser.buffer_pos] == '/' || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '=' || + parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '$' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '.' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '~' || + parser.buffer[parser.buffer_pos] == '*' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '(' || parser.buffer[parser.buffer_pos] == ')' || + parser.buffer[parser.buffer_pos] == '[' || parser.buffer[parser.buffer_pos] == ']' || + parser.buffer[parser.buffer_pos] == '%' { + // Check if it is a URI-escape sequence. + if parser.buffer[parser.buffer_pos] == '%' { + if !yaml_parser_scan_uri_escapes(parser, directive, start_mark, &s) { + return false + } + } else { + s = read(parser, s) + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + hasTag = true + } + + if !hasTag { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected tag URI") + return false + } + *uri = s + return true +} + +// Decode an URI-escape sequence corresponding to a single UTF-8 character. +func yaml_parser_scan_uri_escapes(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, s *[]byte) bool { + + // Decode the required number of characters. + w := 1024 + for w > 0 { + // Check for a URI-escaped octet. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + + if !(parser.buffer[parser.buffer_pos] == '%' && + is_hex(parser.buffer, parser.buffer_pos+1) && + is_hex(parser.buffer, parser.buffer_pos+2)) { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find URI escaped octet") + } + + // Get the octet. + octet := byte((as_hex(parser.buffer, parser.buffer_pos+1) << 4) + as_hex(parser.buffer, parser.buffer_pos+2)) + + // If it is the leading octet, determine the length of the UTF-8 sequence. + if w == 1024 { + w = width(octet) + if w == 0 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect leading UTF-8 octet") + } + } else { + // Check if the trailing octet is correct. + if octet&0xC0 != 0x80 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect trailing UTF-8 octet") + } + } + + // Copy the octet and move the pointers. + *s = append(*s, octet) + skip(parser) + skip(parser) + skip(parser) + w-- + } + return true +} + +// Scan a block scalar. +func yaml_parser_scan_block_scalar(parser *yaml_parser_t, token *yaml_token_t, literal bool) bool { + // Eat the indicator '|' or '>'. + start_mark := parser.mark + skip(parser) + + // Scan the additional block scalar indicators. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check for a chomping indicator. + var chomping, increment int + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + // Set the chomping method and eat the indicator. + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + + // Check for an indentation indicator. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_digit(parser.buffer, parser.buffer_pos) { + // Check that the indentation is greater than 0. + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + + // Get the indentation level and eat the indicator. + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + } + + } else if is_digit(parser.buffer, parser.buffer_pos) { + // Do the same as above, but in the opposite order. + + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + } + } + + // Eat whitespaces and comments to the end of the line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + end_mark := parser.mark + + // Set the indentation level if it was specified. + var indent int + if increment > 0 { + if parser.indent >= 0 { + indent = parser.indent + increment + } else { + indent = increment + } + } + + // Scan the leading line breaks and determine the indentation level if needed. + var s, leading_break, trailing_breaks []byte + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + + // Scan the block scalar content. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var leading_blank, trailing_blank bool + for parser.mark.column == indent && !is_z(parser.buffer, parser.buffer_pos) { + // We are at the beginning of a non-empty line. + + // Is it a trailing whitespace? + trailing_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Check if we need to fold the leading line break. + if !literal && !leading_blank && !trailing_blank && len(leading_break) > 0 && leading_break[0] == '\n' { + // Do we need to join the lines by space? + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } + } else { + s = append(s, leading_break...) + } + leading_break = leading_break[:0] + + // Append the remaining line breaks. + s = append(s, trailing_breaks...) + trailing_breaks = trailing_breaks[:0] + + // Is it a leading whitespace? + leading_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Consume the current line. + for !is_breakz(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + leading_break = read_line(parser, leading_break) + + // Eat the following indentation spaces and line breaks. + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + } + + // Chomp the tail. + if chomping != -1 { + s = append(s, leading_break...) + } + if chomping == 1 { + s = append(s, trailing_breaks...) + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_LITERAL_SCALAR_STYLE, + } + if !literal { + token.style = yaml_FOLDED_SCALAR_STYLE + } + return true +} + +// Scan indentation spaces and line breaks for a block scalar. Determine the +// indentation level if needed. +func yaml_parser_scan_block_scalar_breaks(parser *yaml_parser_t, indent *int, breaks *[]byte, start_mark yaml_mark_t, end_mark *yaml_mark_t) bool { + *end_mark = parser.mark + + // Eat the indentation spaces and line breaks. + max_indent := 0 + for { + // Eat the indentation spaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for (*indent == 0 || parser.mark.column < *indent) && is_space(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.mark.column > max_indent { + max_indent = parser.mark.column + } + + // Check for a tab character messing the indentation. + if (*indent == 0 || parser.mark.column < *indent) && is_tab(parser.buffer, parser.buffer_pos) { + return yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found a tab character where an indentation space is expected") + } + + // Have we found a non-empty line? + if !is_break(parser.buffer, parser.buffer_pos) { + break + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + // [Go] Should really be returning breaks instead. + *breaks = read_line(parser, *breaks) + *end_mark = parser.mark + } + + // Determine the indentation level if needed. + if *indent == 0 { + *indent = max_indent + if *indent < parser.indent+1 { + *indent = parser.indent + 1 + } + if *indent < 1 { + *indent = 1 + } + } + return true +} + +// Scan a quoted scalar. +func yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, single bool) bool { + // Eat the left quote. + start_mark := parser.mark + skip(parser) + + // Consume the content of the quoted scalar. + var s, leading_break, trailing_breaks, whitespaces []byte + for { + // Check that there are no document indicators at the beginning of the line. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected document indicator") + return false + } + + // Check for EOF. + if is_z(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected end of stream") + return false + } + + // Consume non-blank characters. + leading_blanks := false + for !is_blankz(parser.buffer, parser.buffer_pos) { + if single && parser.buffer[parser.buffer_pos] == '\'' && parser.buffer[parser.buffer_pos+1] == '\'' { + // Is is an escaped single quote. + s = append(s, '\'') + skip(parser) + skip(parser) + + } else if single && parser.buffer[parser.buffer_pos] == '\'' { + // It is a right single quote. + break + } else if !single && parser.buffer[parser.buffer_pos] == '"' { + // It is a right double quote. + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' && is_break(parser.buffer, parser.buffer_pos+1) { + // It is an escaped line break. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + skip(parser) + skip_line(parser) + leading_blanks = true + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' { + // It is an escape sequence. + code_length := 0 + + // Check the escape character. + switch parser.buffer[parser.buffer_pos+1] { + case '0': + s = append(s, 0) + case 'a': + s = append(s, '\x07') + case 'b': + s = append(s, '\x08') + case 't', '\t': + s = append(s, '\x09') + case 'n': + s = append(s, '\x0A') + case 'v': + s = append(s, '\x0B') + case 'f': + s = append(s, '\x0C') + case 'r': + s = append(s, '\x0D') + case 'e': + s = append(s, '\x1B') + case ' ': + s = append(s, '\x20') + case '"': + s = append(s, '"') + case '\'': + s = append(s, '\'') + case '\\': + s = append(s, '\\') + case 'N': // NEL (#x85) + s = append(s, '\xC2') + s = append(s, '\x85') + case '_': // #xA0 + s = append(s, '\xC2') + s = append(s, '\xA0') + case 'L': // LS (#x2028) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA8') + case 'P': // PS (#x2029) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA9') + case 'x': + code_length = 2 + case 'u': + code_length = 4 + case 'U': + code_length = 8 + default: + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found unknown escape character") + return false + } + + skip(parser) + skip(parser) + + // Consume an arbitrary escape code. + if code_length > 0 { + var value int + + // Scan the character value. + if parser.unread < code_length && !yaml_parser_update_buffer(parser, code_length) { + return false + } + for k := 0; k < code_length; k++ { + if !is_hex(parser.buffer, parser.buffer_pos+k) { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "did not find expected hexdecimal number") + return false + } + value = (value << 4) + as_hex(parser.buffer, parser.buffer_pos+k) + } + + // Check the value and write the character. + if (value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found invalid Unicode character escape code") + return false + } + if value <= 0x7F { + s = append(s, byte(value)) + } else if value <= 0x7FF { + s = append(s, byte(0xC0+(value>>6))) + s = append(s, byte(0x80+(value&0x3F))) + } else if value <= 0xFFFF { + s = append(s, byte(0xE0+(value>>12))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } else { + s = append(s, byte(0xF0+(value>>18))) + s = append(s, byte(0x80+((value>>12)&0x3F))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } + + // Advance the pointer. + for k := 0; k < code_length; k++ { + skip(parser) + } + } + } else { + // It is a non-escaped non-blank character. + s = read(parser, s) + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we are at the end of the scalar. + if single { + if parser.buffer[parser.buffer_pos] == '\'' { + break + } + } else { + if parser.buffer[parser.buffer_pos] == '"' { + break + } + } + + // Consume blank characters. + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Join the whitespaces or fold line breaks. + if leading_blanks { + // Do we need to fold line breaks? + if len(leading_break) > 0 && leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Eat the right quote. + skip(parser) + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_SINGLE_QUOTED_SCALAR_STYLE, + } + if !single { + token.style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + return true +} + +// Scan a plain scalar. +func yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) bool { + + var s, leading_break, trailing_breaks, whitespaces []byte + var leading_blanks bool + var indent = parser.indent + 1 + + start_mark := parser.mark + end_mark := parser.mark + + // Consume the content of the plain scalar. + for { + // Check for a document indicator. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + break + } + + // Check for a comment. + if parser.buffer[parser.buffer_pos] == '#' { + break + } + + // Consume non-blank characters. + for !is_blankz(parser.buffer, parser.buffer_pos) { + + // Check for indicators that may end a plain scalar. + if (parser.buffer[parser.buffer_pos] == ':' && is_blankz(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level > 0 && + (parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}')) { + break + } + + // Check if we need to join whitespaces and breaks. + if leading_blanks || len(whitespaces) > 0 { + if leading_blanks { + // Do we need to fold line breaks? + if leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + leading_blanks = false + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Copy the character. + s = read(parser, s) + + end_mark = parser.mark + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + // Is it the end? + if !(is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos)) { + break + } + + // Consume blank characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + + // Check for tab characters that abuse indentation. + if leading_blanks && parser.mark.column < indent && is_tab(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", + start_mark, "found a tab character that violates indentation") + return false + } + + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check indentation level. + if parser.flow_level == 0 && parser.mark.column < indent { + break + } + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_PLAIN_SCALAR_STYLE, + } + + // Note that we change the 'simple_key_allowed' flag. + if leading_blanks { + parser.simple_key_allowed = true + } + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/sorter.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/sorter.go new file mode 100644 index 0000000..4c45e66 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/sorter.go @@ -0,0 +1,113 @@ +package yaml + +import ( + "reflect" + "unicode" +) + +type keyList []reflect.Value + +func (l keyList) Len() int { return len(l) } +func (l keyList) Swap(i, j int) { l[i], l[j] = l[j], l[i] } +func (l keyList) Less(i, j int) bool { + a := l[i] + b := l[j] + ak := a.Kind() + bk := b.Kind() + for (ak == reflect.Interface || ak == reflect.Ptr) && !a.IsNil() { + a = a.Elem() + ak = a.Kind() + } + for (bk == reflect.Interface || bk == reflect.Ptr) && !b.IsNil() { + b = b.Elem() + bk = b.Kind() + } + af, aok := keyFloat(a) + bf, bok := keyFloat(b) + if aok && bok { + if af != bf { + return af < bf + } + if ak != bk { + return ak < bk + } + return numLess(a, b) + } + if ak != reflect.String || bk != reflect.String { + return ak < bk + } + ar, br := []rune(a.String()), []rune(b.String()) + for i := 0; i < len(ar) && i < len(br); i++ { + if ar[i] == br[i] { + continue + } + al := unicode.IsLetter(ar[i]) + bl := unicode.IsLetter(br[i]) + if al && bl { + return ar[i] < br[i] + } + if al || bl { + return bl + } + var ai, bi int + var an, bn int64 + if ar[i] == '0' || br[i] == '0' { + for j := i-1; j >= 0 && unicode.IsDigit(ar[j]); j-- { + if ar[j] != '0' { + an = 1 + bn = 1 + break + } + } + } + for ai = i; ai < len(ar) && unicode.IsDigit(ar[ai]); ai++ { + an = an*10 + int64(ar[ai]-'0') + } + for bi = i; bi < len(br) && unicode.IsDigit(br[bi]); bi++ { + bn = bn*10 + int64(br[bi]-'0') + } + if an != bn { + return an < bn + } + if ai != bi { + return ai < bi + } + return ar[i] < br[i] + } + return len(ar) < len(br) +} + +// keyFloat returns a float value for v if it is a number/bool +// and whether it is a number/bool or not. +func keyFloat(v reflect.Value) (f float64, ok bool) { + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return float64(v.Int()), true + case reflect.Float32, reflect.Float64: + return v.Float(), true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return float64(v.Uint()), true + case reflect.Bool: + if v.Bool() { + return 1, true + } + return 0, true + } + return 0, false +} + +// numLess returns whether a < b. +// a and b must necessarily have the same kind. +func numLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return a.Int() < b.Int() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Bool: + return !a.Bool() && b.Bool() + } + panic("not a number") +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/writerc.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/writerc.go new file mode 100644 index 0000000..a2dde60 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/writerc.go @@ -0,0 +1,26 @@ +package yaml + +// Set the writer error and return false. +func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_WRITER_ERROR + emitter.problem = problem + return false +} + +// Flush the output buffer. +func yaml_emitter_flush(emitter *yaml_emitter_t) bool { + if emitter.write_handler == nil { + panic("write handler not set") + } + + // Check if the buffer is empty. + if emitter.buffer_pos == 0 { + return true + } + + if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil { + return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error()) + } + emitter.buffer_pos = 0 + return true +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yaml.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yaml.go new file mode 100644 index 0000000..de85aa4 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yaml.go @@ -0,0 +1,466 @@ +// Package yaml implements YAML support for the Go language. +// +// Source code and other details for the project are available at GitHub: +// +// https://github.com/go-yaml/yaml +// +package yaml + +import ( + "errors" + "fmt" + "io" + "reflect" + "strings" + "sync" +) + +// MapSlice encodes and decodes as a YAML map. +// The order of keys is preserved when encoding and decoding. +type MapSlice []MapItem + +// MapItem is an item in a MapSlice. +type MapItem struct { + Key, Value interface{} +} + +// The Unmarshaler interface may be implemented by types to customize their +// behavior when being unmarshaled from a YAML document. The UnmarshalYAML +// method receives a function that may be called to unmarshal the original +// YAML value into a field or variable. It is safe to call the unmarshal +// function parameter more than once if necessary. +type Unmarshaler interface { + UnmarshalYAML(unmarshal func(interface{}) error) error +} + +// The Marshaler interface may be implemented by types to customize their +// behavior when being marshaled into a YAML document. The returned value +// is marshaled in place of the original value implementing Marshaler. +// +// If an error is returned by MarshalYAML, the marshaling procedure stops +// and returns with the provided error. +type Marshaler interface { + MarshalYAML() (interface{}, error) +} + +// Unmarshal decodes the first document found within the in byte slice +// and assigns decoded values into the out value. +// +// Maps and pointers (to a struct, string, int, etc) are accepted as out +// values. If an internal pointer within a struct is not initialized, +// the yaml package will initialize it if necessary for unmarshalling +// the provided data. The out parameter must not be nil. +// +// The type of the decoded values should be compatible with the respective +// values in out. If one or more values cannot be decoded due to a type +// mismatches, decoding continues partially until the end of the YAML +// content, and a *yaml.TypeError is returned with details for all +// missed values. +// +// Struct fields are only unmarshalled if they are exported (have an +// upper case first letter), and are unmarshalled using the field name +// lowercased as the default key. Custom keys may be defined via the +// "yaml" name in the field tag: the content preceding the first comma +// is used as the key, and the following comma-separated options are +// used to tweak the marshalling process (see Marshal). +// Conflicting names result in a runtime error. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// var t T +// yaml.Unmarshal([]byte("a: 1\nb: 2"), &t) +// +// See the documentation of Marshal for the format of tags and a list of +// supported tag options. +// +func Unmarshal(in []byte, out interface{}) (err error) { + return unmarshal(in, out, false) +} + +// UnmarshalStrict is like Unmarshal except that any fields that are found +// in the data that do not have corresponding struct members, or mapping +// keys that are duplicates, will result in +// an error. +func UnmarshalStrict(in []byte, out interface{}) (err error) { + return unmarshal(in, out, true) +} + +// A Decorder reads and decodes YAML values from an input stream. +type Decoder struct { + strict bool + parser *parser +} + +// NewDecoder returns a new decoder that reads from r. +// +// The decoder introduces its own buffering and may read +// data from r beyond the YAML values requested. +func NewDecoder(r io.Reader) *Decoder { + return &Decoder{ + parser: newParserFromReader(r), + } +} + +// SetStrict sets whether strict decoding behaviour is enabled when +// decoding items in the data (see UnmarshalStrict). By default, decoding is not strict. +func (dec *Decoder) SetStrict(strict bool) { + dec.strict = strict +} + +// Decode reads the next YAML-encoded value from its input +// and stores it in the value pointed to by v. +// +// See the documentation for Unmarshal for details about the +// conversion of YAML into a Go value. +func (dec *Decoder) Decode(v interface{}) (err error) { + d := newDecoder(dec.strict) + defer handleErr(&err) + node := dec.parser.parse() + if node == nil { + return io.EOF + } + out := reflect.ValueOf(v) + if out.Kind() == reflect.Ptr && !out.IsNil() { + out = out.Elem() + } + d.unmarshal(node, out) + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +func unmarshal(in []byte, out interface{}, strict bool) (err error) { + defer handleErr(&err) + d := newDecoder(strict) + p := newParser(in) + defer p.destroy() + node := p.parse() + if node != nil { + v := reflect.ValueOf(out) + if v.Kind() == reflect.Ptr && !v.IsNil() { + v = v.Elem() + } + d.unmarshal(node, v) + } + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +// Marshal serializes the value provided into a YAML document. The structure +// of the generated document will reflect the structure of the value itself. +// Maps and pointers (to struct, string, int, etc) are accepted as the in value. +// +// Struct fields are only marshalled if they are exported (have an upper case +// first letter), and are marshalled using the field name lowercased as the +// default key. Custom keys may be defined via the "yaml" name in the field +// tag: the content preceding the first comma is used as the key, and the +// following comma-separated options are used to tweak the marshalling process. +// Conflicting names result in a runtime error. +// +// The field tag format accepted is: +// +// `(...) yaml:"[][,[,]]" (...)` +// +// The following flags are currently supported: +// +// omitempty Only include the field if it's not set to the zero +// value for the type or to empty slices or maps. +// Zero valued structs will be omitted if all their public +// fields are zero, unless they implement an IsZero +// method (see the IsZeroer interface type), in which +// case the field will be included if that method returns true. +// +// flow Marshal using a flow style (useful for structs, +// sequences and maps). +// +// inline Inline the field, which must be a struct or a map, +// causing all of its fields or keys to be processed as if +// they were part of the outer struct. For maps, keys must +// not conflict with the yaml keys of other struct fields. +// +// In addition, if the key is "-", the field is ignored. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// yaml.Marshal(&T{B: 2}) // Returns "b: 2\n" +// yaml.Marshal(&T{F: 1}} // Returns "a: 1\nb: 0\n" +// +func Marshal(in interface{}) (out []byte, err error) { + defer handleErr(&err) + e := newEncoder() + defer e.destroy() + e.marshalDoc("", reflect.ValueOf(in)) + e.finish() + out = e.out + return +} + +// An Encoder writes YAML values to an output stream. +type Encoder struct { + encoder *encoder +} + +// NewEncoder returns a new encoder that writes to w. +// The Encoder should be closed after use to flush all data +// to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{ + encoder: newEncoderWithWriter(w), + } +} + +// Encode writes the YAML encoding of v to the stream. +// If multiple items are encoded to the stream, the +// second and subsequent document will be preceded +// with a "---" document separator, but the first will not. +// +// See the documentation for Marshal for details about the conversion of Go +// values to YAML. +func (e *Encoder) Encode(v interface{}) (err error) { + defer handleErr(&err) + e.encoder.marshalDoc("", reflect.ValueOf(v)) + return nil +} + +// Close closes the encoder by writing any remaining data. +// It does not write a stream terminating string "...". +func (e *Encoder) Close() (err error) { + defer handleErr(&err) + e.encoder.finish() + return nil +} + +func handleErr(err *error) { + if v := recover(); v != nil { + if e, ok := v.(yamlError); ok { + *err = e.err + } else { + panic(v) + } + } +} + +type yamlError struct { + err error +} + +func fail(err error) { + panic(yamlError{err}) +} + +func failf(format string, args ...interface{}) { + panic(yamlError{fmt.Errorf("yaml: "+format, args...)}) +} + +// A TypeError is returned by Unmarshal when one or more fields in +// the YAML document cannot be properly decoded into the requested +// types. When this error is returned, the value is still +// unmarshaled partially. +type TypeError struct { + Errors []string +} + +func (e *TypeError) Error() string { + return fmt.Sprintf("yaml: unmarshal errors:\n %s", strings.Join(e.Errors, "\n ")) +} + +// -------------------------------------------------------------------------- +// Maintain a mapping of keys to structure field indexes + +// The code in this section was copied from mgo/bson. + +// structInfo holds details for the serialization of fields of +// a given struct. +type structInfo struct { + FieldsMap map[string]fieldInfo + FieldsList []fieldInfo + + // InlineMap is the number of the field in the struct that + // contains an ,inline map, or -1 if there's none. + InlineMap int +} + +type fieldInfo struct { + Key string + Num int + OmitEmpty bool + Flow bool + // Id holds the unique field identifier, so we can cheaply + // check for field duplicates without maintaining an extra map. + Id int + + // Inline holds the field index if the field is part of an inlined struct. + Inline []int +} + +var structMap = make(map[reflect.Type]*structInfo) +var fieldMapMutex sync.RWMutex + +func getStructInfo(st reflect.Type) (*structInfo, error) { + fieldMapMutex.RLock() + sinfo, found := structMap[st] + fieldMapMutex.RUnlock() + if found { + return sinfo, nil + } + + n := st.NumField() + fieldsMap := make(map[string]fieldInfo) + fieldsList := make([]fieldInfo, 0, n) + inlineMap := -1 + for i := 0; i != n; i++ { + field := st.Field(i) + if field.PkgPath != "" && !field.Anonymous { + continue // Private field + } + + info := fieldInfo{Num: i} + + tag := field.Tag.Get("yaml") + if tag == "" && strings.Index(string(field.Tag), ":") < 0 { + tag = string(field.Tag) + } + if tag == "-" { + continue + } + + inline := false + fields := strings.Split(tag, ",") + if len(fields) > 1 { + for _, flag := range fields[1:] { + switch flag { + case "omitempty": + info.OmitEmpty = true + case "flow": + info.Flow = true + case "inline": + inline = true + default: + return nil, errors.New(fmt.Sprintf("Unsupported flag %q in tag %q of type %s", flag, tag, st)) + } + } + tag = fields[0] + } + + if inline { + switch field.Type.Kind() { + case reflect.Map: + if inlineMap >= 0 { + return nil, errors.New("Multiple ,inline maps in struct " + st.String()) + } + if field.Type.Key() != reflect.TypeOf("") { + return nil, errors.New("Option ,inline needs a map with string keys in struct " + st.String()) + } + inlineMap = info.Num + case reflect.Struct: + sinfo, err := getStructInfo(field.Type) + if err != nil { + return nil, err + } + for _, finfo := range sinfo.FieldsList { + if _, found := fieldsMap[finfo.Key]; found { + msg := "Duplicated key '" + finfo.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + if finfo.Inline == nil { + finfo.Inline = []int{i, finfo.Num} + } else { + finfo.Inline = append([]int{i}, finfo.Inline...) + } + finfo.Id = len(fieldsList) + fieldsMap[finfo.Key] = finfo + fieldsList = append(fieldsList, finfo) + } + default: + //return nil, errors.New("Option ,inline needs a struct value or map field") + return nil, errors.New("Option ,inline needs a struct value field") + } + continue + } + + if tag != "" { + info.Key = tag + } else { + info.Key = strings.ToLower(field.Name) + } + + if _, found = fieldsMap[info.Key]; found { + msg := "Duplicated key '" + info.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + + info.Id = len(fieldsList) + fieldsList = append(fieldsList, info) + fieldsMap[info.Key] = info + } + + sinfo = &structInfo{ + FieldsMap: fieldsMap, + FieldsList: fieldsList, + InlineMap: inlineMap, + } + + fieldMapMutex.Lock() + structMap[st] = sinfo + fieldMapMutex.Unlock() + return sinfo, nil +} + +// IsZeroer is used to check whether an object is zero to +// determine whether it should be omitted when marshaling +// with the omitempty flag. One notable implementation +// is time.Time. +type IsZeroer interface { + IsZero() bool +} + +func isZero(v reflect.Value) bool { + kind := v.Kind() + if z, ok := v.Interface().(IsZeroer); ok { + if (kind == reflect.Ptr || kind == reflect.Interface) && v.IsNil() { + return true + } + return z.IsZero() + } + switch kind { + case reflect.String: + return len(v.String()) == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + case reflect.Slice: + return v.Len() == 0 + case reflect.Map: + return v.Len() == 0 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Struct: + vt := v.Type() + for i := v.NumField() - 1; i >= 0; i-- { + if vt.Field(i).PkgPath != "" { + continue // Private field + } + if !isZero(v.Field(i)) { + return false + } + } + return true + } + return false +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlh.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlh.go new file mode 100644 index 0000000..e25cee5 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlh.go @@ -0,0 +1,738 @@ +package yaml + +import ( + "fmt" + "io" +) + +// The version directive data. +type yaml_version_directive_t struct { + major int8 // The major version number. + minor int8 // The minor version number. +} + +// The tag directive data. +type yaml_tag_directive_t struct { + handle []byte // The tag handle. + prefix []byte // The tag prefix. +} + +type yaml_encoding_t int + +// The stream encoding. +const ( + // Let the parser choose the encoding. + yaml_ANY_ENCODING yaml_encoding_t = iota + + yaml_UTF8_ENCODING // The default UTF-8 encoding. + yaml_UTF16LE_ENCODING // The UTF-16-LE encoding with BOM. + yaml_UTF16BE_ENCODING // The UTF-16-BE encoding with BOM. +) + +type yaml_break_t int + +// Line break types. +const ( + // Let the parser choose the break type. + yaml_ANY_BREAK yaml_break_t = iota + + yaml_CR_BREAK // Use CR for line breaks (Mac style). + yaml_LN_BREAK // Use LN for line breaks (Unix style). + yaml_CRLN_BREAK // Use CR LN for line breaks (DOS style). +) + +type yaml_error_type_t int + +// Many bad things could happen with the parser and emitter. +const ( + // No error is produced. + yaml_NO_ERROR yaml_error_type_t = iota + + yaml_MEMORY_ERROR // Cannot allocate or reallocate a block of memory. + yaml_READER_ERROR // Cannot read or decode the input stream. + yaml_SCANNER_ERROR // Cannot scan the input stream. + yaml_PARSER_ERROR // Cannot parse the input stream. + yaml_COMPOSER_ERROR // Cannot compose a YAML document. + yaml_WRITER_ERROR // Cannot write to the output stream. + yaml_EMITTER_ERROR // Cannot emit a YAML stream. +) + +// The pointer position. +type yaml_mark_t struct { + index int // The position index. + line int // The position line. + column int // The position column. +} + +// Node Styles + +type yaml_style_t int8 + +type yaml_scalar_style_t yaml_style_t + +// Scalar styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SCALAR_STYLE yaml_scalar_style_t = iota + + yaml_PLAIN_SCALAR_STYLE // The plain scalar style. + yaml_SINGLE_QUOTED_SCALAR_STYLE // The single-quoted scalar style. + yaml_DOUBLE_QUOTED_SCALAR_STYLE // The double-quoted scalar style. + yaml_LITERAL_SCALAR_STYLE // The literal scalar style. + yaml_FOLDED_SCALAR_STYLE // The folded scalar style. +) + +type yaml_sequence_style_t yaml_style_t + +// Sequence styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SEQUENCE_STYLE yaml_sequence_style_t = iota + + yaml_BLOCK_SEQUENCE_STYLE // The block sequence style. + yaml_FLOW_SEQUENCE_STYLE // The flow sequence style. +) + +type yaml_mapping_style_t yaml_style_t + +// Mapping styles. +const ( + // Let the emitter choose the style. + yaml_ANY_MAPPING_STYLE yaml_mapping_style_t = iota + + yaml_BLOCK_MAPPING_STYLE // The block mapping style. + yaml_FLOW_MAPPING_STYLE // The flow mapping style. +) + +// Tokens + +type yaml_token_type_t int + +// Token types. +const ( + // An empty token. + yaml_NO_TOKEN yaml_token_type_t = iota + + yaml_STREAM_START_TOKEN // A STREAM-START token. + yaml_STREAM_END_TOKEN // A STREAM-END token. + + yaml_VERSION_DIRECTIVE_TOKEN // A VERSION-DIRECTIVE token. + yaml_TAG_DIRECTIVE_TOKEN // A TAG-DIRECTIVE token. + yaml_DOCUMENT_START_TOKEN // A DOCUMENT-START token. + yaml_DOCUMENT_END_TOKEN // A DOCUMENT-END token. + + yaml_BLOCK_SEQUENCE_START_TOKEN // A BLOCK-SEQUENCE-START token. + yaml_BLOCK_MAPPING_START_TOKEN // A BLOCK-SEQUENCE-END token. + yaml_BLOCK_END_TOKEN // A BLOCK-END token. + + yaml_FLOW_SEQUENCE_START_TOKEN // A FLOW-SEQUENCE-START token. + yaml_FLOW_SEQUENCE_END_TOKEN // A FLOW-SEQUENCE-END token. + yaml_FLOW_MAPPING_START_TOKEN // A FLOW-MAPPING-START token. + yaml_FLOW_MAPPING_END_TOKEN // A FLOW-MAPPING-END token. + + yaml_BLOCK_ENTRY_TOKEN // A BLOCK-ENTRY token. + yaml_FLOW_ENTRY_TOKEN // A FLOW-ENTRY token. + yaml_KEY_TOKEN // A KEY token. + yaml_VALUE_TOKEN // A VALUE token. + + yaml_ALIAS_TOKEN // An ALIAS token. + yaml_ANCHOR_TOKEN // An ANCHOR token. + yaml_TAG_TOKEN // A TAG token. + yaml_SCALAR_TOKEN // A SCALAR token. +) + +func (tt yaml_token_type_t) String() string { + switch tt { + case yaml_NO_TOKEN: + return "yaml_NO_TOKEN" + case yaml_STREAM_START_TOKEN: + return "yaml_STREAM_START_TOKEN" + case yaml_STREAM_END_TOKEN: + return "yaml_STREAM_END_TOKEN" + case yaml_VERSION_DIRECTIVE_TOKEN: + return "yaml_VERSION_DIRECTIVE_TOKEN" + case yaml_TAG_DIRECTIVE_TOKEN: + return "yaml_TAG_DIRECTIVE_TOKEN" + case yaml_DOCUMENT_START_TOKEN: + return "yaml_DOCUMENT_START_TOKEN" + case yaml_DOCUMENT_END_TOKEN: + return "yaml_DOCUMENT_END_TOKEN" + case yaml_BLOCK_SEQUENCE_START_TOKEN: + return "yaml_BLOCK_SEQUENCE_START_TOKEN" + case yaml_BLOCK_MAPPING_START_TOKEN: + return "yaml_BLOCK_MAPPING_START_TOKEN" + case yaml_BLOCK_END_TOKEN: + return "yaml_BLOCK_END_TOKEN" + case yaml_FLOW_SEQUENCE_START_TOKEN: + return "yaml_FLOW_SEQUENCE_START_TOKEN" + case yaml_FLOW_SEQUENCE_END_TOKEN: + return "yaml_FLOW_SEQUENCE_END_TOKEN" + case yaml_FLOW_MAPPING_START_TOKEN: + return "yaml_FLOW_MAPPING_START_TOKEN" + case yaml_FLOW_MAPPING_END_TOKEN: + return "yaml_FLOW_MAPPING_END_TOKEN" + case yaml_BLOCK_ENTRY_TOKEN: + return "yaml_BLOCK_ENTRY_TOKEN" + case yaml_FLOW_ENTRY_TOKEN: + return "yaml_FLOW_ENTRY_TOKEN" + case yaml_KEY_TOKEN: + return "yaml_KEY_TOKEN" + case yaml_VALUE_TOKEN: + return "yaml_VALUE_TOKEN" + case yaml_ALIAS_TOKEN: + return "yaml_ALIAS_TOKEN" + case yaml_ANCHOR_TOKEN: + return "yaml_ANCHOR_TOKEN" + case yaml_TAG_TOKEN: + return "yaml_TAG_TOKEN" + case yaml_SCALAR_TOKEN: + return "yaml_SCALAR_TOKEN" + } + return "" +} + +// The token structure. +type yaml_token_t struct { + // The token type. + typ yaml_token_type_t + + // The start/end of the token. + start_mark, end_mark yaml_mark_t + + // The stream encoding (for yaml_STREAM_START_TOKEN). + encoding yaml_encoding_t + + // The alias/anchor/scalar value or tag/tag directive handle + // (for yaml_ALIAS_TOKEN, yaml_ANCHOR_TOKEN, yaml_SCALAR_TOKEN, yaml_TAG_TOKEN, yaml_TAG_DIRECTIVE_TOKEN). + value []byte + + // The tag suffix (for yaml_TAG_TOKEN). + suffix []byte + + // The tag directive prefix (for yaml_TAG_DIRECTIVE_TOKEN). + prefix []byte + + // The scalar style (for yaml_SCALAR_TOKEN). + style yaml_scalar_style_t + + // The version directive major/minor (for yaml_VERSION_DIRECTIVE_TOKEN). + major, minor int8 +} + +// Events + +type yaml_event_type_t int8 + +// Event types. +const ( + // An empty event. + yaml_NO_EVENT yaml_event_type_t = iota + + yaml_STREAM_START_EVENT // A STREAM-START event. + yaml_STREAM_END_EVENT // A STREAM-END event. + yaml_DOCUMENT_START_EVENT // A DOCUMENT-START event. + yaml_DOCUMENT_END_EVENT // A DOCUMENT-END event. + yaml_ALIAS_EVENT // An ALIAS event. + yaml_SCALAR_EVENT // A SCALAR event. + yaml_SEQUENCE_START_EVENT // A SEQUENCE-START event. + yaml_SEQUENCE_END_EVENT // A SEQUENCE-END event. + yaml_MAPPING_START_EVENT // A MAPPING-START event. + yaml_MAPPING_END_EVENT // A MAPPING-END event. +) + +var eventStrings = []string{ + yaml_NO_EVENT: "none", + yaml_STREAM_START_EVENT: "stream start", + yaml_STREAM_END_EVENT: "stream end", + yaml_DOCUMENT_START_EVENT: "document start", + yaml_DOCUMENT_END_EVENT: "document end", + yaml_ALIAS_EVENT: "alias", + yaml_SCALAR_EVENT: "scalar", + yaml_SEQUENCE_START_EVENT: "sequence start", + yaml_SEQUENCE_END_EVENT: "sequence end", + yaml_MAPPING_START_EVENT: "mapping start", + yaml_MAPPING_END_EVENT: "mapping end", +} + +func (e yaml_event_type_t) String() string { + if e < 0 || int(e) >= len(eventStrings) { + return fmt.Sprintf("unknown event %d", e) + } + return eventStrings[e] +} + +// The event structure. +type yaml_event_t struct { + + // The event type. + typ yaml_event_type_t + + // The start and end of the event. + start_mark, end_mark yaml_mark_t + + // The document encoding (for yaml_STREAM_START_EVENT). + encoding yaml_encoding_t + + // The version directive (for yaml_DOCUMENT_START_EVENT). + version_directive *yaml_version_directive_t + + // The list of tag directives (for yaml_DOCUMENT_START_EVENT). + tag_directives []yaml_tag_directive_t + + // The anchor (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_ALIAS_EVENT). + anchor []byte + + // The tag (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + tag []byte + + // The scalar value (for yaml_SCALAR_EVENT). + value []byte + + // Is the document start/end indicator implicit, or the tag optional? + // (for yaml_DOCUMENT_START_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_SCALAR_EVENT). + implicit bool + + // Is the tag optional for any non-plain style? (for yaml_SCALAR_EVENT). + quoted_implicit bool + + // The style (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + style yaml_style_t +} + +func (e *yaml_event_t) scalar_style() yaml_scalar_style_t { return yaml_scalar_style_t(e.style) } +func (e *yaml_event_t) sequence_style() yaml_sequence_style_t { return yaml_sequence_style_t(e.style) } +func (e *yaml_event_t) mapping_style() yaml_mapping_style_t { return yaml_mapping_style_t(e.style) } + +// Nodes + +const ( + yaml_NULL_TAG = "tag:yaml.org,2002:null" // The tag !!null with the only possible value: null. + yaml_BOOL_TAG = "tag:yaml.org,2002:bool" // The tag !!bool with the values: true and false. + yaml_STR_TAG = "tag:yaml.org,2002:str" // The tag !!str for string values. + yaml_INT_TAG = "tag:yaml.org,2002:int" // The tag !!int for integer values. + yaml_FLOAT_TAG = "tag:yaml.org,2002:float" // The tag !!float for float values. + yaml_TIMESTAMP_TAG = "tag:yaml.org,2002:timestamp" // The tag !!timestamp for date and time values. + + yaml_SEQ_TAG = "tag:yaml.org,2002:seq" // The tag !!seq is used to denote sequences. + yaml_MAP_TAG = "tag:yaml.org,2002:map" // The tag !!map is used to denote mapping. + + // Not in original libyaml. + yaml_BINARY_TAG = "tag:yaml.org,2002:binary" + yaml_MERGE_TAG = "tag:yaml.org,2002:merge" + + yaml_DEFAULT_SCALAR_TAG = yaml_STR_TAG // The default scalar tag is !!str. + yaml_DEFAULT_SEQUENCE_TAG = yaml_SEQ_TAG // The default sequence tag is !!seq. + yaml_DEFAULT_MAPPING_TAG = yaml_MAP_TAG // The default mapping tag is !!map. +) + +type yaml_node_type_t int + +// Node types. +const ( + // An empty node. + yaml_NO_NODE yaml_node_type_t = iota + + yaml_SCALAR_NODE // A scalar node. + yaml_SEQUENCE_NODE // A sequence node. + yaml_MAPPING_NODE // A mapping node. +) + +// An element of a sequence node. +type yaml_node_item_t int + +// An element of a mapping node. +type yaml_node_pair_t struct { + key int // The key of the element. + value int // The value of the element. +} + +// The node structure. +type yaml_node_t struct { + typ yaml_node_type_t // The node type. + tag []byte // The node tag. + + // The node data. + + // The scalar parameters (for yaml_SCALAR_NODE). + scalar struct { + value []byte // The scalar value. + length int // The length of the scalar value. + style yaml_scalar_style_t // The scalar style. + } + + // The sequence parameters (for YAML_SEQUENCE_NODE). + sequence struct { + items_data []yaml_node_item_t // The stack of sequence items. + style yaml_sequence_style_t // The sequence style. + } + + // The mapping parameters (for yaml_MAPPING_NODE). + mapping struct { + pairs_data []yaml_node_pair_t // The stack of mapping pairs (key, value). + pairs_start *yaml_node_pair_t // The beginning of the stack. + pairs_end *yaml_node_pair_t // The end of the stack. + pairs_top *yaml_node_pair_t // The top of the stack. + style yaml_mapping_style_t // The mapping style. + } + + start_mark yaml_mark_t // The beginning of the node. + end_mark yaml_mark_t // The end of the node. + +} + +// The document structure. +type yaml_document_t struct { + + // The document nodes. + nodes []yaml_node_t + + // The version directive. + version_directive *yaml_version_directive_t + + // The list of tag directives. + tag_directives_data []yaml_tag_directive_t + tag_directives_start int // The beginning of the tag directives list. + tag_directives_end int // The end of the tag directives list. + + start_implicit int // Is the document start indicator implicit? + end_implicit int // Is the document end indicator implicit? + + // The start/end of the document. + start_mark, end_mark yaml_mark_t +} + +// The prototype of a read handler. +// +// The read handler is called when the parser needs to read more bytes from the +// source. The handler should write not more than size bytes to the buffer. +// The number of written bytes should be set to the size_read variable. +// +// [in,out] data A pointer to an application data specified by +// yaml_parser_set_input(). +// [out] buffer The buffer to write the data from the source. +// [in] size The size of the buffer. +// [out] size_read The actual number of bytes read from the source. +// +// On success, the handler should return 1. If the handler failed, +// the returned value should be 0. On EOF, the handler should set the +// size_read to 0 and return 1. +type yaml_read_handler_t func(parser *yaml_parser_t, buffer []byte) (n int, err error) + +// This structure holds information about a potential simple key. +type yaml_simple_key_t struct { + possible bool // Is a simple key possible? + required bool // Is a simple key required? + token_number int // The number of the token. + mark yaml_mark_t // The position mark. +} + +// The states of the parser. +type yaml_parser_state_t int + +const ( + yaml_PARSE_STREAM_START_STATE yaml_parser_state_t = iota + + yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE // Expect the beginning of an implicit document. + yaml_PARSE_DOCUMENT_START_STATE // Expect DOCUMENT-START. + yaml_PARSE_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_PARSE_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_PARSE_BLOCK_NODE_STATE // Expect a block node. + yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE // Expect a block node or indentless sequence. + yaml_PARSE_FLOW_NODE_STATE // Expect a flow node. + yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a block sequence. + yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE // Expect an entry of a block sequence. + yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE // Expect an entry of an indentless sequence. + yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_PARSE_BLOCK_MAPPING_KEY_STATE // Expect a block mapping key. + yaml_PARSE_BLOCK_MAPPING_VALUE_STATE // Expect a block mapping value. + yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE // Expect an entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE // Expect a key of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE // Expect a value of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE // Expect the and of an ordered mapping entry. + yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE // Expect an empty value of a flow mapping. + yaml_PARSE_END_STATE // Expect nothing. +) + +func (ps yaml_parser_state_t) String() string { + switch ps { + case yaml_PARSE_STREAM_START_STATE: + return "yaml_PARSE_STREAM_START_STATE" + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return "yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_START_STATE: + return "yaml_PARSE_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return "yaml_PARSE_DOCUMENT_CONTENT_STATE" + case yaml_PARSE_DOCUMENT_END_STATE: + return "yaml_PARSE_DOCUMENT_END_STATE" + case yaml_PARSE_BLOCK_NODE_STATE: + return "yaml_PARSE_BLOCK_NODE_STATE" + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return "yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE" + case yaml_PARSE_FLOW_NODE_STATE: + return "yaml_PARSE_FLOW_NODE_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return "yaml_PARSE_BLOCK_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE" + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE" + case yaml_PARSE_END_STATE: + return "yaml_PARSE_END_STATE" + } + return "" +} + +// This structure holds aliases data. +type yaml_alias_data_t struct { + anchor []byte // The anchor. + index int // The node id. + mark yaml_mark_t // The anchor mark. +} + +// The parser structure. +// +// All members are internal. Manage the structure using the +// yaml_parser_ family of functions. +type yaml_parser_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + + problem string // Error description. + + // The byte about which the problem occurred. + problem_offset int + problem_value int + problem_mark yaml_mark_t + + // The error context. + context string + context_mark yaml_mark_t + + // Reader stuff + + read_handler yaml_read_handler_t // Read handler. + + input_reader io.Reader // File input data. + input []byte // String input data. + input_pos int + + eof bool // EOF flag + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + unread int // The number of unread characters in the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The input encoding. + + offset int // The offset of the current position (in bytes). + mark yaml_mark_t // The mark of the current position. + + // Scanner stuff + + stream_start_produced bool // Have we started to scan the input stream? + stream_end_produced bool // Have we reached the end of the input stream? + + flow_level int // The number of unclosed '[' and '{' indicators. + + tokens []yaml_token_t // The tokens queue. + tokens_head int // The head of the tokens queue. + tokens_parsed int // The number of tokens fetched from the queue. + token_available bool // Does the tokens queue contain a token ready for dequeueing. + + indent int // The current indentation level. + indents []int // The indentation levels stack. + + simple_key_allowed bool // May a simple key occur at the current position? + simple_keys []yaml_simple_key_t // The stack of simple keys. + + // Parser stuff + + state yaml_parser_state_t // The current parser state. + states []yaml_parser_state_t // The parser states stack. + marks []yaml_mark_t // The stack of marks. + tag_directives []yaml_tag_directive_t // The list of TAG directives. + + // Dumper stuff + + aliases []yaml_alias_data_t // The alias data. + + document *yaml_document_t // The currently parsed document. +} + +// Emitter Definitions + +// The prototype of a write handler. +// +// The write handler is called when the emitter needs to flush the accumulated +// characters to the output. The handler should write @a size bytes of the +// @a buffer to the output. +// +// @param[in,out] data A pointer to an application data specified by +// yaml_emitter_set_output(). +// @param[in] buffer The buffer with bytes to be written. +// @param[in] size The size of the buffer. +// +// @returns On success, the handler should return @c 1. If the handler failed, +// the returned value should be @c 0. +// +type yaml_write_handler_t func(emitter *yaml_emitter_t, buffer []byte) error + +type yaml_emitter_state_t int + +// The emitter states. +const ( + // Expect STREAM-START. + yaml_EMIT_STREAM_START_STATE yaml_emitter_state_t = iota + + yaml_EMIT_FIRST_DOCUMENT_START_STATE // Expect the first DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_START_STATE // Expect DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_EMIT_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a flow sequence. + yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE // Expect an item of a flow sequence. + yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a block sequence. + yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE // Expect an item of a block sequence. + yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_KEY_STATE // Expect the key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_VALUE_STATE // Expect a value of a block mapping. + yaml_EMIT_END_STATE // Expect nothing. +) + +// The emitter structure. +// +// All members are internal. Manage the structure using the @c yaml_emitter_ +// family of functions. +type yaml_emitter_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + problem string // Error description. + + // Writer stuff + + write_handler yaml_write_handler_t // Write handler. + + output_buffer *[]byte // String output data. + output_writer io.Writer // File output data. + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The stream encoding. + + // Emitter stuff + + canonical bool // If the output is in the canonical style? + best_indent int // The number of indentation spaces. + best_width int // The preferred width of the output lines. + unicode bool // Allow unescaped non-ASCII characters? + line_break yaml_break_t // The preferred line break. + + state yaml_emitter_state_t // The current emitter state. + states []yaml_emitter_state_t // The stack of states. + + events []yaml_event_t // The event queue. + events_head int // The head of the event queue. + + indents []int // The stack of indentation levels. + + tag_directives []yaml_tag_directive_t // The list of tag directives. + + indent int // The current indentation level. + + flow_level int // The current flow level. + + root_context bool // Is it the document root context? + sequence_context bool // Is it a sequence context? + mapping_context bool // Is it a mapping context? + simple_key_context bool // Is it a simple mapping key context? + + line int // The current line. + column int // The current column. + whitespace bool // If the last character was a whitespace? + indention bool // If the last character was an indentation character (' ', '-', '?', ':')? + open_ended bool // If an explicit document end is required? + + // Anchor analysis. + anchor_data struct { + anchor []byte // The anchor value. + alias bool // Is it an alias? + } + + // Tag analysis. + tag_data struct { + handle []byte // The tag handle. + suffix []byte // The tag suffix. + } + + // Scalar analysis. + scalar_data struct { + value []byte // The scalar value. + multiline bool // Does the scalar contain line breaks? + flow_plain_allowed bool // Can the scalar be expessed in the flow plain style? + block_plain_allowed bool // Can the scalar be expressed in the block plain style? + single_quoted_allowed bool // Can the scalar be expressed in the single quoted style? + block_allowed bool // Can the scalar be expressed in the literal or folded styles? + style yaml_scalar_style_t // The output style. + } + + // Dumper stuff + + opened bool // If the stream was already opened? + closed bool // If the stream was already closed? + + // The information associated with the document nodes. + anchors *struct { + references int // The number of references. + anchor int // The anchor id. + serialized bool // If the node has been emitted? + } + + last_anchor_id int // The last assigned anchor id. + + document *yaml_document_t // The currently emitted document. +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlprivateh.go b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlprivateh.go new file mode 100644 index 0000000..8110ce3 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/gopkg.in/yaml.v2/yamlprivateh.go @@ -0,0 +1,173 @@ +package yaml + +const ( + // The size of the input raw buffer. + input_raw_buffer_size = 512 + + // The size of the input buffer. + // It should be possible to decode the whole raw buffer. + input_buffer_size = input_raw_buffer_size * 3 + + // The size of the output buffer. + output_buffer_size = 128 + + // The size of the output raw buffer. + // It should be possible to encode the whole output buffer. + output_raw_buffer_size = (output_buffer_size*2 + 2) + + // The size of other stacks and queues. + initial_stack_size = 16 + initial_queue_size = 16 + initial_string_size = 16 +) + +// Check if the character at the specified position is an alphabetical +// character, a digit, '_', or '-'. +func is_alpha(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'Z' || b[i] >= 'a' && b[i] <= 'z' || b[i] == '_' || b[i] == '-' +} + +// Check if the character at the specified position is a digit. +func is_digit(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' +} + +// Get the value of a digit. +func as_digit(b []byte, i int) int { + return int(b[i]) - '0' +} + +// Check if the character at the specified position is a hex-digit. +func is_hex(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'F' || b[i] >= 'a' && b[i] <= 'f' +} + +// Get the value of a hex-digit. +func as_hex(b []byte, i int) int { + bi := b[i] + if bi >= 'A' && bi <= 'F' { + return int(bi) - 'A' + 10 + } + if bi >= 'a' && bi <= 'f' { + return int(bi) - 'a' + 10 + } + return int(bi) - '0' +} + +// Check if the character is ASCII. +func is_ascii(b []byte, i int) bool { + return b[i] <= 0x7F +} + +// Check if the character at the start of the buffer can be printed unescaped. +func is_printable(b []byte, i int) bool { + return ((b[i] == 0x0A) || // . == #x0A + (b[i] >= 0x20 && b[i] <= 0x7E) || // #x20 <= . <= #x7E + (b[i] == 0xC2 && b[i+1] >= 0xA0) || // #0xA0 <= . <= #xD7FF + (b[i] > 0xC2 && b[i] < 0xED) || + (b[i] == 0xED && b[i+1] < 0xA0) || + (b[i] == 0xEE) || + (b[i] == 0xEF && // #xE000 <= . <= #xFFFD + !(b[i+1] == 0xBB && b[i+2] == 0xBF) && // && . != #xFEFF + !(b[i+1] == 0xBF && (b[i+2] == 0xBE || b[i+2] == 0xBF)))) +} + +// Check if the character at the specified position is NUL. +func is_z(b []byte, i int) bool { + return b[i] == 0x00 +} + +// Check if the beginning of the buffer is a BOM. +func is_bom(b []byte, i int) bool { + return b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF +} + +// Check if the character at the specified position is space. +func is_space(b []byte, i int) bool { + return b[i] == ' ' +} + +// Check if the character at the specified position is tab. +func is_tab(b []byte, i int) bool { + return b[i] == '\t' +} + +// Check if the character at the specified position is blank (space or tab). +func is_blank(b []byte, i int) bool { + //return is_space(b, i) || is_tab(b, i) + return b[i] == ' ' || b[i] == '\t' +} + +// Check if the character at the specified position is a line break. +func is_break(b []byte, i int) bool { + return (b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9) // PS (#x2029) +} + +func is_crlf(b []byte, i int) bool { + return b[i] == '\r' && b[i+1] == '\n' +} + +// Check if the character is a line break or NUL. +func is_breakz(b []byte, i int) bool { + //return is_break(b, i) || is_z(b, i) + return ( // is_break: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + // is_z: + b[i] == 0) +} + +// Check if the character is a line break, space, or NUL. +func is_spacez(b []byte, i int) bool { + //return is_space(b, i) || is_breakz(b, i) + return ( // is_space: + b[i] == ' ' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Check if the character is a line break, space, tab, or NUL. +func is_blankz(b []byte, i int) bool { + //return is_blank(b, i) || is_breakz(b, i) + return ( // is_blank: + b[i] == ' ' || b[i] == '\t' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Determine the width of the character. +func width(b byte) int { + // Don't replace these by a switch without first + // confirming that it is being inlined. + if b&0x80 == 0x00 { + return 1 + } + if b&0xE0 == 0xC0 { + return 2 + } + if b&0xF0 == 0xE0 { + return 3 + } + if b&0xF8 == 0xF0 { + return 4 + } + return 0 + +} diff --git a/artifacts/src/github.com/asset_contract_api/go/vendor/modules.txt b/artifacts/src/github.com/asset_contract_api/go/vendor/modules.txt new file mode 100644 index 0000000..924ae63 --- /dev/null +++ b/artifacts/src/github.com/asset_contract_api/go/vendor/modules.txt @@ -0,0 +1,113 @@ +# github.com/PuerkitoBio/purell v1.1.1 +github.com/PuerkitoBio/purell +# github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 +github.com/PuerkitoBio/urlesc +# github.com/go-openapi/jsonpointer v0.19.3 +github.com/go-openapi/jsonpointer +# github.com/go-openapi/jsonreference v0.19.2 +github.com/go-openapi/jsonreference +# github.com/go-openapi/spec v0.19.4 +github.com/go-openapi/spec +# github.com/go-openapi/swag v0.19.5 +github.com/go-openapi/swag +# github.com/gobuffalo/envy v1.7.0 +github.com/gobuffalo/envy +# github.com/gobuffalo/packd v0.3.0 +github.com/gobuffalo/packd +github.com/gobuffalo/packd/internal/takeon/github.com/markbates/errx +# github.com/gobuffalo/packr v1.30.1 +github.com/gobuffalo/packr +# github.com/golang/protobuf v1.3.2 +github.com/golang/protobuf/proto +github.com/golang/protobuf/ptypes +github.com/golang/protobuf/ptypes/any +github.com/golang/protobuf/ptypes/duration +github.com/golang/protobuf/ptypes/timestamp +# github.com/hyperledger/fabric-chaincode-go v0.0.0-20200128192331-2d899240a7ed +github.com/hyperledger/fabric-chaincode-go/pkg/attrmgr +github.com/hyperledger/fabric-chaincode-go/pkg/cid +github.com/hyperledger/fabric-chaincode-go/shim +github.com/hyperledger/fabric-chaincode-go/shim/internal +# github.com/hyperledger/fabric-contract-api-go v1.0.0 +github.com/hyperledger/fabric-contract-api-go/contractapi +github.com/hyperledger/fabric-contract-api-go/contractapi/utils +github.com/hyperledger/fabric-contract-api-go/internal +github.com/hyperledger/fabric-contract-api-go/internal/types +github.com/hyperledger/fabric-contract-api-go/internal/utils +github.com/hyperledger/fabric-contract-api-go/metadata +github.com/hyperledger/fabric-contract-api-go/serializer +# github.com/hyperledger/fabric-protos-go v0.0.0-20200124220212-e9cfc186ba7b +github.com/hyperledger/fabric-protos-go/common +github.com/hyperledger/fabric-protos-go/ledger/queryresult +github.com/hyperledger/fabric-protos-go/ledger/rwset +github.com/hyperledger/fabric-protos-go/msp +github.com/hyperledger/fabric-protos-go/peer +# github.com/joho/godotenv v1.3.0 +github.com/joho/godotenv +# github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e +github.com/mailru/easyjson/buffer +github.com/mailru/easyjson/jlexer +github.com/mailru/easyjson/jwriter +# github.com/rogpeppe/go-internal v1.3.0 +github.com/rogpeppe/go-internal/modfile +github.com/rogpeppe/go-internal/module +github.com/rogpeppe/go-internal/semver +# github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f +github.com/xeipuuv/gojsonpointer +# github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 +github.com/xeipuuv/gojsonreference +# github.com/xeipuuv/gojsonschema v1.2.0 +github.com/xeipuuv/gojsonschema +# golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 +golang.org/x/net/http/httpguts +golang.org/x/net/http2 +golang.org/x/net/http2/hpack +golang.org/x/net/idna +golang.org/x/net/internal/timeseries +golang.org/x/net/trace +# golang.org/x/sys v0.0.0-20190710143415-6ec70d6a5542 +golang.org/x/sys/unix +# golang.org/x/text v0.3.2 +golang.org/x/text/secure/bidirule +golang.org/x/text/transform +golang.org/x/text/unicode/bidi +golang.org/x/text/unicode/norm +golang.org/x/text/width +# google.golang.org/genproto v0.0.0-20180831171423-11092d34479b +google.golang.org/genproto/googleapis/rpc/status +# google.golang.org/grpc v1.23.0 +google.golang.org/grpc +google.golang.org/grpc/balancer +google.golang.org/grpc/balancer/base +google.golang.org/grpc/balancer/roundrobin +google.golang.org/grpc/binarylog/grpc_binarylog_v1 +google.golang.org/grpc/codes +google.golang.org/grpc/connectivity +google.golang.org/grpc/credentials +google.golang.org/grpc/credentials/internal +google.golang.org/grpc/encoding +google.golang.org/grpc/encoding/proto +google.golang.org/grpc/grpclog +google.golang.org/grpc/internal +google.golang.org/grpc/internal/backoff +google.golang.org/grpc/internal/balancerload +google.golang.org/grpc/internal/binarylog +google.golang.org/grpc/internal/channelz +google.golang.org/grpc/internal/envconfig +google.golang.org/grpc/internal/grpcrand +google.golang.org/grpc/internal/grpcsync +google.golang.org/grpc/internal/syscall +google.golang.org/grpc/internal/transport +google.golang.org/grpc/keepalive +google.golang.org/grpc/metadata +google.golang.org/grpc/naming +google.golang.org/grpc/peer +google.golang.org/grpc/resolver +google.golang.org/grpc/resolver/dns +google.golang.org/grpc/resolver/passthrough +google.golang.org/grpc/serviceconfig +google.golang.org/grpc/stats +google.golang.org/grpc/status +google.golang.org/grpc/tap +# gopkg.in/yaml.v2 v2.2.2 +gopkg.in/yaml.v2 diff --git a/asset.tar.gz b/asset.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f697b7879a9a70f3a71f202c1b34454576c10f8f GIT binary patch literal 2483834 zcmV($K;yq3iwFP!00000|LnMROq}u8J=h|}nc@z`i@VD}X|Wh>~E*7pvtj6}XY=+LxrY`!%_I55#hQ==Xh7Oi&=Jr&~R4yJ4rvGl* z+ZfuJQ!!K77#f+{Pzh4~*L@BupZ~AP{4f09hOxbgDXWX26RWxB|5%Ox3;lC&@N#nU zakBq+{d4ki{xALizX6H}77-7`abQDht1KOQEOn%}MYhV8aDU zAeWRheP8AzjI?D=o09{9psd?&I4`0PMdwT_F(&ZAu{f&oU0Y3>iXsfg->qfN3g_Yj zb$OsEKtg_nU0h8l+K^*reC#3=VDOf9#4q!N77IJ}|9Qpkcd5^R>2+tbW~nHqupCNB1v? z+lBL*IKE3H#SGqZ5A1usODs%uTORUQV=K^Th*f`!ywi6>z#lDi2YY}6$9F}z>{EUJ z)@Ip_c|(AW^s70JmK)eogx^<=5w4Nd^Qj1pNW8kMHeAw){@T*1BLRff6u#wkuIc-A)doTPEUq z5sb|d2?B-}{S1Ob8g3N*`+*__$cFa%kNCzutfr_pW=ua3=U*e;bN7bj#89i%1XjLjMr+W(%!d5qfTD&azAirKY5KhI#q9jpmGJE_psx^|7A8 zLZGnU+Y&b+iwf57g@%EYq~{>ED@urUHd%Ai*gFo2fzq0Uw{wrZDSPJyO?cYONw6_Fy*I!*GIUvF@2s*5`y}GH>S}Z z7#Q(a0`QWEVwt8r;FT8o3D(i=HVoSkH>61Eq6z)agx+qNSa!c8Wl9V^ZGSXCdN~4I zcfI&!9dtdtMT_JMEqA#r!@4M*C~qD^4WZjlYzP06Oy0o6q@P&#y80l%7e8T2oUtC{Zh~3Qr=d){d9WseWnJhcLO~M^xDWFUBqJ~kVyg~#4S52@!1i%MZnqxb zg@(7pDI!rfXrYfEVO9$Fd>pkNdx|v{S(Z@YFgii$C%|OF|(oe6|MwKduJqK7i2vBLzh$nc~u;JCv{LbIA49?`@wO zaE3+e*6kML-(bLruzsFjUGEH1ZYcmSum||H1MsRYlE7s2(VKlQ<_i!JIt^PxYo~-& z`apfmyP&2`5Bk`E7uX{lMJ#N3(WP&_hyJ`43etdW0KDa(o2ZJ}4Bn39w0l;Sxn3`M}1j077>#%wvpJ7~tV_@f;E9!%Ez4$HdZ&B|D#AUA;ro40k&VVm|d zHbODgY2M$2*)|R%T?9SASB-4dMN)8LwU0f4r~i$c2IOB1w1IO^dDBONby2vhLJ3Q< zU*1G~bss?Fm!M@pyA+g6f@^)_3y|o%7IxHQ z;c2pG(9I5X>8)F6-(F)nEA8QOPQ2|LriOXj<>ePMoCAHeh1@oAz!ajEcc1{M18nd2 zwk@QrvC(+_@gHO0FbH@>4$;O}3gh4%w&CMh&V$jDU&59F?GjMd+1PLBPlGI7Y<;Xp zK(ccX@QMQhZltyefp$6Z!@Pi3jjwS|}(Ex-(rzBpd z^tP#Qwp=LMA#Cd3BST!}Uz|fce02vwA&{-NZlwJw1$YOW z$G)T9^I2F5;9B3yujv3NHtbi-vH3>mtGnBU`Og{b$3UUT^Pg70Z)`@p|2(wmz`ke4 ztpa*U15ywzhg~3UCU*sNnuCY*f33s3mSHUv?%Gh+-o}=-ft>f}wNSTam^tw3J;Zu3 z`n_-4IZPlE)=cr_`$`tdanjPb^tPSG-c}B~4uSq>6^!?zG4L*U@23n>ZnpqOzzd{J zN)TMv*~6c#XHd9H?0=RH)@=yTHb}XJVO~?b_%$6UZa?b5H3z&!g!Mg7=^4mFCv!<& zt}ZW|3`1V@0k=Ref7_d!o;)HFSZD^!dwJ&-c+C#o0{nnTL}K}opA57

2WY39wSi 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:V`22#{+is<)T0Fhi7~29ouHktD~;_ zGP-%wpMDwkS5vot7+s$ACU1g``Q?1$+70#tZ?}7UxVs_yeIBse-vHL`>n=Ut@duxy z@gUe>PH_6!+Z`mkjDNSyyaT^GJoo_P9KZ5!FV9~mmuE-e<@sQI6znrM@IMds4sV9x z(fs1@ztx#A!MV zE^joBh|5KPW9GejJ-Jvp`Z5?}`}1Qpk6Sm`;P`c&v(qmeCM|-Q`y64ve)ZbFWP|m= z?%?yAzBz}rFK_z(>@s-41Wn+-(QyTCC1ZG;e#d-_*Ebiz)W2ByUDLy8=N{~Ly@S*F z(BGL4S9W|iJeppfzh&>(&T|t7v(GtO{pai5!TR7;@>{|8HRoyYah$^o=ly&3^PP=* z=#shz8?(!^wXQoa!H*ryFV8MO#s>3^>&vst=`irS&e_Jyoo{>|_ItO({+d4wHQ(XC zSKZ&l|0{XDJU9)Uv$d&r;NJ|x0-6QL%VJtqt_8E*_2v2DXE*R~VH}|6>sOa&YrY%o zCxZh%#>RYjwhwa{9PG2<%4v7->L|KA-r4!EcRkC=A=HF;bhOJ(E!sJR{7-3$ZIciB$n`z)_^ zPMm{{-tge}@kQ`qe0kspm%-_r>x;p`<$T!hj=h74KX`@m{Dy6hkNST1_|+*J>|G`o z=a)CIUiNwuH%PCCE8c8y;C~q$>?gy6jg`x@-ycG^?&bOG)a`BrANr?rFYrJAKzaYb zX#@KI{Ox$yzZkm;hn--!GC+Fl?f-s!yvmB@d1s?^+yHd^gxj79ds0&`uXQVJMLB&F z=j_lQhKGKMtu+1{T)V+(06Lkyy~*hJo8f`~`SNV-%jI$Dn$LZ1*|4lmxR*YUvJo#8 z&2l#4^2QbGg3Ivb`Rgya^iY=8U_brQa_pQPal1Xe41Eq~j5uf=0DjZK{%3D@ zhx=~af4v#5ybdqU)}}N-+B`^~pTAD-mo0;r;bGV1zQMeRm!^Ci`ELJk?ws!+-*{gi zcy#*V`gZIdY)tul`CPq&7r0grluV7Cv$bHj@;bdh|G1c^#yq5qAdaVVr(DiUX~Fjb z&e`q#>peVLbA_+(t{lysv$gPE{0>gPT&%pFy02h9(DxMPe41XI`N`m5|N8RPYu{Z# zU6!Q>_c`4D#_UahV}9A+pE>8#3Cd7~Z-cxObo?F0lyfZ8hq=!!y^z(H_v)wmzI+c;lVFo?P}%uLrM=ZU(PTzkq+pcHV#J zUXO9#!S%;$?jI_C{-3W)6iuE|cRa*K;y&?_>!U~(9?s|eIZ?nbm8@$(BpSL-Q7X@ay@^>{ixOP#qrMdu+Qy&p|4Qe_P##wugiIrv6)XF zPpNN{u|0jmqU-zHiMdt9`&JG=JKRqzvkL_>V18b%V{KhsTPFpRuJ>wt{mp#ipWqXo zOZ?Vu+`zrLeD!*A8UCKWefj&1jByw2ONDOncHHpwgg%wc3wI_i*K_Abz8fCCbG64^{h?t{d#n-2VRO%6Q*nbaHse*A}<2nXz`hxCf`7owLj7MPI};p1_aG z(Ph7oR)5-kO*Y<jFzhckia|%I}NEV#C+I_v&;O!FPF!wAMad)J`H-@hJMMNzxOZ37sorleduny z8|+K@+>zrv`W#NJhX?4(#m{>$Z``0aSuhs)@bP5c$@ky)Tk`y7r7Yj2LTBK*SU5*Q z>$BI9_v+~O9eaU$L)Mc%%51puI(*YVnqQni;U^U3GotJ5#e`K5oN;rwX1@#(=~;+-E(z2Nll;(Rh4o}Z=< zks-b(gT6mrez@%b{x2>&r>htJyPn(k`?Ke#9EIT?ojdsr8xaa{dhjq~XoPZy7E z*OD=#O^ve+oU0Mvetk3S-}x73)p->HhpIEdqFe!UOue7tyjUrLRhhR^k&9updtx1p zw0c0^QeB&JakjR`_h}Vzv{v;w^`r}LF&~ywzKA0iM4Jo&X2m6 z=dWiA?wjyGe|7d7tKrMnU4wn03tk}|AL)aY>iqk1B=Gy4joq;O+kZ70|2B0|9$){1 zMOC%G{@4BWzk2;#{r|P+z2|?`|M(Frq%0i&O}wrHU33LkX4Y~&qK>!Ed|4r>MVcQ!4d-av6n@~m+i<1Dj%`L(ifrX{ux0fu|*tdxq848Rs zpQ?wx)Qt43HDKeV0@dl?Mdkjfejcy?rBP!@@Q0JRAl>S>rLA&n@J*5Mh~9Lh|{M`P?-k>lvsXi7t8%AO@t>Nc|9W=cgp z_Mw>Cbt>PA`R_-*M`Hq3BpQ(s{wb+Ll1Vi4Ju;*O>il_xh0AUfCTSMH7HKHlWbcMO z67#7ZhyPJ9%5BWjl!gVv@D5v~p%y!`h!60J`coPw_#PHoW;Cf$Qeu?%?x;IUouN;g zEz*?58-+n$I!>Kbo9ig)@UaKsDAG*^$zhc4-LWKX3iCFMB463^C@Hq%k^H7bs!%Y@ zc9e9?mdiz;0AJe;C_vf~_kRh!XBcnB?D*u)ksf%LAIe zK7My7p81oNEBW#_i=xhCwR^Q%0aL4Uv(VKTMtA5sxYu##klyY@cSij)?PDlsVHn+Y z_F3pPt;%SImteFPML1Qpaw((4qp8FEggC=!mJ-J(R<35^kTiC}#DQw^9Tb;5Ao1kE z*X5;`G;w1#h1&Ck$U>a<&wq1VHyfUA+KvL2(qNj-8~?q$bjW2x|5U-?BEh=|#>gM* zQN~OcLDTDPQNz(TTl_}vzCyM3xx4#N}hs9zzhscy^3kn zLRa8;q6buiaBb(XFd-})MRDK&hoX?&PMnkk&NWTQY??v#*)wuBp`nm*8Z*adU#JJu zJQ8al8h)m3N?1ZhzQc7P#j=1n95fX#?ZVWHP}B2Ql9iB;pYmcRn4!cpvE@dhL`asx zCjU7rmrfidQ0hIhymY0`xKuKWq|z2jsa?}x+h_p`B?0w$D2}}J_B`p;@Z)0~8 zQi66jD>9;+5JS78U;%c_@kd@A;CBoSBczL$^Qoqr?VUDl!0U zK$E||1NX&n=d|Prr4me|kcNU*ndSziUgn1^nYBda|7IS?UA%wJXks)8oasmG{i(pj zPgNImd;U3NG4-r5io6;3SqDw%DSfW zwqTEX(L-RTVdjVVcunV@$QJh04@j|*dIs<%rPIBC&KzG%N|L>u7q+k8T8co1P;O~N zlpa|6W~dV8Q@QM2{L=_iIH5%Z9A=1UM(%V)cx$-Fl&+>r3Ghb*KXzRqTgy$X|l{nj#?el#^17h!`G zW-G&xekxd0rO?fOow6PuC3!gLL~aTdlsA#%QP{0o1URI(2N8bPlucX4Q>59(BC2RZ zHQv*dDihy}Q}#>g0b8+r6&fSG8+dnZlHM5&MWc@8rh(Q_(hZ&9H{8& zpOa%do@ohK6F`V3?(ladOqTkQ}U_9e-R(E zP`vF5Z|~W3Oz$l0@OK)=IFxvF4;Apz61K^N@3x2{0yMJ7^ifiiiw^w0tiZ7mA3YO* zu%><=bw!A%(ar<<0R%oW^>sZWml4)LznZ$(zEFZcf~a#kr+4CQW!ngvIH4*Lo2P>3 zcOgFPc-A41j0X$v5%i$pKH<@lla#v~sJydqn=R5T?PBOpOfpa|-{w~NKwlw(cGo8K zj=Fm&IdC*$pXq=!h!*)ES_SmBB`f<5m|O9FoI#H`3V< z5~3q8GUVhNpNve(kVl`8jzRBQ%S&>=Tnk9uz@F{Qv0>Xf-{XtpO06-Z6dY8Uphd(H zzs;OK)utPs>%wFBb?Elik}WTy_~bIY5U1W+Hl$)f&r;J49_pz|U@4$PaqRW`hz&FW zBK(vHIWaK;%mqC%A>+&pe>TaL$;Hu&PHO@A`r$Tum_jS15Q1?k_Ke`r&ccMS)bvg{ zNTD!cujJ7Y3u%JBtZ^<4JI+~5J7h58AQbBZN>k%3hOksSpb2q8;pt&~m22+X$=rU& z(VB@OPt_(#hx3yt%owE1k!Y1OzZVvOT%{#OX}$IRC9w?Fyd_-V6M_=5c(o!)cr&*SsI1gFZ=fA7iv>h+$l_p|xG ztIz*>|M!Rd{F(BxYGHQCNe+kfTjh>F?=NAOc~)r znY#gpjM)vvEQt=}D2r$*0L2Ij?y=__I>b;QCq<+b==TH#PzcowG2keZwoE8w7Wy>d z##foHCV(N9sYY9k&LscfuGzYjtjG!3|g3uh#lSvrjYdtDMvOwUKFisDH z@EvlZT?BxZPH3p3N(yncyUh6vCC^!ISxvTJfJ>3Ijk^v?!PTHMW79@Y?vu zu+9k^KOB)Z326ckY(|k^fz^!@7lpa-3zd9^=60C2Np#JvGl+F($4QvWaY;S`ex2V~ z=rvoP{z3j0UCS6SV!kE&oUnlMF1YJXX2@jo!Ei#-j--B-j6=e^;@c?M8&Yn+$X3ORRQm)?M_=a`a;P7o`@VCx2#fPhf z0QB0V_XrH$I@8ke-#XKR(cd~#G5tr(8<*L?{zaN)P2Q(5`T1u70qI-{s8vov_`ZC} z0$$QEahbwdceYj(-%PP91;tRI8qi@NB8`hKBHLd@qNwNi{$!A;Bz3@oYexPmN>h zq?8*NCnR0D75AfC8fP|0T9e_pgV3XQ&29@+S=stqn5cZRfUD9V1}?1vYMbjb5wFpI z7it6W47G7Ub0JH`fUPBIxPIu?qAm9OlhD@CJ%Ka*E`+V71|L??pi<30h!k&~X$?X+ zo~I@^7|CE+(u{_m7xOAq@PUm;H2hqmZ8_!~^cJ+iIVL{>EBu@^g|qkc8ung2N4u`ZT4@Jo0UWTP?$Gg2>AQ@&)G1 zLf4;pl(-Wo9MdFspdh_koQ3VwqM_eM3ol(#n+Xdo6Ex`CVHD1TXqH(1C@i{iuST5$ znp`qE7BMT&E~A6yS_#vt&!mtYc$x$Md|NJ9ps-Jb$UlthjJc=MR9AMmd6tP%;KRo= zu~@_|8^Y!e3zH^Z5pA>^=$0i@A3}1X+40n8snLex0%LPG-v8MBB=a<`AWOr@(U|%l zdz+tda>lqPF$<2Tj!T<2jt~53L{nVf4MB-mYY<%JiV#x0HAR4+Gf3WWecb%`DV~MG z$p&FB z;v3{r8>eN=wr!lb^^(IO{Y4NLn4MGEjz}Z2zi1P@zhu}3Lz90D#qr`V8vSBzkazMI zG>!{+VGpsKg5(vJJiC}{dlMshR@eByo@o#wpqe~u2qD7RAsp<&B`WWd9MO^9>_NM~ zo9ew?7?OT){8!zdiQ&5Dm65}GrN4u)@ICS0)n0GSj{mOoS66y}#eaXq&mR>3)e=&D z12`WN#$phU4)Z?gP2UBMOR}g}T@r>PMMWs$goFiCp9VBcRpNk=`(ZTY))#K%uy8D{ zoE*~IUHi^NW|I2O?z3lPKaK*7$f&bsJ6TfPHiGkIJ~64&MRsURr(8tCROUO6 zBgZEgu7>#VV8n+pq3XzTLZ(gvG5QpP$0E~`;+eHbfZ@YaPmC8(nj%@^nNJf?%X|^Q z)OjyHni}grl5CbH9v$!xeR@aiGjK?w?1;aUHpXufLQ}VcC*epZLRdf{%hmSY0-d6hKRL;Sh_vgb)|rt3 z2%l`n(&OH&ff(hfO>OQj4B850Ybk#J;4BTLkg zB$zanKO~i@vLDLanioJMxom~VH6dt3TTyciXzIc_D2{_m)UlQFvFwE*_cnomFsj+N z&NPv#OKEQCZKxDb*4*Aom5Nj8NcADmLd7M|L}NON#QCg@;1nqBCcU8{oVYsUG4^dkVGBM@vsNKoiIO1 zm0jU-sQpc0LrjHF9OBNBGz#Q>Vnf$QmR+e*?Qfq}v19RtWaa}a<;*z8RQ8*#-z(I6 zCTA%djK@z4w7gsqT5sFe#}`oU`5G&5^qj_GY9gbHC5O!Sx$6m$dy!*>n|6rS$egbM zZzyuUAcmo)P1iTOn?uaVv(HAc#VANS$J3aFX$hon%aXDv1EvY8 zG>AGMU(=$^F=`i3U&&aJ@hc393M`esI}5fgzBjEtKpGviAwo`82aa@Edc9z;YzU#XEf%R&cY>IPyv(nWud3%|f6SN5)_@$A`s|wYI7^iPTjbd@@LV0Z z;6E~4W=CD6ODGNCN~+JUF&tD$D1>Z@eo5nK_*sQuf#JQmz zqTzuLFceoghI6~p&MZmwc^yWflxJcAfg`Ax64&v4>X9gf->~F`0tdl1<2($8Oe49S zbK>zVfGEs3!h&mf9>yU7{LnMPzN#C<%x11j6JX{v3KNP~Pes>kkxPS?R!Lv`ur8)9 zWjBJ(817>sVQHdcr^b*_(~eE)tae%Y*y(`>E~!P2(ty5^ieW40iVpkN4`2anJh?>%Ems{#U=>{pgW3vD5h1OW6p}Q?-{5vY;922T#rMcRso8) z^;m*FGL$Jzgr^B!;V~6{W{;$kIGT+oWCQIUONbY_;J9V+isBq%uJY5P+mOa2iV1hJ z)43=c47JRMa{;HQ2iQlJka6tjoG3vD0|7dAe6k0ib4biW<0PE>gyC3W5qgCCj0h%z z^c?t#NoNe4_Q-FeyNiGLfOMPBhJQK>JqjsMK@gzqi5vcElmJfP!BE1!597p)*GBJ{sY< zKO)v9w-XA}AI^1&vM4qwbIZ6iMKNhI)5NLA4ycvfT z6H`6}0D4Dbm%(xSl*R!|5)gQhGnxIylDw#4sm%s#1G17f1qUn^M^^X_g>%h^2qKS- z7#2@TB!e+00Fnh}Da0pz7O)g|Nl7$HZ@GAhT9|xG)mCc{00}VIpe@(`h>d5ls9Vi^ zYN!vqnUY7{3Fr8kKD&nvRY2W|6EfG43j}tX#@huke&Rd2TCb=?ikl>Bf&xZnnksij zykdaU)Wrp?37gtWr-;I~6W4A)J?4lr88z**D89}qh1)2;28=-uaY@rlfQ51zY5^eW z#I&Fyt#jir2=|KhZ|J2q*QQ(mU717bD7_%HTNtIxrAobt^bk1rMA}IChtbE-oeNv=&>~7n{yJ=8wRZ8QXEF9SSN(~&M=DQ zUr{XCY_28&Ol?ZqxEH#eL_RDEy+6tGJg<+Xo*G%pzfH2_6Vx;Fk065v2@})6VQPKS zsS|^waJs-W0vc0)PJ9+#1L1}&1UZ5GDU#_bTEUG(+pv*}s5zt{F)A8quJ6h?7>mL} zj%U|^TC&D?dV^==WSe+!U=~k6hQ*CXNm7`VlVYzZE=9g=EQ*wC{RlSHl9;n$z*3<+ zq~8J31(*YRVky8tpvQA=h2%1ryGmMX$%x6iOv`v$xT%ly1q%=rO70!}mM!5-b!A6P}x)wEhE6Ue0iQYEUh$RIE zwK?59mbkM7tUQbufW8!NYHNq(T6*!-;8~F2A zcjCljzHy4?j-Sqd9mSNk35#QT6S-WG=d8Kd|6y4?5jAUbcM!6MbDB=8^XY8pGuNMU zL7n=}ysbZ((ilx`0-p%S!rZr+ZobmR;4J4xEHLMwTaZC327}%^T#+cl2jzCQ6>KgvkrAgw%3|8kTX5m=w zXeg7m&s_M;q(vM*3aPM&SjyVWAZKy5gPaiVaD}x^BjM!P$cZ6t;nt0?b&!aE5zW+I zC`nn$Wm+*MWn=M#ipaI+N=|Ito7!M0-#U(xM3c4kRtN~9MN8$Lk0RfXZpHmV zp}RJh)xN5QGo2+Vl*R+}aK8~#mra?h8?AV+c8B~YH&F-dLv|3`xEId(b&ZmhzvTKYS)6`*MTl&q$79Ms7 z;XF4vV_-F)7KpZZRz_IIwvg^NSBoCyepB0UCO||}z1+myFa%M6PgbSco*QaU2?I;@ zMwnPkV|))W5-ToFwc#SdgU?RXCYsmcN=xxyZ2UN@8;9>s2D^I=lG3|W6%-d^aF^Q{ z$6Q^83Mg19Im!aR3{Z0G=|DAJ*kfv;qlIJ@k5o~U{6eXLX26NaC(iGus{y8%!i97N zVRKUAQzzluDKknhy6Dvk4+$rm5=}?qsA;V!WJy(0iNilkWo`+XxvuR16k#K+XSm56 zYYUi%AI0rFl^yBp8Bs2=Hz=UeD6>+)fw-YDGAo_1*!z`Fa;|t2MsWbQ-JI!^Ix!vv z%ewb@G8_B`=K;6UD#+*f#^#lKC^kA`ZGpy`Td{d%HXP66zvIvXp_heO_d1 zrmEqFb5mdt1iG%CJblFehf&HqsnZ*25=e1#!_e{#%&#S65CW&)Ck|B za*`+nlMXC}%bre*4|=jtK9(m~p*9_C%<}PBxth#3^u!rp#snaxo_EMgmcZ5t>lK_i zF{jI1Edqt=aE=>T*m?6UmR1A6McBOPC|FxFOsxGxquPWD2#!0+Zc)wFEKO|Ywnzjg zevR#8GB|FKo$cenu_W%<;N;c24=3bo`{-!<@MN%eOx_)t$MWy?$@bv|`E79cvMmcV z(7S2OC#hz_K(Ba4m{hMIh?6=}PtD0Kl1h|}$f?+9L{0`LZ}!^c@ZI6BgTwu!!QsK) z+r7h+HhH^uwEJrN@ML>u@Mdsw0V1?NI62%q#`J-00ptDl(aB)NaDev@#IYZ{d;rW1DUP5oU>~cI1Mi>zv zf}QDvM)BMTwaAmK6q0py$RMO+pN(ng(w2VlsBMLERpjShd2h<=^B(ot5F9!{ZX8ER zqRuVkkSW182f2wXTpy@CE%On@WGGqYGZ(FJPGl#ZFPBR+DNKa0^CIljzv#3YWeI1|K; zf`ALJNe>*DCapG+wFR<)H~~Wi(;e@I!6B)rhaV*g6GV{74FWu_fQ=5>cDYU9RFImN zkF0Bmnv3FWf^S@z%QbsgSb5wgy-;@&MHmHzNT+q!4l!5akP!ua(k2dI=s^Ab5!B3p zFsRUebC5e4ge+C-QJvoU5_b{}eG!EMzvUTMJD8@=rI96Iq{RM;CDw5d?T}Z|E#C>@ zR#FiR=xG4f^Mj0*&^Jy)l+P`WMIeYPKIV#4t5LugJRNIn5S zU+}ozfi@#W8;_1?=wXjZt}h>qp|A#4vW;Ynmpc z@$pkbZ&G~6mDWy`Ut)NXWS)6NzC)TXqwqgezJRetCGfws2<+Bjo2u^(C_KdOz%bj! z*(_fx$vjM*J9Q8Wn|fKN<%|-?Pa+aiY%SuXQj0@dl$#{M$|kVwvY+FYN2^erOQfv8 z38};+;T;=Lq=9;b>)-~r752%eNPgjHQYT^RJYG;vp1Z2>j1F=*u{&WmQd8=~#E) zs3c0cIL59&8bY+pu|jrIkeyVD`+X^=BDWbYD-lx5Lof3^M9$f=8Kt!7CDCJv)u7A+ zf28{@9d97pF{Ks?QpiQcI+yrPIG#CUO2*L*jl*napNN)de?7_1tMk`wfed zIro_x`97ZgcBaFs=fCdB|6h5YyZ_l=TU}lKEC2sT{J{NBkJ{mL;I;efn1;WOqYiob zjvT%_A$ugg#R+k}d5%QsF;uE-Y7R+d##pX#~? z>LZRpXAq9?f+<|+#FI(Ly2aXE=pu?(7Y&nHtnMH8aL*hs} zGRzL8viv6G_zE8sII=B1MpKU^LFAY|3n>(;@aG~I4xB5)PC`{uYrv3FPhD=EdK}}< zGDPJKioNImzQ-PeL>T)O!h!kJ;bfkUV+YH$+3>|{_)=_kA706RSW08OaSN4oO$`1UVf-pP%|h%@qMM%3yHvCcS_*DCR9FXZQ4|s5ulIL)DYgPp+-wn1 zl%`ESeqv#2z81&Tgl>BEVq?@_T^qS;tE(H`b@#dG@wNM{9#uKJbSa#nV6Ra`NDO;- zcXuTg*B~54S0w<=2Zq~Z*jlc`1dhYo3SE@A24_59Mm7|B}-f<_CAEyVRRcd7n)wC zFN_LivnBvR*?}ms{#N&>Bh?2q#ZQ{8LY<0_KLiD}!Qf$hZcLWG6})|)17wzuurCL} zbsg;pi3>RY5M^&6m<0K~B4Gq-%(8IoLkTd4i#*=s=ayz3IssJOkkIh;Oix^g>O90E z8K#K)E~3DwNO2U^FTmP6Ny5ew z?+WblW@Cz9EM&=wmAL`+S)r}0vNz@Jnt)89E-q1=hKep}@Jq?(1$%~Qn&O@T zt;>}*CRbv^z!jGGHVaVfFxsGwO^sI92DB;&$a!16-VbQ1+g5O*%B+hv1$Mo9;Ntl- zTcxx|B<|$fib2Q3zEhuK*=HB;I%Vdy$W!4<=pEebg(2W+9aTmN3zAJEpSh4y!yqx?nYx(BLW8Gd z=tu4~&Lt9lx3~=x#p481*c>ce2HAWNN0XEM|NfutPALs*nm zgainjm{~$B2ra+5{O`S?S7mE25012rR9H zIHQyrWduwe0R*CVQx?;tgT?(I-6+8v6%4G)!hZMwOB#`0w@n;!P3OdSl2l*38P0J? zi9)a2#Tsma1JhZ|*T0iyn)P}evQ56wIMPF<;wdpW8Fv!$*17w@!gPIgd1;4tK8fD2 z8%k#ISpm7%G`V50t2Dau*$qWX4>gDkk?qEXl1GugAtVesp43jLWD}J^2Mr8bi+--p zRB<{N#LDr6r8b1N$wrde@WLk~r$Fjds6as?J-|^gvVGwR)i$OK$m$o6r$TNWR4cl0 zC6t{R$4)r&ofvgGPRx(S%vD-jnvj-KwV^*h;s`)><2)zU^J+Ep=T{tOOQ{MlB`Q^Q zxsN5{otH=P1YtaqDH_Nh#g#L_poA^Yi`fELXZZqvDj0*EzN<@+W(=Kxg|4sV6D%+7 z>2|^gAcXv~jp-cP56F7}FEmYzu`CaOW?^T@Qqb=~CpHg>Z#^WgRT9rC+wPS_wTheD zv8^(YkBV@W0j-L2mGybrXjlJRErLEY=2Z-@D)Lo@!BfY-O0cUN1*=4Lfmm1>8f6i& zs&Q+@#YzS&h>leaRVPMPGE(hGS;^+I&hbnc>IXE%7pT=ru87;nXVCR4PqmiI0Zp?T zyk@I(i&up}7EDzHsREna?g(XMrC&LCu9rD_w>Bj*`-NIVXFEM;WWxn-wxknYHLB6! zVN83Ns7wETTvXhM{2hU6_40P2)pamZ5f(Nmd3VO=pSQGG7hITbhW3BGr z<4pGPC$kUtV{3V}#k8n#R%Yt?_qA#i@NKFLvV<=m~4V0=L@WGSizT(3uT z%#xJG@Bm$ThAjdj4ZMTUDQVVd)dYJVyi!1wC*BHNajP2GSv)Gm(QMUds1j%*17j9&2S^9=$z3zI3wU)Xd?J+f~B0as^vse9KOwMqBx z#gPBoeF6V=EC22De@D=3-R1votnh!`9()3yd+^Chw+#cV!q@B2^f~``xW@mbFysn+ zzJ{N}03Nh|0jTsT|Mxk3{sR7W9Ow&3^l*SajJyGW9Qfind_q_BzE9jb<-8Dm`2Zeb zjU%sVI#K{Pf+3#+I0~OXhfiGieFOeogKs@Rq7M)@;NR6XgG4TT^a8M0g( zgHQVFq8kUgstL6YSoaMAuD}dv4+a>mY2tK|;x9BV>p;MbRXrFIZG^IfK-V?h5v?Kg z>U%K2b6{p4u%Phu8vH(_f>8?41~PwD%goA1i$=GnCGZ6zjZ(BR)F9lxm>S1)O^BLe zIIfj-nBNdUBYD>m>ld0gC^#>WL@V&e$kQND9-hM|J^0r{Oaa^~4B5lMP~HLbDzqE| zSCH%*D5faONVVQ`ErQNSgC4^CJgPtGySf)j7m6~n_k|P%2Pny5?eep?^p17 zfEERp?TT1vfc1*8hS5%SQMaHf+^{CDwCo7JMLmid2?Z22TOYM4V%kM{KkeW)qk1sx8n#3sMrDT_8oIa+Ry8x%Q4(-Y=!UGf zm1^@0Erg!O=($D+Egf2H)NFzWXvI+Fp^%}nT>%`?=Rq4M%u!#HbZD4+T(C&4p(lh@ zE4$H#W;HJNRf8-jrno+ZL~UqPR*^$6gBL6MbBgL30pWT^6^$U)a5gC8XrBQDu5I)! z(3GMG;PB}92)l+%UP0Ly>KUvXb`6Q}98G^$gFvSdTMBc8dI_CO>3IMT&~o9|Iae2* zT>KYp04ijPvw5LsDRhDC``7!A|9(G@ss8|*%zJ7-{IC1!KlHl&)wPvO{fE`HzutfR zF+WdI{{aQzyVQP2SwNH238vMp;gzyys_|b%BmRdLjX0Umgu=CsSprWY;ROn)2khZ7 zX-pFuaJnS$rV{nYtCN%WRv&$lVwT{k;j%!qiI=Zt$<>F$-wxlM9p(=aMYk=|Rc((y z?C$OzA6K;PcXjKX?Uz?ad%u6!J3c9Cy=t`He|NMqc=>WKhl$a8MYTSBcXGA=?!)2B ziq@;DwZP(P@9<=Ba&dL??%ma!?W2P|qjgWi9vq(R9UX4JxjNoEI^8?E+B-UWcVxj{ zGw|k^4Bozf1LauvUKU`o*6nEu?j4;DcK5D69B!X(58iC=yxGgOUg7JQFDuapF1YXo zHvI@Z{Dfz!UzeAt;9#S@ywvY@H%UXViGQ#P9~hj#4_7uxLlGQ5THS>A2#~7q zQIEGOBOPzC2EYr+gBC3K0MAHXZ;CC@O61fO?xvhj@|b1 zlA=Pv_x&!kFv*f>wTdk?jdD;{yDPkfCRss?Ro=+&_Xs<6Fq7C=UuA%|^LBh9;(j;=Q)K;Gej=k247wN>v$ z-|Y@xZ1hI!cD)bKVy~#<;kiIglj*On-tHYAZy)U0j4--_HZ$7qzB}9>9FU6ky@K{v zAKt&*KG`d5-?!TD9lm^bbi8+Tb#k^ z_!loWNuy}GS}7SbtWr#JewzhKNlZ4YD|-4nId#>9Z-t8~ut`9D6j5N45KumO5};av z@p4pv@7DQug@o87FDyl(>9K$^$%sjzLNNh9y;AAP+qdAQ(r^|K8p0!#P-FK_SKY^Z zS^-TRxWfW9x=@FnG66wP3D~lqw`|j=A!O7LD?c-O~kXNM|DgaWg zjx z`0B4$t%aUPe}M&G!jQs+Uo_CuD}cUK0B@W`R8)dHmvG05Z=5`F5mP3WNQ`75K5?5A zvkKHA=gg1DFee4~*o?d<0G+vyg`X{O1*?AgYW+0T zl5|u(|I!px-Na5iHM>44)zk!3m0oJL`yMWC;mjVIMyg>{rH*Dtdg^ph1B<#TqB)cn zNDDQGD@z5ljdnatex6vD2qCmluWb^XbM`T-c=Q7n!BX(?3q@A zGOiayq0k!;$HRD7g25@&iy7sIYEQw@O79f3ZRV#iPrfSe6LfY)|KVqr{!^KFi8a_S z5-;_AQHcyyqg17nCYce9FCJE_^no`B9(HS>L^VrVlqzP~z*ft;+oP1S22-Vyb*t~O zJt&ydL)Ec_P^FCRQJz{AD-7x?;tVXn_K@!PQZ}3R-RDt5jAU z)vFOYpeblJNFatKTcvoRX;tpF1z2k_EC!m_UR7i1-US0%T3W*^$kNAsdPZH>OU<7^ z*Gy_Y!Yfm#vQM!#FEkxhMUE8Qvhn_;ZgY+^_bO@CvRGRifSyEc8}RDrZ=?D5*ydGD z_pusXfvTh0Gvj_Q9j|d(RM}?{e1O(B2ER}JXGUAd4(MSj3_@mrMJ$7czp#nW`e+eb zVc=@&cGQRU%txkE9Yazw>Vo5ySrB0yjJE+MP8d?(G#WL{hKoHdqv4v+vTp_0?TZaY zJ>ykmFrLhK{b_6p;$CV<@N3(8$S#jE84^g9oseyw);MHt^2$LTY7wx1l^HNccxv4* zMz5>zEmRiJ@^Y9m)o#MArOySx0wr#Os-w9Dq}u9QEdDw=TB345Q%i%@Qd*bZCk6g!x0=eXNLh(RA9T+$Xaj~W&bQW*$Bs2tGX;{Cg+`f+fFlUvFQlqMU zmT>CxEaC(4U?Nt@6!r5s-!LUkqRbL9jAkJ`EUt|Az$>kqyPCJx%(HCuAY0wgXqQED zJ0!D^{c}du`;J(M6q5ZQ%1A@+*EIT-h8~vgB)<}v36W1N)6nBR zV-m&W_~mb^)6_{s)Y7Q37n3F)@<8=YcS7B3I1WOjLYgEk1wcGiIZ=yCKy>^l9Ftin zN+Y)kOJy-o>`Mq4Qf@C}s5UF5!i@rW=RYP*J)FQ{LSrZhdP{v@V}QZeB#mNy7KLfe z%S$JB6-+bggr;|jU+G2-c^;*kINYc`}u|~C0 z0GloE2%lx8VDB!aAt+f`pt6h+yrXOK*H|Q6tuHU>j>5p@nT4 z=w#H@O#S4FgSz4aiN&UYW!Ie5_|Lg>uuOh=DIv2}rh}`g6yVGySZ5X zRz;%+R|hh|R2BuwkN4!YfGk{UmjEh2Y>~=8_MoK&fAXW$tMg-lFDmbo2VASFj|I1W zF(1pBuJv%3jo$%Hp^QeIvWO?3kIO0(<^c<@x)$tH>5A6}uUy||tJov1oQrH#SqLXL zrt)y>Rq#~JE6R8lOzf^MeBN>)&|ul?o$>FXzfqqb%23zai>l^}alkOE^~Nzeltm%4 z;XbP%;V$2iMQR%)R$rSqMCexPksz6Nj%myspIgs?*cLA@$-ZTtiy6MerrFJp_%yfk ziH9tWop>%E2vANH_<%CWg1dnovg?Fq+67m=ZYsC*;DKEyo#mxNa2hi|wSt}@@0oo8 z1wQ+8`Xd>BmzV6e+huBXXMsGfNOu-mWp(as%sN7Z9tWUxQoVo@(SD; zd}^28E<|pTn%midON(t6ja0A7c4mm8^4dkfYt_}xz^-3VJELc7RnpF4$*nMI#hSrY zY+PBpx?l{@hV@2(rp2*TRU9#~w)SomrtqkD(+NGb-HnLj`_V0gkP z!=&T1BIXL(eHuqM%%eIs%SRA#TcPvi_};cSs?(z^je=5TVN|21 zwJhu3imC8Wiy{D2SrTiEr?wz+{JNIIMrHwvp$00m6c*%K7D9q7unZQkIu=2~s%;6R zLaSo|6gCGmRfkh(}%y55FeOW7-+1=`*QS4Z6|XtnjdQebryzDCF@dtE~_*C=jn0e`}DHlv`; zh=mvk5{H%9`!C7FiK$1NAQBIAM6pL>8l$UDY0QBgMk&=M0`5EtlLrskCGsemyY?)a zC1w-(_O9p$PBk1_!SU9RdLH$lbWWHB-XS=Pz`3RgVJU(6Iz9l5hB%VK>ZQ2pqxK)t zn|G2)n+#{^vN$m_uLXrs+A;1&8z#+8`V&9Dm{YIL0Ia=LDcoiJqG?5*Vy~g*oF7De zRh6?LFGS_u6cisXd~s;eD?^K37AmoXFym4)2;bT^P;_{d0TeK*tee`ex4gQ`@+q9;;*71RmB# z#?)_*+s$a`VlQK;vs-;?vVE}3*%SLv{U-7(oRV(yyIDqZuX_8pg25hk`5W$a@j7VXK4eeKy2NH#y6` zXF{B2KgZeQEXb1Vl_+6iyIp5M+2;EUE^TgFJ1#z1jlJ%aancsF`{rZYT?XUwjVo$6 zRcYQLtPl+TSf?sg+uJSiiy9^YtN3s${9-RE0V{T7Sc0L)1iyF?FhNCPularP)u0KC z482V6i-W)k7_(Nh`=TE_fg#&ua$ocUC@}Q;ncEj#AqtpG{B-2-^N~6x9y3wi-I7iw z>WKR!-`Z5|MNqLyc}&)kuv8pcdrj9@Lsc1h%-6%QRV*@l&DhsPS+Qm5WzG)ATXC4S znzaLvS8Vc4=B+;li%qwmnd^nd;>c%jbaXO#?OPo0u)l8$hTAZOLH*MY*XVs(bub{O zb0PB2Nu={=d+8Zl%3#3EABOhTx{1CHi}D)#Bv_ZPt9p)wHKb-uaW zwlNXu%GZ?z$MZm!sC!ekUa#K{d9Us9UVGyWF2Fa6jh?_)*mekhau4zgev)nO!C&LZ zUc$j_@$)>?S@@{6`HW`n$95fF$+~)w7BPD`62Ayd{-l{_C%58d=J77gY`QoZFPF}~ z#%qbYxE#OGuS99g^y4R%(Qb1;rdZp?LnF_c!R~mo)~(jWyeVt(%XGJS%(MRPiqk=0 zWfI^y9%>1It@;KJ{B+>r%nxd??CrGb5W}Z~CeUc_4}Kn$u$bX)I!TJnFOAubtATT> z>hF6i8bF^03RQtdQnY#H)W_H6G|kpi9ydEP|FJoJv~y3}%^Pk1+(<^>`g5w&=f-N) z%@L=b{@z#-=VwkW^|8H*zm@E#_UbP@T2lScUbRWdtREXmc=Qu2d1iw2;AW7K1rtO-6=Z%I=E}wW#8g0XY@|3HvaHop)?Jh-Ix<5#V=2J#ol;bT0aOjLU;x1qDO@S@Gt#yqU$mN5 zNXd>-8MF4GKTv*18R@4+XOLJ2et8FU$~Oc#)A6%@4;+XIP?j{2Q5b zkpUQHMl3J}6Ej4}#v$_x@D><@3v?z7-`waPIuk6RQB$NiMp|y9Sf9WyE={#ik%N1Ij1UEB z*fD!xoCV88Ps!$CDoEcijn*RrGD$Qv!%NO2H0lWTjW5g~U#^T;mtX(`8?$WamlM+( zbQ&>$tz{MzgjQoSGms5Egs-NA@h}FM&kNH6B6n%}8Y3~A8{Nlvgj@w!W@|mj6VtO8 zI?QCjO!1WE*N?#%GauQO(P=Cg2(^kUYl;rFV=OOOY$0H-;j@qiemXX4 zN`chWr~o<&5fR30#^x~CWjL0628wvLs5Chxs6y^mI6qCu}>O7*Q;0KbZGV}^h?Hj*NZKPf0IrRs!` zk)~Amj3q_akYdUrHE2Bs3YG_hiDcy~=4voPPz@Sn7UIX4$)p2A(=9aM7~a*OvOiBXe|8C<7Ikz<404fO$ZmL1qIL<^#vM!%{&*tZ|+=^3?qVX_$lha(V+4H6qJiWW&Yq^XrZw* zt&9}2%Oz=@3g2OvVCF_fPso}I(=Ct}EkK+>RtsUy#Qa(reB}?IrkAE^7-}+DW23m3 zXt1D|{}_WIqEZOKg6P#H8-poZev&gmAuKu=OSlxwbFA!Wh9e}Hn6X?gnahOhN9;zX zZD}M$Ffe7R2@`^$MkESHKb#tMm{3$PW<)OxQK)RlTq&mEC5weX6k#U}42FHF+pX5g zD>HFoRgGpZdRfVfkd~rYv}rP^!hIMCv=1f(%a90>-JC^aWI^FRvD^@*9grQ?7d^gY zYX}N>hoDRyJJ0YdS} zsP&BPmSOf_nYBb*1TRWb$EJ%gd!b$A8kv=yu=NjO=?gyF!2m6ov*B8>?KRBXkgZte zEbOH{EvUfEv~`4iFK84NAgG2P;8GTsrmvyzXg;PAA_mwijMJEH2w_%XkZDT|;W*4J zO&J#6Vlg{sEB%n|Ope&rV5sQ8?qXB~Z3?oVF?2J%!m4Hi?dxG5f~^wZMbLuq(#!z( zj|)T=F3ZEj$k;I{=| zcCXB6fer#6imqYnFIWf#&A~821!J~5MCM^;<^h6C1kO;6B}S1J;+P;qGenq&v<%Y2 zRV^+;rqBo)p;uU&BF05qBeVdTgTG;6Xst3HR7(;*bm(P7QzO>nn5rS$Iio?w@WQk~ z9idALwzW(Vcw}0Gc!}1O7pB$)^XGH407bFzgil7qu)HwCE7)3$f)o~YV`8H9OTLo< zYYJzwTA1O2E+LLXpokGdxVU01h*@XSRxP{>_QtRP;fD`ctKe^F1*XqpG^jQaFcMJ5 zs_w}@PyX#+@lTOQ=bsg}_xVjy-tLxXQMNh1z2Ax)K-uT3aG593&+5#n`1vL~ug;>< zRdQ2)IomGJZn8EW!_ja!pHBa6I2;Zy=JtPw!`Wmup3uM5pMM*UXQRpZ--6+{=zv{O zhWWn@AIz%~p8op>`E!0AJkMfb(87b|J!K2{`9`Ea-(+XOi+91>cb|fnFRnhFot&Qs zMYhW$@ieF@f;tjB*@n^YK>U(FpPVF{ZI-Ll->Xd-oUS(IDV?GQr%dN=vUQl=oa=jX z_{ZtVqfJ=e2B-4x(~~FaZs7;961hkt5rDJ;1}JvhZ7zxemx_uYQ7;$ogD@8=m3CI% ziu^7q01A1g&PA_-Kj|AlxKmVpU2V#Wbu2B7pNh*SM^1E2y2OANlMR1?(@*v8#_w=|^Qm`4OLd1nmT)K@FhCJnO zH$A4#f8V3VRY6#`Dv$YgEkfDN+nYR$MZH0)199b}!pKliX_PvnR1orIn54mVxL#jZ zPgv2um24foWmP?vWF>y~+#7Gb2o>1Ef+(pRc`&Dd0`q-pjc&z8JUvm+@uRcg17#+_%iS+YQDSTuE0i6dX;2IO5Lcnn=Dp{Lm)jl3!cSs5T^G*l9nRhh&TyL!7EmP8Tj_A8p^X= zgzgS9idZl;MEEIxO#l zLRBgO8be(nn^hI9u(-k^z(sMXMVJc)Kg>2kP8WG;h5Dhr?q+)Z`RRTu&XC^z`q%d_ zo_%^rw&fFhfRAq6glTvqa^yStEb?S^Z|usmwNw(ZDO^Q_kqHQcMt;@Pq^Jx{t#UOx zWW6wmla+FtWi`Xf+b|sjS+3?tk`8Q^x8Y}jG#TMm&e&X@abv&7ef_2!7S=E{C$X@KIaw?m5)Vsb z;Sg)hW8suN>^}Z%bU9ouSEI}MD!iCpUh4b!&YM%0*}<7CEIO^JEIb^Kp3B0PrgJh2 zpJ;uuSvYJP(^+`y}@R075(ZZ(OJ*9gnQa74tFcDh2};rjgktMeWX z#xzPUmAw0|>7$DOofwH~QV#Jz5uyGz%*!O&t;1X=WaD0f=ie6py%R2=e+54i?1P{w zsJaWgsXyBfz95N;vt3VwkF77hD8bu}ENSI}Q*|5C!J%|d5VU>}X#D`tTK&czf8p~J zNAV9`{KB#Q!N}(i9_k17+yAd=_j}s=L+$)N``+8GH{0{RcD%3s?qRoq#7Tyw8<>kO z-IAWhkmlCOI0V?G4#|5|!6rBZ-|Dp%qB{Y!1G5-(iq)-1I$~tKLA*Dbu9mn34_Ae(qERBs;3~RQz6FPO#wz?o^q!T2o!y>iq7|MSXLZNQb zl0$82X4w3)aH_Z4^}X5mR);t0;2>Pzh4)3ZCm9DxS|qUuLcgQLwx~*agQbq%YPU96 z)vjJHiru=TZO~9{qm@}1uIqOm{TWJprS+-oO6&f+EBexZ*;Qlzv5h)>pwGc4xIBFg$dOP!Zh8Azq7{a9xiQd30E% zOJ{#5Hs~50J}`;;2NA{}MQO)KR)p*qfi2&w^C2Zb4uTH*s*J__KV|Q`+&eI57_!v> zg8Lm&bl96x7XPavTZg5HEqKIDxcxiEpb>m*X5!(5NL(ABnuJkx3z$1V@@I(;@{s7lwMTCvgor4Jun zrxzpcNFG1&xR5rEymDLM4%rDI|27eMm`Ars6s`jX|0dT6G9J6l*0Bjcc@zRNCJ3R+ zN_GTbof9;~BK0!^3Md_?r@vaRm#*a4e^|fSQ9#>{lsX4+ccbXzH}SCQ#?t<#sAAq= zrfQ0!>^6lyev_uC`&Nn5n0ixiEvw#?scFiVD7kqA^yhEVoHtoaqOw2r_`0szI?OY< zc&gP7V!Vx}?1IjkatG~#`Xj3@d!hcCU3NrkHS4C1Zr-&6Dbna^O7vaWd<*`t{bFdSBI#e?$0qHoklOvMS^A%T)OYewirk_sdl9 zxPE!&^UK8PVSZT=+3%Mbudm~mAxA&I%!TUhmx*D!UuGP7_+^l8^vjHBcfSmpJ^eDQ zRCm8jl6@t=%&5zMbvtcTMfZCsL;H9hia8lF#oyY?)IC5D1V8Dot*P&P7T;&>fA|?I zVA|toP{`+LboC>+8ck}yuhAus>ulyeXQNp?%-ev3o&lhM&4FknZ<8A4dPHcpvs|&s=@C zalrR2K=`e9=TRT5cVW|Oy7_qROEqrf>$@1L=r-~Du3d&fnQ!+RRXLyIU__4KI~cY7 z?t>LRt_QjBc@W0!VNRqXwBL_7Jim@BG4k~DCa!S39SURI?o%92J=}_6(dbzm;@zE# zq21HJ7<<#*#V{%P6~rnP^3rZ3n0_*Z@{4euouXp(;>qGzU0t;3@91UVQ3Qo(&qf% z46pN&q3xpGGr*yt?|_rGWSF>w{|jh62EK|hh$8bhu)qnjablp+2$GI6lZ?#J0snKt zKz9iZZfg1+V0(hW<02yp&^e(vgct|VT_ExS6)|G@PiUxFG63MW0;ZAB`!CJN0XP=e zgmXeOp0Ys$FegwodFBK3DY^w+1Y|#;(T)rN9O`1sE=LT-6~NBGHwBs?hhw~8P`v~T z$o>rkYM>vJ5<_K{EEx$QP_kqsm_C3AM3M;tB)v2x0bmHIT!5THAfdq;4RRu?0k?aJ zX#&)J1}8pZNd5$nzcP9S09?QV0#|VgP(5nS(6Aw-&`UFAW(+bGV+Mpo0A`}QASl2- zDMt$6F&7M!al&#_%vsVA%9ew!01zVsaEC=AyhS8ofE9q6E_q@dfD=wkzXMZn%2E$u zN)lXPY*YYdPOx+s(>aVCdJP6{Y2+o?UZjO#;LjKdN}d7$O0Z-wo1q4IH#oGHEXT)^ z;U^M?QWCIO$%8N4f)0bQDMJ-}4JXag4c!gLG1&ovrk1Q_O>{uL&KbJ(f~94k+(y6= z)sW5=ZZ4%zf&T!e=#b|M!QYr%z%<2-g}j$$4CV|x6K)DEgFOzR*05&WA7HqkWD^El zOPK0Y(~bq3hCp!zY$h2&j0z^^1xu$AvY~^XkcPm0Vy@0j7hy^wg;U6qFi?^$o{WT` z;*&MhcN&g{+vP6Pgru8m?4!D zt~^jiF_QtK3b12L5Fq)E7$7O^K1KyX5|M8X!KO97iZqD&i5waLJ-k(k@S{0^Dc12-4tLk1F# zs3KDNoEdL3tDUzxT8Fc%IK|P}uBBcq8 z9p)r@AC_b#22Q*-V%Y*QS{FQa8k#O$Fl_b(7+~Bn5|D*52ZH6?5XF=PZ6MI?_|KEcd^~sXpXa0b z5B%qE^5@C}lSaSyI`KK8M}JBeFFDzdo98=`M*8f zJ2}E;wjPhThhZ1j*vzl9k8C#GU7Tf08(xW08CAOCJQ=rRb;zQ%3(n`~!8_p8J&R+x z{uRa1yk+}J%4J(~k~O*ZI>}lM;~UL4>t-<-OV7Hf0%r(yO~(P5@872rayz5Z_qYXZ zms2P6AWu^#*XCgArH|`Z96;7OyF=ZHOR3F^__-e2dDJB8>N6U|>)|TuteZT9pI0Zx zP-Eip2Y&Kh+(3veto~13`|Yq$swy-BB^6m-CcBL%hl2hk%F_s0i(Owo#Qk zu1T%K@l}i-@K}Rr?0KhQarz2RG_({wUT4@M^?R66v1@sgVbSmU977ZKzr?Uec6@}P zDfW4Pp)Eznrx%r2$Js1;9&W>BvQAVwMV)dl7ONzsZIg%>uu{n^lQhilgUzlegJiP> zc(0_n%5ognPzfA?gv+(sYbnB&Sl<(&WUDZjQ*KWQkC`);RJCv_(WR6x*4f<72~RLs zi_c;`u)du?+hUhS2ITZRq4P?jRWWikD00S<&)LMaRH`>1hTTK(4$F*=pepd|G!C`` z`Sw(=sP2|MhfHqwXmlYg2AkyOwv>HW$|X;s4xk9f`pw7pYF#l<={j@zN_fcf2VWcP zR(5QQl5#1`v5RWMJ#XGXrG-Rsh5Mb#5f7DCW*FP0xD7uiS*|zWWM`ZO!C$gGNYbJV z(+DSdE34b2M%<7huCtpYBAmjzASso5R{pI(f;_ab7zA0mz6UTj$UuE$Gs2r(2rZJV zq==HjNs)>m&eS<)Dgf#%756U81>{yh(^8}$R7BO$sA8uwh=vh^%hu6BxGF_1<-H9H zWCN@O2b#4c^p_+J*X#Rzx@(V5^O)%#uGH<`Qnn7`MP26%(SQa>9d-(-*Ku5s?*01d zzus9ZVx^u^H~A>4tg|XP=Q>%5=ssFkDLNJYxYB1ib{LKJQTuClCq7H{(*qr(^8cl{ zTM?C3vRVw6G9F?pdz!33E>>ACs&4R)yP!7kNo93AOt7&`uxLe<#k7#UkwkKg874Y* zk<~db8>tEw{;@c_ISWpI8=Z|#pFm(Kk%Hjg=E)|^6G>0)JZyxNFex^a@@utQBfl!0 zAICu|%DXK8U76s!q>OF>ik_t+AOL^Nuri|o&C;s9&(`H_w!67i#HBm~t|UceBPwQP zriw{1vs{Ct=b|XtX*mfr2yQZ|c&jYG3-fpoEJYOVimK;}?K+Xf%R52P_IiE{YKBcI zPa6AY5FfC!Ah;@Z`r4%kwpmfA%LDLTmf==J86A>a9qqHz`As3#pG6TQsZR7;uJ41# zl|2w&BC*wZ3c~arU2x}{(hZ*N$r&v#9L>|n@cgs>W4$cX1w1gEY^R3{Xtm`w{H)=AAvAXdm(1XQ|-Py;wG)r0?88Yl_>cK7uV64 z!&b0zz7Fy4AQ?i5LR(Z;v0AWbm!ht=srzT}K71jgmR4jL`C=yzWr(8kOyhV##$m{+ zu2xugLS$y4tDZ9K?IJxC6=Bv=LY6 zP)*XbxNgF&j_0ZzCt+zag8?`K1+l5W2>ccH9U)#F(5eK1z6+;OeAibbcpS41FmxD_p{r6&?<*yFPq&5u*yv3efD|}-bU?ul!G2n zyMo$;LePA4>`-jJxYR_tc0l1!tR3#QASLLHy*fw&{nA{SJ3Y5L`>iVgg;A9jV%Goc zfuYz>@ctn12kXXs9Rb2MWlabWZaD`5VlrBMBLs+fWS-aH#V=m};t46?C(sK)JfFfV zEj*)9PnH%81OV^Y@IVodnD{$W(3!HA%d?09G|=O*rFknw58Ut+7Y~8(%8s!g;b{{LUuhTCI75c!?aK<}94E2~ju_Vxm(0svjOF#!i z3=V+=f)IGKjF)|5yziYF{%8%P!)sH#QKN^i3nL1inQ^ELfCn1#GEgEg5_qggPes|IXuMRL%osoeW&<7s<5eIY*k9t`c*nLdf1?9YcZrvgK#yPu z5Mw+BrAN3cGf>dzm?2i+<>`<;za=yXywS(&%}Xf-ClZ8FL%Yr0Iz_8@UC+ z8{qjQ`WM|bWlaV%=!u5Ds0I@c{_wVQ&K_XW+efG=%{}N3(*Zp9MEmf(4^MOjL+zk9 zj=~5BivZP_j=_Mv7^Qc=>faaaX)C10JK8aW^C0jQwBXYG9beL1QS$%_$KSTE%oq?} z2p)jqovG59DSOn4&Y8sK3tBUTxdsdm9{Xb+z!m`q0x%d;h9iR4n|K?H4un|HL&9MY zL{kki-q|xu3d~Pn4P3J4#R78$S`Wt192m!inKz++)v3k+xC1LQfKW|Bpqa34Ss4w% zT;+%r&@nRp&@Py3RI9s2{)QCVf*A`N1>XmQI2;ZB*Pf6b{{9m`w?6!&Kke^7hZnQa z#CiWYoy|r+-hY0JKSy}~sTJYJ!_OZNKRZ7Be4eGHY(bEut1RC@^l+K&aB#GgOIdZ+ z8bG;%Vi(;8VG-Pl<1QFg-s&hwKSiN7tA>%d|pOb7?upiFY^BYB0uH)He-Cq?| z=X|6ad_M_fA2iWN>xLV>097)`6}q#{*Mf>1IW^r=E%#?TX8`qv#kZL)1N7gzHQn?9 zwco$b8-4buw?E#gig{k_FcJ@cro)KseVfC|9=0hOhm+}OI2q2vcqu{|?0BD+y38K* z3a6s8_vwwp@vFSIG1ByUWaEm~_hk)Z+xncw;nV#MjbYIAaK<6s`L&Fp-0z8uF|VE9 z#V`?Hi4wNB8{j|6Hsk$!$h&5^8~UaW}CzHp1 z^({=-@HA~?IJNSDB7dIj^st{-@x(0Rwb6$*iFH| zfnf(iL$*vMh%oHwV*89Cq++=Z2A5zkWf*}ZJJ1g`=v{@GIAv%|*hnBySPpJ`X@r|% ze~xeBp)&T~=4{IhI}&ICHfOMhN5cyS*l@xQ5d@`eWbDZ;j8;Ip36qZYKeb$yKy$Ve zv|_SDh#|Ia@IOGonlpS;Y-Dg1oR17kbmoe|@DkKnXxc}xi$f+6iq5c&b72N;%+SZM zbu(vQu=O`$ICt2AA3{x`6}0Qm_R=8>bc5yrG=%j&zzne=OR%J%pg~L37Ur0Jg4FB_ z;X!NcecHU1-m zTP*%hh|^=8BJujyx3Ay6`_H$u!mn5RQ!uQ`e!P11_SvUjKfG)#JF3dQ`S_mg5c$fE ztFl*b-v4s-{OZ&7o0p%SdCN|ua!OsP{dk>*8=(|v`*+nudMWxpCy$0tgHvkW>EPti z=xK0TwLpFtKMhXbe0(qeIe8kKT2h=2^xCb?QC(domUNdwasHo^M-{)P)bQcpFXXe>Y4GCU0?1G8ZIQWwRuzf!Gwphz#%-A270^LN|;YVr8X6SJ797kv^) zGKcM`4CCQAS`FjrY%(3s!b!EGG6=A#qSWq_e>_w4Q8(1A@f zlm`1M{_@MdiX(5uH_!ghyAM~N{?<})to5~_$R4eI_V#aDW1s!l_n`x=<_(80FO@M>Zs%j4_gMC;@EInA>`eA#Lw4*lTHyt=Ah zu7znJWPgW}yMEH5-W!>RU`4hOK`e?S7Zuf5`_(Kj@osHhCfl{ptVDW~q@ozW(JgD!guTYdVriQK=NZSg$`Zhfh3kCN23 zOFG+!C9-Wa&j0jwz@gjR`;*sx&9t>W6V@J@s&-$J+TQ7Dn-kOaO-b7~8Eua=v@C_=vj1)F!Gc}m-dXFESX530OlpsbVT1$TM4mB!ThU7d_3X|&$O%JS1IO=WHI zb|MhzZJ0)Q#|rD)#A8q1bKiTjW2Hb>k%;@}C%3VCOm)6nyOvsgvN&DEA}#ILh|>K2 zv?;b{Z$7?%pC@UQY{Rwh47GZUm{dd@e(Z-H?typcA+H4wdMeo9KN^&y(V;Yyw>?ZF z(FeJlMyhQ-sIk&&26>HaBM%;Bwts@)-G%hPuD0&lk02c+{qU< zvGh2{R%TtiWfQN??z71mbn&N+(pwqc_xsqr3EtZnN!RiCN!?krF_d-M&U)MU83&@A zecf@iF*cPuxqs{{<|5kVMe@1AZ6MDfy*t);8X6}IRzkhayu;0>7axC7p+Kw*)-p+N z)D|CY>{8`07r`dW)y6Ji2gi8Z`S0RO7?taLtm>+4?f*{DByZpC%6F?E+lo9avs?;W z>{hEJq8nUgrq_?bv$rqgV(?C^*YdybJ`DK(W~(5|c6lL!w?VekXbizBTd%V_=@#Bp zGV4wf@t^M%zE5IabP6M)ltlqagu&-6 z)yq#pYu4ZyIIvb7psJ>S-=mCNcDM*qsQ^lUj3Xfcczt&ys{}ls&-Lz~k-14ee6;EBO z4S}bp^6MWIOu=bj*Wjo%C^~L1)GG)&cJMQ94StRm^z;aJzDbaCXmIo3pr&&$b9fNb zA$U1BXgN4oX$w-6m25CY3KnY>Mp&hL%RGKkZTC0XMrL!3M^a{_byW=ed%e6LNZUgH z`)3VBGf>76=ElpNY%hoKgd1+K(yc4z^g7#>*Vzi9q^g2P5Wm%^I^sz~Kg+>yu1yW; zRN1F&Y!k;n%6)cq_5^^6n{KWX(ta5P+3&&AKLwk!N~E)v&iW5ooC)*g%sAVQ@h@N& zRsVS+Up?@>#M7fumkz)9!&N!q-$_0B&ph02MXt8~HL^%T(=uSNS=Q# zHEsXrpUiMs-=*X&eUB@W-ZHuabdi7VnSp!)*5d|mK+$Rz+-)+?23g_q`1?O2cHmysA+gvYaagw)jE1FaC`QFwBeII*F$1%TXpi`;s&nKpO`js}?SLZ% zY(%d|+-6DemBTkJ-GNb@E$ZRHTqQ=wn9kyRNNA@S?vL;+RtE%nn$w~2o;JM)>`hgo zOV8P9Q|fJJcg$%kJB^K@z8g{vTSE0~1=tm0sJhiI&{m{zp)pBs6Oo5`belxsI-qS4 zjT_2=N)!`yu`D50{ANIqtE(;M%34)weIG2tLc|pY>Ta_X3QD)wEv*e3P~V6$tSBcX z6L)>DY2>2Vt~EvxPu*##%8;91i( zD!!uHEzO~y{!`^8aCd21(iE_<#Cl5;b^;+*ZvV+-(_N~1gy%n=9Efzc`4c_VX&}~o zgxP1q?BE@Utba^;*4!Arvxl6F+6Ze%UD?!6=@X0}PQ2!b`79{$0u1TN~ zQ45pi^5j1|(z#lLQGLM4+WsMAM{GU&%{qB&#XotO?lu~#czlrVDW){>wr3LFx&*FqM?l?1IPj}bYRc|M`g_5#(^IbGk9Vk*IqJ=qUFj(If(&B1Hf%!Ffv^M5bq&F z;0=K!q}T(R2C(Ts36B|Y4Is=f0T(@F05SxLt~vw|M$nBJgYR9%rt2`&_yP>*ImSjq zx+qX1fZq&_4n%--f&K{dZ-96MX`2wh8PxQILF^Fz`HT%Reujq3S?`A$Vcp=ePX-m* zFjr#WYC}z+rXhf(07gvk;n1k1QCY%wj?K&fo)6HU1;g_JC>8Ldpi6{>i~%IQzA()c z3_S=aNIp+31cuBn;{x8*lWz~<(#SJ(l7%+)&;8lpFkYOgc9635RQ8T7Lls$Vq@HhCana!)zS0 zi3W@-;Ia=VZtsVH{*H{IPcC6i*+eJwrr?hBfvRdSm|5ua@XQRsoqXBSh=TbMf&mcZVUQOL zOAGTLQh&oxlVN~Q2A&xF2dvZ3bQ&mJ4jDuo(j8#XB0izmuh0{M;OF@lLdIrh#&3o( z0O%OO&qKYYX0pIr0o`xTh7o-oj?5SUQ9owJQGfw~s-c%JO}AjKVlZJ}(Z6A6^n|1P zV?Ke+P#YWN4}|GKavF#p7N+534Aj42b5;!X|AOTQn6eZc+GP$+hrr<>e+Z`4f@M#D z-=4C>EEmusm=<`5l~M6IvBoLA5F0jWmgmXnFz^1}OKz$J~Of-(8G8K_& z8l}Hba$!EhMgimwRvsNSWZ5j>KPZFEr5TkN3@BfY8huJ-GBcxs4xz{n9WpT_LWZJu z$x`ZEYMZ9iRG7ZQL|d{54(&jcfS!fE!7MJhQed>EM$wlr*XY@)_M(+XrA~u=XTcW5 zeNgDwC<1IS3_F6)1;JIK`Ikl?5SXkm8$u%;8RwyyF__OQomZqXh43gLCB&H+iJ%ot zn1B>#Ak)agbQ(MaccOm~Ouz&1|LFUF??ir&dsyecf4)}#dyW5hAOYL)|3=fA`k>npl0e&a2>JVA_a9aZA;v2)pU*C*;XImv(t;%4bW1_g>vS#Q^>4m=2%1EfiwCcN>weSV^>3Xn(nb1Cklf}R{kdDb??{AZ$%<_BJ(wBLd79sBA zU%eQ>#t#(sgboaFD?Ju#QHo#_=D&-ao=YHJkxmvs5jGEU6pm;NvGB`P+-%IP8(}RT zr2KN7#JI#zez}TW97FYM4>RA&wm+!hrz#Xh2ycEVoa`gmlQaie?oaq8x)9Tq;v?IYgF zi#xQtyL87lbn@@6l&?f7JxMp8EK9aIWe@Qqc<6TFwGn^(#P1ne+oMbM<*I$e<0tS8 zt&m$(mh)JJ>q2x*v-JA6>N*J9=Qw-)TjPBaS7dK>yNu^TiAx+eO1f^&)GwL12C`D@ zJ>{HBCgaQDw@N&Z;}vW=;OD5Q@#laQZX^z-QFjARg>wCqH*h7}In({AW zpB)?NGnTCeo8h?BfLjQ(|Bf>a91`NtogD#B**OBP#$b;gTjF%y6tjfw$P_(dM{I&^ zeN*lxbOMeX=H@$&jBxUYLm`2~6n@|XNiTTzbe07W$HDCklg+hLy_ z2mLtmM8a*HK#h1tcrd##9fBj3kPR}#ny`%8W8A|*qIDd_;uMKay>KuWnll0%^5W_S z1{udkxbcDWG~8OidB`GWCj~gwo9Scy>M9S;I&jE>Q(3w~!0uhpnemh<=y+h#LeXI$ z%g~P#sHIMfR2>aL6r99hNT*B#k z4bFHlT6E3^EyDQv1zDWNEi?_Joe5lViFV#V(l)+0_P|yN+1O`4!8pj&6i$!RbAOKnE@` z$mj}OURbiBTe8Dk=suBBIUU`Q~2xX6S#e8Dc0O>p6Dj-d<91c5Dt z$`089Bjm#T03pl|*d@9u0F#cMz&ybH73l90CO0;P;0YQtgTaKv1Lr_{sWXGAdGLog z20Z-yFTX29iNE)x0Bb-0n_P^iZvOY#?Bd7y-#7Vlg!4a35$y9m_3=jz_#X#$-gI7{ zzI+g2{GWMJijShaei4@8n=BUVT7o2};OpO-tNtk%>MTV~W%i^gdi|S8Mbt>5Ef>-2 z-%g(fLo3Tr6P+GuhFV+W%`?=@^zcMO7njp`I9x79U%$VC|cd?$ZYFWdor%=YKiOZI9wHLNn8&5Lxm!QQ=o&lHDc7;I!wSuZWFmBk5G ziCD+1au}?WLcs;8M8}b|c=T)JO7u8Og#pH?%0KbxEZgTdGP6I8YT63%CmVIG8ihUS zSXZ-9VPJ5ZIOvUQM$6i{ep`G{J>{Ga{Pec4+ShzWP@x6tPA6Gb(zEQX}+gN z`gW%`Zlv4A?0s~X#DlicU1Dv!=x*5~+kt}>0)J?i<-#2q@8vjtF|$K6&=4L;4GvFFB9Bf46nvpD=Fl*dQ4 z8TuvxIJla}J9%8w^9sN3uVHa3VhHm0fBaPYf%jZnDky^pczvsCa<3Wr*f~-*5!mli zn|*47gRHsM{awD##WwrcIt4zDY~5^hwRSPv)w(1eqyhp)p|wi;c8vBO|I6*r<1F77rn3OY8@xg#nrkZew_F8xcj>J>n1cs+uPPGcVw;OXq$PHMGz7>tPd>|% z{wSd0gD{|#FGK37ipkLJIp}(d{<- z+V`KKh*FLY{Mk*n?dK8%l_!S;TSm^ka?c^Wi(%VV5Ir#RP z$94BkuB3L>hdTc@s%@dberb*!7_>^-HB9Irc8{Q;U8JTEV!sTX0*Y4Vp73Hn+b+RI zE7#7UN2}xM5{R@n#`5TDFTGQ2V%KR2Q1)_nqlmphOM8gWoiX=N-8l0a{^;b>7g?q) zBxwyg_)b4rgn^9OrK5A)`2^TR!4 zosD<%{9q4Rr{7}>{SXi7k@ahBr281vO}D$#-Nzx;sqNe2exQSF+{146l;6z;w)b?q z(*}0OQ|#|>bGWPDYOK+;Eqq)*)l0o-N8j`?dF$pIg%n zIM>z11G5V+->C*srb=o>u|2ktya!WRr1-}giuh_ir*#bfWO`9k>X z>>)FrKaLq{J0O7ps~Z8x6gaMUu0Cfk%L#K74@>a|bZXv9;>9lB;ZE?Bc4nSJg4zhc z)_4&~aLT||2O{&(JZi+7T!K6m<~8Ldo`vIW=-jlMUc;gV=tlsu0v4JOU-2#yAgscS z5MFr#s1+En6NVVRVldLf83T9+13U=D8(YGo#p~M0v<&QHhR9C&2_P0;+E3|)sA>Uw zzPn;T%8(cB!&_Q(2(XO_RvfQ!**kT-u8#%NB7)#$fYgAC1vWNtz4827Fhq9f%$%h- zm@*_`;0#}&i}2bSqYutNUPmVY_IAqN4Py+TGk97}aP=&Q0$N6|hY16JXh`6RF**bf zX8}fl?|9G)QRd@;d4V6Ab_s1<7YxdG%0LRx$qC8#610+sPVACJaEX8te( zRu`tD05O8c@<tS=q^n91@pZ?UVzH-ObW<7LQaNZu8g2X&|k<7jfQS4 z82CQs3Ysri{s;IHblr^M$iqWipo^efk?2FJ|)}_z&OW&qMGZTt%?4 zA2!AI2lB%YV&7Ubd3`4Grsj=P-x_{4oBN@ae#o%X1rEr&b}9LS<} zJKv$g4L9i9+}|eoVtGO1>pD2PvlH@TASC_fU9w&Wt0XT)GF!>Uhnr}9_UEft zmESjnqcD{nUI>xOwuQlVw_GQY$`wOWB$ZD_bfyRAv&fUxeNgBG)y3J#qqp~)|I(tg z-nW!3r&9iJ}OBChz+cLY! z!|iPn1wsb6a=m5NGL@7`5qu8U(we?kWIA7Enz6UAvZnjsRek#d1eeT`bqg_Bg_c0m zB73}W(<0kB=(K7bH}o8}gq{}LqXeLgV&^clCdF3`M!AFsg`{|evOEHm4jyN#m*zXNC@f~?>=B3KV2OK0IOgSdj0BEtaeR5n zZaU%S(1fKi#@RfsUf|dkDEPRCfHOfHI!^7s)uAWOb8(u^GPIA`WegnNqC;@hK4b|q z=)m^Ev>10p77@#nfKzK6d=J@aFOkEs?S*LvIt16M=%NhnQ{WI-CkIz)vvDwsn-Mre zT^J3)ErN(;Zl@DuT$f?F^(nJA&gpdq5!FTPX2yb@ucHMMb|gy|)|N)Q=mHJKZ(=GWX zPc7NNF4<+U39<}avh)g2HA-c{i~;T&;4TR4OvG*xLDMF<+YuW*6jPRn0e2rThaneT zaKV8;EKcdBw%1XXu9BMvpZ{OXhof=r{C_(B zasK};{yg;jpDV(T^Zy^`|6R`i-+X-kT&awHzF7p}dX2qD^?jG4IZ3+8@=XP4DC>r) ztbV5Up@|5A{oiK0b*#kJdpokPk~9c|yAWq7ax`MG6=_@qa-42OAlFPdqA*g~*8=2k zwixg}CEWc-k4S^4~# zDqfJcfwPfbT6z!}A<)5GuuEf+BO1`cexm;gHsO7ce9t#R8r(d0^zxnunKsWqC72l~i;Ag}El8zq9LJdWFvlhXX?BrZm zlM;t%kjr3LUjqENTmD}WmBG7TDIy{aXwj+j%QH^u{b{uexck-QZubl z3(9;~(3(Pboxa+L=vSc-Lar;f+7 z5?}uQkLHU671ETH_*%^*+$P9%_1e*SRj#S=36p7WC;UgxUI>d|m95v=UGY@aME;Rgw<#(BccCK)>vohjWStbioO4V-J8U6lf>~_sNO3?m`ArF zR>liI<8Dh$OSW0IK6zCC-mEJufd?O8t}}^C&b=&KujlGeb%+>?G%K|M31dVnd01w7 zbwxx?p=a`^Ho2!pZbilwias_9l8et789?cFP9A-zJ}8B6<~(DwtEzJ?iO>|Y2)Xmj zso~1^5l*HO6V{%)Xj;~}4$Roitq{4oG?mF|2fJOVE2ai^7W9mTGGXboN|aj`t1K5M zk6dYfaz4lysop_zV_-?j>*|h_>Y>7>;&f51j@w7?tcy**rb&5Kxx0dTOikoG*r;Zl zp9k3E^WKR{SY_p}q^VU`&rP4o&atAVlSl1R{QVz4!Ii)J)qJjZ)rHX|TeNE_+BFjm zJ(smHbuVY_A?S81ah>goHWe?kAeL+C^k$b7w?VW{)HP-mc1R;j|IBi^B%yhL5SMK9yI*COK(pUw zv3R$u-mCn?zW!QxI)+85j>zbd6{qTSgUDb#@ zXa}oCt!*ExR`|HPSZZhJ6m3!$KKy^<>|W1T3| zmxX8d%S*h=9+*qJ^G=w%>Ck0AtR^KvdUi+iYD-xCt-d^+Wy9kq{*^?V08aV760}C^z=QR~>#g@X+bH%G zkH@{TcRbN>>uxYB*q1erPrGUZuX6yugD04;ZeRXZIA;1tiy(G z_1H=!lDmeaX4Ao;=-GIvS8m!tGP7L~+@%ptQ}%Zs6=hqMYH+Cou@2d6cV;`CzcO=n z{c&5s9AmWh@oauNKo>8jtiP|>57+Xivy(@ATGa^ODDS%~us0)c(Dk6cK2P_oeRxsd^2a81gcXoYaQ`C6E`Qv0(Ac*QvKc;X zDa2{*Uk%kcf1L%9B~`yQkw?Vd%Oab7`^u=!ugBuZV$`@ks9WaOcH zn_uWaO$1;f4}PjT7ay9o<|lRxCUQ?~CGz@fadRBD{awHGXHV=^U?gK>c3hXOf+!bi z9K&_N5ANPK_aJ{b&Uv~=cJJNZwM)D5i)|L&x+5L!@?4}P{rFhjomD&2pTqSNUz1KA zy;Mc(QNw&1*g+Oul4Q@z6&FWneEU8xB|5XUG0<_!*-=i7$b&+h8nw3grdIg4!Htvg zu*U7s$i^Ym7S?!q9y_LS<>?yG_=W2c&D0n-g)&}Fo#Ggmg(ryd67LehxU@TmFRqvD z61&u-Jmw~^kNDO0_m22O+uz$Zetfjyz#czo@@e~mF6kBfapaz<<2!Cvqc1n*L!g`U zX)701vUV$#$7dg}SjTv-we5M{92GR&pg-4r`avwGbM)}&u|y(xnQB=W}l>ln@r zUY<)j9YBdBrP@^iQ3on4s@S9uQ7%dj|6}tW1W}gfqS$7s#xG>zO1VxRee4wI6>cO_ z)WeVVD;{*6rx^{XF1~DLvgdM3W1P&9f?5UJf0w1#RTe)6k#79mtx)&!{Eb!D#0Kg( ze?a(`L6*~5KYj7X$;wq9>UD&@B)miZ}2;_5P-*65ejuUE|=oIEPzjL_eL zk#OThtF$Y$QQ&J94fDlW)sT=+*XLC|W7e)rElksv0xi#S=Jp(Jl}_IdYUSmz0_{Zm zY%?CT&v?*AWB2Hr8{z#iI4|80iQ5E^6OY?8J4NMomE*?d(}vjG=K0_Vos;Vnr`P#^ zwP@Xvt#{1s5%iGA-4i%Nr}&9p53T zh^9lJTI2DtV@Uk5TOeGc-xk7jTfekX=(4ViYWLkBad+aHwv$iP-s4)m4x!gY?xF=-k=9*$wQWc5+zCTg0ZSC>^;1DW zupY6jMb3M*y-EA4QJCk6u=YKz%l<1a8@86K7i)jXa`VPozph5uc&DF=R~@2m4=4gv z73wv2>}cWIS&1I+hGfK1HQ6A>X}$-II>pfS>!lFjl95T8Qi z|6X{WMA(Gs&rh#K!^4F!2klff?e=kMH9$|R{P(%_>QT*RP|tc<2hY<->|s!zK8md< zp1uml4f&ij#9odEV|UhxwZe8b@jg0Yr$?^NV4aOZ_QC1&3D5}9*~GCMI;V$~516xw zNheHB50CC}oE~@535nAu@heesJKquWk=1C$m~7(6&F14L#{RYgO|nXU|F6k#g!$kx zHt3!x7olGti$v`Jh3i~|@qJK~S&qyq^we@0MaA~~cX6+N39?+(=3AWn%^ZA@dfqMT z$+ADIif6%98pxO;4?Y7irU;VKI)qiv$wOJU;>Mn8tN1}T%ZeGUYRA@6!bClywsy8O z+5bQsu*&l4d1@3E>T&DGY*pTcxd{IJ{Q1ZCL0ANLV!f9Cm8Jgr@eTc;V~C2t$JbYk z`^h6I>Hb|o7Bl=V?rXb%zjGpvQ+3L_VZ&>2|3;6|<7|sC{YiC|QfYuSbkr$Hp@G4- zB46JJB8{?G#Hs>h4z{^iC11>qOAd;o+g|bZ?AWwK7P3)VwW==Av^*V9mHj?r3R2g` zID&q+V~48JgW`pXN?VLj6*_KQF#o5&7Y>aDh(MeFw|E@e=WG65{k$zq58qxfYVzk6 zt)^~&@~m78QE+is2w^+MOFs$L~$ zx&40k`7^pgRatiPJOGZ4^pqa77eSeU@5eIC)tz)g&`1i-aM0XP+)Jm1hG`ruvz-x| z@0YnphFcNIf5j({__%dBqGf_PXEf}WHi!U6lzoSy8c@ifB2=mg01o+$&%-WfrR^cX z|Ke$B>&aFBW2^pWR^6_~b2G5#YCJFMyBcqkI>Oa>o8bPd@pk#+h9wuitMN9&hh2^5 zwDw<(uXFx7SK}?I`dy9ph}ipTyv@G-YJ8nvkE`((qsFW8br#*P##1P7mZ_bagJGzYTQ z`hl8A!{u5~!n-gHHpSL#npZHg1ZrpYE(}m#<<5h5zajyjjn0>(3Vh3oaBS^j!Vp-HsLM1PR0uXBCO-Y*&j0 zq8f2GIPz8P)BvShCy(9>k@pv#T>+DHe4=k1!tOyzy;>)+LwXFa9>w<;oZaP8lzfth zE@>a+*dekT1etgEmnDC<2F!RksfhTRkk#qef=6HF-Uu>5Z~%;qx6(c=8Mjj1;*;gs z6E{*RU&vSyI6|~o(b^v}d>uvf{aZmUSQ`uGXla{Db6S(1lRt8iV2Ha(Vc zWX(w$xQEU#A9W)8LrgA&>qid|!6ng8fSN-*K!O^Lej<3h+5tj%s2rGy&b*u83FE4- zjd|x>I1ygk`E3sk>p^av4F9>2lKTdPlW~6APs6&`<)y?+G-u}XoB>-&`Rczn($d@5 zygq%~)4SFZuim@-=RK6P7T1Z;FMYBJx|w9^*#upe-IPtxE$3ttTr9p-Ho-+?5}w6N zlizDRp`>Ao0TP?dS@JbibS%slFZ^(_PNQ`DC)7nIR8M9Q9BP9Dn7Cz*Gqo0vnZf=?!LQj|$p&OAx zZ^n{EQW`^~suM^wH#2$?#fBVpf@%kH+aaObGB!FkR~>?EcgR(VY;Z^%IYP2OC?BOF zTo`f~Mi4?fP!cLQQeTky4)f!J<*-AB#2Ll_MUlf!AcrOrE=ERK=ZfW+rJlP)Qa$x6 zGWa36+;V6%Dnu?mWN3sGGgSfenNnO{m_eI|W?(TwltC~y-L+t?iRQ>AI59s%H>jha zCqp(56oV)3BYc6Nh_EsM*dHvcO5|>WNwA&9vZz8U=TA~ zgwEj}0%I^m3y{}Qk%JLLc2H!m9I;%d==MvPijk^-q?csb(T~u5mY^2X4JDUsW?;r( zz{kvZtQKr0BX1_P(0XCq7kGBhGRXKXquM)pb=?U5OL%=Q_QzhX#Xv}0J)k&I$8+G}~2~RR}em z8i^+8!3)z4RCcE4jT&SYc8^&AyI{Gx5l%rjFt;g(w=lJk z#(Bb9OyT>b>Ddu;>tGDM#t5Mr4+9Xz!V<$#(AVv{?>+l^-gUMrwut&@mp&cLx*NXg(+c+i&ZDOoUM`8UH3)ABWlSfSJAOtNvVl&9GUWTYHLO){huPPvnMEZ4f z3w#!41MCudoK^|2MJTT*z@uGYeK18x0s|YG#$tHqZ1ssW@|4P-<+z6zSg7JjKB1kL` zOND?ThReioU9v%&GM9oC%bYC^p;ur42T9>R29~vQBv|MevehK`!@|Hd(%Kl|uxc5s z6Z#rj4{gMJ!iGs0u?;DT1`s?=&3M3l!ren^=nok+7(V!hmFcLtp3f?(z*=l#6pN$U?W)wX?$a!pnYK>#s!avI7lR*J_ka9(NdEtAo}^K-4cBMe<=IWv%%eU3|8zQ= zPM!S!v*~>DBme)m_;ZZ>|4b3osmX~>Cci1RCntDb7Cb(AwAz%x>1tD+(xFmt%2e(q zTZie*xxToAf1I8?+Jxn8a4P>kJ$a(82Y#sDy@RyEA1HR)Z7zxe*B^=?S()^jX;vcp z`ylra0#ONy4sXyFD0Q>^+`%_c9pJ9svNos%bt?*|Eyq4!=ezmzMUx2 zVwYEsCX#}6@hVxX7n1a5AS{#RnsV>fGUf+~dZf7&NqVEX#X)!zCTUTs;dn-$aW4`# zQ8dqWl8RuR{4Un_!A68>5!`3HJczPw1rdO^evDx%M66RG?zSpN=-Ek>rA5hlOr4Lt zM~$oEH$3Q^1d`ZVgtD8rH+e|UFD?2fRl5E6T5qnOufw7+FDld>rW4}%_~emQ_QShh zUbfc$Q!wP&O2Z1cOl95;Qc>Pz`R~a5sP30hIiwt@W!{CdUY^~Y4NTTw^&Yhb zUO{sHdr^Dgp&o8Ha$mi8`S#P*r@!qHcWhy5I5eKUefRcnZ}tb41N z#LINIQFy5PMrD8*|M<%jb6=pX(vv`vKJ4D#Vl0M><%J02@#Qj}F7&-W840Vaf7&{I z$kyVT{`*OO^H?R6dHLqgFFyp{I?5L5AD+EoZX9-DTO_Cblw#h+UpVE{7 zTdBlqA`s)Jr2dNY(@N(=$W#-NqK+m``D!H z_1bUWy}5e(>=!6t58`@O)T_W$z5DfJZ;B(P!`&!~*M zhMO|*wyJh#+E0mlc3qQt_Yv>-ia*hck0+{?8wtW>qaxcXbfT!~=SZYwooBKC3^)2!b_kW2Ujb{V*Ru&>lgXOF&q0WA&nAmyfn1!J;8eZY zk?KeZ%nquX)dD|BDbQFh{pjmhSSYm#^^2m&qELP0Z=_y+QL8b^*i{JdQER4H#@jc^ zXORZwT^6hop)!)M=w-S3zol4bcf`SV{R4XU#GWZ@^pVJp3avJoUZ8Lux!^0ss1V_F zj`uA64~Mggz02@-LA1)-TnI`c_LRN_kCP`s@aKCn>`x)A1;NuMrCI_esU{YXYd0^~ zXsM!FeU}B>T>PvBmgVx@TCO8bp%;|HObz0x5iofY{Q2H}0p3?qOGHR*OX|KK*FXnm z5n!I(Gue_Sf4;x6U$_z8o%$bZGAD(!qg!AOg@IJIwXg)!yw2HU`2XM#fO1J}U=0ju zbv@J~MYsFwYgY$$!S1tI*{UTe>Rm`}lEYZsDhalE7Kx(JK!3E45nnXU@rjIK!Yyyx)A=t(WyL`7LAS$^eUaw_~ir_KL0=d%Ev*XE` zLO=uur;%-|&DIB!l|{L>XHNx@=wnB3%myOeZT=Kxn@yIUwMf7~75%(C0FqTdZnkSt zYDCR!okaJ{3L5tX_)G?!MVL^!q?`uDfKv`rX+8-{?DU!G?l$Lj2M?I0$kf6|+n}i}k%NBXDK9N*_i3^sKgf-!cKXj2-beb#Xr) zm+NMNo9wg5(>lPB4l4}3^K&dmaEMTImUjx2!Gtw6Uvp3EGZje6C@nwO4d}|M(t<$h<@djq zki{#F&*b+)8?$QqLo?bWJv1V-151QsNm*_2BUoS?Mhd#?PW})pe;BJoctsV5DSA%> zwR53%PO))OoLMKr$BDwWCTRV>qAz|fY*GX!(QO4J^*Kz|3h&F^eg0W>r+wGszS`!@ z3Q-gsl3n(Nipf|vz4`c_;k_fhp!>&nf?eN|8+(%vx;tzxq2}a-e;iOJYEIi$i~PN| z%YsS|-CzNgJ$oxCbmX({+O`U~JYYvf64Jl>a$6r>_*4^5lHiO{XJ(xNzQy$tWU}_`|go(sI?<@y)m!y>Z@C+ zt1OR1=j(WlS4Ws5w69_qJKf{{M(d$USk+fs??4;m)f>!vcm5Sdq0Q+q7ts9YAm`AX zTqn2DiJYUowLWX}F15lnSK}e~P`~3LxyK24Y8?3zO3fpASU$i#)u`?9RSn#~g5#=7 z*29Z6iP_Jkc|>UOZw)-VI=ebEzvpXU)6osqx%Bagb^G1XL3)IKB}&VB!k_i9_N`!g zyrkpu8gC$y1FW669(lLF>BK#_4GSd9(o0KRp$Z~>guKe~jig*rP*guJM1nl9WJj|Q? zQvF~JdiKvqciM{;vxmKett@2VZp>wK9za>yyW!Rx8jKztwpOT!(OVT~8B)t6R>2aGi}8 z-xk6ZAaj610brO$aZwC_AHm>SfY3nDr*rc+fI|TmO6YT!g9_GW#sI(wrw-URkQ%Z8 zi~|@Rz<>g-1fX3&j9PZD{_?bP?b= zAn6#0L;yZvj3eON0*!BFurdg+4DdixhL(q+1C$OS`OFv=2-pBo55OGppaLWzfEbPg z3I=n4iZH+{!sG!C7lX*fPzwgSGiPH4%>l~EN+XXcaGj}{2TKm=JX7z!kMs0e!KCll~6P7)&|7 z(uL{32?N3dGj!vG1MY$WN7m&?TY#4VV*qgiUJ8|gAR99rHv(Zp>qi5F!v%aoG#^C? zb_&=+3=nd{z?m+XY62f;$utmPJeOcV^K)vXju?km&}%i|V9=Eb8#5Uv4F7q;u&W^oArfh;f;K{yIVl%bBorlQ3Ytt|$= zoWTlT5KI=TVd`T}VnQ)g)gjX^z<^B{_&1@+UYe2wSO`;b!5~gCtzdF79$+(NnloWw zk3i!>8CWEM%mGbJw*bg_n1`2UFu?{Ds+n1N1+qB|vksODx(Ax%G9e488sN!BruQiT znHqUve_--173{4<)d3@jbsY=nQvq78x@1y-O&b5vb) zVFnYuyoilP!;laTDVmRo#z1z_jZ+2-2{7F`Ap6D)GF~a7V)tFHKk{T*gLyLxx5Sty@M62p9oVEQ~H)Fs%Ox1Ly;; z-hu&vqXno7n+8PR7{+eN2m##mg5mnX`4HYGgP$b?{T1t?$go84Fhg_=LKm<(415z1 zW`sC-X*vODZa_*ypKXk*hr4ujYPtp+nkpt%gv8^(NS!?Jzn$Z7}R ze{F@x&(&SxD2v5D@UOl2U$g1O^uodanqCaYKk&c4#h-`Zf4PcagMZ0iAB_HmjR~u0 zt8SwF57@AOS=g}WTHQWwMRe_jDzS_F`u4@kzbFVPPgMm(Vt;@2?w4n8Uj;$nFF$h2 zzkT=OB@U6i<;QOM=g&R_E#)U}`Tz6mw`VQoE9jp3uY0gfs*cgd6tpf5InPhFTE&?gPu z=fyYiF*+Q?WIP-%M$>3MnXOi{l@K-bp7ZmH;nfTKE&ob&9w%ZDJpbit5PW#~@l){Z{gt{?U1UL)J~=r*uM4PBFMrvJh~6V@^X#*} zER1%hG3>EAHy1@&oSdIaL)}zMH|Q+*bStPT)Kh0ePHxgHmv-v>T%S9w@A0w^y+CAHspPcL9;d<@#xXn}jjh6!lSkxz>`QPYO#8DoqU=bdzkZ(& z)Rta7wMW9eBaxT2|)?zQyU_8xDp@>)i&I*U@h^FgZHkXQ&C) z=OzPZ*m#G*< zp-U&ivSbg!WE;EDrowgda&Z~vc|vctE881LzRHJ5pPrOO5au_#jrjku_qI!JBS*WS z|4LVZ=o9g}Tgzedn@u_VLzZNX)-xI%Ngl7m;phVb#cr%ffCj*p`Zy+HZ)0z7uVka@ z$wFlnJ_wL(Su?LXVtQIYAv5bMGpj1=$v6kzS}}qC&-XvQQP5?^X!LIqX^ZbfO4qC) z;CDctlFr5@eYM@?1TH0uVFppLV3(#M&Y8kfr3;(ica1T7ts>sjo6JPkl>*lqV(a|$ z#*L~|k1V6{LIg>w)@2#@qlr(2p)AOU=1YeQe`A<=n%4D4abMvmd=&QuoucTSzpk*+ z$|ur=ahoj4uA>+WQFZ@78)1LDT^DFNiI+t;vA?F6$=HkHyF>#)>jh<+>~ezDQCHQ4 zw-z^kaPR&8bsXitHv>wt(2L_}9p(2}9~VPUUuOfr6)3(|G7@IlI`lsI_kGWMBR+9K zGkuk9{=5$_H9S5P`~FFP`OP!P?D2h`RhzHIx-sl#|LPh-r!Y6F35NO z+S`cS5B=OPg8ik5dJM$ECY!p*EK%wqK++K9wu zR&m9y-1-yN`XJ(P(@zh&aCpeA!b7eO?lbao-0ZjUvQ&+U2Z7UAc+hHP;8FC%o3}Og z9lVYu&fxm~mIKbhhnGutQ8cnC`XghD$fYuE;mpbwjw5SyyzsTXkgyIvI7y z_e$h+Kd-__G?_y8?p@81TGJSRC30pZ&M$29(1;*oK5J#`3w}!3+nkj8Z#4R{L^n2M z2QZq(qvnQ0SG3$`T7F$?uvK~6c`y|)#>KHwji7RpES(CIB!;3Z2QS;% zx^}g!U9IXqi)wf0e%or7ud%W&(bL#lmuf4^>wa`v8$7PD!7kUMt+7q8m0hlq;lV7l zBVT7*T`BA#R@)V1ul=s#+|80ZESqe46|+v(-Qm^U&O7S6lf`$X=k`}VvFxHE-^vEd zlC8{R6@R0aTVltV52_*Kx}PSv`}lfm`75@MzXr=>H)NZgU0%L+i`OQ4s=Z#DYRgSu z`=irZCikL!9oG|V19O5c_k+taJmAK#CEo!%#1+CGwpDBk(qhlJ%(?64vBk1^7rD%= z<94#e>yUkAOL2DGV78@ySj%*I>HQF`L~tLh#mhUnqSB|2zK)r@UnhR35nzlN5vsJ< zL^*}L{qX+za~KeZVujsMkxcYcA461WF;pazZ86@IsX;Sc298ay+9ckLC^GeY=XmOWqo${{Y(@JMM3@TK0 z73nq_+M(Q9F*^#WjXrioe1SE>Hw|Fb+vMX2K|q)zozitjA< z<2)+RxP0&Va|Obcq>=R`1gKx>$yMm`3;y7zx6XWj#fRgwDXU20(i^Ww95IkVPCp9&ivKaX$+{L>lX)j z?<@xNN5?t;no6UyuM3@4)6agXZiR!Lc@SuH-Z_txJL|;1wR3I>)5RIrjB1^4PPv`4 zO(d(FYfh|{GflMGJI|zOS~<&FnpYy1>Zsj*i7eT;Im4)OE!2)W|Dt9)hO1sHJ&*j( z+@MfFc_sp{q{j7?Lv`38bu``L$UHyx{4k6t9Zhg6f{(Iv7^Nb})$NHy-9}(}nDl)# zf0c{Wwlk8xwoQsp@zHrE1T#BoC+U536N}J1yl@X&Y%6kk>Aj)Un$AUo##;`<&bJ&q zeQ}}8Nxx}vrJ}U;m=JBS-{0z znc-a(Lu8fo)K%zAsG~Rn0d10kzIs9cT5`zva>(QP%lJ;LlWj%F?v&ldQAOR`IC$s^ ziFu~RogTRq4y$iTK2k;MB86v$t)$|H2+Kz<%hwev<^0yqe~*d2i=%(-gtv;~8Y7lFNHR;6I1if@kxCqEjF z{Ad93y$7I;{v$6{ci4FXU(%-4?qKr){K|RVaprN}B`4GF=qP>X!y@nbh{)S`R9QDbY*)Ryl-E*%x5Pjl_4fq`^W+EJG!yUE^~^v_*M!zi3z z>@`4*SIbn?_5x{P1Hs0WF)V(029$hT!8Kl)qHDTVhpQ{n;sFXKFI0I{{=@#=`mm-|UL zF$;CX>|$+N&N}d_uQ)GOOV-)9b*R~I>t&;z09O_~ZqZUzAM=-Ok%Fr*gUT?$t`AfP z6YQ3AV1nnv(HDXV2EZav?124AIHwxTRWShGAHdco2DS{4Yd}gP%)^O6f&)M>AV~pd z2Dm?9l#Q->1`ZE6XQPpUAp@Eup_EPx78*^m z1CAv62BH8_4?v^Sz+l+{SZ;wa2B>BN4h5#3UE;XJOVg4KxblF zjm*bBgLVc)?fExgU(NJh>g6U(h#z3M3W+vb`0qcq98~_=(fgxt{ zjG^@cKvw`u6KJ*!K$njbj31f}fJ6m?E1FS5A4>*P2FVJ{RUnFk96&1p1dL`080a9n z6cde5d>N{7fF>e5XF$|4#RrxExdfCsrqz_G6HGDSDFfye%rKL$0IG=3z(0UKnU-b) zlmr9N2Hr35!-0~HnLlBeveX9zC<@fbz%+|sh?9h(8JIB+5XdpZmjwVRKyE_~Nvir_ zX=Df1B&HsRJ4Q2N%wVJe&=Xw>g%7Y`G&N?`1OTr~hTA@1Dh#Ai6j0_cFF<7FDA3SU z7}gL1Lv{ph8Zs1U!h!}?`^5ZBkiiUCmsH5Y)DJ2WDjn)%fj;1X@j!A$yQAxXT1^T!YI+ua@o7w>QtCK6!rDKiZTtM+p7(6pUHKVR$Gg<&83f+Z1fYBXbqRp5k z@W)1WbbG+?W$`=EnDd3TSb+i1S%Gqm*$#D$b_awjkYas?lpiwXfjJDEQ#285+!W*I z%JdWLV*nIiOfixLng^{3o5f}+Gz`$U(OWa-NuU|w1QB8}YC!Pta6JZQ$`C#}n+@o2 zn&^V1+Tm;d6wj0X#LN3xGlf5-%ZA!wzGlGd~Wt3`olS?U22l z00WmA1n9T$P??Ix^dT2fLE2}gkqP2Bpw3s?bY$d3mC=qE8)y)e0coH;FPU!v zbYGugL_=$lF2an3v4-L1tw|ueuvQ%S9%BzWn4xw1%=8BXh6N1=mN4>Xh5;;^HTanA z0~S2&IowN3I#>v?;znN;oevEm;Il*5qXEGT(!ta~3qesrb~Fw~9pTc$gToj=S7Sl} z#(Sg(T%kM$Y!0LK;kaYE0gD+}&^|gD$_w)VAkAau^~2c$Xg|7?yl(i_ScWW&h^RLd zNdRq%?t+Y@-=R~PuLs{B^;@!ZA#iyx+hKNKx3LylTybRwKL^ee#xk6zi5YxwXME;N zVl4(Whi_qUt~4^bssWr<7|4}rq9I$CVV*;&U?`)-1BN$FiA7+tMy!c298on4H4IjC z*NEY^lh2Hd25gBKFeH9jMvkd@jq{695%874(2OG3GM*0vLm6%_ECf277F${?tC>7C ztqIQf43=QXGRZ(w!LFgLXB*G{Le;UzvJ2j1icE`BFS8x@Oq=tN14R@|;fKCR3k(n|+^D;4GftL^WgfdKA znck{IAXk17Oby&AhR+VQh4oA;2=b%xzpqu;bR!CQGyeB*FdhvY{O{RdI{SwI{Uv@* zhySey!ULdye*^RW&4GC{P-FX+#wtm16C+bWSgG1Q)?j#mh)abP{$ipwE-&fyO$BOw z=b1|rXHM)^?L7_-Xw&f?$1yNAA3k%&d-=0CuKaVsIR9MYh_@CiRds${rI{6v-I8Cj z>ncK1as#?dIg9gKx_M*$)CWROI9{>(vIJR-r(bFKvo+TCN3m4gg>gxoCXS`WT^P6Q zVUa9iI9!dxsTfWctKnqj@5A3c@-B=`r&TP=1Kx!I8bIa0air-S&2r#f7?!Z?(>$F#J+3*(Ad0;}nA6UGius0-#WoTRRA$3m9uM!Qh%ErVQi@orp5 zk++NApu$}vCfpO~%F}QA?O|uo+;1(PM7uhy?j+hR=bS{3M#C?35-nKb!V$|ei<8n3 zC5gmN-pZ_%Q3zW@ln#}hGfvp9Hx5-NEVm<-)H^pO>ln6ia6}!jZ7L+nDmMCy9Z4KA zQT8<7Fry^A`lv^3WwD%kl!FVWYXh?Y#-7F%J5;6329^U9`4aX(XKb78=6j=veOh0Mf+l#8pqhQ z(KRyP(y=Vdh8W;19kM`DI$&kHci8F~@eG=C({z+~6JlXoeP)_;IAf{h@W^McakhvL zDBCQe8t{8&M%|1(K@AZ^3rISvW1q0N%oUSTtC!LnvzkYT(}Sh7@1r7274H)99Fs10Ru zg{sgS^J=1%)EUpUw_>3vKHDD~vO|zxORl}I@#pyczw9>JG$#RU-2WSnC!_Ji+5el) zhl6kXe_!I~g!_LO2+iAnK@#WUbMBqdA7=;d2rt)7*(aC2s`K(Y~^2uC2QL0G( z>q`EsXm|N!A)ge@sKgpP_0EcEubvE_N+Il7tX_eZB9@foCE z%$|B@?z~Vh=FST>+SQw@r`}mHh}Dw?QFq3qYSw`zlpZPSm8@BL5UE!q`l>WID$?6p zW1ww@TmGZ6-4U@`e2GC-COcP&dy6q<7r2ry&2Y0{F62uy^6Zzx0V?W@LMk+*Hlm^EHsIKj$&5=R z7M|$0*3i_HRZEn{r+zzg-(ryB^-#5i8K_Q;t~6hF(8_Ydg)MV2HWiW4z-mbM?NEPP z9=uPz(Wp8tG9Sc;WJWG2!sg`2HoL>~Ba7+PaIq4>a270Pp+7245p{m#N|(GcYfiP+ zKQ3DiCsm&?=R>hxeNwDO`{rTu3BN8@ku(O+Yfjm#;TxJx_&c1lfA}2HNq!MK(9DJ> z!TDT5>QImDdZfuV$^5nFJpmGrc~H%OW2#V5w<7wn0}4_?{xla9y}xE6^pbc@i3C+H zza;fu$9Ks`(N~8%YDFz{6ia?9VhwtCUI3n4$dZb}pVmq6vHvECzxT6Sb$kDV$!_^h zWV?0F+!&l`I>%s*z%I_gmJ^erzOM~S!52>J1h;-1i?tVpN-p`g9jsCxJTkY$l3(&D z8Bi(j&cXW&gQEC2Q!P%ZNlB2$EpQF|RFHx(27pn?n)MdjtjzVK) zs8HwH*rwP5FNbk%6*Q!Z9>N<&vvr6PidO>lz7qNS+|PwhSjm9V{nA+Od#`gZNaEa& z;>`2CkK!Jgl<6!0Tkb272e%^hR%x=KEY0DKNc-Mvf{;trYZ2(w&J@He!k&8hQQS*n zpH!CRDq`&G^QbTSJ#U*vcd`a5^)lfz7S%Ea@O%le*ckIn<}o6qCwOyA=G94a7fc#7xJ|x`CNHRW*64-G>!R6> zpr_aH7VT4N`pZl2?e540fggvSIvrDfyj&ev0Xd)2D9=T#A**w{3kD@$!4OuisQnkRZa*urou5`|K~#lZOmp?@81p&)EtpT;iM3`^ z7qHEx`Rph&X~;C0M^oywX3@!aYuFrW4mE`)GiY-;wfQR~XlwQyaXOeg!>Z2A*|b}k zw}NPeS+mKtF=qv})@H2GX>H7x5$JSg%c7|?Uc0SERkUe)%p!d96_2LgdBuaD2VM8n zusBA27uDoHPwW^z zOR0_3dDz8QNusV+=&W&De#`L@mZVCyv9#`Rpi*YREKMQd8=*7Su@vY}g!XIW>hQi)nK? zwWTa1Xlo%IaXMH=!>Z0A+O%6)!h&dp1+>Yvv3v!!))uc&Ic+SR5$JRl&Z2qZZAHCx z`KSALetdJ7#mRC%&Gn9-B5 zZ!GIVG(#_m=|UikiSlW@54Xb8>m2VkS%;dO(v+##rXmw@UZgqxpOSvz64~c#x`B+{ zc`vK&8lP5nC!;SN!%#f7A;IFXY~fm2Afdi=@xSo!KeZWIxteVSGj_st?0?|MkcQ9R z6GJLjePCD+ImvlpL9NYkVNv+B=5|(nT3B#9_OOr$wK*%acs|rop_ZrXNue#=0SAQz z<9+9Z7N<_fgqlUeDWOHY%ORnr-T91AtL-jFgoTuNkhZtux^#=PLe2y#z9lM{D%+94 zgDi)u7_rrGha}e3tKe56R|Xl^E)Mccl*6D-CsAiw`L2?51N;Q(Z0xq%B&EA0$eJ69 zbbT+&tI$Q|Of3COv|a=6^;3Y2z+IKHuX2E+!kf$ZDeCD#>tj_9$KK-Ee`<}~(R~>I z2HXeMsZHJkD^_wIEE3214i>RJu7g$fw4TGf5 zZcc;6w!vp8@oDQaa0b;LLy2@thk;Y>;xBOR+0tFGMAZLoXJS>+X6x!we<&;N@;Rju zw=9*m;f0-3M%;DP{5W(J8Vs*x*|+|Uki&)|nL-gKxd8Qew^@o*(#GDibN@kYP{g6< z%h~vGI&6cIDNvjg9gGF+XL}6|N22BI`mB_WaYiG-J z>AFqq@1rbF()&Lr>0iYCq35QO)+$NKrbr66ifk14YeceUYE@SpZRTkt?nG!-V73@v z=#28K(dcdiG_6;xf~6IUL+02ui$iYDs>LaNS_Qu-ty>&+N32{dN_*BW6?l5_PV+b z#|QCsjWnH{U01ZO-Y#R?=VUZZAO`@BrVS0ZnV-B1PE z;Ap$&>m(EZZPlHseG7f3%GD`6B61>)N7UM>JSu!*oj0u0dBpB`rKbqB(|U~O!>K*U z(_Qaz;SN%K#CX5vW1KpwKCo!ieT;ZFIi+INoW z(-tkwXmbX;6(Z%^vYe>Vsr+g2Q-2!BbZTn8bd)Q9^A&4ZR`q5z%L-QLS&Pi^iq;~x zSJPUhPpoQ36{^b5LiSAA=-ZdAA>UhOq5XHutfOXOSY zTu!~4(&Z|swbr!+eI;`C?{;Ty?1P45w|64jCUK^MdaD#HE?Pk0RUXCl%3(M?eLQFH zO?a@7B+*)ptak-7xVYb@e0)3&!f~&uXCJ2=nq%mMxAa)fbK#LW{aKD6{?g zfBdu5(N*Rs6y8aB5)G3PqfYTeRM;Y zS{+(#@MXo)>&s*9eKnS)9ez;*c+n}5i#os-Jt$_;(1Bby5n@qmxS}tBRdg6o(UB-c zEg^~y#V6VePIMqL(Sfi;-7$%(p?p5Jjd-HM4NIOfgA-uvmDP3WzTe9@Pa{#@k=z3r z$F?H{D3p)`@brLfv+jFl-8anI=-fTm=qk!K=--oEsH>#dS{Fae)w zYwi4ySM93gI!IF=dg-oGfL2<&^YyzbR{Jz~*Nb>nJPy<59j@e6N~|u}E7gTPx%aJ6 z+UT>o4Y??ea#S9&y%RT4mW%XdyxW|gsb_V$D0>YljO*Sh&-TJ)rV?aTB#k?dqxD74 zs}tj_j!==U!Xcoa@BOf_cr^s{`&vQ;daOf0Ki~UdodoXtT0#Zjl0!g0-`fTn5}~FE z=yekrekZd`g}tpMV&AxNXjm_s$ ze=i5-?-|~Pil`zTC}tC|QA7jvd!=Xw1I55sA7A0OBC%4xLq&R`B%00T@A1g|_7%}F z7^^Z<)dmao)nY1tivSE3s%q+WI5Z74Q_n~0YM_K$slUhS?R>5nEUt`nfs$*9imMOCbJJ)<2;HupjPSP-=t{j^_=e6f zR15~__a*gvQRT&uH3(WLJ$$;ve8WJ!&wYOpXo(NJjptBGmrvHEzV8f~H^y&9Vtfc`@*CsR{ru7Hv33Sw0l_Ax( zG>m5$dx|t>?+7KqV8j^UGYrrn>n@tHtN|^}vovgG=mX3KC8Cc$fGj>Li!NF)dB^7M z3K|qMd}suM)`IM-fq6Sc6U{IjVb_MH9Z_-A3?mK0VF}xZsW&%+a;koh*%%W`s0ud7 zFzGN@K^k_LR0t;2*a!p$7)2OkmRM*abS4VTVbP#-loX4JVH}K2hZBR9`3(_gzNyU= zx`>99A_~ilIe{54yD|)*1flWDHmn-0y4 znQO;H5>jPg@8(m}jAPUQMg!9dGQ!&lh3Q^6FX#h-`k@gp0x^>ZW)zXafZKwBC@=(J zOGjp~2JnC2)NqBUN@9SZp)dj`L(||Rn#pL2kbTS=2del=80kjLGNT5t3S&$|)gNQb zo(1fIA`1P3=E9Re5nAd=Ul?~xt}Eu8VO*geLzGn11WYEJJs3i09*~0xoL-sFFvZZZ z&{r5OXnnYm=ww*tB^baj;~wWEbejl67IlK=f#rfdUo1?$r%FVjok?X6MrM$q5g;!q zELbu1gv<-qORlakJpt7{#VA_AD8lgz%nVqt(FG6OXATz14Ahe;8~gAo;L7{t zRX~r!5(zT{ro!|J-a@INao{3C`(o^&hu~MkuFNos##2LLIx%Aa3k^8AOLXkYjD4u+ zfO$}0JYw@^JYao*R)$v$av1wQTeo1M(WrxkfJK8I!&qWY!T_BN2V}quJ?zwqO+fPc zv4n!wS{i{cdtlo!C-7AO=NA^ zL!K*YfNn(9X3SbasnM*)T!AADPf68j!D>$~ns0h*j3pGhmlhgu4&jna3^}j?A*{lv zC$O%DC~$r;C4-)s$y4UL!R)}RAUAey*z@%dhABE3s>Nq>ey(SaWPnZs1Lz;PP~JZvn5m4K6DYZ3RD|gUt&T*wShgky3nc6T`SYQg)62;5!3*d zc5~A>m_8UAka55UBKij1jyhrWuz(wYeuc>t%(oHHMJqFwCKEG?Fh9t+!ZjAA+esm+ zw`BT5w#r2Hp*zuZ4d1-DVgnJ~2v2Fr zRu3b#UxW!rjx&rXmMxfQXniyh{0YokSSzS*sFMk6F1VK%j&Lb44PmUVbZ@C9f~ixj z4}D1{2v67&iZ5@mNP?R+Wq+@r3no;CbuwE@(2PajT$xT=G5-U56$57JFayXQ%-B4D zkqg*J#}lXl`V8%^KAx~aiAI~V<=+B3G66N0+K^&h1dR`OIAAW}X4EWF`(AkSpeEh7&V<(LKP8xm&gkVo#jxgH?Bz;J-cfJ~X~C{RD%vVvaES05oYUA!MBc1rTb#%rdY5hz5(Y2l`{W{qRn#L@MGy zc+qB?q`3k-&34;uDzXfb51AJ!-12+RPlXpJxtHX(BK;I)!rNsc?5ksyYjqbwe9rsN z@qc=HlWv3l^K~TR{CN_`is^^jDDxs*n%HckwfHWNHp26>Or+}GWuAB<&UUE)(t0k- z--uYGel9|Ff}^fmX6k!CkCtoUeTs76?n#c`)(<}VH^Pe)PWw_s@r`B{dj5?c#aZ5e z93*j;d)M9{A?AC)xxdA?ud|;;nng)GQ9>7|;8Y5A(icSn{Oj4<*9ryDE$n3?y^8_` z122jFIZ3@tZ2UNng3R;NWEY2Ckbjm9sxE;9>m-Zfn@bUg0FzIJzmb2vd;2`=dE2${ zGvTGO_hf6`=J_^zdU<)1gh|j((wobhB)M6O{!Oy>;~P9lx557~J<)$7KD}3D>6%Gh z1>;<#D?bppv5Mokb1AFS;XNI3Cb zQWZnt=^tHzBxMNnhc<&nhf(#|MLoCk-;4B4q*?)I_}6{~Tse?5tx8>2JL>S29#N3; zuW_{5uEj>gxd?061b(a%du)~>3;|Mb>))x|BA@&;L{S>IyY^UgLRzfHn|k#Z?m2^I`ejL%A0&ok2I z_-D_nl2{8Wm1Lhw9|hvPStlxjMwoJ0P44=8KMvQ_WW^Zz_b)xN+a8k=^P!^Q(z||X zq>=E2+~>9W6D76&yx6ZXt492ZG$ya;UXAIF)@l-aHJI+^E*g_F>8df!Y&oIEv;;a< zV=DK%X?Pc2uX&`#fcn=Pe98uK6Sx8f|af{Tlx!u^!3)s0d{9Jnzi7Bl0at^ppbg_s>`L6>s$Hsh6iap`LT| z#hyz^f9V;N5!p!fQE9H}YPV?kRjn4PTrc^B2=ap+-fJSTZ*_3+vY^#^pkX1fZv~(o zs)uQa?jC;!SO1b&9`E8?vbT2a?JEBVTzZ>-XII|(`~h8fhtIFXb#LXf*E;JJK8v1V zrSa3jIe%EMysJA-a_fp&PHko74s*YWQYY`bjoaPQ-)`k->*_v$gH4{bZsn5J+Uro; zUGX1qq;3A49cX7HJ(%O{@cFek%*T4ljV|(+@Qn*I-sl>;Gwh4F#J~IY^WZ;O8eHCq zI84&Zn<&5CE&D;TxxBsKiWFE=mn(mnM!|O&xZm9*m*})2@n3(t?B66!JO;zTU^bcj zZZH@O<}>^MgTZ(<9}nnn_4B*IXgVAYe&-FoL<8)y+)sZuIGR@>JpKPy@*}-2=}MVn zvn3^S3BJ1#@pm^#-+S?s_vWV$-pd!SKd3Z`S+Yw5@zg5~1a-aXu|89iuOC0gd7*dy z_|a;UduOXnenxk~yfZf9u%x`yhynQH?D3-@*=&;7D%vfHlGz9}Le+xI|CfFB_pW0#&4x-C8~T zmEzCVv|KH!MooDeS)-QdQRo`ARGSbsYCk#*Wh1;AUX8?H>Ic)sa2{T1lno~VQZ3g* zfi`LgHi2z4%5ZAHjXL?-f^IYm+W~l^R**XIjYiI`066McR)BCcGHV0GQOBz_7)PC^ zYy-$qE4@l*EuR3Bqoh-t^I9u&QHcawA{2^M6cdIk^zJTY`A3Y0n7GsZ^xANN}& zr=P2D@BDS7vG4sXi*91ln+`&49JGT+Jry#I~xNkvg??8a7*})0w3%_UOwPqJu5a@usJ}%{ju@ zw6QXWo0r4wN|QlR>a#&xSv$A&<<8k2a684xRCG;&CpFKT&{1JOu8q04rX_(w?anF* z(i)=~>TkCqRl5tTBvrmhM8jO2|6|o|FRA6IZ^CPg=qupxvWb2+UvdTU#LDcjjeVOqI{QEdRbdP^*2(50(?hpQNepExn6zZ zP;#UAzqNlP2`LTZ`MEhy@uE1({Wy=nJdZX48GqDgfgi_7E*+}i){k$bU)J7v+p8Za zCy|`sxF#M{ndugvhrAq6hH`MaP^Sy1d zj)HqH62uXUA;V{(?0+FfBB()u7D*6BY zKmTv$ZPVz^&xMC<4L^#_QlvknH`!ZAz(yaQ)Tzr62a}dWuB8Oms0bA0#vxupn=XCk zw$q1O;Yr)R*=<;chpmvql~=_36s^~C;AA4sWzBcnBvusE_I#!eUi*q1d*FRacI(hv z`O(^oR$dronb<_JuXhvu+*=Dj%W3RHSxE-@D9JrPxQ)b}9Ey+L(H_`aAyTA?fCF4k z5i#cJ4)M{oq{XLJh^?py&DCM{)11{Vex3Nf@mnoE0dRT7=o zAhP^*o?Ne^JIX({G$h(CMhyI=P90LThUia#5(-czyp)3ZT*fm3v}VR;%&){#wdxDODm< zqf(1c_I1gpG|I)1eF7Rsc8VeLpX!yrDG6%2WnSGaN@}-X6rqNW!AB4366B7dBU*57 zEuY}=qnD-}`2e2hJ$bg>uA{&=en8m+xH4_Rcv&8RaA}t?%S+!Kbn0@*4%Q(%R}CQM zRSUWX9P@JVGL(50$)nNCtBCFcG_U&RwEJ13GNgGG(_>K0%k=gEo7YM35ZLAw(shA1 zuNAc;!g-Y#O(5rWd|Tt3S1_!BI7dL9hgH?`5!>XRw7+OhLD`D2a)P>XR-YWqy5z>lkzV#Y7vEe2?X6Xh>N_2GT`QH2JCie4PD!^FMP~Wb0@*(IrWxS1luMQtoV2*Np zRj||AGc>YXE;W*s<|OruB;^PB&R>)GJspx{3o6M+TnZ*GsjNzmwRD(jDVb9qsdB>C zPV2NdQMEpQh;!BBPgf83R9pG2)osz@ypBr4oyD| z7-~Ff5Aaax_GPa?Azcm`v?(B>F;0do;||6Hz*Z@7(!wxau_QQ4o$jCjsGI=mnsONd z4mV(u0w$B8red@J!qjKUKL8#I7|sDhBpy=@0E`YqZ*);$+8x6YJ%nZfQt1G51<=Z4 zQx6PiOgHM}iG~I*U|}&c35j-LnhU8Y(4`n%grCnqjRD=d)DWpAnNPs7n^0~kp2vcr zsbU(^&>Wf3MQGrFA@^zMD{xkZBTq7-f8$2OF4mt8ZrQ4px9C- zm7r&mxUqU;dSd*L4hFn5kf;gb99n2*q`uNdqX5n&#AlXT2BJWzkji1oe+dTYcgp7i zxnNQ-qJarMHN%t=;tYBQ&>O(SEDr#zp`c_wJX;a;44}5>W=@P5Mmw4X9lM;e#$h?m zilkk}CKGx&%jrd!@+=nwF#a)2kvs-i!Mx0r`6v?@9JDz6185t{pLS(h9O}AkIUu_a zjP|*q06bxW-5;|FGUk2`Gy0eZU_4~)P8jCsa12(|V@{(^ffQr9BUb{91_q)q%wX3r zSSj%gEC*a3mWBy1-M)t4S9s>av>LP^yb8*uh59j+@FB}UFksFZA<;AYNa^X|4TLPa z8Ua`{3k;i#?p?9p@GW5JpahY;4mj01E!W%(Q_}2LrVu5g(>VnT>qa>VCX78pGAAL> z$pCxC2%#igHK@&$J7R9;3Yv@3vy828J76aqe*d2z7c@fvG~fRp4QAt^d;fnnoPN9i z|0RA-aR1*L2oC@O@a-o5Z}BGovpBd-(zhyvH;Xn~6q# z4)mhfd(Ow+>s)NGLu-*Pwqg0x;^!a#d}5wA-m-@zDik-vuB&edIw4_J*{;E09nac2 z9<0@zqOr!QJvw7$?DI0~9I4`IRrO=HsjJV&KmPHJ9csPKTa> zF(OR|UnO3rKJDUiv_0Y~3)SIV%VJn}m{sD?>I93Et~j!HcjrLP-I>duaa~F1L7}}UCvc+Pnn=N zSnp)f+a$}?6{McB9MZH?T)!WOs=OCSBe;qJKiA-lOctY(zn7HUAJQ9M<2jg=!BM*E zk)>?kO3~b(LLHU^q}g>KSu2OWdelLgx7XwCRrp@*-9mZS>F$%M?zWoy)QWppr?^j{ zx7(@hht}E$DD7i(b{my_kj8FS*oWxrL)3LgZLO5GR9WrfU1iCJcvpw6)K#sbIc338 zK&4dnZ(qL?SeZF!SkK~f;eRV8okEtxsx)yy zrj-hoRNCuaQg{26t`g#v$fW{0zo=C?joTK%x@y0oO@JWZIdKBy*sI!5JLYoNeqH}D zvp4S7=2iXYvgO?Gp8rrG?2rBy-_$g26&2N}FXKGD?-&wTI=d-H1-km7E-KJ1=R^gL z7PBuD6^H<=1L@Wly;319$RYrixkY%z)oe*1r^Lqr!Ae@9E zELb{pj7A*LgrTV=qIeM5CMc6M3s6AZ76rbo%;-YE7)3y_R+*(-uM{t zH9iaJnYo3h%Y24gmdr)=sYfF@uuI0%=SEeuO!=O3}8@0i;ZSA-H(g{Lx&bj8>#SQHv+hQ#{_bV83VPyfuLX;VqUczr>=0wLL{|F=i_C-u^_iZ*ctO=8S&{{05Jk1pr{OrW<7=r^-gV{U5 zSXx$m{N<9L92);4?nInt`*VN%Zg2e0Y&M^|`9CJ3+3Z{V&zJZ)I{rrwgyz5>N^0nx z(I01DIvq&*DHD17@94Su>I}KEytC@;mrANoWOeT^)!VbjkC1e&wisT2i+B2s#ykBv zTIV7ap~A&LODa@If2}~ml2z3aJON{=EkK(9%OQdt$k$=zxr?)<)o=0_~(;~=jEDD%qHlH z%3tS<5E@}s!NQTO`s>3IuN<+@dFVE0%`T@k+G@8uty1>Br$gYV4N!+x(@v;U^sp__ zsSsfhOjrJLG#^gnqOCGC%;9zD-l#>UX_K^q->G*?ZCToGn^p|*WZtKlfTaUNdb#>%>CGtY&w>#`AiZ{d~l$k)Gw?lhE*?OR-GW9Cu zjqtZB_1(m~ic)nzTovWEmY8Yx#|q&#zf}i-6&9M4H+K5N=g0=~Dck5K^PGQ9Y|PY^~`vdBeTD$J4*d#g0rc&WJAt^IV*lA=8SiY)#56@0v+cFz0eWWq%GWvCvSw_ueQen|v-icV>;e6se-E){l21%VyJ4Q@> zUu(kfMRx<%*=lt*ReS7{)1G^clT*IhGL?v)#4MGlwy{a2k4|fl#?=O?#PwKfaU_-jt;0#zyH! zm1V`&xUKAqDq3w_)alQ&IDCs7Yifa9q`t>_m>-AI()e2}iSp0anfTXr6kj8OV4ip? zCa3@5^V_@po$y1IapS$nVOpv<7_$Nv8u}UkYO*4VXH~ku(ka3r0zYCx{^)N>M{oS? zKXBmo&nGosRwXhm7I2im?mF~y|9azZ=}N7|%Dq?Xeo}k;i%xC+1J}P!wLCn@I&q&t zt{8>2#<-%aZHOz09c6?oDK;74$`4L!d?&x`Z^1(iZw0X?qg%`S)CRXouC~UuUdRrH zwo-sPBU{U{m4U5dRbgCfnY1yiRXkc7)hf%;#-LV8tP^IjL<6ukdoyM=?FZMfvh4_6 z%iCu|8ZSp%1gmZN3$c#wMEXu-+a%8DnzHlopiD`!7@f2`PdbHY`IQxX z((tw2v=z}5$}D8=w{}>CKD<}K62H#aKc|AVrpqa3o2?R&qfAzbT9dgd6+W%0n*P$< zT8Ek`hftG=s^ocU^W@6Y)-+WM*TF267}uGkN=~iJk;|gO6jc&$V}@MXtxb@tJ@=SO+nc>YHo3+vWkmm$McnH{SIJ`y8Xih>P3eODADD~jyFY1y;dZo$A=bZan| z>N>bn!y)gy?t}@$@AHOQFb4z) z;5|@Arx{W(9vBD~!@0?ZQh6Tngc%mB0pdflspLet45~7kq!n~uaNpn5C{e^P8LR%F#~r2b`NEO0Xk0Db5g4Te}+a8sG%hA za_}0DfL1~Ybx>I(TN|4Zh1_COKzE>FQ3ffckOvFcE~o);RRE*|WDTSw3m5_uVQ0)t zCj<6qtS3~F{z&kYJOtx`20_bW*fEHg8B0|L1pru{G0RJY@rLwA7*T}&gC-g?C>~5P ze2h-RoLq&beF5DwW`osdiH{&CQfw_KRiaLYR&d75K&~g~D2|Im82~YRAQnJkkaCSB zvm{kPXeBE)qA@CfHp5c(;W_5{h$ZeLY?px%6mT+EOO~DtJjYBi0OMrNIuk-5Ya~>H z&+t*ufW-_zofO*4+>B_T-GIc5)oH}$GgxA10zHZ{rL9Z@0&HtV`OnlNAjv@4VtxWx z2!AgaN)&Q$0ZIuSP5?p}UC?8|;34EIV00l#8q0YG1SV)CC`N@0fP8Zb5s^VQU+ zd87KkH?0qihz=ACD2%fEVRSRywO|<;uUOhmLNNma;1oeFz%k8OoshZ`Y12Sx#qt1B zLP*xgm@$Iq!$ezS_ENgcVXsKp2bMJ6r)Sl4Eh*4lMt?;d7$9X));mSGHK2Lt0;pc zTo`7!FefMn9pqXtRe|YFHcPNBg&u|P1dY33O$Qr3Gvcmb56Bz>g$wXa3=J+|lZcS) z0#hDZ79)+k!l`+Cg&Gj(9bV5(%c3bzS)QDh1_dOYnDGM$t3nH5>?w5(j}r=j&E$}w z2Esy6?qQ&-Ay=U=HG@}*CL;VP$}Y^3d}8EqOv7Mg2mxgfGhocH?Uu}1z%s%d38-s6 z5Rv+j^6^5OVo(l@5O5b^?=X|Eu1r11K#hCG9$Yc4LJ({itQaRyWT7EMJ{_~z0ZUg) z>jtfORH{Ti)L4>Mkf8Yyn5G~VEqX?&U}!)|FlfCM%>#xG2-`qO5``I{7y@%P#xYtj zB?qh?Fi_;8@syz=lCZ?p>3`xU3CH$7OuP5r zh)?eo*}ip7r>nz{TTNxXRg`AAmx_PwqEx6vEHC3bu}-$w_LhYFW&g#?A720b^4<0O zmoNWv{rb(He^Q;H2)*_1*NGo`p`ZJnuP$KV1YU$*l7=D`Y5%F)ES07FWKgq*YEc+68-i1r!As|&*`&k zt1Wa;0dEJrJ^NL)$CD@eK=#R#7LB9paAYGDJJq#~^|vU$<)=7bQ=2V|_-r~V2GOQ= zbE

^EuR1B-ihGu{Gxnd!@2zp#5;3A^!X#N|Os7UjPD?#Jwg z0*3Z5*;i-DW+S^K7N5@DB=I{l1?{$8YVaYt*|4F9TK!}3w2zx-`17oDkr$`u3sH@f_* zF}bys|BWx_n$@G-Dwsrnjib!~9zfy0b}cp{&P8a?i@=Y)rSQaNDZ&spfo}afA?MX6 zKMnbIRYAiCRtKh81MNaDnyBCU(q@U4rFX6guqwrLAVS^=LH}GK{`V~wJ@0HI^4laV zCVZUa9xHHWE+4cJt{9UQLROB;ql7JH@o_@C1E@mwra^R672LU4RTET22gO-+IL~ND z0RQZHOm;1#^o)v-y7#aF=ar6-`rL55b{gUOdp{1>Gy+*1YfsN#CJ8KDMGK{O{c~GD z?P;Amz7bw)XQ*^Fbm}p<3l+94zEa!zvE8i>JMw24c$N5qp23x@@P2a zb{>spvaimT3*-7$whLnkagr5;JJ9sJe&7LDD65(UZ_5E_7yr);L`R0h2BfQ?A9P^4 z%zjk^)X~}xJWgHv)VzjlIch7v`p*pBYEcdw!!?HbL5Fe;&#!evt5e(x>tCFinn!97 zsDHijH{z)q$$!>+{D_9Wx*l&<$kYb0T-RCfW+E$3W-8_wrn z=mH#~ArX{}aAaIBK-}G!XG2FUBO*C*xdh?q$m%@cw}udMkN8tuE6QlpuJ@ zQY<69Z^VKU=PYIM)zE}eA`BC;s1#6%OGAi-$IYIQz z5m)u-W8Z`zlDsQZ0|YDLE(LD2fdXZO9#C+j>H|bEPt9+{UZa)izSp!@T++j30=kc& zN+PHfcM}jrj1bEinux{*+L~QaLKx_jW#|Uc35&Gm*RdcdnhW9j16+7OT=jt6jlf7p z^d{vDM@;X)uo0|5=Il1%oL>jUC_=F9k_EViEF(R_R&haW%9;*;&&TfHn6PvMW66Sy zSBNbQ&CqN}9$iETeZiqXmv>W`(;YA@Sq=6=P{l9jsv$#|8h z@ThVPSBa#Ie_`t?OYeG*A3gf>ZoS4P;?p+jNAbBuzerZ9!E492)f06s+r7T2_*ehj zojVs?$+4EzP1I94EqWdaUjX%04$%&~xcc*oZCs}^rG4D;9`Ss@+DuU~brJ{Py$p{T#gio2;YYzTFP+p8em^cszFYe5ZN5td)+1rG zT8TK7Ye0-i6;KJlarwFI)lB4SO)l>I^-i{`sqJ{b3jm#dI2s#c-jq%Ll*gYqvwu%S)u1@XKrXo*KctEK^$y^Ev@L zpqN)Mufs8~;noVtyv(Ko%e;m`8#MDW{nmKqW$n2i(Y!`wIhf|vr5LLDUOmeJ&Yd?p zjL3Ojgz7hCjLP&k*RVlA(#~v3b@<=iw7#7#v9Xv`TTOWB0lvQu6afT$vMcEm+(r`s^y-5RGQ)#|CiQM+r#<1x71)f}B>Ver^>j2Z4Y{ z20W(XBpx9g3iNAWPTBE-K;RfO@D)QBMoD0f0a^5d+-{aRq`S4X;d3_$){R5N(JkAgC!IU?EBZK^Fj3L&qYJ1z|1-u|Nm_h5+D> zM=bmW2yQ?Re4Wg$)7BE232xCKn;$;Aqh2e-m9em92WrqyH48bNqehx5-0t_|Q zu?R$%Gf3vq*o>$d(A-9>&w${FmYA@bp$`yVL^z$k8R;NBWZ;6RAB~p4bS#D`hB#Uu zQA8sk-U6-;AvXlP#_|59Mn*0>!d%cpcng?C)RI8W09%GJjuu3J5ac6Tb7kZmXbe>Y z(8&W|Sjfp-!}_V%pukKJ>Tsqc0KJTk1)AHCL0S@)xX%VOVzqz`hnWmQ97YqdHfS7- z6G9ARgOWxRSh7$UgpgreEdf9n;xl1}BjzU{AD0aIxh@C>Gnud(eQVIGz!y7$=G!qu zyPt#i|LORs%?UvB{{Lh+8xGz5|JmSM{P!36Ie!1Y7zht=0`P4k|F^i2uNn}$7qXF} z%!@@JvdmBKRc}T&vHlX#D4%Yl;MQacm+x+cABt4%>&GEV0~?|5{VmFGlO44|!KUYZ z65gj|w+<2YlP8j3;O8RtbDcB|MJLDXE-vUtgzNbP1*Yn?utTYaUE zI0^&`S$vhO*U6_SzER|IvCW>!zlMG9XZ{T>e$^RAl z67B*er{~#C*Y~^+&gY+^^;#XB-1*Vkmy;rq^ITWwPip0M>t{r6DMak;^d9pX9DT3c zbh0z`(>`_Zt)D3ZM5|2Zdz2$0eeZ9#(OO_gnZi+g^W9Rcl2m+$UZGa>JZ}@-+~!L8 zEQJ?^!e94jGVfylE{Q@_!KDcNT_(Kf!fqWi4gGbN5J@?aM35IHl}<42_XjVEE{I1c zvM5y?RG&~~q{c~woYF*5weRwthr7zgiiHZ7yY=H65qjr(FC_Cnsyz@t2$Ef#`^#u8 z2ZA4Ka&Z!Wmx}E!jMR|1=zDLHT&OBQ4hZK5`OaUj@0AA6GNt}#Hm-Ma@~rQPAe(bd z<1UgPh9dN$m<@nl(YiEM(1aADCER_&bI2GAewR^(35=HTO8>N^b zxk+u6^}Y9bv^IU7iPdh6DIvZC_zXTR`ht!yG&Y{ zb2@%p-g|!W@cFX~)?K_yqzb^$*R??1cbRwYHbRzcg!k1&McM+ zNp`3rFzI_Qgc{kY*slG1&(Cu|_?Z0xyW);Uv=3l!h1t>3MO0uZV@Ai2P22Wbx@){q z``wnrw84Gm;r!7lpKPLBY_|FR+5b{vseQUaCtHO6Kpk7OO{A?YG_*1A8ny>>Hc6!x ziE}vx$Pi+{8)K-ahN}S;A%hd-XSPJ_0EC~k7KgV@2M5Ly+U;YWTTRn^zTEyix&8TZ z&3UmKQ(JRbY!|anid_;%9TU66n$C#bvWFcI2a|BQoQ&rqe=%8x(`C&8vCHhx(_x!V z)6sAh$5WpRJJPg06s{Dl!-=rVw(dB%ichPvV244)L2wo6HmAT2<<>{Qj`D6e|E(4A zmB=l9t`1R@B4|2`je~*c7;A{$Eqk^oelMwQOHv9OD9YEbmKcvKhydiiw{~B$n{!mw0xx#3x7-pM0p-_43`P5KaDM6zO?d*(X`p6?X!8WW6ux6Nck~QuE_Yn|laTMR4yArlp173e`S;IW zzj^-CiWcECEQE+ea0%(CkIZ+Owx3xAc_1Sa_KB)La3pQ z2I#BXakj+Xxh%sfMb*COsWr2p)j407>VeNXSZ%-91W4|p9y9_}QEK734k%^_wdM!5 z^jDmU5A}@DK#csuF+Ma6X@82ew3sni9WG5@``JgfOwpPl!&Z{|hv$3J1DAfbOS9+Y zx4X;}o88*arSD-VWxM4j%GJZIkZqNOMQ~%iOKtm;#SWkMy0{!!INhcrA3vi0XyI>z zf#WpNL)V$+o#99%ec4c~B3kIkR|q4r_m31AQ13r}q`R(8Oy=GaTi5xgr>>y5_2;ko z5LD{UZo&-rVB*}JUEkB}g5z&yn1@-UD_6`UwYV%slGQ7|qTvp`Vz53kBfpi$KQ>KL z)XixW^Ze`d`1kty)n5LI{QGvE{X_Zm!(VEe;!tnCjUWH89(-rt{cx{+zrTKfr{3hF zclXY_`{kWHa?3e}mTKo2Yr|0QecNt66l+TdpSIN75-(IKX&1zI-wHd0r|m9zXwdLHDJ z``fMXQ*C*0(o1eZZPiL{!s{2sZY*b+`{|9y`zkCIPhW?|$~-YoU+fD?MY-!JEFw@f zJ;(Z3Wjh$4?$;Q)U0tX#Ms-bGYnR{zy$joav#mQ8!8v8$ul zWc-??IJGgXm9VXG+#_xWV_7dso$+ku-O8BOGOaMK&FtD3+gfg|jc=`nZDWkXbC3B}A|2`|0YR6c+*SUSz@25Arjfis{mmR4yU}@TL=Hyx~ zS4zury^goLz4SS8@Ab-krU->%yH4)q8b21Fj0x;{FW*0Ze);qJ=g(CD%GOWwVke09 zOdhc?l3j+=P@c=dbV$MS{Z<5zA3^vQE9^)XbgU$vmDbm(A7_z>^B?`KX%>|X;#~A^ z`p)j##?M6>NvEp3lYy0MVvs{{R=7%1m2!gJviwfnvh>u26LqZRucQ1P8z{6q#yZ$) zINagfZMTWuHd%l2?=#6>)=EX!q{#+rWwW!V&O9YC@tF>ai&EP2d1SSM{@M83f52k? zvwpWA6gDRG;UCdY%4dY^wnwIpmB{GRAPIy8{|-I z;(Go3qQYJ@-Vo2?{OF62QydHOIrY@}hpSBlk3;f`#**6n{1C=%*S*uGE%z+*UZg*l3in zz=c!fRMe*&H&JeapgFAoQJKqob71~S1!HDWao|;)ui)Gx*(h%?1#uN=MlrtL9fFmm z8ynopPbo?_7g^5wor;0pvrr*-a-s6X`zXY=AeU@KoO!z~PJ2{TBcdadmABcg^Ju#k zm1i3EUIc zBnnW2E2K%l&3J$TOjt4jTvg^!5Gb@<8cAo!$*?rnxCxd4xCBFUbsJeI=D0YIL=%v4 zg?sAAT);j9utMRyMJ`K!g69!d)J_85? zax#n=LIp0R;}$vHYxkAxNF{;VK*j+O1AvzRA#igY_wWH{pco^!1aLKw*#l1|Na%px zM_Z%fKny^t3V;y|SqcpRVIWZm!A=1D0=>eLqKwc)xLr?}0Jx!!F*7!j5_|`1UyK|u zhU`FAz%6;86HL%VKxzOU#q!DwO|&Br1FqBu5M=-o!i*xMtw1jl#sx$HzQd5AQlN{F z-URRqK(0VPL0(`zU?42mfJRylJcmF8AVE1V6bVYT0w@R!LCg|#dtkbKa%Dyr`soUQ z6KDer5a2uDGt5JPrz|Hlilw}$A8%_Y1E5$SLkfU1Rz`MUh!6v`HIjf}EC&p!ffDA7 z3`^u1!8};%rYMj^04af-9)8GhPJqthGrSha2zk-%$fANIG8mL-Mo>WJl;zkA2LT3i z20$`ostwNpzW^i?v_7;A@E}kgQxXsqqk)+vbIb#%-vtA+@qIHJ0CE9^j7A&H%xplP z`JtINn2hK%LZ|>-1QZsg5{-1APmE31%^8jh!K|S6p&2GnGer_0)dyE*qz77$o76rd zGXyZ(ktzo>7M+O(1Q-a=Ly$ISMX6cPMGUfI5SqVX1JF>w2SH+`A)71Esh}{vGL1P! z4StMCUJ=qJ}nwdjPXaxIqvFkR(V^ghqhbSutG*V}g84P{J#glWM_Wg`klz8qqkg zbUxBVQDQEPoP{9@{Z5__uyLkleqhE5hL!`(N+wndXVOGr%;0b817^P<82zVa<#fKoCYZ*dWyt z%s2V~R!=b52h3>%(9i&iN8=wUzo-RV4MrLvDJ@L1U{He1SAbS?EdI;2-Y0GVf@#Ko z8IK0DnS=i_n~n$H@L#^f&&lv#*g$vyAecPbh%EOv+vd^=@%yqU{0%|oH;N!*?o<|A za8X7Z_d2|X->`J9;pl5oBJDq>Smr1cKBC!l-E{z)ePT!yf1i1Jyc2OrC>8(Oi7dzd z1_5eF$wjI{p!}E)ZGj8mv-76&B=t5)s;H=rjsg`FW(8tE2J8`ez0d%-s(M;;#?!wEH8zF}@Mvd=*mrSEyK zWzDnQY83^l_VI4B#7(j=%JL`<)Xh_KzsLOL8yw-`lV8BQcz))&7vnM!tGgJ6;*&y8_RYhl zBkZEQBfNR;ivNraR%$$IPIdHpi!rF91lS#DXAsJ|(I8*#*6ohCC&wIdTUQPX%T{#( z(j7#_y_9|T45x?QGyGum5O1oj!M*V_sE-0dgsH76z$h*9OGeckJ@cofTFh94gDK~R zIj}ch|2cCh8RNbygSue#)j>n%Bv%Lxxi(h`P3gl9n@1v?4hQ4GY&r`Uv!P!D6H;b( z?A1a|sm&Ebo9jbeH7q3Rdgag&?|`d^hV{NHh&HcIR}l*)4ObFv@?EYb7SuamQ7klk zm#d0K&{rZS>x`Bdj~b6pf7T}59GwpK4E0wcFYM>}MYUONj04oA+T3Nd*gnWvbS0;U zx|(S*VTMN5h})gUb9_^-4uPfcLde}sgtELM<3(~V{p8)(ZsGCL zb;}mNzS%W1>tO6)>fHxyMau8amT45;h%;{~@=rp<3|Us~m|=TN-x*-5Qd;L@!^+-S z^K<=S-+P|KK`L^wzVE3GoniwmQ(!p7R-F%!un^QNTkk>$o$J58_p{pzY0GI>MlSOXAx~&8Yn2b_gT5^RC!BPN>h>*`#x!ObED8{ZA%E`Cixk|QIn+B zQT$QWiTglNp79-nB)?S+x=fOfLTpt`{Vv@mnNaXVK5o4F*?k<`rb(RaGB3N&aa)0`=EiHl9k!7F?b@f@$buX z&;^eo3T50Y0~Cz?=uE6dkkf5!2WH*RRJ35E`a$iQCc9k0;we&FKh2|HxAxPXzSOZw z(hcT_LMu*E14_$a^OPDvoF>q$>`Os%?*6_CE3N47j(An0-ws}tqa<4IMOEI6ttEQW zovBv$VrxG-t;;xS-lsbHR%{KyF1uC_dMCC{zC-u04!#jvD@fZNt?u_>>sYqf-|BoD zwvN}qyIo!G!q!U9pmU{3>xP^wzv!}s!?~UoZ0lKUop-2%b9RievW|M`Xtl~|{nI_2 zR)@PlYB}Gg%MwNya?xhHj)Ev(-+O2NcAF-5B0DP}bjxO0`?mUauEA>0Z$&DixR3N7 zB2IQUw~y^puMFU)Dzin9tYN5o3c$bNh%?#Y#91BE3iWqMu8f2K+UMIzyuN3ib6nue z>*OlDv6s8ti;<#5geK*R4rqvCLOb)OQ`J&(8NEZ8RAT%1^#mF>rvLBHe73q2Z!9 zV`~MIs)i4x*2 zp*xMZ$%0!(xMP7kjkvlrwo*zXNFJA7RD?S&Um(mLm#Gj1KfvECLG6Mi;KdyhTs@m2 zAv3P?;BFRf2hMQ6U}2)&hk?0wfDrmIE=pdR>jIRi7&lySS&MGr;1(c=B7v;>jr_x7 zTpU3(KW^KpaQZn5zsLPQT=PStjr9dabpwQ5GhDLl&$xIrX19!RZw(iJ=7`tF1ud5H z7*~|=dog19l5q!%k{5^O8Uq>)7YT83V}XxnhUJQ7x5eEr+&H3?(zt?wE1h($jotCU z?T)efje9G&cZ7Q*xFs?l8}_*Kf+thl<-+Y5dciKP;ReW()#-}ev%@XC@rsGU^NFKB z#_ZB0<^ir5;-V5RP|+1zVdTP?S@L?1O`~D3(%74^Y{M8Qb2bL>8E*2TSp-XajSIWD z?}1#;xP^xsVCc~$ZsCmBD8`taK0*#9?qm}7KTpt^->$bQuh78=ennfwI zad(I%{ifTtXrd{m``pZfG0Uz!V~Oo?QIb-Uqo3GyCEU@$l}c!YDeg3)GjYujg(%_m zz;ynA<)+7#F=!!_q#Jgj>2RvkoL!p4%_fY270WV@l-VnGVGp;jabFoV7VM(i9IYQx zlPXm)H&r7=joX1xDP4TUSZxXRQ3U4mw_7ga`wW9rduYKWq5 zAs5&7aJdZge1Th;q!RpIq115ejP5tGuBO|`><-j~-GRh-3nylb(TzYzG-OxSaJvg; zhi;dS%$UI~E?BMsnvSUlC>u=G1x67rjpOn=E`s^|`WmXgFoO@%P_VnmunM>l=(9$f z;geAfp{R%Ftefv52&!PAK{EneL#&iMbQ95}@$G`2~c@|!7WcPB3pGUQgvMM7-m|5q?LK+nvcI;v*;nf$!EDA=Lm(B+*NQ-EY=q|giyG$S+3A1 zJ5W^Mm5Q946c-NWs@(|YWPvf@TjmS}EM6s5X9oouISY-dL4C}+-o@#DAE*1BoQ6&H z>PFiS18EhnL4$Nio(2@sA=(NX()s4Fz4&l4T?VW9N{l9>|DV0T-EJF4)WW2 zGi|9`mM!@sj;GzT6kAEO+p)YQCF$Od-sE%3%xmg> zP$VU@Yr5O`J#IPDYdVzE-!Jn zW3{WxIDd}G2+OEPeH&S_!DNDY>|a_t6JHj!DRqYL%5B|Sv&>Cm(Mchb{TzK6me5G|e^dhH8n`&(D}T#EX+bDw-JqDkTt z6$8-jA06quHX8l?Gxn+-*>+*4jC;>Kvh8eagLt&4ORv6smtM{5l5q+8X0}T=MP1VJ zIQ89sPdRgCY9N{S+F@37z@As=S?1??g&6YZp9+Ma%KrQ_zo1y(Nq@aMTcTQ8>p0nu z=Ei3{GNdwld1^Hv@h=#Wky59NeMV8Lz*Pi+hw%_WYbnPNMIY85Y!vu|sOyv6K=Id7 z-k+}TvpId#mX&=yqha@P@lfeP&ra8}nnOqA=lOA(@Jj9*(OunZBS&Q=XASLp#$(~s zEO%o{l$>*2YL>LV{JjMAoZH_ED-fQ_a@0l1l}M{RHcQZ+$z!vSxG>Vo(H13FX7-1~ z^JR92==<5dAv|7rXK2-Zp;dQfnZh$hK8M_=+WH)l3rv2_7Y}RsXS3$! zRQU-Gzznqoen3I(pTQlNZP^N5K~XbTa}IKvFvmwIsB>9YVYae-kD;KNB^`&^T2}EN zW;NZCZbVL_4W*mx_arKD!EO(IHP>z|yVIi-X-b)Ac5>9y)apyBn4D!-BbDSyd}*e5 z0;PO)zG8Z(FS{yJj9H|$b5~^g1EORdIq!H3nzvk5$PO`oWUmsp3T>-tP;chxmm zrctXa*@f$`bPcPh)H!RfG|?3l=*sJ^M5(NxE)!2WQ9sLh>PhhecYQ$+d%*^MQ5Kt2 zsl_>Qs8dC>#LIakW{t=!rI|8|2o|(Ry;>=#-3YOm4P?*ilcGTOY`JV8`_|SM3S>uo z8^VzhF^PNwJe8bhHjten?j(de0>h2O9x}KZQJqHEDCi*0TL#b~{1x%xmJvja_)|m+ zB063|8fGC2#xo#s8egMrLA%Odcr$oT9 zksc#pWI>-;vrU=(HS%JuGgj+gBJ`S`RA;^{j+1Fv31OM+eTsr z+sK1}pmqe0V|vQG5MU$vv?V2z26;=5flT@WMj_1A7;2dd%P6yDgiIq91xP13I4I5> zA+H!%umv&MNK*ni8R@x#SZ&L=At3Y2K%hrjaJTmnDZi^r~|5F&vQWs4j&2)C9q zW26Nd-y-1{l9fD01+ueEU6dR5a`uf21bar7pT|ZT4T!I8h`_GOqoc(Xx)7HDaNh#s zfwU^N5qOWRGBO2-kpODP$gcyzb!3#brKMX=8QfDq+M0c%VuY$=gb)mFM9?GT9Xfbl z1z;Po{u>SDU*PAH<9`i7_zW??b}$|XeyZqP*+lto z!NdRCgNFgTF>-k*;Yvm>7kr(#+@>%QBPfJD4MG`yOD8tA%_p&ukX|f#kSD_oCaF;q zt_>JIBQiwHnDI1wazp${cY2z`=>Lr3glCnjiAqKGr3J@_UE*BNC|y+y&pW{sa7GLjHmE^s7M_vZ^A(d}A2h$P#{dxer14OkpdlBsdU zuo7L>+~AT-C98#)=sNBZXrk5QYT+hEi=Xj$c}TQHP-sOpJWT9~Y4=`Pp6f`!O&^L= zBK8XFb{*WBQM6G`jHCuA6?AVvjynYDE3v?CbRA=EUt7K#joIzBYhSbI+MPr&V{pA# z95~jUg8z+T%Xh4h!kO1^BHLciC8qF$hf~)RhB#d)z78BVja|?EgMf8Y7;Tflb8SK< zLxb#VZoiXRy9yFdC0J1=x|%Y{vft}gcr~RO)&*^#mU4LkhwxXe&>D-W4isZI)S=8q z~quIsV|cHJcQ zFm~OfxRhNtKX_QXUK9js*7(VGT@zc%u4n81Yt+KM+VyOWtJ!s< zs(E%jTgggx-Kb-AyKX4RmF&9N;?ELHnyEl3)#aQARXRVeLZs1;t(w!p-SBJQwC zf*W2H3rkBIAC?p|-R>PxQz#N?bQ6 zod7IR3`>Tn=X^PTC1t`)F0+)o>8; zxD)?PJ<3X(&JYqL`^C&+z1J+_G3{jfv<`|?datQR_|?-$FjjSXJz`#93nl7a;dYz^ zH_onP^3jk#^HS!kQTKUlSiHz6g!|1W_b|(hr2&BRzj#e{Dm}IC*@M_3lJPG3KbQvJ;Cz-8~B^>9abyO|2yl%!! ztUBH)7578x>!l*r(V|q;I=(K5T$kljhM=c-V76vaTbikC;P^h(nlMduHdT1~oBx;# zQpso*o2aBn#xNP5ewsNl2+cJ@M!APIJv$!@nR0J~lhBxJW->KBxN*^~SlXmyo3x4{ zF{ ~t_~84XQ1&s1bcE@dDz#pTU{R((qu1EX0wpdL>v)vQWdBDh|v;dv)b=_)g- zaJ5P^AKw$5KJV)=eO!8)> zTLGECtJ#|YS!GysGay?odo!T<=*vRfBe)ka-Sn?L3vrJ)PDHLEdf3Fo-!Y!Z7<>B4 zGQ!>waE_R2ge}X6Xw*MKkTl{xjaW~F!y*oyk%p160f-5Qren)3zOgZ>I)O_E4q>F1*Fu7!)Kbo?or3+%(G_Jig0qu>e9gYF&jrz0rjD6z+*=0+MqrAOA>dLbsqY+!BDypa+kPlpHddf^Ep&NLRVD zYveH)8F>t#O@W3l^L7}Qw1D|9Z*x4-vLuC~p$A-EBEo$UIgHTb#`OWnIHVhz3Nw7y z5MO+SYYP}TjEV(ihdU*>?jW@}ZZhC10n{>d?Vgqvu*)%S#mF9jMX1a%u0cVaVJ1UZ zp|nA6+qg%9WDdLP_QD)ocd3hHG7wA|Kk@|O8yNhz`y5N%=jfC0B=HR# zlgL{!KjgPGO_ELUJjz9w?K4EOxT0p?(zvz=qmc*Fq7ZGy*aTlA`9nDhfonD!bgQCv zB^?SX=Jq=s2uo2(R!nCKZVW4y0VEC z#%i!mC+zK3C3%DCgYPZobD{a z8PMLGZ)Zo5r;{ejK3l`!hBGY#1gwmkO2Ms9C-_EU>>C~ePPRyTh*jnRno8PRFRgV2 zy|&o~Ak3L3W;wvj3Bnw;=dIZZa45*q&G0AZyZ@B4mbogZ@c3o!SLqX(1r>bKA$1l}%QSq2 zlcEKUDmpw`q7_S>C(W-u=ZI;EikCTcnqTkI2T}8#nPtwV7WBu=i;#Y|Tu^hNr&N4& zwYWt&)_6&<*Vzw0ttB(Y4^V=p?VH!0na}Tewl=?^nPa56g;zRRDq7Ob9x-K=bkPx0 zwp`|jskyuVg^rkT%76^4*ha+8Zilmo4*n1Dl381i<+eieg88XzUGQ!x8(#wr-rcZM}^XAOJ-H(+S(tBLi>> zz$bVPl$@b)_9N2;bKMVYJ4&!2Zlr0(X01&Bi<38ORU6x$5(8?es~H-gDMJI%WvGtL zh($)4R=Hcbt9gpSlm|_K0aF{E$+j*IYtV=t$mEz{QS=zi}bed_}V|1gLK(2A}c7fHwLE?{(ZC zi7su6K#?vQQe&^Ya!yltPpYM*q^+RM;rdVt# zPP?y9#jp&1%g&lSB6+epX!V}82XBv_w>qb9PrHM+PrENq=ZtS7Pgq~Hdj01#wr|_L zUbnZfC3(^+G{E53L_QaHCr@14zn*n^?PK)ksC(RAL?lmMlaJrNYWMn`?x{IMc|`IA zRtP;b$lLa>gZ63P>{cF;Jc%Vu^1O9=+CG_8M|m18Phtg;Ub}zRJ?*z=^kW{8BHh}1 z-ER+OhNgf>p2T)ePTJ2}CvRW(I)iqWRvwW&iB(!{X(IE~>#}mv%$3;g0Jg6+XwO)j zTq5(D(j7c+_k>31&li;D?ym5+g!?l?i*i;9muPZMR{H`cRUb-gTL+A>GSyVBmDU>c zr)hM>(xP?l zM!b4VuhQm&I3PGuE;b2NMzEPJ@Z(JR50adstjF8_bWE4mbB%QktLw`9sy;xRDOqKL$o;}Rn!Ed3JHz2f^aiP&tpZ^oVlby?xcxh9gza zLZgwbg~W;`RZ&F;!c-XIX4bcYsLik=SIpAHA6~>7O2p2>z~)iJoq^uVWVfL;A^6d@ zf5W|CA~)nDaA?FV6CTJ6O|^XH`i={1aX~&9vD<4NU-OUz*Zl0(iZli*3qt1l`p@B= z45f?(Gbfyf5(c_p%Or7cr7A5bt$Ynf#rel(Jj?%9nMx_+F(k57G?g^^Fc z{5lb#@?@qk-ZQUoI?OYl+$TkM=98Qk)S3Uq=P>dM`hDLJ&OB=KA~%a`f9QbC+?FjH zr#YvYD}-m}H=!shv$)Qsf-!R|%Zb4(u4b9g%iLO)j=0QK`^yAc<~KTRkCi?)@HrBt zKQE3jhs3z4GI1{srqbH9lDv4W`$LWh&85+1y3^Ezv# zzEF9T$w~4>c{UD0&Wz@_FpR8i+1Inr+0gYJX>}F;AstHwG52GayoT}Ai`|LGnFMmI z&otbPm=yT9+7NZCqx*F@Sx*h^n@NW7^tb{fR+9wlzQ zXpGqzHg>PB6W0GuRgz#-Md}Q1s&z&qDvyvcbZ%tU?%gFgo9g^qjEvuga(}MVu za#>sQMe67L;)mH;nB%u5*MKDXY!(6ebmf~p_*wOSPySbnZu!i7W$M~xJiS5(@8SHq zrQNyD=*49c2t0`MwxrMY*AIJ%wW^Dib!Vhz!kvs+ zbu<@@AD`x9@h|0HFgK2*(v$$uq`zT^;T;HC(mpz_9VaNwR4^E^l*43ACZ5Y39`nGTCEj}u(!FVroiy2>JlgQy=-sM$gvDCd)xl0x?hmTxe z-x;QEN}o!0wOop=`Di!}VDHTg@{Xf2WNMz%Q9MfLRS+;^Cfk7Z0z zYra8hJ+N77t!A8BpT$Hq3r$q(;S5!46?4`4GDfR)Z`0NKbOY8}-i)~oNrm6?B{Dziqh+}0-tL!L&h z;W&!Y*13^8bUin|V?sXQ&j`~!wp`zQJ4O<`khAh=>Um{WQD7RP?r@2Y(8^vemalop zt2IUmXv?fZ$um?R&1Ac)5Un!lGL-!wzIOeqvcf9C7^n>z61g}4ZVA<52Y%#6G52k; zpe7mxdkS^sJUzFfYnfA++L;9C3F)XUO@f4XI++BrO+(I}C;J)FFZ=UPA~!1DN2!Xb z5pp(Cb1ZLE4fvWYGgrc|QO$p=oT4;Jpa*iqgcDjQNff{n-rNP`wV!m zQ?yZG<~xMPoVQPL-))NfZ&loXyJC*Fn6J4OXD&$9T-Y1tyrWp&fndH>FT0WC>h4V6+-fdHKMQ=<3_ayby8b8# z$8fx?VK7B_iV2e@%oSaaoN(J6xpuPOlAk@x$=}i`fTk<(DH3-Gm>qIkMS5pA?1<`& z^|)<$9?l|0`JPMiT|rIj5##S;?nl&U>D)@*SXpCHS}SVr5*|n5AcXSUw8JsUr<~om zDI~H0Yc0E#R%1ge!cmPm;ssD^1&vE((u|CasrhhfO?{5SixJcQBeBv7X2a5X)SSF+ ztU{s>noZ4FW=pH^qlfiKvWabqYJI4*YR=+KuDNaa+{x9P6*s)*H}(@!tT~G|zvk9_ zuS9E3@kZF(%I=eH%~^F*tjPM^C+V7FZeHap+$A@&inR3-zDZ77?hhFDDOh1`e>$!x z5U^}$ez}%^2`}d{g^SN*uSroiBeKi2*{JqfP5^pQKAhZOr3|E5UYWuKJ9Fr)_<3s) zk=A@t1^#PM_MlX$r4tf4`K>G{wi5o^45Y^_@LSd%6#>6x%VmJy_P4(*@EcOr0Fej? zN=*e`L=_-m2(XZl2?iiy$n^pcFMx72HF6ao#`cYjB*?F_zpoLhnm{$%HF5$0^bBcP z05P_!Qs5-eQ2@dM%o0-n*m#281N3VsQK1NQ3}|G)m)kKAoGjf&pveJR2>@Bhnt~iR z&Xxw20xBMQBa^lO20;10;5E?X9vi;{u?!GyNaF%9vVA~f0cZ@YFhRdCHY)cGVS)ie z?U4qG0@NOQhMXz@wnJtNKy!f!fVbL4z7i?}%sj3#3{eH!dT;>5g#pK?G=N*?XxRWl z9+-wSM-T^OSwcn|jG_e=A(an?2%u+XD|QV?GGzWhst^fd2cm%ZdZfhxfLD7+7y`&Q zAjkn_4jt< zvq5Hmfou>VOfJhvEW?cyO#n=ka;1_Q(L6BV(J<*BVY)Xo_eVxQh6Who$QVCNE}3J7 zOJNZem~4@db5I+QrCmcb4O~ck1qK2w4+wym|EORegABFh0MXA#!G+n2EMWi+guHKn!s0}vnbK>=M4(-4T4+nC7`NOE5fk!654N~}AGDPZi-h{yUXU=;!n zPbU2WbREWE+h|wAoNl99g7+t(`3wY0{0nqHnOp3!mM)o`O@i+kfQ`Eb=pp!vgkExH z*m`*JyG*e5$Y3v;xK+~-juNnOUw3)OU=&0aG6vg#0f)AM`a?D)K%zoexI$hebU$13 z7b+SY#4MFL{y@~Q)i5bYdDJk}I}kl(LO(gtMq1P`hasS_U(oU+ST4f?W0v6gsG%8) zp$6vS*0!PSpgp8MfkuQrfxR_S)XCgZ9rJ=63 z4d6$N6GjD$LQbwNnLrB4V7HdZvj#rO)L2`F)MF}9m2kzR%d@3>3_wZ?>Ka}G#1Uw^ zyM})U1qY=Kxq{wD+a(C4kxmh8L^aYT+XkHMBV^ZtdT467-p8Op1ow2GB*H7k3I7^u zhHl0uF936EX^E0X-_bGywIP$kfte_8Wcq6wQa6ICfI^ngz3`3<^CGvkbu8|DFs$_#{DcYnvoLAU=nE7q8pTc|+dEyGOnY#TAWkB$7D zcq`}XwiXRcPvDIr*V`7PsA*(@v`y4yWtEcIfa&HKFw6j5#ms;=)i9j+Etv|=aB`tZ zwhWC36^#$LF+%XMQ64p`$P-Bt|uSI-tfv z*~q+?X!S@JmD=1$NV#hy5d`coo&XUR?Hw9eu#mkbR0VuWXhE#kwvCLb4Z{t9_J=mz zF;pI=;f@K2jp^Aiz`3PcxTRSE*$0{}j3SgU79AK~ct@C|kerb*Jtdqhw2%Z#h9-f@ z=DNy;fyxU%3dqQiE-Vx!iZ~`Cyjz)Ab6c|lA3ru`@}2?I4Mt(ipnYvaK%uF&jU0x% z5K}zDa?UcqxgpWJ2BxlUWb2fPDh=6#HHL`e-)#)?o?&q0YQV5lSnWWFfyRuqt$RiW zTbXYZvV?wv8hS7^Qkg<>9Am~p4L||dh6{{!4g^|S;~mWj^lTUIJ6tR2V;hd5Or2=} zZ{s<*zh$^BGL@*YCxFbIa-}boFy<$GW-KTm%LXnseg_*NCt&QBk%5>STMQE79cuz8 z*pZR=cGs}C(l)@-HniZHTM1hRQZ=UPcEbQj#})vHLf*0L-Z9Xd;b83>(gLa9HD)_h zUdnZpOKP-nSMwT^PF4>=+}7-pS!>~P!D%y)!y!u!Z1TulaMNqdWDKBG6_7E*`Q^p} z9gYDMCDuGp@(#uTVASx4pjD(ZX{2Y}F~P0?qd;80jlGSLk@d4-G!ENawqw|2@a~a; z#*Wr;W3K{IB+Wg1(=Gj#Og{^Qibe5bBSo&%A&)g%KmyA-x%zaBei#V;IiTIBMvj4D zxwwJj{|&VJ>-fpX|NcF=4mPg>Cy2R!vsu4#WB1ArLVmwG=Hq`;3eXJx_f}))TmH{4 z@>4(VzwO6C$iL0P|C2vU&Hp&GZrrGTH}>vT$HMu)*T~NQ=HBkN`Tr$;Jj=hDT37sl zT?M7mRd7&ZY=brG?@Og1!XKXNPv6sTLG=Ecn)u)Kv&{TI=^V9BkJ|UHW5N7yZtd=- z=YQi-W9M7`k1z6b6in_yg0!gERo2{UY_tCgu6_2z3gf^pm0olP?8LRXAMsM@jE7@4 ziX>>tH4pjlj$MV8A9JS$RFPoB>}xB$;x)Rn;oq?d52L_m!7#R5-}SFbmXSrmjaU?n z;#(`^xQ!J>f$b7Rh7;IynaPp?ryh@R^{CvJUzDpdWKM{(%N z+t9c$B-)@}d+ykkHHgoN6Li~T8u1#nvj#Xh@js_-O{PQ7jjn4Y#}%Z9)0o#-Bpwo% z2p4ZN2wB8EPf&1m5U*+-u=C=eG!YDqC5x!u+v{MQ?ui?*(KPhk=o&YLoPb3E)%ZKN zV?jj}9|fKl+#=P7@3?ep=Acv>BuRtqWT5>Zc5Sem24JE`RlbU@ExIvPN@1KB-3dkY zGUuYlCP9c>I+3p&Y*qF23;m9l%zWCKI=X$y=eE2p0`d1ttXw6&fvEid)gVC3Yt&5J=S7pt=^z> z^zx+DV`ndWXWf3AwN8&qr`^-e>C;~4^cf-k)>-G2opxFKRr_?n`p;V@CsbAI<=}a@ zN9{Z6p8eMAJbON1&$}nb?OvZfX_rnqttTgKRCW3rJ347~Uewre>qYBXo4z7kS0;+d z*1dk-rbnGq);eVXq{{MYH%h>;3yLJ4cT^~F5 ztYg0YZ!~sxA7$e0>BzlNdZ+t-I9K8v z4v`pI&J{15C)GJ$;?LqwOQjZj7O)DkpjFAFDs$SK4(}MsG1&=L0kDe~SWd*miyJG9 z0N`t}x_BTQrfRA5G?e~Ca)JEB9fnqTcTg(*%=&Q z5kenY6my@)GG;Tr<=ze77+H24gv^>u2waV>VN1m1NaYcutJju)#o3U@x19UTNs<(s zwMGB$|NsAqruH?nBH_PLwmEif`HpY_M?uIOE4GGK1W&{cxr1Bqc*)-*mRz9@61D4K z>N#x4#oN%bDVLh!j4hLh1*sn2SfOhTJs#CdKbL-HPo}X^$8%+@&)|?^~;S|%%hmu!3__sE4ZXb9ilc2;%n?Y zxY0GexOIIexQ$YRQe(qu%sOmrz2nRe*wxgc)d-J_J9?t(8|0Z|w?X($w3}cXiC(=_ z`rF?aWf1p}39nRY8T~DlE-x>mYwmfatAJhcm=#T8QLt1BLgtPHGuW*KD9mX@x%jed zSeovpJ$5pc{Oxb-Wkf0QT8;zG8!!)<=^O_raVg~CQV9gsJ3&BdhTco*Ixu?N-+ue# z<Zca0&Rs@=5*H5|;lyjbavyiDEf7mLCf)D|oJH9N?<3%~dMjjpRKitjv3>^o~rl^w95 z6_%c~dg7NqK!x-o(P38P65QL!7;<8w8Vxp{`d4B?B-~3$x6q=L280bQ`yF%rDCU-< zhW^G1+4xR)x<*C}{8ysqwHXc3o|KtJmBx|pA^y*|5i1NxkYm#QIf zn7lwZ43x=LHY^0(i>R2#Jw6U%PPcKYMa??1!iZP!Sv9A2c8P9XDpp1Tb9m&2NtMFy z5CW2|^9aw2tJW7kC5fuCNPlBTFl_8a;0VhUMbohytMwaBOt3tUJJRVwSu2wJQ{oR< z@+yeg<=>xm&su}$n?u*XOsvS|-^H^_>P0CLij5K56cW8TvEu8^IM^f=EuOqp)j)v; zW5P&^QnM6dhD-Z*>~dptDXcZ=z7cJM2~m>!gHk1lfmG%|>#@tT*T<3*uS1vMiiNNV zwnnAWGu2ult(F%B>^5{`F6A}klaLdb6S>W4{|s3-f-vNE?A>huhk#Iog@%Z1YobyE z%hBcYN3JXkH(kyvS4-JqqUpRs6w38YQ>#f4qt?i2bC3F@*vyt!S9WPRq`Vv{1 zwducve<`%nIEZ3)%RM_7^Y0|`WEk;~xpBljf<>ByJdW>J6i+9vzCEiPMw`iqiY4El&W_kUSOd(TkmetaG&3@ zv#IB?9ss{-q@mhT5Kof^c}6_$Y(`7Zd>SeO_2C>#Pk&f)P(*>xyky?50s~)*DhNJEhWzSehJs;XRYrSh5^E?B>bJdnUw$*Vnm4+2v& zjxU5?BB(fl&xwR_fTi2;dvNU!=~>+lHmhuCiK!lp)Q(0JN1G$}y%6>U>;x?_ zze}5&rOi#HQlm}bw2ryjT^a>b-%-vLsIUp`1jTHT%9fOc1{$3F^SGDfLK99MZ3vk= zVD!cdf_G7N;{jyW)@X6mK7C~_kf!Rj%mbnKGp+*c8>;n(ZFycoD!ap=X#jn&S{ z+nyETgq2#Wz$&d9%k``wH9aKbXzm#pZ7o-mO_PK*dgElRJe-c)pj=uj6PQXQejANr z@gE)s5&qre@3}304fz#+KM}u0K}ZGR?O{^|c@&*sI`sH|PlK5Eh39N}N7te|hphbO z%^Uws_@?~b-!IFAtaU;VuE}0PYT;XnkUE5RAL461)?1apsUioCP$24(jYr@i9gF)3 zuDI<55f{Hqf+%u{ZE$eJ^iJ(@U4_<|Ra^%va^dM%uCK;Ot_cV&OST*Co#o%r(ji$J zsHH$0q<4m->9D6^NV!BT%9qf%rcped??G}VMNO~0N5GE5Pl@q3F z2yRx`Xj3Bax!RwIZ-a8uxp+O2yEk%Y!dIDTL@Qo*PEP1Jz5A-&>vfLXz{b5vHkMJ+ z^29LSG5+2a9`6P~R2_*nYs@%oi91|MI)y~|7#qpF2wQa2aN10<#yn#6dL05+WfieV z&>%p%%ppsD?}o>qrb$#wr8OZwZ)-_0vD66Z>_HRxP+D6P6&w=BY00f#*2LN`;?>gH zT6S}AEx~Qs+*B}9+zP!rp~oy1O{_nHXtBlcI`+=@(E!;4k@OKsv`R=UXgLdHi{*)Sz11AYLBg0LigRu9U1wNI_?AKX`8Qr z>;BCPYcjiIi2aNEjK`WJc}Px5Wrp$!Bj);!d*eD&%WD(O8Z(|?dqv1*YB&XXF_P($ z=9oebQtww8>e3oD{~f=pf!n(E+4jo%==bw?{O*Ds;u9q^8KI$lPwG;n<|4@p?RqBr ztu@&|$`?jr5sXB0u%iwEkW)@>r0Q>181W^B@x}^iGd*JGYNL5AvMt}oZZCOe^;3S^ z$FoXU#n8(#b@3dKUuz(9$gIhP`%Z=atR)2p{C!-hR>3kkO%Ic|?J%rV|Cyb;lC$)Q zlDDbnow&X+VyN~5MCLm;>d-YHM--~4(r6%c));iv-?cUUuqGQudvqxpH3oK)bml3V zq`4#+bA=`)Gs!Mwk=Urc%oU_Y?`%eK$W~Sra{55_q-!mt01_ykAPY7vo4B1Dz<2cCRT&mK0G{X7KZw@b;%FGm$-ZG&$v2^xg5qyJOe1XqryM z`lBB^uD{8{aFez?gY;Iu?~tbuvEJ0LWLyY3#vzkE5(0LGlRJuk2m_A*RONoAq((V^ zLXLAOM<#t%%e!gB*(DZNm%_2U#6iuaTBor~xt_U9jx+`Fh`mxUKf(9+J10I?5)cKk%~Qb5@J+Tl>|fCVZz(g8^L4sinOco4igFQ zxKPkis#FmS0i=kw^jXA1*YeyykZHzUfeb_>~+B6o`0Ys%AK4 zZukeJ_l%u>n(}hK2RZ5q&uLbR8Vn*qRL6F-VcC`=^fozr5MScJL&Cl$XIjQrl8Lg> zESScVXJ_XBCe^d#7-F^~IdfTUG=S7SHYGH`9d^KH{; z9M}7k(Dma{OCK$3m&f{|a1RRZ@QA zm#eiDPUbxC%b3aPH;KzBx~rWuc6i9POzBajKa}Z2%(OGQ!lVf^K6Ii{0=0+&&}}kF zxb)w6q1TpU6b%_AD=rsUZT|*Cnn-}C?1N~qbt_*6QN0bJtW*>8kJo7jKz<^sdxy{! zH4OcU=f)NNO^uZg%hmI(i_)6W5@n&q8bbRTdCs9BP{P;9lKAsa%{=l5gzm$3n5I_E zI*uvHnBnT`wmVTml8N1kAvbddiR8uMBMyYj`jJ?lSE{9qH-LZ+)n4r;k(x+aR6N7Q z5UFCO8c6nKxkw?x)qQ?N}a9Fj`;4;}`h%Pvu;HR9?6ck~CE*E`R=+ z+v@wY?4w#Wl8_&!)qM6tj5eteH;m%;zo(X$5{-`U@b^kI4n<)qcocYnUs&!yl#7H= z!Su|?+Nq{kV@*i0LHD~uw$WhUf6pq$!=ISh#6SN`{dp+9fV6LJ#xm)H#qO-Jw?Sc3 z{JQ3tY7a`8ulra!BS<~0i@_>o1yFMMK!R?LN7#`;1VOC@kH3X%Qvm{O8tlG`kOy4#ke9VJUL`1^@i7Ww>^98TJKpaJL!Mig@7 zO`TYgG{X3%-s2O`vU$t%z>=p^-&QgqWUoRDVl!eT^s8-ZCS$(PCpC8Y2Gy=bw`7uS z^_dlMR`$yWQ2x^85WchVI-GeO;=i(ir7YeN{e5(Nu6QyZ3u`~cWMi>?HPd>WDWpaX-LeLeNx zMfD`687)XfG$U>~y7O&{NETfP0`G_}y;DSi<@!WKD=L<^qOmZ>GH^7Sda9X5Z_(=liB9ht6e{v#)9l0`m|Jdxk@DGW+rFo5*<=;6UbJ(Rikh8 zNzB52(pkJ+f5zjA+`hTV3$MMY%Q~u=7`KA@!K^1zpBs8Sn8fawGCR*`^kj8J2suh$ zON}T=CEAdVEyPGjs0J0*gW>#W z8uI?cvN`oTV&ZSqHrt5A4p=esxD~}L!eSMvwP|ADOyv&pf>o*z7$P7=q%vebp!Zd? z0hNfUgw0}{#XP7#nU1O(9{1(1?B_!kWrd&gl`ex*9QLz3fKNz)A9Ql3X(xvgN7TVv zLPtt;xL6ev6D8v(B(HVxiJHWUtg#13#09&JFn~2YVM$bwAz%CIp&R z35%ahM>PV!s?PK#GP*S1x?^Z~vaQ^w=ha#Hyl*#i`iYaA=#RvnfZRrE zmXJFBgZ*r@i6k}pgB|K;idZq<&JUtLE)apaMqNI{)>x%0b$u;T^LaT>GFP)nLT<4G-@M)p0sWy7EcPKFY%t;k_is zD^hXMQJMJUNBIeTpbe{dC)<8J9Zv>9D)3XriAJdoP{b?+(1vntLB1iOEEGu$Xjg8T z8z2xhtg?!_4(}?M3>~;7yk&Z^uyg7bfZ<=g40Qwubw9HB>fGp~JYZKwk&;_GO7~HrHX8<9HxuA)bSP`?rt0|yd zV&E}V=5_C+su5(DJ(dO;!DVTdN|C{D4C=2 zu>=o1;ElGyr6uA0eXRHzvxe9&NWCkA^g zaXN45UZyZe@3ADG+*Ky${=o%NIS=b->w#F!t&wJU&u9s4hqT$mu7g_;yQN!h!6;TMWs zkVIbN>Zt^k!7++KDJ3DPaLc3)(Q6}i#aC^e$d(f1P_o3^++?RgvNz)KQ7qQBegNzO zF{c00GblU#20aCo&RCx0$p+OIN=atQkizf@MG3WG z8E*peDcLIHegooY68N$ND;*CEz#TWHS<1f z)$&(CA3tTr&GzIT^823AO61UMzs7I))o9*Rk*1mvwBO#R3japnUAn)_F-ufB<`E8zr0 zJg&1o=L~rAbjzMxFQG^1YM{eo%k`qVnBYI++wW$oFy18wvCGlTn+vH)0RDs8`4oUsW3WwGe->?Hu@Qph_mQA3eB@N&mNd2iF# zSouK?M!hfi`5bqyD;Spgncz7OE8o-7vszkE*{j2BSU;T4W{h!RnWemZh{BOH^nfwpUot?c$-}L{N_(|!1 zx`Pskt5}+PcdSw0ea|8$;$ZavkcIOeSxX&rPE-OqX+<*1Er{w;~Gf1N$dIzM(ttjvlu#v8@ zAwqk5Oub6hy&n5PQ>rrhuaYxi&FkxBx(_CcF$%YDl3ZUP~>fiy|}vaGRCV8ohYwJAA~9LWj%^VvAv` zP|`usWA3?QHv6-=$>^0E^YB0=bz1+hUSsPY#XslkVs*HFv91Wo%g1?yT1sttf|}*k z7_VQ|S=k!eZ>Ejrw%{+(IHfEZxisXfG=)Zem+#7Np9F!I(+}~jc*QMWeSARI*eMNy z8XD}GdiZp8v&?^UJ|JYr(^ou%{10V$B(shjBS6lw;?ffsxOluk};1|_DH^-`oKSP3dSmmLvD?gkjSADOrTgH`6)f6j3lUy2JpK> zre|Y4!6JZu#F%Yvve(y~c4<^|xqL4}rT}vZP??%a8kf0zp+= zYXRMf$}*ck29jI0HHnz%bFAG0+n$ChuFw#!ml1yo1q4x7U{@(Sk>e7BpqbV)eEEe7QvGpDw)k|yRbW7=Y z%kbVvG9*N#@-T~PlJH0#?g1hGRVH8K4zorvA+z`nyiZ|HWLGgWp7Pkf9$+@xmLC~% zq#}#yWJ&TlIbxy4R*laQO&Zn>aWbVzyn^f>vami0A{?|HDTDxQ*0F0V!fPc}>Nr-O zUHj{CP5eFk+YB-Uozf}G z20Z<=T4TdI7QJ&P6Jr0h8}n$QmkgHVIwwLh|AP|jdfpvbwECQyd~kta4)e-89Wt#S z2zyprKagN1VO`Ct!^7liJdybENBKLkKKUytj-$a8f(r4dPvTmsCYULxmx+4c#Pn}S z|N3ZzQJJnQ`K+AN((jU>yn-5YMX8@)FNXDz5Iq@^RMj!1y4nx0`m5Fr;-=!$C^C6% zBB#TAX_%nH)PP=OS(RxpxhWS(gTKo($0bb$l*5*Kv%-tiOjHuJHW_f)&yBgZU`_8xiFeP z9Z~+6y3D|J!1IYU7~D^G;bgI)}ERwt){wp1=9v z+KP^YSU)IfQ!e~acS%1q@j`9(^P#Z$6xhgqIus_Iw79HU>wj5XD6cvd{|;@T(z02J z@uI>Nl;(!oYp++;r)~9N+pu|AI=UG-gnu*$Z-6k0=XW4&qoka=%1txvM6o}X_OYe0 zOg1(QM~mF&1MP5qoHc}MwxndTv<%q`C3gvY(h2uj9J{$O^SW3i-dMu2`f-?jHaH9;k?TwKnDNEjy-Yn?OOn(IKlmULmC-<277ADU1Xe zqMS+#DJoY%8mZo-&nqi#^vd#FrzVz`ZCRf%<242UsjfRY+>0$S1GXfVt4n|Ulez3C zeQ)5O%>D64b3V|W0QbUJoxOP@y(@UhL>Irhqckxgck25?X!#EknJoF{V|E!OeGehk zHC92Ze`Z_N8mqW$gVBRo_%9OWn)**)gGjC)PIs8Y?ZDv?do%s@*I$3tc-0UsqB`G#{(bXi9e+0x z3us(V+-Q(Pcw>d4ZX#z4T2l{NL`)Wc?dhST&#*tJpy$rri~P0rii;W=q8ldG;Tz)P zgpMWN55+&W_{S0daPiM5^NqF6eq@cUp)T|Fp$FPct93k`Gh*N;3>@ zyx`YQKf%_E-~T)$_Em0D*F?Iyhu|AVUXh^-k2E zhGB4J#k>-R(tQZSM!M#6@hz?x5U?jFaRr5A(%L;Sg~PDM!mv^OCzbf_kjXPUg>Et*V?u@%L&+k^-j>*DB*lJQ)2ZtHoxl~%q zaX}LAgOW95y%$`c{!V@;x2~nziSII-*;5}L7#%~W`;pzz7K9B~=tIFc;07cryO^zC zSegumavqiJjU{|sEv-%9XwCDp=K5IW^^7wv8?>rS3Br>DSIL#~*|Pg(%BA~6>cMEF zGa=Mx4c@t{=lE=%AU)nZ4C^w!r&`L%A>;~{1fvn%-eF>?l5q;qO|_}EtQ=wLi0P6& zFw#dv(zBPpN9vH!yEF2B%F{}DCYqgK3H^$)^{IWw)ETAl5L26i1!S$wp{eqBsjnKo#AvxBxWq|V&PMx|%B1*iX5Uh*l&E(V4f%(?Ph^?q zz8%oW>C-{g;@L)a-&JPzG1L31hw3sCLNvzKdwOvc_%VMUpAf8mW4km%IT0g@Vlgg= z(-6+oka*%c*HmdOb9%Rd3I5YzUMp~`I}Q^RSG^KW8L*rpQaM9)&ywEQzNoSvS-D=X zmlaNLdh7XneOOC%AUN)T0(ffT0b=A1u#ZJg5Y|s|do?xrKIU>!?HfRh^z59qWH}#q z{2O63AnM5x=bX{VPw7FWX3x~MDH0lt_7vzzBKq`K|D8MOaeEp@?hT$vMV_=L(d6ax z@j$Av^Nz?S2j2EOJ@rD%{-5tK=n{t=aHNe8PLAs|j=#ULe* z=C%)g{V|)QAUju*sgf}~)j9JeGZ(U7rY;@NFMEElXx_{o*kl;GDnDoDRC-F~PN!!) zJ_{m^rjTg7Nf0R*1PUmV5*#Hb`xNrTLw7`bV>$p(=f_G;jb^nh(M*nwa?IFa%8Y&g zJqzoknK8jq)=Hrid?$;L&6^SQ@6^%1F&WwBW>zI2r}s5&@+Jm*cAmS!st99EP#mO$ zQi?@N1zfui_Qz^kbW#dI?R9q|a60E$F63m${6L#pxnidr1=_h-lKrx(nRB~O8wDji z^9SPaklC`wbU2rmp{%zQ;aHB2Qj`R`@obOu$=oOQAzzSEt`#-=L+-ejMQdf^5_6E% z2-Bx|=dS5KTMG^&L8$W311Aen@f>1wnlE8p-nkPB?8$~n&bCz)eUOovJH=JP38l^SY*Lh&%DbcN3RGUX^_dHoUJe2v&>6}s4MJ^6C zf>v+3sOVdM!HtcQ%6BE&erSexWLM6aMWk_P_vQ_q+NH?r-X5~=l0U>76?~YcQJy7{ z@bHkC1X3Sm3(B)R(Ll2WatJ;a9*iyHhLqdgr!3@_ea#(qd+mB$hxVCMg)SKj!7MLw zN@f-u`5nTH=%oES8D^ya2+coKew47@a-95ijFxy8wp|CMvh`Hv72(XU%OK)7 zm~23eAcq>QW^&fKizk4}s$?8$m(0LIBV0Atr^kiWWDhn;|7yVeeSRmYuQL{PEoNNE!=v#Ls9Sd9C(dCRnv&C>8HHGC&0%1eV!+9}fq`#0+91qC*1-z>fH zHva63(lpUK*tT^T& z0dP+v>k4xq6?09{B3^c5~kq#RNGU#-@A3JS%RZt!#Iw#z(Dk!Y$~$9p!=vqWv(no2;FE>RH9lJwp)f zZ0yPIH}*bD{~LQ>0RtL)b2zZwlpNS@eijaFH@^Z7Y&Yj{U~flqU~lKMaA0reFXn(> z)N|QyV+|_)tb}#NmRz27pfny-XLPSJO>{_0q?H78L}!kQAjd*DD5h^wW5fIf-hY;pfo2b@_i;8fOQinz zY&`kGnq)px7C0c9D^jm~Hm-bO4KtrB3!D>{)>zNe+O6 zCKK)>OkW!_iX~|YrqG&Xgx?-sEWXY)iR`!`4WFP|zBV4Ls8`3p#jj`1E_lI-b&GiNRP)3nznEn?99ue!IN_|p*N?dqXQmZmXj7Q7ALhn|Ba@6n zsoWIEn&mhOz>L5$=_J@1bBQrqHzWSjplDS9($Kj=`ptQ6@r}lX1g52ss4!H2eaPOQ zU(0@LUgAl=p*fJbK$RWxFjtVC@i;Z&I43kQ-b|rP*DBAd{woU9k%)=7@p}~bb@e<9 z#%w(W^tsL?N@yMDUAW<1gF;||3Lmd&IMn!>kLhYXVnHY>Ae!lrZcU|{YQuvb4HcaI z81&BJ1~WN&Hh7Yb1z-QLJ`)mOTGQw8lXFbS3xmlYgq9iwpX7x)Qu*7-YrcR?3*jKMSukH=P}nkYqGPf6t-OUB4N zG0o%vGZ;aan((feALsMt&^=wM!p zJ}3V7lKAgPYr2X5Rz-lHkN@7>Za!*e^M7sa?tR05{}MkY{=3Xwn+1TEgRWuK@gRk( zUIdXYVbDu!Jl(>Jv)ORGtHNJQK*g$DN zb-fqXq!qO(StXNY4q1c!^iu-W4x9&C9F46Bvm&vdfs}S2vVvn zO)>|@+#r~woLxV^$R`Od>)vKYnYt$5YW!~WgZ?d*)@Fg9DWCr+fq0kUsd!deI}LCJ z;rZaj2?d6kS)o%Aw=yZT_??3J=`z@@6)}}kIG83OtGDb2l`=V<3R)VNTUozKSzDOR z88rp+zFd-txrQt6vAWToP8ey_E|WM1(|Fl5&e;}f3f0*x$H{d93<|Z@%1wH_RAORz zL1J@rwZz0mf9EA8PNF7L`vSN1f=krm&zgFjf+tCMldY{@uUBjNi9i*nW)guKd1sQ@ zO|UL%`0E);mKO!Z3A_znq>_bJQnfxH56oIpeYb7}XOb-Sp>@lKu5X2RiBQjPJ-#<@ z;3jqIEcg|>`f&A0Z#**Z+GpxiMT}aPtC802Je{6sB<~~Br#I5=8j; zS`7EpLw;C^7B3XzhUdQ1$s42mPMJ7d*}1N-t-)>e^=tgnRzp=Fu&$*Aq?PtdiZPZm+sYS+VyMh6AtO`XEh$M zU;ab&N5&B*QG@?GMyiu2z?IGHeY>>CJbZG8l=55MdVjTDQi|^$PQh2(r=&-#nftG{ zKT6@*DM3Ki1+JP>ovB~KSPj@V6l`(;jb}jsg1tWpCF)(-K*=E;1XEGeF_AjjG-2bfnjXsBpC-Gmu-qwR+Bn=?Z($^ z2hWMJ8?zzz?d!1>zKfDjxH`fpb&HG*bYS}YWZ?V!Z2bPciTm@$_@gX;|M`$@y>D*G z3_ZYN?@fK)=iVrd*JxIEA5yvEw8W0M-dZCLodqFnma3yNi9Uc+4xHX*^Tt4KxWgY$IY^&II$ecB67&q57%?_zC28EedFvVfva}?s>Y!-(eQGe zjY>s+v(cz-ZnGa*qso3@JHlK2Zss&H(2B% zWEHP+$76GowHyQzXn4hFYMR8(uk7mm=o9()@P})*$hG!P%P-!ih1Z-UZh#9uAG(3 zrpx}EayP*+_HiSPJqv;>kF$<%*O?#acf@Zuj)eaMIzbqz$Xpe6N4h2=K*32EjDwhx zB|1|(j+nzk_l7%kU#mp@kAhKrDvdmsj@!rV$!~1%yv>ffXTSA2&z=w1^X|!UyVqx}(_?njJstEqPhJkX zy?&|O>a$M2OfOoezp?hOXT5g6&$>OAdI++Q)3rtx=`3pRw*!_M+W8dfqx6w4QWMI)mS+zNekRsi^B|w^wSh zvsQ1=IeK~0>anwzy|Zq=%|y43JN=`RR_8_gxXwDK?6k|;uiB>r)_>kQIZ5}j)O~&0 z?un+GU1U$%?4;9ra?%zRQ74Z(z4p;S^hW=7)H!aS4q7L*Qva-d)M=g6So_!Zi?fqf z@3)$y*>C^%%l7G@(>h_ttrx9l?LMn4;K*68d-Sr`ej%FNeaiYTpY#Wv!OKCLJ?nOl ziO>CZ?^Wlh-Tx;$>Gp|PFZ=CU>9{p$QN?Gy?$geo|4;Gzlb8Jt@vL(?X!m+A&jy|D zX_Y@HH~ar(erUC)OwaP>A7P%@eE@TpRnuMnv`~nEJ^r4e4bvA!>Dsog8$Jy9ey4do>L?3kY`JiWx~^UAP;7%65W! zDY>E|MK!siA`yS1G7+R3`p?Ao9iK%L&y6EZPJS`5;_E2M@$J&Bm?(DRDfh+8FqT(; zO9$34anLgK2nr01%dyzxHKzUt`~7pJabsAN?^H@I&_TNp_=OVgiGn z?&|95>Z7O$5x{?!h1wAIB$IuOX&Gh)4iO=|K(i1xw zerebnICH{eAiie(QcZ*`u)@GV$E=pS3FclhcF! zGw#_!G1KBugrPm>dZ#D0p?|S$8`2ls9B?2G#R6=nh>5iU_79=~FvxHdB9oxd#izzx zzqo#``?r|u7uV0#&dnn2^CtSmFPJDTKVK%mlt4Ihv`3R}r!=;4*jEMsM?kp0Vn^(; zasO*dC9t)-B_1DwOn0iz>=XX@_)u(-c~I@_FxHiQzAt|MS*Yzj+l%l0=b!1_9V$?s zZuw{UWDz{s-op~_yKtZ4ySaBL)OJ+By4OqK|4~L~h^DX|9oX>_>eONy@b@pH!P>vi zIRBvp-CbfpZ#e&d|K*p>^MC)VuXg`+{{I&L{t3?i*YTn5LpzN zN#BKtP438tY{Hz#s2YchV(cTuoOC;5J%tcJ_;-5tEqxsh#Y~nEfFjF$M^AR(UWr

<$|OFBpEK`rl-DIlY0$?Esz(! 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�^X`!XQ2 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�WIhNAoL!i*&*Ua{6)&eX`U^m zewArRem+1L)X+$~74*xx4=;dzRDde?TrB)u0ACn5qUL$Gfwy%*F}Ib}Vx`JzMtECY zG&kaq)GoWqv!_2EZo}zZMDJu_7=LpvG1%c#R?U3HBc8EjWfQ6yIt9UsTDaVo@bLqN znw2AmS&L{6BO$A#--w(z3oafUhx^F66P+7^_E(A>ZCq9`=i_l|CYHBBA^ZE{(`?NS z!N7)`p8W+Azfjqg=UZR>%=*lkgygI?70Mj5bNcajgaaxRR%p1JB0fj-o8 zyM{yYlQ=v$Fyv|y{Sxa}9E+x%a7MN`NB|8vQS-IUx4e+ai1JYLi0Kup^&(3$RqK2$ za!|9|1>$&8j-IfYU&;uxjYP z)+sn_j@LFeV`O=7$pHF}jk~`}p?Nx`^jlVk-=w_%Q71bzwf6 z*O7Wz)Ovi(kn>mX1UthMm%p zP>gnLFQ>1Uvx*(|wN<643rbIAuBlVhIQ5GSxQ#3B8ica1vH4gfTpiBA9qTYN(pTKr z_6{%O+@=WKc86^y0aJnfTVXR}7ZkCAxF5=@K*==20qkl46ac(kBUJV8oHmK05$WTc z-Ps9bJYZ@BCe^~=YjX@hNOC?|4&2}qyU~&!4YPA{ho8?soL`@xzWYp4{MGsYeGM)z zQ^SJ)5)@WPpn)dcz_R=i`3q(>lNfO(u@ZZ*!k&-vpMDaNu|Ny#CaD=!s1 z$M7rG2bx1={$Map4{`p=GIC~v$$4YrcY9rzaM7owT2%mE<$e`=&@aWNkImSolpp^7 zWExG~19mX94AZmdU!x;I=TaCkUyyEr^0x_`1!{g;`d^exW7;wo7_oJKVL!lRtx;{3 zo0DYq#cu1&v6i=qBquATVX*H;5O$Rws$>Pz*1L;OpU*BnTwi{TYOJkw`8o=KHW<%R zbMKq|59xBjzYbU}=$Nc}JD{X+dDlZ__{^7S(GfB$#Ex3X0+ZRQ5|wIJod)rs!yN`C zXe-58AKtg9xmN4hu~kP-X@N?V&u8y0u3o=_Ot>jdhixHNtFTEC#Num~qQnYP|0Z3~ z->KF8JCwSApH6p+O84uPIi%0E3-Zm0izy@JNGowV{_MLy1rkV+6djy&NH%@s1hMw0t~4REdar9o5!Sd8inAwLUjWAd83cC zxq(wV#)K^~ud>!Rc8J`NqOmciaK6O%p>#&Pf4<%L*~cv+1mg0z?%|3leo247Tr*53=Vg z1ji~}`?i`5fu|(-(omsNK&u#*0jOe;dM@2_Vyz4GAxlLnlRPeE`ZEu~{P0qx>z8np zzc~?mhqP*A{`I@8sGdC?yfNRB_73&6LFaH_Jfw$_&@vG}Mu*W+^z0anL>NK|Exk=z4C`*}z?NPxm5T=PFJGwnSX6=^UfV%+lR^ zlv=L?-vygNXn$Xv8J;9`Cv_-#0Y&(uR#nVosrs)ZORn|qE01Hahs;i=2f^wt7bKlA zRKlbP^xBE<@O5{Rk$5H;9B*23V+mk>nzwTtrwB`0dWb&${Sn`RY!F-_FUNtWu3p4x zD${U>3ZGVsm7zy$ahlWx5a&Fu0J;}R1AuzdmM-GdNhWRw_vjZlp65{XCr``Yq`ps% zNWUGY!_7r>WlMZ%x{16lQfK?9A`81ac(`S$;eZslDm_49OnO zjxgE)oVuHNBX&k&(t^!c{%5qQ;2FodsizReF%7md%lNK zI3(1d^I)xsL*ZG|*p=Ph_$W)iJ;G!cghFC*r$G?X0CC`uM0T}UWD6OI^UA~HfOujQ zzN}|I;5&Lz`S==Zp_a15T&M^tfULM4c8%OS`FL81u<4}RY<}NM-TD$xp9j9oJR$o8 z#~U7D0Q%3@L?_*|Ok^(@%qSSjuyIFdP)RVT(;@{=V)X8Z1`@SclWe1}70D2cf3VCXs`+XjNC zW}-@QGZM?Cr%0+II(IE+Uf_cNpca3-@t_L!_r-$5io*g z#EDog!)(Q>fX9$6$JyrG(PDscGeNk~FbL$gprb*Xz{O-`H(3b#ryFMO)`Jn(eGl59ib2|l~&*P*9lDp_c>|yzsj2iR7~F< z8A^HRYvLZHkO9BuAPXe>)72Vf8h%N=ca(FQloZIOsLor+ zVkB}|nHx$c%wDW;Py>E~1UVw1ZNY59$cQ?ibpdn4Fk&@R7*RLz1L{JLB7Bj$hloF!|2?9cjy5sw_lue!i;=1 zDe7$GL}aN=DeKb4hUtL2lfZuci*e+ggx9pto_ClaScxT8%& zb4b;ELlm?^7RIG4tIW{f#2Wv3L$PNxx8i_g>Y2j&_QHa4|3RjXa9`Qba{2nruUD_x zIXdD!XnOE{cZlf~gFM?F4o=fq$~y0n#SI!)b5VsMi+}Xd$BZ}yYNx4qevKrY?*p;NG zU@a>Ksv`|NM4uXhTWiRCpxC6${w%RM8x_8FHs2-imG|n?F6G3$+qey!TAPi(F{N2# zQ_DtmMo?puh=FnlJ+g&dkql@Cb1)Kq6D0J351Eb68v23P$0vv$>!P;;pI!dBBQ2Tl zHq-&WdkMS3A z4d}1P0qw8RdqHjP9JW0Js*DEWHI zj?xw)fnOP1r4oc=7VOg6Mwwi{yMl@8S$rccU_ZVUi`arQcu%pKOaSptJHS-iJ8{&+ zgIAGwmFc*g8|DnrPAn26t3e16pL_@7bVQCb^DK`cOVJFn+oN6ckSUQNpgKZ$PeWGm zagoWaAWjEN9eH*my}Gy%yBe|;l7}5<$TMP1R*1Js97aD5ZMJ)HJ&TcQLxValq)?dM z!8*6%YckWp3i~Fik4(H( zEk<;qW%mARCaR+i52pE>E^^=Tq=XuRpbP7gKZ!nSS*PkvCi7GehR(?Gbq&(gt2R9( z@1ohnDTOA{rJUAzTyn4Y4BSZ0OPs`og5ybk8na3C!R!Q?L%uPGbXr&Bh#D-^;6|?5 zI%3^>ok=g1Rh;FT^D}{aw^nmGQ!8W;KsOG+Nz_827-<4pN#(dEh*|JiVvbHOWe#^Z zskLT@X9U*0zWyjCD!+*~nSeH~tFzoxtlyIB-^GalW+fdoKA2TDOHxZ`>}XmwI<7_d zYHQ}&(V=i87J|QhG)#?m9bnIy$3GDZI+m~GqU{m$1bkvndA%t7I+Y8Av80S+Q9C%8 zIO2bpB?dQ_#*m(%>KsD^y`g#IQU%ytvr5yCvPd$U2%TL;K>KVau;&+|hD&g49A{~Y zpuL?Zpb?%IUaqgOLpkoN5ozDpw@#cWKaAijSUNlx_j!YFVd}Ou`>@%Eyz8RYGg*3P z7&Q~P%E-?0L$KL4$1Y#nb5wYCD$XEfp86~m2kZlpRJS8xqupRp4bOI4MW3>2b_O2+ zU_aLKthyaCOa2HO#HZ0i`7~!QOYIL?I^vjQ{0+4{{hsNVOPMhM%rA}N*bQjpMgN=^ zSp@;oR7urn1Vv>{?I01V4Y=_{toh2^9Hyq`1}C4 zUoL=g(sv)}ARpT!ZSlq)5W4r>clU+vK?zSQ(8|nzcu$PpX;NiN$ubxdwypQHLnd?a zn4SEW5srN9_mOxEBcKLGTO&C8y>fxTO;8w!ikZ_~Rx^dSh?yXGItM%WWoHQ2Dw)Z- z>?(y{uvA=EGay;V%~JLY7F@*DjILy(p!ou2fH~8|C&IuN5st|0$IjWshYzpMu6K|` z*>WU@my5_WWKQ+Yj`;IW^8*ev_{ok6n%oJbaPX*r|G6iEyrI2ul3qAq?i0pke;9-V zGux?m#G^-|{rk?)aTAhVsKk5gBX!A;ka3aPBmo*DNU)wOYvCh3w=3_N#^h6wb=Fiv z)o|!(yN&Z8U*2u(2NuCeJmH}WJPCWm>LXW7z$K@74jknEksCY=jJ#!qyp5A8Ujw58 zwiDl5j8oPf4#CGKEwQEFYn_!} zUZ1{#Q()`S&YKTz{;aWEf`?iLFfsq&K+6S%jCCt*9xTMzcA`^!nKp?s0k8gr*P`oU zhCd6}!&_Mmc79R1+W9IS*a!7erEAcHm5XhvFt?UoKwq#k*+eXtY|pm?`)w!m(%A7# z`z?*tNPLFZu}oC4j6TMtmghw^ST27%_i+cl_sVXF1-K3m>Jbbm+5@B{^_a&+mXGIyvZX0 zw35HmxorLOPUu&?w|4*Ct6MID!T-ZA?lLY#m21>JKV~RLq?P!i5v;S^ycULmCW;TQ z0AB_A?ZmwfX4h=1aJu;~JpKTO&S?#U6Ny*lHSF*X@HIPrDoT7z!|LH>ekF5PpKb2% zWjU4NOsShpTIC!-avEB^^IYugr4md%k^{b=qXcT`)}1lGn!A$AVnAgedb=@}D>D}= zJ)%>hqyI-`w$=zbANnrXRlN}GyhHm#sv7?oF`e@qc)Sr({hi-^y$&gD*xLsObG68` zYOoxMozae`+&RI{&O(y-7YRxSsCZpw^Q%RiNKoUTQzwT0n)=WX1euz#6nY}dJqY8? zis{Zs*a412lLFbydoR_r){z*1Ymu6ey0ffvsfS#~xvzv7@Un?rG#|{U*W0S^x9I~K zDjake=s6@D!q2b^?oEjAR9)tu#pAlnqhBxI;ZJmLf4w}n1f%t=GS3L(g*HyaBWmT& zJRrxx+e1{8n>`61ru}^}&*oWzT!~dPkL4_0W~vM%j%JQL(>G_vGyMa(zqDNqh)vv( z9dGLszgdUYH63Jpm_q?!+j}e^dyguLV~&+z57+Om>=2m@!!Y1D2_A-f)cU=iSzG>Q)*afxBMv{) z4RMQx7B0||pvJ^(b5h-cRJYQE$LqaQFpQ5%JQU2cWh>|nL*j#7nd7+9ybAZ2j&&gVhGGI8%zOP=pfSs zecHlBAVyf4rI0_$%nMB%shn^l#8j^$w^9wvK(+&z(f5k{j@yI zbXa%cFtQYr>sX=?eD?D0nD>_;LfJBT%<&;!P#F9-EYIt*JRPgD;>g51PBEh^j9NYs z&z_1GFT~*id>PjumcZNd+wbEwCVC-QbNG59#`Wa4WA;F}s^a8kFs>&fbc!GT&iQSE z_yACP0)0o^f@AUR^8YQq)te!TN2VWVxA3!)noXnyeWeP(D*0mmXBJxUhTehjGR(jU z-C$%MtVHKoD;uZHtmFQ^I6R2Hj}FBo8RrkU()5Q~H2Pdb~${a2@_LvfCo~3)VrhS_{Qfk3jz!O!LGO1i} z;f-AD5eEgtc0VwlYoQENojC`pd0j!)@eC3Y!r}nx{Mjrn{Abv$SQEwR>xi=@&34Is zwhZ~PR287GHKQ@C#6w_;VC23N4`j`Q{{(r12K!>q6a?z+Px5134a|pO%b5u(zu40W zq~X6pQhFQ~LxudSOq1gXs2{mv6(y@idEZBN1BS!{F4dMhba-&U{A>FY}$s# zq0Sxf?_XNG>C#XE2Xrap^u3-!HZU(0N(qTMoNI0)us==(M8RNeJVwHD5G<3>7hsEj^De}?YMR6_X=Tz|A*7G52})$JF#V+NM-AfL7cy$X}CF<*9(|J0t9eD z?m?_(rEX-QiB4!)RGYTGP?da1lk~ULr=*1dSN*M^nH_{Pn~1{tl{BxGP9k30vzd6Y z=dbjg;VO$S$J=hwm#qlq{;b+l*_MH*Gt$3kM)wDv@84|le8-r$u#krpy1(xS^#gSe z@raw)7X+Qcp0B2ld>w6oD1bHevY)&BvxeG1j%7EW4LO|JZ9Z@%_xHul^-PLfPUD<4 z=ZYbr2rQVraYB$`;GqD(C)484lsWp3Cx?57VsJD%eEP%a>5orF&z}A;6e_7?rK24R zgn6sLYYncTxzNv^?u|1u=VWH?9zj22$eb!MIGMcYiLJZD9BDBE8bspXWVse~k!LrM z(QRB;_)Y^?NB(-~#veO;7ny5`9?KI*{kDpjahu1tzh*`C)9tQ_q1MH4_@8$qpykG)cyhD_Rkv{76<(4u`0yh1 zx?rR#a^xljEToMKeU&;*e66JzuW3L=80z-%(#(Z=Oe3g3*Q#Jw{3IeJ;j_$Gk= z#g_=$g%f3Ku|lTH0joJ6cwiR-^$$Za=wuaOkZn6l^Ea1Zc#LX>O>F6yv@P}~&=NRo zs&Pac?eYBwBZ_i{S_LblX?<`a&MxY*y5Uf%J(nv8`$aXNUHYuJ22*u|ywQ9%@mgb> zT)p5lO;nk0qp#xN3)!Ll5ZQc@!*z}^%kFu#3#mXeFpEIEVNQuK#o!QQFl8xLSt=n( z`#dYMdG#Od_N+SZ2BM8e3lMYvW$Vyg5XA=+SNQ*Q}Ay$kY5dY=yaG)uO3r_>%yn!-R zi*amDg(|!xb(3s5Vhj#*S@=-}v2P(|Ns#E{m3Ta^C#*v&1u0@kKNt(&HURv8*ZCo1 zF6vw$1U`^+t$2BCwW_3l^9+(~c*p$L_$c>#x`-FQST}=4ar05n6ePe3+l?#XsS&|l zvfr~Y-th0Y-|#NkWk`Z!^nu_qL7JswaW}Vx=}c(wJgP2R#CraesW9I=nhzb z6=nPY(oFtT=7{`kx5W^=uFANN2qjTKlybk9W@WV&A)jKa#5h4QF-x94CuJhgFBBuY zs1VM4Idy|0B{7fJNKuH-FbUaaFX zB@vbjoy{7x&St1(bzG7?w2%-KkPWQojdy*B^xTO}R9ILRCRzCvhq#va@Gy+Kn4q!8 z9pu4c=vv;?_t0!EyJ1+6AZ|04g{c`?pdQefJgm_Vs*v+VwQe49j-+5+LrXMS@GSaxRv=b8@BX)c?2N?CuqAYVqpR{N&k}itx%PB$5=|Ad z#Cm7Oh9NbJI`Prn4>ml&jnhu?>OYGZfkn~Rps@AdOb{g3<`n?lCp455(-FjPnYTxa z1xcI0)s^F{Dv^!@|Hld6y)iN1B5iPHc$5LLpGan)mmwTgA3Ky>QeR(w#ewl@#r<;9 zH%MOG+s4c9nYji>2L~L^2No^EO!Dn5sCS-Os@Yw^8U2BZKGQkhWA(U zSG2h+HfdAP5GOmKqoib8PPA`NWyw2l9hXl|3uuzq0?{-EQH?+#8SGvB_SGv4ybzlC*mc;qzXtaE^v{ znu(Oq$-vH_V7Kub{9INL33<;$1TzZy__C16Jgxqm%*3Tpd&&y7jY3T^gP8*?ei17r z%bKJ3Fklp7A71OtcoMz8cs8CyFLbez6-KIDq$`ELEf8i$Fl3{hVML^P!0cyu_Y@Cr zH)B>{{bwh(3!98D+}(VTdV;8AfE)@i0GC|4sm z*((Y|K!k0=egu93WK?9J>kZ1mi)U~Bly=yh(6og6=vSL z7VVifrt>rofNM({M{_m%iQsbdb-MWyQmdaTzrBNpBRN16rGAzxpXeB z{hoEA1-9W%e9ZC0Ns-}T-~b?J$FOlUWyn3e=4*^@2_7GdgNYFvPHI>NdE1O2Cc=wO z689T{5D2kqP1_j0=Lb7MK$BT1?^O9rC*WasvH|aU@sfPkbs;#-`HQin{RuZ?CpTu0 zv1qm(?*?uQGZ4K~Ue?|#6N*6m(ic8zRw10G?Dpna1ReN@dDM=~=dhGT`T9cnS9aI+ z?29-+Q$Ly38#8ZU-C&2-NqP_?dAmw(%4l8am9EtLoWT&?B(Y)Nl$D$(PUA&SBICF* z+1I5~xk%JJ&C#yFpcrK7U=R^=fNh;L+-afX5HbuWdDk58c+T%K+8e_W3BFB=1MrFm zj1+SMzjr#Db?5tlHQ_=*Rt;y4^%u-~>e|o+VRN_1)ibE~?{}Typyq$og6>$%vtX$P zr#&dZlZKwQ8h&FXo6r5qb@!#cSU4D`V-4X^f_mj`q2}ogXzpSq7ilckc*Sf%p)r+h zSSz`Pu%;nE2uQRIt_x*!z^P?9w1F6=xXP;n9A0*b%yls&+6a3lb!Q&4edf9fZ_{25 zrgLf~;thimv|g*k19`CkJ?OV415nAtK^UL~dchDu8>{ANmd`iDeH<@ko|Y@b0IXD= zDD-Bb`<XnIKwX4Z~0(F|{K~)qgnVAb@rz~gt`yL_Y`f9PyI^h1lhtuJ%PpKQZ zT4(By@aaFeT|;!@htu)c=4#AFL+rsG@hsM=fXGwdc3YzVud*Kx2Ut5dsLz(Nv^bm~ zvFBjdPa^S@0Lx6_Uo|>myWI*EkS zc5mCahPC7x%=w5-8Z03$!G;c)>T+9(t**uSZ*Shed@jaD&o#4kRhQMo%nIsazzKKr z(3+4qo5r+J&*y2J%BRl{4r6rsFVB~xCPx#<%&xGGVa&8JfejR8g2 z$QIVYFLkw~ZpLNK13`3W04!q8EanN2?)*g;w$nCBtkd|)hI5i8t>?C4Sl}B4$<2(S zjgrv5?E;GE;)-l?Qf!u~QSi~;x=~`TYZ_#+qc{Y^xSqQ?L^5fUX30z}-o1S$ z#x{?XJt=b2(2XF_Gy4hf-uM|f65q#DZJ)p>`CFJTdUDRo{jl}o_ zC>I`B;Q+w!X;uLYvaYKMcz?wz&5~>jUqc@YJC-Vn^fFV8-2?1KMV*(P7-C0LO4LYZ z;7HCP1sl0!;Po&MG3wB5P`8=Lb||$y_~I?ig)Q0lIHeHq3XPB+Urj@)%|;duwm`jv zTKf+Iqw*3H`>G+0ykQV_^>BgEp5A94_MT%ba}Tep=^vmNFVv9xR zx~MRWKeY0?A~veoKI?^8wsL_c0vyaZMwFHX?h)2?JNSe`pB&CHo?qnZ)9m1_^60uuuaN3hHm3 zV+rpPyS{G_Ppc)Sm0c1qK@k3*XkeR!vrb)1zgrodj{go_!h3)EE`8d+1##!gf3nKkYfM-Q6dHSI3=Z1e}IKA7k`VV`O2x zwCB2}gE5_pcJ!q&lW3ll7 zN764M*;mbxslx3~N(a{e-9AL6+S`eyA z5K7>MB^V)remarsjak5;=)%rrec;79ZZ+2x3y6;1@luD~@(XZM^x-O!C9L1Yp1! zk>&VM92^{ogAoUSZA|Bo;sj{_LE4|K)5{%k#T8PVfflX1e$c!@f zyCQfROVCI$n&9#DClPbPZxo!SphKbwAw(of{3H$!!1e{deilFe_@lR0=c_6@Ul(a! z&Br5F8iQ~b^AwOxo4+Qv3UWUoFjy9MlpP(RHn$4#P2-&&cgZb&)UJm1c};s){={y1 z?g49~a>i{V`86PadrDX!syv5SX!QoiqRzRw?FX9)EPm;wFU4CTeR*V)e!V+WXdv)a zc4*5>L}j=>^74gI!^P*Wufefs1ncKKG3FXkc!BN(D&WM{ z(9FAcRkvqX)a9hV;{#&6(q+YgBw(9-B1)x1tXC@v2rJa&mKAtwYyfrs2H!kpL+N@d zMx)8?E1dFoOB=3o=eLv-hTY(_5tTx^3xFt@K{S7y;{g=|$)f(o*m@x^7g~Vza0WY8 zc1tV2LNwh~tLYRWVZJnnT|n_$z2>2Bhco=2>SX&`SM;PO5p6_Wi=y%AWFj6luAL*_ zEE-mF%llKR%BpCMP=|ZugKE6(=dQA!hfNS=pOSglaB=9Oj9#ma#Sh>RLS$vTl~Hx% zkg0Jdv@>?;jOU0ppN3g79mQzAV_)622L=EI?Foin4ATDL$8gYee(&H-!$4e@UNmPn3IjtCdS>@k?ddbQ3Ju*cMKtjcm; zXGSwQo7)Gsmh2kTmej1_8V;R6pX5bntrh2uqwxu)ELzbh?_7C#twPsTSxJxg+ScT? z73}ybkJ&M2dS|6py4XhIT+vB6MNRzRKMo!vW^y;o%iFp#i_Hr;ds~-Fo{bzfe_9mp zR9qKjdad9-#I<)!*@8;}-YOW#C;$jR_rCN55^`iZs)2_$kY`AI zGo~XSl$Mj^k5?!EzdxS6dHwADyLYFrc|o0zAgbOpnj-fR|Fu5`zke#5C&!g67OE1w z#p`udQe?fkO(3&A20~?Ld&B|xyD;x5*B8CbuXUsQR5=r)x9`t?`{V7qH?PjlPdOGJ z@GC)Nk?jFF?@b>$eogk*j=r8t^!px&ToMn>*ND`3ECGMG?jFoZ3F&$0#6g(!cqc2?(22WRz4 z$vn*$^ExAFn|Vl-0!Y1#Fh-$qfgtjsWKByv9(xL4`wD^cLv%#sRavQlhS+Qw!i)*i zWW!#{y5+qrx#$X`R(-NIifg? z-nPmytaEHOa7au0@ayTt6dnRj#kX(HFFvA&m&=xNj>XJ_z14RzHZ$8?XQ$QA#*~q+P_q8lkUNL?S1EYI&OcA>g z0)}eyV@Y6xzPZ95+y)NM4mcn}Ja?!dy+9wk5p$Y=IemCJj5z{o%&T&Nm?NvwyyE}) zhFDyoRk?uI%!X}fA-*?hEfUUuY7VNGe~Dx3@+)cPa2R%7Kt7qn6kWDb28S?`Lin&( zy?86OC8pKptzpA@5re;4#Y2PhKdW6j22Kc*VvB|m*CV}F`N*uP(NbpfJ<5q6Bizbl zgeWek?wJw7j&6Xw08;k-`~3wvNm5&B)}VQ!Z1n=w92|`IZODqvQ^w5gHe{4b{rP(x z54u}Oum8F6QZ{qE*3~(>2)f?fHGC}4IK&N5VkE?n=mOC8whk3(DoVu3gSd@M$G~!& zi?inzWyWq4%+w_ROtbCO5qkTL;HhAv+}`l+efAu)h438-gxPEo7Qck^C~vg^?hUxNuZ%Q|HA2g@!pXiL)}N{N%(@ zV`8i?Mj36)Nxl-Yz+fNkGL!?txV@R^Lb8VRoD4Ckg3Ih_w{4yBfr$ zUVA!@?OyuD*AkMGe%MJ#?g5fnQgU^za>q*UQ<0O>7+_4MrKq7-A-Im|ibLXVj}F*D zN>U;RTU{U}T{~Gp_-1AxbrGZU4LH8BW-q}5{CD2j-?9PwqA@gF(mJ#G_+j)a-Szo;nJC{jmOklMDwn1u~6ttt2KFLU5|oUGe405|O3dp5HaBud*z8yEA*aMw*}W@8UdOk{V%>;L{e3P?rrnjH*X=8qD)b9&^X&H*|(JcRj)$z6-}SbI;@G;d>rL`2=I<9oV+70-N$n4xHWJ z$9r@HWNSDC)%h?;c-(iwwz(tq2G*N##p#Gg*flWmcD|(a?IjtUrHj=F8n7x-jv<69HYROm;NgB-)A`0E|2z)ZBSK?;SB9p;+rpQc#J^06_y@(xA0&dfRaTF5xoMM6*` zpxOR=QDDwC+<*%yX#0e}*zT=XYVONateS z*RuKKiJ1H8%=3Ia_kH>M`{D&af9?p#`R?%n2ILfTqxwOAN0ieEJ^-^Ra~SurMN;`Z z9QetI)8SzB52e<7Cs}%};OE;y-)#39WjY8mhJ(@j^`el8dCUv8>NDT)0c5jOu#qe= z3=2a~LXIj3>|U!vaJH(Y-J}nUIBvjsqQD6Om?fw(GVn_22XOV8mKwnl)}_HTC2q+5 zZf(L|EI(Ye0WN&QOK2Dq-+V%McSXHmgNs7@7;?5RKa4IQ|C+)`Dur<)oC%J<4}l)7 zQXdXJ!VKf+Trd*3%cIGpVKrk*@BeAEaddGy0$c<>6MI$K_WqwHU1T_>;pbB=wiHqeT9BZ=rn}^?ZgM!c|T1FDxjRB~S31XnX*VKybe{ zu``^8>)x`A!l%2iT>kCBhv^D#j)#L01hI|GAKOZm=8ssf)`cp|{l%Z@8ZQ9T4g6Vb*OlHcWS)3G zs|+4QiEsXzub?zmoa+5l*HxOCADLd5|E*-T91RENf2J-07i_h;s_1|FQe}S z65!q#KyE%yWp?rMToBR<`QE0;3tJYp%VLywy{*_0IvX`5Mo`ZYfz-2o9tAb7kY(w`8cc6 zd?8|20UE?)E=DJDtk#u1vd#o;k{*t512fQ4D#v6JfEZ8&JXPo1p)iE)QNr^9_DGiLjS*`8$Pr3GlX}`F zbBi=DRa_Se*X25sX})K)1BybU_$9zpRqTg=%wdIXR_Nwf9>ttQ6b%QqDPHql$s5P{ zb)NpIeBA4!Fr*SK=6}3AJHPnj{Oo_7LbxpAW!R2q>pEqZvule4amT(0sKOzp2Sg!J zWN0Mb=alNeZ8A%6in*PZ8)Bs-N`505q+MnZ&LYOn8hm*0>gfdL<5t%ee*`yZ0$q^F zwJNH#1XpJrFwBMwgyVZY6$1^#>lBsPC~H;U(K-q_)Mjt8Txk&Dc3fHn%I5)bXmCSuiG z4dV%|2g*{bqV|GmkfDgf1JbO?gwywoTc>`WiEqE@c(SkMNo$+%aD;7j9h(W5ETihs zBcCuoJBqT;;u)zt%0E5Rr4qc-c-&)}VONYqDDl;ry3RP;vUKT|rppf7kU99&9&SDf zndaJU8Mh~qXH)*e`Yq$GCtbF-DqN^kXVLac#%?_P@DQG+=B2sXjN@RUPKJXDa{BJu zhs|u@+cS}CqYa0%`!m-GUZ?7i9a+^O67cfv$Q+NVBR|TsP>ZyzRAGAaoVk|AMhM`G zemkM82P$ z1s(3Ob;+0~zf3#Y?mZSo(Ld9)s#@ zp@zo65o>lV?8CqhOSuM9cbVMUHMsWOg2G8Blf=B^Z2lTHsj;baDypNYh&#YN7Fxs+ zapHvW?`ggW=AtSJ0N}(}elr#|6Xd{252T1jBp`&-M<{W#NyQPBdZ7zJFkw?sZM2^P zwUUVnf|4yR)Dp4?29&FBFIVYGO%V<1Dvhro&}}{kMa3M{%SepTr@y9!Ms;jtDe4>m z)+QZ&;9=}lM?CQWg%M|kod{3B8MT_YEvQidkQ>$?a0Yzz{I}Dca{;>4tc;nk6KmSS zQCWR3MLvpSS18!Lj;0~+P`F|7bQw>YTleSTpo;umKYFgmRb-TZPiopdEl>mc-sV3% zp4iRYzSEnLjT(&vwdI2EZx_5D%J$FIOjMp<*?p&{WmRD6mcl4i8Sjl8^yQuW&EWxj z{Zs;VPO>F=H9KRHqvLq!ohB;F!(}Zw{y#tlL)=6=L#B`lx317WA+z*Pa~58$vvN3K z0(s$z`{p2`f3WC<9W@YVj}WYBiDrZNgb`EEA)FyT_e7w5dN{xid|#@7YNM+jd>-D4 zplQ_i0dWnPDrE9f>$R7piTGGE({3QLh1A`p$mc?#{)mTMRbpB9B6UBqivsVat9 z^y+j}k;6fnWa=VaDZq+LS1NkW1}B7SJfP6OYgM?y<{b~AH2fM42dg^ll1_4uxi)8G z(C}lOCw}>d@W3;3b$?$hb(V-#{X|?AS|+h9AzFK$>CHZUKEk+_!vR?2y?@?s#7Oc; z3quanPqnV37{_HaCque3a8HH<PFfUBDjHn=ywgt==dsRZ_&}_B);mN zV?56&1X{XiT@334>%F`N{FkLNr>jdDUkwKfeX@~TucLp33lKZitlU4VA!wv4y72>t zvC`-2vc@lTY(DK4Qv;xt4@!~1Ly4^9)TrkYz=grw%gF~6VruI!y9_Shj}K9H5#}!} z2J_nm@DB&Mx}p1L&xKw1!@(LODc|uH>{AN0+H5y!I2J3!df~IM1IMz+lmLW)&4vwg z)p0H!4%TpX6~Tvn_yK?oKDL&5YUVq*H_cb8`W#b_5h>I`_A?C(r&NAUBQ(y%fv{ z4I15WuvB>rJpoR|=oAZ@o>J;*Jr^H7A|AzXIM^7;7fQRO$`S<2G2L&OwI9C$IxL3M`-!$B2WN=U5NL0bmECO zIr+jB604Yffs9^03lEuKoM|PNSw`AH@M5PQ#Bng8oDN~B-1t_==muWp@FrX$Kgk8$ z#*GPrLUD~ZXH=m|@BOf}3RRxu$tmubm-YOuwC0qC|cmQVZz635Z1hF(D<{;z+gYuXodet2+TKZBA) z%*V6G4gwb{Es7c-qZUBQWu9U1O550BxKZNYyfFt2@wdGl#b8CfQ!ANzOksP6WY4Ap z$P=MAj2+L@h#ef@-*^Wk%SJN+^+m7-1KpR#S4hLmjJ0>FtgQ61P8 zT(y~uW?;I8BuSHZ$|z7i6D;d_ZXb5YC-zte>T^exD9y0a9eSN9gqRyJl~vWP+pYDw z&M?OWH9S|juiz!Sv`8@cQW68va)30CtHQih-vr;7JsEGN%v7h8KYN(oiP)v!eS5yRoEp|D$qpR zm3i=|dA&Nkx$$Jo4{-LdVG8D^L!&E|%7>QlP&AkmfuApq>lF>1h4wZh&5UOc8(fRn zr9iFBzHBT>(q9_Ygk&)ZUD$!X%XX1%d~0aD3>ww1cQA+sbDn+aPUl?Tw!x##`M~#2yY; z@Ebjcs!^N5NN)&wMM@} z3wWBr+aYK>oeP<7Bj2V@6xX?~5beL<3Gl17ZV{u2Xf1Tc!#|Eo5h(GKX1m9eyL~g+ zS>|AsYp$RddAIEC)&#td2a?;@(6%}CctDALNsHwm7c*)?B zgULSzQg*o&X~hVfiX?Pm;geu}1(JH^Z5~q(>WT56AP}R$-E>(fc_kML1{%C&E-(k% z1>}r4-!YF(#H9_m;XCMCgl(mNu)ccOJ%{M7xuMMYvoYvi0CT4)h6op zE*?zn-H`0xTx1}@^<+4(bV_w*8%&9gk9`GDZHTSNSu^r7gY8#JfYBIHq&q_$a zdfn`o37ReJH^rvDRsCe3Xx z9~m9bn+B11s;eawE0J?%D`E{XkQ@RBe#fHDbMxWrLN5xrB7xn}eqY|O?6Vnjswkqd z%TU@i7+;(S)K{ztH&zU71;_19`HcN*ZBuX7NL)p@dsfBjFk_jbIE87N1$TnL={I?{ z^;*-4PYdgm7?+2pG=fqHbuQ4bklCpQ(>>#sx2IF;&8BJaA`H+nT9`vH^gAsY4jS#g z+!3B+Ywl9W#t(x~>S-GiIP6!{(EKZ(ZCY~R|925OkUx>TyJC!Bbo*y-LB%kC&mhug zU!-gJYr;H1t`b{{=+#X5$B(~-UQ80yOfbHU&!a&!0-@`%AG;anFcD)fP#ivg32<&U zE(Zf~Doh;yO_$YMT~uQ~wxN-+FZ>>18ZE+|L#OHhKH^x69zXte#IPF{HW8z0!Ku#W zemEGBqkoBrg|>e7_eG|6Rjp-;}Aot=$MaZ;x}wSg;vhxhlz+1u;yAzt3>NtxM{ zWj1BvC2I9-*bNPcy*2tU0?JbF{yDHB@%@jZAd3}R@JNhiBk_nj#Y;+6RrH@a&24A9 z5#bpZtWHKCw-=H0sFGKzbZDJBR|rk;rqM#LtDwxzWn&b5Q%Usx-Af+^6T@L3a<1nt zX8cArCOXXc<-n;X_H3P(47x+phk=#5<8s2617rjIHr-4p@`b7jz&$>ABA(!{M~~>x zVkejjWEfAPUsdHi0VpHP+k1d4s^}VN>**7`OaYl@7<{`>l^@Rl;{KbG5GgP?2oHE2 zk!2JMQxkg0J#_X*&-7|73w4qw=Nq|x4=#oA{Wy-W=+tPBzy`zC1NSlJyRj4^43tx` z(B?F9GOx^O<&#y`U1U=n6~5$c_r?AD)YCs5i|?^#(9&gwVKK4^a%Xr9^1X|| zdEd+)J&RJ)`Xy4zEtGJ+m<$ogm=8w6bm*Ba4Gd-sd%hNZ+9n z(|uUDRm-os!Vr$`TKudgjO;+ZS#tsg!i#oMXO}pxTz-CW78BdzN}0J_1se$TzOAth-D5h zaK_8tuxXcI3Dz4-#}s2tFrJ9uG@-;afU<@Ds!Qb(F!+-tkV%$MQ)FE&Xca)F)HL!$N(s7pQlkmt3FT$D3ilUbv)3e2VF({5~}u2Xv)59CwiE z6tfZ`#<^5#Wy-;MgyR`tl1LKyX(hJcX$WVI8_*;zR9t0SJdcgS89(CmH_COov`b-K z=-8Yuma^m*lhsUIs#vd7iAQJjeA~C8*78otgz!ikE39`W`orJ@`!prxj4`iKu9(sM z@Xhr{LhB1Ud?PLB%M)T`vjun>R$9nwol+ndx}I74su4)WJuo%h|| z;B^XmCGe1F&MTfV2W`)2Bx@qYlqv%Lz2jqcO1x8ZqXwT7yl@*frYF(J&qf&sN!eit zt`U>2q%S1#`1i-I(>NYEdKn4=AqpYQ-f1Sm^zrdzJgVZgJ!Di-t~M7h&oP|>PttdO zhc%((YU6!Az1n{Gq_5jrueJsXFEbom6Y~XU3I&-l5U<|Mpz#|0&^&l79<~Y@`IxKm zjtrJ~9wwLAzb{^%6N3HxmNXjwkuQ*)-;+OM?w|tmS_Z5V%^Q?+;krJaFLupI7;q7! zI5blox^V(*G616vv}c077fuCwEx}gY(l{#hx8V$6Zg{ht02{*kprSj^X%G892RN{D zDX&xq18>j6_sp1`Q8M}YRl5E!RiyK+2-$t(Ji_Z{ap!WS#^F$RCypffPUaN)1fMZT`dm`56HU3;}eO|}LQs>CQpb~NN^6hJz%p<<}^aK;T zfmC7LSUBE#>u%0j`KpFss5_X3Vha|Ub3Lvds~R)SM*;YknJkol<6zPpQdrBi;UDN+ zYBt57VVqE@buMJ-^3HKf1&B}v7ht0VG0^PDRc&FO1*YoWj8ykn--^TGdPar-N}L!^ z8mSY!?5o3$kfTN#Zgm))c2(Nfg4e+&5!+Oo{w=X*e~G8K8}HgzI^T5n%@}>l_uWm% zZR)^A6+!@>DeQUe`|%XIj}use0*3{d?ad6wuVG-OS9j ziW!)}NS|iNIo9y~ci(;c-85`=`{Axw_n8of2L}g@XU)T-GzSo7HJV~>%38${6b9A2 z6br2rp>ka>mH@`w6)QjUvcdV^w7+&Us7L?%`^S5SOmrJr^x3jGGSK&Z`57<_cBX`n z+RIZWpK|#xHsiRc;WngAwC99dXrTJ3hx# zVVb{DMezl{;Ii-^dq?cP^mXRmYqh~-l`*^ohUBu~0uU1Jh4vcF4-z_FtIc!3-6^2`W{>f~v={CWpTeXMkQKdZ#dgufj_(hJ#?Jz(LtK5&#|C~ejKqw^ zPkVmm)n`={vmP_l7jT++p_uFyvmPs%U&t#3`vBS&o2Lwlz2nH4Smxl?rwAM$gPfQG zIik&+eE(}&nE0a9+tc+%OxukLqSq2J%Pyqk-Paanb>!nz>i$eo$)-xtjt z_-Aq0WHPvxMVLqY=1OjE+JVAFu8rRTJhf8hKTE|Pi;e189hOL%FdF@bz~G;x z5{~0Gstt>~X+_~QOO+FFDObGM{k&e#c1NzYl5yHNhY4$)lr(_C_Nw z-L!iptEJI7&oG;{tRlCRj$2db_*fibG*$ac{D|f5ncOREtnk7uqjP;&`+wJ~QCJ1% zBhN!jA;;mF%0Xd(6L^zm*^p`MFD+I7hUQkGU>)Lw<4k!#Q?kC%nc0e}R<2Il7D0gZN9R|4GVkYFCH z7<7$QaLU9c!9gqr52LGw7gk!DZd{pl1e<}9Mck?tmO7m{UZL;^clEoXWe-< z%`U7P7;PvqmdF3wqoAAfT_HESN*di>4xgwN`ppq~o-w!I_Hw1~jIW#O18 zf`mgXPV-6?zst0ORrZ_KSHf}wQk*mMP1yJhGXud#?a{gU!q^9JFt+vt2@hmt8;7R-E4^F2bn=xC(SMMHmqPp1^;*|BE| zqyURUNW9Er1%kt9zS8U^of+*5ZTs5JVV>+gx&tWA9Ff;t4G{nK*I&ZTcnU#lt$+dY zI2mQRHANumtx)ocHDcKN?I(TiD8TtSrehiN>x=oLf1bhJFv-et(6+OudU9SHT?S-F z3MZz6I0B9o;H~CQu)WZkSJWp={M6bnyN-!&E_(UHchC#XIkl_MCMbo97|RRNxkx(U zu>oNw+X=@2paK+)?NBSUu~|5HfJm|XeV3pN)*qVy=)1jVr|!&%2CmzdXHc&@=igyf zza{Zrl4Uw}Fha-TyTc=!1s;quB59%n$n%qn6KlM|(5WpbkrEKxNeNt~Ibr26_SZ_@_||Y; zm=^uxDWt+(rFkNSEH2ZkkVTqpC#b#=tEK|Q5vnh>!<4jK#gBh|im82bM|9SjiSX`o z{6PHh@r2SM+w&5di0jz*eqp4Kx%YENAH!V1&Tieb%z3H#vUxDq7$%8KMrLQctmhN) zGaT2(rpgH!i)`T!=|^#l(y>G6^9;GH=O1R~`H$9d-*cb`T>yJy3SYQG)m_)si*{#T z0?-p?ncj8N;K};5o|nKavcGR19uBc` zQc}39tv%XZgK_DgI!vd6Y@dAtW^Vhb0nJgmtmke_>_8w-34jn?!eOt9NTj!6Gms-N z)@v|Oan9m{va2W`?Z8@;>xw`WAeSW)CzZ$)vFmIfASA(arPimPYMH@0UmosVmwU@2 z&?9A$mcX@wv?WIU?s#P=kGXj>KLQvEjwTkyd9{+~YAp*{sf00SI#cO5EXR4tuhh1* z>MMsmL7s^j{z83XxR(iucaOHvy9;Awjtua^XEN770FIuAf2i#ks0YhUY6Rkylm1;K zkZ{pdYW@U$Kd<&)s(eu`M>B6djz&{)|57H%fQj42D9w@fklS^owxg-I;w%UFTsvRQ zFJwjhVrRU$=8lu4F3{4IFG{@SMIKTL*?;OZr>aKN(Zoh}`t985PheLY`2lyvb%5#3 z#gKRk5Z$pEUqNlWNM36I_NX+5C#R(tZ&mfn1Y_Lc>@RbqjBpU(k$79^OLhsL5-bUu2biCFBe#+GU7-mDA&WH=Yq%(Hq!(JPWtEcE*rJ~qQ4oTW6G|zVVTd5g z?3Rg!C>_UdLSHa+VJ{y1#50d=v%w!~)(oVX=Uc%usl~&^xdJUh(J~|yop~fed*?`j z6AMCCdI28-bv#o=CDS}0@*q6fJ+nvvqEdqamIw#nOIK-CsRWIiJ|C&~d0jHVKQ~`< zpg5L~epS`j60lC5h-;5fwu5<;bVcqcda%KRGs7q{_m&U#4Ik~oyKc1PLx)`Wh^Wxl z*C9nI{sxND>uXCzYHquq@v_dZjKsX-m$Y8q{Y}@`J3hc8yZ!2xTNYv1NM7hH8AFMw z7{#b+-%`qPi8e@CcYL&K@b0f|9hwmOj082xXJ25O@iSAi3JWC; zEW->%=mTlZ7*dT0TO9nLdxt~IVM8}Kue#l!u9bk$fuH}0j1o(Q(fSzYymul0VF|x4 z_YV6vhrgd2U#|UF^p0dtm!P+v2E-8U9cpJI3RQ|`Lwa&Q!Lr{0n8Je{((WW7!39+<#3fVldotTh}-MxG!@HtQEVeb($)m`w>__C16 zJgxqm%&bP>v~9DkXL^ywK3qs7-skCjD@wgmAOn6u4`dfEDTHSmO{bF>2K-*l4Xr`1 zHkwdKL}%f5Mzd`fd4+H@X54-|J$XK2a~pf@h>tbp%*WWn;1r)rkh4pQ%NjgU`6A74W_V99e|%NQID$Jsb_##(S805u zs{L=j`@t`5n(XnSre#^H{qMdzI`Z23d$WZ|C)a|4LquUXen2E}Ob%UHS9%ZV?9f4M z`jEJh93Nhy<9cPZLjW!TWp^&&&<|K1(A~hc-P`IPemwdXXM{H~t+RN@oTa78lbJx~ zxAV`3U#8;Oo7Wd-uiu|soV|Jd`C$4*JOa}X{5b|AP+BrATqQ0Etk;9t5|=8|o2ihQ z&KFEaxaDI`iHuotfsnYSn^rsDZx(ani@Z2OL~2j)PQwK_6;4pP)!!)*ze*gTtq{!0 z8;6<)X2DMaq!j!@bmn6pI}%+%9)#pL$aJ^01Y;HaMqxR$!DzTuvcD z5UWINP$KOyh+HwvZH|nwaCHc5W?7LJ_usW2k7FTQ6%|m zwSiWT0W5?JidCQ)0ftEMg~wFl8C%^DJ^Q8B>vyVrwxo#MLY1*wR~70Mn0na_o@?}q zJjv8MR~begGvyNyh*;M^ht_MAN^Mip(E*`MYlZ|2;sf%5eqTmrb=M_CEdDHxe*94| z>CziczlZ2VQwRaizrDGcipSv=BaG=$oiD%~u|cdAS(fz*lZZH^1Bo0H ztx7Y=V+m17Aiu$OX(qOxlWrkV>A^y+vy@>84sULRF6j9q)21cUwn7{fyguLtfBxq5 zTJfGXM6ayRApYETcyDq2KhUT4`}Qm-?0Lq72|U(D!%*5-Kl?c>Lf5x_OAL}h8K z+`H*X`tqqYn|jN-E-@R65=+DdtB~~UQq@ITR%z_=moe5~T;=)_T=t&b>NmZ{Kn4Ct zj6DN^fU#da63U4AUZl%&hf9foHV#51oMqO4-6QD2;N&uD0eeoVLW`(UMlMbav-8ch ziIQ6!0Roml0S50D0l@;RN^`rBgr5=Jaa?@_o1JY?hS6{puI** z!#M`$tFVLHoSWVob#sJd(Z7=enrs9D=8&q>SYn zr;*S(*a`C_1rq+MZFf%i~XxK8kfnYgw=F# z3@~?=!bTB;Ri**ZORrVVfW=-6^{}h2{1}Gjt**Rr;!E|yKnHgqB4~7f8*-u*8rf>j zse>3F4EiD=JL6&qK+r$ZH!=zyJsNhzgtp7=?RE9xX*YaEt57Jb%%G;`0Ep%gajAe5 ztw+oR_7 z53aVExvlbqz38)JuZ73Q;s9TdAMK)eFf^1q+owEwD+{^8`P#ruu&IG?^QoD9FABL> zsl1wD!|~23j}$)VOlEwSUN@t=^b>C5;=|TjQ$?ULdd(-K3#;*3-~sOZ*8jW-Ds3htMBJ`6^|&fzVF4@L-1P5 zWd@u?94a4mw!*>iyJ(8h+hV@ADT#@;|kGXPl1+Z=b9NXdk2GkDNS zygWQ2cx4E{GxK=^b~^m1z@HZ}Y9;A(NIc^#OH=k4C1wq*>a0rFnNep-Rn9^?T`7J# zKKk)TDEsr#k3UiZB4`<9m1ddG2WaP(k>|AayP@+EGujL*0|aD_9j+9ZRtto3L`O)= zA?-)-;Z94|?NV+|-@M>tT3v{Hbj7^Np>qJ?l<5*j7>wE$@AY zR)7f^9-38#$MIXD2jS?r&I@t*pv#vQI%A(TOP53WcD{LBYm&Kk?3j>8#^|EUI{G0 zFsIC?f0$8EeZ+BrQLs1Z9_SHP(j4=wyMI3z9!O?t`ONHucUv<67|_R3rBfg;o_I(3 zChU0U);x!;nf%R}tW+M8Xa7>>$tF#zWyBS{(xn$qy@6c_Jx|NDjKnK>rLa=HuJ+QL ztn~xrQr**a^@{-Dqf)PwXWrI$%m6`NZP)4-@melawwI+>iYtHvd-;nHPbJZJKFA;Z z0*oODkboK<#9i>mXuY2D^K}m7J^?d%rLRP&C2upK8~H3(;scdF>YB5$m0MvURPL*W=FWB`NR$?Za7jOtOkLW#Ul z2rHXY!nx(!1St)JZ)g(nNhTWoo|%9fqEFR;6eqFIM+5j6_le!78VNHs>t~K zz#c;@pgVE_O>rxG*k|8}P->sl{+4V#BR$PY*E`rZgYgO59-KdB$DOY14zKi`a^X

EI4gV zVU$A`?@r-`RiJ>zptgB;D%?EeYG}wee8;>2_3AY7=Fa62OMW<bchqz`5we~I!0TnqmoxD_mR+v3N+;QOZ;rPZpKG{ zYv#`}lW!u%_zphn_v^xUNxxx3VPFgNMc2VpbYS&6iPs>!>kxhi(?+3CTvB^mT!y_k zqz69icRCl6sz5v@HoKb&q@DT$!0nhFqeB+0jL?r{V!-bGJVd*+DSM0^Z2KO9Mi3Fa zD(W0^&eFVkf`}k#>2xi&z{8E7shXz9U=z6is$P*#QDA2za9iHG6SE!H>7^fq5r(fPVa^J+dGeN$o-wu;O<%>T=( zn25H?%UQhoEbFa6uO>@?OdvRlG8NGBWkXjjvTqRX4EE%Sut{(JLIO0n2)7uB_Rwe> zgV0L=LpJ*!Fg@9910sI%nSU^#R+oS7r3J&bRPQJ`dAf;ev4=Udw7}M~))8 zy`ax$Z(hGXeRhG3gR-u1)Nk+Ko$+RS4>4TBp%h<7rG?t#t(PrMRa|oMj*(+ds!l!YWA<^=@uIj=DvX-1mH|4w$ zn@&e-jy95ec833#`7pc*nM1GTN{z23q6I76)vJKLh@Aq2nb@&xp@gRVF%@1*uCJ{J zsJ{vSC9_(MuX(0@O(T#J+)O83@HNaap=SBRtnzxL3h7Lr92Pdm|CukEQk8@~KjHHL zW@3G7!?bag>;*YkWGPxInssX|L(PJOGm++TRwslB0Hw^_`c$i8E7r28N{Vf#hT(@vDAN!umTDmue}m zQ(er2ti;MpES+1c(0fzIiK)X;y=u^abU{a4QsS%~X=#pHs}%C)#T#=v+oagcTvuXc z_DG$p#6Cds5I&S*X2ck#xuY@@CLiN`L3_UvADkeFgyIn4`O!Y zv9Gu^9vs^L_HSl`x#{6+e|v#t4sNY;l_&4ir&iJvNw9{xJF#M?vD|^1Bi8wK^g4-Y1uGz(R2u2o{jlJZjG7k{Sfk@w&|>|uVwn>SM)5i<{98cYJ6>A4n? zT(fIgmO@|CS)A1-z}q$_kxMwsRa&ULtcmH!rV^=}SSg6%=|p~ak-GpdB_V?*i z4&P1M7=LKcj7l>QBs>TtXU9a%zcfanM`_7iu2c3FS%`1rou8x5uRx2NYCb zld=!c5yH9HQ1jklXCn3v*-HHVJFN*G%UF2-=P2rc%chSEx*)B zs>*4@yPaS(nm1Y^QEQbaCA(&rzkPt#O_`NiAodcccC2Jo(FqWyhP6V=EwWa7ChBO& zjza1h2E!Y@eRFS?wjp$}9#WXT1O!Yy^77UIyT0w910Xfii|8$xK3fo}R$Z{B z1GYnjg8qx;sX!MC?g?M9$4{)q*ULZi%)M>k1H{xrf5qQfc3uu_=*)oS1zY!h|1!D= zEkR8TWJMn7Py?+IsfQpNr8wyi;EDSP5gu;hm;KYc;TTO5 ziXmmWi1j|*!aelx?Er-fO512uY4*{TzGmjD_5`^LOdO|M^OvT{M_7Wc_WSomTzYQB zd!a*XXDECh^kOecEe5l8B6ft39ps}9$dYX2F$6}%Wn`u##eV%Ruau|&06_o0*P`hV z1Mo_}=UNdw4xnK}bvSYY^gtGf=pZPJ*-;ks#7}=|%%Olufs;{K8$)^VlnJ zCTMX_(sC`Uc&SPYY}p5U#?&hyOEXWn`R)H~V=uC( zsB=cgwJfrJsc7tsM-58ZW=vBX(DuNFM~q`Nu|ZU=Fcwz2@G;ysfYRDbf{uVf1eW)* zbR7mQXztJ6`dF+;Pw3L(3G|m@7GNIuFLo2ar(PkkG8`~x3;eT`EtV37qOcoYOt1d7 z2Xi>+a$(XwP9F#%I@EAT@jw9+rdB)=ev1M4oEiv!C#H?ZX6GLc1}Y$ynF_`9Gv-hG zHBRWJ<>{LjZ;IEdGBfQC6vtjfWAosVhkV5kb5%ue*4R6?GxU`acDah)tihONX5`5A zX_2u&_hB4(4?<_dDT*yL7mDJ&WqLh*^TJ}W{;?CMc{j+i0ECS_4I830mUBeQzXIdAv7>iF zH+Sx}4Ta~{^#%Kd52@{~FxYGSjgcT?x|m)OZr>6x3W2mmL9qeH0S~Kg$>wITKCH#Q2+wiDQ3MMPbAL*j|1I zYIY1~3iM3SWlI$~`HcLpPdrtV@(RmnM{pw1y}O`9D&L=x3vG^`K_q7o{5x=$sZ&)^ zJXaM$La{%h$Re9eg!4a!P**Rg$oV4rW7(VWkzI%0-D5_aVBeIZsVM8!N*3v#3a7x_ zcPZTSClZgwA3SLDX#9}xB5B8U*g z5^hWr?K;qJuyq-I0nVlErGj`_CMHW$ty)|h=lU<{nd&@3$M<@Z+8}Z#=FNA#dR*E%v^n#srFcIPITHc*s z&A`eI4w%UUE(^;9Nikw@Jhlg+La{0ES}JR4Y4g50nQYLWfwWE%CTWKzk_5(uwQ%tg8yFrNo z0i|B4Y6)p(?uAp16F>-}202SQ7yMPHd14U*_V)??;^^SJqr;iSghJ!bQkFuQ(o^4d zG!c-%K#dA)9^jS5fHqXBIE56S@NpL(lpfL@ML2m6y6E|$z{;Nm6|N-YirQIxx%Ha^ z{2|V~LVF7ZP}CWix4p?;Emi5e9l@b(jxvQKmx6ZHW{1i$y(zsTLr{|zI*#iCUE$G= zHkl8=5vOmki8%xuNb3?)xG!rDqhOxifcGbLz$Ic`q`F9})bz4{R*F10Od9E<$A{nY zNTbOq*Fl;f!X2QO(Nb{@eZ&`zccdJ{N?TbBhh+iSzaRd;xd9Be@c`i)DCoy`;F+x@d7I+hCsNJs;NiG zB1=^c1d%@SeFs)&SgZX?P)sYEuT;CiA{!!C!Ysp?Kd(`tUb&y{&n3&x( ztz*zA!}AHF0Xjg@B8wPmhah&iWP4}y^;5OeK-b>6_V>j}z7+@*i3<^SV=&Lsw1&&k zu=i-;Zz2sP)oz?Sju^L{ZUYf7z@%z_`J4Geh-WP=VkPYV5C!L8#+&=v7@U!LnoXE8 z0Fsai#x@uLk?6SW*l)1;?3z3l_W@B3e-8UTu27{p6qH?f@J3#`aiRe!(QT@W=CL4Z zjUV{lAlt``p?C6v@CP%vjX^>ZOKV%jS^%a+R?r<(8Ahv_^BpsHoxm*dI&RwRH1A`) zzOJ+=uhKP}XHf+kyF5XlyZ~xpvw9D2ZmgUsC($hmQft|Sex9l5RGD@l!Gl6^L8&%L zw>7~zVhQpZiY2!4abH(1GRu8UQuL+cf(S~IaqaeJl; zF&LXf?Fj8ar3LM@(uSk%PAZ*_@%~-XKknWtdq3Ct9)voj@s2hQ2c&Q?vknXncJE}! z@TB*HAv5iR8BJEf(Qg+QZ}*R)1F&wxomcX|&0+k=T=P$1(~b8p)J-*Z50Vp?tc6RDX=@(6Q;Ry2=t3_^Nxj0zgFX_VLfz-xjl-H}nn;V2!V(zcQn;V`_W+VSD-~bbsMt>7J_p&Y1d=8PSkb~f))D+>h zWa(nfSi{2CVzyuKx>hbq2d+t_wOARg*HqE-Za>U*o>NZZLRE)1HxK}SK!Cs8_ySNs zo|t=$<26Zxc|P`KM5S&juxCZD&R(5TC<>0oqzf^tl_M6$3%lVs#xZj7hrjCT@Zf+D zf7IuD`4oAyq)ifGzEvxo-+ge^%_Cbz`UTxp|(yvLm5 zQ+^S94iudrDk>O4!YFz9ptaB4am!5>ztEJeMBL^7ipKwwv?fkTe#S(!swDd$R*t9r4>(tNQ8 zA@`Lg<3MCb+1ix7ZeY&-e^s0A+$3LE?HX}p&Jnq$JY^q_*v>uYV-m+=ovzjA%bB>J z$Vwvm&u4a9fvy=2(-%}-Ax8b3gBK~AEIVFfY|xNBJn3ZnIW|h{LR%=85M>W1Jv&94 zbOQJ9dovdaM0oZ#=tdxZ-}VkY@LXkG59}yJYhto%U3p)8-@Fzvpgv#fWQ+Z1ZZe$o z`#dHF70<8sW!M_8yV~`yYYma-_9zhIi}S2o`AD)s2V{{uQDy|AHo`BwwQ z>kIRWu&zi7=P>a3jpK6CamekIB`%&mj|)|iV?fV6NP25Rdr%GmZ;Xt8PZ8)JG6ZGL z&~1eKCEn!X9iW@06-8RX@x;hK^V|>_3o!m7#ca3IN7YZ~;`Gf6v5_TG{c_f!$|+o^ z`*Xa=vBqk4^5C-j*$Fgwytdew;~W7q8!#KN`(H+J8A5J2aSNdr9cQ?MsdpcPa2OcJ zRA+-1uo>(Y2=n1YZr~f3a#EU7m129 zS*WCu2KvN;WhA4?@NP(7EhCl%!QgJSxUbZy9bf2Ugfu#4@7VTQ7xWv1kp>S~5Ro0h zDLdPjPkn?T^U55fNS!e30<&U3piAkCu`ZCJ&X`$5h=_HbpCs17a*|k7I15C;!D~bm z${qpd)4)gZcH}5HZDewYx^gXk63swo4rks!!ebyd%2#e01;w7YrnoH^K248Je4>4x zzXJP_$#V)dFI2f~L+?P|pe~4YhqjexIxkbR3z@wUiO*GnAZCCMHwGiR#Rmctrw!vG zM1`_mH6vdqXo@$gN)3LDV3b)A@EsqfJ=Ydys_f|BiFhPDIq_2E97@yG?=HZ6ulv@k zG=E23g_wtSmM|(!f0bs8n03S(C0j+{`QRZ3{CCW>rWaX6_+}hyH)z(NRhxCeP|$1O zP(PT8Rb5u^&Bq+t8RSO>wHwk~83`({Lie#AoV1S^XO&X3_YikBdK!a0s}oMuk4NM< zHOrsfzlAZ&mGejUZdWMO&+P_D(5c=81Ii009*2WEFWkvGoQ5#abpK}@=6hXl=s<{T zjy)XCdmi!bS4zOwt5)nlMfW6d4R}Z;~bZ3zfWu-gnt3|GbeTf@LO?TP9@P zD%~-0IzR@SNfF^;Gb}^e8A#=_n zcu7}?L}L==isp-@=5x6+JphBQ3F7Bt;VNJ&#qSC)3Rzz9kz|=7o}>-7=?{CW^HOJN zoK`CF0Q#Q5S~eSk4_Gn$su;8{_H1XNt&=n{&9sd~jAstth{S(-SPy9xoTx4_vn{Sv z0kI~(pf9LQGxQ8ugb0Xsg9wSCM@>cXA(rUdD<(FourU|8E>=X|wZG4M8Ov#cl`b>3c5iH&r4|5|2x5Y2ewVe4W zyP!k$ssl~-_C?>SGlUoIMiyhfEzUGDt z4R0#)Lvl8Bg$y;u#f4=w4YrK03&^;^INs&6fu_T!jivQ=r%&$x=G`An5dB@GBB*)a zy6-e*DfUiVDKxUHF}69x!O9lr$jD&XhE-Qp6Np-ii-?tvN;|0FU@zS(G zA6RBG`J1xIf1JQtyw)|;{PrWasm&d4`SKM)uq}Vd(C8$>{rk;EV~~!+8D(7wd97%Q zw0&uvV!_7lw{gXtf1%3;+cwO#0#N8=aE7pRo^`k5SisnHY#Vh)f<9%qnx9f1zbD2(pd9h6APXaHQ8;2ilH%Ra!bR2#U2w;ZUegcBq@FH`Y1fO}{wEO*+XF z$jyYj71M|b9L+cz>8{C0E)d)cXl@U<|7|!yJ8&O76SMiO%CY3S0Ecug9)J_1hG*Th_Nu0W7g(0k0-nLY^XlM_epc@{XF{)v(q8a64zbEOLv0aRid z*O@Fb)L8M=F(jONq44%NE*9D*i9&Vm0db7+?zR~=Nvu?rmlg3hj$$r*p^@vbqpxna zAwrj(l_%z>)zIQ-BXgVmauQ!TERM!?M@-aKgTBfw!$A_!3yg@NmmpwMDd?y7shmS& z_8ylyL*-t1ILn+k5g@%E3xE!7Kh~n1^B!;A>#rt^S>rmoL0l{f4AeDgRCd-xrC^py za2PSfKOq0en{-vLKpop7b&NxX;c0}+(sOb2zrQ`)I~1?ppI;bN#(a!9!AeJH?4@;M zkB)vDtHf;Q8^7i<74>PyaYS`(LNl5W&U~5{vI`{t?YsO8F@}Pq(`QAT9Lu9oZE; zebkdllx@44@#{_!H_Y7X$oKjeT`mvK%5%3ta&{?&xE;O z(tR>I%(K8ca+b#hL?lioepBwWUcdC@LH~`7FUSFGW(~H?;4lPz9ghGvow-=3A_NiQ zkfRG;(W*!ha}vGRrzfw#9iC)-er#Jm8v0$EE!iW60d6)n*bzV_NT)p8Iz$u8(G@Qp z5C<^aXiUYS{22763jkpZ5ZGKmnx|w(Xq|QH%D`hxwysW__-;R8a%(oeO>Jn-0^woU zd_4|M$LVT+U%Z9zY=|(B;_cb%UpWa<`xp;KpgTGda|3*@-AFKyf*Dsgcs#nP7`oD* zayE>lNt?RAFMd@yU{AtW|;M)hUW+m ztx0AZw@CC!ZPVD&yi`SHUpI&FTa;I8BSSx|KRyxn@G|Rte8U`{x=l%!g_2j@M|lzk zn-JY101f~ljybPJHcrL5{lRUsLAY;(mHLDKm& zhj@fD37tM4T?!Qmmp_Y5R`75lD>GO9)#%MKb>h;Zq zO@`Jnm=n6w$8L$lSbE^nnJg9np)7MDlWSE}X{i#CrK=R&OMPIgqVF9(sB-%iW_3L% z``(1Hw$^aW|8^RX!wB3o_btkkzG)1HI?RBvILNYClp=~En2U26tIuB;L9&Xx2e4!m zMLU+s^;f^(`j$6T;-PiTe`Wn0;1_)#r+x&j&8$ zKx_)RE`3Zka6>}ciHKz`GWlnkZ2=9_h%ob{>t=@8#^ie_0QBWD!4LP|)vl}#nHLPA%2~a3%xn5i(qWKC$nF$-Lu@U!F)ZKio%<$4#ndfP*+tR%XL|2 zvQnkEmPM-Tk^os{0q3*;w(~*B$Qq_HQr<#HO=5-B7A zXZQ)f#+ZbR7@b1M^h_Kc9PBav*ob2Jo8J^f@dNN{5XnEl+(PjXaC{N)5#}?nzvO$c z!kNex@kWDY4+rxcG^B^+Hjkq>=1;7E2>iu72kpodg!dDTyIVOJ3Y;K~TAgF=zH;`M zslzYf?g1EUA%K9`Eky`^VAz;>{-6}(1vR!UlgWy36@7{J@q0=FS2 zE;c{sxj6P2^wDAzgpQUGK+3BG89p5B7Z(i<^5{d2OH4zcEyMJ}7-znR3PXwe5%%k` zs3MH{=TupObEXrcEr$`#!@RWkYrAw;8KtxTGo zX*vj|@v+F&W^Cs&aiN?P7_p9v1tE{bwJNr#S&D=v)YJy+J;<^lawS#Bp9Jg~ncgU* z6fYp%#~jcQO$qDC^@e$;nQsRo@g;i^D%d@nus#kI6@v%)w8CA9nEODOiz#81h5$pP z5For7Ko#aELnXSz=tDwbHHQkwIA7KaWtY;i`1bqn#6xlPSUkj4_M5H?)3exVgcN>a zUIRJY{?k)`YVue_&-K{+jdVI*_%|-Wj^%^Lo-uEt{AzE9qe~uk?XLPbGdrvwcK14haOSebdUcnRvdu3%1+5Cyt?#o8Uj@CMV& zPAv<99Fs_qxpt-9p2# zcqUI6Mr0|HX#f*oci^J-V8;6*YFaEsh5E$9Q$wyGV7U)NqbTsH z3PiHCa)4|Pxx*Rr9*G!IyC<-xgFc22L^jd*6RLsYufN0{q`fcZ-AhLwr(y&R98D~K z{UR+ZRs42w@%EgJOE4o#KP{6=*#eh!MZE$>f_x#?GEZY*r`Bu=z_0FngV7J*gY7%a zF-he5c`CEtj>6;DIMn{pmg>nvqo*TELaeV<0fzQKYbU06k9HLt!xmn|%)|Caq8Xzc znU;0sxOO!bL79RpxZ!~Z&3f-*y;^6gQoj1?2;9N=#X+D;v?)rnu>Dy`{-mWYD@br1 zU;O{sd)MzciY#ArzN-F;Ky$IH>{6<#^sp@ua}9=RodM%xo93J`zI{_wSyG~^%yMRy zN&N)4$)4lr8b3UBLhA#~Ai*tL{nm^&L`0X8$ky%x; z3{1~-x8&uD$jo@|*s){BjvaerGYEIAlCP66bt=Yga@-MixlA|Nr(L=0tl}&Ix6Rb` z%j-mh>-!l}o8Rh$(Z&wl+&bHEa>Pz|go4_Y#5`bPkKK8g<6U+qcS_w2I3?_=MOKH) z#97!VAlsCpwcQ*9Tc+H``dXxLqV4j3;ut^4^tzRrBWuyzTZ*?P zx*S@*a#uddUcXJ_JwMD#p7JcG){y(|qi2h2@4|;C z(qvV0a;XmZT|1Bz+~vuWbcLO~{3~?EU#v4_H(3*>9`maHy)rVQ9S$I|wV4__%B@bT zO_W{hPCH};&TbB1R93etjP&ezCiXRBjfH>j1isq8xIiC?IteE<)|TdYHjz)CizZb! z68+1T-PC{?&IChpBuL}N0}w-AF(3)klPgv*w9R77Y0&;P$&Ge0DD=Zyku0da9jS`i zTasp4egr_0C3S#Fs;Ul+kx)~-#bPb#AXi&tloZp{d6ZOraYg29%#WLu4sm;v+l_Yq zsKIP2uH%rlSIQ0htL48R{uc)2{%Oan_(A`KU$eal%MT{{XZjV3QR>Im!kX}ZcpZge zp)fo+_*aEOp|EB+85Rnq!8L129LL{Z6^d($!-Ib%3O{8>yZtrgZs@NHKe{g6cn<$W z{$S>yF&n^EPN`5Fg!$3G^~HKPb`LGFzE%_X44dI{%U=Ntdq>FXux=8;iy8Pxm<87Rb6@n%r#&18CdJ7Rag+MM-vOHt~Fi^bkd z4!a0U254Gf^We&jLEZ5p?yEOTdIIR38~pAbH75+|MA;97v!iL_gbMo1 zfHWQ0yOf{ou;D;m%Ml!{@CK`<$@XQ*<+8_nW!{sS{Zq<|F)TdCsl>K3)cFOeZcxu4 z&w)K&xN9d|)$Jj#Fm%U=Q$WE$NnL1Tm9ToN1W77M0FesoXy|vY$7dY!jWyxtlm%W= z!qgpTN03z{GJ{Qam51+`l--IGkDf2=9E2L=ILb53htMp`(ngg8b+R1CtB7VpG}*Ge z8;V&6_F5o*l_O4j(-2JxM8yf+2@eWbkPT=R58Y(Q3D~~76Xsy=cswUa&5Ek9$rp6p zo^ldCv1AKvG44jBjG|0PnW(Ra-Nb#G580epMX^i|D{V0H_du!w7FWO0zP({{4pRZ< z+=cClpKV%y)8DcC-+*Q%pH9(+oQ1>6j~!6e%Jd}4%VIkVKdbyEFILehI^lNC#O9m5 zO31g{(o?df>b8}VDcU3FVeIimi75GgsYC=ZY1gWKd{@5am+cx~c_(~R-6dO@RX;G4 zbMl#X)n7-*u?=(;St^JW$Z1zBfn7zz`v7Zr!aYV9LZwMh1Zb+8<7 zwUKj`+}npaas8;M+cO#SP$ku_s|P7lxa9qltcE}~%qgv&7*KQr&^Y_9+cRyRFU#8P zW$gG;H@v}fi%ME*yOp+UTf6y6V#6{Tk{1oD3>8K4BWfTJ4&dqBh|Mt25&Wd>O~~2N zY_NVzU9wOudp2Y0%<4`gyKuFb2ZO}2Jx*xC7G6PP$ZG9N4cCTNi`m9{_wfa0#mi9p zS_YlVi7gP|UD1)K&cSMnqt{mQqJdvs&*-(&x!$~JS+QoL#L$-2$jP@lU9MYOek7Wr zd1mcKo${g4wc;hr+s?C5^-s+~T4L$gIM^iV=;ke370+0A!ccA!pq&f}IVX(Iw6F~8 z)m43_V-RLb(uK!Jk)CV1vy+W-m8lHhL(x#*LcGn$)3S;`p_wx)H3}x?X&KjEeJobc|EiDxEMVvRb6(c}rkV^w(^P zVCM-9B(jSiYl9+*&YOqQgac83ZI)T^bf4OWA)n|Tty6ilt?89Jq?WbC$y8(WLbsNV zYgpE7UMabS960d;UbF9+gS`B*Z zA#5g!u-PD~PI36}Zp>NYRv7we$$cYyf!P6V)UcP7wZZ-=E5Y+sZP&PKV(7xV%83~f zew@|T+$gF!0=G^qahq@G1wlMehnoTLAtD?4qD8e&;9j2GAdvI}iXI)@VC6_s;><(= zZ}dXsCs~UfM#|?_$dzaXq?D3m(~?N%^fPM>B+Kd1XDet=*%eqOg=Z ziUb2~Hlov2&eYzK&i0kUhnB&`7S7}#6;^i|K{Z8jJ0^9bnqH>>{=1auqov* z+S7^0jJeFoC~9nW$Q6g{MW!ltLDU`F!v&k(5q4B0YPi`uDdIoFwu)fKRpSm_cZ-bs zA4;EJbkK{1pkT_Gh4SvC2AYL|p+?xXnq_jpf_PxqWpv`ku#f#7HW9Q{0;KIN8+l9l z<9EFB-~Bx6cx926x=iIo!l_M%YZ%5wiIj_ehdmOgdo9=Q5ToMS9lca6ZL}S)OiLDQ zwr8n&0x90yyV0&YBQgWDct*tZ&JLV!JmyQ{f3*xS;w#*?(ogd}#}Z@F$_fo+nN*6+ zyA(yq1%XogLY$f_GSp(V1n*|X#1qSTtymA0(dxj^8M1_$UY zUrtoknjQG2l8tjCi!MjsE{QlCd5o>B3%eTFF4v3|NOeak1F~hR$VX<|3tLJw4zl3- zo@gn^grv<15xC6zUrN6^6^e1kbE=Tuq@^(32Yrc~Yp*QVrmEUur-Y7~p7Catb>!IM zPRlZ>gf>*9Crm!352O+!)A2SmkvFHT=b$omVviD9)@0roAYHRLk+0E?(afrqH84s1 zuvs;-XxrTSEzkYMi=yE(3u9Y;ad99!olB9QkXJ?$p3G<+8yS`0w{Db6F)M3#T%W{> z6(-6WnkFpIYigtK!l^f+SwTle+L0virV|gBVB2I%fhtC#D^Qno@*m0Rsr%h3m8s#> z&ekimFqmALg9O~?EWp0Wm53ZXh*`>W%K!D6T{IeQDaYWP0L!nk`AoZ`7nR#^LJLY<)TyPfM#U z|CQE`MD717i$`LKAOrzrq-ZXcfbateB*$>9i8rHei)@wNvzTdSi9(s&12B% z>$dtpeEb7R^}iKWZXd#bE3#}Fh%n+yrOcdMeQsItEV>fq{v(s-n2H+ub>?E!ouanM z+`5$TuQD6E@N2!rLZLUeh!}0r^>)!gO^ul`ljPUbnoEXsGHoLYxh1YHEg5)ABcxku zexorI(^S%uiVE4OYMsV^tCmzp)UK&h!=m!xwYNOaD z-><=&Vb02~qE~E#=#G%CEmzsSfigfIncN79S3Z8&xHk&1{!V^jJ`BblYq*-|s=Hy> zQ6s6cu%=5L(YBF{Hg0N0*|>ewEwipH?|azl!c=T^0cmC5$yTo%23dj_r5l>;C3Z@A zP(dT_bOXl_ZETdtHO2Pf<*b}?8*sTA!qHT-AsTjId%kO1ViP$s#+5OxGUtY2)9Eh` z76#V>BSLlmn3Jj-GO&SuH?7NdBy2J1PDsX9xsie!C=e56FHpHVtQIAL*Mar+n>vR8+|6<-_y!La@v}ox`O;SUAn0UBB)|tnHEL z37O=K&Gq;Jv?qJlT1Bg5l?($yeOnq%*{!-|R%;UEK(Lp)18}TZA*QkG)uvgLInZ>C z#$v;AE;4$c)TWoH|EpBpevppo;`+bEHHG4EQvbJ9Sl0jjBmMnp>i?3?uPpD*lxk*L zi8Q5vNp9$Q%dWLNLv-ji))a+I5>irD%qnXG&b3+Iy{D@+l^FZ`#qABpV*$C}aJ*31 z!gE^MX@qAe&FV&wB{p)J>DFq_1Zm)str%$Yx+E;e+C5s3oC{yw*K7^z9cN5}D;psC z`m{D2P6n_?vNAn!L)-0+`3*^qLZdUc(;K!T09{O_!baMK_7%D))_b$+#BN8^X@Wms zxq$Y4tM2rUJEG!-Wjm-i6>BlTz>A9#jHok4W>6OGz0reo_m!mt7>(vm+IS!gW5w86 zW#(kUop!vWB!o|32#NRzFoqBsIcZZXXPt;N5oL2FPy&3yD^mQl#6~}IVh!%ix7;Mw z3=I~9U90)6P;A;fcKhbBt^Zj;m&`CgA;wqj0{>-uvr2t*i{p^JKir%h>FPt<(~ z^x?ms@xNA6_wak-i};uWtw3v&WOLVy7DUri3hj~Mt0mTQmVhR?lkZV+&P>?>e#?Z0 zeLDiEIvwLdRe*&pU%7c8?OcYlmFbb)%(em%D@&@&u?z;kAu0~TL3ZAAW}?{mET6k= zPU!aHtWFJZ*`|pz9viZt%0fjI2qhDc0d3plH&$wL8`^d1z8{c^v@=VIn&IS1V4bS4 z!>nYONy2JOCE0si_V3t#*z|;SgZCY6ex$|k+A=`D2(q22Q`0Od4EXtz^XDDq;q+{7A4Q-1tE*6#&h9G~u$CS)u z8eUz+%@`K$b$hNvuPIC0+DLX((AtX6UEmuKDLav=<&G?L)`*G6+)N|xRz>`gUGDa1 zFqDBuWw}LNrLZP^i?6@6g0NFXbVnMJLohfonrY6?eJRxi!97-KCG-O1Hr9;gtS)H zR2q!U1o!ugta0}yN0!QYS(mu)t%T}0r{&s=yE7_{=al6r1}-idOe;qgIH}*_6XmjN zShfg`%4s@J2Bc<0unbKXLmM(_uDD<-yJ$dIZpAc~0$&zw*G&SYOu&wXF`{z7ZnJ0p zBbYDFdW+V2X*7d|WaQ)omOPYKt~D!8*kOp}sJ1PVix01EYPL=JH$B4Kxeaz?LrKZR zSFc$gcLLZ%GhKO*Miq#enwZM{a)!*e(X7I#@C_Iuq1twSL8Ei*l=BLGQZ3BpptZyJ zT4~2iLn&ILWf1$9YgMd9uFYZu`=D;tbzeeJcfG8a7uwBVj(g4`Dm8T_zXHt=m5#-7 zSA?L>piEXOo>sMl#{zU9FN)9+DH&Xn!`7kXIy0fKV=;M?JV{$4H2Nv=n7SJ`mTDp2 z#R(Z2WEXl?-A|0n+fdnGEe%WW+<|8 z_5hqsDW?FiQhiz(+c{(_L&_sK9i{>~SIX?ElmWcV;}Q|>nqf&zXAc}vaVkx$!&*j} zv=K_fw=ztPb+a%e194O^PwgWTQ;T7cG>}ico-r5q;lDaWD)0jDE*|YJ$ zh}NWEla%rbbBY|1_*3G(`{MZ&9|>wQlcyHtMUjpH<+dN952bU213|teW;YrHLs(P} z`SiKvRJa*DGtzE1*_HqGLZy~1Q1MaWY2_7NLYQ(h)h%n+9I8l_^!ilCxzijJRPq>7 zH^5gWXD5MZs)O(psuGa1ej1^X(f08*oW_sDt;Rti#%x5a&|^n}%TOO+wJOOI$)3iD zI*pNS-8RCFAVY|91aF>>@B8_IJK=h`!dQtf(8#qtuf3g+JUZZu&E`zw1>b}V*QP5Y zMYSoC?2Hoq1mUZ*K6BuY?ePuCU68tG@7R%MdF`yycQcU8Zidp2#=Tno>nEL;X_cOhPMI> zOm~tYYNNS&B5yTSOWFvCq&GK?sJo&NEqD+RO*;WdqZ)iQhun}(=L`pA*rK%03UYj; zktUbRbR;;M2gij_+Rnl#{sfJ`R`>7D9;YvqNfImhGo@H7nc{XjiTh?q;TTM@%r`1R zOBI_qq^FOGi)zkirOLP+?`j;c!Ym=w;njs0@>|6?a(5CRew-jjkd(*^V8SoB_B?UXg`K zK<2u(Bb;=rQ8w2>5Oc3yY2y|dT1v|4LX%EYAQ0?TBPFNt4lCSN*lwttL9SW$8?$|r zcB3&%S#XD>F-r}VS&AdubLhl2Rdru+yXZvvcdEY1#3M#(gNpHRm(!b(W&^f&%`FJE z7m5O=t{-U_NcOunYtV2vqGR#8KW(tE+^0ktynlfOa;TV_yt_g8r<_Ja@)wieCJTwY z+RM6P*=iI>?5$Sgtpu3|R#~miBVJw#cdV`6bwmLMZ-*ht8y8*D3!c}kvsrMB9hPR* zbJ`F?oJ`S~!pPFG@YbA4uG~vPSS1L4KQX% z=n%1UF{qm~Jx@WF3OWB) zHDYqGs*x8v6b+nkBGcpu?RergEYjWyN0JQVwQN|;lWmpAvZ}$Fj$Rwecup&8bQA5J zK|W9P$-T`E`5;T!HnTm`!x19++!eeVnTcolj%8D7e}R8jqyO;>b+C7piXe;Ye+-n? zl+yYirQ$$oS^wjY@t4;B82*#c|H#H>-{b~OhM^xs%1WC$9M6l`kK2GXG{Pp{!Ci}% zgFd^VC=Od0x`C?@d;_Jqlah>z;*eyNi^CLMEsEqklv5{}+nao^>Q2bju zvI=ZaLDOZcFYIX__Zpqhf&c89Q-=XQ?JbeZ+VZp8@3?h?8cl9UvZd_shcE0nf$OUc z9is#nm4GTqn`^!|fpj*V9#b`n<5t%tX$M+1bW?=JHb`{C(4C;O-m)JAa_0-d2hBna zB%BX~R&S=KBbLiPt2r=MsX13M0}Ox5e-ik=#jU&Wu#}Hm4XX)()|Ba$ed^_rQRdMeiYv(3wa)}DiK?!;Bqh_WEdJLf=NeOjhJ{6XUrx=KG_^` z?;(;Lry94tO3SUF3Of=vYQ3p2a_k!AUvFi4x*~>Qu5_c*>bzEC>x+e2b~N>kRM7Y_ z)V4-L$sAREIpt)pSur)Xw<*C~al&%ojuUQajXx9N`INL=onX0TUe6GvH6>9-?x=Yq z+O-o|S;(rzn2}t%Yb4l^`I3HWZt(+X!@E_ttceG$X56|kFG5GTuvY4a6~7!>6TUxD zbF8vom(R_*<3;_I{-S^D-#(J*5J0* z&5hfmTmEyVrw2_ED;DbvjxjndHFS7UEaW*sik7Ie4NlMvZ;Yd#opeIc3gw=BMQ2t} zwnmcFa73j3;18{CH@1;V%=T5P0NEy7;Hr1*M7cU)b?P4H=+G<9k@}Lyt$H~n(PGu# z5lY{!`+1UJh88+S@}d>3&jwrR=4hg6)%(q6Gs)@5++V=5?VB& zmQ9(kB>#d~DQGj0&GeYxZ*MqWhYX{_^&>l(^d@%1ZoZRXHkl2$&_2 zxo)=0lblczhtMyRmZH)DCks`)bc}64p6=X6d;g8C#tst!4e?ZLlZF-=FgYHqs>Eu? ztm))dj572^cGIp+TJbC&-^IgH<@=FJAc2tS;T>CC=W@elJuCBCC>Bo2ZD>eW95xwEYchbRPDn#X)Ld^0 zTwc8c^PA~m9#Q@!XicVP%B`rLCccorSUb?eg@iRXjN}w>rt_rS+?J=}H^*zUeX>1p zTTN`UWGq~7B8<;kykyp#2%TsXTAAg>roP|HDj1`qisLm-Ty$ordpNafuQn&*S)4qX z(Kx#6?-zG?vcbeTus%5_wonLX92wQcU8mk%lTcsuED0QQ>15bjfS=4S;U-s*nA-JF zE__KOQDx$TX-kVHBt%Ji*5L7S1NSjdYoo5Fw~=YD^`z+aXO{APIz3ijK%oFT}V&_ z%B5|Tq+lrA2!@kFs5j`*YTu&dv55cykL?&r3W8E;W$}Ek&p6dkhjVvMI-aP;s+q8B zNeYNfuPoOY^OJJ9r&=o}?OGICBC0p^(XkzhupGdaw$`1-1z6XcP%44dtd|ERra7Dw zkv%2Xot7``U;^x7NOC@peeh1Zp&R9eM`rnKIx1FIgp@@_myZABUOkNbKr|%g;wDHK z!BK*w{aM&BR<@%H$jk@YNE%_SL6 zad0`^v72Hipd)m7+xM_^!RT47MynXCJgSQ_%t{c^+d|?p7YeClxJ>SNDM@%8OITEb zEG`?goN+N8_^lA8wO~Olba2y&)<0U7{ zl#x_Yt?R^;rYKWlR7??h;{|Ani<3!OOzc#-+Ff!FY}o4s0|=)Q-OG2cjcOOEk*n-J zComoIqN*-rCyZ4I8hBh)c$bBvS0`?jWHXKtzh%s#W`*t~qkzR>xxv zfBYpBjqb^bol7WUOUrI#-MpA${b+H|Hg|ho+_P;;?u})T$Ezh3cB>PHMq!3El}!Q6 zN`PV!zYyOvCG+S`%L%kDObxbH$PagzByWx*_|9jD9b*aWCnVL9D7kqt4s@#4d^;K* z%*w`FYOj^cC*PaAOD@yXn#zmusbub{F1e@La=TSowKB~&KGm-04V-RGDT>u0Nt+?r zakqbbN?boGT5f-9s!c+Wl6)nO<*f5U#TZa4J(YDs%wSIuZ1lgLbuPTo=AL`Bx^8M;Dg9=Pbj zC6}p6qm+EZ5qae{4>EtMh>=tI%;wFtT!8}zJ8Tj$%O_}dxt=y7hh~GS)f)ly$C4*s z%%aA2KttSDbt>!~Ty>@Wu*nZZyNE0=e6^C$#S48mJ=0T;i^!wZh_+K22uIb5Lnp)p zq|OIk9RzhGWZlIzMLmc@1K zXhTvZzsed>jNP&xteaM*XNOh_OKL_L=9a>krB2SkocLj;3zYS~_}o@q(~lisRca2I zqaqFQamTop&*!5g!)%hNYc1wf?bv=DeM|25CJ1q4>>mL(qmN7&iW=K83`i-X*~%#YwKNKt0fMe=w@`SHXEPm^6qe^Tx*7MAu)~u z<8!RS43j##GhH#v5vT$wA8!cUz$A3)oM_CWqcAcFK;?BjXSUNS9)496hpk>M+A@cX zF~w51vA1`TG-!E5EXCfL>G2XGeFYV z*>R5W;~LaX5{N9dwTm&dy=g$14s=4DTzHn2S@p4?DwkokQqS4} z(wc=ljbPGoaZ~OJTA{3mzTY0Gr7kPySYk=-QchlYx%62OZSYWxms>LO{vd-USHfzt z7qdwV+&u7ky|D;l%*d>+qX=il4b^2e@*2|eiRcks?i1^iN?kF74;D%((`RF&Dd4Zh zHn6q9u?;y@kY_5#Xrb7+1E*Z-et)l0`snRc<_)^YuBfJD@#fWi)$Qv?V+wTNeJY;f zc{E`40*2MDBem-BLcO=WQ_3F}^Nto5jk)x(}q|J-X2+ddKJA;X5 zLx#6+@q%6)5$jVcvz;Du(AAg)@{D6Qs7r;-TEwSHu|*w16s7OB1l61l3$RxGp~<(w zX>?nHyTQ^^Vyw~51J%y=jFB%oYsz!lJ2bl0?s?KEPUZv$F4tUb%N~yxlP7lO7 zja9=qmfT-eVrB`JgnSR@sj5OfTrOR0SL#?*Kd3u_=9nO9jqjksOA1YYG60pRA}%Fx z^j1lek(D8Cg2BlycNc6j6=$Fi>CP#=E<M(6aOOj^9sF*PiN!+S@H!8fuahf5=vNU&;5^Q!DI`lqfZL2kVLO`o2 zOnGQ!^*XZmStA&m(~U-zo2kyaWl0d3LriQAcU)wmBsGLall0c#HB{(s)}QZ%5zvwJ zsTYan5=UIl3?}82I!%O74oO%PJCzUyYU`3yl4|J#Nbnn-IMEI>)Z)3hq}92*F)eio z)=QsNyH(+;d;0P1((B|)y_$GQcHTHH6b6BEE9}@Pv4-`K0t0*?ceVm%iB_PDX7M&M zc0S}Q3#zfMo+Wu z*IA5Ht-vxYrYJ7ZV3;Zd5J?DpuMekgRBdmJbje|35wPSu`9f!IiAc2+8)dS6TvfY_ znl!x777|f6y>j{x&^(Guo!#}otc1i-x!0{m7Ww^6rlZJ)Gc*Q z5gC;MU}Y95DGOzWMKk_5s?H{cEXS6Up;T&6bkbD4QLy=0zZt?lQb?zLu}PWnW+c{A z5sKf9^V0#t6e${567r*~k7#J=NrSAU~hf2%#pZ_R- zf1>uE>DC`B%M)!>y@c0%onIuaCiFz!YH zj1|Vp|DAx9?WEbytICR?Lxy|99V6|U>Bf!p*h5RF?8)O(T(7c~UAD0EL8mebTaGt9 z$YsIyUX!qjh!rnh z-@+Y+XuE^-c}H$3?fbz}-WWvY1)acQBC;glEWU~Duvt}`Sj|+mLQCR&yw6DhD+OF^ zTMe-8pj|^s_DQ8uaxp4)u;q)+JE<=HqJ7k2)=$WerAhoCsUpF}HL6=mhtX8z;7@FZ zBp)jK28q9bn9i>GKul$>s-&lg~D1vl3LQ)sW2Rs;IO(TP1(qI27MNhPvzOQ z*pd~SEpUClfx(R%(6(|_W3yvkl=+4U(F12dAi1| z4YF^(x-d`a;y8BQFU!^Cezc~He>ojr`!yj{&BbB2F;q& z+cA+UN2Xdlh35x#W%p#`?OSgi!3Cu$M>!F11a>)c%eea?=i#QYkS(TZqx?9}RZg#D zIicBY4*VG+q7M4DqS83p+iyg z{i$XHqprN4YaJ|hX$N=uWGgc-E3eNAzu|hYzClWTb{MHwvUrqsyE1HGN6v(+tqO;} zn09SkS&t_D=EUR(`JMpQ6mx71E;iuBElu~CwGknPlx=8+(2UFAD2(?gv%;B?)60!& zv&s|#-~}~XFpQQ_c}Z8!YUr#I)dm2%Kt;bb$qkaJkSKI&Rf+p{&8?`qktk2+N$`*! z#HB9UC$ljFISmuc?vnX&FsE*M1)ZT)Wlw1EaG>a@QDDez^&F=n_fj&Qy5vnH-0+9M zW!CLkb$mi~#m(o^2wRxmlNLVRiX8kJQ&jfkw)$$}SgdwV zqwDAAAKU`4psES$Jq5Ic6{AgoFPBjvms({NL{56`dWBXeTwU_Dt0>tey>{6(5jv4s zSmc9b$gxW#tJ{qR(+XoLxnt`VS>Rs}4lCmtl6K)#HcuDWW^9RgdC~h1FZJ>vxGaiJ z#CyZA*J8hqyiP=&Ds2S*v`6(b(id88r*?$S*5I^!k>}4{6qJq z0w?rq({Mr=(^r`i*TFWxWx}{WvWU@Ve~AU z=q7EziG z#|?g@42Ont*}-cSE=T-^4Fo`gcFUpfn zd5Q&UUPXd+mf<{289|d^blC-`lB5o?{>GrhFvYtn44c1~V9HHU z;8q+`5TvCM)QW}7p%cX-4m)D@2oMdaoJ3b*c0#VMp%bZdQcDp*)^=F2f=%*}e8c#z z3si^4l3KV9sD$g_c{(}Xqg)ie$!&~WisavxDqDh|ySX+1Z5;Ql3ND_03g@HklUElZjd13e6lNW`)b><~z zLX%wVJw~=OLcuOF}Y)+-wd5&Y!knO8Zz zjL=|%9gRB-L~cf*L>BUEVtW(G^->>aBMg`r!-t+(GPZXMfra}KH-8Mev8 zTehHD?sF<`LpIyD^6s)wb1MWt%yP3gbm-T@Gv-XqrYYAh5?My zW;s=Kk3B`Vc=DvjJu4Z7tC>6P_}HY%soqh{`l~`k+F^mw)TW!1biL86)xd_rk{Bt^ zQ9PvvLe0YNv6Hgt+=w?+EkfLE?{6Eqwd)n5LPg0fGrL7duM??> zLJNl3QU+J#s|B291S_RV{(@L3>SS$JkV(jhb(;gTa07(nvwAT}E+t8_o@(CGz>rB2 zQH5}3LFCatiTv0jWc^&Grzf?lm|s$?k?|=WD?BSmCumd}yf~QTmMTz#h3Nui^3LrC zbq22~KBzGnESLSD!j|=DySJn11}t&|Ifp&)jH!>AUd^((lIj&^UrgH~pEI~2EweEhH`=GBPIB=z z0n6HaP+5}iv4d~hPUsRD1*{?wzsZ*zLG@R;70=!(2|xLuR3sjE^GzfNzeXFfvhPhhbj^Q#ACthy7k6;n z%Jk@B0N;jK#haYGh61WYivfXWhg^|=0>S8zVt!H##kCUYOKyxdDo9z!IkC3td?(4Rb2Gwd&fn zA4Zz(ohJQ9XGhZ}Gq^a`VD3d%Ba};AJ}6<2F_AB-%>cs`I3b7tYS7uXQh7_|W@Ad= zL=d3VYD~xds_q+9WHe%;xCG8BPn5Dr4Vit~sm-b*6K=nr1>+Di+Z8M;WN6m)oW6+w z=89u@(hdBY9XWw+WW22+AFHw4C5)A3vc9k^OAWf3G;)j^xB<#9?%kQ`A(UCsuws;n zRWut~#>bl!qBjyBc;d#3ChdFKG6N--6Uc&fO*P+*!m_>N|8S-}=>!&kw90 zcgE}M8<*eurl#%0_q_5!s7s-v2F}P2Fe9s+$qG2oEc;C_BD=Sdd4hnEP$|jcQdSGK zbLz;z=K*=tGM<^HkPl(F_E?vUW~M&C=P;NlWI5T#!| zDtbrmFy0%>AZA<3DUSyEh+nJ4+F*Hlo!;x}yvBFkRRc@c3FLVN8qJg{4$q0+?X z;c8G}mAP40hSFos2M*9Vo2I9ux+r2Uc&$;URTO&?fQVyBxLi4Pfq7Wp$fOV>5P0^1a#{sBfJ_No0N* zJh(0*xf7Eq6yvLsbdr_iGd(+ZW_oxmyL9@RGW7aysNMf!+C8mMX%M=kAVH1TFALnmMm_U2DW~43)2F~4Z(BTQ? zn9%ha&BzirHa%8^h8Imyai(29j?r>wE0bec0N5%x;pffOz4R&%ovvS~MOJH+JkS%SFs4%te@OYur;$`xSyx;EhlZZug>x(*0UYRfWq@U)?! zaJ9I0Ry)U}**q;MhU_THGCTlHeazR+GfFVX1iiiJHvxY|Jnilc^P+eCU@rlL z1!g0o1oN@T3GVd+cVa|@JC%jwYj`*+zUO3f*QwF*oSBGKziCpcLPDCCS-!eTALACm z{kJj9`rO2yvS-;e7Ri_;369rX*c39tt6`~rf8669v%swUnkd1p8 zUocMhwR28h@C?hoJaz!Hmc3pRs{tg7#omhsOtv?Y)A`EN8&^K!;rQ*nY&$HwF2ju*YR5Cv@h~&>e9Q|C;j5W{OyYzcKhcb^O%n)g z$2YE_^y)8^rKHcYre~O3*NZwOkBi;5KU!-&Ilr&}}J60f209 zH=2=S*yvP?rg?H$cfF=zU6lX?)h1ZphUSWfNSIUBI`lg3!Syv(a<+HU*B29EUiGgR zMFo}8(11B_x)AlmwVn`YpwA7oV$6>_Vo}B_!DVO@>}2Jq;*&WKli`3v3n!^#7dl!8 zsJ|bYx5_k-?>VLtCCnbVkqF7LAM4Z7^^Y1KQjRyt`B~MLdk>Yyu)NJDOiqQhgRG6W z++;D?hv{CmOmtlwC_4-VV1>Ziu+^6fg@!hziJ3yrjju>{+H-Xq1-IhV^%#s_aRjPv zP4*fvBvt2xK9whGzTXhzPR(!e)iw=+v2Y_2YfzZC+?1d+--c>GFEVSTjdvHW6Rx

~zke0f?*N>pyH>8aBoJhAR=>7galu6P4YQH>^yen3ZitwHktr>4a`)nD5 zk`ro35{IR1rsJBj<%YMR?a6zVCo}5azOjsFvR5guVzP*jSNxAnPLq zFq-k$;AnNYq>DgXjJrfS%J7C1!XKqaDpAVgQ<9D}7>vXxCa^m8a^J9Ss@Y*ky}>XM z(I606>u*(&jUyerV5IHFCkP0Mth$ko=_L>jmZJBJi*4KGjDR^VSZ^i+j7o!h%&Yo0 z%C#(UbKMX6oQecns60DC-xOX9NMoK|%EEqH;Ia*sx;?wmaVnDB$jo%w$-`2&XC;xC zm~c|Wi{$guPQV@@^%V)M404PrzMR7y2tG;AJ$1;W{XKeQ*sNH%R)qF6-MLuFdQBE zJ7OOeBdx^E8HVV3+PZz;sG_z@C&T27Yh+ZoCI$IvsdG#$M^c;H6tx`b2A(U^N%Vth zWg9dN0H!Nf7E0x{fFDijgTWQD>xeQ)F zmfXIs=(saO80o6rkm2&6zh7+h`DiFK2HUtqqR?%HNj|i%9dP`e*f}u4@tJ3P4^-n} z0fqDbN6E2nY1m$N9D)EjiN< z47Om>VtFVxgPXmIGWG8o-UZ|Jz9v@b%5s7?xw5*Nr3)Js1%8&r@so>4mvU%tta%3I z<|Hoi2HtmCvRAo9nuBejA?cPoEsJ`7O`FRpB?$WuzAMW{vb^ZEdJ{uMm3FI>_v%Zn zlD}-LSuWZCf{KG`$e34gW+eV`Pq)P&7}=heJIP!EvIc}!iw4P>7 zZ)Phz`mb-d&Hwfab8>0de`K1wE6Po{32jq+n?TkCXi}slnNWdqwJ56g#Gexdsp?bEP09nV(28ytC#PJ@5+)JO zSn2dDja^$BH8&r<9k1_Owr&`pJ;g|-r;Bn+kIXu1WJ)=;q|dZ$ z6VN+U@^i&({FplE%Cu31$s&+wvQ5*cOIAE@{P|kG6!xEfzILR;uJz}*9GWU4p7&)t zYTJ33=gNzz7^_{~(xePsWed8+6(@4aQLM8YU%)0Wcn}+D(U#tT>zgp--^ceG*1wv- z;!1J~$oOk5ffAl>q?`}Ey?rN3_ zg>tWaaktPfD!ux^{BGa%v;*q3MhP%5PoybMqkK-|~3S>j?N8U1>i4w4uwV zzrSQJZ-o$481vvH-;R@9vlodC+Q_W6E?Q+>^(BzVP zh)G9IAKhPBBz3o7=mvG_?h@dT`mnXzhs|BO`lDdLA9m)Mt4N#$>LW6llc2g}`Xsa?H>|qxt#r9{vTLJCd z*4@06DlHbt<+!WEdoUuBB>mXdJ3{w3u%TqwU-7j@W^L z1Uu1$6!1G|(-dTT%v>?gBYC<}CH`c|jUmJ&d{~sfn-K;|FydnGrim4hH+}^gz8I?9 z)Vs3-D@ND2aBkmzB+`vZbyu%e1SQ<&ZkIb<&2DaSYE{w2dVX9xju`$;3_4!r-;(S< zuKQ8uAFpKpaj;Y zkIM!h|J)2dE}LrnH#OC`Z0vB^*x{dwvBR#Cy>^o_KirmIdnH$8fbU<;^4_vZydP*1 zZ^_2+I$_M>#@jk`mRV+an7iy5hlL((xJ_u&Z9f(zmd$f5o99}Bd9H3oxBm1EZY`VI zS~j({Y-(%S)Yh`8tz}bNe^I8kegdml%jT_?&08&-w^}xDwQSz%&(FM-xzzmY8Mf-^ z+sAatv-o0mV{B?_*+kZ|iL7N4S<5D}{=7|O{aOEA(f*f``~7h9UstgIRV)k^*QD)# z4V9MdfBjMZ{=)2knYNxX`c5`ox=E@+Y1QReCkpK1=38zO1B2^IR>BZe-G+{JcS}%g zDFybY8g^jUoro^wHra-ezE@=`Tn(vvLlSCboF8i?-iq(B`n&5z1Enx8LZ9Fu!BwsK zt=NKuWJfBF7rAA-CW{N42|K9NoDjDtm8P%jL25Zr>Kk_>;Rj-PP{yoyyFPA*jv*o+ zD2Y)qFr4YB*!4#G{hC4{)8l$>=Jr`jN)(&Wpg%i^&TwFUBRZft`*9O4&j#FBG=vn8ZioZDdQXZ|}8VtBmDE z3&rHQq+*U6I|a97cIZeZc1p5)m>2gd&6F;Xyy8IcacRY!aHG8Nr(*4|4f2&rxvk-c zTJh@|f9k3VZ}{Qr)yON`jjF^d(c;o1hgZ0&@-X02q7P8#QX+A^z`Ue_he}#(-Db~>$x-W%hh}L#+6m5E zqmLX#!nB-NEsErX%MK+PR_sQUb^8caX7WNtaH^Ywiq7g$;fj7S15xU=qZA=k9dOFG z*)x(^##xS0$ql2TSSSr9_~))IhE^8(E%`;A$Cv&~&y9NC^1>WMZP>S?@}d z7G)gP(w>AHr*$p*`+1IXuq5J02DKW2BbyoW0ScQ>q8ll6g)P2i-`kp$EAu4H(1~a= zi{s^7uc*16qn3ECjtpRkai{Fpolx{v{eYIbx(%@t2u`oc^tV3Pi@Z#4%WXSv)X0n? zZQr4Yk%uM*x!xn<&Z=(>)_Yr2ucVDA$}))}QvO`xVRdnJX%)33moWz~&)~{sdMZvW zvagQNjpq$8q%u$}(}4Zt>q*d2EC}OJ zV7qq_bY9uFGN;c_l7otTb)#c5YpV2@>$tpxnpD@t4I&ULR)|2(J4LYSVpIesJpjn% zgwEDQpYU>GmB>yiav%v6zF(j6Rg#>w%3WHICq_m63hj~*SFJ(e1oIAcEmoUSvTS$O zE^D|!*Uzn)OY->qVi$7I+!o z>eiJ>F4|ntjwSwfucnUuqeAWi6PhIYO9|c8WR%~>m1cUT%yo%~Jf*rpWO>roT`#vv z(uQ1rDOtRlw?tkvc{1^2N`haPv$~jDh1~tr|J8EanfptWMqW|=M<&jSg&*MpU@`e$ zu}~T=4Hwe#zv060vi$Fl@%Piq|Jc4hnb*&gnf-wdk~daT|2bJ~P{d5BuCpNrlDUyd zm?$>52PWPPg(}pBiNe5zFp;EHsp3aPFX3=6X@qD4Uc7CA>}9p+?-yI#dz=xmwzy`9 zHUOEP-n(WBg}Y`7MRC_mVL<%$fQ;J|-y`EC`7=N-c2n?%d{vY`{#`SLq2hPD_YA5? zsaLF~Qilfk{eb)1{W7Ti>LVHa=8Pw^hB99HZ=cKHyZ2tB;C1dWhg zzkQu!ujtr2D)#34-@eJQk9F)R9eY~Gp4YLXDt7Gfx5qg4%D2bN+D||D?Z@vU_UVJ) zenPQNj(+>evpRMdvCrnd{rn?}J)mQc>ey2{_MDFG`u6iv6npR6&)(Ou4~*JBfB)Oh zcilBpSSMqjy+;qj-+q2lzdmWaHWEChYWe(m9XqUJuj|-R9eadY!?^j6vOT4L`~bfa z|4RRJH-6{vdkDX;%HMwgK90+uiu`fp%m4QU8J&qqeWD1M*C?{oNlUjF{K`w@Qvzwg9_PRkcxqRn5P#4lR@yM6fGk6*O^A3sCZ z$7H55qEDg|@5&cdym(0$Tl)23{Jw_YH}U%xe&3eAzj*=iC1N&ftAUM|2NfphU)v>K@J~M^-^<(zuWcxce^BJt)mz{41c%l)OWj1(d$$C zp>z#Zca4ny&EMb`@oQwftV^Imidf?0VpJTGKg058jr>_Ff7Z#L)$(UFo_AUKlaoaT za;+-;SGnw!Jh|i*cK|izbT38t{T*=oA26G~0xEw6RQ~F*7%E>qj+DF9Qn^M&Wc9-` zf@b2CTyTdJuVsI5H^H$hNsIenD}j z-FR)BcKM53OiME|K2+ew4S#pw=ywN>Vtf#zhvDxIocQj*33`1(Ka|kL61ay_F=iG@ zU@=Mh*j>?XIcl3qdf;9aaRPEQGy8rzP#DVUXEJ-ZPJ{pS4DssPyJfI>EsmQ}B@(9(T z9v@Ya$0+i@-=&sh|G&9sICB3Hj=XS&BX1nw$h%KaRND_(X zGYj)a>En@w`TOPfIk}Fmqk8f79;HVg5B;Oc@`KF3j(u=V5$5PF<0)g}HapjF<14DVF%v z{9%G7!AK>Xe`jHSUbW`{Rjl*MRQ!O946Ju#-E(Kq>*Lg%cTm=uh4}}mi1z?I2G&Wm z^^krzvoQYxWjiIyKzUU1DHgX`isVI`EX`o?qhm*77t%gn_gI$JEHMdL*sdrbbxAmPGR=^ z3rKU29-h-J(hn!8%oi0J9H)|@;M;GSap^m;7w?iVx8@jxg6hbnPU!vJr zrI;EnhRtD`aAk^V{3xd;%({j7Bbq$u2mbOpkt01yWmGe-GY{kWElPY;jz7<1`EUk9 z%E^wYi8oJF;lRS&`x>0@Xfz!xT*6Qd7C9_knv3^Cg9H3_ki#JkhdErs;aU#YQ8-jA zs7O&oN-8p7)-Y5YRPTpWWLQPksK{CsQRSCZ`6X3;NtItpmS5uXOBGxG+Sva4;Hw+h znpd!EaOL~q3#U(BJRtWB!xx`9e&MkP@b1VP7mvS6?;g7N{-+Y$7hisxYPfLb;qzyH zdFcpb7Y)?l;kS<8Df%798~jel-@&P}T|*AY0zCZIsYEPYQ}~_4cD#<175q-&w~7{f z_^so&jNd7GQ!+}!o~8cXfhXm@X&4dtc}-wf_~lxTB3A?3D-XYQ{5Ak755M*4cwL_& z2)6JQzjgdh;ddOnvNGUXuE?s(-yL|8dQ~Af%-*G?K$C#dWCP;>na$J`ek1u?L$7Lh zU&F4aF^S&*J3soJj!SFF@`t9sJMg5;IAn8Vuz2z5*NFR|aDc->4u?1#=5P&%YdKtZ z@#)tLv@OtU$$fC7q#^?X$Dl)7hYgA;diX_V~sq#yz{E{laq{=U;@=L1xk}AKX z$}g$%OUd#FRQUs3e(8Tgbo1-i@eA?JZ(hVNWAn*O)e|^Z|YaAX$__=;B>G|MS&;CA^ zS`L2o{_j7+Uj7yQLRj||gm_;;i1!ubW?w;`_SM_S@zz(nIh>O?`PEy$KZ7?EgUtCW z-kqWB!LJ_q{l^@hLHH<#k8$`ohfi?$B!^FN_zZ{7a`;OMsgAFnB--p=C*%<@Hq~TaQFzp>l~zt=RU}dU!#TJKs@;kuv#tOw#zJ^T9EV_fEOPP3Oo%$c)q z^7l9S`EGt`Z=XFLkLuaCIoI2q>ut{UHs?CZxsLMpqx}6Se?P{x zALH-GIsNf-dyQI7@Y@rd`UIyw$?s3{`;*+7ll=V@zdyy#A9DH+`Td7yPZ+g)$f-W! zuOIRA#~hyK+^6~Z6Mp`Lp3m*3=X1L$|GC}Nnsd9&zMR`l5IDD+AaHJuQ_pcJbNqdd zzt0m+oSWy;=Q;g6mp*@P4~J$g^IXb2m$HX*@8R5gIQJf|bq}ZC!|C^O`n{ZfFQ?y| zsAVtb+RM52ajt!wYai#@$F=O^^!qsdeonuizwhVo`_CORYB|KI4sof6xYR?O>k#KU z#5nctxpxu1N8!1H=Scc|?tycUQshC3P#xmjL+bs*D)NYmJj!Lge)c^M-{)Dhk7vz$ z9KO%9WgpLr_c(mtoGtwID1SZ5xsKBNb9;HL_tE!r`{?_*ef<3pzdyw94{>>~C-C_7 zbNjh1`?=QrJR8)Q@8?qYGqm63()M#}_VX;F@B_y856b2b}6SKOa}rgP)J_^9g=F!Oy4o`4m5Y$j=`p zYvFnP0nhsnn2LPBqjZwPQyhNC;Tz{9O&^w&5fG9wqF;y^Geth1P-%E>QS7*moj~lE zes`Q_6~zuBc2bvrk|`%*=MEY*ozx|q)HR)y^A@pFXOHvOQ~KQpvIdSF<2pakE&4#G z`%uE)sOdx9r;l`Gq%2@Hwr&p4NT(M8Eq)=a4a@CP_&tjii!PlZ^4ZJ*xeP z9n!Ib96Lr(kTg%F)1~Z{5H)JrtIOJ}%i618Eo1uY2`+W7E>)%j%p^VIulsc?_a!j` z&j&enOs6@f-YHlhM(+-3NWIAzPPiAx4r*LGl)}A(3eQw(4gX{M-7(c7yi*vb@}5%g z0KOd37-7^TVXfe=+kZ&I@sR#{NPpd{V{>tjb@`|DyLlN)KrbGX6MD=Q9OpHpj_I)Q9~*lykTH+8y`N$6or4)KiH15Qu2m11kpzHx33(^DCr=k;JM;nCT5@cz`fJFXXOErRBjgW~QDffw z<^lP1*G!?9mp>!&=bHF1^KazOFXYd?@@J>~*(QIs%b&lNKP%+VD*4kVf3BB5H^`s6 z?vlU%M_kyo^5_4=BC-oaQHBq3_%Mf$aQG;PV4BZD>EJ9jPiLWGarOv)<4t1eESP&N zjis~LNSy_Xo?QUjazJLU(@!!2C)Uw)S6M*!%Rqys%frpW%2}#sB4n zy(d!7@1&mJO+CMtdVZhE-p69CxVC+t#I@}^ove+%8PBJawd?N~uK$XG`tKNoFA@I| zgYzW@=gW^``O23VmM^g*`|=Eaaqjvhc4S{-pZGfr)bB7*zr#TN?f}%v4(z7@!}&Yx z(9Z#BzCLUWAzDR@-+`) z>xpn-7j%bO5C%>{&=po>ng+?{T2vxrZFTyUpG%dyAqd|6>B8>&)nPXd3kDYEY z1K;n4;^BplUZ3Jy>! zPg1wuNAT2#sC6$LQSEx-;`7I7kmSSpj}ICTpF9vhTsXm;Rs8DG-0Aq?;=#v_FV8(~ zsK?84He40NlHQU9o$C&RqzD$_5S@795m{=pIUN1_27ZM6j1I5s0|Muq~K8sen|lh=YyY7@CC+r zH=*algi8;Z!go>y?DP-&&!0z zFH?VBp@DgoUcUMfO>(O42zBH&3f`cUZ$3u>p~@T2Ab1OtZ{fKUMm@&}D94~#eBqsW z3MlpK{O3-3~`@1nYe7lFbT-g}t>>fK4q&kOHAXw-9xNPtm)}2dJ@UDEF&0 zBA*f5K08V;Y2-gAB>aK~<_j9oFHXnxT%1E$3r9Yo;CUHboFh6&^!egmqE>q!px_}2 zkm2G!dfN9s1w^O!q30L(zi8C6pHl2cf9T+A;Nk&{?!|*3(-#i`M=st^l|M*H9{7x2 zo}rh3;>CwB2p1ow>K=K;sORCml!5^KCWh(aqi<0F@Lhb2s(X~?{98b@i%&jG0X;np z@LhZk6Yk=(nAi))jQMl%mygmrz-HknQHOnxQ9$d*^F-c%37B4G!Jg#TqI4uq@5x8HZ-W^6g7hj>LS7;1g1{t|{1mIgZL7jXJ6Z_)p)Soxr zM({R4@#u3#J?~$h00F(oN#4h#x_FY7-}f-#E`IP7 z1)m#mI|Zm;Jhhtw8kkcA=MSkrAAp)%{Ft!lG=^~D16pD~y`KWY%#Uc<{)|TXi+yoD zmv-UPrCl#lfUYilhz4DvHT=@<&nQ5PF46d0+KV<^+J`~Abl^=2u!3AV2$Z~ZXqQnB z@d}q71W+zLgyt=La*Uo{qbKz4(xdw+ppqX2vR`_Ps(TzQS~!DdUV7pP1qR$MJqhA) z=@~R(;R{TM^Sg*;cn$!&^gQ+Tc?{E~7Y++Kc}(y;*+?Z%e#>N^6r-@ zc$X&OlQboP*O&Kznw)>+etM!6( zn)f(W{y0_s1cvbPlf)oB`2q!pDWD9`K0?9sMm^6`-OplzUj8Kqz_-iK18*)r2fBOt zh12x%O?sjtUjzbNehKwlewi4=rzz!OgHODCn0ox`(-aV#pCRDCN{iBCpfu-yiGex) z95LB%(|{f&xSb$yyhr2uKDFWGZlj(LFtsid`MLZNjrE6T=m}VH`BM z>RmIYo;km%8u1Fpi+9bC7COHlj^l-K6(2|zrEB>c73o)zRjTnTR7AhIPDR!wN-JN> zeHp)N#;F+bk`d6~rI{WFQpQCR*j(pdu>` zfG9x8uwum5#c@*IkN3Q?2>x0!N}#&{Ty?=13l$%@o+E2?Srwz4vI>p7apC;G^#8N> zX1jJK%bD19)l;l;4J3=3E(oq~=USN=k&(j}k;6RVsHY1KWTbN*{N22Lu3JHV z`@9J;HwJU5CS3Sac`7Pmx6d;JwJWTG!t{6a=Xm_?yZNP;oANUKU)3+q*QdMn3A4KX zo4?hwLCL{I|CY8jx5Amrr&sIKkGqsr|F_?*Pt%&yRAPSjI&qOa5x~@4nQwS1ew?;og0zQ}6BF7sUn<3k@A-XSn8I8P6Q^70=wN z#$Pq@s|LS%_odBdInCyq+rT;hbnRj05C7AD102{`YrZ(k)Z-hyUx{mvol;hyU~4m*luXGHI*q_;~lF z*bS?9UrN}kc>dMD`%?V&t(5u)R1;hDHw<4ziXy!T(m??Q1VlijM37>kh)74eAOfM} zQbGv`NUv6U1g@geq!~gLL5Na_Uxf{03KDEdE46JW#__1)`Oxb6&jm)i{_H$$H#`PNTWGnfRT8qP~qHh>- zJaGKNx1PE~UEa;7!-;Ks32%1xfGBsiWoUewK{NYl!0S6{?2ac=V-2H*!TbBO-`O6n zJ_;IpFxg(l){v8Tf5NE+)jQoK^)Vw@$(z48q5Aw^Czc0=RXc7J%1Gb5`(Pa?g*#r} zI|i!Y4PRb2+R&0H5T{%OiAx5|ydR$?e1lPf$=4&A8QNm|t{zV7P(NzraeprfR(Ghw;*gtNi@g6GVN`Er zl%;*vJ7MSYrFa0PKXd=$Jzk3S>5b8MSDqGJoGiG5cbSORr)T+PM<6{{ z`8qRmpqfpk1)H0W+D(yzjb0+#pHsHHs5577D7V*~CjUHqz1GZgay0`~ZYF$RtDU0^ z<)^0V@Ssa|d@QyQ>>QN9Gs>1dA~aANj@cgHa3ZYQmnvWAG#bSVGh@osGjkvodO)i! zy!8(J)pzTMmE8H0J^_VKC$InMa`xjLHqg3rFxO55A0=Y%4D*oVx#rgGxTY^h?yD7r z@A^dAMUmGoJ-Nb~AC(&xoblcTI0ilgTKRZq;%iA)18JG|v_kQc=M_=~q3a9F zRly@2mX>}Y(M~!bP1|ZnoY(~7yV?@Gg^XwFt&UwzJ-qv+%Bjlieq^IP{Qa>7MD1JB z&`P{qRsJiNg`e(`$Cd|g8&7#Q$=RIkD|5Y1mDjR^V|Oof_fYOFr;@&2z%CyPD-YYE zR!tCLSdk|ugc1>!MBliVC2JE1ipR~IFW)rV1tuas*!VXRs-Clb?{ltdXdY`HWYf>@ zs*0+C-3TcTOhA!1pV}MyP~SG^?w$elk=p(;>8i17EPvKIZ2qosGj!aIYhPtj=t) z<5)tU)o9+h%Jk<+A44eYlb>_dcFw(!jirpc@8kQD$nisJjAo!~qsqPFWW=`J>vaQH zzR{_&?D0#RwmX34Xn|#So=ERGjvNttge|RtvG?5GUFNd!9pTGQL_;)~No%N#JAbi@V)-bf*5^p>vutO4jo&;F)SBDV-_XzT<4l(FM zGR>3j?0%PTo-xMe)OX!<^(*_fM9FHTcUrzoDC@47*IVGM(@~*;3GP#yz*sh( zbc6H!E8C|5d7&~^mcHV~c%yOSyTUvCKd25>;149Bn_CkKX0=WBKU=m8F1~*Y|8ckW zNIh9+duX)20WUDG6}7Vcb4up;-*h;@1GDKzHNIEb@Z^L z8;BP7sj?po2Tf>p4X>huTRT(@9iD7I^iLJBxJUL`KRsgpC*KAZ-@+I?HZ<5#S>_eD z)^!`^u%;A+u^0S)8e1}%QVd^D)8bol@~i(j(4($-F{s8cYkm0s+*c3HL1hHf#eUxq z^LSg;z5G34ZD^vkmUE_J1N!c_AAhuM;Rjh^w8-;&bsu?DR2Q1quUB!+Et_KFf$P}`?dcV(H`K|n?skO9#lY2kbrUEBi)dH9% zh_zEXh*iR;p#387V#Wj^cUSHH zDeG|0$H~-WYp_p>=RIIoVJ*}e0t$eW(&}_b3NnPX8(rdGb)!te7+tqMG6E-JKsI8qTlrLSq_{&DYJ#bTw&`{FF`(}gxgkT2;O@0GWN{hx_p zDpe=cnU;cZTYnDPP2VvvEA-(TEw~EUCJgC6nJDvJeZ7QRG*3BwYS!vFjwIdGh`?S| z9B!PMP@hou#RQ5?j4OUpw>MXRbaC}u>*z&PkmzTLN zLZM9w5v}&SVRr|JPJ0c4h%p7lr74VboPqSm!IvrBpleMx zw^m9OgaulUidOetUZS~8~Bgt)bS<0b0Wf`VtQq#>yC-g24diryf*X93)A zTZM5Yyu_!!!hXna{EN316*e|Mcug2vy}X(9$qK1)a-^Zw+Bdz}t?ENYUM1CMVYwH{ z6wQ(zJCqU?(QG@s`R-HQcQ-`Cysfk$*SAzr@UyyZwkp13is}_pK5L}%Nrl?d3H`vc zpMCVwBW)UdiVM_~d{6n}7yFpDiI*FAs=v{&!__~y4bN+DB*CMOt#|grTa4;7{wfSN z+(t^aG^^i|KamM41b6g~9yR4__ImgO%-1yWGt<#;Nm~e4+G4r=uG7Y(Mlu^gBS+Yu zJ0<5qX+FL*(I-16xZWi5*LY3Z?Lk%j1S9fC$*OBzMRBx*g)5Pb2oj;fkpyP54&LsO z)T!o0$5k-a><<-;0{q#CHhhdu5D9&dkK zr|R;m&YnzrCq3BRp80r4}?<0Y|!P%e#r2Z^XNh z7l^@6yE?Eb6&Da}h@>r?dd1YU&;*;E`EaQ*q;q6*tS{q=;`F*zlSd~cHem(u;#AtK1du_Nce%ZrZX>`R9DN5g@gR>9L8 zPqvj=-^TJy+pX z(8VDgjb`MF*}RIyQ}59Q@vW!NKGb1aXf>d6Fw0dNQLaY2%{(JjGq(-meZ z2>oiAcdOz2Mx)VWtNtgY8Igb*luYxrW^U>NKX@*)!=EBrtR~uWbnp~PSah8m78_Ca zu9Bj2sX}81T(&w^-FMxVVU9HhYJ9o6M z)tsV@curQ@7;JqOrl~ot=3z{gZcFQtu|clqt0+g_`7kwU|MvLoYs}p`=*dvn?6gHAIG`5_`uFdn{^kw|{PyM#|=~%|>-1M?f7^&Y#yA+5DE( zyFP`8Go$Vi?a{QA1*+rKlEJO7$ExkCVkp=$nMnA>y#wN?=#48tnoJsr<>@mMv z@v!vkaD!m*WMqr#)P&t2c4b}xR@=Jm6B$;mqkRYdaW}3b%EaDcXwvrPpmc(&`=I&seIqYn*(KEh@Iz!u|ceYe<$W=qQ#x z-JVn!b%G&uCVib=sKu5)-t`)&8<;I2NhFQz|l^c7=W_p~3G7m!XR{7^?C10oU# zYc^5~8c9`E$jHLnEmeofhV`{a9qiZ2o{Pf98wV^W5FXkgV?HmArs0iMjuf_m)IU~O zh=tfcoPfALTO~OF-@AJ(x2dfhDk6yL&Bb7b)u})KT+_6tV!>jUwsd3@eM_E>yg${m zl%3+TQukf)XDPiQ};|E^<|@J;|}-rB#$Rb-;kD!6Ry^8Xe>O3PwOXgLTkevDhnWx z5wYFwa7z2?gRXiXk-=;4W+#cJAZ5Ef!D>u~N>>E~)3XR9n`61EFK5}$1?raHwn5z; z&o71G7MgI_utrT!%fhGB?25@8nUdYA{uA$`XhghU6m{~UO_mAkw##G zVo@44O zpwsYobs3;Lv|aU)Ubutk9=WG#9TZ_jTig60c5WRM0ShEiN1TS{HaE8x2A#y(NV{cb zQF}B9b(J(idE>Mc01eV;?VMX!_>|H^HhaFetGKtKNW(5ywMw!TnmykOv7U_FT@It* z)`~YmqFy;owT5Hvd{=$mMkE0=b&}_|^`0{6bEM555ZVG{Z(%LYQv$7A7InpP0A2ZL zz^{$ARJP;xc45fC$-Cuwa0GS8dM}jv&9d3sWDk2~*{PC`x?5KDRGg-a-rY9<3K#5TG&%$>OOV%#6BJ5u0?cDbAatNY1 zinMiQFU+sDYA+x!n6{c=2K~7={}~{umYQ9l!8;Zf)~BOrtEZj1sz7@Y1v!<1Eq-LP zaLuxxVmZREO(%GD39*YpDk6W|9a|=J*T&A+xas2)Iu`& zhM8dg^h3S9d{))H?|NIHqMHh=X}4cfOZo3N40zpgHjBDuT|`Z>>&@)V0O7U$qwKy> zysi-xBTiBWAK~C;_LLO+Zv*}mbbw3kh)>=*T3s_q(HW{Tu}NB}(t-7Z;H(+XPZY41 zLS67S-GH_GlrI3nBF}PRqdb z-rR`0y4ddY9;1vl%*;FCu8}p*?0u@z-ZnYv$Q+2Vv5tn^+YDI;{i#OrejwKUl0vDb ztuAzUwT@IpHBxq)2&@QGbD9+H#+Tg>9o>^J9p*P33@%c!;7B@j^T?Aw z?p|h8smL7tBj~c5(XmsvkDa#^FFwr0m-t#(Jo6@FFR%V>I&XRC2>09goS4L8`rpNi z;|;%y7pY~wVd7Fve66d`miAg#uRzIy(>ylur2cn#ESK5$Lu{z;!r{f{(HF!SP=^Cq z3v$A)9*>rMafId6g?pt;`WKu_nNEIPkpvgq_AU5c*z#SEVZvg!l08I{4fRJ&G)B+! zl_)pE3l`Z!U!sqB*hy3$T8i#U#~iw<`-)xvPw`>~t^$T5+>OyWF^LB}Pw+r1d-$7J zrr?1a+82tMdA6NDPDSU0y>nUrbA!t$=-7fx_{nsl#xxbTggGvG3_sJ!bdv6{rE=kFdBDmski z;IFojOnS{L!EJ7<=SH3#zOg!dV<;fl!k}jsCcL^vkxO+>=I=z@j(x*#5x{FvC);|O znG(?XJ?@R5MGC6XHLyc0#8@Qr?M>I0O5P78<#=t2P+wfmUN4V9oiwnLtRbBd80#?z}_+|aP%Sq2W%E;La%~y|5XHT!- z!0WiWe5>ZdR@e@uEGAW<{5G%Ro2vRtMW1dXU^i^Tjb9l6T*U6z>~=O{Z~e6g{wQC> z@hf~NX0)mMBSmd}09UYxV^5oMQ4hIyh~0Op=+MQleIh4YI>2i;-4oQ-Z@S7fBClkL zB(IpeJNV0GaHpI`Y|5TL*Z9;ZD`2cb>$*Ju)Rz)e!%r(wgRW1AP1$N2SXs2>++hbs zUcu)xXJ2%>a#bEqPVMnm9hogO%#5BCw#J@K1dG1QV_v}>YSK{bw&a<_tWRp)QqQ<- zblW}1-zoKVdg4;z>vY-gT-vyYlUlCo89s-S>UeBLa@yp-bD4{9DTvoxItzT_ACRr; z~i?1j9p1VbERH_>Ms_Ul?=VPq5hVT76+62{Oy?T%E##K9184&hN zB+0%rj8y(A>G>N z&uTDv-WjM&!P>^P-g%v6`LdkV)QPdQO7c}z%%JtG)mpx)T41~3IoSZNL2KPC)?|lw zSv@*6zLQ!jllcwxZ(pY;^WXf6lM9AOk0#%XbB&LD_@utu-KtxhE8E@MVBF&%JZJ55BV_;QtBh9KGi@-+Ws)+m*O|Z&i|LCAwr2lU5Z233dZ8z*=zQyyyWf;kT#a#+438#jtNB&6Xi#q2V2$belo@N(7_y+rN=$(qXSR7qx^ z`HkpO?e)q02BZfVoY-(5hhr^VQi>1yjKOeL3}vxJH|OLck=mj6B*8Fpz-0k0={P|b z+svBEYz${`T&(lL9d72oxYgV47Tk2l;?(bPU5b+pI40@Mt5JkHYGBGJaXmj5b<)6; z!PzjYRxgp;GuGCVSEB?aXwW~35Kp>=1(g}4QX7nV)3|hC3HP86;V=#{x z3{NQMopAWTo8NjY?n=-#78Q<$+!xuc$I^XJeX0hOZ~C8xgk1c_4}oY(_^peduasL~S30ip%JsN|iaNZ6%dlM) z0$J90I;7iwG7aOPj`>n7v~u@rpLiXMh+c+LV!4#GOq`&Lt__!3R#3P5Xj6%X5}4;q z9Fi0>it6oCAb-BV+&zMzW5rWh9-}U~1?ncMO@H#Zkl)8hUq4$Pz&aQ7R&Wd_R%7y( zAC%oreNMm54 znUU6>$KgKshN1fUvbgxOfM1)lq$Hfsj}XMw~uOo53+5k-A{85*S=J8uvz-Z=cJ|6Po{}IP!na zh@ZnfqfB>gIExBy+L(%JNCg+3S4Ut_T@@M+YvK)>lsO%gT*+s;`z+^T%w45cP9l*m z;5FX8?3HmZ8s3Jp5jsI{(Sbz)b#*JB&QD;lfx6NEljE);lz_UrsgI6fUWjaUVxCZf zq#FivkymgI*HzRh2?h%%rv^Y`f0Gmz$29jJGVJVQ>-rC+CFTjG{+GD+gA!0zKV;Cw zRxbUbQ+G7zau!3f@Xh&+4?a^nU{ef6|F)5SkiNfVHjDm{e#%DIxU6@^=R*>M?{k9m z5|am95~Ev_eWQsi5|n%;ygDD#u z075nW>BNLYzIn&m?~K9RW|7QGwy^)?d*l@sV-*l!5pcikC~Mc73fGzT+xZhp`|IKC zc*GTkd&PO`b==U%*$oQdBO%SJ34f~b*!(PT}EDCxF15(E&mlHo9buqNL zEbRe23|iedl6yC}wN?9%z!vUhPbds!_jn&6P#v<>)tD76%U>8!ojt zk=YOB8i6`;A6FuDd2_}{y(v-vD?MO36C-=RmcVF^y{SJ;-w_y+dsnok^UymMubwR; z7Y0amEUy3+xmN&dv5w@D)UinY??(EO8}GN@EG6zHzUJV%gb?^mTv!zU6~HR4Um^ZK zRKZeUfBe7n_cT&;dO3s|CvbT&BrOae`|^{6=|`zWI;I`wcyoU9CTKb%)gBAH z$2M43!>v~UzAf{BzpB_1ZsPzs!GzspYBPNcMc4>8+X8_zAiTDB}&+~BTukq@OC{+$R_!?!xsOat*xTLB zOcC~CEPQ%TY=nC4N>JkxKUo;`p4iA_1$DXe=B#_$y%~W07L7Gyi~H zJi)7%HXvTdQh*wF3;cCH;j%43?H_hV4W`H>*b0UV6w--itCDl*4B$Y#*E|lV6PHei zz&q{=jH@n$+B)A@dL~J)F;&uyh?yM@mU;ia={TU_ z5X_>DA>Bvx3yPOlxycMcHH2{G93woHv-mU6_}vEXa43~|l+=c+@L}Uj9sB{I%z*-ww@C2dGfU0AW&J>L0cjhki9fSR0 z5l1Rq6Em^4k*uD8ha`kg6f`XK&8qsb&jIY{0?kyordG(BJ_R$2gwXXszepEaq);xkVOxzY>lcQIkVsSE%?0!MhT9GprAjR;K4(^t_9QU+P^@n0XK(ZfO7sJ?*F?8$v^E&L!z}OGa*5Lwv~%69MtA?5S$)jLn@?Gg z{VNGwB^)lx=0vrUfUAX$@P1mh{%!98)b>` z@U)#eR|>|v`3>J3AnJE}TN1X0H@%y|jBa`0TR0^U$1hQMb*lk6nHQ}jY0RSXQL@G` z%cR54O)4*8c$NGaVn)H(*M+4}F~vu1ve7LDtei~~+H2sQhNj86wcv~chQC|ePwp9p zvslMJq^Wyybt(zA_6|O`7QEhB-x;c?yawKJ-B*Z)Ai^<|YXSR=*nqOY_$yu zwvL_hVAp5X$|Wf5d5-|0+HMjig`EBAVK3IuBj9vx!(-bO@J^^)tr2Vu@92T1XbBi_ zuG+1DcY4tblSh}c;Ni^$WAwNv7*^OCLoXmoLUJg<$r}R^tzz0cooMY%NCpKX1=`_~ zK_u=by6R+HY?1)&pwN+>pB0LA^eGs(12q}iNz$4{NfVJ~qiCMw{G0P}kL~r6c&5It z@bm+{Xa)m2Z35x)32owqE64Mb4dJ<{T&n-GsQq`~lCPdmE(-NtqM!c_VQX3N@OeO| z$9tq2E=Bis5Cki1O&PYvI;6U%`V%wv72gsLe0#JWs$8s4MiP z6cE*91Y48ahRoBmJF!0%^-p3kbZ4!_N5y|h6}J)L`$(f-fjDmbLhh@lJ0T3NI=^)X zFvkBFM4?+|{+>@hS7>uN>0f|@a!LMYeil5u{h#?9n*{0xR2(Ln31^-M4w0aj>B9tu z?v`kZmhhoA5iaR+qpoR55C;m)ut|u<6QU_vviN?c$_YA4(Gvfqc@cxUCJ0fghHWX`TbIyrC9%medc!be`kvmp-MA;9EK8|hH9fIrqgN-rff|1V@Kjf zQK8BXABa#+{J!sf+Hj^sfFeZ`e_4DtL%)%3)AAS=j{@*o@{^jU@^r4GRSH5Q7=d_Dk^yB#C7I--^ zE%kpUD>@I5NrcP$;!t&m%P`T6sqO#GVt~5C2j*{wyU+}Uzk7=X4z2tC9m9-;mu~Y@ z{*CIogV>0UcJx-IcpaFyq!!q1*wr)}v)_uvQM6_-l4pzck{Cf5$Bf0XB*N?SA7f5i z#+kUMNlNXbHwlRptz-Mp`G01$|58Z)!pIV#odn>kY#cp>1O5P*`kS~w8LwOeuZ(i( z_?Og9q2WeYfXgo-1@(`inE!Z~2h2BqDMB?J{`NY>e&Sz|F#Z$bekA`+Y#+n>Pl*3F zC)id0|66Lm!FUN+Z(**dQd5C;pz*(58J1CaV0OlKm^tP1?4t z2@YUQCJFx&hVpF0IV`{hw@eZE|5kPR(J%WgbvyW|8JvbEB;xVq6QOZ(?oSgNy_)y_{%ihiQ{bFG6j1V9;~A>k2=u!}8lkXa{s@Q@XJ1J>~8y*Q>e zA7wr=^dk}akvz-oI8~SlmuYU+7BO(YgP&k)n^fkLM#NFHj>71QdEiM@e*>kGc#EVTBj2mj_J#GT|mA z1u{dSAI|_scMvjKQH95odnsC9Q|=x`!({?!TC*fV9DwF21et}>v;?!!j}zfCsc@NC z$vN8g&jDKSK?-!=2!u>?i#DD__|B_)A*}sZJht>h`%w~F9~gN%OZkM7Hl&?Ela3<}LdAoME!kp8XS zpg=zofNS~tAv3N3x>BdIQluA{R)Ah~%AB1FNHM9+MDoNX-~4R2^{31Xj3zCxtK5L@ zM2~(y&-+cI;WAj@OiY_Lp6dT}+ku{ODm|FHdJfa4=J!h#v8`orVKj`+Os4=C#CsY33O-5}Q4eJmZ~CJ+o=XmmaPfY+&bmJLUI-1=zPRXX%2)J|cRwjD>F zuxK|tcW;F8G(UO5LN|+bJV-Yy2aeD^c1AXUi`wigCj~NNMA@F@AWiHLfFvTlN=K)) z%|fHX_gCD+uipNf=!xvxrk5K}r&HUAU%KD*?mPf=q3N{dN6*xC-{kME(#yrQUx9`; zZHZsaJM~Ln`WgKLo7PEbCb&K#LD%!o4zKp2H4A!8deO{P#B4Z6;h#Bhj!RX~vfqD_z!3gv-4YcxB1)<&vAh3%F-0+;bifBtiKp zT2df%D2;w4HrRC~pld^kT5}zMpqLIi-oRt9le#+Q9%rz>?V*_rV2iVm7B~pqiB{Pp zr0!29Hrg4&3K>CY)V>V=OB}QB!O6M@^$W@hD^!LRX8m$(2rD$$$L*_)DGq1WB0JGf zvG{l*@>Z=1H^} zolod1`@RLHAg!dVh}0* z3p7W*Z@WQAT`#*k4+u{GS_AS#de^h)cTl0@hrV8Pi%X)MKsy>TS5#Ok{x`6->KP*l zO>CvFDtu&p>i=m?U|-F@uMpfpct$uW%+a>#`sz0A|3lWkZ&G>R7=`{S5#^W&KM_G` zcHXBM@_oiRz@WLxN(tte9-X=6BGMkG^y{;X(8u)Cx|HS_5t zr6j^nq{2@;l$;|GijTdrGWLDViJ5jxgjb2p(Y9mogcv+Q5(^lVpaejQ4Q(yXl;(Rr z?gj6LPukm-piTA)Nl;d1s3GpTRtz=&qBA_~olhuqcN6A&V`6G<>yGbc!~6V2yz&LI&l=PAIQ5l|@c zqvLdZr<=pwtGoWOawZf9Xy50*I9k0MI6-ZE`R`^@8J}A!-Mv#i|Ngp;OLq)2uQA1e zgvva%{jgRVRv7`fb8E=Pp9*|;{M!5nCOwJ+-sI*(BJx-*UlM%!x@p-wkB5ANb2}d^ zxXk%WquXb_4>U?;ye_Se~g; zZVvOweMCftnPuwtW55wnO&N|q2~-MH0_I4JRE3|B!vbd~j5B{`eWv%NEMM@E&UyRC zqtlL(OHwsDOncc~+D_LFDYs{S!9%96idD~KUZ+s3xXwQ)Mh^d#ffaak^vPAubw9-z z`180c+IWa%s8$zsl@Sep9>>iJbL7swtj9A$U4<#hE1AsDwjbGGUuk%ABSmu`U7Nqp zf~9T8P@3JJWD}8Z3&V}O#@I;EcIql43Hn(!fS;hT?#EHbsX$U|D)8?I@~=ydT<$}W zCrsS9Y_a)g=%q;3yBd54X~~+>OOVDxhC&nh$P=tn`>A*kyWK~0AEOun$kg;2Z|O5t z7mHy&IX$XYwrQq5d;07Z!mmXk2QwYFr{otI-s7~31M7bI`-`PSo0z@rkQ@vwi&G|;u57|I# z7IQ3E=~vs@3BXI{Ue=uC2C+(iN`x9OfxsyDF`iQhiifD_{K8OI9}Eh zu2JC$8tbL1E> z(*E`J)m&_ABfEF^YOc7#kFfqDUYO;l7Amy&2j8kiBm^QYWvg#x*Xw2RC70iHU*Ih6 zOg@ccv9#oR%%jI^%NHkGeZP2Ew&o;R$ul<=A7ZA;2+9Kf2(h%V28SBYH#RW-D= zEJZ6xcETKkx*oB9-2ZgSJe*5JVoeS`odZ}uO2j7vXgNIOlhC=d1VTG&{&k82-tqYt zO1^sS?R0oXXXZ+ndwl0@LkSgt2$fB%eFf8LIH3d*OOsF-H}pi2^-R~^?+^}hQ&@8A zLVLv;6yPD~%q=c~Vx97V1cOMM@4qkp6s-&0wk109OC7~J^2FJtRQTYfvc?J1H!9xD zWcRb(Xg2TYIiNYJG?0=XVrrQVH+$$$iC}V+>qbKpOc#ix?;PD|=wp)w>gxUB*wn%u z6-#`pU69CK{VZ*EUr}aAhE!fRsX0t|T#MaTG(k;_Gf-;qyLBYD?c4w^;2z;(9aOki zJKYE7JpAj2eFk>iq0{WHv}3;+W@fK7dRjT&Faj2XRmxSifI{ zkGi4kWl<)!8Zglysl;7pn5cq+g&cvfsG&G@)}Xx9@H=xi+HJmkY>_PrSx(cpwO(`* z206Wx(%LHG7#}mwfupk&CJlF0ym3IYUv(fQLYFs(L|S>V7$CB0kF}))D5e}h5uzw&> zG&rg|(OX%b!}5U(e#|k1i7asrUtth@*yA47z?9wl*^4GSM=F7Uf{Ldk(swNa;msd7pxLXz>bnu&oZ~() zfjl8s2&(Et*Y6*WvNE=%ksH)tf;H-m^APL{C!Ancq7_wECR&f*~z zP*Z7GrK%7M9^z{Q>O|Mig3Txn=paTs#P?foBM&Y}01xRCdULRruS_Bi8)j zlIcU1=yK*{t()#R;IqZGIqA)#=GcJ8*)<+nQhNdhqOzL}NfCNavPsY{&88xJuD*fQgxSm$j)CL8rdGcdACx0~?8m=Bd zYn~+$;sLbK6vxO0Z99Gkp&kHo=paHn$P+?c`(h>7R43J+Z4O{tPw-ZOnU-A6qu*(# z*^hrdqdHoi=Mil9_|6=4wK>kKxvgN#W{$er+jVl?&r@wU5$+w;TmE^8^mN3K;t<|3 z{i>+X-t=WrA3AIRh4ZZNawiD0`E;V|OWB7K;ofEte<@gH35GIrI`yfBJs^H3BG)Js@jm^kkIw!uMDM&Po)vBHJ*00-21#RmIz-KxR}$`l1=Qs z_me+us`zWl&d|x$s^JY-1HBmYK%Wcf#7>85b6bnX3cyZAcEHx&!8O04MUq!;x+h3# z?!VVcvpT~Z<%L)XgpXZal;(HU${pxXCbrfC=7@C10Z%LPNzjED zfDF_+>!fP4;yOlyJo?t*=ttM)yR7;t&3!Q>*){p>Q{Y0x>!8oj1#$(O%nrhx$G1Id?P~ltIA$#lUxth{WEtb%XW)S~ zGCxUxtj;$^f}*Ap;p#ZRIO`+<;&`zRWt0c`lePNBaV1HTtabW0VH`?=t5?#8}(f17HRe$7e-;|ZrRVI)_51-4GQLbXK z%311a#mptXbw9t*sPGQ*L|#K%%Pe)3ZQak0apVo-$Qu;e{*0tIFY*N{l-8{MCk?X# zpoQ@Ji+;_|FO=3iOWTeI(0QZN^qZrDx=Oz>F#8M-c|xcVfPbXk47(a%tpUzX^h(Y6gK z6f5uMwwBq0o0cwwHPC~@0gy%dQ}{L(xTMS~39Gco+CS9rfYzC_FLzT{sRP;fm4;l; zZWCak#_Yto#5YGRR9+qYO9`}=eT>>H_rzw!Z~d4-7j^Yc5vrlBG%-bmkL>?Rpt!ANIrZ}ZTC)(e4vA{QeoucB z3O82whZ}d3XB&01@Dyk_d7`PIt!0k7DzfgkPHeU7CQoQiO;3F~5QIjBcatZ`S9TD2 zR0>oEHkAVpzjSUw2IP6y6xN>$r(l%-%F;O!--*6b98jeK;&}Kt37*iENqOYLZ+tHI zBC9lqNj~G_1nI^cRpdRad=7t$QflFYH3r}@bf;g_@URD$Tu`RKIN z9Yjb#R5*w1`PQf@hGb#U(VhF-1fYNj&3Lz7Z#1K0K}tGgv}&M~gR&Wu?P!!h!>%bizn4$z*Rf94;^gD0fp357T3<0MOC zI8U3JxTi_FQJOt@HQb~;pV)Mw!ws{PVN)u}sdz%6xhofFJrv~7O`Z*_WD(MX)j4}; z^J~=_!lts|A@hI;32FqJVg#*6&>YNVtEE8e!XPuP&zzuqH05{zxGr&uK++fkqydDq?}gjh_Y-hZFosMC7?NPeUvqqw|w{&grJtp59OHyS6J+qLL7h$d9*Bp?78ZgHkcnD^CN(1JI6x2-VW&4CDbiD1vg*)>Uot;wT?zOc+rUpp2&WD@C~4iB+n!4rf|WoeGY z5|L{T9O>|#vD8j<5D*qXX@<01gtcx;W@%bKo&ySo3@8-im*sM_Y<*D+7H(*--DA{T z-GdhRI)G-z6LcvK9FM#>K_gPi-^1n7J63$P65-3{0*`c8Cxx5GNd-(D znbV+<*O{FmUhfPd(j4Q)^pB1kq#nj^EV*p!|0(90>#E1_shUE*qA?SQ!3KqN8K$#A zA#qY7#6e=Aw1^oJ;Q@eVZmm-5B;RLP_Y(^RVdxN8!vji0B6*gn5JVS!AOH*`(gy-? z1;e4fK_Pwkx29vJF;c(=!7<1g9LG^Hu|oi2i6n6tI6@~D6FY59NRtqZyeRPKE93=? z6QrISE`*1ac!FeL;0qJg3uM2sbOrez@g^)PdJfaa?f3t!<-(;Y9Dc8XfeWPmK>Ze5 zx1`03dl&h0)L_T4fV8{m>8vXYw;x@+V0t>KBiq&jl))@x0m{gYGNx*sG<^vZ6)C+1 z$|$sW1Mj|A`wAw?L)X?_2@K`WVLpmBJtNAi2AB=2YFMDX~kJV|_ODVVa&U4CP!P zPmnI9w(lThMDra((M%3+-=w4kufT9d59Cst_Hb z$N_Uoo30R`w4R(ERU$^#f7}&^fzP6YD6Mu2!LvIiw^ZC8L|JUm}&voDL_jTR(bzk>&KhHfU<_h<}pUG&{ zvs6lU@~Tz77_ipXrMR#5rRmSHkmj=iVt?)*4^lN7GrpVgB$FmG`TmZIWf;HN)L#ab zF=;YQcI!coX*J5}xes7UbX`CB4-reH^rY#N8980E@)s|*>zti@?}=a2|NLcVKfl@3 z#2(Gb_nwC=m6AJdge2e0hwujFQxX}SjD3pf;CoFkwPZ!P;EY`t14LPG0{D&E`366R z{duWEL}6xVqidn$Y+2k*lXG zezTK3GD22Fr_HQBh@MC~^r_&K9>IpQs(&_AtS$Vo zTzs`4ui!Ht6cpukM|^unxTpS}^eC^p+{y2ZcB(YQ^GO~5clTI#%12{G|o$ zDJ1qG+-ESy{?W5qv*fQWf8=MKfAn@|Q@`nxH`xX!w|@y&s^C6?Ix}$jq}AQdL+dUs zdWw?$2L0l{!u5JWUYPWrAWk93XZ7VpW6EmTohZ&|*5xQfMQ>Z)4Maew&JuUywL8cu zUa~*N=Dt+gR;ut|}cyvTn;! z-IWxxvvw#AWM0+VnRbkct4;4zaT9giQ5tuHdp+k@%meQA9DkDlu4msoO5%QUuP>G% zj$g`Q7)0>?)Haf9;+>!H;x*%#zqxsER|MZr$d2o-;DbEdgX>(CwpWcN43^WAm}P1? zaRXXbhva}xkh6mI>NMl5_*pM)AKo1l-DSa9soS+Av8qQ)XE5iqu4es#I(2-fyj`rT z#CZ?YI|mc`^2nzyC(g?JohgmQNOKhN)VYCNQ;8gO-C^sX9jo;w@;77mpP)ZcZhsaO znl{8Njnh%QA8Ye6vGbhUK%ICH)?P0^=MTQu=91}i%>3I5OS0#6Yz{r=Id_NJd4bb= zQlLq+JkS5YI?uW3&O;)|bAusfa>#Rch0}%FN=t&5cG>IM9JWNB^V;829!q#>#8FM-%#iY%OAG&-wi=k_M6w@_D!-B+LI&mA_9351vhFr!QJ$-A?fxUvu=8)uuX)=k@5PH>xtDa$KZ@jPl6i3RVIgn& zu05T9pHYw4`QYZuy-hnG+^ofY-x+0pOd|-ts%0lO6}afGA0hcLK1zgOE+Kz6PPDeG zYmRg7*tMtqr)8AB%SPn{o7Upd8SmTjeCn=Rc*v-Kmx}_*VlJ!h`V^=466pHHd0bcY zR5eHcr9DsZy0U0|YFU1|PiMc z@Y69nU8VhQ$>|{CsxBY*5^+^G=|IroRb3^;bMeQ^aG6H!??*bPQWqm6O;kH;Z)Sk) znhOUt1a98#?o^q0W-V@@6qOrhaZ12-`sc9#0awqfU78cmus6E2Cx%qh{*Y+Rvq6*; zKF`+qt{hdc*FVT|)$j*bgvw9HmGlek_e;2zj;~JJa^0fn+nC4+zPTgVNt}3flIuHA zZu~@!yX9t^9W@#)82){4!mFRz?a}K;Ck|h_O}_icnpF14x^c*L&)9q=df}^`;Qb$a z6Mp>4-oA4^yIpqU=)|>4x50}`ca>*gAjtU50-iLaaGlv+6|@oN0hiD#dWCf|LV-G2XVc6-O$?DnCz z+3oM&X76+0C_eMRLKWWmdo2!bU9Nd6Y+vu5dHe1IOTb5fdVe! zQ*iUi3Px{Ztn|%XyKbS~%%th;rJzFQ-RbP51E|&E2iB*gxd{6!v##@?2>8k@DOIM* z`|PE5{s+>)Pcam-h$4SdEMAbJMUmGP^Z1kh0Lrvjo?jB_jx_a_@4N_80G2>$zgDJV zs{EqDXgOZNuTb%M4nB@gIE(7&rkyeAz;pY_>E)wD%~mlajawzQmPy1|v83{tBt_O~ zzN1P-T!D)wC5k80;srCTxa0^{ssh4_23CshyUm7=Y}d~?q-oZED8m_ofh*Y##qvVC zJ4wYoL4}>9@*dLWlYZSp`=qCVm4~*iXAwosGes@Z3{y+I#zPd}5>McEV;s-jOO zP)avJYZw&V1S8EPWW0lj?0CUED^m$oZ~ArJqF7}P$O-bDzm|9-@@$%mI{3aiP%enFBm7BIqyf58GU&51AZ>j^ zGz$IfODse3pnd?l-+>3W)h`@%qFuR~-1X|&Igvg725KJ4(^YBtIgbxKD6sNbg3e!` zmh!asCW#2$6C~Sv+r%*B%DAUKu6RnCygv2Fm+4-lRV@v~ryj^mZU5n5x)t%oLHkvp zPJ$=lE%WcJ&cHFRqf_|VqC3bb#-jUdRur0Go{R;J?;N5ruN-+sJ&z;i=_%t9j@LeYkgCutxJaPt?iIr?=I7B#(L7#JnY(kz~f+wBZr?X)d`)pw_4|V{e{7{V+*)FLc8tDC3Cs?=n*r zrb-Y?P`u3_-+^}3zoO9YlE(>DD_fzoRE4ZfW}l=944}48*u#k};v$aDq~p?E>6m8rNYaM-Pg>$6GWi~k>Qt$Tuu~E~><3W9 zVouRrZvWU=N;JF$e^r*BY!2E#v04QO8-3@5rcbR?Myf*Hhx{li-V5D6?!b*H&+WzGyCj$eD1uoislDs~<=*8L7}Kk_fq{SLH`p(?*OB<%h>K(@EC^I)Wv8m~p+Dtu#HwIQ)M9zZMX9)b^9-#i27j!2ED;WAc;6HQuML--RycXb667~5 zIFD2o?vXu}7=>1u=BBS6*q(Dz>wY}UH42Vlrn!%xzGz+Eg<}cN9duLDIvdlH%l33v zHF5fkQqd|a?AaE_ggA9tQcTrioyQ7f$wq-5nH<|Y9qlJ$3>JkB3-qYw*q*+^v~|0$ zC1s*|+1FEg^Xp{B6a4bVE*vYlDMq!m52-BqWF)u?3?yLznQiFJTr~c=5ry8VjOw+B zO5AFEA#Md}ZyLBR&)*~1trMrHwbxrjtwF5^RYjRLam#0x7ZP-&FOTo4a?BBw#}PRP zSGv0qROZNeok!Bk%^Pq-Bwl9zC1* z4H~PG99Hi^o&TI5Pe$VfZlE-3HW#_TovI!eT{xpuUxnDLyo@$Ce~rxU#n5~w?$&ll$%%P2>Bf&ImmroU`=MwGc#hy{t~*l2~C6R5(OyxrIf@Rq1<7W0Ju6k}Mc zq|iJY&gXnt{y~>OpNrY$K#2g9;RPNFCs3e%RW3lt-bAhR#*63I>qDX zJxRrb1bOFzuk?DOi0~zC4kv~u5PFK) zh9&MXJj#T!=w&!O)mryk5Elqh!;X^Cx4l)6AoP?MfhCrVb}*r=(r7^}(ct3Kghz0IZUb5yl$Ch4_6`b5^l|YZqt8T_Y?CNY>8@ht zolHaxj!yA#fbLRdZVT2!K{OKBA5URWQn43lq z3C$y;yQ?+f6a}cYL%{o1eo!0#4TUALPqw45M2DwBYynE17?vo|Wr1e*Gx*yfBpFTA zpxofbQ@2ZHvqAcd1QSB{W(aYBqkd}_uo5Xz^0~Q6F$`&)V+ashJ8!Bd0U|&sa_A8# z^`T>x>8VUX(CG8E>umwbiHn9kPsErI+C_s0PpuIZWVLVCyhJeiAGKU%WeQaSj2bG6i*G*LdP?#o*VOn zfyGzbpsed*PGt1E+v6B4k*)X%L8H&y>pXz~p;M#1OepKRS|Jyfn7*^-4uVEEAAQDz zvdp6SX>@bJHXb~ce#V*`Po@9#M}UxWs4AXHkKM_ICFX)WeFD?_bYlcOLuK&PePu71 zP}aNKj~*kR&8rBWNLAnm#hFkRF-aUxt(no{2BB*QFD1q5@)*Q008?Xr8XY+_=S0-x5qHi&4Cd$0yPk0ctnkxv;F^ zNhBHlDOV7O0HG`&Ar9~qqa4GKcFIA}CT}z`p{&zCjn%Xo)L_#Zr_*H?7_PTo{%xMP`dJs(!jbY%uE|Jl9 zyO>b_bzdZnZu#~b!a*HDqyHs=!cz^E1kIu$$J}OOsHQwFosbaEQ1?f z6dnE4_Pc+25&=TjukY4jlz`)Nw!YU{-hJL3OwX>JqX0HpzBZalTwn?go_P)83p zjXo;^#4w6YFBs#gh7EYwBbf>H2gAqEm64#;my^qc`q_8?c~pbkps5Bg7}(sXG04)h zmx^QHUAECCL$vXNLE3ogOIE$3)R3pkHX5B)&xK`uI7mjH!*%n8%{_^Bz8&7{kG2wRlrkUCUXEw6$+z}cfNuvX^zMN zo@2^03z`QLhcOicdEWjDaWxF-xe--m zY21uugTe8M*`rkNSqM1+w0o93sIsv9tKb3N06&tR>wat@c7AGdYIbURYT%MvuxN3TIF9)9ACi4k19(eQH*Gtw<2cz9z8glyy-U)~GyMFd1F%lTe1B zP5u)7#K(mCZ90_jf*I}IWWxya(FrF9nYNalrSdbsh_(v`jN{(lHU z(dYq=pR{5a#oc*GGFtI5(y>7;hEZ&MVa9zHIy3<&;Hh_1&WK})nS#s{NRSJskM#UfTpnvcjSCq(WOOwtFyK1u?4_nnPHQ`hz0s{eG^}EX1L0$WCcr2m6j8! z_}+zBR##gWyQ`~fI6 z85~wq%XI$5x5fk6o$9;Mg)}ujNai9#S&jGC5U5*bB*UoFhuBGixu9mT0!Zj7&benp3j~Ww=kvx zSYp;$?Q0h6&I>I3yOFMx%(%?AY43QtjMEC7Z#Wl>-FUDj>bDTPFg4zll-&l^xzG^w zC(tsWJ*nO7&P}6#Y+2_z+*Ok-)CSf4>U+Z`(yn*AE!8!DMJv(h$IQ=P37}sN$U3zD zD1E0A`#74tl0KtM^;ifhAm!co!zkiActTg{4oB{?rKRO_OAX74b)H`1D#M82pzx&y z54%QX&;53u?}Aw>4&R-#*#b1P8-g^7$5{8J5ZMk6aOd>(Q`|JVZ0$OiGW9gHBP!s} z<+z|(?UHSV;X}^JIs3oy71n(#-Y5OhxGd_*n~#UK_L)8vIX`NqG<4dI$E>2Gf;YoC z^-K6fOMOJE95G}CAc^y!w2z4M5VI2&|H|lW57$%`dLx^85y5L%L+HErj0vSh**7&O zb7P5w(nux?dNLb^9L8W;MeNWq~q^+ zT0*TQB{~DWkRY2@zVF&gM)8&YuG87Px;vC2BX{I)%e-?5A%QLH-gmVBkjBt%{SU}| zLh8Ha8D9l5`lD68zILqTQ;nhB&CaPaLB{mIS1xY{14BL#Ie@Kt!%ijIBz`$upz%d6 zXdw8pfiSdN6)gHCjb)X-*A>SSBZ$8qPJSyEMu4AR1c=Z`vWiEX-*N8F^2mznM#o}* zmaqMYebb_%vsD>LuzFV83JF$QQdkOj!3?QRDwYYQVR!BQTe1y$u)!tDG|7}fU{PIK zX&50I2RL#nNewqV#-r7Dayg+T)4kBFO#&~Nad+2Sp6D>q%K~Ws6^@5??1J@$pdh)L zsKQ3RC&-r8Duam7rD+d)w~JRr=ilNMneJycPiO5ySsRr0VA~EH0yGt6B5P^fWVE7} zij>M@?qF%0_gmZ|!n`mkK^%+fB2mi!{$z;}n)!bAk5g}PuSKyWZduQc`6>7ql4AX% z{M?TDK<394Yv`)C$jf%O_dY@B<^lR*wQ|aC^wM> zF737oP4msOfDyvJWOUiIhY}gBsA(x; znTUGYX2lIw&-%E+Pg96{^96WU0bWIwiB*GcEW>_fSg|P*-4%#7!wb5d{|hiTrYd5I zf|z_IGMdNjt~_ss|2e^$IrFs^Kf{*pnh#@VUgl8z9@G-#c@38n&hcE04il{TB!|ng z@M1p#yE4-4b0}$e28!D_WH^SAQ&v7CfMv-fNFLb1!OKta#r5u2sWAeiUEuow3&du6qh8JWR?h#z}UNbuS?Pn|dx+wpe;|f=- z9CxDi_L(Bfp-8mhx1+u0S8I=OfIDUqUo!d`!=X2h_L@Ij*%QmiS&la_Go~I46EmBI zW)gRq8BhB-g-CLr>@WXQRVii?RJZSVCW3ZnK=q1aP>rE5oErIn6oM z!6U_&tV*-6O;)o{CiT z5J;Wd{ce7Dnv2vPFR66VMuN37ZcjyOR&DBoceBk$j9d5#RxY@biqw-s;Oqz}-=bmt zw}t|a9DS>qVC{kn#1gr|>ZcCPCfOP_-nh~iAST*ma(lx0qZaMkMYC0m?o$}R%Uh2$ z4?g9~d!nSV7V|{uaJG_~cA1)cvdtNRW6m~*J4gCE_+t9*vJWIHNULX5Jz*mRj$wrn zCO1JIw^#?C8%P?xXOx?aK4U8p%K&QiO(p@1e+(I&0=KT=2?z%F_Kc(3f>h+&t;hQ{?gEnc+AR}69-e=3-OK*jCSz8$Z#|Z zGOkOs%WzID&JN6&ioErixlb-e?Sn>X(NyG(zmJKv_^LI@`7H11TItJkHVZPg+@ahj zv)PCU#?1#{k5wcM&K%8{E7EIxvCxnWH<~i0B0YY^OhtN}8OxlC^tPygW2@a8%K#i1 zd(Ac-S`>eJ^L#V(_#Wf&^9rWY@>={&_T<9UxbdZJJ8)^vqUuX<{3(&Q4{pDB@*q69 z%ZIc@=Yg5D#j&E;e+Ip)HqkVCplb#HZhGq-GHL|}7QQs_xwr&OPhfOvz5P-tjy~YS0vplPIN{X<`dD?|Of|e#qN$ zp~zUSw;l3MPglbxJT>;507!#xSllj_f7OuD)iXFmQOBK2@)3c)+)`kA8-%_malH-7 z(l^&VcIw8O+o=woG$l>TX!#~N$42#I6-k(YX9SvpW`&em09LIwQ%Z$T1>A_8k|QgV z^>k|cdz=%;ZaffiAXGI;g{ZVxl6QdavyjIGP(wyr&?0Ka<^sF7ydIn6%UQjbk63*h z`-fbN-Fp%4rvjEe#9| zQhB@is22(in>N2LQww^-<2*^(nR7^=8W|x_+x!ORJACdWPxg)TS^xD?B}~<>kJ|U(3tQF9q~;jzi=I%qCOy35 zFI9rC=c9Q?#^=)S|LfNTo~OwpGhQ#aX_WOsd{guL{7kzSpMHtvU*MvLKT8Y$#@%w` zT31;5qycp@$e8+U1<)8`G&-kF1{rr}74Xs+0FCiqi27)VVcv3rZHYb;rcC}8nKcqh zi3pVWZSPkE=GJDWWV-N&=jLB<+bmHTj$!P3pnLLZ+dhMcu%*cn%OSP8AtBO5yfeAZ)^fK2{QpKfonWb`pCE+%#vU&jv?brcalt<0<)kUo-nPzX;A zB%O+9C(<=-J)xfc_^kpmwA>!$p^NAR0-VTuy&&Tq=yFk=}IhWrSvs z(Wm7FK<%hahKzm;wnJAq0}5MSTa+Re#k>7DdMkVUptduBWs!>pdrpe-gW8EZ@YI)a z?a+jcXQKKFvbmPCoAgkHx zEzqApgUf82s4tc!y@?Bg+KIVa5pBbLcqr#fngE`=^U@|m;K*{eB4aIX2F(GyVc>@1 zZ)aRA10Q`0o1kxnrv~T5GVlfeVd?{-f4jZclAw|BW_YT0&;OHekzQS(8!Enww< zz_LEL*s8WQ7C~S{n*?Xlm3(Y-{tXf_ji*T%k4DMHbpY}?q)iIutYA<)alz}Q_%_F zsfl5jQJNx+v_1^wM51l*RMkNAY`bb8+OVf|Y_8~WdG|QOuxIvJSh^}4yd;)IcF%4B zLvw7B8CFuZ6F^9g%>>XNw^BdqZhKoUp}Fd)G4)K8+kTC54)9c~EEDA#nm6xjtCG?> z>%q1wP+KcKp?ku;Ky9`3L_?Va+|MMshStoKS(dG^J=*LFnq@sVyO`*K5qhQJ@j%~M3G>y93dZo0^`myZ_)YnRb?-TOWS4+RRCpoyN zt(B$_T|=v9$~00|*rYZ)7t2K@T-8jO1}1udMXzi=Imcj8Dw}U`juG70cK_JBFS8^P zNanUB)m@1>bR?4PV=Bcff`qU7PVxk7>8r`p{t(C%6 z0qZ?ZI3=N0-_n2_rIc3Rnwc`?lvdx_L9mNbnJ2Qpr-taN=d^57OLW!K90W%wm3hav zR_dA3>f10=HticdH3|3<+O9`2>6LlvYo#Of%1B8t-Q1X}iY2OJ@&`!O4*yj)mnuP6 zg;#>1-y%beXVqWUI{C`(M?dV#ohM5U}!y|6caTt zI<8fQi5~D}+xcUn2lPkW2h~x80o!q{vzX`s&rM64 zWQO!68rJB32b-{YhI?#NT1(+N?}my~2PLAq__lHts~CuW44$ngII6Ff&IzD$S^i_s(Aweh08IYCZ!()(uON`e_lXzS^;3bMg%Wlb)*7NXh{5&%Hvgs_#pWB!_&pHQ!94tAEW*nFV`Wt^P<{wf-5So>33B z-9MD$y;S83T7!22{%hSZQ`Y-+rmPneRUc9PxV#q=U2l-*KIoa!I_j6&I_lSEmtQ99 zxoL)pt{c3)C>N_nCOg|Q>ZLnV+z@)T}lGt`m^K3gOwN>9|Tf11#qE~LR7nTPw zLan1ga5jjp{?#*O>X_*I1h&-XmrjC4N2T;SRt=Z`OOgMl2dfKOgOtaf>h^wv6xOC{ zcTaMtf7#ZFd$ERo~F)KB%^Zz)CK<-m}f_?0|5sC(K9J!|LlynVwLqqtTd_ zllq!(8PV0hex~f+*O{_=n5g;zlw89Ay|Te^dB8TMb<{Vtb=0@b&dG)2{%_;|7PWuv zaJfGwzrL4L+u-0gsGrh1I$h=PN=^T4KFjmpq`?;HS-nLHAM^Y7nGH>9ZQg?Z8rPcJ z>K}9+PgH7HVA_2O$l2;|okd^xEKVlo_V@Ik-I3ql(@*;5e;;)1WkI?nxg`lRqZ)mu zx9O14FVFrVFTuKlGx_+JzDHL3*%m_T3u6l-6rQ?g#>Gn*%ep0%0DF8puUnGabhM;J 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 Azdn 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͟}o#sHJh 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

eEm$N3lcXptZQVIo15K2oMX} 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

jhSJi+IL7YNG8>!+=a`OlY5Hbl^p0kn)Mfs; z2!j8*Cxt54Fykx2T2x)+@b-y5^gFHVBpW&mz?O)N9Mf%4JSL#`9gGyy4dVOtR}a4D zyK^6}{6DG0g~YL$8dy1+mobKrZH>dtDU;p{Voa!^fuc{`7G6Z?7gw>Id|hNXSfY^# zY1OyPlCe9&n8`%>>k8%5FUT&cAXeFq&qM|?!&k|?W@bvC>gN>0X>#TiNt&B#I3HwV zME886T{=*?I8YbaL1LBm{)Rv7P*jaJ?E6=RZdBE;t>Uv-B?Or^_07NK?`zUJex?%o z)jnxB#DB7I-4!UDxB$Q&7q5&<{OT)yW{vCIjGv*jvSnM2?~tTeXlU6~j%WQiLu?{0qVMhYm9qz9=r5oAi$pZHVh~_rLJ3Q3} z{;$A4i8ho0upuiOr}NG8rBk-Zap)Q$T9AOKqM6$(&u8k1P>Lt3#o^(sT!KE&NJus~ zN}WWu!h0ETEj`&ZlEc>dkI*F>VzM3*o8+;9o8ev7-1_z(NmY7yZH-(@E9276qgj

QK>(mD*p?z&ZsmHg{Z$o+F$H+% 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 z

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%0Dp0hz(VgHuk**6a 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 z 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

%j;%vpvgOhOy1bwK+;8? z9=|%lvq1difW4MRD@`)KMY_r)n!~C2xX>E=`kvaJR}mtQ*YQo_EyO-dVrnS7h51bd z=4q0NmGF#tWpk6g1tvQ9p8TLRtsr6p@kW?n6wLE#F;e2Uh5l6*CQ)Hf%me8Xuwtb# z8MwrIGYQGKcy6piJT{uDstZRynAwrdYBuOrX9wee3&6PZR`L^}(XOJi3*%~;$J0XQ za-p(i)a^{9UQ!sd>c4t??3;?`qv@pj;O9qZ2hQ-OnZOPKoBx^=P zqlw+Gj?dmBSulP6*BoCJ3jQrJkO0riglW5?dMIfH5BmM!;cCQb;Sq0@8l6iBZ!lC= z(N9IaVtU)JUZ{9c=wDE|LV_c>IC4;s=y&vdUF7=je{7jls&WXP(Uv2X&U+N4?t(XkM7 zP%8I>6{mQB0IsuR87mel*zUR40E~9oe>5;Y^RCC{mG|Q%z1GeT=r#DHlL>Jm$S^@3 z@sz8Yn8h@oFG_k6 zqd&T!OO~qqLD|%8b)?V-7;GzfzWaq~B#eb)#F`Jjm%6wb>sr+XBAbMdC4(UVJxh)+U?-gbOt@V7Y!sVjLo8lt$ z(5>43Y50DZAMl*dj6EN1r`SUMf@A%)>pNbhVD=}Qjh2m0^F-YC&F=L!LA^3#&9Hvi zPruv#^;h5hceX-*D|l8;!7YSVZ@?bb9y;0mGZw`#lTI2^aa8N7eW-zwtkErT%+n0~ zlQa^mM6nE5-!c9O)u4o?f%d?m?zh2) z#uvKD(D_C*W>fX&JgDZ_xnKTOj~=c(F~rfG$(z1(PAeDosfi1#V+wOyimG>e6Y?nP zhy&RK$%@DygOT$uv|K_A(sLuT@b^M#NdW?FtrizKZ^OgEC0$V6Mes#aM670DDJn}% zff&yzT-7W5F`J1b<)z4$5wl8E5RjBFI{~U{ z%Vv!ci;(H6!2`joa1b$eg_R-gC6k58rU&`67bTwv@F&z%8;X||f-9M0VO9(QDMV1y zrQoHQEVcMW)E?;fkMc%9US|j&(2{=&f-+m={F+J^Q5?QB;9lkl$Oo*?bYhx7}PD{T*Gu`Yz33j+RNScYtYvMGECg4s5 zNr}8eUAyN`0meN@$dQO5TZRIgYMT)y7k0SXj@{-5{7ef{tMLdSkb}Se-5EAa;Ffh^ z_rv%aMK3)}Yp8BV81*DN(9bCRa#Rg0X*Pz_2t(yiL-HAN2SEhY;6l>mI0Bvn4Q)q_ zPA0XZ<)15S%V^q(!74kRmi07AT+_y8{3wpW%Ce4ut(IQ5J!y3*k_aEOJ4SRzKIe)} zE-`~`%;$WEP0rBSwR}@bp~XyN;H3y8->hqD@SuUtZ-LA?TJ%4 zr{F1S6rCpA`8owM=9=|$S&DsqXHo0ol^D7>IXwQS-tbq?&7s4JDj@2hzEJNKM!#U4 z9a1%ynvDSX*my}LbaX$ZM92d?1P~CW1eWLWo$q}H!m9*jcm$ToT+>y*{Dn~kQ`Q6U z_9rzeh67^ZA{P=k3>OST28Mc+Q?A%Z=wZkr2QoK^x*gZLRR&{JmZCQF$cv=(W8+DC z!>X!As;F4^^o+XbT*6p`f|60$eW!P}ns6JgVts;38R4;ctBlgRW{&`N58i<`m9E1B z)nGx1OrU>5jDNR7%;agJZ%>-TLY;X?2Ru>{iuP31+*lFfYc+uc#?4+HtE1-8kYpqL?;G9!X>Koe z*lUOD>we;PM>HNs8dt)6437WTLSY22vgQUGBdn@e!rn^-^(tLmdNi&gzG&W6zo&lT z-EjQq0^|=^M2Zt&)Hm-m?1V> zG6l)Is2~*8-7S{Jl8#=++<0#CJV8L@WSn>zg90DRQPU2UWMS7P zU7+63BE>-8%}tvm1WL$(jWK^vvYDQN%-N0JZCCyY93%C;m@Tq0ooB*}zd=a%DoN#L zvtjJPv*fSyLe4eAVxDdAY$A)aoX)5=lZeY>!ILb_g+67Tf6QT$^!<$*&~>}NQvwKf zmiZxJwC<_^>P@m@4xRqPYM}wj@-WLh`|FTZCec#iLbE);S@3|)%f#u*STt@g>}T(FvAgbIwM*= zpEqhifgri2Gt?~LK@c|@EfjrsLt(UDq`e6Sh7Y5oeQ$nlX*vN~{O-G!MIcZk1cDGR zOF0kT@>h$bo#GF^7Ut=-!TOsj8%y?d=v7T{EGn=Bm7b-z&VxRzDn}7*65>tMiQW@!sH%I71 zw-lPDt2v~oAR@HE7Wr5fa4XAS($%#}4H)Id;k+u9S>ZIGDubM^4e~5d`OR=G7pr z6(98wK16KmGX)15C14E`ISI9Z)OLEG!DZ~U;!*1isvcNWY%|n+rPi;(gQc+;`Y~an zF-VG5n_*K#xI37nil(7j{gOhW*ci%ECH8>e!FPD2wYUzbl84B*8yi;|DvDI~rupK$ zI@*V;L;Ub@=qiKxdVGuhD^|PCYDo(DWt5A8?|pQNx;I}cfG2L6s|%Vnlz(gf%2AdI zK5r4xzl4l_chCrUEGqJ_G47)(Mg&E)KNr4cke(s)!00tUN5j=80$t6S?d`z{9YYLGqa86GZAD`teP zX+?2})igYV*ghMpVL9bH5L?scHXtOtdL9l#prrKvWX!h$&&>-l=CPonBLfX?$+eE6szQr^6M%E`P^y;Vi}piS|0WBMU@ydTTHSJQ1J zb@0n|U|w%Hb-HiG(Lz;>j7q|wcX*htUuJfe4|33}5(M^2Il zrU(wZ-o1^9WLoSNMYc3Sw3s2ca}U8T6rj<1*TBek-06v4q=hxI(#f-X)VLR4m;KY1 z9ZlN71z)urZ#;~F^_#s#M_3i4V&dNs+>uv7u_6Z=yw*3-yLGZxEuz?_&PQgWYS%sp zBS3LnL@tREI|OhhZYr3x?@s~o3=ESZ{S2|Lu91F%*hK#Z%iQQLh@k~nP#{mF;J*aq zQWhq?mzTtVvNnwSJ^f_g>U*ku1aoN)JPP}_>xiA`3F}`jgp*IBDC!y3fr_BkycnT^ zj$XN1{x+aTpq=Vhwl2C{jQUO`HvoMHDo2wP=)a~4Pzw;(4oI_Z->s`AzSJ7*o4(0H zYE-M$A+)Se+v3PV>BH0S>5mg87p2XqY#b;djb5IpDSt0|E)QMh;u zeI|>7C#zube=4hbz z{s#Q)T}y&jDw`?D_Z%G8;E`<)(6%F%mL|B7QsX5?EwWH1t(E=@Fe$e1SI1@E(eQR6O!c4hEb>~t(7Y=- zQ;e1@o#}&O>=K}?$GN~%*qq1j`2;i#yAk6R*I*n`F7pix3aI<1L!Lt2ok`QFA?-z^ z7UM}xxuU6{%Mt~in^whTy+>q+nT#+g_*minQTna`2nMJyyb#))oDIK zM+1!5sTBZD$LyQdZ$8{dpAIa}z%K=i3{f?~qJKsz?z{CJ+cye?h6n`cp#Dj-XRw~9 z(+YTFIH8NtJ`^~kb|5&H%IoS-;FE)D0(^5s=op)$frlQ+g}w*=L9*_Wy&wJW0!%Ynv<$~j!C1+qW!A3YJW+HPhSrLb zE#~!cPenGTBT62v9a1`9Ia8Jqg*BzdN*|UltcG(0rJ}t0BaIq0N2|U$V6NLWG-;Fq zmh!&JL@07m6UmVEkd#tt;J`-UT&*y>Rw*@h?G2ihRldsQOy(D&G?lz?6)*soKxn_N zXf z(Qe1U7>ezoJWmDIa-B_C`5RNWrfE@zb=+feuu?wCCTl9>*@L5UBohJJE)*8^iFuo+ zvv~$InJ`kja`MZlC)<+eOe-j15sZwNhN)C(0?zphRr|y+4d@@-rnH0$LoKMlCf3QU z;HW=nY=c^E(xBh5L5>cqi`%rMSo}pUZs!;(izwEs?dmFT`svskynUL&48qHVGH%5P zjeceoyJx4;sIBA&Z^|z=5hajtC&e^tG~o_EP|U>b4Y+lGZv?FT&0arK~SWeLG$%!@U*c}6Nu-LzT8N=Q)!R@jl%ToFbFw#iR^ zpK|%zV4uC_?#G<=0E{MnFXmB-FzQGgpt&I+$UEo|c};4Pf9owAxmr-X9lyX3DoX54!ImyA6Dt z4#?=QMQ$(I4P@mt6Wg>&YzZkEmk47egfq)C*b3uO+o>Fa1)M3$)3E`+L&qb5iS>gu zUzji=5v+eE>W#M-3b)oUGvt2?Oii0$!6e^^Su^&^(PNJ_w_=%dfb z2>7Rm6#X#~MZ6wSROd%p=>6(~IO`;hv569^72CqTjy@sdU)a6z3|V8OmBx5t~Px zd`FyF&;R(3D&oy+kted)oJcvzL^P2Z&nJ;A zCK%ll%S6P{M1Fc7TiaV(kN5WevbD9f_2hB*|E;a9-JRWS^Sl1}%hvXjovod}u&pmS z(YBw3DtYmjtz`>^&i6MrZ*FcP4g-eMonce8`RerO zDlqn_#KJcIc7gCSgKc3B(QXsLIguFsR)UN#7tlP z1)m5uk=Fv8bJ$!Ivs5V{J3LP`m@J*8B}YnBn-`sy&2HD&Wi=Y*R0`XxOUhI{59ZxBF0d$9&=@y!2{}9C=8$h z0H_^J1pG>NcgTV4Wly#?D>|3P56Hm<=MWSN1W%aaWAQyKK91&rA~UWs6}nCQ64Y>T zN<~*{zlqb*SS_5jsW)Wmx7YV-bCc0_1va9aw16u*#haszm$Lg;57|+616GI(!YBi)I+SIF|H)M937gerMPMld;M>43e2L(A~P(P9kV<#IMpGf`+J@UM-j3*aN< zAV!NZ>toiX>z(Lvv^~H?PiRtNFD0W3(ETf$XNyS+@tKW4^}VS9-PziHw6V3bv9pEQ zn>7bK<=3M7SIq|u**p_m*{NY7ObGkL75Ev`FV1EnPgt?YbF><|-QgwsKQGVU9A5pn zsfw7EZEVY}YF-1fJ?MTl(=lXYAu={Dgs{cRmU2-rFiHbV6|ut!Pjk!?+5M~OD#f5< zx9@rz=8Ix373>#G{owy><1aDW*qF$7a#0@Ox~T)u2Sn`u!27Ql{y*VoJ^ZiW-*-ry z@2v~C1OM+l*?JV>|DEkeJ5Rpi|3BlWS^j_WRsR1f|9>(0A25hj0Q6K@#4^9`ImNt| z7zV5&19%z9VjH4#{?ooQq4dsw>d|xK8|=R|&rF-Q`TJbnwQvvXTCX;CDzmM+L~vk%^`;MoZP0WRDQ$Yg=zi9Zqc#G({L2k zcjlW5q2!{7#R+C13O}m7G+&{a@eRcDB#?^3|E&Jj&SwNJ`N2%^k!f+hD9^_iJfDbQ zhwW3hi=KCCxR>4wx1(sj3AYlTIfyndb_mZtw!6(s{z|G~L(DS|+M=9_yi8Fc5JL1{ z^}tld7g=!7z>T@bzGHMvq8A{opXOyB5=Hjo!H{il4cK?AH|U{B>@)EHedxdXL@U5* z`oH~n`^jE~{%`H>ewF|Jl%KEq|F87_kD~vZo9vCx0tEWrnCCKwS_x>D#ulU+M75w6 z|5HU}B~_|QNGlu{QYm)Li&QR@9k7Z*c7tthGQ)7JLTtUjFfpEK%I-K6R8}7XgF*#K z7r9C&xk%XV&c-M$z0osnW|$b2J=`L_xSsBpEz-Q)-RXAqq@df)O?Lhh28xkIUgpLH zBkFd}f5PuD6B`6OB4ZP{6bL5grWW4~SL81&64o!VCPlV1;il;8J&3v;3yC_|rUc8# z7Eu9WcIebTa?EbP-?elO1?1yv2cM#=GZdz{gxDN*&9jBDd92ALoJxEc?^`wJv4F_g ze4@aC5)32Q$p*efO+RWiaEK}8feWBS>@ZUZ0NoK-!BaX}hi^{F10#_D#}x6*A)y)h zNaUy^Ph}2JXo~t!2oqZ9RsdA!I2>BX9bCr>)9CFNmHKeL8(dEXL)JJoj{t^W9}+Oe zcq|Iim(}?#yfd~N0}6Kppzs2;Wur{!`Na)&P|zRU{IOJ}n8D{1Ex_4~XL@<`MrzER z^O?|xsXAL)i(OocDmTn#g6GORwBmM-xE7smfeHu;)!f`eH zllsv?71ts+(Z+5ZQ+;``bCGzSP}wqKFUSHy*Fi6amwE^b#%Z()=i9_hL53uBAcq|7 ziOBd;BmhVsc60PxT{x2+NYbK2-A--!Xm$6x=9FOhJzP}?^l)LP?sgHs5_q9!aZJM``q+P*&B?Dyv%VQOzHwCl&KM2 z2%5TmjNMknmVW%nL#510wPsy>wA{a@sIh4pl~Ayi%x zS6XzGoLGO+BxH3>%0s~u+Hk2TqF4>8{X=W$iB2g^lbppyE=9b?^NYIlaYuLEPHkCf z)t}(1*T(NHdpKQNfk2q1L%se}KF1Z~`mYU0bnx3kmK?I8Py_2FUkE&$cz-pbmkTg` zB3AEq>f@pDKE?6Y5u!KXkUrv$ddISy;(EKzA(%Xe3Jq8WiMT;?Q7ym+icVI5tt^tT z7mcC|jB`Ix6`NsUsP9ZMOHxEKZoHbl&4G)<(jWQ@3v@`qK%1L*KUtQRvxUN(9DpWu zKU0y-y$lalR0d+l5)r2fBqsD?lbUAir{hk zuLb2mHOWQw;f@H-2;oq76&U2Bh+s5HW7Bjp6~#s-uBqw={1CpQB(5g0Cr>tJGD*kF z4b8I)hLyo$AYssVjD0tqrKVvJ4^b>J`>5;QQ6f4(-W}1hL|SG`HcoFv60s8)sb-mS z)`KI^bAa>$DgT^$Ckl?KJwNp^J1EXC+7dvOLafTlDQV6in9~xGE2bue;hVezZd6dL zOjGZC0ymoYm9#W#oUFOVb5Uqk1LEYd0ryt;;^gv*y%gmpmaN^xcqEXd9AI?nYOfJW^>DUY!z-$Ec0=eLK-3Wef>z0XSw1YhK#zMhS?JOdPcO>9QPG`JvTSd zvGvIUcm*DodXM$tPz%Ab^u0Ufg-JYtNxBu)l;MR5#~{K?f&hbH_qZzF|}oa2;#HD(c30$C1`usJ7Gf($eyd&QH6+opto5IZ2`oP4NM z$wZ!L>Vo!WGu5{_ELeq`4VX!f!8W|K#k7P%>1L$kIvPN(RYf6@;6|X-qwxt5gmGKL zdQGGlGp^nvVF0%#jSunG%kdaPR-Md5Vku_B{bg&o^Z)GbY;6AuK5aH+-1Jr5gIZT4 z#+i=nE|8-Xe2?@z{oPyOD_6gG%+rGDNy{;l*P_Vye8oA!N(#ZCqR>DNHQ4lL`mukDiu9Ts2EWas{wiirq{l$V*h^9xU&L=GBR%L7`NWG{IGxEnR(Qp8KP~ zQv)s&rHD%kd&TIICG?QUT(6M#jkya}B=?gtG%+VkGi?7wrY**$rPR@J+;PRu)T=%<_#i5i_hp z;z`1P7LN9p)2uWJpT-2@E%PGRu&+e{?ZK@ulc3$&OMt870tARpPy^W~Vz29ji3 z5%&Nw;>~p5LW;XWBv`sd)p>WETF{vpixxfK&G@bP`$>0z4zQ{$t|UF3@%b-ku>4g& z`OxkBckleC-hc12^Ph(LkE6r0qmx&!PL6y3y}$X8{i4$NSN70p@u1P$v!Bk+e?HTn z`9Gvqf+nYD|2TYgdi?J2;^o`dCudjGwo0dT)8muF<5#C=C+|-F>*(a<7`kSxrhE+d>Z5YVw(D2R4#p~0{%hU6-cgH7Zr>5ho zlnHGwPA<>iUL5H`{&@KI@`@VQL_BEx;_&p<$?>~47bjNnty?#qZ?AqlIlDSNI`l?XImkl_N3;ID|M&9zj4jMx zijB|**f{M*E>aFH^1+Aw5qSoCRd2PVtC@g*DVayMwJ7%4^CfCabCer3dpe&N@;03r z_dr{+LXIo`%4w-YHXbq$pmKDrGAbNXzn3qvtTz}iZuAYg+<;7&kRb{@3r3I{3R^an z$WO%?ay7Wr=A|{}+&8>X;%%CjeLJcl+ujfpjClZ80=>f-$$@w1No-{pn~{#e@^;12)4y{#utD)#@~-6vn; z|NfMpul|2u?f-v@{oku^W!wOoi(Wxo*9(wZN}gs4)Hk12fKUV8uz)vso^0@W8qFYW zFccmJYp{`ojRS!e$h90>q!7Q9`K|>HaNsyVS-N`N_UJ}RglL=!Fw0IwFf~TZ0L@ai zWC}_P+HpUHfGk{9D)2TiU6jVtQZdRf+U{zptgGc|68giP9=|%V?v^&2df>WdtDQL~ zL!K-H$3iVfn77r6fquhUQ8Dw8$z|p@zWnj+)v*?z0*|_C=E()w= zn3^syH6B#^>vqi7bZsu6P&;I=z_J?UR5a|UDTr^ISK}>@Q1Np~mOU5AXrep=hk}B@ z=uPlG><@5bF;gH<%NMfn%06RJI^~r$G;sWUo#@d4rHV|N8!YV)Er#R<<5J#~#ey_c zUXdioCd1M(`(eXn=f|?Oh1AkMgDmGzhJaFa$O8T}enNw&+o?~XU&)I;G#CW(Y<^|o z|JVPl!T&q$ng9Dee1TW<|GPWeTUGvl=gH3QSN{Lc`1$Jp`<4IyGx&c`1#dNZ&WqQ7 zZ7o&C513`?sNltNr~zVn4Uxxut`-^inNbyXB&d{ELvNVzAt?5bgktUhWG2wwC*Q;_lWQEKG3{Epzl#mWhI#k8(cRVK02WN9$lxe)k zctI{N^M*xQ!+qJc?lsFIonBll=cU{%brbv7?W3({`cJg4^_<&tDmPQPDAP>;kqhGr zo#qpTf=z3%GbLkb7k+#qlG^wiWa-|B;^NKGkvI9kPh8Gs;KpV6H*;qF)xuMe<8_3b z9%ae3G$Z0gp_xL@p%>gL!Gx&K7WoKCy;C~_;u`BCs=|mIY@Ik zUu0xUV^hHsQ2=@XCv4+60<0dSl&7i+=-BSLrn}7Y#yyfd*>!=sce6v_!@np}{k{JC z?Zv4<(;_d6C7a7sv%S=uW`Mly&r{6-`=~%S@v`BC`9+2diuj<2Y`ivck%`@foaVsm zX59Jd1qs%V;nOx zrjkQLSgI(BY^fE`v}m#mdHG!~@XXkR{Fm;m8!^iuqv~}rxu_f0>=;V`=KKsNk-lceyP>3${A);fNfq6TuKQbTaQ@qd|2jTFX z&jfiw;uZFX=8{8tgEp)R9nSW#Mcq#I8_H6HR(BksX=32jM~)-bB5n1P25^?7ApL^GoT#EI6cS*GNT&q0~NT`5dK)IZk zVaH*@OYf5H+d&|o*U)_r>7Tu1_acFY?a9(>@9=7P=7?Y&2ZuxJ7u{=0bnxoc<&a%o zzA}`sacnhR3a~^!ntF)nmSGNp=Z9e{CVIa2CL~D~7(HRVkSpKXbFYyKE$kQyYwEsL ztzvZD4c;pVX!qRjwSH_prq6y$nwLtlG4R@O~k8qp>;18jcRAymn-KfY7+4u^0 z-cHpK<^s!YgVq#kS^}%``t9Wv-DJp9W?Gp|in^W3@vW=84DmG|4_M#)I<%N8pv{O! z?{gzuVbS0$+l31~ls@q+TWFQ@{Dl{^GW-7e>lQK+8h${>O-{citOTBbW7!`BpAdeM zxquU?0&PJ%B>18~Xnc(xsMn$>(nNR!Q_>^nV@Pxr`O#8plAVqb-%X_|F=t+-EPbp6 z&oR-mO2HEkPZ$|WF`g+Xai{mDly(&84xJX|f@jd1J{8boIws*%iPGwkO>V@n@CBu6 zj*PZETMlhvDVb+W7p_~(<7^alJN0$x8+O*Fklfs4&lfpZPjEkGqcpcUy&5TwKIAo_ zEOM1ZVG(RnPtImqYC($@)RUp|d`jx6`%(h0i~ywgv8R)F6dm)zr!MOwO~M6Z(LPU* z=>|1}=1Z>AL~la#QEQZcVc!Y7k+n3^h3Zavlc9sw1pyiI@XaaIsSWIyK-10Q`&7JX zaINRR*0H{H)n^!%C~kgE%js*_4v#RnTZn@}sg+ESdh;Uo8UiXva-iV76pt}YV8)ji zh==u+947O7^{S>BGV0EYmGNH%o+9T#2Ykcm6@{D<7Iwn>aq|Ye?_$+Tq!#JK;Jw92Y12< zuV^?f&C3C+@#J1k{2nNpu&bBC3XT7u=x^*Y(8>6P;=@5 z6dk?cOH6=RvR5+Z*^$HJI8nsqnR3~CJL#BZBJZ2d-Uv~6pQ!=+JJoi$hJrt(@PQt% zw(ow~`Zc=XH@;WiwW+j`DSbtikp>%-0vO)t^C=KF=W!euWO4QCl8&JT8i?8Ypc^@p z0_mx&^g}wI<8WWh`22FIG$*Im zz*`G_-i8LHet=n3$V7ke(N^ehIP_J5k46TWUw!fN}Ea0kPY3t~V9kBYBerZzY(!{fQ4hZzJEPmW! z2dp>UF$wyR^Zaq=N}h?^5?ZPLT(Mt%HG?p}>2YZ4@ovcGdiOBSaITCm`&=V{N>~1k zm@BIB3xl+G^%txD-Wme3n5)5e+gR#NBL)~>zYyh+%~cddURgTtRoJiL-EdPd-Mp#q zN_31jZzz_Jk~va9SRu2sK51(|4kc8-|JLmIhbkH#eAI2scDgmUQ>|=8Q(LzLW$b23 zC4669z9{5OvkY#w3JG>q2q_`!@_bSHf~lu?i<}uXIG&U$xD?2-Yhe-WN)V7rDGV3{ ztsBzVMI#D`JFP;j%`@*PD=046zI%YSEjCU?mJC>$8x~W!&8n?KKc2IPw~w}-Mf$Hd z5={@Smu|g_{;fLK8f zxmo?D-SUaj$j0cP^&6^G2k;$9`hVGb^Y*rJBysp}=~H0TGu=`mQ-{yE$Fq;G*iL-K zcCOCmm!U{VV$4G!NZCr>eE0W36#xPxb=YxdW_GM+x5pvD0#GOv3Uy97dE}wv0NVpX z;sX}6BuW?m#Ti-Kuz~pt#%FQ9e^T!?3gGl08pEU@GU;G66%9>wQO%GCev}B+frpfc z-#!fMklHM{um#wFc)?7wZ|}43^n1}J`S39Z^4k;M(|3K#8H4%JEoX;dHLl7)__?#s zk@Yp5zz`OuW&WumXFl2E$adeYwx7MElXKgPi?A1_?fWBH;8>@q{LQ>zT+FmnV9+bE zSP6ZSQkDQK3P}`$Kax@-=kyKygjZSy%*j_a6hk?-sP19P+)ytuV{#?%<-HxiW<@QT zop`K25pE(G81Wi(vOOxA3G>>MX^IeO{d{tk3~5~2WD1IKMh1>NR@$hp>B#2eMF?Ji z6u#Az(J#yRlg6NX_&?$+; zGQtpFPzZ@Y+G?e!))8+IY10>GD%!#*T)HRf(1}VZF*69#InY2T<}Z*XQgKjldMk}J z6V7*N`H!;NAHmzl?SpsQ!Z~yYs{@(tl-JRV$xZ2E?rQo*rFQK~qaQokQBS*)3%Ye>B=Nw|626HiFmXrLfah8+( zR4UN{&!(qYfamO}SvXj5N0kAdO{wL8pKl)@?`-eB{B*f{`KGkgzZ|d8auHs+06)rF z-et2dusE{-&l&FmL_Zts?&0?C;dZzE>HO^YeP_A7nr9=^Th7En8QgL#l)*)T$yB8& zlcP=85X!$}1LcH#ixywJo>AXLDWyMX5^oSjv2!0@rmQZ{@#sU84{_Yn4C#@+h zhL#jCmdp(VoLB#QbtPZ_Yh`tP?J@rEXZ%_%^0b$FzDxcBD#d{p(rUFlDsba5D)2EX z@FAlDB|FKEP>tCvX>VPcMajv>M$DUxRztP~k!7G3U=s!w>MbH(foT^8!7^hoxu$f) z7Z#lU91swsZ99piYnTB7ttm>A*lH2oxZDtlN5Suq6N09y(||ODhn`3VUB#fkEPbcQ zOTuT;l+r^fAV@c%ec78}(#p(-H|M1d_7{*UcF)la{yOw-chM9M$zahdZe+(0u8;vz zK4|1JQoi8)9AH&hVuA)e-GA7P!rwHfHe=uxsb6|7ltibS%5jZDawE$4cP23K;goe7 z@)*bu7Gu?T?;IdxKp)bW%Gd^-05Tns{8*+emB4NEle2x#1~Ji`#ZmGbBO!GtV_5k; z%hes)0s1fglQ;b*aU$ObH(_97|CIgx)2dcPcS4xWc`T45_OK>8$GW0VE^LPMMlKFm z=_KaC^F!9a9;iIm2STN+uB;^QU3cWzfAsn6#pK@zn@qXcDfkXC_Vl1 zCrA`#6#HX`M2_YETeIs2|J{xMCqC;eKXm=?&iZnp{`d0wWBu=+^2_-DAnI71?lk8A z?2-9DGXICG2(HD6sk-2LvKn=R@Io)it`WBDGU>#@QZEtCSx|WboL{v1n+Fl$1TD@6 z4hNn4OQL;*Nup@_`bf6W22o-an+M4>N*R!H_NrNs3bu~?$fh-@Eq0L2=l`x}`_Tw% zP5c@4pI27bGqx%Ce|u%^vHtT<`8|sIkKF#x=JuS8Ov_LvQjZD!ZQ=!VRu1K!?Q^<_ z7t1s@qm@d=JherZrEG4KmMH17NK+b)F<4`f#wugWjK(;01I$|8R}6KyQ9 z6DIFooaLV(%U3a+l-Oj?vwh52XEd>6OqeBdx$LP|92U5+GObnye=RhyI*?2Qn}&8g zISLb~XA)1)?H}~soI^x$wZf8^+5vBJ34axvR4dNV_QKZ!6eHxr$7#@@<)sA4$cK+J zppG)Pk=-bOO~zrkPWF6{I@+5a%ihS+PnSt-Cv-5WRv<&Ld>ci6wc>@~W=XRrGJ_fa z@xQG-6;aEa-Ju=g=YL;qePBMk(i8m6YEi}@O74p^Wo#J z`j=50OD2FAcZl4Zu&M+l2J+TRhCA|wrdS?#usoJ{g$icK;?SEIAAxVC2GOckZFBI!~rBM<7M7(Q`q(lPs(z!e_ zpK?x7)*4MQOcr`CYja`Wytq6&waWVwZ^;uQ>sQ8CGN#1HFuEZ($bUo`Qazypuo>+` z!)Kiz>67{sjSER{_5EO!OtjBbp)uP}#AydKX#}`iT9$sWTDfo$K{tC$*?~+BvLZzU zuiZ|{5{{&d#7pyd?7utTzc@PCKfT&M7SqZP5`lkHQKh-}4N@{+@(m}R=12?ukTT2@NKj?g@&0)C37*4gF*s}T(8*?&`07dEDcVq??&W_`K_EBe`C(C zTIsuy)vvoz1|g(3&yCOPWgRy1ooLF!U(Gk)s+CHAlk{c6fL05b*xT4k=uX=2)A-W+ zN}>E?9Dv_GC)*%(hM1;PP)$$dh?D7eBFMb}1~RKXS61 zBOqe;U=U!pt73i9SF~bDJM=XT`yLN)9OYxnwDMq1QIMPVmhA{`5WSd+<@SE-X>NbJJhy4kjXpk8g zjG@9Pi3;N4n$&@U8>DoVOX!4CNePWrA`4DcE5GDhgjFjlzKjpxg4(Xuz^4fl^)Hib zIifz6SVe@1tV<^OaCij@k|kil`p?%&b{u{o$z^ecgaC5sv{f>Z^w5ixTY};m9fcmhLA>=sH@bl~nJcNzCLv;m z$;7`I8a@0TP30VhSXC@0&xK3eTYhxI1(+xe(TuJ)_83`Pd5MBiIMG7E0?bsIaA^-V zk=!}pw90RK3XO$%ASRc)4~NSls-~ioOCtA0DMt4Jm?BDb4zUn z7Zo;m<~cBLNlc;+CI~JV%%|#&LO!uO5!3T1=2rrjI`vNlA|gFxhx3UDAvjO~)43Z3 z@xOOLLKi?9CYt0ue*s)+jWH-vvNef1sWp&SiJ{E|CmY2c-r)sv%GyFaxzxNstyf01 zj zpS3|zn^D;qHD5I3y8ua@$&e9O>+&~7FkxOHcfLh1ZuQ1vw28b~1e~^72p8*yo6dPq zWM18MH9QPFme82GWbD~G1nWY)%GO3k`(nP~Ar18ovcXHL62n4#gpuAYM5?Hsr9xSD z-6VEsmP>{`i?szXcafZ4KHeoysWWCXi*C^?bqeX~lu>sbgHj%Xd|iiZ5!cC)uTqH3 zCtW|{g0^h0%pv0r**-r42VPK+Nv&00X2Fz~9y2cCEK9#V4cD02_a^IE)=5+kRINm0 z@_Ch=wh}Q7qA{9eZPHIc`_Zv(NlbleGyQ5N0n~d${`nA#kk=P(kzeJbx9Gnt-asm< z-X`faMH;HIMZ@IyQW8-30Esa%%i5{MKsnC)iqyzg(IOfVsNDnW+tWKTxrO0V3#s1i z&~u=INEm5kVjFw1H!)!97eMt%mc&+M@o_mz$Uc<%TqAKiL!F(tqxZccc&)Epk^RdW>Yaqt0%}~b1Ty*AJD}36n%wdOD$Xu7NXt{66%m}YR(A?A4&xh5dDzU|7xO^|U;nOj22W<#yEj<_l*83~tB zG36+hC-St7&?L6Tl?i(7->KxS7~3bY5rdqRy!f^;##MJp%}Niky25m|MT(~*7|BlT z+db;r6J6IY_3l)OaYnrbd9ii*cR<)6*x1fBWHamciQP|VEVF3oN%WJ11|yYhtYjGV zz%?x;Gwu=MQ-MO`U*9CWO%k|e(-yS6_@sqR5l@5I4rl^(R$!vq3`OZyWm|YH*m54* zSgSOMVyc6SLSl}O3%=2ahSVkLs48kcr8)kqW1(jPn1a2V?7O-&mhRtqBA4}{@03tSN>0>j*C8VJPMf<~&jx*uVWvjTS-XH}DD1!M7ph(e5W(Y*d>2aM1&*e8}w5EXKwKKcRVi`(K|-_Yy|w0VrA zBMZ91f+`+sA`IE57X;Mx?1cIgDN$yXkM(*AL(pOfQPjB}#8DdRnmL$C{XtL#NWr2g z1$Cw{(a%7c(3G>XsykBAURAYoFdFMLN<>Dml8-#i9VtckBx5WH4r)4RdP;oxAP7;8 z38gqGP0cq0KN^G6^|u_HPsh~HCa&k(%c>N$ph%HXF0ZT#gX9RPsK_8;9)As0r3DZi zNNcVay)A3@a0=g2ByPa~@_V*eG-BRm(#h4+82PqCfoPyqfv9&KqQxjm6I7pP?5VWZ z5)>8MJRE+Clh)OmL%nU_9G0%!Ay6DV`m2AW^c zBU8fV=Tq+)tAY<7ZYf}j0&_*dTsoVS*eh6678$xhm1gh zemHPLk^9i=8>fKB$S9^vWV|iAneL%|1T)B z%{@$D4+X~Q_!s)6Ot5rfYA4hbco<~=eQtaHS$G|h!#s`3oKLwmyyFB6RSSlt`W2nE1+)7P%Af-f?`<27XEdc!i@&V-!``41sbX}IY$rdx3a9BCzvq6qB#eI%fEJ}<; zGOt!DNav-MNnAIcPVktN-|G`s6b_UD^iY^WJgYZ;Cn9KGh0XWt9I%+gYko7ROAw6) zZ}`1hY}|&DABJ8hu@iP^^TTB^(o94FVg?oUe9bFGRLQ(J-$kiMyP?Ph*Z3X3SAf1; zJJ2=Nh&HS`N=(cW|9&_gVN8CD3^fK{zLgfjkcTBl;aq$kZXWC!QVRyD~qtXc}XIB=)w?l%9J^ zGmsbTexEvtOv;SjC48b{%F^r8#hT*bB!O~rDWm<=m$$GQ zh!X>%PYSe}>!9AB5}Wc6B&_0JihFWb4{EvdY$4DEm72MU>$3)C+xKFY7_Fowk^_p; zgvQ`w+C(+GC%k-pd&XB@7>ch{-Y6UNccLnzj4k3Iw|!rS!}viVt3`WE3V9N`m{?O4 z!__{mVw8d>q{vco0XVjQV^0_dH;QRiYf~XkzfY7cL){p!Wm$h7h2&zJbR~%KrfJ}? z#Lr7bJw3$ELC03kTyndo&`Z5PEpY2WEK4dnY{~|@|EwQ(&}0hT+-nOJ2_wIU{zNj# zhyCSuQTA%?HriG}c8d}c3b9F~7a|rm6s;)Ih|$!ImasOG(0d8-mrJi)f@Ya|TbTm* z8V+qPx`J2^GA_RWl$TbHX{IDo%cEvgw;xbA%VxGk?BdQe!|d*`C$Xx;(H@Dw4(ecm zR_zk^8$_h>DdzIh$q+`5&jiZQN+$u(hY5=WR;xlc2)G|KOiDHeUiVy#3w$6VHLSB2+hho5iCZyG=Kp?)@irN&AHPRLQen#CjL+kzq(r=nj_r7^wyD??RN zMDc?d)k-5rOATzL{!84nyjy0X!ysQvCI2Dqv zMWmuKyGP5ajQQo^xAwkCU}|Qt0U^Q_)&2Q3nindW_qsRN@FB0Bvm#ly$glZ(=$;-D zJbfV*`NtFzfHqb7(^B^(LPKG99@4-fh#0j1UNEv9c~1qFl7UtE?12=}&`#_$i2^(E zxL7d}eufa)&U?ZbJnsiqeg~$CAtqR%k@f0>?=Ws}?$3h%)1Q%yHEjNgp_jsyO%QyHO9n z&s;c$lpOCU$pGW<(GHPQb6uuAE^aW4ea`8T?@AxqSRRr}^eGl-rNmf7Vv4Q;#!;yw zArq&hgF1MlN!cL^Da5m&7g0i4!U(mQC+vzPT&*zaD2+!ELn&Bup2`ip z-k*{d;USQjPsWfp=?Oe#z*xOu#LZ{@YEL*Rx9~j5SyhlJFq#VIk*8li9zw-QVtB?8L9`nEbc%_dg)pIQc zoL+{&4&j2pCM=-=dKSCF7rM#^3Bfa7grUVzj5R>x0JECdJ`YKajtEk8(pbGM0J~l$Qcs zp-Pi^1V)r(lDo#B^4j*ZNuzx*)13%YDGZF?j72SXu$Rez%d9w7s;(c9>^kdqi_|>v zH)hP7$=d@0F!d)IS#@B2FWpsDa6p)hw+SBS_CEw!RsOSS|&ZMZ%nu)lm&KT z>uSOq2mY&~)3QN$3Fa2CF})m|2y(P!2AE4sx_?QpQ2-^qGpiLj z!uk#IB23g3H%MLnz3WGe#?l26zRl7BK)@)INv)!Q#7zy2lo2m!nnsaih*h7Ab%*cA zo-LH1!nxIpAR`rxB@RmFFXocNfu3e!8WuDRWb>)VS+9r#{M(p51WS9kln~J>c&wHo zLu7#AGnW)6LMDXYUqZtKfQhXjZJA&rk10$21Z$=C(1X)+ewT&-{z}B9qml?yhSKDQ z(hw8vSXjKh-XK|~$g!=*)N2&G1qy+BV2?gv>yKKlk}7JT3z;P(B$nq-a5TXw*_#kA zVSpjNfH3GPW;n8)#2ee3yBoVqNWYvAK+rXku+$p}}r2ASE3fy z80>jHD&>7QjnNfNP&G>Ti5E~(_bh6u#NQQiKE-||=5|jj~pLio* zXIEh7M%HF#TTs*D%ZE8wqLAv%z#{|mq}bO~nA3$Ss7Nr7W++P`0vewpEq-t;q}z`W z0F7$01Dcd16w)5aQ*z*qX{gg8kRFc608$V2bO#!wOc7N&I{w*5F)B<2Reo#(`3vQo z$b+K}7&l9kV-Ya&R%Ly_d@(|)EYAQ-j(|%`_|pCkDU@95{03x){wqr5CnyS7vlE5V z17HxvQJV0Ps{@SBCVzIFV1g=zb7juLJ0~CD*s4}Uv-&s#@a=np)IWUeO%iIb&et;O z6=uRMf`qiG9H?qphr>a_%JqRk5tS_8OEyrQGmGgN__YM96{mqr0-dkoXJ_>jCC31a zc_Au}g$!8Axv^H_9PWL0&dp`FQm*Y%C(p1kUzyIUmHlB?B`HfKGqZhP1e1W0nMn~7 z4U$Yxk%C`KRIvoo>Tn|Wqv#sK-}wO`CLHzQC=fG48r3YTA_66_6KAON<|UT)0NJuI zxn!{z&7jPtFcx9d6%jIy&FGRBG8!^3@y1kf#?q0>jAHyNRqyFzF=>LFg7`F&` z(o5xWLykb%hKdbMO(!$ftMdj~F#kkp>;ROZt_$pBi1pw@2kQxGVh8ZImh2z@m{A!= z@;|BdD`-VZ&Ip`tc0-e@JNR~s)I^{8=RLFWS)H#KDJI4GDb6H;a4DVeN?2{i;R-7f{5Fh`Qibg^pX*3LX*ofpUm(?9o+p zV&5L|HubUXV>)O2Mu;u^=|8x5JhWs>y(l-ftsC!+%y^=~*!D9=oS^K|)+A1kJSohs zaF^q~!)#92fQu?)tB#X9!K-bfS_$dRCFdmkHQZDrgf{QQDqyKmtyY|#bxD(*v|pEB zH{js~Wi+W{l0h0nDnh4c$!n(^NaJ^S`Ik((lTIa`4+963L}?dO%6LNz~P{*x!8SJtnDa}LF5?{#X#aLlDyR-QSUQ#Fa^21LwgCM ze!t0uvyh5yhSdkM$&UhsD4+>GUEbR$Ti)|1@*$;T!>X4oKH#h=5wGZmFC$;HR*Q_% z1kz5)(g%3C5>DhX?Mqi!#+TGsX3uX3O45dMo+fn;+dwp5zdWMvpd(m-V&!W^Zn!?F zTp#sbe5rb$zECR1_hL(xTIP)IyTbN3Y~TMR>Op^4`Fxzu9h;DW>H zBy=qPk8jn=DZSa0-eTGk>U;Uu!gRq+5C7cMOF!w{_S<*x(JSooP10GDNo||P9bvxw zKZvX#a(_g|oa_I!-p%`et#{gw^8e5H1(BQjT-+;L`)XB4z+9+u{3vxT(GUeGGHzSl zHLDF?HzAgBsa7;uYbTBQ-INWzRuTn1Z@+AHrZz`y+_M&!H%HVL?N^L8LVO$e(SW~h zTkWN8yR+8rbl1AetIO?;rS7sz`zv(K>8$k1J`E!0nv6SE$Lf^5R)XocWAPh-*@Vx& zHHem+U<9*=1{v0FTfP@2+Q6Q*mpjXy)#df>#*)i7LT|0-ZuFLOUxhUPQKz%9yu7-+ z^()y`UXeaTr{+gNWq?XJ_`s8)ti7}CDwM6E$oI?Cnt#&UbLy+rM2 zt39{xu0HEK)yAV682lFE|11rDq>nlLe{FqrrNIAJ9{qoR%5N4|A9glr`|ZmwFRuWa zKxMz&)txXt*sxz7F27hFK7BRbKYEp1zIOWEaP{>ctA7lRlUG~S8L)&D!9m)uUcbM7 z_w@}+`zKHLZk~7S{ip5QzVrI&>e`E&UHjN`uG_nQaB_9CRh@s93_F`|-(A0d@2|a& zm%r@vJ1^It?eB!gD}jC8KJ$W|{!aVd>;AJhes|;S)dCQ;q23<8-90_{yt5j8@%G}4 zul+DuJ~>Qj_b^#yM?2SS)L#DLO!{w6UK@a?oMRkhVn2Jf{QCL&+QCh4{K7ekmfx>! zOj;+)Z*Tq4{^9xCql3Nc7w>PrzBpP0q&Ck1?cSGne_TKBu8!V6qu2e5<28GAqkFY- zzP#RA?!4P)$*a}T>c$WBq)qK|=Wu;8xb-$h{nx&Ic71Y^Zof*-k6u6Dpw8R#)uVmC zwR^Gt=Dho=tV8X<=gY_9+@rfs4?F4h;mA3D9_~-J58mt@x2{*#U-WxHd%Fy1 zPUzqe&zIl#{mJRO79FN9o*xfy$KI*?{PxxP^})+kXV2Llu>tK|ehJ4X3qaI{y5_$M z)}QsB`tQ7x{&>)G{s`Ka2T}j?(e9TwJFk=Ye0B2TBskjbyv_kG3O^j)Q}^oC#@-*V zUVLqz^je3XpZnLN&^XqI&k*mPHVTly1jcn=y=C{@5SrY{n1+I)$8knw;NwZE@MaSr#HFY z78Lk+C+}WOZZFQhzV`n(eERn2)y?E`Zx9|`4$i!>Km2^Oe`CM0U+lk#-Vp3cCU~6^z8Y@v&cER_z()g-4}2Ci^Cmr90uf81ZzW?(2P56>6C&L%f@~e?Q$aS@_l+3#s@9(9b$EU9j#w(u(?_Z|w z0X=Fx-P?Y*@}l4WvNjy;t*)K~(f;@)yKgtzq)uCHy7tZwQu^iP=k0^r=q&BOVH>Xw z4=&>L^{a4g^7j3*{q*To`*p52HVGXAfh*nRc6Vi?(_ZRyy4~e==ULZT-Qb;U3|_ri z+dU4q_r2?QIJiE1-aFaeAKHV<%kbUXgE!AQt6yH91kZx_o}FkDy0|?V(3{maFK)l4 zbhY*Q#nt|5N!gU+h1R+m~-U zgWYxK<#i{0zHxnUk>7cX-b{Hft2;Dm2Y;MyxEEgs@yW^c-l+ZA*?9l%)yvywd)|xg zb;rFPAFyzB`<}h%yJ7J8^|N5G^X?Dt%lpHf@b;aZ{?R!YclHktx4%An`T33aYJKB& z=Up4{H}}>&>}-02SJ&hA_V#f9XneIl+FLz78g2LOahK9JXU`6Iu0D@n9=>^TesReb z0jUjkzqilY+i%7j-QjKb=Jb_&a6Wi_wCWGPZnqBFd(YnA_%GfauXbNtpOitq!<8Kf z_-1t_*=ff+>%;f0)As4B@x|MXy@Qqa*UPWguAVvRvkT|>tG%?7I6v5%HpLg->H6ty zw0(RKcz^WM_1*2mmH6FokX&3HU)}Z-8u&+T_BOZ;oUQ7;)C#a`hBP>j-yaRnhLer2 z@8i?YPupwHzV7X;ZKSNrP7YZA`uU5qw)Y3SXD`~6;{LLKu(ES;)H}8NFWwHf``d1> zMbH1ZWf!fLi{$k1Rpi{>TtACfwn{Y~3*7%Psigehd&C0Ix&N>U4vMqkl}} zUc{&<9MiS(fFeMN`qB$Az{-v(i~|#1v5}W32V8{cB@=`xM|Tt&eiZO=+(gIWF^yGw z>6I=@^OmL&l39d~&kjCa?!Vc;IJ$cO>3ILm{xJZ|jUWe6|M<=R#m?EK`r0z$p*hay zhD1x&UQ<3awTRWwl8JL9TO_16$ME-?ZXF$A-jJB`){rI)P@EsM4_+z>@u|%cJyL|a z=AsF2$TxN271E0$Uo)-ZAgniaU;4lth5ZQESD4(7PM@Fg2Lcj*U$^4{B#|_%3wy&hBLnk{ln1vcd7jQXS>B-T09fYip)uM59_=|jE1*yK0Z zI5$W?e4tVKp*BoETm)&Nl{O-gaM~Es+wF_fqtgRzQADeGUFgk9X&( zM!C-l%Ou|CR_cdFtQJebUJ#kZCBwAu`pEV#F3v8r<-+{)bKqx<^050;fZuzW5b7Nl z$@r+SMDRAZKtC{2wLAjuLdYvF&2u}kePc||x39L3?>8nHV+>I@Bx2V7Ew~$^$NsH{ z?trADst_c$KX2SwBTR-1Ayn6tur#KmpN$^E7kD35wIX}&7_;m@)HM70Jn5nny(={t zA8FL|0~p9r-w&X`4-Fh-D430d`DCg$`+@1gAPJO5R?`(d+>5Hqs`K#UNlXsf-A4vM zdU~LN_GgW>uMhP>MFc?*4>SqCv>dXWh2nam?cGI)fAuB!zxcPf{zt6dJyOBVi~s3# zm-G6c_Dc6r|MN3`kNMvo^*?`>{wJr1fP)Ej2qf?V&tU|4&2Nmb#136McIA7UVf?K) zK&Bl(QX?T^Sj5Lhc>i>PR=iv2+!bx79B$RhbYVlhTdw*!dMTKgfcQuvzAtKOj$xrj6Mepn-(|tZdz+@H7kF4B5tnn7h-> zg1NBRXZBDo`AzF+p62Bq_?WMOxED(9s*Cv%tjtz$+yf``uKoAI$lcT)KZ1{f`W2J% zW2TWfr83ibUUw_iw2({uQJVjc`rTFjA9wG51DKQlb7f_DJum++cb6aK|DW-DwEsTJ z|36LsFC^6TqLvq>iRbfwfCaJwrbkG%=|tgJ2Hi`s5KGx;MVzG}8LA0OYckj{v>U;j zZXxBDVL-gU^~|bPrV5&>A5F#kV|KdA3?WqY)_;J``l7D|Z!IMjz#lSmS=GuciB<1V z!|e}S)+)1QTD{x;!}QwEI$a#qrseJj%vDykGF=4Dy3$bmgSN5CECD&|u>TPK^<{U9 zBi6LL{TO0fEj&VL$V3q~I|14Gd5N_I&$-NCg5MwI(j@XT4>EN+aHBU3Tv(6&D~+Sf z&STBiew0|Cesq2Ron}3Y%yPEJA0)GXr&%vf?GNg{Q!(z2c}>-uF6ydg=&7JO76&^g7%`^ksf$d@ z{pdIvK$Nm$CzPSUAlc1nn2J2s(gkq;m7<8KNh zkes5%Wsh1@pXVm2iL;VFmy_YGYq06LM@{ziXsLY~}>KxOB7WR6N>Y2}Bx^J73Jl-~e z!rnGXKl1(P1_w_iM=%fh1;AlmN)FK~xMP)kKIOAaCNB9#G=nXrA*wFskxdN8rl(j} zNY#?1WDwqZ$?%QjJk!86NxM;8CF9dOEtyRCT5$Bt&u^j8Ws?<2dCWQUZBrn;AS*Z> zG~w(yr8lwzeUp6<`|9J<+9s)C(_@yn&wYEq8jY!tBI_je6A#CgA9*9!N48C;c0+H- zCTDcBz)FNP2kBTZ5Ve$-!FitFyJ|F~^Qw#cNC7 z!9tb1fJ5*Yj{D6mE@&LkgofjKZMuJQtx>J88!vH&M1A|MT5)VfNv+mY?3~nKsI^T_ z3`c!J!!extA)`qXJeg65P9m?4;6%bUEgkQeY>~0Ar>?s@LmZds z@~`F^z5>Nh<{LJy7BG9|;mx*cT;18|m50BON#kk}lUJZ~y@immh|Q}6>RgoE-RM=) z%c6*xXY~p)Ub_%d<{P~V5a%M~t~Rei4~rsWw!13_tPYGauh&zN?htX~_Fp`jYj# z3sX@aI5xL{y&@irP0Y_;m@+)BKtp~u|r2mbT8-M1>(Qg+xhyR?UnUM z|KFeTE4TlzJ=*^t?f(yI|2K^PP_*PWk;eVkp&d_-!f|v>W2|Z9i=s#HW*1W59c65Y zh}`-NGmokSu!G?R3ImKDzCSNxEy56@c9G6XJE+N4r z1RWXkAV&!>M{$+0iIcJ<3XDd`vIIOZR35d?c<0fG#<;C5QKGh-2Foz`=TqS{)I8u? zsYy#hxa;x(~dy z(b}H+{s|&lbkk3LA7-1wzh_aaNm}CIu*7Iu*vhI_G)P(5K#BH4L7{q;8A-LsS+X-l zVx#;_fzmD<%}{z~8q>C*Sg+Z)EX*it_%`{L$V}FwIC4`*tyNW&O-xn28z@CaeI{ya zg8hWcNlwI({yMx4qnnV}(rgQ#sBMUa>!n}Q28fuy28i|R`+M}A#mbh#(|i5W=IDcv94IV31vMKCswtR z0|M?e2pp%i7;uTz0&oL}?yF;9?*6+rzr^~^tqRAQKXd0wlKQi@DoF(IDc!2mun2pV z#km?(j1he~$cWLyi&4_M>rpm-N*9G;2P^hVMxKJwF;h}o}b1T5-$%O1fGv^*%8yz ztHs+vl!j2~8wy^7GoY79CtA4p(A$K65>Lp$8`BU#!HYELq4zVF_u$kYQ#l-FRV$*u zI{(;%M2krSy0P|B)GOrOYO`R{+B%?AVYsbv7wZ&>9f12QbPC?I@C^sK20%W0NkRaiM^KZs&483w|)%nQMV`py;BGm=`8 z$9doiAx0mLAwQqkx5i?n5R~7G($M8AW=z$pR#fu>2|O5WN{KHcO+kCYi>}^t^yxIn zd=eGqDrJMMEz;KO@+sN^=PfbiCJF3Yvbjb2eq<+WD|OYX(afGXmc&S-T9F%`+W*KlGVi*kEx{Y{=1X>?{lFn_9NSE@&7D(1DGTKcb8Z5_TT01 zqy6{i{8~lf|JkGP|0w+bfbgG}{4=hh#NX}nBM7`3*)fyqA;Me8#NVDzV=ywn@ea*g z(ZG)R7yJehDd6zgUKCQy|2Qh?+YscZu)2UIwreN06x+{vzcCkg$25lcH9mlT90f!+ zm3fPtD0E^_2u(&*2vXwnyjTv8aZaTmt!f3D)B`trcCu%b3RZ=Nu?y@;2HlB%we(Q7 zD_Y8n)q{oBVPAD$jsZ)i;{djZAIp4{FlThj6eGEywp(w=)RFThEUSnM$Yr(9b@@Q_ zA;CUM2Gf3bIsd)TjwgOJ$o^VP0+^HkrPC?+e=VIthp6%;Xp|OQ|xI+~Sm_%ei6SEP=KX@3}&X7ps;?zu*1Dc@CQKVqR4iG$=6UZWoiW-n!z$+;V``$n*QtE}eCw`A| zitIzIr7EhD%7RGJTHh-w{1zoeA&WX}b*EJnjoClGaTNBR^Z zorcJHQk`mQP2USypqEH<`mI_)l`{>;mkD1k4CvfBI^Di_4?&&JkB+bQFKW=R?+th> zBLWn^Y?zC#A~v7LQLrmN^uj@1L4mQre%2QQ+ZI%-#HZmP8S;f4QkyeXJ9MSnj#aG; z-MC2tHXx}NCTlASwAjEII8My)ds6JRS`j3}NMMgX;JSP)ZHUhpnb)vd>G`&E?RzZI zo8oxBX+hKb!6=ys^r^V%kWl_uam_18voa!mkNPfC0bo7Kr37Cc3n}BL1^N~wPYM?k zv$uLf27PHkULwF-4e*jCa#Lt5vG$}URmr{t(%^mWVO+OKgnk*yg`HkdyKnL3`AdP) z`#~aWmDD)>_@2Y%3CXPE)TfN}qcn7D4cHP0Xp01XRo^W$CnMR#6U8Y`>5a)KK;i-g zuk@neffq)G;0Mzq>LjMqH!S7OcaX_iRV(=CpY#)OvPj5MhZ^++)opd3?l|olue!h zzp@4q>7_twnMN3_%oy!KcHk?%JP~E#ZwV$B$J-X4w&M(`BOVMQ5=3t5Q%j_5ys_CP zhgLgruc8xS%{-5zBm$y$spH#%qzZcJnh?XB%nq9}3W*9u$P1sTJ_bLEu2DATNXEZx z;?Nkjh6*aX8G6o8P6t9H(h(@YGmOCZ60;}KmH$$vB)e?leqLJk0P?EkCX_F7Kh$h{4eEp zchE^ftruZ|kLiHkj*Q|j@TV6J?qZvtdh|o80wdwM9lBu8c9k@eH`|NIY}qKJH&Sfj z-`b3MgOGShCM9Xf2&Go;)(%EK*sl_FCKT2`J}(dz$r7p6$Z3=ep^}ZrnGF57^8J$< z1V;<;NH+~;*}D6w?+Z(sYpD;v4ZqjW%q>4Qd(c`2o88ql*;+-{knZXl=}i*KR7!Z6 zOkfJ6=TX#pQX|J)sH0;VPn6y%_V~$`47Dg_>J&z*g`OqiHO(ZCSUyMAKz?O_cs$_U++EI3_ zCK`7_wQG?`d>i663=7aG_Qnxph=8*?m)yJ{8Z)J&H4OA%0IAi=RE3Z!Id5#uOvjiG znbWy-Ir6=v&YGmwtcmcKPb&S&=9UPZk{|M}gtixyo_$Zo+hZqhy<}(%UDyGB&nt+P zhFGNl5J2z0*sbNY!kJVp@FbMPLNRPina?@XkV^gkywOQtUj*M&#&1Ja5B$V+A#DdT z6o^oV6FIO)(hMNIR|=~4xhOIik7g3$chwp{jJ$Ac`<`pTqKnprl}D}(xz%fExfi_D zV{oY31c1nu&0Sd#Dq66y=e%L7nHj*EB#g)tPWj)yWAG+52KS-;k&o}UrQcwHXh&da zzwh0a*%J^M+o5|2O$0tZbT&UWGHTOFr^GBJP?QnMmnIU6Tv|ai-w|Q}_0CdbMj7~#`GOih0KDVl+?lDdB zGZ*$dCYLH1T!}-7uuT5s5#|l-dc646+1}YEUK;VS$FQ`ytpAf~CP*0Fpek2sQ&UF! zsSi%K92m-JLN*dAPhE^3M8xZpkUE?UAOt+HZ(koly{G?&PI&cp13Az0C?>U$#acm) zjQo^A%nZ_pMQ~3jVOc~oK@xKduVfSjKP&}xJA!x|5~ax~O{{9gkHUez%`V`gguaab z{D1Wi|9fM#K0a-<>h=HG{NJ0WjsNe%laGzM^|bLnfBk1RJaIaJv##BX#Slq0?|1C_IeQ;zwDxX52|CXjQ6 z`!@VN_+G=HJNc^CBsC>H*06;TkY}AxN)oQCixonVj9q!ceG&zC!73{ zC>gg&1P?H`RTH^Qnrvp((n{OG*D#w}VQ+qKa`uxrLtxmYbYVUBLKlVo%d`iL>kb}$ z_+`=M1IqP?|JQl+-@at_I?1nD+QY%~a~aP&c_-h(4nA}~%DbO>)cshk2z1Iv%O53+ z7xyPzXq@lw!RGSHs$61@0J6NYDsRkKjh;w8?Dgf@jCFBio`D`wh&g z1+GuMw2yz(=CnyBBg#7%^~f|Ea>m>EKR;y-&f`vP0n76O8D*w6!TjuCy@q&B$M*fB zy#oxui1fft&(&f-RXMv{`vxS*t2abb@!jSYLBv|yuKOBwSHBJ{&ux-UR`k|$#f>bc zjDm74?@QJMX-@h@YSEd=Fs8OknB7+aXJumpz;#gw(Bs#{woGN?xd$}N&mKl&M2yHn z1!-@|&&7uu5%k7K84iVLYu_GIDE|N=F8)&@w_3qL5cLx;DxUimLSS}n-{*tP&#zjo zFfY6&m;66MU0Lt>(V(#jQAfz`Mt(Zrd?c$%m=CoWHc22lEeV*B0j&CSuxV&h+azSz zL<(_j~Bg7zV`CVt2hlE zNSqHHC*q&d3$;G7Czk%Pg^~RDlFz!lKg>{m&;Im}7wk{mM;Ge~nnF+FZ((x|d<*CY z>X+98tt@PjlnMh6-18ocOFn6kdZI?qiy~jDhyvfzw{Wc!T5^-1W5E8voH z3>Md|JP;^g?b2JZXZd{>J(;&fCVouAie3WIs7bK3G&^LzFR-=9&5(+$s!5dCSY&{C zUqLPzz`g|EY~gmmhm`3$eHzvQ%7;zpFXafGQj;-w3M32kcYWu=o?}C7pm$j-RMYNo+fGspo~_F5PMsUtpC4 zF80_yxuz5JpH_*cg{y_&LIOxHMLW0?rC|am-;Ethk1~!qz>>vV^DD0xrc_*^oivVV zn84^cIc#nT_Fh+*vfkK!N*ltwod4h-M57FtR4=CXwE(ZZTiVKh3-py}`(z5*tCj2@ z#6b6^#J5boDuFGwd2lNRY@jv|ZpayX$2^zkZJx4k{$XGkI=A-tj%}2~$Xf8ZtABjh z%tJQNK(n( zgkLTx%Q_|^Ye}721B)>Fg&gfQFsI3Jgf(Im7+}l%TkSiTkZy2x^o7{mBEOD$#!1ad zS)N5)o+|{G)E!Gqvx!Z`nrsrs%KpXQsioN@#Ie-BnsSFZmRu*9omwB9da0x+xrTBW zqCrDy3*~fld~>K*lM&q{`Lloj&Hm}tr>pnp`=54?kNDq*``df_7kuPG6xb|)`;EsyEa*a)&<9~RCrOoqvNxKgZ&FJG{ehckLGe{m<3;tGjk^5G+wv@CKa zJiN0I#lTK5GjSMUo_rBt2_CB_%Cp?a-?9b*FVzPi+dCi4Z`ilyBFKmKf zyW9oA7A~R45-NK_2!Q4McVZG#4y8M7a`ThovGi}h$&Fz?Zu0*ln_Nf)kDGkjNq%Vi z{ars|cRI_nk4kQ(>fNlZUUJ)$-~F(FNXR1BlkMZ@pLUPWE={5cJs))Brx6+9Gcu$x zs>T1kmJj*W6_#SS3y+qc6nV6KGm}TlMx}R${WvoKVOe8fhgP++FP-%6dB*@lgH}RS z)Sy7uP4qWg?pr8tvgZLX;=`RdL&Jl1|P7FHt!&^=j5C4UaHbp)(Ma1D%*j>7&3)66N=ugI$N_ z!quBE3vggGvhr8bpjz{LOG$K1!&;NnHb-_cggIg`{TmkZ2ioR>=*RgXe4C_KBy9)r|b;IqkS%&an- zhIk-Dun%o^9@D;e%MsEP{ns)JXp!OM>+$HO&m6JJ$KSrAb?>@K#$zq8+m)`?g~dUG zOx|K90>m{CEltmr&6iBq!Ye>uCY}G3~rm^_^XcvHw121 zDFmYl$^}H}Ovcs)0>sd^$k}8fNId2E5wvH6SB~q(1({3*PtV?-3S;RW<~sxHh(HJz zvB3Qc%^gFAwMY`^$s4{{Ax0^S8>` z{Sr-Y$x=i{-iY!$S+#m~a=!J~dT^c4U__SO2A-qn4dI0z8($A5 zt@^#1#83wW-tWIVx~f)3DI2=7L2&JQFYZyf%{`a@<`LGCQ2r3OsGLB!8I&1?k zB&{SEH7t%PulZqiX#pR=Y>&>mZ0ajT>LRd2pUn6xv&L}D+2V%Spc3fUiW3R#T% zKzkDZC|_3_T>2FTL<#F8Lg1!HcLpDUO277_L@T_5*jnP)A}k`FN(?GMLxS~~|Lt4V z3I-J9Rk{t$D1}zb-1xvA#Rq~@;yh>M+m7HlkZ|-8hbT}f0LtorlEzepBB^l>8F?aK zHptA;k#8hRxkSE~0x)_f`CkrzDEJ4R#xS}p&?mQ`8H>lFNU&HccPb9MAq_gdOlzq* z8h}q~R7po+VMcIZ`5}qFn4^sS%J5XbAzp;BDRF~5xycZy#eHQ@ zzd=%&o9~Jmv=1_~M3g2O)XXGt!}Ja$i4@~*v{aG3EbW?MwYx)cCUP$a63qOD=@PD~ z@D^#36)eeV#}jME8|=fnS?6i;8nuIvolNti=rtM*S%*o?O`SiZOp@A$;>bsSE52J4#qZGr}PFN)bqVJs+BkakS)Q##yjRQ??*Nwku3qDEa!uGV2azVbKe3YAq&6$*C%9ov zNr(e;%qEyWhqCH;CF>{$-DrwM|5sn{=l<@c|Cw9y&HT-?|8&GO zgaeWHSFt(H^nk$?Qi$d%(oRhvTADc2>yy6}J#q9(w6#{PQI?!jPq{BMsELk32;~$i z3y|$_%d~{Qr#9Fvt?KQE&gREzwK9r~5)H>TOO8U97Dol6=dJ%P969eiLd*c#%E}J| zNri)&aj0q|+#E&hqh6`^!zf};JDVT>V@}rpjNcv3e`jciA@#pPxkmP2=l{xjx0}!Z z)?HhBJpX^n@A3S9Jpcd1`mg6g1dzOgxU}zul#%W8Bg`&FL%ZigZ5Y`^ou;6w$8=-^ zjwtA{eZoa8Wse*(h<;1?difxDPOOwWOmu!*c zwr-Z{ar$?AZ)1BjqH(o?S=QjcB4-)I)o=*sG(P9Ekr?A^8m2*y#(Z-r^zv2l@Mhnm zT=uvLfp*Ca?U51IL^a?+%9&(srM}v3R4YyzUncy9EwdOcccHL?Hj^zm) z;Sh!9vJ)rred=fiENos^BG?g=|EiqQn_cnoWfH{@5mBvFM4mkUh#rCN_*Xe*OqM6L zBOFx0Z++Tuuu_E>lo*8cMHkYK=y*2@Ms`fML-+E=9u-FbgOD*=IT`@-U|`>RK^kal z2M*=J@-@QHEH9amx@S>Kj=06rp7^t23E+_S4~;5qG+enJ0~RP+0%R{7WY$7sJarEj z81P+!S7X_m#FO*7pezUJDiUT$%pi!wx$s1jNK%v-=!_2P3l6r7L^ECGAdiU##{>|e zmW%N?vfVQ1T1Lh&sVlU&y|;GEw=ubi?GYn(9HpEEl9={sO!evg+WBD|h2B@{s_ZnjFVF_=+o8+ngZ0Q{Pr?wZIE!h50G0p6TVa6M+aXWHU{35& zrq6ZB6ZL(AcU5qg;k z30Uh$I>H2;P*JBzfUWQ|oq}V58VTOlM=>3HQOdB;j2rPLVxPt|h{m>0h7i{wYHz|r zN>~(7+3s`75+M}OSe8Z)=?#Ev66V2H7*dXVHsUNn294SQ)f^(|W^N@sR$6$TjM8|- z(Fc*B+h3fW$DhW<9V+AK-BPDDD5C&v#TS`OCGITLN199FO5;%6HL&h4XN-6w!p?|Z`Yhdp|NVgKlt7dqKzdo%&IM{;}?#7E*a4*TDamsVoDTNY{VC(`$-u|6<NO#L9kRN0b+o( z8e_!5-X~K$H-S2M|h3(7-4wqcp|gX<{8A9>n+&E%vG;@E*H)E9_q?Gw_!5A-#}tSNM*FKIAMsvBv3qjHf?}CmoH}lN4X7={1PS=B5lf`%I^Ab%Yv&%O2;(mmT;shnRh@kFo%D3U>96^|1oJ&2hq` zBXQl&j}_a`949m}#;6g&wDHN03VgyGo5qE*F=4xzV}d5em~=?9C{i2Kg}54KtBe0; zns2aNNe4_0`t7}EGhum%X`h3$8S#JtN-awWmQhi$UGqA2hMw<&7|3@%|7K*zG&Gh0 z_|}As__XZ&p<9HL~fV6 zD;^4RAyhZo4da_O_Sk44uM^p^w?~=7FXT5v8||SGN(83oZP(4(N$Zd_vVsAcIk6|| zFu}npa|^mc1*J$fGp&QM3RDf}xT=sj3w#MiXr~2=^%zN+Fj)!E5P~7}TrqW`SW{u3 z740{DFQDPv_E{thySX`M)?N4~(aN`6(lLdSF7l6RMGTgZCngwyPZL$P>oU!KzGtyNhOBe+ZSEUd&FscDRUSdwb3tmGln9B()f5r6D@IAy+^Hxc~5V<&VFfnSbbk{n?PCc_4f z1z$g%s_jRcV;i?UFf@WK|hd%i4%{ zRo!S=1fd&@@gx1M|ak!fbpYZai(ka*f1@oe;LO(Hq3Y z73^+uih?4(eK+pnj@9=<7g+(w2rxs>cg2kyFW?I!r$jr*FGWP7kcIKV95sFB6!4*u zqnsf;pEVuMyB42IP9T&+_8Bqgc;Wf@I{g{DL`=YE^CsZ4yG$S_sK_y5>Vxdn!V?Jf z2^gDKOdy;)fv|J}-~^iqNlEMt22zHWUNcc&2~ACMGxVIHa<%qCm$P1Qou%?@1(!Q6 z6oW||g;;Plicn0DjTf<1KwFb^?mRbX2TRc7v1P4%uIp4 zuX@##(LKsr3Qu8<9hpQpPc88@;nCz!+S>A^6$`ZopzBjsmOmpw%0N`-hp2RELg})6 zJT7%&5K=B^e>Y0Q#2gjH0vpC?fFF)!=6Pz>VUZ-e&Wdl0ts-!6v#=0Fm(=ec^)IOH zPU@OJ?3`&#!K*$(Iex0wK^Y4_aQH`bEy@I_nebWaoL|jCTr$Q|F`G5dF~&u{$j-tA zS{FFi0^byvMfo=}7mR$d`}E6~im=O; z%pyCqAH@hsdJPJ%`eDS6M7$G0=gyEi*LXD+iFf#|-F9VSb+PBbXVBPU4Gxj>C3Mq4 zF)<2>m*6!&j52=2627_Vt;dkZ>_(yM;q?gX^?;$2DimOhAipogSe+T7M|5@v-i*l8 z;C3__(IywS0T3TLzkUVYS4u`ShWG(+iJh`h6`IX0ny2Sa3lIYWtLK{V3wgu5o*3|^ z5xjz?HJAshbgwBuP7aECk(asVbu)brDUe2!xhN>v!P)fjWf8_S(IL6hrP4ehKqFPg zoZ-#YuBwj2|C#5}MqLo6)Q1bjQG~^>sJoh~zuvG!%Jg5eaem_i-Gt#={LlZNy?^g+ z+erFF;lIgG(b0a#Ar%Uge9Ims%3ii?Cw|8lZApG|&dKueY649XBM{A?8=@7Dzx!ET zReb|Min1MN=GoF(GckciU#qLDs;hoAa+*9nv_D78B|i`E2|f-94NRp8Y5oD?0-2*4 z1IEG4gvJk^KY_g8uqDhq1KPGZd#LYMOVRIH+;lrJ7Bii|ziE9A!L`uVaTL_zN_uMV zD0~(uYT&1sPsvW=mxgX>*PWj|TYkIg$GlFk2Jjb5B(4W$>2PZj6>w_7L!5j(bZ`0hun%W{fTF0Wql`!`RK~M{8CKo*hMgQJ#KWyhZ_LYnR!( zeX;2hJ9KEzXa_TF||ded_symQzLePmH{Oz zot()^4*-QgdcQnjnF83)_Yi>(MFg+XISk6Y9iiuX-bHwM2Bi1X5z8}XHX>xC_Y<=} zMCn458HpF>muAhC!Lj8Lg+blf`@^?3VF%WYIoRzgwKC9~a;4Af=Y)hyf7-&tyBSJL zMaGj}Py5Gu#O_30MDF-1bP2IrEG?73Rm3JU3Vlq1lGgWR7&0$2vhTk0L&(iAX#sE& zhIvFXyYro%3rhZ+uPpSiT^WpyJC$s_@bL#T~>a#TiH6?>?)WarK~GKuNOWZu{&W0 zDgR~c%3!y!x~!Vf4gW?PnVdXuQZe;U&nz0{_@;eq#-O@3vT_^Q6oH+r;+<@syR96g zcG_~Eep#pBPujvjlb029S1OVE8*lJ{z*@SSRer|frkB6PTO~t4ueF>J`kP(Dp1Q2m zg+?SCvp_giEiOaFuH`Wo5tE6n$Xl`++oQjZ(OBx(iraiawqk?=%T;0{NW@z%LN0Ql z$Y}o8@qvKh20Ny2lbE5vNo#vS+ySBv?}X()e1zu-J|mt{sx>TQfefQm#4i>BwvtOlTgx1 zlW{R8O9FO=kRjvh;?MX7UMpi2SzjDShw*wl51(qo&X(?wIrq)$4CEnP%XX1Z7-Vy27D z@+GZAy4ZMNZ5=&9RM&iE2`|1=z4p9G*IP@&Bgcn;d=3TL8+}h!DzzsMQk6=-JXJxR zUx=zqU0;T(RNAI0m3C5Y_JOjeVyF8DGJ5-F(9xqTi>d-xqrVyt@Bg&FPr-jQMD^wHA0Irpw|~E#|LYe2@vHpZ;y>QvKmOVH z&z#Gfky3$HyD9EZU(|L`@KqfVCCc+B*>hxMpcy8VTPd0K@a;OvWH!WAB z3HU&vFOtW8Y>#n;V@%ldDVs>M9@aStU6U4oI^;FEU`B%xbo$+m$1HH5aA8a2aPjHytmKle)SQG!@{q0gy{4QisxEK?-=!qrZ_8w2zQK`dc={pc`vf zO6$tJEUwVPv@~$6q-}LY>`op0ZnZXiaB2mMr4-v|vDT0rI3@nWW=HGmIL8 zt-SxN>96Sup>9@J$(l}d90h?2zfZ?PY?KX=qk-eNjYMI3ifGKqn=ax7;uQkCC5I;0 zz_&5`(AK)=sxe39h^acAGp<6BXViBBf;p2%Oz4zOq`2$;P%``CiH+9_r6)K}LvWRz zy+5@Z0L(V@<-A_-5`3LOXYirQ1%mgQ}THf)qk0kHTW!dw2wi$bnkhvxj!)M>HTvb++h zF0Pz_K=J~P0_*}5>|B?%0w7U46`k{RZjUA0CV&tw0Vp^Hu?U=X3DYF$_ptbG=$~t0 z)ti@1H|J}<3gAE(jrIAgEsAc3@WW2l)*8SKxLb&*^FzSUy$#9kvR-tfInsazAW$G zIB#Es{eK-6+|40FK1?i4TO?H?820l@u z)cxK$))6j8oWTVWsDo=4>H={ekIm~ddh5AT2<2csJTxt8qpKVTAS<*KaH zREX>bmGV}#td!+mtLA5zv^B04f`fIwfNFSAuod4h=oegRQx}cf#m_LxOuc9jBvLHE zpR1UhF$WIS93)dAV+{hE7~vtNFk4|jSP&KTs$STG)=w0*1T!TrMa5>)Z7NLWf+7Z5 zOfcQNom8-UkfmeT@A*dD>>XDESe_ZRlMv_`&M46}A=C7t5B!9=F(@}tU3|cfW`LNv z|G!3ll~SyPMY92Wk-QWYru5cxY(y5BP?|}|&P^>wD0MCT9&gn*!dhO=3K4du34If< ziv|DT7%gk98%rBB>ZS%OO9(3`}N$j2eSjDG7}-JmPZVN-uMdkSw3wB|Fc|?HS$sxm-gFSxuJ~5OeC`;kWSek z&kouB-`)<9_(Ybly}h5Pog;RC#Jn@a&JG(8PRws_hy5OPW}SE%V}rSyuB`{#DXUU2 zoQ0_tjixeJJq8RXZksb%1>?rbyMi1eX5*I1-6=u0=@gp?rnt@(f+7X6$rB{Q3lNbb zje)Cm{Rvr8e23LMAlFIG*4ZRG96FL_`NQiSx7d+rERBn`Rts`iR%wyl?Spc+%WV#HV(W7+XONCjI5UjKD0!5^r z1?;lHmhF=w;;=w9L5`@{>;yt^x%Y>tWTRHRAM$LiX<+d9at=D9*XS3dck6KTy7o$k zVtp?yQiTon?TX-aE}Ir*No5A@uJl#V8_;Jvyv=gACv)K-FcbbIsZ@t@ZQ0Hcoahfb0 z;9u;udR~e4&2nhLY@$&7;qK@Ql1?fi9OjLoTGxoZJhD~!Z2*<}OQUa9U`(;81fE;A zisqd__47pUdxyQqH9}u31m#RijnGo%9QNTTgzKSvU9rvuN~oOt(}?-**4Z4Y7b3Iw zP<}i{J%y_Pl$^^euM-wxs>7TJE?a?3wt)A+{wxbJE(A6^>Vc{u(U7iyDA8aG&`b;f&rXwE{uw9Cou=EjJdF{q3Q)+Zb!V)<>a@@qmdf1 zqY^eZnF7c0QnEspGf{z~753uyT2wAgoQr&hEE7hh7Yhl1n+O{@i$UWAT zdZXlscwGm033MqP9Bo~a91Njx%6YZ`m!pN?O3>#@))fG07BYn!e*`)=dwSFmOX;dK z-0lF5L*D)zB`JDkr@l>gc8=+a4-;Q?@K=XwTh%TFUI2EBDOk{%4f#PQJFpQ6d@7o3 zz%1dlT;L^NdL|I@fHav2-GGpYHY+=7MnH7!{Y^X7-ivNJYI5xzaMpNx(GH-Gmz6Yp z(Hr;mN;0LzQXLZF=BBORd5(c5-|@qDdw(bODcQ-cxn8gw2VA6oD}t&&Jyje@}FLlh?B>kcuo5WLzT)5Hia zu`C|RH`*F7+tqa7qXcgC=m`&bev?Rmwz+=0rtcFg+*?;;$M)NtvbIrmSJK+fRvf?# z^DroG4y_<=wK*^8uTki_Rk}4w9V4|)c|_G~Rku#%ty6v5pun|MxQ%*J9J+R`uGB#F zi&Jm9z#kuB*4BCgxYN(ldVHt56`$t7u2X(|pGm_}*Qg`S20GLn)vf2;wC2sqj`{>` zC$JgcMBzc`J)@~dGGkENXX!lgjn|h@d#vR3DQZv9n}0LSr<=65(tcE@`V&NiZqRj9 zLyb`#dW@n2?~7_NUDSH5BGdfnvvnCuOTOYiL7fSDeXG&@pQ+Jo-rei98ns!ifxCE$ z$$@Dj83!-(tQ+$XPwzij0}5RS{!}HXi*szH2dzEQNDtX?ur*YnwajZnlbaPH>H?@m z+bcxt$*QFksqM9*R?$wiNVW7Ldrqjeno)-kw54{WTIx}=u5DE$wNXcE&*-Pty0@v? z8!JoA`qyhq9ZhY}m{g=PHInRpisK?d6}A1bJJXHc)Ezr?QVctK69+}gt@LG_6K!Q3 zm%RZhg7-^Ar>Sdw63Itvv*&ftz;4&YWhSyn8b5^ZUY9Jz$S0L&VgybmId~dRE3>5FLL{VOlUy?;$Q9wW zPb3ImDaxz7_8Z&pYu%aF^}H^x@4FV&A}{d}G<}e@{>1Tg)wJyxI~}Y102e|jJ`*a| zjKHf#mW_S&lFFV5Lhz+Z?ekL@+=j+3gjh0O#B@ItXtHPctiJO%$aNAcEU?3eTN zlkr`sZfQnryPWiU{}5vN2S?1fBufpdH8b8U9H=xo~u1k2ZAZBNk8Q&vP?wkN0X)hBg@rV#z<%*?eW1Dl|g zHIw@(RacfEHdk-yW>XVvKkbiQs|YeE?B{}DAOxTtzfKp_4=GVq~J)ki(80GbjUeBKA|5|2%C_l zu4F+@gFPUkXN6oH4%@B?pK zLBL}>9_z+NH=F!%AdX7IOPH@irOm8me=e0qnQl9%wB4I8O{MJ~Y;3-RO3N0NmPDmx zgG$Q|DlHpSx^Bc@f=c7DZftZjm6j^Fn2I3vKEYN%2FavzKQ98a=U*S z(}At5%XHv@`n>4?wXm$Ev1GQxF5sdOOZHiD zWO3(OSMVW$eun8InDb9CeRQ?H!Ss=rsa%-hc1Bt`df6(_s!`V$j<{M|`=1_qsEx}Z7DUXK2sIM?u<7?&7t}W(VRLJadjeClU+*8hMV&PBlPAN8Too?@y^^Pju z^6V1>f0lQCcpe@0dp)(@@dQ5z2ZSGVC4c=By!3InYkXDwY+UQ6((qDokGoRTscZa9 ze6wB7E8V^;TUWX1f~nI9!TBJ3hd*OH+oodzUM#ilm0~$5=*|`(Gq7G!qP2LlUULQ2 z?{%go>r8OkansU_Dr$ynu8rPFy>TtHOhH5r`h3}q8Ky9Y?B$fZoPu}YuNBqUbgYB7 zLyPk-!Zd{K6omPd{Ohp^$Zy|~^`25BBA_%D{cZm(IO9^^f)@veZ!zUUCW-_@^Biq} zLDaB$R*AH(RBn#3Lh!O)0xlGr$x7BbFVUPNHJczHIi)ML_7Qh6Z}xm*DxOJ9XMvrC zhDyTZwE6AfmUB@%h;yjW)La7wv&a~MIvrDwOodQ+k3MztW*@bQ#|?TIeHfrd_dW(0 z@sJwuxH}3m_4UK4wTZIm3GyfUb!-z|T$|~d2!n2NTcki4Dnyv)hxHPe4c0YO zfNo9T3kLTIb5RNKSD0(PREOj7EZ6gTlB9CsfkO9|mDF-PDdc4Q_sPM%?BMTzPt*PE z{`dR$((eVo`!M}`dhg!;gg^ZIga7&Pp_tsgM_{BRR*WwX+`kj3?SH&DxckrvBzB~w z?)Ot!D!@xMYJh(8>L0IO|N1I$T&v5A60=vo`Sdv*N#Yomi9hCB)dwqG_H36?3!OuAhQ&3NM=v*~axqwtv(VqA_E=SX#!^99O$ zu%H5mEaX$82wA|q3l2xK-*xh|b)FnXC)C>}S8xvF`W7?(v;ICA|NUK&m-YLtP~bP? zzwh5WxZA{kzkhJ|7XSUL{Ef%#yGd=dq;EjrnB}GD_is_*Z&Bg@5>$9~rHpJz(C>~B zy&tP9HLlD2y#;A+UVC<01tnsJlZ8?uQVSZK15}bef$WbCsL~P=h(n-tOta_? zGiclEgD-OMQb&Ez^f$pL<^WDF&4DLtO>fMvOJ4MQXQIs3ygENVd2Tx3>!T+m7ym4@ z8J%3}Xad4<047v814zM${1#ZplD-_o4r?0!34cGb4X#4EdleKM!gtS%LNK4&qpC6z2 z2j|Bp?~J_P)vBdYYVlSc`%n7&bosB8<(4AgHS*uxd*9z}%6|{haIcxC5(-{fv{KC z$&&vj0^UtV^hv^?S-j+l90Z2^M&gB{9PHRT*~8{gc_n~jP>*o4l(O7Ib|!%^Jy%P1 zhW*~h+f0M@?^DkITIaB0^Oef{|4tj zS%HT33=9tx#BB}2?C9Wzlh`7VnNtkUqsG?*)$l<7@Nw8au;9AGVyaLu)4-mR6qB7# zU6SBNPGCry?XyYyYCoVtUg0t8)bcbr!>Y~GL0iYJ8ppD!KTzX?ti%~a0DNp@S>CY! zKbik;ul`-j|L-5P?Em*4+`HxfU*qpq|GVY?{~rARi!=Ik3m(5MoBVJ4cLV+}%F9%i z(|qRt^=0J$hxeQIzkA>BAKdc)ukm-w<8OKVpT*^UqpVVw%5aj2*F^pHEMY-~Igh z-41a7>gr5a?1)i`@7T`i)AQ5++nE-va~CB(Rz`D}vdaDz?+sPtkm0j5z0BBU&V3_L z*^w-Fzy-^EbVQ!TDtY>Q&5LKU$OcjwXrDDYLG80QtW&+VKT;1O)`vI2phluS`bcVR^cHA{o zZ%5|~5grJYIY)p2z7nf}{l^*9Kk(lC$(u5N|B9D#FdPmc&Lar#K+D$iQa`*`hLZxd z(PIjkb92`i2q-;RbWqx$Bo{*yxaw9yfq#Eu3qx<(&a{Tdutz~6e0L-^Zofn$b zOIbRsXHyTI;_-2A-gG#U;D5&m%4si^8u=g<<4l%f55m_eo8p{nB(yZGE0<5V)^#Pw z6S$crathRfX#SLsAf5Bl=fUeqALj|aDs;v{q$01CP)s0v0!HB{j660#5VGNmi@MPH zvcSkv1JC2;k8R`Mb*X90p!fSrEDo=6PQgg{~I z`zzQk#hIG=21A5hM%$`6R0)|_B(mY37w`Nr zJdtgdPw1Qne|GTNW)&?4IMkT2)m)S~dYTQhJ({C2^$mvX$GvC;1EaA>EJEimTs?!8 zZ_GEg;eh1VwPZh!=gu_I#*w8Nf|%U{YW|g2S!%YUFU4vE7$#SHTJ9N6`xIl@pl$oX zU`Txk^DDxG59uLW@Cz}B20y&@?)~rfcLVv){^JIcAO2k<|2_Er-uDgp@8H4rcW>pt zukkl-3x5x9g}+<2v!aRamS^$AQ6z4n5Y6^pRN`YSt#F3npbIE@QPW(QJRN$47PWXJZT0X-fM3Z zTJNJACi`#PCj6S~`KeH{xD?gnIxjMWHxlnX5?Ge=f&c(O|Gzw3lbP)IIzREZ+iW~$ zC{XC^YSDwXJJzPMPBBMdV$E)Fn^c4u&}u{`^mw+ViU~v zPH0CXHmNn!LTQBMUFB*H&f7w>T(d&1C}~qF%S%z_qJ%8{ojo~X2m5Rnp-0X{D$5L7 zI^mTPXQH~yQ*n&7Kxepm;CoyfHxWmk97s$ z+Z_$S{JA{&LpBH~YJ}(yIHhNRKz7PkCzUjOH(o`=CmRz?*-TRM9iT@i7b76Jgcd9! z@~Yy?rO2py27nxdbU4c|5xU+~N$)L|I@V=XDflWmEs86XZzpnBS5av{~q4`e!uDed+*>@|NAO`xA-5ois4_T7!oH5 z0H#T{;6<(>L!IH6pyz>UoPr$-xgr%%E&qp7(U7nnTn~qhM;q9Ds;fJ_t7n!5@wbnO^)Xv}t&NPhPw}{>QtM)7QsO&(7YN zdY`|1`tJFY5xb)m#iD%UV^M5u<}=dMq!xzmB7^3Omi0+KokpXu zi9=EWGH|)=y-5H5nNg@ARj1G^AxcQdXr~SoGCS^|#lbYMl(wTDK|&Y*d&mal zJTbCf6fiMULtE_uLS4gtujqb_bq|qh2mM~J*3=8d*bys|H&!=gdu-}|g(YhhlzgM2 zqULA6*HevJ&!Sq-f?8Fh*0Z?Qv!K>tzu&9Pq&+S8((Ky9BReAlKa3&!uKl!D!`*{q zU+g{X_tcsyRA&{cqYAg}!rqKnSh2&;)aS=1ZCV$6(ide|~(@4y_xHK`h|V zPv5JAiTAl?f>*^=I{>d4U`K7nVRnu;2Hee}!Y{M~l*W$F&{3IHd=>QKkp1m)2UFGNF1A22lf;^Hm z_hXp*mw8d-3XD5L40^xGfXOr4#@tAoBBe3pMhFe@;RdbEK9Sa1HN~_xWCIDpp~i(q zo%a)H4A&x@189dVqTzQ5n@P?7cD^%$N{2D>^(T{Ey8~NOUD*B&$WJb5(mW0R{JAu^ zmdLIf-bNY=1{fTcf3@E9-{tQ!^#83RfUooadwBm|L;ruUfA<#u>8t$R#{b@00shMP z-!9GEspO&i{imZrfhbYP+2A_3A;3c1aVivq8Rupc{F3JdEN_f0RIzSN)nN?%X=VUK za^l5`Uny7ZK27)*J=|nRfT@a;a5Ob}u~_OW>-V^Qqmcq{T_R)E9j+ToxhI$Y((&e_ z+NjCL9(%;Ig6scklMIz)!N#|=k<0x2KUJs z*ZHO0v6v&Gfx1t&N9ptghd{Qi@?sSiQd;5>?j4N21}wo10XynJ_Rt>8oXqxx!%t3dv7PcK_vL^sZ8J zA?Q3;Y$jQ~G_MaHzI=>1(a%UQ%OPQqEQ>2hA-u@-h~-hB#)4l6^GGgrzQ~o%)1=>X z!#ZMv1NP&O?C$=M?XrW1P&qG_bB@Os%mptsoAOl4%K67#2(e_GE##$H8h$A%K11gM zIc2Bk=PK#t%(`*al@Ve% z+l7A;%QyQWTY}^h)yvClm1i1rmiiXL<#T12oInn^j48>cyc)5Uu!-Vf<*@C^(lrWu z&`yV(vKe12xS3MZKQq{eIEm+yEo+URXG@zUa)Ak}nxkZTm6M=d30|J zEsC|df*S2uX>`Dz?vL+{j5IGU(Wk6}r1E+Wuokk`wm!q|?lMjjg0&iP0wg~eR?_dm zsMry^OLvHmGRU9Gt4XdaUR|L}otEf3s3hKy8dB!z1xtAe)DH>Yr?BbAWA+qWkM_iD zcF0zyIArEGy?{yQix2Hi?hEN>W7f2Y2>71yn&z;wdpe8oq z^8E(nZD|H~92h?D-R&StpAgjy&G7qF97v=nS1xT-5~Y-8zFT9^u{hM>;L>Lq`_ zp3+OH9htKMG&EKs9h%O;mn4*9T~ZcqpF;{$d$3K!EH6t+Knwvso!!gT8O#DC5;aPV z^{LW^nPp}pfzu-}Os4Wbz%3KsJS*gijK<{EO2ZrmbBDq*9YYJt=U#;DYpo9-WZY5tb>v9{Ak6GS`av0og;lAiYIzYXW)de%v z()LJsk=B6hjMQg$PwojIfJ(-oEwga;v?)Y2^mJ=?ORiAmgU(dB*1`qLuky-8%T3sB zxIcz&bc4)pF`FWTYEEFwe{;mLW}?kWLYpMYA&8R(`A@S<5oMFFYlDA*voOtu>GvdC z+L1?*Y;exyhU}1Ikc%?xRCKeYsdbv~Rp86Y26J9!g+L%^do*Su%|TS;6SHI!uG2aB z{Buj5M6keSbG>#7d6s!nbs=<-rXTtv*yZzc)t zEmOk%upxq3kScyNQwJ|L0!^fbUOX28TCor_J?`!%Fs){;;i|Z&jAW$GkUIHbf z_p;j?O~U>~RKlD{zM3WjHD|l$VALIoGBpdAL3HC4^JRsK%?4k|HCtf)!3HjKM>|ozsO+S`WD_t4p zq_xY)O>&vxi)flT*oXJTBoiP5^WeK9Ht?OwpkIl3n5Z{-e0hQiadUJw_hvyB3z{Six2m-T&(C9i|z z0rI{``oarg#dTdl)xm|oIWCWhMgwmNJ40sH1~_0pvV-Koke1MW`;*!9aPZ}Gez_o@tJ&84VF8Zo5)=+zUac67@b zO1Oj9Nz=3uiI2Kkmo^J3oZ)mrK7Mk7d#OFMKOKP@ujR9H&Lzb4FbtWv`2gkNT^4*f#Jsdv@Ta%|_qlzFNo7F_JUqg0ppiH^?<8pn zKm#+v4i*yRrTwc-H(%uMlk9)Q?)%@cn~>R{o!ZhYxP;e_!LT+x~a|*8X>E z|NE2ee;`Nfct`B2F3}XY2DYW?kX;HrHVb=qXYHHud`53E=)b9P|`VK(*j;$yBJB2XhP#ia=mWCGJzA;ssSek zR^h1SGijYob2F(yBR%(tdunE9U2Va9S?^Wq_ch&pR1|}urv{*xpey~(1r;DY&YGcyGL!c!#D#BD2gkIt}fJwiDZ_HB3*Ulpod2kf{JP2 z>FJ0GohC4}1%Lm)&2(qywil;DEoG_1vx*x5-%8|CX$A|Eu^rcAQzaDMF?CJxiCCh3kJ>eOf1IL8J#Njpb^g<_avt0b{ z`4ea1UH#4|pD$GKziX+v-!!{%MP}b@91Q!wLW2&&vEd9uIk^8Rlx&ZVMnp!%AX=M- z6jstP9_B_gpECRR+gm*L@KAh~iz4gyM48dFV3)i9#$)zhyvRXtfxDcFVP|@Ind>k@ z*&d_=Q=9X67?0T-1#(Yu6%WeRBgT5V4_%s@nEMHg4IWI*<5(AE+F%iM4cp90r-C%9DAQ8`<6Wd+#roMB> zKTFIZ3gG0bE;M21`W@`#ig=V8DBaWte|URPDSd3t6%e2ACQqyC7=#eFEVL+YoM~f5 zZ?G9s7|h2_!@6g(+D`nV)1gL=r*3)>=GLeP~)(B2ZzG;T;2 ze(3|_q)|OjQGN@0V1zt`8|~Us-JgHXhDQ#Ih$4BZ0|y?Sg7ajf%n{3t=+pz};eKz$ z!D8~d#4;#X4V%@6igebHKrAm&P<`+hH*8e!h7jZQoPH0?5U(gc^=Au_y? zf-dqhpd_r3rMx6mtza$klD!@r49O>j><||vP5~&a@C}$La?K{9kcI(knOGxDKn!T5 zX%j;!R!Wq23!NMpRs9X!j5crx~x2tBqSI&s}p-AkF51EYV_d4XHGD{OH&GB zNvZ|67;2!9qN_#lB6sm0TzQkMO;&!j6iy_K)qJSvQTz}r?4Vi&5Z9R6oE*MDpSP+# zxyg|O4Y+XB=r9AiD7ki^t(!W8O0{<@%0Y4=NJn7F)|UitA827Ff1q3ely8tl2Lr|DzAi@(4ZYf8gsm8fwVD? znSTSrJCkK}+%zDf!BH*x3%%CNAz3d(^(!8KBr*VF={}%DRYjE%99J*20X6I`sjN%g z^w1*H6x!f`J37j6;B(GSB&X<0LirYRofA$Sx?~7ZC5-86dTa)6R3+4}(bo}Nqt3@5u?U+dL_A@8`0v_NAY%P9`ViCyYIodd{Y~C^A$BmX*{9Q#ZL{ zi#qA|*3}GBfgN!3k6^n03!Ib3W40U9L%{!!Ly8*!AvLIH$aZ7044}EA7lucr^Fziu zfVxNQU}$){A*(|)_yg1bXdaqY51ILY%jj{IKrv#ILZ%mroNp?$Drza&0*>m2nlp~{ zeMQ#%fFDlkX%bim!u}6knjB7Bx%Ov*sH#mZ z#9vR*PLMY;QlqIX=tyilBeDDcWl6FC0e zb(h9*=Q`P-)Zj#{+2-Jn2fbUz2adMjU*L%{92VA3%DZro46WkS9c55IH#Yqu_NHX1+pQJEQ_UFYuyp^7|aaZ`3|*XCE|kQrjxkA3?==LGES^=+Yb%Q_FZF}gMbIbBZ*{;Mv=?09xuL;Gkp z9HsMY?xo2zFLO0-Hw^~AvOF%N0^sj!&v9GPXK(=8sfb?F>;PVRR{~s-Cci@y0$wfT$;58y@BbXP@GVgls z>OvK=5SJXYVhO%T{B)Y}S$3N%w57E=4uJfKa)JI1f|W88bP1Phin$+=vq&W-SIDNp z(xJpcOkmoyWE{hc_9{8aOQzDf$ZB{8ec(l5+f3N6^Sl7HC1{${>rv=F01(0g5nq44IiwI&&(ZVhg^6 zg)Iv6hEIxI%|+%`7%j6Eny84~?bS=-T;nl&9o?gkoZow}WNbAzN3&(RD^Yptm8&FR zCtFwI17&*Qs1|(r8_vkvz?5kAeS3h|K9Y4XE1VU1c_FerNBBWcU{2=zQn&z5vo=Ts zk}jUtQUkg?V6(u7++pAkBDBjDSJ()5yAPTJo6x{CwiMNzFO@lO@WyfA)Lx$MrNYdcl@T$nL?&t&E(c%!&5P$)n?cFj1y5!^ofc z(=rXdk6bv-_rV8n@L~j#Z!ZW)>i4pW=U`igKhUWu<~tL6&K!%Z-OP+qc+2?%@C^HkO7cMz%0^`;F4#m>Awf3izfx(2XsVXWYL06t{?-& zLBhaO!q6`)^|wuH{D{eFOfh_S6ZR`QtiyR0n#SXxRm_Hg=l6vWOXQ!8BO5IF5#NHb z2J8-RC<1;*l5xy5LjDLbrogKvQqS!Wp9GD#w3l}iM*MgkYh(_<%Z})I3Br*VC=4$& zt7PVG#3VS;LvU6g5ttr3|3YfOd39PbA>~EkfV!T*g$p{o`gL&O_3-mz$M$ z4q4fyo5m{#f+HueqvFa&B8yN?{gvXDEAg#jrG!wyCe?w{AIN zZ#66AtXY67GA*Nymm6YVE=8&6!-K>vRUjzBRSRB;Os?pT3`q5&lq>UA)u=h)ws@mN zWy{AE*+Tac_K3|Yo{DK*kiA1rn+5Z7DyIYQ)O;99o{8Bu$QaF`96`4d@~gM~8tvK| zrgH5}>P3=5FqzN;UDZ~#Y?`S8^SaY9v4JANV|kG4He!9}ckf2-(_pU-w)uJ{L6?Bo zVK8~jxdMy~b0E>!)(j4;fYut;Y$$FCO*mlAj!SJh=w@|fH@eZ#*VJJ(eMSTKy+xZ~ zF!HE@n~nP$s*MV*Z*wAFLAV zl{sRo#Q9?m*LSMRV>IYgw?nDxl+noyuUh3wgis__dC8~Dcge6+46-j0ucdx>6!x_3 zqXC(;36_Ws03$Iu2L)_JX=m6fl0Yc^%{Tw{2S#QsrK_anBDQw~XzS6e^{8s>=^>UV z5+fK78Qh+<>iNN!|B3ChJ9nTIdb1rJu`UNWq|cxji4I78kr?6b#gwiZ=G5k;O?2b1 zjuh>kuU&D)Ivh){B|%$spc18$B-w)8IvQ@f+q#B*zLO&1%VlvDwb*8IA@lioeZL=B z8{- z>MSvh`zqhEBSUZ75dqprg7HKF4dLV$37S@qn769hoz%VUf-W^o$}0{sMTh7C7*kvEm=7^wq z!N^Xrz}6eLvK$2>cCho7`QlA;mKkY7>FQf=o(0=bV!2MP3&&UH-P0Owz)zZuEkrOk z-I4!^BTxHyXio*0&%1~07~_lFY|1L1NO+`>|^p-FRGwDE%ey?)9v>T{?2f zbo+9i!Jur@!3AyOM#r4BCm8>TYdFuU#K&_DpoXk7$-`z{sI`Pv9KcR0qiJCqPb!|5 zL%b403$dYiAMV%@fa@jVkl?VdBN#$RZdru{2bW80NUm`z#0(27cKp-qK$^Dj+ag)! z<;>D#7nI(|kHf7`;l{wiz^xIB!<|NKKJ5zZGa7UlnH2MF`!1LSdNdf)9Lyir)8ter zp{*MCZp0w{Q^m`fFwK5wFo5~fGQ|TFx-gh_?C$kko)pYr>|o2SOD!sqQTJDKfR7-f zu;tW;UI|4}$L5)8x>H(*%3e>D88)Iu6rqlORc5U4)9QO>4hk* zy9K=YsdfKDk{p^1n=ehTJ#`D|>YGhj82uLtf88=sHVuWMKqhKy zJkO_WB_J&k-qiy38y)YtW(&bfyk80~kpM-_ogSIPa$R?y);zPa>98M59!E~{= zHmfJw&TGI@myANHLN@lzGU4RQQY2`)PaMSJ67b=M8wGvC#s^Tzh}rTRm80&!D%(lP zHU(d~p34NHw|?AXfxf%llyr(f?ND6TRGI{QeUmzzcBsR6vD%1^1~*lE)xq7};U0w_ zSeNpuPyUPn$^bzhSaQV+W-=TzJ+D=$%P;cTT>F%86A@i6Z~1%Vq9~@!1Ki2|7z)A4q&v6OWm zf-kl)ZaW#i!^FMW%8enh{+`NR%(Q2dK;SHn8_Z<~Jlp^^*b&a>aLv)<{RY850fSaU zq%)c%xKD5TX$EeET%(KV!NY$%Ca=MqqBgCBUSixx4uwqv6lvY?Hk-ODe)JQDTYk8C zf^-d^|!wVD$6@xx@#-ng!G=NzNGR2R28qLUh}i zRm*hGvNk-fVD&S~AYnFlt$6_z(r{X?94<2f#MJ7FPXRMhu12gSBi{RA&1 z$_#g$XcR+Zzc;6alIl8P9~FGt3oq`wM}h6J%!~EHKZOW+p|54GWj-Vx_P*~u&>T#^ zA`k+ro|_69u{xo8PGB6?){;-H`et>))&>a;#;6xEiXMj00ZaW>3rvDr|JI!V6$)m} zJ_#nxKAKPczt`Utbk3&p6!0z?T|$(t-CiGDTRYx*K<%Ni>YAI_k88uitdTO$-ebgZ zZ&FVkvdyq_GkoKS9w>qKw&4b-B#Sb{sIqFZsrSg!=sbd!H_achgLbhDnKaot+g3~J z-lU!m*^g-XbjHym_sW5peCloak8a2t4y%~XJJDvkm%;4>-(G7d_7!HOZX9txTJ&#${*z6#d409^$oG2&;xhvPa);|rXOYpV7$7jXE!PO|e{{S0){oB!c!{N3jGzs>*f*W`a# za6Mm}|J59r#APVwtDJV_8l(6Riy~&mkvQA0x0SLZ_VB@jdkB zLg3f7_Dv3VakHlsM2e|bQ8uYL#7)kEae$Rvk z3j{>W`*>-yg&%}QgEvYUsFLl>DF`Wu9A_jUuGcUuG?b;TH01X4_1br%V!eIK)??JSA z$@bVZDKM`s{R4CEO(}ux({`f)ykxefWm&>)Lsz@g#Eub@k>^w9AN_P>yEDFz@U4*5 z*S_!fg3piGKK|a+Prql(vTQe~{WXKCFis^HOS5;4&TZG+YE5$+zBO$VWdpe58>IR> z)1-q&Ms`Z~T=#}+nw$wu4fruqF9XK0v9+O1-}m~->%n4CU(EC2Av*(+VS0tqSt>IG zsmXC`WP%rj`I46i3>I2VY^IpTHd@pX3c54Hv@4*K-LS!>z?%W`Nx>JjKZ5D~6YjNV zBesC=nt6u6D~KW^MCri2;5N|Sj@x_`s$N8r9*8$dzZW(Vw0+(dJ3tcgAHyBIuejFW zgyU}J9q@XTrpSt9iv+Wy0TxSEgDe~sgZzDEdgXgaS(k!7W}@&jBi`$ZH)=7*d1=N> zGgG15!OL(Q7IM=CkWKd+b4{qn=+c4T`2o-uQ*X;uFjk&CCbiuDC z;!*a`T6MRZPg%)+vX+p@T!gohrMHvBZ;4li-A0(2xOWKCcP5Ou9@(4h(toSiWiD1$ zk+Qy7&BXs0`(bLqjbkJwQD!b_N`u4@M=xyF9s71J_t;>XguCoJ=6(~3gzNvC5|oLB zk=V0v-(S~Vh0!Ch^MD~NYaN2yfk)ew& zX9fH%osF(+afV#k{F{VTX{y4hYLC#%NkECgOo2n#F~?c}{R!#Gc^A5pL8>yAYLvgU@L(DUj%Y! z*^$FSC(EjZzXeZL%13c2V6sSO!5ml~N6XJK`jm7|=ugd^KrSWt=v(D(1zg^e83AR% zV&46K?;Wr`b`WG~K}E~-;Ft6B6MGGT(h`j2JF~fCqcFy7CdeU=8ZQHu6M2?VFPjVG z6#3O$7Q*>LK-vtcnc+HUTc&imsjxYesM5}P0tne?rV=C_3*9>x#d2B~V6?H|Ueq?# z3n^`~Ok_W>Un%MBloti)jyC6KU10)Wi_u0y8*t4E!Ifbt2jlyC?sNVuay?Aq=_?z4 zb@(E@tly{e2c=z5SIbLzVN;5LO(5_Dg)K^0pyuqcr&X~1I?k4sDDBm{kV7~4ofoZx z$KN%WAp6M?lN~n1Rl!y{JPHV=N-r~fvXQHTJl+jfA4Ezx_V%}I4>=l4l6apA;qn?_ zC;pb<_TL#X(}fYOls}+aXQg+bm*uJ8S!-3Aj1y53t@}@cz==MwcyOK9@N_4i56E28 zwQQ#K>ji@58hP)hH8Z(SgAc#iv&&t=lKQ1A%_~Q_0dem~zEt)()&qh;qZuNYHeFdt zYAJ4YL@xn-#2;EMu5+xbdc#WZ|HpdB{P+I*r28Mjz@ZNC4x`~8E1gU0>O zgZ=&QZ|{G;#$WgS&%@jMpWFMN&%Xb$ng*;d>1pnYz@hGPq&315r~xv_NYUfFlz4MI zHl$*a0C<`4Dq}xO3_ozdU2(mG%beR(WTsqVf!A{|SOf|`MmtiP3^?N(1EVXzKH)9BlwBxVJa%uj*6q^1s zHY0;OGhOB7Ooi8I=vCG4?aXpLuO~?=7h~k?<7FkaoYYhNhbbJe{P$y9@m+k=c_ySX z!|twoUx`eVI_JfvQVXHE5#u%#G4k4m*GhA}sRi@CR`wq8m001z5HYwELQaO{L{9#V z%fn%a6lp;&SY86k0WTxsB5@RW2IV?b5dTDA_L|-J0uI<}kg>Bd@KX?~6 zVint^=b!_R0OVWY|Jx1?*`P6=Mqp-@oERE-$^R+AoBM79V}^>W>T6E zJ@a-4%|qv}pS(U~nPe+LmO>U*kt?&eMP)SA|7FT#c}5q)uC23rqOX=>ggJ%0NRAOvZ5OP&;bjyX~{T?smRhI;ARCCW7GYf z0>$!<>Lg5Pc6AtCeyv8(m*1nO0LqUj)W>uCrXy_~pyk0Gxc}T2Bg`_W%TFt>Pr!gK}jd*otLF5Bb=;jJniorvg0;cVKC{fksO7%)|G!~n588{qE|+c`vmG1pf+Bl?WAe_64M5xczfKmm4s zp~edgsWXRIaxPz(Z92H1*~`_b016}|uffHT-MPcQ$0Z*2Wa}HT%j;mPZ?=q+yyVptvqxXNni!_KZhCEJK2oGSp^m(K!j4>h$qCOZ zMV|n?uG7HH8R6|M-Fq6YRLTyqrg4mbR}NgRRf4R@l8N^`)x{O0H;A~}AbbM`QhGBS zp>Su-NLKV{OKW6!j9)4?t9ivsEd(Tjfb%w2Y$%g{*XOrlbIpAAWm&Rg^Dj(?LvBjB&8Sd{0#gQL zFqM$_L{tFd<;>!kN5@LTY=HCW5TAT96u4HkwYp>nKCLujF~er_eo9H7&J7lv6xdnJ zY?#W@TA9NNAXNw6EG4r9ZfD1XU4kt}IFaN`l-Wx)8=s2w@}-(lOIX3n=uR6uDbU!y z$ieQ5_iOF5Jr-_|^V#o}hRY+V=aKjVStz5E%uulrW8gjpU>Pa_nPX`?Eu2(@_zSA8 zgp1-$WvLA3EH&e4C6&!tXN@|TQ{AWm^q?st*!cFDC%!aPk3sA31#BVr{RDkcCRYx(nVlb>u$_E)Xqw%j2_G?8QSv(ifWYT0 zpIRs*%etr;yHGeVZl4d?E1_4ix)=;?6{r;O;HU=(6r|%!rgd;8l%87?7Yjx@LI@fl zHLOJmJwl$VgtNv!KY^iH+l^87*kCToRE*5nhllvBX+#~4$ANaYyqGyfb^JdZ8|{t9 z{hkNKTyZ=HNX%t#%KSZ3GQAL5A@a(Ig5~=T09)1-ldBQ|Q=DBSmF1;TXk`gDDa+Ns z542jQ!2Kq01twvDek#zJ!Ct%(e4!BrxHe14mX)0FNpZy{LTgbS+UR|*H6|#c$-)oG zJb-Bp6lJnS+>cIT4b~(8PTtY!awohS+u89ODIkzDAd7%L0unbbxTWX}_`YJ((%yr5 zW*=m_x_)bAaxg91_{83;kGv9tO?$W==8$lo5;`4z++)-7umz&J)t(Q|je%mjHvC$d zPf+&5moYbs4vU6=M(ee^GwJs%__j{Wg!p_z_M7O?A1Lz)AohSO6(mx!SF)wF2ne!b z6PaCs{}FgY!Mzy4fjCp0tWr=EDNz}Te-;-OP^c($J=o%&J`p3y9IR{rxt-o~BTGVm zM48!AXI~8@Lj7Ro6jV3|u^@=DElF<7ouL7dgYyXHzG zH7hN6HbRjJWTXlaLae-tXFX;_>GgU`Ugqh*D7 zSVEQ}z&1{7W}q$&^Fy5QC&+%ZUYT@<)!n9@Wg(1YnyZELm#NE4qy?`;#?I}Af{yon z9&(Szj2=r;sT@xVkLg3n$LB_dAVhDf@1zpb{QY+qcBQ&h+hL58XEe)UzaK#PyM)a; zu!si8LRLP9bk90LQ7|M?`;a8V)05+YN{;aq8w^M64!(U|Yw9+pNJkxat`m|G`ynLi zM;{duYd^}I>nS{PQ%7DV$e7@pKDezJ4h5?-VgV{T9LWK%A8vDKb+Kf7L|99!VdYI_ z?L(YtysHRVbNbz^Z~oiP6RyS1Tg$hr(SKTjaP5<#y4%Y_VcS3fw80g6W7ZuH2Y zIxra7|__ioO=0PaCJXX>MxEsMWOlDWZ&;bqX?Z3Q!^WsV5J$3r* zc;pbtSNsYt4UK3v0O^*Dy|(=&)gDNr(bfa6VxCe~;4>k%5hr8i-AIO{4Q>364!d{p z_wRfzUEHNR)c2hciw>>f+5-0USzn@qL(@i9fZ=m27f2TVd)L}@MZ#1 zC>qVPijd0)9nk)eORd=M>m}SDwo^uJFZ5V}0h^v@Rr3*{y>FH)49nYog!ZuW<6LB+ zl_eO@jfJ>%0?vjL^3OjYH=d8-@%XX7`Ea~sM;lI}zCXp>Z#t5~C8ba9?(c84uC1f& zi=0&0iSVF`52x!%DYAbJl;)L9DUL~`Z60L9W>ayj-{W)A{%o&Cq=yYzcnT9=QBj@J(o`P5S*_s^44k6uNY6EL8y;6$a5 z12p^p?w70I?*ZuaomNgO_qRVX@bV%=87j-rn(9W>y zKG2Ic{z~v;zqiD^U*I8nA}~w(qb#f7gV5wRayQ=M_vHM=S;$3}Rr09T^XKJM8oKmu z5T>Ac`r!<-hV9bF$Un^13NCS8iPdw0YPU;ocZ0R;5Boip;Aha|S7H?vT~@>XI#y>t zbR6%T&yd~0r^M(^Pma&|4Ep@6E(*Ndf5jK#kf{Wh2{@ot0P(6AK7CG)fUo+G51IQC z((d?4J!Bn|-0Rte&ShyD4cC6;&xSVFhGE!#;SHopbajgTJYshoJ3Mv$tl(dc@a|NO zT&YZ|-H=<{R^DQcp*0S_y#_91>R#)AE}wg!$pXWtonM!{!!q z49s-l2}O4|`PXBaT_vWMd*G;I?QKlF&nc|heZ3viLIV|=$Nk6F%7psEA}{kr{)b>Q zUQPH61L2_k{iOKM(%?kYt=mJ#`(l!lErX{DJ*|=XB|; zBxVb_u@kav&pK9EJ(U|a8bi&YR}(CxIT0->yOWpZ>sL;Z zrdC=GMj+WVFLO1=V;>349kJ#ZxBFr{kuT^^80FuT52mG|Y&iMJ7Y4*?%qG_@D|lM^ zxV5(SyiBW?YIY_{ZTfSQZwy6m{S72@#1W&BamPN%(TWs6M(o&V7NH8VWQJn4$ zo??CanmLemC_z7m!w_TH`UV{nsuh6CON=*ltNJ3Oq@F z-@lFj_!@t=_+Pj2AAb%0R}kqC#Wz?$Fp6_fx=LkvxhBjZLJJF{9yUZYbiElvwq*MB zPYii*%#?iG{@A9hx>81N*--StBAEUgMO(nU5~!?`@=%Dwr-9e0b@Rjx4^XP)#1z)z zoi0=T-r1aD(`TQIQt`XM8cC|VdELMaLofxy&LAw^>Gj}MnDl$K64j#_VB}hly@khq z3Q{YAt6b?UUnuaI+F`F0S7ukGa&LY zhuqqqSY&^4W~uQQ_&UqY4?dAKMyYsFryp4iT2o}UoOiJmCHfQ~l!f)g{IpNUW6IYV z7&){wX9a>0305zcqGAQV5)~WdiAY9_XBjyCB#z6xlx41Eh4+Lm3diQFHS0&YJ#EgC zFt_SVw+jhH2d-IiyfL4d3CU!&;Bc?ftSxS@-@|Mm zY#0A)A&PV*i^uhpWx{+^DTlgYp_3|6Kt5;9)rDdMk<5}21;s-h1Y$5kbS$5Q&gk`* zyvk(_m*|kmaA>{ssPaNo2|9sNFLwREr>2k7)O$BulqzQ$Q0ZJO1Wef>-lVd8%FbV$ znTeF;2&1H=&DUU*di=tL>0EJwavvv6O}2 zK8cyG0EJ@elz)I1$u$y2KojFJJ3v&$8vSth%`Zs)V3yK;W&a2}U_54z(o`rzBzQvc z0*oaW%ZA6eqniX79i(9w8m^4pyQi>QGCO+U#nux(_PyiT72;5U847pu z605|7yt9%QSPy5aPE#?h3yk2rYX?o-4HCozd83nluhl*0LB0Txa`GLw*%ckamI_i= zvhW~yc;CKM@b-~|Hfit`%3$JZ4hg8=E5&>L{7HjYn49iJ9X|G+=!WuUHLuWtVk(P5 zuFSld4Q@K2ka|3py_<8mn;?pI$s`wi`5U(RmhL4Hd#w_e#7Cb$F{>jhLgskEmEOaW zd(WL~hba&I<>%M%5pcGo-}Ci6e-dJsAtOE&T)`E!uO1B%U|+~^J7!{16D*lSE3ujb z)J6TYO-5D!9Q?oy@+=ocrr1Ojas^&WB9scEWy8 zm-+9tU^y_OsXg%#r>fse{{T!7V4C(5^Q3Rc()QbsW7yB3c?q^i=4lnp+9y&LY}fzW znFF(&!>wpjU>Y&&aJ%+)d0=H28$F7r?)vv+gPN9IDXB`lpfWW?wwA#iQ_Yi{qZ1hX zE4tDGuVwq89agT+h0!T^brqVz43`X2ThoOB7_#E@)?V~9ee`t=DFWx?VPqUjf)d>| z(Cu~fy*UH%xdP2~BFq6S3qz=e!Ldr{>I#oxaIS*H_kd}aF-{)z+P0iDdSqJ+ClkEJ z9Nr%AK@y_j0>=VHkC+wBC(*_n? zuoP1JM$#OQ*_7vnN*uy((A5F;?wD@e+LQ}DJm=L+Xd~K^YY~}O$-!vUK7DY@m=|j| zn0bjC%=)4a-eJrZbq+6~Jh_v!a(KjcC@Md6Q8?V-qd;hV{`Rfof+@J@ch^0s-Ea`S z2)jF&FEbOgnQ)#!I~evmYR{)w`WerQ*X1i&8X7mBKDGAbIM%Uc6m9ImAsI-+B-=;^ zt9f1s=xbii+JUSa8wo70VZ~3|6^Her?Ea`UYh0ma1frwS_XTteR4hWx%qc?Q+JH)D z8QuDYGMb3HCBnrr&xRoO9UkFK`-CG#(!(pT|Kdds7)xG@SUNcn!R#)U2_`177liHs zTc7{Mn$W2%gabFe#}MI-DP*9QmMnUBgi>(SyKj67mvEMj7@0AWGojCqPu?g|IaePb zW#60i>E*gM%8Hq=xjo zy4|I0L(W#$A=FhY5uAsQt)dcXHMV4zJ_GRAwg41=TpRKK2R3Q!ZHVEYbT&5_{=jrJ z&5gbuG3_%1Qbn!av}*|m;lh}Mha;w=>zzicp{okARpP2@2R#VN5wp`iBI1gxAVtb( zL~0KH4gqUKZfGObk({=O)c+K=XL@O7$pHdWe~2>M6zHfcpuFs=%VWzKBoA9vB`@qdENVA!qh+_Rol9108aF|QY+V|4z}B$Wlx~>o)`OVXWD#h$ zYgJ#06{Lo(=*SB<3%d5WA1xZidehD|y<_cdAK+@{&>}^ftvm!bGi0Q#kMS`KF;w~+ z04!}20CdJOt46K%u_+QT{jgMc7JwYmIjW1L18Z^qaqbW3{VaF~J!*16{Gj#Nlx?a7 zRCn{SDT;=eRv!;W$V*x#qC>{kq}Rg%IkQn%<+WclY)OY3$PcXwUF0_ijSNGaho8Il zf_;odK%{NfM~_Dxk`oneJ|@>-vQ0ESgde*%*2xw=dDagm^58MH3OYAq*}ZeOJ`x@XpjT&wO^`b%C3gZup>0&YOIeKzi>MPMvxDcSoE6jF%i zjRTsPZHauZPkc+qx|DLvyz*cX!=~+BZpn2J7k}ZY(V04`5NNq^eM{R3vGW>(h6$hbP2Gj%dyNQTmgJ?P|krX2^)>XHSq z+DvDzlFRnnb0qkY9@WVJ)c9#fN8wwDay~j3z*)s zm<4FE82UxVQdDn+S}E+I$zg@Oo8G+EhSfydGUARMnh-&Nd4hqJjAz@B^fYts(VP8h zpK)7Il>JSB`9f)57=>|L@i%(^0U~%q=VdnGkI!;6ui4m0)VA$jfu9mvl z)0Uz-FAwQDMJ?2Erxw+<<*Kp|J4=1;+%e^vX5IP&E#k&!B8ygQUS80ku|kvpHK#Vc zrKlu<%;7nFomIrxguY-n*@p-`4H*XXy~O4P_&ESV2|dU-lW7tOjJxL*3MydU39S)+n+A--4#taH> zzGMsn_v)CnO8A61))r-36C! zeB#$!R$u&q1`f9VghfFbbt@9V7k}AKOm|ewLC+VLUpeg=YB(a8NlFkz*|wScp-Im6>zW{t&h0ZDMmf2YM!QBoxg+?%nc=`DqeqE?Ow@RgzvH{ zNk?%Se3h=&p!%k#5hF;4hG_JcYadA7;tOfH{lz1H(WpTeN>Ohu+}+|ISrZ)wVz7yp zd6F&9`4Tjzpb-u76-J9M<^CM-AH6DC7|8hzRV%qtyZ$b9Q$^pdasvdXgjf&}>$Pj} zS6-I+T348q&QrdjTGNWYi9k1CbODr7oC}#fs6fftKqe#wCKXcDaqgpYWqH=P zPOw~G8I|iFF;6X$m#&Dre$@zAB+#V0nyS6uK5?NjfHUH<7p3#>(dl=`3jLDaZS!H= zwY#s)G{^Z}h3hyRJ#^9P%yjOUzYp~U{@0vr*5vd*u+#6>Z5}#?rbSAhOxSZWg)(Ko z!5jKMphYzN*2=1=LMQZrpkD6Zw;n1CnQNJS!=X0#p6l>w_U`o9CMZ|AvhOgl&mmLd z#GF5wus7?ZVwi2YV2NQcBUcwg7tbn3${#cL%4B_3FBZww$W^t+Y&d=T^t)j&*ei1B zzVM36>NtyqeV!bFY&aRBzNy}r&Dj29bQ!3>jKO7J@S@p=8hUfc9xrIHlUqnUd_j*AXhXS;w#~bhZwh0+SZF&}_$bxmWT@M-}`X&OLcbOCasJ2ryc9d685+)t-qA2>Ey^Sdyk<$$^7f6RPd)AQUo#@c!ZhZ6Kbkux_B8a-zeD zbK{Ka^jqzmV+gG1XqK&~Q6{WJ1TLSQNszdg887i=f*E)K+m&Yo0CkdAVoKg4Dck~~ zvn`-hUag>rIN_!UbPw?~#iT!-e*sue@B-j7=UzPx2qoYvXi=#OF)`4daQxA^=f^qU zt3ne!OCl9xflpCLngD2cCaJb`7S=nBZ!?P{o@F`l*h~Dj+c?B@NHTrPoLLR^wD*^@ zsq<$p>pM_V?O2N5l$+TQz{WgP;tvpZgRi-KcduTzYCS91ce`4~s}p^sMw>ja9N+~t zZ%Yckk+3;xWGNfN!X+DGjO36wTo5*`TRxoJ_55!1yG0cCk0Ew|Jc2VBo&F6MksGhl z=~TbFw^?Fw-pQm}N|Xwo)sW=Ub(n%s)EizvlIaNh4^BqarfL5)QwENDAzPQHrQq=v z&Y{M1N*p$U&rG5@4yk&t&WbXp3~WNcGZ8&|n35fyRe34i;epG289J|w+2a7fGT{){ z2lf+XiD6`L&TGyFsoM6Kk|kh#AeI41LQFbB>V;%Mso~-Cd|mKT9A@#^h8MO%wyft= z$bqUDWgF4w?L!WBevIcnG%HHJ7GP%ELsoCT4EFX!7Ms&BNT{KJTJMM~i48~oXrAZk z*gG(*T(W!|bI3HF>KH%qBVD;SW2NBH3Qhs^VVh4Y58e49XPkYkljwrc1VdBIW^|&$ zf|Uetxj@@$_@&tlx}3Cj{qC$q7GsPy`i|klFqx|+%gER|Rp^CHzfWQ%k|edgEB4P! zyu&y?&Z_U9j_y|>hU;O2Q=6}(T+;ZUEfSw6YcWPY-ATR~1>w6axjNxl zj)-blZHT}US^QRY3gt1;+y#t1$V~=rW@w!jcF>?D1?C+no8z&b(^>;D!Gly{3;IHR zL*`?|%t$Im<7u>MuRlRFJXX7TPr#ywpGf$KH-w~4aSoW~8@^1e@XLfCHM$TwGLbUA z1kfpRuIj7nT2^dsi@6X*1z3eTZdT)45gG}BplEOsFXobpurVx&WCRqT;hm7%5Ua@Y zlF3zF#lZZvhb!rZsN6lkcvXhq)Mo%`FG79rO#MaH3?6Og*_*Oh@l3>1y*lB<+u?te z;pQWrEyD@odAYS2OrYMbnwSVMmtN+yq7hv|?Zf)-*-Zd zO>5vPa04V&IC|)abmTw6MI+TveWwOJPst`^2rmw%`+gm*@ZP}O1-1V5_FKhxER zJ+;-FPNR2bH(3Xyr>BXm%o#lxIhRSEg7OTJ1NO$gmze#LXztu{oV}^Ir2Cbkm!S`2r*< zw=m^U<)EcU&Bv$arQjF#USpX1%JU!74j3(%Okzt1c|qi|6SzTE)8;qGP&q0~1Y}oJ z4RsKDy9y}>ucNh&Hs`*u<8v)-&L$W4rk~`R%EL(lvGg8p5(xb0Ob{Q@z8&!B!1n0t%q9rz}~9MiS)T9ZHqj3IpwWSbVUX+nFEcYVgO&dM((k|dKdTgnR1fjq1r zNXGB5b)`d^u3wz_uOeWFPDyKp1ddrLEBN1YL@`F;`aI7rMOjgDI80MmS;3C;hZ`CV zA7N;CbvCktl5)(}al?7|-Z~p|d8#p!RI!>m=FGsuX%y-z*MXpSGUac!>a~5f_|H<*SDaC%~{ao@3`6Hpi~MGJ3a@8 zYUwrwyo9V4`?gWz#wb&92USAS%Gjxqmv}f9$Ip0l(P{N{YHywi0(RLyon5j+Gi^6_ ztWD@((7o7TS%rg!)6v<>*+mjvNR}_qjia3cj9i);BHKb+;zw*~7}Dtvv{cEnNWc+> z`^p=25zmkD@o~dZPQ~Hg4}f6?1=G2=r!!0B z0Kg&l4U`$R3O5XCg>*>i>Z5?o#WKkxpbElEEX|imM825;5`p8#Q*kL$5W@WxR9%QV z`JztKtp!!vsoA)^_ny@761X=4hXTh}4M^xHwJqmnQ&RXu*LV<_MfLSIttw7eYo29rQ-?NOjRs7B@2F zkFxm7^5c&(Ke)p(`u;6g6s+yB&?P2Uj_?uO)oUlYjf$-DDE&k6H@oay0m? znsi+U0Uv-8#>a;4m(b=6NPSYQT&QbL$iNC-74g2+;!+@^)ODQ%yV`|Ua zIun5c@ekt|nRVe#m9u48M7nEr_=C(*tJwe|3lkr~c)|iKB?x*`8IQ_bQW`zvCBv5~ z6$<9bYkmcdR@e4n**I=R{qWB=UV{>{^_`i$W1ZMecxGJUEPFrIuY5o-0SI1Ei&x#$ z_kbxcUWBVLix(jrIOqbpQWexn;d3Q-PzOs0lOKYBz#LaX2?89Qbnyog`r zhMSLSB8|{Q)crwuT^O;_k1%O`tqz!OQ*y+M9WET0!mybyXwydLKO33#YaA_}G)Az| zhJ2GYc-KE_UKoaGBIP=M@xk@;f z^M%<87n*o2)!>GS)RCu3^26|?yj&tBJf0z}I6(ela)~OrPvZG0)K>6iCinn_+6Kpa z5ru2MoePAN7-hkaY-5bPw%pGtwBH4N_|!1)S&~I1P?k*D=33LB8wv&LPOPV-KAY!t z7PF6FdKzXOOtFV;#qDbw_y&v=YDA3o5!LHD#luP{3^?ts)ZQUGAa1HvDdZ|od(90$ zz4$hrnPz;;|=MjW0x$ z*WmOvfuRqiKjl&Rwqo{y1gC3AxYkB;XFJMpJTkE;APo^YH8v{&;Us_`;mYzA$In>h zH!s!uAv>$1730Lnp){393x92*B~l(=K-6T7LDL@LC4XC zZz)8XI!(JP`mux3)c7qRs~x`y3v;yKvI;z#5isq6Uj$RsB}8tk9S^`#O5&+)S@)BP z6`mCePncp75s2wk#v8ddsMvDF6WuC;aVMqxu;;9;xajUkW#7_AV^06DAvx<-&$z^Rbk^N3u;?oUh;U6RDX<_Ml?D^%E!cEXarx3 zb0CL!C0UN;ENfo!tP+Chnu1Fv&t$y@C`%)Ocv&WwJXH%n6IYdI+db!GoWR%Tf{8R) zCmF9q{9gkT!)W@#b^{{A;1qLEVw8;%*!$rrE*|F!TK=X)kPVIFHN$2O|6T_!5U7(& zt|YpqRCA)F>2y=CdVLfcGIk1-J7A|0ks1O9u{bG(5&HVr4qYIX%UbM^GN*(Zvp`b_ zXJGIAJJLpa(Cr}AOXk*&Q75iRXV%}kCx&`SsRbH%{Mz06#p&6(G5<)(Fqa%n$(yPi zS}=?qrj;n&r56D+R-_hik}dIAzN;H_BaWyNMs|F`np=$ANix(st|&=Ts_A!ncK-X> z`RUQ&Ys4_ak&EC^xG{dWjGMvfW8f~$($iO9<&9Y)UnV+$#;{a{$MR6wU(H3QRQ|O= z<2F2ZefXtto$SUsi_`<7$|l z8Uw7|h|E@X@1b{7hJWE{U*UdSBb4m6&3Ff$i(@YmVy`!TwppvazVJ||j;QsyXYNgi zRoP|{0&@_v*KyeI-**Re<`F{lb(-I2YhJCw*Zk@o%>^YB(e4D>j(Sqx{)DF~l)Lnj{15CfHTKntY0GoHc# zUv@@O1WehS`~q;kC>mj{GeGwGLN8`LIQOoqc=Ob3^>T2NV`PW_r5&~HRsgXqMnPv# z$e77p&SR8gZ$U{1XP6K8$!8)hRbhreA63B30I5 zbb%m(Nw)mNqYFIt1)}3(JEA8-JS6xqCMEm*^h1|Rh@QT&6Yx~db_4!xJHqq9-8CfQ zX07TdTd7U0Vc_Vu|K7Q!5^}l_nyS^jdP>pt6iks4+U>H-MJt#FXm# z2o~qrgNkKB6~N0R-BPe3&$bj-ijE=n8&J|E8H4RLUo@L0^owa~^Xqi9!lEK~m8t@< zqw2sW^|pS2P7wihb$^k9j{~{z?28x?fnA9Gz$HaTK%ZiZRC_OyG=&U&8y44$)mIW+ z{{c4TT9X6vn>b*PI4hdOthw??dv=f+GEL6xCcPEIA@m7LnRy~HRx^gOla6< zSVvXpQOkbnjHK+q^F|5is2Wu$Mdh+Xf}v)%I_!*~)5F(}FxYdVg={nxkPBKa_Fvu{ z{&x6R?UvXG&$Je-BCm#xhpBP`II=}T#!i(N-SJt{?E4TZ1K)`g$#rMC5jDB-dT388 zpu&ZkA;$E9A*byO>>vTbEyqcZxPQ} z5`X0oA$=a%SmQSQ3~(7?Yw@Nz9x!68tS@c(+PWs-;P<#<;;IlxxeKAZF2Vc*$<{T1 zI$|u^N~lS^)d%GmM$~ss*^*5C+LBlK8CCZrC+2Hya$1E*OaEOO&D2at&{)G4VqPz` z`*Sv9!z#~zU-NAHyVCmPP)p&?x}4|vYo2YDx-0br=+zN_X*4|Wh`etXTVcXG-0Iw< zmU>JPrn}v%Zm0Kc2+flZ=iH+sumh18%sI#+Jl21hBToR_5v4);kgVbt5IqF0TAHJ= zi1HY`- zJvw}Gbb3ZIU<7pDQsxmxu0MZsa(;aB?(qEh%?X8b1)!&63Qti8UTS;*AlPPk$>6ls z=HZ2|u1XrE|5Zr51C8nE%^90Rsu5(jYh<^6=XkRL1a3q%BZ7=|633}<>og3yy!5id zjL*)at+!=f*1!KY%VjE?6 zX`RPPYrsHCK;)we&l=Tq$zJGbXf_E1Tu`k;#qNy68+yGjLD5Y6=1?Tkt}n_D?qV+Q z4<|=Q92G+8N?9xa_BeCWZ~X*ZlYhIn_ghj5jLev_B&)Dznn4>#{6L^CH|5Lfs-RoR z&3;O%FIu!TXBhOf7U|Vit0;K>XfwfWg}p%dV&MF=*+}437Ag0q!fa(T)HRg&z@pqZcN@u=s;HIjmF8n+#GToBW7pGkk^65l zeGb%>6M5aA7dhw{a#t`+CJ?OK@QEFrywFEH7+piY2XIa}#)zyElQT0$hzWZ-G=Su6 zICFCX!)JbA_>R*m$ja`tIs~Q0s{N_i&-$zvwJKtiD(g%#4w!MG;7U7k0eUhPt$4YF zZBe~oB4Aw(LrB39x(0z5X_2o@)?lE|tcme>2$+E91D`jJl3OeYO1W){jjxWlYCw9M-A|My*%Mt_+J1 z02vx0R;xxcw$80T^H(NZO1*YF=#O-M;LKj`#)k>9gH=*y)JNgvWacEnQ zwmB))ZXS(MMKS_-Y;34OkF7sN?@gC`AZWa50;}mAH~6~ic|S(Vd&!BY>Uz_YYu<}C z90XUr>0S4AbGquiiYKsLpK}~*-W&S3vg@6ecgTCw_bBQ2-B^bX?o2m!%8*`Gtj@5^ zSd$`e3&Fm<42NT8O1`#EPlxoo&N2#qZmBqRCg2QSVxnjx>Ka17RS{0~FnIg=^als* zP|di)o-D^eTL1nB$Y%U>t+tS4O@WgTR3$cQ|1C#Vcu~Ms95}FGEwCzhIeb1PiFRwj z{dmj{OcV>0fsvW+SG$-GTqthavve%6%nb%+H&93?{^d^ye|Zl+{Z^Fgr1}jlA=dyi ziM&nNM~yy-vf-!w7BFOwAa0{-cDy?^5}I&Bb?7}X&EZiW2A`XQLJ7zL^cJwl1NWOg z-onv_VoiH8ZB1)$*=Jx5Z1|Q@D(pB3!Hs8kL3qN^U&wP>3$I00CebKh56$X0%cBcXX*V%G06u>} ztl#yN>L8M2glX&%{Nj(}tKW@>41Th+24GREz*`ij-*pQ_0HcoT-J(Ez7fO3g*2$Sg z4ZL+}Yq?afdFAMHj=MB-EtjVvx`c9+tUgpyw68`x${}e7<-Fpu0^GtD*0iknx|nKW zxa4YdFy2*YCth`6zCrC)m30cIpSyhHHFjoa>AF+>FWj+o)x}Qfs&AZp9aQO@{?<{N ziwHbfh~NtI57rGKHgruHv%-E6mHY4ry%hHI8d9?BrvWqR0aSKB?}JuOCJf&>0kc6z z&+*#HPA9J4aOAR(Xt|;}H`Ei>a+IOI&Ss3)&_ucbTu&qNXoUFjRtGaWaC}o&>K>&y z+mqeZV3I#11)b<9&UnkccyPInEOqY zQZw`xl~Rx0x>9=9-@Q`pQNlHWyOb;pr!MSa7=De_>N5e(pcVNh|4<+PX~{Wy7bK_s2qIrKl~%h zXmTmCI4>v5JYS|FT;?gymSJ8lG4?Z|J$+)7vbWA$Spa&VR zsM6|3&DZH%%qsY8u$(o3@ z*h6+EgjWTFQi6dk5mQUQ=1akr`K5rAJywWvod6;=z~!o9fF^)w+FR|S*)kan3Lagk zvW(yu43afid85JJ5CVCIgS{cKBdK2z*H-5^w!?CO}cCikHQl4Lii9$e?hN zsJuwzL`hQg{9?hKq81`@cHOs{)sCms|I&Q9;|VR&Z}G@P>z}uIR{d4-EZ*^~@$2k( zMiW==c%%@b+;JO%C~mmFb0jKW3hiGotmC6OkBS~#?T0B-Jc+mBRny1eJDN}dz@!NEq8c{A}icPQv_=r2D&kRsvQIj z{{^@mz^Cgs3r?e&j1Y+=d?#uU1!jY6&E?Eav(TH5K)t-x(gCE3pnCpcti$SM8CINnFD{6haik0UQUo zr4W}a(aaf})90&$n*ivpewuD307g(sfOY|^H_>SY#;a0-vq+?kqT$-hI*SGXG^#(X zEV1W#mJRj*?v1WKbgWZ_^Bz!N_6UB@Cc7Ne>s zS=P+GYH}-&UywD^FtH~Sw&quQ0Uy6$;u2$$G9-#smNImhV@)6G>yrsm{U+)Un>S)l zWd?gmcFqfoA7d3SLLBhp3@=g8MM>R@e;CXNRWVBf7Ma{p2lmFvWz~7n7~Vn#7mJ0G z@}-142={cL6e$8Zb9o^Vjb=<>Gf)P>fQ{)~z#yvfEM}LygrpB0TM_70ONApApi_&7 z_VG`p-$(IxP@k76Uz&J?s^rmy8|9-NFezmW3s)DN_1HMY5#OWlCi^4fR z!Et|U9v?Ic71<&$BakGl$kQZJpS=)n5l8lsxA26SC~$<4WU>Nn9pXXY@L~h_Q91=; zPu+N%WXnU0eSy;ggiSV+OkJ05`qGL^O*Rxer)f|;)|1JcEx2lMfw{=Zg}~YPgEw$8 zS!S4S#Vco8LrId}vbjTa8kMty(BiNs5`z#|B7mQVoR=N(`-ZlQWfEMr6un+SQ2i#MqPn z=ex)Ij{}3rgOiXbb`jZ3&74N$Cj=_hS+pV)QH~*;T?wZIFjkj3x)Ue3N&DPz+!-`A z2OPuo*Oj#@TVvN4jAiUFLxIe)d_ON(vhX|GAgei@j`8dUemOxh5d9<=W!NBFlJ+J$ zTzeQ_Z@j*SAz5A4c~)A?uX*tvr_Bd~ki^(ewZTxboFfigI7=HVuu~ zjQHfsTu8PlbAvnXe|QAyoYvz2^L>#l*+abh9R32n<3^pD)K0L-p4AIY*oWmHBo=Px z>JDmy?Z-~>s(EVNgfvmlQj85&qy>6{v;bIK>!ur~)-HPnibv;*nD&Xv*A&1;Fv1VI zZOq(OkD1f9F>8G$7?|J#4cKdfPPv<}t7C1E)gi$xN}0BadA@~a(+nT}6_T)Zz}<## z_14N$Hq3G~y@tllJ{lK8MGCV_J|D2omKunjb@ zAm-ATwIN8`;Gg8=}3=&nnnBVDG>bV0228aoQ-ySv6Tm7 ze61h+{j(cR>FO7SBgTx41;!W3vWp@_fkIz6R=S3fYTb8r`&+m4kT+jDT<$0nZgv)V zxD<8-W5(HkCm`#qoHd^VBePxZqZwO@>VLy)qmBoHzUl%|$<8{{6MYqj+fIKd&CM$h zFZesY86dPry_c0C(tIDT?I_p?7VhFFoVY#j?!nECvu!NU6H-xB($%wz_HtgQyQcK%6SfyNQ>^_!=C0 z`>&DzZ%iygje%m$t)O;5ifaf{$sh+0^@z8UpP%8|w@ZKkfxD zVU4tB(LB%wAA^rsKjKYKS{1>0($yLqPuSV-P$nb?e6^9jnfR@2mZ?wPp?HE00CAtvB+*ONFh0Us#Sd`$*(kjOtX zWA|N`3<3hjtroVLHg+%Tuqn*|m5OYH4^!q{fD`n0lk}G4nCn)jDa8Y8eMIxEg)1DgZ>eljReiSg3ap-u5!vUJt9JVe97cZ$G_^f=@uROw%Z&;GSa1ty6#M4RV#Rz zyX#&Fjl9_62J*_DVUE!2eU`*xY^KK8Bbpi;9@-| z8+8~z9qDDxd8>MhJb_8J4B1gxwoISBCZVQ5$Fq7;fI?37kds>L;xM`7^j?nP=U^G( zNZ$?1XiOMSID|&+fm1*6yt=~cjnnZl!CwW=< z&l$tIdHs2aFLW7diP=PepV|+FC&AD)()rlSWd7TXES)m8eK_^sdh9MVC^3 zKk3rPI~bc#J$HdargZ+?Kn?*T0$7r#PHin_1>7Q2s}fmtR?n66nz|49x6I7xz}?bt zS8y-`ejJTTI^Vj0bnGNYEIZ@CA-;Kl?S>KoJwY=x63jl;r$Tf2OjMKz0E(X^re5Y- zvt(Oq^{`z`;Q4%a7e=Nrl!cPKKx7|?ReCGX8t&A3$v09}JX*0s6MvB`Ea3>xwwfc= z1aUYEuPAK{hnqA(X%48RLq$%|;1E}phW;ta!2P~QfS@Dh+;9lh;K9w1Gy1E#2=(P- zLR)CmpjAl6z=BSH&X=D3p}&C&|Cy-t2h@WdrJF+fzX0x_TYW-3+53%B>uWe>ZqSTV z_$4px;S}LO!u+#3@;l3VVpY9K&iAvG+(ODXM7+TT?FRq8H?!W29q`}&NrOXV)J(t* z*w1Q+oa3f$JnozOt!Inu=($^WTu;AU_q9`hSVN2d?Qb4(tkX=wOK!GvGBNS2#K(fs zry%|NKnivnRXj6An$l=i>bi9k8oG6znP*#6@$dDW59+BwZ=(IoVy!3Wb$8%?y0{v9 zyb}GnR(>`sC6V8hbJfa~?9IHw9fTNI)y~U^MFP^5v^nAvtB&>5&rAX2C?bW|$W4-9 zL7#_7wmnP^Y90B1PTxM){-u_zqz}N{y$Kf3z6{jPR=E0!jXQl-O{dkKR>G1zQ`K?x zGPv(z`P~5K*Y<980}bj9hiFtoEQIOadotX7M7t3dIdE2t^hubxGG@|oM9Q!#Pc?kp zeX|fxP1m7+d&=&YMmM%My(0juEnPKkZu2n|R3f^Zn&(L$-dmJ{;xnc`-C0prnx=CP z&;Q6)owg?Go_2C}&s3!P#K<4=_BFY@(1H!SvH(kZ#R}*4mbUq58@Bm~D7$+r+M}(> zisBV5)=mK@EpnB{0W;WqH|k>koKOZ`omHYV zSX)lHdealZ-y2e^g=2+qRb+enAXF}h%I(xcZ#4-I!n#jW^n3zT3%b##8fxXR3nq&O z@~&Rh-Pl=o9qWd>wCx?;!9DR6K)PU;?s9!;7nfbbL1*jdrQjDHB+5T6u-BI&dVLN$ z*DgdbikzF0Bz0+6+yM6`Kjy6vzq;oda3$Ua`m0;=JJ9Ve_+Y?BhBMx{GH*uLM<<9E zLhLZE=>!6sup~7oP}uPBTN}oKnfC=@2WGy{Kk2hzI5E|6o{9bs(p8d?w9&gdGz5}k z*t)o?$|h?vz{4ZNDjt{6ZJGQb2FT~=V?Meh+(d7S=|`AyK>2P-hUstBif5W90!!}O z)P235nep^k?LDsFHQ&w!Mskg^&mppIC{-?X{076-s6Smzk18su)8;USTesjBDVq`sKBDGV6phyi_w^<3(mr=d0Qx1@v_-$nAr2Le;L=a8niCvXK zuJSbQ>v>;~y-m*(%ktOg^g%CoxZCwkB!THU9~ZbCx(8~i9um8X4UZQNk_j`%Ud1G` zd0eQM1x7?bwEV8Fb80v8I?WS7M9C+2ljlJHW?}>Rr=v`tTE|D zlpU7k6~iiv*+Jg{P~VnTy;GH5N$m>%{0r) zWuC+!@1->PhOwxqhag=Q4DyV<`V%Y4{Ax>{Q3w9CsRk5flAHaf!Ov;iULyUwN1%U) zcDEbeYPmf(ZIwHZ3)Kx~Wt|}q5}YytDvah+%vqesf>+Th{2Ur{kPz*#ZP_0DcED7p z+3NYo-IzGXj`fTyVEr`WsgH#IEstXn2gWVX+Mb~y`|jC+q3I9&F}(HO4QkTn+GDoW zX*lze$BU%;W6X3y&LQI7Bo0gsoI>gh9CId_5nbT2<|WT6A(*ZyLsmaouSKkZ+(8R1 z%jA*+MQ&V?>$|wfBDw43Mqq3)>Co3B<|bcmBjUU{|Qc;1iNX>Bx>3kv0 z*1RAVq&R1sm10?^oSb-?m&T|v(_4>V6B5r{-@5m8^f(x|K2(mfX?B$s#sEq zwNmkNz1_|01;{oi)%_%tk5OD0%k)4h)s@fFM6N{aey`Kp+;WjwG2O%TW?f|1I|J80 z29mwoD|X!hzvs`G8~E{Wq}$V8E`WkS@od|+ZQHhO?%bDc+qP}nwX+xtIqy zm+Kw=Yc%3_e!%C~AA$S(7wGp5UhbJGlE@paltZ_HKTa zIz6-x5i0Hlz!PB);$n=-(6))$pi#|9yYVH7RdpG`*%NEL_$65wssXo{ZZ88=qr94c zpCojW;MLUy8|h9ah>yj|XGs(KiegH$`}!5~7}+WO-f|U5M2&v}V0h{?+|IP7gnLiF znb(nG_zu{ihr*nL|Q8Z5yZ` zft#6(#-SMTCz<81NUAgA$QrWjk$GmlVLw)Fj;u^0m8UB*&wT90W*BE!y&;%BVkHLk zfeW)mdb+!+-njRpR0#|1l&r8imOfZm2sCmOd1M!j;=#fU5T7+=Y%JRvU4Tujh1aP- zqNNB4q2K|Kmt^vq`=z^$msh0vz4wq6;>`-PZR;0m*t}j0HjstlK@2xWedVyL?f4ao zQw@m<^mfxHB_`B&x)ok)Ez?0v+UB7)G7j<&cAz0SDZTrsT6mGG*~D-o}F zS2)^itL2mH${<=%up=_q$KKEC@Cp>O!rX+1iN1=|G7WZkvajCCZfN?kZu;;%2YdoCo!l9?&*Ir^KLWYcx=lDgw~_61w*3u>JBLN{1x zg#xZkeE8LFgv&prME8s^eEPqr1K3X2;X3t~(dsC28?1@q)$ELnPmAWnQ{YH=;vgG# zP&5z?tQT;;krYb$*XvOErOeApaFvL}1sGTVklrS^lC6X0%#`Ft(c_(%!$1ukHeDy; za*vH>@_ob7a}eXl7oYZN78(y z8y&9gH(Z~6bcOUf(}6*{fon*}h2UJSd$Dmzq<=A2EVVHf`xFct(H{gQ9Ny*-cM7Ot zW-kyS08J3*e3UdbYbA95HQ z$k^qFEQ!*gV~G2AvHV~e{EuCz@1GKemr^+64LZ4{C^6TspdObk+MyAl!2`V=E=lR} zNdCRODD+z9XXX~!YjX-Ql#4%ZZ56T!=HtnnDNa!9=PqO!5NI2Euu{W%7ilLX_PNKn z5Syu^MjQfGiR#kURmR?Gvp5E2y6UUhg2CBrbFd9_?pLqt$TxnBw5uV+FYRAjcGu_I zHjc-?lJ>+zhgPc<^8NYv3E;VOY#fR7_H2WptBG5qFYs z{g$PL$fTa$pud%eY-B0p$~S7oBpAL0r7LVL2kANjylu;jbZ@Mj>Pz_jKEHNt(OQT@ zM>J=}WYrQ)MP?gBZzk|VxqZW7%Z&mcnPT|%J&22g2lKztPo~ZFeYdJn;}iMe%2!P{b;X)=h>}0)z9?2# zX#)fPU+O(5aR)OzV_X*4()P;dm(_W8t%q09h|68)BHb*s?i>Yj4D69erJZ?H{#?i zt3_v18(@yc^hu7gXA=J~DN2`6vcmNSGrLKUE`)*04LxOPU<^>u4|C_f94}>{QAJaCG|8B4g@uH^afoH!w@H#aJ?&sR#6~5wozQFE);NbX z=c93v77}K`yNYyEwl|ENxqIqA)oie>u>CAxsxd+7Io-%V;1R*9h-2ckcnN!<;>~u@ zJM{JzTw(Nq8fL<}5{|a;RNTw*!@3%U4KZ3gsEy5?*_hUQi$|wO_Ff>Vg4!O7^K2=q zwHuc>g&4IL5b;TgWmd%>BG@Q{z*m^yK=gJ=dYVPHjN(cJ?L|G_G^crqPd*fPqKtYc zL#3OWTxA~tRaGB2N&xOUE7E9&d7*-~K5E2#t&W$~)+>ImmE)f_UIbAD@BWnb*w~t< z!%R@7M19epFgP_&naLI5jhexVPu1%Lo93K6+7TxOqbW(*zWXjGo=`o!JZm?(9Iw%C zC60=3ohYg`#19p!M3ibz$N!oUmnsu1a1_2*xr3B8T}b1)Klvq5KNfGgQ(S(; z8$7Vxog&D|X7RLF^7SrpUg>bWQd{q0G9MT0WRkI@6CFGALQzNfCw|UB<7bKBl(2Ig z>J&_a%optprGtoSW_k4)nrqpec@{5~`{@CMJ)crYL0lmo;S-G%c={uOwzgP50}D~t zx0+eD@I_IU`Trf27n&b(^5XDW}~ z14yGF@UoB zt|vzQIjm(PZXk1lYsH$~qbiHMYIk7(Z1`iw4WMGi#r+12=Oj+)5pcxjnu$_nX!~NqQSNXV?wy z)`F$*0+8WqQjMeBMCUQHXNxX1?Gon|7EBM?$<5#uwc%{1K zcAa!oVOm4mxr4F za99}81RpNBTKnUK1tvX0BOCf9x;(NCMp~+=$E>~y8}bR_H(rfgzJTtD_6Gfby{?M} zfJxxY-fW%-5hH4Ah-tu@VP=0cm(gWusF%QVIL*^`Tyn>IWy?{&eOt^B8}Wg04`7-` zqS_bPv}v^<7ygwX*-qM+Yrs%@L3fDbQx&!cycEvNmmz+5H&7;Haauthq9S&s5yxgu z0#`l+-BY26hkmQ+lrl_n7Aj8#C`WcZYHYo-uu)^JT6Eo5)dE6Ri3mw$v@%Cb+u)pO z7(`h?KdmR|c!QsFJJFZI<-%P`@t-{{@gxhngdd$;Go8F~%Lq?fAc#%pFQVv|bn1X+ zt(p&I=H*y2N3>W@97WC4BLH%oztYwC(QYf~rpEYG-rjJ$e=x==@@f_zlc537yS3zA zl?|9GV zMBxYA*R1UhtE6O*+pI&J^F&tD^NJ@9b!$h`Y7Z)0Mj4f1=cdgfwVxeK1X>|kZ1}tE z(sjN5d7@WDo$Cc;6_PHzASYs}PFA(8BM}LN)lF2)Q_T+QKpHvIlJk=SYn;l^g#_!; z!Q?kLliCf~$@u25-H>$dzDvuokB;L`7Pr&)3STB70c?lA>wmm+&D_YTh_#f~lDoUl zT<7fmsGiaEy!d#_YEH_37GMa@DV$3c+0M=$aQay)1f42-!*7ol52&DrPjr^dAKU{g z%>N&}94tue-ImF*Gt`Y>-7V@vCz@r*{fH>ZjN zxj4oyS=edpXa(!f(@fB?zFl5w)ys=IM}hfhMjAEF(tBC6mJ~iF3kfoC)-EL20%=M^ zH>BN>t(YqYeFXKn>&kDUzq3$97HCG zV~Q)ddtoNQMecYZvqKsqKnrnuI}yb!+fw^qIetu?P+`vo0tcGQ3;`-hpvKI5@DC228Xg(E97S&=`N2t+=h{Fr5yFob?g5 zYz_RS9R1J-31ZHD>iC!nd_{L zU0o+BuI`1I);}HH?6onJC!4v{R1drDo{o*N8+k+24jz?H+!k@1^rR5;KhQ*qQHamj0A;F)95*PXRs5gsQd_!^_8gG72qfOY zfe@@BY4e(0^?~g(hSQND(R)0g_3e5 zTR9gVqpfQBP=0jd$+Y9hP7n<>b}xUc$m!wn^K<><-ttSvSCGDIUYUT1|ipabSnK> zl@|qxBA0Jd@WlH;qNa=-D>$g09dpU2zH*mW4#N+O8aVYRR;u#CmHYAvIEC9)?4hX*Fqsre z#(0&<_iP)!9P>ygw0mZz9QCvjn&AtdWYJ4JWm?*v!X^rY$pLH83XQ}H2xBXpX1!Wu znrLn8K5S~X_HRc_W;Usrd5M1~M{@0L2KN0Q+42=v^)!ldM!eX(03WAcvyYthFUCYe zZeRUSU%4nc)Ex23ELvRaw(g5D@c2+BZ!mIEvIbSu2h8N4akzts2NV3S5h>OQ3%veb zb7xLJDm|~;u7penBHu6xz)1~^y3`j4m%K0KT8GG62 zP9F9+>nF&~Arutk6ZBrBTJrU_S+mx!71IDd6}6lCiR+!2_Cgs?Kz)8We|o;(*tpM5 z-ZR9@#cP-0n7_$-RJu`hPtv?1zq76QAn5n|yf}Yelv$U%;f;Ah?MinJ|7-4em5?V;0bVx>Pq)SvMChg#Z7$5RVa}XUfIL?rb zsa(Xmf#kg7ODeCF7u85hq=Cm}p&(T{-y}*WB?qKMcDUY#={!|IymOIfuncorO0b!Z zg!Vn?nCus!rP^Cfa+Wnl;Daz$o;CH5^aaV7HD2WQl%)N0KXnVuZ3q}Mat$^N4VTv7 zUQ;8VIj^7=l46TlOiq}FFRv;CRGJWbi$=2Gs^&gjEm0zEqH+?oIU)VbnROs-`8s`Q zL#47a+IaxoJ{ciae4o`&4{_ge1|lcf=n;vNu0Z(_JQ!CzT}l6XaqVmK$(L?dQd>p=*sSfc16Dx zj%V!IQGx8l$6vIkbY3nO52A}zXPa9O8MF|6Qo8=I7+(>C4J!@RTtMfUp}?b^X5b1< z&m}2^V5x?~Vw3C+LN66=k_Jl8aNt;J4D0T5SlfAT^4lZ!GV5~|A$n`5d|uk5wbC+a zU?7s&SFJGCp=g7fwhcbZivsDs2bEKU$<`de;UrxjJ#jtQbxii6z$WwH&Z zz!RshbHPH)>9e%b9KxGxmTC_S;FI$%nx!nxaKxR2&_X7n&)PzHc0zSmr(C^M&>khv zj%J%rOTyNIkQpL0LLlpzJ=N9GG$RSSV%qZFS4_fSN@vj~tIAri7y3gk-dUeZh)_UI zFwjz9tX|3%SP5!V#X!op`~7(l{|ZUCZZ}3CN9YQYg%bA-Bg%2WR1rwUw!Vccvhs#f zAiT2202lwL1*%y8Ug9Di43P=jBHco8FKkX#hg}63`0+0-lGZhHKvtZZA-N~*^8(R8 z-9%sQ96`(m*-iU;ee1g@jkb0Db?wg#M>Uzw-~`;W7Q*5qNMzmB-8J)K6d-^1_$1UU z9onPO<|Ql@OCekTx}=7adj1*j%RW_&L_S6RuOK`)Tc4II#=9t9YA zNti+$acUYhbf+G$Rkq!XaQlu=o*@kDwa&^#j+g$UmCUJVD}G!iZ}`nFZ*1*GDU1Wp zP)j|QcJxjsTpg#D%{9PIUp7RroPWL>8c^Q6Si!Q1D-Wf|>1QvrX&hoYj?43lH|3(| zVhK|9o{HyEC9CG#XXwC!Z4@VT+|4K~esckKJ&0Ev&N{Ce*b*mEWXhGc;<>yZHb>cz zqn!@ww7pRp@AT-P|Lc6NJ_ND>jP}v#m)U^dZF4hq@T;DByw-BS$jJ8O6uQ%lN~ub(fNL+@EdKqqimy8-FAIkwmA4~ z6Ps4&lAW!v%|=}`x^_wNHN-vW44`7D%9DAO=ujCWS{H| z^LG^%V_^k1O5yCtPYm)9(fGoaRDJ$9c~vkYk|hzLchOw)^ZWOUrSL&R&Q8%BNwT2c z8$NI{5*=`TzBZ^xLin^7FiX=gM8%+qwSM4TI(4WuIdX9QZ4T;&3nL5Y_HxbcTUm^H zfZWwV#s&Uw{K2T;f;>0K(d5!u+ZKj#%b#C|e zsNICUl+?*1tBeT;no*WOEsJd4xSg}BnxpCV%;MbU;Cu?bFbB!UaA1@024#?iDJieo zZ!5^8eHrhMdYT}I>< z6gHR@bkqg;>Ul&o?WWRgy5d(_+R;hcQni%$j-&ufh1>~g%luqdecnyc1@=aBl|F=N zyuB@ZmAN8^f&rt8+I*`nt6WMZ=Zs4ubgS)U#i%*K%(>=vakUTtz?EZjY3m|&d5&%4iP#5T8BTvPYX;xc^R ze?_tK_*@8;;!vGUOBSmrCcw!Qb0i3hXVM~Zrueklye zj=7PvCAE)d)9r+*##Vy2XRGh|Y-M_Xkz9->P0gR0;OA+kqDS~)E*i8?tVzS@C;2Qu z|BQ=N4C^#>EpS&lmE{!UUt?}Il>irMVMD8^{fY}{3<|K1RSx3^5Id}0T)tS-X!Hub zwr;IfzxfMWcK#(Ok6df-(9b#R5SKBNJ{n|eE}r(B0jzIk)AU{vLz_KiQ;BpwlwY~))#pyPVdB1% zHhK@A1%1AfHyNOjA$`f94*@oB0~kMHb{luSVer+)Tlc4;vJM~Xb%h2dTq3cw^Yg8E z)0gYsx4F`?rcqF#6tUZ;lAz^z!W_IXb%Sgtgx5}Nz};o=;4V%829IOE zAJckr0@0?|C)}>W-;g}(ZG++KikWW5HADyi_WaY%>Gf5hv4F=-&KZSblY2d+4CZT5 z`v6J1mPUpBn#7_;?jgaWP1kc{wWRSH8=c!k3W<=`8hID84COtB@6Lxh76`$ z4f!Ce%&_Dm>JY-!i8pGh!J!%;U*y_kWUF;`rK|BXu^J{gIV~GUNe%$3{JRP+@39_& zZN!O)@!YXwyoSOuYL+Ut;0`2lqTM5XXfrxuk|-9yHXOGmo@q!Do#aAMkQ!CB0d*@> z&~(1?A$LQBdl9S!|I1nhdVa$_N3&8Mj|lP-0q@~6oEdBQ zmgv1EIYaY46kqcx_~(UvN^olhYM|}C>A?{3S-MkSYPN_#XK>8VqW&Gd03{?C|Aco% ztseXo(2syyF790<1CUrw7XP49*@GEXGvug?d@_x_Lv*{VO5giWO3`e-PCltu zRN%ide1F-nTr2q6cs@$z?67QBrS95^SFN|V6jN1E+J-~AES zg9i;#OB!AN{rWPk(~4n7!o3|YmpTd;D+BbB5tL#z>6KkZvh&KhCiyHBBE%lHagf?! zx*2_wumusp4oRt15+9&AtYUJjsz-kiofH}l$>V91RU)2vXC77@Yt+3?u~F02|D6jK zIAcoX;?xoaeX>N_=7H!ZR(Cy)bdq2s8l6YpW zO{-7%sot^?5~x}~Syx6*yTTpH=-q3HO=gwb1QL-zaf1{3d549g09`<$zoLjmcDde>%C0NI<-aGA#}gb>qU?80oP3HA zV#boZJjQHPdi)ARFaH=@66keun$C^D_K>b>0CvrpqDabg-u2#XJMF;eo_aSIDbw|= z?P1AkVe)}5h&gmUg4FxQbvHeu>p8ZNk$K6LAzmf%DI1z@g)BC-b}qYf+1{A*=o${HrwoGs4th6$u74p;!VQg_?Z?JE4HzXNdRPSc^-38fQh)bD+8+-)P z%HPA3o=ua>>qq!G&K@qTSp7(1@L;?P1TuNH$KUQ*P8L(1!V7j3Y42?@9`DredK3Gj zXJYJB&GL-b%36A*o2@`a`8;`M@qH*%((lD@AZDGFi}zg3Z&;1zj7r!3grgUv<~B&O zzL+f#SrNEm`u5sB1f5wJFz)9rO?oKzUR#EoM2Dg!6hS~cxEP4jMoNrvY)z`b>&GF*!cs ztJrKiC|crT=NH&qVOTMtt?xW=u&jdrwyxW%e&d@+YKr76?b6(e0oIX=Y7>!VJ9!>W!D~H-6)mA9bOFN38n*1EkoC8D3yb1(gXo>gS<~ z6(UcP$h|zH+JJM4EtS-YaU^C{nyU@SygW%b-Y^P`(q^NMsO*;Q?4`pss#CYakHqX^ zEB|nt%8UlZ<_fd?f$Rd@6*4(f~|M{zeo4| zufP5y^Zob!zrDY|_^-e1v$!_76oiH=rn*=bv(-QU3W1gg<`Iww;>%vm zOpG#Wwt)($k8BtM%eX1*=)SdYbBuuFhB^?bE@Pm}; zAr6u9f=07T&hXh7eY)m>VJ7I3_SFw`Q&kJY!Kq(glayfjqUsN0Y)iLm%(QZj=n z6;Nr?<8La4i|fN*^A$E-t3|Sz+(lV_zy|la#cCQ~_tnulv#)1Ao{MBA-3n%mKWQgn ztI*Rb%$6^Ey9(4$P;!M{vvUFE@Sw4)eP!@da5e}~G)KGMU_?c?EZ+`3hd(8Y zKlD^L!RpgNgkZr+S}2!SHUyM47&-VmzT5BKZf^z{dg~z<6lb?2C&q_q!l(Ra+&)Jq z-h?VY-u9EU#C`U5n@SBL4vickqEuitc76L(vzgunR3Nrx{pvDD+9yR6rJV=OiENmW&H?OMYfM8{9(hjFxl4C&lu+e;S%)qLI4DRcb7my@2jX(P8m0I_ZjLr)S|1abOIMpg#x}@{H!EH{;VJ=L(|riNuRaB* zfsjqRk`2*j$}UU^$M@Z zzBTRXP49LF3Rxnjo%(MJ{1wBan2xitWuKUCojgh@a*+M+jpoqmK&^5(ZBPqWAja6r zPS}rkcVRyQ{0h67DJ<-Vbi78J5^RTzsB?D>bO)7MXYPsN05p7+OhY&tf!MsC+6k9j zs2-)?^SBm7Cf~~`5s;8Gk^Z`hkzjqYlOO~sm3530%m%t-fc3fBe#sJb7`Vt<08eBN zsJCXxuDQ5Q<^E5X=IgO1fD65)KY!I-=W4h0_s@ZYtPD{)&>(OjG-BAO=91$id2U=tq>uiQ93nXtrr z?%aCiIGeb@>5ZtSj0N;2YXGfT6%ZNk7`S$-yg`V1K3kE>=5)= zMkh0NQaITgt-o=Nm1Gr*2vEQXD+mZOcXxh0LRmsw1y};NGhf@2P8M~otB5s8dV&(p zYi)J`9s(&>%PMzWNIf{RUS%4r9aWtak3rYWh+gT^aL-meluiQCOj=W)M1vX@CDHyJ zbT%NsJL@X|sSzi^$;iN7Ty9JaSH3%!QOu{^gHW(LWYuU5lu2y+jd{^G(U6vS*yj~$ zvjzh;l_T=)U50}V1JFU@UQ5SZBxC9yRD1G)7Qog?(U=Fm9~YEDz%p}>p<(*&gqYu% zJ^Pi+t@f6hu5fFjwTz5*y=dw7IoKiR119NIM~{k>fj2W7#?vl(PM z(YwENfQ?1~xEcwSjUU)Q7eo&;9he?&nRG-8eC{5CBw33+X4#)OHk10fzKt#?Klu~* z1*f--(5K47Ft-&Y_z$C8F+rKbs}^KsnuO8CrL-wTL{zU-p*iG2GmW{|M}HzVdAIXS z!D7C-z&@)kFx@`1;0p?~j_0bF9FdkO9O!3;RAjP;J_}MbW$c_S9RcT5ewYIMRC`2U z7kzNp(w+C}7B;f)t=)|h_Kdp^<}PM&rPO?YVQbmu1F!=7iHg?x zmhD-g2e*S^6iy$?W`4Ih0%SDX`EqcNkH-14Q^OCv4~**PukHpsRM9lDXcRkCbd^{@ z_G9S%-O1RFzOZW$X*7y{hZJ=tZ~&rMV4@5>(Yp+gNC<#nUpCkXF}=3Oj$-%#D7Z52 zO5`~)z8sH9+E^qiA%qHx7U{|-Hlr}+MX$k3f}NNGpKY$(DJ>%3Q?B5oS@F6F(mcJo zXtElF^jkjYuUG2Iyk>#8Mg>)fAGk?0B+-I-Lbye|6>dLbs{iMwJ0=*f(NwDet$ORz z_Kw&72$r%#SRT!JU~bC0L=Nqr5IjYpxj!)0cw}kflVU6Bc+;UQ)Nk$_=Y%t<1wIA^ z@f^N4fcLNUC0E(|yRVE_^@JU9jfQ+4nW%$;<*Oa&w}+NKFi7cUO&VU{+DR4@JK3Oz z%nv{GJjk?AIV(3q_p}(x2faeO5DR*wbf~r`M1xzgM`yqO{ulR&-8FX!XHRs=}mc@Hl(sC zxP*rGQeYz>pB$Qs2;(3A3f|1LvkRHs4)G$7@Yu`=k_MKToey)ft3 zFV}5*&#wRyFgr{mM};!6TGPLB6v?{+T4mI>Zdw*+b(~!j`-G~>RnK04bjR%A;)*hS zp3&Ji%I)p6K7%R<-ZuhNv;}QN!#1{-G_S`dS4dH;rJ-uraa*`e0_WY;Nc@Phj5Hzd z(*(oQ(o<{3p3xhnzqKC zP&}^z{l&}nf75re=hTNcZlCj1(XJ$z7;+B6NRL*ZI8<5la%mMCTpngUvuX%qBS+(w zv4dJxK|ms5dQ0J{>mvCrL`V$d$89f?=RReQr0xu6!yGSsV2~Mt1)3f1w3#c$4X|;@ zhQtwE6mNg5y%;O26!pH<$`4Yz3a^ zB?q{ENMqK$z%v+eN22#tIHv4VktL_K;2O5Bm#t&uJxWZV1g4$|~arGD7`peO<|>srQA*YLm(z zhtTS^*?umjO$rC`vNXnXA%I-+Q|&fX^RmcX>|DGoFu?~WZK zeOA&;BGtDa1FoA$gNH-eQ;qs?qz7K;?Pfor2skwW16u@WjrcHSbU_jCJ&s$iT`UWx z5acj@<;949eg>(npO*5!k*K%C35>+b7h@QeXvNy)#%S)F2G&s2%O450@Zv44Lwb;;@4C&Gdt9UVap|Xh z)iPl$eQQi@z>JGR*Xc~M${p5KE0kYo(h9(sdzX@22a0@0bAlI&Dg5Mizy~OHPTNV2 zM|OSm5c9#NvCHys=Mz%0>9*w=4MCYpq`5odbSmvPkT)weTuAp4-K$Cb>g)PNU@a6x z59t=|Del9z``V8sONj&dsWp(X{F6~g$t=>JmU zsi0SY_ihLLP*hFKIM`=^cK#U`S4#w4h~H<}MqbxFBO-xhNS3ZWPOuut&m=9I{t)jE zl?=AF9}J4T9v>u=xB4utTp_Ey|4J0Gug(noUHiE4NZET!d#t^WsoFS0@xyy-h4qw< zSvj*!lWO)NiCC96dZ-yl78PU5JujDC>-HccSNr;Szw(|bz<9*XXoaKel4bo=cG zX-VCKRc&}MqImTCYe=@+uJo||rqWLsOac6c^5xYCpJ&4@%Q*$Z7a3!f$Am&!xMaOLD z4OUiqN?Wl{=_d|hJ1Rv#Y(&tJCDL3YLY@`?LL}B_lq39MVsL3IKK8b{4XN>-#o)Rd zCWAlpbj==S7D${tQ9bjN<+_%kOQDNAI?H~C*%YPGvDA`=pYu}#T)!=?lY@q zWYT$FD|q*sYiXbbBlZz6bpgE<+q=SylG3ZulH7%jCtpKPiN|Bf8}L!%5;ORI<-hy% zl(F?MxrTIku>Y{b^03*4Mxgt>eNio=616WgyHFghwjZq?-O+(f>)0H%gLp-zOmkpg zXLKDh^6Fz4*wbdqKXDC_?m3YG^PSvwU6^y?i#1d;L<%-2i6u4%v$GQ=iJE+U?;IU% z^`djZj%?(fk^4CPGuWr23M`et_9E@mKyVy8J|BEy5_8+%DgRHzq$Y87L`P zNQs}<)7z_LnuSV;(cj^~3Hs*`7gzLs+mNPY#mdjO+G>@ZLflTZW8Q#Di&5!-ZP+RZ z^?j&LyKn1~4sd${J|jZ{4{(WG`y8F4oIV)mt;2~aVX~AbI{geQnfN_XNnIpXdlmGv zmcTk{3W!!x!$?D0WdCqFjlF?})M;fOa40?%H;fzUw1ky+`#_BW-lm>`cVxEXa09fC z`iH%dSA+8N0r|$*LBmrO3Y09yQlESnsA1A~X-!9(YzKx?nLTOU6V4z1<0hmfg$x=ORuP#*1Bt-KoZ27I{ulf z3r-vDe>$tUSIMyYTPnC^J==SjZM0|M%IB0tO0NvMUua_eA+?E zAaoSg#U`B=KE=7R`asT~F*Kp!_$y4~9I1ZkI)cIZcLd1WUpRb_-BAdIOYQw|rG~H-7lyxyJ^g#hZCmU; zDUKta>P@BFQ(b(L#u5%3B5JKwX4m_SdSDWJlZ5#nm`#0Z@K7cQcd(PlgZbO%DOLp) zOzx+p)`YwRSb=- z9+s^~yZ7Ai7^MUFbdFlD;mVx`KGv<=W%^#rJ((s{ik~^9{~lbJT3JG^-Hd2ly>w`K zPg$doB$!}74*|X%X}CTCzXGaD=O_k2piJm_5zf{A?Gxf?v8y;h9$0{l>$KZ=+niGB zG_NY1z2i(4W3e;!xJGboF=g2N^h|Z0FecjwSMQSwLgJs6GZa}TsGH^BjCdMN>N};| zr*ka!Wj0D7ln2aT;%adk+ZfAh2ViU(!8wI^t(#)T;x`W^=?jK+kJ$3NqWD z>Vi>AEEc1$C-+IXEi3NqHi;*JwAn$)EDlJIb&gaaLEK)e*DQTI^T4ILW-kS0)4n_S6NFzX{%z9b_mXU?`Qr`E$Uv9b*+ZQR6v?3ITg z=Q-)eXyTAVYyye}aqD;_sw#DXJJM@WB(O-!z*0uk^{GtNI$r!$k5|U+CQvRRyN$0@ z4k5R;nN_1z1990BK|k8VNS?XGjr8>hq&|J;EIWBa}b`Ww0 zK?oE~#3(kx`f)XhG~7jYn`>kl&b~PimheH`w65N{aFB}=W66b>hM=lMBv1*pxUv3M zif$2gjV01&qJf^hFms?tkr4ozvjhSypqPY=<7{%x`rGWN>Kcq3T_Epa{{iElfVoPm z*)Jam7&I24fGWcH_&{3D8+0NS9&LgJWL9L;HQKI5K-MV)ERp@4-f|bPJ{f_*)$B5} zFi~8x1659?_;^)aFzTA5;u-ni#ySk|&Rv}CAvg2?02Dy$zd<5*XkYdOCPE!6gz?*E zPhbZDOqCNfIHvl-`HAM}DMgU9eLz`&4qZS2#p-1LC5QQ14vbz|iMZHQ6bI8qZUJ4t z6qmZzt0phuqP^5*-h>iJUJ6|kYiulEKoC5}z)O)o*}CoYhIa|v!DU871&W`wz2!`7 zrMN2SP;=6RJSw!Gg0pz4S{nemh1VK;Wq`Trdax2dLXmX0nQU=m1QiIqYgs)lOnzyl z#g?N9&kETU$b}Ed%^q+2k0+LqK$o_5ST&*O9QnD__-K8#;c;OTYiYteRI7^dM1+41 z>1Mmsje@&P+=6}FqoVWW#}iO`+J6p7QIOWp%_YXtlxa=4JAkdQTFzB%H?*@j0*zp< zvi4y%90XM{howhnD!sY8c4xG@s|AE6aIOrovUsP1J`CQv{h&ubVHAQ5fEal8lIoH+ z4!C^krFV01`_cd$!qA;IOR5RQNIYc1^U&9BRGr(+AK5*&3md3cVjGAf{M=sa35E^c zAShel`GWc=drb&y7$c4k8KS0lsCQd0!t=G`aMSh-?>%rk-!m+%pC7nkI7xv|Q}%Z8 z+_~2QhrYH`>9y1d&f zn-K%vi?AhYuJ~PG2&3zHMq)^&Oj_p^s;ohQ)~sO(HXz1jbGmZuWxt2>$X~N z-VO(YV`b7=WRiDq_DPaJZZO-4nXv!0f2q2j38AJwlB?Zb9ymr30-#wHa5KhDL*(q0 zrkI5l{M7vvIG>qXHT5Pmze_|GacnEJEV^EJO_Lp>)1tZ=B|Ny6OHHSqiC{tRc0Y!o z--OC)mscEMqF*-qNL88ple*$WFNE-MF|0;k~vfB+=6$V$@g32o1-ouJJ%Z&f3!h zf9I>!uPO!S9FH{BGNL+|LEBAoU!^Ri0=@yyo=YvQ)UInWmxU}-GU5T8G0Rl`IB0e8 zfR1j=b}Wo^KDvF>2;S-e*H2x4=h5$cg8Y7dSnow?#lS@aI zgSedowy?iY>+z`TP)MCaX@G7veGB3s2pS>zl7;s;@Zf^8gX9%#;0q(bf+a$L13Cvy z*qWPL+rw=$dkaBO*MbQb@mh=~k`Gmk-8P`(|0!G>S(p|C}`(G>*uoEoaW`F zX%9uV?!kF;<=IQ7o|ad3ll_NY)km^eM)zbo)QGe)HD3|5rI9%*cSeoYzbs|B`K7XL zk6f>#9<_S@n3kE;48I>!04ihifVJPf6}2irnsnC&$bg4>201;rG9LU z2A7w>c_a-1qv~r#H9KzUD~6pB&AXR8uB#)x0vVT$*%y%z%JM%D1SrNpbq$!Y&N~#4 zHnNRV0Sa9zH zmEV|P870PhsTxD_ea0XIdO=hJ5pQ6s@KE)(z62Y|@!I%>L2FW~O;Z5UWdIdK{^b5E zNB0e2T)2Vob5uD4%Gsq>sFAT9rfU$?VK*^7vlkcpEI~l!?o?0pF@ZATiKo7Eo_|&NPZDh=P1kDh;410-tv$j+%Aeq*tK$<}htm z0Uaxu6?v(izCqFofGc_=pmu3crc()rgb}0Z-Bsn0!?2C33POj2j~4XR31xekiqTJ{ zdQ+i@|81{xL*UlcKpwuT*;NQ*OCRqm)}# zJ{Xah-*)efM19rt`U|r~KX4TZM0@VGLa%v$4@W=(P`DKvQPp}5f_AB!oI`=+u%nZJ z06f&-L2?eb$_S&;__I`5F2R9}HQdsYR-g>DeJ^357p)s@BAy3+BDU+n5D{C^?l$a_ zt}|9Nx-A#X4MwR%(0fxM$@EmoCa3HQMl}r#Acce=>;%QIpn4HG9|s;b!3sr=Z-8_CfVIe*jmXjHfKwYNDu4!DEs-wDGzc$Y&pOt;LF~6G z^jbW6Xr@AnWnSjX)zUjKJ$mRDYJ~xEAnPW>0Z4QpxgPUS=#s;R`S^YgHgtQDX*NkP z6NJZRhoTU)!LJf*j%h@aGH=)p$uo#X`-QL_(kr~g<_pN1;pWTOc`1duv6M-`3#@bs zsn;h4;33)?-*1$U9}1&VU1r9sI6*_m>Mbyg1+)mO2wlTW1)8TLiY{8YF5WXGPY1Tq$(Gx7X|vNvma^(yPWa66*&Kw7E*<60e%S zt6DP*X{eiL_iofn47zjiF&j0i?eKEj#4hC@xWZtJbBprhX8;Pgac65fsAmKi=o z&9y8uy%fLZO@q_*<^JBIhoAZ5B%>skonBiKtPr(m)s9F4odB4@yPy4mGY1}hWF$iu z@EdTv%XLPC*l8Xf)6Tav+FE%YHfX5k#l|zQ{E(7+n%fd1}2ga zh+1S(==C-cVaxd+*r3eV9vhQDazL-hQ2YQL_%3z1PNAc;mFUS1hIKk`%rFM;eMN^q z^!|Uh{)b(w+&|t^`*WB6=h2hLUq5N-e;z&g_Fn(Q^ue&p+hkB|YBRu7SN5?6{%By35i~5_|{2fk0c0jtGiW@|HCD-L+Rn;n$ zjml=Qr>^0!x$(*BoiqoApSaqwtnR`=VKEG;Wo-vK+v6842x$TEoCj0f4&E;!>5WmW>k6 zk4e6Her)^k3OoP$)oYGD!yuZ__we~K_LLp8qwFajJDLJBTo1+J`O(RVNUvlqQ>RG- z2?UM%cEB_Ht=JP;ewjCBCLZqnFM6`7DoTz~D0?F_GjX{0pJH5EqAT*>k()qV--JH# z`83=oa_@I~3ENf{L4Rgq@0SFV1h<;Po~{~g$r}x-WJC;Fg@6wl{ofQot6t`1>0nAm z5TiFDEMky#P@IS7Ia%0XWf8U$^cEXT=E~|obT+cmJE|aqFmH~I9xua%Wa>mD+hrzZ z2jcnh+jqkO+$5%!ydbBkEbYbwN4IOW0dzUsQptt>(T;C?4H@&YSJ!Iu+Gn7q2T)OD zM_e+hDH5Ge77GM~0bm4;$QwW}ED=med`*(Xe_qKlPhsGND#zD1fKaNl?4I8KrSt}i zGrqpDixrcaU#ZU?12`Cv7A)g9a%$xoXSC9n8n2x?%K}|hURJAy0Q50roxl1l8%?<> zvSf#3ek1LL*#Q>-+2>PXJkej@K-cnx$g!)GyVriz-312n_i|oiLQ&toD@^~M_)*1P zvB5wawFEEbrGwsGX5#trL?9SvUWN$8cHADg)XJe@JQ&G#othBAnih&`0+3B#)%U6) zArU)>r%)7_bFDV5dcRlA_}U$ae1?FNQqN3YPl9=Qb^Y3-uX^wer)3Em<-5DFLa2R5 zCuH20^Pn%lQA|jqo5uR7<9-#*L%T-wlCCND1wlqyIy zfgzS|m4JejOs`;OtQgN=GVV0MFYLYGDo?K%b<;LNKBeBPj_R~5j*@30gS1_x`6If9 zsj~BkL~q5@=p_6FLZSRYm;s!%J0!z5$Q|^miRKLdo{AfoF<=XR-|JQ5vYIZl6N)E)UO)hk+ooQd& z>%1tyEtEDUDv%jPq1f!<(yFXS%4*g1M^9lu26hT-xqg29cA3q@GJ7|Pm`-P?!2!^j zQiuyfXqe2Ndzf3%R_5@!!C-<}q!`(|^iUsfnxu1wB;9MK)0K-2wHyA_9o8}oLjoy} z;XJpDp?^AKF{5WzKS1W#Hi=dWk>$q;A(U1*ZQdlfxUF@aBx6|E$#8(iq}c%gRE%G_ z``46C_yh_}zI-%+oXwjt{B0?P-cS{D!8*+ERD0FUR#t+2?Y&L9Xbfp||iFSG#H z?hS^l0LUz+6nGA02?3I-u~kTn4S~ee&POC@k|?-mOnuZlp@V!X^fhRxCwL!&zhfGS z*ykh}1A#=K$F|KD!Jf%=G?lAz4>$KTbcfk6qz>3O^a9r{5ocE zjJfTPt^gN4Kl{75web1b-^q&jLamQqobzjY2ZF(SoyGBsbHT4saYx?U_6fW#ak0Ho|T4Q zzqKFFppkc>tuk)v1E+vK1AW7LOaXf}`Ke%6SMS{OY}>4iZy)=XDGX}m%WE)6gq~wy zXgJoD^H7E124*NXtn^AP6^d?QU6C7^AEI8stVA`C?>#%_xjCf3QBzC#UZI02fkpp2`=nO*!?ar2PAq{j6jmYDHRCkIY+&lT(lLfG%fT1-!g@ z!mpzwy->!I2()f*I{jaNv;AvTl2dP93iI1a)=JE4h(|Q-nt@Ju;A8mOnepvkC#O!$ z9$we;%F6SWbDYZBDEbsH6?xTz6*3wHHw!G4T<9m`Nl#WTTNT~$0_lJBY9zkI@qH;q zuSd}>u(G{CRBJ#mq^m!Kt%ItHal&aVyuvtgOEFiLbK1!v)U<`>X{S$}do7%D8zBWk zT3coW+C=*u;(7*K^%PKzqKXi35mu1Eg#ZIUn`W;h424@3aO(aAFyWYMHm@oN6p7I@ z2%!eJ&ing}Jd8$O?8Z!ttRzEcVXBuSH!1eB?(3;QELS`O!+P@S=E)v>^yi12THH%t z!Ji+--@nSMn{S}Z>%PywX?@;lzpvRsr?R-c+1V~1L1VB<0umcX)HD%e`we~)`n<$h zyy=^R12G!4cg6@~gacUtFW|VFT00FZn*7DSic^1k0%HcFYaq1o8vQ~Y?M#??_`^53t#g zOvvb+FL3SSE>Vl{2H-ASyG%de7ED=-3P8{Y0FTkD+3eBl*(h2I_5+8WU~A#)IEi_< zRv)&6mdDO4!wuTFZCRN+0^$U%)GeK9(f(rDaG3olCsZ1$m@_#*96gbjOHhfTl^4NS zKyJ{eZ2usyf|hs^WshL{axESN;>d*S@9cJx&_fxjXJ)(n;PC`J6t}3_q!vR=MQovsTWo2MmK~x5ZAo`t5uPRxKD2-&kS-qXjtye z-1af584l7_Z5PahZgE5yuqc%7F4i&+X^z4-@Zj01Oos!9VDi90s?;pBto{Au0x2zS{sT~jA2l%sK`N909vn{@3Ab3;If5DrKP>D zaK&ir5UaAu3&$!u>CJQTz|HrBdpdsg+Hnxi^;T?d`0HLCaEh&_g_d?BJPBO=Z&%SS zLp2EWkSwE)HTCwF0b1W;zDYF>JLdcaaBVMuwjvyPCKEI(uwiDtX;Ul_W>`@VLYw7Y zs?1t#cnXnXP9+?;6Mquc%n3C2_r>>Tr$;}2cT0t!#F~pj%gn(KCc^=KN6H*qH>WqE z3b&?Nig)V`Z5&czdl7>=+YlLV7QU9^@xfa7{0ebgIF0SOu1dclPq zjkD6H^TRl;?5`XLj8sL3%B%2zW$5j zEQ3|@vJwa4SQX0FXn9RwORSZdij{Xj>o(~6-)_$LByRB5`q^5ojK{ZaO`lV{jwd~H z2C1UCOKf)SncCstm#HxIjd7x;uXmk*Y&F7-W~J*UtwvL^PDr%t3ZSI+PEN{&UX0<( z86?tFnH5XK`Ptt^tx{cQ)Q-qjV8#CICi(xD3~tp)iBE>#z`NLX8CopnFveE*?FEGU zZ;}g^n0tEcy8N>Q<3hXF@g8PoVaIao0NSq1Gy>^IKpn?UNTwFAJ%d_;v(NXGFE>#? zPfp>IU{C8UJqo)7eHwuNYjz-{lefvjk(@MIj`Ok^n*=UvP=Vh#SysOm2Tp=V!5uVh z(9m=52i9SuZ<+DU==_-m9B<|p>)pHdUf|a6*buPtAGagq9R#%l{cj;AOE!leu>k_| zk&bw_&`wA?A4xeaTJDm~I-y(o4kYp+i#l!{0pU8XlYkS_ZI|B0$_0p~h7m)gR)b0G z+dF$q=E_owRM&`63P2W?b&+@?ZwTnO>3A7`p) zmF?F#NCR#<(l^{3Ww$FmA&N{(6 z`uJajGP$$=5B~4HWB>oh-T04B9)J6&<^S{Wn|u7nPxHHv|G)SD`2_L*$UPkRBVDv1 z!u9loQYHsb>kb;gI6vsfQQE;98<7Rk?-fRMtN`o~OE_hQ3xaQZB|*kv##9eG7)vA$ zcb&sQ+L};2XZwQkZ|RmxPs|PxzL8QY zGy?dc$8EU4Eo#J0Q>$*LX>*mg>ch;9#LXy&G9X*TunE9x{B+G(f;gw>2?jQB)Mg1~mYUM+vf>p?PH3xujBz9>Uy@7AVg>kB zjgNGI%v3=#&|!3e;#5Qn^inE|jr}(dh!SDg8y4!yx856q9CLx?z}XEri`#uLz#sLy zTmG+Vr5yXF7K-#-4fE&o4!d@uihlHa}je=q-k0{P$a4<|z2$U4_6gAXIf zEuW+tR-RMJqZKWb##c>V7%$7)nzqFkKsdqn*nzZGnJSxH77lpp)b?wuU6lw8I`8wZ zPlZ{fS3*X{Xg1Zwroyl`I{Bf+j>(e+L1@b7or6~{{U{V(HCHF)Lh}dP+jH(yLEcVG zsNXMGdT3dr(p8-|8!=a~0O-)>S`MZ$;fF5D&kmpu3}OcWg)WVBkRWc2x39zlJGmbK zU_hOI`)(?#F!;MKRJGH~zDQLcA$ogcD0Mk@+pao6)~$9?7un=o$c-qwWF(3j6eFT|Zw%J)ozeorbzp z>(g*75AN-7Fo!sd&!gvW{SZQ5YaYnN8_nmHH{;E#R`nB_*H(V#aU4Q2uM#(` z9q^`>8Cj;BAe!k}HSlqTca*Dbj=>YI8K~w@6~D!~KTR@C@-nTDWKnRM)PM-E8PVSm ztU&VAJLY`;x&J%Y$W$B?hBQ!b}%@0+NM^wWr8R2{kNq%{CN@w-5I=Q~T`B{jH}1>Rx_+V0S98lP z4%x%x&aX5c=m=tJ8T~@$#X@2*6a;1_z7B)6M-I?Eb(2Nl?CIh0e}J0Xo*AGj1}VxY zVe)20Cp>AEr#P{Z9vbdGSS4hCC6mQ1JKX-+e^YbAvS-Xx=&CU>19%D0Yi1(G{`QLL z!!G#m>9#!)`lZ~+TBPlh%e$+@45rOtx-6y(g!Htov0p(dd>~O*9W$bUlvB$`BEI73 z-o9(Sbg^ndE_-rw0RaHzz!??V3mT=1{upue5GT-HR8w7MIRx5Ig|6L)SJE+iSbxrr z7ZFs_KQn>n4?FR+9DfG+B0j}}^C>#n{?aNIa)AM7tF@Ist!wnG8E~Vw<*gm`tzTdE z*lrrzQCE%u8l%LqQFkXj-3fEu?%WNZ`t}2w2RBsuZ>Kdkcj01P&7AvcrRrcJF1dvyMA%=Of@BcEdhHheAi1 ze{xKT2`Z>&+f4SY+fSu)DV&PYXE)OxDL7m{RoBzrec+epcCx;;S39O=zLj8iX<%ET z<^kidxQTWS{8Y=cS}&a_J^71pZrR;-L3VblvA++*ksD$3QiX?SvU9h8Dz8huF1x*c z$HXsFhu22*oQ%8j+pUhl*j0C`B>3r^1IqGu}&KIKL?pWFGQZR_3qI(vjyQ$XTG!Vm@#11zH~?WCI@t=S zVAh7WkC~TtvN+`$+O}o3nTkT|3IdPNnbwvbO`J!xzP9H$XPHV9OM5C3#u6-hNNzK9 zWXobLH$MFUlyroL62MYPl6J9Dy%1K^x0U_6vU~=7E+`Cy{p}O3f%hJ zP5%#$BL6J=|JUC>dfc}EKli=C$N zMEI;LR9)|U_Kcc4;*A>p;~EZ3@SN_9f!HD*bn2Xl9{@6sJV-ML;u>RU;H%fpm-CRZ z-8wi@t;=k_5G-*1ef)S5-w{Xz?Q~++*9lh80J}sJ0N)}f5xfw?3C$CehT13lH+J|y z%#$=tUZ^$A$(RB(-CX%sLVF(lqA+h zLt60vP1lm{)N}$XdnU)n9Qtm~qR9v^Dl|7R;vO@`IOH&i?c9{jNN-I#gIR>J+kYfv z1A?$XuhfQDSoa}^@Z*&Bez+S2(!ijTM=+J+9%`NnBcc&Nc_zlr{O(G5-Nt9)vucWy zY{`hyMKPKE=|GtDV+fv;@gtcK>C6=(x0}@8z*2o#=D!1~Y9G-(Z^1 zIG`)5|8mGWCy4)Lg@~`?3@?5iQkmUGSSBVUB%^NKY*s8Ucdbp;_3RFPSbtM}DzFb~ zuwBu+UC7!8M1~waV&jgR0_VPkb-N4aM4WClHr!@i=VelU)5k_QJ zz<0TT8$({^4PB7A(KB_Kn??X?K$XAM<6ddu!>_qJ-2ZA-Xqo-<{J+2Y`cd2e>*1q^ zU*F&VKE<#9{`bG`?|=9AzklBS?*m=9Vn3?WT2-=E*>iJ=XjG=srOE9A*DO#BHNjCDc{j*T6tlFKQKEeHz? z+>Y#FJ3A1DPg-yzsZx7fvW0^FZ23X=X0_?Fq@9rG9YH0{#Hxf%NiZW+`)Go)8{l84 z^qTzIop1S-WN?i_-N>?uk<&D-qk3*Gp_HFUAEcj|C|WoVWkIoY|lRD!Gc zM>b4VhRwsY(F`Cp*=fjRBb~h#iFkZVjX)*0;ij@ER3+h#IDi1~;lL8&;bGTS<+#-+>*+56V_VO>@`0hZM?g|LUXsgMPcnfBMblgJr+}aku~f z!-rqD^#6~({pw!+`!v6M{r|oE_sQkI`D%fF|6v*+dkEy^<^Eh6_05ys%s}`N~T-8O86$n__;i|bpe*QN|jy^iIPxlUi*7M(CSRnTpb7NON z#)FkqAuS{p;2HJddg14BQlLA(9!;Fny!S!9k#!Da$mV-a{oAOLJysh90cQg{9WXrb zrzvmpT9->zHsS#GMAG-pP8Z05OIeZ1vR{Yd0IC^6;lZjdlAq3gj8oM72HyA3+?o1q zrA%Xw-Ji~WoQcor15gB>LvERw7}=s`1mK205G1&RbRG=eP2rqg)rAucwvBR(z+F2b zx7$*yy66$DxD+p9sK0?;c*x@m4Spa(@@+(+PmhFfP1GgPM9A!nii{_e_e2WV7w}Tm zwzi0&DIZ%q_-X`IG z#f|#A6}L4U)WWslHGQdgK;KM+eK(%dMQI|&dD--2N=lPD!IIt|e=bd)+TA~187nU@ z)l^i{n6<7mN88>WWzR%QbX?e@=hHVnas(Jza^7T5iMJ(qle*C7P~8}NJGNC$!T^CE zE-p?<_xpn^Gjj#u1$}!E9LPLz5#(`zEHgzO_0!ppg16^HjDHEfiOp2#g98dr=ilG9 z>)1vUM&dx%d+_btw%4Dl=1ONXBz^pYMmJ?nAcSWIxaotT*eyRmmOTrxMmaU;+tE)( z)q97Rs%%Cx@z$Ogy&srIn?K zlHU^SOLCZHT<*~XKZy%O7}=Wx?K(i!*?LjUm5%fCS`#dAScS4>Eqp{6YpE$ zM?0n-0({Gi3-_A=p@l7&c&r=BPau*sz5y z6z(5|;_2Iti!?b`zY7ql#Q{{@irw-r9iPR7l@u-DMs+|7i(RD8Zrz7LswO_lT3*Cm zK{_mqs;z`iF4v8%$Ly5$4ra6Cdb&nsKCpY(cz3z&;rJjt8C!>UphU&wr1qeJygF?q zDXliVx9om=>tXQ`=fr;l_169Gj^Ew-KXz=|&r0)QS-@}C|9$o7@mEh;_TR4_fAiJ7 z{_j)#`t^T*zSsZV>;L{p{I9Gu9%2-v%`!;wi@8_x(llhHMQM)1c(@!S5h_8Q=%K%| z(rnEv&ML)UjV^CXHLgu7;W)}z#zT|5M-KA4F+=RtRxcL26t#cVvdnh%UT(P$Iacl5 zhhC_4c!{sn0GO%o^jNQMJn?|~ToVyEhtRF{kVGQoCFN^$(+ zdp*p^ba6!1mLX_^Oq86vk_)h zRgk{er$aWXlC^9!Le0%pvsS8XCtar8+C`z)DoccT3fWL+vk?N^U^E*mjHQ99@}?&x zHfH1n1lbAHKYBHry~cVtzo;~Ts>Uf;p)wu_v5vTV!4OnkKP@wZf^`8v*>_JRRD#(f z>_7Khec0$|60B4f=i|5Xz591>#(q@sgUi8VsV+0_Jt9JrA*6vja{;}E zORVJQ?$WybZdh5W1T`iW-ffrN8;QyoZ(j^S`U6}-GBwLI-ZX2*%RMp?> z8K}&r!@;rc31uQ+qEL3z}sbB+VgBCg2T;+(F8q-T)mcgnJ-sMv4HJWrXY867E#N1Z1-GBNNNN3 z+VP684_Kz zlEr(IICb@DnN=F>G-0Odok`pt;X%6DJ2Nlek~EofY;~h}-oD+ICmB>yl*BpQEdz{l z0`p~F1&P|~vJYvD(>f1+n~6RcDNgx}F*&T>W6j>B7I{MXU<14>kq0T8_xFLI-1%DS za_{7Hl6*um=M2Ujq&Kz$U%+l^|KDEh^TiUK_&&O$)cRK#{WT6Hc=>E1-1?e--QA9lgxo`&i zGCA&fHFX9i+G36|2MO-8r1oc5)|N#Aovts)D$^}z;JDq|4rUcpEWg7JXUX~!tZ9!X z_Oc+dkf!<64o?sC6^K;-l*hv08(@lgaK)S>E1dd+#mai4E&LMe?~6l(uiP;a3U^V~ zh97;JxL%1S$Ob+UE{2dzwqEDO;Jo|&xti0{?bX|&kxl~zh`?dX~9Z;PC{N-<=^(0D|@M{4xOXB+gb|0x(aM zFq@}i682tK!MX0A^Kt!l7+`Th@K>JHrTFWf>*?EfvtfYB^KN?*?=zRQq_`tGr@{A35$OLQaHU_@5EE z?yyg`l^P))z$C)?2@S6=!wUi5g_+<0fCkgiP})irkk_TI^{UBB1+M>#yvz-N$U{=7 z=1SG;+^8vLAFE~Rz3bTfDiN>F?DMB@Fuo~!@>HpM^FMt;GbpQd|&HTHS86S5Tdxlck}W_U++kdfumgy(_p@rfynU3 zaO3O)xpB~eZQTm^aprT4qR3^Z68~tD^F~)8+;F>|h*P7N4%C5Qj<+%ItUudpSb!3{ zy1$v*FT|gG-^e||-kmY7%ATbS#duk|t|7@S;rPz2w4$pDnFTA?YMHX`lPg0fN_*Tk zUl`_W2o^_Oi=f{)&8q=O-E8ONv$jdhY1fy1HpASr4t|!h9)oMAUNoxYY|+Y}8UhXt z+jC4i$MQsx8_QDL`DzaiIAN_7?D@F)@=JWe32(E6&!_M3|KqUqqz%~{z7z-IVY@QU zo%;^%69g;~Zr8C%C&4>D*QwJ(oQ88qS=`*IBQ=RQDO0_SlR-OGC|1Ud{kN4`q0-*c zo1HLFlEv4yNOd~tCGR%vwus&BtUj@%f2##4wtK``hOl*Msrw|}U#5_>->F~xT`ut# ziVQQXgVCXwkEUYOq}6CDvb$5R6Iw$j-}?F4-#;Sby73v;ZSSE)%G|$wByh>1p>RU` zEf>(+dJn-~odo5XKOJ{V*WS$?PXi!`>;Cld5lrOACXkOnO2Kohn?s&#oykd~k7X!u%}3 z9l*^>(6!HQoTcou8{Z#ve{I#-nH(3uiv78$^X1kK-9;Lhmj6R}rre#+>_9^8`3k7$ z@FQ4cz*wYXD_gkAR_xjL=P4~N*JUVKV(+KJ4`v?kCLh8JFo$RtdW-c`5JN)!38XbR zS}}BgRl&V_A&Y`>PVIfaeGnwWTL;D!BLOB!f~1ipy*HH5q~WTd?GTHV!0S4*0!n*X zZ}Rf;{0IanydLoC`_uu~g5YMs8=F$ffu){I^7j6}0#UL8%~a#E#IB_Su?vZ7P>FUV+Aqm~&iZji}0a_(3i>06B?4*U!c*F%0^Y^)y z5gsprTa({f?ahhxO#WhD1^dknJ>*Hc22vc`3%6c1j=Cl;E2qaP?~czIPHjipc5Lj_ zc~#_%^PzBEg8~t{Bg~B-JE`*A)>`DM$b8m#HqSf1CUh>EOoakxs#mkwqt`RbHm-6* z1NOl7-HDCdoao&46LuvH4J=QT@YIdZ0@9=>Za2^9oTuq&jqh*vqMqu~gS>1a#Vl1(xnl9> z*aJJufP#B_54c!dMJz#y2lk8POs=03&=FN(B6E0H151*e*Ox+YrSHvD%pG^Lf&%d{ z*&_|Ovz?^!)Jx?LByWGf>6u5SZ~QL4_o7tcx_70GD!<$K8Mj@`%VzgJ(ckPkoSc+R zIezr;;pEFl;;#qdf%J_9V&t!;C)hb(h+j<~`}X(R6fRRtb}q*ptj|v+fmCs%^RH$y z6`$9s`H-tqqw#QRd+ge#xX-&>$I~LWG=`Dh)Lm^7em4HVzS#|n6b!o_B%fWi114=N z2Lg(+Q%ofFrxx|5NxZqI0$r^q;vfI8WcQ~Ya!M2bhcDM(uiJ|vm^A(?5Qm6| z_eDTf#SxAlw7vrz+*--&NF9*gN1T0<-+RP=RnnN|s@AK^tMK1-5pg$5mMCJffxnVj2NxjKiZymp;P9Q`(@Xd2-$Ze^xtJA0^KVD zpI7j5wP$kzF6x0svW{`9`v=rliI%)Z~zkBy?(my@@jw83ajoeX>^YrM#h2%~$vF|DWV{FaO=kf1g19bDqlR^9C^M=ziUH zz0OOZJ+Sf|76ldrxWL>9mgHn@38qqYZskZ>cp1-O1?+$~PkJO&BZbk{`}+d5&SEJm zgm5JBuhE^5l4LkoiUSPd3Bc)C{Gk|eP$W~>N*==-_^MZS_6Bj`w!n$t_mEg=F6#-S zCd7aWc}a)=+jj|h!s59vYWfGmpT}e2=z8~jDXT=x6Y2}O&e;mtxdf<(qj9imPDBMO z<|YXt_Fufbcsiq9&u+iq*`mv0Bj$=TS!F8_740B$Sr95K_~wamo~T6RC0Gl2oUXPB zW;i7?cXL%Mne7?5P>DEMh~=ti@~TiQbJfO@(h$5r+nra!Skgo_AwXc3(HIM98k~_v zUMry%3rHmZl9v;+=E8}=Z-;~BE1t^nk}zc-9(kYFrZt@8{)SULTE zv4H}Ru9*GH+f&tEk+)q&;jdFjQ}I+^?mX3w3gQm*T;QS}P{VX3x`5!V04~`FJfWqE zQ3L0j_8CAiHep4pylnm)fR*g;i|-I1bW0n#q39jL5%odY{9Rc6fyi|up;~lWysK7p znT?%Bli>hACLYbcXU@0A9w>x?31Ee2EC{d`6PJaAj)*V|31lX*q=pXSoYC1H@#;;3 z;3x#EyI3`=TE){C$FU!hD-HsDK$m!ox}+FM878M^0#T-s^MZqCB0xghcUW}N+Sq?{ z9Hw`px@avex?wpF(QcZ}=x6Ok`mdtFb{APk_LwX;@B-6&W)gfyY`o6-)B zOB4MhXoBR*{g9ulMnc33bv#TYB8|~$4!N~~{~m&45Y8^GqTO%^gG0#40ZD;DOQpGi zJu&bt`P3^Rm;mYtL|&%FDpN3PxqTvws8cNS1xG%j5FjkHKYfUP!nz|G>We@Q_RacA zfhg(@Gg^^_f^2%R4bP4%84h}@3<7%2F$EwQt8f>s>e_CjKx2flJ(SpmBpR<3qG4fG zen1`{=hbW8GCqXJX%mB>K~hUH{RVSDI7YIzLQ*`^ztFXX(*48NksOLXFG<_t9hbp} zg5QVGM4S0f;8w!C$tZEC*Dwyyn8hn3W1e!&jTFSgc z+4^H5wb#vBSG8pxkdZ&sOky6-A;ueV$c&wMl4a(bzC{fyhtU+dLF(0uj?!Eqvjq_* zj4NufRk*4vKq9iT&DMI5U)Xcd@`h|?=^&aCdy7%ha@iKjMQcmCQFnISdyPHZcI+3A z;#$m>{Ae94v9zan;BxQ*<7)*##rqt^J5DITI`2S&AU(Lh|Y_p6@TEy%+3fI^9R;gk+gf&H({8ZD3w-_YEQ=8I;Y+j37{2 znH!pIv^dUXVa1UES;?*kd$K0tu*_gv)m4fgLhyV0&gl{hIJwGQZi1d*LW~&up;GD8 zea`IH-4EKADBBG{)v~gUbHeQztxQv0X9Pya>XL-q^0Ly-v(ZcSi$guyUud1oWj*py z#LyW8Fl@B=92fSj%XyKNW;7KJKw~CGagC#?V3Wd3jJW!Dy)y%V*^p%!nZA`e>C#7o z1!dNz=Q4n^#}2^kkF0?`D-tc?!W&EvPsEln!+>oC?J@f>q0U94f3Ph&=&Ua$0d{MQ z*S1oNRM&`|p1HU{ATv&g8z^-cgj`Yc6PPldk8`J}iCv<5Cyz%E6c6UkHWE!=OmU-C zd0pyt`3u%O+u!%J#eMt3CwiAQ-_c2T;krxW6U|KkPH@;lL>ms=l<<>4c#UwtTHsf~ z-4w8^r4=CiAsb96w6;N6x~N-l4!YJ@utUv?!zLj14#EIn*Qbzm5vwwrGQFyG3AcEp zfQ8Hp!wCo7HJAK1G4>uLAHXD!EWm-`w`1>(&Ae^vE=r+YR2)_sV3-S@j}b6V5`LK* z7n3ZT4?aT%Eqy^J82>#kD*hu{*iJ3p&hFdj0(`K@rOQy?tunXDPDC@@FDLi#x3X*t z^DUz5hXRUm2$-0?xWWJfK>WW#W>arkoQRo%C3OV3yp(yFU{;`CSEdnCTmgWZBjHq* zlrNnm)CGpMqp0mNH!w|~*h7LO9O{u%kpfbL9Vp$fKnx9R)g1#h)YyS22ndaHdEi?8 zR5G)Ert1ro+Tm_~qqb;4dsUxKL>V&vCF`x-<-{reNPR^&QM z+|fvr-c}lQTa9q;@b@6Z;Bu#2$Jq~q*pIFR;n4MkxtkQ;d!#y$%`;tMY|kn$o39=V zD{Z7HW=Y3&kwvlj3tn%uc!aT;7}S{z2kELlZyctQ^O~ch-c&{2JdOlYv~`hfonrqX z7VE{>OodU^R6L$=oT*V2U+@-sRc3(m!?lfFAeAhPns`+U=H`K>sZJlf$Pqs-@`nS1 zO$At}Te~!5SRGRp6Y*E^xG${H2MV*JV^zF*_<9QefAo55#m1B%=BHdEl|`?Z{2m&oG=Chg<-?okTo2_ zmjgUti0`JA<1n|;Y=3{$nFjy!?7M`2%19;aGzd^mZ)MegiP%(JiHbf2}IDShd;1#Pfu~8Vw zZ7&t}f&jN>I1DW_07^vv*?`{ciOu8VOE_Gbb;TmMvCA3X!W>6ydzi$Vxo`HyX&Q3J zi5NfVaMZ{LdJb5}X_5hqZXNd(^9;_nrGX7&HB)E92;Gu{wWCCRX_}yd1}TL|o>KRv zDf(o0y8O27e@&b{#E|YozChey%j0KlWMN=*@ZPp;x1x*JhK_XLe(O0pmycURuw$yH zy&mXq`z&}fKiz$J81Ht@(aTv})3)EaoyP96J1qFSU8~~>NJ5wF$=%JQ0p@8~jZ0pM zCunls=vw^*2kiKBThgAoc1`YXA~%RB=Au9uYXWQjQOm4dF+jdOy1VMov}9TbI0y3E zI$amuMp^LMph=w;W)R9@*#*I>Hd!hnCT>(J+R<2uuMd$sKdsvS#%G5B;%I zT&i{4OE=Td{)f!=_CN?iOzLcQKkrFrr@xCACh>N6%qwYbUDxo_iC@rLtbw~MD{1xM z4ggiW&-%9E3`2dHAT^?TfU9iS)5Ldn&TNmvI4x16^e2M^mAT?B(B3df3+WWc;8V++3=){kT+X{Mg+2 zMZTb>?2^G}|M-U(-zWF_-+TS$o?|!Z=W3qoNWphOdJ@;32@qsx!Q=MVIw!N=ahS=M;mEw-?P-Gvn zw(O$LZfaQ?JAtRVphQ|Gp!+4n2M`tl=MJ?+D~&;y#S-@rsxd=a72 zLW(7VHnG|$beywHf$4^4iM=a*b8Q3rv9DekQK9N|oeT%Zdb}37#zg7$R8#_yh$gJ} zV5jv^H_cUn3wLp;>%6%_FSwu!EA(x&A4i@J&{a#$L0PZRuk7s|(ioh2ujUtO{r!KQ zoCY6w2bJLATpDB(w(zcV2RqBB$&1?=Pr~}&!e!zYE2DNw{+u^gKdKv5jG;bqBRcXE z0;(789<+2sPzo9VNSvr1wu7nyNfFH`-NKLro_2H zR-PQ^CY5#OJ2B`5avuyTS?1~3L7oH5Id^vrz~_)TFG@Q}w?y$E9?nGE!6j^)zr(#R zvBOTjSIu~mjG-F(X2Ll!sL1K68UH>R4t}Rh2y497{o>}}cl>Z%5wKua^Vw2*{+GmlmJUYt8qAI-a?CVRLyCgA{|O4&#>3!*3Rs&tJvS89noy|$}$ zrX&Pb61ZIC3ilp7J?h$>Tsr8ER?K+Mp7>-TS`ns))B4)HNDc_u_ROL5{;6Bgu-xZ)@!n<=-X5kA$C>;*0 zyly&Kqyi~EIaT%9>CusYG6d*C+xBYS^bEyb5zs58QqU zwr~)ZF3V0-IxTjm$NqTmLyTs~pKZGHwWEbp>_!cJRUkn`HIP*

roV-5==0_Y*UP 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

+ + + diff --git a/asset-authorize/public/logo192.png b/asset-authorize/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/asset-authorize/public/manifest.json b/asset-authorize/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/asset-authorize/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/asset-authorize/public/robots.txt b/asset-authorize/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/asset-authorize/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/asset-authorize/src/App.css b/asset-authorize/src/App.css new file mode 100644 index 0000000..74b5e05 --- /dev/null +++ b/asset-authorize/src/App.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/asset-authorize/src/App.js b/asset-authorize/src/App.js new file mode 100644 index 0000000..d85211f --- /dev/null +++ b/asset-authorize/src/App.js @@ -0,0 +1,22 @@ +import './App.css'; +import { BrowserRouter, Route, Routes } from 'react-router-dom' +import Register from './components/Register' +import React, { useEffect } from 'react'; +import './style/Register.css' +import './style/Home.css' +import Home from './components/Home'; + +function App() { + return ( + +
+ + } /> + } /> + +
+
+ ); +} + +export default App; diff --git a/asset-authorize/src/App.test.js b/asset-authorize/src/App.test.js new file mode 100644 index 0000000..1f03afe --- /dev/null +++ b/asset-authorize/src/App.test.js @@ -0,0 +1,8 @@ +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/asset-authorize/src/api/APIClient.js b/asset-authorize/src/api/APIClient.js new file mode 100644 index 0000000..949622a --- /dev/null +++ b/asset-authorize/src/api/APIClient.js @@ -0,0 +1,75 @@ +// import axiosClient from "./axiosClient"; +import axios from 'axios'; +import axiosClient from './axiosClient'; + +const getTokenRegister = (data) => { + const url = 'http://113.174.169.248:4000/users'; + return axios.post(url, data, { + headers: { + 'content-type': 'application/json', + } + }); +} + +const queryAnAsset = (param) => { + console.log(localStorage.getItem('token')) + const url ='channels/mychannel/chaincodes/asset' + return axiosClient.get( + url, + {params: {...param}}, + ) +} + +const queryAllAsset = () => { + const url ='channels/mychannel/chaincodes/asset' + return axiosClient.get(url, + {params: { + peer: 'peer0.gov.assetauth.vn', + fcn: 'queryAllAsset', + args: `["ASSET2", "Than", "xe hoi", "hha", "111", "DQT"]` + }} + ) +} + +const createAnAsset = (body) => { + const url = 'channels/mychannel/chaincodes/asset'; + return axiosClient.post(url, { + fcn: "createAsset", + peers: ["peer0.gov.assetauth.vn", "peer0.firm.assetauth.vn"], + chaincodeName:"asset", + channelName: "mychannel", + ...body + }) +} + +const deleteAnAsset = (body) => { + const url = 'channels/mychannel/chaincodes/asset'; + return axiosClient.post(url, { + fcn: "deleteAsset", + peers: ["peer0.gov.assetauth.vn", "peer0.firm.assetauth.vn"], + chaincodeName:"asset", + channelName: "mychannel", + ...body + }) +} + +const changeAsset = (body) => { + const url = '/channels/mychannel/chaincodes/asset' + return axiosClient.post(url, { + fcn: "changeAssetOwner", + peers: ["peer0.gov.assetauth.vn", "peer0.firm.assetauth.vn"], + chaincodeName:"asset", + channelName: "mychannel", + ...body + }) +} + +const APIClient = { + getTokenRegister, + queryAnAsset, + queryAllAsset, + createAnAsset, + deleteAnAsset, + changeAsset +} +export default APIClient; \ No newline at end of file diff --git a/asset-authorize/src/api/axiosClient.js b/asset-authorize/src/api/axiosClient.js new file mode 100644 index 0000000..9776785 --- /dev/null +++ b/asset-authorize/src/api/axiosClient.js @@ -0,0 +1,13 @@ +import axios from 'axios'; +import queryString from 'query-string'; + +const axiosClient = axios.create({ + baseURL: "http://113.174.169.248:4000/", + headers: { + 'content-type': 'application/json', + 'Authorization': 'Bearer ' + localStorage.getItem('token') + }, + paramsSerializer: params => queryString.stringify(params,{ arrayFormat: 'brackets', encode: false }), +}); + +export default axiosClient; \ No newline at end of file diff --git a/asset-authorize/src/asset/bg-register.png b/asset-authorize/src/asset/bg-register.png new file mode 100644 index 0000000000000000000000000000000000000000..fe74963bfbb2231ccc1b14cdccede4fff0f2f71e GIT binary patch literal 11328330 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

O* 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�ikv$%xsr%%2&OyD+&CHjsf{a+>>@eOQH` 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˨Y11&tklobjU2xZl+Afj&;7gy!Z>U= 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 z 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

P>j(c{DG5+MrcOBW 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∈FSaZ=P58x%P90<28NFmM& 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�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�q{4o&S=|I5D&#O;P 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 z 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 cyOhX7uv@;m&9j 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

NK^Ue8}H-t`i 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
b?J{gO<bARo40zZ$Y_=a<_yzY0`(TqwgaCYIC} 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≷R>5Ux1*dy|DJ*~9Zu9pvUlhv4H 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

    ou*hZ7cd636oFjJp7)WRKCbd-m36T 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

    WCcrs~vtSA~>=8 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

    hNASH=_TS7nVE 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

    woWZ0Z^?s1?+_AbZZBu{)r!a3E1F< z3=q<*ZZc(#lGrb5KWT%ljZnDd@JDqZ^lN`ZfYa)-y$ZmFzSgK#sCNBxBjLlpfT?1E zLJsv=o=+ITNTdA;<5r%kJjRIEAE#Dlf$Im-kf3{Dbd6aKs@-bxy55EG5db^VoR`=s zaVMYO6aq(!qiHKOZ&t(G@XSvNxG1Wf*=9qLXFC5&H?Z6IfIvSgD?u*}(5AV|{c7*? z-Yr%R5|lxn?sWO;<6@uXpw1I|0hk5G&+bx83qO?0mMh~R4(i6BP`!NmmZ(lTh8|F+PG&2DYZDy8%Qc|s(w==((D9=t@S=%(wMjg zrYUp&f+PmLsmPqu4>bwMK=D^r-%sMHM7gAxi}p0o*T@C30rdG6-oaF^}8k<0-ruYmB@c8!vhnz zLFxBfOXgVp{R7vEL-IYa9NFRbre6kBh}sx}IKAag>FL>CwSZpTQRaK)36lNXE~8V0 zNw=m=iSY?Nvd=fgw>4FurG3j6s_=PJDDHu+UbRK5$kdLBe-z$HL_LuE<5tbTNZm!e z`GL+v6b;?wpD<;4E9Y=v7Y-t1=QJ%Va{OsPhd13bJ?blk+R0 zby}j=NBoh+7Gz;PtNN8(h7YD~%s-_pTuDRp5soG7`Ia{2sO^0u6PyM&L(cUZl@m4( z?AR(9)21>uwg*OU#PQOykpHa`4_m9Hb1A>s7ZT z*g?b2o$N=vldUc&d_fo{w>mM6isk_7KRCf2WZ<);ZcYgyB_TaC1OqCmJx_7NPIbi) zoT@Px=)%z1T0NTP>^+iyOD+{%|980WvTa6!Cm8UFQ*v0U{yupJ%EUAS2-Xp1; z=K&RC24+5m62n4Ebt861?lW;Zs~m@3xHd#iZ#n{T2@%s~x!ByaH~fK8o_$D*#2g)- zw0v>&xjI~;uz)%)F*9GjC%(7_BWD!zAGg)emV09?Iiw9OA=EP3;`eMcL1Yg%U5JJG%d z00bgc8*YbuPjJe+|8Qnl!c7mTH|QH8tMBGyLP5vhD{rg^3-TdWsEH1a{6F^cvQLB5 zxlNPI`V1r7Yn%u2|0r?7WU{AM&~Pt07q2@qc{JBY?b5BQRD6o)!J3<-buHB~@EZ3{ z5d2Ld*YVzmk3tkG7T<|I6^BA#De@`TOl|)@i0Su^-FTPlQ}F%uqWd6B&eGQx5a^wY4~!om`zX+FBiKEQ?j0I@xxH|j&{sli8bXYSs)9Vaymn6<?N-B%!a;5p%pY+q}oK&@P*vN-|)=o%B(n5|{7MR)?Y2%)O zP_Yg)cZ#&pv4ryo_NzM5r2HiH^>ki3HWx@sJckGMqy1NDjRAXOV`GlHJ|&<0NUP;` zoJAhogl27te*dH#AwGL4_VPBOp=fX=C`dWH4jeC7spj|sw-BO*lP}-24_^*xwjg_1aKFQkj+RgF zngWG31b9t8hF#gL3k=lfedZ_aW`(9ZUa?^(7$(7a#lAVN#yd$$tVbc4%2p?J#kLn> zIs;PG)lo^zsIR8h^YK!gL#%asV7-E4U$uf<EQ>-} z_>@!I);dXFVMEsMMYPmqs*Skk&p~8meJzE?FmX;~fBFgcs=8Hiu9QB?(@MaGzN>27 zCv$H)dC%^bDs7k{2Z4s&JeKv1(6+yET8JB={2{Awncy;*NBPiilb+PM@os7oz%5_7 zc^t|nq7~21WrYazBP{!2K?3Ovufgna0lNXjA9$(}^OSu%uTz|s5)PUt|9z6}ZvImj zI~BN^0T#Blu)$iTj9yH38EvV|k%)nWg$A7=Fs)?n@Oh@UW4%-5P1EP?Osr&W-rYd^ z`1XAud^fl@faISO>$s`6_2`rpKV53BNd1fBqyL z)YE5X*?fdZo_P0EJ^uG$mr`;pG4}!`vs3n5jvs#>z@fhme%5Y3Ztd5uQZ|~ZRW$3voD(?_*6j2VqrI>f2%6taDMiccs8(0 znMo^-MzuzmWWWSXUw;s{8q`e6-~dJN6U<00-K155xUDN;Yk#L{XawC z1!L@`HHs@2G>6EqD)&6kZa}k?|75%2nFl=7e@)uN7{ z2-X^4FE3}d?Jq>M9sSL7WiS`W3`>?*z}sZ0g5mwY;jFSEV?)cH^Cn;1^c?g?s8rI; zz_z2hxDqW(sfGkWz8OvTxu8Oy0-|*zTB*YMaBY1*a>$^VJ6^Al!KD1t{%v02nPx+4 z;HKTK=O3Q{jo7F-akMEH)9w)GdiWsjem%}=2gohjq-kn18rE`v=0Mb-?gLsRMJQfu zvRh5bi?h$Cq%yEA_Ck%t%*ca#9bhktCg6yVg!d&RcyPqrP2leaUE_Q{pA zv+TRi5I5TncGH|KKWx0J-F`qn+_7|pJ({Hus#fs%4wH|;mXwVLN;I`CLHvIw+h;5- z^FGSut0&!Cr7@-3{E6#3yB|=-;PG$_{Ug`P?$!`}DmJR+ASChwkkgFS)&>|$<4a7X z%+293yD*U2l9RN*LLTzkBVfrk+CtZg`GcMod!dXh_L~Ag3EPg=*LF|F?TW}Nw37%M zs_f}v&AFRX>`mG=4I9?|2PJp4&i)%T%Kfp*Nc?`I0*;c$*a#ap0QxwNr-k(5?mO1V z2K`x>)e8l)iWtUxu?Jhr2V?B_7i?u&AI$*hjy${fH_+hv9qWW0@-fNpq0(KYNew=Q zb6$-z3!03)W4Z6xcGN^J&ZOy>xRxdY^TVBj6<2y=Z$xy|4uL>(VY9>A{G$ekTuW>+ zie~MIDJx2G+cAeBe7M_Yygz5j$GxL8se8n++U3B*13G4xrt}y7V4Aq+LQMGQzH~76 zO|cdDxqBbm0``H*tBGghNKj{d-X@HVPexFNcM9kKf47BGjCiWIv@ey#Cp!)|j}c@aqqE ze*W9bHHx3#6ykpYW@z1WESd4L$F#=j# z=|Eu4XSnGJ#>Ta{k11J}iWo|q>jY&~2}oTB|6N#spG6KmZk!?cNr#q1uj(r@1aydd z56^bzFS@MOv7?oC<-I0fzz6>?{Hi0LVbe!;qJ+NGnUeUz@VM{T5;pkSdzGKkahs2gle^KLnqjCE0ni-kqQ z80jtA)%3z=-ig4IhEBQ93b($$4F_dPEPBq?iWmeo=8>KR-+6tkUE&${g0oP*Bp@d& zKAF*7EM$`|k;rM~1}$X$!Dz0Wi~!5He}ywd%ddWFB_)elGD5FR5=o=Y^jl%vSAxVe zwwfzMokoamR3I&SfwLR#TA~CTm{A3zZv$+xmSk(cxVSbVwY*#6p`bb9p>7?f zAy`v)vDuI4-u%3}HmY#qn)yzcqhp;{UAIJT6tc9A>=UPXxWUloO%?9a95VYfC8hCI zg0m_*@W<$+v3iesSiVEyr7SMDJ1~}=Nq+h9t>Lrpe0V|UWV(leSNh}zz^RB|!k@Cj z%F&vg#KH4|j?PXLPl9_Ns8c}~1RDL4EyTv0=T$Am!6BJb%*GVx^hKEfLsaP#YKL046NVmHCE&> zD5)qZ;*&xiImpe+YHEgG|L(6#g#6e#h=?=GI~&*fn*81LLZ)P4qQfeQC}j@uXaC7lIsKBtTyj778JFdE`Q`trrtcUwEPtqr)6{ zXqEG+f3e4C`DHSPpAWY@Ohzaa3@_hp_4hra|KYoTy7FBU7$EHSoF9I2BZyx{hLq_z z9@11&Qd%Q;X^0{!2f0B{TODW@?_v$PdZcA;!ulswhmOl?#qLn0#AOPj>Mjpa!nA_H z%*M{)fD0!IRkCFvBKd)ALpr}qCA@g>yqr#wPIsp~w}5*|a`lNP@b5Y4e4xqx(SFhk zK^qjPn=z#1^wW9M)A!l@)kld*AI(CS2O#~DNw@QDVh$I`j#tj#l@aHf$RK8>>js^> z6Dr;1WFtAJgQeqmMKJ6WJBCDT)1uHvTj3*m$ktW3AKA$cQz3^w}x_5J+ng|bPlLm!ez_6y>ndzy#0j^@a0Z%UWe zO|uP*P+vdtt^rbSC1XOz+d%G;?UkU&OV@-?rV1h(1@$%UPiMgSAIHeIYMnW&FyXkj zriP%rZ`atmk%y4ps_2U-la#KUhv?j`s|GQ8(4=AO1VebtW>NOOGvi00G8syr}U(|Rd zk_kdx7BBA=3mwE7z93KDui|X)(1ZP&aZk*AY!<)fT>RN=BD$txW9n>@m`r@8mLS&m zs|Z5!?f3cOe7-Le88u(}dsWwlFLH373t{&*=UNM%KP6n~Ag!MwV=aK_4*DZk2#0Q{ zWpG`I1iX(>H|D_PJo?zoL%Th40V*U&=rll)O23gJb+Ug1>kwWghzjaO^z4Lal$`Sv zxJ0IeajQtlmlzc>98fp^nb;y#Wr+P&9f0@f4}}^{ww9+QP0J*Kv%NMrRt%*)fDy}; z%bBoXh>RxpeUO{JQy`){N4P#+%izkXR75h+RukfQ*&>9Hd4e#(2i67RiCwNMz@nUx zwFw{CkqJAWkzR!zlt|?E7OIpN*4GhwCHvO85{?s1aik=48})bg7qL+BAg$!5$5XSi z3Ja@gV&w^^Z9t(`|IV>CZ#rRG+QvvIzTWQh$B$dzfyuyJa#NF%eevc48CLZex@S?o zy^}N^QTFb2mIOvXTElFT!`duC|7m=+U9?-q4LQ^~jeu!Lm+H`9gO(afTLajZZ@&6! z%&{_xGe~&|!B?+bAr_YI=oq+%%VRQ1Tg~$7o8LGr``7I$1ENn|2)98AL$fDfg&@{k z0m4xx-XdhH^`&cpGj;uwS=-)$<={xTSb|7MM%ufTaHZ=5aur^Me7a~^apdQ$PCGxv zN7panW`lUQD#6N*yq!@cHYSOvF7B!v$&tSF4qyq{)#4H?1~ZZDkhTz}(OYy|z8ezi zJtKB!!)40@@5N{Qz}}T?my(>X{AVReR}TVx(AIYHvK2%~f`^A;IhI$dt=&kY?J=|4 zzQ|467gDt>Sm|k1i(LRjMc|wTB}o{-jlKeQZU-hLk_&-kkMIEevkuHK%^eg17Mveg zEI(&FW_edI#C2?p&DN37dj-+i-XZ_X=N?#*yRJGAP&qj;e3O!s*hix=OON)?%UmQK ztnd2M{RY1b7~->yJ4^%nXH*p#IovPrzlf0auz2N*UL~grGau*wVGg#O>+qY+Mq23`;+f+i{^CRJ^S0Jo*VQn zX=`e-0Vy~gP-|`|J)cGSbnE(@*ze6~yC88OVOr*Ofw+hH$k=Jfb#xLJBs4l67p_MM zE(y-nF2XI5hPDKE^1_`JVNU+UCPE`{!%Qr?*b1d)b0a>)>wkq?!g1+y)Rab{&@)tL z?6cbpq_Kc}dIQnK2xY&8p_{_5=l{>JC^YR0@BFuF3mKM*5aoBPpSD}r+ltMy%5z3z zWUsH6kYW#r2B_@qWg4?Q*U+Dhp%MSn;k<3?Pk3(KNDX8D&Mn$>B z?xk6rN`k!k_fkp#A#*s=AJgsNVL?#6WyOZywI;Y@JLQS4uBlZ`D;4if!=849INpTz z2aoL@e#H5BXLQA9VdKUAc}LiqWt5hblnfa7Y`U0CGLc0n_xtEUcMZnD`%SzX@y~53 zrc&JD?=fN^88^#n+Y#0}Tclphz!SAGE&lp}doE%5dVkadoO#WL$W-Fq)*ws)N3J4$ zqOY{IwzZM&@`+KlSYFMeJ6Dp6LMF(E zAMw>0a{}MkXKeV9hkp-%wCCF47I}>5+7?xB_d+&FUi)a-(lU;v`F)#F7dOF9Qj5!@yXpYe8pb0W*j?2N+6YC-OqkQj5$LxGa#{0YY$9RO^k?|Txg1A0 zxu`kfZnvBlolNWDDk*gtWN}XQ$Wv6C_I@8ESR8Gw9$hn5@S^u#y!!^oe-NHf<8M^v zl;l2+f48=yS?po~Tsi!<%sH9Y@y26X)Y@{>^%#?4AjGNWn8KgwN=L5_hFx%q6tA}5 z8!FWr!a2xPi2jlQ_Ni)bDULQeOJ^P|AA~en{pvZq7p@NZTU42<*EBf{(GTiDH{ptk zf@oi9OkyiFRrt#BKG)b?V2JL^LnQ9){@|UT{Zy2?u$M}mW9hIy|`FG;hNl;CKR3i6--y=+Hc1;&ZE zyIma5`t!V0{rm#`B>i&`{b4TWRHSLpTpS&fEp}s|@w;>j)gpsn8zw!ah*j{3ZtgzY z@{Bqx<>!C49}cLi%^}#PtwmtdE=(iO&Z!R89Z*>LKY6+k(uf_0X#Vdat)mT<;(txv z)NBO^JcXk8%SXmde8QFXzRlEjt3M zQ@OmRc?Za6s~M_vp*gBO~P(Hg)x9D|1N{(}ljhm|mXj&eZLavTHeR-NFBr*Hx( zUAb5XDcZp%)6a>VV=b&3@8yE60&L)yzXfJS>H+CM;3$Gn$JomerQh#QLq6v0K8VZG zHG%hhEXvcg1b_2ml0I+e@m&n{!`Ef@>R5)xHoFu&5b!63W>9=qUizl>-WPUs8y-h5 z$AiuMezpjLu!wUqw`u_K;ph_w&`Y*2{yJaxYs|=a@*AQ2f)@h-LrM=Me#Sl{?}%*Y zh_A?jaDwK=%;fr$RA)8KZHj))QYhaLH#sCyK4-0ef_^_Zpf+ypFDyi348nrwL`UL* zic)&Rs@H}TmnD+#{np_RB4LSiMMtxEZngo^xe)SHLh^*--b;$weIJu-E|96zHDK=IGx<%!kr$e{GE@6?Srd=Ojln37e8)IP&`PUwnhw?5D|<^di7q(rT2B zus(c>IaI)wH>&M!F1%TyX_|9hOofq&XltJqZY4w!L!dDC6NX``g{4C&=F;=TWH@ViGfL+ZC; zx92kF?8Qkm5a@zrzeGY-L!?Y%ACM2&*uPC37+72Ds((Pa5&b7V*;7F06;$*`rk9;R zv(Z|BNW2m(dg?r?Tc;m|4SOvj;lnfiZLBz(^Zi3zQ9)h58g@$L_4rR_z6SAgt*d+Y ziYIaTCE9U6rA{7my~v1}4o)c}n_+ta`|Sx^+vWd^(&e$W$#Y<%c!Hgr2~2YZ0M5?& zRHK_nqy#kdaQm|&w?3^=dnHl_>Mj^E{|(d*N!L;?kL!ROoR5E1Zey^Pz5de>@NEA2 zi$1!tv8YWr9RW?*+e6nVnu|=w3AgXwa#GK6zJb!q68&c)mg`f7CQwoQw&USM)&Cwk zt9snkl z;Ak^W-O(E*>Upz1+&Mfw%Ap-o)dPY21)tE|HH25>2n!LYg0u*T`<(s~H(j4E6O44v zg@A78eM3aAPNxJOhr~lpBXBu3oa}OEa=(#WKkou3Xin>MHD?AyY&3tx!+8?CgAN|F52LMc$}h~sfx;I~Yz zg))C_9{ZI4gb?owgjq1X<1lW39eEtV+T|FDFc>P!2zNnZ95`xMQdHnh(~#QgAm>0i=xj8Nu;(%qBx4jJTBA&Cd_Gw znqoKB?%C~z6pkhc_X07rf6rIhb*B709$ix&ZlFwrTXepv?KYGHzZT25D6T&K?YBdj z#+GAph9|d(gd@JP&~rBiBSl)J@qkp%p0@_jN*$r;oB~~`iIMeooHum%Q7{Xm3G@Xo z!%iG)Hvb{7p;&VuZ6OS>*Opv7Z}Gk+kMthp5aQw;HhRPQHL~JiWcst)r9+lOx40=( zbl~&@t>S*e)q(p!_{8~eWAkA1{j68)ZkU0JIByA9$+ZO6A8`sZm>T2UwZXWYTo$JOhS9vOM$g^(ujrH7^YxzI7z?0#6G zl4*K>yg&x0)0@TCB8$#^PTnMB^75gJRHTIGm%n7zD4Is)Ept^WI5u~dGzAc*f62p! zV3lP7-u!NYN8318$1!)5gzYit8>88t7ssMM|RD_;BSTZheol4T9&5{;`S0yEj{ zgZJ#I%r}@YB`^IRO)rs8tE26#r{I@MK*RmheZq>9Iiw_X4$-Y(yu|<6tb>;mik!CM zBEqFYP%;_dbu!K0?{ev>Q(-D{O?l0}k*~%bDIH1uS_3w2f;zOuM{rqd*IR+*BPz2& zO+`rxAFjFPMQ8>mewqqoe+UKJ3>vG0iz@k2S1RI-^gj_>YXDHbsp2@&2#nw_W~k%- z#M4}`zbTt08JXdej@hCf0xQ59M8C6#Sna0LOug)-;yJT>v_>kmJtp@{@^Zy!Z5_=3 ze&Ml(8D-(neylm<6t`x`?8vp`c#vlp>Le`x^d;xP^PJrAcBc4$PH?3d;+L_~Ud9TY z-%Wry#w86$>G=r9N`~dXa)vyiI)vrMQNxavKO;BCtoyHZW83xg;<;~|(xnJXml;KQ z*9Xx4MA{?|%$kW2SoW_PpV!Y%;O;kFhVk%8Btop156@DyzD`B^OkIXPbD#T2(15TJ z&AI}=s;exfdCu9S+X&C3>Q}~Nx*<0WFN7=kDV}H+i5C6jQpxg>;kLcbB5Ni%{FF*a z9S8Fy{@t_;)SYcEN?nU_`2JK+fPrMFF4KZQ28Hr2mJB;K01j|8MV_>|mG5B!X5}DW zTl@VavSyd&IrHs}FeW>@F$qSi%so$x8B4R&LZb8Dly8mG8&9`sRUA_lbHJ)2_SSMm zwclSjh&!xCNA37T9fmlJ;d2eJELBfpFAaFr9c)AIZmen%jeYq3>7g~ops5^fotKW21V!Zo^K#CX4hNDQ;~iV#dV=YTbserX>EJN zwzk+qRo2MS!XZF^Szlj`Ej?OWDDFYi!yimK)jZ^7w({!BekDJxtk{Hg+Fi&w&=^oE zEj?@Oe>Lr7qM=jD=H`1w)~nEo?L+d`W+t)yFC%Wxi-^}Ol#AYZfzy0s7e)%44vK3j zTg)rf(ns0)`yK2q)7C=<^Jat5Ip3XMHaJpu52N*8w(Zd9f4kY%bmG_yu$9k$=!P5G| z#tx3Lqbkc|v7<|RY}!D^)$=#W$|gY}@@bkBGh2!*lt)tptD{Xs-u^zw3v`QZy%=SJKY`~; z`Bk2(%dh8Lk$;j=R705aZ2d#goNaf+wBb~}zmjgWomKSjkzMhl6q5Ku{X!@zVv&!K2FA1NR z^D7jUP!D0%wX(@@h)x>dJ@pZ^STquSH7k$X*$?BB!EbCXyI1fFd!^c_+GMQX`#d4M z-rq6CgQf>$?$Mmgkh7v5^0e5aEx_-jgXoF4fVqGPEZ;b3W}I9Q=Ji z+j2C82c%(j?|h}~gz>{RtfySsE{{eP` zSb!4?^KDIE{l2G>DALQ*NY{d4^RECathq=&C~!2T!jnH~K8#c}h$D%Dek{5~pA^2- z8*klvkAP;nsm&%O^_LN+8b=3wmE`X%dQIXZ^)!ttm)}d>z)S~BZdn)aEX)F5%;|du zQk4%dQ6Y)Ww1ovuH}r+-Q)eAhR2s7UscBovpIJK_>tUncfm@EMI9R|nkcU+K(l??C z7U7FId7N3!9_J)C^sAh8`#w&H42pM8uusXDYRDAxbZc@^3N2AL0w*M8?nxG0Ppqbr zX4a;{oJ^Sm6GN2GDP!LooPb-trcupTTw@M-&H0q1|AniF6JzRUOSoStkvsK-B7rgyJv{TTdqWsI{Nubco) zSn9isISl~50lMtH70=^Bti-q(Dt4Kie;HJ$m!>uz?TWu?Eh@^x9d4B}Gi9a@DL)QB z!xs-SfC(u_cFkykGHxh%f{_VU^)nz?#eP^P)KDz9Wu`*_VQL|_#MSTwAu5?Mza}T_ z0eGPc;mXI(>BSF=S0%hCJfLcFM2edv&Zznmw!TL%E0}dg8OK8vlJ2EkF8I>EcaLzN zBuXip`mU*HSiFoKlBoQ60yA3HJZ-U0Rx3 z8ccHkBF7o8oWrxRXYfyu`eKT`WLEo(6%-b`mc@HdHwly>IA@__rkBy1FMT?mYq)p+ zM|LP($AAXn_c|tqduxs?o zDENWJxrxaqR+T7S$7KfNZlMS&cqT^$IT9}Ny8Zr~my$-0+?N!`RhSVZ7zL5?jNj=v zW@5owNYXcagGAl^1Bgoj4rH}lQKf{n^%eg~AvpsNs@A)cH|xuw{m8+*`sx*?uYRxC zfG8)!XM9S!`IZ-4@r{`{*v z+5YG{UrFrYgn_n3q4L|@MEZHzM}1)JgN>%qErg13AJW=Qe@SB>^d$L=P9bhKW(EK1 zDn~r+n{N8y@OOQ0>q}wE;iQ^elRJ2STZI(OrQ-f1*oNn4XT5l=tPT|t z%AlUS^sfqotP;J-el8%uQNQNJM;1M+Nj1E3LYVVIq(1>9Vip{$QNHF9VN0gmnU?RD znbzq_{Jqcs5;?Y@5hf4qM8wShXmrkMe+vX~mjnamwqOoRcp=!wOnhzTKLzU7(|=*_ z39eo9SXK9l8$IkfnqIzQbX@3X$7mL?G|Rb@fBTw7k91%0k>SRzl=-(SpCRk69QJWP z$*#{aV@{H#=XEkTJB_wE=pAjKci@HjB8t%IA3cX;<`2{S^CB7}u1nJ^?V@?`Kl{>K z2bp)dVzU@Wjx*r`F~TqN8tE&ut^A18?W1v}Tl@c?eb}Rj$45#>>?1=nV?8K9dthU< zPhkvy?RET;(6}H3^X3L4wy1(yb7GI(=W?D_H%=YtadLp#vz@D|dEISHga9pLN64{k zU?OI2G=io#4orB0dt)=@yQqZ)9Gt?EEFa$QN%5pe<$w8j5C3Ps)7Hz47ZTdAXtpW# zK_y%$10j_VZzy|QC{yu8;o|mm2>9fi(Qobn)yZI34pMDKKF;1AW$g4J1k#X@J6uy;R(uAPw??gDhH5g^sON@ zPIZ_kWd=9o{BnnBV;hDCZl?B0TANXFINn{s6EbV}T2r!6uL{OAe3`&!d4vm2*ov2L zYI#815!zxZ-q}z+EUo#;l%(6&sFJ(9cgn0IQF?cHtq6O+-v@eCJ*UojeWBcRqBAqh zx(H8laqz7DxF37Ap6dtZDI%I185u z`q!`NYaM2`*Z-KI1GTVGckDLLcJOrk+xf2qHV6>VA%K+LHK(!NT!}oE21UPt29?r5jgZ~G0?1p z`e|kK{Y^!!kvKM^k&LhC4dX{N48K@ZH7DiJm`tSk7>=>m zct}4?IeI{6;~3{v?4=`*Wy#A=ppP}MdxGHyd_utP>GaHy7Wj#shR~2uodx7B)reRsTr&kY65SaT%C;ZU*22h5I)O;x@2|LC2tyE}VB=tb0J(DI3V5nZPU5c%g|B9u^6w0pB`aKiuNdRT(QA zMU5hLvu8;4UpcR$f6I5PMn@W+zf&pk4Cpiw{jX~28G&&=r`m5YnN0C2Mb@jz9(w?I z&drCcZ1<>+78T*z7|)+yh~C*)kVRNfmNICK3u1bo{)CZSnxDAq4;YRi9DybYT^fDM zhA{jO#P3aYT4%iB$-o~((sP4!-gYifDiDs8X4|IpNJRU2(HOHgd#V84ce|U934)_n z{$jeZMi{WAnk|QTs4pp*U--oFLiJ;rbXdHOl__Ej$zW+BIDgnzE{p-FCI-`|FrzN! zEt|A-V>_oZQ>oN(jK*#ed%8zI+^Q?$d?)LfWtB3u^5O+=C)^2@vL{NCbp%d$_&_!J>y-QH=k%UJn~ zXP}7Jr_0J@>AJ!l*VZ^^;#Z^7*5AQS^tP#_`7X*`SX0}z5VO7&l4XMS!R|trHfHI5 zNE(^4K&0i-8mrMcsD~T)#=5<&Sw!K(2T!h*hRCgy%hFO#O3%ft*G^qS#2v1|EEkr6 z5~A((v+lK>wrvK!mXy=Cw!e;=yFYE-OLEDJif_g5c}_OGz%Os@5k=0bxT+Ub9?M3H z!{iL$e#7OR-v=Nxq z{^9PH^wF*oWPisec4zjHdg}iG#c(3tCjEzYQm%A$RSp`aR9Q*;)i|YvAYH%bI5CNVbd^wSS@Y)9zo`?Lr$#9GhOy>Apn+}8ufS4K z8e=&{?Jw`K?e$dwZ&;0Z13;M#J_Es zqNc+%d=>;t82cOh0(!9IEDyhf<;`59K8y+A1Pl+CH2uobT&)<*JYYWRBUFu6vBpkN&QjX2C?Fw@#*P$345F%|aFY0>`L7@R?7H8lc3 ze?RB*e5Ze~n@Lk&W~NUZXTi<6ts4E&Z!_9MEyzH+6fa6h09gnM7{veK@9M|~K>~{vOVz#2y>4WFydvZw?5)E8lE@eneg+smI-lj2L?%^cQl5kW6_v;4v8euSD|q^ z0NOy6J8ohXIJ*E@>+U-9Eb*B7Qy zZ1jGmVo5yTZx!^z@VbYE&)1)}=*izXl~KVd*5mWCDNqGc_$aK~W)Qb<-+S>?NTDTz zw)KPAlLVMB1wsK}lBSopqjb%dkX-W%k(&*~UVoFFkmi2a!W5Nw^<`*U{L6bgPvIfr z&T=5A2*amv=CJhNYf1mu22|kQnL2VAXuj038@(bh z!GK{~S|g~AR*u5J4u;Z8$HFVmAlwx}T4x?hP|zZxJ?`eR`$PgQRaIea>0Of+lou6n zq{h34U&7QwJ)g^5zy7%$8avr*o9LT-skHlh#+xNCop@E5cu^_-$4jbY4Y3N1r-%=g zY=ykzTDK-6Q^v-2HhuU5Uox=UlWr;S6F?z$z4Uy_6Owl2cXww6?u*JLXpai&mj2gR z0lO4>gjh4Kn$30|MVsyKEVKq>l7O1JLG1E$jOo~aAfi^gib_hrbT3~an`jG`4kxpj z9GQdsf%`P}qwYa;THJ+MW`8G4?*9~*0vIx)8JECz@#XR^Pl4!@mM-Xu2&^scVD&PM z;{IOBNRT^-_va8#C_WT`{II^%(ZC^}zxK3Mai1a*szt}Y_Fs3vCqfH!BgKOZi=YDh zjL1)V%fJ!$S>U~1j<{s01bi43q?NPu8ZXxUs) z)s*aD*V-)0pOnJDsiH*&d5d6K<`>OyFxCJKy9g7mb6l(lh zW{4F$Eak(-d>~yUrn(B8B|q|@i5Dvkh{ODY3m12&dk8~k_>5R*TG_>eo!%uQm0VjvG2 zUo6=$FI=7XM(bNA-dT81r>Ne(;4Uk7U-%MyKEm7t>zkN_aa*7%%n^Y_QlOFGzZoNG zC2gO-sWhFGbMaYjhB3M(zGSW?0N!cW`nIWeQhXaad;NPw&IcH%>0;e;3dcto0iuJ?*^dw}*d{)4NC!Nc5#0#Y9i zOLagq2738GqTtz4g$Ffp$n)kaX&uN*e_9t`RaE>Hz(;-~?dH208n?AdTrwB_1}~|@ zRf2VX1%n`l1elVXeuNN6<5;PCWWKHTb+3vs%wFsH3+(~#xT&T;l-)|)+aQxy#M3^+ zH0CBi`Y^PXrpg?``z=0p7b-E-t&0GcayQR-#5aX`4k|R_c?G0@CHhp;E*MLDDv7}$ z895)GC~xco@tW8MYiV%EDGtMv7jhUwuLx|42Dvqz!hie3nDcif*2Hou+Hf#me5wu_~!A$_*0YLRz6Z zrkX&RKJ?CvyZK5CZxXvA0=1JZPEHq8LR%hCID0|n_?!%VF?jnP>Q>)Ypzb?Uv+`f8 zT~%6Io}0L)3631H55R1=rII(89EY^4N(0cin2DEZ<3TGwwM^c*nlIc^l`&EgbWJk$ zT=qk@J@|+hG$`dY%!TF7KZ5MgHZx*GM0%RVdm+8^VOYz<`|@tMA|960gcC0R&@7&2 zZACPgBL^4u*|?`<(*whrhXu5Pf)6{auyqskuuN&`b1IS?E zrJ$?(>Bftto4cD-Ah_{+De~`MzJbH{rn(zACenYdI`IWsi^=vD4m0F7YcXIx)Y-M0 zpQ84%KkaPp)Y}jYrQ;JTUI%<|0rGMca)XIaw!+Ow-d&DvF{W`f=(%q1^eJ{#PudvJ z*wXChG1@1kZV+N&rTXzDqaKdBE;j?ajMw%4v2Wg_{z0gE!cF)<104-izqJV4(Bofa zsXU$A`E!VQYwi%Y{j6P2 z1U>bJXJ~%fkgibtmwgl z$TsbaTW~zQu~O^`t~W-d%_HCG46lgOfM?Un{b~0I$ax2B zwHz)_ZFRfO+)hXXx{x|ilT~&8Z{k~^Z~0=W_B5|vLkhLv!WZjq&9Br2oNWb~UFm|y zchqk%Vp|PFh=F48D&BdZ358d{^xo@2_J0p(gM;m*F56-If~Ypz)?7$Xs9gn5v9~_P@D>_4c#g0JNV!{`rKo)=qZ4Z5nR_-2 z#oBTC1`je67WiiNA-fib|FOQsisQOm5w#(Nxy)G==-$Zw8X|Ie`YQ8V{YZr1Lmcx8 z9Qmbt~|2SE0?+%xcmMI~RK7eFr0%A{^~RI{Zf89XSEsw2*7F zj9VwH$Hw-fKU@08R^WG&YS0tTA2$781h5JJRUG<4Z4|?vs^4%hD<5(Eqgi0p9hTz; zlIj67Z#J>HmKIk($L%eC+NIMA)V5Su_doTK!kRu#gq}&38?8=L`?RAwpu78LD}olq z+YX72?6xsqaA7)xPjpp}o;d20IwmJ_Kp0sxvB(=(X{2lhh9^H`s8O5j6?PWGx7W9h zng0oi-eGUQEcmmg7p+>qAFw2l-KWey`4L?pcE$ zrMi+)|Y-sN)h)6}ar z@o`4%2$NPt4QV(#FKLCZbQiyNl9j$~}X{dg2ii6)TTXQjlV48BB^7UBs)Uwl=$Y6!=(-Jl!#lbbB z8yZ|8d_38t6QOVNmev9d%SWgS%1Ft@ z{rBrF6;s3)3v9Zd*qM|D^?ajDtxR6Ly^38FI)D{ z&)>{feP<}#tZnh7!8|EQU4z`)BZewfL@Kt-M&aLZ8%DC`QwMmeOfjD|P3|Oqh3s%} z(zl!@@SgBGER$|*rx_|!?nw=qsQ)n`NqinF1rlK8`8Xz~0Zp>4EXrmBr}(P%G3DxF zo#c9$fwif#J;oAlL0@L@9`H7Shr@t|T=Q3B| zx8&2yH=3TEA7in+(H5?`>1D&obM(CV?ynhsT)ZWU05Q}~o&>pxD_ws0T5F?fiP2## zx8O%fVKlIVb5n{agH$a27sH0Rke|FK0{1_GC5X3REHM4qrlaExd8G`rmU?=s3sAbw6{ysK#6?F!VqN3NWWt>R4FIaX`9!q~}**drA%em?#T zjgX_pJqegQIdWjh&>B8ZN*Yw}MD%$zbZrL?~xRQ;m_B z7AsUWhR>Ff0FAp7#N-KhaUD}DN*`~__-mMB{v60)}Vv5o=Qomr@Y{3>VR$M1PfejWGDhk|2?Cf=_T z?$>R>M6ZaL)ST}2a^?lREAFtHxE?Q%hD=z3cJ;Ic2DH#BM-HZEd>xkAnT{97}setjfqN8mD^s(W^WK_g>l091=Tz+5k&ow z3`uPC#C|39A%n(H(9z-#U)bdvbGX7V!pz&Mw2s-lLz-%7&mbh?QoV8pCUq^|h)Tux zeHbwl@?eIUAxS%%zpE@7Ul&#wb<~}%5EvmGjz4QP>Uv}@ulj^QBKqTI?F!u+dHmKA z9!|wfaXlP|vPkqF!SNxnpqU4;1A3Oa(d+ASH5vgi(ai=sUY?4=SAA(gz<`fyGo2>S z|2HweDO$E%J}vq|4UtIXr1AEOrvE5V_gXt2>Ge37EQtJEDXomYX7G3SR@D2Ch_-1# z^*e{6qV-$ce~K*YChWxRElKi*(@Gz4!{Zf3NP7-oV}ikudSYJcP;%VLK0W8_dK-5C z@7mM&vd4+$M*EPTOxgoJT)5x!Al)11j5Yh$8sByO`Zia%C~Hy>T06YM?P-M$<0;zVe{7u_$VE%5Z>J;9%_z# z7x!`l}ivP1oWH@Aq@X6hp7_+|AEOS6Za%7N)KcfsZ z7$_#j80YDGje;Lssw*ly6Z=!5uO5__O9lnp>Qx~K-U|qll$I@InCT6b7zxX_N@|}x zG}UpL_PEqKJ^auh)zW@7nry)|3EGjvo}3mK$v~Xyy+v zH1|elmST2(tTH!rRRajXzCzOigDQ-J0p+r0#n%-jzhFWLJbtIjlddh5(fFvj!r9R9 z=j2gXqCQMr<9Y3dOX{FmiV}?fue)>aX;b}ItpN*4C$fu#8K1DTMFREDo>rlPbe zm@cEdKNX2RW#g8vY94>rhk+r7)J2)&_c;=iSYGjh#=-*UtS^NMi0D}+3jD&)s9LG@ zqwZ*&V)nHu=tU=^E)%4G3`%AO9&aK0QO;pZ;eFo6jjt(qmSmkrA6sHzSA;5zieE!o z+?hP462OA84^NY>SfZpv6X&fIs`{^8 zy7~ODg`;s!LZhJT!!>U+_~B-E<_ZsOVWU*-5lzFnfBOim`bqG48fBE}KJ_9V8k8Ew z-?p|0EbsMGypNbF@yQBY3V4X@YVc?0lH#ZP=UL&X=&juyn^THbYd~+Mpnu-GOPaL` z%%jSlK=}8S%2Y10ISB@CmcG^1?1qh6O2qOCB@Eg#OO@u^8bY z%5*1}y!t%*b_Cn2bIh?c4@C?=?9K_1yJY*m=jla2CG>F$p= z`m-6ldR(RwWZf2^LVpX8M7Be0Mdm$nf*?x#CW^r_QldkRlTbGp*{6 zupNve8pTXamLkk5Y>)3Ve`tWSZK^Esn~2kjxM_^JIQSMA9M**-kttQ~k=nzwv_T$1 z$=*Ih0AnB%Tt{A>NO@$`1z_z2iQlDqGyZx(HX+2%1TS$iMX0FTJ3mmVjUIvmpi+n+ zRgY^F`o|juRi5F^$^cCGz)LIAF%^ZlefY{qaYg;2bW|@gK;JzuRkqYSf8IkaWYpkv zP+$Kj36+p{0s}I>%qR8mcjmiWiB5BUpC} zyElS&16c5@WM4;L-w@oD{JAS&@rS>IBbO|k$Z!(0Wt+46Kzo@r6Y;a_rMaCrjFjFQ zn41Atd-~yV#yN$F@D=2rjlige9(Y&Y+D0Hy|MIq)*LX$Kak2SZUp4o8bvCGzFD_Vc z|L|wRJ@KRVzHFyc)X0}EeR-{!Ypgo+wMW+a9Z`+k4qad3$?Q>F^e+L;8$TEOuVG)k zB|-ma%H6zE#qHRBuY9XR$|^{=*K(ZuFhu3@GuLY#sX6YE_;+Je>Ja1nmk3LZ)O(rZ zO@4QG`}cbFuDsfKtFz25lelG`Z7el8HoF|M`>!tI!5GhFY1zVNX4eaApWsstEMVum z|11KOs+s83?)60erv#OfxGd7tTnvv4vS!u{LbVP;dQ^ZorKJ6k!d zY;vvJ)^4E~EPj!td9y#rvL8qa1omYr)i4}<1>(2DfnQqo=IU$*sb9g}a>4I>4`*Zd zzMAhl2d9u4ESn013jF;IJ5v~m_B$MZK+ZUkeB|+iP+9#pVB}X2wF5a(74mO4+kfuc zy^myS$fpye;cv;{qiMB~I9`=|&iq<%uA!EN-Se9NjSY5HkD31{W39fA<_XbWR$poQ z=^0lHvSZidcv*i!P{;sBDkSsP0PV$??h@C(+T#?n!RXqIwMpa$?WBt5V-2Z{6*eu~ zta2OL-LYTrEVWuXK!B>UPL_buJ-qR&Xw#x)3OQsv z)L%jbR8-E0RO2~p_Vxgo7rXUA%lXT)O6d<*bi1HVzHp1nKboEaJB&|JTeeM8Z+ve6 z5DVu&wRx6EE{0R>JB?5}w_>1bilC?86>oP(6^*=#SN;c`ah=!M>v9)R@nZ5%LrAFU*Y-EOSut#>Pf{6HS5| zfs&xkMCKef44{X(RE^plo%n2+LZZtW+op;|shtw-fZ)G>nsRx$z}iB!l|`nb)CV)^ z-Y#>OogO2Q}QAEu@gk##@F`4pW~tlh_%-JBCqIZ?O*$r%(0N|-PwJh)x5C{1UlKJ zi8(g}_JiukciA*%fcArLh12?`N`|cH$lIulNcFhD55U;ZgDh#d&D@TVI99VH~xnyH-|I$3R-j z^}c}-Vr_D)>`6wZDZnn&Gdb8J>t+hiaq_poUz772^Sw6;I4v3^Bp;v)e82O`V&RA< zRn8aHKYjctI}5(>82*!%J3GVyUoWs#teqiFrN z&xV{}f`{(4&2|z6q?1G-xi4P44e0R>YcNg5)b{m`izmes3F()OQ;Q`)>#eAn<(O%Z zQbeg*~f8(HGoa4dUw)9zTC8U;OA&59uds_Oo|1&^$?%pSy+%z)A z;AqWu49oPSejmqs%f(()Tt&|Oglb))fIWYLK!VmjxDp?B47Bt#Jom7`S=h$pHq=-! zzS%2Y;BHt`0(^APhG<(x*$f$F@SwD-h7I}sfQfZtU`De*qGB zhQfw!ucPafc4l0|B^R1LZSOkMrlLK0ddsN32?bU{2RT}MLGMV-FE4+^K;z39M7~v; z{GjamN|V}yf^1-rxhlD1)wpkp4jk?qDy^JJj{dc4CBU%S8UBCQp84wDQuI!=moQ)V z&H_&$CTj@42mTSu(u=Xj1WQJr{@D)2%qSkn!B=j84n2aX2pY;__Pg|T{O;_n4`D$Q zPD%+BRls11n}dmmkr!j)n+;?Q@F$D|{ArT*yD&qvwLPJ;v*Vp?eJ1j%F|j1g!7Qv` zTk1oj{D0yPzLljDz^wzH->AQ9EnN3A3n!Vor>vI!765s|j)MY%l(t(3`D29nmtH<* z1q_SGr>*#b^n(YAz=FHha(WH_S_WKwFyiodk(H|?@G?zO*a|7P|K0`RU@DjLz@MDv z>a)Bn@MA-F>_A2AZVC|tN@;>CM%VA8jxg1a*KJ?G`snn*HI&t*#NNSz<-iLBxMwJIEDd%->Vtypxm)e6-T%1_ z7nNk$b|DcHPTx0m5(JG^WZmCTiZRweS2fLfL0O!YtEZlg5(5oF^v%=zV$Xwn2971q4?c~K1mwSFy zDFK>wnIWVbgl@xi+2r@T6{R)Z3^NsJF$Q9hV$wv2aa-c11Ab)*Vw777H1dz?wB71t zJIKiJ3D}y8K5Cls!=DK=^G-%S(mo-2_L~4B@ zeu|F%WzPg$yA9icx_lZnkTr)*M&gsfQH${dNm_=~!3G~?!9Yd*uNg6Q-dP0LPFggN z=|9z^+)dy5!(wyQ{3U<>onaYS&ZtFijneEdZ~a+cUu1ctRM85otfY%$g~bH_0eP@V z21TMo(L8f@C}GOqH~n_2$V-rq{e@Rj4-=D6u$O_m!8+W?Gi-?nU{+^v?x(lQ_}%ON zV=umQ>Xoghza=mR^FEYI#8-u%;;|OLIwz%nw_1xp^)k9U*joU9!+A|pUUI1YF7gYM z^*#bBx_J;nq65hFkt)9)8TVi3qxSw#I5@L+6;){$@!f`_9_quC_ehAvEh>M%&kIL8(*+_tdu6?!;807usSi>>hOz zh_CL3H~LdJ#S$S`4?TBby4IbcY{zy?>&J+sfDDVC(|-9vq&hfFoD%8e7f2%z{ueJY zSQ3^5nJx=S$#whaQvFaI%yhxC7nC8FT4Zit$I&VbZ#lXh0R*jy0O?oinAB0)$XNJ3 z6EUa=;nt7fP4?VQj{B;91|!wR)@`PelBl47Yiv9XHmbTX#Y5fU8m$3cx|*{JI8{ zOoh|OGG|$UmM1UYs@p>>w(-1Siu7}D&zTUX73vEC0Es=={0J@;>vL4%(UaA;DTx!SqeVs|=h~)=tC`7{pOfef0Mvk4hU+^ZY;yeFTR&!*M9lbGu7QD}G)N`Xpq^1z zb}=&YO*PMN*|p1Q$|I@kH)nI(fiaVu;&wd>pZ7!dVEI@>qX1xbfGia3wifUeW}#p9 zl~5V@+uQ3it=h+wRVO7*|9pT}6S|*&@SD`wtv_L6R@o(tTAj^7af2YsC8OiJ>uh0} zZwivZ?{TbufjfWM8h4f=$6fqAMt5vnwPN=-12XOSDM7c)a! z0vmc;UVNQwd|O?O%Q^BqXJ1)Cwyd$GLRELc9X({<>c5B(4o*|TPiiYHSN8_Iw3cfl zQGus-up6p3Gy$+x*a}y@Ys1QFar8?+AO9X;`01vOYFd5v&Jru+yEHn(yQKow)GN{3 zNz^0J7r7ly;ppgXy4rEgn2DB~yR-f~=i4VoI;!_J3i5Zi4lAKGgbY+ncDF~TE~ymE zBknksR&)JZ+ks_kKOBR&lG;Rh`$97K4}3nTFLGt-lU~BsBH99#8Rx+CGkRu_dFtiR zj|u!WGvlBK!#g22`5uK*Y4-M^yuZOwU*E|I(G+^Pu8HiLTc8(RMqXyt zS36aoDOQ=^*vQZ>Rn01k1=>TinWguq09e&YRk4~E^J@|4GyHGJTyhG@sY!W(Khk5ft6ncY&q ztQo%^A@|UToV`R_bm*YHpo3>!6qpTU-kGyo^a9=9QE%p`BYy_Tu1D?8O~b=xO6c~@ z@GGY?z9iQ3QpF<0k7BuoVt2j#faGvglVv}Ng-%RgY5;Pn=Sw2C|H{mXXY@v_+i<1b z1>4e<3)6<;W~0=k_|MskNLchSMoZ z1HpXD>)aot(w``%;IW$VQOr?g7W~Vwll$`q3hoq*S@z^nlB&uo5<(b%(F)tPAp7(6X>r1)n zOD^7q(qzt@dpSpEEtyj;xC{YPxzhQ4{QK8-uZN^8YFiW(Xg@xn$LI);mJK7(>we0L zc8>e5z!3ZH*MvB6u@4c9^P7e(l-!lQJiGjCBE8>u|0@vT)-}md< zSIi2t3a|J4hd-N^b{v&p*J4^?{~Dw+M!WFNm3;0pTx~7u1lf5?SZc7>XJsq=2V4}Q zEQTa%C_~CB8;&$cLF`O390`t})8QqzrwQxp!5e-tZSa7628B|}m)>*uP1X=k1ZCN8 zMKtm*sSDrx!x&4?!mMr7?-L*X9})9lGysM;}&<4!y~F4kH){+9!gg>c@H{?|jh* zAr1vyedp?vYVbo7Fx*Mq<_DI5IN?o}wgz9(ej6v|O@dp6q$z4?kdtdHk=M3VzM#F*SV(rLqOFQf+XZ8MLX?N4Y$;tYrW!jUs z)TV2}2z&M!X#p4nt^BBPdd`yI=TqTl8V@HG72n+lnazX?V|+aOn(f4{92brZp2!8h z%|-#j*7(qUQtA)m8p}Vd@nIx?foWIi_fo!@nyQG8K-ER$gYP$o3NRXF)6*aEHTT|v zwoFM~&@<69jk&d(FCgP8#pPDiGAeU2KvECoLmo_5B`~hg@j!7*R!h-PZDd;{=9h@4 zC&T1IsLV30_@eR`h@p7i?7!6<e6jTTs>hXh>ORQ z#dLdO;BACC23r2GX=$8KwWnBB1x(1zM5RVSRpq#}ykBcp&Wv1~$yg%8a;|E{^5StJ zLA-E&k+RmiW1m$zo;?q|t9v8e4oXw75B*s~EiDazW)U&$jkgrudEnqa$P!pAoyQ71 zMcvemgl6a@YO>OwQd}v;D2-y2vS?85aq-%bhai%+e;USLg6P)eF#$pnZWQFlh=Sfo zs+ZB;iYRl~;lomOSf}z)pspq~7wg#jhP%T_#dS(;J{<^Wx_L`L8__?PZO48N(VZI`sR(+6V1nBChC;$@Ho1xu=)wLSPZ zcp&hvu#(I!@pQ#7FJQZTKejQ<(N7w;W+eTODa0|A|1F(w zzs|L(s5DDyUvG8$o3F6r?!V9}sZbpg%9a1|iD~o~f8=n~k(&RPUIkw6euC^#_a^pM z1KMT(kwS~X8Zh~GWsNum<4OUO4Pn2EG-P;aOq|eg2fpe;`va}2@Dl9~4yn>b-IHNe00Lwel|01Y#-}*wpp% zoScdr4Lb1RxHcH67===mb3P}lI!&R5Niyy()uLmMxuO}gFS~v0oNH%}@vQheXq)mDedKuk5d+%oV?zao}`w&;zB{O^;q00Q8 z{8R_A_h;9B&fNmXqy)>He?>dw3&c>AfLIC>dB=||CxX7821_aGj5js1h?kqb7maxO zItD}@9^7W`R4o{fcM#{y4bwPpvvW!NV*RPS@F`ph5H85Gl6gHWW=^3%G++nzqZJ=D zjA9!bDk~tS$z*QUkAe0UfKC}YvH$v=!e(ugJIAFpag&X?Xan57gb{|zD34kHC9G@B zIE6fd?a=P+){NxsbZ4vGtjEnl9&M@Z{Q<6m-9MY}pZ?z3em(JK2_Vi>V&lW|OY;Oe zI8jqv!?uMe^h?`h*jxwgF85sKf;ECeiFr|DJckT-DeYdPF9seaQ^&qa4f^1mfav$( zed2`c_Sy7f@i7KfR{b|8nzhJg68+!m8fjj#AK8I( zGD9WuF#Y+;$%QiN*&&%fLyI>VSF8EJ6 z^0ZKxYpILa0aBJcZ|UK^uWMm`xN*Nw#D3GyiV0;(Urw8U2LXKF(mc!g97rQLLj+Xf zc+|m3t>j_27$0B!_Yrf9+PTE{uMhVGr%al6XcYiB(=E;39?h41Vfi=y`_;Q`A7a4ZZ&=A5X1({d4E+Tq zuL(Et?!561F0b-H?qa=8xcAz}o*=L^wtD5*2RJLQfAle=nv0)0B^vqfUrvrx`lW{Q z!@nrchTOzcyh@ddbn8pwf(+Xjjj0CaFhD_G0ieT|-MzZJr_3C$XIX3pdFGUkC;eXTLYBn zKBOglgW=EZU^m&@^Ec=%GaZ8eMn&JSB(bzFf;|=7hZ)_IZdo0(F5CH58iKY|xXE$k ziG%Rs@zIOuOqkRANZN)?L4Lt}cP+Ci;(CBo8t^~DO#p+>W!^wh2=k%sFF^|h>dK<5 z9?-vEXGgEy>D_Ip0-}imcLECLL^UM**RuK*@&N(MnUYOU%6YY3s#zznRi$W_DL35i zE6CT)!jw}EG%udE6oM@e+zjEADcU6V-CG`0)HqvInK>V{)C-f8-^Ce?i@M|E{8L&UWlA9V!Te*d=GL zm87kXR^N2A{glRIZ_oSzh5;l*WZnw4Y0}?seUr8EKk4(>)GkYnu5Oeyy2H59D&wN7 zy%Ms=ss4oXm-O9!;LJt`n!_J?^jVGiHV<4Y0RwQbz}wFVHlY%-D)BpSmmI#krtE&Z zW`73HWOk}2^0T>(744nf@TUf!4jJzLwJONYt~~wjfT8a|uFm}m#wHq&JFvo|n%-04 z^YBtSKswnn^4{^^+itvHopv9O_o6$t{Inj8JToH8Ws3EVLFYVgp{(XvhNdRX@cY+< ztuD{ewfo`m1Dk-paSOewg7>Gcgxczr97`y4H;0|b9BlucVb=q5ncpvvNjPv`t~;d2 z_|l7af+QqoO5pca-H_wyqq@(i9hv>0fhFNeNa3c1dMJZEX@`ElboKQY-i zvQz^5g0hH~hvWGUXP`>A7UNsg_k9)TS4H${h!)-Z4$yA|$WEqq6OTup$Nk&hTB|P5 zZP><|VamwEI5yj}M5y`g2Csgs#Z}Db%+K}3wG-fv{v{k{6dvN%H5jKEKWB8krV?7n z2T}(fInP;tW?0G>aa0V`S3w{i*dM3M_>#fXU@EhiySZqkFbh|He2VB}Tu$Ei9H{!I z>h`ah!-Dv^oVPfxoXCB-xwHD8MY_LD-M^PJdzC>W|2Hz`F!Aib(OD*&xw$bzIWXj* zD|$I~m9zS-YZ(9lBGq#zCSAxIq&07_O(J!ur&pg_E1(SA+3S;jAeq4bF~r_Haq;nY zCeC~O&zbA3RNBo_G62Ou%*os)T;)URUiaWk7*EG*IL@Qx;{Xb5qSU%aCY$@P|X!?8Xx* zqg0{k(p#mt;gA(JqrDS#afr#B80b^T7hb5jr!~vB`Y-tF=%ehbw92IhPSx=qseQe+c7XK$ znJu38k4@TYAcAFV1NME=*3*gnCt~irK?Ftcc3<*4>wWZUrf%GyQWzUClSqiH zrsA~ck+kC3+B}($zDJ7<=%b?-V2g9QDYE5E)siY6hcjYfMPhBwgrP060a)RrJe9X& z(540uRQmg4%l&u@FCp~0cnCd<Le_4z z#%$yl3;b>5>z0*`0efy;tac`(O6BZ9`Q(hlJi$s7d(lj{sGAIdg&N(41K*$yxs{m* zU=XDk1;!Jbit@~w*kZ!#fN5q(3bt}l%en7fPJ%b$F5UnnRmH5TpsQP~Mcf+BI6O`X z2^1_vSP1!n5*}a=9<8XrmqQ%q#6{FoK#3=F6^w)rQd9o}JcpSa@ICj}nM&Z&S# z1n`m~B0jsjkDEe2$bGP7pX@OfT!{k*L~|!)XRB?F9w-X;-|<=v;$rtJp3M%bd`1j1 zuPUtoyr3|X5FMq`m7iyhOO+QNaO)|rpA%Hjje0{#nRMPs^aZEgVA&WKp0AS>M$q+F z==JGO8$VrOe7<)d1QFLcy%>yLYU+@YOL?Rs9KyyycNRJy^TlT*#r@)eeHQdFlw(SY zSq{hA*&FI=k6)cKgg;7Jo^t7M=Z=B2(-DP@qm1B`^fgwnm=c%y0{BWJPoTn~_EK+u z;k`G)X$)G*Bx!9ikQTAGEdh!V6&d+O*j1M=c2;SdJc3?lKnaiN>faGKopw{37>MZA z5c07vHPy@oor33a;RlV@XHV*kq4~b0HFb+k!!OyNDruI|K5l&c8kxfXpzr(V*ab;} zgJ{I7%G5C*G7wn3xO?WNm{eja7Jz(r^sIHr{Z3>4yC<;4yS?dkP3!EhPh3f*=0=a- zn0+&Ek7WqF{~%9$3Q8Gv3Oc8h8L^(Tix(Sp<%IiR{rhKmsrKFhBNoqxYgi-W6|KNOs9cNlX2hA^6Y^C`ro&zcT9ixYAfIj|)u< z>+VgBYHpQOf%VYaU~hPHApM2u`@_w0y7Ge33?#9PI*HNS9wd0J+n6n)e+PJNRIQ*8 zT4kn$PGfMhVac=B%G*^!LLy7ySO3b*q z%2bh)14KUe3=hkt3a=}KM44W_q63~7Ts>rT+w+{VlD@v7n=RMXXd($!+NKmkh?jnt zdtZ)nE=Z01%)vcbnqM&i8msRXEGQ5f1^>l_1E0OU;+k8Xul7r`1il)OD%$#@r>cp8u)2mE< z-Q4m{J|2|JuFo#&l1=}@XDE)kBM4}NrgI!uJeVt73wybALgEoEEop$EfU5N4@XjvVBiy0EclMswaJ=-p3K-7ZzxYwA|U-@=3J z`G3v^25Q;|_ro84D6eN25;|{#JP}vr0+^f1!z_7DD6R+G z6Q(}f*A)PciRS*N!23@D^DUgRsJXV!okT?$+nB>mkc!DO`06VHEOt}NE<@W56cW_i4-N8qC|-!wd$<~>jpm*SGR+) z&yO83SMsdWt(S4POfp#ZXH!@FaqC-wnM7!eIA)ROP|9)xdC$r2OO%E-V%i-VVSXXv zYbwaZn$vKT$<4^>XZ$5uK*+Tb+^5 zHNZSD1<4G^5dav*i6mD2GIb~TgJ$49Jv9>XhqhJr+J{XORo>)i1sC05WOgsbX1Vcb zRqHORdlcuNa2qO*uN-L%BO1~hsy)u^GkmYDqx|+F1c|zJIMSa6^!wG%lGd;ZR{&Y| zoOL3~#`mREt*Oc~1qP}S_?Bna_Y|#Lk6p5E#W4+Ev+3m{mp`X%k@G0&{brYvzO|FEv4)-8Z3LF)(r>;F-0!@1 zrdjV-XcCXt0Dtp`i75sSWI@k#lc!W}w*A1RsDBf9rT8|zCZ2(YS;DPk3w^IDwdx*u zhe&!63v_g5UoO4%XEt5re|1UaJ|bjpprM}8D&y2C{>Viv*SSA? ztR3;Dl{;pauNCjyXzn=jP$X_Yoz0Or9KH2BRti``k#l4HLln?G;}Vuz53a$*gi1-; zGd1wG?!Y4@9B!h>D}AEC9bIQn#cx1+24$E&ATtbOWtHYB9Z;%_g-b!)#A<(PhF3dP zmS9BTCWtFZY5<+?awkRnp3>{V4vqtVf~<;}d5~x6+Scuun5#ag*bY=PAuq5GuU`JY zk4E~U*69;~wVL*bXnmb`tNC_ID%Zuo1U+CaVe=g2(G^lz5_;~jtg{92k7n5Gx*k|F z03H~VvsOtRB*F77NwyvCr#u&$f%&i9Ykd;?6`FY3VrG$b`YGuD$a?c|sQ&-|e=ISi zu~t*|CGm=^$w>CH6CzC3iI=58)+}QkTgjGeP1ek086sl}gAiWX8%r5$#b7MeU}7x4 z^Zxz$`CixgdoJcWbI$YmeBAH1o2T#OMBT^zP}h8mL?D!{{NKzVjRN0B6wAtXkVwbJ z%N$*gp18bx9pt={{f9;bm^|dpy{%_HpqIY2_QP}S@V1!tdat8DyQfdPl`5%Fkqgtt zk#+vp{C(UO#2_YHD%kp_X@!3+P**S*`J9w&=O(xT8POYlu18^g?GG^XTOru#pAF zOkYRIC=SS^HO;jgAxnKAT^bvEN5FjA|EJqYPebMA$(q|q@VnnNyJ5BP3u9}W6w<7Q zz{gAVu41ho+*Pe%nvZxg3#gZU!kL|MpC&VgowC1dcg8KWG|t`I-o5l{iP3Sw8(7}m zpCu08d0aFsX_a$%(R?=dWO>t^sDi5|-Hbh<1)7X={L7OeqeeRXv%ykBV>tNTLrrWF z`~ObOkS=x|hT`?_HOT*`RH}>U?L69zpv-ZiIvZ#XWqZIeG8TK{410rt4u^8)urHN3!B1RGr7Y&}M&Ni3o zScsn-@;`qqk7sg&m$b)afK#u1Yw_EC>xxSMaXsWdb6+B;Ur=`2C5bKgXj8*{DCE8s zy=80J;o-K7>baJ5b@=CF8Yh&*~=5ZI*L1Q1;ZEyXz|dc=64t~c=4d}%UYb_;O(JwLfhbhK~k zx{WXI4kF_ovV1L$y3QJ<-4aNv^doA0eUw=}^~6So>gy`*T>d-QV{QUcfD)UKxp5hTaUS6@7-)K zGQI@RzD}->wVuv}i0dflDl{gvI5&RF1th86U;S)oH7=I#z=AC(C4z;d@yZ`Lop_mG z9{GN+BK;R^Zn_;mF?B7(X+Y3Zp1{R&M-vM*x=K|mVr5;HqyE&F`9mhZ$VsVXAE92j zKxC4pGr7wOZK8a!TU&lfQvI-yCzUNNEffZ2b;fyN`pFX}3hpL8f2~R=lP%9sX?d4I zY`4I9&1^9=W_DucTF#`Nic{({gXxN8HEqurBM~}^WU@$bkiE~D2r@~!vDba25->TV zSL11@D$B z^>-^?peIh1v4+)-dN^GL^T<;`5#Ld3b7lIm?6x-XEU^0BK>Cri(E*fh}2vhgPZIw}C_L z(U6k+gh>|teEM1_EGhC%ErS``nXn(DvrOhm=*a_DPpJ;mm!lknv3{RAVweGv+Ho$LPAZ3W;4FIn4NAxyXQ=JCz6-cA{Zf7hh? zM%QgNUKIdZWSd8ap~EUbmH79;p2HR`Ar1@mEHU^@Yem9Y`tbQ-bC=M#0xDl+(e#v~ zl$79D6r4+f4taz4ZWg=*?vlcISRae z_>9iQL9UT)+9rW3Q<#J$H4 z&V^4;fiM?R&v;0Iu3!5VIWnkP&?KEJJ>c7_ty}(KcRWg0sv!0BXTI52ImaL$$?r@} z$j9L^7XD~j**T0YSR;k^meIK!xkts=!RiS=7nX!HnG_E*h5kD^hI;W1FRP_Ar8Hr! zAB4xpCI01Xq77USSX8DDc$8cnwf6tUb;sz=ChtSrp+-gkYRBP>`+NSymOu|D9*@{a zvjVSHOzKNj3%UiQ@|qE*pa`vR8GZTMs#&}w8o9vwMb4gRhC~Nc=*5E`x4Mexg}pBV z-GaoA`5Q)4pAl@CtMq-Ncm`86HNmjZw(#BSzmDRZ&v{r&ORnM_K-0FT)*kx-Z9dH!kzovoF&d92kM&X~= z2d>gknGWIH%vKE#8Kc)TGti@;JNyEt+nBE5*Kd3$czXvRc&>?7wsoEyaIT<}5f;Ca zI5Xp8x=Q1IVniUWZQ`fz9hN7>hvf-y5B_d94$fSCmCg#@9=M8T^9qfBRp=xGepj4u zL8=Oq&b7ZiafMZ#I3I8VB#56kAtxs7IRt06HV$wbkRZ?1JAPwc2O92YGwnEtPw%RHY{x^*Ie!lOKP9RJgE>i1_ zyK$f_KVjaP2BX%Cili{1Kw(&4o=qZ1?S|`3MPCWDxVvUfMVE6X$Jjbno zzpKoK2&&CWt)}`$9sJ70{x>#!AAPbj8h8A6pFEh#tI&?m0=RIokt6ik)=gj*K{;;} z2Xi^u)je8fC^ZOtPvupTU(tIM>Jx1)KTOXJfhe$|y|-K`e6nwKJ_YG0%D)z3)hzbk zUN;~&8+{-DtbTcNDU;j`yw&YKdweF(&vYIh;0pdK-$ zx-Sd5@cSS=%qn5XCG`xF)aqpMaVWh4_N*M387G4GbhfhK5=FLCDng;K6Wwo2qL}Fv z-dwO4$8h(KO-mcP@4vlWSypz*`OPK0nERd+~mxG2gcQ*RP~k+TUO4^r_{06=h;=GPS$R{Ea|po%S6EKC7vo@j!@`+s+&yJe+9*2z)KfC~k6O@u`pe^8wfI9Q|2-`V#25 znIR{4Y&0P1DI5^|UVqDrDa?C@SmMxNZb-4gI^GOytaaa|He7a8gk2>$=qmt_EkZjL zE{I)!(u5QSaYsF1XAQy7n=QVz>1=tqo-@A83Rwd78v8N&tUPt>dQcgkYNUVv-EX2T zEfLc-pKUy?0?dr!ZTDo2st68I-=2c|`C{Jec~lB|45hP3HL^caH{cN|f+dH-hGEIh z{(+z6bebPhw5u?GpbqBJiM}H$m-KiipQC}nOb@%qo3oR~R}AO6Zel$e-Ez~Zf4J$a3;9%70 zdQ~1ZhN#YKTVTsW^YWBHVxd zUt3Vc)@0utnP?Zc&g0n5g-oJ9&0FCjoAJ5b$6sA7$*^R3kvNi%utlOprkLIY#ntNxH0oYNbO%3`32+qk|BXJ!V-B-nvDE0eIlEok8UsZgeG;|6kK1fJ^akNY~ zFY*2ejh~(-w&LfCC(9SYLs##*xh=#VF*;ofsEbgL&PnKT=!e72ll^U!aJNW-ulU?R zbf8D~n*0xejwxp4-MeqU>~93` zt(E>sIsK~S95;rFu?nHU;{rck>TOn_ljUK%38ZH>W>qUVu~BUzDViP(cZ)lUiaTl< z@{Mv{p$jF9;OKN<`4)qZKG~ztTDC55MVH!vQq`&a%Ak9ep&M< zG;%I5ka6SD5JoI3Y%>}AIJWrg<~U{QpEs3ggO1I~sazq(!u+6X>G2w!yz9x}K(%Y@ zJ}3X!?C59+n;U!+*fMvpw?jVtZ#^N9p$Nb|2Y&`L56+${J>FRhI8y37Zryz4G%~#g zgsC@a02t`U5?5njbYy2iQ>~Ne@T8Xn&%IOy{<{UuKb6Di$Q_S$Fx@vZWL+mko=@rw z=R>avd=?=S|CE(SkjwWowkJyWcmwd65-G^4E)`s%ft7C&HLu%Y4;a|(|53mBYTC7R z4`$8YJYRDi(Vt$)r)FC=*5^}iq0Mic+tq|A*bkQFm-3DNw#7hQ>23zNvpAp}Fadmv z|BTobXPX9R%LH%(SgnaLCH$DoWN6^#;aaiv<=}@|D3Y!w2WO$uY0eAvb`~4)lTv2* zsupYj4wwAziaZt<8Cx=1+Mr^*9cxM!QazoUof{0<$Ix?cZ!ZF+IlGMh+mU1>u->@U=f~mEpL%^iXEE9M0i?!Ya)@jW zEtvmxOT_jT2j{%S$2%sT8tm+UwvR$4PtR)sTVKt2acO$e6gtJG2%_u_bpIi7&fx`n^iixeZU-T2&79 z(QOJ0SdA0nRsGE=)xW{(EWrBRSo8v{qFZHlhX&0?Q-tAi0V#Wv({KtIqeFUz1fcJLx5iRe)7` zY+OK3eCq;;eW!dCw51^=!gKhxr7)Vj1h#lk!vh9s?S#Uvysx!{xiw59Dd-Q=u@)7- z#M`g_LaoXxNOFW2f=pF<-MtMb58Qz=WBSsKDKMAwcKt=$Rvq2V=-=hupA`xUF7pJ# z#VMOsL-D{`Zn;rR+QEB%YS&RHjXiX1YFOcsiR66j$qK&Iuuo@TscVope@8QU)sK)r z&+OO+tb3FW(KnjckXo}xn!J-1o|-px6O=&{VT>cRD9V4!Y9MVD zEw^DYHv!^lUmGa!TG(SAWv*blgPlQ-K1ZTDjlX-CbsKG9QFDy`C&m#qK_)887E;Da zOCB;>nZ>^{EV@1+v|MjTEqknU{t2=UuloUC>nSVPuyC8{!|t#)+( zKHu6}xN`bd}Qt(>;jWiy0&S)gc06xav-w``IK%viL zW&0LG{jP3BET_|viBTh3f-_^?=X(fe1hWtobKPC#-MZ!%gvFoKh;_MlY@i@0O5|=h z$o;!SLRx0Y$DUiEvro`i4)Occ9>35b&pV0nOcgngrJk6*{!AU6ZZyIG{dk9QG)`ZI z^#9#ZHsPY{)~#ffk@>B=C0Id*XGJn|=6>6u#gXY~AZqaO{v@AXYRi*|40aUZlfp~MttYIwM6VG0Gkmk z$>9r>Zk)gIVP><$^gM%&jiK1Ipb2kSMYy!K&huZ=UPy2G5KGX)6%{4it+~Ec@yq;@sU`|x z4ft3PU*v)YRd`vo3RWE!-wG9Dt`eXFvh8%7NPM{=y$fYhhe8 z;L&e&cKp)`04V0gviPK>j`o<->y|PE9W#4r?N?VR26yM( zho$DtO-fXQmK+-D8PtfcYhZYloHrd;D7++s_$|5X3QO5KcS%O-k#?(n{OgBs_;n8l zWjf1L>D7YeU=4Oj^>CnBlE7Jk;yAlpO|^{|+*_mxO#LBiqR zt0(6}K?a%odD!$M2Rov1Bxt=INb@m&oC~>+HSO1|`;Qx_me##l?{TJ4KBFa1NgJep z?#&72dnm10SzEk9^9B9%ZMDGd(%7D*NuD}a2?av9WcAU}g5_QtF~6!JzDxZ4`p&^( z+t>E84cm8j8I&tF>Rk+ELr+QlDErqf;WJl=n~a8qaN^q>0WJv#JcUx+=KX^Dz0Sv7jRB0JMej(?~h zekSRv^}lVZml~rfuG5=)1M-$3tn7_K_aFSlNO@g&lhxldj(vCEb)=1^wB3-xC-+CI zE+aDYWQVFWJ(_dwouEET*l+_BpseVKj%{m{pZ46H_l z&+K7g%M!VEj=|cacA!Owyv$j@btW-P`yYok6snfCl5qx!#0$SA@6k}v@MoJbBn905 zv|C3<$DHw}@nS82$kn`2@B+ ztKk*x(a6uZ^x*d~ItXlktTEe`LT*&qma^E5hp%4xRj11UC^)V`8M`}Es(W~;GUcAP zppO@|171d1hZL^peP_Gv|LG-JS^0Uw5o)pCl~djFvocSm1$kocRqMV3v$6&IXyj3* zs%eMSt0R;WaAq^2;##n>;{%Mxn@+7G0G45ZO}B`^jmN@hBhzdUNHF+L?-Gf)*38$m zTTW1uQoUMmsYGyCUy2HIy?Xlndh0k8mJ+ovgFxJZu42{oqs#`Wm$fW)2G{mgaT|u^ z8vNYAKeH$^OxT?={{Sc{I(3a~f$OG6s5KWSDJKo9F zE&VBUgNIe}r@FO#FJpSTbyKs8`IYFBCR+Y%?<*twyE28Lcso5L&+fC5dApTr zO`GrDK%f9A`mUFZDOj`75WOuKWcAPCW^8mcDodb&eqnQwrpXR|Zj$-rZGh#=Nn{4r zTNXX&r3Ijw-A1hDquK6Bvi@$j2rl}EXMi;km_tW;a1C_FJ@j%V z2JX(pw#^|*Zu>K7Nqj$4*%G(HP};7puDM3!920i;jPbJ;zHvee#d#xhtSO9!ZQz>c z)ci>gJt9-Fq{Cy&Y19I@3YDxq8!tDiCYgfqe1a#oZh<61T&-~G$u^W$2j4yn#P~Ezho53qX!TrGh6&w z!!~Prc8>O9g-q}aIGmW5d&w8^Kqz=jXD>{cu<6As?^1GA;L=JRqW$=o5YR?USV5<; z81k%R*F6VT_!Fn6wxj3#wG?r<%lTt|@P%#Ir$Q;IUFYfk)&kX`nlnWqc@jeu)Z|Qi z7HTeFJCL}`0-m-m#Zvu$vpm<7EEI6hNatdNDG|_odYZi^@+LfGKogE&HHfjRsqzyy z)Hp!l<{h8E+wg(xxGy)x|0SA z5z=)gIX{&bc&>IK5uhNZ@Y!y;yY&0anVm-`?S(#WyE{B|=Ho}r3U+TJDUIFnvg=_H z>SN_I9MC=|KoS>y4M4B zO*z#b4zcBwv{;_2nO)9&p5YNEK)R_gsYY0tPoO%UC0iOMMP9lQb|S~Fy?SFMGk#(2 zUbqGJ{^YP|0^eDT(-(~8r2SFPN>$}G<+Bw+g55U8DWq^DTk8iWzI52RX_tTuBP}_7 zQYhIFtn;vWis}Bnb$hwdQsiO7Q3ronjp*|${Ppktdm z{$CnA_dP)j*MGDmRJfl8eG5lEOGgiMacX`7S=2<`=arBN5d)8)gC5Ify@l1>tQy0f0B!?t}+(u z#$@*R0fH+K$X+lg@}bsUTW#=zk)P;A4o>Pu8w*XsS@aed>@LnBeb~0k^($@O7QCn5 zbP!#%_{dpRB@XR<@^1chT>BdDc0tjx%Ds~xk|#lKM?c=ha0a06)E!IrPsY7I8Hgvm z5M{we9>>0GV?xJbXQ~%F(JlK2Ec5>8t zcBLmOxa=*&+S>n2Iu=v(VQPIr_{a<&o=0PO-}d2UTTSu0N0F);XONmGBEw^GXco?i z=1a^h_p8jZeVQ~%*Ir(eyMCywSX6yMLX4DOy1liczWq`yn zHI=u=mU`Zvf)Mh1SP)y4SwG%UbW>cs*Foa>vNHKunx5J5=zxF~?8=J%PaowB;|j>{ zza2$l5jK;)#f2XjnP>~~`1+psFvm0iz0Ym%r%J4C3&XMVfk_X4*DTw+B|d#&2z9elfOg zLGo2nRaW4leQ{Ay2Eru!;(SZp5{!5x5Wfe^&rl&XaN(IrO-DBg-_YD-+nl?e>&7L`z7iq!39)sVe*p}~6 zP%dA7b#nkH(rJWh{`t9dJ}ORItSS#+<3+;ize{^p*L0!911~;~-$)yn1e{8@`Bj8v zCM*o|t-Cn+P700&oS!Q`$W7cteR#hegWgwH)3tA3 z=8zzckK1PhEAgZH8rVwb@gEwKM$@i}v|4%-AhP#9kP@wuv?4}r$5;s@?y8t)3_NVT zxiuy125eg?{sw$Uxb4sRIfl`^srA9qtX3bM1ayW|-WHb(Z9tRUsj zM?c|b5vzL0)ae5cfoG${vA2DCC+}kAmnYVJm=JD)h6jtDz;`GJEW+15r5eSn()6}E zb6#KZ$!mFQ>bJS5>Sa){oCKFLulUaIoN~sveLre$4{0vXt)|%queLWZl08N1VUbHw zt~#XZ9$|uK_XvcKc?9^k!Bs;vE|TM|12^019p0UtLkyx0Uv|e#ihX);KeWhA#|0~5 z_`q~Lg`Zu|mGK3B+CZc42SDeUNzI(X=8aOloNY@~VJn5s6f?Z2`smZW`E|%oyU(!K zM~!}Kgl1CsEw-j|X=}l!b(HYvS%3fdphIVIjh6nT|K06CT}`$^vx>Ynaj>ctANn~m zT~L~ftd3*021J`mTEm`uSgDNq7FjFbH?S=OSfw{z7ZP*sPJ81@ORT2_xdXB$#a?K@ z<04TMj<+4x<~O3Xe$=dc(8`c(FVqbKY8 zarA|l|BmQ!jFZ1{&;S2ECT_Vgz`gl?!|2K3rIBhz2Zl->rCKsNW0-)^5Va(Dp7+(} zxRFOOwqZ9mnuN-{r`j+Rdq6Lsd$o3U1`@AHSxW-Nx)t2JoHPEoL2c`D+MCKo<*>!? zSqq(9{NBOiOVNeT?~ls(?p4Ra!;lmTs!f;mkx;9)i|g?YkCTQX{M+p{uZTRf=ic&&B*)@`2 zuSEpdS}PMiIJrHAu4{aDxLY=*TBB21ny>yz2tYY455CC%YFVHSpWY4U&7ofU)YSm6 z#=>~>X78}H*ak9;*|n^lh%N577oQxtM%YvQ@LvBK1anFH=s96Si|x#|7v{_TgGU6E zsCL^uLkWtd-{*nsM49wGnMz1KX}4kf-MAgbWK&(qE%tbAjjAMR`TmNAak7Z4eJyij zz-!JGpf6#~r@A_bUd?@=1kvP1GEat(*lp$2)I9S0zNKjvOXN3uMGhMj`L7w+l7OQ^U~ zw^r#-a&`xMo0jl~tO^9*y9(>U?-st?IC^zf$HF~Uzk0fFe$gXO69BZ2@tnl!Od;RZ zIQ`k&{e8R#$;4D(1VZTBp@cgxd&~MRB#@A%o9`FAV)Cyn*umjkC3O=h(Qp4`n zWvNFd0zr=AfJwT?m{vJGGLSI@8eCHtRKJVAB59UUnT2%ehgMGYBikC_bIy?eC~xt5 zq?&FYY5rkyd%?}0J{g?4XNOyCGdU`3*R`#gEt90zd4JTujU$rNy1`>Do4+4F^nb(| zv^XI2_{z(0VM8LROL@apytXAr?y5Wy|I9Y2mrUM|fvM45Khu|+6zIS?<3f>>;{Yju zxuzb%jWHOC{QM!`*4c|+NOmbN_sp#%^4d=$!X#xHxUp{2;_sOAuh91u6cl#Gf3kn| z4v8@BXvB%^BZ5&t~SCn?!pRgNQj4)I9&h8i9Ny<_I+c;jO znrDos>TEGo`s6L8nij-KVYgY|Z8ied*<#uBA^oka*6mHl?;Bwa1i%f*=U1(jqD+m1 zNX~9Y2uF2bhU*^Q;Qz#DDrar?*{P7?&=Ph_CY@zxl~keaC8fcbirT)}`?wWz>%l_H zeA}5x9Y6U@a7IGa3>n@ z;uPi9%UtxUx5}){YC0>fvs~n8h8OwDdmY3t$o5#xUTu;kUUFdGZ_UMswMmSx{T~o0 z9%O2yf0yxlTo~9~id?`+>J`bm7l({EnTP>MJv!UxS;`|i#FbBIt zi@UfW@`Qe z)3;Cgn&x945Xc~=z5H8*$Y?(y^5+(Wdy4b)>7k>=B+(!xsS?lis?|G27LsBMR47*a z+5AVASzYgdfW$((i*r0NJi8tNBgW$rjml;`DpY6gnuH5{|6#l`QK1Vr-rMoyRwkK) zfgPj;SJAUy2Zs}To&-ezVjty1ob(fq7OiTTy7>6=>QBkr&>6EeZ?bw79|P4;C9-%0 zbiUt)`Q~hn&~TTFE-SE-w`DcBYZ$_%`YL}v3M(Okz^FcLwv9pt-0n_@Yz{!ggQW;l zVLU;j@}@lNeeybSQAJc!I8lR##WrnF$PwH%F(kAYjTe?Il9o~y#om(QkiB;89U`X! zB_eNnhpji#Y2DRh6`HyP?l2r0n_XkZjPa)2WIdH5go|{YKFgvv*AKcTo&qBA@@uej zf}{*}|B;^aSe3)`=S*3pC9sB=)SZtKa|O!t@9K0p$)q~Ayh;-BRuKN7uB4SxUGa-P>ehNirOg>MB$E6# zi^UW)Ztqc;WcmcT1O2h29t=7~#f(h*^RTdZK2f=yF4>RvMy%@Tx{T_5HMD zU`EBQj`8VOJmdiB4~eoQ4yYiGl$DPv-9DeVE~PHqbPzvh$}XX$=L9-wWTE{X>0I4l ziht=;c0aO-^gZAm=E_X_-yrh*=$}*u?eWz^aW(y;IoV_oXi!~zt2QfyLxjb4M1`uW z2akic&Wa2b$t`PB|I_{JCVu?{_>lj1)>x2sG91SYO!q1J_Z%#@+9-5~A?hYRwpwlo zY`H4ql*9N`s3HjVc)-FTau%&%YraMje_J&J=lhS0j+bHu0jd>{=O<{E*ZN0mR*=0H zKfldnm zj~6i;dZ2#ks!YvLzTf<=yga_YUIDHI^)sVQQW#)nY1i@0N#UfvS^ut_}n z>~91^;I*&8ZJ8(Xu*cPtqQPdIiwAG)9^|um#${Xv9hOy=GZXZ5xi8#e6%-T{Ka~cN z+5o(%5E2mzY&JHkc5jKGUQYCxf+pF>Y9+g>lD@;~_VGe1^c1Quehy?{X=jRDX?2b?J6#6ShuMw_An8Ru* zD&aZ+1v1Ze&-Sy=981R7Y{*Du_%<7tXd_MY;JWBrUJ4EL;QD2DDfh&AVKu?iQk(*^ z9tN-sUw3zD+=KO%V1HSc{vJ+e<`miq1F$U+|V);mzW)%pAUq8 z1ME1+1tN;Gm+wcrf^nHhdbY0)U@ERAgm*5S`Y^px6MSExCccE~+rVrMl(&{-zfB`e zlB~$H#!7^E=h|oK=|08(YTM$4czzunZ9%p`925unTM*XRjE-OGiln>j11ifx-9o7v zA(oQW7eEnVOYRW;3YM+t{mtnGAiCy^%t#@8*v&S)_X28P9zhe0nwId*T+3ULx0<OhG|-!EQ?gUTuiSk+?R7sNwu?Mfw2^+ zLoIa1&vR54Uny%~D5Bks+{6R7DTb)~BO#uJtR9rOR!nSbNdc4{l_$XF0ziONE>`?_ z`{!%(Gm-9&7q)QGi&Sl%xcwtw>v?n8j^{%@)=T2o$_?D(V(YRuNNv{zH8PzXtd-oV z3tA#mmBhfkIH&xgmn}j*uE78^hihz-^|z`efW|?f*u5WC2DBBKW-kL~y`A7Ftw(%n zw{tSJEP%}JKDl81a1-VB6x*KGJG0*5U^ljozjmJWt}J{7P{6AX3%=tE7T=8Rv<`uE z!xR}zM46c?vcI8L?=k!@QhKlT8`j4vI&tLO$`YOZ(MhzwZLKO6|+4`id zOEwmg&cYAeA*AVS1dsk)alC+5VRxJABsESyV;VNR_VFJ@h0tdNvg(HGa>nh3Mr=2wdVQ8aXZD zNCV5o!!GHy18!;Bl?xUs&*}+VE`$$fyv^_OW;G1>nhN~*(O9!Cko1;sP+4?QLfsnn z_N$(7)QFu`BY>8$2lIcJuz^S1W0jGVjGUbxM4bXkCODiRXN7xdY;5d)`)j>|wLHTT zE4ymomX1BuRS%p6MEgp=KKy!G)pdlf`mea?$N%LaNoADC|3vs^D~x1w)8(I~t0OQnB^)BQ@FF*g*=X`95r2KSQebEZtn9%Z`W z+$lg~RkzJJK$0n2fv0$Mj@Ab0qosK$$9JSvV8-{6?W*EUvccpG?ek>clvgp@=!qG< zF-k0F&m-&i@#gU+;~u4tN*{!c98ub|`*^yIn5{3@sATdxOwi;}7!yaMa(PC!ofgc# zrzG8VW&ecM5O=hZU`7Z6o4b zwu$|fnX!?u-{>&w&LhTl+&-i8LN}rzkg-<~ck;3&HuA%aLUOBu>GOpc5>ZF%(X+LY zKX3Qs#_~AdcSC2Vy|Z!!Z=TQ!mM?v~1B%{{xkf%}l=@7jpEmyAP^p1VJo!b?2{+KS zY5%G|KS*Oz)&_5tV7ZSNZk-OF;FFB$qhr9@u#2j@hD+-fTl}-e^;Lv_fPv)Pi8Os= zx{YW6_}sBa%artyBbAP$gAR<+i~nu4DsO0I&3OF%+7G>G{hYG{PAjtbdBU9TJUZA6 zQ!k>#ToxPN%;6^L;{``Qr!} z-HqHC8#+23B(`ix=}#KV!`RQY>WX>I$^6+J9bL-h4mFH+w)*dbZa7|X#b<6WnnkLl z`%h@>YyhpL)U`w=#Z;;$%a-XQS=H4ZOUfd7Wd_Wb^HF3j&muMH16haw-0%}qN*Z+3qKJs5$q+$oZ{y{6%5 zRn^=OxJ{*!L7j7Z{iyBXw`~!Q+rldS^8G^k4+4=3err7(8PU~Qe~$OA3h`kQ`2-~T zU~OZ164*-?t>+(_J;`E(!6U8<@J!X=UGnPwQfR{<&rG3DPGU?zS5HHnk<2F%=6iGa zdzIy6e!9+3Hc7_XE~9Aos%Lno&5et=co^tuHQV(YX;Vj zC}h=c;+!BKVs0>YpbKAEv6BT2;qu4E>y|6${ERIYbEhT%|h-USpT*Na5z%`_1 z0NkMey0%2;rqbwn32p`BE1tzztpn%5<{|3ftzn$J9rt!vk__M1F10&9e?8vtme5Zd z;BP_N5hIHU*Mds(y#S?)!Q9g%;?!+_0oFG!Y+22@J>bM~AXEb%1kS)l*nwc8tftFo zD%WMcp0||>8#|#~Ds{ArMlvZ=%vK~){oWb*6p@^KwxL{T_W=0H%^2A8fFXE=E*KH#@kRx^u3{$Ex z%VAku46&w*;CR6J@TIbu=;}qzPmeP^Drq^Z|9Al^2c7Vg<^$5$3IMo~tqe5SAoXr8< zndFh^1J3$gt{ViOVrA9iH1rOdOp4^tORGuBVK+q+csv%=#xozC~X!gB_P4 zlAre1>HvBx&o$5kNP!oubgVt!AX6SazkcjUWA-?6UX%DPZ_B;1h0h{wQ0m!zOECOt z-_?_aQZuDnaNbaKMQ>yczGVt>HMSUAXy^N4XilUEqBICi8WJZ)ZzG(}89}k`BfX}H z(mdB>WW0?M%fSG7D9=D?crpsv-vS_~|11j%`1!g3RD(9}G9#BD9dWALgsYg&9IFRc4n{9*v$-2r!F+Rpq3 zWR*rwzh1PEOo?aj89RD=Ch;OmYfaHISrrxAEmXF5@bxxQCnfD?9x05*me>m;;@SBn zZ(rvKo@_$O<&K1Wj?B}F(sgUV;rxrSEd}9jNog2a1h>>~#~vPdPZM8?Ke*QQ_UBuR zM@0wxKy>b=3)ZV~<}l^;U~hlr2=*b4nY{T8;v9A22j&0gIuZEYxgU74InMJq zuR#=hMa@tu!dObQk`XJB2`VFCYyLmB-Zh@-|BwG4a~PpH^!cpJVNSJ948;&~&Y7Vi z=ffxDI4b93jO3JZXc2O((Fvg;WMW7QWz8XH!(-Bs- z9{0PD)WJPtk}G7|r0fA87_Z2SnM{o}=oWIa?L();8+c|+6g68>#Pqc!*FS1TyOL{{ zQ!V&)%G}~efrY}@^c+L->rsuA+Duvg&D7?;ADI){3j8RU7tN1QWbJ>5ha4}IRU|Y( zQ`NGY3_2M+KkFlN)qs45+St`t!K-j;`bFXcs3W8NxX(X)ga#B3s%Ba0)oo+-Feq1H)4J8%)6$^Z4VQUASc$$2O!`%?jEf10xMjC_X6PxJsg%hd z5c*5fP>E;gx_7ZYU=UnuxE!uOJ?<}+R6v3?0OkdJ<%GCQ3M_kfhippAr_^j;HXpcC zAVDafQa1`B#CUCxB{F@1s;0gGs0Y#s$7posTjptZ#;$tk|~I-J&obC$BS(_VU~J_x!~p zi><2Nd`jA)`xf@M4ptA^uoo`NBP#wt+NPj4s@)t-`e`4< zn19psE--4zKGXx@!%3kpZ31`2lHy{%gTs#~W`s zIoMBdf1bpfJKm<)Og;gbhxUquqK}Ukpzqgn_42YS#X@mug81y9tb_de$RMXzHnMvArL6HtX6R4puHu)X?mIYR%6ai5=rvF2tO#Cz}Ajr0AdfP8US=0 z`hGaQCesJijbBhTl=15HH3fqF5rb#ks~-(Rvy(T(vgLxaq2v?Lp9gm*CmQ|cbNKA2 zj(+uW28(E=kE0E>T@y|egiO>gnpTAzn$siWZy35{unJ}5FIad1hv+_!=|d&Mz^4Q+ zabvmcX^mHgR5ZBws(dq(y9l*4n#Yn_w^B4XA=Pv8k`bE$0EL98)5o8IP(BN_W{iig z5a!T|n9<>1A(m;`xykfs8IYb_Gs&!fw35uTol)Q-pbD41Yyl`SlXNP3LAG{*-A33A87R$&1n z@VB}tpdg2TCv>{w%rLnz<{ZH+bBvCD12LtwzAAj=@bDFXu0u>*3~wjC6Xp!~RVkmm zIPX+sX!IC{Mezw2RS)Ni)6+Utf_H&@QXdM@9>VMSUYZZS;%XAo9^|9FurwDs4c)WW%Z6u5lbT;$ ze(&y+=`)zJraqS(KiNiPIQ^aZ7aAGl8S^>;%zL&XI~e%&TcH|kjl}`}yO5Ui{F?Q) z%W)ZQgfd6Y@#j@c_=0O3JLY3cYr?}MM$*G}^MyIB0M)?osKv{Qk5`E!k!|NiA5dM} z*Me9`Ly*n|CbQ~4Szczf-hK+bkna%?d`3 zxa;+LOeKeDm&7bi9FyBwJz%le#8+iEA)zjnd$$4X`N1Ud;I3M7T?=9LZzK1gsw#Rw zREGBJ(NWW03eW@`%3m6H=?9#WDqjI*XKdv7q$Kfn06)L_=5AHhT**aMQuZH8)qk1F z0}sUyx3{+b-r(aqdCP*{i#^<5P_*%gA^`3FfB@>y5k=={seNw&5C#@m_D>#e(`Q_Y zhlYN*A8Z@dxgPFQ`rG#keQY@O^^;fMf~T1MRfrMwiKEUy!@DfSLVZ za@gO_?hoD>I~qCq4JfalW+Yfy1Oh-(7c%2nq=H+h%zs;Y!BUZjGi8L(d3ohOO zrmIfsr)OhYMXd+18Uw(|F4UAV%jIjixW?ifXaion()&Nvc%{LYWx+;w$0m=q)q;R_ z>ZJ=e`QW-*zmGQNEvhh0 zz&+s|UV-BUZLo^IRrPP7KAq6`-87-{m{-U$;gq_>?Luhunda?@}Ss$uC6weA8azMP*tT8MZ&{dRaSr+W=Bc&9#+3fnmKnK zA+R;9Sp;B_TrP@v#c09aGz{X1qm`c8B~K|eS(i)lbq<(1&lUfZ$w=T3`)ma;O( zYUeMAayO}jooJ0`%S}P9Be!q~(W~Jt=Y5MIZ-0*sYd$z*V}3%A>+8UTRMU4S31U;v zvZ_F#!1QWJ&}GwC08}tQ%^rKNY+Yf@+k1bqsbM7`O!rPXYqU!& zpZ<%y#_*3>p;HCF0ZigK%8H(mWx@io{Zq6;_qe8##R8^S!5`f5>|9T98@{l5MN<~V zMDg$35GcxhgVufV;pKe!69<7Cr~o?%e>nmWgv?bCJo7NQ;n>N-9|9ceJhHDF-mR++ zp%lF0I|2m6dxVIrt-rSk1I!KH?(q@78e+JTtb*ZBr&R)q8Lf@#4;J@9D{yXVf7qTV zV#UU{oWSE=KZ>Ci?1pL2;f9!rePH(7V8DGED@GfAKSJ-kPI->33 z*hAq@2S952pX`~uYt43Uiew*k0bk?i&3`CV@dd2bur4+E*UZ$GjnfDa)DXQ>op z7}y$jNIb|nDqdz+d&?>4DZz+G?lkp_*x=g@P)XIBN@|9W#Rh(K%-{>VgzGu=46Rif z0)1wsE-NZ&;-$J&Eszyr*`~j4CPN#3wEW8ntLzdi==s(XIIi)r)k*Qoh(U6;TuN|p zKC@7Q?n$pu&Ji{h;N^__G46)}MzxiGQ{CMt_tDxs4k3UH7$i0+?d^)W41AbB;~Wq6TiUFxa|a-@mZ_S z4dDS21AJLW+IQ4CW+D8Ro!zQ-pA&EvBLg_7(Do6mlT1cdjEaM@CYQ+ zzUq5ctHwuh;a{}ZqI?8zqPT@|5qyZ;g_RSfOxs3FVjM}us|tJo*x_JqwrT9&#H z9-AQ|q?ljyXyO2dm%wrw{B!rH!$6q1c%?$jL%Pg?ijw+Vj#_W!IAxwh!H{Yd&B1KaodK zGY+m8e>0L%d%5RKMfF)>ZV>~yPU!^P4-13%<0|+d?@2TCw*!*-;yQ6l8|p3)KzQ3b zJ)of#;bVzAuRMf>lr}X6KEr*C(;fR8Rck)7m?dO)C5kmS`S5wfY7}1}VeVBLe|?ELuyo4hPAos$q5R-%hQ6nD(GhPg)37 z;fqG~JEUvA)Itom(&LA$WygaYu|7!j__&3*4E~t@%4SB56`AahYonqz_+C0m)jz6oNFuGz=R;K6?su zma=?miI;>6=PPQOlj6PjwOeXxZbGK3WjsVA0FiMILL`LlNo9E|qDpI)7vn8;J2}@X zPnF>ZfuoUj$q@Un7geccW?sd_SDFZ2vqf^#^v%0}`-#qH1qyedt#IG^>IlyD3rvc4 z##{3Hdm}DR$Z;N7!3JX_er9w#{8g8|M=(f55DAS37l~?EMGRsGQE)L7P^ae3p(&IV zc8Pi5qQlnmh_p$D5E*^WQ>#jgn_=1&B|)H;e+XjnlJ>)5YMVGyAV1C3D8@k`Rjb`S zV4d_KTu>&YaAIr=Fc}7~&g+@@;+FeSdz88tFV`9C z+$kol{6%_Fk{Y+O$|7!kI!`6U&uoMd*4Wi-rQp2-`b>R0u|E9erxkh|z(gR9eh2o* zO~W&J62C`o+)vtW3>rXHHjlQ9jSI_rT~ZO3Q(u5`|580;E|v($SAb@WmHP)y9^fed zXL7=&$rc)2yn&am{Q0_FXDy~$iMz8uA|$^-ARlI%Jp8l(f`bm_Q?#m(sVF1D!9kl| zhsJoz8m?DHP~cs+cW4=lz1pTNXJT&iH7LB5a8JehlAef&(uHtEZ2^IVf-kLuxuF76 zcPCAG%V8cu-shBh@ZWulteCTPPDtA8XO~zW65wl3p=DdBah!<6TR+Wj882Wt-+bu- z{+F)Zdiogr2}m8bow$y@n@1D`9~Vs}8+;hsp6HXV^NBi{;G4S$Ku4%etkh@6UP$Lg zog08I_@-aYY=m&6UxkA*pfB%=$5VhLp>P7XtjfnZv}@hiH9hf$BF;#K%w$&=?Ev;n zNL(;PL`K$^;Xpmu5(0JpHr8iO6eW`KJ{;$Q5p_n1>Sx{3IliUcM=OS;SBy;L38~!_ z$EF7W;LxZh>MH8aOK9?X7@CCtz#2A^GfFJ2#l=JAr{f)#Dc-RWZIDufyBt_hvQ5M4 zNY0EF7{&2~@QFBqCFe6|)h8w=fm4d!*@o7dXCzq8umo}{IxXFqC@2-PNen>QnEr7J za=PA;C!)gfXNXp|S+U{Ez{gsLi%j;Pe$mh|;|E!1G2;MJwu| zeL#5L_&`khQmBSawj;HgHjt0*>8@A{Vl+8~Ptx<0-+v-dJrxtwc@DSo+bfZO@sn#! zRF}_4v*=GcpMHrcQ25t=NK4PbTYt7*F;YG;3k#E~or$yno&=E@m(g7fouggKrYgh1 z>1N5(&5gO`^0E4JD_dUHsJs{*>&1F0Ijj3M%rWB(r&XLAR*1N|0>HSuxpSwx_o}@bT zZ80&ieX`?G#O7~p0X2WBqMOgZPq27Q9%7mX>@Fek%1XM!lZPAP>Q`b8HwbrvDr(=> z3RA+htxkoDw``HN_pFY#taJ``n`uoTG23do6%I$VfrwXe-#~>Ft6dkFj@S zZ6jOxz_xW~v&u?2)gd(>0CbHJ8yDgZDE%cmQP-(0jPg(Q$!CyvzD-KqyZypnr=N?5 zMe?h4PeYi5`PHk%{ebDt;4XnkHE@iphv7P}3YCgX z&%A3OT6`-LWKmZoQwHEhH4RUd9x$16K$1i+2C)dMmu8pt_E#h(0Tn94-}TsCosz-x8?kYMpA%FEk%LUdpdi`> zE3^^k#?ps7;aZJXN=_?~V*X`zaPXxel}_ihF&4E=Iau`F+{)Qxxmf|_FF;7vsB=0c z^G|GHsNFjc)o*(+LgPdwbJh%E^Tz)6lbq$nOi8R*TE_3~?@l_=N2p49`O7d~flEUX zH(|{|4HJ#qKc$*d#goOX7AT?G52Q`w%`EfLxBe}ZRW7Vm_nO9k7Xvp>1_pr&^g1r@ zv3)$d^K#6uTDcZ?DnB7^63h{blx{t=g~3l#T4T)0!NFM5uyIIh(5nPRU`@Z2F657l z4?|x-r({=*jI;Rl0SP*f%olXX?DR5!!=t6>o@>$`^wrg-dWTK83h>^9V;t1Ho_16% z_(v8ye~v$oITyGEL}Gz0|P! z)^AnB1H!ph{zxuC;=@)TI4z!!w%W!Dzjse!+)qM3Ra{wFL?+ZN?Qe8*sDR%n$ppQC zr=16o+duAPXlHW2PmFr;@x0a-Vq;5yOju;mOy2Nq>bcW@x2^*LDA z_V&a!EzPAZnhz6u=aqWmuf15x_xU_yde?_Xv98wzfIb0Gzk_m~dP1)l%>O>liObs`PZU_IsSH0bjtTV|v1~$063ih|y6$@sUW4xjEI5 znELRch@!#M#YwZ@BK_HtWgvYruoJ$P+YQ^u6OcAfOZNTv>WlO|&vHIxNwtI(Lu;}i zqT8Lk6!d+aG^?WldP<9@9ZqQZOfK#J*@4emhfMg-Se*}<0@b@MD%#%^mtikO2>HgiGEJh11d476(ovM{uuu_bNtqc-xkJ@KR%Gk$}=X@ zZ{&p0AIBHF1b+lXv?LekmQLOaqVa8b^DWer_T}k80yIN!tyGd%rUrUi{uM*yWG6qc zC*@q6O40|f)kg0Gu6QnXCuA?WIfD5_N?Qw&>hFW0FBvy=%gV)trojEN_X7(!->WA+ z0_=f(CZJ&Hg$>_K%v~-|^L~NE%(ba#%P~bo!zjjqZnG3t4`l4&6$%pOiFYvdCq6M< zR?o=!7X6`a3Sk6?yz;~M?;B}=qr z4QtS(K+pUuha-J9Hd$vtq6~_m-ZhxTcj8YxuM)%9+QXM?@xY{7$qmWDRSM%6?ok&| zgn3C@y9Fdo$!;49L6jWDE4V$5ec0aw^wBZxzN?EQJzlxfUu&Mq9A4$oi+4CHlWX$p zo*nZt=fl!_q1X7Jf}cifHOjbx-DJkHUN2c66bRNvh|fawIi`1qbOaN9^gnZFPia2- zYF|*P38G06kp8S*CL3XtSaWUE1s~b(yEYQ_SOCY2bue!}r(68J?4kNUJkk zWOy%hAO?MbU+PLR*BKeTA5HIwlf4L2kdYFLNSK^pyFB0qgJaYmW+rwrQsmVw`S$a@ zYT`=cKAt>!Y`inH#5hmLdR2IcJw6n_n7QU96mTQJu{H~V*ojLx+1DoertRN?vbcKJ zFs^b&6Q^{1vTbk1tS%6Ch zfk^GCHYtTs4CANgdhY9XMlsO;=?TdAC?MeTXYFZCF*FDF9DtA$wi&xqwzpWjyoQqB z3G67UOlzY&F`QLOM)iL~?FFx+c!X;uJ==~?{=6E_xemVg04Mb!Sk8xMC#h#sSjiU1 zqTSP(vaY<`V||JDKM!44O!auqP6&u=g~%EfUY}BImWaP7H(#y*g~PRy-TZiUklnrJ zpkRZD>HBG^W*N{n%&UPPH1eH{*nK%s#P`ql^)zs9QZ@cE%fv~ktchp1mjyjAAxknS z7T(as4BN@gJZu9F%l0HCX8Eu6#Y8PPTd8KN_b4OAfwU(oXZyo6su>VzhD&cUzRx-s;P18Iyl?3otP97z3&|&hD4MOIs zJy2m`WJC1iKhGA-xz>X5mc|EvR4t@r2@|x}tUy1RM3b&fbxm4Kbcsq&o{^Lk!cfcf z1UrFOvlyq3Lq5>ra4W`UJT|$}@4|K~Lwf59oJXDZ(Qx_dE-mY!=i_r_&}trTYl-5% zD#y*JB)?p47+rl^mbbwcd6HAmHc1bsZbl0VT(!PXM7YTYBfTTMe=r(;fBC#VelfsAx!5W8{+#BmiSJ?y5f{U+j{qdK?d|Qmt!NLjjX~rpwNdK&ZA+C@CBXh#3?yWIizHd8 zS*SVk6b1sHT|Lz9F+pS(*31D-P(M@h)I@l6R1|gldD;N6LHUOfL+`u@BsinkLv9nb z?9$l3C6~5b9lsY!REi{cJ4qed_@;LPoB@;@WDw+Ku>Jwx;pQ|(umh8sc#7&mL?0&O z?Y4`NJ&%yBWJ4b9MbmfA+}hZv))Alj$w2nRhB8S@nBp)xO4XW^H^<=N6{Brq&LjT5 zYyaRJFA)4)Dz#2uGM*lPCY>NIn>C7y|AqyO)@-&oY3h81|Mh22c%XW%{A-|}em zDL~4{Sl0Y#$v>#(wzeBYn5QWfjOUl=fTt&nYvw3hk=hmuXkG-t+cLxw!~gb|(i;wq z9>`#wb!s5tI)kz+M{WY5jWZXoo#~Md3A^BwhBkpXm)3-&<0K0(mR4i*Fl{0M*ygeu zGJ&{X<%eJ>Kj3HrH9PtevH;|;;}Wqk1=3k|*(Hbp=Qi*#$@oyOiFoF;D#%C41BV28 z=8Z;S#7%CK5mx=k1^nx9o*VOpFfN;cxT9^sWPt2x%CvKg(OQ$sO?-n^3A-c>fCFD= zX6wYm zLYPMkB2YUAcfqvGx{FCXXk>X;90tMpai2XXrd-M$=JWO{+#sBCNcH?q0Az)z||jbF8k1gIDmJI*5)r-7tmONtOFa?ydSlt^_=u2%~*>>jcg8CARjrr>*%D| z0Hk7!K&nH`P{%VB#8I}V@q8VSM7J92|MvH%sR>4VASQ$SH%vqLD`l%wuVG{qc)lGU zYSu<%uWxLe7kl>-3M6;P*HRl%Z4+yOFkF-`-BbVcKbcsOXaCJ*B7VA6@&~TCz}#B;<+c)_6W2UjQgXhdZS5zXmkU5qmS|sDh`6@! zRr%=XC;PGd*9LEk<3D`DL9hQRcrYk51r;+B{tES}7s+DoM12cCJ?-cdU&&a;um6l^ z0)0RZ{*L>`Eydzc6xf97s&2Ppo#Ne>L*h%u+RRJLuQ$2GeGkB3@lCSW0iCz zgTc^$CUmliqmLC%^^a-=+IsBxw**GyWMsf!yzAkPuh*n|*eX!m@;inRl3(?d(kNKk z+Fe=-mGF=I9TY{6V)*$iC%dceZg11RaB^yrYxXynuo@Lm+eCQsoQwMywLYlPaab(A z%DWkF^-UgeMUq}})TElCgg{s;4|vt2td>V)_@kTxfhot)#GC!HA5!HK!z zp{Wk+yh`uF?8W+^NsgM;Cy(BkP48^(uLv=+Qcr2EwZ3Y{D^@94^>Bk_lha&}fW-gY zc8mq;Xmc}7qRLLX>_t6wbn>#Qt8qmK)lO4 z)IL}Xr~A9IKrb!kkq-s6zcAQQ#Z~>$3CjloV|9d)aM$Nh(Bom2YbvxQoxOzm}8*NTN13!g6fBus2on z7Yt3*-xWl5;Fa7%qtSEK`Uq3T_cb67QM478Vk)7B?tfMC_Z0@sk zJ|i8*8pias**`}E024efPw~^oqHR}3ZK9l-P(|-++0@lcxU#YeLm9vBcGoXoVRaAq z)$i0F(YC5ikGyT8Eqhkzc3#Z6>kF~=uryE?V=KL#3j^A)_+VP&gkRzN>fj9A&h~a} zJ5hED=xxsJA0CeSpMKCXdjIEdyQq4|DZSu7l|Jy;z1@XePp?cAk&qR4G}JC2oPOV> zvhaT4{F2rKWSDpsDT>M(E(#05(q}?7G_C2*G|y|6KP@K4qUhk?kg2V$Cy=jvWMn9v z*bP(#=G5)>99iMKoq#9y##hmkfh>|k(>Og?^Z8J}YID&;4Rws%yl>G&dmKQEGiQbt zWxpYN7yHO$cU8{sZLmwORB7z759a4%UVYya0~ZmR*sz$hz^AbYJKi=KG}$&e!H}=Y z6G24?_$Y)gLXFH(FJx5;zfKd|CxI*8C-TCORmeru0`O(v?mTw+WnNfeg4E%!FZc&>QMX9?tWMZFb1OQ7Prt3ph-uF|0 z04mhepg5k|xNvLUm)}I0M_I?YWRR(sfCxVO%g|0R?Wyk?LD&uWzpHK#Y6?h4wM+Vx z7w{Y$X}9jIJd)5MwgLXLJj%gpr9xFcM%x=4^&2o;TiAWK6PRwRixF6^tsS!}*|3`k zWRT9M3rY~U`I}hc(%s(t$N)ky@XFi$pwqbZHs@4Y>&_=~vsduXQNoxbfZeFDDwQeVg=l;%&kq;yUfD_-k0?x^-Av}mY4AK{!j55=4%UINSg384B1 z#OHYkp=1z-Yo42g%!veu0M+vq{Z!V7ES3Ru^2M;}A&VyRL;W?gUxf$q3c;z93ZJ!r zs$EIb79ytLqzYJF`l?qS+^n(#{WK5bG9NQZTJ$|j##edxv0dnGh1C*M@)R){*)#|i zLMDY?Dp4?0$v^&&ofPtA*IRYF<2I*I51>l9MQ9F<+oGzs0iXs@OE&VjhqV{y_n;r3 z#=o8YE@ogeJb*PVefcTRE;n5Sks5CvFlm^wY<)e`JRzqO5HQ?RQ>J(W;AT414E|cs z2!3&}?NJOp3W=HTP5N-n-`TEUxKLWzKu8|!4!IS&*3gVD5*^MiEi=gT_=>32;8YUf zRxlF9rb1;!Wz}VDr*0@$b#&M97<71%@MUZgSE;0EUZ9VDN^gg57?&1YfXs)GCY?De zBccLEpg1&?1)or~3TvP7`t;1SXBV7N7EbSN3vwdx<~e7=p2~7dRt~~U`;gCS(_Wyt zfiRf1^WaoleQUuf_3DJ`55iDSbFurIfqv|mRk~#MJpE+a9SB0Qxraq%w*{nb*wVPK zkkPZRJ=J$WI&QIm7(QupFr_4JuQ@LfHw#LAqgdsQZg3=+O-*r$=@<2Fg#!9rxmUdj zXlTweiT1OaGn>)jObj~!Ef0$>;QKwE8&t9-k2TZRT5({q&5y;m)aS95OI zA7_G;BIE?U64bfG-Xq3Si&F4a5to~WGd+a>8r-r&Wf@87qNqxV)oGoA>mZ1mTP&2; z@`IR(h(H!3)<_KBz@DQRAory@jY!6`QoglEpVnQu-XCsr?GH7s$2kLt`co~U-`jyu zdIsNOCWvc2WI*7`NAIIJ@Qou8?3NSg*p!-0(!m9X2kmp@eK5&50eSjp_3w;I9M_xJ zA6a`gI?KiffPAt1|9sQ_awl%Ty z+CxS=vupalFxG@72rgRKUEm=jBMv_9p`#9hbDY45y~0Ntp0pVKol?K#_vA^}*UlE9aqT1rj?x}@bK^g;I@ZM(xAk`5v3U?^_4zww@>{5+hqs>AFn=3B3}xl*#i zj}xX}d8Tk?NI+FkP2SzD0y0M~(8a$$Ia4yi9DRy+x0rwk3ccW6%%EG?6&Kel4vjJK z>_(T$-AE1Nmosb?(t0&Dy7;1Eez-q`sWAKX4Mk+O|D(=`?VHB#Z5;!~G-5%tGQ zKPc-Nm=jg)D4wC}r?2)ea2Xm5Of*OS%a1oj4MT5&X^t^;x~?epB=`$|Dh>)(b`PN8 z<|&B~_Fgt(8PtKht*pn7GPFUBC_Sm_|MCi#;rAREG8k|eHuk>*=~)7(3nNe%yo(!<&0mp+&lPM1#GrKepIz^-W`53rEPGjoXZ3EFM%?bkVeBjD&PH^FtZaNj z4tRL+2{b&TDJY1eKa!!Ld-oXh_d0uw72{tsYaN>JP7D9(8S{|}h|X3I{y_t$UB%NL z(kY}^lE`J>c}czdXa5T}skr5O(U;$yp95(PqkVHPdhhozt-$x+-8p(w>D}gAeQ^DB zV2KpRZamcu{Z7$hjY4k-$}Z$q&Z$` z1JXh}J1jPKoY6`slG8mVmvF)%KceK^cK48S{xwI4aTT8SLuD4s2DBN0X zobVS%SvAmgj^-4p+qd7i*7e^70_z)qapB=r^T+3|Oayw;R|Du-d7dnjjp)9x3#G8HKn*=9puG zaobU7(x~24<_!nXw8DF#5rBR#>yqI_%#HYd z%q~sJC6>j~8Blzf`vs+U2@Gm{xFD@<%lq#lGTr~045V84A%fZ~= zovj0)fgMSl*gjxW16s#i*b&-QwjXD8@5e>8YdQDPmw-JUJ)cecQQyz`CyPNB>lYIh zNOex>+t}S;>KsN#6e^lo0zAi>zdzlQF-67sOB8rMbfGsb8;uY?ZAMOxz)>q%7NgFMA??7- zAg~UGK~Vr@veKtySYdyJAL$V@1N!3G1L)Rp&*jkc=Q*|=0U(mUg%~*W zg>k6`_NL`&92bYDhJ+7cbr+5nzuIZvH&t}v5Y*j2S|H8cPFR@=)TEoc2>I;g3&rRF58L+PL7 z$|_|>z(NN{O<-%$1mm9G_~`Qi6(fgEcaE;exKBhHrWb7mE%$Z^4!(j@51+&!Dax9d z^Cv-(bjUa3)7?N@+gGDxs5BX&JW6ZHB$he3nIZ@Kxo{R5sJYyEZ=MdQM^SER5Hal+ z?1CcY>T#dcUV-*6ANiE>zmvXcXWuSPuT7^Lw|qICY4+ywc*_?kIQRIkamhjNw)3Oo z_wSV7wboS3pCFB&Qh(uBulXczkoz;e<*`Qi7~upC&8_rD-}rU%kBo*;YPn2T1u84bAUqj&$eR7A1% z!M^C+H+!4&GCA&(%Xi~?t+8<{mqI|nCu#!3&k|WJqm63T|E0DBc$y$FLSGG=T3YoB zPkX7Zt3L59cE0n2-w)6tzu;NMk~wxlT+_gumshh|&cX6wW|vczLiv$bb;0!kQX1;P z5Y?1SZMTA&_$YIMd1bByi}MCWmMTxB>lzvgY|$3_AJ*)bL8!ZW+$Z@t5Y`$NA%h6+ zVU&U1tjSA4)RQ(f?jcNJrAO+^`g^z2m&Y~F%7nhCrmmkg&%@4(rB)YkDk=9MW#1MO z{4YJp6Dpd@s=^c`!@g)|OXhh4^o@#E+5 zip>2zuSIIpy}KX-40l-OY`lr;lR~8oZ6TrrrwF%wFf%^GjXaA(eDS`yulrtVNUo@O zaPZ~XWSo&qrE;bMR5=Bzq;&f3y)b#u>0qT0-X@1<&y*jhae@$y;jD3LW9yldWngI~ z5oHcpCH<-KvrtaV&8KtGwd^&0^Ap$%Y)GYVk;UfWVO<%L$CqX>7VvmAyUD=BtIyO*f)+ev&mM%OHhO4na z2C+^E+=^a_iD^&reD&Nj8qkAG1kqb!@Jdru*p_w~>aCFRcaB0wAN`cnb9FDR;{2AjZK#g8pMq^S9fV9X&lxufwlwd?44%?naM0ZRzIc z=PS)o8%0vZJlL`M#KKz9vomu`XQQwzyU^<=>xN2n<|1t0!xC$y5h_$;f1A*ZRBq*$ z5M!~t_05ghIR6Rd%9^|gZLJI`ntr^e&<-wmH%R(C+bYc=!GyG!MM#F=qSf7xWJmZx z9n(!q)T0lX*7>q;l72f(o{|Z*Jo-C#_(dh_k;J2LH8rku#6`@RUx)9#ezud7CEmA@ z3NC@xgDN3AJJ{%|ouArA+j<6Kwx<2&Xe7tS)UIb4i^)2iH~z2N>i>Urb+z5sIn+7& zmw6mEG;Ooj>nJP{_v}|`*$fo&H|S)I?3Nyxq%tBHdu**E2zEhD_RnN=@Espd2q+l} z`aB?1W|xrzmU=BKbYA8xulBVpn|_$Aj7I$aXd*&J&A78b1XO?qb&CmqrFoek(Mnke znIx!0hlD{le7}j+-`)Q%xdSMGj&u0QRMwcI46jUC8B^yLOHz8f5j`EH{ptn@pkTQO zy(yTeis&@r_`Zez;&w=|QdI_o7}H^+zFzuMb6X0I6EZ|dD3d00jUb@2-$~M)vXW{B z(5v=FQl#NbgpAEtX{zJJo*8_LW`XP<4!riF13Dk7ookM}pJ7tu3(1g@wF>TDu^Tbx zTWZ2CqYSyGV3of7#_e)*eo1D_xRO~wRretC#*wLr9_Ac4A)`TJ3 z1NG1ldGfMHB|XO{2p@2r2k zF|C`_n&dPU46Fa~VU%WpPR_+LoQC_4HXTWbQqOHdCA_dJXCaiCg?3JC z7yblnf8L-(YL?m<$~?KE9)o;1_={2E+LMIHe`P!rytsn(bjaWsfhX?D0>5d7hK3wU z-D0*5_C9^`&-!3V=;YqoKdCfOv~v?8F~<{^!8LDDku}f5WzwB+)9|?E&&3%fyGlI9 zl>8Im_~HaS5;zgt4wFGmc{6j-E>AJI**fHxx|tByrhpSU*&dK3T=>>R)b&d$YI>Y+ z^RVWI1CESrq=Vprf@Z5 z8?)4M**|u+eZzbyAJ3qZA)sDG4=flwO>)XP04$fjYA1T4HR z+{E-tO8+R>==2@pJpw#p1KOF`SVoDz|S;x?9(>&~5F?!GgZ zuY&2{K0Durw?g$4e1C)Tx+`!)|iTsm5A+*VSRQHFApbm4!#O@qjG>W}IIs#{gA z@{8$d-BMw(E9WcB3o&kzv-%ZHMz>2`T%R)2&}ChJ^~*b)GLo6q(}c{^10R zDwANgrf7wG7&NZ%6fTrsEW5xX&AXVBWwY-p zVq;%tO&I+-qwFQ%GlVfk=22|J3&5JQxkVqS2aWYf$ex0R|X#L<9y`KQ-H_;Wnro-6Fz0k6y5%_E9N z9RU5y7~9iT&38$a(GV~hR7EdzosW9O@u&GbeT>!QItg{ANwQeGOBn;6uensy}Tw@v|8dd&*GvFNF|Exnjx94u|%D=RW{qD$@!L+4e!xDtDRZcB6O2CFqXZw`u9N4 z&Qh)saH1F&f}LXA482Y0EXl^Qb7JVW9~kGhUnaR9Q1x+XiH%R_7bG!kxwaxQiq zB~=2P$FY9Hp7qheDqnwkozs(aF3d#)kB)liA8X*eOLlRi}9dU*JsJB@X3=?Mpbt!0KBY(}>gf0R3}MQ&=e zs=`3r<0h%>D>m^R{KX!TM~8RgqQ>eTh{8_p%pC6AZ3Pe*aeE}4;^HBTDD(xrHxtW0 z-3KYksoCp$z|~k0=S$nWp{dz?6&Tvw==(7yL9QRNV&2jvHr48%%oe11qc4OMUe0ZA zi#v*q;$_Wt8|>P3=APx})_DH3!z3_4-39`m02Ee}lX|lyhdWrj%nR`P;&)!@Z}4NX zX7yPC{meUcTO&4%9Wy%II2?@>CvwZEk;MWiB(|o3IVLTF zN5+s!PnnX@f2D+JJ0Aj^YsXVZCjj5X^L%ddSjK`m#UK&uc7T4BWk^V%t)+K)VTvU&ppIdy*%O_!XeE>W6(P&OFb126kiO^8L)KgzQ zQLJ9R*oBn)dasE&IXS>=G+qN(+L3+1bSq%wQ9pK6cW>9FP^Y*~*I z+0Dj1YQ2QRZ8``Nt+A^1x|!z=%tOsbcU zYX|wr6;)_qkwt-VgX*Ytk%<XK9PHx>0#!Onk@H-n!ub2m(g3W8uJec^~t2|ys0APXIP`7YtnM5i|mNq$>*XEDiV`oKf_E-O+5`DAXl)|*2LKV zDA5`Afkryq0Y%-7TG<#o{p4HFM z(nrUEmOZiqx$(z%@svXC#vo-wQ5Sv7E}5{ez7i4==Rwf4h6=7wXQf(4)zZ&7nQQ3u z7_Q!$`jIVZZ4^d@lAb7;zykZd;ngtPa?Th6Os;GbY^6yk?Nf!~WO-9X4K}*U~Z%%p<+s07|o{p>`l$VQ= zo7~r1w|N4uZ1!H^RjK;#`f+PKyl|>DcA!<@N-7ax@Nvb`f9Gc)R_24QsE(N(KhCG9 ztaf7>4+gVnZYPC5cri{35iVa>W$_He3fddH!BBjZR(IK+Z6m29G_w4B=^>#-#m9D8 z-SU?PvtQ&@pTwV{Zj504olW4}1o{`I^@Y!7E`0tHYBg_o|E&l0T0-T5^IXf>&Gm;p zsxMWqDIO~HVZ4kb9G2o|wch&HDMZNHDR|Bcfi8YZp{*RCT)^N7ul7kGYk%s`qAGbB z>wx8iMbbWq-%$)!9dmzm%nTt9k@$R`VuA%Yx5Mh1$wZLGsRU3;bo*$uS(eat?u#Za zY}?h(2<=vJccYr4vGxLspR#1%x`CGtyFH687+4bUy(NcLY}7= z@<84#p1e5md=1)y6D99tBp!EUc=VT2Rs{;$ke=mww{E8zNAPcBS_`i!mv`PEC zgLnID9|k7}9eDG-b+o!MMY9Lz@;C*TgF-;sa@-PuJJ;a}2dlB9tCrT+uT;$*>}It7 z4Q#nur(WkAy(TO?28(2la$e<}IJnyS|4KW7^W(w0>4SZMFk~|v@VXOt9zPuslTT;r z%n~&}L$JKcN08(nSE~;H%%`>gorQfuR^KiprSM6BASj75$UN;i-5`842o%_d(LE~) z4Y@wRV_J+t^q*6gP7_k%+dCn81a8rd|7I)ly!}rna364qU~toFyp5zL_MicQxumSo zYK!Fahsk%s;_!GhC0%&$9-N#-CQSqw{e>Y9$0nSQd6C@^{oxl;Xaxy<$bqJ6bx58I zT9_b`#$n>hGspHOfA*<5|22wm!(!#2;#`-ZI=s*&>XthB2h*z(q>uOd)nbf(1WPbL zyy^kNU6K)})HS%h(BkGwYskQymotKA}Sklaf~WT3uJw{b|&p1N!;~91HAqh!9dT7{YGvK$pxR$KD=!g)XxMm#R;z~fjVm+ z;j~-HTp-tETXv(m7PvgDV-=hQV!kH%`qCrb(6WBejfUx3Q|a%THYNs+wh2rTS7ylq z=Ege3Te2>g&Zp0^RJox|cKT>jf-H`;`+*rYsiTW{k~Mxjtu-wT_Jt{)nhM|5f7kX? zC-tgk04fT&F{)1e9XNLQ3F{VH>~iq3bK1ao)?l>`uHfO$c&N*c6AXf z)ypuxY@7yzC-aoyghkAgFmi}SnzSqYsR4~hCoY>&9$?JC_QJycg2>f??g%hhB)_~k z2NKDs*M8+pVbpb!1GCOB`1B*!CmS6y*6!oc;&V*ZdSueMGQIqoD86M zS_zn284QM{nNg@#kS;3^Rj#>ki_I@T;4Gw;K99lXP4awkWu5t7}Qwvh~ta%cd4fdIe{q{ zIiIcI3XbmsoCUZcy`!L76s@Q<}Nz2`j=^0@)o#L~V=M`*70wQ%p+%O-zoF7&)hE;v}9TY9@eFY~Kq zDxU`Cm$g1Vrbf}b+W>}tsJWheShxa_|8`lM=a4hRawsh@Xb2q$mY|9R3L^PEcqt&b zt3m9mrUtH9k@!mM;EROZKEgT7ig(^|I^EC4=ry z*8SWcILde8`K<}sf)e~PcSCuMq`BhEv2_WR`%CYtsP#(E{b9j`o7p`!Api~|@YvRt zs&H9y^ODj|aF+QaCYPoW6iQ6&Y6}huIfADv8hhe;F}wuJOln<=)XhURj|HJ2qV>f_ z^PVbmpX-;6zd!}l#%f~Xu+($1A*+>Cdvw4(*CpTPMK@%KG<))CT@)^_J2>nv zDSc)mOduYRjI=OEkhv7}#b*+SVcdM5M&}K27bg*0j5=U2Yio-?2xiA>Mv0< zKfSU4;c?1b*fq;g&ZZ-%-|{Bw5xK=LMC4Vt>)VpdA&vbRMD@^@`iv&gn5hfgq}twF zEGmgprTVR&+Ttf~+fY<8c?CB{S(^CI=-VrbAqz5zP?qQ z-qBmdH2R<4eu2)19+p6hFPpKYD!@x?UK(V~scGcNayX|-c6TRtf37!`Gy%|h2*+JuFM-YW3T57pM8efOG&pv9E{*MappKi|Fq&1 zyu>?e?(JysQ8Zv#xDLGz@TD%L%iijS&!oTj!Ko|bk{JXsX$#tgR>JOPc=30DclJvI zKr{&lb~)jpkzb^mubg@HUpQXh<@?Cre{4=v_&3?7IIXLAuz z<9^g5stqZjxog1|ASge<2atvqgoRgs{rnX`=4^DwCJ=w!U@h(jT^Lo z2?%1WVzYXWa!2oMUpBhQGy9YqSwbwaxcVr6k88Yi3zl+b{*c}ue>3?48%viVx zbl}F|T*-XkOXDDFwd;zMsop1U7|$VH19T@nrRo>;+F^kwAph*!hre)9a>9Kot*56z zXel08`vVKRt-ZGo8v*{sL+z7)yZ9jI|Cwl16D~D0bptf+ko-4wjn$FKd&qU;4q%uoobS3 zVhU7eBuNV|NM6~xl0gw1 z3XP9>TNG;0p`Yw&ki#u+fN+DPq5Ta6$c+XFo^L*2bX?b*r;yZ9G5)7w<1wJGIC%i3 zqQ_s@k?xYDUwL^+yBCWOJ_J%c7tH2nE!<&sTs@wXYMBqmKnmO53Z6AUmpo;X`i?Ya zRak;G&r=GMjNot6vjo5Gwj|3Mt@)S(o|LkF`*HZ1%P+1-54(vPx+u>=U*zM*f4Q8eA%?7ZBh904O z!>?qdhIQD`H=HH1L_~yD9-P@%)#O#au6dRZ@2`b7JLzI?@?N1#D9DgrC~Krn-}^i!=6F5Y>``stz2FKcjvzTyti;t+{h7+|#vzZ+Q%*S^V;6*lC1 zkUFT=YiWR29OwO5(fX#rXl>id7$hO5=c45`cpUgWgHP}5Ic&y*k?{kKNm$KHE+U-^ zYF;^MbJKfrOA}5`=*Eyw!b#s8y0-7|H`w~U1O=iqOG?z^Yhr~|ct3X`&+HvmzRfG0 z983758HU&IO}W;mS%gyQh|kZC2F0s~Mf0N;V8GHHRG0+c!8$oZ73NC)Mo&luGoDwv z3*%%0Y_nxTqnn;oqFUMWrb#jSj3vlg-O0VJgG*2`fDvV3fI^|lyXpKf<+Ynv&AI&*KyvRf zodr=n0K%8~x(AdXdGJk7qi)Dn#N2Y@p#WZ#?3xVHjMD=j;j%EmNcpc&5wQi5&jTS( z;jO*@$fE%vAR(l`vx^Xr{d`gf=tjwH9heTt^xMHJn`^CRh+FxPLD;J;Srl5z8rOIR zL^Hl^fGaD1NK#MzlW$Q>Cja;bP*nSX4@Xu*7V*Om=xK{#j4t@EtI0s`H=!B=VrJpX zx_VTPCsgD!ME$FMIV~fxi=NoUB!$zL@69IIR>t_B{b_Y5jr)B$*M0S~|HIk>MYWG;no+FPi=-77m_Ac7=*VP@g{K?irviE}&;rrRM}$(YaIIp4RAj!!9{$jGX7OaOm) z5sGlY6HJhlf2SAE#X$)2Yg-H-M*YOtopw3^#iYt7pxyCcc$>p|J>U8K>?r?_px&1} zTxUEls1`*npTOqNU`S$GZbelNMH`MJwpvH3Yruw*ih`v+N+}-mKW1t%@d<_(vNe|G zkGtsA9eYe(BO!>Iy^)9>vkm_)Vrm^ep zzib0s?MScYXF+qiwK3lMVzE&N^{BKE+z78THKS;r65zB#t%W_4B-)eV5c1WPlvC#PwBCZ;6abv7M)mM=(C5SfwgV&o81**gGq z(@igp`gApJ-Jq;3q8y4yHtc{SZe3kH5k*S#YXTNv&&J8?Avu(W$3z1O6ZEweXI;>& z88$0B`Kl0gnd_%o|E#mG3m-4h*;l)>(Z^*lA)kxq5&`pEC0o^>n1<%1Kv-)X=uIU& zy_JxJi-&1t4h;WVSc_0$U50v+mm*&?axKh7P&p-8Uz@royp?;`#I(mphR26%NT*O9 zonVPdmMFxzi-+2Uw7Pa@vRlpLeE90XOc%a z)OwbG@^F~ZP$PSb)BC05X-StQm{4Ro>MbxpZ)PsLC>5uJ-D=ujrct&5eJ^Gfc071amng7$)S@GO4AXcpmj8tJ^GwJT#x@*k95BY!mNQQ(coq z$?z^`r~3RqtLyKEnZ5HlWhb_foGS&JCOX2|0 zMO+RdncujHq}HcfnlucLc^P9CQ=hKFnBpD38H}bT(;;|bTf{RDA>7IpW82F9Fy_C@@;V z91^?{SWYD&4Rh;jJ4FrAQf`4@%q;u~u-^FA=(iPoZ9A;_PkKvb{lu0TN+GFx@9+1` zy|=!urAS@g*e|ttRt#Dig=O}J()Er*)XdLWZ*Zh#%S3NpU+}*35+-aU8 zYkvulS=$b3&hhgD3Zaa+P^urR=EA&u=8E6s@`{sFbX3${Lf$l*wZ^L-d0PK#(PSME zkB_(&g(eXS(8ifrl8R!JEiGjRU5iV545#M3)u1Z}FQWeqA@tZqJfdGf!>gPrG;KWi=9+EKZqZ(n9AK*Yuzy}8c; z>5P>@7*+jbpTzw==Dg2pHOJ>?kZlGKovs|Luk1fLw@i&qCNCiNE24Lm54H{%8^=sj zy9Q*dGc|UZh&zX$)Z{#kC2r!*U0%xHR&#Q!_LM=J!rJROc1&ePg|fq^po_OpG)9LL zr}Lr?XuRutJ(*7j=h*}&Wzy?QYtjE!d%i0RKPvBW58Yt`_K@_FWT7P=ow$TLA4QP` z7w;7khoY^W93b=RXt>qsm-0gJkg|GOQarm--Ijk1whPMF%BS6!^i>Y(>U{67rPOhi zl9thPQ>+c%NP)N{x>yMF6fUyB%U!BNb>`Z(OZir? z6QZJ=28+36OR20z$*VRk&Ta3kZr6H-hc{)lF72_#`bP;mz$BRGEB&v9$-LT=;Dfom zeb4n=R?tqwwUV-7^{^L|r-l|^9XU@u`1R+}c^Nd0Yq%OKGzDqsfnumD|CO}!x}yQL-#UXd;|#3$09I)vLpynG2%R1j6&kk9{Ex3ww7eUYgiqbiis#RTS0!o4em- zR!~HD&)WNSUr<4uN_kV(FGjVK@1)-#?c;?Gqr{TX!yV|(bcF^I6{kryaAc{Ox+vMc zurL?5W2P14oWoM$$qqp5P93>oEY%sr*&nfE1M-yfI{x+Qbu^FiJVy;cqN#ocz^{Ko zM(i`^OGZzc41jb`UcM5qoWh~Pv`jo@h5}Lt@<%-iDTkM-q~OW;!@|gd#QP^9?nSL_ zM&1=9pDTs7GJ|0VSM06a`JOe)-0s*o=~s12Br3P&Ss_h?au1J6L#$dJz zbovK;($9}{02@zRLdr`Z6CiRKR^ZYnDMs+`Vu2=f(X807T!Zq=5!znV!&?kad*kLv z3Q~%oFJ&S4cD7Z}Va%0z=9rejkf`OmfaKQmAmU8}wA{n(s~}(ols@lnf({n*3DUB9 zjzXs(fx-mkuOp)ynEq!_6-{SdjJ2_4R-d7PdC?+7 zPVIg4WTZ2a$H-+IhnAvnYz zCDSulgQz@?@;H0&WI8H!YT#(W-1v?wI|3dc9&SEj? zDk#6x$cVQvmYfP22c@)Kw>;8;PJ9=RG>15PhHR1X6 zZnedQojlj%1V_2z4mv#9m9z_fL?fOLz z+o{PBYj|{d;pI z5=d{JTa3fGbnw>r;Psy@k9$Tu*=M-WL`?Q}qp#i_0g%x3^lT)GK*YpBgpiU7G+1D_ zdp4F=flXZszYLf`qIna!TcLD$O)wHtn0-hHqth`NugDa?%G65kh=?#?_qK`sz4H$4 zAi|5)ebjb~m@Z!oq>+J;&+0)*V6S+@W1n+{ITn3V@`$WA56hzcx|vt ze%oD9hlJ3d<&DvuK6c(d%S!QZu_g#NW@7}u{_x!i%jCCP%Tpb27sX(_<|oOs)&?n< ztgIwTIyNqHl5}luW(g5-Np7<4VkdS7CbLsN<%~dgdS)L9 ztl-rm9>We~yrigz1)_bNln%5n{fQWUL86rfpi0aVN8<0*AYawX(&(iPWoIttN*0IM z3n1};Cbyxfq6aH+15V&wQ)(>lgt0=iC|Ouxi(~;Jx&xD}ot&eUjC-HO2S`8;xn#M_ z(p;OE2>0v+&6S51LF;v+4=>2!$`4qKE7`*5Cj*hyi|IhHL5HO z^=y>nX_SCN3v(9t{?-k5V@k*d-A01TIg;|f7Ggi-cu3y4v$hc@s*6B9h%Lnv1Au)< zZpKqAAAeMI`1yap)xF?DaunW*Rg{AP2fPF>Wz zx9!%=6IRCb`8B{xC3oU9J6Ai0@<83~TXU^`kjisUnK*r%QT3==KlL7zY3rUMz@RzC8>&g=K0uuRv0>oFyfDppdEiylzBT7<7-2f;IiQ7K(c$cL?>> z(_r2`1=qlc3eUl+^%|?qLWL^RUL08>^y$EAMJ2;$c_?`+oOsqpmT0xtma8Xc8Jea!l*c zLGzWyvY1Off-mwaABI$NYkn;7=xGL9ma=mdR3OLRx2o6e7c#n?E)O&iW>pUH-sR zN))toSRqXq#Y4>`bO~j9_nf$hxFXoy^Q!R>GFE=2Qt33!rv}*!*%~ZpOy}!{@zcetvCiaD!vwz<$<<;g$qY$E!>3a-App5ok zLYrwBrJnKg_7fLCt32({2mRaIt6P2O2(QaCosY3A0t_I8O;L%)^# z>rN{kEF*6_0}JfK^{4#V4a??E_%$DRuc$tlVU^I;<9Q9esu;PwUsrv(1W<^i%Ex~i z*gWC-F(OJ`!vV6Fsd2EezX3hfYxaPKp4(QO9}V15-1}>)anZCVoN=(r&b$R`^@+S- znB_=WmKiJ=dS`DEKhjpdUe9=`{qASZzm1`1he(8f%*nkRlOLMspE*P5&Zy{UYOeah zo+;h>es-%dsBZ_<6y?rJrPKb z>Y}55w^U_KZ*Pm4cn1nT=nZU%kQ;z%V5!+3fs^9!b!A$n{M$Jdr zR5KA`a39$;i`*#-%%w9cw}!R{D}b@sSmh@W{}6I1yn2$uak}n(WAaS$pY64ty!~a; z?>~F&5XezjjV*r|q8;K%RzersM>St)(YP6pH8sqttDY?08bUZ`02{@gxurd3eC{Az zf;j=y9ghVXl~b><099hi^;}a@_|^tQX?x{hdEVb-2%RUvv0eJL2YK(|Jg}jPKi! z4?eXVeS)kMMN_J{A-zXYVIUPs0GD8?Ienv_jf%I(t~>=jAKyoXHdU@P`Gm!Hfc&S| z8}4)2ep2t885m*cnh4(2E+P%7z2aoH?9VYc^>b=8^pTrt#)K4-Q*-EZ&znMVZB8w_ zjT^dn;6U~fl27g%b&qP?5pA5gH~C88uC1JQZGHWg@z{FM&8m~6BJhc8Uqd{l=Ig3# z82B8E^Og}|>ItCayUR#c!7uGDu5q1?@ytN4t)2aiD@Eu>yBm2e&45fs<>FdHL=$y| zTE^Ml{srFRyiAx+rLZGH)sIiFwCvi}$2S#wG+O7*sGpL+eVSR4b_J$Q88u(b%$1V+ z4y}ob3`{wj0-@(d;QnI6iyCR_6TpGJwTHPx@c#r^9atm;jeD zs??WZqepwHbuDSaRuyQ=bt4~{73$2wd#t{;Sv&aT-o7ku2k@Gx^_l&7lu%YHo1rSm z)sgCQ0kCRpi~)q|uJzR&Ta#zxCzx(47yZJ9e9CDMC_S7jAPexHNK+=PGKPc`?bu!!mJ~>`rWN$h zTOVg3Cf#V9fEL@{V<_taEX1`A!cRKS>k#Hd-90~o>`;T*Syn2xYk@?IKWtFdCfL@f zlTUhn9c@?P5a$A>`}z`7wQo>-)}3RlKRyn*XeogCHUaPmEerrxgyLsjpKlDFVQZgi zPIDCikiC-(xAzx&m}p-+EKYCxxE#*(_PZ!NU)JHC-B$w9s=Qp3p6MCd%<2&k7>!(! z7nLxU%J{ACQ(e@luU)ixuQ@lZ)DT$JuV<8S$Ax>tupPu0_1`K^-vicJhv~DtIofn{ zrYl(V=FxiUgVSZTk*eILpwim#(_CdQvQ>$Gq~7=fF4&V>Xlc2#T-@B;ml@#-^*q}m zF5J@Rl;k9U96VJs2Yr=a4vg^&_j3SC%0pW>Zy-2h?t)PD32u=?GR2_6eaINIfnwxJU?fo?I1(3wiO=RM zf^dTx#Skrz5lob(i-m%vIJK;_=@G0^zYABiz-oUU*ddzGg|RP|p$Q@dr8HfGqy>}l zzhhW;P8|D^%_*f;ovt|Np)9vSq$7b1ho0Ui`Tm@&)G^1aFJ19?iSui_>#JHuoV|hN z)7cG;O@zY%-MIO;^-Ftve3+7f&O1*81Hm$bbuZJpZiT;|cy#QId2&3&l2_N#5Oc`I z{J1sGSM}Cp;$31xQ$x1AOJW0QIrhAcq^KNLG}bG*hywV&UCHq{jp+TmQ`BJ8bSu1l za`(kkm2zO#;Zz8FOyomj}>UROdd92?@T=i;}PHLP8Sti3PRy zUhhNFK!yggta7fKIw`FuBxJZ%UQbR0RZ4hJa$c4H!^jvqQyN4i@YAjzx}dmt8+IE^ z1d8b?5z89cQYBuwc#iEdHO8+x3yEDMPjX$ZtgN(i3PDY~ztfa1cfBuuwE!fkIUEoc zszOx{PIL5@m2x`a;lU$!yJ+VI!_^om{5}Z|ZFf}@2E|+x;LU+Z2DDV}y~q_DrXq!?z8ct|SY2`k?&V2+uB=qKqIJaQ*n@Mi=XOjHA)vjZuQ#H*lyLhr z4L$FZa2S*+0NEb~orvgY5^QTDA^w{1#vOS1|I&A8Y$}VYc@)hUyK@D?^B{{0y6YYO z@Bcyr{ogo28khDF`y~h4cNUC>)_>*_l(*D7`6cGHtN8U?9ukd?PsQLiBy)A}tf*ba zxFMRBeW5tWKbhPm4&QBc5!Y?VQGkAdX`hY1Lt)Ppc*SVqG5Bd7)|0p(da<|x9*RT_ zyY35s#)Sr^XfY$uw82+MsX~2Nl){eqYqS_Qs8T6JW7UY?WY=|~pNot5&tIr95=1+u zc~XQ16CbB@!9mQ(?85|X{sQeyemgStfoth9@pXe8pkBb&)HPQ9hbq-a%z$h5jC=L* z{6~J@c$eT0JNu7Vws+L$IYF8g9hwbtPQIEFr%#WzyY&KxI+Lq;955-tNlMd5C%oDi zVIQ$Q{N477*{#@xm^7|@aoo9o*iDXO_zK;PQmbU0h&fYG19?!MZV&Nfj`%o4H>Lj3 zpV=503BIfVOw7_P46;(Tv|?S8`JG-6Qxx>^z7(0tdPxW%M=6h&91@j;eulvQVn0U- zhR7pOd~yVT=o1Wu3<;=sk@T4Ohyp|&(k|=-?hhMPPrW6PZ3EF{i&mmgZ z0FCr9534V5a%$M5ou3CwXj#tKa=$W!qJ-xYL732OE6O_{E=07B*0eu_MwC3WtxtIE z`r9seE&Va~T}C{xEyLfD9fsiD<&=wkmbQ^fa!vv z9&UeF;##J-7ImS<8oy0ILsc%$_ox*`Zm%ARnMV`A;JfjdqMo_ko!zr2htu5IxcRSM z%6LitbK+xmdLW*0yGd_^!{KGF3{k0K3b@Ws<4=hLg& z`Z~LOi+9Nbj2jg6BYG?E>nb}tu2gMJ39-oR+gg*q4kORs2hl}&%uK$3M=B>qle&=3?N_67sub$9c!=uAZ(Vx3~rzz;qj&@0&zX5v`HttOoyUwp?Fln9pQaP4OYczoM)1a~86f62e@cEDPk=I~-yf zBqH;ZV@1c!$8I40Be=O7_qN-RQPM?F>+V5b#y=@IDk-K_=^%K1&=dEpZRQ^TR{P1q zLd#qiVr8wYwz$fTWY2CX&=-i=?N9F6T$ps~W{P&MTIi8{|e9E;8W9a816stuXYq~eA4k8kA=FwdB zRG)B#V3cz!?sI4#(Ciz# zRHU>EWxgTZBH4e5Dfk(FH1WgZY_ZY?+wi+7D+iZq+MlHQzu~3O>z;jBibjsoe;k#PYdyOCef3AkbT| z%8=v1s-P!GUaefi6pTbngZOyc$WEP42Ob$S1JlyP{{}f^r(G;r3{$V@Y5SqV-4?5F zn>i+i_3y&b;Ns4L;wb8p>?{9&JM7Vd!}<+HU81RypS#}HPjK!;{;o{Kff^0`Buo5( z$%|)b^mrYx6fLw5UJKIvN z=pz68)W#6-ipp~_I19~F2qr)2v2e`Iy<1N#pc_8lnK)D2VcCZc)Ynnr{TWrgSGQI9 zm=owg239Z>%R=;WWabDpEZXnQ>Bn2)ODg|P4Hg?oRaY|Yj)ms_PciFmH#xDtBTJh5 zUlK~M-STCL-xU`pXH9$F|nRQixczTT z**zwPKCVoSZ1P(w3gpkyU%ubH8`Ue5D;#O2s1KVn>eu39cc?Yg(WphK(L6N8TNv(AG^{fBwHY@#o3?9dExY#orkB)yjzz%WRM#q?EHCMG|=OTbeNu z|9kb{k_Tyjch2y|Pub)2?*hKeI`h$y@I1=gVoe0@<)uuKA}qKG`6#X(97FCd`#rHm z{SsbV?)-hkb`sHi?6k1q0~`(guziUUqDMCE@sF%|+4|5qoIR4Sd^-3;cPI|HG_$u5 zRMR|YWCA^33rbI5VtShdOPIU2XMH^)EVRJ{hry`G#c$Pb0dt46g`dX{<8JwI?kvq~ z9PI86Wd=G#g@3FLANKw7ee0AY;2E9UUChZ$PNvGBjdEy8VHHqJJjlbrTjnQ#HCroD z=nZ&pBYOn;L+N{(_V>+RXeJwHBEbDz6mST-eY3#@4F6r)i|ir?c2VX9hDTCV|QP;e1-;<@Y~boJZM&$h#cZ z$LPL!Lgp>jcBB2l`U9!g)DZyT^^90YePFv_gN=ueAN~CMyV&nn&CD=w`$5^4E@TRT z@47;@@9RH#d&NbHC0uCzV`6ma-X)x@dtko&ah=IcRxkJ3!V?R!?70wcyX$f$Z4jaK zJJr2b1br2^$xWFn%{ljzxJs8e-(Rf90;Jj@i=2UPZb3^kA2!`uHMT;fjg{Pgibs z+`3yiSugyoG!OvvHaADMYv%3m_5|5#ft{-&fBPhKk^e20WL|2CKpP_SX$<2=!RP8> zrvX<&BqP;d<)!SXVUlO^tvK9mv3EvmIfSK)vvM!zu_rG}DTrLeyv(%h&dOpp9u)(? zbAA1zWS8W$qqg1-XH7-8A~-vh6A1Xfo!yAN^+ERt&VFURkPxk_sZk*Tt}XkcccMAk z3E_PWhw^08KC6T1C6?JqKMZSrY|L4c`g;OZUfOz7L-1<(J)Fj@(8I_;?6MEf1Hqr7^FspM{45%$vM!_K6GkzOwqrJ6 zTao<;z-`DYpvW$7kuiGdJxA{n6^9{NIC4X_>U3ZOpU`<<=1$|oFqb~Gc~L5%;R3Lb zIGiR4TZG^x&O*dqA%AWMqC*EUy6j&<=%SpfodG|(kY!m-B7vY^fH@~s6MtS#-qM-- zTY-GM(B85abw;)~mhWj?CeFK!BA=I|-J3jmzU zbr!}=014{zR-urefid~jntE0w-X#Rj?{*ly4diLR;%-W@h73(8uwX(~&CiII~*g8HZYO!LFe>=Fwb8lV!w zpCN6(<(x@=w^IDoB;`Z4Qim49JUJ<>-=$NjpB974xAgKs$%reh53l#f#l-_Xb6shr zKgg%^U%1ZmXVC_PA<5$7L+QAxLjbIZpK#2&3dH~*;iiUe~>QkQgw+swZit%{1*00~K zLMhH^CF~!qz%u)L26E9<<1(g_q(Y7}dgspS!0X#40?k80NS# zLLQ4+aPwO|8)4U#$|6rA?HaOod>nA2cs3;5B(|Vh~5~3FV zAAixW{!Q*FA5@d>9&Xj!XORy$R|1Z^(u;S^!);l(IU_pmHYbt?3`s~PP39 z?V%9+Pdi^X+8@iJlD8$l>HKSx(ohKiq&C2eZX{fFP=^*c*_NroJGFmHR@}Ge@6ayI z&*nHt?VmN}uwL`w#59luT>Tg_>RUP_B{Pi&T9MWCnXE+weGL!czs#n-68A{u_Xu98 z+!$~L^JndrCW-wsr{eMcA~*>*=Vci$3fdiIghpC;*KR?%9}~01*WdXki^(Hm)j-Zd z$c}W&5l!1<6SB&)Uya!H}QHTLiAio1ZxJBR(P^ylF;eEX+=bVYbU|`VLS_@ z4@=V*?-c_jR+*j*@l)Bf5xB+J#OwrUP|}~SDHn{UO)cFLH#1D?skxA;U_R!}-)@zZ zSVl}LKLsj#C*)UK#b!<8OpyWLxU@6D2TL1KP1l8xC@-IhkkZIp3VAi+igpoa@9zgD zAaRY!w69~lES~QoW}q&o`Bhi56ip2~oIyO51wJe*X;*$};_Q^>4d%qogoA5gI(L>- zKHTLK=~gfG-lx_M-xC4`9c*;d7xm8O?2yuCMt;_Um< z9K{*hNS@WR-TeDO&%{|2=QU~nT>OVNRapV2aWST@{t6}4)u^M+hMW8D)@A6U1*fRSoV@=-*15+s-T(i8Lr#~N zLswHyo5)lcl1Ye#1M$A$RTX1kX*oMAVwj z@naD=Kzere?RD-qeJ2F+i>{wf?aeachn=zD4RGoKbTWai03ZMUMuhlFJPIu+D7yac zngkJ8y+>Pn#2hmo^&rDl3w@%YBk23oNg{ZA}0%eR@$Z z`qIPwd=nws${!VKx+67Sc8{ae*M{Hqb&iVJNmdhVWM;n*#6B>!^f%%mB*wd&^b&zL zKHD0J6*f~Bml*W|Q@HPfuW8yn1-;=@xD2+WR||3F9L+7wS`t-Pg>Hl@fzC%(MO^W7+>JVY z8hb}g?(M#ZF zzi~D^CPpd1sI<;$6$jLI5t|HZ<6MG4v|Zl~y=f9v#_CNatKRc$j&ecH&-jzim0!5$ zeyVDES$pfQhsvEV;CBv-q*XqJxWKu&wBnn(2a#G#mUNeGX+c5$0LiKfGZ7kKYnrpV z2SAYO>Vo~4VywI9oFpEq%+6`Xa zD2NH$-`d{ZPoHW&-Z?c+lF>ZgLq#bFy?z=X$#RzPd+F0C()TYsU+bl*_9arUr=5qW zrSryvk13xft}MUVpq#wkC5B0Bq|xdJUPc=DylJip7xtB6rcG$QtP#Gkv|ut{*c`K;Ylbrq@%{~O=P>3`_m;R zW|(P`i+7u19X4EcThe2Vy-wkua0uhgAw8-5(PhfDfw@2Tca%29q|Tp<*q}ISIRX~d z(+ZioOB!Pkt0ZXoIpa?alU}ueD7z{TP-g}?Ev!BR_N=dp)0}3BJ%BFTaeLPm_20lx z@R(D8p;)e%sEZLw*`5E};||xeJ`=igVRxm}KRN&gr}L@5K|Eh}nto=;NAU4T|MQ8Q=C%&V>Y0|!3hvG7qhTw zl!pD$uZ1q${PkBtOA$nE=Z9(b6Tm9EAz7E_E`6yEJ_KUdl@=>Y?+U+YgVMo)TOETU zT9)rKluZ;*Kd}Y`LlR>$QlwS@HExtz=okFkCNE73r$lPk;r-Y0QMU~TVc6&QB{rE~ zVfl-m5}1!;>aRI7DL?Ed(&84hMV+PyUXn38%6$_y6>B@4#LEQ|F zINh&dxht6J^r!4+@WM$@i|X2@4_bBx49{F+;M4l+)A;yjc~yBvR=ltUj&=nPH*WR* ze_(ld8jO`eleUdeYtB^bSo3c`tR29yX%IY0zTrd{k>zzzZPX5`~Cz2VPoNPRtSYDozAulY@aNFC6r=KSyQ|z0dT%!6Z zr4uR;n<359@D;iO2GpuNNYl4xP8#$jyD9zQ#;pLYUY>O)(G!^<(y3iw!2!VB;TGlQ17$j zz9)H8UcFQNXoT%n%i~86YH->!X zQpss*czggexb^*aTNfua z9)tr#Tq0H)_iaI~uq>ir>o~y>ZT-WVVZ9J$iV(k7hU|=+_293*9g1H>CAchjNMOug zOtPTtV6bcIkev!O{#Fp={r-}2Vx#2ysG>l~h=5jhyyQuV1c3*qK!GlBAsh5xZj)pQ zF_u8B(V=Yxrc7IH8o~o!3dM;~T^-DgM5o!u=NA(0`7VSwT%>o!y8_1!2~fdgpp)Bn z$>OsAtEvC~)ti3yo_*M^3%V|W2Om5fN-NYW5;*!1&~?~)8=$uW&xf!e*8hFf6hTys z|KAadW;Pwb-k}uWVg!>?{uQ_Df_5v4Z*eaJXk&ZRb{!C&09<(wm+?QFE-%EdkwmBg zoqsnjU2xN4vxRY-dxo@5AmBw?lmDte-leep4dC6OVfav|)irGRVTr|`Pq7Ije|3eO z(oIDuzo!qSl|qVs3Vsz1J^zJxi?1-f&C)o931x)P`Vr(!l2DrX4sh;_I>P0GJ-rg)N{X3$?Op2P0 zzK8Dbs1FozT1E#GBEHKV4bW%1b%%ouz!#l0p%Sr1VwT4IlVe@&FgS3pg0Sd8<`~aFo0BW< zxkO>4hjkl1l!+VLk? zo07CH_GC+b-~FTgp6QWQ6bDO8<&4d6pQ4(oxPcM3!~*V`R$jkLsqA?3?a^r}=% z6PtVXcd*wKNr(l35^XTDu?p20e@lgvD{^mJ4Es@28}$pCdrN;|gwBH4yl)kY^SQ5& zw@fy!aiSls?EvkxBMoEI#l5}xF9?XBe*P^_CSBwUVvrS*&SwT}ato|q*SsK5RS$On zX(#Kd*yXhvqzKoF-h^RZdS%3#m|Kr$zAWg!Uxm44d#cWpEiH9`zwS(r!@~T>{DseB6ZXNJP_7{B<;O*vRsA6?ceXmg64|C^6B80vMrz3L3^+zB*wSa46q z@}LGuZh(K&s>*xK{<(r6ccN*x6^@{;(WGZ{)-9}uE4i{SOp?52V`FI?I}`0}vbHz> z^DAbc%*p#~nU2($4JR@{2Q9_KIl1`*xQSDdxM5nu&P)yRo2m&22kR8;Am?4ef{THE zF<)sqhmZLWnm*zLkJVSsb6$GaNJO`L+t9Y=5t_Sw)gywgX4wudWBEfL11R(|Z(H$^ z+>_&i<@Ah^SBoF@^|qrT9VP3$2kshp2R9K-ZxLFzrL@?f25HH8D{8}h@FC5?b};wE zgC2rd`r$w44azhU%fTJD>Gi>?L?iw<44=$A^<4=u&Ty#yw)cilkP=R0A!{^B9w6YC z8oKu=Dw=V%DMRA@z4d-fXINuoEzSZRB_HNNJYmCOV)DCX*9OV zCy7GP!xM4bCx2eA&&B@qrfBcNR#F+Bym5g5U?Qg%0jUf(#E!(RM@=~rVXr{Ayf!7P zuCV<7MR&1ZMaArV(&;b1aZAm!tz(U*C%xR63}t~0s-{`*#qU#2Q@*veb?ahbRjgGY z!#J|hqu!4=!O^u=e?y@NXnifTf2Z$+o63kL;(LxBwiC+`RdVp{F_n&?&gQka@~l70 z)SW#l^>Fv-<2Cf!&f(#vtsZV<9+*svS!)5<#}=%^9VccK0O!o5FU9PUS{^XF<^vCx zNd=f!W-Xs0_xJV~i)N3vLg*`Yg8?Y-8Lyj<1jidMuY`TwSe=!eimoa)kvX5T!^+Ld zH)SZB`AqeO&3Nzc9-X-)tAH!?y@V-GH!wZeX8fa_QwJ1(LFdZ;gaAukFT>S(Enflp zIV<31+Ia&Qw4`;_8K@nd;8#PKs)n6Sx^qmmH>pzzl4?Ff>}}bfA3WdVav$7W+mLiq zE)KW2x4m@`ma1hk15oP@LJN+5>;+d-egcKe9zES<@sV;Bw6UCZA!Xw|suK(#sxQ zJ$*?xjN_fN(m6{@&_>OI9JAAD>II7jLF5hlwE5+|#^mw!P#qBwywbJPsUdboU*Bgs zMcd_TYmZd>Id817>M7T_*-PJ~|4Ymd8xRM;y`AI^oMM4Q>O$zLR%tdi9jVD(ljGWH?z%pYHuq z9T?K6J1Q{pEuYnf4QKJ+PLdnUP`{UMZ=feLkQuoj&ajp5L^<16e`hVdt6dGBqK{b` zD=vCJGPf81%pB^QQ8iOstg7GK-HD1A&UnWEB*Cf&QDzZAss7g2A6`|-e$w_DXs~e( z;oMB5qBeNhQcYjv$&ooDn0IT>H% zXwE;)-q6k4T%BiQ4-iG$_m+9M<1YyBsL@yxS8gKvNbeidhRk{^+KJS;byuT&cnK)3 z@9D|z$oyGcvFAg5 z55mDYKdCBXVuW75(dJ|Qc}D%g6i~tDm(UdwKCi6A9y4sxIXVJdFg`iFsa=N=D(wEt z{rmUpI&@GA2w7#RU%;IsBm*{YyQTVq#~1+F2FM3Ta-4K<=Ob9kwoW#c2c3=kI;PVF zWmB$dGbbzpEG2rlB>YwnSg!neT#CkBLdsJ4DsN?RdeoGgQCslDdXczbdsbj%cyy2Z zI^E^Qomr7y<;MWBP$v`di9+e63Hc{CGQm0k-iGn1;qWlTo_S3wlU>@`IbYXQf7Av6 z>C(xxuZ^hcdiNv0g^+e580W&%@mBLDyVg z*$OFD@&&~f$}F}P()J%}?nW6TFm}#Zsy38amVLp|G1U~Lg;X}JG+19bHfky}5_Jj5 zsUjd&@3UInK%tSJl#|(}@4xID*5GQ^bUx_-+>-A_YP}5Kz*J3_DX%vq;f1ZbdDuH3 z*`AXPKYlm_rwV2+Di@AMI~%O2-J57o>WIuAM&H26Edoc5*`C>x8>?dx$NT$a2h$No zX-Q<$#L7kpukg+g$)T0Q@b$`JxT6Y^zOK?QU~pm>zM9+iKeQrGS5f9fP@mqGd-{WHoeC43(_It8iJ^Y%TmvvJ^-o0dhlMZYBsIuNX+O zX5-p0sSrb(dh%6UDK_2U>u4n%sVjc=*vrVS_HMkTvPGbI=$#X>5cL-cXjVNEB3!-7 znLyo1=%c8y@gXa0=YG2>u+6=l8*9q7l{vt&Gv zPCt-JlBj`^G|h_StMgE>PU1rEUBGv;pkbY8$Q$tWMxxXgGwox`GM@g`W??CIxFAGy zKTv}p3P7o>jK4P}|E_DKBU#MP9opow%Ch4JsbZtmZEEL=pzK_ot=%HvA!JD`KP|D6 z?NOuX$E)Y&q!muIC^jRJT>83~#cQ~*OMi3)7EglHdXZZKX@Y>JQ1n1&;cC*W>EPPQ z$B^_TJYIs7&Azl*BkrAygWZr4lW*^fOJ8n9awaJ`D~ilo_hfC=`%!|0d0_whZ$Fu~ z(>7*jR8dl*XWb5RGX+kR#wVw2hOJE!2;r;K5||(r_7OwkcNTLbimq!~G50XnX6Ip@ z8RKFlfC%Jt{-SOZdmENJ|a-oUIAAZ3;^fZE^G&F zk%`iK_qai?Vp>bnn48SVbJH>K_{YcZj}H&|z#xrmQP2`p{S0Nhy7o3o>@-hw?fp&&KX!x3*!n+9%m00O zB>d}`emvVkuc!3hFMeWZ%mdu~ZSzQqTmYH>khUmtc=wx9xDeoLX<*pq<84BCqUS+)2-{#zbB-Aed;rCS^b#qXr$k6 zS5;{BSG;Zje~T9h(txU~vvrCrhH0gp!s{6VA4ouG$vyMx7AiBwAxi=!8<B>MuO}4U#x_9^Hp(i~vYzP>eqp=+0%ElQ1Pg^+@PDV^FIOLPi#@!zNY< z<4_;9!?p9_%EI~3mGZGk5VS~Zy2HqjQJ_JC^r^>{`o>EcxB6tH1wko4XJ*A%@m=Rt zvHpfA$vZ>FA~?HhxQ0GZnQt{e@h2+~A=7@}!)^vMMJJA>`}Xj4 zXgK7uzeO-w$?C`2TXGop!N)1@>I7pXN80);uRdbnx+9+pAsbLGRKwZU4KKpsU5L+> z`Y<7`%cn9ab+oER1Qb;1wjpHY#?Pt;+Zv0puLlQTQ9A!93+0|`bf$RCJ4RCtU80lF zZTv60l8VmMN^{K;B*UBtN-u}sNJB`0h2pNNMzC2{2m5%h)j4F(2O443w&iE*wZ3bLubu~es9Q+r^>pprIojXf zIU8Uaru-u7xnQ5wkk7+A*3sikS|9Q?y?j;c#hZ)I&o=6rTJgp84FXmXBSQcI;;w+u zM=mdsa&n|ETv5cz@_|yNiiKSXJ&YVh=Z2lA3HuS&VJ68kdwGw#6C^JOSL4WB;K6*l z<~zX(bQ*07iFm-uU%W{WapA3~y;?;uw7J}Fos#=Bcx23~2L$z0e%{?Jh)F39RW%fm z{(cy3R(hWgV1~-i2BNO}rx!{tp)8aH3^V_@6BMbIxUb`Yn7q=6sH}gxy-aPq;dTT4 z8aX=mR}OVMC^upP;{uXB7ktGA8|loXq~UMjP4)b7*k7bxA<&55l?O`of*GVN_BPeQ z*n_o@?dPF za0awddv|~B$jM#+mOt1F-2%+0^xKckQ{_xIypLJ6Q%qQ2VVzog@I#89l_8Q-TpFe< zVPX29dZIol4+T}$uuD_Vd3TbY6!Lhce8JnN$?%6@*&OIQYwa*ZV=%68qmF53q@#~K zi6k!k0!5tSLn=3|9F4Xr<@CX%EUp^gFX@YeJSAYe-8rQo$uJjgFR2OigvE=^sM;yX z&~x%KDw$+TGiAdB@YYn~)UEo6?ARCezM-LJFbMh4WhDXJy(I~y6rC5aY0bwGlC?e$ zFmJ#b3t6yWrOGd`6#Cgbk*>OE#z0MQeyV9?zx@PK zKN4KHe8$7p=XNyDKU$p+0gm-0+pz|kdpkj)g_vzdGI&lq`PgAUi063kc+>3a=a^&d z0~Rou9%>&=v>cyb`Qvx=zU6SaQfWW zrvK;dmCBx~B=M1!Px~4Qu3PeNSchxK`Y6XM#v%I*8SPTs@Jb3#ZA)aC)!y#IJCY*o z3vZrIj(=BWR%`igbf=tur){$A+#hqKec*Yt_dw+{;rlH?&xhV2bd@cV*lY|G~jSzO{x$pWO=*m)aB}EoPbBH0E|04{5AkYnCw` zS(UNS3Gh(J(FFo(HD)8kt#D_HRxXjbRn^0-tz`!F@zBd)@mdT(0p17*sfb|mM#ow9OuLoUwks}pFzcx3!@y`4>feHU}1fxa3K7TyYI z%7)O%)qc#i9r3DBt-gS%yyOA*bsvAk)t^&``#HhlsB9stjd#KH2BdFWXrt4>h}mE- zSS4%r&xd;E2!KmR5tx#VuRVxKnvB$H^WZs zPDKMT$@)6knn`#0$Cy!rbOamui7(T>mbDB>3>NLHeYQ1$Tw%~&Q1Y#xOviQcxutG@ zbo97W7t}M2K^^xrCi(9Lq7Ih{13$S@uDlt_3y_-9zqFE_)q?yU1Xo)ZU3^?23}J|w z`0PK`0609ymPo6m?a<7hN|36XXC1F2xXyFT#cBo^wFXbD(CWt=2-kKsxWC3uN-$MT zzVB>4j6B?(u#P@j243$G|M9we`KH+BvOP;B4i~nv<-jzQ^e@$dg)oaDN}Xzd)+~#> zPI2n_?ThEmsBf@u@=1QgjH}cr0AuB1Z0w6)bWHzY2mLJ1?+E$ zENH&`&qb{I1pKtPNq;1uE0=zh_gDwk@$urz4Bb8?GdRf=!_EFQ3V>+*BZV*D&ezSg z60N?qN_$L@#;#p9Y3!59{$5`h<=?veju=Dkyd^Qln*8Q?LuVp4)^@{=B}du==+XVc zprtp{3G3^orbtNRTp$nwAXl&cYbh1K`!U@vb8~lB-Xzj6D9A$UkI0t$FA<`Riz1%{SL>=RKW)8>@Src(mH90;#91lFLLad))J} zMtpL5E_`=Rc8_riSID!wNnJMR+Hcl3^;KU1B{i=Vrz3J8@yUtAYzAUbc-{~Je+A?y zyq1t8NTbiGj!~&jj&*C@0hIY@y`ym;B2Kh#m0U+lv#6gN-MwaN)pz35{$wnwq}@<0 z$h)bcECa9CSCN*z@N5y4g%*nyYb8LmYS=UnOjk4>&cNG-(Fw8Rsk(+TNv#TcfEZTeznX?o zhf784xC-(SfpA5J;8(#PFRb{G3;0&BILXovxy$?FC;vZxM)+?~;yCCL{HYXxAF14isrGj5>G!1Y&lu)sL z^&|f>tDX~W5ZZv$fR371zXXzppx6bBU-`eusCSLUD6uO4^=aSf1jD1aAq}M)Fti2I zhFg_;(Ots+#t`%iaFDVrt>Z3XXf3F@AVN|$PUA?AV;6!|R>t&I%nE)+87nFMmlXdb zJ>l<+Z{uh1*ni5$53RkHTK~LN{V!O|%+)D7K5M}%)-cvFQDXaI>=2i*q`RqGnTVbD z*60dL&zk|uWCJ~5@q5f=leSSKuNH<2np(_GLibVmtN>*mI`38ogO_1^QUMXU4OQZ(Vfx$CMkB2WvBrIeLM><6eXYMKWz2| ztiT-*F(NK{0~Sv}wa$Fq7tEA~>l}-x?F5MYefW?Yis3+8*QW0rtzCvc7D@L@d=TqR zWle5W2_*O4X2DX>fR2_xL~A>=|wCmy-L1|M&6hc%|jYFNu$XXmtIY=HEei zmwZcJq{OPHUVA^kPD7=H_E*?J=Cs8Xe%PO(yr=w9m|>bOpK|9W490N`t&K{wc(nXt~ zgm@f&1$mMi)R$n$Sp)Zyj1NzcyaeaEs*tC>AG6&hA|)w)j{oxnS_IU;{Z|UU5Fe+S z*o5T5UI{&hhO|S{9_#RmsYk}XMso^1hTxW7!Jkg*anFp3s-BI)SK_2B27XT1bo8eW zf~L9tdqO}bN=s~)O?d}$8D0dmiKSWh3^ypuqlcR7=}9SgJMaDpj4_M^o!vCY4xs+C zKs^dI6#2qM>mBds1LFl+zbExudt=~mje*l&;!{r;2WfKh^G!?s^Av|Dm6q&m=ai~6 z*im}?@LVasI(74QrS}I8X+`d%U`j> zl!ahVCpXKVR}`K>E>>hcyEPD=m2T6YMtC%&F96G62b)q$nNFJJj5lfAH_GAI-r>nR^Q9O2xM#ICWAnc6q!52&>{shjH6 z$pO<>QL+&qi-^?)eMA0#km;xq0Q@>Mk9ZNT>T;9&w78 zgJ8-;tZvpM#?JBMrX)6)Q9jkCRBK(S(6f47-xR#Evo#^jwGpV7xSy@MyuHdfmVH4t zQS%2ohaTMkS0r2|N93OiPZf&v0P2B_jY>^xs)Jrpb?9OtVxL^25w|K60(TY|xZ%hD@YdvrU(u0(F=O68&>! zJ@k1~{7d$~t!WgPW@1x`nEb`MuXNU|4;>Huas$-Yu>)ea6v9F}kR`P0xleOqJnkFx zs2g`wFIZiqo?G!tPij;#=Wx;SaSSh5e1CIf=-WBC3WGlSbW^qezIxIx$NIIm##jQ0 zvd(QD2v0!H0gwzb(X=s(SS&xj8ar#IohG||Wb3?Pzjm!lDQD~91J;_BML5|Zw(#k0 zB<14beDBoJ$;H1RG3qYd56TR+2Ez#dB-+|^2x5Au==JK$SQ4}=L+trUlbMfHNkOSn z^D;4PrI-B#xKN<6HXYcqrz3>k5mNX<*{!*1DZ-X%$(f0%vuTFs&IDh1JDC`AQzS7+ zZ(ihtX1lc;`U=}~nApcB57O&5o+j5UVw1t3{rh?vS0y~BW%uu&;^rB*cF&=$&}VO( zTFDny@EepEdMv$ZX#OGL=4&r4g(fbHc8zicUH5nUg$PKy8{7@8YoOQ^f%?Soh&fNo z_YDnzX);j+XAw-yY0Tmo_bG4m2?lDBPq{@EfmMp;|JrPsMmM`hyQX#0RELnZG(|Cypp33dag(;)cnC zR;WSYa$3|Z6vOSFn=@~n_wg*U(y+(%t5q#!-Nrh7VJTG^%~(4aGZSNN<_nr*BAT>2Gl=XJ8%!To$gGFxPm4u{ zs?PCD?XkbNfV&Y)1s%fo$n#a@#OrJKYQHBYBYyg?d`T?1Pj3z0rbJb(uI{(C7S3fn z!#BE^QWL^%GL#3eORbBDo4LDgk^;Z8212j8cEf7Yfi>;PrUL(&#Mk~kqD_;>`?SgW z-TH|sV5#IccDxgFK?Po7o-P|L}nn$pX7FJ%l6hU-`m{vjM;i zH>f3oaR|tXN4OcH$M4-8$)n}9qsf1wSAqER(~JeB^Qj}f)V;{f*r|~_0Vat0VERgZ z1k+`Y$RM_w=1a`8tcA zjwNS)`)Xp{x3<`FcmiunXJ^lM&JWk^%Y11hPr^28IT|4l9h3V?h()Wjm(-ogs1DhU zS%*J+QOnQr#x!+Cf z4#=VOPKy+_??v*WLIefH$5_xhfH95f5iTb|$yF&gUQt!OCD(;+m9?6F>xek3p{iuo zd#~IZK21z!?gd7rlrEY3JkwJKof40b22`zzg(bJ`CqhD8 z3|7C_^FE9uL)pwqL9uB=;dgXX032XNmJ5!5kr9?J8-#)Da-6fdWc5`>`1{(9iQRv5 zs70r<$VDP1CEbSs9PF0vk)bS#mTsyP|1T>A^!)`+*_z16_uWI|%-gGE0YN40ev+7# z-^uCw&w*U#2FGw{@-_ARUfrb0)b#zrA;FZvFncmku{bN?yK|<01Y`3Mh_y;s!aHaCVU+p}MXh z<_Pd&(hoahK?8^dPYuO?U~zifacS}r5Mg1s;Mp%-h8F_8ueIYBpxBkXEOWO$L$1}H zv9Tf8V=>I|422n%PjVM6(@U%inEqvb$pp(CFkBWj4L0CjFh%yxwdmtzL6Iy-S zd=M!`Lk=?4^}Q*~GOsT5wCnXsdmLi!!8-VjZ^V^=%a&a4#UACI z6qL=@N;6$>m7Cc(fU$8fXIqj|D!_%p9SA0JA9K~*M*b1M@zR1R6#EO}a7s*svLk^r zjxiXIZ%aC_FZQsTt7)PSG<1j=7oHB?Iv#4dE>$A!9(*qPZ>V&ZST{`h>=z}3yT(C= zHf>2ue|6a5Y4SwcPKc__a(rT=7swc<@1~u2!g`#Ko3S$o(mDr;Z;Y#|d~{)-+WVd# z=8*!1^k?bKK{Mnai_Zk)n&Y433buy@7Ny^9rOh$#3xYp#qq;NdeILYn$yb)S6WEiA zu|I8Mm#K={7Sm+k?_9!bECr0z&{mKuKcb!Nb5Fs8wD<(SGbtctdr_2KU}QEpSeuhw z+s!6Ts!VolgI+!XkyGmOCo*FED?!?p1|Z4Q3hmn`j%T-yM+axLi>s$Ga;>6!V4EYc@$wRC=^4q<$oPr(j`{t zV9GYojwr>vW@vBm9CrvDv8V6oX>b3ZhhqEjkC?-$N9;li#PoAXxon`1NszRYf2V|R zJxuK>1@?TX|5UDiu|x+!rmRxjbC+Ie!X!|zqiYsfmbyCdRG2@vyoSDZk%i>3tfson zf-F3zcODuZFYqlhO7lKkeMM`*fBQRxJqf~g;Kc4$0(e6*2{$-+(lu$&qN1)qINX0) zfQ6J1XuCYb-KL|sSZL)wnf4^eWn_s?p%>&(^1iex~xaHzv0)O z>GoV>B|a1znusF=no3@9=!5AWOh1EL>YI9lb}o8wsZ93C)4vlOCUaR$qaggvX=M)o~LfZ+IfBG@GrnV108HT0Mq zTTkoiHEd^m!jmg2E_6ZQ0yc0QGEW+|nDzN!Nlzm0g)DoVb%}teo{2c3@Ok+QOI&$_ zuT)Xn5au3;-R2I#jpGW?+=uC7r&bk|)giESB$@-%`mN6$Pms)dmlZf53dx)Z0zuzb zg}j$w+o>m1e9UcoN7OZ)PUxd+1*xkSJx}RsMU~E8kS)ow3bL>|3vW9FR*m42u$Ee& zjaVJx$<710bS~En>%=PoOWBdDBD_!`KAt5XrAd*!TK z(ft~|*hf;7^%v@u92BM*5~K`tUlCS3U&s8#%hVFh4XqFf z7ad<+P!|$p_t_9wewGoOT0MeTZ2#c5v+CSJp-hbdL<+pwiS%LgLKH{5eAIaJmP z@&~mkn*BWNE7n^K(s?sH{4F-Z8tR{$11VN%8QDK<4&jgqB+a-jiEKt{plqvV-(E(` z!QNbDAEDW;$&eTy`Ve-2JMW6*zUC$DSGMr*<~c?mY0IaDVQn25bo~y;ODi1gA-8zN zS-!K#tt=J37h_S}(x!#yOer@{pI!0N8pf#)e&u1pOcHcK?YHeWg3C>*o_ABK&|3vs z&Wm5x;gx-8mog6w2d9CG@Y!N5T6oOG3Wq`ArB=g=5~1SyI1GAAzT5Z~sYEW5aUe0ceIX>Ort$l6um0988QI$~{iLR!>RaoZruq&RlWm86BH_t8M3K zP#YCw!+m`sDMANSe)0Fng#ewwfa3wOylz4JkiZVB~w&;#y)+n(}qE>p~yzxx1sm~6oVoPrl&w>4!{ zSi9j7QI7WFI%0tbNBdFFEySnl>vkk`ErXSb>W?J4t4D*!r$&yJlCgdF%NKG3Q&8n? zRFdNF*R@xJVlrBOjI~1|8~X+oa~PWauz!ohzIbX(Nu>MHufQIE;e=uuDO166XS611 zbPTIni>CIWDaa-mO7qU6ioK-!_|*zn8St9^*{1&UpO+7?ZyUdO`;mtzO1jHcI4S4T z>zHHuQTo*4XKHtdBnv|l&2MoqYZO`h*tJ$&nZBHrdP)67{($S5<}0fMVm({CN4Ap8 zf}`!g+;N2zJ(>?_r!z6eE?6lvZCThj$(n*iGbr>Tfe&e=1+!hKtF&AoJCX%SY3F__daHS zx7wy~WtGV+d`BEaz3hDBs3v~6yW>;4wpE+IXGeQ0kZF5;(tgvSVT`JN7e{3F5uc5i!{*yJA~9Q3l>V>@J zuZdlE&#eJ?W;ZwZwO%OaDC^T#oXUdoPjmdY>uD4>be-z1CKwrX|F#h?a=n`OjBNhk zEneG(wR)P?0o{2j$?l>EN%b3f_z~>)& z+7jtWFk`E|gJmn%@NwTU5w1}+__t+i^u3micTX)$lHL~W=Icr=(D%zDp6bZ8rrewK zk}iVkRtMYPVJ}$NTi$nbY+yz-RX=9`C>)-$InTfv?`=l2j?$goeTMLfehvNO17;*! z__L-6;?~}>a{qaYvvnsHvV_=1A#3rO-Hu+X5!I_+MI&a4%c@rk3CnL{#c=&voL}_m z{i*|v4mqB8BVSOg7={})Cxg!m9n4|^>$BZX z{^H=}Yi0L5(ph?5PueY6OBBFr@)F*a6=*1k0m-Jt4etXpIq(MhEKgccMS4g{rpS|! zT%0QkXd%_jJafCh=F-UN$nVOJRe$)5`u}iZUa~YqDoe4iua;H!n)`!Tw)!FLD(otp z+pywbePb9o%rF30$&TD2{xf(24L*{Jb76=+?N*pXro4XqCJLA?0K_QRdja(MYX7N|mH-y$RT4_@ni4x2gyeI{MLvD(&d2^b5luvbJeIFOqh>e7551#UaFQr?EP z-#{v#&^W3zLY6Uzmc#PjS%S9*N~MJH?4TIX`-3-c|M*|vMkpx@N-HnV3V4F;&BOP&wGr9$3F02U3wZiY}G<lxil=v;vg#PX0RyF1S({-HSTPKbMP zw(DT`IW_)X8zRp?>9=}d#Cjq~khP8F?oAne_B*;A*%mpE?q1a9rc>AVtmE~Sg>0aP+tFdf+xv!{QYz$ZyDBm?Y*+13D3-qv=8qD}0{!FLx zdKF9wDI}YO%SjM)Ji@SU218fNKMS#bEl+VNUeo5SU-T-llzkV*<}^sT|2tCU{I^=) zciRx@>sNN$FmjYv&!jEBM{M!C-KP%9a=Beja!Y}3(o6Ag8q`j=!DJ03O0KYPRQGpS zE(<30{DjO&pXUPYqEz`(wemFe*^Y6VgIUM4-U~WAY4Zoow3TT0&UBR}b^}&=A>XM~ z(6UQ7Jbh{)q zfSK`s@Xh~sV$?mhIDC3kb385hDlYB-D9GVpH{F^$I^;J}wf(RcAPfS{fz^}bej7mP zpmV;|0hi6 zrb&C+a5NEYM{D?uZCZ5sG&Hl+OF(XdWbfQeN5SDEj8LK+VvtRQG-ZfJpjp zX~~_wfPoW8Rs%Bt=9}YiFigL{J|1HAf>(<>1LKXC3bguFOZ*m_`iM0~`fKPSIlHGH z_{hZ~xvx*fZi~2q=3-9;fo?oeL@4W+Rmyq4>sy%_)4{+HN^xvhDX#VF?5S?`oq)(B zBL&h1g#}iVYXmp+`sWG~$?8U8dS7r}L-98gP`UGR zDgv7LGAO0rFr)^c@&QHNEUt!V;WL_9Tr)Yk&K?NP`&lZKl=$oJ(|~FkUh#_sR(juP zzO~d_ZaqB+nhfp`wYW_fBdM}pS5nUQHupcW5qx65rSk zK73G`_eyxH8lnDL7-E$G)^!dG+J>-M1~Xb=T^IzxI@nzHG~?4%hX%HeyyXb}Rtuv! zkjd|}7P&*0xZgVyNW+}4oIRlh?NVGO{|^(sD@t8GqK!R@(j5mhGj2--X7`L$)>0-w z8)SKV9@G}8%A#}rddITYJcLQaPfI7>H!7e^wz_Xc++=XY8~OqxicEiW|C6D2myQEb8v zRQQ==jjgNjOA+&}+F)n5nv^dxjI<+VE>-q6-t#p8vgG3RVePOlSM5B~B&hvUXUNs=pByn5Bo&qn`dU z<~FNN4KefqmPQXwBtw@41N$%10KoV96uRffLzUYSHM6tLGk%bfC?9{Sk-cbdn-5+_ z7tz@{;0iXGs3ZElPPY}S z!x-Cp75xmqZ^nVzRZ+KJC5H_A1MTA4;{xGWH4NZ5Y4$)YTunypTW5Z9$6#tGmRxyd>eo8k z0H)Y@UqwHET#o5zrqOS0%-r>?%u`quT=vEigYhM=mUu!cU{n+7&#fr`Ia`@kQr@y4 zkPB$C`K@S?+NbVdeo05v+rhmiEe6r!Auiq7(dT8usJ(gN^tSXOmmy1dfyX^_*z=W$ z2Rgg}M*UqHBk-=UNoHWOY%CRSn&&DuvkEfTk$AT*CMp)5vrNqsa4`~2lAt!!Y4*I( zw#s7kB5(xD0=D6agY+jgZ}@4Y^t7=~wC8y|Nkmzk>DND|cOCt(pvM9({s9h%w{A`1Dl>nLP`swTD7Sk&)Km*$SC(}XT`PID#rf;@< zXYG8!6X;*#GyJ9MN(o1I>+shNB;TVRc2UY0dtbi3;X(bf`M7%IZ zyrD7%05bK)!#2Dge9tp3$cos69yrE2KUf~UenLi4vedk=Fm}Fq#%Xre8G%Q1?UH!~?q)I-}o3GN{V^TLw zJ2PD()pt*Bll64=+CSTO5HxXbDbn=+8CQwfW>Th}m=APAuE3sa_ zsARw|F~hpNUw&);VnG(1vh;E!_?U)5%}x{3OqBy37&V({a4X}cqy0mM^2*Y)B9@OO zP)|wHw`(7IxuTR`aaVf3LL2;g`>8U!Tmf=HJH}lr{WvD_0yzCR&lKV?^WZg;3=X@g zWc_;H1m&-ZiEy{E*?e2LI?c20=b?&8##Bx|Xdu-!SrR^tA56cz%zlpHXzf1x>GmVV zE5s&B%z9awc^S5EWACMzlH4D;?Wik#(N6SvL1n!{b(Xi!+>Q@d>*MhCUq~%Pr^Z{B zAFIm)4rtrkbv5{{McvK6k;sWk$YxOX1t7`laewFEzfjcEs8I!tar2hL-)5s)hdbDo z$UVZ6<{nEGF)HG@Ze9TejxqpwF6QeV?iU`9Fpq#BY}K|u)wl0p?oc~AfXr#}MIk@) zOYVOOev)%%I6petZSW?YaK5rlLn?ht(%HOi5;lBLJ4T)^K>5khw)c0MXU+H+!Dd8e zJFn{xtBWNNbWi+Rlkn{-n-~24^m~Hpg+sA3JE2b1OpDE^2U!+IRc(!41*Q$jOExFx zS2q`vZsDHk1Ty;EMBasZjW4-qY5>{6!E?SdN=lNU19c|^+u^PoVO~t%Dinb@mDN`} zI_HprvoToVKHgwlTg=qRSpaC0zDN6^KBl(@KK9{QrB2=Y*nBR7gWbQ6_)|e@0WK2m z^%6@9MWLQPbz=Hz=Bs+&2(i3c$$WUSHHxYcCi{te&-GmQTy_f(Tt#Y;uJxkEjR2x2 zG`~w0sl_deW6=ZVf>K;N=?-*&4aVn|EQ_QoFis-Jt7Gz*zk2|Kpo{q7ijEPYXGQcN zQHb)f;_cgeMKbrNAn!!B?DrjYz+NIOf3-(X5BE`q%0>^jr|YKda?84bep$YAlwZn2 zPcQ@$`9P7|l@w?_j=n7$aO?gAu(far2B{2`qz=jW~XRORd zf4%uNyH5Nb9C0V1K&hOaj-vNPofMt2DM=1pB@jqJRa%C^bu$1wFN>?SXMC#F@MoTY zpd+l{8ICxL?G8bET+m|1c(Sk7uU&C>E|nvqTYO@P_}(r{Ayx>1W4<(=4y>W=MALAh zPsHfDc^o^{Im=N_*v`*tLuJ{&4R#HFS}COQjV{3pJOaN`xLqp~4Ij?<`H#!;P-|^y z^DgdmL{;rzs_^RWjfqP&l~ENhr=#k}Y?q&`;VVQW$&ApJYX=R;z~Eq|F2&N07;?Q= zL3?_S3Xl)3A!KI1gg&#yl2QIrea-R*9GG@xg=v}M4!FZ0g>tFz_dXyLACdH8>@6!y zd(`fpAo$J(%DVqxTGY*`4W*`)IfCC3NVY+PsBW-xWxT!J08Tj&n((9`GC5DGTN{?b zfSW8FA+JzLMqZ`i?qrBvH3)?9G9m9xO)ZU%!iUiBu9PgISBN(ak^=(zAs@zVeB=qm zaU)ZTyo|j(3)?zEmXV=c)a;HfSas8ixNUz56u+3yNW5=HnX}*~t0?tRjWCQoQCIug zF{_h?dfL_qtB$$$d_Hz(eX#8QoR~RTa-*KLQ=R*Ksy<)`-v^+e{wQk3audigsJsS!TFk9CF$G zP&Z)ay!~H{2PRF3eC^6x?f`Q)`TFD(=h+(+VN*SDZh;6 z?PR*K-N5GGA3x^pfu3LZfz8fI%DDX$TLt(&deK~ZDW&CHAj9z1Ansu$to(ED>V))X zOk$`8JArN=af9u%u8Gp;_S>ONn&A}QlP{8x*mnIT=R`Gl$@rJHD-8F?sh?<>L z19z{gVl|}istznp0@y_1)yR5J8gp76>snlNR#*A-TelQ|P;Z7vDe;Jyw#5?&f8lAP z7vwJd!9;?CTPq>$>4SV&wk_kq8>_sxQI|m7Xf1Ap=A8HbQJY-kL?477(%OuA0|K$+ z>&hth;O^5&32F4xB5$t?LnX`QSawLf0e4fNomN5oO7GIz!+xb!RDeN>lAyKv7+o_c z_igWccXfl?n4~6#dyxb0Yc`r%@@gSY%KEjXqzBE_0X!F%u}p-N|8Y4}yuz~4nrC-z zXb^SHLu#|J;W@&D+c`B~l?(QZT=Q^fqEi4%ih&Kj;{(JP$GWI#y^R|7S7= z5|tDYt>NzJ7@TYgE$kk*l_lEX=#p@dwz_&g2MDo}4?8*WB-W8yONZgo&~9_wD=7X2 zgEI>sm$bO=Yb|#lW=k;KqWjbKVE^9_Ly5pgpA|9Ae(Ja*PzSep^ z-q8$4)i0Ir%qwd-K-~@>f}CaK3}WXD9y!q~pMlAZ5Gf@I$;I}G7nS`54Ro*^?uq0R|my*C={_9nQ>z{+TIZ$N1B}nyr`|uee(?h=_AYdU!)FODW zVIoYVwo-fC#;AseKi`d#FI*lS{s*!2BW}$wF<}F>4F#1~#ER+HS$uctJXp!K${<<4 z&gQGtIGt=bh$DoilYu_&wJ2qzZOcNu}4nAGQEj|%#V&VyTObag74oJ>dl7(FY z-8#`*#MJ}_9scxw7luP=g5oHtnS2Rhs&;@mi-tX}JWPNd_| z3tqgM;?abK!@VBmN&=~2%f^m65E1tH4TfFfXFu7xq5sRjL>kJDFGqsfp%=8JWePa7((*H2Y84E7EJjJXDg_LV z+1`>*P)vOVSd2GWh1ANV`f77N3h$6k%I?nPF&Cr2nk6Jc*qI*|pLDde3L1Kw?@@}k z{p3#oj$cPj9{>5B2RnHihf*8KS_)|})G+MO3X=0`cii{mr%1vAm zAEbEYB5R;00>PC;!R|$n@Ja6XI|WxNZdXsdPW_!I)Y0gp8EJgEaxss&*8dEs`>s>y zf)5E4nT}>BUX~&JN7s;k0Jz8aTef6mIB`BauY-aZr9$>-CvCKR@#+ zbif=66kNca-j?zzSlih0o4^s=xawfA^41Lq--6-*<8H80Dj&$++kvspL3w3draYj_ z&EF5gOeD#P+=@tk_tD z&)rJ@7Oq;qvJ9()!*3N$*^*Dyw{}#r8m|0$NgaP^2Uv)Mz|eZZZ!xmf2h}6mFJg($ zhp^r74x;a9gn~Dirl-t{HDOAGKWw$8&Q6p=BHxSC z@-BWxH6{ir!MZo9*bfV*DDF}la)VZg%;p_l6J1Q(``Pg}&ef6kSBhDFF{3Kpkfo1&P2;6U29i#< z-rTuUnCBMU^Ki(9=S1FfGFon=3>LOl&1q|v{8Zs`e5GNViu zRwI#i>vU?ADqos8C0kTY{P$P+g9cj1ngggP?{m(Jp#F!)(^`kptet|t(#hl74fe5X zaC4USZQ8%+nY+Wn=3buB+ z!4e6n%NfGz&Hl_{+TXOoZ`ZKnweIi#LUGTJ_p~BK{wa^S+d28unarn=cK*`~Wo3Qs z39+KzntjvKhMby-*X&3!3l9T4nA8`TfsN=ZE&nL~QLl&jur6d$6>{(9@jpI3>=qU4 zB%k2lXYo_}WaqyfEYRmf0^-2vr_5jPj`p`-4?6;9`?Q6HzD|{U*qvwxpa7zdn0^N} zJvgIRL_EhCek<&4d}G$MUn6i3uVZPtX61((sHIaWTAFA9qYsLF3+=KRsliXa+h!3J z!gx0}8Kdn(e7Lb~U*omWBsXsVr%~!B+8DWc#(2@G4CaPcc(CV z+A%DkJS=C@mE4DtnbPCVvU~{&c_7Y}PEfy06(_lRs*v z%2z|M9XAt=dUF__YZg_r-P{EUq7J4Tx06SN#0UAJ@VT9#zCK>W0rNCtuUSXBM^9>D zp@eQg?C#&|0`0ZG@PrOOt~>}Q{WLoIT9j=3et53L@+&qqt<*FvheQ=s*YOVuXJWzm zw2R>WCx(M`f^?_NjcfI1=O0I&`-QBQVr?BX8P>)JE%uq8V`g_zR2(dXShGtP^KY{A zR(jyvf>!XUI{}P*C_mD%X#FV&QR>u~Cc8V%`;N_83R)+NdB+epUTiUf(KAE zHn-re=}&cp3%n$P|JW71osPxH7qAn{+6V{Iw8piiVAXCR6rOhiMYp`a6NP=b>{Vdy zU4)U<@5K|ZH9WRo!mxSygiPa4UUv)V`Qk)h`^A_&f@&0Ge%MJQ4-^&vvFfXCt8-t3FF@+lFjIOXE2PM?0LQ7cECF@yGi|%drskJY3kLq! z)KU|_Ju!^t`j`1hu)?}Ad&^NS*UMVqyyaFKldM(_Wt~?}L9jc#Up<(%lf6iJS^9VL zFc^s}Y888byRV+rRrFG*c#aR%UB5>>Cng^zM6(+}P1X_VJjPWhFG3N9la*i48gw&$ zKJfa}FK5OZDCFGaL`ah6doDZ^&fA_Hi0=sA&9}1ho*6gQv#XA}LJZTw?XAA8`h`XH z0ozC+X@Tb>1wIN1NgB>RCxpzgpIH`dV-?NbNeIB$SXFp+MV6C(Iv(%fmQuKI?yC-Z zgs^Uf4shEZ^t#31WCYz+dzqN|(1G4}G(Ue@=T4vkLaI)_>b|`EJ3edQnZBjf>zaiC zy0yUPEZxEAiJi@zMs<5{pAiv|XePia|2PrP7YK*GW$6&?1#mZSMBbe*E=-hjK-Sb> zWp+YTZACeyBrl|jgVYN*^q9V)EXg<&WJPUPX1ve=BD$lwR+6eTQeN-xIUdV zi6hjYBJAER?SBEs<&~%BhfOO$^O2QuhAWu3Aksh}x|$ezfup@?-F>1_NaV9xGH05W zD?}HbVG*jW2%^{nu6SbyyDHPMMA%C-yvs{ebk7m@CVc0o`_mR?9zMisc%&rQ_fOtU zcI#ES7)6tJZq>Nl2Vn9+3}(%qPQ>Poo0`ae-P;p18x6=A6&m}pRzH4r^3|;&!n$z3 zPBOHVZ9+Fj%9RVGjp$F!w(}=$zdN_Vbe>lq65|nzo8%u>Qranq!@8|bpWy2wu(BKu z##3hN>6IML@g3ap-f}XL7ydLi)__3ZyLTFYlI{+(!TBG~&7pjW|GA4;x?X@m>C5Qn z=XG8w$h9l0bWeXWs_sQc&5)a;**cUj1Xuq&jlqZLu(MgefC@=TLR`7{MNef*q_N*y zC5Wx7UI)t-h1tnsvR&0v2SaD!_XJKT>9fZC%lO2m3;O0J&*SXfwU%lN0Q{8TiXe?O zABn)X*N2DQdSZHlx8lyX9R{fM%SzPBx!$1R1&XfA-m328wu(=>h2KuxiQT(5CbST& zd6!$|(e)2>zYD%IEEz1h1Ts3aRWOG~yVZ(^#bh8NEj37<)Q}{ad|6UX2=xd&m5_6- zP_v>!45Y5h5Bmn^kqI1l$VG zH(Q0@cva~N{&P98++oV`i%lP%eAegpvrDc5G@LC>zXyhqep14|c;A#KHVOYcDLr?L z9Hh@C`F^B3y*30-U~N?dbw-{CdF1+f!Yj%CX& zHz|5Ulwe}AT;!#XVt3%W+BdY>b+*=(&!X%9tmt0AH*NDTB{cHILF;+~4k))F?z?}aC)Vz($nMs;VC zzk8E>@WalBh|9!$&140mFVzsT`Zxk6HdBNq`LmNSd@O=iZJ@lgH4SvDrljQ+J!>K( zKK$pY(?yj(EyjL+G;W9JfDr7zfcuN0As~isQ#qYsYbRUJj1D0B;JFMDvR%3#4#>#c zZJe&EtVNvdSG&T)TX?$*Dw8i4k!+gX)@89I+j}?YQ7N&Qu`k=Ufe)86M-(G}VS>0l zx|2*h*0S^2O8FL*RU|DupgP?g9X;d(mt4*72(2~G#2AjymYTjO*oRSdiLv71XC1`8 zzmZ$yw=DcyHfijS@C1Ob7}Qp%P&T?W(kS`qXXVu7U&WOA$I}fvq@34%96IuTB*I9-JUY? z`sd=z*DxQXFN;p)`decUEKm$tdvS?`62mKaUN6C6qTm?;m}07+Rjfr1-Vh6uvGO?( zPcnJP4MWT#EAU(7lZxTuqbnF6tdvK;CX(Zo#g6a2j}Zl$QPB@bOGu~eiEbgC$S71J z{UGX^=@_4Q{yiMY+FAp!O~{?@7BsW8l-60B;aATea<7%IdMo?xnapNEelbI{$o9&` zyZwF9EyUx)(Y~^>OSJuclP#SJx*3jTzDWvRk%J>x~$kP*n0?^_fl5nLwJuQgq|%PkRu1XJ>B` zyS82vW0(^Tf!wXY->&IV&X-ZTxEs!VrgK3eh}PG@1O0f)6_gsa5xFE0nQCL2Skwmjvowb^ zLSm#AKqEl4uXWm5Dr$%S+p^!8GUANQE|%t7(Ao@|tUnz8Y)XM{Roi6p7-DVVRbbuX)gk>}ht_y7lFZ$iK{sfnI(G-^J?v`O@8 z>K{!XiL$GWdb2#4uv_O}gYZ+wxnP*vJ4@TAV&t^X7(e-H^7#_-X!8c}FV&!W$)8U} zt2;D3@^J00VFIO}E*qnJ-1-N#{3{EJE;P+OKnp`~d_D6%x28VH{RhPYI8kRi?C^jEG>0{?q6LqB*rNhR-n7FTXJaf%2g}HrJr^6!-#|YoA zbv)iIJU$(o*CZiB=d2O0+G<)}g=-wok5aS_rA{;eR?r~y*@ca=r^o)!>yEdkwLC98 zDlJP{eLvVYZ3wYSRd!)(T7uFE7u~P?(Xf){_Ad$ z7{qFvLvL;F{;(s~F!##(!gHn_9b1UYBbMs?cYZ7CzBi6K*z_QaAK$z7_sJHSc(`@A zt0;9#=(n=TkH3A`8g&GF5#hz6!a_&JsSq|X?zi`+FLq_9WRBSSWc=PlPVaC+rVtLlS=;;P>dkn(tYGe)~tYTLGBQvLHITFarW507P@c~G#UorJRTMZQIi zr~eod3PadzolBQ_(WAj4m%MyMFR@%43KA*zx@L+zr>|O8w{26$(^wmFbBt(XIg^EZ zua+e~*(rFGEvf1@5hUyi6a-kLaHwkKiR7G$7B{d`io?5uH3#3x)e?8)`E>Klf=t*1 zNE*~Ewhw*-NItioh_ZBbHTbVOKp#bgNA9jN%vUep4E#c{ZH$oy10u(a;)c1tJ0ro1xh$4a#>Vm{yFoG;bOQJ74R=WH(*033Lt2Tepa<5Z8ulD zsup+zG(9-j`DfJsv?#6oR#>I4GukS>qqc7?@1Dd2AF28Sb(okd?U99fte^aGM@s%7NfVMLxe z?nWqlkP%=+1k3~)9LIZ%vdq(%>qKQ8mrksVTprwW)hNW z{arbY5y3m0*8Y`@J)l*O#641^O-YC=EO@bAPz*@5G{Q0>R14jbci!Gq);}jj$>mAU ze^WNxUu&Bi%IRrp)$tQtVXW05Vg9%{RT(FwvqGR~0IJyD{AN+*aD>3e>Y~sU9mD%} zLBp?tR_4?$C3hAv$&D$a?C~UowF7uiMF5YJa@mL$N`%X3q$C56E#SlM<2l*HXCcC+ zEM?GKCueHHlhFm^pT9K`SYT=5Tzi!{B?mp7!SaPv5&~g~56&%!{+INOIyGR`uoyCp zea%z$#C_q@x!0lbOIBa%Z0$y?(L8Y*@1)K3cujjXGo_TYl~RVs9U-^%CR4yK(nSUM zS#sqT3><`^-U5^vmWyaza}~@3jCS~k5j{a|ttJt4?*fQYJ|Fu=D%6B%?IAwISdCn- zk8a)3;~NJjXt&WK8XaeeLBRdUE(?5DHT$N1eT{UULr3T!t}80-N0&XDvv`ab<3W-S zlzE}?Q|FUUL)Fk7Gx5ad?RRW%DOsOSbg#t2?~IZLQj!FrgO)d+46=z0|ECYSt788k z#5GHWRq`E`tUznMjB=d4W7V|Gn_XB`=SSVmmk)3siYZ{z{2l9b5r*fObQ z!3EBh-jwW=BC(MivChzNL9k*`a*?naXS^QroC>`BUDC_FAAf#@t6=R-G9h9kcRymg zVELu?Mm{_zjR!GvsgK{vL2@63AO>07^19v$Z~VY!Y76UfkE(YI?S%Lc8=;!&TJlU( zjj5emu_ABU(2$J5cfq8+%?(8}0fAnqVddLwLNy`d78SVtZK{4Q=afarbZhT!ZC+1h z1Br6T-Z5TdRio=B-!i%_`vPlOeWrB;E@dggxnYJJm-*58vnL%f_TI=KreU33n_RJ4 z>noL?-95T!sh*meBg`t0aU}55sHLhY5oACqy@id2Q)=zAh1y#d%_gCyaYt24QO7M^ zCVb4SqxB-47{1Xlrtj{f2@>ioOmdSgV2Ih|Q=c(J`M& zPR&6_Cf;6-6+Rt7$zy_IVsKgHMy6)zVxDdZ0Eiz}(cCZ|LHZ0>X{B5PaoQPo2KIs= zZXm>&Gj}ZoM){0iO@lplKw7lDM!r0A3Wga zxvLfam0*<#i9HE6p-IN_XD|!6vxQh1xYWYn@Tg0LafZiHNxq>N2hXCIP{T(ap_1GD zIoTOW**^s{`nP%*ViF4Bs#o0%9U5{}i&r#+!YTYk1bt8`(CA!=>6jZ;EOC*P(Oz_W zvj#S*%(?z5j2yv)BBi9FJ2?6NL~n?nG_F9qm|0i&QAD+Loho-6fHI;Md#liKiwZm$R`{D5;t6i>J7;|HvgwS} z9PUi89*+qIqMcSEC$RjI8D&Y68$tCQI2!%O#s;KV4PiKFvLRsZi=G>uP}`}_e1_5d zDlHzR*paihwL8(Ms6uZqFjhKqm;Yh_)%VQsoIniipcEPWu$Wl@v86H(KKZ}F{5Ej0 zKaQDz^2XS^9d+T;lWWpVKjvO|qr_A+o(*@iK&luj35`x&wtx+eOK>!hYI#>9^DW zF=46Um3CQ~KT*Na$-OXBx8z}-(GL_GJD#@26(h}+i0=jY_hc4WE%p@;$|#)6yGz^q zwA$cyq4X~gUS(ZDNuXT{46b|nC@^o_{qd`$)3lrU7XhJD1tL|}N z?vMbwVT?#3sZ}_%5NoEp29LHFfc??YXj&zHBxEMA=5>ZohDAtZq|rkCO}1M;MY!D8 zUMYhKFZD1iz5FWi&<-z5Q3F0q@Wvgwip+h~UZ$lI=^yEXKv027W`pPDuq)Hyd8hyodSX>!gZW6&#s|wKT5( zE;`j+?3}P$QV{>Eo}!!FRu3=XvM}_GRA`wV>z4 z@cCSo{o1R>@)*AqS!4~d;z9EKbu&qMWuTbl;-@Nn@q$M!Q-SruTmpyGrF4rFg)hEo z(EYjWp30(OAam)PZwBLFg`GIT_XMNBZk<5#@fv7Nm}va9ZcJ8#>X~2G_Z*J!Dki*8 z$Tu&`W2VXsHdMOZOw3G#@eUjCl6{$h9nHq%9M26F3h}6%ds2*QGMh((0qy>Xn)B z2IX^E2b+MxR(D7Qw#%}-8I$wr99Hu&d{`xE(*^CeB?}TxXc&lwOnh2f%R7}MnpbH4 zR}cdaf7(dz7>;;^Sx(Y8F@*4tgnsQ?y;_N~)avMam|GePdBuDplqG-7cvVb2{l784 z)QLMjKFMDm$u?f~_qh@>%cY{3FXK@|eE!pmt58Cscla=JnepQ`&=OQwCS>o>N26&L zTyg{Gxbhgj#-sM*UA~n(zK=fUYok(14WlZZP``(JJO3K&>DR7ZR-_=_@2=E_FnMYz6}C-Mg`z(U&L+EXbsC8nugqZ?8)A% z`agPucSg~2x4wU}gZCh+ps+Ch<5=p0 zx)w)sC{G!tM1|gm9KhvWd&Je8OZZiH&_K31oAT$Yo#;YvPIuYlrF&D+1(cKR&Hlf= zs~-~Of2FT~BFaPShYB4_GxY;#<4ZukulSD_M$bFjHP>Q{B=!{s`IN319Su-(+Aay! zrcM=|z1q%zh`)=#RY%F&cSO;k*a)M#E&+d^6^ErmK`S5}U z??Ii^D_*e*l{Q`nzGFnScJ!WL6Pwk=8DlRZHiT`pG`WB%&3Pw?w_t+*bav>Y%Q*gh zh+7@fVg2bI6&rP}490Tb_mh9VB8k-&mBuPr1_}1p+ zlj@~fUxf0)OMsxK8PB*^C~c9xCFnK^T?+ zjx;R|jTF91MyX9yV4~&!-TeOHv@sP$dtxLdbHG8^(*|C>H#xa`24lSx4cC}93!;Tu zS_!bqkfFiK>T%rC^|V)&sG}Xy4yi#BhU$(fHXPmwy$uGP%OUmg&6NhG$6TRdaRa_D=c)*WcjeKv1>@+1Im z-(H@-N61+^O7hzjGvrAdioS7QI6-?D9RX1~(LUE(Kc~A{Ah>hzspiT{Q^tj2D$S9E zr*{h60&>*vxlPBJcC$WQ|2DUjHB9pCMc+Nw{NRK8NxY*pxwB16E~gX@X5N335fD8~ zjy_tJ20Xc|nV!LLWa=;^PirpQ;O1E^=LkFP~kZ6M=ktqyOOW-fE zy*C-;i;JMRiP&PZZc@b%FPXqW#jXPP)7Eyii0>NTf>&_wc`yGL>LM|@?B_-lMM+mq zA=(TiOx*iW0;~Azr)9s`r}8Na-NRuma_qe{uz7YW8cx6F?1my{r8w#DPCvFIHap{gMkUJI(>rzcsacCKp!a$vvt+^VrrBgHTTjv#c*dSsdJGmGn-~6o|1B&iCjPN{%RGS zb5R@O%3VTbEMPrrJ$04q+HCrj1gW=avBYumtpP;If9brHhCguU7l5Lw<=&4z2hH?1 zZmtvyQT~eOQXg3}Ni3d*6@<*$rUHunGYDMVQE1FvES z>yz9n$kmw=X(^QISBo`eZhkT7dDs_6eo(`0Ix$3MbCBQFODst^uHyC7-Hd!UpsTW6 z#Sg+f1cZ~d|=n2=*(|>xV^tv~h4fg)N(-*_8yLG-a?tOi7p!MS; z5bz*ZJLnzEXQ;Y{$rxzNWSGF&*mV>UQV7qBRpm*bA_mJ|fQ_*5hi6GKBGA(?Md55w zCzYP{N>J+{|7mD!PLiaMbd<7A|Bty{MTGVu->}JFPg}ZJ{~c3=9o{o>@b1<#67wqV zM5w_+L8Vm8mqEi=F;N{+pkExOmO)-)JC^obg0 zokc=Tls_qbvN*_%HEzl~uY05tBRZ%o`EzcfG47RymPQK09j|-ujLKDHrFVQQ=MP&G z!CXVC;Y!n^?s8{m6O*=lO^t^%qd6UA^{`e6*$1$txt%68ZB9f#`Ud)$F(cUSY%n(h zEJ;LBerjvC4Q~b9MZ1W9OYeE&L)=b`Z}(CtVuet8!Hs_$pPxJ z^Wg*ku&SAcn5lG&s*si$W{4WMtBqPD_$?`jhSv)OuUG=nLZ|VpQ9q*~v?upsTnmH=H;Yw*TYQ zk6xm-Gytj1!wr^y#%!dI30q>WCpK<#2Jvs zE~xS$SUoVKdmX8I37DrhQAYtzNB^&*7SJx~?Z8+5&M|W0VfJpM3X0Ar)A${IWH=zo z$k^2=9|QqZ-B9Njc|o!l1J^+m$Z*>rY)rwGL+U7Q)wi@5U&j}Au65X#Y3`edsBG{( zFIAdZ!fbzB;sIr+Xz<@YcR?Nbw}}~PwOp~uzsLqsPBHp%z`0SuOvRAZF8q-KuMnj@ zWY&q#zh{K1a$7j;Hz)*ts7GLzqIZ9YHj)qSdU|rigkSb7-fx@z?Y88FDECG?UFuqi zQv6Il(b8U==9$aarZSE^r3nH0d5dkR^D+Dxv-6JVldE4R$y4;@61wDc?W{w zGF^iQ#kl4^CK!+*sk%uW{fPm2(Fno3=TH&t!Gqze4;q9(C|>A?phVA7!$`wS!waQ2 z8*S%*8$>bT2U3E=q{d3tnDVQAQ%ELo8GU@ZSM!4^2o-Xp{AqCQ3!`k&rKKYY#IV7t z+NkNBD84qO`YGG0ZMO9@I)nAhf|0o>?Rej5fTHE#CYlK4&tRA!sK^?5rH^6p?5-oW z19qixWt~km&yyi)5|IKYTIY^x-*bVr(K5k}Go+B3`dqo9d9CSKU5w#<9}VtjoZ%^8 zV|iR=yCRxB^>#_tOO_7)G)r${@@167=m&X}B_8kNV{k5p@$cR0%P8>4$>*1)corZ! z%JvE5y(qhJQLXHdHKPoxAS00?iB>_q zD9wRKy56`Qdy{@>Metf+-ecEVnw<|#cVDeR#a_wGrGyk9qBRR&jNw71Lh4FA~4t0QJjJxfa~L)-2bd}bmd1kf6kVDS;3CiWD+Se%6Iy&aFXBPq-9 z_ttgF@?v;>4G%ZMT>_-CjQcJ=2g6i`_$Z&5Cf>586bg3!`rcgLrJ;CmY)((2?2{rz znRAK1ran=a)3n;Pe!pPN#5>+jb@=gqgtl@@FDG4WoYW-IQ^q^jWN-n_qwp)sy5wL{ z&}Bfczo#A&7o^TD8}I3i?KZ}UgCp3(GY=1_JzH+O5`6+Q188!(k~6ZJ0HG2sJ^VSXarE5wj# z`kUnV%&sTk{xUDAcKo6T@=A!jDQcRro}E#?JOE9FeQ7fGF)W<|dubLn>WEyDut$hY zaw^dyO+IG2$|aIaxi5FZUMx_fZlNioyOElgBt(aEnUHpfTc8W~EtX8hl0~r^s-s<4 z2k-mLnT_y>`K&kPNC^ZFSTaGV9rD|&0NAakc!}z4_<`fxx&i3Q7QdDC(%$O)-V%)W zEvX4VUGP~X=UFxlj}Z|nfvIacanI30U@_)};z)q5K(_UPbum^qr?J1yg+$`T6t*jBGC_Q~0$#3YsixGM6@h=?fnrpnTnzR&eZo9cWq2$^Wi3I{c+LsMx_k@q8_XrHsr;RZx{fOY&l^$1cR9@ug z+Jf%tkex3(J{~#Qq@Li;oc$1bneXa|=-;-h(DO`KlsvsEhFIVm!I{aIAGUEq1;Uxa zWi`4-DNlp36y4+HrdT581;d41oP%4N;7_<$7J~q0!$H1m>xliu5uN9QJdC_1w2{vU z8wqf$+e@(7sQBY)bkXb8ajG!9Va`EVQKTeW_&LOuEXWjoXL zq)om7mQRRj_eY0H>rug{>g$Y0=y^_G(0H+!kgV{N5u~AJs1Qsyi0+BXkat|?;i3P@FxK*_>&e0L?glZBKqAJ?5n_w(ti|Z;Dp-Wmp z3zyW(k>`1ZW3uoRhlfZ9Vu)!C_6p{9<8sTh9U69OM5kmRLOd&S&@pe!Cp_utG5V>_ z$)VHT?qEa$!W8bF7AUH!1fJ>ac(B2_A}p?3LdqjDtcOhC7QG;TD#bd8E$C~cW+b#AV-M391-hv6=33QX$Q&3C8)d;4H z7xXW&8<&>wWlTX|gl#QZKdGRpX|mK+rAkH1jtR{uT5|?+P9N-TusdU5tXU3kT0b=s zUCf}r6^9c_u(6S`S5d_yXC*pnKPL)4PE-1_+V9ON3l>mD(iu^XuV@Ba=Bu1`ZzI!s z^}Jr4o)9l~42p|=+E5iafcJIYjKqG=P3C{&Bio#Rm(36p9w@vS+Kz=`fBD zz!{-N&xI2UkraD0_tCH?za(t$4MX1~$`PTWX7KTCl$RaQesDLTt4i2vH@w(Z=`6-aJ257cl7m`RlHMBO^TT}V5jzx zCyx&?edFdXSX&6vPkQA@3cq{)yflbqqnWBHAe9}zLef~>iBQ+o>Vr;NlQz+e=7M_F zY<#r8wWfFpF6GsHWU-7y@iU)dK~ z^<|`3!e<9AQEnyP#rwge;J+lk#V_ySXIC+|>q3DbwHaLQJLh9Y^9CW*m7tPT=AyF! zgx=br>12VLZroeZIGyoG%$v5cTU!@pS&Z|fH zo&l3pK3ns7Xp3aQ2Hra>)F>BhTzGmhxVLxl9j&y(AGx6}Eh+tKfgh|oY9KCGh4AJW z#=NW<{1yabunj0adhqIYV>gD|@e<63p1DoXtNwxBYA_CufkSzaWb(r%{9wKB0@ zE2(zZPBOWonjP2)%CIV}9R+xVPV%lK0{!2wxtu}sYQfyy=ItWNPeEImFgCe*cLb#+ zdA_WyG#HnHn67#U+ivu6#oI-V5OF=^STw#QoHlM?2d(f1DhukPbjk+2U*YkLv1r{L z4LfC7pi2Z{pGNHUI;Pc&zs8fn>WM=o6 zwsU}E1ld-lV4_jJbELT#E>jZ(PMsW!=wZ7$_BQld0B&CxdXV8|j*GU{t5$pYofRYC z=Ic8bZbMsVI=S%kcGtVN8Tl_9xCFjInQSz#rF9i$#a;A@tuc>{Njqs{qLjNVgon~y zx#RB5Z7+`uk{xX{E%D=3#z#gjP3o=c;BKbOJFY02g3& zGt_%ur9tKYx#db+{eLN%Cya%Yqo*fNfeWBSaj@~7RnBrTDgpwLIsa!Yv;5%{jfy*` zsQKi+VMqi#W9CsBKad1gkl3q!XAA}flQIK-1ui)FP-i2<1t)LkPy5I&*V13e?&4!O zWvjC?{!>&1k;Nn@@V{COEdP>Nek}-VW^Lhq2b`Bv(XMdyW&@J3SLYmo)E?|I>EOE!)eYok`kSTBoefIID1*)mzQz|Ni20`W zov(jvY<}ugHorwK;@8JF8dRey@kmWpHXCJ@V3HW$`Ti|uuEbs?_Wv=w`qJa;|FhQD z5U+m$TzL67Mb3y-t0=>fVqYKRDAXH&14*2f0wlU$?#pY)S^pbUjL2tF>ZShL`iR<7 z?B#k0n)j`*GC`lsLb9jprFFhI844QQwK1}tRG3WxaVF0LG9@28BY3l{_&x~AYWM^x zE39-*&(~tu!*s5SZ%2of3Wo#qPc3F}+ee@e#wM4fan{s9&2~G6=Ly@mjbM^296xY_GAr%5dHEsa%nQXc0i9-PQfrQM#CrKw0SGDe#9Je*@5O|M0<8VT%jo z-vt>CNu>HZ{S;Ewt|-R%JXntnsqF!>V!fM#U1Z}QzQjXg__FlXkWarVK)nhFhjKC* zY$>3pjWX0wJIS>}+@&|<6<%Uxo*q#sL_&1KndE~0w>K_F(@NjcK`YOCdlJY>-(0qL z+m3sIrTRu&?Wi#9!M(>{xia)_+K9gX$Pz_n$+~#a!@500wVPK1Ck;(B^~b!v26#zz zEOS_jB<{qSpq-A?hAb~KwUX}b#a%wS>e?BH>G~#2j`;ZA+VS4hXI0;x1ibzA+i_pi zGLgWhp6MXI#=F44t+)7`TC(t0HPU8u!|(4^fjhygrC)PN_+2dVsB>vNMq@j1lq@lXs7&lhu0#&mm-b7dOj$& z+QPl(V16H}SM)|EGZ4{N{EVQ0U}s0}s>uYL|HT{Ay3jr%;-K3XHO`hoE6w zph4DSk3t|a^1>&jw7I<@{qu;4sC;`<3O<`KmJkW~+D0Pf`(l9_n>TANd*H|EZ(nl( zx*Dx_$WWZKGW_S7ipX~C<>*8ib_W2)-*LU9KOq&5nL%6k`JB~d1+?@%N`8~s<@sOT z)1@Pe-jbHgqpf`*;se2^wer=!%<&!XU_l+PW9IJBW={DrHVxVo=vDu@Ut7ZDk{m`t z!{T@oA6=B26wG?x@ThcvH9kq{EYm~kkxG@XBdL*!ydfm=tPG|vG*B%S2mmF-H@gQHU4 zg!Lxd@A|wZ-SjQ2NwGY;73NG}wA~W|vG@8C3qOMw!M(9vv*`B679=HixMq3iGBI{8 z$o|v*HEnI}mRF8-MBkS>s%{s4gV9caq-uSzM$Yfus!wiBGa&1kA0XGUc`!)ZucNjn z@YnTd`o>JlWo_%*pq#7ji6J2 zyCYC)*ifsbqpfC1Y3sl^*Rdcl&aUrhzf>eG$%5=Z!)2~=@~Cs2V9xXQyFtNhW5=JV*K;{9bm#~6_=+$M*AKA$mM?bF)~3=R2Pko=tz$sfBHvYfQ1Mi$Myu4r9qi&G zw8>F(x*v`n6B{dWm9{)$85?#I5$iiUja+Ifa%s4%p__3ni2xvgXT^A@kq-16#?HV1 z^ula;jALszb{xBSHPg9$L&|Jwj+%bnBI)t6iy<>RVZpug@jZ5++X&@rHvHhd-!NBR zbOUwr)POoh9!+Vvw*4#e?v13ZXGJ5Viwam$`QPA<{BtTig8h-D;$8@sqIt)#G=(+* zr!)x{yJ8gz5X0!iw%0-zkJfaL`^sQqwp#DC9n=1(!Kn|g|MRMlqKC@=;*l-y8hUj0 zjqr+l;fk{KIVdh;7bbrO?%)Y9S^UOm3JW=C`-HML&1F&%n;NeEbuMJvp%YYo?H8*`Ju4z#*CMr%upS7}sTzXFUt$WZ-xIcVwZu1v%UHfXgf%xGE zjO)!S#q6c}kgt)VF?OyyOJjlqrEqWGrk62#@0#r{A1%bFPj`X_BmMQ7nwnH@iO=90 ze7fQod1q2S=|0tHhsK*?NVk1s)ZDq67-18Np=*ntcWeOUe8rASdjNt9B!#9}M8)p! z2(yn2ev^Gkn{kMK+C>=ar)fFeVVm~TE>2eC^@B83*?(5)4-_p9wq`3DUIhQXgpAgE zKg&tRxN2BN1tm)kJ#POtZQ7OHS+J~4J`Pa(D=Jy2AQUDBnI?$D4XPq(Y0MsHT# zzNcGRkgUX=;q*!F;pUkUU0toCg$pt z6=hB{Oacn9^5;5nwBi*eEtX&#cWOpj7e4yl+tn2J9Ygv2SfX`0O$`-#Psol3C-Jt< z`n2Z7uq=)CkPXBc?=Qt;!bO4-1=_=8k$1ttm3{7r@(=P4*th|w;EN0?RV#i^eZke} z#Oj}hj&pd_WZSZKpPru7^i=(i{|%wqprQn+AbGYz#qwN@12 zGV(f@x3nAY^&29T=0`h8-8sY)L*Q{zAHkqRFf_l+5u5i0g(6?(b*^pZ-2 z3k!vn(bJU;#up8ZR5J!OUCrQCrUI)6E`bP( zOmVG%TZr%G@s~gxhNDAw`TU>rL;s|tBxYrtH3iwSC<-RJi}Q4YZCPzIHNMU*>mOch z&P%8l^WB!fJfE9dub1G~2X6`Xt2p0bFSoF|8Fl06CpUB}q7aUZeDINr=_T#<#E)iy zyU5w+CgmR2UGEH7>zjVUx0@6UWc{{+r8w7J4!Nlp&_`m?yJsYGGwWSdt_c5LXfUv- z@4MoL*>y?d+x$zmL=%NMTTJV$dp$Rw&AH%iI z$!U7oZMw2m33PMV&VgX98*vQ!b-sBV2un;jK_r>(3m}~x464@_Dne{)6Vs$T^83@} zN>07x?vC;wJ13y5T$}LtvXR-Oll0G?LMf`bh24CXvE3cZvs@iiM~cueC|7Lq)q|VS zuq1rFB*^{K9dl%uUwt&26-)3s;Eir8lRBgEX(J3y@j~^_qZvoXadeWdj`j*)F9dQF z^SC=cgLBgMLh`DCqN?Rm{B~#J*KDU9XkXy!V+##CE4$Ful%yn5^ng<|%Sf;HbX6-X zP(Did>F0)Jzt)@MW7Aq?-0#h9C zmVl^(BpFTS4-j2+-{bMnO#j#&mcqDl0xvADHg7rzS)~?c+C68HbK=37%6sZ;dR!B? zmK^WGqVgk2dT4BWD>N%u=7-@WnJNcwT(^haoXTVeVn0hjD zGSd6+Ysgj^E0afh{C6Bc#-Vdat?Fq&%QX=XhB!E0@EW`hN1{5Ym~biae(1mQYGY3* zwC(}5q#)z6_$67x5FFGEvGC;`ewx4RcP8>TI5C0gSz%r68}ZsxI{H>~`<6qzAUjm9 zHC!_&dMKv6fcM8){x?0Pw4Pl3B>X|o8C{6kz>ha#(bT8mCrRMq;Gsr*=4Qvc><#*{ zCMuIxN0~;-r|!Nm4*B=R)O0ZV>AJzcTEX*%w%Ny{S>J~g$gxD7!g)?zJekoc;UuN3 zd4Cnu)ik54c0c9l1^Cn`xPxx2(~M>ZVZ!bHLKSI$>uMnyYgSy5K+&fVzgQsL!d7Q2 z2jLCSfs~S19Qq~dO#l63bjK!q1M{JC-fS>j;6^MGG2Hy!KEPHJb~6sb3)0im56XaX z8%E4`@=i=qQ_Oc4uN)ldk{I^bo821!_6Ba-nL6j~sx@VVVHXX7o@~9Z)vw@IpL(m7 z<0sY?lWxO%qL~df)-}3u2{+-$+mF0tY$x$i3T$9ldeV7}G?e)j4Dd4h3E#>t4OUNj z87N#5?BiC?q5e`t*lH5N$pc4Tcq9|nvoFl=?Mxu<7McZSWaf-VQz6kK9BJ|2m#w3y z#_cHx#dbjsYDr<8ccYOljI&pfdlBprvc4Cq>jta%U2-nP%7No&BG)YwMyD^4-77(i zKchE5r!4gY5arc$O5dKP{JwUYtIra8 zN+0A)6=@ey+g7>`V&Tl7wWQYbHRg?(`bwecaJc-p@8;bhu4g5j(*J6e(dEOlRb;l` z|1^a=n{&5|N(uzZ+jajE_+(?VEocC`YeO4d#`}iu7 z#j4>sC`GVvk3c7Q&Vo!d@neu46^p>)6nEj@cY`q`x|3+mX`R~IxBW_+o+FN}B)qCW zE>bAuyR}(^Dz9JRSfpr2aP~75VBmck9g9RZOttwEH*m>}HnLNLPeK3ma}dYbj)k~6 z@PxW+5U{e=QbR!1>OALKLazowa5dRr?I@vD6k0*{g4ZpnYvNumfGP|DBcgqwt0a%uLs9`9gl zPPRCTVU4qe4jTlDrdolk!b|+w;~R9W*V!It=_O|?EY8SAL+Iw%>2<& z=gj7GXfY5pZ38JBOsDtofQ@goIDV2#b8x^_{jgrJr#Df7bHI;{-R3ipPdz64SsQp7 zn=gS_1jfB-GDq)frj1o8RmHw^%lBP;)_$=A`8-GHN0URAVY?29~QBTAxL zsR~^4(KN?JNPdWgHy1am&3*b$J|p_|@$N3s<&Sr9S;|0ymel?7xfTXx!^`4kUpTA> zO=yrziG+~7fo7(#^d;}tx0a-CT~u@1hA6TbcE+~LQ_hSiWiU-~cDFqtEFWyhwK@ae zujTDL;E0^tBnXKG2Py0eTNhLm9l2~bxpqyCS$e-B0Z{ZCHnT0BSW1X`NvXnLLD{WX zz+px7rvql4-2>v;Ajs8VIA$jN;&*m$(MaBCYN&ihFC%C+xW(FMDg~ z4JD;tbf+dqm+-J9CR%L!T%PqOjS5*Q29VsVvDx{%vFqqPoC3D_+?d*Xl8<>x$%f71 zcRmFEyThNI{ovv&z-)+aS+X}!*$=%f>rc|T zF3qzFaMURB_OAVX#uUEDh1Iv40e%{mX?-^}_}KXex9c>nRR<7$Vu9Y=A(T0Rp*n zuS#_RGaGQcGu$eWyDl0blBn-4ZC8lR8|RqgA%3FDptFeyzL9gLr7Qa}8mifURqpi8 zXZbX^n{+3qz*W?@pKw|fMNRKviU4y`^0*d2mvWf{d=hYfRe#3r5pwyNUbPHQ6ovI+ zd|&C%ra!?2t60`I-a;kK|Bbl=E9@WDy#Cs`Q2m;WwCGCC;~Ol@4}ZH9UA#WJ8+JL8 zDwQmW*&FMYB*eHYHHYAcgMl{1EWb z7I+B8#}bpl@Ay!5(!wi&F~z;PKLh2F%hxgh#*3y*_Vxay(cLRe~U!4FR{(UAGrbupwb!RD!NX|xu4BQbbGlouiW9t+-v4J zX+Rho&sftE$S%B1nHHMtGY9!J*b}wx^t3{& zzI2Sr_X~=QORq6mw*WCYARVF`JT)w8XzMnD{Kn?V6&gH=sTDVO#E06_#C1Dvz^cKp z9d{z0(UR+s>Cxu^zjs@y-h1$yVIrSWQdTi^CAMp>F~wAw8~Tmai_sj)zk?exe+jZv z0qn#tm3B#{@^K*}T^()@LpnNV%j+IVblhMCd+O;4eHiJAiHwMGAXJ$(VG`b)CZ)_H zs_O8!;$f!iiV;+1jsc9yM5aYrOI&4-13X&Z3&f1Kv*4X-3HF<9A&ClP%JNHrK}=wP zfkn!uO!F&pdq-%cfd9l&P|w~%S6;#WJ*J~rMjL;WN|cGe`SRXz%3-^X%wv^(&d6;2odo5R2ePb* zW>b3x-CpLXhjn7MvtWr*@hVksd3so6jHDDVPAPm6vqUNi`zV94WwuSK1|BPwm$HU# za!3((t(Sqo6F9Dj_cb;Qnc2Ndg%Lj$GUY(^a$pJUKJ5MG8O{%G*lkp&NI5%5v*=q3 zsVXa9XN_+JKH3>G9lVX+gvFpHoY|w6oik#4j)~JBnUByIslm1qHnTbw61JUikKjiipqmWRo)i)_ow4DKoB9|$q?435+3utO zts=D-h*NYPjy0NuM8)~26YNnhjQ56yoT7+kgBYDot=rW5ngW5`$&ymWgL*bb13FcT zyxu17Z*f)V$FtTt3*R<67)YiC+~k*h_TaZ0N`1xJ%-=bRis7lLqn8qVo&OtY^lfb_ zx*iBiTNE~61t3=qs%np%Q@1W<8y?*>6?Fu#7l+Qa5j{s3v!spU((V|2Dzkk1>I1^d$VU&`~^kUN=??XgS&K zOcOEoH|NMsWtVh7uTM=n*%})4^MOu-PJ}Y{1-cK^b;;zz;xbxr9ByR)|NjF5l)s$( zJ^A-k7YxzM1^lZfNMZf0(t=E}VfT;M>{QgQU+asRSc^6JP{3XO0`g>Bkz42AyWp+G z|3FMS%{MvPm?X}=SuK8{E6VN&uNO7oR#Nj~30UV||M>)97$H#+5*aVSXHfP`KRG1y z@1kHeKcgRcN$78ph7bjBz*cQb0NSX1@r6+v9av?f_ z8Oxml@m?ApVl^NB)jC#GtEj{;)*L7!bDpXt(155rHU^oYPzKrGq^wP^D^rUznNl;R z2NEe7eYSE3J=#ZKymT7dEch^jA7Lzyk;~2buToRRBmyRHx}GX1(D<#J@L};W?Q%|u(QX#=R31FitdZSxKO1Fg}iY^W_?8ZmQR-ta0%U)2Vp!h!p zi-UQ$scP;%@+3weMB7+#6}fB;0!U$7>xY571@$eahKp*F0?}o(&c+uzE7~V_V_JdU z)`iu+^M)W*0amFMFuR?Nq1So6flC~3g_)HaraGxfDtBOT3&W1^MKx}36*YYG6VO@~ zE26Ltwnus@sV|4bPuELT3d7}**FDmd*u&fqeb7qZ2X@GCB|V7>k&NB~Yrq3;<<_*^ zIcukTJ+ZX7R!~Us1@xOR_+#!h?zM#lex^;Vb+mTbNH5r|t|o9o2DLX2IcGS4dYHNN zoe3m`<<~U4g<3RcUrnC2`^+ND@>oEAIIZAx4+s5VH`KL7hP`xAcuck#-JuXVQW}w- z09sUW;HEqA$nx;V>qGk8&r6Q@x#9y&u9jUbdwK+^S&M3SrJ5n1e`C%Ly{ozhf$8ac z{F&7-F%BL5CfpHB`pDO~<6sLktdWGK)b(Vl75+H?K;=7R$C@Svch1}}yxoJ`*TIcr zX|%-*@J0PnYCBMU258oL_RM6?@Qu@5UkU^4gh`F%X za_k7|vfEDYywkOvWYoIS7wm)!Uw+dyT~_suxxDBO5f zMUA^KP}Ju=#`C!@*u@t7ge#TX#~bKId?BiFqohA|RyL_` zDYfl(BT~8W9n{EpDN8G8Rx9srZvR0t~&P) z-y;t|DBG#TnE{I`ypO3?{_tRN(KCbUruaD`&+E)_sO3J$V##gQ^ z&puoF8J2;m6w6c0WR&E*m1fSJajmLTJVD3H`Bz6qG8Y0X$q%aCDZYqJbk_;Sk3LdX znw%n7YJGT(_U5&__{FxbyH5|iT12eH6xv z^WmxgoUgp$c{_0boSRbY+zkGXY}=rSL1z;|mqhKFlfRr+aKAAW8|{C_L$A6*XkfL! z{BhDetK>cBqU#UL9DUf6QJWsWQv%{T_0ER_6Zqc?PG8|JClQ#BW=Qn>(ehvSpd81L zXyF+-FK%@pAt)pvk z2)-f9ZO%3G#5Fv_>bnEH3Lom)z?oT>_U4)0-z&YV$>2>YnnFLv#oH74*|!z%l02}s zkY9tvK6tRG)-mVj+SMu0hTWg|L5gN9OB^RWbKNxS^s5qob^?Wk;JioB4 z1@sljf+}i5NAudxB<)XB(H-7+i}zD@k2b<2$WtRMHNs=_S>M06IgBrNuEds&sbwms zUf9NmL_5xPxh7`TjC&S5l6LUBw;|I?n3+}l5I#}q-+J}i4ZQ@Cp3t^xJ^>jsw_{Jt zgZs@jQG02gF&e$y&J-=4-OkzLV|!9~Q{xiGarwKu=#21Kmd6%Z<$_z2Te1j1Z1ZhL z-hC;=^rre|L8Xe%e9^G`dX+C7nODM;j}BKUam9@( z_M;q~Xfd3Xo%QOp`5i04p6|)RENpcbN^92sF13qQhPTOT3b^{CPbO}} z{U^R9mV$xj*Y7%@EsBc9#%o40B3r4=;hCM2V{oX=t;b_u6$7}K?f0x5!*TweEGr9I z-y$JpD=IuyubY?8tIhg&Z~nQmNTd!zMQwF6!F0qItkLM&lNI+K^Cv$9b~7!eZHZNmCEwoH?rsKob+J#-$?5ELKM^srf60hHa%%}eMuWDr8Nt?<;QwgCe>``fQ^*@So{>^msgDXfq`5|#o%EB%qDv4!h#wR90*W4m$A3VnKyOPI{!tP ztZM;%lM5UKrhxa0i0>a^zkAbpcRofl{WEbsZoPb%$y*B34SxT4{@pL!j&Zw~SVVGM z(wreZlu_%TEcr?I9B@l_AqKS*tZhtnlCmo5cBc(5R0)>&6O( zF!e59g&045=>8xU z#Ke?)x97V~+ZA3Po>b7^lZ&T!%eq~3ZSS+sr!0AZjJST3n^P&09TFjV;b zU1YeOke$xsg2n50`(Q&TfS&G&e!9bc?KtcD?j7BU3B#Qxg$RDIne3Ka64e5RYAiIZFlnj z{`jkT@w^f?(ly`CqJ%D6#d636g>dXie&n5+OrVIV=1a(Ykl@CbX($1OA?nmqR)(OD zc|l!sKv10J-~EWnh`!n!*nb}l*jEnUvKuRIID2pp;h9EKdM{k7%N-4^ z@lyU{=l`q%dj^F0#J3`}h@IqOzI8s(of;cXXwpw3hq`E7tKh?QXoN&oJXqwegH3j1 zsf2`t8Qj=mbSML{57i3CJqKg>P9Z-?S@uzm+=lTmuJ2LvA` z0FjK8cs+^DHoSwZongks3Q7vsg{r=oOMw9$&rA5_VT;Ka(1xnk>tCN}2 z5}xnsgD@^#Pmlf-7bV{=lyo=k-T!-&Nq?trv$L`OS|$H5NU!bRd_i^rkL@tt6Q}~Z z967f)rWT?9Wwz0Ou8ZD?YZcbwPu6pbjqK6@NWRg8woA+hS?!X68@u#5pzp<+^QU~% zxt;5GU|Kv+8H?c|{17;mx0|0`i?Qm~Zwki?=OCR0|DRt&vH#i&2 z!TzTe?O^s&_GRyf89cNy5HcVP$6@a2vhU%ZXVDKfC`A9RBle$VI@)-LJbC}tk1!dz zP=m~_n7I8zz^BR?k8KvYztbZvLuJXiczm$Yp1BhsUM8+EuBH^tqG%+LkohZ$OLoZ` zA3NzM$?2i+r4aBD`oQ|S{kTW>w@L~0P>gT%&dt3%r=32SXtnnau*f^yS<6Z2z{C-0 zE5JnCt9CGd3T%knBj|RnIFRTYbo#yXT+rNN8;I4g$Tc@N@+nIL^Kp>eC}Z^qYz?VU z6D^YfuKrIM3_3xvdSAtWfOn98`NmY9*!g81^cUUaYDT50y;Qp5PjE051zzwXMDo9% ze*eKl$0RY=93F;&d`BWLW1CknuVZ7iMxO5PVr%kKyb%>gbOK?wQ^`%9C$*T2!3$z+ zipNZnFuTIP6?w_DRI#GlTX)Ptxoe;k)2{i$YNBT}%aYydk-4R2!&P{PsMEdQGb$G6 zO&nmA-=S9>cNTWG%2}5>3V_+T*hBFr>Y*xDy{HzZQ>CQVR3Sn2_6o55EgCN;!mNL` zZftnx`$PqKj0iN7m^~X@8HdF;{{_`rt)Kz z;Yc7P$GL>Lidrc)L-sJn)l6QaCStE*Oy;)~Goja_TnM{yu75gfy4Ri7G|Yo{l4{4b zGHOzbDbDYER7Q06vAqVS-p*7~EBPw0C)KjN=zqly?WDOndV0pz2ghjMRY;!ctKT#5 zOkh{1;-i8BOYi6$O#fkQIQS@71B3+6hXb9VM~fTy_Hs^v-D%FhAsS*Q7FwP<#p#pd&|YXUK4>oHCS~k=o^TaV^5P=3N*;NK zjuf5g8($SmZSib?Wt>*D|R;WaEIWU99dua-zgDlR~Nan>7!>oDtAAm zP+XyZ=W5r9RXc*K{7nrq*K-yah0t^dn!{P%!|ffzGz#UlW)eGoI9P4C=CAu+u*1XN z@5M7Ar6Ar3@)u2y$`?SMA3oSu=_p>wr>V0K^qkP@#o zw2-Knjx3n2QJb0?6UX){bL3^PK~nte9|n;@p~EXLIl}2kQp+caDj}MNIcz*F-gSi> zkDE|?Rr28b86*D4m>4eT+i-7lrqD|3V|&gALg9s@mh0y5HXL`jLrRGN&($fDwo4#ETe z9a3s)Ml#)Z9=lbs!v^=mFwd9BDJis?6qU>pNqC8__QE_h)ceU-FO$%e)o~T>9(80( z+*8+17kC|?tGMpTVpFedt=zc}m%>$_yPjaX;@`~#<=;`_)j8me_1#bagzTnK5~-=60M$p#imaZrk}> z!1KNZ+SM`~jT33ndn&z=N~g}vm5W^N%l)dDYp*@JsP*pia;Io;#}JLiqIlb1^{nF0 zX%_2rZ+Xo~@#MGpw*dE0+mrqHHXmPSR{oA)(4WL`gXv0P(M0z1*>NW7rVVIM-_|xS z{x2IAwu{0kDdYRtoCua?pblv2Ex)a5!t`{@Rmjh(yGEHSfosikXOUuUSLhq1%FK6k zE`<2X*Nn$RMcIBdDfJ0wE>*XHQ82kzP{Rh>gEh4DK`K7cG7s3B*cV9?f-kc8_ODhi zoUh7@WllAkLaV>Q!=Uuy5aLv9-x-|by8&GA>jSWVNI=Rvg^hW$nps4JZwQFVKR|7>S0*ygS z1r?JDRdktYp={GeMl-*)@F7r}Y*X2|qIh!pe$e$K z%dX>~s4ozy1>dR4AKt~xnrAdEawG(<(G`XSOZe6`IImR~RHE88k=H%{V4@9dj7ECZ z{3vZe%asrahM=uo0hn(Wjal7{L@re=C0f=9vy(CJR+W;b4Oztj3_|3Nq3g*q8kxIr zjgPh#1$ejTKEmC|Z&+FvC3@V2J<`ot-6W^sJW5g2aWyba@#X9e=)S4!09#4@v-+^9 z&2TSjcF*S)hpOj+DxdM~Ayz2Q2Q-(C;8zWg!VFkHHIrSq>hYoU@AyyzKWA>X4YToL zBn~fqB^y z&3FfE0ueo$BOc80Xd0FoK7R~M6ij@L%bFjFkL#JE?A4gfIGOFE zFB)9(!sO$PgiNNCIBtC;e`Qt8rO+`{e&{gKH4-=c7WMA*hlZuDG;2UFazAL?UDB5#qFi3-z z2LqiLy=rAK+@Se4VxJJTYa4A}=2N_Pk{+)BI0`{0$ZtjN(l5KXK96#Cy`OxHP;P}J z{5RX16GMXL8@)2aLm3YyP33j%W0DZ*5_8|JlET+-@Cs-h>M5D;4&-5VbnI2*r44H9 z53&~|Rh7pbh;NH^*B$#GuL9?6o&o9y_F`5MH8a)@l07ASRyIN z57`R-t>RZDnRDjH0^1{F-2Qy8;uok}fL<*IPVx9t45NN;SFFM;H9r|Eq#px6ska1V zDK7N&;ulILR5!gOxr%x~#u^%HOXIE?RDXmRW4tZUP;nSY{&V*^)Pw3#KQs~jh-@C} zcw=1#rA|it12F7S1nX1t_w7U0z5+$c%%!O z$A^ki`pDQXg1kudU{4rOBFI=HT+=9N_)WD3ucte~PIrvGwlZO#grU{~ThK!-QIz z!=@DFlA*t^ZD{j!f`1eaP!##kZpdr>C_A1p@!cJD z!|CZ(1AclG>0o1wV6~edj67naWBL}3B;|U6Cnsau z0$7M=AiTL7jphvH19|Y=^*}@njcDczigvz5$D}Rl2An>QOe7H*Zru6Br}B9NCgxg7tRwWgXNQHt#_uY zp|2R8dhiI~7arLC`F%cd^Z%Da|G)bx2-I~rf4Fq0T4^7ktHot!h60{j`^^UVk5p73 zj`5{jsP*qdB`yNko#Nu-2Og5)RzXwge-o)FX7clj)`4N>=#-+4n#>OB1Aw)9+o5sww76&zG&lhk54rf(jIoH z0>SN}iW0BE*ML>E$$LPQ*u)+plJMNeK7dIgW3#J_eNTC72>omzsH#K`qSHY5=9g!N z(Fx(o+)(JNPs3phn5YfwG5DE&zjOPWhD)OE*YErDi2f&Y8iHdD>)N3 zeXEEbYl8ZiV{lf}x01(C3noR1QUkJFX$j2t`$jXP#-pREJO)|aqhjB!(I)|$a+FYi z?)BDJx0Oz3Pl5<@`!Eqv2R>E~ z{PoliQW)KmDrS4nm0Q(6IEF{mU?Z#2)j144NYxSUkw?{?_K!%E*HGMyZeTcScLm-K zt5ZsG3aEM9UnV7GZS+*m1W;yNj>H@=X;DoKCuP@VjIM%tx z2_7ScNH{M!0lZPfCBoH>iu;}QIM186R-Ntst5U5J^Wx=|nI!6_%6OOuE*NFWE1wSF z8OB`Pb8C&fKUmty0%Bg_B~N}H?C<>}F@L{UB*gv7#bnFoJu~?Gm_Jl8LzhC*=HSJ>uIZ1@NM36jw1UQYsl`26_Ie@0#(7sf>&SIb-aX;{{eG52Dv z^#C8xlXJv9{~4tr$ zMln1k02lw-Z6K7HJZ{NlHb#@ylrgnKIS?vz3KEbrfVB3)W~Fexz0 zb9QTL^S7?PzJAWUz4QJGakh25XWrYChpYJZK=L*D#}2!4_*>r6kKfib(fOsh^uTXb z1)UTgJ?_DVy}==FKu4SuWHjU;>WKxm!B5P+k9otcD@I${X+1Ofhxg9j#vi26QckeD z;BM~Ua0y$l(0(PFT(8t9>`zB9$q~tu3iKmB;5< zBg_bq@20CrA?tGAf95oV?&T6^G*6MSeIZl+l+B%;@6v}$(tQO$qlY%P$bZi{dII0~ zx17*Bf0&H$KOyOv2dqv~2L`Q7h_E%Hkmzi)r2mkorteFLHxZNljm)~v*2>WQB~xv_ z76#VfV_2zhOVw)(cd2qSCTq+Yugek_98an(m9{GH)ERT5zp2kwHP)}pA+A5zLp~&@ zQFJULh9c^HZVtss^*~)Sty)Vw>O;eo80{vkKELVE+nklDm3_<*YtPGr6WHw;=T02y z)h-$@w_;a?Dj&({LvpuG|7ZT9L2<9SehQl!p1C%+pnKxcv1WB&OQJFp1m9)^(3l?!@4OkKTmy0_(Nv0 zu6V>@#lDeM1bZ4Ul|`HSnfk@FP59cY3i(m?S})1>`eB3JXNkmz62B{g$ELOc5zgKE z8%I5O3iFgi3+AL;HJv5mBO;&_TlQvli|dFAZewqXwK1m${IEyIziw;|u{fRXo$(ma zwC{e;yBdi;6BuaXhZO*28$0#IDf~7uVnR&SW9`fj^y+NUZpRTJ%4WyxNwOz%caIrh zBO^eWn$cc6uhh{pVadop&k_r)!weKv$F%mc!vylvpbEqOmZGG;^NgayKkPCAxdaJ* z6#tK=rjDPz|01l*^;_h*)HFact3I3?sWkdW`}r2n?fZ{^KSGEFxh0@AEIe|FaY zE`<(p#yG)ci%aVtQlu~z4=$5{4hCPAH!F5OHVs!Tb^nyJR!tRD$-2lB`gU_}TE$}K z)rAgBXJGKfWq;g*tEJ@J51+hIotQRSL|94@wU<|Z+Y|Puv3~Z{4P>sy!yPKcYvqk` zzU+sQFZU(db0|z&ozCG;&4GidDKtx~^2L@v*T;qJh5)-o58f*++pu43PN=e!aYC7!b){3Ed9XVf7k_5a;D2xAsRX0%e>Oh z&R+{#mbP9G0dzB67JQqw$6<|C^~rA!M=X{aO7N>VvCQx2_d=d^x{sBb(<#v+=R#Mq1B? z*nWl6M5f|>Y}&d?0Z@olX4P-SHG=F70adsG;01NA#LbS)kyT>A3=!G4?z2i)NfmPP zKiu8NOiVS?+_aDTtzP(*ZXE8+DKo##R_Ud(i@ooGm}NYBtz$m7lfc|L)$&?yZtg|I zfQjbtGQGn;6deniPutAz*7Ck3o$>*Du2i=CZf@MIddmL3FX4L7UTeimhO#oi>tpb8JID5a5q7xZjV0mLvyn;@2xYz@JQTua!leiiQk9yMd zRx6|8N!XTYj&)AY&)5DtD?*kN>(LTcISkS$9nPq=yxzt2->dZZ3ssDKYc5!G5D`69 zxGVsEeI`BW1a4=+wtY5O_mpkd8<}L+(|Hp|li;IH93RE0AlKYifQKyceb7bi&Yz?r zIRy`3k7^E71v)r6E2~h!R`Z}}ot7{y-STfnP(Chgi!M2d^nBrd-ZG8oQ`6Wd-c>;| zj-jh~M0ayAdd8ZaRTidrj^#5&bY5+#N#2-rGB=X2@(#oWw{5%u5A&;@vGvCznOLBc z%`RN3Ntxr|Ajz*528&(ctO#w(p78z9JL=$nM3r$1rF9EBva|j@t~kvT$e(V~ez(5n zJ87umu%rtK<`CYrHC?Ny{nhuWyTNlRY(@?G9&W`bCQ(Q>YYVOeEro`rI5GKWAm?DY zR{TYX79$<3d&S1iK?M0a;9M8&sV-UUZ|)C``)iik(lhJmuBdUrl3eM9ylSeoymnu-Cp*61ABKL<2y z!PRAd7(SICHZHm1o6i3v;&0Wf#`%|vtENyX|1IgzOHFU&Lc_(Rrc=Y>VA9e?KqZ@1 zwx)*6B?4FSD}N^08zO?bPfvrknGUoNuIRhT?0!c^sGP!-^dW_q&4o^Bo*F}U#r;TU z4Aj&O%e~~qzrk|DYY4l5yYG$jj5*B9?C2==Q+@!x8@^~*;F5zsqERyV4!dQP?W6yN zH%DAS1S{DWeOblE7_3Ur4ZC?l25}aJK#s3Q-Ov^@L0#|%uXTTcy)db8s?C7ey97K- zH612XbJ0vZ4gwg;X^-=^Uv3M1Y-;{uO8XgIZ8)@WYhdGk1(!b%r#xa@wH|J(UL#ln zbe7cgAT3e1oMp)<`>}!3U)=TzpCv_gY`U2{h@^${HaP_%DiA;(*Z-meq)e*ZN$D$k zh9dHGI_%^URb?xJg}%n)#rKWA>vk+BBrZ0+IxmB;)yndrq^eltpD3h%ZCm<2;^Z(q zqQJc|siO^0m`~)HE4kuiU&-Fr(Jd98``oV)oAw%C6mgeT3+7hI6?QYuE-{613v~n8 zL-J;<@}5#wY4Td0DYx1?rKwh~d|}U)8KESMLq@d->I)~JL$PcoTD29!aceN!0VVUoR~-=i`ijHa!(8lUA$(U(^O1(Il! zZ7`+&!;e$l3F?QBqCB^|?T2$XLa4JxtX)>?nhw@>9;PnX{e4~^KizK)V*Xzi;Q!ru z4>s2lIJ1ZDbBkHtdQeG3=pfhk@1DO&09G>d%dl6l3GVr65LQ7=`p%R68-`p4_)W+? zc!hV=eS1|tlwl%3_UyN)9HaT;2Q_!!4O=&j9`pTcG*ekSqTO)3`oKT`eeQi9TPIZiG%PzKmSvD04PMfJlW;mCz5n&5udDFY(W^82OVe6H zG*4}93p#(9gA;(awH4yOWww-SFOMxL0oYQiqECd&GSGORSz~dL;?J7(z6jlvF4V%U zgno@|zDW6D!+nd=Vnqq0;Hz-PR65)yVlJ4cPS>>;Q> z>e9c}<8lr$wx>JxWzco-lssCXEImw-;An)T(w$g>*rXe%P^Dg^AdiUZ_wTvdrs^VB zD?Lr4U)SQ)-W^{a*JfcgifDvK+>MX)5Xolx9=&wH@j`Iq@$lV}0$Et*s9pakZBY@H z_WsSnC4_2~Cp6vko0&YpaVc~oTZ@H4p|GF!qDxPpcs&r7_EbnL6E`XyEN+%aK6v5< z;^yz|#f|oik2=jZ1A7R->8&&uhPx;+RDrUnBWG<*f|-+CiE}{Mj2YSD0(njgZU2&F z;lQ;#MGR(k2+#KpzMD5fu}F8X%7yphnj!npAAT^~V+tcqstt~HVasGL$umy*zmlVd z$+@WzGNjtmpqE38GWea|BCn}0l))vdO@>yOR53BbN{RPJkrmoy7EMZdu5UgG#^sN zAg#(WmI>rl&=VhJ`2NYh-gV<@z~*vkRBs{0FpIcX5+-Lt=T~88^RtM7hg%13AKUM8 zPmf6okl00Ol(@2q7ALcM!BMAx#qr!waq)DqUB}nv9wj5A4q6gN4r1E^BRIptMuuI; z>>eM!impLXqWXMNeasl_1Y76qa!Hup5EbZ`+woL7SM;R2)u~O#E!8jjz0UIw%}QfF zE#^$#9^^A?#ytyv0c1)SU629Kx-L=_VI0}7_fU)rSAdz~kUTOSmdiLh-?_Lfe}-z| zzH7vMJ)=1{*RHM@uw~&VV45l**(F>JFsm`s{j5>Gp(}r z({K;>k5W5ruK@t5L4SZH#G~7qos2Rm`$4{dUAfnyia~|GUlsCx%9UwD>J}_(fb7zJ0EUV=i5v9P<5%k;BSzzJo za%9_>BN+-E))rghFeBY*xd?cZ%S69{bMUcR&>gUUjPhPtcSHJuuC)=+hB(9sTa)7Y zQr1=r{uRMSxp(O3#%qZfUHqm>tb(UNWi^A04F%F8-B%C)5IYGpRXf^s28Hi>#O-YSSz-hFYvnJn^bmvUXUKa^&jsLodx1Y? z4*}&5;BF2LusUD5C~+{#kW4gVESM7SeB)oU2i_fl6uJT`isC#`7Xb4Au{afvnW-N>?-GF_ zNpw-zz*@c(P~WMjJLV2lm_;9iYwk1<4#>t51H4lYs6e%R9^`}ReCngjY24H~ zh>cMs5?0ZJz-+0gy4srhQntw1ZG#-_Gb@*50(HQqVzBJYc8`~{X$|eYnG?_ zk7JjNfG6>UTWYwJ7tGdliewsu&}FpK9C7mFOQB_bx8J>$iWvgER#XKIz5RI9I!W~A;>pvcc4^DHM~;|? zgsmz$Jb^2wO<8Y;iYzQKSA6`h{E-ajQx4u+s#QJ{tFyuO5%%Tj^%N5EmjL&$a>CBJ zfgWAuV>8kSomuVa*s_uV*EK9+wC1?an7 zu|yoHMs9z4j$0T3Dt#ysEtt;W`kRZoR(e)>0O(iVk|)>Mt*Ct!Kp6vX@h7%z|6nDD z(|!XyxYP5V8hSC{zbg5`Zg6p_!h+L(pTng@EbE$_dazzus(jWuyNjf@r|qx*JDE4# zKwX$Wmo0KHCPBGn4a${g;2cOtON+`W^G$Vdb@%v{*q*o{de!cq`*9_iSBy2vtwzo~eMvDMA%&BZ0UAJjS+=ib-?2yG=vhx`3#Wq>h zmGAzANltsvRL3dFRQa+BkyvtBMnUDHuzq^+mkw5CVxoMXydan4#U_^^VjY_f+QI-Z zs*GvCq@!}-19N}IzWs%o>9A~w-9=Z}L%{ zXI9lql@;}~?hc;mJvz9ZaKo-iXK=_x+yZb{&ewl-UM`5FOu@`@ctU)y20TlIs76bt zHZ24KIvCjb;=(j@YBRp=(JSnL@ZGZt=pfS8v@LkS^~j9V0Pa{<^J{-z1G#H_N$-m! z;$(aw4=0(eFDJvbcEk!JoC_^W?kzC`PaB30pBk;gk8!)+$V&f#g|VlYz}%6<@`0rx z&w3fk{E@;21ag4ns;-8Wr-6y3Pf0bId_Hsd;RSz%M!>7pnAzlHF5g0nbU(!avo(7R+up-<4 zF32WLhLQqo!~@j-hY|j26S%({&m8E7aJ?>a^bfH7rj!HpLjC*-Rr{LDN4`XeIg7kU zDss$-zJ1D1_aoSMs)JmR>ZuVft1xMPL`_tYu*{5%emxr;?9i$?{zXX+rZM;~X4O@2 z7@U4oYrJ9C7I(pV$+-wkX%~Gs5J<&SlYe@bq!|8Pyjh zj#sG#ALy4~(FidndT+z*{f`*Q82y^eJl?GdMDZ?ZO1FUxcv9$lg<(%uy)CFR=_s*w zR!g%>>5 z1NiU$iK(wmEpypWJ;M6i@f0&<0I!;>2pB2&Y%KiTXZGrV?A4n$)OD0XbX1d)O!aLG z`g@nNjlVVoX-N$=94iohR3vq|Ea$@qS0-S{dvB1A5jU!HPM_|9yD_vwX+JiEgJZSy?w8Cl!v9i zZ-p1l>E+9x5H5lLbtV#g{j+!GZ>WeoiBwh3hWFifk*Jf9$qn-~MGxLdB##WC8Ip+F zjhtwCkc=5i?nnBtfdgiPJ>L^vrmY|&Ck?A8;H$_o?FUs>A%M`RljT!!@Gw-E^YoPr zx9S-$(e-XJe3Py#5^m$bWyh;8$YA4^+iLnkps8FXiB8G`@Q0Al&$W}4FO%+;C!Z3R zF*C|kHDk)0Xy-=^S%ogO$gzq|zu6nNmXd4m+L^035cERsyvpNvi3`y@w^liu9ru`N zsRJ=N7JksUtgHf#Bv&%~Sgv^u&XkEC&FMcYdgPzdDnKFDTpe)^potHMekNV<+LCXb za}jWT2-5!o!;;CzqaEdV7J*&Fd!r|2mE3}{->d0^rct4`3bY zC)4qixeG*{kuH_W7vFwmnAgRdZgrMDY?OA*kbaoLmzc=M+r@_x>l=lgp3mDnvYW$M z|9|FBOA~be&h85z-UMkl!nb6nf0gcyf0dCks|_FDE+$Ys8ya77p9x*tJaqX~i{B>P86PKZBw#YNgIn8!EMB zs*Nm+`)hxXV^T)!Ga#V&=T_3&gYdY}K~Xqdld;CH`7t|Z909+qwm%NT-1qfOqkPfy zjr9HM^iGz;--S|mmJVxs;HSNXGO@j3pL0hFu1QWy%`7hdBw$}qoWuHQ5G>TIfD<#+ zSaos`?1p@^w|FT`Rz180Qk4Wvu4}{lpoXj&`wV#?L~M%&+~L?)g|WQPvwsR}GLogK zG6-;@=?MCijfi2mMYpyLWJUV5ttd!<4)?P7Oa}SG`4CrnpQuT0#^}k2fK;e?7@gkj zgkx{EFj0dT8H~Qf*@4#^G$;0;Bx4*7(zY6%ACuiOeE}CenUswRYww-rg zyF@gnu@l$?_n#94Ku*kKG$*6cClt)>+|!`aDDEp|Rz?=XWSRs(n&y2zxoZ=4y}wt0 z55zx;O_x+ti%|jfIw@S{P86nV-@TVTfxhe7RRA%98D{Cdx4kU-DqMXtJ7YZUtFx$s zi4Z6|tme8=rBOvQK1$`P9D;AyvGNf%skZP*0G`AN0k}bG5rfaH&NDu&qZR@=@IFtF zwWmZohYQlyzyaL~nC0vv%lkasrkaPi4Wckf}UEQ)sW)TFF${5+CkhxY+RE$^Kfl#XNlt8 z$y?>rcwEe@wL@6|#Ya1Hf*YP@Fsz=tj?_>Y*o?>26MAC+58AxSE~M+mKq$+Sw@c@p z(F{eZ-RLWs@^k6CVHS(U8p+k*jl^@NoC@3TuE0|lG9=H~01h30!t83>`BTp{o7W56 z%F3^Au54mvD7h7C-uZLalA|%M|H0qp`)Od;5?g z4Pi>SN&<^AY4%_B`k1>Lb}qj2TWP}1&oKz*;x`oZE2{XGC4)g;kBj{ECGgCrci8i1 zdCzIMR#B+uEPC(-o`6A_4{NJ1Qi!3PlMddFnEKQFcz7k|Vjw0)=Wz3Hbat6#@zT^j z{@&rnlHYx>0wXP7TUfk*r@*{rwvcegEH6FIXd*M>S)U*DN%ATQ++DHLq3Gr7<1AtSd{stV%T-GXPw+AgO+fb)WGjJRew1Mr@mD_z`{6s>gMnOU6|-Z*wjxSZ2)8gP0gd(o zEm{onGh&AJO3bgJmG=UNTrGQlg`CL43^~{72oY{R4MO-q|D!43oXe}aYj3Gta2k^Y zeKZgs2U|*pZ9HhAhn-WoCbLvEBanL(P(288uCW&_Exb2q5fW*0FDq7kyj74cw1K=w z!+t~M2^bxH%V1VLnAY6PXr>{2Wp0=sH_DVBjcDs|6>P`CyD^wCB_oL{%I71>maMVO zt>%r%5p4Vp^RCeQrvqHik7`R*=ZQGW2hP4ACVdYrbGfg1_pYgztED*K)>quOz9fvm z-2DOILRQCJt&$bu5$Rcyb%|HEoa}Sa-QC?hkm|RkHyy;OpY2HM{`vP-EZQ}w55|LA zOdqfA5@Fa0%dcJK3MXxKbYI0^*sfKXMdDENuzOo9x&P7 z0^jlf&a#LVkCS`?_NJshm#2ofHjhjKiGk`c_q~JI9P!e-r*FebtEjLObtL!M)+S(C zFgkTY*RE^yHzfQ?XiLCMoeV*i^=Swvpbz&0TdHD8=kEn;CSZgY%iNW6a(Z;CRxmq2 zR5f_^jen3ub*sY_G%zgaTkG)4+L3 zwQi{2tVwyyC$!mG#8Iy(QYxWEFCCp&ULw-)Jp!ATInWRz9-tX!Kgd-*H=!t$2jhNu zTPbj2jK$fD$Y5~kexrTq;MfufswrI^!RQHMP;6|wSm46xfhJlW=IjW~d}7S!x?Xfw zoI7W#)>7QS0X_3|GW_Tge6U<<8rqeIkkK{{>waJY%hv)XO{rqRV|B7R&j#s|3TLK> z0u?aBnJ`k2{6}`R8u^Afy?G!E1>^|mm(O7R>68wZV62HCTg)kiZp_I+kv1Iq?~U?5PuXB@wi|6L z=;b4$Mc34rvT`ZIHN{hDuMo6ebaqI3$c-1RQM>}5WqG(npQQgAGlYY*wVKapzxucc zFxB{%6}5!%1kBBMH1iepRF!8{P?uAmW2$|(UwpYjj&s2T6iw}0Sq$&AvwUVw`?=Ff z-Wefy?M1&q=ObGF0j5WP9#uV0dF~+?OLV(4+Zdj~2BVsPIw>6aU?ADrup^)OX$v6H z3l?#Cd9Vsz86-rh>-~SE%^4z_{9pkW&js^!^^&#}?*<|qfCE~D_|fjV)0eG_ z@@q!RT(dk)U7zN;9s$lhax_7468i5(Xe_qd!s$P$L1LgX;cZm5OOczoJbIPT%Z6#Z{M!%vhSMNumYjks z_EU^?b`RuZ(^E5$9`Deg6J@Ne_OU#{Cs@fh zj2Q9MDGeJZz-+wD^p=R*nCiIrW1gD-D#!;|?0?|Rv{0qNbt*f5|E&=m=z{#au~_wD z7EuOB^qi#Z*U(8;j{pzFN1xxlK?H_cT) z9CmVD(z$hU?`>ex>ByvMCp=Q{pSo(DrPr|tZX{|5%C^ibok{$J^XVE*vXrVo;L zECK}cO2bI%AZTg`%*1zbfgYmEahQ04E;nU)I#anb|JSsZ9COdBU zyPbaJZQrkLua1d4nBekNednDmAIm@;iFdiJCV2+Ir6R}o7lPvIN=nc8)UBpT1_b*L z%`4p)d*Ce`2U@gW~DAwH@=ec64J>n6R6Ml8~|NS#!pho_caurYWVq{cO;k*$j3c~?h3RB#St>QD>YbCBY6 z@QJIRDYHJ}Q z_`sXyb`_}ZFg9m;_&x{Ek&JrfetRF&LwE!d%vrAemwG>0kfK;KDgx=)Fy9{qdWoi8 zJ=zcXnuBBNeM;_1%VKvRSit@kSK<_i^OX?*rU9uTG6)qFyU4+`uWcu6oS!-tf8rnNcOBh{SI@uS3qz2B$1{@q zzYHVN>|0f%}N-HZ(9QX&0t6M%Z{*Q49JO4WW$Np)8*Bck!S|c8w}>#? zRvn$d78VY0dXKFlE$I(2?rnwCnE1FDy-6!}hayuQ2g&EZ!7vpGt!L|a+g0CFFR%79 zZSb4r;I>9A#cPUJ2-7U$)P5~^9tk86gmZ+KVUWve6(ZxnHs=-(^uY{W(8YCG)N?q8 zYb$LsRnYldDJdoBht54fhpQ)sl;YI!BhKpFyiZ(+dkBJLGVj&WvOy%TnNsB)Qcllk z>m^FiAeID7zhha0d5@;eg92)BE1FRT2ER!h#}@>jmYSv_Mm3pHo$b_=&^FT%pFmae zeIKMO?)Zc82HX}(hW_on1NjB9^ z-5D^$RNfQ~LCL4Ylw};{`rHP28J72n%YY?U5m0lkh^^6Yq*0OxxL=cnizvmP?2+$H z7r#QfvL7}kuMi3`H_!S_I$)0V6d|9=vv!~S5K1|21IHEp_ za9gN~%z zmu(lME0*Q|yZEz*grD&Oh?@AxvG@mn4w9) z;LxMuUjIlU_S9I!-och*K*D<+CE{kJ^R$K@NoRn4-FUWs3^SYOiABIqKViSv2;wW+ zSuUl-SQ~}Yaqty1y?LffhpHmjwFUsN-|SH+lxT@m)o03gx2DZHW>zf)CLW4mTc&}~ z?HTG?QNnJ((fa{D6KC?Kwg9w^tN)d^l%0QNnEP*BQ*#G_Q4^J_^7yvmSZGOK_4odd zE1bvN5ABeRo)XgKWj6l;)%9csTL1*yH~q7D?A+KfF#Y}A7;NglD|_+YCNE>aYs#Bb z`tF^0oR+jwP~86RO6zO9dd^08>-ZjUZL~FY+?75&2xb8{aCg=iXJB}3=g+x3>*d4U zKjt9+me6+z2MGt(Kbr%I-!v1n%Kvr^xhnzj%pS3Kh3la)F*~-+;@Gly%x%D}jjmW= z*>^HF_m!LucW3`@{-OAc9qg~{9>f~mpYNI1DSKhqvC?HK)g$lHp>wdZwMh(4m?jRu zpJ_H4mQGWYm2*1VQ&h9%M@hNE)z#JR9dWHX{eIZi&k>|F=-aJ!AS3cpdZF-eyJ%Km z=kL#k)ZNHVfE-ir&I$z3xRMDi+hMVtZim|kTO572G5lLV!Ai3z8!4Th1Np(^tZS}_ z8+=njFFCu>gR*(T(&3pAh_QD-fN*T5zUa%=ZtJSKO^T9YADk~CCN9$m$Uoq%9O9A=X6Mfz3gulCZ;Dc?XV$-K;Vqyp=2TtdGktx7 z`w4&7_sbLZbcqtF;qiLq($dZC35N%LrtW3>n z{#Ftn8yC}|lXp81pnGBVwyuGSD8@&}@O(n^aG~(;Y=-snX|74qYl@Q-5QSQ3zBGa( znDx1VI45;+!@}~eowFQW{rx`~h*Nm6)7)n~L$9~VJYnk<_4o3i15B>HGz`6MCP7sx zubszCJz1Y(xet3_`O5gEo{T!0+cZ_|yRpmEYGZx?7VTi-Uc~LO2!WcSOxGUB$ownb zr2;Vr$t$8h>_Prx)aXoT*Yg7WuV4RIz z9$}Eb|5X{PUP21^%zklej!?u!v(h|Y;r_0Z$3kZf*XF4`e>I{$Gtz(|tJ`0QS-`BD zdoZ)GsvDpk0L;Nb;iF*j?tbWJ5!tTLPV<1NRwasm%5t2{7|j)z&rq-5YZkE;phBov zulsb=gE0KqCGnT#Wkc16!svt%+3U@LeqL>w&ybVY;x?1sK(`04g)W^yMGP_0l_M9wdR{{4kiIJwr!)1{%~tQiK9osMG>xl9R05*7G9KX@HT9elvQX&%K|+O3h%Vb zv)MZC^<(Wmp$ny9@b{2{=f&~cOVw10=D@s$)%eeN^aT*S;%a(B0E-~vB{BaueC|`P z#xpqvkKJNRni!QT#uzp+0kAvONK1n65gAroR{E&_3chbH4JqVj@GfG?Y_Lb=#{JY! zs6kCTSu$T&_N-Dc&bJ8BmY7V#G1>#`5Xi6Gn?2I;CBh~K{!?=P+A0b=>87}+leV&;3}0q-2vV`h(LVqqf9|x|Wh--}mN9lP+r`>_5y?s7Om%tg^aH9ThjLm@Wi`!{Xvkv1v}(}eR32%J;f-y{rcx~%$#F!#;e9Lm zC78nV>`ZEb*PY6}&{M+&BaK0tcTJXyzhhq8GabjZBeP-ESc`8WD`}3Q#Z^bK%V*xZ zSwx{1&Wc?BJ?n6`i-u?!)6qQQq z&eGQVZ$6vH_Lf!@^tMBwK}2oj1T7+gJ6Lm8xyUgft4HIp&rIlGytIeUDru7r62YQy zL8l|!|C*j!!9S2Vu_Bq!CuYn24Zy!WB|Vat$EsSgP;8ws>S}OKOuD!j#u4J~P zg{5vtR?-B4X3skcNy_LJD9*T-mfJ!Sy(5a4dr|4Byea8T+G)c(i#j4)YMPUt;d>O34p%B`@{sIyJKZ;{ zNwF>&@WW5*eV&Z{M_rm*JB{8=Ofz_Jxbgkq?nczwH;&Q~1LhM}j*sh)r5hGoK}m;a zrMHaqH~#O(Va9gCPUlW16m%J$e|mc^?^btdRNEuY>XBEqzx8O2XeI*i?L+cl!On7s zVGf^>otlcFnd%8IdE91p8(siyBmjpWVBuWSGHJ8wu5mMtMTNwUj2CY8UIxlNkyw{r-N2yV3{S3!Z?e;Lv6 zJT-zN`cHh$HMpo63!lPgkf_}`sY(3ji{>4cOWl#9f{E#IS+4!>jCjs^`2JDS=*(%v z=NMOthGdBpmxLS0_%ddXb8+gLS%2Nuh@80!kN`z!YAmOO ztSOubc%UC}t-g){J&3B+e;0<}_U{)fO<+_!8g;>HRxV%%dK1=2 z&;+wk-z=Q!SO)4Q&)>iKFY5b!ET?7~fHdI({>NzsEC|4g{(O$HtRtPBwyq&MuU9x3 z8`XPE!jAi_?_IeZGQLm(1BMIudHhnsa8~T`G~ZhKj%`W0mhTOp-Y$V!{1slLT4+$o z`FMUgK{)RzBUq}-Z_I7b4NKyr8D1|IwakZ)QV%3ZbYX2zsi!=-2!&{K)e-!H@0=XZ zuWk17ho{hxeE@2BaA5wuOTBuL*b|dC0oQu=HitigZkU}j2{8@HV(%=zG?7L2D)F5t z?_2*lCn{Mc)H2La212~&?s^LJ22onRnU!g51KD>5Wr{W#txrzic}WIb^LUnRT?9o{PCArM4a-rdrNCNd8Be3n!Xa> zna?&Gw+tOz_S5Rk(J!y^=KbyJj6ZkIdeWx1Qkh9Gzm2w(kFh2cD7!0n4eq@1t)Abm z*5CI`Pbya8>}_@+32f@lTHMCx(;x2Zc>Fm$0FW1e{&_r4%gLYr7`a;5uQYydH&#*c z(Xr4hJMpRGnpN<})Jp$(9UK<1JGDv6jVTR2cNiZdzG7XSFMCCez22xh+OJLaw|#VX zJ5B!(nO*kn`Mjr2Djc4BJR8hEl(gQ%&H!gYbmZ?5<8P1oUa9QXz7{aV*zwc4w-R&v zbs_KXfmBb4)bG*Qj~*9oOR9Q2E&M#J21Td`4%YPwUIg);U(js!*8uk-ImroCpjsZ9 zHWzoxKf%4VzJcz{3WznqT~fRWbOo;tFxd+>y@WrotPZ5zlV_-8(XQ4kHidgCUgW%$@UrW znnt^_fT~S?2G2XA4{YjEc&X5Q*J99^Nlj)5>i)||uV_x2-2;AWS@MGE_HCMx=w6ey zn8<;qMvCW)mUN^@MLVnrboj*ul8$6V2fzW$S%eerCyonv9KJcVdY)g z2Yf;OQk0kf7LPlKrn{xvH!Rd1>mMvY=N0IP2*GKD+%C@&S}DM3P(ww>XqH-~i6Lqg zbF@z+%VSR%h=zDx!s7#V^#PolyIZ~GXL1P43;(U*aBYbv+09LvCh$~=QutqPgUQW0 z(;`Sdyh*6Mv%MH0s@AgS9dqe+FP2B@+eS&A%d`WYwylfdkGa$CqWVMg1SL&OM&V|NsAUOx_MtD#>Y-QVtW! zal}Lp$+4VIkweaBa|#*4C>e4n#T*(HBZoOeM$V^^!;r($Fbs3{yFUMZf4AH9m%o^6 z*Y$k9o{#7KKI3n$#07!)tz{a|vR7X@4LtzfJp|uG?D!!C=e@IlAw!hUfvdgxa5V}( zfWkzd>b0k6B#hcr#iDk4s#@;8-f%1@=BSwuS6#D!m1r^hR9Ja0%$*+f2;2N@IZ;2g zvY(=mi*xX*c!S%Wv1dd*)WYiQ#;1VJ2Yu_60OmK3(DKmr*AsRp6r+X0w3T+|7iHC6 zsb!6A7mBB($XFD3$)0$$Un>ciO=-d#VS8Tn_QX3K0p*U7)(9T3+qg?uzwq=3Gfo(9%$#4^{;M`S{^9Uor=Nrxx%$3tjZ2K1(5>;{USqk$ z;rD4`#8iT#5KIl11VdX(us^Op-m&^7uYF}^eCZ^}(tj<|>wRcMxK-`e4&`mO#Cyo+ z;%VWjrJWZ)Oy;-tZ{liAFp7o?fr=>rwzyv%FIlh4BvJsiOr677z(lV-+aDYD)-EuYOC!7Us|l6CDEa^zt$OiRY@}+cJ{Cm? zKMbefQVH|h^VwWw+p6Fl6Cfoa--}S;OB!>zMFGP5LAH-CczRy84Zn<%OfCxR<1o1Y zJZms4#>-NOe(e!36I}$4Kn*3XnR($-M?SoY3~RKVU6)`+t#%hfBf=W>OwHa5V@thE zgn9@l;r{3-V}jK+H1Pp@AYWeidP)h@QJ1$w{tNvAZ|du>%hE;K9^6f}w=oZ1o-D~k zBW%V+7TaW<_)KZ*YvI*~|6b$ib8YwkXp9~P+djpjD1Tz#k=qxMN$0m=X<8qaQAtcp z?ani?+;RF(CmM*;-yNeQ!=}Qi5?9HJ9P=B2d|W^~8=P9 z%((Z7FxMtWn9BywZwGEke6~Vo<(C=_sT=ia<(~1sihDh`u)}Ygou=b_1mFPaMAl26 z?)*(1+MS@tr$Ijboeq!AB)IC%D*_q5&U;oN@hN8hp2da)Ezhm*qgtEiR{u({eS|l~z5^7nsV`Se9KQ;%iPfGS!3N=!;2OGaRPZyJ5v@-kNz(waDiRm2`pY@cRh<`;&H+?5Szsx#EOZ(cA(9&?;u9^diQ zcwIz2J-3~2nwJYB7OF?~%T8#()q0gohW8W$G!IN1!zcGNKt`m!xaXgOGz%aJ=}Td~ z4LhtV4Vt*WLBRaACfF--FBP9thye`dR}E-;Ks*a(z%k(|RX;Yodqb}(67d{wHjt-z z6|VKv)%bFWpK2fb`(fRbT?dOmc|{(zZKmdyrn13;V*1Cwwi1?O;a;28 zmz!d6m9`f^Y606Pk=j(n1m>88m=p;(IWIYPwaZHb#FNg-npGS#z9N6K>FzxrTu}(G zpxl`)2Ue$&LC+P@D1+FG0}C`^b$5}C=|@0d!`&u8`dS=vW#9K8)PHqX+UWKd@6pr? z#)G_{Ds+A7lYi4TZS-gTgCRL>Fp6&CYF=rkP5N0jK_xgN)c6|Hr0fF_tBP26aEnH; z<^|EV!|j<$s=#NThx}_^ac&764vDLvv%qFj`Y4FgoR{N8sLX^|a69yJ?j-D7QvW`o z;oLb00)B3aFmCo1bb$eca3^BXX(}O;@9#?BZpY>b8eydK@mI*dd&527-}(80+%QdD z#p}zal5b2|18|drB30J5wUz!yp%-huNj`bUT{$Ky z4vV*Ym$XeJ_<3M2Yv`4sCvo`&4@Xqh*6+Fp@t?VbuW{8EH+DCv>t#& z&+Uh&7iC_;_4t-$4aC6BbzsI-t@1<6e=9Qt2ew3A#0%!wlL1W0AZT}d?{rVR=FFS1 zV1rAy@e4b1I;<3A)ZhPesb4>tJ)xgIZlzzdqogK+9gW&otAQa75a3}Wz4JJ}6N5Xv z4R0EthEwV6FP~xy43*w>E~Dy>%44IDFEs7Kfwm+YOIf-NG@fYQ6kU zYaMI_fl~8d$#!PeT3KOdGI`wZPA10EV9e$$rl6}%jG9-OB(Y_Dr9ou~qdzb&OMMm) z^E9eISO%pF_wRSDH67eNK3ZSjtlRoEvoPgniqKh%`gF*UWwIMEJe#Tpf@=oCDGg;e zWmT5(4PW)nMAkuab*X|ppdqkRqU=w>0iv}+wIknz(nNJkJjkIueieVW`t_^CP^w@f zsi7vz35fjmX$kbU_QFZ^$A|$}z|&D{@*mGW7)5Yqi?T$!Sk_`eP6jUkxh8M8k8}q( zj@DMM5s$L~y@J$EfAa2 zaw%3gVKd5J@3)7S>qXN*lB^2zM!($GHRJEn9ye_n94v)b44M zH0+g64Jca*j$BkwAt%VkSaP&|4S=_WDTs->bDl*))K0g$jkE+XVYvoBJELxvY=<82PEql%LSR4P zx+d?Qd)-Z;PE8t&Kx<4qe`|CoJ%p&{qil=m_ZK64=j7=ZkwY&*4m~>!(?Sy0)Z-@) zRZ)o-vlFr(j!2fr$_p-!sMbgU-D!Rlgk6?vLGhel_q$9zQ0eWImG+*IftDlrl+CYL z)M1vs@gGGF*-neb#edm}UlJ>AW3==hz{6MKt}JJ>`P$MNy!sCpRuqN%J^N94kp`~5 ziiSqQ1BUuv6cLfixlX5aT}(bRE~8ySreKR)?h(LL{*n`VS_*KHq&-g_A*meB49 z%)_IOk3G+`EcYyJg-&Oua0pH9F0Dn?`=D%;u5odJL-zhqmas|B>l0sapZHmSanDX3d* zV$x7xk}p#bHIO)$Q;w6yjm|Z3hh`5$S;=v92BoY?sG`Fk5N!Y3&QxUIHI*Nbt8%X( zkw+VvAcOCpQGhD4{^Nx;>ndHF$(PfOO{F;*;H)iwI0% zUd;xZ7iX1}lXT3)etOxa%##aY`OClI;b@ad|DK!oIYbx@@6k6yURJt6`$mu`;RJ}H z5fB&SBK#HOsppHSzf~h%Ut?mG=yw`(@96+}VLwoQt)RP_3G|35&bvgzU6(-1NzZ}S zYcO|C=)IA21B-r;xU9V3ERenNP1R~#G+bFY>SW)AUo_}Dex`hzMjMGxef4kQct#>Tlcl-}89b9vMxhjVK+Inj@%n zOHt9&);`F62OxHbY?p`+#Y>?n3O-}TtM&FW09Hm0nlb4arBtZF!21w$T`RP4X51t* z2Cwzr>RV#u{;@*UlwyjodPIDhO9f*m^N6ZMoRT+aA+Uz4c=VeK?|1tu^B&bShM~(` zjsk@4Y9M$~M_KT*7XWB@4^|GQtXt>_!>+>&n6QmiNKde}b$|5nxP2A6(OErJPPQa0 z^k8o_|CWWYmz+@n{uxGl8IT^CNdFvl)UI>yfW~*+kL)82UJ313io)AT<72P`wOn6cAoLucENeJzV*65`4Hed;0Ri#|;OA@^-(YJq#*zV?1Kk zN=axrtbm*F8xgT+ezs10oM3{Uw7+|&bIy*6mZ@ryaakJ5x9jg+R5cvgI9d@ypzDe& zExQAQ$MnSnknL^7N`?~fAl7Qa5E7u(9SNk3uI}`V6PAo?iH6lRK|M=$U*?a4iXWOi z-(A_?kI2?Rt@|~~pa}D!8p7bgJ1$pwu&Acy=FYi-lRZaO)avwF6cA%ZG}^I29luB8 zJHdnn)%<})F_HXbKYk__#^Ny5PN=_Apm@JXMxnD;tz8P)qz4myvcEC1|4lXO z^yueT72*Ci1R>B~=+pbLf0G9|eaNC}L<5u0CWhbj_?uq{%e%Q# z{s;Wr^O1QE$&w3R1SssS81(IPf3UH&f-<39P=qp*L#!ZYf5v4wV{+B&@{=QjW-SA7|l?9L`F zuzdL=MSSv~;wL{o#SP+}Wa<96R~hLe>BEZgeb1^87Y^iAQia zT~lxIvXbJgwh+qYbcxT2LpGlGovt)Xj=vNtXvT^GL{>wD*b4C;_Y9~T5-tmtm2H<4 z=iVq1EF3u9Had*~)q4-S)RWLt&e@phUu%9-Tjk|$W_9ZseCB5Bbe0R3Ka3yjhK~^Y z7K2+ZKhcZ3gR8_7o0giqQ7#PP=J=UPb7k==Hbi$pc{n)%jO0T)YJQr0ce%6+%7Mfv zm1OG!I4fu>4i{mKJ)0dKEWwrH29PuE4_ZC@Yhxuc_2DGRD$+p=>d5uk4m4Wy)C!E!=wHBTZb*LPP325q}(`>PBL9zan zzwMpB$p-7-$YkWggN9KX!MR$=$Xmm?*-b}B8FA>D)-vp}X!)vOOwd~F{gfhB75v%D zy}M_H6|P+cJvy&xGG^f^Wlmom^ENLHUJ>}ax2dY$*9Ce%Y{r?eFz*XX1%MKgsIi73 zhV$OnK7Mq~LVQ>pR{cs}otcMX{6KLw;kdx(U1p`B0So+I&_HvbDTB7L z93SB<55+>YT8t#-#P&sIvGJeE1}pssekPvj;AF&SDYj8%n`=sTCi+A$A9s4#s7{-S zZV!p0P$OTKl$VrKg~o;4;v%=Wd1jGkwMqFl zfGks)p&8H6&-ZM#aie_)T+9|g^AFdCduYW#if2CZ&gfq}C`kWfGAXlzY zJqagvR}&A_JoY9O7p^PQcp#UVBzJ3Z(yL5N&F?xp_s4 zqW%$I;%j8ThVI%FlDG;5uM8_Ae5l&*KzoI+3|Oe7S)XRVWBOh21YUA%G?>-tT z;C>~$&izgGqNo$xsYH#}<)*ENR3fkQ(>lz@A9jJ?g}-Ib)fq;p7na|=Is3Tnu%z#~ zkxisMee168LCEW)f^RpAS0#$^(Z12GRKH3!eI|C5LsG9nh?9aSM0TweOKSYD8OK^K zd+nh4EH!CGP|=95iOIp3GC3CbtdrW<(R3yx@YDw?@@Lq?K%%(DKKHnYdImSHw_bnC z_2R@c=!=}O7;t_-N=H0NiTUYOSubql$G=P>tEPE)1!J0QD=B(q@5(lZhG9t4ar5KE z1w}?D@3+|@lFg;8RA)9UuF1RbNsR;GC!vIpfJV#1=VhPcFRPx}2|x>;rteekF^QmP=l;jR+|j{WKGTt%j@Qx<765v90Nj)a zhG%bvs)lmm?|^P+R$4S{OFR8a;~J6g6U#_qXAw?d*0o*rvxe8)(ROeZGWjRkk!=!~ zW_wk5nnv5-_Wx%PeSEY}qg)X~)a-`FXlyuJP|DlWn^030h{wiB5M|dl|DJS(FM_p1 z-}C)xb!@CEI38JX69=5g6f25_+M8$akps8>Jh5o|EKwzn_3a2{f%|X&J&JhGyBErb z!dTW|!+w%RI|Rmvqi*#wIC6O0RDRQ?=K}*s367xd=);~WNC%YLR4?Ofv0P4R z4RKdal~tzr_4d$9ntVYam$16(CEP%jeag~yL>CIXe3Py146;)CH$>+WyyjJKhhoQq z{BlrOM7^)qd6CS9%9mRH(oMF)XqOzW>&tt)2c0j-w4({)08sV^UAXFKXVsE*u;-b@!bQ^(XKhcryAzDPJs*v>x zMO?bKJtCzYR4Th)X!p=g`N8SNk*d*~q$g)Qi>CNF)EcIoZS^iF$miTwzm}GyIR{C| zZ$}A$GPKEl&z*2t3!C6P9jNi)aTLC?f}u2qR*7T8g~m@gE3_9zA3XTvgL}b^8a~bSGa?QDi_D;tbV9!^=IhvAdp9|X+D>uY#))8^g7X8NSw z3ik4LSmMH*mVsxbc5!)N$F=dBw%tW^WP477)5`h!!UCA8;6uILC&C5w71I~)IMMD+ zDBRXt+4=UoXc>Rovt5^z40^BR?SQiC(8v+SO?#e=Vq3lU)eM-vv$ZewBbh+k(t_!` z<$}gkyl}#FP+7jJ@m1lO+;Kv!2$+#Le12bdG0_OKFtxMOEDckn4l)=N2xdRgL5X6~ z4J2xTd-BI128hwBC8AR8?(=gwO)o;A1{vp;8m^&+>itrNG8RP*^(jTV@oIHexn)Yr zyg$ysa$4))M8%A1-RL=|NG>w^dl9`C_fAhDQhAg^7wOj3s*S`Wf(m zD(Q!j)|$yQ$M7&1v-s+h0E?n&<$94;PwD=b3-Y04Ph8fOoprTTXXX55+4biNah0~c zghk}wXR+6TE26NyzcZ>RcLDzjw2K1pr^$0;_Mx2+4v4rgU!1dvyKTb4z27rgFMo4( zSJX-`g{syxA0Ld*5_Qyt9{%Mt&I>_?DGQ17WDo^2bOcPnkJkKQfHWogOQlQqRKsm! zpW)j3vCaa*I?S4Y!DEq?( zuC}Cq_Omb_oba;g)w_GpPf#vLgUz1V=24pj+5Wg^YZ8O1DAVMI(VZae;%ruz(9fRT zKR@_jwYJy6e+10N8vdC~iOn{{YFg_!)0^p#~WwB_fs>^_F*u7|OeQo@d&|)ux zf)d(=$pv4aM(y+6sZnocPmik_aNMc|&~S(tAIuP`uD%~IaZZ zy@g{yE0Iq;S6v8pbaamJ$#U9B=T+R7%D(er_0!MmAKOnn6Akz73=> z_UqH#8P-)O(qecctC6sJbHv_?n2H^BYH95pVMtq;3@x6SWwVAf>A%c$7H`AA~6t@ zoO|We4$lie1y^%X0D_v6jIcGF;i5JF3VvAq$3nwRStXOq@?UEjO=*zq}tQ_2QXi%3oqo| zbN8A_W{jolb!jO_g_em9#=rf%yK@pl#M3?PIPV!eMfT^05vFQubIF*I4S%x%dJj(e z+F4`sXR9e+Dzc=p_l0Y%5I#>w1H7!U#j)49NDv}XUuHEF*a#N&UR$Xz!IDvjlctZ!owpuO<}elL z{{9^I90yor-j&qvh}vQtebYwahBymT22H9>rFmnyTOdR7#N@BsDxWIKH)ZOA{3myL zxbvcH4w*_EX=cLg_fEJ0HvL({_H*#az!!Iq#JzJb7^fRT_1+1-I zrl4+N#FddR++>6=^R|Y*mFgij{U_;Gyrjb#m+izKTdw3FeiK{9ki2Ws-RM{_=yxW& zL}{G;eH&5{eknFqR(3Rv@n&#~8g#DZ(C75lR(2g{0}%)HOT1?_;~jEmchM;&&S)?^ z@^fTG40Pbkir20B#oZ@X)KW&6IG1#qdsJ?|SecsQz)(hjim+fqZdb$Su8yIP3qjUf zwS30D&CApOxJvVf46LYFi6`vFjjKIRxSA_`*)>W_L_~29)~w!flQ?;D4r;$6ZC-S~1RUnHh|&yl~Ngs=tDG~!6uNR>)cnK)~}GiufW&rG6O7^DcQ zkO%?2gPPlU6T*z4X3X-xP(_TZGccXe00}y0BZx=YfXqY~G)M=yWM;*lRr#PtAL@Rj zb@7}VEnY@+7JY(iJO#1Z8jQs}2zmA2??z~MpUN|7 zm>bJ!GQ(NK2Gv|&sz89vq2TX4(LQ`fuEj@FbA(w6+w5UC7#!lfqUOn>vC%(xaESk_ z#!&LU7XAKm&E%*5P-AIm`2B+(7R9 z7e2pra%ejwTCEB4D4^~58ATvBYD_-W*y!ngT`uyxC;R9vJ}7fziCbM}YBJ!rwb{Kf zuv5y-$zs|=Mw1{&c6p$qsF$s_n#%oucy}+iR^6CZ(to*-?2m!j{yy*yU96cD4tse_ z<3dvBf@Dhjeqy3apU@!3#2Sw}ODBZWYsSDVoLa0$L5$o`;VxJv1F`ZFqUU)~azVDS z*T6bkb`fMqD8Gk@;84;F5m}2|4C22gBxul(s zyPD;3xQo+y7Fov6IQ}2=zM(dixE)2Vk$q+lmnkc6_Dou-R{LI2CsjczG;< z+63(iQp)N`*0YGst=cuYH|~5^{gegcfU~esl0bE47TWx5zi@$yrq>uD-Sb`vSQN~! zscQ^KC?Ql#Sok#6#KXT09$xvpt5>%)5vy?gs}r^!&}&W-qfMi z(g%2%om~-@a4HK(8ZR|<@FbKCgBoaG8T=$RL{DqMKlqY$)4@?!G+$2#bd6aQ$^w=D z=rgZ-RQM^M+po`-#X-l?zUYKjh6{K@izNO(E^jL^o*{)Wx;7 zTZD&wR<};?M2@ioFZ+ z?Z=S>8mU@IvYq)||XAX6D&v zK>K3tDZQ6RJ8XKcSMCwtQKOS7kip&N2k^$$8VaL=xBw;4K6O-@EFf3G28!pSr(2#r zR1EMQ;8<&H5FUq_vaqJaZ_xc79C*`mhU+$F5homur~bCu!acDd_2X^#yEp0a!aVzt zMO?Gw7~rE+Fqgtk!kp`$)sU{=!My^tHeg*@5!-zl=CrK*08*IiZd-BY>Wny?{QcF< zn1Gs(AK-zu<5m>tL(+b}TJ!l1dhkOQ13$K*kd^oU@|fTmT+Ci~-?EvFeWk4qru>%b z(PJJ_T))oJ8oc#e${wr7`0djyQKb4-FYplX0un;iQ8;yu(;> zdh}s&GtXx1AC~`#gm(<<>AB~Li<*D|p8##_>A+aVf*&7>HV-wDjX&POme(&1d-w>l zHR{T|J?pgXG9z8(la}v103U8F-I2C^n?rYPup&C@LVjNJiQb=@)x+v?uov?xY>>|X zp-hd>MjZkXFo~ahakgGA4gLhq1 z(%xPDX9cMKGMAzTrY_DQdL(stfI`1$?QCPmLaos z8Dgk)yIRqZ#9hn=e#xh%@)Y{Epn~oQ6B0sc=cc%O;4%WG>LqVwJpL(lN!Uhr{m6g2 z`Z~3rY-->RAd;f^TfjPm<`tBFLP$5EXmRJ49VD3TB3nM{O4K-dpv88Yi zXn%mT^_zkpb6pU|Gd_$jZYW>JDw5NED-=3ECHCY-0%7$u8U*s@Lun_kZEU)#h^_bd zVFRcrK)NFxSg38hRb-TucMD%Wrr05Wb@R#WapP1bK zUoDOzr$nUt)7`Y+9X0nhR5>L=S!JoyBb$KbP%$;eHEkH&2}U8mqJJe~Yox|SlUF~| zfO&0sxwdd@07AZ&_|1FDf*+zr{FYU_{5s$oc^H}%^u~sjT9AfxXY1Mejt%2zA42L* ze12yY7{yO$lGdF-FkLk>F=p&hIz>jGQVH%+;bE3_)4AG(9z4u!{X3JyYZW(R6ExWV zbs1!~7IC}tt7#Vr9-R#}76Fy~iDcwFQN~wP&*mm&wY0$eS zVN>7!w^kA?7Z8ojJWk1JKr8NSP)YyxS)b!PPdN|}ch9>Hy;WREA-;pwFDUkoT)jzY z=xrCUVO#Vk>D_YIMJ`B|Bka${2^t|c)0YD z_2;MTFlB9PX-9v+OQ2Ju@}qPX+N;~TA61M_e##4I1rcP%$7NOM@v6FUYe3#Nf+W*= zs-1=VyvC6M41!9*-Nl2pmj3*4>Ho81sdJw3u&}F>Qa_nFT^BZrRuuyDy(qFTpL3#@ zRNBhG>6nb_ejQ~7^C2UZT;`6S@v)CO_HV)RX$5^z=DAN0V#r!sKPOm77C&BF3x3aI z_X<1qfC{_1E}6G_OY=WXF1r?mzWChTbM$dRob zkhE?A7SqTu8_krKh=VZOJF?e4HskyZaO0;NGNgOMOj>t~x>~R%mFaRnPACYd@BDzenLac*Ed#ku5ebvPF|JCewz$_b1oR zT1JP`k50VqK;7+P2`Hx*HC4u%m1bzVI4o6-03l z+tR5pzFLkbcR| zih0j=)9^kxEjeChbKJU^Az>j@Xv7_gt6hS0VnzToW_RTA@y^zgLPENeNK7tmC)lf` zxK?)^ZPd~MIcuF^5)PQaZVU>)D_21JOfA&O*uzH~!AM_40~m|L!Cue6{f!ACv-Eec zCSQUqXFJpY*73To$*VuHanXjW5cXulQ>rJjY#cY<+tw1XrvW%s51^m?phW{d_VzN5 z-#$!$>|xE^sdzP~VAaB5XzZ>;JQN-jfuH^oyTqkkW3}PPci(k#D=UF7LK1&Q_*W#} zmfBN$Su@cOCd7M>^vsG^Uk0@lUSDH1)(Y_KWwqiUoC}J}c}U*DucCp&NZ>zvMTwyg z|NQ0IY+x#keqA?0b5}H=e_OOeFEv-&5xvf8X?9F4CC9fMZRrcJ2FEkgU4Ca3liAI` z{09G--22&RvS?TC02S~eaH#z1~XR=Jki8Z@+H^_swu0Mw=9jX z;PTTje2Zsn z)gf(IN;rO|_`jGJvB_?4yezW-)Hq6(U-NF?wOJ~v2`8Hd3#HofBcX7rjgQo8rg)QI z2Tu|**~-R-{rig37Wfh-5VKp$s=!F{i&syvf*x?rU+&?9e-}>uz1dvJT+)oWWpZ0? zEj5^xTl3c2CNU!{ouqvJ5R4DODv0lrUh+Z@%0)|5=JN7hNx-7R=QC3M3YHIdI^k~d zt?i6-bQ^&4v^J^LF71{UukSv-9b5nfKRIYrs=mVL>QFnd z(-tB$@bGWgGco+3VM@n#KVjJC=`oeAVD2>SGmw}z5oq+3Av&(b zghz$7xG|%doD&zsY>l>ZRg^ne+y5g3mmL*+9AL)8J4TB$Hj+2+VdtWqJ0KrFYoOpr~}O8oHl z-)}>s>rVYW4K3EWYnSg_<~C)!r&rNag5#eLRZSsiWhbyFARDU>r7ko{WED0tBrA5x!jS(aBt7Kx_nH5%WfeYvfIufc0IGk4 zUap{^-I`x^6&Oz*Y$a+YCW_c*x$tCwV}W{O0FK3F4nsNMPaSUl>UCg^Asqrgw`-^& zfk~&US0)W}@RHo1ya109L?*-Bm1P|US+eACZ%j@T9n{q;ipRN@i0Z{R(b*YRIjH$> z1T;l{s1?_I?8{MGH4Mgv34>de>M);4SB^P$_bx?zlxF~`kgOY;pCy?X$R^B`{=wH7 zzf8*LQbLE;Ig8*6VLOVFoPBqh zer5HrUN|UPC;GQaBtNwC`{VOb+)Owk_?~%^yZYMftu-s3u9QS9j_(gbFvdf=Pl*~A z(m|yqyFn781n9Q%i0W)#t@VZoT z`5F!d0*Q$BE9pq$jTXKO2fbO>nxNamJF|D6NvZ_*Cw1+F_g$mPe+Fv`ocp6AvXz&y3jW?M8t1wstCF$4s*QV7=1HpjWb@fJ#|{5}y5x zxzWDr8X3an%wHTrkT+U@_IB_!y@I*@4)<~DZ1cfAFBTZU%tg*@sTwV0c1rM1P{yl( zTeV2yr~Dm>-WqQTWzEW*5XSmKqY|g7YpATUj+eU~{DhRXQwyD&WB4pYfPR|G*Y{h+ zlf8CG89C21<9n7aTqY<1>XScTBzsmu6$`jVRCQ&B5IVYU{f%L;&r`cVzih8Jr5D*q z@}>;;m3t`n`sL>C$ahMit9(!{GilDTB;35eE!V>0<%h`a`7oFuDteznZi&L%3tdY+ zf16v@d<`9ReDFQQnBZ+7A;MDA1;07e$lDH7fxy7A4wuM1@5?swTmzpRut@(v&t?v<$Gg(W%xh0SX{Vsh#cYUXAA%f8_ zzAb)M8r8JzsM^8zhFgJt=xpuZH{97S`<*SJ4Y6Wq*qF?M?)*)NXM2%Y6E;Yir0nbh zH8tMr_s{eMvn?X61gq9e(j!{Goyt{jv8x&{ep`Y+qXFJb#6JLl&(2O-|6w+<*wf9r z*%p|Ee;ZgsCA(a&Lc4|l5gZ`Th4Le1OBNIj+n-!DG6i(?{YV|lwt7e9>8vvh02kc9 z`_c+)Y3z-;^y2OYFPu5yVWZ+xvu!SqJ}ow`dHIf3>5i+0z#~w)B|4Jg)b^p=rMTx? zEh$Frjn*efst=toYd7mnchMDN2wjG7PB}ZrEUJCr9BNT5B)7Yj)-TI ztnf3`@}j>q{iJK^o40KWTO2or8;K#yG3onghYJjgRV@lYc1<)sjoIlbFoA7^Ts+VH z5dk_}ra?bgN;{vkMzxD=M9Qj@d*pekqOs383XkBqBM!wLUL&e&Yw7Rx?j!k5H zJMwR=#0AO~{@4j;sYVURJSwhAZHtb?p8!1($_UxM&lb}^y|eSJ()zJ^T<)vnbiLn1 zYdhy;32;sguC~06;BWma@)pWv$AH-QSh++Ws#rV_9v9{#jKH1wA0iiMn=AV%<;Kiwv) zyQB}G$9FP36ME1(*5yG;ow621Mbh;sVf6woXOTrB=K;Hmmy)^=mlsSJNZ`)zVZ4~n+yyXJ*f87V;Szc zf5OpWO8xEr_9q7v`^GY*@)vI(HQqj)oL}+JnZ!aaXF}j%qv;XpUC6weJrAicE3l39lCiS?yTgXoM?oo+-p(t`1Y_Er& zJj^a}FeCPrVw8@KdPX)~U{T7cZS)q~xo^7^<b0kb~U_p2I!`&CkuvAQ;{U3MH0l>gQ2ZH?* z{&MdIkVesaKomD?k~SIZ=fB94735W)QB!!jF+vmWPqh~4Vi_di^sEu~9#83keB78A zu3B88yK>4%W&+rHt@M38j$pA)nY(eVimL>@u+J@gbKEIRk+Z$W<}!S9D;#lnd@daW z7Wl1rh_Npq6sDbXx2CN11T{(ykl%1KB-JXM7dhkO*7~HTL5U$Q>D%0#<}E|8C$O8# zf))Prmw(ctu)uzL-**5vt>D0xzuk^@nW@$6$-5Cs)l}gPi?KQwV6yt_SrrUdro&Tf8oa`xHaAq z*^IZFw9+-s8qS*b&rb^wKps~tWxuAMDE1|WMytX-*ZK&$0V&AtmxG?wqNN@&3E~fj zA@P5e<;4O6l8tD-c?s@$+(_tsJx5ESDQEY3V2`R#PPPIlraZ1Q8RsXwFptxxPqx@m zc|&2Gj$A9yb0%y&y-jpSU7|~*WKd7L-^r5j>8eR60--SUHx9@!RMkzfcUTWV8ZZkl zz*uXk;$1rgraPTPTL0^$ZkcMWzqP0Lg^X^)ex;QlTl1g-*8urE?s>&}-i)rZ zpT{q}+s&JWMYAv${s@H$3_J_0O#a3VIfyh?2cF#nGEonEuZnWwJWXGZguztvZ8j2_ zi#Yg|Bz<}ozJ5~bBRi+`7HBR~7DR_pMmiVPh7DLigYuj_0=Z>4u3>}^W$V$`{fPLv zl6HaJ0spoKmyD)8*KqkIE6{!)bX^s?uF?ZE^_uqj&3{&h;fPV2M@d5&bK%wq>9mcl zaCh8n-P_2$jS-`fc{4MRWV}X9&vDzTlY!DR)6D=ySboXE&`UPAVslJF3ZI}X;G(~= zNYIOS)b&dws;Jy&xh?XEXl2gO;b`Ex`&~VYG6PIfm0X2IZ=WC83@vq`4BI5ePisH= zRJZKJXLP2JQN(Q}%(AiV=ty2*xn%1JdibA}zr;_g|C(rDJ}5w1mx9NKaqq4p@n`;I zz0$cIcg@F-5B_P~!_`mEU8so`(=~*`v`4^}>)|Ejs z;O?Iq1wTJOxO9P>_g`D^tLvd$q{JVYTt?UbIK;%%&|T10F-dqWZiCUk=b30=1o3~|TG&a`KHF7I#qF3pN=b^`5Ks#R z)HPI&zlrkWOPjh9L2oA;bKR(`VY=Pb=t(r?V~AhDJNEE%pe-)^72pmQQ{ft7y0<R7k-g0?rg)#)AW=Oj^<}96Q|2)6`nA?o;AojjoTe{k zIg?T)n>w2#kKsYh^us{I$T)Ovkx(DeK*5L=yluSb#DhJ zmWtwYb9CrM(dE2%x{n>no$lLhOfk!yF;BmY%P?xNISODVJpljMpO~Zmt4#rix@&@mz-+uRY z8Q1%|Uf1(E@tH*Z0ivfqttu=Ob}8zYWlPHnl2)cnF@K^oI+?6w^*Dw7F*m{}%$Vz> zuhb=oLL$P>_TJ`}_;E<(u^~bp1U*N-LO+O_1aro8Lz^Cn&r|r70zG>f`aL?n zC`1y$HV{D>p(loz@8GSpi1^rj|DX3=ND_(GivEqg_{o%OW`w>=?RKm0L z^D|x0S?G0k>Cvi7fGS!ndjJ2WIBD*ko1SzXlg`Ffi|UYRDPA{Je;GdY3!%bjgj-Uc z;~7B^dU0{lr_f{`S!o&N=zVaTTJf9VvyJ6EDBKsZ4pG zM-!JqxhK>THj)!WT8Mz@N%nKUShO%$WVRyBghLX;GL%o$lV)tVIEhNt+^!071RIkL z6677WGwf*laFw(gw`f)pmQmQPrLT868)*2qkuJx8{?k=RQ0KhtVj}qx+*w;6Nm?{! z?7Ct_jhKC7MS4@Q==%}J9wW0$?UY|6?JxW}Ca``%NjGk`FS=#2;Q{d8U1ev4 z&=17K{el}4EFL%+?nj9PP6i8V*`vQHK;@}qR^6_GspiCwcw51kU zYl+TeOdIUHtY~jES-L4Bjuv~%L72vdxUGQ`Tyd~R5lq%TwhS*6*vFLVornc>t(RPt zN;Aj`)Fo6&p=|$zX^^yOBAN(puQx<3{C2)g=ZVg5X4>-IZ2s`7aN5S}rfH;i9y3jS z?p7+_#~FvfeQBTsak=^pY|rW$OPys>s78X-RJ!tQY%-zWc?&_GYu9T%(>!;^X0TvL zlHN)X!Op({*i{5Om((ojEV9%$$EUINCZ@nq#y9gOBS_kL7qZ%e!j;U*W6lmwb|-5; zeh8a!pBno0FUrIGN-)n)915rC7nj6rmFB#-dr5b_8fy;Qq<`!+XJqdUeJ7itwNlV4 zTT))mwlTcF`xr;YJk)bs{EHq^sKNX)`~j#$hX=|v&VCU&yaKzLswG}30Kh^84NV}} zxtb%4w0Z~#pZCu`=Af57(}7*n<%olXaWqyutuH{RCZdSR>}vJ%%*%a|2#FjQt>m^3 zuB>ALzTZ_{{3fzhK=HK{MrHpboQuM0;SuK{Ueg> zQ>t%kcm*Ch@K_l2rZ79@zq+;gEdx^^G~5gbRhTwRKM$;E>s_{a(>`-DcokHG0V6)k zbe&nFA~j0C6_jayO!W8eBa#D(z&@L+{u*chIE0fSFLd7PNY_uc`XF$SW9avl zUNF-^O3Gvhhl~u-^U^kELw3AMUKcsw3ROJNHVGtPi(c-8tFcNh$UGt)`j?dG672|S zDTzy#?@%nv1S-K+l8<%n-@owNAF*z>cOKFyi2T?TH-~u>$(|*((l)l)gwB|w1*j73 zM&ROZjyK7k73A2f)igCrC3X;493D|T zhGAXkJUMGKR2{R>(Ga|kiCVu(X+Ih0IvHNwEKb{Vzq&U1T*{w^__OwW*G%)2EaMz3 z+2$;8U%32!?AhKfd7xK`R=X(K?EDb3H>|9lNhDkRMYeRFoNV-t%c!*rZ4a*w2S&5{ zs(nvjYPJD3+V8h8h2k`h-x_@R*;K@!`q|tMck|Op$N6!24F~W$;+lpX&sI?lgInrv zatN@$DUv4tmApP14vd(-w7io!9xMLV#ujy32=hngKHol;eD|6Ek z=9HA`8*&8iI=LY#>{w>zJYjn(b9Q2uvMU^W%8_*_d{!J==8!=iA74K5a4#x;8Ugz$ zO~GTL4hT#{^hK8ZnqU6>7+$`GrBeu-tN%)GyP6O@S^D)WoxH)AqP1U2n3V;v{Z11= z4Eu^^8~Aq^{Ie@U=lAe(5}|Fq7fe*@zaKr^o2wBOr7}Xs2HjZPe2-$v%!ZN}C8QA-VS#QS)@ezod7mxB*Ig@y>QRZWVPgB+2(G|Ae}OAI3SI zESqfE+32VdD`+a`bM4T~ULY*}ON|zgZ}Oq#J#5ba z9P0h?+Tb!_AGF5b{ZFlUYb>((K7iVI=7Rk$_EyXGj+_+oOF%G0cKKJ7z}TBlm9@)i z98eWEj<gMs6pKK%g17ibAqEMO! zUjDjPhd&38ciX+Pt?~W>)M#uDO*( z%YFXCQT)Jie8DS)!1QdW%I^K5X@`yrkwUeF1r{bX2caEme<=t{ZvV>o#~;R%`7Dd~ z+_lEcEWFUcZ@^--@*UWDJl@t1aDPBJ$B0##&QEaBd<9V;2L+BPzu9^FgSs zpCjRiwMjeW>@c|GzJW*%78j!UE~3nM4(p@ayo~vGxN)tf0KSS_j7?aIIm3)s2DaH5 zBg*Wav^GmezYmc@7#n5}@YdFy`yHG;zn2k=$M(9D!w7nBE>tvN=LIPc$-;Z0`h^)o zd;jI6@=eI8x44f>MW$xe-wF7SL>mI#UzjbgNeI?-nZqJ z2&1kHd?B93baCzSx;S8|!?v3X44R{4g$$CPUj>WSLb?DTrd>TMn)0708g7N#R<%PT*M%K+Ss#tn|eP5dD}v} z+sDxxaW%>7X}8|s)ykfiuB$*#!U?3c#Ez>94vr~tPk-#y2&j8%omZB=KOa{W8zXPc z=GlDvMXx2VKoW!|6r?JXswpU*T;Xy3%=89*Db=?MMwV6F#wHJYK4A;kQjT=Z#NPEPKJ`L` z$RG7)2g#;$ZY=o-J1B^LBfYrmw>=A?If1AMUSF3WsYclu@clYZgwkzG*r{HXqg6As zWAt*r%M4mCq1>n0?X=~2Aba=e4dfp70bAje5-a=(O_KA2Nj#O>>ANxuER>c|!~@$M zQtG8uxn4q#cpqwe(IpIHLT>WWyj1`%YZmbdR;hwLZXiQ8K#Ungas*I%z!0YIn24Fl zuMJK17T)MEtupVqCJW!l65KGjG6e$WY0*y}a9ci{G2xgS8;Q&Q>TO>!%;|iY)8euP zuv%w+3POo-ssPY$j0h+K|1dpOiIWU^-&a=)FJf03_Z+4n|zTmDorR=k@3F~7ls1nC=c4&&UV zLF{^)`IKmRMRpAbcd?&;jbmm zL`}40Fae>!iyHZ(j{}ttmS#gXYTTVB+X%L4lc1GZjyGhDB&`v^6ICIOF0M1wR0|q= zXma5~^%XD!sUv0YzTsbHJN}ObhN zi@RD}AtT9%pqGg)*3rTbDcQU*cov#w9RkH8ppNOPbJ3rxosur6}|Z+D-i zzG}-WXdibHRCz#Lj@8qU(}Xj=^wqMgDJDvVB5rj=BF*)w0U;Q;qhYku_exXjrcXs|q82)xCXH z))HDu9Eu>mc#ppGQ2yO|wgfz#RW}9Fw?rpa^!5diZK2U7cgp9uN+Z^64t(V4bZ)}fY50z1FB__vycGqV;Y#JwM6R?M zyAPfSwzZKVpwre5SG80Y{3!F(viG3x zEB6y9H95t9^QLRK%e(CE6Nj`uto9vZYM*)d7^QOO_CRy<;^KsDMsnW2%C4t(k?tdgwlcOKX=Vn@NvAR&(Uvnda7g($8MPXYj zd>}qh-<<)EGf%5?abxQROXQ(z*7>BA?p_U=eODk67m_fLpNCg^Jv-h0VzA&6P4Fic zLE0cg)9siJ`K1t`IAg8OU+7?d;bG|=(jzvhkX}}gG;&Y1PwDmXej$)!24&C@mm|T= zB@Ueh=pqpIfv+at(2>HO#`Wxd-lHYC^_SPDluF#6I==GgwU)yDeWU6)j^^Gp5NoC< z2|Ba%B+tITH!$zTgAdZy6YecISzlgN;F@gRp8Ajyx-+OjKQDypR;tOKkZ<8+(Ng>) zBHe=_VvbZQT2QOlY9^j{DGGuELn$qxf%Jw`FTt#@d8NzE$~*1!^3<=`Hdg-!VDtAN z5BTkZe>VK|B}L#}S(ZKB?gw-{&z+-9?rW?N>(a&e+aXOQ>as35K%1)PtDkN z4g1=St>0jz?x@aS=0KIVa81wk>%bDy+wWkV6vLlDUVif*te^^O%&NhbTF|d>mxOa` zL!*KB(3-_N5y8K08b;eLD|S9^bFC#I_6@;olB+Hx)c(KO3;)QN{m3#e{EyZ*ZJS5C z8^b~Ju!s+UE~&NVD)SSyDGYIQe?yHufEPoUN8w>DkugQF$GanCS^H%2egv;jS2QfD z;|L?s)%VDL+EeM;9s1&*m8(8&1CjvpjDCL)3uo1m3{DpGISyW{)i$tfy2djq*dU#W zZ0zt+mNP4_A*(f=M^d-T&!>>$y%ra7{}eRJZ%bg5qmF~!$kV-L)uDzM2F^BO%3=7E z&&xZj7S3mdc5)YahEb3FphGV{2{y9lD#cahd;)_b#Y5qPDkJ8N@icN^q^tfA2A; zMV*ny<(%X5gZ`~Qw)9#X*)(OPRsb}z45!p8{_5oHOv2-E7rdARjPxAq2enXhp*H(fS|%|t{!dtCVpH!#l@aU z)x3?Q?1vVc)spv5j(1JDjkZN^_k%4S!wpD2KBg+HJtTZ5@&1@MPiXF%f*Qv^=d<`j+Q#@wx2a@OPurkp%8hv;H@s2(d@Dcy9|vQEbduRP+^oD@!1ZPxjpZ#| z(Hf_{$beb-7`(PH;U>C*HY5i*V>`EqGxSv}O>*ArxwlE!TK}9zD4Y$1O-mVXeCQwP zt;LKTdd#UgYL*TVv+s`0f)=6|R38_K)9%G_wbMMXp^Qbiy;p~z5Qf|Ae1VYev82iB z06;v_-ZWffuJwDrGuNj}&C#}LxOpJpc@K~PM7dpytC4dgZm5a6{yhyw^PAUi2e%!9 zv3ATJ5o)bIbSoQ?|Hy-c{rsSM@0%W)~OT@W^0soo01E^Z|B$KT==x6C-_vN*{o|Z87_I8p-4=YC?nwIZE+0nKDC|wWqYK^D0+7Yyo0}bC{AJ^R)ih2w zf(k4y>xb&G$JuTJ>^NH<{q%VIJx`%YsBA;80$X=tSrVk0tf1*QGzm!NaF0B6+!09k z-6J?K<*nZjjg3f!m=NnJ|9z$OvB$B+#i`L%LHj%(Q)W!MCy(IIN?cTf={Se=2EDi(1vLln(v0pWOo5FZ>O6bfq((eiOdusKr;%#pN^0uCY>z?Ra#g?YM zAot;BdKWX+O2nPZrqBbd4FbX_J4?yq{u<^4GK?u2gmPu|iX%ci?E{Bm0DaJehkYyB zQuL}g_!TIKSx;hWuEh+JKFI;iNbMGI@k8v1*1T9V4~8-q6&wMPK`@tCIMIjz^V2_e zc-2ZU9s-gg164C0jK`6cK00sIqWn;@UpsZl%YL!i%A8(uC3boQ(? z6JDerhFby^X*y4Z#l(<5-xUXo`S%!bWf73K0pPYSNJpjMZyWc+5Q3O1!W3qK?6nEz z{!>S3xTo&P7(N~MglqF#+E^S7GB{A;z62BuwV3n1>4TQ?Y1;Dq zS~i7A3|bo8kPH2Y&fBadMlTX#PHWn9;MO$> zFM*#bFvu$^Xo(Ha4=nf#C-~LpNKS&4>d`an~MacNy^Dzs?_e3v9@WG znTM&2mb`fJ61>~oI)Cen0_%g0)QT|3;ga3xllD61xK$rl-3MZNTJ$>FJIUfTItGc1 zkiG}T*;w|bvM>$ydnVf3%nxD`A)Fj^d|aF@L1WAv!8)vj*sT4o;w+PWi5yiu3lW8H z?%yOUTtR)hLkcaK&z2t?#T7_|tB5>4R?@2qXA-6Q{ zT3iF^%hD^*(dpcxHX`+((koRWphl(PGs!y(5Bwz9r$L}N z&^cW{jiCW9FXDSkif{Bkun?r2g*@GNFgSy4Sg_YHnqM*!|$(-e_JokmY5t z<;*l#^LWbyiL~|(858u@75$<7>PJuWKLU)1rXZ|Avd9v$a}}h<<~`+X=W09+gp*6u z2p+OHx|KD%TSn7E?H(}@AaYdYG!zNiNw7l%%C274r*|j*WKwIRxYrDbI*vwq_arA+ z%-E>r7ciNvJBdJkb4qz3>Ls~QSQ~Gqj?KkOAKA6(m#Xq7p&Y&byafe(-6>$u`Hzkq z2k(W}Z3z`M*2l~qix;LqJHTbnj)VURaLKgIsA7y;4nIHKt+*#R-ROFq>CUGA*L`V2 z348YP{Gh)(Gs**i?-q>tq-WMEn^6@?L%%JG-k;BSq=Rv={fic2W6lt4b`^ctOXtH7 zmpF32Co4690}?z#NCX4ZSPIZCO#wKvv)*;|(9c5kJ~U(wOu@o3EYd35NieDJmK)1%2}mn(7LC6!Yos&pT7(erTz}_Y zHVJdI4Kb0tD;&*(R{uLjEy#KMT_Ggl#%b$M)4Wm+=;2^(1pn^}(QEK%e2PSMuDK{F zDT1+Y`%D6T>K6!)--6?IbbfA&@b!SU;rPn<5P%0B$UakXMBU zK|sx+45GpbUIu#aGEphkUL^bP^jo1FumM7cb(-s)QnLmdFNT%^a}&-H+78cxlxV=Y z2(v0NBi0gMy}IS%$vdFXn90WWARQoIliwE7d{ZmW$kYOghRvcN?KK5f zmXCf<+Eqj>Mv=(*3m++=w!R1y+^=cT!QpS_mfg;n+42tFG3K0f)^YwfG`2(r2iDo~ zEn4QS`b-O&qBb`zw2MqE)p&M}!N2|muvFx-7b??Q5T(WMT5LT!yDn&>U+Y880{xT$ z*QN;m>jp}rLDx@CSF3fdJ9#2<`I8^oprn0<2|IG7z?$H>w27wxqx(~GnP+E)Una!{ zmZpoT0emj|XLZACpwZ_V<79FWuZ4vtas`E2u}^2ekm|wPuf$%K&GzxaZLQwc)q>xv zM=l?(JyQ^sH!pUb!WxfFRbQ4wxCR>A!}os;Jc#r|7S73rZ&*bNn;St6#7T<|P#hUp zoFQtO5r>W*cxeN184WWonko*B>Ri!^*RDE=)~x{ojYRJqnrnjsfM$Cx z$v)Anoao#RjQ%fnRIDrY2k@H?FP{DnkS8-X(-3)2G6a)87NW?rprj&S@5a>YTvB=w ziSofG1@HpR9Z>p$iZag&e7;pAFb0j{CuLGQS94TF`JJRj!KCU;(ok~L^wLDHco(3GzwuV(Q#AxbyImMu=M6@dibfy2-ZdA-!Fd%YW#p8G`Um%?C zV#Ym-1d?;)mAf{zz4{^qSR>&qhVDyf)zY!*X$tPnKvby=X2a4bA||H2M7mbi;|-w9 zB)|t;hud!JeJzs-N*NzFa~7KG82qY+-Ir2zZD5eKf-gCx6 zW7pI4xYW-_<*$7~cfoypkd62=;`y%dAFFe>qixDI`(1z1aBSqO%kL=u_W`R;L{V+` z*rPttOgL<~+VEM$L935UW+%m=I5)|ZF)fIfY7NJupTn}xniu&0SckpLPm+yQ!7l|# z4WnS*iqVBKU3R0a`l4AHHb<>q7IY4+(ZdMNJGnp@rMaoR6Sz}XgLZxex2vf;_HV|e zUYt#8|Lm?c;$diu5b*-82OuMg1BT#>=K=#uC7UQ4l$X}ZgAY}@R{FtHdqC!5?f%*L z`TH(5_$S;HsqLqAGVi$VD^PY2z&(097+wa^zXQPc+P8-t4(t>uude7I>1FB5YYN_m ze8Yy!{XoIPh%RaW+dVt*dh&EZT}4>^uCQ4x>u#%>jn7-o zTi=aLB_VG@AT&&gTceg81rpU0>d^~-y@z!Thw=F3(}zKe-nJy;&ZeBZK$h znp!PF?CAl(R1SAVZG<|ic=B2Z{FKe0L^YwW!ELZu8io*=1mP6g8-qo{etyfmzXhbs z<@u657l)(gI`$gTt*w7mTj-$MAtgxz?I){vzf!3Y*SzDy<9xXK7|?-Hu2rVLjvd9* zwiPOqXWIyrXc>EkzPlu%r&8%aKpA$GMo{!{kh1{rzcCM1XCZN`jz!_w z%u6?oYvb2?1gzftQ@AMs-ZIbkdDLU`RArnvyc$_njU7PweNZYRIt(9w*&bg07lX&; z@eM%GCkNDKpVzM|udnTYx`nbuDE29&yNU?)jt) z5@zOMo@805%gy}&;8NunbCe$MRoa5ZL_`D3?IQEwA!t4<(s zao8}vH5b3u!`YUz*-oOp3m9U``ycAHhFEakNnFx3)J=!h?0s2;e`VxRb0OVe$JvpF z8@zg8Rtv`WdX-Anz?H7P2&v8aVj!-R(!Uv@G77ReC{4Nid`Ovn<2aZz+h#s|x`EGy zi*XN1Yw@OWA+kQ?ea?H1p4aupn`ppBtl}u0iAVcZudaco3MM+>xI33cAft-Pi!j|d z>jpW8PBrz@-H0YC3JxD={|*@?&rSc$G+-)isyzzq93ckqj%t`YL+M3v-YwFDSM?~X zleTSL3yWQ7Eu8DNvT4f;1ho-OiO$pjf#hbaCqE;u6pYqN_AOcL5RlPkg!e4;?J;M1 zCe-GfS?)Ja69*hl@F3eiNF)F2v#9WuTR&zN3oRasoc&v6KxafY6;U__G zhy^i9(#;VU9bI69)36_pJ)?FN-hUJJ^MGxd`GMD)sllbXht`}AfCc#B5a{JMK6smY zNqw#mLNY|8C5+GxXj6{g{wk3CWQ;M?Lt_VAm01`{A+-Gk0?HN=Z3U7A@pVOz+4x|C z0sHo%>fHNq`K;5o3=y$UKhV+|k}_nKgk5E2Wf}C`8TAyvn8qT?NJc>_NI=C>3uNY? z*V_J`4*oT*Rb2*^{GYbEd18+D!_NT%7zNtO%I}aHUfwf-35^2|9EwJfIBBUndX_Eb zo683igr4pZoph(WCeq=c=Lq5U3GFB*I_QP57S}^&Dj%(oPuvdrbvApt+S^~r!#_Hg zM>q&uH2%lBTPh}xVqf19x)U`K1me7~^8hugeAQB(j)5-tsaKj4S4vBHP|;gW*}@hI!5>4FB9Wy3>})}(^0xOEQ@n3IIAyM5V38X5di_8sKz!o`%d zhKmHICMTDj9;{0!InHEgU@2<+h$D6+yK@s=>>hJ9~b%ySx2|jj=a6uX3sfNTHXALqCaoROqenfoHhc;+P8=dN=~2R5}39 z_SoijS?>OJCi@j#>OK3}9w`w?Db zg?tq}vk5oz6p#oXV0C{QuE6TzZ`#M2GT43K^QZ-*Aj~huAUtkyUF2#*DL8p}s8*ro z?bcio$mNbUQHepEU5nKt{ebh9VsO-hs&`?!T3TTe;h2=3Si4K0;BW-{)McGJ3>I=H zRr{nb73@0a!sxiPI8ZVampJDoMIqI znkQ)i^p$L2#Ya=e%q#2Sr;d|jO?Xis5BW@>Hb#oy`r_*E? z8Nq!)8uVHqdf@*r#439@)_lC910CS?eh=)Q0#;OjRYjoE!5J1GeIHW>@(uzARl0vz zASaWSb%9SM1zU_g56cq1(Mg3KuISOTmIOijs@`U$WJ>8HLN+SLI;yUKei@qna@cM6 z>jgOTPN8l2*q4G3XVR!;s-ZqIgov)&Qopk?a!YhR#IPP)ggQ+q9?kVu&fl+|ws{ps z82O#G#Js}!*0np~)-_3B_>ZPIWBS5_ZN7K=B(I5k zO(k#)q|P)#>3Lkno{X|SC<+(0obHQCnFJQiYXV$I8SW;ab+nj{0LH-D+-)H=aLaWU z0?A1O;^Su@nN)<6p^%_PHyOTBBOj#VBtbtZH$NoexozV@!K5;&4LMiPvV z=gbMcutj$?ufpFd%?O^F(03p#MtYYOWSET?c2Aa(cf&uMZ+z70pNM=dsS>uci+pbD zxBsaTiS1C>xht01J(PP$#tR$$40moJ!V~B$c52x~O#L8iK z(Zo{s1m{!%qqmLm;%=F({($$Wx1`{QgGOegC0L*9Ig2O&EA z?MTyyfr2I8X>-z~r%Wj=0INU?l=%c#QS;!Dw-7%hh|6F=EGYQKpXdftR(nGA#p8mk z`svoZcGOz`zgAzr%|W+l1CNd8TR$3|IW0kzy6itF%yW2+-ln^b8&G(Sbav$ z^J=Qx(KQ)MmTpJoyEOY!oBd#+W65CSZ6|jpQ+%|2@-LMPGu@)y#`6=nAKrcHfmO^A z2JRUwu6T{ZC6n6Q*BWxs;$+oKb3nGjEAU^i2Al5JMc~W#sZdtnUyXNgIFH!xg0p?f zq7ZV2`&1zo)*%C%Gg2k+qp)Wio11=qq<-14H_xtDUOnCj=Cl8ZO_nuP=UA?aTTz^KNwZwx}2H^v1f-KMjLZ0v0JnH-o&;D2D;)>4N6THc%8ej4!VwGY9#@ zo%u^(Wd(BdK9OCr{LO`RB1OR;)n=63q5-`U3qf7Pw`)$G)e!T03jKs<1US) zWq3EMKX_zEZf=}{HR;c&TuRRB2#)ie)l-eDQx5IBPoGh4MEi~KdRZXFa9W;LlB-gJ z&O-{@eqHtT8TYbUnJ+%ZHlN%6O)Ev*gKaAktucC?30x@P>aR&~)KGWKg%+yVRuG zO9lwG|FKSJN&bEVo=I*nHe}H937~L%3uttwyFbY@4$+=^IzL8JH>`mB6%7@Xnr9ko3esXqv zFn+#!lUDt8?bDs`uG8b)W_XOUsczcVVU)6}f$dxj@U4ARQzdT^YSHZ!r%DHCG*(YD zpoG7x0M7|+eA*FvSS$mmkgE5P0oR`Uwh_f^T&U4kl+%rT5M8lop115*Z`jW;Wj0`~ z-nW{b9XWO?|B9vTF*sn4o1;6U&h|LEOn~F4cmB$p7cL7Iwg<7TiLzjGVh0XKLwe9NS zV|?~0Fo))x=ri(l|5??z3By^xD_>_UC0MFQ0X*DGOiMle6hG&wGU|M* z`WPB>c9IzKOt$tXYY=5Tp z9+~SC-RV$h|7^l(^v!v2ni;WiXP0{M4#u48UrIVG1{lmO zqW}I$vHv?=-9Fg0_KH5nkQdJ%oiCMJNaC0ASA4#E*#}BX`0`G9?xo_I^RQum4j*+`TF{rfWo_ZzD-~<5Akk)$*GE zQaf*<*hqQPe+!k{s|SybFDzufb|y`Yf=nTYgWWN_PJ2iS9)&XxEwK+T5~>@{Sq&wT zir4z@1{FOXg}Wn@A#CL`nDVlJMM4uo%C1O}CBaXkpo%ax1I<2b{PFC(1JOCMY+UGY z6$g*9HS;Yv`PeuNeiPqsVS@Xt(-S|X(8@l4l{SZ0c@aF_Q6itaMKj^-T6%tRbd1vM zP?jFn&5ukYud3Mt6J7;)$>mZ}bPTNaZfDSg(8RWt<`2*R<0D2~+Hj0L-`?N6sPIZF zQP#0${s0GuEA^G1{e{<@o*jJYQZHCgdRJowdu1YOI-@ojX#2V7(ZR@%&!|%7`?VX# zN31<60CrA>J3n9LVDU6nz z)z)HU-~E)!gqBH@NSmMH0tu48Tem(OV#x57D$x~nD%h0;2V^0LEzo}6`$P-goY|g# zpQr#m*lE@aXfdw{)~+XmOE(drpOjeH+wOP*CCL+%Ly_yEm#f%S0_>5fRgi{ALW<}F zW_2DAoO)dL%Su5F9G@NA*sv{wU7k7(KIML58Ef&3=OaS~pr>)a=@fQkhq-x|!h{LsH+3^&Qh28eW&V_4XH?gSJ z&YyI$&>1X>+CNzK#5S2-T8~GEdD1903P!4|k$X37>y2JD|1JA5EHQTU?Yh?u0x1Eu%N3Tn6}Hl;povv z!MAs#j)1O{uRVO}CvZr5t&w!x`PdV%B!bwonbGn!xk+|^unl!=x<&nS5Y&_E8= zy~_HAaeK}OYmhlqhX)k zRuou~s3z&uY-GQU#);khx%5F6FBadY6_J;#^&tv53^POH1(= znn@xN3L>JMG>Tf!J$zG~1>&-%ODMSUa@hN7E79GaH_N?v_sXej{aKW)0$tV~SZHHD zFb~NHxh(WnPa(+gLG>zaLx7=VbpUUWWXc4RO9!6eF%gNs{XUPC7n~Xg=1?3})}nt1 zBKOLUzEOnAuT&kyO($|%t=6>|fRZH;_v$BBCDhe&J_ja-jLt$Cg)P!0>plETBg3G5 zWNzY6X1$k8bx}Phcm4AI)A%A?$a{PeLjIHMUwY!Oa`UrFEG&wFrl(zbm}H{+J%57nU-USb1r# z_{nvp!DmmG`W|!GA62Diffs(QUOLKnC3fiWA7tl|#WKz7giM#&F8=Zt90;WO`?PQx zDXG`GdG0C8vca+mbp4@m6B=@lSQsl;qdj3lW-U_&Our2f644)jXK*l_DEYGr+sK1J z0s}7?SwsvLSO0(WTwc&w(;3G(59sjYaDgD`09&+9^IDG1)rC}&wnaTVwU&=7_|17F z`cCW(0I0r9uV!>Hb)zcNtgpKyXsm-s1jjRC}U`5~l+Bo(u+#s!^( z>=!fuv!gVok1T-blrhc_Bz{`eWu}*@s&ke2bJEtVPk7x=_FLwzHr4x>N$=f$sFS6+ zk*K-1Vhi}2a72aclZd#Y^Cj7y?0N;&FQx`m!Y6h4_Z!+mv~l1Ul(Rbiy)iMDv53Vm zkkddibd#eCM>Fb$SS`ssSLd~1GQ8Elj^>%nl)t}c5dF(JLN%w9>Dq7vv6Lq-leoA< z*Hc|{BW_(l8Q5Pam@z*n%5=?y`tKNCog$Z=%VxceFWk2Y8bc~7TE$^srp&=WVp?ED zSq3s8c48Wo;iY{w@Vw?eC+kjkK(SzU2Y^yN!0s&W-AH4mRTc)QYVm?%74eCt3HFlQYPqM>Y14w%XEXRGwm^-x0>$3r@f| z{AeAJrB&5`N~)w}T<9(uq%PB>Oxco71001i*$N9&vS)4)v1~zpwquCfz+EEz92PJ* zR@;1sXa_{;ZBTBD6l}O7fkjfK|x2^7lTyI+b^a#I95FxaN7AA_FM1 z1ZCbJ`UUXjy(ZR9R-CSGI$}dgYl8d)>8)0GH|k%V#h#U)16-SE1{eQ6JrFkVW_8ge znugG)th&s)gEprHN=YFA+6O+>1mu^8UltyiFXmUSkHeq91p7ClI``%Y4h|)g8^J8l zPWUOlv+CJI21rPv?<1<8z}11Z;kf|O<9XVoolO%zF)L-O`Wl0YsKKIe9l2xK%=hR` zZCTUfC^)v4k=t%h1Taw=1H%ISJv32~k!AOTc49gfFN}`F*)<6cnF1#fw98&s3{{G_ zUu%XNF8E-zp?)|Wh^Wq1HYlUPebqGiOI<4j1uT-6KYi?twk6xx!p&L4PIphDO3fIj z7&<#iFu3fY-HpmCE+zJZ)Ykm(ystgm#~}S^Zjn6`VuVqTx~6)>+VSI|U?W$fUWfPO zv*058^o;tn=1i--!&FsM3)V9^c3s{Bv}gr+Y$R}wbuxm8zB1KqI3L;MmI5K7k$+}! zQ&_62{oh)$r;6#alF9POiY=Tsf#Ye#AbU!BfnX*yy;sBu<+FW5*MzvC@R|R$Be~xF3JdIcfS%Fu6J18EAUif~KuAA)4gZ2%p zF_FAUnK{LUbSV%mQv4t%FSF`A#jXKNRmw0(PJKbcTxd#OXZ}P-^O2_5Xvie1WL((~ zapR$X8QR#hAnDUgO+$pO1v4a4Rz9zw@}khpTEHLCsrEVor5am_v}q!GegWo@=Vw$L z{L!uu`cWkU3rXY#>vj41QE6Zey zLb9)8?Aekn8DuHh8A`@v8B1hoEHTW)WQZ6Vj0^^2dA|2w_c`}D&pH0)jQKL3_vih3 zU6-8GC+^h8V_JL1yUWCm!-6q+^SmzU*r+{QVWO=z8X3k+&M4V^_N8 zEAzyOl8hwq-y zp>yO&O)KrYOf`Bw*n*hDw=PxH;|`Y%bO!iev26zzFhw{Y68tFydwJ|y^}$r@v$q!2 zky(48u?lFmy@!Wt=9Uo1_ci4x5`c=FLy1B||43G}`VwVp0^fBXjGydKb&ePTZ;gDC zm&By=W&c%su9=!4VAUSHR@th2ndLtl&2byW5bcrbTR8wsk$k#HIh~sy5JdSwVVd$T zrBw>S9&3|G-FplJU7v~Xj^SO1n3 zx{>$`VGb_O>6qI#UoA6#9RzJpy#FxReA~OMG&XngJ>bH|lxb5!vvR7izxaj+snz6= zB8{-KUv|Q}=Mc9QzQj6h(+6Zqb#!0{gtAFbQ)~?*p?TfOQYI$yFho>(#?$F9oeZ11 z2wvxQ@_wj%&GC8urL?HNLhIoTKNpIpl?}TLi@?wO_^@LD5sNBQC>uw?@y@rIjEhO%*u%GqoTegG_ch^98nn*%VAJYgV>@eN27H)xLR(ITN}nnSN&sP9e6YXDjoFr3kAx4augzL z#T3EcjDeF54w|1I>}{~xSq2s)^J$(HRuix(QseX}R(KLC?8lka*+lqmb% z&EVzcsf#K7GLn*iq}wv6s^)!y#|4X#+6v^QbutbQnS&vm7?hMKT^S*wY%+pZ}-MZ7d5BsfnY>eXUxk!UKr!Ijjk5w zM-+G`7_{XPJVLeq6hnQ> zO2?K|zwin{V%IHeX^knnE_sCphxDaSly7zK;u(OKqLsgVO;5dKyiYOD5giV<8ej6Z z=NrASBXuFDd%k057Fusu^mIdsi>g{i3ijUEh-pHqhK&K?D=-%>#3|qUueUaoB$&Os zUu)bi;x0JA$0e#%`=8&tdr{#NF9ZRi^}nCuFVo_7^3JI;_T$tU`n?+n054sP^gEg{ zCD1a)Jar&*oEllYa2SN9pK4r_< zc8{nifCgd7-|6u{%y*`>8d$rRmHCj7`QAVa%9I*1)%8;LT;0>r<&$k$s0ucslx2PI zM7om2{jV&tvOtf$e;u~40GzaZHc@b=^QqeL-&4>e^c7E?ztpLQM46iOr>Cw^@uboZ$s0M25J)CaaiSMMv` z0|+(+X`y6vEW7mlGC!XhF>kBqpG0)rMj^wQow(HBr|!4*)FN7l0fgn*Ia)y{qg@JVyrXzx@O9HE4$p_$2+97q|!iSk*$I0 zMjfQG9_Q>Mzk~Mrr+8B|`{M`A3C?U@2Ez-5KQyFF`dk6a&Ztj)I*7xf{R!K=+zo_^ zvJKLCdxAOKwJZ}Gp{yT8u}LR(bZ&Ugw4ALwQ&6ztXetk+-8C(2PimI`f@A8;)5Sio{zfdC7sA z=?1jH**$aCbrIg$wbEM!IS&4dou_N?GBcnNu6o&imHZs(OZM`b7zF!ec{=6W1HCK~ zb=hQqRotL*YO!1gq9C9A%ZC_FIR?&&{1z>LI)M|HJv4kwfd-um8jch;7GF|*Cee;JB@o+ z&@@M~n*kH(mJ|L>p^d2*un`p&voVeR@?HBP!7F9y`$+bdK9F9&ac@vm^ijEf(+ur6 z%jm04Sm^#Ib2*f?kJL(^Mp#2Vm$_{YyWkm~b~}IcOPO=u+_se3dAVE(w-{9^_dnq? zP3o-8YUOCexYaE;kz&aUpJMnKzfPEjrM^jCNO%BJmg>(+z)qBfMszM!TFsT(ckv&f*xZ%c! zN4Fwkdj`Z%PE9ZqZ*zTr1R&y-DsLe=F|l|{+SziBhy-qlP5a0Yy50&Gc*BctffE^C zYmEK;2kQN}C-0uAwhyYCtyppQLB9y$5+2msOz z_BO9g%c?knNRiTb2h0=68YA>%KKkP>mITQzW4F1_J)Rc)4a9EBV9}zk*y2G zw0}WeK*JWJp~x7#ksI7fta2+L1!l<9n94nEKz|4wUlH~7WqxFU^7OA{6TdrQF#pK^ z^swy28*+!#=dJx_Hqq*Fi$7GjJoUNSErz-cLhI)A3;xb}g7C1Cqib=pvc&|OQ7gtf zDker9NRe9l%-MpXfO2590sy$ImQmVq%y$e*XHpv+j<2>v=bRG_Q^FUuOd7sVJ6cA; zo92l_hL+Dqub>w7m64sK;&95Z?EUdrDt0YW6Q-^r*XG50GkDUkK$`Rm-!$)2&+#kI zPR@|W74qJ9K6nm~43|UirLt6}S1quKzYj_IBf{eyC+&DE!EhX_7$H%=(ccTco)DVR z!=&L~ZXpyge^ZuKe5t^lqfhX|*(;di-9Vx0NDzs)<}Iu%lnCK+_2BID*3>Df#;ob8Re?9i!ZTd@1|OAP zs9jOMF#YSXKp&@;4Yryy^#ZRPw4@sCvb1-jI zg=2d@5r8)XM~)iP1>S2U7$J;#yYJ(4`*QjKxvSgXY2vwoYX7Up_{~D5ud998Zh+qCT>D_F-F;P}NMT|y($?L@Y%J7De}~BMS2b%%lUsj#0&3+suPb~j z%8DDD%>}NI8HHm6jaB@7ocxaiTDRV8x6;~6qhqenk^hh7LeyL$Nf zWvpSw%k*7CwvMn@xRtn;^6$74aSe>mdWG|TajNt)TMQ2|bJkqa%15hs3OHiwZn_+; zg;-0}!Yq3=LZu{qAT)5rxYal?K@mJQ+~Ef|N2yCO;TbYU%7M?QBIEe~T7W#`!NK;9 zw~;;eyLq6=>aSKm+(^H!E872c)>t4AuF^e{hRWFG6&Yu(yA@0@vg1% zY#+c<57w-7&VKDaNr|;&I0-+kJ{5@uBD-4~s90Dmw5>XF?93(_-Kq8Q@DPe+#99SM zi>1=nl*jt+wa%qSY=aa_6`Ddj;JYFJ%DP5?d0u$M8w&a2dzq9W_-R_btla810m#;R z49`}Ph4{N-U~M|~;FH~dhxz_gQe=B+E7T8dMM`4|Z$;wp{*?GdwQtAA|MoX<7D4Z{ z{`(Jo_qEe-*75yt!;HVV%vU?n0B#+7i9evE#RNjw-X#(*J{Ub?DO0&n(|6buE;E}` zh0%mOQ6W3YKxYtNd`-)YbiRPw{9G){#uT^AoPw^~sKZWR@>-Z)V$`nBQLWp+qfF3O_6SLakoP5a&S%dc9 zRS&8$Gk0sUI*ImD#`rX=wEtid>H81iRikPT%*Ylm?_%U^m$(GpWt{kme5`(0!kD3lQ3V0GTWD$`cnD$nf8vo-gU=y&fElEu;(BT2 z@+{C8Qg~vjQ~_ip%)s1apk(`3kMjdt!Xx$9l+=a&!?j`d_Vl!tS;4^KtA@37F}*yZ zubD@(Gd90AQSrw3GPH8!2~HDj?i%o zObyb6rFyED9ML2{%2as^I@Pv4J};EQ*AoP+H5!y}j*!Q`XH?9tP}g=2YFmpaFK@9A z#TP%x#VOT?yz;o0GLZ4-tMU{s^PM1IkW2HPvln+SzRDRLrOs1*-@<1mZAn7RO#qzJk&)?j&2d%RQ|0l!U!`>2p?$-UXqxn<#si6B1 zSr(B=-Cy=UHHhcpH(6R;;y*4p$~N7Ql`!0+S9Nq99Zm-Ct}m(n=+XSh(?v0?Ux=4} zMdZpUu}QMNWjIchdVQ8S_`~r!p$kzzWn?0o;OhF_AVt-)d@M4|JgH0@h+^P7bC$Am zU-t6Rthuk48Z_L#rysWvUC+hb;#-dnzYn^vfup1U)8RPF)jky6mM#oUNg6UKg~Ev) zCdN!3dG;>wiEFd&2RwLM%miJ<=}w)O5|OXz6J<_f_mTGTNxBz&Wbtl(%SR)~l z#Mxp-@VUrXl>9qNugd-sAaETo%?9OU7kgaxfpqeWSV9FZ@ZME4_{@`eJjisE&C0j_ z(fl|kGm(e!qS#+z_~j#U?z2aCaP>Or>1$wEj&{IKg{y8zcD-s6xDw`orYafTy>Ls>&_GApuiWWOf7|1=^187=b&J)u8&1S< z&vs2n*3Z(sl@cJtPWV>`J-e$ z>m`yL*UpJ;Dh>X!>(RAKO)as>Y5dwtes7-68U)l|Yf|}IiHNk+hYPCQgyv~$c`H1( zX=eO?2Ha4Hz&{z;^W1K#B}M7)9DsWmR+5DQgUIAz7*g|4NomWDkUy5>~XnDN-P z7iu7}*i3=VK^_c^o28qq%vIMG5u?-o+1BQgaZp$0^?Ke;dCSV(#)8+$cvJGks0DL?RY?bchx z31?%9jii`WE~-qlZdP7Q|9x~YBhs-@LQ`fo@9o)!y_jsc%|DGp?kZhgvkuyH)i%;p zewdj1nV~=M2ZeDh<=ORS`1Wu0(9NbUqkbKArqckI<3LYXfkGB5Gl~0~YJ~|Sb zZaxy?O6=k6>HuGePfOv2`Xg~m<%yK4;lA))of`S07>u|J(we`Q=l?UP;(wp6%%7qL zySbU}rSgHYuMG&gYswNbxy(n^28lTuf;xxsGSilG?=Q(TLND4`Ww3imNY+WC)2@M{#8oeoj#V>K@0lsxA4q)s+@QkMz&M*{ z)V4ith5=0XotFCTg3V8fsg8Y-^8T)tX{}=unnm2Ay;fb>NWxW5a~)bL$Tvfmw{9=s z07sC_-xjKgchV5bc50>kOj~1o?!JI^mq{Z72C0~yH562$L^|Pc!h+1=6)y|<+&S(} z2gyVd%w&uSRkcxJ`sTe*^5NaTH+>P2fRoWNiUMHFZ;DJxAXrG9!Ov%JfOhU)DdM4B^7F&tvQ>i zRW|nd34lzTN3CiKhixEQ+DSxD!b={RiUmz2y`6?~PX~(*D#HXzS?ARY_j4TIa)7cu z!i%gjMH${`ou0twQG){`)d%W4x7eTi9vsri$1oWvw^G53Vy2bVgIgG+`d|aBv|3Ql zbRwtBk{Y0$qExyP=pg3O9RrJvy)^h+(;`~g;^O|XOZN%6`vgFgCe@(j0oZh4k)=sR zmFVN~EcxRgv^weS4l(Lc7~frK!#}DerKN-3?i2%lt|%Fa*oc%_IeaJjY`Fz=QGf>LsMFs1 zd3u3ffHPh$7d}aD#}6*1rL1XMQBNM?cZm%^yU2?Kyzd(<%+@P{uVsBu{Me1->GonB zhzo^sxU(`avHBRcErEFSmG6V11?}%j#b$2bK4(f*(`=3x&coz!p|DQasAWyC}Lx{-={}N2#&m@h(|oP?^(a6HzEspfAyrOO5It z@7vnhxxwyFGq!_8c5fiL`aUAAf4!fUhTipr0dDCiCwt}wpp=b=U7-xP1p#v{E{chH zuaOq!vRS!~RyH1Pmx$jTGl!UZL*+Ycb^ChcUp!{bXecL?W}%vZ1gC-;?UB-}T8xwk4 z*wXF?SHo>) z`QZbf?SG;CXiV@|`zE~^^~lK|E0`FZakN1&L%;;BO~4{QL5l9e*#31Q9xzjwy&<0A zE#w}gDsy|Y6FU}QekyQuiykQBhtJ(FpRijp~^9&w}z5Ru8MW1iw;x;|$bHtuK9oo*cF9#z3J=UwIQ#O|GMn zRlNE))M)l>q@jC;+OVka*7)Z0ZPeY7VL7cPzn3;aBMf~u>Ia#}es69#`Sx#OHMz&Q zsQWyzG+HyB*3`ru+4bnr-)+B07k><)NnsgQa^uDHjy=*f(q-3g&DYzaV;IOpKBG1H zL+2N%`=r<-I=1?ylt^kr$XI4hw_lT1jZT(!Bq>@UiXO%G?tsd9=2*mk`J|cnIV4D) zWNs)epu3AXI9R;O3q9Vb4^!!}|E~B^9Z@^?eS2fq4^28IOggrD^1|c=r{|+ZCY_fAt}7YM$B0pw{>&?iqTUJa%+~G z*p$E7NmxgBliA$om+_rCJg)^REO7qeO*a^SA~kU{FLDx?Udp7VTwLwa*+db5O9&uD zof4@h&68n9b$F6NrZ2%9L~=W|fmDQlWOUJOJUaZt{_d_kr$zfsQ~23><+g5uo-^#mo^fX~);Rc<%)6;YAV znM!ToRzXYW?Gw(it5+el4iGcq+b}JQK7JCa3Dtc>rXWH&G+{9}*}VL^ECa>%^3lP) zZO5PBzb=773VIy`^s{k7aU=H{p3|2A7%c*Dy4JB5{0uGVjy^djO)5so(%X@fqf5J1 zRxx72CSw;&gX7%oaTdObRbrA#kl3ih9ZWT5xf3yyZt2$fNPgB4-u@imGq?#S+n587 zHymyBq1E16R}UUt#CGLjey9_w^SQsmyry+3L#oV=2sJJ$FoyPpY}(!1jVfs>Yf@z^ z)SEbo=vbyFi;Adv3A=A+I*gdU9bD5a1Gt3ryq`|+b`q2B_TC<=538`gb)QS@G5U`z zq;=4zoO!j_7YTPBl1O@I-peL%q?)dRVY2RyA}Qdr+L*;{TS~m1k|LWT*cWZAN*zl7{M}I4*i0 z?Nlq^70L!8AD15urHRV?a+#;l-Uk2C6Z9|zn^5SjyUwk6Cyv0<@ydKZ2Lz14)%=RuT6so!B=&PVYindkuejYk=e?hs#2QU;J>1hM8P;R>8cJo^wQ+@bh81w<# zdY}`{Z=UA-y_J%6<;4#q6E;AtQqZ%BLb8*7XJ4630Iy@=o#PfD^9x*V| z`EqCkV%ISSJ`-P|t9MQz;{5{&=2bm`sBnggvD#Va6Xnh4UiAkZYSr@j#yD+$8LghQ zcmv6snxoNeg>s2aZXVH0Ljd)evDMp*bZ`v3hl>dsqqnArP8tJU+3W@FJE0BdJc$ zcD`(M)Ex@?lH1X1*m~3t->FWt3(oW*!X6|AD9cv;Lf%*`bqAU5`d`VFx`kj0NYer3- z$!fGo-@;Eyq`txQ2UvhDw}nM)gqKO&YGHxSEQ~o>x8FcFb0E*Uz`SJzpc7sZKch&| zih~8b=TA6GWU0WNmwWJ?r`YMB)On%%Pt`L6qYVUJc zPlt+d<7Y|cAr&&K9$G(6Mn#YKiY2`+-?ZD0kD*BVh<8hV70;+ow1YB7txHY3h)u~q zMS*ZxPQBu5@+yk@Oh)dP-SwE1R1{N^K*p_SwW|a?O%iLBK2b|k_xvz~=j=RLJZ<)V zB_%KQ|Dqk9n;Q^?;ygCd2TDS^7(??p-uzCuHH_WsqP{^KY`$e*H` z$sqH`Uj0etgjP{MGnFfVFBfF4@~xt-e?5_B?ABzI%lB5P`{`#mZFdUzE|-hn2dmuo z7Ugz1v!{&V|+zAH($WxWto`7-W+*C3Q|N9Bsa%-OVQExbL0B4?s_3JUeWSR{chvDxnm zDQmw(=4S28r{)KyV2LLSXAV||?Y`vJFf#B%qNf8>>s77aL zzxTPm%--I{Kj8M`SKJS)#H@I(VO>*?xLnL$%xeG{QBL!)olfL_VIVs7`s`3?8;X?` z5a4_bLOa2!%Zr^%lFY6K$|g#cZugj(?j1q>3-web>|^0wjH)Mnyu&?0BGsGo-@rPz z?^cG}XsxrjHzIeOhk8bwIXS8%$uJqDDoI*9BYIxI8&)LU>#@AWG`ibe+s)&8 zAgGtl;i|**P-oZX|9s?hdnKbawCxe-ypw#pt z$#NmZ;8Z29;ZNt+)Zl_leBn8c-+TZ4MVkrOsm(&Q_w9Ag8JbM#TxA_J#zZm6sp86!n(qI3CHIV^ zZrxSBswr#k?&ze!x?ixW_%xcmpEC)GS_&%4vBHLk2ufx@p+q;i$H{OhaeEDL2BxCJ zH9nF+2K_`)&1gH79w~Sth&ke!hFGDZ!40J3?<^K`S4nB@7@*R2H~Ff>*M)bBp(;%FmA%SN6YJ_i)_ueQp z-<}jWLRd*l0Y2rVIdr`R$9Z@lEq`uICekF)f1FJN$G{*p>59akI)E131w%BLYS^_8 zl9nFd{3vkOPcRv~rfhK@6ted2Vyedx`)Q%0>DvB~Cj1waw$8nMboZLhLNFw1tRr}H zZEbkuQFnJOFe(p32+s5#zzCT)9K8{uZYqnow}oIqa9xNpr#7pAn7H`D);Avl3g%$X zl&bWNS42&Kv8^X%$)P!QgmhkVt`Sc^7W-h;n>dsGwS8m0E9P~TxjdJYLw) zk>+`Pa%lgJ-+MgQ>C#}@PdNe(N|DWs5U%F;AnxT-yEgHt`lSeMt<0F*beRzvxvSA3 ze&F|%FOB$3P?dF?6L;TfTa00-qd1|!5EREQuQ(R^g zKLv9z-1jXR+^3w@>vZ(qdEwXOW3WmBzZ$cd?qyH^Yd;{!rZZ%XX=l`XpmbTn=tb#U zo+GQ%qw&B@?H8eh?_E6L{{+GwS8&Ejz9o-8?TC(|6mR`rHUKqI{PCR>#(H+Tpf$5}aM$&k-*niFsa=JFOBX{9 z(@(PAM73K4;8MkOpLG4Xpm}|~&jw4~+xYQVFJ&%$NDEHX zU`%wI+iQjEHb@fH#-9rg#zhx-u{iC?CC=?75Fz+bvS@)mkOh#H%V02p1bjFf50QA# z>TH-QH1YFu)MgzzuX!1FU5!Iu&)B^cFU^i!YnfjB0H3W=jR4(VMZ>kM+`f!Zu~hw3 zu^+f%lw-ec2k1Sut3_DfRWhit#miMYK;Z&I+P|m{Ke|2imf|3D9c=vZs>eNJOlw*% zQC3xN1z@v~6wO%+%*M&LxlS~>fr6hw_c9VCi)JOYUU}=Cao=vd`ZFJ;GTm`UlRMEQ z7DksxvaDbfOR+Vg`Sf$e;sd{e2Q=B$`AcPuiKQC~50x@5|&jmsO=1h!os* zfVa!nd(a2xV}z`?OOurab?-Q~Zp5Hzvg>_)7&G5vT9ZqaTL$=D!tJ)0SZrewKjepW zsKRXMyqWi+vn~bdo5*7Y$A*ZBTUKL2d=NnXc(Zbh`V@pBjHZ~xk=s>CD>7{|Ai~nJ z8@m_?)ro3M{^@81=B@LvU-ZMs-3j}2b_1#u2foZGk`mFCvA9k+Zbv=mGkP`ki#8HOfb)q?_7~oD)A?m{5Evdh4T8+3U*!RmGbs6jeHD@ z_#ID1S#TH~$k^!-fM@znIDwzyT|(EW%e7Ve$L)>&l)#2{??#3{Lb{!i;01%LnFAzp(A8)6LS@23)1cJPD^8j4mYXDBYdw11FS>m%S= z5QBcY{W8RyfzNb?NS!k(h%He#jfgrS!8hrrfUERm+26%BQt;}hA_{r+!^WK56N|WI zIKcmn(Vn>CxIl+3FYZ?D5*CL?yEUhBX|a)^&<;+f`d#~;wS85t;AWiVQbc6TWvgIe zQ<=7@#=V$s`@Aj1i@qq&QKuX`)3v~YxAD9%bXRv{2lsEUAeZ2i)=7(i9RJv34%a2+ z+pF}ho)`J{HSGc=?ySnE^7IZYxEp%!02}JZCDxYUC6L19iV*`u^jJIVIdl zc`i&EVz_J8wB)U+ReJ3UVujvb<*l9kZBTigPORWrN^+HK_9tw_=-kFvMK&VPbHwaV zZ~LjLU7BNMrLskQ*95PzehUIbX>|xgqlwInA=}_Lv$Kx1KDu{!u)OZ$D)aE=s1H&d z?{bsD7E6j5XcZYGu00PHtr~kcsN)?VlCW7xX~QR*w=KgUT53i&pn)9RyzQ!erI?Kk zpX5HZQZa?9BK-I18+Rmc-sfR14|6WPjy<5@z3osMR3OE7f=aXpGDk3AU-gh`{d!BqtSnd^F;bhnCy~I$nL3r+p)qK6= z_&uNYf&REW({&z~JsAQp{cbCV6elx`1Px1a@r0ZcJZJCizSv2fcv&0VFgfuKwNgOB z4p;UNFS)<&THz9k4j2ky=3!r7FsS5D@eateGmJ7s_IKrHfQAf8&#d;qd>?p8ONTut zpjri(Zn4EZE@>rrL9|qjSQB9wTy^_z<%j;p~RIW~<&25FYc2Nm0|UyBmghiAra z)pOHR3k$Nfzgi87&E!l@ia%|L{qXMy;=8FMB&m5~+@FQ-6&J^2mZkI{xe0j z@zbPs0gdF{$nKD(>_3Fn-BaL|B0;oKBgXlzCm-qsk$CJ^GP{K<_-L0(d&J6H! zsQw_fPYA7#+`#yDG|IuPO?U1(rOes@>dYq|dWwuK@(^_m9xsMra455mLHga^R+R5d zbKEy@B*~Wlj2+jRtOG0hZ(Z?$8@$3|jp`>1<@#~Q8@S*zGNyjJ$E8g)A~cn+;1zFX z$6>^6zO+n!X%OJ0-9%rd3~7+J@89P>Ni+#BhV`>vEDl!^2~OD`q@B$3e-(GWk(9-> zPw)R}bv*TdzG7DvPyd}Bp5}?OyRRK*t@TX$)b6soR^}Bi$mAhu@!1HoQht?&dwC5Sr=-k8Qb6}AZru`2UVyP1)7d}@xz1{JGY#O7xsZ5gVR=l<3iWFCv?e|U^8H)IlGRTLG>LV_iGBPemHnsq&T)aMvI^*9Uk#X_PsMW(oYePIt5`ui zdh4#8&>7y;86}2UHz;@_zI1ca*LU@rDy2j!5o{otAoY($H{_x9uv*qrq?Zkgvd!)v zM}MTfjUjON%-BMl7>N}3s1U!lA=MMExv*Z6TEi|D7jRixebE7Q&x|jpfK{2f8uj|e=#6u>cI^q0fv+Dq8CMCi{m5!~8~(_`$=Am;qQx~U-eg0v z7b@9^`@-f!@Rm{`}1V42am3bUV+N>KzX5MJ={eZz| zRhS?=F_8xl%}POy*KJJKoyR(+1`K-HNLqEU4Aw~{4vx}7kS{_GUwkWy<|bCJ#3%D{ zNpMMt|6Luu3lFr8EBO^)0@!S*F9qd0=3twJjZfo*i^pdT5Zz{6CEcR=%7@ z_K0j^=IbeFH-+BbIMxAEKx33lTz$rF@wHl4gp(pN`V=`c&+ukBZ2;eR_S=tuQlp#B zD45e7@p8dGMBDfo1fh#4V8p*MsZm=p0GPvY{4WfqK(GL%2&2azJN@YGe4iy$KH;W& zim6eYb;-KS$UnK^8*-FOj1iO}PQLOiX4{~d=(9pMFrv27 znPN2!8d5hCr7~7Uf|#yDezeJOM>-&0^2GSk3CCI)V50{pcSH7nYgFtK72DUBn03;w zP&v(?5dPlm!G+7d?$AwL!4;DnN@#Z@1#!Vf#v=J(>MrUR4$Wv?^otjw0Qh{lzA6V5 zWfyY#qb_8psKV$3xZh0L!*2#78hgD5V3kQ{z}RN(8?GNPd|qwM2!!y;71Ip$h9ZCu z;!Tb6qPle?DPK>$%u4f%>ec(56kqRGnkdI=zz9#vd}9F3k~a`1`eT|mzH_eH_G*yQ z8k`6(r*2!=ctiMtWI(qw{=uyj;A{MeaGX<9Cey9YBwU>bn=4>4qiVidiers0jt6-N zFNTy>QHLWR1joy&Jm9NE7MauoH1Fcc_C|>MCu&ZI4`)n316paZPg(yCtK*)tlcD~b z(#o{dt9SNO=dx?S*W#9b+EP#(bb^z=+>0UIB-d-~id8whg>#SoTKhcs&n*C)%$pt0 zXA4brE1tws6HTu6MHbtdTTJB8G%MbDagDO^Se%cf{8TF)m*Gmwaa2pkmxyM{@VQ^- z8XX9{DXplevcWOtyrpfRg7$w)%PH{nT~daO1#ellTw+WB%Lq?vWyyR~1-bem)(s8y zQ`Jb;Z)?x=*pnY!S2NB;SsU_lUk^cizPCbz-A`C6an@w7>Py9}wWavZ3givj(7vpt~*d7(Kxtc~-^of0`Lo zP5DTv1gv+oW*IBV>G{B2{uLQ+j~fJ|e&|d$EVjEba^Cm4#pt9rW1QbSNan?tIobxS z*2%69K3)d=2zJ*x9xJOp<+?(ClZLoDwDPB@S$+w3p54%inV>;Xj%K03oV~kOvfz$^y-p=5f%|+0_-&7RRx3@4hMajz>_Ve2dbJajJKIQ#w`u46yfr9{swL|VS3IY#( zVKfm*sd&i~KjWJ-+wrzDdko@IEQsi)@K#;w|Q<8 zAMqc_MFFt(7KojTI6B!oIo!DDrW;T77E9r?{UpP0#xG{|B=dbibR_Un1elW{u)x}F z1?p>_=Rh)oDn!bTIUXD*Syd}Scekugzv(c21>na5^>b{oMI=fr{eOmSmrXo0!#hT; zBnI8DwjSy~`5*Y9>tm2D5LmiaAbd^$aD6*pZ`|0|1pF<%SIXnuwzvb1_i*#5>VG3L z_ky}l`bbKVHHXJ8vE4Dp_89Kr6q(Q;s+>ywxxV#|sJ&w{F#4+pe{DF3y5vzTUah=O zX_~J}aWEOI#%>Xol*@i2FpgCiRToRPvCr}jFV%Z_C!2qb-cZ$1r(8ghVQq6l6FCpa zi?`_b} zrKKpBii;~99=JtBsAJ(0jW%v$reh>hbdrYp;=43ne#y% zk1XLz+}2JZ&x?(2R!(~QKmC*TKXw*@bLGBB7!<|@?$Sg*6<`zu&TLiS%ly~dWUom} z4%S_amI(I8(@+Fo^=}vjD-wxKAfd3;o$~*(Ad{c$E5?VhO=7 zTH%l=SZ6U-+4Rk$qE_vU9Gke+oR5ge4x(rqa5@ywbHKOai>YhN=85!^sEx@1-s(VB zNnKaac|YWoUt;5u;=3iO$pnMQQ7;Kdovmv+mDkEcFooI|>0p10DkJo@nS#JImV;cI z8_Dq_wtSRhMb39C#iSm_#|_LMCRno0WnA=kf}$$2?f>Wnmj4))2$}>ewgSjU_=|0-XxejmM!56yz;cUe{xLmfrX3&M=;7Azs%H^{1xLusB z@{7v{Qoe#Ky%zfB-X?)!)yrWnjSrX$tZr#sbzN{cV^ytIQ9whkYY0AvK1XPf3V7MI zZ=Ux7#bu_k7Y<-*%YlE+^eUv242C|fo`F@i{FG?t&4Dv?@`a80m3Qzl zX1TTBbV@(X*IS*%d&<$DbAak3gFq_2)UosT6(H?9v!>+u;y+&KL}5uG8{>vqCttC` z9MdttsvhIg87!`)6$k7Pcs_)^nZ2vqp5L7Er-Za1!j}|SgMQ=ZkGM0DT`tb5J0(4) zR#slO8QD}RR-(Rv-mQYzsU)+z{-~T5)@T0eGi#?Up;SJ51%CX+d81B#U)(^Ns{LhQ z_|w!%e8p{+m)goUlIq1G2cWVKJB_&BDL!?*ZBF*8@=53e=GW3lmHQ0FA|=6HX%e7I z=Mu8sx74NZcr27y0e>vx1V2B-rPT6A^Yc*eVYd5`(b2`ETGZa&UR2&@HeZg#$cU}E zq0oEZvslHE*HTv{MWO=$F|^Q+NJ@5;H^Tlt3rKps_Y{$v0zeQqCPN~2*B+947`p!y{EQ0zc$`b5i6}ZXX#KBtSk+>EiEMg>+u&g zutBn}=9e5WsrC3Ll&O;BGA3={wmigZCf^1Qv zE#nF}@#_%fR^gH@1kcK^UtQrk-1^?$&9gT0MPQ_86o#e0ZR`6u`n9EN3YCzAUzo|M z(92Z#&oveH#}OqvFiwa?qRDo?cx&1$L_%BZ`2)x6oO+-Y{Hg})t9jf+o=Pg4MyW%i zn`|*CHU~k~16PF_UTMBbji@4Yy7VDxP~_{^0{ds5bO3pyqL2`u++HOMvPRzk#E)Av zzC7Er3O8WL7++xo_x2mW8riqhBy!$Uh+kE0*` zJ@zg7Lr5q%u-oK9Hjswas!xAdSQ7rt*9kE2%H!$d7BJu)N>oHXfTDyh) zViNk#*;Z^qXm5m{O<6+Ectuwq8u%BMSXOdDDC9~7R|puC>&nK)6c!B{genV2v({^{ z>JJ8r@Q)?gIPXH0SUaUJOwMq5u3Vaj)&=Hg&lv`O52xl@eU49oM*i#C<~)7pPG}J} zTCyFv0Fo6$RO$RNG^{)SFCHSpwMsyj7Rb4<8(v*X3-6k*4L0raRJL-S%584|i;rcvLXY!oELi?5GGok-du<@>IleVgC zA=(K>3#pO`klr9lV>f9FYctVM={4B=JovVdWl;6=tPs$A8tYP$1Q&QUT@;Fdn{~4z zEA)^H)1BWpMwIQg$Oa%-F$<&>d=)nKw2KnhUVTcUQBg!a#TEHEp0MOvQ3Ycyd&00O z0&aSc*RdHgvG-e+ENP7z=jm-1{}fl8RhD>i9VB@zX%*A36HIA284=2Ug5{xbqRta* ziSF8}2dLR5JfmIlvV@{}fh8@tIn%b~B+yBpM(AcO0XiCv=WtkjcE!mLu&bb5g^KH` zP-q5;XZU-wXMXbD&e{MM=XogSBYGU;BSVj!Ks_acZ<@5TdTV(Z()%Vilvsz8iB)(e zsPBhuU9MZ#z6mGdQdl&myy(ST^wyN}^ChK80F6nVe{GLj!zM%@A{>m;Ld*gxMj}utpzM()KT|D*TC2h*gC1iRQnlXe?e+> zK+pkWR~7rG?`^SH_Z*>a{m}9AyHM_mkqsg-P;KDBwNNd9*}Elc3VWfS(x&`jU^ql2uK2mF0roRef6!4z~&MbrbKU92X8&0}V_pB3mp6(ao8d3Qn)GB2LmAPK{cqlE6s=^}` z^*7$t$?ICYjHR&^+oMoQpbhP$*}(MTDCG7xTe?C*7AGi!Tx@J}`t7K#LNHLX#j~BR zm3e3+ak*u1rMAK4CF-6H(6DjzZSp!pEl-YO9yu1>gT80|V3&bcUBglF{G%(8?q4Ar zdyBvJ_C^ql-S&o=q0Hp7ebxg&OFgca>;!mcnhez2s%cRalWV#%hMn7+E3#9Y(NT0S z@?Kp=qabvC`B_kOR{cV_xcy%WFlGjKV=NTY##D?@*zbhfURA{=^eGbl5=4XQsc3hP zt;ip|rTGnp*aU(?6Qd7FBqd&I((_9!!`+LY@Zrna!)ke1M#U3%r@TpD>vDdgXgRct@q2xT)${lNo&ul77MX14<`2f80Nv{k+LGWe{3QMP z+khK7q2^1wjKdw`JKgtA=6)NOm&A9rBR8>)OtDsA#d|xVNztjA!5G-}n&LlW@{Kfu zwgH)GbF!xYM}Asv^I-Bq{`?HFiF8_I6Rp^xINtI^9%EJT?g?sEk~rMf`mRQ)w`k^E zGWR;8u8lgI&h;9yVR5{joW~?}9GE=f(mvRUYOcEQg2jMAp;N;m_72WV4%WK)$7zS< zhzg`47l|5VV|)hC7yr{vHG-8t?g_f(6Oyu&^`|jj4s=0?ZTjJdDXsm##ExT4ZJyuT z%&2Bc6Uf!efBC2@iKujPzWv_R@Z|_s_OK4JiBC%ti;E>!lgRo`I@j&~8Lws7vyls` z&xjo{xko|ffcR(;J|%;0Jv^$mdsYH>)<30#?wB2__V21{h0X5nWUcs*>ssdX+e3;G0sloc%eOQ| zk*L57-jp;H6CH81b3(Y$O`h?}_u2I_6tVb0ef>L}b@|TbUcf%#qUN)eu`AG~x(&hS z-7Ud;IZaK^2(j_4z$yBgc}luNP=C>wl8k#_I2x@;YpF7s2-({X3J-TgFIoNDCK^f& zpJ1)We!S4W)3W`?inU-=o&RuiCDS4kxD0bH?6!Qr3p6l=E&ZTBs-Imo1xTU~u^vkV zO34O-r&KAwG*25;|H@`vfQZ&8a9-pxCr8h0<|Ebi%zm$H{x^?S2l8nP-+~DC8lc3Aai3 z_3L1p^qBpnTTRnMI$P{~!D^&7;y3wR{d0fzfGE?W04c7eWyj4K;z4-6lfqNz4cU#o zjjKc5BSL@U8KuI#N_Cl&#mQR=pQQn{L3ve5QPzExFh!5JvY9`3*C`YQ3%;S_#rF^W zByD}{98{kSn`~iZFP#1{$pDE=o5fv4k^E13-m`5$%ttq^)63D#gW>+{N zq0D1e4yKkgro_4&O)*p9nODK4vWnN?*5z}Pl(0_ilzu8mq;hh2$O?)esMTT-=CeB2wx?ZH$?O*h%k!@QXN4qv3Dkm=PqoBl5!A zt|VuprLqQ>VuTWZAG1;Z6qjlqRV__0D=X4ZmJ{-Wv9@z$jumaL)-v@3f=BTfkBNL5 z+194Gvpdpd=tHA7bA()ugVpH=Aj{m%aFsctoX~SdRb6PR9;&MGCQ{-@dmD-_`^_J? zy1So5x+EGt7}P-aBMP${#iJe-$kQ+N4mNkcfPZk^9h~zs%4KB{c?~NAm+|u}onQ$c zas|nxD@b9Gv5!Ep4rm1pC3ONG!r1(tE z0$cS8=qvHyo9Tt4yVBMM$e_WmQ=h;FK@pq<(s?D|9?gM3Sp%Ep?#mOdlP|MI0Bc2g;pjPt z_<$}5S@6s=vZ?HM5Nf>In~BG=dGj4n}~EKw+lA1%X^2o@0JO20qcl zTjlXhX@M!pc;#z0fE3isPO(@`-PCClK5lDcon|#MGDajGM*9+%vJW9FAAO7I4@|6V zs9Jm@gfG68DctblH`chPyrs9|X{nH03n<9CVfDel@39|4`lciB`mc?jO2=e-vH~X+ z9B-HyJd587KF>vLghL@xRyh}+4~i-_*>OGVDh!Os>K-IOFlwLc$y@CjzrXXE_|lfr zv%iC_Qlk_rjA0-NU*Y2woung$gKa|)(bQpE;pX=Gv<;GOe^Q&XP$FD*zw^P0^Ltj& zwV!-9?^Ta}l^tM&0EY@iR{``w3&nUH8 zny%^U5CmN@Wc29^`=48|(?9%mfHG%&nnkgWls$p-cgNE)7CYaH6r{qxw2@oNHu`Kf zhreQOp~PZ}2Czq>BA*$tmx`C7C{1Ee?5F&#qv(B$u3=>gasLzUri>^;EUJ^82YT;i|zh?=D+h|NR5xk=9pCET8M z{O>UOIUGAL9A_9W?U*$>7pMB6lb6K~HA;HwZ6XVW3yWqex&Of@IqT|$h$jz!bj?IP zn6$Be`7)1)puU2_xmPe>VChej%TIkY@tsNYDJv7sVa>{sPFkJ#G#;T#w5?J2;w+lu zRXxEi_#t$qDqEZ=c-|e)U^7>cGrVMG(ANpC^eo>|vnKSLdido~3#VGEQJy&5q^*W| z@mzd4cFY4*#h5o*kVJ<|=v^vK_7LT~AdS?26j0${gQ^-+qrPH^1?L6=JZ>SWwC@T% zWc3g5R!AHMj-ccD1Vt+wCeM8kTXS^RKEsz5dYW30ayB4!F;?580c_L(q^(deH$!d|a~NgU zTJe|=tC%Jv-A1Y5oeOC0Ps<$YINDTtU%Ued0ogTma*@^p;!gP**M;s^fZ`ZWB8n~o z&R&TA-}a1*rnVXlspq#=ig(w$K6>~L6g_Q7BHl7%UtGx?qO^D59W$LZ!-r%`;4el> zRc=ZxGyiBJ=&i=8EG1)_{y|P1F*Q}Cg68u|ysBe5 z!F_H6r2J62melO7jV>T=h(x>}q}m!ggn~R~o^tbiIu|!FniMAWTX!6t=6OB|{;iWY zfU7=bra`K6GdlRsr<{vEv@?)WVf}~cuM*2Z=t|VAm`f1W)=E}EvR*$3X*6lqH+fF- z6PkqpE2a_*y{n#7das2z_?SGM3#~L(=Q$eNT3lRt73uMUOeQzAOxX6_sTzG}AOZfe zFd6W;8*$!u4*!nuE3z4KM}gT$vDoV5O}{-}O{aS;YsY6I^f|3K;8)Mr+want zW=Kns10`W)I8*pP$4OG1&%2BC(x2NtZRIik^F6ZbiH=K@=lX3+h%$I{+AgT;V}0I}heOQ(LR?zSsdrWC{A0%)ojA|?_f z*hs2d&t?(q5&gMNzcvLcma_CRD6pkz_OtFscbv8XREW);i7qAhCK-M_7xbo!j7thN zyO6Y{p4u1Qk=g#lt%gVJ?W>N1BV1F4<;lUzb6ni|J>V>$^>{VU95`I{&lxPOPg{wm zOa{Ad2e3N^0+Tsx!V+M6D!uHRpWlnr_C>c-=*YiBpbqEHepP5MApgCEs|$5(!R3m> zu02LmYS!08_sWzVx`T(uB6p@eFzCoRKVPDk@I27kWUtZQsmg7o@RX2h0taUyB9XA7 zQoON7W7Nb%4K(NLI2{4E9}RUbVNCof{nXd0R*-8e?{$th{~a7;cHmi;6^AUUWqp=I zxO*gxjr9LY*|gMc&0P6#yx8Ql?zR_=_8k@PO)@mjvXjh7gl5Zys3)lu8=bd%i@rW_ zcXMaICF5sym`J*?b>@zURPOsFH6CU@?mLNuKN)vFXo1H;mG01pZ^+GzjIoQv@C~II zHBjg|G~yyG{CNK;AH{GjK>CB-DDC)|*2suu4+;g?642u<@Qqa}f@(=!p}+q--nNKY zGWq!_rrDvR!|`KIrM*)inpCSIkH5}R8>?MMmybEz4_5T{8;L(Rtdl2hU%RGA(ZA?j za_Rli%AN`jDVS(Gr&sBXn)NEDbVNoSZ>HEZh=@c4V8MW=QTX53@h_owi06qa>_e+r zZO>tiIQHEKC*#Zqfoe6-c-Y$x3l|2I96=%V$1M)ux+8O1$|Um%fe!z9J9T_#jYpxy zhAB?;K|;*Gnxliidr&b)UqBV&Ll338K6IK&#YAJ_1|&Pu<+6iaDrL#(y*!K;8@B~l zsqY{=PLU#dJ*0ZoifR=fq0@2?T9%gir_#B>!~}L_k=auCqk?j5B@2o&Ij0ys(kUp zjC~)3&21iDt08Lg&S;$D+@6+KL^YOC^jfo65bWDsdqSPOp>F>D+sTtJ;HIh*`jvZ z)x&fV1b?fPgd+{3|I%7GHp6G`X)PkQ z-aI)Ccn>RU8t$rOMWf}nh}tE7;7AXNu^(7GB-#Dgg%=5rX`1)HL8A|L_9TvHb&}xE zmQOfSrbtbyhML^^LMwQB)oRr`uE<|k@49;0>o=3e@)ts(lAmxuhY5wx9VFPSs#*A8 zI(y(hr=loC<_@Pzk$MXdCJU$D^IvsyOM_;VdU;hdA7|Gs`#&cOye%;97LuN_-4O`x?*-nFAYjOApu ze-n&n3^J99UKU&hO8%%(wD*`2heRAhF2m#pLzCx(%^ho-F~KB2Mbbc?bh8-=&+l~x zo6cwi3tQxJNQwg@)~kXo)b|0_O6vK&E1ED}$1_P1N>BV$iWW`~TV8al@v^A_pCg=AS|Gqr z#**RCKoE3E`Cpa=(kct!zm~t_emXiibzvXzgD*KaIKYvkNDtk%_jCHZH%+=JXS zhj*p^Kv1Wl6(6%ODpt~x=dEmN<4>&+Ev78eA5YTxw z@qX#0U{GxfM#}o73U>L+dMixC`Q#m20jRWS;>WkPCKpQ7u;G-mec|*xB9pwU=P+Pu zimIIaW=klM{EF;W8A#)^lP9B1{q>JXvkJ~iw_p&vc~$*=n-~YH-gb~?Vi#FU8$?rBo2a_ zKhfeqKxEOruX)_Im~QF79W_)u>7SE@;WnK}i_c2875af*lVUP?CX7+DJ!r=`4^{%njZqKG%px8yDWw4i&@AJ* z#SM<{%5sMuyE|@ar_KYED~#c4T!HDE-jU+4FxBAM;>Mj2RlxLz3x&M3w88*3mhe<( zqvEE?RttE^BL^>(0>}BQIHe-L94y{IcNurfyX3zf8QVbdQh%d9uc^__D?IV8Lb*dE zA9oe@U|mNv)y zEELQBo@NINSxXwgaz4_DwLfl@_4?aUuLL-2Lz8%Pe0G#$|4)SCmU*jKK z09N_i-Gy*v-9Lx%{VG_2*teF*H-OSL@r;$^&GVM8CofAa*;`MbhgMs_P?q0^AyziZ ze(TaH2|E9w-A8RJuStt&xTtHMTC0La`_<J#_X`^ZLb>81FgTodSof(xjJ9jq_X#_*~rhK-;QO??R+?&%-KfL`W>!XgNxEl($G?WV{a z+*02nCkLD^j4FNPtTC>wbDr`x}>s3JKvk zZ4ArHq zN9=-7h{x!Q@6W!Eu#M#3(^vC(1R8B=5O)9*dUa7Ve;}eTo3Rw|;EAW(ckS*;@A_mV z3IBFnSc^KXi-pNZXnhQ_Jloqd;+j&!*dZ|op0WHm1{z9aM+!^xLTdl~%67X#YlB)E zsj-G+zG{78|F*5bHRTt{;^t$*^U+SbRSh!Wu=};mg1g+DBhTLa&w`^!YkW*Sh`>{P zo7`v2zWX&(+U=cQC?Os@@JU8KVkiOT7&xcvX~8>)h_nh9v$i|L;wNa#!u^ZX-sPyx zvBkE`kk*=opGrK`q3u)M%Z_kQA`4tHGg~b|Rk37Qz1qhB~iD@|}XSPu&O@0k}m4 zA3Ou*h0XON+U&oBo=!4fHANW#XYGX^^1;5tIiA(_@|N7jj&7+ZEH7~yw0y`f*$&D- z%hI!M=NUIEki>4hmywrqEA$d6La|uNrOFIh!?@POuV>`{#b@WRalP5t>P}RL{Evux zL4V|Fj+>T$Xk;gbR_F7Xl)ez11 zOJkbsA)n^XO4nW#DR`f_Jkq=HV^Cxl@j*cCk7$`&9DDpToe zMjJbn)m4HQ!ct`s5^@y1k8p*X(&-SmuDR(hG-Asqhps#(-Dx5_E;Ja4g(3+3@t%UjCKB&cleY4XA+wHPHuf47y6 z_b7*F+l|w+WL8%;dG?pLrQcVXm7vWxb2VVwlM;lp#$Gy_g(&}9( z4bLe#k_87Nt&ukDWd*nLZ})>F;d2;g6D-O}L5S zkE;f~Ncq50M_qiGnQ3UNKhJ!3`BosoTyH4RX$H%6wp6ubS`V zqt>OstFsVU2!C&BZT>Q`y;`rM!+~X-Pn`P5GynxpAjE_%^>|DpC&`hij9l3-cS$s+ zo!f@Ked8vxX=)TSzJn&2S*ea|LpEW08^ySCUA{A(fx1RFP~K)gzJgPWeR!Ad!uw?^I+Ug zKmP8YcAuLO;a@({FS9wAmwG>Ns+ro}o{MgNV###$txfQ>vs$1MEN6p^2GbvihgR~Lh)z%t(X&>BBwYcWw*hIIZ$uvJJHdQdq z96L}Wl(HD|>MO-@#`PB&advw~?;ot@bvV>8nP%%uAmsg0b&R&tLcV(y+f^$3UR4z;o~wO`8lvFEpz49Ue^VR>2puvSJa0Nc5fMs#fVmf z5TL_Qxt~7wZ&TA{SjECw7@ZV#IbSLyEL(9n=z$Q#+m7RFl9SGzli>rjI=hAN9Iiqu zqe7E;r7%M;xlw_uQ;vLJfIq=DDU)+N0b+l~On^9pn0)Xw~>A z3iec=_k#dh^CVb7ElD}>D^U~rD{7XKxib@R;S{V#(E7^0Bs%nFw`M&<^lO;*H&2&G z<=#$>b@a&#y=p`C4be{bsD+Fh#`MtwKHM%d=i}?equnM7s;a9t`RR|ADtIr9Ls$B1 z)>kDn-tsj!<36+xK7wuv0MJmg=89>h1c8DzT3s7i{?v0EK1@pLr_a5&j%L3#0S(Uo zf+I8y*|5&w2XA1eY`_>=RrM;=S$r%!e~52{FXOWU*e7rXFnEi zQ7W4n&!}D}g^)mH0-SV3IAY|m9b1}R`q3!feUd%L_?}LhLUExF(ufxIqp523U4=im z+pS&G(ezW50S9Nw=f;59FP;m4gE*iAUTXm}@9WepZu)OfOG{gZO3O%sbI=>3+<<2j zE~=<1;9}T=?F(BOEBsSQ<9qL*mSg25Es`+^m*<_QnE`P~(-WvGcS; z{3qJh*4E0(@3_mPjH%gh&bXO#;o=09_odF5*%_sQc}>~CwV8_53pz)eYW5{R|KvX( zcWkO^`U488e5B@h(>!0VtZITZgKD)`sOoF?;Z%=_n1f#usd%A~q2s^)mZ99^wy$$9OHNDz-d_<;i9#2x&=bS<_~Jgp|I0;m&OX8>*=I z8@JAkb1X*QQZGO!loE7J@v4UTqJ;1{VXr=BdvVsN62v)GHm~%TCfod42+FQeLA>lO zYuu!nmoE+;8)(kbnf^gm_aRq>p>Ef=*q|%_J*W|5LD3TW2cP~ne3F=YHoFgf&*a8l zS@)iBEJ%12(}uXKbnR`mDH1yk6@gfhwjvyujy6RTDY4q@z}Q_BtSgvKX6J_RZoXlS z%L+*C?&e6IVpice3-G~wH!9*T39t$aypxq~8Z~{v`=ymJTa>}=!0=YK0ljfe8hz8F z9bk@J$VyIMmgaZ6*$HBI!4$<}9$^wv*@LDHb=1+E?6H5@#1ag#yu)BjGC27u_{8^d z-83OyVabo(I=jTqxl3?yhC4>L=Lv@M5=bmU`1QG0S-UfRl03J%K7{K3g%xF)@{xd= z9Yj>^CQgeg!=LMVZOHsrVTU2eyfX(QtInU^vWB08w3W#|wK$Ol`JX>ieQB9I zJs^FRL&DUpLy_~0`D=?iURz|oQbcbUy2C5eRoFS7YH8=~EzCv58(m~`ziy+VqIX_1 zk(WTc1?~d1JQVPDK#B&o`+9&&m3-oIb$ViUp~qx7VO9zfJCIjyZ*ZiG20{ukc6G z+f!ky$hovzVBMa0#e2_K`eI*Z6l=|9X7;@+UqJ41wVIed5e^$MZWsYN?dJU}=?+cL&YtNA z<}yPIrB{0`lr=?vc}VE?FN(|EGF^A2m^Bc)pxyCP6SlM}*oUWLLXD4tA{FoKfeTpp z?-(a1r*V#NuxC+CM0&Vm`UwDf0_wnN_#p?-;2u$VAEMPVuH`A$!-`e7LBqCVlWCcM zoPn#+LLLfN8#sto@~A3?nT;hR7?%9?dzpNxBrM1eRh=m3RUn7YY)daUl#$XE5U_!+ z&8r~jJf9faCAE|7J{omaD^oOY#q7M}jrOPg)o-L6@PVssa*~Fuw{dO0@SeFmk)Ufr z(#oisnbwPs*jKdJ?|F&2K4Ks80gGo_e}k1emsR)@TNVba&!&G5{E* z2sccaxeVha^8uFWLW>R3&Td3&Z5j^8touac1ef~n_H*8D`ME_NvFFCUnap8me-qTJ zD1JM6Vr}CpU!MUzd-kxAA0iODlF>97G38SssfV;1IR2$`ltl6t8;zZ9k7VK>yfdHI ze1T`|Z3MLBCJGicl7d;DL4b}fzR}*~aq`&Qk7sj<{-TyY>7lGj-QG?uOGED+OWtI- z)e67;w-#~PK@TVd4UM_AD-r=UBt;nw^uOMhG-OtJ@pX5Kns}oXy})v1w|5(T&%M;r zcHop~v{Yx>+xa<@h;=>-_LWg~jdMvEsM#sOgPM-0d_cF}klD7hqmowYAF_I+d-G{m z3;jDURChr3Lvq7pt2NZc3lVB{iXEE>!6OE)CM;NC`p$K#l&)-Sx7gQ&2g(8%jS`g- zVf^#{Zb(VE6t$(`?zwrt9K~*xvl{>uRAHv20qed6h%Dx!wq;j?y+;YK{3Xw3V5LR5 zHITDvx1`de5+MVxs>01YB0^In(HH!*3{Mfr4hcmNg7k$^iCcHX@bg3vPxlr zp8p?O#Qo0JVCAy6U1+V$jGZq|J5NH2Iis!t?7UdAlW*rh;#{Tl-LsOGS#S7qHhSB6 z%O@<0h7maLqjtN#EuiS8Zz5IFy-CII&Q=vW00rt(=R|IEdQ0I11>CNlmd7pKB~Qs` zUJuiWh{^xG7t}(R&omcr-HDHSxwPeYayvTTovLT7-&ef!)63O809N$U<V-#fpkV+zCnH9g7aYYWguFcgl;^){bVz62-0X&tGK8d6K+YH*xpMebKMsS^a-W zJNYGhO-?#_gtG%)@=G3BB`c99;U48PmDg_R_gDR!ON95z%1vh~I%R!t)lFo-`dt#QS3zei);_g;cfZk5!(;PCs~63(I9Nl=etIK^_*6eEOtV<{ zMEN@$xsU;!EUTL)CuL^@=W zcA_5G`92)B$qcqpq93Z6cJ0mV790l8w&U@cGf64}Ejuj*{}U@8{|gJp6uNnq#O(VX zn`Zt}ta0j4V9=SbOw0$2yfdRyx~ErwUToCiX4QivkGXW${T+*AU@=CnraRS8X6N*| zDIGC}V>oZhe=}WwEZdKFP-G%A;Mqd--j=T&h1}lWXE%1``la&;7@!HKeYl&|+x2v+ zg4sxCmJ9^@W$b{*IwT1LCqS|Qd1LvUt*gkPbQT0A6#2or}Fn^`;{7cxMDZ) z3QNTs&iy8OjnmO4P@-4&x9z!n+q*xJP4&#qYE;DB)?v#}(#b@}yj?yvzOLE#Q`Lx4*4lGImt63EDW4D z_;+z{B_La?nHZ$bL>g^4_sZInMv-wX`NW+FJBrYcT^gOv44zWJWypj(_)y36|HexW z_Yq(pZ!d)9FA-NX`CeDpNE$nL?by;8Yj|fwOfr;n~Gk1rm$qMcF zQO!Ra(S{^r0Nb7$=xb&ziMVjZrRvtOaKeAI0P)Aq@1y*G9PI@H-6{yqoTHlu;7gx^I^13^E`4LVQ{!~Z znyjQ=i><)srgi1tT2lLj_xrEYUfyMM`l3|l9L%i- zoJ^Bjvrp3%9yYCmP0idSnSs|A3tPNlJYv(e|0BBViwbaEJc;UqbgT70R?S%kR=!nl zwj#A(jOCV0bwt0FM<=a%C_YH{dfjojSc6ZNHXk&k3XTtdefeAIpTF>X2}_Zwsc&35 z4(6F#p6--t)PNR`KI&SggEebwf(rLokoMVOQsxvhxO^s$59jV;I;N6uA>o+@IJGCy zT<4Xp75w_u-)|Y0GI6x$*a0+fVR${`94MpY9E?UHhc(guT~bxC5Imv3Z9V zLm(oia!fA#dLu=c!x*UnIpw>|==#0=-Me=0EDZTsCP+k-yql(IQaCS6JEIsE9izEB z*j4xG)`FTje$w(C#?&(v)&tS~SNlYhw>!M&d^nLLo#vd?TV8>8sIlFNZ0S+?DXyCG zD=eopob@LE%qHg?Xu9QSOXnCtnW9o3pB>wYmbW{rCSIb9Xt{3rc%ei~Jn5I_GvPlu z*QRvsQERwtxumfDzYEK_@m%8Cen#R(x5ay4Uk`Q%K;v!RNKu!cYfyZ!w|t#sAPO)( z3Mb8Y`QXM|-nO~M^tWZYPk`ZAHZB$`7(Xw&VAit)ut~MNs?^WMHoKGL36M1#eQtJN z4ST6!=>>PfrNoA@Nt3D+8Q5w;vJ(B}MfQeJ!#HICGX~8Y{+WKM*9bd_+bwZ$HEzvg z?ca^twLcl@yErfT^-4cKI|L;=Q`vgzs`MI1ct5|3U+hfI?qE-Pe7rgcx;xqRbEdsl zu(K;R>m~SS=g-+Sjn|x@{&vO&OC7tpY${tU!}2v)nlah=LyQBS0Mgj%ZEM<9K!E9& z_N#eJNABEL1H%OPzr^Qw`c~B|abjUoR+ORab0D=?NtX43cg)s{?9q>3twqd`GpV3u z`X^D!qJ*AQk*?9h^+!H`$g>07Kl|?^ky#s|aeR0k($N)AD`?T&^h!S( zr2+Y#+CY6Pibjs`%}Z~%t{lj&`=qLwuHM&LIU3Pat)~faUo1o)mGZCMEXcb|v3YP_ zOy)6?QGF6)Y9E2Zm8h7`-_NjV%{d1u@}Jfap`;sOV!;|Ecfi@D&I#4FBt{J9^f|T& zE+p?SKh5!(5ELJ4kZOu^?!~g%)^(1wSR>PJmGx_}$EPHJ*0%kDd85d5%k_ zV1DIGb>(D}k7f;yL< zhGN30!JeM-RNX5^7~u;_ohoMB_r+1KhHV4cPhRb}njqW1^Mw3jJe%)$uNqGG>10HM zxPlaEcLQ%0yp%e4hudh4`tK+Bc2>4Whj}zz`R9$GBFBIbtDACFuRiza!a%Ud%pL~U zg4;k7VSd9%_7?bQaV43~7f2GK(esHEiMpn=oYr^sEWcVgXn;XV^f;7nAO3&Ew#Qcz zf%WlUN~=Eii4bnMT3nLk!TOm3JkfMuvt`BSzJD4#CBgD}^V&cJnzP#TqST4aR+dv@ zA%xSQ&d?;YDIcFLO=%a@tm%MC&vzv9%2&`dZp;y0D)V(qbB7G@g{gTjf2hlZZPzb{uK}OMP9**nzb63SnjKrhuA|*g z{M5CXwVr5iMgPs)Uq_>1Al6f@t>uWenD_chev%*Zt_;0#LB_g~0?50QUtt$q0%Gwz z5GaNC3KE*Q=W|;+Ml~DuF#&JOqnG-yU89|M3zlGH+WMy(+0)jci)820`{~Pk9-=FF zMn!o-vQEfq{fxTQNtoJ~aw$L~0P4Te`^D{cW)skJDg5OPD5H( zm1^tJP%w*xezPUbq7orKJ;|De{P7GU(MZq1l3;e zZ*E`l@o!FA2vC14uFoK<||DthH`U5*lER4s~NQ&Pz=pOWpb7)`_ z@c&-G{QAyi;cTl^6RUBnoHxLj)TLe+68dY{i#|Jk8k`YHNw&dP`dL5AvNXQ>!ZY>h z%V&s0NmxeWpC_DpSH1#X5Lv14(1*?;rDWnEIdC1#I8-F_JOWZ?&B!L`}R+^yY+4vo4KCW7~rRd=){dYwg+U=cJN z?x!h>J~tu!s_%z^7LHrR4}cWNEf?~7$I+T^np-wC+{igq>V~K$R+{4uLvo`#DQ#W} z0lkzxDYiwBW8rTQZLu8ty3ZSCzxX~)E4dgI&qvA~qg zfT*Y|!NP>6_f61;5&ETjD)&%Mj=(U$aLyg6ZD@b;fQ34*d12E2KfJE$c@2k>Qa&mn zfU9R~>-EgK$ywgg(z+|b4`$Qz_~utjc=tEPE}Yo4oMO(HmGOgBF~%pE&S%PY_0YRcStUu2k^%216woo;%@y@;V$)rY?I$TErsU~ zvdJhpKla-$Uhp+(_c^Wi$BVY(lV(%#=dRBbS4o!nYbbV1QvVZ{H!N#(F-(m|`rXwr z@ym}{^>pdUZmF_TTw4eCYtkwSy6}{G5P;soND6V9oY(s~&|<5I-_7rZ8Tr}Vp@w$s9m1Q@e%Uvnd?UN^ zdbsqRBy>mVbSAV9C8K+h)l!;W2%C?caBTW@-HKRQfgwypdM0UQSPR1tEh7&SF#^Y5 zDmv2HxDXO^`Bc9Gthf>xY|c6k6^_vLk?oBzG~&HL*DYC`H)yFRiuFRz@DCTd%`vQK z+;G$UAw0^ZyGK|Fw2<S?I*IeY%Gy^beD*i^@{$p2^Plfrl-I-Nx`u#U zF83wH8&g-Q_1+MEQExz{T&wsCvw4;FWMn;A4kmT#w)*hJPV=zNjy&iJ&C3_l!hAI{ z%l&5YxBDIyj1RU@b)o)^FqLx{Teg~{PCop^HB_^xp)%Im-@biI0lx?Ws+IYpC-Hk? zW6%tSGh=Px>%ue|-Q>a48{n=n+HxvJ9!B@9&-kU9Zd0fB8*eD>@^)7`H>foh1#Spu zE`Qmm`QXU!fP}Z+HG}GVaOU)>3pIDS&7B>sy*r;sew`UVvUYfUWMH#am&rn~q>5kX z+osj3P<%vj#79mPKkykZrg3%nwYbLfQF?FxD%vNc^S_#c{6f?2|LWwD^sarllB`~lae|XGidk( z3X6Y<$n|PDzsY{J9MlcX`uPxVTL?4kCUyKa$ew`@o<0u?{(|HRfRpf>%=2b?(#STI zdTMsUqn0J3Q;nVyQGdr-{n%4kT!!1kp4Qi?E)ogRX+EDe%uiC5Ga`_40YBCa?=7}| zsY}Z4S@l)kSe*YcKpJl0q>{~>R_kKk1Jv=N`NMa)4~0L1?&u(4hlLb#A-+2#jNi^i z-Qy38N1_nR>hKc#{n-xLOWzYi+3^TjH%)7iq}0UNbQ-%+Z>mq%5&Q@)TR9!BY_W47 z?f92Szl5JlhJ7aW~?FCzt1vNA}R?8h-RG$D(w>?Q9?a!+RXX|%#_*8l|^7$)k zk)6eEzn|8HXq=lrC1c>&Y3{qTLDJaTS~^|~xWHqcnH-2l$S~{-#cS;lVrtp5v(b%H z93-C;dH%R&tq1+p5=kNsTZMhG6uA*zK1d5=w%nG>t0h);dxV_$=A6xl-&sTW23a*1 zxHj?Fm}VA+gsL7k#9bMw@RznLI&=Ft-O*X}D^k{q=wam?p!qnVN-=Vlh+x+C%B*9e^%&D!|&it}XU{6&y0mW=48)6I!>D%d4luQYaP+Da5d+oDlQs3)zeabRf^Dws!Pj zxSUjbsoouZJgB>X_gfrtPIK8SM7M6m&>0J6SZQM4P$(HI8Y=!5-E&U$d`eUWyc{$` zS%jzybU!l^qDO zNRBUtYKT#304^qI(*B7bolk7=|qcuD*WM{)i8mQ%?Fd-Xp5R-A*THnM;wyl zO~*pGx=Jo`{0&>qnLMC@R39 znz%~cIsXG1>8qRotYWty>6eetMVwH2<~h-X3kpSTCh3jAyzXuttQkux*0InGHyd|G z(u+VaHr9G*K2l#VC-~l<39`Pu;o^FFf)OhR%EYD&)j|~&vO$vhVGUl#M4+hLBDZi- zlaKp5iV=@UYRc>BR=mC%oe>iWew;eRPi~D;*HB5$Z zqD8ThX}JHD9El&4IC#5ODIgi4_E7MB>ZSH|`bda~QMA4&P#Ntooq6;7_`UM+v4O7S zs-sem8kw&3s6V5~XT&(ke%%$0Pdr@JCReFP3NWk&U!2(YxT#@I=D6m3|^G07`~$G?ZQT{FHIBY_f+IX&T%^5=Vl$qZpSq55uJ%kKs|=YGm* z^gzXQ6*AO0(^=q4bjk&GI6Z5voYD58?#-B>mOX7roi`c@&yRWV+m@R83{~Ze{dwm} z4L(Rh(?{zH-E0k*cu?fcg8wr7WwP=!J|ia7Ydh|LSgCgM{{bCF87`$r!P6_lND|=4 z+~UXj%S_-bF?Ov$m&59NML5)8JC`yb)0aP*G^d)Q1g(}!hQM;6w^(Fi$ARjNIGQ5P zme+AKS1RuJ<=oF8e@W<>>m1{)2mcY}P14CDg1R$5;wqFue~cc6+{~AR+9}zi42|RR z-btpWX~t?~`!=?Og)tD>5bLW0+G5f+4!g``vA@mY$3-x5HO93KdQ$+^k)iSOUx}Di6Z)38kOgf?@MLia&&q$G<&LCN8Pi$ zOhIt?-npG>X5zE|B+qE~Ky1U~MmX-{&q;&*X0$!v*x{={IKQQ4c6{Mfy*9Lj0Kjl> zK@{$4e7~5~NDSd=Y90pxVUpgI1Mw0k6es~zD>i3)fU6K~`TiG3ax=x)RS(z(O=NDE z$)P89!g20KK&S5U?}FAD{i5>1Ph(#=|2^D(i!*}@dSAT_v+L=xllk6oTEWKdZ{NIYeQN-I0?goi36dEeD6b-a|@(;x7wrPGWR5TI&fjTLXT+s|%;4P4F&jn29_Q;33U;hC|5L?3H z_CM^J)mN3v26wZ8rUJi2%*^^Hue6P=dG5)Y8cXlg&6VYoovF}+^|KEf7WH2{U;tu~ z{=YEk>;$zlPj9gSw`&Z0)KGn9T?5NQf6l_MJ9rRR3127UB^A7mAu(KFtBnt?3gt6U z`L?Di^;|?fIB{0!-Scc%O2X#KP}(*f_!A*vwDrGi7Ab9=Ue=`xD-AphmZDBZzeV`n zEH2EeIQnKQr;gDAnhF`RpjCh&Z zjKQ!1Q=Xf+{uPYBT-uq69q+GaL|~yh%cHr^_O?F}>WzTcxQGHUULtt_FJizNb**YD zAl`TQPK6Y3!>j56wLnCw!t9}Jw&8<(Zp068;_Jh!1#pzak!vXz_RH zT8brC+^M~s(eNALe6AKz`btUUtL4fiK*sTL@+>vE7pQylI{`yDF>0ec4VKr9F#;~( ziF#B}F0WK}zTdEi(rCoT z-b&9`%Y1X|W^V>9SjGm{ODjgA6$A2Yzb)`%4PqFlWoBn*lOa8CCe-%)tAA1B2vo|s zKe#HtRmzf;k&Rn?K*svF&CO^`fSChH{ zmw7o-QAX3R$4vM}>b`q1Qc?doy}hj=jCZ=W=Xiq8n_~)D&^HaMth)|!QSDXon*|Oa zZ?(`_;z0;1PCYBQVw#FjrOhXs0%63s-KDsp8Mo#ERdDOiVXy7Kv()wYFC2AJpfY}@ zKt0lz#Ow!x1P=1ApsKpq3({=ZvWf2Qk7ym;+Ry!NmdUJ!DSjed|dIpb$>rkLG~iTQ9r z{lulK>Oh*Z%=^$#@V^9HM+#Xg3rI@N;E#&ms>d^eRoqkQ)TC`_)82^*7ZmUYyv!cV)a>lw{dVRLbmZlRtMooyDBE3c zZY%BF?A#h>OjuqCV+3z)ko

    yK}pe(gmBtUoDb%95Si_eV4h6GTEN&%hp!GtWE(x zktWqAXzyD{D?0BYG}PC;!q_b2EvwTU*1JWkLnrO|<5W(l9R<(B7~bR)-BnG?n; z?4_<7zMqdx8xs_;6a7Lyc-iLuN@??b3BT{mh)1gX`A+19V1V=g-E_!bOy>^a1~;!M zek&Yi=mJ!yztUTsia=EPaynAm(n6VX5f)W)r)V|1YkMSi7CX1v&}`lOcj+LPp&R*= z@usO;+@XqJbhhz`ML#3nL@r7*S`#j(B_v)Pp;8{Np>Q{uY{_XFs<9lbslf!w!hrEL z?J4C-C>)S{luu0f`gWu|(Vp75T>(;>vrSppOHBe{xO=sZFua;!3K;nf!y5kZf*>(L$FEyZPT zGhPzVloPxPRg|eS6+#9qPqB9elopR;6+?@Np3G_b_6b1Adz|UTn_69!`(>ZLw4#UsIG zhiZUlAK6da-X=O52tAMymTr=YR8-ZA;Gw#*tRTwMSVoha-0ixb{FibJ9Gb^`w9INg zdH9MHD%F(b6_*@yR04DgYiqi_Q0{+q5$GMy%~AcB@^25}w6sw99DUU3sP+}yg|jk1 z!!OXf9D`OA(bv56Y@bRmZnPzVrF(?G-JG`VbhZG0t{muNBZ_qut*XcuFmwQpdcXB& z21-BOt8u!;8vtO`b5(jDH6|I@U;b4$#W{wT}aC*+@S_ z^1eHLpduV4K~`3y8-jNem@OoMtKTqNYOqIry6x7~OElpP&^G7*p!60&iGAS>X)yLk`M>3<4*~IVr9*7=Q*-GCUcd2m6DlqHgl;J^p3fdbQ= z;)D4-JJF;>fnU;RT=11T9Hi@ARRyUHia*3R0lHeFLl65Tv$a6s{^f+sfp z=Clvn>?&`hh@7^?Fy8V|AW(y(z3DeZk!DlM1vAszaKb68T5 z!28`WC-L<`&Q;;`P;|x_tYf29?X~HAxy)aJVCBuY@bc1spnZnQ!X|&7u8ks%lXm_- zntn_$Fi;HSL+$6J1==dMPYL{Umqu6RUM^3EcpyUuMr4x9D8h8#BcGf`nkaFaOeT`> z>mgBASFET#P;>M{key-PlXm{oO?tMx#&OL+c4E`H%yQJp!98=dw&^jXZA`Q?%uxn% zosclVMyNlJ4QFu_!mI4BOG8!iC9FTvnN9%S+WLCM3@sq1=exkVK4GDWV5H^-8P-4l zy{U~!V><4ma+LKyARO{EAF)D^e1aKcGW_CerTZ)S-_geiN*ZJ5hKn`#9J4{3KapoW zR?@$E%|J2ZZC1y! zQsq2W;nQV8W5WV?wf?sGsuU71E40rS~4ozV06`5iRs-Z45%BP{c#378)rLMEjZxAK_NFs z-8$xGoaIF}rZ#q_^w}u`DRPqX@QEM#fW0b79;R5_5X;Ac{l8K)$lZ@auzi}Ki;>TW zOUxB!%lL0blCj(Vb1;R;FhkVzgS3u`^10q32xIQ#TwK6@kj8LW$-&;>E3qMjq=?Ff zuml4lO2r>*HtzV-$NKAlJ?QVw>YVuViBJg=nq6~ax1ito{JTl=(Ddeme;xsYR|&X( zeC0yeneTCh@YY(0zoV_!Vm+a;0-MJz%+l@;swN@MYbj*hDVL?I2_UMOqB71N%F;TCTex#0#C1a(=2#uBUx*x*4 z4gS@Ig6_9gHiphAWkPFjfon^Rc|k>Z(qXXP#VI$309@9*J|0Zm+>RxMNwuQ4ErHi? z!g?e-^8Dtjmtkn9OHC6^%oidt%gZmdbIxV)J2EEq`zAFOp*!=y0Ap!x$(-Wv{2FlN zvuL&#-z;h9s-7gpc#^Uk-mk|aRBC9iEf*3y6Br!As@mQ1uZh5a>+V-_I~So^un4ny z$lQw!^I=6MR0M*t3Zj<2`RX+;d940ks`zHdH6Y{{mO3MbC{xE)b-#B zxwaKTp#7nvTeEn1T7qf5u4Wm#SjG*j`e-T3dDZBO40K?XR99Nj+v@2dN_^ubbM@DnDTFXBa9XpoG;El0|2(7XDn`X=U!adp6IDd}m;0c5C)_ zM&a7R(wMC8M3{=rv%~NIMk7cuXO?01QESWm5!c&=-Zrx_7V0zf_g#K|%>+Y!Y3PtU z&9H5hpW0~=W>tdpiE5G~n0f3gQz~vCgr2Bd7371n!VxaWZ%TjIJS4xD`cRJe22F2M zk`f-3(kmm9TqD1gF0dy$mThvc<8YaM~Q{`1m(ei&?(DpTADA@_jIRa$TPLu-p!;b4@wf|!DqRd==E@` zq9*10dE77L5aaGI4L+EHx2GFNM|Uc*s?*Tk7ij+cSIJANIIxPJFQ;#Pef=QFHjl8% z{HK)$0q|-wi!e+eyWwEm;%3Wnqim(a4!(jXU5vmruH{zrMs(`N(q#LIuFQ0W7fqEQ z!NB{n#aZ~#SElzSldC>%Tzi9GoTRQR9e!-8>%!HzZG^clDmkfSv9lCi(fjrmz4Ska z@m_cdFR^pH8!V@OqM5xtxljI%+*NB-Nhil|mrLp-Te&TPq;xe)b^wLD`s7V}7t3v~`t*ftYH;3v zOdi!<{2c?nHM_gCYPnms`~Akt@{kvnyDLP@$M+jvBk`Fpx26))C?9F~$+Chg1G(Fa zQ){bfTL1xj-&BD9$ixob^50MDyO^|%zkb`p`SFcN$}+o*v>357i@yM1=vB5nTG!e1 z7|MSnOTRhN*6hUgsa*se_Pn&yqG_amgm5V7E9W0;2;x)A?+SX5`=g_?-!r=5&e{w7 zspVAi9w|)#IJ~nENm=%mkYCdYhzP58{c?>vL#0`!ECl=({=K%r?^RQ4=56TQmyuBG zHSC4ycsfpQC9BBa3Eho`_q)V5-p`ui=~*^Bsnz#CdeTKT%+HtSwKu;EFOPDlR|ch- z`fRwi#4zev%@c1{bDl=-C2;I#g1OQ`v0To-G63fHX@NZkHUL9{~vx z1`I&x1oDKh-`wgZW9CA3O?5;r>ZkrN;vRFEKQ-FuiT5R*pnS2vkJ#QyhUX*49a%90 zB4-DdcQ*DHrR}WW5dK3j7sRncG!?ASXip|{b1QmhN_{t95yNY!3+4NorJJ|V=zP68 z!vTpKx3wLu?1W$%K>T86G%R4O4f2di|@nmG6CKD*u1ttegcLfRT!jn*f66REd21^3HWMem0Dwi5%F zM~gE@H)B#hRmokrFgU-{^4xDOC3J=>rNYFV3~&xs3;Dp_{+w8+4H3P&YNkLSl*oVv z3{RTC+nyD<6>}E>i0rZ7=c5LFDjO27JT>?K6_PZpS>n_ekCtlE)>W;4A6;<|dJAmC z5`GaPt>k(#9uiZB(7Md?=>;@K1SZbsb==W7ZKYE0it>z*X5yDzIf^bGj0YA;rC{fQ z279?C$8>=1IcPnM_~*W6j}km{lRt{wCvwq%2)1>+Q%P2CohzB*nC*=jAzYU#&UzGc zg~(~=F9kEUgW5_p`vJfiVTQ)69H42ROKc8#(4WNjFctQiqj+Fs$8zEkYS1h;f6|^( z2_Q=qI$l3+sk-Z_E%|T5*_;G=AUn46GK=|~hRermDOM&inh5`c%@&CjCSI|M1Bw5k zOchTwf(FhL%A`YxC7gY#{)H6xf}-0FdLtlQ-00t+Ykw|vfSrrebHGN*h1 zgv%hen?Mw9&oPf#2?u#x40@DqTXEZ=QFh?&S1H+d3UQ4ianEEXC*TP1rEyuAo&Ul* z&AtMim;uhPDNejIZAiT$9+%}Cax$j+#+BDbtD`bjSxPgP25@bx7T>u{cs@7QZ=>{} zzH`8`0IOnWx8Wi1^V{&qpSfS@+2mE3@#KZGEe<~)e|5nzlhX1adm^!s0O(ceU~)s6 z@uNq|P{FOF>%tOq%7vixqAm&=I493hZXqY`Jn7-M%RR|EH{ht(aYaY~d7)Y}H!bM< zvpH2ZycXRc*_GL^cv}e0olpMAo^JT10qvn?+5ty&L69i6+geoRauP$$H7}r|{^it< z5QiRJVc~Xa9Maq2Gr81DH%q@3Y`a^%VpkuQi}i8G+DJ0VEgp^vKhmEQTa5Pl&zZ~J zc_!TDTl>j909c8YlDz5q_h6arfpZNMgQALg94LZp-U~hl@A)*K^nJZ-NIDE_>nQi> z`M;t(N|~d>;`;RlcFJsMzU`=y>k+m3mm?v>yTLe1??_C$yW3r*su$=s3uf(CmTbi| zP5ArbEN+mNKiEwnLhTgGPaMs&cD1w5FUkoeq+7xK!77@kggOoxmY0_w&O|9Q;1FR& z)YrLkzzBOnQ0lL#eJwKH&o%v~r1-StD7isU19WsX4VjjY-{|?A%nx)%}!~?00qi#w3OY?AOeLzK6usg1f4N?~JdC z%2AemKo>`RPJQDo_CF|3nxh!ogb*l4gTS#$9=W>rM1)tGuoIZy<98%A|Co-i)>~d2 zsWSN2ncLG(SZ10U{QKt()LHi&kfF~x)Dr>5t= zALHEd0L{6_1@6A%!I*_Am&X@e5+qSJ+i`6vyBDKL z_WW;0jP7fYgOB%OL7GreDQFAxwy5?WO0MJ|h+a3&KQDOZo|sgUkA`r|Xsp?&p-V6% z7GF`x;#3G^&*t?5rCr5MK|wy7aU8SO^(0H*(CH(Zn?>PKQJdy+!C_|oX_n4)mkn&K z+{ONaA6JgJmM6^cwG=eIaHLil8Jr2vABrMSg`yXK22UGI><%Z1bb))~(je&#xi18d zhQV=nJb44-IfXcdcV8qg0$^ji+6HTFtYp-Owh?iGv*@q2?cKvc3aBEhFXYnV^G2B$ zk-ENPkCzowOnkrclmXGR>C}R7@nK1-nL%Ep@wb1_-L0*?)X}PF2B?Aqa>$yc~ z{Dx5PcP8$=q#M)O9j80ouicA+th8THD4#i}{YSN|?~8k!6C*V&Jsf9mC2DNIZn-CE z(o2zk{c||vOc#^Aoof7=JO7nD?X6ZY#b5Sn5x&-cYkCne*Yt{M=A>CVmIxc5oC6Fd3VQ}8#5jF35yNDZ5|r!E zbJgq8h@rSxoz);#&Q392pNOWz?8C>_ujj!BpEQ)mBzL}fR{7fcgQx#@rNbzeN6Yz< z%MqT9dxvP$^=J>Y?)+3_7*Vg_%-CKhB|%*n+r~jK8j^IJ#C~<%O{0PMoc@H=Yj*)p zpVT)XYk?&E?e}Z?l1|BJMUAPk*(_F!F7eTCPE}65>L-O;p8MUR#R87L$dTubO(c#G=;xs zX3yN0Ipq?-<4*xp(w8z&=&SaL(zDo8>iAiG7AK^U3kMsR9w#9~M?`(V?)1`;htEe^ z_W8(PkZ=_4w{`r26crsgd@{6gNZoRY>DQS;C!HNY=1tCW4QQhM#LdDWV<5+5{dX>P zM^_;wC1HJ$)yxW<0vD#FJxOfCtj6pWw)f&NE08Sd(IKuzm{is0lKG|RNl0f(%Hhm) z{U@JN5}syg6hI$qX~i)PUs1Hl(!DDr);>jiAsK=D5w1o;^@mgTD2Fq zbxglJ?u2o31Rf?yZf9$~|A{_yTVJ#Np02=r4=SHp*uRtvAMq;l{`WMn&(-}Wfq)!O zf8KtA*Fcy-i*-Q{$7tAu2cV3;egv>)xu0TB;YE$lifVr1EHWd*kk9In0*{fAl^Wq5 zn?(dMsP1&o{+|#3_>8}ZMF(Zwlv5PGO|!1HOm+w^gmB@}A`&;;22z$HLITuDGe0M3|7t#){pwTI)U5~%%zpj z%*S@NjP^fU9#py4r;x;Wb;2?werKv|hR#48+jF*KqKp@CaC-eE!h3TOCYFFT1hdbLg$D}#hb9f3yZVV`BQZn!UGp*@}0@QuGV{gij+Pc zp>HhW{^^I_02N}x8x4?lEB;>eeS>r|=WdZZC2ovoeo?~(@G1kT)a6SzN@ix2vX@#< zMwvPmh61`L#lDOIKzrvbfa=|u3+gqd-}#Um6UU`rq0LST za?c^;1V%LE0m8J<44k~NHgD*HpTAa+xVe!lyH_Hr*{QcqLTlB+nToQYgGp~+Uex^J zdiymz$IkW5XfF!*g=Dx2zzRu2V$!zxSHicmEqBHzEO%>>>ob6FJRDJ*u(q+mU!Iy` z^FqgeE8*e!LE%Y=j^ynIcl83JW=|)}`W(}ro7|mP_rGadj2es7jc}g>=YkPxoE931 z&C|~W-_Z)5z3eVItTC5y@XT!PH@h}cOBhdIzCm@Y7xfR(G{MpK*=U2S#9W1T^$ZnW zE14O(%sjM#^b}CUzu%d(v&j!+J8w>&D!`+TEpJT8=Jf{W+9E6-2)pG)RG-a9RRKMB zb|Cbz3uTM(7Dg;IUC|a7pkmXMpmJXWy-LIEE?hZ%J)6CpuW2TB`ka5Z@2RCDDsnU+ zSd69zjF&=d6RJL%&%_KQ0M8U3HF=FZ#wT!C0g|(yRSnn&*Z>s@jSc82EPH$W-tF4+z(;xtHx6axIlnJ2j+q{9&J4%O7Gl@s|FBU>; zZ=%0?Zc_QILJ!z7%2OR+VC#hE-3nl2=z7cZ<^pOwR?*r)h~+vAsqb1uD0inIfqgRD z@x%K8Ac4gA1djggA9EL$-a!N#GA<4 zqKPfyc`CrOmfn7uzpn%=4;(SPOY4F~pe`s=^*~3eevi_?JB8~m1%VX5<^bhE^=kPU zx3d?x@d=6kUCYaWysKVgnYUO{4?7>A?1lyCbkKa8NF1K&W)08NGJhuc zEEcbBtN}2v9wlM3Vq3l}2yzZbH*Z{l$zB+`Fq$YS)Q=?C=3WvV1H_z24;HYwyif+n zu$!-%RDQ0_Yuegr@;q2xWrWg?Yrbjkb$e02e$|!feD?axAugxCGT$EsuNqYBZbuVJ zaEfOxF=EEk#0=yz%2ln%?FpRI;RVoIl#F#DPAmYpMiTiy^D+gaN&9~8jK38o>u_EE zHp!pM%k^57@r;WDACdagAc^g{B#eW>K_AP@sAS;9<=pHs4 zGQl9ldm!CS^3Qo2VeV4a?!*{l24^)(Pdi#vN)adYh$ILj=YJQctWxeNbe$h}jtlo< zbsTugpS9SP+dA?XY$Fpf=V#zP&Kt_ixm&(_k0&*v)L&kxKsolZmTFj&PiUz!b~|5u zncQFs2CakP91ylc8|PjZ44JM;DQ^I6JD>< z9|9j=LO(p_i4qrnO(T3l@bAcpexn1wPxol+F1U=#-~R38)hMQtIM)f)EDLlMoh*3S?szEicmf*8vcUmBRdfKjMwsb z9iDI1dUW66_x=>3AgE6}AToP7R^B>`+utuL>9g1#%(D@dRI-JLEB|N$msO1?LnO+x z;NCZL{92Yuugorjw-cxRT`BZ!VKlxV3p(f7Hwz zCGXzdY2CxeR7eWGcfF-||E0ua+y*IVO40{iw6w1))~@~{N-A!1_UZKJJ9KNlLa4>i zgOzvUhaX6(yOGQ>c^s=VSFV!0kmc|Kp@GDIvzAZT(;6w`TnB?sn&Pn#eT_ z*;X zSyAB1PI^`|H+7#G3&nX}h4%?sLx?7=&&NkO4^ce8O(fyW@$Y2seR-NFC|-;k*{2fl6C9v|oi$YN+I~6iMR3rJuv$8N(jM3ZIY5Gu z`@ zaYHcRAt`BZAS&H`7bg}@H;UUU^?cm@@I58rGdcud3X!hAOn%*if_!Xgjbo{S+kpbg zd%DnsXYN;V7n4rJ48%l9{WENY_wxd(G-(fSaw8rq0R<%d`NXrCT$P&q*~O`7T+kI^+fRkKGnn^dW`+*$MSB7qA4iCW-HkSt0<7BY zHyrzOPxAb`eBS#+F$9EI^v%)N(*%!SpWeu7sSnWvVIjKp%yu!IuYRGaK4pNmB(EOY zG@7ohAm2>}Q(7Vv^5{91fFFiQcu^{d14a5ZuF z7}!_4UFqhlW<(@KK0x1voiUN3g&7Vc{BP4Yb;g{ta>%A~hW zdA~JYB~7_FEFz8;wuePXx-Vl$Jl3WxEfaXGRu{|~_618v`J9%M-pq!JJ=thcF@ zlLg)keI^klAug0}vRY+uPSW;=(hr1XB&Qt;gFQZdb6Hs)}il^GVet=}=Q_9h4-xk_(V2OU=(qpl3bhX)j8sSg@H5r!$ zJM$x0d6m?d8CmUe$DxV1)Xp3O!`~|vSGd?}cTGj?t}H0_zWJ|;bX-YHOyvU2R;4&6 zG8a!xP?rB4Bu8SeeEkSiMj;`#JiU{3tP^>}nK1i)6@c&2Fq%A2Cuq+4J{!ETHEXD! zmosB)YB^B#G+4^|AYm4)BTy*+;?v$$^eqk z#1H*}#d&_LEsE#c(BiF_U7%hqgG3`Ghg&xIq{fE*H;du+F1C5LI_7b6+4%dCq^5$H z?TuxmN)`%Niau5+^@Gm`CN){?klRK);!IuvYjdUD?n%*M?P;e(-m$#TkV`rPRIiUL z)|DJZ|6ffF9!a5ftj9D%vD&Z=FQ?P@O8g!7{bAD^%VOul2ZhSIGZ+c+clq?lP@*F@ z;GTp!;abv9(P+~Pmb>H&b!BB~JIaX-su z3uT9Ft1PP`GT|GBxsX!t=H}H`D{S;Ea%A|$=&!}H-8I((=QUbOJ$`46wlDU!d-)>g zrscR1&P7>PbZ#PjwQ;07|E3_-qQ)X^rw<1H>b!#}z@@tx#(3z*U15z1kf{c9=>{KX zW~=nWm>iqk3UzwRy{@y^uba^h7t~!KH}#xIiK!Mt!SU-W72@lE=~3wA&B5gQC+Tc9kFV_Zm3h`s zs;jm=d7bH}o&%7bHv+ffZ^JBp2YsqHIj`6!sgeYvt2t|e#hTo%Cb53lynACC8j$nVIGlX63x_DpwE{#=sBhSjM1%o)=b)HMYmNHCOe$%AE;3LF&o+4r|~>2 zPw9+W!C5`Dq{6%R_k4tww~{rBNIc3kADq3_;@$c7OR0&!>G{R=bVn-g(f6b;C=ZmC#p5ED)p1pcwAAhMsWT-ZZHjDzC9V-uJWV@la>%s zr!U`IVzW>`n#AXb!ld7nmKpUH%0=D#RWz2TWoE@lZC8oXGsj#+4z>L`n3axCTg!{G zAp#hDm^1f}CyO;@sP>X*bP}s}7`(7dDgzL3;RtUF3)#iXUdvr52f{Rs&fZuioTxmM z+lNq9u$G(&hV(+tLeJjZ;Q4iydKW|}!{ro{!aROEUBm30ZC-Ark*X_#vX_%UdN z2B`VURw})a_iyj%R!`e1+v^(^a}HIAyo<--+6c%GXH>J{OUwc9s>_x3VK;f)mHB9_ zHsy_>T4Yn5(dnh(JJ52e;?<7l^0sDG`IHgEIz#z^jVDdb>k*;s(aa5 zEoUa-7Z69VkH52DUB#q-A_T}R0^W?RFJ3(M!sI$N+~Uxug~*dg6O|c5TFm$-Xt9jS zV~0?&TPNRz5cWq$8Cy976zjCzkOTnwYx6m-SJhTYWo0qry^P6qdCUL26MYXB&6M=U ztMu9pH^R;-9~GNmI`_>m65#!l`Yze!D%fAiCeIFmt51}%`5s8IUc;VQ{quN{M>Adx z%RoJwOZHfZudz(A+};c4@=uu$a1#o3u65aQtEQ<}neG3Nt#c1&`j7kn971xKs76kk zQme3`awdn!Ij3sQM6sMj%rSCG4kf3YDrb!jW;x6uLSLtH*yJ$eFq#>L#T@R>@B00D z-}5Kec3rORv(M}OdOjZyGN}hoZTJAy2O6Ie-NH9r1=fC|?tJmMCjp#03dUXOBh=Sh~sEZ$N}SG4rk^xaH9vbfo8B(Qs%R%7Sht10I%=WJ3fUV@Q*wMkD$CcvhdHctrWo1Koqp_OOTT$(fcj{kHejo3VnHrL;xzjy{Z;^z7Q z*5h%t$UG=|!3jE?Q*zEpiM$T@l9Fs;HJjs0K`{=IUzbSSTu z*GP9#yK@x`@E>s=m-~3lMi9!uyzB!%3-n6b+ii?pb!_x>Jaw<44DLtX zLrKGTbDsif+v(}&UKugf@c0RD`0HG)h`sTh*9#fC!J#Q9)49RCS1Pmp1n-(O*M&JE zzbmId?ju}P7K|Ac$^Qj`e{ZQ>OS}C|S>(=XS%#f))zxmD_y7n1{kjcF{-Y8coE+

    4&qzio1%3eH7g7QJT1C}{&(i214BrOS#8kzF_laW=p^3Da* zkM9?zL-T_2Jv*88mq98|q07GBQ=}|)P_EcXny)s;M|$7MJP;_!2qH1{B6f63^LPO} z-MA_Lb+>-TQ=yDb`B~u&$-K43ufGwgEcEzM7vc9hD+k){8)^WQ*b}RHV!kzIv1qba zpj|VW_p~3~{XZyFQ~#er#jJ(#C6zaD&xLfFqYu>I{+IWA3Ktr|G@-rB_@RC)kK=?8 zRQS0O7??_v*OmF2=R6(n(8T7`l1TJc*-1KE=->2aMkr`lAPFdWmhmK&Wl2P|vQqTB zrcA1^IKqTvW;m5VcR4Y!c;a1XDwsjOHjV~N?Q}w1XDj*!pu@&-fz&r@vfR9zuhd`m zSZWad9s2zPv8nAP{i`fT%yjA)O6Hx&NOO%BDSLUky3E_NK?$E1HpB-UQli{5BhSKK z>MZ@ORrL#VO#b;RS!cimPRHt2PmE0uBktl+mxYBh8xPjxtgWwyKJnYK{y2piY-F~| ze8`1>^LW_U+H!P5Y)1khdVD;0?We!jk(=|^=CH(&x*}mAp*7aiBxo6g4Cr?7B`s7q*jbg zgcnx;7M}|{bhBsl3Yqh+WG|~~6xs{R@mAjx>KQ`1TBnx+?VUfo=wVPQ(hcSgg;aP! z-0!auluio2$>$79+)(;Jc$-!H36xlvhb3vWr3Xs3s7yN zDN!%xzglTPSCtiZR-q;p0o$3bpJCsn$~eY9nk+L5wsvM{a3OMIaD{Vl!`SF7~^ zu>|F>)uBJrss+}d36QvErqgk_z}r!8F8f;Eeq{dk{@tg4vtGh7K4!l0t~mwzm06G* zBRV}A{sjfOVT<;VisO@{Vrf0M;T2C78f0W;SZu9H(v6Tq5Ja6CgBqI9ywi9*NzolTP zQyIa4jJW1w{2r>6!TtNO%v#+n21-KD*m7^1mTmw2oHt=-0%usl@OMc(PeGlPNuAF^ zb5y`z5S5cTT`vBeCiZN8^1Fsvy%!d~+JxpT8Sdz*_Zff`a4KcRje zKPFMeY6Wh5@uz<#0+su+OY8ywmFcuE5wk`BNGEC%>BaKLXuqg-N>F~dRv`c{MV9Hz z3N7T8M>w01eerL2v^5L+_rw=EceC!cN6LM7z=Z}_fMOusNb^pF;0q0AHkvr`vp~El zMA}nVhv&wWsqWndaebq&ITJw=ZZ74+_BXVno*2WAzu(s2-$0ZFh#T>U>vXx!Y&i4- zE?HUvq(uEv9yGuu4R`wC(weJyZJ!JvT=4ll;qEBvXr#;2sr;Jg*EjJ-@#I$&y)z?Y zeP=w|C+J&k`LxaJ^YwOly?J=DCHpg-u7yg~6DGgyI1lD6w2RYwUYdkf`VMq}%qsvn zZ4!*S`O^*<`sV$$#5I^jCO)qrKto21)7+Z(n_jAiJ)MN{8US!qs2at@bH7G68(ur$ zKVPGEDj!cop-pAD!UbXfqu}i& zs4m_MGO!)e7U+`sk-P@q?Dm9h8Im9;kKjMeSLPz_%@89R3l2#(Ll&s{!26ngi)JoUyW&@?+D34$mR95zmSz7oVX{GFI$?f2{b;+bd4J_|!+y@uHi_j0!(XO2NCMJOV zS7DbuHL>FV%@=E@CkWF^`gZ$|vYtjrEufVBk2hb&k<=qzVUfs4+(mqRNXosL29-$I z1-8^9J)i(B$whD$@K24{-(~FYPj!%5QhIxTGz_=Nu}2*~iM`SK8i=2YB^MVf*u(oG z*@CXi+)UD%;A)H5;^@w!&gfeNi?S)8cmZY8-by{ZuAtBXFQ;kA$M$@TRP0-J1k zD#437L2=dU65^9#e3oZoAK{F$<~Kh4oxpHb;(J^*_7B=viLd_>e9&<3(-~btCW#*w zivUK|_6{x9yYWiRYlGEnQbW~_R=kQ-#XQg(HJ{iIk9-ByJlcX6rYm=KGFBoq9FG?J zLM9QsC(AQn#^1owrD5UW;bP}U&r`0xnLwl|)cKjcj`=8hRse~N@%B3}Jgi}+Uz#wX zSt8yOhXY90`bkLDN~EAg>F?#05QXC%+y?ze~nLa5F8 zhE=nU{4n%D=8~(p>VgMhhVJL5kiHl|n9e<)mfT%Rwmrr3ya9J#jz;x!CP%T11$uyu zN$18cfIRg^`(o?gtr?|JKX-xMQkUeVe>A@KT?3LeAgHk6%i0&^B8eFw0&#oCKQ!p! z^fdpdY*suwSBbd}Pbp}iDX#jl+kb@I627_pjg>%E3+U^|fHy!~hh%;cZh-L6K@a5D zPBt{C4ID-996mD4uD?a6!+lINqOO`rN}2 zi6}Aa>x5}v$KZTQ-|pMwEmRLUSydoTvDTx_+3)c*PX;&$?uHnARYfc~{z%2bo*K=f z&Tus8Y;En{I$j@|C|+oyg>Mr>>u3_dS_C0)z-s}I;D$^(ilpj=Y!`4^-*Rm}8^`y-;; zy(~{YFlb)yT zvl(sAa;UEk?=&S>!@!wru$Or|^2oAff;-n385q`6d>glhO~30~_N$YO$@pocwx-50 ziUF(14}SjsNnzTb-~4b@N>@M6e1=2HD%dFR-^VnsoX-2t^e5CnAZZ~{SJNM=q^4l6 zwB7b(l%JtDCn)%CohgQjv*XkV*&MYov!}z{9JSR>*cQ68yMTtwaWYCz)Lbs!eCkUe zekPG8=JIuQ+4Z~h0_6#BE<(UCvEf+VO7?e=?RMeue*Q)wHgoQpg0rE@|HWh+$|!F8 zd9R4X7O1o5ajdh0c70yg9-WSs_^gH)ol)C9JYv7=ZTQ@SN;o^7xOXsnn`c~AfUNp} z@ILlOCQAbSc=bJVFuk*VHBioT$=zkCiRSU!%Cw>aSlMxamBv)g>0K-Xjc5$Xep^il z04qI|V1ugc6rJL+r16aLK@vv_f^Mzqh=86lJGg0X?~E$jpt3yDi8Y+T0KkbnBi4KO93bT3?|+uy^t=2P;Na z9Ekj2bj?D6$uFe+8D$+#u9rmH*97V%z_4*vNLx!o`P7Qz=+hu%!sLOxV?+vLkuM&m zo2F;1&j-M3YX$%t>T9bve;JICKxc5wxM=RlB8!R^8sVy~0nAjA=ZAk$g_Sprz+7^d zrj#>|>))OWZrmc4GDjk+G4fdc`G=ftvJV^aj9}f&@EJ?~H!t(^d`RP+h;o7b42cqFR;uk7XVkYq-*TcDYN`iFt>UdbsAe%0gK(qs#N1i)?EX$1#`xurAu)nKMZm?-fRPnj5}RG3rXS>tK7mM0fDiRo|mF36cpMs+iDNHQ!7>Q zirH$S{ZP(RtM+VOp7?WKMG1cW)qh`|&g)X9e%bK!R1XQ&L#r!82TjwT|CA{aUxJrb z!pgGTy(|s-O;I!$H>u2Vrv*>OoRQU%j8F@y7WmO9rV30a=Wj~$z*FaKylGOCff7GO z>P_g5qpQn(LB0C*ewZ_CoaeOM^h3-CBKQWw&OL&q2DiIj66;}Gmk~VMJ@>VfjB(Mp zD^DThsfA!|Zg9=F69S9t&n_eN*GiSO#yQ(ryJ^M-rOgbE?8WzC`2R#fS-f5m}M zhOI5r!;vJBnOi72It;SZXDh++g8H+DK}oDu^-Wd-Q?{JTNb4WD`7fK8F5mHFeXVMK zfmf$tDfRi6#lq>DNQqzN`SmXo;(@=%6aSxoxhqSY75C#!IlRloGhSS8BAZ``ZJ9>9 zBvI}K=qHI~+mVf=0^n;=^STh_4T^+_OT+-SYe^?o?n<#eFHHC>AsNt zf|eVF=J0dAjgR^qal-6k%D>FB$~QKHj{`K?oalqigT6_Es8BQEz7puWl}XCl${dpa zmf6v+bMyi5>m~=2S!qIBG-k~1rql!a*U3Nv-dChW%E9Y=cpU+qJ)0=MNuwRGSeMl} zM@BqmW6H-z#~WvV=HVQ4kWJ(Gm-NsYO)jZ|bT8?1=vlCqSr7>iDE0BAZ!7GYRHr0h^UxVNsc$IE!6K4&|)NOCCMkKX5WPJpptCk*l? z0df{L^Irx_6+MQ5z7VcNeFM)ky6+Dn3FPeI^AuAq%Nn~E$o)-9F>)5QXV)QSu;s9Q z(1)p!$iq)%A|2Ivq~+`UEIL70xk<%A_w|mTsq9TE$*<7_!bK}TKNKsk z_e5>LUCg`o(t0>>*GzJ5#;?rP*G^92{bF|kl+ilg6^OcsO}bdP%fu94;zyn@ra?lUdZ138*YZ!3k0!Bu#W z@2aYRZO%z+Kf-<6$4C$?`Jr6ojLtJ5gJvNYe{n|=FTvbBMSfNFY*X!NhYw|Noh>pO zZSwE9jO&Ulh_LfHXSVl?A?Un_o%UBofutm5q;K`4*)NkER{rmetf`PTQsi}-p7D^y z8G5e`>?_lcwAesv{FFXy`@&ur!M0qHxRIkB#XBfzzOpj1|D;GK{I?=fOI!OE;M<&x z#8MkBzkEOuH6aVFZuws`jG2YxFqy48$nw5UxLLAzit;flrJ>aLGP@OBUFn8wHRnP3 zuP;rKK8>PGs0s20D}R0fRo2Cgm8YeG6|O}$g$R!HNvF&fckR;Pd{3nonkJoJNK-fk z%$i!Hl4?R=0;|6a$l&OxhQ$P zZ|9sK)zeinEyX!Jf|-{)Ri+e&02OG_GPora0`?0am~6vYD~S@+rAiZEji8T;`3 z@Xrj3^k0VXl$(~p2Rn!Bh=X|mC%1O}Pt`k3ayOFZ5 zX|b`%JUEPO9)LS`cN}w`EGImqu{~)}Sq)|tx6LwXPvN|;(Yt$0%x|H1Z#-$Db$Sif zK>o{gCVe)Zv?tKEeU5f3&J+nHXbpIYzdF&Hce(-m$3TMZ2*pWn#kXEA!Oc~?clF@##AlHXI^amD{@B(Mda zqz?D7djx&1-`pl$hcWllwcQuoy-ME8O>Ra-3&R(dH-huQGi_~A(anYO3S19UG-Puk z)_HLCtWAHhsJ+Fof;hJ~3A4u?{Vw>+s6Gg0MLD-Qknm-9-^eQ^Z%h<7S(v@Rxri2b zN*x_2tRaKzvM=@@=hsxd0sa{qNe*$*($q-J8S%ap`z_-`_U8xw5UHi;#wb=4;gjkG zo|`Bz7mg!G%92c;3Dwo+ud+=65{8GZ# zhN)Ba`S)){#S4U8o^keL2L{jJq;Hn8Ocaye*ZkmJ`NbESOOYoA&0I4a#J@b)A(IHL zt%Nf)?Sp3R3hVJ8a;uYT)$xOn8MSJVZ_OisZIUsMdu!p%K1k3cA#Agj`v8= ze?!GZ5($$&v9)?eEGME>cNi~R4sTGZ*`nc8B-LJ-J%PGTaq2syvY5LOYK4@L8TQRS z1%)WdOCjdSz553LQDrg7dQZCwgXJ#2EtF^MjtHl=Vsf1&r@bKZ54H;M`-giej!YKL zI1&1f0T~LqfdvRy#e)x&(Gx=!4~`I3ow>SR29Uv_oW9O7)C@XPe!MBm*oZRX73^z& z$FxXyx$)pYAsW-xdaLTd2@qXt6I4Q+k9N^vj^1nKv)0my@?Vv2+HOFukVD& zofl-(ud-Ny9+Z>KH$G0?v7Kb<-Za{3^>Ga66EG9H^5TbuS8G9cRyPDU1})2`?uAoo zty9z3Y&4$cPp>^kY8|c!rYk7yhTA*WO;TCytrDeCBem_~;dokPAIY}CvEe^az_E~N zdmsDq3%9-!eQIScmT|s zG9}on1B3hz+dRvGv0lYsZHbHWJW*T4z_nU}Mq|CnQrk6p3Irsk)_#7+P~cPK8PejV z;ckE|7-p&b+80QTkb|5?vJh%Jsb*#MEeqtP;>3U=2Cdb>4@(?b)P=S<*Jyw@t03vJZU;Aae6uM85om+h66F`EM+cX=|ICAjwQ4do$=q3d;L; z2s>wBMW65&!?N(pcVA?hU{@U>ZdleqtIio%_3#w<+pbO7r*93kjfl;Whm}S@QHGRL zB{)0p851^k7b6N_xw#2AUX2|6dm~mW7Fl*A&6h!4@Uk@7!C}=!6h_GMVc94u2#)1# z26eIXrs_hhHj%Y`<&FiRT3xtJKdg|WSd&}9QjE`SIw;!%Fob{;<`d{ zsKJ^%kXDw~4_VDMd#2?t3+=YEpG;Zw#rUDuFoUc$K;6rhl$(@fRR1RAnl6Vm;!}&? z{x97G*ye4Or2E`Dt{^TRPEgV#ZpOykjqB_h-oL!DtIIBmHvD;RscodJgD7hrV ztb`&HzX6Rqh+vg8cc)M}{$_R^wIQ8lkbTvxim6_~g>_SS>WIFJ>D|C=RPP5oZ#=^b zCXGBb6d*2syUJFF5_a=b_6as)Dt0tIyvJQNJ@4uJ*)$0Vh)OW=;YRR)4C|jLD@mpS zF?yrpLLDD!V(!U}bs6z}?-J26y%qBHKLIsvegXTlGU3vIx%R5{ePd+fY>-^_-=`PK zKR-~5xvr#a9h2^;+v8b&FwVZ+sj`aYqKqI41}S8*T-7BNexMHFC;ENQ>HbjU<)7cd zJjadk#6(x4dH=ib$3N0`5oKd?X!?RB360X zYON-jH{am8MuF-xAIB=HPA#@MBtV}VP$w@q4j2U8zFjoDzxj1kA}?}%l4c&mm6Qhm zs*-M0-|BcHOG7EZ@p@wElZEWrf;a~c1+0zK{>G3ofemkcoa$N-EmIOEU~x0B*lN39XKc$WCK;Io}&WfuwNNmbcdQ# zNijb`;k98iJ&fdcXTHrpWEJM`JtRmg?_tl5g23NJK*>Lk(Yra*B6<2hG=9z(>NsN3 z{#S4s;Achib^;EUoul3^@1`p!AYG7gRi(3u8!;I0FA17<^)QA;tDK`^CC=PN0;~36 zM6Nd$mmT;>h~H~@STK3d@NSIMr;gZL2dx**xO094j2ovw1m+;d({Sro+J#}Z)e=+v zJy-W?oTT?9p@1|1Qni}<8$%(`9Z^1Q*EdutElgDkagQGPw5>#}{ijHv+?tl4PmfI97{9BQ4^FNE5{cHf zu)uyPHUPMGQXM9*ihf1RhjL1ds{-?2^gf>s%qCM_>hom~;;N90uI2JD#t-(iKPgo| z3GqT$SVo6Fz?Y%*=L~&%LtG+TR^NZky-e`9Am~JLlGZipfl<|TBP?FN`cl$D!7Fmd z>N1KCDsB)xxLf;~-W-w)HKv;`6sWIXRk~`eADEWzBS$}Q%~MO`zj-oq?~^ufyhbW; zGT+}KUlV*RPCgRS%`vn&s7i55nMWvo3y>+Z6+*`8Eq>p>F%NwQlNM%^()Cle`40XD zHA7nWY;~}+kD{WP8H)w>e%!Z0o{Z+Ia$4w{KDo>6&)j$INu3~k|&uCTIQmZ!aJGr1ROE^LCI_c+DF`QNS-ofe7?R@ zEsFCig|WLHEA*Ca)J{JB@Js&agur5R%JCRM`SVijpKkvSfxloY3@R!N&CJMq zs4&^!gBwGMN#B%O3eZUETZof!w(nE@!st}_u3Q=W6xl2r2IIv|gldGsZ{Bv?bVApBPl^*n-VALtB`nxsOgX~6v1&^qoe*}>jOv}Gc-o%vOCIYcG>mGKC1a9+ba=+51SR4pwH4HX;xWvONM zv%02hih>m*DldL%WZ8wELKITM#Cj4LKa^bky-bJF)4A3cx3At&T@b^X)EpCu3rYn) zwSa1AXl7Xf(h{fV<+)1%ps~;NpB`Itt^h=;brF02m;ncUYH=<#iIC*p_J~@94}h3% z9nc<6le{DY1bmaK!s;z+_=P8DZPZXwNV|S{ubu?HoLp|?_cYqqy3z=lZ?Ja#b+@Ds@?HhqKRPz=1NIxecfr%yCYK7y;dnF zpnh^LkmS1qN;TII*s@Ch6b?|t(P2^02Gq0@5nfzi5=Uw0MR|up!{~w7;by%CE9T^O zx;F4A*onMc)&-C>>3H1pgm(B%D;F5(Qc7Lpqv`TKc-g4&!QSGVkl#B8;m%18_jX$3 za{40bp^kKb(6JH>iveg>3bSy1z<1Ccn;VWzD!+g47PBwcuqHCbtBJTMW30$00s~VW_am&ChxHDIzKJKNv4-g6>30(T{low`a+=!i= z%crXPu?7c&l1^GE6SfjC$rIT z3PZ$==NI%_l)b4KOr^BlNxz)IsRN*h>3CMtVng=32}vm_$zlapf3A?Cq5jq^jfy1i zqK81Ci`GO2FYm7>E$?V1&H{JsQt}mcCcguJ9MgCv(mlT|A108t`@Ms3eb30pGxe2j9 zFqAa>e!mFY&SQI%R?_F~z_zyN=xC*z+UL%&ODn1u58tSJ{`d^Q7%muAe)fw)L%Zl` zYlM>2qR`hc9rtV#JAqq4{hFmxNrbf#kEc4mX=_=ZIoQ0>tZnUmceb#)|rnvSmI0b_R~$D)l70&I!0vpYHn({yTJat_igz1V3`LC|C9 z(a&t3XhNNHEftS$tmWO@uPFX9My}>gTkUpTzkz>zaEQkE01+{YH5jx$>JFZcYLc4nlXB8Jm{(By>8q((P@dDX5y%yA?M@z89Jfv@LZ6O>yZv!ZQ zLJl#!4okAjjvT_>r@gV2nO*+dFmrggxUz}Rc9i~#;5T}N`9cU9@qJp+ej)mBWrZ}m)x5NTyZpz|IX1ikx;#Znip=!2Waoe&aA%z`ye*3JBFc_5uj$~ z&KLJwxWjsDnezPw5Mr zt#$UEXCirG>dAL#DO~4xZA;wOUBynG-Nt6HBPHbjdN=~$t@6w%*Qp;qZSKH>^w1EXUp}v*l87v=z2rR@l)p5m%d5&>_Zx^&SW<$|4`+aS1|+S2HoKFwEN}o`3e7fnWg+U z!H@N;xx77QZpiVi80qTp=PkFt?KMr6V1a)!TtTOgaRqvp8e)j9`&@t;Hx2^=DLul1 zVoiklz2z@ed&Vz|D}923W2z)_77g{BjgSd0o{6Pmu@UQ1MWIScj6=(hCOPDE4~ceS zetzXjrU()#y+y`Qy}dmb9Jbi{dBC7iz9?s;vh^uWo(0j~ro3e+{$`0DHH|Y(QwYkY z^d2hp;&BOZ(2o~-$pWby13by%leaCH_VMg(XN01_ zjy#@EMr$KKoI5mJ)g1%Hq#LiMr!=J3?a?YaZyeD>wa*NrDcMMDI9OFic-{5)yTzz!;#gAxB#mG# zAYYcnbihy~W8TS_QF)w%sEmqL_sSd}5Bz4213m)uwRBzG z;rlP)jiS)rF}U~vpP{Kwygb)V8t83sV5<8&z*v3!(<4mZVy{o9SAjfb7)adw_s)>( zZzSR)*+b22c{-m7jtdzhc3kOR9v>sm@;K$a7fjaVC<=_*^#gB9^lpP3nl}@Srw;7!zGL@~`U-k?ZBCxt+hpX^D`I`$ z^ZqrZ+vjmIIyX5EuJ7*9=dK}TKnK@$CO^H!#X+Di=UeEuO(p>Gy1-;mYW96T`zsiD z-;kIRZ9O&z{l?<2f}INyciV!qKdthn+p!L4gayEYXn6h4|JEY)>{lr7w;j-r>KvPr zy1U%*FT$izndPnco%tl;K1r8=3X3ML} zF3rqd&~TA`7bmN#Y;+J)T)^zWe3>~0q$NGuuCj^obuJUG$H{d050+(h2XJ!I4>H~A z$>^Hul=wC#pV(b8uzrm~gSuu?|Ld6s#fN;fGzG0UTU?A^$Lvmj;u$Y}p2Rr(Ds+lX zpCS&GbP#|MQG%aNE8&UWRownN>W2pUI=Ml1xAmpF{z{w|;zO#@ zlakhDUh3}4o#Oy;oPxrDKtUlxD}gxSWL(7$(pv}23q9*XJRzWUat~O*^hJ^o8(2a~ zI%PTWun-I|Q5?g0pnzG)r3V8CW?>G{l|Fz^WvS-iofxi9kYG==kJ0BRhevg(5i=6vw?6rMh<$8u16!(&@gr&x4>0!z`bnX%g6(c z6PJu~`6_R62Px#aGpPCp%5Pem4LnPuYXMKAiM6#901^#>m)B$Qs37!<-_R0f>+?~f z!@6e%`d;?p-H`hf0qPMOoZSU`$|ezTm@V6yntl(bCDzs4qQe~H$A!L}h|NqVc7TUF zYS~bO%}nSMDGdzeX;66v!zn1coZJWmVnR71C*I<LaJG}uV3UaU`uR#wygLJZip}jB$j#P!%ry z*z7TuijybkHT&>~9b%JojGhbEO+DnwKqkGcCO^o$^zD}lib<0xeNxWs)djNO^$Jfc z8r{*TNoPOU3Y4wj0zb8;B=(KIEeT=~XUJ=p76V0#hlKO4&JD{^Ca}fw@MFB*qg{CU zu!Ai`MVGSv##~d*)VY$Qt*s|frqw>Y$R~dBxaawwg3^{Pj@Hvjk*v+VriBSqdV-95 zaIf@g^G-qT%jbg+n<Ys}ua*&Jm!Da>TgL8to_#S^cFQ7O}eHq6st7 z@wFj@=_Qq?_k6Lp?#yz9)HR+`<^S?vM!!MsIRqn1;fo(AU+#g!?yi}&xAcfyG|1;J zeiw9~%gWmz#AuYiJnQ}ti^Ym+R%*QYQ&i$}Jr|+4n=SS|!}PSKAe>(>MQdz=>A;_n zQA+An>6+CH3wboPBL)#Ybua30@may8EigKXfjZSU*<-m0+C285nx6Q;V9SA-@kh-ti)mE5fm$*qsrN)fSFcTOkB8O zW2*L8f87%m?lmTZ$JikQ+2a4RD;4F|2AHwnQ;A*jQ=}%_s&_^_A3zN>`+;W=6Le#5 z>*;H2jrKB}zK(p-0`Q#8ZPpv;KPb^@e)(uaoAu>6glnh>=QR`VXnZa_T*IP5|JO7T z_t<5p`lCEcIlZF7Ym!c{n>ku3J`5N#u#_s6EC#;0mqeS4ur9p7Rzej>q-RGqV@(Fs z^B46tDiNi?r{LKvGxAQHtGN~zujvPZ&v0nm;r{NYop81DI*$0WF$v2C%Kv~tCCofM z=T&Hy+quqJJ=?F8%_w{Ol}-)d`FBt=^j$x|T0NO<74bC{ZfOMXp4BtbgY3@g4{I;Y%sDD5>R)ive#GIf zHmh@_uQ7YNdMp2!PgDHLh_cx&=HF+(E9K7XZoOdQk9{0cnBQgmHXHqzATpmT9+aYI zEU%y%J^h#PPM2!ip`%`z=Kg_jby@phS7~5QK5%lAME46r3mteAl?Sz$++!#8Y7N`j z-G}v%7XNC>{A`$dyMi#iLp$2r*$a16*Kwb~^>`r!l{ad`Ueoq>SGGoi3Mz1d#rJRw*W0v z!#JN-!INoU0?2sxM^1>U{0URjB(zk1X{p^Vdb`~>?Dci4ao7U=tXZW+I1F59VT;8N1r=`bP%BWK?pqys#*>#ti!5@8KKGat`5XyXtg2(bs-_*S=SFGuSP%QMm~U*C8@Gwm5XmA* zTafKrTaCSvo^grC6f)qRZ(c+d2FYL^2C@zZnlxH9uKP&bH$n=9`Yc_1;RWd-V`>a) zIQ=zqfU8twW6#Lezn8y7sP`c5aI z24RZY{prP$NiNQQZWDke?0Ivl{bj$IR#@-9h)rvirn!D3M!|L`lK%7J#_mR}45{E( zOrgyEX;h7S$5cH;Xv@7w;3JZqI<7yG1O5I5>^?>AKDBXFo7 z7fGP`_z`$=Rd+gA%Nm!KG)d%gMws|}UBkqvVCB7$d2v8K*Yp5vdCb!4S(B}>0RpM1 z?O2{Dtf;uz1R!^ML^69X2_wv$RJh!jerf0_Bo1;Cx`xYsnVcJwn}JTloqLW$A7FIdU331C6XcZT6}}FF|QqRCQqySq!2&bXq28d2qcn~q@r>gSNoHb zO=^y|W^FNE11p7AoX z8MEe=`PAS+Q!8C?SFxLDx>SKMwVp9S^Gh^CL~eJCt^(cY46x{N{X8Cio360v-lfc> zTr`?@Nl%Bv^4M)1PC6&e{rJw^0uBz{>*-#S1jfX7?=SMz!#2`SB;TK`hF8Z7CYbPqtN`16@ER&0DthHO!c)pk=G>1WC>q)t&xC`K1oC!xO(k0V~_`EIKOsyt(iyk~0FsaL*asu)lR))y!3OjHYp zVjjj`RoyhTU7K+(WOgEw?ulDN5(Sp5w~!aD^AmiDD5cwpiA7(UM7l>t*$RSeFm+?V z;xgYp<+f(t19ParN_aETp|=rQ_PfIA5?j2NY5D{I`?ycbdyBRWZto1=6)_#{A5gj} z+}k$jZT-7tfY(IjAEF#$ofB0M{?GpRH=&lA-}DphZQO%hd?8zR6eR)`MjFl_ER|sO zwPhkHMeaKE+*{3Anlo*!L;~N4(GgdH+I`Pb9j=~YRZdIJW7gKk)Z>#l9}*^=CbG>2 zj-Bb53w0;{pTn)v{tPhODjgOD_e>7cNGse=K!hxzuf> zUpA^qL0!(3kccK@WEDYI)%UH_Bw*tHCzVtwx_pD`N@y&TEck>Sls9f_PaSO3<0%cF zy_5K(Qv0Ean^!%#IIY$D zZ<1N>y>6RHG`m8&1LD)4M9x-i7>7K^Y{pa-xcy6?#w4Cxv9y=C2oaVVd>bdL z*HsH62n**z-FR+?)3L|^KxBu;!R8XTQ<4gU(vp+%K)<%!eW=Wz)i|QJ-ZyfSDEM~O zv3^}1XngKT=r$P?o0j{cF)L7`g{!-3Ra`hU)9OF^X=G1o5|%mN9Vgho)?PYVzwnt3 z$ThK7m86%TFCNaSCK>rjfY>_11VKF2E+9nrsJ(VRjK73wt`EI=Q%&+b#o@=|`jL!V z4URcT&dUq>1l$>|87|Ijl*Z>;@#5^<6mfui_JhgbF`?hh9`?E8nCN(GhO&W_z8oDx zEtC+3sV8!}#Bf4o-RxFKlb9M?&hVVsNaN&;v{Pex$8Q?p?$8TE*Ff{R=?`;s`R0|) z7~*=%iN-JP+336wIBLEm^zfBkO{hlcD8~A>4vTO$Gbs_eH=8E`c_Jl%e3O&_PKsju zniPr~54a@3AJ;FUTZyfoNCHl^h1)-!?7`jwh-|@mOFu@P+M=CF+aTU_y{sgZ56|rT znqd>`V+eguI-ia$<_4&08gnKQ-VGoq-QDQDs+?*@W|ju+U>Q&r5kp_qtHLFByMkhB zd5xHWQm9!9st8c7`TS=Bw_-EW3f)0h|2@XY;5T=~w15Gh&!3h4FFB3wLSzTDQ<+GM z7osvaF7EJP_jgC$FWgC*z7i2Pq93=X z0S2aIOa=qfkdtg5yr^>aaBpvKGZKiSF5j`dZYp}hm}9B~!dj3#^MpLl+nZ2+jaFcx z@dd&^=tWJ7$l%lmY@>y$K!oaXeqPj#-pzHwOND>sqqs+;iW{?ikAv6*{Flp`Z?Iu4 zIO+8c)7h*PlK@4 zR?_8VHN?u+x5$)>Ip|U|cmY%TwFF>1FFD;F%+twkgii4fmR-Mgre{_hG1>SKdbJ1g zb+8)zRD!Ul-ZNxNXn;1646I5|jNTdjw0ZSIui^fhQ04ai7S!zvM~xA5^fn=@m0A84 zOA4e<Ou$;*}QaDTtP#fozK? zVaRxGFElDPR{r*pN0U|@za>AVCQtc1ML0M9t~WE*2*ezr=}#%W64v@YXk?Pk&qGF74E_mIW37E4i2mT=4<^Z37LBY6zXlkJ&i2l93D$j ztD~B#BzHVDn!arUmk|CsTWeH2VF|TPQ;y{AgN=u%becIiz7Q`B{ZcU-`SbgTRcH>c z!mlQAXYs$w2P?qG=20PcWYdo)qj@vzK44cc$~eI*Rs*oL09KtIFkU5vUHJ}3F zr#X0119(@lnD>f23wj(?B?87LL}*Q6SDr%7I$ng~O-(zp23w$1Y8^?1M(COoirYJ9 zvLbK5?b+f^?fi6V6aznGBO%`n0X^y;%~_PZZFkaAHDb5oLU)c$sW zpFf`;ZUl%4h^O3xO>V!+@v%aD2L#rMe6J$-y1pws-6 zI!?VR$nOaQCjRWL-NvOrD7#Tc-33e0-({0=ljPzmmEZs6&qH3x8SqD19C^{f2s918 z{qbP#U&Kym6lHt=aG!LjZP2r(w}j?fUv3*6KKh8iw0g=&ultzQ0#S{WU0^=`FWCHS zBcKR;^2cz0z2qak@m4>_>fGY9uYK?`&CIx+E*YK5n^wsBdKK2e_7*<2{ds_Rin5bc zuNN=^ih;p!D$HIK@4_m!J!TQ3t3U&qf_R|gTXZ>;{I`&!$n(U+)j*IQ!B$WIRV)EH0dgPx-hN;y>4%dTeP>erLB4G zhQr9wQaz~&RP3CGd;4Q;pA~>}jHzYO1`K}-p*Cn{ske*KF8$cahyYmNn3w04@?cTF zEs$92eIxo#p9!t=g|YTRSu+kf#w#tAc_8sWq%iU}dFxnt7e)Bz51ULB%`jF%W}ara zr&&a^+1^`UO8G?NvB3Rcf5uF3PUYPAvd*N_aiK>%Z;LeHJYW}R0nR{{>Kk*JpIBo1 z2t1qO)EWOO*Ib}cpZeq)s8tWJ4&$C~k_)lyiI7rNK|m8+y`_Q$ejMF)aZ9s^XtN>z zLTQh}v6eNjXx5DF;$?s!VYohki zH0}6x*h_~3Lw(0AGJUk$$l6K0_@%1APu@BNFkRE9;uRBR22gFIzHVM;1u6XI;4>dm z9H8vz_HEpI{ZoSk+swG#h`6=_HOeXy(A37Us&YS})CFAX*zdO}K;2|T&vxU2Vzsi9 zHy`D{yg%D>YsjMEE`QQzQb9=ga}^|kz*=Ly_I}{!csB&b-kz|yBYY|*M!e=HlMF}B_P zFY`gn$C?d2J*z#IHTNb)o8PiJ;#5X^eYA5#^2>(1K!B3Gyqk-v>I;C> zR@*dkr)7~f4Y47>o7!Xdlappdb6J|dg@kN}f%!V1sAH<`YZg^wFr>wpT^16cs0+fKgXO|22QKXwBb(YxC2WZ8J}K%5(S53iH*^TbLx@F6Z*PrlKuU9FcLf4FCBO zgW8UyL?Q@t=|6CH{ol3Nk81L3b(ie7)y-)2`D>2S_n%Z36HP79wrXnrlGNI3oEij{ zW|0l5Lp6E9SpCau{C>3QbzZ*TlBk|fFt`Lhjgp_B>lgdR2C zn-emW3BNVZl`XG6MuIj`8hw4ky(Ir;-9X5xi_r4md|iuYOXzSk42pR-k)c%%_$?sn zcEDLN4vMAUd>|Le>z=0d;NtW6j7jzW>Sm;UL(9;Ieg%-L2LsP6UwI{IOZd}Agi3u| zeHv@z&2642M0s~bM7;7beHgaCiKpRhPthbJu#`Jax;ce~HM5GCyHyB2zDFGy!os;( zKYA-cCJS(_^hMt5=WtzS8xoTLJ}NkJXn0mDYd>U2!WuIL^=0L62cqRc+Vi3}5S|r& zR-(z~Rv61bDbd?rlJ=|DP5JqkXJ+mR9)(oA1x@j3#;o>!hcWh_-mMAX7v>*%n=9~f zv_d|`ktcVj>z%39NVGBcVl$E-(Kp-bP1Y%(Enj4N&(nwIsT$oe+*|goJ>2XBEAYNUV!XjTfZ}sFD;Z% z*whHw!)2sY(aV29zAutxJl4H_adOJcMCPSdAr*&@X7L&GEB?(2fa0*=62#lrTrHI7 zy8=qtA<0ucp*ltA@GB1QC=wu95SN@?dV(OKeUZgVEqLP^*k5Us@v6$=`~c@M8KVbP z!#}iXV_@#$Dul(cArTqa^(ZoKqZc#UJ~}JYK9ll7%1S8z)bvwrmfTfgO-ln!VdLTj z)W$8qKWcxbN{R^KKx}9h`d#@#vEGcY5q$L1@n{zR!p>i!;rsh>ut9-h4f{=lp3-== zWN~BhksTrslt~3py*yj0hN&X&m6|iMyhq z(A`x*ft~MmzQ~yj9%;aYUy_T8lYJC<+XEK?(z=bwqW^;*@Dj&eYwUjUYhRU&s$#;%F_W@lAeh|KW}dFMbojKc9Zswvxj zx(vaZCJBv}(tO0~RDH10a^xl=xStH9AQ&H{dI2vVeBj(Er+iv!PJs_ZuEM`C{`UKHOQ`umt6^&(hB)&yui|uWhi8tW#sXTKk(u&6DsJJIq2zu^uSm4# zG2Ro`_!E5wesrcdyG%ydIRPE_~!vG3IVfW8bwE7KrJNTPbn-hxlAXV7`85CtSR>`W;C19x0AAvseUp;SwY z)N!G%g|V$C^k$@D{89|RYI2UfR?#^Rc@=2`re zed4ZJ#QX*QpkICc8gdGW=8Rrx6l)|mvvQ{ov^URh()b`Z zV`HMMet!8cOa=2n^^{Gb>^q`f3OVXN^ER=8ZvH3)@ORslLub~jh z)IEwsx3{^!lImH7y0xiZv+$QZPr7AkRw3_e6(d0)5RQuH{rK$bKWJg*t9c1?PlYxl zVDPx9NmDN_c5fqYJB2`4-3gA4jFIjUP5HD;-`bANyLr;B?k-5gzR(8{wOdoX`0oA6 zFdA;a%FF*A+*`#m*@wVh0S;@IICAByTZEIrcQ09Zw77Ipzpn?@S1xOyNIGXR+T)k| z=}7*nk5L|t?#|20)3k?%--!=guyc+4UF!WPUl$}j%wjE5&Gsj&RymEVh_?q9$lYEQ z9g7O*&G}m(GfZi8Y0EDy_luJtyp0aLbB=Wu?ZIGj0&PADcE528r&p-9q?eO=T|+pD z-AF8OK|9wV-nu6Yn((PNN5-{mxkbNVvKz4$f~p&uDQ|x)GnauA4HMN!vxU-#5dOZb zZ{WmC0M6W|g7N~$IOeIChbE5QuHS#uR5`<23kqeVb3pO$eGhl{q2rd~yvEvY^FRYR zg)sK7zXDh{^gTlCwkA?^=Ak z(BprCTkxYNjFOt&7ad3xP6`>tGDpFV(fkzc;Oriyqt|O+7+)wUw@?LsjY!V<@1F!r z0GHhLZ;N{RI6Y-evjXgd#d#W0rH-jz+{Is}WoXqCK3U6I(Sd1DE%AeVeI^;Qf(PU? zpH~?45*{XVZg=0=lJ^_I*INj4YCy}xBVeucaFL);VClvT?-dg9D?o`Z1Z)+J=VTA^1dUK^ZldZu~v7 zifz7hyEjClcLxvLY!?}bJ&!veBkQQ{ZjusBBr=qWg=Cz%_Q_f6`#{`I71BO9YG-eA zYYUEFhI=#?x**N7HGaWJ8T!wx)%O-R7mH&3CstSnhcV%5rG;*)KrXl6sdqs!6xd`_ zp*+~FjWqv?rCx`83z^#$A;I**5~^4_@6xMcuTaf>*xD}-RQ}ccURMM=2KF_s8s3`CjDJ5N{-(+ z)avya$NP2Ip!V2tQdnMvmVmSK1#o(oQd9Q=dW7GvE2kN`q8UhV=9PWis7Bsy>zu$t zk2JEIadj}DrfZeN=_YNPv*Ua+&!?4NOH0o*HaAkbcX2lJ?h9F|mU}X8C4OY6X;;85 z)TKEBqIiEJG>@>+`W9EKU1AG<@RQ-;v9X-to#PslCv9LDR^@WPf)*083PgI0{_43R z$#8raqhM6HZEp>@Hq4F>Itk{#2svn05g2NXBa^NmDI+0YW7+R}v_7Ov0L9#ze`~e6 z{&Y6{$S1(Q`_r}y&?mvE$vLjZSEHk2Eey7qqfXO*j2%ezkDInDis|l@Iz|`R204yu zV2p2{>@*FX{aP7{5{iq~(SH?1C2qM}a#gf!I={F)LXL&Qq*?f59b@Rlvz+Llpt>N;_WPRi6zqp_GXU!kd9o|)^fPbOjiu&qUYsyy}mf$B&0&So6TgBv1g9em46l8_YbA8 z1P6B)x_Y->-anOXZ#(r+=GMo=(QeJm4fQ$KHaB3$SMO{KOw;GaAyuJvcDEOQ0|z#U zp%e&fNXS8RdE#8UabC~#<(35tr65L7QeVc0<2;{cTi>s*uD*q7Fsd8i9(+^5g&am= z3AdaBo5XWAY6IHm;4wNyMKV};94rp2T-P4kf@=flXzAup#)E@SXjMMf{tKD3T&W(g z6;k3cIfF_q1&&5k-yG+UPhUtakQk`|a0?7_WA()5)6<2j;4za2&~0ZjY~0d16U9P? z#E4hm3;wR|ZGK&Dk#m)n?(yf;k(g~7`K)S*-(t|&ZLREYh!<0b40S)-mQcAd^(bu;+>5FRwW4;)8oElkLn>+aqp!=G-_j}vd zgHmhN=d(J5b>-vdsMg$g^3`hghh(zoWR@%c5AOK6F*$yNT9 z0E|@qnG{W-8NG5jo!;kn0>b+9$Nww14BGAohg`fl_53*SUThNC6r;X+;||;s<{GVa z+Xm5Vdty)vSo0ZcdJW`kDaO*6)L2dA#NE?tO8^2r58 zI9Z7712o5RDQSA~u&E2PKesX=s`uES1r(s5&2Kbq-?3OTFsEBQjfxz@yO#@Xn0K=a zaUuSaqE-QC2n%CSdNT>|nP^S8KykJ+N!+*y-U3VE@=7$5`0==0vM9FTCy38&72`ycI`Q7Q`NE0UA$^Za9`W!=$q5*z+nGFPmfzXX z^XP}-qsE;Bhj@!#%jZaN=+G?sCv?S&PfN(kD+o(3RK>=`hdBrqCUR*w>h21sM78M| z%(9P_1OLobv26SQ!o{3!?|8yRC540@npV$Ji&a z=%J!q-?uy$plSCLnlCZgoSsVOv;czY5e5wHClMoC=6!wC}w5#R#hgz>erC!Q7X1gB>R8B==weJbP;p(X_0 zBxRfo_`hoDGB>_y^AV>q=_qfdpD;zDs#T@mP4mtg1W~a3zp=f@TQpW=e5~OuVWU7U zjJU$(|9p(NHF{@1Pn(En8deY2- z3rQVT7^12aM`mMhD?={nnIte*$+F-5an4B+Mw2`tZ)c$tS*JKWr{0io9WlL7$_>g6 z&w4=7_Ny)b$Zmde@dShH=T~hHQ_#BlC|B=g*t?Ss|CaBCh9bVwa3kOPP=s4fPnc)q zzKa^KQnZDkXko%Lo79Cy27s}mATBV*O$53%c>Qjs4V8;q_#3Br+FQz*5j3S!!l6G73Uquy4w?5P0OoImE6H?&h z7xTk|x%@m9xW|jH6FX7iZ=nRVO~cUTh*0$f?Z6;|$lkss!B1=VqD;KE|J&ML1=5_2 zVNiL_V)JrrRG!|K1{*$O3&cH(aZ4VJ?MK{GT7rqE9|s;B?6%dyPKC}UE8V)N|4=b} z2y-VzvkZ(2xyd)%!FpC$7D%p1`y>t;1}77gexnNVIln{<@uq-rGCk@8#(8F^c#W=J zp@|C*i&i-Nx^kEjw@*`{feU;zhobVvTAX!FM0@iI-VICwWOG0gTx{Po-^Yug zct+EX+MoikzS?q$WE)W}+_A(nCzjaB+^7x5Xq6*v@F=7oq`;^V4Y4IYm&x`?%G0Tm?ZX|JgI;KzP$rTbj4r=PQ{7n9d_|A-Ao|w1NDh;?wgFA( ztFhmx4#^4F|MXH)mX8B3(4?X^cW_B&LFE3bdDWT^kk7RP) zC8#{~OUV#L-+DNJ!jCjutykrVpHXkq!!`WbzVgx;dW1i$E=)!6nZ$YdfML^je9YHU z(|WIF)YZM{@ETw01{rXJ;NDEnnyCynAA4=v30vp3&o@@2nTTfh_}eGa*)aa40zBEq zQ}wGpBVF8KsRH0I6uP??c7d7p8F8OLlaKzGZ*W)fzU?2KlAxak5VM9qv5!0*_8D;h6`E%L3C!mHr@3#Ff34e z^dYrZn*~wsg8mMe!iAXh4>h9esMP2nK7>(8nz?A=%T5vOL;xD};3klBc5A#sa=UJ+ zgu4~wHd^L_hSy+5Vw$WnGaoXzG;C0sKodZt_%p`2?4o+e=31x@%Krw>sUNy`Ao7wu zBTi39SUB17x`3EJH3Fn(4PeOTwb8yRL?m3~`_yxvx?)sRWQ<-N9yih)gh_?MRB_z2 z@vrmED}g{x>MxcA$cQ7jLuXqojv4dyv*MGwRliS(!_&G|lhpaEkQM?qDAwLn78$9A zhg;47@M&cGfq+SmsKDa>azK3b({{9(z~<*#&V?Vh(DniTqhOGjBlEM|H&%=Us=o0K zT@aBe1SJ1M5UG+WQ*d!_i66Q*Qr>;oCA9;Sl>ezm=kfe}vrWi(MH{uMbNioLEo)Jd zH#!%_BXEZ)bz{+`2P_%GL*(J|A?I^8EshmU4mbR|rs-;fawX&5qDfPgswcKT#o_jY z4)PEGwjUbqT|3+XxIhHMy=kE6gl94+rZ-$`fl2Wx!wP$RR6&SJoC}4z!W0pLs~pZ8 z(u;!VHyt`UFOIWF=#oZUw1yV<;r!u!VN zNzSZCpZi4XeRCwx{m8kep{jF#Li~T8(;UO%m{-%gXhnv=Y>T!5K(4KS&o)C{lq4=x zcuCs|-+Ing?`h+$8qjksuH1CsHp8-z6h`t&$@40*U0iYJF#dUhq2Vp7GD~h{yM9bNiaFeG3+a?rVtg;?uKN$ePk)|hcp++yk-)A`4?*MK=0R5 z+uWoF;`Rm(r-6f&G# z&-D!qUkRO;FgA1fMReKU+|ldnqKD&sskN3(P&$^p+tz0wIiRTC6m`!s_V6GN>(n8RW)|Fq)6+e#BY$YtuR4yZztnVVBnGiI)PXWCU&oRZ&#btp z7b3N$7GJtev`DnqufIAjgD2B#EDtuPe;HrEeFvwAI!(7N75)j+(f^>ThzqMCqG(Yu z()o^NkDqs@Eb0lUp*9wui%m2i?$JCBHc=iWOeP7ipVjsC6*@LIQi9=sq{qVefQb1` z8Mb>vSms-#*y#MTbxPd+-npRhH!oE`GS4-O8$T|`#loaekmw?p<35{&;>QNN%}cY9 z(alx_M`D--SDHSB0`h7tl$ij+1&@F>>Kycy>akqyr3zf*_Sl5Gb709jn|w{qN=aae zNy>lhOKx-v*xTtgHW?z%xCxJCn+*eX9|}jpQKPLcTbUVPDL!`l=zyWV(sO3N$@?%7 zu2Xw(_<~ICQNe`70UVA(?aG?R=Yr!at2qCL6>#c8Ut@7qAL-4|GrA{5itO{wn}!x9 zEQGgPp1PVv3{W-aH&5fqD6{nJ%@}9>+1+2ux`THQRP9pNVPyWeY2{y_XlCLUMwVtU zhRH!WdnOgQPb*^wC(G&p*sC^;cFe^b3Ikv<+^ zOrOx@S|M-WlPiRUSBVfpLn1%&=uA*CC$XVySlq`uneqv zx*=g|!#c&+Y7dxW>8q0Nv+O4Gj7+9=lwxd{5$pa8+9TI|`V;&wM&Y z$IVbrfH12UAx4Aan=a+2<)J2=CxdJDS&M(ANUuq7ftjbWFAHeu-^CM+m0?Pl)Avqk zKi2|=9@V=9wIWrLrNry(<*@U{^1#U^aNCIN^)6BThr6qh@g&C{WWU&-qS=pVeS9X~ zz^(tmM6jRt^8Q+^#uu>9>UHZtyub@C54DGk=d%{coh-1PxVgwfzBFH8R8$lLWw$}2 z24sVurvC^LsT_8$@>RPq?^7(wXBV7ME0?^c*`(AgmqB|Yd}YzPx%h}ou&VC>=8m2A z(?{gS#DMkx8l7FZK53p+UvSF{H8r{UK%SNi29&H3-u(Vg`=e+D8%y^b^AY}c->9N7 z_JLeiZt$q<_wj->-l@i!r1b%*Bq_(R#T3){Bs3PRCnDqiW?IszZgftsPbmc7m#o$-NN2kuGoV;&4MoPhKKH`18!% znvwi5cPoxd-S+~IbgS;erYuc5gKLmL%O=iTSn4pkqB0ZCZ#D&s6J~9!U4?kVUlI2IS-bFc-tJz5R^N z;zm_U7v_RFIwk;Et|_Q^i^oln3q|4q_DIM1gdS#n&~UO7Q}>p(eN&xx0oFUz`|Nf$ z^gjA3kE4czshtUb{|oT}65tyso^RbS-rL@-E_c4mC}_cE(Ds=+rznJuHAhfjYSrFplve~q#?O|-O^OAyJa61R zEvJGY+FO514RgYX&nxetyuE|5QCXPVb(P&ue;7l&+#QM&x--vGZ#!D3lG~7!il}ut zd9VJt{e5(!&MSpV?Y~54B*jrZQd(Z3&nxn9SNRbo#koeV%%2bPIfSqAkBmX2!ZEoH zcUTqrD%Yo4NRpQ%(27VCPt>|>!u^OX7$Dc9e)fuKnfOdra?XjHw*A_Eig(oQSWk-O zqy(>m#N&PZ<|)n$Dd8=lGF+@$rL=CsRl&p%K~q?u=WUlOW&qX={o`Q~Mf!S461R5c9(o{XYUKXbf>xJkZ$WhTk@IZsg-E5Vr>4&{-$6&ktw1 zzLl0#zTy;?AzY7%)#MCB%Si z3GS1XJ}IOjG}F;nj)dZiK_K4cpRl-(tx^#q-JuVD2dc+o`pm6M5(133j2D`G00w5yv`lI)G-;fBFNzl@s(^( zWTa%Z@;>b6rSBK2f!E-|*w4HwCvVTk0TTRss<`U(U*YNyG}BolzL5fs{}4hMwGZw$ zL721K6iPz)<1@yW5T0A5o3jOMpIJfE^3g`x2VjxtRT9w3Y)+fm@DdhN|&>%r5bnY|I%9N@{xTk$d{0k*CE$$*z=`*_%6G628tTGi&vf=dSW}a02OOG;;r%l2uKKN@71lH}&H>pEg0>Dw)Cg5! zKCdV2BSv-(k$Xf>|3qtrp5|bNshr~y&#Ie@W(24U8gEACo(~^^-L>PC0%+15+@4a7 zb}v9Zgt35eB3!b!?XH7VvgU6eM5onw6zJ>ZlcM$*C6$Z!%r+qAN(M>d3L0wXju)S< zu8t6FNIdrX#5f-R1wzGQF3M^o`aEEOtpcE3T6+413e(L``ZpF?dz)+8Ha@jD8gNn| z@Kj=;|48_g!sn?Y`s^tbVf={NAhtC=96D?yCYlwfIza}%;VO%t*6gP5?BP=gVX<*> z3Qj3wfp;}Lm2Z0>d7H&c6Wt5mi7s_*91#y9JBy9+$`pib?(Kyd3@kO(%n4>9AZmV2JCUecvlD){q}jkldLvIO43|BZm%TcBaT_ z(rHL~N|8r_G3U5UM4e~J?~jk-Vxu@6<=LyD@FqPE)ev-kad=3k(|g>-ul~)5!S%|* zeS+S0VN3Yg$}oofOsMbra9RV8=ZxktS-B!y3h`E$dHu>61>Z#s{dL6O3$LV^*3SE^ zE<7PDrme!CkMOp3fcC5)+chwHfKG3&l{(nkphHO+mt_0d1obVVLCja1jVZ8{T=I9nLL^hjIf{?`%4xVHQSqO`7dxu=$&F25%zZafBPCbt!^)#T zy5wIvdmkQ!sA6)TE#2T~TKOGvJJB@&dGK}8dReb<9XeeBaHu6^Ux>p)&HqV3PS^A+ zq1La4OS);Uam@XEuJ!B z6h(Crap*GYGZ*aBz!0|qqM9454iotep?>q4fPWq@$0PY0pah@w{{Mvd{f_>GgfD^B zZH^+I&;#O=OnA7<+-d+kwTC6%sru@o9?D0w$9cm*UFRpbwQ*8k1SG`^jXp|{nN+aB5uh2+dHlCgDBlOBadYPKkRSQ|Q%Ns5s5 z?q$%c6$fYpk62c@#iV71QiV8h*ri0-=tT+vTYR4+=hKym^Ui_G@#4k{)@7Y-VvD%Z zn?@Nay{`@9;DPq;?(S`|Fb$)#87J-KVCIwO3Q>4N{k4sFlw9d@)Gg$c;R`8z>0=Fn zeeC{5+`+p+7h$)E;Hw3M-nfHXw4LVJt@kN%xV^>8daq2k@PJaBTy7tw=Ci$zjXAp3 z4qS(Nd)+Ul>F*DV4tIg+>A?-KG{e$md2u&kUe@!%U<-vQ22%Bx^ofaqohJ~s8ZO~q z)76WfWX>_#59Wmp3T)3GJN0s}`CL5eaC6w~MR8zCfu|{y+O5YvEc4t@wLgOzc^gRFhEv5Nb&7g7;vY~PxKH=& ztRscix{jm_lGeRTaVumR$#ZorCOl!Gds^~{v&y)Lb=N)VK(fVT&ErX5ud>D9=-r(g zCQK|d55K|sn~l|HRA8aJUHXiU@U}uw15zGiHb4k7AAq>iLQnsg-a?*lF0;@v1@J>P zi2;}&jSucuU%cHWcCT5ZwtRnk*E!%^gDBrE@L=gn1HlcjO{!{DNm*zNDEXPB;lZYe zP8&^t-|QG0>(UZbx?#>IKcn7ATp|CO)%*IWlUM6cw&)1{P}ZVdnk$D$&eo7;3o zJ2gniPof7Q{R~u8a23?$l^6JgIS>?f5%+d#XK}HQ+p$b_+#=Iod;q0c2KAr@1+nvT z@0%uW$bD^Hfzrp!zg(&lf~qIgGv>%h(prrDsOv_IzTx2(ax*yK(Xo?>MHP^WAqdvl z1%NwQLDQ=?x3}s?iQc`l`f^`q_cb|7Qg4$WJz!(t$*!~&BojpAAB@wRvCd!atcLE- z`ACXD(ov~5ZLJjDEVd|?{>oSR71WW=F8+Zk>fhCEvA*|LV5|O7AN9JCwlW_|$;(pB zU&U)^%w`p~qMu}p?A?``230;4QaF`}Wg7K&17BdN3f5)}C(naTxeHvn89&G~cIX#! zd<&oTDxO6~M@jcyzg^wvWlq~TD)zoNPo`X@#c7CQot_X-RZVP>)#U=)i3Gw_%7Kr! zuueS9rl`wT85bADu5c1*67|kQv2#T`wZNhsi~1rG#aG^0VMHXc}SA8sk_+90@q(`BGtk z>;W_2jN&`ff^40tPigM5FF$$h#8RYAUg$rR-Ocjx;9 zaRoC8RfQsZ2-)HcLGx8&=#jJYMn)Bb+xoz^Z=v{!#OO1Goj`!fa7$I*eU>n|41msWEiW8ZbPD-=FF@x9$>6}->2?TYW9(P?$Cy0}S-Qsi4 zCGpe7tEy3_^tA5?>v>yQN&YeHlfn3)Y{8u{HD%uVGkiiIQIJ+e;zJ*^N1bm!yrks& zLk0R;nKvJKb}zLW-aIOB{kM18>^^W!pTv!sbCN$JCQkGc)XCq1-jFl2m;>#ag{R4_G-;qSI2@I6yRGjsNM|TLv;xb z!GMg;wX-Igpv!WK4>;A0jWvyo)w#gB+f;5aKbmsS4idbVolwu*@IN_<6BWBYKZCj6jdN6b zHDcuCVraB08l!q75bN{!wYpAR@h9<5OhIoD$f_Lc^H8HZvehsC(^l-gjOywNzo+qo zBm8SZgX0{Nytg%$gZI>4BRVbx>5iQI0U&Ra#LKQ8`2zV0d3MZSGDEH}wD4jc1OVxH z4!n~R>WVifw^3#Atl(Q4Ie}Mp+FYwDQgX#pLOuI`3hSbhVkKOUg$?*p^}kf7`O|TU z{iH9M*E?hQ{i>}SB4qTyx0aPBLGyTRox6bYyhK7lhZbLzcVkN3w)>-JGBCWAc1trq zD{rA?8T(j($9@*F+{wk<;j^_M{)D#Dl_@h2JtcPG|9Tt*iW~|Z_8#iWOIPOj z41Ht@`Xz~bpY2xoz}0IbX-8rt{l~QgXqkHX@{}Q#$llMgASpRf`78RbolG8tH&i=1 z6@-9@&RpukKehAk^9h4YbmFBD!2~X&bJb?bbR(t2YDqy34O(k&j^OYK;qdHIA5?Wb zwP~?j^vae&PTJ|6soekJ^$y!AE2GagZ)Rr5itj1>cZ7%cKsh;bws}*g=Y=z464bik zDT|8>YD$&FC(dY{uR}5WV#wkR+e!m0~-guBi`(e?9ojoK9r^Hqh`#f0+S)OSpa`er7!xd}FmbZ-dej z$q@dz#7>oFp%Sk%K5%t7)0;2Rn=fnV@)*f{^D3zK0eRi9tHh{7bPm>cm&alrC|>bV z1iP&;3yy?;`6MQw*Y0_Hw{o-D#+OpcUyJCSeR81bwxNl`|q0s zqba(^+?q#L`{6;gN|nFt1kT>DyH650YVi~QdE`#!-Gk1QH>%Yoo+cyC_^2R^LOhew z7Z4OG+X;4RHmBn_?pa;8{+{&VB6?(aqyvh1c0)`#Tw1A@ml@K0VROUUKd5kpZyNgblz0a5@K`!07iW|J83Zfc(}=iDeY zTJn&`lMxsM8`rI@wsPR)3KARv_3@HmRIHmxg?}DO_$acK4YsAxn}e8JYg=UOY~uT4 zXlsI=+raY)3?s~J8`48wzTQou|KwY7flhi`*piNG;@T(a?h4*%ngRygw8U#!8;h@# zkB;uP{VYW13mw#pF_1%7c3YC)~+BZURg{oMR+5N`1Jwj>&Q6AB1s(>Ci zDlec4vn|gl8k1*1(7#sv6sK1%E{#2-36F{%52z|H1jxz2tDjtnxF)Dp6w4Eihno@D z%Lj8zstbB-wEhfjh~xWI;e1p^*FhwJqucO-?JWaFKAd5*bGkb?2GOO30^g2yxvO#- zCexFnS{kLs%~w{g8~W(0-ikglsz5q(Zh7qj?`-PV+WfgC;lo{|?ZSP8Hus{RcV#kP z*V|au98yk^lLi@?Xe@9ELIcOttNzj`x|VkL4_DX*g*~N8`l;;-Jk9n=DbwD5Rv0NMMoeBY*OeO}%_vP2#JdqL~Z<#HP=w#h?j)KFkeIl^>W+mA~lhdc0 zK1R^dHKFwGe*Ol_<##zW|J4j&D;5)}s0ayDlJGjUMzNmxN|C;ECO3OV@LPsJ_Xy}i z_2+=q`mI`?z$%!(=WOdn=NT_v@0%yzs4^Iq0LweADx@&CpBBYe$`O#FJYg!ftDfP{ z-?zGb03~A=5(9vnRMoJcFg$;&+Qk#GJF6zim}{7fvMzC{=b^@Bz60#Sqf>J%V}KaZ zI5*+!!>}Qw7b9|#S^N8U@(WQR1MEgs#Cv>yMu#WtlKdnuvPazEU-@j<>E!89oGQCb zKUf9okrsP+l~C58=F!HP8!&*W#p~>3rvtO0@}sh@12p?>_AUZ4uWxy`O1|6{a<95~C_^&n%FiA}4MHp+B1ud}G>+Nm+BkiKMANW8Dw-F&{4u+&+3B z1MGVbx9LGVdanrnS}Jv!*a3!B|3{ZE(P{~BodH7BrE>6Jun6y6*j-+vklHLOwjD!k z*iPsQ%X@eVp71C5^b-1#H91nh9lN}|ZGd9U&1|&qVGo1hZEbpnkSTV1T+{x63ee*6 z_dvQaSM^#)vA^(q8T8wN!&N}8DcVHVA%i2h>$L}6I zaygycS^cp+cI(li9zZ7Wu_Q_scocdgsz*(V3Tv$=f;`&haq?a&b7T_9J?YGCJ4(xJ zvRsaYg<58q&GbOru5Yvs^h*2Wle1d)!&`xo!dT;;DVVPNmQD2 zUW`BbXFqOl68c-AP0y_twYZBpjDg{NMk7%vrg|J2DqqmX<5A+?qRQxia@i%e^P!&XuX9xpHNWw9uU7 zz>xz>!xV+oM9YDOii(Pg<9B`j_rAxUgS#BuxVSD}=XpNQ$0IxoP{LmRbJ8fQY3!+7 zW}kteQmJ;+hTy*uB{)Y%;Vki}*w_XHd=_s`T2_sT=+Ntz>4BdBTDR`-PY7a1m-p^5)10Dt>?DAObA#kS$j#^EQy$?QBEj7ie zRxSxZww8ll5eUc>4Kt0CT_YVNN*xne?;Ue1d`&8WWRm-%YWHxPP*i+!yidz_I@|ZI ze_M8Z{O4+BUK5}9Vy@--c2s9<_r{3Fj80WTw}uePurk{zzoF;Uao<6sk@VlF@svOmW3S7YMtsT~6@%P&{rQr}uG|Wos+UaRbENqNq_)N6! zh99d-kruyUJ*aooPR3gb_0dOHH_shW)nbnK)lD#qJv=;)W`m^LB0|Shl$o-N!_9wh zUZJy>xdaU1-rc8dP%deO1APjYPpIc$z^jYjTO89E!&{Kxv$z@#nKvzAmy=gh-z#x{ zk;$T++$+V(a!$0>)7nIPPbq`=C@4c`j9;`*Rm&%BGIe;P@kiK(PFSWL`eZ*&28AK1E zm4MWD2K-^gH3@u@xw5hi{ZRuI-}fD}RykKHed!#qM_;-^%qIdq(zOPF4CojW1zE8r z?Hv}`+2y6&2^)ED=_sC*|DgNCe_-JK3uME*0Jp5ACn2TC=ttr6u2;3 z*#|t+&Gc7wJ-=e;wen|vn#$m_dX5GDKJc0o`j{3q-T_p`8ppd9hHIx^YQTWG_A9O9 z*`=U$*R9c|0Px~*kWlrXMxV%UYT?jSi4xPNu96c(%DRO}Ie0PGb=uHM$pO>4N88wr zxRp_P0bNpkU8Bql(|AR+IXsCH9n>c?vU9XNmBX>xa`VQAdu!%FY#49vk&Yx_voqb= zj--pDGD8LfZzmNab6pLD1_YGEXN)||cu!-_UbW$8;`xAx5_V0;bjDb^fzpc80epBmBp1bbuApsZV2LJK%Fkby z`hoKyP5;BSq{K^hRghON2r5~l%u}y({s>3 z5~!**u>hl^Ki7!EMFo$hTzU%f(90|do>Ad?=k|mj%~hydMfFS4KTJQ5m~Av>WKsw#DuZXiKShA}Qx(?Gv*Y+c3j;;XH=FNFybG4m4i@()ii zT~AL>gDubGH1|1p|67prKRDq6fmAcu;9KhgLh*ORW#u1g>e5?X8*uY!X~pRjyOHhX zYf)sS&V`qr#Y6DiJW3=gN?`; zJ$fhnf8S@{2hLucot`a~=reg3O60zV`B%6;5k*WkZC>QQ5=SAR;{ahCe9W|OJeKFp z%oXmNH$>8l=u-dD;m<<~rh%cH5>36W2GvHGp+<3(1LTS7Bb4;hFq3T@f9Zh$s)I z(6Ow@6OXIsK$=%|JoHC1FQ;Xe3h+ddwbRi)qH0RrpK%(-^!H7E^ z%CG$-*ykI!^&d3@>(^Gk{CW(oPe3eyrIbw~l4$g?E^nwWl38bXJ+(NT<(K!zDjnej z4)G!++zt;Fa;gOKrJP$?d`4G6SN}P9d3zn5Kv6N~mYN)Cua zf5v%K8bmx8uxl^?tG@NDuWI`~fVlfGQgw5-t+vkXx@6@-v9_pHU}=<;`+Ts3;HS6g zp8UyRZV;>7^94p$&ca`y)M+Im`~jDaa|i>c7C*68*a^fnWo^P&6hZ#kE?zRtD9j!f zP6&I@+ph)95uc#ZX)yQVuBe#FCAjVQP2W-QM$lJC4nPDmj$FWXyNA*B`k>5$?x$-v zhEf?um(-~BN7{VcCO?BvxQ4w@J?qd4k6N&o{|V5&m7=DPTKGAGa`)BB8yu>&3JQw)w7f&Dzag=!`NlCy&EOf z0|&|@hh(U#nuEljwP?qAd{-{z(6xFPT81WJ+grpXljq_EG-r&vM==0 z7X3Wlb4aja_k1$n4(~-r6^&WL9Cw;#-W$Jza`TPf-7%I~fi+cNFE@QaOmn%o{$aCvw(1XjV1`M_;C0Lo*qli*;m;cCX zeCUgDC4fZea{?WexJsw{8SQ)RlF>(!qiz0-`}Bw`yT;k>SLcom{K(^1-CaHNRQpb2 zyr%&{hpOgp5@dy@hdwWEBppJlz&4RR8#A?5v<;H4Kin=nj91Xu4bY`*B3@`oMW(x? zZ))>vUz)a+U7BdXLdV?d8M%z6^MLT9e+?FzscrBc;@g_N$e{s`=ol4hZFteTa^6ur zrc&;gz+Z_sp^KtF2N<#y6@`CZ6CTSa<&Cuc_pAvuSA{EcECmLWv=hYMX-G^*sdQ6b z*Qd!*E)BI<#XDvR9GF##e_4E=5?L{|uSu#ZH_xb+FO?Hw>Q+=iSy0of9#M5%ku?*0 z-r~2B>SpAd_|$`S)ZNL1&Jwc-e(*Tm$Z@#ovDIuIZof3O@vSzJxSj(TTaOO*Hc*nd znR}1(RSw!XFIwG{=>#P&WcG- z<}xF>v^z`Dxvq>TDLVmuS+NHmcRsW0WlmGvB1Lkph{7Hj`k55mXsSUe_e-L@^hMUx z6z@#If5gu%2hCApoRFxybZB*Z8N4DpTgc-(+)wUhI~t9+3XZ>|=ln!6)Dg8Y#7bj= z4b*iWd3hq(wJqc94KLl(&0;~}i(#IKZ@I~bs?7T9#T@l56{1+h(;e(}uF&;q7^8_q zwabI46SyaAjyk6@)@wUZ>*RkkY!wlOmiRKG41Os$IkA~#Z#27kSFc2md>L2@lvoZ8 z9Zp*6ol>ylxsyvkEqV%I^3zJ__RWOL&SuXx8-z=pPEY1zI_H~1-Y=k`bNS1A8`gH$ zG-Ui75ki}6q{u0^j!OxD>k4UiQj4G5h`p!R;VUJGY3B2K>c{Y_Ug z|G0bk!Pas=<$wY`QC(!7H}ebM`bE8WupB+;-1(nWH6H*lhr*+~b+T=|I_G9PsM34~ zc>L_yF4Bo{t3l&zZE?AlAbi-(4*ib%pxL=h?Sbnha>Sl`#Q* zY<)93OKaluTmcCqX})$Rs+TmwYQsO)wN3%`wy?U|kFgqR(bm`e5v~{_WFzbB)qjtJWL6@DaG1|_aZpgJMa$uukfBR?A+~&RK z3|s4{NQFnu?7xpvh=*%LiwhoEzx@lt8)vTUn|!yn+g&t1{jGYeM)fC^3QH=9JI}jq z#h%pkbk~zk8gU)+(@TfMnnTqZDjMlpLfj^g*ohaKzNak2RV>0m<5> z;l25@8|1gQo`X_d1P+KC6sOa}OLw!7@ag$Y8jV{?&)vqz5g91dKqR3lgOBV^H{Pn| zS#Op2>fh=GIzreYr%{a(&7^cCWiVArmJhbLJ z>*W9TeCzKIr0%Ek8W}{{$_bh@+zGd{2QbVfDgzf%9m0hpSqb~>cG`pBXwS!;lgNZY zLr*HY$Y^fg7AAi#NWg8BdTev|{N}^E9#l$M%)_SwsvkU&(p7;q`GpDjR8%*@G(h0B z@Rv7U-e`7JV<$rXyyHBXY$tnR)H74~bVmZNJjL?bIZFABxnBcvdDiWuO-HEWVp@P5 z5OP*k`5*~WJz>H zfM*|bnf>wl-W~`P2fD9w&l1s!=Xdj&6Uwsk)Ag&0Mgh&uN3B3kV&^!CaQWFAWi<^B z?CPrzX*`>cDR6yVpg^eP%?X~50oqvmUUlk+5k;w*l`n~Dru0tw>SNr|er$!m7w{eD zD~wKe0yEug$wt$4@r86b{=j)=tTevlFJ}dFoUM1QDBOwKpkWnMu?hh!Ku^M0sEjV#i_cKYsxFgT$Y-E1Y zN8l+Jsr|8Eqzv1&;^b}Knh`MC*=yaN;Pn_E2)^+kKd58W6I@KWpgC&y14skk2=Q#? z0u^jzg*xE@QaJ2W+6h?e@g3%DEfCH)m_+lRi z_nw$kj8Fp4p+v>NvaVyx`$q&E_ptts`*b6CbNTd8K3po2x}Hd3ftHF>a!Y~c3|2;Q z&{b4Kdgw4(YpP>Y+Zfn~PckOcluJB__Vw5DO9T_q*vS1pUw3NaTPIWXD&HTzADc!N zm{KrG{+foe4ra33Awu*i8{JFjuYEu8!Nu3LIJtyRRDbkm56d3??93I7>%Q1Ew@ID- zE0A+9@>8$?{Z98M23bIE;FXM1n7@noo6u?Bu!Nc<aA zew>K168C2a6e(hFr6z0r zk6Wpca(^{EFqx4G=*nv5XR!rC{bBN4+B8Rj(9z6J!%Hq`0u6_) zmxc>sH^7f5k?lNnd#h`j%WX-0<(n!Z1=?c2@~c+XQ8|Qn=R=gDuUp9_az-OssivtA zT?;mK*@pD;Jkt2-G z{rk#MmzW&r(;l{_KQk0r7JTO++Bgo;>Nd~LqMd4N86~eJOfTZT_TR}`)LIqJoMY4q z?qhyaROp+e`9~#{Cp>Ei7yJT>TAEgVev+{7gRr|K4!{H){(FF^s<^BoPM&~Dlfy}W zy5&+w?M?eVNz2S`DqX1OQJG*Ys@j2Q%4{#9zOl|8Gs7 zIctFB=jCT4UzySM6{rJ7J44};=Z{DY$1&$NltvyEMhZ2iFM5N82trv*82KB!Z=Q6Y5LV=9yt|R=P=MpoLB9VVs)y6xAaJd>EbgG>oZW&YW9Lg z=F3w9r<0!?|MwjW|9duf_UFvnFffzu-BOTda)C|MqgFSiif}r5pb^AQSD023ydFhD zpYW-mncwM8DN#{T&r?$YdYH=Q5$AoK%=>+@2QtPw$8&wJq`ihlF^BJOKifxD5&>qO zjw+al3gu&rTc8JV3i7}RqnU?VPqb9+#VYA-+>=>$=eR|~1hidO7Ju1#*F|xD&N}?M z=;?42_+fs{0wr81#is-)KIMkQUWrSB;&jmGw8##YeW3GMzorAb<@CsjRMRQrJupor zz!gO`e~}702NA^J8=ZgYR*nRkCq`tK@Vp9juwn$I+UOWc>oEUG%d+5H z1N9CNXo*f6zqrQxI=K0C6=fGl9R;5JOtNk({S)^kN=@bE1!cipw&sx?b11Vy<}L0*+s^@iCT@Yix-rA1n@@n}m%K3cdUV zSuK_2-l*YcvI_-x;sDF5jj&KhU;sgw)lP+NP(qgxKR|bYP^D3(~ z6BUsVt}u+wk8ZIh&_eGxyaxO6oM!s=7e4}xFvt!qWP#)ZAH%dSB0?en@wQkC5fu!? zto5@2(zeSls=Xo5L6K~x0KJAZ14L^}$E}Y*R7O?!q;X(STEN%2@$@)EjZOQT-M2_^ za&-mJ(RME|HCT7Z=wq&?0AlxONC}!vjAkAKUcp;5v{YxDik(S`DE z(9T#?taQ;CT3w6;w@$fF`ysEum{}ZJjNVpnhZL2SIeGcc@SW%7EldW&;x%S|2C-)+ z$k*~IyynHG*BM5=yJL<6iip5?n8@o66-2otiOf)$*^W9bgnst`V?NFt34ba=a+Sn_WrBU& z+14%i$s;pGM~VT)ol7&FwOlG<(ycC59QD7+zO$^83+HMTzvp)@q<&VoDfl+-yDU2qd%p7)we|A3MzOHea#0k2 z5r=d&q#82#0LN%`kI_<_6_$^r!RPKO*bvB=6wYHs)4rNws=JdK4I*wKMGNb&H}szE zPHS0EV*#C$htN>>zcE^}{OrhZi;9dAuK-7X1auh*W*8RZ%h@PyZe`z{pmy~iZs|fO z*e4_AZ>^FOhf&vp*ah!s(~n_V{>SF+Nr7;=Alh3UVe?+z$>|1lrR`pJ`9EHXvBMAp z8L8#`!&#mTiJ@?4PA{t{M43#_o#@J+QPDkLdFy(CSMh_iJ==TnY}8Yh73F3yu5 zCecR&NG4rky908Al;tJ0F-if`80+Z1%-Iee3$%i z$sc(>urs^39M!1fE#tK5uk;8V(>`y6petl6!w|7p)e<02u?M{@^URKRYj5iTDu4p)0Zl2n~j>!O9Y;z{s}7CB6@SDY=J))X=KCakx?4dfe-TC%XaK_CSdbGOfzIQY^~196!^nD_$tpW5*{)H{|F2`8DWY)2Gj>b1Z!@-T%=#_E-PKh z0>0gh0))#)pr%xGTm3XmG0Tnr>)s*IJ%Td3ud;?1Zud`*EpCKaaFOk&sk8WS^U?{W z>RlUr8$&u;qDK_KSxLyTz1bQ!2rd7*%8WH# z<-Fe+lH=Ee`=8%R0L_c0L?5n2MJd6LM{1m6PPan36AHAid$dndpz=X~cene|hd~$Q z!en>4mM1Lpd{HPFsz2FbX=D*T9p*Y3+T+jRnhEwJBRzbN)+D;@IX|DoIBE3U_f%sdXl;U72F4wco)?&dU5VLXKsoLaw(9P`*xA52n91xm(hNGVT) zZ?Gn`eIg;p{99XG_@j5s#>|}C=5R=vhP309n(O3f2|MXQxf)MnN)ID z38k@-lYN{2h>@%hO}sC8a;Khq@Hkwjs8kw@jhq&0&6gs_unNZusMu@ zb@j}_*1j>51#YJe58pEi9v0V}i`qcW0;oEF4$TD4eOv#?dEt+~g9;^D|5~MHfmMHW zx1@{WOV85%*Sg9oXGcdH0D+I8R|lbhR%Pw0x#}Q9Mffo`CD`6*vb|>hWC9XBlf}EJb60p?TBBnAm*Wt!}Fy;@4sbVf!yKp(# zU~dF5Audn|?Rh~xyP!59J`HDI{x(>e&CUPh;Ca9nzE8)lHbW=#=R^M21$53A?(0~# z+$SNzH%9$ZAtv;k_mPf9KNvxvSBV@Ff?|ozGgg`R0B4GdCCIrBf$+9o8_q0|#{$wu zV-zK}<+MWr^y`mx{3`Ve{rE%skoEN~eNbFxdyht(`M`z$+!zL$p03TYvY!9>;GPw` zxU$%7O1$UwB~O8G!L`fIc`q(=LMpg^(Jd(Har7j9`Kfd&R3`ew^{S$#HB;EFR<4|I zp+a`EtTYZ|+`aw;F~9h;dHPFd5yve4bRbBP(0yrnh9^wgRuAaK)%VBNSGi{bb&QiH zbaj9bwNzvh0MXU->DduUd ziB-)={f)3 z5PiU$Pw`ObtZJt@sgzpWOh1XETBjNOs0?Sw#kF1xxu;+*FHf{53vz0+5>%8{FsLiQ zrpL?mxribbXQw-w&K|XFK}HavT1AT!$03B&fwRN?j5HY;8B)hmXtQ*tQb)FtMC&;% z%;iaN<6fA^{Vd=dN4V@oQr9C2inifw{XGRf-S?iVA#ePg`9~RP{;=YE7b^T!^+)Mr z+t}ZmCPxuUw1xK^o0{uX>xbXu#N@akujvXK6LP<2o@5&$k`xDBVsEwc>N*3Kp9z&5 zc`K+MASKi*uk6D_sFfHq+Jbk<5)) zs1g}ay|tS3-;hi-F#eG21yIz!_QCNpE$4Zz3$v#dw`?X-`)=Bjw2Yba+1Xg)*lld_ zj&HSf6qqb6#xh^odPAykZ_|a?l|Z0`LP56G*iX-I$2c`Y^~yx)r)+KgTNUW`)CES) zNv1Qi{QsibF{?e++h;4WXR#Y7F)cC*S1}*CI3IqHc|Gkz{C40Yj^tG1QDYFUQ()oR z)pZBU=c%V|AX4w+?Qkz;p@?8EU7BNEBK<@#a3F3{i6fz9%T#Q1PF1+m*l)Gh2|38g z2NSrka!>;uRH&6wvFJI5J0cI7aj*ufD2*X}s=#>o=#+~mUGJ;XL$r(VQ@Yrz&IN^> zod$sQ3FI*!EAxxGeUD2^lvpsVL_N7x&_h+&;|SjP6?RoQ=EVmPc!Ih#{%ZPmYvR{X z&F0K`T2|a8PzaX}z^0IZ3)?{zZLl8JhLFFU^yemVS<`x98F4ACDLSl6#cnH$#xPP9 z{&!uvD1^n{i<+f>t17JuDPK{K$ol4UIAG3wVmi|^CQd&_co#MviuNFw#ASC#@aU z?u)n5?*;}Wc~uQ@rW8zY_I=(l=-zFIg+1Dwe#0n1(kq#RCEln0i`RB&2Aav^!%?1({pkAK6+r)=OW*opXdvN z1vzu5ysAt+NPeJrVIZ>BC>tA4l{YO_L~4aU9m z84PNkh|0&)aB^{3>f*Zh7qeFYhcK@CCoxjzRojNzQ#~}mqyDeAb?x%eM#Txl4npO77*iov_)4bCbYJ}-$+hZ*pQItJ0CRPc|yx?fQ=C)fO2^+ zcgL}$hPQZEy>c~fme3N)Gt$bn4dNa3cq)wPFFW0Vu*Tc#1f@BQ@hyIyOeO^Kx7nU; zkYmY`HGxIH7)g?@`T_s#Dx2g-?q=%zJ5)Wnd)6Gwj*0X2T*d>h<&vLos-~oJ60y+M z-`@40zoN0nhxGbRRnNuLYC}5g`3}zjl!37S$Q*O@t*o;(jkC@hN3x)u-k8#4sD9$m z2fJv1tPq1E!)V^XPJEUK6;qQTeOkRYEL99DE)I6-MYaJ^jM0Ez}bEBcEzGt1`~ z<8vpYQg3k4WR2Zw+mSKOj3}xod=}{mjy*cy0=iaqh&pR8xM~~Xk9nn~_gq_%)fL?4 zu!K!&4n&IdH}PU$4n^(=^2L51omUc!G7K>_+{>)TM}EnG&Hn6D%z|9=Fw>FzX*6zs zZXr^@Eg+$3?{CSaal+)ghAL)ZOP6*vfj?+~Py@B%OZx1qp*l{=%dw2O#o z0)_G6tkoF+Y(2}RIN?Pp`0Xm~#JaU;`qajf7F~*_NKjX_odewGN@_?H#_1T^ai<|1 zkVmPNbiMa9c7{6$v3zHh88gEwwwNn1Tyijcmy6n~t|riGNZ7Tt?|rZI>91iUga}X0 zPPV_OHNAQvasQ(&h4bs`$r^N}jRSiFk#BG7SN`RVI8$ITKMU6zYm?3piK-UIG7aF| zDG$~WMscKp+m7~+4tM?>Yn+kKIz<7>bqpW6Ulo45`H%cCOmvAZ>~ry)oA-hzLm$lmqwf_Dy1db&=)H6z>nU%3lE)}7n@lKu3fksm?gyY1i3c4-Y+zHaY1d6IiA zikze&y7I5ZJ<_d?nI5Pp^Q^z2g(wvU%o+KcQxhcpj1>-hWafozSIWv(vMv>gvc8j8 z`HgQCX)juy?TN)Q;mb;I98mFg$e5U-8%<1r=Lsv@HX-{0y|ualtg56(g$cZ;zMDsu zPkyt0cGEKdHBY~|+{_^{@@Rywbm$uA5cIkHqdZu!k;c0hlG5!XBf7jo4b+&iCM1p~ zn@NNFTL}!}_9%E{SIDpDFBw1A{@zF2yq(m9J30dY@O<8Lwhz0Bxa(W>p+E0NX$oa; z>6I1_(}N}#gY)Mf{8mkpD>r=n-|YgT#1A=>m@dp4cRW1*JMrCn&quXNXK@Td zl=)A(tB?Ir-KH#Eg3p@|ZUbxxU)Zl55R6sRmTFfrhC{EGz?}2Y3*vu{o zVdeC2cEKyr$?@8(-K{~LbN>EWq2DMWQ2;{AV$vG6@#KcpPU(-I&wm;Oviv8YEFC%4 zKn{KUt+QUC>VJxsaTtH{>gyWbYLWz|(M~K2fv*l#HR*Q;ectGf5YcEd2z3>mfQhA4 za9aSa)QQNXg8ekIG2W^5=yt9+;@groh<;6Xz1tUwymCj4E@N0IQsxllLoMpOzB8&1)f?!I zLa5=3f-gu6F|bc1zSijx-PY*cu>G7ERcfW6L~vWH7 zRXY_2fExzw$Ja*dmIAz&z0$%B{i>QI7ElIdnHS~X8q!EvUJGd#`MUwEq3^Swn`q4y zO~s-qW3eYZavSdYmoQ^v;KUD)KjNZNPj~*TEn`z$wn81gH{C91yAzQ)uJYA>r%lS^ zU)Ku>E*lA0?K1SG8-Ly&UEg4hd{(VkIa+oI<1BRL-9BMc#b=HlR<%cBqkEws7In*e zLoJhDUhE#&T=_?!Q2aB8|K>=X`i6^c)A>|~4or=_h##rx(~E4!`WoI6x~m%d4xe^G z(5pnZRV!hn?iG-V?rr@GB?UnQJ1LADfK;@&fa&xUXrWsFb4(Y_7{l*|Nc#x-7^^dx zVi#VEk?*l}6sB`Pe$?8M9lRt=9p(XTXO6HmmtbQ!T5%`Fi7ItPguB(;WT1mz>$zhDO2c}9@JrsSThn*^y-5j4Cd2E zlYQyOBJ{xrwk8Osd)WERn`OPrAAyt>`Iik&vqHRW!=x@`pSuEy^mw8fA_3(i&A~jx zg}bh(sUUsZ@9Ksv6f1=g62(B;n&+VOoZAEyeQD)gKom9kny(MAB^h*1;S#7z)8h~2 zw3u%>RMr;WR(YbSb4PZH9CD+#U&0%eNT;OtSL_EvQc$IGYQf{8RF>EDI&We|C+NyK zK^64kmHk;FlZpefS%K+@|KzljIN{)P%wwf$!5 zKgiO9hO_%$NHhLn$q~$P7T9tO@)ULod-EMHlJx^fw{a|L?Fvg ztF&noZE{IbdAwQLdvramO(XV55fePZM`yp4k#s?P2G(gW14*j;YEdLZeBEq7MscY7 zWnB}|ezO-w8I7E4+0$e-0bm0i8$$OxKS(OwP3kovm-Q^W3u{kp)U^nbTdyXP*i&{0}=rT~uT1vO<$@b~%C3L&E-djw;a%v#GQFv-K_>PeiDu$bi`T zP8P$PI!Jb1QTzu1i3%|m-O;4VYG+*Ki(!o*qqB$lOgEDvLV9-#ENL8Ot0?*4EjrH0 z+||_Wt#FIv)!`UA5Kr?W0rnBG$HY{a% zqn>$tWb`!dLw_Hgay`4KP)-1I{%~YN9RWuCt?@lozdgG!3;k`Idc|shek_rhr7m~z zC_20ZWb03B6O2^gdiYBE>w5H-@o~wY%z3t3;Q}qei;Bt~!U^e$WH)0b9E=0fLf9`h zLLgefi5!p!@-MutVXbk<7neB2%6l|w;x+*}1M1~Wdp1Jrd*CHG5bYzj8OeOW&f&IF zObHz48fY?@C&S?UbPjXqVq4TQ&V{pn0t$< z06ez-FI_?zo$&}b_T%&f@}S3J_VZ=kbYTzdrm%ZZ{O6zDAE!vtJi0Wefh^e4xn zwLrCKmOyavMdR+as0Y6-S-(Y*>-3BXDq23*sP@SPn(zE*9ljW)u;}AI&p9*YZSn?< zwOJ_9w?S5PiDIt9qtZ#ml*PbD1NUs{YHxw3VHyiEbOQyr9bO`ki=0&> zCnw2qeM(&3uF_Y@Vk*C>gPQ2Ts|+4QxMdu!<6<8=*X}xbn6J3GXXWGVC#WC!Cld8K`x+{UDsY+xO&?l0l=$P3U--9i2EqA^I7{ZaOWVoB@bcvR=qJnX>u|PCJ=uGzw(#)EUCj3MOc@xB5&|@UhH9%k!BQTMFb4dC0&03-BGR ztdl93N}cbCnGLE(E!%R&#}~W6mo$x+f-s1Sw=Y5>x*P5aAA1Uo5f7tdfQI+mCct5+ zUv}W%101oM1b+6y=Ql~G!+ULS=G9~MK(eU0`5=PoO_iCQJ0(x$KB8nb4ersAM@%sq z4o*>?KL_cujfl%G6Qa-2@@(Ve}!k>`axNPBW^3D5uoiH(qeOw|qQ1`?PF==JrF$Og*7iWTlPR zH6lD)Vo}6=>Dr|fRo3@h$*b=h$#Ru5-A$({}=|W?U?A8Auz|ti+KP8Q5HB=oe#RFMHMpzaZh* zL!i4_?HQwrgHL}7WnhU&rL5N@$Q zvR@z(V}6E<5gnhy{gLRCZD(MpBx%webMmj?E7aUTT8H-rtaNC*KZVGCvat`q>_&yM z(A^t|7f+Fd{H_g@rJiA_Hp^-ui!`yh&ev}90s?RSwvb(pv*0P!22U7xCC`_25Urf( z^|9))n5*zaN>+ zlTummB!De2d7%PB`yF*juo~F+tA@%phC`Bj;}DM+K(b>{_V?U%7kG^OWvd?QY>sG8 zx~BGLcRjUwnB!=RKurA?4bqkeS3?GXbtq>i+z*}c(OxZJ#_aw$PmLHlo4Fsk3mLHS za%}ry+(5i|uIMuTHQ~`uyKR2nct-$0>6IVIBE4nZCJSs6-cFKnie(07wTybA)eHV3 zZgaQ6e#oljf7&7*Yi&da9Xs-D_gucp=Rw}0N&E0MM0g?bF!mS^Ohb_}$k{~$XBDC} z-Xh~39Uu_uIXjJdUp|Xv6h;8`QC~v;Elylf97kQnQ+c zuTf668z$~QW}6yNNSwEHJF-ZtOWjGSO6sgFttxEW$^(*+sD&53l@ZCmL*IdJv}e=rrUo^r8uSTYV4^iX>1W#`-Z z`%~*3-}xddk57^QO08Xfv&(u_K*uch(EsdP**R{@HSb#)&*t z>*kGBsfM1O`Ln$}T0;-I>9q6g&%FA{?#|h<@R=|kPYv818_W8;=l3r*`b=Cik&T)4 zq^Rd~qce16?Cf|XqO@n;FQ0@O`p#A#OZ#r+Sn9+sLwxIlY!ebTCD_(LI~psk&2{gQ zQx^XO6kY$%y;{Z}_`2>e5zYfr?7>t!B!l^x?BTomsz<{pKEIgHSscu5%BDPzDH|Jh zlOYGu-Dq0J96P#SM&l&9D63h`(I4qe_&NPYHZvtLwc1+cW8JgO*}XP`-(l0fcZZYz zy#G9=47g?=HLQNl=)|+y`Kz8M&NK~HzP9~_Dv;pK9%)+s{YmgIKi7E3f>!89-O!g@ zT$lS8Xh=YW+tuTQ+>3JX^GEJ&q{s0=-rTCXu{t3SE-rz^0KDv+Y|gjug=Z8TdwSH5 zLzGXCE3pTAF|;65z1_a6yYERU)GF(V!Q6OCWJcAJg7Dn4T(4Tf5!{RU1;MeQRE_>+ zpBXyww*6oD#|-tM{_SE7PZYMia3Pn0`Kj>G(}xp z={T^_O^ef}HZaNUKQd%41F^P2yTVNsb-%gXU22xnzt}$c zHO|)V_uu6`t7iVC#lX|G{IYWDNQX}=drChv%WgDKiVE1S;Xn%Gn^~gSNRc61%D8PO zVso4WHC%KNQtbh#*KoMlp!LjNRJ%jIOR=hf+=*8m$O3hU%q)+Nq{GzHYAWYrcJK5MV z%_+%D@hpu!UCv*`(#!4HKB&yi^#TyT#c&6*w|yE*5F49GO4Ca2_aM8djpSP)&UDZI zeN$|kc^fygptVJwcSO?aXy~oFiYRqKHg0+!Z_5h68qt=rCVNAMItw5PZcSynL@Aye z*EkKiT#YXZuI1AyX*Es-`5-RF6g*XVx$tXNwj(~?GRhNS7)p5n8=TNkQ@>I%+wtj| z0}!`H;`h35Q3pH!067o_lfUq5IwYU;$WAoP{abCwn#UHUfBO%`=+a{VymW%4G%K|E zuAPRF1Pgto0c$ksZe(!2r=J)PhDpp8Ni^_Mbto-UTJP~nW=wWSZ z8_urNX_JbyYmgEUf9ha3o+6v!GM6VAsw|ksWm#EUr%Yby&tU)CHt3sEeM7{A&b?TV zNY4cr42?xPs3%_)!T#$19d#J^4%s#`B-z^9Bj-SkL!5D8Ks@&yL78p_e*J|eUk8-; zC;UNHc8OG#0SWh5nCVhR$a&24!t`Uh`|X}7f_hbT6xGXal~i8*#0BnxEGwBC*Ya)e zy?b$v6ZE(VfhQDc&CBoV2v1&?pgs4@C&b64#rJ|ozJ&AJ@iby^gpLb5SZ1zW4$Y~} zMb6EhxhsAwOBox8eOtCGnz962lC8u{hp3{PZj^DY3kM~)jZO1gQ>dP0SF^E=H=Wg# z8n)$n?^6GY7HHsvbG17fd3Vc_&vL)`0se%8M)0(po8A|;o{1F~{i-bdih;aicB*ak4`;K{)9? z*g@j?tD=Z-H)EDQ+4piU%lDaDr_8@yb~Ba;MRUo$TK^eSVf_)OcVVUq$u64ACT5sF z^ESM+0QY61KX{ZWts_K4)cgOj_3rUZ|NsC0$SFC7n)4wPIp&b_S;@Jf*qjfEIiGSS zypV>-DLEx`%H*^yhmls3Fh#bUhQ!jaN-R13p6}nE-^=Gu7nl99i+S$xxZiKL>vb>V z0=m*uo_mgJ6c^`J54e!!Gn;%j7ba7_wr--XWOiS< z6{D{)FFMSv{NO+?3|81%Ze5o0bG#ADCWF@MOxBUO>5_Qy4!+9C3}hyQ7kVctf8KyU zh)(N@cEAjxB+2{wN}83Oi#8hX{x)Zm zKYtBG1c!?Ebufdhwq)nvk4et4OD?jq)CHja78#l!G~e)0>zZ>oR+O(G=Sij=?OeEx z9deh))*xQ;O_(^{aDFi0CaSsfeAhXSs@+wc4lRG%$2Gn`aBjZgi<**cjHH2rqQvnj zJ&`^9M;ooTejFs-7CY!;cPLzZn9ae$qfh#djFeJuE~k`~0Ena2&pf@g68YT64{`Ne zzg2nR_7kl%`YD^obDW_1XKFlXH1zV>3@b1jt@=u*R$fP7Q-xK31DHJT(VrFR2+~B1 zn{ecg-w_#+pU?|Lgd(k4=2PV4f7|~mWPKya)b{_>p(X#R+8!<)^`96vlWrx2D=OBf zDg9EH**gAUB>pAQJRM@4r%=AYXqWiT$1Fu69Y=T=y@7!otv7IKvS>d3pqfDb4V(r) z=&;Gh=#ESe>Bsfo9DD4J@G;%BDw`MmOwt~4J9og@hK1(poSU1IFq*$wSn);g3@C1h6=SIWst)eh?$C@yuE+t|_{3m5VbWUw`w1 z&PeuYM^h*3);Hs=2R>UCI+NY8Jf|%KDg!OQOnmhLoBdo>gTkW`Qo;F_E*n=Q*CWN? zD6LXK?A)AAfvq4JwLAE3;y}%A$KEKK#4iAnS?+5`3&L&bILyC$0D&((VMrBJ=TWfZ zV;ssQ3JnreJdv+!9XF|)*1YkO*7a67?k2qIo~iSb@#3ji zH$HE0_6}Z{%Whhem_yr2^`a|Km*42*s}lf8H;)gPFbsur(-&Vg%5cbBi8toGkhc!5 zR<{LI*a(3OI(}dU!h)jh^k`+e6?$(i^)?cE8TL5p9FrenH?HE18qbc8o|r@K=RP&3 z8*5Sh+RZuB@u?N;fsMm%W{wIiZ(a#R@s8@q$v-ck z@T&vHU}FspC2MMHu}J{v<}zP_G)vsCD6%4?QY)t4Yj$=;$0*t8>Z6z8WazvO7n{q& z5-oHkL7__09!(~AFXn#7Txvm6%gZChwi*3hVUY8iE!4?c$y!Nj+TXFJPfTQY*fsi~ zCxCn1c8L|qz<5UAP!Q)mZlX?$aka3(4SV~_Fk0XL#Px>A$#gTe0aqpo-i|JxvN+yl zEWPi|ad5CvVrXU7vuDqd=SxwcCS&JD5=?Av1fb+FB2PJdx1=&cLfVdMAkv0LHC68h zEUkWI6;iOVxa1ShVDZ|TaCqqoCX_?V^D<_jtf<9cChFQ`dmxqCCB~_+1WZZz)V@@Y~Sbw8S?LRivbS<*-IxQB(90tbDz3lzm*rX<& zy%D2FA@4@PAj)W$qV-&E5kRmME_Rku9+1y}I$Mp!FDWc^jMj%j72nJ77E4P_Oit8U z^itI-EtDQQD@S!G3=Ds-M~v;xRL{g8oocPhj743RiVO0Hb-M-XD68(&0>%u;rs^&FY*;9Ho)Z$k_PB zUg)d}18xgzd6&cvs?W2K0tUA~EiB?Bd%e%Qx9cJYkY6nJ?nCLJfF-0?`Lc+p&C$O- zT#3JUwf!`8a~d+=$Z)aU=8yQ z5yrAd$HHhJl=^oE;}kt{>e5ikLtXKL>HV02rFKOl1z>9_m?+efe^FbfPKqmIYJzd$)?(iH*se%QJW4dA9f0#CVR+t;SAJh=3-2 zx37+|syQ*DE4FUiSMsgt6lk#>t9&Q)%JXTPzT>^VL3#hfKT8GxH?u!2T5ld`cJH1H zF3?qLjV*&`cH}z<+F7qV@#I|Wn}(C0UMK(6u9IJ}od23~hTy6_5)||J`RqU`Eh!m0 zoZpmyd-tzzW2(;d=Y@Lfm&7kyDZM9g6WD>7no6D(kkE(NRn8q95#+&AyVuDomUfVD z2qeVIjZg3nBhUFm9w3V!QStcX_zH)~i}!y1h!<#aDf3#=)J_tSOgq*bGGHzW1;jV= zYsYuelZT&)&L`pmweM_=)({*{ewSzMdiwrQB((BrZ^GucgT`j`nmCcCq1_F?kK+VB z-MZZBd-;Oy)2*lnu#lD>=`RT)UPB%vv|tCkXbN};XNn8{YXTtZMpeOf+kBfr&N&82 z8ne^*VF7%A@Y&bUe$LvFr7-f#Auke4&QGZ_%3))W=k-Wr@vWJNd+P^LLt*4);KDq= zb_)`YlqpY$*g6+``Sb2d%;6uPj~ygpe@aIHNvIT}VHRDd#wH6_sF8;Tk~Q)*D1F49 zW(EGw@s>x}lWsMgpZMVY$}7+DijA7|ql}}1uF}21#ml6HIV>a8EpGuff2DZwo*7wr zPk!O<-7ni?F)_8N$Ih6j{ePZ*^xl~yC5389d^kAoId^v~0^L_}i?6Q7zTjaQ0KlL8}aF zz(mXLHUAF9bvBr|nH5@PY%Y4MWnBwhQ9C(FOjN%s*4Y`pwDc9jYFsks6o$;RjOKW* zv0y!mK?yuvR*HnK8ixAki)M#DB>o4q3gRAMpWZSQmn2dACgxhvF-C?uR9Jb{S^k5d zyKMcYW1H`}LVEqYuNFir3$fO{2d>Gq@Fi2%^tRLIP^RWq^m6#d72_H@&XbHJggmh4 zy*?)Ih1oqfBa$Wo%&U%dpR-V5D)SgLq+wT4NL*6Feg{81={KzMk^8y1-u(Sa6>^g5 z%vs(|r8=jt*|OezDD>UC2DUyTd;wg8pR?L_g3g}X6Wn2|W7{;CXqvuX_mqO}IWn$t zQ*_fHPOt6{cb+D3n{)Vda1Qt4H!j%%#bdNt_Cqu0zeltKObBUT?caiL>kG$Ifo+{^ zkAx^gI6^E6m!SQ87w6pK@q(Z{RWNZ)ETfh%+yAlO@u$IlMCD;56n^k;Yo<%|sK?_r zQKl391*4^4f{J}8s;_Tcvk2CE@f0P=p0jr}M%x+;z8#_ke)uL~^cv6+cdw3hcS*eJ z1Zs>Q8lj=C0>Zwpc&lOIuU(cK%%C03vvq#mDEP|>w|l7xKU(Me>fgtCeJyjy(deE) zhSH{@J8SR>dV>bGR9*6VMj=vaMJGRT{#DGw-1=C%Ah(?|u3s?*F|Q9&?65ksY6(kF zbQ$Znns**$9Zp+`rtt~*={VH6C(|K#e1$^M*r9BFYn7OuCB)}GyLyKMD z)S)5N(Ims6X=p4yUA9-Qr~rhxmG}au4p{a2DLq;&#qtDU{a3$qIxg~W*)_oX0u?5T zG)S=)-eBJDUj%LvOL*Jk#xbq3FT|147FMUZ!xJ9r?kU6C;flc2EPSl&hd_1fQJ24|452n6mPiI+QY+~RpB?cVQSGJa#`6^eb&GRb2$gH=$P&d&EK&O*65 z<%)SGEc&5Vf+lqj^0p(#3uQ@?Lslh!{93vA?rBiz`k8-Es)zqg{(F+g`EP_v2BfY~ z#Qex-1BF$@F@g9l-8Z3nqplJvA@@Rtx~_)(8F467G^CvWzKFPwctUk^;ohk^d%@yb zEAEUReUana!8MPzXq`lFUz022+1Wl)AeIiRW|Q;}udX|f&bq&7WbRGSCRUP?R7;E6 z)bB_H)0Nje6=jOF#N6qIp+$T`ul2}GU%*3wa)6UE;Nj=e`*Cl|@-C%s|EKHnPmRks zotBYqL3lzssPV|0d!~uE%`J0diqippg%aHI&E*Fvi_)!PYOinB<$q$iidgMZf;`2x z?~zOuUa9fm7$p#*aIO*Qq6>G_Wud2Fsh~wB>3TH@Vjz}!9w#*N-aoTY7b$pZzUIZY zikR7te75sE0(A6~l0DmJQuSI%?;cjGza2ZUgz`#*z9;qzOl^z6{NhB*g}$D9*aMJf zKaA1(`PHn_b?hDoOv3_YOulmxA~>W=2QJnw_yhw884;(4LH(3xHsI@MF~Z96mXKvA zhYv@2_!76Hf+ct7J-fab)0=_fp!7H2%;$VZpRfmJvdh4Mx?6GCt#Z_6d5;Ir>gTAH z_OW^7$Uu`uG{Q%uY5FwNd~8cOa)Dg-Tc*RHA zO8-}OM*1ILi9(|+O2cX3WwS`O5B=ZqN&=@IJjc6nx$#-al=ULjmtmQ)5${ju48Fhz zG6mgq{>ZE2wHWFz7c%vS_l&qucBCe8tD6h;x$=zu*vkKf+#VAGjts{qciZINl>8=M zjUpbUFvN=l1wjnwvQCmNHs{V>mg5T{5ERb&dYs@&Rnj;)s@=T#%uvY}WiHFVh0~?& z4f*=Ql|PMyc4-}4TcNOy>y{Uv6ifmWv)$uSi9l|DN|unC!6RaSndFr27ybEKD`P}f{wibzMv?g-?NO`0pcV2s-pDX=UQ$g-&J|x3Z4pKoi-wUP~I2ldoax>bIg#FPZ;1-iYUomo!cfSFC{qB&fInTd(aZA+Bm2ZQat!nl-c%emGvObt2}h;DDzt_ zWbP};k}Dd;4N9aFI@F0^8;e#5TmT5eShtXT5onUIUnAgrY%xR3^S${M(?ePrxh~a# zn(smxWi6lLx29X^WUa&)bfW7@qRTwnVL4w#_!H`WdG&JFWc_g(QA zem~j3xCBC)=Qa_S7Hvgcn8(f^VZ*&xnS`9iW9P*lwQ386+o>W;5i*JsNusMHBqH++ zk&Dt5TyPrU=5#XzuhXnKWyozs_!9e29KE})l*!Rtc5C!i0L-p#KJhY6!oI2U@`aN% zpenZSV4T)Jfb&`s>f>EWHYgb0^|UJ=M5Y`31aV`v)&xf)Wk34MfcygRl8R@?fnl zxuHb4#lp=?;IPg)*86hQI z4!Ed-*fBt?9ve&2agk*RANU&`Wf=6UJSb=S&oq@P%>_+@o>f0RKd1HX&FlMHU5#=i z_oVZVCX&}oelT-(A$JEU)>}mGo#c*GCFEil>}8%632O3QmkuT}#$r8w3-au!L9Z0@ zUNkF1p`Fb;b|TNtR9X+X-*|-Dswe#wq$$6f`Y{b;bZe_LLR^JYI&xN%b;Q?$Vtks> zLyP5fI<{TxP$$br?WdYUrm(Nd$qHjhyJh_S+m}PBqD?C+l)LuZYCXWH&O%HwjlT16zVUg2PYC<8_rMJfM$UJ9$Z1V=yk+pB9d z042P?Q7hq4TMNGr;P#HFCwog`o;9(W20RL*cWfG{AOoOvrQgT9G=qOTlMdx;U8u`4 zOY~pA_dKIMm*p(y?EF30gDU?`5aZQ=cCQ_#_UdUm;Q4LFdSjTu?xoi_KZ>qnlz)}& zki+TqYId27xcs2SynDyX?BN64M&*@I4gcmJTL)`fv=>%}X-4-p=tDzPU{L3iLE?Ko z@$4>)EUF0A{*nbL*IHD?c3CPWxU@#YyaSnL4aEe?khUX|CFFe-7Tcn<9@;AEPN{?*kZ8-gl%c&`hDWD}jfG*F`Q zbQ9lvf_3%mZc4}tkH_}!dGe}&@PN0FmsgsrM(L^oBZ+RuAC_XH+hWzB4c2%C;^ul< zpOW7~XlNyTX`gbb;5vJk?%Y>ahS^H&eeoQKVTo#Y`b)=mm1Wo~P3SCf~xaQ;YC;5(|mePfq2euFgk2R0t}EM1`YE=bk;*TG44W zwcwfN$emUzexDwqAG}5DLk{rM@T)6_F?*E3AshzE-RXN#enHj8*-brE6r}car0F_F zo`6~#e@~jDCE6)eQ!}kEcJ2K7yV2yZ>T~VWZt4)uEBM1(13g~!QaB?3#{MPZwItm#=oUh;NN>J4GnEK5Y)MLRw62Rhm# zYTqY5IkhWu5?Q7!dWG_2>PmV%{V7IGhrWP8u4*P36N;(RK1TMNwp*l|F9gUX$Qga1B)<;Ftt(f$auTjgDLkgToTc8IKyU2k*Gt%rG_?)v%*cVdXV zL|*AS6FPG%>H)@+EZEjf5Lpib2g8y6Lcc=VqSG5}{qtkvdVGw}-+ftd<8~>JiG|5` z+|{!8745+Yaq9EDkVu+x4&V6ltXk|PbV;!|%#j78=?rUWsmoBeea{Tyv~YxnqNKjZ zSFGbd>Gg-6?kjUo3 zPg3EFdqHTkrD>h?T)diE_p!JUIvk|*E6R!Txr#00?Eqpm69H|N@Z+HDKW?0(X*e{G(A7(;OB?97qTUC zb))*h03!_Cm=KIARaPO3ssmvd`wM5KAO8ybX$qq&kgH(yV@&`w8~QX)D&6Yd@CbOd zPsH!Nh}56ySA@`trn637^{g`T{5N!`C3d7m3Ud@ws5VT%%ME~_>s)_E-*Pkxv03$a z?n?&<>}Pc|af$Z@({GY=QSEinfwRmjgJs`=u-Eoob@?z{3r8*q%FqIVyk-0ldATu; z0lwcMa3L1yWF6y@KR4N3K%$4q2A|y_3yz;fp69*?n^hE!tR=GU>%=ALg#{YvhU=$G zW?;9U*W|s=CIi_wVNfJ@n$Bb@myZ}n zkjHIMgn31c#DdOU;Q!s{ybTxVZL&^nd-<8G>hE)!qOa%E*4qq;?6eT@$Q(=oiN&GW=sp4-=yr;hVqQ8Mhn%&rS2K|9{h*i6-g75wj;&_tFfP0hcHFM`n0TaPoiI1h>?VRy_)U#cGj zUCn&JdKWQ^E!w&7>1nWL4;sm}* z#Ltzp-+P+(idYCC|oOS;+oF2j@dZ7*ph{Q`( zreO2u|HKh*(G43LIQ%%q4`S-HhMr_g8S)k0?YTQDqhq* zUq3_up5uE}EKx7KS{+vs>R~CBrH))k?4}fH0OW6F^nD*w(6wuGMYmCC%2O#FI*t)y z7Y<6_M09GGGuLq<^0N6Xs?fGQq4PxE3;1O&zAyz(Iu`O{WOj20b)d%$*V=HQnF;N2Q z+!apniNu%93e;O7%sO~dMadY0hBSN1^IY8)bSDB-i79tKP)yPs9)4B$9?16}Do%e?*pr(PdW zQ@~puiYqT5Z8__PE0t+WiDt?CC)|0vkOS?SJ_>sz4}nhlag=?8n)oeYqwEwIAI`C@ z3iH)H{2U9jQT1=@#FWSAO%$r~%2&{~R6sV$E$~h25ZSdLk*1~*#y~^a0CsrZdwC-U z*r65m^idoL_IF+lP~fDqkJD>v9Jav`4a5%?<>axhQqr*91wBS;KMK1m_QuQ8sM`IJ zmiasH>t@f<)gzIbJm^kok*2g0@=!|B5Cx;-;B?)?IsxZt)f3h^65MZOpA+dyxt^4Mo?YNdUBo^yVTo?5u^xD} zF6r>ubmDUcqOaj#eo9fF+SKi|rEuOD5f&E~V|@dyH=kv*m~D% z>fEZf-Lx930Uk$2rl>=B%tALV6k&P0}$ZIzq9< zS7cxrqw{B<3+nRX4SpLWVe$$Ty=mzl&J7RVR>|FNG3@X&aWOLqePfc#!u94osW=WL zj<(Ab<>De?d62s(k{V*1;O1qmMQFYRy2}oCFVKD0>{1=s{8jjxaf!2+Dwc17N~JCz zrabg`r)Qr10^<{*q1)B-qUU)1%Ju$a%3}_zmfi&(=akBt@v-z|GHdNeXL;N#{RDO0Wh^ ze6kaO*4q3g@%b(VQ-1Hp(OO;Vz7hOQUQ1zBGB9y2QrhxsUo2;fW5YaF*;7n{IGzXG zDuM>nf8dO(iLHq^PrvbI`H?P_v2RDZ<6q`daIC&qXL6*TWY_!uePu0ZvD`b35n)@} zW@SzI{q1kO!KoE2cI;p)%1FGhNw>U5>8f`7ndBk&A>3lt7cky}__a1w&wE{ZrSp5|k`mRbd=|d;%iC*xWB-?dguKSVe$&Wmt;B{{*j(DdZw#ea{LaDO zp9gU#n1KhELU)hJ;cMZHo2c4r25bpn$_HrAWM-Pkn;`K2hIT^AJ#9~}1sX7TpzmUI z@>e(Ze@3LfUz(zyyd1i@*&azDQAe7}jfW0@mrvf`*t|v-#MIC&Zxz8~eVg&dhhqS2 z_v(8tEyblfjjh-ejVCE>#GiFM! zP{=mR%OP+Ki7_<|&36^eNO?j$IdnT!FcM@$Bt|6TytnxNMeyuICa0z4+Xx@spt4q*J-GQu~(1Y3DDW0X(r^yQJx4*O-`=!2e=C@t#Um_9$U0 zOcZ03k#IWa<0l!ro%hejTx-)3PLKTZbPCbEadNbKw7Ugy5`NI;cRG90N!;!ebo*+U zN8JSP$jS;|234l&DJz1Ovh{02GOfnAy6-0a@7mfZZvhB1rabc1>@ITTK)$Y8^Tq~R z?Y?+?M4LJ}pmeH@cNGsB@hSZG9ETD7WZ||BY3?`U#X`MCHtxLk z9iHCX-VsEeRW&>F%gC??EUvL0+mUWYDXF?Ae+ItAAMK&cPyRTh>82+3JTBB#riYWq zlD6LI{`f+O1l{HOsV1ISnmif{SH7yQX=r%+wQAY{x5XQsW@$JVUv`k5LG4J6xl{7d zF~$?yw{{$Io1ZF!7CYa#?+7m^c|?rtd`ck0XlSY2tBvHj;7pYu56VzlxjWJ4Eu>fbeL#n2 z)bO108?aeN9EWsW3w*tOA)p^+%fe~P(yD-D)04EnHgR+?!;GCuMEU$IyA;-Gy8HOd z<0T9dD*^1$J7O;?Dmc+vGqMlAe~S1aH^arkTNvnurp*cl0#5rTgh$La z;V@Yi&Cgs}2|c8Sk~YR2v2ERxJ?s)7VK``QWl67(bVH#-l$l(q3kH4o@9X?r;R@@; zVo#-AS6^YQxj=eVh3}mqGNyE%PUp_}c%v_)!jqeJ6)6>&;vVLAQM>L46XkbOEO4eC zbaAjxxV>s2vb3?fqPp|a9P&l$?%vOsF2sJ{XEdKWSo7QiZw^oEa0T<*=66&bXDG^| zkUlTSqR1Zt@aC(r$VT_a_38EB<{%H?KkSbFN1)i8EW8+QyWwJWDEMYM`6p4-?}keQ z`~fn=GU+0SIU+>%wsS1;?W_B_vBdmgo&NLH=^*~3P)P8@UIL4U>E}c$0aWls_}K4G z`@JALB;2}}v5u=Qc&=6oY0$joFUvBe)aqY#LziB$N9ix-!J803Hy@Ld;H`uNx}gGY z$iu1*E&n-R18;E2S4Ekc0h&U7CP4zVlWZmVX4R6$hKuFAH>Wz!ywGHkiy_GPj#^q; zmKIgyK1qMTb*f(GQgfWk%`N7 z7Q_$w&+#Uc3uxDvwcDGnTMufzd)=&u17X2Y7b48f?PTJMA#nRt^3q?@gKU&<;jj5K z6wzh%_0lX+ar30gspaG`B(>6a{Ns^650yAQlr&;cbC-X_7;MI^mDT?t5<7qrYtc6LDerK+zU^bIJ@kSl zUl6*;NB_S@nSdd+NRY_^OT*RI{_MsQympoxH;o4}J!#jWFV1vJkD=}f40K{hWpHU( zkXrhbJ}2mz%q8gytyUb*Mz4FIuoB@6vFBw(QrwJue$lhtwZu~{6#mfGW=V~b;P=MW zn+C6Zyy=hyh^1FE=M>6OAf=YR-ILWl>MH zRR&kOUbPr@@5X<8z*w-wpQ+k`{k#FQ$$6n!;S<@{W&F+EqnZP1dOO%(N8_?T1 zCd9^)o`+0xqPi$;sY@si)$>A6@ZfMpvX|vsy%EA)xa?`6WHU*_#$s4LZC9$=lVoi0#3J(T$kD|~A{mN#r==>X|Ig$Pi#aA@) zS6|&ed&IYg(Z~oExC?>Ev*JUFOr*=)p^qsy>PU*McpXLNOOKKrxA{y?-;;dx@N<=N zXFyo*pAyrO{8`)5!k=(FT4z34eET1k|d1QLK)4B%0Kl zsvvVYI~G|S{G-s3x14#o`Z~cmT)K4AQsCZ2a$8ibfkhKBq>2eOmOH2F())Y;7(6Zt z{}ovT6dI1&SN}j^Yi#Tl1b(Sy`GEJ%pbcO9BRWZdc~WSv;6g?&-`QmzEB2e}M4%ZU z#IG!zC0=MbUiJj#BXhQB$U$yj($hJS zdV%!iD5`|xUf*QY5SCIMZEI_RzD33Dq)vwHlHvr<@o!zKJNnf_VKilfWX}4%#f3Fj zMpINhY=|B#Oxzk$n-7pG%%B6E=dIft?Ie*)pko|{t?72&>r-K6_$h{A!02gUm}=Y;niA6vh9p*9D}k3 zfzmyE#8m!PM7jXr0Kqc(v0GIm243F+@kco>Bvba zQ!~2kQ7}qThEq|G>lAYc457ZQQJ&NoY;4Z;iI44$QH{McqCQFO#lbRU!3>aBrMz`= z!7A%fgXu`k#b0+0N=A+Pf^^80UmImeby~?o9+{$u$gwWeJRs0GJOpy;1W31Z0mH68 zBZDzG16d^ncM*l*hic8O=v%BVB^;xb?I=>E(>2!c>dq?6K%2tM53`Rd1Xt6$t>b&i z25$60+)~M-^r~*%rT`DYm3V`fjDF2Xm6%UWRCcBS87dpdTD`Oq9yAukZgM9W3GONj zRaJhM74l-Q)%X49fSVgT2DP=Gt#5V*U5Zk&$IsR_?r;2RY5WXZoH{q4k(=2)H=}lS z3%kqK22{G6a-uhs$x6A^TxYxG*uaQqJfyBTVCh89i;+q9oW{tsaQndOFKNqMSwH*< zMpzbA?aa-EE|x4G#vlHPsmb=v{d&&y&-C=pH})WA?ok9PAcHS+0*vk4>)(JImG8C-yG-QVzYz0jOTvot2eC6EuGe z%?_Nhfz0Ie4xN}Y0nKAdNZU3dRDA8pA#e7??g0(c?j7;qp5IZ~6yxO*&=uAGD+lBS zU)sr%2UUu`1n2aRhAyJ;HauMko6_b0U1=)K40Q#s(6+ z-RT3##|9GX%jP$xSl>PBEOQJaUrw(n*qKyysQuryVk04<{auy^*G(1VJb%^zS5?t|aLQT_Z z1i1SA#$7JATYN4RjkAeQ;R4Ke%ABLDO%kitKZ(!}<5c0}9-8lTI$8iAJKBcbR)Jca z!)Gv0+d3DmK3pqdPkK^p{o!5wDuSB?g(s13DT34C&mi(f}DNgU}}q_$t@}x9sz| zR{s30u$e$9`u?PxMG*Dzw8WHTqw2|v8+B$1GXaZbV5Xp&i*bZ~wJhm)UJmp*OKv0E z=|BJW5{Fa|Quw8XyF=kE?}`j1c=4JdaO-e@W}T~9TQL4NHQ{VnF;Mb}xfIHkE5#jSfjV(r+qI4=mL;!m=X zj7grtx}e{j@18bz-95_v`2{gCOfg1FbzXaX8jpW2x}d{To0_Qdd5{v095W~katke2 zF2}wK!--2cu>OmEXm>-=_R8USq51lQ>Q?u8dA450E@olr<@4$fb6?L%I&?F*5J*OU z31dJh2=@-nNePF)#9192r5+q@32_Ev2`JM8jVb*%;TpHUuIQV3jDVe`> zcR#B4&zyV24=H%QI@-0RC|3nqUJ1z`XW{f-{<9xxB&l2(vqVWf@WnkbHZ}loz!w!1 zMsM-rbF-D6;?gbpIV68`_LDwA}LFh37dd*0QJAf4pY_#O&YYs?UR5T{o~SRH?U9S^g9?bu+HoM;yKQ1JZb&d#YnU#U`= zN%>=jp*i@KZ%wL0$9nnQqB&gR-2ZE4G%kCD%ovK<8{;Z;K`YCx87Fj~j^n)l^qZE#?|8k|XmU>%Iu#5L(tWoE7`*;&{H#-4!miP_ zj^YhiX>*}Ly=`buKZ`)bJ!<(yN#@obh!Q`#3WyLC5C%8h}OrZOy;GH=KTYCXFLeclRG zpGo0EX&Weo?|n+Rb9a2-LalGGG7gb)+cNW^DMRi_^tV>F zl(|?BYXwrJ4`=Uf&2Loz=&WNgyzKi%GABi!dS8u!nSlgH4jUU8y2{8K7+1mIw*GA? zFiP}G6`ea7^3Ts`l@G|lxtbf5nd@ioi&3^tv-#zlK6cs*;d%DvnMsXf92w=fGYhLp$GMA(@;F?XJBOXH(>#DsdvV`OgZmIa*ZHxg70+?r|$Sv zvB}u$rlqAkgmt|(=UCMgTR(02r3)&;^ISNEOmWVMz4#!qr z)}3zHg@Ss%K_SeamIvytM2G3dpKqIl_j-ln)${_}0x=c{DWE5r6C~EqQc<~!!e1T zZfz0rWY(1i3s=7;)026R!jLD=rz~niUaPb&CTiF|SFiGIN2dtx{dpch$j)`M7+}~b zCYZkmSn`N2`#KnxTLPrt+=9uvNx z?n_U(4(asSn1Wf(EVg{)ae-bJ;scpj%Bm5h{AhMabpa_fspPZHbB_m`_6|!;-`_vt zrMN!K%ILsjAMtUE!uR&>oP4(hZN0OXV_i&RYW~6QcbwUtnQN7iXW>8VI(F{KlYD6# zqA=Bb3yrnU1y~-)fom3ypK$-=Ip>mET)@%R(5G=*$oflhmNEhZJA(~XBv&V*y6zoE zErM9BgnsibQU5B`%P$1I?!KNNUtbaJBuseFN2=m~E&R~Vq$lXMg~;Jy#E%0ZzVt{^ z!7$5Y*{BHU`_yd3a!UT`;1M2$YciYlJNSe}Ow~iQJmOSta5*K3oi%H2zE80WQsa(-OJ>6G`X*^`-9+vQwC}WW|wD#1rTx;fHUk{3HS6yyfw^LVNQB{ zB(s*FQeU6`dYsl(qI`osC31EviDrw)&A~sz-XeW#TO^g{O9w`&fTYl-0v6*)FxBkm zUAx;ZA8#p&Y8Z&k)X9Yb*;z#QiYAp(Hij}a8A0%i-`JW8}HPkO0bHlWJbkMv%T1jlU}>iV^zDbhYK#rdyMg@m{zCz~S096ON% z4%e*dc@;M6i~atO{j%hpz;A-~roRtdmlvo4Z*%0D*dbOTYreP{XX6bn+#G%K1g};C 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ⅆO1vp~l%<3Q7hINU$jx>*?r=*DL~ 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

    gc(_D#|ifu8%f5mQjA*dm&5h|*BJNBkOpgun8J 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­w&&ahW)BZ73#(VpW0->qq8HZs}tOjj9 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

    >TD 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 z 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


    h2NWz%Z|;=i8Yv=W)XC}evXu;$*F(_D6h9U2|3 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 z zqJIjkqj7;hbU4m442e*ga)b);u>;1t!M@18n?tGYDts+o78x?W68BRLMjEsE1b9*R zHsADobGTK=pe{!jItV2xH&K_}19Z{qq({0I)=HMj*z&Ofh6tJJccYBvSWSq5KW$ux zpF@qhKe%6T1o=MV4Cs82TB^VfGZd0Aw+<@|?KlCvHbxhxWL z=5LDQ6s-b>20|B2cUMmzDg&GiCjZe+pd=bcRYDebk7+BKz%XvkjtDQQG8t5AMS~OD z|C%z%PvNjlvcm$ZR_n#}$F3qHoziC4FTcn&ac7?ZM;1-Z$Aq%JK7Ej{DU&mMbzr7%UE#yx;IR5w6pX|Z&N&HXX@kqz!) zFqGFweUgx$!a{YVD>g7EY5>u>WV_*G!y z$o`kN)s+;l_QP|_o0=?+L&QNKi8*|eBkY{NGs+6)V8fqwV`VW&3b-Z_aVXI zAwQ}Y)o(NcI!{iA9WVlwGD%JOJZUraWWFYp`yw4D9OCBOY-r)=eniO+3B#BY9L%rHArkF<7x2ECxo%}* z@SvrW@h41(?*Qdl1m2w=2GnK^ycJFDmv-P_BH|)*UsgLC-%)gOB}NyJC7qnO`H4pW zCQ~T^46vca`R=!j8*48}CkzY>uo_ws; zK}j+fkk3Ose&*P3WLI}(1ZM6Zv}D*#LTnn(p?7%WlPYU%o0XS zOdOX+!l2LQpjR)v{+`ELd?#cjI5n4Vsz3&4=BNg9t&#Nx!(Q+>#;_#WKFQqNHC8_ULpZ{Ik9Cfk_9py zgb@{zgr>QKT4$VxwNeG9_)ri3n|nYH^TNi)uf4^^JH~P=D~HzC=OtT&%wk65*9?7@FGIVvHDVG?4k%);g4zkEbVbl**0Q%g>NCv%sz-SqJKa<}D}9xsR;HJNcm z<4sELb@MJ!*5X``L#RWR>Rd0Jx|}2^cXmaTtTU3^Fre9kU-(w+<=u@zLME$qo$kr( zrHIvCsSENy&uD)Yf65wSnWS)7Snw`|?zyoaC6;08?5=w*#JG6GCzHGW&NOI?6A_wN z&A0>-vGRRt0kz2(rSET6Xph=9M%h_;=rS1-Ttv_MXNSXSwDJBAH&0DOd<+N1o!cAp z12gf{Ivm@m3&$?-)eiJIOTu5`_opb-nz;*y+4d@No5tFGA!*Ab2*RDHQ-b$KoP*G! zu<6#EFL5`-`I?@`H6voSc*nG$Qb9q%!7KE){YA~q0AX*dg4+FMBXn+PqnK>1-)cujoB@V1NO6`VgkYJBrL{GV4OW8>H~(K_N6Zi#nxW!03k`gwaKJ3MG8_a(5LGpU#UISNrl z0e9XNJsKhr5iB=75_aHyQ1WM|V{hcoT^Te-Hv_GEQebtJ^M~_izhiHKnZnR(41;qs zuNKb!+_|i}vp!?IzgQ=CQtB3`L7*pSyE=(&|Q={_ueA`R}>H+GRq}uw|3)DwZEF;guK7+i@Q&JD8gmLsK zQ;@aLmC8jH>xhI%`C@oNPR8r~xPNgMrScJ3!br<*XPf%FM1;9Sw`G9km<6Z**_(X! zKs{-MN$2QB+zwMQmBH1bx{xA%HS3yc@b9ZzMV>`rUe4LQN%HyEkO1a@VbtNP&KO1d zVSd*GnI^2z18*0(47~Hr;;GQHnWGUHzYMKtzGu1WWKbITYug|K3()Rwoe&RUIXjU( z6od46Ob*Y}duHmp+=vu6RH^9%qYLlZRIc(oC)&$DLC_!omUR8uc^W?VvSixkDK(kER6Ku>b2z((8TQbJBQ zFm=Jw90Sj8Ry9p^nGV6ZJ1l+>34J`iU)`iwT%shgu8LA=c!N&KMGzsG%wY;m);0znO!qd z_xTCGP9nv}>^U}92QLpt#E$^|uV~4p6eBW;}1p`VfKHDHJ50ekmzhkGl(lbh{>9Q&zfjow_{j zNW(uww@LyK`cx$QCrxRX$r7qTCl^$!iXv8G4e#glA z4WiP>T44R9E8fsz0YFr^>NXuP`!KiX_a*vjbAQ)_-DT23|RgC|?oA*9=OCK>=oy&_(b%%v)kr}m)p~lt^KPg%AZFZTwO-XPpJuz zQL-LKV3NXC^^1YsKecV^WI(=7+pUu`Gc;tALpl{29;4TheC?amKY!WeuJ-0W-JylQ*dJ+rTdqo_qG=| z)|0+x=V zgWFNfb*Em=Y&<&BvrZ7~uZ}$HRWgG5wmK8<;k@;0ZI&rF&7*t#(YEO{GOyzVg)zlx z(X!mZ^YCqqeR_9@TH=L@A^ODBttH!yA45FO>PqW-Z}r(LC2UsoXbSo1Xb(*9!br1MN0kYn)=+ls7YZf!qCo}8JWn<=Iq|#u zOx9vV08yo?VQz_TPdeY)QM;lPGGp*=92!OFS}cR zevhA>gwM?`OS*iwiMY8NP10QVnc-BYzXT}5Cy+Ex9IY2}U6}`{nw;I{j_8|=YN4}c zF~-@Bw4h^w8|%bM5m!m7`+DbUyglvU$AAWnZVqsk7CU=x_;JLty+uTP>H{2EF2mb{ zLHDpWidX)Xy0FKL-{Hm0bQld?@g9ajtz$S#$oWntZ-qBCOVkn&f=h@%GCq7AYEIej z^nc2ZCOPzyqSHdqYRQ8Cs=7|er(p_JAW=oU`lKt_SA0B=r2sguqU!fb zgmpA)T)_l?CtXEiN7#6qnMaXIyGwdjDn@rKK*#QjZ+U{n0Uk? z;Mh}OZQBgIJ>^)a9R!JI8StAm@|9!qHC;3l81Fb2#u{A}8kRHO*EptaU4*ja+sSYF1{hFw; zP!-r7_7s6^B-#iF6m&N2VALR{mX4q!nx(W{iYP2O_oPM0u#bEH66}Qj5Ukt3*#`kL z4>!Jh1@X(1h!S~?=p&%)WPBgKMG2KPf%!p#4h7P^dhQGKCFR41HyfUviV_FuXMU{vNJL&m!;)(jTEMlKh{0 z3Pu+yti>fcoKriJkb?r9NaC-}(6Uv_C1lvQXexf$aL}~POe}X!3io`5@kb285}?dw zTMkt2ZJRWHfN?T$Do6?;1VMJS?HH(oFJRPRe=p?YHTxa)wtvjf18o6tI>HX2S~g^; zk%M$_O1)VmB49fJwY&|3SE58N{3Vy(RZ)#f1*6uUx7f!FLb|~BW$u%6UJIt?+pDYX{XFt&}Ee_O<( z2g$f7C`h?V5i#Vzz|}N1n7aJjdG5qkQ(`_A^ei3g@S^K zFBn-(^;ffXu*O!?H?=fh(`Sa)NwGPIXL&%uZfq1~w|1+Df$a$xRC+SjJ=xM?pmsP} znPmOgUEJDcjFzfs-J_c?e=K=g5&HWKp{*5Yb1dXkq*%-j36FvOc!wg+bvS!W5=$ zb}Af`POkMj`I>-P`0DqCA4HZMPJXTvp$6JxluMJM5CelCiM0A^iloq>`Tf@j`3s=e zb;;$R2u~QqFSR%0wU7-cL-e&}sz5SdJ|C#g&;ay2N$;WfUPA>qQwz1+r4$Ae!Y4V4 zQ2m1}{KD1WZQpl}VtO9#9jw4baPsN7C~<`aeu%jEXWFmN9e@5;Z07&|`seH#usxRC zPiQSCC4ph*1e`~o$s<(AU6LZNX<7eNHrZGY3kw1@K0;|Nb7QS2SCwR_^fS#$Qg#1H z^(x70hfNf!m))`Rq(cWZufNjD!KvovRdd*PJ}e#g0{jKgaVv;YSZg7bI$8Plv|lPj z{u&Gf66h5eV3g;V%ll_(RV*Wq@_YIDlFgweDP#gyvWe zPq;oXH&>{*-XxxwuSqtlJEARLiUNEYuSsE6Y1W5Z7L3zvR|3wUpkZHCLkQ*>0y2thG9jS5FET-i9wXH_Brdr zDKC<0o8CjogmGEe2~Z9gZ9uqAgK3H5B@r?Xpi81#NI$fs1KjNMLC0N4FjRa#u$SzGNynVE&K+HLm`(L4DiWj zkeQQ9e?CgYKMx8mbw;WLE*U1}SieV&MF2j%jJ|s?9Xzy(x>fvmY3b4-2`3LOevi=& z_UwCh{rpvtYC@H*;NbGtaxh&B)sIT2-s+pUx0*-mx}M3~ZO7f~J?)1iTS5r$fm^l< zyU?+MB8wF*&9A89G$GQXJ-N|*0ySzor5| zYDTnRu$DRe6DZ13AVbt0X>QmK6nGx8#CH!4?}E>sJzG7g9t1De0KA2t6I$yyLy>+( z3)QLC===6EL#a@xm5Ryh7Q>z@kfef^?FH>Quw?1UhCIV<6PsDhbBH_?%+@^U=m4;T zL2s`OEXJrLt6(z;vzoPW7*qKVhLjMmCtD^jaYLP)6maKh{(uVH?kx)!MdG%CK76Bm}q`dC3_^l&RjdNjg*lI=M<%b2rX-t36QNyfOZtljCaK}=h# zjIx=gQ`gK>UtbLvi^MHRAnIuc`>XM+hz;P7*Rkl)kws*MImzT*zjX$+{cCYxc0I%^ zhD96RUTXlSb2`l&be$*=vcZ)ewqIU(*BY$=V zG~_b$tbbgobOHYySW6a)j0G<36}oXdzfQ9UO|EB*Gm_dC3+W9`p4I{I@~=`VYn>XG zjW7leK2$YUSZKlYz>)YPgZ4dOQ67`Q{NfI6G zicKXe9EC(scHbA$e`|Zi4CB}jl#Qt%V{W}2RY;NJ<-9r6xx(9z4PRVYS-Er|_lH%a zAI#wuC*Oe=$8G<3Qj}d$4UCEsf{L@bIR&(~=oWF5aa>%n#v}aFW?aXFuKunkOUIU3 zwRAToww1}8xbz9oCzb)nNb?m`4L#^m?7`2vOZ!H4#}M6Jt7oT0Alb9w#TN3DO}x8? zd6*zdbZN9nwv-2t=(UXA;w?YfteAlNW5tOG}LBC@%eqrs88n%h@8 zV#1BVK3Q5l^0_aT7%Q^p`y_PS6|GE6-b`z}zH=|^fsNe3flma+L0^(T$w~gtT6X;2 zCUc9qPYiw!^!r@b5`!MKQGTIfC-WibAQL&bI;2q+?SEdvx{HD#sPQ(NkKsB zq<(gpq;~m-4>;99L%a9zIRxrgYy^-kX`N7^NO1uM0HNTBuS#x%kfpl_HjCJZl0eF; zoADLqMMStzj^)^EbrDcLblOT`wO#|tGA9!s!Q9@{X6Rlu^>wd+Zwm?PafT$&Hm0hN zeSZvxWaZ|1dOvaGm#QB^}i{LZE|zbw+TC(Y?%@}6Jg7D7v8RIpQW|nOQ;PT7_8G! ze5_91+hfhx)oCEXh=%mZe$md)F*o&#=)CN@I_~;2+S2l7{R~g+9uC_cH<>|NF@0@(c4V@|s%5X%>CyB~5J877n9k~%e zt15b@0jsSkd7_;0EHfG399u^#X3wwBN+n*SEH%e^j?FfpyI=B}pM3`k!`!TqL5tX_ zaeo>A!-qc;`qu}x@3fuP82HN4vFommT0I-I8dP5IUcj3FH9He`x&qFZ7ze_ueJVDq}GmG*O=cdWiGYZ)&v9=X7PlLnu}rbO zYsFvxSXoIPhuJA`Ry86lswFn8@>ay@!-VSU+M-IlFEijmXLkJV?)q#9!=|_8(suyn zqU%00^IhO?%KOR)k(wj(i+5UW8b_TQy7DDcW@5HhZr?kCDx^NaFA%xw>saWg8RPHt zl+MWD`v5~m>{Jq|)PetTfk=2nJn+-Pv02|9AXd_Y|9mMqP$tC0zB1b1yLnY^DYM@V zY`6)~U$U>n|H(+>>IQlo`chfR?b!RRD7>@DO+6^`O7=+4Y}L#-5TI&h zb_7hGLC*X3^85DHL}At2Z(lpjzJ?hCq0e4|mB(?WV%HZIrdEI#2_T(pJiZ?X0uo5X31C|f;h;SMkn*vtP%)vp(oqupZ%>qTd znR3|%U{xraPXIISs_eRvpr`spvV8ZgfpmWqlT%c*TNEO5DefSNEPsEiYAz#jH&#RC zjG0P%x&0^Ye=~L}7~7lUj{V9{_-kvpq-+f?m+ON*>2!5!a+i4zu{P^{$>>tClC_ni zIUk?-i;Q;BuwU;3Q5FWhl_9PVWxz|gh_DW}MfN&*g3c_$vFRFh#E7GorGd6g%1ry8 zidD|(S?%o3c@$Ct@i5=`(m&o616v*U>Q0%V9xA=)!Y7-Y39CM(3Kf(K8xFC3a}V}x zCUQTnEE$}f|GMenq-9?;(U1Q#qk5V8#tUw#MIeRpnVU}e+zX38ghq(ImG#37FWv!w zd@rf89{Onm^FKp9ClUtZ+_?eH?oUd+xA>65FzYG)k6x5=xSn9*IF{Swesd_v zq&Kl?yjmLp^9xU#NO_IV&=Rs2QS=3-bomjU4yjszvCo`eSUU`vQ{X3o_|`wkIF}%p zPu3hamwNjZnVNItP;-Y(Hq(2$mkkXV=SYos{MCMy`81@4R zSje4KKGRZrOZYkdTh%J_NeD}b=Z}7OiPG{e^%GnNo6@RVPD)aH42cK0Q*JU62y09e z3bixl1EdrZ4Kyx@EH!&jXduSUPithZmUt z4&9oKS7rV1mV&Q|lD^j!Sb*xTzK#y1)@}>{y(NPvA!vgWM&%Jo5@=tQPyuQi;OCla zPnVuVf#IuwV^gIJ$g8r9>Xy?}*&k0s-bwCO;g9X`S22K}cGb6ExBUB8rBzNA7sm34pqKm56AW zMmvCoVntSA;q;R46T*j?5mqp2(9s$Vr80?Uds_?k23*Y9KZ%>lmE0#@Nj&NI*r^^DJLTW>BP zOy!l_avYJWv1f*~5LN}&320wClqx3U$QSn;(qaDUN@QvNl)3JJGdB+BSa?slbRe7m zKg>wX{GU@_xBjfe?>MzO8gOHds?DQ7$`^W0`(@x$g&^FySfOJ|0c9dT8HUj7Z5BBu zGKw^xIW*G8*&U;tbX)D{d7!%@%@T{tXg!M&+`sED&_!@S3R{iSuc8R3d~xyQ4+VAP zAIWvms;{vQUOrSHllYjBBuV-k0aKDX2Fa1f^Mj-fh_&U61?qiMq_7Zt9^D}S=5;b; zA)L2qX0GrCozM4-fT9)x4cSVH&rvGfgQ8^3_4rGCNEn}>xbSmd8_>I(ib8@{9oRs7 z4%Vs_7l?>l?th&K6=s}OC8NgO6&S{?k5S07e0Vnj=;nU@V{A3k9G&j$ECj#uD6E~j zy!`bls|kfP_nkxacZ{7<0BcGe*35NA@=1{eZXcT#h9#S$5($m6U_Jo^7A~3%OyS74 zGptTMNF~*Yk-y$KJGvxz|GfqBIbnDZE2?aHsw&ra_|3cMVw5@phHIi`yjSs#a8fEW zc@90K3QHbUKj-0rH#bQy$EWk5!{zM*BBm5YfwMl`|61PU#|m1-+qd^$vmY2snS9@E zuU_oYdAzrOB3Q^^HgYRyTc z)mv#**mCvKR0Vv zQ|_e^R`?Xa;@hl$_LV0uQ58+K9tN?F`=llK5fJnuk<`ESU%rJ=UyybEL<)|Eh?n#u-)Us7nA!m#tZ&vv(kRV--x*L(Kpvj7{b6G4p6`9_tQ#M+T z;8;6W8CQ8d( zUD=6cZ34(P8&#MZUmvAMtVFbWJV;~Yf%j-niJWQgE}+Khr+oezTA)$}Fef%MtHV_m zXEjP5vR~%WU!F-(=Cl5}{5w5SEO`1;TWllz)>R*D4S<7-%`X~H?LTJa_rV>42p@?3tRVq$gI_HQAX^x_^TtI2SBT~kKLKWDVoc~cK^EQFFI#}`9m;?B2% z@K-D|Ff!vTVR62CT(yNuz|r;ZrbQWpA=Q%aBv24?l=1DsvsTVd-cDy8i?-)b$oRN3 zY>X=jyW7s$5KRkHuW^9sRfPHo_BpAMC3CAT#l&US5&}XWt}pimo|-!S_7*|KhUoJZ zrIXu`1@_FSu}4~a7%(N5+uL8g>VO-?tRJN8Z??;a_QA{dHy4;uGq$sL?>;@)14NAZ z9)MSK+U#z0Tu>o(YN|idCBj24PpP(nI7RhHS={dA(pP5Mw->ZC{`?$?_i}EgE@JX8 z5P_1TIC%T9=;EK9LvbvfO71{*{2!a4ilxY>Jm`PhYi{`3$!T&T;&!^ha6O|saC7EU z@XRHfhQaEOpL>sd) z(hIDR+w1(Wx?v1}KX9;6EIsmPqvK$a#U)C^Zlu4|p^xR7=4K77MW1mgWfdO$WK~uY zXAPJ`n~}yEZ&^h{{|vq#8SoFg4S69$OshiI0=?}dF%5tG>w_j`Lj6mof1XUMpa z`Zr~{VpA()T_+_MocZ73>sixbUn|;c)o(l7{_}9}_gz@(%h$BQR!BjtO4`&?eYvf} z3~y)HF|I%<9qB|mek~7ZA1`i?IqRhn!O=@;4;tLNyV-d&*L49i1VQP$?ptW1Aam& zW44$;H4u`&YhwG&e27{PE5ve4F)PZ0?18p&v~!7~rm|9# z6}+w{s^;P=(hi*yPSHC@yw!B>4VMMGQR48GuxlG^Gw+w4>`)OP^qvURh;K)-K1gIP zblP@sHd7_@AAu_e42FX^5i>?c-aP5SxlMd`Jhh$I%(PASG02`QXWnv=J)~p;yeGO~q>kG^NyVu;Z0CPkstg&o2;PZo z#t9I{h6a5L_ZjAp>rSeEHofyP?%hD2eJo45EF;&+;kk)#nnP9?IxJM{u|1>8wI9si z<#=kqO7n@t)RuL$PECKB`iN|pU-4Xq{NZtXdZ!zo7*N*3ga#8(%sL2&9g_abZk-NAvVpc63g5Ph&%UYcR7pMM%a({@cjN zEYM%Gu4%~Ef?L9kS-M?{i#wwZJN&j5{$*hMg}~lgbMUGhV~C1({!KuuFaj1LXo&U> zW^fW9!_%31)_c1|V&f5qhqG%vlx0~cd}rICiG?|knBJB)1x z&rIoysH)IDOpZHojE%GZ{3HT#iW0tQz~=$@4?Slh0Br00UTAej6R?B+lgU~RsV#EG zu5S+UcDJH<6>H)Zx?F=65#h7iGr%846<7OdEX?ag>XXF6N>q?1V2~ zvF7Nx50u2m?d{!>{r3ufrfp{PXfoztlPQJuYzn=xd8@g5e3}@s z)}60EGqa07d&zUWF}PN@`;Gudf44b>K|%dm{yuzz2x6RanyN{;)OMBD1-kTSdv+#% zPn&e3#z{1QM0y$7jHQTw1A2W+yoQm5URZMS6on<0<7ZnCy@)XrNf(`Yh)|As?nBpe`9TBhsiGStx8-8)9fxK;_`s}U@ zLB9-?h)RyxwS`{tWYgQ!&z{B3y_ea!_=dTR)bfajrGVC=bo(SA6EqPDue+O}odpHR zmJ(^!=P!?s>qMxySz0BtF_6Qmxe_9LIkz{CHQ|x-gi{`CU-z0UYiP8%hb#b&*~ z>G+M_ymQ#X{DRoK!Y+`l=_=&eiF`gjFR;KuqQLJFVScEoR@hE>$&y2^Q$g!x zWhv{p$va;rjwar`eegOCES1ob>iR|e*cN66JK|v?tz`HwG7pSZw;?=tMwEri-mp~K z&KWlWO#Kp$fx5$E1mgN@E$oc~O?D~egawn{M^i|k=Ou&5TL8rcC1dwvxS|(TBR;PVH zi%2}j4-Ki054I|o6B-GjNBM*^M|$~934A4IVLg#uKCpG>4s@MZfhQ5{d^ExyZNDxoeB4eLaW>Tn+K?#{ zTd7lyLVWdZG`*jcX#RCH=pLJn6&01w?8mzH2+K4%VvdG*K~c8CKt02R?(+pnMdv)| z|11vJoZ*o9b*5fQzLbV^>xZ|ZLPbHdl?5O`Ku*pV7QcPQ0)}axK-&Tul?H~NzefN)J2ft1!m1Dj zmGX#U>wfvq^(m z@d%_+or^*apD!}}A4%nT*%}N;K?Sl6V2TwIU}h=-YXNQ(m4#sxCwIk6>My6bjsJ(# z8Z#d+xV9U=cS$0Ra9kn}9jFH9q5{v8f!taZnx>c3OUpxB3i)M3(zS`9uN+`#nS+{q zl}d!U`=fqZUTKnfDc+hwBcQOnU0aO*0t$(-0IsZdRRj^Xyo9`jkOWy$vYb%;nnoZT zC-#GoF#m&y8FC^)1dLUy@h(VcRbNgtN5ZNkL1?L)P4CSK)`vlUgEZCKo-Skp;b&nP zqoNL#-ff@&Iq?pR5E`DW`MhLUr`0V4!BU1>z0Ev92qBPVt1{5WtHhNyW6{x%kR zGN%`whp!Kvi9~?;oTvy9%7)W-62cyVlyFxyovVEUY=CuXhQNGI5&=#FJ1ZbSWCDt@ z%%Crm8e!d^V}EJYs%jn=F(IJD-)q`J1w`=XqWAB+pOSEgGdU}%FGA=0VM+Bn5pJoe zlJg{S*t=8#)Ih~D3OVuDwZjVdQo{FFB^APaHhzmcuf-paBVjL2kDmagzQ{AwI3fX2 zIHc&?2UlM<%CK+6aj2`NB9x3UVEzIWbfA6JVK996H)#he@jzQ+|7-G^{nD_oRAi2V z3R&8ZqBSnDI(%*SI3`%eH*4QlSAJSd#**bu-8DU7v227pqrFKBlE18WvF zRUH~s;!4hL1k7`t9FJl1AFlE4;E_jQEZNJ4Ynt9qx|Y!nKg1sg>w02~ETrdaDb_jn zGs7%3v&@nwSA+5`6@bXqvzc4FahZjP2tzDe^GI6PY4%th5IyR?Zu0;oTXm+l z<$UbSCX*+-7k%23b96Q|`c=4X2XpEa7iohWrLXGmS1fzX-U3*&E++NeUYR#VKhjPi z_O^pBJsqihOA9z{>gDD2-(S}!^or^iqS3iIV%cJmv!Tfv-d+zzDsbVf`XmhSmp-Tc z&F(VcU||TPB4@N;*AlzaBNo~y>=@d|<<1hXcxP$U0cge0;c`o9r49P>zQk~_6k-BL zH_aiR$pJFd>ZzRc375c?M4aEWc zU|(h1zSyAI5tLlvYfs19x^s|GVeF>iD?Q`i@Tyj3)wZo72~+-N2-uWnwNe+lh0}!N z9@D@0!7vmi$!tHNe7QShd6QhCaC3NxZL#2GXe5OctPOdO3$JBo{oc1?K$w{Un_FQvGz#6<|2H$Q`k%XWnyt;$ks%E3&#?LZWuk*x1pmu5JWi zMYPA?`7`q8OZ+$4i=K8`-T5!3es%m|%5CbO@}cnx3m@q%Ezq%~oi&Y1R7e1>Hh}%^ z@70$dh(MTqy-&kW{ryc_L`R!fO#iBJ%2ob=(b}bL^j}4s!R|o`C!?%b2iu zCQm;u?IdmuHuS|CFw?AaI93<2q$f~;3p+Uvt0Hjd(fIB7gT?icE34C&=ta&Rw2q1J zA`2M|rFCL;%kv%(+qNCKQs?dE)eP`4TAQ2MUqa8p7GO!byE%dV?kCht;alwN60b^` zrdx)@FtAG&^S+|cWc$EhUyO!_3;6G}4bC>Gz>@4CPUn@> z24Y%Idtd1_=|YUtamCpqkiT%Enr*L)w91*B&WdHgHxGcqb+K<=`>gr6r6x$~G40&b z(oKm!{uu_{23p5)}_PFDG><#>5!$TV~DdsLBNzB zel)p;g~EPseihbzPlF~w5l15Bubof!d$E2xL69vQ2G1-Li|d$Du?L5(1vFo@#36^* zHTj+p8nn^g?X*0~3DlF2hgO4Cr&G3n--R1@JoWOz+E`TQe4P({?0f_#Ago05X2-FN zKh1={@_RAB=*l1dMSFi$1rFTlq4qHIUC$uwJB)-7;5ZAnS zl{r>IISraUr>$WFnoqr_QKGw3R23 zOu*Kn;(rgV#%~pMPWb~`Nj*>};E%2-xfDkgjna?8akz6=dR!1BV*Oq3utfJ~Zw;?V zoRC^6Jofll$|;4P%kGIY^r0{Hf5FIluD@dpd%&6RQ;IxrqKQAScP|#JG>#$y9*f9n z{43WP$L_e-HWf~t(ThsipXKo?mLGl@go-TL4;W-s`rNr2y$%bGp9QVxb9R?h;dH^_X!S-J=(NyDm6Z=Af#yEKFYz)XI@6 z!@W#S>?)%WITOj*U)k6THEhQ*5B!_i7AJ;hjgGP$k8u0By4vh+*BZzF!_~Y0GyVU6 z{3CiHFGlo22Zv1NOiq&=MqbPz<`ByvG&OU`7E(@?bClL*j!BtAY;u_Mp`t0rvTQGw zB(WsKoR8n<`}@6IzCV2a0GG=yv*+Xac-$Yi+x6;Xd6{YetMcIpSKclCczbzjL4T-f za$y4|Fci6VSHk`W#`jWjGHb6aGVAm+-kfOi4y~J|D{K(6 z4AcR6KdkPtn<5I~X?7S*zRC0LeUP@UVOy$r>(l6)RveoZ{2+R{) z3@L4=(OpQjc{0*GZg+KhSboE3sT!NOWwc~2Q}vL!*Yq8mtd{f4|v0b}$QoM<)ULOW;tlkO}(N*iv-CEbSn6`#E*HJYhF=W6A91 zAmiEo47a#^26wQyo@%~ZHuvRr-ggsuF~l7|JA|bl*^%x_}lS2yQ1mFH>UFm_yJ3=+OeiMtZ2PFnTekGE#9^h zHwlQ{4zX|Nsib?ls@QPyKh#`L`nWQ~>yOPd80nrq*TxaS2w!~|kE^9 z<)M?XIb~tW@4eK2o1*(o0$<86%GdsRWd1*&adzKLUj=E2K(YPhZh%x3%lR5Q+a9uB z(EUFQ$6DoPLq^~H+^zWdy&2v=6DG_^E++oAtlz`l1;>N^)Kq`jgT0FfKxinaYirR+ zK7J#0lHd$;Pee^ic@L^Saw|7<`16U49N@s{Uqpw_C{cNW|Q`o|? z6fG3t9Y7;|SPZ#SPCSZ^=9tId;&OF5vrb~v*CJ3}7Rjr(O#n6T&Rjp4Er|n0i0eip zw*J=jkxN}MKcgHoBfPj1Vff}2T~-qKqINHDj)0pR4{Oh~7ikFHhz5RU63Vlfm|M4g zx2-RPYUBk^VG5r=(%s^Ztml0F^7X6P*T|wRZoJ4gC45!dpKO|2g26Z_wpi)Ygqp|a`QX2;bBWr6F&0&+v{7KGvspZVQvs- zZyk7#$KQGFL2&!uF!9mBK099+XCNTpjez~$?qtRnzD2jU7xJw&E>Xdm?%{6r5xObU z^Dgy>H`?*P#8Tn23%K3IwqEny?j>iQz9_oSf1TH$53txCase_x24*e1w`m!dsb1;M zi9|wQG(;K>?C(Z-mkY~gjxbGSxtaCjUdOHy5oW8QsiL3$6;QB*Lj~SL>7nz5_KG(u z=XJKw7a(*4%rZpf%3;g0&^Vz8-?~Q*Kl6cARu_eG#oA3vmcur);kM92N+J9f4-}Yn zf^@wPd9rRV!GbK`%A6*#Se~Im=`{X?BoUpO{>G(r)fyLdN`s0eL}k{m`ve@}48QqM zP}m|sp-M2Y$h61puBAx*Tw*q!g`gl2R7B;E`|>J7l+S7;wfEyF^v%hQc%SZuD=#e) zQSLni0;?>CfY%$hrONu}<>Wu87vl>?!2VII2Er-2{_I9XWz17yoh@f%Bg^Ofe4m`P zsIJ~~!?IbV>&kpSf;RA+pWMfu1X~FG5^KwLgb1k{Huy-CMB22)2UQv3qYQZPIXBa`PPS*u{}o%&(;fk#G~@$3oy$G`$X zbTQFX_t0Swks_BqB2|-7Iwf2ODhaWTmbMLLE7ceObNI?z@I5yq)-mzMf_pW)!@0Ag z<*pm^yCS>rtYjHc;8V@z4r}{|q?TG5Jxd@{7XfW^)J|jgJ3wa%)4#fn?MuCnC@CNx z)}GDD>wTs4$v?rf9Hybpe@}rL$!DV|a#qR^NhYS%>K(bJ#{W2%;Q|6gv&f`o*zX29 zjM6{zmd?-5hwCc@#sg!aRD8UzvC0sgHNJWh_S@2b>&6bE^~^VeHH^$pC|f$EQCq#+T`FvjZq^&(p#!9)^vNRW1J z7({ow(rk#@ZG9iN=j&YaLE|b2WMcs@c~4(h!&Fh~7$8Ln3aWi0d44p}9Z}K;w^bQ{ z^^TsSa%dfWzXSq4#N?5sp5UFLvtAu0Zpw9R|9=LX|G$;fm9e>CzAFz_*mSm^!Iqo? zDd{Tsg*T*)H;y7mNPFnG3|drS6jhq-d{-6>Wh6-lYr#_TkLum1^ltW`k!p?}lZ4wr zDL~OBgCGg2rVq6M-^i${;A=_{lwPY<=AcX>+QBR^<9uD@_Dav*m|15}~MW;Q&c_ zy*uy3F?fK_N|OyOd28yJRzZpy3T@<{Grx7cotR6#)vaXxg}pqAEoI1T;xR6;TvA z(%>2->9L5cv2=w&vM0_%RZZvUyAyO4khKt&@MbhaT%xpzxOpI z7VKJxQ)OvL<^@aLGNcHfEmcB6qskhI!lNM&39rDPYHMJV9%sB3L>;KH+h>{yps6}G zc0TImxvqVn_oC1X*ifeN(j`hJ0jUN}?t@@X^MNEnnRXNsiv;VrL0vDHt>iB&eEi-Z zOOk*UHv1t3_%!ux&S6^{Pb(1N3eXn;8B9|Q3=RK|wcYz2J;5lnq{<6)(qIyE#fJzE*0SXp=2q_f?r+f!Ji zMBC2f+(lmNZQ^sHLo&86DHkcG3xZ>TrC&D%nSp$HEJcLn`Ase9h7V^wj!(>N)U8^7 zeB5niYQ1qz1N!py1998`8a(9eP@FPzGe2KHrxrKK3cKB4xj-6ymS{heRXYSz8bSWe zE$MkiVYog1*f%ALSByr;`QH;yR+v>HN2Huk|L%M3du#J^lolAsoW# z{V8psDXV-hJM%r#CehpY-RFjduxN0p&fA$a?*O8Z4KlMotf}q%7gaPe^SN?)mcko) z8L|w04AsJTtU^!=dI&uP*T~brloLG^xsb!4)-ib$8y94*g~>y4^+q_$ySq_#l+qs* za76k8@w3-B`eWLj{p|zf7`fgLGM5pLk!qC)P0&aEEaKZ5{EAtsy98KSQ`eEqWB&W{ zf?7YwdL;GZ+TV7|{k(o2pa}JIv1j|{w9J0VJ5{A$hd#{FuWP#CmUBTw3hq{Ep1O)D ze8@8%ijQw2LN3<}P7&&UjzdWMH^4T;d@e5!Io^^&j@e!DvX)PE;lF&>2is!J|M0igpY{40uE#(N!;e-L7%y2_aw^+cQeivspxKawV@1_#4VOzUU* zo7jD$afZ3*qWg-_m*yu7@BQXp?B!mp>DHTf+GQTh${%cA>^jMqip}T!D(4-wXx*DK z+L%0OoM(oM&CI(_b&Ep3x0ZG7F9Z%H3PGNB#Y8uaO;-0C zcfUR8fI+X^zGb-rnUurhnI7PI}?9y-@X%*oPiYLS9v}$#h1Q*u4yb9 zyFzD8_s8V5A63$>mw#9Tj9j)R54_3OeYo3M69x_%f`UuxYS&R?8|26!RW36|mb(^g|s$)GU+Am2Iy1$w{~|^RF@XRjrIqpYMx#(_@)ch-E%Yg?LVo9H0_{)$Aj#U&}+hwTVm7R__+A^ zzPrh+t2#5U6`j*27sQs9fTG2L_5q-^++`Mg3M+hQF}Ju}#);1R6?3ZkbG|^t*N~7V zj%}cEiGh#C3^0=-sTO#E9m!iWa{<)2-5Z-z(UT1R;;&zydxX_T+8oJd&efgx%N@Ft z+p+O!z6?5Gez2?C^IiZXKnkw*%mB9%G^7={==|RPcNgz7;ZHKnQooVj0E$Z$?7;J< zIl4KeuTC}YO-xh4E4*@YeEq~?o~6;ahrLKvDPZfP$_Z=gQ0*+#zq8OEXHcg4o0xXG1=FNSlnMxELi zDJPDunBM6d4K~W`pV6B&7$#Q&9mjHTWx$$j>{x!|sK;@yk!o;pSF9mI215UAc3Zw| zff2S|gwx+{L5zeJi`;m>Z%Pe6W1iV$l*$-K%dulV^=*PvnRb}vKZ`+*`~Cg%zfY@q zsmXV>)8=srT|0|ysRhS5;a}$J;%~!f(6c(ds;>}ttwV@sf7A_k>y(V(9k|o42Gnb> z7j$OpWEGJGgE7P}Yd+KYqc!nG$>1?=Og_;CII#Sdqn26#|L$ z#vX77oqrK8q(F3IU6bR|%YKksBBSc(%F%JRZx2GA;IzACknQvN;?YJn)5eAD2*=u| z+O9#KY_w@{`1b6?g5{Cg&Fs7mambHv_kmW>-c7kq(_$7x7~|9(lbc#L3eXb)Cd>e* zb8j$uspz#Mb}3w}KQ`u0e3q^-)V!at*S-S?cLw@zj!#0<svICun7~8ID5Jd{QUFw_BOCjZ{M8$9{7%5O0UaQo(*1%E->Hy zvlzDYtc=YC@S}o!R()faUl_%m+j)nAmdag|4{#sSO)I>A?D?pP<~+vR>*w?w?nDr? zp(KaQd`E5-_yeU=8HB6uFgN*n`d}FI#)oNBXkY^oVW%a?m+3O!n)GVXaAKj+JY=Ht z?7d%-IsT_w8|P33XKU0CR_63~s!8Cw#*T-Wt(C1coY(r!c^z?b^2_##u*=g!+#}D9 zwHC2Ax1;RX@lmsc`v!!xJrfvKEH#eVNWybo0w;4(jLhNC${c08FvB=CV6c=deW`*R zQOgJm4~unV>TgEi-bxk6rcE2$>mh|o`lcHHK>(dc{lQZ}bF(b`YutZ}VMfE{)AJmi zEt%Y>Us=-;Ns^s=vtQ-nOnrT|tsKx@lNYB~Y7VxqDcx?L{Q70xIzWa@=20+B6O4C- zev>JpN>XMIyBkD(03pD|;c|dBQBw{%wB^b5k6@^lUz6uTt}&bs1s=1|)w({i-?-N; zKKbR8VRw5xObp1Y05H=7Z`X8ue7xLS$$T4kTW*B$my@T=zRdI?$3vS+-WGkDM&G)9 z`xEtMRwe!BTVm51Pg~pfz4bbow^H5}Ya)LMQqaAql_X92xzWZ%Z_RPJyck7E$s+;( zJ1S4e@28rNALsJMqxa(563#!AO?2~NZiyePZnkv+cE$7OFRG=Po=F_PNhJn!VNWea z6$}Q6>R$b?VUNSrhKd4K_sxqtSrUn%?B9!x6K@hzGBRY(;6g>0dW4X^kPKs)a-Cfq$YaA(Q|o{BjO4#|bj8Ko(ex(O_3~Dh%;PhKCp!*; z&JUX(%$$)A&K)7kCwvl3^|_1%T1>T^20vf(BURgN6Z3O=kNO9rnuboh2NkDA_{zK_ zUAYn6ChgWR8!azJNhyxsZ^_x^ESdjaG`vDuFi8$R@2F;Ehha%4K=t` zDk8tjGy!U1cFlUK)HP``?oR#K1{Wwfd~ep_?oAXq>)i^+wLK+d^enJ*KP3hWO*t)fnu4{SwRx~?$ul!N*qwpFU#x^~EGH!D{;?8wSbzHd^ z=b?yt$)oaRCeywRK<%_eXT8`8^&YZEltj~x{#xBySvpv0TJDz|0&W`UA{0*9lhwtE z#x~bM)@P#BYfk@syH-K(Ilo^x-=T1>zYM^XDa|cgTiY`B@pzABhYG9nFKwK+3PxcI zd6W?OrrYRYo-V)U zUO@*yOgV5Ni`?&eK3Wm$dVxY{BHs|CUdP#Z@bi8&agE z8=S6un~?9S?MMdwj5w9EY&^s73|2}pC^Nv_r7cL*vP>R5aoJvN zG}bC7VNMFq*+)6PNVZi3D_(W#&ah}pJwEz#+4OXFNY>Yex~4ErupI;fDrwMa`H}lp zE(db~96BxI0u8=>2|M)R$Xx~J=+?2Ofe*zg=o1{PaHGF5F8Gq3OYDah*~sgJ48<}4 z!&A!&fJS&5qm_|aK^1f&Mvg*A?KYbw*jpaPh5+sU2GMCf2OoCK67~ZeG2<{rkPwjQ zIgx_#%IU-i>y}m=ztjS!fzP@h6J>)%g-bGBY>tkM>S-0KXj%!uR8;9dsxv#od>B$B zx#}$PX8UkO(r$J|kOQ5l;0~+Fj&ac28nLL5e^!LR(C{seJgEe5MNeEr|kgBcReUkJu3%I6>I+D;LSDEawP-eus zG4LTZ|Hu)&ovek+gnJSVy3;zF{Xjz=5;`e-4fJfgS6IvPx^t^0_AU52Pp5f0gE?qImUk|lw2GkDS}u+F*z z!*P_ij|x3adYjwbj<{w$AN;}#=_s39f)mz_8P@GZzavgJ%%VxQ<8pJNA`x*W*Re-+ zyaW?b@9VaITdh3BO2gf*RAk56!tOuImy|wcJ(7?3$-R*MtdGt@ydS{)4e60n>W!rn zL)Y8<^S-wt(N1I9>bA8B?dtq_>OI~pXWU$?lY$*J*@HrSwcT8ujVOv;^FROh^S4v` zr-b)fXGa6o`i)6$4Z2v*EV?cw-=3rI$f0$owTLhXM|3`;S_f5F18I$zQUYcjqVg&C z=E4nP-RwQl#B6)7JrvRdAcy=x&0bPd5>W&|pXz5zEP8iWUPrnt+3x{5+CU$gVs|A+kQx3#3yxwUX`YBSh1U^nuKHTbayKr->BO{`lB z2wD6nv;q#t$~cCE00DteBuP<- z*#SPLkPq^ z4htHZ>6*B!D=`Ypk6>rucZHMzkx3%Is%>I6TvotB35uTFP`1TRG*aCVVBObi{MGm@ zIuKJ8P(nbm3_!26)Fos?!HP4n3opB9d_J0ey4Da1SXICdDu*RGd(Z1Uq)1h?=qV7g z`RV#7s|$9e6u2eG8K-jC>78tB$Xf7!uaRQuoTP zft+OdXia52)BDdRqN=ji&Af-mZ_)K*Adn8|8(mNmT=JQStQ@=E4PqLLbqhW&1zSs5 z4Zzs^wjgKPop2V4-GJ7j%%o+|N zz(x25c*aKnb_q)cYK0ufS+alaZoT63&w2%44RXOFisWYyEbAi>a$J5_(ryc8}`=7u!Q1*l!U z**1rV!X=LaTtW1=muYb*Z!F2c`Ax4V0Hi4=vijBsnVfkh^XzHKj6%K9-wi%{eJ!62 z0-z|NZ_kwxlx?5MrHxXEWY{=E6+*Ik+pjM*8`>23&0h{|_uLtNgGy0hj+c|K$>TZE zegDZksZa*FyqAGLtmNO8>W!3!t3d>BtbEE|He>W5?b99u&|UyJ>_^ESI1%8Cf>OXA z%U|I_TlZ(zKYA9pekL@4=Z!y~c&ses>U_-ttuJggOn&!QS5W!!tEw&fhWqZuhj9XC{Cy``GJJrvp$H$7D{-a1!`*RyG3v=if4f*W82($X3K@Yk z7)NLk&i-(YyNMv7p7j*Ic|3!`<+AzmmR&K;R`0zscip7f&#NVJe<(yFCLO=Z|{td5i4+HFZuat&$k+8g7rP$1eOVn{Q(%SUsd1ds^ z8WH~A*Dtozquh;2;HWM>*~Y>sHZ`6l)oII5rjVz&5^7- zF(wQ*nLf_)EjjJ99>IoBt@Rf^7CvblA}A3Px7Qb0`oW$mXbosw`vAhL;sU>6EAZu* ziU+2{1iJ>R6e3~1IR@9~^J)Jek0{XE1!}TLh;o?}W>v+QErtlJxV~V@Af}287&W^kku#?4P1>H4c z6JhVZ2L>og2;Mk3#68I2L?I%CvOWQVXP+hS7p2cp044DUGU;QV40R@mqYos^5EQX_ zemG$S^3R9WS6yR~p{qwM#zJ;FBjVW5!1hOq0`r;9O04fk?vGeIcy|Lt<;{g?`KZ*V zQiqUyTkD2WT2%UR_PWoR286EM#EB@*(74nzp?l5tusw!CXWg?Ywo2Pyp1RRB0cQ7k z2RlM@1`7WR=7hEl(xeH#kHWjrL2lDJ!@Td+t>=Ds#WioOcl%IQR@YbOX0~p^*di9c zrny{Hq7Xi#+t}0`$nd{97cyzydD-e#+&M{}_|n&ntOb*fP)`1@xwTb56qPCy9xm<} zC{ss#FG>a|0L3{NB)l~D?)B9vaydKuiE>Fpu+c(Uc-CWPdnw98exof5yt%%sM!99u zxyvcu-{lRPAE_)gEXSB>evMq1nEI%{9(xKP)P!-iUNL?y0WlIEb8X)ImYaneQSo2J z&Hcqc`xARpul|Mtk88>69dU6-AnFmHU_3D0?!a71*j!xN-?ZXXkh#O`=y&lx4T=!| z`EkGuLg@kK6Pa+;Yu=NgcK(7YkY035Oh=*C{b5Vnl(6D35AD;lQEc`tk1t|y^F?%4Z+P6HIxKd!A%i`Tw+A()y}--w15 z7yG45e|n6wk*i96j)?SOAwsIH?dSnecf0h=fW{Jl$iVjAXrB=bxnlV z;?@h1tzDB%aYqT03r3a70$~nT12ILs*3HN{L%`B984^_h7=_OdpKEg&zjqcWbHKIC z3`b5zrM|0S8n5-itHW!qfkbs1sdsLD3EQ|l5m_^RBTu^#W5Pa|83q=+s){Bn8~?K2ulVawOO8j?+)9e)_QZO^KG}S4W%bKa z^g@`uM@qIY@C4O_hu2&*N?oA+zpkalMF2*gd)9S-Ct?4Eo9zkvzS=Z{S?`QtmvaTd zF35%T)ZU$)CA0PinElPUn(mpK%^kJ*D{{B%sj_<0+84F$MU*KKaGB3Ocs#z!mc|UB zgcR~Vb)E9dF~}|J$b9_ZrKs+upyq^IKieFyEtG{;dvM~kiKeF}&CKKY%JZ!fyl2bV zMhSATGGN{R-5Qh+G(v+mZuu!=m^aXvpKVL0!sQo-$-FT9W^WhJ<~b!^^3BgIF2>AP z>tcArG`#3Skn7o02%^mYgt>Xgv5JDr+(PxE4Pnf+w%iwP(#hbuWxT>`V01ZQFpeRD zRH;CQ<)_lFl%1Ti7e4(>8zZ#!E7aBXWI3cqGFDU<_(`yTW|f6^-EnqO#G$Zqu0BWf zfa2c=Oov07HG+^m1e^HT_^F_i3O(uP_guVdZ$g~Yws*6&(7cPr%;#f7w6qU_A1F66 zvLELmByQenuRnJdc=wjS8Lpjm$PWpmMm~o>Oiuc;v{4p;UDZ9TnRJYh`xv$bA|0PD zr1J}w_fTem-9uCt-w$><_kI^5Eo zV5o8@0alzf(w9$H4%8rufKY0d0%`GH_&)1gd#{cfm_22OraoY{**TBbtR?c3WE4ty z%Tlh&iUN;WsLRK5MlYWAc&dHK%}IBhF~%rS09dI-a8K4KJ(Nb0X+Xk-n9Znuy+O0h zZ*h*YaNl7oY!R+eNgcTM1ef@kf`k-Hk;*@B?@?GWd9H|&p9b$x2q#P)7tF6HoS2Q2 zsAxM(7Xav!!m^%^D|Az1?s|h(W2H(kD4*21TM6_Z<*bE{o#;Xjffu+5x zsq*u%7Jx(sCXYI(COhbgbz7u)1P3~_%~1^AJL8@D^F6d(J|k`IrZvDm|LCz}Qu-X3 zA?xRs;=F)D5N?nH#*0Ygl33PCrK(v$-(FRJ_?I7S8}IW%{PzpskV!vx;=f*^|AXM+Yn zZ*~av$Mm$S6qG1e14EfISmT*|oS1}!aJGg$%{ko-&kW~EI*E=@rU)2>L zXd%TiTcqB-dM7(Uiqd@~&NnBY;DWN9v&u%&s?J!(afG2Q9%7ZHnL|Gr68DS$(Ex@= zHLjDWtWWU1LYkwjG#_~Rw&b$k#WS1R7cAOQHK1oX0hxP|ZF-QayL2je`QS_<PVY%zWQOix8~q_YcqOS80dW+D9HmQ9!2?2%LNGd1YWFZu5DA^zd zTLpj7Pdg-`29E*f;EvnxkV7Q((g!@F_Kt2ZNBUto->P z|7%||SP)rtGq4EQebVT(d1P)D3m}+e_&e&VE5E3&Go1Z-|4cfJ9pmFEY#~*f_EteP zNhigCp-cqBX=Whbz?jd?WyFkRyn~tY)uarH8x_rLRKAjht)%lGfy!Jd9DewQjI5#N zK(;Wh2O22JT(cX|*M{1>Ai8Cw(X4X9+G>aRtkiTb_~Axv4XE!U*Rgz8E#c|efr#4K z>kaN@F05d#+7)VSUb$^{y4pQ)OGQK0VW;9pHLji%yaFY3M~eAG>0-MK$Wn*%I6u@p&>r91p^eG8}K#3qb zYfHD@VZW!d20zQjLZV4YejesEP>5cz7lJFWXLqipq(1W3u?mSfD-ig6{5nnV40w|j0@oYuxk zlQ~ol8ue+XRYPq%#aWRQgM9a(&-L4TVwReuy$G+}THZS4cvGaRVTa|L%Ga~&H=5`9 zkoorm2(}r5n~C(ETr1BuR+v$dHJ>O#@`k3pX-5%Oh3N@49x5Mw1QjfyVs@B7ACCQv zi(Y;(>DlBerS-4GeU%Dm-1e?lF7THHJNM83J}pcsk}os%1>^_vetz-(F4YE!0=9MY z7uvd`j*A?{FW0|#DUis5bIK-$cqU>;2|A(omFYQj;>&M(Vq|87Tp6nBaoG>=++@jC zI>QTzv-JYNLHlK_&Gn|PfQP*XDFaTGQ!~J)i!4(d>p>prEo2jpsLgL*E>>3yi8=|} zGZFXG`j>noR?7d#|yt{Mp<9iXgxP#&mYT~m_6*gyTa>b@}AsnsKv1jh%G8n ztp(iWShFH7+6#|rVXkw4GvJ%L0PyefS{KRsf1Kq3N0=|xcc|*e$!-l;~x4H z*K<7RTyYBdVlm#ffQ9i&PFjy*pAZ}F*6;=n9-))hA&lvHJ#PgrCjU4)G^$7sF8f1{ znSW>OS7Ex2twHI>iTsVO1aqwiVXgkY3ELd9{J|@{__VMC+|sWVNv_1^ z`}#WhFTb}Q0r8W2==w-*Zgzd6ij|@z;+YhoB?UtCbgd|U>TBPJa{vBTHb06Pa!x-u z%hwj^X7$iD1@eZ_M^Kl$j{=b+&4!sDq09o><>wc-@n%3YXh!=Il;!!Y{muIFX{$ z+rAh*u@KKxcPE5z6nOGX@0e4W{mRMB9UQ~BCkRo>L%ht;w02i4;;XtPKYljbnD+G_ zE!sjbRrU&MS4ZnLJbP8QtG%=I`;yq6{J|eU<2BM6VAoWzAPJa)-3Y+ivAftEP0jI` z3Y+dcSP&QfHE*0{R$9m&J#^(7$K#yBn|n50PM?lbsrQCHaJs{~=AwKO%$}N^??@)% zslEMf6e-%)3=_b1s8ZV+!?zm=o4YG&$_pD*rPs)=gMGk*1}Jf^bv>&iL-se9nZ4y_ z<^~4i6aHK0PzQnG*Nm|fR;}V{LiBWFfjm&In42!gc;X$F76D!H{$=V+D-A}T((Czl zylQE&kvf{6d^L*Uqs8QWBViD;*}NZYXWZfV^WxpVz0!zvQfc>c?KLrZ|3FIVPMDZh z2lIp&A5)>v&b&d^9@G3wh!H{d066_ND7&beux$keq)YTYTvSwZt8%%yabB~er0O&_ z`j+s==-KtMjy6nm5ncJ}RR;ySvP*+T&+=l~QnhZW0AlDpC^4pMDQx|uWN|ORAhoNw zR-ER*43A6pd+N*ZbUn;<8{|``PcZ(Al3~Z7+QOb7UlwkpMkUnmt!&NcIkeVtx({Ed zE8G7w5zna_E;hd$2xPaW7K4@w*UV1(X@4zW2s^7ie`CErU!sEb9R)n&+a9US4p?}l z183XQRWS3)>%*N1pu%MEj6u+Ue;rO_S z=^cBxy(*xMa>>_4Lm)n8OB}mHbi(vXdlVn+vL8JFy4-(#8-QKD;8R{Gome@) z+B9iq$Os7T0}ob0#r(=F-M-3psXV{#g&N0E4WB4IgMk zTjly=r*3x1XtgWqUm}Jc(`|zZ;vr8H|%Cc7)HknC)6z$rG{ zTPQzMj8GJX$gdXwlZLK?Ms`InZ)RO7T7 z;w>&eYn=`CEc2Imvq9aO-B_wTtKDrueKOSE?#;r-#I?8uFb#@}eenV1ZBwDUs}Zrc z3(TJOvYD!Ra#e2v@Yh=lJXAeEG2U0~=JbA_+?_R&Uohj7Q zkHdq~eCs@~4Zj~;{A02?T>R)8#!Q=6I2?X0V`_cf=C`3=3bWbie=gz{>g)DunRch@ z+>Itq?}m|0I+J|qKo6xDE+0j!C-tbBgSl z!C9x_4Sw{KU-)%gr~ah0(K*p=QIm5l3ex^VXjM-C>N1&GM;wgu%idpKjm^thXq;d7 zQMoGhiL9S$H95H&w?1X;PyTS9rkugMp~5k~6lV&AXF9!cg;)pb7A{?e=j0Wkj2VT zL@m3Rs<7m51x2*2XGL5tF z{{NZ&E7Bhp}yiBJ3SO?OP)hWteo4^J2kmOLu# zMO$m3o+-UW$plv>XE(Sx2m4x~;3z9<9`U#M@rhi*6V`~TyZSbv)B|W%@@xfEosW3o zsopLx8ZsI*YE#}>se0mtuw4@kJ7%RfWm8T_g4}FM^uZAUACd^)^Kq&+UXpqYPoz8i zz0D=Z=ky@0E33U8_rgel zA4}a!GDIoxm4M;u($~aa4+h=0hNu9o&!OqkRr(o3Wq_lYmL{Y;gDS13 zEd>mwT_p|aTB1WU-7+99fo{_Xs`E?dy0-=eNfcH-?!yJy)921mKX_*g3A^@zC1+7M zJ6IJ>!p2@%!I>d*ZN@!S+ZOg9=~BTzXZ_HqvRct>WQO7oRBm>SNTH{)bM7qAQ#y7R zu8veI&$arI`^>HSw-p%qa>&5woWG+crL+*9*a!KCdqQn)yHQVjTB^K7<0+Vu&0ot> zYoNXFlPe+CsgzyMG(bG+wxHx>3w_ehdQ`%CnI*w`&+xdLmg_ozwN>PM?cR54R@&9_ zb?1Cy49w>lPOYV5BCoNs1qAP!P!LYn_c^R6DCsieEpi=7RiV(j-^wWQMbRp~?fOtv zU_z$Siz9q$irH#61alB9Z?${+CQ>F(Zam4*Ew@f?A$||c&B?DD0gwuB2L{ITGi*_G z&fgM$cPENMu1yz)dJEoPoZUDB|ZEFPv~rLAonIAM3kR8O)DPFHo-W<62H zISf>joZeR+!$h{tVTai9DY;5V|% zT^)KMF&V2VShIGLEl#)<_x7|RpMrwoX@UY$Qs{0r#n#)>nH>cbcZnn9!OnnG*|*`e`PQ;;ShR(ZB15W$|4{EwzQh)V=OY<>B;rsD5ozlpboX_C zos##o*1bGCkr!+9PvQxYu9kg38X&XGZ`ybi)_>_h2XL|24GKYLWX_ZG?UfU~aa54Q zK%xC7l;7VDh?m~qTeSvAU|i++b!7*bk~32u-UnbmEQO{rPeU>dk%%BCn0D0}WLZQO zmX;C~WCK?e&`AYk!IuJEhrERHTnPyN`y1G_5*A9G3>-zZD7Kb#7Sc<^GA+>)*SQUF zUooiHRcof3k!y-Sh*&C89nL?CwBXptxt6ey&sdRO_cjd3F;8pja_VXy3P900kzV8r z2s>*8A{4C&+5WHTc*)fZ)uOs7GO^UewAy3keh4q(^lGddf10h9M2W5z^ z!e_U-M;`#^PnucvJOPj!yMODPZ(t1=l>XTEKwP+&_&+u6uW^>iC5hQrvxF=>?4OEu zjR(3Y*qx%Q^tf{l%=UqdtLP!K0IFv_z7gY%Nast=k%rACN$1lvg|I?Gs+7Xn7~dR$ zQA05ycEmcad#m@72->k80LjW?>$;dA2XF#mxy?bdihnl%)0pj+u~X+qa(6 za+h$GkSkRBY_5dk*2I|~2Li3UQSNSk8XD=b|U7W0z5FKOmc^q)LFmGDg zO{2wh4cay*vku;9DUoyZ|e5ah0jg0sZFN^(FAT@6PmVnif2fl2ZU?RP=_0w_LWdDzc)6rvwsqTrpTko8 zs81CLsOMn0aNpErYf|#Zar(2hn5>DgB~;!@MoWMrKb8tjZl1fnN?Pb?yavB?#dyL zA?3rCd?tsOo4eblT7i>Iqj$2|S@ znYQq+2aBn|abf@X(A2G17Sc`$LiC$%6|hrIRM`3|WL|i%1~5DJ7J9pc&~4qJ3Hb8R z%j&1^`sGBf_;sEre)^DPCwy`*IBOTET&K3R75K~xJYbV`tNmq%eO^Qt_&B*-4~`l{ z@d}YD=%Od@BLFX;GbJS7MnN`|j2;Qa9}KoN0{94|s@}h6J{a@#GOautn-=8u=FvA6 zYzX^vy~V5ujNxVNm%n}+O`3oG5^mJgG5^Kb0WRl%{PV)A(rn$H{{Y=-Ai+;aag)M- zI?>t{uc=ES9N{%*-utsZ1&rdLrFz_EE!tz0JvPgt7D#)HMJ+C`hnYUrDu2LgylQ-M zc)l)2iXxd@K@5N@s|V zM_}E~*%qqs)2vqlU76jvxbt63fAmS~BpC>pKeB@6HLzHNW;#dDJRJ_ydiVcub?)&@ z_mBG@sSp{r|d+?8K@4c?qbv>WM1G(Czjd-nE_hkE10XH+fMGNKPDz6!FN~5f* zs?BC1J*c`~i;_dC89-nnqCC@`F39ln5a~~M7XxV+EtUB~C%aYGNgYmN22BN)ZFo2j z3P$;v`itNJnD$&ODY6ckFb0bi<;wUx9QhbnEJTQBj(QWiK5q)$Q+r}6G!>Zu6je~Z z=bRIF|BA;;*Ja_gqccMK*d(1r_TFApL`Q5-uOjqnzg~3d>S0tHYY*^M5!lNa0t@Wl zIJ=FNm4L@-_FElL=qX_w-b@0hmUbInmFytwCoWF)g>diemE6^{eI$^yGbEMWF+6G^ z&+2wkcoGgg|JN1_W@}>O;?9weK{AoPzwyE^o0ZS!c3~z%;}i8g$dg0FlgvwShtAcG zQo`cOVo?!a>q3xdsM6;8C=Iy&-+E>^w=lnORj*8$k;En(ZEWnxn1jF7(C6mo-jpeZ z^V{dj)=|eE*|s?1#{EP|vEY$ZL~X1QBxEZ?Kp@&ZkeB1>@o%iv-}J@1Ra19#aIYC- zrG5W4kVohw`T{x)B)z_7a8*Nre5O(t6&wwbE+qrXts zjR>If;qD~S6+6Dy}TS1ebk&2y2M#DdLt`PydI{n|7-1Z zX_;bWFp$4(LN3;ATyEt2PG|R`tTv!lY8k&A?w}R1Hc-K-FA2CySYz;;)G=mHPjBBj ztx_OCM5DH}d!u+w<)GUc_j7;7=q?rWypnw}rc+p~apMdpH);#eWoL|cgoxJ`OugZ) zcs$HI)q#GXCg%ke`4amWx*U5RwdBXsC6Zp&=8QmhxXE3kB41tN#=(qv4EDb2-LA`m z$zHem^L2Uk&sR^euFoN&1M-p0rK&(ou=R%)%`H<@5+0ycTHohIoC*VjBm}ankEvbSe|RvO)2}D^lgMUuk2Pwi{p{K62r0=% zm;V{kEju9-+N^Z0$Sd){KBD#NMn}uGz;u19}TjI)?$ z#lo|S^Z=K=ngDU)!iLwgXOzJr48W_+sSQv#Qz)Exu;jqioe<+?^uhN>_v)WN%G7xA z3?hvvIb;i1O_(_b9;8pV_W>frA430;2UPXka0gJUN&CGLKlUzjX>&7tvOckYm+572 zINE0dR=iiAeuyLx&gGrS?JxvwN~ z+Wo#>ow=m#8Tv+JNJ(Qr_8E62`&&0rX&=5W9B%n89}o=^Gx$Dy7^&BwBDq9!A(*Hi%1&m?RM*L(E)Yw21a zZNu6;)a73^4d9O~0yzd5AENchc2sjSyEkcDRnF`9{M^D!)HxGqcowo%dy{6O>I%N!U=wo7sJh|e1fo=~5z>(R zO2*Y;BAdS~?Fli1wYa_ZzH=}L%@DsOM}jHP7wG!(U_fTQGK#{zMeZK_J%~GBr6N=< zSVN8L<11Q!Ugnf=rK$2#oxQF~xDwV;+6YyavDo~0Wk;*pvCb)@{q*Q=BpmgN_)Nii zNLOjSmRiK1I)m)Px~%ToKFEH_$>S=mGO3=k9^j&^uMB-!vqDH%(DK_FxQ$xFv~T=fV@qkxHUIZ1il|#gA9cyec%ie((85?(lfSYYJe4>8 zLYs_Ud?^!j34EK$><(KNom`5LfzI~%F1K?j2Nb8rK65Zf*5yxXK8Bj*``A2#y_(Ov z-pH)Bmn~>b2Zv>$xY0B*RBa^Wf(3UiOZ|hpB`pdWs3h$4tY|taTMG%lW~zS;x9Q*Z zzN=akHDc$YI#p(pMfacVP{NF0PpnB$Bl=&N-Jj_G9Fa9pz|#~^i|FjGfh0G_L9P)# z=YGlppUp`|KwrB1=F6r!S#Gr4^uu*r497tVic4zp5F*Klu)mO0=>i1l(x?njm70Wy zLkq+N!S;BY4$9^KOcOl=mErYB1qd9%ZIml7r`-rlT#lxrK7gPXvjBb)-0xoF8U`W9 zh;%LKxb_D8?fQ$P^2MbxVY|l`igMNNy()N6cxEMt*e3_&w@`ptS@O1gf6)-Iublc0 zt7)y6nk(DxX!RTu=E2A|5j!pc?o$S8UYFzAWc=OszM?Vo` zE-3_bAS)HZ5OVm-0mng)r344{FT52ET=Ji+Cs|bSdejNrj6^DvPONpKe;aM#*nx*>F2orVqTJUK!ji<`FpW+UOBB7?=-K#0r zpQ!3CNyaC;bMYE#QpiIth(_p#p=$d(I0&f&z1Yfm$11?X`GylbUpP&X`=MQ=uf~-7 z!<8qGP+^>+&Z4!eF#y}Mmuz`DFIANcoXsLP^&94E^Rb^gLeema zt_ST?$ZR|->Pgonrnt#Vd|{by7PPir2M&j(*=3^$y_(%qLQY;?KRa4*{~!Xfvo(Tz z$e+JVvO=Gp^%p_9GT=DVh?%u;CH>S$501{l!0h9|Ntn<3d`(H~N8WN}F1Wdn?El!8 zil`tfdkY@Eq08pjl0I#Ze;gi;zDf;hxFCDtWf%B{h1@Yk98WVv28>6@%MDGtyJ6K+ z9RqtQ;?fZ3bkzArAkjuY!BlD?pFapxgA(TbN)12Z4|UAar*a}@8qXkQ>~S!XC_p7a zL1Ab852rV$@l3$y+vzCVimpOBqaaXmMp-yK6L1oL(#4U8^d|d1OhK0TssOEE&>jF2y?FI=WWnQ12bY@ z$qi$Q^D^6`#=t4IIwne)Abd(9YLWWGQ6|YAVM-VWq~*}qq}Ar z@%9U@1wDD`(SI^DO_Boi8eAefuNo4FuWuC zA7gp&na!}lq@DmV?irQ?&+5q?oXdy_qfiEJj*M^bH@xUZFm@N!=3w2Yky;7 z!&s@aq~PGRh^5M+bg&@TdmWw20zSes91E-5QkQ5sy(+b$jFq3gAF$jIyp#FmU@d$B zr9|2Zq57@o68?{Wo3+ld{K)c_xPF>Xz0O-!)P>Xrev?a#0EIeH^l^*+6H>-}77A}= zd7Uvr;4reGeA@F9e%W@N(dFP-mDl?NxV&WEfp-Hz?Hq=}Q^_F=ruw-2H4`8`Vid=W z^WeigGIXezKr#;Fo{s?jtv6oD6*l0_jOC`+KI~SvBPmWA9RaQ;aM@~EpJ3de_=Ny^ zb}5qi&E%cj+v?-kX~h?Gf6ZC>{26euy>#Fb=`^V2y1$dnu>o}@yZU@Mw-G-V?>nV2 zrnmZ8~RY zx8$EK9gG~w4-d3fs5{<)6gOVH$l;JVgS0rF8Sk>So#9Qj$SO^sN(sEQ%7!U>s!64P zJxny9H?FfTVt!>PQ{Q2Q@S%>x411|K)o)>m-Q<5iB64~={F7#cs4?AGW}M^}vF|Jh z9=-VI4lWOG6ws&FFJGVc$#oj#dQdjlLtJ2zl}6tTusiGd!!0|)OX;DWKIo5|RjZo3 zUz{whY_`e4?dR;G{fSrTHVg65F-M0ts*7t&SLj>7&|!OZN&W3qR0i;!=}N%#Zq!ru z-p=nE?Pf1%J%y=o9c)&MvfO;|7H*Igk(ST*Wo5;30c}hPcd`(e{k*c|{PKN?CoOm` zSOJrMr)L2Ovtf_Ko6n%oP|(EB(4PI@eUy|l1+BQ~;9oEdt=4uktSxmN*x~aG%5RZvy!HNr|+z5cF)24m^T*6ZJoy5b5uP62D!bCOXz2dOPdEP|H$fBG*&#Tcr_74Jh>Pj)E&*H>@JlQl_n#3 z{HWPPcBe!mVG_9M&&ilv+1zJ;EoIZ0>njA{mDhB%xwiIrzrDsCnA{)a5JMIeQ3BD! zYlpu*YTr)wvuS^swWGHEQSyNthJ2$1d5;jzQqC2ROL0~jq^{J`sfpFQlf+nL>c<;s zgU2N+QMzmCp0~>e4^~Tu*N%SQ))ln$bm+SDr>XxcdnuaT_PEp&WRZ{a&f=4|D30yR6Rs`&!NOgoqrgYmHOnTF}!lQh}mMNSc}+APYxX@>Mt==@4S{ylf3G(kYWwzx)RC7 zXQZhpd_<1XJ?3eFOD$f8Eie0K*Nsoc^^&Cw679u-g$a9z9;y*6I@`Sy>*{G+q~fIy z6o-y>*OKOf>4(jJ{B;GRo3CD{Fqk1tr&lTtzuF${)Jm;I6BmP{`wd*sJ|mOA*y!0{ zt&X<2m~s&V75K{JZhX?VP2koHLi|^)-i{Fl+f|IU# zdDhC2%1)_@8q~7=B^-7Smi!)Am`_IDZ!-ywcPp$NT@ktf)(MEFce1o?ZEKU*%-VIO zUxX^woNa~YMJXV2wnIUw?m{mrKNbD>7F#6LW%Lw^vn-Yw^N0Idt=}(Be>LF4ax$xPM6RKqfxxQ$=uT8R?sa&RRvzyLXR`0 z^R=?Kf}G@I33^@q2NW4Ts= z`t^+$yQ&3iu~$3kbpCAt8hH!-6<|S8BYXFDmee!MDm)v*U(QA#pK7Wgl2tdl$rgdp zGYsM2+EJDtKOxfe58eAe(BOlwLzHtTaD0_J8$D%Y)F|4nyWSj56Bi-79^^$R)BT@H?!~XpOyuPFF8wD?R z@*h9iKib*(6VSJJDQ$N$V~rHN!2zt>*~b|fCaAyt?1e;+ zU<>hDmes2i)J5JuSj`wtoYYv4sP{@tz~&D3J$a~}kr)y7kxdu< z*-h&P7B#2CVs=>@OS?at=B@tNuARqE4{|&19I`9#i>R~}_-ky?%4w^6#O;j5{e58{ z56gw`n-Nu>x0b22p3ki44D|iKclv3pVOn>*4!yDRbZJ8NE&~XgZ1j1m;;PEC(!}hw zG>vsDFSk_;t*nSROit|P9{r`}*xFL5MN3O7{?%0%NAqK$O2d?qW$&X^+l8Ke?~n8^ z>#YWofoXcjd8$v;pNuXoavIfMxSFn6Bm_K&irydXh5!?`o(*zjH}w7Bj|_n|2dfWW zo@5nmme!3um(rJK9H6k?{(dHalMXTrioQZzZ~`f(Rhz%)wVA|NQgeJ6(pcTv=A9t| zaWQ(E%3RV?q7g4}um9CG=y$iT)Oz)%y|ItER~a7ZdQG9qQJ^$i`V{$F1qAlli3{hXqOScO35dSzbi4KJaK?SFZ<=@UbP;3bTw>b__IsIwm38HO z1pk}O6)msj^~f!?ptT$#+yAP^gt%{zoU@0*cX9O(RJ+2l2W?HGtv^5AMmMQgT1%%1 zIYkI06l7=31w{+J2}4pCVw7||B>BfniSA$PdLMEO`ks)!JAM<#wGD4aM`@=Dzdrd2 zOA8KS7-xp^f3B4T`tcducvbCbu{PGW)OjPG<-&w9eRnTg?`OyJ+Dxomv*Olcz)s5~ z2*VK`XdykFTR6&x6~jK@lHR27)a(vynE@8jge_k2=h*VZP zQCaX&!DN!mix!tr$6%7BhdZB=jT8UO$?Rcm&m+`hYUWh*W?#p;&F z0=5{bj6``yUXV8IZyePu%Dvh6Ml}oYfJ_4cE`_Q7M23~s+#yriLM@-BV359iBqVcA z^Fy78?7jKPn}L)rN)7+HwbL02did9O(^SNa&MW+kA;{ zHR0tmcOdBrd{76u%-~x5mT;y4SA&EU{cuJJt4)<5l|N<7{rq}(8dQzo1{)8|HfTMl z$9EK6B+bZX6VVpXw1F{NsDnw?C=&h&dF;MgA?jLkq2>F}V*7=w_ftR|)vCTK1r4Zo zk3Kw7!E@v2Gts^k2rGgd4npwJ{r8Hc)2-X=%Y_*DdwHzk!%3OEc1JllHKY?`3FN^=9 zdC~9|`WVQVa88lK5`y!zI{=uJas3HF`xnl!gy1x&_m2>4g26{Min44m!^4rup?wo>^k}a^H7SdE$ z3%P@W#O1%s1yZMX&#wnxhr6OI)O377d4koHcQeQWIP3%@Z3=$*SSCz1t=P%ngNDX% zF%n%KX?imoMs5Z5iZ!%E{>epYZ(%WnR&t`o<5K?b3LtITcxhD!jTL5|X>R7%2nWy; z|Clu{hB^zXbAWr5#I;jTG^D|GzS7P*jQF{Bswu3TrpYzrr*bwxAk8a8f@-r1;+hB? zk{3qGzDh+JXF<&C%(O&5 z^PyK#pMvZE7sk9v+G{%c55%1aBZ2b~Bcgt|1lp4esf0GLW}&eHE^8v$E)b3DYBVve z5K@;0l3%worlzu3SqL0D#t#a_0Rg0kSTY!kQA^c6#S2OW!|Mp;)yRjA4^cRrg&b~T z!|Ax~#ufoy=Pk-z*HPktK&q+s%IT?U9J>IAqM(2`DA%|Tot2jhvUBrGr-&xI`QgSt z3XqBsrNRh_@qv7fCCKys3g*jeFqv21V?S z9}AFtG=`rORAPp80jzwWOFgP?%`eV-lQS^ap%KS1B;J!dq3erRCpFIBx(zp%&la?U zR-UooT&8qVoGg{Gpy!UWI?jPGQvP#M2WTBYq?R?!%zIjZNWHxuESjEfjmqXMjEtm2 z4*B!nvzNynul!^tU5HEtn@LC`ea&^E6KX9?rK)p7eDT6QS+3j`vYjwakg1I6z1Jt9 zY4&EkY9~L0jAxA*&J>H4Xu*-^!r@(_*fY}96WL-$yp`F42=#E^Ml8ttE{(#OYi{;H z^lE@TPmyqTt1-7<1bH{CuMuLZ+!1aX(FK$PNr`r;?j<4<$WjNhbSHJrr{pDqG=|d5 z8Ll{h?P!t6nm_yV=PwQ|B!A21`b+_@rbHU#MT?nrajMqVwqaf$gzR>0cH=dZ_az8)@Phz5Im_;49l zS@ZX$N;*KRGpk`F_yr@ZySlSX>MWq3R=^rAI-L>>@Re}*T{nGDXtA8dYF{iXiY+wd zx?PZ(KiM4!3A7q;cd$@9mcOmfkWEIBaZAN7Fo9QsW$j<3H6Tdsh;~P0ov1_I8H?{F zX@lb=Qhr-5{{so{YuPul@{xri_h$G#v|WU%3&aUS^!@uGE5NtI(eb;+(qLnqiIU^` z`g)Jq#Xd5ag`=+-Y_^g7xle9v#w~b$HS6N41lus<-YWB^|8-7mnvU*{mj@ z&8-vdui-%{;W(ZrTpqbN19fd;d@!BfI<|tYyPU=TL#H3oGU#l!-)RH(=D+l*sF|+d zc6PH)ki?gwbxRy8u1k3mmLA((_9UlKB9&6KevM-baa{`0_&|;H=JP3~o43yPr~jyf zUEkS=7vC$l^S2l+s%2ChZUwjws&>bAW8JIOOfe<{`FG_U-@639pRSc@kK0+M5r;!+ zJ_8nDxcqAXzOy?-Bqkj;9W7NH?p9<^>yVjYIJvRJEi4j!W2=bqXyPhwZ2Y#}z3{O! zF@b$DIgS6kX*qs>fO@UQN(V4qh?seAWUNUIXRse?4s-HfQCcuq?Pve~4dC;L!~bbs zeBC27Vb5dlj0Bc_F*u6TjolbB33f$Zjwhu;{LeKm8^0m zzu+bXot{_C3sJ7`cMpL-Tm$w5cP?LAkMEif#7+H((vbjqviR?diFYQdF&sC8uyA>R zs#ND~86deg{-vQ%zSC%(iR{WAdS}=~K#kSGg5>r4=L_GTs_a-aAD9b#$GhHzmqoPthXJSI@WbW@jnU8j$=(k{lw$39Kiid#B_fwFW(!QTF$ z+976xGZup#g{UxTUKufzF$bk<{PJEvmq#$f@8YMm;m}DG7MnYFdFQh2`Qrg{T_UI; z9KQOc=<`B$GYonCxgG7-B-&LX*D+B0w5g*QH5a_|H8^Q*ONjQTxd_n^nhizz>IP8P zVU2%uo5-_6eP>gOnDM$^wYi4xw6EI$7%zk(N%R_qB3GcfMG@n$^LEa>It!r0aL^3P@}{)`%Y4{-u&9x{x^~tm9}+UQUGu@HqlzANxwQ5^s)vKc05IR z{Tq8XOr{R2ZahNX0&H=kQQ9_>2Y*JNe2~NZUD}Ma_)5qzuw@jzj^uPiIuu{5|4#p- z8njn7gzokTDf&XiX^4M~x_b1NHk|$~%&p?Xx_|Vqa-v5_EtOI7grd38OYxB;j?e5i zD^CsJ74Rw82 z#HMMowV~dt^15(Ymuia8t24p;z9V>%6J;j;rm4KJ?DDy6kA=@a*Z^W-!6y@`7*O4I z`r6g=aYj3T58`zyo_>;K&6~K5>g-_D7BSn! zQFp5>6^DR)>OGb;?TgMC-XEgaTYmmm*-vzHk+}FVTBWI}KYll6vrmxI0@WQnGd3Ep zUokx1Ok1sC@@tsqBJoIhD# zaJwKoGUtB>KqFN4O!s^M+D3)Cq8I*6IA3FL=T7vqqKd@bn5QBPv&wyvwZhy2%a%IY zRFSwI0Qs^Kxz)C~J%+*L<6ncsASng^A=7nnlr7VAqpy7Gf?5V;41+}9s zDj-hTljQ9`TBdJxPI_dJQZW|tjbN%yS|ow~@^x9QoVpT3iSP(CR(D-WmtW@tyW{9k zDluX$%IbT_N^M2r)$)s6p>vPBLp>6j#-c=r$*jGvYey?<0on&Zt&deyk#vP`5u~e( zGBJF>^T^IvKD5uBlAEOt21+otO+_&31}l2lfc@1C@@988BB2*6H_O>N^^01#zN?E* z$A8jmg2U_E1@pzj?hF6j)MMm6$50vn{&yQ=rDJfl;s8;MZ7D(30q6XrgWX+qL7{el zS%A9v>2M=@A!*&))^vM2Cs8TsaJ|V4nBo8*)@uvfvj+zZg9=YC{c>9mYRHwMC%4`P z`yOr7N?{OB0eiy$Z*J@I_{XR7UGr~$_*&9~728+K?q?kxHuWEFtTX6C#G&T$r2T^x z2Jjw(EywGf56n{OPy9C1EF<%|k{LyNC~cnlc6by=K1FcvB#$;=WK$SLwp8XLRy!-` zdqc)5n;0d#0HO0mo`@=(j4(-IF7M+mc`oJVAE*m06x`#|BA!kSM9pVgF zBkC5*J4qTB{|+c8EyS-|^FXW|PJNA;+4R*`ai-U?6YHztFeFMpK4u}Z+_C#685MT? z%yjU-+C(GEdW*=B@0dgYIkU2PU5Bv1nm5pkGCN(>bvJrW?^gz^)8^~urek1YCvoBN zRj@z?I!&Z1L~b~8YgF&ozBj?zw5it3J*91xzP;AR9@+-j*F_FxO-1BR1^MNk77vT1 zrPfQ9UmWw)zE6bgv-cB%H+Kon*Dmg0!_EnqC_rlG;HR{c_TrJA7wzxm+5@R1)4in4 zF)Vy0L-d0!)z32!nyk8CoRAFTF;)-M3oe-Ev*Lg7R5VMilx24Ntyya!J8H7ntx=~S z(i1TP%9QuHRNxvh!q+Huvb7temFoS23sOYkRhd*sbp)&`NCoUvCy8Y3dSz9s{5oeq zA3d-xs=3-vTX!-Ve|_z2`f}Mh?b3(ILU_EaTzjENg~JJG=X4<;dZeMNoe<^_E+{k; zi9%TTSiPpYz-_8A65S)LgFRiZrpyfyHYZ5U6lGPbq}DJ`v(ABw1eY_BBkSr_VAe# zq$0xM@BcFzy!?odTh!zw)(6F@rrbv|HAPCu`4u}uQ|Vi{_B-VdbD(lQx3OkYNF1V` zGAU&zR)E<`5--zPA$8D+X_!Q(~Z<1^5;>+&do31UZc0`Og zwu47_TeRTEYZ3@ySkk##cm(WeEo@jDc!;RAmk4iKj(&f$ILOT3v}BqIJtI<^A)h{&s6FIz!3lO5FoEegyJ zF_C@Wk(XzftwkLH0xLL_{?QE$2kb7iNVA`Xr_?t})fi=n6CmRW(s!rIKVeCY6LTd(e{rUfo2aiP z4vk&y$OrE(XQYsunnpD(WG`il7nOs6;4)Yb_d@2DmoWY81gu8>%Cm#M&D5$C#aB1R`B?JkhmMYmaVI50&!+PPC#0 zPJ_2)6za_LWw|cwh*lSpU4&(7-2<0qMW0hfKq=&dG#&Q;y*}{&(MV+U59miu@((z>V8OfAd_u;m`O>fC7-gsj+^L-H7=G#6 zvUqc~K$JP}wLwvI0sV9pShH!Ac25%Io0V*bQo{DYSUfUVVZj2#{Au%$+8%`Bpj)e| zIYgY0-)4w_pE87+qHz@7Ou&!JB{)5cu;CiRb8te`H8^FS3n9!OWEz77IaFmJJi$s! zud2T}xgD#rS`eVPK(8w=v9!6lKq0PFW2lUUtZ3!*Y;uzJ%W5H0WPpDR(UV)90)9Z6 z5kK~^)OwTX^mYs%h)s5t=E%o)Na;f4(`Ev3c)&fx0m2uG{-fG&p<`AG$eghSzKZB)CoJpj?<>1zQ2 zI+UL96_d{S#?;$c0l2rKxBAJiB~W70Z>0r?z2)Z+@8^)@t{N_!D>hsBBQp5-@jz6= zH0W3F$yCH>e%mJzMVC6`x>_c_x*Bf=L87?t5b5FsZ^`ytd||P}Lwkwwe&?hY_>!(_ zVJ?ds%Vy!+c>GYX0QVVDu;QI%(g5J-vEr><){Kf$eTcM9{AAe6ED(mImYm`^1r5aU zT`~_uRVSyH@fM!QlxYlgO?daTd{tZGn9wOp99Av6Qpn7LXWkTVmR-j|y=ds-^w4n} zTFX@|ST8pnPzs=s9o2uUv4(MX_CI#L>w3_E?&N zWy}*TyfEODI8k-e!eZ)`g?kfKF2?W$Z~4?4(avk6NNaawNcpFdG%I{dZr7i9k1X)8 zN553rvY8x>T;rq>?gJNl`XIapiO(I2cN1ZB<5(|STXm=BSinqJKu1>krcpsx;l;d% z0&wouKsXeF<$X^T4JYeNC!Z_v433IQnyD$FzRj>xzo8bWu*C4HsC5IbU&~vryn5kO z;`1zAIr~(~d6o{&z{_hh>f|MrqHFSPtp8l&i&fYiYr4Zaa#A@t0xy_HTf23Y?Xw&v z?*6`3FJpMREb6j^K7P}bTXV2kOgu^X!G1=nl-2jDwNn&3bD(=yN)b-Ao*XnS4K@7U zYz5u_%HG;pz4MEBr^{3S>f5*fR&=!jwLB;n=37FizfG61pCOmryW0+74WIt)H++<&@{Sw#yb!_qh7TvS*9cAI?hgnjG zzZY|o4r~He66W}b!x{Umt<~MK!@r}oj-}_uGNk%qV~%2G)-r4&5%L%7_KRt?UWr$G zd-Uh&n`Cuuh%CPGX67TWCI{u)4Hqn=0j%iIYD~kRCj+a&iFFabSXcvlO8Zgv34R58 zf~6Ks^zLh%-=~OEo>Nf0eZo@BQ<2XW+uu&!}ZH{e` zZLQ|gI&;iWD)AsHyubfhBh6?5ojR@bHonhle_J4b>S*_9131+*NktM)@jqjvrCmPX zVT>PJ`LlXwj?Wa`wial^_@LrG(rN=4rV|AW4gl!Hs@I_rn*RAesYhllsW%=IyQZnk zg0!GB2i?37_uBZ9we2ha7W7+mvA*C z%9lzTxzp{L0I$QlTwWG25!?IvXXwh}FP4@YBkooU>?zX4sV+4#>W#cP3!e++3Oq=+#Ke7LYW|N-OUeWx+cHc zUN*B%^5~u3YL<`_%D1y^0HD;0C<2JdcIZ{p#O zUrCMkWYRwU3TY5D05*9C5wd@*&(Is*i}Uaa;J?ie!?=eHQqFJfFLp{?C$N4k(mgG$ z*!As`@_PG z#r0jj0i=VK<-!U(u`2t44ywK;R=1+oy(FqP+=PrSVXtT%Tba1=cekf-QWB$e=7uW; zwlu1_3qHds#QhxUW)MXEm>8?8c=b*dZApe_i)e&`@I05r-MlsTrQy0b?{~@N_XLGJ z3!$vuycC6$)pKXRa5D342oEstvE#36g*^V%u3FXo^E(Fk@Wp*yit|XYBb_d_;ePlj zX`8iZaL8^kv(X10@$KN%Fr+d;&Tz`)XhW~O$w;y795JyOq%pG@aI@h+9R)V5 z!dz-^FwR;#pK5sPJDWWpU?Jb)jdGQd+P+&i9gF-x5Hl)r7rjAPIM+d^4>jvV#Z?Vo zAs#IkgD7?tiA48jx0K#~tn;`98ywE*pEm#;<7@#nV3XGMy26Y6!ICVUdtL7>AR{O4 zj|1`SxcA&Dfzm~tbT6G4(J_4&pfM9IP)gjsaBKnS<*f|LS*{f&9o1Q`(CMBM;)E9x znUm_sKh0}VW?n~oyQ4=tU1Q8XiMYy1@g~b|4}Z^5*2?#+sW%c;+D@TLz`V!lNh^}s zS1|KnCuU)7A>{FPX&=Ghh*eaiqLTRVf6bj|Avp^GHfwmFxxV-J&$|D|wf-cGS)fJk zwduU1hh}nO*6xV08G|AN2leoUtAX3Aedxtfv@M>bB;fddDD~fEjo1*Tj zoAFd8C+&?cJg-|j-}e^5payg|z$U|7muY)FJL}(?+KS|(;30h3RdZ4qF>cH2u_$!C zy+vqzQbpI!GGX{DJ$j#2j+U_xv9Hg_SX`uE)>YFDmn41q+!76cMEZ<`c+h@r5Qh^C zI!~y7Z@qc6^YxG@bsi{Fm92HLi-zIH*oD<@4>A^F9pHjHc*p6A@ai}j5W6G{o_9x z!ef500@Umfr#(v_Ff&t@&*ZQGzsQ7I+-m>y(v%;tJ7Y(pCYgPcW`Vb=5mUveCCcTZ z67^%@sP`xP>VX$m+K?m6Vx=Pi10e+XVi@Xq?{V=pw}E*BbnQXVG5^TD{O;(Upd zO!r5AeeM?Kb&lu)Hxxbqi-C=ZnwqP1xHkg>N?dx7htmlyL?Ed%&M(_OP{)JE9(}Uo z6$FJVp!9}=N5hB#xB@l#Ofg|z&S#9{;^AYk`ZZK1s5w8T}%UK#vyiO3wQJo=!7>7_C#Z#Pk!@kb;Y=fR> zJ%)+^b&tUxqrfx*m*t|gE^Z=KU3L-55D?Nb;xWdt{FoOWRMg|<_ag_nKfR$5!A zeo24H)Jb6YD%>78LGqZM_-Gcgz3;BBdWDh9ExOluY*}d1?P{50>lD&5mgqfABPs2E zgnylN0mEC%O$H^O7^h4im0c9}r;LS6br=K%BAZ=quYjBPy4YZC{wYLzRDBqnZ8ulq z2eEv*E7k&V3bIN- zX?gkBb>Q%idkV&UEXSqzJaj3&{V~j9R3R_-CFLT1iUg8@eWBP{YW_rTo)HJXm_VBE zb{M+3J$g+b?G#=*p4Crt{=41rngseyym34k#QiR$K=i26n*-F37vwdC+MR0eHVBfq zUvUxSMA?}pz`O(S7{n_&AGuq|!Q$zI?!G6oh%DGyKYn>A)|?=>FP|N!D3wZjXPA6& z^wlllOmpAg|AQ6DGypv6C;gq^HKJ6%_d5M=cmL8}tC+3z3UlUKmSYy-Ob75a}Og!DcZ4*%z0gbBm{|CnCRkyKsfU9IYB-n1LlaH>9OsE zCJd*skPNo9v3>&1`!p;OwdVk*BC!}gcX$iwHg@6XQD&~&DM)^d12AjmP5!!_IPi@< zl3nB{h>+=f3vqxx=yC;eGuF7?=+iDE;@V_XNKiJhsL3T-V@Z=+8 z?o&>PN&FVdH?$9btgm^)cdWHB#dOKP`tK+L*AMS?Z!R8yzF3(6I8y>uU zr7nWp^*zYk=N@tgo$iTxV!TC$IE)vh{)(%`J<$JN+$sEBq538AjG4hW%{%@mCM4^j z9eEu_GB$LKp+yh*iw>U;Jf2+afHp+b%;lQHjb_015+qPK_jn&e31{sT_m^w8R+z@61e(|lnIeuVRjoDV>y zJ-lf=u6Ll`);%?!om0E&c@2*`ucje)x(=Wfq9cJ=4dtaa? z@4{7Fy9Xx>*zF1)8LBeH~zO#K-+6wr$%EUG?E+THFy++v2nmWKSb9}_2mg|NE{ z;~#1u{`@}wF;CAXZe0fA8zRN4F+5A(WOr4-;IJrZw`h?l!1E{UYSUzU!&kjsr~1aX z(yrJH@6Jow8vl=~a}Q_wf875_8c`#aL&aphjgaIlhmn|wIixv-2xAU&$XRkqPH9d# zr3}O7kU1?>YRV}&Y~{4dDV9@nKK@>x|GvNL@`pdzg|W-?e%|-v(Y(}btUd!F-@Yvv zTj@v`k+7S~^$3X;4%r>*!CSHn6EpF6^=y2l^3rPOF>*apb5>*NFz_6)w_g#y^S9zgNB{R7NORa#Nyi(g zcl0{*bbpR|Hr4<{lgBWFmCtSGwyjD_9_wISJu(d(L+#Vi+3EVIF^@3A7apSzRRh^&qJa{3+kmANFNWpB~pDZ z*2&4~Ybu5z^8T`3Kzy!=Dj#*?r~X?9U&@E_uL|1kLYy(F-^TWrRvzkjQ}@Z@yW}yx z{bu5LzznJ?fZJHYyvUXP<<;A^qN(2kM6pEWE_9~EEyae>wRq+i8$6cos&o5}pyYH$ zKmZLb_w263aArvfE-i_GG7}@*Ujt&;oqo^xYZtmMT)p@lRZpou->cRTTF*h>LJ59z`Z(clV-?6N$qzF-anJ;cs=MKg?*DJUN-3IJK(g-I(g% zYWlurZ1JHMkRFi4G@zdX+sG#7Xy5c>f|6U-kk|o!PlwL!bpsI9^l(39S$ye#ZzxaW1NA6 zCe+GDak#tTZy!CnxYS60VbiPxU=ay;nGfOzYh8(n;nIuq^F6EB&6Qe~<}Tpyh}v3t zX|9XWXQ<0{2DAV~7M?5t0hivVo76rV<5eIBJY4GBU2Oh^GH`w56D}7+KX;K7eYy%EZknA`Yxpn_%SR?np~k{p^Ccc1>O4hAT~#kl zYC>EEcv>7ibC7Ip28tA5Amk-LOAv0bm>5_N(P!8hOXdjbr`GX$?l=n#UQ1vtp3(oF zX6Lcg+H<3(#*$mUfB_*lnWMy7&7{!)sjh`pI2_>k03O6lZwgg0jC!bs zhUMXMACMki`5;n=D4J_wt*st-RR8b}MtyN}1k|-HW=gyZVRuZ-;6{3!)1ps>=)xgk z+DG2tTE$c9E5&xd&ar`nqx_5buH0E$hRbfzQ8A1LrXh2(oZUkhTB>EP=l5ZwD=5(J z@^YZGlKJW^@6mVj+bvsf#c2Cc3Rz(F{k5L1o^v7j`?R2p(WU(>U`Ah;vF41ao}Ja-CWbl7~_oV7sW2l%uqO@vFkZYa> zi3NS%&K$f(vG?s+pI={JpDDu!^?Mk%y+L)eeO{Eg)$*b@qU2z2!?oTXt|Xz?6Whd8 za{y>+ght1tbg~13$xMCsMT0uA*t%%Taj;kuy}do;TZzN<`+APF z9jxppwu>zRrIfnosb4!H?kePTPGE(p4mxX*3?m-5Yv0t;qBo190?~<(w2))J{}yZw zMIYSmUe6gra51Ap4iCnuMJFeOZGtpQSv`TZVW1S~+r(*&e?6a5=}yYb0&y!U>&& z)nknHQT0m&ZB6<)3%tlu8I{fr=Qpbi**Pnd$en-55+e8VvYn#$& z#w0=GC!7x-Mu+VD10w0W$i)Ox=hgZ3z`Q#|)4776V66-CjIr$*ZpvMP?Lg?pF11rl zjU(6P$Ut#Xk$Z=SUO9sygd+Mm{1yx_YNuD9mifJTvTN}>#~H-?ZeBMo-R1FL57o}4 z)BaGqy1INXsK2R{#t{$7l9qMG6Q_X@+o)}bm++3(TzYX))O9C?rj{e;2-Zl^8@bn= zZ@`R`L+{#j$oS|c*^5Cw{obup>YtvrTY-^xsXm^tPvF?nXBa-riSI9NJd6zUG$m_a zGXjjZeON}~8STB*@RIfVYS>wVvL`%TKQm%Yk@h#IwtwFvUW$8lXPeSz@p@PabG$3W zRrSSBMjsaUwj&(CZuL127Ye570)(4rfl(v}q&v;=eL)PO&SG`TQ2U|e=$u09L+TP#Ir_N+2#kkkf zTWs#t>iZU0d-;jQ#|l5PO%48@l9EChQ69;K2^tG{Ia*eXPnzL|g$0a~`qh2pWJ*$= zRlrbRJkkIC@Vt6;=BEZrV+?)7P_l%eLMsLSs!U~$#&vfuP8ek(FSCQlA`oCm!23DEL}YLjG(kTkIRwD2o`y70x) z2Aaf0RV*bNJ^7*I`AKLT>Z#bVlHqG#4O#uR(fO`Pd@(WVz)yLYMEYJ-s zN!jg|j5#>C$*0 z1t%#Z^)NtbfGdWUDj@RHr+_n+=LtwO<_Z#==km5dVN@6%A4FHn$6a~^C2;d)Vfv#S zfm%DRkd>lhZ?~dNlc0#IydIE=%Pl{Rk%eD$=@3b!uQm=Bm@b#1NXqvlKybo9>+CD@ z2H?{6!lKrPoCEhLL{53wvlPX?8{lz?|c=2)+>&~fDyt8?~~0*PK}2+ zFiAa`E`f9(6}$H_6ag200WbXz8LxDQ(KYWCs%}^P_wL*)t4d}HA1IYckI@?#GxEB7 z)?jq)v4zI&&m36CI(c?bgp~u^d6$Ghx~9q^|KyfXZm;NLOy0HL6OT3nK>=C3QCFdUm=C zAtWRrdHw5C5W8=N`bP*>|MX-C6nXWof}N7(E(@L(dn~7gUA~DsRuKNl9^*+8h#8sf z6nFxT-mH&0TRYjUAD>g<8xseN?w9u>!a#_8~#PjTxus5i*TzQHJ*rLQ=e{ z1fe5FaOU0>I7~^x1xb7>CkHixlN1SbtK?yH`xAThi!Sgy5XTc)r2yF*#zcw=%?Re2 z(lU(-z$nu`_V(slLV=Z3089{MkF-FpN1o&(2yuD5^JTfv?-EW!veEGwiZuJ<0-qol zlJ4i;0WY9tRSgj6iNFP0yl~b_{6$W&*N}Ld)@7;1!(Nw=`VyhAGxNXt59}E&&+KJ&C0GMyvD4MrI&qHCVANolfyn5 zbNZQwwAd+E{+753f)zpu9iq8i3NzSvp5ED;>7;~4&l-Kl21Y69a_gRx{Df}So+QnLn?)5@NZcxe_ zK5zWeuA_vCJM?}}DhHtIh4-15w$NQl>uG}eRdNa7cb#gj`;7w6vY|B5Hz?#?&91FW zj)vIw`zXL$@s%?D2jCrWLVyyau%`W`yUXX-^ z2kfYXYBUvrwT}^wm-0zv71W7>1gtC1l>peZk`UCpPUntA(gp7haoJcK#8pk%ro?YP zntriT>LuO3&%@^uDkMzqJ`4C{qh~S_KvJhQU$Meh6gWRJGRUeKlG6?9BB?evE|{F5 z#aQJ0q?p@a^y`N&XPuxpTCV0{e7Je&Km5LNipE~hY@BsNYqx2g)OSKUo~fx`2)Eng zwR|;_KD-dn!va<*=M8=M=iWMAs(9tLvgJd4Jl~S~)MOYG)V=F>qNhehSI!9@hY~nY7~>o^LFxQ7jg_o^CzdQO%qqjR zL4K6m{;M~LM@ffJx)kF}gJA=L5I9Ud(zROrx82mjf<2{}$ zKa|sPu(K1`u66xuxdMATw6%K5{U&0zfXsLUO19kDW9PV~LFuutu5IrLW-Iduwy}g) z*0&?B--apcgu8yaG8(F#HTFs2PLmi=rdaLi0n86FH%*eIKAWoQetG@P%;*N3?tO6m}JkWM67atiYyi`LySQ^_+JSndGhcR~w&?>{T zW_t+RB5J-DF3=W(Bh{64JPo`?YS`<03*|gQd7Zxk?Ib$4RmLVZRu1-m4+&nCKAKdJ zU2pboJwK5;MTf6tzr+VRu<@0e-uanqEA8vd;pQWZ{hhUfM;(!eJ{|MfZtYspPZ%t! z|HE;g<>17E(AJ$$c=W-h)4@73YLqWAGQ_VD;Ny*9-xS(u%dvC5mXC!hBeG!fx90%h zGk{UkEU$K?TcLP*Mm5=8%N_asLpe^4*>=-3aD)~gQ%l>6)Y%%`uhsFk=&R*}K7Z=| z9-B#Ln1DG*+FDv(ZaAVzQtC5vWaj7E@!8PzQY)PWA;21uGZq$AIIBMUvAg+pO-)V^ zhdB$q|03r7h9Pn|7XPM(eGB$96$2rlv6+AdQeC)0^p zwtLuf3I5*!o~!2zY!xdJFY_pd8(t>(xMLEX^yQeF25YAYdN?q)_+31GD!3^~--&}# z*VJQRnw$KWp>`W}T>MU|3v~iG%hlwBT8nm-U{a3?fu5*j;ZVq6&YP}`pjexh?D>eRXkC;2G9{Z+&Tg}`xDSbfM~ZJd zZ@gb0T)!00#h33K*gt#DcZgEzr{%r8v?My%(<6kM^i9|VFem;V@9Ij&7Zx?*m0wwr z#l4r^I~uz`*s?AknX!W0>tIH)Cyu>#10SrfNfI(pa!*fU-WJrTbIYIhvW`uoPN<4& zf5elU;Io;QU$kfK9{|ils9c7@gJaO%9yY%%=WC}-=rZ z@4pM@uG*wpcsi#D7y6s|sCKFXU)gd~;zYAZfne=gJ=Hbz^%)TETAdXn}4vxM7*1b>Vm$`j^T1E>x- zGbS)4`{m5gB&D>H^pHMr8&yuIhf$$7E_poEE_6kn_H(p>jRRbd)85C}ClA+dVn*JM z)0O>*b3=g0*(+h`;rF%2Jgjq_VQu!lj2|_>nbA9aH9ztHTYDXDJ4Nkn56v(DC9Pa` zLcHS485HK0gx`xP-BnGK1k==h%z|GwTn3#G6$-0c|=EnDZ_iE8ft^NrsA7xuKo zMbEh!{WzU)6!QiVpp@^dX7am#131${O@sUEE*kR6VKhTMCkk=klY= zlpx=us}>ipCA#&&rxc=huQ}LE&+<*4KQ;xaofU4exMltP;o(a2t*F*Mm=DC)V( zm(^gl`kA{&NpJ0QWNvtWLHjq4%^?qWmZKvhqb9u*7CR^T9OOr8enqrg?h$p(&P@20 zrvG33!QMQN*THOOV&|`Wy(>8#5$%(MKx{QeeVj{Q3CQHUFgd}D*qWa@dj=`GJEkD6 zv%e9~6+{PChs(@Gr`e(Huv4a|o}xzQ=FXn^Zayp-y}PEd9niW{Tx=%Zp=B~J-{h7W zrG~BlIW%O_9^Xu}On$Izu>n0(GJo*!3Rv0DbsFos@i@a?bY;~~;?>vN<%b({Oc#1N zduRFZ0HaqTQtBjKL;p8HrIs!Bysaj++1ETTUIq#V(c%9|5p(Aw=5Z775-W>Bzs^~p zBxQ<|@oVibADg!1@mG|IX7?Se)Eb+&7tD_NoWH4=HsMo5Z5K~ZyuYSC^Ypd}ktgu^ z#?>yM=k;RBdAWW2*Zx7`E@Gw`N3F}TDLZrZ1691k!p0_s@#Dz5lg#sJU45{u=>7RQ znV-8l2Lq|QU(4-2uWhqKTV^sBR%@9lozCHaKlp1+4x=ZP66mVqFnhb>y56JI^D1aU z?!it|xsy&iFN6v_*(XDok+{ElND1eU2m7zp|HeAqj^1whZ;N^eTpCeJPX9?sWqDsa z$MmIs^M9OyD*LxJHR0!LorrPV(cesr25NS|LS(m3O;~p8-#o79jP%yt%)g$R+r}Rb z_J2)?U!aeS=7aQ>VG#5R3f)Gou*KX4<$br>xbJ##FH_k3( zQQOAN6jZZC^(Om!G)9E(z1U;T^YZ1_O^wFRxp_*ZzVT`j*i9W&_H9@yEyA+P=NOd6 z4_PghHceAtM0=5ZPR?1&vn~5vP)(vgj(Qp7BHTo9BYz6+zT3ib;D?(Q-4!NbzRcw?GGF=kt6i7F z@Q{{|DN08ME?n`RT<#mNo72G5OLtBMkNaj1!7fh*qm6zbNG%JKnF0vOk?y9TgMVH| zaG_+8msvIq5HvE?g%M<56*F5M{8-;*s#M7ay00?>(hMZPh#skqvieED$~Fc>gXj}S z)L7ha+L(bM`j6=mE!S^*B9WiFPYY!Vks5_&uO$Zs(WFt^(Y(@LiUn10@ z>IXCw^J-LGZ*|`Vmy}Az4WfzGpkOk~TW11`gsYzLQ0B0Y4sX5Q<^{#{Tm2Ay%=fjp z!_SjGYAeVK75fMgu|U5$&&|oFO@p+Ss!AtO3D#&fB+jT_Y9~(e$xo2Pmr#te>A3vj-OU|NZ3-UtqE^*ZA{5665W@aEpy=gXf zPed?dDXx6)Z$CAVg4+>o?NZ}~g`S*qN&e<_%F^pyw=kkr4wqmP(>2j3X++{hG>xrM zO<}sP1TBwX-yxD|{7)b+DKrplPK)&Am@{7a3>wpN^~1pCkDK!GxIRTefh+n%qx(Dk z;o@^gk&$-irC#gGUO}y&c+#wVQ3#*Rr(D*WAo|>3P#Q^My`5FoCHC3}%-XBnAt)oi zflBcph^q_2?HWgb5BM`hQi+j`G=z@~7{jOP5yX!YGF_gJtePq4O7qHwGQ7dNYcX(Aq-mtO5=$o~MI52TCfC8pl z@f1ow!>}u}q(Rh@_-PFgFiX4^YJJm+!>qtQHt}d(!%|!@01bqHQc8}%Y_H_AH_7vT zUYxC}bnE!tfTHreXTWrGF~El;18^&%95a5{UbMI;V=jgSUStK}KSCVbxFs*4=vJ}a z-UYxa2)#?jP~_RS_~c4~XdxA&1Pqxl@*h`hk}U$Flr(vajVA)2234s-^@>WW23*{r ztu`MBWOC;cFb@D-QR?s+<^&x%A|&aSmH8?QZDNDqg{CO>+rHP8HZpb&)HxCN{ok^< zkN^cOtI7yMR-#R0K55)RXVG6~`c8m3Ev^_za#y_bRpkbKJnV?-Xa9eVk%*bYlaT1W z^26%_ir4PxdH|0dw|CwD$xCbZGn|l$s||D{IjJILX;+)}C+9Q>m7+eEE7)`?4g_-N z{@Ccad7Ua`Cw4fi9J>by&a`ahJ+@8Z9B7CkuP!f$HSV6Zk zm6V!n2taBIFQpqAe~M9`8x`e6+`D%I3W^y-dlE|}5PH&Jfm{v~3`O}KnG%2jeI5rv zo}e+Hy+%YQPylQ3my72RP@{cE4;h+3pVf}o*o_Q=5Jctjk0eDUpzi8NzoMjj}Q8bk731p#~v4qGrR zu7cu6O6pB|pC~+(zki8K@d{|p9`bU8^IeO|J&3O1yl|%-QvKNgZMuLV93T_*!URrl z?Ym+`phL2SO0Q8kkLa1g4H=ry8_tF?=;NG7C?j;01&kEIt9>+CLMgt?Q_zS$8v5d` z(@`GD=}}~VW-Tk6FufiYsnJHKrzq0ZjX%_2fFGtQ-$3Q_Fja3UW0*B*U5>AsA{tN$ z6x#yeU%K#;ARFva(IbAYWH}l*2JK~xkmf+y*E9*g1}#({y}#IdCFQfkqf#MlE?tmb zk`)HP{?;NfL}a(`kKq{UB%|cXpp+|exXVGtMHtOuGhfV01gl?N+7#1gpq)VbtDmHu zI`!xEZFQjR0>;Sk{I(CcH6VKB+AP|u@{`7c>gTBG%shBG3aMx#Tk^^&)y9=^1lLDs zbf<72xWI~yHUOFf(JW^|>=V{hJH|f;5yL%5%?Q}Qe9k-CO16}47)G1|8I=c9e{Dvi zoJEfac)HsL~4|9N~3F2 z5){sd`Ey2`m*E8AN3{+0^6knt=(E^~fhIJNtK|Z;D&vx!b}?GJOP0+`8|hDh4#wTK zZ!!>`zfu~}>z!A|eUCH^ZCA$q)$}0|<8a2Z_c0C*`u~+$kCsP#IoJ;To&5c$>F+q3 zh!w>hNGwZZsz4|f^V~@BlQQ8mOxZ|TtVDPSzsP8B%vHA@7!_s#7x#l#f|I#s4GCm`F*XCERTRR%yQ~xny>d3S4*;r`KbH-U z!@%$Jos-%N9c!duNANa9#l@*s;65f+^1<;6^S>t&`TBBhk#0Ff<(vIC6E>A#Uo~PQ z;Ab+rFtu7_@-#|>a-mCG(JU$z?nSh^aj{f_!=5qbQ%KMCl3(l$VYb%&he}UhE?Dv+ zgSe82v&u(ZQwFZaKcr4VU`kit3@Jo^%U9+0-eY8Lns0v(YBlxiRmi z{H{&$T=sfc3&{fPW^vD+wIkSxkh1GO2uwH!2vTH!_pomoOipwxCz!^EX}4APjE+S$ zsms4P+bvBndIEfA>oCpXf$FZ0@oHELWmN4A{-qG|$qU=;kIF}9&9@>%9vNrV{pL-D`+U76l?nPpFi3%~P)abf)}mw&sTVUY#-2L6a}=l=Yr z_z0AdxkRq)?@mbyUxxOl_|!Mc^J&#Pz51%^A9Cuf;;PS>{e9y8PITdUEH)1B|H5kx zog^HY1|S++vUx#;L6M21KDJhkHW?6_5J{tfz1Fi8FuWZ_1SDATlGU)oge)_>YL+T?C1Q=LOdp81Kxm$C?zF zE`79lK%$DGpOGiddOBt+hl#@khaGB<8xLN@Z=%2eji0a@l~eC}St8*^yDs=AqCX4#Tvx+ui~rEBn+z z`e=JdrL(>J^oz5_WuJH{BC6ERMjh|g$&`F&;R*M16~6+CQX2M~{UZ~H=|NxKTVmR> zkuqcHw>WPo8S=OFeVP+~!j*ZI7B8HfKExt$pM-t7A|}Tbi(1%Te7O20HQ#?o@39aD zP6Ba06Y^>`Q_jloY=0v^het)#oRRq8=BUy(CM}Q+qm5>m6Uob5uE;zwuv|D0PdIA^ z15%0oKQ3ki(u_=?e}piKGG&W4QB75)-&LCaS2|61L4vjx$1G1ccQBvfF)KNro@aKx zOmqfAcg|UobPXgX&2rSa1~u+%K(o5-#a@{smEH^nD5W8idIDdR6BRK&TtrWFQE^&< zh{%%fvUWr>mD=KO^EFCOF!fvN>uf<3k#bpmr=V1jjyBeipPA{IUz`V~7?>WyT0V)@ ziXO$Dd-Bn(&@~zD@d%%nBaARE@0nq-Pq~bV2e&GrWDK_c&Ga}O%q#Rj%4EMHS@_JHZ_P{dpNtCrY?Eed`( zB)Glc=wM=E;=cR20`2om$MiYo!4|p&?wN(6AmT5jOkTk18~HMx$U3EW%_%rN${!)) zmS+8$e=t2rDc^MV_U3bnb#8R*^>pmLVYS}Y*_Q?**VyZsxQ{e*_W#^F;ukI~@AiG> zr>o;p1xhE=n+7X$hJf$(euHT1`(p||o8{44Lj!qJ^OV`k@j!EWY<$|b%+p6=zxCca zasyy2>}=0V#fc?6vqR6qXb;1~jhr3!htdB1C)&>M%FnI4PaRCv=$tf+@8$!86u0vG zDuC@sL)FoPo$a;ThyUy<`9+ZkSOo^K}2pirq|40WsDOTVJ1W2zrR9n*bpat$Cm z+Ri0no7>u)I>YYHsfYDzIh{=#d3CNqjv@pan+L4Cu`4XLY)<3iZn{o{l}&W`&c9vX z=u$kcAH22#IOnOVX%V&&Mh=YqHTLb6X~43SQPfeiUq8w8t#Io}eR;44_*(#j?rLjM z&6~k}jd1e(Y;AON+u>U0f2yNRJ$BFUQzsRE1+-a7?~X+R^&`HLh6F_^lvfke#O+Km z9dbOt@DiL`)ygS;I9T<<(o)u6`8fb#PnNYdjOmNoUHP?CE{>(t@f*E-p)i!A(>@}# zckV+FvF_e)YTs6^7z&-R?;akq+r?&$%_Af})bDNm>QvA<47~fmdr!@qRZn9Db(|NE z-mB2u%>guFT{$(1pC+8g|F(ADm0q}ZE-Vx$Y-v37o6({b9qChGqoWfUsZo@6`p>n# zj_3olUDfF_w@CHk+jFjItUm1SoX);&WxmH=+>5A$i%ir+gmMD_P;PR zc}UAvxTzC1!uNgCHEmv@BQi=;Zu}!_%u3AGr*r`Qz2KpP7U)HPN@9Od!g1MQ#!zOt za)Cm56VBa1#`a<=hqD^_dBg!X*I!nGMOIz7)t&U9la_j$U z*fZ(O_Jj3JCM|zy=<8;;GL4s$GL#zdT$%B=a~wI}aIm&=1>1PLYi2XYRbXq2X(|Z< z?&XXP^sKg~ZaS|mM@NK)UN63_q&kiK!LI+9+cWp|>)hN$TI*W}@JpQ(K*AX{6mp$$ z#X%utbCX`t;}#aFS+aCN=X%smplUEy+hNahLC;8P04-9k>*Awcj-NWWHy3zdB{g2LOpi6rL+D>g??n^IPk? zD5Xp$8rp)hl#@n09<^lK&yEyNnhmi4*w(2oGmNFhaktHI)eU=nSI6vajhd<2`L4R@ zu)Nt-_wu7JonR|V?%|uO{oaAnvNpUJa}Bgec0qco7QCv|`i zWe$TM;}Rz|NV4y=y6Sc9k7U>W_)aapKpXQRMubtfdcwl4-xN20O6O4l1haLxje{lb z_$xL#TH^t~bC|{IS^j}K`+IfFjsCzK2H*vB+c-sENTH+MPfXSv)N4mZwb+xVf~DNyPwKlMK=>gVnE z!kTg)I!;aJ*~tLChDbk}bY^m#(3L_3mexfeTVb$aTd;B~#Po*&-DeW;$(xRf2|}*7 zj91goX2#m-a|yZJWrXID8U;Ny z3VGkC7>a(P2wL>HwVCyca%C8vjP%{@Z!zP2#9!t%xfonp+Gu$Eu4Pf#7im*u*$AV@ ztMsp`{$&C_HpU(!Phe@zX}IAbR<6mDo7B`r4IKs1_-u`Gt}HvEmD-MUQot>k6g(~n zyN*dVwwqGXcXp%)wK_h_mjI4e5YZBV_#g7rz<)K$p_Fd$-Q^bweIz>$9o$c`ucdIC zd)C2hP?Lh;1K9A1!Va_?!LCtwb` zP}Z9%_dqfRq+W`D{>{*i{13V`eR5#|+N}l_~P*$0>3IGJ< zj0|KyNm1swZv&3Z8wBG4s-Lh!~96h3?M3(l>!D=Qq)nsDPWOc zW|W7pO1;AP`x;frV*t|!kG{YP8)bL{64BXiO7(l=!hkT}BbkP;EhPR#Xw2fdcn}b& zNmldZSk_BrvOO+}AykI>^{W$vExXODbOrf(dwaWIpiKBIKpw88nGQ_;sqb8H z65*Sa0rYb!$2$=_%p>C8kirAfzQ#=ogK^!?4Q(ce=YfqWk+OoL(QscT3$l- zgO#wVRh!?!Q#l1JlC1!@ioq+oD5~2&KC@HJ%azNeFAsoVcJDd9RQ9IzIoA}p%_h7| zrEy2y{k%l@C#GR^c)qN!_2{M8* z-Gop*-S%Et2*>`j<*8X3WLc1)BxJrlT)gL^%f(^jMb+00z>rGt4)Y~P$w`4H^q@zh zu}+aIQ0@}zl)7aN(t7LV&vd}_zvv{s&+3ORlJJ%!E z3zsA2G@0A|A?@t{z3U{Pv!8z$PW%CM9E7BRc^6d;|#<0RtnD9|-%sa3sI)F$_A0VC8M^x(2m2lW>QL%AeR z@SmZ@%SsHtz`^;qB1;m$zy@brv?G5;ASNTlY5<)iz+v( ziUCA}xL2O9Ns7zY?UIrZocFrxvXcjpBovZFfd~rVkRXY8zV}_ZlTPK_@04@UlM2UO zds={jybMZ=5Hynv%4!*wjKA;B9d*ave`aKtt_wz#;w1&a#s>8t&msQ$D3p5i8vH4+ zKzTlJV3cH-q-ZD5Us#EnOA`r=^u3iQtAD#JVRLOcp3yIn+=rU>;@W&vId zI`1yh3L()TconFRXNU5`?Ofxn3QWF)eg}&3hP*H6%KqQT4BEZUbI(By$dTOrYcs<4 zkG$sR)kD+p0bd4mGo;6L?;X+gZd*)IIjTng5NmGU7mp$J_P@{*k?b9JA!$D#Uq0$Z zlCer~Z+M14Ly68`T6Fb^9O!-#JDB@D2`EHbURD`sJPAm~WJ&>*8MfB-j z34c;7P}}RG+1s@fK8>1g4H@-**G(DRi;-0d-04z;K$c+EwL*WO-)Q8dzMsDJ>s`O%S?XwY`?c#AOY{Ep0Hgp-##G zV~#sz)O!xu``4{zXWxC?hdxp+OtN`e%&Ys{rM2I8Xhx9jcDIJ{Njm88;qj!e&P5g7cLC%lrlr@1J0IDu(l$=j)7GfL@EOWir=jeZFToURqRa zMw=qmrgRYkJT6#}lAltUmELLVZXx!c0;v+hNSU2WQ4XI(9S_(1shT?ePD4Sc?u~{C zzdUztKLb zPYuVhO%rN#^b41)-aa^S>&K+Yf@z9*bUl(kh%2&d)Z@4Q0a8gNpT^lMXwJBd85X)ehCp$Yk z&#NZLn7}*lrIZyYJ^0F2<@gp9>Gn+W$HBeE&i(Slg>sZ&rf|yXPp%GxQnGj{#IwcR zG0RA?keZgFlE2?38uGJROs=WkF}uK4Sl{pg8S7UVUotcmm0toL+t}2c!8<+pOaf3y zbx0gp&i%27*qbX9xGKf`ARnyoS(L3z)lj2Kas!x(i;+jm*Q?+Bko2o6BPQB8vtH#L?q%2;5;e6D{&6P(< zgJTxE67q8a>g`bnq=bgCiN2x0mba%*>|ZHU9zW69x3S`MFy?zW6Mg9L`@EnBT)iyE|SPfUyPqD9mTQs+zuW)01b!+D`7dBB3Wb1Q$7;Z2X zHk6td%CBCQnOFX)MsXL=j7|DB=1*Yd6oFdm0;x(pCpX8<-*CGJ2trp_zZUN$wk63vYr<#EhS zAVm6mEJwWtP7}lcYo|eXe$RgUyR)Bt%UPKh;a_xHhJ{~m7KxogJQjT%t?A&}O_U;} z;4A%7iTw;ebw|t3h@bnNZFOEJdV<>Ga$PR--A{1LcsIEBmaOiHQOQp=tRp)YqSQb6 z-8KI8_bly?EHFfPTix~sND)f4I~*LH`ja@tNZPY#;R?<(xX?hh~6Y8@__lMa}Q*a}2`rux1wjGynkv#gKUcn?irQ=+fKO1IXiCbIgmJXS|yY4~CLMDlVSmrk&a zV767w91nWzM5p`ThBHW&NB0OZ!l&PrCytSq6>@&myq8v5JI_Ht6@Tqv7TwN)HB~w} znsxQWmIh#;bLw2lR+7< z`3H}Zeb18Q5WpdFGLbx_ewMRN=dVKfP@s17+m8LU&YOh$8<@3{Qnj^8r|R)cju??za?c;E4qc z!4n~g@VlexsBB%fDa#9U>&5f3tq#b9;N+Giz&ToDx=7P_bI-eTpcdw!61$eP?DN z{rSkl@Qy`||H4^0TU~Qa1bd?*9#|rP1@)+d>h;`HMa1e#@7zVb67pVTtJjOZn*C zp0idfE9}{Wq5fuhdUqUIsbxkGR~TSS8N)g;)_q=3{c*VOwjM&++YeXkyf7kTi;0QO zZ+6FqdaO!Vjf}4~b2^Uu_zH_tTH|Z(n7{pjt|1!dYkESdKTMw=G7rZ(3Y-)QuY?1$ zc5JX6m%0<`_>B=XqV*Q$a!hQ4<>{%#lbchEON)WPte?GhE&k4Ox(P7|M?L!*`yJh1 zQ(RoISWThNa~j(TwCU{61YQ3+6&bxdA6%sMANJWJD9l#~{i-*L?I#?(%VxdpSDcwv znOKSfqM6A+2k$^=gwDZc#6KGE={eqv7$EofT45*)kxbDubHR zA%akah$O?-i~Leq<_kXxc`krQy~{oz4I1FaDJY$$;H&)LGRa>SF2j*zWf^a8Cqp_d z6bm{k;NGw8frp*0;1@go^UvdA-0FBPB@^}3e+d5HoEtW7cTCKAI=m?ZcLLNbWFcWs zh8c3z(nU&|t-Rg=+AX8xUTe__u$c43%6EB~fA7};nu#kW4`bxUzl^<{#uJ%|(0yt6b;8rnk6B)n8Vx< zx=?(EKl(#ZRJ#0KjOv)_MP6+@zE&^(QoL?VL$&8>oJW_Va2BGvx3Y;SWDrQp6e1{! z+(5%!(QZ0@7i0LDWZ{PJ2Bi)Jo_O-FLHBZIoD@)lLB$EjmHxCT={T^uvil<|udMzIB}CPNCHi_p8Ogf;Wi~|_YS2R{ ziK$59vPcu)dImwY)s)lik9)@3JQk$TZR=~p zw16JV`ts3RryGQ9I%+ zPH}=Cs5Tu-08lP5wszzjARBS$>FIl7=YVQ^x54zR$1&2^6_>1JNxg<$%j4?#xo)8vVPQ!d6o zj7^vGuDH+qJy^0iL5AxgD<>@;G|xU=xlB5R=n|(2C}crmid^0%SPsv=)XdH zB|l3_sxTHrTKp2UG*!PWD@d`oyTzXWK=H!F+vrB$c8tt98TEhD3r%L|&AqY1wZmQ@ zsS|jD!49~j@QdOuO2Sto+iIq}`61uXudDS+b5SSsAZ?q6?PJ__RY;(G0l7-}({@wJ zwU-LXu7vGPCR-7t`!2~=3@3+Nz~jIi0x)AqJTUah6O$OG zLv%sys;8B3Myn24MoGvj{3)C);UnIQ6dQ*ZObS3!te{*H!kD8Le09SqF;Y^JrNDOD z{wWHDnGh{4utc)8aBdM!O$a~wGl>Ub!$;dz(lT0F=lsGF2=(&i?#8*P8_ZcU< z(WJ`^x>p^_n+Bb(@0DdBKy54(GHN}NX#%HY0;;R&g|h}ghH+8(CoiWl(m56Ou|P=x z{+ePvj=rUi-Wk^9P5Jz8f^Ydg`NhLi>QHh+(t;$Z0^B`Hz zCQCqw053`}lF3{=iA>_lXhF|4D_R*&o166VKqxlLodRyRZhf&$jDZ=%UV4V=1%yG$ zIRyci^ty#J2i10qMtkCK=u3{Lyq0oK6)=crGJXa;pKiD-f9gT@s061ZPYfC(2g79< zEI;N$SRpgbQ!`53$fz&e4f3*3NhMCG9!6`e%{n>G9Qis^`xAR!iZW<;>e(AZ6QAm# zQJ~lTBGw$?<+ra_v zRpz(Z{fR!#BP(u2)rwIkvc`6gUrTvB*f=ccnqiO(&eQanR9&D40b)b`(JOrakE}C~ zhPsXa{*c_(Lh7~^6Ux|kq3pRCSsJoTgAidDF_!F-wTLu~UCNMU#yS{lMHCqdGZ;%{ z85(Q${rUdRbDlq*=Q+o}&T-85d(CxyuJ`-(vI3NsI7Ri0STqxg(vp4k-wr2&QqLzj zJ3^+mZyZmG75u9Bowel~o>N}#S?+R@OmEYQ6|akyx^I`8;8W|m6zB2{p@V>4P^5~X zjq@6C$+_E4>kW73`j?<&2qDe=d{$dJm%?V8=hf1kZ^h=t%|3zZ`RKsRlVnxNBH>AC z_7@1~8}Dta%KV5e@%fi3!P);w4!eRQR49Ukb&NURN?idWizMO8gm~OW{Jes z{LrF(svy3E*rDhQ&0b98V|b?8LFhRbNrRO;WPR|m21@r_UdO+2J&OZlkW?(=zFbbs zQ41n%hM$;UnKklP)f4&$kJT-7t(rXvp7h1ePkME?NI}$TG;EVy!usCQ&g0G(N@k5u{1OMEz<$v!~;e^zIG}6I7HhOQK9(~l?AB4jBCUOH+CQfXS zLsEmaE$<~%m1^J=rvEW|@z4SUlxLlZHV7H&2h9Q}r+-Bof!@2wt1m=ZUK)wn!ZP#)o`k68@4$vruvLesth4O4&L5lAOroLA{j;Qg=U}!hP3)nO zp!LgM4eK9o9?)ofk>q_^(<9yLUV8O2G+yyuLVjTfaI|S}@qYn~)haPPIp#pJVpgCB zHMzRxq)?_nZ%Qb6 z)9zu%xZh5zS|&5KDIG<`_h zxG(Bl>%_WNS--nFUx8ZeV&F|DOKW>qE>id2lX@j)WQwMIVi)j@YV-To?Cg`V+zy2p z++U&gVA~6t3|HvK-i!?Eot?)j=EI|wgr+=~VGzZA8!UF!&IyaNk-(%%VT54#7%+Vd zO2~Q7aT~SBcG2_#>{ihwJP}>G#(mcs_D0MXlg^wjkF87(aEc(iJ6`3zypveGCcMz6 zCQeYwcys(Kcx<&=2XPGCea?slS`Jo>R4>2@;PPc55e$JzfY z+CHczI#`y?hrN?opr&znTr)*bDztb+2D&@nqK*&#W~hkIst)3^)bO!Zn)QOct;dmT z`REBvqUZ{W#_MA0wTxJsY+g#7CIhAxtpD;!SLa~~sQF`4)BgUx$&VXurWKgJ=;N}^ z4v}i9?XIpe!WyztDIuHL)F^HaV3BM)o^A~Hs#QZI--T69Q5Br+iikmEpyW7+B^5vJ zk}{(C_SRTbcIGSmiz~S*Uc&s4;I(*>Z|;-PljwTEa62gI0l;8qrVCtuR6^|Ws-Jl| zR`E(IPKpF-a(UeM9EMJrmW~`l71U~Iw9;tW;M83t(j4-cMDFKGGE3_1Z<7ULTn^Zk zU=j6amdN!bElDE?izYs?LmcP2Fw+_F^Ue#xd3=lJ+oa7^@`Y~2es^eY^Y^gw{wAY*?uO6QcG&T8S{dW!yO;?$ zbpMIYnZHwIt-oq+nQ#8KrUn_GF$kuV3h170knTN>bk1>0Zar?a{u8Lxix7UmzHzi; zYu2p29GrJD+?!Y|ic#wY+A@fao9%^`!({HJJp2W3H!bb}4bj+u z>0|6R>aTTA%E+U2d_%VU*NnyTr&B5kxtRW@~7u~L>#7WTqV^`?pT)@qyghnmx-3bTRj0^RRFe8JM> z%2X;q{#nCc9D7;zTIs-}^Xx|;QPH(BWp3KBAYqmN^1p=ubcmal!;KtrP{HLe>Kovu z2>*Jf)g>?(UEhAXu88m74=5lowpVW0?=Ssw2?>9nkEi%mS4SVy{>|9>)wO!k<@;3Y zoMCpUU-U8lzlgR@q);k4`gnG;$#0O)tLAsv`4CZ^>HI;!b!NY}9e7QW9vT^`z3@{T z2kR?-!`MCf?Of=5@bT8kR&!)?D?!KK>%C6&t-_AWx`DSat}Q2Bmbx`Q*!f(Fr`Epi ziRI~&(`Lb*m5mlzB{6W8w_cGm0aQ2ROBb*oDmvM^Zov!X#UFV6f*Q`So6QCrr32IX zg-@Fem`zy$(_8?ok45P=7q9g&<$}6v*P{0JKJL6Du6j&rL27OE*vg$0PH0WD`w>oA z{j??XbCfOh_{DtX0s&M{#V^3G*4e~$&NmNQX)Zu)p9*R%rc8P#qi?i}H0539NvvTW z@zp5#YRPclbP?H|-QTY(y!4`Cn6e#KFIdHE{(H4oTe-9_0&*ioZAJ7autrCQ||No_K&MV|f!^XPFP>kl_oWIcd68nJY>2jS1Wrhioa1 zk=gZ$BQ*)OB-hF#)Ey%C#C8~-=;;=pjtlsF2bT4z|K`5Cz7cH~>P5I0qX-+_^%z>T z?!#r-1iU1HA?0kmJh1*lTEXSXr3kpSDmnH;|27{Q2J?axj0B}_x+}xI+)5}??}@en z;1UAEfJ3Q=RdKMM-{2}FgD)9ru9;Ko+@4lR$7s8M5_+R%$On~6t-scExrJaDGq0tj zfs>%ukyYqbL{yxZDH4xMQOfC%(WIuoXHpS2NRKDk2nl zHFx1_H8>6g;1Tz{*!!h1Bkr;W-2%n%?6H#L3dnoJd*dW6oXvS0n<7z$qkO<)5Xe!32WOIP0>*usGIMH8ANBfQFw8GaMow+LyL-^ij0mw1STWR- zD3>@R+s{1Npe|89XJCZ0Wl4u+!6Q;qNg5PEB+-FBuE1G#73Tx9@#)L4MZOrfr}=7Z z-ZX;<#$ap!qGD2aji4Je|9J)#rmwvvQv4{vO5nbk~Lg z8O=i;j7{s*iIyX`sh%nYI033D_4HI>evkvZ-lXsvF@oTwl33=r<0vy|`}qgO%2;NQ zl%&G|5Wwiu+{-kJ@AKlel4gfNKWEI`dQ4Q~!;m=Mk%*FUlVdxM8aq7>x(a;)JPl8D zQN|2}j7Zz{N_86kVnr4+-hrNeAL72_B)B~-Umee%gveoem64K8vS7HT0=LCh-YIvz zeG>?@m%uQ8yXByc6{IJb{Kc8Br~uqOVm z?5>$vS)6i&_YLj#OaK%Pe|LVVxH&jc3IF)adt3lAE+#G`shF2XRS%N#U9+_FQSn50 zNm@3t@@P6H9<;{%&(#AvP4LOB zxGKg>5*%k^5+`Bi4tn4LfMYoMdzu%;c|Ri#T^voR_G;F*X%AjSTXo<&*i89&a{2WZtGp&nOz>QMN=>oc@GjU` zSz|)m0iuql4qcFuAp_EQpUUyVHjd}Td7VAmj90O|%IIgE)tA|eK_3r;I^-E`J=qux z+XMV7XalVIq2zmE*7AEzmrK6q01;eAly*V6E@@mWfJ{z?Z+l=-?*wq`)OYiB7_DnV2_6%Orlu z5+lBgHL9L#xOHAu&MG6<#RNwxPAwM*WodryA%eN5_L^^v^yikT#n~6wo4r(; zt1*yc@ocD&yzkZklK=@_cp4CPxTK#pHPiLbLMAo!#y7N6)};)-4C|-qn?ij;!qkj$ z2o82jSNB3AOopSlN>Y5>%KvXJ<&$jc=ALEA`}3cOX>^EuZsK!PnzQ3=B3T5#IUO%{=|bFvN_!nnnhB?3b3Mf!=IH zXq1CIpe5Y*x;eQpLB>K7pPNiR4sX7VNmnWPZ2FW4$IKHY zD)MBu=vfi4i&yY!Y02Sd8=<%{YHUuRVU%`wKV)ot;1YgGbT!v@ zbH4>~t@7Tl=RF>8P)+|f9v;(%Me29}NO~_fvEola*ui~7sc&?1VgG!fAgjZN^WkSQ zEa~H0$G|1wt&?>&wT_76%NZf$Ie0+!lUs*N5#gJjlWe(^8@D=-qQawxegErZN%|~y z!0>mn0Qe=9m@u8gC9N}howTW=rHzHeuCBrJ<%GWXQ6l(J(j~(DaM}6RmEgi^zv}-W zCFg%dIyNhcpBdTNc&z=BraNuX8{}(n0K>AFd&=K%{FE;Qa?Q^zN=-<&_4UQ)-x%{f z6+NY&?)jYzpFaLt6L&K>4>7?Ax(grK&N#}k@qH`g2FFJgDoRe}KJ?Voodh77&KB33 zmU;&+#ka}V)3zq0cz+#495bT#eRUKxcEi=O%?1SHj8r-cjCMEzAeFGUw&$j;xf7rc z?e6@koR!s*ej&%JHRXs%E*#N@^XX!X%h&yt z!17Fi(NIS|v{w*(L2WPF@QdjLfxW#4uADzjP*Mb&x_X-O$PNcNGTRaG=2Vg~>LMfj z#VB9ClH}+t4OvmnTsE1~7^&fu^|`k%!`=Y;QS{LniT9cLbT7?iK#~}Ex|z01OC5#x zB1m`1pSO=amT`QN?sGz2Kaim{$DRP4Ini>rN%(2#;!0F&`}pc=qwrURVM=9ZmD%gJ zj0E8R>^M-%Ww!T_Mr&R96?OjxM?9ekj=cH>>{_li@1hN)te&Y-XK^-seSoy)i}X0; z-$;kj{a>r=dyj#tfT7saWTccD+6@dyx-SW@^#WxH1&IgoelyeF<)^EIx~u=u4S6OG zD$<7G#p#}1H_oB5t4|_YxCp{MzqSK_^L6b=_TQUwh`%>>+B4tri$q+<_}pWA5^*CC z7S9M8PGf1Ny(A|I5NK16LprIpFE#RL=bJwDRaXyI58rc`Z5U5IE{ZG- zjc`6+9okLOTM7oj1{DM_fpu3y3SyeDeg#?YvMSUTCW5Ad%$+;i9y8s}u(ILn?7Ue} zdhxC^q2EhOu&lv$A_<6oX{y1gLK^oD^`}r=F4~S1o<1o&h#y`^#+G5R>3|%s$K^Ea zZ;>-r!EZS9`G^%W27?W1M;M+BbW4jXTe=6;Sw8ITrA-n1i14>*yCE8fQ^Wn6GaXU4 z9N&I8*}hRw%E`$G-Ot7{3}TK;Lkce0B1-!i8~3CEvb=gbBVTK|_51hPftn?Lj7^)J zRn+nP25Lr|yXo+*)$0$&KO5`wzH=9hFSoc1r{3=;z9g?S-It4RJOGmY3ui$)v;w8v zr;)$DCN2eBN=@~S{i!v`1?r~s4UCG3Qy7Tc+-pT`{tXlouf?a>7EPlq4s#$redNsCRGC@+Zc<&?%J+@Ua zdVJ%JjdNk)jKzhRbc45Vyd34JIK}~REBx*ue*GZqZ?OO^5f?XpzC^>Ysg>q~YUvs< zMh*}ykT>LyI!`u52YWfKE{w#nI8V^j_AriX!ER0D{(gTasiCx2IV6?zAqXCl6xuFf3OqW3nz zXmdoXIo0cX(8A8D-Us{HfvJUGiQiXK7Q^e8%&X}<&d$L2?dUgkIG28QdU~O0Gs5Y2 z^y$hA#=+FUCCNRT)1{)5fUw;BrQTG*rpV|;KJ0S?FS)a~BDLEu+sUtQctqDLiR!MH zZ4~fG{#Em5`PBm+*$URm%+Q%kOQg9#_v_;RFcv3^qI8b_(!-Hbdq@la;gIQS$#Bz% z5bdagVK-l|Tx)2| zJXp^N8OHq&8JJq#8(;F;bFkWahbu=5&yTs`Tslm1Q3>G6S4q6#cjJHQ}KULtB3292A3U*|i9mmB`aA$!+zRRq-cttNwxHYJ9 zmtNM?@5Rn__MydN9dnm+&_7dAfn9s*n|?)UGfoy$!Fzk>)20U2+rF6*xZ|y}2>OH# zl!lZX{CZy8B;i%i)L=x8G*~#I`ZX_OhdNm24ZNP0?m7I*R-a1 z7`dJLIUn@#iIyZE*IHcWaw0vdxNhl6qm z!@(kn+5(^!W()*%SC$8N$3Bn>LB>QJd)aOXO}6E`2)v4JGrxJto1C`6-wfV;4UXx)d!R^ z!hOxj@g%Im%z$MMV zi7t9EbK*_LwrZam4s4~b$_-=OlqoG!*=FY09H2QyL>YHeun++sog${rn=ndcNLP|1+Jv5z<+CZB(2N`vZ zFi9~m)0;ZuAOZwjwR&)+xqZfsFWu~-M0O4wh^X+bEw$&W{7Z%?sp2u|d`x$fdXAjD zwpYXDAe^AR))D3!A_b050a*#FiiPd+sG^QmMOi#SY;1eei>2{`tbtItOi7X^C&ZNP zyV&g_nCdf?JPZ4KFln$S`&$LJ~!7LfHEWXfg$C|@BtGFW(04KZOoq)Qw07|*TGW@=)@0$5uO z*-RwjeNu&E!~!VHdMUNa=;PLlPA179oUO;Xk1BR<_;dpfQxkakiiZsD8}NGY>a&#t zWfEx4?x+AuhLOZsvBz%sZ{gg34}ZNx%8^R)VHQJrCi*6@uQ2E{4?uw9@8%g32kYDI zG=Y8ulv1%qcp~LFfQbd(HCapz#R18r2f@Wjyv^Y3D7q2PZ)A|J&dOvaKO|NL3`h<5 z*vm743!rfD?dJe*Kfu?3$F++UAlEQ^D(%4qKtc^$D0NI7P^@X`_|M2^EL#TP{;D}q zFTP4qhsm&l;wW!$Bd!THEX-bDz|JDnWcyrVDFv)=g_JE1xL{-qqx)1KNST1CG;)Rt zFAaST4hWwyJ>#)jbq3@uRuZwMaaGdX4`(Y?u1wGGs#CUu%!hNQWK}37@>JF1iRrL% z9EQ)Wfr9E?S$!@W(3^#fcXaq+hr(ol+>gb46_9{i3g+u! zTbKktT#1?=P?-`Nch@XAres-c+oxlGNmjg9C_Ah_)8jmhbm zt3yls7(*C*tNj8%(*1UiQ=gg1-lPs%_EVV3YLngSGK=^R#*VW#;ro0jtQXR#zM~_% zxqRRx=$>l8UzsMU^oWJEvub!>B6%kd&-@!uaC13E;^D#*nf5+(EC;zdO%~sA${1rNqH4QGEl}=~zawvA9 z5AR3hld(J(G{X<~n!lZd<*?2s#XTm7YS=y>?r#F15&T`j;Zi^n9d`AA#Nw9^MBT(k z9_%Ep+z1pZu6p6E=9K1tD>x&@1j#Ap{k7WxGaq(ze6-VT9u%ot;9S%hCuwAji{FT^0IYhDsg2>+`E+kRF*r}&S{To2SDLL;b?Jz**^tp#TbTi6I|w*pSg6a z(fitT-1!iK2IOMrwY5#gyxjalmcqd@mWU3grw&Mm`z@{7 zCP*}yS+C(5OHkzL9>7%ndGOrh56COrcZ5pX`V1PNQ%6(=*TOM%8r%JGJwVg|OajCciv9Ufn4b*0>Eab$E4nywLIu zy96@`-9G?Gvo}Q_fg5Pqt)ik?urfy7mBHa9i5n{+v*%CO>!*AozExXV=3g=!LDHIw zF+YUl-9ze+e^D)W)6NgmymT(Bsme*J-Yl}*Y?aPwaS-JyQC#o&^V>Oxu z1(e4ZeAwJ)vndk+X9P65qJ~YuuD_{G!+}opuNUshkh&Gm89p*!;DQ(P7r;U^G{UK6 z{PgiMtAL7UM7QhV;^%4Kx4ZbP*G->(Q&QP%o(ZN+Q(2zFo)^?>gzN$^X9;!QwzaBX zKMFe{hGA2>%lWUIqfg~}GW4s=a>$H;oaboXBu{EF(S~=B;o-wp#@li-BbsNI_yWOS7Ty2xxp_ zRD;F44^7l2cL%qW@j(MI_B!$aa@}kTy@f^)^u;GdjNNXhRF1$Q&tQq4BuYSn2H8{x zXlUz{7evO+t3h2kAuysQZ;Q*?smU1~**jvqlnm4t&fbzowt3Lm5os+y>Ct>`sr79}dx&m76 z42X0$Hk^bDti`%r7G*XS&yj=SfX~;Ex)yRAF8K(bA{E@V&?~xXW+7=O+7}AXM$XWt z1?BS%97;cj>%Jr~5OVI@8-X{k%s8c9GET=;pnJ>cos~kY=R#5M(=HRO|48FuMFxQ@0Fb|3Z7*fG9b{AP=M5Lf96>>^(?Wi zwcQNKCk2|J`EJj4J;P+9*_AAZ12=|)HI{n{@1NnL1kzmG8pu|Kmc8~rA2+M?0D+U8 zeLy>73ciR-l@429lXS1goSpx)qgK zdtN+ny4*-RMo~!wVk3FDO*V;Huvp0;^=ogR?E22m(EVZW)o`p#TigH4ngEX*JlUPp z^OK3DXb*U5)5W59^-JHvzt0zlrRw0pA(FvsU(H^AU~;b`oJ7h>rGK z&Rwee`vIhb(0lKVX~%zm4L61WE8ywo=>aecvjArJ!A(sRU)0WzMU=`S`N}b*;g3pT znL9VQ=cZ+O@#OSn*M+jd>uZ}&##%f6g(dQ2+I|wa7I~|>T_ond7n6Co&J_UPvLAi; zcPrL}-n7KPQmNP%#^W+84Q-msA+0OX#|o$S38N`_{qBD^g9;Y%>*`V3I|danrTr2i zsfsR(=qGI(RHW&6;AM^$k(oCmMbUd3Cp*Cf*Q9(G8#fyY)6ix?p^?GHx+h1!P7-NT zD_`u(hH1Zo>BC#t&Ld)vZPxFZ(xpJ3?!?3UD^+Qbxn=7e;2NcSyCq1S^JW1dlspR{ zT)`s&@Z->z!-%%DyzdUaowtgdoGrzEuC8|6dlD5E8s45|L+HiMA2e!n73oaQh@zl( zNJjX~5m%t`HTL>dV#kb6&)c6ZK*MD16oBHqNSbub6E9=7Dp#JEzI9V)PN1wZjkhx* zv=u?&xs)*)c#!62iTy0>)k3~}<$U6RaoNsJ1Q+C0iAzIkUhAws$!P)GgdGMlH{a-? zVNW8OZ!OOT@EX%v?=OYLbD-tGPdeKQ(i8?2-c2DxCQ0ee}dYU$d+if2_Ow*nP;JB3s=+%knqt)DGzDv%jU zd7V_Hnvq^Vh~2CsZ$2n63GG0XjK)2Q061pcttC<(F0>Cjk@tC}#9&D2_ zccAY05{qIqCPo6vkc7#6RmpWB!wbzl>DJv80)6}sSsGYE4yLa$58bK0UA^sT;$^YE z(i!brD9O%Z^fp$cIO<^jpQSrnO8M7i@3Dv9a*lul>lbfcHW}MYnDt1pLZQ~)Kkq!= z^pi{|irTvy++yna9PfWl^PwRH3|rsSXkf7sU1{x6%#9dKDbFAT#ZKjyH@g{k2KOZdd~6po!Erq zH>ocm?xNo0p@|!)gsw(#cRpe*@R5lbu<4|lg5NX_GiX`^Bz~8`PQg40V+n{U2S9j+ z%WzMoTY1l?SesyHy+~xp^~! z%Wfocpfk#4`;PCd0IwuF#vquWz5r{Q?cs{7aF7BPFhfg;PxC@p;5Hd&;~}L+=2Vv= zP7oLeQIjcZrE`V@@fcOZ-qcsc$|^NWEeLedQ%nP;kph*YZ{B8e>9M%)mTygY`(_uM zVg#p*J0MfP65sG3kcczti;0CiIGE!M7FJ@Tmu?^dd8H|@6XpjH12gJ)AD3qs!Q1s< z#zh3|Vpq7w=U}pCqQM-Dqek`G{PMF9GI7`HE}P~xqd$m$@cTjLIzPk3N=9re_TSXZ~^k6j%IgaSsHE4)OvVa$|XmkvC`<5wHmf!2J`%`Z2ArtkmY!GqfUY?WB11~ zt2qY*V`Rz=*Wf~ECT63v;G9N37wn2$`*eix_#Xr`3^G&)ZiL}@n3Ie51)ioi7=IG^ zak%xmI5VGQW1*RaU4a)Ya# z$Xrela;qaNyFfnE$94_HeLy|A{H`2Iz1`nn5amBR8#>tK_M$ScoJa2`L2(%{h;QKY z@+xqml#l?vmGA;QlFw@;cxzd`Y!gCf#urP7)frM#+eg9#SRwAoz;B&>JGa~}+EOSy zIE;xDgOu1R;rN+VLI6Y8iXj)YZy=bVl^EN$%X2cC_#V^f(K(~C*{b|^4eMC$(&_+o z1MAfqMH6iWn@uHK2iWku8v1XuD&mHqZqI($JJgS_WHClu8_B+Y=YgU*?4>67E{9T? zJ(LwP6UhgJqN-N4>KxU6$>+<~-boN~FBRq9Nl#;;+2% z1~M93=2qoF^|Y(S=|J!#$O&rlZ4$0Re#$>7)UZG&m2gc;Z)zz}CO!s1O+J1Yio>j3 z>&Oon5Cl!n6m#5mBTI7ftzG*FH$x()52q6O+ z3jh0_2=8lk;Q^)mi0ekg^As>nV7D@boK=ef9#%65V9>Ujd_ycX z0q~7%z*O(kx1gAgajstiTk}{RO{w5H|LF^}4Oqjys9S9R>qz4iAA&M3fd7a2- z8&E0vZ~4RWv+T{I7?m?7V4fJ0Ey8Ty*Td|$Xj_L&bj1+c`f+(izCk}JjB+Coz1=XjB#d$D*^3YL90YmpXFsZN z(7(V!)X#+eAzULUStCCTNuP-Y^u6rgSPY6`QculhV*xr0?ve)reGUSFqyQeAYY!o= zUqvo7UaPVt+xoEV0pIRM6WJNA@@Ivy@N5UKTg^S49fYo<{B=T@NQoi2~S*rfN6 za*4Z01azlzt>qlfs07Ao2*3{w{ct{zd48lEOfRL-Y+5uJ^f;&beH@yg!dkX2q#Nm$8=?h?yAy9Gc$vf9UDsY+xP^8HSOf2t^;WBFTthj^>xSKv-R&T-1eQO^8;+Zx{1Zz%YEr@%(~?2OPmOkeKR?ym~Sfml_wU)PI( zTg?w`2#@dGt2M7FCh=AQ*&Z+Nz5OB?k6B)LsoyO?op-G@@uqtP9QUN&cga_?2thrW z{BN%RYY4Qdtt4n^GPtR8kR*M5w`pp@BLy=5i6DG9wYsFN0YOT;bQs7tqG!AC0p3x^ zd}SK3(wTgY3Wrw?SC=2TZ7H6cx^b!7^-Ibvc4>&gbH@Hx=ac3uy7cB;mpBx1M`K8W zmz^u7e9p*V90fu#R3YGl;@KWt9V5YI%s-yd_9pmv$EEFfecv}M?BMUgekV~mHSs=$ zkJbGjmFRGt=*Zwwbm@J0I<>l}YacLkY)(v1m#z!|VtI3_uTOSp>-VP=Xcn(BYJXNv{HJwbL6X4pmn?bRpLi4T+y^VaB|>K zJAd3_sYjD2}9j@THQ-Z$@d63T|NsM~CwfIg$2mm&PU{=7WOZ z7j<9MJV=f!A?_^=7VV_%D)d+M4s0^a68-|KYC2@<)-rn^wlmTKV#Xhu z%8{o`nVQx;`dhZTb1wDT+W{0UfB9VapG3c2YnG1Vb(cx*3ao}G%8hN9p;>(w&It{f zBFy+iaQ6w8Lk=~~hnMC_{^3WPMZKcBKW?x|QbRv|Vm3ky2PHRk9(iqU5VRLJIyAKF zr?_n^nyQ__|Hznn23j;(Q5b=zPeOJ#f*t5xQDXusTK7Qm!;{j&7|aF9YVX)K@2@eE z{5Q9S4Ke*RPS*4pQ&gzUa_!q$8**-o}0QEz=IZZ+`uD>sNEG4o5c4 zg1E_Lrk*mmECWQ^btX`(a>Gnf5fvu580fU1b_NE&mGw4L%;yqtD)0A;He+l@b;{^8 zGWTw3xqtm+AU%G_XNz(_eX{tEndW@Z#f+%EU(bj=)iUbE1B#gerpxU5-e=#&d1kU2 zT^bM=^{T}2Ntt|!i-C7ITGn1npzy?ege+mEU%EY-zo`JJ_h0SmLW$rRcb=bYh5b%n z?fFGdY@I?`83dFw_$yUtiwcGL2n2_0C4!VN4C03B!{H|)`_p&j(c zGj%dxYcjxDm3~fS=7uElxWTcbmgqLtPI+kM)WAphqk?kDwzl??>^Li=N%f$gq`uoX zCE3k7n(wNgUyDnM%Y-De6L{lgkVEJeLB%6bya56CFkh9y(iJH4LzA17;N|eeq)=s5jbIeg(kx* zjV~&6iXcA{Ep)aJ@>~v+^UR@V=c!Er!zx26@7LJhX?}i1MNYzR8>jp^qL2RqZ9W1? zXAtSd^5!f@>iW`&?SoXvV>i>05DWGUW~|zQm`72&Gu{2yM3&lej}y27hT5h1FIv+3 zhli0aTF$^IF8`?kfD$L5tLa#VGKnzbr%^s9dEMDtDplV$y+5NYR4y6V(M4$sm1I3v zg5KAQzgQbEzV+uDwxQbiC_@jNqUw8L@gF%ZQkt72#`yv0@|x7K@Kl?TxXi{09tY?2Jf#H zCN~5}Gg`LV$6w;n1M^z@H_z~4}+g0KH(&z5Wo`F^8)#?P?A z`HCeZYdSC$mZavN1y|xNozO71$U#P-n+`X1PxLi6pM)JRZHhlVoZm!}6}b#0Pxi~I zU!<|UZ3B%>Pim*cJK(TG{o4{|CZ&q8o__uxHH>kd@$XcY9_RQKa3s* z?SzEn0fPpoCXaz;*1zDp7dJ(u^kwi>-W^q&npcVxsQq*2jsXT!^m1!(WT-cCzpG38 zsrt1DonF9z+#kAhQOJS#szo^9ZCPiuIy`S`UAf)oPFehwgsE!X$m5OZgIX6FaWx>K zL&TESfs_Rd*uO+ihecOs0ERMk7}@HT=gTmY@7_&}EF0|~)O9n>tEJj<)9wmuuJ#bt zplosv?B?c!!debyGsOQ$-DZjEKy>O9pLus_~=0$=cS3~#1I?gpEU-=`TA@{!(wBcaHUOff138rS-)1 zjkLrjzw>FGk&an&J*gmpyC^Lzgk5rNC;U+${oA5YG>Jp+o%?6FF!ABZUsYY5>S;S# z$~3lr3GQ8PL~gX7qg(b`#nXb09XrE^+fVmOY1_%(!z~11GId_7y5ip0dn4(KTS}&t z!G}uSigI>yfA|BOCRlYMb~|QLh8t92wS&KI?s|9z9xh=OilX*?s%X=q7Ml{Pr?bF_ zqoxb4jP=22cYfPs1cbI&V7=;v^GY>~jsp>v&KCZV5Bc8m8Tyr_mv77-sd`;n>G0FI ze6hpg-{tL{0sWjy6?L*@Wt$Q3s>ZzI_YEuwK^r>mw1%X)YL)6Z!G+l%xB_ZsIy%CR zQ?Ak(3J}DQt+voOp1&>d`N^@__ZKK_*D`N6FYM3%DSHs-VT>DTW+Yeg!Z~WIkkHRU z*4FxXnV2l^<%8db8%*fT7$}m*KJ$TOX(&O1lan;g{mJ`FTs%5S^CABa6Gwxg2~ZLO z$);2qQ>UDvbZxIjz7Wbph@4R+XcjqjwFO4Lu((b5{a&7u}pIP$yo>k|Mf--0qm;u4WUIC1TfGfufj}Bxh;|l3#aO3CONQulXSzi zu%^CMRExZxDZQ`Gk8ypDT1;%cEQC*GmwY-pI~CdoXLPdWWe3G0!a(m6CD=-gNZd%Qu688Zo7{NrxEM53X<)$z_5@IdOqi7 z2IVJ48axVver5BdU4!u&+@M=kBFx_QF=vj(hymDjcWzs+3dzr3NcMP{?|<5jM4Il; z`+#E&wiifD6hwBCbylWXU#7H}32vgJU-P!8cc0i}fkd0XEwaYt`Fv#=hDMMHLM24M z7>+#06fgj`Woq<&4hn=52}?j$i2E*kc}WQzM=_8wev>Zo##hKIaHlpa1NH-^#X!tH zbaVTfQ|T*2Rfm5GaQxH|NP7iBA#__vv8lD>so&--vUm!)6s}yiqV4hCrkFA(KKd4< z=F&nAg4fzWSZp}@bJ50+dRp5RwdRa)9Fnaa3d9HHn%4+K=D^6Z{H5SLdlj6>zs>lk8Jqp=0Zek{)IXGgk1EfI!5s*-=YM9y zI$-6t(nc%`n7^rCAFJdufilyfOnT2><;c7;io4IYymR)qLHCCkJy4h8^b@QG{B4$W zl@pH{KY0QXKo*1*!=7rE`Lx<7x_lr9kRSU9sr$JE%yeiI$L?1;wyfGNoM;~q4tBUj)PLa|LbRl zG}o$o;vB8JqB!#;`nN5O`KoJ0cbtKz5kIU}5A@)Hv>H978!F9jV)Vip$KP|qtt#V( zJvXS+Ziokip^U-(=6P)3)_BPEYd}p zadW0powCV9nX|xo|nn?rj3@Wi!3P#HHspfz z_1MDK?8>@ol@(PVg7}aM-u2o{{zLo$K#ROncyX+mmb4`>YB=0ffHt0?$zCJ)OOy4&(r z_pJBDSWtkUm(Fv2g{gLtj4ly$`VZTy@khGsFm$L4@9u79U)$kOyv7{1vKi zkT2B{GCCP2u(~#> z&`^sy&8x-{*=%cqR`kMs(r z3sMPr%vD(JF2taVier~7K6*}snf?s}zTNzaZxi2OIwQjOQdz2ZLatXXH1j$=?q~xi zx2dSTxrQl&Lkd!#T1}B(LI(mOmWu27>ARgg;i;?=!PWJxKgnnu0g`t2Qu*oEaS6}- zu%++TDi0s>V1&N1JIIgTsp^Od1MDc_`tg7`tHN>q!AHCN0s9zOuerH>`S-(DN!PNZ zl8fPnVI3XOjG&2oV+-w_UD}<}m4dpsqN^QUup0C_yu%GqX;qY0H%K>#e^s$~j8*?~ z@Oxy%c`zbp!{1f(u9xdej(!!fmj8;- zi0+tJWQN@=o~{nl`zM;W*MtXpRmFGg^ln+56=!mtKO=R89Caw+o4l3~MjFz9Z0k|S zHc#O@`8N|)LB(p19L8h zv%0;o^{&4QOLkz_VB7Cqsl~X?FGIcJvl27mK>9=XNdCK8&{akz(5z`SR-1d9(TZ_Zp_28dnirBX$Cs_js&)n+%31Q|{)G^#Hw&_J3I3VPR3N*0)N+ zvr4+Y9Lx_zhaGGHmWx1oo8^nZrCnhudd}iPL|C}46z62zBtb{u&%(Vd`%}!4Y;oO^ zPvaYF;im7qzI11l0wc`&_Pt!rI>RrY<9!&G!QJT_vSIb9Cl3JVTBeKrZ|k#Y+PH0x z(;#Ox?vnz62{cGAjGvodTc2B)3rI)DK=bqS-3K!)Wy!k#JbPP(kX4rDOQ4@X z$BQ-oXz2~W5!di`Nhz%wf2Iy*g;}$!jbAhg z-D%za!zdwRR>(tt>!Y~hN;#I#xtZ-{Fyao71@*GgpFO}B1x{E=ZMBH`B9DCiDB`{Blv$@echxPY4iLU)c zp6eXe$)F<_`5SVw;I6#EzZKA2>?FYk_>?n0Bgcqs>jxChMrbLn1|5?}uh$rqAO3Ra%zP3$R^^v#kg@)eSoCfHd8LB*92H^Wz zv|z7K@qX7x?s$xi3YBJDJ^!5z?6#sKIP}gc8+TSNK-(v=I9DGxN@+^~S+*NQ$&2%Q z0pYH#Q&Wau+l*Cz1`V(`E?+Ax;X2%oJlL=B8uRb$8kl;aFSkEV}UE27oZ=)yU(Pi@Q&FdK3}wyyM@wbW}cM>YQM|)nb9kob+|ea{$cdLWxxfL z(|M8V*7C=Q)t)~xNh?Vw9luRN_sv^Rcl4Eya2MB!amcY<7$uNED{c}QLh zpcC8fhpMERx8F{woq2Y!reikNNF_*~(?2t$(p{waibM)5aXDF`WrB04!x`+)C15_S ztY|4knftdGf>tA1l}pP;sJMjHR?XeP;PV{I$JA0>vl8tt>zK5&-o)}>h2H~S&g1O5 zAhEE(Kaa_$6W$giG6KAkL`05XYIBQ`Uh2_nNT!x$%p=cq^ zV)>mhud#gtzK0%UKm*FPPReRq2}ZN?+6r(vOQ=mOguV zpRg>K6gy}EwAaUU7^}h!V7qz7-X`5W6`uma;wBn<-Mc z`=}5nAs~;4$9c>@X#L`Amqbc6QhVy9&{L)O9ZAma3Z8W;n@1PJx|-k7NIu2oG-csLSx&O$3wo}0ex$=G{G`}qg?%j45pKDIsB)Q1(~xyXKPDF?aQzV zR2}?P4S$ILFF@N-J}j$EUNO78_YhVS2Mo)!h5 zo&%VpCm_1J4yY#fotUwz3fN4SB@|87`j8vSJ_GrVCSou?j~|PW)ZY0J`qv{?CO31` z=H53k(LT!jmlftR$Zg-ss*s5;Jv_9TT%v zwJBqZDev#l_{-0)^Ud!AsW+aW*ay!=L}CJZ@oO|k^SgCLt}O5^0mx+`G6W`X>)Z!2 z!g&7|v>d)ZH8n=jfmACM&e9yu&JE}l1Oac!Tuw_y^zT<# zz(l23R?qC{{tQL;nm8zY0ISK(_E(?bQ=9*oSaw4;1&zC*AeT@~N*xCyB3(Gad@!UB z=MJJ{bK8f~aHf*|QynBm*==ti90Frre|J%wh|)+DEH)B2d^=g>K}PV%pgF~!f={+} zRy8N)%t$qIjqIre!Q;EvW6Dl%SEMqMgE{t}!MJK$l|OpZ!-x{HGc5 z-*mD%S{z3LrdQj}3ktD)&GJQgfe3G9?;krJKQhaW9PsCb>V!eB&UE$W29ESfC!xz= zsi*|l+VGD-XHEnvBdiB;RcZi}g5-Eh2*6g7^W$p$j93!h}GL9+xcZ zdBu#4mrMzvUSkzr*rMKx#U`Z|5R-JTKK`VKaY7+5=HEmk_&~5XwfJyKCBq68k2>>+ zz-Qq8FFXx{1oOqn-FjDk4M?b|eHX*`6b1S%Em1T2`c}aFBHle(-=*X37>_!U-ThB z_48D2UX);wa9M6cxfPYKpWMjL^DV~2i&Nfp^{Z9-r(v7u3%eeIiZVAuSe)A9L@InWIAz1J2`%VY5mOh!Kq)#*rIbqDtEBRl;bEH4Pr*su>bi~~pJL&zESJ={Wz#Rgn9~Gb2Md^Ar-b zRzd=&>zo%brD;5u)jML^V z4S${J*!@j?q99XimxB@3ylHcpIXQqNbsF_Qw@J^q!2z zx#T|(?ps?LxEpGya9;A()c)_hs#G)xrqoZn$p!JBF$=zicdjw`7RLdIV2=OZ!un}wg4N$Mwbp-^3NXLoex31M ze$=riwLcNP8NK7z^vEVZs{Qoec=pe6M(gBaS3;+U;hn%@-0>`<3$x)3@9#zEqMfe6 zO>ufAPmlUrf$3b&fy0NJnJ3(o`&Rq7--lv?8m7|Fr=*gGR)T#_Eaaa4K3fVjA4mQi zC*B#@^1t|X-NUVKWDM74?5hPdx5l>`KOiR4u zdcRUoW_e?;nv{_-Sce-!UkLYy(fp~Pi)(o0*swopeBSV@@A_wg^wg?-eqlusP4lm5 zl|bB@f)_~a)3lj93V^C3S%pRvS-ui1HG})J4ODH~Qn;zMCB{eNm$Sp-n+Kn^cs#DF zE%&=v+8^Hf=!I|})<>Jte*fUyp~ASrWeM*RMv%T+R^#*X#cW_w8tamfQ)Cr&l%#4U zeK)4uscca;s5Cz-Ot^25w^!fV7Jctvx5t1g`(iL^U z14Nnqdl90tk;yitj8YYM_TU{I;~uTw|sbgFk`!qfuB>zB%YF*I{nY_9Mh4B z62HoA?o`zN`s!K1dK8wZ)`fEeih28jO>yIN?zM*Sj&tSGmPOcGn|XMeZeHnZSh#_k z=;iCmNQk#eU38m^mv`9&m%APT(5(*UZKAh)>u|AL)kfjvA%<4HLL8(OTev4VSltv!H{9@%BA9F zL9Q7Ajc!$G0m-BDm5IE_%wZao=Fo+bcJD^ha?`0tRG0~MhyUJiJkk9Od zR6ohDS`A*|4%52ILcIEKXSlcx*()o>ndzP^=Zbb1v_UQtN)4hSTBeqjGq`ijurlx* ztCYpibzueRzho^$M0eChJ~XYV9R7(X-ZrsvHn(+j%b4qSHz3QB?s7%v@q6p5+%Mfg zxc9xKV^0kLW0YInoI05HGvsYVINN(*WYSX0f(RWu_aY2@6IQ18t)1X$>hE%GSWi^& zgS5{OA=5_~gXr)qYmX*obupc*onvP)Aom0%HD%BmJ?6W+v=^Xj=-OC7ca&HOxb*Ut zd#%#r{SB78O;vkJGx}sCo1opNkDv1#M9nN!;|Y?SR%_f39Y-#Q!xDSKJ%U^b*HgcB zT_H=G_Yut6?#&HhAHR_Ct>#9l$HfbWNs;PSfw@2hbR=(Q>r?$=rw2o~4p5{@yXThk znHi-6y94UqEAdk^GJ}1j>x0f+!F4(-VjR=*2>%8S2@^dDc@pbtj@A# zw-+41Kc;?lcb;*XnSItF@_X8sdaNEvo{^W_zK)PwD;#ue> zo0mhuylY-s|K1U$OEGxnbubYcYFt$*GV81F#`8wO9rEoP2z23V>;~5A(cG#`&lZAR z$#OgXfYGsA1aWq3rLOh)JxdC^NT+I`jUI|BlIvTy@9F#sWs!hjrvC1xl(1iDTXsoT zl`$%z1mCj1z};Rx=o`vlNZ4Wu<23u!pApzHA6Oa2Qyi4Q=7 zUz?E(l?oL#Ps^OQzYOTRI>xhKSMIsagO$)Tj1{bXo8hlXgFBfDv14~a>2{^F+jC({ z6OGF{rQNd&TFg7Bw;37S)r_mru0Mkhi@uV43eU}m8Jz5hZkbrLcJCPMuKQg7WusgJ z{@?jC-e!Ud#vPKDrBlA$eJgYKvc%uq9w9E?V{PV~dM@VEE0+dBnJO^q(Xn(L_QVgD z7c6O{Pn>~4$CmD0CfdpFgFa=o_KtANM5KzWn@z@cD+#*`M2Yhans;m1^c3#i+z%V> z&97o}dwoG+`p0~So3p6?ZpiaD>gm?zXD#4_V4aQT24}RxaPou%vwG{ah2c}w>t+Fk zc#+HtZk$;br@E5v-#PJ=d?C+9&il0qO~UK2^cIZepnXa}iP8G#qY~Q85iCa{WMg}V zCWq=w>M1WA3scKrMVM@U$XMH#SW#}hGNZE6Qfp-()95qG96#QE2%h+JVZ|BR(%wfi z^NLFi6AW9)ePY+E`)}MZQf*`a-O_qG4JcYIN2bes7qG@th$L<+cs|o!#Ob+n4D?mH zXB@U<;YjpnY+xC;UWtSEy2DyWbS>!N5F%34i z{W3naSHe^_=Cu8Jx%XnIfJk<58#fy%(9}Ql?|Io1RvBg7mZ%?`K3O0e5az~P!A8K4 z*XLmG29$1;)ISnCG`qZ}#;HtIuWVn`D;kJsH-l0AJBRHla^4DB+tMI5^@O7Zfc1O( zR|gfX=;(xxM@h&3kZ4&*VrdbPnZTy`U-DA>6(pa}~nlV0EGIm}l{Yxbux zMH%&jSzOg*wJuBVF~Z1gjrufj)^m7TCDBw)q=3Z#UMDrC_8cn}^<_CE%31ayKOYiY zkwdqFzaKpc`{V~rtMj9;r=hARn>^|!R!I&5os|WlM(ATMZ2iN-d29HM*E{_(iHbIaM^E z3~pzp{z6(6dqNdbNU;OPoEsn+c)V?DA`|K)Ba^NrZ?ag))T`o4EFPi3%t0V|0qN$F zmB~ZTYfODk`dp^ah5rI9q54;(pmq(`l95My%GyPcpHqH{%F9aMj8(GLa?~!7{#W7s z9bjzD4fqr51!09XSvvmA{zLq7OTq%2Dou5hMgwe%DTXQdwJg7Hw^e3({XLKpLd*45 zE)g?v6N){u{5a8*3Ku+rYI;wKgf+>i$)MyEN0#UBQsjpvt}#>WZ_1IhaqAw=@s0z- zMI?uq1qmE6U46&af^X)>AyqsXBt6yj4L_heg=KJ?zvtRp>V#&4>Qi#nuTp6c7=OxZ z$DKR{X#pmBtwUY23Egv8gb(0a!gQ*StSoOUzP z|GhvU>4QDLg9J1LgpmP38_FGfz%D3{Bk(wNQ$->=9i3Rt{OLGY(exgw=s?zl0Jzn{ z$0&-Nsk@@&>V2J~Pyt9|UZO%8Ru1xtJ$*6&^(H0}r7)XoL_&h$l{B5<7PJH?J@{lI z3IYF4P|41UC!tVeTB z9;i|Ga~UDhdPXA6@$Fyaw7@|L3zL2qAHE}G*r6xa&irME5(GDV*ph6Rq!EMD`Iz30 zC{$T7jQ{Y7B9I9m$mHw#L!hhj&GziJlZB3Xb)bG8qhs4diqaorF>i< z;Oh7e3$#UQTe0hx9&uivwW&>Q!-?{7MsR=#=nWS@g%#=fkOA792ju8;f4ZoLcWexD z>$Dx19aMHo@SQ?Mva{!JxudvTjR$_)8fR%}taw>G%$l2xI{!gFGEj)ZM4Q8qims1c z7;$2pFi!!p7D(O5s}iVB`d5mCW@4{Pe=8vv%`_|Z>1Vi*NI)*>E3qaMEsBCeJgI4H zdJPl8hxiv+PrVGqX1O3nQMN>lS=Eq8zhpiHGk5?K4;82+o~J=;FlZ3e-n#H}98wx` z-40JwnIFu zTJ1xI9sk%rrQ#$3@0BizdZt*mT&~!*%yAz2Ak|asKT{G?Yf#V|lEiQ8483gD#9x}3 zIU>(!G=)gV2(9a>c&uaaYjCAWAH~a+tEp%uBPt$y%c6HxQ$r05x2>NTrcnY+Wl$z^ zA5vRKvS1PDr9bSSqI}AN6=Tp*sw0A{v6dkKVR&|)Y_YZ zViS1UC^685OF5cp@z0~n;9{&@Qm`wy5jQdBhxHB|WO=`2%3Z~JWxmP>SgKrrkuM^< z$=ll7rtKiroXcXr0M;S^{UT$iQsw>+tB*$Vw6#dl`kRE37X+944Y@L zC+?*S5E_Z3a1~ET7DOy4T7 zVd0T@tx7d8p!hwT9!%6iNhkcsq3V9URH^31k-K%e>x|iz6x+|)>Z1y_0n^#3{A$N} zIh}8Pyo!CAHUs<(vhHSDf$O+0@dj@QKFzXK!3gAVCW0pXf*(={vpk zKrzF0*R$jh;|`@d`+Jx2$i5+LVu#C9_YODr{BG)*1g1g|7D+*yBZwp`iU7Ytnp42J z4XzSd76A56MQ*iEP1Vs|dRK=I^e;t+N9}zuqj#ClmDj!y=BkGhmbEXYTlXF@Ldg*w zry?V^miJqLmErCtIo0G#)+39i4t7Um%W`+rS3j~=;iq7%1?r=d7_iAo5MEYH8v^1B z85O;gKD0~v_o&^PWNb{l(w~8)0p0{JDzpGqv6)y2r z^53QhBH3b&uU&S5VPL5HYW~c0HNZpAorhe|yd(njkFZuxI#VXk)&`%mXLdbpF%|%h z$fdRcw{ki|B<(M~9GpxTT-a>suAc^fSTVR$2rO_}bt0qS$=2n3It`h|4j})9`p2~F z_RvA}98*tDc222SFHdE)`8a`n;VP;S8$dy#WF&OhBt?y6c3V)%T~|-H$lgM5Ow^Bm zCMO+wSYd82{=0FW)}a(8NGg-u4V{WMI;);hf+yM?5fPO2k^3IWGfRjh*7xfTH1umfi#+aViuAzyxZcu1r5^WZ8du}2Z^(e5|ORBtWiaB zLg6KMw`Wx4 zR&V9kyZY`CPSidBW2aNn>#g>CVLkF#0 zCjAHw_qz(7n1v@=ei6H-eoN-_InLJ&O5M)%QuWjwZ7)_xq{~As(}LvZ0lnB-?zkM& z+Z+V}WtIeIXW+6F`OO-0pY~~d<8 z^v>Efu!oo)D--rY7(UOB>JN0{+|wIat&fTff0?l!^zvV+#BUxQ_s0lCm^Ao*vYqL* zx^qMPJMG*ZNAp1#VYdEEB78eo49huvsItt562dO@Bi5y(oack1L;peoMLk$P5n{+- zc|yx2xVKD-%vJsKeM8UO6|3X=<>2VD;H)~0wv#vYY^tg_y~TNLt`I_U8=GL*8r|?E zIexok8Q>`K)HEarJIp&e6Vugfp*+S$^+loCd;0GC3*8-qPgD$458>^6_}*l&7-88y z@pJ3p;rhM&kqk%=77yIeuPS=~OR89>N>%!z0q@iN-OvOG6Kb8Y5Z>PPWaw%%FDMR~ zW7zs7`ru}$PNr!d&;*s0!@SdFH5e43D_B^@TnGm!I?ehV*O`lt#Sg-bpU8NQrkIjLw$M{Da+t z`Pq)97gUuPcXu~qg=NE56-;}({-ohoE&56R%Gjvt+wTnzwr2hE0dGP?gXI1I09W4k z%?}9MUdytedrjSWw7YwsO}or52K2M*&L>P5ui=tl=wk-gKXlRM(x#$zHLdnnZQSGD z_%jOUR7y*gwtufoG*0**cDRzjM9l@N=9OoAD^lWjiIQ3taa`En9loY*m)4lteG=9z zb4fOx?wC36auhx@Jm$8tY1n#H3($FP#5Z+Z{IvvpJ~5r$s9#>D2pXNv{T0QX{OXtY zX~?FugZF1Gpc!dyg%9?NK&f#0`WQ#8`q(<7*GSnsy2fGb%y1Pp`ePs1DE5&35 z^xCX+np;V{V{~MA#NIk*A%L1_u~woHD*RW_22et@T*}HS2RbMsFZ%8-Pqwk2dI?Q$ zM`Wp37*rkq{Hqi?yKwJ$e;dYXs=0+CIc_Z>Ahvmp?Ni|}rGx$moOL+B(z^C0yG&=w zFa~LDMEC&3Z%vyvsC#C>U3JBqVSy>+n6X#f=e!-EMJ*L$!{={adHR@o0sS|6(DEig0-j`t`gJM!bo8ksx%mzX=lCIVSAd@Ws!P zdxskbpsXjb?w;O0>~uvtxuVa_JHf87Z|m!_@xw&p^WthB%$mSQJ|JJ>&#SEam1) zaP>@o=U2i7WEvHhyOLl@OQOe;R3YK8=P% zm64!M_yIUGGuG_3)gjWtkfrHnu*{CF~EESgiB94Bqx6Q0X%Qc%iY3P2A?8>jJzmZEdL-4RF@(u;8-G7l=47?^-a)7q31ms!EW^b z`d#etN9>arT{*^ug=Cu=Rd~{c0aJPDr*gLx8ldKb&NwoKurv9Wq5HprnW&zo@6bRq zU9x|J+;=1OSC|IG6gAU)Xnx>YuoK=!}p^cl86Xtm=b7wYxk5$pk?mS zQ3W!JmdqxqcikRP3zRFAz1lo*fo5fF(gagHU~upBiJU=%|iNOErhoj|17u^2#U!_jt6t zoW>khWTne2X#Bde$GX~)>%(0j{u6&w>4bpuF0Z?aZNZPkUZwZ?oQ*dDd0NXoV^ac^ zfn?P2&Tr!-#i!G0BvJf4D(QKqgV(NyJo&xYG@an!V<{+NF&OisUIZB@MjJtKB@woW z;FiZ2l*M^K>pCnm=Mqqe&Gfr=9ca}6lYzg%m$kK_p!$a3bo}6Iv}CkRfe7O~Tfufe zYUB`KjJOC*6eak+_p?yjA{OplqCiPUst1~x14H^-G?|oY`>CE-fAb}$Ivkz?qH^qo zL}W$pB8n+$gN35N_4?hgHmVcJ_YUQjdNby`-2LWA=2iBCI1 zDvjb5PDm0^gHf*by_OCZS1(j_YcYv!R3YkDP&-=uAA?jNg5K_Y^m+=Y93zrvQGn~AO( zc(NB*?XXue`W5;LxtXqojvF1~qQK&6bC8o|pc7lrqjwpbR&4ZnQ^@%@!Fg(31%J4j zLoeJfjY2;5`jp9vD3bY}XA=DpxA25P-FWFVb)vCc84MxEN%c}d9C}#eC_d1SDCKIZ zb%uQXN?#!|yTqOe-YXY>v(5_v zHf#UkX`gyk0*f?NPn_Tb7xV_3BMxO1!ey-ucF86xjq};sEv_As?lz@dZ&4&ySIJPJmQFYXRkuFKM4($|O<>FG&e%g`+ z;reG{gISXZ9eF}RjheN*Iij22^XpPzPwA@MPA0m!pXI@7=k5Cj-tKlStp`tr4*uGq znharfm_*6|?&*rlALL1&f%i31*9363P7gHmX4lkRtNP2in-fcKP)+S$CZ=K?KWUZC z)K@Y$#y5Dw&!2bZG@Sg?S9Q?0zHUEDI(0Ho$zvf|!JqQsBEFuE6ldKjuH|Nbl0dM6 ziS{QKLn2QW!!T-Z zYh!wUZo$9lpNn1>t~x(4o%Z_L-qDcIE+5}3uqb4)WY)d{Cwr&7&g~`4Z-Q*cn3>J zax2xkw4x98yqz7dd>`Umu*qrvvZyWWHz_~*z5hX>*3JqS-}ETdb(0giY|t9^%rqbQ zF_DOWUZ5`OHK@Du8CPTrh7m*9^g#YJ&{-02C%^Z=J>M;xu=#u6HTn0fO}+|;>(PQs zTU+HHEcCB=C-FdKS~E}aI{TSQ>B5Df_H_F4?xc7H--qpW*|e?DgZ-&Am*~BPQpViZ zb;5=PJ9A=U@PfCbq`g5^MfDLfi2pM9qzb2k@YQf{PDMaV)w|r^d{sXI7MfG@;$|Kd ziFtd)_R;B2K?@S4X>P{+3@A#Pgr?D3lmp?DgyUgWT<&RQ#V+j84AkKQ^))K(wJf;& zUU;5czIDvc{iVW%9MPHe)f%^XYmcI0nzconlEDY$b3Jz2uQC{m-fxEYAx(zNav602 zgJPjgZWKbIsw^r_T($UabAKuBSXnxT63qM}r&Lu66bUFkXF@W0>i;dScmiEDN`Q<0O$%sG*@jnAEk!*Jva_FmAA7)2vuREfjx3Z$x<8R?4$( z!D13UuWiVQ5-g;}iEur2YXBHvpEPX+x4l#bN>VNi{Wo>Ro5o;JdhKql!jZFd_Ic5&z9e*Ou1a^9a<3b6ox%E7zFsnv^}#*;Lw$%F)5!}QJ=6ep|(>ls~MbGbrrwRmSrHwvzdVI3~SRQv~d4Iq{M>8q?aDqnMFiI z?a!?~sT#dQshV4zUEuZ!R{vVwG??RV%gSmEe$UMeTi@3kIM|uG6N2rC99yJMXom4& zW1U%JzTuzeGfG$eH=h5@mWdr6PZ!{#sRqghKBHY)XF_sxfQaJab<#)OYXo~MUDg+1 zzZ~A&-vmMtk)@WO?zqjbb5w@f`NjTLXm!h2b%{tqgu}yHxR!oK73@?zTMPY>2QXVL zvmh(Aaj==;AV^$#rhFZG^54gMyj>mst$Q!e<)gi?4?|E%gIIxr-Y4#3nNCMhBcTL8 z!g>86oSTdYPEM}qTX^X0mdjxs){L*g6Co|)-D-1A_@#tN+G6u}4lC^CA>i2+pKS5b za`?jkxCc58BF+mtN7D3dSgUhC0ppEcMU56V)y!he;5LFdLl2GtqYj}cYf&0YboLA@ z)yI2WsI6G(@bYF$OQ$cpC7~r!#}}!<3giFO(}yd!H)|>;RBc=gZJ0=&NYVF?Gp%1; zz}}u%2DDUIKmQw_iOow2TI8UYd+rC@4XCfj&IIbO{Zzeh_BtyxFWrja;svbsqlkjV z!=mM%RPTKEFicl6hzw6|YQ6N;k9LAv88{XUoYUj+rzk!q3aXUugFg)E`o$dbz1Ux! z0lKca!8sn#cvq2}SK9VJWc?0S2tSSV+V79yo(v||NYS)2R>|tZ#tnmkMZYJef8Xq= zc@UV0PEyJ6x?C7imixiDM7r7U8K&`g!gLeKr8t zJW^b4f12kprgi&sm@)_dgmX^DNg}pH>*dwQHvsx4@NX}U-K{eSPE^0^s16Wq*?&WK_ zoqx9eAYbo9Rn)sNl1zWx%v4!e$F;Z5tER2u@=Dh`6B-VF^DYW*?`_p8uP>0I_jdnv z;^d9^7SeVGr<)x^5vm2D3N;p7g?^}(CdRg`C>gzYPUpp>kzC|DyFb+dB z(mbB-7vji`K=rNmK0d-e{;JI2qp89ZQjyJ*G3^AY$=cWBJ=s4sUF)Gqv7Yh<{2xoC zz`-R#{bb;VFo%V=@qXW|W8W=P>4!5dRVy!t&UCT-ru!owu}0RSl6U3E~`yTu0DR4J>uj?2j>Pc#>^GvS9cFPVvok;)?(1$FUKw&x^eCl7~GWZD;76` z#N&)xl#;D1c@x`>Bd&5c5PUd%RQ2}`_W}iLH;JEd$iCZuVocr%sv!aBFyE2 z+2Epj$24;@=fLMN{Lcj(%UxN2mp8%6F&6$^ub^?#$>l&Qx+#@=tt>4y36+L|gVaA> zi%JyZLk+%Z{c^`;%Hg_bLFFjGH@I-~db;UV0k{dUAd7dT`=b=REEyrl3UB8akB*7b z58Y6Z9X8Jbw@bxclR~bDC?2I`!YltFgDOs3WoVfqM3Qdac;8Qh7|E5Jh=QOe5CS$jU$i-ZJeILLep z`GMe+;O?;FV7A~J%48IRhW;5!m7ENzlfL@aC2$%=vVdF$d-$ej2}2G`tG=pkHvARG zeBjaU@_bD1S`1CA!7`+<9K@K3H8XRzFjtenkJBklvQj40?=Pg4X$s^5%ne&N>pY(`+i~k(0b782dPD`_xR2 z(RgM%cjhPjq>MV{3Hf$m@tf466X!CZw$g{B|CdgpLT)8^n6WkN5M05|_kYDPf;Z#!k?RH~NYqUJ&eHyXDRPeR$cly6jZ8Lz``YA$vIrrnQj#K)t zunP%tlxGAyW7lKWArEb53s0@qM^MpRdien+q-hS0-)YMz?lW;E^wL!Hm=v5XBGZQx zD|X!VI00o?0x~xUu0fXAxVAp!Wn*Le<<2;giB8V2;0d1cP*7676u~c+2YIT)9}Ac- zdET2>j{*fynS4M9jl(8<86G&vHOQO8|LjZv)=xe?edNzEur8V7BNrMzRUXJka1CyL z40`b5_rYR!y)6Czn|OrMj^4n4e(2!};y+TVYTA64$@yMcj&ZwyL>z^NUcf9=%P&^X zqM>ZDmI)u<)(&CvlhKCm<*FkX>6vWhGYac%O3agIkB!G(hp>5)t>Q9MZS?#ZmFyob z)Jg)D7ci&ADRG5~E)u_lR7tF~vhwr&oEuV6$ySSasw2-UGz1CFPo&hZNFgQ`9(38= z8NwKr#6sVClDHx=BEj|CqL(jANI;MTwD(D;E+~J7U*T?L?umvzhXbdE$=h$9Wk5l( z1_l<7Kln1VG>~w1GhFxROF6=r)Kh~GYZM|_UN=H1S7&3wxag(En zy;H3VsPG`RiV_Cv&z!xJhUy}q`XDfn(rTZp0%k(t6@nFPKUUY07->l6c!(;Q{vMd4 zSUA+fYlY(z?|eWtO2v?pQBq?6BfALQvxrAaeSXUcU2F=};kPo1ZzRMclR^CPu`+(} znLwmG>=+MwKM8Cd2cTqg#NF?eE87^bfe^6c-{?{#&?h0Ik0=kx{XDsl}K^5jib!Ifm|eG8WF_2XxQUB%t#5(>3DD-BkSuw4sNaiDl-9 z>JY&b-ub7+7HC5*E&xv$+3(E6#cyDVt&7-LswSM|&DNEDQW{2rp!(N+5zgd?TyvIL z9a-qAF*TE^@;>;nv&SAttNurJDj*k2bjcO#&J`fK?N%h&&4981byboaRRrBnr7 zaDR{T=_Xs8lTkw&9e+2rndl|#KAoM|iKo@m*~EC@1v;>AsA1{)`6iQezea~EvXN@0 z!ot`OZ=BNI(24rsV3S0Af?u2R?Wf3|2=k}K)0&PQ8%V^-Ulj}kH=wOdU0>_uVqSg2 zT1@XQ8a;6-QP(XpMPC?Kenu-2Dq(da@>vv3+Myzav+JicCoF~#xV0rf@fb_UD2`}X zKOKbik+1At^k}*EGsv;qppdq=m*_e4XN2dGV|ub*UTGq}Db1pmIJw;1EWOacXbs&v zeB8n}b?5fh{=NZ%xfFzggN@(aoi;aYwy}?T>&Y(vrxx;s8sd+i*xc$lRqQXXI(wC@ zrD%1oXRdIbWX}Fds&}0t7QGRFICgtx1irm-xEwau#Q)4W&7t~R6OY?2{@OA`*W~m4 z4$3?9kc#Za0kZ;N#3(Bow`LdF!(pD0{#`=c!OhJ+V>uVLe!Nt+9%ZQCW>^RzK3tvCD#T-o%)zUfuHp|-f{li*%*Ci4msA%X|9bnnE`{BIX z@4Yg?*Q{RkB_MI}@t{!LUw7@zn9%V08`z`VqspVLaA57Z^DiW^@#;O_EH@nLn*ML+ z@ZBe-)`ICuH*S1=fM}VW6R?#@t>crP-HCS~7588~a(tJj7EdZ%g~5xe~aU4Qek=mp3#p$a29 zaGpt#>Z7IKVsm{`Z>^7tY%k8DpSq3qg~m|VfZR$hf3bt-J88-R11LuP{Z~$~Lfe&C z8g~cm?C(2xlUCixRSHkbzf`?(dP$v8`qxr7ySRuejZ8QU>7#j3y3qCHgUP+q_zB)n z9GG*saGv0ybfYA|-uAM->vM^UGEiRRTl6d~xY1$#4?O*SMgM3Z%?>Ms12PaVwnDX~ z&%yMiNgmnXz;r}T+VReB>Io`dF?Dz+Co`8gMws$u4*geoAto8>*TV1ywnG2dx+NyL z0JglenI;t3BFh7l7JMA!$}7HE0XW`XHFRc}_qfpT>eo2gp)hVXUnfm*uA&|NC=(YiaBrzYH><) z6RJPPb^PgAX{%4;ENZ5&qhs>WTSOhz1O2=9NIJ7X&5tWHUe&!#aJjy@YZSGkG*B{x z85NYV=v&X?v2YW!xnCUd9YZ;l|0p;Z@3rn8WY!oG`dE#=RDb)a0%tDHun}eD!bc*2 ztLsedm7ff7aY%xE`@ig;4&R<49*j%PutwnOyIpygM_+k*Et<=!?p6ou80#hkBLjs&a+$iua~>LJrUZJ`(I_hRZ# zM?69}ce!jYAH+25<^p@%X0*rGZvkjRv4(xFCq z9vHgnpP;=e92uQD7h=Dkl{{#_@!*GeeEO82otBrHX<0f8aQvEO0ul0`6Bn{oW2Xs` zDMl|VE3atXq6IWnHFrpH6sW4vYi;%bNJ)s6Q@^pm)3`bR#sVu#S-O46znw?!6^@sT zNQB0vTZyw9Gj14`Y9uVJ{j0ZZUpVR&4W!K9I+p&=y{x)od^<*qElWUC`acgk2^g|C_4 z_n(VKE9SrD32*I?E%)&H6BS=Zp*g<0OZAnxTH0N(`_sVp#}QNIYMAURML-B{`|}CW zD>ZGA{K~kz$M=Le_d<^jPOqpD`-;p4im002L5bg6QbZ>-KLppW1Oa)Qyl=y{e2oIt z4(>F@b;kC-t* z#K4A&1M9xy`0fMm^Ylg_@<1a6pKJUE85!Q=5g)NB%fo|i!UxsBA+dg$11^S>)%}1c z6!-H-Q!B-1f{72hetuHdSUf-C^n`XoOd_Dj?VNDx2c|JTl|?sk8_ecrU{ENdQ!YMQ zaVb5%-v!YLG3pp(9-it|^IRBFV^}s!X9Zv9uDzUCO=W2z9rdB-Bat=HAs}%U; z1}48939!pCMkV~dWgNG{HLfr5T^k7y`^98*Qau*dR7JZ1Hy4~@+yaIKoTz^r)m$zU!-HKCBy>9(I%zUZ?A~wY+=~zX<*IJjx7-O|n%K%us!eyNIQqhpch|jL~Tmi%sx0-p< z?6psmi{FpOZL?suhN0=>K}QF=^m2eP>;O2%kiZtbk$?Zi*5<{{>t{)-Q2>en9Va^e zQ~h~wSy2=fgMzurBhE?n6$%C&Q@Cq!M}e`2$IxjsBRix|bH{rionx1t9154s3hPEn zgH5?P%8ke30{ypq0u`ed=S3=Hc77Mk7??{-@J$sHkcD$to|)q^R{HqB+xN&8rrZ`0 zJ~gnCyZBQljT;qstdP>F$hTDb$Z9=t(v^+z&}Z^RwxQB?8xqZ1MEp zukVynUQXT7C`$LhK1z*-8J&rFsbKPdhw2jV#H4 zfThW>U%r{#Rr4AQiee;fzLO;J>b5OBYCZ1(OhU|e{Bw%egrZ*sY{a#;kjDihbq@Jn zHwHt>NTc$*dJ)xPuF9=X+lD%-*`-5WjY}kw#q^pmKL8AH`gbY0TaHOy zH2(B63qd?NvHyf9&$_Cepx^gRjZZI-GI%+-pl>Oq5FH^1ELmUKIC%0t#mOmpkYvR7 zn;(6xO)t5D5&Oi1bx{xt zQ+QW~=OAj&%}}0$Wyu9|jPaD()A!LpE5*#s3d+# z$7*}2Q~oZ{eG`%FtPEeSPfsM#Hd|B4zJZ8$;PJ-f-;`mO%*#^42wS5aXZI=mgdj=$ zy!=h@%woZ-vUv;{s1u+K87c>X1k8W(3E-Ubk_J2_{9NovH-APDN+$2_*HqxYgz5VqwABMAkc`{x&0>VFlKUV*e#B`@&cJg@FvA6 zm-D&~AE>7{Y8GLxbhSLrQ<1wpEv_5GUgpQf-nwV7H}9AdVu3_Fd%YO z;cztas_Y6|`IV5#lg``i=UZ2!fG@+Tu}7;DN6u^tEVSo2B*+T%avf|X)fFlk93H%s`Dr?|CsFh z62Sw{s|HI%+xe}z^eJL!2~$$31mrBi4@IiBYGN152NeLZ4nJwxj_)!-KYDj4|DT@S0XHV(IKXun|#1!RYw#P-ECj~?G z<@i|~6n33{fWIPyHnbPBE*ALV3FAmZe^`f&gh8?W-0>b+bL|Se?A+j!zS4qmURW<| zn%nWamm+mkP#)r9tQ6lKLma;Rg8FU#?_@r1WW1y~oSbNZ&f_;g3zInPVVolj;%zb| zD39Q)k$dJ0SDfVAJC`LMHaeuamGCy+y&*>U#+88`spI&D85R;?{$|;bC zosy#}W6-^SfB(+Uk9yblsM*z6q(n+Ph@HPVq;A3p=(4K_(8}Sgp||NPH4^?jx2_xF zM@xa23Pa%6>%*iJBNQjetEm-YLjCL8$mQXS>ffspO{kMHm$JaAqSByM65Mr(Y5LaU zH>6?4?h)htiao}ko;W*3*NS#UTVW*J??--<6ejUo^u03jCLw^x^4oZjEhy@{Y7**& zgM86hZmYzfBKj&S!vT+4Mw+7&913?rG~tpmFrAG>NzYO5Zg-mX9hg_&oy0T9LPAt> z_V<6j3u9dpXjvi7f@DjNrNA{o6C?ekW|NWn^rCxw9=K+GPi~z@OONIB=f~?@GAUpO z0o!CQeGeH}n$^$D_dGa*y2w7a09@ib(q6qfhONs$5nF;CQMLJ(KRWJn_g>b)+dZ{o zjJjJTuDzTusuOFM_&Wv$P7l?NVIZzACmW0p%81XlwWgcq3p-F$4IJZN2mbQZ)3-H5VEWLy+oR_AuSQ_aTm3^z3$dR@r9N)j=0S0%W-pGt z`8X?mQ~77hW2(T1+g-Zr&24+j{+eO?JNe1+h7l^(8K;wynw!^-R>ODqCJqm_MBf1T zzKh-~b)WZ+{%Y^<{HuNUZR$}+k8w>IuYTO8`1zSkG^bbZqsk^>D{@_;=hCB^y_oRb z7(ntn(Xz99j^l7K_h@(f5u0b=-X8HFv>$F6wiOg^@V#6-srkYyRKKmLUoYwv|0^mW zzw;ceBSJ29B6f@nUnI%DzQ1QGw&S+E8~AgB*zum}eVjIAhcghq#x*1*8-YpNo;YNM zhi&iQ9}C13xm`!Br2g?NoLU1m3`KQshOWgPgpCQdiA70mB`QjwFu+@uS!UTlTY)OFPz3Ij0A2H|?VdiW#zmn@fi6Rl5X z(%iD#hZDFTII-LwE>7=@2-A4P2l`F=$*m%MmEJzf2}&Y6w2rlO*2&`N*yGIA>ge@n zf;9dYTePVuqD%8q^m)`LK`Kx5#k#T`lkJOIB0gI>GO7b$VKD>AmO)IhbKyvwL{ZdEYN^jGI)A>=*cz zPgj8S+UvC4!&&_^bv9~=9w+i85%s7zJcG?r?oJeE;ee><#WzmAZp!|Jsz9Im9z#vw zp_2{ME^lUi2kM7Jl2U=JM_qPlZoad`-75JTDRb(8tocri`_I6G9|Cv5LsAblb4+R9 zlWvQq+@@#vRtSK&N!7=}dR>5l^^K|S#L{U-tIuAT&a{Yb>|qE(hK%Zi*}`rkbBxl^ z;&Z@~wd}TGtc%E2y?R+tcX~RWF##|%X}e!d(r-ps(KWTSFAV%w;Weo8eOz=i2an_> z_8FkES$+cV@Ql_AYN1=R4_?3yW(LBiFyqXL!!>o_{q|d5USj?Z=|U&$tgf;Ps1bFQ z6X219V_jbW1|j2e^n2si62XnVuU@<$rCiPZ5BYFz@5W#r?r^(#g{-QFl0x*=eAmx+ zDBSSPZb^E$mZMg=via-|rhV;EX4-}?Vq$44Xe$WNg!ac^fEjcTqB|pVKEx?E_nv(9 zQWGnkwx;3n2)5!*DXqa`)vc6YtKf% zY&6zlCD;hV;kQNtLK*5rr-|Aw@X4Fh>Q0eV8%R}G!xEz}@Btz$EckHWSF?`_ffzc< zh?x0t*(XE3AR~tN7s85Cl)ZRy zlGo1F(RRQgD8C8eMIeCw_&K!v_ihfNYAy?-JF3CZ(FrRblNH5w`wqLqI&S?sm*S@90QX@`aJR&6H>n)76(-+W!mBP^pH zic73bi=bA^msFcqi(PNYKF5l%<5_ODQ55p}Nq|sQr>Fk#eEc2i232FI&ZgJ+y;i@7 zDQGVdB_8Bm`}3q^)mO`m#Wi%@;X8{3Z~B;e@nttpfVx-U(pBmFJgLoz53PdgM8FnI zWvv&*{70T!tn?-xk4a=s_!!2eQ_u2*?F}C+^?BR>T<@^>FL>Hb zTZfa=GFRkT5;xQoZMEfuv2{6(%}jhC*7$3qae=g}G^`*YHA;2q;IMtvWxm_x(!bqD z{BbxG{!+b<53xQ5HT|+ke^B&jGKt7+sE}dFp84H$d2_4nXgO+iJ@}!ZL!lLQXC5m0 z@;LP{kRZhIF;K+hKc_cZ+HFTaY~-#-!Z$lEN*i}$N9O3#_#xKRzxAZtNkyXc&3vLw zORH%3-hu6yicx}f{M2W%mfDyvPvUU3ht_qcupR&4Rt^&JbJR1}w)wE|w#4rA+;BwL zwm(8H53jHFxQd?My*>@<4t>|elzP7LcSj_&H8@n=EIk)U2o5B9%eivj#L)~a%gpt{ zni^>9%+~PGwxh$cYh39Y+lTLI;k!lJ30obfwZkPKmCNb~R`>yRukCOVpgrx5_BGZp znSG~}%Lmo>@|Zq!YLo2Rz|p45+Q#gxwZST&nOf}_NJ>W-8=;2x|E;gB1xNG500?IF zE%a!xy;s?ISisS6^WH#G?nGO-VySwM!N=y2N}0^IeMZN?%0SU)Lpj+z5X748{hy($ z{)H0s{mn(&m}Zk^nx*k+GuGTxpjY_%^70~a$$M_Mc}av0bu_!Wdk6V|N?M$5o@gW4 z@VmMV3AHcefU5e-RIe-Hq8Jtjvs*!xZ5qXO>#8|#a)EZ|^6=q7N6}VWNP@gD1DFB3 z!7L~!|IoACg;`F|a_RP;d1;R?B|LfTZXbw0!SUVDF*7({Fx-Q zev31d0=#dGsv}_31USccCfALU+LKFRqMJ*(hw}_#WuUBzXLEC7&iSM5Rp23D^h4vp zVgpK`$D^$1~7WYY+Zin zBAe~{=3G$Yhp;E%;X%)Ni5(4lv&SV5mfH4LcPd5o%7HsyRu>5NeCOZ3N()D>j(=g> zsL1%Atk6rh^ApY>qq8RV59N@-`;(TL)g@zZ(>TAoJ^YX5Xm2Sn7O9#on)}0+-CM1R zffN5bzis7PA|UoDu*OG7m)+p4w;b*%%Fs~N7Kl1#${4_9?&|1up@Dk@OC;1BlN1ya zxgGK$LX2#++RsI*1*1E&(Q+oV`()PV)Z{Y?vS;a~lv0N%ivtCl_JC8#z^Hr3y!c06 zI{JPJYkgkR1P%WLD7)A9SB*>3%#j9x^@GF;9uO=FT}+yjmGHn~us5UJvIdJ?fNhpz z5+^Y%gyT7Q@hJW-){CL={@Ylsn)0!T6qFPjW@8FE`}xYE0-vPYY-u@#jw+k^k(Kuv z9SsHaxj|gOhz?xe3LY$Bd)8%^wee3(r=@PtP?t}9P z>PO&pxS-AXd$yr^5^?;dmi8a+Ok?a~-RB5{il1w@g)BE-Vda5@$<*(=ocReru%NoF z#bq`)iz5z$!Z=`#jg%%VcYWf^S!VDG_$5-M4Ia2jiF{B`9Huw@ib5lKbjlql-wO)9 zd9KNK-Z!```hCH(*W2C?USOsE4_VejnQiYC<8(e7CQrb;GT1nUn*1=*^`%R4+WilO z9+3FZ>8ve;1E9JV(Cd6MgYD1PYv|ms&-eT@tRUH>&qrRkHmcqPl)*jL#`gl}WNby- z1L~qv^G}oRmfUS)NaK*a4rMkdo+?wnzj+0O${g-q@tY+S)xupnBMV1tx6}R1#zF$Y zDgn?TfdJCN>lE|MWDMR@ex&tg+PnFz54#WvrIXP@uf;xn9Qj%V`P-ykFL>)X08agM zZ+h~*ZdvJDG-|S^*KtJgJs<-S$*x2cL2+`Du=^GnMyS-x$7Kw6r*jovdx3$b25=#{ zX8Md3*Vw~kjC4r@LCA=+0@M*`3>Z*o^`%u}TxW1(p8Gk4)zJ$feXwY#E{NkHehAn5 zsJW;D?l4$%wK77iRt^8!_qWx1-x5wxq)im)Hf>q0{k~WaECy`O!=RK*6Kc$rhS|A# zy<)U39Rq+V8SM*%?*>~YGD~RDHh55ePMF>e{F}ee$g4037Oyc za)!q4=Y$v_o{G`mp*-t}58JHC!>Dd3))<94{$Q~*Qm>$g!mca^VOJi(_%*thOY7i> zWl1j@kq6cx0gmm*_f=OSdB1=jv|#nRP+VLepH+D30uSy${pRZ3V$vhgf)s#}kLL95 z`XsbunqGVLxR^M)7YR>636@2ofUuAhM{3g>dAR@)cNKQ}Y!pSYo(v${YGKrl_oM44S!ANRj(0q#g%mSa8cx1{+F^Lpa6Pi6xJo>xv z7J@W@<4RJEV5E_J|Cb~wE8*`boYyl9UnbAp>%ZBcCRzyJdHnHU<) z_MGre5rdN>l{+B+k)|;jI8|g|BCIf-b$-Q>JlrT2iAF2_%CfAu$>o8c@-+}wQWk%_ z;)|jH>L2UqNU4vgo|NkKe$J$4#xw(QSFZJHhw%4hUm6!RuyQGOIl2-gUa;dm8N|J| zUC3Do3XTDO>U=#NLl~^{urx;4-iYk&CnM4e@u6IZLjA>xl~}H)Bz|*Go-@z{w4MrC z=KkQ;b4iJ}*?zI|UFLbS4h=(S&v*;RGG0QRK0vokNga*RdFI7nPf00Vc>>onei|DQ zncNP=l`ri9nlVrGv#~A|oU??gqRcA$f?vC6Xh0@gNWQ<^nl%v0o4z9RT!D8LlHuUej_2@H6D)^GBD4KaTmjd|*^R<}lZkqp zC#>c=@wn16rNgq4AQ#wWl$9{!e#Cp((^t$GeKtmMI>f-~lIAha%SQF?#-?+n7p{E}HxU`H`&_riv_t2=I zC5Zw8+ts&>u=+N^Xp8$E&EC+Mhs|s$iszO8an5b~hdc`T6FoVjxdY`tv-_veQ1E1z zF~UsiC8KYO71N!oy&Y^(FxJXwX%SxWvBM-6F4eEkr0f@P7D2OvLbVCdP&*d2R`_u- zyuy;vqiDh5@~S=n+C$Gw6&G;?rY)wdYTtNq=n5m|-61}E<$tsEv~*?ZHuWjr-I{BV9f zeDBJUMA=kE(ts%!nE*lQNxdNYnX1N6*Nd*^2pG6`)~O$e5w>@_+vFC%Z?y=H0g#6_ z&D^BQ@m6}>O^=(j0HPz$a{88b>&{`>#L>K&*?Ne5Ve66@Yr`KXODo2#ZiVkp`5Y|+ z85AG_v?=gzdp>51w&M$J>iPn{OrtFIh56N7f@5Q2Rd|JIDhT~!n|;hhV8%xfz36mN zOB?ROfof~0sCoQe@d~^Fy6+Ocn4jA*wp8cS7A*YwNpP?i=0y)^$RuB~nbt8-Xi+~A zzNdY}I4ycHi5a%VI9hF1pJ?H{1XL%oJCn3qMY{&oQeF!;buH9&4H>%ChG{sZ{US-4 zEbJdn?o7IT7_B8%DdK6H-BUAwqofqJq{bj$$or@vS486^DAmExnEAr0MV0GeVRj*q zgCGB%D{9ELetmQpf(iN4^u|D?#~-O;ax8~aJR>Mw1m?~TuST;oG~N_Zw1A_V0!l-aPHaT?L9fB)%m__VcJVshlqGu4W3 zPGmU6jn4&Zt?)H7Y`1I#W$yM=O?c^&1s-D3##Leip8T+i4V~D5=GlN=`Cf)Uy<=b4 zHD+6{ZsYmMnr#RTEwd^0@#?cMl4PR`;rdh`nnrAGRW|(fx956)j_*Zy@MEBK&y}a+ z5p#JO1TlCqyvOev`{vbY^}UX;peIji82G)4sdfa=zRF5^O|&hx_7o?l=*Nhl`uZ!o z=h18wLN8_MI1O6gf9#X9Sh9bVkN zcb8uZCtr3O(D^=Kla6t-h^()FvXW-DG9hE=v$ArWJf)eFd*$nz#;ppk@|%+724cPm zpZXkef}XS4I8!))kbOzy4;iUV0jR`P1R{~RM-1gzT&L!PeK*!-G;c{V>w?tlo0)W# z#M4ejgQr8kcmyo^XMXTotX6pTJ}qJA-y_-7=0cBzR_#AAbsGrwIKtnirlKjo_*XpP z+dIed%uy#heOklz7B>1C7(&AY_Vg)_`$T4#gFH>etn9XKyq^D$3GXgPQ$Ry=)j93q zPboJZLeB#&=d^hd$8YEa$L^0njLe8z*8I9iQoXu*_;w#)$)%Fs$kSLw0Q<}ng6hn0 z>@OT6VVRJ z_l}Z|nBgG@kJU}y7~BR(3lsN0Q&cbkp*0L|M*zsZ?uM}`N^KhT>2@(te7sWU_~b|8 z9@AZYbMN3z`SGV(kseMcHdyZupJ!X}&b}XsMDMxV$m8-riFHQf3Vp%0(z`XZzO7NQ z(t8j5(6?+WuWJbU0%FM(a7yG7{TX|Pw4e(a-*lNJf;5**wL<*I3Zd09`rM%y@h{Np zFP~dUM4RK7D?zcJPuwz~&)Ei@C>wVF<6ZZp&%IR^$0hj9j_I>o=YeNLW|-2V!2Cc> zG4YJ~%`-xl@mGr0scZa~P7caywHUvIibwG~r~@`CpQct^)-UWxCgAVtUOwnpPioT? zVNv+&F!y!GAcnj9+y8dv71MuiIbz2kesWTo$7vx4n;Z2LOaQV1tooO(C=MG)*d(Lj zG^?Rr9Xm{ZOrcr`?XuclOmM#gBt%aPGJP} zgeHEPWDn5TtNv{50jlnuZc*3b`g-7)RNq>0I@;7e{3;UI&F`E>Qt*V4AueysMBjKC zceDzC8r)3M+vuAxtZ3??Yc#~Zw6~XvH1Oz^&bH<141Lzw=Wa-|F@bfHN>xJExyTfi+jPyz0#k-<~}1aI~irLbNK= zyQx!akWileD^KZ;9 z!f^8l8SX8e%K&_{n9%V*d_LnX!5a&kW%ZT$Ni+{FvwL~wY&+>Q^Yg)mFPOFAhie^E zG|n4P7habJ2f({hsd#gc$li-63Xbarz_;%A+jf}sHwb2Cr^7bAF}5o!&J#Yn;t0{S z&wVs^#)rM#Q*nQNL!3h1*PS&_4>(xeex&87fuH#B_@quZjXUa2Ct;z3x>jU%`bs*y z`(qX1bLExv#5#C6v!W&3&)f?5buGbLT`I>62UUb{7n{_&REjh|^EdEf{j_p&ll!(-O zfj5>seCnc8lGy5c(d#XEVXgd0zZ-ICDb6piWc$9XB2-T-dC@wDQ&XhVF%k+WEAeR- ztNVrXx4Gu}pk~IP8a`orXX@UU;2-{dg(tp}X6LVdt|_u2b{Txi)e85lTY8|bFv-f* zI`~`f97}aq*Gmw1j!uOd1SBXdcUQKCVz=-#hC|Q13RylPxufDanib>suu)Y`LDc!; z&)Ue(;;{z&x(PH_18TgaLH)a>F$W`5lz~i&i8^0LELRQj(mm((KL-HcN4{$;3sLxy z0unz~0DX6Ia3|T-)I;QW2_ac&y5VtAYPHD=Uasf@@vtT z$kehs;E3eE9Yq83w-~DM&J4f?Nl=l@D!h3Ki+Z@GsPB>JAx!2^?_rlYCe{mti2SAD zhJbF>WWodY?sOyF{hHDlf{?DPBKM6h48N6YR)0GGC2^;bACanK_v5Tw`w?4?CqQsm z8d4ZrtBAVve7Gy{lvu^0bOC|>K#r<%jg?WnqS1d7XQC(m-**((WD%_K&X{{v;rnu% zMLLFEZ?>$Ds**UI#m&f5r<=0;5*|Kz!iD&pU27HQ$Ymi!Cj9L$`i1LpXarUE&tNKB zWjG?+fyuOyyQ$XIm8`DG z&wZWuj``%9hU-lPf+vb(G|Exin4F*?U2Q zC%!~wlIR7UO-=2?P)nmYIJcw~+B3(_b7X+EsRp{b^>jJu+#(-fo9AYy+_goLq z_q`L|t(fPJCqQJ_Y;W22O#8-t-DEaQ*hGS{+$E94BncRP;@L1T$)byQx@Dq_rM^IA z64mg4z8YYw1aV{-aU&pcOz(S%U;A}u7BBm8J!RXhSBK5iKE7)T+XGh|yIZ0P7N|fP zj{bOYn;yW#tDOUsx14!P*Ypw;%h%acZ&2F>z|DDANRh*G=^l=00fA#ePdi7*NS%+k ze>{kEToH!^-6~Qnzc!iu*9eb+{KjMJW0kg2;0!_ODWFI=4z4^S2Lea-I=ltu1_=~? z_Aex{4h7y&hPaNg;e8mP8lZY(JmpD4(v*rwBoE+cbS$wxB?l@P-T~?>PEq*P6(D*t zU-ti}Pfq^cs6Xn?_B9os@hU%qq+?>uBlPs|RFI~#8v(d1+F@^`(xVjP32)nt4Zl9{ zkq3k>En~*xZgK!ObN1vjh6du1Iv>kijJTcx-gyBmFMAh1t^^n|zD|iY;DVUY3^o>3 z>)dkEgKxH%y#h$b5i>$%$PWwUuJN>;cNDd*>Fmt^K{D6IpNKY8qkG2mQSj8JG!VoU z01N>MOVn#IkiK38X9UoTA+etwR5k13MM;ZC(VGa*B1)zm;wf}HY^}>3@U-q164=$C z$~P4$ge9nQdXkM%3c7Lv!0@G4mQu37Z&ZSmB2)O^4GCEyk!1wB5ZKdgXJz2B@}+0hg&xFg%UKCZ2?-GJ zHp#0Ng0Y5*Fsw-lr68dczOVt!pppqVE;TkEX*mip`!Pp9G>yA<8AGo+4$l6RM4|nwpvv@Z5mvqKtO?j zNitj!2DSo?RnVk-6JR9%OA5UBiLB$O&pi$@R(#_z*}!P)+GR2_hKn#xCbTf-`g=* zhQ1-5!q!QxmVHr=|4(ull4ygZenGH|(GA0J7xRU7DTa-3SpgD)utk>&J}yyJ0Qgd= z$oK=7TkPq>XL&q$LC?U{Cg7zuf`)p=V+hnqfaKRUnT%soXyUQ(Tr0!6iQ|Y0uJlYn-}n zF4n071FL0Rp8mJJ1K$N@G&?$TKBeO)Qq&9$hX3`G+%`Brdg6E@l9FH0n>?-K5{KiA zq@WJIxuQ4aRTW=-0|ro5Q4q_U#SWpolALVO-~=>>z0jbPm%$z5Q(v=uzXo$x+>g^Y zOjb<=pH;rZg@o7M7j}cq@I#8?hXXq%mp9y-Pl@+mu?+k=w>eKU^7qC**;=jEyckzf zr8Zn$P`%Cmoy(&!e#dw1E0Nwc&22q#>Z9hsYmU$mjU0JXE=Ncc^M4q>w45lFFa2ufUP)+Jop)adu~SO0%?+ zPm~UO?3CtFFUqKB$u^_T+%WeTt6JLPypOreO0U4%f$k+{n23pqkuE7+%IIkZ zZsv7mI(kq@tQVIeAk1L1UAa>H_0Q?OdY_xPjL2N7KcBk$7QXc~roC{3R@sM@q60__SJP;v8Yi(^inDX&H zoJ?8?+dH^@tyVisD>UQ-NE%?cZ?36?YdW5D)&LeiGiME;k3-uQALlEMP&-~HlpLO9xZOeToc`WiO;GTf^py8cV%LwVt&eRVG@n`% z8Moigu6NWZ`Z82)bc(F8c=tzHg+{UPBJYvcXPP_2Z>beJnx;e9K|h(yr9fS5Z(y@U zJhShLTDS8>t&3MO7X!@`pH|?;x-QEb#VS5Ox%Q|j z`E8-K{^}jd9jA07c<>wsHV7RRwtoFzWS=|7FN{6hnhhFZKID)w`A9s1yqo_R-Y&j}vKh0uV_cwh53@dLn} zYN%gtQ;R*`6t2%VIGmH|Y_?TDnokOcYWQhg_xv;wzCJv0wA^ePb3t-zdu?(%_-QG@ zii~eb3JcI{C)Xs^sJS+edZ|xc4IFP2nfg{=v_9IXa0PeM744|K{p)DQ`DmZYN-9B* z;0uFu(qIKr9M?6kN6wKcmCMVuXqJbs_)v&c}0v(L?9}MQ+XZW-}4t)ZR z?y_qf^(OJ-armMvx)gJo;MZ$|#`b!*Q7KxvrkoD|vU(Md?_hVsvRWuERYHP;k&!|B z9U9vxs^;M4fbNI++32YgnH8dGR6xIwvCk@6r~RR4q)K#Vp&p38x3Zoq8oiKi%{6FG zyB*Lh>OA4Sr!Vs?^xpV5uaEPRdgvvX99;WDHqWuQo$)Y%^RKH;DXL*`QF_Lb4L0z~ z7$2n>2htocV)rE9vHx{Y)E#U>dYh^i`D+A3;Y-x`GuB#Pm)cq`W*`xtXt*%G zS;}bg^!fi9yzmFi`aPdEW>UT<*?{z+xAlkjtKCX7;4Z?5@%SrzGiYzTF0oc$MU6}~ zHP^UaPJ69`2!^2A_GVX^i$r+~O}S@P%61$LQTw2Rcpj6j5=wVKfnYPffQh;UL8KXm_M-2kaURf~Z$+tA;BIX%Z^(EK2Wu%#KNRtli&(0}K zDT_aQw6k-tvrfDEkKqE2M9e4@1q2%Lm5wm)`z&wO`S^9wXeqi&!ne_BDbiLR1v+Q0 z4CfsD`|E(NZ8`qAx(4}TsZT!jBZbRoEBw*5pNY&uPSTzWF9MR<>cj09kGKr7>VKkV zg-lDv8Wd5j6nwUB4-3+=va08WnChv@JGC_z9-h*YO@E+49_Xe#6KP_Li=CbxadWhL zCxp5D+d=WzS-Hg~=IQU?lb3%%Jh^Wcu)}O!^GLNk4el!lJsd$%NOI?w(HAsMsTlJ_ zuC-MBB&08FF0dtyo!cS~#h-Ic^ojtFp^^|30=czf^wrymr^ee0rU&;EqrY`V3 zQT!npaYhpTf2cb5cqacp?vLn;PUDNvfr-B6e8^#v!${0|-5L zVUxqiVRMW^&WEyWWucswgjmj}`}+NL-}it1+GFP0$928muh;Xr4wXH{j=}^a=hs)J zIZ7!BmnKR*7zMGx3M&5QK0@Bowd zUXxuJ;5^DwFJvAcZmIj-+MdR48WXMOEtvq0Ho2)MV2}D2<8ssECrzk?C3zJi2e#pW z^C5LB^M`8nD|_!f_Q~+U4!2+!jXSef4%$vu-|)#>@oXEdeID?5@EtnaZA9!1pP~H9 z$5VtxnqkGJ@_o@3+O9H`|017F$0)p(N4}yAgopp4{i3Wdqu|OZXCTd9y=V?MG@5%r zdLeV77K6wsQ^c0y>yfwC^b@cQR8?&T(Oz265Uv_rQfK5@h8X?tyb%<8O|klYX?i{RH3y#C@C#3ScRFy*em5-bL_eHug9fg@dog(mL<(hCoGQ$te68qK8 z(19NOiFZ)9k1^x0DJ=6H+n_0rfZuLY8>tqD>NBuyH}lkr)>bHlt|heM3PMyEq+X zG68>nD3wrVL(ArojeXruwlx5WK?qnt0EJ9|5_mo^%kW5vWE+~$>)-khs;p7!*dc(=M1@;sJf7|p}Gh^not z%vBcqm)k=PWh|+_56td>>*O9uZWtkh@qq>v*u6GQKuJR+A#9*4uf!xJkN0(8@q?=MokCW#qHAkdU9CLudau;J_4 zn)+oc8a|N2!B(Q%KDelS-oV?3y8Q$vbE1)iWf%$*8WGw7oXivALRD_bwiv^|urxk| z@Lhf>vg*6}aQn9k3wxSk=i66WiCCJu)8aE^a@G=?hiVmR5&u9SOeUcPVD>^3Vz@-=b6n$BE<5#r0s zpWWFTX$}L>C}H&LrCgQ#AJs;RFI>Quvvvbo9=NBmYm&$%J-#Sf&}J1K-h}Pr$ap5< znX3i})J1)$7QT8F0nmINCLgUIHZ?7pES6FKeRA^ZXB*?Cj$2-qLX5L9J@vx?u=-%< z2i4tw@=J$mJ|a*__J>E5hL4{bmZ_jZ=z3m`RNP~GE&&k5r{6!TPz6AKD z)aesT#G75Y|BByazGx6rv^S|yis7eQg-Euj)&s6^J?C#GH`WvN*em~RP~8G6 zj0&et$FX5_D8W?URo__g;R&94vBvbaLvv5#l$9+8{8dnc=}|yo!?SJmCKQ*boi5Ta zlU?bgrG{^xi;9M5Np0uB&d~Z&3z@ilM{je)u9k3HR3{>E;AI*UNZJ&-R+uDF>!+tW zz1!r8TD3(LO37aE${hm%i;&Ke5T7R^XE!%WsJAid>!)!>PP zw?(Rq6tn2Hz86Ss9k&sSc<_hz;Zefx<%N1vrZHF*uoVOO{Y=kfph?ic2yW}J96=k+ zexx+zt<5H~G8{3s_rzt;=D0S0GS$ z%!?EP;Ha&CfSChPfPkNzA7uIO?PdXNiV?pk*3@?At|9mO#^3q3DyU0m|1pLmZnDR_ zq|r;>bpk;4jeBl1W{VjRQK@LMk}u?n3x;NTG%N-o5IF`>SN|URG)m{6~kV)1|ExTe30) zicIke4;;+Rnq%!-h>o&iqp4n7m@mnI(%!Z+Y`=A7(*Em*a4m}=ifx94!muj9YRQHRT&1(~Y+*+dvK-Fizqd~-2q0RTwax9}vo1ig==<@W48)XwTL zROfhA<^U{$-(q) zWp2n`ajND0|8XXiB&*y<>hPuplWG-RorgQx0)nx?r-W8{!3B-nJAn0UzPXTmb$*c0 zi(Z_F3IhyBA&!hm-`4!MMNRs2Rg&|0{I?(y05SsoQD}TbflQChFtTqturJXhS?Afq}Syon7!?`+;`Ox0( zdMK*h3Sonob~XVHDijVXDMP41h#vW+X3ooKt`>K zzI~zRYV1aLe4mYCj}NwC3Y%un-Trmcd20IGx8Jc>&ub}bYiqZqNhc1pHQ)w=5nea% zH5zc-6+|M6+x+{CBm`o#ZlD*3dQNA&lf?(pOsGxqQ)Y6Z1%lXXAdaTLw(VgN z+e=G-e{`SV#zj2}X}Dg-FV6~XV}x&y*clEza|R@$t?kFV`p-YAk1+Cps7IS<(PdHj z`^J?@D>YNqOjulF^Pd1GAbk3ZIXBe3{$n>_cXzIP-d2=0{mXB~LA(-tO`bl&z-Y4-cX1- zi?MfvcD|H!gX$a*%OiAO+bLht@NvpdCD-&}TlJy0%IcAL2W zClCl9Qs)9&Wlhi{)x4SZ3r+i|45eU=#-yI^REx19 zi~T%(M$U-G&Q{Y*B8|r5#m&BcG!of{aq66Ws<N zBynOP$Xs&8@7(d9)Z?9B%OU@D9xOXYX%sMvXKVy@fGO%%xmK*(htL4`b^RHExbmzl z!%DzD72h$1HT)b{c;CYqeoE5uw2A5dAuzBKCeF>xS?Ij2&2W8;ewVu#uC*D_d8yY4 zvGk3y97qR%M!+~lSOe#fxtX~Rv4Of9We0zNtwqVt7#NjBJerSwqu*T_36u2El``+ zoyTo6-#S~Z;a7o?=-$QyS7)+VN|*hLo4sw8aLeFa-_X+TF!bB>itkKEB|96}@Njoh4A(3!BXq1Q&m%T zO%c=@mTcTN(JeuVo=U>&e0V|?PCgd&=KAlZxvSNYxpum0D6diuZgxB;_n&(C%8B^A zlyRg9B+fuEKPgi}GN%_&s%p$8A>&z$Fn;|)e(?v;s(r|dWB)-30DZKvKrLFV?ZlTCVdZ%tSW%Mvu;_?*JV@i>-iGCREi zWTfqMs*8&k#1kN3gS;wvik?&rJWts2Er2nDmPc<-j8vk5RVzBlm0v>F1e=^*|H+WY zA1jYj!lPVAl?>glu~!eJyW#1Yi~! zs$D;Gp8?N>4sIKxY&ga>g!B;^eIepcLi5auH9}IdbTjBCSh%_lfpH1a`>9rn_jVLK zAMPS=$^8*g;A)BBuG0VGzrNg>p2=9TEe#x+%~B=y$Kc05#Q&PB9pF1DrK(X&R-*y1 z1c*CNF|iu&8xPpd@Hha_!MujWMZ##=DC{d6kS;X0gE`o97w@`QmF@ivi-WS1i@}xH z08`cT#;)IdV)1~n8-Tf6C%-VMAV1}IGp_fu2aEesE~v}-=HilL%gBa$6@nERcQS*V zIK-4~qIvG_)qs=t9U0q$*kbDwUVe+|n{YXm%%M$k5%L zsx6UFH!~ZAC5$c#~gQ0j-u_>VzzT7deCt1 zN#b%C!yc(DUYe=&9|y z+#E0RZaW{Z)$)pqBawvgx5)-EZ#Kwdr{eI)1f*gRAu(m?DHX%2=eczyya8)X4YsZ36l6Z1LCHYKv+@IKK-wp3 z@{t`BU1`$y%Jmvp#%Zn?gCzgo|1d%z9}u3ChU%HTe0DV#ZR6h|jWNmFXLI^S5)$M; zAd?K{ku9|E5rYmg6I(amqJ=81f&LOhZ}KTg9XmIA3L&&g2nEpcv2J zkE;0T0W0@f@;x|QQutz#Nf)1_0{6qU(=T6DT}g=sMK9kbN1y(VGtg^QwY}iF$Y-7C zI737No`u6!4bo{VfqrH=6M$F*3yF{p-QhJrhsVuim{gY{7L`NEt6O0Vg}OeK)GP+F zW$vTeWnh6%U$%ya$%^M8o()sdZlXnnZ!J(Vj7Gk+Q!1~NpFVbzE~gTf_xZX5HAh)- z7{2suNKMBg+yF6vA8)MzP<$#^wixeE(_re3G-R|<`Z)8$ZHT*@D*~A|-kb@Lkvpe4 z(3w;gbRwxY@?lu0Mq!&vRnQ}#H~o3)VZ++C>YNCRugmw*&q*gQZl2-0xmKx+QP11R zoTAZsSNb)$_`h$EQy(d$5g5}l3_DhIS@Aa5yJMI-#EZ#5In!X`Go2A`u{_fzSh8CB zuRxfIWH4jpiysFUBq2wk94GsgE}J$u&sjo4-8qqwS9~FOZZUYKQ7sEVjbCTvKObX; z=7w_=bKD)ZvTcU>m|a0QH56T_8UX*>f{gQu^@=V_UDvXpkoTwFU!u=Z6Uh@1RnaL1 z&x~M0gUVS$b1KA#Zu{5vALJPS{E#su;+T+bP?-7akaD5)*+8h=nSMblj638*cxavF z;jU3xt_ugW3=f1L1MlBy0#>Ih9z{qX*=IVpDr2+4*WEbGQL>`$**NAjLz z5-&bGiLA(v22P(*n0X}ZMh&%lcVm`!btaNdQ6EdSM&lTM>gu)OlIN#Bs_Wl((mp^= z5tec*^I}{bPgt6S;a9|3pQGL~M8i#oLeJogTEGKqQO9lKJ)K9p<@~P%z3~x2)XvGX zB;=FT!sjgCsD{q3_~zf|u1hwKUA*F>UJHahQbk28W`8USoC<0ghJNO|k{S5(QPXJ7 zfLix%x^{#%_k_LML&sNu2+WFU>HNG803nl_Xw!bc<_geD?09MZM+K6@BeUZ(kvq+M zJ@w|)^_?Fti{zspd|BHsUXd7RmS-|~kZM3Vc74K5cHb*eM6xU}EOhdBYsk#Z3+T$n zi0%EgnNF=2pZ44GsDUvkwLGh>m0W5clf_y}M|Ok;?Ta2Sb+#Svow+AyG^OYizW2Z3 z4z)GrT_hDfyBD=T26$0tbUd!*_5j@(AE7($TYjsSvvbt)y5(OYZ)~|^b&sh)-TrHw z@3)+q3Yr8T+{A!Op38&BDKkIQVd9>|nr0P-7X~#%5Cp=m`;H9(Ie_6f!g$^Mkk*IO z5D*7S{*-6X_TJW;rB5vjpUMiODR|o zFK@Ubk3q#0MT`=JMZnn_l*wcoSF}CVUsJFKDXqiovq&`@_f>B!IM{1zYQ3#Mg~3~@ zhk)xJ{TiMF6eSao1^GIp>6XA;+oJls`vuAmYm)^ip-yz>5I-N@CM1G>=jLgnpVr)j z(VNwG!AFAry&($(1_bOq*4!JM3~%958grv{QclwR?7n5sCu zlr)iRw85Ve3#9q_oQSh}1!f1wrBl4Bu_9O$R*KnNL#(4}SwLF9=j^_@be*B7SPJU; z9`V;nCN8=Gm&LkiMAiVdamh4*$FbHovh>42`Dm+cEt&sZkv51`uL<-lwuah!@x;&^ z+Jko4axd2s7itK}BcW^jLkpnhmVyM6!cED1EfN z^WcCQ>OlU)Qoi72+>hT0%&{wy{-~+I^#IqP z9<0p8i;8Ny*X)n{WI~Ij`{)*<{0de1pyF)A{@4IBF?5M_BIu*(@hpNdfU;V7VFMSw$IrhQMob&=^4DR7* z>!z$-VA8(UcJzb>N#5&xh-I|x+jV<@jkvmMM=4>{?SdEfNgy_V7%3kGj6u1SF&8Le@Ga zF}zJpf3}a8_C3^P6GcTWnB^);(?CTyC6SfL{C8q^B&10N-&djSJlM@T2zPoSLwlX) z_=xJY!qhq3YTK_>2Z*e@OMOMD%<_SrheE?`GZBZsLYz}V@{mi+&VvhV`i!HUrG>0> zSta;MsZU)ijO&6A(1IYC#nM7J6dYgoBmaWr(UH0zfcN=*2(Xv54>r2}`0Z3*r*n+RZz&ErKNdf(^?7LvN9(&yqPCv2 z9DD3fZ2P?;ifCKc%JJWNtpbbk&4pR}uR^Z>aqbZW4pxIZMZ*Sp)7N@~k3H1) zVT*zLi)L0+<;>lzB5ld6rj(UC%QCI-(f4yh+ydWbRw!>j8DvZKD#O&{vw=X^ovKX$ zR}2gZ5?>(I@I@ljhDsVaE&%Zd1_y{z?X zYHdg8i6k>OY}IXy^4t<1@J%T1gZ^VkLdsvD_F9+%I!;%+Ry>wX##8oI+vsT< z3db9)J^tDJLB3Dd2OW(3o8QWro*QGH6Lrq4@R?kH!${fp*YNpQ@b2zhRhncq%HE-RX2uDds!yjoA=U8z8kHOuu_V21@!l^SUKCzcHYublZ z_vSuUQ4<36^algR7B%U{ll{0?Tv?DF1DtcSRge1ZFF9Bsb^QEJ$L#JMh0qh#V@PNzSAG&(PgmDS^ zr`UV(*5;?t7=St~%`R0o3qPy0faE41Cx!5Mw@U4RepnCqiYGLVD+^ZZB({K;iBYV) z^hj(LkmjQL^XorXUJ65&;Kg5bwd23KxPSU8ZN#G_IwqtnFiM_BW?Le@3g@}Wqc6C9 z)5^+z#`5>);mjJ$C}pX7Byy0Y0fmv*CakAfQ?JbO?gEdgVO(y`*GK0OC-o*h(@W}t z3q0f}0#n`?k_BbP`fyu%0Nhgqd*F`H<|1$zpBhlolYJ-KSj|P3bVMTVxa|Yo6e0MQ zQk>DS>V5eM1rs^<5RKvK-OyFW*;7CxZlPL)I&+yAy2WBw`cE|Nv4C+Y;3M;@Bzt0t z0}_o-_(Q8gfLac?S&=Ty!KM$iEO2sj!KdDdrC}D(uE`RTil4LResO`Ve*lCMcBL%# z(^CD5+$ap*gETQUZ5Hm^ zRK}V1yej)0%&-r54lPecHahAwI@(VyJRF3Yl*Ua!naClJwwsdn+%DG;dPqFpWV9D0 zM@SFIB{plw8JxAkT-vDZUcsLd7ja8E*Z=YP6Mk1%p#l?kvZJ#tbx2cm3<(7URN+oH z=qT?ODV$JC>OS>_xK>RjseOufcL2X{Oj(+=PqJWR+oPPy zau0*SrLz%d>y&H}0yuVYi2GKtth_>@Tgjk7V9*f; zV@7jiOdvA!^r72 zJG*y#YSHN7sqANRQ$t z@ft5%CQG)IhW9Ue-0_ywy(>@FWF9?Q7K<`_zc*;tv5`?5z98eg3;f6~HXXhnrFT!< zD|xqVB9@DTD^`jiQIgJ@0FR@tIHt%P66|c9IEc z-awnL1|4814r-oGQ0o=CQr7O_>UgYWUD^u z|6x@=cLi>K;ShiD1N{sP$LPmS*BZbvBj{?Smdv3A@z`&FFY&s|k4r71p&2Git>!#> z1}tS~`359{3u0t*SFAM`2{m*xHPRElQl{JED+H=5n}4g*aoO4w&Vx+>i!(2}nUZ(- zAL}8$k{#t?ALielN3rR;AF1*@=gP*JN}j(LZ045CU8QsJtU|n9ahW9&cBN4sJw|Pg z6)4_vyq}K&N~sl`YG(TItKZqdCWB;GD5}2$kU;2u*O#pma_4X{ZYjG65P0X)aRUhH zQZhIO+)BKS?D>uxHL!g1>K#Ae_Npq9XR_Aqd27TAkkTK1(l-ONKDa~f702mjkDY(~ zr7>lkM;D~KVLb!G;?uJDJ-v}$;RsH4L^XT5?p7_Y4;9kFwwDmTnUIvz^z+A z^V_KAme64WZ7_0^u+d%(dFVFb+c2Pdd9l>roJ)Wnok6OrzUP96^WNo#mXDJiN%`T@ zN(-oz@%&|Fv*>SIB*neWP4||}nUPSf{CMIDqlWQ!zwJ8xx~MHjFp+>JX8pU^&R8X3 z6y|QSZ#&*Hz$6hdW&D<3zg)HP0QIXr{kRr<&Tr;3Pt`dy>Swh494DB7%$9lD)uJda z-b7-|%=``6Z*UG;PR77ZhkgMmj|Szii}bl4uQTAF{tS*W7tMlH1n-qzq}$`lYr_BG z#h}Xf#jaKWR&B-mSE1DtSuB5spH1BF!(VeB0Sac@#Y5^?XLY$-MNZECp&6(7JIm$2 z0S^${jwfOz>o6zN%|>s7XhAMIIO9>x@!*i{t<}{}&4B5TJS7GmD=!s9Y2sRwyPA{2 za5y{Tz1&PZ&&M~wQLQl7IIPs;6L=z-komr)ZN+v%%Ys?FY$QwwoXK4w-ndj~^)Y_t zD6*kVG!p%rnkdxe-REBTpEUgu!NqA!b1S(ZtXJPF<1-95#-1=JTdC*nD}-iS#m z((!LDGGTk|rY2Q?JC-@Vr|KL9cF0yB%_Yc;>6N%wOMk*)1tuTd9gzvK4m@0R1j#;*Hm;VfjF zulM6?kE93o2~(7r!ygx@mUInq|3V_Q-CTQ;=JV7^MQeI>|Ik)_G)PX2?C6%eHKud) zmsPG1^V$~ZDRrVt>?V8hi7mGFIMd{DGW%_<)S)50Oz%b;{eNGXx}@up6qlEj3$7Li zW(MGJW5a+68dm6J!AvW~$AAG$x(K=YrSpAw``gZl?V}NopAn}&)wa2?{`>)(2p~rq zoau@d4XIVSdePs97KVnXOp8Mg*6LJV@4!MhEHZ31JpvWn2ALSpSlT<%C@eZ#i!ld$ zF;l+(h`)XZEst;7256^ljiVKpokyXPm0WewT@x0Fp&A^m#f*woJ9N=1L!+sSTyyJ4 zxEkWy^eXzk4|DIZX88g=2leY=Azc#m?@NyKVmvtDY-kQ$2; z&G01DGpUyrRTJZCf@BlR$qpr&&!pfh8VZLn7k1012&U15`a+Efjb>CS$z~BqwW>CO z!(MnS%S!j{)Y|1$-^8BKTsMSeRb6fl(VeZQuTQ;czu;<4xD5|k&`7K-thw_Uw4nT7 zUMWmOax#YmU~scOBVZE8gIAHMaB@C7U0XvH%jUIzg~J-{K5Q9=-21+K3rfl$BfOhi z-WI&2o2z4if=u6fb~N)%zQTFJXW#4L`#&5p03>p2-?8%&sKVxGC8QJR`~dwHmj>aE z{jEFYL4R24GabjwGy@+btSKA+vo3JVFr zh`g;{-c^nW+lzsN=}Ze}ggmaFs&VB-V{hLEy)&W+1DtGMS5K1gukYb^cZd4A1ajo( z!X3_IM_Of>-JgUHA3m}(na!^*SyA+az6wCB@9s8NuT!(=tj4smm5-<2o`M4S81q|n zl*>qHz5;WAOGUJI{UIOU9h>>o59wG2~XZ#&S9bw$pF0i^BiZFPp(sFm^N;!3Giwp*o9 z+%q!qbA3$*z65WBFoDJ?Lf*G7+QiWclr!=CWs{UgnjMjmd-cgUx0N@HGl0uSxKX9s zH_AqGVd8J=iIB<(c3vFE6 zr?Z-O+@n-}`-M2tdHDF|i8J1Am>=CNne+V>T*a>a$D659d#s{JQ$nzQRLCP0pQrh( zWtZeS`zp7;I#CDL-h8;AK|eh-?3(i@&sw=&#do z2U3yzP3Qc;J<1A@9*?FJXbr1zl&X;;c|VS$WqP$~pK-XZwSZ(xWJ3=6JDC9XhAHAX z=+Pf)pMt_Iy3bY{Bfc%ZvATRL-drRKb~&|gq%CBo{ZaWXKyFrh95S*H(z)L~HTTx{ z^H%Q-EuY%+{=mTcK@P@P1WSD0AMVWD5q3YgZYBxnay>}h|I;=8&w>_3X zYyIjglT{RX^spm2FOs#u8v3yyMhL%g5h*_txji+qG74j@jvTIZrz{uv&VT&HD4q&T znF!eQcPPP3wuQ8%bt{PKEMy0d5St>BTjo6lWCkP!*P$=R zAawu8$$q`B^Jr&%2;vTw*vfnS#=EL>cQK;s!>R{k^-j_5P*!MufO~*h=kT(J=k&Mj zHQ)I6FvwCCfO=(mncGSUcO7;|U~`YRvN{iz{B&-K25~aJ=-b0Np%W`}M_X9Co7q_d z<@|Je*NS%pLu$f`qQ-J{@bWL9g-N}L;2aQ3`^i|F<}sc*-dVSZI@s3g4GHmU6ie*- zs&@ZsJyr*d+kg&#@@743vd)z*30~AH>^vTFKGgDStua{BWF4Io{kWua_=igUp|yLL zY+VMo-|szS9`7CpKI)8$483G={>l=-W|uPdO3B^;+{{r2Lo-h2EV?SIxyep3$2$w$ z8N8DtL&^nXRKN;+K7g{MsaubDos0P!(saFaeqr-=KucSjaBw&EN9bmigzE0YtxtW8 z%ki`vvo*>-RzUfF(u=H#?Y7ma_$I>vCO`%Y%_y^3L(>g9r>B00FaYvGIwG%kGCuwv zdhqZ&Ri1geLhZ8F=IB<0b1ZDQfj`qB|2eZ`8EM9(>vzaLsoQR98;JxFT2~B39yw)> zS=7!o5972h5yy0*poEiB&zw_h|GC?5&kV{)SexlkML5b+mv?{84N6{idd~WEXF|hm zqg9Fzk(h?#S_;U|gz_jqVW_p{^}*)9VV?&7B+l(@90K0q!a|*WudOWD&O6})RAHff zBqDoAlLQlh>mke1m?p21(!VO;X6vKcz1G?)KMDbjv1O{ujj!6; zq|Y7opT0B3rHfwq<~Y=oyZi|f(O~Yog_-E)slPxOt&pQ5ayMOnw8fP5y5NPa3NS2! z#i9|U_LJu_ax7uww~X8lHulon=y3ZI6+@8`v{m#+USsIhQFKlD8-QbJvPS49ru_74Lb)|hpC&M|PwhNYn zs7keyTodFknpd9#i9D<5Qqa7hVDxncl>;+9%%ja&)@qFv5J zI&kZXJGea^dCDczrFvmHUKgpsY_u`FAZChgt7)LYN!kzZK8KZBna#8m-;#{`)W@W^ zo;2bl^pk0r%ycn=jU4o8wp%q>a1n_}NfbiJfBHviLip6Mr3{<$gV$flDRqKu&G@R( z+W|EYwrDR$Dy8M#)oZ=gRCo*DlaGiyrFY^Jyf*ze+262ZNDQJsRzJb60)?^0=$({w zuOL6jfa9|bejsHut~6GXZAC-5C9{%DZK2FYCDjG5+yE%ezQa5PnVyW2=7)O<3sSqedCV76RmmZiVnNAvJVx0I#hMkzt4${>dTQ+sJ!4-ZlOg(MJ+ zxSW=W7bod*-%Arf81-1@$UvkMV>!QQ0_xyD+Hw74L(y04io>k&CPyk+l9|mSFNKCY zdTA|aV53*8`xG<9rt)u$ElNBCZ!&;1(*2HEXMeHEK%~LZL|A+?wyphP|A)qr#jTTg z3Gt{L5O1~bo~@_q^HOI!4~pXz@?OyPShnh(d%mnOyDXX++A-?LYb7$(h_yddHY3-o zd4xPF#s6wE=i+s(<|>mgdJ$j?zt+1MQCr3z4KvhHc;`d@)N4cnreK_jG3VZWYrPux z?w!(qoi*r6e;Os_v+~}%j3x&5FT@-endKYttoX2-lNI0Gvq|>fba6B>LJoGhtDH{a zpbvsz%r{|c5y@84o$=i zABZ$PO(1{n5&-=Sn_@ruhizH&=Xrz(Ce!^nkRSz%J$-OkH>`>?gJj}?=?_kcC}26`qO&#f9oJJ@J#T zGjIsdE3z$$&6RXJtvVxP;&j@ntS%|V40g*5EB0bM`)Q<61wNgx1uQPc{#{jOw^RK; z1T-#;!U_*k}HNmM({G^VXH0Zu@C^T29HWr75FyV!ZB&~X^%PBL)WZFcw#SP@_PC{7+dDF4VsaU_NN+gLa+r2e(6SL%Dftu1 zD5rU6BK|wC5w8pB)1#aB%6>Y!5n_;C^&-%`-jWjhOXu?(2~~7jjQHoWd_j~n^o^jD z>1o*cyJ|J$UI#a!=*JOUE}O`Nm};PgD?5FGnXCl(gbr0ToxDE~qzR39d+*c!a!MyK zz!(YwJQ2dpizNt>S7ac0#24fCZiIA1e=n?*EFoz;Iuxc^B>WmXrRd`=2Pp&p3z^7I z!^{BBCscBQM0i+OVYvfve6`7%7{}oNbyU9NvZZT9%VLs18->&B$HNe!DQq%Ib zB@qH-dyPxkUX-0BT+W0}Oo}jbN4E}hHVi(7=HHCDt>T9@*IJx%9={Vq=hXDRne+gHY@;#`JJ zgSfRb12>VJ=bf&aLfv0Sr}wOf(+)oZsAQf{)+Zuj0b zX1<=fYRBs~sFaPA`fqOjO((B!RqiG3P>pufTeHv zSx_G1)~7R-%T0_t{+G_-++V#yj{gKd3OVoEPhCIQ7|L=!if~A!EW64PUIFHlkoV_H z8O=Sr;h72Sx1V30ZO_+PSZIhQU)Va_@@VJ`s*wTI&bp0*SUlh+gA36Yh88^ciGG)q z=aW*rD;`|@&os-{s{G>OL#^=4Tr@+xB()0TLp{?OzSrK;3C%Am)G3YG^4(rkUz4dl zOxYjNIkr{Z3druIo1A&c3&&L5e%6(C4f5aB?1PKl={V_rQ_qy~diaJ=K=~b;U%)Q% zsNJB#F@-!Irq#KKFTkx$e_OfE+S*!mInEAPXYKwV9s-N8{o{kq16IiKLF(a@TSBwp zNq2(H(q{X`!rV+s$RR9_JkNBFtb=dXT)(7nPqTQ+y_IWtX8KzV(|UtC;@cl8C&>f2 ztq=CrvxY+dem1h$3@TJk!wI@MI4$m8yU`wcky0=LKhf9CH_G~0>Gk&EaZLyMI@eP&vgFs%Bz7YZ#8(w0AU z#rqlw``qGI|LF{+o4E?R2T4>801T}AE}3Fl+fBb)j7xn&abNqbAcK~TLA2^?*j7SG)~L1yy^8fs zCVQV@4Y{MOh15t$jgOP9-(LG4XJ@e(Q++iF z0^&A+WB_z9b{z}bq`thBkTu`Vw=*|I6;2PHMoQSdO z9F81l!Q;<-jyia-Kb5!TOPz1L%)IS|yB?Ujz2AEcSf}-;#UaaCA8M;qZ9$+c%54(W zJTcE~Min@4ax=THMMd6FvbyOC;uA8tVQONO97qzg(5FxNP*SXD6vDIxxhz< zDGhfH=&PV))X&2nR}MLgBrDdSbg8XlMBl{~Rb%(0GynL0a- zws7&Ej8n8-^$TfgYNB4N)%M+6T|eqj3D9X=TlGU3PxNgzD&lx2G+MBi1ixFF^xAxq zqS|xAM&{TBcz$+!EuuB=XYiv<%szZsUHa*);FWmWdrFODC69x+^fD(bDzMn$%{eMY zwm*Y7P_$Sl940rs^vCrK`K?1&HAhEOa~yw5nO|oFJ@9#~M0&}1K;h{M^g|ve`{IWmA|7ly{hnDl3Q>qkGF=6^jkoC-3@zYZS^a->c%`o4(;E-jLR3WUZmTmVMc-)fS+ zqd6zJh!aYkwiueKIXrj#cdPCA!OYC-9(NSoYxBJ57`ad%kr5y1*4Pg{k>E9=BWmGr z=RtQ?*3b{uC!>bWnUo(|e|P=_pNF4a)(o5-aXfBb^Yc@uyrf?1O_0R(hG`XfR~IPX zK%DsdcfpI=cKBrF(e97D>vA%$>)RMor&9e^Q>h2FKn`Z+Xm9CHYk)v}>G6<-LW4rZ z{D?1WYvj49Hp_5Yg_P1X( z%ZTlCKSJS9ZF~6VpW3lX&l~J|?cXqz0(8I^I zr!L&>yisXo%VI<=&(L1b!Dw_an+*xgHx5P1=io5c_rvrIWPk@pF{`d$=ls86!t578 z|6Iw{`V~_=)gtgtM(v#7GyKVc+-3p~l zza|FL%>)wr(S3T|uz)e#K2n`K=I(lqR5n1N%;~9mw1&D|D3g6Edn4-vCh{pziF8B$ ziR_X$angI38$iI0L@~mtvwC48`7xsc=&gO39tY~xvAoIo;h309J_D$CJ1?zA+#KIP zZ|6>>Q>XN&+tF5}Ca-Xt$;WRIIRzDD$&M7+RPC__Z?WD6i=^VlQ0B_NZ^d60drzSM zT`J7EQ*@s`uztScS=|w5YY0oQ{o825IeF*Tv<4eSNNNm;@guc=zx;S90qD=VozX|R>S<8OUIw7VW z#LKwpAYIn7+JhKF4{-rhn5Qc%dim`kuC`s&cVm0cWUo`Li(%9R5`W(NA@qgZ1>XXf z5}G9)3@jvI9N$M)$jYGncW|=rqx9wT3*uo5LvUa62}}46z27a|!R4HT@I9*&NK0Ib z3kFx{3KBuCdt8vna>5BJS55z^$d6=FJB4beG58jseT|WHBcHC7B8nP| z@Dzw>_>l<#L6_em$)pSuE9dxMb1Buv^M3651dl;?%W6Um{1go=YYB$rC`=;Ebv>-i zAm--Z(@h>?1}tSopX8t<@rZuuR1^wqOV)f^P!lOc3KzA2Lj4v{4NlhqOEy^^)b66< zYzwPbgpAsti4$w{WA`!3=C4cn_W{>m$@}4f-ymXoAr52}i;!rQSQ=&NE}S6U0DT z>H;tLPDs!LFLnib%zE9H2p^MAAp|luG{_>nAVHX={R06JYu1keEH2PjpbC_l1NWCn zZgi0>ZEx{NM@#y9%xFF1B+%}p zK;}L4IFPzrEa7-h0Oi@`?`JG;%yTs*8D%v_x}PH!c8?+EdJGkS!|OmUOt&RScxNW_ z6(ExpL1N^|@apNx;ERWjTsKk95g3-z^AmZwt|FHExHd=t8KxMyhF$Yue9H+OGUG#O z2c2HO1W`7eSQyGAY|o@)Q($UCnGi`cr@na5`)U>%yHDJ0yOfY(3NU} zc;f^{(aX1bz>Q4Uc*KXM-n)~cfQkPFBa^hicg*M$=$i1GO&=w2N?hlP`w%%%IgN1Y zB-*FBJun1Hlt4VV2Z*Rgq~yAs>ng#PZtU7C+W4`4m=ot&;c za*;Xm_(s;5i>G1yyxPp8eQ6ffocoZ_rWp!4sXy{zXsJJh56K4!q}tbtA;7su@+MGK zv>AdBOINGkZBLQky;_OLVgNmDbL>h>Yw?RblIqj9mB^`^(Jrs`Mxo}^k*};}Kdl?L zdjP$J3PU_zo%w@yxjGJsvhpn%eVfksC?W_2WMZfh@`BqDt&HN#g-o~><9QZP^2!RO z$z~B90ww8~;}T7k^n(d`t+Dtc?U)>p&5Qa}h%jp1g~(5*_L3?9tKn zxbC`P{k9g-4u|AD1m^hDoG=6F!BC$5SM{8}7mA`BXE`OG;_}XzgG#~J7M zJ*v_FcAcHjWa_)V)45clF>>E)0pR2)fhE*9!(7hrn&thhJjW+k&tseh=G33NI5us` zj7lMn_hXDJ2w~4dr0@9q2!E$piP%gt1E!z5~L~Rhbo|_^nTWyWZB=PtV+tS-H8uXqfO$|BO}{ z>X?ph4C=he{WCWlp$CUOup8&h-SAkQQgwY)X*G7O_%nS3lQ5_LjztRQMgV zDZ@W~R_O6Jey)DL1So~K29M2jdExf=cY3*y$cSst5*g7~;CeC-RNeCJCA5gGb64<~>T zBUm@O)#?udp_C#_-zFe=2yAxAsGn}OV_`f7k@Zf0{%+Y(&RUpzcph_0B>pv{qp??q z)3+AVbb7n{VE6a$SUso=w;10@VfhG#OOLmCDqkP{sMs`8K64|**(|3Ldbunk-!XBM zGQ*K}l_{oOVQt3g4WQgJYfCn_e|M;c|L#r;AYeGpdSU{cj*p$Xx4X_BY@O*g$_D5{ zkaP6DU%=eZOyjVu(0#YgK0Ma5w;YW+-6~liez3de<#qHwmG3uO8HmF&_TH^ntqR8M zmsix^%f`At2ve_KPAvo)hZM9G-s( z9-yau)wHcW_Ar~#7&zB4Dx2@gIblUd>y~t%iIsW(^>}Vr%g3VtP+0GbXG5b?tjEHl zCJmQCUck_q7(M<~QaHZ7YufjV z2_%-zz}(uWh`r9%)$Bn=o2vZZ#*{V9<<<3;Pz8mG5WNS(KjunH8`~blcyES-q4{G_q8mociv=2g6sI) zf*x?5dhM<0QNu-$T?gxXJHa!rz7u2KO@&a+*~g9ruiRX9e@$qoxZuuAV`gzhd<%6tT-e(3n+_!SdHj-T=y zc=exgnC+3v=2vQMsF9vbr|{V!keS|CQ-jpAF)qP1xFV`W)QmgNtAozZedu*uUAF0B z3)ZH3^1np5$3hJAy#o1>=K~`2zr#;`XLQgCX3glE=^oW1Cy-S7mqmjIL~>{g&gP9{ z#(fazTj-4F-4|XL*JPlEp!h~itPD-DHly9 zie2e2^!)kR2lW)+VixuX-X+=Pf7-8xioH?K5dJT)fjlk^c)+a|-xNWxFp_St*h|lu z$pGwPHbF_G60SY9KdZZ%0C>0z7dR|dLQ`-jQ%oSquFTM1#>n8gWU-$Ir*r1{n$+Od zSBo3lLA0-1ahvnI4pD!8-Bh#q)~n`qbXZK>vY~%*{-+&Ig>WbMZ1harM#zTVh_8Uo zj!r&rlU-+edQ_rTj2e0BMzm9vAM@rz#q8SP9sKz2uv(e=1<0>vX{NSwmC^q0BH*KK zXT~-yKKnfj6khDg3chzHlnhFoDtnmtVfv5F-S*#&-@a3@4fyWc9{?Kb@@RJvi=5d} zU>PXOU!Trcnk5|K^b19PxJf_lCllQn#A?x*B(mmWFg_zqWjy_h>f^*-0mmA~kHMJa zpC^2AmQsJYvmpka`qgR7z5TL;hwT6f=l6E(S;|#wcBE;w?_VGp6`uB14^}Syz^ia5 z>UQ5m_gT&`R{zYgiZ{(ISL5N&70LD=xbU4`ms+fpQDTe~1$b5M&My|8i{~zsxYTTI z{uuW+$_DaM4|Fa}K+fL{5IyXl)gLKU9%j46C9?XOrxLzT?S~n@BBd{{H%fbXl@aF* z+%{&{X7@_cchbv)(qI0)6=w-i_yRbHgQnGb;sE{j%EeOp!uq~T>&@HIN~N76_w7DQ z#rO1FN{CB+351_$I(wCqrBS6YsP21_Ci&3YiA$ss3M}0oaVsXasDLa6YDDP#DSfMX zp+1A&;Pn7tA$fTh+6}sjy$zCb`W2=}8m~Qk%|ziv$BB-7IE~L(tZ0@&1hTuIHu`37 zxp(z+waT^riAx`4WF-Gx&ONFZMcfrr--1Lzj!*hjb@dR@b8WEYadqDkyt0hmD~E#EG&U{ z``T;7qXqc<9{`wgSB@;{Y`XGB-PD!y2-89hvU6 z_ySaDwN0>lXdQe@-OlQ;u_g3E5aC^vM?CdoJtRfj?s!NG6&r=WsRHv*0!TE~3-5(W z8(JpByhTv9#D+}??}_+x)N3>(vPx%1LD5x)g%!~FP>J0sNC{wH1n6J-ivFF`m4Y?& zG0qWQg{P-hiNgW-Nfegq?4#w{(bCFNq?)`Wal<+YC~I~li5U7G*m7$d2&H0AGD{Z z1j)~-jI;sRzF_q_9CcFa_-@AoEzmi+sCuZq@fg9 zQl?d80Q^xZQh*AFp_ed7K@;@_(m9t7+b1r;c!*fOWRcYnoHEp#Z#AUB7bL7M^28pc zeV;oc zq^mAz+d-k0PquSR72!CtAP9@yQAL4MPC?qH8Thzg@FMVY)wKxEK0Wvv-; zDj5|R8vN}ENPe7(nF75auWN(%7a;t|qR};3nOE87BBF;D1gqs`3f04|y~Jo9QYDHi z36+@8X`10<_BCRSiygem1n-pY)qEx^k4Nkq(OHRX(J0GkdrALhZKnK8&WTSv!m#w& zF9TZ*K87~97obl#yci$WA2Zy1sWV83e+_#m0!+Ps0BS9Ut;YdS8^oAg0OZr|BF1}9 zm3YLmyt#nswD3HwjrRWgfKJx4!(}KWoRa5gts`$+zgFrM=xaNQ{KM1rCyZ2{5nx~f60%9T}=Xpd)#2CpB_?^VA z0{jeL%VRIhSpn{U5bS|4$6$@@`+xu91&*#s_U-ps&XUWp07FlR22xRA*7FFQ5I}5gFc%d$r2g1mj`LhK{GKHkOBIF~&re5njtuLM z(n8Uae2Q-PCNsCTlYAn4K%m=lc{}0A2-Fw)#{DjovNY$nEagqj3D1NCK7Cc68?d>= zXJY{}gDH7unMmS|5ehz~sG6pm-~XAvQT0*nnv}n)PI|=T&lJK^qg;|1kXAw|!rH=A zUP+nu%2zQ-?G`wKjx3l5N27+5lz7#NUtIBz$$XYQHy`l;E1n6=Esr=wNwCsAj1q*2 zQU#7KAy@tUZ_Gp?al9mA`%0=U2W8B4C78>xSmc1{{U!6pH z-Cce3WwPI0D3`a0)bm<^%OWl1UX7&kWGKlB-jPcy_IZ<-IDRzV3Imn93e5u&7H@Z) zkHuGQX=YbA(VPUeX;2exo1nZL8X?irX{~PO$RpdR;SWpIKpmkH5HQd+{OsQl3qu8R z{zZkwVFrUZKJIj@8-vVb?_DGkn(Pu>UR!`I=ANqyE}_f9PKs3k@Imxk&9S*Hj0wO? z6v$|Pi@#a$N{yQ-q;pvz^^S?7b;G-~r>A;L$`{wE+E27vbUKJbcK7W*YE$X9R()i| z*sFT`p~|3ARE7kShUbEKuP;gAzs5b^w6`y^MqIJ7M+hNL%aJH+xAa$9Ix(4%Epk>I zO$WcCB*(u~3hXxVC!(J&cHnLtE#K7iI$0xkL88m6Piz5ByIUEoJ9 z2OpmNX#Z7TWy#l*^LHU?Rmu^v(RuCY5_btQkM>D>rQ`>@%<8}_ak)#~biBVdP?3y{z4PPm;`|na$b^dx4MxE2&>yJFd%jU(`PPysuA-{ z*e4IPO$)medF^j=DcN=}{Ld{9+Zm}1`m|Y-erTUJX5S2UsA_3C*px{O{ufuLnRn&> z%=7pUbYV(ZY&@;~sLM>yNaC(tVu-1uh+F1Ji2kD*k@b~zz!iLq7IZdvU1nt+Xt%_* z8C!6r*xjre2b9dwL4sz#L32D+!FX&~U(M6P)VWxZ$Q5S^DO*U^j_#D~0bBUhG-w*u zeK3ZW4-J*F`%Y=bpvf&kx@Ya+OpK<43ONv;Cx*}8tK3LUjE%j7R}yqK-Tyrd#6Ha7 ztiLd3Bo*%T>Z7H2)-`;JpMHH#=EVEYk+ILv0j3Z3b-_tR9FE(-`j z=hhGkl+bTzOM8_f@#QptI%5ALu1J;fGv3%3mg=BCKa#YUa3qDZB^}mGTg048+BJ|F z)HykB(4JIXa*7Gt{7B&p0d5Q7*phW z_?K1l)KB)xauhBH_0{di@RsHlxWeK`R@?Tivy{=OjX1sC-+z4Fy9nqfg#*>#gqTYy zP%qnX43Vb6-aAjxJFAKh%GVSU_vVp@U4H|o`~^nY9g0!h=1NIAvsfl!bF1FS(2J=( zNMB-i2WK=*zO+z)tz2Z62j5&>$>wec8|`j}Nf9Lg>O3lbX5DmWWiP%Jr^eWfH9X^) z4b5LPuta4Cf5wujc_o!98j1UVw&oYV02J2;!%po6pH{Ebk{~(Xw9Ly!|sF5lsSrVHO-3oa-vwl(+%D&$00aS}px$I;TfLVOai`?+!s?ETc& zhu#t;IIF2DTctkgc&`C;%JP%G3Rv*BFNUb`Eg61UCV2x|sZVWsH)NrS{_y#Sts2&S z7cH7zvggNI_$peMlu9Tw>`ECLh=c%XQU6!V%WqpY8y%Qzy1#uteFZx_N9V20ifQPz8IV z6Igdfk^1b6E~RSdAbW0ybC>7Nkhd8dMqA2+4%?3AX`!>c7hl{-$#%)gsPSt1IhLH8R9<+}Y26D)alMU1}E6y#OIGOZf_hce@5ExWS9-@J0pTYAqM$KCu+f_{m7p7Jev12_|mPa5`&0K@m1PQ(>@qQu$H zpDm#sE>?UaA<;dFT)$e9L8%YthP%KRW-bLmB6H(vWEH4n8Y1 zGZRDwcQ&FezA1i#9eq6n&0LGKe7DMO3C6t6&oaj^SH|qLv4uTeFNR2y15Mxc zJg-RH*I#^qDE~;GiaEr5A4(h>P zxuKsg(U_FbV^VFDkZ|VM@y*Tkn?MqFn%1gT571AR85E)~QV!&f3)ZF1%C)UTudFTi zz9~s{=9_bRy%vHQn;U^5y|E!p*x=w5!%ID$PiA^z#F-c-kbI5XIX2UuUuM{CJx2~T zA69f!51$I$+nnuQUe@+Z-f+(3>Zx$Ez(I3oSA*NXt%V((`+6#va0vE!e|EaBb1+0| zPp|A)y}2M|*_A7N6H#4ZRx0LT`tDN6a5K0ZA5^5F zYAGOWJr>ElnDlFYaqE@=2X$xo8Lq=)XLEmgXK>K7YF_gZrFv!^f7}IZwBuArdXsrW zi!*hJSz1(*MgjZ3uSl}l$I)13hdON=TBRk)hX98exs98VvnsFnGQ#<#u+FFqFT zQ(PGyq_l1Rudz}JU6opE)J@~oq%XWme|O63e!#D_X=)xo{O69>4`b8%k@uF_9z8g# zEUtlW{Hee#IZSR!gf*xEu!wMC8M-&fNah7EjS1@WC z5W|4JQ4uiM2{W?tb7%GIWMMvI?-f|l6KGT(s5Nt#hd~XKwL|zSUX2<^nWro&1MM@v6(V))KOZXS8=>_5u)&Tf92@*R*N+xZGs-=D(m)`;JQ9q=63J zLX;mumKRdjqG9&b`nRaJtzj-<`B|>*sV{nJ*uQQcb!@WU)z?QUzHA zs}b2;9_YR2+xoX{B}JjRUd(w-grd%=a_5@MnA3+)d59Y~gHyUQRZ}eZ6Q@;6ANcpw zUDp-~gyHF0a&;l zqBcs)qIWT3?0zfKzv_hSLO(dbiM0U~QnRf*FL7SBSLj@QJxM7(qAq(k=nT$12{<A`wBuof*b_N%+Q)P;If7t2z@X5SkZkZ%NkIWpWi)D~^O0x@0eT*i zV&52|f^iT*&ek0td2xG;9HPSa{`>b!#2;B6gZEHC{#p!Oy|x8{oc7`SqG=1~o3ESL z4%0)5FTbUb+MJ;I&4(*;@OZicHGlGDan!#7)O-}mf(JCh+I~sH)hGK&`yV1Wb`&R~ zEPb+==DeD`mJUS#Oy+*jr?0F+#`5$T0VLd+4`Md0fWRsC?I9`=HVS5b-*6q`nnY3&k3hMmoVo*b68>L`&MCh(LAS(u+2^)HMLdcj zuO<0_nae2!!8?!o@cm{_t)PkJyAOT=?vJ&nbW}G*RDA?YJ26L>M+NV?NuV5Or`g2hpz;iU5tYP{|l7<|?yP^O}IBt@ULn@Cm?D z#YgOsJRm4E7u4o?#YFB$$Cy;#2!sy;3zdutjIe^3G zN8>STR}xlZh>Ri09DXrDK@AO2K^}|z zcROy1%{H!%BkzvOx%gEfaS#|;K9%=s$Km!vnB$Ke$27=GCXDpAQKb_#1=0vGY>=?7 zt7{&p>Wp&)Grzm`e3QtLyp!r=oMDCl*JgF-hbI~#&L!!%cpYaUReSgRM3AC#hjeYM zERfYPMLt>fIRDetPHBqydGd7^%~F!CxdS^9PO2y!08(S--aY{m>IYvg$pK&?G%-30j(xP@6%CZiyQCio(MY>zTSbo;`9;bW=ij_yc@M4~zo*4R;Q^{zyor`EsaZ*Bg zAN@@E&Yz^YJ|(W0VgZ+YN}qriWWH=`nfPHEVY~ILvhc*a>1BNQ13u~TIgVZZ$m0}M za8y7mn|hd}M#+;yewZ=p-dkb!0xsY5O3skb$cTB4jQ@jIfxZ>;l!zfyQPAHhYbLhws_zZqQ4I8zGoNcGg0nye`1VHv~y-M;LZgL@58ou|bwUhrHv z5jF->ezy_7cFnk>F1A>^vOxWDYty13V|J3oGqkPr`pS&D-&I0J*k ztv}ps-d`*0-OE$lHT5!2&oV=uslbny%l3X!8@ht1lc@VTv_8MutS@4B%f<#N!)prQ znNOd0?ST3VKo3cj1in>)Rq^=2Zvd^D7<(|?3LN3=j1qQ#uQ}Sj7>qo6MArV5%>M4& zU{AdJz}q&+g@lAlUC&9D9n*d665UnPc?yLAMDq{34gB3)t54htJ{Vm4rC)!)Wpr=v zbWkye^6=zBoE~kij{j)M=>B>_Q+pGQ4ct{_G=F%vN><+7v}-cL!ZOOGO=&TKxIig?1AmlVnn<0Qyj^mrXVaX z#4oj7Jz6Zd|07Ou2+)W~Edw0uGIn+H)u(~1)-i;iK zzT3o`2AIAhf&f5dV<524ma6vbj&niouW$66zIih-CdNJP{ChVDo)Pw_Ju{(m6tJNf z+s~F%0w~grJ(q`D^IWceEOcV7b8umFWq2*s${8s$aNp(ka^K!)6nB5LWWI645ff+2 zx0Al}Qa#;1qoccN%Cg#2m49jfW-#f|LQE-3`lY7rux}tCVQ2HhMOE@!G#g&xqvvId zv6{Jfy`Qo5nDkMb<}f51HTIW{x97cA@BFTQ9QavE!)-3$?&W_>SI8HHOpc(y3MX!dKHzF;1!|Js{7bci%&1-|$6A3qT2C2Q{E;J0|WlZZg$ zA)&p>nV@u=nJZ7jv#2;cuoL(DbfXmsTZpv*E_1#liqr7)UcCS5>ti?!^DmHuFwe$F z*)TK8BiSuM)E_&xma{CVb+<+f7N`|k!Q#N2P;1yZlpti_XMC~CDr@ui;$^4uil>TF z=X6UdPfw}U1A89;!vFnr?O!hUzSkUMSkERwB5ibKVPV}ItK+H4ES&ZmCJO~|_m@j- z7!ptKm?_fLCH#vkRYsP?Kws8oM>}Y)YBO;EEC)pV?xse8a>`JH$YZTacEsE*2NZfz zXjI*9c=j*YqW4zpB@uOITy#_XbN0OW(~a734n2Sc_xJKNQhE`*vL0PBsyU9!n34)g zIkreq8_)l<*SFVLm-mGYoO=@wXp0fEyWGJtuVeqzO-QIXIJ}^psf^j%Fgmyg@4CJ5 zp(RKNK7c>~7cEJ8r(`ix&dCSgf(Gx7?&t=uwq}>KoZsf!mF;gF%z3FfYF9!5DxbQZ zPuM7NF|3<(K?cJ*p9VcyPIr;#TUkHtA32I;19lygei5J)6|~gSNzMJbHoH6=GxYJG zFL)+vaQK*!Ax{mqh$j`=WqluagLQHEx%Hfw_j-HU5)^fw7jlok0hjeY79IbF-k*#? z8mzY3ERFaDq`VwVFG<{@?3646w94_J4>2CB$e>PhOR20IS;lpoH6aUg>?;uTSl8!O zeG_e)rRJ2OBnA77${<3)*z4kl@*je9fe`1U} zSA3{)FiBsVw{1-H8zB(#v`^g$)WYlZzOCl0dkk&7to^_L@BzR3AlCsLm~NvwBLAka zP*5xJ*2c;-`@egylNbh`16HclGeSau7%pQmPJfUPcGYPl+v;Kto5~_J~wUJW%7IGI> z*mw90x(vp-g~<2j6cP~Ts@>SD^nb}+3)}sTX1)J-9okN0`6y= zn$cO_+e>I#4PFUG&7F#SXz zO|-W4t>R|$l+fwvi|mrqFTVMgQ3`jHHM?UHXKn<`U2R<=Ym^xosm*Pz`LX}K`~^U2 zAmFWCu*T!d#z+CkvkGYg@y|E5uNgHnOO0gYo0iyxLk6Qd-=rLCsr^#{TvpHCv&z_w z1>l28;hYw;NyaEX_L32PxJ?n(v-c~31y9r;A0Ny!tYLGoW1#Zl`KZ=kwv+%Po ztfUz0GCHqDS0rqNmUJL=aK&Xf@+G>Kz*UUFayhWl{lMvjD>}(|DjJgam_WnYM-m`bK zg-oEBBE>e@d4MLi@RZ7Rl~)mXEU5sgz5w_me1$CUpauwe$C50NyxxC2kND;n$Tz>M z#HOIYNl6XYpGL4YPTcY+Sd0)&a-AU$R8+h-bu8L@ZcWj0iULrB72+N{OP-jHs5|+| z2#e}xVPi$@f-oKvcOTM2rudhk$l_C=0`wJsGJ#)@`6=>D1=`94CSj}y%R!D*hVG5p zN~wV4bG%$>&Zp1dOrQh}loC%>g%g@W@)?6{lInNJP@pl0edI4*K~RRJPg+4R3}v`n zxu*Wk2YS#NWRQU40X!t8Uvt`A5aI~gLmUKXNYaNI{vanyBQM3SAq0vTi+to?KA|qu z5;T_Xv;M-3y`qa;QXhRY$Q$|Bu&#FUyedxM9#~YAU*L(fn2U?~-HL?oN=aoL@rNyy ztG7AQ0>8OgLLCjrYVJG&RBT42i}9A{@Cso z+VG=b?KxuXJsP&SWhukrw2GziJi5kM5g4CSL?C=UwD$^~%SWEcP_`o07;%>v__@MU zY5*L);#){-HvCm+DDv*(Leyp1Cy}0Y8l#o-O#u!QA(DVXUFN9aNx6sE{GNJUs+rKWrW=qiwkwntc zV(9eU1A{VNOZa5@(uNyl5AlYK!Y`<9Nm)Wu0Y!#`va_YLk`=W5rLTM2bqL=#@m;`r zeL7E*SVI_t4w48bF-meGf(QtiFG++~RssipgRZS;90&wzH7F!jTQCnL@${*e6%vs{ z5J$FfMxQt|FPO+t(GlbqiZ(K zDk_z?hY1{^d{DsQ-(cd7W=zuYOdv^j*A8Y;o%IfZGsCdx3opURRsH?+z@U^INL|vW z=rfkqFilPPq;RQoCOAJ2h*m|lT)Tc)8>tbVA##7bg^9Rz2w} zMb2X{GvVp^O5tOY{1<63_&CF<$Wl-&u$U?G5H$om$0sE&zkX5QE8mPl2qYIDfml)t zB+Pphd=wEii6Z$%_-|X9>IT!q~!);}(87Q)h=@DaewLLzusIwv_A7 z!>Odg?Y`CikTXicM(WjXS@%b&x$(yILh?C z?H&4mGM*1E^a}Ci(`^ z#CU{jl#6rs4{%M6>e;;y30I?5y-)5OS-_N8$i0^RV&dPn6~wZ+&+F2NEf)K_HGc!2 zk2D=Rf674-_EC8HZ5L^ReMp#$@(^|(;Dc0P z`JgmeLr-G0`nfFzKkB@SqHkwj>&BI71zB5Y)B6T*3_>s4WyuVz(-iG?Un5Pa)h4{d zS}mRN^{&?fwj1daHt&RkW%*sLps|*M{Hcg9!16(dLLqv^OPJ)mGe^D${>6F}XNEjy zx{>hgdi1Px%MQEpiU2nLdTWJ~ueh)5IYmWR(yLQDiji#QJp2$DkI*H#;?o%?uhRd9_>mjauP3 zk=54PIii}(!F(A`@QI5`N)^-wptjZVS2M2z?%Y-Qc!K^at7P<<4a8SQ>(0ffqVqD9 zvr!*<+Kak?w){$%eBE+F_{NIxLPRT;s&K!Auq^lVdpeNG*`#LZgV*IVm`KHCG)|q(j@@k?fx?O}lR>yq1VNh56(XMhy>%NzvQTC(6 z{jkm5UqV$G@_|3oP8K~XQ!|QB=y+f?8W9ioGK?RP?%4s_Uk#>vx-75V$@`qhU2pB#>(=?b`)hH2mK&V7xdJc>!F*N0pL?pI*(25sFRDvC(YttHEv&sC`gtXKX|yB60a?df;{Meh z^I;t$huQuNbN4=veJTBd9N%<4oBH0^viVO)yEGB1u_fU!G)SByQcmHv_5Q1gNKE_( zY^SD%dSk<$3DTwJl{y6Zq*QqI#KAHC)xNBjS{e|TAng8{$96xcz4pDs-0EZG=<;a7 zC83l!Nwqocd@z)$m;Kr~;5hP8sq4##0SQ#L3;;325*!rFF7w_x*k2i4_OM6rI+xK8Q3|U@;z~P-ror&c)~}& z)D9oi5?`j37;Bi20PloqAj^NPM9s9EzudH^m z1O$iwKd#O^8mb5U|3fNU8I!W)6C+c`PSz3{%ZITx*2W-2pD~SX?Aa1gme4S^k{GfK zS%w%(C1g)BQ>G#7BxEQ1?|#qkoZmUW?_bVwoH=u6u6ytEJn!fA8VTYd-_rmL^qk0= znJ470h4anyl3$rK%!AzlR_e?ALH5WD=(7w<4B&vF6vu(#B@R*Eei*Ksn$EZF+~^Vl z69!e1uS#GN-b6(LEiRWP^-a@j%Phi4T@aChP=pDU-$;OEp#{ySHt5Q$osDsu&rGfeDi?sJ! zdu{-C>$fo=gqfWtbopQr~?FbR{GX=gz;|T?sr` z3tS}!S5TLd({=+}E+`4p{^&-8n)T^K9oFX;G*(ni1XpsUDP(5nnE41Pj?6@)W@gzA zlGc|7c9#+w?^t9ntg=@(=KK2*!w`~^QbNakF2=Sj){2`evurMJj|qGxee<6_rhG|o z)q_k92rSoSu#4`8YGFv8koxg7`3T^S@y(MX?2hQaPusMaOgLo@uiUG-cA+ctxTUSR^L1Z*~a>IP?G*A{Y+Q6>B~{Q=%^NqbL!@- zAEsK=64+_qG~}cS5xOync`Ok3bY}vN{^4zyWm1s{l+oE_9z$tvYClicOu-Ae znf3^Ox)rB=UALt;8Ht0PntO{-eE*aXshjc&TI1c!0-E%H`-WcmL0$q+K3j0W%lvoR zO2FrZnL>p{$Puvnl6Ssd=!&%<5^LJ!9I#f6kO)2UnW*OXw9GE7T%ZoF=|IDqH0&8g*L`1pl!qU2GW}Ye>l+>V%s}UG zEg-B#ABO+vHBs#w{yAHY;pic&2&>XB`CHRz_Gx-ZZVg zT!q!!>=_moaf#xvcM8-wOk?A82Rs$kRd~wwy6)}HRV{DJ{S449xM{|uy7_BgdMs^< z#q)^Tl&kxWPb`m5T;Tx!N6GTcDJjE``P6*@aHqrnvKpIfDy8|#-&GI9OwWp4W|*kE zcA=Y?mDWA|osPKXEDo?fZy^zaYWBaXt4jhWs|44f=y82PS6wrQo%QlvPOG22VT+7p zp+4z)0}z9C9RdXnKat()@qpzWpNPTX&T9_*2{eU@;_wrS??WPei_vqp(!i)LacWxg zyFi_tbw>{XD@i=?DQY%$Ofgg^{o1eXN8_&4bAN)KWlvAl+xChTyaIE|GKeV}FO3xA zL776m*(J-ebwo&xnYq3Q!bBTNScB56BWwY3K!!kmt=iaza}_MyDh76`A}ASJd?$Gj zn&of$?23hrU;wxJEb7VVi2ze5kOHuOZ3rXMxhcrOUNP$LVs)U;7nrIICs(RV8fDtT zc0@E5f>sLsJYjLfJ}p5(sSI#4&O~l>tOSSaRTq}x;MOLKpUx^1k6w}~NGe*8%~4zjlH zHI;1Y6Y;tX;<5I&KsJj%HVHa+z5}x!W~pmJj=`OIy_!k;J|FYuuLtMj^dULDeaq5=aJ#=1_rnvJ6K+FD(d=2iQ87dFFnT;~?3R~qQ( znBnpgV7sR;2m-w;kyrSviyO9A<=WL_b%mH4S!o6ajqeFbflP{UltJw>+eWdL5Ez@G zX6NV9MtA3}t+-)I&9CnKm#Ky@^YQ}Sn9_0i7iaDzP}6d($i$10B`lYxWh*>&Ug$r*CEcxNCU z(8A1O0tWeSqj7m9^Lt2Z8$~z|?r`k3b?-u(nkuktA_)1g5UeHn&Q(t+CiWNA9|Cf@ z9s%>@jQdbcEj}VYTxnmCEt67kUH67whP)DOcDVN3TkQ%%Tb`k!IS15Xo}QVMv{=xnxjIQ&xT=I7ZMEiRuNr4KxwUGanpP&SWB_+*9Ff z`Qse7XFq^q6HPL})k#_)NiLoniMB{nl?1R0K=rpl787fq;0CnM+#IR5cY+h?S=_~_ zCLs{m5Cw;G31Z1)q5l3ASw%1C>vQK2CgemJHm0|tU+nGIe8Q|$yty{$O$O>bVAy_D zG9NHl-FTIkl>cgfh=%3j?(afFEe4yUM3~$kfWrL-pDE(+&!ePy*{;My3#Q~NV(nM= zkTrjzOBYcQzIjW~3C3M6Wr27jRS>bpAq(P#30=7_LA5Wz<^n5)aF_wN z_9X-_(Cl?>oT$X-mSmy?pM;^~RAf8{d4MlJ4lGR+Dqm{O&LC8MBob1!p%9+f55xaf z*_i-Mp}4SHh!toT5k(n|mmwx=pDC0iR@c^`TDBdVX3P_vN8nJZHMfj(CMv+wIHvd0 zOR5I&$MuH`s#)7EI6Q4DNU`qsNg4H0BJv!{oBTuPS>$BoMTm&?wFWPlBwC!o+{XKwOW z`Q1b*EAxUNGLMUm!PEc`u{&-l3fjlnD8;j3k8i-6SogSBs7E#W$6*M5{<9Cp+wR-Q zIgRieFhmXlw8X81y)eFvlBL|>G_>%b1&&sQP3g3KqsqYxr3Enro(si&jJ3X{z*PuY zQkK4Bi=b+-%@LKm@3#)JKcIT&uMYX#!ZYZQhQk=^%wVDgXGgod$qpwBR>axAL79Z#R4T5)Oyn(brNi2oT90| zI+~*g8-T_MNtrbdUOD>?6Pc(YyzJo_VIfxKOShP)Zdjm;S-v+>1=MAtJ>)5O^s zJ#doaOX0jS){My8GKsly~c?Y_spV1?Y1F9C|Cx3cV zdZPX$aAXFNs9x~n6?n4UC;pl(F>Ek^EQK9X-zjgjWzjFK78tI zQl^dc!Q*unx0b@yhX$3Ra)seH#f)!8{T%>EA+6Ejp&TUxwo9XEc|I`K1oH}GfL~?1aF7uziFh-CZR^WT=qky^~I{bsQ}A-mJU+pQ&_8WX+~9P z%}4WW>(6<>Og(aMF8J5!rv<X1vCw&^0U@bu|WyN*t(&j+zQp{T=BJw6U#4d3ZI zehy~AD66qxRyVhW^oi^TX#ZpGLBu0^bi+J^=5*S1Xni+t48OYP+raW>oN~Hk(Hz$1 zGT3dFTa@0+3M{Xw`Jkj1jcK7p*WKS6XmeF(9t;MuX4a|;UJTjr*CaoCCKJs12^81Y z3sQk&6Bd%4b2q}X5JC1-VIV{L!uu@D8Ax9%ST=Hk}Kx`~NppJ1TB zL}Pl5Hm0x^HF~{011tIm2IyNULhh|&YLO10shK;kwJ!k@AfFJ_F~Y4uvkKy!p|J1c z_wIO%uN%TL!1YTqqhHK8&iy=~{71QddKHte$fho1{F1^rnd2 z2FLEJ^4+;OvpK&4Xg8mMZh;Jt34J}6edz{2c{w#7T8zhs-7^QOn8}@4Lxc#$#sn#Y zAE@o`i^zgx5*=@;dI`I}u*@)VI)extZ)~8ZTxiy4z6GAkmFw_sbfAy9Ec-AzN(?wZ z$03OsX53PjOod);YsY2*3bQ)>jp@ZMQ@a-0cY(ao+P44~+5d6Sgs8HD(A*DU1$ODWd&USQCp zVj}oUeQ3x(!jj*E@W@p^orG+M3OsY`mES~g9+TGHF*&)K1PQp#-`%mgGw<0t&RqnY z3DZHQn8!Z@wZ5Vg+JN!?&W=_Jf$~EDz+g1BwmxTnzwb-iQU!bmeWAHsBb#}??M;yc zX4U=WhlIkL=vRKzB0tvt3=EVvR@gO)X;?62QlwWVCszWsIBP!}Gu!BpAK$8*_h?R4 z5jy$K@^*QglH^2ae)Y4wAECMviw!BGN^H`4=y4$c>T`N9`sgrkJ7k+o^gOM?3kraD zLE>MrJ0`;~v_4(0%^xgfv)P?W`Wq{MH&)hSi>vDPHc77WDC@qR*_HOggd=66@gHq4 ztn*4p2mo6dmw}=j|14`vL>=K7)b2iYTXFjN8_LdI{`sP-I!e$vw^p+py~wcrwZ9N| zXWx(qZu$E=T61W*ubbhlpuAs5MzE%)rbl4uH2EUUsk->5W31V6vWa#nrv6<+4Wgo# zoW-3lM@oxT^%@O2+Fd@{iqJ~aN4Vu(y7H7UKR@Z;ItHW_Hs(X^d&esi3aMtv0F!|h zqWMrAb$f!EFx{lu*x*b#;kM$})RONdoN+rXwz#3BMl#gjXB4;+5)?62HryOMm0HPS3*#Sm{X-5q^yb-y1>uCDrtmSRv|`52L_>swxlecGL2vg8j!o6m%#^gL&=w)#_oaEG zzYh``pE>Eai|0jINOxlekwKB|XkUj4H`+MGfeCicZq;*DN8R0+V(m>th-{rNmaRWn zTj-0}#Ou|kD5?;%xtk2?=j!)+$d!E+`Etkqi_){gbf$KC}Uq#2!%(efy%?ap!P}1w7;U=8+cu2I!pW>zm9iftmZX z^>_WMsx!Dt5bsd+W`cU%zQGH{IJN9679c28~0*?n{ z)o8M`6nykQY-UE&%tAy?mi9*gV=s2FsdZgf99eE~MZc##YA0}G&~bzp26j~>$-)D! z|D)91U1Vp$pgJ>>r)Q_F^h$<3jIe>on_013?xVnL-Tnq7XRdF`hLTgW7JmKSIKP?W z1-;gpv~)gBJ_J)O*zv6Kjn~Ys%*9A4cc!fHe&F-ec3qr(%)JC)A2`@_JuJs;s{Z3b zSRlOGzCw&w>db?4vZ>gst~CM7KsY;Bbr$ji!RaAelf~O2fAMQ2z7D-yuL8?lti9dR zl8;K3o_TZ240jKwpPuw*<*#AvmhT_aCvV=a_uY^UB81qOYPEmO$ZPxF^1Uvuqwk`v zB5Z&$tYM+KArn_Wrp-2xq!8(6Z^-5#&mq@vVm$E~-WR$z!&{qLSK*3->XD?TMdnb)CSUtH;@r4w^%t&sZmq+#!cS&zw0Fp9%6ELhi(% zwm`!Gv;p}{$mG>mz!U3+j$Q9UkEpX3jMBg{Cpui6AH{FrQ!Zy1o znyus=G+>#l;qe%kzE9jW%X_^ToDtOB^!-WB`mWClL6L*b3{yC3@%I!g1FOI>2R;tQ z?(7PfaX&ywA_l+jNoGm|r3nBLtB}5F_W1o34nghZID6nJ@qYI^3kDo&rl5GDC@5Kw zgGyJ7^L)V}$bmF}_w)IXc4vMAlVXbkW68*Vv>e5jK`p^GeVq?|)Qiq*SU_;Ur~PcT zzsk5eL{K0Tdt*&Z^O3Q82@XbI7eOHsu9Xz?pce8nm{0f>#w^s*ZD@5e^XWpxW1oKb&s9Js7T33p>2LX;U5!R6mZm<|6Z~Kb0Q*ORjGF1tE-b zqaV(L0K_A*f31;KabsdqHy@bxl;Av&NaQ7ej23Hh{#ZZsvJhA1v=#w=;Qfg#4@60l z2xVDZn74oskV+p7{|D6zhu)Njk=&E%=!DLHf%8v+jPl;9;%t9GC>F|No@agQ3#DMd zDx;jp`pBW^rKo=CxOpf1J=3zkwl>4)_TYacUlGhGmBm~DDWzXqO8~0Uv2ZNAiN4E_ zLU?&aovr6+KYV{6{P=7!7+k~oOp?e6LU6}&=QI(IB9xD|Z^|4l2+Nwn<6cvd6#7EY zlXS3w>3GxcV?;C#KlUh72(=ZdBvL5k{uP;({n$jaffsrnM?9fVoNDK)ZaeY6w{{Xk zCJqInDU&ux-m>~|!1E)WF{Qp?fFPpMt!14a#BiPAASl4Xo?_CIh|q86k#N-v(S0`d@<$y-(NW;IM)qsYPXgO^@>dDc^*WZ@kc z(D*&djsqcZh3Z!Z*@V>NH)s2`0h6^+sKts5VB7&5$gX`dXFD-;xj8n6-K!tR?kFR^N)bf^XQ0LsW`l_)CMsQwv-;}w#nLMNlOnJ3#5u)0oS0yJ1%UOc(m;oN{ng^c zc~|2R_uH8tLCzCFXgMBhclqOxcj6a$Z?=$PfVWpfP>_LU1v+0cTpUv*^kVGup8wO# zFO&GPR^sj_AXTVqO>vaFa(S+EFaMeTSA?;IJNE}M4dnJI9u=D41E#$dgRsJPG2KV@ z*OS=#D*dK_#Nql9r%ln7(6-P5qH42B`LMkI>D0$~hUP+{Q*{MciL|bw_*KJ>o23?4 zZ=SSXC>f>OVhHj;;}!#3m196>BN7MC!=7*Re^Yz@bTXnpl5H?^_u|JE8Ui<#No^Yfu-cO48H>#yx#Xwq*uGsqC@SQGx+wRotc@VwmwqF)ODcwJmVdqgTl^vq7`;oJ!@9kDRcu>ZSAG^i!K%X_OV%Go zIO?`0clT5$JlC@t@w9#2P!WVvhu5^Rj&Tt8w+7CmQl63}O)vfdNc${}I>(3$&Cf3- z^&5*C)-0WuTW_wj27$~Tml08KgtAbQ0VCf4v`c=78AD@X2@NcFCpc;q$)aesj%7;+ zEbsP{;Eb9snN$1*2IRTyA~}|KwMKI3**O3-Fto$q(b=8dm7VFR=+fM%Ct8YwPe*10 zEY(XFAL_YU6&xpTmh-%yU9>P$83?*nm2lbMt=OZ6^Qf~)X2tz~1{9M5bY8H8xIg~! zVgy2JQZFx;+@Xy9Sd{vy^wi4L^542~p|1r6r=1(eDm7!xUMP~Dwl_%6;j*iscQx=H z_id2c*PZ7^G9p?B-7Gyd_0P9JABb)^qVM$UJhWi@<8FU|?;CDu&PZTkF*ZWJK(NVl%x)>wR=Q!v5 z;bw{E1udG$=I8iapu_V16m1jO)-Z~(%^s0@x!8COUjI}+&R()CfO#uMC%eP}nJJx~ zu&EDP_m2P^G4tyeyIUrFT_&Dl6}~6v4AAU=A}VimK-bhiD2mte6f$V+ayK`VWoeq@ z@l}7p=UbH~s@F=Opj{krX17O2M^BhMC&31EOLZ#k2R@ge=}hXdY{I+#Bqz|DWi(f~ z_6z64j`E8SO0oG5g@OF9Z-i87I57NM7}2_5fPF@~~j4XKEKqa(xu%c)Q@h?a1reC6}(%Cf>T9^7Wxl zTg1Mo=l6Tz@u87T#buSu!#_SFj_VttJsb_pO|L7Jj~bi=tQc5~ICeM~uK-LtZRxMP z5%I1PFFZZstt;AaV~X<7M{%za<_u34-^PU{OYdoq!<}iit8UaFIZkNKKc{+FY_IyL zBKotj!Z=yvWk3&hG?#f01CBb{+Xl3De+A+@rgtJPbocx7MEP@&^)C|DOGh>Ww4A$Z zu+43*>?iuc8&E&d-9O*ye`4js3NP!?h8AwCru(dEj4?b~LwqNdIqh zesy-@U{6oN#Y=c?Ho_Xs?@YoFOZebX;o+a&)tnRVn?dyc2*PD}`}bsTF++g&9Q3J= zL^3d@zO9W@u4H_<9XPTX8X5w;;>1B3?r?r&dd7y4?Iv=%d)2S)QCd3uZJJcSqK?E+ zR2df%XQLVw)z*jpZ=xxq9S1#AEm46mq^=E39;-lKBZ zp0cn?I!oecZrkdqfb+z}#G>Ahypmhjbqf>~Yd?=HdL%k)_CJW;iMZW0-f-e&u~<3U zybCHF7^t$Jy&dJsO#zC=Gp$2iPY=oe4iZz8W`V?Y5a7 z&w`~mXj%c>P7qZCjRbcECk-i;&hPA09uKl#eiZDvS?-%MOxGC8Em21d?_6!mKTZGb zHZnH&b`i+a4FIR&Kpi2<@s!CMc|wuVM7D8~JuZV7@B|(Ug35FSTvbqC30JR70CHLV zL88u{pvvRVTyCM6#ZcTv|AChTLG*4&E9Pb|cc}P*Qh@;DdpZcl4XaG>8tJLBquP2+ zUTGDt(msc`Jxj%ZWdR^_{^_^*K-Z>T#Djw6>gmHKr&qBTmRMUp4E+6p_ji{yD@K=C z&qwD1bri;{Ll!oh^Gcqn1cuPqDDO_I0s$+lyZRUC1Kw{QXOMo3FQ0pVw4is?H$B;F zO2pl6RO9@X*N@G>hI#xGEx`9OG#j^12Jk33c@yO;EhZ0BgjFCPm#T)D|RM{-B zT!i+8h{vd+;eE~ay*DmBo~L8qnP@AKXxq%AKSyf<(SIGb^MV>f{rdAZS3>k!mQrp} znvEyRhw}!3MMwDiA&2d`KU+ZJrEnrxe$`KRz^6GfT23Cae!BSh6DqQZkFoA{xWi`u z46FOz7l^2J=`-61`_sGYwN z&q-Cj%k8bs6TxN02cO$n_fm%hP-bQQu2K5|S{Tzpd_8_IL3kTDq`vhYGa-8{kCw$5 zz8dtYhuCBY(mmmI>DQOm_UTVo8SHRzrrq{Hqi;xsWnaBm@fX#<;aB^+rz4uo2ZuUd z9Kud{k0Ka|CHB>R1Oh97pLq9M{nTO9`dlzhO@ztG$e3eA zh3@$@vZ~KlG&cm9MN)w=s9$3m=alWi+u`n>FTB>(2Vl~}T zEH>W89B-e67o~(3z>Rw1 z-oyrN&tg^_oPm!dF9>zPbqfYzq#)+8#{)~xy#r^F(n9a{XtcZ~*{twf7O>7b3qe9i z>u)hts-rGFC=CB}g2ecb9~&dUqpFfs&e@)=$@TZ$8++}0&e!Un_>BrMJpG>uE6#i; z+a?6Rb*iR7xNqm3_$)5)r@Np4B{VILIqj{m_}Q?lyJPk$nbe`RS6u%+uyy;;6H}EF ze>U%Q2 zBXA+;@_8DKWtaFY1Rj715O0;n?+xy31n6jtHFOCH>mBV%@;3B}7^z=YC_A4_chov7 zZ=U$E^IFm702A=a&H7_3lWu;g_xe_y^r2s#s_{kt(fY`GL=%D%vi#@zU11%s{<4qY zAdk&*ql=D3KBod!`w($`TJT3g&wMJE&?invwf;6|ys#=2f2I#Xm;h8*96WM_bA2-~ z1F%Wi-M9qvK=M>LZBx~?CN6Ud!f%<~M2_~x{a62DE+@_esxQmS11ioa!GU7r ziX^?wX=1qz1KKz;QW1nf=;}!bJ()RB9RzN_q8|3o>q|;>E(~QSaX@9crC-ZG{^1Ep zEU9U-k8(~_l`V+_**>rtOd^@|Y3+%p3}Y%XP-b=y&awZKr(OHl;vJ; z{77d{ODQAH8r7&E!-4YieE(ytMBjqiEOKumr!Yx-7X0|V2ulO65YJ=505%9dId?;B z6wdN>cit##Rza0n*E(;O*Z8<(2y`Ad;sSBjltAWS=4NXTIC4v%rf@QYJJnkOGT#M} z6jb%AFo!qI-!JrBQwe_>Z#1c<2#`U@wPM+P4&KRct|HDF^FXu06jeysybcd$giDLR z0Hx$K38pO&A1@^Oo&B}iq1Jb!{28!XAuX(xNv!k9!|<7=qh9gG#c|@9vC?=ohttrO zuFmEqG3f_c@VhCoW^7hnkPyGxNz{i;=e?0Se9&&%n~JB~G-z6@O-r+*Xjx z%1*W|!OIeO9|#(GSSNm<`gt1FQss>(M!Y>_DTA=c_t1JgF7E_@3pJ(0fqTMwxXbRa zYm^0%UBoL6r^oL~{AdBa!soit{MDb0)>37R8pX<`PP}6XDnP-rC=@ay?nJ-{hCp{d zgM-3uKJgSkn~_oLeCl?lPbJVx3q8Fq1){2`TsFSf+%Sj2*-_3S$>>0j1loa+IOm3Q zLVT&Gin9UgV`qFP;OD$4sXit@IGT}?2KzX3k;8;y)}wOwbtSd@U0n#WVrk$oqV-%= zqDbkiy6wNf>m-`M)t#$GPeNX0aiU&km~h2a6GF2P)N=rQgQ#vXVRze8P4aE$c@OI+ zj>zK;bb7YXMb3{Iax1}&4~b@QnVvvA)CA^n+=KtCEXU0+6|sXNBc~(%EQP8R+fuvD zdM%i_g?4D@OK>a?hC4PO7$2)kLzv{WJWYBgU9a9mcT56!LC*x7 znSz4$bG`m+DPJ9BRT-ES^>Ya_iAeam4xG&OBp;9xO9_Kcxa*%FzG^vfhR3zT9)-O9 z2;=(92^3>^M01j?KKpu%1MiSM{Mv-y_|$@3aMV?2>Dy(a z+6l3Da0UZ+`n_AX)^(i!h1{w1oWs=qJqjEDU*VLae+?pz5{~3RZAjbZ1`=YlSC{N? zkYS55$qA5!6QaBVGDl)DUqTS^*^D{H!=XvYmrd`m~IRk)mww??(NIGaHq zylIhrE@+yVe+J~&gOM}6*;f(qPvYyZM1lz%@W~vH0dt4|)p|O?6fS5ACxUBjFByXn z5cu&ERq7`t(yY_cfcU~@>LYj(_g&{P!|FJkC)teK z5D6Gu&Z3Hmpc}|9Xu((%lBXy0!Q%%v6H69|wqw7A9@eBlR3F&}LDC$8u=iNsT_uP`)x-^t*Q88y6h9J+w zk(q()Ma$VEetdGgndcyxh)R6@k%;nojgrOJ zOO`j;R`r8D0>|5pOEeZN7{MyW%TiJe&Ww=jz&v|M{>}0pqzH^a-iop5H7o{zzfgTf z2%^_BH=P4iOhlGBOy|;#ai>7ihI70i{+9mr*-#`rT}Z`<>j%COElVa+vrPW}% zh;TG#%D``CsG+}K;%b*SGk>38Ey|%1DiN7xNOy$8fIX_(E?`(%bu#Wlaw6w(4nv6& z?3ZRJq{*vlKU|-{Yb^IT;8s33AiC~GxuHz4D*DU=XGog5 zm?1S?Z{$a`x`^({BSHD>oH$g;v#xWG7IbFO;B=h5v5NkkD*koP6UOAs+N*RavU1md z$9Cera2r@N=dyjo##V~7kX^lK;ki1~Y=sAAE?^!pB;@wdp-PpfPTCYnQZqj&aqR(l!@ z%Jx@QIkLxmtPz0}j(2Gb2?7(Wi64s7s;LBuOx`H*$#|=%ayz<>;a@uNV9C zs{v8XmCZNQoonpHD1|Wsz)Zb&wB8^Q>(9qq(;m4#c@UB|x$+labwb<$Pm4m%+)w8l z(vWqvwy?UR#v=ea>vKv5(6a&{l=go|W<-?ZS3{quSSuI{Re+%+F=FP?$kEQk;X(94 zH_K~twzR17Mk5+d<+A{NS)7!8dB};0^vE0f^;m z{nI_~XH?ZNioThvv_ARsY4^`*k!O75T|j7nSIE$Ee(p5Y!A{`(e5wK!hM8NR4S(xm zT?U?-$|}UM`znA8+C@8G^!K;EG3 zry5y=#-*s`ipkLz&I+Y{=@%wt%~aV~lr5ytxnKldX3#_sMQu!MZ)4R%q!hww0F0L# zAhw*i&5{L%^WEegYG_Q)Uf5}Pf)8#h|O2P^`1ch_kyxfgnoJSKip7<%Y++a?ZgLA9(P?J5f*a{%Ltp&SP4LdY$qHwcQX+ zxKCqlMdIp(jCsT3 z=xLSvKf;X{9__K-+zLX^cZPv8GM~f?unB`_V{mi%XL#P5llo=@T3@{!^`6boD}l!; zDMZ)!2o9|DLU0{XJztWIclAG5S-V6BJ6iaL=leu%v~)o?Zf&j zC6I_V%wYJ(&GNmKKNsX8b~nB;|LiTd-4f`iE{MAR&yeB_TDy}xx)$8(Q~#%Va`|xU zf0A9(vC&Pb4+^Q*(?gE{uE(BcLdOWOIgO8091(i);(~Q?^t$U&h30n1kk!zT(ojb^ zV5Qmyf>1Y1(LjEkgucaXD6Rjtsg>5=>MKWG57xh z80N$Mq|f-|`S2!8_4*7-zA|%TowI2dyR$KCRwha0_{s7)YZD%E^|%C=?SsXZb{7(f z4LIs#WMDwv6l|ZE)}s6$Gg$PwAxlHS56~jI-GCwo^Xz~t6|q<(GI4UgPxyA2R)Nc4 z)JA7#aj`vur%Z{krE>8YhbD>-d*#!581FE}!2mu#KkpgvUF|?^?>o7(8@rbLZ7jHv z1^uEL1_0i)$!bG`VeP-2F1n2}2f{mF%X-{piht3uYNRdY<)sKkG$(hD{4%I%Xqu>A z4nAncr{N~0xX8AOBUINQvp@zmSaG`|Q&Kjc&jAYKM84_@{*sN#!QtzhzyINGDsHFO z%8{+DXTu30Oo3yi;Z6DAg<$pmk+2utp8n(4M*icnRBs~AfvfAb;X{L+MA3O5dg$xx zo7Zr@)bo~(!)GL?{f*BW;f*dqc&5g~r<*`(WjcsM5_0D}C8ZbsD6IoRs6@)Jf9O2b zeq_70KK%^OY`}?pPmnDC#-G==N`(c3;(7886LC-53h;BeEP(s%qYRMBDrU_)!Wzpbit zw7=R1;CM$ki{yM{i6(s=LHipkp*fZdqkfIfnL+?#b+_*+(A8Lr*FKs{SZ>>4H7YTt z3xG|ezdIk~EsOY)w!2r?mD>CJv?_N8d`318SO-5NU8?EEBdg&unFp8`1%tX>G+@~= za&OXy@N8%#dUvGYf>O7Y($f(gpnB}CXlxip62)=I{BlHk_o!vioDukPi25j>+?|0IsX3lwD-Zh$CZ7TeTgdLbwVXhRF?PVMg(x> zUo9Y6#}RY=uB%xTrKpJN^WH+GaklNO{PAj?!lF}4JGFbo3ta7;*Sn+FyM3eT+A&>W zI%n8H6NGakGdA)`PPvwc%%k~sqlZWP(@*QH77=|-cGB^5`;*Cf2W!(LS6xdIEKF>7 zfGMzDVOJ_WBd!RV$wEn!`+mv(VmA-W7&ipL;mc56;-2CriIw7z<;&6Xswr^HV zS4YCkq@fluZzCne&Prh4#Rm2R#8X|D%aS}M&_^G!brbwd$~;}tTsHfP41Sv#=`o{a zNqEwrz5tvW+snRy%)T<)fi%&t5l$C z#i&_!c-cRzbK!!(*f%##ks@yY7uA}y$$=$`pm)IZpMl?7hjTlA2Y>%&WNYSSLUjtN z>#Xdo+i_dlPUL%zm?GOUs-!b%Hc%S^c5uSrO->zv5D`%k{bk$`F@0qyPlZ$Q@1m1& z2Lo*Z{whchW+9N2<*FP@yGy0%f1#d%MR_QwHT-nV0JX!zCp zj8|zK=ma1~_jm#q#;4%VOMIBZFzP89NE5d}m^rYg2hukgS3t``M{)I@jjXJ+wEuVx zYt3U`Q{Ye}M4pE`j)-TL5a&E^Ac}(WvocUTkIm*23Y|`kWuxUT($TLuRlq+#Z(eA$CZ{pqyjDU$*WrO?vGRBkNkw?adWKB)+TfD!@I)r z>xmuV_~b0q?so-JMTU3l#3n7J{!tvL3jJy7qCJ@Y_9tJ=*W47Yk8l1$Y_4n=67vP1 z%CDBtoGasO45)DKLqDP?SlyOugxY{_C49Uc7xw{ln_>Z_6ORkdpn-jN3kDrsPqY_> zdR7|AbaKZD0o8T)2bibviAT8sJV1Au=XGY>?c0VBqci6V@wk-8+Pj)Qv>MS zO(7MHO?Yh0a-Mtq^brYw!%7(N=B!?|6rW106H~+IMdS+Twit~@YfUW*sj9K(o;3JG zE*7DF$s6r$proNR8y3)2`5r`L!YuDQAb*rkK=f=zU8X=`=RH_D3Eu?;`G92%`-&1Q zS9$@dB^0=*mVC_!K%x2IE!!{>5mgS$Y#Fb#QFxhnytQk&RscZ0)=Ga@+gb_uM3y0Y z^yr4#2DG|7=7nA2k|EFJQ@Lym*9cSbq zmm}(lN={dKmn;s^qdogp%c}wZ5T#Es4RizQ^x>PeH!6;dH zb`4?{O;iD;;mWAI5v>tZy>>`=TxBK!4v%M4WC0(XJQ={#az&iF-Gf?NIKc-QMdt{n zS+`gktt~|A9xj-3xg!S^690~=oCHw=dYV-EZeVV3uU?f7SHEykN)Rdtu|ENMwG>`< z-pyRmj%j?JFGfGjLsnZ*A2+aIbh```)1{W9U2Fm>!9J?8f@j(y715&j4OdbS;Q3~J zvrrV}HnmoacRh6*Qy2ix0pk=64Py{Uu1|p9*yWi4N>GsZBSVlULsk;iV_ZSc%|8PP zcD_r2Q>7l8V>ohls#Ub+gd%urAhI}{(}}Uew#pySo@yj1*`$2foB69{>L3+^%BBFf zs<>j}F3!V)VysD3hIo@fT82ksH%;H=Lk!}xYv>T0UX@wNVrz6;!#*4;cvA*WUfi>k zvqM?d$N*;L_1cfb`ZNkYnfm@d;tL83O?UGrR2ns&;z7l7r8lHB*q_e}c%sWK*2teU}ip9G!?Z|xFs$fII&9pvm}`4f}!aD&xX=RN()&fPvSN7pcvjuF*&GJ8^g zljZ#e-;tZ^_QqmiF6eyPCMG5)mh={ z#QcW@kPP({pstFCbbOBgMe>A`O$w7o>A%rt7DfQmGCK=i!VO9z1QyPH31Yn&%gQ*L zz8E(y#z9_I0h9qF+7};Zj553;UJI?_M z<5EwtX>s>tM4l%P-0R|^b9+akHP02(EES6t)2!|vFTGC%sey0fYz z5N6sDE{s|oZ1SJV9%AEi4X#xtX}nVJXkOU$x$>jli|XUR7!kR`YTfe+x-XF8+&Xdc z^>C@3o(bH_L9@#fs6=-l7%5y}KvBDRM<|@}*geCDw|Fyn?_jxoFClt8A(&Ft_e10% zyb1fYs|DZ-|M6jGIHeBt1=Muhb~pwPYRPxCRJxOR7C;23T{!*x-Aq-VDyt>ZBO&

    XDBC!#KbD;EgtYya#(M`u_fm#U4M^SR>S2PS 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

    d|lTZUQNTu0PNpd4ugh1I>MU%qE-&! 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%0D3#h_w>UyLv)l4^7Z()XF7eQ@lbdCj&Fyd!bOp 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

    p)8FO7lOf2;SlJwBlwhQGz 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

    kzVc>>sL`N5uc%VC)N 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ð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 z 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%0Aik*|@vgpSb@y&|kX-oI;*6uCgi@%V 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�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

    aZ~wTFZXLL_u=bf` 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

    ; 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

    YsbG%US6?j zmTRppR21tKyC0EwUaMQTx3`m{Uq)7|IDN(>rk7Z9$e|~S8ymwZbzb_n5yBT%ZK*Ju zWHn_^=j_;jJMs62`-++mPKb}t&NRK+e0{cW7zmp`eIB`?-i(_*ZkO<3={UsQ;HDVA zU1*!dUoLS1*wTC@EnTL}i6AV@MDn%<`$QAhRQ3yp1}3-;fF*cSxj~2P`@QbmMsztm zU0zQ1oW&HYh?R<&%~P)_|-o7^i^`9j4O6(+@c(rD6ZW8WUXcCkvjuMLrGo*ta(+Z`)H ze)m_(AllGa=Ze|CIa#^qzmdag-tx(=EA4(9LRre0n7V)APFuTL!TWvI@R6Eo-v~(u zf%^ILQR996!-#R&rkHLGW@-hqdEXeKw`_Tx=TE6#+U}>i#a!CXI+b#`rFu)Hz=P%Z zt**e+n2<9yuV0!)rS&OY=acgnBT8qA2M5lzEvU=>fMyvElueFr{YTGnH-Z{b3LA;w z10&oRgl4)fxh{i!#m+AVw!YL`nY}BG*nGPmW23;(>T-wc*J|G?K7A}f=k$a;JwPlF z{y5W%&VWLKU#Q@~jwKw6%0WLqL6wk1vzVmT;SgsguIEd58y;196$8##vQ z+0nc=@We?wm=msPQT}F{M=Sk&8Gu6h2H(DsQUroG5er<}3a0IhaHJFjA9R7tHNQUH z49wp1xWBth6%{UC8HV`y`fCnE-+I7mV3fv1?y>L4)Z&8RV%$~{Mubju3-e=L(9q> zjONdG`sC=4@cXF!vpziHQ~O|4D$uQ?-yV;)YA;5XUo-lsc)4>7M6e%f_zvWHSvYx} zFD}ijM)?NEUJz00*l7Es#q1iqSav=x?YH1jv*o3GS>kfT*>B_fc#+_P-c^DnpCrsvTM@7et6T^QWe?JU4ZJUS11)ZKW_KM%XsxreAa^l6jGJj5-&o!4nFAX^^1s)TK zLzpMU!QPHR+#afp=TVa_1&n(^e`H;gH0&x^5+yr19W@StMSOqE1 z(gZfn9ZZ#q`3&Ip6<)@&R>sRBMwX7^eWW1W8B7TuGDdZ!pFWFeA{!R$l+(ae2Pa+G zq;1|@`B+Z%ZlRM{DV05@cq%d$&$Kn?V3%n-cnlOMF)FSEy`vU@wq863SPiOnEB{XPw$#XW$znrT?5Zb!Y1DQnQL@+n4FycQ zBy(DAB?!kV%XP&`&c^iao%(<-{yagbH=#=Mo<8y(JWwX&gglbs5Wi|NB>f%f8gjPc zv?Lcn83fuWu&3L2xgr(gJFgyrb|Um7P<+eFy^X7W_Cgt6#cx0#ksv6D6IRrui?MeH zgP0Hv&sxA8Dx|2mAAOUfF6dX%gW~s}^CTbJde+MSbaj_>cg5P*1D6Xa2K0QkA2O_Z zzH_xfYqX38!QT${_b<*(i&uYp%gAMu7bLUMTV|a(eD%z%^AcAGObkhp-yPB4%_Z~y zjFf+4Cg)h?JoG(T7gNfG50N(xjuufZGlwx*H`O~cNJh{o>B?pmLYZ2JOh$Ld$Os;N_6@ORyKLp!@XF$(}nF)91$Z}dE_!#(*?x!{L6P{A_aENCkL8q=8^nywNz!w{n9BW zT4}Ku0}c9xqsTm1Dr2YRmR|({ymag^wzJFf;pa&US1YC3FBiYv6u!rNN8rPr#n+>0 zWw-G4BfCYyIUXDK^KQQ8gk1FY2a$>m^5LKF*ty`Ne~UvkT^V_~mBB%Gs#pSMn{?3i zbMuv9Ns281T#-jJq4~66^9r7q*}Bpx5dXRJPNm;!^qhrdO;h&uVrNg^cdWD?y&Q6$kXiBuxu(l9 zCpRz1w|rQfuBD^3Hg_nQLGTTN_71l0wM;w^@x0bgA89!BN+eC>??>4eTB2_oH8Tkd zGAh>RC-z3o*T)`e+dZ>4{4|$U?V^c^pZR6#<>SK#OelNik3zWtI@{h-%#ye&jFpPn zHWbqbo z;By21eK*qCnRqTH^PskfUe2vU_%oj_o;WN<(>*bf@nSX~o>)-P6?9(Rrg}Ew6LK+Z zndp6XyaNh3-zs}_28PD&)!rs=bAOgg>T)+b_x^AhZXDQt9#Xu$eZTpjhGWU{pM{d! z(EX->n5JL%a{Kp&z&*JHA?8@Wm*Gn)QCCb?ICoXvxObs2Pe6-R*Wf(rLd)iL%e-Ip z+@VDfm5MIJ^1pHY&w88f^`;7DuYo2qPOyWtwwXZg4wd+N#in|`=ZP0?_0_kX;C9@m z(ZnAp_TNj#H>n01t9m`s@?TFm>-IJu3}Qcp$4IN6utWufaBqtyF+prpfyrd<1xe#@ z(tMU53S-v7di8I8r3ul1B~)@Si$z~cmJ_|#3m!86Hs4cq3h4ZH6L^Y&si!+?LCqZ( z$mEw^07w?YE3VYvjk9Hqew$p?=B?x}Uf|&o@-NuC?3d3qG05l7fzKZ@yH(K#2T8A6 zX#2R4PL97t99~)(=0!>8je)W}N*_Ba#h}bjS%q(OdELyLgD^zh~|N z^5UoH|7_pc(mOoiV+eC}vBsD(`E*>HqoR-fB1o;(SUYQCRaRt+;d9jDk>N~)_tpuI zv?C3z8_a6}zn_8~Mr>Gm7w6X^bfFk*Fia*p*=Q%jO!6M{HA+A= z`28iyKMo<>0Slcp$4Pa(;`*T+EQw@7GqI1J_JQ_`jA5o=2wMiBz1Dm^`|zRm!8)EA zd;A9xK^w6fT6|#$qNC_dT8@S()2+no4w$Q(YM~Gr8`JD+mtwFf`6Wd4-%`?hR?6CP zCnuMzl7XdK8O|iDcO(X(Bktn$?4|EMV9J+&G=+>+i#55&_o(R=$HdZ>HC{NN0KycF zu+gJH%JW9d9nxKdMkWTwqa>y-?|o=Tf-0 zv1Nu-6fsMkE{Ri+Zdx|s-tUJITFm_!ey;6w?e$thq`Q<~rBe((!rb=to2w2x2gSB3 zneq@{r5((c1B8rFF;A$Dl#@kxDKze=e(;cd{1ErKmfzp4>iT$Mx*DcvdP??Drj<6B zS!X(qt0_ zp;ocs*GO+DRWasTKi?9^qd;aAEtz8Z$oIgJcvkj`GP|*6mS!5IO}{i$nmckKw-z(8 z@@VuHb5SUShne}t_duymiMvfetX>Hm%Y9-$27 zBO`=izy>2lV1RTv8tD*0N4`#-=N7#5sww*jx)q`T2r7{D5r~zWy3I)vY*2z$?S(;><-rhQ zGd=sRCVIm5>Mmir^s`4XYN)O&hzRTf9FofuOepbB5m=b2f_W_#P8)L49~3~p21p?A zSfs+qObCtt8eK1@^L!jF+*N!ifnZw>YvhojH;r5M0Dq`&o^hQ85+4u{F&kVx6=Z~+ z;P}Hk5Z;E6L-WzBOTT@P8SGz(yO$U?h(4G(=N`}~1c&Kla;`~FJ%6;@LE{Xw5aMx` z@%n9L5?MfK;jbv))oJZW6Es)DYqHc$yivRW}e5N+7q36=YB^D9=eyu0=Jy zhr?{Pi+jeii(O_=T5g=SGi6bWFOR8TGs8>7x;Ume$y=HYrLvxSVWNkc)XcUIr%X) z+bt6(kMRRGW;=J}$ zCe|b}#1Ph4s+H%ZU|Bc$lqd*-2vYzqW>;=sRXCaVSsi_ls^0{#4YNeVm34FO_XZUht&E6*u zSH29zI4N)UyR|-kaXr0so7=2~b{}!)pT4c-q#?MDi`0iX zm2&E{Q z#lfU|@2LVJj98RBJjPz8Ks5pY9%j)+UF}}-#X&!pQ(;5%r`i`qTt$flz6-pGGv&_U z;J|EGcpV&G*tXs*_0gdxRI)^Yy_etl4IS%)F6olr03grny<5B6|NK)a3V2}2e9A{5 zLY#vJ@8R(+HlA~$qT;3Dif8(%s{~=Kl5=IGlCv+VYJuhtD*Wf|`Oj#($kW!jr9Y=+ z$TtrwZ;am-r<*k^Y8scl(d5p+rDyX1%ffAK*bVn~d$v}4?d@S|k7NFqe{C=)blE8KX z)V2+8_lAl_vQBQejF;`^J8n4du7Q>%V7|{92CtS*Y~28P=Gq?Pi>*>l{D%Pgv$fLC z{bVbm2Uu>HoeaM;6Yy}H)QJc%k;<;Ne2<-;Ue34Op7`{#=~r!jKh(_G#pgYuXVch$ z+wegOUZ=x%(q3D>)-DTcnK{s?X1M_%xL4bw{>{#q-a`psJXQ|VW%x?0Kh{F7)! z0V}z2K=L|kxt(51fKR5lW*NKI>;`X<07?BQ$<3ZT>+6{3=Pw=ZOM6NLL?w<}PFeuN z5G3*yhWu&Zk*(j~B5pGL5Tk~Z>Z$gBj&C)e0aXgL#)EHH238bZiM2b+%L!!0`WC`- zE|S<&4gr*$y^MP1!_CII5PrJ#uSJ>o-JyX!L3CHAuJtaH3_T*lj9-1`aM~xcbYjQ7 zl(mYipXNH7X6VvdHeoWX7t=jJV5AJot>k;OZJ3dj9xrDMLxn1z!C0h!5RQa9`w1}7 z6T|Q0D@~n@d4cTOO#|_7_t&oUTP<6d+~t}a#h_N@4?Bw$$Fp79?Sy7S2+=%}`b1V1 z;Zg1qYtKKB1va#dEnIJ=tzN__Og`GZZThON%;dB@=JqJMn!^vtM( z#ks95A?S*pk$MT68-!-%M*t1Fge{g?k$YwC+}ux>GIEml1CT)h_{cS&AZG4Th39Ru zf1YpUYeB z?%Jh>$vyL#k^*zbiaah>Xy7lMTJT;Mei;Nyr%mhCeM8XI6=J}E$I%q_;rkq|b|bcA zaILmsdwXTf`R0nwz^Ruhesk?KN!`=aq4&tNBNnyb7r6K3=zUMN;>U48LSc>Cz&1^F~E~96rc`-{Cvoki0svO{4(1E+_RY^aiVb70-%XJe$NheS#YLAkPT4GY z%21gzvy-*cPHLB0{B27W@jF#~D{aURv{4Lj?>T}L<4tuHICgU8Y#N6mYF9Vq;qiCk zUVf)012wDW#tli4VtdH7^rLjA5H`Mn`#DK0b>I!1yHbOD;895e&1(7B;os#;^E_+m zWYw}+b8Ei)q5Z#{>>jgjyrL!#3(e>lX6BjA+*`QyHF(dsx^>+R$WBaaF90=aymZoJ zV{81hC$x9Y*Y9%Y@OprO`g->&8s~RDZS@qd#AM>t?uxleka}a<`v)u<%}pW%{)uMk^j_?5;6gMzJh^eO>h^ufGEgB7^i8z!--?P|tBG*hF!g$ochb9M#>2T2*Rt05 z6E+Z;g2!%41q0=0QYGw8!)#kWSKQ5T;gpd6a1k$FB0}-7Vt2mH*XL%*MC~85HuXRo zIOv_p|DF-s5+RjZggi@8zfN3Hy3>6YAX1)3${v%m9WQb;7Jr3{GYMK*t7@HdGG%*H zYzmTKeVA#zuwdW&cD+bPO%)UJ;hzMMV3VMKu+|pM)N!{tv1$Am(o$G{Mud4+oi6F$ zVL97D|KJPx#F`Ni0U>1L&m+vtNl)=f*C$ecb$RnhNC}JMiVSrblWj}d#onA3N{xjz zNR>Mb19;fC`8Xq{jhPBya=jmpF{^B09M7Wr9FfuI1KmK1yxmP*;e5xcz;N5jr@Zo{ zzGHIgQuqIT;n!iI({X-0E4oPtrf`zngMIdrSRbM2#3^ZiU)E=udlPEd zH)sFR{(DV3%qUAW*zn7!Pr&V8HTtEayi1R_E0v!V#IK7mdf=>|JZ?#;A%^0H``@RD z7qhOZhN!8k4Yw0ul@Airn-rw4r2!o*V0pBAe zHb@}AjZAF1d9mwM%D9b`u`SPtd>2as8(tM$%WqPkZItbF+tgZn3)3!d`BZ-Z1r`C2`pdK)H6&e)e zeh}I_ZOAAf_Dmh;gZ5RI@nMq74VBybalY58kA@C7YcfxMQS=`ZJwAmDP~%4Qg5>-a z|IKzY_$Y*@gP1}QaRO#fg5^+z{=(Z@`w)UKJY#1u$KIIV13WUu2qf&szsE;o1Spb! zPCf6@V|`v*VcinO2r^Iry`qXHQ`{&KPE=heW3u%EMEgif;sH{|YFCsX)ZWi`g#gC) ze0L;Hy$Jd0IR>&ax0%{z9>4Pfg;rA_mPkLEoEZ^p7AAtGkRvul-CX)y;P}4P6<0nT z@0Spih)_r%DO`qJ?5PU{JYv32!XI|86Cw{p3oL?>Pqte+Dz^(QTR()N0~R^%r@ZL$ z(4cdp6H{NOV5P~k!A>giN4bg_(#Ky(@{lm(r6c#+IfoqUg__$%4ZbgoYyB50kyEiP zXB-#7o~PijuBSBxGOf>iEdAR>R@4>E)9a3a$o)DDeCSY?w)GCq-F3nHDL+9U8}+l3 zrn02O_9-TrQpDZ7ECNaL^IQGFd@+JpjL(ID3`)&$2~;^~Uaa#-EULd-4|eE36dCx< zu2c|{ht!El8z=mC7QBw3mv!f3tfWAAY(nD{$_&fD6}pQEA^08(qsQ| z-P|~!di8|jd8|U@icva6ATeV`qrS$rgApZ?@PSce!`r@%$XBr<79)QJ&;YI?)^lT+ zYfXpB_}intmI^_Wv6hNmW3U|1d?4Op=$FFh-e&*uEiONK`19Fp+BP)zSFLxoTtv^O z`nO@~3hKSo+Zu_Kjjb6DZy&G*Rm}uJW*QjbRMK4#kVV`_vF_KT31gbYH9)b)giwO5 zfE;Cyv8l3oAHQhQ)Vh&P$q*JgE;z+E%oXMNtk7P|>Lm!Ak`PhQU^^}(g936O3;_bt zv?Zo|hH{DTs8K(=MWV5-`>`}!eYiaIR@%yWW>Z69TYwuf{lP$}#3 z^z|-*toIe|*Yr(!H-Q5YwPHzOMY$WN@0pU?|2XJ@VUE< ztR^t|Gv0SI>@xoPuuk#lC_dg{C#2z(uCS;C2|}pgcSOV+{6D8chGm#6k^dyV3{nkY zt;O;Zpgh5gB`qa0yHwqV?Q|ne?9P&xys}JxE~a z1+RKHzsq{MO}04JV`lJ+RSUi-K;p9yyLfLU6p}}P@Bizb1SaE*62gjqUnS5~z1Vr2 zDJXO@7F?6;HK=8%k$g z)f?#w4a9EzsV^IDZWw{8KFga3juoMlir3;QCMoi^k_m!u3Q--S_XgSpoAM@X@|wWnPkU|XLW z7kPUTyi0m`1ro%>5PB^g4CBaP;EU#I z8|h552pudha}o2APA1dfr(qglaj)?c28w5_jgzt{&A9t0&D8(qM#pzY|C2K|NSK}V z(MiyzHs{O|71Ch`IEvTH7mulrx3)^sA2(h_(zM!TioUYt9n;6T;i8E~HnHZ>z}fJ0 z)@Gq@NE#qTvZdho`&RZ?0$xTK*Ulcbi5%-|J-=6EUc}rrL(eHN=vHY!cPh&`QENT| zzrXy9xr${-Q$8Ce<=7Bq0u>JaUdcd;_a^GAlsZWkpyj8%j&ADR1_6dJ3 zonF$%47(#8*PDYU3@-)!oINfMd$2qC=Lc(&i^uNP`0yIdPnj~WJ%tYu4r6wX1+B#rn^0F@7MH5x@XM#%Y(k5h!f9xm_Lw|e65iAG36xB;RfiYY#-5s#f4eJd0$O@gACCh zV9qjR!nL)FLT>g{-GUB%>rB>NtO6g62?mmx!4_vEGfKVNb$1`No?HO^4l7|v)PA?l z270&_MIOrG{K0yrBqq@7hf7Sq>HVH`9;&+~+?^VeLSY!-O)=M3)%l^moIW={K2hO{ z8I{xHxm^*zcJOWSJe-R#O`Oe!2kWt}9}j$bi71`@*pWO;#gpiOu`jc#EO*Kgqs5At zKMTmq!F*l~t=Ns4YE&bw)hnkGlodKXUB~&YePdZc8`EzDj*VZDxLZWdZx5gLuN6oK zZs5O*Nq8eKBJ+cYB0(-0c{9AUEAD;1e+fiHt`BPaVw1PGqiyCiP>*95!)X7Lj`G)^ zVhj@y6^-qjGs^pK#Ym)x%n}V#-76{FlZ`2Mf@^-Zae+`Gta@cuiP?NluGtI=m80jb zhPj6$pStYR52q;56e-GUtsM;&q*sU9mg%kpFI*4dK9=^ZwfJ0N`~F;@9uqQfCBIBU z8qc1>+&eOdwI4$9KgDqqr&md9(mc#7KZ|tDEH!m$>0fIu>IxcdkaU((C)*X6Ok75D zhXpbn=}~gKi*pVo9RA$%*E7?3T{i36wp-E_S#jC40_tf2KiH%_3sQsTC|@$_ZNvW`$oldvnAnQbI= znOAGN3?T<%eVi=E7~tljoyo4k$yw7D8X8hK7>SGoHwFZ1QY*C}*L zKkh-Q5b5GRn(6Gs(%}gq{b=Ty_ckEpJ~SO?7d4)36} zW8R5C6k0u#$=D#@au6S!EdjnqNZ$J)KaT3CJ8(BdOowvQ)AewfO@A%#`K;v4(pT+} z?f2`>929Olc}JVM{y|usH9^<6S>istgv>*F|H33ZkNUDI@0R*p)Sc6QuAQDvN336L zIwF=5#qe~qhOo5#tA zzx*G0kwHB@13TW*0<(ICA!=?mUXBhN<`-$heLe9B4y{qh#^-kJG4&qA}9+vklEY zcd_U~_J@g#bARx1Qy;IcDp0Z>R4>qOo$>EB)N}!aRCNGqvT&$QUzENN47dembdrWd z;IU0z?LH?n?;F!cB5Fom>n5p+9Wy%G+lRHC1_dbs*=W6?ebqLpeJWXn%nz0D)--o9TpF-SPV(hLa59iNOE;HqD3Pm>GI(nZbXyw!VRbJ<{3 zs_^o+bp}D+cx~Y)U=9*wR4=Shz)svx!`N2*)TF$2(q*Pu0%ATSX#N*!&Je1p77h>c zoZ4{xr}xe-UQwR$mxXL8F{Arg0n?&_{Xj9~U#%<&0LoW_e1B5)|4$J9zj4A{ju_s% z?}IyOz7m%OPd7*K*!>s3Bf<;oIAQTj>l!RepW$n70*Us%yg#e-!B2*oAZ2iK{|Zxd z&!s-&g<ks(-c9ZfLJe+R6uKH2jmi z%pA1gH2MHkXg(6^UUVL2*eP?C`SbyZ!s2AV5?hJ%9lXkO#&7P=B6x=k-dx(Ki$(?+ zGTz?MFrJoPiey7pzH*8!I{ORU!1uQc#oVmsmT2#!t_(9P{SFQ9ejES$-h6FHSj7Yi zRmT)E4}c)@U|=a3_$lJA2r?NV$nfNUh2YiFaSP>DR|BW(~~7 zEEC?w2zx(Vy7gVX@BpsTu8D88a5Ilc4)dm@2gx&7K{`XGNo+8?+=V27FR z)C+|yOM*~(B!tY#-1GOY@f0QWn#@Vy%6Y!VRsK@T8CmpCiVS3#zW*(9B0*O}@@ntL z{$}l?Kn4SJb0o+ZY&vM(hSl$Bolqi?OTG_FgS-eu3Yo|wBs#C`Rep%3hYRDsA`Ch1 z;@}Cebk;Q%^6v_Ph(NL_agu63f2MZ|6eaXR3e)R1rNcu*&v-he{`#c8*qijF?r>)& zNP{Jgy!1D$$;5Vb3;V$5W67`w58(hrQ$9;c7XH_+>sSE*Yd#5UwB7OIiK5WRPWWG{ zl~5W$0vmp}Eu{2^Mop+aEw6vewxkHbSDFo8{1T%-d*b8g;gM1xtyQn373o9gZHj)u zSS#{kT_=e#{h)#l$VtOeMgWsloxWFDRNO-u4=`f*A)T?7c4Mpltn1G|6sRCdpQ#hT zMsFR%O^&>@XjjsZX9bW7I0)-Hr9T*+{!rJd*In&j=;(?5!Wpu+(6XYklC_{To`R#h zx&-)0(WwrF`KiWqC*Rs@OR*=$^{6h*)R$i$mMdvYK|n0z-HiKaAE5big3F`h2&sg?i0%*; zDCs;;S7bf<#Z&Kz@o*2T!fTeu9(B=sY%iHfy5BiknWABgF0Kt4_|2Rm6 z)=Jccd_P&46!?#ONn61WT)=}r#u7mz((EN4#e zk_v~k;n{22uLQv6zi6tn1yxP<$^oKL!nVlycnemuc_O?27-H2(DAV2MQ=tJ4@+|kC z_*5ww((qqyhz7{}NjC?D!Y`pB(*MwK^3YgS&=a-n|7>~NNs(F}Nv7x=2jwutkR$N0 z7WWz@OOR)n9y@y0;4V!ivtKNNvV$>P@O+4#RhoJ2gm*z}j#V18 z%?%UzS)E%6;J$v*6TlU_P=Z0~!Mf2dKHv|}`dW6Q30c2}@fhSvk(bj9j~2#da;!5) zP;B26&TzA?*M6xk#6~h_7V0#=BaQ5mTaVDe9nbE{z8d<-JS38qI6d=e_Vj1ZwBXG7 z-o%ULAD`O!Fnl(`Bro9(d}(*5{0n3_KK`kRTQ2AFhUcokYNuCwzAPKJ&b3H@LEMid z;3)cd&EknmM4Y<_ZOk&TL;&SH)y<1^70XHl*9mEw2#-R^d#Q#F-397Gx-6~AZPVV8 z=1s2If4izKN>7T=F(~Y;DxPim^toPI4U_anMK1ezcH!=HXG{x30+P>+mf=i#gV{Ja z`LDpcU85LeP zQCqX|5!q|NJc5YgpNIB)Ol`DSCMswp6?&*)sLV16Kr4#TKJO=hAeaUjqFYub+4#qM zJ9Kr|d%Nu%{`m3rMgcdY?^+1PM(o=GB_ebgmjg_I&hwPmrMa2klXxd0~>kxO2! zIj(C!+^|x?QKKgxyhsLifX5FsavGj5Mu)I@hD(%|oOXZCU6ntW{qE}_LTfj_C;iWI zFk>p@r|Z?h%F@RO!dm+Ezzc|8sCIN#dX}NHk1&akaNWc~)$EQ5A-P;?fk-^8m`zI8 z6dC6LrJ&C(QlfLqqbPk`cwxluSQy#S+%Z3A-QjUz+`;13*myGhL5<3#-S1}aRnFnX zkX;!Pn0&1@E(luH(~?OD0~X~tw(0#Tvhwr_ykfZ&i7dzl0C7uCy=;0J&|O< z@vSGIfxqo**u{rWPPdfL7CsVtf-8S$x6tNuxA$}Oo+GSA+8%`6XG`qDtG50-`z4qt)m+o)4p6ZuRHh_OKH#Mk`G`Yn||Xnc#i73>ZbHr!O`= zn-#IvjSG$nZzB%3mhod5x^I@KO!8xabNt6=Ep5LJwWeo2R^>??gxu{LlG2?HT_`Hh zsC_Euz`#HJX~)361L{((xCV9E0BxQ``9ZW(?zqu3uu(2K7(Bmp1f#T z+#rA0YJ5r@;Tbbc4u zg*(;}bLwc0ujb|1D1OKLu6yQe(a+jD2jffIrpxyn60$z@oe73`$g`3@lXe}=f*QNB$kOrJrqS;YT zjUMJ>#FvS}mial~rak9Ms)5Vt5AfiS39iaFodx}|ZY6kRNxj@o`&{<(pE)Nz_>pTulQPYHMTbOA$^aZ(#UQM0|YwD`NI0_dk>(U=cOysm$D zPw}!R2nfR4H;3rB5yPWb&)mN@$%jfOn^1p9l#bbUR2 z1CbUs^I9J)OxjMgNYSASJmAP^9!3-$^vtz&_9obD^KyV8kxjyWzF$$_Ku>|q+Pp0+ zwEytmVH&e_;ryHd9jWXSFp^K;eOed2$My19&%nSR^l(QZ*aWLCNzOzk?o%U9Ydhb; zc}UMW1j^qH$-z0#g@Ib0{`h7m?#&*z)4Fi|(bpBF@dfRw^u~J;F0-Ay$gNVV!(SCFjh=FY^sI-*g3;j6WF%|dLdQ*0YX?os zUgOQg6)ev`_Q>izIQfMrK>yE^_5X{wiV3@V=Za3vxPPswEBe+ zIjJ_SlGDi=U!AQP-Wj2rIq}DECy8QW({|z_EforYc zv!@_$XOEn#rPJMz56`BeIg~3nVrqeSUUPZs*1MNfLq|hz5&V(F_!+2F%9ZVJec__202Lj|_4sGCl60&PC7D}w5g2F>G=~!SDnKkmp8_>HJ`+_Z0bSd&C~EfM?zv!abmwi$Zq-K6o;iF@lAVbNx+k ziYD731hRZwkD@F6S#2XbxMvG_bTj(M6D^}KfIsciwwu6!9lYDaF zDVFt+vCSn2aM*kH(Qw8CmZ1l%8mvuRm^BX+m={0^`9P}PRkFZaro@7$jk^$%G8ry9 zNnwhQYuSgju)M9qwmY6iXe3+H10*?YPQbo^)|O3KoU6C!eayfAGptZ~vY=h(9t!jB zd{kKEW+)T{h9kR))|I^XQKG7XV7XY(In*q-kmy_j7gOdnK{EfsNQ|aRtlqv4(nDly zGc4-;u&=nzIaDPgz13}yQXN=Pr$+cl^AQGfG3o(Vea3x44{5IRerB+z$QH%bi+ zhwLF!2bv@|6LQbLj;kKL=09n6-Kg!^zh$|bDLOGPzuBVn4$fA3ZS7Fw2!RnY#r`Jj z?5teiuD=ggPVt8jle@pm^zJJCGIC>1nsy*aPk{ZIz6r-sHijgqhfC~r3X;Rm0jXis zVv%UeXB-4)Y6rqnSmWB9sK^+MLy_)hqkbS{H&;r8{mc$j+~&w*Hw*0jxVO{=O(H z)a>#q3wL+?>Ui#NDt(@?=NS^a<;#P(J=vNa(9B-Sza{88Nkio}Sf<%^ohaSd1f5+wxQS z?B1z=GLN{Q`A>M=qB>#BZ`+t0}{5(IInE#d{aV2t**q*e1=@!1 zY4*3@K@vN&lLA9DX(Q|KUN_tVU7BtIjbvd$F5$gA^P(c1I9-!iFnsqgiU~v=j*W=@unnpdb~9Sy`#E!fCpYmIQ=Q- zUm^t?Wu5#F&he3F@Ec8}Qzjg1BZ?Nfzj4*|#0LEcsSqobAGEx=NgVU1QQuy}|9K9` zGLC-P_WNe53~QGl-DMK~u%-fWuSBoI#+C20-V)pNTD<|07hrz}`0!9&|Dg_z57)}Z zX9C1CHTzy*K0gWQIR(>3sCCnFaDmv58|^%j;^;{kRNY>^3(5@09*DegDrlnhEb23| zCLv>ate7B88*pk<)HmEaA;r=F&N0*_1R*nz>o_sGO2-)(^{+1k* zegrY8iXz0dVPzN`^Q}`k$)NZ694f&qUlig<=oJ`?N{L|ECmR{jgaWJd^8VRlLWI_iaG)SO_SO^>d1G1Fvo!o~c z3M4&9Rt(ggY{@o6hn|`o#|i{(I*n0)5%=jtL6S0LtTB*`6U^1(XC8aFoG|cI$PXaf`bYYbAFygT%{7>wh?Yr)gvr0Zd>XQ4QnaBh6 z!g)``=+&i`Ka-A;k>ejApHSu1GC&|G0Xq2oeaU^MPUi_~Nkk{~HAxTzJ^4otB;i=h zQWONS6FD%5ejb(?3vGXhA(F_(hn~R&Dowy$?*Z4wvy42wo=%#_B1rl1WXn)$Q6+vf{~stSR!J9lx{sqPmO@! z+ljuPA!N&!7e^;~%)>cHLZG0V+bX+R2j>+Cf~q1~vb5{V(&z(H$VyISpV3n+X~RPf z1o!)w+Kb+PP0zP>A!?+xvU8DP!w0T4$nr^e!w~uH85@6Ma~*gM|!CWC_JJklYPfio2HH5K6gbl4b=k5H$wqj5ocd1 z!ZMgiKo)+fHe2!h>Jjm;2>f!NtCcfezV2-Y`?!L;L%(Zr%v*Cl@`CQs27cUpYT+rw5`qT@yUg^ zD4+hTN86Sp>~8sN7%}5?@ldPySnKKccY!uRA=CFL$eaz9nO@fZ z%4XpkH_a{!bh~wJ?&?f$;LvzC_WH!|=G3`;D+D9hu3HFCrt|ZV1mB3?wfbGn;W~I` zZaMF8-!JT)j*d6ub&}d{F3fQ^z6))hH<{eD@)9Jg?6Y%!5wSkrSGPCAvPs{R&-&KD zn7i{LT&1}8yI*TRv+ejB$$%b1bUFX*>@0$8#)42i;lkHT;2Ej**RLZSm2c&B@;y=$ z#ervWE+pDTG}+ht?lh0IYL0*5?tJTt&X;gGOT?qB>95vA4u6k#xoJ)7^xoMOcA|K< zm0NAw`{ME||NpuT+kQ9NBOP8sO}_iKULpW7`nGBIF>1}y7{De^eDtfG19Y5>+PP1I zXNNyPe{qqlubZP$`i-cdcLcb4~@WnAyFZ{(G0MC-a@4jT{`6tQ-Uh&qWivb zX2DnQ4#aO>CJtCPU;bRUF`4>bSSHOngQ*}~ncqf(^d@9GjXuMJI^!&4ZfWi3@WsUH zZf;kH>@sO&Z};8A zg-AQ&e^!5BBa3syFo3j^E6*=hmk*Cg^ma-*em#)s-_A0qjm^!Q9kz9G^qhUxZbSw{ z@2wTRpR&MOV7+qHe@JUhaWBbZe4zOMWlYq&$(9S#wa%xrQ#}w|{o_);xnp#5QcWvo zUB7)9KzQ_TYbULb+IIGO?ruf=&5IhB50=o3uR20AOVQ$YF ztDDogEGGLBq6M1KVlVPzk{-I993L-V(ByBV46UhGBiSrmS!jB`y*Rni^{lPG)lyl(UAz#zjP7whMAo49$Tz}e9!U7 z*kc1X3wP&ftB<60H>#sq<=2YU9|Ua9Tp!SN7-r~y6R}D)Ij)$Sg6fp~{^VqB8%?7W zZoS53%rU6LAt$wc);K{bep4ePu9J~T{}UwDA0#!R8I!P~&;LvaIFN00OiWaBe7snp z1})>5;COY#IrG%@S9suq$%Z-KM)93THWRv{aS$|8??E^e{^+BC zps-*Tr`^0a;!y_E#BMBoM!8Dg>*zkXz%pxy;#*1cGNk9RewI#X-`Ls5x9m`r5F}72 zuCUeMV2P=~NfMg0J-5cxcJL?`n^tp?yT?I5bh&O~4R5v9&bLfjD@P`oq54z2sBgLH zk)NINsNmcbMo`A89NIGEya&}v;80-AsN2%Me3pwo>>h>am9LhU}9t z9zHUZTRRS@1O;XpZm?|LP@d6AnJ z#PrG6<8ayV#?`mJpbFbj8WZdIG$E^=;?R0D!jruH0W4Nq-Gf$tU$K0$DafIUC z$fT_?x9B16i4}LJ*6;4O=R2#6X1{PmTVaw}tCqR{EM)pv3pc0vRoY2swJWt?&4bqb z=a}@2vY}EQhFtUfcfZhl#MIsHJgH^B=s`irl+)MOyy_*bWIlB_s#C8X>#ee`=)EVH zJPY}>aamzW22+#Y|4^rFdi1d_sB>j~g!fOKTu6?ktJie1>wAsY=Gzo0zcS!Z%h1q3 zAgx%I=LL+bz4`Le35w88JS1~DpQ29yDTH7a5v<2k@SV@iX}hh^G6DHU3m;icY1+X% zx&^y;LDQS^4h`YqCz90lc{7n|d6r(OY_SD>yHV#&nVd15uC)c~Br-tKYTW}4GW_l- z4VhXm5_vONJ8^BAh#1JaJ?>ll`Kj79!JdlC7HqK@b4_xxft6SZ4RDL$yW~PRJ04C&v;j`P(ZT-JJ zXvkg?3UXpH^$rvxC&{Vh_rdU&j+Fu$-10R(?M|#p)Mm&3PCxSS4$C9I;*qA6)Bc)> zFY4c@5EN+tTn7UAgXE=NYnEkZV9|vN3Y4A;CoWzm%hStSL9iSW?|uDQAs$2+I$e!5 zC7Y54*3T|qJ04xwJijk-$Xyf&FX}|bbP5#6vEpF_R5#LvU0vb|67X}fL%N<_xqWYI zZfp9dhYyKzZZQl;_YA;Q4b2((S<_HBzRQe44v^A9>I}yHW^_Xq9|!99?oKFus1b+_$H_R2_a%g$7;LSoY}xZ;={fXXAxw-5R8mrVao z#OI_m(N~7DCqzGMG(IG|apW;KMTZ3I{7~ke#;X0y!ibXgKhB*MQ4-!T??S(3YN*fe zKafLdIeL(Cxsv_Fde!*)9tQ}#L@{(aFzBQm012eTNo0=jp|9h)CM%=Chv;?lsfK(c% z^cw#60Et$^+=C-y074`yoZ?sC-lY=)Xz}_r3}=y9#+%$mIPk7w=7@~Nb`~VXp2Opn z|0#dtt^e#FU%vIoTM85y3MK>{bT9;MN{qG|2wV)p$jN;OJLOM~!^U32&cXsnZz8#S zX(XjEmir%O%y9TA4bNaQZX>Vo=NbQtgW&(Yi@w1^yi~cAg!e?qLp3hx;OFwHvP_p- zOE6``a(9%Hn1I4`euQMco5-^0I$yi_WtSkeq`N>7Ay|Eo#_!K|EAif=!B!lde-Px7 z%K)gzC#0>klYR)yUCu~<5d`@j^ho?(5j`G0VWCYMjw}HZ*uO{QlI}TG_cY6Gn$;@t zz*1#^V8erx+`GR%ALN!3g!Pn6HX2otJb7eu&3ONR_M8Yy+AVB;|32c4x=e9BUknWTI6YE-R;#a~oQA->o~EUG7qN~S+}$nQ z)y+o?V=JEKM)&?PaJyi)O7(npAD(}3cs!l07lx?Y2Cxu#v#G!VM82-@=lf197_9PHOFRvMgPOL+?V`Gwhe3i_ZvNg?j@{?R07BeL(2|}={(34KmFz4UsZQxebX=6w!cr8hD83PDD_IS*scA+hSLkJq2En#q;B&Fd;m zn~ENHsVPX3kaW@5l%K#=DdpqvbDicxm$eq9vM`J&H|ZDlOivbG{WvWRbrMouJ1XD- zpe8ZoG-Qf!F*dFkvFEdbCe@j&0@wH5t2G@{E5BQ6dJrXTHI)Fc5d!8 zPeERla1gna%`*O;yotmK&f1a z@s}BTZ1ue*h@)#ZfU9H!Ibb#LtvlBD4*0)=hh1T$$+~2uHXp;p=EVxs$O|I@=Y{>B z@CV$q%pe=I;z19&^S1mo2U#pwJ%%(%S3_NSzEvXoSEeV8dRJ^ecQVIgtVf6CveYuwv5yvxXWj9ow z=VB%ei1KagQMZ!m12T#yglj>C0^T+exGps$WsU$Nu0|kEA6~k)ZeuYX%rjERtIw0kP%qrh)s zDQ+uM{$dd?micPQ_kMo@9gV`Se1cia98FTe6~8Z?PB0bJmX?Bf9Py9LL`}SR7uR>= z8MR`D+?a!~OI+2-H=LV8gfo*qMpw#g64t+(WT&ej)`5IO(1EEs2P9Z|pin=#Ys>A0 zfP)UZ0^7T-p9ejT3)z`Vq+r+|fchR$FCF=X*TG@X4ySNi2gr~ft&9VOP6Gg|y8^Z` z8%O`fQ$;uGD|p22?oRERT`H#cvYp_2xH~c80GK#? zi|-G8%I4Jas7&9tn|0>?yKd`qv{<@L$PGFBg}!0u_~Tn46^-yW*@tY|W^#=|^kgls z&nKh5@jBW>S+O+X(f7%$P@KDvdEG~co)QNXa=swzV6Ur_iNRut=uY`t?5z#K>LZ zKL&(EbL5}$FKD^BH3V*^!29=Vcn9WW!HP(%Cp@zG&ixHDf?hbvj&OiCk$GA0qCke+ zlAe-w!88T~D^UDIP3Zx5jAcIf^i`lnMBS@9(p^RZO`7ysIbD?htx z|C05`-YskZu2lA8n<|QFXF1_GnqRv2br+o;!|KL77FRiG0hBQ$a5{Rf- zrWY4hbo=wa+(V6+Q*GByyH7nsCE4B~`?{@Zva9@F@9cW~l@Ii-lQeEHBZv)29yDL3 zt20naSv)+il$ZfDXDqy*OFJjL_`ugk?HA*@As5M(eS1N5vYs7J@uYL_$E(a+135=t z1=om~5o-nG-connm&r=&)U~h(-Hf_gD^SxTybPtHmzKNlAX#*Ma(oTO4*#~5&uaGv zaLx<8W=1!{6GQ4u?Tw#d?9AzBn%vt@x2r;~&keYMYx(-Y6vSC+HTs|bC-V1O)gqJc zBDN{Am+VrCoN@rs`p5H`qHdO?q4*l7%t|+HooDu|5sB)V!59871Q}1uAzJNHn{}~+ zsotVTlm+h{obT=qZR83H4l{0aTSjedZSDRo#{=mJ?b=_7>cDJj_Avf2#Aj`iDwS5R4f^sxcD-SHOmprVaYt&#W}dnUhl0NW@5@l zeB}OMae2-hDJ{=sU+-PK@|iixu1@!+fsu5U%1Lg#8#iol--n;)UX_G;dj=fkUL7gq zmD8qg#KKNTTS~(f0K8gi?8h7rD9F1Cb2z-G{}KtoOAuYz-*ofr8AkJ#PAF0VVZd z#VLKje)ccok1Mg_{HQzLSl_&zAlnplaIiG8v9P^hC6<2wKcm&25SLn#B$ToJ_nYJY%}Cx5zy#bCbdz|& z`YNR)UL<}DP~Kje;fPEtz;R?rzcfikl-Gt)HeDIfoJ zm3Z^FkX|LZ+5G&M9z~l()&{Hck3slwd~Rsa{?%5rOR=?w(j(=C&+!`*vGk?xS;ZBT zrFUCdvnmA!m)63U29hPE74DbqEzbXHjL(yQ2K3doH`eD`yIw&H0zw<5Y|>8M>GC>l@-E=&r0) z%A0Ataa1mmGfhv-%-jt#2ecX;qeD>sQRJ7xx7nkW3|)^_3y!xh_Tui;DQstpQ$e50 z`MQoD;3LJJf9#i?d~8W&B->eMKEIR(C8eRpW}zH)E&+Tv>HY~AI0cOmq|;>tcC z@MvCQHVzgGmLST%Qrd9p+r!@SD(C-htC%w6Ft*wmz2OOYxGR2ETzOYXH2)ZLYk^wg z1>wIHT+zm@stPSQ$)+!%uik=6H7{^j2IEk#BpYv>$(l=z1)gtmu(8BMDiNX&3IY8&-1Y&3m~Z107!9X z=ICsNJ(N7Gj3+TH$#*p#cW;n(;CTjPe0NLfdTHfbFx8i`tjjI80N>190oEQ=_}Y2f z8Zb<~K0Rl5b8|B=E+2oeO_>0HlCnYAP%@JX+&fw9=fpoZGc=p6(jF6PKYu1e@Xa0& zq3!SWBiiFm_Z^1AeH5;DL~mfw)Fu`!{^AxwvHMLgqf1#Q@ie*i>f^N%&HoLi1ewz! zwIqJn**8HS#KWJA2s{n&m1WEJJ1s}W!Cv6~`6=8-lvPP@&7sxd&_zgfj1LJ zNDmMnytCf6~vocoyIq_(mxl%cx4T+B~y;Hy%ef5PP;bWuv`Y&rEMm>{ZpO$t$ zdZ%Px@udrfT{?Vq;rR)`0W7aQMy191ih-3J|v-Dr*k z;a~?^P!}jUNivg^lEY3QU#_;8nN1;hIb4n0ed;gO#wowm`q3F@(l-n?J9}wgped=e z@HyU}8`OJgHU8*Hu&mpRnKyKqvBVT)tyD+w?m<#TpM80bxBZ^o5Z$Tw0@q}E52wGx zN9%vQot=c`jL;@;Q)O$FT8&dgzm#QijIv3^X!5=`VnI_5D%E3L7D^dS3hlH;7Kbx0T*UG(T-Xt4$SvhlKzFmiq zYz#{wPka;_qxFh;Iy`#wBIhW{^l#IXCda#+T^NrE8fuur~B zDZN}>NExMJ3H+Qli2z`gkVN`POD;zFfbLGN0}wkcq;;tf*vf7DWN9PCen}{l35g8HkRIw{Iq5vbJLAp&lQS3J@b>R_L zNe+0^Al4tsosN&ng?hSgINmF0S9tgjM{k6@qWYFuXqg(l(T4kd&O~JgqfDBUWn@wR zks|wqmR#6`M?Hn_EmV~lRmv89*9NpO7Y$6N|Bj*W3{3ny0Fz3-n}k&K>N$&=o98Hm z_;yRGrxpUMvNS`pw_r?);K`iql7P@{{OOP{!6&=U9Q2r^U>|)4zFNx~IPJ$-V2!Y7 zvJCdvNL^YQy{U^8TGr>nN5LP0odAk0UXnd(%w(%|C?1W_;8W^avi1q_G+$QP$#Ysa z;MzC@m~MtX%?d2%Zo29z_ilR4Bs4LfmGjn!?aQA)Fj$eRaDe4_r$Y*+hx}t$(VLvI znq77zGkxef&2seG=2lOJh5_2M+H_GRukLQgjo)DFoF%}BMiKo#1M!N$@iNLc*-=)k_+uPsR&*LP6MWykfeIzU0!DL$yVNi zHZu0F7(Rdq1nyDLuYT`19Bs-G1#Is(>J0Ymy|WnYGMAxX_F&MAiB0)3c8Fmgd|^oi z(;uMAOZwfmaaOr8$-s*rfH|76KiHsB(%_>|gm!h^2_$BFWAw=+eIpt;mDyWLF!}?0 z3si3q+F|Gdw&_PjG=}v%|K8N?I|mIeZbY}J!VYXvTFl+#w8T=>m0R+RQzz()Av`+WLjUCtDdD8UwQ`;`0oBqYR$U$>G)3ejE~K#<)* zU?I*k!&XXHd~HW^0iQ5)zPA357DQtW0tX8#i9JLr3npu*((xDC!f36}#HFLbNwgbi zpD3@}ro!p^nH)v(Nr3MIpb8)c_^SVE-NeLFg-L2ushmjGOn9e>#9758#pqZ)iB=X~}4;GF3~owo$?)N#J}O`~*Z! z37{xmDS}aOI54$4_j=iSeF}W-=G>dBKyV_O_MrObL_G>V6g( zV=EhYu9+lB>r)$b0?*C0kiE@TYEw3FusL5o!`|FPq{w=|v^3Itsmty@OYPcfl1vu!`pGq%1<+J2MPxTWQ+;C|~4=$Lp z?Q>fv*wKi7uA!Ia6zG3T!XAV^Z3#Nsdb%(T ztQXlcgC8a>8|MspF$Rx}@i;i=kuM=j4PNw)!1Pqwnd>F8o^808|FG|_mcCm+iJ+S9 znDk_Ms0OrU^fQ|#QLqAPck_0pXl~`)d&W5{n0PoJZJJkQRNkGL!{8G72CE$e7@1n` z@}iZnsVc`|%|H6n&ql$2!vMy#r$@hyQ2{=4E%q!(kj{CEk47~$R(`Qln zzK4A1oAt6?VR^|qBt)aJHi9tAhK?VT;m||TwD92HNT?noCLQbi?uRGL1jJ?v;mR?KHS=V#zLpJ5gxZQMfAPq`Fa# zEOKx#zPt}OLaI8$pc;I9Dwz(LnqsG>ypaV-s?H#UMQ%Bh&Hkx%s|i5Niw4$(ML@65 zrOK~fTuFwu@N|7~XqSVr47l@t;kIT`d&>SUWpF958`64p(y?|0fE*=;bIfR>cuF4d z1sIJs5G8zTHOODq z-r{ceXpz=ZmY=)3{0z2=ok^+3)3jUzDQAQAe51JeX~@!`G~HpN$(iIa*Y_8%146F0 zBxW%x^0`CH@!f6>0f&QS<$V@yK~lNzg8}m9=yB-TKVZtRg)7mStiQfGXP*tZIPt`B zfl)j5kP4>bW~F4il0h#=6aMa0MxB-TJpke9^e%#Fx_S-kV_FT<>8)&&lp}1t%UVa_ zY(e4{KL{Zl^12wGjREVU#l6j}mG|)?so`xwS3q;ZTb&ViVcUoua&RrND^0i;u1=~2H2509EF9@}ZgsBf%NLub%nM4-AEt*_YjK+qelW(z=)GWkBk*j{ z&GEzHsle8O|6e2fSBZjElBw*oQw;pRTi;g8CCYz>j3?8Ng^@g$W?;GgE=-~x6}SOni#ryeq~#nll!neIH-+Z zv!|) z^3ucv=7cG~r+Db){1TSu`rq|wdrl?$Xb6z9@@o(F@~OtBMfzTx zT!(+(= z_0sy6Qd5I^cpG9OEe&MV?eg^*lz5$rVZ*j~y3hBRE$q?ayKin};rX zB3$Od*MR|E_7Em4bq;!=kM4(vAh_UA-@b`DoYLV5nvEtpPiWjb^{mgjT)_Vx51E04ctjRt1Q{hb7nI*$J?DVDf_ zIIxX;TKk&V#%nRCgJnTZypoYhh6%0}g`f@}Pg7Zieus&j zWycxzUZwGISLKvKeH0kWpRw*cb$Mb=y>Pa~DK(6P4W*gj?@%h%En)H6M#;&Lf;dGP zITrqOP!4J#h~P8!HS$jWjhDR-nGzmz#mtv#8Kg`Mm|tJm7eiJbOPB>qmcpePn--15 zrN_mUVmt#Ht@)UvJ-vf(%xG$m7dS9F^d)INhS&Y_Y066TE~KZV@}W~&{JfeKvcKP~ zUmRaH!iyjeE#K%|{s!`y0dN+4tY?q?VQ($5h_o=&x|K(VluZ$;g1Wb9zrZgVf451} zSOh=ss5Py}$g9ikSUoT(Qbld({d)6w`pbr!LXfak(5X=93t6-L#n9{atMNmZ%aeXw zAjG}?bp}dmg>!wvdd6^c*O!8A87HM|izy1IZ<9XeW3_YC+fSi*D=_%fz~j#r;Xfu> z>Yr0?&6Rc<%H$LXzWrY>oYBq{5-(%LPQXmJViZ9t>*yyn<&tJj!~@}%&MN7P@x~lb z^3doxrl3wI+MY6fua@ykdB2R!B@U6x2CBCti3-qd-4MM<y(BP-RO_yi?4@~lZ zqacV6q%DH>Pe%@#9d=Up*2mRf<;rE1p!(hyK0$*iVH(h0tHKzn&z7=XbJ%l?6eyJR z-DwN!H=RFSauG|`_D2Rx6)yWW%>Vh1oOB5rA2Qx_B-sCdGD`~j5%Dtsv03XNnvi* zq-!4J;)M4oPAuBq&Q;m#w#W@X=iFam-ubyXJu`KjFnrhStAzMv)6KnWiZCCC>a&u} zGY3+ENFn~Kn&yax}a1_ zAdv47s$KGqF^D5M(&P9WQ?fkOZ4!>;pm*j^LcQ_Z*~8>SEu&oH?Cl?>BR9-wksmQn z#He8+wj=-UbSS)91S6>;_2W=H47`!6mxa3Fb8@Gc@27k>4y?k!$YP=b6t-f@MX4fY zGV)q>KuV1!c!zF=!jFf6q~lz;jygsW1?q_2VN&${?!;g^Jts z);sE96dmWoM8%8SXBW1I%~?@wpGKP5ci4L2K(#~(9Z9ar1Z&S7+2&bn?vK;eupxKe zdjGUzf8&nn4FZ=5@sJj7NuE zE?}=O;Jw|%THw%49onKgx6I|eJ?lo3^0Bgz&4%;fOgs9C-RF8y4kau5r!~Z;)pDku zwyj>b4@35Y-Ep1_F-o^LQV;DLq&ANhKJB+`HvLaY!~Kdn4SfwymUFOKCbyPX90rk7 z3{d{ZeX!ohn7VY&dh?1wV`EmpUcs%IUe8TS1`1^1G9pic{)n4+iEwYmuRi_^lx=B{ zqyEkBff@pcu%lH#y;l@#$rTuO2&R+XbW)JEh-- zlJrTwtT+^F<;)*5(Jel2tH_#bHPGOWy@NlKe6X^=Bq9_iE5vJOMqsuX^jdCVj?%kr zEU=8|Dt?Ks*04kN=L=-eo6Sl*8Ilqj6zOuT7{am8pb?ipON`UGDZ#(}SfLQ4Ew&p4 zQPHr~!xXE-3PE_{akS?u(~5Bl3ja#s&nOMbKz$zThi9@WUh9L{psmo* z4y(;1Wn{j$prlSC?;cX)F^p>AV=th_q=5hi+0|aYi3AY_&O8(oV;I;5(rfkX2S(qO z&;w?&35z6Cr(MGy3*Lr~z~3XgAvC-&4n=ask2K-lY}Pv+#-gw=4N*RQ#Yw+bHZ^i^ zoU@!Vi6Ffl%%2u{FrzcVO)6sMuSG|1GbQ8vggs&~K85z>Aqw>oP5RN(7jg?fku5hk z$#)|Op~^REQ&M4Nir|)FM1sg`0}aAo6HUKB{rR{S$oN)J*-Y5A7S;l9Q~P9(Lb5P^ zK1u7@QT+W5NAewcuyQzg(v906P5JE-?soi>%Z)_62^(QmBvg4SYzKoVM!1AS+zEJNf9`Ewuco=Y=+xLyGdj7;gs1Al%Nb?TaA9 z=2_W@N~2iMP1=mbal%k#X_IG6OhAhFVv6S751_Nf`Q-fAwO(`TC`k(CVoDy4q(GUw zW)iAuAWwX~>kyfglvF^F&)Xc3ihOcNjzEM$&9H{mNHur{!pG@@c&98BC6i#lMN^m1@1J!BR6Yb@)pILd8 z>R8Bxr+97&?qaA}V!TR0aBnXt_9Kl9)K2u}%c_g;H#{TiCZG0j!mJKDj{;xgE_X(lt=~}oD|aP~IngB~^hg%; z=Dl6z^mh=0=8zM!Q%!XX^(ctJaA;Q;giJYu7phX5p43dWxu#Gjss~4sdD^p_wcQhW z%1?($JoH?Bsga*T1sYlS`6zAtnb)lu+Sy*Pqdtjdm`D!>rIBW5Dng9FCC9-na&k;f zFP5v??tPvLni5>u$Tw{QTT|WEqd_94GT92_1Ph(^LQfj5xiwS96)tR}la*5#`+-X| zaJZOX=&ca<4XMA%yE!ejxdVFJem?+_8+_vbgs%s6x8bn;g8izuB#}M9 z0b&z8tH~8V;ZkR!O6SED^IyT3LkXiwqyO>M+42$4Lhl02aBjN)^mM5}ZGXunR2JeYsI8q{SF({h8+6Q!KLvo5 zz72=?|2jVuJ7q49L2Q2*zcB0-7%bF^^1N6&e34PAX7pYqy~(nn`Oq%i>P#dm z6sp6(i16{Fp)w=fY0&DBWaf1B*_YO~uhQqszY6xP&A+&`Vx!^DU)m+RP!sev2FnIr z(%S`3L7Q10Z(RvsXDkjJQ^UKAi_PFrrOHZtSV)u=N{|QAQ6PbuNo5 zC?ryi=r7^A{B5ug_f^uLpz z_Dp(i)&6`6K?oW2(Vw%C7lnP+sof95Vg|M-&^d@(DHBz zBs5_hdeE{oYhG_mTSC0On$YKJ{2ee$6w_ zB>n{YcjpU<*R!E5l5!8cxPz}=Mfk5|)pO3gonf1GmHdJ%LV5fgLytM>n0`!N4JjnwH)i59c*2F* zJdiZGgJx~krjRgUjbXgKvR}hak-@X!UO8EOoppVFJ-8hW6S6C2U@T$O84f@uFlCh{ zM#wx|c6h%6U$}L{rk2u zJd(<=8VGPz>_YghjRs-^*~!F9x4LC|0GXuA-@o7FUe<)i?9HI?aq#~p-Q=fsAc(Hi z!I43pM4U>8NZP~OdY>RR>Gp|i3esk|w6t#G4IKVdq*{G(;lni(fz|R-D&fS?kZdnK z%-iD}4pVGSRosNVH&8r#;Y~1zsP<)H5*CeWTE`~Vvj+imEN#JIE|JL>_GFx3tR05I zshEObaJVt!ogqb*?@?(<74}#$CK*Z2`1CPkeAzlrqgt{%4CcFgJHMABDeq7T6qy0IRd)r_a(w zSAuuUh0})zY#&jmCi>jO0L6Bwdd^|+^?Gz}T+7#>BYH>?dcuk&v;Ie1XGmxbuvedG z!um896qdVAHaP{lvqZ#~mHDzXRgS3UnwepEGzU)0EJ8lJ)xXtxHNF8nT~$g%m02Xv3J zh6cLJWnYvD+|w9PJ_Uk)!=*7jH6`eP zgY;!tm^1DhOAjXNt#tl9R3ZRfZp?(_J9=UA*-;>G&~u&LdVP`tZ`^zJxbb^h8O=%u zCtYFK`b!ZxcLt!>X^$ryW{gj(=qi$;XqoT|hssU4i0WKwB=S!WjAsayG88C6jWp6@)THcmG* zyoWwLq7J>^yL&Jp#hAY#9rZ0tJi4bBV&A%_^F&WW9a@;}(k!Q_*gbmWCR0LT9^5o< zlIAn*!&;;}uGu3c!cg9Nx-(v3d~aiemdT*TpNf$;o_b4b#Emv9dEXXCO+m3_nO;gOn`(ev?lWp=` z-F!yNQO;#`1z8uW5a!d~9P$!%P7`&02e~7^xGS{V7GS6#S~2Z@dBxE008A=M(BBd% zJrX-y!pL`$l{?QPrI2AsJ03szZXzx3me6a6bSxH(Q6v4m+&)U-0TE+7sy%Gs8rI;#JJAO-cdJx2|YeW6y61_Y@@| zcZ~ZENAyt3gSBYHUYM{*4`k&yk^u@;Rpko+(wC9nB-LiRDa0rs4nQSj4hsk!WObD< zCX&NnKL&Bc+8*uhQnXNk7O;07hv|la07idH;$N~ZDOvh$1P=+>8%t#>YSQB483~Oy zGq2BKP{3aB5&QPM+B5NM2Pe6PB?D3KqasI-B;8B2K8dti#9I_(WoM+adsRo-#3{uR z9r>+b=}y>?GY2RJ(WBVs@*76a3kCkb6|^@SG6vBFW-opRLHsCwz~z%!JR{R1NutyR zzCjxf$D7nLZN7#8`r|9gcc5IIAGxe|k3O|GMT1w-$3xG)zV=nkr1$v%EPdnS#1uvh5mIr8atEK92UaI!yM2YlrewnSc|mOgZ;c^oC)+R z;UjHMTejpjVdP1mp{P6?tnlOWkiS!INs7PbpyX6H3i9q%3kUT z)uuqc01E0WkJsKCEtng@5FaJ*PwJgbX!Gf1hXLV+l;83G zJ`S!oBIawR39256M3ChF{>`-TLs?klqX}P{W6#9aawYpMH0q|#??Ndt?Cz2^H1bQ2 zu`{9aK^)Rq?n$afYK_1feL=1~%ihoK(j$qHVTduc++rrEG74Hpi)?TWZI}R5rm2y% zlSk9Gs)@;(hU52Qt6iA~RGt}Vp|b5!mRPNvqM7q$kJZU^@3!XxXP(#}2AH&z+mKd* zTT}=(iqvLjY^Z>g5A>PgF#NW!WG#MDV0andOY+095TikPYi_7^b`veCp^?3QDqB>S z^V$qe&biwWXwxcz>5|e+)X%YZ%3O?bED70sO=YedhX~vtQj}9e$?;z?CVV$ZlqA5B z@X>(u*Te(_ifqLcmA1@8B7u*RdU2Om*92n-Uk$QE2Qb<rF4Yz^{HM+jguG95IK!b1O1(wE__X$TUd`{6_w8=4;o;@WPZ3NzpO070u^?ZK@|t)yqpc(Z z7pwSf0&uXP|rhJELV5%lry1^)xo)KCZKM=i(e}?5yoq>xa9$e9v_% zUff$MeUAD}nb#@#R`J8n3_RBop5VzcX~hu6_o@}>)Td2`; zmv5Oc4R+bC)S6AVV@sHxH4SiotUhP$@n`#T76HM-OatZGX#=p z<&yTyr}eLERvGpCp{0j^KNPR+_UlO;zJH(VNM(P2NHX6~tj7vR+!h~uo^8+DSdPo@ ztLyl(p(XmExFI4|oL+j!@M!I_7p&AM5M6&S2ZRK=>Qip{yCoZR-G4`W2aBBrbFeGM z)y>m=G#6GsP4&JD`^#vBe_SU2R#BD-V{SIz{o2|(<0?+2oL2EFlOiw4lZecJMEV2g zQuoPhC)K;a6R&1-A(r6g#aNaada~r6xNldqzdyRxKfm}z&I7D=xSNXOA-9?Jnf@sw zL)j4zqn~Z=sM#=pfUKEbt+OHwG{cGa$#wRt=Bf4FKkypuE=bb;< zJiK%^QhC%?;E_XH4+~_|)LE!}peBQ)Vfsb%OIVH$Fm1L|5#sw_CcenunYz|ftF1%7 zk-|$@ow%0gEQgn?2^Q-YFtc@Vr=+B)bQejazB;mSp{v!VOX*8$9sS(eDNc4Mx;mq$ z0+%qLpUi^L)1~M3Pb*!((FrQQiealmH9l*-?VM( zlRcH3drmt(#YYlZTT74DD8$TFGr7*%uiURc^WI)}Qb6mNWB zSZZ#-?k*Tz%?ai0@W~&9HP{dQCRe`zSfjm{Ax8AwFI(?IgN~P@D~ZEG+V9Jjq8r#1 zTFwEQNRd9e8e#)edA5k!32g2*U~Tt@rQcJp^}gC7u+LoX1gG@1pKrMjl)6z5{W)$J z&)t-iZTBzUx3)ca8M=!0k$0?YUe^7?_YdC1(fGBoWol-t$<0x1oC$cC!(;c#?UWi- z4i#g;eHGYA4S!U~2jtXdgQ7>PN#tC5d>T#=rU$$1WWUm7I6F9SoUI*;CMuYkTg=*t zobPNGAeQ@aB_um*d#QK0{rx0a$N{Z@8t?#PgHs2txM@1H{x_?J>jh#Pj&8NEi9jrG z7*qi$k{?A)zQ>R2{Dz%xPdEEXNF1I?rs<2OYaFc&F*j_5?#?rgsW4yI|78u@-#kp^ zY4=CaUU=YQxyws$=551*aFL2B5AIJsP&?&Y5&wa^JFr#DTScmT!!SGTdvrBZbARyh z@}=0<{gIMJt&)h-R{=&vX}A5)*DkwpBZr=>^Zo&sZ{o>6Pl*kQX_eTe3F`^1D_pD{ z2NW~eyeF86N;y|IjGUD%;Hrkxc^(;YJWWqq+H!NhS%ptbLGs+k%t1UFw$AY+dc{6Z zCH}Jqgy^2EH`b9NsO2DI;;rg{4#Kz z++I8!nYYdxRCbQS+XwL3&IiiWEleN&`-$e@C7WWMbR`rT=NH}QIqp0rhIbn{+_f>W zJ^U5EQj>+Qeg`{fXijXuPMtX96;n@1UFkjaY&11mRq`Hby*>)eSG%0RuN(C%JD~&`((FahViq@Kruj5~lyqjl5owbrA5EI9&eX zs*ZW;p(d2bI6VF`d)-i9;q$XH>7%E9jscl6x0S2Ek=f--nhWHxJj`XW)0At<%P#(9 z;&2fH5MGuEj27+B+a-N}MK}nA+gfi1#+3j0>?J(4Ri}OPy%<>a6K##T;QAqdiep6f zk3Ww_++_SCoJ{CdQtSp6UhQr!u1-+u98CAhz>#bfKOlc+LN5L(wVA~6AM*LZN=?)3 zwyBprnumVBQur@APohHxdFDAqJX#P|VL$hDDd~s2FR|k;Y@TR6T>#!fhCyj5a~?Zr z#+N7V?niMu9WON1n?C)9DFFby>A>I?)2bx>#E!^*3QZVk;gfMr>m1aGub;d8hpggu zf`PR0_ycbLI&;R2$s|RH3aP1P+Dm8=>wha4hYT)BCZo}K;8Dwm-^tpH(eeB2$a5Od z<$u*mtp!qFiime;TCP3A>}M*Owz6RBj)Y(D(!G<=OHTEs6(DHaR+q8H! z<-!crh}h{j(co8}UV9f9-rEptb}c=NV+;`B-wI(5kPYxjXB9F?rr>u8D-=-CpfqtT z_M8=|xKTjiK2pGMVJLs=-R62{$=1*#$(8Jfzr!P5jlEu1FHSks|I#blFbjZQ(bFK2eSi?c86aH6m6KpI-@I7|FYLH~6}f|G;_ODtt&S-7XX)&lU+ zOY`AMEqp!(`&GP^)m*U=U9faNh-&(4W1F0`{6IXC!>MX}p!}$zIV*8IQUs_3S;z?u zCsIEp__i|j`Zl+Jl^ibp?cd9%$*c2uC$*YpKVP`O$&aEURd&ekTjKlNf%w#g@!?dv zC8^b>!q`RQ%-nK@Ugz%a?FB<9o$B0|iERaQ9anc76i^vYd07nt+Nr?DUux@q=&GrL zy~@}j>w-X48A%s9l~7;2_8XpTf)n@`ZV`OWownXRdmVRg&9e8EUaSZX`~d@;U;uH; z>cQgL+kp{Fmu6t`F^&DBDKSyM@jU%c$wt25SMZ3~ldYuRi__FZ-QNJ(uFq-w(5(jj zIQ?_EKz=+SONRTVjSFr96Cdaq1WSp$;a(pt%q02*rsGunMpStbCe}hj#WuBNE}zswIcavf;iG_Tl|u8DVaHJGxtlodoQ6<&wuZW$M%@w#{mLYJJ^@dD?Lkkpr9xD|D5k|JMo z;@d)M_++AedG6M5F53XAe|YlrYep`6{CRF@)8EAC1)-S}x$o*HjD&<^kI~u95l|#7 zkNS0(r?wPlWF*DSKQ>QcGX+M_9KW{9|R4r+_}$e`WcbDx4fl(ihyulQbdk)lRU6Q+H%h zA6ugTncE%xyyna1d_EyZO(9GdO)bh`eE{TQj^!VAoT3q=;1yZ$A{rrmN6$k(GqKr? zt$|!2k-Mejy)_l|EC$71B2JcA)1>A_z594ug((1>H7xrKt&q93-N_ruQm-%{sE`el zr`XzdNDP=$?rM~|>Z_QMsr@^ZyzGM)j2u4I>w%KpqBYC}XjwJVa(vG=;vIC1$`033 zd0?7HPk2%dJf!NgABjIKE5PB-R!Ss{eM;dpKn45OA-9gKH%m3PXzZd~k}3(bwQ`fkY9Sn~R;&^aJ$#i4K`x zi073X12q~WuNr1`MtC7N$+~XV-hu@>kSabvG&_VTugEUcmOfCPa%+Ih->89PBOrRH z;#w_$Q!8S#W#7!&lZ;qb0wE5}h^_CDS|hJsdrMF$!FeMs(LQDp5ry&q)_R2nmJ+rg z=^Lz;^rPp|ikV^|`YHZRQa!P}8jVn#FTbI|`3595s1H36d)J{xHfQr`y@@vt;6C=4 zIHMoKks!W%3*{TqP;#Siud#+{vAYn5r-iBdUfd8yr<6Zs_iW0g#CkFV_WofIJ=xw6 z#Qz}cz5m&M|FG{EB~*z~qP0TI+O+nl8EVf)(b`l|d+*e!)Qr7q*REZwsM-YeK~;m+ z2ur&ICBav$*|8Z5Ju;Q4zWl}OyhHV7>S3mAm1qKQql zU)BPPf9Islu6Y4&Zw*lnCwW^A1U^%8E(^lRWI{QR^>Ho;UuptFdH!WPQC1#>GFc+> zOO`}kYJw|=?mcO~#8M)xBLbxc(tZO$dx5~PfL$=@ARlZc zk3`!ihm2HByKE&-2KcqgQ^8CWpfc>x8C;L=r&F*xjdF_D3zi59Kp+m_Iz}`_N{fw* zgewiiP!KM1O2~AelcvW+D6#vVr{5Pf_7DzbK4PalLydO(JW3+K6EBrV{O%Oa>;OV3 z!{MBf!JQl>7_q)~kT$IXQ7P)S6I^9)$#9hKE~#|tMVwV$&utyPd-uCxkT)1~ zW!&cU8wh86W;C|$u^RDkB!r_ccsGUP4MY%@LQF0Uwo_(aij|((jHXEu(}Ox;NFKw* zuxnE5mXsWayJ$m3jsSKr*2z>0$b>Z{hJW8gOO^Q2lZ?Ju$s>moO|?T(K>vkyvFKKP|XqUX4!mRdj zzvvx1@M8i>EZZqi!bj>t-{^6=Sxa3~RT?joNMmCjk85bM5tk_O*FcYVR>J1IL%h=f zrJ8!%CT~y;Z=_B6@k2F}$n%%NvHdpA&m^*NenX^kianxYN5CUl@?KJdDOx>B$Kbu1 zYZ(R=_f?bQeJXrF@86h3finnbz`!ZF=sqZvqeQtT2oZExLNB%t%^=Kdob& zeBRCI@~usXmm@;pMfFQDT~(*SI@g@-IiFg_-vfu45wDN8zAd`6TU1Ks4i?Gzkdhev zfuzqpzxkcnb3WmbPt&=5@=@WHhX;ZRZOH%T+lXl5psbuuKhErdZ;)SJ`WY_laKAs+ z+3Mq?06FUJEpo~T;7sC)ls|R}Fd~=2x^~)v`5&fz(IErV8L55Ke$f_HMo7OImzU$6ZoU)&GPE?Hf zm(=tsZFRiL9A1Z|n5K{St+uvH^s(n#G9d5PCe3k0BcMi!7+Mv6n|pBe zFO^S45|ie6hlZSt5Gd(H5(gclC7LVg6C-}%W668Jt;j5c=qA>FLJ@Eax={q^SIO%~ zi3*4GWnVkq&j@Ob;p?B9nLf(F2F;w1!1$BTI>9EHvJ)8p)&+M{c ztj^lI!C(0XSqd>B_D^=^63s*bq=)X5?o2?i|1*ZDE*`lA^kIL~XaorXMZ7rtwl_=?O-!oXu-qC{heR-Ro zbac^57Q(k2;$ZdPR?5{VE9vBPGuf5kS^}o$JGhGNI({a?@%}(=+ir}zfsXP~LNP-g z-Du3nG0q@;KqP$M)DRQ5w&>BrdM+mNwy9|b(UnxdTgiRo*I8jwQzaY3gizzSSq;BV z0{)*FGNYnW?`_RTtY%zwi9_me!+l0mWc{B^5$ge%_2(NkJ~>%gPKaOU9rBe3#Q?~- z`fuWp!~VsFT@gL~G7xNQ=1_ud_~!cNdb#IjZ)fc+E#IY*k!eyml~aMLzX(UaONULw z&begVB!!<_ef|&%&LjTO%bfprEi^Ak>Y<~5Q}E$N?8Nsf&XKXwT{*hq)pG z3ZZ{`Nn(%pjlgfkWIa@S!SJyIo$~2U)wYN3uV_@;78czOuL?is^3W5<7t~}9O*o!z z7v5a{S$D;57EcjY2i$)cYnhLQbX(tb2yI)iT7E^H%i8qxF1M+DXd~i4aO`&FkkC{|n%z*Q4c; zJHRlz_I)K)D?3!#iu3&2>0s*0ohCU}Ek80-^?`ALbJm3+@3o_IUN7>|Hno)MGA%Lt z(sSKz*~npg!jzL_fAacVj;_2NaXlsfX%ZdunV z4tpnh<0o}k(*j!|tM|Zpt5CJ2b2+_`FSf<9KC^lzbrUi@hje=vFRwvuw1vZMdl}a0 zXXd&W3N;2<(T(o9ljBo7>sqELPM1z|tsDN+%eejcc4QRYpl?++qeVrI7Ae&BXUq1A z?4XQVTpXuy2O>=+vpNUNW?M6=;v9CeCJ89Fxga|`WQ*ss#nLj0cLwR1vV512*}x;D z>6hbPU*D2C7PR1ZRWYXjc1FB@%CMP3Szyp=*?$5y;frKKW@uvyuP^)b8d|W-&mrxL zubivCHvaw42A6jFX&=?1{DNxkYw||>n)VZ%Z>U_Nkyd4C0ulcUw0Z$vyUpBRyE3f; zzrL`K0P2Jv4V^#UNy*VQY{l9l>l2em?ea+Vpd8>L_j(U*JM{0V)7*(ft?Y8 z`s(^Op+YO;uLn)6)y>H&@7mM4!(s$Z`lq{pO2YYCfTv&8w^u$h+uJQ3gM`yUD3gAn zLYn2BE9n;F|BdmO?>xMje{2$b&< zqo3M@(*<<={*o(;lR2SNEVbXeR3$W0N&dB(m(YZoTbdFE5dBbICS0t3;fJ;7;aA7D z4c~YC3hNYcOG|9j6hr?V z?c;(cq#@!yp#|ls2W`ut;b$Jp%@_R#{{krMBxVl&AsDnQ@TT2}G}Z zmkyiowqIzslh~59)dX`9A})>*6BV#Dom%#x4p#-|G~zK_R>Zh+c75W`t<5%aIo;0C zv~uQzDH`1Qky^#b#>QY!Ayb*XrKe%~`X>)F!ut8zr~9&_pL8A?{9vVSW3S(soNH`^ z$WkmVTP^X`jvkL{gg14|$;$0B;PrFL`vea=K2RcLh}qmvRzIt=mmK>8fMbNA`FbPq zh+@dOD3xk~{XBcUjFY~#V%s!wSDLAu{japRcD}bcdp-XuGUXQ7)RYNH4MrRF1z4Fv zqetmX*HL1`C|VAf-c@quEn*0kAK#noNrsSC4&RLZ9DeYd`R>nHWw4?4ai~Zs(2E%9 zG+kcX5;=fAF1p#F#b+@FMDkC>``&ET$Q)rJ3^;46f5W8^pGxNvbH@m?wx;!&aeUds zZ_&I)@El4;uq@hYIe7K0WEv*ZSDoHH^zZ5R#PO{3@z{E*wxY%Ss}l%f{v>o!h|x6X zPlWUl$?gB{_1~3pY@8$ER-q(~VxS=EYiAwmw=s8A_c7GU-{8M%QXceK@^FDEE&P)7 z{QuTU?DCs2h=ez5DSWR0MSMJKR8$2K`Ip22=lvHMW@@(o43vHqD>_w$71IU{(_eZjB>jpB zC!z@zt~vi%dVChMacfsW=g9DrDm$pA{mwp7Yz|SvLr-jqzr)u*gZilN? z*Nj#uG5OICVdvrwbMW1%ID$~wDi1&k_}~}^dEP#PuM-r>u8D5U{~$S#R+157ol<$%K&JF37Gi)2>Z_u=K`fRgJs>bsIkn zj7a4lNoI5$T!W12dlD`^jO;~dD-HX#_Ra;!js@f>{@1!fjooe~%(53iKFCK%LhMMj zvsaXnUpMpddCN}<9fNiXYTILDH&D6i7N30gr7d!O* zF(rnU62W%SclkXo#b}T(^zVZ`(OZ4d$!JhyFb4%cZ0-kyINQMjLkrT_Qe7@o`tS?$ z?Tq@IxkGaIIWfq-fc&@4*hD^gM9e0>9}DF|4F)IO>t?^&S6rZ{_=OH7a~RY-{3#D? z?apjimYPBf!xf2>i1IPv8L|Jk+M%kbU{k1_&QB55h$UCYozDAq-uH){g!+P48Q;|K z0i%Tt+WPwX^SVPZh(_i6zyc;DrI@vq^&?$P2K}+$>tjqt{AKATDo;&?^F=iLob zBReX*rR!ZgP}Gbh+(;dNDH`KqA6E%1h+no_IBJQX^dHZ<&9{Xvr>j%IPeRSp-(<&( zJk?`nih@wls={TTKpkK)l9P?{yBABho-qVwY-r^;SBn1L-p1MU@S_-1yrv~5oOxW` zI+Z|=Yn%OrwbDj(+-6>uwXaFwEx}12pw%6XxWQF&wD)V zD%Peh1ukXp#7G-f4GUR(78jyX7XoPFM`A>QC}caR7j1BQstmr|#XzeHgNAW(R_Ig!TLUx&poV}t34aZPiqV1eK+^P4x8Z%V ztKF=+>=Y^5uKD7lsz(T7I~~diKB*b|{Pn!p6_sXGGGzKZf&s-qsw_a!8(Wt!O`C;( zgpV%6s2#yNvfaz#7{tg3IEE(vfUK<9&IMM|#L%;?%yIVkqECb1uUiw}{+<7GZ04D?`I~ZXQNvlc~hk_&?UQ&4K z)${a%VVGoPI}SLVQ+WXgMIO0IyAds?ts2$a2OjzUY>`IU#CVJf{E(kQnNQdrET+a_ z=~-r(=Vsl@U(ySsBTFH>uj?_SC@rD?Rht{gUK!_tVTgzTxw5<$BR7>ZnG#5yQkn0z zn8rO#ao9Tym?NT>N8;FuiNv|~Z5McjW}CWXx3ip(aAFicYwGMrFaQ{|8`tDJuOzW@{DXK9N=lU-`L-9ht7J@c_q^^owh1_BKdX)-H5 zIa;@990iS&@Y@XDl_wHi62o#u54MN)&=`w2=amosn_d_R)C}MN5|6Z$i6)G@rIqR? z6Ww~A_>FRSC*vdOA zrr~}^O;scyr85$^x%RhgvE|QeKzc3gMX;2J3=(4Vfr(l`(Rc&hDa#An_ zi`k~!O&#;g@ky;TIqg>lG2lI^Vi)@*+fPJUs8y}!@cLN)i~bEqdwK2SiE%j zDT(fXp;75ex+g}){wBl4kVidbeQO3kIp|4D*X_I5xfroFTV0iZ zM;pjNnXYVJS$=)x%Mhua#PLb^$rDhs-hq+mU0t1cTWXGPYTUh;!_B<5Io%m$enS-? zOH-F?Fb;&(S&{D_=DX*ii>3yrq^fbg8s?(yLsgb78NQ&FnPH{{vaA#pkrjbU_m%Ex zT0*Gc4j4{-WUA<6D{uchsv@ckaZCReaWIR~`*NXO4i~Jfog-~f-bg-*bg(?x+pwIN z)!AZfW0*e#RiX071RM$#q@5qG;Uh(?T*3CtyK7=2&i zF^pdGf1JRfF+iewLG;*9H@L$ZFDv)zG~;U%lYW{&+jQHi+AWcJ^>)6P*4-aGx|nY| zUV}0f%GUDXztG`89_QA;!uh|Wr0{D-&|LL^SHp^ty^Cz?>W*LRU_N`Hqk~K2^R`;9 z2JC^l6$@+qj=RUMyML(Cdi(XZ$4#BJFt5bt;G3Q8PIl{_u;bbJdS<66iM~qzIp|{2 z)x@mn{4wU6{8+j+3Zia$4Ukb}WEEvtatH){v=KLVQ67RKwG(O;hm-cI?4p5ezeLU< zJKEc?2F!b;6|K4Uc0UJ7P|=G%uOF@9V}&V&biMkKAv`$5i#e|x|F{5{H}qr`ZQ=6mPukD#m9 zIVV#4bW-;EH|5t2U#n=92O=GYc&p3ZPIV7w=bt;plSV~(^UUZfh5md9G?a|$R`52d zc}11Yk)iYznMx8yiE$Ni)4aRH==Xxb~ z#jDr2kS_6yR-M~K0I!W*G31_ZCce@!PjwRqQ^5KGSb2nB!6ABE4joNuhg0<=vYaYM#+T-YKyHZ5VbGuJJ()FGt;U_+mI znU0~%O;am44NY8g;D4ufFI44Tf6{wPW6wU{f91lk>tqb-Hz0gDT(V-8K|@+i0Ym=R($YxZ1+pMn()H zRd|}uJ2+I`*%`K(&IrK)6RnLa_N9oS8QzM>j#36f(;w$9kPH$catX6?k@_(&Dpm!9g+4BBNjbPRD~JCm=3+ETKm1#puWsb=CyaB zw7e8@FY8>hxDD$p=>r8A`zC4*hR@VRc*Og6YrV&}xVyDn4=3bngPNlZ858yz& zc;KNhDXp$@x_ab-cQ5ZhF7VV!@zRL5@4_B;d{NWs(^d5tO!2g+tFkwYS~0bVN3@wg ztDOl+$7}kUF$tKais?Nrx6qc+Etf?SO5Uz-y(m9%2ORCMb-83+(Mop{W$7UyVCH`?_WItUa1(W%t?b6h; zllgqEdnt6ha}aZsmH1oWdn`EB3{5jq7Kpy8uPA|_CBJUG>qD)$% zk{JDX)p_}OPw>3|#C-j8bM>H43n%9OKW$iamYXZ}^n|g1oNaVydd^gcul1r<`8}f3 zooX<8KXjhRNifBS|43lc+|+{GB|B;;{5<@sZ6m0HNk%B3VZ57)S421Lh}i5{nNHwTyD~C)IXe>3bb}W5+jB_pStNHKN$t^0xj@=X2Vhf959( zZg3(|$8C$-2hM%;?IA%H3UUe;e~^uWf9+3oy$=o+re`ElUY5@u97%I_gmneoOed8K zKS*&dGez4R?*B=;8B!|OaWtjSeo6r52prjbsYeIf7wU$UYEl>Ft~tO~BZDyeqP%nL zLG4U$9B-tPw!l`-$!bN?WZ0Rnp*gO#J>(|d6E=e~$T2MwHj>NUj(tLeHs3n<}}ZW|Lt90xwn;|%he74yIa)E zdOk;eJYx9b1)6o+#4O!}G7^pq3-Rk%-id0M3nG;cyoOVD1fDi5vtkRBVCclylarad z^a5iEl3J}3kJBj}y1Ex;&ukk$EPoEoQYx?8g-Yxv5-%h)+#_1LLtiA==E-LH{^r|x_v5#iI z{m^(Geml(v9C`DZ8X!8i=@Is?B=6#Zion6e91kwJFG zfqOUz`_BKWs59t>Laf{&=Pol52dy1P_3RgN)m~o9K)l%3P1SB;V$@>pv$C|}@s>G+ zs1Y4eWbc0`+kS=4wPifRDbqft4LS;8nTNL{{{MapK%{W9W$SQOLUdcPn*2QaixY|z zb~;QZ5BJ4I-)qu;;h46^t5Qx*wqcXqbNrT-z5T;KXOD9hRL;#iSSoqqpOlufnysTg zb5f;Xqa-0%A<04!d0gSrG-jwCd0VJmih&f60Y3HZja<0A2vzpDOKdK$*b@61Zci#V&w}^Dq%a) zWLc{xeyTM8Jf-IjI~?gGSF^cQI0hFqna1Jxii8)2!_$xfoVaGyNTY^6xbh?ub1;7w9NSZl={c0 z*twr=DBPG`n7GyWg*}^0fJa#S0vdx^hhd3ad7gC;uD~hxiGsU*XH?|l zr;}Fhj6-i$C?dYSHDm+|&b{jqWBAvhi)~8nNRWe4N4YIp`9;BF$1-}(n3di3`q-lL zKqu9&%-Iryikp{UyF4S=A!0feM_=q}311odFqjzKFl1^t=xE9RHMrw%(e3HLm{JKf z<&6@J$YTGK!y;{Vp2+Mr5)K%4D04zvK4n8DdFX39@YhW1TEa!tp zNiDwK^@{2+7U=qnbZe|?sy1E&>uk;7fV9S0-dXJ>-TtvN^+-h^>hGeIhiGcaF|C~_ zwN>iYY-2eZ_tWy->Q`x|Jl8U4T2qFmzyKd^_tb43=~^+u5SW4wG&O~h^}P`rM9%vQ z$%^plrjd%RIn+tKBORKSbo2K2mqQyP&5)&L)<)i>ALGxFZYBzSh$7u6k*z92+z}`S$q;@>{FJTVzt(f9e+q|G% zk{D=+=-gnO&Re(^XDXBvUp(v;1rH){okJm7a7fBik7&TPjSYy)%1ob%Ps&;k%wQVK z5q!e$uq1~bhEBe<1a$Tf2Swkf`yAi=M9U8XA0(teg)4ruq_9hB z38_*!#h;n;> zAd=A?8$m2Lh`0|5Hc%mY_t5cP=$_>sl)?b^M!UHj9wc{5LPn~W#pJDW@(U_4X>@@E zxDN=vfgs+4FdCG=jre!1=HX04ADs^^2}pxfgWr~F8m95~EAtq?Xk4Ezl#3(|`@#pV zMwtSkx>o$2BXP@wE@*Ort~Bmd0kx_REDKBorXl5ofFAQzU<}DH#E(@X4M!=a5OF3H zzs7?A3TIiR4%n`j6olHGmXSy#EiuR;U|v7|#1R1}Ll+R2SsK8&$k4;2Oh!-fKvG+> zxQa^YX7s~py(KDaBI-RxfD>HC%mjvTmdh3~yc09x9d=on%7(osr;GIBKpCjLB@=S^ ziByttoyuCl?}h-m>hPqvt0}#isa9PdYs!JgPDszDb|8;acH$fSHrqQ-vE(j$zu3%BtZ7QO_OU=ri%)H3d;^9WWisZk!sl5@(g^paaIF^N83yYD0xCrPy` zsYa(UBj+RhuiRtEM%riMvqyO)6O^0V$bch)x`YOuR!5lnVe(;Sph`d>n;YAH<+s>c zYv5vKa?#1kK?k;UEt;8dpE`0y(C%F&;ug^NhLsS$)_p!YQr zdiy5-r!-XJ9q8zCfF5q|4WvWhWYDmnvg5`&Y?6L-k~zD`kWI373Lso;m_tg`&I6QrMxBt5xdykQ1*;b?D-f+fI$AsTDhW{%d}| z%*jH9XToMki*a5#EH{ytf2iD@l2aQNjUu2+o;)n}0Wz+S+@7fHrFjlYbtZBsDJl}_ z*^$x@i{5)(B=|(YLHVi4m=k_d#iMc{?cBLrKGoqr+EvAM9Xl6~`%4@1h@1L3m`PLw z$-eAK^;{hf>`%vfTnpAtMy{JcR?C;V6a#|}PgKLboAkte28*WOW{PV?kQm+LlqHV~ zKlSf9Kc6+ zxvq~1&-u7_cj`RqJ!BlJkIzTac!9ZajnVnR!D?6!Iotw)mHDOP#g>0(t|b(&3XPsc zEAACW3I%48Hkm3p2b-4%Xw#lVI8s{|R?F-_?N;q^VhKUGV9z)gl)+ zr6_biZ>^*E{%uG=sx*R*Lt@(dMwu&hzUd zr@GX`rY8MerTqMYyn=#43c zeq8+8udBT~&$CRvUM3T}=wMnFMeZsU>t-c#y|Wvpim=D5ssHJ^c^&#rz^(k(zSLBpts#z2Mni^S1cUkFfA|qTTeE)nl)grv}650)4tH*eQ4<%4s_D zv8LT0szW@REh&VerNB=yZ(d-C45MZc(YFUJl6~4O^4M8L2rql&5JC>+A6~H6iIDFO zA(SkipBRrto-c)5RCwf+hn~$g{pL%PseTKXJ*AoE22l=UUh1k;K)@!(q?C8n9bB?6 z{5qS3S~p_FE)K1m<|ZZQ;TDP!88srM;4yI#e|NQ6gV8qJ5(_)sxl?2aW+U-}rRmh^ zk6J#-i&8uLby2;-HTvT9-n472m5(NG^-RK{{0!Cas+xco7yXZr=^s|Ms(F#+=_?aO z-5o#CgPM$HWA}(@F}u0$UIkCGG1>1FpJ!-gQwkBP$W(S8bvD-|HynKP$zGzG;MNntA z+$*Wp+}=UKu>;eG@A`+7LQi9X!%()aIc97MAJlcJ&BVLrj4V;1#i$Hl=h$oWQKTAk z^Wibce)CyjCPoZn;>pg@Lvg7FQUD&q)iR@8IA*b7d;Dn?oH|A~CFcX!5OW%fy+7Z& zElLfO9kmx|TCo&8nThq!XP!|%`@7piJW=Co1m3-3*lq$C1pB8w2(x1wmI(2TKYu@b z3#3HjU1AWq{V-E)$|XNl$;8}Y5>H&fcR+$dk8La&*kABWcUbzd$(5!uyG}Yy?=#2d z7hJS{KEh1g-PyIjoot(zQ@%}B{>gV|!hd-ov?7w#T`Fn{uKVtx7>aYuIG>J6Q3pex z&y6~S8gO?!WzfpcR|@V33KC$9w-X-hmC?kz$)T{$wboZd&+7{7NQRcEG$6(6FGJ=1 z9D}=E{O&kd8o77U^7+OsPB133)SGXHDxL5I2n^Ub54lKUOIp6`(?vqQwF>>Z9GHL3 znhyYWj%aKB9rLC{Yx$g3rQ1i;*n90#o#~^s>By4#-whVg=RBTb0p*2ZEAw)DO88U7Cs^&8Wuy zlVm4kIsN0!9rx9mXCmhEGsx7go7FbRM@4Jk+UuWiD_9dBdt4=x!+k zDTnOO=Qtg=B#^jPoW14S%?8(wO{;Qak6H;0@f2?4N8y-=I4E&Lm^hD+acT3i6xt}8 zm(8v>tJDSk7(60P&hd3%;<$V(wrji$qLsr*Hh8Ouifg~5z5BBbhB|ae+SDTG-i$cS zQiUw-a7_cXN@|5gHRMwAo*ogL7p<{-m$vW6mE!|G!2Zp94{DEWm9=0ROV!o`si@gm z7C5M86VwK1pTi1J@f8@Yj6A^!-g+H7qJG*41vHLvbo{I~k0$%b$pxnB=$ zXH!`SLv?&f;;id|dtGaPUt139(b!eZjG*Iy5_x_O6*jqG&N>dbxNH#REx#Jr_MnLj zV7DRl7G$AQeh*KLgMax+7bTh?3~?-X|NIvnAyJHAw}=vhphFT}xe$@#7BX*1K^sr# zz#N#YJL;%pXn)BX6)o)dD|Bw**v}Tnh*#y6e0JV-%iW!uVMKYsY%$6pTeKJ%+|&9t z-KW^<-ytn5Tx9I>zgaNxAb5b1M;u4dXIZ4~U486k-=Ap>^~=A?S#I zqCJSHKlCM=16rI+nVnq3VO&ls?Wtv4aQNF(%vUH${P6cKWB$jalzll+Vo(v9*a4%s z_LMjtmKsOJ_w!jkhejzWQH1xXbiTg>Db+OB;}r=$I@lo6jL|MDmSO;5n{`NrkH4e! z^&)()sELRhPPex-VQ9ucv7&IInS#Yd66f39$G4;e$D|KJ_fkwyvELtqqNMR26W!^_ z5zt!ie^PwofkAK-F#53huK2~i@Lf{yH4R(2^Z9Box-iyS5&am;mrLTt_Jc}{vn-^5 zn%M!d)2~nTp@}+zHtRl(A}5IopKqVx`}*fSA?JTx3LLEDJ_iG0)`}-gTn;rZ)NS*b zfjOzrAD?fFjY`s{J|lFtvJUP4{bwR@b~3Sey1R6Wi=a&_h3dqiUY6a$qir*`4ii>q z(nJZPcm7gZJYynqc(Ir^Owa5*R9Mv%IKnPzyW8S^wt^#!FlkT;O?6436}= zUb|dKz>gh&3sTC4N&5rjCmc&n3jmW0EVzq|OVP5fezu|FiIfuLA!a&5c6)OT!t%1SYFN%NuyAqRr> z2|?c8tK))!Z|!+5le1ii;lAB`hs0d3U-SjTTKI5m#c zv^eymdk)BehYIPEEPxg` z82d{Pir#kpXQ56NnEjwOw^f~Vl*1OTj8`)R_(63(0;Rp8cv^!#QVpF_VoEC|13j+d zWD8yyI@x>u{CFKB6(ZZC!A`8MmCs|ax&t;qCDQo4R*n`7fLyA_IoC*)G|XWiJs9}3 zB4{|8J)Km-Ob*hJSyg#0e9P%n8=*}>N8of4AX_{2mL}p*{O7^~N%1afCnZ+CWfu~5 z$2q3oSvC%g5#`~l&=FN8rGk)9P(wng#C|~JHAwoD!NMr8vJAZn#6#2~iZ+?p0et}7 zkX(dBGYvbVH!GkDw+8w9MT^=(BR!N7C!P9%Ic)=o1D^VQ7d28LhUVy zRxu9*ZrRa6A<7(*UqyFmlj0<~E!79X4iGMolZs&x|0)VXr%PoF4OZcV$B#ZCjlpOf z0iq%>9LVlng^vd|(wB&R=MT`-T0yHTX-E|}p6q^#oOuGmnVdnu`* zM*5qBvs>vo2{5h%-S*s=fYR0seLmiXY7{Y~$p_?VNa&^=19jr)djW!rPs-~`BX(k= z^WU=%VD@buGVACBVAtso>J?IMD$t^Lfbn|SkpXjbq0M*mGryP+;_VX7L?nwXy|bJ5 z(~i@rHra0+5B=zWQ9JaV$_?LvZ7#WA%W4TuHKJZ>!Ep*D{qfCM8w>HouxhTxdZG}b z$-do|>0_t_@d?Gy)BcSEdf6MmtDm;sxJxF0Y=6pQOg0uMPu1p zV?VoX&_8d^Fhm%I26=XT$dKg7t#N!MK2x{wjF6^sv!Qg;+ICe@ofIvGG90~SQJ=*} zIQV@zPIcwpw2$CV(;Rd7sArT>`Rd*s&acyM?ovDf`D;ZSO^D3Ip`MV~@vBQU3V(KRzvE!q5Ls=B3O(1aw&HM-rQ}#V6Sq zGWw?YxHWa+R$lNGiH{K0X@9-)DLE`4BAi5@8agrmnhM+nQ^dJgn~WJ}+cWKDew9M2#+sI0=2k7z>h z+i>`b%LWJf$}rn?Gg)%G)cLkr)QvUETeC9-wk&R6IC2mbbE)ikLZOC%8L<(Vi2b<8 zPtz0;&gUz4NU)#k##RNZyY7gg>UNP-_hfF1-Xox`;AbxFquF&P9W`@CJcO6|6>mJ} z$O%`QIELc*Y3kLLsQHekf{CH_L|LOo>2T72E5ur;3e*eu;2h^jwi=#RK^bmDW*Wp} zg%&1twJny=uz4jH$p9XfoK=4dyZn7zEjzJvb0&xDY%#e@Ot`q4CS$k!`NI8U>#%G3 zW|2pw?-N5rash{thUJI1=Y;z3{n+q}Rh(Z*OEKu}?U|0w>N~S*J(o&1hfVV$;is|7 z`i{0#)Uj^Lyy+{c9ir+?M#bDVL~iq}F|Dd}>EHgBb+=fdUl`hP`5((Y_*2GPuwiK> zMFk*#X>q5^H_l#if)cU>z9Hb2}{V(7f!Xe0ZO$LEWkPXAq&!RqaewY5(=bQ085pD;m93;g__ zgMwhpon0N&(;^AuzHZ@7ylJZugxOK)LhiFmvL4nLkIz?*!EG|K7TxE6OuL@~po*LQ zfk;pa2=IZMYK%s%k)`kKOb6+>9gM;`U>{BgWDXz4P6I=nvjBkvuRC*+Wc z2_~6Y9)Rs;Yj( z>*BGhlva_jupW}kA>aQ3tNYli)zVB~Sop1Pw{*SPWCnrP^fO(C%$Jd{Hu6d}Q}!I# z;R;Pj1BCcaV%9X#0A56R)OV|7ahoR2z7t2njZWMV*$eJPu6amswdu$?L zQlP?_Jjjnu8R(bx<(fv0JhaNVrSNHDNI(3B=DAXEXk&ZWwW zxz#7oa(Kbc4ro7;3o1Y+aklw6VM6R~|i#FteWaypUZ! z%s3!!|#gf5Hpg$|!Qqp}E2HSs&foo*-dv7!SeaL-;Pz~ACp*RieZ@7=zxvJogF z>%jxC|C1($<%5{Arb_PgX3fPjZ=X2Iv1mvZ6xUb%R3DSEs&Um&fSG}OlJy$*8N1o3_34El+Xpth zYRmP6erxtaJX#(8rgIw${go~Fhch`#sPW)T;2B=4sM|O7k7sildo|~3YT#-sd)s88 z5;p}h&$RlmjE_5g>h$VY&{zswX7ZqUx1yDmsv$5RFqjQ+PD3tt&dZgWi4Y&D$?19I zc4YM;V4ZS*ebY(oWTW<`?>L70DlEO)+T3J7sHJ)tmX00gP`K#s4Ql$>i5mVI5fS;u zH1=WZm*ed?Y8Btsx&l^0T8E;Xiq?#2i*%LN*U#JC{v2vjCxQ8yrhTQ7GYn*76;GYY z;`=!C(#Dt`Iu`r$5c8;OFaYrpBc9#Ta#f5DGmn6&_vJ#`A7|XL0<*%yrQIN>XaR34 z?k)ss#op)h{mYe~&c!rK=bKSdbK{iwk}mn@47?9iFQ;11#6!;ut?PS&qH-e3`M`8v z0ncTr_uIz5d?UgF?b_<)*(>WWw{CIZ9X@{w3dc#|s%j+a{yIAg{Ajqp+bVibXuv%j zYPDtrpfEcZUGoiK^tB~P5dk4y-?kS$#fuT706G)xpk5#>K$2BTA!gIF zj2{9l*q)qgv19r{rh=3D85OQ-pUzKeDZf(L8P3bjvyl*`^69?o3B1|*b8#xK656bc zc3k`pXpv}^7I2RJGQe9AALq|5JYt`&36fQxEYnFv1z#TFp6MY%8xu)2i&KFa zOse?l`)$7CwlfInhl!vO-?>*md_TW6z63;7uBP_tDO)C0CWfOw?Z=8!1#FCnE26~l zR7H}U#1$5so-!fI!NO&LiCCBq=n{tW$liw>C9Jt~6fZ!MS)xJWV{O4A$;i#`eSE&6kUipZKB)Qkt=bqzqAhbOrY2(oFKyX0% zQi-dQN~NUQSH#NWhZoX)FLP;bG!F&r6wH+!*@B38iU&ArOzNJ}z_dOgg(YV$kU=XI-T@#F z-94hjjNSq($&){`TMIIxjIg7_AHkm()!4g-5J_ zre6;nvyw69kP27Nu4k-1JUncyscEsA*H1Gvn)5BgOlf&}g$R;%ehO%`sQr`-bfx0T zd`z5Ayemy|996)e;?ke5{Bt{nG^m8XLitNn_Uc?~{E-EjzRX>1gFd=)i6t!=6n*Jv z=%T6z?}Op&q#;9SU|n~a{w*!lanO$XZLCq)`F($==5Jyf^G zAea2zmQOK;m9ygt5`!@|S>^G@<-Qt`j_N#RIf0oYSw-w{eEc_z7+z502zv{yG6J4v zUX*f+vv!6_KP+MHU~_8Bkf>}HOO!B6SD$G{eG?p`wfldlI`4Qk->`27sYa_Lv_xx* zS+z@SVk=cjjheNqX6-%FQexJgwQILx$Eey=R24tcptUKnXYt<8^ZxU``Aa_ekVNj> z*L|MX_dE`%BbmH9V*x~FY1V>Vpf{`h*Id{=s+VbA9N#3oU2Ut2HN$_zcrvS#+S9c? z9z%YozFCNX4)NJ9R4Y?s49KnH--+HRL@s`TbH2=j;LkfZ+i13X9y!NAl-@v{vsVMk z8nR8+m^YpWR{sqEblcz7>liM3fh(~(WGczXXpErJdj z$pw%W!0lJ5=8%QpvgcgNq>$c0CSGt}9I71cGAvEO(7_8%x}nXq7;DY$)Sa{NU@=!S z9zzb|h9HvQ--DDQ?GzqY%7uqptU!_JIobzX|Zs8$v)a3gAt?B&WRN zgeROWp#FE(pnaMH57Kn5)ldE5k6hgmi9dtrf-xM{s@~l)q~HS~Bu{4QFc)Z5XGdb( zakbpXLcG6vUz5{7EIahC4Bo`_S=FJwzVM#lv<`X78dYhD`!UqB6{(%_Q^x@-`-&#I zOd3KN`-TM8>5kv7w;?aJk6Tx9EFjk2V zOkxtDOQ!thU0<6)?t~+H4kwM5kzP~*L6pl3}F`!RF*7IHQ9*C+(u0KlmHx8u@r$v1|uV%Pg=&wZIS z2=TqrWY7WrJ3pjf6I{8X7I{}uo5axhM&f@DFa8_itV&3T3;b-xR%#CuVL!Y4{@2~D z_~9Be=aa%JHT#|h_ak#EQed~BcXWll<)EKvLG&8hE6U`-w$5nd=}RMDW8x~<;N_{^(K(x6)`s3=%bX?8FMy1N zMEv2DiA(h%he$1$o}<@co}-p81jAAw4rBs~X{s8^R z^clD9r+K$m?v>U9W3dp_D9 zM4M}`W?J)1D;wB2>JjmwjC#CY@AU6rdrMaKF=nA^x^B3y-dR>k`hi{LOxOv|>OTJJ zBwF!ulXUrDd}d|an)kJ#kx|xh&(3y_#$(fLd-Qm{H zhh)a6)Y*~LETx8?S>;TN!4mJE#RBc|<~ixr^3Je8&lR3#!ry0AlkQiS(^|iSu`1@3+p>cml;^QIfM8V~4YBU!}zI*cOLFo@2=4>92 zC6RarMn|dd9KBvXOHd{KN8h|G(&9KDH0-C}?^KY1Rk&&B$%UTnKX+$_6|wPf z|2*9C$-WPCV3`^WB5zQ$(;sdu$F1s(r3fwq*!ODe)mdE_oTs_9bJ3wvjq_dRw~seW zmrf;GJTqejxS;Wki{JH#CdO5x#NTIu^pSe6~i9)U8wTU*~T_8=U6bA^L<^X zLdeOc0Vz|$MFSgna@~tx+afUt$)Wwt;+T0Z3yY|_B zx{3*pHPh~BJ>zjDG;WE+3(5QmazEoAL3~F75iHuc%Eygf)&qs3sg}=tK6y5ij%-Py zLRBdS_0oU2p#6h$f2;Oi26UP|*dV(3wYdH;sDo@2E2&6I@m5QL4ic&f2A1^u#)dco`22QhP zSKRw+M^%2fD^PVmdC-|T?T51|lDZjZk*PCWGQ(0k9|CW?{8yE+T4yOV<-+~&Rx-te z7H6v1)XN$&5NEbc<<#;SK0iw)pF|3 z$dq1ngYGf77(;(UX7UZbvG9CER8d@pz(jk(K zm(G?Gh*iRK1oC*^WmP98yY$gNY={OT@~gl4Mi>u=1UNtII?m3?$R4R=>ZBkHhT!BJ zX#KlX>Z&dss{p%GcY?Z3{q=-^z@0mH!#T{{)x|l!#2H&XNK8z!?vfSU_+foA;Ww{c z!*Iwswja)yb}*&e6Z4*EMGQS2ZBEwDuap?OR(RoXrFXT@RyAqh%-sqBUze&7B;zi5 zve0o&>sp7YdP~iJ**2eEnu|>Jv;cVHxH$k>sCs-pH<$P zTE8hnX{dF&+cQv0s#h~gRg*f9ViV5V4L4+12c#9Yy^|Y!%>Bf}yju}sWu*sGhZ9bD zK8va-Y6Zc~S@o;SE!_I{g1QEXZ((JxZH5%@V?pr2MTw_B8uznko|(6>e2w?X=eD0? zrWrkCSxqs1V}POi%GbDP*XEo&9ryBgjp!7R&^%U&iwVeXT>vwxJxhUKIC1^i?K910 zbovFH=ZMkAGLK>yAa<|)rX`7XH1pfBE@4o zH+WE>lZ$e%+%QvZEXv+eBm!pR|!w8x}nl?`Fruwp}@n!@Xh0gRF>=$ z+WOtsmbXSjn+fz}VtQFCJ$6VN0xq7Ztg@PWakSI5nP}r@odOh2X{_JCDKBf zAFuL(nToTkk-0E=trYu!?Ej=Q?n|vm$Z4uOFl@aPi^{qNrr3+TVsgK!1SV(tF=0Wp zut<~m_*$y$-(JWQKiaYC?X-O2_4eN6B*;zLhYu%5ettc`lBDEOy~yP!*BE)a@OD$m z;qbCCA+EXe=lMm(iCuc8FDG2jH58{BCeAbbKh*sxaQPU@V6DN5EZNZ%(aA4I64%}o z*h=k)`))YW@t^RAA7UNlL;eYqne0GXo(w~kA*^A;)pD%Ey>TJ2mcbwS6FmO#qaYmM z-gB;iU#E-RP?WSII*C7ZD#3h*bR75htqi_$zOeJd|7r%tm3G%Px5y0x}UYRx`y9 zn@;-(q>Z<14eXyCNkVgL(z{L$0WJz&gX0?eM)%sd3EQ+!6sBB_|A#r1=?XXZ_h#1v zq0#qp!kJH`{Bmg76t;aI(q;3^h*0O?;`e{(L^=lMf?yp*62T zPnH6}YuR_nN)3!md9+XfNHGvzBZ{rOOL+@ZVw!Bn1QYaE^p!`mr`hGcfj3NnznESJ zPJ_~n)vSc31bj3o2~cGZGCCRJY>PTmhS$TG2oD5dam`h&9Vt{E^CYbcfeuwgzg zWbs~0?hf2{{G#_=G3HmL2$VPbIrr?AV`F$I>d8U34(s|*pxbg zy^ww&Dh6EBDB4d|rwiJs9BKHqAY2fFcGbK(3u0>)~ zL4fN9_B~pOsSkKNk*fT60E5a4Y6#53%pwAMH=LdG1Ws0dpG=vq{h{qm*qd+39tJgEMlFsXI-2Ww<7OJFB^d2>TMVqc>Jc>z@($xq z&KgBQyUd0x(*Yx0%mYT&u(#CCPMackl1 z_89b9wXFe%Em{PDypSa~P=|^1LS0E)a9ae1!e;y$WrVs)x5x;0!tx#hRv8Yl{K5HIkWp})La5ladU+0aNR zzcPr_9tW9?k8-B)kHH5y=5kO|BF1-(Z@rT1L1Gn+Ql3-RJS;c71) zWLicS5^C!x#b0gQdeZ*}#h;L`7_(^RHfBUpn1fMNf=6xNF=GmzP!0ulV(9 zyWf*NH&#$F=*T=0K3g`t^xsbh;25!(_?yG?;74U;n*|Q{Jc#tR(`9-y6^q8s9gO}r zXwY%8S9;Bu_Toh&@H?cJ)?#(BlfQplo4yr7pgymam6J2jbQ2avQS;1tKg*YsO_69C zWe9KT`Ea2GTs40naKtZp2Y4L)3lPmYoTav9tKm{mXOseFbGP1ty;_j7(_0Snc!&Lq zTDP;KgPHXaM&XS^U#EMj-xohL9$h$X`dX%aJn3|AD{M9+9R)>dN=pGr-2u3)oJ`>5 z-m+KY+JGmnCR+LFaFX@J_JrUgEb1QD9jVzS-HZ~gbY2TWM1hc5{_DABibu3ZrS1igl+?CQ*$%amUE&#*U!xT*ss6(@IPoe9gp-f zN|RRq`Ar^8p=y@K@!sp?${q}PiL88g#3}?ADf*LpEujN&vLr(&XRxZk>7I4BR!eIO z<-N3`$&`P~R-wr^&qhgCwHN;QMp*a6f;08)C!TLo<~A%++nXXp^2vEbYwaS)C<$32 z1_{Z@gj&~rvf}qKa*-)}hZ(}te$zHTyIXnw@UV6zw;Z5eNORtT zMAs$6FOVcz@XwxqAtHqw#1Sns(@HbH$19(#fA?Mdp2sW{c9>)JYwp+O*8JtMpl;|f zW0KYG1W>#=*7n5`1tt2B$XrayWbpcaq)d|6vfUIVYeznctmc(tV*>u z!59r2%JeL2wnf7&{%dUfjid}~H`#J`>k7U6v1TK3w9F`MpB-Z;Y2orWljjHKY}+?1 zs9EJJ9*^%l=`$t?;pc-}GKFb@(S<2LseT&XF`Cqr)Otbv{w(OLiCgP04vDltBI78h zxcI%-XXfbLkCnj$Ui9ejOs!j$+HRFq*x}!0PXlcwVYs}4`R&#(Yk8$=O>oM^Tv=&z zQ4rbQ#>MIKvQa;Gyp8@!ofUJ)VILKj8+-uLP%Ar>wtnmELuyj0K5Bc)g|Qt#(}`Z; z!p;^42)gtZ^3;e=lYhQDk7U8)Pf1}{dO7&L_I9FMty^uzK(u{6OX{-VBPMe22=b0L z>$gO8@!U|)Cql1P?J$m$-=OYq#Mh>AA(iN9l_EGF4DPW1DhzkN-F5ZOpMl>2t7<3c z^=qm}YW}i?PrJ4UvkcHk#m(Ag{5n{$oD+dglIO&-Rl_@`2KXC>|NdId+9aE- z+Vi(4t-hV?_QH`akGd{cd_0oI_7IF14UEC($@)r%<-jh&Pu%i&3h#^ghTgzZ`J0}h zZBKxwi=|UnnmT_gmXuOAEfq4)XhZ`lJN8|>`~wW?$9;=#nQw$r@V>&;H2NyUd~Qzp zVfX_(@uHDVBRY%ed}KeT@6V@?+FQY-uboWaoX{m`%FP;sAJ-P&7`LVeZu`_R%*a#+_|TOSEHfBQDghzPoj}h5xC$TG@2$l5t?#s8vyK9cDi16DUPs8d-rg z95+*KHvB5A^}HwSQZo74kiY90P)v1Y6a>v0(MA$2h`(>v&wM^4R z_|I=NKlWOFx=92!5dYgcqSoYD{+_7B2c4yUP*A$gNoYL$PuelJNmBQzH;8&kaQU4; zeY#68+_bboI~yV^nYsn4`Bx_L{k$ z2Y3Ybrd9gM9w-|yG|c5$Q3*X0er&Jb6aw@wii4?XMhp$5=^!u^M9Jf!)$)j#(9gD7 z#mhz7cecLXi%xXIqZa$yq%NcEtl7b*&i0qm`p5)NLW5^JV&d z`zza{jq3xI-^kD0Uh&78D(KNmCs33wc_Z>!#au;@25r;C4ifp@)G{ZSe3^|9qhSgO61dAv@@hx=AUgNY; zq+348;wX42IL34Qbi9qRu1heHh8#@vUUi?pjw!cNxUM|#*%*CaNHt%Zqb;#{HSAw# z^}V~_k9vOpF08zPK$E>yp6|qcn8Jd#YM)_IOY3eOG(v->Fur7iQnkm}rJ2o)SI?+j z{dS4>rk_8oi=BunuCug{7LSVH?8meBO^2O6|7J-1Sz*}y9{@l4pT|Z52ofoA04*4p zqOvw+{nmCUDqY>LtNr&v%6x8jX5(LUXNCu>@ojj?Hnlr)_v`+ zUhuz@o_j>%bFBxP=$eOK=vb zSisibJyTH199yx(T?F3Co9u^PSAk)AwqPbA(}YcoThpf9apo3-fb`ep7mT#e#@*tf0syRkE?@^Gr&t#JF+p53T& z-|#L~BF&2`l7czVAh%AXD(_jjct~}*b87R!u4BF&7+Q0FI&Dj2M2Tt-)aqdcDW4du zO=-qmv^gKUQg839u|E(?hGfk}^}&j!?!w+IpnpKWIsz!gklL}sR)y)+GxLJ~xf2#N zUUWjvI&%}#9jz7mW|!VynRU*NODDix?+-;7!}eQ6nt6y!{TrFYB7y^5p7OcoWv9kS%lIQE+Nv#k3&lMaF z=S<hVG#!cN9-c z%OtZJROw?6tQmu3en7{~q_nV+v=fQas~o*hxj!YHC=`_~Gi>pFgNACZpm{;$y)YRX zUWN!cc0W{%KkdH!mS_0&YDe;G(Bvm)AI`qQ7bW=FfDyS?pNW`T$MvOp|IL@*Vx_i3 z8)zq?uk%|3f8i@G_%cc*d=mzuDnt|6>>%{*G3Z|u>9lnl7IVSQ1O`dEo@5l23U!+!0O%V8x*%lUs|4O&`{$@(az z&R?2K7uXf7@CHe8^aO#lop)G4>m_t(evRZWDiVl7@4X^9nyBaqJEmgV`_KIku3)|8 zpl9F@XodQm39labarb#Ac^hz-bA`G!ZRg;?Cn}UP5!_Q z(O-3x9CvNsc4io`vM@W_HULZo*Kf85-Q(f)qm8)uE}9J`;`c;|`Jq zs{z}&#J^2G^9%uoT}5ufy_YAqCyN$ z_tgQ*#NpKbT*$bpM`iJw#E4;0YAW=F@pKy-!-)OEoKk0PzR~(`GExb)rs-($uW;Bm zNiYzZa4LQpuE ziQL|tJIj!YG36;97<9o_|2?<)$)Zy{XR68x=LW~K#y3@@yn8amR+fbdgsOl86;G7KOvGQQFYPMPuIr$@`+0g?U`i93-4A~x@lHFA+RfsCL88j43Z zGVoG7^$?YDZ8*-?hoL@AeF@Xo;PuqYFUn=Bz#_%TkW;on!gHbI$AzJf6Dc@8rp7{^ z{t}{#M02ngl1o!)bN*O2xI?8e{K8w5+<=wMJX{p4NK#di;A zQbEbVky!e+M|>*7;ANx*if@jfLk1@!3DU_t2vop~-`f-fv+Jmp%$-7+!BVDT94YJZ z3kO6eMshCmK?ESNfYIgcYr@m0(zGy|kOD&tq?h8cR(-hBD0|5Vv71U-)C)xKhjHWb zp_?EWo5+jdkJh<#kwX4p2F&3cU5xfH^otoi=oMy4+CBbZG2*A$XzLTxz~+uER|28X z<(`yT41~|ktr=I#HW1PGpSK0EVKx(?#b<+p@Y@p(nsY|i;%|FBTcQql-b`&;w5Rz& zG;f!I^S#)p@kq6xDMm%gBrb~fd?6X;Ca5x4Wq{aQTyFKdWG}cQz=d&@1dN0cP___~ zHz}SA!Ojw$V55UYm(js3n5)}DMdmvEclV~lcAqN`ovq-X-&A-qYz{FpO#!J){|s5| zc(j)b`8@L%pzS{%SQrSc_H#Xeg^O@(iM(}V$I}L`4RC<&GwuTjD1>P}L86=TpfK~! ze&4@8e{6|UXza`@d_@Bh*|hbalto9>0+PAQ&jr-5a*Z{ToFm&pFK+pNB_#9f2;x9{Lz-qEs8s9|oXlDYnLG&qe`8J_; z^SUd`!qCi6aHmHxmS|FuDlUm^o+DApOX`OB`P4)wKj}1eH%NBS>ZWU)o18tB5Dxa% z1Ts^QPxG&!Fupn0X@2AAeYN41rC{Q=8s~K&d2x^bXZP;-@7?6M?w}02nelZk%iFo{ z+G;l~Tn`{NW@-cQg(C;o8r_tVN{1dK^hQ9wO-#4UjkR3vWQ^`uGD~&Bo*-|yMpY}@ zz~@c6!f)SYS0QBXuT1TtnDUxATFNSX6#X}!MQgBL5Rb}8o1WDnm{hySQkW*%I`Uz$ zf_$*Amv@nC9U(t(3H_SGd?(ycRyak+p|#RW2Qg%no>tiGDFNlQHT3XmFpGt|&lQM& zKqXCE{u=T{Nweh7!SaZ4*X3Eke2DR;^716s(eWzrYBQ|f zqAr|T#U=9b{;!~UYQQF+?U?(?uq<{+Y_#E_16&nM*=ypG$M%*i*>KX!)8l($lT2>c zWn5iMZ{Mqc*CFB?o}r)MTc75qwYg1GP8WC>%aX{cWL&7|T)opBbS-EXO-3DzOuaY) zizk)^O;brENn_dOshy*h6i9m2(#hH&{oX~Q;^jtF9Ss8(=rKFVU!F;IY0{mJT^$U> z#f_W>7naO!`*xp?uJ~dtaS*qLu|%57a=@SP6Lxj5C8fP*Y6|ofye;BjemTU`Nqa)# zew2}PU4!U+@P0Y)2gyOU!Jo6AV_<{6*sGo2#Tq6x4D*-kiLQjQ(^sO;Ll66~0Y>c? z{;aQ%e8$bjQgOwndmcUke&Tms8`ftZFK6vG2?}(-@w>b@KgR#pHp7d$=yMM{-;2xe zvAFI6Ey5n1oM`gRtlK;#t!P}I{2j|J(DupFJ+PdXmL{P}&3oHg5?~%3!VW(A;ch(% z^bX$J>#KrNlLsGfC1PI!QNaCnLAkHXTdora_W4~w`$u~7m%mTrurHszv<-<_bOM4X z($d5AsvmWD0QUv#PWwHdWX9%I#xhqdf(j;M%LUGYWZmF#_Q)r{(Ov9!A>wdav;|0{ zftYz%I-lf`yvo#M4fd!Hi>(~IR;~dY<7w_kew&90Ui_*r0zr4>xB z5Ez`9m1S6>l~5av1Qo;eJ!YOug$MbC%w>5h$TGKi;##>dV>GnMFqgMmTMx27nb-Jp z_(%w7p}-umo)Q&02{bfOp1`2N6`%iSceAMNor7?jlj!-Yo>7ZDhti&pH5plLZEXn* zl?`4pC(seK?mN0^NhseCVLml+p<$-@4?%fL>rN8iopPHMN}TupEQ`CiW-VKF`ajf5 z0qTV!0mH1D-2M9VHORB^!cJ#ZyrY|oHe z%jm&d(ct59Qjc{fQZ{dNqDXTUn>F2HnIkzT*J+I`ns+5~^TeE$^cam=M z(@`}WH>=bYx#EaN#2BTI>;n2|b#A+u2!rgUYrMA`BAoV3eZ3ookycigQpPTXyUK4^qo4U{ zD)G0PJli+5EX!gde#b#giGS6xA(v-p#4i&<<3;<&bgh8>-zce&Px)T@)4J}rp2qSy zyL!x~nMzxIqoQ+vK##gT<=WY4Ug`5GUEA`J!FA>y^+nnBB{ql?5TdlGobW%6j;5uYFLQ^~0Py1s4LQ@LS@& z1wppv;)9QS6gQsiJ=LPzBP4gj{H9@PtoZLDk;2xQhntkI)};Pt9f>h~_u09k2)i0R z`MYwWM}&IRq51i|J{xVuquP=4^12KL! z)Zd)hKK37o5relsU$W#bqTQzMJuBIG#WR9vh!QPBTG(C3j^w;n%oMvpJRr2`y^;BL z6X&AE4*Kp(+&E1(a}Z2M?+_JU&8<^C8wd_e8nXfpb&Dg=9VviMx~ zZlWh{W=}JbCh-Y`lUv!K#1stg2WA?Qde^85p-I<&na_*#w(}JoyTKbjYYuJfd}2Lg zo9k%pY{5JB?N(tOoTNEMiUQAxiKO|CkxKHsu=7N~Sa&{uc_a+sz!A4+su;!e&qsY< z2VDFhCd}AJ-w$geN4UHp4}CE(YNQ3R&M%S3N;K|n(ze7 zO&xwe-tYSwV0`BdSS)AkR?n9#GUN1Xhn^iXf{BT6Tfb>3x9?LeY7end&VE5dAK$PK zqqUecrX^iFE1!6AqHhaO^OzWqI_MH5ae3PG`YU~23TtFskgu^td{tuo;V@iV(=3Bp zHQ*|mT4iRlbPNQt-2U71@fKyy%fF2k zRAT;SUGs1X!U0v%tOd~MWSpF*%*rSKPaENXdkS40PL{zDiIS;7A}`ul)XRmXbOr~( z4+7ZoA>rGb>%=of4W@if?Nt3VKJAakm-<}?-n<2tyN*|A+Oxs|3;i?k-VMiB3?Q@z zn+#8B@So%}^h>gTzm^WfZ*0Kc`BQ^~t)H-dWL8DohH{b9ah5FPDssy10Ci*VLT(xI z>$}dtS=GeRquYJJ!iKpYc=zkc&*v11WL!}8KOJ5%NkJ;#dqVR;CbUbs|D65gSSM}Q zmM$p41s`}oApbFTIk0fbb-UbDrGy@u zRs`sM^C-ac_9L|5wofZpY%|3B*;UVw|K(F>JJa9L43E|i!3V>Yv2!`&CNAfl%{<;j6H*YE6Rn9g6j0{B!NK=Crh!je zm3bhUo#_xsBcrZF&Y`NE^>BOJcdH`}bpsD8Vh!ZBH%hk`%}Enq?KwTQpFRw*JX;{t z9x90R&o*tf(ZHlvwFjG=2bAf1;lDz=e5Sk}ld%KMV=!YoTmNRxy;TajY)3VZ&N&i* z`I*Ht$<{0>^sDl_=88VnRO7Gk!`U$Z{b(Bld}3srJf`V(ruylay-w$vLu@+=g)k-} z#e{-m1hfDOa@@<$<}!@xw$Y)6C~kqtslUEBC@S4C+(e4#)Zi(ZlhOC0Q%>HLh1HY8 zHfBykD2+9`b2D#Tv|n(n@uBVn2;>;7kkf3jsWKS%HQGA&rYMg#zYwpgur<7~sUJxy z-%Np$L*M8arj(gh)=bTU8LOKOATdDFO39JMK2l7ZPX+u{69Y;O09DZ8?Y))nMQN(+ zOub}d$zUd9;+~Use?|D&9Y_u=f{qtG_P5n*%Co*V2HEPMzwni!0nXu$**&&)(R71h zrkpajow=8bQH&_4y2Z|vKPppa0>YP8f-zkM74ivyez_i_w3SVZQj}dbUlk$P&1Ahe zQirX@_?0tzLqWG;@l!C!V&u(hn$WNE+_yU#DcLl&N%FSAv1$pTGHh@Imj+f1Z3w4` zIzJF(@4v=QC2HmvMT?BEgY?5~nF~`zm0Q`-ClJiLp&3RL1Patsw_y-86vVHWqT_Y< z3m5lXG-wb_&WRpIC&8$^7&t)&ppBZ+R8AB%2XZm5kmE(KCgj)qPH+U>FvK2AMFxCR zj8Zk(srk55IhN64q!4N(6A`+T@06JQnld@_GjBJSs*9j<%F??y8;KAI0|$zFfkL&& zkU>5?5dz~xuh|}mnvirMqMW=ja0_o4O121SS?o5;dJ|QawkQ2l~A_o0v=3vzI;`3yUr;xwS zo7^;PObL_s1TBDJ3%w-@X3u@3&9^EzBGzy6v{`9r-x$y!CeqdNadazH?$w)n2euH2 zZ{bBzGcQgL-9umd`aW}DQugX-HI>3?iq1wz>lOtaZAjA}3`i*^_zWc9Hr?i!do@+V zGO(bUGAKb@f4geHz^@(Zy(jqKzEPRR*kgwMW#X1a$BdRxCo+Vg=3?i_V&2C*rh8-X ziNkPE^XAK~psfc+ruuj)x(V7|7uHCuos-5y;$fhMZMgD48<)^s*|$*t?6DQ`tieL( zsCZX`pTkDO7G8U!i>QdYV(?v_mA1FC9Rs%Wi5&}cR5Bo*ll7VP-$Srf!QKU~{0{%mHGZqB z8Md;S-H_O|D5*f^K&i|H&Qd|G3Bl0`#QH#!^O420GRBvAmS_nrgecb1=&cS2(yh@O9%%o}UFvYfPrmP@#22 z6w+*~U;dV8K}~G^hTpvxJ)F;PYfawUVwbt0WNNwMoZn!p0UoNF+}-={uZ-fsTmyMt z5p{N9XB*S;t$0iA&nB#=WLHO5=T@_>k3LfCG$y|-iIIqI|MzG9f@Xhd0FXB}5fHjp z?pN!I9ibQhqS-nx{CA5zqYSd_B0)^ow`{=u@G+#;wLK>l>N(tCK+5vu0_J;?=*aQ{kM$OaF&mt(Prx+ZrssgtwqLn)y7dAA-Ndllm~w%kJsmzDB1veY#;BqB?C+Wc?9W!SVs1@B zEaLp+x4aVbIS0+->6-2HoXyQLapz|Uodegp>#x21{k;M|jP4|c{dh3C0swaQJ)+n=*UC}_({EDZ zjhiob?#qG-y^Le{>dDQ`5%5}Nw!IO#w&gE3$B{JapP9*zB%d1!TXot| zJ+HozR!KOt1jqzlMRXgH@!;&H>Hd#sdsE=U`I6a!v*@}ya&=qRx#Lsr7r%bAOH7=0 z?+gkH_K(GovK8o1Ojw5)D0#T{MDYa0rn&6hDp-WO)aXEBGx!?)(8s*}&m{Fex|q;U zEEyhN^@i`LlamGwk{iyCwgWr5T(3QKCHh%dA*gQZ`^{2T?&bdY!t!^X*m3oHbpGG` z)mdCuz$k-UMe5DBDNjns8wpmmx{9g$UZQnHqBehPwqp@wiw~C zfch{<-s+jTShD6lPi$QjHbsDdaDN?2fq7e~8!jQiNmAK>qX zgRowm<`1a2x0(`W%W?(Nx$l4E8yw$_9M|LqoEALTACUu4IQz>k!r%VF3}=CQIXZGY z(gib7W&iLw!)6X4?4SFU`SQ(V#u}E@fsw_G@?fEYu2A16Mq3sk=Y_7#wwMTP3~~^) z9Cr=+QkT!@vti$Mwtv9wz>ZGK3~X9LgR?rxQz6IEnG@`&bm(MXsnd|hTD%`A zGLOSmxd^2cPxLHz-vD8lSo-bs&8TH&#YRvQ^Bszb9d%OA`;%=XT(^A2n0~)|f;CUe zy1D)D?1#T`4TGT3GXf!QGxa`q0HHZS#h@fN!sQ%C65gJ(I2V2Lm7KR7iZ!ylBYo`c z=ZOpO8@D8C162Akr>B0MOmX#rr^a2H4yGN?ixHVT=$j?4KCSHh-8nd2|4*_TX^WD5 znP1WOI|bH;dv4Vpk{CYIuDxRK*)lvrXVHG@KQq65=ST5-dOUDx5%@sf(0M!W-Yj0S zW4qzAf<^lBNU2%L5yAalH8o>S7B?ZEo`?q(ZHs%DDeHB5ijI41IwuN7@iIQlc^ z#d6q*U%f!>d|3P0D%+zOWz*r^_|NgO4&<1Qpv@zjm9kx+%p;B#NOh@|u z>h+t~-3}ge$G%QTMsC(iaL436wNn*%hY46!f#`Uw3W_}wa;O|cQR@=OBcBXQ4`k*3 zC!59dh3dCN@{M?)Yiw`I$ps66bSF$T$lPT|SE%Yo9=bh3eTeBkS>vQ+o~7!tL` zRLC5&M2`F@m^CKA_?6auUXugfJAzxD+hj7b*N<~z6Zj@?bZal&*< z+%-IAaIiNHiYj{|fq}k=;h@t7vLHVSUWJAAu;p(D&n{1N$#o}&CM?P+WQt@&WA=B1 zJs%f*C9=Y5uWy4P9GK4H6#8|l5g!mguU*auOC<=dC{JNEfd zXG3I*=mB{f{>y(D)^=Oi4!z~RQ&r&EDi@VnQg7J$B#h)vra*48>$vsLgHuoMXjOQB z2TFF?Ud}3EQ9#aAkpEL}Y*s^|mIKl#g0#UEw=kgA*J5S!ugn+4fH zKe)&WQ^ggSa-hiy{y9+VJqO)Fv_I(wCv8LsnmvGe;Cu)ceGV1?E#&H1{LL#*MMKM| z;y|9mlQ$wneXn|lIK4=DfxXkAp~FuX7b(m%_?L6_Onyk17rb~A14))cy?}k4pimEA zqxf~R#G3pQbiFv9U+1V2iUJV+90>Hng*=5sR`&L-U^wgxe6cJ?4*9K z*e#>UNe!Z3*>UOaYAJrOV3WqqI$`ScIh+;yuzA%Fktxv^e8_Gx>Xeor-*atBPo9iudOpj9d^ zsru33&g$QlKY?LB8byq`99;My@r`ga)Xc8b;0EB{{_hr-GT$C`yHsGzT+nI*Ylye2 zl!;5L0gf07k574b+u%krf}i|uFjmm19#p;PG+7D|Dvi`c8){bwjx?}J5nKsPsW3b` z)vM9WxrWJhF2KcmT5=AzP(!PrG#FRJcQXw^_NUX8QhZp#6Z+=%ZR@|$I6_Y67P~s4 zSElAL27MG#SF@ZuqN>I=P)M4^o81I*2(ZtC`}&Cr=psJ;AGjP`AzN&vfCF~iOwxIu zKMsa@7{gZ@D_TvOS`-n(^Vt)TKYdtUXkx!biyQ!`*#1mowd^~od(QG4;R7zNG}B_(x! z`&!%+Xo_{)0b9l(jmZGz^;K)UYtRg@Ru zu-#Bq5FPdal4S6XIemEoE*F0VWYCw@fY7^zKJ0qtQq=%^ZMcfyWIz-_v%EBEvdxYA z-a`_(S-I1jp^IB1(WsKO`bt9~@D%PkR-o?6< z1z04So$U>DR8TlEgndQ{PR!*_z98VNEM$U4pCr);nF=sWx{xXlMkzqWV4A)0XSP{> z7*7PZqZp^bSKg~|iaZ>WI~vV<&m>q`XRs3?-O8&BAVJL z*QfUiqu?SDeu_x&dm(xpgJvQn0*wYMbE2gw{)XFGLLnx`Wf`++8a+<>UU1huqrT6em3#n$N68IhWGnoYX=9Bx~4hHWYYFUFTvM|E2b+$+M7w4o8MsK zsLF@hc6WX%q?NdN@jXzdPQEnaq@%9OXfSoSwuloOP=k>6__cce^dzL-HzcI4xtaA` z5&Yw+R`f$JN7uvor?!V*ibO==wqJrYR6J+v@7P~UdWixfd)Kiv-Tk6y{v^>wU??+x z;C#vDr>^BJDf?*Tig z-Z)i^m*t35$P%PPn?Y6m&5~1}Ly@w7{zUD|aI4S@pN!Ili_>gcgOQtxZ>l#~dIhy7 zNbWUntM&^7@D8p*HDe@euzkS0@>;&MA>`Ph!!+smC^SsJ#n{2N-!au>;+rxb0y~lh z;HzugtD7?2a#ne-0?T(`SHhHwOJy9zK2pE#m#o|kHEh>YJblP?qo9qDsdo}rkndk4 zjK(KNqw?gfk0!TG`!lNr^V=R0n69UN#h&hUgctYe)S^J&u4>^X=0fLg$Q3@j9lSjA z`}YIy_r<;Y>uB_p#50b{@%*aWrE4|y2GZjGd#`h^{E9FsyjpWUuna{Bw> z$d{v!JtS^iwrZUEM1ep8!T4}!eG?2`N_?1R~JJ4pGm!C zm(@$(k(;g$JHJ?HBI{zp!$--`2+!HqZ(*+m22s2}G&y2Uy0nnt2XmimqWWaGikFj{ zEKYupBwT#7y7Op#DeN-$Umg3mv`&A;XQO15QtjlSW$Wga_U5B`mqOcUjG-+SDsQU& z^75rm;_^nd^X8lo=W1Pm**)(s|1QZM?oEMooE3+QP8(5s=bM29seqi^Y&IXa6o(fL z8UOY&l`I#`19k?zfOKAX&}$UV*E=E3dib;67IJBA+7Lo;8i8|l-R+tXlv7mD!^z78 z3B`FGS~73Acb<`eVhB5jhZHIATaiwn2(i(Mo$YeOBa|1ChOIDp;R5C2t@i-lk_h#D zf>5E}inP+JT2V@ELDLNvLyv3paui$$j~vPh-#b!Ko8aybQaM_M?rpwon05CX4O;vG zezscNuzh@dym~zKRO;Di8Iw||zXz6j>8K+GbL5lqazLiDz1bnFtLcyvtFP3piLMwH_RdrlWuUBzA1Hx}#G}%21k> znX=j@X3Mze)8YX+3^$9JM$a;j8k^h~d@eq4O~hqZvKQ;h$sw^%*J3^XK&Z&x4^MkIsLM zQd7N)_1w`$26-56@w;`^tlQg-I$k@!F5SaI115jM_(n_|vSPw@2|KelU|Ga;)Z}lk zIahb7XFGpp251%FC=;~r-^~xKfZmoMRx`ySm6g&C)Pgv^)ZqYhMAOb#jnaHhWjwz% zkI7(h9?oF)B&5J@TKqAGVu_BYUb2austw8l4;u|y^WM!daP!{fY)0v=CG)DHRSdt7 zLfhSBISPvsi_7|JQ|j&~6*c)yx1PJ#2a07rb5Y6(^Z&P}0F}I@Ce32h3nGvjXQVP) z1Ct()4W9Lq58^U)l|Bz85TzE{vzav{Dnf(Fh7QinPa$0l+*t>O*98ohq@g;x(F6;H zsqXJ@nWBvbQ0v@a<|Uf6`B|GBj%>E-_%!FFA3hJzm4jb1_VmL}dG9-IdIq&V&q}qg zCLeEZp1)XdC$^9pA0_Y)x;`4V6520(;e9zmXd1nWKzWL?#ISl>q8^U7%rmlNu^yPT z`-jHDz{L+gqQ8C!av7QIJ#z0<2=qNAF8mcUeZe+z-Z(!`nh-3ct1y#MvZTJ|5qA1J zbKxJr?p*1jU>tB*kmJby)IMb*V*T)=iAee`4mn5igW5oDRF+J^cEwW6wY!`%N)dg% zzYAm)(T>iB+(MrTtv-Y!RDKdZL{3CVtn7`a>+GYK@l5CWav2=C+3ik;>sMmcogLZ! zn+e{QoFgc;&uq_jy&w0hGrj!N>uI69>V4oTs~}$+xSr zPaH=o-@o;V>z8IhCAB4*z&J*J`qcXn=~=2t&R{twqQb}z8<|2y!5cRR_J-@ws_KA` zd{&O-@1~upkYm8R_}0}6!imKk7lVX;!~NEgMvtd`?;EC6aRGxSU-=xTtlE_p7UsR| zcv|v_+wSg}EmIb`6+d3Q3JPJ=ykFs9f_^9ito^Lb6ja8uBtq}JHHc+&$WUS4Jgeyh zMRWYyh#GNtb^h3Dd5on#S&DF1f$kUHeeRgp(F~lCc&&2U&PVPVz`@d(3PR??L3v}h zrnQJiWBU5^^Z*h^eu!J&Gt2Hlqvc@cn#>S< z19Hr;%=^*kAOp3VU;9EMFeQCl)9Jr=G_4)pI+WS#%C72vvg#(0TZYsxs&7618zn`# zJKcHiW5g_bUewQ6wn=Q2o*h};-rSa~DWCL8kNqL3<`hMmY!E%4Osjd4gzYkO>pG>A zIb1zoYG!)j<2%UO>VI$pd-vd%(;b@Cx?~obR5psKCcmEloPLoeNu)_;jka@tnO~$E zk1EdMj5XIkJI|JI$CR(WddUvD5g*^usN2kmvx`el^a=?ze#dOOHFC1hNnY}cNxTp_ zv?y&=M6z{A-+fG5ynNP6rO#wcnc8157%vMe=c}l8`(~LC;*lM)cW&R2;kF|=*W1$3 zal29`;8L(67O-~hEsyL5Lg2ocwheEs|a-0B04CetRnkRn)7ol%Sb@qdJd z_~4J-3{!D&EgR?_aczjT+0Dp13s#|a5s3UBjHOjJ6Rpbp*P%#?uQSr?BM#F(Aqxp& zy3I^U5#P|^eB6x1Hp+8Aj3P&}D~}Dx-v>jU*v`7w_br>6`Mvcl5xn+>iR-tyPAUjf zQsqY^G`itTreqb~cM#REykldh523xa$hYGg&ua_MQM%jJ8Z5_JU`Mdtf|!PG6{Q-oO$y{#c(Py7ZThvcCZt1f+b?P@B&uL30)S zU-9*Q-y*|yH`Gy8{;10V}M zGY|EH{hLo6Yc5lS(yiY|y;UTU<~t7S(gOU^p*oKgE}Ft%UjUd{m%i`m2Kw^b^U5&h zFXxANCBjN~f17@5=EMTrHYIX-!xF;HnED?CBjW$vrI(zjgMB_YMyuZ?u^-N^H&Lb( z=Yb)o%dk${(20HtQHDJP-C?xZ1og=%ZY*rP&V{R=9(+1vygMNdIl&U63_J;$q1A9-S0dVZDtw3K%=#e&2eQ76uq{1Y;q6 zKcQSuEPb8q`C@kNyBmXW1gbCST)>|m%9pRaUD|x|dmeFOmnZKQ1$=&WSKaKd|AE3q zR*1d47*=E<6F(IuMkV7%2tGq3sl+%^#)X5I9f5=Hb0XsOr$??D4C_-0M2l*2u($d7 z=gRx&t0{i&;8B?DksAl5N4deFn2-FYNk%sd5)ejjPUK0Y4~@<_SCG+r8$DQ2N=+U1 zFY;N*(jl0BJ~c|1D&6Gnt)*&)UdDP>S^tE#5{C zt&|Jg&G*mXodPBjbqm|A)huG#DTk}atE;P;x9?&2Vv*_`5o5I`{LKqHLc#z6k#-(L zE#xe7mpp)c!ci#K)f`D*>kEep1X$iQf2n|l0vj1|D`Gw0rz8w!Z$x%Kc|=>5+%f|Lyo3+y zTsz*=a%UX@kTcAnQ5*;>_&92|x!R4F5zbxz{$AAc&mGNqbfy`1*zXvtwlwyx!!_6F z5WpM;o)SaJsmh-!z==?0GJ^2`hcn_wVZ^8*qfP)k#^#Sx>Bp~7#G7>lWdT&@h5T!w$OjTL#a)_P9Evq{i7~NOjaX_QoY#D(r!Me&;pRef0e#5{~{KHEX8tC zM8FFZ6d7V+HZQxL%8h7?adTWNdn++|g(1}r{r&(3MQ9Q)uFS>b?iPSozM45!rDwU} z$BxgOd^rRt<+0p%amv-vVGT?K~VqQ8<%41^u|~%XwCC9vy{t zQA$PXxf2WljvD`Oog#w%3J_j#Y93->+B96S0#@f;s4518=Knn|dw7Ee_);9FooDxK1Q@UX1$Obqt1jzM^n>yp;&_EWg&+Ux?-g z!bpz-grtGSEQW*TuS#h;LW*%ZoPx-fjq=qi2%KR&IO`zAK+Kwhqrpkhi3;YqBhf#;hd%|#N)R!t&1|H6!Of1Js(2YvR=Wd<>&&nXod%SZ7lDw zj|GcNPy2-^-MWu_9lB1EPDG#k+C60M-EyCX6vKNP-LT`JPej7VT+93q;CxiIQ%}05 zg83{^5m_rHyS4d-*=X50nP*haQJ3I%E7)2YerGGs$FUxfvnJ-!*y_;wT$Cq?!4~id zln{*(Z%TGD;ze)TWZ_bJKCAM?e#BL%J5)@TOIgfSF;aii((3B|kgY}u=0j#~eH@pO zV!=-XP~4aGk+3s3hg4p z&CML@#0PBp-=F@869z>$0jh%u0r!jsk7ol;0l{>*S<<{r_MOq>$>4m_$OWQ?;w$%*UC|WtWW&896qyw}Ux9gmqqjGDQ#EMBlT|AsiS{R}Y zxq2IF)-2uD^6aG5O#pTJ-J2BZs$^+(YYkt^V78JNKi<$X9k@F$&}Yn@R+0J;vsmDM zGUc3Kd$vhcDgd)ltodLq@BnW6=(gOk`_=^NKV{dRnXYU6TfVnZ%R|Cp>83*m2`nG( zv1(2D5x02P)DW7ycdOx{ucI6`Q?l(9JA1OJ6y1_h^_W`IhpQ)^rB96G)Oo3CiJ{2a`53 z;`dl0UbfVnv`9th?5;~3wv&&^e!%hy&Fa-5pmG}M`L}Z3{g`YaQIn$(q)0~+nX*p; zK}XFj`PK@oC*28}-?jVn^%ClRET(}P?LGh{@bvcG?>N$0;+ zvQ+%UO!>7QmmQX?QM`_0EgehAC$|4C$Wmig?e8D2^hVM1FKH4Ic9d2FN{U`0evlQ? z3h-Qo-in!AiH#ht*mueV`eyVYNl2?1cQz7rU_BQss$cgo!B*mK(0!z1fuR4p5Aw`q zvhs>(+(dS$?|x-}N@KOKqPbY#+Es4e?{3HQfvL;71X`Y~2Cbo9n@6)yEtkzt#sR8) z4PC&4wf5<1#4`38g4L1t+uh=xjg9-agWZPLgG*{Xzh@bBQ6c`4cf!730F=#3p430| z{|?F1R_)kD;`5i$WQ$j!p3I-~Vrs*ijykscggf#1)0 zMAr>(Gq%f_GutB{R**k+vvE5D9gJ2$Gj zzGx;6VGqTuuqW*7@?pNX)nQrkUqDAVbOqroU{rXtH!g2c6asHjn`4w~NuszH9o#IB znfE4$J}+Aqd}2H79~dYiJV+vCSGT%PgAk9%fzy1c&w4n7M^8pM9n99<6bB*cq|iOGwqZtsqjy zC*b(0M()192IHJ>aY0?}4|c!IDf;u?jlF>bwI%N&!GT&d&>I9yOzo|ow`AKF8ZbtQ zbm$*GOZ*3}6-!<+4_Y&`Z|h3d zBxl`wywNe|#}g|q>`0ZyW?X)A#zxPyL)rG z63=ce3}9Nv)zudTKyGB;j`xO?k#3fkf6{eUE?e*oSB4mqQ1;hwPgP~*Zq3r(d{_IO zWH7p_{-F!L*3|-~7FTC&GW9d48- zLuo^sX8iB8cg$_yM5ghI8>-p1-7w3b;m_>O;=EQE1$i=8)peK!t!FX{hv{+oC84Lb@uC7#vjubW$R zC@DR;SH4uqN7W5&?Xr-VUdT-|6KyQC7F;TCp98y8-~)VQAE(~R?vU&BjO0d@o2OQo zEvwrL=rZy=v15AwV^k~_ca0u}B+BA{072B8dlca35K1vq0VnijZ<8 z(BmkpzuPQ`HwhkN?L6;GYc4N@)#4SfnzyI^qhlCIURMqOD4oO6A%6{idFU7BC#@6> z`v=HvFZ`!}>H?4)a+H9sLtQOC68+;l@j1SAoPsN4dJm#1R)W%zRL#>UUuC{)WVZTn z*GcdkgofA(KFF55Xrx$TwteIxz-(N;k=Z7|?(d2N8|c$E}(5!pUdRUUAd@6uwHOqwQS5(&Ud_cL3+%#k*}`^69CwyNFx zI&#w{|D5{6wd7uGD=)Y<3yKQsO_0niBj zKL3*(@US^rw8(UCYcejMcz$6Cd(k5F9Jo1BJ+_yXm5b-%s-M|%#S=m?&;R+{)S;GjDy zf4XAY@gSw!p{Zd`+SP?a)u*-~=6%~GTl%Nag?d2KL~B-rc~!&-zB9W`RtmYxR!O}MF--IIhzL&i6L{d(ER`!%%D1t z&X(^pGoYG{&f#RR6XZv&a58L0!XlnW7mlx}lntueU!xgvJUAc{qYX<028`_RO2nc+@Kf`q~tzX;z4FWONYaZoB3<;*dzbGN_1VqV^zFS^!dqwUA)pmPrW7zvhum z^>{c=oxiXF7yC-_qV(do+Wr`5>i+^8{%?KZ-&DatuQ1IYg(t7~VAT7fNR>fp1RWI4 zV)POeE!vY?Aj7B`5zVN`Y)c2&eiDP2@#>FZs(Y^;Gv-_L;jt&7Hp1J@72g!}_Z*hz zN5$L6!-io8il8svTnBsn#^tbpFJ|oV(C(BkU!ve$@PEvB285k#QR&{R1W(soI`Px@ zC0Za(Fg=W~5We$V81x?VBt@U-2%54j`OOskMt@?4-Ri^DrX*~a3 z3qJx|k;UPc-$X0_y#?LO2lK{xLqK0-9C7DRY{MyPD8WEXR5V)pwaRIKvwUrc_e9(m zaewxp3rpi;fM2P<+eH@gH<8iJyb5#+q|b6MU3Y)c51ksvi}aAc%j@t4T`fLIE*i*Z zu=R)k##;f=jx!4={MGR#7ASZa=y3JKlxJNQ>hV#1;lH|zfO!;*{OSJCdGf3m+O76# z?!+Z)6&8?(-~y>a=7RvZ1l@r53w-V3j#)AJIRnSX?yFB>i;jo*kZ-ydOuWssiTtc? zFAA>eZGRevAea9B_Gj1RIXkovQH9#pk1Bk30fV6Z7r`;~j=oC!rQG;lc>e`vSMikp zd7{w`X!gOLB7=8WPczw z3eCrz@GUMHH+S$#5fk+&NAGML?5l4irWzdWM%Zp505?$)OMbIq0n-)5(|i(@ZTI&p zNba8arSB&ZuhMy^)=w5f7pj{=2=D9_pN+i!6b)a(%`;08kK!JWSt^E=6v4l#pjmC< zeeAERA62yVn4>S(^c~Beip2SFr~v^_Cq>e zZQ=2x{8(II=fX4@9(l6&=TBhgToAo>#*0F~)<8IQ8ABhR?J!;8Bu|onp-#fA42yX* z6zo_xv$eeJ-|!TsNn=Z{R{M%EO1`^9XODr&HfBpb;vO`6z?bA~H0&VcUv(7R(VvVF znL27uME3nWQc%X}z;sejqEB0)klq)Tqb&DR%O`&uidIk;a;d)TAhn#?B(0>=8+yHl zjLv@AVO_(1GIUX(!-}D#ZzxE6M2$aV3C_csEw!}JAW$*a5L?6y&TE4sB7tkcbPr!f ztY>lI0O7-{kOlp?ypxWK+g;N6MLXpA7kvRQC7(pWFi__t+O8(zi0=X?0`O0&XRLHJ z!z0l~MdtQq61g-YQtwps6ztX1FdG9_Vog z5svZfOR9wyOpVIWGuhCg%XB7Yy!i2gplB2~8r!Iu04?o-$71dlLlE5}3|KTD3ve~p znxQsqT6)g!9JQ0ZLpm3>u@dy+_n9=Du^X-Pa#AW)qqiL2zS4sjE;k?KyF|$g^B2yu z${k04fvc&0Uc?*i*t{H7!D0Yx z64xXBAmc%|+hU-s+{)`cUa&stQotz86UajI8s0VyqoDZ@U8tprg2qC#w?kgCb1}Sm zNP%EO^nlPbYl`3q9Du~U5(9p1q)PK2M41otNt6?;PRWa4EhCR+vEb(s zW6-ucPrKf0fxl8JLvqyD+G*E0f@1_9dO#xogTs(Z5!Yfcw5dL=+sd2veUla+rf~i8Ed1()|m*Z52 zqetV{&B|}E0Q|F^!06w9mwMfsTxJy#->+z!;VkgpZo-T)nAt^>0>~TSrIZ@`C>HOY}ipF>9(7UdI zTNPxVTmU=zGM%5D>!(2B{Sbp_(|1OcQ`qQFI&mt*rze3wtmSEy5y^`zLjjyg`JA{7 z>o@`Yl1Tk^wJhPAjx|=(A&ymqofDElng+Msi>#*kd-U%#41W+C+*=C->GgAS6~lh3 z{roit(WLq>u<81!2m?i48BttV&$3N?>a7|}_8K^sgN+I6qia0s*w@nNj2BCb`}O)& z>#R&v%rYjPkj<)<7##W%8vJwTL=tN%5gFbUrC~M!Re9#E!ne|fx6Lft|GQZ@xl~|I z#gW|*GCfU}wGYl0QyB~K3%DBLEzGeqGM@N!Rxs6wH0pZ4b2dF=e? z>eVQ%v5FNK^XAeKl^6qzKhZ>lp|Byx07!qVTqTKJ8NFSemQ};nmRUL0FQuA@ZGxkg zio_O&&UP+}Q9Uc>vtP~cAKUMa(sBI^Puh}{xQ^1$Awe3|cK8@jX!I^Tu>uW^Z0v%i zGYGZ$A+T_|^dIGtCGtuAT`q-3feVo88>@Fkczh)|Mv?^Yra#k^_yZCWk$pPEDy*In z-NWT6ek0ULw<4;K>~!VEl*Ua~L@bOZ(ewGaVeub;9MORM3+NjA=7)i?kG7Cv4i^`3 zq-AdFP~;7?R!~k(uC=|jy`y7qv`pNr^4&Zcy3{z+3o$WJZ)~31X}o}bEpfibUG*vv zHD=W&|9&JEIVY8g$1nBTG}I8waS?dp5Mg{>UY|Z*FLP>cZmu7f!v?et?p*l;a1I9s z`1gSw1RVF-w}dp@LHAO37hND*P4!eCm5Gh`(y=dI5_ntICDeC|)Vr~Wb^y%;;jjZa zn{L8RC#hw1bAR(Ftww(={^mit9Z+2U&liDY%dY-x=MffcHB!DFOeci-e*E^xy{;oD z;P{Wf=SPd0h4!EaptZQO&}W@N|9s(51$-?XY1&^QOGfTZu|L#|;m6o=Ws&`tUwolQ6pLL3xRIc?ViK6EFIykZby-Y?m zmnvxKu^-X!_U^~5d-{)}l0_&#TI@v73tK7<#T|ZYQd-ua#vK=Sd~UK{%Vs*M6McbhTOVqKYeEmw!afmCIFve+EQA2XW6s{M`ingkd)Ecx z-ps(>^X9hZ7Pz-d)%MlGs|1ftxNY-$ZA3ZB7Mwjf`U0^WEL!0OtE5T@_Y9SG#H5IR z5LXHgp^hjsp(-`TQqHsv5tdSn2R`ymEQUOKNBV%U$>G-0(gFfHj`_>QHZ@MC5Futp zbv{L_kqWcW!@r5wUTpq$4Je|VBFr^;D0-!`u@C!_E!rzs4$d4}1IQQj!~Y46P#WB} zu{d#lWT$a<*&W5P(5|2;Ux{PFG+HR#xN`K!liK{JwGV+q@GD9=$KP5Le4bljK~D{-HH?BX(x%mq~0OUT@6Y+ZUcKmGhLlxgY{&gwx@^##fAMYz=gh zy^+Ll{QGbDZEpo{U{8)MP{`@2gGSQm>c9)h2k7(e6D6U9$2A>+rd1Q8Ghg;!1OQMu z^QzVUvZKc8%o5TtxSO!`DXIH=!QYH5G!n z+%rGDHIjn<5c6*j^Q9MMFg?_8gXb60wzf$0A*^{ADP7@5p$pijayxgvhdS@U+jW627!tI zx5Ia3(Xw*aN1l4*=i-Gzbp`WVZ9biUM}#|oyY^LHt+?*VKf5nG+O<7nxSo9nwSZQg!MA>vY3)MjJ#6?;CmwXux%!?ew{SoZmU8W@R)2 zf~XJ5(XX8fxyG-$@Y@TfW^|)1`uT>KIXBL`C__f|$R- z`>#6A{m0V4!P@N1CyqCbOzq(_8Zs4v;T(0izY~I&^dTH}8<;R( zlf>Gp{)hS@5xEg1J}@Ev8l?KsxAS)UZN~Ci!IeST%rSw~V&Fvcw5f*Z^lSBR;Cj#} zzHqVnE;`$i&2z*nImo<5et*9=k4>EF;eTo2>I21n;v zC>wQtviKNeZJvy**e`$@^+snIdfWp-NP~nac%fUX+w^0ps}+-7dxp&)kO@Mc;mBgF zSS1QfuhHw>@6&o6+T-C2{8g_WJwv@W zZ5B*1B$C|krl2YYd%GA!MFuPJO;S>B1QSzMK2C}^{!JYR6qSAghT7$D77U^=>*XMo z&-@VyLcz~C^`!7y!LTVZ@_^Ln&|m38`korc!2cYFib;;~5|z)dS-c;9^#2nc)?Lry zpi4M?-!MOpLV9{A9dQ1)#~IqR*Xex=2f>%TA44b*5m$rlXcl2TUD^?hI|o&}mv}dZ z5P$2NIo8U{><=>flbwgI_6~tXlHjGm?3ieX^xQvQn5YdH`~{N2829i`^;P9)#g`1x z(sT7(Fiv$84v7G8?gL*Ld55S#^2=_&3s)fQhAg+?}=#i z>h{8e)bHfP`uDdV@jo;fSU%AJW1~}KoMk_4&{2Fv6>x%piZb4pvHCbX>C2T|Q3MR} z=JbngaI&=mh4gm%y|t||w#SSi5)>TzS4Z$`6J#!Ig7Q@g3F_VC+~^4U@oyVW`~m&xamEV^QvKdxQg5Qc?BgZS?So79WGTg`eaxrx(229%zfvM>6qKQdl1$?Wtpw$HdCnC=iP5mTe^R=LH~|WL&+;^Ho!1EvFw4nkDdO>;jlFb%A&cya_eoF#PyDFT`|<=^e!5SlVxYuwQ6OUwZ(xdd z@+JLI1U{q@T~`#G{kq@Q{U1Be*A*QE6gNit8Ch4`>AS9+nY%~{Rc*x#+@6kwUqRCB zb-jwDr-g;w`b?h!)8x8|fu$aJj`Y z8g=1&r(h)_AufkO5Xjio2i<{3+)>}r#S77YmyQd=`Ya&}8;b9G>-!I&7aJR!D?@7) zD`1f~i$@|)Y+FhW*o&A{KcSx6BilsXDq8jAlsQyZSdB8cX}H$2=RBrFHMP&Yjk1LF zDE1hbrkzeRQPWOUN8g%sUWF;RY=h`J7v zQ7TFsuu9;xiw6h1>j-S|-+EsJcm=+}9nUF)+Wh8a3CC)9QPl~Qp_xO379ts$RyGlN z^Pz*b4&U>vGic=rMx~StF@zvw^d~T$?)C4?T4d$ol(Xo;2;l?uftIqJogHKZE|$|F zfG3rWl~dsm{pBi07CuA^kW8#{Npu~n)gzLU8Oq-pifMom8jySicIG8iASEY5ugqFP z7LvjmOSSWM$~n16yN{Ka;qdU6_muWvYdLF+%57ry&N*V}0HqtHH~o!^A_G0ZYKxXx z%30igLWYQqG!Fv@X7ov`Eum47QcdV{0q%C;(13VS8NeB#DBxARmJeqUjYy`^8b~*< z*0WG{vj~sIT~Q}uPbm1`h9`-XOrV|B%S~Rqt*UsVzR;wQX2g9~lqHY~Vj#MH?0Yf< zA38un1^2zw^@sRu2e2vKhJ-R;uuQUDL4qod(~-efXrRU3AK+j}OWjaettAadZYs!7A&RT?eyKS1M}NV z{m$Oa$X9(}9l$C;#rX7#Li<|acuPWp6oOS}wDgdB%4{^U>OoGoa?sK7 z{&j+}0goQ?;>9vg=VQ>N+Ir!QYL4}iYFesKZpNvj-0)4=mZPg-2Q`NXTh9Xa|JgQQIL$hB zi)W6m@+Lae)!|zznldH05rH92zN6Qng`zi+GM#O~$D102DP4=CMGHcgwMwS?U|k&3 zCG9u}6b{l>S1}oy^L-WM6Vln7l48Q`90I^`Uvy6UJmyHieUTTYO)6IPFCCgu*G?Zo zIz6Chzi&bCZ8X-{PU^?d_SV#RB))tT0h@Rngm1{&TPt1TH;RVB-OepvCh=^HT!hFS z_CHZ?Y*muIQZXZtqFwK6`7o_c<5`m^#@X=Ex00Rnjo^&5|0GIWZrvC@d1vhWltsdf z>HeFo^VJfL7c5!F@jcP=t?N6)x#!X^q|`YzJo}#bhWeJ_HsvfHu4yMzHzuCBl*(`0V`!fW>UbQO?bQM_WNL&Kb)g1p0P`?0c)un}ql$ z$hqtxC`6^T6- z59p93Hp$HrV)}*FN;!X2ePTx3^N&-H71tlE$yLbJ=bg?Z*w&pGrYusi;vZ9q#e?}Z zZz^ynt`#RhFf(0uBuyK3ni1W|TCEgpK1!>y zk)YJp(cXNuuQV(3KmpRUGvAgH;WDQR>FV+gvXW?B6V^-mJ$ZCN z3OQ=!n7=*?=BShq2AnZxe<{&zodnaULO_JWT9C#4J6k~ldHdfvX$pRpWZZs z%u?l+HWQU8oDkSr53g|9+?m-k((KEut)E~x;V3m zDg7EjwP})bd3sz3jVY*f*^G+==(Xh)&ky!|4VhTGCxel&?^-TwG4*9vmll6ERn+y? z)d-uGHIj8z&8lOKcw)PTYDRHPb!}NIDfvW5+y-id$G!kX!H_ii=mDK)`9#@p*k2O; zThVawk$v$b#iygJS~~opZ5>*6+GfYd7uxp_s6^7yty|gOy#cDl++5hfU%N-;;<~08 z64^3aoAT)bsn2%9{0}6hllI!6eDJM!=CxpnA#Ps8duL0pqGXyKEPCSKK4IZUbqdYN zjh4u2U_x-dnOS3HG0YONXD3O;L+I*(YGB94glLnNaqUm53RtCi@n##rTNbWC54eao zOy51kxBc{pCszW%0irQjEwM_+i&MN0-eycEYGXNyEYzLORq8}P?hV0r zE{KzL90lI?J@{&rF1tpfYRIRdT~~b?-bSBU@r?f<^ySolHb%HIJHZdm9r7~Q=R3nL z@@IY&4@TT6xAm!%RZSg#{^9M;@cG=)WR0bxi5?F(=SIYXSl0&g5){du+%fKzq{3jP z!gG-IS=n_rTQ4a!fU>LpLNxoD1dBlG5$O}b1;B(JgiN-g&ArW%L^Zi+1Yj}HGKT89 zrpIzsbJZ^xb8vibE`EQW6YJwI6jWtEu`ZH`gle&hN+$W6YZEj}-?es?qY>5YGI8mZPpny8dG1lPE=GotsA> z=+RB&gZ5X|iemJmn2Y@CCertG-?s;Q(88cPV@ z0c$gQ@9vSl)#2-A+ECYe#TXek+UmN$@aZ0SE!4jdllgbdT~b@6YkZP}QAa(p=IP9au6vK+Oz`}s46NyTaVuV)p|#j4KZo~LLOg3jTi(C< zwP-tC1Arv75uX=!w4(to zn5vwb%yn2j%{yc+OT321TeYbBWhwouo6}LpPExm~{`ny*(6$}&>Fb*#jgXXgR}PoHe} z7V?O!m5@n>KWV$#gO#D{KN59cbB0}0>(NR@8uEb%EXL?$N2xqIMn`qm2%T@jvURxc z?b~P+K%wZXH>7G9|0{*m>QYC9uZgEPCpq7TyF7EbS<0(y0CCPT zESp-NKE7ga4saq+oa0gbG&bP$e$ZlI(1(Ox?R3FdzW00MXUZyhd*6;UIk}Z%&jgWE zQ9Q=!!(Mq#RfTBXxh;=r6kv8`{d;~sYNj6!+yx!EhfM6osZvmbzVCVZ*S`zfuG`eV9b`p;A2iNQ+g$=!k7Slf1iTwM7qw0!H>);^Q*C1hr42ay%Rf7tX zm)aTvkieV$-&%{cq2w)h6)Azk!03 z4L>gVBa~tcRMkIv?Y8y}k8FBhtV+zKu|G#pUbd$57}rRo62dyiL_o9;h%@Q+>F|8I zF(44`lV}5p!r_a4G<`5KlzsR~E{!|;c;ucnT;s1iP9#}NaFr(O+8%#Sg8Wy3CCe~m zwkk^BrhF`t_P60{2}Q-H@tUu{uS096Lg!bNwqtW8sjcZ~0}Y1dZ5+7*kAF1g^5rRV z=Z9Q#45sADIgZI~_wo0-T(qrS&ZRWn<)v3t*l+gU)TjNeZ$)M@IMpKmE6iOgv?Olq zojNY8SXq}}1_xc*(@*`|I{rPTxM>>=RfB-plfg@o^;3y0Rxr|(i)!+=)m9Bs`G1{8%Q@kN3~-`>7yP( z0@jO5o#pzx6eXcFphe>eCkz^mr5J!8L?cc?Nl>=zha#(}z<-InI{eDPu^jfeT2a31 zNytK6yj;MO?+}`VpNuRK_m9O{Y5t%Seyf%K2j?ngN@^KPK4niU{8r2Z{!%IlM$Y-IRCC#z(bSM`9efOar;Il+El4yJPk*(5l4^n!9BBKFh z`u1_7dkYl87%ax0BB+Z~r<}SKAviXO8XEMn$@&i}t-^p(rDiAqZ@Y7#~CiNOumTLqbAHk?u}Mk4B`CmR2cYq)5w95fCOJNKU#L zai8z~xPSTH|G;+kIFGaQeqFEYdR~ycM>F?sLFmF$(AKe&#ODzGa??!2w5{la3Iq0z zi8i;KBBI2Pg}i1}Fl_vbl$iD{5HwmrqY`L@)#Ntl>HFh;Fz1C#M<{RrSbDRd?O+;N zN?26duoU4~rbv@|2znFm1>0}0siK5L>C&N%TYTRSEWs#}W3e}3`uM1(XrWTfJsSv& zqMnL@6HB8<10fS%UABFq%{@@H<@2!YZJyko_KTX99xqsm5CtQni(5|B2ChHop;2*0 zaR!V50|zn|5NpIwwb<~0oKz^G{BZ732;qs(P6Q~B2u#giL`I=@X0#|(3h*R_8@Nc3 z4`v6}HAEZaf+ay2S>yQHR(1an>*^ zz0D9*MnI`=>Aay?dU^Fi3MeT~!TuNjTZ-yAO%fLcp!)Z}Xp95(NVwG=`;E~MT!WfkIf*kPfe~7U z)#GM{NBZ<|GGGKtq2!<*v?{g`u8;V628ELiE5?48ipN+hBjzMn$%tSO9kq&vH5Q`! z^EJl;?+{!OzC?k>7ErQx9M9b>;3&ffu-1o{_)TJ>yk zllAW4w9l)LLXA6XXU@qc_&xq0ZST}u55cuMY*vwmP<=1377CsjL`gM zLxTKk)pw9gc9z_BE8)(fq&enfD7EItf4TLYe5F;nl-JctTZgG5dPA#YGRdZ1m3OD= zrQTpNHzvaWyF2pwFtlTux(6@taHdW6_uPM_Do+rmq9$@rzeaZwT(@cfW6V7ut|d%& zUsrKo`X-`oszqs@PnBW#`kgr_xHK!n$B4Z-SK+u{s{hx^R%`hroD9`4vw`_9d>UB# zk4iQYmggH%K`M74P?8M`ZDV)Q4%OH7e;E&yzeFzW|IZjmqjd|f#^gf~!vP%hsdCqx z3F}8s1)7>l9*?grT>Cl_kh+Y0E6i<1U?pz2W9JY;rt`A{@|NbZ2`CQhOk4iqXF`wn zp9@Zkt1`p98)hjMBZ_?S1VJ5*{bKeJYQAQ!y25WHil*`vv;)L4z(xazB0SYHy*EP$(aZ7-;IE;EUvxI}#P| zY9(5wvo-CBI2pcW%&&Erg@8cUY4it1xc)u(2hz*&TfMV~&2Bz9JJZ21qaQwjE%ks~ zuWwl*?bFkFZby104mynP_FNaP}Zm++ZhFIEODPmTYl)`qVQ(5yHGDJ!aV%sK?lPT(sHN`$wMo zUJ0o=UxynHxR`t!0(?Vv_p0kLX>=d5GI>@jXqe&67P#5_6mK$iZH#!-??o6Ib(jcj zG^6?tF5b6VRU1xNIMpVSm5-ZdR|KTlJ04wbY5}ojEaM>tw zjj3b*A@cOAMp?$+jb9>HC%N;G@UHVM0><-oETOtue9aW4qFnUp>(38!RNLeH)iak{ zp&=hlw0`_1ainl{-*|n#RTviX%cbk=?DZqSsVM3*lES$N5HtPQ=iaEK-kC0%yJK1~ z;@mYmKfCP@Hx$_8|6_>E&KOs>v=w@sPiy*wV>P!|k4wF&wa~s*_{jL`-07>n8kuTe z`C0Duk$E3x|G4jMc)rik4+{vzJD&Mn z0hkoh_SM;jo4UDoo>%V_KV_XU2*$uHkkIXtLLp|f>9YoqCMVbH>wb$ zdtXyeF1IEraAu>@CQBse%mPb(7q_~wV~>mHQV;HeJw&zk;95V_XMOx~|KrfprHB=} zqsWWT_#WCackoJmf5=->Crhx+jbz`JHKKX1M2UhzBe>=$Wg@`=7FN+X)};y>ez0QMk=M>GGp zNLlyL!g+IIzCB%jLu#LM4$nT;!?ae4hCkXr$cr{ZydqV;ivIO*-^)x}zAxWeYL5jQ z6^>m$WQ|oU!$-@AmTPon?;Jc{gE}U0pMEw3Dxzf&V84YS`9s z6D`W*8eWq}1qd2zw)jkljBcEp-;sco%CUx2RMHwxiILgK=RLGf+dcXf?xV58uhSsJ zBX8|y604GC-}-SubX0(Q&;XhKW#HR!+j^kV;=cpL10lpup8|4qdefDFra3VmsqC?L z8Mt1U#^&2@(D zm;22;|Ci^10Q|+iz8)}!sMu%ln_#>_EcDv7doqc#8hvEH-;$su8hZ`<4Gj$j8an`J zx@&&ZD)j1Nzuv0um_%#LPAJc8HOs5rQ>m;>#wtf@&8uJ#W3XhZ!AF58VzFDRGk4Su9IOc zA6RR3-sjh@86<_Jh(`-Q=tfm&^m#H1dG78Tk6ms!@QSm%eWtFLF|zEbr#XVyReh{M zYEw_hE42>r-Ea~Acf5a^hteEB_&4D-nD%_lpM&n%;rVAeFnD!Lz}Uedz|_PAjR}@i z;L?q&;r;sd_?Y-B=WT7uVzry)a)OZhcmQg4t{w<9MjTJL&L3U;`&VlIwSk|&P8-vf zQ&_W?ZpZhU*tA7DZSX3$^{WZ4CsqBy#4F=7M?57f3Ea7i4e54fclBdOXDu>Uct3eO zxnpV*J?P$PR;T^M54U+bvf8kYy-p4=c}r4myM)zL_jyWKJlJTK_;)<{>&V17cXsHd z3NL)|Ij$_DO4`8Dx`}p@Zgr!4&d5whQ0ne)#7$=wE#@2a(&mmPJ?=?0j%j;Yl~6w>ugHO- zPpimgi@pf7Seb6*PlK!U1vzm59R*|`B%fG}e+SL}5j;>Trl-jr(heG|)f<-^+Bd$lB+@j904#SUaA`Fz zeS&X9h+OxtU5;H!Ja{1}$YgsMZmjXL8kQDlFoEMV4i*9)V1;3*J_r=ASgFjdL;#{{ z(huLgoe`&X7iUXQ|AQsWZZbdbUpuw^n58w9>oY52&LypPTJtx~Hr~u;lK4o!6bmnb z`9s})2a~<;{Q2fg|NqJZ|4%C@9@*NgS> z%$*mWXPk=;|586x%W~R+PnkmN{xOF`5b`Oy!xT&CZvm@pbp5GMZpcbrrLZ!wbDk}( z4i^s;iAN%I)DqCUu#bHG;*sHk+!K9c-JKq8C8tA@!Z*|wVAgv@%!*)*RDDWN@^0=@ zNU6umg-UxB85UVFGbwx?ewuc~=N~-fb)eBDB_MVFKejM$QgnYb?M`2<4>9s{@ zFPcGF9;C6m`|vI-Y2$QEl_LOcb3Vj*px1t!p{>r24gZ@Asu_ql{(JA7I{cC3HTL5q z+65#RD!AbC^h>D_c_Fb$_JbX#Z#0^nxgJc{|48m+p`A0i^@BV}&4c3y6sCAUXH8*~ z*U(&#yRf%8qvUiSrlUT2(a7vQFJ=)W&3cS$M0cGg6l#qe5EOueQXuWb9A9X3 z^X7)l0IwTiX>&7ivcT(6t`6vJ9Zn(W^LKG2=CK4|ap8Fb+F&?c-qw2djn=|c8!TU{ ziAFYHZw837QKxz8XQT)FNXm7XJa{7PLP>nYA*fJB&zE|N0FDkXTc&Ha8@G5BO>O5S zoJ5o#UiX`n$3_bGtIQv}j0*|COJ)UWfXqiv6fW0k{1{sD{S|ZIQeKmCe&z%+l!4Cal1)?%?I18nEBir6|{jsBBTbnvDg(2|Tt>ZGw{0$WFfm6H;-2JHU@uYjH7XW; zjl$s(H5+(0)nuElGA&KMhB$NGt%;ekHiJC2KL^6O%CBY6zYcA3PV~jY$rO2)A~__9 zq`Cw=2U!m@0G9#UEYKlXSrBArZk(xTJZC!lR9JbHIT7U_dmE(> zrck|Ncy6d$gh_!Zvs=f~wJw+kuG)a)F_7*+H|JP3WE_;5qXLV%+aWxewnq01aa&al z2~t%AnE*7zDCqNcZa7Al0<>+hlbM26r-;pn^b(-Ag)a;743aZzCCVeyV(Gwejtb0s zk7;ranussqkXQTRYb9mafq|y`y9#0J)VDAJrPv{G5A7{grO3FtWbJgwK*C@76zZf5 z&Xi{|Tv${bCJjW!`zHeh*=Q)0%n77K1Wfm)(F31I|Cy;lQaQ_C3PSNfJ$Zn-Oq7pp#B<2j^$2Ufya(d zQ|}{=LUUf{adq2vV|ey^6r~Q7=2hv9(ri@7m?vRw^JJUAJV_pKz1a{QfOp1m6RrGe{?L+&d@vyeSzD0FV{9#keR^9g^E!9 znZGrY#F6gkh_&H8>vY1EwA58oVt=-gwO=ajnaWjj(I&;V`V}d1d z`sM3Vpg0EKR#ex~WI-@=Y1ppvU8D8cw0_UXnU=sb))jDQRH^T<*-4B{mN1Tg{5NGK zn_^2Vb|I$d8hyU#Y$vyXA{c;hL1*~YDWdIL9!+>Wu@@?8+cqAV5P3*kvhTvJVs{OP ztl9J^u4NC$i>Q5Rli2cO@h%@s6Zwy>lAWLW`}9HxsQ(AQ@aD5X;leSp-S^X8e*ltfWn?d_x+&A{dlca2ODT&U?Ve)_SF&xzIF zI&ia5LD6Cdy=MJ^qPxlw6p*IV=ri|8nR`KLzM0XZWqLBkX3DTfO7ZPrd8NMn+I0r= zGIO+p^fI<$PuCbG*>7smqF8nM@()>iZ$@RhGr+9Um~6aX^jqS+C@)O8w0ZMgLR%H? zOui!>{aT|jIiJ}#hJbJWICxE-`-S%;)PcIv+nCm6_U9ZWi?l){Xzrldtz(iLnIL~n zGa+uGS(X*lO|_{+3*##wTe`Za}ARF4skJr(@d~{yXE0o@Jn z0|6ij4F>wueuxqco*Hl29{Akmlcie>q*Rla=~auF)AsDyN}bbxPBN>`LdY>ZzM0@s z5px=>o$|!TB{5s8e1E!l>SB7jFIbYLojcMG<0_@}!`378^iS^@t(#@o)qcIq+0|+o z2}jJWbyWwK=8b6!2n+*@>-b(*Igt+6n3pZf8L+;?&Dqn_Wn-%l3!^&>=hOQDHsMj> z*mb6WoLd(=D+5!AG()b0p&FNa^!J~gPt;#JHV~LbP8av`@ErCC%=>uRse3JRB)LAKeCqMrW|Y{<5`~^nohv9P_Hr`zZo2 z5}fqLf!Ggw6ut^*UPQ! zuX{i8LsL2-x$siY)@;Ptjykqv%7DklBOm~du+u;2bq{N(PfGOb9Z6`Is6i~~mm?f_ zR;wo((kF&K2R-HzRMlFI>2aftsoQ26k6Vu+RO1xOSJShL8yyL&Rvqnxtw5V74e=$@ zOg&YElGuyb#>yC4H#vSDub~rwV%{+?=I3*3fy&8GtHMIpa7&D2zt(h2JnXD$o7$Fj zoy;8>d9Bf!7#iz4e*azttwmVN^z&y3p{U`*K>c?O>DdSogLCJmoI9tEdMg=L7b`JS zT~~kVuV&{jiD6e$(-={UJ0S@9mGS8zYt?StGh5gX=^)Zla_;8l^8WhJw9qIw3iDjB z$7a@%>&v>eDheEpHFz{S_RzT62x-tcH8FO1gj)uJpqf+1F~G+UEUyEOte(-k0Vsys zqZhuLbheqguT7Y$ZAz-~P5EH^)a5pxdSHfKIn14~9-?4Q`Tdf`{|UEa$ZwC^4W^l% zAEsTotH(J6k@TQXxK@J8WB^}0+#%AZnKT+R)iECL5EIhmc6)!CTxPBvN0@)&!1G3H z7PPxs4?s?8n9u7k*9*0c(_gmuDcn!8aA=&&j7F@1CpV{X5VUC~HfGW=8e+I2@nQrl-tEk`e;oZx^~E! zd^-*PyjLn@p(DK#X-{*VOV2PSM|}hQuf=Fb0o)Vo-gG!uQT_Y-3+u+7g8V`|Q%VRe zu49gvzFs+gG@I;(H@?{yb@RKwe6)0lDIc!Qbbk9)2?pZ#Z*-y)C$TZ-nHrA1=OncX z|6}?@nZ@dAD$Ke+PcHYrKB1iO-3;p|fA3mzyy$2Uo#8&v^7Ci~+DIAt1GhyeSrj|u zj!2WNlGeYc>I)t)rT4Qw+UH&#^32huC)}ECbE#SyyPEYg|ACvIyW9^uyOZc1*lhll zdvkXOFy0(b99xC#yIn;xtrO=%UL+}5mLe7}1GmjA(67By%6-nkOsFmOdhs)NF za$iriu+uzh7!R;$l1@Ecw+(F;nrRQ%cRgK{9vPoK3~}~GUWZ=mS7FMjQ4s7+3P zuh;$E;@bdu0;wSUQ=S}&uq_aJ^h5r|RFlL(@D8pz$ilAy&<_JL?*y#18LB%)hXiSI zOVEA%t{@~Ka)(#^sxM(;#6SSb{Cju6>7!V>^Ak4$?zm;MlZ>gY&CO4Sa?66Xt!}!e z!B9Xz$EZ$qLWKOaVlnMz=M9&K64$gzof9~lE~lB00rCGThADA4g4+G-%MI%^5r-Fo zRsu|`JVQf2|I5J-+oo~GVdx(Xy(m6Eq524#sEd<9DyJgpfWvNn#>gz~6i{dEm-i>( z&BMHw?fFjH{$2E|+p4{w8dn$a-~$@5r!y=Z1xVNKa+RL+_DV`c|5T<0i`9cYT>Z(% z9dJJZVl9ev5qX(*ckHgm=Ld-+Oiceyvp;l(cF0=RJ5-w%XVgm0-?ErL)atwc?>MOb zC*pFR~(rI5vhvI6t zFswG-dw0{=@|%5FY{zqfW{ZSM$$(Jgo^!)A2N^k{jFl4CF)wPgoS2N#D7)>_;F$Dg zKA5XQTC@yFiJFL_RtU*$`je@{jdOm%MI^tDj&@-_cjdht-*0N55EE3=aF(LcC)C^_XpU)aT5+>}9sgV?V+TdFKrN?Ik$H zOBcQoV*27w`SXR8_v|;{{pCFHOVq~Nz9}^gHT~yrK{ki(;#=eV%aO1$7==9RRVQ?? zqCPkDfBOyqVd1jtZoXz0z?C=YeL?e`DmgaK3n3E79;t+Ygx@Sn!+5bNVW7-56g@$! z9VE{CH@h7aFr4|2MF!JHIc19uASxiZPYs(i@z1bN+$7}%+<-~bi7t(>uTg(Nb6|Mc z(%vg#dq@i*;i-?AZEmUUM8aVh{iC(CT~0BT&>IL;zpDP<-H1Ywm34>h3$(|n+Wt3& zkAnK9I+58_INCI*oCmFq6InRNr84Z!HHw`-V<`E;5*FI8(_o_o1EQ+#`UkG(()Vp_ zc3|y0JVBRV;zL5uWc9>pyT^YehG883@VvWusm4*k!?sn?XnsEawzr~!EuwfwVrB1B zjND?~)B~mQZwtkSciLnlE&Tvye&E|N0Qa@jk^F23q4|bA#dZAevU- zzmrn#Kn}1CXw{sCt`Os>^YxplvWZ zSzEB7)x8H4e#*T(}9<^4#)HZ3m*m%$=g+WQ)=MdWLp*x zHA))mTZ##%oeQF+^`6lI@$a4ZL4YsB-mXQ>Y(KvZA&1FIoUyfWsK!ItlZn){hqNH( zq_zG}^s;}73Q_ttXLo*}r2h-O&7XFX!a{m)Eqx@3**WPN@QN5LI3r`D`|+Vd5qt3c zp7>Un`PWy+05ws3HMn%8-!2l~G#4lrKgX)F(a6$PF8d^d0)RKFDdw?{x_p-;=GoVePiwU(zch5lmj569Dlcjbl#gs+o z4}%p31qgv?8-j=n3pHIH)%I=NeRAqK(n1qTANd-ApLq_=$WSR@P^@Wk8Hd&;e$e2u zm}0hRg@<_;HP_Cb&6vaw5HZW!`JNK zWf>U>&!HTY3hD+^F5^x%{e7_1m(b`sVr>JYN5Y{t4h2{Pz;<6H2BOgEh_QXd7)Xyu z7MU~mm1zvBH12StEDug$?QTMkG&r+mr>k0>=;I`Fl{Cg1X8 ziWH&J3|$09Ar^nSz>f(R415ovR*Fo8$bUf>J`n>)=-q`EW%R8nxl@E&1JW=BvmYC{ zOv5h26BIkgp-5w2>OiO3o=va8$)SXu>|ZEup(t*OR%U{L)L1a0(dZpYb) z87C?|U2Sp*$4quLkf3j&e}Oa-;OdvBzN=F7BZFtd9_KjvtbO~e|5Q~_Wag#-bsTxD zFeMhHR1p(8&lZtB(lFlX`n@N#h3N7ILCxjeWRhP{&@@mrv%M*(96Jas<_)!oHZ*AR zK4^)2JPZ&dZ}oOM<(A(u%uoq9+dBt}2JGKY{&HQTl92}=e)t?4GCwi;on{EL?{~KW)^bX3TVRrW3EGKA{dQ4+Up7zYPHD|QkVt%XI!eWy-LR}(z^a-T< zFbA$b{IPf;Tc7U_`qlnGn`b{~QNNk0WATsi@sY-_f@KupIsRc@4jqMG?W_B$*rQ1# zoc&t5kU^y+YjWNYr02Aoen>)&m9JDpogQzJW-qPvE@eNRp(u@rJDk|Oza0G0M0dEY z?S5M(47n$L27pF<-JhgG0rPLRwNSJmk~{EyOmC5slnXYh`!#QT@QWbz>yT2#gNwIK zc%$e{a6eCjr=Pg;+gCn{i0Wzb8p7OM)EaRk9G?M%qi;t36I|<&WWR4`{thULXzX+$ z$-mt&BPLRPd-VvvBkU_^45+M zvna{E!7=Qerg=B%BbX*!_b)2TkgrEv`K7d;>8{)5n=rBe#Dr5y5J zn`dN&kL!ucEU)senb|E$L46gT{M?n#0l(R#`_ zKksG!I!>|xX-4BIf|8$eOyB;hBdWEnt;sU%g2`(B_xx1t?TGZj@RX4^V^6B1cJETR zN(Y4oh4=;e*d!`w2;j#A1O)QDj*q2~KVLQ}e(CM>#RIY8A{NXu_PLPQp0NGHDcLW6 zZgZzEIs;EP7SFArlnlLx7cP&y6B?FFdBuo{j->tc21m;?h%JzEI9xpV$I2XbwcF;@ z)^#~ORuK>y*eot1(|YEfkH{VzZ*vLV_q+OJQNO+I+Jc+)7UH4^JJjhq_4j$S;tJp) zCaL6dM;lQI)4@X7Xyiiyfh@-UthTCPY}me7Sc6IJR`dV31LkYD6GgQNhTOS_{ZDyX z`S&9^JbEfcV2qsdsQdyeb3pNWQ*U|4?(%SItSfN0syc}4=Rhtkt{1P`<(5>?{WeBS z?ovT8^NyosCVs7LduAbv9wweGIDA?kc9DBwf8}=hKX!4Z`TzQAAK`x~BTj9tzXdJg z>KsWk5)Y!x=UuJ3LaSe00e2-*&+~A1>GD^5;BGvpxI-q-e@u&Er?@No8VM=6ZPJnM z{Zfc*)`TZn>g5h;{${`N{&gF~gLrw<>X?S{*R+?v4kj+4PlXR=gkPG6qf7P4-aF+^ zc=DBjxXY_mP!B5hTT^bpOR^dV@J(l1XD{1$CCWmiY#n_8QwvvNM!Jebn6D>bKQOL- z^CsPBz4x2w=&p$u9t?9V_#1G8g8cKhD-Kl zh3=EV(j8RF8uxhIu>Q7l>VL|fAwFUzqzkLy$J7+7fwPlmYsKID&%n1$r&!!dSiW8i z5R&VyuBr>eoN$+2mvWaywP(x0yXU9Zb(Bj0BH^dDPR@QhaJpSUs7L1VseKET0FnW} z0eQ8!ce+0kY~~yI9&ct7-5e0=tM~5jr+Gi0u?RXfZ8&Xco9yDH`y z-NjrttBi3W^v?m`<*xiIpPX*1x)p0ryF&JB(_>Cd^muv zX-Bhu{4!kbHy~_ORJ^I)A88=AY$xZ|`bdtY7iWbZHv2)Kf=TF(V9KN&pAWf~9eawQ+E9Jjb#?u4FtE`O?@xroU<9#8K(4m)g^I9*=} z4B5vK-i74wm}Y9FEq;8oGw^R9+3!O+C}iJvMw7>Z4?`ua1a z&6>@P+tkQ-A(O5-=h{Ta%v30GvvZc+QaY$Sp5JKNS<=P#khbfz){XQncXm|kU$nH= zD$h;&NGb2bzmpKI3=5GM|}&6wCQv!Q*A+nn?6 z*giNr@(uXtys>gLI}jj|s>nu=H+Q>#c9ve_G$zpR_R?@XA& zDTSlUV$nHux8`p4BOzihUL&T5+V4re<{Idw!{+{NT{yoW_%$>_;>-$aZfk`E`l23I zP{)II8oDkY7jR3b>m$_^?5N2W^KrP&+bHc-2GHOSXP;0>xWT|CkfF3%Q89Yd!N#qk z=W?uK8Y`X8U!i{^-dXl(Y31HeGUbERK*5Ox?C8g@QSWD6jWR(c82#SyMK?>HV<@;HySe=7DpX1&xFjfC-yl&hFB zwl)X)c+f+zk2H`-yQyZpi2y|z|Ko9UuAZ}IRKkSN9u&4=LzoJYMecc~m9P7D_@d~) z0A_Qz&v!C1-1&ki)+$3}nb?FzbuPvjXm8%^?XX)o$#Qyi|MtJ%+@0;|$?DMb!qzItNlp9oc=+ZG**53NS5@Q zg>bOiOCHP)?{m`6QEVc5QT)iAm4(rR_0H19?u(UsWB0Hv-^svCaBTbo#l;fS8;jzP zm14i&lR8UJS*%#!0qpyr16cqB!TSkHR;fnME8FxVU`*o5`CTx5vfdf!fy^`O9YM1} z0~%zoqTbbuFWBF3>@%)3DjnnCXSItCvy2fO`a@h1RHfLYup#Jf;|B&+lpzSDNWBPV7%wvvVfzglSBMBo+V|JP1tBSF&L>rc^Kbq_)({o_IH@jd`>?EjV_5bqe zeJ3IG5|)3OI5hMyLNjhZ>W=L^Hn#PgE_{1GD;8N2v^tj8E5&dTD?P(fZKd2nAB|tR=_B-TU@W6)8 zZoYYrBw}Rqqc9l+GI!@dBUzU6I{<9PvdZ+~%sndk@H7xgoLvzT$q;KZS#ewdf?=4e z)ng++eB`H;p)vCkpj&^Yg;n+xD0_<~tX3 z101PL+c7>vMGHwpP0oPn=<+?xjs^VtKOLh$aCqF80jT;jj0TLCVNQi(Fom)@f1;aL z=ynFZEhC+x$SZ(%;}0D0uy4nB4ax>V-S-%3%jm!yWqEqHAso?AxC%I&j#^0DR57bm z(|wpDP^u9nxpVeMGTl8MEB%Yai;-{lDyLPTB1gXf7eH@Ka=^YztYVMvw%@OPO9!`! zlzMu|XP^XE-oU8$*DRClX0w8sY z3LlnykDe%K9&Lsvo)@wmjVBi9&<8ko>nssPZRk==%Kc81)5j+>&F^br|9RIyf98=U|RaAKuhlC?5x%V>scqtLWlZL^d2#O9dHg#xirYQ5<97TP>S7Z zH~8OF(pR~(xk5KOCs5i27m4fAySqqqdc9U8Bfj`wB!*V#FLTPrM#^kEyvUr5gJ zFs-c~XE~;QcXjL`we`~p4en)U*?UykjGCVP%4wC;FDr-5)vONlufsAX?gqBmS2li zHV1=St8)9Z*rdf*NeeQ{D$Fu8KZnf{^zm4T!=vYz=d3fLlC)rrp`lWfud7SjR7!F*ArDKXLwt9E zLN(51x3K*nno<`jZbpN>QBrkp-7UJ*Oi2@%R{$1x2>wG>CG04`FZnsW1|PxljjUR=e6*u z>paA7w-79v#yS(d+i+UjcbVN?cg z_UJtUzO3cOoqmc?*RB{hlFhdpCs>RhNZwoO;Gu4vzrVGe+_BpsmRr@@G0#j?se38+ z^NW?+WPc97x`8_N7u;wYOCXcERHGIFH`gvL@qjnMDC}@aji&Kyyz6@lf}mJTgYC03 zDz`x3)~$}?LqSMiD?A{ZbAZB8NcqRnepKM@p{Y=+W7=EF0vB~j=OqtAxW%+S!0Ukf}s*ZfP) zeDmH?x2RZ<6OEm%=tJ$oTIJ{wmC(SpPdLIs|HCnzV`A;B7{6*-+HwQK=Tjnkm`I{J zv)C*Ap1ED$he`!x`H5>tAsCgb4T@j_ZjQ(;bSjN&m!-~%iX|hezs?aU-(Ti(i^w^f zVs&A4wZ0YOGxWoJ=*Xl@zlwjivbfCqEhkSBB}=%!h~z(__R|=&0iXZoW}x`i8B^DJ z=gHPjZ4@srzI?fXYgPR!^ms+?!d10F{fVTvrbeCe>`x_&{KEW0OLpQ*v&@QBp5*`! zk=cpOzz$%ohu!O3ca{BZ;#97J8uA=pKO8NurMl5hJea+Zy(0mLRrBnjpR{RwUImek zI`|%=9!kbtBj3yak48c$p7lY{FX9yT!aDZsXBs)>A7X(MzAE?%?~53nU?NsR91Ftz7ELg-zjf43NKZykInEL#>)pVecxWIxOoW$EbXWS=nu<9Ta0 z_~0^EM*)``7<^illYSYx8&mEo_sPu0Jx%$ZVwV)ReB>?CCLN@q_~(p!Y+CqK$kZcP zs>owpr%zy(rqJwBIXn0Gp2_BjV`b+4+0tS1)s9Y?29JY73wwRep+KR|SlFqH*%WcP53cn?br zAm@Q_RNu=q+bQl6|{ytB`x@T*92#lKGg^_9}&JJ^@ z?vX#Bml)zq+qCxz^Al4SuCG1p%+qQTa~OMQQWqRcy_B}o$+G8|jj!mZ@pw;B%!Q$5 zOBC+cTp3??o@q{G6heB9fy;-fz#XZY2n`i-MUP<i9TDcX%au{JIG{r=;+=W+8o5#`kMditKMMW7iCZSZ z@n5coy=WFAE)@-NrAazPj4z2}%*s*BASry7kEoc9(69bO+>Ese%g%MM2uBFIwM_HN>_!no{ zrWxlJf~OGkS*MKQ#D{y0=_+Pl4IAfJqgPBSO%)iD(7rf}2089XhjDUfI+inBSX+=S z6%vo4#G6vQpM;m~@J?TmKl}e!4-XIJEF1HJuYpR$`XtzGSj+ff(g-z~XXLaJ7Kjsw z4TqrW>!<~Gy0RTp%zR-f8F>U`5lVK~25MTp%PpruQ)1airHqA0EMY(JtWY97@k+7D zgV&S(ku7JSwAaBZGG~o!)S%d8k*_vVP&;|H;(4~2^B2BxsKsl@y`8<(2`J}vxr(rY zPbsK{e>yj1Q-QumckKJ`zkc$ZzX(nNoH{*nzZ!n=>?FA3>2|&7uX7}UCLP?45&s3c z{|GMdM-Rrv1?%7FgUTL9&_yzO{0!+aaGllJ|K6X-Y$raq$SK!@hg|Y+QiR=ocJ{k+ zA3YJQp+ibfEX=AJ$UHx&9AiIs9J|sXGr7{gINe+-B#6OmrFjZzYj-}mod5h-K^;kZ z4-rlmcJAH&hm3*-mcnDU;~_1xc|QJ>Gm1_)9;G)l*dnn#fQ-NZGR>_by{|{^^qe5& zZFZg$PVws{`%4PGhZuMw2Q5uS1 ztcNm|HiOWM>Kps&K!c;VMPfK4M=fkNp0xU{_brtST~YoA5IO@r>9nk zq*DjW{ukenkN}A0-mQ{hfVgTt>X5MP2`jD9+AbMu`1y4HScZ&$gc^P;6eF0m@R8q3 zWAM3^&n(3H>mD}JukF~v@3%Ad`^bd8-Snl&D1eq8a;zW?)s*JJxB^mnOcjxvXRd28 z5Dv;8&9x}*F`o4GpJq1LI1~q2{7=)Cc{fUzk?Hfr(}wZ=oAHf~PnZ7LN*eLqQKT!i zp%r&R0yYpHmCPy%WEpt8I8U2LMXyN0C~B7~rS_^_d(WCdLrU#EYJO0oV$|NTijoGkcWQ5b z*Z17_`JMaz({T>rT)A?+p6}=D@gVE^NtA&BUcN3bPXt(IqpiBUxoUecAU_G%^Y(?y zm05{p#TS0WPMa*O8_HyjL{MTbo4;9x3^)e)`9+55@aw0S@zJR2qF(b`PkMz<8TZ#h zFM?Pjx+&)x>Xe^$(0pShT%`qNo)RI2)>=yXC-_8-W;|CjIU`&#mI$YXdJ}rM9LIpq zwy>&RlAxL;7=2xZ_h(g9ODj%0-t&0Ms%X!O1&tXd$fn z{6`yl_w>??$vSL|isW>1GgHV9#Qa)=jo?k-~}LOpT_0LA`tSpHt$ zYokhMQK)+t>^C+|3=g>vDKaBG7W_4Z)E)d}0q6a450cdwxDd4nwT?E6XT00RP=Ij5 zWVv_cG8V*q?)c#*rVK<+%R40qQVc1zW&HSEMvV!?eTkz=F+ar$BqhcU97@T0=Gs9M z@J|MijMkBn(i?-PkK;ujQO)JW3kmlAK#|!;7wkO0he1-qKLfTJ6+ktsCIv}+%l(<8 zDm{dvD;G)0`3a?p0Fs4X*gC;aBk{7L-iKTX1eHRH(O?zirC`-hW75AnW?4#H-zceg zPau92{~1uwN=r`Flj9x^k=>)U1^3z~+fEA;gdMUo@jap$K*FTe{GYQ>p;h zUTlZtwd;?Eq`LCZ0u`QBq#PN>^QEN`$P7W%Y4LC40V%;}LQYDY&wmt~6O;r{2rvq( z*jv%^uxAs-u)C9i`@yR!JkvlR1gs!MLg1$m3iWOvb#hgDKglRkKT%$R zD+E8(pceT}g%xz?VyEYD z*5Zx&;qhM3JE!lv5(VJG%4Rc*B!q3TUIT|)GY6pC> z5)va;Z0y-t*<5wCj29w9rh&(zB^8^^mi|rXc3DSqOjBGP5c!*BO+5;!RXormbfXOv zRMy?!x%#2ob9`-6P4dO2fdvLR?9pp95#&ee_D8Tv1fMfOf3&ySr>6@Q$`R$Ea&>19 zQw6dpG_Y)P`Fe5)h~m1$M;`r2&roE4Q=*O})*+rqea2e@C#FB+0Thf#9&02O)25lR zjZEcUe(=tX;9omD4^S4mHwayInvuXa(N>OMmQ`(~+~1=*(JzY6qeYHi+u%fAs=;07 z>~UfmQ+iJRzlx(M!|%_Bs|j!KjEp$V%otIqePa`dRki=Vy^ZmZW;;^AdOVX`;o!HK ztUI)o`_K6Wg_$J+G}Ob$_9fHWaN@-CHOuuFkX&-F3%oDe{J!}N!aKT#8Ut}WwG|%9 zdQQ0dkMEWRZeV`y`e{pj{ZlN7xSFfWh^DZmB!+7Bj5S@p5Qv$XtKwDo_pBJrwg@gO9PrCZNXABI$ zFrIbK*SBYTParF{rom_<{v28VlS9)h03396cJV;*WJG*HfX+IF+XUMXXn^9hYH(d+2feZDMs()L>Dd$@PpTe##gHK&X`7x6sLv=gnv#W7+hk)zeJy`PH zaI2`HVVQ{cypRL&h383E!#i?ehp}y2=NS7 zn8DqOQzm=j3MvA_pJrTQS1pi*1CCH423+;Jj) z0auB)YvklJ2%I|w~H|7X6w*j)MZtm!ni<@~8 zyZFb5>G5Aq8tm{AY)0$1W_kfl0RgQv+EelE?tjZs$9v1Tpt|=mk_4)R%Eb%@QW_5n z!d{ch&{^}>b`$65ghun1_%SF_u*e3$E-xgsUMK!;xSpEQ$S&&!hdW zz(d$+<`})uDq*~vUbYlgtdx|ZlwMl39pFK=Gca5GRh`5V%pDee9Cdxs70CabGpSZR z4*0JSwODqz09XR=Q$CGSvmc+k{P1&CPQU{bXI`c{LxJw#?10Dwu$>X~XQ$!LML^QX zT93zjA~56y?b7e5K0kccNRyu0AY$9>4rNsYs*^075s`neb&5aP28t>xJKf>V&3Eot z>Aq*#lf>Gpft0hYc?Z5)UmoB5)?*-5ruH{zZM_t@-Iw(quWs`V3gOS9FQH$zH)LH$ zU*f878`~v~E6bbJsP(-yswH<{bb?7ERCO{=ev6RRK;x!8+k;Od?*T|$4aT(RPctE4xd}cP=h_j+GsX z--RrH$i;+dzNw2|8PhA%7S_-*NVOHn-nXZNA@w|?)|NBG<9ccz+$GMURg%ckGkM6P z+(CX>u=nmeM@*-Y!fUUKD?-NkO7Y{GeCC+__Zb$tu3FAPx0*0vt)#Z9^tMfe7gceb zzC;#<-&X-{^fg^*%h}2H!N(eW#zxoHk=41Q;YwOHa5-iy`;CTd<&m%yoc7@`_18l{ zE)sm)sf5px=fLjTY<$OGyZQG|C`tySas5)Vms?5q=n2XHv@!~++$tJaYo*shG=o82+b z?d9zIdDsM2o4Cz`b0wjS4-T56qo0yo=37)JjtP z7?@KFE9#C{pBe?%>saA&Z|Q>4+LhnpVz44b|I+{c1*wN=UkmwvFJEZmw+<)cC_Aq& zf@+K=6!U0>y04ux27&qGk>&SEDWsf`@Rlkf+PGguo7GZ|v4d}f)<6OGgks8IA;@5u zi$Bt?Aph#G4;rpl*$ux`HZ_;reax;KpZ?(_!xU)k&mo zfZqvKAuBs*U&UCuDV+Jgq>>z#n1`&CIX9mu{v+?^Hh<_FHjphMmLtSLAxn%8zNg>K zz)pV^3ip?@$wn9^+6s31c%Qh*=KK>laBcZJ&~yBDpNHjN4a>i}gwC3JEtTo^2y=)` zi15GHf41uShd`7pcUb-g&xaffOqD>c&wa1z?pA1J1c)8vOsr;u_+q1p{!-2PO8v}{ zv(LGOUrJ0p48E5ZXz?GI06>EEGqOkc;45pEf68&3F@}6nd09E$KP^S})lD260h0Ni zDn+#)*h&H;_f`S~m)I><^{_Bmj-4b}S2DRodFl#pLc^)a7)M)Yoa zZy)0z!xQt;mpeP|7hCpj3WJ~SLwrtAKS*!od7>&aESc=(CRE0c;l% z6voHG{*uK_^#GQ6hv1;(Tkf*(l0q~@m-=N{+)ou>)*@J~FA^jl9ia#(43(!yo>jN@ z#T_Tq&0bl_m}-s^tuCCYA6-^uNby-F-G;ZUruepeFQ4I>q1vI*D zYJm$4mrg)E0`Kw=*aHtMGAuuK6cs38G_YvJRp5bb2lrxz0}2)wvF$)l#|lqg9VF#? zrkYiH5rNdQ$g9bZy6Pn~yegAkysDEGi^h?l%VqOmDZo?L@^vINc|ecz+x@n(r%uo4 z9X)F^X+N!0NHDj$hfl-%rJfo`UtR+ZaEVvR5!x$==NR2DD~2g5oJ1~L#d}71dPa1- z8hT04qKXD!FWgCAU#M3^Re_@`H}EJdPHHraBAmIxGyKU{+PY0zMh)suC?U+?K&FaL zy#~$`fF-Rx%_XDSZouw&nasEYkC>k*KZi_Jy&+y2rTg92GUN*tnbj%5rL6*Mt#Fv3nO`%yEY730-%K-}w>^O6*B|!U zG7`zRvwbjXw#{$OD_hn!&KI+%Lv;x1C218NN>ywFMl!7b>)6~G;Bc`vw6X6c0+us+ zOSCbtm@m2}SaVSCkIzU{trM2=C!+!0LA30xvibp^Mv=NAEit_QLCOTjXqjQ#kM>Fy zW>{W?JI620yCcy2%m-?||8$t{NihU#D zVu2;7Y%dl#*gEq*2ByC}Ci;MrmhmNrt};ruvaewq(MS+VonL<<)9t1XJ!Gz*Qr>6^HTIwMKtLC95f)h5GQGv!SLHI;Bbc8MjX0G?H{26604-JS2 z%ElSe?I*dv7^-VV#^}Cyr$cTWLOJ+#kvYtr?k5#l2xXXmz%wpp9?D2X?M_lNS1y>7 z20k-=UaBbs}~Ii23reDKazS&_{bAs1F>7at|Jgct-v35b-TN_1f)^n&Vt zM3l_Jz+nty*q9+sGGdAd$X}Ei=zplr^F^M&h;e%gPkxZ*4r3llmzD^sMC9OM`n;Oq zg|a2Y(kcEWM})uJ;}B9tm@SGJU!h~?#uPTD2dx@qPSJ8*>YTQ_6V zXS7?=7aT+^ih_KUpTO}(QAV5Z-#sj<5o_K<2W`B>-R~eyR*>bjy*nv-0`SJMJLtSg z<#!Hjm?E>?Abfp1$7oW-b79{2{sQRZX3Yn@36p%!3ZQ9c9~_*rS3MgS9QTOwe04Ep zoWjhMaY|pJ?N0xaGl6QUazz_plB-HTW<}XPt1JG`Ea^hisWs%wdzklFI`V_WdJ@b9 zC0-yDgV1I4f8top)@y5RU%?zH&w3vKyH)7gmiq?&hIIDKZcc5UvkA~}se&^!X#1&T^mkzZ!X6*g9usiKNk|$K4L~j9Kchl{U_Ax^$sx6D839OIiv|4a#I6@=GzagXU_Y?9nr4kgk9gHp zZUZ0JM%cH#Nr%EQuNW(BR-NmxQ|LBHG9!YIm5zc5L;XJDn zU=D$@)d5D*HnT9OQ}bL|$1K68%$ybrHYLm9F=9cdMyI}bx52xvGOkpdIvDBr0G}YE z-prueF8@_R$`G?YzwP*Z^?oQM`)pB~^!D)fh~<6vCV*~ex!k8fqaWjS1P2Ht{zGvO zKPP9Pk{P8}<(msCca+^~!@t8AawTQjn7(guRemblP~|eB!cd^DC_Gx1#v=b;w2suT z%ZBpS$LyNpAMj+H@<4gjrvw>>SS>dYVB-w=ZLo8%bTuC3a_z6 zAtEa(|C{ag_taA~apPUT1K%z@Gk9fPA^dmie04~GzkZLi6Oc2uw9n2P%LW|w$p-iY zn^0^W9ee~7BXw<;HzSFcYm_fPw!L*~L_<|`T7BsH#{X(3D(AE{^{2QaS9+VIG{QZT z#-=_>WTeht?&2=?PNsdIO?(|JePMXwrKqWoa|T)+YfAh+OeH#*e-`FR=x??R+P{98 zz4%W|Q#GwnbsP{dQAE(lIYw2Lstq#G|9K(l!OrQXLwD%=w{?E!)N|6l-~@d=yE*Gs z_XK@2(|+Tb&au#X0~vW;q)b|&R(p9m6Scc{al*wq@7NfXM{keP@7cY`b`^ey@s2Vn zSB7*uw+5arXXNc#@`qF0?%{85mX?P7ykFx>yW6j}hJ@p?`r3A(pW$3WwbAZe=M)RU z3*EpSBw_btk71n8QP&&3zo zxQwmhII5FG0KujfkL|+MU(?GjSDANUPtjxVTLH-t4@{#TSVsZ0oCq>v`{ z-GKH5#>oT4BWC3SNED+dtF;9nczCwn$b~IMat?*G7nnX{%3=n^!}+L0Alj zYRiLf>NH3d#?{r9$Lip(FFOst=xxqUG13P(My?gdEHfoTRUpC;%OA2kjO?bZFK$;y zO>4}?wxUjFR38<9R@Cj8{3gA+a#8XIDfS(o@W0UFEbjyNR~-#G;a91*XSXtcDuZth zrc_05|D7lVGDt16Q;6zhU*-bM^GVq@pz^YHJ{9;HpZ@m(cR5skD9|3{7UVlY_P{lD zos>S{mzU{jMllWR`qwqSj|kfJr#dQ2Kb?^Z)I9`M%Zv z(2S6)POmqKd5bvn$%#f6UiMc{#psZSgri$n*^#*^vD{5dG&| zcTKz+cw1nDJ&m#|G(SJ*`gGb$JS2e>GRf96qzk8=IrX;OP5Z05NNWB|LX#nN+#L6( zrHw1_w<#XrPu%pipHbX)9rXODGiq#=5Mfkle|+kVo?YdY<;mwWdjBkd$q45PXKC0@ zwzcIRHJ}$5wd&w2rIbs&`ENGo*(>=wf3J3WivD71SSL9Ks0VZPE4vnd_@9@@nO-jh zAx-tFS%TEpgol>Kd?mlasKP=O%Oa64-RS7mlP_6hIpD@w+3Uh(;_tNE#6O&`N^p5J zR%+m3F*|m8B@-%E_Ij0NRw?AoiKOoqOv3-;HsChy&JrJBlm21+ApQfn#>@jlLz&BC z`h7l9Fy@2JpZwC&6-rhzo7?}E?Ts+6Tr|Ax9A)Rs3n%I#+%fjuS_b!Zl*g@mY>@Tr zN9?mFMaV143-q0%6jq51x9?Te{^eb{K&ww-o|w$uqkaA~szFwy8DE6rdfRE2OUcmv z%`U3yi4*P!!w|}6=aQLiGHfua835kKO3q#OQ`=D1FSNG*IA0@~C^uFaE3SIX3V?io zCPykmjN7l}-z0d1IA7dkvhQ|Q7iFJtZuNFH6rb@P{}@-FNh81cdphG1oq@$3dF-g{YO!#;kEX^U5z0X$mmTfRL5a&l0LtE?|UYCzrot2VI+g?s5T;TlaAqmw4TLI%iQmH6j-C)-Aj3syuaSDhB$x*Qf5A?A49vTS>{BcY-}F>eg5P z1QuM{+uaIAZ63<1s&EmpQx#wgHC5S~>K|F4(iRaf67mprt_# zQwqMn(;I6y%*ynPEw}sEIPB^F?g$5tzV7bs*B2v>Vu_k-wz8M`EwI(hv_N#AcLDi` zO&wQEz|9mr?ZCA&d#ZKKSBWBkK;-1B)iOGI)u5 z*Qi)@RtKMIG~(je{P*K>Mlf2ZQGwp2^z^pphjmv0-zrE`5_$H~_0^Uv}m zT^xzAj$RF9sJE46JqWIeyqD`8m#}y%K5J@%J5kwc7&Z(ed+3%tgc_p)2yJEmu&%o$ z5n4ih+e({OC}tegeDti?=%lD9GoNTsaSO%m;rE&wG7O%R&GF?E=x~>6kKrlh+(yn#d)rnXE0U?>BXPoW~gT=OK8Ez)}aKN z*xAl?d|%izMM!+y%Q9W>)@JmK5N7+pQp9FLl$W8;(#<=#J^1${>q)2*JcOEyBZ9Rl zQ|8cP-o2xQB1QJj+njCpz^c*X|0^=RZltd)t1f=JF@O2e1_Bf3q+s3;+x*AhT$|XfW6`WK;ELd~Dn?%;ooNH~9#%u{}*1;}%usN#r5dQCmz2x|{_*CD= zJ#OPpZoXfAlO-sr!HBDZ^l0_G_}2~uiOm%;au;A{^?yVXOH?`E|8WOON^hbFyw%U{ z-;lBqoRKoG2MYFrm>)k=} z{7vKDv3)A@X8FtS8}=AWv}3pa}SiRoXvtIj?fCY|EG zo&Et!Z@pEBl!jEmQH@lsbA;|)$j_C#5*O#ip_1es9(DGgxqh&MlI%U0Yv7<E>S9j=1Rfg-x{m2}-c9)C#|Gi)7X8H#%c5 zyC}JD^`R)o#t0N92lf3B0Fn*$c-^NZmmPfY8}tINA(w_C0Pu6bvBihV2vpRC_L^@B zJ)o8Ir3*_;=7_bxFf3c>89h~M#o=eXDQ1u;-Cins;80+1t$E)0GVfI#LUkY?rpA$* zn9Klf2|jJBlq^y{veLFe&!2?fgJ>%!amd5xisi|4V|mE*-qpXC)z$RdFfS_wl&X_BFtvOM76r%0BT-cjUnb@loIGR`oF-XwDUBU8 zpjjhjEl{YX43Ps_iQ_M|cy<~l9-ZD5Lzz#pcUg$mdl|?=b-CDPk6T3}h2V^zK%VZO z;VVi!O^C_2%2atG8m}=CB)_MkMuHaVrRi%(HZJ8IO1?MjHNAydyD>d3iUds4!paOq zx+;pFbsss1p`TdtjoybxPrp%4()m#7KCfx>3NMvvA(ruMEv~Gr_@Pt%=H+`89sTEO zs*@tqa~v9>V=&DMQ9p)wAq^86wbY^2fHtrSY~4PEqF|o+q{|LqyeUy3UPw7AfC@7O zBT=sW2g2Mck!>%#`GyKVBWhp?#Ppf&9TKTwtW*e{$T=v6n3ER%StoOq$DD7Z&fa)Q zB{GDW5Q2K1fFcVl`K7{0oI9;05pITH?3;w>^$D_rS1IDzd5&DzR?B7ZIFp!sOwv@3u}E zor7dRt0J*9%S@WEN6BnznT-&bA~oTD2*w|T&$`c?=|1T|CofETKZ{~oVvx9Cn4L|x zkPIv|O|3=Eh!?aB}}R;1YL*%gsYc{J~;&j4^s5=*|^oOzc- z+*sosv*=_iv8O-GF#g+PFSe<^i`l=i@?};+o?;{&5ReG655K)78DD{fp&E=@gB82m z;??c1O`dR4jaod&o7!9IDUVAX#XIBof&;3tUg*}zz{WuUz%|N|eAztSo#@4c-aA=S zKy{b*99$i>4BvYMl5!oa_E9Kl$?JMFP#s0dSS*vYp?0iWNrw53 z?IB^Nr{?RhOl0|CT~EuLm?ZD-)gEgdS`6^qsxafZ3}dq})VEJD32tg@Hx);xKSy?} z$}x5M+#DO$zwo{E@@{vqHL$&BJh}I>GS=`|_9p7qz9thl|K}brb(%BY`}WH8=KMb# z5k>2po{CsYiKAA^006O)lO1&S@9)Wp%xLZ8q&4Wz-bwE}-uM-MZkH)ECWnW1tb{DV;`n)4bdz83;a}YGW#O>SzYfIdwj`wIuzZMb z^hb0)>^+|i!(yuJrJqF3Ltig1FS-hUZ|_zX><6)-razT{f6n+c%V^jJIP3%NL_n?3 zKEU7GwoHv!rhX!_LAom{<=J-k@( z)!Jo))1Ywsy9JQ^eYuGLrmc+w+&r!4_PQ>`%O~|k%PWq{dzM^F`)bx{4`8vMM0&5* zgD+B7&kwE+IJDSZ0vC=mYhba=GRCrhaF7!D#U-mElvp@MQ4y5htgi+<7BMG@NVH0E zB2+pKrQ)BH(&8KZx7Cw+tdSWyiIr+f#g+GdJ%@;6oljlOZ;c*nP+BkwnboK> z9^_ub05okIb{9YM&UUz>zaSbv_af&D!PqS2U7yS4DDuumm-n}OrZ+rVukT5jvyD=h zUnH-pe;oG?uMtaI_dd<2(pQsUfirPODRhBjNKO&^)cg&7d0Efcw@tw^A8>~J*!-67^P+cku=?QH z(MNrK3HPy`?fm{O&5j%(+IDv!7Hd$L+J#c{@~3rFe-`z z3WhgDt9<^xp7vQcuI?JJA}XGBPBxhUpWnDW0n-4Dp^vWo)dvA7U-Z+sl3u(b!M4pV znN9FXpj#H*P}OCo*TNw6y3Cq#5XX50;FollW(ZFfBr!RNS%d>a};an{*Dr0?}E3wn) zN!#-Bx*;q}6-5Rv;C+#Cf<`r}6)V!6{NLvM^}eM1KG1K{(Obn`ciGfQ2YcSswcjea z3BR6m-fNup!?!jT&$5&W2Om$Br&hOtSf<6d0h#k`oUgHshU|%&Xl?pD+;=AhVtfb1T&Xz`Nt!x2)~`|4&czdiZ!v3ntLK|`7+t5r zWjOCu`AA>?p|A$XO^-L$3R!p=<++Vo_U7iv==eC&MXGg zDLPDDkCm4uH(B5*I^;8|d;{%q4&Fc~_#!@SWHih_xhnl8mdUEcP8C-UtR7p49TkLY z1NV@$V;htzYL&;;?`F%_cm*41!arDE{hp(a&uFbKIk}2OJmZNx8z~kye{;4>ab9a| zV)7^~u=>hw+y^Z4P^WSC_DrDNQl*f)VcQTsVXMC%5Gr)aMTR!NbgpX;`Z{VmwHok` zH{(mknRokbkas&lZpz}OfGOROVf%ulCEe7p-NVeiUVcM8;8l&6DnFRr6s{b+Hs5ZB z95}Ymt959lK9y#$Nx4cfH4 z=t``9o~;y`R`qHy;N(hVFnRF_yGJS7ubsOlVE;Ik4H3F4>Rusw z;p$&haOJ@S8$;ybr8-!^2JG;ixduwY^q<-Iq8z;?HCWY>&{%ZdE{1Ms_j*nNy43wE zi(}X~Sj==VWEwp+BVaqK^@B1ddT(Jt(Vo!0d!khOm$$b!Wv4~Gab}hup=O4+Y@6?4 z*Y`Kv1^gOi8U6}A&n2a7{ZF?R+vzJxQZb5KrhoyxYbhjb7US%uXruyEEW zFdX&6?6G?|G=&=zjp|Ru^?$>(?$W_AGpy00pbV`QG@Q)C}2&m=~j1=>n|L_AH z#~UT{bn~4k(3lsl4X;SsXAf-Lv`)V9?1Cj^>aJgx-nAYc^CTl>7fDzi@tXYZG~;fF-0H{+NED`kc;*(8p%#nqGsS{W zV3m@U`j8Iuf1prZHKeB4C-&&$4Q4+=;sjQuuS`M&0jwcJ3AP$wVmW+g1b+v+>p!B} zpE*5P>5Jfv?zd9u@j+o+QmP+ilx&$@B+MTqXGO`gCaw%x_G&3=dfE5;7l)e6r)Fk}q)p#Mp7=Ax?~uE)p0n*8VpKo1taSQl0;FDE z*l}O*lpMU)e|STybV2m}p4Kh%c$Jo0QQ}v6w)5xzjRyOj-YQ>gCHD^s`i2*$QFb0Z zja3mkx{!dy~a7MybrldLf~o3ud0Fk3CKcFk%SHX%1ofp`gX{&^SP^PrA}AbLsYv zNGey?tcPv~da;Ct2n-xB3wM%+9WjHlyp#Xl`|FchP))AzQ;s#ndmg>WWWh=^u$JWx zux48uG50XsV^KPHL&CH=sbzUrTZxGxHhEzZ3AfA42Rz&&*Ri^tUn4B@-}o3mP zCzO%eyAu>vDMihCR51SlLiF#(4WLxo&rVnxu_(n(@_`wc)4tosuv5R#xCxm~AK+Xo zv5x!6P!JLPhopECvSRsh`}>^;IV33e&RZG9b_mBZ7Z5BA)M} z1A#(7s*3V@qMm$&>ex-U+d?8_1kcd;JNiG0enQF;oZxQXml8v zyq2;Ac;k^R!%Hw_MK!~J=4dQqfmX_^Nb~EP5iI_;-sRLV-8j>@TQxIy?uxEFPuDFcTi4_3K-=l_)g{xEh`U=9`|l~p=TY%Gyu^X zV=8m>H1lU+d8=+M%@q6e=a?_TQP+9j&>$5k(+>wUlw0yTsN$g{Jqyt)k3OUq6D<0r4o3Zv>WSGDA8* zTJ(V-y@7NwANuG5BjJ)2zYKqjoqE6t2C4CYY8}X(Bq;%!B@Y|Va>M3@IidhMq$@8m z_nB*R%##2v@pMvTq?VRvpE(KkEq0LMK0!;Jx+_Q!^C@K7m+`*KGj_X5^UPHJ8lz{E zY|qL**1RQ*2sDv(WF{QTha$%^u;}95Ld0iE9wojW!6S%SCI|dq&j-f7eZj5w-}1{4 zp4+=(KJ-dD9EyCe*B!;Z;9ReZb6+Oeo`1KeflJV5#?|sN6fjV>%uK&^T7s%2fm=RN zE{W7&dXegNdiJ{t(G&ep>7&Z%!p{>5+PyFElOpDs{zOF&3OHcp6_5J(V~L7@WCY*a zW~)*d-GqXefjWs4z(&XO_AY$X7$5boNApIunT-*-6TBLhWMCQffXPzjbtzkvw%G2y z%>Bj8M_9KFFd@+*Uu*%x=NG$#MDQ91ionJhfcZK8lMSgY=k#544r<*>d=#Nw=>e8w zOib2`27gAV`O9%c#K1-l&4zzB&K=Fa>n$l&w5WW1G5+Wk*jjxM`eqI)N@yOEsjEz6 z9;V?Xxt>rhK@HW06I^7f%tQc5xTw^f;zp0^fR{UwaVrc^{fU6J{3g zR!o8i7ese!CA@|swUvqGsX;#_JYK*gRWY!{&)T_!F+b(F{d2~%SRB6JA?PEO1G&`K z(6!vxyhCjjb_fQzrK(f}nwL;P{?FPRL_Cro?u5Hz@=qgJl{~WFDzZh8X!To(yW2gy z`|2~hFfW_(`H@ZMTRg}~?jLieIpuHE$ZmaoFPkeDDHQ_T0V^P*QgH1(l7VSaG0Kyn zs9Bl79dat5j{%7tQi4{Q+RBtI?j42&Uru|&@1x%0TMSS-os86-F@^nKbF(jmN~2DK zLbBBc<+CxPLlur&U4EDH8F{bo%9CB^epg;X>X5Nf^0IHXti$Q7RTla9`f-%D6m!M{o2>58sC|f*isIQ99U5 zY!JGjLv$qJuKy2X;0W-}ffLq4{(&FUspugqvdX61_kEAB*z`x9jAG}lF18#`4eW#1 z9^+XXk?Sg)EK>u9q*p?|_@!rQ1|}_?uz1|&dTh$ywzsAl+u(fJOZ*BtG;uEYhzOs_ z{N>S?4;RHxq5xgdwfXy$Q2~L{D4TcXn)<3W*eT3LT~8*l1AvGpE^iSHXI6KeHnb&! znUN=pP^oV@|0ntW|gJQ`}IwLTe31FYc3A zL%Bn&9QawQtduRMx=pvJ{|58?gfq)_%>Z!bF-27OWv?I@eYM z^q&#sbw8?nNxLzAWb$B!C|4L^&6UiGFd9o@(1pZowTxWmce1$ZUZ)6_#UHR zuR?CezB9vvPaH$`Kg~DDqoVR;1w#=?bGNLQ~jOoa3wj-O}3}8Fmv+B zw=Dr)q#d4t*u*D zIsR@vMfV}>0o$o?6!axO@iFFP?&)BMA=<@Dhbr)RYIM*s?~W6}gZ*BQk^dIRq98tf z90U*$I|Wat!DzM{^RYszt1!6}?R~hm?;V0LZ+)ZyeVp^gTutMAksA{$$n5n@S8lBc zH%gs+^Z5GWuek=#9gbN*h(<=08SIN(S;bOZvdo(p&=0j=l>>mv(`%b{Ae9gZKBlM0 z@Y}hznQRTZ#*jbCDk7LFg+hR-Lwor=0I8&ecA-EYqZ?fqirR0EtCygDw|gcjz%D=> z?m`S{>{A@6^B{`?!ydXwuaxrfFQR4|JbwA)f;~kk|5D&tQRgCF7eUnd(s6EnsNstM54v^|7nK{@qh^_n*p{cx2RHI& z_qzBfcb|uQTR3=#nl`}keW4~1R9Lnx&_>cIcG^@@itx(<8`Wz>Fb8~^6 z`L#?h8_Z~`G@y!F85sD0T-AA>qIM1}?VM1^&i`q>x|rG=O73{D5PW;l6@`W&35jF{ z?Yhjej`@=ic8%!yKp*e&V+QX14GmlM_5Ev`a3ZbIwNcZ|Y*|wdYmY!+D~Jzl*^?2mKb-!jRi>x+(cuC)fHpb(?^`3f!`dLcUe}lzhSr&R;8CJ&n z1q(VI9#+49RwgyXDO`&ab^N*Cw|jbfhHh}kzP^Y{&M_?>wc&uwF}QSkp&uAMSHrfI zYtqSWZqK*`-=bMsICWz=5)KXTc06z@c`H|KDFS*>V$bPV-6CU!^m z{*H{C4{QSJ&AlzZ!yAm3QOMCbJ1!Y|h^$qzF`&n;4_jXh1c6C#X0z9MHWqUfI&B6bbiIi5p@ci*e z9y97=kceIQw*JCNfg9?-wrz1Vof0jln@C)oby~Ls+qcGdVdg>g)O8HH<3#aPS<)^Rb#+CI#BjuZ-iGe}DSRuZ(lKA95_>}Cv`d}9!IaMXf$N|id>hR-T^ub_DD z)#@pO(ib&-<2D>?sLGS8Tfoc;l#}Y%W;DFd{u+4)9$R?c4AC33`+TY36^g4>!W8}b za~Kz^r)sO0SyEE+v{%K11)7&R>Fh6<@u+$Hf%8r;n^v+Sb>eKxi`$-5nKiy8w%EWB zHq~W0ylMNajMVV@)K$R4kyrg}ZwfhRBK(1F()N>) zB{mbUc4@}qn(Qq)*$aJp^1pf?3!dENjMo}ktrmdTbo}1Sn{UT?oqA?}Nx!Sx-!$xB z=_ma@=zQxSP9UtF#o5JIp9tRD_7E{Uj&S0J+UP%grrG*Ad$G!%CXLj}d*Nn-ys{bV zvVi;IHo@X&$)~jARj(7vjY`cAXkb&~06UQ5MlvW0>(}yt3%Xojv`08`bX`i7Vn))0 zLRe#^*68X$$*V@a%yG=`m*4Tu?5se0G`)VEWXSQ99;75h0my-F|57YW9p6~B4X2&$ zQ!L0_oy{LF2mF9e>;P%F>*1J)Q+00~y@8C6zIO(8#JLp`fr|5`27okOCtW80+U9rT zb?nnAaR1FZMpGWruTQ0>z5#j8*Dvp_0pELRYt0k`eIY4{#d~EQevoiUU;A&K&X=x4 zNZHs*$Xc&EQ-@3X=4`}UD)zf*flyd%7w#@f^Kj=nqwx}ZX_%fG_i31>9`C#mJT^T# zI+`TqqMuW3b6&wj@*JA6GJ6%E^m+~a$O#S_R7&E2CyjVLVbwcir26%!yzvg9;vokw z%_=xAi6AeicGxQrXQevKMxF^!IoE%FZ4i4HM#vUomES5&hVF%qP)_m=m637AzJ0rW za`}YDm}~re%J7YK1eKMdy~!JEiE>bX;zICffnAUrFZ&(}zfH&UIMNMvq%nE&W>nJ# zL3LMqVRty!c1R+g{gDz|jQWh9Lz9_$k_b{NiS7>TEUpr}+fi@nZD*aryKa@F-Dxkk zC3kE|tArTKHEG3_=onkiqGw!~_x6^dnumXQurfQtr9AY;gTkX(``E6k(m^>h27l=U zVd@AS%LkhDfeEI+Zph63e+`WPeX(Hlov%GJ$WK@INpSDL4`H|GL~a+c((;+`8aOzV znFktN7<#1z%Hqx-mvVa!VP#u3b~Ud&=aD_y|Hd6WMOF8Y;F<<2irY~+^1){wM*Ku3 z<`YR>om<}gQuHL!DAuC`v7!WfiP!gpGVqh&c5aH1!ZmY5rxu7^82LK-40Rw@!>VO& zo8tkFv56_qdIV*!GBRqLi;dV|IW`ICK-Shi^L z#vwi^-3P@q%PM8G)KAlNVpS{Ldyl6Gh0wwODYQMvfydHhFaUcjKhUx!@;(7!_7Y5$ zD#;UwpWKaRR%|I?2$8F>=aY46HZ~X@5<L1y($bjya7w-9{k!37G^JY zzVW!wz^x}rQcK)jcvAo7?C3{_+aj0rJp0nXZz0UYk8cBg!(;6KPK7-G{l-qJu>9@k zc|%4huLh*<&ndVgp8g-U&O4gT|Bd@GO0+65YS&B=UscqIRik!orKM)=z4xe+){5F{ z#4cKUQ(LW~LaALd_KH!IG(7k3zvn#X@gL_nA>_{exvuy7_2STlp-y9jq)U>t|IYA2 zLiSIgV4AHQf2-SPL0NRG)C9DmS!pJ1`y10+U=Nhk17xCgICiq`?jYlwW0Wdjs?bLc zjfiPQm2MF$g1@OEP*5L??1OaTZiANHJb?!%L(b$1D&R~n@>17vX?9EIWy`eVC0dP1 zfzxiDN-Mqf@_whUrU+*@_d_?FTU(Vq5?HB+M&4X4o_(g{G7R;8x$KH_iz{mlI_J_p z?QzKDnW}3?$jQn|6V~<~m0hA#>-ggM#~3%jO7UfTS9}`uaqm(+4g90!nTpUbPt(mn zLwdTMtLp;S`OR@fj%d+j^(>p7Ta^u{zahryh68*|@AZcHVzDJ|?f!}$ifVL2e96&P ztg7&h5b@H~X)Ucp70>k?|7k}tX6uLx#o_Xi5t$L{e8;R#9FaUYY3uUDCauI64MPem zfoV;O;~$ezFk82FF5@7`{4>E3k>XzkPZ0KN2)!cX<>h9xc(CFyA*{MV1qg`TU3w;H zG(zicHYtjk7uAXtC|2{4b0{ue$Go%=cofGq21JHu6H;Yri{3(SGp35MCEfX24M~D} z!T`nHQ$0FkBawlHu!8mNuut3(qL9hXU z3O4x8s?V(InY+;w>`Ep^HSiL&A``o&1m5g8d!kwY&f6`%ewwUXX6#++fP>hFRDHM- zbH55)mdXTznZtT?mhzj_#H(+0*}Aa-G&r)bKq`MFSU5j`JN`?AR<-A`Z;eaxONXSGA zzC5QH023VvzQpE`;h^K>3{aa?u6xkvdioq$4Q|etkBNyrRQQP8DdgoNpwKTDOIdme zBpeDFjP|Md%&#ax-HA{eFe*S%7L+~y>Kim>orW4t{;h}fzQg!-MI)(l(uQX$<5ctL zyvct>5y#PwrPRe8Ew}7HKFaNo?;G{QQYYzQ2~|ttp|0&k5#CG?>^S5A;fEb}dMs5O z`BX=-wxVpV;zwN7PE-?auy*Hs-bdqNc#kvOQ$C_*UOY;x&6q(ChBz3^q9vY|#Af+9 z7+OFY4Pr05iQ*xcz{h0;xUWzK`z-?Ea~MZ7M)H=p2jlPYoiNc7_UEvo`l+E_!WAII zWIuxve;S(G*x2knn`Mn)7yc^`<|s&2N%dyd`zC3xmd_rvhY~3gAC??r`ihV>7NB1a z!7t+dalblcE1DMwMj~Opf$7CVgv}4Se~<`Bq(4#gT^K2UxS_JApWm1F1&jOfBBpBT zFb26B#S%x0i!%0XyD`#7_TITX87d!WlWfDyo5kky@A7S!g1;M^(=SDVte*F_cCZg< z`_ju;nR2b7kNF>sh@|LKRw~*EB&+9+Zk;N5E&8i`so(=n{>vhYOb^h>%ECoRr%Eg$ zMUNh2fEj4odMh}xySwhQt?H_1EJ!YfTFm$!V1%KDBWw7!NEMewJ(FvYEV$i8w~2m} zy|e8GPe4W!V4S`e)poEs&6l(BSWz9=M~=P~Vg~B$wNhs2fP~Z$z7a%GXy`0%Mi6z{ zzrX(v_QAmU=_D(P38<5pNNy1$a1{^$zmln`B$|W*U;q2}OLCHx`8_OM50+BvrjUUC zTXoQMrXX3=1IM8to~fSv?X}wf4JZk`+oNj3`sqmj}QUHCHLtf2g% zXQa^*lj2U?Ry77wC3CL>B3(o#%WuXqp2ZPE8|6u}0Z;2|vFGI-%QFkZ1EJ$trYUAw zVy>;&-S-S(t67l!cy3mAjil^v2HRl^cGP{S5%`>32ErFSmbWA#0B&CW{MW zm7bK?DxW;)J#52uwsjJq{cF1?nZ9ma%b@``*EYT<{c&3hqX)P*_=T!Nir35j>ggIx zV))Qd|792P7h`#{Z!QZ>eps|$DXM%qjN0NYwJ?5a>}U@}P{LXp00j?_IjNAywjVP;+}k|d)b`4R_16P|0SlQ@(&dgf z7kgd*Mx2b_LLx+tR`*Y2v|p>J={?^YUA^ccEPCmE=mlAC{T?TRSwqmE z4d4MV+i(u#=QiNgkLGbi+c>@+xUO+-->TJYpYgT0z^FI^gE~{5TMSTv6j3eg*;PS# zHcCk@>;_nW7b{C;2y4GqSJJZ~eVYDhWG=?@aC9^{p<6+S|KZ9E(EaZpIgK7>zd3p; z|o<;7%VFCJDrl&_rjvcNSjqJb#NyCoPabafVpN9qe zG`Zr?sYPe|->LfjhTjK%ZKKnY2}r-9z~c>usfvHsqY%6mgfh-WC27{u(*t*XWal!t z8`9)H14X^KYLmMb${vj^1QI_nGKN%5ZG;60_gH}x>I9MV{i*(a7dBN-aQ7`^H2p?l zqKMnV(#sS&b+P{nHR%oY?iJ7ZE)!O>fn!jM=>y)(*MA=^hvm_yMGBP(Kl8#GR=0*P z@sB3ebrw4eD0O8pczA*3aHl`>s>_YeSt_o6!6g;s)}zhf}8dh7KD~I!ug?V zpd=RVPz{U*a7eYcR)!CsyNW}yFNaPp%U^^p2fGf-cvmi2;BGeEZ~V?Sc22zRsm2@* zM5t01G|#Z3JrCSw-^_;KAzeR>Zq9B9I19q)n309)k*U$?R}{?J)Om!-U+|Y%QO=~3 z4;wrUI6=Gz@{l%;W%E^YO|9a@4=A=>YB0=O6I?o{KNvff4;L*Dt8q=udln(bzDL&w z{&Mf9>D525{mCbHPCPB+Mer#XZUYvWj&{VP18yd}$t_m2m~83h zuaT~2t(1=OKRnPnBDDDvDW)^*4296;f~nXJEb(@t1JnuuH1X4996^-$s7j}+Xc4%z zB3#4>@Jt$_;(oT4xL-sy(xGY{PHPS?$T>fKpXi9{2Ra2uM+eii1|gnr|h z4(LJcw}1t`1b;#SK)W$iS5<9%hHMxhCDRjVd;wVy2|52MHYe-AgUnwJW_f05f&OqFDf8K<*W z+>Lm}-fETTShs+4Uk*_#1V51dRVm#0Jr+E4c+D35-^bHWe5t;^lhOyTzeR{RJbfV{ zxIH!J^;IU+o6tkn6%y9jVxp|KZ(^{__KCi2)Vv_}#pUisrY6@1kJ)|tI0Hdi-+J5B z^ey|M$+oEAsq-JC@B0+CeuJtYJWDlHaEg>nsVzSF)A3}yH~ISD7e2$Nq(7G zfV}zVwoNv2JoTtkFt%_B_|JQDeVX^exQe_{M%s!E2yZ0-N~pXy$F`YUA~811!W!I6 zfI0}^73utEeemYW;u^bpuAmPT#>zJ?)fa!6%{*|_w*#2aMMl}9n>7m$)1M{rMin^Y z1!-P4FFectLUj=IF|Gf^Mp@E(`a@I`3;uGa5S?cCd@6)Y?R`mGSC_qM1{9NLWSo7KLv~0f>6Y;FD&pA>M zssWs!?$Gxq-JxR4tP|jZTf-wSp3Zo}V~riD0j71#S?@S4CbkeDK(X(Jel0r@srJYF zFL$_I$QB9ki)0R<;sCi}ybg_|bf$9PZ&5MYkS3FUz2su`KBPfw)>vRJ%#iv{=J3lY z?Cc-cNuokFRcBUP*asL%d)P%!B!j1oVssJT>yY|ICgP2dX$Zlu*;s%{T=#FvG%+a{)4D9UD|+|HdYJu^H2?C`lk1*S-tnnYx?g#>YlYe1O6;Vs0>WJ{Q?-(0>r)&W)M;BR)` z5WP`631!_lQVM?;L!uP$OZgr5B+{S;ODcZ3QgL_5d-%g^PIfRyqP5e4(yZo;d7c-E z-2G`RGH{q4hSZHkvK}Y}^t~=&k+CK6!Y~zalDcYwKp`liP!moA>jb?}+80QjlIB5B zr_QvDBDg0|ZsR)iw)m=b#){{9Nz8q~jQRx7L|Oxe$frk`H=hED1GY-SG6WBFjM0<5 z#H??E|CIk!S2_C`vYB%l7E6p~wPPcK7pd9_{&oDumdWdt`cw)@z05)+Cxj5+( z69>hvVZGdw=*I&AxYAx^BK&uvz6$(7o{gAx9fDLNk&RRI#8c#*PWmCK0@3);BQSz9 zlRmP0(@(Tln;pSF*g{ZK zXj7+v_BiSDf5(TUOk5Oli;Sfo9w3Q1)ffxtD2kE9iEx1*ayt~E^75EKkSgON`?wMN z7xib^;Pet_JTypQ+)xL7_>5RWC+I}NM?DGmVS<}w( zd75%MO#ilGX5{!qsM(Ckj+%;I>b`%lbp5S0*m9-VaI4Ws{ep#A6Vr-aZXqawmXk?pg z2YSg)r3l`-&(NMV`rh-1Qy~2re4RiDofI{Vj#+&U^a;w#*3rRW=(p>d`T-kt{&yK` zcjASk2+>1C59h6KFp%V0QU2brlX_|KEF-`|qgUnH3j6v=X zIr}7^f#Qvvwtqfd@DE+)PKK$^>}eUyfWI@HE=ib4Sn)pzN4;jq-)r;SKhCHen)n2Q zxz4=Wy7kdmPerd??pJUACsZ<`5hJ-*S~(}303LAIGNma+)mGuCqDVHLtG$Inb^n{X zFoP+l^I)VaRh&n?#4p^u%so_?fFzK=7T`WHkmw22NYeid2`;+Fp`k?@yseLZUV{`SV?>LEGlp=WG&qT&?BODq77#EC zQj}Eqh6LHrMN6oZ|NP8JN*h69nfh2G+IQgPC{SS};v%-z)E$T*ca{a{DL<_TwO`#< zRvJKFSTVj|p`^)2Q`1yn2lxj)3Fi{SQo`OlshKs@9^7#Tad{AnhJPs=* zH69oZO-MJKEs3KDrT^Y0SxRc_e(?|Hg9TCUXePw=g?l^1QWFa62|QW~j_T1< ziui$t{#Zf3Ut#1X4XGJM$#QT#d#jO8$9I>HvABnk2DmE^=O||D34S*IstB%(k)*Lh zJ6^pf`)+F!l}pVWgA~?gJe&5kJZ%W^3j!9KUn+zAL#>mT+2?ELSj7jj=728;W!m;{ z)-2-uHSS{OEM01HLCNwtAZo!a)f{8zG;S{-E6D{3+c=6=F6TT$u z=Lm9-aR8e7oaW9S@zwU>x}Wp&I~a%Zisp1$X7#FHpW`tn0(lIP_g_u zdf&bu*5D6EFG#JDY)gO;Y-3`o{ZHthMXNnVU!@P>^V~6$USWP-p7&x9NuJCPs+z5Q z7^Cm_*nHnK?96D63Ts;yE2DLUVSWC%U7iG*8XgF#JfG;Hi4qumyFBygUkS*RRmo zB^71noJws9s}~_%cAHjWvI3=&l|Kb*1e2@raU;DxMX1uj1I8%acjp-)$g&k8JxFY~ zk^(0$iVH-6VIuC~PgBu5+K!kB+HZ|-_{@8&iP4=bQR@iHumoC@!(7s zevy6TwWpV#ijrk2kc)xs>1VA^ELEcyp@!w7lHFdJ&(!(1|-0O#%FOOYzul1UXWT zCrX8IL;#eNp;~Z@(Jj{nE^DC9L8JP}{E0Q)KE}li?aoYyHR;2)1W_Y z=}B;y@k2Xxf#vqV`^rB<^m5H}e9F4Mwn3h|`9Ug$$9NyEJ zLQ%8>6+ju2!CqgZNwbhkgLu5RlW>f`kdSa@QA>ZG$!Cyci%#$be7-nxhR*9Yi%V11 zcF*v$PNrZjg%9&TGxE#@5Eng}2Tf#jp8OB=JrIv;nifrM3Wni%aMB zF9)!wWrI;tDRm;>S`pitF&QiR6diFtNPGP8K3P9Wf~^$)LSyS(dDZ=R_Nm!$Bgh`4 zzp&-+?y$P}`x+Tzm~n$l&QQiJA$)7-ja7Z{b~5zfkZM|=OpD zi6CrMwPfoTTQp-w{W|;?`>QR?|NV2ShBPwgcC=L3CA~O@$+qEZv?l_Cb%-B9knZH|k2lxV)z|py zd>iYTS6K4mh70+g%W>x|Swj=am$P9lcjoo^12SW|Y*Ez2o|#F}31)Fi^KKp;F--L)#p=w*Epum~ zdtx)DS4cd`aP-~)22sxYy2Wy$}pdlze#a1ty!;i_vM z+ifNfWJDI_H9-fO3y)Rk$F$?UAv0}Z<<0DDKit6NX4MyJd>d;u>^7`hBm6n{2>BIt zzHRm>8fqpDjt$ty;ma^q5?j}W{XLSR=S)DIvi^DB&)t(hf94)|ur3U^zrWrLml7Ii zRiKWuo7r*AiTPX(90_d=;Uj_AeT5x8X&2WnN7Q-i)VGOVyX6F_ywO5YVU-lUw?8@5 zOzA7{Ko%;!KNx)DE^Am?+;4r#9`VSoex0j2Jx!Cg(wFCPp<3v&>6& zycSQ!%988<5^!CzrgG4pM>mHI{Z7-%?BeW)CsSNibwU0uU0>C|(#bD0jh+B6$d%K$ zcM~K*`i7^Shf!9n_@7O^tA}qnhKAdv%m$R%K2ir5p zE9x}YYFyjJ1wK0%7n)_Scw)5=T*ImDYoW%^(SkO)vcG@3%|L+i4d1gg<_UoZF#=`D zT%7ZJC3kxUZFwg6)M+;@Wqf)ISf~!JYossNxJ>Bg3TZsoWPU|O+80Q@N))&!!bQdg z5KIZHV#0#dKW8soXPyLKCihJkzp$vzd>1Vw71|v|%2-5g9kE_78e41-w14ly=fcgP z`r@*JvM&M4IC%W0_z>>Rk&LEYBd-q&$jAdMYF4RaTkT>f11^WG0Z&-y(T0;Cg5_d# zmXZ|8XIuMu;XNn!zyUiOl%!fD@dp|EU<}A)hCFFtNPwHPUc}mV;?IGHgN?lI`2AL> zVzRx!Yt0FlbRJ_<+@8YTYx9TNIs%?Z1Gbn?{B_Dq_A%VK-~lcSmmM6c@^uBE1I+&U z`vqqY`hUn0p;b3=XQiO&!63R4*5f3hOwWI*-@ozEqF-6BWayr!(A5lv$cFEXU?#D$ z_cOb>iBm;ja{cvekCteMD|~5Zi41(^OW&u(Fnd}>2wjuj32+*q7RX$~e4|Sc7u!)Y z){2g~NHHTrUl3U;%C00S9jm50@7}&KIG!*dD7C#yFsaa4IJLj{rphus=+Qrj%`3Tm z9eBS{J&#T@f;&MYmzUC(AIHWd;r|)nT6W8w45WF$7GOP&eOzAZaZ zQl3v4oDh9qL0)4A*2hK1smcD5l(;VtM;J8Q_+Cg5E&nAukVq4oDhxJf8HK;KUfTkm ziG;g(^TawV-))xG(6ow`jd>M^9;V3#d7uYsr7O<@)}4tWPO0Ps1EjuolvHIuc@dO# zGua}C5etwBpj%n}nf+Ifj)ASieLczXfjnQaW9H4(qnovnJc7)Bas98^+HY2)*r&67 zNdv}uV8 zh=hcH)S?w*16_poPNaMGd(Y&pxw*NaU7H8CG9NS&oa*OH%HO3r{fZV<*H>Dr6w_!7 z4GzBGjGc{R7^5G#L{KSy7u7;hsJtp_oHhZRCfTFIr*Q^w1c-vouPukU(ce72NPk}P z<5r*^-Ty!shv)@%s=d2LNFKWa4A0!mcMp;(E%lNgiuxE93Gyp&sZm%ER8DJ8L4u&IWE!WOvn8EJq&*~16{g};l5k+%vmGl=nLB5S1P<^e`X%Vgww52E=NTq@;fY10-%eidt!)nC?a9Yq!H`DEp%F8$E*> zS}znh^*<3CD}n7bb=jyf;NtL=j7Iy}Jo8v0|=_B$I=j0I_!a;p2 z#0bT4Zb{;o-xEDxl;gBuBVVHSB1(!afMF2nJ8c5mML(rX6(Qe07NbLpq2xW>7=v+? zx*7q)wh^Kni9)ud>|Ngv;2)((w*&$XDn(R?KnlAd;J$NfcXHW=P(3?OG-L3u&|56S zpJdF?Nmx=+Tg}o2-=;mtsMS-rIk1q~Dm5KGaBGv^N8Oh!UV8b5NR|v@te>Gb)y5N3 zco`Dr;2ibc_W8Xu$hPSbQRe9v%U{yp_~LD!WdB#(=GW5FqLd$)CDRquSuxD;VoXr* zQBYB{Z&Bkr5OVU;>$v6>ucOIxLyio?2Rb&EefotJaV-Lq|K={0lWeD@Z1(@0l(952 zlP%n(QSb`4j6dzRR^+B8=JjcOsjnT|AM({iwyoV~07Xk$beATAu?c_BS;Y`%o0hf| z%!N=B5AxpLHNQ{;qJFZ_Aq0b?QM&TIJJYO97c>6adnt1oEH7TklFkG&fczIo?0=9e z^S!k7!^?Vc7X3ZntkMvn;!sX~L_g)SiGn91l3egLhiyy23~Jv`PEL03MR*XAeoWTK zY%lgUiU<7yM&Y3z1C*oFl=sC1<0qm^g=wj+wHAUDjY@e{zSOe+`TR9e-B`*#>VT?J zS)#+(=WTMR#D@V}L#F--<7HOn$NU)M@Ns_<>-}-x#r%^(R0fAUpOtd@9sbBDy?EufNQe!1*uC z&#mMbEgD%yGwK9tlH8*0CV9G9SwGE>ZScofC);P+bxE=!p(wA?hr9v_$t&o($l^YI z>HzxUIMM7o`A*{~6=QVJLL>gwGCR${Nz3~8_Pg_p5kPy#TB3}a>#h1fhBx?`z0rB+ zcupZMDzl4%&OK8(*Trz643D?mY3jmltu6d(HV%-p&FkxHKLcEgrFJYFcDG z<=x%R`&|l%t}iXZ2D!erw%Zt+U^bWLXXHX2ah>l@jWm4k3?z^wAkVI?>OXK@E)xzc z1Q|{}S!W!@9gt{v0hHDARtrF(b0zZvX}0>xxigt+XSAR5BiU~ zb@7#T{T=CgX^#GPbUiBf?^Lc_ue`}0%g1ydzvSS~@!S1;x>e>OFqIhp@{{qMg0!`Y zb#}=eqDa+&TeSbKuFT{_E!u+u!-CdOXFbimjO`4hadZ2FdwUYNW$%bbxw6@#Wz}6* zL5(IIp?JTxMPZGRIvBEAVgaF!858u6+T1)WFkohETymY+TmFZ2$Gor)5}m=xwZFN! zZgao!eO?6VmP|kZf)vovqW`j?VdG1IYPsKs5MOkfzkl-}Dd58WZwC>+71p zzd*KnOj~E`G%%UxbOUtsZWswK4T_OJBj zU-n!`f3lj=w-4_*F`I_0$1=$ZZQz$joOyM#Kzy*5WkooHTFGe;l z`};TQ?NgKF!tm8f!+zV5s>9!Ry^JMXy|-VCq`2*qZ~}!A_GGS+$@PP%nP&f)h`PxW z7w=g!oSU(Lb~>+dIyp8w6idzxe)YV*%I*3n`^_dQMwBPjMI2~pJrW!nunK7TO1?M# z{$TOLtz>$2kue`3_vNlesti=+({lNmS%fSK$cYek8Moniiyf1<|Rb;lEFTj+o1=RVC+`Euyo|!kH7RET5;X3?1(*-u`MK_bZJ&p)nVfe#~7M^xEN02k;Td-%4+effzanY9EH_7W4wpEh61whwn8WvrrIm1t< zGmh8R3V)1L?VO0f>qKdfHxCsW`JX*DR#KV(8e~H3(RORihirqv5b$8J=T z2ebW7uV0Z$N#Sd@w!O1e zx0GrlhOtNWuv-`hnk_?xui$|`A~1)B8@yG1*hxIkP&wV!b{N5;n$yq3UFVK}o%Fyq zYxvXLLDvmdLV;y5`^p3S8?YjeT*kd)fGQu)qPp2hvfu3dfE60W)VV$_e_+Y>-? zT=%~#{=4XYGkd{3RP?i~^Wf}rYv?GkkYaZ4YVU$SXTWgH-W7pB|4<62Di*X$Jv0|` z`R~#@X#n3Ec5@w?%(G>`Me2Eal(=EcvHoXGX7urjXjQDhvj<*`l|D-Dd!u-1=ldyo z=J!15#PB@y6OvtKxHUc^d75r2jaa@RZ=7jcHH9U*bSdyqL9Bymz)9S~EEk~qcD7k8 z%OJ2*`J`5kX~hhWpK-p{0~hRF9fV0pXO8N8w00lx17SZ$ZM@bqG|Xj~FG0man z8EA5MmmoB;;XP>AgA6@x6r69JMtsu{+@2SxI71df!kF*Srxr*7IIQ`=Jw?0qzf^$^z(m)REIy)Ja7~ z{}PFP#TREzNm{fBfAK!vJidcYFQY1%F%rq4fFrEG{r|Np-ZVNGhMu`IheE-mlxz`i zY#fdlwbY29-O`UkWf^j3KZA~B63OCcW>!+UzYwJqN$#5E&@7 zc%rfsy6%;W$dF^8CJY_(MopKRUD@Z{!0W?h0D2K>)bWZ z3#$BvWewUDJ^50!M;o%ftkH*ue>mTvm3_c@o!uPvX)x?H6+Xo($j1MBEzwdhx6zrX z3V@ufCk^;Ba9{NuC|R}1R&kx@``#q97aI}@|4YMHkcX+2iwVGg@=VaVDy`pugARG` z|Aps*p&UR+dm@3R2~M(`Bu=979p-&9sM+uF=i#c(rW}{P3RBVaY=W~BR~}E-j5RSg z4Vtk!hUBl$yqw78-zi@Dwp4=2s>UJ4!nZ>0(!2Xr1q z3*Opdm7K@%Wf~zAVDi92f`EKC<~{(9+yWbDa^`H;JNA%(totOZ8#hrz z9L1s_2WLKRqHyR6I#QMWpUvl>*Yk>CFcG!l(LCSQL#}sl(KuZm#$wWlygGhi(pVdl zszHH~mC_H#OLDiXLc-;t6~5D1gIcq47&QbL?-T7+5c?%uiLwVjxT35CL%xS{Sb}iq zJ3X9Fj5l&?4M4bo-A2rjiB%L8a`OH1utU%%4p^8lDG zZ~J&NL2YmyLSq7!!sRv42n4$2wmmf`Y|Pi|MJgpO@MjP2F7c;)+&Fz<;QtN zGY0Cv7r@oa5v|6Fg$+#zJo8rB1{S}F2v4APP$ck(`0rv+ks-S`wa~h;csW0gm2?cA z088LfP-JWi>spQv)qzqJEfuYc1awtHI7xeMef(yU{pri`hda41(nP8p@h~l*!j2aA zm8F_zT=2WE`%Q8y$tLyi0#C4F@2B2krO;Q5|A|Z%)rtypXfpz{DJJS`;%KirQxt>t zej)r^n-|<-WpvgYo=2`U2mn%AWquoa?@DiabapWf@hcE)$Ign#A`>J+CDlm2vj-+`j zBHj`5#R|+89o-V$lE{?|T#BAC#!tdt?nU~W7&}uOo9wNOn@HGxm%@RSK|V{|3X0th zBRm%O6y*S9Bi~vo^f6zhiiSGtvu`DHaVX(FOH{78Ji2}BmtpMc{hD;uia8)v?fZ_AIJd7!(a&fjTNpd3^vy!qvcXrsntf6nUtxz{K{;U zO`M1rWe@>4%LB=9EqSMrmYGJ3}-DT;v1|WS%~N@ zbQoMr6q%Z==hH-9)NuhsKon|#K{Z76(>=xl`Og7Q(u>1PRqYX{ywk(Ld5= zp|o=7COU#(URg&R5Vbd^(*Mj+Ov!u`M$?)tE}FDe|6qOvK1))iwA zca=D3wkmg6fO(CIjV9b4MaIrS3Pv794}lf88x+_K3S^K~IO}4x|FkpiK39Pz^q!vf zxU@%>{L#`~_B?~C#1nZw`JWcD+uv?jy6o*cz03dnzcg7Ab?St zV+~*3=-=SOw3Stk@Wj*982QJO*i$R0Oip@Rn=bruM8nzo1x$WyV%3E+b&@EQ^j*)J zX70We8`4>7KZ#ggl=Bc|eBoPdo7#D~Ke98VZaj_FrCf2XnWlapm}?CZ>XD*t&q+|} zZ<+mtXXDV9u1YAGu(ab+x>4#ed|<;NGJ5_oApiGU@839WT@ zUCaKiPrIA6T;uihJ=REx6pR}e9?s0Twly1({AJE4UwVFdiF4IyF)GhbD57JdEN?Drq zUz|ReQ^Zfu^ThhNJ3TKKM3;YmdVQI9^BSrawJ_m8<-71;q5w%THjLQZ+SiY%wod22I3uo7~{BOP$ z5?|D`RZat+Y*HBr{=`rFybu2<97AJSFdg~@KP^2{>pg7^vlZ7EBvq^2TZ-z2t*X=M z49uYrU^dAOO4c)Sw*{~*kILk}K=N1NP2G=rT$MO!Gb7j0wf)@#`>q=a3;58Xn;YwF zXxDPnUh9Hx4N5;E1IBHg8LOg~e3N(c=%%z}4j2|#bp>(sFfVWphCeY(T1N|)HO{&3 z{&b)pRG-{|GFm5l!;vAOXHp;5v0ih&W?-o5@!C4l`>-Q#)K25eLYwpeqQItWA&>@; zK*Cd+FGl8uE*FEEacwgeA%W-Tv4h0$FAG5(3!0m!ll5_(-t2O}8B&z#?9JR`WpcE< zoLl)~IS5*n=2D zBO5A3`?e`NGs7rRty>!MR#5;6b!jxY%?Yw>TMWe?_{a6D=O$D% zqMq?=T;P_wy1q6+Q&EV-$+_2Ez!`N(y^3_TbLTP7(<5}u*it*ShKvgYQhv~TfE|QL zScHU~UD{XcX!Bf*46;|@5HD!&y}6iim%v}`ugS#xT3qy<`}Kl>A@=A(?q9gZ5Ui}M zt_o75$IR>57mPwU7Q|>gSKGml--i>1iNEr;Q9LhqQL~{}3*=KJN2&U0kQO5;weST^^dS2vX&adLF2f;l7lMQN_1uw~8Nz#^Q z81yGrvl(F>lVCpq($jsaX);cm88L{zf5~1l-;+!o6uygG2>$ryZx=plWYW{vwQ|Ou_m1F3 z@A=VISI4XBvi^O_Mruu15gb&`etz>$?)q)Au8nb0pRbvrigYYeMCo?!hu9%NP4sc0 zyt(?SDYT_?Z~!=WI;Cs{3JDxIu(A$F<19+l6pj6yOD?;{7xQ#0D^j0CNup) zBn>C2`?tq#F2}Y~E{6h`?fF?sWw(8#v>7I&M*UtG&6_;9#fyYq2jIukqkbZW>|>xu z*Y3;o#^Sm3q3#jK4n4kh&9b5cYWL0om33>T8mCz3WG+~DThQPE6x*B#Qj zC?RS&e!jZ-Ru`QUKUPJ*g8*l4Tl^C|SXUP8?Na177 zc5B+ge!Dee+xaF;o9`cU=B@wa8rgcs;ox`Hi%)2sAa3CZ3G=mcbdZWes|NN_h>k1* zY5zFIj7KUdGxcje>jAp88im`VTQ9u$gT_1jMhoT^D_kpcYHf`rY-dEZRy?kEZNyo~ zRd_x!D1B~nBUP;mS5HROOIUP`(i<0LA7BL;*QxW&P=mB-wsp9L#js@q9N(>hcHh{f z#h}S|LXxta5f#mCi$OZ3jQtd~oze|GSMA?PZBZijuAjJiB%u>CizisG#@~|Qp08J7 z9m^H6%xp1;XXR&|p)c={Cr`A>gbO!KPI=wWl2Y-&lT1pn7uSzrwh;r!NiG1!c1tm% zk%HQ6?jgI;+eFd-cv50$xMH~W#A3F6ge3!gn-=z|{I!~K;M!loo2(Q)ZEP_!O;2w2 z_t*Wa*JX^1uRPj5rR$Eo&IR4$W8&xMDvLA}QD5W2)NwGrs6a5C%H(!PMXH;Er+&MX zM^*YZHHXfnUj}>|RJQ*^fUxt0XT=xpd=GySn1!m}_ey``NkzvV79!M$QT2wWjCx5k z$B!+W9+t)4`oyMH&b{sjyg#ius_08*YehB{{G75IOB6S(l&)k<2(S3KCo@KI&#EK% z=HTKoK(wu$LonoK@gnu-Wb+Ho^z7Y4d*iH6ZFp4=^8vk?Cb{clcZ-nId(tfA3cizv z)7kk%vH}v%G>%~G?CEYOWb$dP@_JF6uXE&l5Z}hQ} zrflhB$yAd5S=Ex9OFoIV14l+4U7SRzp@o;=r&vZT=ij}(y%M*QQ@FiA94$r}tBK}O zt4ym$t-so2O(X=d0C*Z35XCV0O2fn~xpW3r7 z)b!apSGV2Q=ZXW0hcEUPAT!f*r!PKorMHcqUt=5H&i?#q*lk_;HaDfL#`og2f7^2; z4S#?D)^j(f`bpKy%!McYz51A8+I$(^*TN_}+O3}^45kkLY0c(B$JbF83ujeoaZVlm z({oR6j@#IqM-Gl|CVbFkT+@B|g`UYO{3lO5RNzIefVD7wJwjxYQ>ZwC1denxoALWD zG_+RcioQ_1osSe!k!%K&h4<@8-Ji_x;-tH$Wn8p2`GVIe)x;hS(DaI+dNj1LIfu<{ zqXFW#zR`UYrXF2AYBAQOhia`Mhl^i+UF|=ic<| zY2(}_=JB_tJ&~7VlH`7L_j@APC0`hFppCU5W4EyqdXUgeto8CK*5paKRXC@-gW2 z&hvc+uf{D5v#IWN|Iw4fp(B#@4WjGTf1tOVR%lO5W#g*7YWPzr-UmqiHFWbd)le=8 zN?ffLMD~)GvV=ZjyW;NH+3O#yGtUxP6TswxTMWUXvj`wpZQ({EOb#l*7NOH@a zkbC5Qrx7EUx!+q6bDxMIce&<%za@lBT8K5bxx|{~mRmUAb9p?@d7Qst+h?E8>-~N` zpZ(Ijhu5Mt#vor$mvfY3qIs8J#EpkPU${2Yz5L|ttNx4PNd+Q+&t%q*kAK0Zi*lxD zf;Ansq$hURHOIp%k{hthaY!c)7kV*m4d$`Uf6OLF zb2I&ds)5+!f@w~cd-(iC=piiKZIdsYo?E{pLc1V8aXw5NkN)B!s5lBDW91mhn)zJC z?XTVlzDWNS>hWr+%=l*e@0LbvTJ^Df6=3NS-{KM^;X@#O?^(4ZXW;BiEl zUli{nX1&%$pObQT4TtVyW$dn6nyGVGiBevfHfCL8bgFU*DJqs;e0cu+$5k=fjV^+7 zi_MJTJuqRciq*hmEYP?1UWsXeyIujzy1;s4TyylL{>t}D8=7eveg~j6HqVIiM5;yFpM-na6$@&eRe1i%nk#7hyWt~RA^RqNqG=y=R-YS#3m`BT+ z?@&XgNKpLQvPqWxEEO&GB}5>lc=4LAud3RZ!JOT3c0=qBd3X)9d|CdVj7Fo)6xKvL+9&~N{(b&AT{lT=XPFx zC6g%14h*c!1x*Eo?gGq-K~Wk84S!+n+~Jw|HR3lVKJD~2tWrHXk(eVB2SVKiIiUsh ziqT&hYa||d{YNi~e2%rSa7U?YxgutpA!@osEwy>Wifsl^P5JjT zItikNk8y{j1Dm{*fMI#|I1xP-es4K0!lC~A&N@=Lj+!JALQO4aNburOmco|k>W#Xy z!h`dw06N7&Cx{n}jG0j^>FOl~E?zC81~zYc+Gaxj=!;9rL$$mHJKQk0Vh$t??`nL$ z+osQ%O8jAC`=%^l_!JWH97``*a|l8|mX_b(C{vN=qjvqoS%Oe4C75c&(P<^>Qip9s z0Ba0PU~K4Eikv!B9;zmam{Fua@^O)tZ8}` z2*jZrd3*yzul7eW&NbSFoeSK|Y1;e#jUQZ&nSl|D{SCd6(c;OCgfKj!=V5nr1bC**@0;yuyA8t7 zH@RV6F47e<@lC?;8z?GTo;8$_cC0f@**nco>n)79D)X+Nw2$lp2aFDlnc8pk-y&VrvpR^6zc-6M1 zRQ}p;YRdvHj2lD04yL)pj<i>RQeu;`1*uBa};cXx6RsYaL~D+6mqoipV3MoTA{R@&&Bt`;^7-i>xa3pHgP z4{m?(t@7`JcNvuev5H4+^7g|LwBL*po(sR9uX&^55){RZNgnChma8tC?P03BKOcLD zm4TuYyRR*9P@BB5SZp=>WHGG~<0)Oh7Al^(Zo&y$j5@alp99J8qf%YE41YOQGJsp= zq@OwLX_~pDpT#P+k$%sJ%N4J9#eqskIVHyoN$1J|)gQ(FmC*~8erk$>n#1ugA?%~o zZ5yWCbG(<*Gv2itZeU_#kWQc!JN_N)RvlG!WFKAAVXHI0n5lta&mdzz3mDz*#7Vs& z&ga+v8P1=Ud}<5|0BNEtr_b>)OPPN(A!^ z$~#+v+fohjN*gV5OA{`bU_)1BKvyT?_wRhD}tw z_Fe2Hnw!Lt4iqP^@E@I@Z#(b(8SJ7YPobt-y}IfieRGq^-S6q>3b(s6OH_78p(>iH z?^_NdP(@_?$eNk9HETsMu;bV0U30#YH+iwc*PD*f9mtT_1f)~zy*{=iWvl4miyWif zy}c$s>6>dMpy$!ihrmumK1QPV=-+sJd_1M^q8Arg0Eny{7Nfj#Pga0rV5Ph!DDS_b zz!rzp-JR^hNH&zEzEEgY&%K%T66tqijXQy|wg#}w9bN5jN{`x)c8CO+uWIz^7NBy$ z&Uc-T9E7d)oNZO#ab+`ZwA0=>*mCxZvO!$|pYQ%Nzq0Ub{N>k3_S=BN4VNc5DZ{RT z<9sWKZjAX61bqA3`|RtUkO;kYDs{KYXtT@7`BSm|5h{!D>O)HXYwc0(QdX9q+%vlB zGS+Y0GlVSb9jr+{K0fuT3;bp9MJ~QKYq5{m{MHmTV}|s#6Z7-G+!~Ui-FU9Z>4+(m zwKyg$o}bL+-N(&IymonK9;^cjLLBz}+qh`7sZ9z&YrXcH(fncFwH8KJj67W~SNxr{ z;}Ilx?@4fHUsq`9=Qj7V4WPx`*Q=na8hZAZE$a(ZqOA)bKQa-t5h(BdNT2$h6oP#Gdv$#z6@SngEM+gD$YRC4M&t%> zBA7UIh|<~|lZ}4TaRv8DXE64pDN$=X%$LaNiU>I`^y0``a_gT1Tb>t-ptUxEnAdG?c6zW_3ishRu0v5=xk}NQb?!l@ouP&I7l*;~RyGQCxN=3D3P?;YE%`}f#rxC>>=F3;6~ZTRGDeR=%# zWq3yt^GxbmPfP-mzUC(Ej924Gq|}2ty(R{QFpBqVn>%5(tCE^LajZYu*M*Q((fikI$u90SCUUO3w(T26! z)L&~DJ}mbo3XVN=wHDm;HW1v1+wcTTLGBib$}OLKExlNr(5W|Y$5B0-)j>xq>MYs= zfWq!ZXhGTgyMIl18M`ziE5)2Q1^LQ4ntOlx5gl1u2UaB2UacnAc|H4J^n6(K8pxD2Z=u-&e;;9Qd02fq|9w+F zV1W=7QOP^+)FU2}TiLs*;t(z0rOacP=s+5pR^Sq=s%$&oCIVT@S%X5ewj8tBAKiRR zA*Q!OzC$tkr%!(T0=`PJ#A?FmspzLuJlC)WE-)TH;rzHt@8o#a@r#jB%v2R+Y_RAy zNmsj)w&;6M&)p~V>TD%qjt?ZOQ*CXZk^ha3&XsaVtDm;sHH5X?UQsTJv)M0O;B75D z?>;9;Q|w5C_kQuBNOyhr&lLvRi>% zpkn1Rq`q(`klpq5MIhc90X@5@$nfC4h@5VPEYA#`2J)A!5hYF!xlu`no)H!K-^JmS%kZs^>Tx$kMur?nLZD)yq|S9}wJZ~}psr_Kb^$^}`31>Y+-P8!B1O^g zzbhIv1DSi*-+;$F@%xLBhiA_^Bz9L;R$OFxZ@=f|d|2nP-j{D??UbD^+0)CmfWdkSEgC&9jkNn>b+f~U<#uVvh zjk&Nr)Bw90;A9bxq3;03v4C2Ho#gvf@h9o#T_Xp(=TktypV3R|YBaSoE$zhpQkM!6 zy$$z%!`^ex!uCKXud^DzzUp1{Eyw@zKtO4F;)}LIm}P|1W2#IPtA1q_X;ByUzwirV|at!ONSrJ5>B>CC2Wbk8jbYPT5V~R@VYC zaisM($*vt+pP={YjHRCq>d?h49UCX=Uj7tgrm@LCB|rtyI}+<4AAQ>>bhcGtI96e# zXE^^aVvLR(sWQ3Wf7fppJ&mwygK+oLas2#mS+||`qR;5&nTFl|)vv3w(E=H_SE7(J`$^UGKcy_!f-@I7WchzaYH^xMjIOvdKaO6w%A!?%M?AdMAGwx}V zKaa|{gklbM(;b7QIkk9Hl&92Gxk_n7IHEK>96mf=xDc@49a28A{!H9i1ohE=h-%Hh zX!$Y%@EoZxgFzvy2=jDDhgQA~ThphCN!unL}p9?y9kE`)E;^E1vF(NY(oKC9nc#|#YcYo|an6Gn_Rx>XAr3tX+J zl+{9tg_hZGMacih^ke$DIF~S$JMtT`WA%N#SQ)Exg3A8npc6-J+&E0_Yy47AIIo~; zzU64l?=Vsg6C?9wwl7lu#W;bM%&jOb(mgZg39^sGh$tDbF7R%muNym4k$0SpC-}e( zYzO-00ErIh6nUX63!0E?WgkB;~87G;dF5r|zC8Eg;2oYC#wh zUM*EuDgEx6_J^T_26M_weZ)z2_=A~w7v)y$;=%*j+NX9<=LI^_@^g>mtHbl494$`= zRzqBNynol+t+c9Vb@jf6zH#x&6Dy*1)#VgfI(hMfz3co=@_U+iuWMQ|TleMk$NSZ=|NCTHsA|@)2gbA9aDuQy3H23R}(AS}g^TS>$6!zpEnncM%S?NK5y4W4XaMiDKIP534=ig*4k==8L;O!;mc`hCJl$zbs`FT#kbP;qnzfxBC8TIm`kk zI)w}4P$>FpEO>Yy?r1ZMgLc1V*}zPNg;cD*I9#~&90H1E9^=Te)7^+?)l2~zAENwC zAjbHdZZ!;4J##5Vx=w}RsE1}FE}FVVnTp>{UOkQpsrwSiT)GenX6z5B6BTmWs=J+x z5T#|$fNXW&LS8CWtE>=*sDSp)6XZ(*7OWqEixRM*1jH{{znl3R#@5({F6c*2F{Z)k zl-(HWx72P_3j89dOeYLZFvRVPX)H>qcEA=X5|M4f&nos1MEbcS!-@%DOcz-GOslzt zxC#x4)0Hp7Fw=fm;#M3N1r=XQaRMdsDwxHhp=G+X(C-}Z=F1=*<{qYBu^}3wmeLx3 zS{pjm`M~bTG0?A==aRJ7LBHY;4E{nWt2#Ci8C8R zvP=a(vAxfmj9$VpLyz1P^C#I2Ds{Z-1RiQ+lo#}$?RNTbac(3Hc{hm8RI}}`9y&(t zF*!!I;Ng_E)SecMKHl80V~&!2S?QrSuI2LUop!us*F;?%qvuUSW1X&N0Y7}47EvJp zRTeGO;xj&|Lao8Ato)M_Bn0|ots_5YNyq;@6ru2T9pJ6`wXBG5#X0gYTHyJeHGuiJ z;RX!4L_Bc_$K}pkf??ioiGx^)rZHceuQ|&mu{PXjKA1V2_dc{G$h}j#$z93zK7dXITx(|`cm}MMqg6(0;9ckdPr%jUR(Y^jH{NtJ5ye=vmaR0GSg*m zAR4y^S*c0DrSE*0%T{}9g1LOBEJWTs@2rRYlBR9R-B=v6Z@{aWer*`5}S zA+#0%YZv2})eHC&=-7(INA_&m8&@)@OWhnXP3cbtc5a^MS`X4Mn=6p2G^c~FQ5BX> z17QAOX=%Nh8RhiN zpe37b{|1?&drtqv9>`^xikJCy9vXrk(wJ#L5&{aKG_>OK?w{ldhyU5I>xD)|-Qcg8 zsos6gQ5@dlgP65&PX=39`^ed{jcn9A_=zdPgYtGi+<9v@ULJM$VVO8}^siYOcrG4N z76@*kj0qO@ju?AdI-t9OKOmm$oU53b3amEk3T0Ck7ekCo({v8aL}6c?qZ7=v6f*U@ z&wjUTpQ@f`_sJrNHE&VFppc8B{wxEX0}o5||}Vt-E)o{<=6hteU1RSTQi zXwB~r<5kbrCM}x65q?xuy=SCg0Gj4L9fXone@SlUmp%H>5qfl9AKlZb$eElWVHTPT z`8Zr6kdgy&QxqRA@tjp8EiIqN(mt;Zy&#^>A2n|AZa?|ONwZ#idOk?UHV)wBsM;Lr zB^?UGofjRWLn8XbEiEJx9l9dto~t+cDcZ9lPnO^WE-z(D`o2jiJ-gtW)d`X%JFI@2 z@BT$$^zj`!uSMT&hIZU&T&L6DT)K{V3$@L)>JACP|Gq_s9>VFQdXycX#E-SxzrQ$X zDW_T$znNg*E+b6eZU%>AGhe%!ueo#_S`kQ7-D0?mr^lAf)lJ;4q$F)6tY{n6{4wQ{VSn$%oxIQ@iJ&5Uwe^Q*n*Xz&deT802g4=SoL)o!G?YX zvY^`?BoP~byUHa`=R&CRPxt!%k%;6MKKHV?Iht6vdP_2%;#ghHrjuKuBBErDcg@!u zRexhop z9fu&SVm(~$CcR{5=TnWZelB8h2hDy_i*0#|93H1{J_+Wnn-=H}M0(lRM%KRA>-w8! zfb)Kn0wb;wch^q};&L1@Mn(awRy-$!ZK>QFb0Od47^$5xrr=KrTWQftFL4omZ3cl&qNBIz4F$C9)WBwvghShjbOD7 z{7dQm`_?J(YUy-W*BQZVZD(aVR8H*gbP=V~1^rmVt;*pd&$lvz#MH*jz7?pbqRPyB zo*jKcLmz{!-{#Hj&2zLb6S+&$w0|>jxfsbUq*q`nTsbtNdgjzR?WVG22!qD35OLaa zT-U{v+ufvfhWQrl+wxxAQ%rSP9(8WHH&46K+3Nn9J0IKbbPxozBOZ#BnBBkP@uift zxUOmh|9_Ej=g*ZIal$Wh5%70A-?ucKwD%pC^!B{0+y{R02@5N0TY)Q!-A1n$K|)w#$h>{vJI z+pRloY$>c`clT&POZiOa91e2b5r5YBp@13U0af$N(&I00>6rRl{9a`!-L1lX@bn?f7(C3e z!L7Vwy!v_cc$(p0QwAJbRnV?Bp84Sr*~Qd=*d{jI%Mui9m)mqpJsoKTPXv0SiI2z8Nex?(V`8l7{&OxQarOu(IZ*%i?2 zGNkH~YW}-_No6tok!BW9=)*5pQYy4w-O+8xHfk?YJ!?Sx^D{WV(jTYZO!tE7HWK>% z1{9>iq^tVrli3(;w#F4~{?v340~YUaaWvRf=NU{wEIvVWEN-_V>}3*RumITE0h#zT z7`)`pLTQaBZ<`#xGRbiFoRwYMhIFTv?*D>+6<|qcNjIB0b~v=h#nS0_FvSL7FY&Q; zmFu%IM097aL2 z>anba#_EnYezQ>`VFE1dWrl?_cSc=eHAOj!G!i;}vd5>x+B~~bOrEg1j)7q{@Z5m_>1*Jq zm1 zysfL%6Rg4dsQR?-y~3LPVi@I{Y|sp)Rf!LSF0QMts?v;+Pl@=`MPTF?G&O%>VQ*=s zPc450$Sy1_LMhB?W{M%)`E6(jrydN$LjKE&(uQbl_kw3eJ$}~lr8+Emq*wi6o`GSK}$Rx>;-7#>1k#+-Y57yt(om{ zMo|^V^Ox>JrJ(X9C~1lvMiBkAv#OR%L(4z%IB`iJ=sUASX??K!zLUOfL(&d{+agDBW(E9mnVGPSE2lkAew+-pryj8?$UETPI`>G-&9mrjAg4QerX`Ie_2AG zjy0QJVAbmZx9Y0N_sxEA@c7#A{l;Kaw$Yf~YHFLNZsJ#5O()l`)9XX*tC` zVh&^)pi-A)dp^n;Y>&Ht@Hj};h7!tpS3fSm=ukI3Z7KiS!nFr4k<{(W+*dzSLphY= z0%okd;_e~e#RGT^77#rPBRX^0iw=1W-8~g4mHP_vJi(Olb3(?I?!)q+NIDQ2tnaSI z00Nk^R$vvW@4e)R&4kM=n7f_#F{W`NNhY(1gCZH5>!l?-g2{Uj-TD?M4SEOQ5pSXY zUiervQD8&ewj#e_rc`ew|9##!4)%)Uh+clyplXEWUt)7YR(o{2Bl$k0TacyZQZ>C_ zK3S|H#(c=H0+3Jt(kxvK%%$03BGKW$n=ZvQj{bA=_b=|5tF`pj5P=|y=@Efw6a(h@#Y5iE?8VBh+mEV)lz320vkdx zSft0Y!M@+DFsw*EzXQ55C%3QoK0^PNL%e`2${m{4EMML;$=|v1~k}J*gTMP;M zShnkje5!Bo_te?7&D!RzDAWmpYuAnyYSnJ!R<_*;P$*oAU0Zw)A+(dq( zU4g{RnC~z9(@;r2n;*PN6MWwgxjHz3o&2ZmZdMM<|-Z3|_Jv5@GHl-LT;D^n1ibYN?*lB4zu)C92 zwHZhVuYP(r{nJF0q5YkF_a&MzSXf}~_HDS=N71se>s$12=I#WKTo$pGndU==mqOxJ zu;AN$^#BT0Jk}H}xaOC>hWe(7yDVuCVP%&UbEi)=`wOA^5)t>)UMCb!vhQ zXT2@G9(n+aV8k%W6l4wD(`#GH$4L8`y|7P`DctMl(6P3Fo9(^#W=lWwEG_j|e4nHO z8!lZ+-w{grhGJ#uiHxU_7Uae5$OmtYfR^^IvN}H{>c}JfE+_lU;JFE>D^ZZ#mEymw z$ssgF={096BQs4^<V)n9p#o1Z02B#bj;5$w4%%~F%|ZN+FMMxD5kpat6q!%=FCB+ST&h3 z0Dnj%KC?q*>Ndk|Ti`6(6-j^^AR;Vi{&4-`VDW-ZyhPqmk$^47Z3d1h+)4Cv3^v5+ zn7YN)1LU`@X~Hdbfid%f)UUJ^_6E1Iw5H@wwhkT7w(|hWM3?Hnk?8YyV3kLOhtkS5 zunJHbM(4y>G$Q&zl*MT8DserF^zzrJVQcYALH0dL-eInF6idKWsmZ#htLv()jRFwSBNgG*QBMCC7vXW-9&POu$!U%!n_d zdkZPUB~RMafB^X>UyQy^dvT- ze=PX&l!zxu*4-c;i}IG479@z8`Gp;RsQOEm&zsP}nK#tE@0x$(-c%c$4#BytR{b@; z*nP;Xy|}Pwb){#smTCA^r#A+-U@NRuaD)4jJWqvzkjvSJo5@#jvwYDJ6!8~~wM`Wj zNy^4GJAA5jNi_*uXZHYKypp zF#4?TV(|y^g^RVK3o`Tt=nHN0yb%nS)Rbf}3|t~YzcuryGb`U4zB`sAK|@?TJLtI^ z=C9cL&agh*buqfVWrm(H-L2jc7_HyU8aDsTpM_2rG|#@auUL$_^a+IgCW-ffb5CC%q~a{JE6@qx0r`360RYNq?AYn?fz1`TUL_~wbtO)<-2IYp_lk{{`R zme+wn3d}%8#Zdx_HQI}C%RMJL_9`hTECSArKn$+?Gg00w@s`@`e&n`TtUcb)7ve>jIL|bT?|PfWCla`}*0LuDRpUBX3@?^!z^F>^^yo zy`JbP%x>+UQGsK?L>-Q(k{R=kH#Uf~F#n9JoNu34;$M(>4nNz491eCZ1o`%bDXFSj z^8~ec5@knqwBLPxnV?nbb*tFz?>d8+1=>&q*R)r?@MFtl*vuOKCYUMFWIML=d35ju zt3yxcvnOnqwiGCu35mc~DC;g0r9L=ble-Knztv#PBe<+F1l;!sf=2G{d@6R=$3)qI zi4gw}fOh$39?LE=6j9ZKd*a%!{9j{WcZ3}&(s`Q&F4(wX{<<{yd0N*`aj9xTP&H!p8xP9iN;UU4q zl`7Bb1Ku#NaUIfvzNwA<0lXToo1i5GpKhPYsTzsl9V`;3agycCk2szig853a!>UO@ zD_{7=7>ygzwBd7l+|#=R9} z8%lO7&RMw@IAi-%Gu^E}N4n02(tCg+Z9=sPrW;>(Z3{HbuCX(#jM)!ZOzO$VK zTNr4KgAb9>u2;n`#XM6y*Hk@ zcURnswG2Bq=-(6-eMf=qbwqSH;S#JE4+6!2^t9B?r=Fj$iyLKhdiwBf|FsV|Imu!& zQQaQaGZMWF+loIJ9I^HFMu=*HH#RnoL-u#pJFCQtY2Czc`+NV6YJqodpPZL(s-3qDa5ddw1)5=;ACqL(uHCx8hcJIpzStRdZ;l zYX4{+JR6}tksPTbtZ8?F zT&h}B(HuV!_26b|=@Oniqq&rRMG*9A$Ac9VbZRfh8K4hejQ;m$f!3Ha$s8H024)p2 zfy6ao8Dsf8F($*1w9DTuNa1udvxb_Y$;d6G+T!-woAnR0-;`QgJRwbs8{$U2Ycdl2 z?GGH=>)G;k`qb%u_YLIR^kp3ki(BCc%Y+2Oy{GyQ6z?v?AR3TJysMws*I{lws z#Q!Zx^tE`HMx5svGxSrrN-zXRy*fPtX3vn7)Tt*($U5`jb;&=C1(ivKADAMF+|=K_ za9$S5I>`Jw7JrMAIVJV6ppF-9DVkx&QPq@}m!l{h)xF0dMXUPLjyr}v25NB`kiMy> zDYDlzp!_H_Ape2X5W0^}DWTLFDZ|-N!5wS5g9wSfC%1b_>!Z$2`58VldP5-`&G($sW|!WDfz;F}Ka)y?C*N`Pj~k7!pOK`a^Mh^v*E! z6%jX52wHs|#Qpq1$j#!BAhodlKohx$j@uyqA{2y{Tg8cADlHkw?f9ssMRj7uIpGxu znkKTpu7_bylhR^QmM1|zOTht~8z=_-jp|B-@Sj&DVXyEgX;ec+HiOJ<1}aF}1DNS0 z4h{3die+i*M2O)2>!|Q&GSQz(!Djktcehao3sB%vs{t6w;m1K) z?c{}@J~-eGH6!xGKX7+bD=6?w6nXbXN$pUbrV#X;89DYjpcwF;Gf{_I~L6Ics$y|?G7xad4eKs@2_FG2yHD* zL3XUD9r9DhH<9&*USVqD7J&f)Ub#NfZ>=b~RXR)CW(ql+4#4A#0H*^!yey{wN822C5 zetd83{HrW^X!DpfYYAuP{b z1+SXSqRf2lBT_@?*)dn zXAiK)g0C-?AP`@5R5ORW2z4B5sHVt{_?XuT#i9k+b?bs#kdHYHGYTV>pOZ{81nn2C zpC4D|e1Sc|$MkoU>b4;EhCEAMD77d-?N-8eb=7v4gIFviw_G~E9Lbzoj(e{^U%m(r zUZ4|}--uBA`%O>?DGS#WTSLL+@V&lSW>f=V6@nFL?>1XXcY+({lPNd(P{}tRZKl(3 z$eRW#f@rARq!AK!vOy(I1-21>&ya{52L+FZUot>*dN(vsiS!_=jX~Ud_>$9#pd{0& z?x?Pw5c)uP)P)w7I}hBXQkXU90lx_{CZh^&%U~|Z3HiNsnR!KCKjXXla~0h(BRL^?0 zEI{iU$7B?)a|?j@A`@671+v`wtx9a&4BjIH%8GL!^Y|1$No}pP0AaCZ)GmnsEd&+Z zi5r%Zq<6QgiuwE!g}$=S!#j0IaD_J`+-Hwhe3J8m8X?`KSa-{c!2fczGNp zjkN+XBv73_r)M*eQ3q>)RxtE4xei3>pe$+0NGJ3|UX1iBzgXRl#MrM(-Fr7Kk42~r z_RugTWcXb|2^67ChjXUnX!!$w+$O{2pWX@B&Zpyp#F}WuNhFG?%kuof+9aU_*b)p( zt}IwnUIl|t(pp>GM=?O?aOn?P{3B7#8bpeGsOyAgEH+i6MqQ$%)a*f@1LrH%fR|Kl zKZw@;1N4_#jOlhW)Pcr|(jzB)6nm2_udd&3?fT-OaN0MBvU=(Ovj*+;WrfL{1_(9i zk^nR37K8U{lfWpBkaZKA?1+9Q7O2BjxfYWhav?xm)V6MVQ( z2*lc{!&Var(}mA52$I{oe2W9e&-wmejZmriz#*=e0I=vZKP-yZ1ESTh=e; zJh?;R3&hcRVU3NkBG)~+H+hy>#Y8aGR`=jAI7pE8eM@aizGjo^@9{xw-~)NXZcC(_ z=QEAUym{*vQ1DwB-WE6)=6z7AgC)j9OI>R@VM&8o1J1v2X@K^YR-3)JLO>m!Vvoz| zWauR4r6jn?^nuOUN<80uT3b#_9o~S!h@;>akHAgXe;+!52y(FnVSm{eSM!-jO`l)z zrDZDLCsRvh!7;m9=paSk{Uz;aUT0PHmF8PWD7!=oqMp?2dpd(xNiIJ25Ds0bsm5ai zYv*e1LYLHBnMIB{=-3(Ax zey#04f31HFX3qA@J&2W!RTPNi|MD1z=&WURzm%lAu`3__)BEp2QKFeO#0hm5_Fo94 z_8ua0c&ArF6C7uPb)Q98;AA7O#h`cQ0>wG4|KqcNZl;BG#Xn1wrR5X)HeUdiQ+a^U z@VS}1Baw$$Sg0Mh=i+{Aq~jPBCC&kPbeAo7dU<+olijx-Gi69va9H$ylj_IKUNSX3 zeOu7&xZOKXax|m9H#E{;Q3M%eZ^=_7aA$pwvq*Margq|NFtI2kU}x+6uXEFau2`m( zH1vGqVjp;)PhOOX2Ls_i9&G58Pc_cmqFS}PtGB234(Y_NZBZ5un}B840~y508R6hr z8#`*CRu=&cc&F#Up&s@0Z2lJ zgOZL_6?K`@Wfc~jED>Nv*E#eYA1%AuXVp9OJnPaQN@NKN4yRdwS&xY>vp&>T6q6aM zY%_XYS%b&!XZt#qy-ZyBd-$E?mgo& z2kR3<`06IDu}<$+JfVF4^1#K(c586XQ_nZ+b+@9A#}9KMH+GutCz+-XX~0{%4jiL$~A92M+I3QWHzFHUA#agi|i z^yz|@c-{QpJF4ejIk`p}eBc(d+AILxD8sFn{k#6Ax{Z9qg$Ea*r~qTsD4T*#UOSD$zGF4JC zK_L8t6r;O=p2xA&gS>s6=+kW9J6Piqg9+gw-73>JUyMdf>vrdISmyY?{9RTl)O`!# zikoS*;Vm7MHO1z}Pp_Xl<63+iNo)R=El+zqBaH<_f@eu*jdmEx+;^Cn-Q-n9MQAa&+EVE^PvC<#$?L!h1Bno!oTdIfPke>GdAsZ4&z&>4 zp8myb^cet$U7J>oQt8W08K###A>C2!`gdYja>}%LR(U%zsPVbv&pS*ipLK;u6Wiy1 zr_xO%hUZElb}jino$Dq%H!3P-`FzInWM2Jvt;X^uc?GBrot+ig$a%`j&EJ{Dclrnu z_gB6Dw$IBVCc!lEhGhzDw2ELwAaSjWaAgsX@C}@04;{EgFBXraW3Xw<*u#xKF7_bX z)TRmkEV=i|NL4lbU@`J-Z$Xm)Jw{ku@3m}K)q+oe(A$6>&!>fjhKmJ5xG&7vZlf+L zl;-Jq(vz!q1nyM9TWUL7TV}%eYwlw`2;5s%+GeBj8Af?$f4_QW8zgPQngFZrx0S{7 zqx?%(Fo|0Hm)IU*e=PgF1@W*QZ~gT--BDT2!086xNPi1lR3m?&WuM#U$==q0{d{Iy z`$Xo6Y)X*f<0tTNkEskToy6N8D@i8=f|=z+po}}3EZ4O*m~mU7z*rRe&@q`c)=X=&d$nZyjyvwGLt0;ZX7V~IKtFiMT5jyI zW6^enMYRIloMTP4S1Iv72CBA8`D{_uV_}a(T0=z25TR_u*(MM5RIf@0A}khteWH#Eq;l-@cV#^> zY&dGy*Xb;JUqmT*l}9+IFHtQ}Di_Iv*0AAhhU*+W>`M;$1X?JmcYI^U~LdE`1qMBY;kR}`5X^A7u&foub&Xe=V3oVh4 zr{`@yuda}*U1YYpe46IUaHdg;n(Bvmxb3X?_`^Lt{-PREr^@d))n{Ss{gaOQ@m4HD zIZH^ERoOh0uHcG<2nwNdeJE3a-LrI8UjH%9<2io`xbje<(&`hYV+LKV$U>i_g_A4a zHmI*4GPBqGXRGb*c;656g*{VOPqy^GgQzyID*wHsG%e=Gm`B^F?K~Ulq8v9}&6w7z z8?cHe8BJ}LB}1}rS&>Q8VXny)X8Q{pL>I-IZHPhIEHfR<{m5~dw}m%k9>@7bKhGPv z=Bym@sAhZ*qwk#jKz4d%-@I(9NV3T^acSOu&Jy0_8(4AZ?%90c@c30Mzf&6O>Zq7d z`80Kcr{OFY+lc;qqhLGTv4oPS_QksqK37MWY*nW$|1Zele+L$4_gQ&T`~KaNr7`|B z$zK#I1`87txY_9Ov3}v@MY#jmAx2_yg|pwW=LOT9sDZ*6IgT*VBHc88dPw))!x^U! ztlYI0FHS`G%TO}<)?lgvjFK_qZPj0zX%K)7V77 z1@wQiC(eG0oOiWK^wkKVk;sVGYG-9g?# z@bJRq$D@LLvpxm=3ojBtXN@ALsP?3#6n%V@21hbt^Qyb>|fc?rQZ3^*UIa1<(mYwk_Dh(t7g>bQjr z<_>wm>>2XsM=cFJ$UB~$V_ND~O6H{k;vQyi#zrGXM*r32h_Gu#NHgk$0Y2@(g>cD` zkfLi!xy`R2gN6Ttt+R}4>W%;YC>e?{;)kPC1VscyNr_Q{grI<=bVzqM2*LzC>bI!gt^fTe?PqM`{5q&8n1IWoa_2tpU?Z<>)C(93lp@HL=yApfRp5g z*$aQ^&c%s58%ZX#Bu{|Gz2MZRbjo}>s-Lajy^*ZUq}PCSN`)PQX~Yy|Z~iogWG*>k z7Xgo61e@R!`?dotHC2H~ftjwxTBqlwCQ>cO?rQvsA$swhx%XPaV_CKk;r?a8h&+45qxLhH$>m;8Y^Bq0p%Jx! zvZMZFiIx!>5ZT#fXk&#OId78`Lw=9=$Pha00M$eH*q}e~c-6 zt{C29$!YHhQXoeQ7A5Dmf)dA)O0fYv2 z`V5=q*B+mjryV9t9xO=4(-Vbw#iJD{IJNF^lcV3z+apAswys`UashO&7b5@Wy6tMK z+vwnr`7#I1Pqe0(iTgsIU?M|QT&t}W$OcCN`c+f>gbPk`HKS-9C9EelnoxQ_s}?Te zbo*{WL%mI;3`1F`bb9;<4Z_R;Z>6O2^#ywY#oePKX(8HS5sJnEl+G<_b&5-wun>|Y!^$JM!O zYqR={N3np!!yl>n6`I<^4G@GoX`LmgB%gyxEC&Ab!yLIp5p>ZX;=s0yvAb`3AfU)S z0I;F83culwWm(O-jrAY*$->?sS(LPke2fWlfmc_@OW9+m`H~RyIDF+gDo;Sw(Js-* zt#SD1H_PoV%U$k2l3Ed6?NW&4_A;ln3L8BU+q%bC0MYhy9B2j5^^OvPKk`p|Uj7ol z&3obOasQKhmMU#Pb|M4N1k24#8>T)aG zkr9C83HzP%r7rRqnquNTy8gS{RP}&e=#H#*&B{y4oi+(*xlhql;uGmN4DdUeVA7(U zMZOge(_>YW9+KaZcL$*921JWMmP3Kz)>xER$egS;(>P3{olu_j7|tU}^d6=ftN}*0 zIAJUDu_M%I!r1z{ZSw=ER9*Tbvk*_unlF!99Vy8#LYx2kKFNhXplh9)@#;J!!MYCFmcU~;LevUH7Z&Y$e_-2V}C4&f* z;}b(Iak_o~73OVKRP(=4ie0m39RgxNJ{k7H;q}5=ue$VSeX+)?nrvzi*ek5LTbnkd$%Mh3} znI>4BP48TZY8(J`eXy|lzp1z80*Y0$_=~-_*R8V^mBQMOKm858@W0$cx!k|&X!h9@ z-2EMLaeO?#y?soqYJcu^)D-LhWR?A|x1aHxZX7()E*g(*k-?k5`10A>p0sf!0$0bL z5!~%+NN00!>Md&Wa_-#aNyg7qKDW~SAG1NdwZn$@AAP1BmbkO3x4UfT(-pk#Et+Y>wJpII=txbaa;ITF3L=l`062AHQIM{WcUjF;bkvAFfF{%reF zM$n%>uN@dzq<0*-s6B^dKA;OA){i|W4WD&s817$omPTr$X&W0+j!_;QmSW8RIi8&& z8&8}5jfP!K@r@=-|DnJ&9KF3hOrN_r4Q9D@*Va?=waZj?W)7e+T{Uzg*yUer9N}=W z%PlAJ+N%uwHb(Ucr<<`m?U&8mm;!JoKKfX#wm{QBP9A36?u5KQo5%WQ zmy7aOi-T4l3)ZLmN>cXcEve*|;*%2=CW)h@?~AIgFN)TaBmYrKUN~_lSX@(X$ZF>c{DBiBN0H3c+r>-5h*1(XeibhMn?>pNZcj+dgGkXt& z(&>g1Y-Bm3Zk_Dx(43fuc@u%5+;Jtji+TKwM7tl84aeWa3BH}U9EPIuQ9{u%naKWY; zI?8Y6=Ft0a3_7rl-?;SK(a-R@+f;xKBAR_JyboEc1Mm9#No48R*%$jv>&I#!wIyyF zhcyF#xq<)uACay%*mmIV7-=&C+>L72b3XM~mCjX2)XdHahIz*&uh(BpT`j=K(3n_0 z@DVm%AKQ~##)?1Enp`8eGzM9tQ03TU+7KM0(S63oF784U@pw`$BMI~95!y(YIiU&O zT+=o!Y}hh+_R;{^WcwdC3Y9auT02#xx!X(9_)Exd(k?x@Mrd?g$WT|@?57PQ zH-mVR@va}>44O31WzwaGr+JjukV}o3?UWiwxQH@mwYA^J=x~1?#-oj+u#}7NZF+un z+hZcT7)uJNqT93TH|!hJ)9dSHwN|M)W|=8PwRHhM*txGjPz>%V)e;D%8KrWbPx1_L`(m9?5X!>+pmy3IRrEki*jL6pYA!T z@WI522&?K15@w2AxTBw|aCa^)Dor({yP2;hILZ#Spa93wjy}sHVT^v>OsQ?0X(`HW zL1>tt_rAmIp<^o6jKTJF(~1Qg4app%OGkgfEnDO25qsiV`izb)8#Nj=6S{xhPLN17 zoVSYTzW6uLkcjv3aZh4nc;*)JS^fm;wR_Mgxaj`+#`gRQ!ADh8TflLna>j3Js&Vep zS#}@eP^?cc+J!7Vp3$>0ka26Jr?bse=e8=biV27B;_Z?Z^7vFWQpSWvT1o?(I^0?? zQYP#g!cr>aFi=F`)m4?eHoCTNnu_PpjMctGgMmLlh?g@`uat-rQqQU{niBS3EWgK9 z^L-uH6ZniH(U$S3O?5~hw|#Q?UGfd)d6%ij{FxG}tin=sjNs^1+Jn&ZmeK!vln_#S ztuZ#XmM|L}34sY7asOL=^WcIx{J#r}1*yCz9pR1U7yG{-DnkV5Z_3lD$k%etzwlhL zZ*~ihgV#jRhl8S1!soaly}Yb+-2hwxitIgWX~jIgK8${I`C13bMaHs_8Ri(>4HPR5#1MMdWuTT0-cZt=9Py`**tFx6 zGSXr}N*RB3hyi1Y+|l+68*6>1xA}MOGzaznYrgY?BA|Kq(YL~g_OpOSnytmR{}Mw( zek}E+99-+4ZLG>rhq;|veqGHDoW9l3Ocv&LSH8HZ+fDcYC`>qhV5PR1XV$*ir3h_x z?FjEN|M}k9>%!T3-ahLna{hdp=C%^?PBl_q1|s&aE_8uLX%|Dgt{p|!6UYhfBB^DC zeQTv9wCs{rviOhWlMn@G+@Nk`eMi)X)O!KX1qwH*#1BUo8bJ|Uijn;jJzZGJ-WMZcovo8Whv*f<}MN-0&5c6a3Bb&)?YcKXy%Dcf97=cv?SGc_N-uq5P z*%_5qzj=Y6ec%;&#yI9Ln@F9(&KW76>U;R7#b!-KgR0L`o4s1lKgonGTm}ZtKLnf0 zeV7at-38YaNB`kgpigdpKs)-7fmDt}zn>E(K&n^(S`zHtmr(oXrN(Kk_x9(nx1>qY z)EsT;fA6dCftLDs<0KW{DggqA9!s%EC@CZop{D>b+CMIP)P8a12P{>W@4OAOrfWQp zqMU;X3?^>jifrNnKHtRD2;C;P$&*|(9T>Fv?bw3j6tK!(Hp>170lY*t0wD*-T4pEM z$fty6g_0jnW#xnnhk^CoK(SdF;Jwtc^I&Y$8n0((g*nqP+hSN01oll;G>CHkVV;4c zVBs(2&w2VtoX4@`N>dwtSEDiF$jW*IwZ(oceJ4Pbsf#JB z?Q$Tt{uj9#paFeXb`ncQ0#;by(>{QUa`b;V(q>(ZT!je;R@9PLI~kYciH{x#jqaP? zRnI7J{4BKywkE_L`A$u^fVpgysq&+lt%27K7Hx$7EGwfUA8%K)Uu6lgR4A+demwM^3(nV! z64cY7o}r>K>64E$7kh_naLXuqCy)={4;HV%Zu`k}S|qBH5-1}1K8yq3lfgql3$}nC zaZ6gm$J)lQMznLSjaaEwaLlPQTEJ=MsaC2vvB43_08(~h=*-EJoeBXc_4u{+bUjbZMv-gAOpt`~FEM`5FP5#SMuKM-rEGQS{mAH7 zieM#JGh^JqcV(_PsGvS$3>GEyf*j6co3&kEgz&_KghON(HPs6X1c*aWEx{PbjU+}g zQl7g%0d5Cy^f?4scMp&HJxZ}F$7PEU<1e6{OZJF<{_$oPm;d-w2#&m}?MW9iI07R5 z@1~SJ+-g_*XX<~rh5`d`(#ZhaIuT$w*pj*L`3;85H{wROhUz= ziSA_lk513Kl2$vvkst+}0<&hym`7!CdM9IK_&TFSn1)b-H6NGg3gLRxSusS^3y1V@E zYK83Xrgx|!xD99OSCo@{=X&>O$1Z>b?M&kK)CrJ$Id+*6G>LPFjj7xaSR(;?~rAVa>ynf5s%NTsc{jPwyN`63|X1uiCr zlM$Zpp4Azv=>~g*PWz37cARukxJSkm;nSCMx1DaSTn`h%uAZkB2B7`~9g4bCDiwYI zS-P>k@pXE-nT?*@gCvw!A^cicF{PKV+~((3Y_C?gO<$sf@*Vf(lYgUZW1~O1xgCtT z6T!%_y<*pok+R!9{&VoSK_6dP=?4`7)pKye1bb%Qapwtr5QVukyA4;IgzQM$Yckmx zeQ7S@<#-Ge%q6!Tl*(-?Mc&xFSWn9@*0DiEJNi1zl#c7q9-Hefl{7Z|r3`sc*M$*V z)eQMzHV#yk-+!T5$DD-J;tb9!Y6pfzcf}d0RC<|hHD9ENp;QQ97%$(49-8?*2k#({ zdNaatsRVglqbhNptcKp#sa#T%n$9v^2d&!RXobe1xtV5XXpQTw|!~|3K8=^9yv%`E%smp5Oedg zELy9hp?i0k3Ld^Fp73pPI+M zd1kSz>-qIL?e&Z1M=Q010P@5$6p`3(nHhsQ6`_{ERXjC* z-{t8uETTxjyBd110QIr4*q+c@^Q^4wu)V`+8`*6n)*Elx_8;OQlUg;kV3*NnZ>@u4 zybSYuqg1F%CKhE_G*zsoR@|R(boB7I993G;WV(a|_AKpQvBGBVbn&8d+pJqdnb5G> z;J{HxTa`AGecKqWhXb;4CLG@*G>U9D*-FT(K-4O5#q-eqLIA~Fnb5#?{jB2~>iSr>w;fwVZ1^DmSBm2D`0j6&xcy&A zs@B5Lq9xppxl||kZ!I7q4GTnrf6qV$Nf;Jo?{u{cml>v~XFWNX=F=9V<(pIQ^xzZi z6Q-A4QZz9P_{>rZHkVacIo1DLSN$W;Cti{v4`Y0zWG(;|-=9|#J?bLcPfM;ZbF}{w(kNH1T-Y*WL)tNWyo%4+jD(;VEM<3+}btEu{8ImP+=a z&%w&kIZDFuvs{Q6XEH!8U__C92yz-SXW&rQj8sDUlpqHAKO(Nm(pNkFt*qigPDeYg z@zcY_t2#-l>II)w@}x@Zu_3a9zNH_jMjx}O39#?g0$|A(sa(NfKGU1`gV#(a$v^(Q zC#X}1u5{L)^sSg|n^YECs1}@P?6`7m5p4J06aQI)n3%8&s5kzv4A7J>Uz|q17iXM5 z>U$yyjvSz4a~Dk$-I9T8O5ZHf;m`QKJd!FZnw|JtH#3>OcgwD}l6WJ53-gNUA3pRF zpF_yx$f@OW|D&@?MO!U;n?KvbN>TI!RgX@#d}6=j(|CUcM8i@0IK`KtEknvux>w4F z(8g!05Mff$TSEC-fSb{z{i>Lght8UOpj2{6M`yLPq#?Z#E;<)nJ55KKyXY2rbe>?y zdA|Z>zHV^G_7yRk^qJLO+1u;DW1HX$@25G1QE z>F1`&qpsiZ}|6u8(TRX3L) z*tKFImDyb^>0yn_6i@O|yPGTRWZ+I+yp2U-39?9l7%V%~|6%;HWj0iXb@g7@ftVD> zdd;NIpwxPcG=_)!-_=4xlQBvufhB7hP~?2=Y5z`xm{)LrS6=Ewi6Y|gzMpKy*3)%r z@;!2K#(uilLP;xF91h3o;+=t>F?k_tOC2#=Za7dXMBQdk`M9Vt>uKADWQ@q|1=%W` zT?pC5)*6Bv$%#2>D3Mx(n z{K$BDpBc!VT!ubS<4$XJMB*z28hyr3Jo(VY)}JXVw$t6*%ofQ~Phx(@YH(>b$pwlz zA$?nLi8;b~;?V|^!|WA7>d&F%H0SLPaWz_bO@F8Q8rVkdB-QWZk8S6TpQwASwcVEq zd+BR5o%f7s_ z6=i1u(jW5PobbnYw>xGm->6GcbDV5I;&7+V8?vTmZ||mMa@SmJh+}zgWYL zvytts!ut<~90Fy_>Pt~8|1Ku1)Igf!8k%5U^!H2GbaE1}-QtdG`+7M(T{sU%vL5*r zU@cX@UlS5k0XPv0ExK8Yk#ciFGyn#IIFdWV-g$d$)m?H^qVYkwS^Zz~Xu2U~F2Qf8 zQW4ObDetZ6JEOm+;m;#TbnMc+Q>7LOq38TsHGK!KzO9{2#(LHcAHXeMPXKhZF~03q zB4P-gZzH{3p$e9%NYP9E6&U6|L(d;gEzpfJoFMBVFF)cCu^b?C)Oss{{VMXopKGS* zbhk$Zs(c!3P;&DY!pmsi7L5u!O%O=9J}!k`3lh> zxL~eFrWZdgE^mhM1N@mC5pN*!n=O815`~|N92VEQmmv5bwc~91(ebgtOJKAKGk1EX zajI|z7Wij~osIs%80TI?0 zek2%vG=35~SIt5C=wnB}34|2>9?}(S*S`9_^(346y|iYg4(hJ&7 z-oLyW;9SKK7?7Z+JuX)SueNz%@psR-K_F|P=Kg;WYOar*!G^mf$y6z-}6UOyiR&F%iNERS_< zeDqjb(QuHC2+A$<;v`19R=3WJm7(Ron_|dlQLt0kRRag9T(SC~4UU{cMxT ze>u?PybC+H4G-+<;wC2cbpFaPxu3l=|8%$Aa?HAo6QH7={rT~vuC&&GRCh6~)yBK`MF@PkRxC?{H-kPWUTlSh~vmcds` z!B5}1b3er;8eFcAjja#vIi$Wq)5J!Sx^7?tsKK;(f|F%Pq^+3*d4fossFg-ZO?jPx zhM-gVQ~vlo$q!leKnp79j_Sw9SQcc_x`TLpnn=77$f@FC8GXc^$VshnzxNQP_jDkh zXixq;0qxpqNHw^?YbL6e5MvolBH?q3UXC9c1i>c-dY@TbE$Wbf7t9^vkfAeXp z{%-}%kCVV2uQcTc>Xf>NIL;zns;GBNO;la9L1@{%!Z2GhlDyfe!`e>PX}u8W0$Xcj z`q&!n#OJxrD4AIgwNmE)*VW`W)8JIA>ssz|Ug^R@%VAw!&tytN&d2Z<`m7g$DLxQ@ zgy8(N^6SwEn*a>d33tPq6dd6bf^)R55H&7Qhzl0yiQYVs!BDKqf(vwwPeP{Zav=uD zExY`BEBIrKEyO!yw!Y%Y`&X)h6gwgok-&St!4VFO@?h)k6Mh)Sih8|hUF*!T8E66| zRgX_SQdDm9B)k*)>hoRLA1D#X^pY!vcL91f{~y>OI^{3)cpo#IRdo5m7cr-2``LOL z;5~viv$odLAwUkNNq;Cd_zQNR`khF2Su?gWt&Sja$#npkviH1$1;XnNRpucs;8 zc@ty;`Jb@pHwxjDAGtv=|4u{ZWrS{iOJxPBh@1#w^S8<5M$o)!6V2d)f2>7w!$_>T zCZY^ceT3T#1@|U`b_b+(9VAmhH+I?{6HF?kcd;^2nPjxkQ<;SsDQJyj7MWA4-xm?Q zkG9Vji&%jodb$nD0&-9%&8lm(d*r(NX00mOezccnuRD|rROAL$4OehlE-z%{)~v&l zORdV1M2e^)ta!k*0%>u2AW{s8e<$dRm9XII%m(+bKRlW?@d0sQis%ZzC{iXVS}c#k zpMage_;nWk@VMG+NCdP8VFem*)NafarJSQ8;}N(e+BM_gcAJzdPOlqk9}c#P6un7c zne@-ks*SQswTcIGM^mf8A|c-_v#NanekDg>1?!})b~vm|x-%QH)Wz!Fwq5Trz$>U! z_=H<7sasbL2Gy8sC~|RbnXd4e4JFEwaez{DsQ?DfiU z&6Pk-2kCC-jd)UMB&QuN*WL+#Sv~u&owZQ?bJ8=rMjRPUcmC=qQvy}p-8byTgAM@8 zd8X0DL-LKiXmkDQpURJvo0q5S>Ri*yeNJWPMO$U1rkeLO<938AKl%JR z$(KAscAT<`G{_rU_2VXIm^sNKd+K zOR_Z-Iqmb^&9(p)*1rST>HU0(X#(+?PkhXrb^b{j92(-eq<1s78V;N9-^ z#wC@>wQq>+g0yDiEIU+-E+!|XPf7YAeh(zx`NN}_0?2UO+b_fjSO?Tq$n zaH~>;Cf}!0M}h84k@qE!nYeS7*BkycYQz{>Rg9=D@?k1nKf`Z*D-ga_A!E;YH_qA$ z;W5Y4WyNglhH4ixBhzQFhCQr1@Al2|A@8R95ze3?YDZ2*>H;*ni4}I?&HR6O5=MM$ zx6AUJ-gScJ%GWE#28`8ASI^DrT|PbKfH1%{oKsG=U%E8*(LndXuk%y96xhOFxuhxY ztq02u-vcVtWIQkp1u(;Erw4}Cr+(TQ+^y;Ub71>NEw)gXg-+Kfq(#qF+7bFSo&HVM^bPMWqeiFIoEtjFKnkJqCXW(PbXJei8(~oVvrwMQr%8I_{OKxt&-(tFZ zv9vkCda@Ba)v~qSckrlnW41jsO602!e{n*L-ZOr=;qm2nL0&CD3~MlT(3$PVyk+B~ z;nJy_3__ApGE$+(ho^z{+KYT(QjLM>!S$&}9c;zSq;+3}wUc#PDnI1SZC-3HY;3HY zt+-3d%7mq&*T)v(bl=t0pl=SPoJ3oGEnsOq+MQo`NE=|pK9twoj;cmqU6keMpskm< zs2IAI+Z}Bfi_}rAW>@3#my270Mh%ze!?d>g&t&9vQpw3euUEEw+cLEI$4_~(;0?eX z#D{u>%8eYzzBmZZ`@{`?!42Tf95P4kAMfOr09%nqQu*Yg_O~!!dtB@B!RI}+=Srg4 zaJAFdadW=Sxzx4++9KD$HBPfx7to=&OPFccvieITO7GrTEwWZA!weCRxV6n)3JZR(!hm@6pxeqqi4*hQVyL zA`@t{_O^k=!{LKfy0m52>&?@&L1&m$+DF-tKv|ALHutIeSd{R_+1Z9&qda-03^6Hb zRh{LNem&l`!b=RHT>^{>u2#a%kVK;2q9bBd4Oe+Ndv(fb*MHEr{(+iovOWNzPERne zg6!+)B-e;*rwVBBE(YW4HTMOmiWY-2;DoD{$^8YC=;e4$$7V@>BzffX!F_dl)v;WM zZoV#ffXmg%^=OzohChw%1%2YUIk9Ku*OO;x$*%>bp1Ym0=RH+nJLSlqsxytMB_l`X zs$=VS`p5W^fUNoQpH$DFH{D zE{=0O?a}fwk^MSSY`HRYwLj9be5CU9#lZocdQaJM(Zf$7{yqV=62R)3o>;ZzL zc-Zx}(ii@zb9~D%ttFJ=O*z3_MNBquudaNfEa8D*6c^RL2-WSt>+O-lVHNR&GnB&6 zK{loEbK76yBU`RYQXT~8luq)!Q*{owt(eAHrBX#-j8mh2hW(?ktL60sudnYhxXG>i z7IZ}yN0aA!;+%a}ZLPvcU-9e#p>F7Z$cmD{a&EpzU5@9D<)&{PYTv3@oZ()ZkWYvUyB!ayVRa8fYd0eWvB;1wXoVFmF+yF;6etDc&;n{yd#)2OFl00szJ z#YodGZO~h&C&g-ot=FSlgiv8PO%IbYG16aseK^Px^g*u0jaBkd7b3EBx;$z73>`CDz;DfQvoxSS4g{zSPC3tjC0 z-bfQYEucMPrb}==LzUIpWuEwigaqh*iUkIH(_aoG#e6zY?JgSzPPajdjJ^c8Dlg_V zv_%oCs-D;SAfx>i2Lp$#E<`QMt8nA~ctod~+G9bZ%K-fuB~@Xlyr;rD*vAV70 zzQPUtDn`rK(XvVT!&5txMG#Ao>y7D!s!+wYu!Bq5sjAsVGvv<$s}8d(_m8o>gOQc% zC$Y~YO}1$@N~Q-z??O%d&lXfNR!et|LsUczh_FfaWPtPK)8w)WkH6<@ETjj>{OmOuhCKRs zn7QnN{%mzBdI`8as)Pw=6bY8z)OD^12|QkMcv_WEL%73}G8n8%8tM~JZ&anW=mAl| z;az>}I^kBDukm8tSzZ!%3{8(>(Bi6>ewm1A%6-HrH#(Hm+# zYIw|8s}Mbq*D&7p8w@hSO=YcXK~>N3*dR6VZ)1I2$lH1sGp(X=5t@Au44{fLb#+Sz z`M>>yi04b1DK)A5tfim4VogWc`CW8nqbGLVe<7=-t#z8Pof$P2%##LrA-wo9h%?5L zNm;uE2jX6(OuUWK={-=Aqv-;3yA!OaIsUrmdV@U!F20gl zi*??QT6u5LE%_KNYs`Edx7Cz?nJwKyC*b3{r@KPEIU@Jw{;a9u8h%WMr)BfCkARrPl`rexey zd$v>jXFQqFD5nyw^T}BLF6xSMqndhCZF4H$xrvh@;`%qQANh=qQCUuBfcs8+;2(Rk zsO9ZH3bFz}L|C@Tz19@%$^Ggk*uDH_F-rEwB8R)lnZKkIRW}uQd`#FzQT)xfqYH-rFd)KTuELuH8cg0swb@gq`Kz!Wzmw#jU*EoG0K=HbI99GLQxp3=_rLR1y?9 z+$=M~s_JLD+8?LX3APRnQ{f~dr37&v9BpsUlYw?_!v@G|uxH!|$hLIr!M66x7?5@3 zcF<;c5}{V>9}O!-GDs9wQCqsRbELau9<5g4GZ&$Yfu7KmKlZB-{YiboTQx24Cf@nk^7BNA*RJXMDKRO^edRV~|psb<+rF`_o;pHUoO zFog%?xQzE4VFL9SdYE8g_{*xZEj!%AZT~e?lGj(;fX_v6D(mv!_u*E`?zp;e(eOsX zT@M(A8?u2Ir11O(3CTpgi!Q=tDv>$?gUvCCx8kX$U?nJF48&4-F=(8RLm^NrRFdP{R8Hk{*K z8+oI_+yaF?+<8v8qLTB<1B@t!jz8Lpc>q;8)4ikA3fep~@uOO>P-mc7^bpHeU*OH5{Ae z{fTT`Xl6@*l|X*0`3nzchDMmln80 zN4isPkf@(k8_%^wB6SOF$<=FZ2a*Aie|h<{Ss7~SmU$FOX)dz^=VBz;1I-8!g)B*f zqUoSz6$VP@lE9DPPgGfxM2{6fmhrI@hO*%XFjB6vprt3dz1Ay&O0O+65E~>Q$le#r zA<^Y%v1m~XaPmoQVK^QTpH;{W1@EkiTMfQ+0-WO=FSlp!ABb=9gSnj*QqBwR2^VVszbda~vg zPQSUt=a$8y*`K$;nLE-Z?_*g={piXJ*g;d z+ve3E>%y4_z(bD>-|7@OHWRj=w%8y5oP+vjw}e!lU{6m*8_TiR!+C-kc5j_e`e+`r z{IK|J4|u%VH(xV+*mb);z6K+hTA~hx7^&?38p&|#sHRQ(zMVCn{fF8!+Y#z@3>D{$ zGAMPjTRb)F_*XRPYKC|df4aUWIf~^JCMsQC3|Fb0A{dOAw8ovvvK(2}r!NkdHZMMu z5PR$lpZY-VjpoR=;s0*>vL>`W|DASlAV5=TfUKEpxzzT5Ah0(_%yT@BEfUbg(M6|9 z+95vMI%aCswCcN*$^85Qu{4{QP>A+l`{BrH%c9WWgnIW@gIP9cU!@x7tzY^DOdm~Z?Q|PB4gGFW=bEtRj%b?oq z#V)z}Fsa8`T1Im5YYWCCO{6^i#)Xhku0Ak0+RAl(0b_$PO(#jlmLHol z!0W^;s<|Q<)l=Y6T-k-SC}~sIS*aCBB6=Fm8v8oAdMD!@TQ60509&l?;qgY%QNvi) zUIX!6w4%wY#tJeW5t>EG;c=8u;_uo$#EYj=Kzr`2fA$I>VR7VEwV$ytpWwnS5>vXy z);%OK>WnwmSW%~sw`iQMe2Oe}0#Z(#$>V$vX=9hS_NT{-$JZyIkAqo^tEMz}`vwtx zdA@;SIg?stiM*MgY>yT$05u}_wrw$2+(1;7qIgQ;1>Jj|o4|Tn zSB`+M>}TFz)t%Q#}Y6FkWz}TRG`74hba^+Cpm0@pg{%=#uIm z#+AfUW41&!$7m`g1Q+Z(^$el)ba(#Zw6^AcLTNV$!K3XkTiU)ZwXDqwBBKG?9v7h< zPLLvO5O*QGo92{@y4fc3hhJD=Scu1~`iJ3abIkV!C2uk`Pj96U+kP&lPD|jFYckNu zbCzXJ98G#!350pk*iMIx)g8jyovCv;c;@R7E}_o>MvpyzO0yiCk(~*zk-R^(ytQ1T zJ0smXeJ4wlDP`{lLs+mZb6=MYqu^irw7N2+{pvlV`^@XMO8{9eC}0mi*=HjyBb5=d zcPP+%cu9Nb+-JJ8#1;*I}vo1<%SdKfN7g!0|mrjZ=nUBD+}ndU+%iD zQ#mNOx%sseA%F7wyc)eT4#X$|i*cBDZdoNQi#GHY!hDpGZcoebx$yk8i%p@At$$s~ z1bvYq`o{-peM`=%qcuP&%f332PhC4F$5X=~40Ta_eYBG;Ya)BO@3^{IR+gY-@=*lh z!Iuh-wQ0e5yX2rt=A3JB@dEy5eXp2OWm&&szPIndYi^iz%v$z~M(}AggPWFM8U=CY z8?>|LzFDtk{1T4~J(Zt*|QF}E%Cu=}m zZ`1dk{)fcb4pc+MJLKn>*BTiydgNVe4q|dy#tSW#^%Z!t@`u|Kb~ZquwPP~$sMYpSk9leQ&9_fzys_>T(I#%0D4Ikd}E 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

    PG3ow=At9%^9HfUT~Y8tS9d5cW>Rg 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

  1. Wd}tC;Kf<~J;}Q6M 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 IWPPpuyo^-nMPvIRwmg-jqz-}R2Y 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%0DA~=xmoXzVr|& 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%0DcYxdGV7i5nGeUa&9v_Zi#+ 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
    3Cr&-t&Tv>1;+5CBYsWaFj&$pp*!G1lyWQFDE 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
    Jyna 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
  2. @#+P!&SUwZ_w-qeDI0Y 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 z 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

    #~+mEA+u%r@s46MpZXA$~5W?)Gf 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
    ^zP zw9SnA0neXkW^GBS*jo}ZaE@wM6J0=Xq`J{Z!$e8r2<{<~#N*4Bp%pU%3^Nlg(!I|R zvtr=YGl&XjU(g{F-ad(@S(WA9kr-eqsp0Voc&)Ae}L}(mB=W;$S$Ily@d2Ve^N=h8}GxYTx7!7nol> zT$5dH;bZv&#VQBJP8rS4j;1M}0I1gyMGT!8mv<2z^HH{2w0F}@*+9!6f5{In69_w({UDhn*S#f%MX2>o)- z@ZMSd4XBIXVBhnZ%LEojdL&rD>DS-OOKmP*xu@h8rIRLYmM62Mdgqf;juA3FEEW1^@{9V8-y zdZDB5Oi+#`d}nbYEO*-PH+-qML_kPR@!rk}=Q-L4h3Fik9W#X|zC0l+-!>>+7Ye~+ zVPH~1Cmj^n5hDs`+9pg#!(_&$;Ahq(<-&1)+i$e=XfJ6UimL6o!?EGaSrv-iD+UkG zulY1BzCb;M8}$}Xh5m(XMwX3r7$|H}iz|F>AQf3kdDlvwYjC-0S;4=3(M zeBv+73}~`Y!26`|Et*~DXL-pxpf((&{AX~gwIoOeH=>t#E)+~of~_-{@mB35XmuOh z#6cDHTzOJ$=7(>KDw+QgR#?L8JT?VBa=Zuj@8t&lj&|h?%Hh6I56SuOWuoU5!R~&| zGOxd{Xl^H~{F=$H!K(l5YL`Zup*isdE_TqLZ5bs$p^L-wxV(Cw`IS~iz^Eh8C)fiV z!Jb@TJj<#fIJ9=!g9X+zHEUm4r2?Qs^rLCK=512qfD9<$9LY64eCa5dJ%+Jks81hV zRBb>8IGq8Wn2D*Gld0f#YOD<;zrn0yT~7~ zY2qop+*|NS@&+OY{$6d11?gl=20jv*B>t0!K3L0P3Bw-*sR7Ey<%mILlB;K6z#2xd zc7Yr3nCY9Ez5A^Z03kq3VFfMzxXj1VyM79gp`S*PUM`4y;J^A|Wqp#Cfz^113SAYId;0&5>k{j_j||fd+1%0+Rm5T zEi$iP5MD~an?>xt#%s}03#i;-<*&Qn-^1*ZM@oZ}(5IfI>_A_?7N^dQe|>u~`G;!B z%)B+=bXe#7+&skdYV#NWrSGcL&Zc=sHrMuf$ldYN_NL|dHN1hBM}RqvBjBxIsNtZ0*ngy{01SZygi(dfHHFmYsDV9pHI&&?h){D%x?IKD7Vz_;eN0;V*oQ z7u9hi8p1DeL~}%tQdimTuk_j53XPX5*3nb=X<6ppp=LN?Vuq4>g)7yKr+7Yj%e&pZ znHDdp2Cn_Bc)UG`Uo)U8p(^G~4~_XV79cWM`m#)qbA1aLTO9k*^1Jl8?)o3d{mDVs zz}Gr&E@A<~wqSuKiKmUS-=$h$-*^1A|32H$=;7?>mg4x=xwO(gm`c+JSdkKk9-BKu z4X%_qtI7e#PuZ8EO{3HXIZ*kY31L=N6^CrCnx2P;E;*BZsXefga@2AcNX+LpXXpH! zY$w*gqz-4}9mW#H`w9^)I+-t@gYfjaGU&gQsD_+h`WmMCYfhDlD(}$x{}GBd?m!i z$9^HcZlRGTyaKj5!OXs-;@K|0nM0P$B6UsWz@_ZXbSD41(alVm*5<5oQit~Myx-w7 zq2LNZ$}6RaSx51sxELX0^Htrn_f(pL9(WG`$S@@L zF@Ib~Zfx{>P$8?~SR=?8)GXS=C{5m#)^_O-W6Equo{&hbbAYsEdvrv?%h64w&A?m1 z(WzLD4`)${WdCI|Gg>(s<2RzWz^{!r!9&!^q%5iwiVk}EW4q1%=Nq%5A62wAOXw~YEJZ|P1JfhW zQc%Uw2FiVEV2b?47;nLeHj3I5oboJ*$mh~xQWE6P3w1vAAOrO(RmTcfk7-^9^NAfO zK|J`5{8j$_Sxiu}k4rh8n)DTpY4Mgo`|N_B8n{ZPQ$MR5?xj3K>Yvg4`)ui4x`^4` z*%T{R_C0=-&(qg_a+k;cJ!6Xd42QgH^Qve#Mhv>L)k0|BkVB^tEgq@A-Xd&Z z(MwoW;l$c&n);H)g-)_|NY?p$)nZ7TeyD@M!qPZ7+E<^-r9R$;hB|am+!`;TZpflf znqyP*PfY#lvLUnknAECrS6HawS~T=~%?!y)GJ!pxM25PwNl8?f%qGTqvjXd^W27b( zR<9VALeyF(iq+d+P8yq1ztOGa`3F$QK}SG0g;ORTM=5Cjc>L4QWs0t5wwV7SDP@=w$(stag?hU)=YQ3jM-2-fp5_~ z?eo#Mb+83Ce+_><<4Hh&)Do$d6njK50d z-MKInZU(lz+@WTCuWIPDkWE2-boGsa@wVM98w1q-(!Z-7IwYZtZ}hDGxNb}zuix;x zePOk2`=jhGwIL#b0gfH%!W{x5^Q|_{`Y9{F6Kb#aZkgsRUQ^yPbTDunrfq*cFevG| zos%;MX_@h4loa|}C*g6tmPEH#dhA`fQu;$4-Tl~)?4yE01&wR@I{BMkeH(=93s=B6 zclcp3N6u5Wm%Jl+H`py?Ws=|ki)Q<-?Fv%+K6ZxQYHX1%I?P2-qdbE7Ame5n<%7&p z?{#5Y2v@sk>Af4;pA*RQvnRXb@pfjF>WkMWW`^DdFi~@>5$NBtvhvcjeN5n?F9Ch1 zD}6m3DYN6hO&u=Cj4cvsR{Dx_{zFj1viGXO=GgxlyljOj{o<*DHySfDV`E}sqBBe$ zhOUE-=cC+U%;>>i(eIT9qz5lU1@7Bts6m}(-$!fn9iC23LQ#((<7fwGVLl{iOXnI{ zfD^;l$u4jEX>wjFvk+#1-H(BJ#b zif>^d{yA1^_Xkm_{8+L7d;}acNKt+~c$Mo-3mG{T3cV}+Rc$wO^li?FhWB&XXpCq3 ze5d25VKFiQ4$19Y_krBa2AL3+LR$OEL_t1Uq>rOL&gzSo71WXBDC&vf z@YCJQ&I)Jppnak48~YDV^@}2Wc2Ir>j2#oF_j-Eo=Z!d+9gm-3;#q|oc2^(NL*6n_ z>b*!zkvB@!HsUCJ&fnj-DT_G)3M(naYM7Ab`Ac4`ZxZ{{1=jiJ7bm@iyt~@JROa$J zhW^N+wm1ufzan=*9|lSie>vS7r*BSp{GYEur0rf73Yg(u3-vOf0*@3{Nk__9!GWp- zhM)Qx3|wF2Uun#Iw+sRLmos~ppt>#9k@|*~&DpIj+qA0yc%FR{GwpSA$ZctEb{5TX z-u>B`&jcMn<_2D|Be6(N2I|vT^M}dlVy*uC;0{Uln(ec*7((>@upPXB<#qc|>Zs}e zs4wwMVs`a5eI7|+v-Gp~dUf*VtefjWnj{^ZA@2Z(d+;9!!0&@Y> z$~e1X{y6GEd;a=xg6zR{ej{GwJG0@xy;*RZ5l_S9Sm@q0R<_xy$I_*3`5<*J^`(3o z4)$GkvNBupf~*97vc4gSO0|rt-Vu*v1vVfO$sNBC5w~hP|@Zf54FyB&49X#_qi(_Co28lmE_^ zTVPGvN)Df(uy}9N;$Z{~R+^dFAit)ZD@_-NmDM%0_Zxl(vnRt07RAGAldGI(d#;jH z;D8wl^-^>cqR_DGVP7{#;KHa;pRiXVWS2I0fqEBH6ai4FtnMh)glU||!dSg2Rl0W1pMeCGb!)02Y zrc*uSH$&3rQ=`!;RaBR0f({XyK zoH*D23=Or}n76cO|02LrbY_?t_G?g}Ki$Px{f%kLq|XSU)VTJdvq;O9BaSTmG}I%J z`HPG3^y$IXtv;d%_*2VtC&?Kp8mGJzc8$YUDK5yZlqduuQ-ubTxDE+0EgO2odCvr5 zd>;T3eRD}^k*k~b_dfTM^_gGCkp#prs&wr3VjQEQ2p(kVPw$G zIl}IG2329@E`8XI(T&izCvoh-6O3s*q~D2V|Mbp=MNAOeh;z#5?a(KM5l1|J25yeu zzh(8PLFp4lDEU{DtBphO(`F^tuoVO_yD_7=Q?BP_W1P(kZZYIG+27@`;UKk7~k zuN-KTTjz%9DOZC3v3|x&j9~4eNYH;JtjlSNLIh&^2r{9!!{RWo4vj3wb+xKxol+8% zm4m*(+U#vY+=W}|ZI@g9B;s)oL$?=VTKmk*z-C=LA8vzAii@)Z$m1qQksI9{t_uJrB8^b&m!Xx2i-{N8hCwqH~%7~|(s zsy>G?( z!&j8{vggMO79@{K<00-yduw|cLf~R)&+i>+Q%Nb1p>H!@b@hRb2Cy^*ULC-t#^LO9 zF(4E?VO6Fdhd1?G{o1KJEM#RcM2cd%%_p5A2XE6^W#xh7q0LF8p{aofwJ5lU+*3{~ zCyPUGz(Zc4#s1-9FM0emBpB=u_H9^`4}3)0O%cOJRfXeRka$h}Cug&L0EIopu@-gU z6dUv>eZ10CIg;k-=*YFkOtM}NQ1fp8+~Fbh)tgjjd$IZgtVd$w50S1M4iL(@h>B=I zZftKao|-QI;u>wNRqoO5fE`|8b^Wjd1+GeF(0GlIL4z(X25T_hyxzU!sdP(EP&6b^ zh68ufjY~lPbv1$vImtkwUYi80)i`N3>AKMJ5Yie0>AH#xAoF5E)rOVCEeI5`YSD9-I z*hbocK@@U-vtR*~DP58d+L2cyQW_ywHM!%*`tt^&IXjPtkOv_2RV=gTgEgY)83b-v z;VSIoqT29-ctJ#I30#yLE0_v<(htCQmgL)t{ImqN(+dH0Q^QgcAlk#w!%}BSdSw}+ur7khsj4iaxkQ4 zqM8CeJhOkQzK~0;uXGwN<7Yw7u*DlsMQ$q}kupOgyJy>T z;MN6;`gYSzMOEy-9{IJN&TOMorYU?CEz);B09N7lY$3V$C#=aY2pj|!%#8m;sPVo% z=q@~L&qpH1h1V_BfXt1x=5Yb3VrbyD+DbI2Tj;uK_IF1#_i2)?CjSeHiN<%h06blwt8I&onJ zm8(gU@ttxFf|U3orOSN{^Tql3@b!~EfKl)@1WBc^exu(2e;)7}i!`9^2h5O5)Fz*j z@4RnHC=zO;;p(4y_;zfR?qQ#;5UKMy$)$4IxyDP|pse&gi;q9s+Kpdkk_-Q^(0Uzo zwvhYa93VpLEg3&b%~MkQ&-55o5--5gDrFTBAAr_UG~3tu_Z6&4?XBFqg_-VDf9;U# z4ap7!XrEd2EN^f>>m7j|)4Ug3zDkG`$G70qTRlVTdT-J5<*m#Svwx>9yk<&3y2JbG zwCNAmTxYCX$HR7}+iH9JhZScr6s)&N-gS$cdWj;xsfH)5Ezplj7^%>7urzS&{w1LJaC`MJU9k)4{hrLwOmed`qeK@g z`KMJ&s%<@~o_?X?mbX;piw{%#KHZPMiub!~kmut$*;3LWK|$aa)q4NbGl4Ad&_@gP znh|MR971G(fs!FRHEbhul-L{Y8|b#Aq4B<@o_}M@JV?(~rxFpH^ZrguqU%OM2 zC2bn8Tr1tPxH;Gv&+fF0X18|xcl^1X4PAKaTq~Dg{Hto3lT8NFC#dC5OLnnV&TDD$ z2C4w0sQG58Js%Ba)bW0qjz)9LdEUt#O)O5GCb+PFKybDCyv5#2aD3l0P4U;Lx6td? z(wGCU2&?nh^G#lYQ&|*q+-)gm8<)ox7OZ5ezVpIOp_CH!@CAG#eSaQtw_(Q#0Q6&T zSiK5>GL-A#92$D2Fa0wP8RySTU^Y|DE!l3QP9xxwBGRR5E@izqj**HTQI8xRU)mb~ z-|$il-Tlp*nP>90I2?zs#?#JU+V_0J!A=^rZD0A(*AGNVYaEEnc`H|y48wIqeK%Qz1seR@}1w7(7t2zf7m+fuqOXMUXMm;LAtxUL%LKz(9s}B zcaM?|k#3}s)KN-ze#uEoj)BrJ#-tn0bIyO~x_rv?!Fn;AD4dXLk>=Lt}?>Zb$jze4O>}na=r`ESo zM^D%=)kJYWV+)T-Q=xya!wX^P$>;q)U9Gh-MK!9S$&&i|6a}x=2|ljR(PxURcD)+> zdFv}>l}lyS*J78>Y5o$ZmhKR-dRTrY5`JtI^R%h9eoivUPBEh{8C9QCBcE80l2Q*( zx45x;yXLb9RgX8<%GMt=T(}xh>7?0PH95c2e+Nk6j#dO|#~UNX7y~e;A6r0>X8lCzF@uHrlYaygy{dheUC5(*6pNbrv$LZ1hGn;)zU z4KHK(h-)UmQ%d=BrO{APT1dJ?F%i`aA(jI@o2s+2Iu?boK(*(Lv~X3ET2pFTgdm!Uzy0zL1`CEJBz5#dT%wrn?fYk- z7W=EE4_N`<$!glGoFpS7gIN>+q)^Pc^2@8BTZ84yOx zgXu47tmxQq{LjR|u6l1GMkpzksx67`wq*p=%^Ua3ioRJJV4M+>5$)ag@Y{y}0$~g= z+FRH1u}k5-5>x3K5jNFSiZmn!!SB5jKO6o$WS$yck^R_9rwXGEQT+3V_%q4y$Y3vP z=|a{?MAwbnI6f0~eoKcTx;$lRO&!fh^U>qo^n=s-B_1JJ+6yfT2J!2)#nxL(Cq>zl zwZh*izg~HU9bInLF>vizR^5GikLLS_$QfI?{wv%^Lb!1GA0~VZGXjKxvq^Xvm5bUn z`=F#0+gz(L9S`ZM_RN2D5{j=hJWukPY@7al!N+3y4=2rM?d98My)l^lEJlOk!Y+{Siy4dE zTc2ziXuXo|67!1Y+I)9^z8;ccSmUnNrTuUq^k}fXU;MbwL~_$JJMSvl-QKB>JD`gv z5PGraDo!*xsTZk>-q<+0IjMVHUAIma>l!_Qh!nAO8lrcQX5r zgh8GKtom`#aF5TD2K4N;F8%gA-!BDT*3>c!4^6!5zzJ?@##c_izJoIva{OQ zH|}3K4&cOEI4qI4ji|Vt@QH!6};AH zT$Vlz8u+06r>*W!L6)8Be|7bBi3?@Nj>7b3c-^L8?Yt+$I8~M3!$-MACA@5t*%UON zVwW|eWs)~Z|9byiR`>dY(>-bB1?U8BW~q1DB)L}WHXFWy%PRgD;IE%%8OCQSHzG z4_p`I!26}&B$3qOrv*wp45(6mzVU|dE?IWD6ow}APwk$vZgj5)UTpBadwixb`zltvVg>`BqJAN*TV4HaFhg~>mE zO&F^x*v@H_2!+Or0QYewX)dg_&z;^n$T;)z4&kdKYL49L7a3l2-COrc>R4_iionyq zG6}1KbLCp*zKvh-j|F6v{}z8IWu>*EYht8Li51zzU{$k@rY&m*Tz(ER?}uk}7bP&u z!P@C`W}+k6MXyH7Gg~$ zt~!xQkct`ehcLX)ai~pLEq=5`epp(>(q%{>-)j;_YDLLH3m25Ag+&u>s1lwkO@nD$ zV5S!9lU(pse_FhRh#6~`!kdE96C=)%8dI2A%XFusy!|Ie|v)24J* zEwI(_R|!%Q9+_{(XPIe6C=nb{i6TnQnNAeXcx(Us3v9I@6Bfj07foi?{yOBQDJw|@ zs!X(j!en)j{H@cDWzJ)n94!Cj?yWVYYcQ}`+^V?A=YKOO{!w}7M@-0(k-xnVo_ykF zSQQt`PGR*DZc_POC5uYN+tVCq8kD=SIOI=sj2gTe?V-vvsY_Jes@raB+3qYtj(1kW zY&$=<(p5aC>e63H<%w4j9!oU>TP!B6KfzS|=W3Q?@7K&fdpI`NIQ(taO2?Q7yssf` zOp)edrpKgkVe#Ing8kv*^1WlNV(`Ov10tF?S-Kmx!UvDXOpj20*hJ7RtoU)GQBRS9 z_$J}H5c+D$4@Z;PK4H31b;LW0`HPN24wXl#W5zZ>kiH%g3X^@m>MmJ5W@`?9&dl?c z%gbQ?y8dD7bndil+q=`$V^dnEabp76Dee+oGB@{@eHU5({=fZ7Zl95pat0H1?<=~q4r~}m!Syn?BVs}j_l@QV`Fh4oP(FwH z2pXp)i)#kbSjfO6R|iM=-bRI{SHk?n^AbM|GDcpM+i5cr-Z+`u?XSW zxsB2>nTP9a-G)v-p*Q37y4yR>h%bRN**Y<*r=exk?8)6Cg?-KOQUQ*r!s6{-nS3+C9DAUpA?t`jxCvzh&M%Ft%(`CcBw0_hoUY=#Vjj^jx!Q_5WWbxormwoc+~?wI^`eVE2AMw(G-3Q_ z48MCXG1+>x=XnhLkdn)rv>y~td74G!fW;X{J>ijK_f~9*Zc>*?@!nCs2-Wf=5;)C~ z7Fg)zP-_cHW}t9tG4Z%-v`$FSd~t&BUMlR-Y|&pYIR&e?(YPjK$N8j8Up*jzlP598k1afipgW~P{ls#8tKKyzDzFmAb zR$Qb|d|s)%gob~G7hbGRx3~A~K~|H2(EK)_nK=zwQuyxg?B6O&Lz3fv3aIG>1X>pv zmSz!d8E`nbzz*pAR84HSi|r?W?aTM5XE;hq8L_mgnyGV6-&G95X6*e8X_wS(CBKjj zEO1*m9cJfp&;+6)Lx}9f8pS=LDZGXR2uaZk#lVZhkFqq^JyZe8Sv;a$EV)!VpzOMn zvc}`X8GS>j^h-bU5=oQ7tandS7NG@a_tuMx>d)&-Me7;E?tFz0hfKUfg1MA&*@3qV zt<*%=^vd0jdTgf$EjW5%_ z*gP3&w&QBLExfijlNcvL{XPB?Jn2ri3oEPuG?l|%vx*9giVUALA<{o0%mNKOa!j%o z5z}-D=Lww9lR3Tax^9yRf2jnADaEHuB-ee&i{KU)A657YeKZOYDyv-7NydX%rp?aKCq$syn+7Nk}hpU=Jf?1?lb5iLLz&yf~VsAt2(+;0V3zY6TPNU6|e`T#~ z!;tN~E|WMml+Q9|MU`~s-sucsx0;W%FgOuR`3XybSJbo>iajvYxCoIQgdhE-bA9Do zP0*1lR35u9kN4l%dqa+cjuC)}`F^=g^3C^HU@B4}9(TpS`dpfM&XPvNl;GVS` zgYJy3)cL1vBecf99_p3!JXT?fh<=hK6J=*coKCVyj4Lrqb10N_shEdM4D$Q~JB{A7htt7j&#CMZzLf9ezj#64->xz3NJ<8`;ITvDYcH*MlCuOPyL3vjv=@!=Ymff2 z++_4c;P$) zh}lmOtvyl148QQ|K?lcKiF4O3%aQ-Q+_;4blURmbkzUo`BE2q-1mET``Ks7lY~j;~SKe-4M!jgv+5bS8#&FhmQREdIuEMAKpDWxw zEBJzMCd$(E7SEIplxe_PvVhyyRknJxcpuy3+$4gQf^{~M87zS3gCd%r%HEQP2@5h_ zOa-$I;Du0s-urhWNB?6U-QG%}re-6)(OpR>g{yd3PE%n zJsE&+Us8D+?D80ScWq7;@i&{0?kc<>b^k(7$`kBwC zV@$jibkF)~Ypv7I62rGo(?+R9QToxO;fHG;X&D{WIi9G{vf z!oyBg(7o7vF}O;~Vq@?Uc+LE{I0IAsl7o)#yzD>R@_mwP)hJT|1=&Bb*d{}rw@6A+ z7YU?J@EdU@5Oa*v`Z8$u98X1|WQr=h%U_o0T|e$Z_k1-06GSy8i{eSm*Tm{tMP>l;1Xf zqQWfP$IlmbdAq*OPZj${OYtRn^7Q^ya#9^EHfjx?AhnpY82Qz$KdAkqUkI3Qjsy>E znPoRbV;WgZufxytNcNR&l3skR3jjpOUZ7q4nbtc%ek6gFX0Wc)=Nl8D{=yX zVsJ3`G_)OqbYfy5bkSp*T*=$6lKMqP0xoV|?wK7u1$3eaOAld2vlhAclTVs#66PBB zJ(ryFHjXY<2rw5({E-1v6&f@!Z_Q2R*2S!Wj`p6;&O)hX%+i?vamLHw?jqLB_Bv6W zwEx?`{`+H!H27XQdtpYfj?Yf}lNjH>d-v8(%ld{I1E42_Dhe3!nw->q5%`eHQ7au! z4OrmniNuo*d}U3Fj!JdrDK^Kfgc&f)PDdP4ish~88{}K~Eq8`KhDy=sP3r1)B7|WE z>!-L;{qBv+HB#Zfn7PH1(b6roSt=lSL+;i~zOtkt9O~MnW7$H@-Q6ON4DObYFku?) zMMlC;=Hn=LE*vyOmQYzD9#qC|AD8%Mo5N8+IwSeHZ)Y-Ewg^Y5U`%(3O|-=(u!zd7 z^|Uk4A`@Cyo@z;I{MDmf(95-n7gmaZqJu2o&a3B%*c#w3wm^{hL||~1#%E}j-B@W2 zwaqZKXn8(#)VtPs>O6BH{U}_c*l+TG{;rRSoyHO!t2Fq)8G&CQ zR@=NAI5)<=q7JqMsZ;@wdrgx9Njsb*(U%yd6p^p$vMMWEsGrs<&D+w>5@C9hj$(so zDF*+>iH(;UI}VyIb7BuJ|7ELjLRb^p^tEx?8a%Tx*8aky&=To1KK=$a`)yTdlXreFMPSgBNr+)%zx?|3!d)jWuE0k*4;zC` zi6xa9fYZ(Vj?erHN*Cj4Z_;O0bQ_JW9l@QbC7V zmajoKH``R;WgR!q;o|(Y3EOs*TG<6WNTZ4Q`E}`^*G(HaOS+PYSj=Q%E6n(lZetZ3 z4Eel;Q{yxq)_ zclK@yhe4i}zhkzaVkL0|ju6SioS@^7!>&51PDgqAqQb(YDlwK?fIDrEW3yAGc)Oat zhC&Ub8|Dqewl_|v6t~k!K85hufqDDygbz(x_~X0O*^6Ju@xfdhEfhk};=)_<5kbx1 zmjJKo1X-yM*ZEH-_+rKc3_iVH@wtb?JFBZ*;7@@oY2!#rG95VV_8hK}L0a-%fN^$7POcm(x=;r2h>IEGM?yw`KufqD}q3}PALBNL?m`(1zNaT#;^=_e=R_6vl z2Go3Su%N-c7wWyC{fs;K6}fCKJOU|0Eu0<-^p22VVG_AKI|Ux;phHka0-(`-s_t| z{q>ew_ObWfp}FjE6r`F~`o)W9l%(_Oxfr7TL+*5%`EC?L8OKXM5e?k=(8KeAzgB&3 z*qtP4rzVT!F_LkcoM!8LuVp8yHyg>Pnos#BPZ_B8jFrLp>tXi-%)pQtK#im9GwK$Q zXv+{WfP5ZR#}wUrJ+atnAx=;7;^E39jbr7DNAH87MCBp_=9_f)GFP+xjguRlbdACO zKZjRcHOK_GnQgMowcqkyhsmmiTUlqr_(qkqC@RgGoB^og8v!h78hCw5&)5Bt4$^~riElE`z^#QX@8f=upY zp1~vhalQ9;Z!-mOD?FTS*;@I&bvT~~@*f{-!JGJZ`%|F@z##bNn)@b#Gv0ss03yaP z_2BV1^>}@jk)cv;nzkiM*flc6n8Z2Q+1UwoJ?VNm$1C_uz?&kI{W@RD$geiL8f>wx z*?8%&z4j(0E-rc@Fo)e&P*{{w)mV+BgF&(+dmj&wZUxbZH!d$X>BVKTwRRG& zVfnH=<$U9;Qg)4&LWGi*TvrGAttL9Nr?S@dyO3QeskyRatDvn*u4lC#4>t*pt&Op3 zbHzYX?9@SbPaVFuvr+kL+}UXLW613e@)gl)^ZoWVhpNxXq5d?Qw^USsx%Qw#`gXq^ zfP$|Qn_FWzkb0CQ6z>OA!XspEA&pAX{L?ttd?opas`Vrs#0SWeh`d)mEZ zi{R*AlT(!$pRGpw3JQwOhS|ua8+K(evY`M6u#!JhP3C}Tc+h&}q9As^R5=!6g_n`4 zZE3&FY9jZxH%wGkMy?j-eT>Ne@Z6%Ods^~#U-2;mIErH1$c5_dg!Ry@+Oo!sxsl=! z^AC0>wC?FaSvA@I++XJWXrWZdZCT6s)br$r{rssGm%4hZ$0S(a(ZvF(-%8ruWVv zjD_j46-vrJHN|wEtl9GC+#=|79^UoM?oUIqy5GbOkKM#Fm!91H!%k4=^3kF8pNm1< z&sdx7>7$GxcfJ>UiBF2C)D0;*3|}jEAaK(saHA4DEO(q1_Wft&)p<7fKW{E^vqp+f zmD#o;)RQ*@i_ig-c#Hy)qZ}d_ab?z1rwrniT5laG_~sAbtux#5uig$X9gocb;Z3%` zf=R8=(XShIg`8>QFkMm#zlw3$y!wIA$J5@c4B*=S`=p@!HE!dPUg&*7W3fD4!RrJK z^}t!0m=Qf)fm*QXmppe5cS`s+(A4$(y`AnOI2vvk|CJduOwHxXkgpy3<3d&WqgYDI zsemf=>)RH$d{a6%LLQ~90x?eNQj8CYkIWdCg6AqAlQaoGhMUk@S{;oH+_E{pUujQX zN$O;=|7=5!t^pi+5Vf~$siuh zkC5!=)_PVL;k?L>I(qo52AlVXPZIYpY)Im`%hiX4BhS6t;p&C%RMKL$|E59o(pYuz zvE(_wRIn$hy@}D1tONIC>#%)tkx2gd2L9b_?0zzqv1bM=UMRd1i#HT9yOCb8;VpLU zMO^eOLX{R`8g($;y zo9ia|h9asC4fqe8bvnqz#43%l=NF77HP_NN@=Hi*!V{?#PtdR1#SAwbcAUFtQW*F8 z_s`{PbZ`XnlcuY`uR>cJiE~4a&?f#bQc@aQUtvmB)nKV=2!RnnjWAGQYVZxG`OL&$ zH4&-e4Md4ezG*7dq?@4L>@!;_KbK$^wMu2%HD?xugbyA?dDZ1rDoiL~en^zu2?_2& zV;Q5nlSyt#6zDZCsVR>*`qxHI98<&)aAt2o>Yl}^^%-3fLxce2RDq-)eTf~(gj3|` zfgUwgLq#0ThZ?W-9<%(oW+PnamR*V%TK0c(b^LP<)0o8J%cI)e8;jeoKD$h~KaRqJ zJt{6!S#FiTDiT{EUfGi6Dv+P8`8l9@L5Fx1-F#m4^eyPm!GZr&71v!zp9!;q41!@w z!=y4SeGh(HKy&7@f(;9EE|2WM@V9fXQR*nEJm?2V$))x@G{+`CHkj#Ac61bFabS$J zz*nL-9bwUkO$DqBc>Xi0bskKvBw91~O`uN?%js`|Bgel$mRjnmZ5VZ7wX&3}Q$u*@ zcaU)9<=dx`8m;yiZoyta3#^rmkY*EDRQ>d~$7ogh%d@B0K$&gMT@eRN*5wR{bM^{v zEN+)fJtyBxD|bU{`N+WP-@y~oR4UA+q?Eh#qudq5M9Q^LO&8(tKI%=p-B2T+dF?h;|$O;vM?$#fx!_MD7E^_K*#*#Xi?XkJ#A*5i$cyBSrVlT(im);OAoMCe}Cjs z1D0*FT|2(j^5Nb$#lmx4z2W=NH%8!e`yQlTu)@@(RHtq0XZEG^V?erWN`%K|v$Q=w zf%rIt?O56|GupldgtJ(us1mX`3OmG|41_6?+}r*e(-xv$a(CpLKK1KLc$TEX0&K-X zV5xT6U!A@AU#+aRU}K&QxWA>0O!$F*HL{|vZUPGDPWSd|U2~t~o^-aO-t9quvUY?+ zEV7_bS0@4|8mtvZr?1G*{mi7#Xz&)Bqmtjx+kqwR4BP6&7%ml328sw;^{62ta*L){6h6lPciuJY|ItVB=!+oDC)rEYtzerxaF`Q zFYyXs+uol+MQB!4p4=wmDyrmI3(Ud_GG^*Bez=C!q7;mqx1(E|qUu@LnA9c z`+JpvJ%r;k%*ly9g}4E!oq3(yEPVRZucXZEPdTwS3qApD5GGGSOvN7+A^tv#;!kD# z%{}C)t80L2oKA%&W>;$wqvAX8sBjL*isU6?!LV8VyZS*%qs;ml{;Bwa-w+WQZIo52 zIIo(DC@Lvida=L@&N-Z$S{T|p?o%UC?NWk^9G@i;8y2Q(w*r+=h&_!+eWF_M8S>qs zkGqU-nkbU93_}7F^XZm>7;!-asn&nKSf&v(zeuIDR>CzvxVSW;WfYDlZM(}a9C6~Q zpF~hY7#5 zlFc!V<88qWP%E9mC#L(G-QBDost=JYtXO*1H3T>6elu%izm+g8;X%jJP-hoU;(tHp7_bY6CN_?O^mk$m zVrC_1)45&$##%47L_wk5eW53Zxwc343>H1@+zCzVB>ed!>PP3nEpseQM}}Ue<;v^c zA%;X0gcFzU|y_r}=>q^|r_BZDM;tWFtFb2eLysL!NERO)-I zTOLBv429{F-}e9t_Yl4qx{>eBv@BaQhqls(sFrGAIrr!wNQ6;`QQ<{5*J_rjmP|f5b>tAgUi8r=ZFCnMqBkkYNVfB z#I9@0j59ed7{sL~)Dut}68Ree5 zo`+Y@dz*lVd?hJWIJH~g_6BXXf4GXnZe~UtxVEQax*K;#?r+~s zSc&JocIX2>NB;cH%%)}w$NP_$C4wH}hL_POB5xw$7G+ofK9!%rzZjdWarYXdlH+j`Rk+C`{4;Tz4DDW!D|) zi0{iY`}>E7T5bG%AHca||Mn3>qRZ}nx%KEBVydFUuAu7+Ahd5$zhGinQ?_@l7Ya}S zOovQt{#>1Xgvjp`W5OG|`;eEoLvloBEJWun}J z0G?cWxPz+Y)tZ+*^n*dSUKbbYM(bo~mQ6j}omxH9&?YqZ-q}*0&}Suwi(gNmd!g|w z=fU}IhQEJvzf1a=+W5Nn4(YKgBv|`W@AjVgUx-=2>TKX!_cL|h4&%KUs;2wRkBViX~$Mr=qBT=$$cP|s^7OTJ2_#iSV zsKELWnY((7J}ET6-|>wf96+8UYBMEU$e%U^l-4~QRI?{3UiaP|EDOEhoBK%a_Tpjg zeZk|H!*?PR6X-8BZ3Aoa6+y(%*hdtJT%&`-T3f#Q*aZqI2$rTddY-?IDyQ?DvQVEv zAzEJZWf)nRt(BRuB>icaB*=Ct)?RPX0ZW+Z+w#cXjp@ChEl6CgGXq9R|C!P`!3(^w zlf#EgNGI*PlUmcDnYj3P419kqxiP?8zPHu^w>QqGJA&Qj=JywLqC0m+in$>VX~#>; zja>aDy@DU`Yv+pPX^M1s%OL(Rlz0BFx+U23WWUkJe|A2d-w3#o7}-H&h+Jt=5_78B zjWUZ6?c3+uUwg_vi~4t5{4wZkpL}PwFL%8#|Rj(`Ry!k`mT1!RpwU z?MLx56@P_w^N^4U!p2TXZw-y~Si{`g7XlZdmQH9PxA5q#Y&RN>aNCPt~93 ztcSf_C)M*wnOSSIBxA)UNu`A~=s|I0rGH~ZKKv`nz=ZQPur+JHovqY)_|l!qgE5GA z4ef4IIGQ_lG=2BVNm#?Qg#|Mf*KGcKcezn;d51fxmgfvN2fuY^vZx>2-R(mZo&D1l z0akG8_arN30Vm_&I0zfHey7nNyk+^}FAj3E&kX<25=Yy@TQ-;eg-P{}NJRCnYR=l~vvfl_P*#3J-(roIX!GvYw$`Gb4sk;FV=*4{Pl1>%G;7Ryl-PWfv5MIM znmw?wiU|S?wjYElG}cGT*;~yQ-Ap~2nGQI}niDB#1_O}!?M4G@i(z`Pe-(ZmllVea z<@V4P|KVx6>_5Z$4+OeQ-w+5_H}Dn?$BQV&O7$nGMw$3PLAF+5gXH;-wJC*}e!nv&Dn;xcj3=^>AnF?%j=L%l z|6LJ|HJmg~Yj_oXdOO4RFbFcF+hGvK8w~&k=+Y#lq+cX&Z3&yT_*iItM!hha=+i`Y zlsuY$Awv(z$sB6k2jAZX32=OWT=#s+Ec#7 z({s3X2qARSkd9a2X6|U}8$)oYSqEqr1q?-}V=>tXZg5t~Yx( z0ZYi&^$76uOUuF$J%~}3+M7V{m{tSon}_1bNu~*-SN1ZY)AQIKLLPPKBSK-pid25j zdwxBTxGMff2U%LKV?jMJY~J_=eNLDUtU1Qcq(xzmL^-$br{d!t;01LurH+a;8|=rY z17{8GFaK)Uw(soe>G|#=A@?GE6&Sm=xGnCsyp=E&*54XJpxpFrHPU9<;2MNv{oguF zS8GrB^=50vVb_RA3?z29W2@LxT|K?XWJTKZPmK@0k~4%1>#fmmd7=vZgG0tf{Snsn zW=4KsCr~nByeN)nl;xf&YqI2j6ZSc-3nu!|J|Ar$Nm~nrewQEzUNELm7~jo_L*KQ@ zi{9vIzKDBb_A`a`pKkgRb|yQvqsR0kKCrG0t;QKDTG66pdj3EPsA8wTbi6+On1jUSb#r!07l*rVcGZ;s_*C|N z!PCFhDlX%gBEq68)GQl^W=>oO%p+c&*D<40HRokPKo)JQ*7s(qWmDz|Ld91RRf463 zoEYZjpdnFxJlkrL+FS0SqWU>7?)`7;?Atm~v-1KhhGXk&Z`5nBv}TN%W@~hSxycRY zwQ5-}Mo%PH7*0S|rTuoh?0CtqX5aU2>v(y8`8!7~GCv;%%YU$97jO~j1)DyBIeV@`o(&yC^}1ZLyR_zF{v01KAR~ra zzTMmEHAi8&7bZv9u=8=h!ZBOJoFI|+D2QCY`qHt*h~R7&58v3A8QioA^?vE~;A`3s z_$^Hx);XiLULOd48clCwQgdq09@Kl=CcB9ZA9S=-WM;=`scBT3K9^u)w^aj}(Ph79 zW)elTHrPL>vkC!_gc#q|8eWM*9MY&CV$_6jacq+w=mu$fLJo59TL&+LavJI~vKSYj zFzV2y)O?o4SBu1KVpS7h|H@G@kvkL)9#18GjSqeKMuLjFll+F1#aM;&$b_xv zqm?iUP!cNX#;$6Z-$#G!{17oX177LLiN-j=Pnz_Cw zI4qcs#JFbCG!X=U3JCH^iNuwdK>FsLTuiFrqr z$gq}9#8{O+FYLYqJB(sbYqI2~_Kh(+i6$NMf1;thv6k8sfqidZrPN<8k8NUS$wi2l zG&(a|l)W<@#vS#SGdB)2Vb^xX7Z|Chu9th$Cog32G@K z{tRSG($Erp$_CVD2@Q4SnFscVAD*e@$gg^X0|uR0~h9(dwb>Zeaxu-5~eHb zbV{!-SYx@qUz+-V%ymykPVvghay;rlZOHbzPxsS`j7(1^@RZlnBsJ-ED$R{O)+~Qf zoi;ef9cxIL&WtcACT-3qPzmLnMvIv&`psp|xOW;0O6Jca5Gdy!fmagw4E_U0-p$x5 z6=z5zp`8Q*_)q)B&2wj;;7+wIWm3sz!SPb3OdC0%HXFdUKlV4s+d>?dGYQ1cd}oSqmpM zdOV)1U*FcRWoGeI51(VY1w0!n^YWKHIuDB2mCGmt+MQQBkRpe%H_jYPImuXb~hzCLp)C?+bCzzB;CiFrc`&S zyQ9mZekWV}_xi4npI+4o@h!b?JgF(AH&FM z9CE|@bq-;#CYp=e#YO*o9g1k{Fk!-u7uJRU$(8*b%W!aN3clXRF9s}jn;B*9LIt{9 z$n(lN*z!yqLHs7Fu}V)jd8)pCw|cu0j=JgTHAD4WRj;EB<**BFMU=&g5{m&N8l;dt zsexZXPA>3l?_1qlr_=X$2PvEx?hMa+0b7^8>0zn(WJb;F0bSwTL^*edX3OGYo#Ge4 zA3ypwn2b1?65e3JvW<*#mIXBjSoLyX*HaIBr|<7?j2h?CB<;Nz1a{%pLUE-i`}Spx zPIEAQ3|qnbhYf%d=Fo1uNaWXnm;kyCIJ<;nD-*E%>cCt#cCOijlMN_8GDYzrK>WzU zvb)T7Z)&Ch zN}7jC{`kK?xTL)!03+-wKV{?c?~TLtht9AZqlua2b_^_~#4fyrA`WfNw8|Tk*!V9y`kWs#3M%ch8&;eU$%Vr)|pqnI*{g#;a%nY=YkL z`E&pjbv)Bl>mg?II(xApe@|7mVH4Zvo(wX^^Audo4Cb>K;pPSXuYz?RZNh`f9^#A( zC2H%ZpQ7d^S2*-dx10=dXVG{eBM`j%G3oYLf?U~(nhKSPR;zL;eTanh`Kek@0O);K))2o1v{HZd zS@-^rrq>3$+UYXM=Z9rn;IxqYZKE2_L>G8-(f#%AWZ6vVnB`RceG!njkPkf*-}^*Y zSlK~MjJqwm66(i7yLoj2pbsH>LGovJ?$QMpxm%|b4I&g5x7=Iq`JB}Oo#r091b8yG zelOOKfC{`&>P6hob;bPgWHV~J%(~Y7yAAuGkAQ?@C~T8h7P6Qxueh&JcZSk%d%JDd6SL%uZOeWkkMte32>%SWPs4ZO!Y z8@J=ix^{}L&G$7s+G(BHtzBPwKOX1tv!xxoS&zq4<7;}a%R`j>XJb+p$t3}7yJnLC9yL@GUTQq@Kd zIsY_XX;}jLrSs#>U4LghFEY6H%vx<+l;%CYoGGkv3PU;;n02hy{J z3BM2xq{RXU(%xo?TR44WI*_fQpJjv{OK|bY`|WC zLD9=-x1r07Pv~a^;fWZn(bl$oAS@o~P5fJi{(yBgx2JJWLW{xA65-irm^m!W7%U=d zoTZo79Tyo+!8>lr4b3s6xY5cs-+1FiC(AkXp9XW(tukgACT^ z@~PN_e@W0>2q^>}2&wup?*F6OKbHRa`go-z+WdkXg!g9SK?hHM@Akw z8=-U?dKi#2SywruY)V+tcT3_;RBk7h-7iv{@CFWQ{v!3X^P^>eo zq+I{=>zSC5%dMI}iswcC@6A0&Aoy{KfdQZ1w(j zaa}h1Tey0C|MaMMw}Y4Sj9BYe=d3CDPeW~Ik5qpvcMvFotoe`Ds{_!VBD_?CXC*V} zwJ;&h-`96-Qp0mLdu-1fPFslEfZ%oJhqAXDQ2i(MP9b z8@|_*!WPV|bgt0c5-gt(T3#_@$C{eUDT&ZqZ$`)W3i4-)i9QU1+rbinntVOT3^$EUypzyii*J;1LH@P9io;>p zea_1iT}l9`>IWUckw_jL)DWv;CF$wcsg z+l;DF1(jm-+RJ^Al>bSqOj<;9QPedVws6}w z(im;}u5Ceq=1-rW zLLbNT@?gyBNW1hSl1f7_3cIpi$egV!n^!v%FKISNP2%?G*OSpn9UhHsII4f)vvPJaia$fEF>H#>vl+~!s|NL3W zojVrh)Jj6V-nc2=(a~1HWl&P;rj?qdpawl`7|CNzPJ`OTHD0Lp-40H`-KdQ+UwC?MB{w2?;^PPt}_bHcKe^_-%t z!5R9CiIsWMqm{)z7PZ{tWeYSj7u99FlnrH^AV}B+J70Sf&!}Y09F8>3H#K5?RvrVr z#hO#c|5|`Va(a~wWqky(#`)Wwz)z$Z%5&S=x!Ymj*A=lyv!R7BXd;|kIj+Tyg0E6T z4d!Y7zqPdhdes$cJjp1skl}fB9XPBi1oI_i=SyqgmFk{ERv1>PeTL`yt(R!=hYOzN zu=Kd*g$+!|!cQ^72XZFUl&}u&3RJ|D3q0MVbuT+x99|21HI9+D&Nye1Y9HUD@Tcy* zVyddFWOqSB$J!eG+-}M0G)s?5v)G=u?gWfPhO|e{xX}_BCtmfocTOa@@}C$f`vwPY z-S;3cd-h1IbM5*FM@p3Qvn!65(hslE&S>Wt4xu{8<(!*soL+~#-BNM zz>&o2+9r7*Vb1(<(rmRkH0ys)*MFpg$HzdLLAMQW)+heUr~h0;dd<*3Zroa$+UgO9 zFQC?`%{6eQF(J35Vju$p|5Qe=2rZ5`_m+_Ppq{!CkXL{-&1D*MPu{w3rwptmbJjDB z!Wo$_b>FBeQ>yFi{!Z;fhA_x2)!JzfGVHHnWkHw8B~RA=bNE`1OooVT+Z0T0`xta`$AdIN>? zPO`Wh!2k^Kya7w;KXc^D(blA;t-!%)s5B$V1~6cmjibp0#hVAg4}2UNDJi`JgWs1| zROBt_&3G3yaDOmh1hhs8vhMo^4QscWmBkTx@p48WL3gM8yZ~{OxyW44x{@umk3Izs zxM7Xg>aS4*AtH)#fIf*cGEj711A=)6L!D!Letbr1h*9}ocZ35p!=5ncRnwZ+w?-e3PrtN>L4C!Ghl*unvqnF{@ zl%!H%C!yxdu6PWH3xPc+<($Hirw%r6>xh1cbFzX7BhAB|wG^?)vgI)1Vw*6uzYqa1 zH!#{T3|$uflo&kxjbtQ`#I1kQ6JURpLW*TAoGOT$8rI}Sm?ID^G){coCRO(pnz73e z1S5D#n&4i)a+&|7OlN@10)w5()Cto^{%cH;nmhScGiKLC{F9iW^P{Y~*CbH0O+{Ql zLBmvt$oIjad~f`&E2=VqyCPnJLtBg8c8mhRnzIk;9J%}SE;-#?4X1r0ON0{d+f3fP z`J$agCao+W0&Ettp*c>cs}f;Z*Vb83kiVStay?PiFp^t_4yi2u7cq_fI5U%q(*1P` z2s_5;aZ%4)gjMZKpI$14iqeW;}-_2Y#n zswxjIS9OMIlL9n2nA~tFpyLhIhsD+Lmc6ohv|{nd{EAd~)As1WjBjUGcPCy%O01RD zx_A~_R4KCMooK!Whx7mE;4mE41ZP3Y#BoaRj`rEP4vlJg+2&HW^f%O}j{YV&JGw>hB#bIun?7YVC#1P;BoDt0=hmD9rQxwPG90nv;pr8! zg^$y!dVHKOHGytA8XYYNsB&p0Oz^I-j9y(KSGPev&yLcRcK!<)*07K!n1!V!ZuH+R zw&YwDXcqONZ}5~5z$uqQ8JFQ7yragbDiLv?1@s)%(VgUmX>5-8ax-W&Hj((UZgG(N z68d~$SOSV6i$0>Jp_emr43{)U+(uO$wplx&&vUw%5jvJ7RrB`UaZQ2%rX)Yl2H=M` z!=t_=57)QZy^j!vjDkWT8Uo)uxP7KX670BrWdHttclUY$M?sE1TA~Jyz+6qMvW5NF z4C2Qvxw!9yT}kp9h){rhVO8R$;9*GPT;nlv#_wD?&UB_2^S!Od931`DHnHjV-IkCo z>9ET%37hKEaB^}Q`_pD?Z*q&L7|rr*@YNxZwA6B=9slKN{TaUNi_qZXtE_|F4Hktw zkIUX2+@&L%L^oGrwT;!N3{#Dj!oE4jop4)&rxW*{uAso|g{#KBshlQ5SmLR~fSasl z{PO3|UhgQ9AG9Zo621xq3Kr-j-Pi1`ttxd|)UWXrN{3z!zdTNhaAJIbUzQ@95}qdy`#L;#k*ndFV4aB;@Ahq4$~3LHFJB5t}R& z+0CMkJ@wTyF|?zU4e<#Qro^5#GICcPF1HNTCqbr{2HyyQ(UDHS=lz4J!lW|DC+hCU zO&8Aj^mNs4^KR{NdME8ohg zsJ_0_C7lv0ch6R;2}Xe)W^7b+{u`6ioKbOJr!mTd&D( z;j(3acegdH8+sQT$i#&>4SD(bHw#|Bc)%)7iQdRxlWx(42z;{7V-c%TU$P_qnRGQe zEL7AOdhv2^WzIuSTlCsCYXWI}vszp0>fRvMrJEQkSFQT&-D=_Ay*A<8Y@wQv;IdwC zUNi1^b7d7ee-ofeFMA@Lv(v?^25nW&|FC+dSq#jL?GyMCG=(RlYxhc%lh>Hl#X+)* zC)Ye;2iD@=PTO0dZ9=t({|3Ne-fKZNe*C*p0sd#)BFN9kHr12kvuLG^A%(Y$l~l+G zkwibQZUiJJAMaQdva!tk^(vjyYL%CNP8vA2V@M`4SGi!iz#1G_Z@~@PKMNnm6lK`) z8$J2t#^pkyEPjbGN4L&8UTf7~)AYp93I*k)0>qBWJTG?VGvD&mY;2B;J?XRx9egn? z4riU1yVCbE6cu5r?9iHv~aAoc@1Lw+9=_#LQeTUq`7<6lVm-cJ=+7Pm{< zM9ab${bekK_33u>ZZGumVlutrHQXX6)5$5VQl0BP0+!dVkDC#xBxNm?Bt>;4!<-<* zvVVVFW_+Y#ID9mAl_#P5ePw$>QUunuX7{0@V`Oq_igi!b&LlgbP3`^RKkMnyw4=P* zp7DgonMO9>VYVb64|}-{HQaE@(yB_i$#6o%03QkSbTMRy9dBJc43xS*VqCN5l0 zPfcVBIb^N1ye#|&fqj%N$$$qM#5)qdB_+&LU_$gl-$shCu$>`eG074-hKSlnBs;gv zU~n@!LXaV)k6%u6#a4^!7mv6s4GvLio}xWE054nsmy)V7UcpQL3kO8+pD6htVd4Vr z`oOrj1Mp}2L#Ye7GoJAT^sX($bwp~=r9iW7-U4i3GWK#47WuZzpvD!H7^7;X{SU0 zU^(~mpuDlZzb$WW-!+zevL*yC=xaEsE0LOGX-0=w6KZurQ?dF0s-r1FKEasGew`?4 z_Fq#An-p-+Qx@z}Zw4&Ia1jkHJh1v>>50QiL6x^O`e{I3UBNmNht>Jtk2c7;t(;Zx z|GkwbII|*^#w}cX`8Rouy%E?oL;sEPd7ACYkBbHs{)zK}{^fniOn671-_hhl9Y*TA zE=u~gDY(%&oiPfkqk$H_KHn*G65UVR*qe}qm$<0mP&fXerkO7n3)YB_Hgr87fp#a< zTl5@%F943#VDF$-a9QB;_n22}TRtz8#PX+AA8E0dy(v6&wV&i9U35jes%9-gxZ%xo zw$RN#imyuz<;!=N313=l?2-_0J%~>dEwm*9CpnK;y(lV2|ppw_ktdKxOb53wfdGeA{ zA914B+2!EFC)yHIw1#$$KhfA44m<6T>{EfR%|Gpb{$aeJ;2!8n7!t@ApWeh_>ZHo{p@gDO|MEKx;{O+_6^u>5Bi}YDyq``a8xoI9;tba{?nXc!*Xl@cwyzJJXdl2f^4~~my0%fO$u{Lu^#%E z=H#x`=Ep2-iZERJ-K5=ngBxksbJo+P!Ubv8f2g=xi`P^8s2K<5fSAB?0Db?>{aN{% zwV>cCz$fm3K_lS|ZPEv*@XG^mDLs&d5ALdJ4Mz~~K>>KdlA!tu2n%N!0KwMveVAdAj3fm2N=kCCaXInSeLec#5lLiWa-_?^B=1C}rz(6jJvg~%k zstZt7$|Se5>G%J_N%Fzonp{9w5~2eJSE(5C1VX7HBMq+Wrwp^%R>Ac!C~zGA0cj1Z z1m7WHHs)QyaVip7|4M>`{cTd%JclTD{hwj$&#W8`&$dgaHz^zU*BIg4{rx{Ab=}v^ zhpPNHM)!0llUWBG8=WhEx9<1|=4(eo&g2lz{(eGKzQa$GkGr!(uAQdc0Z*0e36SLv z^HH`7dD(oZuv{%RK0dzMnmuK^HV^6H3u#sUh7!jN^>ps4abeA>E^%3@m)msRO?J-N z1`>=yHrIr5rzT6_VI{{!C5T8dT7iGcJMx#XCNc0-@p4F$Bo5o>dr7fPJt0ZfauA-&gGVUq_~(LOjEz z>!Po@kuh(oyaL1^E88Tu+{DD*AS**z&zb+19<`0c>cy&CId$YmXr4aDP^3O~EY0xs z6LM2cx`V7Qri&A09Yq%~;8LK;{wrmX9C)@C-qdHpR>X>}IYn(KV;%OD*h?79_db_4 zTUkQH6eQ6P*E^H$eYH3HTldU>C8fjnFQLhFRoUqSpOK!4NEQ$YcGrn2r2YdcVC5h} z#3pXTa)f`eM_*J#pFBKpU^^=eB6Tn@aX~&q zCs)xb{qyrd0#>z)h^`UJ2!?-+(wcKkmDGzDj|@tES6U6HX(vK|(WC5{Q`>}H_i=5O7fJ8oy4Sj=s(Eox zyk$xPn;q@%J9aOtz!DK{$+984(MU#@!FzAku)Zs4rK78ktPJUHkQp5phJc**pZk48j{q6ivejZ9;Dq%)KMofN{MYZVHN&3#baX6&2X$^Xb zmEJXP-ZBk@QP|`|&Sgyg`~JH2iJ8mRgjMh71Fe8&cKk)q&_FE z>+(L;FsY8klx&Mw9P_V44?^7Oy^=PR5`O?i75TNW1Mh$qlT#4+zAVT+@0OLVRjB>94@uyPww z!yTd8Sq`zkiIWhL4traWEziO|`q0ZDQK{$i@!Cdi_w2sL%8jnStN--3!sqrBQVygar&4xPed4#{rFT#2m+6)rN?9$65NTh(6GG!?Nq9 zn0u`s%(ij$mtI5CTc^0;WS#KKgM%{@slJL1;MrBCpkx2FVea@etPBI=ZS_?{ZTH0Kx$3O7b6!YPh%) zOvuDAdYrQ6sx^-6m#rf_c@dRlKNVQBF0_f?sIsvQ53Am}-DJO9 zzu*=m*+@is|GUn>m`jBbzar03Sqi|o*+)6hl}mF}4m zS<2_b#n8tC-6B89@XE2%p68a|m5}sh+ZDTfzLOSDb8hkkVQs9c3H!h^dr(LSlC^)X z$wk;~>(0C0<9|UWQdy?HwZCJu-W7EB^P+ng`8t7H+!HPa)Q~jCM%Yo;w_56skl;+$ zVnMFxfjH|H`KPI8m{n0eO=gazyKnl|-;1Jmji^me|8BRpXXYHbXV585eYzoAqjRck zNywo8)6e>XMz+RL9{}FdaPJ*g!}0J`A=TXP>{hI=wgTkm2Xo~g9lq{LF!}sUny5}7 zuSIVD{5_jB<1Is1|7bTQCWyO_c?lle*ZcvgC!YBC9JlFAqd2KgC2cwegAjrE1h)M6 znq_S~ss(?ME)@eLl=z`rr+4vvq6ts7jO>RGV0u5vIbMEs(>>Ua72B?GtEWd~^jcdg zoZ6jfg27<0s>(>j;A1QGo_d7_%(J$p*2Tax!s_u9Sy9L%XG@+;no8;%Kyg@og(>eB zaFV{4{IgI@hB`nI^Xv0?=mY&iLcsvqd-lc6Zh2W6ywr>TsbHg&9XIa>*Lz1=<2H_t zjvU1gS9xkSxpNAWlMCrVLl$l@BQY`M3{}sdAjuqQ$%R6ePP%kk6kT$dYcq8A_HmTs zb8H&(VP3-c-OlRHT0pyI;~zvo+FLu2L3VkOj6Ru@e3g&P*Tk?h+iXoj)w!HwkE!hR zGoL?2q}tshVwvdnuVH7c>V>wT{F24&R+BLjVBqw0t4+X+d_ zQVxwl=0BP81E;*%op!(b&fAW|?L<0;fAx7K52rV9vg#&>+*!TcBUgLb)^2>e9ka+g zg}!Dxdpe=A-qk)LuQ+A0)7g2fu;jaVY@1-w7|X#i1b6dWx=^8I^Z3RQQ$BansJhVR zaz!&eq||IzeGE56)0UMvy^IiyOPdhoyD-no6=H28U;0S+r}S_1mARS2)#Komtze;y zjBil3%l&R%tuJE!v!KE{t(J=0u*+fE?BU&3dC~Lso%K@ki72eojue>7jQ4tLX9W=x z@mJ2}0-kV6WA=Q$7fdxlV`UZSW0F9@`{RA{bzOzO`Pj-Fcg0!}gFhFpTm>=fSlP=9Hf4rvS-ROJ5rF+P^Y=onq?v$t=$ zgEB=YLl_FgO_aW&lCx1dxwsDY3T$j9S~b6dN5g1bxFeQrv_et(C!jq|<26g?!HhKz zTZ#oq6T<2^g>?zacC3KqTcu<6^+#S_B0A02ZLs&!Bql}-&iYkY94O09IU3AS>PvhB z^ggMPQoqrL)r4x>>8WwZOm$jOD**^QM?VApu;4Oz4T+nEEeOheqGcH(oHhkQQBW(; zu`zOUs~vq1tlwV&&=u-%+vPYSQ_Owe?}`fzF*wx0oJWn{i)kBR4*};|RtQlPg@^ut z62s&Pv8<7_kcMm8b>Zl@s(ljyP>`lQjG9!zM?-j9i<1bK; z;7Z-Aig)w>yQr+9N3H8H%T1PzJS`*-C1Ck{OW-S;iGfUsTPu_ z?@`{&ofMq@5%g=-@e9{$gH(Sb;htL{^TxD3CaYJjJvzA)f4*1?^dYha3)uX&K)k#? zCGAusdA=Abkfkkscp(Ouwhg>mas#xA-4uAgN`a4m_H_+MsZ+AQ(d`s*5?G4+bwWPN z(`z%-@(aVKUtHFfpd-*U=~wGb#}RJ>;pr`BU^3nr`~*_4vto++3Cppc3gS2XcX;<0 zvxe2T^)Da{EP(IRYWxXT>fRYMiLk+fog5(NH|&lApiE^^VvRi7<^@>KprSGYF)^0i z6tZV*v5pEX13Lu^>K?XsRs3MOzSP1CiLV2#3p=+wda~zk`ikbE-fX{~v5p>|iM})? zYNH?0MS=ukXeYe(@Q_jb-#372*+#8}yPwavVORg!igl=)CjM70TtC8JfpUTyc?}$> z1=`>4KHCzYJsJUw*Vk)g(X8RBA7?|C?`|U;=M{0t2cT=m&)9W?vu#VC0xoA-t=Y6; zg(3v&;1iJ$IGMoYlHzaIR(2d~zulV$mg(z98>~+04tNx57`H0{mC^>-o3UfAYd(>% z3s&crf9ysrX=T#d4{kgmk3{*D4=T|uAKmYAv7qD!;|xhCs`P1LdituOE8H-Xx7ac= zH0V4GP;BMD_u~+|K2hL{lmpmk!CDkzrMR6m9|5cN8hsRkLzI}-@N-EkYM_4!wA@9i z@{7>W5t9JMp4Z>S z$$L(dRTP=3Ks+T3E-8QcLhiV1R&MCmu==HC)$RuzmmFx;f^OyyuPcptDtD08>$W7e zu!7**jc-fU3kYGBp{Vk&8w>l0s;aZK{q6041Bla}$C%LDf5YzY0?#jB&evZM%(xl0 z@er96Ca3hADA_(G+rA`3GXjV@YG`TF!iNb#f39L2TB500;t%wQB~ z3S>YW+??(1ke?|c{wCyhR_zeWefFGEr~P4V8$Ne?rM5yHe3kBQ`K1Jzq@a*arJv04 zU#30Z_*rng@|Hn9Ha6g`HqghEkG13&;Z(Q-183H?iv%=rjtYZJ9MTvXV_hRrdnI<3 z^KS_8RL^FfziLHTulBu3%3b5W=tAGl*IYbXQ9(4A^Xw}9_IzxqUg;3*05;da%GePt z%?fH2p9{$sjfBw2hP%6GEVpkDf}l8Cf~_@XIMyt?WfpeY^Nx&}TjI(F9{oQ@4p{Wk z?a~o>6ZUgd3<`=rsW9?8QxPmR^dlj}X27U4P9M`*6GP4e2BN*Mmn6dm+Ay6mq(k0( zDsfXyqm-sU(+5p#e{jq*>M{}=Oq5_S7P-gHHxWNCIezZiye!TedU?Bj)(8oix(N0c z%CYxf(=3j7>hJ$3P7|fGAyJ6K5MLeq@*L1TNtrz|jST&#`}Z)_sgpK?pyrvEOy7S6 z35bzBGOWO0TME?+F1D3U2j@Xv-a@s`RW!Xt%)`UOdfQiNj^b*jHYFaf^<4Cm%t(<& zw4pCfeZs$TCQh-bZ@2AwTLpj(xH9h1X)Upypo zko#cH$}}9ZTg%>cDM?AC67Gq^GEZ6~?DntPi{qsmT~3_a>=Z8N&LU<_rV$%~Y%$67 zvY)W>cCcgn2vvD0u%j=QtGRQ#|Ne)#J{pMWs?P92T_-VjZMbr7X96zfbydR7`s=Gc z%qDMsoC0;vbK-pQa2Ga(8adGOuC!$0OV)skt=|>E*UVvMb|V&324g7EK(>v_vF@3X z8&n901|txHJZsRv5;Rnw#6lDw6>1Zy?y&Q=WfVJcGMv-8i_?gJkalq&7n%yDso@3T zj+v5+%KVA44mSvU-2D?n{CF|<7$;vs2~sk}KHebB=f;-a;Z!n!855zBtzCG~kP%r{ z30=VYMWHrG^!NHOzO|1?9jl6lh?(=?yBuJ=|39Gy_iIo051 zhkQ+GDdUw$6^1&yR8Xhyt(p>k`FvxW%m`5YR>sQw36%m310AWFB>82r`9+^^5ai*poAeXlFqThgoJXmsT_sVzBp< z{_V?Q%?nS6)%I{E{7z$pF6RC5F0gt$8q~FvPJnM*JL_+2@867d+#4aOonkwy2_8jwTLU#*#9KAjf&dow-v5Qzi@spDuBA&C6(>-ct$eCr;m2<(%*6EtL z68+^Q)LFPd>2e^lDV~*qEtQ$i9?3@m2S?-W6M?4vNHwz?c{(%RiZ~HYj$ zSICc}(9O#RL>i-Q5qfon9A3)2lf0d;?TIBh&6Dj3xw`M(!hp>54-W3+iMgvr%pe2m zTZLjdIyE(Jl<^P1qBVu-bm;6h6p&AGOrt7(FpEM4+_@T`Faxxyv{ ziBJ2C%RDFTEj^D=t^#F|M`iHmY0owJt`ZU^y4CXX)lAk-$!cA6$@u$7BWvsH1y)w8 zpUq`nj(j{ex*reH*FLv#jEy7AW*@Izlfd*cG8A;zF{Ra~UzMk(8c=s<`FUK!P zx~a8co%hQFi=s1Bvz? zx9_h}hdqyvx5sp&NAg=w-*p8%Sw^L@lmk=4B;psf1+2KucXkku6N|NOmR4$SZ}4?D zON{0Rmt*|W8!x7;^6{f9YedEN#8T70>i^Hm&i+|%FNQ6`flnv&5i-^D@DKRnXe;CC zD`WQ?ltF!+)&vcGh*@t1^2jv5JhDsdBX>#dHKshfqaNG=fB$)Ok+T(gAmXW9y1!G= zBS8_4$G8}UlmTF=?z?E*IJC(mZ$hPG%{jd%G*oZfjv`uL&8Dv6 z*tvew96hl6?95obIiI^sETNJW>2K-@2t4b2xm#~f3go9zM+0orCw-nerAa$jwL_EhEb5YK*1HckuQbgo^@m-NM4Wha}i+D6y7As^b)eV@DO!UShPA zUjCnL`{8@gRRjh%;PyG@pOpRP*8O|oPvwf?Qh?!*N3?%dsMg2U_`!R+_qS8N+Kz12 zE0PMngMMlWB7Vgb9lEBgyL)hT+aucPe^Y^{-xE{ysepuMA4|62StraA1iP@uoB%>y zU;4kkH=m1sKp@stw(U4Ut1`E2{IOvpVUpz|zIMKz{-HnT2;q1qPjm-`zqWh@C&`-S zeRVUWxeu3cR~T8%vPa1}8eoCz_%RA$Cn0&>;Ug<$%g5iKl#bay+FsR3ikA(vpA3N; zll!=pls59+@3@9237err#UyD&Pg#5Vy~kwKfAIG&7L^-h1PV;H;J2!g zEjWI#c8^=d5!WiLl|)ss$%4)CulUwBBNThI3|}n1zFkB3cAPB}SrcITxs2YkDQhn* zCH<)f$I*a zPMQ?Q1moGdasdGV+enW+>4$ghDr6^ZTS|P?;VPnSWOF3roUFH-U3qPo(m^1a``4D?_dOH=Tf!#>uT#0;xJcuh)>x5>D5rjvtb7Tl8QFk(j{Ni{T}u+F#tPI6bF zVeo*i4pszN3vAP>FSh!XLi9?mp$qzvv9e&9lZ)+03Q;Pdf(zV2U1CpPW60RRD3(Fo z2HBkL`;7U6(&ds&15sncERMbXr{cjMQw~_*f=bE1x=W0@h3uPpq0nUNFXWa1p(6UO zp>tl0lnx#9P`7^5Aqf;zA~aHShJmCQgs<^UXGx6)L@K5?ED7_-e*eoWRHnK9FP%=! zBNVMSOzNMs_*o-KkwcfM=d0f5(-KmLz0(Ay)*%#c#=EK|ai$u0hW>20zU0z+$EA=xz-oO}pw z%`b$b+sYM6eQh+jX~Vj79IBE?0XlhD+jh?>vf3Yfecm|ljC72ohzCAEBD!TTtbIt( z!%4N&EB<5p#yFPO;hac6ShyvsEp&8MERH-Msdn}d-#YQ>;2jTWYh7#!Xf$1E!IR+- zPh$zk{ZU``2CVF9oBGD?STbBcsX5?X9+|QPO;VaA@he8mxvVSap4sS>`i2U*aFvmS zA*vcPsiNBRuIj@T&jNPrm8OuJYq;bTg#9(dSY!C&kso^oMfQ@G!yFmsYBz_*nr(k2 z&)MVP{f`45%g!Vvs%1V+K(J+=C;Ru+Q`d-#%K&>#UO>A}#J6(1lDy*gdc5}I+~X8B zAd|vEI=q|vAyFt4C7j|$CN$K2`ZVfEK9;7|VeZZq{(-?RWiNBVur;x2b%ucs52KI^ zBVv2su?VNf1bY9}Z(VCeYNscvFR5_OJ&qJV%?TTgwfFRx)Lw|6oSr5JJgs@v_q4SE zn1{~{tD3kE`D0hg>dSzY0Rd7K7sZqD9hEot1JZn1h@G{5k5iA&9t|(I2atZpeaT5{ z{(oq#&dwaRq=V5*pW3StrjnD#wgEype+=fEv^O3;l3u5`EuIF}?6p~%EFkWN{30MT zdPr7Hp-?}~)bZ6PWI4#w%xL28=uAR3-vF}-H+kM*Lk-u?tB<4@A$<~Q3yveCP$#Xz zJ>;Le7jMcdOGmIJ_nuR(FMnuNVij_Bm>#l91*H+YMzfgDySm@qbWV389Pva_?2;gE zZf*rGkcHQU&#tZp~)SyK;V)BiJu9 z^?E5IoXwwlZqpa8EA zWqB<%h%!N?FkCQCmS!DBB;bHzJ1k#_E+(}mzJ=4ZKnU7T0izI(4r`|2A%PD_0O|}$ zPzAy@1WK_+2~D(fv7(q*+x7Lw%Gf~$C?+f{8p`H`9sq!IityK@EK-`tjkLFzL%7BX zj$h@r(E(tJG|}b-5wz`m5+Y1nbVrbZ9Xkce-pH%hZv9KxA0KAcnFwJa%uKAYuf=d@ zQhspBM~4YhMgRa`zzhQ?Z_Hs+TJSx0IVL&$>WJQ0qP=`Hc3_UE+OJe^rMj?R58dBS zm4OC!{?0#k6tHMMz$)}1%Eg$`f!V)^j!aQEo3 z*eN%guP}Ld>muQTdpuUFb}{hj{>nY%LJHmYvyW1VY}d=QaI|++m}wq=d|Jt{1eHxq ztvxa$lEAbMG9X0nE?LjGe>_4S(|Pc(nHkLo6tu5aG&%=JaU^hZ;jm_=$k&RgHO?k8 zF-G~c?MWngiJCAf8)tqX1%)o*Z0`GJPGsltV~wmp(%-U{ZtHBs7?jH9TbL0eCZfNm z7TUCPAGXv0=bE}h)C^;i=wr@~d@Wm#x5|^_yO5RL&*JYG!japc5oCD@m?&_0*y%2Y zuq$+9b{GQ@F4?ve@)+g09^apMAqjxH1{-79eDqRu_usiP1A`tZa@yLu+PVv=6oGJQ z|3}+ylhC`JY!ky@o`N*s$#?l?F3oNi(#rO)RON8OF78%ukiRI2Lo<$!+MUbQYu$l? zpx`$cGq#d=sEapG2^TJmN(SVo>s=DEop9=7TH3-c|BLI^mw)sTBQpL$T55)94x3jG zr(_8S^H(AcVD4`JCwq5(s%w?Nrw|Jy@`TARAn@(f``@DOmfd5EJINuJ=|6fGg?Um8 zG=i=sj2f4Z&qn2m**v9vN;GYAI~o=QbyOCSAA>#n0K;`KIf@U=9`QK3H5KxhUesPl zn*TJ6oD;`upNJp+^Ev&u+*a34uR8S8wZnSfHH&&!Z``Y*!dIH*D-(}wS8s{}n1Db8 za^Tfss*C7K*|#i!Uk64^*ca>|w$c@cch-X+CVU!#p0{@(ko0s2NrR*7fOw&WxmNaI zomkRe4!fNBt~aaS4gk1!$V$mz`5KPA8XBQVjU&2Dj+#}EnRbf40Q@tA zPb*D$!mYejUjx46-upPVC9PBJ;l6=x*p?4vv3Gd1nYZXJyPAJm zkVMxVM5c1ar2RB3G9hZmidybi zi9mP{IZ9Lfb}JVXOP|JL*)y2AOe-P3{xHtFZe`3!=Fh1hMu)CjNRNlv{ptPpX!_nD zQ48(478==ib?=nbHzh`|=8uuLb&jcV0YlHj!)FO`CAZai;k||vE;NSY_Iu7j*Xr?B z2$7Jm^WjcDcmALQ`^(y`PpI&Uw}3gH=u^m)o@<6?9bd$pW@UHzSvu;bMgS{LfYPnT?7 z+R*WpcTSiu!t(TXX2zPLexa=OfSo2ey<3v+LfAW89k}bTxZ?^PsqYB(3o#Vv=4}+_ z%iPt`NxyL6JMa4CF6Uy8#SZ>L*5?WD12rzMRGYPal+@1oDX}9;)UwxtEjXw25ID&$ zk36GG*lMfJyK}`i7#DZ*;X!q{+*Z0o)5ysF1>rx-6#P+J>puNyD%segpgWWR6~D0X zlJ4}NC2DL)PkM=Z-dbc2?<-lNuzB^>qgM;BH}lU*CVU9J%t2zzhgQSQGhJD~n+H?R zUUEDF)i+<8cp)L&neR!dC#|J5N;XlyuT*F1htLQcKB((T$hV9p3Ur4MD-%&@EIRdy zQ6xo&5UcG}vyO{}23fdM4YsG>mcSB1AFr>EHZKR~7_dk8pFjUmLtaLla+ca!W~=v# zog|MH^RMtCF`&*nUkE`i@v}Q#O^XTm_n3T1^iM|@Y{)T8m4Ia(m#SJ3^ue_^+d5>Px4tmORE#9&cI;?KA6NYCJ z0`2Xo-RHwaE>o3XpEhjwxHrgm1=hhQ=-VIAd+~}p6va-&nO9jL!AEVIewu;bDg~u@ z=AMXs{|4rJUYvB+X2AMnx86&KRvmHH_J!$+_PrS{QVDjgIyX-=6HmCArH-UzVw zP+N+Euy(VurTFOrb*GGi<7@FPSVk+4(iecEHk%O%{N&KpBWX(*2yEKzLWWRqXFwLk zlcMu@q5_jC0^9kX3sk`HNK#rB+tx5RuS1!cZK_L3?&9R=KHX(eMx{l{ zfj(c4z}ztOIViL)pO!i<799657kd&-avD|&Z|%@TU+o-yhi`e*GLW`xiB!#Qwi>wXeKXV9g%Nm7W8YaW(Rj0^U#TfVR~Ecp7~o;0j7MvPFPqJ}pw zxb<^0GuYCqMRb-(EqST8y(beqisi+p2}fhFL7re8{P7tX@x>F=v_%OQ*wAvFxLa_B zHY0;PN*LfsVzTOb+iE*4{z;VnG!fhC1(+u8ca{XLwNetMVtDB-(Ra}f-MilSPUJnV;45?gW+^_U?*st8WwL` z-?2gJc`>2BSCWNGwG)*Mu8k{V=53u4IKge*6lZAZL~R4NlYOWR+O$wDH6M<~q=*uR zg)8~NC%YlOa~<7}#GupRZx6ltcM5WI4MJ22F;k&!u;);F2EI|g=9;Lsn4rD}6RPdV zv@sewZq7zN7P^gjY?3!H7X$o8Lw&e@VL@4ErH=Mf!t|3UxrJXt1s5PX|1A@W&4@&H z{#hCD2dpSE)*O2WiKEKIKfOuILm-$YWTwQTS5zFF!r3vppPv4v0*~lJE;^Ca2*30y zuEETV!Yy&zD_1XrGMthHiet(1yL4o#b95^3qq~Ti-uUKoov3dnFo}--<#AE=CHv*j zUDWBG{`oHfqWa@cF6z$wQZccrMe;e=9Tm#-d2MgN3!Hvx!D%!q{c>wy;BScRD)ptP zf3S>6n}&bQ!~T97a0Pa^eftj!yE_*u=2T@?($U;;W>e(<=qsu?gpWVe0$mTesx;np ztf>4yOr3W$+kf1*QLCj!tHd6)Yu6q%YLptKwZ*7eBxa~h)o790T0vWi7Kz%#rgl+O zQX*FD*sM$M^Goe_pTa%Ee=*UYdUk*-9wbZ^RAq&?>-Wp=Ytg zm4o~=_hEwHWG2+Nnh$Qo`Aa|B!kxuZA?cOPO2LkU!|0#65+t3?t+ zk@a&ZzRBGD$v{GE445r}b?$k_q3%Q4!v5$quH$ePRtJQFxsf^XU!x8Wz_|_gwO4ld zwj)EFU%J&qrp`)20SkGE{YTvZL5LS~d0eWQa)o-LF76xJ>g*GRY!3(J%@xIDg2 z`6lOcbdRW|mh#t~!#9o$fOqAEPY8TBFPFXdwl9lc6tJAYWLsNW;Dc<`)D=bA9ASQQ z6ZQLQ3i@}@$CiY{=3w`tE5&!Auv4VHTu~$UlXoQG`3GqIMdAJK;cD8JUE+F>}(Xzcd@2301dc)QNwM6*M8Nd!fSy<01YwF;@5{PR0mc*OdjYdXprTjJIg8 zd4S$4`YF8?US&73;<#|KH&9es3RA6w>kh<+b+-%_ry}s_@~)<#1rGtxx6cU6o=wJt zYI2_9JOi(VAFuybHovxfs%uO0q<>LZY(G2{g83`AYNxN?t5wb^Li&ulN`cL1Wk|5H zi$|t6b&P{FO^j8LoV0$Ljiw`xI^35-kRnw_ig+%6e{mRYuE55rzLt`zWZ~sjJDDPY zS2p+(U2@L`y*~aiJ!Sy}|E6*8&9i9|X|R&eK#X532`%kiVSeF0Bo{RmAY+h%H`$d| zfQPO6ujg$2-`Xeritbw5kAzskVr)-c6yK2R`Q^lD38s>YCUDTlJ*LjK(Te@e=1FT! z%m;N+en%gtrjGH9=YvM_6cCVI2C+}C zt9OfooQ}jg>%I)d2+!u$Z7TEU74IRl-^R1De#kG!N54epbfkc%%l<9Vc!}L`V%J(K zSoPUYVei4|m7<4wywxU9WX^At=m@DzPCkI1*81;*5L8CNpTHIcmuOe>(pM56|3ZeR zb2rRl_{fMv^sDu;F`jie`p4L>Cg05aakbj;S8{+C{!)oimlHX${4+~izTr|&78Q3t z31VceGk_+QaMx&P>Vm>tOXNAWA-!ndr4oHU@S$B%Ekaw^Vkl7F)*U8hz%jS{mHVyc zPrKja-oWg*{Vdwp+6qHwyJcERKR{^r?4OT<`>iEEDo`QW89l0Si1Rd(_-xBP4BZm_ zAO3i#~5B`-4b#bDh-UAoxeN}@LE3|TAj%f-@{L-4kuNMK~3n3A5h$N#0-bp zESDE`$4a)HTpWy<+SmE08@^z8Xu?Y7GBS0JzOKApjk>;=dR_I=xFnkl2!{8cfst@3pfb$#&6kQD|rk%dk5^);9cjV^aNU!K++{K@dKc zJT>5QHo4O-FD}g6cC~@$XYDcl6>^`0K~+`tb+~_Epe&o3(oEE4-_BWUcl-Hy)D(uM zBne-QFyT_)%V-oP^aqEd9V%&L=9@@aaf&=~!_{^E9COFX(s@aIL&c6JpH+1P_0D52 zyVdk|(Q^^ad6HfB9Q0aT?~`DJ$xtFwGeQB{wY$tR`Z+SlbD-^XTZOLoc*g#Y8*F&V zEhJLj+I@2BbXjmXhWvh$HE2;vRcTiJ5$93D?0S(Olfd=*-1V6JASAD2PpLZT*qt!2 z|A8oF@ZUcu{d`?(kaT@`ec9d?dKsC)Eb2S9@Y~sR(_rWxuKi+ilzQvDCW&W*acW>Q zbVur{Icg7WWPxo_@|m!cx4AQ_K=J&d#vz=tZJAD=E^mIT`9CFER`?Bg&Ps>3u{+?U8_F4QXaSxH#>T@ zxSB`G;7j&n>)>K#1#762v$?~!h}kH%pB z?}_E=#O|*TGNuA4I{4IsD)I^(SSIRTeRta;aJMHH{p^=7A3i%evap(U0p-i->Gho_ z;KUxR)X0&ZIaxJq`PcI}nm^aQ+#MifbfmS&EX#n z)g>e-;^DGZ@&~Gf5A?bTk86VtogQ7Tm^rW<3T}NqA}SeN4kmCXJ&%+;k<%?v1YTC! z&U@p*xNke>nhYUG35AAWZ>mU(8TN0pCZ5MGxsEAx z2DLq(FPDssLu8%Z(P$m4uHP?#Tl|yt&rmk_LXnPzy~a89HI*2zw~ks$1~C+ZJqw*N z+P^0t96IEGYLOzti$Msnqb%47c=Cn0shKG^Cl}oZI(b)8=u5-{VBd@3&F+*D8zJhq z&pbLUwzlvOr)1`CEAG1GV+xy2eM@3y^t$&(?RzCZnEq&}oNEt>LXjjTM7&6*p03Tc z1J2FPs)k)9>!s7~g*=Ri65v>lN9f#FBzuNIWs~we(bG*EEnc%br)AKfaY5OL6!X@Y z+jU}zzE6>I0Ph_=EwUtyi6nL)N^>43|BsaV6Y-j{?)Ha&)_P5k-CXunj)<|h z^q|xrpXOuW_3$Ev3pl=Y88aVe8+wJg=lW}W-AxJT-_z(~G{qnzwEHB3Cf&AHgWQ8L zvHy^xx9M36*mHn`d`vb-aYGI%0^z+O68_Haqs84AJQDc|R4$NXfiFQ2b8~hi{90sW zwLEEkg9csdpMi~I3npl zs{H2qWjMRK0V&c`(FD4mO%43!0@Go+Yj-2Ym?ExcLSE-x?3l;oNo2hhMjN2@zeIqJ*_}~i(^P{W9FLx zFnqmQQ{_vBG$k#7FGGvED(L}s%c8eFQ#7s04fap(7vKiJ7pOrk-|n3>c}G16Q$JPk zh&Dz!Z*PRUe#^cZRLvXoH9>{wd~8VW2h^}T>S`Da7#Hbe=a%U5@Hr2V*?^4th^2|+ zs)s9E+1mMzprHi_=NSCt*1HO66yOGJ!~JNFV6av%;Kn8@vj*OCBZy_AIf<8rjG;oV z`2h(Z(KSehH*|9`qDsW>HDj$&bq?>o>NqB%(&c+?yrMb!G_{M2j=i~9om+-(Y7;qb z585~-G#p(jCNX$knWg?>hW?Lr^*`9X;7sFws))A&e4ywjzWjWYZ~rcokZ2PZIfe;f zYnu4Y>^ip!5If1gIG5^@$&j>RmYR|uU__;$LPK;u)-WH*4?SomVeH0j^el0PDWkg%2UyW__@A|W9uG(jkD z670?NU{itpR0XTz8l zvG~i`1>a{Z%lOMEh6ms3YLCV%M#%Ob|A*5`) zMN+tY{=HYq)9kiGkMe-S%;hbf&xA!d$*Qbb0+0{=|h zX$a8<{|f6NqQoM6kL8VYZ;>!l*DxVDa7f7_JN2DJflRWh%lv7ZbhwfOx{mi{0ZU^+ zdR}a2U_Pr?RuO}f{O3udyF!`_aWLWob)p_T$R}B5rp!lM#B-!Nhogn{zAmt2HV4W% zt#NMCXWl1PG;4md-D>He=|Yyl>dAX+i%Y=cr)8qI))Va|k21@uTdaKg%`9G|)M+(A z@uJ1@unN!rYzY%_=>=x?&tcUv2$mPFKS0g)Vg&CAlP;-SL^6Wp$Vko*tJLo0vzyC} zU~5#KNS_};wH$9CqIYW{w96{vml`P0x&$WnU_V`&ADj?N%4iGE#!q_ISc#X`5Xs1+ z>S1H}o>-?*8{jvA$Gsd`7CMvJkO@1x*;^7f(35pjF2(q_P7Ez!mq$m7C2)2r?cU@g zUG>u`7D)$Hqq8)8WA8sAopE66m*-GZ;>CB-GW;>RUcTG@4!OONlCkx-1igQ{4WQO1#Po zEBd;6s-OPW@3)dkQXV6}z3D=ws!m`q)IeZA{gqd!#0-&M31^Wd*%(@&BV6zWaU zOo`}3pb@3rXbxfs@DRct*XD2T%GMWbxvu=a2#3Q}3lnLsWrOk3yRpxNS%q5H!<`0t z{j4VIaoT<_yv-&&MEISpP!Q`Zkh$O6 z&M)W}I{77k;oAC%;3@0eI}#&;R`&KIP0A1bQw<7yQXT`MzmW0gKF! zXu|kMEw4;E1ECEe@EXt%v3giSP6I9L{EIRWxhu3y<(IvxV`_o263N`HAeBshUoQgb zz7f20@{2ksBrL^FiuaRmg(lXf`^zg#ct%l4zbW17Ij*$~;WngGKaemmzdRvSzAm=` z{@3K6kHdB2x^EN>6A3eSiHr)raZJTHvdr^2DGrJwg7Msi&dEBZ)AzF41dPdW{+vtiQVdTWpUYi^yFr#gjUU)2fql}Zl#YBqbg zJnq**WU|)3FneJ>yCW3qbdC41mxD|s#kP*kx+s4(S}_F>^Gzlt6YE>a0mm2n{&n_@ zti8l8PPrHs;4C!pifD=kHW`2{Xhx<6aD7G-@;0N)Ntgle8hd>8`y!X7!Sb>xBJjSo zvxY_TEjwZ(2x)f^>!P|5041zf^uzed`P4l(DF0mbMV)LlCk@qpua(oP=D(HczhB|c zv3Ibyx4!Pj)MHonJ%@wqa{+Lq3}xjd*3qos1OIWoAsOW#9%_Y3kw#f1^*gjH!|aTP z%4%)cor{F`Rn@8a;6y9~Wvr9AyhHdN?(_9UX#KU#dS2%8w+emuObiF``|Yf)F(jHGRy5ZX1cTLr|ELf@kMp3=RQ+p7U~#hz zx~8XVzeJslo*x~CH=SJwIdG^e+ab)Hl^!R=Ca3d@%jeqY4NNVeJUM$h z3GOBZY7u1o>fw!SDMy*9(9EyguOt6$l*}a+w7$+vc3zsN>`#k2g$2WOq(7T*t4DCW zz4DcPeRgpw8FlD|O_l3~oKBrmY4HDqiNSsgX@28V_x;10L@Ab0?Qu}lSBmp9LGCUs z;~XwGgwi&ykJK*(=`M&rF7;D2OOL1fp)-|nVIMX zKZa&e8+grt{}kI@?E%3dA9q5F2M|ptP7)UcpA7p%MxAbh%*FI@oq>;r-rLwdazIqN z=P-kuz3uNgZQeenL@Q(v2t(gk9td2YOj_#8QlC?4wyz2f5-x))B_6e?2?@TD`aLcX zQ-CB&xv@jcpV9yl*wUN$TpzF0(g5Ay65wT_Lg>t~<|7z_mYsy5BoLrD@g zopP}-miROaA^LZ7~aC z^7V9h(c}7`rmIG2dcW%wdL}Us_do9H%!jRqPf0u!t9_h2DgN+nGEFhZ+`WRwD9SEEL{3Pa zlASVNVi)r;@`=K$jWE)zqy5RIfy4CyKOEa#nqx)juS3Q7vjTibd0_sej`QZ}6a?5{ zC^Z)hrKeXvUku<^As%1gwpf3OWSyrk>g#s%HBJMcM;>xtS4BxFo?X0R|LK|~GYkuX zTwxUMSF#+Y4@^Roty9j6t~_SGxduq@NWUt3UzBnd6ZCJ{jrHKAByDD?=!7if`8V^4 zkCfiCvN5Yhr44xRiKKKl;0nIWL~FZIoCjB3cI!u8p|?aOf>c8!Yn4KeS@D*51sb*< zXs-ZTqS9v&>5Xs%O?YpN@68k~C>j>NLVEU}L_R~A+gd&rvMw1s z)rcm%h}PXZqffhZ(Y-dEqs;0#a*+R^Axz$F&%a7N7(57h~bBT3vv8O9}V|!(jv!G$a>tmyFe2#pg^G9JcreGkUyu0W zA~%r|88e>EEx>G@^>_)tzbL6*xV)>if!-R5#IH!)rlby0HnW%albh1%d!}rBZrRNU zZqi)jwxA0c$?6QGMdEg6YTA31cMo2=BCUr0r$_%k)A_Y@4{mq)2IxJ-Nhzt=i4aLe z*tX}8<5X1c@>!?kwznE=2#;eQJ4eg(GE(rh+opsa4_``c^U2MRj6n3hP8n|=`ejdTgAya>v3s2- zcX@7USB0sBHCQCqVE5O;@ZpuVv(TT|1?mg1Lm)mjF@OD+%}d&ps=q1f;5y0UpwDy) zKlzJK5ct!=$PS0NKmT%m*oKyb3`Am`UWxO{ zbPDk8P*NrmUr;!QKh1_bPp{7y{#kQdn!i_NmpWxkw;@^>d7#mv{wED-K>_Jg-^zQL zH`M%BTLS~4w*J%GxXm2+r?;c;mTa%mRP$yJC)5pIm5p2uzEddi(w9na57ho^i` zW(Mnj_3KAHjmS)!j}TE;So_#^JL+URE}67TUMYDSXx(W3J<26-`cM)n5bn}?Hu0b< zN+}v5Iajm;`UQ@<_@jU3zEBoLM?$kbikAQpiedyvnkN~t5BA$~D5=%S9V1-O7&FCw z!1+V306nwWyWn0nFE~YO)}K!1&cZDRk)w^_UrMzDotjyzKv&spY?vuh=;)K_B?^;Vh@PSt2;A zp7rxzC1fg1TMrdnPS+>OM5-lV3!-}l%|$lPKNMt@;r%AZ{3Xc>`?4VW`y}$YIwW)X zQrZoUN~uD5AKGSD@M`cS(c5H4TkJvuYi$L116ge2`r)&o)N@WhFLA5&SU)f@1dfx`7 z28eKYRe;!jGE=yF)Pdo3c2YFhNUC1NoLi|78!<<38VNv+oODn|Bx!TfXlMA3{!B=u{P@E%b7_nFe)`Fiseaf8;bM2q3~d+9Pc%6 z_oN*RvGER#T^cCrwr3J(V^;>7j|UQas5ak1{>!-cbJDk#jvmK-S>9wb>Skqj4O79A z9A~k}2sS!?prhmO!@%%|o_BjS8Jc2S*LFQje9d#t_BZM$e>J)AOjMls1`YgKKh*2G zd){}R_akX&K+q>{^&!-WLA1EKu!4<~QWHSw=+rtxoMCMjyFN*x(G7QB<~`^mM2ynI z>#c3R2)OAtq&Rj3L}cbY028$eB#x{mLoby-DL`0z8CQWz(nq21u8*O_ zy6V#~ro`PU2$wF4O*sTif(E)ED`mR$x2z%<%_F^}=2xWuEt+ zy-*I05ZV@i)ix@&1AY9H0DAgNy{_gqj}iDv)Vi-CNAepnTXXZ}CJ7mftjWW}+a#pB zhoK>XimwlrzObC@!V3EpaiH?j3|51Idn^Tp<+5A{s&hWJKm}xlR}s9lMbvAsmYIjb zU-!4E<`TsXbur8G@Fo|Fhgu_6^XD#d()cFmYJAP<#n~AfH9!LpKj^oTaT;FzERSZO zMfmriXOo@ldT*9-rMhtLMv(kKdAbUpVfysPDVO@(;jwA^b{2}Um&zD#v&Cc;sP8ul zTqu;AGQ{4a+OFTi>!}pS&OP&x5QvU8v}oD_Ru2TD>cHk}teq%pWdI#TECzP7kmL5z zw3yLq63WAidW_T&DS|=jx@di`E)$b`6lLBm|LS8jd)%>)YoXD73*YW9@%=+F?=wWzi>`Ynr2Uq3nVtLq!U4RYucn~cfa zhrZuP`A0rwYQLo<`6K1cT2A57Q^CM5AWf;=70tt6{p77nOodA@X@4HCUM6%`RnntO z*AIPYC$s@)WFLKi@hpJb()}jfT4Z$`>BQn4DoW8)Weirg>{ZGb3sLd1EaLR7R=0x9 zQ6daV1-#?rUB_tiv^sMH?9N)Kd^yZQnah%nS1&#VO#Evzf7g-FN=#Yq2<(N{*cZck z1VMF?fq|il(<)Kd&}24$;@KdT&ZE1T7)yxI)E&b$58 zsWV?FG!O@e^5vHqh@?IfZs|_aF`Iwvhnd|aNlmv-N^GPOR+}OZkGd1^Uh2u6ezAp8ijy|Dary~2+^9JHg+SrvxjkPo-BtOTT?%xHmE+4YDzqCG)(Oq;` zWVzh3QZVBOF7!<^_w3vYbHe`eI*WS9cG$MR+;h4t^N@%T_Pz*)pZ1k;zC;#4=gVx@ zknGa}A;oVn9iWdL6(uogvne7-{!i$`k;9{?Oz=3NhCXS)Rs9{^(Gj66JR%Gt|5^G= zc@06BHj}|G^fb9F^z*Pp!tAZ=igQ6JqYNPE=w*2YXR(*rIA ztJae1_xFh-v2$U{;{1_YWQ5v}vT?s2$C+cYshzk4J*w``tJ5j#i5H0{MUribip2TX zB5887hmbKEbue|>{B9?{yLI>A;I;H`vT8M9m0JRhhnOy1&K8un43*RH z{`)z{G85`_vRvL!C;b6RUtUP`@lCntn4(j_agM|S{9!`*aQMhugY;SNw(k!bk$J6A z!OKXeJM@{0rgsz|=LwbVLxiI<&$Fw`1g9v5goUM`P`}8>$;2Is{m0`<_e+oK<)Kk# z!f8)Woxf_Q^>a%Y#FHq)n8qLWQk@sz+-mBy(ni2p^HhE3#ynZ0Pi@7~UP%_B4*)(y z3nIe)YRx+Jb!6e6?(x5a&#fn0A_-e3{AbPW*M|;QTauq2MI0<#Qb`3$v7yY*uewi{ zhig&VT3a8E=|52IML(dwAQs#=k3tX6CEKsc+pm+N_K2IJB|V%)=2*w=^tHo;cPzC0 z!JKH8^!y0LsKXVDcmJ~NZSjf*WxDMV!4lYx+Jl9Q4Y#&CGP|wOwZo+}n)RMZ!u$4Z z;YU8#IZ?2CMm~+7b5giZ`VzYP>90-_eA+LMAWT&HADLjHw#!cK?F~_1o~k)8>BeP< zfu0<9&#GTVMK!nNwO(xM1Hz1eaJQ+8lG6=(ZV51RitgyLnTECqHcfG|OvAt2v4Be$_W2f|!X=yE(n-S|v zDD7@d3#8CHJA+j|1f__{u)N33+5v0$#|ipEq93+1D>gdI^(!)w4_1L`ksI3I z2%bCraa8RV=_luac&u<#>?7wbVM$7#J7`=fI4P>ecH7zHeF?BVU%o--k?l*beorR2 zsX3Ek#mjO`R-Gc(PSFkFZxXwgu!k?ALQdq(VF*=)nwKkRH5cNov^(aBw3S<#-2ww0|JsrD$d*xzl>LT=! zG3BAZTGaKdr&{Fc>)S@Se-4-B?QH5Q#A2PzC>mO7Gpl{ST|IHXTD3WsNanAu*uT)w zX>mBUK+M z71-HT%!WUMgWm@}|0YGtb$M1w^;s?7u(THObG%?aWPqj=-pyBdva_B>GAPDR%L>7%VwZN;HKW=;OXd*qls^RVZUs8yyw95+VN|$usc!Z{ zStu<0xystO%_k;d*9XO=I_d_Y-EGgR5p4DuVi+QQ;;!K3+mtSU^Q)Dpv*U~!FCT`U zZtc)piABpC6#EGC9tI8Hf#@O%#3y)1ZMI4td1_sBkjmI@WLFKv+DlqEMJz2qN{>QI ze<`@elM!%(>}9=|a7VrY%?^cC-W~!b>Y9`GTA@1xW%&|GG!`#6KnHBr_OFY{e!D0Dia`@o! z5|E|gDe_N>eD5uZpcM9JW@@SHxV~1+i?vE>>KEvHcc@2LpJCWZkSzTnfEQ{u`D{03@s@M#y>JcPyS^M?6TX=;d29MPWkr>ih!$Um%!7No{u$QePIqoO+#DE7MNOMS!AA8{sl{9N zJ>Y5fpy$%!09NHOVO}aZIofM)mA(Iszx#hN9LNpzSaIF{>Q}u&##~qt)l-4#G`{OP z5|nWWWCuU3`^c2aT{V1xIp*v&FA%^zH)hNYU+VrWTR+t7uCh<0u2x{1GLf4-+mQIg zx2XpD+OoZ~j8Cx*LHK~aL2u{3K|?yzlUQBp-hMN^1uH(9zwdk>k>L{iZF)a4TtG9| z?J<9cQH~Q>vEZtZBRZ3qX3%tx59^4P9>fE#(xVZq=na>`-uMo5d?}Qv`EC2Fp-|F> zw^}|~X>57D?7gYx8<|@(O8EuF?Bnp1>1m0d$%&~+;;$x8OZtOQ>~G*hUcs3V?~x-C zk2=P@Io@bYz=!_XSCJ&iby|rMvLO5_!qQ_hi`m(Mp`+zEpH^c z4zmO7D2&Tjt8ku2-f*UI1ij-v%ZLqVKHoJCg9xp3O8C(!xd+3cK(ht#+v{>tvHHj7 zT;rD9&WY-@j+aw+Pd-z0OoO}>1erIxUBO$9+1qvAnBVBFxvkg$H};j&8+gLJ*^#?v z@J$V#pPUHyf$4ghN$13%u)57V+o`1YH~WQWcwf#DMH|DJkjgt|ej_S$cY=5}IXQj- zGPE`|4A-EO^^@8fy?n9o>D2pauE|dqQsuN=0$FGphk1*E2_GKz0(OFGtK9Tld5Luj zZEfvp3s^R35L+v-CVdlC>e`?Li`GaEo)A((yWyc5FJ4o7B-dvv-}HAcaLy4ONZp~kLBiA9?8W7t3}Ljbg)!eu)S#_j5ku+RumVlj zo7x2}wDvP7c|j&#)Dg`PPMtC?$=|_j&J~$&Xf!ntczs^+sWOCB->D23E}%V8TLNmP z!jq#sCR`tMNR&JmW-*l_GTIE58K!iJbjjeL+HLfgbmN>F0}>QlXCq!20%y%IQ#Sii zCdynsb$F-)WHGzxVu43NI7v!urE*D(QNxr z5Bh@a-_$uh8hv+;UfkW)`Z$9)Yzd@MmC!|uej)8mD01RBM=MxntixZ47YYxF(zX&Y zsX|))Q!cs?6|NK({6$0ib!eS&tQ74HpBD8eNt1_Lhu_tukcb8l&WX4g&DCF zSXMVkFvN=f5Hl@c(Z%z>&&rIwdM2ehqfQo|)DwU6ogoiS%dgK*kp*I|;JP4O$`YsB zKsc=^Bf?P4%gf8E;v0Q)UgcUsp39~u@$5!xS}(g=*TTUVdF+zGtzIepJ97c=HUkU% z1gKj3{miWuUgds5T1(`-@%u^K#sKcWDI_+T70g?$5jM`0IMeZ@Pdt{yYXHt4(@5fJ z69VTP)$D!WQjhZIjhMUHt)V=V%ht3lp!Qg1G#B~D=(z&Y=}qlqI*rUTw^L8~V>O?s zD8=nVEnedAU%=f2%|WFQZ~b4J4Ho`pWg%``Dk_Tq+y+$lggc36>A)LfpO{q(nQ-5K zPaG&bobBee=tDK@4G+xNyALslYRvLJ=vAoK8%)jnUQ6CXNL|beqKrhGA@{f#GrGTQy2L)<3mjE ze7Ub>EfU!NsO{XgPQVSeyWj2(--v0G`6NlXC7SIl5mD0<3mO zZRlvde7;EojfJJ=3>Kh!;sJU z31vT-wF~u|qSP-;fuGA`{75LXN%4<(tt2X*btp-ZjND8krK)~{G4y@F8f>TW7f7d& zq03G)!{Y;BrL&M?y3?pJ0+$;n6C#n}^hstGU}>R|)}3Limdy&$CvUYk%kC)@L%n$? zOeq6XEoY?c(;H72EFreE|1i6LLTBlEE0$;Z;`+1NesVmRpbyjJkQ^%W=cjKe6np0+ z^v6>J?V;aa`-AkOFNXv_naB?t%$;Xg4}sPRy;8*e-1?Bq?O|n%tW7iY{NP~EU;gv# ztc=FUAA+ivscn8S9zT%TJl0usccIF{(&Zw^6RAl>NIx&z={&{32X}v<^!Ds*w4aXQf+1m=PEX{}; zn+AAL7YScn>}9xr_*|iYKi-*@WJxOXWPH2-Vj>%MIPG_Fc}bK*oShxw3x(lw<-^ra zMQti9oR}i6rdBfsF823DC2x5RJ6sPt2(>bp-p9>d?3p76B9CeuB2RpeR<^t}f?mJg zJckySlo2%BO})N7su}b5~oHedm`L*pTX| z36z*p|G;qD-A$ImSm=S*uw>-f=@%B)kf6v20=B0Kf0|G<_F9&M?#wk?1xhSw9}KLw z?dQ!!Tw-17=HIvuP3{NHCKcH)nnM=)zV0Nz4hL<{57smEK5+Hu`-l3sG${P@wpjNJ z35Za0@V?;Dpd?D~QwZkD99zpeks-ug!0e-_{l?F~l1@Q@xG80r@ro(ONkOyq>NVkd zb?()$UUwD#d+VM(;O)AgoW*%tO_bD2+R;(T4P@Scv#goS88IvUcrW;GqqlqfeIC+MSrl_>bdWl&<(lP3h8vSfX#~ zxOuU=;XjL~FHlt(2Q}Ndn9k6I>pQ{)L|mVv&EBt$I*`QdgqVDO1jmaGq4XCy^SR!( zDvIy#c@V3-YLfoN?e=gXv;wG{`*T5C_&yV<>EN;_BuvH2HuU(Y0s)%}e8d4Q6gIB$ zZt6ciGT~ASoo1&^Mo_lSx;0(wF0_EXObwlueVd=VFUvGj?%ABHI}{C;$#8&Y3Z zE{ItoOxgL`qvaS-kjr7qIe+qBM~i1$_~6RX%Grh&K>K`?Rj)os(Lc^3y?>&;Ix=gc z%r%&v6v`SaNgJ8ARc1&w^F)a_LkK`nFChV9{jo$%O-U)_K#`ReT=D>GW=+(KXCGFB z%PKtj2PdmvUmn44{TsdBplKiN6^iXE{cuE2PY*RoAzH=fA|EvVV;B0sr49{CKpX%i z2$1*MMGLc6duclJ$z6(~?>!X(f_@$wxi**k%Na!zRlZYKjvjJNk;JqaM{@6_rcYFR zd%J=^c5MsOfE>iMa8N|JX)4^l{~Ns=*d{7wH|l1%a7EmYoO;Wze>m5HB~;O8M;%Wl zcmttFN1Owxb=jh~i~ZyJCUGpI)6XjKx23n@76+2_z)TUx8--PhL)rJ%h5aju)?0`C z>t)I7#d((<>@t36V0m&_{LPcXuXQt4gF_XQ;*SrC6j@WoOs%brS2Bn^-_y2-Y=WkM ztU44isPMhIf<@bep8Hd^eq~Oz>G#vXw%pm@k|U!9YEfsKJxP#Uhww)7JLcHD&kmsm zNV|W!9~Mu1A`c0;u~~Hc>HY<_*k#0D=5B8u7w5;aru@-@%L9V%pYocE%itZuX^w;A zj_M%-0Vzf%@&#m0ke; z7WvAbu&{Y~;=$0EH}6P)pjjLzfxZx__lf+HuL;;lk*08iUk$j99Bi_3|O-!CrIGaeN~gQj%WTM1XbKAXrG{3&feYVzXJ zwMjq2{xea_Yh<3Ku@pAzR%eVi5ai{lV5X5cSzG&q^WR^n9^Q{^N86~V&eDhN@vurg z&heQ$jNM&xlzh@PC>tr+^`|OXgaHxA(YO3I>!HHN=`lLujHZHC8HN5`Dv zX;)jCpI-lqj>G)udXo5JscGrGn7;-Y%N5o=gm5YFs^FTZ|DJdH^h*JlNgHaEPHE8$8 zNE=ggq%xkhp_{6aO`Xj@;vL}&(Vz)3Q*^Wq+ya}w-&cNeInW#2nhCxvW`ddxrX|-j zpZ=kDJBlQC94aO^p3oIxPLtWY{W8^ zebsHr(8QPCMlV$Os7N=r)4;2L*S359eg1I2<$MtP8FYfZu{WwGpMTDRO=!Fuv+iP= z?{>Of;&+@*g<1}?OKzijt+xBnhwwMjmy_%20vpWj@;*X+U@J@kVGH{UK1b@U)Bn{v zMphc3{fBhF9hs_WH?#_TCwgq(GJR~JSZGf>zp+yjeuNn-dW#oya8WdP- zq~)u5`geotU*JU|>Ca#Wk}+nk>ETb)D<}wEX>%)2P+msyhiTHp<0shyFB6Ho8o!%6 z5J}Fdzn32ZjLGwSaC>5(!2Xj^f|E*SS*(1$$Me3(PUytOrd4!)SHiYbI+%0YK-4vb zlEfL5px?>-Vp?=qnI=bIxSlZ;JG<=d^DZd1SbCLT-wv8eN)9$dK%LK@0I#0q^e{Lj{f@X6eY+c-5w=zx z%5WXrU=bCHeSHGOz-zgAUFnZbuZ_<<`{>952ZE0+qZ81nShsOH_pStVf_fe1^7Qa4 zl=ea>avw}iyRH&RSKlY#+^|N7bgmg|&Tt(S9*Abn_ ze!;52I3IY4@oEo4%nc0|%_sTNLvQL-rf&l<`%h-ric)y1`~PfzQFtT%Xn^&8w6Ppj zhvI)YyH5hnhC@n4(A^Dw%Vv^J3DH^=3XVQ1muVYkWWd{CDhihIATv1hH$Tst`pIU( zcT7T_w1hUxn?ZRkCy@z)>#&~Nvq%G6Ht2;HImywmn zIr+Ynvp7SB9iKDFcf9hj%*dxyIuhbXN9t$y;slDmx#TIByTX_IV^RagE-4qZ41T<2 zqWvV`Ma%oe3_6Ac!RkRIF@6VH4#+zsG0AnI7=mjabz|n>VJ1#QZ^hLZ6{uNh%gJv| zL(9PGo<}31xXK~sCjoe=V4>w`&a5RxCZqdQ1mKSHcsHUi;7tk2++5Ez z-PIasX$m-j-iclh1-h}Lv(jmtAsh(^ZekmCJrI~Py%(!HvE)|bRg`IXR)wb)`2*ok zd)KYFd&4W`McFG)-RuBsi(Ud5n#E{>S|qomz@%i#6N}2qEJKO&J*0+Uq_Bn3TE2ad zLVH;@dJyI#a+dudzLl6~pYmQ08CfsNaEcl=HO~8GFi_SHf7L{!sARiZdoD$$$q@!> zf4pyv?HtN6(QS<(UrF;76SGL-zh!(x8Ky}M2N4EWq2)7TM3(y9;ymIRm*<83mvED~ z7)-V`CQ}F5rl?YrvX{>TEH!ilG{)?_^1_$B59_=ddwuP@qzBFxFIQ$s7ie9Z_XUuT z`|;lafVw*7FgrR`%~4W;cJ>W%{x0>1oFt}?8*$RIM)D3uK7!>vi#-H)^~?1S^z?n* zt^7B!io5ZeK1%r}V4t(rH5T=-y{Vyz*zT*7FD%-`2b7V$xKPs6*5BNf`7a7=eV3Zt zO;#Y3p=fc-RCo_H!6*n4lF~sL8yO`_T=W1-*Te5Bwyg>e6u;OezRiqSoIMBD*auOH zHs#n!>1*3r)k$-Ebw{W>QXS)>&lIpofaxRcRiGIM8HN2ZU;Q)jAzJTCDmKbq;j>lJ zpH9Zq<68H8Wy{J0hh+3ZAQom8%J9RON`%i!5(O!Rp9jSGy$rCD6Rp{sRzyL)_-hY% zqXZ$-GnO;xDOznNssw=AjY^gy#ma|0Z@-PpGCK^sj( zWWP@?TlBX~?H3mJNU3?#g~1!dbis+HBV!qIC6E3rR+w5I4|$H(F)wsP>@>wR&-@>* z&NGnB_YK=IirQKu)ZTm5rdAcDsM>q)y?5-HA!zwgZPo*)6G#Dh!@ zQIAKhHqNw2m~(SyAv7(9?J2j^{$VKYml?1c4uuOlAG`X948Fk9Hr8{^aqOs;+OcA) zT(Iaj0g4zT-t9{{jBN1T%7GSpKPh$xbe@LwdeYbXVhb_;WsSWx6;UTgUy;ciebvIH(Tg<7dK9om+Z*jWM#VKB=o%_8s*Q1 zhz>U>z{<#(KdHJtQjn6DAU@@Hn~r&E%50~F(1(x@`Y5E@!gf~@gIs#1 zV8M{6VNXFX&MY${-W_tkU!9&a{A1P1S6JL!JFjN84z3m!9P@Kuee>YUUS?u4)$F}F z@bYw;Y4m7cR~FIo5KWOr8CdFgI_`$*0d9h-?%}Z0owsG`MUW?#1*%mh1)jOEX54g| zK_C!NCy~6>=-P~CpDgKpbA4|cDEp&FAh~hw2#Ro1{2y%n?<#Z3&q3d-2_`F@Ng*vO<5enda+LtaRZsk_J*LE|tkypu+c-_{%5l9VutlQrq7q|NA z_Y*;D+D>E4>Y?4bCX#nw9|qGbxf7q#+MP{JK`iD5`b&<&Qgp$1sYpWy+2VW+(Te{fzt!w)Lw9Teqp>xSVsKNNr^ywPp~SU%)pUZ-sB;o`C_Yw6zl=ma_RTF7;g z_e1#5iP6~EsjbFmIfdW$8Ewi_q2h&FxtOa=K7+PJvE!!F``fw5E6t(u6W}Sr9?Gg? zD^UoOp(FLz3Nci#3s*3P&H<#fgNM@YhtNj$rD@rQZUlAR-OlfC&ox)f0vv*HaI8VZ z398ReODj&|#Ymlq7415s0l77Qj;QF_)X#J3WHN}hz5V+!Ea^{G=G2B%AwRb+x-WgK z?#3?qE%)!=s#vKXN6b7~xWYwO zqFUmO3%4;xL{H>HpHB}@;f+p73gb$BMR$p%frF24xY$0KA?7;rKJpd-6ZYiugK&d# zUCI^Zf_)n=zpu$2p5YY_x+_tke&shMUu|BEd37=GoU2;?=Ammc*`yI#?YbSvD?z2< zv2px4pZ!IvE>q0>7#}~em13~7#A?F)prC-N#V_G`AD2SM<-evIZfglf96K`YRJHP+ zjU;iu7H$09sk@ia_p?{w&nHP$!-|5v{)AoUl?F00d>1B8OJI6v(#a~Z;%_RPsR0=X z?c$Xru|-PlztSzxIjtEh^zX&&WT_3@b)!e@TTM@-mT%5f0&#K@NXq$zta?MKRI2kh zb)OhY$cBW@uN?VqJ^CUfE%Azlps<>jw3Cf$YIpO%>psr>;v(!P{@<_}En3(KL{b!8 zJ8wLBL2^1$_b6~iC-M~NEEpL0J}Qre z1W6qav=0Lxtb^-{&d>1B?r_Y-$=wa$;1NA*GSE)=pe2|iDL23LXK-Q@mhp7SpWsi3 z&)w}rs06CSR>PNyACaF@#!TXf9Q&)}bhHTqT(`!5I{y%hBhl3+j$?z$-Xl4sk|dY2 zLiblzc-?1b`?f8k5uC=*{Dx(ku(Z@G;7J-;J&E2^8>mvVq(?7z{ku!9k$lRdKc5qa z`zwRpwJYQWV{exahqN64`}zLNxv_`1D4=yJYJOYnvlf9&hq#j?GcN1E;9&E(uh4N} z<&)u@qZQ6C^VGPmRR3u4{Sn(HB_0ws;KrcGZ9x*0K{Fc70?_3Izg&uzpOruMMuWa} zwz|W?$dKx-bmzj7M_5JDl>~V+Aq{XOcc6edUTr{jrNxPLVf-J5!P+cHvKa*kgvI=1 z^@XW7T*l4pl{ZTqdD)7(L5|91$bHZn!}5sd%GP+`g0_3b?;!CoVsI0jf&#xtyRvD4 zpCD$%l7L(hB%(OyxCmyk8*f+=?Q7-#6rJ}EvN!V9)QMc$1o0=J1O)*T@PH}sd$cYy z`NmAm&>)bb zNQ`O);`=Pp(qu2Snz}_S^Csi2k!g85NI3aYBBG|{P*BV}D|^>uHg7v;@wa#bDCJABwNvo`wg(o96NFNuMfDbckn0O* zAYIqeN-<>nric8e>6mBo_ImMG!15FxRx)!|1?|bIU@N_ zHYcPFCt-DAKO)WGn!+0cUweqOhC;-8oRGVL-5ZB%kp!e+a}Pn7X|kP#CV=jb9gi`bSbJBpf8u+*k3F~#XmRymu%cAjBZo?F-8j28H` zp(5!#XX4>iu?a-T{fyGHwbm zO$?TdBHnNXu3-B*V!?Fo;Fa@kkKuEVCCv;GPz5gAwCS@IP}!-JNFfcahj`zj^m3-# zt6`9muYO82+gP6fwWjs&*Ro3F6O}|N3p$<1HmAtjm7_X19M$xGT^T(p{k$~AsA;!e z{$XSwOP8Eb;r&fm*vkF!RgKrouZN(A!!=;vU-}~a%()l}hp#2*?%>-1I!l*q)R4>G zCo>e^&&s9b8ExSbE&e3!#oZxY6Pm28Mt2Ro&ha^`hg}_e-gt@g*xu{edbI%?uirW| zsSUVqJR5zpoJNs%kg7TK!NJjM9*M#ni2$$PSDQ0VeOKobZwRF60%H^fP?}aDPdYpb z8u4I6m&-!{6@M>-JJta^L5k1}<=`Npg2CLlr z_k5bbm@ZvtDH<3xjnwjvO1&?a0;gUN*hn70UQ=?p{6PmqtUZV2zB0*sRqg==?xm-n zLUzhG32H|P=fn&wu~^IA_6WVKA3vQ9_pFv#vhRinrLfse*h)~*|8U9V{N`t0bU-qF z7mG9J`hw6tWgC#*F9}0IM=Fnxtu}<{w!IFMh?_MY|@3xZRjj2)j5zS_-|FeLbb` zU_s}x+9TH+8kSEpSPm?jI`rgEI=wQ)?Ga*Mvkxia z3>(nRpS9ob|7%H(>tNSZ>kspdMoD_1YC@`(NParY!(?K_dO!QjIpakz>P{ZK}I7h1!AFgL;w2JuO}r(~oFTehwF%Wt7MgzZexrwlZU`L)APga)@&=(33t`-q7fG1xXL zH?BeB*)CY>2@Feo+_WFWA8iBA_`41k!QD_F{scnNOUG{Z(KXTy`v`WdGq*~%v zuu>l5rO=Cd(x$gKzkkk78i&1*`y(hd9ozTH4r1iVOaicLX&Uz6z~5vT$oHi*CLpMS1n<-s{b(q7|ECz@6Bk_{W8H1~sq!y^Md`rZp_Ukj9Q%FMYu}Ivc{4b} z+fTn#mnsnll5JIA{otLP8d=CNGOul->}e1>?IM;vG~&99m&mTT1tFEizT#Prj$h?n zvUecOWTIzUk(JIDqIPLR@$)rK{|PXdgY9Hx4M5tOBzN-PMc!>mqEK@m5g+Rq*zn<4 zO^8`j$2AwGp%Nu;J3TFXg5#NsVw;+P5#c={C8~=bxC!viwpm~M5t+uK znfYB}+w0*_0bi*r$eVb$=v#eV9YEo}|Eqhz{Kn3gLo_Jh#S3})x+YVfe9m0}7e0>i zp)__a>&qKW-e4z=Rgz@%eGR8zm`e#}lGUU2oNUe~qr!)=rJQXc9_IBLhnb ze&!vM^wJ&>ZZ)jW1;{CSh}mv@uF=byQ3An_HR#U#R3l`eN$(nx{sU{?yMrT!s$$Q@ z<~+g{qeR~s};3=Cwt z!glM9jiMytA(nNL>WAyc|1BNCT%M?Yz{v^O;{Or(pj*U_xnduiOJjU7uK*UHP994} zpV-UiPtIKtKH~VccPWE^qo#(>T&UXb+)d z)?<-QfEB@|5MiqSEb(XBZC4S8i|`IfThS=SvLXD z$cG!D(unK*_0`|sLpwj2TYM~y#454~22!b@*D6Z-5vFsT1a{Ng2aahf`Qs&eYu?nsO+gZ~rgTh)t@({{L zi9b+d2qsz# zj)K;PQk#+cXHVnM(4D7U+zi0l3p4meV^%9H zD|y7R`~6ShB<$Ug&GqYWxk4dE$mzcYof49Z>*Ou$C?N#q$=;}hgWa@teIet zSXbnOy%^nD!U{7%v`yC4FU)ccc`3#WypQ)(ZGNyG?g~eWRA48%xFaiBibr z*6b`0H7PIWBKs7>PC|*bHV=Sbw>S3BXZ_z1idYI6FjthHFS#TpYL(n=lSR%uw~0*j z$38`2{(TKQ-YiiH4E38$*Bc$nUD&sM!V~%FjOv?vhDDJDf9_awR-A4hmUOH(B~9{d zp;yn!cpiKQcwxVQoJwVX$)^H-aBQk(4g$-?CTeV(MpV{?Mq@;FPOJk$p8qIe@jY(m z$`N>`e_L)9PJKRoZo9h&qq%jiXTrY?4Z&;*Mfx1=W@$@K72cj7-ETHO4r8eLRmtNn z*{3!@$B=umz3^x@GMWK4og{>Vp;2A2E$i|>WPKI z8DK|GQBTaa7#SSt@84zV(b$z`KnrBW2kPbPD>#_BCS9o?KrE*<_ncHocSd=snk8qUk{Y^k}$a$QjrDE7g5covBr zxnE9R8tgpQQRgrVschXNHZv{8qE%k^z+zR))_Ba)lQrQvLs?{}n=PQWwR1kkpfCddhU&o@r95JP z9_j-qkksE$+(`}Y2K=7e;|sOp>9I_Y`b>27`}%0zK0eM=#}$2p4S!WUXJ82I#`1C~ zPvIu}bS68u?PAz`)gBSm>V{J9SWG2Nl zctmHD0|Tm5o0+BxBrGO%*>EjT3#>=Ys^MV*MBOL5)DyHnAB4oeyIBPYvjS1Cpd-)j`a0XV z22CAAnM0Y%$}YESeo$9LYL5|OC3Vl-Uz7R=&j>EZan{Y{maZ(Hr4V09|3|34C>$xZHoW+DJ&{Jl^(c+GsJ(~M zDwLZ=dWgadOQFp{tWCQds!z3lJkW}pts6G#t(o-11htQdNly;E$Bqij^w9Yc0UeXZ zw@xh*`Dh0h!G|*DZVo@f!Wxpra2ywNl#$2qDW&k6l#6E|1+ZF?uW2*%lrXtWV8G2sE9?6GuKL@ zR$A_>D9{3A>kGd6koQKMZ||QkDg7DA9rNnF9$44~Hl}cj0@0eLE}qkciGR*s54%YG zOtXaBGgr(Fswz4B;vW+KW(eoozwj1+?#&q;1zm=;#G(-1{Ytn2VzUTK!8rDRrrMnn?$M3GYhju z^Z$S&IXlT?cMBs8+@@XL$+0QRdhR^Sq+-uExB(85Cf@@5d>=sXDUr1z0UcP5siXD|xsqf=^yA!}Bit+5nol@`2``fqN@x_p$KqRw%v6v&Fz9sf>X|oGcD%-;QFkTLQby5dkCsufK<_0D$RuO1@{EX`i)?x6avcp(FPTF|>c> zSv$M9S;(Jir}lP^#CMlI$DzeiD6tz-pXCZQ8p~;@%nEF2Ku!1e;xBM!p9PRHGM$rNBL`2HP%VI(xa*T0sd^W)$y8XtZiN79QDZ#n_>%$mY66I(Cdw2CNY9^PK{BwYd z#cM-Zt=uG^%_rcRJsCGTWYR0hAI-4jg?EyRgt$7!qV!YJhLQzI3{1uT({U`q96zN} zrr=rcS5Qy_XP zrp49dVn{hGqCNfl5;em?+epn%NZH6+Sn0Ci$whqI$ekjhL~i&I0rO?)IAtJAV3teM z9E{hPmiN}pq4IsxxuU&OKWQb2dBk>@$n)rn?i1WLgs2`14s+c{EN}XvY4LOkbtsEa zlWM1G#zjgNLIj^a{prAkrzyeM)X7C)&7&_#MaYzPKLF7S{u!^x1D*OcOyNfi=D{kl zrO&ti4A$5N5vz|$y-dUg$KYragI~JkOZ=pukW$27Cs*`!e$g1+8nl}F`-v$w+O!zg zK8l!Dn0*5-QxnZci5*4kf+Eg)r!lDe*5g0V+J?As9+$Y<_-SR=bU4P%)?tRZg=;h; zZsY#5tZ`1qREwDY@*C^{IaQ0b$$FUaCWFo+?2n#w7N#}vb{WT%Hr5Nb=QSgan>|bL$3aM2tA18uxjS}#U_ToG)E)s1ydTU% z8x?lgP_Im+)r$Od9wA)UzlIB`cXD?JSOi|*bq{o(y8`X<_?TyI^ySP+op)HgJ%Wbp zEOVyUO600a-A64W(I@hLu8j^WCfKuEGuGi_doLJl0ZugAB}Eyj|SCj4^_f9vY1 zQWyHaPsWcmjnkUshISN9ZfBM8(!Mn?DiNyn;G8LJ9A%X6Dpgsjsliy??qMQt6mG}< zdLLiU^5J<02QMFxT6IfV2tKb_*&3u0zCT-dDfq8u&dI@m#^LVx@9W+*TH>(Ri!Cb1 zk=woNg!bcdZa%)DzA_^0hyDG7^DV7{vo7wQ5$YD6G&0gGZjy?i-%DYbYkyzyZ`Icm zV{<#sV)XvgQACUhJR%6nj=E&_i_`E3A0K%-lEf8Hll%a?)3VUhV@sirk_!nw=KOhN zOfSx|)!^d55UUn5hOXh$`L5e5)D8j(9Rnd>+2X^${SdDA>;s&0<1y=U?|&fCk3NG_ zWbp9^xO5m-!n}ihkAzdZ8;xbEb5K8pE$j9c_#ZB=0BuaLOz9gh!?8kGcAugKE$)}2 zo8kYp&rBrJm=vCvTUuCIS!i|Mm86@8_ObMsJ9Zp;TPPF;7XygdEE0f&kBd)fV}QUyb$ z;|a|Fga9{}0EQtfcC$Q9NBi(Vob*s3{LcZ&{chjRp<%2_hjx=i?@sE{5n#dD0 zy6{x}Xq<($CAE z_Rq~8d)o|W4Wrrnx6WUce_VUbSIMBLmmh8raWyoj^od?UYUfvj!1&kpou~~=*&4_{T!cuzXFuVT^r2I@Kl`RpHdg3%dNrcM#CX3sMO;{v z6gDbzzwO_!sE@YINRW38x|pq*xU%(YF`uZ6KFiKIujG-)S9#Rep=31>+EBz_HFLhG zu8!Y58{Tc|aUB-MoxKTZT{btj^c?L{I<+k&+B+}TGtrRFfpM4Pq7O!v3Q zEUR#L*&QZ!@|p$TyY1O6-x9O2(*St>6GQXx2o4QK@5n&uLMts+3hrGqXm=l)>Ep(L z_HQEWXeTc#203}TtIhl4T?#eH`zo)|nvvC!zw6FSdRs#u%zjrCzsaM(#4KAv&Yu)G z{yvh9?wI2J_~TNog>Te7e~mw!1^<#%EluZVU9ZTwy+Nqu&WG)Ts}9`_OyoWK@bjEE zjlzr2POX5mbt&n6)cURP2Ls~?N%YACG7MlLlA(E*imVdfaoj1b z{t>e5aUecYkTInJ{1=cCDhJA>J~DroXLc7yB(YMh+$1l}3gsqc!(yH1;}s1n1r6Ow zYw#}*)t1dHKaOo(dp{76g!~$iYWPw`(bw+YVw189t9*TAE5k@L=B)tyIL*@rl8@9% zj^&|%kf*eCj97s<$EChd`t&DJK0%#HXM^*Ny8W*|G3fKkDXs8jXvL#w2)#P_w1|7K z9>RuFE;MjbCkF{g&_H=VMeN*ZFUy$E2Rx%nK#F;~9pBn<$;UIFnlp=-O@+SmsFW6$ zAjak!#tP|~j1yj0^i9~AmmqnhqRx!fbmiD>u4*%XjsJNanlf{VaRktL9eIkHbp`?} zTd!6eJO107zKjSJik&s=p%CVzw=61|>(tKr6V1lVj;-pUx)g(hHEr~{-KK7e#P{BU zLjW&z*!U&T%qN{+#Ih}n4(@$J6(zmBeDIMMMQ;TY~9?vO737zf?bs%_0 zusNRTU?weyjYlv{+ZK=ol{Byj=@H7=Xyf@NK`-plbX6@l+D`LyQ9!K)6R84Q68ll- z-!t;a7ppJb2WEb7I!pJ$-(x$eLEw3!`Rm=Hm-cWaJ&D=Mvlj|U5r?lSG{}F-oJLHF zFyrRLK`6cZ{a5r&%4=Y>PANTGbwz$qKWr@N{#(nhPhO1!W~>K;j^AV_Eb_nppNoKp zi}lxMae)nwJfjY~svaP>;HW_mtr{tD8=+tjRxPw=Dhj!=?^k|-?j%oq6`nTeRa?YH~qDQ zvbnC4IQ{V=Gaz-ig;>okZ153{En0GD?S=kY%u};v+qQ{=3a<_lct=1hRdQ#JN@!5( zLBTO&Q~+wYErzc-3-P6R?H0=LB>=utnKS2FdV4fK9?_Ql?a_Cz65693t!$Q(3VxZ2 zpi`}lz^gPAeD(;nO!3^bsTCB7ezcvmOscfdfh`J?_5z&H6l&4jU_Zp-%8B~~p$!*p zKwhj%J~?Y6)SNoT4^T3@nY=e^dW9k&02M8fzBgPW0xctI#<7rX?I{6EboH%MrXV+` zgZTns8CG;4r_Yh(dSJdlZk*ZJ&p@f;;!u;Y@uZ_rp`LpF!N95!upd->$@9o#Ut-Jj zny}5*ItZlJ=5~YV^e|$^56)wcHIzncqW~$%-@AYJw*!ZbYKMu5s7N9Z`f&X|I-u>v zr}p@dq0f(FXc~(2#xFN;zjA4B*m z-=?Xxy83D$9h{<7BN8gMd?4&{fRdUr)bUsv0sMi$l9PQ%0D<#c`$wDroBFskQBumV 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ⅈ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

    G9Wrnyh!8KD>&8qbCp0 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

    P*t@`K&sY-z{GmO{7zZ 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⪻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�fNeo0So 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 z zq(=HzP>S>#I?{UyMQH+|i6BUo-g{G;5D+xWI1wH9l>>Gqyu9J>_AgtCSN>Fd+24^Vr0= zG?Sq_8f1+WABNDhqpfGmq89Zl=l~XbNoHk`{d{QD+>tf7D2xwb0Gs;N++Unl6Nf_? zNtKtE!oX5r3N-)Pi;!G9tyabF{|WDpaO=4|R^URi@bjEYI^2-gzw-T@y7I4BIYQD_ zCe1f>AYj57s;Gf{#fU4&QDY) zXt^R}0536eFq~GRRTV})M9w1GDl4Dq(nyC<--Gcx_*FmJ>0a(wBr>^E=$Bv{Movf* z1>w>{A&m{m1o)$g9*9UiH+rH*>A1j92QQ@KVj|S_x0y1#BM?yhz1aI8>N!T`4rSig zmm(#rF#b{~jL1$c!KAYi{^?;f-bhk# zPQhpHLeikbT{eFe`gLY{z8 zIzQ}NUW5mphxb^>wYoz#uPn<~c29vd7k++;Te+_Kw<{BI`h2oL>1MC0ZX3TvUAH34 zh+nS1I=mhD=htEO?N!W)&ZI-!yS4eE^d=|_UHw;cCLqX;tXwWoC7nGfB4-#3Ks}k|2WPz5)f?w z?|FllO;MV2YwHQ`+rMmeRp=HT&baXDAs}+Fa4a=?`z`z8#@AGPLYVcx&V@3j1`{UV zkNuLlI3l!z;)j|TPB`WocNGAGk2L6@zoskdR-Vd>kc--@^ZUGfPCh~WVq_t-qqmQF zW%=iz_V3GDob1Lf5^d`Rbyinhy)qyur31PrpZ2jlYSZLwZqUJT<1ELZwfR;CiKq7j zGHsZWnD;M85D6`dEV#z6Ab@DK|EbqI$p_jW{FXP{v&ohu`SS~WG`Y(y@ximslP{n+h_}QhCrcIMF44g(rum@2jq;A*)2EdLYU)|{ z?^8rvEHKvMAZj`zTCK;YL&Q5jJv$tR65%V$-)cP>9k@WxNbVS-DJ}RCGu(PkNTpEr zkrZ7qXN7qW7i=5VAkQ6a-ZkF~(u`jku#7hhR{r08<*Pc`TQ?Ehz3kn(Fl`@RQ-kDDoTJx$;l3 zS+X=JqHQsMA=o=C#32NTZRbn#^bJYFkUbJvS2PDQk{adZ*%XzOcF(VRu_qSgOYRXD z`(ht@18?{6**WRLlk!U*tC~3f!`-HGLxs-kqXO$cK&;cv_GF)Ih!1KQyPt?1QpDfz z?;&mGwKuL$)`MFt&C6_FG_TJ%Hf?o}r{gA0CjzCN#;oGV@S7&h!hG7~ezUm05Gvm38E?pk*wRk- z$P#rJ_@=7hJh78e_5J1H-_23<4vCS>&Y@JD;I|r1z{qiL;Ehb4;Bs8+zWHr%N9Tv6 zT!+>#v!N}QUf!xqRCf(S=H(RSqQS|Uuj1z`g`vY_Fz}Svhdv7IcjvAiD-n~?;YJFx zQMZOxUHso)M{^Okd^o*8zo65Bww0BYanRsR@qo_J{aP`eI3`sxf-UZTVdzhft~&x9 z-JRV9Nk|i^p2NQ$tDXA6@dX>A(p5tU8Vv#h>(Eyp+}iH)X?~R`rHgZq?@=}V>fdE< z*OlVJgc8X{!%wmp|H#{H67Sk(xHolI{}2{J+s^M_mNB=4jCuFn9)3qZN>_!WDiEo%GXd?#Dm)Mi+C za`~hrdJJ(f2sPJp4OX~3xc^VvkbhrSH^JknZq7d zo13{6nla11(dI5vyLHtySezV}dG~`FEv!gS#IA^swu~=Jq=XvN#dv zdIbfruY7Iip=q2{`A|BhZyT`~s>nl720>iclHN3+l_s^o?5mp{-Cyoasj3cv9u-e{ zz1Mx`#S>rt1lz=y@!G-s=JqW_u;pjWLTkv&74lwD36UG#J6dJ&B)Kc*v4&TNg&yCAAA_AnrSOdUkgQ0C zZJryxvXdoM!q_lRZd|~rK_JTW?eX96R*R6V|MZ+P_V))enwp;XMaG#Uw3z=>KlpE; zsHB>VUOFz&XK#josf@GRpiVFSmV@R=>WUa?4EGxm!ae zYOIL0C4Iwfs9w~{V^WX75!smEfz&+`wr>16h&8TaM-K42T`}$YcFd5g!r9|`wM|=> zO^lhFuyF#2yF8+n}l4G5J>dW?88ZCx6h1|6RxyD|k<_ zlXx-VyofswSz;inoZD54O03t~zy-IAqCZy4?vU|!o4I+^d2l_1tS`8wa3*j3xxB0t z#;>W)wc`A{@|?DKE%9(b?dlj@d#5m^jdj3!pg6{a4)T#QgSiaX+3PNsH^Dn;l;l#5 z-S-Vi+2E`$t<^z$^-MLmmqyxQy9LFEZ#?R-`y^4+lH(XQ!e{oe6>4pmUH_1eMh>P9 zL5>S1Ra?g0!j0V+oQ7c}sif|I0;Q_?b~)c1@qu|STJM0~8VT~~Vt)CBFbxdZhWmsn zvQeRpSjIWd;-mIS()Q!x?3&!zQ#}txFc;FPT(NmL=>=5pezvhq2k+nuxPXv@wW8Zy z`pHk4xpqrSNn&-PQt4&t`@W>ZIVK=Lr96>==(1E#3-bEm#6SX;c*E7N@}Po?u)lEl z^Y^v2@0`wE2`Uy5191;Q22UyoD*Nn_%JvK{?~j+Yvih3XK9uZ z|EcW!uVcwy4?wPrzQpge4_+dui7H3{pjPUAj_)dCjboP%9+Ewf~HM)5?< zafY7ePqw9=np}P$fN(&gUmo84r9YaCsN7vT%?78+T&+b)v9sDBpJkvwacH%qW+jAs zi2N!qG`Bk-Xn(8$`M5YcYb|qh%phHzI%_ub+EDiw4G2t7Ar<&uH~#*Wo%KfS7b&~{ zFadszvmD6F`-Js~efnu-_@nC`Q1#2Y(0&1q|00zE0Nwf4+9~@`v%=Lo_1}|(g+Y7U zek%Ftgi{5f7E3pxIJq#n&gDoAy{1`~k3R;I&Uc*J1|k{lJhA~e#u zUVi&7AcJCO+Lpc=Rr3Ip&nv}!CWW7}4U!e~F{$w}B>jZC|B$Crmqq#!iY(XTvT@;K z7Pr1ku8&h_Do36F9)p_><5xdybU)_k4~Ut+Q(3dx8-+;DiUR?@d=(X!!iQ6DIVt>f zO_dXS(;8hwDB=m31W)&uLY@o%0WMIi5 zEtgmtSOOs^_N|#rp!lQtTdMk5q1i#;rECn>=4z+Y<$qL)Vm63*gYV{#oMp0m^C`~Y zSvmyH{~wtb7rzaP86`n130N~8#zMM1lqw<_=)*AZ z;DQNzXqiE<05Ot-*xf(A?kbKRXzzek!DG^?WDo z$KEuaQFWe8yLynZvtqUUQ!JZyW5Mm%>J}Yg>29K5p!CXoO-8vp=;~}>bm2eH?#k`b zq38i0t?J4v=(J{h4`4Lgq~#u0DGd?~YBc*95VC~9JU~Osns$BjA!u%J(t)S@+)7y} zM|sxH3#u03z4@}kyW`N{0sr@9F0`)%uK;S%+y|v&lGgy;%Kyb)e<6T|L%vMJUkCcALQ$WFoT=W5g>#< zB|B(&GFV|yvL5^xyJ;#=%86u&Yq1=DemD{|R{BHTWDqNv{794@dq}Xu+(R2u^CKsK8wQOf*(`5{HUn$m>pj`woa4z+U{iK=b{(towIeGDpfD zB4Kue*#|KB!H>;{u*Q8G`E2)pCOZZMV4xIKDJgp)M*5Q&d;%pzlh0P?x zh&G)i{U>G%L#!7_O5J>wWtb0Ig|Wzy0ZTqIydr?GOO!ph&(R8NV_dYZvX1Z^L`t(yhl=r_VL(3eMwhD(I0md}08k%J(H7)1TYjYr@aSLhm&>BOgma1{E##s0`(hrzpvdHEQzuFw{WyNI+}JER2P1cJ4e3MS{LYd zanPg7+>rchs6on2&iyW-Hr^%cZGjkQg-;Mqk2sBJ#?-p9;`rZOTX!vn zUR}of<^G|%N^{E3XA>XuU`Qk-Ah%qyvfNj^e-;uSKVbac4MQYwoR~csS7R;3{t2Ep z{b-D(`S!1_SR@$)=85pj|e8Bnjs(4(%dmJ5`!+_PE;-Jr!bO#YMDbs zoZq&tj&VaxYg=U=k!R@Gdu(>5_0ezH_x#0S56RH{loGO!|Neg7_lxaJLZmM&mV`mQsY7)Rm<3eY+YqR)yBJ%$7B zdt`4IuZG-UYInqYU-Pxyqna1~CJV4wE0DU*TEDNT=aSMgn*LkO#rqC`DU>|J+Bh@G z++}oCprU!yd$BDg+M-EGKH!0V-iYW*sk3Q$k%^{UHBz;fK#7(w^(!gtoyw~g z45c_}+;F{Ovm~8tUF>;Fe5R3Ln&td4^#g|=^+#Q{zN_0W4cE)wbIx+%5g?uY>oYw; zXV#R>qe~nvp8C8E(@tB+u3qc@M?P%_D|7z5V8{PsD=sjc$(Sq)Wy--WtlVvvi2``x%+xJMlw-MEiqa8lpQ~hnqL?z((tIZn>khCM|~QRqPP$2 z&0qSDUsCy&4aN_B{HS4QoZYqoBs_{Ql&G$>DfnL%E-Cy5>{~gD_Q8O&9U#3O~2Qh&PODFFifFoy3Ruv;ot5;kD z6equX1&7J?cDc572_I$1n!a3`bV83Ey`D2c`d%u<+IL&JAC&WQryRcS-mFsNw$M=B zWpT->Evp*s+6AvxyXHI_~++R5!T^wN2rcpCFEVL?FpO{mwP*gy) zuoKW{e=dxGDmF`f%W}yCmqxkR#IRt4jOcxO1hNuaqTiSe+vZzYE^EJx5J{pOt6z_N zJ|m64h88>LXQO9^BPAofyl;wD8dE11ovaE9x>-0lT4T4>1v-1q3g^g##~#YmryJLb zTNmK|a%eouB7~O^zlHrRusWf&bIW;_@ZN|nu6L)acK-npT5z&y%vz%j`)O<%KXF?h z<|{v_!IbVWMRgyf(v~J7KbM zJl)!(SMF-6G40V+fRp7N_G+@UBMiO)x*68?6HcxIASwP5kYT&&WYLsN9T5AneHZ3E zO|4&WU$$V2czASobyM4lFkHC+Mcl@OBhs^9+o$%F9^F3r_4bm^Uskf93Z72HOAPzgQlH);*a=$M4DUaJ3sX`kO?>2bpw#aQqoR_W1*l#of+b zudiPf`w%`Foa`(kA{dK=(CQ#c2R&YTiPcS+p_ME_D!@969^mD55#{)BSGn z;xv!7gcQbO+@pOZ+s*zR1akh%SBioVPBSMO0mJ9MXb3k7qEoWEYS_Kh8}_Go!Fh}c zi261(ruUF-WRuy5wl4!0Pyb9Mno0Q@?)PrFzI3rpac}qb}$5^MlnOx zXh+x?9f-w_pJ=80@61(IKoyBX9h37kJE5Wv{&%XO(nc~w15Cyhy9xpgKv6#mUxy+T zArs%iHg#N52>%AQ-g@NUW%FQ1Me?&f@^KtiU>4*s@&2(sMUA*fE(vAf?uetNYw;Bxu^wEtbB zGWB`seUXcz(*V$HDuult8(;MURaRZd6ab|&Y5JsaY>=#XoA4rdUiWm>8hf}@e2O?S zymw32zj&;98dA6@lXBUPJ019!ceC=yP5H4}r}x>fmsJO=ng8T#;{$?o9NjRw;Rs6W znR5Mn(if?Y5a;eE(U0ZHA=75XOCS43fUBC>o_8|9$wY~!Sq>CK!Lv-JO1(BZdzeO3 z5@bkMksA>Z1aE=@n)kal>|kmB%*rS1`^Rj8H9S)})@r2H7lKB376sFfvwkUS2L`*r z*5A$M{?M2Hw&9EcfjBd>jC{CCP%KidHD*>wnrS0~Qt0B-cEmJ;7MCz)nCM9~4XAP5 zOu9eSsIhDm`kCoLv_U>=d2<#_dN&)cG-x8&^8jwh&SJ_M4CXN)_$D_Ef~k%^UHR2^F08|pYwU6*ndwG|LQW(TH|$-a&6D}r zZFMB1^4{6wgUPPt)25xpTc4lZt!)Q5Uk~d1rUU!nNm(i5^Aoe}*1HT5;mz}>N?;Xt z%_l6Jkq}M@As9tMrUjDfXLizh zfw{7bRKYY~;6egh14>RaWmI6-v*U+fRc`tEM?4nQY*>MO=>K)=4x; zE$L+ZpXJnEJos8c(6S9o{ii=gGf6p%?a(8?LV^F^jk7_ug6&d|6j3rA9A48*SlFs< z^95z3ZffFS>e{6f<5D{IF%m?pQThy`f^J~8GXj5;i=MKNgLIFRQx<8cz)1->QP45| zQlPBmrQ^=o$%ViKM39_Fu;^GNEu6HJ6j-!lIY!asMJ17-#gx+6$`d0&K+^t*l2SE| z5iU6OwF1nAd}WylWEA2K8o|RT2!JE&K&8{{&9|;Pgvk-q#}%<2yoX$R(LsPkpU`Y# z2Cs-rPq&8gyT8y#;CEmu{8%k%U__S0>5#;!1~slw<^VNy|b_fOhkf5776UMXeYHfYHHkvGt zB4O`x{SFsI>t=hRV{;upS)drI(b|@kbCip>TZummobCf)UTtX z7l`f!H#h9BW^9(r%Fmz6%PY?2DH#^*ArP^exL)DQB56ow4OH431o|mDXRUvn2tE zo>*uv?>3X%RYK6Jt@^YKGPx%2paYxq(6r78Lc~znbraE*oZ)U}&nCDjOYuOqGY_IhMNI;#$g9F~Pu`hxizk@s!F$!r#T0rQ!Nz++^%^vEHcDuXH)CI*zwB?4lsq0&!)*h&feB_m zPx*EOaOcj8-$)2KVMsC8+9S_h8ZA62(PUrrjE!UTu6}u~DxBdae(m|B6m2PpjCjZB zSu0S*L6<$!2#XxdpCu~tO#kxlA}Q94IRgUoZcm!Zah7zkQTK^};ht7@-oNV){}PD` z-y%9KT#-Flhj%T}O+|5NW5P7%xEonLak?dc-}ysL8!Z58p=s#_Ic?fHyB~hlW!hbd zGE(s#9hiy;_IEayT=sY)JOJe5={LNl_vnbCeV;3-mwplI_=t9Xc4BMDS#lWVZZaC* zwgZURS#6`)G%OY66j&)t*FbS-3_*^UywT zFlC3eEGSIr@@OsiadIq4mXqevH|LIPobrt&4GxeTxFti`InJ6S^u|t~TZL^e9t5m} zT0P_upCBuGlh~EGuZO;({)g|oxyJJuF&{p*sGi%ezxO{^CmhOAvx7Nx z%om*{9|`Ea-otNfJi$u8;l4V{yU);+>(u05zJKK&xhuFV>iEpYL{O~1paaf7;ns4 zeEoR6m)*z2LFsvLND!S5mBX+P2HXXz}dkTIg zXM)fU6mNq9LyeBRS8xf9ITOS1(Fz5Fsm{Fdut~h)oK#Krq<%pG2Sq0VVdeNqU~_^@ z1D2GU>QaP6gg6w5m+Z@*7~m^M%-6ETiEBCdDOsH=JTWI|qYdow>u7%3z>$pk2*`)B z((be{ynli-H_@6{_h;k((V&D}U`We+JJ;03Csq)4_B(ct%!TPRB}E6e(agjr&NWZ$ zjF%YA-N%mEchQ%Xmd#s_yl5ek7cdii|#Tr_2BckI?Fx>`x z0RGcBXReWrU1_m{_3DZeo_5b%t(c)uKN(Y$I=$SPst{QB&T}{eA-|+~%^Z40wJj`A z63Fia?Wh|$?m9kJ{^up0E0Sw-pPkJ>;BckaiB^T!5zix0v#~RIQ(r3na+oLb*TTZ+ z!uRi+mvNj-rwS1#c~;c=)a)zj;AP$64noWMy#PReX%_?2sq@qfdM`iS+0~h50pRV; z%i~Qp&*i`OT_&zvZ==P!Y8hqEju%K>J92C>CA>B=hqW7iEOjz2?-z4gKK389lex_K zyDPsR+Lh4TM$_AEj*gBpPFj6!?(FD|qdV76$yaR)k(B-IXFZx2G!B}DSoA1-SpMm& zz^>I3|J-+yB$K4+{z@jmJt(FAZ2-e>DNHfd-Jm_u9GBRAcQ zz!qIMt%Cgbt&0bNQdi}3%I~c#orxBgDwaIdJZi3LNe7x4`&Y!`$pe_8`<*E+`|!-%7j@FLPR^WlhX}mHw>>`PGF_9CCbRUeXk(E_{`J9|AHP2na?RE;_^s6go*mN_SK$L;clq(RsSYRxZF=}+O z5PUPD99q-a5|IEZV^Qh|)nvuVjb=rP+F``jPJtE#%*-{+leZ4bbOZ=+x739wQDGV!OzW?Am0yv5Uv z)s1xfr?V2j`>C5rHb%8R2_D@U8y|?-08|!XVHx)3bNDY%N!@$g_NJ}({{m6ESq=&* zCJ6a_59z$d%FxNgwg%J}Xwpai;SB(oVGdF)$3__lmMX5)1U3Lih(teAFGqvn3YSGd zD~)ntDRY5pG${(9zxXNDM5Y70Hkg*_n~TsEi(1}{V_R{2D3p&U7;kyhsk!$^w%{Klu<7<8OCS!1F?u}92NjHKl*{lX+55Nj}( z-9&vTCO}j(HAA8G!i5;jjak^)%zmQZD=sPN=@DoPSYPNz2C zZtnj0|H{MvS7#rJ{l3%>SnU`6NcAfWWL5KJ@jsK6j=NtLVMPA6q@_`{b`<-smEf$e z$u*b&*`_T@pawCNV8dk1sL-;*fcP+_Y0CtrK>~9cSUZG;AJmMSPcjsUg=Eflo=r-s zrDY|Dd{TY2_l$1|?87-_#!W(stgUbgyN`I?=jlGWfj z=e?+{#XB-Apb0s~XtcbvYhB+W4a_uAPmyt#R#o(`lE^R71?E&%gpH)==sA{B^m-zPm3?z{9KrBaRDQcgS+ znr;bk(FAExa(tUm;#s&Rm|3C!{d~E(;s==u81fxbL<0XyQ(fkIK_0E5R8qJ*A{5+Q zdtZh|jhfEz2~HA6M8gf?tobbZk4E)bQ!qj^cm}OePcs#%vEB0Dg5qMN<_IBIJH~{7 z$Ped40J1Hyc@%r|o#FB2#j)j0f`#j}b@C_hfxL2LCx<@=74MW;)k{t*oO1Asy~mV# za|592H2IpSxMT)(sgBaFnJT3y0#-sD!B`eo#>g%j|I}YN0x?jO0hwSVxYACP2E?RN zdTOZ>#~~e5PG3!s@lGaMWlo|*;@+fNIg{UII#Vs{=E8fw=fY06-f`ESBMQtQ7`t~o&<6@U$y>=cq>M9V6 z1(e9}Vs=N~%(5gdH7O*SN(EOW3(gIZs(;3ARZ0M=>=2gXe^g1MMCm$0sm26LVAY}^ z06BzJ6p@(yH@qjhsFGg4`-56LUE#&v+I8KjI{aXC?%l)iB*aYMtmP*7T$mXV?B8@F zWqffgTThLuu2WH_wvJka%r$G(WWuaH^WFT_2m~@qlHin*&fKqCOh5!RdqgHgEtOc} znH1$h020Ry7>ygLVxF{6+{+kw&fHxbPBUyYcJsW_OsUY(`mid7Qn>t_(~Z*F1_sqg zKp5NkN=1VS3|ihcR?3F|{s{wdy)bTMc!4119F(dSCWZ*;V;ZCwm%C#{VD}kuoi54$L8II*} zm2ASmKz}92(2gk zemn5Y=f*b%vq{`c+B~JSnXB}5B@9La35H=?8VM>$$!VbLpk}-Y_o`^t=3h+**&E)w zQ_`-Nv3YP%knI2=xmhzn;I5*oH?KVVmP8rpK%$w`UxC+rN!6BZUPsb_V_5z1I`A^1n~VWXYGZ)`4w_ z=1noMT{-pWoqUuKx%b3iQ$T}r;vU=u(#rg*)w|QuA!_c#Vgw3Nz4Y*PTJR9)-^j$L-M_8)J?h|Gneyi zW~@#Y^K6A6dD630g}g1ng<5oD_1JjfuerK{UZy{P9SP8XX7CvQHu@3rI~#g*E)>J~ zA=@UAs!Dc%pXc*rj@r#}RaQi_JTDQuWoyo2qW0SFbnWE!dii6kO-Q&9q`Ug0`M$cL zkfey%w=w)NAv1%)7wG6Q{=dGBbL!x9X9eF56Bk3OxEs|v2Lq(>!fCQojLAr3RMg`T zfZ4x=e>jniy&kxtKE7E3#eu%;c>uTmO$e(w`2qu-IQNSbjxmBH>ljOvGevcbmf zvQ7`H=c=ci?q>|t=}|w4v3O~5dvt@Xq^pf8$Y=YghzazAHWgEfK)pxe|si zh~x69G4cYnxEM}06mwdSH(My|A!|MBW-*n*lX?Yz6mDd{J+{#E&`6wV?I&>!VB;&% zuqGXv!%nA~)jbYbkFCLuUIW?U0PTKa*1KxvjM8dkjH}Gkoa8~d)5yp1`e(Q-&s?Zj z<9^pnXl`e1oxl>E_~&2sSdWh7s{oneT?sTEn#6|rk^V>nD2iX9OVu-tqTNSgL1ab1 zaN57wV%RiF$MHOrt16NuZHL}CxQ{9G1;=|T(kRULUzh6$xtCY|_6BV;9(QY?qbCct zyLS(czq_zF{gkukeftQzu@wVEP`10EcWB7*~W2bP>@Uyt5_MjeZ16lu@0!2|0u8w z7?GBi9)`3!tgIx@dXqt(ynVy1z!Cg!9hiq7U%!4Pp?k7x-?}s`X4SiQ_A%meBcShU zV1G#dn6Qm@^(H>At4mz%D?X+kBO2JU#GuW6sFCQ|8xbLsFIy8yXvRC^-(c9`OHn0E zE=o2h6_TIu{AB(50M~{6Zok%^<`8o1X!n9(SoY7?wW$c7O+UgpPLvid@Auz|^S!2~ zf$%EE&bxPeFq0obmcByA-!L6wt`Qxry3+3^_%gO^sz$^#cdvkS@{Nxw77X1VdtKu= z>W}1;X>8MWZzi5wohFcG2PFoM^u&Drp3&8vvlUBEWYeYeLF{(!-_5^_;BDYw{?lS5 zRkSWfk8ZK`xpu>HdzMncgy?VpKCnmI&XKux=e#opNXa14)ZD@B9`=SbO;nZ$_l4jc zdo2(YY?C4XZapMf0y-@ZDRiS} z)HCbpXoVV?grJX7FME*T^sfK60ya*PFM3$NmjgwWg4(9yy69)`=6zrLMJVZI2z#05 z4KWE3$C}k_EbqEpEr{>QP21ThH1i)rgywda;>~$JO9Oyyv4_z-jQ1@+lxxG7;tc#g zM&{TXqryFZoso>6Ca9h$K5}P?b+7mil!;*CIJ*&xnm4vWayEm})=~uznodIoXNVdMnY{J5SPvzrky-Y<3Q7$%?i)2%UJrKifoLHg<3IXTLBA^55LEbeM@vU4&;zArdP!!OsNf%WpPzJ8CtiZDfv zKTJ#%AHXQnNT`!0tSd1QQhv8T(uJkXq7HHypltE-ryl8$K6UC}-?Z_v=`Zur(rgw< z<({Hq>)lW$rJ!5kPzmd_|BNsG+=h!=eE_zNzkBvxKc6t^93BozW8g7gr$l1f+cBwZ zm|*sOHQU4wtP&BvL3(K&J6VsjQ9gPA4p3P9dh)Vk(S{2m?ZqOuT`Ue z!dtaY5M6?^0eM4#uU;v~<#ec$+Z0!9BJz_QpE@#8JW1L-_7+0`tu4nO#G<1R#hAo* zvu2ob3MOy=3MVa2nPFf-XKK3D6CUW}Q%!e$me*E%#jK&xJyBcd5yT_+oL&sC_?(PW zi{=Xx%?iGBGtPw~{)Q9GMFbn`>gqZTCXP(mNCrIDm5WjyxmiY){6KxqRr(DNGy#xr zZJ@)ytfBSpA&Uu6l*1<+rBss4V3@&0XeN6`_bE!P)BEM-QncmDsM=3LHNx=U@@@<$N^0m z1?HS!n>%FJqC~@u;QT`tC@>68%H<}$a*G3Yfvt-k)f^kMLEbV4XCCOoJl)I7czoq* zt^4uEK_)h~fc*Y+u$D;LEW}!bU|Q`dw_x)3W&OSo`P~fi{r|rYT-gAKE1#+5cqJDi zK@vJR@mot6L{l3psv=;j|Hn3I|Fur3-<>W{BeKR@rdX2 zckK@|I4S61jtaQst%6Wo90XD0--HE$rtBMb<7lgx8(9RJgsVsqpPu~Pdu>^&gBi}z zs(}uJKwN_Zyg03o`7GtR3eVvLOXGtFQo6c{k0m(5h!zyzs9k?`y+Z)YS$+3xpk+_n z%QEAxf}YNAO6Jq|qDTX6Q~lw&YFdY8s(Uf@h5^nZ0TR?bAIdes57fBSK&r&PlssAj zej;H;WYZ`OcXq65AkjU6P0>u!NO?*!rQhVRmRJYsPQ~SrL8cmoc}>dGUz0$jH#oAs zpyOvlBtl)=l%$nZd$_6wbSWT~b@+3D@=JCSuvrjw^&Z z@pg3f_PUKKRWnYLa{eLffy%&58F#5ek8z7XSlZiF;XBHM>U^?wUcas6`$8m3UG>6b z&+vg}X}{ecB&=HLY25Rp$!gTYfYWb=2ACBS5?4N(sZ}_i&7eBx@KXF(8p$lKO ztE7j4Pm8lw?z~Wz=LA0h>Mm6wx#D?Oq#ZNVPCCj-?{_ zxJy@^+I}pBcFCLH2;QtfO#p)Y2TqIYC9UcqHn%b~qpUMY1dg z!0R*K@A5tikjb)5f-ZYEvv5_j))IrJD2_lN9q8v50uDJ807Wj_$OgW@opCx6Kq7Gj zZmzt$x2;~tLAxPxJF{|G@5W)gReC-?pvOv+G|vcNJ3h2>OE+ff{)F@k&#N^_=}y_}~9p^y~E) zH@m+OaU&%oTmF`p>HCidY~01}cTLsmHb0v%<5Vkj8I70h(QK1EZSdsR?zu0L7gnkK zC5M1(HM&^S?)!lT;o*e~5)7-?%Oe6oV4T6SjZ88hhM49yl%XJRkQML79j2Q3KyXAX_>pcRGX>&pxj?07GURRg6Hw+e z16K`!A|gUc8Y8&Cr#+~u&O29TjTZtu?G=@k((}6-8$_mr#SftT!ex>HI7%N9fQDF_>rVAEg_MT`A;J(XADyIOg}ms)@^hU z8jv;i#1(!wu0bLx8O2mFE*9q^HDXB>h)dC14HBC&7uKv#H2eS@bp6lo--%*<*G+ww zy6-$DS9(LPa59+vr+Ee$;?dse_GV;>%-U=UfIHRDbDrAVMj@&44IUmFeg%Y#D#|}D zO39#`xp6KcC?n|#j0pGf3H9;ON&CXYqaGBY?2t3TxS#j^p_ovlqywF5x>JYCLN6my z)!Be0w$@Go)Nm^OvR3B3>zzl~heeYVWE3PoOQGWGyIWofS^pdK4DZX@3|SG$=`0{e zwdvkpttZi(j5D^q{6gvp1R(naqc?Zvh|O~7TCfE+ktUlGi8|Yl=KQGQ+y#bia5}EP zf>X9$Fcm)(LPjE405!mb1njkg93%=Sz49>DJt$>sGpKc`I#Dt=wXCvIzGilGO;zDf z%U5^D;H=!CyoZ*2Scgtib&);{l@9riX*#325CHVj>%)pR0xT5w=dW#Y^b6Qx-Rt=6 zK$4}~jy-~nN#fH78bIfnQ(jJKkD9w?#$J&%RU_&DA?vK7+IYY>9XxoT6fN!)2~Ke+ zUNk?vxH~Py9g2H#clY8nXem&<5IhBnTLT4(7ueZ7XZL@xm$^yioJ=w^-}`>g1C6Mz zjv$kK*C5yFB^F~6e}!!DK8On2H>{_>!&#fQ69+``y}{SNhXvWs;k|{K9`IG}j$9!li|w)@ zdp@%(V(h$nLz@*5)h`Xd4$}}X#?M@GSz>LGsTAP`1?zwA_PF9ZQQv)BhD81}Kcl@` zO&U@{yidiKaOs!o_r2bWE<9Btk~j+Jl^b>IBv)-&*9Ctbw#olimzLIeEDp*wLC5Oa z{I#hgbPzrHO;Tfl?d@7J5zd3;#M4aw6D?yGMI_nQt>^8-_37g#eSePTQl+C^_uZxw zjPc{L-EtC`%`cOLfK$#k7c0{qzBa@t2{YAO?QHhE^Ubdj!o0jDDU zHH>(Mw|Os0A=`wcaaWDejCc%%T?2f&-s~E zAoa8e{;h7!PiK<*;qilV8-(@4b^s*m7#m0@{IB;e5AH@-pmG2BLN5JYdh+p}_B}j) zy?oujD<7qF%-O{CY5#cY=;-kZh4eA5%cRdYU;l>u-C8yCxKk%1Sbh08bx(ZC+fgSB z1CjiUTcs|Uh(A6I#1=B)70Lb*9nFsNmRKL5aOcA`n6w&_+ds4%eNSm1&UqoGT3gHQ z_lh>TB+9UC+aVNydGQNT3RMGclrav+S8kc*NbYTUR|M0PnnsLsK;fZnUb!0ngaDuN zwkX9ZG>T_~pHm~PjXTmZw{G_f0yp@=-kgpg;5kL>FjpLQ*%`OymRnO%qLr?Jt0`_4zSyT527X~alpweL0OZX^eyl)?*+;uYi= zIr!uI&fnkREpQLIKcP5DkO%!pJt;si>a}$2E1vg)ww?B4{bJp)RY8_htLpO~a&Vr| zzMh^fHAXd-*^X19yMjXxFTlY>`0g4Su&Ad6ut(9XBe)G3EcdVDG5&K+p+ zKd$xP{nqOLw^hgYyh+kUQpW$NyJ6PzQ)Pv0b!dvwNPLyOZrzkadO31^MJ~hM{psYi zjzuw|M>4=;l@3$`s>mg^fi-ryu7sS~_uu{=-q+rmUFc0YvXaz1N5>n!z;h_DRfV*j zmrthQq5t`NYxHz5K=d|ar;0rq2M4Fab#$!5HU~3}y{I3CsY!tlOGe^IS*>heDml?& zZSwWs2{>VuU3&Daw3Ys-P?9W2O>p0vxX62teYwe3WVsX(QQv{oBi~3=KGs7IBQn9Z zoo%69u;4ed%PXg7uh7k7c{3;fVa4rsZ3s=ECRDs}yuLb#7~5fechXeui}5q&k|F-* zWTY^w6uHkkZ-+XmYznppi}&A6$Vdfy zFNXMY@$9>YTqgq*OK4gFEs>7i?Xm^>Pjk~XGn4L2M?=lQLE=-H`qZvxfHbzNuiM;A zBhHojGN96ymcBp#;5>m)+Rvw&}=u&YwaxZ!b=ctbr4AL&^wi>Q;xcsHd7`4X+AwW>wjj)gW` zX-^Y{x(Ty{s%N9bAPh#aZtzj{G-eeH8V>qJyEhIRB_UV z8f|itI7{?cqqba{j^O7&Brg`ZVmkMpAnQxCf!#HjvqJH2#le!Lui&e~!WTi00%=x# zs|*UJ$T;H$u{YD~*Lh6%CT~N@AuQN$-V?X6cwf8GrH(gsZ*+|#JLL==VK&St&W!0^<=LdBg9962)%~9sHz+;Y|#SR#{E)tYr)AD zdgNEAEB+>a#Zx?w2f+=f8C-60qH!?)V`K>jT1wUt+hT=Nc8<9ojHN)X-ht|>90P%X zXO)PE(EK`pcQX@k^&89j_f#Hz=0v0`ve#_sy~&UTglW{fJauWQ6C^t!u-|$J_c^VF zEqAQBbxLlyw*Px9UWyA}@F%%^jd;)2`up^0^Ll%X%-Upc*s~}9C-A$YOtz07F0ED@ z8i-#ZAo29@?wD?&U++yupj-ckM+mA+aAM#xlMfB8RGVdLD*djgqW0Yt83uL&^B}II zl40}5K7kv!#%{}JF_Emgm-%R{n4r{e3%j>#Qwt6Iz7fKQ49We@xBm~l_CFo=r@pU+ zKE}#7zs+mW3V;H>x5sZtX2B3HQ}N)m^KfJeWf}DVtTyNE>d;GLPDa*}^65P}h)5hh z==$dvbBEHY;2tQncDiqt+FF*QrV4!AZ38aBwkndVYDZ6m;5+aDyV#t%SfS|Dr1IXi zoQ47MM=QV+LxhS-dy(Y>xOhc_>vYdk=OZ>pdzJct7N}n84dX})@{<8sW0cgD;jG(YoLh(=%S8b5C=!a*$*ZeBc&VOr1bQnS{*f|D& zSz^;N&M*6DGmCzuTmq5beBXx6sHg2|hf2x+Wd`9}nc#pQv$Om$MHs=K+(bZ|tGKf) zl1?#n;e0-$HuTyzI(RHMl!%%veGJ3<;@Sdzr>B|`lLgHEg~`w;iw(@F`%O22LIEd8 zoDU1mJf2DgAp%ICM~X_Xi$b4-LB~2}Qa?N{dyY>GWU!js7F!(uj5c9tvzwj}OGQwI zQ@>rt@3uk7I<9t*{QOSKfF9h^E)%4O`fUO_5O>l(O%jxc)b0I#bifq`l`U*bYd@8Y z?ber!-RTD3`2F;!Mk5qf_%eHVaL3^YawaD9oiF-?4XJ);b$&N$ffnkm)q1$rCj^OE z#6y{w;4O}6Q-c!QqKrR2aQ#*8-BNBq{8BJ}Sq;Mc;(Z$C{|(XXy)GNdQ2$^q{I7kZ z%QX3)AE-|M9|O1|74nsOpfp{DGhJJPb&l7!@$jR@2LSN%#8Bk6%-_E4{nyPDPcnQ6 zlA0Jtd?+qY4A6d4V0erfN?tqlDLwV+i`k@3lo_cIxtRATm3cK0FvKO@v)$dLQxu|t zm9YrosOd@vGsnCyD8*u&H-68^fZm>i>y#*@ZQ@XjTOx~5Ei?zR#Dr#o0a6>QUm*sV za9n-FsakP7DoYWQG5mN$nNqGil8iF7Qt#Ig=lwfBbXjK$Xss~EtEMyjL{K%eJBDtO>T42KVMc{ zN-?}oJF(uotYV(o7A;f8_`PlJc=HMEnAu5tiSWw{Kvxr_19kTA7)dgW$PNRKKr52qle@B zy0%5?XX@ZtjUSW!qOPj@#BY)eSmwVr z&yj*~8Ed1()FEZ%(^2(tc%VdRX#!RH!b6<)BxM?Gk@98r>=Css7UaLL9ExBrR=-co zQ;gcwq2jcZD!6E+3G$fTDR?Rk!W1T)dd%j+p;#bo*uq}zok87_&skZ z1G*Z8ZAtnZn5%(*B!b^e52nV$3N)5!Lv;#w^9`_Vv8_wD@(mJAA;9-;OC4ni0<}m| zm^d^z2^&no1ndkmRS93?>AWZMdEW^8E-=CP!(nOM*vZTTj8;ZwrB3-8G7lWB8iy+G ztZ{71Jhir3s6H4}t*{I-h~N~2R>*V3Kugj|wU-Q*ZR)JzEg6*%Ew&kviU{HLju^GO|% z);CIP`DS2cz(_gSi4gKNps|nYKN6;FsJzcL!#z${yKW>P4N!oP08BwN`B1qe*^vp? zT*rhVXdGhR$uDo}==5p(=`&R#cZ^1ao)IiO1zX!GJ{O1@)s7e(VqwNn5=fV)KbOZS zwkEN0kDwsYXW{>iWU8v>`1$w&W~qzw))@oj@1nkttd};cawh4mwjQ0!_1mehfPkXW znYlXaqQcUUt@T3ewXsp==cLXFy;3sGI{FM&iCMqO{2)D^nFHv_rD^m`Z?6#uHHD zMvWijrx;wO^e2#KZRuZqrUp8rdI4`b`@B#SAD^NTRYH%%leWH|S-PGcA#rr{C{Cq@ z3k|UZup8~^v3wfYI1xJBX1|?u%F#Hz5tQ9XY60(M*HS*dS-X6mHEuZ_C{o0?#j?Nb zDe*AmrQZYZp-C1su|RqXmzU|7y#EzRC)n&<+&Uy@0pED|L)+d=@4w7a>1<+Z%4)PI zLkY=4uT7is@RwSz-#YW|R!!xe0#Qg!1bJQQ%Kh6Lx_506Ru|-a8Iu#$93JR<{wJQysC9kE3n1q`T zvcnpv+W{nkyP?yNr(Uw2=N-SjUvjqWdgfIeo%jd8e>MBvsza-$z(e>AjL7mOn6lC~ zw;}UFC=p?U#QpjG-NZ3!fu7H}47X^x*3i%YjUFcE>~f?K{>8?XyZl9)rTLXsP~%^KmX^GI7)ZIRD}p5ZPUC+luG%yd{mh)525c;Uu{!UQ8?PXRArW{Qbqnls{ty$T-vX z)4t?NxuWrx%ww@dJGc_1&%G&L=wxl!#s@-XzSiOM_4e66#k3tmLK>n-7S)SV4v_qN z6Bi181c!#;i>_~8p<@IS%^HXgE_Nwx+~;cV8Z;2+7|{&XzB$|?dM4AAXEq(QO%w^A z`fpnKG_{C~8v%5G{h*UHGp2SNNrk8nVwlbE0_cYP{8BjM;w(f}WNv1FXMw1!^ppI3 zNA7&T*A#O5&*8^8cOH{>Kv1WV>qia&^*rrWcOUVFtH947?I<0{6;tD|mDJPktfqeh zd72d4W9llFa67UuauZaEr(gAbec#0tcW~2adwYrAqUbjQDS6h-HZ-;(o^5;U^ho!I zd=N&DP%5Fli#nw~vMQjEc0}<@$_cJ zJMs;DRF1O!@dluluE_+qeuIjMlNp{o@{KizGR zcV>YdMm>rZ{Pe-$I7L!Y{@!Xr3?`l2{mbM?KeLgAn?3Jt<4N-WqPHLjV79PC6VE^M zuGI@xfhB+7CUXDo17S0;!vf&aDD3Uol}B;N%P97a>=Ty~lc2mp|JDkRj~A+&>rqb=d-<#+ z!jdw@_}Ht%wBB@LS+kO9y|QlDuI*R6E=vz&^{IeKC@>`n90`{R>5LVe>S&TXxnoXIzxOL$ZJgYO36|wW9OIZb}Pw5 zeJ;*io_P{+w9W|uGfRFFn?Ju+o`oCnzpcF3b?WPd_pwrH$JppIYGg3=?2wa2r8)r& z@EzF3x`qgHvOV0XuqP-0;8H%U1-=Be5x#K~cpGljH$CV2v{Di>Kf@6m@F9z=LP_W) zYiI;Mhmeu$?V61$2UfaE>ydZI_ee1@F^6suzKdP|cvmE?HyU#u3-FPA`msp5B)qfa zjS$0z3&b|yByHu|t@U`Tbjkr_us!B&9w!Dp)O-lNul!(h0(etYLkXZnaBB%HFxglm zk|>~19wqr^8rw4K5Ezh^5xa5m`v)O%ZGdp1tp}dlXke6q&(Jkdt-+B_&5!|rQ7&Bs z-u{=CBl3ZkhQ{y}A2Ma_{>0q^;liKvqxa*>QA zu^wGr#$-$K%*2Y`JH|BwE9BvhaDVQ@&%?EBzmccir?b0F2(R46LP=LC+O}Upub#Gv@n)N8z3vOX`+A%ia!T;9A5s%-)bm@IQ#}TO&m^V#K6`_mQZpJ<)k_F?? zqopMdSX*}yfp_&a&})7_5A0q|&rshMO0o`*h5WoW1+joq;|2cwgE|0z^!xD|FW#_J z$Cfpkm*0A{NQd|cf1!QNBelesZdBPoX2xp(qp+Nzr|X0d5q*Y;aJ2uvA9E4N0VNV3 zOu4r%*#vVOS0e=KBgsv&D?i);y3>ggOEgopkJJ%R-1OZPsAts2Y8e8FkI6 zFsJM1XsX*=mp-TN?sk4K2iBmCGHl0$lcIyV|GyIdWN0bl8wEjcj#WfXG0V$4nUYTNi(4G75 zO(j`G3{0JqME>10O#(Jo16}xS==uzmb3=Qo@zRUbR1hda1rQ~^9s?7FqAnVyX5sF2ha0*uX|^pDb2UTL%u&`ZQ(1_e30s`T z0EOxX&XhVX)KhOOi8Et1*{>eO$g);AiB;jKJ9Y9)bX4GmA-S+#Nl zUHib$Bct|2sW-SlDS26=8K>F1mi|v!^6TCU8e#cj9Ethh|1No@NTjclP7O+A#5d^4 z#JzT?M!ce%67_}qV<3Q(w&BmZZMcP$*u1_>1wCq32E$?j^)j;l8Bl9%r&N7Y(}u0~ z8k14!awxFf4>v6cYTQbR$uJLMGE`<1@#VmTl#F~Vr~jiW5B=7~rp+G#@V&7pNEh_w zE4YVbBNzx@?Ze{yzdr+3!iB@TlC<;!$RQ$NI(cx(st8*}%5wwxlRO;^iqU=7+?wVqJ^eImT$zuQd2*~LSV3u)FsXYZ@&xi*!`&GVhEqI zz-(Vkfs_hs16DGCG7vRB6#k)x3^RtRe4Vag*UUwqz1d2Q;almJvBzNi6MaC)9rI|* zo}<;(>J~h}_xD>~^+tOcpSnKNg#$Xm$|~hhp%exS&_m8$se4&iIbBUvotxfT0C{S( zO=|aWpMS)uTfDTPf`Fg9UT5gtI0dGrfR@15p`VjK1=raN>4zy9Sru3_inHIDan^vs z?>tkjIW% z{!b6bNz-9!yyVRD)F?}cI&{PYj}cQ)eL^6NR4rDwrIt%p4Lse=5D^Ny%T(QXZV?_i zH)&KuqA&!lZNUu3Em5hd<=T13AkrCXrh!P#z+8&2IWqW15eH1SIk>}qQAzMuU@aH(1qdB!fW@N>=u%*v5ZIT zEW(q0#NOqnsg0=>2@hbR0r&@&$Q@NZ8{5LYNNb4%7{dFjl53|~|I^|AfDo~K3WY(cjzTL^shM=K8OgNUVCp_sf zAOHOQdzmL{#L8-yz4aiyGVG`~UQd>fZCfn!W?y5bam z<~@|+@3Bh!nmAM<$rh;zY!;GL{5Wl=vHT^WS;!_I)56UUY_#mbTr8S3e!5_PbQ7JZ zJ9BZ%>u`T-YsR7qOINKr>_mp4a=|H)^59$Q64Q=;;1^IwOvM2XHv##73=HX+Jz_!gA%7i~ zPuiU>bGHrO=O?ipA4;kT+P-S{?Qf_ZCq7b5)v(7`!`)YG+t@Q2!D5IASG2 zo^`CbD3#56)4u9kqRF5C`eobSvP=%l+1iG{lj!XrTkvi*=T|*8#Vc@w~DdepMb}P<9P2G#^w#Q5uVdUQhTt`1-FwOR*gO5t0ZEMDV zwyMwg)S#IM-?q&*TC$ay3einfe1mhdRa*KHsk9gJh_7j$&Z?H_e0WY+bL$H&k1$>T z$s_u92)ZQ%aEaw)0g6BTTJ#t-eRdo!Zp4bsz7}%bf1fw1H8U`P#WwHNo!+;zt7=P~kC-K<_&<$*Etmr6 zF3BlU8y)0_bEfARsaQ9a+erPY70F{DRl#nbN~Li8r0dsb);N9l@buXKAliSwAUb4O z^yYH&%I>*hw?f+Ron22Z_hQ=a*A7!{D2*0>!Y7kqtePW**- z%&%&FfK=MVjNNe^)%o_4Vdg5-#^}9lOco$(Z?L<7pY~sxI7{|XZTu|H+ja8HauKP8 zL^*PBK|jqDnP(?4mQT(xC0=l=*41KS`ssh01%^@iBl$4J8cYSws~3n%7hWt#J+!g5 zmZOzLgM30Yr}B)A?b|qhM!Ic9Z8J%>$Xi|t)!e*qf26W3JUv!LX)n&t?F7sXOnAxb zRss|G8)~iKDawJ3puv= zw>R?_&LCP8vN`N#mJU7gMjb5;mFo7ol5E8*$^Pv>{d?WM{_vRRZk*JaH%%Dlq4Uj; z8%^yQVC(AK@4sj3IzZvxZAT;Pb|trsddXAM|83KUO!DI)6TJ;LrtPu+F{|)k15YUJI@kuEZ)L7C{e&r(OJE{(ny+5rCmE`HD9Jn zcI)3-9?GMZ0XcMw=8rv>m;5AhG+D`nh_2c!D6l6(I)<>dw}pHF70^ zKAde|L1R_f;hMi~fLSlO(9qqVot>2nds%HVMFlxMz4(VkA%~^~JQtdmju0m*yE3x? zNlFpZje+u|qZn9{yE6R2yD$0V>eHH2;O%f$qTJJi&A()K^EXA(w|DW-`VDTo03+d< zyYX^^&Q8kenR?Hbo*pHpBx zYBt_?J3pO;g99%wc-M0ab=>cCzVJn?{@y}~%TtPf)a+a$47d1VoX}ZkkaY^RO|ooq zuaf`1S}e1wB=gh6Tyu08`nEuG%1eIK5-&DL{+S!;`Q^2FyM*gR$9n&LD88l2Fqyx! zBq~R9!gD{ZhO9-0_<6YPm;N5Om56hM<@5a}AUhH?TjK7go7c%Lny2pim4-YF&SLS) z$*?sc_nS_0l^0VjyFul3c8V?)+Ik%eZ+vJ{LWJDhhxFV7D6R&=jWZ02W)~4BloAG` zA@`DxsDWhcO|Xpr6JxcgvHiZRhEBRz(_W_!YEaen9ch+r)w(B%IuKzl)hQj|)jJ#% z55%=tNxseW%VA$QHka;sdgn|t?a>!>@t6cdc(^D~LMfhY@40caI?V^oT&p8FKmGjB zJu^{EZalfdzvy~?kxfmyhoOVnMlR}?k^I}Aq zgv_@}M0?a-A&m+mkBv|E1$k$px_cSsuAV1+F5GO4MJj#wmGCDNGQ} zkblx)$#X!on)vJL#VJQJVG>(f(7U$?C_+4EzxE;*Ux z7Yg-QNEf-cl7ZjM{To`_aqAlg&fkkQ_{5>ri2z%tYDX-urY4T@;Lt6bPUF+m z2PcuSYZ~5kByCp#`4#ue`V85v9_0FPA0J`(gIhv6VzX z{j^c3mMi!Y^^AUdr4G)uXW9AIy^}CrFU}qi`xNL`>0ggaTBk!JIEBeX^pP9{L&m*S zs5urMekeeJh9QcL^!xm8Mb_;>zrJWfd?Qj>rrq6@Z|uK&4*+%Npm8LcyFFng`y^+B)^&#}A1I>1Oj@r13kngb0v(lI9cY1YB-GS~*n zT;F}qVVop7D{@66Y!#kjYsAuV2(DoP$98@F^J{1^TU-D6zoQ|PRUed~Z1%52uSg}B z@iwRL&ZOx0Lr~+)Ww-Rw{{MOLFcE(@ICZ7~kUu4j=)S7r1Xr)3E9G{Xmh zW;dOW7=&IKwxp-ZzXL_Yo^Y$NRLF6141|`WdqGh@0|Y&rX-mnhAC4gwVsVxr>qs*6 zfrx{YT%6m`Ycr;ZHu*yij32+AQ9Nh78Pqz0<-bIg{wOeId;>n?-{<}(z+@EZZU91I;kqlbAMmx-8&xSs~?hToUHr|nAB-0 zM`3YFV;E79vW`)&0kO8h0R)R9<3}o^7@HzfxnRSuuq1ruL`=>|q9n|E6kzjU(8i0! zxc!I*Wfm7xRe4W5DJAQa@|BX=6D%z;XTVT#CpdDzcU!0hAuk3qGU#$f;K~(ClmXid zqbl64156R%K`a;^giT=xfS~8Wh=WzxzBDAFftb-1b?Cl!Lr1b-v?R?d|0V`m5_Gt} z;fzel#X}#U{7)%Im)>5CjS`|V<~5{?gK4RrLaM^Wxx+|^`bBkrkrf!?4FZ=X=zQca ztBu1kT;N|hE4KY28coaXIXZG=$rPqUOtLul3{?MMFW!yMr~rL+1pUGI8RkeewQ2EV z@Xdwx-^;U^&HJL8(qAg-Tgg1@*61&oc2bxX!IhL~4BQo0iwu}IW=>dO%kt)VLu@6O zz0(?oa&(MjIE2B^7Y$R^(oakP*Vwm;L^U>D{%Es*k?&?5+iQNup=8EVUQL^NPx~E& zn=_(9UI8cQh~x)ZF?x#OU{P8K{l(8VbDWf(4QXJ0p+1p{H}=|)Ns+Ry?30?MItNBX zWD4HcJ^v_}-ct@thRz!?NWl3VI~)RuIQy7Z0ResWpK_|9lA~m1kR?OM1>u#;8#-o@ zFks56utvaQpp{xoBi~wF)v|R}w0wiYWf^Ike0~bbz0Se3M$gt(;$*}g0z*SJ!=FDl zpu~7p-b&j{M-b)cWcTg;ivn?F*?x!u$TQ^yD<-&cyoEciwpNyL$RfH~G18V5%#_Y= zMajAk=)%F(*5O<*#mxWY!K@}RsRoqR5uegYpZVL!%D_Z()i9>ssG{MajTFl=)wET` zSs*%6U@%pz7=b9r950VNE_MPDIXfm^xdQBcWJ;bg+o}RT2Ct>&8H z+F31dMzGQh0w^i7_u;tAlkcURw9CmDK`Li0U%@m$`H&5vS>KWh%e0LxM-SH+5+cN~ zoP5PDUSjy2TZ4pQ`jw#ikcI7-1|k*E%(228Q=#&>j6Jn3h`)gp&^ghF2pIA+KYv6@ z0twQKL@6IX=xs#=#{?;-TMjmGJb0YXE7JKfKrcCKTbRi3Ir&E_EuX3JLu6~WShGwx zV5b-`i)=BhpLe|nw@%vTrY(P z26~!t-JYN%X1rRNe56KwOm*-k1bC3Gv{}sD6&6v4_a)yvKgX&gd&Fo938GQnzm~#x ztx#f_$14CbffAm{)6Lb|a^V zhmU#28R9eo_iX=373FMvb*Q@kyM8F9SwqsH9p0dyZ;;1fsyKFky%hP~b#&#l<+i=LD^qlUW*(xVPMm*Ls)MgI1$=zxyZV*E-OXLp@s+VcmVq^A4$eFzhRU1F{#07M(T&1{ zfzehk!>6bX=)4EbjE=-e&@Fe?GfS4|; zvM-!cGVobCUHASn2yBju$xw*|&RBl8RwAL`3-Qfhe`VeFVfH_={=nOg6}(57*{|IK3Qv2FUN;e~Om^{k>PKSB5MvcIpk9;9>5P ze%{_^J6}u9^x}+vdA)5Am{BUrdn{W&eZ0GmkAF7$HJbvMCEVtXR!xbGb=SJg@Ce*q zXt{3%eWI``N_YH3sCCz1_hwjrr^o18>wZ(Q|Lmsi;&4Kk0L(YKy@ ze`>jFm89we+`1D_*ZZ`}7DP9s>aLGYdHLLVN0FC}JBP!F(d?GISy!`+jICsI$r@p2 zHs+F38R~o__syY}fy{%ak7zQ2lxEVy1^Ic(vvZ9*GylRw_kAkV&eJ%tYJVvAjTHWM z?q!u0j#i;`;`ObAkdw%R{{c`mM(zbuVCWUkzSToPX(A52* z)p)#<7^Mi@HP+VW#~0r~eOuK}294%8cA;V2wd$h)MC0?i+1m8tY+rS)-PE-dqA4JF zsy}b46E3DT5tMFR$zCC!YVTNB^#X#KI6$bb?Wgw~xgc)bFdfxkCh_-$zX$o3_B;6X zsXBsdLO|7fD)+vPB3DiE{n@7fw|F&ukN!l2n4Vg}6?{WF;O|X2!WFa7)zx!#_tH|D>G*RtHo=sXYSJVM4y6GoSU5vrzbaXzZfd6K zk!(MfVt&Bl?I*vg2J?sLkfq==4*dgSzK!0Vku8onpd|)URglv)(_G}||M`P3DyeAF z9(#m6QD52|Q{*0X8f=@*9ltFWt9-F5zDko_aH)lCxVqdGo~cu6_#C^46oS8PYHi6) zZWNt}+=(ICgNH%#1J&Zw@_-rW5VRRx6dazp|GFej zy+SpT@Z-z%)Ak4bn^9u-Yrn_g3-(!QV1|gYqwfr0eD`>M8j@0Bkty|-cTqrdwtH{TcFT{miputuKz`)}QzjU*a_f!LF2czNCpFY^dDsy7JEJ5Bl(o^?mE} zLg_kb!k+MT%9X#QqC6;BKB7ec;9@15$z`fJRh-=ruTaH&tq(QU z9&YMnC+bVUsWQCN1Bxpna97|-ZbqW?fO&^u6^0chM&BpCR1(t5?*wY-wA`hth1J# zxx7kL>fD}kbC%FIB>v41Vi(S`T5&H=qBO(%r9Cr?lj_Z8yYq|rr+t|x zX6*BSV`;`s1=%}p?GTe2OO@kIe+nAdqUi<$f%XDkP${O)ceW^ZLnJC{_3HEq9wPB? ztLbCp01ncm`&9B7{D9G z9O_JEx+$YBL+i$&pWWYD(axByn>^gG@zicM^$`{2?}9b-k9)|Nw!MZdOn62nfVw%0 zxSzMBZ#~Dks7#;##SoHfu)Orp<$inPfrRYr_rQmsXaBMPcbvB{)8zKtuF(4OOJZx< zY#4;Ti4FmLv2haTE(m^Q6nr?CX3~EyR|Ea++pyh zKvP_swwiIHo*r-)<2JHwYouRzdS61%eg**C_WUy|enKbxhngbI^z@?S0){eCxgFNx z9jszn+YwgG?=V0uhV`W=qEM#6T2fS6#6_*BL(s$Jg=VKP^+uon<(Kah&_C3P{_vGd z(o|C>Ji4yTA%emzgVUxKNo8<%9}lNs@y3x#PP<7acwHu7-T4Y* z^cq)Sy|4f8>eW(+*DU2C>IY^VULz)H-~KStg<{xE`$J$+{5YT(h?|Y}(d&CfMF7nX z`8R5A*88R1h~dBBhl#bdU2d?`lqF#v?3`4URQcbDla(>HHJNoOgn`>DP-0|RXxU=< z0|p#PNN<`i*2l@JtP+IX{C@`u|1({9I%jJ1sWhcJT238NzKsIf-Mks8YCqqKk)bDe z=@Um{5S@Q|MkGc!v`KJRi}vW2i8*tI$ooypEh5)opkk zU`7`_s;@?8Uo*`&r$F|V64d+)2B;NS4zex0^4+pQgP2_q`9JrnjRBP^bbAQ%zU6*y z5JNU)lpJ_ZZ&=Ywrij=rEBRw3ah|q(^>mncuAMZkYC-dj_IgFyNsRnaN^De$yc#p# z0prnM^FV-{zD-a6FH8^{w22{J31LX!KhPPt%SRi=B%-GEqL;){{!Z}YjDt8Z{mV@5 zHxOCq3+2bIxzBgLnKFd7|Am~X{YopkvstW3b~cgOvh1T@EEDe$DwxJum1%^^6N8&V zoQi*C$1346Vv;e0rT_R*`}O8v1o6EXJ%Z#{+20e(#b4~$+@R71&WPIWLE4|1l+ck- zS*e&X355$^eq#P zNCJc|7!4cQfm?ZA+z6w7$C3>lPl_uZ5>MIUIFvB?3brO7K|hdngQ-DYq;CB=Q)8VS z+%9J(*$n<#qg7e0`FrPF`tod0NFt?xzQXPxhIUQn`vcR1gN(uf!Wj~Fe<0u)qa)dP zv@Ou>qfZ;QhJg|2saB$ue4CcCQZ|S~FKlx%lwn*>kP!}SU9ucl##Zi(oEisj zBpH}`Imb%}iYYC@VLK)=@vu0U zTFts976m$#EgPgA1m~gsM77dI70FgqoV~z@E1e6h*frW){f)tvnatPcLMGj~8rOgj^AAgyk%3 z7P)Opc=ss(1F=49!BHwceRvBKc6;^LYA4~>kv9&KMmz?XuX(_8Ov$A|!?vxno-Wrz zr~|i-6*i+(rLcWqp~o;P1!~TX8~#|VOu3Hoj(`k#E+V_Q@iv5!1?0k$!%i2Q-qa}A z(gza2hWCZ5PKnY<{${5()x;@t3euz=c~+>Nry7&>z3Wq6s2X5{OOf;dm|& z^bH!vND?Y9^5C~ly}K~z(6mRlmRbT2dK-sgKDkk$U|J55HTFDB*uMYJ$Ho(8_i0>Hl zzr6u=L(d|Qv%j$<+22I1!{Ell#&s&(%`SB2m$xrl@eqDGKdu6thP>xT^pAg%5oajX5a_{` z`Qu+fl`h}AuInvH65BT8qN2ZF*8U7#(qNf@|4wKv=_R?0)-L_4V(*PllgrshthjtJ z;S-&(TMIeAc>&GQtc1I`8&9@#Z@lMZt(AvSshX4%FYgkd+vEO!IW)R?5Z#cwCsF)6C=~Jz`(lS z0EbUIl30z^X~U^|I=XQCr%3aAy;>3SRu2~4Y?C!JzT!muF0YCDf6Z*itS?j;_gs&) zh;|1~Ih;jvHEEq@E&ZGKs@w{6KVN=qOwV|gY!|+K{`%+kbhvug980c}(lD>);qGu+ zk25M`b-LP3y``mPE7->!b&Z#?$ZFn-46d5=aQxI)c_o4pe#+ToG%kz*>g=tAOQjs~ zu7Z`b{$1blW-Y2(QdA@Kv}kk<+$2f(f+AmMzL;txuo?Gcz^se9EoDv}-|2aO8}h-X zqZw}#>v(bx@R0Gw8Ugeu{lb?^VsCS<(<~H*nT94u?7J5R7YP5d-2nH-S`;X)vsloP=uSRMuj{eEct6k>M5wlu08l}>1S5XpJV<~IO#~gF) zF4c`HrtdkJq>@wVeCzLh5DNM-=6iT_>4SJP_S3OhV-;HiYl6p^8jm^|qwb_LS51*DF9JAk8+&B%~R*0>!=$Ut$9W%tgf@=6& zo?E;4NkL;bYB#48m#P$%Li%s}d3tutsipj4WYj_P@4G$%sY}zQ$Qyg)I zSBJQ)lRz9E1z0;Or@=9j=5ZxB|D&yjO^fS|%f*r2A$r001)X1RPl{*s1!8eLTVu{M z&W(Yiye+He3Ml6U%eE!g_o2%pQL_{{6PGqzoFT@cU5&m8HY>BM{?k;{P_6MPL&Y@S zOTvO0^BdJJET3+H(|)v29!50OVfKpIkX0?mP~KUp1=$^aiUCBn7+YbmX-WClB#d^Z zx`TS?^neM&uxft%bHUV!;I`Lh9n%gh@eSkACn5qdgf^zPA5+(>u#F-K_{Sy{M1ROW zzWb+h*K2$H{>Ob843Gp?HQg;f^6L85@VT1w$|jjPJnM!bsO%=wtJmydUC z(p32@@{)couw#A`^5U)pvqUN0*H3e`^4L*ovI&|JZ_^xhuUKfERx9mRx5LjjJEQ6a zL5(%7r9MER#vA0@=46rPhK@OF=IMU_60@4<75t7*@`T3w1r`2|oD1@jtlt9_7N{en zoG=p5=aH%GOvS<2Bz||Kkv(bBZG_IHxcKYzX0Ro+YnO1*lQp~zGu4HiA(MLSIMm`TuKUcF?Ad}kT|%3s3V%q&54 zsXJjt@7F`vr|dMQ7^{vCJO@kH2RgHpBT6vnG@J3Q*toMn+p}$vgC_{n$`S|kS@JCf>ZOY>x9JjcvifuO6|O{X$sOTEYQFYT z-Lql~HA%gTV!_y7mavDwPaQB+%)G`X8E?f{v@0Y}*yQJ3XJgEMzsvC#e9cxStC6C5 ziSx=>5T;4HDoKdc4Dr3(*uE&Xoxd}i(5y$#SB!kFRqx$-Kf$meOJUKCv0^KboZ)om zWW+IsKD#kM8zWrMCD5k(!y9j_`b>`fDXT|V3oZa-hH zs?y@4pq=fEYo0AIt{>MGa#s6+2OMBN?%8COvAtySoSx~Gs&!*WF3ahA$w$Lg{)$gM zVS0M&Nu{qCEv~%U%=kpR&ri1|OBnjf`Dr$H@I#dkuNsn3Zq#1#)Usd1Lzyb3rQ@Gt zfbtpPr?lpu)~zM7L`zl7W=qQ*dt#roJdY6ztBuk$&?hWK$YzQFQg%W80vRWhUc_Jr zJ;>4Owf9wUSCky?lkThTc~$p(>YC}Upw6hXG8Z`@Ep(Z#`?>8`WMc;YVLU8M-1%km z=B?Ot^gV#ST#FFbp5&izkDuIYbRH&m^3LaoJ3a7UDwSFZ>P#0E$d&GIr-x>Zwb3Ws z&rxg#9%B>lwmHnl;~9_u=eY*kBJ9bIFDV$YmXiQKMhNkGmaQdk>fFnDYh@H{wByx| z_@W@Zd30{uAbi;0v};@Nf$tXRXYs=vtvy#avvI|T4~x*wGc0g--6No7p3A;1vqsvf zs8CaT_B8XvKZOx#z{SzQU8Zlm|1cF(pTEYM?=664RdURre6Fk-d8)_kb}AsK-(TUP z!o7DI(2Te4SD3Bimxee<4w$>8udiI#)*CrHspJp{Cy{HKI8B)hfM~jx_}tM6t_(+W z3+@y>44|PrN_NMBXzR~VP(kC|pRUZucen~=JKYYLd;dRPfS4HH>j#jO&a*uZRkGPKs4UA;KgPZ=+DXtR5ZrS$}-AQhxFT?P|9;EWh$V?kx@M@O=&2y)MLd{4kBT zKX`>7XGhvQzkIwU3xfSNCpt|FQHuI;8KEX`X-EG3ifrcQ3~U+1-F2V1{!P*uOf;52 zul%sz!tub=U~!Bdza<(bA8Qb!9O<5IGv{pF9FT z72Y8T1lpN?=7OLcm73CJi9g;r+^B(emMuzEyvylf8suuB)Olb6b#g(k8g2yQIV-$x z*ad(8BO(;q7a?9oKV&2j74Q3#NaRl`ZGUK!;(lx4;K8d0c(UggO@e^efe?fMb9(_f`iSAb<9RP56zlqNJW$&wHRBmWeyS;X`o0#46^hi6C` zgjPj>3+YLO>3*0%DZqk-V9+4F1;h< zcF{oS0}vODHCk*4{E66xO@+S*NKVs?i$R%Ij2D2Zj-`X_I zsz9Uft*ib=&)0es>^ zMC=g=#pbP~pp$fAWCXF1^gO@<*O94tmAV{f`{hUxrZL#&ka>60FZV%&5Jp^k=;16V z)rtw!x)$~#8)}`!V5Lef;+w)4>0m@+W1#mZT97kQpV&qnLQsiJn@@Zz#>4a=LUt1^ z#-j#EwSAHf)l|9ELTLU91bNy16nf>Y6*vMaC4?~qTmWC|_4D}q<}v(5;^~@XsR%+? z1T{q~Eg^xp_7g5{+0AS^3Jp6OuHFdXsuLrCi9G-WBRE$MBB)hIcCpZk0s-fYApFcf z5Mg;JCj0_&CwBWXnaI%@N(Y4*dA>UY4+4^k-WnXDoMf$Q$^`-QMhK=b8kkozG;lv% zRe&63Kh3y1_)1#zYj(!*vEC-8=DtO?PbuO>jfIPC!-)r3^m9zD;%vj{TgHD|`!~Lx z-dDi7M+36&S`Cp>FF@*TM5h@rcjU7D%|+%-CfgR+a%Et+T&6lr#w==D*j@K*JGwYH zAj|N#Z?NEWH##EKdL5;Os=Z>CcrhtqtOt6#{E z&`PW_ho-FM#>}p)rd^C|^w(D(?>Z22xkcDYH1=l-tMbsxxZLhd*PiWgX^&fxg-{GX z|G7}PGA$%<==kv!D~N^*{8{bZ;AN$dNe-o@P4hhPOW95yIQNWw3m7Qb7z?6^e)?f!8s~et zJ@D7I4kCMKYA46?BujDp_V6plgl`2dokq^}`3o*96~H2WL|{xUdjl?jl}f+kYRPDP zy^L$3E!1<0lv?^EYw_$G_5{VJ3Wr0st5S7KE2Afq?<1W%7b+Vlv>pgPH8+%&z;+o{ zOdl%>)(W$*te&~Ke+WGJySDW2~PZwEE&1O3T&z?5US!Usi#G1!Ku69H}K2oB| z_di=6P{LqnG1ZJ@`+-*s%o$Hld)QcGnj_V&L9i#fHKO*`f~y{s6)9d8W8Y}$of zU0Qr>k)QBD$*@_eI}c=NZLA(FoDezdf`a8rX9F2#c9Vm3G#|F#OW7&hpXy=FuIOYP zD+%$xLdnG}S?B;;9>LgBCn^8sKhFG#Kiwufzl^^HLMg#*omp-_3>u%%%2{FiZL{?w zRih9EC${%pQdDT(V5nvtNSe)BoSG^}k7N&AhN;33zloi`N2dlZm&vU1|4A9d{n?*UXC@2Th;xzV6$RY%3FjVX zgEAH$uTNx7S5;zZ4l9?FpVv&lWp%!8U!W+`f5uyV*{(FCdiZYufa2G6mod*r#_}x+SuMGcG*u@sI~#tm>!`AQOnrkZhzz>b5i6(O? zD$1XqcDMm059gNOo1JZP_7Zp2KIc}W8qT9{58ib?+j3+ZPj!!czcULiib%q{(v<`Z zX;j@6AMbi8LLLe33v9?)G6QNS|L)0H_;**7J1Ux}2;msv#}(_k>RX>l_3TnAOC5W1?Ajdv zfYzkRF6j3x(y~$h#89zRjCE|dV9O&)&tjf{&bz06QR3)T}4yIUwTnPnl;p`+6t?#i~ho>lRx@k8BLpXuMOLg~9+I|GLJ^YcF# z#?3Bsy3$u9$sDN5zlVp8Jvf8N^7F+>J3E}!>c|Vba8zsH$u*v;=J_|CP!-{~8T+z@ zi3cb25#n;%R)_)Xu;oSpD8e9#&!JB1bhKH``18nO^*h%wJJmt=`k%I!VHVHaGWOGR z_4JE`xOI7jtff1z8?34f1`KYoy3CHC($eGGOoYo3O-|a31k3++8y`7KnL?`I23g!M zZ4I~_QC|d_02fz7%8o330hQb0Ua=sdzLDhWzpInDTe}LoMOnVhrpCET_~vm^vzK4+ zyUnwAdj4Lx-<(Hz&L6(jE@AsCRl#z>W@~(RX_V1*3{N3{>03kIn-bwHUwN5pl~6PE z{-wfWj@Jew>%7HZEMIoFWt}&te04Omy){H@kD*u}^Ello@134I0tDRd$y0lK!DuGL zxpbF*P=Ua-!?gTWF*6Bj;E~_Fe1M$u={;CkR!0$Du1f`9xnycKwr`G$UD9c&q`356 z5%2rm&F{x^r{8pT6;_P>ELN%hOJA+YjOWsY>#mH8q1&yI;G5-j(#Q9DKhXZT&1OYc zO6n?%)>Fz7i9_)Xs8Yv52279T*~%T=Wp1`rZ>FY1 zqdw>xNKm{CzVlS<r{-GFHAZb82#YpNCtYNP!m}#|~ zC+E~I*Zt3b1MV-kk4+bBj`hB2OQvI~lUKNR*aIB@Qc0g;( zMGS#4M+^0LhF%-n8fUB<2&fqUSF7hDi!|iUl8vLYww7;f`>M^DV@?4|#sHV_&bez^ zgj9=6X$*Ym_WAX?FG@n@c0}6N22Q)qh$S?#7i-p;Akj}TUWeIwVEwkM>u<~wXawx=oi3W> z0cB-4y~gGlr?Q5jsV+Rj3d{-OgbW5TFo76=xc>>?-~B@9 zQ-q%fvBdz?)jcw)|CQH+fUl6oi{#9du*?C*W9Q6bWX6ABZ?wJ~a-+NP-%jr254q9@ z$Ec7!FXBR4Q%jiAmh#eb`ZM0F2k(oie{56@(2XQ;Ge2bNq28Phw>ke?du9!VgE{A6 zoD>83X#TRu`@cUD)p}9>3U7ETh4PY}Mfk|j45b4ah9-nED5Q*<1jcWpPyU9R7GdxH z?eXy)%59GPo^gIUQ=R67hIRgba=ovafEgx&u^Ca$DTGW}Ct zPASI#D=hu>{A4zy3R+VRRAi&iOzJNC@*=Fm5)PY*#6UnJ98esfcSRg4ulfcDbPoAX zzy1V!LQTzf)OLL{&lw+^ss7z7G1q*8oXm^<7iR=?q7Hd4S{V$1v>{->IrxIwZzy{G z?dMc9p6qf)lJPP<_kvbve%G|uSXg~?Z{{z?;6`W40%Y{g?lYjV-2eADu;&#$e^D*! z>y>fsyoJK}z`oKy*qf=}_lFtxP{jX=jcpP2^S zyIy2F)x!ml8N3pAD2(>U!4M7r!)I#$C6+oYkrqZCr^Z%^cyAp`Pm3%n%#YxQNLhRO zGW&}@Fw)TE7jpqT%I0Vi&OChsLph((Mj^I8Jgwg^q+q2maw6yeNI8O#t=o@m ziLU3`Lv^?iG^`JyevitO=~CG@(-vXV;d94!6~BTnk{Ozy1;2?ei`5_u zMI?!bfoh*Uo%&i40NUaAQUKFaJ?0|_&9fQWT;>TpCfKUs=RDgn));v>OEU!53=<

    PhmmncP_vas711KdZ2=R}Z|y|E;Yuy)kd($HHo&Ls>5 zQW*5CHEZu!H7P*E^dum7DH8kE0W5Ot65hSjo9-d97Z(cO>PUOM0R8mN(zk4TdLe18vePEWVeP5la3Pwh771)h`O6MFL7)Li z5XYG3u)AcuP?0sTnxB-Mu80yVM+*s>8{Xyl3B7}njIJ+*i})6;2i~pm9sHmQX4_kb z4jCAeY4Z~TQUMP_X_CXnOjpR((zCS?W#}V}+2nu4Y%M&YoZ!tY6EYtQ19qN%o?V)eIo25^@M0@V)3p_sSa8BW%=%-(!hA2he6LHFT%{D3+}WPy!y%@r){J%? zvX7Za3jee@~}tSZ)=5k*Gq zaF6f#AhIi4AR<_|w3 z4fii_50LL}>t;D74Hgc(S$0)0{+OMc{Ya@!n5b~O8GEzgc0GT1rCF~S=^+H2lx^q=i)>g?PWJTF9ZZ+&#KU zrff=epBFoW3QK#8FML+13d~DNKxz}!{1yIP%YJ+I3R#u2DpfOo!X>p)?i(ahaBWOo z$l0X@Y0d^vB7yN?m)^m7G^s@x8t8d$0qFMPPa@ws7!!0ZtJGT-f1k*8B`3%5jbrhy ziq5v~smL9;>!?n8&FJ!#xtQVb5?up(J(* zvPqM3)?IT~hlf{ypQ25pp&|L%hhjH#vns|coJg~9iETi|$;HN=?R_;F%n7yvJ7Ntm zu(*H=ThundwpH2TR~rs>d1(=Jxpq!B?Bj#k)^eI>EP6%Vo9>z-qWi8xg4ITmugz1f#>fdD#UE8r&H5$rx(|Ub zPb=KI|E>77V8KBHl5r=f9&;CF-p~Wk6-k!FQpKjwDxhNb##)V_6XTuVV#hrmdX zsMe4A($-hp3S0UHQb7TifXQ9xM?VTT=LlTKJNR}__lu63Kl@n&%O2u3#5AU~<+&l} zVPXs}E%j^KJ-JASY&*>KSL)Vfz}T?-E^DWy;N^&5+JrR=5DowCv0ZJzJs143HTVzi zg+)4SXwvT&aZ?_1Rl%!{6PIzz4aY7se6xWu$|SDWvnc6KO{!b{h_BV9iUIuHLwxP^ zSj^^lu9B4E**5<2UbBvz8CKF&X~B8psXlsV>y>zW*0;2(MGn#?(@N*j`QSvg4wuIB z>sgB&i|kw7jP1|r=hrS(HCO1ecy7H?tJomwt*}^h$q#Cob&YJYZdo>P?ReInU~%*J zIeit4M)-u`_t#J}^QB!MJpr{UoU_-xtK~dnCsA9^Xm=-B4ypZ3pR|H$m;g2W*k5th zJ>=ik@U$(ba#C+!b<4PK$@Cq?S>B(YxEBZE`9btHA^}zf^F!xKh8lj|*e$6msK(j( z^g6Q3JiOlH!^J5eb1^=Kw9z7Lk<2`H_-lt67kS&kqwgo>xV=+6(*ANO4{+<=4&tQm|LHZF zXBcp}wv`+c6Z6FG&3;Sf9ZX$mRM0?ncV|2!cJcL3*CwLjV$hh0a!Pr#d&uj2igqJW zET0*lSM#NY=Jm=-B(-B#g3zSC!?LfGl~M7gJEybgPv_*bmVzJy%gIL8EM{kg%uyL9 z*LyMCw%v0(&6?ky>{ox)_wN?9U!Pt;HPDTvO$W<3H_2H|5_-(rtC(snF6uiNJ4JvT zAKtq;JgRtBgLRa;%A}idIx!*28a)k~tShfCq&+QIAA6Ve?R@0ViXK|k^gT-W4`GFb z{j{96>DkUe@K1cZ>-U}Jz}Oc(rb7+4Yzr4F19EYH`U5R?UsUuC<=Sv}{Pg@s4wkx8 z^xd&8)~77oUOH2>y2htN>R_Sf2H&%#80?%WA~JY-X#0@OCs)a%;|`K`yY*7?a($hJ zZkg*V!{qwNuc@=Exj=Vs&nJ*Q)D_fAY$$itt=Uiaw$qy?W*yO+J)Yh2z%+WK<5aBb zS_XB@ItnE--t546d&s^Wb0|C3@L607^2b-srFo|-xqCUC{MW=tK?$Qyi~=T_VvhU6 zInL1v%kVYk6+8B1!>j4OC_pcfbOOwPmqB4<6;l85`I9<9YNpsAuVA<~1+gCdjivb? z|E^QKkHwk%Smq9gITvN~YI|_v+Lo`vymNCzqATEYmkIBcf5>*+ku!m}SIS8>*lVwL zsI_kxLI}%XTo?e*=-m0BLkF8-zE==mJ7HWLZag1p2CJAFujG+ z-=30$P|dl_=YdS#70_F-1T2qA5fcof(N`VC}H3?5qE0ypMmzR)RpR^v; z?^Uy10s-gXn-3u#H#9e-pqZ-zAPvQ|n*AKkk3`er1mz>h*>W|2F#HgVJcpy85Ljl0 zH3^1_lQR|Sx7)m{d-fs_)NLu0vVyP-qhdzNO^^a+a>Tp9+5$3?=K>!HDc&NvlugNR zeW}&LUGWe*HLITu#4if@iLU>MBrDc`Z1yg+mNYlPW+4d?D~72DCist^rc`$FKh$4} zm7whaTH)NzTH=X1T#K<(FhU9i{?`nvK0fZP#; zI%I-09=QMh9-7vEQ#Gs%VOxkGSbnUVqdI@nm#)IE0w&{3QPm*#w)CO=jjiLO0(18B z!!$IE(SzYuVXKU!xgZ-tWngb#iYABFYZdT&hzPK;1GV32pH`ip0NTOBA|tldUS%Nf zKJykZM6c_)Ag)GacuJ2AD@f15&ubL(c&R^Qt!7 zVsc=^*=cm&GE^S&!8QLm6GZqL}7eWV_LZNV`2WSFCz_SmJj-q8XfRU1}6x;)GE>G7p*a*wBoo8!AibrM1| zt`e8lEOR~AeDLST>z=Kx^;=X)g8N5-kJ>C1fBI1qj=>zCuv>C{SP5e^*g97lQq|z* z=?|4sBm$#}3%%ZN21##QiB9OCdSpU>RFH(jXd$4y*sTwnFji~DN4#QO6h;DtIq!#s zH3&c?mDIEdG;-utng*vbaVRYX6HPBIXHjipG%ZOevjj+)fF!JK?IP^UEk-y84_VQC zr+S781sxcOBEkz{Rs*Sc0|>;5ZT~!!_fi1$cnJ9Xy#xd6Flm zSkY)bSz@_RB!bt5cBEYBD*`NnP7Lj>ckZ{(U_|CVhZRv1({XYmwZ?fkxoyx^nZ*wG z_+rH|lF%W|%yqxFXmOWhY9QR7x*1_VQT&8kxnKkW_NAH~fHc5)B+E00DER>z28@N8cI9k99XDgFp&8SHQiJT9b|Z zoN6EVxhY$;;7Zm36^VnKiC%3|O-T7B8XU%yAi#y79Ms-J5c$>p%Ch zWYTyg~f*{mFqu7#N1 zJ|!Q9GJ((p2PFX3DYBx@)z3CaI#>qnm= zGz&umx+DE~FrVxHp)`YBI;~d*P5pVs6)6rwG12^^Xva3xq^D^X^;;BnZ38u`!WqtMTsP+od9X9M zed_-iEPW?h3?j%plV$#EdfTdDdQ|XXmfOtEm229*4>IX!P&{MQr=yUX{5HpcRmkfZ zC+{#?gJk=cJ1x&dP^R5+)X%pt9Me>q_Uig8^)BXp|#IS@NLgV)Xd37jc`;! zT1nFaQMBQRFaraR*mQ@VKMN;ZMek}RH)?psFz1dbjEikIRepv387?78P?5}95s=?$ zz6{^!=D)dKpT<(fAkvEpKTBuWi56)8ER}d0J+|$`mtfKy&|ow^gYD!mR5doI);bpn zk(8~HVFCEQH^-|Tm=>7>+gXRRd-xe8>@4X?$&$j^%eb=wJri`VeHZQ?#k=ZNk>cAa zhTY7nSm%zYthn!9%$#ueH@a`{qnMkBE|1SaHhUl@Ku6paX99kxAXFAeq7_na{6*QweuoZ!K$A@DY8X9i4 zLM|Rz9LwEFJ`LO)sbv|SaO~P`4Cq>%Te`;Sgq#hZ`Cz=VUe6xMb^A*MQ<;_5d=fU&?!P=lSMMW1AGWW%ldZ~NXw)|iOqq$K8tq+ubvA}|eOW|A4dGy51a=uZbx<3}<`kR_Uo z0oCR-4+Fizz}Vrst;^tFYL{K;&dLbFP8=WB-ok(t{E3O7fw?c1cK7c_!Q{8|+SLw{ zVttON5C66?!#(GRBjxfu8I%2Tk z^xpAo$9Bk72m7qMNTRWuS96CJ|5M1iNx6Yfx4(y+eG5SR1me2S!*7{W`x-XpQeKYj z_grmT%YvQ8rg=NsjX?)w%{(u>XBAv7frvmW$n8z9Z3kgu{HeZ7br&zbFt_L=BWIX$z zg6nl?`&PyU7-&vz{@uhriWRf7vk3M(y%fbRDFt6&THIlO)E;p4X+AByVYp;7A({Vx zf>fZ%*OPHc%gowZtJ$Glg4lwvpHKe02_fjjkW z|8iOeDI6ZPzgyx!5CP%b?)IK918%V(-)fKw*06S98>gYya&d50K6zkItJjt78p1yY3sn(sK(aw4f?_?SEf;{wSql`Seu7 z==N<9-^ldOGCiFvlJ~5}96v@Re7qBg-JNv@YBA*Qggc~$a8C% ztSB`t?)al0JE%CTmOs03Yvmgv^}ZH`UC*$+VEvQnv~i-PB;*{5CG^g>(jEWe&(czT z)=u1u`zt{sn#LPD+P{5a%Lg7h!owaKCCk&)nTwt5xs=`KV?M4OB2edov8~s>(h3gV za-((pzi=og-;IKr`-;KA)+46HEEv^X7o8_r7>rY&p8-R5K~QFViBJ4aBNpG=;@_32 zIr6GL=xW>lqrSeS{EKzhrNcl{n^|#xylunm?j8B2%oY=2pN2bXrQVAknbkWl(Z8IN z_YEgTG-bRxPjLQni~n9fG~q*L7pCY}1+z#PGB6do`=f>^9_twu9bC>`oV=^()EK|G zif2c=a~;vvCN{qgDw!-NEq)U{`gv&A@xFFJCO%GN=}7?qRPg$kWAuh6DX7tS8e3Is zaAtDfQ@Fv*CbtPEbmUv|s_d{bT0&V_;S7hvkGqLJG;Fd}Hlyo^H*n)7U(t#aO`DT$ zV%jZP9TQE%nS`3Po7W`Iy-g7?5oQ}_Qc{8-+i)&@p_4V^;VO6NEa7$aVfOD%<%#qw zo*&5zGfN^O-$#b`iZhq%H)$oCnc(4lT5e*|LP$w%HYIs@Q(#8>X-IdlD{Ot11 zxHv<>mPhwN7_Y=aIrX%32XF)GjFvGQfa0Xs9Csgs`1%E>e(8mq}XnwUg+yW)763f z>BTyW7MLV`ER89-FK_j-&$Wd;fiHYHZ=y8CpsxZB)<5`qv>>a^7xP}6B~c){Q-B-} z=@ZbFSfT>(FG56gui0AoJ!WOzmEhC|WV8ovvnnSRpL^8Nq8CNehYhFe zQoJq<^y1C!N7KT<#pImdo<>mH=-($ggYt&P&*u7Jg8tE;rh(vU~kRXI-=#1+l z5!Ng4M|kxn$F#0SI1w5VLHQn3qzW%e{<}xI_nS*jvKfLzBZ@o^0w`hJ``gZ>qQ>=_xQ#&lJbF^V_)B}ctayeWPWfhdk2@V{1&23Z1`;!uung9P;Qj=g`Z7#0Jpy*g+$%L-|? znZ9`|aG#8{ZoO9r!AkXk$+d7T%!&GrjTW<-1{tJq4J_HqO=T7Qj#^y}3Y;1o+;>xW zygrEtB@0w#pj`T#Zr_oGj`j?W;8WsyJG`7km2iD+cU`t0QpiR5bLNq!@<&;R+FaQ+ zSxKgy_sYGbF_YokO3F+HkDH50VDU8?qFy=A-rom*{l&>#{L5Ud2rrL-6gu4Fj6@JZ z2|;klko@=+N#ziwo0}c)zkU?#>?+T#{>t7^{!Zy99b|xMz;(e70!MdL|BU<$lO`z( zXr=&=fMCa4u~BQVNsYrqf+ET9Jk!H8AI>~Ml7>fmx+KGSGK5S}j!)>sbk?ZU)rgrt z41}MH=uIo8X*j-*M^F<|tmRJ7oEc~QeQyHia{a1D_NdRPJ>CtAtURxH%e&tZ&>L>B=85kw2}6mg)f)yay8ZK@yBrX-ni z6-jogF{^=SzY|DFP<(ICi++&fT{3nkr=qVpluklYhsg7k;6WhVMG9qA?}!&q&K`ep z7^P&lQ;$`5?p zSNpif@;b!Q|J~oszh88&r^7$Kc!vS#@bE$4yAc4XAFmtSHxvOWnJZJ3a>>DKzl1wQ z4{_4Wlns#nO1giNxRP#PIehacvx(!mMG+_hefYY-LlvgRlR`{5YN@fkYr+v>8L{8; zhGl4D1y;Son%ad+v@_PymTiO~JoJDI1yCjFwki>>k_cImIzc5JI1o->+w);uRippgl zeMy0S04SIUaI6@?uWZk6MTm6j0ZFmM@^Wxd?v6*_s;`AX_KUk5d1&ZBUizPW1?mW< zm#KqHlS&VZxHs>r%xk=(2!})*X9^#hR$xLc;TneY9XLvA;-*Y`F3b^NU&vR6i-oVN zaTa|hevX0OAqn*xoD^EkCj<>qe6`nONVg0}xI7cY9Jco84e=vM0Px5i5PuA8X;u$@ zXFwI6YT*9;sQ@w^=q@tO#kP%BnUCA5fIjyhXxm7mqXzyOUjOaahpsSaZ5G#pW(O!N}usz|jBqi-XY zuMc*&aKBw2W~QUpk!?Dsrk_lVZpLatq}sa27+B!;h~jZ`1^I^$nQ?Jq9J8oI!dcIk zcsbDZI&S*iPS&%Mlil;l4(x<=+nxUJRNJt=!0uvy% zmYU(cY&@genNRYdV-_-nBaev(IpQ)Lbygvc5po=TQcy2+S6w-3b^iY2B*qb?vHDS} zg<1ohdKjlN{d1U)9wPN_5+Q^K%7bPiX%d>0U|aH_7uA0I4mXpxq^P*{e4w?na|E8^ zF2YS?$;9g!=m`B$O)X6}4$I$q^_60>PJ6sAaF#N#O*nsoY*SBVkt~T~EVT%m_^TQbLvc3Gv z1+!oyQ5grrnJn!A>3S~Q;7iDwbz^H=J6pnLuYJ{hq1miQ|F)Wx8)qCNyq6A29X^@Y z%xz2c8v;IDMh8k`Nci`%>B?Z4Mqx+ew-&dFYRr%Z?F+?OxOJ@0mDSnYiv*pIxnkq< zLs*Q@ew_-raoo@(R}}?3XlX$x)%wLbO8Jh2HsV*m3_g{y*x}Sl=~MLyU<405nwHTS z|0wkjcu&@WKNLreSkF5Wwc4@kf#PCOTLDcc;%%Mx_itMk+oZP&9eoTrM|M0t#g=Qd zp}EF?^fp|dxP?sb2V^r=;7JIk!u$&+wkaHqRKH>&ZgzPiSDjQIYmSh~JAKeMm{8nOQ8ecm+Z446;B zfT~pY5>Qv%q_JwoMdUF!k<778@E6CnMF4gY>_(eZY@A(a8m5{~y*qDMwV}PI4*%uf za9yz!e0e-*gON_H@GdIE8x5#zV(fI%jz+A-j>6UN*_|uh4P%L)zV8)sdAam&yJbl! zNP&Z6bMh7=;0ru(PDQ3T1t3j8Ofd%Si@P-6Q7vxFdmc?Or_7fB{sw+`j9`$!=1|t< zoco81;ZHBXWQ5-xo5*Z2gK$Wq@@9;;c_=kNafgc8!rhin3I>6>7N%(p2%7!#17>dY|ianq@^(oVO?NFTQBcFZq)h#H@wT? z$Sfj3@K|8Iz)pw#k>6;AN6*qddenr!G|R(W&+8Rq=x&_h0MeR)qrL}5Tt=c!=^ZVUHD5yco((&DRZZO0p8|0F&>q=y1H?#9=1^Vj|pEU@66?_~()l}wQ3u_p$nHvbH0azy8h{^FM*aUoRi zfK_1Y*8K>JcU(a1Uo?{wBtkl5w5-GofDGtk0OFL~vP$ZUF%c z+J09ChjuIc1zby-?rZ^VMWq*O!zAD{VPu>5K2p)asb2f=Zrt;-tG)O8~JxIW+fh# z6WE;R?yDHF_}4yrf96LcM@*tkp?Nn(kWPleY|D;@j}JHFSy2u064_?iqh~%@O9)K) zbr!`wy6V#J+To6f)`??lEuN>Oixd=tp(Y6#%`F-RTyk^LPNoi|Atj+9%y?)5G4V0( zk?e!O5O|hd!>Xk{c-EOq;H$IbSrCr4U%7g>d)>@nP_9)XoT@Rq+>6p1-*nFX3e7N; zG#DN!RQYbj*ejb(y}tWvNbAJ)mGN9a6Rw_+V?FCUmp5rp(_|>PkKWI8Sh9cYYFItc zuv+hav|Il$?YaPdbvO2;J4bI!q!DIlr&N+}z_@DgTke|W` z7}SjaKK|ghOrr-=Wkbkax!|#Ddrvnzo_5u+UH6{%-goN{!j?hzW0&iEV?NC@uG=6B zJO5O^qO$GwNQ>mGe*3PZbw@u1arjB)f|z*^y-W^`iEk-OUt^ob%ozkg7L=<4JyF8{ zY8!%_gHv2>8x*!BnIX#YHJQqwlFW(mwN>xAHf@9(8aSjQ&}3$j);d9A@#tJPZP&n}Qa9(o zX!RtYQ!R`h>7QDusVlH)(>$oAH&YeIy;4d4bkE}7#;*-8zc{>TH%BVPiH8%i#M>_$ zwltkw{X*{dQ_UYDq6H;&`gzqi))I=8UYg&=2KXb3V)lGFrKVx9?EyyQDUyRSlH z`~zgl9_etS2)t#W_m%fY93?Mz<=l`=t!6K0B)5@TX%5K+d98sIdg@%YkB-EPCjj&R zAFTiXOzpUYzoo_3hlRMY)DfX&RYt|%yR;R>%P;EB+mu2x{G8}j#5|dr-*I%aSI^G%F9lp# zXdHVzFE~v*@=RloB(#daJ>1*&xL0Whg0_FzBKu-Sd`a$%iY!eb<)wq+XS|31MZEBi zWl9Hf`G0erSD<{y?YFu_75CSuF58- z4Ey=}qkc<03o0b=E?hm~>;u`-Uv#}q6m`5!N}8OGJm);6!lQ~fKE~s7?HEDNFQ7(3-iNRD+H<^poSJ}_lEPn)N(K1w zQID8VwXUKF-*r5H$K%+d8O9;554r-ygbbTp6c23yWk!M-Gzv46hvp)bYkYd*#f1MQ z00_5#JJy2kM;i_qBhU4!k|knc?4_pjkzV7r^gJ3miphX)>ba+Czt0>9?gTF0>WL6u zidTb1=2V#eyPk48L4p;{En)XGq1qf4Ba+-6Doq`sB~(F8iW?@?(K) z_MeB&HCfdaD-+!u{en9NOn}KS;_4CFG?mBEi5HoiQD}!h<*BtXW!gqG z#|ao|IM=B$b@}>H4`-{V5E4E&iteP=V3Zgj;T4iiATkmG>Quv_3DaaQeZjwls3`a; zAc%BGm9zuGP>N2(RAi0PDb-4l^*t2~T3hp^!6I#c#ji+6m$jI(*z(#>w=`i&n+5Qa z6s( zRikKBYjY0_lhFSYzRRN{0K+Mov{JYI$p#Fy`PDTT%fB+#DisYg!q5Ff!7m7_@^WA< zWrUN(I){42z@I^2`($5ijW`*1L~TP-jKjr`$a?% zvs={Kda>(mU|mhz()gqkjDTjENVP)ZKryjEA$yNOZy~{YT5hou;OIA3ArkzEmSGS3 z1TL-Wa>*PVO;8I*C&0rmuS(1;mjk?_FRyB$DXC?Dgqlit_x+j-Ptdsrm~FSb|5GWN zgb2h^<(i`-R5eFZjgrAZ{+V0wOXVH>3pTZ$pr(uXaiI&%XVmIWKS~zL`mn86_i4)!Wm4hr%A9DN6>!$z|sh zoX=mBcjJrTi={nwciA0G{58j_dD6U#x`ykx(8Os%ym$BL6*&@ zjg%5t$gQ0%n|;$g=HpbI3Yg~Cz3Rhbmd+KUp!~=tu3d%zztBGRn>>`dnQ=3Xx4|S% zOFaj=)UTXRq4h)>UE>Y5-&N}&zG`K+%RIyvi+emg&EjgUc_C;Oxo?{fY7SWE-9snFL0z8BBK9i^cj^=E*WAD26Ko zi@cb+B`;k4dpyO~5#vm~5`1yKyRtbn^OSx`|1k+>g?|FzAz>*z@bue@dqp7Hf|+e&1yJpx zr2D!*2fc1kA&$`4x<7BR0&6a<>jV%fgWa@{kBK27lREsXCnVPa9C{bv7M)f>od)xz)A zs%Ir$+ijhzdkRT&JC6`wFhhC*GmdQyD*oUGd7MJ8;}xCL;vbFJ8TWhD(0@D0t08A& zl|6UYVkU@RfSp@u z$j#r{8TW^YrVHyOhLJzSVcJ>lV(Lv8%+7B&FWAN?Bo^PzPrv_ssy&?jNbh*=xLD6ZRozUH|a$;9MvBVfYLD5jCPBD zD)RD&_uKdXaJd+t*9aRHxK`@w>n?Xfi&qZ^n>Q&NR*S;d*Gtp4x1&W@EiHYn^DTNn z^rX@){Ii>zD8!na1*^lzrLzJv1q`)%d%n=Bg@aP@t~sNiD-*A(cazLDJyPkK5J2!M zCDYTqXUuhJa;;FqhkLUnrHeN{-31N4&;mUE_^FW*3Qvi3jcd^!pd3!}*9%?U z-J!nnKkRT5NDFQpJ{fCvXfPIV!{HfBe7qIe47Q{B_Y&WBL5DRu>fguOr4BAa@TOuw z_R;FW47|A0UF(vl>68xxL8E<_2-xH7oTkbk`(WwjGJXAIy@20SfNQuPvv-|4q%<h5i@Y$|ke|07Co!3p#9 z`=O6&mw$eSZk>JT`A+kJTVSyN2P+tAP4#v#G}OoE@A)rhCWqlq{5k14q2Pv>Kg|8t zPF)6DKY2Sbf+GYc(mO}d@fi-7oL^u%mkh;jq;T4G@6r!fdE7%}7G27d&x09q&D8!N znkX~t*;ND*Yi`3j2HowZTizbVf7a!jm|pbK6S(T`F+0*vP99H=8SJVbs~r=Jla)|+ zME3>sC7)(;!`Wa`t3A zQorGPUl=cy;c_>`BQ%gf=B9FDoG8+w#jK$+ekA}6(=Nq)IJ$27=Cdw+NS5%TeQByG zFLAJhzuoqs_=fH`_JEQO%}D;|Iq@=?WUYsUOj=#Fj3++$~nq#h-_s&rs|lg zVgS*<-0}yzmiVE5kd*FrzgvD(80_hDwHSYXDemaku4_bFzaBM;YA<}@ty(|_lW|F8 zcs@9SJx=bqH!7f~`R$wq_gUoDw^&`}0edXaJ%V@14dlGo>;5mGE+A3xTN=-czomQ* z?qc;l*XL{iZ{aVg^ULCi>)NtPp&`?**S&AMmgsaB4`dQkva%khB0D&|awtl@NcZjY zZ+{LV`#s-VEi9`M2ryalRliJ)5N=g8b!<;E&cn&sv=%5@b#Ex||5nD22tU>1poPVB$qM@{V?ezUNxnyn}!N+l^z2-UK<}?xW1byxf zPorNSrDnm1o_p&KWVqR&fKzsTQHSY2sV_4Q+oNjjIQx2!1Li$?ry7MrlR**g7=T%YOjx1)R?(y&mwpa*f=&h_~&$K0AV za=GDF^U&lZxUQ+!?$`|lt2Kz}3mBO=`Fj_VTcNQ5rP+?ZKJ#ko$Q22n?r`yS_FnZI z@I5I5yoB4d52W2c8{i}@~G4~)=6cd$o<@cRKmw3@nsG?`}S%^m~44{W#+) z)jpQyAV@FZtN+jp|YH@Lx`&#B{s%xy^XiVJ6P=-v5s zp@k)F`8=+(ph#$i@Qfz|0T>UztFKgMqOkQXh}Xs69@y4P%<_+N%d<3$ymIDZ!=43~ zeQoc`OMbpy+B`nepdVwPm_3A(Cep1V5uS>=pm`ZE*_81 z1*n?4gWnIjBlcG>-zT4aQkfsTdd0D48(jPU|H2`(yHNO48)=*shphVZlB^=-m;p-PBR)k*fZ{V1ON*Hh5l;4 z8z`&d;eFLltwDEXk3cjjBo1N+OkUwS1y8l9Mw)6{qlCtW-k&J0(Z@!4*!PlfMN`cc zBc|UR?Q-fElC`h0%Pa`ZhwwO_HHqVQ&4G$jHGGws`uF?Ou$=#u7*SqObzRp{>7<8wjpU!!N#R&deR>xNBmEAv8Ze37aniz-KkFH zDIRU#?gJGm!3c>c8snw_n)0kKQogQam+jgT%R?1B8|V4b&VcPA_INNIJpOd2MsmJbjGaD zsR=b0w-KMn5|>VDG8SrWI!7%!y0d<9;&FCNYco9~sit+mN?C(Q$QDWC(|iR3IlsyK zvJHM>8)sy$I(%HqES3>P267TXY_yKK>XSUsEHk7~s`G+oT7_|@W`HIbBck5bf9A*U zWwNc+@DoB8LWqz>x&RGbZ;8AnWjY6|!h{-fJaHh43F$-RA7!Z}9j+*ZNeDaD^5f?L zJM8(U=SL6Fj#svg;`AGI9g$8V+8$IZD~-lj5us7bQud5%|3a>6)VFbr83o~HUt zzu5UFrAtw`r8tUmgN_|PH1y}m^`???p7va1nuXYaCYzm)moc>YhR~OhKIRUr` zc>_019=K+dHwxcb-D-vn%MUYU0T)|eGSO*(HCVAeuNe|jVJ4r4wLr|atk|stu9B2# z4^|CQ8fST#Qe!~@O{bP8QO*>tc7Y*l|I`aMH8%2$nnIg0uH{~6Mr!Kn>STQ7L(BrA zBp}MK=4EP_?+IV_-wTlf5GipY>j^X(YIu)ttfEYqTO>Mk(v`*%W@Bth zq8NwWsr~D2Mod+IVH{y+?nf?V^$3?5WF(h2(SOo=zg0ZaiV+0uM?T9%%T}t#pvc-f? zH?F|t2i+=H_FCCSa`f$sk5Dja;E-QyBRq?7jOpQWK;G8`$AKZQPZ+l3w4iO`@V(g| zmakoa=BvK05t<|1@$)RujVZTuI^9f$TzF=M2H7)#vps3Nl&{rzrBO{JQyQ865JY)O zz^9~nYzrdh>4MJF4wesK={@h^Dh@(m_OYL2j-KgW9a~#@+5%cu7JZ>!T2JlneyCP@ z;J-dKdeK#SxAxD^&ujUh(2I59Y0P1(KcdVdPaJrCJ8v~fW==0Q2zygv49)EK$EAv1 zWNfvscZ~T2X4xZ-wI6?L+8@Kp;so~KOtuF5t)WSmmh2I_4QL*{?$M2$5qF$z1N~L_ zwr6GnedyI-sN1ZIfn^?XF;cy5VQ)ngKW@dxY;b6QH`7_3(F?;TGPoW6t>VOqD??@g z?V3vVSmI@z-cXfJ7G~~^ybBs@FflRA&tkcv|J*3a)i3CmyhY~5$l})S0e|8M_kYIE z6i-29{136Mg(1hg`{~<>_KG9r{3r%LpA`aqATK-~8b!GjX;JzfOz_QNVmvT^{@~gd zd5x*uelDgGI3>TU%YzjbisGTodFeapgu)NSEF0QJqqge5(PW!h_p+J2aiW3u!6qGL z*5xpTqZ!kAfk+dj+?ST!K~qk$zEfL+g+ID6ZP12N7}dYo%ai*%G5VjDH@6M19L-m{ zLIW@7Kh^0s%kNXTV&m4!<{WRXS8t#E>DtT1rvF@=NpGHWMlIE<1fS_PB`%C4;&aM4 zh?4Q%|1nry>F$wTYAZ0ixY@ffJ;HsJdACQ*`xF1=Mb9<1a&Y^3S23tD-qr?7 z^ai=pd9$&&U>WQa5~NfmJx-KwI-x(FL=3BO?+Lw~2)+AxJJ-VAB6rerfBcK%4$I;8 zd_Ca1((d_0Qc_aDfqvZ&GUshRhY3}A*@3@(^T&S})jlZQ&Zyq4`$*q!p;x_R zZ11tzx-~B{KT;qwu3HSa{MB#YJ{<#c>k7UTe(2ZRIkEB>~|_X+bhj^7qfn zA@_e)@34Dl_g_+Mb;Vo>uY!>!%-ti@qB)(RYH~jop|K&`jL1ny&fXVkN7DLOB zE2oA$@u+A@^ zq{|uQysAG6n}RaSV(P|=E)G{P*SSKe&j)XrB?NVWYA|{YQm1!V{;Ds5Bb{$(bHcGs zG8Hq?R7-|bB_ES2aA-D$O)^|&H@#^zZ5j8zDVK!)z&*J&ha)Hykn$5 zW_|$`q)LKULOpz+F1h+3$1?p@xFDsFqZYHUjg5_E{8yr;1Am2A4buFYp|ioxUKZ|B z2Kol=cCyTg29`=3Ud)5H`e=*Ck_%4DkCfuW4CBBw9m`w$l=r9GLpJThC0Z@!a9`_J z+ezu8=v7=^%l!H@8yrjjM?*@=H(no_jMSS^#0vsXn4Jf>FA&Vx0vNa>a_7P zs1CH1mv~PWxjz_HN3EwepWq&3$1(X*X$L@(u++IKBF zNyQq6Z&Q_v{^&B88NF~eUcd6eFZU6aefq@b+mzuzR_XQ5*ci^`-W7D*$^Wi;Y$mIr?BM2Ys2Ejl!C;k% zD*HUqibcbb;+;*0o=mDh6VFnnoku{(FX%bP{pH26r}93f0IzHo+CT5yrOvh66~!`L z64S&3+`3qI?K+Ukb)pu6GMAc9P~=#5%`mZ32I2s1P0Wc3C&J;dr&lxm7}+CHJyH=2 zHQW|dW1w>1vgk61td%>IA*eK$krd^bkIdTQ@_+wwQaZc@ljK?BLs=Odc^ymD~pU^f}MTBUO17 z`9rpRwn7mIMzyCMOv8pfoMm2_Os~25dC>2u zeBU|?XkLK7aZ(6ST^dEx)-{*%0ZE`6L!u>!wt`B=q+d8?LH>bw;opO~ve$f%e51sP zbbmk4&a%r3o75y@f}0Pvx+Gr81cbiJXMlE@ybE@jJc=1Re?lFj_@%XKeQESu_&sA+ zw*FG)Nq_S;G>=vbN`@Ma|2$G@pc;56OK=FYu5=50gceDyu<2e}PAWq1MTYoJZYF>T z@_ixwd1BU_|uS z{t7mJPBiJS()h1M&yZkW)7ZZ^m&Xe|R~;7a3{cRP&G)10f`hpmIPBk9z`dhkrWUh% zhH*_97|`7N@HO@Xk&5bYSA=9|)o-^IJR|j8DFV57)MG5f0$0v=E}6hGxnsE2j{AxFHkCzw{{JHodvjt@0UvDhya$%2U5^+xac@-`%x+sq{W&JDg67`ha^}Wa5Gf zwdW7q5gy49X3`L#U56AnfDvICv7O(w6oDe~X62)rTr;oDJ9~Z{l!%jKRxFxLC<#_i zRsy=Vh*bczTE8AxAZHpGRd+f3Gf_WWc^!*4H?PfzmeDRHDN_Li18<_+y4o!heRI#o zk$r2rEW+yxou$q1oYZu5<>03`Mb?j*t7p$vTKF{^7AksKhkcP!FNTGML~`4^XPnTO zd>^R2`pSuOy%br3bsjXYFuzbG^jIUd6Y|h(g~%i2Z6oVL0l;F9mOxb1-37&;KFr`& z-*x2wJ=g#5Az#&Swn6oQR1<9mIia9bNg8j_JUCK@kb+x>i8C#Qw>r8Z~~agcsF< zZ@0s1Yf^*>wyZE!Z%dTV%2D+)-v#Yxai}) zXe0AM>=GwLA{zG-&(>q4RT!v~#sg5pIk)7KZaKHVV_nX(kY zG!S$&1XjJq#g0~L%8hpS!OLZ2S;bKZJCNNY&v?^A(Nc=?4GE};Jo{RtvZDe1XD;>X ztDjxa-N|6e?LV9j)6BRA@8kO~<)?4|3}VldzvTvBu$|h5g(2Q*>y{(&;D1tRp&-53 zB7_v|F=GT_f~5B6&y;V@yX$Xz#gkJCZ~r}W_P{Jj)iwD&x;K_$touTI@r*?EjgyJD zj=muVEFMs$ z7`l0M5kIR*uX3!R{O{+VU&&*y+9=6uITHx3Y>U1mP&G=LviBxmE8u2A86&%u* z0@Tw2kkD`rICAPRR;L{@ZX(17+LnyonnbOBo--y52C&!qy@!IGe5AO;=3jw0=w22} zJ8DL9C?u)b(FG{YvG+)TQM<(~Bmh7$9ZPgfj&eEafLb}3`fON?T6vhH;o{u65#u)% z2Rce4E7h1%|#ZiZqpDikJA0-lMVa8$)1^^KO##03hZ0@@P5xVr)}UQ16PDG@Efr{^|?eXolXfg6C)v6 zCOo^ZCW`R&#D8Gt>aht=8H&$>P-Tfu=Y{hjsj%myxf3t63#LJK~bVH8Mz@atZ2$4MOOYHHQX{ykq{4jx=Nq#0R9LJ!;QR@ z+vR$69C5Kx65}L_QVh(tVN@E~c;yHp&b)UKh8tSNnwx(J2x7n5vywX2p@_On?X%-_ zH}jw}m0_?C!Y?y~6D6X!osHr-P^i#ah-_3nq2Te`Lvb*^(0`+A5RA{PeetEf-|J(R3oONBqkp6uV=^s zY4O7l&~QK=HV^mAo7BL%>QO_}QBTL^&~j+u5rACM_L8XjpWs49y>w%tez`0#x8b0V zh}(Zaxk|0H*rqCR$vU3(QE%nCMBx|WFf!-{?#7=W5n-$YUxa`*mK=eT014)dc`%uq zygDPdwFYez82ACCpj$HRQ(301@ujFjnz6J6q(M?g%UvAx?n@azN&+#p3rYte;TjSh@c|n>f$EmBC}*Aovpi2;=?L`*ohl-6 zmt);{=R`$!I5HVe%zcWQ!;PsMt7wihNPsyA35Q3^Qiae`D3 z-&pg3XcIiwtaUVv`^S*v?de>4L&%vfdch{o4ISUm6LfrY(`NqAguUl-hQt2iB8dSJ zO@0Gwo}&iZFSfE>>2|_rU7}#Cw_fiQp&~vkHuA-*jH?svaPOu3lXP_&hdnsnx7=z+@7Uu zYh{u%{*z~O6L08k#*@+^Hm&p>==9CIOpQ^Y;{!>vbRG$|8_}Q{q1a6v_hAdYNbW(y7g*RWe^up56Pcfgqa1feSIq{M)mI34^3B zN-x_|3-i2sf;?#D=FhH?xW2_3=G7ls6&uFsD}tBD2iI~UAI#9M&-p;ubxUPcHmS(M zkhYG_HdMPMB}@H(|B6j%r&RA2?vEOc?nCcX@3uoPe0$Ca#3oMQw3qc9ZTf4|jTQ^v z?*ECYcD8pGx4vI)?_#NAz>2Bfm#mNstiJ@4sF^aW6x21iA7CC3iu{}?D{ZVbPFS1i;D>>w@ehOdVE>4SBghZ zHK+t0V=aR%DDmSJ+v#;Xnnf%qBVD^>aF}N0RTnf1dB&i30k2agfd&!_5YIh(qAxjt z3e4XsGCT5RsT?HGPMDtddDSy>b9%YsvEV}7Y1X_~EDO^M3Gyw@&?0e{=_<8$moTd{ zRgBK0i<R#2H01QE_Gu@4!{vUoi=m$F74K7z)T0ieC_qEuAz6pq(08 zbH98GX^uqs!8o0{6gbGXt=7r*!EUeJdz78gY}I0Sdxbu#D})~! z5l|5Zi>HiAiWyca@}UZ@z8|bHoA#dmU3ntE;8Ty7Ar{GOtnL6n7(iE3-T31hh7Kj@ z(bh%$v7^TCOemi=?DT*vy8fa)ASA)^U!=AX(DPft@+tGb!AG&qFUv3M&HKM~+Or zY3UA9Wq(PpBLW&8iDya8dj9+wKTtiaa`Vk=wrhEr z!Q?~iBjAHw2{sm;nf@d)Yv20)mCPRbZsfW}>0x-b~TxD(yPdoVwPRby~U`j2B9|pgjNMy+CFesL1>K zIA1C)2_LzOY2_#>E4rg|PZk{|+W*UbJ^t%Wma_*%a0A5(Yi7<05#M^_gj>F&lobj9DNC9buEs<88l=eHEFdb26dT(rT$K+8=y zcmBF=Ye(G3Ud2+vc`@&K?&i&w49V?~n=P89mYT%5sp<7-R)0lRd-oBB{*#yB3IFly zAMW!KLR;ty4f^F~veb*DzzNmh?xos=W?V49erdNDVd@ zixc7mDb~z=(SDU&Qa0y&dIcYNmC0Lhgu)&`kkuKrcWBI%qZG3@)`LF2eb2uz zNHm~t?4ZtdtXK&m8LS`bm6pc_u{ClfO=AmMoq@+`rS|YYcN_fQeutjzEXi3TTC7Bg zGbg1X4Kq$Ch5XF*?@LwYEoZl3P#pEZhgc*oMk4oJ5@967?{2qh{t*QEvU9|+*^#Yo z%SGQ+{LRzk`I&qOzN@#F%BY<{qE|2kNqkXyxj83-)_Gb>%r5rswVqKtA>Ik6EEbyS z8s}$3tGh#(w0;dxWAq_rLvL+J)~U#w22VZ!C@&}|D;~0;QX-`Os`I*Glc?hG1Cq>e zZm*{>Q}_3~g2M!pMVG%n|GyD}|5-KMQqobFi6M-)QdUiGMGm7WuflK7o?lnJq1`qpKo!<&f!3@6G(0yuOm4!z zFCno`m=??+2k@7N6`|xcRoEYCu**`b?9Uu!7;|*;hQ+qRA6wBKk#PJgCU!2n(lBk} zv0Xd1zlp>vp?Q9*#c|-@CK%H|#!-eaX6dyrq=feW`Dxp@Rje#@wOh>opH(Q74q%$i za}NLe+p~uHip!3M-AlvopZS%VjMCrm;NPpa){i(@0LCn5YO03Rp`Rz1{_%1?_;aGI z@_Lp%4Dg+jW8o}?sxAZZH>Cr$kfz-IyRc_oEa`rv0trZ>?0MVE*m5ZgI}1A&2a?jr z^-`D&Q)Q%SBufrZ8L7jGdD&GaO%0C?4L?~nCO@gQ=Uwbk;tu(3 z8xdQDmy*`^YPqtAogO(HiJw4Ioa7 zYwY0!JVd0Dj}ZKD#C(%*2AK8(Eq;r-rUnQ{?Z*eiACpN{L*&aT>}GvfamLKda(?wA z4_Yi(~Me0O)}0J=WAA|l8?@81cpGt>YBo8T1zzn+#mJjndjj; z^tMs-b9i*HArVArPYjaXrEvH*@K(HG^het}wc3zYV-T>$jOFko5-&mh-N(0-;+uUt z*?ml=^zwg;E+U^P9EfcTsE~041!V^kuN2757SS=6ws0i?%M&CL%;uCH%o=VgGEWkn z+l&{=PW^l+wKS~#(BR&KP3QPTiLV)XePBo ze^c8sPAgy7<6;wmh(yD(4E0p}k4@iZq!zLC$f=4J$lO;`lS3{$NdF9#2J3+4pY1ko#HkF64Z0c(V0ozU+>_KkdPmpX(t4?_GanI^J;oPtK}yU4VK8*Jc+^M7KjEy``Lr+{~`!$^qz$ix{f@Fa`JBc<)KZg&OT9r%%{H1Qte!rG+x zI#9@|QhCBV3lAr7HJHB|_eg3*L{Tkx2=Rafv`FMtR4)y1T5=oAxSxXV$glW@P_6c} zncR2_OrWo~a;}~hNOHi(Ly9F?Ha>grd*=3=lGEGXb7j6-;)3U(_Ik|AzfvODgTv;N z6Wr$<(?7T7xhfnQud$-}la|M%%RGw(&2#Ko2mQY(ducWUR_qMez4cfo@kOdXeQ7K> zUc0pW!whz+#xQCrj}w%wUn0W!h$vWKG5c7A*e zc=0qK6h}+GaYE&{5+(kau|B%=U;j zb&pv2e0@s`f7l;aOu3_o^L;Qo0qkhFJvPw?*8uzOL^Ks}IaApEw2EjOCwYEeKM2n? zaxOVIzx%uE=y!V4AK!a1{igCH$k4szruQPxyz|3)KHg@)ctG>ACX4Q=!m9c5>j3&n z!sn%dPK0lLf`V@T4nfB#efDl{4UQT@JLFW9j}?CQpIu*LM(kHO9w}yjL)lV`iKiK8 zKNXlA^0;ne(O`Q2=uC+iusx-acI+sxE?#VhVikLPV4fOszhy4U)U1Td^fD)+Ve!y=@G!R z`oS3lGhu!`xZr+wT6r|EUOk&ayExLIa=X>g^XFMTHF?g8^BDPjP!=>(2GT;8m35J1 z=F+-^*}S?s55VA7^GUG$yGB)Vl4han5<D;Pb`G z@=*bYT)A8^8SVcD{OS(nk}xoBh9h@j*;;AE(kZ#60aQ_Oyr-9U=<(t0!R?#&6_R4U z<{iHPoGj^}Bl0IzLeTAuOZHayW_70_EMH0Wdavge2|;S}>z>>U7Fuk#PXeWLxwhpj zMd}+GO5p>saD=|kj#mqR{FjS;{VuMVJesBibn_y)^!HJeu&I*~?T|fYsTL9?KH`b3 z8))WxX1g)wCu#2b{cqRdY=A)&{ay&pUX~QuXw?Ao;BB{d|eKg9+uMWJaIiV<4H8_ww2HG)b0v%a+}CR z$^k!Dt=?^Irl+eAv-NvCvFn=SO&9>t*2zLa73CkrwhtHi9kpKER^a6X5washtyrH1yX2mjJNzpRde!*RAA-@0M`eJV}fqSX``J`V_ z^0j&C>A{(I8nOf-YMVagsKUG`gRR(cW&n+NzMi;H9@+A3264qrs9sCe%65mI1TY=N zuD?P&h#`-JEWl~8eu|a|e_TpLNm+$Cd0_8A!8K-fb8SiB+v`jaLfHPDebLYM%D&P! z-AO*W*Egr9=?)=%-Wpg6{JyuJ%*N^8jg&-5*cDm0z+@)=+9+E#_zpGkN2hgZx2=di z85t^C-IImU?)WfRSC8igLvnTwJ~G=pMPhdZrDER(DSiKny^!@KtWK6%>5re=-P)2_ z;%zd{I! z&5SxZlA|Gr96yEzhY_Xm630RQkdsR!?ggQA8nJ0_x8TCqG2@6DS%;NsnTIyT$J*^Q zeakXy8l7+!dBFmJFXUR3K9XVNip2lBsg1K=ZCsQ}G=Jo1>;2~WAKL67%V8VZnLA2< z)~GE_RKMU9<)2!YIpWRw5{+GU{7>!-Vms;nKIxsW$JuRR&%|ePecU!FiDljg^IfCF zH+O1fMNlM-$0H#@R?&$H?sj=|vwu1?Wmv9d6=*F&#b3}V$8k>lF>BG2?^oFt=H%=u z;FDGOh{)j*WUb?Wv2~u|Y`)NX5}_TD?O_by7!BKX-eRa=D^ zF40{LI)53hO9cpE4HToH81X4f%7Z z?J>~_OD0{b6>Vf|ynE(pjFkSBv_ZTkXk*lY791$Yxn1rKUFz4^Kh{K`PVJ%xm^k?C z%4ZRRJlb@7(kkVO*7cG94u!N2gf?lKqgp!~bzJeoq*m`p5&7%&?ZeDWtA?z~D*paP zlw5V7astk&PX^pf=r%nRCL=F{D?CYRvS=tD@}T9GbM>p4t_@DrAe)3?8u#=Yj2cdf z(Tut}Br&#mS)R*1?<|lng%dIU^k6A`VuPj60Jh4O227fdi_{HhcH z2GuN|9~)9{%2RbwH{&m!(vWuhcX0x>TR* zffA92eiB7(2%PV0aHdsx(csX{*qB}Cf60~i4o)_Xjja{uJ370AG?-Y6ixAg0vy!Qp zvh7wf`(u}<8d_fy8hXN!xeZ`#^TO6( zpJow1C5j&3HCqiHn<(qFz$Ln%a750PT|?+u{PKHw=-_gzq5EPd>Cb|`U=kYQOk2Y$ zxm7bZdwOFhhN_h`1<`3&InwjnuH(6$RHyM`Mf}R)H86p`$%tCjbUAI$xTb}s7r_GX zklaai=h5;D4RohGR8Z2H>bIjE)GEqxtZ$MywnX__s6rNW^eAq=!4#kAKQbIH=Th?_ABF@N;S7aE0($v-A!gL6Pm!Qb1}$W|bM+O9fv zM&%o!FSeGNp7NcH;YcZ41f?k5i?+D%=WVylvI#X%KIzwDkpp9*yi!?3)n~#k{Un~G zd`7vTTxJWu35@h^)@MH-Ig%e^$rm4P0xcjM7iyP}tin&1j?kde3{8Mcsg|H5s$~ma z{s&+B#qB1hQ!mV;nj7>e&65Xv$q+4>ciOlip3e@{rw2X;w$J4q#*{6yEDvgMSEybc zWcLu@30e*!svr7dxi1J3Fu#-6zUSZkefHzve^dM>cN$4^JGw2|>R4+%=0|?_Tpl1x zufw&M_D}cDt+S>cF&a9)Hblif8oozN+7>E)JH`_?zP z9yC&?m;?jQ9vdW>z)WaCxMY5jyF|>^)=mFtG<4Bkckv4$&&e0vA?w|^NK&HOh?2$F zdirPA0ZJErw{$*NQc*?Ju?ypYbCJY03V_$tGBFqIO;^gd206)}d-s{1(F+*PTC*JY z7(Y6(J&Rf_DlCg-f7Q!NH=)gWPo^!HACoRa^wp3oxxgGiy~w1jihmB7oLb&L37<$X z#Cws`?)_kWXLlvMUDM+-uCV6xhI^*B@3)Oj$-PFe6{Rc2s?RzUUMLv3J4eK$6x_$a6w5y1e>43tS*qBPIur5V&9Di1^i5Q>{j zWH-q8k6%^CIHgME**y+sz$dza;id^QZ1oMVZ7c`f1aq@3lvDY>l41FM0w$Qc_I>6F z7dO&M{Fa_3W`OD5qvyz+`t4yOO`3E)BPx%h#s|jA>Md5xgf{f|TnNqF%T?oEeJ?5? zd><=fq(2Zv#EX772-SZ-vrERKJOkC!j-!!mrTHpIF0Hz4Nbq%&hNHFkg6JzO$L zbrtw57v@m>-Sq9Rc*qJoDb3YpN$#Y2z6ye+7Wg2_++5G#9$TGqU|YCEfo2stPAfNN zyW18fsC`AWRc^f;_&uJjUeAJqYb$%~ci+9T6cC6nhT2O)f%F><8I7uTbNxkwf^k0{ zmiU|aflEm|$Pnj68mea5!oi`AU(D}*)vT@=>5tdyBvELYB9`EoSz`bgwCAR2P3?#` zKRQK_Aep$656F8Z)n9X0@V_<{RiIBWQpdV&;Gr0%^3gxZPk?7%b7Ex>Z}~QZOQC=P zCJa;@bqXV>i}raA`=m|dP~cPd#*`ekPUxS~SXuDcG5I*gh=#ASKpZf!7$y4X?7@I0 zA3ji{=Q@ms+d$wA>OP~g3uByYij;07G3`#fARzJd<1p*E8 z{R#cS5-p}qYQNOvp@DCXs3;JFm`Z8@_=dam9+1Jp*p$GZK*Mcnd?di{E_n2aLzCB* ze$u5X3kr1MX0nBXxaiZNFg&oM@vvBApk0kGOFLThL&m*R&xmvL-i!Ua?PB3&E06Nu z^(2}XX)ED@H=8&oG2>tkxZnbA6F%hBVn@uhWwiQmfNV>pYqO(>82$#~T?K7g18 zz#o4o_4Nzsy;;QHwTJu`w^WQo%sFeHbhY!DUuj6X1 zwTh&PB><#QRFNL;PB?Y*Qw(}r$t#HuSfm+y+mhRL8fk)yDC(lkW+Z`w`rXMCgXg*Z z1aDTaZU1`CBgIC_$IL!vT)z-omn5Js9Sj*$?`xeqCSxwqgv}%$H}O_56tOwv3f}+P zHtXJA$L#*Wh)KF>w47HfAQwBkCZ9X%tm%>tt=}+*y8g_6+q%g#qA5gAIO~4D&!`J~ zRme^$-@tpsnL|WYx%3r0hzJ`WL0tX~Sx0`i@scnX4AdVLA|ZP_B{)Lv_|vC7_ieTs z$0i2GFkm-hXJq2(HD6r6b||(;wlRxsG5ez0&Xk54Q=d4%)*XCVIRSq@p8D#MXjIzF zF#`bTkEvW3-%VRT4Zq|hlcy!l-g1lbV-y~+7kJ38CC>e;SV0ul-Q5`(>E9{<^~TYu zXa)xc(~AAuZ0+$0efnKm?{2U)kny~H^lv~9@?*AEXXw?smYGAH6~;62+_3x)Lx*NY ztZQ3Hq?!fRIPy9lV_f-liO#GjkU65LNvv*mcdJ21*NO%8w&E@!i1sdLDd^LyNZMInrCA zyIbQk$&FDD?j23h2oj9|w6%5qR8!%5i;?zPvhCTw*t2WRYe3W++s8gESL5rx`7`F% zO_#R`BX&sEe_zcieG?%-S@_+1>)#NcxXI^WvfYSoWM{EJ-@N|W?amy+65T^Z-K^z9Jqa`^rD9nM6lyXW?Btqb@uR?YqRhB{Em674Njk!Njb5q5jZ zQyg()*HLiKxaTI{y0Dls_qhQRbbSqtEA9>tl*^S`ObMy^DlmpZArAv8$tHtsW3%&C zQl0R7Qjt-H#HFQF*h~Su(bQMy98JA191-Rj+EQz99w^lzh>bvVg?Pg&27o&4Z^;Y? zd2l?sNN5c0&xDP|xkgm*;chTezu_gmxPca77WX5tLBlvl3WvDs-_q?6Dh9PAVJ2^O z2idGNuro{o<3yE4tj?K8q{QM039jdMtYNsbvv@QhxZ4D5VB`X80)pb>{pZiSaBi&@ zf}e&0c%&cu9hd#vwqw~h$X(~@dp7TLyO9=Y;yGU!aMOm8#UaA?G&wqA7<}tCAchoO zcr?J8HL%Mm=9~lv>htTi1jk9%E*umo$&nGt4J9VkY~#?ipUP;7yFze56RuMCCin$7 z_(%J3H_!QY>YOSUeuIsRd!%o6wlw*z~P#sDlQ5+F+9naR#KEKR;6+iF!FgI|g#f-o06QpvJC>3O; zEux%Zxyx{MadGnb&FlD!>`PqaztgR|%Y2^5HN^e-B?R_aHwn1)mL>o`=~yeHr)$q4fCd zS7>VgJf`aRfZ|k6<<@ve%=WCmDS6FwvVMi2u!jg`pettFDMrfX%D z$cG%Q_rskvKbFbX$_W=2d$f)uUE}Qq^9sulNv4qeA;?Qh^?bB`&$vur_)0_Ew^B5? zpuo>^xLl13v5lSu)A!dIO&`Xf3=KeymZ44mG2Vj_32lVHm!D4ty?i3H)lP?$ZUJog zz@LnzMB#ko@_uy&T+H8XwCZ+;xdo3Rwi~*yb}Lo_(^o9fPNu9MPS0$<j>n|Ka~PU8DQ;I^WhB0Dj5z-yawJqG@ysac0*NUN5~D-sju~3#a?@12AN52|{4l zB0CuV?)+vImo|TH4A-d{r;5CZ$8#3#44kjwmt$?4p(=x|ucYW;m=CO96S?3X%Pucf z$hAvmv3g1Vx>peNtJnK;$6=BmKjVAduKINDzHD?DebvHy3;yF2l3dz)|HY71e55+q zA7JDnQ>?Rw`z84aB8jt#nJXAU)@1&fT)CZHndw>`zdNe?=} z<-132*&az|t04t)MhQ!=IMVR-FN>MqB>N?6wr{H5IK)nd_{4mMM%W&V=QXp42L{)dW>)W z$dCFFP-8kgdKiqHb&+%*FDiT%eduE30OA*APFdr9z2?(8@;MVWB}@6Lu7ajN0BJtT z05vNxAK3^IUGb1|EgI3LwXT^b5Ltw|=7~S(E5~Og{48~!BTW29HliF?dZ_}4ombLhfIFr^?1!mm>$|Njb1fsyBLi|t@!8z|d5uHS_72Mi6 zqp@p7OWxb}>hzALKl}aKljz=u$>+Wu^nKrH3}7_^Xi`|-1z!za9=%B&H4AuNkb7!_>{jqD{L+DdgWHS7=}1Rj1+D)ZV9Ir zE6SBJ@MYbeAp@0eymENTOsUs!0ix!fWpx`(e_VMyuCrw2Q;#AqbEGm4H-mx<7OD>q zoSu~$xMp%yIeK$Z@7EJ-C4)fFOP`i&>${aZ2YQ^JT*14PDZu;EP&GVCMtAjp-Rir_ ztZ+m2>RSZujX`P;zGI}}iJ*y&CX3v7US&X|pw*Bm)F90!HQY*{TZw}>Wl~$ghoKx1|N!EO|gmnA}uWw{0?Z9cC5Vz;dKOjpy`z%ROWVUSvdpv8(t$EO^v{9 zTT@JR-OGeeuL~{5cu^ynlHCM`Lk1iah=&PRQQw>7{ra`u|VM9_!$Rasb; z5p}{7v+Ot$so7V7Pr$5`#uo=jV&y9G&)0EJ99RC!nvR>gNxglgVQ|3+qqkvWxb!8) z60}v-a%MHZW~((j_~xPT<=xr!;Q$Sg2@|ExcmJT_<&W|ZzutJvUSJPC3(u9{f(&rv zCOGDhI`AIZL%!Kpvj+a`QcV#9yyCkLz^{#8?dFIwQ*vav#PmKBWhy_}dbne)gx?Ll zwojglig$Peb8u9dGSpcakHq$*l`DMStG;7h+>UuVhyedB_Z8*mx zviZ&Wzwq5v;X1sA;IsBbpS9#Ji97`@U{>Y1L5k43n>EExG%cd!4`|TV8FnUBIsD~W z!ELNyN>RfJ4!UnQX4(_-E`h9dzp23l)W4cz)X6CSYR~q6sqZB^|H1>{Rz4r*to?6< z-#FXn{paDD8M7xM2|w&C`1-4@maXLp0QWl*xm1bDCB(EzRjACWt7UkdmGz?eQj7*P z%lTSY*-g0;K-%^aTNbaYDu}=|rv2l8mJ>cSi*4dCmo$LmP7(Eoz_$L!G6_!nM8ixl z33h{mcP;9!bprg!W}^X?_{-?)XFowkMXX0EvX0GH08Rq|8SV=0%DU|5KD_pCxLsz< z9;*H(sbt1;=?*<%##Mz-K(NCbR0EUd=%4Ha8{YfxB{7bs+8mF!u1|g065aR>E*p35 z(P^{I7+saXWk-#|O_W&=YIk;$@mT)XNP)?}3O=sQlNYwQaOoiu?4S7P4{Xwn!?4p; zWEiE*_D%E6!jDV*>(Svk8(|9xaKr`t4Zy(*yC=f1MU+5Xo&_?aRkkPPCL%Q|dGk{B z{KrG4FVdabu^%)^4MF^M2NMvsgv_1n5AmINR^?}(!qW$eTIE#1QG&Fzcu_%xo;G2L zqbSE~?v3TK`+8`qZ&9E{fQYt0y`$27O~=|FAW~H>q7e{{D#Y7Sf?WjfA$+uDk9uG` z%A`jO_$WHiTP=ds`x2_YjdNp^{@6;5$lV06@;IaLv z%d;$1q9orze;7zPUF36?kv2h9w#r&iJ+>YC)q))2Js7}bKk#3fVDnruXrO&kHnFUX zmo`e&Z0O*qtWj_zV3&X8odBOhscKc6W~L@ze>*p9=FyyI^IV?q3m8;ew*Fn*OTrR- zOw11W^X8Bb-gZAhn{Q+->xtmFuRghIqaX?awl{c5!s{3-sw{Xk>TfaV6U&=IZ%A5Q zrN=vLF+T(cx@u|8{wF`K4PYmNW^41?Pn_Q;QgtW>#dKnc7a;PM}K?0BGyORO5AHO%buSlV9B;^CpGouCachvVTmH;Ej zB;|02K|Ya@_~yyLkQAND(POL>WB#Ekef!UM1A0|>D;}+fQ%;!!0yo=h24C21R^xaf zEF1;DU3Gyk;WsKcw{YKZ#!5BlBX2VX*g^O{+<3g?P3%v>k%m?|6(&+x2Dl?nNG)57 zFE0C3y^A%ZK(xn*uwwtkvM8!$S2=re%c=?8pKsXuPD5ui|E&RUFHRk~*Di5TE0(f` z)6VMkMN9vpyhnH9;nciPYowklKjf%yMrpZ%eb6xmdChNHpn2MO=f>z-uzn(tuxSWg!P}%hCZmLv zayNSB^%NDrgbQ#h4CtC9HLv^37}OG?=lS6@q|vlKQ-Y8v-+cP|aBL%M|8n3jsOr-0 zdxBbS3!eN&sk-w{aVAZFz_wspbQAzE0(?CkIAG`|=w;rEK&`T98lZEzcRE9gdLKns z)0?Cqj8{{kE*=ob*gEd_5i2HGs}Z(Ryxz?$G1k@VdYt092@fe>*!OoZz4g2sxyyqD zSV!EzR_b&aj-^(*+mZRTO`HslwHr4cd0X2xIpg@ec0+Mb&=kIXVDI0_)z#W&L`zb- zKIDlW42u_0-|V(s?{0s^+GO)&yI*!!s(mDqjbSyBpp)?t+x36EV^tpEGsUK;uv0{} z$kUa{h#%YVQSrV_&$7PRGr-Z6Uh?y3ii=t@;^S^WN^Kd3`2*4RKba%$X8J zf{f?WG8~fStZv~FEJ+6534~`e>o#9Y{T@mAlHluy;uN3w+>Nc3)C2iDNXUuGCnJNl^d#WN@<`^Th%AIy+gkJOO9Y)KVm;i^tb z4uic&arHN^bRN7>X=S)DEt)ZJ!TbC;h2wrmh=be)&m62$HSiyc6oQX7oQvBFB;Q{- zJ;HC&76>AbPX4X`YnJ+}it^7;9k~>&onNfm3+Y0EUymQNP%yom-gaoQ@SK-};Ad9w zNskzgec=~@`pKhD$I6s$g1p0}Og*Hu=@DQl^FquYy{wJ%mAl52xh~scF?UI8cQuSE zmzpaL*`MT+{vQGGi|zRNRIq}~Q=bo-b>IRaW2B`;P>bxJUtwRt0ar~1`8a+TqROs_ zV%hN`h0sH!X9v$KqOd^kuOB4~GNdB^K_v2F_1wI{mqQB+N#cr>^J4bVc*E7*pKCTt zl&8MCRG|*zxp#+cssJs*v4FvJb^aGVLVC8oeQ=?=P&lwoD?{XN3Cw z%D=1m`Vkm|tN!lV3HmxoB~rx2-*^On<_x`mJ(GzDlzEbtC`eeEclx}w3pMm*u8J() z0+M~cVCEHmcA_;{(=d3;;d~q-SAq%=c;n zBg`6Rw`%%t9Hwx7<}FtqqVGt@ixsF8Mtth<1qsDE26;0viy=iz=w#>w8nU$>#KfcZ z;x*5~=Je$3hPkR9^ZOEUY1wS`F$R0W>IIz3xOi&#?RxVvqy--bDwnh#b*c$=jU_5{ z97@_6*G(fv_S22LCt#x5(k<$|IGSF*WdEKK(m9XAZ&49uxNi-YODO?|b}c>%`3F$*~{WJxk@xE8&zJRtj0S?87c|u-~5QTa#G&7mwG1>pC>5}8UNMn zNfHC;njc;(Okb-I7XdWWR)BQ&1`HlQg7FLJ=;~T`T~%0nZc86hS?Vy9Z;0`ck0Ufe z%aPYke%|*#%%+i;YWlcMZ9qc&_aCC10~9FJbjIV0J2hdd12OmqDg-=raeCbvd9^)g z*hGPCv1)xPQpqTxW=3kSqbS4p;&WN;g39=*(&GokRK%rQdx-q+`gblOLFZSe*XN!s z{dqT#@QJ!p**YC0>&!>`R%7EyCk@L`1WGcr5R-}Vli@+S9Ns#~kG3wZTu0pW>~bUxYKk+jmlpME6;w&i6D4P+rO<%Pd{ zH1;AGI^>V1TV|XJ;Qe7f_-Fg+wM)8x^XKFr-krH`T&)%*XIY=fD^YbQGCdu~4^aYd z*B!j%gN}CkkH@XeN&_P!TmSo2KK2|nP|r~`fO8q95`%1%pwKVUJKp&4IwBYF+xVKX zkdEAQSzH*BIc?7fTR5spyJ7OBT-{lQxhLYTe!=};@$JY;aksQE+3n%AC#H77B}fQg zhI%%g*|;(SiwFz`%l%nc$i>nPA`CzB^kHlpCUJfU@59@j0kS2tv4%L6n)$V^IS*v$ z&8C^#&CYBlK0hS5=n#3;cV3PSZq`}jeWM z2qcq?x3M${3PT{cZ!ai2BLc;XJyAHTRF0DT!t+Fqu#{*(yhJS2ShC#1EU(sHmx2x)YTuWE%b!d$z} z>M_#f?yOs#g6sKGp6VD{4g>OXA2c}@s=udSTH$y+L9MsVIhKPxb&)R|XOxmMM&XEQ z_aUBBg2A^(jzYDrb#iDY6AHH$v+OPHA$C7nEf!c#&U`9PbU-_O)=i~HiUt^56d4wl z;TWtB9doLg#$9y>hWje8zCG@27RonYI=0~cvo;3C8^rRTRX6@QkGHguE*uNcvcPXL z;HmbsPcGK+@gZ+vJB1!|^vbe;Wr!kmUeP`9C%4snwJA^k_$~;|g(g**+j;)D)l*** z=p29s*MwIDdBS4L|4cMJj#3O8rVK>#zRkQ0vrRq>A7`@c3avcti|?vKOJYwuZdA;p zzZgu0IxFR+0sg0S&x8#d`Q?jsD9ALFRq`F}Bmz9r^q?eb*;gf@ZH3Qh@$aj>MGh&w zL~2wc3G3P_?)S8op>iofOhWdC0VH1GMulH_SY#Mqf0izK_D#o>VWnI%9%qhE+tY&* z;{}2{yd0_FeUm20-NmR&trA>Nsr_~QTd?71&R8ZG?I&?F zK2csrkal^^YJWWAOT5IZ-!|#0^!}<1-Fvt5IVQ_(yK3C;9a6_!C0Tm9_w^V9y?X%Z z`d2h9lV;mHW~^o&Y!J=Aec1t7c5taMgP@JZg^%j9W5!{PT@;x?%t@;h>>cF9KC3gkZ* z-+4bm_A)(-b>TjD7`GOYqHdhGZTo`}J^qVqzA|m9eAzt3e5Twx{+;cIo3!XaG6BbM z{IgY#tR}nBpV8IQnxmvuUNsu4bg=j|)2FK+imh*ZfV2v-4}pBIDoDI`MCvKmmaXIB zli}7)uY2BzUbmO+9`wf>w+gva+p#dW`_LMmRghQLl9uyJP|>DLxlooSDC2(`8Cc>z zSCHo4XQ7Kb1l2XNKjkwzaPgcp09AGyJxn(lb#GDeP0ad=i_|N?L1UZV4>#SXg85I% zX;V}P$!Vh2qT_ot*rLVLGPnu&6KiCPZ`ut-vN=eJ_+BP-Fz@TphM7I7JCo-y3O29i z+$W{`(mTZ(#0+>JrRl|XX&}V>DE$5=`wv+!%j+uTiQW5FJuJ^RqYK1CpBl#@430Qm zo2xs`V+(e-+~c7-Jy*)YMGwhR+%CZ{y(zPnICMJ2Lcq(?=E&vDRwkruIhdEa)_ zu0TvZ4vGMW)@#tj(SS77wrx(8(N8>M(wQfyw=QZmNWNH19*58D0+P0c&8DVlY~EVk$a2 zUV>QdZo>`YJx2eg;zh&W!t7y}lCF<62C-;~667ocGMuBd}?0>~=qCklA+NTn3 z)a42PJl+E3^&F`)p{yCfr;7LMGKLK?AwB%x$ANeR&4uU+elA1}2i)0l?W3LuXgno& zUqV$TYF1A0DoXtS%LWL=-WxpOii(e86Hr>}^XCA`yDXkLh;Sl4ZtMRJ5Txg^ zSDe&lDEcBx_l?qLaq8CmGG06olda@%3j*@d!RVP*3(T|cx23%$Qr6BTfNDQcR@Uat zBpq#n61<=BVS&g2d8??l7#uCC-MpV?;|%`k>C?yRK^8PWegbL2vJf69?ZdZx%}gfrJ{OniHc2w6pGiA&51Ag692&M()RWXMA=w z+E~bfttXo&Kjf+aP4Lx0?F#xhbj$?Cm;%Gc&%?PiAHM>w2@?D;V`7FSHI*bk!4E0$ z1`uYV@3&&dK!Lt?Du8|geXyy}eCigyJyJsy4@`maiTy=HT?H>({&fK7c#}ly(|BL= zC*{eKi%=kYX*T%XKpZ})QH0eWZWhZ18}1fJZ0f$WB2y+eAM3zFShD!**N)H(ZA~FsGUlZ%Pq%j) zUQAqWcmFkHO)WLG^{0Q@IsBTpkB=5`WIf2H6HEkZgGnW?xhqRoFsaANLdK|M-y+}T zFa-IxPM-8lRLv?7{Ws14RAz=THbhE*T)B@dJR}A9496%O$$~$B7nz6xNh#c}w}nPb zxxQS|5df5DNTAh+0x}b)ey3tX{y=gdQeXRT$_yNH1M>dBF)FQlZ7OjIfEtBNrsfOTk^T zecbWz-@^9DR%Pk<{{9PRRKI$nf4Y0pdIGld-!!%7N+&X)4iMGZbK%-u_S;bNP4eNG$U{#gZX?e-(M>>b7aaqd8?4E?$X(rwYRJ+tiW&Y~}N^KnthL zVv?qURi7o^4(@wmz_e=IC6=D}`0lM=>*b#_f0e`%)}YvfH{q9S)89^~<~@k01V=_uS?8ge>pB%*LY6 zmAV98e{i`w>2n|V4;|DvHatQXM-=?pRQda2^Z2}B-;W@oj)CX}kB6e^l2sb8XT$V# z)*(wBrdHb|DD7xQE>bp6VHFW_wqZP;54Lt~L4(tqIE6C61xZtfUB4R5q3s|w~ZZ+i>aU$I_ZP9wu~ zvjs6IDdHijVzqRbOT(;gMp(Cr+Yg-vG~~nRpWG=V4iXWWqj6~WHGL)^HPsD&&w@v^ zuKcAoYYBL2ng2WNt0lE=+OHzNcB*f`Gx6rYorZ469QM-|UR0im|6+aD)lsH%vHVw| z7y4&KYztI(Yin*@i8QWe!!`LsAvwb!nfejIBG^}cA1PAd&ox}e3Jtln0fCsypbihI z#nLUIJ&oe7u%jVoo*!|)v{oSVk|6FG-r~Sixyn8jvHSxrMb|)Z>t}5fypk}Ms5^52 z6;K%*pty=yCyKbZ37nKX3{7dc-D^<1yxN$Yc80B;j|hS1wd3XL@IJxS0YQj*KFal( z%UN-eS$1LS+(`cR=`~W~k&7u&-9(Mr@hrO4^T==scM@^Du=RFiacOC=RUE`LEX2^J zG`2Sl3Ys~sixLpb>`cZ8ju6o~a0$UfYD}SPH>YE#xS*B=(BK^2yY-S;u-9XJOobTz zVfG+F%gV0&IzO<%CY`#d+-@h2?Y*=LR1LJgn&F4u zVgAoBh3}3-bctJ3kbvW>wY{SdqGUHNGlD=1f`kt~6-oU|RCRx}D$z9@ywrSBi7r~7 zvD$0T-7O@)xq_Zxw z<4i#$FJVIs6U*Soz zw?~5@7ac=v_rBZ~-p%+cEkzW2$~j{H>*KzhcL&9*@lzJnye$}X?d0T3E{$Z%uAtWnbK{H*@qKg z{m`33}w4O9GhR(*r)Ltenye1<4Oj zRajBS(bUp;5CQ;OyF=5{0hLY(fC-ywshQim-J306uGe|R6x}agY3#glDbc%1P(&-B z6~sGVSv_kX2yMVEzUbLy>vSLBaQ-m8^JVIOmYK7Irt$T6aeZlLqV|6l4c~VF(g3mE zKJ+uOe;>CYRUBEXxUiX!n$zj@|&UuypM zdzRUs+J_?+3>@2&v&khUa$)RF1(=7BJ#;hF3Q!5`iArgn18E}}AXH`mFY0L%udULY zdlBR|w#iK80db>r#^*f`7(V~DRh~=v`l?Fg`9Rbs5cWn)5~$6WG{FuiUAH218ZBCQ zUu+V0MqH_T2zFu%a<-;zHZsEG!jz`~zmL1OH*9p)^&oXnXtGx<88g`u0Gk zXW4s;aabJq4Yi&KB>+TD5ry8Lx!Jmi_9Mc5FSy}3ILIW?U@F5Op|O9#Q5FK-;zKY^kWEc530$ zll}m3_aISHuJe(!3{o9>8Lc<>eyX7b6R#Kf1|&26!UZ z#uKF!Z5m5sugvEtr{p;56uKy=Ohg*>JE#ALlWD|}EZrOF@&T8|E=S=7u>s9GQI05O z*RFRb3t#L+h@*T{`MjTMxW|a9Lp5Qs*^BIQ>9oU8qhKrPf`wHZzN|U&X76?i((397 z(0fT@`VZ)rPolnJT(?r-aL&>>p;*zT;|x*uED1A$sEnOuqeR-ZWLsd1QE>V@ZK^3! zTl**wdDMv_{S;nl*L3z4PCe*wJ+)|~PEgv(OUeNi(ED&cuo6W*X7l_)wF*PzY z)aKhYsj1fH8E0$vc#L~~D!I~L>E_E``%!d5h#k9rtI_d{42LYO;Gz6jQ_DFg) z`{eJjCa-uoRNbp$iRx(Y#rtaKa$itQK|zg|Sqzz+L>z+EO||^-zEwo`93F?G4oTG= zxk(2|X@UQBt=9~L_-&sx;*kU9cw{Pe!}N0tXDqUQglVh5_KjqIO4pR{(=<>4P(N72G&c3Gjy0ZZ)3w18fu ziS8THQpt}X0X{MgNBy??`5iz3@RBv2;b=e17vz=q0yRu7KgkrZ=KrAe9^UPa*sGH!h>BU4%Q) zVLnz)#}tXyhQHzcWB#7&Q9jo@d@+Tr%Ecyn&_Obv+LLkmd%rg}-#WaXGZOJ%NAk-u zb{|&(zch2(G3V~V-icSxjo_X3^@EZz(#zXxw#>H?L0&;#zqbRhT1`6ew`L5sCJ*DX zfrHV5yjs(g9P|TUG3qhjIg{OE?Z;uxBq^Bkq9+%ivTe>Mzviaj=4EkntcFHd8EEA> z1)FC3Ao-k=)L8CUR+4<(ujU^#0VR{F6TfmDvq;~?d%@lEvG&pG~k2=q7np?H0@ae1gxXLO8Tlb;_%$&OOpi`8uU zm8=3;oh=K|UmtQZU*}f8+TA@E!W>&6)ks|tYa#IO3iCE}>Mat&&e*jO5i`iUz2Fv+ zQN*PK!sG?RAW7YE5=Ol>+i1ZqUpBeb{gh|Cn7A%LujX;A{JcVse3hzc0?<`FUx)!K zL{wB-U>6Y)um~XvHnm)NAi8R{4wl3&aK06&N*C26GvrWZ@;&Zkrp}J}bK&G=zK`f@ zI~-(-XxmAnEYIxsX)znH6~Ud~owVLrQkX_lKJhjKH`IGxN!bHU${$P0o`U#PqwZb& zNY@f=>r%G}O-He%E_X$41yLsFoehc!wW(O&u5Emu_I-8WCm(*d8S-@)Fd0H06l*ln zX|_3yI>dK4iij8%F^;70B{8P`y1i<(Zgp#(evlS|_Y&#I)TrLpSl_K}Zv-olSBp6( zKV>VhInd}^P-&gT`MuHa4nKDi`0;$a2`4#5!ACm~D>v$IY6uA_++6rWz^%#e9TD+f zx$Q;h*}rYLu(gET)6yBIu0mnS{f4XkdI&VS&1kypzp*Rfp0;*~P2dVkY!-=$Ku$Se_ZY|8I z#Ab$R57Hu!lRRG($!7xK3-ZZfDb+(hdhR4Sy1J~E1%l7Z-OO*#0weng_h$!<`}#G% zB-*di^I+BP_MVTo5;yB*FyY+;niP!b>UG;hR{L$&Y_~W2-B&vk)Cv2cbvl8PuNA}o z>Jn$-e73J4r6<^VPgVWGB9_zCMVyYtx?_e1`rDt;h3A)U>4ICw3l8J#L*H63HvLS z=an^v8FfZlx$Y|zx%Rv;tvoSxWFas4dtQ9G$3UY}N4~JNZVtYmPzDzJDXq0NAAE)C z`G@VBo<`=I3&nYBeVp-uZ;nQTYQT>PC?x7gCNqVtC@`vFL4nkH^q^H0<^K|m`lt8XO1BP z4T`xp5Q3ZgJ{ir}Hdr}mCDhi91hWRDW8X+(r>$Qa zdqO0WD)=4m0=xpHAX1CY8qOVb^;nhwGm_H~p)V8!VBJD?PH(Wd!O_2;GSdF|}p+>SoYU2Eh;-*qb+WF_)vE2@o_P(|J+ zSd+riPI=^3@O6@K#BmK~FzqEb-nJ)+#t@x>bO`8?2r}@ zt8_x1a*U{Tk1=)RJs7MBM$Ttw!}9AiT*s)Ns`^`1jJ(a=M4hU;nKGST^_jD;m(2a{ z?zuVaxs8x1$^jZDJCJ_b(i+gQlJ5$-oRaqFeoGIFZA8s`meTQ%;H;3DjA};12HNw- zcJcm%JsRQdS|inz#}4NlTxpl@{r7@ ztbVhezfmBr9nPkIU^(b**}!VY7}{Mk4HSB)0sQf=kpTvpk)s+NLSoPLTfHy-Rs;rc z@#iMb&)8H+1VQ#z-*fbnxkLeD>ovj|nb1xPK@zmVo1jV~_Y%;fzOgGOUIdnNoYGgf zSh4poH#kZ~RjJ)AWToSrQ1zSH@CY@PL6laCv=DPbU~h@%-uN(??ow=iT9 z4r%GpB^?6+VF<$L5mE{h>25}f%8=%EfIn5 zl5I1?-6W%~^XRj%d1FWY*OlY4atb*G^O{==9WpqBdHPTn$xjJmK(mtRpvb9As$8w2 zLpu@w%fH8kZ@BtO8~((HAbd_d(Cggr2_Tp1uoMPeI_(VCgwZ$n8S1A5w!MBUj%yLX z70mr^1fZGo=Kypl2#uEKz^Am zX2$H7la;JO94DQgF~w%A%W71QLCq{I+VB3kRizV)#o;h~-e&gVOal3|M4F+r$SO{H zdq=v6XGD6@NuEqd;T4;<^r5sE%u1I?djOL<9-vyLR9Miy#8|(%Xa4Jg&@b-`1N-OG zW_8!^%8d8YqgW(rCb#!PvZ(F)?Or>dkC>YdCwG@LRM0)oS*N3btPBZU+(xqVB=f8M zly%^2xvy`D6f!LFNupKh0v{8P2vY?$KMExP#U`}1+cvc89L~NwY5Je}{SNzr)?&d6 z1OW8_JBz6&f|DO?or zaKL4Y6%l(O7Y* zz_9Ca=IGqolp|_a_u4H0NI*-}!^lk!(o4;EeLll|xY*kYf)r_8=t3Vt(V{7|i0SX7 z^UqAfVny}2gTHTBQW79vAzkPfc|}u1dq@$V-u++(&D_$RqYWKa1?-kVL#^)HR)+Pu z+~G>Z97p79S7_T0w4E~_R0Q&46J^sofX-orS3PrU<)D}94lag!yF_0RfZ#=9-%whf zbj#@dcv&^o@L9FK-Q|k?tB6};zwnsD^!l$*Kc@+I{LkBg04;O6lNgPpiaG^BjnRQJ@J)C>UGq zl>m8w_o9%eWppz}3QCnPlb#dEW=`xqrmaHfh!QZNm3wAlD=Xi(M!->3#-+e6Vgb6{ z8U_52<0qV#?MSXf>_9@wg?nLqJn(?oX~buSIG)N<>9lJB<4O?9URy_~!q4#&I?EM% z<{+rcKYZE6bloJKk)#r{$vMx>et^}~n@+eW9fI1d|J44H8?pvV%Txc<5=zr$X#Ythh zs190`CBDG^BkBq4>PVyB?9=FYV$1|g)RR)IfHs2|?5 zu?M>laJkF^0;8WvJckvTk#f#i!Jz!ef7B!M>>Pm^&o_8~u!~_oc0m~TK5|i>{`lu! zdSlaE>DB4xwh-7&K<9GL)9#KnT<}$Z;>{kpQ~2I$49&JhU^kgPK8Ew+&HJoQiKGtnAD4-dwt+il_n9*l1j)%f+Qw5V0;@}$X| z=HQV6n$*Yrts)f3cx;>_!-FpWF`E%zuh@&hA(&0+XuJ{YRFN7dhJjy2Zsww#FXAqTf(3j8CdtN)mue^HZ1H zuo>LO_%9RG1_KwWa;_aCDrKU6ts>p22hC6HBw<7~u2^gC-Ag|ecnlxpdkx)`cPjci zVWOv>|I`twtDB}`*>fltc(cBL#a@9I1Fw_(7Y6J^g&L$k_?}%&ud0Gs+F@lYPl{z% z2jp`0TTio_FE0dLOEot=HPEPED*g5lQ@k3~oHG*sC0PDb!FTsR!s{igGP|{N^ON49 z%(aL`6D&8Fnt9iU(;nxYVzY22_W?e_Y95jv=Qb8JyZIsHXu2H_!LQdvSqZ5bXR&zG zn4Fk&ynCFcFKRJJ-kGyfCb6y6>>| zUQ+w%twh9F4two?kiJ8{U8ld+Ms>SZSOonucDi( zXX7GZA6Fr)qy6UbIvF7^t~)66t1iRthqHMLMMVXQCNiaqU4Mlvk!SWNzOf!MOz|mG zBo84~>mDC!1s{UOMM4hl<#~g1sCtuKjmeP(xZ|$L&<9STA$MJowcv7gRoKqul4r^w zFHXIHSA^~Jl*(QJ<$pgPOD@w> z0z42qzHVSIzr;Agio!ADg5&INYtzX#)x-3oOw1T1fm&z`q$XKJa{2B+CvIfBZt9nv z1XDTpw_sqTu;N}_T&9mH{eH-~Rh^l-`tFf^TJX-9`gnZTBhN6?0nK!17b2w*fbW|M zUfT9~^LzH_CBr?O%{yN_-ME_n{NUi=_wqHi{T3H;w2kTQHE%Fr5^ZCp57?B_7NWlC zcv?UE?}UR@kh$*$S1@9c!%AB1&~&bNgXfGdwrZyjSmNFjSfMz44}LlFa5nGRYb>gXro95JCrsi9a1)PQtP-kXFb>kWucplM7+dQz<0Ro+_Vea&HTkF@UffS2fAg#Wpt)Z- zz2{>dbW-gzLm7mapx6fSpf%Tzu(#L08d)dhUB~u3R!Z8>izmx;cxr4~d_!Fi1NdWN zlD&QudcbPl+$Y`&WReZQuH2pMx8aG_5t&$8xY6UJ$*$o5`)0PKxIGr?_VYiR`@v^* z535@GP~z3EjFVPtCT;cZPB6XMjdfWfl1+_`LB}`?1>;iOSpyF1_?trDyh zNmkbK;HKXu(dBAI!`wwa4ZjIM2>Bltnw6+eboPnDx>{T0DkQhJ@eN|1LqR$0PcrfA zGH91wHZ^IulugJD*1``vB&c)chjA5d_;g4l;#6&KVR}scXO)M&d~E)=E(Il0^#ok5 zj;c0UFe+JURRFY5UJ8*nU`FN(+=P5N)cr^}$AzQ23O@|V<4r)h?5{ScY%tdrhk(=VK9)I1PC z9*n+evCBZ9nC52HvL1SL{bgEC#%0pUyuz=t_%F8KWbDh**5GtMO@-p1VSnf5?8T~8 z1MJ~sPmJ7FHB@i#74Ni74x6JSI$hF4aqyd>HkoZ7MK92$r$X@(fbT(DuwA&XEh5Y` z)aOI{pxf?0MX8OTgPo$c|AtD=Vm5=sJ~4;ejdw3DmhF#;wE53EOjMLt1YgZB>q6@1 z_5WgHR`uS?h4>!)5ov1+Iz9gP>))SIOrbemg2MAM{`;KmO~Ts&L|D^ETP=GLW|-_zZwVO$83JX&IC@3Hb_)TOpL zx%>KNa?(NJ8H>rT!QeY}u3AmFDk~%n-HfMqaam7yX&>hHsZceg*e2 z)qO2hVNw5_)+=v;5XTZQ}#k5UDz!$V)a7is!J^xa}9O;#Lk#8eh#C z^!rUuE6~Vk*o`+qZXN2|m^JwiSO+CbY}!n83`=Y?Jl0t1<~D^1!x0?>RXshqU~R5krks%+JUS#gY0quzRtM!3!?zl1#4ce94fRZ%_4Q&fJ!MqsP#`rEch^&okdJI=Ct`4?oXD zY+llre!H9A2E$|@&(n=Ow&_6`IFZ)_6a=pc+H7unnIP)WETFKUWmlr5q%vx;zVe7i zm5Ccwtn?Vj6d9>u{w<&rY+$T#e!F<-hAy8@)A=kBmwD73g~n4$rxkljPMT`1tP=6_ zE3-l3IrltvM{Dj6T+Hv6^ZKm}!<^sb-*n?wLEy~z<<^kbZ+nKc%e;O{Nh`|8Dn{o; z$qqY6HQh*&XfcsxukglC>4Rv`JzD9V+Kd3OI%lh#w@qEr_6uJ0V^I&+k}KELbKh`h z#_yN6zw?o05t3azHMDq_8#{35dd6`mC&MfRgxlNq#(oI#p2Idub)x<{X5<^^*ypU{ zM;RCg35*{8<865_POTUXZMX+#>zoMnX5oGLpVH;yG2(D@Oa>^xI`N z<&5vu%j|xe@>KX71C4-5F~vsbxrlF-!^fFX+Xr^C4Ap&O4?u-#x$80~CZ%=8gVXbZ z>Le^_j9*!X!+y#uY)Z5FvCg@jr|@}xjKfzeG)Hc`9;_QyWOq3GW+Ise^F+8seZ72bo%m)lAEav>i5T={evqWp zhR-J)e}2@Ln}@FmjOGKmY237pB=77mx4hn!kNm%zfp*=`1f`1^|MkoP%jk^+NcT}v zYr(sWzq8jUxS)kePz}e&CBDV9DEv_Gg~VI0`m&FD%Dw4S-iH!eBCW#ci1Nj4>GAK{ z)d)JQcX`SJh$rx%ztw?+a7sdx_J*Vb5t_r1|MldN{43$#I`6#!TuM;qqhF61;b>1d z%3#1L1T~6&rE+G+M1r^UuVy{vFS{c7wJt~xqE|>XKkr=IRTy5O1*|Fz zsw-k>Em5^F6K5Ft)rV8%+U32KoJ`RQHY6muY{xqzOS!sTJfe92O8w#QDx>zsYYhj?~KMx&NfxE`CH!xXb$}GBlw*2 zgD5knsp~U<2-*LxU7h}6&}S;gMHd=9@jHb4PBKmM^OL1_b?Sejbg>K1Q3;Py2~?1} zN-rE^!PQsgv7#osa^h#Cf`Q}K?CKZ)PS}H6Bail44M=l8_w4N2z-c7!Ubi=^YwYP8 z1rpqM#E(bJQVz6y`0{xZM;j$$9Q`Gl$l zSE+dS1Fvq&uboOASD~3>tQDR6wfHrz6bp5vvP3Nk=KJ+1!l@JhAQA-GV{4?+X0f0v zuQI@~vI-IP;J*5MQUb6(>;a0LgE%xXQH7%nWdL}M1aRXK1zMPHN%5G;EVZ51%XGRu zcc?UxO)U)K1h0kFw~J}2aid4kVz%O)BvzC_;-$wsb1E9$QUwgKvL|9aeBr+K;;6k( zCd5F3j$iLOK1=ifW6442h5HvBMv#a9^$?&Ei1uYZxRTw^+GySRDM3oBbm|SKH2ODg zWDkT)$-X#E40BMFa0Lo~`?1H=Gc!(8KHg;PbC{A;06?+py+FZ}N=Hu$FJ`Grg zpNh6Y-k`WN_#m9|?T%>VXLbI>n;qG(reRz>? zwI=fC@F!%MIC=(dPxd#*_4yUc3yyRLI2vu@NDOhbEr?$%pN#>L$X1N)33R_w0p$B8 zHGIOQB=m%mJ{PSQq~}(B%0KWu^f$`*%^UqkeGXwB`m4nPb*cVj>DE2zi^`w~11I~P zc^yfBGIzD zFf?WT!WXL#6~*f~;#QDt_FwgEVfv49QSKl36Y)tRLAVVn7b%m)4A(iJAONmHn2l3) zp(xS(A9K%f#q_$mnm~J$E>e_Rm0$lO6rCcGB+B!YJdpB}ZZUe`2qiXLxP6saNRmGj zT2xF#r^4TfAGK@I$Oot>+7w&x#c=0Z~;v*R=%6kQy6mfuM9J5YMz-hJSkT0>_gCBW~jc@er$d8Zx+m(bS` zF#mw=iz@TCYsp2>mub3ONaYXi(Uq|#Qvo?CDfGI`Z~y_kbSh4^RogTs?C1O-L$dPS zVu|7W>I02VKzENNrlfjfc}aNv|8}dPmsdU0wR)Dvd_yvGQBGvf%}oF%mBj>4?@Gf_ zS+4n;W5%@(QC{(0es$VrBae#vaA9OQ>ygQu;{Q~Jo6t$;d;ax}ZOpDUM2s9r;r0H= zc=q{hM9HLs_@7%#xh%mnjkf+eaFjH@$*k^Ym(g0l7FIj)(X7NeN>*6?%Yb0li^;9T zZO`e|3?*CfZwh`v+KdjRR2nf9uZPKtr@uphQ!AHtHO~O-*=+J59KOyI$x7)pv$m+z)Zv7Jqmv_|^K6cpX>o@y^9f=n=RUX?B#jbgQy>K=0Q%U;EE zzKhiA`ANaRrxEr?k9fWcOk_?Q2AJsf@cF57m*oA-5B5fUP&y;?tCDD{;%7;HZS{WOd6H~b{QWPzATojz` ze!dKTCg$`oUQ_#TdI+hF3I?wZo6N5-id+&)c~=l6TFj&01bA`!z~1r|RahD9t)orl zh(zATNCB?j8X@l>gI5nfl8zHB?(9`=5_FbRjnK4voz@p}Wf*cG8FG@@8&8eR{=gU0 z@*rQYV!4f7YaN9}U3LAwp5I@lwBOb;kAk`-Q!*n7-re17-#Y9>UXLF2%0)4k^}s4x zKaJqD0(||)%E_!cbmE$a>~IddWQ0B!HWFRP=3s9hc_uTOc<0!06G@fMUv8Q!QIYT0 zn>;qc3%5?}1iBrnF6Kkd;UQAuV)vyazKqG;9qdkeww@Mwn4KQDT{ncB^={A8af$=* z34z6x=M4;(ut7@r$IWL^^o&%_KH1)T5K!?+b@Uk4?f@6NQVkqSNV5H|sqw{|rx=@ma*pHEfZ)DL2`t}Vy*6Eju#<9rC&F6 zQZrp2^q5ynYu7V_dwc>+ojLw+P_^G)c3TAD2YElf*gl&&P5h8&$W&p7|CI~Kp(Z8n zJ^5n*Z^K_#7wniZ6Zm_vc6=P7ao2!f0qKxoI(>lW7IJqFxGw)(c%hU^wzgIxSA&XCrYRr47J_M~oQyCg^kj+c zW`ZS~oDy2g~s1DGaJ}>j`-~+JWPwcGYZPPc#}V+{=FD~oDI2Q zznx!RTv`Alw_)x9!KcRuD^R@#%zKaQjcepYSLJL^s85o8$+54v_K|MNoPCb{PaA*x zS_D-}6-S=kvrFtuP6V#@I7BpXaYPHY=58~UftZUk|~(0Zq5Jh&3}5SGOS1)283XIniS)At!y)G|`>SNAer zk(_MvEEr@ycCP<-ZWlj%r*huy+1ARz@jf2*z$@+M1)s|Olm1x~QzJ#aciAA!?XeMv z6b~z0+(df(y}Gpl!*snyMvhw8NYq=q+!`WiO=8!E3O(FCjRpjw!h$m6+<0SV^IjYk z3$Td%i<-ABe{on#n`HISy4@^BR)`7l=zS*auIohovquy3MQ(zn$HGh>3*7_?UR3E|SO6bd^J)E!5cOk5 zSqp`7$49nPnwL}&NLBHkX1Ygsu(=9uF{t5cF1USbNBX~ahi~yJ~G`q|2poIA^d6%Z_HquvsPp#~*B-rj|1HX8e$U*KqPPuvO-Fuw%P zW?S`o0DB1#qM7!y^~DtMT2UJ?i>ZYL7g7M`SSGy^w>@N6L&Lrl;(zy^mglR9(6r=q zgB8mOwTwn}wpN;P#`5B6MMb%NP1E*0q&pn7FH5RA5FR30ayn6reL+*a0hv|P%5M}wgAVbNliyC>Xvoh_u6}=Vm-G~|hk0rQPmv>v0 zO?iJ`bIL4Gi|;U0zH;m*@QnZ(_q^kBNmDz^L!f^yM@6EPW3TRPUQE# zqagDNwa7?$mwz?(@lE#Z3^nmL0@Ej^)1nY;8>Vxif{vhrx8RnSblU>!b@jj3e$zWd zB1fD5M&8V(JW3g8{F6fA-D3huG2o!KjP>KKU4hDXFT)8ys#1O(9Q^qPOsJthRojI? zcn1;)PUoQdAodN#frjRPoio<;{h1`1v;JQXl9r$cvP!EW%2SDf`SOi)-80J+wVx*1 zoojk@vJkFb`DUnFU*A|L)l5_z@*0|w1SMDM(FFkBuVYP~^5;*Dg=wQ+m!(X4&l)z_ zzuOafMe`Vqrvtc%X8t@mQ+T3E&S8^4M3O>pryemI>4qAW{r6(m@M&kWJ>_=*9kNW7 z(ozIAI>)AjMcDh!+A8{abcO?3veyCPDzEhOY4gVpL1=hd0y!;Zx^-Ti1QVK&0He%h z0|3o&xLWQba?@X-D(}ssNLBf52N67_S$%mVp$UYpwWQ9cv%fV$$uVe7JOuwR7cCYk z_AM4>63~W|n(ld#Kf3ff-*u0>N8-(}FG0Sm{f{{Uo^+3IDG@wL^ov7JDlr}dq(*#m7a;hJ?4z=xU}!bM{oEnM+vQKp1dpJQUX;W+LVzehKJ ziRlDVBtilCS7xu6D3@kGM0Lr7Ng0Vr0pDf4i9rKVlYbq;U7VJlkI#g2(loFW04%*} zR^|T55kk@}p#-2A>;{1qxNnWkx~y&j>J%~PmT&Crs$>;LzEqUgG1KvrmCNBZWf?II z!SZtd3>RXfErt`ddkjAXg<{biI=l6miF?Fke&T)F!L|F3(k;XB^uD+i<<1N#M>^4W z(%RYeuO^h;mOp_1K_6^CBMzgrBxd+sZO()uw{&K1X2;ijkC-r?8V3=OG8143>EOu~ zzI1tkAG&{KSGyMQRo93phw|r=yjJ>xRPkTm56hm8`oe00+=(JaN_)}vm}IbCT5rnB zn$3lr{zBWvfK^PKsXiFhB$}0}r*mjB+GlBiP_tI{K={ZJ0F+ny@1|4ClAbT0s)~nK zjr{kI?~SVaoy;FTau=gSA^f-*7?eD}94E@z{Gg9R-(c>KEy@YLY7=GcMCrg?N3TM0 zpV-kBK!owu*ML+0E=>xfD~^Q#xlrIv0Ej56BN)l`H8vO3Tpj}`7sy4El<|Xr3CdT4 zrlD7-VP>VQK=8zGAiOL#DG3&x@T@o&8dY4n^K$q5G=7iql&h?k0^SmSO$#9*z_TmB zhq~d)p=H;x4z2|B931JtbY`)qaw=dI09_BuuoOrS>YV*V)_P(%Qeub}UbCLsdATZR znLpIZw4-435Tsf)X;ZJ613S8K@V?NekU`=>L}2om_!904f^eiqpK*9t`#KIK2MN{31$j9Ho$Ib(y? zoUJcfI6FcacMjjwB~f%yv(0bLgRM~v#s(=V38&tXbUkQJq7J^!9-9EW+C0?Ga2Y8d zB%co@inJCgX>A|ODFTGTpa2koqYWj;%@=hJ**01`fE6Ttzgd?e{}G6u&IRwk0Qcsi zphY#D_9((oi2)!7VE(04prdz1uNSKhzfiuet|MlWjofg~eV7lVmNS10N72CtkKPS8 z?bbqz1aUY{Lz9On#+3yRx#_a#;s+`0q^aEBf%iexg5wZQ0%Dotcb`4DRa0$s1*k|- zMa8;$++A6(iqWJ>)EM9IbSdJ{`CMldf6PKoW^F2|Qq%)VYZMG3Z98XatO0t0C&?nl zk~nN?zYzc`JELC3k#nPsXA)ss&6-7GL%Oa{2#8bx-_Tg$BP1>0J(_~RG>r?>$pHoC zmI~g_^xt%k^bi=(-BUG{K%%XY z_;+B<$9eRB1E0_jK!2o!L3;dn)5ctA%3~riQZP3V4i|@K!9PS8*zy-s?3T;ZcSmt{ zkXCzR&EKNLm1(Vq+1rB-@2>G8?S}SuZ2oMb?*22_;5&Tn@`_lT__^{g$oq%qC;0EC zjas7qYG=Q(P^nfgZqr|z&#m^4dI8y@fl#!R^4b-GZKY1M9jDx>ApZZ0ukBT3x(4>HChIJCK%Do zA+Ow=cK?r5!B<;8IWH9t-(>e4H4%DAGPbfWbjKnp7(w~b6bzXz*^i3A&_vg2-;e%5 z!7~m>)bG{2^V`U?@XjY&zAyLM*eRzng$Rso1Ni%Fs)NrCe5+>#V+1ukX&OIg!X)91_ijC_Zf_%LLO=a21m{f^`k5SP@RmytZ!fnGr}ZcI^4i-+3R1fj z)O5PYn+sFJ0^&&tWwZBPodheb7g)E}I_M4fiizhx(-u$kkH zT8CQ-`Qj~Zv&9wDI4RT`Zgtm1#+DKDMprBxH z4-e0oSnJQtZk5BfZAH{Z=aauN7K*{aV;jeB$;L0Ns}?oWYEFEMVokU&ENkbUNc#k| zj=K|`bz!H`$u%*_f*MSNH-9z;MH)4Kc(+~5uxmFk56G2gPx{03!o<98|DOLk|21?1 z7ApC^aVBZ_cFCgK<7V3;C?IHo+!W#YGr&8zN@HMu`M6>~^{6h3_a2Yj)5+bTe`|K) zpUP`W4?jIuVyVv?cPqiC1**!(u1g9=P(K`X%g0OmBKRz8X201|qe~?+OEM1@7n>Cq z{x(6Fo@K@&Fga_hK~+Ua!tY3f{qhO}4PEp-%nQ7nlrLK4MU{pGD$j2523LWPYv2n< z%`MDIh-x{HhV1I+P`zGMrVcfxZb!O~5pv6-ChPcmjkS{Q3{fbnX7vu-)^WF5+gxYZp$eGJ?m%*=dOhHYtm3%?QN7 z^%swSmsrV${kQx|m|2r2^QwB7pes;jWZAbjpGMtx6y^TMOD%wBb6 zdY$zejcUu_%8b$^eU-)-azf}m2u|$t6I@r!L$-gvtvO?$Z%Z=$3;`=0XR>vdc=A35 zhe15;V7X`|t$l;p^{rddyj+=epNrnMX!U1Q|7|1I7mdD%n^Nf))S6!K`S=`fvA+I` zdUk!OjQX@6|;;_#LNO%u9sm#qrO+9ODw@aPw~O zBC$?}w|F-xnTPAAZxOg9?o17sQ)FY7^moeg3e(Sutu5}9@1L-@1z;q$eg8Y(6|v}H zv268BG98)b!QFJYerB;NJUn5spZzA%|w7ZkI$tcQ$?@e`_H!| zMl@eQT?PY4h$ZWhT88~mz?i%o7i`xKyO-${N52+_dzYx!W=-`M@jx0S1E@YY?p{&H znT-EBE3VUXR26yrc->wOcVf-V zH-Lnse2OhN`W+2li!5hvQl^)tPwPh@rsD&?+?Q`>jeo1Ik%UnG1y*39xo1G6x?bq# z5%7Vq!jSn7BAVcS0MK7`t3;ChWsw{MVxXvdv>P{$5b>0j->IFq$`;_O;f#L1C)3a% z`F{Izc2+>#8`lPq{Rw!+rf6`Cc%WEc%*gHTd?heacBrupI6}t0e>wdQV|?^w8UQbN z^(tyJD5qp>^Kv()%Q537E#z9ATr7$+trEAS@kC23%erI8msRsOlXCs6M(d*E8Nm#` z31=kL11SE6Dp&2*ne&j{f@8Nj>q9BUmMhUc@x1UjU+`MGwD`Z9Nkkccu^;nLI0Uw) zulo&0)!DdrVcnKxy8KOp({_?FuaGt8?r?Oqg1upwNk2zxiTaq}2S^{Iv|` zxmGe=VmC4E7pvos*LNYUkC3fWsvIn7-qbX&yLxM$;0D}g+#B?t8BfWNaOvsU8ho=7 z@-!_lsE}rQceZ>REc+(wH1681=JsU#-o}u_D)0zb@tG$Rztc>RwVI%Eiu7rRc?F4- zJ{u^OQj~UiW|H!x!SA`No-sP)@@9Vi48y4*omU5`DITzsq{jSo@Rm%!z0i4UQ^aa~ z$&%e3^n+-Bvc&JGf57M6hiseVlzai4r@Wbac;*R%WpAis-Bw!{J{GdK=2oBn-|(AQ zgHN`Y1GFVsC|^WO%iz)2$#qv3*Pc}Jrc0~oCx5`<+7&SG~-BPuVmkvkbvS@ou=U7r%&TZ7qW8S4hUbw+bmuq4=%@#oxec zjL+nzdAc8~X#l)f6>*1orKZCezPu<~V+Im7qFU4Z`LBWz5~TVmePhM{NDLzP;YGDLwkxkG+! zlJc*!xQvBoQ%-H|T5V^Z@PtZivItTSI*(Px241ZxM0EsxtN5P;f$1GiE$sYH!Lld~ zJ(J?7iqS*V>?a}L?G2OtrG&=4z1>vN54r~WDYV~#;p9B{X#L(S$qd%qvVB2Bph_JR zny}d1N*GQj+S8{)lB8VupD?J=!tAzRHZQx)J8NyNQ0W>Ls(q=gigl3vf+h;p zy0N4+8qExo^G^>p!Vs98w6pM|kjEKHV~xC8hyZ})&tC93Me@Qh}T z1J&VBwkP`K>fT!tCGuJF1m8AlByAqad|G|h>^p0&>#TO=J5w)t0OIPSHQXM%t z;P(Oyn(K-N*)mjOm&dQlt=^eTfjIN$*bQ3uUs@jPjMnN1H|msGhJ;z--d@`{a3J|X za}H2|W$D*36F7FpjcfCkTWh-Q{#|M5_ntk>t|FFaPFiiJp(-U3R2y?Wj#&Q%gEH21 zG5(BeyIjxKRJ@oAVmiEXt7@2=iEDgpO&3O}c;vYrg2<|ABgXWyu*iNFe(y&jB~y4GM%t06>SrKBcoO$3J2M5)C6%k zIK-fL!3LF$z@SB?{rs8bR-7wg8>OEjmYY1zSs$mVE2hCZOud+ zp)Hs0zJ4MNndr`_MBo;d=22q^tY(BWXoF~hw=_eCvU%xarZweGmOn#X3A1JwyC0^DE~3BLEVs)@Uzuk=;WpGGCprgAEt z0n74Le^5V+9V+Y zP6>dKgLYa}8Evy3s^C-l#S{-+DCyPA_3@1Y&O-TL@Nzyr5WS{8S~fdJo&oxv5DN5b zOd11r0SE~+qY4GUN_?Gwm)wMvT0VMEW6gyeykJsytGf6r8u=%1TK$Q+)bzXvsXKy#Y79bz3 zmcxj_RoAW~l)j`4AC?OIhpfcOYeu0{rkLQ?O%^CR4Bl3mFtk?wbI&HUcFIy|cEZT^ zd8!{QS0$?T@5w_W6n`C69#YJcENrFKVf2(1hPH(nKxJ~65s9x3uMbv3ZbRYEpD0@w_DzwEv*Xo9PgdRVdI!RRbC~o zvMU7hMZ40f#mpjPK22g8jgLfxo5{$^1YYv4Xz0=-1LG{1r%r^^kW`KR54dKkeT^0!=B7K|Wo$V@J zP}Z?so0%Wh=`Zt!J6+m1H8STc2G3Q>wK_b554UVu-u5ns1bQMyWo0c^FTBNk3Re*3 z+=DJ{L3h7R7;92KO+iJQ(>IxOP+eclPpdqqSFhu9`QcG8d&shX>cmI#AVaT@ zkJ8p$lhluL+d#-O@jo^iGxpx>sY&Ba?4~WQ<7VI3KlL?hRr0 zmq<`_%Yl;FL@SWLxPF@%cCBwuSHRydx-T|sV#W*B)rFNw#`)aDWyod)=*CwUPh68I z6r-8ThCTKzeI+mO_wz_Cp0Qe+P>Gw-$^G^>LhJSximt2;jVt2wLp9^CRW=(GZ!1k) zlWSX=vbA})i^EKe+NER^3IoM(OxYhGl}ikgH=AZ5f6uMTM$L5a1pVf|cq&fhndnbW0@7(mrRinzFG=p~!QSo-CFhweV$igk0}vZ1n01z{uf0W%&75hD?kq zrVmYR0vM-POt4J@1J&qOUkn534Yq%G*T33`oIm;GvOZ)bK-g#D*5)4ip=QGS$2y;1 z^&01Uw$3U9doH;}?0$P)F}c#%WLoNmKg4eP057v4FAX;Eld{C4!#|@DI#q^wL-W7? zcDYtBLd*Viys2QobXt0PVHr=gU_*wP*io>S?uSC{mz3a7BD^)T`XN%L!!33gwjXcr ze#gJ9Q23j86)e&BMNWEeDzxRct6`SsZI91uyQ72uyBf*FcXgadTF4`Ajl_xx^xVeO zR49b1C+ycQC!NjzWH8s!G?V_CZoj^hWr)tw zZ~mR7Z(C=^yK>+lmm|E6KS{^xqSTLq(U_GzT!GHoc>mDuu7g4s3ewhYJb2XwtJmh8 z?%K7JeKQDDQRsY;TIP21_YnEP+nBya@M^Eua6cr7OvMVR3hREKX4mg7BVZF@wvT(; zCL^~coLU3L*N(1Sl72nh*u7u6x^R|dv+`s~_O}s)ipS#5S58#;^p9H2D-7S8e{=i@n{dTjOStnl zO2;oJS8xm`0~gU6@~o7KrWVY^RzP+(7SJno`+`p8=~paLanH#yL3nG8dh!L2a^kqO zZ0T7>AL!HIeeM|DvZ-y)8ht1y^x2qWGl*184smgOF^X4NEZIpHkF_Z2!yd&}x2;srhutM=f{W7$1zb)jMk)0eR4b2<%NPNO24YnpD zobR3NHg(kfr)w8c)u$GrVzfyAv|Lsfs_^zC{{{z`yOjvNGaW`FeCUxI~(pO({73^?)_ z#}O?)X>0t*5ubOYy`Wa!o`;13MCW)Z1vY;uUv=MmJN?*^G%D`_S@4Xsn;-QY%TH@C z(;{_rw_sDNkCI}uoa2NuUz*qm*9iFv7}bRx-6&R6PFIkTJ|x%r@KA8Ia(M*zovKwm zEk2H#CTYl5EQfN>%^V+)d3$?Vkv2X#=?@@t{n&r#mL#;M6={b{*_Rk*lmCeIap&`3 z{eyrRIZrsfioS3;xV>4NZ`f~qPM5dsV;0DM#YikUAy~^3zv@MeA)$2zYy3$B;G$irvWNXo- zUQSy6a!sV|FWb}$m*lebZiq^&LDz@Uf~Hb$%~2p*s~CAb!Mw?c3&UI^~) z^5uPJzH`nT{_%&&gk!#Q*-9QgQ1{eVyI$a)A_MVmI)!N@WgP|e=`-j2i5(CRewm|djvxcY$ zU&8?fDZS1%1bFcwC7VzAz5@aX)QIFo){4`ub;%0)fm;NVQ-9x=)?wJrtGDb( z?yH~zqDE=aA$(~4LYeLvMvyLA*z4|}>JIi2B;9oN%GmWmRv`xhvR5M;5@uJlB0uQf zAA~RCLD*J8^_QnUWPg-=M(;#L6N6$y;=yeBb|JL1_rUn*Xf%^h?%YX@<;oV#QcRgY zR>6m|netPRN#uS%u1PogfaDKfw+-pM2haWjPvUXz%0-*|fg~M)=|_OIedueUk|85V z`5cOASyJfawEw4glok@Zfv&7@Io~sEyYZ`#1?(*Xl%vL!|Br&vQ$MBAEeVPSP| z|I;bYW6tCCFMS`DNg3aC3IIJih3Rh;NRdJB3;;-^AWGM3WOC(gZ!r*X5dG!P(uXEa z!WS6U<3Q7oND2^OU0!Z$nf>-Qt_w-71EL9Jq*3qz^~^MAVQLk~vl%a)m`v&JC0_M*g+SozIyD6F8c&kL- zC$XJMi&~BU&n>Jg>2{o~(sS$@)5q{`>l)}PnPQ`pzjqMAuB%2=M?L*5t}x7i8; zOyh)-;cxp{^F5astAqqyY2I74`_0PuygSA_KO}J;CXqt2F@4B;@G(`*Meou+!b;OS~>( zB0C;~KS#xjZS}{6_M!MLlmk{ZQ734%cu9Ra85lXCaT>`vIH;!PUv7w+tlw+17qglQ z9elEl=Ih2{<07CfNAChke>pQabmcn6L>PXtu$031$;wpD8D-Q>r9f75#I2B8eeniZ z?53S$MN0NDny=p0s3y4J*fWtYjF_zmI@L!;OmX{VU1E0MAq- zxk)1p-vm+s6{|2!EF++gz?Us11fk)}63`{ZVbG0=dQt-LORAHFq;u*rspI)O8|8SD z!GROkGZvReIsE@A*LMkE;%Izw4qS&0jcu8pO? zon~wjRKYgNg}nSKmj0)Nr!Af!Gn7y^ul6m#gEAZ+o=uki$p)gF$W;)++utb17G-mK z?$}=BDfWE$$d)m(1Bk|o5b~vEfxWf4uM+;q4(O>13PH;%WbRfu0c#bzUO8)n z37`DNU(XEDQd$!{S~F0XsS`|}2bt8+kPVp(KJ`m2XNrdNyjN7~pr zKv=eNsL!kx{|z+Mup)ssre}O`h|9B;9@#U%JeJRo!!UOaTkJa7^2x(-5P*3!tThVo z48XvFLbFynEd+X^~7u3|!LkUN1>LU0&MGV_I$SM*!$Kaei$@|fC;tm4(DfN4G zh?-!9n)Ve&!A@gxqqWNv)-?Q&^S zN#s27E8jUh+&G;1jn2?jw!P2J0b_L$>3etS*AAK*q8&Kz{CVlsl;$v7YUlKp-9;Tc zR4^Zl2$`jkFV@+QE*nzS->=^j|K~6QsxmeC$^s`=hw~(aEaxufr z)EO5|GB>)dwi;uI97*Pp01)xMg4okpsiLA~W*uu~I0COB`0`!hwDokl41SS5k7Ke+ z<{awN!EPx3$!W=IQNz^agOe-ibld9V-fbUJ^EZ{O00fa=?vQ@si50Ww-P^Jdp&m(^ zR#|lfdMk}PmvciuGg0uk$%9o^mIT`{)+pKD*!G@PFKihXI$xZ*B-kO3E14Cu(kg|T z9pWO=Nk4gn_T6kx+OX6uH#ZW9c*Jh4rXXEMz^_qOZ~6cf)x#hb5fpG{%yE?sS$8fLozOY7eLr(IH-?gJkZX5ePS#hyL~YPLcA`rsv##-!wvxZLBs`iYo@c&)I)|Qoo?2W5&U6EVQ02G zhx!%Wq`54yq*U7pn$!oOo<$0U69i9|5{Nx|ltxNIMB=6G+GZaa>|vxOea&h1sP|Cy zH34gs_(oO&h;Iuc2qAO*+gzZfi3|g&2yrm{Q9@V_o{A?IvPPS56KKCbUG`}0f64JH zvU**nRr}0_p8%xTz8bTxiZAKww|2YYB2=juPp8%)BI5TXG6zINyF zZlvyl+!;2HlU`2afEjQfyE>}F!GhClspwx=?8hRxw?2+!qW3>VT?)OkzNF69P$`+O z5AOc!h4sgx8Qj*vq5Gqk*p!&a0~pqhQiyMb98J7sre*Y_buR5ogP19L8ph8P4Z?GX)7G`Rb9ax+C%Mm2X|cF%!C@!r z+Xu9JA-a#qgQk?BWI(*;IJGq;#${(E^I!|jN?+#el;w6C%mPN$C!3Qp>G1vHx^A&;RL3RNN)dC!?5(5mOD`r;eh)Pz zKOqp@W_aI-n5JCMv1_}6DlF!bp?~~!I>SpkBr5t%O#kuv*s*Al7Nt4p67ZA|?JN@Bq1lz2^cqjFv`1(%FQ4 z%IzdvcWO?UA2S{{qmYM;kL=uBJcyLcB#zYU7YKGFE8jSIy52sV@c7@mZ`>!Yxup{) z4)XJ`kEZT7fi{0CjhQamrxh&r`7Kxrj*ii6dh=y+C#cB$NH37repBaz9~uNric8wR z%VlruiA5H57^WKq^JZjG%d7uuR#k_lyH~4dgba4Aq0kzTglhOS>64E~E3|RK)6*$J ztY8ymeeUW>$cF>i8ta7|I;*mfc^1XEydi6OV~>Pz(agFFx8|E)r^7Q=+mGS&%rzj31(4$X`5>$FeMF&g-`S)5^cRhPh4}l zyBay%;U>dNL0966JjzZ%?^M|9bJ5I8>M5xwdD?b+OEI1qd_$+9?!JhPTj?MSfJH*_B;(#S@*a+lb2yngPPliwi{u#n?E zZR=1e^)<6kS@x<_pQms-$x<=90x-Z`kuTPb?H6=BGYO*%ZFB0RH{!39HxKFJmvul; zJ!RmsSZQL_znQjXyRR5Q{Xm8sooaJlR6BfG?fhDG->QtdV=}Y2iNC<|T3%WdfzOYL zDEW*^FJzB59E|`$6BeJ|9aisLurLrWjHqTSyyo93EVq;VW^U&|Ob6j(WBR#_d+0nE zj{7^45ZAQqwURm+i~wj~&al9pYg$VY(b7=?nOI;o^}x2xE^uho3?_p?s&aCp7tsOc z0-agH0{vDTxsw1aJ>$8oEXH2)(Q&j{%tLh@IUEdRP~2P(Ap27d@cu_WH_|L1tiay1 z-%s39VOxu|DG(DLnq1q(QL2GL6K3t@@R(?n|vHQ#%`Ov@fX&d>CnL?G-gVceh zc30ksBoaNqfHpbH2wgM16eEOhG?h<{glQrt2_3{% z7@-k~y|U~5v&#s8Md$Iy%06zs=}k1B5Da%-{9S%|_Ym?8TZv`m1)u_v5OF3?tAt=F}e~Fzak?VC8#6O!ppOT-~FFFS`H)1f!6J z438e81B~ulHC_@O_;54jm4SQ-`C2wqWUuN!jZz_B$&eMor(#p3ZgK&DfEw8#v3Ck4 znMLM#>uu@9Cp@Ue_bM$DOje@ryt7CmUr%|9w;VFv58wxX;XIh)TNv9Qd5aFoOTeO& zC8PW4s)}8u>t-Z9G(`AUmJLlB-x$gVs-4V9G7mmhR}H~8hZyN^H1YitL6)Zik8|lz z=)UuLHXfcE)h1N4!!w6IP~a$G6+>H(0a%IPas{m7NSl^r9a$@+`MLd=NCB#Y6hBpP zyzdiv^#H&zOBZD7UBi`S9eZ1?>0%;VbbPNdgJ&gN6| zG%JkEm6r)japctbS=o33xoF2xz)}x4l?CLmzNAow;3I8&`5@bSk?*r%_#d(8(NoNo zd2vyBKD-6MuJT$CJ|xwZ>~tJ!_mXrNFf%ZWAU6rwG`*Awiztn%*-r}jta)q+y zal$A4iA+nN{nO2wRc*st8JeXzxMKESNz4%X z@6j{#^Z-bYi2vQge8+w4^V1-lMW%*t(JYI`t@$;?N&N>qDa}gzx4Vsr=f~&M07)Mo z>fRNP^wztlp6h@+zSRnBp-i2&c^hW$7*_jfa!kd-bo(G+z}Z3SHl{N%C+Sp_qUB-m zXn1Mqoa5KJMdW%Vg~Y0TftxwetYst*OLlBqE6Pu(+2`qI331Rf5L;?rfa9TW$i5j? z_j@H{lt|X8X7>))9KB(|-qfi>Do)m6mLgOQ{Abss99k^z-?03#VR6kqfS;OqKhJZ# zbk5e9lA)W|U8uC~&#M#@h7SrKfp=}eB!$c|2=LOMY7@S%HujJZ`VU{0n^DYhv|qjr zH~q-#EaDm=$MK8gJg@A1%?u+jDU?`t8F?4ERH#v}d{1ZQ?Qs>Mk@7Z{chYW#Vx$?$ z3miSV)68eg&zrJFQHY`0@NQ2X)hW%NEg_V}*4)T1dKq5jBVi-3huMY{w=XfKD_U+N z;mfE#{zV;GP%&uy-6~_I&tWAp75w#Kuk=W{awQU*2}=f9IH%uG0@cF6Cji^3g~VOj zSgo%zkn+EM0p%iJ1i1dOZZDy?c z4gbB7FV62A$_pO!;dM!!JF0!`d{M4K_eEW0BcBtLw6$yV&Ckop+nZo+T^5>DQOlor z`mndh9Rus>>FE==9gupuy}L@LcN@16N*~E9IZ{CMSxx@f*OIGJelx29ZzPcNefrsg z!%jtSh~VZc*it}l&@x!L<&J0se#oWlo5wqJJZ$RLZhb>OKC+bdv7g&!7A?D{tMvRJ zYLcdl$rZs8E9d3|Gh!2OTJbivHLILgYk`W`oiYPk^v~y=Vt8>)Iwq{G#()0mtnBbV zcSyIBSaqEKPd9Z;5Bv1&FP?E2yvDGS!poVm_c*}IfKA!N-*09As+-rTrOlyDCtH=7 z+7fdlnX|Ox9!V8kBhsIobV#(9w^PC~Rkoi!=hk}W8Jf}BxcLR|Z765iGf>W+?n@Fg^RJnJ;h$XY{a}>Q%1SA_8xnboWIB9Qy-6EyVn&m{Y!o2SjzuZ zRpBw6f{hVa2Ubx)Ok6JaVt-GJno5k)?7y)R5s^6ZKi_<7z_`o&gF;0L5>_LhzcDzt z7RB@RT@0ep;h!&tR+dAenZX7>5^|pV5UE?LvmQbPrIjt@O zm#e;wtm(Tz#8#R%JgvhkQ|O;hAHS@+TdTL-K0l$Qlz2MT>N~PC{rKJk-ak0F*tsS0 zpME_SyGU9%pg6GWBKYLwJHA&d)&_^eecIME8UozWLRxPQD-9p^QVuN&!G&B>XM&BX zUVdJ=dB~BZQzRcjBLoAryMuYdWjq6~hJkaaR0MEpD2N2jbyAF4_Nnqkre z-lJP|8HosyweU7MJIL^Pjl%%m(#q!GU?SW-Et(n8a;io#W!s?5W{!=8Rq#*IxL5{j zgm`Fj&*1r}rJ<4%Q+ze{Ve4|_Ur7MMi@U+I<&2*9=C_Wm*U{yoZh9Ym0A%g;QBt4GrjKjW=m}e*m%j_ecgf~5vgt9SQjnR+^z!$@ZNcS%S2*rC5!Ve$@X=h zIv!@`q$f=3o}9!$XZ#L=&EerO+js?~c%BG(uv&^eDO?vh379(ld2O>_{g;!d2%`U{ zrsb5Gr=he?8R=>8hmknhY{6Z`i^Z~(CkGeP`A58V*ciYvPD}gh--~+!Ys$)4WiT^W zWVZj{sf4 zFd9t9uWhRpLL(L;G`PL=m6*S1!e#JNHSj9#r+?~HW~%R0Zav=GrJAGW?R)`A)d)g&QEr%n5r?b8Tzz`Kv}0$q44%y_ z?r*;HcJWy`51v1?Z<$99^Ohv69L)7f<&kW`t99NZWV>f!xkn*!f|F$?%S$wRCHDAH zOZcGHpAzESxkFZ1A^g&>YG%j@sc3XlZ+`OmL6!lKmuwr?sC!H~3(_;hmAqmp3viF*u5 z5#-A(;Smdk{xN{0IkT2VstwD<-k`ktj`Rhe*@N?Hx_Vugcu(4Iw>ZcXXgUJiAD@IE zUxuUc#M;2i!naq5)n|Wi;qH)_!YE`4CUI+DTpml`+)Ri6BaHzP+i=?oGt`5Y_EAdT zabHU)mL$-+`*_Ss90X|~t{uJgA~tAyVCiZC`OyJz5R6KMj{|NVVT#2=a(s-%h%@tFp-v0-gwBo9ud*4Y5 zK~lC?B#zocjPqD*NhMf84h=BqLcwA+F~k|itm-p}tpxN}OgrQ4-1)oZqrp?`?mW&R zk(lU-np>n5I9XdX6+%EOh1GF?)G}d38M1RjyX zqOGaRsb6%VHOw)Ya;7Oe*94dVlFsH&vLTNO)$T%oz`EVPDj>kUIUuJ5`2&c+?{=tJMsViT zYDB8rK$(#suPI(h`R}2j+F{JAzN}b{NfR<8uW>Am8X=7z$G_I7^XeD$>{~29dw%UN z-wfwbHoBZVdZnM{<+Z=uFadfru~kr{IE!!2wMM)~GWPz9@=;CkAJzCiQ3k*Q5|VdC zL6XBX4U_E`ZJ67J=OGbFtfm>R6w(Y`xk&ia+>wGk-_8hmxKT4BwpRek3y3{KgmQl9 z^d1l+>$qglWy|4x2eKRZ1h1^r$q$l-Cw1-#)zn7=70qWh1l|UC%hySU8caISbx=fi=JTd04fiI??v9 z80~E8j?L_ZXzDMfY|K)RB~5+*F@^8*&>fl@icyPzA3DAgTUSx62KgzhrZYPmhcM6T z`rulBUDXElqzimeMHhDPH|<_?!8sJe<07(twSksY=6mwD8q^vC_-83Blvm43a*i#7 zy#*5FvN(jG;shH@hDAO#DK=TGe@BK3yfPH%`G+#KDsi>sjJ_RzvhK^SZW6SyQPeT& ze!Ywjl*x?;qGA-k!1Fx)XqN40i3t(9QAayY+hMuB?nyy`<-KP_S7zd<+2=~*U)&n9 zYO6W>JNN??MRVw7EgcELQew16{gQXD-Iw`_h>&&e;K_BmSz~j@-?QML`i4j95tOC< zRjjJWvgPR#PqN}(K>qZb7``yV527}*MH7Gs1zQt&&mw?;RbRX{2#dd~x1xr?1kLvK z=O!Y;_wq{G%8_}<`mZ-3bT3t36zV(mC-KWCz^gZ)&SA|ZkXfa;x9w;uNzBBdPCxOL zenK_0-&jQ_Yu3hys0sqjahB`wXkmXu)l9IAq2Gl-pwfUEWsmzJFg;~BABvLw2hA|z zVhvErChpP(v1miL=%P;6u`Y;xKY=eNj~{HCZ{)aDBgCS>ipt*~e_*ZidKx%xAuLR9 zlMkUoeoRC8dOvseu_6@=#t`dr9IMx98q+#>*qw3Rl3o)Eq=buPI5{Z!d6VQjhJG&; zDD3V2@n}4FH*SYF4@hu@%S5!Tc^EFlcHNtM4Tv6YM^kZIUr278N={Dp%lJo-tl$;- zZdp7B8Xt`rOU?haM1gU|6y+yt*p8(3u)>I0bD@*0<NQ=n)2? zHJpjnxk{d_zbAxN6W^+mp>~yUN(bR8GdS{#@-0E`fqE!ypn z90vXTB%K64L(mIA_oetMo}U!YOM8Oh6nHigGvfNzL)lJf&L zz5@|4LEf~yx{_W~g%QMMj%#R`)m&Q}!Z##hj>EPIrI5ClwtkIHHKyHZ6x z;aZnw&ClANuW)#*1hK7Qjoug<+p@y0tdV2`kX~@;k4AG00t*wV*O=lQtA^4Fq600V zlO-kWdQCys*Uu-F*#W1wT|Gnuq8KB=h+y$ANki|AxeOdu{jcTp-i#TFBUknnp-3Vh z_e)KB-{Nt*=TE!oR$8}wA=ccoaSishcdU&9ys3_k$6T|X1wWNl-O+1EFRsg;}SUpGH8(3m>ytux$+x}9|Xd#Zf>uSh0!_N7)nbk;iAZmL(+p#ovAqny0izAuz^Y1pys zFo(Uf>BsEal;$|e_-V5G50sMwR);uqs9Zj*%}wiAu0Rccyb|tsDRJH6*xuCAW*kut z{uALsCMqFOMpNfC;z;e5NZ--eO!leJI*Bri(lS(^DHSz=gp4;$ch`qcbl3Aoa;8pn z=+mWPI$XtA0SJZOlyC5PW<2TKMcl=6K$6+j5}% z_QIn^_0!&=rSoB{wv?2V|J6h5L^1 z(4@(_PhBiRwOb+c4*CALS9R*&yVa-J|ABsi>(Ne4-l%QJbNQT?r{* z$MZw>fXl11@X~Z;9aW*lK^yI&CA{UtDNWemzEm5@pa0nXu^x6Dc>h6eK8~c+G^8{H z54t3h2JJswowEd-myUhHdsju_ARNla33(hbsm{bnfyt!V;e@AjAY&4b&kvpfkJlX) z(*D;eG-y&bZsdr08%_n%C{c#qrZo-*$F383-v63l~_d zsNwo`cg~a5?&o}UB6Gb_WF3Ge{awD;0$xrry#;rxDaobv0DjWl|8t)9E2S*#QT60H z;2Cbn@=~0x(Fm(D;Ks0I56+WKlUXbIjO=yiq3&1b{ZiJWaQN>)Uh>aXb&w;;Wy3+sj;x-Xsu~V=(;#8|7OyO|WDK~Du@nd_Ng`H=$wdL*3O^~I) z@YbM3rdZ6>aXq-4_hqAW?xYIC1`A90BLedht?>O(Bd+NV8K{6m^n>V0!I#P?r9y4( zA};>p+Zy?Q9ciPlat=K{yg9p?X-OlU-Mj4Z&!+dkM|cXKV_PfezN>T>E7W>8>3DG5 zWcPhOOkbqowoykoyt_Re`7-95cDV8`5%OD=mN z;+Jj>YtR!K(P)_4YxQ$FIs0LJG#Bth@ImCIjkDoMfEN)N;jJv0UuG`J zNw4$gs6vEt(nht`95Ulyg|qKW8AiJL7-#>M@uNe{;WAeKR(DftYnkAFn`%^wcEn#t z0afa(36ZA(sc-jtHfLMw1tcwnijO7GInrb8G`oISqUtJver@j6L{P#W95l4c&3pD^ELxgr zXU6I2>dYqHo*GHcOt+*mdMfK+UF`?lq>uSu%Io8$z-K(FU9jvu77c+sVeq+12j(do z{$&zxLS92I;q(z^Ol<-UDe)5oxcYC*z?6M88(be9=Y_bBANkv~_JEG&whyGGes$6B z$BP;i((}fCF)-z8I9TzxI0v zcG&u0uQcfXSj6%JtgHQZFTqDYv@D15L+S3ah)YI|KhM_RqJa^AM=;}*c=7eS@Bz$A z)u~q|a^AUb!rD=jh!?w@BDig{>nO8T9UN8-4eQ5fGW@P;Jr+zZ|E;h0TP^R&v#=oh zZ&LA&&*s^gIa^x5cwx%yDeyy^s+F<^Tu(DYi_&uLw@oTQ(l(aZ2mb&8108L5uSx5E zRTp9Mulf}Ezv2-4%G#-VIuX2)HWMRu(sHU4bZ$1PrS_1YJi2ujdFG-`RJ}5s@$bvi z5ck8I3%^tk&;BI~0GUyKg+AabZdsLmU`T0EG-@Gd{W zuN&!Z{26(nob^fid7OjO2e>8L*RA&l@WQCUhZ#IapzG-9=)Ss0s%m1{bO9t?A2vM2 zZzC`^I>uUv{zFJ@%NrP?{+UI3ijnI~9PVNo0d3~Y69QxT-{nxfkC~;-PaV@)RM``8 z(9=oRMrPsjwIJAYm&j)#Zk|=mq5V1!%7N~+5uJm^gZ1_Gk$q2ReMbQ~?hxqKoeghx z`93ma^CsMwmZR-wC8`v%tG4bqTvwZHz_@Tq)~u&1&~@cVpoTM3)lx56H{Utr!#Mh{ zFHyl@i3Pg^cog!UM}~mrF7yAXE;Foj9mNLm82RrAq`C9tz_qUq=cL#}%Po4GMd=Dw zkFCqUcKBy9X-hc3U&6bKG%B|~Xb%lKJv}Xtm^FWPtTzUF+?O{VIg`eI!fi6b!0%)& zhVcS%lIKWW!+$tbI(z+fmZ)&+6NOjrjXggcElPEK5N02VbZFRZG~vy7LP$MnR(gIe z9Vl1Tazw9yKifLa`~RQm!T%j41b9A92VPEWamct)4h-4-8HJk&7Y7ikUTAu3_gqUo zNqwlW%1=@kdOzOHtz+u$Xlw-K8)eParc@s~@`U&^|82Z>ec)srkBp}rVDr4A0W=Ex z9dOEoboyUkz^K+^V*&ye#D1bg?2AA(@`+{4Al9%+PM8u(;0nCx$}Um@6Yhwt^}_i) z`JUsoG|&{nFPmx)d_S!)U(Qo5sIl>V@qAi?@VnS)KlhaihxVFc#|!>0Hgk>QT-KAq z>rjn;(V8@la>2GwTub)Jw)@+GRM0Euw`t2y{5i|qg;2VM11^(tDsAm<$!&sodX1ZZ zGV@>jYWVv`D7!$p={s)>{{>v`*bx*anQ*~8$0B>ok0z3 zYyN4`;qXX#2Gh|_JB zn$_=p62PF4CC`IwLNckKF+0Z&M$R>?n=%kK2Wy zNevW)I@-j}kxwj7FG7@|J_Lk?1lCrF!9xiJB4+WGpz77Aycz1&P!zdP{0ccNjU}ev zdWR$$zJnM9GU+Akq5I>$mDI~4Yv5Ak(s!C#dD=V+4kGkDXJaBZrny$Gr3+DF;>d?4 zC@d7~9`ehLIDC^qGh2O%_`~`F4MbroFhS1gQ+rKBAT3)w(K2nw3ub?T4m5>UKXw}* z-Acat3EoIP7!a992{x*Y2csS3+1^jcc#su%)TYI@oJels|MRE6k&asV^qHpo_kDns zze(p^oD|l5=X|!f=mDk9z4OJX{&`jYAgJ$X%#y~v(N_?bpFkKtKmO(K_8uW}I2V{1 z7Qufv<$cm)W?#%d^tXNL*^G9TC_{(Bg31MKO$(SNOceW^;oL5EEAg?Ut{O7`*c0~J ze5KOLH=Yr8Jw~Wh^hS`cKR(bXx9FvTHHd(W0qQ#1gnz|IW*Wh2Zr+LizF$;+&!<8I zL*T|(I)d$N(rVL5mF-;&K(-bd2B4KO10>rK$8ccrfjQ8m$%a5E0Qu=5Ep3nNX>5Q| z9N-1uJv2!ROc(gtI1h>}0Eo`ASn~MLPiFPkp+Q4AJ@F4&Wl0I=SvBi9eA;y_CQ-(JIgWze+|n-DL$_x0lZ&b zV#ZXbo@`McOVke>6(!UXI#h?}vUUOUwG4@`Zo3P71NkEUh-i`%0~NiN+$rg5G4k?C zUY5QU0HdhMvdIsXI~dd~a1fGicn5&j&I=^tGU*~*b0kIj(f=|7KGKYoEZ#|k8 znkx{P?K)|1*TTDeGC6hjIZN$o8)-s@kbm7?fHi*rp;x_Nw&>QfQdB)O)qAR3zIG#7 zIcE!S6CqF0{-I=X&V-+9zWK_NAGkGGKkq=_Z70NbUN)S_udEJJ=S}Ad@8O&1Kc_@( zW{=EeKNDwwiu*jAtle5?eJKM@oKB6l$f>qer&tn!cl`n>|Iuip1D9uc-EH!w#((0#+n7;ZOD?l ztD6HYl0F-LNu2$1h5co#o2$JeAKo&v&HIXdkw=e?RVmI=8_BO))^Fza9)rK7dK~#bIDrC^;cpX zVdH2pq4XDk8{?Zz-43tY^%n#mr-Q)_+JtqgLLmfzpQ;Ku!)FdxDFJtKFp|f|)#p;u zudO29XXC};`P|@WUi|eLsQ}m8JNsliN;=8`J)TJrVd|jp>Z6)n!*kE`?P_10n(gL0 zKQHgcf#*Z1)wX7(dRwBiS|weCb3M2zguKMOC@bLh=J(={;5a^$l4|bOMAcZ@^pBRQ z(>skLI;B%(Vj%zL!pg55?ION+Aqo|Y&3d+B!}pH?Hwe#wC;zsL>)4or^h3{M9{vKW z9mWzj)Uj8Tv>PWkYRN7)M;>jT<(-51x&zz&F8+CT-0oX$$0pd<{dDwse1fyYA~*JM z)eX!T8t<-|mX?60PtPLFt>mkQ`89gUj>6hc7o=Yw&Q_necj_jb7c$XSe{4t1*tMi` zrlemA%`*xLe-~K&NFv$SaliTX+v!;oU$yVJ15E?dj6dbuF49u(>l}Bd@v;WfQNEGM zmM*Jz$nO*~_Pk#ktEx&9^nC=WdDJaYtNUZyOILE%H-(w~?W%Us+P;49(CKPKSW309 z#saqajy@)sKQ#EM$@)Fm4d0MwT)VZC5k^qL+5?^e)?kR;;BoUa*cbb_AC0r z1~K6c3bI@kZwENoCBE99e}oxB&paxZ7TzE%oSF-O({qbEG z`aFd0PZu4}1w?(lboQ?tEa8qTxH`&0z}JN}-W?M@;|K4)kLW5VFdP57j~AZjJdWi0 z=5!IBo~|q00JooY5L~QN7$}9;-kj4seYRk;^b%_&kQv|eZ17&=7(sG1=~0J%Et%!T z%){pj^93umFC!Bte$q-DTvGKO`fy++CJp6tN=J<&ed7||R}VhCoFy*xhHpUJX7#5y zKV(OHE$X5B55H$|4OAh-St8%=J~ykT<=^_eZ6ve$E<81e=joYvXkkE%yKPp-B!9ZG zIaL#G*?wG^uwfyY#hs#;g$)wB#E?(Zx@G?`Rkl z4LBn^xjouO6U9@xWI^8s-1R?wpMVI!ibmc`rl(jBQ5DjgHS4R8md?0LIG~5Osb*PZ zBqa6(^YesxdiD|pAKIiATsC_6`E9ghjYe%6Rg*^v~?HBiJ zCBhrKrzwo_U#$8+JGAP*X&y57cJcERtaZJzF#It2-tfAM54-Q3LH3o8Y~%T%j~?;4AI0n*b0xDU znx#T+bW|6YZss0H_h1{+$~hV|ZU`>FUK z!M9mEK^xVRynqc<@5{Xbnw2(=aksIUJ3Q(ee`vW->vW7(oEftU4b`;)cf0T9(ca^T zMH4u>u+L@6T1e3H4LS9@as{e08@^Pmu{SYqvq$rx>N{p78I1e(>e`V6L;IHz>Kf-6 zI;G2!@5p(!QjS+Ud>#uJOSZx-l1C~ALUnd67Gw7z(inHkGczVN&_KA#X^O7nkxrBk zOy2e13(EfJDIK_Q@A<=;#d)D_<&i}V@>p#Qb*woxiqVHy)TB?)7WEm|_+R|%eZBmW zW3>36NxPwM`POcfrQzG$ti@w0G7$M=|7lO6Pw86A=*5<7(c7e3_VBMgeLK;mxvNOs)aV8ZHsn?G#Ie$!hrb+{mL-lVFUecLSECuVh@ z3X86rHwPMOOdIm&Tox;ybl!w-4%`$Ir8IzG3-mtu#~G7bqA@i{+!LW%M>6we=Oi3wse z4b(uV1#>X=9?h`j3jhHONje&b$YTcGhGgm}D$2DOT*J0FiGRr9JHdN&MkSoUWzmN8 z)!7yF5Z)oq5_8wkS{)(oVPl+5tNgOoeScdZGMEc5(E_cFbv06nR}m!<06(f1H_vk0TwWbIo%SYX5gvm_aS!a|&+2TdAwqZ}?)l|tP;!}EI?%>QBQyuac6!#}O}GD`GL z^iK5NjUdDjqDAk$6FvCoWe~lNGFtR9K}7TxJz50OyU_*ve1F*8bN1{%FlXlQl=pqV zUe{$QhZTO3_KBExP<`wBCg`=t3OaPbP~E!rKXvEZhRmxH607EUQP|uC*1}ASZifit zq4i~9c}w<(Je;)UAK$y#cg^)#Xx*iE}Im<;*; zS^NFNx1aA=r?CTR8yR@nY_g?cNeg)6a+vzZYD_F>r4v+Z8>)j9a;3*xeqwXQak5M- zUXz`v;I~Tt$I9U#D^6C8OgN{a83n`;4kjTq$sBa}Re)#mZP>0^FaDeEgd)9z_Kz60GD2aAA$qw>AK6<8@J3QM~To4>X3b)=AMbCZWa)WFUg zXi7&eU$itc0We+5f(aQqMx5R#cwK=OO@RyhOR|JgZRRLmd+N~_R#zk4pFf&3Ft}8e zt|p~yTC$d@ls<6qukdWwV&iiu^YE+|bc>m6$w_!s8jH~Ip|^9CRJs00iPMwL$))#f z&3k{!D!Q*ulC*r3!-b+9D)n%bWO#!@!Tf`1xv(vdI!svU+cnLvvQWR*%qQ86vN*S> z2`oX_Dx^vZ>mslHlq#U0NSbge45b@$#g?zrg^c$g@|tT>0fblRXOYu_Fh<>19`5(( zJmjU9<_#671hDZZd@dMj@K(!&OUqEpQ8DHhsJ>J7=dY}Hi9!@Er3UZlj0LetYT$62 z5eac9b6KLasl>9vOCGk46lGBj0vM3DU^g(1(5vSm*ptypTF4gyQ*V(cW@TcqDO53s zL#b7UJY^SA1#OLo;ibdna2K=&p$a(O4|+e`hZoxnKUZm=aG0aLCneh-oG zpHs7Sw4*kJv9Wweq;<8?12O4?jWtpFsbElQ>+os0uz9!nl5tMW zL{uwI7G`NeZkERX7%-9+^wBrImq1U)ouFB&h7_I0Su<4SrV^o`=CouRjH$vZ?(!J*3DUK95f4aC>3A^8_Y3S|j>L|~b4Ljf5$QW8h z_B;Vb`w^MicK+Yy?8Z-s=kw zgFlCTxBW62+5oG7wlH7gf|Hn3>o0HO(l2C-$gfa+spz(qfSYP@3Z`r(`bDr3?>NcI6Wy?+%WP$QJ zMJ#$~^ceHbPPnw0j2p^P@~ziB6fUH)?>lvl%=}1A2X&f^4{nuEMtgSmXpnM$-n!U# z@e7uo5}ByR2`SRUi)Pc5qMCAZ=YV$Ea(xn5O%Ajl|Ix6E12s77r(^e5DK5UDE^g#urv}+CTcdarbowU{!~{UjCl%A%BAk z$J;wuAO^_X){gO-V<~%693o2j9xEEB&~id!Uh&x_nK2~x(D5u_B9iXj>hHbJvp^)> zTXl0KG%*a2Hx6s1d@kgnW9fTafPA`ZFc)RK{H~VDaahSwNt}{W714hBTPD=w9#}^v zN-GJy#SyK4H@To`!sWVf*s3qQ#*Q2?QM&ruJhWEkrm2ku!Q|#4L+M_#1C}yBT5q#^ zL-p_rjy;4B1(SowJ0G#GE=Mt1#nk}h)4h`qcD`%ddkzmBhN8!Z=f&RV1NS2NARmL9 z{^v9KM}ermj$psr3wLt{x^`uDnh46S@e(P!eC~d>`kj@Q^qJ2;w;%07{$h5kbuYO# z3-)}jU0O zBEs?R`RIQhnrSHGAbJ>g@Td5^;c4DNHXtCHPCervVNm5ICRqRh9N)e9<#ACBF~xUiLB&`9Sgd*nd8 zFmir(SG_wZjdRLY9h=bV(hk91VO4yn_w#gKx~{_z`JOPWldhJ6Occ^>E&$~o{kxw* zHn``6&~DQ1W_XCmW3T2G^ZXXPrq)bdP}q_Z>^V`=>@V*Abg_0d;Hy6ZjZ@X^LF9j> zO%$=#=i;d*zF&(aCJH=)q#-XGEaaXpOyj-Gc?&|Do#tX!l4u7)K?Y#lzu0=-LUax4 zWhPW_P}`%VQ>1k7hloF?L@n(hPBp4+xK@B{_WFv_e$n+5Fr;u-Y3O|ze8uhaBcLZ& zK#V)1&adI&tUNG8@blC+Pv{}w&fYB!^Z2z39dAoWI1cJCE}&z4Q)bkT?9kiAPP+Z~ z?QqT=IkDjRkiyU!yf*KY$-5{l5bLkJc0NVbeLuIM?`RB3*k@B&INRzA$c4}VLtvSvHH;skCRe;;yJL_nBVYNdy9izp zn_>E$q0lljX@^%ooO~bpQ^eaBqc+0HuJ4fc_LZ`InL{dkRf{yt`e)7`>Sn+Hv>3hc z6YK4!73!P3e?+>8hz3c2mXQwJEA0q+9IPs(xQDQB35Nc=F#cIhX2d%?f3?T2D<-=U zNTZN;%+B))L-8H^9b%Eve-Sy);{K{DGiE=;QDKbb1~(S3{&#N?{~*$Zk9Bch%<)hC z!r=r9mv|uGC9FO_H#p!|HLHB`A@h92aLw1V$1~jq^XC9xZOog<)VKa$-S3#Ob zFA#@Lufi_>L@zq~*I;&hKNgR2D~SGW(><{`a=jVvHftvvaC`CfY4Z*C=E>ulACNr{ z2?+|_6zk6czZTj1c>U)H8Qbl~QB+ZucW#sMil}Ss>L~WKw|;R;K>nEpuYU|7O?@`` zp@so_+fM|+5H4m;7r`OQ0U!U+Hagfm5#q>wELDGapD^H*Wkdb4*{2|Km0eTL%y+Ac zF%EB3@Io4UEu92+=gSIr1)02NR14e=zbL`4p@#Z`lPVFbYp&Rqe0obgcF_L`kZdER zCQ^tPBw|+A2u!d!^vcLoBFO%0<`}}>#s2OOGk{@C-RKZW*V&0^!s`s&M0%(Re|LBN zx7tCWT5FIe-d@4E)&;0#F4hM2F6?B?b?kY*Pv7*9wf8SJ{B96a6>(ZJyu@|M2$Re?E+4(xdTw`)C${5guto(Z9m(q;il*wMBAxWE;*tS6b?ZDlt>C6U zE0Omcp|aePIXr=~1-eF#-3wMK^zybn&+LcGLt0GrTc5XbRu z*duk<7cPoeVqId!uoKa|8Y|XZ#lwH)HYU#0w}sr=O`25Jwh-JQNlDp|fY4tjqKBSP zw(SS;egqD_Wg)E({DetRchDBM&^*X`YUQ!-qwx%X3~+7-yxZv%(A@nT}bYAKPAyro7(; ztqdIM%#40`s-%Le0ZIlrmLlkH;46mYzR!j=^DeK%R(#DXB3VmGh%%a3azV<86;X&0 zm#=nz09lxZq*Mguj^jo!FbdT>@(r5qQ$(yenwpxLf9Zy5b#C!+Al6ado*Ya)(Ph~WISU zXVhBauvm>#>!{ER)@uok79m8@G>U@Ey1EKVX;Pc9QE>K;q3KY>rFdROhrjjb?oSTw zIo#1-%u^qXhSqv6byh5W!8cDFlbtWCu4(HLMyot8%Z0FTxJF5F_0+O$VJ#F&;i%v= z{fgG6*htwAiq{S?Sm-E;`s@;wtDg&ADldy*pewXwfq7O%-ck&v>VM}Kn?|7;A~E5C zaWe%+Vxpixr{g#?|3aM~756Y16OEnRr)R)gDBV-8{}hBj+T4E$r)k{JNE8B-5CHrG zLz5^}Wj`h;28z-*w;dC=siW6=Rjt5^QEl49GEpop+KaZb!<|RrOFU+a0{$D7@~XL$ zCn4}Y5o9`;GFPoUcw_Xj;(`Cf)&8$lqR^lu&)6v3xz^;r&ktc}mVUv5G$=Tn)|}13 zn-p!S5aUqtjdoUYm*gFF=zQ!K$)@$d-(i4V^yKj!;|1=GeB1hW_8Ujv;NHgKE^HSKUk`EJfG^S3o&Ehcun$+ z#A@6KW;J2NEzD4@^b;x;6V!m8Ob1%EhS6b{xJh1i|FF1 zl*1jYsG~nRl)aE$O6Vn~7P%3M>+tub{g$de-4}c6G+S_g{67-0}7|Gic=zgyjAwSf6AtD5W1@l;3HVy^bB5uG6#bP{aE7n zuu+flT@`Scl)*V3^rH@X(0~S#WoIKfr?BrX!h79Uc;ViIoUNjHstl;Opq5!C<=S}t zLwepH(M;sjZz44$2MYERS+-uE!FeTN!JM(2)qK9Ii}alBv*Hp`Y7HD_C>uvhjR z)*vS&>m~Cy$wdH44^`8uMu{tqq!px~W*;O*vu@Gr;^z4hNzJCuEzSIvA4k9LmFk?D z7R^oW}4UNwR2wQP07dnNlj`@*Plmyk~~2eO-2e!g(~C8 zxW9dg)I97XSui{Va)lA!Rv+HT4^lDFz@V64YrToWg^~ejecyps;=~VhrT@uGyv4@p zTQa``0R1cnkMBAb>yGd178vWAchE6?<*85hUL#RAmUaDaDx~lYe@7Jti5rvTt=vwd zT~3FzGQRy=dDVPQWT|i}^KQ^V!5TeYQA=4=l`S00g@WVcY(>^ogO|V_9n{Kf$0*w= z-ujWib-nki_HN5qi|RO3$dIaI?DtB0w^=w}iQUMtY<~B9F5d9gb_;GRPidtVG3o!v z^~;Ajl?OSuOpc-IP!WWQ{wP-y93EdPXo4=3%zACdUkoKJOKADR;SA+YNIXI{b#{FV zUShzDHXLOVp8WiW05#p`y&l`z=nF4c z@P#dBM{6*A4W&J#bUsC&yW@{3h=~9fq>(=V7)wY%6>o|&(c^FB3I1}l`{2q zzOySQi&x9}PcRsrt#gbpL+fq3q+$X4;LGT5|%<5XNtdbDv_^;J`@;$R7psS$D>Q4Fq+u7;?bZ= zbq^CJ2nJ6btM#JS9K#NXH4lu1sAUgfdY$a-Z1JrTs!p7;g{v#qCNrRzZ{EuoL?piK zpozP}&gD-Zl?v;G22S+<+Wk@G*WHuTP|T}ngf-5t6%V&`km&!a@tyPHQOz9s`ZFg{ zP3`OEIpVLJ_0-{Nb^oc9I~s!p725MkpJtwIvy6cO9G7epxhgkZ^cRP4#!RB9#0pomdP0N8_*Okezq~w8rvQ!d$R9w?8 zZvW<fJ#8 zv0`_KGa=J@LjUTs8Bq&23dghyCQH+=PxtfN^Jc1P!8&CmjI9X5 zA!N=wfozkp3A^*5^=DM>H<@%PL;5^}OVfHc=SzwRYV_&)!%EE@yUeqKiJ(_qh%t(l zW0x0to(l(}POk_8LVnV_k@3B&S&@_5(>;xOH&Ve-Ww`IuZCbl?2-}d!v_ni_`@dC* zhbp{GSaOmq3iSMS;3HXic)U~8^8|qSwYY5eZfp8nE<(Q%Jj*{K!XEx@ml-1Nw%X;t z20t1)X1I$ps4sf&IyzBxHPWgu?EX4vo0Jb;kUW$wu}uE6n&U41o%rea`6}#3t_YRx z&ep*8VS-Kb@mwBinHo1*i@sCdZc3qS==G5vN3D2wF`4*E!S$NW#ngIFPk~O$$j1~~ z6q5fep8MC&?arKTdjeOJa-VF3Zo2n?vtxjSKOIMWWWV7}$5PPQA5pi~ti!7ysUl+b z_2=#R74hu4AZe``#7#TIq$lv|5 zKyVt0srYzueSbWFi5IJvOk-1+BYfO)h>iVmCvL2!CZPr~;V1HW!rk!wf3L?z9RfX8 z>s}ogcnl?s#S>zAJAPJ-Nvr`Uxm6sFD6!A~bt^9?V7XaBHfNMwm#M3(8Oir_-k-#_ zk3lf^m`VUiG>Le2f;Md2QUVy!F#_{NTPRSt-MoL)ZknXI3hG^?$Y&7(Vg#H1VGl-? zmFic1A}&81+aPdqf{)^#C)1a_$ka-N{$L8(vaIc>!VQ~~3}Zw{F$!7pr`OKhJQAR+ z!lgVquMulzmD}R$J$FwJ?c%5Igj|PL67}N1e{OI=P?l}>X?;x8f0Swq>9_wzfazS} zGz_}!BFvDYX7U2N+YVvuEfG{GZdP9nau^P34h{33b$UfaoFX$N>(Ea0P*? z(;$XlX3G~R!*qC;F8yz@_i>`1QditqE_bp}_T!A>z?vUxGOOBuYMF2+!Wi+$9nYH3 z<*(eoWK zbULcvjnAhueRd=O0=<%ub9;5j^6Pb0)X3j@Q+{7_lG}}oO}ieb<$>N$_txgS5RoFr z>)^saXsS3z<%YB=vF!<}P6nm%Wf@z)&c$Z~Ghz1jLmZVuiOoOpAC5z745tk9Y&v~9 z72-!fs}?pGjZv^-AMZ>@Wwh{CA_FUz?k08t!o+3ut~9Lv#4cmRibCvgWj@5~N-n+Y&TdZH*rpf^mJe@jr62lVjuN`GiBFEvBT} zx#K;ZgK_Tx#rB4lo}9$fismINv7AKehz_L*X;>* z2et>41wp&v!Mwh_BXr8wDjs@tbW+nc>FD~=wKBbH5t z;|BG_$tg+2yq7CO*mZ73D0@wbPC7TW0%l_G`DDct3z$^WUM^i(7We&?LRy{PZU_m3 zL1v5gP-QM>&m)|h!-igCj+JZ82J@6{_LR@wzmIQW^$U4h$Sq`pob%25nw6D}2||*S zji}}hGK8LK!h0nN2K##9fn%nh%Md#$nmS~rN&y$2l7Lh6Yue7&Z5f$Ek3n@CcjLu9 zc~d}~0%6XFn3zbjoWOU&#@KQD-7jFU~D!-r#p{q}#2NPs?RHg3GpY<sF^7G>l+LV_#xM+jGHGd66%IKK3~OK!n>Y;-gpJ~C3q^=|59 zClbS$$WB^p9V*P$FW$do13VN=v+_!3otv0$w=B$)D79!32*#HNv%06LKZZXB zho#JvDj0Zr&%`s)ltuT`QF4_zngCp2Z@S&{Eo4-GR8aSCH($_*gM_e}I89RNFgtJ= z3Z-oA-QETOyo{SQ|Ku&)6B}c5XyBjV?;EQ8v{&rd? z>BlBq`x0(cF~@%5$=1vrhZiQ@Cl5V`czN;PK7XFtiCU3n4xn39$gA36b}HjW+c`%9 z_lbEcNe117^3U2?M8pIDtBn^=Fxpcc2OBr5iAm+5=L|iYg>NREtX(gG_Eq0!DVcpq zA|N4D0Nm{Z6kdQn1_iA;wNvjxnA1oEC^EUZ2EGwzZhrU^dOokr-@=>=>iNvkTE#F> zy5u63cjeY#uBaHtUPTfC(ua`ZKAx%l*2TMV=lK8T^40a^rK0GCF%h?&A06vXtl@G* zM-L-~Rh=Bfav{vNgW;#KP+?;(ltcLsjPK1As8z5m{o0tz`oiJRnao=5Uy?1NR8de6 z8njUmr}mR=7`vYc72l<`s-Zqu>#gzG@O?gKD;jO_T!nuG#D-a)Ir^|GurTZhL>l?N zAO)JaWZcm*!6y>qvC&blP6C^=%~@HqSoB?T^G>EJ;~UuM;zw1Yo*e~+3lcN|zU?Sx zsIWRtY=S;`>;no2~DaB;oyDQeAMW7(OS+eA9SE;AHSC` zq@&{M zl|dX*l+nPKFT*|QDE&g9-92l2z;iH-6b%i8CnlMa8Z0{Fpyhug$xh@kM(2**z4eq=#NsmWs-H!xZ0l&)3+WMm)9n7tX6r?CWF}`(8 zyjjr_58{Yl{xA0OH)$1NIK2>sQ5m^>h1xX{bMS}3aK-YV-s*bS(aq#s7LB-hZ%1?t zE)WwreP2XsDKAy)49}x~8CgKBsr{SHC~+=N7n6w{~G1Y~spP2m$Nr>$y^;NTm! zIgnx+jdCJ?O(~oljY*k@bru{kow(e*hQN}qPgyW@u2;g>jer=LC>D0MYtejr7*-te ziyUU!Ti2gC@3^S8?k_lDSlPGNVHuqw{U{+<%Trja$W$&Yk zAAhlWmH%zGXG@&-(o6uPqUp%h!h}N&Tk=y*G^|K(Y7&uD zWE=j+WVo!sM@R*h`~YP}7bMS_hI4zbY7XOoHai)%iG;zNcE+RBTXCv|nh@r2VVZD{ zA;QREkkjQPt#NGI!_C`PkkOg#e@ASKap5Cs>B+X2g*FTboc28{DUc-gs$_7G~4t*II{B@-~c`TKT>P)&JHFZXZ zD=Yr$*q+V%GC>{zKb^Dp)gS{-2zHIPs{FCDV+c)shom{C8r4>yV0-TJDPKO&!)p%L zNwLM;wI|qH*4!o2uxEEpNsrk0NV+&vVG_6QlOlrTD!4UB&aKD<9z!Rs=U-cAB+ZpP_g)(8}3*Vb&Z~}aOsk3ROR~Rq2ECMH{LqdV6#ba}k zWaU(LobM*AQc`jfawm(qa=z1orLY{ntQuDxGe8?1HKaS4oZOW>mS(LFkfW_S-<8FP zj!@g~?gDOl?VT#oF|cF0s~DBG@yyim4O$GQaGHIJX*YHfX*{zwTAnXv8&_Y-#gG&jV0ZEW7eb!@`> z11#HgTFvF5p$~LHL^XHj4YLQAh@A8>U#Xn>_8e2#fJ`>*}R{ug7_T#UcmfDa-`t_uz^RRn?C9#_> zJ}%$0PJe3;9jdZK6&oWr{|04Q=)gC+b}&6< zb^aUW>dZ+5%9&5c>yOv&q33tAL+T9z7Jom&8mMRcpa(cAx`&nc5txcg=Rv&q6Dt`K-t%lD}qL7DU z65GAR`~1kb{<`umsNgO_yr-MC7csVAjMv3h{(E0d@9{9~U%#E$t5mJ}Zk;Uv5O8Sm zbg_SDe5%)bir1xi(HG!zeo|Tmmzjd;Ym7(5#sc+%>1F|j_LLx_sOjf_jL-W!c1$n= zTF;Sv2f2bNikVcUe*Xr6o?u_hJyJpBl8iRbVv@{yfzA$c+Dgb&0DH`)XEc63qcS$^ zVZ}m5;?QTsvv9Zf8QGq3XBf3ZE=d^~1OK!BG5GHKKun;ix&L}S^lEbvIM31hCRMwg zx|ytDkq!FqjeK~h5diAi&Ytz31Pou^Z4sY7pB*C@*VjtVNHw1>ACCu)e|f4npu$#<-{KXh6GBiZZuE;LY{Hy&u*6`T53lRP5Efm$Jg0UcQl?OpblE zdBfW}xL`f%mkBQj@tO{uSDh?>c~;od^-7;j!nmZ|LB71C+{b``kY!o9I3lU5p-S}v z4Vfd%<1Tf{-maddia_`{Vq?#*v8sTcqA|?=()0xbkA;kkguEj*{|AL!X#42q!Bm(r zZ?^mvtV`gD=qH{n`sV3L(HLr0~1&hJfLgSdRMS`FO6=KzvMIUCq&5><<3bQ=cK07|VepZ@X0;+Y;Rr14!Efs%(tmi>yhLBi*;#8GEY=&+LzHRG$z zDD%qS?u!S&;UMhS{!df4tTDBA3f}{ysKpCgQ{oI^z3(cO*jE|NE!-SY?~6g#2sgyd ziQBbB&s`6YsSNOc6%zbPVG%+~2O2td>m`YXrYm{!i|(DfSV^4bU+OY27RX3IA#K`X zW#>+fuQ@-5&s1!h?a;Swe)9*oZw#&7xrc~3E-h9q4j(PfcH{Vx8fTfKA8BJl?c!TC z@8t=+i?lQELnZD3Xu;gi{c9!p(J}B_Lr&llPL)(3T0E_<5TE7E%=7@Whj3Kgh4zw> zCvZ)Q$#D4^7BXBqX&14qKAi=L$On1y15OGkWX4gHA|bFOJ_EbblN^<5a4n0mV9u$r z#0?WIhleWD?&2Uwt}sI|-yT@%islyVhe+nv;cI4VHbMTgV;52Qsls3}9;@L zQ1GY9?`&!Mytz!!!+xs-jrvZ}41@pTD#S0~=MiIjPLxUBodc=obMZ9kGDc(&&AioE zmhEiHs>Eg-+x#6%K}vSXp}d6D1syj8;@+A&;g`EzhFCh@o^TS*UTN9xI1cg_rJ7<- zaMjHM(f zrXBy}u0p9*W5gsUlffd9-5<$a6Uju!XGa-zSiDb9H#DT)y}xE)52yEU0FW~i6*_#^ zCauM9cYBPOxok8gUH#r0GiM)Oo?Ui$d%a_RdIDr({e?0TThWQ9b`Dji9w~^i5vKrg zVVVmAes}TlGxOf1+Q4}mp#X2>P_Jpo^MRkt`vsGUAaX+WEqyCiry$Z%wkz48q!5Zb zw?B}v$khKI_V&JaiSw)YH+C zt5X?GweBxjscN1D^P!iIw_5Zj_}o;LE=m~5G==OtF4(#?+0R>9Q7c>6_rX;JR*b+* zm~WIcF%9n0O0&DW`vC-gDV}$HBmcFllRbfarMKsz}T_&W) z)M&41_wNa+6){Guq4C1?iR>B#sLBMWuIrSd7Eu;`$-%;8P2 zrTh^Qiu_~JCd266odqsGCk)IpDFK@cUrT!qs9cDr8h1mG{P*Yk$sUz;>d7V8FE(9> zou?W)1H742m5mdo5I{rA_e3A$L{}&W z?#*1b!GMXLCpagXX=SO??}lj$o}}JQ)Hi{=K%qj{hnxLn1fk&k`x%}FG0u9?Tp6JePSvsamKt1rD0R&Q zw9LyVth-KC8EcqO!a;M(M-Y2y_Z*>^lbI<6?oQU@@b5aRpGGwXbN+mHJ7#4;n+~=d zK4Ri`O{~zMhQ*P4Qo6NR|L5|R(pDo)5G+}VQJoamMD-n8H*@Jz%|{jHkiE?ZGRru_ z)|U1<=II3!WV0t~bZSZ@`h<>Rlmc*7alEFV;iy{0z}K6;=G?K^q>EDkl$6+r@-qEn%tmbCogy8MwESnopi0w~2nRJy);>-_s4xoCauxki2mUn_V9s%u z)tzfN)|KmDOT^`Sk3BdD=Ayh2)d1n3D{-~<1r?q$m%`a#<17+Ar(u7Y@BhRpgGu7j zGr763Fu0hkP2=DOYP1jB;VN9PMAB$4mAa(4uJm-~?L<$tBm;8Sb`CKwJxA3v&pv8v z%YNO=<=Id*va=}5Fga;QiX*}V%a&U1mY5dVbPNp6G7XZJ#>XX)GS|u8TPDa$S9I2w zt0WXsY>9emd<~koB^_j@OL?ENsL-P@T9+CV+A5u4sc!~3QNO$;0a=~(|NFwoj)HMC zV>*Io$?>YCz&K2lY;{vz$^}y1{&p)u>r$=#&oifmMPM9&z5*9k#MbP3;T&4 z?>-eJ?G=5bT6hW+hbLVT?+1%5PRdDNlY}!Z8OydRvgHfawHS<2_4}nL<5+Ss$0;N# zTA}!x2)nk_mM`GNq2>`eq2K^565K5V!3y7(w$<})$0ES>@*ne{0^|h%73J+8Nhqy_ zf2TrhGNGuFV^FjBVsL28*wom(lz=6kezi5>;kx423bOC9%3t|uBMtfW-clad)tzLE z$U0vi4+SbTh2(_U>J7sc%JWZ!b#R#-B0ktc4Ha-y!JPR2Qt=HT>B0wH^{54GxGY|M z|1rny1u>M>0(6PF$p%LP7Oz3*0(g{7Tg%ucZQkM zF+yM*JL7naPltH?iCE~l`fA}Qq|U>v7-my2D21x|3m7VkL1-nsBPNrr$1<@wh&_!Qd~4t{%DVAA*Pxp&Zb9ii4yYG1+e3aIJYq%Cf#1OBXQEE zMh`C?J`VWGA$+=MyCOa=E2kYEzA?V>eHxtA#9ITzn-`B;8rFLk;rE*fQ&W?SOt9G4 z*!ok8HKJ0Je(wVRhS0Ae$OB-DDW1ZR-y3-2_I@YHP^5Msd3WwGX+o^AmwVh^OYMus zVq&@*VuX4TmNQX7{@-bnNq@s43%F%yX<)#H8{ ze7jmqTH0VKF#+?kXEOG_hTQ-uqg#i;`>LK({)id6HZIt{?k z1uqAtN;;rdxg>Ga4!j;XiX9}LyEHov>NQX2zqV_S5<<~x+YgbTNmhUHq1#V@U8m`t zwA)_LlT%MeSCD*8qMirS--`pWF_`EN!Aa9a{QP~NbhbM{4z(!I6S8nJcc}A~ZX)#A z;%WcEz4xR5U?u4yI5_GI5v%NtjQ53PF;62)jrs=@hwaTvXt+AqZ}s~cp0CC21*Ygy z4n!SqL$w3)MtnkovoiFyx8=LjjjD#q#Zyl;>T51Ob8j zot_9h7+9aB3QwI>6a;x!k0SPM0;E|uBL)4qhzZTi2rA@Fhwmzu*~jL+T1+YMXs+6Z z@-=QNhho=4PjCMLROGF4_yun^SWhJ?Ks@(xKTo`Wx+#_PlOeZ-fKh*6fT;OF`khR2 zR7KS9O*gPDGgX}gsUpd^T{C|x7yjdxcy>eYM^||15?uCfbNg;K!>(q*VQ4L?ZR65Q zw6MP2o|utF+2T21NTZlXmMXcXR8TdCKPzu3K%_{Avh1e$Jw*T%E5Q~mSIo(mf80fC zPCxWIVaoj9{Mc+Ial~i$r`w@CMvHm$)3Yy0XpGOBHS0jQ0>{}cEqme@5NP4&Z+JfI zea`kXc)nQDa`I_gqO#SQ(w(x%e^F5y;f|B1y<_q5ZotUm>k-4{Keerk#|f84&QT}1 zA_Db{kq~1jzf3BxWLa^)61|tU!L5z?p}Ono7sEr>BS0bl1{|QpS|s zgnl<8p1Sh%%)qd~8d1mVWsXYq-p6@L;$#}M&eJoy_K*Mm%q8`I9gitnF`@J8n%MWb zf2_t&0w#1528M#x2ieJem(Em;21?}f zzqOn8tv*E&7nKdG%*V6Gylt!b{~`-dKSk;e&Q3Uu;X1#P4h89Nh|%zoT+C8(X!bnq zKHp9W^UShMTts5KwXYFzp870DP5-b(gI!>#D`9PUmOwxOgzFz4cN-GsyH2nvPtEJ> zGvbhbukmi!&&I(Of|9Xq#fMa)-U@I&40QRcGu4+R>K8TyNx)MEYyuwZ$F#}YE&pQ z54rl}Fjr9n)6vQxU;l?>?7cgePAs?{(JNcAPR`Cd_}jPCr6J&c%8i?+Z9-huG5r}f zFduMz{aBn1l8SU_TCxEiTgYSVakg^2!dmmpX4Mepx!a zUb~p*I?@?uYJOv?fedMdt8PSL@46ZE<|UH7^_q0Eu$Z(%n)C{p34A`&Da>zHd$T7@ z5MmLx9bf{*biczKPN-4LeUS``*aB7m{&!nOdHZJHrfGb~IWwE+je6RISdLq^lny*UN2AoCM-<}X(U^zl7{j^PZ3 ztDZk4oqWvD8V_5YU9HaU?amG^oYGxrk9DYmBBz7;<-@LT6D*n+9&orZkBIyQiMpMv$4)mNb)q(^f{OKHSK z^lwv$SE$_Q*I5~=dHCXd_0RhVo$lFy%RgdTy}e!eI=e~{LhNq-Ue)+YbOK*HyE7p3 zXDS>7IxBqW?A9I^7oNMCMX}#e&4HLD*m~|m_c0TxRfqap{ph-&RhN77sst}7nj{Wo zMJ_$~yZYvl+HoWv8#Y@_i>b?U!S$9pF{TJ4jm#C~kX25!!SDhH)Kyq4N)Un@UZ}9X z1`h1bR~h<91EdOs=_cx9X9t`QWhs7>cg%l@2BXr0BJQC!`8J9b=bXhYlIbS>N4<=P!=%gUu;Qq5m37%lgVu_SwzM)0eEK9oo9TiR4pTn&3v6>ggxsmCWLF7q2`1@HA);H=A0iwL29MKsnopiVX$X z9+sN^tp|k`yyZqNc?F0=e~3g6dYU%GMilD;PR_mj`yU@v8*>D@y6Y)1w)VgBLdeB) zcDuWKI(ukulhsM62kdHsJv`W=H8P^#PCK=5Z0$cJ9F7E7`D_O%ab;EjT4GycK}DLR zj(ND&%M3R07_Z5X>l_&F^$iW~^|Fg&2_bUt2lWUER)7C?YuD^HPuWZrs)v?B?Tp!L zM#Gc8Gu013Nx2}oZ2nP*l@;kaV4CeoPJ%YOH0Q1QTx^lmDT{4f%`1@ZDwW4qIqRrr zm%Mdr{^qZ0Zr$SH3#wAlH!XeV+b&`mnU^wC#ImfA!oRA`b*h*)PxSV_{+m9ri>i6!#xIu^KFoB!^p$5AT6 zS9+rfK}~JqB#d|rCfbQ=rVB@b0}kbNYHQQQmqjSG|JyL|zv~2Y^I`VWLCBHr>0NuT z+=7T$kujO$QDE#H&IwCm1`a`zEb|WzlD~K&pwKUsuAH#^#wNH6Jnat}$?+5aR=#IN zd1+!-z4bTXHFrjOn`ljlFZvf}&SU)d?ziAd*l2>ype5+z)Hr8l%@kQq+bO!k}SAB9wyO2>B1gmooQ&w41gEetvb zKJ`D20F|}QVAVQ?3&jxda1n-!0W7;woKh_7aHdv7$sE?MaqsZSqKd1yxYS(CB`iF|2r_1Xq@kz zXWOaF6N&}fz+MHPuAribq5=!R^heLD?zcz%nI|6vE>Pv08+uZvXBm?n{lp`Wqz0c< zTEtL%!Y02Qy2qgG5l8L!eE6_C+vR^DG+2vw*lUQ$QbohiJH^3rdV72QGpI9Q1QCSAF#elzf$^Gj4MFK)ZDzOu(uBQ*+oOt@_QU6qjkf4K9I5pr3|(L4kaBm4B8hOQ>ma3 z$qfuZP?+>>zmX*C=K>vVF3RC*LVt9mqM|+Kf0m+5q-waRaKchq!cy?3!S7jruzFY& zxTKT}Y+E=Ds{Aju&NH0tKm7NoS&FJ!ty!B|HCwv`Y0cK&ReP(wi=v1b)E*IP@4cx| zvsV0wP}Gbad!FzAJUG|6u5%vdLGmD1#^-b2@AvBk;OQLk@Qb3MbnNHe1J|4)7H)Df zItU)Cy0U0o(MTPox~xviJX(8GL+>MG69wfbnYV!A?=w+TSnaQf&VqcoiUQzZF&5lL z7={m-1g8Y;a^lvAa3X+VSU;W5<#*;)g7csAx#ptnJ#WujbhonkEofTZmI~4z%IdcAykN83uh-)aS*xLal5WXA`aWRu^1~OS$_x zfiQ!0)a=^}e99C~<4y6WiQ}mu;?(D)KfdbdiT`vzcN?P9 zn$cV0Z0U3d>p?|&xnUo5hZPk;j-{fBrpJYp@w9}hs=B)PaR*Z1;XNDc21`|la5m|j zdl6KvP7J|Ty^p#1hblk`9pQ)4hSLr`} zs_?IGrB4{F2cHq&oZ8)RR@!N0dYehBY?v1IN}xqgN6j9p$R15dnYi#h9*?pz_1g>y zr2u|GG>)#>P+1)YOWuKozXe{Om~}xF&Wq~h`A^>DMLAW&q@J0|cXhquXrt1OA+pc| z5WcD|{Fj{&RHsayN)+FV16wzg`Z1c=d#b4K%UhTl$2%*sw?sXwxkza{ZV$MpAq`X{ zCLel}K{zMSgfO6SqD|t9z(`gh>psGt`JuyI+NWdK%q8Pz>d^LLMnIQ#8sp>Yy1a>+ z^%f7h-`9CsH^19rY4ULvqraS+!{njBEe4UKjN9~UHFFv1h%Q`kYGu;gm<#{y*1!*L zHLG$En{cn;Ze)%OBdILw`GS{+Uxgv+J>3iJ0xN`VlFqGLZrK{vnpE@kG0tgDJGIZJ zfm`D@r54X6SKhNRPt>pY%H)i-9`fywZ34T)69>sW0c6U22mL?}=wm{d#w#bJjDpyM zVS-eV4=nF`@@W`8P*x;5$g9?OaGwTdzAxs3ix&LCe&1}5^C(r-qxLhLb#ynuDwLF& zw1~R;{s*y&{9KC;qdlw<2L6)O$!B1FIT~~N2T|4q@Q=U6U&J}OA^M$jch-Tq&Jz1? z&UcS-8cqlx(%KYO>`p?t;~Vehj%=}?b7+T@lZvx5!-MxG4ZC$o*Ni$0*i+_>?90H( zPECHvVBm;T^y@<4dLUi!?y7u(;9Uc)5XwabmY*}o1gi%{vgUGLZ3jPWsb zLwttz048VwVpKgxj7M`J>dlx_^oUh)Wo!;r0kzhScNy%TjQau%Uj`%EO95@9X;Lcn zfJZ%}CM|4$DoM=2{V!2gT}6YU0{Rcu%BR+-G2r$mI-9fpr-xOp71< z6}LHDu<=&`b$Xb0*DnX;NThuIm!x)aVSX7+S(f>;3HR5`GoO`3wpG7q0cbaXx4lhe zPuT3b@8UwJ-wg9gZPwKMU@cHZ*uU~xoexA`81O|bFHXM-Bj#YXt0?%8JlsaybVMEL zW~CFRrFfAxml^J7hP%RVVB)Hd8y~f)Ic`h@(M=;m)T<{yfu}eh z?R$vkRQ0upXL0&SkmA_H{jRTkr=S%yLmqOgpVxhHqlT%;vBzGmdSuz&_V0TOOG(>Z z7W}AE>Aq;6$h$u_ysz-`o!M&G3Aq!zFO9qaq@Fk3_ha2x`oP|wHYa86x5(vfbGlsD zGXV+sUl+l%5cl9axxga{pjRHS6b4!IiN!O zoEGzM)k8Sf2ID;CbWY;c5P8|=d%J&|0HCys)v9=&7AT27f2oI3d{$h z{reM)fR!AaG54T(!*Ap=FbUf47c6C65i6728gYLHBuI5B;Afz2Pa5n=iT6PQ5GXo^{@$Jv8{-&Va-aGL-Z#ht|{2588 zp%MRd(sj9Gwhi2bnH+n{j#~Hqr){CiiJc7;ePiDYaKp;Wd(FE7)NxjO@-+6Tf13wi z&X9IEeZVgWxTw4SH(+mfapEw9cmH>OZFF;bp1+-*`P(Brw^w%96Sndik2eZJ-q)zf_But~$b-TI^}O8HH|-jeQGD&MLQy&1Gj?QL)2D%a9D7Sl<=royB4 zZCRITZsIH+>rXBELXKRioGF*lQ@S!X5F&uH>MNP`Ue8)jNCBd96I@?5xa8hF=|cOv zY?=Il*0yJ#uCA>C&85y`Q`dX!?CGAbw~^y4#>(vgr5lDkA+H};x5+pGj>r?f@c zy)oOCW0?GowL|aLU%Jazj;zIJ1``>d{=WHVTtyw*gg8bFcO#KyIW0EJz0Qbl@VQLD zA78h`FVuTR|2YV5pnR&UH<~}>=#H+tcjj^oSO|U8rS~mxdr+eHF7|z@?(=UsAaxu1 zu-CG?vi`@3H~0TtPjE>ki)uazG`B{KwFVr@@w|Y~OaxWj$;-?tDh+v_4#+HGObIrY{rn=tVRN0Jr zIkbZsK~3^cq$__`l`#`MCq@c>vH#Zg99RO zr0L!AgjvPQ##8N2uD`vs9Xa*?;7Jtj(mhYyKSLUqoR*|(S_P@oHZXcC^@K@G>l!li zuAiHH>Q{N$=_i@7Cd1E@@g+q93`F*ef1gvQfSqUm`PZ4+lrld*nNny@Wv`89qlpwh zyHNP|XbQ2N@8=foFo>2Z4i9b%`+I$@7rdC z9xM5n7+gJ2aoqadI2Z#&y|>ONoicnGz{&Fsfu}o>!f7w-PjCBXbQezy^fuc zc5Th7Jhc*|P_2%uk6NJWYavLyEXM0EQ$(W|tJ542bhJ)cPnETe^P!g6SLk5a8@q_w z>bQ9qM=KnDq2X!KBpnYBv#AMwmusB*8Z~8;;l_0r@*xk6a@sm-3_#hAVx^zt&N+!e zbtEL3tqlpjGAmnVA{71(xYH>sv`@dER^{>X2?+Tj)6vf8Kw!UsCp72kS~C4jC-Ms~ zAgN03;7+6*jtGDzQS}i_gVuqUH)}?TrNs|^c_99NYTHhnUc)~};0b%2@4~TQZg!OR z&xTnfXX*LY?@3rmR7Amnm~G1Gde+Fc-Fw^-XG81Z8UK1y0=3aTJJAIv34dY1h`(wt zj@iDd+RVkStV>#`{UfR$n<1sQ;@2p|Vqvf~@A4$de2Xni`rPu((X2zpHLjfGmeDHH zb!`ODy;dkvW!ewG$wa%N(w0mo?(UfHq~c*N&Dh61R|WvNE~p~mv{n{5_`e_ACeWxG zYc4J`t=2DHcj5t*Ev-#w|BJ$ux45C3-=m@qmhYV-D2EpXUqKD(tz;UIh<&6Z4+p>l z5COeHJl0mThv4E^#Z4RTeM!t7B?K&orXRq})RGzw|NNNPUY9=I%$`CQ(!%X3#EkBp zq8@*zd~;J?=794Pb9HNtJg4U&A~@7wMIOZ4OQpttFj{Q2Q}{K zecXc;MFSk`24hQQMQAcHcdDnMDRlDO^l`il+d;Mfa=%fXrb3tj$LIafK6&W%s=!Es z&dzhe1v>eBs4V|kNT|mC(+|w?*1pU=eMFxfqE4ls>#rh`jDJT`@W=#KpLbDMXb&$o zKQF<%-oJ2Bl>Z2p5?k!v3!tE03wScQpTbzyWW4ONICV|8EbDWO4kZ}e+3V*r{ebeh z;wu?=Y0*qVhw8rHqT8&d5gF(>$*le11M;184)Ld<#)8_CXkplJlj= z&P|&Kr1B*0su`?5A+pA|*Xg6@!ZG4ykA_l$=xzOyfUmeVyDI%G!p@Ly zdo*N*ai*>851nZIsPYb##yO#E%rB{`?5I&m$@e^AzjAEPmpClq=%cO;NfA`w$CGw1 z8b8H}ASxQ)1mugm*aUBFddrctrMHk{h2WAA(3Z(VoG;x(7JF0tB(KTsH@^o~*FW}k z@BB;;Sg!)?^_GJT~V_5u9zb=Z8{*nDjb z!uc1|IV$Ag>y3l{jNyWJM%z(p|J@#v_bgbsfE*RSx8GSpANweO<_A2B#H>ys4Gnro zJLgm}n$Xb31tU?7Db?&EXNfkRBgu5Hz2tOL?#eY3optC?^x!uZi=yO(?OSd(h4CPX z<41Tb1Vz!@_*fZS#Eh~+_OJ%nc{F~gw*B1unLK)y0*+vSK|B!e;7mo?p`Vute?g?8 zGISIhb>b$YQo_~_E0ovd*})_)Ea@IALd&cTS#i##0r89f2kNJ+s>G+#Un8K(t!Nvh z5h6pZxQy3|3?@4Ag$KUrXCkyhGA_kB)H*0dR0A$6CP@NNCfSFvz;-O2XmxO#R;4Hg1~^DQOrH@4Sa!)ecytf3*U>@YoFh~qBMr8 z!hIOzn1qM+;Ti_c67ml$dKktDUXUf(Rl;@TD+t~aE9^x34c=`Vfmu6*R2y}yTRDiM zsp)6)A=`h<-gOb7_yx0Akdy+1r}mN-}VTUlIB zyL@Xe-a!O!m@!Oy@ZY3wi{V)J%}t8=-Hu~I%Ik^A|0Zv1hMR6RQrx9qOFJ~9Mh3u0 z>#f=p*xkUTW%957m6|Hg=bTy2?tXp&0dlO=g_5S9{Y4DfEHc??;sli#{B=#Ag0Icw zCp}^cHgPj;U5`d?B#LLVEo~^z)Z-Y|Jng-nOM%Dwb z;|e9!!+H`FA1mWNk&aPBkk~?n2|p@XzE~bEA8EhzwEyFg(2%9wj26v|i%dbayC>;S z*$vxO&%KtSf6mlEMAYg1%HHQ%pZ8<=4&Fa37Og71Up)-dOXk#8(xzk4&ZGoIox_aStZ*st!Z{)R^|0P;%XHzNu~SB> z$-a#ysmirx74>6!eDy{zrL53q*OQlq)u>X;RM;dET-klUGBCTocY1nwG+bQWUGgcQkbDZ97uydp)M6Tp>tP4)dna~3rbYCkFvvF)hl z`{{e^{qd~%ec|Lg_N|eu0)dYy--<0sVDs?k+^TzlqH9lGC-Mg!~Zop%Z7ks;$f>k)UD#`oYb(wcRalfK( z9un;DEwV%{cXP;Vyb&Q%I_fDVIO(8K?Q)m2D6-I-yASzGZjHNMQQ~+v=Uzq2j+OSL6)>b zwAVv!?xOV5&m|l*Sc#4YDwUsqa6!(zs4)s-Nya>{k)KKwh70? ze`i-rKm1R&{!W+JX8&N1+g#h;I$lUQE7z2Dz6j%1Yxo_L?S=*F`~Y2jwUmFxCZ)M8 zXk`#?&F0V*9AxNH&$+2Np*f=7^+SElM(KgLd1YvHbNc!6&C2zqcUD8D8r2w0EC7Zi zbPv}S$rwjs!1fNr*uI)cC%Vd_vc}}NS8!I8%?MCpU~{w($(+$$_hT>m<-)tHh4`74 ztVPQ5@`ohk$HBWwZjLe0I_p-GQCyO9<;t?lPf`p5P=usC)T?uN&YjA8>T{<+WIu#} zL7c60?33*MMwVP>TgPbKaG_S(W7g=yk+QUhm2A2kjj6i2H1kbWF=dIl2PJ4d_{f+? zE@E=BH-A~?r0{TkeT?%}*3^=^4W^>O=vD7(!|V>g`fK3FhFqn)0s=K=uT?^;{!Q0* z?X|4#k{ znZGTX-wM1N5S%KS-}j-A>)w))y<2q+LDPBCz0h|x{}3}+QUV+JTyNGSsmb${unj^( z`$@C|!}++rWu98~n-2KN#Z_}i#sh#CF&BGEsDAtJLTQX<-j0_{DVW>Q&o2mTW;ldiSjk$HK~?q!^jD5_w)H$3=;Ge zwispThYHz8%F>%yi9=f2JC_9>EW0A9u~#P-AAcQTv&zpbTa|U8g!bf5)AiNl@`nnRqRYI$Bn>*Ts{XL39A75M-sb0_(@`av#`)>`!!hbrO zehQLTi~5GAt5LKmryg0f&+Uh9723c2*^3OjBs?vY++!jqC$eXVa#!LG(+RiXJG}{R ze&#cEY14-0XO?-rEuQk<6MMSLB*Cl7d^CN+X8qCUL~)|5C|2PWY-D{ZP3&#XRWNTDws!?q{~{r2J`f}| zhi{v;J2pGk#*HoO>STUQoiIM}%#u5HD(xZErP&z&WN#g{=h2uccz@EqJY5lkcYhLV zJEp?L{;1QNZ~LsSE;-bKgb(-T&-AaxI~;Z=VYe@WGCq%l(7%HxJlJvPXzcH%QoV*bmXoQrm*>nnM7)YR5$_ z^6K-S*dLNR&u6nL#<3H*rrFQWo~ix&BAl!4XvLuYZ|>Aa6lthE?4P6`{Jg}Tn)L-L zljnJSvAojD-=1BBBSw2^2PrI+xwLjY9f=Za+J9m)Xh+kGc{@a7j4VxT2b`L4`sTcH zaLH^(Fe{RRF_MRIdVsS5Pwj_hQc)$~c~!|VV;DqD8eoh>Q`YKJ>S1g07xj~$10@_J zvMk`g>ppdIK0)KQ6G^GkkQC9}oPt6HtX%7*9Jv+54BHy;&z1cQTAu#c$rvx-dJxmL zb)K0QeD&)*d~-Rd+ss9Aq69=#>uS{{KksFSZ%kIsm6$sDn?E6W^kCmFo07Pn zMQyc=x4dlMD6NvqBXvz332-Xrof?gu zS4iaTngg=G>$R`=-Oa9}=AFhRA%%&+UF1c?MHdAUFs-hwy$G){a%m7J;)*iyU2l5W zkr;s2qZ1R}E6;~rjndaoZ!VuLoF&hb4VbYTG@3ui>&}fsjLe#pzK$-GjE4!$fYdq9 z-C+aaEfu>?EuGKQi>KRd-dM7(Wp`d}oN9*n_j128o}8W#EP5${a!yvtPLTvM*>ze- zD&2mY4{Vt!^=9qMpUILQvvWt_;EZ1YR3abVKrk63?BwP~yM3A_Y(Iqd?*F;<2UXmM z#3Hr{dft4&!)a+WZFcwxfYnytn8tsw-TkPHpyP3bbAt2U zHP0@v6mDL|=~z`JPg$Sz1k4aqi7rUcbirM|g@)t@(p-Ms*j+3oZ2^AhDN#+LN;<5RSgbld|0bQEhFJo6N1BL>+9^vCr z#E>f~a_iKMKwn&Iajb=n^Y2e4N7>BtfxI2h$T1!@Bl}!mckO@V=tjFEzTwowkGTz} z1x+Ur9sG9DG89CE(FO!tZ@$h(j8 za2RFDkSZ{dFSh449B9UGD=HFq<#k`0;j^-;{^^mm050n8zJ-k-$0&R$bc$bS&l2OO z(nq|8`}J>k94Zp9|jE^dw)<^mY!p58)y_f-$sPK+6$6DFSt5HqE$(BHt-7G z(?yUUdAhJ%_Y5bV3O33eik=~AA37B2nm)#8Z+)LK_{-#tW`)D~&hC4Zj;^?h2*XwPDL^KJA z&!0TZWLo6W@t zCw!qubRUN&(>ww~{nf*D-0%8+PDKJ?|MPxH;wQbW6+1?=EhAe56PsaQ0H*6lmyIRO zgn%0Iy>QyNFY)*gF(Z3;D$1R!PYK7W;$8Lh{y-c(9G*-JP!ntHoaqRo4RmL#lDyT` zc}l3i)B56gcbcU7*)$ZBCBAY7h^3BW5yX9zl=adnUVAKh9J+Lo*|lY5sd{m>J?B|t zX@8k0AF8%cF8pXq)-|N@D`-UOgkcU5k=pE%%?sR>j60?@-*l$J=CK7c^ynOgk4TX)7Eg_U;kWvho*B+Sag;I`ZP~zgb=<)IJ4gdGHNB};=fUl%zKn()= zQoI_aT+)t@_VYhL>ySpc@aSLIKmmNVB(VKU-1mQ@EPvQ>jC|T-&krN*t3m4UIlsg= z+k)1-dG$;|v8KvV{_i4bKQRtG*(K(MYR+D&)<4A-`bqBangsd*(|sX@;cpgk3_@K8 zA9yPoy-e9S6sQ0R+(}+r=iMx-dHRx!hr!Y8_GH0e$==Jwtg|Bs%lk;O>>)&;88sHz zXf~b#y1p3d< z=s|FBU`_T|$@I-E<~m)!f41pooSuB-+N?+Isk8!pimvJAJgol=c+voGxwY5gcL9xn zukz!UW4^76)Tlk1&S5&p%TLWHN~Yz{r*%@XyOB6$L7mdTN7 zarop5W8Tjj+42Am4_{x{eBc|#YC5bn{2=NH9K(IMI^-y}CK}@f-vn?#t+;G;9Sma| zO3^h*biK`W#kq%tLOb3q2b+F|Pk~B+;Rfc?>2=$L1ZwEqKc{H+(L4EplGxBOkxtIO+_jlLJ_tSZ1?5sY$oWWhmv5l2|Kh^N2x>kM#_`ZwE++`Ugfp9W&=oal ztAnwZM+*H`S{w7-cXJ`UDp?APj!NHo9a_in9?y8`^7)Pd9E>) zVhocGAKq1B+C+`q@dg|!WAPx`NPkO%)KiBHNaPn#P%mDQiLaB4xf{ejTUGa+F`xh& zbC6*|`-c^cHB@2B0KCCXqG1D8UHPk@9alewg=AsuZ+c$t-Pv3ov*$CvE?myOpObcC z+^00L(qv&UmrTOmQ@2tQ*mDN^!`XV6t>!qpaO@@fQO&aRG9<0><6yX1)aBvv(vo_- zW`d;UfVZPqq~$-uAR4X*G&Npcm+h|AcNdJWh!?Zo)7n4h>T1p=m%x^ej)({%t%Kg= z-1&OF5u06c?T(X`O0_q6$aGS;q@BPgWUWiB+=QMfD}suyDygMfV@?AX$Y9mocW~mu zqd?(2O}=vF#S8)Lw!>5WrGf2B_v%-67YTy#ngUGbj}E#or@v6LNih@wJ5e;4VZ|d* zzXHih(x$d~@i*EiAG)KXULB=dY&@pXJ!>CjnX`HBlXATx8uuZ_Q#RX$_Fabl{Y~Dz z<<+!T$-LNNNRSU-Z|FzC`@_IjhCiIY(=^wO$0R>SM5z3*efgs<+1kG1rCzy*cmlmn z;(&w0$X@;6W)v4ugf_^)a098@z$tI$G?F!WW7D+w)1%!mi602mHX^;yyA4-+dJOoi zPYrg8m$e!JI7DYF!!SdKMncKt-mSXoo@>`d2PO)2xw?PVHUzFxP%jy|r0e@Ry$yN@ zs&KuP!e)c-Cd5rfG7=rDgJIuQUmUbK8?a1sbsm?qU0!ThUYS`%Tfce)8(7X z!JF>)yRm{BT|WaUdVPOdIggKP7EJrOOWYj+$conWp*~So_Znf)RWKvLmrCby0(X;5 zRD-C@xPOVM;8{x}43p*28Q(IOz|bMC_|9@KP?lL!zuJWhw#`c|3--cpcuN^ekiWJ~ zn2^B(>BY{Q=v(*6a5mzcp6o`?4@X_OmxQ<<{UnFwA^P?E0}g}o1C4dFL_&_Y*Ra#! zW1p&C8CH~^HvJr-66b40M~)Gb=zMQXE-{yL$?>#f^Uq1^Fz>osi(MCmWpmvU|1^BR z+1bEIIWco)AtVn@Gys23^G`{2-9P9Kxh&%^TkHMnBqXHV*pe4Esm%vw7~9@E-q>@# zE}E7($TlNeAmOq$tE5r+_S_c3oW^jOuC69$fvcQG4Kb(-Ly^ z?_w|TXe|rHVn+;;3-I#t>#@vLoi0?J2!)5$~Kp1A5oct#(z5*58Ju^~`f#j)`TPaU@jN9=D+kp6u6!c9E#xrt2YASY>w-U6nkd z=Zbrx$OB_1gRw(`1Wl?XBI<-xV+wQQXkrImt7Uq@yYBCzI(|yhnnd>`NUee?HL9Rg+F2oP+GpV)yNp8Voy>eE3F6y}~b!{32Iu>P4U&T^d9t_vCXX)FN+j}`_Q*2b zcN+a=tcPZ^t}jJLn%8YQ|1?EsSsv8D8W-Z`+Vr3p!Mj!a`-&$;3Ynsdl~RUDmqq?Z z=vn`a=FBnC)7&8M;G>IZw+FxIX5^#ABRhPUk9YQFJzAZL)HUer8iswtJmPb?aL_3( z6h3Tn$^XB3!Cs-|@s{mIq)#35#b3IHZz zD}^n53M47~bIu!tnL!1QKSNmyKZ3#ATYLz*&Atrc9!u_P$UV*hOWc=zs!o$L=9Z`C zw!0S+oR!w%#XBH@gAC=q)FVIykEq|q8_|-8TVBpBq^Hb=M zZVi}O$nz@mXoG*3ArGWFhpyjTtPBfT3EW4~SGH1WsGjw*N!$fmol#C`D4zYDbmyyz z+dHnW5Cb6M+*Z$t82|-cd+~gC3h6gdgrqyIRW{|Py>3JP<#emRaYzb68d~Y0tc`3i zXJ}9|kZAeM`@A1C^mif0r^t*j*=YBpl68g7>S39=1ZW5%pezdq}3KN&}l8Pnd zg%Ji^a`nFmlrw#1ptz)=Hs|MgUf1V+ukXh|^XI_%FzZ2xc;S8f`p_Gq^v8-7gb$Em zps)zZPiqSHpfk2-4XQqe52)H;jAHv6TQX^ifT>bMaeH4SJ0V7-Awbkt6S^1qdVi~g zQKYU!)%$mN8VlfX+%I+={-4X1bsT}EJU0iqcw>HLtsO}LlCDzJPCb#XGAVzg`^yQ* z{-=kNcptssMIOV{V4nH6iiG@L86FX#1VFjpVR@f04jxfMq(mtH%(0ijkz2v)eI*C$ z3>&x{t^*a3*8(|8sJ{X_%0?s;Px?~42=c!jJnqBar2g)n{e)`p6}?Kl2#EemX%d2= zs6~S9@$xxD7-^?CH2$|f;9Ap5|>4e4YMy?9{a+(VoCE|J+ z$ntb~r4=77+jd)|de$%%b<6DYCkq#|I^^cMJch~JzfJV*!$wSSOW3vk%{@%~BRv5Tj}vx$ z^kft_OxKW?=UghXr0ec!YUoJ}e!b*Ahd5ChSi zuOh?rn_ zzv&EzJ?(q42>3OT;{?POsmToaXiT0dfYIsK?7l`Hn05MBHmE&QXT4$L3*y~h?lK(X zWKwwHSpKNiBGo1?@GQ3a4&8k(helJ}kAz&B(_#vjF~EkE-5D4v*Uf{mZC!!aO(+bf zJ-=jkSJ&;`bvpJkS@>Vqebj+~e(UTW;6G5Uj^*ICXqtbbl z(o83P@)xLuN(f)2-Q*5I4kd| zN8_pj8}Ki$Oa(rb6}So4S+m~Wa-FRJmV2KjR+)+;FYx%^^hDknQ4aS*c!kZH@LI>u z^2@+hBNx3`j@l;ff46Raud)T2jPnx_Y~-*NUx1k2r^>EIP0+g)Ec$$c0U`=!11EhT zldeYFi)W7MWE$~0f95IYM+pFWY;Q*#hf2Lz<-bG`f5sft6G>QcYLlNT4An!bQcK^P z>YCAAC<2&&-~b767B#ZY9ka#4>PZF3%8kYmYY}yWD&Z~+kSHJQsd!vJ`&oEsMp;*T z`$%e>G0(%K^vghD)JB#Kl}8vxS)57z#YBqkOGm$>t;e*x*RJ;`fIEAFId3lP?&553 z%r0gI`_26GEQ+~0IPh-GrX2!E5nku2JoNrVjFoc>4iMvm+9) zqat@VRhSUptba;nQ`YsQDpH^;DNw6c;<%^IrR&2+%GEetattRFHm_Yugj@*Y9HhWv zi7&G@1>-*Mxuk>KImbMjN&XO_d@0kHV-}$?`=(89mrHXikNI(;YDb zW4%V?+3Kn&Bze*;t+K8q>8!0YxcT(o&F)FVvTGy8OE#0N-`gas?B|@?3)!H+E}puI z{~odqvtjYC_gsUq1L=8=AEyTlcm@((njOo<=-820T|@d`I!(`wYB!$%1e{=Py{PbU z^V{|6?yF<9W*HXhkjqosypZ6fgT{Jw!0>szP6bp>wl9}&$Ex#Wwtul|ru>}Vb814( ze=_6)0zyH6SMj&!@zzQHvgRYg*!AO|%l@AKssH&^KqmlLPtv(M_v>TNCV&676K!wr z44RUYYFxTG)ukh3-PGeP_LKu#biQ0#T=9&JeXpVKoh4k=Gv>twFih=anQ52C7LnV+XZ{%bBJ~^Z#+36 z7m*4?PeOG{h%6yN1S*h{xoqqJ1Ku*DMS2im2!RT=x|@4g4BL-20ZvNe|^3;;+UHBQD)sPnrBI2?cRg60SVQx!xn6{dX-F ztddk!@6=^NYpwe%)sx}YEPbf&Ge#ltIlDbIao+T&9CVjIJZ(Dog-kan{=I$}>?@HqS`V4Iy4V%nYaoGDcZJmER;M;t zmSFum+W=dPy%nX(R~^-@%-F1f*Z<7kDtXuEs25{90s-}Clab~IcExiX#^Ru~9@uns z_RWy+t3bsobh;mKQ!>9?w$n@b=Jhu5Z_`mO(6_ zY2g0#*=1$B;!~$i;+>43KFld9T%kEcR8mIP#dl@)6rJE&rGm{M_N|{Dudf&uDL%1p z&LVF55w`&YAh5Y3h2p6TE)0ABepiP~O4E^X^`qA9l>f~JHjKYY_?~rO)^)q>l~{yv z$a>zOAu#>|LEGGKmJIwpR1JGbKYv0>EV@i%mYu&j3u0tqYV7+XaR|sjfomqLzCWL_ zqqQUO77f>K`hs+1Y6us72pc+ADp_`JGzJ#MWmV3)1SW3bsC6oS)t9zd;ZT3?qn{|d zC-zQe&{)VKjqGElbzQ^muC}SEU%_#3k@7wl>#oI7F6^Y!q>Svky<^)_gykRmCP~VK zIu%=6d&+V}3YE1L|I;mX;~JiVGzj zo_iWlDel@%Ek3ffub+3!C%HaBjtIMqB`hnLI zb)aM+2e>YF&qgHcvTNC)Vc6^R7OU^NU%VjyFV_2ogT#l@GA~2s=XtXhbLF~k*Z|rm z@S`wyyJod7vDDQH$?*Bl_1s9I*07qEFTtOcbc*GnWG*vvHq)6+{d`k0jbx$4Xo}7Y zgHPemQ7UK{EL@|+Jk2Xf z-=v0rxk|j=rFqt=7#+N9@QNvcHWrS2nDoA6t#F87vuhK*Xa=MKD@OynEVAt@&ANjd z$3$Rz;;3<(CleF^j1>kAx-K~oM~(eHnzs-l4g>53FVjaPb7!g}0N^IvYk~>yh?$Ug4S-5<_$VC3x5WNhEI84yIN?^*93G$EJ8l!!NP_CYP zxLPy6Ta})*xqPoh<5!*{{(2G?+pj4bWb$#qCaHW8r2U_iU7n1Ln4+=hK9dwxvh8W! z-Qg-ws@jZDGko@uNQH6dE4p;R@;veIjwww1^@N9`Dm5H5b;@53sJy7d9&jKS7D-O; zZ*F`3ublt?3H>)Khi~n64y*^xN=-j1#6H|R4q3Xt9nx0U0rQx;pqZ${ zqZX^qXT_Lt3(6&A_K+Qe6vkvfF$YSXVI}u`~($3n0}%O#Vrp3aresh{Wd6% zTVf@P=PmHetFY##+{C!Mha4!`SxhdVH(z6@BxRnuV=nOJjh!nO&UFSgg=+MSDZieT5k{b%T4o@wCayVZ7Zk_f>;@5sxRD*1btd8 zdxf($s>Z`)VomX)FQaEDs(+=^@UNxanrz!lFA-AhcuKiulI4Ur`79O$Q0dz(657jD75(!=N!lQ#b$Cn1SI*NX+T_8CCN$JK>_`SHh*w*0&JPUwF;~E| z^hqRLd)DRiC$bw z6PIGK0RL1Yd7>mkN&vOih@^-Y!x2L8MtM6xEPQxn9wHd5p^XTc5;a_{XD=9Gf1|0b zCPjKlUJ%B)zYW!556yOC4b_1+iaf+2wi0tA)Wsfi0BNcM}x;LzEt zoSpA1e{(NUjPkKKEKk{X&YycBzAC(@tb2F%B0A#r*BOBr*L2tDEh-AeD|sH=y3JS! zK|`Dn=sVhKHom9E;_IqQ%pw}hZZ{c*8;dxa8J|~WBA#K4R6gsHaI7SBbT0|^T;gpX zVSfu|Y_ESIxR<*gC_!*1g@dsSEFkdQ#5=a-giu&~3iI{>;d^Qp1J`C}j$LjpSR))N z;$T|LOi8LrW{~c;$;~&%YZF4ugv0Ol5%vLxRmip^fFghc+BW~+Y{2&K_G##|zD6ib zsQU&RF(a7@u?~XHR#hup0o;IVMGSjRLLh3F+PHwH!;T2EvVQ&u4#9J-z*Xd7Q&8lw z>e~DOF6V7tuzLj6LdYOmnXf{BLW=<2VddAd#0WP|NgM?{V7J}qIp0N*y|^!eO9GG1 zhfFQ#fa8L=*n(JUaC@*3lzp!kDR~N%hh*D9pNP82Lpj=CKV4)xPlZE8_f@3Wb$=;JrV_>_(0&u^`yvNMLxz|4w2|3k(s~ z)iso#ILBd`_yY5!yI|TJA61RR3`Tl@iEC|q)F0p=?cieW|BJ1&{%ZOU`~PSRQlzDo zknTnh5by&CI%1@BmvoCD-2;@ChB0c4PJz)4BS%V0x77E2pYuKUPxl`%&d#>O>;1Z} z=kxJ!&7&-B9w>MkTekQ3k&7}6f}z+IUNcyKMBQq2~*(Oc$yE@#vVB1_M9C&#fer&TFu0>G{t-i^~V9b$g_qnkX zZL&61=K+J~=7Xyj%$|u&F5g}(SF`)0Y%G=zK>4-+2n{-+@A$C&Lb{{WXF|*qT@Kw4;}6 z!pKxUN;kndE95*yIblX!oT7zYY#9OJnkSYqiHc$Q-M$! z>vFouT{sG0mUi`$`viW`qea24J+N~GWXOpbvR-#=+!bVM1l??`S85RS!o^7oK!uGG z()Kw<^p2;)?e}}_hV8ApwGibFu4Nsd`8IANOsd}oubqlX+V`Zn`g^-3?9{vcNMY6j zSr(j{DkvAXhR*iMmHiY@Gk=x})1$DtV-on@>f@oC)->T4cqGZ@Sn@}pn#zIT-P6JwPlvPvk8Mf&gI+?{ZA=BOYOs=`S)Lpc&ha8GQHlm zXLYal_rSWJq1v%qK1{r_rs~<* zNK+uIbfE9NtXw1Q2;ltER9$@hQ!e8_5BS#lqtk5`1LJsSO<5UPU%?+k@9MqQr(aFR zu))!n%dICZ31qTHqkfwB`}r5X$Ur|2xtuMvk8&|x-Fxoofl&X`TRS8N&hDNe#$@z+ z*M?c6nQ;Oug-2^<3~YF=H@_YWy{_rfVRg`2-MVTYR{7G4{{EG{-rjH^(O$)BdAEL< zhC6Gm$x9uQSb%w&Ept#uzC`$Ira(Pj-iX4-$KCs?e-bf9$#`z&w6 z?09|fW*Rm1{juENb19V{y*?fMza-d;(7`K6DD)wD^)!y{2di9V4CUU)xq@>U| zGs;PA(j_IWvAl&zJir~jt(4zSR6T#H@~dVt`gFAIUyaw8Ze587;4OLCQItes(-jX< z70eoiNk_MG6y{|+vmV@Vv~+0FekSs5Sgb(n=epRz5$Ib86QR@iwOv* zdIMjlJEr#abdHzeYU^j6L0HaMDRJc^o;GL!i$3dcc8t^Hdvk{Cq?KU{9f}D^wf^Qc zmjU;T?xk4N+<_{e(^XDZ4nydDav);M2gshM>bs6<(oDj39NYq)GY1}TuL)}?rM@+W z!lcbySHd}LrfgHO421q>Wm$XRsSrtcq* zGOk76I%X_N9X`!|N{qI=_LrWc+|Y0Kqbv}I@H(T`9UEsUtv-gPK249+p=X0v8IPO| zj}@P}iR4tI671{rZJ#)`K^$8=$r(wwM!s9VB3@8s-GH$`|Ls-E*^7kuO7sfuiDEm6 zY>lbqe^c&)0>^tE(<|sQU+MtWe*U_`F4gjbaPx~7MZ=>x*)Qr05OeOgyCdOPW1dej&sToQ?Rk4Pq)G9^YjUw`jlv0FmH+yog8wdWoKKSf|E7x z#*q`SY~UAl(ZM4AZuFezOYxwKeniLVyLwimDOZX!4XH3KU1!QU?TS}lK5`uhTW;xISg`bAE{j`2FZ54Gx>+1rBim$6jnXq9$E44bfvKYw+4JTUtg!LPjNBHB&LL zyCp%|$M<9>O;f5h^(c(->i6X<#2nyXj;%>#)C$QyqK&0^6#DtYpAAnVjAL50U; zOf}N4qw{tz{XUa=|9;CfQWh7ncb=}DRHWKGDX9EWZB1Oz#tzJvI#@niG<-BzDfjUA zR1=c*eX6W%V2or!xm!YYk}c{jv$yqFi?{!0`0%Nq`lLqlq>V7hL0?B34F<+MK8aw} zq`Gw5m-Slo!Wp*N)|OyV+Sm@@)iE}w@AVW`*QZ6KN!z6a_PY{Ou>7-|LWo& zYKm*YAti)ADp?t~gy$fq6eA;PhZRgttNa-@hpCu;_-Ar|eIs|T_;j>>LT~S#?CPPD z?fqdJy#%80LF&t(2y#j)D6#^(m*#;BFXpbyv!p=zb!Y2tij2b6=Ikv>PvLkBpZK_&XO zo2Ugy^oJSb%AyT;Iz@ZnFAvMrnBma@*wecGU+@Q%kyqwIvULZZ@cjCxOwNbO7Z{hANiK2erWqiNp~+L?nQ`TX}1L}158(kv`_E7+Oxp=4@V zI{39(Xqz`U+Z|b6uS92@z4U?21MrRnNbp6XoAqkEnqD=V_$?zNMKn^^KQJgR_N3@X z!Z)~G@Lj3@Yn-*w zw2PA$uCa^yp?$InmRjqBM}M)4K@J29@G@yj4Ge7j>LmCF%aM4v5bw>ws-njb*f5YL zUT$?fB(mJhJey@^jv}>y8u&-#FIGFCX{|$RK-otz)fSp{)cN~PCF?jn*1+Byo{saY zn-+#-RxuQ&{tVpYICO!i1Bb^y8t<`s35#Al6q(xBTx6Y2l6Fz;CqVTsvq}T6tzo==qX9QCC|?9EUlVng7u z0w_DRajf!Ct=}|EXylnRBL_2-`Ij2!?-DFPaL*^LU_?~}eFB0N7C=K>Nx1U_lvNAM zAf#(hBjs-*MHPiuut*W~UmHQt8?*9_Oapdtvnh@q33igh`~tdd3Q`_mr5uf+2_+>6 z;&=(KgMKglNH5{sr{- zD@N}NzT}hKSl3^9BLR4XV6bcF*)Xaz4 zsM<2dFxP!Pqvgo%@pn*C1=GW~e$E{GB2Fae;a03c5w-+5IrD@|l^v2<^Eb0XdRB7Y zWZcXp7V3nLH8~1-NDEXFnV8Wa@;@=0g{CusQXVYi*5wG23qD+nm{sE-!W$SxZSL~T zz+1B4pv;*6=&!Cxb7t4sM9Ek$9%7=Z%!cZ%d}5%U0(LV)~{*Kr}qh=wJF{Mrhn z`3aq}LMc10d`Xny>$imFP$`b_OX)&zp`F(@Os&aOan&b6XBs&^kFDp(Q1Ogjvm{nY z0oNQ##)EvO4XEXLb)nj5J+{LuIn)oqc^g1iiV`E$f~WeVavC+aVZ}7f z_{p!})5>dG*ux9h{n>jb(B!K(ff4Awva&+OkjyWmr}T6bp=3bX-zlbaKpSXlF{=!e zeNuB}o)E4^Q!0H0*(MR9Vs#*DuosGUS<~vOws0ji&^R?b1!dG%gaeO751cA$Q9#sI z{c4ild~kUM z`wX3S@!KF5-t?O_)`lv%DvVJAY(!s?Q6L9kFe4gA&ecFQ&f(}FR>Ki1@QG_D%(ytQ zmKFHhPPG%pmBYc@X-~TJCTt#=ac)dnaw5rOlfkP((M9A?7lq$U{AzJ&$$eD6ckP)m~;JnJ5w#y35CA%Ylf;Oy!!k)mb$ky*UR5s1^Qw+ zo*hvrtY{lSNAz;={8e+K$$wTE;JVMU_I0${l%v^(nOQFs$>P^m`VpFt*jJWg4#*Qo z(Y{qa259qXQP>*M8OYt7_4Bpew#?Wf>1>0>H0gFW&JAA8B1Yw2(7$L6Jhu~Xk(HD% zrkK!crq%RSz3RW#`UyX%bXHvP&?K;xY5{zOHYnF5U_P-R=IrFe#~5&Yg&58D|93U+ zS{$p)gF@^JKl@GqgFRbe_;){gTzoE%f3$pnmqT;^b4fL&r3wbvhnI<%niH9n&`zx6kVRB#rqQQs5z`$V*>fq zo;`XMv!l@B=UUn~`}NDfhGuKD zbSp*Y>u9nDB1qEaa+2wchUzP$i!y+8voVqmx^}Bcf4To><*$X&l-PPt`|Ys=dF8?` z0N1Z~UIGPAl$9f_q-12JOc?}qdR=F2y|Aj1l)#?=03rfxRY?A|_{RYe{+z?%}t+&=JqC5Py${B8s$W)BlX4?yqnrO8+OkG{xLorRNnuqlzsRM zJo~n{FO|379W-)-k;BnF={5k`lg1hW{tiW3qHsy*_RC99`J8GWD^GhY+J*&fp@KyT z8~ZjbBX!TW8-9|;?FTk{j2T(YMT?2WTET?2`86~(i33*eR!M^Nc-eDgr0k21eOp_- z&$jD>E~oqZKT{||&{@L&Zg(cTG}5qLlz(%SQYhtSoNr#A<}9_f#^)=82Vt_#pvB;zzDMuEFSI zGnzuzJs`*I@17vs{(xyWGwNM58BI&>zq(!1Ll<(xPV*;|yWZOE-({qIpzzSQ_5o_s z_F!E_P zth#q}bhWZQy+53BOqj$Zu_vMtm**Kj#$Wkq9h9MQZ=k8|Pjz*3WnQMf9UoRR8lY{oH#08!>YzIk}KijW0q!e;PPRCZnEd{^wLt zS|dwdUOO^qhP3@I07+0IuoZ6*m-Y3P9jv>Y)StKM#wN(RnCsDJRZmUcxm$oa!F)W$ zZM%taK#u%lW!~@+YY>QQe8e5v_D$y^)3NTLRw2c*&?8#zcU4{$!>&YJ? zj=ewqteM<{X`_{BNV#(ZY$s*n$32I>I=)&Wb~w+q(P;w!ADKXC-&;~DYB9~ zVv{O_;|`va1*(abu-lU!dzfQ>Rw#y)y0MXVM|)1eb3&Q67dqzDJZ>jeujJ`-{c6GK zXU74667-yPE@BUV2iMvAce3v-e%{E(VgAOhH2Cwxf9o1$0q_0W=XRc<5D)^_B+DM4 zHwH(}pI+HW*Q$ldPsvbouoaeXp8C|y+1XDD+lj8<+^pJ2^F&QN%bT{#&VC`hFf6QU z9X$=3aVE6PK0Kel+ka(WFNtvqCk33~X34_X!NZce+MI=X9Drr?L|WkI(1h^a8Nxc# zZ~a)&e$U5PpArD~&CJYbt1bg8s9^MIPiH4^RG7ObDaKm4xlBpPNY(1R=M>vRLd$sV zIqg>yIf%oKLRW&7)g&_Dz{8b!?fExT(Tp#^_C7$4ALS&bM1fMJNOgNp+S*~loqBN5 zEE4K!2Y;Mj#RcPt%I8ScCZB4f8YH^9;7&NEB?rTP%h>*Z-t!H|nPl@dcrCsPqBveQGZkd5 z5O6m{yuRgU=-UY=?bGO4YaqTPSh|VsxeR%X#ZCH010P}H=V5~OyGyD@H>9zKRMU1a zVKe{5dg?YyX+BiQNfr`}wuvRo6dHZT%hLl7JM^?LLDP;>p=d|fZ(M{NheoP;BuKhG z*xrG@HqMr3-Qhn1ag>$|G=nXKO@T&0JuLKtBi!$qc}#U`QWpI2IQhE^fb(82YTMyc z(}8`J%^q4@tNg|s@cLT zgUM;_-}xpNBd8E5K)bXtrymkZZimDNr6KZD;AOO)yj0i&AxMfx`HP7(plyO*NSoTS zfh2O=;`wScr|Fo4b^_B&%G`1;HIA)Cy>BCJT_r1q{Knv(xQnk@W!R)-u}b`=7q~Pb zVF6_f5c`B&9rE&*+fbWemCTrduevdUiunaKkbFGz4(i@VWVlr$5u0NY1%xUQ2KRNi zq&(EH7nI*Y=n?{)ISuN~CR%w#>{Rh@KMuoJ%7txWM4*C~ZoL|fLlRz#p2DO_S=f)p zX<;doZq&g>9rOoG98FKKaNQ-c3GvHa4__D7O5Ob!q+>mDStRSA4Y5JOVe%SM??`xr40X>iM)d9WXY{ez~pr0><4msv`Vx-!X#ggrM_O|Q&FzdxF` z(CBiG1Z&NZNh6`KaPNq?*`514vmZ&$H)ZEy46Z3CT9Q`3JBmNLb| zik-4aWD+^((67ZO1a`;dMKSVkMjDckNd%ahYixPwh|DG^BA9Nk={(A2B}T8kTWO7}k;y+K4N*hZWZ9z}?4i_8P}H~zoLC?#qz}P)a3~-Ar=fduKhk-H)I@F>+1KZxHSsM6T3w9u~IEu(2Qx&bAMm&Edu z^DKJG4N}hsAT*X^3P#h)G_MpX*gsQi4MgSDqFhk_gNo75FDSFuf2J({(lk~FpF5(% zIz~Sqsl8&R-1!M?TYel6uLVhaPHt9H^;6YSO=FepW2N{$DsXPZXya2RY7c}RDN^GC=shs&>Vcgop>!vnd=)5DNFx%@ zATBQX4HaBYw8gNI+4N{J7e|xE zI@2|mf)wlP7syPCwg@c_T3bVAv|i%}C<2Ps=7P(hcFSI=aFCA>VnsvJo8s0uG}i7r zKiAJNE-yXY=LG6f>2Ke(9f53&B$$%O4#I4?cs^-gf1b6g$6l6_lDIlSyd%g`CRegd zVK**81KD)GJtf)37hJ$$9Fdf}U=LiGd_&JC;xrrZcs$_c`rKlfLTnDmB~y63BvJhM zhTvA_a=cS|)`$ZbUhhMCq#;Fr)-~CsBlL*QwIgB`TV#5^PxBFp-h+V$Me-fMSZ zUTAq?|7pw5BE_%MT#xnAyEmFjY8I(K4yx&A)Fv%`7E%S&S62*mki@M>E0_$;XwkX^ zwrcVR!t7W3*KR@vyfVzeX5>AwW7ZM+S}Lqv39e3$^msgsbX%Q@XKcU!(sQnvwlaAA zwnS6wzgIBnG^iWkorU_jc#j48ONvX|h)Dg42%WkOY}2dIWl^IhVqeEQwVjAaDVNCK zqIwq|e%J3^W5^xN^-gh9i;M7yUjBla;n3zY25-0%Bh9;L!9ibw{fp1KLKnMMZa#jO zf9H0rHRA%l&v_bsJ9t6tDpijz~_CWhz#}%R>X(JGM`imj=O&}Bp&oR zAgeRvDKlGmtWWQ~_xsje!rxB_UQpQmXF;j`#cdC;iBa9&@m+~L<#5=kQ4J>j@8j`V zLC})34@EB5eB{i2Pau7`Yn479dXSTeP-Aoy|6A9He`8&d?5;A^w@p`y%(|p?;iq^> z5!rzks;0Qx&rC8?Z1$FqZa(m&6s+mfi9vksT>8cZd9cHG77ZR};dJ{#)V(6@N z76XIM@7nMA>D3=j#Db2a+i$s4?vCAuxMM@QX@~Y`@c_pdYEU|@YEB2yuVx@?QbE+W z9=Ij#Xz1R&_~Y6=zys0Z>me8DXB~YqH;JglG||UBhTmhB??i2dO^k>h?oHZmww#S) zQyY~tM5Us~H%XSIb1Yt0&i#PTziOSzv61;6Sc`LSdpvz`Yb(qe}sXF>3&pg zC@_Pq3{P7~8-G+@uT4qW1kg^vfm!;}_Pkk>m)8Ml#A~$@%|z53`^Wj=BrTr!2GcDk z@fYBbIVrkQT-(xbJKkaB0(GgbEMGY4J%;u!JH}G^DT0w_%n- zgz33bh4rbrzC96|I$-MXRbcM>>6o?2E~kz#_BAU6>&q-n9q>;th-&4+^TmhBQ?b!@ zKltk|?_5qJt7-3+^bx@hkhgd`e0fp5Xz#>II)2>(F=ywf5f{$^fJv`T0&AYj-(KzD z$(M-kDMoZTt-~}Kv$D>MPJ!W^MaKKDv(a6~-FRHTuXHkELpXN+dlkJ=bd>B}y~q^O z2b+1=Xy4svA^&r1@_-j4tf$S{r1em;z+xstYlLYpb2o;Sxh_iFo-5tJ5K4brm&&Ou zdww%Ty~Ul3UO)GB70ciRzf%_DJYy9MgyC`i0D*!*s*3WTj?F*xe@eR6O#7r@d0kY3 zy$c@Pw{oX*If|?r(18r2pKKz4%B-VU#x!KFDW!X1?!;621^BvPh@wzhBO(_LAd4Hb z|KpgKFZSWz4tE{fy967R)|`!J81fb6)39fQ%d)=1tzw|xjr*Pg-}n6afw-(~3;8>906%uNEt<*J3mew`O#`$)Es%n(fQciIH}iMKLUtAGgBl3O*GSq?o#<%` z@sr@oHI0?)edE(@?}S&KbIFqzS|*f*_2V1v>c1O&+{K6MsJ(lN%8P~ccyzj&`D0}t z_S&}%>FHm%rz`u;tGzWbT>4K87T8YpgjeDIY|lELPXiwwN^4Z+rjy23pK()j1o@TY zE&Gcsq3Bie&Yv7!zM#vK;)`+9qix{>Q6+lcz^eWe?E%k;ZGm><@&K+RCS;@j2&ME> zDU6lEwwa>vR9SxZQ4!&W! zgp8C_r1Za&a4Na`!6#XCEDb}5{=q$sAIiT7a4DEmbGMGI0e((x`sv)RQ|j;x9sqKV zS=V#DAC)t{ziXErRhvHaAjqoyi68P&!4Z+zZTqKCD_vCVGJn_t{Jw71fherAGniWE zITw%*tD$!82tQJwr$pus)WoOUBGxQs(G(zX*lZl z?frT z4n5-w#zl;V@$FIFEF^#13aRu&Ukex@T1gwLlx{`CtGn%9CWuUqtgbTWwludZcYpgP zPw%Ia%LR~8$_C)m8T)_@jae^A8DaqE)~mr-LC2MaRx@WjQi>wAB?kqWTjbj{BZyeY zzRQ9b7+-iu64{@7w=^`r$m<#QZ8mfW@6w`nE!@rHfRznI?OSE(j5sQDT}QO zfA@`v5ZF+>FU2+gMG~`vW^!^T2NghRswVVC0!q)!S|25^{5@OgFW&kZADRnXx9W77 z36v+4g~k60H^+8r!N%hfN$q!dGk#;z2)lLmT>_PWAO#{2_)y!>(6D26=uB`k76lEfg!7T<7= zyNAI0^{w^s+yDNY9;FZztjniw7$5LIUa!JdR4c`UWxkIToDC>x+QEcy5n$}@Fq;eopI3ZZs9@CnmedozVGh_{!p zkuifL)w2(5ZHM~yNFC4{P7ireHQUD)hs=J#52ggwSS;FGuD^mQN|l&GKd_;w?f)=% zVd12H;0g_on745Rwv0Gx3o=1(L7ejTUid8bSP9r5Oc&1f6;*Rrf#*Hfld93J`O;RS zpf6?Q>n(=etxG+Y2T$2oK9P6tXnLj#->eY6#r;kFGE`Ez7lKG$y)74Dn7A+Zxs1JA zMR<~wuI5OrNjcILhBhVs;dp#AMsU=6IoBQ~-EuQ(>2Mfmx_pzsOs;nSm;QJQi<{kj zj;8Z+gtwT`SB$6S(sxVKt%Wt@8#4zBL|BSvuGvOQfo6_CL{_|>0mbX;TXmNzU3>DD z>s6q5l3@tj^|kSSMmLclt^#)mhP7B~K2%RpardahNO%5)VzXQv2!sj|Km%4g`6tkE z8H6Q6UGL@H-93n@;kM+C_aHPx&31%_B}H2j zeyLgs>8CD4LB12B)$*ygVzhatogOR9dYI#eXM#GJ2xXWpz(ONWu?3qZr~BvoA7ft8 zR#ikUj#Z)T@_F>wN@5ag@Yy0d8kydlN>9$)6~dZo@XN6Veo*1685D3(Z$Zl-jc<>$ zzr-=+9p3m66H9EN^N^`eOE28 z;z>znAZvb-#nw#IPp$^~#r>Wc_cw9-OAu-YA8RpDNx2-U&9%jYWACM-TBY*nmxWmM z;WJt<`icxKOsEPeDPaR}&x@!tHBx3NoZ{TAoi^ohMbPWn^Hg8_%5Uxr!3Btqw!-t* z!;9TSrpFjga<9D3OT`qw6YAxhH-_zg1Yg>%4-p{TM|fgccJ^MJzvVJQ0!1_Q_dFT@ zHrqPOY3V&dlULyiW7FcG#Iv5gQ*>ne^;;s4bo_;vSO7ET5tUJM>t!~s*Rz`uuMIZ? z33I2oqMJc-G3i(VwH+@5C#-TXDtPeg;^=>&q+WKQDu})PV$aj+gTJ;$nS3u}Xw3`D zv!VyF0<5fs6oEXz6lVbd|JP%SAwBTH+8WZ!x7;Xt8-7E`i@O!Ul=2CTXY+_0Ncf~{ zt5LH_K@ zc+DPbFhvjs$7nB~HuhrW4!o~LZ7EEHv#lYj``G1|qtu{WrKfrPk>+sd_(0QFb2vhV zObz)7O1j^jXHo2l14BZ6vRPT70`EU?71kE1tg{Ks+kox!Y23`ABB%r57z%PhN1AyxuEidt-5dmw=n{+z|;C6WuN18uP8NnoO|w0tUl zG1yomo{w%CblFXCF-one;MNB~|lNNZ}D^uO2CiGM7W` zm7YFD#`KBH*uzebW?I^eYNm??IQ5|(pt!_y z>U82*`1C^sa#&|@&Ox%J*@$OTDfOl5>1LoPttRz!==?O-%sdc>tDLkG!RECw0;_Q` z@u#cj)jnq@%E7<8XWlS|51+dXgdRRA+T&97&p-D}wl|l!lHLb!p|TYoum zYscl?w4HewL~r2<&>p4oDf&@T0EW~pd@jbYggQpKHRzr2OG}Dh4KCmItj?{PNzf4i zePeC@)$x_$Ltba6gBmWsiyp)}d+})7)!Nx#L)(BaUkX#=SRO8RhZ*np< z$_Izu1qAw2pvJ8bb*V0~%Xc&FIhaMqnqkZlFRUIA%3T2v>+}AdNQFaBaXz)!P|=C) zQ|oxS0DsTGSzEkSCiN06S&{M)JAG1<%*+?B1OV|w1ux$t@&V?vfZvV1bFTHt&Z6?v zx8V;*hnkus#Q%)=js{u$+}&o0*L|~IN*|T>{v?!yTh)*1+kBldW#3bu-`gCxzgo{| zUeHQ({wPQ7?mH@bcQ)C6bpmuC&hFCW?uB#ygO@dO4!f_*zIqI}_8BeL!G&PtE zA(B@-8)O+%0V_K7Ijm*_CN~A{zxX;lF-GkK1H8pU%hVT5|HR zvpsF$lMV9p^=#wbwVMB1w6nheR3n2VFrQpu3pT>(svTdAAG}2v;`rMBoz3yJKg}R| ztLj)zcw0MHk^(8Wj_z@grXMXH6mt%r5le2Fik_~6rq{SgVz@V9f%Vo;fvV+(w>X>5 zyAZeUO^dI(IrLxu4v^bL8q^GM{&*L!LD)0n?8NK*-G>=(t7$5_dBd&_xZRofpKq-0 z?CfI#WDV|$gDwwqWCGpY__s;sKa(3_mQ0M>@j_I}Q^4fDz$cSDD%)z~Nek={B{ROn zebYGn`?sX#Vu4ET?s(yFWF_eyuX@-May( zZKCTatkd#i>A7dxYrV=-me&PTsf`-RJnQ^_Ju(6b2dq@_P^#GQVT`-SozqFP+^wys z!Ax2vY{S#7-rGxL*bN6|`>lR(dKfbV(HNo%+>WSGvyUFS{KlkcKx34L#OQRP|L zd)BDJQ%XKvh}xYXNBTkWN{~m$GR0NdKEM2xd)8xHZ)% zWsZz&z}XomD)zAvICX@E8;lsIjp=Q55<8N1E1GoDQ>~-1pr_m!v3UkEpBHpd{h9i7 zH1PWR)mq+y#0#Q#!<%<7FJKz9JfbV#yx%)M{HKkkx48G67Imx7ji{5zyjDwVHWb{* zTK8W~$7RjAXwGO@SvEb%r_@7FpZsx5d7WkI6Zh(;q6qcvu&yQ0n1tJ4kD}m?z{BQ6 zpkRj3+E+$uI3iEF*;`anQZm4un=UY96XSO8DH}=WD(2u^{G@NN*=q(6g9M}&XR{+K zR2IZ9assbaVapR}YMA7Hs>aFOr88~dVsnE{c8n71n-M8_exK_yLmpCxRa5YvFfIj` zjq@x>CDzXgz|0^O^Ihxo&tGZQ`BVwLE}YTB+5^O&<%iV_BQ4*|sB_U)lkQZ6VKu*Z z^FjqI#4oAA(D_-Ru=xa6@=N_*=UVPBs)5&=!*`f~6!4vs2}%}QG1RnN;9!6MZg4IO zdXgu`;Mug0*U;jts{>&*cx{Abta)%)oc!Y%fxn+zV_Sxvb&9qYsY`dmj@bI9Z;GCE z7Ov5A=4$b$-W}`4?7PCq$yVcH8r)B%8}63789&$@lGSwzjHj-S&oNdh7xVj8^sad& z&&6(Jlc+bDFA;}BjMF3S?&uJNa{16 zb6T(y(Q@k@4}R|g7aSY84SLvNM55odCThBU zX*XQfOrMCx2@+;_VPeQ3=PhJpIGWa|qXCwuk6|>iDcG-I>KuQoiTiFiKQMpq#+d$l zaQWn6?LQ)G_2TJ(i!0aH7n2rSJ+83jOX+32K!7Z<9c!>(@u!8RUzv5N){4bOX`hSl zl=}tAKhf8lV)cgLy}AFM7kV5xiOi+wBL@$ioShF2>K5QSBM>)3Y9PE$BTTy>IA@o6z4;#9eQVY}|VW8EMT zd319YzXN|kaeOxYi}<&44$6SkCNYk)Zg=|;ehqu`6EW?Vp9+O(7SAN zZGq=*l0WrbV#V$7e`x^N4c@xQglrGb#!Q@s=;-2=T<-U%60#mGYEfDNa{R9|b|Mni z`l&`nMu&B!Ti5#8MYh1m#^Gih(^uja{AUwU9y!?(gL}Ua{3$?KU!jPsy+9++?6C7 z#=X-m)x>{z#MS!UebgU|ji!Cx0A{a7oH57?W8AETVtO>k^ND-;5o(2ff`7r=X643V z80QOS-XomsQXO2aR>Q|~cvZU_#sm?H#2r(rK7Q)Y1Ej%q;9B8 z95|99#MLS5<8HuT+O3JNZ&CisGmwu&py~IR@Naj|BKF&ls8-u?t1hYq5Gr=8$ajX0u#mg5D0hHBMy-!WsI8F&1Y^5pd3UQNmmv)anL;e( zWoC@Ho*gY0s$WLXoKWILg2Z@|&Y#4c`<>x9dM^BlOp=SsYL+~Ib-{_CuX@8%Q&ALe zC^G*?Sk({~^X!1?j0Zi|fB$D{=Tivq4sW(weRTulXryoVaQJs{Jnbq!|C`&nUwLHc z!rT3p-NPyV%Ks?BZ#n2vCT}xzmx|dS*<5bgkeM8N;gm?ub=sfs!(B^8Gfv?)v1ocu zE?v-t7?$a%S^PaIGTDZ*Ks*8#W8!K zbd>bN1t4&&#E37H+P2nP*K?Z+hwI<1`x?+?1sKIK9 zq>8w8b>&#>Yne3Wv50WiNMvLz*}4Mh+jV+1R451=Tnd4Qp_qeB&z62GcMwXj&KECp z+7rETJTrguG-7%m{nfkzeb(7|rQ{fntB$xwgXDOB|W>qhTo+jDB%kvi15{8(?VQpB8YDE z)A3(O)7Z%TstG)626C8;o^poFSIDF;2x4EXP81fv@1PAYl6v~7V|S%By-%V1vAk2xRon^n0gS1~#J=ErNPWWHKuL8UgKadS#FR`fY?HC$0gvu{%oZnh> zUpRO=vel^2)12PTUgE%?tlPOHgCY~~+DIbMC4z%l=+HMRDB9WL2)Fm;f~kIiq~8hk zKFy22kC7sXaa{`$avQNV>P^ztPsQz{!BJ5Dq?00q#u8A_`1HI`AoUrJiyCKDM}td5 zx45~X%h&F5L{oW^uuKX5I6Abo8f{0Q^E^c~o%)%AvR1*T!hr$3kKmUeLT2gF%CZ6d z=ugR}Z@NR-L!l8RPz78du1aZ}J`1@Sc*%^zLO}hUdHp{^;3o(Hy7BYOq}Zy=VMm#7 ztMIYPg;Fnc@kaFRU$9%jl{LzXmIRKFgdM!y?cbwd8x7B^op)PkNPfvQ4Z$EgeqFn#I&cOW*{ z2-L$J1Wd|Xm2v3Xt}bpWgHD?n+iyJU7ZMQ@X)KTPtZ>8!PwWtY@5`7M(PQ>S>?cQI zSJeyOC12UkxdDt}y@_ne$IbnD9H+(cy;Q~PI;6SiFs>ILw942xDWfqJAEZydMwizr zAA21ZIajh9cfI4CG-Oxp%&LVX!!>%lzEdr>Hj3y7ZW7(>>%3N8lWXz6T-&!mmXhqlz#H1GIQ#ee9s7q6P>FwfE4G66z@XzX$4t?s}1v?k>>o~vR#TF|8^HRJim zig(DiUjLJ+^JH=^*$2W)mvm-wy=+~l5L|1Qprt)DykX3DKg`n@d@r%d#l`ZLORs1*Zv4VV4vZ;0a#p-I; z1?$b_^^ktcQxox0FAB%@cQGG)g8V)rXi++SUu$W+pVRkE{P@@OD=Kfvtx!qMo<&fS zpP{dJ6(;OvYqIrNf>>#Qv+ZkaIK&PA?*C%yXav->_*>{>o=B^iHGe`W=;sf7e}J7rn(5W88J zXiT#DD)+#rp$Bh2f9kkUcdR$v2tV&V14{Eb79*oYz2*-KE-mvgVD#2L_@wwCC*O$E zsq^v>-6CYculqON-qDCn4ZX1$@bhbpA4;CWng_~qcB~_d-sAI7-ppsE9Ke>L%BDk} z#`dgQ%DY2k12YJ{Bc3~*&wuax+rL$W{RFfgcI|R9)lKiKES-f^zgM)xm@ud*ieT7% zf6fxoTuvJo7RWQ7$!;ntur#eAI))@i-ef-Os|%N>(hq3SzHI^In}CVFV~)0sH6XF2 zRuCY+-x>V3CE`A0VCyO*y_YOxX(2>AER53~Gv)YfVFq9Pt_7pc_eFID-K;e(=^>%! z4Gy?p|2#2J%TOdMrJpwbupcEQ1@(2}*Rk0>450rQX7D^we~kKL-l(2lW&-m&It`Jm zhH!a^{9>bSX4#9?w=tlao(aD!8`P5~#%AzB8wdaINy4`cI-h?IHk`mPdWyk8v?85f ztK8i)wd|_dc>}*-(uVfj+6A>exU>S&=Ip$>Ui;B-vuNmdi2Y#tW2{vsZat`=PM&V` zQup5E8QyMJDrCYP5v@Dx-k(~O2EYv*{r|eZFwXUFNi(W7WdvhSg0f!B46~(hbE}T# zBeUu5MB+l4%K5RKq zzA82Bs4d(sO~JK3h&2OR3^J}~M8*Gcxf`Cy${Jea~;g!4I zy@6<5l16P~nBNl~knUc2AlN1s?Uvts-8v)>LmO@hx=F(Qf(xK^Q(@Pe=Tn%mr}|e| z=(z>3 zbj2er?xO|2y3z)nACZFngv9c(G2-@<{izRJxwLLo?^Xi z%>QG&?`EEJeIyh%ry!T>W(;-8qU+FSy1NkgWj@;CZtFXj$*sztxf%O=U`QdPLr?df zUNX=}BvszMf0hd!Vzua+B9*`Ynm3T%o2p8D2=8@q*<2a}ex?n*DG|fI79xKt+CU?) zkvoTf^g^PyY?0~l3!f&W|~UWv##@;<)Rlp()Rw0ztg}mj`I&eIT)T(4&L<8Jt)S@K%Z5u? z5j31Ko3HfLXA{(Fo2Fu20*rD+`G3|O;<0G=uHbKt(ZzY!TTcgD29n1zdQly*n5LlU z$9s2EQ(8pd7nnl(J8i+fkrLD`-rk!jTJF`1G3QRO&8=xb8O^dEl z4470H$7|To$zp=--;?M;O2Q@H9SFQLaAvPLuB7?J=bfdScdpIw)lLV^(XH)~XFMo3 z@n4xsGK{;wx2M-#L16pwuajqL0?!;CBHWPtOUXh7igzQSJ}p`e=;u08T1+iqbkc#m zUcl6x{1~Y8iM^Xl;TWy6O-PGQBl7rSyMGwkvD5F+O?$H zUGk|0nnFmlz&3Y>flrv6uOws%hNw0g!j9OqEjZY2cPLcD9KRqEXJzambJ)o_ANKDq zEhX9+$8(~uk5|(U`%BW;PWHH4hS$Hu?;~^3&r?+zP0gVmGM3L!UW(?Dn5rJ!efl7X3}Uxr=37?y7PwMQ?qeSSK5yu#z61_WF2{O0+5H%sMh z3(AJ6bPaM`X@Hz-cnh8O%jXh3(H+$Qo;dsCE7VS|MGMNM=|PkCdlcF(eAZCAnpUok zUQ&Ktd(<&&V<{xK3AIi~*W23DHb%O&PT6uMl{;qxGv|)4vvA+50U}2I!u_} z5fE(>RB>XcCOka|8~OjsuR20=5LxN(ej{e^*du!o;45>1xxMxUZD1{)PIw~D3e&@g z>lFXbsQ=bUL`j~Ac*iC2mo&kDwKRD0*&lemJyrNfZz0od69KZv;Vwn@J6A|pglPCl0u*Zvx$|x+$v5u=qj2m4+w^et$sX12v z%)`$gGH|M&{`)we<>x^6MkQ2y4_GZU`3F z@aQ=k9wb3-_Y5>D{fJ{xX0>^KGpBg-&wn1Kvrps7+V}M)kYMLPtc{XI=Erte@%-i7 z{$!8E@s$6C#{*{Rx>0&-R@u$5Bpc>zgeFyk!p=VeDtc^SGUb)*U&CR&mRt5nukbo& z8@F3L`-OMc5CKVse&QCDB9kk|CG>~$+A%xhQA7`%HO|@2lag$2Y$j5r7rbT-kpKqz zI8M`tMV^QVX=`#IIAV!?Gy3tXBU!0&EH49xk3&@%(eXA!1UzF-_G5H>g-cq*h{pC| z{ySo80sEhm_eq&QFehnJ{Ny3n$!j97LkdlF`hJuAE&CvTp3#b{^dMwx6P{dVc>l*e zrR*jO0=O_$6o2Va!%Gq~4;4dDpvNt{==0X)f`M2yt_QmOiIC`M?F@>DcxmBAB!hL+ zhVKFGfb6RpoIbU6%%HUY=$5uj^_>)HREe;rgs~yUT9o6X+SNUq#wLPpdJQhuMBkTr zruK;v5oEDuQx65PYSIY>LdQyG5UgUUG3*tu^+` zn$#lfvVCG8t|>1ufuG{ztGv~nty#-f z6{5iZwdRQ|ot^2A1Vo_E)LKzpQ4;Z+On*avgI}`ohK@cXFl?_K%uU zfmb}Cc0vEEwuNw}U;@oNoHIn)D}RSVDtrqt4Au#JdQ)$xOiDh9sFO1g+0YIml`}gr zfh_j&W1kK9M;X{iM`f%H>cGB3^fEh*mGShLyvHreRU#A->}dwz5~#M;XfK-w(!`oH zf^3f}7wW@#RM22BSb5;DqfYtwwrU$zk6)^~u0RlO5GEmd0+}F>{ko-tt zA+m6cjuM&7P`78WN91q_#eaQLTt<%mS3}6l_4p?rfF|@Q?QRQV!u^UM`v-Y(6h)s} z#aV}DdES`mxp$$gGv-*GA*rI-^K6xgI@?>D*EyZ&wTdWvlVtN~4wuE#nZ|mcx!2u- zMDo>ER&GOH_sC!t=0oYN6y7sBJ9oCzk{H>RW>mUs3Rg}dNZHeokU?Y;|1a%a@R14V zuC(b>(k7%Pgc@KarrUxlv`y_}Q?#=x1@grp-)b5q2x1Dzt5i8C;?vO$>aa+bHA=BEgxVdbA{gQ1|b(jl+bvNH=q6($v#aaf%{3#m6fdwgT8Daq{Vf`8dAqN z3%y6(_V?@(?q(_5`k2^wa;@;>p~q&1Gen<}XiDvH%$)|0jAOvOYCMJ$SU+&$hFjX3 zjgC1hscb#!ADYLNe+y2SQ<{nZQjBX0a9%eBAx#eCmmdFNa893|f7fVR@y4Plcf_wH zpH7AdxpP`$aq|Q8DNpX@1Bz5Kc1C3%KXFAR#fR|s@WpD_cbeF-B$9HtAm`f%8L}r| zQoT2gP}kUwAxif}of%Z?R6Y5T{F3eT>Btcp`*ZRK^M!s4M2xp%wPq;=J@ zFeszc>jZz=;cnTrn4txx9XQPH-zRcY)ob6cl9XM<-2cGol_8d(tOe zxAvCU!F;oJZ>FRyEiKINSlMPwuEXq;Z$_4Gk9Hg7+$dE^_7{Kp<`w2K7Z#8!hT@3R zFVOC{CUX3(!XO|7z<%zyoUSm`6Sq}P*A);Z$^y~VTV>m>LIU9XFv?N+KpfW#$=b!v z3i2_rjz!1OUOT2OQJC!n>G$+&+)d6`e1CaizK_Q3AuG@-TM9pR^D=$e6ZKLuI;_ih z*T8Wh4F*sv6dn+cMd`my)Vl}Q=XZ$VnZ#3%JHvqA!{(0IJs>cWqu`1sl<_k z65E`U__jh`NK_~ZuD*IcF;(7mIgH>Q6OuyF!DN!bjuw8oBgd<&VNV7=UWTdK+GcL_ zrorl#;3LQ|?#_UluiiH&C;EMA?Pl2m$xLc}Z&Kx)U;NveGbvaLzr1`(*ht~`>K}1( zdwzmt7>jvcOz(}2tm#Nuv$iVxL=nlZjj%lS@N+120J7P6Ku4;8~dAjb^`4G(~Z4Ov2EYDlB&0e2-cui zrC%B=1&l^Nc8;azqZi1i2;Ay(KD<0ET4GIpX8$eSKA#glBHLN$GO1+V3Ac0=HNV@* zN)#tvZk{>r2SxuAcJpm^1T#QWksSbL;q~8nRf}h`!_z2#|9m^{BcA(fb8{vO4(f@^ z!vKM0ZRlWkWew=#pTOB1KI&6#zcH=8ie99%#Q$zRP`cf7#=e10Yc`{XMqIgF5FGPw zT8=x~yk%Wt2k10Lbbl_?0O1-L`=X!>#@|BWhg!2w`t9(z!f@&BhlOE>W+ktle_SmA zew$;jEXReA#YT$F?o$*fTs6)?z=?>%%~{S=!0eLa;NjVlJ;%Z87g+J8CggqdU-u>W zi{E)-?IFjPZlYTcFZJ10r3Lw~R?lh^Dj}R_(jpA`q+pK}n85`I^W zjM+Wk9DEQnVb^B1|3wEjM-?^clZDA{diNw_f+8XauUtC=HT3oNHU&NxLGM>3Jk@WR zISy4y0=AY3C*KeuO~3wOx~vZKFSZq&bOVVK9`ql-r8ms%H09_l(e?4%x9)*oQd%jc z^u6~|${z!8jV-4nq$Wl@=AJ!Qt2oP>k*s`OrjLpd4_BA>ZZb^9xU(R?|~=UExmsfo-iTdjYLu1btQ7z($&sG-#9eWdI5?3P~r zXyrP_^A2U9#{Z|Hudf5X{a_;z^nubjkwv9jRR99xo=IoV_6|VQ^1`#-IQ5Uc^|V&(${-c?RCON!9I5OCV#FE7_=hJ5~||f zJ~d`dJR69k>IOrbYG$qtK?<4@+ei3u`jSLsMom^d`o`feUuL1mv)le+h5X}}ihoUQ zA~%a}J+DI52t4v&m6Z!Oq|$2R>I`*JFja6S;f}Pb)n=ZAw%j-=$z-gw2%_{YLe}}N zeN$4g;tkk&^c5(B)y@o=fQ67P9p^XAGyVXglT;w&BBY!)Z?=kQeg7#cj7eK>r@gOQ zH`C^2il{UMWoYwrJTH9@k;CLkBIs4lQZoBz@9e8q&O|d88`BOB4k}C@HdMA(QHH4)#`%LF#JawlG)a8tZ{_lc*d+~?h)F(WuAjiacl z?r8vjX>f=7eg(rH#0iMUQ9dNY{dg8dREIQ~-`};sgShiU9V#yCwvcnySD6RhjiD(4 z=k^R$L^Yl-EyEP=%MjF&xJpAGPc19Yfzrs|bqs8;=~(-qA8ht)9rpxJr+@9m&nUY# zE#2TBQ~u591uGlwH^`j?d>jRVdKdy#LVo;BGx+-n4eTvb!#J<1P{zbtb}6VjUKQheo9|3fWf70goC{0eM}@;9`gFJ*0z zIIE`Uk+rXP8`q4lxtCm}>T!>WtzOodp6X5`-_BH-p+Yi~%ZJT$q*@hDnI#=eI=Tl+ zh$oLHp!8@!>CH!M;&=;u1Bw(H6=YwgK{g{S+M{VG=qJMred8{ClwdP2LY3a#*^RqZ z`j6EoX1)|RE|(WAD@jr1jdZZ5?un8F8-sXDDPQId3uu+F5j#7#*0ES8BJ)IuJ&=z$ ziEZM^8L;epug?p{e35O@xIfJI_|+Oo_L_C$p&Ekz9^aU2EF$U|In`YgC6V)RzLDdQ z=bBH=LC>c5-bMuR{21`lT{yN$eE*1(ix9&HVlX#>-sL8yyQdg6)h^KRodqv#U4V(K zpJyZ)P5Z^*+GLmK-PvM@Mbq8o|if`omvYQ|ry&OMNQ=$O;c+vZ@XdWMCI)RPmX<;VdgW_)|%W zMRnJsPHu&4`@mETayAHAb8O#)M1t9Em<9;GuFI_E1rrL;S1W8emK^^SM%;Nsw{RTF zUh119@~vqC;U)M5txI=zRyB`Hq^FcMhGN|Cv&fS#rXK3Xr^L4T>t>|944mcFVxx?l zv0R8xUx_sGx&d{^oq^bsU){1h5F-0e^=t=Z6;&d#!Krj_t3C#fh{WP| z&Y;ZFdW0-@3~BE;L-nZzvlFC7!;e51%uX#*lb%^1^c_P0k${ZTTjx`o30ol?j7icS zarTsAOgupPjLz}idiMcfq6pGqlwlU`nIfhPVPDPrBpau%txp5WDWfa^BhLRZiCR?| zfWGWD4`{H%6HZ%PQ-2p{)bhxz)$nTNt4go$jM%{8)LlvWPBYN-o)Tu{^ zkC*t*pCR5Y@9rs29Y3wLg!6)Eh%LI7G9ve1u2lqH;oLg3u1Y$I2Hr{M3mOlXa`V3S zk5(2t;H3)i5~s&?w4}{>wb`lIIMy$6B?VjjJz5nel~Ijtj#vF=nE4FFL(U-T?4W4k zN*7zfgLYZ!Y*)i1CC`_H&F;s|8-jOqp^h}bPC41AA{aA}gh+JLXja`IL*#=%O(>eP zv z$sLnjeXHFYOVi0U^kOok{sbSNdUiS8;ZhFmyEzzvN@e+r#^)$lW>;348Lfy%BW&nc^@D9dt&N@UYYTb(GHCMWMcwZWs5uFr9P@P#KGRSqq=okCo# z&$*4~ax%=(*YvS{NSN~CC5(OjORbg zR{PP9JB(jXW0G&Tg_LejU>a~Ej|I2z(-TjV&%nSN$I2Rd>2Q7$Q1->W*5X@{5TGaT z-xR-x!$Vu1QJ=v}xOMgt%+^s{)(a@xeyb+f$MHw+=sX#5#m6PM3oY1`gIcG*=w3m- zkBw%cTi^FttRKL!6Y{n^Qto&`OgQB^m0%TK|JB&B;(p>iNobpc=XWtrg0`HqRtAVEUSj}$ySH?`O;?y$V9sP(>b76gDvtl) z-=4Fe>lURhPJh-8FIsYKUg1HzO6|C2+ehw~h@>9m=*#i{r4*{^3imxmLwBV1_rB5{ zvhhJW3U@yf`geS$8tAp_*wQb38b%)!X;e177YJnPn3*qCrKOXM=#&*zj^5ob5#8FL z3%@ePZLWFMlM`JmU861KWgWk*&iKRJJ3~$A<29^lE}ap@x^=TO9oo!^aUniH!rWKI_#|Qb}C4A6`^fKD5B$Mt6v5P?q_S< z%c254{Am%gWQ@UiEQ9~;?=OZabOqk5V-kNYhMrkxl!xPoEg!<4KbLtDbhIJMA@pP- zIXuMkVwh|ZI10aRdKOFNuH zYJU;^iVLM&WV{nuB6jc@HEq}M_?MC*Yd%x5R9e4V$HUyn^r$CA-zJJ$Olk}Z&aUvQ zC8_&YD6HU|;ItdV{U?uP26P%+V{U%TaFw^`Q&7|9VtqUZz!Mj>iYT(5I!1@B`150K z4U7g{cL#S_Ig2eapu^aQ17K3803`okr1Pcy7;AsEhqMEwX=0sdzl-hU%G!xElm9Qf zRtv%AVcYVlKa=Lo3txOu=8OY}wPA;#mZ`R|(7+3v_Q#$yy+Sj2IcAFBM$Wm!ns38}xMc2ARQv;2pr@q2(M-(RVdul3@3zl)y9*AF%_%xY;V)XWuS-jKVv z1Rz1ugjn)nuO4|(lbe2gFHJwIV&2&*(2_ki_haIqYHo2sz!FYaU2uyx1|0P32MOF3 zEokTd=fg`k0r_vT_~yO{Qh`idzWx^ai1(vf3(Wrh>c7j#N|(0+=AXN1$@7ZzIiQq83n9aUylI-{l;!>mj}$RTX>CAHZu}}CRCS*%W&8N@W3Tk?Ww(IGh7_3RnS&|z zcL#I`jWvg{LUfau&Wt*IVb78V&|zXGsR5>iLQ9gx%U1JH)vmxw9?C0`bMh*boLY%c{;ET76Dy}<+EP41LL|cvk4Sh+ z_xn*JH3Hg*ub82mqQ@~_O$D3{!sPjPTpNXY1^A^Bux|M#w*DPl3+7(XlMNh%s4ONxJQ;r^^KnGwQJMvv1BVENK)z;LCO6_RV zW_(YwEvA)*rI4BZU&pXxdv$~8PICK)UCS=`sNZ^kJY&93=@Vpw3-q(N0*k*M3-beB z|J)U++w&`+r?S!hx0E%WEoH1wiL%$j3y=_n1pD~(so_6FwwTb(J0KVy+f;3E(N2xr zUMk_AquPC-K!7Xb{V;_NG9gHZI*{E8zfzftDLR{5SDv-mxB zwj8=0%|5TAm~d25m7@9-vkcJ>b;|RmWwOun-UBk?Oq_AWtST=b8E||PLGqOPn&e7B zBqK6$xpDCh&Zk*01lU>NF?k-!G@r?X!}ZNW!JqErqy)=X7VsQrh$lgxOqLmGMU(nU z)axA=K#Pt5+e7XIFH=$NDvBqXIFBeck4$fUg3K0(G>pDGE<#t%y>xc|#3;JbN5AVR zbG&@dd(_eSg)}?yqm0T)Z6&S&edfwO8EIj}uP}J_^g@AmnO%_6ll|_0)6Pe06qCu( z*g=z)@{@RdW_%n$6>e%dy5s@1zNTAsQ?uR2S=HmP_&ii$P|&i>F43ZXTqkugRdLu^ zkbWk0B+*Xy-c}Ocpp~llxi2oPwh(tn$%tKi`YPU+{6}cY(oYSkFdY9?IR5q0v>sV? zVU`>lnVNREsSv|qZOkk6Z&Pf}%FwxmoRAIq-8zif!B z#q}gmklqm}y6YpsvypeltNEi5)pnW%t7$18CXeb-WTm!@z2f&;md*Ci^JNyf=(Dz1 zl4>drk5Og4yLuJk1$n{-AUh=4S<(KhdwQDO)tc0#`D?^IF2eF3TVnz~+F zRsVrvDIiVvTol|Kgpuz&T1hxR#cMuYZB*x4I&P(Eq8=~)PyH$8>-#>L$4vAxBogs4 zqcr`G+#2)cwc=0mPmLhE zLi3gx60q}jDiyV}MwUX6Kr?btez~1gGiERX_acTqj${%?z%`vneuut6b><#P8KQxJ zD$*(FH`uth45F{IrQoxuN_X>q1Hbism!(06VOs6zN@h=We4Cp&TfcHfckxOv z`?FLcABXBGl8nr0q$ms3<0zmba~BgpP&Xbq!ARM=%g#%2=5R!k#c@@m&pH|Evl8rp zz9YM{ts6xWXQ{v#BFrO)m?goCb{8mGt9W7ZCVzuFvhuL@wsA3PYh=ms({F{cemP*f zwb*-wMSVZ>d;l?6`(TYLF=nG@kzJJrgTg07<{))`t3G;YX`w{KGx^Au^FOpR%s%^d zI5ru*5{#cV^8ySK^Th7~jCpE2le9I?ComC*3>atG^Lg@71Y@{%mr8W4fR4>7+xXWp zeTl$uw+Z_z=7A8>;8%o=qwJhY2ffmh^G{5SGH9f!RQ}E+Yx8@If{kmRv03S7AZ1p} zyuM|4A+cY$guD<8S-%LyS81)kH`ZXnd7rVBb)2L$CIZiP(N#Po?LkjTK=7RaVBm!{i|m?^M-B zW%}TLU&LxM1fdOXk$K*{YEM3bKu*=$Bb*##$HhF8NGI3r2QtrX>0=|_RorLbBtU%f zydO=)6xk$k+ZW6B9Wc8ZAZ4uHXbT;1S|`>U8QW3rJ?36{qltKi$rGc{1VbBmwufgJ z53Awd`xw~0M?HCWCK&Sd1C`%erkfz7SNlreGckV+LP8y1nFERjeXw?0o)GQX;}UYZ z;^}QQWnwjT7x|VRbi`v7n$FzAyuQ-pMrwvgmb(&Qp3l5BO(JpDe zB&(BPJ};dF(MJd5l#_CPS3)wb2ybXWl`*95YZUx?l5rPSF03$i3w^ zP=@?`CW)sLe(=l>Y_N_cN;!$5QoB6gXckCF+w=$PKu5gl3v_6qwhcMu z5YHX~>*g6p3p0qGZu^KGQ_P2)@4ht-7T+l#$mZ$KdZR(nVN;K*2E7okpcB7gD>%0m z0RRLqSGO~g>CHfTaejTWwF-j`l;f4lmA1uA6NNv=vi`{&3W85*KO7jq8gb9rp0%9W z>KDiIe7@5yZR%(anhp?WN>tY@sx-UrB=L0lrQ=iLdQ4o0Yo@Ee;(+?De@E(*DxQSZ zk_r3dF^%32{=%ds2sB;*Ri@o5IhO%)q-yeYG~t65^K42y#aft3;%(a(OHEp46lEBx z>kZl#->*p&PaUVVGBnF#d7Lg6^k&FNNPD{e&$?qTKAcY&mH|F%KQ6Ojg)N@ z`cB=|5L5SwRW0*5;nw!iBgj?UEpACM*blNmZ68+Nan}$2RU&9auj?9ek#6jmL$iZ* zs~>qCjkOTcX@IuOVAWqAyl*nAFu1egAub#2g;dz{C4m=BEPkH`O17*Woxh*+trKj& z*kzDgffyP+LS)@=Do=_VIfh-cb6=`Qo;3K%!rNu`a8U8r$XwBpd-)r+VfeWVZaR62 z7k7>WKs4A{clA3&4t-xlBsvPOSHmxL^f&eWrFYM`h;$JfsQ4*QDC>pD1ICuKUc>d!#y_h3TON9JP=)<=Pbe%jOxzHqBbz_Agnq%D z&`R@=C2>?pT`vi2(0hAydmTQqXpWz@yeXb>>AJ*C53`1cgnF<0_p*@_z8AXL%3WW_ zZo4&P3l^(;m;BBe2JFY3(hMb2r6Y3qOsbo8C~66R++qus==E6Gzxv`?-u~fl!m1~f zAug5uU&J>W^41D%t5#4y(3RNl3=O^5zzq!Z*A<)Xy9ru`;x5u|H@fgrh2g$Ieqky+ zfcT{}M~soxS0fttV}?gNF)C?bl{9(|y?3^Rmk#s7wcO&n+Rj&gddsgxzL6r!FmkE< zI1{9hZLVW42l`{w@m-UtygPaI2XAO$N}Aoy)+140(Osp$zh@zn2*M9cKy31T^8nA; zJwN8<~E({OosBLo3RfvB*hA7@&j;#Zud6)7Pi8I#GSN0%ZBmJ znd=wGhvH5S>BR+Rv`Sr}(^IsVT$;O!Wq+5t!ZK)RtZB#Z0$n7m|I?n`ZOJZ6{DGdO zI|lmKkm0LRXW07PMIh!Q{2aZ%Cy5Fxr!%a~d$B91giQ{rPU3@3DuY1_$J(}y-dY8E zMz1l4$3g|Sr?*>OGb0CuH|Hd(9!Li9=2!s`bc*3rqo95+r0uIt3k=jXF)x_e;=ZJ{ zmB1Dt1&7b+wxjn}7tbfo17LYt1Q~0&SjnM=H_o**cfS>Kn|y1em1pvWmMug~QVh%U zOQL|b>eYw;&cD;pqqqEec|>1&mb8K0B@;khK=nJHxog+rd@9GyT|UrTFJ?qj%5}Mt z#$E57wr@#`lAl2CH`@)Z0HSqe``JC*if*fx6hehQ_H3%7-|IuW zxqy%<mr-4 zX7OD@pyktgRrmsix|wle!%ZYt0IbjC5f&b5yfNo6F3o&uVj-B7fS4F`M|?RR0rW@H zJ9BHD?02Dj+TO6aZ1YJ5-{dg-R_33|KVPXX?5;NYbGe3mKzD5l6cm#gl{=;aE>9*r zgyVl{23dTlTn|!)fHiuNTOw*v@{%TkHTGw}D65V3Yuq-DeRB*SDzRD3w@SNJsx18s zrAv`=@kOBBS|+L|8yH?y8>y~WV2Wn8UXA$e{7?$=TWJC3y84F8oibGFl(lSObAev( z3&x(!iHUQcCwB|}oBpxHf&;IH!KR(}4JYW6)e9Bkj2ekD$~($6R+XXV>z7BDA7iU~ zwzSALMo`04ccCX6b`=j=YEEk24o}MtH~2A$b0|Tsb<6+T75&5S=+bOa3M!c6+ii}s zA4t^wODeB@OnbPF7AIfh?z;Bz347#^YG7Ee{EA+z7{SeSoo{bt6}ER@Z5)kYu{vU; zp9LPMgolK1h42zG^oiVeH*FQDCO!`$9p6G?u#|Yh94xd(RU4GiRO>YzmyI6&9ded%6rAA=Uk0k4;UN& z&Pm`d2ULOCO@g&ZskHs@E0T=$!Vuih1h>5fcY0z3*-^;8gS4WO>_d*);K>ZdsnX7n zLpu=^+o%4JY~c3gK2=IuH6o%i-ibx>ofJzuRb@Uc_3c2V6`bKlrdMwETBkyAYrpm- z@NR!u&Q|^6y!Ce**0JU}T!r{c=;1}Z^;)d*`2A3!uV^8dx$VQs$v5T0S65f-IEw)B zP5+P4k=y{jx*h@MR3Iz@_Ja&e+wvkBy@tlZku^&@(LS0E?+Ew>QQt=b75L%PUCzoXe-d=Rog8cJNAjztjOG^r+^G(~e zQh>k8PTN>MhI>pfDJckTH0CHRD|>(C$KdJu@D&PrWk;_ReAze=pC=ZXzSA#D`pb@= zF|ngC6c7Nx60m|-z5C&It32<(Q{2rGzT=ix2nL(tRMXJhd=HxsJC1W# z00wbOl!3QDBoy~vJse{s8f7S1mQ68$j9O)j>D-}Zdtd%ip1;YNVX>_g-!xzRg!Dfa0O4R>~Rk8fut18$& z(Zg_UOOxyFD57`6-t_jr(#+z6c-zBtO8>IhC|?mcEcaO5^(`XT&o^16a2Ouzeo{wq zXZxTv2+u+md1K3D75b9pT~^`Wu{#2dSB0M_B6LSM+1Wi;NPjf>&KLK}vOY*5O=0@> z3Yr1>?Etsr_l@v{dNe8pzu)=#n%F*{o$EhLnF2AlY}_7IcZ9+5rY-ffF6snP8erTphZ zInvIJvAB=bvI^wXJ20}V=%~76zPm5u)O<^ntAf9HZ>Cf|!_=h^p4$jn23v7XaLglb|)IxL`rOa#Jg9F2&39|q}%hoi&< zxmv)y)rk^-E#oAQs04(ysjYYu*WLQwEaJ&pU;!PepiikQu;ojF_eHkN_b-?M^L6!8Pm!>HQi$}(q`vgj!~naCZ%76 zkX8f1cl5d{90uCcFJh^^3Dg}EUVfQbQQTo7jr{W1nj%l6eS=~`77Edy=P{qky!x=z zmQz#tS=$)&LP4b`@*C0n(Nte@Ezob1)vD5Vpq5>G^vJ$%(BV{h>;p-A`8{z4!k*w? zvyn~2?|Yi~xIh2ZVBB({az2Brw8dGzV662UvlH0wmU83K?F z>B=JM-3U@rBv_jMJ4*nU*GrNUjIej;`wFgw;Em;fR|TmRT}+A)seM*|f_pt2GKBA! zo%Go6urWLseM>LiXwa(kq>q5iiBNs!#PwnN-|H!hUH{f6f%FE7KL_X1N@Di${_(ph z6z>X8Ro|`Mq>CW79}sD5cALChiHCfBPwS&k1Bvi7!bo&mB=-Y;t5$Da=T|YBHjT|M z!>GL2n?w){#AS_l)Y!SQ%$_E^jIUv7tZst54Ke`P;yF%TG&I$CNHZpkoJ)WLIOxxr zjEQL(8HSvJan%X^gc|6WEWt)i?5n1mq^X&Uq2)32&$bBOp0mhSRbG0LGSGoQye0JC zj4B7cN8c?6zd69$CWboP>x%)X^6`K=zrjG)bX1d6ml!cySw)W-m9++XRMeG~9Eg~7 z@(B}-7{@R4Boby$69Z2)NZn9Cp=(17+{PDckj`<+lyUXKIVzfP?zl1;E zA&87gmnhyJH?mb$i_s04m6~FvR|20rfxPWM@wq`%gmH~Cww{7J`Z@8=C7(H92r6Z` zKu`R1jQ}qfwPSVaHy9F}h^*ka<9wFoN~#H==lC`mD}tc5E}&DdCyEdyf2tu$-wzD*mU!xsJ}4R+OWxnx%R(_*%bU2{Pnned@en>)4anN+ z=+C^Guxj&L&Z%yla}qXnlSv{Dh073NIHXkqwy<>hF7d zG%%y`do^w1fM*XEeRxbm@qWs~ zIJCId^OgrCyd%Fayi7AQxG##(q&blfr6r;o-})be^d0|^B=|PW*=16F5+f|E2MBgc zLeGzX@-)^vrV1d3iw7B0myTnL8vY=6KqlL+28$zp!>$zqLci}GTg!(- z5s{yY)n^^hLYemmsdepOBl2ihZS$`U!U$y}C;K+l-@_+E{fCDhRF@nF^{B+0>Y{1V zcKD)$w81=s^Mkb4mgnE%i|ZKrS1sh8&%SYojU+wx+LFav6wI+&n2lsTeID{x-F?a! z==5K)E@`gm?yTysCTNuCCASY$FJJ$dag5bi{dbWzAXjavgPB1Iuos94M-^LGswYmn znHox)7>8f~yF{@rVntt+F1R)W>S{_%`9QR?eOA?-k;9Ag3n3PXBCEAmYwbGe4uF;wW8Nc|HIaKM#I^L-+r{n1H^xk{tJpXmhm$T0K_p8 z44M2W^CWG4bDaO-A*(Rt*kRfkr}%dP5#)nhV@`QCe!s;ZM%U);d%Lb?Bd61g3f|Y_ z;%K@ie!kdM%kmkAFRW3@ed#*}g|gQ>+kuNzZY^DR8@HoW{7tHx=CVO|+u16a8C>x{ zRxJdBXK~A!(O$t#;w*3KnL#Yvgzn9jg|lu`x5Qg$0Opf)3EE7 z!n{P>wqc6?^_jJOblVUem(VOfyG7lsqmrTuGENWIf-Z66-b>2del41dn>BqGAT^i{ zyKEw1#T5Q=`3H7Ert7(ntB+TUiQ~oB?Ov2J_=8_s+})r}?3=22qb=@$j0o@n`7+CqpeQwYBW~p*vJVufSC=N=eVR*iW)V-+F@Fb-t*~@7tbDB?Cucj zjf(9-G{g6aWGZX8GIS~JbN94sYx!#rg75!12xIa=x#Ys6A9k)Mj_YUwo1fnf+vU6K zzG^kAhO_#QsJ%?F5G<^nZlI5-^u4PE#H>=ASfxfJ6;CwKo6|X z>@6%P(%}B`Z_`1zAx9VN*lE&#${=v_?UsUb+8ze}ILE2$MC%AIt^p*ln`Ai?H+V5k zOhMef7B$Yv!$C6zE&!EuyuJ4$$Bh(f$^HJ>{ZQF%q$86r<6^CyCpOBm4K0%WHVamA zJh5|<-9Cd z%%8rtuqSGeN%H&DhFWQ)&E0Kr13^^0q4W33C1euR-qViyt?$co%%%Rru0@O>&YuE{xmZ^3lGZev+} zjyZm*ymZ{3DP`ZRth1)>|JPTR*FcE4_x)fkp+U|Ye%YO@uhV%Uw25qQr&}YFs|*_~57$QR_u&-y8*=Jgjk=bRKkdL8x0Ep2r`$!4sTiT1qCGj(w}r>wUF2`fzE2lBn5=`{X-7@vzI zsVoQftm#o|7z7C)TqNC?EtzT`m~{rexECjxSPShkbS*uS!5w3QMl!vDqijU758UkW zC6NU8PH^M5_MYU;gMeD=o;7OI;pkT~p}uI;HFw~Z?jP4x%%gt_<|z>rN!X6{ln4?e z%+X!9B~k5DXRqf&Wfm~TdPb#lO#QZ>c8-Cq|NOdN$VkOZS+wd0+;hrsHY4BY>}Uk^ z>j}51bMrDjuAHW`Z{CNx`-K^-U8g6gj_AS9_lC=pV^=*Jc=clXvpiuaw}bF@(i12F4k~ft($OQexXP?&==DFWqv##N9Enx_1M_CQ`4tn zz(lzYZZqUf6pbg3S)Mq4r$LG>OZp%4JrhZuW6g=QHI(?~bwZB&z?gZMzjv6(r7|HAo+~vT%howvazR0!8B}Fx z|5R1gq)r#Lcvmi`&VRQvJN_eFJ;jeBJ0hGt&zd`FQ<+JaKQz_!-8;x!2?hH75_-LplGi1dxma0#z^E+PKe2{0d$I z(ccpqRAI$AQQ(Ecj95Tdwb*q#zD5WfDne3cHVXN~tD~UOi@rRJD_KU89cghUk6T|) zaVGsk^J|R6DpX~ZR8>;w>z|O`BYuqPxWbPD&QR|p&x>@!-maWcnabX$@Ljm8|4}bar3BSc!Z-+;0Eh zY7A5y_F~XUw9m;Is?fZN_o)k*55dz{Bu{&FQN-Q=|;Ie-hXlUR6 zyrPmg=cn0cySMwDo_VPxk<74s31Z=82BxSe4~NAsyPbmbg=_}p%GqSCFcj5guj zYWV#AfII@j!8v=$;kl$m-Yk1IM*HQp+fv>$la#fjKM-e9C>9fo7LwX3!(M_tl`2M; zLbYL#q(}ski4*RL09k$Bu;5+gfnt_Y%%I=kZS9nP*yRyu5P4ZF61fT`wbIELq-Jgv zt#ZS%r1s)e!?XEqv>I4&CZio+rH7cYV{1fk*3ghjR#Y|cXsG;-%v4xX->$By8j)l| z0MxZ!>Vec58y-}b4heDRWWl_^AZ-)~>ODwJLiWN23d$E@awd?~BP~Sl-ke@WmF7=4%Z&z?Z(<7qN36 zt>>+U!03N{x+=npjWk>(B76p#4yXji-O-(Tl3v4LJmcyKMPU6Ntd?dAo$vXQ5hgkQ zyo|Prz2!2sD2~s}JDZ3kQD|>zfR$W@lerbkf-v*C~Ea-uUoQY*w?Uk^> zj*Q2sVu5{X=pGatl-z_0L{~Je=P`eUe@Ez4+o!f00pWbp&p2;>K}A&PcJt~7CH|;@ zZP$ApT}K)`EF@MV4u$$^M8iQzPW#lCtW=6>oYIcfLc#Tv?4Us!<{58(mYGEim(mPI zY|ABQSNd?0;(r3#L7_`=mJU!aWM#4N;IvMz%5L#5i3u!iZt2=V6|j+nYvKZn7bfT95A=Cp&1$ozDut+Li#0VvR0EudEIU2EGw&s{TpJ zuTyClmo;GoY~+&=2sB(ut_U9Cc#05rmf1F1O=%@5IJ{NXf$T=7OrGXPHR$5TlaZJt zs^jyGR$+peaai^F{UjZ>Z~mp1X2lIO)2+j$2FGbF|u z>2!9t>w^bKeZT`_gU81c6BUd5KGi~pZr{anpL-?|ok|;&Ir-1Ezk_c}FHi=4J`38n z>kyzllgdYQ`1`ArFyeL}3gM#n%Vf4y27Uw(>AFDXI!0Hp#6y1Tl(RNQiB#qx$5WUzxx7~oQ#`u6sOCyBP;?3C3YQzVlw zp^*!2z;C9fJmD&Kd!Kap@!YAPT#7lSNkuKxOOhc`6>J3Lhq(r#<7MO^e6wAlmvC*y zTUkfbttw&42xR~c=zg%NY?}y2YYKLm6-983v8u{hfHS$ROD$A~un>+-kagQ-`IrcL zqMPWXMht>Lv+jUqKV!5=vTY1JmJs(oo~@( zalX?zcH(+i{RJUhG>DEPVduUAlpLQ`mam;M$I;981% ztMvB!=CIuT#;to;h*W-UB-7{6Rz%C{P>HIxR)=MjsnpMtaESw<1NB8l!Y7v05oe+u3w$WD;~B5nc)Csda@$M+&L^uAyD)!#v+lNBUb}>I z(Qz*Oh^4EutFwuZgfgVq7M@LpH+{RO8ctKkpB5k4g-y#5Lr|I}lYO%5B4>I#xJGnqfh`2K*8yIS7q z1a@0mFSs=ZOr{ToZ!k)hW_JC7#l$ZkHG>OR_O92HG_U!DTd)zfDU0S~e zPC}bIb49=GDU*`V+}}SZ^QAkkKsgY&dwSo_81&G~1bu5dsadF@935k+9ck3fsX*;M z3@qN8mY@s1Z&(UFoF$AG%6_o=a9C&-;@^^2T>qNp*!Q?X$U)31@ytqa`K#PsOBK&p zdMDbUl84|!?TpK}K!%&XiQ{_4LG(ZaWFNEl%M^Pu-`tpf&VkKRp;_KXH7`Cu3rsD0 zr@uR+fxWzKG2O_~Btet>VLa^gV&~*U@Zw&p1-*S4ec02{X3ffCZnLZTQ+n~#Mu?gr zabo4ZW7nt6h|fUqzc^LZ(*c)`g}lP&Em}!PXiv^~(9nGm&G!~qZin;Y<%(M{&d4Ev zE|@!L&K+~}2@(x`_~tF@mKbM7{(IB8v{9&vqe?M1H`lS7(;xjaCB2{}n}2daG>Hxd z)Q@Nk5g9!ao zM6x#36w0qdBG~6)y*5muT^yWNc5PRa){2gYESIQm=A|B9KV@E#{vrId|5w((x>-8k zU~PtcmHiEuE}5RzfQPl=0O^A~D1uQ=QbLB|LMpMBDw5w1?Q0~W3IIukFut%EWg7fg zE&1me_Sd~7%0VK3acl!!Z1R~c){;C9ZIw=GymaQ)4zUfieVSz@VN5vJWjW0tCOHXd z;QO?4Zq;R4Lzi#&$MvUYg~3N2*psgse(q+Sx?s|#5O(@Nmk!|2$<{igEZC$_zFwI@ zkBK@qLu~cGoh}rij$;hn#ge;&9?oFn@9M_v@?Yi(zR@&NN{l_R!K{dB;jX&9mdQ%{ z$h7p3TieqSbWV$5Lti~&)qtAk6@7c8(}E`M@8*AD{$!sL-|3RJP&QbPE%)52AhYzn zpSO%HWr7IYxBP_;>zWSo%c9N5DL$^NudZzQ&$-g5X!-2a|l9(8HTi*}G(hiUFeB)s3cVCeS# z-|=zl>@KCPTRtt}ZCB_J?dr8I1zT}?0l6-46YIkfaDAI<0HIrc!?_;R#0Ap;gXsrM z;$MBr$uCo0*cs~bOc3ChJQ*O)dh!?Da(U_h##kX03`)X>xEti2^Ndf~vAg-x&1C}( zMt$*Lz^w)4^)52);+q9i%~f)On}oqpTCfF7+-j}$I+g7PbYe*?KNere+3N_xMqP$e zcq2%Wyh!ikTUxAkuNJX%h~qfU?b6i1|JUWeIna6ZYkx+3>6T%Sl-~Q-kr%EE^fk7# z$@3sPU>s(&Dmk(rO<|;*j4H&;!|9X2lrU!R>U&L|x`6%wa%2oz-vP0*fEw+zWoP6w z@58++sO~@@Vmm5rjhZpDyzqFCMkVn&SnfwT1A{+M>LtGFHtydh2mf>1x5F<`l_h-~ zb#C7KVJl6b`8R=cqQIa-O~#Y?j%bHM(u<-vPY(3S~Ijef9awcA2ZS# zy9vE*i5nJlL`pC7Q%nLEitqfK1%ic?jegaA8CWkPAHy1O{}N%;_&*u#?Y@g}Jdg@! z3%f5pQtQd4xaX!zS5&i>B8;XEtI*TXfn9Mf&T{#-DXdBpFBtx8nkA;IAo0(sH10b} zip|LQUP)L}lT$5yP<&B8K(m4h;9d2WF_T~j4nil9TUeOq?_Ea<-ZCjwYl@sFWar4O zLa8xcIg79$wKyx_q!O<&FjCNCKeVO%#t+rVywwz={hg6nR4Qi*z+_h7cp|g~y-+Y(FXlzZys}Q=><-zr3zP z))Uj#Ekp$-5%uX3ZFkjf+>h58=*ZM*oQKg*KfSh3yqD2d@d>Z6V5EzSRzu2E1YNY{ zHzg5(cKUuwZqg%-w0-^3q{Iz&?2Hp;LD@~gtfgfVPHG9HwGk4|`TDfWQHK4H=Z%b9 zVOEvatv#k%&g(?1c>-k*M1UEe<)Bx9EKZ@-P8Jm28-WVm`OEB?_AhMW^}m%{&)>*z z1mQIucrP|xj50-r-WM)6aAZ^&^5&rJ1z9j4u*NEqKThx0WB6bn!nv5k;RwT5z?2Ea zDbK8u;UvmyN|L~pC!!$%Vrhc7k-%QB|CKyzO%v9r`YW<{JW6p-`^(`{5q!I9&m{om zU|$17!&RaQX)x>+=p{TfoS9qCq)QXwlpjg!X@ieruuCKaoLx(WH}eP(@iW5Iq|8Ou zYI$FMAx`{BJ{*}iP)WYPyCrG1BqHxc| zg_+eRnEFCg6BMMwZ3|8H#VitVFwyk&8156_r1xCL#jsa&?8;g!!LldDFKe~m+i_cV zvMgSWWX!qmK5u;;&bbsy=7m5?MCF}IGJYoYUJ8#FVp&0od-yRb#51wB+qjEP~@Dr7(kDA2=ONvKXrV5?=*5@PaUy$=Gq_qeZkJ@Bt;cueD29cXJGD z-c20Dq%lLwSb}sHl7k;e>}0qFR7(U1)vKUw1P;G4W`m zgsOPx8;gh6L!9ju{^N&Y!ZdX<^G;vkK?Q7$1UVnV_U>oXS=F1%KjxQAw|ZY5Sq#I~ z3=9m+CBM)RQhv!cjQ}P0KK>W6M}*3j%JRG1-`N=%(I89h%YR=oa%6Fknmw~1)iM6- z1sj{XbYewiC8Ra<;(mprin-|A3v6R_|H=FQ+ZuE^?G1CjNchql{3Rg2J4y)T-D9Fj zY%<;jgYXk!ezKUej-IzSb zv{m#N2T_|UcPArUXX(Hh*mbf0@N_{wNCzoGlboJo8gSHiJRy9vdT;bUES zMvf*`d)1SugK^nM9=DeTo7x)$az|2Kh>1G>Y&mnDtWm2rt(H>#C)Fb4`#+Y8=3SyH zNR{&^TmoevZ|!rd-+7W5M^e1nH*BAoZ5i#Du#!fTf5u2RQNt}G#U@ElMC=#iwUjV9~<-Os{S-0(vMe- z&+7gpw0q2MN@AS@E0xvk#RbE2-vViANm`<`SBAVBuz}x_Z;LBXTCqRO(uAjkxm&{j`POd(j&tGLV`G>)ueJ#|RsC0Y#b%YV%Zb|y<>;hk_l2z@ z5V9cwa|exP-9V044@-eEUB(RYSSIP|*E|U$ts99G|SA=!2b3GqRCc zHc;ZD_;l4-%ULykE<2ViIP20Bm?te3@Y0UG7#Ut)hpnz&JYGMZj27PSEqnZx+!8LQ zGH}Xc<8Vie6XVu|9rJ6qt9EHZ3QUs`d1NXje}VUKBhiW zG8;<+?%kSH#@ehDOezmYS4USB=)>lQVjdrgn9ha&s4+^p`;>cTU79*uN$dV}bU!aF zG1$T)?7xQ!K_$rG3b-BPNSr$*1Ah4$huG_ zAmER46KyJ&CO8AHd3IN+3jwUu?9z#D;s!?!%{to(v~4rKWt)~O!=^N*s(+u<$_Cp_ zN-)n*gc@6s63M&AQhfh;qK;184%PIva7k zav6zs{o;V^AJN%PyY2|qcM~2T|F=Nlh$Nz0cOYc}*2^Wh$wb7&!SvG?H?cg(nvoQq z+KiK%dv{ea1N8dQ@Uq;)QEnazaH&uwhhFTth2Umh10q&B>oJ3)G z$MRn>Vuo$hOY>^VQ5<}%DZHFQxury=!rIVV;vT++>IF4C4uN!;X6EDeQ%_qr zh9{P;EF|;8Bm6pKqz{<;7<??xJ&m$`_18+X$D1F| zhVk}{b>I!*$YkJqj4H-@sheo5^K-$cbWRgF+6D2kVDb3rl5 zd6L5mh1L1fy0F;-k5H@W1wvMXnP`e z)smV?za6Qyf;Ui=Gco~&|d%F)y9ubW$IeurrD>w$6I{umX5cM_s` zKdbSR!FTE4e3gnE)qL|;eokECPM2E!;-VBbxpw5NmRGrlp^rh*v34Z_djWYFCD#{j zN_vispKcZ+du=34vy@|FgDsl{c9k`FX-pG0Vf#l%t+O(%q5d*$x#6PQE?=u%8J>4{ zb?0ksMi9ELn^?w>q6VStxjg>q+c$>~%d?}`Cr3whLVF^La-xlf?&u$WhkZK2Tl(Y? z2|xOZ=rnTqtUunHy$|@ig}rad(i-^3O*o{GWddz=w=_(o-vX*0qsx>e?@RL%%bx-2Ffwxf0Uh%b=jn$xb*BqytbKR8})#JT|3&b~d#O zE`Q)r!qT;FQRy$#r|rD5ltMR)@*7uvL}``hHn!KNWCZ5nGH4i)UaXwx({V|Bq*KWF zIigRYuijxQk!CmJ)lRC!H|VdAR%tO1$kV4wta$J1FBNuv5tPfd%mxAII^Q>U=Q(zQ z(KSxZ#HEDnQ)3}tH>d8#b`#F6=u|axjo^G(MWR3oX!r;25X;goi@6=A*9Kea>lKnO zM>2zCoXFYJ-NRa(fWh`*7lF2XV`r(TR+PI)9PaRhM=Gr6`qsVHjWV(I`Ovag+dBx% zWU(vvts50k9GLSl<-spo+l@+DUq|s1m#grdom5^erL9qO&KT2wSaL2+v~jo}JlcPW z-9IpC-^PXq4znA}$m0&hu+-t&do?eGsgN=1tJFOr zNyR!KDq?DG=Ba|-CtCmKlxdesNXVLKN3Bw$_2ZOn*}(+0FV-)v2DcJ4zUm$l=hmZS zkHEnpO1W9x4(i~Xsuq`&c4;IVkF(<^qGfUU#YEJitV8=u<)b%(mQ_tNsplF^mBsIl zsez?keR{ItHtoa?5Uw%=8*Xo&``4Q3YD`QNS7bCm@tA%}s8+UicT36j5Uu_^jTWE{ z*JR&y4?F*)TRWxxP1Ud2y*2s6m0sb_`wvyx=asTE79n|plFuGzEo`45VTl_CbgkwC0^h?Xp}HGPc4nODB+TioHy`)_vS zjZ1j~c2H82`8cegf+2|(1YkcXpm27r3BCTYdcDPjkHmFS-GAcqCKZQ`Q z=GD)M)?dbvYFyvnIPB|IO;FFr0CnT+hu5_W$bX0Z60ZjDhA-}@S9(o5QH(w9jN;$@ z1|(oH_VGVYr4e5QHXc6B9aczZC7Jhp&uFrHDd0y*O0%ixF+xM4#0nMKEkdAf zqRjMQN*sZ;6LZ0BB+fl}Kzvz)bAhhU?}TTQ9?0IW_%TJ{Fd+m_BRWF74mW@2c0rOU+Jh6DYET09)bI^S3^@YgTrFZpb&j(|@{K&2 z!~=<%OIbg_(D>`SLR;8-qhGt6ar5u*K+1kUxqsM`;NH{Zh1|n@FykLjkpbKz)qk&m zIL99r1w|50WM7^L#g@~%;ZTo~R2l#CZY&a|5sp&mlI+Wwh2*4Yvi}apEDwjeAQo7M zZ6wv!EW5w!=YSH_sjAmMe}$_3O?HvPcb7*oh=fPzvjI8s66=zX0l*at0 z&zPnA+q@A3Ar{{RbDlY6)FZ)FicD&FFYweFC$V`-qA?9U=BTY}yq5wQFzS$!*79hG zk3(YR$Rq>?)z=`!on}_nH7EQOy=QZJuD0i-Kko4K{8wF8>L zq#A7&bweD^Z;ZzHsGV_E_37SkcBpG{!ZqleX{^KXf{)D>@}0=b9u|VxWaqj6`fd9n zX*JXm8)l-2$X2ScR;vYoe#>g#&z?y@lOXfYPzx0IfBCl2(@KyJ)-xHx2gfL4R{d|t z7hPfPpp^>%x!Ixfp?t4O3aQnHQ|88n3w<}=(ecliT&|)kz4l)?-~(zsUk*6=%2ij8 z#=#`cgpJ2UZ4DJ1)CaGte~c#8NZkwMb;bzS_3P=#_egn%n?#~NWngQBiOH6s8;jSW z(7h4s+`@X0ZglD2wt(K-S*@PJPOL|6-3qLQ&ebRgD-~r3jNmZ?Ee57WpMwKgFhI_E z_00u>iN13VyH3_DCDDQ!7*KAF!k0idQMb-rOcI}y}#Ws>V^IMzhu<5Y_l3;cENiax4tLd;aLlIIEaVJyl1 zA_aZh#OLgl(5N`Xu>}B)9Hol?^>ch}HG*po@MgYRSpC>fOQIZFjLetxVfL{dj zw1ew}fCdI<>9oUpF!(ts{*sH#?2FX5)VK(YauW@0B>{jmKwj_>Ni!mR-y}vC9KE2ovssAss*YFpd=gn-se#ps^ z;gf$a-<(R<>d}fQstgCo9*UqNgQo_#_^Xa>^!3=tY-?&gZV6aTs17Jg1_iCGW`Lgs2@0l4G!nY>Ms|s&ZP|RjkLyoq=PSi;1AOT-r2Zc&N z+}}LK#y^%e%9yd~HmZT|2X!p08GX(0{3Sh-z0`ks->1Nz^m;R#368YM-B}o59c@er z)v4qG(1-`wd9r~b>!7;mu~A1pBb<3#(=qix&T-Uq~;S> za@r9JKBQfkCmS5%^~e3quyG9lo-66+AnNyMGFewv&o-%<;+jQn@hnt$bwIT26Ht=i zCu)-}l11)jrnQttI+Wzkzj{2}j4iC6Q;h>K`!P6x!*XeUA$KB~?^lA7|8Ml%E?+-% z9$FH+8H1kjlg-bx#eqJP+hHIyPDFY&8;yw~SY9y^5&`4-X6e``4Re#MwU_AuNt>Z^tN5Cm?LH!Yy7WrH{)X>R0SnAj|r5x?k#GHd| z@~{UlUvRtJ&m9E{v;<7~elWdKuF53SrEk2ADl+~KYry=k^ZAv6E!CmhoaND|+@s)j zqq!;c;es*jMKl%evQxbclO|x@4Z06c36fhQlcC1WW4K0~<6HPO# zMN903Pc>FCMYp{Ck>Ie&MNqF)v zzpG5|ekIpF?0QyPn_*zz4IL>)yP1i(cCcl0HQIBd4A0k7d8PuXX?@-@4y1uU_;G&l zIxAu~-p}0*saNl+5HNQykPSRLpEYMS3z$DpFY*^#1+ImzCU8=@;GpUFyHMEubyneX zxoxSDs5*u0rHu5+f8CwGKkusaoF9#rvm}+lP);&qQ~TS?$93qQwsu|HP>*S883tWv z`;yA0X&p;()S6=+wtxC?3;%d%$f@Y4emSugSDel?G=1>8!#^wQ5RXmyEAWLkpMrni z>rXG`z0sz&URBAn-FB%5klrY(vcaeU-Yy;r%v`%oMw zH6lizYs3O|G87y9db)-aj%_SOGSEA2jr3z1|B)|y3BLg#5pI732dg@rq7~>w4}C;Oc^hbk)-$QokInr+TwgY z7#(MLyn}a>7yXA7Kh<~_2P|OsoEqmgy4>hU^%H&@YN~@XjKSHXx!cLL-$g46c&D=5 z`4F|La1;v&xbl88BNuruOlQotu(7@EDVsmveZ`y)t*rMy9jFZrI9|9?yk1)yUZz^S z+XLDSPSTUkAj8PMux7VdCU$OIU)zOtb9tT34-h zcK0IKb$jC2E6?-pX7O&fJnSJ8gPli)fe6ihukl9@#-TyWW06V*IYg-CJ zj;;piko>2R{gihy*{(y+3^It5v?5=PG_^taL|UiZ;=T=>?0ll3z*f8}mZ8T^45&x( zOz!iTz90GOmA)(GmglkGKQRLoOlk4sm0o-enMD%2nvZOmzawfyuQz5o#2hmh z`34CED&%Y4BiayeAeAhOW|}W&SGS#V-*XYQn51Z#*SXIk-%VX zmx6*C99rJ>dr4)H1fmCK(zE%f%n`vcx+cAw5PzOt^n=%9zPjBucQsyyuC`X3_ zcAzpcvWfj_1{9JGVrZlh;+yWx$&Qz(Ics7?*q`GMVQ_@o_e0Rq(Gk;8*YTAWCxEHW z&<&y|UEwgRF@U2&05e*d@g@|9DjMUN-YZ&M=5niglc0japHE%qLnOJIv$-<7-+>_k z^O92LzZ?0IwUg%Z5q=%n+JN4XGg2(1L#@F)p`(I2U%xts!Tn%Uy9|cTo#FX;LK_t8p6S?uXq03BHvMI1?U&tgKbYrP*2B z$;1Dp1pJ?eIwuh9drtb*i@?a+4Ep&ur58F@2QNsLlMj~I-zoFj)(>KWY^&`u^ROVn zbfAlbX{pvthTb{%AtUE}U#I}9L;k8%b_x!NxfJV?Lft5?< z4;i|HUyyST7~x<>tkq7U0+?K90$5Qu>Seqk|0pxd<}G{*X_R2W$rg|2=O39-e8CA*BQ?={1lwx?KXRumpnF&6#gTs_7q8p>}YPd+`M^6BlT$#EWb$X>d7D?t%eU) zEHph%?a{K#5yw;7KRx&<5N|U?(#v48Y=Rm79?9{P2oFT2!J*5?!3H?Aee(JBFI{1T zhP%HGcAhCxTSC1fEgD6aQposhc;9)?IlwqeP4ET{b->L;1dVR?#uycvF4*|uE6~?* zP>&JAdkB)jME;H`b6irDlMRZ=)>K{-idC(`>J0wNr$+n{%OY|aabzneUvgm0=P&$3 zAv*Xm!F!3m&E0YSWA;)P#_ns-E(7aLN=|R`<5BtBzuXPC!B=}@199T+`7JUb< z!Izg~!O)Ya;7&?a9VLi)38X#t9qye@4iVhYvh`_>g=+*K=S(#1NM0`d{d*O6; zj7VdYn*X+gTKIIc$W^8DczeFcPy~Fb8n*9-y?aZ9|H|j5(PnRo49R;{g_+n_t%pb= zeEST1g!l_W9%^g6ug!kmq?q5dO1uzXrv^D(6HDXe)t`TBV!XX{)kCM@k!f(1R4)CR zkpIwPq)21kfPge2#O<9J^RZUK9SDf}AT?E1S#3|$@FoxtkDn5sMA~gKCy-7FN&l%( zS1v18v|-t|rI9%YEr7j>)8 zox`gOvJTr6Ktmj_LH5596ZRMFT#*^N#$b;N4dN=r>+2GMH+L?Z@!mY3us{IF zp#H{2Vih^pz(r$yDZd}gR^UCD9c%$59pune0Wpnx*E|iUFcIwIDy>GwCy`n~zuUXU zoxfEiC2eCh2~hYgK8oZv&B*XnvVvAV^Yz>m#~BRdwX-$}2sNydT=ubl#diKS4g|{6 zv2JXl&3mobMgkT3D|5SVXSS@4Jq?-7GdH3HeI`($u9a$T`aJ!I?kl-Twv>ujpvGl?qTjd9j$b1T?ZDgwtOX{ z%)HB#>$^Epi-IBstZ*^8 zPJ9`fn7-rfZNFT5+wGw=e81xjmkzTQDcr!y&$+Ij%N58dH5TU)T&lcvEmT>VoHE+j zW=zxq%32dQ435odOrP9U(%(kl&?l_JKoZ@5ZHYsX!lE@U|F{ofD6sa|W70Br6&r11ET#Pqj zzW?etMfr7KpVk&K5X~JP4Dy?G(Jk-|O=;pVB$I&*YnrzQL8L?uIksHmFkz|Nho*mA zieDI&6t*HnUM^CiUAxucnxB0O% zf9MwfVMl~{1b7JL+#L*{B!yzt4q_sxTtsQa(ZqCCHQz(SzH`5W39D&hH%EKMm zw|;{3Kak6tTll)y>u(^pJG`i92|L2H$BWCwf-VMog46rM#kJC#Yx4&dX)W@W?RHvC zN`n^b19 z!o=eJ#X$4qm|O6l-Ml<{8mvIG0tUu;%`*GhSz-p+FDB;Mg0~x4<_wG?E3NrHKMu#s z7XKGpXB8IJAGYhEL6H(Ek&>3~F6qC3fDBzC-QA6XFoaUdkkSkT!q7+y2sndu3@IQn z^w7E2cku0fvd=i-;u>bnTJw9~=eh6u3*C*j$ExnB?)yOdqTud7{U?g|GhJb4NNmO8 z#oj@LQD*oZLRHjwC0AHA%5O-4`USXZ;~RY`a4JI1nVt~joOAX-sWD$7%pe$ zZ&Jo2Aq}*bm`^A_j&Y8TT>6>*GyM`bj@^Wvp6;1E{dH`iyd6AFKU-t))~SwX#DJh^ zM%G0#v;ziYc&vxJNB^_T0K(Ub!4VfXBZKdO!{Bbo@?Mh}%>NDsOlq#C#951KyqZj8 z2QrGVb7g$hyiu&TbBI3APAR4aDZIc?NiBqbF;Bj{{E?hzD=#fn$Ae`eC|GnXD7zSvvi;Lp5XD7WH42XDyee-+hz*&wl+8XG@vA8|5oxN zPtd^??M4(&luU%|DMt0B3v2{6zXCD>Y!5~~moiau7rWa%eRjNRP1^pZr1L{#+e2+) zFn?XiucoMoyRG%w&Z}Mz#MGXMUNSAgUSB}%Ok$Wa#6z>rl&{e!##ejJM^1-Z-h(}$ z(LTdbH9u9IqoU+Vt{=KD!sq6l3I01)lZy)}X{M|E-21!#fq%Y{;YYr$`}g7Xqjcye zLWm4MR1#eldFFX{b%_`Z zX%#o3mnhwOf1+G_w2PDUW6y`?G9UjxTFfs>D`~x--^P9lsf;$~TYxvlRkYXV_HM2v zYttQI%R3gi*7;ou%>(a?0*|-WSJr#RXcZCgvPWTp$0PM2r|4|x_5*%;J;zyMbB%ag z>eG zK59c2d)!wn24+zxk`@yuRhj(`@h${H>x;7vi99Os*^>9AlLjT)J;BhvtL9@^@Z>mJ6J!ehD4BzN|8B1s zjG*;LYsr$;Eah8UFH-&^vh^F+k+Ile}Ls#-*rvQ4UXBPCtK@NE= zm)P;`x4gB}gZJ#Uo;5Xq(p@O3HT3+}T%c~o6~ObVYBiW5yIojKWD^O!5m5G9TXdAb zo6>r=uDsMG%R&8huKdUU#?pI6fmX|yEA_MyP3h?P>2L{VP1*HNviWB*?ZtH4P7_B& z=4-E`ovA&TB(&c_e}x?}gAGeZ9|awsokF=uc|bE>VP3Nbfz4?5ufVP6FSdu}>q2tG z#jPn-V2nq@E6L{OKyW1yIXP4-A<7x-P?ak{qY~10*E6PkUO02oW1An3AC?qRqh(6) znLXo8b8&ya|9WT}-*W;L@c{-ZjVLOxb5=9qSfp{yAUb0w7<_tvpn>~>^{_Iyg5SV`I;@l$_ z9CETUWIIXLXecR(Kp>!(E_WA0>Ff`BWE3B?cL=chwIjeYGiwHpKk2DslLC!%gJWZDsl_GcuCD%-O*yN7WR{HigKY#8 zzww%PBV6=wZC}*oMD!G5FNW|GDZCkRS2!1~a=Xk0z!;sX#tjv1PAF2Bnv*FTKjFD% z>8}wNF$P-aorg;<4gauner+Z-H2H_+>2qNsFXM}7cj^;W0z$$v;K;ox?or=m?8iR0 zytW5P)$;-q4&z$J{UNO>PxW&zY}t8ye!W&zIE|wX zPGu?(Lw}Os;J7|`I)<||Pe7KkYzgnWUxY$2l%Rp+?(-77ty3a6*tOMyT8#<6)5b@} z%EH>3`5Ci9gpcOjZJDE3I2lfZ(U`GtCNt#-Xk|V47TtZ`HQBl)A1Dsdvw;xEiMh z!R8rG;b|5jnIhBl6+^Vz^ypy2fH>vwjpdioHPimPCXxny!OX0&p;{?$<&GS#S!<`+ zkuPT|jrTgBhx@T@3bQ`^Ro=`@PgIcUlpxrnC_K#fGZIR+5`4cZg8}-uc?-KULcxj& zA`HKfx>RvhRmQYZn!YyA3!v|kDgHsISGpV`y*d1?;!@Q0nexJ?r0anySz1j!Iy`t z)o?)p<%`FJ)ryyAvrL)n`>DyIB@&)24DkuS;^O0!!l`AgbFOWS59&rzHGZ56_RzcT zKPNu_J*3=)7caRtFMV)SvRHNmb!-MAsPn(vi*GbFTMV5*JGDrFE;`YM5Ax&GLg zbOWz}27>{UUSihY*ypY~nc3i(Dg_N!D>7&Px9@UgG2C`2nHWuyqFmphJOudZEE>vP z9`{-x&S02fkPffCxS(42d-|)f`8ZWNI|Ct9wSS3jvcJ*}M9E8b+YbKZTLa$%*GD+` z+N8Lp8KBoFoZL$6Y;M1$MIL-j0`p6H)^J>QioTTCWHidmHRdPImmJvhxYsdcE`$$A zN+B{{X0D);jLB~uITv-)(vBojD%^99!_$UBr6q)Kcf>~XQXl-8m!EHje%{%gSloL( zm@ze2*;t8Vxqv)wj3>ENkUr{jKER7#M*a4`kNUgdA=9}TbhpBEKlG!uIGf)DRGv|l z=La_L{iXYoAjKen`Gw81*V^9Xwg+sJJ1Yj-JI^U{MTc{JGr@6xu5U$vk5ANV7>aHU zWd;|YM63FdogoxKN;>va=<0*FDCwRY90FH&eoH)%N(IHj26EhHh!a)C z>&jO=iIwY7MFxos^hm?sEaE()(%uqypC+OreU2Mr;vvz-+nP3QYIouhrS`Vk9wNe8 zSf)!!K&z%dMg9bY%DK|FEk6+zcLJvlm86uuw1YR+C{U^-NHo4gfmU2P>Zg5Jzfeq@ zxF_4>QW=ojQ&Uzix=pKpZ4+O)m3vFV8sj^P$#yWK`Gd%tvW!IwlsfJl+%TAn8AFxf8I&8+Vce~KI>1D7g9v=nFiXl zafKA)SUF6ZcZw#gs$Q4g_4}C%t_yq&hqZwzV8>Bk@I;;`b6UIdN(WDnwB!T=@80KB z-@XLKSs6ec%cZy)Pn8=x&Pr#;gO)$_R;N=IYT`4n6Wf2;fm8R(SN$tjE6+ossOi@w zK*ch+=7oEnzY_^Z^rpF8N9!t zF8?vJsszP}47d8e&YIfq>2H-AsczJWkB49b%G>h=BQ93o>#K=6zh+4vQ}qEr1&a6o z&_{lxxk1V+|JDA2#m258_qMJ)@KN494v5y8$-}Mhl!MdJ97<^pF!#)C=PY0%V1Odg zdmtcHZb6|t=g^d=LsP21Ku-3dj}HxEd#-99+_vb^#Pj&~`6rUU!Sz+cRd3>s*#r~W zPQSSJM~EKF_Yl*Kro%nB5~u`zASKM8}NV?M1Gf;5wFFmtL;(7Ypg!rGOm zAxYi2@A>|l*vpCf&loB)f;-CPl=xN_DnKlxTJs_qLiovgPD~4zhaTrCk=q|n*YERm zT2eRsKBp zYfx(%{V>-*#N3nk)O zKHiVJJ%`_)5)Iz|TPs%P4(_xZrI`TO%Qcep=@DPVLT;mL-srE7^!xaE-|jF+p6{PR zVHlX7c;w^(Pv&U77N!Ita+$j67;MV+)+m##C~y|TNOt4!=3nq{d!_Zu_WxoV#&&8X zr~J$^T5a=Z_5n{+z$g2pxq=;J`JvNJ-v5SQ6+4o*|0ERA!{wz ztuf30sM~w&AIFPlc z{@18gSKG}|<2yIuysnVj9Fiq^GH2?PZ0u#2srz^tu#;LjoOA9$Lbs349kVBbfn@Lb z-@bI#b2%Q4!aPVB`t)oYJ7^t#YdY?nYYmAE!a6jW{1T#!a23mohrcu226DPB49I^Y zd#6rs%6R7z@>11=(n^Rc*u&&Y~8gLu0iLbBcCBh8a2M;yySVfsmzW@75C z8cA#053^BlC$q%-o>1a&{c!!O%>Hz)L9RhOZT;+;Ux~c@W2TPcw2Yssn=hxPo~-%( zaYvPl{bb~Us3#5e7SwD=KQw&j@(Pmf~P z?rgi{chBYN^*Bd<;1c{4-XxKuZ|DrUDtvBQx0pf$4FsI(4(U1Cn$tV%L`3jWg~&TV z=8n;@j*zyh?u*^OKfJ$+BxB0^XY|P>v|amttu`XlknPSFfb5pA27?rH{oXMFSi>QvR9=kkCH`B2Oxg5v?F=UpD(zTv!#tQ=mN92V!GL3 zkLG;a_f5_Ancil?Q<^_0C?9oR9Jw`_GBKWiEg9LHPr_qy!r`^2(31U_Cjo?p=U$0Z zB=(=I4vi@{1Ci|Gd+hyfK@YhQsqdzQT0ZSpK{c)fJe6?Hn=AP*?h$`9bH-n6!loP$ zMJEA`ev=~j&GRCD$Ud@z0MEo7q@ToSGfwszt*2x21iy_LO)`7ETHTKy&{WPj3GvAf zx9SInLZp9xw-WSgWyQR6a!TTK$zyd)ncefrEZdf;4dE*9D<^+Z+I1Um-61Qx_GtTA z!-P7%*5qE3GEV{9$V1VbTF(K*7(`T1Tc-Q+T}NvUvLixPfe})M8FONYv)zivd5qfW z#-jJwU&(Qn5;LqJ&w$6v%uG5E1WyCx@<*=>A^^c{*wrsZ85UbQ!cQ5idqG#^_ZOHU zCnn8Q;cRDZ#pD`Ly@n2|tKm$k*J7QjD}h30t_ui`9w9FL48 zu=MkV-u@*@IXszL6MEnQ9IB!HZcVcQq8Rl+jMuuOoyT~DC^ZGTr)oaoq7L0Y+4&n% zkBV{7(B!3aD=UtAY?xKXO=#PazeHdB*}*5s$M0fyGVT}E++N_{0EGCiv^MwVqOPKD zj!F<1`hknE?zhI;$bpp+Os9Q@F(3rV9bn^8Bk+kLzGRZuSgn0gN^VPss~B866B#rP zG|_Yi&w=ak>yK8-U$VF0+GTO@b@XVOU;AFq>fx5x3U6t$NWx}zHd;>c8B?8se$*zg z^*`MHxJxMVZ!ZE(<>M`Sg^s+CHL}lb>GQyjcHUiXjuwP~JUef1FLtshEJpuLU|_s@ z=??GY6i`!hP7$JC?VZ)DQ&hSpJewJkJ=)QG4YAxTnj?JJ@SXRsTr+D7dHVejX4N#o zR(>+c#mco~PSk278ItXb5s?%``rP5$-a|nzh}*TW?}X%>8i7@_5uCPsuw&{%ck>e9 zdK7~j_`z*_Da@oq$YsNy{VmF9%|XW*B5kf%r&>4OG4o_B3vs8LyR{cwefb)L1J1|k44 zg$c;3lay@E-wd4J1HK6b)Xh~3qJSocVdhh7Rg@PHWez#J83Rh6p(iK$3vPursRi=8 zr_b@shy(8TJ#HImq++_e$F{kldeioqhJ@v*WF!PAX*RK(M{pS5Vw3r^f&N0ppqq>B zRc}SePpioH1sAaYJ>dVphCl%?!_RW&ySom`o$?SmP}DWCO0)G=#~?oFUKTX%k^ViK zpLK5I-)?>Bu7aIwvwAxh$(axB`2=zrq_yW;wOSRvFn9fUt`vvO%yr+m?BM?3I$C&O zivB&>8O@{XbiE~GcV%H9>c5}Q*Jf=-NQD3KAeguiaFCh0f^2Bn-tFlU<9`o4W?@y; zP8BvIn%Z0aUSO577<^mTr1q0R-}`JWj&oB1=ntQV+Xa9g<5X8APVSe;7se(Kf+!Mv z@j-w~K6C0+R)txNZ;k*D7eu90{qpIj*8^X~r(N1*Z>|c$C~9dwu-g5wBIA4UD0G{_ z@s&0S$p87IhS7-JQXmOPo4zx(B&^{2Y@+c@=8SlVs4XXzs(MLsk@;lSjD3S*f95;T z+N(sYAIkSOdfFSrN(|5m*;GFV4vWv;Uq3W;Mgmvmbeht$mW=={E5AT^!&v5$w|pGM zPi+8KK^fy0Z%+q@)dTE3Rp9&-^LmHE1&Px2{}A`Omm3e{9vDUfqA-3e$6QZ}pZl`6 zn{_&cTRTmkO&SyhwrM~Regd&}9vBX|$Wtl5h0i%E?7t+yVU$`>quBSEwow$C6yR_* zN_LujJ&RhYlbj0^%4s35g=8G(x6N*nN34g#JW;n_qBF3emsySTbD>uc4jKcm1ymQW z;ifU6Y5hOQHx>v`dso?u)>l`&V>0IOB^FkE5@E2hk!ituv?c9>D1#uCUzR=#@*KXY zj;r!iiRT*Y-Kzr4Nz<{9S*Us`EBo`_4x4QR=leG8e+4-uD=Ps#>7}aH7bZakQBy0q#7(de@0=A#$G?4-0SsN)RQ+$uBEdZjgZe2E9>-c90|*j2yu+5+*cDUF%92B4ec z>gJ7ANh&{O%uh8W+4*I?)~4rxfQ=e4G;x!Dgp1DQd@R$mMEm7xM6&%Ei3epNH(!{1-JTpk>Z1&C-*%2q)9+zjd-6 zJtb~%NXmQ3g6ct`jEapu*L!-ff z8Op?J{dBgnaf#rPsxae&{=0@su0aN8-0rHX<0`hOIFT4?5;}N>KEA%QyGu-p0Z-}k z1SL|ojsH=5T6v@7d* z0UHRh3A(l7<@fnXmTcw^np*jr)4*F|kXfJgT7~#ju2w-~IeRNtIMEpO zNVYElr-4#8y}9!vuz4}hszDG+M&*;2LvGFOC(svKX)2qH2dl!IJF})JHB%bXIu3kp zR>T%zy>FgrtL{L09D%~#Tnf67zN*Uv+e~GI{>KW5~SYx{dt5jSGwgQHl z$siH~tyh^Jxk+&>xE}$V=Nd^5kA4*&7DA;$5975@emq_b;c-kW z+yq)g_0_{{T>d4S9@$&h3P7iUNRwL))PSNZP6Vj>Q(ww_X>eLs=6Rd{6Xb}i2cRJ1 zjhuRw!}MJ5-vJZ;5kA3O;hD{YCahZRTtbVnd;N%{BQLsa#6G_UifmDod-d%LZs_e* z^>~2T*SwB!Sn`X9#?;evF8pjQV9}4I+57;QOq2Z+mmnJ&uWG9rk*HEY zX&s{Up5X1Xi`=}EH4i?Rj&Pf0N$ZP8pCYz2RylQgR47zY%DHj3%EnLAOU+fY%P{=` zJsimd0gr1ZQivH!7kx545cLN3#gq+ZLsN^%^<>1>d`-*Y=Kw{NZn%Pdp&jaxg>h;9 zUG*02a*>)!SRTLVz<9afJ0QH1Jh*o0m$k{MH!|fTpZ`h%gLLT>L-`2EGrf6VdCW`J ziygrrM%ty^%pPSVsTXf(2`aUP`FmsAnK?ZLEAYOm(zvxhkqZwR*Z%wGIoEB;lfE(i zo0XQMn+Ej9_q11?2c_E~e-iJG=Z?N}ymSd6a_>T$xB)hC%cnXrwtc=Urh$_lr&M#U z__yHk1bJ8zOBzvMXGX>Y>fGo6>|BUML6kobSd6^fR8$O?x%eljaDNONL@H0x{X}}~ zh8{c30$=<=Q&v=ratfy3Bp?kfp6U}`h98u)6Du2=*ZM;Y4GQD*_et142=hxLvmRQ$ z(?+XaaOocg{dwAuJ~+xm(1Bvt6X(!x7na&5P|;nol8h;t^K8~5&uVL9&;u}y+xk3y z+y9I)*@_kxR=UQRToSUj#JUsZk>u#t0a)9khpD{3GXmyAZ_x>(^W;ybFZOdaINJ=h* zqFMH!h9>eHGt(97?JsZ2N^ZK6^kW#Ww26vAX4PyuS-JCQG)gHI5p_me~FH-NgR z8QPn{BgKKwGvXs>Cdf4+71wq1Z)ixF%befC)1yE>QoFQ;fq%4C9b^&v6-iU(6~9>Q z(Urd8x^WDaW#J6aN*tB()()!hS|z$DJA>Ef4s%$4GHTP`V0=Ag8pVl z0{tC@$eQDwoqltzStn6JSbfir6bKWuf|R^;#PO6bO&S!6?f3g(##h!q{p@U^FbSy| zAltCW(8~LC;M;Qan>qWsmb_MN;oczb(9x8(Td;Kd#I_7^%<2(ELi?9jSE&WgC}WwC zW1UYPjrxH0RO9eCpsA&$7!n`bGh4A8KtR^YDF;8{9U10xxhlBdbuLD)bOr@_U#3Q4 zQ#&`!dzLLNGof$WXFa&EA1KJbbBF<5LvnH7*^rhLT|SZ~@_JOz5$lFPhDN-osV17;Y6u~U zRq=dii2LwM0ri`R^IP)C*ulR7_-y7vy zhCdEotC2hPd2*Vm6Z4>xA%&Kt~m!n zx&IM$x1h0)RyfEb4Q7;y$)=UmM_is@YQ;1Xf;V`T zLWLN`{{C4bZP;PgsvQ#}1GfT()%Ff4k_{G;R=m=TcWyymnsGLJUWYff7{4#U>XMaC zp&uA_J`UFn)dvNN2a2R=^+~_P?g>$qBc)WGt|Ib1KdW3kOXkB%v zFRVwi6TzDft}|C&lxiF0=jQw6@N>h$5D$te-Umi_V|Px`0SJ07Z;HX&wIb&DWCs)a z&;VawSxYGm2IZg-Kd+nhlFOSGCrv2vSM~#e1DcWKgKKJjf+=?ive1|6U%XTFIk`C) ziOS=X!5M;^Szot?ln+MAzb*2-dh-4TTAR=8_jus@>r&>cPUeLa_3VQhX-BQ!jYB_v z9z63akdykB`-*c!t~OsjSZJ$((zy-Eov!`#oq~UYn*Z(o;>Lz$7QJ>$9sVN`cc-rp z)6X9ZNb&Hv%F*$H>E4!X2HV#2{(jd<8K+*9`m;=}bBUVxSLPU6?qd#I>Z9DM^sCq7 zy>2s@icfCQdLxPAy`N_Tnw9_9L;V*Zx{8s0hbzRCbZeQs(@>7JlOgQHrgd)9^&`yI zsnZW05y3N=Ja*lfQ<)cuyeIvI%f-}S*v8w=Z*lNxOg$gKLp~T08%?gmZo5b?r>G;4 zyn_E38hO;2l%n0~t};|i|K)SZj{?Q_2tc8Nm^2Lt_6CT`)!tgULE|r8*u(8006})! zj}u>BYAaab@#heQnYIS-`y$9+5G6x$%NT^105ch@!F8)lgfpz|F1fJ*s8_-apXB&P zC)nF2{&w1%hD~ksPdPyCoq2*xs53L z4;1KtcSw54Lt@4_3EMm~aRld`bOA3|@=0JJQDUW~8KJDQ!9m^ZkKVS>CuSl;h{z30KHjN3<-7@J7LxQk_TavhcGy1PeJD~fxLmO&eLRW zQhD~X+ZUAupz8n6dA}kRRGk`?pBfoD$|5}cYf12k^22f0!|p35!|$VF3;a*p6@5q# zm!4q96z{!UL7@U`eTrN`_khqb{v8$2fkjC#U&40vq!Hw!n7dly(zvvc%v*BkR!8y3 zURGD*G^#Zx;9JIYP@H(9oO4&ks~sPe85<3Vm{oJ7Q%Aw28(7~r9^opKeNwog z^?&K?9?+8#7XwdcHVp?cgTU)tp_R=y!cj)G;^yX?wX9NxwM;IKa2TymUf*@xa4Nq> zW6f{6hp4xE0CvA(H0qWdj2)@K=3xyp$6>B!V#yEEHxY67xBB{c6D?l zlx{2hQx0WSU5p}yPGn2BUfSzn;!@3zFCBXrEZ1<9=rdzvo1b&I+>^4kN;*^GZ~nGY zCOli3Jk=kqe!?TZW|U5~lG{#BR2nCuO#dW~%FCbH0_kGncUW`)8>rf+AH4n$u#z#Q z?(DcAphEWSwF)<03AGm7W=uVNfj+=E`jbr8=-xa3YvbO1Met+%#;xtU-MjC|1A4yW zRrxbRC^8h}N^T;}PTk$3Oa3mmGWKx)=_QxyT6|wtUygN);-DTV+1jAeyLdZfR%3#r~{rE*-`?-uwJoSFb$!>-{x{m#}9ZXtqUssp}r&ul~P+$G6JB=fs{z*^a1>(iR&ZV3||!8gxM5IQH6LT z<{_D8btCW>sbFfcjXG(6LP}H}&x7mnDe0*WOE<uunlB0M75XDdr`@u3A- z9pr1VynMUuY9lTu0|V~i0mQ&)?o8pS3HPn)Pnf$Gj5 zpXXx-La$etpk*19D%JjF`^lg)d7QA?)(~b>r@Y0ZKkInYjIRGaFIf8#r92dfW5EZO z*3PAwzSGe#Pn^<>#wPU~Zu<-hf%UsIZqRF$M&UManDBt~nn6?}83`^o98#0(A18#u z-yp>}z46NsM$y0g3qeUf^drOkFe|o|bbUM^RXiz$N38CuUD1e=?f~|HtZa@D7Bk0W ziFVtMRH_-{n-H9sakHmLAiR=g?+jrLb$xCNF)+h}Lqt{nNLLW(s$=#-3>{kQvL5!d zRuI@V7EiGTA)MI5VgcF?+nQ zNchG}AWWb{Vt|1FG)d0M56t*QC&73#bb#p)9~T- zPN)?HzPP(XwK6+ISdke2If~vfc|zUU5Gr1}sjmVTR)2virRa_3z<*(cYZ7yijgyup z!!(1H8>k$cujt(wX0VKX?ax*RBx{Hgaw+j&8*Nv!#>udw#$-m*Np$HpKNmNGT{p#| zit!0HArA+>2!Ak8Pm``NazU9{8X4Wb`j5m8VyLpC5w87bnoTE(*d+Co%N@gz< zos7}H%aBmt;5sWoxdQRWAt6BCT_No3M7eqD>*68-lf2xP1XQbgb)S?OR<@ zR!n%eMY6XW*7_U!cWdhcQ`;GIx7#vyn5y@IOOM(1`Q_>cw0}>PVVE?(BkX#AkAN#f zB*fp}U$)KJ|8s5U-SPHByk7pZMp^mg$2C>Io0QxEv++8#Ao3I-QcZb0Qo8;K3~UZjtYN%D*kNQ<6ytW>W9TLWCjfF&Xq_gMvc(ta^mOz6uAv)$u?69GyCa*nlFm)C!dl>@WJqyu z#YTv!+jt6X1a{Z7{0UFFL4^UV$*g#VEXpeZs$lCO#$aicYhJp;%!jT2@l?>tdVwFT z9`unI*DuBVOLDmKAW>@UWxFo|J^P|klug!Za)xXKm4`%3n~$rg;xqr z85jwG`OfZRE`h}%dJzY=qoeJaj)RzoYBHEnv*OL}kK%xG-fU3ZApZLKocZ)#_=t;yGR zJX_m~$-_xjFntBgHCDHRk z4;^XUpRBTwuDktMp}t$}x~J_^E}l6iye*3wzOJQ)91r4fN+ikw^_Ik zOboGEnm!ohicd}Xfcz8cH|{R}w5k^id(o!}Lz9G!L4KsKvN(s7zGq&7a3;YCfyMk< zaV-0TdN|%=N!%N@ZZ72d;GPg}iq%4^TT@4ZO z(U$xMY_%$LYK^Q2^T7Si_a{;w;^z9K!5^Wy(vY>E!t42Nr)`}l^pE!fW>P-~XD;h< zs^z$r^04NQrtA6~ZUr4~eWHzziy?gpY^{k$r;Ye}fu%Fe)Zb%W_omA*@AG{b%S{?? zR|x_2K*R<$t}xfMR>17GrakO({Bcav)1jVjD#B?sMlI9)GolWw` zJUtQ3Yz!0|IOoGJJ)9sXCrvY8RgmXszoaO&9^n-pZqIAaxIQiAdg_2Zmh6&^3~tg* z8VZrNtR*Zbzl#U@WRoFY7duzIQrEi($6V~fn=xC@GQ;UKE`Y!xCnGQS%!enDSHn?q zQn20UQ}{tQ4qMkjG&?qX*PQC>fnkq;VPwn`DK z;l%1ZNHK6_BV^?!_oEAn!Ll4O68ueSSntq>eBgq@xapwC&G!O*>MFz*%S$N-oJe)VvS+;au7l1?C__Xjem;4>L>)8!ryR5QZ?IW1$-OMk z9zr;dP5ZEb3A}z2lCs!*uG9-BNj` z-zQrj&L<2>yMj>ot+zh?nkS>*j-0VC!4e3~0vn$py&9tQ}*`AhepK}us5XklIi?wZ^ z@Q{RRX!NOz3aeXMS%-A$(a(8E3`pq$o&Dk{ig8RJ1JdM$Z=j?t#5nUoOrgX}W=2Mt z_!&v#_ro`TV8d*JK6)XhIg3k6-U2d)wCW7&=V_RC-xM1CuLL4=66TToZ21+QBBW0!Ax4Nwe**I;hY$#$?I|wmaHcZl zMVw+iKeq@&0ZF?a;v2V-Rmu3EN0%kfDQ5Y`qtis@EqQ7?WH0UxGG0|xU+pADr5&8L zbAQrxa|@lxhWw2s>f_Q&4Y}o9b31pJqryz0ULWintnZ}x5fV^c@MU5al|G++z;=}%Pb@xnX6t!rxYz1gs8~qo3RK1|^lraR$df2--Myv+ zIo+WlGzc^FZXO8r;J8MVJ$8)J5ci&`AC zT6A4z1Qn_!LJU;2_}S{)RdsZ7FAsD1a3^7i^Uu=kal&4}k#}IPh6fkd1YhMVo=x18 zPK96T8~^2O1qb24L?Mt;2{FE6A#*iC_Wg+bED=741g`VuRDCyemuf-&u~E5v>*B|S zNDwg_Xp-3*_1V%Z6VI{73{==s{QO}1h25Tl#qpijS@Qr9XJaZW_uGa#u&BCgNYpOn zD0zFL_}QJsfsxg@YDRc!Sr~EZbXWK?W@(w9IH7Tw_|tx^w7sVAh^PR)ZDDew8LPp7 zOOuLJ`E>k$;p)0?Pfo$#$0C3nh+|`5|zhuWJ zX3c&4Zvi!^YMRV6U&Uu>ByCqg@STS46t^I_US!@mHf2SZNxcUbm%)6KSH=hv5kQ;~ zoj3Fm_hlhcsXfiBH#9$(#@NQvG)7XYCg62td= zYIJQ8Ae(B5Hi!376s$qFF+9_d6g+r?_y=!YipH@rUEr++NHk1^8PndO?KLkoJH%B; zC{$yjx}}OCh68DZeb0)9h@Zz*)U$^U5ao(C8a;H4e)c)F&mA+CPSqegQH-bB-VU$E z17Tcrvilf>{XqTq4N$61rKc`f3ii@HKAfkGNzAy4lF6^@A{?2rI}@^6La7v3!he+V}MbGljAd~ z!VEQAw>)36(u`BL1Y!%X0q5{1bfxp$ss>f#QZIQlQ~`>dg*lSPH_AvKDCSG4(A!os zQ9hIL)1;@&5XO}mF={QvcY#x~rckKxaK%jvefJ)4+N-WZflS!RT)smn?A(F7_#=RS z$VyGjW?&tXPyyjd>Sev?6nxK(?KKG{x6x;Zj9+~V?PSlW_y%(9Y4t-?YH#G){UWx{ z63{*0b>(n>Z^r<;mc3!t6|O$FNP3Y}^+(%K<^3T(EeJ*b-iE%i!-;`W%Fm3) zPF%|77d|bdzN(tn5(i|T>$@MCi@Wo!IuU4>G^(>ee0w;ggv?CszGTEv!7|5PB%#rj zMXKx>BH&b#@$-_EDgbybV?H(A7OuOwPaox*vI3d5*QfCMb%B~TgA(>dX{t*Hn$74@ zPdlq~gG4yFOB;1FS?u3r7%6MY|Ej#odYADZ4`?S|_z@`Xn=s)5nft$7VNS2?MHgb0 z&EBnHx)G`7m2L(BHSqfUmNvaWi$5VfNAFs%G5YV-A`rlRlX1DYF?Bfy15-&peYASy zP;T2TAp>V2&cd7qq%T`o-UBQ(yQHcy;^RGulN$|kCSSeZ18aT~59t^T&#w2nY1P_D zZdqvRX$i`-XQ2Hng{RofL14+IsTSlbn+ah&3)N#*+;2qZ=`Oes)oDn-bcFL7weioG z7V#YsJZ<`>%TBcDKs}T`5zBJ2)Y0DgqfO_(jsDdh{qhMefrt*B&lKSzw{hxmtfn0Yd2r5k#-&RSWe^e9t2SYFF#L2UEA zXgIm)v2_*N&CcqK2y7G(XL}^KYjA zJqeCs}`hvp@gPxPF9qPIPgb#B3cFDPdWYlCQ9n z&tw#5sRwROa?5jeUHhp4w~U%epj%qqM&KkZzCgmH1p=s+4QF zc)NcJOKdCF80=6sF>>e_`t}PW9^(SMY`w_4^&{J6dSCDB{j)2N9K$P*whQ!fnCyR8 zbuQt!AFVlgssGSb>*Ln&ra)t3Jw38E9M_AJp|uJ1+Q>!=ev(z?-|vO&wR&irJ1xr} z2^7R9bBTnlUy`RE7S1K`e55PG>><%3fyQfE;H)?=viL<*(K5{w^WV+?<=F`q6;*(- z{d@l9&;C;%)*0gCu#ox}R-hOZG6^inu$inuH;1-#{cGEAhJ|W>U%n&M4N6R|J;2@8 z+5yxEewh(Rha`4?YknF1Ot%#ZnhiUtxL+Tl6p{V9*q{7;4pQ}2cuTG8;$~=DUqjQP z95&?FVX^@Uh6w9gDyHbE8t6>VNX}?hkiPs!GE7=G<=lKUB1qmtp)Th#d*aZP56_xt z9p6~7`I714=f9R2CjdL$_-UkTTB5?uy}a~8G*`0Ni;l3sUuF~yAKX(ofxP6+-tOt|{UJ9cE0<>6Dg@Q7JtG+dbjon44E9MMDcoe)fTkR=WhzT0O9jM%aZp-QNMkOp}jgZbMG?Cs$}TS z+T8C~3Xi6YiO87)VwBF}`PoB6=q)W58qF8gVcy=sz=dlscP2lFX?ni=A42ZcTOF_b zveKqtXX4E0Lz;;>r}~7a$iCvv6&trz(F^Qo0eL8V_)lOUX1M@a4t*7ylrEG=<@b}i z)reP%p%;5>AlNj8Y+&Rc84@vMsHEPQsXE@e#SB@yNn2p@^d$jaUjX zG}Pk$;>t&CS)h5!1$t?bg}np{+#O}n1Om_RPcBwiNUAXUp2fFAVW)osq1!;J$8qpOnk55+hzH`_bN>ziH)0h;M-W@jFH*F#p7>jR>mJQUS?r?AiC|o73~< z>zL-hhlNu+4WBDA8Rcc3d`?A;&WxzdYQ3X2qZiLV_diQ_Jr2Ce(~Lfoc{UiFu}xQ ze|hS+&z%`#WYc6LLRJs`uFEF#QT?SGfs)4nEJ5RA57U|@t0a&yIW>79Yspu>-SpXt z{_1h5JG-n#9(r#FJu>2-6Cfu?tQHUmgD2_{A&c*}mAN?0JZS6SgvqMVoxT3XjJt_J zuGm-)wZappgKbKZJ}hR8T+j*tg0GGp9&M(g_bN6*C2OtpYEWwqlTuq&?qFZeD((kp z@3q2kghkCna*2@K*7+4tV7i+9%i%sD>hW@Az8*Sq4mALj<~Y*I*iZzWRi{2j{~xa2 zI~eXaaMvc<>WhTcqDAk%LPRHsUZOU9aC*RV=h1gqERo#?DCdatXC=vIl|g0sJQ z-!tdTnemUmtex4<>~lZ&eO;@eo?Cu;MmktL{NAMu3`7(gop%oz`(OCvgN*kTv_J9{ z>?-wGE(;k~G38dgxCxDg^Z;=-&I|6yUd^{jjxvx~UXF ztZCKPs3qbc5}o%^owBSZsWwCS926tz@-y{C%Ul1O!8?o0!c|*Mo4oAxx*(jc&J49UHGcTt4|`?Nl8i740%qHQ>v@aR9+|G>f+dh zneOUumg$%ke~{6`$f~-u%H|@bys_#SJFi9B(>Eqa$!KcH!i8*-Id@h0PwQ(oy1%X; zf#QC-f-urnNBKUP##OQP?|C99!kBr>Qe3L0S1^*QC-^_L`xwCIy1R2F4--HcjuNA_z z5Y71d>Q9kXqAQ8!&=lSjnL;h1TUdqFWwhZ4Y&@rUM=19~pKwmD{jsaUxN~YBSk?a+N>J zFMV4~K5J+&NLoiYDGs16p8_#Pkd@33UfWsK6D zEsW@PC_mIjytO&=aV+TJo`+xR{?N6FmL>ged8|wats~6-E3uzx$R`?fo`ZIdUMiH+ zOZs@u9^60=N0TO9g}Xp?79oxe3I86oqNQR1MI?p!ircOyFK6&`K3y}b=4@(ky%8* zgVp_|h4|ql&pXGzYq*VZPvseffitKM$JOHT0I){s^4G_&WmdMLOj{58$fGMJAN}gS z4~jUu^GikwjZJaQIq!QOy)Zu_ioDl1R_}wNZeGqaHMC&oD$)qQQT_hx_zT)FSRUhE zq!@%|w*C63ekJ{rLWLv0`NPuh4#;XdE8$h+iv_IDS6EULM#RBzo#9CI;jtmu>1t|yoks}Fk7Kd+7+q}HF~2g}={-VetecifLavhJULUVk#JwcJl*Ykn;Z zHfomQ`clBSSi!97QC-!M`ug1QzN*;Px7D#MeC}0Z8ui&P?W)!K5ZuO_oo73N63i?K z6=}=oyq$loaq+-iYqXya2ePR|oxU%gbjxotUu);Yxf7o(c1!wSSz-{bpZt#d)?V~L zF$*{cFu_G){{HC1k}LU{kk-yxBKRpj;GMlCv(UZGzm6s}CxJAEVp38ymW+z3p{g85K9nF9m=MERCRk!l z1O~7+qO=r8T5Ur9lN0RsFqI6pgX&azRKjItXi}3zWVl5>Pt3GkV=;As-q!(f^WkNf zmLrV~Q)T)98lL@!$@O~7QNWK(az()(@DFMN<~j~`%(s67zrO;py2@c{%ViY(;$h-p zvW_9LA634eBDaK+6~lx`yfwXz8pn92K4<#<&r-ovFFDzoaDWZIWvBsU3%24dgaf+v z@Zx?;DHzx*fb?*MK`?>7kF=rq_6ewZ9S=jAe87*G{bDB944Yio4lz!7!}PFSet}Rf z=J$l!GRH#Q{P4U?rjQ2AP#H%E%{-pyQa&ChqezMCH*+}w#@X*G((h`Tn8(!OiX7ja-!qp3fB;5gk2+?<+R z`}NJJuOM9--65pIDG?(o8+R4;IA3*xoZyUqFI0*|Y8E%|he8(RAH5Q9t ztzIRaR#IMF75n^*iY+B&g!<=~<}i`Q;#TJcChvu}g>d(9d<6`s4ool~8wix6ADG82 zm_;`#D$B@aR98(puY#$5V6)i$VJR#lo_PDEXDWaj4f}Z# z*9*da7VQhq7q(W&I_jyiva&w^Acy}ShHi~OWWBymc8CZZi2dH4)iDe|-iW)9!@3IP z+o8n4l==)5#W-;;tbt=0j1S5Ud0V9_#vRqh#U&Fi;0)-4{l^3hsU2*nz*kf$y+`5n zgDh20WzN3efyt~DHXA#NB$(4imLY(C9erya@%iDN#Ie(}V()Z-S*0QtzRP>g%oREA3j zBJg3jE)3NQ((Z;p|5`|;t(h9V4?ttQ*8g3NlpK-z9X;ko)bD$|&GG*tLPPqkFIJOO zI`C1L=xEvSZtj|YhKEpIdSn=loKZ--?O<5)9BQZ8DWcoH!!ND0~zE#icQWu@F z?2*nI_#8*}9)0>uZV<*Ln{iM;ufpq!(IDx8$g|6;*TGSzfZ$i2_D0Eb zo^|PJd?8&@QZ#fi_ez_`b?i#odpEq&dtYAkb^(Ay!3}KIHWJdlkL44kmYp5Vx0_AX z<0tdV`VDzn0+c6>2BJvO=+eI?o%G|4r=tATsd*DU&TU4f6Ul~!f@B%1#~H}#@2pZ! zW7WnFYnMlV&gzMK^ zzK(!^%ey1%^xa15x-uvCe@?Svdr-|BG~JjqbR#(YvAl`u7h|+mT*6ldPrCKzTml!f zC%=%1TQ)k!7DT@OlU_#7AcdKcq3z48pIHQ77VLc*8P==H+Hl7`xv1#5BQrZ(9{Q-z zO$PD9MtRfWSE^ZE(Ql`^yK5v5(cKFH&p^N3C1=yYMgNCSPsa=?%WrtO(uU@4O@%(u z#|-56hSqaY*EO53|NDEE!?&)SBF?*hW@@cl{sM+;I=Sunx_CjtFYxa0@aBuK_vr=cK6OlEa%T4?$1MV<)h6DeWYuB>y?=f!OMp^KXbQ6-v zil$2jynV^A5Zk1oqgU#iQSzp;*0gQaM8i2vJ}!s;>GNZw@L)*jndCEGw zhX!4C!M<~f*6&!$2UO?nrEN}3D`dcnH)P1^ZP0D6p0=GK(lA?vHK)V-rH8n6;XIVz@8@h~I{37teLZre+tfl;G7Q1W+nZ6kVx#$V&U=fMTI5-P|Wjo}Jr za16T!lcBuyaU0~!EnBRn#sKsCndlMj(IjuJlh}HR+S~MbA7ztj zahec8DyrScn$wb}!~N6fMEQi`r|qEob@~HIu{T#dLa}W>6{ba9g07{Xsu3yG16BFD zt3GGHh>eD<%xUw6%cSXEIP`!>AlbNlrXN6zg_U&2cM zyjgR8ocr{2IkZpK1ZB30XJ2COJx$#b>n(UqmkfG1{dXy>jN$qLb+no^>>e&?QDODV zE?@<99SWpsRwLi|yD?>6j%?3TdpgYtOnJ4eDeW8HkPuc?cd(6=c4|aCPRTxjpSy^7 zR3@LIYY5dduTC157&^W0me&J){{7ps@j-C>8S-T1tTh$CXq$7pyxKNyP%j_r?-w|1 z;8fI}-JvYbBqHf&XK1%$fQje@e)hfFs@t6cmk`xPe*4_e-cr!;sxcsmHLZ*kmmV*} zso@O`QK*0spVwfml9JL~bW<>x_S(77=|}C%#`9US-s)ILdO8r;1A)HbwCmxTZNJ z%FSQpy5z*?vJDGv?l|6>1|)nc8`09=%Oyt%W7% z87@uMcVG<g_~HvbRVlAcu-5~R81)y?JC(0FG~2BW(IWQJipC*fy-RuW&LwaKXBIJ z(s+=3M!hwXqI{bsKP9DZ1eubt&Bw38Gub`##x4Syxb4Q?{C?)_&#HAc8*EA@vbCzi z=W_Vxk?f?WDW2H)^5WLq_SoN>iq(_*K;7a+bPOm-a}ji3J|W1Oq0aL{9K=8nouI8tc?vnp$E!$FDyEO7G2vpKY?g^%v|v%Hg*nijY}4|4v^KML_UJe_=yS~q zs}H*P7?UvDb7a1Eizd!wM31yZwv4rK2i_ZeA|YvYZF8^a;$Uh1EU84RUb8s1tB{%O z%IOqwufaC*W-PJ3xg)F1C!k}oN^)e0m(nX`HyQYY;cd@+gSMeza^a89SO309ytH_C zu*3*;8t{~?E-8DXEFcR~OD+tCZ5pA;_{lG1Bf$x~KBnCLAAt(s3x5$wDY3hYx`{HO zYSeUN<&LtZp)xi=V5280ah0^%jI%UWGq!i~x(!Xk&s{&+^=bK7u_^p5@$k=qO~cYN zMeTA0!8CO$pJe0YEZe@h%Q>xfowiq$6P@0J#|@L>@JSk!WCq|m@lD>ix)3;B0Nh2 z)bN&O>M>VZ>XUN8W!mfT6z{K>)C6F>X*{MpbO}Yd_W257gR80wewJ&#7cAt*=W*hLAn^B`0Y&)YNq4O1z=w4;i|zB z82Yyt@9DG=WCa99GE^nET2h~!fkq_5@tyrU^KY5S&jAdzbodpWy2;nRq zwX*~Yj1y1S;JwE9DhD8g3NquK{ESxgz*6^GWbjx4xusS39)+aaiKstY%+`QEhqMNaW9WN7_pBh4svQ~Vsff)iBJApx>D7V%lOzI&M6ZN za}IyE@}=p4!*{(Az}lFlk!xwV?sAP$ZedGj%dKr~vvEmM9BAi-OGG0TfH{GkSDNae-g`CbAOJ!73b( zqUGyu>zJ)b*WowMDq^Pl!D={7Z_Ee5R>Ht%A?{2Z*4W>x90hRQcbfS&c=+82PI3&$ za$|roT5=_JZRTSoj<9$Y8Y>_!TK6^^{0u`+)l}8o5I0!J0THWHR>q|WVl7B$06x>U zKsfU{qQQ1hV>+fD-f<9)6$X(l`~zD9HcTc|JDlQKKSqD1px)ebbE3#2F{4@Ue9+F= zd6N;Bb#4V0gs5=VUBVFU#F?VucqX8zk}qr<0)7_E;f#wB0>p%J_VQK}#Z< zW#dG%NI@SkgcvLbhbIGxjfSCx_1Z=vQSJA#H0~qJ@KPgfMyL>HlD%hykRr9+q_4|= z@1Sxsfm$rac?E{b?i&t#)F2GmO;NutgDJCNMFHk984^EyMpTMd$_XPUi&eb zBoY6$s)%&l>)7{Sr;TW=L4`&v0yL}gOCSox&;Jo@2E4+gl+)@5{s2EOgbQ=#fPS#0 z)VU_S-uo}OPYmpYfu5SHn5)pbIiHaCUi%>;`WgiPf}0!)^x--(?;Pbh?IRhOpb&8# zhjC8Jii!fkA~A)svM!8#wXc|J!0t>mKc5i;mM++PN~gM@E|uFy4Vp7i1+7ZE^P>_h zMmd-wMQq++F>)&U2ep)x(^#%(S-{EV?0Y%aHVcR-dH|atqD7i2so);hL);f^Amhe9 zJNdc2he{($^Ss$w9^^TYQB6x5p8VU$o|m;dl`xvj0XPkYZr*&Yu2=CAj}pN7-Veq$ z`8ZZdYpu2rYb~B^?MR$C#XOPlhHoSRJ!!c#A!TCBBpkQWOSZ-t1gjAD5m+jwjX?&; z6_S|>b@ev;yT5%?e7``+^b2JAoOM&~BV~6p4*^UV_j_&Ca02-#Xikw(HCWIHY2=Wv z%c@#>z{Z&1I$rV{s;j`~5tANWH}wk`qRs1AXr0ZDk&AY$BK2hP`=M_AK%Fs37DXb8 z1D}o>o`M+t26*8-IS}_(c(f8P=m1z ztU1dGsAueq3zW3;~b65A;vqx5e`=%!_VC1T&ErBblT0Ff##_n}o~T7{+yo5EFU@!_*z zM#Z^GsBQF@CS^}V>-&JXVr!|@?bmtB65NH_&>g*_R;EIpp<0P@Y_Id$MmdDLKu4?L zcHy5)1D$7V1lsZ~Lc+?!i(e$ye>yB;tD<14p`T_RWz}vb9TX@43eR@5&*zba z3{0u4s~3lVmZLLe4vE}+12^`8Ot0`z(f;~~Kq@?km5H$j=O#pn{l4?m8;%}9&H3-# zAMbqz-k7EDq@;+#-Pi#=`o$bv#72%RZ&)H-L=oj)27PSh|8bW11qKlITp4SJagDf> zkwb-|)J<)(V$c8Gb}ONC5z^Ln&-c`?JX&E*Ezb&nA3I##Aw+Y6ZWm97W~@HUr8jG% zzpcIf#O?#Zfrv&*40vL*d#sT@Z066D&7aR{aAhBUX&vvpeL$jpCKvxcdoSc@IO~@i z&N|{`*?E6SNIp1ud@M&OByj3u{Rf*LR;xPUfn{f1aIjGsWRx$*6hW7rfsLlpWtbDl zMgK+*N$E%OFaU(`jmEs!3iLZAAEvs=B&p zz2iI#ApUjTWiC^L5*751|4G=?$-Y{_XsW1Zy}cF9;$~B=Eyg?2)bNF*geJ@k9sKz> zynE+P{ zsyhR2^^=F46_BT`lZBQW`dcn_s}2a1S43sW2faQkUk~Af$Aj}a{!i#QD0|m%S=iXA z7SVUNb5%6oKrhBVq4A)Pa(?@5=3*#%hCL?-GGfuPYGX~NXjVP5IJzmUkvDnmKjG>> zae^K+k7V3hG*qg5NP7M3LyAvYO4TlAL!h_c^<{ba5Z8#qi#xLy2ySCFgWC|TH;QG5j6F0wc)kArCcY>5;1l1S6-Lc20*2#f^ z5sabyPFB}T${A1IV!@^^z}>XkBF=dAQOjLB$qnd%?qkZithcM{#v2S>-XgfhOr4dX z_Oox_ig%;4NkXfGSl%|31aE`wAv=jzqeid958P@hpYB#i);sxv{HVq)9(IsCl{U`0-#pe`!i>Blt}v_-4@T1Au+nTW6s06iTSwYnfZX%gZA#< zTMFsFoey{SbC+&j;^n)l6E=9Cq>dQkI9Wpy^SH2Wc&im0RvRk$rF^FkZePReE*)x( z`~p9J@wZayur*w~y}URoH?qbQvgT3Wr3(NEKKOTIr`_h=|w&E_u!j{xx&ZW&5FWL?6A0v*Uh0Y=MZejlMi{MuQssKoe{2w8VF_tSBqg z{a4xWrV9S2KgiWUFR@RDJ1Ey`={;!17~8mB>CF*eboA06I7KUBwc;chv6?sMcz>kN zHaF&UP|u8@Z_Qe}{c;(BmY^rLRa{urj(Y7U=J(1jcoLOV40>_u6w!y70fk0}54gD9 zk#RO7N81QgBL)4J)*mA+eIGbmc9#PIkwFi0e!&~nyY8hoNhkXjv7-{u% zUhWTD;?^H}%BZR8_ zjcJ8HlE%XbOZ1}}rAt*&)w&|hvNHzsQ}(*RKvVC$(+d|*MD54_@~}7TlgUDOy5)~a zdIsHZwnf)9p7xhF8Sl;vK6%Hsw`8W8vSGNm>~4Q4uXSq4h{=hQz7@@32n=i;ZK~^Q zThOJihAhga+bAd9Wd-|?c=7ZbR?oPmDG=4S)hrWOn}#L30~_AXGP~-r*`HJd-CRr( z9(FZKu=?nE)Acm2iXBF30oE6jx0%riw6Px$N9kdH@rSsbYOIS58Uat3>f6pp(}+J{ zn9UtiU3EMxClGeYMW$2L!6$Xg5!Ta{c-5QNSK)lAXnBVEF zd#~`AzAFqT?hXQ-bZ+@er%8KtH`ljnrLFt{_13{JYmhhU@XE$0*<*w>x-4CTatXA4 z?Rh%xnT1aNdwb2E-@w5#VB@x#nC7nX%Q7BER&DJeBZtvQowv$$=OgYTJCV6ZzP&hD zufo7835ew(H+q-(Q|AouFS>!~JRq#N$T5@fq_Y-{)Bw zSFq7$h-?35cNNO1O6H&&azQXx{#;}8Mwd0fAJkk`6+#7iT+nESsn zg8x4-utia^08SiF_~b}OwJ4Y`K8R1n9Za-cZuVXAC?xjH2v8D>oVrK%PE?w^SliQq z;5upm4B?A8%Up*}0{3d0AJ`O5;v)UnG)c&ur(*m`&B4l?)gdLCSm^-N!#o3jn{*jm zt!7k&cd~P{Wy)W{J(4= zFR^WJ2DIaD9zIDv(+`{qQ?v`se0aZqL4k{6U!m<-cds899Bs$2=GU@-xhjseCm(5V zF*_SQlT8KQSvn%6*QJ8$4W16CiH9PN$8?QEXU?z_!x7!Vqh{%HLu=zuOc~M0m%{TP zqDd=(1HU04QFbflmyoX~|Y5#RSaE%=(;wgLq5QVZyk~7T?@&Q}cqwiPn*IBUm@(J z!Hx$zy%a4`8VZjS#hgqv*xOW`*3uxAp-==_M!jdjVZNrPT#v3205v0<+OCftbo_1> zk@!q84Sg%+vx6_mmdhK}W+12cl`BnVXB1Mki&7wO5cO55R@{`b+eB+7eCs8<1FFhQ73IDW7!$bR9|BY;r`n_@WC&RfWI z1oxvbfJlf`*6AHfzOY>knu!00&0drC4mjsqJ>KId_VPPhFAb-);ot@&tY+eI|#C*^{ch zbn#+%PZFb;3}f%X;Y4XWK&8OmcPAU$Nh`mI3~WgwNBJ7*)fIz>>b}4pa}~gaeU%LR zcE!}V^Z3sK23Q&>khBwGP>g=~Xij5x*g?4Bl4}?!P5$SB(L9iRKYD0_ z!yIa%5{bzenHP}ar`2H&1#V^nLj>~BXG9s6v{zsFwc7BS#jIiOklZR1+juJeJS?1) zsS~DC+nE@z{@9&8?%+m3#t0MJg#9Og0U%rYHGkS#Rah~Sm#jh^3bHg2_<%IBf5*v| zN{-$b1mZL4A{*c|-(8&|1o8@IRYIp?!s5v1S6;oZeB(HtXa9YrRsUCQu)8(PayfRB ztc&{0*CAs6Y^kFy&> zYss;#q6`JH>&|(wL^yhX=?~j(iQNnlu}%)vDbPlLuXfiSX~oa6F##~qNYS!10bzS>+tl*-1dO#uZK!3fP4Gm+M%WdvPdIpUs3p&oSIpHPFgjuH)Suu?PK z(KEEGtigoIuzVPy5%^;QnpEV(29c>z_hGX{2^3`#7Jku7u1yAG$Y9z{7EP_&Yw0M% z@OO!TI%T-|umnJ)APstMgJ~X$Z?n<}foYkhc$jh-(z4Pvh*!0a+dTq2*2T~-C`n#94Q&Mk1C zZ}oX4_#wF6)VoB~3IO_-IgPlI(ibL3F-a+*2LH=dRNv9+pB*-8Tm8&PX**HSb^bbT#xsiM+{j!INIPdVjzh8jlDr@QV5;)Rp8L?bC&8AUzUXHr7 z!HFa|Hu+>mo1Y`)=k~=-hI;5j8XHcL@ZV4#?p+i*O{pE^9eGBKn(P00=sar?IqG~8 zmG`kvIe}G&Dw6_xu<_UDH*_&~?6$r6y@GPyDOLtZQF}duTouD&A7#NL!-kKe!a}g9 zHr?_gHiJtWDuXbqM#%kFhUOn5smW4aao&1%}$`OAd=G*5<#Z zd;&e)JS~7`^X3%Lh6|5z^SRguvgYDzs6h0`e~@q&k=-ukg!`bZ{n}n23f1d zg=S}~#n=->z`B&9PryXkxegXzL2Eky$-E%(hZy`}zd4LW@=8n)&1=0OO;0U3~2x*Te;wi#qtYz&$zqFL!G@-F+Kl(Bp+ctI#^z~D~>7P1HysXCmBp3c=GXiC=H(Q#iWVwR)Q&=nX=UsO>GPnTp_sRp@nJO(N`36)^7t##w?XFqf=iTKFxmX;kS%<{n^_n%+ zjhwA|QnY@Jacy64ny8*x-ganLP5V~`qgP3z}S#!YJby-{KK&(`H9tp_7h~gAaJ;hr(FiXo?OAcrVHw-f~rkVTg z_LoHx`w8>c&e_>J@BVGwo z++k^hXQO9WVMAWhZH5)1vg~IFb7CRxD5K%f?l;RjMf#cp5jn5{U6h{5^CUMc=!u6j5o(e=t2QqtoVfV17LA}?#QZPO`S42W1okY zI|@yJayFMxZARyI{(eDB(1eynXv{^=y4#JgY}2Vj(_vGXe=So?G;nreU@Pm`3? zuhGEC9joFfOd(+fZ4xszWjFNv?Eg&H|Gt-0K@aA4JT&FqZqgBWX*6#=a$dJx6zQeC zH^E;`=`w+SK>W>m6Mep_KR4(0dQNYV&?x!nBX6<0$e+-8#cf?c$rr&zS^Ifcow9?y zq4;g1T`DSTLpkji84EwdM#~3DNt7ab8Usd-TjDjFhgES7F6wM$*LPtrhMb=__#OTI zjdq-Rs!3Gga1zhT1U-$BDx3MlJA$%ZMC=XqeI9qVNk4b)8# z@h%zeZ-L$csscyhYeU_CKTDKFxzSSjl%5y-u3DB9+vzYK;u-&=o2TY@@V2*C9^Z(J z?vkZY?*)~fA#toyZ{21BIP7n(=oyq7^l-5m*P10T@&{dgODxK$ZBS>KZ1Z%X_Qtbr?O3FI?pZL=U1(W?3N1!1 z{I+A_%~Bu2ll!fN#AiA}rWI$8-WpTYmgS=}iDLMFib*=P^N2T%yh0SFP@A74Q4p z=DKd=i4c?Lq67cw+L0nVVh{fzy?FG1DEO9pAO8niT5aRMaas&j z&O#50*Ml1`-`UydUAum{_ECK5IakG4ouGTt4Zol^fA zwhhu1WR&Buer{=1kC~6jgoXZkE+`M6K~gJ5lFMqU|Mhzyqf z1ttOj*x(ekq?q!6AGk+Lq0eK69M+$0ti87-0z&bNpul_wY?^$w8<>R}1H({z5)q4> zfb1`ct@xwOo~x~uKo{B#BGy!$9)S*aewsyE2O{&ycg0LH*InIyGLzu8^<7D21x{A% zzfvDb%%OnZ$Q7mgRl<^&^OJ8pf+d_=rTsL5O5+mmN!-`lVlZd07pXBUiO}PO_kTMQ zr9S!vu4KME+V!g?TlZ>Lss_zKX_*zN<=&$d zAgiZ`J{Yt3y*t?u_rEr!!;-Uk(htRyg#8QtzSyLwmVsR%`7|rz53U!|2}z(K>IYF* zz@5P~;~cDNET%~~<}tsAfzV)cHW1r;$9ysXlYlG@3{F4+!-hcJaA~1rz<2mNlrCqx z&A?a)3$~7Oe*JX1mW3gu4UvF|j?nNytsFqGn|DMJ8Y~#e2oau+Vw?pAG(y~&Kus{* zs1m^#VU^dJWX$#Wk><&aCKw+5V*tk@2p4vzy<4+c&}4QF|qr#>b({O zhXs1T7i-mxCr8(uW%u27)t-){wlTh_mt)Vyp*jS>&*NIXUyns2fB$$8h5!>4^9zZC zr-;M9ka9^9nGlQJzI>s8OY`y^^NaJDB&I!)->2VeXA8lz80xhLo3Zt_VJG6#mS-SI zx|cWj!Iy*q4B88X_iDV36CU{HKKfcJv>F6g+Rgw0MxqK=9p=z$E|rjU7Fok{v4;7W zuisp80W=8-T4=vvs+P+2EM-4*68F=8#C5*>c&iNAe!&&ypVHr<3-yV_T-KFD9EAdT zk>Gw_lCQbRw|5LO7E*D>s&T)~w=Ctj==7}MB*kR6_c2YcLi!0yT15Hy8AfUlf@ z3A=w*hkSv>5JWNFVr|${EBtJ@C82CoHR=bSBNoAW;+U?$h%4`ij)!SMY4YpcOd)46 z5-NSexv|gl7$3*x6g~hIhdC{LVVLxYA4%IZYzR zZ>Oh{q(~l3Pe&wH=Te34ug<7vSO39g>fyOYcu_^xOw|}zq3!F>dU#X9<4^AMxO4^@ z1j&?nitAP_sF7V>%H64-CDz?5Ji(;m=Ed9ev3I@Z6Ae)A!5aDoCu5Lq%CudS>te5HJSM8%+C(fP999q_FQfoApX)k*9M^rbx+m(X_q6sl{ zR7+S@+yVlc%qnysCGdqtEW@EO-=jtU6-O@?554*CTQ;q*;__FOKew@Kb<1y=RTI2_!VI`WwC!g_G|rk;5=YNWr5)UDswqz| z=ju7s6SkHiWv{4uY*$*dR?JoKdILdX7CZry4RK==(Ez@UDKH`=%yal48d=^{yGa8L>5sO7bBb;5V^etY&-)&vPY zU8{jCI=x;`Du)aV=1=mY2(%UHkr;1?njll|?dM)8pW0gk-CYMbaJvxCT>kvq8tNX3 z*0y=xaO2zF(VnIfqr$1M1sf+RtjcV>{^!y;8UHcGegQu}9(9$~ZI13&Bpgm3SuJ`k zuop+P>o*%#lS4$p{4Wm<#^#Ph_;*lSV|_$qvLz(n2Kr9ZTpLy=xwR%NI*H!i)XhANJRPlf-28cWV8*1+}IvD7Qw0FpbUl?U2hJK}J zj@EN?4>W*y0#K*B6Cb&o(H-%W^6^~hJ+Je{dfJ7~$4mEWYrzaDAEC#ilnGMBjiI{y zxXyniL6c$+hb*?ja2Q^Egg|Ca&WH+4DNLx*nymZ5+1T*!)=ck&)QKNS758)B759}n zhdyctrDMBE`nb2EbvM`i{8Xi1Bt~RjAA~9<=>24rY%OQseqjndE7xh)Yk8WRS z6n<{&DtvGMZ0>Y} zZ9WY~3Bimaf2(jp5Lr{+ZvQ>>KJ9wZZ)C`=t&R^w48+p@TE;G)mM>T+c#ruREqZD& zqTJ@Hb~JP-DNy6(b&bEx6l5Zq(D>(R%T7!kd+s_x)cRYCZ*RH!(_Od}EfHQ%IlCj( z)Wp-Dkx)(P>DU}_qm_5^F1dZ-aP-M~^Jvnv)AZ^h6+g+ROg5t(9kR*gF%_z7Tf$-+`aEED3i z7kM18x)tzVWB#jE8$Gu-H1E2i=4=pAWZ>$}i#rHp@@NjKvO{TiH*gZY-;;my+fMlA z#)o-NJ^MDx4tP^6D_-*R8zI)xbylM7Ce=ioQYHFXQB(rSbx8K(}vf&Y33)leu)90_u|>FL7tlZk^?)D@y^9_&i4<_DHLx%X$&YmbWfGM`_iI* z);#KIsAm9?-n+*fOkZSHP8i#o--a=j4GUGDE&AsTlZReC%dikI>OW87B#8LdyBTV$ zsad;P#gT9&yN>ew8tL-MR4v&t<~MkOy0NXpQtv#>I3*(c(}XD6cvz8A*EdZ~qAC3d zq6WglVmGx^ViqfG%(jR~{A?%Uma`&(^W@{-c6XW*7cT=okw@M-SsHjxKA|XpaW-luR3%T=Gr;eM3$|2T$cAM@;Smk5G@$IwP~#Z{(u^F zczt%e*}4#@hprSZFZ)Dtq$JSvQF{gq5dUK&*c}PO1rfi^3Gx&4 zGUze$%IC5drK4Y|jbu<9E#6?fcq`KM-eqC`;%-FPa64>g&C8&!x+7@j#6#oG^7XfK zQvwn6&P(HWlAdXjUc2g+n{}-OQK-a-9uDBcx1ZJsbo5nbw{nepq?STZ06FjSTJ2(y zdoSN;-5!57HgjhFCC(g8gDT!eL|{)?S?5v1%a z6QGhxb;J{Ib-WoFE77@9fK2h4fwU?UYK)3{u;Z+IDmBg-+hb@DRrAJ9P z|2Eej0^KB0aU|n`my0~A6SiKV8^14p%h*usDuBfm%iau?ZaX@>=yx(eI2a#`h|ANDM(3B_&9QQW6r%kVz{wa=_^B&H)Mo zqy|VTCEYn1>FyYfbO}g@Xa93u=Q$b17fY^)`yPm^e3$@5Azt&{UFh5E>A*>3#lCj(W$ z^m-^3#?ymeR0ZWvc3f$FixUcq5b|?<#Wgrkr%*f{DY53!g7)zoETpV``=W+Vl?bmC zCSl0@&R`aeZg~sPM=d$j64eV@B(762*ihh z6j}l<59VQxV^BUZZ*EVFrqa*BCu~E7w$FnI^mgZ$Y+97#RaAxM$RvGTOnvbH{KYnD z&tq)OngUBumI`sj)7U{Y>O?f>Q$wqhw693HdOk#EL-^*uPXMu3Jp{{X?g6mU zKLtF5R`_pkueE|M_q|O@pM_jMn+Z;v5|pPKPZY}6!y;+_3cPk|!?(Oc+~3fYeP{W! z8kfFt^4s}i6VYE>L6aH>^XD?sbTXb_`@0~5J&9G|(v#(Zx67lS*`_{IT*RrylK1_S z!J%#rybKVzeBYb(EF$YbD)09j7)2@*JKlN^RVUY5&>r+iqd>9XwzXR{fW?h`{cdn% zBujc+rrPi9P#9T>d%D~i_AJ3IHtD@@oQ~O5c648^^B6FM_Iq>OS6G#20W$)Whfrtn z(wZe`w;~;De|gE3=(|etF(kSJ$JYYaY{ukyA2U)&%1y{h{+iQaqLxISfRn|EY2!V> zS{^4FMPP%YA_z`-0EpNH#exGBls3w(KS$)Bbu71h!uj!6g?ToY1beAY^M@5UZW5(uWp-w778&!48R2nSB!_pmg3UH~V4JF!A`9{{Y% zT$T3vw)X*9-^{*zEwQa3+yKbGr}whL4kZ zht@1NQB!Hf`NE$RhixiIF5T4(2pWFv$)Gs>lm#JV0|bmbQKnjIAV-7*3wc1Z=2;PAdQf%5k0|#g~7;yF=ba~lp;TNeTAWCEn zZV*STCflPR9AsIZU3(#+6#zDMS7?3U2{Kcr{jYg@SCAcQ`*$ai^^wXIC-{9ahu>2` zN4o34Pw;S1RjlnhY^FPn?B#ZQO2LpQ<$uAvy?T>T?Tk2#5V^}#_irG+`yCl1l%J@M81~P$ zf7`v3wV4(3`$}W^=&i5A&BMmyd4K*tqwUGDG;D|vQ4mRwESDCP_CJIOZ5M#eB~VUI zh1W61=+%N%={Fee#nq{_)r@(sW~2}b^4+(o5>_tMa~$o1z>#0Dvi}=e7VFA^U`AM# zrrqM_bTm6kAvK_=yzy}TAB_WIy404rxD`Q~%3t7^6q84q5Cy=@K(_zQbB+|cybh2S zk30Y#0_3RujueCujl^LS`_?(g$~zoR%Mf%-FV}zY$YvY_112vKGzQnBHM`K82D2eL zQozy>A^V{mXtA#X3pNPg-SgV5WfjHVz@9h*(iqDh($t$(k!9)8rEf>L zd;nl5LQr}}Td8HW_GsBJ6^ui=M%1Ku{3)yQLAa35+D~w~qZrzSEelv0Yp0S*Xme2e zPAq`@q9Re%3p481I)r2z$r~|=_mtx9q7cB_168;JL$br~zs4Bz7{XPY< zBLNN&!Lg^&^pB|dPis({EnQzta*4oz$)56A&R?7y1j4wX6>=Z|E9henr`aMX2RnG; zPhthV0>6LD7}{Z8Zt@B0I+DgX+2n8q$-5v;(Uj-nDJG_Dzk0@IVPLH_>u&g=l$8A) zK!dt*Vy~6l6ai#My7ch!*Ji2~Xn>kBFSn-m4_*4XMDfMG(pV1FGDd#UB&JYqxH>o+ zje;yMsnA4;fL_yi7|b4BLii{WIkCFKa$Qa9%CILPmsd_h zL@MicNuNr!w|`qzK>3WYa-Z?>oj(;!UMRkXZ8ThO(>o&{0x^IjY_gju)7F6mKfNYV z4BnRL5LKN?D?MyF)Xpu|)Cwzkx{2Dp?X2^(PPYi#Xec{=r=kCdXTYb$@No=7lq5Cn z#eG2AAtpw&;zN;ky(Ggs*eas6xTa9#$EUfN9IEHuwYs@y@TRCJD69NC^yJB1yR6~U z>noGR!&*s3CQ3TXryW!7d~90Hsz~{wi8Ob+Tq3+SnVnBs0p9L#OvtNmH03_@3r7#%KUb5-(An zk~X^%f1W{EJT@O|7bot}XTK(%D3o|m)x?Qg$V}Xl{j}!ChGoP?DE8P)zii_+7`KaW z!agj{vXIWupj5yS^*IiPe&l?8D03&I>IoCGW4egN2E)k+H*zW|#dYfIWtx3N&>6mS zCkM>M>_2|3r3j@g8cNpv3BkIY1O&>;*+DCw482fCkIr_>QE)~~IcT5=V*S!~3k{ydUUaDb1|3d3$=daI!aF9c*~CkrS^N zF2*!vROg(WZDY413~p>RPxXZKc#k*&e(MH*{3y?N`)76T>=6u;5#VWvT4{S&+v&dw zykh!?!f3}^mN5Yav6}X(BIpw8)7I(T#eU$8#jDhMJDr|>x0fq$ z36st|ByqX({F1&tcYnJlul;T>Zgp5-opmJvgATQWMUc}e7pxtc<-CB&Us#H+CgOg? zYUe-x7h}7guL@V1(Yg-WDVW*nd6|a?Pq@}~Ya8a^RG4QF>1@y+BA9N<235PVF6g!xGhTE%f-jd%_|*ltv5rA3t#Tu-1KPt zO<=^pFzp>@9=7l0UFCaycsZ*hcBm>W^_ff!oHSug_ZZxI_dBQHMMRdA%^sb!|Kv zcwcJHUd+p5D8rfSeY@p?R{h%1%Jd(M$4(K_Up(kaa$_R=6)t4VPk6s$d_S$I7VD>q zDB>~ude~sC?SH$}O@3UKj1?AF^<9Rv6Z;i#76;xeG4ZdoDkRqU+?Vj8VZ|$Z9#a2) z|GheEyE@(79>wGYj1k}5w{AA*X_zapFXFu7z*mWq()s*S?t}mJJ$<@X>*3>G!&04= z<)2Rpa0{~D_=BH18x-LCi=~Bk+IquwywfKQt58}UHA3*D+(yQ*Wv5j##g$CsW@vdU z#=fnowG$^x+7}%E!^ob%$b>#od8Tetcd4$%P9PHHjlC=!*I8X(^C!HcPU1Td<_nQC zCSg68ul*EK^>Ss&&{)U$3-|Q#MU^Ih_1*Qno=(N}b=b&Y*9nNrUf9h?n!Ym1(O7jk zvsiexiA<7(vo>wygP>!=lGri-x)=S8993O(CzXD(&TQ0q^Vp3~m6xx3vexR2+#DGL zi;oef-DPq8wr843JWb3hF3r7mFSCSUNrk=sqQ%p)$-tw+|$3i*Iy=W>Y?W$0k?ELQTmq z83aAIs5dFAFV#s=z9#$45s11E_ z67z%`G3^i$GdzPOchz>&rB-2c?vHNWgsFO-@0V)k&mA_!oNY$MR@pZjm1hOsoK(kV zQARSXL^hSGmQNm@zwQ_;-tG7L+h35S4nd*+yKGsj{Ec8W&h^r*^>>U`fI-e;dx#wLzfGAIPq+o&6C=_#3+joq(5VPmXYCPVV|G2J8j;w zP-E!n;VsgLChcuu*q!&O)-6k#S=dowNUj}#G!75Eo2}a?yCsb1dW3PoM)n2%6uG_N zw3)Aq{mzI@s-&-|tf*|wCg>SGt(uT&4zLu~P5gDD?bJiT3c>#US@fozh_QVnR1+d< zt^GdFcITbFdEb(sq`t!kGhtZyiou7lfgj4A*kU|H{l|2pF0VGm9=-I^yE0uhez<7J zjN=c#D%Qd>D&Ro1(|&e3?@@0w`>SNbt8oGNj^@n0St%yGt9p_$+wP6NkH<{dWzw7kRQV&x%kRB`h!5IOh}@{dLJ2Qg#Ez051PBUvx>L38i#9?QY|YTclDfmzT_juMRB8}Vx{-9 z&DV^~l_LVAWbrwNonrB@Por*7xFDd>gkZ|1v9&qnS6T_TZSR_;T8wH|OfXK~CmU={ z2&amXkS$v1f69DKnrLx-eld_nZzVwvYR1B&{=Pi$620U>0}d#l7dB4vKK*^L>g43| z@`wzYX(_{b8F;OXM ztd)9i8_<*j*8?nJ+~}OC4k#iCn^$3403gehv!UK>Y?vnC!u5x5_-?@I)eELOSaIOP z)twg;#e4*3$A-bxr81?@nD5=MuHdmZ4kQ7l5kCJ0Z@GS7e)$?}d>tlzN3lGmTzmAI z=#I1eSbApafFxKN5qfM!IQ+=}ob4yspADLE>A28KVy-#0j-zg792uiiH9E`#&FC2d z=x#{4Sm8_{o!&0(j7T#O4pGYF0DW%}A-E`e>UVsKi|Bj!*rDd}FiO>E{O5#4q%E7l z7NrOX4ru=#z$;|?&6e^GyQ|ze8Mv%bt^V{%4G9p1evIVmS$N-3y49uQ{-4P=sn*+% z)hj6YYbgEHFJqQa;0{MOnJ_^+La#38n59knbC6(n$`fTGA?PCz_=^y9;2ZPQXV;nu z6B}%+QZ_{xM?1m6D;9Jx*$U{$?f``zSCX5#x$eq6|7jed*d z=w2UWCg>aR*0$R5%A`gJ1e2e86H5l{pfa<<7riwXLU6LXk^g`p`$7ee6c4l1F?Gix zABM-liSfQ8gcrZb*fo{(o!)(ZNk`(;^K>xc0L9;SF7& zNBI*V*nCgW1mr^)-D_HAQ{ap&4hv2Q7x?qb@b|A6SYY}KvUD$y>I5ku^BRtHqQM_X zmqAk`E&kYZGgd2EQkZ^Pvtbf=e`dY8ce{vpZ~aE>WGd$LcMYLZ3RG3LfX;<*qNzV-eF=U`}hh zx0e)==|Xd%DOkWBB@$Nzw*>^NR@7WsArb`Bn&JGElcFCXmE8y*owxnN$$~KDZs_KG z)x+El`GEKSsEaJsUN7BQPY0r8mc9ExN^OlbmNOvB%N=Pm>jvnj!Em66ZY z^I4KVKV(501V)(t+?NX;h|_mD6Ft%GAKFzzk9$6s6g3qAK_P-YSW^K0$DRg0K`>lnMnUg4 zJDfx#glp1d529DM(I8r&9O|HJW+rUeTvk-X8@7sXrlo^4&B1LKRQ=DBb3?@~M-*bK zLhET5Yg$q?@ZP$nGyTcT0dAf63w-Omy`uJ@nz9rBDUR&$dVC0oH9AD=6TBN_X&@}L z;BIK9oI8c@%ECL+ARMWu%vMTag{XjIS}lQAc|;CJ>?!cqeLMH>-=!Wlq>MG8Ql5;2 z!S!&|XP&Y|YsVh3T=_o;5#6@-h z=tlKjixmW`88M)oXkisjKCrx#{AakHLL4^WmomuW3c2Q`HKP>OGuWBmmP~m`P>g6PCn0J>ZpEmef*SzxkWq z5aQWR(SV!rk3*&6gTD9UF13)2#Frr;IFvN=@$vGnG-W_B@1Xb+!S@yWc}4s2bKP%w-U?-w zC)2{M`i^zZA;3Cm43Yd6G$p4*`KOsu-ci|6WQ{>tUD8XsuW+K$mq82eVemM)@~pft z?KyJvL=eF=nSUuyY5Pet^xN~{%8uH1$+Kt0X$sohzwlX<0W1tQ^K;IP8yGos2G(y4 z89XaE8|Gh*UdU9iPDsCa)Hw!20!x2akcYjXUu}P=5YSJ+qwQeZB$0$je{h$i=7i<&i)k33cDA;67DkOmz(6%4EU0< zj%nvHVncZv&$QzGw0~ED_pyyH|Mdnw?4>yh*uo7~*hR~+clzei_2J+3En%yFYFU9N zX`wm6^t>FC=*_zL6emJgYPXgd=2OYweV=LY2uE?h4}}{VQaFD;4MSg!S8s=DppH>c zxWf2;eGzZgl5*JLwk(Za?Qmqb$K~|?@r$ToQ$0Uy=~_YzRUy}Jp8U&MB&)12+zl<- z;DLvtDTdc6e|;AmySR$3pLG<_)*}_^>pMpeIR`^Ksbl_O0|9;stTyiG(DCdSyn$7` zf!H6F3HTT8gcjSgM4#_j44mFzsh>Sw8RmL%``mBew|Y6>i3Q%$glhDj9kxF`lw}~l zAXj-nzudK-JgOVEPs3tbv@po<)(BkC zi>21HVu37)batf-Dt4UR8b8DsmYRgBoSNcLCLypNQQ~po>s4|+$JXaPlwjU*`>%tK z!{zV^KEu)WY438M1N4SY@!b`SHZ!|??>jh(dH$;-1+3nfHnr-9r>r-Ztn-qDoOpS8 z`g%SbnT}bPZr9_b3ahrXKL#@nfCdKB&d$VR_Gf||v}--{M|Rj#*d@BiJ8LJ#iRIgO3yFCI>4%)JJLXw=`2Z!=-N zmE5EP0_Dbh+VNEy_5Ndy(GeM{RH$l|(F+NqPv*NFa@!j@&d#sy*Ron$8ydPk_Zt-b z@Nsd%QJ@~Rj=Mj>%%RzIW<|{WVUyL>q=zxo~{^HXP% z>vhNV0|S1SOM_xG+twNlb!>q1R4oV3TwWPz={M4JNOXsF8-|*Cyl2Y24*Nj86p(qy z-Mp#S5mQ2u$C6_ry8dLR?G=q_joE0;1>r)qe@;LL8wOsgYUdYmVteg*Q`D^I=Zicx z$=?!A`sx@y0Fty;?vKddZK$H3GS+lD=QeUx>AuHSV2-SQyX)(&;_HNcP?ze*OabOyKxM9*f@8O{%>4(`5<4+Q%etvdL?5^g=?%5TiC_yb2}>HT0#K;R$n&> z32%=DroVeq=+-9WLg`5dP|)<#lopl(vGPJm%c?6!7TZyyCkvM@H{{qv_q%1}cDi&h zr{*#ji|Zw8ZC>Hhc<6Dz_!9~%=8Uq*oI?K)ldvJ}VTaMm_vFXFDwv!|f1(JK&wQ3C zCF9%4^(;)|Js*SR{CUm$NpF^dC{nG}M|4DBDy{E);aMP@yDRS|d-=7Ze8#4H|&RQ$x zaK3cDJGynm`BZ?(577bZYtXxf$N60xl+4<;hMHi?K2B?Lf1Git9|Tgz97@!Q(2*Dn zHa4bxf_})0{(ktg1>;bV(7m)&Q^te%x@u4~Q1w1=tP{V$Is*;|NyzOq#$c>3b1LjH zD7aqcwz=L*EUXW+=dpk_FuEJa5(C{N3=vKm&lA^;WUBaD4IPsvl6ZBBRj9W?lbbFM zk|i=$zO9VlWv8hRr{;}D6!Hcu)9Tzm@A|NU&21(|BKq?ijr!SQ$Xto0-rBg+P9sXg zMnvB+ISp#jA~#589bL7Z_2!TaZG3-ni`iGw$QzZxGT_cE(O$0p(v*v~^_|+1JET9f z#pJ03I}*=|G%+gQe$iSYg&4xeO~g;79UBbRd_ z;))u-8{ZT#d{gv^M%}1AWBC6bkjohV!{TVOjud_2Jy|cF1UQiTqM!5}7Zw^XXji{( z8eJKWX4_fglm84faQdF;LvjS{d}cspktH!J?(q%5lM^i$DDN69M4D`dW6&F?De5h& zl20z*)~<8E_~u`3fClM>S1QP zvnY;fI4&0_a@ekNWbSBjics4!>tGt2ZV$Lw@B@S2C52^+t1$*^`ejBZS7G z#|7KRhftZo{D85>=?dSJ1AqKA-x=Uhh7ui1h|nwFU`m@g ztT&CVVg5FK+3{xWAR#=74M!!PW+AEo7%V*>0$}}wBM;^oBfwQx7F_7X;Vz}4>c;^p z1ABsy8t-@M*xm{*Dk2WGpgYo8az~h_R(!a^ImpN3x%nN-V%3BYAi>;r9?VL&n@O_s zC_`m<+-r2`9<&t7;W`C63rMu703uSbQ3QOEj&Lj%{je(@i1)}MtMv29sJ#0>Wz3b3 z^1NGu?-`ZwFB`Mjw}A`ZX%DBX+qb(mOdr*AJ6ykwzNdvFdGc_AoR`xJ@9F3`iIpk2 zu&4K?)LeOp_*;Xf@FCy1nH9C}Nm>J;3mgHWM-IWa(^TJWbPBB~su zH9mw(S&1*{WlKv2U|BT&Zv9R1c(JcpWn9h`9`xG4^W=eKc}__|9BFs;!4z% zubD^@u50lO92K2u}{FX44u4MNf_OMGz2#Br>BC*~T;T6Of+- z+m^o0SK-eW0$Z2XQqTCe^Eb!({TH-#VnoNd^N>ehIqWNU4G0p2CQ>Y} zI`Dy*N8jIv492Mkumjbk7BtI}s00_A>=H!XzCAAqlbIjfd<(r>pP_v4Iv1Wg=FD^J9QE6f0g!PST)5 zS{MjMJp%Wbgi_EnPg;M3oc-V|)}((+`wCj1G(ek|NP(cM{i!{{jN}>*vSAm&*$9FC z5Mfpphh@8G=D|^1e5vdytDm!rxM>UC+iK}Rxs|i^l7+&7Gk+rKXc0mki6)W2DgKZ=12h)H*C|GGTff6TJV-=hMCj~Ct7cI-Hu_Jt>=`JVR>g6MDhc0C4M>+Tom zEC|_)_K+&@8dYUG$WU@qcLJEKvR`c0l-8cNP zy`a!lLc)e6;XP;Md(gRBtZhlzu|v5-{!dMRLDK4MW7?x|K2L#e15rlenLj)?msn|SN)5Q&V>I3Q z<8=VW?c~LvqWU4)H(tUIch%dYs%l4N1v=#;GSYrG{bvPh+0%>{vdKX;YY1`e@1LMn z(P5iSp+-Dz?^@?wR2JaFHS!^FyxEo*dxj| zx=Y`-oAp-$P9L88=IpfH77GO2@5jEm{!3JUl7?s`nnLm3`@S?YCE&J&?Nrlv4+`t>36JfhrtUCPxB z61VJRL75q@3_YC08XGSv7dJg4_4%Y5m0RQFB@94Roi~2@4&{YAK z>^#3~3jcS;^x%bFJS1+J%llOs+0>-Z%kRLk=u$0Jo|{>kP*o;1Yx5uMnWei%jnwwe zZ^1oq8y3a~*JJ#9qn^k;x@V{JT&a19B@()EZw)A2~QJl zZEfTqG~k}6JO8)7ayL9*z=SUCGozY~7aDZ&XBH-wSDVWo+MG_>m+Vyx^(fG?m3o$y z{w&i;-ZEj{MwDk=rE&i0KFB&D@47)o+~%@~_kIg~oL^md>>bRVd>@vR@&EqaoEEvZYK=ck$6 zTs(4T{$s;47?cye?5^7}u zUi!a;L^1Z3&Y7B~`NN;X4ngV; zC+|TWC*gD37yaOl+WWn`+tD9)*w|US!F$#@vok-LvpuTtn>CUFiO-7Nm<|sf2hQa; zZhEz>wO`uBx_$t3Dp+UFST#l-^E>WUU9e`cn67I&r6G>$X^xEyTlX1Bu<7c>CA)fB zI7$edtW~Lsr4DT_op0XVczD+T6e}Kf*uMx@GnP7TaCq8#uMG+>!<>E)TroCedq<9u z{(0tCO%Xz-Mkdi48j?!av585O5>Qmk*%rvGm%tY3T_xLwPfcB3!HK^&Gt=e96)!!h zuu;r>JLdEHMJIix)YFze>w4QlTsJh0cij&7A)(-fQmRn!TVpS>^0Ur$WoEcwF`TOxkks zI1sy1I-S1NOWtpJq)|)wbmqXBQTD8UES+G1p@oAtEiH1gt>e zb!15U)5Y#SPkWfY1DdkN7d%JzQJ!|KVb-3Bfwbf2ylLh9Az(9Q;>TDbwrt4RRq%qa z3ucMNsN_?&KUb|T>C@Rix2a9iBpzYxtz%4c&3AjMu;wLIW8Yh4(1Ep?5d?e&@;#nE zz9c7)t>O*vd_W1U-@f_&lQ(LAzxcV5)F?LUP|f$j2|BHSp1$x~c~W;w@IOu-?wr^4 z;_PX|`AgQ=Q10J-CkMjeLSSh8td zbeM5wuq`B=DviM~T|UJV0DMu=FJ1k;^IYIeTg>a?q|nL9Q;_p<`_P^TdWe;HV68#1 zbZhWA=jh&2K9(YP7;{Y63Jh^(#g~zwdzOVnx1ivzrHP4q*mXQY(M+DRyAJM*KNa+y zL~P;uo^mJ4-{}Ik{r@u7|4;V(UjDwCfVVxR{cYV;AY0)dFXF z@2JB9yDy378*Mfg4oD#Yo1jWAjkSDyjn8MEn^e3Y3ndnW_5i4h_66eZ@#^!x+tfkE zccBr+^b^I`-n!3L)H)s}oFDYK_Z69GyeoF@tU9nV$FmQhfS9~4{EG#KsUYUdNM?K- zx_hOXmHX{`N}R{LicB5Nqs!}xxzPHXJZ1Q?>gG%UO#APdBsSj7!$-|?TB z3D5~xYrgwOY$DAt<6Ch+Gkf;oNo{Xd<@a)u13q4I`>W+ayvrW(NF3TRoSSF6uL9R+ zLYTVng9N`LQl!65GV2XD+Vx>~=NL(pFtear)+ymIf*Xfm>URvSyrBK+qrd;)$1+*Z z`zP)U4x|@qBd7~M)G{=pb#aoLJ*+AorB%l-`g!xg!xi;=vreu+g0S6Y+wI1@h&;9P?-#5l#Y@Ur>8w zr3oGG{D}OFx`qd#`SJeQeFX%C~$9w#MgG2J%kZ{8*D@qRp6ArH#1uH0x zpmi!1@TsfiP$GIMHE1V7BaKv`Y9l8A68KP}68QRwjFtcG>U|})tnU-l-FIuC@R#M} zngu?QGHmxY4JI#c2^I^E?SoF{ritVXK_^!k0VEu;Y@2a=)dX%ET-E^*xOB!;2M5Lg z7G;l&9TxV<6oRR%Kf1LdGdmFtI%XZL_|TaU7eNAEAX11O8>*&)QE?LBgXzO7-u|4< zkDo9tsj)6GN1h2r62YPLkklC{PZ-HT#SI6l8%~n|(4u)oKDLz_i#U;6H!{7)Q=f zD}{Lt&|zg{u8I;h)=fD$$mCPdIY?&%_A`T(-roM8Ke83Ck>$)uP#C;4_{hS z2Dug<&H^};H~UW8%!Js1;-jVQd<;WrMW&V?>D-97(_4{v2$g^i^J^_oy$#o5Rk1p> zvJJHS|GK;%$`^b51fOV7W<}rv3GCYGiffVr>pENbfa)Y3Yg+7 z25k9D3a6w@K^d;TaE3p)P5 z7u_YU$^8MVuE3$_5I1AseF-r`)J_$Z#R(+>%}YOt;0RaO<5mnS5U_=C_8^1^5I7D! zT+H$%;{d=m9`<_T;-lwOx3$NW4A_wULf!?&G^1+r8i^7O@e1|;=KY9MJASTrk4yi8kG3kl92PL`0t)W zfTycKvx)e^?S*k`ixe7wcPVpU@NY0VE8uj4e8o|Wr#J7`*I$0O*pnuzhO=}tGte8G zJTFzve3n#uy*6x~QAlUKC1|F?LuLrEFO5`z*`m|cvI!0MYa9wfq>R zWPK-igqlZDJw!*LfwtOU(5~og5yK=RnhA;NETKm{RR6Ui) zgy1f}R^1Yswp;SR7ftpPE*G&Ffy~$}>1ZFr?jv#$=q z8`;k^GgtT^gQOIi#W@AO&XNYD^_SQgQHwT8)v`G4_Vok;ZA3~ed380v(|z`K1Brq)|zeE+ir?i8qh&|-iu62F zU{!su?fsID47Q|Lk8zoHtd}2N4mfjp*|<(N&ymW#AHeYQ<)|pV*q;TpOHI4@mzW|6 z=l4tJlV7XHga)5C>cg!Y4NKTm-(?KWvlWkN*7tR^ z#cuwAltD4+t4>mX@r_FI2ND;_#Zdm9{+_J{=-|u#walM;zyG3sKULt=NQ!AL)lUBs z>aoJ7;xyAA6=Un}nk2{tG@uDQTJn!ygiG6LPzgl{){qTO;DRAdv{ol&mcPE(hv^{JM zPcIE=N`kMKoH-@^VrW^!`yIS+;GH}eH`8Gvn)M?{Cy;zI7=waeCx z!=klw@+kG$ZGUcA>2}z?M(^WvK{Aq*c~foe+Wjz1x*l4ZyY*9xM&Rs*1;)Q^OYbz`lf`s$v%gif3Gsqc47-JP5#>4AS59I~smQ9q9 zC6W$5h9|KKG#MeI{N@fc_JB!Nd^6K~qsz2!=3f$fUirU2{G*&UepKB8Z!`;r9P#1C;Gp|l-tA6Z z45&gqfhyIDu|85QUBcxVy!3xZUQ+XUay>O|S8vc@PCPWU+ z+yf>G$H4_5JgkjydZ6~D!5JTkr9F}uNeIay=@Grzm0rwI6d)Y4=y7e^T1m4$QD(?S ze&x)%h2gjCUarkJPp=h~e|TvRnSMOBJmS&e!6F&*94aRM_0 zeG(10=is?D84YwAYWu&)I?re}ANcLtjapGktXj2a)T&KYE2V1I-aB@U+DeoXqgK_d z-6D3xto0LAZDLbZd+*J2|6lx{^PKa%$&0+mxzBxakMH-ouFnM*;z|LUtm?xUFH1+3 z46A-Q+Wam+mr-wc4gyhe=?+8nAI_0sprJ0JNxR(u%9Sj@YrbY`2rnG{1tGUY{;(T> z@Iah6%j7V0U~Uyq_$MH@Dc~wjpqlaHA%1a+m+_>}*M~R=ik6#5FhAw~AXLT2jH!rP zg@^`E6jWFJ%Mp(aBxRcH*3KD2T4Y&HV$<;ekV|0#mvG>HJ)KEes#^17Km(aS%m4`V(w*~{+tQmP%h9L7)r zCF~|QcRW}HS{@%-~El=M>l#tIS5V5T}XVMSSK zuWkgnGJ>o_dIf3QSFeE~BIKk6zbq;%)qy>wjLP0YI<-D~N?jC|xEv5|NksR73u#OU zbK=sE=##uDW9ST1lDf}Z0PTeF6`)5xLMhYOV(@i4-_JQgJC5X}aPQ-{njeMf;|$?N zVmJaCIX5)#^2}xpZ()+=U_r_#b^J022{kN0PhbILx`U~QYdh5qTYMy^bOEsQEF#W> zD1UZ<;j(JEb;peRr7L4p;PbYeVpwW5SYI(cwHnhvY7I67ZvtNhCg7BkGWu>_ZQ5A~ zLN?><$ec7|D2fz8TI_KY|8L3JcV5KfmkS5eb($Aye3v+%?G zH#(ei>5Cw)tOv#hk+=-7bvbwX{UuA)6o5CU2$}+@Fz=$?S=XtAq3dCMaJ^*4-_ku0 zURMnxobxNu{P0Pb@FdgX2`<*Iet{7c>Cw;?2Q97O&7&>gz0Y7L(iZ3+?D;fP=)Mux z?7so2O5xW-cL%I@9VhR#=~4x21!es&AIESgM$6nB$f!36K-i_|-(L6*uvDwZmKXm% zX?)gT+3MD|xN|(?nm^zrgF1XXD@;xB`=tRbD6jn;ft9SM5{rXOrgH>hf9wA4ENPt3RO z_Q`|0#YeN5)5n_^JW*{oJr+;YFrQjl(pzL@E6X@2TiX4~O6LmI^Sreu)6*St<$Rvq z9p2vh)}#-v{_JPz(X4;S{%`td*uPIcoyq(P|HbYsD_wuw7P0c5`#nE?ZSK0&&lMtTrjBA=u?SfR z`H^5**{_V5lmE`YiKyK3B%rOU&SBC)Mp_02+Q9amn?D=l;}zFUP{6<ls%Qu)S7RgR`$B* z$Sl6DsWG?hXGXd14{BbsNv9-~RUrT9?y0N`KHz=k{>DLTi&d_A6KJ2Rq!V%MDz%z>XR!Vml&CH_& zvQkn>48i0Uoy-sXxAa@bEBDLT4qf2(zw`ZXvOy;&lN$O)HJ-AlgQMkx5krnx-q&N| zvu@$-QZw&6%|z1t{QQiJ>SjL+)=r%zoW)mtRBB)u8gj23YP({$aE)rUvKpA3oFq(F@_e3u(mJlw1lj64T(eoFgNoBeFf z%CZpw=?P!n@mMJ%9^!ZU7Ac1{3s1TGpgoEp8lKeJGb1s{ARF-kinG`ze?kA7V^uqk;PtMaeq@N0&W0C zdEq=IVaKO>qa^fY1mkc1S7u91?VGOHj)p8(gW0CiQxf?v+69{j?|Fk1EC$MxDDA$d zWH;#Yq76le9ZD;{c1I6ytyq6`3x4}Puk9rbyc||Dd-U$>!|J`O54|cpQv-$Pq?jLie578T_nlu>p$ zd~fdm^F=G^Xb)nFXBdNJGwIRO|B^h-H|8u?h%4B?Ck52Z9aB-|%7u=&cBlW@@VeMM z$?Ud$&9_B$FT5Gp&l*)Gi>t?2mpN|+_{9CZS<)<`@V)kX>$lhv(Atafgls<#zL)%1 z3x%#2!t|-(4$mFiWRIJ>=uWvf#SRP@m2dRz98jrKCna`3ie z!BLz$WpM4NNw^%Xo@8Jb9I9xBGU!}F`MS`02kan`A?wnll02`I4XN&Y@{)cVA zqbecvrc26mJ?<>vbr?QyHNmVhEv;Q-0Y){>$aP8m*8KSDgR z8#%_2zh^w%ov*JBz`Bu-PU#8R$o>&t(O%m+%^8czBK{qmXqwY<6pzT@*Ypyo&@nW> z`+AK!0k5brG7SeVY`N^&%>T%s_}KP;d(B8wbk4;oXWiU5cA2x=>V*lQz-$npN% zlce4$e~&YCY|@HI+(sCI2-C45M{L9|!m1{k!&-V2BB0htDI;W9l?R}+>A#g_Pn;+A zR=|t+$6g6$M^JC8-2A~0IIogmoy}I%AdBlPsqU4}sCXpVkXeg|_hy+Voa)&A+*4fc zn~mn#GfP(?i6SEQ$99cOgK-p;QZ?dZwwXp#=#VGgZz9I=NswS}5SS!<`?WL95>4S4 zu|UOv;5)i*H!PzNr->qdoEq{wkP89~c>w(ip{}ow&;f{X;i4oqC~W{^je|sxi&>^h z7H@o{&;?pT`3i)@jGf2~aWHjFs2u`=nsDpL758ODg43}dpD!kO+I#?a0)%-nEQ>Pa z$xN7JAv*~QW$TLkU=KFrOsyfo=LqxAPlX7wsY>%8tyBcn+P~r};d+hreWqXL*&4CK zi;_}eKju{79Bn`ai0bTi5Rippdu->LxvpmOi7Rf7xZS|V=gsg6^DLP<{~#(h(*(A0 zA&>3+=quGmPQZMzV1lvZv@@`+jR#3Oghmw{raZ+l6&Ham zAtn*6ain*@RK7mo{MATyDGtJ8uNm93L{!(?Vmzl|jGVcfAYM^j zY3V!~LW2m?#?2`?qEhRD#KBhyV}^pd2?#zHtqqd;&-~QA@DA!ZA5&Xp0sYj6D*sW3 z>zbzcXMX{;hdV7Gynq!VC{4#ripfU2sE$1q@Tpt6>Y1ex>8kxu>m`7KjBHq<6^|;BO}X2gA55lV?deawQbBKVB+)HV9uC zGo^-7I6t!#sJt5HJc#&1sbZi`+WhZD6%pCcas@o`vrbBXdc@0cgK zQqp`rK@Wm+Wy_ONaRFbxsz+}HLY8WTQ*i0xer~;ta6w2}CZ#=k6h_dQ@}`HBH&INh zNc$Hr0?bZsKH%J2`9r8Lw{HBm|f$52<}8TWDbC3t<{TS{5+cSb!(asJ9w@L2-l z^6njOj_{4JIGYNKYq@L1Z-_33=tDdRk^l~!I!lrYPu0_L+V#TAM;0TX{P_)$q}4d* z=7J{DB2Y4iR;(bLJP~3A0~HYA^K!+x=4ZvBm7palo@!9FEYIO$UYH%Nr79mPHU?6c zGnh0n!%u-_Br-5Tg6}02eN6&3IB`FlTa_W#Y(UGI;cQv$6Mb6H_Pi~Ounpr^<>$?e zo}trz{d_%8KS#LOZ^QoSCN?+t(vGC^`4{r zzWSdu<$-+9S(daV?M8@HyvmXcuTX9O#*8S>?lE1ze$qzY!13|QE72m>QHNXwhHVzX z$%&Qb4eJ`^FcWRTAa2tIrzk7t0Rxj~q(|S0{$o?8??E}Bw!D^Q_PJ&|1faGWwNC8XMot6(Qx!%gF*g2;60NX>u1C(B3po10+xG@VDl2#8H@)*u12S{W=d%|F_tIvk zodrzqF1-$cHwSx6e^_AD@KH<4jk( z1yfBo`^=`AqlwGD+GPi=1p3L?t1?;9`mqgbHG{I}Qno`0X9VoV6=&X4^6QaNUBVD_ zjz~>Safo+_4~}waFXZm;+1>6~@=%o9OK2TsAe8g;&nYIFy#4iS){Tj!;drBal>o%#r zQEzMxd9eB~HNfxb#p*zFi*OutgPUGiHUBnY?TgeIW{z5?U?L#6Eo;0f;Lx@_(LYcE znjXOXPN;Rp#l7S=o5gu)#i)z!s)>Hl+^@B$7g6&E2>>=<@U5z->iWdV;mYjQTZh`M ztM2;me|;Tl=SA^sN9G4^I^N%Tgu2UG2=46>r5Cu(Mg+9&-0XIDjOFcF$z>O%KGrS) z#=%;Dv9?AFVY;#IaZ)+e3tO>Dctcah;!xWC?KO*#!)p)s=3jT`^A}z={KWB0;n0YX zvN6~BIgJVt2Y(I}mZ-Kj?#t1@%{)1NT8)7*p}k$v+;B2zu<}dgYo525vf46}xZ`un z|A>t$Frnv{J=6SFDv+YY?&$zc1{#g`AE+Su{(yOsusJYB6$PLA2>-}PFaK-$^N z*(=zLTx#q_3^nuB>sjjY($doMiFr4k`3j=$2=mxxaJ`Dn&dEUVXIz9iPrRu#O0#e@F+r>CJS9?Aib@g{0>QDaX+qi)| zWymM^PNuOgm5hpbIztF9`6J$LEko$wC-j<2h3S*oft`MAueNNdB~zc zNXsMtaFp(TDtETKh5_lSMp7y(LV zerv-Tf99Adj?|lg9`0IbzM!>d(I%Aqd+*Go=LP?tNbUaFja9cC9v>%K)$8@x<*pK- z&-}ZNkF1HAo6bMrtgbp4(>@o=bvSaWPrsKpyM^H+erz{%X4B~&8g#XMCPK}l?e5_Z z4G#1ziyVp^J8Bi??7J~*p6y(gj0x)auVV!I{_j9{qgp!eU;Dz0)TWwQol202p$^_* zSGv*IG}F?^xy#Q76=Oc~O?|P=q+ig_FMVsRa{Pw3wwgqr?})L_2>s5sMMI4ulVloA z9%kmlU|+1Gmhy#F1-M(&X7B4|v|b*}dzrmOlR{F}U*D(rTJc1mdjhDh;<@0KN^esC zs=M@`c5iUye@zA_hattKNzH@SKV@W_cT}_2q5}J@GlY_Rk6NRftAUg0`PBV6{n4~y z@Kpd>SYEhdsKQ{(Wp0zC*xb}YW0!uu%Vq|yWj8Xzs&VJltSW#_MzN(L{nz5sRW_ zIHj!Xkh1xIjUosh#NHR&;V`{+kSE}=kiST{TLa8^i>!^p=?`f7zj~yVabd+lK|@87 z11HW8JpyE#O;(>5{pjw5WY#Zf7~=tN`Rc05dhRr6{^SX4EQ`oKIamb&GAyHUFnXFh z6e+;mGxQ}g_2UEa+`)>yVhNRYu#YsPw?48$f`kM9OcV-Ar32H4{n)!8auJ|ZiNZv( z`I`wQiwT@klH7QTAj8|wo|afXR0;dwlKg6DkjJytL{ z`+sA}HwDXs@7v~`(V;;ny8~rMQwht%i?dtJ@$k6S6blQDpO?#J15K-l9xJkTh^sBi zw1;Ic;q2@M$cgA*6zhVX&&hRi*X?&%h&Mj%%75WbKV9u8UjE?aYCA7K`+s!v|DEzf z%tI;Kog1=9cKnfJmkjyGReIBg-rFK~po`4LvL3&AYP>j=j}KrVZDZis{7h$7Ya#oA zis(gHP<2Ak#L($dgu^uhZZl#yx2<7lKxKTe>9~UgtTyoF$Zsa0&2(=gQ;|O5+`%7h zUkd?*R+Wa&hH}DGiV8Qay=y~}5XteEG;$MyyLVn+z@4id9s3;$+mPJ0g<{3|r8efp zQ?h4$xm>4@nCO$U`-(j=*C&^Ff1NtV|J>Z(nc$VL_BX`6A(H3)d`pM7^}*^ws%0cl z&4VYWDy)55&>ErhnzX(d@**PSu+x4{KI`p!y^@wa>^VLU9zp?emv}?0HO>3u(O-hh zb5yo9*0J>!8)0nbldD>rIc)+8{&9%k?}D%7kHW#!D$(2CX8YfJ@bTK?I^a=U_~P6D zQHlq-bgMl)F$b_N%a0^gd>ix$PppoUTT~*T_DC8PaNYo2N(z?oS~*#QXa68NWb`R( zs10k>s1~E=8H+R#Yly(^Py#_L>(eKW(w$U9#>1lK2`zu`T}42ZqakICgAZ-Sv-E7d zY3g5s)GQgVEAsT9)2?6M0Ig&Q&p|zuZ~v-nzzP1Rx>f3nd=0P)o)TP>&k6Dn&lc(2 z3xOv>)ufb-U^eYpW7!cX_PX9@7S;6(y?9EHYD+j*oJ2Z!SGr;=%`PvsW`;wFQ7~^@ zGUy{ZoQykN`6cc_gb&MPILh`JFT-rm?F;pHRq<;a$RZsdBgy^G&y}FQX7pf3SH=%? z_(V#08_Z(bWTS2|dugCn+FAInHgg4kMC`}MIMa+8?(3dDxTmV!s{Lyxn(rv51m zDd<=P%}aTrq^VS>oc^Y>P9HndkB?Rc6*n*7Fc@$d|JS zx(BKtF63~Ja$Rjf$5r|4>cOhw0Pj4$Nb`kl)S-l0Hg^EkBl1{K>zS!>Ron!rjS8t6 zk<_kS6`jrKd2=1qfXRiz1_^ck-L>K#g^=`SS8@D8&`9<^_$6^LB&_+XZAoUQBFj0B z5$-E~HnfKAfx1u|l3SusTQCM1BCBMM>Bkb13?+J&F+%y#)C6Hn^*(+AkyX#Xq1}o} zG(g<{JnucCWG+X~K&FcDmhB{$7Y5;fv z(I6UFCdgO`#8*^Wx|&5c$pwL8fi?Tj*tVFt***ik2xgjy82pu<;A@mgvKCv!tfk`SFquff#eKFOy4^II^1PtXyZVJvSRQWq(Noua0+ z(*PRI{zII9a7Upwjrpg+X>qon!5ru`wI_po+~{%?Iv$|k=+ZTo7CpyU= zdTGQ^l)3O4N{HYsi04G&)RV?j3xS3*(GFuKJOSneF}29{^l>|VyT}SStg3?FXaY8Y zu*5>t&JPT_AT}M=zaf4NoaB!BZvp)Nr~0PSt>P;hRo+~Zft#^|JO4YoTqHJjL zjBh1AmXtj#(gR`xbFvY{f^0NEUEezde4gCTkTp?Zd|juFHga4yZAXA%PdidP%_sG> zQ;Y=&!$k8D)`&698Z-CA$fnXlo#sL-8)-Xzqlf(L(G@jgwUto~E5^wPxew}bf~Y15bb?*>ggfpzk=nv)pg9=jf= z01%$@s;QHK{981u_!y5bE3bzUtky-9JU_p1)~zX6$7$c8!3%q){-IL0nGBoH&> z7P*f*a;;ZyX%~uVDgS4U{wg9lDW%)vGn?&eM2{WM4LLA4L&Jx+!KNlA8Q?O9IzaHeOotjzql7<|I6PtgG zGU$gKuKqo3e(OG(??tHSK}_&+tcDk^;xz7z|99*0j(0&sf&AjZ&_dRb``Vj6o@MhM zzxp!b4v+og?_;igrRMHmkX^BWuOQf0dQ&yq;4R%MU{*xqe`WqaEdDd(ue}Zr}ng{l!0U2wW`{t2=I6 z=jSisPmC(u4QBhV0#(>!mb&33aizu_Do}9OD z^)p<_^tq=?E0TD40*5TJq{-U?Pn!6jDB1$x0&$NlKXY-S+g+5*z=K*VD#N!9B~ip;LE$ZI@nci}%yl(aQ}IzedHP^IekXvMm-C7cPGu zt$fKfLB`aa|Ld;h>FN2r#bk7qclK|Cv<7P!6YUPByvDPd-T7$6Oz=^>ax6~OP&y|; z(ERsmANLMrQ*O)q)8oF+<*_^VuBcP7*jj5cI>Ook}g&qsY@%RD_1 z2DF~Ar$xw7pxSDqj{Zni=v@b&Bni?Uv_}=#RWbBKJ;}$+))V4wypyjN`&{Mwmh`R1 zF#FtntEhw5Q{6uARE4L1rU0C=BVW>F0+zR_rU zck@(#<5#Vw!bKGll5?Io{bH68#ixIF&NpuJ8k^fLF9S_+bu?{HHgks-j6VXo*prF* zOxDmKu}Ak*%D;T=pZCNh3jr)hS+gH<19EJ}c^xdU3b$y3j5w07)Wo4li+F~(u9e)i!Z;a~r;?(40+pUq8; zPG=-t5j502vEqH3rTk^3f^^BV6G8Q_C7*xA%yxXAWN5IeRwr{BEd;fOIi@UV)jZBF zuh$lMMgruT%i8 zDEnGX$*)Y8T?IEgzCxI8d$EBpndTVR#2i7ov)UDxYTgth6sFI4h4?c&C5NE%z51!r zmHaIkgR<_RCDA1tX9M+A`j!bUD?<)Pw5-t5p!*&^e!?@Bh8e4LD=y8Phqc`SC|hu( z$~WK2c~%P3MO0a5To--YWzc)k@=?=b{c2cQ%XhehoWi4^L-8*FderF0W1&kc+ORB( z?2>-XKsiDAFGN2%nd3V4(D91FqZ@v)6TYX1%yt*`D3)3=dE9Bmnr^~ zzbmP1^C8;2bPEgnAu}sn-v@+VtP4q*-KEztghQUHpZZ)B+%e0Z&ChE$C*CgFXI}Tc zcOQ2n9ehPN*}u{}O+h_nub#H4pjq_I*P~d z4C|=s5jaJ!9L@I%0~Fo&$=!p#CT5LmBDYN~e#tI;UJP@7(-qO$Fs6&QMlUrsUCM+u zg^4V-bUoM*d@=2XPETxjh*a~tz%_V#i$*sc%sca;34SC{QUS#sT?SWw)}vpHOjyfX z@U-3BxC7r2Ic)7<-CxYT>*D>Bj&ff+n&x=2`S;XKCRZ05*lPagB8R?iR-VjJEc1Rs zPxfmtM$|3^Iz(1pgn%j@BMok>fD506J})08vI{sU-Co+-AY)%g~Z*Dissnt z)xm0R;ELodkIGrr+ugkopX(qtNa)e>#L2|?QAGatBE4+$7yYGEZkkDE78V0Zt~y=w z-X^%2u#r?+rN5$Y4Bf|ETKl$)$)Zf+f-zgs9xZK)dnapWwHNb+ERm2gO%5oHztOxF zckJ_gcpOE>+<>sKdr7RF-_*MT%WBhpV;>XONuNfx-tQAT^8sQ)l0TNC7nY&}TheNH zV`_fYZ%Gt9R@XI}pdH)s)u%ggsn2-5mfS~V^B-@`Hz*t4{1zH$3mjFEZXHx|YMm}$ zt9{ZpliUwpptT1WTH8-e^>D`ULH^>>Rf0tf((r0ic+^ zjiwb(ZEm!OJe_E4C`g)(7@+5?Utxpxt1%6BVTds=YO1FO2yuax z&_Ek@1UQd%DsNGw{Vo%)yk|N1Wk(?EuhX}TW$J|2(~Xy`d;5g&bIVib;h!XwY$<=# zj7hKxHDn1T(-1qNCl3nx7-z-g%{y9S;VOIr$kEi%O%S%%x%#6gS9o)iGDbik`%34?KhA#^F~@q5khJM3q8M! zN0C{QveQ+KGU6ejmK~0<6l{nv1?jr|_^%P%xs;p;FnxZ9b&3wvg(FtMaTF|0sbY<9 zLZ)V-!soyYgwk=&aG@1)u#OK!m?(P~^-7kGa|e(fHr4HU(qQl*L_pm-5e;%bq6vggVq55p3`6R;rix`)|MSmDi=po1 zjlkB9hB@FYRTCvkD@4O8(4|1>S@5@WQOj^@wm&IN@$eJ_AG>mAB5gg7GJNuuvpxw8 z06(2B@hw$S%?6Pu0ivF7s4d4C&#FO))2;Ih{|iHOMFLoMS90tW1OSW|p@H`m6;i7@ zF|6fp<|vu)H#6z9BM}jlJ6K{!9o&SI%MBTUFdPQ4k6FrE@^L_RE@i;vVW{dbQoxBV zM&aT#!YOuSVtl{DFt!70wFeAe0(?47`hM7DeP5y11t7hdnhI9rk76!!z7G#o4TL_l$G=T zZ3@>H7phK~y4H0grlN>wiCzdLPyfKbv`NcxhfYvs!2*uVgr$~`)9!Tn93OP5Kt995?g?d1=7_JbYZC8Nu89qD%(JS z{5quV<~n(8OW!N7O?w85GAxr(=WeZ_>FMxFwfS2&>$*slR(9QkS)25Gve|GG!ZT3% zw&bnUShsz$GeRP?U@?bc+5l*w7)crt~55lYgw5RL<-y%d)rL*Bi@l0P>w{zBqNR z(Mcm*C0TYA23+-@3)SA|?01Qy4r}Uxu*s*?q4=Jj7X=;PkNzI5Rjd{I>r9^drrD#d zgnLrll4OKZ#0)u;Y-r1Z-%Auq%+#I(f|(F zPLd1x9Dvu*9p6|nhsM`?C9jN_3d(f?YBfg%F?8yD(Bkw5gkIv?@gKWn}m`UzUc~&ZrlXrtn~Vr%rAHZrMqon zD%}^d=Ld1>c8Pg%sMLy0N_(?yF|ITWeE1}`>tL}>T8;q|dNQ4y%o8}T?GPlbr01Tr z0$6(+#y)>)lFxOrQ;V=lGl<=p**TBt{WhSLvz?uVeA?Y--#TAxhZ6WPR8grV@|vM| z-gow$JObj?xZbc_Qc$&X-5h$i6?)#Y$gD7}TN>i$`+?zzBZ^Fq>np#rP{+8vSKtt& zEHxW7hSG^hCT!dJ;uY9HAAEY92$jhk(AQ?8pq1@}qr6(D=td2D-U;ZR-IM<|IRE%& zP4VaDm&%Z=-)}iw)OY794Q4fWJupnq=e6Bm9VgIZq}=PzCO6~;{ADd&*#n^Po+9W2 z(PfU^hKLaHP1T{E>_z5;+k@l+Kn(XZpTG7vnFzgF-8|mCwD(Xj^ce5CJaoo^s_GP?1gf?}Iv~n}KBV9~@ z$o*`&(2&PD7V#+lZ`)nZ;swjz<*n(jSQ|lk`I=alp+|Z&VqQd04(*8+vL`0!FV3;zO=)?oec)R-n)~~ ztAu-jgnVV~XOw4`LzGzsIcB`E z+e)Oc)+mf=f>c%DxPy%>T_-5m|IwTC9iAcMoUxPc5Rrwwd)Xl3cu&vASaSV3YS5qJ^Vwb>aFh1e z^*W4g_%?GR^@{JydV-^UehQl%Qr&HY%Aa3PpV&9{9*u1P<@7!xZfFWYk;-5BO|#r3 z{vYIWwdw9z{e%UCya(5RMNGK7l3@N%zGrmBMY6RSAf(N>Rjf@&&I_isSGOq+cMU%F zdVtuqxCQ2j@%9@rdD&Ju`R4s+lgitNv$X>& z5q&fbBMBc5aZLr!%!j*`+U1Cl7AeOkaOG#RF&L-6G*J^xrd$fv8$oEznu#Df&uBT} z+QOCCWY4qHWAAs0)sdw~GrSQfH=q245fH)8x<)BS*&ViRUox{cSw*d*PP^9%7H{=6 zm)Vqy3AWU%1Ws{&XU=BnrhITg&c_}%(r=!>#;5o93GvmYo9-B4C*aun3p5?%ugRWO z4!H>n^OX6R3FKDAFO$X*i2N$uJiK)KIp_WN^xH#-2}jia>n$(z%^1}l&fk@H=d9VS z9aWK-dcgK~r+ufcdM~m|dCPImU+nQ*V@Pn|)hYMaN{o@`ex`*#Pav7D)g&q3GrJ|i z@Ew?*(d?N?#M0T?+b^{beXgr$np}tW?j3yJsmr#NF}d+ju5T2^pkB{0uzt^H3|#0v z36A9PJ38tUL_QnpZdHE&UYt2jwn8LnqS)La-ad!kv&RV&G)WV}>}ZB*Ug)S=Aj_f@?BwhWpo>EZ zjKWilH|o;l;*I{Olcnow9<2Yfd@s75VA5)3yV=Bhf9OnfcBGxti_d11k+<*wG{E^XR-&&>(3*~X*}U8OZ;{=!uWb=oNKZj-a6=htt}Og-!meII1NUxHT+~P`OzZRrganmUHtc4^V9zP zpWP6DMH8l2*_-;Ur?Z+h=3G|m{JJGR)>WkPxz@wLrt)1N%0FqvX}7`cvwh94i1s7- zdW@8}oK8xko{w3d@h@r0*=$}UB65c6=3pUO_CEqxZBVr-4%V0>%b2h%UHp4x&PXW9 zHe3656*1RVYsARX(j(7aui6nylO3Qt6{3xzz!SqhP+{rulpmCi|NCurrySEaKd&bc z4&FF5j<9mCTXgj?HZq5C6-@aBo8!>prM$5#)*qlabW>Y)NoL9u6{y9KZpZtwheSDV zAFl*7>iB%NW9Y0PE{;<_)MMg|Q%;kT3>|ui09R#*xs)5s+%Dek-6e>>x;s$322dKD zs}I_ zE`V8Dkuc2n<6|;l-V$~C`${7@(qZK41cs-Cbu5S@hWo0dP%T`R;2G4aT`VcwWv-W5 zJUSFf7|b|h2oF8g19+&4ZIQXzY4ai0kBQvhkdNE$F^o;Uc+?J>1-6le!nYT$lB8~X zjnzHkbsr}jt0doteeku4PbfLKOTfeB&UaoZ><@DR0=R29#ZmB#kx&BF&@o2eXCM7Hyc4Eb_v|># zQVFDOo$7q-h^NF`wl$NEg@cTlYykAst3^Q70~Lis)kL3x7~ssp8Ik+kcMoY?P(O

    (C}LpC!$;o=4=amFvd|^YRFBZic<6=nL0m$ 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%0AtAu}H2CE2_Hcjy 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

    #Hz{%d>_C%crh88)OfP9d{A_-y;Hzoh^6 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

    Hqq(Uke@0nQNxrF*9kF8YYGJM`$Bh>PI*{%H#T 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

    $=Lv!1Ps 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

      AI@K*!x*bMeq4L) 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

      d#x$8sRq~&CeoF1*N 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 z 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%0A84R|N01IHpk5 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


      Fcj=KX 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%0AcQ|Pw_Vr4H= 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

      #4xyD!6z2QC&iJ|$ zDOb9SPNtm>s0WOzN}2GJZZV4Rc#FH~nzKO%Q@Oa-i+CrQ64gn3a2g2&J08~H2h-ru zhxHFGs3ZGo7C7)F>Pl+-bMus$P zKm$<4AM7-hnB>f{9Oi1~pRxd^M~XyR2+Gueu@81x1=Ej0mj; z0AY`C=wfDB64EXz>RC!k12&jH7b(cLYXo2Q({lW%G3`ZH1S5ipVNfzzGpHPdd5FEC zg{FkP3Q+Fjy!}y;NieY%Ez8(oOxt%q zM8(5D98$ezx=h_~vsxKSAjZwloO%(&H2}&hhB#?I=}QBUsW!MiQdQJ^M=AZIFN&o( z8iFLJLQl0e?JQ7I;E9^Z@mo;#_jZUVCpm1MfxbI&%S*osNHm+KuXH?M>=<7)ig*s= zc&Fv!>hJ4pE^d4|Pa<6&iK^Rh(hMeLg#-^V$VzV^lHbM_|1iZju^1F&mdX#re*Hv| z7oEsL_NTQ+wbqca8gJG`weqB#&p>B529Sdc2Cu=6BM%CDEXl zwC2&WP${YWRC0KAH&OK&4*o!mn~gq(^A_^G#?*?nj8~bM$QG6pHWncVf%9YC)%5R% zBWVF7gfc_B8OR7X!(OcAx`)OrYKTGl)M1hSlpbR_$bv-E2y~%ZmT=GjaqhV9m4rb@ z*Tq7o`>5i*+*wU6urG4FY2qh)cMAbhJ_s@E8Y!C~GF4iRthTiVmT+eA71~mdP`PST ze83RcWpc0=qK*v5xJz?JMn+hQKrgG!*L-l9D!mH0R7s3(aiz8l6(B2(mf9St+X*a8 z3Zw_E)v2S=CFLAkwYYOlp|`dqCac8n^!RH*`hP7+>jPCE>SmtWJ{$`6(RFcCU+Q6;VJtl+SR4!2#L?FzY`VVJ zF&H0PA#%9z*>_6`9EpvuOD{AnT>W9qY1r;5lb88clpoDyChS0cceMTQtSm#HUb|g9 zD|=*7)_*L6Ytx~Yb->KoSu^};Y)r;jjXA4ItN2o@+c4F^_WIAXM#KM#_PeRi7m~{I zR&B(^7FXt0mRprZRAg$OshzJ{+-z2sEn#P9LM+18+lx-!6{@QJj^aeG!JuzE?#6_k z|A0s7R2eP*t2%6TAzVz=LKSjfRz?!Nmi{>T`)tX?p{}6~-Qf4red6$m7^XT%d6C}F z?XNlB2z;itr{81=GdCASK47$A?tFN#JQ7wWc0#l+5l%H_Yt+ti+C2|L^Z;-6dU1)K)qwZ?!MU zE%^i24p+#(h>E;QB{l`Z1BIa`i4o%TNc&vdWl zLOgJ!nfnojUlqdGWjGmHIZ0FWsuu*0_ZlCcc{Do>9eTA~eimIQOcU#MCK=7;<*TXP zSNE$vMDfL2FPG1sfB3ryXQ}h-+n>%2sa-f4V4A#q8&y}qch?f08yn3+ZWuS;yNUUu z`8tPmx37v04l&KO@`T>CL40Sn?@}%fF#aw+7FoN$jI=*shR>gZIn#GG&u2V*?FWua zigFH~5Ox_Y@6JwM!L^CE9=YDd^i~zho<#HbaF;$WxL(A<@)H_*1XS~ z8MU5D*i;NEv z0oUEn(D95Uk=A^XLQX3!mkUDWCk6p^-cd3JA`>lFGYy{xz9;6gYG~*)9vm9V#9KHX z9C;Cv$tN?EOC#eHLV&OR4T>x*9i(|1z!=}>1PScR4fruM&4<=o10XD~ygCXFaF zmG7l&JuTse1hU^}celosfo+vx*y(N>{xi|AB0ed3{$)HqS=4H2sq}xa&=Z{hu2QYj z-oewXl+)4&iuJN>ybi-zodskORF#r}i7myfKr>tw&sbk^FAh7(uh~IgKxSp>J~p-0 zQM6J5V3RHTMS)IlD~;&+VJaU+LG;`khZLZA9kQ<*Vy1$iu7@i2b95)lkAP&&l2cxb z*b$qPeS>~Ajn_GAJY|kuX4nK>=FP_hTb#+u++@Uhdb0 z78T<{-_dU#3u)_FB`C$GY787yzF~Z(*y(MC+ow5GP>D-soAgXB*z@!;05_4Z)c}!C zlTr9(W|P)!k?RQT-P4-G|esO=BSKF)5nv>i*Ejxg}J)t(5b>S zJA*-~!i(d_1e9jNZ^e#H$^QNpy)SD&R_Tq~K zet>+~E91L`#s!wlEQY(&SAJgZMGFRtSId}tC@^ml^qlAXaUw|2M)JU<3eK#|M7>|P<@cnpf<&!?d*{{*JH|VmeH`tE1HO#|` zotO-{vCj1M=6S39F!oL`;WeA+3Q#FpJ)C@ zTM|d%54pxuIajCP_Tz~`@oP%+7)h=OY1B&FU1%{Os4FxTr~ij67Ui>rUd{LV|G8;9 zuip|s`L#7S6DfPLr_=t$$>;q~)b3_&|M+9$hkq18VE?t5F8?#0d+QutQ<9N1hR_U{ zs$k~uXWC}1F%)Yu9V0#g5=LvsICuxO)E^oU2w{>FQJc5gOhv#2Y+ zZD4d~L+X+OD0lyU-S;&bR|An4a7D+@zN3ngPVstS&PDc83Md6#mvy|#(k8+I^}xC6XDpC*%i&81o69R`sxV=Upc?;my3eR{?%Yi&`Dxz{^i!(tw+duxWlvMOjfSltuD8=tN?Y zM)Wgy3}=im2etl+GuMsw@--GgS3sxMaLNErt~h&ig(+Gc7iGyy21+Y;Nt}Bq7Ym;- zb<@=5kI`sShQPSdb*SxPhbCw|y$%?UwsN;dhYA)<2>}*EUg9w(hzMolt7ChEcE zq=(&8*?Ac`;)_86#UOSlDIEx6@c{`0YQgz=nP9|yCTkq7N_WCzt$yf=TR_;YUyKt%+^p$&EtwhL`v zGIMn(M;Jh`wql{h%x% z=VZ>=+HA2*|98bs*hicS2ZgIV5+su}TiKA7lq4|$^@OFyD?soSiKL$ENmB-MyPV8( z7EXmeO&#ME)kzE~R#0Ii3Rlpatt06hksWV%Y@hW!=8^s`>=CBEm{B|+0>;VOZ4=FB zkvLaGNn7DcveZxkAP-bDL4vB2rV3LV-`c3KvEc&oD9$1wE{0>kU`uUMG<{H~hv?gk z;nApqrhh$&26{2GXrxD-e?aLB-D4G8Y_w8H(9_+{YmdEV?$B*tyLXyOipPcIfUgVM z0OUs>g@$5-4YfiFFkR$WW5c_rOc7s!e~IV0o|(L%X;6KJ6AV-!m?{Ekj8VQz3Sh*k#_rnORzeCthcI)HQ7WqFof2l1a(Q>% zgETU;Uz`*A+6_WQUqs2mp&sGlp}Dw>mQ}<8P2BlZ++x^0nEJU>4qZWZ<>j7Ro?ctqGC7-mI$p% zr$RYy{m=cWtoQ4u@64fr`Q*|TQc!!dS=Z;^zl=a^7VBe(2-bePGrdF18<8qx6q-6& z>T%yLB~9&KEcD=NmU_2_J9g6T4(#}J;un00nTLc`I$M5C_T4M5O)hr~;uv^OEhP#i zf$4T7&;KCGQvXt-RcHTL6PCu>dBe?fu~uKdy!_lOf#;1?g^Y!oAIADNBCF}o zg#;TLtd~(|4u%(@c}M2zOPQmu!n{dkgDYPCb`wV+>>fjeGKN8)t5b=$&+OE7?ViS* zqoA{8-d(0EYC<_+_htSZUsvl7C-g{ z`(2&s7<;d6^sl@4wrGxrb- z7t0$*yR4|h6zMd$+il&t#4st%p2-Dq2vt&th`klh8r^K|{M=?!SgYqa*6g&eK zCoGch9d>z7`sl7nXJ%u%Z1$fKkCMIlkB}#HH(l5)$=Tk!`@FDNeAkoX5ou8?hSQs~ z&jCXhj_sz=hKtKzzjL@#0`()5@aQzb7{%h~JgEJcDPewzF=JCgw&8Z1s&( zEEoBQUAQY6?a869LBL0OUjz3f7L-p4Yt*7E+|dV0{&)SVtY_PMpB>EKb_+{n)vN|< zkX|RNtTlU+I_9Xwyzst7FPQAFkKC^WwJK<7otX&#uux`uo|-V9CaU>VP6zDm^HXq1 z%(G5HL|30a{37;XsiOS(OuEO)f67qaR# z&B+3JQaRkP#${g@m!;jaj6zxY6gRiI!Sz2LZMp&fu%^sSn-;MZkH6^pBFufNb11U? zD%!C}wpy%BgRas4blXLIHD2|5>sdDS+{iQ0p!D6+V(=SL4-cnIN%O^;q+U#0>#w&a zMGAB5p1hqRtWkXYbnjoi^0p2m^y6j5%s?r-g2YG{Druv74Hsuz4XG@#YlHL^lc`~u ze}B<4YECU3xm`6M4vm{VU0ddj!AXZ+w@0<|y*v^(K52WaM@K8CHb3jJJ8OwKiDRZI zZGl5-3ma>9=Oys_Z|OI^wTp!Os$<(03nOOTrNwg7n`k*>!w;A9DB2l3`bqo4?f*L4 zn7cy6veeF>p1bqx8_oY(;@s@*eI=`1?&wGmUdTDN(C-7o;;+Lf_JRE~2kNGa>*byP zDW>J0POWtz7pB%16CV6e|H^EipI@BZCtS5Wk43{h9`5llu3h!xCaao|%7&lr4=cM>?JI)A3k&EU66K}W3-$Eqv6Yqkqwz0>7jj+SrFAjvm4=vw zQ<<0t-6$)r*j!)MY%RXAkPtIjWFV|a$D zgN73QGfN{ZN~o;#6LBr1q}6IF@OVUsCuT4Yk%~Wh@>l$w>*yx3#1lmqGs?#7lA1UrL=nvBLw9UwqHoAor zu>|rS_rNJh`DY=;^fWxl4NGM9%Wh9T{paUCYIqR3H4-tXRve9Q6at=*zvl+Ye{;$L z#ZQ_h0svT0)7oBs&{{BSH>iCWm=ppLSz{}zDWD2qa$c^Y#7Bl>ivITl&&irNZC49@TlT1A8GF@gg#c6M=QVJ&Daa?t zi3VQw4H^9VwFbqLxw;-5A?$jDqXkjml@*|g$*?+Tjv1K^wp45rCgW|lF^h^ov7-RF z#f<470?E{rUva_qhPIhWlv=VUyW>evh&PxLo)F0U1wr|<&LBTkV^s+nF&>FzIym#L zz1mCCG5VN3-`TlhAt?X)>UV63jLOJwG0fTe#Y2bta?{yB7hx>+I(EePecr9tXUeza z2FCG?&^9-=ySw>Z8e-0dM$SiiCC&IQ(vWzvM%60=adtB7D z&y2k)E6W`H*7Uu-u_>!q5Jch_#!Cemc(ihUPG8l2f4#p*s&&bwGZN3X`X=cS!AxoX zh`XyH-qFa09p>u$;fvGAt+u1z)(@A1@xXqXn%1VG(vu!a1lIFAIk|KC=W}dYj@RGt z)z6(FY3Ec^L%Z(%Pa7ZJ>ruOZ!kic?unFt%{sKu)j=&ej zi&qwOAI|(w)x}TbbL9ES6Hs(A0mtZlokL7}Yr~4r``v{C=#}jc=(C=~gK~%Ri$+1Y zQQtKY+2+=IkqidaB5PQ%taBlqm+MjY@GjV6Q^xq=`f<+H+9;Lwb7m%DdKI>EpD*e0 zqFXE2N>k&ex|2VvL8#BJ^Ut)+WP(YggJs9@Hg747Vdb6i6%BF1S|_TYGg0mXFL>(rraPYt~h=X6}lDHH+e0uK2$$(X`Yb254t80zL|= zbqp*Je2kJ}ylU86+cWB8paPirl?MNjV&o`ADndZ!ddVXqs%*gwwKU-h+BI1xi|OEN z&2$urljRo^x!;2|Q&62&GNIB(Go3BYSW_!I zP0u)P4>R7UW_%YnMQctol@5`OW>Og1lVHOwQBYFq8?qr`&1J={fw8^PECfm6TcnjM z(&AGn)~LjZ9~z8`wF-T6`5+t5ZTaYzF`0pQ)aVo4p9`KfSkiRp5G=`Lj)~iMi9gmR z>}c6L2>~uPIHW%!OPLbjb`;e8_(e+F`R^V(i6IgQI1!^X_<%`vhoh~Dv?Qra3o0~c zm~{)u$=6vmEG=ZBkctE~v-~XUnNJ;3*}5rZOcbMl>A-5h4>UXAyOgv}V%OOjW!EXT z8djB-QtHGT$V(DDR1R02#aHcsqiv!@7_%r96M+O$pdfZwN+oB+?+-6?``&#JB$Hm0 zqcr8Mgx0_mC+ie(`8ZgSj1i?Sk#4XYYFXPf{_ezymb9|p9m!qy0i4fYfJYYz$ROr{ zF5G(j0WtQSpWYZyjOUjenJx?grgEj@;v;@jf335nS0-UM+%k{%Yj6KmA028voEgdc zb*P!!#>FzcyBK?+K$o^h3s(HvCyz`8fl+O`K|8;*pXa;botIKO%T6MMa^i0s9?J}`{B^Sid5RWEtasbW3jeQ zmsa9ssAP&iY;pZ$cQRq}IysR#($jMPdLbP$T$qqhE5o!OEw@$=!vh~4j#?*_y17;v zQ*z4ib_BA?d;X^8ajICb({IUA*r8xvG+pe8L{}fxVGL zxE~sNZwPxyNwuI#<#Kn*v)ok`74@p#*vOEzpu7>n-AuN98)2v&_W0_RVE!={+yjX;^^8-n^G2` zb+@wGxw?`UgmS6mz3Gi55B<_E)a?F4INMznYe{Sj4T?Ux@ANaAUewpG?WYZt3Xs3K zC|a%)I&d&-wJ=B{d2@B|UfiS4vmD`owLw=owfeR1{p#E}OXC-JyTkS+|I39nS3O&a zWTsnKLFZ!1wh|P@^y?-!xBtvh^=!_B;v6S<+N6Urnz*YD43sAiLPmWBhVDEZWa2^d zMMVjzcZfY{V(Aqca$N0Or=rN8w2oDq1i!{ zMK>jG#CfS#OM~78VI+-pTfsv0cPr6O(3bUN*abMaf&Q#?;ny}jezBn~6|B=tv@FUH z95wsz{wS-pf2FgYBju56?AMixkwcHWf}5&#r>$uHs*yX?0?iYiXdy@YXS=Sy-ZPnD zrq)(Ii;9Q|i>6+N5^KJn9@#hp--UxO=X%AD8(!rsNeI6Y7S7@~>P!7yAIT>-l{gZk z)-iay?eeg)udI(1`j+2ha9z9lPk~{Ro0|*h5gY#p)7dK&ckkNS*|I9nPI+2Rh-@yu z0sW($TQfIXyJq0&zmuwiL-6QA}2(XW!CP61^t}(D-2uf>jn1C%227?)P_J}A1}9mnTqM@ z4f_}JoxSt+4dO=15Lo_M^x2YKrQ;`j@Vh$BNbKjd-`>mBeO8Y?kKqM_T491w)hm>z z`F_%1NQc#0|~208K4;~?Qf*mxVYviKoLW@IEu#;tGa_=3GpZlcDF z2`loWG%kTEY!~9h_~$sp@Or(poFWt1qS9B1~3{ zliauMSdycvku>HSs@;QQ5PZ=Ts|}qLC@cZSQqZjeK}7_I_Cvz~HWh;mN%^T;Uy=9& zz(<|M+(p@N$>7imn8+K}2w(yel&r@RnngyYD3Z@ZCj%EjJ(VJw0;N%fCE#%)v~dKA z7)wfRNILNX1Y(|S;82laVRr>`vtv*DwCAkI(0LL4k_el3(Qp=Z^^_Q1b6|8SYQXbz z7CRDZGE)#oU_!+aG%w9amRwmai5z+q;PjJ{>E#Dq7NfK`6vH%nZRBt&EfD^3rLc4t z$&cSRW90NK6bTB%hC(NPU!x*$;{e*4$FR#WPy#z3 zZ{-BbprtkHX2OAi?718UK!n+AG=!eFGHVpt!$AA1sbo|_S4WOg6`0RROste%^j+CB ziksk71a2`hwC{EATnUT8$mB6WAuv%U$7dFjTQ94Z$OQjJV~$V2D;TTzq?W}Y!)@FJ zD_g8$D;yqm0H7#jyoQBz+@&w(!dKzc|EB#OBXN_)<9~!*9bp4NB|pbg0)pWPjo%H* zmgD|+=Ry8=`q)&MTArmg?+0xD%kRV6gQ6VlB5Wn7e#HCGKHT0Ap`>L-k=OR$ZRF_N zhv6d3-Ra1|L95tBI86Y)ECOLkn^9tun&Wj_eRzF9iq)ga92QegIgGsz=ttWrDHJFn z?-3Bb9G-=S$DQEk47aDFx2NiNQ|fK^XghbzPvu<84ZnTI+Yfq_IrpdFhRDgB`!w(k zNBiX#=B)CS#D7EH#(o<~*gDt26FvR+%;c6v%qi7Nbte)h*5db(?WZXcx2v%}ce|qx z7wt!*M!p*jrYR>&Esl;WEj~K~o6)-|*0m+U!HTtVWuLWo*RY)x^7idpU6{Kb9^X%b z#+0(8U&Doak<7Mk?rsOm%MU|E?H(5+zFi?uV)5`?8+_tC#Nmbi;YH5PW+ObUKRaU? zfS*WKBk=_8Q^gCunG4JIT1*OBYhAHfLjSGTzmRLacf3vTzuq2)mOig?q}#&kqqwGB z*i`7oPpw$x$b#3hkTCWjCp#-{e8zjr>(GDmPU7LQ#NCu;?A^%2saX5XV*3r&3T)~4 zu)cE7^zQg%{^&k0*6-nBF8*g7*}MN^>#Ty>`r>aNT#FToyR=Ag3&Dy*p=fZ2;!cqQ zK?}-XC1?nXeBu+;3CY_C;j#=0L|JSL}nIpHV9@Po47nC zHa-RBP;QA*ETvYQ?GN&=+#t7kpO{j76aTY$(j;q1d;PTGuaffE1eh!spRj|zd3-P; z6*Ds2|8Sn<2oJ8igcLI`cXbe6L|PrbL{Q)8WJ=6-A&@pFZP(XU1I*(&2OFRzt4Hm} z;o=)bxi(`Mvs~!UI*`BYKHq=r$EsFA+XDBWpMC|){z-coe3e`E_*3Bir{e(XGb;4h z_2t6zH#Mq{<;-_yvroukbQ<+vyw&4hs8wvN6Sje^j+V|`ba+%j%ju~H1a%ETZT5K9 z8Chu3CWMnu$E`!1aS5x__+I`Dv?T+?esiW1QSUnZa6+-{Bi5c_{TJ^k#Zn>Mn*CM# zRHrsAZ)ph|d209+nbB(S^tU{HODZ1YiT9an*xM-oR7^HZkRxiL8a^9EuG__8`Rqn% zPm+?c2ugFvNzgJ9{RS+qBJPjwT53vm(TH;Jsi0J97RKWCE}JppZ!Egj*AG`q>T6Kc zP1-Ne-wGb*bmyxiyzSp0UeokVf==*7KA1VT)C%bCOu@b7OZb2Y;%aPs7G_Z;5fGxF z`fGs!#UQw~uX@I50Ymu}F^7_HkAb$r8XZnp+gee6#Px#$7om+E4>rJoa+8GyLs!D) z;u^;V5S|b-xJM>oV#4Py&c?+b;R)D(t5Q>w=e!oHY5qfg^leNGvOvJ6UW-H_mWDuo z63B@~mFo80?K}U1J7@W!K4>6LMv7U?D zTe9`g`!8Y-Dqk;X$XQDUps>qztEOWUc70=#OPk74LJGE!@G}DycT-VzGEe~4_J5AF z>VOF*uqc4Dd&s{z+|PGb9l>n{LxUn8$Nlyrnv!GtUe323dMSRxRwPURFI@ohKrv(eVuU3Dq$*hTSCnx>s1n5NQa&%m5w^$JYU*- z?AK0O_7uFS?^@GjU!6N|mRzL7tTy@Dy5L7Ueg52LLrYu2ZQ^{tfTw3-bPeK+?!SpV z%u%LvPG3<1kn2z#=p;eF77ZW~EQ8gOVR5{GSWZjETo`bDx_>V%vZwR}gMz}y4-4A` zlPieZj{_UKoUKqraDkW$2m8nLbS9|--Adt0mp(;(c|M`*_0Jjlr+1~bF5`KhhsH{s zA)G)2gR9k+WUmlyqQJW(N5_|LYpg+K!czX;h2ZAB9A9yvISSS1ye+oue5{;g9Ln;F z2*w~3G@PmBf`2MpVfdXvkf5)d8n^nXokkzCcr?xKx+rez&j5=R@;kC#yN=TplZq8e z1~J$Q*m%4%u29Iqz>cahP5=By0!_lpOY1q3ZoiePPUOm393{QHdvN1st5ycTf1#>E zDu1PpMDWI)JII)ix@DBj`9*lb7%PW?qR$96rQKqNP8697imX+86TNcjN=kXK-hFra zN!;x*Vc%Bn(RIdez@GqFD6tZt?mJ|=##F!`$r;K@(?1(jqfi&dmsI4Ra6-pv!X=dD zU;U;Np?ISeGvn0R(^8wZ(sF)z-}~oq&?mv(nANP9FMf}vLZnSy#=qWl&#wXVP;&9a zi5JR;Sm3{w0T_^|MhZI33A0w)W1bzpj>KHtwMpwd%06CISzKOsdRGJ2#&wt&2 zEldL*gs);_b0J7J5v+ZFm=7|CLF6TvLp&pcz4}Jyvkpdy9df0%Aga&~(X)6B;R|#S z5z~_wHSpPsl)&PkOH{4BG}T6PTf1ObYUkSEM(pn>w4N8m5(BcPD$e0|ajZ_bC?3&M!#;LZcsx%@ zqoP=R6P75)mqW&nhQ_c1&8W4K*^iqI*MZ8mUmpezgA~_?n`?BiDw&aIy zv-&Lc-4H)R((hi5Z%6o(v=_Qxw*K0H(nZe!N@A-006tx0`$xe4z=v(b-yLF*G{gj5 z)9nVW#SNUtSC@Te67|LX0UttrytA@-UtYovZ>Wo}i!_koMp6>|b7$e39@V&KnxuE&l`CyPY{EWC$5O zLiPJe)CcQyhTWf) zFg^9T7!fO8-23pKcyiBLw^gObeDH^7MxgY%KGzk8n&bIbQCy<|)> z8cq0huZZuTD;P9bdM%KEbD=ehYsa- z0`C=HE0#Y0o>=F7_p2}%6>?qY+Ox6}PeqZmeuYFD5UcKPcD{SQ)y|;yQ4oI0xD|Y% zCbd+(uqG{fRWA2;XQ=G}9(f%kLL@4++LtrSEFD7T`z_C#+C~Z9ZU%_*v_hDAu!#Q|*s=gRa>E7ISTIHu^ETvD3cHam>RZ&w< zpB~KQCw*);Hqd$v1eLXW@V|)nXzTa)%CX~aCv!PXi90k99!==PhZM)G&J$>s%nj&LViz?GY=8(2_olG-&@X1t*;E z6FuMZ7!PL|SYN0mCdX7ATTlp)Ri}&3S5as7DX7fw;&XN{cIZI1Tb6-_gPKphf<-k| z%t*bhKYe4mJEcPNni-~kbWlFt$Ge#~XB5_%Q(uds$H&q$Yx0k#J zgwL6!rq?u|TU&GClR>4f`r^9Cl-&DFsk~O+KmHBy)=!Za%a(qgc_0pwA8=OpI1J!| z?q^8olHmZC3^u88OA=7TV(0M4+jbJQY`Ej|_X&Ai zcWsaf{2*Q2p#Rcg5uv1(<{sebDausDR2*nkSWv(uCtE0RkhbIt2??3}rGXkcBP>*K zdSUK#wEi4j&f#0;FO*M^3NYw5)E_U3@qMSXD4MBg#+My{g5$I_gznc?y>wKf^pyev zA8uC$gbLqjajMHPv_8RSA1+iaZ-1ad9yZXtp_M#`a3zbC%-yOCd)A$;n?g^%7gOgg zYZ3!Dn*xtlQ?Mlmuj85xfslX0ljd!HUUpsawA#ec$l7{PgG;dVtP6`pR9cX@@!VBhj5<_ekb@2;IU;{~t!I zA~$rz!iordi9WGS|Nd<3`T6DF~S3Yx52@nDS?EnP8 zOLG04dXhF%-``0IWj*HSthI4DIb7gOK0gsPV8vp^Di8(Gk{HvbA;twFC>QXa>v++A z>%ug)jBe@rDg&4M({N~H2zH+x2XA+}v#^NgIFVDW@nH2qiO#`^*p6CXb*Qyp^q##jN)2oac@7 z;HYDxe>fcrG{ki1&ds7sW-YN>A;yI^8}o^O%TJurr25*(GqudFf-O7+U6Vg+#=9A+ z)0$RNGx(KVpm%g<`8vC4m(Z;(_Z^K|*M*bH;-_dn?;pH|POS$5L$lC>tiNF zA6)C9lfVXO4FhX7vMFdT2$gP+L(^I}vU=$%D9FxyG~`8Tmr)Qt_c08p$R#oZ-D8kq z@XFEnPCB~No&FOmCu_P)$fF>jVq#dW9vS&7(oP)9!7&>6)(|U-2ium1TTKP4 zB_qflroJOZA*{=qNF$sY5DuucEh`!Qp&6A_2=za1tL7j__4>j!4MtK`1qIhyhlrfp zrk^AbAXeL00Sp!qkkx1Cqy?$P1;j*Qhl4kRn0+*XSCw&uQTFt4d=yzU zy`Sg)@ih7#FX_#QU(<6rC^+E*_F^oW+}PQ?n-c$4crDcb&_gl=Ut`c5-F>B!U)1ub z7wiK(`xp6Es{}jA)nPngnz$NBB(ws)w3B-bM(^{cue0Gs++2V&7#5vKZPo>N&2VJ8 z5hK=;#4xwN5!IJ=vn)&FR8!HCbP?}g20$nB8oA@R$ z)wt(XLiJCdC8R>3dLlFbNinrXg14IH4ME=u%&uw+s1`q+FZ}-C@9jWAK>lWpJY5l6 zY-q|C8vcA#(??vFr)ac!nEY7{!#sbWuHqNXlx`B=`j~bVP@fa&C)T}h7R>sZupS3d zvdm6%Nh&_yH&_lvJNeviC!3(WC@d)S(6-5Gqn)X}HuN=qbft>5$_U8>ZK4W07;T3u z!z@9rYSMB`qUJf5;zvc_5-NvHhf345fissMkUP?2hc2E`LXJX-xO?VjR3iJ7U@8KI zGqfGE>DaI~O`hF{EjJ~)l<}F01+q8b#Jcemq+k81VYR_AzW&(I+nt0wVyNKS#12Q* z@q||njtl1*QhRCBem!QO6tM;nx4ecAFur=p&+Z3$qyqNy|7+aMB;Udj&Ie3q6Ulu~ z?psPns>hNnSi`RxjKwMK;rO@SN$(qbhRXtnyx~!(fk;ByFN0j2$I0u=6R#JokC)7cn@2zwF zi?d8+>ih}y`G3t4SPH^rOD-oVjCYqVONh&sfYXqZj(#81P;l>(o7L9l#@4_`ufyfv z@MBNh)=S%V-^PwGuWIi;5e84vXwp*|>Ede%f6soeT@pfTD&Za`Ye|})lG4US1qW+o z?>(Z2=L19heL{UgyL}r)3N)9GJ53vUE^pEPr>t6^`zfSJqt>f4m(#sp_Ud#DC@?RylcW>+3fwMnB{P-P06msgxH^w1>+` zN@8$W;d<@ex~@f;IPwZY>iD1JS==w@!*>i*wm2R!t=uA`9D zY{LwHS>Oc(iL#QGHGwsk6PvcZ4qmBn!f!%VwK)5DJ^aq^Ke#^KOsoZag}Qn^<$^ls z%i>j&t(Qh`r1)1HUyd)_e5C*0_NQKRrA76n^E@epe&zT5hufoot-#An)Z>+B*nY^` zjm?yn8k3KgNPLy|wrKz)>^{}8Xb2vP;1#%jfWDPkOj_5V>HK3cU_N8?w3GcfO1~B4 z8{GSZJZGkJBOQ3y^u*(utv{xSL{URlE`z_UjN{=|9apdvF&4j@t(scW5PJOOXnBA3 zvIvEfJPWIuT6^3s+W!#Z(;9qY?HD#7ArzJ4yXzuwe~^!=Pl2AC?5@?Qp=+?gEvu0o zTUzm8dOCG)QM%JDX{U{4ywm05)rR7*$6UFq@zDOdbi_3it-(f@bV4Afc z%D<&9>xF%2u2G|9odAp<-`g|TweNJ0rDh}}Ysy2E$q-&##KgX9FO1>KY5*CKm6I!+ z5lC@vH?F&_M@g}ORySx{XZnIkk1D(TPx7F$A!pXI#USQ-ivd}>M0D0Ody0xZ5y}<# zboy{-VjmW~;_U?=FHit)c0qz=tv*m&x=z<~ou#SZw$( zAt^+jIKuz0lji?Ec5Z>aL7_pz^@46kh5{|*;H8*qXYYGmXCMY9ApcE-X%1vA&5(nx zb!g+2Fc9(6rz;$D*M{Fcx;BIgAOvEAt@So=P&<+bB9!X`b@y^0_?q=lo`Y);uTnJ+ z_xOL2vD~?ze3LpwomYcrkr;z~?6w%(naeCJ=n*zcNlaFy02^?e4fs}k%BYbaVDA%d zZ>?m^Vgs!DOWcIrSU{9y0jv2X!S8)X-^Q$0DoTr)G`?FLS*+FeY6W#L*zgSLI8$u9 z7kQjvU6Ri+=74xQ&90oZikb}2U#k@i%05~44){?&DpYX*LRTXiQD7&I>>qiR9O0a^ z<(jZNIt=|u=wSgKdn$GYfNF>pGw%~OMzvDr*E}*Gj0Ovh(3nP*Go0kc3HK6J^lWmh zlF0zPP-Ur=`^u3!bZn}=VX7-+d=P0+XT8DCj+0;bz7pESGKt^Fm|!q*1Fc`r5Vn=S zP&?J@G$>QdWoSyx)s4Vrc~1FAmX&Co4S$E|<*v*)hT_O)GHFqfoX%meszSyU+IsLKOR?#(>qsK>Ejd5}D)$rAj zIrFu~`fUzz2AwuISq@2zJQNu0wD$TR%s*~%k+X>O+HP`xoaQNu9syf$CfdeI=W^2| zjDw15R|6aQLpkPtp;D0D83{$2$HIYgx%)BCdw(iZ zCA~(UGb=hC+Ju7Ip`W~4|4u#cZ>gD>3lI1>Y5sQ2KERX1cAjqq?VF8{S9$jTIi0e4 zIPjq*HUy(3CJSha1f`%ypCAMKv}Q) z%=5nC>8KD>s;;|I|&0 zxY!`gbJk%MBu?HEcB1(UGrk_xWZ1}RxB~bI$$Xoe-0yYw7R@!{>6w3=nSgDd!V3i; zH+4@7TaN>eePRFJl4`>cEteqAzK4sMD$B5w%Ydy=r!m{Jvp?P%WIX@!!_FH*P*p|r z$(|3B0#8B9YHrLohw&1g@W9KZmB{l(=fhg3>l*FQd%V!IV5{4I@dM|Vo@jXO@0Hov z1rSR5tUp$$LraD(IlT83Gh<=@eWuZ^rCoE!R##73&-HCSs`qbUhcXS-7CMRD0q^JS zdiq&4a4qmqF>v;4?_#C{b&_z61?F07F8jP~Es=o{C(k)b)1Vd#?TZkWLYY@T*otXE zw5R>>t-GD=*#eH=`8cp`(1^?s{{SSq4SycteP2q$Qc8Mhjh=*&Os>W%#Q+_ZBxs10 zn&ZeLj-uP0R2(>8C&HS1Et^@o6Fr@tcYJ^wDKqn>kxc*{#_pd3)pHo{e-MQ8i9SK))0BZ;_ zUiew4%dXw^VLYFx#H{`-K@gtp?78{%t!(%ex9K{s4y{|gTDD=gRydsMg>7m2ix!b^ zDgr)M3M@7uazH*Enf{LjZ^#Tgt>k_FI0-b>a1=GRF&7T9zim)2AyHJ6#I>AtZHr z8)N>fjgzI;A&%Z^hfB#xhht1LyeU~(4nHBf)1=F0GM|`*GSh#*PhD6@#A|OVS7%ij z)|J+7h=q`eIglM&&88h0t0Od5%X;7Ur5b~^i5HZW+h<3v`!@WbkUA5yp$=+|yB7jp zVTr>%EWp%I55a)@=>VJ76d|J?y}s*9~h+ZZw0=1}5i7VBq;lQ}7OuedsCzs3*~G+28Z zj4>$b>5CF08Jl@Kc@)9kaQbbR&C+czN%SBFqM7I8C2OE1ULPWc|HgoSdCFb`o#4CU zzj9Rozs1ov3aR;qZ}Q4)HD~r&To!o(8H30t3PIh}S{@4WMkpCzpE%9s103upW9-kJ z>Y%ealEAQ%Ny=Kcoal7?$$q9x{TYGpe>rIpK<1c&*iY55Z_?@}UPzhN-O0XW;WyPc zUoZKA6L!+$>gue#Rlk0Omq>}eD}11pwH z(`dq-6?Cw@r;7@(mJ_r#4JZxIM}vgon`-gO=URnSIFMi8=GC^V3&mBdVv6b2DsHr= z`xU3+Pf!w5k~7}raep`lYglwm=$7+{VjFi6vPI7kz5?P7kNQmb(Ilx>m*{E=vr!sx zr0H{hNmRuvi(hJ;<+T#JBNQ&9ap;qjQy!^wPoc?W0C8zpTp$(kr`B>W`h3Me%tmi@ zYS){twWwTJUVss+WIjnv$ExMJ`rw!n7bxUEzvi~I2vX49NjjMUCW9)6axlXeX0P!+P1*Rgsu`c0>T6X^qc2;UZ}x3ypRpxq zRW82}tjI)?=jb8bcf6kNIpB+;-!fs4F`hx}ZazeAKA3@e0{pK6Uu=ckw7Kk$n=(he zR-ry-iA=$AXZG0YhCFX!=;SJV?P?@Y8IS6{HT7Ii7{6v>+U&c7hX@7V-q6p=1Xtw; zESwWU}T;SD8*MluT<{&4oja^y4Ym^)`1V3r(hifbu4D=Jeo1Gl<5g(?#VDjcV?;|r8&~w z-5%Bjz)octlE?K;3LE(Iydk>>iMx2?OwQ({_HY5_LVZu~HT7ixe}i2dw_~B($v30p zrL~&6yS3jnz9dKM?(X2=p7i4{m-bGT&Rs>!#eDBzFed5g7Mu&=YWl06qc_K>-q4GG z>p&`zz~K3Fr2)(z?7lU8iG*IZf?%2h`LyKTqL5KgUgYo3#y^yPqJL z80ulLO4X`w(x3rjfrE~E)Wbj2UF!PoM33sj=w!Df`m3%!-8pZgZvNc&1)zr;a@m{n zLqq|V_akp-0z<@$1+u0#`yg=-<3&M76;;JIrz>d9HL=5BSGdke$A*zjV}WG3_TT>2 zv)t-D=j*)P+1WwIu8|%fLQlxuG0g%Yh_>SY(pCV4Bvhw?D_qj58bz);K6Luz#3ZjTP_?H zY-a1%B~)JIDG|95_M15?00@2ziwR-M1bH@0Wv$&oZ-+1DgR;0!JxvcqDu#~pJLhX(?qkc z0oQMHyv^QQwvh;iIY?hVe#0|qH^%hf@7BN@6lTHyuf zL;P9{Mq_%b;jdC+V`(G49fpY?z7WyT7ZMcY*lB#jX#V)4q`m{%&HqrvMy@ZUl=6LA z_|*>z2S+Y6<0klbMe+>w`BL-6dby2xK<%-F{}b9o8Ow7vZg~rj|Gkqa0f(uRH`dp# zzSQUBP!fODZy?q}!%hLbg5!~MZ?GcVtW``YFj^y?rDCWJaH$@z`W=gf!@D4kVb|-! zc;jF(YZ4$4#;7bEtx(LqmQItguJRgC?8L73{HMskd18Z%6r{JKm3LI z=szfabSaeVH@q(x4W~o(Ut7j?n_dpB7?!!?C(xf5&>mp?+6j3)+tx+)43*R!A7vW# zpFlpVabHd&Ej~MGHlDr^=)3q{C3p8*AoRu+(XzCAep9>ka9aHDI`qH}&6wTWxvw$n zKntT*M?W=s$P0)zdcI6W9p|8@hKU2$TTj}L zUoD`0M^`Ihh#p|P{O!6?zi6>#$m#X{ArbTASum=<77D=TWXB5Gm*Q?L^QoCkK`iWs zZ=TP}^!Pr&+?K-5Gd&^48x0S)4Nv(iTOo)LSl{B zKH~;n&p4Vqjt@>fF8kASkR&odhj6l=s7+!{>GXbhfNjaa6?Y1r% z>Bw4Qvqq+<2s|TuLyBEu4Xh)gIIHwO^ymPh)L_95Nljm-tW=a(4ZvUw`Rx?<#nx=m zobOIiX=bk@GD!!;2y*6t)Or*SK5$kKp9;0Jh>>$VFSGD&S|^NHa&?2-(7H6n^adWT zBnb7L@tB^x@+ZHq$&Dr3q9e36Rse8#dd zH;FvzHW2p9ALuF2Cx5Psp_^-$#9f0g!deyw@b+RIqdbB_k5{j`xj5S8kqqQDv^4mp z;sjvj5eO1O1?_g=S$7lDHIx@*1z=*?aYfDijENZ{m*N+#oWbiZczENDn0JWW%g`Lb ziqs%*6ruJ+~W-Rbh zFh2S2Ew)B=>rf?nwOEj)Qqqtq&)`Q8#Ew$Nv68=0UKAfO;WooU-wEE9gh&_YEI;)1 zp&8O`mLHl_2kBSppBA;BF3MF&tIkd0=D&D-w9fF-oyf^G%_;y>N=hR5(I)Y`Y2PYG zbgf>?-)HrWu0{*GT=wHi4p{=Ti+`8tF|BBa_(wBgA{)^Pae2+TWc>{%w)Z82@#1;> zBRk?td`xJJBm6F-C62|`a6*U{@X;29A@p8XQD}-Yfo8!6h|=@qd{8Hj0ls_%1MwZZ z&S5;Ot$gOUzsWW2`U#oGlQCQus4MZCS09^&9U()Tw-?vxpgOvKf_M19R5KHrnNJhdj7I@iY zL@wg{gVXgmme-#!C3Tvd%+(O=CClQ24APnpa#p~>pC6$i%AS>IJGay`Z^-6Maf+6W zdgH`VA*+lvX|&5u!*(TfnU=T-J&te+7Ea4}QJYzUng1!5OLQ)0nlFlli<@&MmWsBd zhMwz4PgDtKY3D5tyS(~6{46BiSIxY!&3f- zjf{ycKZ1ljdp#jEtyri|GtHhQOfoc4-8t{XUr%2W64-0}Z7{q~wNhL3Q)(dUWUVN$Z#Y5Rz@ia)Vmq%j`WMQsJ$nOUJehz zmpuS-&@U!C7q$oUKoa>w9@J6gTi{rX$+!46qG{Pt4mymAK@R#AGD+IxmQfkwjIVp@sDi z>=Yi@x<5Qf+45EPDyt2e2X)UeA3)yLW2Nv1Xwa6*TTZvx{1)Pfeu3cwaW|@F+u;A4B}#y#jJx zx#N2IZIX;bIb5tKarTUV4rXg!`gnfk{7S+F#M|jN!}`JePf_kNIP_k1;C!+}aj(04 zcjYwnaCt%Q>W2B_2cHWsDNu1y!@Q^*Nj)F zbnxZA=hyhP?d2DFmn^)=)DP=l8V3f7Z$Dgb28`{N287%m8tcK=;NHlkV4-L5S|@xP zSH~W@XZbcQZDKYK4li0OuDTSQ9`>wPBqGK#MNeCc83kZn1V?0KW9g~n-|Vo*`ptxF zz+iaS+Gy|hxrVHk--}?s)}QS&fucpk?MbK1GO`~(?AFkO%s`o*)C;F=s9t!h`vOT) z5_553;mZk7I^&DmTWZT9Sy@+eiyPCl2!-LLzqUcQXRiVv?F@bHC+=u!ynZkQ(Sza_ z$f}LszrXm&8gMMD;m@Dr4Wf&FlTLtzXJ|1yyLNHV(m_%jN|^5tzb?#eF!L&~3%eWB zFNXpl*Ymd@OiS%X_iaO;9?@0b1HnN-X`-=E)%Ep4FBCw+b!Vm< z#Lnm98E8hVQyh~Gf$44CaS2iO3e$5ZTokR)ylWHkDnIwiKixIzD2aJn~3J`pL8~<#E zhu^RTAHnMWEMNI_y^F8clgNiHo`18_@)OD>&Pvu!MlpVd(!Oi|X-&p8eB;xvX#t{J zaR<>Qlh!ltfoGFWwV1M|Zh{eHfVf<7u!=WFxj<@2z2t8{}bXuaM_Q3_S{1+VA1L<+dq|I8rn zW@cq85cN2J)mG(S+zsq)7wKv;OWYVojMpx@CwGjaQ&?*|c>?^f1IPHfiRBUx>T_je z5PHaRxx9S!K}s(4zS=(o0bB4};Okj(lX4u19Da?Ep?SX+n6qXd;EEPKleD!Ng1IE} zEn|M5sng5L;%qWf=xLu}FsO&bTBvXd+-G{NOKH&O8^7-pB&0mj*Vk8YzIJotCVmN~ zNq*S_!Yd!5nSsHWWv+j=G2cDNh3u}kzv1}Ki!<^hz|<-C|9EE6O6Kj;?9TSyM{ET) zC5l++=Y0T=iqf=sl#|hp^iM(hi{>e_pa6&N*v1UiR#>nS#RR0dz}Ig{RI9wq0lOMt z?*aqbI=Xz;uV6!Je0PZSzZ3u13q!p5qg zhhoG5xY(0Gi=znmOYrJl8-Y*eqrUn`<_CkCw`Teu8L3F+RhK&uRg00_$S)38Ixi8c;QSAQJh!Z#5z7m&~Wmm=M!~0@x0!hMtVf|D$ z>!j5|&BV#?w*KI1We&uDqC$wib0sCAdJTB}y^Sq4Z*Kc9SA?sgIA9#xTIdQo&%(}@ zc3x`pmyKf8^B-e4pgL<()$zj*68Sf8iB>hKB0dpmfmuyfX5L!C$=uVcr=sVUm8&}c zxYp2;=hyi5b8vLmpToZVQZ9G#hjq9g7Z}a3b*21AwwhpDY&Q*%PpJG3!+J$7<$(B9 zL+3QaGx+{7`A6n3R>a(AJ~BHzhgal)RWQG(j;Ly-OVFBdm2Ku3KUou$)rU2h62)4= zssVhHgD=?VE1%z>&VW1Y?S$*V^0`+bChGlAoTEad*OY+)8^AZbY;o=t|Q{sE6Tgf5jAY2>7F&zq!~(47DM^s8F@tk z(SpK79I^tR^Y%>~2B3F}hY=n8&@a@^Zn1`1AA})gnux)gD;$-i)&D=*@;)yWX zMb}xPO8(CDpx}4o1OMV*I#%u0Z4W#-K24v`N?$K!4;*w(n%u2wIi4@HoVP=ZdwkDg zll#uFwyq~`khV>x7(#mTK59F?M5QF?wImSxQ7Yg6xM&UI`}@5^o-YyjIC#cU?_b#t zbtKhhbo1T(nNP)t*~_rAFsjr`C}_tBcQ=o~S>J|`E#09_B3HL&;YdiL61Rh(8n=}8 zNHy2fK}XoJNbw_*`Kes)x~(D9uMJsMg^(cWDDFRB^t?atO(F6 z2@%KotEGREypgVonxU@xvT_}^Qx*F3f$3?|>OtV?x7=Nw)qT|y@={{!Xay2?JbEu= zV>&|(wvdAy{~opV_V$j5GQFaVEv4o8#Ksdr{wm!6VRYsgRQ!ajdfY=_hSmMiie>Qm z%vuQ3!mZbU`=_*B%DchLm)4qLzh0svq625Dp75U!b3`3?m(qT3$sjkpR!>V|k7npY zB0aiEzFEd?BdE<%fcm`KMIiP~#mYOlM9bPOFFHSaED&~A&ipXq(j^T7X*JazyR@02 z`FH4->m+fG{LpZ`fb@gaQ{B_f4O&aRq8=FZpn<+QYM}#dxuG;4&t~sOT-t7Tvirq) z4sB0yI2OfxtgUrU^s2H7Tll=~9C3uj*uF%m;g$f2BJ9v>s)$!!@cEL`=o4Y|hZ?^Y zEu(25mo3Dq&Jmz9W*`(>BOxNMtf-XXro@qUyUGqAe?hef?yUJ5mP3R8PZ&dADfGuz z+>xQXb>b0GgV5$S87I7{{bm4B!wwO>iV^Eu3|g9U5hXG88hx##XJk2j7-Rh{-}0xa zOz|;@2c6RAhu#`5E)~B`-O22KE?}XfoHvb3nE;@rX3~;MTCM7@t}%V2#{A1b_x}X* zc>`(h2)!1)u=3Zus0D_>*?;^+IXJlF`I>7f26?i3YP&UC?IH{)$lLuTwsN8jweusz1XS?nlr_A@W?GTsJ-Ot@m!T zVjE`DS`?6IHX%lQsCw$8*ZUgyjyrelfD?eMj#<@%;pcGDR!3m2bGU2yk?s|EI8ZB1yMw+#gElXP9PK$!y#eMp>Dc@u`etF&rX)^@_*~ zf$hGs^@`{!ypmwYRvU~l&`ZbBRz!Q5F({SLzJ4-!QLGX>eiIqKbW_5pf^N$2dK81~ z)5Qt%(>-YzlAYPsf$esP`97lGYTypOd44X!VW7XtVk6PDqy=~@7GFYybVYoh-yKJf zW0uj>{o|gK!p&|%o-!yinGiiWS-uI+%gqDT>ikp^j0o{H4X+}ZmMu*W<<$gDT zYh~v3c^HY|rJIbza~-=qZxA&1HlBOm{Bzuo*j(o~IORD_cJ|p?lR7MAlp!JvpL|>T z^Bb~U21l4uF&++<)$vOW9R__EB+GOc3}J|G7O+5WNP~q_K5MXNN#18#JikI8^Q!)T z$I2s3q_8)d-c47X1PR0&{;s0^IWvaPqgRzw3j7Lc_Liftxe?+YDv|y>wM#y2pJ*l$ z!Xp*Oa?M z?!v;2?S5bFCu&XaHijsN#nwzx91{-cx6UP!FMc9&z!fl_dg1wx)rxxU4Jto+i3aKOju)%zSmZ~gHtC(_>C{~#|aC^9!MU`Cpsmuh4wSVX*8xg<-k7#V}( zVIA+%iPA&MFmy_~39!b+gwY{MNlyPH8ct^Z{o5 z3X#rhH5p3xS^yM4qd+#8^Q^#CmEC7Z;xz`gy&=aq*i3yg3v5dg5p2f4r(6!m5^w2E)C-{*$g&Xm$I;J|>dZfNS-`gVDNAq|eN-}c_3tbRJa__?o@ZH5h zs{dt_t6>}1>#Rwt?D`D3nE3UbcC-fsTwQgCiuFi#fThDeEM9JUNn2ij+^l=QxzxWd z6F6Bw{X=C8UY9kMF*+Da9)wbmVekZ5aZa$+@V)02DdUB8U_hayRL^VoDAV__tv7@G zWMu|!re~5v4@dE~0>*ycCR$9g#r+(kKv>h5wUAlDLEw*jU%K3%{bsN8Kknw{w%dFA0&P|nH zGcm{nrLZOiwC6iqoNW`t!DU0B!P3DWo=OvshuR?3o3J66lcZ#RQABxuhvzaV{l=wT zQtr5W6t?ZJe>aZ$S;)kEIW_vYY-vWSt^KaH-33=n%1Dc=bwDf9CBV@L%*-q!1(f-C z(6tfVbC(S72@CnKw=Qm5DhdMZh95e9R_8aRS}AQ$xPG~5ZgzLq zb%*DL$=*cL$9Zx&tqc46AWcq}PPsLLhf2M^hr0_sL|86A4KHntF|%`~zGEFDh9nVZTX3bM+i12*UtZNkd@9A-3+6Q}_3 zy%K3@VR<-gOV_5=jv}cjY|oHmafy^t@voWKMaY8k$)d;o>DlG_Pq$2YSlztHqMahK z$9mUWKF3)EQCm88{?qmH)DGREHmffceaeMXuVUL`>DpZJpiKW75=Yy9bGz%(x(~Y- zE-!Tb#&beu)!l}83!`TFDsOu-y7J=UR`<(~p5iw*57Sf7J2fSm9h1~QGez|Jotc(K z*@1Mmkz`T0l|HR%hVcj}qe<9Vwj{j$%+5y4c%4yPbF&~M1kumZPj^3A=*WgiQtf1< zAwD8;y{vBa0U{;ZkUWHqAYok(m^ct3K^h>pk`RS*PaKF^)a`cF*zIvFO5~|JYK4hw z*jU0lw(b91O%LO%U*Z3<=CPo@AB>|8Sj}nNWo+@4u4HuNQSFnBrTXKBm z!U5dz1XRVxIkYt_Yw#VG8l$l2OQYHk6Ma>seu^iE4#4gh)G7z#Iu3_y{@R`gd*DoJ zNb~+H9&Z7E%xD>B#bd4Jpq1okrqzyybtNNc+WGic9r@+Nu;31ql_s;bPDwuP2<7>O~pmk|bm`0FZd zjLa0w(sewXUzlm4?{TR(4Utf&0UYYZuvytLAWt3+raT62%$!g!Fjb8cFy95&xWe02 zerBB2swB=1vVz(wMUSH!5X=4PXU8b;H;$Kxsufq_)_P6T(PFc1r4d&O!G z<{doQA!R&3HWg0*YOG9wPYwO37gXEv`oVnZe>3dHrIh zY*O)R2_|AdaImk-4#an^)-N%IFs#u6+WRlTWMr7jox?7&Cr?!X%%}7X1^Ah%)IveN zhIrPH!!)RLN_a$5BMCr=CkVyNA(RIM*cl#jT*u7O*keQl zhnh;8p6t8f!=hs^J$nbOCu$r7-cWZ&m=ZXV~yOU`Nv*{@Z;x~yG)qV)bQ zYLJyR;&oy0Tx#&x`?6{9lE%)`{2AcnRBt2Vh)5ZTh@9oD!z2w8;vKlvp=`bRB*DQc zTj>LKlE3$MKOhq$S5Z^%UDv&=DSMxzi#|Oe0({y-Ns3;LyCE*4yu%M$_A;4+c2j{_ z4|7>=`}eh#9&4Ylh<{b4p03MgxJ4Oz?u7ps92;x!Ar{a&mkf)7Y?n-jkXfS|b712R2x;>08LI zy0W;Eu9(9P!mIl{zBi|{(mN41(SAzgb^V_5MWa4)<$2q=?W&*8;CX)_Z0deeG2;hV5xtlVA$h~T?c{rt!bS<}8RxeUt_-z0I7 zhyjSW97+PJ1vKsSh+d+)dW%|boTySJ?US~;kyQL1x_);}$Q|a}E2LOLk8E{AN-RTb zr*XPzs}1Re{K{MA0f;T%*7(RF0F&0W@5Z;Kh%Wmm!khp^Hwx^ z+u}C&Q+RYLteAu<`^_?lh}k4OBn8pLx;=;hL8Gf+^ROSYcArb4#)AEBAc)3WB*Q~> z0a}P6L2?P>2<_IYhdN&@JQUwvOOsl%H_|6`h5*Bp5kxz{q{b_&acQ-gu1}hxgda+S zJ&FXxp~4If{T}k3iVxxkwOH?aUv09J@zHV5K0X;2@DT$G;aMf^kq_-8&M|nS7WQ zU^ZX)?N_)*_-WD5j7(f5i*!~DAGB(jtLW71< zZF69yA*J|Q#HK^ykngHKFL7Sylz2kmNQ{iyp-fluaA5SWvJ0S}1|lq2^IprYbsyi6 z!(3{M$E>RBpFl|$g|yO7_nHhfN}~)#C+Es5eSc9`V;XLi+Dy->aQg7CZYYqhmdH0q zZy-|*5;Lq1+ykkl9p?P=YF+VN_=>d^Xq{`C7)lDRyv-aC`eCLaLO3TmUQESFM;A-) zB1-%YE89*wJe3h9u+!JbIQ@>ndLsC;@j#8Jd25`QgMa0nLqDMjWTvy6{1o59pmsSZ z+97iYipT{JN1<<68%J%XNm#-J5)usU8x_OYPRJx6rA_JbXRZ z`Y>=2*7?+WbhLCfy==?P8|{vL%rKQvR2h-g#ydMV@8SYs&_$fj3TNBz%WW))n)if@ zXfyj77q5zX878_t5K@2wVIh&EcuFyk-`cE=?{u4m_%gi^t5pOd`xMqKtT8n`Jl*Z# z#w#M!;#KACGWss)AbG!VZkc2&J*d-2w|2>+HnW^gxBUw?bA9Tt1yNn6t*cE_ld}Yz zzj%Jnep)_$9=pCCWoiN*RtWn+p=asy5ccZhuid#b5`mYTC@(Nl6eW4Yg3(qf+tuvf zQ$yi-3LEl6`ri|9c-##|W}CBMc8-~tX!4@h-du*z%ypJ1cl1R!Fx8Si530xGxb@0( zN!3uy{Iljo6UCGYI##Czhru8_A(1>hSG8xyYYop=85o);sh^(8rm)&xduoo3FU?F-_J-A%4MC?G9b=!vhbV&KI*O?ZyQC{wTlDXvlP;5Z2 zfUx!|DUZxtY&DQqp027UE7=Ee8acaake4b8-=)`bv#!T`sYSbhuZ*10hp|xU#AGTwSj*j z)yimmBB)4*gKL;N;+-?Xltg+}W>EI6)sv&K&YNGTo!|Wi!%h6cY-gg|o|pLDO&#_x z>>@Lwu&KZ9X4wajlZ+2hfrf;z)D-*ab1PfXjPABdJ*huoQ?cnb`-PG_v&tsu%VC@G zYC@#%(EK`VInqXqv))ybA0HoD5CYGKNhap{bUx!X|KQD-wr*~3o~iRgEII`Z23v2? zsC0tm>299xdxlz9ZXUdCIbSSHK&*^6ojMUK{EWEa6M2>%_}Hff+}WB+cBL zl_3nDPygg;4bW%?0k3^sE;A?6%l0W8seS6wQ#*+$GeZC|kCp`mcWB>#p zAlW-vuvQ<3!=b{6SL+vRZbhG9@h*&lCCE=CjaVySNq&>DLK+3J;V|Nc*%yRkqR3=j z7K!TLorD^!@k=LIWvVunS{?W3n<@(M93r9uar(i%80y)tgMmAy`&~Ky78?M7w4Fmv zhi^*Xb=5$jNpO54I<6fSkj#mv1eME)YL3AT8omcgpuoqN=6HQ(uF9E@JmtU4{wCi~ z*}tQLZl_Dxck`OiBSdy(Xi)RC@cF6tWOca}l02`V#!zDg0jDMAfq9JdH`ZJhY1OZB zjT0&4k#fQ^Xfv#o_F+1e&Gv%vQd-;C+j!t@s+KD(=|oM|v|fV0Pl! zxjL?~5ibW43~at-%#lU}9X!;OCIsS2%>a2Ni{#tUFGq#Z*9AUz zYdvh9au`{sJQErbzBr$06KK}f9&a0=*7)~)ACVRm#+p;CH$u9rhHkvd8%!HPV(M#5W77e zFlc>QHX%r~dO&}m_Md>8{Kmrgli={&v2+tjA^e5iJ%$Ck^5U0uFZP(^y|H`tbkg>W zredh|J|KN<&9Arpe#Cn!#%3RC$$9@TY{X4DtlQYx`2k(@s$?nSHK#`TOZ&@Gds4z| zb*S8M>eX<@0%RkSVuiujf3<-P&%lCyWcwzS+ulST+C9YeEh?Z^>m2s8D;jg8%F7MP>WC`4QVBo>JSkj(){c# zr#a0ht+jeX7^tt~!)Fn=cW4-4OX;7{2hu<38$tKw8)WovQw4*X`cO1-4SQr4sYw^C%J^O}PM1QOU0CgpngRL@EcB*DQ$Dxt=M zAX@W^@FA$t(PZ|G+H(muXR&s*9Xe0P$uke*QYU&O74UdQtkx5$78aMRz)LUafj!^a z!({2e3){mx0A|Y$rVWJC6ef*{MHleWd=>T~kpg$dF+#)mYZHJP!2ie1$Hg(O&Loy?Q4L^WjpbsVcyB(9zG{=~Co0WDvN@Q}Wv<73!g_!IBmxR%tF@BXg_Y#O2Cp3U>AwOxRc%uke5&@4}VqHkyVm%6>C43n1DZr zl|%M7G6eE=GJ5pE5bY0Ec7BilFZx2wbSFKCp9B~2rRQ|nzrij;M&rT{UIaAn;rw_i zM0z<3xydM}U}N!R`Tm2gSYML9#^|_B7N71wEi?#Abu@C&5(}0OCpO9)V3IgGl!-Vd zL2hbP=#nBwo5nHER|6yuC6V|usR4)(uc1Yja_V+V9ngal-$!R)A8L2d(h-3AFjQ9E z{aGxQwF0(EpzoxH(Yk;-Ibx0cUK>l!Up+6ZE%xV(@9sa?c zMDYp40Or^!{E#7)w>UWQIHRuYv1$qeh(JhW@*64zjRI{jgo_I~-YOS~F+mCAo35IX zC7#h7ZSI`L9|ikBHuia2f#z77>6nJaFf z8VlFsAyI58kyo3H|EA4@I5!+zaTX+-fO8|fV?K&22r$T_{u5VhI2J^BmeR}LQM<6` zA{Rn4Q+)Cd%A(La?Wp)pG-G^Vqa=eHZf#$FmO>&ux5!ddKQBMzZhA<1vQD>njlWH6oSPI5}ftSd%Ke+g+6 z=epokTS@8s$7GPoRtWho{;n+x-vo47i&$FMYq?@^9d5I+uYnL^{*}rZ_#Mz415%tJ zPYJOn-|sU-ozox~omUCjlx{EVw_E6G!;W$KO!v?m3xnF~$zpuT7ty(+pF3WU>Opc`mCs@#!3RcrMdR@))2LM&E0g`asqoV~p##=`0)fqcIfk6(=zV z2owS}uFTaBKlCUT!6Rjip?L@TCZ7w0*wPo0&}|?FBlEz4?nU(W+FI#MDfRLRi|Wi@ zvZRsvkRi6uCWoca^xVyKgsyn8+i?<7Tv|xZ-8NK;KMHE5=a<)SPxpo5;to=~;3cpO zJ1ABsd2v&`Z~9TauBbF6vzz3)Rk|wG9cjFhbCz8m%aT;8gGL@1i`IW}5^*t! zl3XaA_A}~t^KzPJ--!&KlaBkmVeb5Je<+LxMs`fQ+$8~YVYn)13^qkn+F4x1d z+`g0CmYuXcWy~l?4j(TzRi_&u9G*{0e*JtLQG3gGRTj|6m(rEH@r}E~)9DF!^oJ7> zH}1B&mqRY+;pMiOEJgB$(RZ5Ry>K0d^#yu`%i%mbKHa#g?R4s|-uHx)etY(N#5eWz z&G5Uky|ezgGF_32!y^d@`BJO%`RdrQx&8C)=Hpu4lt-N&E5XkfLvJ(wubJuPI|D~c z`dU1gqgZGM72Yl$zl}3=7h7Ge-Mw$t9}hd8-2I@ZhYlmP)?8Ui8}`-*v(U_}5xkD! zHLw1?&Bx#5SUq`T>m7YUE1uSNAe7$CrKS@=c1h|a!b#x9)$3)+y*M}5=zY?P0o9h-j*^c|ZJ6ZVj_)Nljl}&NP-HBi@ zH#~SY`fQzFPLDtSC&+iRFqZsyzh)OqIAZ3ybe4~~z{>kPKM}N3)O&D+EDrzFDWtn0 zB;@67hF}@57L?hG!s47);E;N*#XagkOFv;>b%A!Lo%!eIx z99BNbAkWzCk62i;bYJCg`mP;iO;>axf*@2Yk}i5L8aa43I<8$>_yv`A!mfUfDJL}^ z1W)R%`z*m|b_i~d+_9G%ZVdSsMHicS#e^n)xE^dDXFX!S{2O^L5j$Or5-H7=#U5#U zPC%FpDPMZdUC23O49!3Mtk7j66Fm4sLMhhpFx`C8;_k*PxEPg6K_*slVBu_2WKrrx zFhZ$#0gLl$pVKTKCQanEc!az#4DgX{A0OIf2MYDdg+dZ zJt-(C=)rx)NoIj`>+<$zYq$jm@o&UU+~xVmrroZ}!P?uy#qI@Id1x$%_?x-|?JT*! z4n17VaiTY!4Nhz__WrDDjcfW*mmHP4rpeRBpV@k`>}kC}cH}oU(JY)hwj9hXHb+6G zw}SYYVAChdh*~~%{g;y(<#J3p;fRqRi|)p7Nm4&dYPLCJ>8R;@6b0qCF(-a9EVPU6 z$H&VujNPJ(ySt6Jii6B1M@t)b^x*lz^3wgsbz?Ws2j#k+xW2x!h z`^u$VTGg%e97%cv{g6vMX}R?yIW~|0plrl$%ENWBjN-Fd21SU>+hD2P#?Q@dYv{*g zc6rFCTyg0`ydqP<`T+rs9~u(|MmW zU=U=VqRRCzfK3(b|B59)H&@M+vq|2L`hD7WO%M$is z=vLK&=|eI=O(9eqY&%D>KsJs69Q%_lWgx(jIz(g|3eNl&fElBPC(iW`^Mh3(?`rWwZPR4-51On7vosxwWw2*FrMyXGWL< zeL663JTRcSbvjQ`a%eId=P{TKMuQ2?eL5N@pXIsv9FLNv2f0a!ab1;-Q>Qb!{~>P1 z?;^LEP=ru}K_TWyIp1~kGZHdB)OYUvRQN&~3Z?(gR~&!vhl+4!U;vI99#>vOEDrZ4 zy~_JGhI2ZSXfC8n9n>jFa^r9SjwF?WXS>Ef(d-n~L?Ud;<(EM-QMd@nQ>XW(GQy!+ z9$(gh3BYt+e`tSEXZPI9Yrp>3?qP4gE=e2}IX9Q`h*0Qwb8(5Q;P5^mM!deGK4M`6S90xH1c96!A4c_bHlMVqYZ+3x z$5|{nR{GURc+9-eq`KQeeRcw(=wt9)5!e;RNMl0Q5fo68H5jpXk+%vfx4 zbg*O~%evl>f9gjFc}AY$?V5a#-p>o(rC}oQ@5gCSxy>Y^H(;03)vp-7e6QcgFn;}9 zi`~V~=Ikt%kvXH3Kv$vp=47p;=m(&YQhHewSuZ0mn^{>|na?Bbw;y3S z@ACFMaA#BcZ1w#5JTfQU#Lp7KzF!S;)mQ2_U!Q9ssw>a4+OF%LOJD9!=hwt;5n%AL zA6NIONY?ErJ3{+<74^I(cDGK{zSw)!>V8u=v1Ku*p8-Y==+g@357!&9- z5U2LDKaGps4S8Sb-kgwMF`=knc+HhRKfhewKpgaE0P%3&7$!Mhr($6D)En)(9~S5+ z1ji4XQrawp@VT-dXAl2pchv zhYZA%{wyJ>{TXpv^?pQ1Z%ZrNMM)rHr=BYp>|RF(xHBCOEF}l)w%q3XZcB~=Byn7S z(_=~ajr*eGx`;C>5z@#yQXZv?7{uT@+iTF|crn!e;QW#WauRqQtB$lo=EJEfaB^#Z z>PpE2W`yd`AmQk3C9(yz*$40}Jw~L2SV)KxBrxL^#aHaATl9Ru{6%1D*jVP!F$zko zhtv{Jlo#1}oyTQ8jwiLjEMhyVWq-mHHbef2bN6z-R#_m!)A~(2@itPXTo3)|<)HI= zU;qt?M7NJ?cAHrhZ#k)>2rr6&V6S@+=RdY>NBxm)A^|!$7Qpn~AIx*yjQ3CVBbxKK zNfH`wTz~qJ-Y=bZcv}KBpeo-K2XumYZAvW$wbr7BSPEJM0MX1Kz2TagXSO;*ec#H8 zuezi9NeM%=g&LxUBsK%bGR#7rooV>E>gp~l{{Om|t5heDldU%6x9af)%1mSx3zNKL zTJEv51h^DaZT$#3VKAI>E+kbR*0fS^ZE}NuYrhQb~=ubG`wCLij8EzVNJo3Fa{3ffT4!Yw>dFx+0{lQ6i zucz(i`pDDuxd&V~9LfF0ttsgwAa~?>t^ubFPM)ZN|LEq_NC?r~w>N&SEDQ zivJ3Vhl&&}PJ=7X*EDvvZTnYLsMRQ7Ck5LwYk{@z+4OF~bzf6!Mr7ys^!P^Kvi0Gv ze1(#jw=|ydL&}8TWUEIg6C)1Q`(p9_9-YASrBY_5TAaL_4{A*CmsEg1)u&5dtSlI& z&nwk#M$D9RExayT>Q@^0OICd1v~looWwsyxsFt8|G111TbyL~bPrxo5+ACoD&D==L zH>L4<&xJbDj;aW1ZA%>On9qT!=^qrBG4h#u81uhNT?jGKx$%=o8Dj-&;}amd#Bf@x zHKmcFLyQ%$Z{>ViN>Fedz;(I#@gl##jA`7mw=26yh4E@?NSx-#ub^?@TzbIIbdiSG z*gvm#zels`=KEs?mOIkX$oyq|jmJSHqeD)qyJ-a4jrQ1$M#6p11uU4AkjqB>M~zw; z`-?MXfL&~R0gcK8cPywvT$iXoVjBN_zG(jEJfkb}OKVvwzZ%0qn&LqGDO=Mx$$bxm z8IBef8*9gFu!JUWj0fm5iYt~25B+xZ&-e>pPE;;~om9Dk2bZcy^{}I+IWM(yxGQp~!eno)ZPp z(fu{}!*3eCeoy!n70dF$#9Hnztq(F)D6Tj$2$O{OHMj3HBtY>scQ=NWg4Su){E5YA{LlzjR3U*L*u*do;*VKofxK!i`Jl_7cao;XnQ?Z0%d{HI*!lDDX$zFEI-it;4y)4LKPGl_nTL(1c;SXHFEi~sYA1A6%`{X{ys3mq*X6P0CV`Y*7v)u%=~6Bn5ol0{$le69(mQ~sr%)j4~gG*2Ipj2xkbC> zFd_PH(XI}k*QS4(Ik~)SXCztc+}0%!)8+3r^MbXerFlrPf@IN4TQV0Hsj~3j)8SfL zi4=zv+sr$WUv9Ed0KmB2i_Pw*X<7H>VvnsWPl3+ucWEOc*l1$sZDPN>HIIj*@+t+B zM{Jf{kMD7>Bh~3xvwUs`_e(ww%-2>P}(8R zlF@1_lcc}U>E@l;G|OXDYmpRTBc$x3+;%`dW20~2Y>92Bk~G|S82xkDG3Ud(ARF(8 zg~~=Vqv=-rjW2zLH9uZ%j}Zfy2z=(|>1@o3o0y(J4d63nAq^%%=uNRRn%y@NEN3cJ zo2mpeYY!lD2!pxC)mmv3q4e4Lz)VyWqQFGHUi-n(eQmKZ*Kq2xsh7g_x~IJR(bjIV zthVY)BzyYG{DR0=auVr{f{gO{PLo~140dd-Csnr)zu=zF>MSL7d46|DiH}{4rCJot zk6X%~pBpsPHj)SSmzO#}ZXA6iqKv#~TgqAh@45)24cU|j@*i;=r!RPJE*5->(%W(g zioegBYdV^7-eHpGSv;eL=%rD4R!#v7ivTi(=wq(0`nQy#3i;-t;b`_ zH~+ZP*e77#XIokgmd-tXVvl1s&GuJgHi#R(-&!5~YH8sH4RTga>9RA$K=FKuI3ArZ z$+g&|rLh})OvpcpH#aWlC}iVCALw4|AYybJ5Q-8x+nq4*JnpGI2t?PSTwYobaM;)$ z(yjkt+r4q-Vq;@d*G`B}^}WE%a{n(6{LTtw$$fmBS(1M^&%Zba%IjFVvZ~MgVg2^a z!G3vpUY_f?Pq6jEwZ3hkUd2K_XGWwHWpjm{o>fG>jNksM3X-X%Wf9wcvReJuFFg?W zv4_<{8zbzj5wSReJKL(^o<}sPvueKf(mp;kyFvlihcRj(GW?bkQ({`-f|*!@(!ziy;O6HgH{FuWaJELQJJMf*98EWYC0l^iv`4T+K1 zRAL~EPDy6P+sel7l##}<|44h)2KfgH4o@yO%tZz>fD{${X{n~?-j}hKqH%D^$m1C; zPg(=;H9jvhW#+$N0CBje17^eM!Te{II1Y)6o9%NPNR1{i<}@}QYGi_MF>3honAr2J z7=Yn~Z>j+}U@-MJxE2Q$#QOU<-Qos;($?8N!N(i2<3Rb{- zMaKy+E$eGk9z^doe9Rm$OxAU^ga=@1kdZLNbXiJ??46AJulERIBA#LM(O^e%1pl4>_J z*?6$SlfmgdkoNbqFn`|}E&5yBnE3PeuwsB3Z!w*u7Jh&n$22jUN%${|bf!=>aWzF? zzua{EHy-AJHTy1a8%!6I-tt|~-5_9xJVFFW<3 z2vOCJ1QzG%0W&IwQ^n%_%EwO$0T`dg0#)&jr1Z2<_`U58lx#efJ}jR$5nrtuo^`W( z+!;I$j-cQHKx$4VfL{`#-p7w-VmEhMKNe|smT%gey;p9$9*2hx(1TpLj1jFSm^p&rFqfT!(1S#oIgkKI>0%Doizz{EmjPyNcYh-+D;FX5UA!g3@35P^ zSn*_O9@M?>7}yL%FA^#}^#5cdNz|IFhf>~8V{1Ah2DrWU2G1R@nFr!HxQwwWZ}xiV zdd7*{MM03va%J02^ULXkviF9ecjK3!6~rQJHhG$T<+P9?(_<+vY{ONRR70CBtu4yu z&XiBbJ}E;S;B!eu@)pcp047A5BE&*=K3QycMQ8~+s;w?b(;n5;Bvg0n=qh8R(o=w`XKD0kyRf;}Ls%O1S z+dNHknGLsiY@C|&zWi}txh{H{bQZgwP4hZS@&W~3K896#tiNx+D?!|Hztqa1rKnNJ z@#SIpGs^o^Rltl^cs%(YOuP?GY}`6&l%Jk=Y?hmz&<&pUg_f^a4ZOGSb`0FUH96On zG2`#2-VPDjJRO^fvg1*>U-n}^R-d@u@9k9Ri(y)~b2*A3ie3fC-?iTc6iH(B=pa*# z-mRO9X3ga)0x`_Xub2`GV(?>r<~>LtDWcYhkhdNzowRwswB5waEjN1GG=9YeF#;L= zqPyC@x1T4NiQY`A*Nr;2UmU$#Dqlc&B1+hw4%;6K#9Z#@rhBoyP8US4k5;bz#7@tW zzPeqHcgrH)lM-ASzzo)v&!|2fi}K8`K&$_;f<_0-OGV(SylDD7N(Z_-hZePDShveT?PoVTA>Yx4|I^@;G(V3w~R7{duMAA>vRGDz&rPYa zMEe;zJJVLQDx?5S17h~cQa|`B1ox_oHMEBx5X@BgyN`Nk&)+|uw!kW~U;FO0NX~1(Gqb`Z~g42mgB4 z2Jewm7;+<^)08%fn4ks8m|2D6Jy2oFS(RGwXQbAggMKI)r_ked(}rWY2IT+Am7%7T zQKMGro6D$rJt9TB%7V>hj`f8mS<4ZCDi5ZGDyc84XJg9IX2;^mfdRCJCV7}24*L7Q zM1tt$2h(XurGrC!qZuvmP>nR81O%uXWkz|~qAoz@Qsxlz@ch)Fw7KTcRD<7{>4I~m zu*2jO9lCZ`C>knK2Wsx`>Z)xF6=@v#57b98)Uy8+{Ihk+VaPzqf5ZF;Oi`0dB=bzj z@_Ya^_)Ul7gA6Bva)N#MqsaK0`GYz?Im0RqqDWQwQwqM@@ zwFZIQ&%Bpd;oY2VD(${cMAFg)9y5lsc-DB>xIR9~a{}m?5+;&Jl4HL~tRS?07K5El z%;nNk5;|H}hN5D}57UHb8Y#0eMy7jDRb^#7)PcpXBczyTNu5|oW0F73yl0G403vDe zt3;6I($aAbq85X2eeGnh2GhQc=gUkHQ=eJ~F{AxdgV0-|DCJ1!1iYcLK5QP9eZ7gL z`)06beyAZe9w`JP*rz)4bBv-z9(?$1`i;nqk@=zzYj8es9PL0NzC6B$=Xq`j!Htu1 zbKOBxAP$!CuFzWvX$-LEYI0!(H>ULhu@sA3D5?D_{Rb1&`10<*UHF)P=j|w)D!!-J z@Vw%>X)`lL^ic2rt<_(kU&+OykCPBN)I6BHnNDr9j>F(!04VK;f1D+#*p-w^Ua5dF zqI@IL*O@dY*QA>v!0TBpuo-h-;q$i$UZ{(pYIQl2paZ4UFtQ2}1T%fH4D1Hr3$4h? zXBhL4L8J+AXQ;Wy-oP^z1$`71B|J_&k*j+IP2kJg9FAjrZI%0i(ns@cECUie`>DM2 z?5QWaNJwuvsVx*3EoN)=(~OC2UAGPcxDCjbS|G(puc~BlzO?fqkk$=oty)(4N9nE` za%!wnH(_FmmBz{eC+FYg!4m2WF=4qBis)0Lppc|4R2b7GVRe+}1fO2~H;D8Kk!gBK z25UG-o|c|k#xOiKzKZ~&^I7~YicY8g0txT*^mJlq)&4Z-Clf*s`_=)1g&Q2ss*e~T z2Rb`{h?>dyw3-95$IOLOBDDrwzmucnSG-Z8357BFF9V`&FD0m$3@O!OiSN-sxVpUQ zR6WVLS|$p*_&)P@pQpHFl$PCX5CiAu@{hE1U?^Ky?zs{THOcS9q3kl^(Mqjk{8#-o zjHMQ}nS4WP>S{{<{^s$F-&y*ReG|i^_tPZw<5=E(WfFmI?$uti0IAD^FxsGe*&(!-r%u?IF5O1sA_mTsvO3t2+jblG-f z(fT+x9nb(cjQRfNob*4!`?AT4VYFZsRIss={sP-{m@Z$X$ld1Drz9uJR=4d#!`&=_ zFWwino;wZ59=*C*WJDSzSJY$$wWa;#7WUAp+JycPKFI1_tq_X8*pu1wWb@1D!w*Wz zvd;Vd&ZIXc=+drE+^$wG!!0esZrg%7W-oe-LfCRd@W<#q)OQ2h_*-hog( zqjU#4>`y%R_Y9fIR?6+ykMK6Rq-EQ)koxvxTi5hlh7g2)x=jzmLZqtF`)LDq+CAcV z$JKr{dEW5->C2mN9}AsNTm8x7`VF?KZtdEG2Yt7X8(K$Bh|b&2K11%zL87q2s~*C< zT+t@iiBRts^yRzdoAw)*v86?^b2%Zi;gyB<_Al&|?uRW==P4`RkuD8zp0DKOG> zMEkia>xLP4*yR_cTZX1zZ<^jjeHGv$PFnFeySJMA>auHO_~ikbk-E2xP_u3hHi`gT z)*6WjFYe~vn8E%UV?Dw2$%eP#-Cyvk<`(9!+r)%Zk;Y&;n$t=LzL+e8OIK-pQISw9 zb8d+M?pzG0}&y6M|j{0|G}DCQ=EH34*#gF1{<(&zEPZUL`O%brbWd52!}~b+*bI) z951Qqn93GX6*YdgekCV6#172cGPe6^o7_4)(2Y!h?zcW(u;kowab-3f9{vhdu1{?C z$^O4go<&zD)h_&=w0t|kRWJ(zMW$;{<;swOK0@Dco8V13LC+zl3v_ac{*?+EQb0`) zp8bhCfTM@l(tV|SH3lJLl#Ev@BO&!+T=85rnhlJ?>|BRp@dR!!Nphir(?wQZW0dX0HzK72mfOATI0hUXuLWVqO zU<4@L6I=0G!oo;_T3!ta{EatI0G$)63dRIkN^4AUa5*S|(tfV_ZeDZ(=*`l}nK|XaAojhO1 zWfgmC#rMxsGbutvlw(UqD2x$^mKBT@M-Xx^DY(eeVc5|;vcjG96!v{*RmK4s!AVLUd?%U zeiwa9jpB%ror_r5;p(s^`bVpQg8}_k(x^Ua3W|k{Fj{IZ4?r@?Zt|>lJ#J`~1UP09 zJ8F)~Pfoxl5(7zn7>YdGHP}sDYR^F$VSLK;8aW6jx`g?lhGn5np1R5iYN`KS|GO0~ zZPQC`9@=UJ?kXCV8jDpPXmp_F9zvtP~ z{GJxH3}3@R`9OmgqDuG8gF_y}$a8Hy1u+nv+{3-EN1jiyy+*?yj<4y1hMxbpzzUbu0rgSYnvT*eY4NkkDP2_j7OC zmWa*6l&bAG+<&WS@7PAG2QK+RwN7+BYa)HoQHq`a7)`0;#A`*A=@t zxdM|Z4BuA*i_$K6jy#ikxskC%mm2JJ?TcubF->2+`Gu^Y=$n!O59`i7xR38@T1U9l zUiOtAcdLB z;W+L*)w4y15m=Wa{C={?`-SLbiv8uh@@YFF&3Wan0$coV`^&`3s`oRx*oGhAF9L?a zZr>WRnQQlcOi}jEsd6!@L?~*f4ZI(8SFS&_-}QCFB!Hcash@|fapbKI4Yh5oqbk38 z?v~rQcXo7$tn9dms%Xd?xtrZ1Hi;+(FZUC@vY)u=H`6%^)A1Wx9~D}@pXPgBXMa4OSaA`!B=$UP zro(kPF_VQqJ$2Td#RBlbaXe1k|HIaKhO_m6Z9LSjy;qGi)M|;n1u;v_6t!b-wTslO zy+`dLMm2U6wf}1GqM~Y3v^7HQ{pS7rzPZkI>N(mtb!){gb?ZV&aK+r}QAf`5u8V_hz@i^~glqjTDzy6BR6s5wT9VU0!{GHT-S02^3#zRNdx&F;TmQH28`ku}?pritP#q%ZEV;vCCq8sM=AqJhQp zn{NIaFMv}o9QH!8lKDvrN0KQHOaI^vB2?h_9psFP%p+27`;)E3G_}c8o{+k~85K+r z;L*x}($XY?3_$Qrotz{wKRntuT+z}j<1)gpL~kkCA`7hs8t#&VOMsD~ zcsr1Vtbe1?R%Jb-2Yi{FANk1KJSI65SimnzK2MYvTRN}_W-I0{OWr;A!_eC5`~kTf zEA#qeLLKFQZYTBV#G1KX+8f$#Q>$8$;5mPQoX+9HCVY9=7)Rs@Xu;e?owfkL4!b)# zTg{N3!Ob#-_w%4iWehzHI3`z*8K$PPgFD^oHG9UQe^DGY9u2RS;)y^4ORr5-WJU%) zInjgoPx~PRe4{@Z-aSodajUTfe(fCMQuC!{&pEy#5lc{mkN^qNa#)}Q_TgHv2=WYN zdyu1}gN}giY}z`xsM7ek@ngx99kZ(>e zx}Ry15^3{LWBi>jKWQ9#9f_NJ^J!^tOzmSsnc|KFXn&{=!zUEl0p`GEZ2x(W-4x#* zW*AMN4V`3Gk%Z)986?NTfGxwFBbu0r_>cIS?v@7g&CQbi9Lf@c_7sWu5u$K1?wB;R zgqRw1Sfst=mAQyP0%<%_kJK<_KxkB%@spzfN@#bzfwGi}yZlRA??@k2XZuTa0=#4b z0eC^C^oXQ()4Md;3vY70llr3 zCX4~56otODgdpy!3;S@QcTM)aGCqW_tOBZA+>-1VcpOb$+CQX8&lM-ob}{`vPLAPf zYECg87&>x>yl)S9*M&2`QW!N^2_x(*wD#h1nHi`_c+@p28$6fm3LJ~HRFc6w+|)!m zrLE%_2Hi!XWcM1ugwE?oa={EL1itq>F^pycGg3^5>wyV*;ww9CTDzn?5_WnA7{kym z49bs7n0-j9Uf(<9^26a#zcEX1esmYFocYntr@r}T+Vv9@sinq3!@xX@eBGiC^v6i| z0lo#QM;k|;Cs}lmY0ck?MlkcbCF@PUBG&GvLM4<;W+?{O- znZUxbQMuxxICEEm5=5{tphM#~Rr7 z$B2!cetrI%N5#p-NauB0T*MPra7vhVeOy!QVj0av5Ek=@mf2lbV<*7s zep?FW@Md=~`7~5HKEF&&%4_%uDSz}AD<_`q=&6|lj||I~&VaX2!+d9>2jG+X#=YRlOT{1S&D-lp&=_AsVP*r4)D$>{4!;aq6++nCKp>*f<5P#Z<{&D)p05> z1FpB^QsL9@?Y#qJUh8i5YsRFfx(0rYGV%!#>CAQGu~zkMcMlc9w{NS|IQV1{LV&Yg#H}t z7udFu^Pj0}$eCw~$@LxC%(X<}gqbA9>saD>&*-guh*mVcDpMvC!_#5$#I2*dyY(W( zez`#P%t95ImNKTV1IHCPKACsi_xY?4dTVZVzMdNT8-abZW4?NEwcZePw3YLu!zobM zBIqJrP|n=xU{&GfA2zJn+I4;qZu-59hQ)|t_i}Ie+|n%jw4@H@vmE%rzCo-mfVjo4 zk!k{t2)Y;XyUiuK4yw`1bF^`la7pHS@`~Po}-}2G6k^Ry_)w z$t~gmx52P{xJ4>wySG*R0Vk)}>YF z{C#q5SJ8-br|G!KgzQunCiiRGSM=kD89ytHq84|~T83r^ilX{D&J$4H{w}%ded|He z&Wi_kz0;8>Q$WnU*mzS02D=c~uYc6LFGkY*o zwAh-uGqkwaVQy{&aPPnsd6qhFC49}_@`2@?9$;D$YVy_b3^V3}84zd;rFs+!HHPl= zJGyxnTj>?L`FOL@j_4Z*_z{3{Df&OhEvJEet_2Sero|7WjjYUqlMFJ;Xzh;a#*Op* zQgrZ4`5;g7;bx>~ARLvSOA3L`i7-}-8M4gf7L>?zYY_Ns+Z+tof74c@pNU5ii_!bT z{|g4#Y^iU@zu1_I8L51l6JLS!=2!R~=H8wP_%B9H@@d81Nif&NPvsGr%TpTaoTeOw`?@hvpCsAGL5*nCfh(@7c$&ZZsL|n z(%q%(FF+F~d5Y7*d0YRr=BYrxjOb~#^*jWOJJ&oG<#%LHz`^}?%JL#)U^c4n1e3s) z^MBRtvz2a>ZAV_^WU#i3?;&EV$a3X6)eI{6`1y@`f1#tolZ=M*;{{^wK){UL5r%i= zpDiXyKYL5^==}$iAmkyS*6P)W=fAKr0^$Q(CQXe*%nV4mO~)p)FWtG}1n9}e^$9SM z`e&Io+H|5*zSfb^;1X0R)>thv6%61j1H0oH(CgC>0J0Z?Rzt7|9dKn52F#otO~&?= z(9Vnz98ALlhcg-3C*~W-5$IDxkQwPv!;{_yHLeL)Du{suCIRUsH|FSu){PsRi=<&; zAu*;kAFK3MTelPB(ottXn@^aU$o$JiiyRx89B#2!h0Yhr=bHT$j*KA0%bAx_}x-W zDiddW(B({7j4XKrz?N(6sX*&&`NjCV(-G~m_$IGiFF!|-TYLmP5 z+do8AIKBBHL`O?6qs8iUaqFR+oo-a`e{HU9ulNB?!K=U{v`Y~i$YJ#(61D5IhFFyp zq*q!HSiSFVeS1EnMKVvT?|CNOc8b2Op7J+a}6K*kdRrss-?|cVY3*d2z5s_8>xhT{O zb5jqVG0!`C1o;YUVoWkWW*76*kZ`f3=V&xB>|biwl=;fxk0)<0TU87}n?~Z%B!|mk zCuN-1zcoBNLwA3#eep8agj1JQf+BKiPPO+*ya6I zzwrGeQ}@Mq?=|xd{#g*L5@Mdp~x6 zb1rQC=3?^J%z%={5aunx*HK3Z&Inh2xC_q$tv|W@MYXqwV_6(kWU1Ju=XzT9T#h~$ z?%L_{x>_S%g}vXBDn{Uy{#H=Dze#o#k+G_~n_RsuPN8JmM(u7soa#Bj$+9DQh`+Oz zip_aj$2B{3scrTzQl1npB&1V+glz0?O$q|aJHQ|-R-5C@PwW`#^!tv zyL@i_%)-I)wIfz%UbuE3uzS;^=eVPo%*xnBepxo;?8dc?2r}C15fe(bGgW+Dr*x(9 z;q8^#nkeXc{_ePkp&8eT35`Z9b{*-ahOIsDk_q$-K0er+4?C4ITGiS!N-7z4zJ4a| z(PJ5DWaTE0x6r$O^R0p zDnji3U8pYPSElhh5UiCaJkb{g(q_aBuGt;ta>{S60U&YXaUf)*SiXN$mE#*DjCiy(V{f0<$OT zGl2a|>WW~38MoK%w>MAxpn$v7ME`eT)0iArMG{R7!dD^CWD6om!&4rJrI&YBF&-r? zX*VdK6~k9nOo_%YIGEvOV7vOmq4|ah{P!<_$py`~MAG(l;e5NkB&8@65*50`@(_ux z(QtK_$ipv?JW+8*&*_rV8yhkDwWEiJ*d_hsXwX1fyBB3*7N&N?tlz$0D-MD(vW%N_ z9!4M`#`KVA<}&;S@HivjcqMs;0RXSw__~#dBX}8C2Y-vTDVi944r53L(jvwm%IuIs zTAJ5m$~CB=p#RFFhus$%R50TsQHy!ZS1ae#5u~t_wY5Xs3uMY5DpkyBCPD@pr<7Ux z;mjFY6<+eiEaBJmAeXshK39x=Zjvp?FudHXomYz>Tsb`*t@F&L@#G_}F@Bjt@78sMhTSZlTNxj! zM$RqTSRRdGkpu@<2L*^Mf6{2&CvwO(zFw&=dC+9}f?Q6DnewA~vKN(OEcfS0+2@S3 ztR{M`Eu^{~rmqtS*V_JkI0vIChx$HS2~(Xj;G_Kzu^E7H=Jyl9D^I&ra>U633^MTQ z`B&M%ja1yHE5LKbE9P7+D1<<*NaDZmtnOMJ)Zw3)_Kg5;BW3{IG(d>}JIG9UzA8M1 z!u-hAee`F(q8h{-^JbQ^Jw0^5Fv3I#}IAJfoZ}@Nef%E)jE&(b0!~pqP4MyJbWRd@33tkHH)Hi|!(8ilRhI~f} z)$kAY?YDpMLr@8%ILp^K4K=lxnPAM!0hy_v0xBfL3pmevA5LTJtIrMQO8h73*9N#Q zJ>P-)L1ZwqYenNq5E@>>ks8=K`C+*ubbT-Tk8`zot?ImtQ4F6!#?!y;?3s)mWnJH* z`z~!)FO?Ns=Wku-bcc)*)nWPmbeZIdE|wU@Q^k|6b80-=WFk5N_gz)9l0tyqfx_nJ%Dh@vYZLB|dn3p;oPt@h z)2g+uD)zM8yYI4dnz|*hWw671XrDD#*X#?9`H7mLAKSD8aPul3ghK2ISAPEF-);P) zz8CYJy-aP8I+Pyzt>(o!H!W?ZK}k!_C3;mhX7D2%Pd)KhAr(k!b_ExH~$MaLeJ)ygUT?^AS)&L|BW{jY^rzFbe_%wH4NTZFx75M#Ca(a|g& zJ!;W;LY>)$*nRnLBf&NJ?8aVPf@1^aa`Tg@NV0Rey|zLj=x*@n>Tu?9PD{*Upx2%- zQ*~|aBmB2p6(&Cit}YHQFv}q$3$=nw=g+MD%GPZ@Z+*$%pKAA{&>Edy+o*`OFu;YH zu7f1m$cYM#%wiv#%ppjwuVb|fp@#FyyYuI%?uPVVLa>v;UHIW>ftbx{Z?BJTKX2=kqE9Lot=)MESE zE*G>FAiF0Z0v59Fywv62TX}5qta}|*JO1}KpIHt*?&=xOd!SX6SRr2Kdq9@mvh z!2577K92@5JK*0VwIUOERyqJTOS!mFb($Z;txx7c1N=gRwr~cguB+jVAP>T4#mgPu zjy~HrpH*cJ`5B{vzuay})!#2E-3{DHe^^F1dtsL_dAy`4C%E3QQtwR-8HW^TfvCUE7~u>0>)nABxbMOrHCzUz)5t44Pce zQn!KL-hQDCJ=UhJ9bKotAE&aqr5rqpRxDHqd0!L%QeAHL31^sl^!AF0HEQI*O3|8p z+0RLyC6$sY)pMz>%XxltBuJJuIks#d^tIQ$VvgEuYvNWYcJIL1c(ntE-JIyyb@X5_ z?g^^kK zr8_zBz_Bk0np;8B&}i0)`S;JuWTj3R31oQ^S(u#rl&}GB_#3n2pl8tI^sEfeEblNzT{X3C%Ac_{gA~IIP+p=+zq_9Z=7VMdmli-D zWFuLST(#0b{QQRFnT=?YQnPRNZV7N`MzX zEK^{<{NzIl@d>lLF*{j!7Ca7IMYIHv0zk$GnTg7ofm_&+_&ljKDj+u=k{h^UKNRPz zVhBtC$B|Hr$nESoOOy2u(F3UI|X{7f&cr8+O(G0N_;UdiR6I*yv><9(My-B(iFo>uV-RmxgApe|(&XG`?0s zQp?`1@M#y7Zbuq((bGb~G3DhJk0z@!bw|i3iwyrD0EKT#MYMsKuS+KoH6vmCh6c-U z2@RwbOM0L++Jq8OxH96)U>;EneN?c1yKAOmg-xQX=mP$LP%@n^IwF=9NW(Drg*wvJ z9@E!XR{!=iZ|e4rN$I{#>0+Vy_Od|AGi*^q@t?x#wFYjM^gYH{O1>}za48cxaDk%0 zLD~KJkM+PB%G%nB!B~akco>*qCj<4uRu%*wOUWO%qg4`x>g z2CrUtS~9MYNe6nK>)riGEs|?;pm_hT&F8Yz>vrv0=`iBFYyD|`*m=n6ocO*HPD=bY zkmLD@mHI&y390_mMdrDNKi9azs@t6p*W12R-9IF6`%*3LjySL5%lZZqg}Z~c_i(jI zXZPnH??=R@_v6B6 zG-;+Z1}u=(`@3_+o5O7D+w9dnxzsA8fkfNajEE6T`Lo1I4;9m}vFjDf4aq*S& zKAp48H|%I5vA$5Q_1I47sxRy&_5MGp50`^J-Hsc$mVh^Z#{htEfEHBQI6i@!y!$o< zd-3gH1!wWSl~LiPg&O1S?4{oRIKTU)clXwf3a_9(z1tz2u)Hf5h(+wXty1^$ zX@_gsixqfUv zHfXA%4NmBvFzy(cR8vV=& z4sP+6|KqlrmVixCBSzHd>^F5fu!IlQ(5S=vfbmTs_Xb+1wz>B@Ib2%}#7)!0y|MOy z#?-C02|Sog<&;UK`8nP?noj-^XZLT5MR$r?TFoW z^iMZocR3!_Q+xCHCQSXN@wszR#7E+nMDsd51lr68UP@3m`quGjV?$QY-)xv< zvs+gQ44T^2pisPXaa)UWML*`wZvlz z1y$!&w|8ksDY(jsA7*7y(?cVu8=Y`llXFLdR5YE3rJZV2 zxrRI04O7l0Unc^%sx-@8=&1Qo;VLmv(REm{&aC6LuMBDt(2N;3T=}y$9RNh;c<{VwOs`4lWs?d2lUzD{h&FBH>Y-~mRf%3j zVRQZ#`ppiZz=wV?J{L*J?*}MRwnl33$LbzlTH}m3D2-OWz9u9Ox5812*EE2_SQ`DF zeXOSyb9a{HuTe#Ax#k&>4kd(8kvd5J zGq`3F#Y+hxIwC@Xi9cEtSeW3(q)E;cId$&W&r)Z0ze!9B;&VIvXAB!d)+HJuteM%2 zOsAM$GT{ASb}AxELbcl{ewYGA=kjz%YZD~sl*{z98)y;|ron09CdU3`qF$KZb!XXH z%jt2GMy#M+tb@ZsG=2NGj^6NiICg$l!fb`$2QA^WA_1?^n2Kr^-zGXEEi~?Zvcr&b zCO-4#C?4%oCNX_(UUk$MD)n|os!rh9hpr^jl!N7Er6ubDsG9%w&1F|p$b{>M(BjZC zMJQEG793x5&pnbJ#}bFuj1R9gEEtJ{GC%qEaaU1!Co&;!04zn(_-B@!dRJyR#5BeI|&FN zpabU6B~Ui?Fw;?AoLzrk{zKBkz_@Qc4uHFsgX@8sEglGMS@xtcw6T8iPwFdr1zK9O z9kLyw$@hIeB8y7$KUX<%h$e6LvSMLI?JrHOMpQ%&3hd-DiI+$A;<-8>V`GQL8RN1b zpl7K&`zRPM9WkXE zWcv`hIXA}CI_0@syj(X3Q@Ogz`QUP9PWa{K>Y)i|&rM}(_tq`;{y!UO%@=i@I8T;W z=*hv}7rnm>@4L;1KA_OqB6S-6u~OEZlIENmWx}i7E9Gx}*2f3LoX(LQr+b3u2Us~H zj+O2(@9W8<+y6bQed!Xbt>rmw^^8T>76b3kWf?(y@ZSmzj&ASuuSXM$6Fw0s1~zc@ z3TaQf)#mep1<@7_jj>A~8TORFwq37;9Alg4k=V}Ho+6Kur`+qW&Tu{C{xZ@bXQi8c zW~Mc*yqW759MO0#a2ehvGL9S_bjP}1XVtB?ixo@^v${RvmbH5l#T{VVWlH!xT0h0r zJU7cwqUvw&f7}Pw9o+a)I0~^K)0=9mAr5N0+5Xeuw_m8ZfnWwkz-@cM-oej(Zpz*1 z$(Nj}2K0TXgT)3#+y`?LE`yiF_unP%)GPiYp&u+W?vw5REN}G%%~x5reC*`v=5&3X zGVU!RFub2NEA4f4dNsK|Vb;T5xLjnll&Bt)8Gll0RvSF$|1Z)~eH(=%sL7MaQn53{)_+uN4F&ZFre&am}`9o6}dzbsvZEu@{2L;hTv zbYE4}F9lz!VXsM$Emwoj17AK0*Wa@b2nmxhuZpZDI<^0KjxcRq+k7d3uk84CFTQ$U zc&RPS_x^6V>Xpu*W|9rx*M3a)YvNX%dHF=_cNw$i^A2^H<8N)gJ5$b_AERnVU(zdg zyp=3?G(j0^fvQ_Q{tzfD+3LCMnNvN=fY_NIO8nth=4wOJ-eM-SP26<4({rOE@#DkP z{Fwjj8FwXps8SVi&NIu5tTQSs&ce%@!jz~s+k6~=aJ$Eip;+C)^&p9mtq}*DjY3gUo-ej6EUzrCJ?_s=CQ7#YC0dt6H#(xZbnCfL-|BN=aP?QXhv z8Z3r&_o|=Y?d!u4rS^}UKj%*EqR<$QrPcYW3`3n#EMn2$fDTAO1WOWSNo@@b$d&0Q zY6!WOvkJT%HQQMOLDsUmWou{u&vCDsK)k7;XRMds`ibuKS=q1E|A_ZTDXLVT_&rpl zwkxEkW!ctc#G~1HK_sR%N-?iXeAL?)iBIzYau9?U-Y7$?Z%n9ec;Wi9~DA)G;&4$cH#R&xi~e&k|4G%}Sc%6P@;T@T`Q3ZIkfp0|sKl00(zU zO13CXE%Cwf3}`>|rh6?A{4Uc%UVU6SL$1-NKf$7`9mY+90He*EKY6Rz@X0L;}8aXY#tqHBmf79*(n zXsGG%AnWd{ff>l=NpEf>(!dOFm?7KWfh>~tx|;$~EihQp{Qd_uYu`I=;y6XW4LWY8 zkMzKzI8{wp&Fi>AJUOV}^ukg$ozIW^{e-q%de8it8&7AP~ zJ^nrXBvh@eaKe4kZS*ZGSpH2^NhKdq$uGoXR*4E~)x%Pkp9_1YP&hfRge2#>+pPBG zP+~=SVYWIMWB5ap;MK**$zp{9I6X!9?OZh#4EDx5NGU_-Ov!`renZ} zz;X+2Q9}ky(eH~S78i|7a;a5pck6aTTR*FXo`UX3HhXyIsAotz@sD&EQ8n ziE||_eIti?Uh?;;cOz4`diTX)hs4$)%9*cQB0&r755gVH9MoVLCA7(}5u6WAR=S$* zzdo!#u?*T6c~WPEaBg;0JR0js{w+DJ$rn!j;Qc^aRp;CNL01{2K+h@W?l3HXR9TCf zL1a*zbuR3$(#<;d_5d5Y{*DQ!Ejt9Hq`^oTIxqeN+!}=)J-Isx!`XW8j;K1mzCA7w zZno4Qs6K_aOI-cdPzn`a{9hyO;Umu5HFwE-jr+Zww1j99?JDyB^bmi>dj7ffG`i<= zb@`L$rul_6+?(UD%@It+%u}l%m!v&37=5 zxzC`nip&A8y6a@Og+YjBpQ-!sUA2iYVy_Il_<^$c^6zOqVn2^-zbw`A_M$ax5$7## zc*W7PU+eYi**3Uka)xd70=jx7EPtB4&?|poqZ1LA|D9obv1e12X;S{=-4tSfw)ie| zmkrOqP6w$2fJ{n*{>r6lay8aW%*6)YZQt)JEiNp!BhC-8wjMRVN*{^v2oUED zCJ?tyxF6nI!+Dr*W$^|T-yR)Xx4quK+KPR4SJ89AWOaT~CfwzBTQJqbY!tLBw-UUI zsV%;43xj2=I%cZqAo>5o6?;y;4J77FvU9BLBch;93p4r1-TA>>6RYlkUCe||ynC9( zhEw<5lGp9F)7#B?B^m1p>e;)yI~)DbMUB<_N2{0XJH=s&>bUM-WonIo6MT9JK>)E20UL(*PV@<=+!RH@U6ZY{3d)g9UIOzz8JzUHC)E{^<=^tt{1v2)yf4^O>dM!po=!pV==aBPhZN)zuSOOi8GhbBH43pX~TQ4B8$2J2H zdsuE<0#eAbBHxACmX~3PD#~%IU_gvmVe@4Zn z3ly4x4*+ksokom3*|En%X=;N(3nf2vpu^EnO)x1uAiuKkMAJU0k$*(X9c~r!>xbQh zmVdz;3+N1yIxpC@BTo(-nM(}=1cA(>m*uLN1{fcfL=Q4o3Pz-^>;bl;>%dJ8&GV%m10tm@J z$td~^tU{9(lDkruoG(N0x#atFo=Woahb1IjAOePduJk-YH9G=wq+&&#N6zkCq^6k^ z8#{XOArBsi7w!3=dnh+;T6!mmFcMVIe{d83T-!1Z75}5*v3d!JuLKC@;R01=u0A2) zlAO$^HcB9+7oEiT6_uNsJ`YFC?_~1DRB7oESlAB>*l6=pNxxYsCx0$rV`a=OXh*I% zK=MS?5N}*C1i=0Cn;o?9Jk5R5gvjnuK9H1$&=52?k(@R&q6vDk)AB3xCAgYg$}Al} z#2Dfd;@5ZPDl|FkmXyz-xC!lcBMT?RM1 z&y!~O6M7uzqH~@bk?0HpY_(_n9+cZ!wsvEKg@J>wjD6f68d2x9qcXI~BI4N#_#)pk zSuXZ-k!aQo;u^H`N^INm11B;dq;Ujh{oKZwS1_hBnA&h&Xp1g50sxtp7$%wgMU}#! z4Sd-U9)%tSak9eQat+EL+C&Wj%_C1@8WnlfXaROYpE3jlSwN)Pk!j(0$j_epsuql+9-T}mG32h{yJ82q!(WJSn%?BnwDLe zjr2u0=JY?y41!1qIZ?!8;3ATP{2|iAD922igkMt=ss)Ot1`+FL%z>WvKN~D}PU2ak zmw)K2y|Bwyo*>Ji7m1Q0B4dJXdqh2uVokAN@>~9-`3HCJyr$mSpHT(vfGX%S%6}D> z7V3>J^=ARTy(R}o|Dx8Y^s%8H&Y08epPX|rq@c}rDS?pg!l+A8C ztH<0N*O{WLyv4J~$R>x?SOB$z+8zff2N@}8_Ka99kC8VR@jTRIy_ zv>CzuVW0Cfk&%uIo>5{Tjx#T7Mc@ceyY33iCZ|<=LZ9m1CpvcNus)AXgC~{R#F8L7 zAew-5JP4nYRurn74~6TBQ5)gB`5h9|5wLUfa&vKU{>%$;EO~Nxk(t_kzqo2pTwj^f zGJ0J0HqNm=_u#$y$=R$_L0`ahZO-3MLX(9`=2?^-4c%fPTMJB{tL<-s{Jy*rj+NW& z8e?*mU}|4qe;$Yx+K#IIGwB!X=l4D4tzW>r4)I7nf%v1;l0PX2D+>!N%Rl8F7=K16 zEidN1h&}GRT@1wf<&WdKw)amM9dF^J%d|+A@1NF2RxsYOiXS+;Pi`K*cai3h>Q?)T zV;B*A&#?}E^VaW6pre;;QOhw8hd-g|YwypwoR1!PczEo8kPE>rxQjO?+r(M~yq4PA zENV%H83z1hA0??L*@w6PUOxM>l$SMoWFz{4a}wgG|K;uSQd@}riy<$>)Z&!2Vk!hj z-XGoAGLNladc`qSjaFBQVE(M}cTc*6x&>tn6T#Y6@qY`|G$wX8XRyx@5ssXx3osgaG(k!>`xNs(%fo zigX^~jIzAz$00azQKq%9_F!eny0%NOdjHR70hdN;_xb9XA6>yA{!WrTAq5#VOddUZ z@B+_n?^;UqK4^8N=L{XkG{}2~ zNZ4He43PWWhi1NN;lyl(tRA;0ojmo5`F>?JwqCB0U;FYMzs8*Nn`>s1_1|Yjeb?u? z5xW~AH90O_hydJUW9b8WIX_k1*V9XK^4(3QoRN~)&>gzf%YDwDO42u9jr0bnpPLUz zN{ghpn^Bl}g!pyhYVtaY@Ah)MmWz0rhsJohnfh!k=lf8vp5|x=-+SM$tlyoT9Rx|| z3o~kr4Ro53{>6ApLuWZ_oixV!0x0BQ&kbdBg1u7 zoSd32WcBvHBLKDMFBkw2N-L28BW`Q+hCjNHB1@0U&HMN4ka$_~ozA-RWb+#e(F$)` zpO5Xz?nM5zC;|R^BP2!I=Ql(Iz)*>FYOW}*`vYCym=QzToh2Lnb3}2*cJ1k42^9kK zc1?XNd)W#E)J!1JDcFwpjKus>oG zcl;*M3Q`mIRgKO{W#i^cfI=WPcG59iTy1jIz_|bHMSU|yLhFKnaKO$~o?dOLZwO2Tr01 z!4Y@D3*6QE)WN5S*aXyn?nQz>1GW(L0uHcnY8rDR+-$0-PE`_P84$y5L!u1w@Nvbp zGddk^rSJn;?0ntfNv}7DRA@-GqBP;6?$XgO@J5l7Pgs$fI9W62}{P7`9?u^@>csTBjq zEJfHk?j)?+d=Gep4=%`suZB1#fpIsULTycc2Zr$TB3noObP#R22tUIq1OW4Ma-&Mm z-)dBWIR01YZy&A?>%tljuquL6e#pQ4wY$vlPV;OAk2{uHB`(jVX^`0t1~Kl$;(;n4 zY~RB(ona})&F7Cws8RkYab4%Le{h{+O$$2Q3diH~lvL+N!><+bNl47>i0VZ6PqCpx zizsyA1f>$r))y;tD8J8VVVeVUT+Fo&ILRkPy#CzI3s4D&M!esKF3p7kHJ|9eYO z(*Z72TBlK`cy%&6<*aSFnDve_b^r$i=DbZ;IvT=>WA$MNzQu1g**L=fjXb$OTfM{H zPp)2acHgJo+DNe9%{+N~YaO;RkHyxL3aUKG=wiB*2N}o&9*oB--t;c)*?0x++`RLR zbFOt+JjGdw852*PrQh6LGU2}3spA>#!crrQUSHCfGS-gQH&k9u`pY?;($N#ef9a{W zXI^23JgM7B37OMDjfIG-+2Whutzkk$H(!~$No;<2w;s^@Npp1XD0p2ShaC(tZwLxo zUq^7>rJGpc+(4M3N|%f{?Dg91^xk3o5J%Wp!OF?3(k<18w`Z^LjnnAzN*g3H|JVn5 zed!Xj=S@Gnl2W`gx%*dqz0P@6YJELt-SuWO2Ae512geNdho5cl%YomNl>hZ;X>`^G ze}~PTD>MeL>U^}@A=_NSjhsrMmtThz|8b-L^xTHs1@_zs_AIp2`WwC%XMI_GyS%C( zn|phadUrvrbP<6gQgBXCc4I?&?!R7+6<<_XxBWY`b1-Z1D0s*JPHacG@OsZl>0aqB zRjJDqhedu;AGS${MNEZ^BIOlj&kz9mEKSW4QD%C*?z`!p3#PmA$EosY&s(KSCtO$R zT~kiX0vv*GyG7JCwtvX>+W*Z-v9wndW!9 zJvu&iAAWC|LWrpqzGzJ<%~GMIF(7Dvb36!totB|T8%c%gcQ;JH_1NHe9Eh*um0W-a z;mw1wLGtF4j>mzWyB_x+am}*0`dtTu%N6YPK_U}JzPm?7mEuYDDNe|v=dCQsCo^F+ zqC_>8H?&G!?A~97-B_+3t=ETMCZ3<2v()kdkVrnVa1mcazdC$T6t1rhyV?^Q2?!Qn zOa({MHi6xfpQe&8=@vvmoK29RM6tG`wd z12FNw1wV2pk^zbjF&9|iyxBx)!eDOFCJ6}}?ahv#9N^tfaBIc48C?o z-7ZXGFzBBiJvxevl$1wx!i)z+nx5;n-tn=H-80a#8|VTQlnGJn3G;& zja-uiZ*=5B&AT;%=^34HRmr!Gf0*2LnDbJhBJm?>lL* zEO*AIjamyhBI8y|I4%>1Tc}y48v@>CfzGmMuB57frTCP0Qv3;@UP^2J2%xN_T= z3=k>Xl{LiLvXq-Ajd)02(16s~2;V@}m>k8$U#SU&!SK8=`vk-IATkmwHPTvNj4W0) zg?~IY^~KU-NUlUF*gPF=ElEs<+#Ys!ux==arfG$$x3FsB!RTejC4Nj1TZl3X<>5=K!W#WG7>)$8p*}dF`gq9>HCgKSp`an z*F5R09Yd0#nMMB?7m6ofRt5Zr7D@&yUesX?wev{EL)lzko>WYn(Yn!y$CRMTGg2Xr z!EyiPCqLsWj#&7^8<$XpoU?IvpFX#xJB`=YMAf%F`$uI%7gMw_QJBnX7o28ShjyWd z)0)uhkfVSJ&^R1oVUX{W$RJuPPw;zOv}Qty?y93M*C)}Ya(ZYafr=l7ddn@biT-J{ zeJvpkZ8)>5c{DZSgsd}ePXMN7-JW4gD}EBMCaPJAHA+&0JuMgJli$?JgRcO9? z%E(-%JQ$rKRAKxoD&xk-3@@3uugYcGf6c;pqSb{a`gtNr20i`La61m^p=dd|MShpn zz&&9y4z#93x9uj1;A5RE97Z^PuwqcwD?u?z)uSM1)-S55%FH1uYK| z8O*98C47A2$;@?|i%;w02bJw2A48bIQH2swg zp?-Ec1B@iPp`ilg4Fj*N9Pv-g3v$pm`~Pt^AY*a*!OU%X9k3vQPkU8j@MxjEhOSB! zfRCTRCC06Zl}o~s;hsute{q86Cw~h?RIE>kuIx@vz1_6jE*!0EQISB*8PXv;u|No3M-r(hThu* z+(UR|cgdNw?3=B4bW6U)Lo3()+MAjd>*h;c;zi1HMYfjpCuNQ8o#MXW+U7H;a6Dq5 znF)1%8k{L4ppt`}o$&=O5I9?--0U4QOdi{Z7lcP3I_Q(0HSX>6=ig&B*r~^2y~%zs4;Wx;ChdfqV-GsshmSxO zg=m0VW5#@JKk(9M%A(7IH@5|q^IN-jbz8P?7b3Q_=>{abZy$LrC@O7_W_4^jd3GJ{ z)#jjFCN@0ERxgt4{}^JMk8J>jh?}D)lg52H-8ZL9J^$Q0oN@i6;F>SbO2h}sIdW0I z{Tn@h<`d2SdABTfykKG6dUp0q{%qLZYihwqmU+T!`PBhux~<)FyM)Sf#g>xMnD4K- zBEPNH-`*cgX0jQ33+eB3%QdYkys&OYhBn>HW9R=+Ek8TYWdf_z?;f^oa1 zNOUSnnN9qEvaJ+j90dh=b3@Tz^_Q7F%@sTa0~YfY(?k~s?+&pZIE-?!wa1VaC^I@@ zxDr!cnbXm+TfAZ6w=tl4A(+|W`E&VVf2xno|G%Zf(-6;tCDRu(^?WSOuFi{s8Hhx7 zuZXp*%D(JhA`GdX6bB<2Jw>X5>MCbv7*m1FrvJJNWSlDxdz1JW7s7JC7q=|HX2i?S zEM#6pY7_r(d#a$Zz1UNSKZ%;}T2K|<`u2`qRXXWL^=77e*{<0`h~=!^v3aA()jG`5 z-|wOnjZZln@!BI*QikOWrBM~=>84{IV7@E61uiyQ+)LgrznfRsi2U9drgstZH z{rlVVv)%4u*4T3jE6-0$$Nr`>Qx?{~GTDL|#ZEVWlD|JD$Oy?0q?^)AA$7qK>IhtZ zNzX^1ywl8@5aI0WYd!aq1OKOk{Y;pZz0ru($=qOE!$tn!>T1nL=_-}KV7*spdFRlQ zwE+vy@(48DX){mt2dvJG##ZQlXr*1yWg_{37;$Rck2HMf_w?`Ec&`5;V6}Ij*;AqP z6Tx0=N?B8S zx8lY3A?-llm-45{Kf4u#? z`q9`K553YWuFP|a(4qyRH2B}J{S15L>Sd_6Y8_0#xf#!?#wYpKRe__2xJlCcuicWS zp4We$KI0YJOiQo!Ui?>EDbhT*1D_o2CMUwug z@I3jduRbk;d+J}1uKT100Qjh-2POU>#w3x;4-EJFlmGGH#ww1A1Bab?m*gFo!wb$m z__UN|tQ7gSpXbdRWNw>j*cb;t^H49NPQvO+3l|!Mr{Exv%Qu);T0Hr@@Yu#UMHfJ& zLjtnl@V9T$hMmRSP$63jXX%Vo;a>n+ z;L7JQ?oipFLOyN_ZhLKQxcwMAB~BrY`Eb^MmkLUWHLZ*DDnVyHZ)gZ6)90HwM6M`j z4I&-1vM#)SrBkFgt@=fn@m=f(NC>oczV-BNo1lmg}= z0Y%xoV$p+o%j7%}24G#*_zJV^Ps&JmnRbaQ)PT5fhBy^}j1u++5{nI0dkZmGFQqX9 z;1KsJM!w-n6rR}bZrtw)6O=O7-@Ven+DQfIPL^->Fs5FsJzQ_W$ltw%T+<-MXkqGn zSHVm6d6qwa<}oOs*K-j!T3XCy?FcQyI$AP)}!^L>YM(?j*Gpf z)wsJO3XR@{j*CgQTeObp-Au=|v6Jt@P5Yg+-1T{5`-#5X@tYK&e3>Y-t)W&jm?=N- zZkNqeAWr@^Pu^`~ut)l$>aPA_PyT8Jt0io0tsI$o-%NM9jK9n0itGm%&{!_30_`0K zLX}K7i;!*_GRMu09d}td54SoeYs#z(yZQ0SQp;?pO{`Fw<9E&cQXtiFFSyv|v6V`~ zsgC?vs_DfR`r+mf+p3CfPeC{OpSJi_=iFwE@&ogm`(gQq z?xB}xGXbhhcY>gNDzP`6qTPR_md{CrSW}kI^C%#FNjDbwGM-Rt= z57hxHH*(q(gb(XjYqHbrdC7IvZgW8&Tgxf78K>jE`$^pWL%=5HlZm|7IrFIDV=Om6 z1G|j8nyQw&`}26FSt3)mQ8MlQ`Nd%gO|-awq^a+9+Dre9@*tVCXl#kA-$l+tojeww z*ZSQ1Ve&ALAc>qPme+e(wD-91cHm)!$FJ~Vv*YS8;2slLZ~IvU)L8Ft73jh6OgROv zx!l%qnYDc9Fd+d{v}lWShgQs-u-$eZTIN1nJKgVNhku=9r3Tc^*f(CSg$CPsZ{jv# z1Uxg=lghnbN{ol++u1|}<9(;3rk%kxLQ+^Nkj&G=5!=p>X2TL91jLgB!s;r=k<3qndLqNvAx|}N+ zswb}0uYv3gv4j?+U$y>inJ-sPN2RHl&i<7uVQ;?x#}43V&zuVvuR61n2wzY6v>ObY zCwFxP7j*fvwbp;{FJurUiwNg?t(9!J`&lIZPX~dStU@Sp#6YrTign17BdG@i9L+Df z5fQV$7_Rs1fQt4N;@sV=d_>+H%;m@*j4}z~ux;(PV22oYW!u@_bysvvonVg_bz7>n ziWgbD-+y0e>zYKR`6BvVwoRxMleB3l%_~&IA;X`P6gD8jw6wavqd#!Khb;-uO@3@JNT4CKh!?xFi8Ye|250->V6Xa6rc?Oth5Cl z6|nd}&%b`KKGXwUwD%J?;VD|hrBS>+bx;t@VuG8I{4~0GtHx~ zf1EcZ4p3Y@yYf(JrMOtSK+V}#x24ydUyd$QL=VVs2F%U3MIlwxz|kS}o+|qbc$iFN zMS71^6hS_>nH~+!ZA6a@z$7NT#cH!fa165OJ2J(&4H^jHX8u zSp^0JkQ5IOL%K6v?b3U1{!nq&m;*gxVUQ-?Ax%AHt)H-rI$pSVMV$eixdq@YNED>B z`?^wDD+rDP+SvsydM5SnDIM7nB6sPUHFhu3%LNu2_hWTXkz4*-6xIN9u9>yQ$!MW3 zj7cX|0*`h2h0_=*uUB5rAdKl{m`(v8&7SsMOGSf|5x-R&(jG`{S{gNgn!p7o0V0AR zQ0=z)8>nJ7Da}axC4T%$Aq2!DOru4>rLy&)Qp9sasdMx}r&yedBxbutpjH3d#fabA zIRIqp%$MJJMp?-6pIrDHn*$&yX#MKSQ|@8v@E$4c`N4F!MEQt#UMX5vR751Pj8d4r z*42!kud>A%A78VuURHa$Bm~z)=3O2xqZz1TgmT1XK^U;gWK?eYWu@+nUGo^%C`xvk zywuYY$jtbd0_F3mWxERXByuIBiQIX}p`AiQ0d4ppj!@BLZv(Fq zuM+AJ?M`i#V#X!O85+; z&9bI&^9P|vj{1~(mK;D5FfmOX56|Dcw*!#GXFT+NyyZQ1j5><+MtCc5p>*ff(a|{K zdR~~rf|Xp3g9GCYg5Wg^XMO?>!WC`(CbyxZEhEt*KFxW!XKG}L*H$h|s$TO_un#&z zVl-`%g6Bbu#SgD($x7vnrZeF5*Il4Q>ntn%n`E=S4%4d)(>`m(><+N&(vJV&#W>dW z+X^v$BJT~DgRXa5j7wDZsuZQXhsgZUUla)I46|*qb8+b`nD3_LG?l^~6j_10zT%5= zX)y4@q-+-&Dl+PUI6+Ff!q&()h+r(g45)vp2o7=MSc)|J+0@n%*mkZgDvzz8^!bi} zW>!atI@4tc8?cdsR2(s-h5ZLXI~ot(`vtE?~M)zDR~rC4<_i8M!IOGgb~G&SoP&q zgyr#5z9@b#&Z$UWCtMFAF)*Ai=nVB-Jz6iV`{ZhE?d$3*mo=LH%)4Zc*jbDrB~R#| zgvZIoFjdbi&foj{fbGanDF&}l`rqAseVtx009W81=;D;L>4G;RpbXaTNdnW!DNQ4S zZ=KGsn4GA!P=6yQ3y#mv?^Bo?Jua$7=v`^TnCeP0P&T2*@?S2^j6!t(#C(PEn zik`INy4jUZ2d;&nThN6L017r1&}O6TgUR#HINmoq_xBbV1P9CBLF-Imre0^ygj;Jm z9{`~;gMkW+i#SMiy=pLI@^mZE=|5h6hlE35{-?UbZmv& zE4}FY49VuCtE;ZHzhvQE(=qnHKh@iu_)W2}zI?9%e`1X}N&ZZ#Ms8Jyeu%@L_3oj534N6I@fyF!NGxr*eAUu zyCw^dXH93LC1ZifyfeVn+}s2EikzIh z{Bl$C=o-$9vY~$Q{P6ekt3L#N;NK=RJp@FT-xMbnoLn2py4&6+4f-?fg&7PG7l>nHaibV@ACKIe zp1SvT+FtybC095&WIi5Q-ib_N>gev~GyrLHTqtv>LX zwcxF@d23U8HQkU3BlnDl2`xL%R(jXWha#vn@8FfgYC>N@4Mo)e%-_=fmvpg$>d8b( z5?su0ZNs&~W_RSR=-YkPC)Dyg{ZTjOlMJ{^sv zz-?54Pi=vV2^pKIFcz5QJm==PUVO>@*s>O7hv9kpg)J602hk!AcOxDZ1mGF{yo zYPf%Rkd>9S)Z$x>9MYUxi-}pyt=jczvLjs662S>Qc3!NKf--Ax8)sw`j8l$@ZS>4V zC*Z6fU20M(u43Kvp7lnKkcJ%}Gppg&`uhD$X(>?q!_k+MPrml$QA=~%w(qY77Bmu0 zC|Ko&VXRmXSSPR7a=qh%fbIeoe>`BlT)P%bX$dHj+xwKdT|U%Y@&A2ZYd}rnvO~}x zl$`Tkc|&x9vggL|;MbpxsKt$$-QroFf4qM9LK%_PTqQo1?EtU}iVSaqVuXWNaYx5g z6RzW@jg~$Zhj7uaX2{Lfe-O)229tK{hG$-^0#Rpd9W{^V*eW;NtcK%aWai_fd}u<# zHw1?LgwI6*<{o#W|LNloUw?VbQT96L&rTkmtZ}$^n;R1q)zjbR!_c@lf9r>}$N??+hN}d`Tb3z$Gq8Cd=muHAHAUY=BYd=+tme+ z+|6aG68#vS2}dP{U)S&ow`8j&XzPgsE&61mkYO%32({Q6r9yWB4V)k-q(Z}oU?SiZ zlEe0@JZ)lk2xucD+DySFoFo@yY^Y}m5(=WJOSc%{AK=3M zn#Yrm_8S1JF_`cCiyUSVWlul*`BiS#nqG`@o9C3TM1blye7LK#v}(6OU6~4rv|ErU zf^^Sk$j+4TN3CbpVeMioS&X?acYI8sJ$ChCqPZ)IP>Mcx*+(31BZ}hrRtmZyoz5nD zoCDP6<%vOKAVmdQtah>2i~{w6K_$s`gY#dW8AkNCP%0X{pbuKfJZ$Fr%eGHk3e`e< zNk1id35%-xT^A*McJe$SQ(IeouarIo2bdepv!Ne&b~0quU?LEysdomz>2wfbbv$&q zLzl>(jK|&YJnnd?CAOeaDqB2HC4O6fBRaS<++5nSta)ts27h(eD<{e zFZJPX&ef{?c`)BVNg(C|h5DXzyUx>o($aBe+;N6yy!M)Y-#YLh^#CnzQn8K+ye|M1 zS7AG5*R8MFZJaC=L)zM40BPwA;QUZ^>*-48-CEb$%(7S8zMlNKxqNL$$4%2{!0O6) z8m1Yu5%LwQ)=I#QBpx5y<17BmG^b~tiZ1p%K;L{by}VM5BcDkl{+TT})r$&RXfUp% zGjyeWE992F)9lb(d~|#IL?dEr^x+>Cau9gBw0z?qHFf)qzFiGGZ~Z)}Aq(AhakS^h zxTBRSUEl36D*u3*a+s@1$Ck)sp#N*&(T?_9mbt#{d%#OtEV@be?AYjHyN-3b?yU~|ueW|~d)ozM-CZ3x>PvXGvf72M<-t5S7}9h+^w6`( z`Kfhd5y2PlLpPT1qyrCm0DaI7?bp0v%`Bk&h;Nog2N~tb_0*% z0#3|xw$dARzaQTG)_=H+d)O{mD-hU@;HhGJnuV=ky8XxOBqt>!B`qhlywqYxjEOQ# zGGd=a&r{bR1u*5JK`e^OVE#F*#O>}O^>BI^(9TQ5w~<_s``z+QxSG$#&Ow;`?f>ir z7lNsE*hkF3dYW}MVszB?J61TCZ*OWk!G40VX?<&*@|Q#p8&5Qr?ymg)Ew2; zA~+-gOW@V9xZ0apYFWGij{B;H@by)}YEB?1$W3)U8R?g(e1Sn=377YaXJSI4q{N{J;Q3`LpYg-= z-MMA!aS%}`pJ#Z(W>dsEjdH$`27#zTn*q-qEslVJ(({|g$dh*dFlDWZ@1o-l#Na~U z@bDf$Q@rX5N)q?7=Z9YR`1Q^=d{b1~nIXB4Up2?SzJERK*KQPf6Yg;}D9a0+jK0oK zhfhT@nKKK^(u4^J#N3&>el?Ci>6u^VunW4Jp9ALD4%z*mLzWrK5_U4%s<3` zNllr?+w;prAk!LSf*SZ4w`B||qj+aIF7UQnfy)l%Z51orAS}g3Iu?(t6{)YXSEfnx zb5`*GNpub200_B4Q%cROENuLP%cqI{+U}1l(Q)8&VsnQ1R6#XCK3(F)Go7Q%I3O@mIhWizr9_*HT{JWo9LDYZ0&lF5&uFQ{`6@ z)aO-}(g>U7u_qUrqTGt3u~cF3hVxChbz#H5roGpCb%+`7A>@n*!m z{wj|F`~T+lzP?{HN9p={QCKBp`-DxFuf=>p)OaE>G%+}`HLiCZNsM@}I8^|J62$?& zu+d~Z=XF`4Vl%M1o#r#IQQ1TZj9?LZRUKf55Xiu>!Wqw`=5&lv;YA_^LnL||qLg`& zud{G!zX+Eb#g4;I!Ip-&MyN+*CeCJ?h~Bf(3BUPX2LqZZA6W`T+0sGadc!*yQ>;oj zB0Z&0taPweAjxo;Q5IKg5EvOk+6||ySjHkn#i8rBY>{HikmQr;4eg)ovrp3eTj z);!VFAf6E8E5*e_)IITNY}rxXD0R|Yyplsk4}2973jIc`zPx6~4aR*3;xM3!oI<9(#4u#$f#4p3 zX(`Nm3qhYQ`0tR|8t}$^}}@P`pSOs_V5QaAG?x zkF0M^Q&+fWwh}OQmCjdTH8cy>5uHK`MED6a!dlKk@}AUWEiFl7%g1w``b@7ds5c8n zGW@U>%v|GE5#MeW#Ox^vvwV7`|Em`AW-{?*YhGFe?sLu9|2CH-OQN=0I#zdqob(?9 zf1X9j-#o@TnR;3%*xDrihsUSj@2J>VxpLTqH zg`OwwYDTlLy+G;H?Z%Av+N`%48%cf0j_K>V>%5H72>k5h{I}=l9&mcquiYRMvXCTd z{Nl&Z60$7PP7FP}v@HHjqAEM!#?>H1H7pLHrqg;dZ_iW01KS~WXfkpa*5ED}iRpCl zIo~>K8H?;Ke8crj10&p4%>Xj^+6t=CH_0eRz=}MZ>(oD+x2IAL^-y8Hus})OvGgYU~uNfhvX@ zC1W{5Ry-5u4jwLttJp!x);cQl#I2q`lH}WAN5D(TIeJz+K&OtRQ?*qTOI}u`+gw%g z(7-0@{9F%IDpu4JY;G$hJb|mCFCkIw@X5*Hr=zqisKe)M{(L&N&n(94v}-^?_ZfDF z!RQ2uei7XKy2*1F`MBNQMcTN&4r)jJB#%OEJp!BPjb(e<58Q;(9y&)a+#{6 z8``LKG^iIEdmrvE%eY~7bL0C&zxDdxJDxalq5>^*zBIZ#Vh)7esw^j2D4rGf?_)2e z#P3C%DsR$eRiCgat}bCuZNYu-uGTO{g4yr`F<2`j zn*~g_%XZLp3hdJ{J*%?j&WLWcGF?s0*%sWb{lCxqBpRoKb|}I;4 z%7!#}S~LXQDk60P^WXAI%W)XoVHw)?@jiLffHNu?vS}y*RzKGRLM&o)O_bME+NtvM>Ayj$9xj zAuR&Pi73t_tzr5Eo!YvtZ!3nm!#vuF^GKB+p~}=|hF|BG;wtj)YU&|>IBaqyKBKO4 zMeC9dPlAgmYH$qRGCqoc#rY8{M}Sdbf<2k=qc8nE3^>WZ!fFxbD3Emo;qLQ+`DxEp z=6y-&;s)nz0L>{bY3jv!Z{Wk>!;;foEXDn_Q{aE64m*AurLDf0&hgb?WYq`nvrh|o zUA4R_d|3ULJ`z}}hI)ExBFv6Qj4n?*L4#VoeKE|-5AH8J{v%WS417kYx17}VOrt*V?gX9&UOCBK%)Lz4hRqCJB^xT`1#VRT z&+NO!c0Y^>I9xFc)%>*rKhPBc5a?%Ow^b)a6y$*6+DKmF3nhH#Q{a@12eWs zr=7T8UD|*7X8C3cJCQmCTwCAwbX=!mf0zr{0b9<1jD+ioQ~oreZK?8Q!0}_S#n!M* zjRVTs)huU9Z{!cre5S*q_sP9mJLD1CYYjbmzxVRCAn@|x_7-Cr^R(^qAG7@N=>3M5 zo278Za-g%MZeD2@(tfr^vDL@&$n^H?;Y`xMOW%J;(trO3eR4)|xO8_%|KaX$>IbYP zSx%pPu(5q@Zu#MFD*Bh}tn#M<D4oqh1+Rv@=Wg8Xc--y5VZcuL@?BM&-@}E>uZyE~3-T2P zN?Kg{hc5a1h|~|QqkCTxtN&xWTU-7gQ6Ce-tg*lU!Fv>ogsOYkTxQKdk;+B}VVAlE z%5|+SYxBm-$EfW&M(No(ruJRf=-p+`UBYo``$ccolwXx0;0VQh(Q#Tdlljs-IzxJG zTtzl(ZM(>T?fC8&(JF99n>*EBR z__4~n;nG+<9Y9cVT3W=Jp>;uaG(G^?^w25ie>S^14CbH#_Qu|rk*%yXzA@dtER%UY>pc}aVRP93_oag3wX;ru}K?)rVj#cy0Dpf|k_qSSS9 zh-@YZ%7w|i=#*aWDdi8HAG-X_jyYv$c-t>K%=eBE59ku>?>vn1t>zEHW*x7P$Z%c{ zN7S6JDRzB{qhM|qaorkUKA0ZvN)7D?71P|P{X~XRh8E!9dZ?Qx-WUYFeFMmP88Zt& zFcO;&5(2u1Wf-Cd^KH`gIx{a6*z*m=F%|$zSQ#VeJXRfAmutjk%gKem60m`5kP{_Z zDCcO!NI51-{UrTu?EB#Y&i%Vq1hz}bdH6SQ-WtVHV4j>w9E3w9U{5{ZFVsH2vZ`Va=Mnv#DC?Z)$}yMBzx}!TQ6c%I5-IjnOwF9EVV4D zsW|~)oDrl#kRARO;<+hg5NRyF+3MZsuuw=H`6oqL#Qs@?MTB7;FM`+V2X|%jtQIkZ zTzx1%5`a-(0Fd!y5F{2SEA+P@dBu8vnowzim^jR4svw2PcgkCE>i#N>PaY=_UoSX0 zDbi~VS@ByfA-<`iTr;G>kxN+-Kr$FzuaTIwWg+BTwWa468!&wvKPUP+;3?J;ItIuJNN(?fYa4-MFhriVn2q)MK4?=SiDjR*}(xi|mKx1j<&%QUgC__bD8jTXbxK#bPcEeL<2GJ^xGnxmyL%lY;WyTuve$JSK zteJ6vkl+1DtA$LY1HSqM$_ZSK6YKyfiGTP&K-ajl2vc7Va1^uef)zRoiU~#NJ{mZY zBfm(HSv{Rp5)KAT*%+h-|1v6)C{Q$MYi;I3A4N*BHwjw8$vH~7CJOOUVaHyg9)BeqkI2ci?b5~cbxn2M#aS;!B#-y@ zoMl*G3mru&X#{hvYqdyG29cXT&qk8=+g6?PV|p8Q_1@Kq5$D+(DX8x0q*l^aE8y~# zpLFANMl^L7Juaw8G_GvkfD?p*~Pm3-wQ20bDQ_W3ESJpfBZev~y8%$OzXEf7#dQ`O-@ zde=tAg{tN!y1IHCUQuNR=x}0hm8QKnE&s@^2hw|>$?ua^@NIIU$q~p-x|u&|FIE zJnkNqDdFMKe^VD+@RuHH$fPAahepp&{7Pq)-}{%JH025`I6acCoNATD$1c~{a=O|0a^wd<JFnI#Q%kO@xu6R0%Jo%gG+7Q+~ka<*7xGS^;nedoZD2Tu49c&MsZZx z((>FAQ;by~PyA1z&_ab*j#gXVuJ-okuDgQ=DSuMyu7H?D=>qX>XE9RC&(3bTdK=T5 zRtrDNdt9)#adY!pgJJ85E3a2>s8LLes|*v=$rqD^)j_1st3V3h!~Qfwlq1uV&wnX!pPnG)f-DL78Lw9cuRE#(X=XG=W?$ZhMz!ivSZzJ<9Da4J zV#5XQ1d2U$MG5l*r7)Q%R`X5~NFO$zM`nh4cfNa`${m4-nQXZ&)qeX0a^@hlkPjBY z6(m;wZBVgSLSO%A2m=I_mBAcZVWq(clcOSj1b+~K-xa_v#O)F;d#XmJUEQv<65uIR zV5h<*1pSs=DDYPFMdTmp>UrrWj|9KE0hl7GsoE|8x%q~*Y2PR_t*N%>7}_lU4$p$D zbj9&i{s}xHjm$?54uT?Ub{|0?RlJc1uzK2@_sg#!3|Hm4E;iB4QWkWQ{mA8@*3HW3 zJ8fQ+miC~bboU40!jPY=9bbwkaqUKjx2`OZd>ddjps7{FnUnKVFTC9+66IDY+O0x! z9C=C>TnBOACVTGJsNUQ)QR)EUU~7_ZF9APhhAK=qfI;pb4gQVWB*p6-OgF#5Rdfos z+9AeyQzu0pj(FBLnad~)G7Z&SuTlnzzcUOPt5L$o#}QNH<2J}b@FeHDL|zdmZ}|Tr2`m?3tDDVdSxw3Ejtb znGO&C!_kMPhrJO=Hmq2d<2NprweA3FJL=I0ylD&=9k{w(zP%mAGF|*3=Pfz+CUmm0 z8UCv$raq%HZHK5OqFhbAdIT`>3&&SR8nku7#y^>!#rlY+PuRZ>Ddv^7RC!|&QHP8E z42t4R(BO3IiLT@B<>vYu%)_5J*|W*sN@ETG+ZlO2Aeajo%Tgz*fO(AJ^@zaMmneWO zg^&S9L~^Iy`}SoSc$<|mBcp-$&wydEPqm;^)$RXDQIBp$9X^bOEi~LY-8((Z7&kiI zN3h-Bvt9O6EH$|vPU)MzR3r;h)&dkDeZokVh|mw{n3xe?&jZe;ZHEA7uMiqALp&6u zd^O14n~fh1EpZtH!d;6R=u@0HrkKhW1Y_$_Z<(XJb^oyfYqYZ z<;4~kM;WxqaO$+F2!JS9ON%xre;U^Ec>|r*LPQidSSuw5k_E|q#8r8c^3w1Aq@0^t zn*B!fVJ`0eTgRpO;X`qC6zp13{$_mCZ!?O5P1f%!Wu`gW%;cMq?yT!fZ!POxOvkZg z`(aDRooL6+G4o90y?)^FDAg)Y;K>tJB31P|{@s-}R~ky0JdMOElcme-!y6@@FzXU) z>*XVKwec{Wa;eTMF~ooyHyI4)>x z-EchgyP0Xf{5OQbU?#TrF1G}VtuQKgGZ}nCaevlv4}xx$tnbwv zS-uA;Yl$B!Y3cISgLvRV3K-ZPHGonHrA07Hb$TI(kN@|+RYi%*BRf-H$AjF>v1Yfv z)k+0_cpYZbB7rFdpuB;DO`=J1V`J}budNC?CQW}&)uvHj?0npvSK-pqc#$tB^w+c_ zC2g)rph=(h!U`==6SjToA8Lyq{}?r`JmZ`IZ@<*%&KDmcA*BRYIHo2_gSVVkLcsld zxItyyL1!-pDmvmW+P*v=lG;#HLlVwb4>$B3pSoA~=J611WabeuoEguD6{-Vh64LOV zFs~5&Afb#;o8s#IdG88yc#CurbdRhyXtj*Jc<+ib#tm ztFUFlvjkd6=p;m2pg{OwGjW2gk!GLqD4-}_u7zP^Q^>Gfa?$#tdnJWj$V%%d=%s#? z-05N?ekYNrO^Y5^6xa$L%D@TKb8l;GQGytP>&~MEg~NqIH7_Z#Oc~zDTAHckZ>^qk zG|EjzmFW#+93jZlP8_PQWjIu1p~3g$#EIgM3`g;Mn?pHAj{Y}V@-)mzp!>sn!OaVe{W|)RB+edK&g?Hn4Y8?2jNJ4(c&YeXIiW#h> z(|E;v-tnwe0vER{1)ouepV>vaH=j zi|*LVZg{au|K00UZ9N^&k5*zq4fZ;F*VE)#PlRY`#l=rJ7=GK$y}~q0V86^!POZmQ z(GgihU%3=RK#viI@A0QaF+qQtuljDh0Qdxvf4%>?N^XE)OV_!ZLK7G4(^Io6)T1MY+DC6=w@8~W^J zy2jG5Brp{x*Mc>bgrH`*zdx>&uiP5exj~(~K_22^D=hKPk-)SMnP>rSe1=(XxYkp$ zQ1s^v_~Yp`E-GbCOak8~gX?>~NUkT!+~@6K)FgnGuko25q0@{%2SALMwMWq~yC=Lv zs>D%q`Ns9Z&3ZtEctk{e);pm3U@l#d9b4;5C?&Bn*adfhpy|&y2@gKc;O0|QS$EIr zA`T_TrDEFP>!NgVOs&9_bG?aW3gxe==UnL}5^sUjIt0Rs+-`tEvw`a&vMZmlq525K z7oN2dmsi^Wx^igbi`V1;9K3|6woUC}X;W_=m>Zz08S9btB;n0P-ORa+cY{^j8AB~; z#d!t{#mh@0J@IoB!94)2v}@mT8^LlCDi(`|#SuMW%hxts!Jh4;Q@N4l9^QU`K*sOO z_DL)Vjp|3>?WKNN&PU2~;R?{{;Phw4sn4DP`il)|l3Q3ZW^t65*O0JC3wBZ9D5=&$ z&mU!SHCtIZ~-yQd?hQ6iM z!-!(}UYS!TR32}pWId0!`0PglD>3vxQilvJ2Dx^v777lE8AAn4=9WZ*E41}#xl>9D ze73%rL-=~@>XHOK6l564h&I@JR9a9jxGDp4VwK;Y4>hzkdHeay{(ON$r<|peEZA!~ zA+ALhx;6j@DZ%@`FhE_09YqK{x&|b^WMpO2toQfVMy%KJlMdf#QtT#k*|Ek*>ef3l z3BBI5dxdat=;5VyHKhAqhqQd7LXAu;D^+}x_Pve|fi!}W(!Q{rc$2D3mU}ei^=g{s ziSCEG1^vBKe65x$ouN3%yHb!)jlfA-j%*yeavcCO1+8+q@S6Uxy~?@ zUlArQCGm6B*@R}pWnINwa5nO1@VD9^Hv5kNylD7nXeA@%9ZIjFyTTNmW)`+ z=~D<;jD4jz=7J(F+iQ0s>SS&;!?R;Ic=`OazNBtGcw-!W-@bc#v>|!s?12qMGo`j_ zjawa08fV|mW0vRC=_x+=i_Ik@1g_CswtL)_xy><0s z_0<0U;mJY26WK38ZAeD&fQ6XI&jGK+7e@O(VPZT)s(lx6vRB+5FR=^Ly_H|aRSgZE zL%^TqjH)k;S+s@I94=RuTTgoT9GJ#N-;cV`vH6MfB47?;9!w?WIP}fwL_wMJ%0@lE zdu%kPg4YVV=HN9=;$=I);?m-z7&1}B2u8T1@OoWT<6!>)?R&>c?BL+&0O5wJKK$|MFP8X;}IGL z)Q#nq3j+G(DLjp@dyFLs=0k}>iIWsIQcyg$1?*hx9EEj4u*yiXX%;ui zjVck*1ZUqTlVl5R2+~+%8I4{FO{DV{XQF5%!jAP7q`@1t#)9)nYio5~UB@=MlLe~Q z6E{58%ChrlH0?l*WBfQ&8N@`JXJ#epHFIKm)?K+^dijT*JdUEzn0alavS549OG0#F zKV}u(tLMz1e*Ov8c0Bo_#?Q;I+ue}t?SODYx&6(8bVdQsr$w&w>ekPg)$vXnnc2D7 zc!{U1EVS=`iTC35ANX zA+54aOBELQ&Ko&MD!3U=4xlWhpTin|pBTw&)jh8G%6RHJQxE$=VYWTb9@=K2p73a@ zP}N3enid!F<$NWqk3BMgX6(VRM^_Z#Z7P(6+!V00%Y{IO>5mKQ2m8Vl`hi!UyOH!C z*ntThzk^_q|?X>~k4{9;t3}$!1v3S6;^T%sG)j6`<)@IespUDB>=!FpekMx=*I))_rz`E{k0#p)j~8C+>KtdCHcS=nz(WWyNlbK*BW)7kg>Aw{b?y9E) z25__g`vXP$rtGzuW73N)|La=KwWR}UsZ#<{bcgqjpKsRp_XPEyaZ!vPC~|xwL;|fg z+d2So90+0Rsw5v32ry`G$Ymv5oj@VY`976;i#txWu0cfgiFJsuA07B zK)ED^L=uw7T6V_E-e7wVLw=}~r3Goh)DgTJ67Li_@u2U3pP$;|V!Z>zr8pmt zI>XrW%_7ZY4-4ftpC;j4!HE?dMV<6wPC7|l21i_IGnzKYA&xc|08TUuo*r4J;{G%8h2e9#dbs4-TTC>!b`Al|`Kl+jk zxL!(1YH%zG=YG5S|JXXKs3`w8+7Hc7k&^B%k*=X*NI`NyVgTvxkVX;d4r!3?6p#ji zp$F*(5oG8gr0cx@n{#u{THMSX^S*1%_xn71@6TpY&?X3kavL;3n*@HJ!gqmzF(~BR z^)apM;kIVd^eIN>v8)z#oToVh6x`514*SN#|GGXLms#qK$U`UsDfFD1&Jc1TUkZOr zPuP}i+`#DXtDbHW9>1aP)AMgD^6xGZ9>@wODGB>GH%A=n);Z<(6oNd29=bF`HdFGi zbDL)70GqVn#v|>9-vj)lEM&*PG~~e)rV&XKDmK(`kn!HKKjgZ9<9xTT=&Px}y{oIM zqpxE_*2|PE;PCy_&>h# z)5C8!aljw%Cm6JU`S^rQ!B*T_I-~;pzv^``MIM0(?3IIkK+%R!y7i{O0Vr*#~}~wdMn3n8Z>0 zd;oa|nKt}o9fjgi*v8rGE!BtJ-~W27!8mOov6FXY6ZewFJ0IDASPBxuM95p0>)}4 zgLY0d|mAB9}K>3Mub{}3m-A^G8Yw>n0?_mGAG&71?+ zE(4D85#^A*g^dR&s@?bLxUWCL{L9Y#e^yXJz}AFIKBgGGG&|qG-rM*u+qnPX;Z(UB z6_$5X_Bg@I6rigBvanTAXJn_)^x3#Qlz_OkIq0a{BAb9!#+#mdRPcmuZgOVv&j6)( zXJwj5p-K6d5Zaf_hJU=44Z5{LF=<3FN19C2q_tUMzf% zLh8IcO!9+7GBB0ur$eFh;5TYSgoG2IP86rUqme;Eg3-{=`FpB%5cjkqLv;5c0c2N# z9&>m)T1g0_z}x8)4ec`P~fz4?%XXn^2bd@AP zs=*1v%{cv8>Evjig@!J68FURFAfaPFL?Z%XumMDJ%`vg~ZV7feFNp*XIde*XvFirJ zF@Q|A2S1KnP`Zy;Ffc8R<1XRlcuI>w66u@=BP03Y!HI>H%VX6e)C>#_SA}Yb8!ZN% z1#b{MzR?QPa)?bJUxU>aWn!3$NzsvNiAeqrd@VpCU6N`MQEEf`i7A6I%dmX3vR0Pz zBf$OiC|p+l;Xi5zo8v6aNnr$<9=;|&A4D9}F~2sbDGwLGQz|;ON=_;G1_;G(VJt&X zLvM|U+jlf0&p;Mz*rnYl9>SDo0TJ7{Di%yOy7ns^@^-6Xm7!hY`UC2bpB=b3D>yEt zH5BAM25^H4h9ldmU-{7JZY(kiFcLRn7#WZKhs#^-H+$ubD_b7fn>v6ubqmElDElbv z7xzLEtnme+j*lCJiy#U$ie~y01V?}-7Tpcg?SiINSWB2b|HK($EWuj@d`%Ti zN%6~~4M=_LR&zX)O@98W62n{`13Dr7fo}r*n(VwbMi%q4VNLCR4km=KR~IFBScfnB znTMoJdFegMge8rpBcAfxB)sAyIwdhW8b(A+iYy7HEG4ef5e0O(tD7)tej!JCEAm-r zwF<}^>W73XewQh#A0lnb1Atuftz_7t7U%;?#cWx{UkwAuCF|T8Y8?k(M5F2L7&}df&K~^v2_WZ?Y;#rWhUa`39vKd18%~ee{q_pMz+&Xi@ zpcY~l1CyTPTQ!|yuthxrIHV=Lpd6L9!zgKEw zVB<`MHY$bKs$IV??W(x;tyh%NawJlA<&+hp%qf%QFRdCfOO{Aj1sNL^=;fjOvd78j zURhtOM5+Y7*_tIN;{~vJ4S6C2nPit~|A^OaRNEg%4r!7NW#K%_%UYYX3K<- zf4yU~0~C~NRs!yaJI)g8%jhE%g2m&ZhyWJUa6+XVX>@gN1qsQ%MQ=hm2C6`=8=gyzBG7td1si#ciOB~3(-qb%Jtu16{Ehs(tiUjBI&EH)Qb&?Jgp zz}HaZ@xl3rAfI?=fI-JFg-4^Du=!-nY@=tm{Z6GWL!jT~98zfeWQ)>2?gj%Lyv4uKsw8Yd*^4x4&nN7wRGp;qy%@U+ibBTV?{ z5)lktU}qmvF()C3q-P*5y+UPrV%$Gj#qrbgtGEB5GL~Wob0*Em>Ms4 zEq!Z4D{V78ImWu>)B5jJLE3&ktSD#Laj!tzCSB+sBa+JM$&}c2;kRC6cI=o z5f6-0b=+v$8&*te`kqmv-@r+cAF@9$sA=l=xaLY}M!6;<0T`h2 z10KUr{%6jb_+hpmx3)Z~zWy-VVA$Rh(^Jp0)v2c}6kU+*RD7xHv3D7@79u|(*ez;$4Hc%cPIy=YXFr&zjwl-h- zX6lttC2u(G`Kx{E%$8Q^@@VLV8&)>fl)Zor@{-5StB|AH^@)cnf}U%o9PgCeQ*$A^ zm7T|j0Dw*HB6R_Q612ByjMY|F8MX=}p)=%)EUcz$E{fQeIvd`deh{c-8_mJlT$adN z?Q9bqJNFL|Tctv*T&5YAG1^W_-FW4-00>enuw?$447QLAMSPtJy=jL?cZ0Fh+=7d# zCjV&To3UDrSM(ip7q(88=*~3YXiPTDZd3Oy@W7PRq776a?wtV>bB9iw$v603}hUYVG#*{M?CeLY{5;S90WR1yPFrXkYZ4GL=w*2)a`8+ zQnkXnbeO;W{~LlEAHVX@#pWLhhnb0B6kb? zOeUv=Ov_>Z`v9~xgXn<6KLkOz6}JEJ-OK$TDSQ<@Jqwxb<#|W`aE(*ib@;k2d8l~J{#qMAik0f57MI<3v&jh z$iyZwWYp?l`c=;&A>~xXKYK0)rsAQxMTxD&fQ_*i6$Z;cn!5=>gsKqFw~@Ov2U*k~ z9};(dN^%4Z43GC_L}pS1jL^Q5xdYUDQbIdPI%IWncw$D-QWk@m zC@tr1l7t9tR@NVXMw|mf3Jnd7A?73;eFP_AxH4J=*Qy{gS{89r8^;ty`!~l!Ur=j; zvl;YoO(9?2iyM{eYrSdd^rCpOVai_#??F675cDgUpbqxNti^;egtDAXW%gWf-=X(2 zzqizL4HoKZMivB6B{j&6w3_x5gUH>1DgKF5kQND7hDPZ|J6Oz9pGy)|065M}8+(vm z8sQ>@7HmBBs)2sJf~(+i;{w1mj^?oXzD6gO@cFjDr+SRH-QZlu-d(;-<;!B&to%9S zDm=^kNDZ2a!2!bM18JRvGgfjjGbS|zRv7G z()RY~Fy(zI;ipNaTBLABxxBVs(W%nH;7#X5^7?6f*~ZoS)oRC;o3wFOGG&E5!d{5V zw8Ll1AoxbqG-NASU%oe0hxffa6N?bsXU;zV12f-Di*bdGpm!dcx_S;l|K=BFX$k4f zNpkQCP%|6o;bD~C&GD(Cm?Kh;N%BA#l)kGQefbd)mId9($|<#`f1VF?6(DvBRBOw z&j)5ZZD{}FH0es(&S7W3pD1dXYmAMn+>M(WYf9;hiVe<~+qTwj;Wz#}Kx)))CsTBz zQ?xuHnG|d8-}e1sliB^xsVUAdsk`wD)ZH(7;s)Nw$FT(b$>67OgWw(8kUib}TS@o# zvNiw#&jr?V$sT;IuuvPnT-p(Udh}=$mlnhQxHM(apy#P5rIW@6A93q!<2QP(Y36tH z=3(zsXZ*{2&B^iY8{h7uy8FL9*Wr^PEza#%-Kc}d$BnxcO{w#NA?eH0L5tIY6wUkL zgvS$tr(Jr#A&HI4y5KY9;~MW%0suiSc{(x94?dsRYNtc1%qrJ8!9w?THb`YG+3wBF zr_0Z!d-%iqILBAbar(HPzSmBd8MfqhY)dy-qeWI{Z`21Q1Eud)4L9bkUL-L z^S#L)%cDQmV-S`jWNKUnux8(^gY6L3h7EbKs}ZK}=+<4Q|ot_5R$$|DNKP{>`v}2(DjM zf7Q$ec^KuS%4^Nmf)+Z~^Ar)2n!4)d(F{;%{Z?F!YBawsXSC5E#8aC@z1w*uRh+5w z2PsA9Wt>L7y;gI#^X^oXO;^2ZuKRw`dY27(6y5W_deKDw&8*rc8z?#`gG_Nyz0wh* zF*Evt(Slyy{!4-?|2htoNE;PI&MdKS`6`}PLVv<}MIc3`yTE2S{EuJIf7ZyTcLNsc zhZJ}L!yF8ZQr(LdxP9O{HmSw`x~oTFW1El6#CG&nDA#{nN_3 z8Owv+UAXZtLDKl<7gy*urpn8_xGE45`FG53H3FWqG>Kv~uj2g5T(zv>V@kJHoHbi% zs<>R`CRIQ$U3YFpI9*gYB4PB_Gtwi+QWsG#g;_8$P&vLla1O%^&NpO9-N-2Z3f!i1 zX@IK`{m?>r1t z0^c_xCPK=jOYPTeXMMOlMz=%yz;JA#se}#R=Ba--8Xt60%mhXXFIA$77ZSJ%E4gfl z<+Y(5hBb-=N~-4jeeB*-M;<1CA6e1!&w(med_NTmmb z{8Y(jm2h8+WDfyh6b(2ZnhA5Q!;dVV_u((i;jXZm#om~N@@?9Tu1)u-~EoQ{^)unauqLz9$3TO3Xt z7IY36?l$PxFSJG+c_AdxYvXZP(>PmR&_sBaVw~D`%ty-};mqwpnskj#ust?hjzjUR z5eBDGz#TvgB-_ZTI=|tRV2GfJMvv6`|!c?V5uw*q2ZL}B9!A4%YJ@SJ>qOp?4b7oz8>D<3;>f!@tWjp3J4qJpbM;i zcIW!S`#V+VTQ5Q72k&vyw#!Qqrv+5A-A?2a4(;kN7LRDL9H$Qk=3l?PgzjhIzo=|{ z$1_RtozCU((BxE_Mlw(ZECFeL6bkJf$t1;FNKj?3B2cHx5>^ z4N-}JQ}!*=7CGaIT7|=HV9<(}TA0GZLJE`I$sop^d9A6_51zh~tK~35@sN|<_lLv` zEMxHct`6fLOz>*FZIic|p`(pdZ@;k5%%n6m0rU@ogQc?%-QwhgmxBfC+-=p1$kgl~ zEZ8hxJ+K+fepK`SwWsXayYe6=9gFH+pTP0l=3d00FRO z(@G%ANrQ$T9Pg~xWZg;?r)+Rpr;=?;FbQpLK+y1z3G&mrx+XoZ6sOemARhs9OJ>-| z-WlI%!a}CCCbLp%99Jg0?r1e7?`C)AUA!nRzqsgpkpsr$H9tY&!b*ULL#v5hQgz%D zXzSxFr*M(T8cfy+>LI>%a!V%|E)r`zG{6ypMoRkyf=^ z>LSZ6N6T|wKKn0CIa_79$$aR@V_KXon>xDutbMNz`$pcF1@8UZ{lK5=*Z+Orp>pbO zw;=-$pmxEFPA*WvV}SS?{Mg!)*gjxovA2`5@VNhU$t&})T9fdQ(Bl&r($d^eR{-?t zYGkbkdc0SSm;`}BL8=fry{Cxa>$~n#43v~~_L__sjRrid&&|@4xnx&?p8}Z9fC8ud zck^+lKVU6=H{~}U`~#PB*itv`)RoRt_7HAW_;Y>zVK+CUjT7WEBlGafW0xWy0kiQH zvJBYC_~q_#Zf90{pRWb73H(_L@5@*%0Ep%+fgX=eOxd{})aUAFhvgoP9NzzHHZT*H zka^WQ6l__a94{HCjDf-sH=9#X9w6@7lbYQ4(Rk%5b6eGOo;is!Sz767uhKXl9jo&i z0oo$knAt{9PjElSW+My&WaEMsE^pW%{DkblGN zYcsdY8zFLaaVp7>-)wCa!G<=!^BNl*O>*tHKKaMzu)ey)aWE}`0(*_6u~t<2d-|?K ze9EL-4|4PJ!c+;r>Yz3*C$pr|oBQYFe|?f^S)+;g~;|K55j&+&FB@+4LtZqpuMOyr7fjyVC=HCUs2&J6r#l`C*8IQ~; zU!b)}2$x0YD-0%K2g!!{1EeF5B_9}h;K+7Hj-CEXq{{10A33n;AssoM+8;&?^?2UV zOR;b=V?sO*OpK11r9fIYjro1d0w3Q@N50ekfQ4l>6I( zb2f>0H#8KNOW>(gON?bS3G(6D?4-&pE-+Iux4jreJ#YG0i3+;Bkd;S5PqiFz5|sB0 zgJFp7_U8MRJ2;-dlFet7o-1CuMpiW|peX!imNpvEdyRQ1HBP8xLedMUAB=CpRIy;L9-A`U2<(`z?Tbl&7z$v?#dxbyOh?~OB z#5P~tTbRh=?U+I)NXS)RnYq&v$0a~za8a<^KKq>_kk->kL_^0r9`t*8!nnWhhaqdR zIS9;(WhAn;cY}w^x>8RgVBR5a|A<`vGp{80=&ExzB6<(f0`zvY)Yn7%jvc z;6B>hLks9W-|3oF^kF(Wt9wZ6IhlOAk>L!q%ep+VyV*I2z<&;k1m83gPJ8Ht^os`0 z5!?g#<(uV${JZg2J?@vru!X1}Pn$hYPY=^Q4|BHp0cTgiSGolBbbJS*K`Q~lzY_v6 zDc-&%|BQhikr646$WY9U6!+u?zcSKJOMwbXNJ_$ZR;D8YeCgAniZG=Cr$VY+UmLPc zgEXMvN|Haq;vaADnXOF|r7nZHpfL}*HF&ojj@cq2(jwXta%>yy49?q)#SXJKdjlPt^66UM2B3?t>00ZTY=KTQg{hrKuSIEv}&~=op%l)io(7&(rUF*{vViOEd zxyoE#l|By>sizj(Ze)PWi7+bgPubIjGCggc@o3Z1pZh@l^gfSO3Id>D$k!R~X@88j zyP>PKr$PAo810**N~@V(*Y_vQ%i(^=VK(kKHsLc-l1nNc9~%u)H~z#h=n!!YukOF zw(0NbpB@1sR;^-lTZ01CGIYjAP~k_=9eig8F+nX#2OOj@L?jw0#in%nE1qn!r#dYN zlf|khCm)Nx(>Lf43ds?inNRIaRT)WB{e5K?=p7tvgq<9-@?by~26lXk>3RH`7gT%e z`m~boYHtSnJf2Ho=u!f%>=0$>nfzo|c&i8cvzKHStx--g)I3&DRCWePb6TS(P8 z9zv;DFp!HT4V925Q4AaE2@(l1UgQZwS(wa0TDnYHQi6Nj9!#UjcnI)DC7jiJAG7833j9} zM`y9{IW(_PH0kl@jY;JO+y0@$eCFV=oDh0zy103rz%iyUi%Og$+Jle6%X$AhZEDeadbTGW ze#C<#>j*!5(|mPVItH{*N}xKDO;3Q5`MAq=hbzHQ~yQz^*xl`YQa6i1Y^m{GYrc z)}K&3Tn8zMH+*#l&U}Sv(VOBEbIN#fcv1mOvLzxmyXOXeDJF_Fh+?ZzJ7_|V3*Yf!ZsGEJFQKP2gufDHDG6xm7+#_wVtPrGAyD;=NnuybqES##fPN;%wrn6lU)yWbWCAcfla`A(s z&1t12Z8r$?3%Y<`W#MTnnA?Af0S$Af&_h)1H;(k88?o004m%;tsb+Nn$!IaGI$wruirnHdx`OBPf7{quJJ1};{h!XI#P z>hfz!{oJ{7bz6Iy8zfdcuPP={c)qr4XD8bq-Vv~cZLX$8il2FpbQ?Bj2p8C58H)6N z6r$Lj+A9L^wA6#m=Qnt?1)s!SX&M#0T)x#f5UVh0OWkN0!+%F7$D}9^t?9Iiw3rvf z+yJ4wS;Mb?rtUw74phIH5Yr3Tf~CxIlk+P<%%E80!3}mTBCXh4?`glD|1IPh4b91h zC~4oO=|p3rbw2m*%PT}#?d8_ho0mX4#9_6SedROX?GS-57w5x|Q+=oXgBGUvqQHq+ zd$_Sn=Dfg7zZ&A!BE~z~=O&anp*dNmOaBS!pcMxr8F4F7$ka(m2^u<tgq@!Z({NyzmKbfMEsPu?0P#@Z@A;x(Vu6y=;e{SXniz|f(HL?yiE3hL-VSog&iPh5FFu% z7uYlHcXs*t|1%f=o3YH5OP^!57I0Rw0APMP@8SxVFW&v$MVz4uzB)Guq4xXWsH{ew>5nG)9JW`M%JR%}*YF{|e$u#>eP8gim zHhyl%l@ixur=fwuyCWnPRAb_uzKofCf6teZOV>r3*Zr`q3q%z+k*JNAgz{Wn%3-~E zq&7{4VMd3p4toz)u_MzRp->~JN7cUp>h)d5EKZYOJWu`;; ze}kAMIJ&C-^nY;meww-&&+HM%8pqdMKKFB52h%Ue`B9{XX^|MeY^bP4OvXucQ-yl@ zh*w>~w|{zo4-oB;sPtLd);J~9y`3Y5U~T(6`J8Ok<))rwQ2#>6oN->)S$5A^gSBsq zHtG;%=IP?vC`v)F&odG76h2vj2Lb3vv0_1M0r^jsA^Xe=F0Pz6S3nf1)9uOSxWKt^ zz{|tSO{vVF78Y_gpAwNkSK6Q1WHD}BHQQX_*goswXQZ zvG>o(@@d~HWYXZ`J`fvJLNIq(&XFPX*Ts~O2Qm3s{~aD1b(n)msb4m0T%9Yq!OuOX zTXX-wPO$)=>+QK*YBNb0qwiJ7^~?G3>)*ctKlj=}z?Od?sEo}59a^rG7I5%VG;7cS zEcIFqG2iy{g=ni!t%+uD+~1?+yZ0I1Z>+fv+G{(7;s(CwAh;&4Cd&xuBr_(z1_T83 zPvsFk%cz|5rW_S$UR&C)HbjWR`>PgeY4T{Q+W`q-d3D2-C)>I;wvv4YxEFkk@pxx9 zJy*!ztPQ3}7@84sUbdNKeL`9NM z3q6Xuja+X!NBAuWX(Su~S2Z+}P`pT7{8*wzJiz<=Bfs7V(SW1JNJR9PrSeY>!8e9K zrS_wZ2(W~*)ct>YG1FCSAS4m;U!w^ ze|(1^Vk+Nx)VL5sv(X{NIQn`~#AP?>@r@1%=~A1LTM^;+j+EWi3tu8Cf*rm$qL&Li zZ40XuLuDFz9QWbav^~`ae2ysRwh@$N{gmU08^1)<5!_gw?&+ZT*P;Obff{x0Txj7C z)>mFxHRn*0m9YfAL_}zrjU)Pc^&rr`dJYGWNOOB_OyP0+toJMJ_e{cy3W8Qhw0e&H zz5)b{MIQBr{=PBuf~V(sA?ClEpLuw!2f9wQO|qZ4KYK((qxrXUGb)Y+2_Gf3G&Q}O-1YLAbe+0 zR{DAZ6>ymeu#5o&)0vllyd7g|n7HHzHzc625lmDn{NA(+%PiXFuHaBu@Bte`<0~E1 zhbvzQW>HrzB4l9+W%@6YSTXupF^3_sqP-P3E?LYF-Zk!UccjuaDULfMF>xVqs8e#hNAYR$Dd+qbR+IHBS_vDf<>fy^n zwQt?i-5sf)p{T};$hbh33(I@eBfEENPrVps0hb3FGk+CHJMdF$nqqG5?*rM;Re0b( zj9$kwvLv#s8!9yRJe>i9=yCqNuFRtpDzz-NuLN;R8!v9p)K%0CkR+E(0aJRB)o zzqOP(3%W9Ezh9cXuWj}Tu+$;B*_^sr+PhCPFqO!j(-=~_?w7fr0-P+Iq}SI&(sze~ zyo?3H|3#5c(P7eU$_eywVkprFKhb$HePl|GBWIA5SXB8aB+?uPEGZd$z1G}gRVcO6cshP(O>8JuD1tw)pQJ6WQy(h&5Kk~h@;LQR$AGLri|Bb=X1Ma@~_j( z?joLcLxMN%o_eW)%+rv}b-1COi&@$B-xfgQ5KICbAc7WAq0SC-MUKD_$9h#N#KJ`Jbk>cAmbbf4Z)d zylZy#H;YCu$jPAz+E3|u%)9DD0sHv<7_-2g-@l6!e8rTx<>Z3&_2+&AD}kCbPf`ij)a8a3%*Wku`&U*hgFd{LM8x(El3OVGD2>nG( zirS6@&G#|eZ06m2mGL(IAnUo%_;eXV^xRVoWL0wzCiVcET_;ma5{1pwvCWHHI_+Ad zBO8Ow8{vf7YSZk4Bj&iTL!%qlH9ljku6?OobmVi|O}Mb!L(MAgYROKLjL4>D)T7O0oZM3{53_YqeyD_Jq1{tQ))D+AsXBkG%29#U!eqyG*gXoF z9WQGX81zXog-9&i5EO-U9#N52uNf$r6fL_%5$@*C7X=sJ4f-p?2Y5cWh|G&;UrmWy zstOG*UKpT#4pm`PBI2kz8}XGa$=WZqCetf0HCZ(CB@{=sQ<(Yhr8PC3cb{I)Cl|`? z(;kF6Qc(z&WpF25n1+H`NriuHjWU7e?E~Hapbt8zzN0yp&)`E_SwKZVDAgQ5NipE7l_@9f|mx$b=0sW9+J<80L*^ zqF_Zd&ya#btKk`o?_xf?2d(@EW*|_q^iWw}%qUhJ5qpE+A|Bd({f(7WJDrI)wwV#L z_rWO_<|Uli3@HN{u0j8stFDh1zoecejk6qMPASERuBS9*U1R7+F zfPic{Jax`ojIM+yCqFmw+n!ZybZExk!4G1k#p!ccr?L~3mxgeTParNv>?9H}rPsRE zD%^i=+i#uaI9ACP+gKu-dS%R*y{J=tKBtbX&^(7R%-L$oQ`SU8LoK$DtYW-z#9S!X zsaC%#WBC;Rol6P8fAa7?W2KfuR{4$5f}OLib$J!=ww(<1E8bN7b!dAhGKM{9y4bNe z>#Z*LUu-L5cuNIL|DC`y&L(MZcOjs>$q8%#`G*jzD^S!ARTJi@@rKRR?n7fGGt~_= zRxpZGe-YbAQ{$D*x78l~GRh~-**@Ivbj;rKQu{)70rnGIUaVTNX%=(t5U&E7X_XA) zX$<2x{~hXaJ2|@&U>6njKeU7C9l!>7_DGpDRk}uBD0RfprSe=-ILly@!fw zz#_2Yrc&h%Fj!ciB$gUGp3w4xlJj}0=c9~51)m)4Gq6eusXk8BOy;72))b4~noak2K^n^yij^8sk& zRKK}6dMbJM!~HAXZVR;jz+ksKGQFFU1*y)vlQ0Q#p7lPg%|EXHvtRwZ_b%`{=uTKeilipc)b#5 zB)=QHpX`g)OA zXe|v@B138v*=cA-&F|Nn{h&tQsXonm2L$_nxL96_n^6_{f%^G(+`6{h#MDaBr7JrY z9y7DGaIM1dZ z=(GwGcv&)rv!3vNSC;W>R^L!BHg}6Y}0m zl9E8VOu4LSsqLz}6^uGON{4!jOT;i59klbXyaj%zsz+}ufIDv0*qlQ<|JvfR(fnAu z3tr~Zl2b#5v-8_4o(sh4Ma61XRaH~su( zZ;z9`yS_^zS6$!$fNTLWy61WO5O2>_kn8#?Pg72YVQR<|>3mna!PUO$T2+8|-SOQ2 z{cwS5Q5O#8n~VuoQd;bI14#Z_@8-`*W+@7}0#G>@LEEa3j#`cJ?{t(}C}YM#(}V>X zwA#Ut2fNT%e&3((IHo(`R+Ex&Pu9ejM9s<>k?%FRWs3z1= z8!>tgDlBxvImRl@7pSboi4NuB?z*~Ka4)0x6dC$18Eg4>t=B?Uc9G3 z1*#Lt$}PB4?uKa{;9Q2)m~zd=yw-wbE}&=$@3wV&YO0$dA|+PiMlQqCFR3s=a{u)a z8$w3UrvvCMaX`MMqpM*!{_?84{6bbcF|6pgO?I)XB?Fb_c(>yhA6b|P9wJ*ce^Q3c zK99teh0f&i*YsV8krB#awbw$4WOwB?aDlP=9SI;_>k-N6fnJXh6J>^#lUUEa!hexT zCo+vPQBZV z|Jl8)hl1UBo`1st*$}CYtEQsyPd>MVMJD}{`1(SrpLQdkH7qP5;V+Hc z=j&DF%_s@CIP2^8!oEaSo5%9Qnb2iHf0gNiPP*@SuJPyt4yWpZ zFAlyvSA-T1jPnl;a7N;C86D*EMyjh%88tO^JYdM2V6?i@hrb=RLSzu`lTd3nXC|n| zo~C=SD8n1kIkx@m<6;v!DO*nJ!W+_s|$^b%iE31d3Kkz?(TQ5gVMkGIxi46T;c!XCBJyX z+jWK!vWs($7ks*v-|k)C$aA&cxmCfgsrgp_g3JAGCS-H62L(L8iH+-G#yj4}o5}pV zy!(ls2hsH>Db!;F{ZrA_-bov>I}Zt68%5>^UtUQ+t@1wX+e%-wZFB@39D4R#gr}sO z0~7j^btW!{Rau#^94DSP>=hr=MyLCO@y4|eG?p+>%?YpbP6{Pp)i@sfFCqBJNjl*4 z#-OTCY30mT=DZEyR;6w?<=?EjKFlL~ZfeLQxhds~zEm@|8Wn5aPqVwOb_Th*E&8Zi zWny?jm|Q)fx}yJS95*@m1^f7Wb-tUw!(lIruq{v2`3`~m32{)7QpCyeeGx!%mqFED zIUem;{gD!`DiH=hH_B#goARo1G$fiLrtIf$$eOdbOp!T_;5A#n|MRsw@ZomC#xM-M zOr-$gfU6q|AHG|E*m*kZxz9d7PkBQw`gi~o6o+gx(|5YLBU^(HJe}==FKwUJ5s38* zM^VB+Ty2Z*R@xd1gVn>jhZZXoLb%0Uu*Xnd%w@xEHSFSi zm&^%MfWo<7-Z1j+`#IO(eP9K#?8(c66fTqAJVKt|BA@9NAK9HXf}l!YiQW#v-un)h6i`@mZ{ zbIp40w9`krVz^Qs6$F9&cCxZa=LM`C4%Hk_s5Ym?pJAFPkm`Ia71rC;p%%SCKlbE# zJk3UcGK!yBE|c&*A-rTD2sIn#LgKH@eJKTBR#|M7ea6Ma1(~(|dMAAD^0d&ZgIFr8 zZf|K~6SN``8aoSi=ieahZBMBily(jjt)6*eACEFb1I`+Hi($}Z?RJOrobQPND1#is zR?tzBp?H>wlL$_t8~tq6c62j7mFzzvPDPOi@%Kl|0aa3&UZa=tVlp!9j&aRJQxu@~7VmXu7w3xoo29l$JY@_U`|NbX zp?-cY_dhK1a3iGh)_=;iU#m!xo8v=&5u)!X#;d?!Z>+Q$?8;r;k9TJ(r?gmvH7sT0 zLNU%9v=o7TtP1Y8vazggZ!A`*<;Xv@D^m^?uOVq%D0IgVztCIvs!~}|mWhExJLbR# z&A%{#)lo$eclT}mNU|Wpnp1%IhT9VXZz=J{dFAlJaBCP1eP}la$0JEmPacTn9p^y- zk_H8`%NybUbnM%m5-YJNqsCY+j}j#hmnNYkj`(#^Ms0}9X@!>%0xOOA+gR3%OM4Bc zI5~M)VQjFXyl^`<^umM()YM(hCYn~ zfONNXNq2XR93dT2(nz<6Flk|g^mm{8%e{}sz4uQb-#h2L&UwNc!Ut)Red7y;Fq}SS zXIU)0ROLm=9;Qun)>4!d<>d713N!+F-ZsAV@dC4xSlQO}jvz_Be^g#8GIM@^(38q%DRCI30iD;P_=m*j-v`J%Z0)8MeOOH;`=0dMwvz|2^14vg z76zFCXtBsn>X(pO9J^{h2H+XORp#y4ErI_xARmc?~UCk}HXg^2VEG%_O}&7G&#WqpoP>I+dnathuLM$*YiRREU{PN;oUhS4@UI80C5iFg2VZ5^PGJX5nzHEHR zJQJ$^l39&b_W~&0C_WYe)h4ngiq-05t8yu>VqPF;2!9V9B#MErb+|FG^E()*RU z+Xk6t<~?wcRP8g2vtRH7o0sU`V?XsI317aHaZ(LQ2exU zRu;4bhnru$of-+LJ{hg7v^RA{@BOr7T2SNq@+#op*Fx88aIj)=IH<@2?pXy&o4BP^iJTBA3m1 z>*7m2K3yhY56@QAINkb+r|sL~MARf1lwdt>(Zpn29nr5Q#De|>=Of=uF^SpKTHmtf^}AH!<+j5_6+)}5{7F5SBqjN44HMXu4Zag|or{+9 zMnt<31M~ar+nHl>>&wGKVa06I40CzZvh(kHg19ln#7qmk|I8`S-KSo>vq4zm2Yq@A zmxRaG`$)H@3?*yo4=*qy`)n@%-3|D7-CYn$-2A=QGY#;5TsZRSV<`Fl)$ea2$86VW z*e!Sd#QwK!)RyH*|M3pLW8T9dg*9TQG=^~8W@}%_lt-l=Lx^R2%gk%<2id3DnF|_3 zaq*71wF}=0C0Nf@{ikuJP1p_&5pa*Am3)t(r z&s}U+Mcrmk(F)Yt$HlKbL+Wq40=MMZ(w2EkRdxyQ5@k*+YId-4YQ4T99ER1<)g#x?upR>KSqR%^4uepj)7(S{x2)Wy6`>1*R>12p<5{V3IZxEQMHp1v5GWfXqNidsx z7bQL>h+?P6EZ_dWb6^6r56ds=C=xPvamur8gL7t;M>50$Piz})6 z9f@d2zlj*&aY5>eAoTyCs@>}zj8mvoUokVzo8&9_H%8<5J~7Z3G$$uMKFOzm9T>>| zAt`@YUA?d%zHL}Dj=}BqAp&j&E3LhJe`y=qj4=&cRPX@wQtk(0)Kj3?0MsggCH$qI zUsy`Zqt0KC2AtcDL|2_BHM{Q)5mDQHr!-QC(S+)_J)7R|897=H^5ik|%=^{h240GJ z-t0M4*(+KlKNpVyAeLUt!0Y@rMc>77r!^B`;$t(bDCKUxCnsR{MXx7}_}2G;)4Xm~ z4isZnpEGj7#W45vkWT+gxja>fC;8gR26fy_W@d=i>oilh;x_#xP>u^xVJjA z=ghGutNN#-BTCcI&e0(<3iy=?Nbi|-1gZy_r_ym5;6JUJvGXSq~W3>I+= zPh%6IK{zLx9hft4dBKC+kOlaAKD_BCA~$j=FAVj7TDAu*)$j1SLdU2N{MknF>?32H z!wKk`kZ%J@otHHm*vL8###Q!`> z8h|mf1iqTIIjX`4Wu!GPXAdV}sELSX1yo6Un+y#wcodu-=e>b+Eeq7CgC)kfJI43x-dQgPvut% z$!5E^rVs-Y1JL?u@Iz@MPIY~xr}yur<~XOOa34`w=(A@AKLDkcY&80ca>7t@~*C?szZrM&j~Cl6lvqJ+9H`kU>9^kUi#Yc|doS~nzx zMf1^(S32}ipXB{u9lE@QuTxWe@)&$_kC3`}0e;_*5%wulWEC!I;TQi@OHGWTMe1zk z%DCNa4~;CUzHQZje-8pDl0hy0%F*3~#7mz4UF^OD6NfJulm{i!8@F|K_`bhgI66>d zMjZe7`!{<^;<4^wo*TV^aX;U4iR`&TqnoPp|HTm{%Y1eFfIM>aN101jAD9_?d-w>x za_qW}BQ)tg|5Gk`@!>#iH3zxT;xI;=K6dTLBPAl@e>zCv;o-6IH(V$uCr{$6J;HIV z+uP0M?9c1E+l5vWVM)nT*pM<3B`-oL;Giks@S^+v2>I?8Y34{7&IUyRW52_qengdO zxaP#5O8UOfJb!h2Ejm6fwaLF9oyZo-yS;I(>vSOlSSVJITHLKU`d=PQNn|I5auHEM z$pL%8>`}z5;pb-@b^PulF?U-Luf| zb>2TULpx^d)5(w1tUw^&B3m<5OXBoqIAFg#z`i+Wv)x@6dx@=wb?ysp4#>^FLj57D)f z9Y_4Ikw;`PStqA*(Il8JHjg{Rz8B5|+n@&Rj}e`o8Kom^=zt*GpKgXPM^(d8M@#J< z7^+w?H(V!wtLR4O`_^J)ITmeJg25pFf??5C-MLF2E2xF4W6BeNmI=p5f;7(xoYUzkA~FeINH0Y?NE(R;!mBTp&x{|flgpzDwU2$&%0KQFbH`?U3>;3k3W z+#jE6e|Q667RPs>Km@G8RcJhRiS#L1@Z6Tg0GP-6r;Qk_HoZjb!ZImD`0!nS;Q%}x z;v`t%rsp!gazy9Vi~t-2`)gp5^CT5Qy&gSd16N@S25$9;tkLr-E>PlE;N@ul$(By+ z_*!>D!u%_@He{OG?ogCr4%=7<0|Vxx#vpRiiLzuJTDnTIBcMq{ZTN0_I5;-AOaVY+C45S=I>7}a{#(eg1{5G`U93lFBvVJRV1B#E=Lvy{c| zlfF_ps##@6?SfM=@R98H&+?AW$C(7b-}SRalAHRV03@2<3!fGKNqm z4`AZarUB@TKl>Id<}|F}qNPc1oJ+db}w`W^y|7kPNH@@iH+ z6(nxJ#8eiXAw>eea~p<0AoKoLU}b-tSipD9_*p0!kUzRaIS5NJiik4_hRPhFv_o&J zMYAyxzYTs!dO|AfOmfVpuLKFkAgO|DeYC9TG5w_uz{dbQD=ZZI?uE>8|8x}f77#=q z8_u=qxf3PSx%K-Wqr3432@u{nw?1@1f)iNunT4+wYa@g7ovalmfT$O`%FhEoN`x%U z?j=ypQBgxnwE(FPvn4PtxyaDp-#v`~Fb2EZ5&-n&M3#du)QlApT{H&=l;od@@-nRu zs5vfTg3{)k+$6WTKpZ5LHu8{UMROtyER0gg<#2MGnz1vmX$^T2Xqa_$(n?0a znK}kR7HN?y7PLxS0TZwqZbp=guylDtjuSE<=pLCtL-DTFHqDpd~22a`8AX!Mf zJv&ox51Xo=DEuk%csbmg1dNyt+u)UgV?nj>T)Q&rc3rjWBYQu_zJHI4+dkmlDwbss zJnzDUgTYu(g;S#cTZGykTF*)qW#KY(99s@G0e3(JDn>g+MMU?lV>(%%AHX;&mvXRn zYL7sQV=t{fq54x*(vR)P5udc|(uK~PhcedNs{?Y7lDy7PPAM>tyLpo@;M zL^FKS^Cu=hhh7{pfs+`A1o4s;MvW~6(-hfS2fxyWP}-qpoYoOM)lH9kgL@oZ74ZMa7pVfYh`zSld|?(a4qdsA~KzJC-%TXe6!D17@)Kct^&-$6@f z+R^p6Kj9;JAX{Capb*i3`}}+Q(-3m`wko|N^Gf>SxKk%lnZ}_kL64!8+}w%wPsDHB zU7T*6JR~jR(1U3;Gr#Z9LjGq#^}&5LcA?6(6KNE=!)$0RB~%jOecahB{Ug+eH+ODK zKBtZs32a0g5<~pL1JGLJgP^qt5JhB zdY@Ro6&;v#`fTIpKc2;} z%%vw_(C%`Y^y1@+b$eGx+j?6)8>7(W6;+>Z06&#`q3eRjm`_6m_O}@~QAr6AQ4xta zHuMI7nx_ZF*v(2@_FzFtKYFKD0k>myHS+?oy}el5efOoc>$;}SS6|le24&jS70A1? zG#ayYW>3~Zy06K-JKI-)etZxpFvq)T#NgRZd3b(^*tB^mVS`8f?&HCVj z_L@;%KCVH2!$}C5d?ZRq@a0Rq#?+*~HhQ{Fz<%}e{Je=;rymGN{?1t11WzBIK`!rb zTsb%%<>cn}{QZT3eC=p`1}0bCIz!DSqfk^ts)A*0R|*Ql6Gg9{DJ*1+U$5Epy7;*y znP=sq-LLry>Jm!MnbLKY(y8{^*B0s3u8pTrLXzmuq?51)zOH%la4vgdCw{TLqXHUwbOOXNQRkow?{zKk4v$w-;V)EHIFvv6Ll{6`@Q zb19zYiB=CqeYuIqiAW`nVrUVV1Y>~mPmlkf&1Rk;z_=15(pKU|h7n}pqaRtDk6(|J z>&-3HdrZHl1FcSl)HL9rjUe7oL3!(_CJ!xk1fzP_%+&JeGH41r6E*R1=3NKe8Nkl2 zB>I%8zr!??^?Y;i@-HFCrM{(oZCSI+1$`*z=H^VL&oPD$2yiWdG#2 zM~RI2!+vk#x2)NCNv8|{ zs^B^Wn|t(8762IrtV2I8tEnJRHzuFez_-a*heWq>5Jv@=32)q(ife0m_(VbXGvNL>|i; zZtQQ284#TBzWC$4v4BYt3nOI%Xz^9|<88o+XV2XamAayajn$MQ97C1NtM)Hj#6=AK zBdVdsaKh)8B85B~*Kj+--DCH7iMx}><{m$ffPjMqtzQC|@(j_Km~S!XmjVxkv)TSN zQWC-bAS@%zz#+hBfqDd@t*y;Dz@tcsfS8q7#Lg8|4g?%vfC@nDpcMIsUb*zm$Kdj_ zs++opjYrf@b?X#`!)!&+%XsE&!|j@y3DbwAx{}^k&p>W$1)e-E%Jo_0$UNV@Oq*_) z5YHH28l^VHix){aDNh3T&UWeUexi}IUxd_{ee-XApP*~B)sXWI&rTFN3YR>eCd;=H za?E*{eLU%LTFwZoHTC^qR`cYNUQV!DUi&D*=v)3#Fch6>Xz4@9jY@{}du zmjZKfpVY1CV;d%yc=vJNZNTr>Qvb%&dm4@8Ejpcd(Q{w9#mU#co40dvgeP6cGhO8y z4+GbGTNejH`qE^C@l$z$57*3d+@0qWt=;!(QWwaFUsLzh@sDe06QRy;C!1R$aMqxs zEf+CP^kW+>zY$Wm`BW*6;#YCw6fj*PYJkfEjRpK0SjeHZk-VmXeTbT6+$xjin;ODR zvRY4oZ@8d*cx<|qFz}y0)Qa%x>bn7BMLNepR3z#L6+W%JevZJl^M(KB)t8yCXf=I> zzL!Ixc}tHWQs^xH?-;jK4?KIGT^O0!_8|=iSOO%mXl?B{EfeYqXwKr^RXJ&V^<6 zC&)62c@yO{mWX>Ae9QH)`GD$qC=-%ONx#I`kTQN=RaX6?yw3|1-9{&D;n6x2FLn9z zD8%r6v(M3BdiUwPBV@0pNWw&k3{w&C6gQ~;;JkV96UTJ9)P0*x_u0`@;Fg`~!Z(g=YM`C)O{Lf@)ipd-cvVK@TxR~)WQgClUWXG z^|pSPj*$A=DwayBSN%pxB4mju*gaDKGsnC_p2XGb-Xh-bpB!E1%}TY}A2(IgY zUi%Xus6azLNKtw10@oMKFk%6=UE_WLm=#Sy+ik?} zl|as%y-=WLzPBtM&$<6o5T%`r79&GdvxMh6VfinymLo&}XLB7LG7F=%Qt|Bc4QyO!})uRo9DO?W?WlRt|J0$FFUbZ5zQX z{nPGIuP+nNH#Nq2AwymkVB(9qo+*}fd9O>}4@R>beInR+4GQab0jXOzWWnr;bQ?gk zL`Jx0y1N~iA*#&1JAE3q*<-IhPI7Cc|7)%eqid~R!=IR#b-*1Zy+CbuEQ(%f3vDuS zxaio}&IP3LEQE6nP(o4&tY9X;+nOg0R$J5_JIB|A67KJDEeQai0v;@#PL#YBXL|LZ z--jA4;K{uguR$$&b<2xH>oz?1gB*^t9HwTqZ1cuR^bmFQZ=*aUgNq`YTOm7k@5*3F zq?wv-sv>gVhx!%LAHcm-A}O45Z0C(^!eCBPr}=D=O2 z_xuFt>OwJd5EE3du9$X@UZE+emGZ)}~bAV*uw>=9WJEv-bE zkmH_t!5U3a8AJ2}$XW=bM80ORBDS^|5lOeQT6K3Yyu$E-Ji#mRLK*w#7yAayV}RG8j*Z z2I=W5d7>4u;`o%9T!z__s+br7Abx2!Ea=b!j)F|khP#r)GYZ^WF)E)g#&v9=Cil3} zLH_44^J};!Al8b4hV4B|@#U}XzEXphaaOu8Q}FsJCGh;z5pteMF~{tVt3yO|ORKSu zaE!Jxrf)akGHu+iGVN5N? z$_k!W#=#3o_*EDTK`m@WP9JhC7<(gaV+ayuRjZ_>F|&MaW~h(+j~8y%ZtUBHt)BN2 z1B`U7tupzUNFj|2yog33P&A&oi7reFXl_e$Y_LmT;Vsf)+iVx~f&rq*l&trfdEY$U zyqeA1BHSuCXEHus`UNfxblVtvO@@Rh#7tf(wO7Bi#@@@>j)gscUd8QgTol{I%*OOw z^&rS4UAT#)kaa*~KJ8 zm|Vq~i~e&_C50G1nTc2#@>J4HxnGP$kOd?(Em*P3D2xlB9E|~s#Caw|QfcwU!|si{ zC7Q95R+t&V9E5}4_~}^{@6_b#4%ox`%^Sh1$Zhxv)feRhhM^AvpQey8A=_ofN9ats zc5c*QFe)y=`F0xcH{-(T&KZKV~SPxUv zIx{!Vd6?(aR@`S+Y~x`9+3g%~U}g}Aa6C{tnE+cup5uZz zGJpNpQE0h3=D?nz01fv9?ehLL*dNg+^Z?-gz)hrk9I}85W<~^3yhBSeLt+c$~U153?Y- z*T3FR=+U)1J%$iUkn$?ieEKRj87tD}4=@(1!ZM_2Oj6RL= zBHo6+E+B|_BCS?{L|H|Ab>1ubUfun=@W*ncr(Ea1-Y=z1fk#7qr@>SdWlrwC)Xna& zjnK3P1`c`MllWQyUNy+$T#>KFl~x@a$NGqC`@zwsoPA8Q6}`7+V`Fn=ytZ1gCiQ6Z zcuNt0q#=*^wxyF)x!OXVmQ5oUsb(;@-l?0AyMC0`VWm${7J~2F@w9E{`t0`t1G`4+ zu%Q?YLs_~>d%I{h&EP{Gbo&_$y@dx$6LMh5N`gpJ60kV@5f0y~uNr-?h5nJXI#d^k zQFv5WS*p{D5t#@!yK+r+VyRcpP3l?c5(Q1ra?rgxp`&|cCD`GzryPj8^&MUI$e*+x z|KRLlvO9RZVbW!=^SeAmtLvi;LO#!zKH%@xQTfL8zvDqX*2*92CuAp2>;I3d=>L5p zegB9UcRJITI^&4eCevv`cAZlc`7>5vs57*|uQqI~S z7TV|_KRQZ+O@^@vf^goFLE4V?i{Lo|Yz?(Y$s6N0B_?mb0V+V2s%cgS9pA|^!fgbPNKT=3+>tqg1rSrM>5Jp&uI#0DQ z!eCLcu2g^$Qu*c{L=T-U0}ynPLX02>$iyd0V_M|M;Nt+y7lfj(_;iT&coYZ53xY6* z^Z{1K-;GCeqy?OH%%s(FZh|NfMB0x)(i9O&J2(@xQ|0wLGNL1Yt}d}gy2{IMuGUz8 zten)LfD*bJpxNV><6~2s+~()FF-3ojr9ht{?4z{4i<-*qSY||cA?{X*dXe=;zSn#C>pnhQ-&>~_n@caNz7bj9DAlW=*4LL)892#Jjg1$%xoP3o=32jkz!)XB-ZD5 zTw#&|cow|!F{IP1jBSq(D@|f?*vDzJt-1O)#7_9+-2@T8Z;A(Ds~tBh9;w3TebT(l zrIhB{^WrFn)e8a~|KC`9YO=OKTm>}h>hRAs#AZY(X0K6qA#SKW_@H_#_sP(1;_ z39tH`sKvfiGKG$dsDWr_=s(La+8rJl-uB%3n%ZV-w$`wRFmL_NX&w?y=20;x4+3!$ zHQ>uIM!8jejMc+Xr+o)7)AYW75x?Hv73k$w8$Alof+Vq4*MB~b>X$^?OfxJCT)u@8 zXSM87LO`xd%Nuu<`FBwYue|?pm_FbIkt9~MI4ruqM9>o#GR>mwDV2~h*9vHxHQxuB z+;bMCflf~yafNxkqruXk)3!Q^+b9h`V6UZQJR7ym_qK#0rtuuLSW5!@C(<~^%E9oL zx~YW&My5-v|HcCMG z>Gilxz@nygB#Eb9T{kOZAesZLpwW3e(Q~fyD9R&#_gC)33%R;+mL^1(Kl!*N^)CXg znd_uZ(Iw=|Vmfbhi#g!XqQ@^l(iPTMR6JvQ((kdm6=QmH)_0VN!vN7b-g|lCxA=~N z+t>%KiQm|zT@waAVk>MP-k$^_4L8oq90P9+ZBW30O+5m&UTK45>AiNVO>g$o^B>T?YIIoq^LFFm zcQ%(vz~9Ayqgl08VlC)y2yeD(G@1$}74UeU-t#xC4vppQc`e=FXuu!-&+)D%|9U&{ zkg#X_NaKE*@P0ak@KeC$tm(f?AydZQuCBeEF^XLT;;QRJg6_JI4*f>nc3(X?34921 zY&K>A+1;~_TptRD>ZW#a5E=g|YJNU9H21J9b+xV0eH5h;xS!nNE0#SQhyI!)xQv%p zmT1ut^^M-f^`xix{W*nsBs4Q{>UI;Q_qdNn3HYPJkft|i`0~U3w^jMQjnmrJo~;ST zyL~=Wv;s8~eMyM@G(*Ht%<*P zn}M`4_@j6sL&$XgUS!ok^bZdX==rkOlDDW&(m@GOhu3*)h9 z9ly`?|6u?X#$~v4z$Kw9>N6YY?2#qrI@cCI|o}@YG_bR7LYFPy(gj!^&+ni4$)0bsyORBXTcpD=qDaKIDs0XxioQ zkXpp@04lCt`ARI`M9mPPZ**NDj6Y6vlP<99YxVY{UvX*q~-C5%p#KmDr(kbD~|i41U<>jYhFF6wVgW1!|;5VmvJ<%3x663NopdoEbP z7K)*n?;^FJ4s^DpAGEB8rh>kLrwZ%-Re?QUgSy(^gS^~ zNlKD)i-VZ@uTIa&XvNq{hiu9s9&((KAe=e1i6Wegl}Uqainhom<7Dka+&T~lWJzF< z+-8)4`<=d0c6|XCeX*Y;fR}U)u2Z%H8_3$p-|9wnq6!oz3!1G&q%Eqq25#Un#<4Gn zFLhKfFrl9Xv=$O%c$Grm?K{!~=!yICZXqR=LXW)k;Y6H?GOxkCK^2oCvN{;(rjVjC zZ81h8WV{HVL>b3Z}$` z#BBfsM8NYXZRy!nGK;{!M3=lWKr(rO&>)CnQjx$AQ7}734d27`yH?CXn@_~_l>7&V zM$%;T9(_QwsXa`&Az)Vf2gmhJGIOWUq^~hN%KLR;Tm%OZG{3REc;# zfgMkV!W<{J`Ddi~bnmSy+DB$pt$N$1PazzI!|DZ5{?3||q_y%&;~mbejeTx4=UL76EfF;+{#tUf)ZA9JMsHa!VXb#zeq*sGk}Hx=wje=5MCzf0`+r>aihYCR{QZveP1y2nC>;N*yQ6I?|gu^cS*7S!SY z^#svLotkK2IRthca@5`afn;OG#9(pXAJ|Qj{U&ibh1YorueRiGu(WP|m|Bj>B{y10u{3 z{ZSatcy*rhX+@(8@45k(p7CnXVDe7o>GF`Jp=c%2)zQJY6^SfYlknWI>DEr$G1rBL zMYgO7qIdDjDH)=OJ%)G@tO z;3_zlNxL-S;^xwxF`=%m@#$#u3!A8&e_A>e`aIl!J6T`fS#+Z^+yW316i(|(bPOP2 zQ5%nxhDa01W@kJ@&*ZD!uT0Pcufl&|({(j=wQcuF-TWMo9&}*k96_6H4_nw z;IdjEz%Es~xtld5#E#)j~1|c?;=Who5%k z#L+(eHI%*UqBfKJitxFIM+-V3_D>{y8}iLiVX<~y+_ZLAtt-&Ytve&`ZOEXXdK#B$ zcW2JTehZa@Ms?rM!=J41ETOKgDB7cobko}($o#jC+(vEU>l^xkT$5L z!Pf2_2MX?!B&Az)th$}e4YwXMuTP{1iQ8)-VFK1Cyb*QGVZn50XJSPQM1r$3KQvi# zL1ukm>`Ee|Q0l9{)4|_MCtvgM2e*KB-w(dxv^{72Dr)H-bYGLwm(T8uv_HzC-2s5Z zqXd-V$HL_0`8)-S|>1;rdWi>T-q2%bU<*IA__f{?}*GDU; z2n^^MT3Znma=r)6i}YpRoh-!HKS?{7JS(G7xQ%dFubo8Bo`%Y3?8~?DMZMLV0Jb?~ z-Tb!X$>!9UvZ3iP+$kVcf?WPPv~S6XWB#_pPb(}>jy5dF6-;ut3Hoow;3Ib1g7NES2;jcc{XzrH6hL2qaGvZP`(d3Jfi zPKW|U7EBdCjOG;ouE&jQ1Rod(t257nTkmVgymy6!${E}?tRk0M9B_`zbQ~NUL3=K3 zPD9sg99rfcL!?}MQCWlgqha{yEdWU=rSbCeVYbpLRz5q|vsY~3>~HrWh(U37q-4j* zk5XQ4?bRJv9~d=QRhwNj+Ukkz7&vS}DAA~rcCtoE;K^n4K-f*(L(%*HsSy{9du=x~ zL*5FP&S~H-YR0+)@rclSGrjc8Fq%zxY059-i0`?lKdDb*4-`Je+wD8z>q2)c*dr|$ zqJ@r)10ZFs6_K{edtA&nVh`OX^mq%e2Or|=6L=tLnPmK>L5i7IpaS-K@?4n{toE3U zqUId=;Zd3t-Xn!K92dzD8?*cKqk$2RJ&{1qp-$ZkK{Dzf^8H+2%T|zLkMx>JZT@olUwDICN=~+i_AR zU(+%*8^>TFI!FAMn~l*>tWh|td9*Zrbj6T?jV383;I_~_U$)=^tLT$evDl{ak0+54pv zLbIo>Cm9$AEF%eg>^ecnFzhYV^&ukv_QE45!{0PlQv{86O}~(?VUY9ChZY{KOdHt66>cL?XnnJW z3^?Gh5`;Ds){upYL_!!thQ!iSq4NXJW7)8` zdQeh#c7a@BvsYcHxWHfWfpe6c(Z33@k2hD>5|%nIY8=-)oOV(dKh^(|i|>5c?)hi8 zShvaeTd=kh@p7#1;rq zPcI#b%Yki;z|)vSrYYLYbBc#G4RNQ((!f*hfXQrSQk~Zqe1@TM6V3!%mq*1#tor{N z7A4M;rLMQbfA(DWJhsx^F0lmMwn|C8vS$pRoqYlPn<;s>bR77X?r!J%z()JBiU0L3 zpXvQuEgf_NdbQ`iA7$#ZD?+ak88qD@0L#gL`RQ2<3%XUj`Ea)wu(K$6RfDXn{Na`J zSlaWq{E<8GzV7Z%yx*Vo6YuKRw}JO!f$1ISgCK$`w``i7sk`(1?vv5d5JMZb_Wav6 zjfb)P$I^Z>9{#}dc>jNOk8zJLT-SR14~progNI-FTDIvwY@FP0xImNpQb1IiA94|Z z6q|4DUvkWJ;-D#QsdIZXtF3hH039`}15`694y9lh=v@^AP88yyb5g?v+>^Zut0 z_&Yu)_a%CC>fvzep^JCwVHgc$Iv=qhq<~(J&R6$b?@bx?xL3ogHm_?okM?~MZt4F0 z#qKJutsI_xMjjWNN%tQ#WWEX5zp@g0($R?y?>Du%r=(xY4zESww687Mdka41Zr=Ah z`dy;9dwhNxL3b`~9{TgqE$#<7sWUmW2q)~mpK$z&o@~3Y5EILO{73i5z38|G(GJ)A z!keE>8iMhpDsrjm!c6?%snqrG=D#5pla8CLDwL!`abiaX2nHDt=Rm=4hJ?Cb!blVv zEhVnuW{E0#TsMAy+cqEiU6u{Df%r+B*zzX81l9x|SmrYk0I;&6u!KZILnH8BDB%9z zpTCI;bYNcpV>?q4HKhSx&+D^EntU&_$Di|p9^Yn|%kKs$>KyIu(I;)eMa?*jib`a0 z6F4~n&|P-WYM23IZ&oWL^6lcpH%}sk`}oc)SeiRS$sE$kAupAIQC&hgyl3@+!h%!@ zv=&kZzzz1Xw4^gSey!_I`ywF&#>9X_alYPliSigUxyH@zzQpr!#+XP0R+Q9XRxok8Cs=V~DX%uPx^FgGUv0^oyq zIRI1#HyHIyA=2YfI6+S#(4bf?sLbCD=rSxtT(3XQ8~%UQ|U&MkJ>SN!gKK^%%#4C|l+#{09}kC3)grXejuM z`gPF4%1GzrexJ`Hkc7&Rv=rD_3 z&q;X#XKSN}d^W35=~sq8?j5L=XS0;&l`e)FBGJ=$7MqejHt>THREGYZP{>VTE zVE`j;Y*A~#Z5GfWAMD*>(%)@L(Nw`>d#esHt8tZ2C0Z{0%&+#WYSQ}KRuC!c+tr~D zTFxWrSh22|SDE!?f@az_ycml8g`ebR0j|Fy!*g6G zmzNgSJPHzYU@|gc#ftQwJJH0h6y%dPasugsE$>zbiDG#`;*(=qFlU-rb1T0@vLG`) zLQ6t*4c((0rcAH`qYh>24*giaOC_5KFIW*k#XdmJPq{tq%R6b={Xr~d2xbE(+x=mk zyoJdtW~WGkJXEw2T*Zf|$hnTsOC-Tnm{ zv{62Bma{6N;B@@UUvGu~(CX@y)QuuV|Ni+BFMt{|#yl5g=|{2cCa$A|7#tU|;Uko$DR$1Nqc3Us@I7P8 zix!&Z?y&3-D>Sq{bAA0`6%OK~=H1ZS`P+Y7I&r#CLM=3wCC3|Sya>?LBG62Ll2`Be z30RQH!y89~C<-YV5raW|`?9z5)ySu2uU1H1#ebMgmTUXfWmuf&hxV%m;S zR)0nv114$j1x5dKoeCObu3fqLB}Xy5-H~B9Zk1RbpUFMU=OU!2F18|{NZp$xB7mDSdt-G=N~C8@?(ez@nu4&uokTFX!UG}t1eFFudeI)J1Ufa|FO&9OKS_WVYWAPXe9Hy`OAnh$lF0b;mqek zShEu|LzC9J(B=AZqlJmjYWn$8?^chERyyu_<=vQ@-lM0m{!Y-e=6gH1yC$v((-Lw? z`FP*{T5xl9b2%^zK)LC}dcOK<3KtWVu#n|ve7oMuUilh*Itd@~XlZRNr$Nul)%l$+ zFJIg@(&{b0$(fw`@?3tFy=l-^JVzD#`tQ7+$u?xr%koSd0b_ur67noU4MebusAcVC zZ8HZ~MA4ja6YGuTSfj3w6J};(_Fs86Iv%^ND3EH&6w5=l2GlHI&diUV!}h83U(d{@ z2;+qXSXE`i+1w`@P26%CT@>X7HpY{`e!%u0 zYM0s-RFQ^SMeL$BHEV{3+OxH)_NKIAwf0`M#VTsATCw+@(JE@!-tzzco|n)6IVUeU zat@N*_jTQ$&!)3!bEak~;p4zD>q3)f1~uz;Vnbo~aNjUxXFq<-3O@J%ihS4Fv2k;A zvGFX~LhOZ6)=I!y`oZ;~^kK+>e=lQZaAn}_CGR_Z8YxdZDEAwx@H7t3^vOdH?Y6r% zZaR@&1~#@` zyWB2Ut^B&c-bw$TSH%CdtgAt|9LTXSvX@%xk^Z%`>Q%h%Z(UK=W=^r!(;0Jm~#PE6Z~2@rp>#?vTPw(o;k=1$f5N zKpzJrs{p$9Ju3~8Mg!m#9#~Vt>k8{%n-Ss6)MYlCC~k#C`un}x6GjjwmKDp9SSjO$ z)^gm3J1sJ}J^Q@{|9nf4A9(*oW+#G94l19o1g&$N9PN}NQjS^wLW)AUnm`L^+K%sh zkErPnjFH4u%n@9af4pU_C=j8P<^1t5&JtGc7sc|#GeIExC|YyS5pTS(uY9|!<_*K{ zcrwek8hzU43SAB5FKmTC8AuPrF<4C@7h!C1CMB<@gC8V08VxI*mJ_N4xGb-sz!gm| zOSrBkPyF3KElAB7Bpe-RIXlS|JkFF)NOT`mV$oidgDsUH6|pC!^4@GchbcAO;}@Ly z6a&gBQw>)|suF?FR5>xM2j#*}wJ7*=m(^Ds3|b7)?5v@6d!ej@)ly#w>~t*TCa)os zl;b@#ibA5EPuDZV7}hAGgiY{UJz1a%$TTtf@2Ryb&+S`kM0)CW7%X{msmh+X4B;~L zH=rKXI%djc>fnNGTO(+!zj1zt!c{WNGNY%ZU+7!-z5%jMqN+_u$hn3F&Gy8w)&YsIjPa z<-V1N2MK7Tkpcq3l{=8ervTy7Xr+zPfy`QPPQKa4^5kmwR76@u7nQyI;=LIbf}`X9 zK_BD)&UO!Y2j6Lm&*$RI&1E1|)DER+qR_)9mM!VMBtFq}1YONPR|=OJwV+OHr2AI) z40~0HZQ@E+44&JmSB7T_?tB%As+lJRp<0L@;hkPwoSfZ}{`|xq>Z1q+^}o(T4Uv+9 z_)`*WBcI?GqsCuK9o=*Gx?On}kO2W^sN?@mjRVerS(Xla8Q2B+a%<3bG<|^m*NojC zy`xjI_^lUR|K-8xt5JObfy@-RdL78m{TcfeyB}y#V02wm)P8YVbD65FhW8Lx8%HK$ zzE}E=5%li`=6Gf6hvf4n?*OmKxrqzeS@*1^JOH4O$QS6}1oOMrbp|TV_1N|7J0Ohh zZoixA=-8tJgu#H<$8w7>(t4;G;&E#t0xIMR8(g0dfBA=KeKv4U)bpGj5I5cIh19%j zAZE$FJF$%#1VQ<#&s)y>+b@#u+^CzdX9w6w)7$Q%2jm;xh-t@*Yiw6w?-o)2O274tA1A6eq_&l*+KrFj~Mez z&3A9w;D1v1>-q}dcDKgV|E#g~eska@ANHhwe#=4%n`nAF3lI{n!+OtO{2LP-^#l4z zBB>59u)~{VIrr-3jOUmDz8QDmUwLM?p4Gw8fLrF9yudhx8dSsgX8+S^x@L;9#7N&o z>=x#V9CNop_~3yKk#Ul>sqemhrHS+f2D@Has}aYMD-PD6E~1&NZ#%uQuUrON&B-l2 z!_gh*eg_h{DU8=!)AqCd^wl0>eat}HDf_}w`b_gKIq>XAO_W$r5%&3EWRIDa{|RA$ zmwVgI1>fD(t)}F+6w~$|e|su-h%wee^V*M&nX&7@Z&6e2k;k(l3N}T+v!h*NJ?xebW;@oR zQJi(}l(SkLp}KV5GEs=<2eGnS0#2OpyxJ7&R98dxc}35Fd}MJh ziE7~iA(;4eXu5vrL7D#6E1I$cBn2ttY)(>pwGhE(1J|~GUE{z1PN1!(Vj2G>WeHM7 z^@YoKN2Bdu#^|ND^;DqOmIr?9_qiA>L8SLFw^mAW@=A*Ej^{5w>(!2?vX%&Y+|C^= zxOMuSAGd7UEbqPi`^xBOnTe4;FL$R+?uY0tu^N`)svhysnuxU!tV<&+Coscep^n|y z4y=DI#zu)Kn!7%S@Nh){pO9rW(OR@gNk#{)FaqG}Ib64W=_I!vs6tdRS4+Rex|y_Y?G(!hv>oXu zKL47BuI3nFlgUaghomTo@9sBrJ!j#Jkb^gafk<~T$x;YmQ@+zQB0-M!Fy2&Wp6_V0 zRJpaG(_rOM}6p~2O0)RpM>?I0&t(x`e+b+i05z!zDU>UnFs@rmaiEGSeOLbBOb8wwaKU zwSN?6EaZ>(<1`U`IHf!R4!&;!kM{ws#;m)42&;WI`^Vymrb8A>Qt*%bfuEgyCX-k3Cwy`8E2I}y}9J~Zxaj#P7;Cezqas)EqZd@+n zkMs}197+3l9x>6I6QjJdG(WGcJB$mHF&r{n^hpHH`1~K7IvG*B9e__iK5>4OcbRoozKCbUe=;xSw_lk79~u@2xq8 zcHS;ildO2Jy-BcY?WJg{SWlsV6+m;WI7LbXDuzDPJ!C7ONw-OLJ-Wv?gl15cMcg+f zjv<;YHPrbioC>B?C&>`|pgL`Z%!d_%KmB;%`0^ttDVB09=wtEmmoi!WkiQhV#`Pt< zuU{fy*`t=fhnh&$w~kg9n;bbtWnew|Wh#2ltP=3Q{6s-kAS9xtY`vjGBR)a--v&t^ z9RGGp#LI`;S368sfK#Gsk}RTNiX%)CuY1nQN~fv75NMnFZhsQ~ESJ*k{jwY0mSGi1UN1 zSZU5Y$9%2`ANJBhj?b|}lAjB#Sm^zTfx6Ji6DiltfnBJ2!xfR!3hOg|Y(~IZ z`%SzsXJ=(O3Lc3<^3>IG#N2BYEEs)$OG2CJ)gQBUZEY zPf(fY!hLoi@bMV;P>dx%0!UQPk_91ak=2p0W8|n`fD*Yly|A=5opHt{qI{UlGdD*u zYgB&G-DQTSk6}6iu~Yp~pp+D4u9dX*>pNmtEq=3(1wB8HFc!r_`(`&gw2AfnB+%A@ zh8!JaiIDqevZU=*Y2q7zr?izbw9b0uCWgc!FLCZJvHArPG`*z>gk-Q`fi=%Suhsp$1_hBxxJdgYS z160asGkge2u^ln{Wo!G=c5^fQIT{4AYNd42cU1{S$^d#b9ow4IBY=aU(ntSSP6uE- z_r+=R|4ph<4iIwo4p>_dY`-)@bbq}YXGVzFngaWB-()`HmiN}y&%s`^pSbzjuO@b9 zwnm%~d&b?LOr#t4#!crN|NWimx!0Fwaa^|FG`CP8)!ZZ&YUd$ZI63Ym;1II++${dfjy02Td($wvCj|yLeCAr?)>$q9JT940Ld|BCwRsg

      YE2Xgm_f7r6zbZv|*%wRii11iG|0Y;g>mk0iF<_keMD8Aoa!end46x~B?_o*H#bq;`%7d!a@uW}q zj#gXiPJD-|oyBXYB-m-^6McNnLR>=ZCMxdfUba5~7tLxoH!&YMH_tY*yYjD>YLR#u z{kR@A`oc0hb7sNzZuX$wu->tzz23)fnexl|`A&aBwMT*IKS!oBf8$w4(n^!Yg!-QO z_@_$NiHKQ|V<^rOJPlYK*%k$CCz12VW~FJCl%&n7pS$r<8JLXwUW|2!x$`Ev_RwpI zIeMW4vx3<#C!MW<4_$1#i8i<`GVU)F6P)I^N-bs?)%fyD)HPmx_C2`xOSn>&ReBcb7LvNTJE@!sP}J(ss37N=V0R?01-G zGX6AoDR!!s_sB-l)U+H~tn$Iy^V%$Mf;l0%;?2s^!koBES=Vr+oG`;h>tUH=lq=Gq zO!3crt_Q+KFy3IEgRJh{ldgsx-OyH-`!V`_<)tMURAJIuRZ~+h{(7`}==Gw8$o4{| zb0U1D+3j%QbZ?ocpI;&wR#p32^Wm#$8U*Au!gPLa!C}#(tzG)X9O3>`H%>eSw-HWC zMjJ~R-21T9{@g>@dZQ6yCtIp!x-s4Kn&Q~-!HhQ3^#A|BzUZ0$$3so^k;ht;gop$~ z1Pm5*w$B|na6ugcG>{8Y`Q>W z!7>VosnP4aefU8zCHUJkZ}n)@OI66$zen#u#SCx&#YVqbo#LnZ>mN@p8zos%Kw`QA z^>jiU*peJe`M_OqAQV?cC_IA13)2mjp^epzt8;7?GM+_>?DiQZyAV0XflwpsE55+w z`QOPIPvih%wk|8WWWYo1<6?7DPc?RtF;AhfmaOjh!0MMW0d!1iO&Xp|bbnA;Eq)dL-wRG4eE$SC0=ZO_p>Trg+{;-8_nT1` zvr$jkabwa^JZ~(7wE$ljMaKe9!D^l;+RzAT7pD)G`-jMCY=P#|Y>-rOsA+3${jui4 zTd8L{lMjv~iIM$){_|7afksv~(^{!oKoyAko0g@lPY;QRhiH>HNWJmRa5~zrfG7%-_)R+^r#C2-`HB;Wr7m~n$)&|JMQ3PQt1r5rN?rU}BOg6~u;0G9U*EQ;kz8qPZeXp5EdXT1 z8}mg%&-R;+|I`OehJ5+KES|I3UMqTbjmwcSPIw|Ae1zSrKsAbB7FVzyHbXhm~l%wqzCu zkG5YFR1yxyey|kdTOVnD6>uEl%o0NrSKuJ>R_gX;;K`Y1>nY#ukml`Aa=+hoi?5nU z(-s1+zP1Tu)}j+Rp-MX;08ejc;uANJjh%nQqlYMjpiR;G|~5S|uttp2pV_15ux$yGq9!RK;;dz0@Kdap*aUGh7pdkMYuU)grd-$Yk7Uprz>Rx|6fyjHUo?*_5Iu`a*6tALCf z$kq(_Oq*{`pJvhgkrV_B(>G&#wqIYIcCSJ2nx*eLJX_X`QZy>_%W3O%#xp%1@f}Y~ zU)=HuM}Pi1KF3pO5utqH==}4^<1|1F08&wq)eG#s^SYA8#s?l2NC%vB0LR@orL%W` zT>(kQ*KEJLf=JZ|vhBC62Nwre)4=1QLuxwH#-pRlJt$8~SwWqXX~1F6;eNDjw)YXb z)*f^2kGY(^yV4}TzEz|1czUftctl@L99N zR}WnvGYR9B!26Vx`Kk8LKDk{IfOnX zCE1f-52B<5M>Ks+Ew7z|y(D)JFlLZfD04xl6m)A*Qw!>b6(m3#5+3jsxm0GZxnHjF z%1kcPno8{K$W5r-6Sk=5PTKO@7BHG>bdjJowv81*d({7?p@wkv30T!g;@Qm!RM{o- zNvr$2gZg-7vZ3g?^~PoyFct1cB(UV`e{D;+|K3z3&h-JPR8W5yMU8bxj(e+?cJlKb0SHwz>>>eD3}z1>7Zp}k9WNy+1}kaF zYIQ9goQLHlQcPZ$@fDh-9uJk^Qrxo!<>xp=k;5WD->J$S9Zx@Z)x9m6X0dokXYS>5xwPSgeou!?JV2Y7G+jd_4j`}@IdxuRlLDM8q^k% zIV1cy-85Q2KK-tJcIWiUfX`UP(M(T|NGcYlJU9F!68Sk;~~Rnd8arRi`r*!r2OoRo-MVE^ZaU;mu(Jav+VITn=0kJS&a37`g|XICeyj ziBq4Cx?-+q*1jpx%d!d@Pf$hB22T6!lk3L4f-9h}5qRgv} z?0F+h|5AJ5)r>>mYmvm-#45t(=E%CY##wJZ=dw`gu}0`l0&b7_^yx^IW(ozCAKlMu z*oSXHBkOFIw*$` zaiqn7!A%k&wRJp^BQTV<7XN4DP=>WCl!$aG-0&Iw+k2Ow@~7DZGqm3GswuoSIe%kb zB4VqU>LbOySg2(e>t3bhLhEL7V^hF1!eSzLV?yPcu)+H*oiwn|v<6>%@`yN8eC)y$ zrBa#mX#{K|CDo`FX~xE&L+7@H19Prykxr!g;bK%u6Mq>W(pz}=S^K*-DE+*Duv3=^ zewOPp6GuP)n81!Yrk~bKApJt*J0$p_wfVfA`f_Kwx1b|kWTJ^QzVumE#8MN_^j;H_ z!^y1uxMGAVNd34D4i^xioTmB+l_6z?QVI->2x-_u5*!dzPw5wyD8p9SR6l0~(|>r* z!No=z7o<#~2w*;@LW3Nl;Q165RD8x3bP1X6BRDyOHNVVg*e;=uspuuLhh7U?-ZLqK zkr7$XzyHB5dt+rtdEFzVyfgnYFJ^s*ap&Ghr-c+58AWfQbx!_U?b+~x?bDa7--!7! z>2;Hh*`qr)Sr#-u-?^_(l}z5#-F?#r`Q|8}E;A2Sdc}p%p5B9~p1@w)>g9@*Wb*V) zUTwqrs=XIO!R+zIIN8<@GS$)^oO#F*vDc(>E5CQ-hvotrqQ~ksx4+&msZ({lcYji1 zSZAHeMpW*MLzJi;y;e5BE%#j^$0B&~QqID@4CVk#DmC6mtfM~Md5M{sJI&XNL|Su8 zxg`-6EzPEyJHykbLn$^Q!_m_eWFJ{GhKjT;ou^)^9iz_)^K^?|2}gziX6!Wjp$vD$ z#8bym4*|h3wH31k!@M_0AW3*b-bu8g9_N^&)pSuMd>1kI>we3k`m;07r?clGcHiHj z5_1nhLmiY0YtX5FzUO9=h)0WJ`niq&x@&Bfvcz50TD6TGJc=gwY+&4t;M31e zDNmnto#Mpo8#kjLU%yTvs_Eg$9r|stGQ(nJJdIi6@@-YeDI7lj`T~BS@zRMyw(@Zl zW8pj37gp-Am3FEdTvCL;ji}%R7s`F*apfZ!Oi7Y!AF-U_CJiTN-RZo0v589UFK|bQ{0}U!UzklRCQ+ z@64vsuXRGIY9OSx_gMPEJ|R6Jz6{)9-{A9%VJ1LZ9mt8fh*kiP~KE4DJP# zTb=p6c<_v_!jS3Y>IL*jik6d6U7b%1S>m|4*qof+5Hm57bJ(F-xc0V{U(x)iW1-6O zHd^?Dy2Ha7?_fo1-!zWW>JJ5fX>G96YRz;eB~NG72xFkUofe+r%Mx}w#C9wSc|_Ej zE6tB~dfLb}^lf%_jM8mKmd;lF3$p>q^R9z4`CyiLbE{}cEA!|>M@EqugNN7G$yoty z%h}D6H6!Bj=@a9sX!%*4bfJoh$}clYm2Fo5leQ&P?}Xr9wcGiNBFyC%!WsSQQNMjb z3Bu;!T8?XL?cvSS)6C_No*(OHbE)Ok$+ovG;FAZ1x^;EZ#Yjt1cf+a3%cV1)o+>!~ zM)@z-Q4_C=s?Ct$S1ay}Cu8Y#3*eLq<5riq+L~X>%f){u1HZnjPu!JK#}oHQCEEq* zUs4_kEHg5z7qZtQ;2VngM4SYex@L(*^ceceFw2@%ArfskTk4}Rsi&x&q)6%_p81)= zC&Yq(`}rUY9nu=Is;HOQpEBeofSF$zJg(;PfshPvE$o~!GSj&)ACT*RE=@Y#vXY|L zjE?~EA0L*N%TB8~HoV{JjNV$2Eu*8lD$T2%uGPA3Aj<3529{Ef{UUW<^5uLQoH5WR z8*@7c;VGP$9mvF0l#`8QtoU^?YJS5By?8pVkNL^U{C`Zy+P4_pH)PJ{UC0<6J;WKe zsah3okUT3(M2iv$(U|+SxLy2T4WV%?n?F8kq4Ag~Hr0jRSdLcK!s20K0xne*3=KAJ z`lH1M815R-ua+kil`wv zE-5H_1U!|h_mcufg<^-hk6ezS*_wzcagv{DvI)#IK~AFHDLyMhsB=`DUDsuAi4U* zW5{tEC8ed~%L%zZ6#k@?G=RHN1Y}0ai9|xQh{oraz>M|SX6^LLM1yL$lP3_Pd(c`*u zGF<>R^SSOV&KSeXCHGpfLBVODVhE!I5S34fjn%bi<%l$NH@(?QB-&t~m1RChN8}?% z)>ZWMg05>lwBKQPDRCUoE+rgAvUoC96;*XB(o&sv=_pp1 zE0MMyl7c3cES42=;2%emN2eV?hEuvj?|F_R;tf9&V#A0?;dOmZZE=pBVu*C$sdC;1 z-vesium>Q8+z5spQbv3vrw8F*t#^136+KEVJw+Mqc^h>lJ-xX61cX5XT>C);B=BGK z`R=}H_OPKgo)x}69>~0qw~a$3CJJR9zpl7-1j%2O4~dCbDgetPC$~shaB#oL3c;se z{-KF;_TLa-!~KogzN|Cm+2F*tB$8Fc!HH&7A&#Yq9xO#kM{$nW5*8cBH>jC?7k>D& zmjE>>=~zIJ4g^qv`q0 z@uuhb15h{%ZUJ zbi5`eJce2nWUNCYSueadjq7hG_-+R(1Gm50+<*3_wnn_* z;{~*FcZ<+>N9EZ+@DT3hl4*RO;eh7y`YGio zM75FSZu^&VDLANqHX~L?YycigYki{quE3PN6D&!z?(MPL zjRweJz1WklcO}u&r}ryOE`AcOV1Z}6hBBE|p)kI`OKh==*;rq4|I^r_Z0|ZAZu_OXyOACPlQ&Ffy}qLV zv(sq5O%FKMZNJsTZt+Q-T{H^t0Z*pQYkk!K=m(hk9eyyL)oyiXcTFV^pZZ?Qml=4v zbf0fl<7(lF=H0^6z#Vew+aB92Y4Y8S@}riPgDi=aGmXl6Qq$}0Cwy&QFg{;gbCL9l z%8Is~#g(&>`oNuX+tJ-UCrm@Y9&i}0X*UT#;K);rb!X8(jXkqP2y|#LpT|Uq)W?1m z$|z`NHtqc>(S7I^&o)Vr3bX+Mcfw?B-xe_re2UKCY z;O0S0P>gevqiL7-1n&n_3@8aWJ#M;WP*D1q5C{7*|1lT#N>&SBw&|Y}VfrpdeptFE zm|;ixW7u(llLD)bjhbB(wAeKjR;OlTWZ9J9dhQY}2;|qeAe;TrPE;DSgatR4*HstI zpl~8pjH)fcxC(R zACYy6W2o7$oUDQ_HgAA`UzLN!9fL|m<|vrRsCq1=4#`KP91lu0h$t!_;`X;hfkjBa z`4JVYX0LmuSnaB~N}s+4^}~Umow&+1INrPqO^BJ&h=`>i>IV~aro^dwZgWvH*1ZQ8 z?CQiuAoEAQ!>qm!dO*Wvg};5=+MNe_PrBOz+)L%ZWXPo44&o6KnIrX;7^03M8Xne< zb=pxb-BaZo{0_-5w_3_G)_GAxi;X^_GG5`P6$)K|i6PFXgxj zK_gZJeFQ+o8!AK!VwfD(E5TL#$^Ij9i-wX)kfpGR)79uKq7I>~3O7kYAi#vIuX-(+ z89W-99?aQfPz9rD$Gvz9D)TbnA?g_%U7Sks6JA$c+Nq`Li-d*=F0i|kJKsi?{TmiZbsySwB+Q>D1!188~|M2 zC#oQp2!5?m>lc<{Ncc|{0v9m`msm&5UiTBUINmO;HMfhc)FBCujBGrKU@asF8Ucbr zL)CFXOA#?Of8LyE%k5AYpn?ZcA%*&5<_L$fO2u#~A7yQwqi@z-3Sy;nKl5QFU-PQl zYumob+$Yws6TTpAbdJ=1UiS39wuW+azDax75G4qY071Dx6ZcTDs(ABr@em13xqtdP zy`bmL+c>1DP-AUrULv}e!0ks{lOb7W8K>BjbeB|Ljrc7g*@#?{RoQnK9{^bW`Uy%Q z#k%6{wvYB^P)Lg$uBj+~4O_%=f2marm%&5t=U+8u?VQu98ymf7!wjG5t$sVT^mAv&l!?)f)#5O0E8@LL;48Fh`-9o1@h464>xz zFkJV^h({$RMbsUhv>IQCheA(WEnJ1y4nJ-*9}nSJ6sGq=vGGYYxe-9GIv z*sHOB`lZ}qZ*PC5twdh%aI$6Avo&Cb+3B&g4JF@;)7|w=Q^TktM#glYQJ0pVT%NJe zbQ;`T%mY-=f5~s3`UF%r+zky5pE>yY+6MY2TQZy-EgzmG?ikRnUQ`X&CjR_S+*;I&A~}83IM;I*Ap`BC{s&vyA@ip6#2I zu2{x%B;MX#T>*>UwanJ!Y#%3)$E8pD?7o$}T`Z4|PPFhkT=F)p_pTIOW)zi}9Gd?X zKFwHjYfx$2c(L7cc-nf|AsL#I*pupeAnCif7tgo`Hq>=#G|Z6nMeV`^C>>bZn;T9B z*vx;MY%%HEcTIXOiN7(`)kw;WfCbMksXh=&jRshHTW&>U_tOFVyNF2mP&zy7XT0@o zyB6?$OE*=|o%J{~8gtNUdR+g_TF4%-CJ!;UVB5;4qYp=dYxXY=Cm-zH-B~&N z>`M55*{$_ z%CSTvmBZwf-SIiDK7vW;b9a2&>$)nH##Xuo3&HJS`+*FFcQ@YZL1w?QED~I0R9y)pp%hHr z*9EVM_dGVD2zT6pPcICC7lqr|3R>O++DpZ0g&$G&{1W!}DOr9?j_x$+Pw&6c(tv2o zCaWFyvsAn4pE6cujm%G-z9vpiYfp%)tqU<{`G}jpKliN4?DH6punyAUJJ~ZTZn-GV z(fc-&Lia%$FczfqJ6daqNECFX{xgS{bf$))d>qT~SUkO$ro0eT_?YrGn2RKbg-UK` z@gZ;?f`TF=KK}S2@$9;mCAY*fB%wzuk*&Za@aIy$hZvr7iEi(En*p9u3n~>Dy6)5w zep=0AfN!bpx%ct+uweQ90($u%nvc>g>Z`(Z9MmpJbT9>G2JJ)|V;f@D!oF^loP(bc zp=qR-qJ_tggjpoY(2`PHFHXVGqfJ}UGD;216d$1!Ez{?K1B%OGm%|lCKSWza9fe4r zRHbawnRvxMH!^);ZA=?S7oDe#oiWnXEV88KjF5$&#mi|w99iwSt5Z%lV*d$lC4a0E z)|L3T$G4J1MksrjP9t;OI~k1R9JZ+eTV&Y=slX}p@JQ)*900;Np$8CJ2Q}2!r^^9B zS!~xM;E0b0hdW`>Z;bJ3HNA-qLaRs%;`~6BicOWi4q?9hd;R!oV0Pn}oef*(9I)zq zM;CauJ0IQh6S^^(ec8F+5!#28GkKVOapAe_y0eGf$J|~e?!CbGyX;Apy0p(u(`ez^ zJ2;R&oe~^>D);ub4E5f==Hkq=<#b(=+K5qBf zW6-@d2;Ap;@gBRwXWTYZw-+XLLy5;VAV4rbkEy&WO&wmC@BF^Sp#_SG<0!78v7`wP zH6s&beG)>!5jywaWh;5$pL<>7e}URneW6|uU6wR`dyU4KPMA9{8_M-$z}A ze+{_E1IS`$r-zuU%7D9pM0;{zFk1xh9Jc{)mse*4PV1#F)3Xa4_LkK6UL5_MjTj0z ze=2qL%Q6>(_iFo7spFvO#qTcDfWPK) zUESJ3-OB21(GH|Ju#pTgZV)Q7ai-L*$6A&EC%j4ulOGH zhcRDXwVp56H&$JaVv_?e2eBIlY${adLYy<0<5uPiqrhw1gXZft%;g?Nz$()vE~t;c zn$_Up3!1*jPVqZHQPNP~USBT?%b@pI@wL}jqm!9Buw>@IYajpmvVpq_Fu(xN4*d79<58y2uit@z3` zaF33zM6JJ39(T|(SPj*T4Ib#Kt zN%tTybHZ8+$dfpoBNzendACs zQ^}3M9T@f}3xrtLX7uw|o?wtBx2BT@NV_uOAts#CF2JDFWJ(O{22;lNGgwAfL5Ojp zfsLJLC)32EVB|n9aE}@co)EBBSgNXb`rJgMBCD(JMy;eAXkoZ0JEF&imI-wb*Lx@M zIkRTDMOUGDl!u8MK4pVI(2Uq1e}=AHZ~4XQ=xA`_!=IIY5MuB?Sgbp2OH7D@5$C_% z`2OR~JtU3d%KBm?#1rw*@}#2(I?^!yUhL5W35r=O0eyI~H9CbR*LpEi1eMlEswe*s z{oZ+Ow3_FF;-e-EH^_AcY#F7(>CK!uO!XJovMy6z4snt*Nmj==f4S9Ad8^Yq6FA(@)AUz=gss*qIe6Q=gf= zl)9%ioT&!Url!x`-zCSfz|)qa)mSE~h?5bQW))<_KZOaT@9%DZX}}FCM!wtBe2O0= z+V<8J~sN(KmmwV=SWr8}GUK zj4~1==q`(9b3T2KAOMk=>A*x@vdG8;KcHqWCKjfG!a)M651X)T0$u-aREOxJc?(9o@Z(qb~O1{X{piK59poO|O`VoKz9isP6xtQ6YI2+Zo z^;UYavea_Gu3jOCidqof`j|pEC(=VUXQ-^NY&9+lsKy$KH7vO}+@MTe+hm$6hVq^OvfQpmEfc71$5p5e@%pI4I|dIH+yaVLy<6 zbxCA!Xi|a`i2N5(JUXt*?QjpRLiUj zy)cyWCxp%L;C!@#lzX}sWy-IHD}dl{S>&nEIO}MOG5a}CmIEca+KrE(3*3Vl+>ecn9r zI>bgKT~mSyh0CtE5pt{Y&cAZ^ek@)12tlrsNRr&iH}@pA9|<}(yBlV;7503z&m8B=?{rv3kJhAo+rF%pEOxZ2ogbYGV#i|r*SgwT4!== z=`->Z12&3T!kjaX@m2H>2(`aCz2JXJ887kmw`H;aq)6~Q6d$@@8RZA$x!RPmnYAjA zAcm3oh5bt)e=o?_)?F02t!{AN>9z@E^UBu2HM3MtOok^}hW0q{#z6|%g+F#8KMl|N z*t7p$Pc~60uN2eNU@3qMD%^W=q9Gzw@D|SyQ@3~KCAwZH%0Tl+K%nN*p-wbu!I{(` zV(Ibjo;B|Q{6(JLhGOid#^ePczPO@DoomQ2)+Y;l*15iHzc!Xsx>NBtKIbAI_F80S zA$L~I5edVc^n<;OH4pq=RYj=_)(z97;<1zN-OQ3JSmea|iP3=1OqD~3i{NP(qt;V00mP7cs!JBVQ90R6?c1m-6F15b z8%bxzkS*nEmr_fgzjAbpi;;AonVnY5Qq#HrQ^Tt_=3~42m z%_XOwU>!)I^Uqzk;ax#}L9`6;QSEv)SRDE+uBv;cfrk$`_MJyea`%}vgG0`%hDx9b-z+ojvj22LYKTOIs9kR!0L~GjAI^^RWJ)3Thun~oV;zR7WCbp7F^%1Z`(?5;4p3Uu+|@? zs~RTYHQnlZKc~#aGg4{1?7i=8tUlejb?t20y1DycN+R;sqQLX$%OqoZ`ef^tg@E&h z`;t+^z4iu|_xvjdwyAG7eChc1-(b$9${or!TR&L4>!swj3fNaL>kZ_!oN!GRj-Yn` z98wpY0D1Pr>Ys3L5o&$4R3{wKXc#H zfGG|g)8f`Q*Dr@IAj)j1dt}DxEVxGSUDl@F&W_T3gU`Gb)K0$&dFSq~H@YzyvSnei z*oiZqUm{#$svapYh(eu4n9V4ahM?qB9A7-ph&Ho8eoH-w_M8zhz}(E#2L%^p`4@)2 zofvUeN3(7XY%i2h7rib?eI_!iUtuEdTzmKH;BwX9GoxX1xBvd8$y|2S@HXm0;j@pO zPAS?QrFjA(_meHsMCtgPvRl_z1fP!V@9*z2?}`n6BSv~TxR!DZswG#Fz1*n*4vuF+ zs%J;+J23V1_BhY<6e5fV!U~I|jUuNP-rG|%JCFUkwyUC#=}apu{dec8 zPRq-Y?;SloMY6wK!AEUw6KupsH$Af0zLTjfSrN@jKJVe-`JIs-asy$C5mqN!fdIM0QiF&51Y5D zYj2+&qT_Y#@FjK`J0QOb8N2H52#p~K`DOP*;5j&qA_6s$GIO+2yj^>o78~X2NZN{; zWjtXEJ?t2%(&awK1Tsp%Rk0=QHqxj(@&En62J-DkJ2@MX2Ynu9eY>iefGXrrwu`Er z0R;hm4Obyk?~tR>6V{w!jv6>Xr-^9-Q}lk}tR)rM8kVGgTyb>Z5Vlk+S#p0uCCPe(UZH%aPy$aqGpQP6AG?TOiG43Yt7a=+s?pbwsW01d+JICtA{>p`ir%A$wE;iR7@s3n7>NQ z`|m7Mq6Am!sh*&4-)bka;_1miZPY-y6Q7k7X%%!JBHsHH!i8gpzni)ryCJ&R`1$DN z6}8b|%Kl!W(2+E-MH~?>(kc~4Na;Y{AD9ySuIt;+C)VwKeUDM~Xot;Xn9RGh#@aWt z?xZDssNBDdmIAhm9#YvF1O>FjnK!TCWmVoLA3u0DeFnqXfZIhok@S2TT0F|5GLFGF zP#+8`NO^mXq#G=+qYz>vo{1i-h9RTUt=Il-x3$5X>~yMdx;Q2mR+zqZwWK zu-kiga?bkm;CA1(^=qgOe1G}CXR(%10=qYg?c}@Z3T$c?trF3dkwK+zT-ENhpE9<) z>^Hhjf3IXlJgDDBE_*{p74ZQIWTmytmjE@@@=_{_}dv2Co`GoHu zlnuLzW&`V2lbg9P=?iA*>mJ}ssTZ5qMgzCL#jFCyvPTEE9h;FBF)dhtf_*v}cy}E| zf_pnOdQ*!%4ZJlV_g^2hbvDNKy_BA-JF=9%i#PTD`<49vv2~VVP5y5iABYHuGP*=y zPFk9QfaE|@X&5b|Te?GPlys+~yQj3&NNGk1h)9=o2|W9~{y)cYzuI=})$Z@^>pIW# zbE1=Kurn*t276kjf3$F?S@03f2re(BCd^4tWDZw*5#|1KiO=})F+0(s;Mw{x);P2A znlL#LcV~2T^!&^LdK<}j-^F;ndiW+?Fi!lqv}SQLH*h=ez9H}o|NbY4A{ynb|V z&li_3VleVBsYzsO^J2yGBI&(^_Sh!Oan6}I0PYVTuP{q&IkK3C%Vt`;j9=!jZBMgC zvI7C+Nr_PkQ3_Ck_NaiZh|awETP#jpbu~cB$}l{+N!rKalO@vwOk~oV0+0!9p9HKwY>6sYn`OfW#sb>GY+r+io-8!|zCBvc5itoyGU0mQ6 zR#INMJLoDf2~-in8NBnl>%0xT6NVgMjR|k1mvo!&U{x_z$88TIJAA!pP#p}$?k zHi0iXwz|5WTzZMC=LghuHhY`hTrZD~E?1M=P6YYaR*1YBAdCsUII!)nNT;4i&Sb|lHIa%@NkkTlQ(sImv&&MBbXo12} zxG%YpVpl)cSi6%(6x7Q#(Ut9`p`~7{W8HIn%y9icy||K$xjg=NtefOjp+ZnEv^P;h ziS%hs6(WLAUkU&=Kd{bDY*D{-zJ{ki`68E}ETbf?jrciJmw*Y{Q zvWG>H-+qo);06;-AmAC2?a}h><+n$UqwAuBznG{0#`j;*v9I1cxq~F3@9MJ+aXvjW z8`MzB|31_IU&SL3E#oLYbT5OiAKN^+ z@{^z@?ZH=1_^USZ%?(IcTv19izUbvB4ssuh_;p{p~RCv&^VjB{K1!FfBD?g2pKza5#!F&$t``)L8Zx?Ve*5}x3|Xhi^XNqk+0vYF9PNIsJ!DFOLvdD zmd)A@{r9uwz5|i(`4UIriwdA&xm0BpW<2$WU?~;$>ta$x!k~Bs4NH4`^LZRT*dq)- zz4Bf>bSAM30S*nj_#Oj|nqKmkQ9|^FzxD(u3X-~9Y)vigYpSrzY00t3s?qjyq?Unq zqLUFFjvGl=wJT%8J7{y4am;fq0s?i?KD7tzr2sOr2O6mj8|3y`ZsU@e2oWn#0)+gAc zBj`tGUO#z!QXBMcQp_x-86h1=^H4VW_u-j4!&?;lUZ*Gi+eGeUdkZc6w(gbHdKpG8S;)Zd0Iwb&F6n}wHxR8YE4 zglFFisp<*3Vk0PAJCo02lbew;zp?0$toKPAdej=Wn`<=mS_p^CQK~VlIqKT4LozEN zq{-N6DcQ!j(`R)?{Hv4S-#b4wm7TJD3FrF*86;2@Z)U6a*7@se>MD#)Potl44&_5%x&z&&l!%GX=K=J zH*4(Z@IKa~-~rEImDvYQ3(IWg`D_ne zMYEOZZ`b6!X$bgzIT}k(qmi&qOOq4o(`H@lAXc;6Co(o5bGmORDB_VW7@j;{<>*Mo zd8%U#?XQ@jHgHkvq0gy%|NTGhzfdkJ=2>2dRQQ$hWCz2OG?i|d2FlT8!v)osfb*PD#k zui{>THY2t|_EvYh@5L>ywK>_t{`kDsc5D=7o7gjK6L;$yGTpyEd(d0y_ONV}ueG-qmto^@0UvJA%Vq~Y z?K2bQB=s$*I*)&PI~INDtv|1M~vFezE<*L#rmG{UqjYPg0&j+V_)f#>II7wrc+g4^-jep+wc|K~c(tMqF0 zh$9l&tsFL2B+PW;6vn*K;p)?x+Ir>pgyLVaSIf3c&R1sh2J- z?^G{FNAO7#!972PB;;_M>dT}YJ$?ZZ&R3686PR`u+=q+vtxLp6BkfD0MftL1Wq%~@ zK@~>Monf!rSg=*1Ot?A8vGZKM6{eyWvEYY5B)3Bk0;ow5Ih;=0ttu7=-rfrsVJVtk z4UBJjxo?z*O*Gf;-fr=mJtQ6?z?=KXRcfHvIYP$HMf;3x#M~iO<8=9j4Yiu)!?1J> zHC2oVbhKV3B@qh1QHaQkenJm=5ML;3$V5)3t;**v|JoATJ^Gpe5W&nE#fRf|$27J2 zO-l|M^FiuNf=NR?Ib1a+_?xUZVG`k&hk&5c{6r+*h&`~j%m6YFgCsTez62oV|E^}a zWigk7jHqd!7U%Qt5f2^q?lVl+`yCj5m?@$G4$N_k>nd?71Mx=_kW+3a#gm=a#SRL5k!j?H!!uhV6^R>~ zl;fB`;c{53)Coa&hWYUhWr59u6+PVkGc%LO0T#K3su=!yQqu84cJ{=Er_ABsth;|k z^z}W)wi0dZ%;YR^X4&#*=|4~vdk}kO|6Kng%i)=h*0iv@b=Farhoz~%f4s&b*A4}F z*2u!oT4i?c6YIrT6k{HtiHbsOa}6xSGj@gj(S1RD^@&lSPW) z0Xn-#)x|SXLN0o%91fJkxQnhQgUM@evo)T(Fv%ON8gYAp#pC%MotO+8YE$$vcrM@W zHK*MlNnYvlw7CKFXzd0y$Ys>E$}OEdJ^4EV{!ODV{15w4kXde{7LHHqAP_9g!n+Q8 zo3{q8ojJ9g)Z91a&FgJjsj%Bl6$V~81+IssaRWB;H+myuAFW)5_jlZFH4S6Y9kHFq z{qOI8^V~03N!*O^$G?^yG#4-8@>pFu9G* zYr^Wkyn!E|To5{%; zY_504u=l+4G-`Lw_M%jNi_iNZ4bT`U9#eF`q>PK<4ED>b5a5pCjH_{z~cVB(c zwuxnhb-G<~B$bsD5x&pXyB(IinEJXLu=hKKx+1_L#wJrvWgjhn7!i1RBYD%z^X6{u z#2W${9S92YOa%*N?G|90t#Ukn2K?T8l?CwG?tZBwP+8u2a}sE$W*+zE`qWvZyuQsb z(-_uAqczpKa$9xib75d2aqk!NOI9f}NSz>M!Qh>f-x#YzZpubvNlk}~|5r&m%t=OX zzT(a6d&&E(&f{MXu$3Dl!zQ;2a8&|tZHf#|<%YVBV}Zc!l1JKCr%7?ia@P@^e@`UO zdl<30VdwgB*nj?f?KGU8rLT;gC+C{YA*GbX9{5yw7j&UDA+)E$Wx7Q`v~* zQTc3A=7uaF zD(&Id4C!8)kWc(sV7^FQy?XIhX21l6_j65gu&<1;EqT%h`Cr`Z(~1PGyw!Z>+1f!Z z)zV@|45*HS$u|fE>vT0KFd;W9$rV|;D3-gCkOrQe=T{KxK2zz9t($CMwduIfjloL~)ZTxsfVlh6cic1QlXlcB* zJGiPLT;UlW(70EIav^i*Dj!e$V%{o!d<|AC|Abf05KtLCOfM5MyeiU514y3#1AF?d z?a*WX+K~ZJ3C^!8chc!U!pMO z$cql_5C0RAuBVsbacmUQ+P|T6lP|nz+Mt(4lS*4fQDakn*Ze0t8VY4soD$@d2bD+h z7ncG+lYPHhlFHbIfw-T-X`Z;|Zo*O{fS(BH7Y|83DJ(Uz7rw)@Z-|Le#FfBx?u2Z=AiUXUhkQe(qiHK zXdoSwtkFzWiUO|kVK{&%h`^SD4~@%2ke{z)X2uI0DP@{ajscMoj>GtgBZviL_(w{U zp@4as2$g)PsGMi5%En}#{i;%UIF?CAcU>KW^%Mo9W?Q+qA~H%GpTGzu;+XPyEj-eg z5B%s21uzF&nOGr$V@|rNg}~%(4qOhXid#>7&cIzN1*O)9Mqo%6}e_~59N~4N$GKA4w`3@VXa%~T$}*B z)}%bbAR$6pS@X2jtrWM&fYL6J2W>MKS`VTBz0~wc&6!V~O$ZAP7!D|VY{~|pm5+cl z(2?V?M1rL3ffMP(0J#^WpYRLxaYYmh)ps6#Wfq>VGzL!c9@75apZ6kdPxKIxVTQ^o zYG_I0$r4A|KbE!)d4z^06TDEL*nLF}_@Xx*>^_O*#p*?w!1V`*J6xmX$Tju1pWJBY zrOT=$PH%V*5z|!H>fM>?4S zgOFTrdr~-Ot8r=5=I7nI2X0-UwwZEbTe|2~FBCm5qKo`%Zu|P)D`D;qe#ZB$Hk)3e zvFu0z?HZ7*1fJ>d5r@OQP|U^9>h>C|f4j)sBHCYl)v^Ans8|LWWdwK}%>^MKcks+@@V#Bg4xeQz~S=0}J*ssfI z%CNP3bx42*td!G0sy8BGZ+kZ`K^*ZA> zddO$g!bsS-aPQ)zJcf^ZV`>Cezkyjil<@60s-9Ig2a#=RFVhP$RDb)baeggVW4qgO z_L!fA^E%3Kb_y+Am?=Y0brH)GwQOqft)r>FNunIeG&5s+_n9PMx2{$Atrh0lt_Q2Y zm91f)Rt%RHpU*Z`5OHRstnMa1@9mFO8!vXacuUZesD7NC7fT%A+%z5`rzW9>;XOgYz#P$0}!F9C!SItiSujFFaY|0Jzy*HwkDulZWjUzt1{@M^N7ES-i zMk4kkGE|P}q|c2S9OZ)B@E6B{*?1z;K0d2EN5s_y4&OEP^x2>MY@(q3BqGb8Jm7HX z>gqt-hV@HTL-|6D-3Ku}gOgO-*pRi5Ce2-?WMbEvx7x+wT~dKnKD&!6e#2F)9wZ*s zMtRvHA1lh)qsq6^ykP^#oc;Zd)lq?!o1DYI#l;n`gZa&l%eN-2$Hxccad}z7XJw1; zEZ?xwR%g$-HM@83AN*doGBNu?b2^klzmMduM>@mO$FPKSwuB74P5?F{r?|)s&K2=4 z&bjHktNiW<$rbL(d+l9+xOWtL#y>Wv-@WYi%;TJ7f$0nciN?%xUAwIxrx?#y_;8-g zi(^!uo*qw)Ihu5?3R(0744k+)Gzrt4J$euYL{{cW^z|55Ol-hFO%@UhG+`9fs=hma z2BkZB$S(SC(CKUaaXcGmVbN)oKeXILa}Eynxv8RyjZ|1}`1)3z=MJ%pB|*Sv*zTb%V`u<-HH=Go{L^~{6D``Or}dCO z4EU5~s#FxlHLx&c%sJbd2ogLw8bSVdP zylVYm`IO$7J(8Vh!bPz;;6aNkxmzz02U!Mbf@mW#`3tpKF}(3Cmd{x~-WL`j@U+B! zCzmpjHEeG|p)@kQ=+|kqYi25d@xJD#ub&c>E0hkK6T9WS+tT+ULesFkW2b|QQU2n8 zSro4kh2>tVOy8m>Ex-BcQmR6etzMI&(_2!DnjYe6va*1;whWEj>?1q$xJ@J*xp8sW zkN~%(;c8ksIb5=eUuJxVI%_WyqTJ-ECZ4{ui1`?bPulL(;>c%qL7RcV`F@j%5Y>K? zq^PKI3lb4=f>Z`V5z;nTuSF^rg(h_~cB>4>_^SUMm2Zl4iW`$-TAMoCh%B;uTXV zF1-ijF*8351dn}DPhkDT02^$_Dhj=rb-9NF`Oc*|W?|Jfv7unTsB+iORTdD1KL#r( zSHRhqvkvVb{+eueRn51Gip*%WuhGA#%N;0qI1uAU%TVOS7wncM>8BiZtI_N}uxI%0 zdUbu}VXcC6CJINbhbxHh^4%}FUX`CYHSF?m)lDxPIY@@9V_kY*`X%pn3Y38OJHP+b z5`HFHz&%(F2V{9*<~~q75{>5Zvo64svE8}OC>axSsE1TgOF(((TFAws=;}dqa>YqD z2;)LZhnG!Nc@a#^1OU3Vdah``#tu?d^Yp3{EE7klc$gcQ@F_|tBFUI;&MKSMxiGIQ96*c_FoG6JyyKD)2_JCFM!?shwGJ^QCxo}M8y{ANA< zt#apwXHk-8gC-^`bKlOeSga+N#Ut|mYNOW6j*GV2)U}HDZ_Y2%I{qPoaQ-?Jd)-l7w^(9IU);N4TQDCA0)kS@)<*NhFf3sM7Z?eVNxU7jM45t^*=R9@l&}Vb; zD+HppjgD={Qoip6%&vC>Z>Jq%axkP5ErcWb3yc+`u=xbXTUx`$Zt-QIz?S?GzQv$JftEy?rxQ^0rw1RU%=GoJ^> z=Xzb2l@29GFhv*pUq`Ys2K<>|`wg$R*9O1jED7`mF zqi<;o2%f8tiej;p&jCufb+pTzS+q zgCK~Xxe?2N(!f)LgsWN|;42aW;SuGDUTi7ymM94MM6w0}v!ViDa48#?6${qm+=Ln) z)Z1)fNY{t~A=0gANwKr6#eCPDF}1PomJ1|aN)8+v4~D^m#vhHLzj3+3baaZ`F?z#j zg{U0-c%FNEx z@ZmR*4Ef5p9Vu!35}%ZxTfqgEN*(4A9B3L6Q%VN+oQvmGjAAY&FqoP@s&7jM^RdXd zplLiD{u*`U#;0C=11opalhPVV{L2g4G!#<- zq?GucMD&!GV@q!NvyeWUt;I3+n}ZuFbP(cE<<$>#<*B)`g4V^{|7e+immb`kLkv zFJI!~O9?Kis)Pa=V3dmA9sc4f(gGBL3HI7rY>8%SM>;qK!id-lDVmnK)N&l9#PsHY zV>ayD#;7XRw3o^-_48={Fu}Mlp97v}BCzvS%u6fUMKEbB?F|bVijPQUiW>}7oj{y6 zbc4d@lwx{pp`Y9rx%@QGeI@!J;T8)s^LV08mY_0@;qmZaa4Z&WbYW!fhb`~k897`Z zUp+E`SYvEmzBS?V|qDk`Xm9i9cO51 zx&QNZKk4Fj+mHYOJ4Q8OQ*pY)6k)J(iFI-HK4iA-W(idgG^DSN!Ka(5Tg`mX>VNCA zgu#vKWpGtjPp);)2Pu&mFfO3x^PUyb3|G>e>1MXbX`#fc`lII-D%pJ6V`G0zqh?3* zoHnB?xv-7wDvFI_TH5*Qd4`{US5)JUbo6~xpt zIuD+pt@ddz$C{~%PX(mRx~tQhqOt5C z4qg5%)lG7%t7-H{({)m1g0b&%Ag0Mf_K$8%+E<>w`9Rpk9n*m1CmoOQ1G$gP-wd$_V88bbWG zqP@$MKW`>lbj($Kp9H_%cxC-+$68K^qtF;e(f6HZ>ROIiBFs9SA7XF6wrJqgde)l} z+hoj>hn_($%;~YBb!$wt&6!@1=Ki}Dn7w#fEbrL9Ico4Z4=JZ_IA0{XxAe{9sGC#z z1^Y(Av-yy1^FSxb#%OG{$98^(cZ#|F#NpeJo3&dX(F7KbO#T{TgVE!rH3QEje_^6M zlV)QlM$@RT*>C)>{|sVx#{D%Nmph}e`z)w_$Ja*0H@-=?1T9!Op`m?03r%)5ZBEE6 z^F_S9W3%K86ZuNO*~%pFE3M86YX8YiI(2l*@&e7W_xVUrP>gecxc5wXZqEdB@+P}Er@Y>&*nKx6)paka0^n%mhW&d0d@%H1@|7fwA z{a78ND~y@N_{gCe{QcEuqX)6bwSMnsYGYnGd;3MjsMJ9l2v>Q^^F(9=YOhR4d<%;g z12r}Hj24*f_xhx^#-5#FSB^!Gb%)xl8Z>~FeIE5DW9Ofo>|rB`-vVl$omvi#Wyx1< z+}c~fg%HLoizW4XZ#vv}P*Z)SF~8#SBvMpPI#zN`(W~8fuIe90(=;9+601z9Nyh`vYHVff+60%5_@*L$Vuwyhb%(nnSiJ z0MT63hp@yt%e6m8F78{Z9J=9ItnXts8`9nU-FpZ+|NV@v%ZR&v!ze43b76==@z={e z$15rt^jc7O79&r?d|jA7bv5GaB;a}Vd%c312Zl^R+IwIf1Gl~_f4?6sj{5Yx8mLQR zW$!*q;|?D9)m!&bk3b>O?QW7&PJ21vrYgEGCU`Wr+2Y>R$`E$VLT=d5PlhqiVQ%|NNP z*ELhhq<=1v%cX`v=2!Ce4ta`C_z#=87V~~2Sda6B)L@mGdn{b1KXS^y5E`L>{=e2} z>?`-7eeDwrIVJC#44y8{_omu#PT-9fmDnc+l`8m6X{CdeqLlZi`TgY(F?bwEBY_gT zVZI0;ARW9TfLjA}o!UGm9aW%5g;$MsWlwL@6Fv5oL8J9tcr}^X z4I^k#yO@2^Vk2mU9V7OyVe1!A$+~jTNCyyPojGPT!tgdqBWj5xpMy**$ratq^-?_r z9ILSB0w-cePj?};N*9yLyF)Q8pLt1>c!nlhLa zOIodbfh?tKH(|Mp343b2YEQt7!qGDOi^WjXkBasuLJ29Qr2t=M>A#7SOn6Q{0jRx% zrdbt%)xdCv4VO*BD2Jtyb`q&l1(^ETO@)Pe*f_SF$_z`!PDCIGHDi{9!c^G7D~(2< zqYzM8mEcI(sE)HGr6Vx2;)_WH9^UKTR8#63a_I>u0ixD^X3CBsIonLsyteDZG)c>D znwk_7^x;;wM`EJh8bGyXCyd67SmKh~cFz#(h6Y$BC zurW{bc?7E~u=k3XTxKva6~vXbPVk+qSIi2>F?6n-Pie#cbsgUKU$tpZ6rZaH&DB0A zDh0|CWi%A55(ODBR{aah`!|uoaj)BXS~Hq0aod6&DVJ8Ri~wZ86fe=-X+cx-ZW2yB zCiC}`jFM-8|8`d{|2X;S3+h_nf>J0JX1ad8S~4MnGQMhOOjq0J_rZASheAJmI8Tf^cqM&K{d^t9P(fin7`TX4Xpk@6BiNxRQoByWL z&ZcSuMy%7N{jxRhdY`0YvwfG7z7q?R`ikSD-RbZKU_P2F;<2~vd%#)0Y$b7WRrBWG zS@KhIR;AKEmD0#`eY*h|ej&yeMO*jLTOw}^Yfc3;ebe$^m%#hZOGCwe_0BXb{7vCk zzbS*~-|mAYuTM9*4Huphzb$!RsfreBP`sIcAGnHLYqYN!9U2<&1m1YwF`+ls7_Y{U zeh8`lZ5|8UU#)rLIA~3zDt0#(xG{EnNfLPRXytw%tC|K}tt)#Qm(?Nw&Qpz<6hLUx zK*Rk%p8LWtJBe;>@OR{`(6c;#RF>mtkap2k)9?82uNn`s5V*p}oNdU=V`^D(I-#u#4 zNs*8`nu?cM9Z}ove;e!6vfCxRB&#NIHr;Tu_6GEh(AA**ay$Nh0R zuibYr^_#_0IRQ9_-u(u?a%Y|QzdM&+rzd=j3P*&8?Buo{ceuyc>ETp`I) z9BL{vi{+oF%vn78P_~6NDSeF4)CeldBq60t4d~=%%Ek6fafgq8{G6}(yZn=k5~*TS z!5??>=K#naKfUIjR6!%22QFDT!u2(21Py7K?h`W=PwmWxNBMqGgY{Tr7y~y#| zpLYzE3W)s4AAX`R5TKVPf9)(tbW=lxsk?WSE(NS8MP3TTB_$VNd;UrN$QkcT4^&5k z5(bK^^^#~JAWp<=d7 zik8wh{CuR5ZiU?+N0}BB%%1CvtYV}br4QSC_t`8 z*pN0>N1pHHN+XmFOTy4NW@ZA3*;NUlMbf@j@f?d6VF3x+OvO@o_VzJ#Raq1-n3a^4 zACVq8s34`F_LalqG^Sd3szeCI(Db*QcCcKW#PU(A==K~VOS-B`kxjb8B$+9}A7%-! zt%kcTycaJ^KiS7O4-FUF6vT~wqtV=jYrLx9aOHlfuCAqkn?>IrW&15%c-dD50?4;* zsZADu)eJ>}dZD-~;j!A?;+!%REThMUi5|Jq+Cboxs+gSg3~fO<`%9~wQVw_GMLYmT zUoMtRo1CoPJqXOFp~4_Un65q!bZ=0Hvh?6(BQH@2H1TTETD8i}Wd!W7VH8_D+a*v& z%R&ZEMyh@^oQ81XwN>S|nk}2scd92ic!#ZpJaS!y3}-0UO1S3=lU5L$4ZEz?cM1jb zxte-p_BDjen%bFFiYeB5UO$O+@iW|_N?n23ZMqRalQRf4AH=0UjoD51EYgIp!E3y%=;lnQK zj{7QRIdzGLB=R9=&v1lZ^8e(l_yFsbdvOwm1L_Xl38@LWQ0(hBZ0;XT{0K8H*^+Ko z+O>ZZb9l5K!|2US>R)SR^wKs;TkGg*%Zeqt+>q3l6nD%HMlkUj% zR34A!PwjF#4B1L6k+XlsQAa{?6&e*ArnM=r#>YfqsXvT_sB#GpM_HqP1p^hfkv*Yg zhR&3PAAw*jri=sV3i=8`s7*XSnrxuBJ&^?&<`8E#a|o?kEoc0 zTNFn0C!DC(k(sPE{9Mne^_N?@2Ld_J>GK{D9$!PbZ6&60_3Q`|Cp5f}~KRmu1j^7b@k<7MEUlQE- z?o(VDN-j4V-+`h}iol{&Ph6Sn_-O-_Q6TBOVYE~jjKAW18q~M$j#=-i=Bnx^wyXb9u{+vV%tYqzz z6-n8vNO73!`4e;;o!E8+ zW%57v?k;1cP^8d3l+{z%f(CMuwbc9|#P1%-qL9Q@9 zUCrN?Z%T9*ZGWfgVkfa1Cm;4|;H2yBu4+)P#Ah;wWaCDncEYAOsl1v`S?z;BZi!-U zO(i5U0|v4?GQk*Nr=HCqW3y8PXtv(7uqXzYZW z@{ZY^!Ag7RSHJ72G+!wopx${or{(@Ym*s0Qhkdq~z=B@8%No9Q()#ueS`8;~&DEsk z-*07Yg5o4k9eG$n(wY{noTzdGjk);qi|_|pK2C?Tv zRn^Q)t{Fut0_KKI#&2&CBsC^{d>jtcDOn>W`CSE`lR?P*)!ql2hu%v)?Psxdu9kEA z4pmVT9E$cBSTFi%V-idK;=%%f1n*loh3g)Lw`S_vt*pkzPk(C2Xl{le^S;MhR!pMc z>OjXwZ?i_7qhi~7sq|N9anuNdDlY%CoF=&RgjbIy}!)Z0F2yv?t7OiVW zq3Sw4^>p2v)5*=GOcEC}4o239$@WNmPX-OWCrGoSd(@BqzStbiSrMOG&N+Nfo@3nV zaS}ExOu@oZ>$DS_WMJ+ll*71pV7_EuyTEguQ*QXou$6C*f)z3=RIwB->_>U?#&;kbE4w6fBCbdyPv3_RjN9 zGe6X~#*xbYI$9MJ>Ez$3a`Qdu331`ar+#gk>K;=cV(jTZr%e7jFkr1a?1_Wack+@uDY?9{-%GPs!j)5!sDQ)+ubJL^N(cM-Ghe5%m_l{hr250szFX z+dq{ewSiNRatXW{C;O7$H1~^te(FvH0OC4Q-cg|QI(7PxN|Sn0@}ivFhp|xy8uc0# zB3R^RM?EAy!MSSVUZ!Bg>ysrq|= zX3FX#Wgo|Wcba1V1yPCu3d#(V5h-Cy6ld_wwiE<<_fmA^mZk0Y13=F{66SPcHcJu7 z_4@R1GU(@Li;e-hWf=}{V4j7`~#t9`-jor^sDRCLRrMuGw zc6N?>CZ-YGPjm0O3TODkxAY3P{viHjQ(FQ+GF7TKA2~opX_Z`fRVfo_kOnbd_<(ZV z3+t-3i)V5+PbR}BrOKRYav+FlJaqaFsq>)mRE5w553e30LY=Ik3?v{@zL{_0LF@zEUk^KJ zrXjfUo75G8UteyuzwLfkl4d@SEEhq)OZbQ&uB2cOW1hA#OPsC;=A&3%Oak&L!fD{A z3Wdq?{Lj9mI1s*ImOsSx)xalJ2u66#@~)&he3{7XiX>p-jaH1};sm>#K2bQW2AdZs zl1Adm)TPE?2$)qT=x{$rX_ zao&w<;4yb`0>Gso1P3yQ{4fRE1d0r9sKb-#E zI7yuNA(R<2aAl;VBAM~dgAzB`&Df56^)y?FQb@lHB#Z;;003gZZ$Hzgm|o$)v8;f* z_jfJ2x5-NSayG33 z6A2ahHs#xeZI{PIS;C%Azc{ZJpT=YvA}4ckrDSsL|prM z6XN)XRi1Lga>H2Lu|enAD*fWx{t`Aqn1E+-|LYfZz|jNAEAm6{%P)^4ZsvJXqFW^Q zd_Ir%(fl*_;jHVE{P*boWL>xVG1Dg*jc2q4ej5ULhDQ7UF{t-SByX?A{Lck+tJ{xT zW;-@Y0)9tS8~Sa8q^{p@IZ5K6#RXS~hYdHGoK;+Ox$o2$q;;RzeNA@8dZY-{D8 z5{a{Uo`AaYo`s!XJoi`s?Q2f^Jv>-*w>9&wvr+T*`l`hZ3qok{L}W$Q^ibeM+Ff_t z?bb!$aZ=vO%F26(g>Nil`;nRzacvvH*v=H($6W7$F$B0WOgd$b!Y0$MWXxZR)+yxT z5y?7e7Mnz{s;1cH@DL8IhP+KdWPFh$2M8QC(l(;ZIVIm6oFFx$olzXAv$vDc8%}Y# zm5|Ir4X@Cjh@7qa0NUcSEF3st#uZq84 zNHBfaeG?s=@shjQhfd#?idTSF`6dnlhD>B;+kxI%t~}RHThgMZmlPf133G5*am9=L zGXNMruET=5sR$?KO;RV#lh+mRx3Y1ZeajXlf@`$}rYdU7Ufo2=g%TtrlPn93-fSR- z=lG8oOjK(N9M-e3%X)rHo0){BEvATRR0w@d4ADFn2LTDQ?tJf^j}UiFfY#+Ew0hC*vG!0jRtdQ%CLP@0$tbh`KJmBp0{ z=0e3pusi|m11#kkytRu!>g$wjK2;8_j24DSCb5{HTwhB9&n~HLD@I2LYOOvRJCm8* z`<2fic$ya+GKF)vW67V^3qUf3$r#+aeSu&gK*Xhl z4UzoF#zybimxuE*c7CH8Mf$|Ge)P$lpQPkDCl{2>@d_Gy5x7$MDd)_MuOQ0wA@+He z017EUAA%`P;(G2yT>HjVnu$x-i?RYBvxa@ap8gk&g?!Nk2U*jjISIAk7D}84O?Z;x z3w8vlvy%CWVZepZfKpcJ2e!#XJqgIvJvp<9yMeSWXMpP6vO08N& z1hw}bLF`eZ_TDvOk815%D~bwgQ@eI?=YIR#&*zgrAo;#Xa$VPX9tS>gW&3HbnytXt zSoD;!{c3(R>3gv}SfADuVUBsb>v_e8?u)dt9?$a|F^dVP(9T74-*xHokSJw6@^Y}d zxEv;RrU!OW9M-3PjC@N7ynhxlefmW~`Wu4yJzMa6bB7jig6k5zo=<*gX z;iGUiWiq6O@ZwKBd{Obd(bBCoJ+pY(y=p+;qo4Ay%Vn(t^Kbc^>-F?AWsMN&pDO{^ zX`jOS5VL@#dy9j<;kRNPhP64yD=x7rf2TNAQzW-R3TPhb9Id3{*agrPD>lletm~nV z2f+Dzc4!>bO8>f;nCWf`bAQ-mRGjm9NImgKE6_h{(>|AS%D5 zWtH=6U^PY5{=8(Q*nq)Yerf5YiRf>r-SG0Efe1Fu6Pd+Gh?2U38N^S+n{c z2V3XK0bVxcX;_+Y1E^k{^)ajP7Gw(I`iuiNt4W_BS&lh@oQ&MmE>#zmki<4Bv-oqj z7e^V0_k?)s`er~ivNCgmjxcI9bWU$W#d2oX-`KBC%xBw3nct&-{NAxLRU;Kuo}_>{ zog%S+q`yvA!e)By%a%5bM5!8Krv|<~N|Y8H1M$t&5<0aM?(wkd;M?Y$`+cZvd#BAZPfK`P4Qj-Jr0Ev#x2+P`Z%5{ z!^qr#ODmTi87bZ<(|D(X6d#2r-wqJQLwXv!QK)*4>3%z;&(2hoZ<%T#D`C6O^=bd8 zKvCpGen&k@j@#Gpg_*1*H%@RlPIAnqMg7|)V{?WlGLS{Zb@C652eR^Y#6+lyE^LPT zHg-48^;hv*-9L4tN((0bCzf?GJC`?JpMUNB+~Cc-`r|0wFFJbLH6kHVXVzim<`yWq zuz=b1A`F{bYcdf{QY*qPEUi6cTVOa_fh_S{f-}T&D z?!fli+POvQC3wqS@Qccz?IQzB%*?bV~MQ?pLzv(dNz`MIo*LC8gO1ra$LJZG(F%YF%bUL8~3Pr^6248nY?rRsk1X9_MANhr967LXXc~ z>8rnM{tYcXWi(`jU40w{wT*lt*0!-eM(6=!mcsf4cVXUr2RAEzNODe2&Rv+Y;herc z<=SuxQxy}8kZ?U);vy9t=JbM@>#QE_;9--mPB=IrrBcZq!yyLJv?Cu(p)>cdsNLrn zwLNS2*u8Q@t`^pQa_i@}BqJfM;<-0gp*58W{eX=-{CaEmZ39c6sL!TuG(u&(&~ncC z`PL}=@DMwS_eLu&9gwQt=~!r08yk&B75$BG+z(6B$^tg3g|182{@<7Usc!!&pQYbq z+f(Hzc04T;%wM&7&S$y@A~!Vyyx>XZ@av^`5gbPvL4LWIr4Z26^z9shfI_i82_+?v z0x+7?hPS%Y!yOC?1?A5Qe_+QwC@#+NR*W^b5EVbc;HW3lBkq>U& zV8Zb}_@`p6s!6kbZ`E{JA5laPk0?M%QcxfWIPq09o zN?e_lPbI0$9`ub346@P8Dy_KGvA1!bF6^;H!UbQr0u*b+h`@>pC2^1Ja9+t>NfXpn z>#DM8BcSVL8j3A5k3*zX@wI0szC}c2hP*ogDvWwmWvl4(TLv$ci{LBi3Hbt8RaD=> z;m1&;i43dsO^uX3 zu~`&zjSl$Hs}$Dn(-x?)1b%2vempYALF$u=W8R~eBlb`0E7Do16lTK*D)}HJ(Fg@J zCoAsISdum<>LSNZ7)+wm@>a5l3ZAkmCE&|SudGSw2EO=R!a=>LKu-b06(%&wf~KKk z5Q|>Q!Nne75vrAD+8Z{K?+3q^>*}3oN zIgXgr&#mHg$dbVL6^=C%SU$;&Izha z*-Ty!n?0xUfBsCWxMy)t=aw6)(G3@C5-YLc)R_~d%S)e zJF|ck@U;Pu+PCyPyY4Y&EB;59-D_%rf4W`=o>C=2ldU1iQgjGVJ|Qx=8i)X~_B`Cl zUzbYA{mXthY58zQ0=&61Gewg?_BkRGZI8PzyUyXxels&G-X}NXvNer$L3a^Ye6xJU zxc|XwKV9AZA@zXp-5!zu-}Kz($0|@{yQ)kM zCFh!1*g#KUQeFo#veA_8FhqQQmoM5i_HQGh`_d3wJ^w7*bKP_2{NQ?IA%Ej5lo|R} zP3~qxA~!G>$FUIkn{QJ_i}Yb?<@RVYhcQR0>tZTF)@R>BX|a?f_E#tNnQaAl9NeG+ zlkTTk9!^rQODOul`%&{;En4shePcOoW2jRo7FqIiMzw2f7=HK+1T+R zy(#5>dh+f^-u>4E47SV6^6)*uAEfl7SLvB_yc9e_K;CJLfRN(CJ`MCR)) zRsGPhAO=EU{NE;IBsFaD6kuvJMi+tr{x_+ho={q^N?QyHXU{R( z^7I9>BH;PN>9SvS_mM3#hQ|l@r0M)C4eR!=PiyGw#rjda#SsD;RWIWy!!DEXl7AhZ zqzez)XueK$hzq3jmlS3dn0LK>#1BP}+G)W~RYJvqjnog=C-$YOqCi|Ci2CXJlA?bN zyhHO<@w3OQEwFC=?0$OUVfrc$B`oKG0*4ZS)?l(~nmQPHPpbsdjfUdvaFfMizfeVS zqZ19%Qx$`Ul2UOA;_Hq1ln~4BR~D`1%w3T16lP1!21h|glCSre|3v1YriLiai13|C(I5n=7jE(~ z=#Y-wSul!w4vx`@<}S8DCO!(L20o@jC@D~;b1Ni08+XP33*to8L<%DWLm^bEl-7#W z;O*?bJwg`$)j!v6G97*sgjLYvkRnz}2M(oaYf5%pxyT{XUuMcW`?QZ##GyKG97Qf! zkpTR1J&Tq9=$C$6HqcNhXjgWH0=Q#-xpn&9`L2JP+Fo#=cqh}DSV${L%SJ#3Qse;P z10obuxxV3&8tXhJb?WeWS*ZAvgM#)wgL}siC1X?wf4SZ+m`T8-gEMq!>Wv5iMTRnB zV3Bj6)Uyq8%28+P7^(~vhp>i^8G~}RR5r8?^ub`oemi=)6e)t;ohEZ?w)WE6bKU0n zF?wwEc%01WM*PWKq3h%RU(c)nDm;&#mldneaKAU3e{2i>P5;digC{m3t-93kF@r7) zl>{4E`0Jwcf|}=5WNKw07mUxy!ZVI57{nhV8VhZL2)`(cEu{vdgEhj0_-eR2J(d}9 zC~$S9lS??BWeaOh9V~EM>bNJBF6AN%)%7%%z>kd!!LW-b{lP?WU+7BJ zBfdt~R~fuZ*8U{jstKcG#1V`UWhKy7_wS1qN66-ESnydnQH9e-s8H}v!sNuFLCauI zAqN{!I7F=0ioF=s09+6gW8;D5TK(0*L$(JX*u--IDKB{=!u0<;uYNK5MbLmp_|LOP zvW%p|dk~ZhGXepivO4ACt*Z2V0=T%9rLN6R#=CTP!ruof5oMy#84#lm#2C@Q?35pl z@JR58LY;Nac<+e&%Z2RMf{kXMt&U9J%%x2YV-627<9C6J^<%VO(;joWA{4V7ZQubO zjV^*eO0DA1i@ck}Z(GTF*>QohY$|W4Rj2|qHJ#xe0UljLF}4QDpHTP58(ZmK-JZ|| zJ;E~x;t8l2!Z|kfLN(9Y$ZriT3PrMw^YKuxo%d=KHi4aJZDij8SC>CbUIRTGKAfqD zWj?1!c}oY95Sl9e42@uCw>4suOFvV=96c{weZKXjoQ_5&FB4Tml?gSWqBmloc?ME2 zqh{6aAfT>^H;99bl*%z5eexKlB-r!f3|km~yYz5&dkFXQ2FW}x z86ipgmn4Ff;yzE6^)yn1`6qwa@neY9D03E_tXthT(~fQqkGy|Bp*xi9*$UVc?e3KP zY_CPQ%rUA9pT7w!92yy>#+g_9j--jwh9PxGtwB z?dtOpt5Qn2Xx~MvK2`QO*rOshZ9Nk6a%Hs35F^F{#%ktwJ=N}h^cm&`?rzf6alpQ# z8mkgyeJ7VMbGzz0QasM?N3`w5mh#{|t~unT=ZaE$wHaD1*hwW(L13<`%N_Npjuidc zu~=ipcP(xByvylBVs^3fX&gpS{{oE(VIZBrc-$W^#+{t+uVy(&*U_cb8~qTi;-y<3 z*c!Omb1+J4bj9qSi=)v>2bP->2J`6GPW4}B%dLi! z`HP`NxMN^0TBxvQ_>Iul@EM~L4+3$Y-RU@9L#OellghjODo1e!;6$c3S|h$flklyP z2B+r$h9|!JMQOWhfA`XuD#i^7iuxTjh{`5&_Q-FHH*?(ILihT;G5j|wTq!#pKGO1^ zu{c)q^3P`+u{%-ks(Cw|^nYVtjyCW?;6Z}iF_!*6zVL0& z3|Fu0dvpXGDgRZZZ+K})V!9rTB^{n&dxy(+apP1zQ&fGODS6%N#a{OV0jQ z`&$rcDf*RG&m1YT+c0qE$we;QJJloS@o#1M-3>eEPIsR`$t9D8v1F}eTk8XF-*W!E zcB{=_*W)u@)gB%8NJpfUugmKH=O!G#pU|L(k#Q4E4K2xjeZ^frwIwB*nHr1z$XUquMv17=4^6cDf2mf>bfunV8_xhr`7cM7~}u^IK)b0rRZ-5BFb21-Ww zyLNK7FXF^P(npJHc|qu2)2 z5VO_yF%W(s@L99t6QYB%AC?8F8VGJxfv*UJf(EY@X+g}Gx;2swzl4;C#|DAab%>@5 zLnsibh69sQorG}4Rcvu!&PHwVZWdOQSe}i;t(RWt&t-C zRaakre?QUt=VWL~x56P-ipSX;!ws`-#vHDs!9zOfgu&>RH|Q}Y*OoGYUK2`P6;3dgIN&dL$sXL0Gtvrg`;QroTc1rTM9n-G3U zD#$vT?FNVo`ux&oFG=mc9L*1Gt}eC4e4TZv1iGg=&ie?_UYM^aa+HV`l1vHE#u}Qn zHMR5zXc{w=P=ffs0w~x>gmDE$5(#EQ(xwMWrGN~0Ub*rjjOYLP?i^lrU*4W-zJn=P zCObsmW3gCf=I`VK_QtT?TECkO^x|T=!u@GK?3R#fT0`>Bug->cbinTP=*kuP)#4&Y z{pE7d`zpfh%vD}ZhE6fR8wI8D)fM;T@?dZGR z%O0-Ll=+u8SI+lQEB4In+(*x#jcXR#Voxl7Gd@IM)7(|&cc=c{Un&-UGInnIVKU01 z>z{+K{%-fQH@exuD*>TyHLgvvP9lx<&mnLrUaTlfs)0lNNp9v+N^<-9pQjK9+muYP zXsy${Io)3z4vf@5PQp?jgBkpIsZMkzqG!)acsdN z>7cM(D9+PJdfV^bnU^6+UpxRL#>$}|MtNbfAnO5vp!>(b@BZQeH`$W}rPrNVNG|!a z8Tk`BEa_bSe&_CCPT=lWCYAEh+Pg{fo7XJ=5Okmtj^pf}+qjiWv_!zkSzf#U?(aox zjw|Sx5dZH{z>XEmO<2MpU|H+ZulurNAj%4?Z|!53HTx~X?{yCrjaFNAye5BjcjlGb z)z%0@m4@GRS04Z z#^QH;^e;!gr=k6PVKNXW&B(|I#yCGKMq->ZB#ifz235eIsz*eRD>EvsVWW8GrwlwOW)8Qys60^0_ufsnhg%)p1;r#JRuUg!c6pDcnQcXNB z9F=okoeBG}fHS0o8!zw6KiCC56>fB~w(YxEech6zbKopR*@+9_fW!dUT7k<4SF8Y5 zzTt3w|E9PT5;v0zOgg_>V@)%=qNuXsk({T2)Cc+XzA`9Aa!F%1Ppb6Ix!7B)ip z;~UGnf&$Q-oawPctmR`giIBx8#pXq4optoNLxu531{mhBvQF7RQ)p1BKM_rY+w?9% zh;x*Lf_sz_jD)0>8Zs=OT*W7#UNOW5nVFsoDPpsUdsahVP>} zq{Rq1SdBFNl9vSF<3`JAkRlQ<+u33gu>Obg3ezMT#E=}2GL{}TQ@ARg;G`*=$DY_M z{fg3)SxPq@f33YTxPq{bi;!Iwf5LV z4o*hg^eY!;0A;DsVpg}ZUBseG_U)1xvMHLcvunK9b&#`n*xh$`x*uqn{(&Fhc)gCR zCZF)XJ|FhSZq~;&Ud9w``Gpra{_myg2Kzov(1Ux;ysnJ zMtGP@M`MA(!FO6r6ulII!GI{+b1NVuHA^fGPsk{_1fpRP%=ZjBCt8rHpT=5%9-RKfE)vQJPNqD)_)kVkp);~Id$Un03~tw z4-unWTcV$R^wkBT3o9KSE???sF4~_K&H0-(d~<5~#4s~kd-8;k05?K|X$fDRhii(E zLyzRmEMvvV3)fV7tW+vyEErd#pk91`QPc(ur?RSMeG(al$(PR?D?D4w0OaC;wH2a; z1{je-Y|~$-C6!p=oi5e@MVjI=ZV3Y(WZWBk``q+e3WaYMdylA}>)~@~ROso^9dI9T zs}xrd$AM~w0B40+cu7!Q1=-pvjZpE$HfcV#2!oVUHUJ^a9rpMcfZsY!vBVz%uI&1U zX9ZF;5(xFqHm>0#fM_nVkjnObUkG2~ip6gd8hcqc3bb;7_sl$lo;C1QHT zS)gLo1h@RlEc<19XHT`DVPJ!E7;IB6BTW-(Oh=aMd%&=5i)u4-)8)5I93_fX!;ZB6 zg2icxVB#?fZJ3Acejn>-+sVL=O?gX2(U)n0%wP%{o6JXuT6+f;0|MCoT^d$h)zx_L zY{zM8-~G-y>21n+N36Ek&mBEOeHz?6V_6=Qb%y)Q3qOiMddr?AnU9tt`0_c-lI9|i z7I_n+g<16|LuZG{Ay;phmt1D#qL{v{)aS8%X?|TR&BftUkhzi3yMsEtnQQk4z@r&a z`^pBs4+cES&m;3`X2(GUACTiR%N)E-P;H(RFZ|)Q(n?yP*2?FyBHX5Pa)ODa%Xc{v z-Pbap{+aEGx?GtzoE-Kep-c14X(_NzW=ZrC;%HBDuMFiuPC5bez%}&w{`s0%F4?4` zV|De*+qkle7Ux{4Ai1TtRYWmq`Z}|Gwl=2yn($vfkIR1*=`yasCyD%-aCSKes0*xB)G@Q)3JU2IE!`4>+ znqFG-D(}&KpUEye>S}z;@+=nA)cGG~Q1rp*(N{a3(I#JG&sC+_uY z>p+*CJw_BG+^HH4AJ6hNnS`g;z-#O3YU~S7*1TV4b8!0nU5lzZ`FFe+kE{PG#b&|# zB~9{NV|J>J6mN}qesqMP!3_}9E|{a)&U=@ZvY&%eoF1nyRNc{S4sw&YvZzKyKdp@? zC^D;!%S(^)>zLB6Z}?{5B@@7;?;)APPivGeTHA^88WrN(itS>O;EE#TgktA$OA7tt zq(mjtwsy)@tT;;I1(w})Iw5n!NEU^?++()y;$I+Bq`z<(#C9nMwQk$KnV%)je903^ z82{2Nb*i#+e)!F@fNx69$@qRtjMGtV#}UIt`^>JR0hZhK2I*VHw4c?`UtP&$ZYcLk z#wcAND@GCMUYI8EL06*8K%6yvl_@^ZV0<3i%+G-{nG+F(>#6 zBQ?V(kz@V3Y|G;^1Bn|SIf3m@wPp`{Gb@WZ$T?P7pY4TvyOLeD6x0}6t_ks3EmXNiiTIftgDo?YqbLiAvC~ryhb+W%% zdPos!_ULju*0r8Hs;hT#&zEbmG-|!;z!X6#$z4KP{`Tet2ZIBd$>bJ&aJHcQ=Td1| zx8G!2KSd`Z7)i+u8wvk=>GcriRm#8WaS zT75hqAP0w1(X24m&2-vLOH>>!g#ae8H6dz}r`%q7fE)~|lk|-#k{@qUJg8h6W6r&EwyWh@EjZ6cDbo&eYFl6K=ZnT@uA-E_g^vb#!U0ogj8TPp{p&buh-=-loNUmF_k1iw@3G{J;rfBJSjF^+qr%xyJg+zR&UtDu|?;Q zA8*RSKd-#{5ys*exeTO`xcy9+$JR6x^-R`^lx@Jj^%Fc z65|v2Scp^nJq4L?&P4akoIsAOA1CzhW#D8s=57!Zc-ci4crgEPu-$Xzp+`gsSibJi z>OO%cEOA`_{m{K3TL&k_nwS4zy+=m+sOe@tCO9c>qjv;;H4%kiK2|JM;AP<9b9Ym# zdv$kok2%|J`QNEIKm4?T-}A;y_4}H{}mLJ z_46oT^wNL5!nu7QVkexb=sGFt(0{(8XOJPlZ1vZw4R!uK52YmuF$WX?Rbj)|b0^Ur0^)+flf~ zcQdAnT~LZ;>CAkCKu7gEW?*l}!fPe;B<>cQ4mu3_=l9Uk(!D8Th>i&h3%mCJwQIwM zPi9yB{$fIgb@%chp?f=rX+KPwgT?Rk4M%0xDhJf+S;D+!*<~PV9*X> zkC#X4{j|Wpv4O=!F8SNEu#atCf(uJ|-KSVVXZLvx*MC7+kBY~`>K8}Y z>po|f_iGQj1{8|CHAg)Uxx0>?8LzR?_oUVRVe2D-`+oV`KB~(n1lLcukNj8210Om~ zun$hf_U>=v^JXd_At0|zdYsQW_5=2dM{MR_bgnM=R5N|RXslvf?oPZf|2wfHQMgWZ?e#tF>F4X zIk<^rmEO`%3x|Wc2}1el^6*os9swur+dUiz&q1N#h`VnW{Uabf{-ZR5Z#yPWLk%^` z?6a^*xPvAkq7_=+mZ;z2!X2r&-&*iqw}M|42pPkwQY~$_0B};q5-~0kHI~jxv*1s% zX^FpbC0R#wfXoza=j;(&{av}jo?XcwcV?6a^SL{fOd<({G4N|n|^5yD;~kwwrLv=pny^CU6CtF4nFz`s!^e-Ot(xrVe z1J$IWI#a9xbdgmDyY{xLf9oFOL=;lQ0l~5-+g0=FEjL>6i*c|YAF;D`4L3#soN z4v)UR2NFj|Ebeg}m)>0Gw8py>Z@Q662Rs>!4`_~HVwz+B@^-V3`SlSPGhPb-0C5h)oznKx*BnfG6O(lY@PP~{#YMS#nB;l=N(-es+O6~>} zxJ)>fw3F|!BjeTgqYn4Yy~8y&1}aO<2hi1{D^)*N5kfzfDqEKj#mJL!y{uCp7|6G zw+=MYfp7^N5(t^s5N}$3DH}EL-S%E~WB)@Q`k!2HJ0JYvF78|Gc1@NYheTbSl-QMea;RL7s08_)3yIlYqs^m9aob3ay z>^eU5o>4w^^q<~v3Av7WI7G05?fyllJ?R&g`s^Nsx4io&j@-mOG{YebNzACU`8HG# z09Ig8A`PtRY0!1oW%H8EJW3$vj9N+wqbycckNSQe{REy|JrH+z>>~cgD2ulLV&eyw zu~*FF%jLSXz|E4_Kr@~Kt>h0z^&KsPM1?~fs!UbG1~yMaP*Xy)7zs9Ch2QijNL(|n zgZMj17D%=hc6_4gyF2M!^H;r_Ku1%(Z%!P*J~N9{h-N7Mrey)@zw?_%nW>^|&e z)Rgr2>DSL36|_XLk^8DtH1@)Kq$1fbY-fOlT2w4juS7tW$02xtcksqykzCDzMrC-D zQkZ5}p`rD)wa{d&|Bu}lWMrmBagkx#Q4Q7D>2Pac7i-5y z+cYA_e%-Y$gd5wdfLUEzd*~DmRM|lmC;F&zW%>&P5^hR0MSci*Cl#{;~<(@k5-@v+57Y2FuESAHlAJ)rS zADSW|4h>+Ka;#Xah*BIC5@TJc>yj9U47RgqHkz3Nk= zddl7PsKCK2jk8nDB~-Wv`$z5c!cn>gmUn5Oh55J_@3z1EOX~tl7VZ29?^M6No8g-0 z@CGmZT0G|5Nt@WZ^LnB8Z{TbaF^37Zwr#5S{L&-8u(ZZ`MWo7oLi_9>uB8&cW zn|T#GTk-Bwox}u9PQ1on%vyJt_wU)^@Y##Q8Y=A8e7~0vl07_e|91qVfu1oK|MiV0 z-k@IiD_<;0rzn~9^1ZuwTi`)Vz30z^F{fqePE@0x3viK(I28g9Wqz{0wifs_AUu&~ zcsTCK`rJebuL-)=>Cb86zNK{z4H*xEJ6b}Oq%VKkt~6>!#nd_HWm|niLlCU&v%dJ~ z%YIZ`jh2uFoyo$6^puXI>(r5#A1~PRql?`_CUBzKsr%nIH|uX<2_{1#?DbX90sK~HfZS3y5 zJpQH(xA$9{L%l-e`#SRSmrDK6DQIJ#xW2NI-z{MrOe+_oLAkDMm-R!`%w9Prt5VwM z2As>eB+(LK#A`aSjr*Bn*jo7fMJ=fzVV7chMxS<;ZLI6mMS83es>h4_8@5`3`{gYk z=Zwly;Lko!nY&7-CNU7j65$Ja{{ywVwJ$3I$+KeT-VZu&U(8;V4Fhc3QpuRe$=^>!tT)7guaN8x1~vQpP8(9r?YbKZ717|L^NO z=t6gS%?Dt&CZwj#44Q69fv6X2^V&ocDJW5|5rq~TdyJk=bfeqtnbi!8*>$oh?K}j3 zFcPb*ic{<@%|)gxF0kVO)SNt|ere37uQ4S*8;OapmP7^{+ry9wyqL8MPfZz1Ry}^E z@=fk=V5;sh9Doi|EN_qNQ0RM>6oR9O6HK0qpv-PIV5HF2FoIeA6;cJ;&Erwnm!O28 zrtF0Zf93e_p0T!=D)owp;QpA(`=V}Pn-r`*P^=axO%bj7u0&KsV1$^J>N$XHDjERb z*P%Lqa@V{QOG2xLEAu6!H*V4}fJ@X{{wo=n18E*SRD}<*vQhxRx?jc^z-+?ctW+iZ z5TNA~>~H$dsvIw+T^-5 zJdQ%@@Ev~dqfaATtV&x$lvYIkeT+IJaXRWlLZ`Zq5gu>2#D^O#rKHtnHF#?%YjT`N zR2ELvn}i4GBc8i9iQ9{13K78gLDAsiO};i7d4?Py!x7W={!r&eEe?qrf}fI|P49&& zph4VlR;v^Oli9h@wj@$yqESXNBY;FWY(mlK(rQ}8&|o4w3Pvm#6Ok$=4qhQiYihR7 z3eh%72Oj{RDyMR5mY2u<9j4d?r^}ok7)dtrNh$wGE;Qc70-;M&PcdvH`7RsWNR8fP z*%<^8j(v&IkZ}r!y$-d$zC^7!+CkXZNFi&&Hm)jl+TQXr4A{%L*k&A_$)+l&k%ls% zLK_Q+_zMX(3K2wGB1iA)Rr(VRR7LVHg(RJuCX&ZEcMGe*UmczxBgL;4UsTK zV|t6#5Qp8~`U!M-8|~v05%v2yCvTiP`{RDq9Jud~{iF;tjQh$gVA^>#SJwSevL?gb zvZHtK`<-b#J$q*H5BqOGQxP>J36JRc^7ce(>^0$imHG9^n-zRrHiQB3+5ss(a|qtj zI&Djv0q95grJ1BN-$WTz5lu38glbviuqG?^4tz5E#(e+sbYA|1(JHaXrSC3m;V9^s z{6Ftiwt3NICxLO1=`A#7qwXOti2iLzKJ@S8-M`6uY(H59d&G9?E|>e)%aydV7Ik#p zmiMsmq5JyRJtkab)5xj%X?**4MT5DSN{0+~O8?93mA~!t^7lyz_iK)rzE!!a+lP3^&*Mn2}2etOZZ6s}YFxO=?! z@Zj*})sL{8!_@)IhVxy{!@{FwC47qTq$PH`{HDBYU3GQLt*0Niv`PmPPl@HmuA}RA z+u42<3=6Q9;9%Nc_Ub(2--q>ECCFk|0KT6Lj(--BcdbPa=J{+@fY%p9%D_tN8uNU) z-hZd!;`ntIjvltj(>AN;hpA_e?(e;lwR&z)b(gpOb@%2$n@LdYuFff_&mMidn66-bK9rY7Z z-L5Rly}!A?4-qGz5r>-2i{W70j_~xyC7hjt?lSA{R>`}L{#2xx-%rz}iksgq8otgk z@%tl29<;$8bZqK;6CZSZ`LN}Oxy8%7`}JwR!FTuiL)7=V{zCuz{!h@XDah% zAGY%6g~f{Y4aYglUXnfrCL_S{1N2boNXcAgk|=|#=d7U$HT9`_kKIKF`T)3}i;eUR zv2v{W9Jh{+TN{ScLM&}2?2LpuNq4aU-*zQ;X=%tg%Nir5_B6_*+rOmpxmB7$7LjrI z#=+Q|4lAA#E9BVw%qzu2vpo_7~j`}f@Ezj$aLj()3o{!KUGp@<`OA* zpIz0sk|{+L$0=pOn<)|Rhtk)@uG|bOWOo`n9;Q^2e=<#d^nz$($-iRr6cj@=NCZL~ z+lV%@zA*K`oswDEipRY5IHd}rNVq^Qb zu}Qp1M4xV3Ar#3z_;c$l-e7S`$ULbqeJKWBs;>#Fv>~2~SOqHbR8~G8Xb!SvWi!}KA1Te7JIm7To4f;j`T9cYPZtG!0sYBH3 z=Ug*>#tf)Np^bs8N^o~XQfBN+7E%JX0nSz@EQrhqGGi^2^KoMciTK_N1ZTC|SJ-w1 z_Q?McIm2Ak!Wb1eK(tfFyfs9EvuUa&O);S!>!(^}JG43+Ld~^Rm6b*6=^u=82Z7P4 zA96pH)a8&DEbXW0Vw3CR0qY7sZ0%oN{c-n&&ancpN>5r!3cH+-EJvto@+?!Mw>lzr(g`%YwKmG|$h88&3JU4~eDz>p`R1$;J3CR!%+SS-JN0Ke!0N>UDLDR@ z9;!7zO}7|d1)Pemkzyid!Cr^Fy7mb@Jue2LM3e-LvDNr@dHX>h+aeGxKIP_Dzv;|< zcWvT-*$O`@KA9k#Br4Z~)sT(7zy}Bquv%=;E1sIQw1{WvrzIp&D1z$s*6SaM@k!s^ zTYPZ+p^i_BtB2;`Oycfsdp|{td%IaphDlVyU9;2lW5!{nk-|mbPe7&roLBBRtPn*Z z-Fs$;acAhm3i{2j~cBNBW)Ay3w1-Ge!vU@n>ldbD}52bjvr!W$9PhhMjKaBWh~#}oW%!uV-*~+ z81~u%?2Fp@GU&t%F(|ZPlV6pjW3shVW@pw&x(Oc9;u*xtSTx^fRLz@@91xXXRSy*@ML^ z?Vqpx$bE-|p7AN`c`S=!{Ne$HaX8=l{V}4bhUS(A+;2|O>qA(C0K_r9INHHyEI3-c z@uYZ%S{h1g13^HNOMG4+{(!FN9mtcyoTZIExWSiMpZ@nBKJqO!R@ywji!<73;=LVu zS$mSx`38-8Jia?qRs&V0vZV68TN~M0w6oER=USSt)z~N{PA3cS4RdK$*+{49%uTdcPGn2ecvMC;O|a1{bjiwg~hiyx4GtGhTyn z0jPgJ*RP>byLj=d)8pz_$tc~W^AquTw82fw3-de^8O=gtCgfr38Ce33uG{b2nT*9( z^Uf0yYF?iQKxZ+EGZz@o^s+ji<0P%ArJlB+yOB7JFuULFz2I9#he-P#E1sKq*^9-; zmoJY`N9Q{rUT%^NinTr7&(uZl$ZQ$57AiU>9dq8*W$*Et2l_r(V4l|I%K0>WDqWJO zUH-LTy0qAO6mqL!s8WI(h0WutBHWHr^;HBCY70saE3G}PxC~I2@u?W;0JRSu?gy&_ z7k?~TyB$vTY<740&>Uz>yC&g39)$FM{gzrdZwZa}&(lx~Ya2}F0V7b_ zMQv&BP_XqMny0mU4lk?d(%f)T8K0=>uX{OTk~tGuNp9L9al6!z<*PJ|%kA&;cS|z4 zPr0o_Ro+Okh@&O8*H5tIC(XvSfkitH?}Oi{z0-TNg}%DeANU(CQyHJ%nA@XQl>1pR zkM_7xXU&3~A}VDPJLj6=4&sl$4RF|-;ct^)c$(@Pg>)^yORGBrG5wX!DemwJ*gn4D z&*-QfSIGv@6Kj?w_PJKhzjpc`vd%K7%{FY)fl?Zz5L}A{x8hE*25)fpLUAopT#6Kz zpaqH)cMnk9U5Z-?r4*M?+}XT4yFYfn8HO4DJ!CTT-1l{z=W%>{<0mwSVy-n^M;5+I zD=fRvaj*6Iogq^pCKUf;or<2WUy;{WPl0rfS?R3267TAYr#0gBFO`rey zI6hohxoDw&xaW8ypR+;2XpZT-*bh`5oI-K4s?@Yb?}eE-KK*O!vt7#)y~1#VwcYi* zlON(p(di?j!X>wKf_R#AQ9Sckiy!~T53Q#ic!K&XlN)2d(5Kl+o-}?5dMghOqyy7C zg=ghy%=7Y0jPgTc5vR}?j%)5}KiCs~*X>h`87AN{=!c>6P6~>MB73fqHpN#~6ndq& zBp(EcT*hg3hca<;(S0}J+deVttn|HDbgCZ>wp-`Qx4s1MqT0uoh!{vAX?vr;;J<0Z zmjF&mz}HQuSMSH-lb9-Fq9R3knp?_*kTadbd?sOeQHjfflQy89&os~klB`&=pmU6J889o!yx zuA7l^#iz=p>epZrOV>%X`uu`$6XrD_OvEkn*mhj0ckCmG&3;h|OyIhi?O?|i0{CMI z_#gv#4-T;skq7-SDdMUP3D2N_NrT-PXBG-0|Ay8aF!w7$ATTD(h;iJ!IKE&Rh=n;g zm5~B0pSX+8=HyBE6QH?id;8r#wNCGg{fp2(Lk|9Z{82X=Ql`kSm3@kmta1XY z>$72LgqpY(DVkAB#g#-#T^Hv?UH4l-Ekfgu=|Sh~W-U*X@YLg5LsOk{=h`*8EuDzL zVYI@yZVTJg8er))s?)srUlLm{@TN=D?{X3uaIhNqVD`{D97}DPiKu-CXGl+LjZJuKU@=YO@=MpbMm& z+L?iSZL{}r21id;U{DKc5bn!z+dEGb64oE8iC1cBLYwnT z0yPNUel%sur!Oa$;dvTIw?AgnV z9G0lF{UjOfO^JQZYqM#X#LlXI*~mQG%ZMkICtkg=lhFmhuqT9 zKDB^9n@UOVO3qvY&WuXdPeDZ^QvWT!uO!c-+J&{HV@4goSs7;c4Yc}eoMBrwf!h(U z%{p(V69VgoTMPdMJzSuGG7oV?R8Lo3|4OEErTlhGNK6OD2|-qSW? zy}3B&$i4riCHy$EF6p&%6SH`k%GYp%B1;${?jF|aga&Qf8Uh^ZT!$~Or0z5D15b$P z`yWeZDOQ@>kE)~|HrF3kUNm*yr`k;AbRB$;czyV*)pMg-E9lPUe&75<_6s@su*8GO z^&6w7Jo1a#-gjfq9JJn>nwX%h7>m_iZntygLY>Zei?80?@1m&WXA?K=xRN|cSEeW@ z09|v5ki0a8{P3ylYQLYpIPc1;xGQx)VvYYrmP^3F)#GN+>D5z@)O}Fk!H;ys??U~b zU)os;G`#-^{;o5}HUpsqq=bM(`fXz`ziYgMU=zHJ9hWU6&KyP?rho4md2jZ2;5l8> zO_Z+O(D%4EN3@6Fd`)Gx@ONRQiVA;*Ib*4rIOn~UF^KJ?KfNZj!yt|YmRs?D1`$#g z$bDsy!vjBC^HlQFx-0z1=PJs z9n$R{ik((D$&mx{LQzc*P@UZhZxSoSS~rszCWJ}guviO`EB>g1S~)j1ndx&5f zT}oklST2(xA73)MaIJbm(+Zkd+_3B@lqG1DO6D^w5UKxHF0%kj<(=fK^M4tWbk#kgmU&^nJXeW9IfN z?cbTqX;vna4gIVOG$NSsPFl~6hZ0wa1=xvt1~MEvujjPla0+KxZ7bcNo|}U&trw!= zfKIt3ifF;E#2aps3K((dnE(<7b71q^&zXu26Fmfg-$}+SoB&2(l}=)qOmNXw!^TlZ zFot??m?98BuE-G5yX2($G914Ezn;^^DVY z*2y5_I1!j)XbAlwGIkm$ok$KL2TlWcWicQYy&2IuCVImJjM(V!HyyN7WK4Y`VN0U_ zpuLgUXd_nbiHaYumCLj(Sn5XDGEQxf@?45Rkhh_mt2&f z{Jf_VRt)2X&db-#Z#ckyetus(^cDq4u4wx|rf0kN9mFS^j2Bsb< z^B1P$Ar%GQN%@Q1r#*;c?-_xYi_jC!X@%msPtdfwoBf?me^*PtBHg_n*T^=^>0o7C^*{9p&v|kemfEAxsrfw$1eUyuMdEkZ;u` zQ=Zt~VOfsuT~Zj&M;%cVmHGjVfP_$UK)cYm3`j09B+r+M>-VtiFLYrkn=!@gdw|P? z0vR_N*hYGN6Mu!jjk>W>X(~-SWm=0+7s-in*!Uz(;tfJyiSqavXhTiUt=nvMLe6WiH;-o6r5@frZa2Pt2^lEY~O(6AL82vuXW3r4|jutOttPlMwXW*Y7%wu zx_=|w{?+UcD;dc)$DMbsPrnDa0|Q*H$==McQV1l;twl~-60^50H_{+exv2GdX>r*K{738!^L}h;_8fN zlNUJ~8}&6nN0;}@$Ol=uz|HLq!<_Vnn;ZCiMCayb`CoB;p`zPRi*x^NlV41gUkb)z ze0?1V8<7hWmDFlyhsPIZ5>zNWwJ;ywCjk)*VXbjx>GGq!_dxjB7LA`0A$v&=_joz1rf%d(hI1z1z*MjRewm$lZ_D{BWSpy&H{OqJW1lbEhl)u?q zzi3!KMDW`PspfpGGrDG;Xi&Flo1*>M4#wjZU>DOB$)HY44=BrOxXKw4$VMU;sa0JZ zO*%YZp}R-k&4#X3ta_SE*|^)@ci12ui_i8p7_}$-4Hpmt#%pe~p(^X_&KJiLK6*o> zdR-SYl^K4g`hN@Od%R624z{~3xBLujJb$YAW_U(@5)(Elh`}zP{7~Ru+gcYWl4Ua* z8~xdOR6H9oS{hFu)@>lBzbD+mEa%CSWwlcMazXwet8ZdnJ_66NnsK?OCsv>;o024S z@)5yEDM(&LeRxRqyw4)hX01I-c6)y97-6o1JgYq>JVDjT6rc->c}g zLUzuC_*uO(rAr0n5{tn;=rxjCG2?MhD_M?+9HSjS^)%+;fQ-R*O-Ee2KKHMWmx2irO*2r-2{!#w=HEL``o5-mogR`X9q7o9 z1d3<*tu1YBeO6DCL}6uK&hX~?PNDl5z0T8n4(^H#SBI9)v})=|ww)L|{?tIPi@#Wr z_L4d25fREG<^h67q$mfScIxWd>MPtYkiY&uZnZjhJX!P9-}=9LolV=8rYI+ID#aXS z8=cwx;KN;$Fd846-6PhQfA|b9Ybv{{dwHd&W1ySLhh^XT@t{`YLyV)<98R1W6|TCi zmtR|%J<)qU(L!>jFC85nYoQMl$tDcWtuX_7CS6Sj0Ac z?fj!cs`yiD9m{)Vmy?JJq}QvGn*YhJjz4&!RrbW(K}#&41FIa|@Sm6W7>!k-!N{|( z-j^+@kJ`SH6`_oKAImvYeqd;fMgY@fR9Tp-hypsT#T&hPiCHSA#Kt%iZFu&oQ93Ct z#}(2oMi~wO^9|{eEn$C5TW9Bjur#T{KQ;Lnc`bbzvG^cLxPQW@i5W>L1Dgq3AP_83vaz!>!Yj&mOHq$wdMJ%3Dys-+gC@>Oen@yfcEaf6Fs zuqce6vEE?8$#^sLEe2z_qM==p0NtlH6Iifx?=Yuy$`%Fi`gZ^@IHkBuaN$M_BO%ft zjm@(CDyIN~MzE7V^Cebjl-x3kM}EO@U^ifsfW9tME~#-5c@gQ&N5O!dKeIxaZJ*ub zZuL2`o0D2}m@f-HzENa{h_(l%FN+YP$uRbfqv~P>JS;-t~zP`PrkqCyoA?Wv~~~~v1Fmr!-JmE?;3hVBLL`Ok*r)c1FU?({o~Aa)Y+OT zWFsrSPa6ua{dcIk3Rabj-0#_ z&C|rw29DX|iiy{H$-Ar6vBkH*utK=GaGcC z@Mz{q@;sa#`%LYA*RSggN~W5lAG8ZoP<71SyV8}qy5W|(I2WcO)6>;MTp?($bC7`# z3)>@7*GnvB{u>s}>pR1|nvVGkl(jx58)v8|*i!4d;Bxs7&0*@j5k3!}?`NDG`n^mU z!;0>9TzwXFQ**z+HxZchQ#i+G!zSpGtn=TmqJ%d$Ki2O$@OksjP(d5ByUZ6s|Hy&@ z-QCZ&(#_)O85eXfjEzFSey`_lKmYUCbB!W@ulh@#RhJ!TS_ou@6_{r+pb<=-;dTcg zjS%;(DEjoD0kYy*pV(Ucl&bTEJ06tGJ|Y50-S;OO>3v326I6v?-xaikBp!wh+eLGP zs={`19}d%lkXMo(+vgdrr;?>E5_f-4Na_((48QGh)a(IA>Xt$3y4tHV;Glmb=#KVr z&0i8n(*L+2H}Favv2x@|>v#APB?UW;J2KJ6s+C8rfG&p_P=FKUaX)+9E$TXMCNA-f z#qRQpaQm?d(tkDgMvL}ZtLud2_{Z6=+H{UrXW%y1jn4`wRC-C^>5zIp0IKp>^>qHX z>S17OOc(%n@z1;uTDqHJRhik8Bua=}ENpA?ha>ksc8_;IdnQE=cm`sWCd>s#^Hwl2TZ!(&TSzu34C{JwUH;u|RD6_IZyGf9hC5)y1c>-?67;nGBm?QVLFvu= zsE|e`W)I(K9}d!KA4VPBzUnu?;hs+qW(}x#+vY)GD5!)bE?rUx96nLwztuD1xY5BsstBOq%x#h=Cppf_&8w96ZAg)e0|{Qw!-& zrooTn9hxqEN(+8&Hnkj0--s?=)VP36kZVODd8Y+YhVdGRZBI7>7>hTz`pU zHNMaC2LE{U%_JjCf-B*WdQQT3nWeEd9F%TJKg`RvuSD9fIyU{L#gO=C1Lw8!71IAi zeV~92NhCeUuNRQ(FLrMC@}6Np4;G>%usDG|M^h{-uC{cb)@4P}*y7RR->2lm2?%zK z1#@4-%K`zPH!XNk032RsUZF4$N-;SoLJs5`Hd$p{m@PTaXM7g05b!H_alcs;;gsvrxXR=xo(R>l?(zcN`g}Pe*fXS;Yl?A2SUxwIQgkveg8-PtGc5 z_T-MIj*w1Yk9*`$q0S7!lI?TIXE}-jLZ{hxHg;{2p(N<#m*aY2y%v?w8G%6n%V$qV zHV1T8^ElO58Dc9ZT#XP3mFgt&b{F+~-d|VCeqS&3oi>kIhe{DbbXd}0Y)~Qrgbl3i zUI|6 z$+0OPp-@)rfqZ#sURz?OJdF>>#xLtWmugkOH-5Lta}ZnWmhwCG>}OiFq7=g!bYaQ3 z)p8b#t~x*5HvE~o31x|E@++<6?2i^UWJU;54YYOkGWk$kQ7a-VO^xW!B=iIZe1{>Z zaz~sJd}jLY=EEP8Y{R#OUp>-x==)pkk|gFALKMqWE@+IO^}-WOsnm-sx^5m{#k`c;zV==nOLoS-+hu>BNT6*S5gn8&%C~{!h>F-&`!EPHZTbC%Ktk zw3$@RPfu&)cvV7GXg$(aRXfGSDj6}+xN2D)vWu8UDh7V}q%$i01u+RBnz`{oRJ3m~ zARdx)(C5@5gEB65PChd{9MY&`L!XZ?qgJ5$Keeq-%@POIPaIYHnGev99Hd8>O@@ zdOdqFr|si%#;L@=6L3;ptxQWPk6EGo@$7e!YIF5B;PZ_eM;W^2Uv4NO#Xm`JBvDq5 zl-GC1Up?3Av7=%gsDN?k(b34Xt-Iy3@K7APw0Y=}@n+`s?n$Z9dA$JlSiPftGSim7 zYR`^RQ)?3`g?us_`)OS6yFu97*g7eF<)nW0Ow}QsS#5-1-QGp(ngA^=P3l?r*=GiV zpM$5hSzC)W$k-C1B6=W$G&j-(cY*HIn~xNnY$a^gYGvoMXNz=g_4_?)n9QCunL3mU z3CqYr#^PUE&u+~Nz84jv=0c@4Bs|Zy;x5#Mnt%Bp*oq<6S8YCnxqtTAdYNtOXbG!i zm6%=bFX|#*#j>EnwO+q2{IjnLsJYKIQ9=E0pnZGTZrIPiYlz$1FFQZybOf_ni|xo` z;n<09!&u)%lXU#q;ui1t&!T4ZF8&glPc|MgX@+QR^{N%loM8T}5^wIIr4x|#ji&OO zsi7L%d+r3O6LMOizQ??LZ_k4a*$l?Iv8;mR%?F6Wf9%_tQ;( zD+kwBaNH%}(fzJZMr&cdR2%0wT1n!P5m~afp(%x4WG9SGOHHHGX}qf6xwT*oCGZYf9GuyTg_GNmJ+&Qi);FmstTa114;RoWO%B|-hmr{kEiS6nSSSlk zwc~fX=^lDWysG4U^CUN=fC{jrJGTz=8vE_DgH2m5icPza2d=eVw$OUxb8&>eQ?aJ< zd$AJTJF1EUs*1R)hzN#t$fZPf>Y2UiId-TBMci9R*3ONx@WBU;ioUJXqWW_DOZ>{| zF%^~1-?21|R$mdTRIKsusM^TwJVwySR!x5E>Zblwjr6~W8iHn4;_Jra;SVZUl6}*s zKEEA%p!dz8rHQLXnwPc)Z02=7Os+=$9T}n(E}Y61n;jEdY-*CatV11|V=7m@=t_US zl_00Z*04COT+L2Vh}gQf)d<>~9_z{E-+9f-5)&HgTOYK;C0v8|LfmMvzEFP;H|t@< z*NaU~CpD(NEVbCD!`%A$uUDU(Y6^(j=3bE+=oyJ;anJn1<^gkZb5l7GRz*u>sWL0J z_}GU=?w5;-NU)DlqP1oBvKow&B^zX04Qvnk2Jujr!+lvo-7ZF%A{zTAnU5@9grpptGF_bv5S}vl68t7v_7!_)u~|Xy3t| z-`Rk_9nY^{zdSnSxptf-Jr7KTOzFDxM{3et`fHr$;#xI?_vP10sXPn* z?;j8N8tez(6twLOfkeRO8$#Iu)+4Z^v^hbV&=*F-1Jd6qj7ldofW$n{eKY{fZUjeJ zOI!p1=zlskarKLcb!z&eNY5@;e(^vD$LtouaHpP?=_iW$9trqvfoUyG*Z;}9WcB%9 zm_aa_h#Rqa5iwgVFE+5OX6ji_1CfX(9XbS+n@iyxM3>&&FRqT|HEh17c$d^K%EB2O z!U!qP&UnM2sXa>LfRSMY8u+(Bvk5;5>!kw+_eWwIy`^qSrVCsMcIQ+(j|UnV!~zSI zraPZ2!&CS`0J)T6I}<&waIn&;_n-BThyqRK>B8ZmZcsvcMe=9^SRRkwUZC4NWouYR zryi091gV2Q%Sp(J<7g@NYY;Cd`!E?~^C*PS5ylAt>0mN+@~V#IaJwM)m%$5^mLz#L zmq$4=sQx-&XsN#619lPR=)fm&$pbe-|4cn}yyC^BGMgse{i}EI`+x-+A$SmEI2;}f z#DK`mp^&m|%2~sbvWy@YsWHkxwK$4N`^^EPpFFFOg5Y^i{w#O2s)4SgHU#7ArKvhp zUt*`3dF|G&hvOSnok-DDJ^<7W$<~}tR3QR(R$313R{RdhgMxG+oVb;Zy3wRo6llH= zrWWshu!>^J&P72_zo|FW_EUxz0N7TKUOFa;bFZ0tot>}v^TvQ#S({>!si&nOn+A#~ z^f@|q?_JM`?0hXQ<{F@@-QA$Iyo5M;57zDC8ZYOH3^D$qXf(y1Hau`Qs`YfWYByKXR(^I}5n_ z)HYIcKU33wN>bxH8*oJvYi)MjTM(g;ywmaf(#T~U^)R#ni$RY^F8*U3+yTpDlJ^^G zN3^lhAzp%X1FWcn#wn*TCgSAFV*9pdP0JGpe%FCX*ZR@()i95`4zZGQ4{fk;jA5pngfhhoC16Qh*Nd*7~7S;BSuj;2Jfyq-$B z9_!N)KU!C^RCjD9t3Ui;KQ(4#AJBQ@1^axs;W$l;YwEqj^xpgLY3lj|H&U+&+0i7F z&?(bb({gu%%DUg5A2sLrA=*m?;2dAWXm1^AI(D`SrgvcxIpnWYMU#Nu&W(e<8sX){ zQU})8`+6OYPEHpQfxF1g0}~{|c)jH&Ee6V&iW%SDEdJ2b^{?yj6_<0zR#R)d!fg5O zWkb9BqRCVM!eojfVW_RGfN=`pz3u>qxoNyPo15?G2o-MM@HDVSeaiS|f%oNt9lQF; z%$lh5IGN(}KA8rZwij?2>J?e@uzvm&8bNsZ0x@~7SJF}vJzfP!FIhqG}>jzyn zn6-Lu7dtm!Eoq5&{mVjjx>-d;(nXU3KDU|qUa6R#=1bjmzo<4@i*s2fgijK(!bC`AMN7C5XqzLugHqdsj)yjN}S_!1Ywuka4 zHcmz#aPE?yl@$X5Q1|dt(i9;h2+MfpCwUoHc4@eFfS1IWJyBA{(1->73kdTd^ae;* zrSg6$5ZQ?YVkNwsR30D)4SWrY{N|1jhcNYmgG*zlL&#C+3A^Wv=rg7;BQJXMyX>Jw z88qjB=%X$nB}KL`j|EUyOD5Tt5#!kIg1W$)G|k8P7yt55#%4 zfi+Q*x`rN_I5TSN6pK&KR|`l2&k$Hp5i@}2*xf2kW{Zc_0fs}QZ|}x?ISFMjPL@Tn z(eq9|R#?YgAkwWy#uq571Ob?|xet>~0dkDiXnDzuV$1#gAOl$k0q4yC)Z2`akr2!_ zGejysLx)2-|I-VWFyJcNS;n0qP>2pXs8S|+ zX}R-gt7K`*H@{>;M@w*`id!UUCKss3DdtjLaadAYZkljdjd&jk$J4Or^fH zj6u`Iu1tzLc5rj;K)lB%E;A#Uu>mE6VjE+R{vg-c+Q|&t*=pDEin7rYj1p8#DU7CDbS%Deb50Ctog=(UwIR7)yI zc-_y@3@Zfbz;@vXKh5&h18X}CJsn%hD&l4 zHp4Pem*3lwpSZ&DL{cOnjDVZ~D5|0CV1Xpg8xdbJGK75MRFU(F{K}49h85X!N1pF` z!V7sG^Vh{_&iycrsckPGG#l4#*X z*=rz(&s&SGVICJ%t)!t5sV!tIOwC~T7bJT^E%WT9c<8@;v2&egr72)^GJgt*thr=D z2dB(ADBJi$qk|%qcJDjecS#q%55;yO0%g+_W$L0s1Xb`sZ7U^UW|+ydYUgq}gV$jm zY?{f|4o-&JPzIgIIDG2FJYn*d^2-=Q{zCL$-m+HOGZWG8R>O$-FcKqqYAOncHTto+ zJpE#p+oL1_=J^JpXVv9oC;$#4ukN$U8Ht7JtiRZ-bUfyf)8a01TtiyyYe`2Q{T9-? zjFDwcYn6%(+N;`L;!Uji4q*euq7Blxj2ho%$#j$Q*Z0hGFh2l*!?R0=f@hc^uESNT zu?PwH^ubk)WP_iRgUwH)=$ufTY>7o(oym$q{V)+dz71FPDI4fB`62^(-FbvyoR?=R zYeg#55wEno_(O=m5wGR!ocw2t*E_Q-H{{R4zCuLbkXL)Qs!4qG;agEl#fz!0Ioh7d z97!(tN1!lV&*_Z}a7E};M`5gxTN0ufQ{qB3TZVNu`LjMj32kD+QWE~iniDXB5)paa zdEnq=I{A;VN|ZCAt9elyp3wQPGoBs{OtK{*%D(hdN~5Kr2D#(DWP2xW$K=WOlEfsL z791n3@ z$NSgjE>Etx{A)%gTw{6C6d?tnp?e?fV@WmwGx3urlO|`r$hQ@gRSXwrH)^TwG>k0K zP2kCoWjhOxRGawtO48~CN|u$tMCFG)7N&gR3CsKS9&SqGqbrmO@p0lSt9r32eW^u7 z^PE%hmzOUK;0A2jr&mW|o06!*Q?McTC&Q(t5)AJ0>PBhF+V|AQNsoHc~q}jygi^ zJHNi$`C6D~?pfu1JmCJxxXRMk-3BiCRjR{}RVjzLOsLi2ym%s=-U)9zd~~uJW!sFZ zis-sl7qL&%mLjQ$HSF|gWxtLJt%|0;n7QCDiRDAh*Ei&}T)r6|;GXVz`=89kSL=(P z$4Le3Iojy6s+7J*-Zts3Joj?-aGedu=`g)=^$^*;==ENREnZ2k$Etc=W85x6UahNB zpvgs8E&1sECIeJ4VoTV;U4r9yy}RNpn5!RJK{a+zqU)X|dA5{1dmygR*7i<}!b6;6 z%_zsu52M4+>P0*Xy@!fw%$$z49-x2PJ>Szg{f@KeYqK1gdH8D53%|{vgjK9;VnH{J zbj!lQMx1BI#P9L&hw03Z`+0?&AE)OVyTcq3UK-aa# zdUTa+n(ldSTvLrFCdVRTK9n&bxctw9lz@KL_GbJ?DyK00bwR;fWV`zXqGy9>vHF;s z+2(bQnW^FGaw}qd2NT5+HMfCtZfCQ+Jov{f8>QKEGp}gXv@IW)Ljh^bK!KWsWcDQHL(k~Gp-!r2sZOS@&dh&WRHH1a zDIG|YsM`Kh_*C!zzy1I3QNUvaYpNGFI3K(kLbPHB{`SEzen_tn5(a|v0_etjsS`fS zyP>n$GBH(AsoE78%Bzm~*y}|-ErKeOnUu#*;GQZh!(o7vjue zYW#{L{ZpBrKN6HTt?N*s?z1BU3Hyf;Fbx(?k^JIlTLnlA4>z(a_}2b>iiRh8n2wcz z;4%^D~!xvehR##`|BfLnC&7BhD|2Ju^M)S1agoMeh+Bu_WR0=!NHnB6VVb#x<8IW4w;$`gi&DJQepy_-3?gB zAWHhg6cR=U)!Okti6{QxqnhbI8|iAV#mFJMLOCZdBEK$zl#zzTgG@Z+n%9r6%H1^d z1VdP@l#Co^%Iz&YsEuO@)QyrqMdvICVJH!vmFsndh&sBMy^x7hX4?u~WFI*-O(O-6 z2fWFq`TOHv4?V$WjY5opLaZcF5s{yniX)@7cj@almx~>j)r;-7R$jk+RvnNXJ6gH- zn%enRBFOiyZ zq+!p#@)Z^0d_N)Z&~p9iA!z67X}524&%#3>L)E@2+46=-QT$~%>6-j~l}pgr!TL$& z^z_D?D6et3pi@{!peCWTml?dq2m5xP`jtl{TSpXHPZlM5#9@|J5r%+^|MI-{rPSdf=f# z(5_%j;0>4Xy4$}$0}~UofJ+rKe{+e9#A4wtRQUa0d~?9PC9OzMAQ$ASqU&~S)o78n z{b{4GfH#CkL7NiTZX^KZ&lP9f3b2ed8RxKc1YWEnF5|A&yzp^MJMYgQuB1?x>8@7J z1C%q2zvjnIPJ6OMgXjEyyimroUn?tO4W0fQy=Cx=IJKbdvpWSQiy3Q;$=ucZyQi^r zN%%C&%jALk^q?EP*d!DVE$C!1=(iujf1L_=vT`|TAxWEn=jB!NFsJs=|E8w(EHvo$ z`<|`GP)KKg4r`@OPjP<9`E0oa-`E-oByk{M^UAYFGp1e(PHd%cmk=eel z!`*RroZh+f5cH>9`I%#NO|GcBFJBHP>BIr@hs#eY-1LRZs}ht4csKlv$|Z2tK{rk8 zaIM|(abf-DBbiPnZs(3)(8-k4Ia$zo1k#fxXm9=LmaOYuXAUb;Q}*cV(~0fVNC}PK z`Lu$P!M69Alg;Bm*R{>gl-Yeu*LBK#*|a>H0cSD(8{enF+r1k9y;G^1j9kC{k)x6t z2`&gOkLb4!WJl2T8uFeL*~|U3{}dF2+&$e)2-xS(4fr!UoBJ@%^51x%=?9`?EA4EI zqXgTb>p>jxZwRG3zk50)%DwKlDM?;-Eqh9SI>7Hd)e*+WEP48)mHRQS3$;@)J)I$Y zbJ88!BTj%jo;S>lMHj1JxfAgB=YhwJwpuZRw21q@1yEf$Mo5z(HY`(sB5rmWgO0C( zx13e1M?pefb+DVRTc&-+b?;Bcs`C$lY}I4|OY16uKmP`Hzb-C*!U6*F8wrcaEvX2f zrw9c+4*?T0*w_)sIvN)dqpQc1&M6a_rxgp;(L*rI?V>^-4ZKNE&QiI&quh4 zIma2RmQZYlPY>5+t7<~mt)_L)Lz)5z8sj2%o{z(?12ww~ccvK6f5q7~r}x%l*hwe|Ix+dh9=I-8sw>r0hM z|5e*j+B66#ak|IS>q4Cx9Gxr~lx80e+B%(2D;1NegDqmMv>Je+e|-=KSK>aMtSa#u zY(+-QuPu_SLk^jAp`ps2X}2Y6xjFGeF?+GZwbF^h)X*fxAJ2*91%$@L1FR;zg~C}4 z%eJ-$r_3>&33v@k``SD^xAQBP4nbwKanJ6W!qxLctybppF zS$A==e2F3u)c-)mjrSitI3PQ$0WiLO94M@LEqx&~RuXOO=i>|HWM zzr37YGuxTQ;w#if$G{+qeMX*ukgMEYf>I}jPo%lN-XC=sNSzn7JnGqauQi{c>Ss_g zES8~!%0rH|9^zqg^vz!&Q2XB5Oi>G}&no7{JG`W_Fl<<(WY zeR+g2kn#Ku6*@W@5`H5wW-T+wgamm* zrUz3NrH%M37X!5y;%d&Q00>dri-=Dx0>-9;gF`p|9m!_Krd|-B9I?r9gSsyctiE>2nROqI z74=B2Dsb?TS`+DbKdf!_M&HZ;v7~r*DRo zV0&iC!~J*$l!`H>Gb3%W+7V5e`{--wK==};V{t=ZYh%0i-)xSAHySjre0Q{SUdWm- zW|gSbCEq-@jLl6`L}lFC3sXZg4QghGn2)7=ssQk&#&@{jBrhDYkQv{)uP?|5Em;~q zuBf~=Zb!ZHkC3!~vtvoNvvV-K4|^0!+6s8=nHLqZH)aM_UFHLfbYqsMSvmODlzy&^ ze3&`9h|S-#*v}j^Z1D25;WcRi+3$o_!0EH6`P+=p{{C8S@X-~hW?ln(*jcrRao)lm z7N(pzvrRGvZbGt;3p+OQX7{ei$r|d*%Lg1k-rg@;s56$)T>8%LwMXR>iW|L)8`zjp zx6|UXM`vf*dVG|b^_JKE(wGzo1D#x~tra|IBpJ%?6QdesAw1-qUNgu1YNiH{Ow&aqEzXq7}u$zt!@sGnrC>A3U{ zuFIlShiAO++lPqSl3`fiCGlk0P7!dW=W@}*glz9+7y*nky>vtT%Fl!S4|(bHF+PLc zW8+0pT}wkYE>2j_S7MMwtRYderJ^X}@>3x+n%EBfl8!eTNMr|IJ0$@qeh(p{A#Y|- zm!OEkW(61F!YQ~ukYdVIr7kdI0#HCSqCN8GSRzf)j2~d+&ryJ4<%(gMGF_IxXaj~X z>0kk|GKDYAv49lGAhw+`@@#ljd5s-3Mfp3pNYTMwgH3}x4C2to8Tr?riEgk^DT#o6 zhvU7o&F3l`5L)UCZ~YY>np{3FdvwhKAwkA7h5yCXdj`Y#xMAB%7OR9^5iJBubYT%a z>MASIqpcv(JJEX!(R(LI^e%d@5xqo@&QI^XxA*?fyze~EyyFWW&F(#OU)Ob>#{v7C z8?Rt>6fQTbg|(GB+l0pe@raJ2JMH7G^}3z)F$_ion0~d?7cPqbj~U7MPUwCy6!NVe ziVK$uMc=9h4;>dg??4+`o4oI)>s|(lvvA8-_&U7#fsBOz<&F5oe~~o(*e^cnYktiCj{HPEJwA8&IJeo%c6P3IH+wUEW`i+u=D=}^^z-z@a6$(^r|WT;$Nj_Y!y3Jk z=(%Iv9LKIuW&JWd=>9(2G-L5gq|EBfSpSLeKwG&;ZSy6iHd z$J^uf$DB3`nO=Y*p(6|elEjNn{=;+X@v!9uqz!`d<4zLO4z|vxyw^2-R_%Bj?8Xaq zY=s@R@4A;BDrn?N9(psq)|MW2eJ-1u^ngh8edd;1nQydVDTSeN>A7 z11`Cd+1bA>bu?|8&hMh`+Fd;7gct2s@_6!8es^^x&8d^j zyS}#DDO=A~Q?c9J-=kpP7p^Dec_t1Hu&4?77XUK@Vr=Mf7nyQhB$RD5}1ndo3g!vj3^Xg{dMumt|ji8JTO%yKN2~y592Z zx$XRvFj>0#HXWIlonM>LSM?C4cNH4-a1E3n^zY_IypAzo4=;S~J@n2`gqwLkO#tA! zN&Sb($E#dUzD1Q_AK+d(`qGv82|@SroX?Pa(&^ywAStOsactL0kwD(t8p%cYP|Kyd`f%PeY39Lv#nRZszO!Gs zy}n$Z7%)FyEXH&y^6TpAqlg_`tMhqj<-mMyLRyr-l!x+O_GsIk=-x@lFE1-AIov-$ zr};y9WN|Tlts#=QpTI^IhSZpzRP7el`K8S2+Uc~chg4OT&&YyVD+*Ofq^d8pNU8jZ zI{GSBi4x!@6REQkDrwE12-)}ld|=B>#_)yZPD(NHy{oDoLe;sMm7aZpJmg>qD~>&5 zQH6AM<^-qAk&jQO@|zhCl2Ej`(7ufRdB252hw1w)tr`?#@kAYN?}^)OS~cn@d0>8v zFd~&ym9P0pl30*1g+z3t3JLq&8P3#H%L=5*O3%aVHdkKfQ<@{#3X2-V#y6# zh^VAvNUzY?#n$1oUG)eJEw~593b5mCXD{hx&J8JeYP<4<`*HV)R!)r!c=MxC6v(${ z#c6}K9a+Gei<;ee8G#5<0MW`sQl&hhWzLoE3W6|q8iXHQG@@UCj)onKN?~5a^#m968)SMYCW=d$_gxnwgirx3`wxh@WOCF^> z9_W`v;Z0BnV+is!8GZF{z|^tpuhW0x~m}tbGvUMiqnKf91IC~xE#X2Z(NVrnFF^A6Q0t+v6C^o z`n6`x;<2E=W%INk!kEBpqCxhUpnGpMegxP=MnR>^%{Deic<=o7K7DsOEl*_@xd9Q+ z8Rvzylg}`^p-CipIX8_PxezdrBX559(F<~SdtKp=0xFBByHi!Zjg>}J9faz-g@2w>l zSRm1yJ_ht9Y)~~v?Hw8`q)0bu4BdBp#R3J#@M$Er-p;jN3)bo0%$te{&x(y@Dfg0x z(L&IcU*#4Q4>P7)ZqByVfbHgT^XoZj_I}jJ$ zvnH(&P)eAM%58UrY@oaVMrA=YA|gx$QgXiMrB?XY?A5Bhdv)?iaYH2HSf#1{qodv} z&=lA+=JYr_Ssm~DUactnR=$Lh-AfIhha!Egn{mHy0xZU{DGfaR8VW<~iGPu!?9_4W z`MQVq^F87{{J0DTN;+=l2$?q>Sdr*wTqI`k;v`*wVh_COIc`U=7oZ%cNOVh(T? zP{G-}3R%^vTP>E9QOs`nYTuyaycC2I=En(=q_~4BKMewU2N9~li4qN3zIsYHl=1Y1 zuedSI)jgEtWVo)D{fPh*8qSw?z0Y5vxD+txzdvv`Im`F&alJ9TJ6?Ya7F{d&ru~vl zEG07M%j}y#6wYsjjV-Uh_7+9Xkx<5){x>QD>fKuO$hdASm{dQ*#es*u$4=h6rdu9m z7A=SKo8jRDJqCNkU|Rn(PSVr(SY(>EZsRg>sT#xcER)vrjj(d}nRmIN=hY>^!UgkF zGTD8Wr8+6qul7FmVob&br52GvpEpzeFaWt9^e|H&0@ZeSvMO>oF=X7;6()SYQ zY!o8WKQ5)ejMV1pvwBvPhbCzHo$&B?WYdpYYd4D@CdB90PS+(4B!m>IG!D~@wPW)T z;KL`d=h7JPWrLU;1$AjnozjRm@7@iF$|&zlq>P7tC`g}pb7NQERu1LVYpkwlY)E~2 zV-?FNr)gv!lUL1XmNLbk(%C@k#b8IPLGKhboUEioh z@x66Bo^PUFnFNa^gEJ4igE@UodUijJU3YME(vhTy7<0PH?M>QMqrKD9f&`Y2&r0FX zyEx=S|JzN4Pp?Z-0XG67hOafUWrrre4`wX@o0k^<6G+Oa%76Rl*N&(7UP@`yAI`Z71Ma{AQI;AO-FJia_OfLedDL;EC~bo z)5G6|-_i_a&dew#B~88lZXGXDRhM0Yeo5%5D|Ws0JonU5V7Ya&LHon{=#^c4tNnQ3 z>090Kvi(19x=Q(OqY7h$)BT!dHYSolKs)7ET_rmlXSz0vi1E-l2?rS9w@Gk|zvkEV z-d3_+7WIAp{%685Ndq*r$RoUJTDv*za%=uDFPt$aR#n|3AVf|RAtT##Yxs5NzuE0= z*OJDmv(sXoY2kNY$CHL#+!rM39w(%f-a8Y1Yn+SV`|Zi4HC?DJSXa5c^T|G*0B>@i zcafo_etJ?mW~0vBY(}dwZI{xsrUD2A0C`;z$@SUp*)dgFy4FjgMUVY{9$UB7x18<|)IT~G zt;C%7b2k^UsW^Ss2VC@o9&e_bi;nNM45OG(vsaCCz;%`H<%sVpmr{tEo4K)GQ$fT& zhwfY&&4;0x&81mw{la1sq0Fk$?H@cMHQWLg89KcEpg6hm-lc)o!PS+EA_`c^D#~hJ zcIKeB&(wezPHrg%qb5JPSdq!$b7S+A+wiFkdX60P_!vI%=)C~>^nYUeG?zI|AdoKz zg_QX4e_ix%9$R@~7~ElYM!6Ai3wpKS3B}H2L#sezBr$z8nk*MxKUzgJ;a?8&HCzLF zjkj-DEEZnuyY5;3@PBN~7=l*>bFofF-u#EKS;?t?P7UY62h{}xwTDAWVM;L5oSyqKwt>lhcX&wwy9U z{sc5E=TbUe@8r>#8s2@AK-XRriT z4j4c=DQLs-e_(^akO=*N!eC!yAV8mi$%uo9;U)6bzkTx8UoIiOSNmVlu zD6A3_WcWUHHX-39Qj~I}G}nfI1pg`z5OGaEt~Nz?1$A#RaI;~7mZbSwfzQn8FZz#ErDWmF=u%L$kf<3L( zFUspK3_>Nzg<=JY8$jVy-}@ND=lAio^yEV@t=^g=R!;Q z(#P$`tEI=n-xd}TZmYYC0w47r3p4MI6FzSm(%hbTJgoh$TRgAC0ZuQa>@ks`wySdQ zZ6Li+_pq^avr^~z`$cKZ;q7>omGxm4)KQW-SX_Ekn|)*OqsF@J!-lPin`Dksne5%A z&)wm|mrd)oYvIG&gvU+(tY{P-=BnX1P07JNH9LpCS<%f7kIv=N<64%@P7!Gg&3y$8 zcdv9_hUeL6u`o{G4=x$hvoM3B6(X;@pFuCRKhP)kC+AEbwr#c?x?L}D)?e3#wVl~| zm+4)(Z9o3ze-!#zWO+F*cJIS5JF$qs4D|r|>Q}Y44YJ6HfsOfGou!LNm%CxxHXprb z%G|~CCu2LGH~=@GEC~pkfL24x|LQ_Y_zizvd;Hv?AknK)@`keA6+10{@q*Bj zTl~lWU32yx{u_Cm7kf6SemrU5)MEF#q=eAfIq#zu={h}wd25RU zaPz-jqiMb+>RH`yQ}?nJJod#?F}F4#zzM=>J34JU*{EyYSh{cW$wcc42jvhF$@tBn zORI9sDRHSNH@`A5Y<|z;;~1*C78!`!_0R+YFDVsx!#K z+IqFzbLsNog!8^=thD}_p!}*7v4H_k{6^=DgUrgK!%-$#E`PVcVM*T{8$Jv{3(CCv z34Mzp&L(W5L;jO5JB}e`sa~U8C`p5IUQ&le1u;fCd12 zpGMkyTt{nv`|;Uh=+m2JIOcP-6JRhXsKLIJVPkxQ5QLJ8*HvqN$WdOc`luBnt^Hr$ z@hI=pYbd$@C1amJWiWGYM2)ffq*FvNJla^h>3q)f ziD){Xf+4%MWxB(NbK3ZJJbhjJI~a?QbpH5LI_J==k|OA;og0gs*$!|*-C_Ke>~x}7 zo-cRJNM5Q_n>m_SB#*^QMVOS7*y3QU{YGKjHHo3mt{x1E`|3p_*>stj7Xp_PNLTF1 zE<`Yn;HNPPRrveL$?VD*VUVb*C612@yi=8)*ggL?P#ji-o=}%bm4Ylz8&7_C!}3u_ z2PlA%CtFTe?=r(>VRWSllWrNBWvEyqF9!#13Rxn^k8tcU!1@#uB+cJ9)@P-X=Bp8nT_j0p8nL%N>%*yyB2St#}Be7ZQxl zc#8bWrEesY1LeQUSz_3l(ZH{J|J_L6?31%2g`1V_?NCI2m(!@vYd z{K?7U&I;LOjbFED!$BmDa;AXl;E>M7~ z;~efX((cZ)rq}0v=Z}z)#66$CB?k+F*nVzlvoMy<8guyjc9LhYSz<;)KT;bINYeRg;b(hvQqe>n;9nk4YQ+H=#uoBQ9kn=c~KL{ERZw%)fsFeGtE)*<{FZVk1 zGHgrACKm9yVE9UL^$TbKE1&Cs`J!Y}^Gl5f184$=wUVV3A^)-0H$^riQbq3*je>?c zC935cD*ND!Df`c7hNmtLrkweAnFFpJ!=b-Dzc~5SR(`qZoK4BEtz(@0hn7NHXu8qd zYTHI%Rw<6qP`^)O96Gb(`bQImG!QozxFWAcNT*8sR~E`<)4!XASbQi%NUH{q;gH}< zeeL+fog%J_w)C4c6RObQS9nESlUIa>(6Z=gsFSc)^TE13a1_+pFp48&@LnH$T*5_~ zC7|Li)Q%@M3Kc12rY}n5cLV9C#ttCZh-=l1jjxLq6`!jdH&5cyOSW{Ix%Ak($49Na zA?(CL4Z7QT+7^3Y2JlEhFY{9w36k7ch7iPtHt92v@3Gn5R~%pXNQ5d-xY3GH4A<2| z508D&%F8|;9#-^mbMo@K?`$}o95v!D_grn9YP_~WWMm4}q=ZoJALuPL3Z+CyeNLL@ z=QR#NEo7xCGWoBCkp3spH&mzRZ|-#eOXHMrxHuI9q!m{;%aiswlQ&P=M14cV-?YSw zvx=qN)%3Pc_GMW=EAif*wSMEa;MeoX-6qWqS=oeO$rn=W|FjLYvs~V=G&QzLVsB*6 zoadJhlVv0TVSB)8QO0<>E$}9#*dmfJnwh7}KAnC4EU}#fgkkcFnT%oH?vp{Svnb~h zP*&7xaxyeFyr1|{T0xjmMPobfIA}H7t>*IVwbBj{ zD)1M2o6f;m8dVlWSpNP*bwj~ix^yj2T9-5RxP$yfUpU8@6>mCtvuC_-e7e>~SJ-P~ z?9WcGZsX~N8(R28Gt(RGx3jqrAGd90x?8~(>PHgkOqho=t~YDC#H;?47Nuuq>={q_ z=~u&Nb?(>HLD8%&qFS?Jv$*PNO8HchSbtF(Z!jU$2h_t%JcnOj?Kp?6Px`qU=cm-4 zZ11PT_cMTxjU3o{lJSY0pYgYffU%oy0Ylw5ed}yi}S+>ohNILoHU(^1XyY4iR=Xu4kmHWY2At11izdd(# z@nO*&opp^2|JBecDwN74EN)_keg9x33XmT*r$)rr($lF=^f0Ge-OUbX7f1CfYQ1;n zXGHpPSGE^j-S?M|QYG8UJgHgDpp`o?mi<7NswMQ^!kY+ix^}a~|OL&jXX5u@tw*_u*G%=i%|8*gm zZl|L@s@T5H6uO_E+m)rse;Au_U~9gA-#V|0-d2!Z%}aH;l{PiZZCh-sY*LdRth_tg ziWYobUgEkLJmHCGYiwCKTuUoX!d_T>Fyng}MHm?g0O`}ZZLRfB7t2dZpoI*mO5P=5 zk!AARuimi?vbWjyyK}+SZWe}4P6>Wxhq_BMi+b9W7nSdUmsL^_*gCdLwxeBvM>A*4 zrnRvFPr}IUjVVvMB8|rp-IU|@)SQyFRd4+muH#M1eRlRtGq{xJc|>Ku@)T<6WQU)_ zmc;0Zg$Xz!bY14}|F2*F|6Szkb59-wp~wl)1hyl3E|`kGOiOFlcm(1}kPXM|g04=F zlc39@;IVP>&*7}46O5 ze$KR#c(@ob$)l7Wn5q_4TonrX>HoxLKjXs8VX8TjcAy@AY4MO1tsyBSoNC5Hzb^HK z?^J9M0tlu-I+FQ_yMjT%=rlulQd;;gUbvMb>-(6uEXtwL1zw)W|9Xd;;z}*OzOi0G zK&V*85U1g~dMu2_Bt}#cWVg#CRkiegKM|^6X7;S-EZi|O zSWBsHq0Pm;zwC71$g^R5^6Ql}Ls1-3%dyeLLj5magQI$xY(uMW#6bO(BHu^_Wk3b- zlCcaG2zP-LN7h_}PoKm6o~Q3sCyqLWPnoG0_hgslna_q(gIHAqz_dt!#&qZfkzjdJ zP=bn=hZ>90OrHD4V=AY6CNok`yXIQO=1>Ku)MzaBK(kc82{z_oW5T|46l;v+kbqc> z4IrHoEVTX_wd4kn4uprfu5_oocG`0YI?D(pGaJy0X2Xpk(M~ffl_W4vO6x zb($w?SxTLOtRk!h*)rZT?_9W>PwBAlki%b&G^-%vxiOXBMA!w7jvsr|V@MiDC~Aot zKyiJ;dxOp1Z+L>CrM({I)$rWNT%~<&Y&lS9K^&Qa?sc9~B$^HaVudBRU}J_a@4CxV zrskcDvOojOO0ja<|4WbB^D0O$E`5WRGOA-HqlHzh^MP0`L@eVpoIa^&)&XIZJ!@-S zT{NZ0W$ioDk&@?vE!Qs&dCX7N;xvgZVV%D+fg|yO8gttbr_Z@s=1nJ?o)^D`+B9%+ zKFSZ{CQoOU-qQ_leYIU906m;vJQyD0UpgC0YW=18cU`tl^t^E7eLfFTgH(qPm*vM+ zi>;&)9rKAz;(EuIqn}^OicE@k??BHU9PPH|3uNylhY|du5qGka^;h0>H0*7sA9zk43BKaL%!G zVq!T&)Al$bE9(F=R$!&m%9d`1WOr>n`SD$-#_eXXu%+egS5oN^E{m{6&?}$wTOiHt zeIW|sAI9_`e zWiD0TwE1Ry=4_$uak26QEFXiaeErjXr;n+w%qG`df4hsp!q8!VcCxhRWz*ev9b4eE zd+a4mwwe35oayzQzO248TqrmoEkCpMj(X`DXe;#0IbS+wx_jON zQHRVVr`VhhkHd6CJOc%>wqB=8!?3<73W;YgwAB zvrQU3U45V7QnJ>^+ePh!gSUsb;;Cf}&R1R8(~t=lpUpYqG%K5og;vpPz*+7S!SqVL zom?8)F-SU;omBpDVdgObu+bl0XNy^iFc%vdExAf_f9&V{uD>)--hB1PWpKbv?TvV& zaibY^+e)h@VbDV6P0*vOiU+oQ6{c2PtgRQ2dvDymm~quhH~~HsO|dJ}%m&Zv6zK8t z)-qtK|DEo#aGXzb_Ycsgb=Z`ZZW)*cfdEYJYCr1;)%}!+ zAXRGjQ|#Y8G#)@;yINj3p2*M2K%p~+U|Sei69Mm|OKz7m>^tA2XYc>Ie=;QKxxga; z{qQAWJ+zdJq@!g~olORl zG7$HT%LCSi@8Tu|qY6M;;>h}aDNxQI7ISMTV1I^F_r#)UrxBqfpvWdlYz6_`lDhQ4 z3WGz2ot$`76`x&qC1_A8TAJ71RcmnJD$M6On2%QB|+SW%k7J0V<-;kcsjxN;*EAG{;bE1jLmS9y0Lm{*FCG6cfL``9nP;#cs79lzue#6@ zhN`l1bCL!-Utapsjqn5_~Ar6E{$?yW^ZfJ^itdVq?g1w^v zUd_PRe4e&Z1&WmbDE(&Fgj8sd3wC$>Py+odO8e7EnKnBi$mtueWjS851qpR{Jus%2 z*p&AfW@yERH_;tHE+QL(DM#Du_ezG=xEfX}NkS@qZWRk9fg`^`DxL?h^`E?F!CMUD zHsXL*|7TTPij49sp(cSv!jNOUlW3en^`RhtDEyLm9oNUIuW6_Z6luv`Q}NO2RZU^3@d zXg~Ci8H}-u!0c~djbiJ~7JZa{i;(Si4RqX?#4nrPTfoYjE+4zny+J+FVtBiqFS-B0 z=p7o2N)xA&LdGN0pi=Bteo?(^$onxKP|8a4#RdhjY&7H6nldKwwlo)v@&H2u1-4dof^etWS@E01{ zwft2;@3s5AqDytM=fgYwwQpg~#S(6tBz*=N7wV=hP2bTDj;_#;zZ#wsB$T%}P#H&G zoRsiH(Mhrk6+#S+@TfeQcN=-A6iInTDW4~VNjF8CJ6Su4qzOg-I1jj2DVXN`uC1rn zda|bWUyHPT6&6M`T>NzHo0TDod6ymiBR*L8r}}eY(B5NGP_v&mF3nydOQk|D8`C1!09i z)6D)tDL2y*lnF&Grv&1xHRc9tl32d2<|Hs6#@l}zjH&U$NF%55zIE7YO%4+beVe2% zNc9@Xw;VsL+}VK@$elgXML2dVPkxqA=JJ9*E-iJl{}h24w=B=@U`wYA=FKA<{>%R3 zua;iM{!}9=ZRYzxYQBT!w27NC#e7;+nNknkI9cZD_mv$Bi0TL_buJFdws4F8bSGpW zN|BJrQ%z>NYxW6!50~KlI9>=U?qD&R|wY&-#=E~D|tE@k9TD6 zH}TV7S#I*tclL;$rDXS9?q!HA=%e4ZAz1RWueauN$2U2@7v5)m_L+0AN!g>;d+7gN zsI_@Vm-tMpq?F)whG<<=&Es~I_vhUZOTLP%c9!5N?B|D`9f6w7H-YbfQ+EcigHzLC zXiQOJbIjMjo3BdST=*>;6t&Nvvq7sJ^K6Uv&SlaigwWZ|2{k`6z6s#^38P`LGtFHvJ#H%_r|{s z>V-US`j`kWUB&{KVYZ$9g$bWse%%kgdH(s|{^21_12l+@?f!GQj!~NBi^RQ$#g*o= zX~oh@{=^drCIO%Oof=Ce-4rEL$>eqOx@nYS<>}eM#YOG-=kviLg~{Pz=Ob@7C*yh% z2tv<$>$uPC!Cn(f@$}4&H#N~%kaO3(rnUK-3`fz- zzRSmE$KAZXQWPZQs;$i~yYxjz$^Qk*`#&f6$EBoxp-njeVWCg}4_a=i!TlO+2T=h< z%DVhj^eK3yTXR%UE`g5>mIDcNn?B{Fn;&aHv z(0f`2RHw=-zDc3a8|(wKr8d`}(-rC9Wj0V>T=+Wz>p^L8a7g?V-gBO>NZ??PPh5xu z3)~oHzhZ@fRFM-hHOS~{`O0_@92obxEK5-=0K2%zd6s~fo<0l2BfG&&m3;|hz;eg4 zlF06%hU2`%*`qyoM6hE&Lp%A;Mp0wK+pv(z63bYU01AV(_KuKWT*y2q1uXaj6a)Io zpV|I9pvtYr`U$!-tQphq~I7B1g+#{aqb-7w0mO zBSN-rP*HPq_AHIAT@HuB|y8wE}6;a+(f+Q2tqe%s% z>erP?EnDS}%laOxUgepJ-8v&y+J=cq-^9+<#J;TD$;4kh5P6cL7Q8OQHpAQ|c@9FB-Rn5*u* za#_0H`c35U2^{{@Z6z$@_QJ(;b;rH7*8L*tVe2b|6e@Lu5GqZ8yeJLSF^UxRc^LeW z86_JuwbpI&ls|{!2jLJf;~m{D9a}FQ+ddBYxL&Q~d;X}}1k!0f7xN7~tM|JAJ}oIY zp0SuKihcFCW2kQNW+lq|#_RC$bbkRB(?`ssMd?b0#RASqSl6WSHbN9zsX}2tXfcWD zj{a9Ur+GY6^6qhI+5ewFRDq21z7IzfoE3;thAxcJ0?f9{)|)q%41C)p+f$PqlGL7W zGih4(t(U4Bo6oLCyw(>U*Ppn#yg`CMmV;sXXR*JtXGZQj+b#%ED{n97@4NY%y+t!b zAGWf^S8B@Lwq4pzfm-~&t=GP#UQI)T^DW0_MuYoN+rw`kKF(d?439K!_xnNXLyx5( zhVF>-1e&{!wzH?Ut(R#_4@2t)jTNo#0Dt*$SO4yjdT*rF^D(LQUKqgBZI3^0^ZW3i z?6KE9kIGa!7a|w525eidJyjeTv&~;{gH(chzI|j6S04NkLFlIwhqjEpKMHyXmvR^w zN-CLpJj#DO1`-yRM1-5e4Mk}7QbPKmE-mXlprmfd+Gn_iWLmt1(sOzL_Oh)%bSl3a zzifHzV=Bwju5E74sV*#P?8S$=ou)0_Ws$YfcGtJmY)X9!4pB*;Z#{l``SM_2q37Ay zzwI-tSfS0*8dU0CZ`9pUOS#X&;=vTrU3(qygc<_>vq!>Mr<@t@E759Rq#$Jk0Q~nO zH%xU#Lc!H^;*ki(+Fq-RiDyY|o{ySkx=X?m##vm%KS4d@SXj|feu_UZe3>C&$p}f5 zs*#&t4l-JKj$t&Fbe&3oxfJ4bTLBe>;6NF<0SkyuDoN(20_2YfRdS#QBZ&E?Ow=6p z2kw0_!OW8PjTu< zc_a;B@Jac5gYd!kInSwYaZ&)ES|_NWW~%>xBzZr%&jW1)2)Sb4$<$zj;Ca?pG0VHY zc{#i=+#Ygz*nJ(}O8G51Mm48;ROW?=IqV~cntY^AYaB?U=?T=@pk@qUQhO4_1ea6< zAd%e+AgxJb0z_@_@M;SaoLKv)t2o$qSQw-cI$MJSvR>0+u} z4KV6AKZdKoo~J9;&85FLbsDcO7~@sK`Rb=?;pq5*lQl4>+9al1a8q|V83$-+n65)&>+k*mHBjaijI)+gjEZ)4stPtem0jN}E;J z!^0Pzt-%Nj%Mw0mJqV;nE;w|e`D1TS9CA&Hj zfjrELVnj)E;oUAr$N%^R!e=taGm4a{>XrtdAu2&o#zOUgVfDDaoHDk<^qNBWt4Sh{gz!<3~nUuZxB=*91uOr!7vuU2y&PF zg$;pk}9iQj>YYoESjBCS+H`6c0spVX`7+j)8~Yo(dD?Yv@xXqneZD z3*|$|e8yyumh4Hwcy9cPqfy#r=Oe8Vcd!Ab#h9I0UR2yydyN}LfAZ`qI8le};q!5HT@d$C;2KAsr7v|Z;JMJGkK0K8xmk8nWy@zMwEvX>Ytey^L%ky+$M(J z{^MwT*;(^-_w^O;F1c}cm3H~`Hs{kK>GT~>W49XTbt56vDc}X#BADXSklW28Y5pP+i0(FNNvdA%XvutMVa0>!9dHyXop03+{orC)C7`+h#+h- zuN&W&frQyd%5dy_3rEFvK?A#!j0Mw&1Y|5ZSS)H<2fxoE=@d+P$ex%vE}n-D|Kb-A z5K@&fb$i*IsgQr3g>27?%hw*GAsn4;u%_8pZ>M*Je0TyW*%1aoQ$(8~xqGHRFe4IS2jVv!k|FGZ-+aq(QZWHs<_Jm*wxSH`MLonL?CaFzl8 z+i}+T7AC^7(7eO`v}~_LlSE@W(s|5AeKPL;IDuy~R_J0(V@MP(8$!^j8WNkcaQK?T zE%^7kdUjQR!^2poD>ny|H2;Xo+F6{^+vDCkfC6^PYldz*?>-p&VV_&PJ9^-)t$sfo zO`kMAb2C|7wO!Iy4doFQsU((4POOsu6PV3rE({3Xo`rM-@mgm#9%HN8Ijt70*4NhV zh0aV`CiRTpo4@_iU;a|Zx=uK5|GxAzDfd6E9_OYiXU9L+77h;dLzT!G9@F7O=>>{2 zd1rNk77fcrexcK~xUzyOJ=-r|UcGWy*{(8eJ$KyS>4*tDFld{$rN?DiI3yZlU#M@a zscVU2x(>;ucbk}g`F1rwQ0r{ZJ?wY3rL1h)?dty9NJZoa1L6b*R*vqt~Oz8HTIv|O*!Ml8NC@8m^!?)PWK(*hO(iE_<) z1KUPR)rRZZ7w_|=-{gzk=__jlfu=qaIwb$5+TaQj9Q=QOeS9czek28BhGWJk^WayJ z8)kJu;k0bIgk0nnIqw@O{@~I?^V+r0Z-C;>Ta^NsgK7Oiy;PK?Fc8(9CS-Y;nmB zoB^x=;BMAGt&xM5f5c_8WWz=3<*&X!3&%+FqvG=lhtRfzUMg#4{lXL{4M%W$Btn9b zsh@_lIaCA zPrslg@@+8TeFd%2m>{6*<9ZT9{P|ETGZwDb{XlC$vQ`x|NdgV+1gaKjSvkzc#0%mbc24+zB zgh(pRxrDrSE-!qgBSz+F`nO@7N>uIY-gkAWDBMe@%V%4;f zO@~r-h^VELVK_p7L?X5qh62v?+5VS^2?SsbN+zF^<|Yp8{eePlw_~ti%7qhVJ%Pqm zH@0}It1mWTOS~Wdz@nb`>J5&op^X$Sf=f1+1)Jup;b(B^`=U6JfhNWQ0|M}z-;g1w`jZq4)<~Fmu(Drb z?_v^_CA>5^Ao~}y^%%RgQ{&*W?hq||fs;iq?+uUSAlf?j13?GtGYaVsO>co7M?tlP zI0l$^3XU1W$2Tx`7CC3TIIFkWI}jG;;gP*v{jkO)=5oL{*0#jhrN`rD6ic@vHL0|tHbcX+)10#($_4}%juVs$JtDaM~&0^&35M88QM~z z1|)(m&i8xQY%vremDTGlOp+L*vuozWlI!WuKxzLflS$WkD^FWNkZy*AFg7+>>(~rY zFH%~K^Y5={S-~9a@=s!afi;uHx4nanqgg`@apmWDt*gwCXC1<1SRL1b4$9r6x$k0a z_M7o@vx1o;DuLFUK%?{TOwYAAB~h>0Tk#wNN6fMXMVrR+?mk!Ij}SksUxcHAIFe5h z0g!-|rls?5H1{!wJ{yInK97fwRi*paIAUj;ORiVj+As-iPTwC=XXv0OW%8sVn zR7n3Hw%+?2&c_Se9in|g7$QhWFhuXsi82{Ih%ovPy^}=mz4tOiPxLnW5IsbR-rH!2 z1VPln=-%gh);jC_aNd8wnzeYwv-iI5>(a3EyTi4g?zcHB6euwUu8+%}(b}z29`ST@ z6_Y%42(f^M;u{XocAPhL0YH4~nr!tmr6nmT+Xrv_wqy7G7CStNX+^~pDg1s_GBYW0 z4*6Jk*2`k9x^W#FPA=XGHN`eqAR8zS6ZhZjiM%}@2cYi&CdM(j2_FwF<8e)3mo+wE z7%Uh?Ri!H^?tq5Cec7o#{l0jyWpannt3jQphhQwb?yeZk<%;7V_(w}p^aoxzse~%N z&RaCU_m$^L;Pv03@E5d01y9u3_*-zRM$U##%}asTHu;}uMKWht*+lFG^w0P1j=Lwn zDk2Gjl{!!Vl*-;@w&e$6D@~6=Xjff#DFW_1DXt_wFr4`~R1Tcsb{Wrq<$L{!#!>{F zYNfhKcAy9H#IeQv0gnicc(Kiaw>2vPOH{;HiMK~x=RFyn$Km`kX$v%X#pT{xQfp0L z7p@itWOU~z+n9dbCu}kK`@HMYTh70Bo^p?(F^IYTJ_wFXGG3n5yZm<~0@bnOU z=6fC89I&;7I|IDCe-O$%y-t{QRDYPYuYQZCbT7 zbormHE4;nD#E%;ZfsrvRJj7?Z2Z@^ElJH*dZCmrd16X`>qo~|HR0r!QQj|FYaB7V~ z-?3(nvNHu!E6^N3S$e3+m0@LQ0B}dI#YQQT4VFGs*81HY#{ean$KexKXutsRN?|B& zOoEbz1SV$*hTBimWm7F#dlCdug6OjP1@OSEOg*9MYOi?2kb|nR0^lTQf);DNKneqR zFPUCk1@MCqf7a3-<5~X4tt=uZ${a!hkmOHzh$s9)AA6Grvv9gUC3BGTW-3-F3T_bI z-d#fO8cw@d)WwOaa-)P_4Ez{H%ovLm!|xS}*-A3};|n7(C~$TEE+(e1px$L!cpAgd zjtlZzd3?q|P?ILA_#A-N^wNRMS;*U}g`OA3iDnnCz==k* zlD@Giaw4R*b|m|iXR11;oPl}HXKNE{a6*X}H#ZU#=3VMgwYahvEm&fg&MMkphPG>7 zn!_B~1_Ca79>cti2dne;XyAT<4e<3W{RD8*o#OgMuZarpdGJ0CL2egy@B*&{n`T>bcTfMg>Elp(TFCY!@ zaU-g4o*bN!ScPugySed)3ah%3sATc+@L_uKzg;5TAAH*4g;niJhP|VzjL(cy%+Ah+ z!|{UZi130xukA|cwbfHm7E@D&w`#}*%T3=%=Z=OKFYT8YR4Yp`8f&>N?MV+SUKO_T zpxIK{$lhMPONBib6@aBXH&5?+1QmL^@8u*i1A-Tk?Fi44f3FT793_Gt#8$_vJH{w8 zF)6x(Uh=C zl@LVDz?b=eYX+oGGsdyB)A+#dsW<_j#QD!hW=~(ul+~v_A_A#u3k=!Ej9u7mS4s{_ z4J0t~d*U|R+WP5;qM1m7kS@)bcccAYY2B&wPVB6{Fp}{8eOig}+qBhcIo?vTnux%b@$z)Lc;Rc&w0@ zF2|GhN-=)KFN}p{_@}a7j@00gpBJtW;lReW)Q z0kNb?SZOeM;DHuJTfCX^gC;HLd=gI)F)$aFVnj@YF-_Pt$4`z)Wf!SB%sj!PvWV>H zcJ%b@lvPElIC2%0Gz?k-|1(!#w)i;KH7i3~n(EHl=#7YM#py;AElgWXWP*ZLFa9#C z`^;H#a|1bwU$>Snh9j_Dj+6~v1p++34g4qyWD z*tjp+qjk1<3ekg~=XaObmeghvPe3<>MIN~ySJa}-rAIX%xT_o_#;%NROMOD|<7 zhH4EfCCu>gk?YaL+f2&2Yqd-ns3uaRCs62lZ<@o|!hlcy_qU%+%~mlt7uf#6Wo2oC zXFBnKvt*r@Te9-r-X4+ZJTpeu#q5H^;6PZi1?s=(QjmDVyfTlLB1wbNkb%GlqXezXlggOUDY52=RHz2e4>slCJ+ zXBVfM{Pxqo2>uq=+U3qhvvX0ya*W_W5yw${KGcPLI-&rM9;%fQzqy6mcMuVx>f(Dd-^lLR@ zqsO+%|Lo(5^Vjx2;Nx(4%uc#Hs4yduFGoC}S6mg|if%9ot7vGt-_aiEh-#}(ag#!y zkJYB)S}6rxwn8-=c6ZPpB@db~sW&&ndet)!C6~?*7c+t#N&LCeqQ*u6*S}meaO_CZ z(Axqy5o8=UaO$T)7OTe1Etb=GGd6d7*>9PBENr(`c(ZbIv$EO)&1?Rc%4R9r+>AR@ zDz7tq@6z~!k6oTvG^cTzXS_dk@peu$!QW`)t&F()iLJu|`A^S&7SwBQwQ(6=4@vF@ zVMg@5^iIr(tzSrt@;;K-Iq&ue8%>MsK@aVROs*9XzZ^(7MrD+vb7E=F1&!WAGQsBa`&b z|MiNvckFoHi{PqHYFqrq zZ61^&`Cl*2m)1_luzK^1zL%MeE9HI&U>=@(R{QiUa>McMyh7l@@THTATi}Ek!FS!} z)l3(seQ5d{ZoSNw+5kJ@6@*m1kR#4hRP^4tu9%1&jsDJ?mVzvoJqp8>F{p2#&?#PU_0v5Dwna1|tecOccDKir_Jmc@S zfiQya#l<}8Qj#s(=PFw_FEnN0uLn5o=>_!4Vf7fk6Q82mgfA7O!tbyD)M?04e%lPA zzrMR~_!M9N|C`|d-(mjls*p&{6Li0USPncjbe{^BA}D+D**(`d7{)M_Rf1BmLC!LP znV`5)cgT<)D#u#<#3%yv86srJq8gWA5ygPk4f>|8O-2QJLF~Xw#jx-+$vlqPhq7rd zMwor|Me=h9-X@&_K1diLZ3VY?I&OSq5l592mUQ?zj3oO*Jq|74s>4jMIT2(w!b1ht z`ZloO_mKW1o)Ai+9{IB>M`?3&f>It2k2-i0fG^@xW?GkAEz2J}4HSWxTnnf1DXq^` zAG1yk39~e|RukWtM183kqBBTB&$%0jtm8p;+^$wH=yD+VKbfl1G=z-O72u}VGd4CR6xe_Rowg_P_d^gh_Wq| z=-&)wol@Kuc0i-l!Dc3}5pel9vXq4)yit|JD2Rf>e zBr18j3XhCe#D7wAMt`ZUq-%#jieE*My!#(anaAO61<#hMngLDBgl$`AojZW1!$b~A zpioUJaHRy9%k_8{uRdU=Jmxr#)|Bs&5{r`h}viS}k3U6~Y{5sH~5lf^s;>@f`av=&db^DjL9x zpr$lxOlJt?a*O*pHgec!8n&+i0NcNY@w^Aggp(~<&-Ft|NpGa~+ka1mlXjAO&sF3& z{CQkNEn1@l3j4(#cuj0_GbE*8$ar;bqmkd%+VN7C>v<|&Y8I)zV|<)afX*3C)G!5GE>+W{mv8pBz_*l)7xy498 z<9&BY5%9A_TkLu|@RHl~^7vH{8vzmJmc{6V>Z$MAMTCVzsPDe_EpPM6Z8E@so3vnW zz1iRFPxpL{DS)nhPT*mFZ=kV+`V*1r0Ep7LbFz8(DU4t84@2tQ+?+B65)70s9IfH~gW1?P1faPzwJ)!Tf#(cG+y!qKh3jO%_V?8h&TNHGb<4^B*C5 zm9u!1@=JiMeAhs|_5l+4K&S?_;G?D49U4}v81 zYv2vnDV}3=-x(UDho}6cGkclb5&4qt{{T#0X=LnRrO9d5-La`mZxy7nJ@@W!VgQpG z8O%iAm~v{oYj@wsx$|PXH1EIUM`f?=LJnWa9=@zpTH3pvH2B5nd#r*=y>K*XyKGu= zmiBPm8!XN9|C2mmo|dufJHK|F9e6Wa(|VAet@$Br+;2bDX55ro-a#A1!^E6Cw@FVC zh~825_d?&!8Q$P-SI1Xf$CLT}w(BbO zMBi)|aJ@Q&13T*|L2+5sZiq5Sj?VwRsz~@pJWA@vPF0W!#L72rWkA2d#o9L_s0g<8 z%CgP|P3YV}zpK_Ue9F|vm!k%wcsXYq|Mk&jK{g{es3_&nYcxn@C)6sonru}$X-EV~ zNFaTG<>U_Kh-W`*jgpshrdX%{&?;&i-^&5T%*UA zQdGf%oU+RTYa!;xysh)b0fMzI+$zqlHy>CXhX@*inwpzp3z&MPT}WLUb_^_9SDaU! z(XF{2rKxQH;YDDWsi;){(7j3lD6i)~ac4M{^6t+rXwFTAxDPIYH94bL;av|O9){;! zs1zPR#1a|YOQL`)sPx@0D>R6&YppdT@4MdLOPuJRjGgR zj6Y^|K{tw6!7ni)C#yX@&~z(7MZH;f1JQBvLigsi${|%s!FM1Pz;d6@-jH^{AHW?H}bJk~p$&lr=`aEU~i@VHPB+1PV#i75$egkRKzg=HNbG5VfO@ z7x6)9HA@Id7XAx+Cn~43Xl8s8y!%Y|!C&4!A@>->|Muf^c*RE=3-J%f=jGa^XP(VL zkH6M!0D(a}t2jJzh7iGMC?Qmx(=2Y8T2)9noz2B}$+P`19A{}zAv_ujiCAb4qtgka z%cN(BPx_duZ)Hv`H-v4U9$N9E@n>>KE<4kJIx<_c392kv=Nce1hAN`|g}K`U`;_-( z!zoEHGu9(2JVD_gQ_Ba&w1hAw*1~v|(RQG?{9;SRK8~i~=HsTwtPEIy*aofo22agE z5A&p0KxIn4?KeP9BQ?|3<&u+B>9*HWCVBEmfel7v878SZx7$QZ-l+q!TItBf{K*SYt!6;nXtlIq!;v=E>eYi z{y&Et8ihYVrte`|_1Var;aPHsfNP$m+D$j$M>&g~ul|>)q}5BD$P<>f)uQrm9Wyky z>TIB=xSQ4({W;SJdR0Np3RYP= zom^*}Mz*-rc6dzOb0#RGJHN|3PpW-2$yX0vi-z6=1SLs(;+($I^p7tUyZuXB65^XH zlQNvjRC~j%Rk5?bD@E11&M$~NV(rp1(Av?cN`Suh$1Vg?<8{h?;5WHqdAh%ufFC|$ zkW~wjpEc1xWS*%$u6}kF!Jf!?V2!F)Z{kP%uK%QIV^~S=+$!kM+~kRCuaO`ke?}rv zP+T;-(^!SteL`3-499#f_<L)k5Nju6Hs0x*+m@o`h>cwOGuns_ zh3L1m8*}~E=5hFr&4$tF>7$}*KSax~b*dL_l9wQrbhPA(a6`6{-p(5Za&M_&EYIAk zo(O&cB)W>akIq4lC0S6kF530i-@3w5joi4&MD|o~K?j<)i>jRQt&RXqP|Srf=o^QX zdiqALhRa);d5(wm&B^zxR z+v%wvF>aCV*iDd1d@7M%#7Vluy0WxXS@D*V%`VFwBiitL`|s2SHoC5P#XIt?kE`p7 ztuNNev;EITjkwSCpY~6h{VWi)kEOdfouiB6h)wE8nMdSQz-o#?0;EVT;_4tE9kAY; z+njIs_^c+c?fvGUO_hd4+TdJS209~yC}TXgL7w-FM#q{xwVVn)v8{`38F=sW`?zPQ zXEL?2)VbA6=e%@0&&*@I?KC~iuBmek>DK!4a`RQ9wEzBb%eD+R{2*RHM^Rqn89KA- z-PYfpBl?6b-2>ph-ub#!qA6vA#lg|~leVS3v&ft9qt!o?O3z+;ZbJs%j9V`m(Zdn!dv0dl zTGTY~=%NAa;v5q7eD>v(p`jB$S!>6yo!XbSo|pbk@x5N#>qz^3;Y?P|h+)zjXPb7} z)voqO9c~$V3m?3#mSFDx(tkIvx+?kBb~$f7pbvO&yiK9s8K%S=z3X&b9;p zFMB6lm+?vrz2>4d>@Pg(=ASiAvo;*&;X1BFTzu36t&XmXxmB{PRFPNHq?&o$!>uzy ziJc7-l;-mL=%qK2*e(8($d20{xq>u!IW=eZp4zUJ0eK={urAh4D;-&rtqIyeBR4ck zefO6a0e2#gdc^QBT&u=(iJ;q~xw0{9)MmqNtj8T;pu^2wNmAi~PNW2j*q1(uXkj*t6NaUYL4 zgl^+=FLC)VS8(>=GZ2$;vj;PkYvY`#`4{l_Q^8fdr|!A>&|mk;{w;A+5<97i z{e?vCqTPr{{?qx*j9nF}B^O0M4T(xCDW5ES|b3itLS)R$9 zdeD*E!5yRn*HbLSk`rbVhe&(`TTo^H!LS0*AuGY$IKq%QTa@~Ad&N#GpE9Mn_BA`G zikhmNNOk%?EGf<2%G)5Vdv?}OceJ#+T24RN+{}(>`N!A=9YZqPYbYzwl2l-U7PhDPZ|&qh;xu@fQe0atu;cEDy~k&~?) zLv*3)ZYh}=&@?sNQvVVE9nrZ{58 z;6p@FYE5s>=}OdSrz)fyhN<8wA8No}o3p&3o+}ER`qG_~r#Qar~wFy3kn6oF2mQgG| z8rm4v<42r#@-3QQ|ILVc41L2=Lupfp7RLLfWNO8 z5l{F!jvmz9UYMRQX})yd_g%XSp6|Ncn6Ea0QD*<`E%V3&CiP?4&YfADKL8ad+cmdp zxpI}oO^=+U%HCkJ3kP>Fn6*12S?nJc3LuSt`^zQ3!NxO-jaQ-7gPalxc`m)W^7W|y z_kiXzS`;I2q3*gy{?9#kd&+p(=^3~;Op!KS!CCeknbahxd}zY`6?>L_3%KiKyEb_F zeQ|C3f#Yp!K#o6fe%R#WJgS)?@SttAu623WV}u{T!140CTfEtK>P5l3U8F21Ay=Y!-I?2Oz zF6m=WBRfle5FE_wwhqVo>k(U4#I_L0)X(`|Np-$5y59o`+q$meU1TnLwe{}$YOW7T z$8!({2!w$N&*qD*Z=V>zD)MA}D(>9Vw0wxGjliR>r6L7G_p5tm0yMXnME`LI(^GRd z2zkJk=UtlHsy@B=J9vwR%W0+!|Ly9*-4|C!w}^M3-Zn$dkM4uaRFil%JOcS616OUT z+cEME?&G=5o!GY3GHTW*`~KZ(GDlnaB>3K|7oE5cF%d4J%emi)jIy0)W1ay6Pn*|n zyVveM&t}4(P#&99c6~kEsCjwYSL0{lDZR41y10zV8M6ti?LY@?3~d})mORWZ*|Dne zJE}DC_k4F<47l=c55EUqoN z{dYN@G0Wq3Be<@85l_FpFD}lGj={FY+SbKy<~yx}blX-A9?0DFb$!xMG{_nNSJrDh zY-^PM=Yc6A{4djjEXOiaBolx7JZ2LcjlR&lH_+c73$}^Q+63!Gd7s2V@%Y@Xhi6%L;R?yI1Y7w zfml&P?gvpaVVl{?ADO!G!L}eAk+v>Lm>h^TDnz+R|D8;}A~^$a!7XgIKhq;1RvZbf z{<+D64c*)b^*5bX$zio~9XbD*wK=dmj0=_%2EZgSZ?v?L9HJ^IJV%0Fj9K|QMIgcZ zq)=?40yqtdLf5gWq{bOQqnKf7B#;=nFA!9gj0lZ~dprrp>mUv$NLHhW`qC4QVqj1G zs6aG}gpd+$G2h$oi8<7R872dUlAW1I!zb0;qMhPSaf4H^hk$TB_;I#|irnEU(#qh< z5Jpfmne;{O=Y%5#$>8iG*O?)ZTvR8Inw|u;^4n}H&ZqC~sl&$lR)<$eGyVg+2p(@&ghiFQHeN&6~)Vc@mQ^X z^$AI6zrsk4LTB)sc#L@(KBfHh+J;F#-Cax9eXn(8zi0iu2~u^}qjdTk9LRv@HYw7h z8bu9l3~0=4f4n>h(aj>vp%|iba)fQ45WDY%klLm2J;*4THXy6BD`P8!x>>H?6G{fy^m8+p)X5{w!Oivr)1((EDmc*v(l08;+Et-%gaR4}B3k{OGL zb=!mFiQ<{6SYt&0V}@ccdziWhen6%GqWR7K<*Wm12pLK`a5B~exTkt}G)WNsDbspf z&lIDOHboXx^hB+e%5iIZ*yJpwc*CrDsq_8z)MmeEK?KRaLPB(XV-?Z^{Yt(sN?!P# zlzLPszTBq1x0y-`tB}%`c4}j)u;4}G*-CgYX@JRS8k`63k-fS*JY#jB{kg%DHz83a z1mW$m#upxG2^!qAy>veuqs;oDj(#Ua6Hm!}jGPc2ZxOTRn(@ zFoj1+N0-$nl6Bp_f_oRiuFCE(+N%e?7gmJK63$iMYM7KEo$rwx2O&8^F#`6K7CI@V z{|SXX!R%?g+dpmP9KN09{+T2AM8un%C*{A~f4ogjtrCm4Z!+Se(#rL$bz4f=FRD>< zD&}%;!fdLi=1yL70qFqdO6)JFulLdQl0CDwNWMQR9|v+h1)|Sw>5xe_zkY-^ zsz)`@4OHi46rbgc81p+2D_Cs^TU4j!4Pu4YJRh;x7xdjiYi28AdY*)aQ5GiR-HU8h z{BI1-L-M)W*~x#yfx@NwfXpWpRyw`i`-&imL#zGZ@1IWEwHNx^&!l|*3=ZV6PUThh zWHi)k7q=@|ww<98udjVGHthXAx7f_n4!BC7&1F2C^K9c75F~pZ zo=)4g!zJTwNBtGRLrVowJXs|j9@@e9Num%dyCq|aAz zV}!}ZkG8f#ARkI#j4-I11H8t$`J?ReUYoCB3!J5s&!A-|b2Oc1; zJKI;hhjJokcGy_apbh5M^En7oN!1V{4S{bQ3-985S0(Tn_{g@V%^h4FgtD0@F+-}Q zvuuUw=^61;d(wa${AqkY{gRZn>5}}xkLXnF%28^f%q-AQR_VO$ooBwxAMLeiF(m$%O#zPRmTMja)+ zhC$G-54Et4Mv|&gA7L)I={{K5E!s-)?wq1JkSt2LGtaHr-X}x#%X)pA{j(jX?qZp< zSRsMNwhsM%U#F4t13v@A(n6Zf zlJsM88uQ0zdv;3?O^Wu&K6p<6ngUY$&PvkgwYt9$uR z_g`*}prFS>V!1n2Z{JAwN1->tLmiJLBcf16ODb*j^G*E?+vVAsxsvYYH^<>ew`F3+ zbYvO2iFq@kjESW(Lv`AvG?JvJK6t6%5;(`MhnRt((Im>v)zikt!qwM8DS6M$*N$C9 zJJ-;4KNBmZrwB6;vQF#A^gBB=(D9;pc}|W8_mz_;hrkv3#0srTySZO~^BeQxJieBjd z<*PZ-omWk8HFa?C5N+z;-Q`93uH1SBUMtr^8D9_b~5y&lbQ zBv3vwtC`|RGN$_EGWXSg$Vpps#^ra!&!7TdD4lLRlrn z76lntcuipN=`l=M4!-ORYK~Zs!lEIJ${cI9px`*7w@fvB0lte@@9ZS5ZY?k}_LD@1;+c2xBQTe3_ zJx~Y-$kuIY`vg4ctyC62s{l{mh?8q9=nvoQAeFJ5Qb|b>f*YK_358j!PV=a1!^pb1 zi;+_ijjkq;8T7-1vDqlw25QRO8ql}08KC($Mc2Z!1rRIf33-&EMbwYCLgl1wPY6I! z^ZC*Ea-h!>3{3Vx-E9EA3fVi6=19rODrESO5^yDfzp*{uu3Fk{Yh{I)kxV`m$p{{O zAy22A$vO%yI~$Xzc|%=JG&Kdhuo25MGX4A-v?$X*Z<{q~1V7+_2cOe%&Z9ot>k zI{0A&L#6!N85`f5?jcMvf53L# zxXj`6!s#DB{pFz4?Hil)cbAC)cc|uN02X&Q(pUya`-E9x>m9Mi6toSd=NI|P4{~4n z?kCC|A2A)4h;;^7IP4l}<_Fy2IuE>?c{)#dUH+f`c2jfbX&CLNnZN%$qInHB zr5FB}N{#XS+Y-NNmfv}zY)OhSr}yB?=D?dT{J9y-piV^7-;GQnsWkSaY7&PB5_yZmzi_JneQi@M?FL-e}0s>fZ*bp6pSyX2*t9XCbn5 zT-x_GS?L*J_ecffWiamg8W>|AYD&8v^$>=)*Uwz}1|GPqytn67gy~p4Kk(Y}9nWhy ziPrR&9G#+f={&kQxcYW^x#?xx&k+>Gqq^I>@IQ6KhvPr$frs6R=OARI>Hk{r*xUo3 z&CF7l){9=uPKEg8`G71glV94>u_TC+L|$fZ!gWsrzqc!+)$2{MwL7K2<7k8J z&db?I-8qf>ONoK&scRRxF2ZxyTc&q=?D>+F%;^5PPM+O$tm*aCJyXBK>z3idqjMx6 z78rb}l=sqKQGBkNXA|33+{c5Kl9JjQ%U$}~+V|=O^BasRz2@}HE%p|E1qk07D`=bvymyRR`SpXA&_tX zUY!875+^j~`>&qxVcL6Xt6N9V1uhh&?8D= zrfF9-Ot;Si<%OyhRqd=25<2sw2u_wa#Em!2>Z(PQ;r7L8f{H&cH<(19N2uGd6=TET}ZSZ0y3usZRO6u|5~bU=Jw(0Julv1MiwCK6UryLX%iEch^Tk~p__ zT8|{&n|UAPR#vu(Mw@Md{SW1X2n#@pj}pzR4%w6%F>{pArm0y)3M;oebRSug2EKEqTXlO zVA$aB_<`U33x?DRhI+b<#IS`6lV4^ci5k zFjA@dkQ|LtzH{)a%31qnqiJ)|{BhvxX?-fi)!EmV-oQK#?aFt~s*;=pc1m$;&268} z8n@}s>NT_m!oOAqs$|h;Ob-5y*Gmri zjMSL!wXIAlsL^V#B?i4x1;IdCeLp}!3>0MFyn+@PqZZ_-1z0oku0cM=+a!%c*f~GL^l3XXdHU35BUR3= zdr69BhbHYVK%~1UQ$0*4O(QkB7cx`EdiiFQOD~P&b&Pa!lWtN-kjh)u4SX9^x_qW) zNv8VJo+zgRm5uLJxnQoY9?V`3;Bq|q);U^Pku_(98468QoE#m{?EH(w0uxj}l3bgP#bMzdZbaSOA1tYw>2 zrB;uj-{??tc6sRx?9&ENpD!z;aZlCRv43~yIO-=Qy-YKZaLKxo_m7n33RPEcT0LgUnqf+U4#npt3>b)ItJ~=DI||BeS7yE1d!=I!;59et zHCDXZbHLtt(U- zXfSvuTE0g?1Ddpb`7E)(6=rWI{<^BeV*^vgF{NuF?oy>?_`&i&EoKdN?4%_D6Prrh z+lIvvDZTV!3JrF}Ef49(^H_UtyHoG+K$(0064{X4Y`^!uiF_gY^1t)F8XjvAxSc}Y zZffX^m~>A=N{HL(SomJh>8XQWwTTG>->T2BllxQahL)z*>WZKDKn$|p$3PCuq1n*T zF1)e1St@tDzI~dJJo?vQjjUl@X{dAQ6ZI9hCd||72kE$KC&+&>y>{M~AG~Ypi{b_i z0h^^4c2N7OVK5BQxiC(AQ-!=5;yr8iZSzIf+&?PGtpd*Zi;WHq0hJvA7ls=ZE%~CS z6=9+;TKMfLWdeSy4E-I%j_0-cNw|2Xr_*?fHVqwxeF`N_4u$bE+cUF1)Jm<7`E4l; zz$=F?Txt7#Sy0neD=Ul3eElpZtH@#snR8Xn4X7N_ErQ#w(xEZpZ*=A>3A!eq6-)1l z$7HQV)LcTDf=^w~hPL-sPyyVu;Vl2@d3xYTGft(r2O=v{_a7adG}!Q)in~tpij{}I z=3qd)^e{hNSVg09IJQp9Gpg@E&lm&sFqt8H5Xt-u7=uH*X1@Ycv^FhfPr|^&xN3&wYWjb zrDLz;H+yA4*1qPW1=QY4WMyh|j^WFukKf}<-&%>ziAi?kX*93^Z5mk*KN|=32(Odg zx~9>lG1P#alfJtz>h@z-$IQ!y52ur*dBFQ`SMwVha^Zq>4KY1cC&Wt5sC_p2*sL1V zx&Zx*@)6pqpH``Q`+INF)~4%|-sA_w`CoJH16zwJ4N2U_CXf%2+-}O4Pp3(b%+-*2 zvUl-jD|*>uH@eu&1-pYhx?Q-Mcyf}!Alt14`gvYAYr>riP=rcTd-PBvn}#lciLtqJ z(fL$QbEPVdcbIb?{%L+4-)jup{?4W0k9YI({T={)N~g)5w=oi~R?2T`{d_<(_h$vB z#f#F9N&aAH(J!#J)yqjb@ZZQ{_xlfZYqIs?()I1F4V_&LZG}~25i1%sBK-Fcpf%Hb zn<(Ij1zJZ|>NV;bWU(2BV}NT%qP6yr`vxM<(mShnp#t3QF{Y}Tx<5NE^5PEP#>XiFlDApj4m!IFt zTX%fr60L5L;vt1aYAZW%E46l*q+7p@6jsw*_NqW`>E*q2-QS+B=FqmlOLh?bjJ5?S zH?%M9DZC2~Qek-J)b)$E#@Ns))jIk8jVt2+KH2js-IK8q0R?{x8BN=7{TWUFo#Yz% z-=b?5ggD%Pl;job$2gvk9goPV3v{`{N*a@ZlKOqhSKwl0@>^pTd;2sBxv(HI{0AS3 zsiR0pez{YT27#$TprpB&%xD3{2}5Qs3m(vXH4Nreow~W?ylMJC=-msZxY1H9Y?EI~ z{;Rj|+93}6g)fpz z>|?raYGGiI`Gm3|>r8bVL*v_3V$cM}*aj^BN5YY`ar9M?2fvtMER&M0y$`t~#}5Kf z840pURQ=f70HT)mE`^M+or!BgbT$os+J5E=SF*0|Xt47&GaDq9eR`07%4)%|Hwt8F z3D^Dh79*uc@!#&rg{nG5L^T+E`HvttEddg2@Fl92f=^MA72MM=1}VzS^Bjoh_uuXS zV!w44mSpHSvylBYX+v9mL_Y<2RIGo#@J3&yX27E7eZ^Wx~HS5#3 zn;Vs@uijK&9kk)j+5iapE=B(N(0o@!OnahSO3`^I&VLK#xqQfdw_}R-`;cq>^0+xB_`H5?^Q#CeK@?O*_2vgW&dQT;{F)7 zrF`J-XergwWo*|19QNR8LE0Iz>*Gsv}Ru*ao9CQC3+*dO_ zN@>{2Gc=USOjzc>rRX~OEqnXI$jH@68-y=vGlmL0xC*>pyTNq%FD95p&XeQ!n5#XL6BPT=eL&t{>#(s3oh~Y zmu$_jHG*9BvhcuErv8{BV4IPaF!ZnWizIzkLU>uDvjQ^U*p)(W`qXti=T=GoN&GDnGomAPFr2K*XuGnc&? z)U=zXtW!#O)^-OpW_GqqMXQ~iN6rEOwu1DyP@&Iff6EHB$s%T}to+v4pD%5- z?#mS`@QMyM=!)&S#aslGEf2_C{O=}lQgb&d+lloKWxVaCxE?UQdzo#NuuOkaP=gj! z6$Vk6Bj$PPTidgmQ+S$XbjDi7{Wkfbagc-`AfW~+Xvu0n~_$Y z6c;Lm#mwSS4C6Uy)P>1Htq@OF_+B%;Nd6hxU!!S1e*TgIl<=(4YP;%Z-6CcQl293OccHRXC@5Ee&_CMX?2B+e!>AI z>Tz0C;slAp6-j1BdRdkDx2R+`NE`#wb6oMVM8R9uyyY4G1#UQ&;IchT5P6w^YCRk7f6q#04LlcJcTves zy$@p?Y(VQFnxK!&^81Ng~S^ZQwoh5eM{SAVEtx-AZRf z#iEjRLUAMiwK74p>obC67ACn+yjjVCiDNJA=S47ToV1AOs>-e8vWA=AEpZ~@qEwEd zJydjLoDgtm2C(7<;9`bG3g}aTk<(T-mF;XpO6?i}+n?k{?1 zFhS!W%q~VEl3fsaG!tet>1#m6Ff{0Y$SZ-Ck;25aPci)b*N@Gm?eGHzBNM^vCkm|K z=bGQC6xp9(v#RK(=|<;s8I9l%Qo%JdM^8yKSpaZ5mQ1o`V=6Pd(R8kr6VvDVnwgDv zRV9vbM$?&iOB_!c8|(gBFlLOAYH%-Cd6Q@H{Ox9Cd`<75otbjd(V&3;dpzd#<%(HM zeuf2Mr1TqGTnK*=vE>`}9YCNQEZ3KizzB!3%7A9{qvh9wCLs!p$*Rjs;MemZ{7zv2 zWI064doSf>9a8dwhsuGE&z5Wx3}}{8q}*z}y`kFQU75b=1cwZF`f$?AiE7#~9@#=wO+)`+#vl3I1uVsdUePOyEypy1ICRAJSp{%vJlf^-^>> zzGN>%^Z-FhyYGs7SuQ9$0K0yA9WUsTMrT_jFJw zRav_)CvugnCd?{~My-4b)E}{idS}iX@f7^1dHW1g-oYZ@;CM<9ZmCDBX9eA;(ZK5+m4n=CsEl z(?Nn!T6Jg0alxl+s`T=Eh^I)IS!Vt?`&347VR}W+l3rU)`6%tlJ)PnZ>=Qp1ik%Tr5RJSV=*^&o8M=4vmIbAL9f zIe+ObIf)hrhDTL-hIoW6K%2|4PV{!Qp#cNeQm}DJMP=^nv?V|4<@JC6nOi3ZG_|B3 zpyP`XqaDBBV;7VT)+p(NQW_Tezli1}3JneY=_v}E|HPjo*8QvY7X$+A0^L!IIZjC| z!{Z{eO8N@0+2YCFhI0pZqg9s;Rg_12OH)g0{YTiemotQ7D4?dnQvyrzbok~QwL@C? z{rX;!YkG$4J5K}`fMvDzkkqCz^qBbMzS+OCaM4;Nqg;?;C8dzAb|%WIrYwldVO~69 z@9<5*5a~5vi^Vfx^n|Sb zROkn`Z7YgM)l32oZPpRrsQODY3A*@8>&OvW9RuC!r?7Cg+@acMPR40GGa>8cBNH8; zCM(%EgmW@9!hF<}N5$JwT@T#CcXNXSmZ*RKF*eNBj+|=E$@%sc7EQ6@~2Ti$U|2++{B} z6i!pyS@gCVUWatkhiHcM$(4nP1v+8sFrZ<2p6uf5+St$lW|h#1oC(jbXl(S9nVVmV zvYMAp_PFJkOwRwRNa3|OfbkSHoivxGbNzuC%t+w6|vzqMQN;=9YB6AnA+jfbNnq(&Z%W zx^*tkD1?te(w&Qrhz^&>8tuQKlIMA{^V^j&;QZKm)LOf_+2zzlpq$fL@OW#qVfW#1 z-c|G4;7q{gwu>2h;zrA+N5kWKqNs4OG3V}TB9>sEP(5#V6E!NMvj5Y^(u_YVmbI?G zhH8Wt@Gl!_PpC)q!Jg};IU)DcP<3MmM)OO{Rz;O;w?El__3S@eX}i>+&slJ8+r z`A0lz@&&N86~Dx(nBbR&~wS- z_OscS`nnQB5UAj2Z`xr$z53U#VSi(~OOc?@I0m1TDJ;`1?R5)mmPlWPw;6ri7ED3F zbX81p_t;m`@_$$C|J(_aEDu*@j>|BAw`a9KO2+PI1_AI!0${3*djx z!`rdcQ)k9S;u7H?Mt&@*m>6525HAJQ=Y*U*bYPvKe(Dy)kjnp(aJjt*1$GD4U%q-3faOLHDwaS z)nk=Fir9ibr0DXSX2N%XDtU<3O|{`Eu2{(a-|2HS?cFl0!eF)tu7Ja3OpWvWHRuIG zj-|U4zd?(r!^(C|08)?|H_pTcozV9Nn&HY0ae(dt|S%@~Py=Uu0<7;r!5iV`?EoiVIm@GKlSq7SYe54w;<) zh{1u#QYx%4I+dbvWG2jqU_Sll|C4}I2CPw-Y9DITMG_1SPRz~fUUT>dQxl{P{?FT(@}<<9vnWub4K14Xj!kvqf4@G=FFu1qdzTnHDrm=!1K(T;*fN*^4mdydNI} z{Dhh`*&$sdAr*9>??SzE#fY+Cass|?wk`-MGiMUZfS(R-H%b1?NaB3GnS2U&Yk{9!YIC3B1|?0d(+l2)bAYQu3*?^h%yTqkXBw z@8D?pJd#lns?QG9*Vm_xR{&s7&@BMo*Gq-{rwj5|ZF14Mg?VU!*zbXJa@UXb)YsVS zvf-R_wkq4e*qA!j!>H|5mm*#@DPOoX>4)iL<_gZ$M}KEY7fTdn;4y=hp69Q>K0xO4 zXp=Yax+(Bf*hr`8Bo|t`C5P(cIuE=VS-rW+3*-+?)3VFW^fhtoTU>qUWgc2?=7~jd zb5-7*RNrMWS11Io-L_v^@&4YdT6DS{dEAIkt~Ag-Yzo*HR+LWLCiy2EutA(rFh1~` zaB;gj#&H1`=#tQS^JlPOYg_@4Kj46d^yJTT0CItp@A?7^9y>0Pp58_03;`PeZvQy` zevSA+qawBK%Bs5k+WYbWg}he*9Pepr$jknXc$m)p{^PFXiratadV|P{KMUg)V!rFh zyA_7F>gtlN>nHQ8DQmzS8hK16SyyL(omQl_?~evpfIf?yO0!B&^vj~_{K4}yv6SIM zfFN7JW4vW2xnt2_qt>$MglhSfOx@F^PfEgIr+$RTKBk#m?hl--p835Q@hMHnM zywHv(hT)+=(!HHu{yyUINDN@=1>XIUJo%I3^my*v{0KD8d=HLoBBD{dZV%zY?dz%4 z-aXTtr}?2K51WBmHr&!UQg$Lo88;oOa zl+N3J8KxKhG~~oW^1>qT;VN(0dpk#y(d(*h^>)trp%<^@)ZDrC6#eiA`LNF5o!5Qo zf8FVP7t8R-FsT-3W##opRruY}JYMAhfj0hnQ{Xmn9W>-y$M=sH9+wYm#DON9A7&fI z=Zi)(Tbs8nerC4&XS5&p(g+IybBeVPz)I-(k6T5Q)$VzlYkTYUO!8&>zeY0TF&cU4 z8>kG@2m*hyf4I%NHPGd8zUy^<4A8JMa%mB~3qzhxejnEf_%he_i*E=oq;PqJOvLqJ zZ}qz6@t;51*V*(b$wH2r-soWM>xGZWWC^Z4HJhC$GAb_;c5+;m=MPPH&+4|3Cu_4f z0!h>O&`8%X$b_i$RDWj#00DF}cgJDseZgGwwVPEL2l00L6I`XCnG&z98S~4_15mRM_eDdLU~NEHzXd4M7N#}rEZ!&W^fJ7lamm+PV#b2o zTH$x#&3=DI8=@G(knA-4feQktR{2~?%l})Pg>Q4EDVJGu7g*DfZJMeuk8~;EKlxe4 zSQtK{rHm0oIX0}!Ojx(QO;ijo?eB2^7==-NQs1;D#_&Jt zeiQ|SubFWc4%`ZG)mH*<3`>e1I4O1l>0~C99S{~VIyy||Aw2h~lH*5OBS8E}s`U3q zxlH)8pa92IB{$26ep;M-84HA6_}>*guv4QAA1*^Hta(0BkQNsNC+YiZ7_s#}Bs`u8 zGtTdC;wzc*GCe;hBj?7rZ-sV8Ox=GqoDvHZWs}K3DOU4Ky865Q0QS!YAxJP5ZO@+p z3bOB@Ltu31FAkp8mgk(h8wpd-a*fq;@eTqXBiB$Zm-=MAH=ITiRsl#42YpRu8!n9< za*FNDD_wc;6-=LN&O9;OT;95vS=kZ-xwR~NvEK z$A;zj)F-F(9b)V@5yxJwO)cBmLv@CB?mtg2F-T&Cay;+|^4fg3yGYsE9b7>cBQ^>@T0!G3>F_k_5&0zhk3i52+d&<=9Vow+8 zBaxT)E^uDqle<`Zxy4zo962UG7RFDooZnHlW48N*06G1f9|7o7=2fZ46d%6}v=}!z zYK569nKe?ic1ewuwjxS|O?!kLKZvURKBF^_5X#a&VGc9nsZ8NiDI~aCRN_VKOdyVe zh7o;Q<}G%{7QJ;2UibN$#)79;-;Ll={8E&D)Us_2lS6KNuiegeWxVI(>JD*_wiZK;3-aN5T7l(~XEeZ(qTJQ4y0-^uL_%#8J$--zogNrR9 zlO3;s;&N`#kNFp-lWP#VW^uNnkT=hw>Cq^8Atwhd)N$p&Z^q|h#Xh3%5x88Sth(c{`7x}{|94&m@IiwA>K1ufk~a`lr1a1L|j$QXTv^EfmP3Pw-e{;p;Z zKas}gt0{zk^EMogEVB3@L&Vrpw@XGjMlW^`4RpNj-`o4GY1F*sN0;}C^+uz`{>S3v zj8nXaT)tLgIS0uJ_=AOkw+&4Dy>val@&~xXeON+$ZDGS38ua_iTf#qW*D3FsPM%ZO zmr5}OLn%Y&^$Ce|&eZN?Do}#3@mKCSEP4g3W*~JECVQ4~sPZPl@A;sz%)2}@k^-Hy z;@pkVPh6Rd^32#EWlj9Vj1b}{ZbMsP(Xi z*F&_h;Zm7DpVfRDjb-IdOA&v^}an6Vf300_!JXI}fL2A{9V5ZEpCD6;;ck*M=G$ zxAYaK@1YVy8E4k#5dQE`QBffYaUE3{*LQZRQZM;)5a`)qN815Z6yd=6%^_#0ccXWF2# zLOKHj2F~q2{p~!Pd1ZvuQ?<_h^xt2|XVHv@4YNj$Xys5BG1basP+HW&2pW@HSLqTO zHO)#S=jK1=jS=b&vul@9k(-EkqVB?;LXZnXadf*jzx7sWHjP~Gy2lTCligA7fon+M zmFYHJ*lf(W_`-e}76CfMFLq_}=OqmH@6*d~(SbN_2XFRE@?MyDcN&cWi)s?tUuTGt zJ3sxn3zu;{b_F#aCawv6ZC))2qtt9f^UMl6&5@H1 zb>$wOO$r4A6aNkVSJSh+e9xj(UjrCH4Pyr9S2o|s@p0>WS7eiKK2$=gnN$}38GRn* z1X6|PQ4__hgCEP1WTWW0d)8v}6~8s{=h!kX(WpKTfAxOi1q$_Re)y|Z+M9x$iLu~+ z;U7w<&aMg5=OTL6^?A`S>Bi!Ml>E^YCEt61;j&;ava-0)0<(`Nmkr*?dG{ACjY6wW zgdGkJ?tONDk&+DnQv{v8?rk0pCM6PP22i{K55{^25ZtuZ$tu4)pwGx&9B{eA?YVr> zth+>mNuPoGjrHf48!V-1Kg$ zu6E`?)N$3#)Smzm{FcRy`O3FG|7>-148#`ytp9v=4rm1?ySa!X^l~FjML1uSE${Pp zKbQuUilWqvW_?>){`B;CG#SjCKRnRO0Z0l(USI2@UYu$2k5v_ZYWTD{B@n(xyid53LZ3>0YPf<@e}Ojja=Hkgdg8foj3FRXX@e|BwB+djYwv(vvZXD z7>XfMiwCygQixL>=sREOwH_wG!~}z%Wd>Hovs4T3lyN!skie;=_6C`lNChrGr)@51 zY&1-S1KIirMf|}XE|oV7*)z~mi?b0gB2esjFBJo(B0yh)UxOO!X4s1SKFev^s=~25 zAW1ADLHHy<5F3omBp;_J5B5ff7AQ)6CHb$Dq-ocIg>-!lD~L^%X$nudWG69!9Kybx z$H_Diid_l`8E^b8n*x!K*;P)6ke) z#h$gHa%*dnsfA*_xS+20g*dO30H1+5IqoMb?zqI4Ge0J%C%F(tyM`DbX#W8iBXzXa zxMi|ppI<(&xR;f6>fB9KWJflJBp>Sx4_G7)clPNsl0G36SdIftpe|DQb&PuYL!V%0 zD6!i&y(#*8yFi7-sGPCh_2kF16|x_2ZTIE(wZR%Mo`%xq5DTh&GIWC{eI&%Y`Ys>< z`XBtCPDOjr(mS2mR~Nsxb-IT26@OGpgXk4LNZ$bbd31zzqm~0v%hX>+qjq?JnsO(2 zl1LicT)q0H8j2ZDEmQgF?0v8)W)3({kiwSt^=0hj zm|yt?T!(-_&g8Ziz;5&93)KlNke;XtSFZS9(uH*H&C>haIS{|2*0Zw$_mBK3QlUW| zYG`2DI&%A>m);kOe(~ExIS1|wGX#9hTzRhy%DhkygI8VXWf~-VnRui3nn@!|K^ih= zE3~ebN5B z*=mE6HdXe6t(Sy<4gif^PQ3V?4tza4xg-VFwB#~r$uAc8Z~)}uePPch%R5#dkNQ6D z0!ef^Z>L6~CV>|+`$m?gR-cmGPGOQYsQFL59Z$(gEj09(eTK>m0FrD=-L(Cs9+6pd zbM3`o`s(ujcD$tfZYS?MxBvRbEffF&K~A=W@3m*Zt*6O#c{=h?wVHOUSGnhZGm!Pj zf@r(U1vfKiYRQKT-hh7vdHtuba=}Q-3m#=X@9)@=ieY*8^N)u+QFbqtgKs70Z>w!p zCidIOmV5(QmyTz*RCV=)hJHNB{jBpD8(%#LBpv+SCi(kRK3mdqK2%jDMV{NvS|Djo zzd#W2Tp_=omHjJ7nk4Nti?{|G+URCD%Ntc=CQ)}O-aUd@DCl5Z6tT45Zdv8KkxjPU z9Z6RcxQbq#dO+Xh1o~YZtmpzueBJhkWpQqaqu|R}7;aV;Wq$g?^>r(2L4)A-sL98a%g9%cwH-G<*D`rbvGJPh{! zC;*s_OCiJ({Q44S5rKD+fsZYLZxPu*f%Iga_hBTj!HD58iUNo1+Y-%IX=2uH;mwrIL%By~DtI0Lp(OA`7VWjDA}s7l?{{Tp zm3n$!eZRMQa86;DdI@{{FWQ8?c_>N?-R3!RUAHZHy35P8$0(ynWqxqs17+pK<-_Ed z-ruag57vEmIyFD`&@-Dr3R-Bc_4Ib2ou|%%$Yjo!=T=oejiYLsshZ%p>h+C) z1KxI?ArWw*7Cv?%xc?UPKR@Zf30DQ@w&5f$hK-$dJpmJl4Tx>o6)AhCh4tfwKL3u- zCZ{XL8ADrMPSlC@y0xR3jJ+sUXjHJOj6~Y*PmQC|oCXa&oeBI#PD`K0j74jPb@aNp zOb%*?X(}Q0OEIxlNHqzH-2h|qvDPfKh#3{;6;N{Ahd@H1QE;|y57QVSJ}5ROpi=2_ z1o4-J6z+zMzUs!G=(^`BIFnh}!Ho=&X>ODHJ^k_( z0yPp)Fk?}Dqf+J~OGTEv236txFs;BJMmVao% zZ)dxyUTqwkOKkVI88`KxjHsk%HXpkCMtv5|{ne{yaRNbPWr`F>qRxG}w8-he>_dZ8 zWFoNB2|*s(a$Pi1mLo= zs(2@cjQ>1d;(^S434--sDRHbMOVPY6jrr2K-8MR~2y}A~Y>zat%`MR(TD?>bWcz*} zrU@ZWR+yw>z}P8T+z|v`pQrx>1Als?OFM=Q8WbwU!X}l8FRj=Vd8qsmq{lwJby`zj z%sZZWBJRM@B?gd3aPWxaLu8n-6Aj`kA><(SwQthw6XhI3#g%Qu`W0$Tl>Yd2-n=Se z-qe2YlM5@KW3;kr)(pH2t>qx`E#xZe6~<)JB^koO;AyR(2!cgw!R##KdEJ^ps&F;7 z7eq3-BC$HQ;$1h#WKAny`Yid4hLtVT`uk-VaTPJBEx6cCFRG*=ubT;Kz(FjIg|S~t zijP?=Qxj{;E{lIu)(dhGVZ+#G1kcvc^1v1Ap(F|jet6Zn4wtk|){QAYP`mI*Z*zV%A^ zR=}F*H${OX?yRNByg06m`sLD;D>h5+{Ui2VqFBj1mSFtV*NPml=og*j3<24vn4Np_ zoqp|~J2|bIbDR>lbSB@%fWL`w0CtSZK~d4P@8+*TB%QW|paxGXR07ahvCGB!?wXrG z&LK5;0#T{;8UNX_u<+x5{5{k&4~T11%Lm;t@xYs@H)AD(mO@GmOmeC^HN?t6SslT6 zoI{$Q`Hj!S?t3gVi^`PxS*`v3@B8;|Jlk*1@sQrD-zU+9c4kS(4-cOthLQ!|u)dMU zmfavrCfDm@x$eT-BRBtRoq=z-vMl1ieo)C(04L`0q0C{%jr-a=C*b(@{dV0>2vaJX z4$t$+0eY3;iIfCLNQ3t)bn2wt*$VXsVb$p=Ayv$yR>S^a#t_O=<)j)_EtKXkhEmTEmx%gCmmsU;- z@l{2(w6y%VfGwH@{;I2MX{k$Roj)9{f+AaMElEXPmJ>INit23CEP^zC-{-W6bCNo4 zB_G?`dEG910?_v{!O1U}*8cTA2k>!LnA6Ms?gbIJnsiO$(!2Urw}aOhJfojD7}(V> z23O`6^1@n2a`PX===OZ+U0h$d?Ux+0@K2CyA?& zS)-d@Y2lsdqxZ$a7JaepE4X}J?_#$xo zgGrv#A#p^TfzxkkmDcOt{bxBJmsb}(vdD1Lm#5H`6#O)jzN;b8gtyxae)N=vqstdw zN#t#@77>~(hbdzcC;!|$hhCp9y;9a~7ibd@6M(3mwtXqRQx>HnzegNXr5e#7M*H4W zd~&MYH2-G0w{QF2I!bMU;fuMw^|7fGH-aZNj;^_t${A)c%%5DWm#JqpD&g+q>1tEo zYMbVi8)jzH@XFF0}h$?49q;e`QL7u(I}twEcJ^ z&%43jr`v~tYlC%TXtm4gmfc?2zUmJPtV%9>1Cz<88=DU?1dv6$}3;Jv}`4 z`LD=j()bCeA0hxFcU|=nx%GOb8A(qDVuv< zn;$-Xg&34h3{KkeSZaZ~$>V=1{5RAtOt(_=eu(`J6#y`+sw~BGh2Hu#p z6@sjxws~onTqy|$EiB9%-{kQ@W299)@X#-RDw4Ucl25Ua6bn}HeTs>%xpF8x>%rwq z-?H$s*X??KiK1K)J{U?8^rOubgmG1!zV$FG>|H(G&JPca7R@ApC2AQilQFQ zd1E>k*clszkE=z)@d-4UNnPLevolR7+ga4lKy*WN6EKSClGdkx3f!%PAK`>Y{&rW{ zK{si&y^e5rWOq3#Ag7Djmb#Lf!a>!dDv<1$QrL`M=a4%_nHv8mC=dN!LQs`*N$Jaa zP!PGj+h6f*dr(iB#0M^;8KhRjd| zlew=th#+oS9X0CMM7&?sgk z3C6rWFuLdAe>KBV)aHcLkEE{e$|4ynWAk?5?X_DzO3zp=_T^(%b_iZg!n>P zzA9^qwQ4Ijjk79~fqSW>LSOb$rN}@iEQpvOYn=`XT7@J!_|l0p%5Ne7G^?3J9vLYn z|3+{D1d1yy1;*|c@~RnmDI;#WWgdev*lGiMP9P2JNr4)>XPWu(fI+IU*WU5l3o49m zoN9!<|JE=ccHdIwn7%q(Mr(N`LAJ6YV?rx6^>n3A5vt6I_9q&r3W>syqJm-*Af}<* zL$==vhy@i0jP)-+W(niv!|PuIa}?Y1a%(f})Xf~@rdN>3c@}JEL@Xa9Un{iyB`pP9 zk%$(H(AE)N`VwUhcXbGL$ICRAu#G;M5VxVB{ z#V2Ka_qbFx??(N$SgDF_*R5qVmCpxwq@ZBYcK|cVvua6rVT{8TSp;W#N#Kg0+noQ} zBu_5HOx*Sh;@^>rJejl<-%uP5mGV2{mX?~@_te!*dzeH&(3hR{N#6Z1cH(t3zM1Qj zM7?Y7O^w#eG)-Ga21gM`jHZ@^?WJ$=Ubb16XW!I`z^tAi**Kfn58Obc*;9X0f&6DSZ5mXJDy*u8& zKMvb$+#40Brg;`8&$|gRL&7X8Db`tPmYuds0{31a1_C$G4_k+a;_|F%+qserNXhkn z=zkUz7ElTREw@9A+@_nfyFdD)p07OF-M**8dz*OKzCXHnDDHRljnFJmd~qRTQ}6Oa z-pv{CFkOv2OzX?@I*c~CE(XzxwB96|-2Fxkr8n}LI8js1{YYZdlrqQ?(WOBQxrF1} zWm@HQh3(z!$3KiAZ&ZN&Hrm8s`Rb;r{hbN+)~|Na((l8W3KK_De3)o2>8=da1tn2&+|QzmyUJw{{~*= zYAF9EnPkDjzzs-wMWuOc{|>~Vv-C)6L#)bIOmR}%|!oCEG1(0-RKX}am=L92HofgbC3jkWB3LYq$r zFz~6-{`i<|M372Bza3e$q|YZ5K#E*HO0+O}IGK&7f9HYTH}PC_Yp6Q3vyhr`{Znja@3oFm%`wq`T z$`r045CvA!gv8q|sjet;QY1QJ^#b5CqJe=J3=ReZCbXKKZy2T$S+!UF4?t$+@`vp1 zK$i3Mp6-La_tgFD<4vC9C!%aZ$%{^6^q6=C7dC5mc~#XXBcJWXL)7#6yuh0eh1xM* zkN3pwcUHW6PerAp)E}-X6<@M3);wEbVl1%6l$Oqa`0lyy=-Ix>jXuH{&23329H0Zz zWSb{Ns}H)5#rAJ&M80dWjyIBMl%AXZZ7O3Q8c6&@gFGT+@Lmg!keP%FfbYg0h$U|u zn~?XDc@OV%ivrQ;2gK#W5pm%0&?;t!$<1$Kb*)r@}PoX2zM)K@V^(->)% zxC6tdAcWN`7u#hy)ch-D78YxdQKr|4u!ScDml)UxJ}A{z2RyHWJW6Kow3ex`0Nik8Cdf=USXKZ_SK8iyNJQo+wt^r`+aZ&s2p=TJ=mG*G5Dgg( z88Fdaw$IZmT(;iQtG`t)nbb2j#wE%6Xm-3JhOP%n{U8v8jRjnzlvHd-RO4h{ z;5NSd+BI!kzpS=g|BM@V3?ig7$z`zkHpP0^oc|@rLKS~pP%Y7A<<03$?+>+-xy8lB z`IVZPEpHykeSjqINppFQ=e;ztyaIvZ29GP3DCMV=4^D{8whOM@QvK$sSZh-y&0oy7hfXTFDDm-uhqqp~ zB5hxNN`m3a1{oF>I;?|O8!J6bT!i)!ZH`Tx6he*)^o*x`AvaGE!wee(`|HIV2?lxS z+Bn>w)5kLM`hjL>sS5*q~GN`FKXow-i5!`lv)2uj9ci`QL-&yZS$W zz7NAFisYmHM9=aTPBh%hBG*KgiEH?wo>kl$%}g>k%#tapd|OVQwls%5-I^^X13lXm zuWRflWYWQarsXOTA}BuFW|PWvR@jg%{`4w>2|v4~Dlg6$9h$Enb`)A!tls0VX^dTc z`4_Hiuwj%yrBzVpw2rB}!k3{){vxryrnrqUmPaUB|4s5wwjTV6!2kkoz$er7M2TG| zqL)mlkUFi_4pJu+8p;9u8{iSF<&@<}bEKv9>V$=&URE>;jYN^iwtf5Z8K!xJ@i9Z- z99mZ%-o4~@Qf%FBlKy5L&LzLkHAKCxXUpndB%pkzsx$V=HI7KRMv;b*#y_ZkzfCjd zOH(GdOzJ$#)=v_GjeaTrvNV+`8JfWA zH7h`?=ckyesmKJi(9UG(r3%y5;ko)*TTk8Q*=`2frn7sePc7K~MQ6D@i$sx=!XX|$ zXbUCc`PEw@L=jiPS;6${{=TiaYVaBp1k=@RJ3a0BN{*SNm6;Kp|ItM9pW&N4Uf}nq z;-@R=R;r=X`EDyT78e&6l?`o9o(`Ti4i5W+sUyp6Z4C{Al=oW~9>6(CH@&Z}4El57 zi4t8_X2u8Cmt4hBG%8JiF*Z_GVGr@{1#ij*i%NtFGx2*x77a(VXYtBN1b(X0dXVcPg zY+*uHMg_fL6lxgFNc3%EG&%niI)^1A(p5?&5CNi&F} zHBoCe6kOcq;coPdorn!LuJ&}X(usJ>&dGQ4_q@;P_d|1BdfS^tVfyCvi!5h`XAxar z9Dmif)txVw(CaV0`~Cv-tKd6>kS{cnyNx5)(PoN7#O!77VjrRj&)SsKgUi+ z(x2UC)+-Iy=VCuiHOFgh516wTTUn4vR1#DuNFzoZs+UZ+?iF7Dq$079vC};J=)gzC z2Rr|Yjr*tb-|4kjZj>pnTnzJtyNZ4h_u_>D^)+bc@X@$dWPI0ACk zY3bpq6}4QuTRHvwxoO3UXs;ee*QQ^!$Yghyr)R^m@$W~Cza647q=o4&^7~H~7CwnD zi+ldCXlYYh#ZlL<7_Oq#A4?i7%zkyBj}+3^H{nz2>affF)x3Kl`n}9eHK{N|DRN^a zb$Pxp6Q!Ox|4p`t!fIJ9u>Kzw8m&f=AsaEHH@D@TXf=t*Y0eh@@l3T2*=7KnOf7I& zmZps4x3Dp25le5fNzH=IE}t#9X3-a8u>jOm>a)rE6Nv! z5H9-aD%$<+{pbBZU4$~Zkg)o17v;nkrof3inYaCP$NkmJGlm5^w0k<9Zm(FK^$NpT z1OMvHg6Eby*Nm>b!mPDw!$W!tb2Q(V`l^_YZw|* zu}d1ZP9Cr%4MDpDbM9vmAp$icU8(Lx^|;@=cOYXaLcm;OW8l3(G&FHOf%^O=QmEaj zyu519B~WyH0nqSN8X4%bf@Zx;TIx#1rghxiP)Ftx4C<^E4ix~ofAZRoKdX^+-da-& zu9PY8WA{9I(Zp@T(bFXFoLu%(QM;})C{WVS{b|Sl>m2TIzUo}IGNH=-FO&t}i-ZW5 z_x&>b2=p|P7UOptQmv4H0@T|NLB$}7qSvHe;NUU8gW3+TK>UN=ff>hxT?vgzK48>0 z7NMgP9Gt%fn#h>kHU+UI7T{ySrD*oBQKgmlJwnoWV2qDa3w`zxe|5JbvDxsjlR)@o zGbcEX5^AP#5MaH3z~uE4EM?~jhf#x=>tG8X_x(3QF00I*!EN8mSQ^hoFwR*|8jd77 z2#*hvw%a^nVv}f6BlwtV@$1RNz)q>!5K~9$f=da;#v?t;I4Cw-6h4N#F`C4F&h%IRWfySH z9_I^(EfvMUqEh&|5Yu1lCtO~?eqJO9is~l8N_2|MXBn6jzzc3Jm%$GrXQ~bITxsd` z#lyF=50gD|R3>8Q2O;=n*&$|9!9C^+0%U9OLJXn>ff2Dz-F7>C_e|@=<>`;=?*T9h zs+q(O4l4=bp2xLI;w%d8v{x;~`N`(<^`FtpufwGpbyCPxoVDd;ZfhX~Jppn3=P1P= zG86bxY>@nv239jEDa*7q<{!19+)=qgqM`C&`)U0hw;0X0&^RbAHaQzG$KrX54URj= zi4RKg6dR;MW3o^0$K)qKP*^l_D>|pwJY`smc+qTfeDZPMQ?28GLTK4I4BF~Y4|}5c z;sMx}?)o13_xy>MaNC`bvq)0&OtF-+l+q?5RiX+`dBT({;eNC9d#Fy7XYgc`w?%O1 zK;iM<7_fGddGgA6*{e^?B<}BACwH%o);kSWPHrS`LL`B% zdhB;{Ql{xDNLP886LRC9$?Y-m=<`X}?J)=)(bD2r9UovW=zoib`t3WI*+srjpz_Dp zguwsF6{oQ8FNmQtZw_|f+}>I+7@G3Qzv@lXAz;%>6Vc6U-Ao&zY?8Ph7=y*43%!s2 zE4Q!tw(PMOi}tz9%JaTBF6RP=@E-#y^ZV$rK&2n&aTse6D>oOzmcC*eo!^m2lZQX6 zH`|XFfsg7yZvN`i)~Ly^vjKJgJwlT!7nGD;i@V+FAIXac;&!y7^RLTI?>usAjIUe5M8@GlxYoga^ns1#{{d#a^7z1mH><5^a8BF<0Cc}pm-Nmo7_58|7w-PX zf4k-Iel5Pu)4}&PvLvrYDAJH#OyVY3x9#5pTH>Syd5h<{;+;Nmqf_lY-MfB%Y$=`* zH*|e4ygLa16V={`t*nX$EUyQ6dRH+Mg zUkh=(ruLUy$2bq$E)Uggj;55*f)#A;V9Vp~e@&>>~0bNmv zotXCfbF>Qyld%!Q-CCAOUAx3Duj4!SzIdW=x$yzgitRd)L~j77wem3Io0cyBxXs`X z;a?bbGXC{>_aH;K?U-JAZef0+7aG?)w?hZT#TX0lp1KWum<&vyxdE5}a~QH%UqgrS zZ0K>HTW;^i2i{2rUdb}F?)EY}2i|6_o^8!8f4(;ZjYB2+b&yYq|In2=+t#)yt zMk|?O`St~xw&n2X>FnxRY_&vCOts&&N}k_I86JHAi&wzI{2Q@b_rNlP<{sqz<)fKs zMv-WaT5)=lN61lrCgJySJ(21lD4AgF*hJSHi)u1Sn`;ByO|+-RqK||kC^DE?%yHpP z0+Djje!SB3>E`oW+Su^qfvJe^DY#nt4h7usx2yPy4W*gItPsc7@~=ojLlnv52H8N* z_+I0I!0U5gDO^C}HQiMHLp&yqst}01DxUt!M5+RO&Z)wbnMg(7W;}<5x}V4=A^H5h zwlrUf$3yVJwMQ7K&+snTp;oavmT&28t6Dv~TpE~?8>@YTXY6ar({k*QSM_|o)YwE! zulqcB8@RvW50}AJT1?6!YSyEuW2gmPAv;-~f&K5~HK%p{#tvovPwf&f2CEQF)?atx}7+cI8p2B zB19-a;tJa2e)v52`7_OJqMuiow6ey^G{Eej5fDqIASnrygyCha6f_J*0s(=am{pv= zghFsFF=81jZ#36kVd*e=|)PrySoR{4I-hE(&dJ9gLK3B ze9u3>bIx`64=xy7+qmBGdY=294u%?6DGH02IFRL&+a4EK#TL&cXk2yU zx67T{m9SpuN}`@zI34+%M*-Tj{xTMON zYrb9ubA#eWU{A2%WK}$)9F*B~+ORj^Z#_#RR<| zAcQ6Z;6vG)yO6S^IwcG|8x93IJ%&N=pn}=Vk%44)v@;f=Jwk=`>KGjhR$p3BDk zD36m`@1;+U{mVx`a>*U{pNoob-cD&YVk#(O@qE;L(eaD7#(YKtGpoq@snDy+fgL3? z_1WhEide=(tQf|je`W1tI5`8uDs4B);@(BhyVWQhv8si0#`k z(k$5MV5*l& z{!FM^9O=BsE_hE74dW$ze6Beer=F+4@~`?uEE7XqoQ=VPPDVtmXF_?OhWWaILGqJj zj}v7NFQR%#!jH}ko zshgf!+Ru3PZ0p(S3!oCzE(4MCE@ISALx(DDOJ8M+*84w_>yNJS;wIj{-x#&xs%jDL z?ras!IT*I6$W4W4NVcDy>)|t@P?lrUncj6}j-5vXh8bVBWlCN~5B;j&JhtXj0z}A_ zSiD=$zw{;-P*$?mE?6a7y;B|pm}kRoOd|!@VX5b@M*c+oW|EWD=woERwR88M+DF|@ zq&k_r+TWj=kg`!0B%6pxo=(A~d|niWP%s_eo{o1-c&4qboFI^#J7Oc9?dH9073X^L zmvwVfB8B};TEeflYGL=s$sl>Z5Z^hC$rWm-Z8-j&O5<_42+01ts3W~@mp4Zx z+$HM6Bac3{lG{^txA1oI<#>>JXmOG~njSa6wN`k1_q@o$L737-3n%DF=@{TbEBl(b zus>qaQ>Ms&qVN6BnQTJE|LQV+d|+oC8EH8xL1v&xni&1k5u!h=X=0B_ z$icE*j@vBdcyLGvv?gE0c z#!5G=%9@xMFMoL_KT!!B{l?tvc|LzNy6%vI!7^NjUZ!uXdvd51Qx!XtLh4ZKbmGw6 z+*GU9?s1(y$*7#4=^2EmaX(slX(UMbMUZ@@+}V<1iR+7lTGcC#?DiH{Pj^-8=|h*t zordne@xP}EG`n4#M^^DJ=0X)xifI5`;sM%D*CjI3p{td3cVsBDy1WqvNgvxdv9@j) zd{^IAM=Y$r@J9oFhqe;nGz}X}P`8<*6i8m0U&8OM)VDI( z5cE~oS&GsPi}SMHFis8Q-;)$Zb^E9oE_wLG02Fp29r%pEaC)L46WarW^BPS*@tGd) zDkQ$I$0?4Umy5R{)8MKfQyK-RkQ{DL^XeOQ zY|sw02tUhF>L(*Ej9=NbK}(4aT<;W|A{;>%`Wv_j55^f`N2n;aZ zZ?bJ>kYhzcSPSh;PEyuh6An@7kv?0TZ`MLTA`lpWus|RXn37#V5}|Q1F_=r9K`D_> z@#I@PC>Vp}D+uaziYG;Yr$p?qBZBRaj61*(9HEB<$wZB}iUfx$fZy&$X~=|+XOPzW zhQt+z%(StR!3aRfJf3Q6p0&)D)wmIMyF{|z3bvr?@3griW-_EMaD45D?F4uSy8hle zRi}>(pl|p_+OiE%8ul>*@}VPwUdi+8Kjd!E9#a+JYsqB^BDn{>j@Yu zl9{LaC|-vpnE@9@QAqD>kV++<&$FOXni!cn+O;(*>e#&+BiOl&G_1xdvfkM7vKEp$Ril_lvM9g!Acm$lLH-3u@NbCd z6?A(#Yy7Vw54+CL-Uq_&2P+%vNP#AK0`kI;LPd?RkN%FgQ}0w&OL>bG;1Er3oH&Jk za>!5qX93W_uTI3peDPX91cIG=pe)J8XLSeI+NgG0XMLSgo>cjvvobh1Xu_?ht9#%g ziZ6M(HK{6T`(`C$0U&8Rl|2qxalAd2H*_Dfy+7vcu4`(#)_d4$MxQq|W3B?(?LL`K z^xyCwxwmsaB#!2R-qx7pUC6_j|7B2i=lqeWpxDXniJ41|p1 zLEo^(H;A+J&;=aS7mcnKnhnA{)&6|^fixG!?ZQ0ATbcNJG5}Z$H~r3;cKRDKI91R- zuV)lzX5`_R(i}w97zACTn_YY?&Zlkxx_wKWwe`EEX zkI|>}{m+ji#r@A47!BD=$~0F002so?`pq#* z#WubjENt^Ie$P#g_^+Hp!ud{5H&t>U#{rE#qwAkz4=bE^E3|i;l2?0{UDyfCQ}|++ zK&D|gvxxYK{`>*}a&<}4Nnip%ke3Ie?=djxBZL3y@`(u;y9EAJ0Ouu5%q*}EE&3S3 zJNBCv4UYy>B~ON(!$;s;pQsCCmjmDxJGuk{)m;aDM@DzkMvIFmVb>jED5i0a`vjkM zkq*om6f@c`#%U5ol`d@Ixsz@Bd_Smdpnoe}Zx9b7V7?i8+yj@^)vDGM!DE@qh~ged zn_Jo7c&)6IueETjNkEBl`Pb-c3T9rTK;LgZ*GT0eYo&+|_Xw9og$A`!U0Vy5$~u(N z(6h*f1&$WhTd_FpdBDd*Zg`e#V;{v0`fETBvtN``;1E^eh*d2DX1$@hn1+Us06GQA z-=S1jH#jeKt&z%Mbf4@V832?Hm(j);b|gPt$TwI)l#MAtqt*a3Y`qh|M}BESBN#_t z!3+aQOehz_UB?{?pykbVLjMvJPv_BKTP4;Bl<&5!e@aq=?OUfLFkpeCK8_;%f4^$F z9^-qBI`<4YggECPq`RPZcZLb9Cq@j$j5 zEXUO!mid(1JJG-elaGXIVp5pQ>eQ1211Lx#3b2hLN_lGrp;6cnEM6mfQE}J{)Aadi zW!vY`!=4#06#=B|_?Hs%4bb?L!~&I4N_uTqL|C4J6n61+cDz=G1|@bhJ5VPJ=DsvW zhI4a;3uMRwx`#)<1LJ>!r64e8Gh`AsqaP<+o$V8`|umyfoK|4#H~AtNs(cswu%bQkT3=ve{Z;u5dGt^OaM6pCisT} z7!&99TPg4(-K$b9V)`%SS3B;~H?kgoCy3y3#&8TmkXalgUI$B8-8uofePvdW_AXOI zI(c0&M^m$R^z1~XW{V{IJ{iG}FTtG0U~rjMq|?0kD{{1gZZ|Y54&5>DSZ>Xh(n)KiN~hzpf2c;zd~{^rOW~vBH4o(8+(g;4$e2sZj|_Q zDeYY|<_yW+5UOFn{amLjO6y~+6`_*^!qp9cvrRlsJ{rYY)-`b;qULT4XWlnaXfQO; z>AIT9ykJWFPcv{;nxjgdT;`WjD)5BL;3;OnLL5&VIhTeY|G@jSqIajS$!v<12vjk3 ziC&-bvrH-F8$V@_7yl~o%SWw%iy(g@k9o+M^k@%;l`k;BFkm6@vajDI6x6BWIJa$E zc)nw;&d^x|9@SKyXNl-z)N60QQ6BM}p^Z6c-Q=I8UfOba+tz@r!#ESKKL zsA=H28Bv^CPUlx@ zWYqix9q)(jMqL+9SkdbHBj1h)qH*(R45-S4Jl>`-Rjg0N;GwaI1x-WvYU!2vEdE&f5u4u@_r+rH%MZ76F*O~6)(FAE&*4vPlH)G5(*Y=3y6XNL7tvtJI9cyPCV_xd)jEN zOvW|DY?1ZEcA5jz2v6Y$i5J?g)^Ac6#0%faB$2mRXAEw4xNrSjcF4b0G+`T@plY-3 zUVM^xRk+mhutz_}7~vq)O3>oBGH&Tws;A%GR>!@tWj+S1=~x%yFQldgHW1Hg25xwn z{$19O<#x9aeU>X+&dPk}-HtDIGu(>m)8=(l(o4k*V#c8)G-|2TuhzxPwMA?$TV>S2kSE+g z_uy02MN^GNEe*9WU*%w*aRx*Ee@a7fiS$wJSgLjS^a^QyLphRkWTW-)yGW`^(24 zw3NuQ(I!nlkE?Q2#w4zuBFr@$6tKRC2-ON~yPo*f2M;&EbS#Hz zY_CrjpRH0N;u$?n)L)m=yyCzu`)Ta5uzlg!ab;oA`pGl(^RXd*K#-A!1GjsZ=$?`L zs;l`s$+In@$WC9kuEl+P`Jw1a%gB#fYr9`!gb!T~Z#e#cC*}R|i`#lBP3)*&FGZeVfyBruIYX)YZ4J;&t_)%}a7imNa zQkQ)Nf$>)!#aFXF3s6{|=2(?x7?_6k97dkYLI|be1+bqkHWwW+}uS!y&Z`VN>~k!UCf{lkBM!oCKeb|eBUQMk@~8|65S(e z0r&ymvgiG5a7qK?60-Jx|16Hj^F<&5_fe8cQe7Y>RbfqF<)SJ*uiz+=jfH|;#)fd% z-u^x`VfqDbUBe6!QQ#&y+yrdM@|%%kH$j07xoeY8+&>ovFJ{j_xJZrSR$fiRg1xYB zRDnaW$0LNiNVydUsr275%~T<2blF+s<*XSH_5Jz;yz;~v3V}H3LJ@EFcYeYM3F4}s z|H*cj(RWdQ_BBn}mkF&XRozz2B-$_P@mU$I83E7VJ{z$jEePyIcN3yEsqXeS5tCpwn zjFQ?vj7}Dib|FfVS_v$A!SCR}b0>Rv*(2DooMYJi02utZO{12Fuj)Cyrzos86fw5WML#DsBt5DauC6}w-|0QP?vK5NM=ejCl+^_ygER7te~-v%@CzHIr*`zcQO+V}pYU z)adi^U*Q?u`NJ_uSwv6{k#O=1~U4KV~VkHCr&$B`G z>wEz47)0xFXen`03{>dXQuG{sZ;yT)c#R`%D}y9&CM6~P&pVW(#&7FVQJ#Q}zT+<2 z(Ps$1bNzHa(o)3;S`4gR1DOsIZcBIgIgYyWF0xb1ce1nQ`poExR^ne*bB@@@%W1%pBky-K>%ZxK|Mz;gMo&kl zt{gKQQaJMq#p!(oK$0N;CJzGUf|_%e4~GgOSI&^izn7@F|-8^l;`MlL-& zJ9{XT%<{xq(~Cey&wwbtzW@e@u^y|0(cmT*09Qrm(p=ALpkhmAr#h%*yBbIjC*T~$ z!$lmkU%Y~BO>Kmc3zOTQh`Co2#AvruKmIFlAi%>mp&PGGY)a`lTr{N#iGakLu6@(h zvryw`mQf<$2EzoZF$mR(b+C0QlNf{lQeXoTd1`sBBE@Yj{PG4y4W(`JLdWfAK6EYQ zV56;(u(vNvk;;(p!mnX7CHst0ad8ydh?w6LZ`A0hlN5%&gmXa}O4AP4^XWiz%=WTj z_NFrn+{qKVl<-q@b5(`9k}U^xR9FTSz^9DCRR=9-vQF6`#KL4&AHON7HUWe38m$F~ zdg`6n?rgBCNo=0iMzb>p&qPj_$iSKco*|wi>7&Dl3FM{o`WPdi9!A>c??j7rYi$?9 zD#U;(D)%SU)V{n1OYvKxc*dz<(6{j*r*_Ln`1(4C9D;cFYKMw*Dyl#$WU>H57!+^Z zYBfu5cq5E!>msS($is+$)RUkCr>J1-xtFZWqre$mZEZ~*5pANkDQ-Iz)q@i@FS)hM z#dA3#3V3yOEn<2^E0bYaBc$VBrgX6er=Jnp*kbe{y8SNS`p+$)7v@p(^y)$PKp2LU zik&RdMnGF(FpXJ%EnB5Vl;YJQJDXQfiS@v0?Kmsj@y~)uA5YgtefFlNW+Xq5%=a)7 zY@Auptpu_Oz^SIEb%4YZ=-z92wMjbcWDuWuq2QHm)f0Re7$7w;u-!#{fB%kO6E!7g zJ3FPAK#Vf!N<$E+D-{HjQ!X_yvYJLUmQ*Xz`c6(sl_lE*T4GBLAOA@!s-{%l>U94m zFeK8c@=mZ!!-SAjD9j@iO!x@>fE)P>Z@H9F?m1O))InZ2s0P@p`$l{ z4cgzpgjC^6nFfRyPQm1bPinQMsu5NrCckN#uc3<1)#4KsfQBboymTUdw5?5H zRG!ImWdmLrxDAA5MAHO2sHZG*;juRJdXOG8h>k=|V_H4IoDucn&^w$?3!_6lqrt6* zK0-N4Yb~QJ8Zlw`{w3+}_N#^k)MsW-LlA8J#j`J7Tv?nIbv8-0ui%_jQJNx(Nlo$c zie6=+Z8rz)hkkdvIZGW}>93CY^bVe*IxzD(X2&AFYew^1YhIP+iuzu+I)BtBsiGT% z?mpGb`CI^c-IsV<2^m~kSnkGV{xV^4Z86f>bH1ZR%UCKHY3C;KOfwMY|q}Tna zaAkB|g-i9hifwj+Can6C+%9jb0Ikm!!7TjsdE2^dXMwZV38A&~-tXlPrMsK1rIYb+ z;peYW2Y^8@!eJAbLVyz1A9-u1L{@F}Gk>QONwp%{rD(xC4;c{}U>Hka&*a=t)@dDh zIXKL?%0~8zOhD9ga^z<9$ish$wX@c5>pate5#e2(#s4yoP#VdHM_#ZSLPVCwv=PPoB~gTRaH?BCTcLC zeUI0M4%=?_(s?tQHs#9Ovj_8yq6fa{8-MfPS!Urd#&h=1N*`#hKIDsC8; z>QJ-VAH92b%j%s4L3BI0%oSBN&YLy#6NNAxEl`X1=8BR zuQVNM`Stc*5oYWAA75T8zuqppSu1C&eOHC@Sesj*Fie*?`dh!rcsAd^Qjj^P=6AYf zL;TRUI%a>M^0C20uD4ZB|IgBV%({?Pm34#I(|p3s@58g2zFVQm^v%@bg6R2dK>U`X z!`tf9pIi(V2p9IVyX!lmU+oOXo%`a_+5O4P)z{D5-{)Wu-KuOPux^*1Gvcf0MCcu33z#@@~mJ6?yfE_(e544oA=T ze?PAWo(Wdb2Nnw;Yd<4;5SX^MPr@%pcV z@<*XVUv?(0M9c2(iZVAh1vmi_ALS2x_v^cnC!4-Hve=vAQdBXI!&OS^kB%q4y z+PAf}Rq!Fm1Y_*-xW2qkP6ja-Z$?fCTO#c{oR!U^bPV)RDAco8Rj-g5k^L?Ll(D7u z?bEw%G1QWzLWc7TyU%VAOr1`i&icuP$(n@?H54H1<*LNzIP}>3MjEb@R;I^OB?CF) zt~tS4_#E4CvTRuGFBg#~`P;6d=$nd)bhXkK`SV?0J=gbIxhhRpsqyBEj83&eU+a5! zGb?`ox;SFr=6iJPW4V}`jF@D3oQ%(^$>gBly^mlD9SW&)aau|($oo6J-iYI#ilM9c z@KBTcf0gI|=aX*V^3lJK2|O{PZSvCvkTv~jadE;;d9h&)E9I5lo*>om4v0Q8sGt#G z5n0>qP(T{h;T4a}t4GiN?!?9X^M0eQheLsL&G}H@d4vyw5vCVw+OXJYe>2i_Ym7Hu zI*|eefQ?WRGL*D3W=H@Bvou{%F13*Q6h22`8zoTmThuYi8Vfsl!v1NN0ybP`Vu9xi zB&(KDSshON4U7N1ohQ8mwILi2bd|RNp?$j}6+$8-_LBzl9NkP8face=w&!!kmPYb} zxUgWX>e@?>5MgjI&T^1d6#oE_RRAV%JVyI8CZre|WerU;jJlME24OS=NfQxCU~44C zZ{f{OrUo#%sd5C#3(!$dKZIP$7MV=?0WJe&cw2EN%L&D<=%0cR6VSG&4Fc_w=z*s_ED*(({NT7=hwTcuzt3D&cN`SPUFcH)MidHYeMg)H@{Q0B_ zlVJ*Iz^NCyhPgT^Q!dLCVYp-z!OD`iUE0vCzs&GIH}dF~&M-**X$htOL5=||-OKv~X!B&bn9i7iCQmWV#|Z)RHrRkFIhPf-|OS9xUyv30S&)lM5}9K%QwkGXJc z&*wl$0lo?WvrP}2(D;KED;*Mxm!Q}>r<5gNt`D0wSc)a$v%$MZvmjoA(BGiGc{^QA zP2$nxC=jXnJS?gxN^8UBZHd4@!{jd3U6yeI13YOx+pk$NR~vwo?fsAdfM$1nOe(n| z#nEcaD3!XdnY+gByZG6T4Nc22`)pz74fJg1-l(WUo5%U-*xj(|AD7;?2@5XWuDZ^L zeMhlx1-?N5Y+9_=Gu|D2(tEh@{!n?~1R$*ooLy5o zUIIh(kI%>3LuI8vGR4H6WMq+_MAHBGULcvO7p0)2SHqUwr?=bn?%kJ&|Juz@MY82- ze1oOmB)lwH6}NSTjQ(fB<~6Mx=@me0z@F4pSFv-}Xqi*fLm<5EZ|MS?M3g5Snro6i zb^V$g{^9hmQ(oz_|2sB+1aK(0q4oH-c0QozaJij(bLD;5deMF%{KRa56)YRC*5^L#*hzT*dVO#Sc<*Ob(4TsP@c+=#v%L-PuP6_PzyrwNP5_iP z05ABj$0AF`V)Y1K!1V-^2ofL{P@3zzcUI%SYTR-h?dYd%{rab1&ik7i|A*P7>!2FX zzdbnjn@g8QG(P{1#(b_hX*~XYzC#T;wrn=y9o>f1KTIxNHSX`TiRvvndM{>TL-B5Z zEZuCakD&T2VkOSsKfS#@DJ@x52O-QFrX;=0d<{oUi5YID>Pvxsml^+8KG#-X^AiB~ zaMF3valVX0dr9`t?9WI3e6#*|a6KCs@3$}A4)o@1CjvISjrB;!`yN4SnaZ;AyF}I8 zt3D=)XsK`CxZNVxEd4ivBBlzSj!F0)_2A^RxNPI)6A(+0nyJSzgub0tjt&lpU>T~q z`-T7T(6(g+jlFVS*!Xm0?tMC~k>U5vT-5D=k#BKgDcevX z&;ZzXIK1Cky3g!B>%Ki}?mDxly}K-pJN3o?bAbc284mZyDiK5-7x^Dz_HjcHn7qz! zk{9MPZ$}SrCF1Rma+(5x_)sW$=umG#D#xI30VAK%3z>dG*?)5J&YGIqt_H$no$hyj z7l1~B_K#EV(M{J)Haie*4GRuP{I#|U&^-GiGlxGbga?GF7iC?1$H0$s0-CDo1Zrjt zYIH&fViSe}NTB{mkeJn52!we|REa>UvR?)i5(Xpqj7<&-e;X_n&_HM{>w_EoXrW^s zONouA`zv!+fRxa{Tm@p$nJ9i{!Nwjg#WJBAsQ{)6{wH&NdLiB%q^{d&i6%E$Q&8C7 zF4^x(6UOG;e}@SOpQ9G4qpqN8+E zwp7YYO}B9fOLyMDj5hG1rxuP_AfKE#itoLk!Cd#2(D;0A{`$#YWWxtHxn0Ntsmk*O z)4r6Nmqid$%~U#}_`|bWT{hDM0lhfkPzZ3{Oo?;>+acA!t_IFezsp1ne=Z^-_?1Q) zWZU74mj58fz);*cKG0;Sj&UT>GJx3VTWFFcBCtR8>9Wd@)63pOsJR4Q3`+$6p3;mO zw=r)RsS~R$e{$x-?U+$wZ3Ch>y+#?jOJvJL;hEK@^^+s|1pVACao)c%kuIvJC|DHs zIkk%V*da-<;ZP&G_lz);Pg6V>fF-JjwVi#zNKo$`w>tYx2QQ;&Zmyr4(iBa%mHAmG zHl)5u`9bAGOfg~JB?2(ONwE(Rf=B`brj+fY9>WiPG*gD{sxU~6k4EVVPM#^Ty<|W- zsio3+92yvCf1fx!GkH3>4QGi4T!5Qd|H1ybJ#(7lj0|SYbx2Vr4INZzn@ zPTaYaNFBI!GKr^+-OzNg&Vj+-ziI(+IE6hO1aT9@%0oO?xrtReIdzrv}Gdck((_6RT%$(wVJNG^NXFw55Jxcls5eUm8KOk?i;T^-74;52lj-r=!4%rLFq#_ZGMvJdy zu%V)lcHpQ8xWXXwNDr3$c@79n688y~BmC=~tp;zdk{Lthnt?jDfF3BlBNNO~5;=Hf z^#)CAp(CNt-pW(4EUo*;<@S=z=&mCB)5r7Mehd9q7l4%o14k}VBp`d<&QL3Up8Q>V z+_stcKI>ScJDl%lo2$;pBnLGsQ^rUg5^5r-vrJp*8^QfyGR=8DnIxCvgB|EKqe|)9 z+1H&Pn6{x69g{%-t7HR>1JEM@g;3*#tHGw{eLn5O(R6epQ;r9#mU7M3WyO(l;(Tx% zECMp^O3z&X{?%YQhPlFjAOpH&p$$qvZaYA!>T^@mb$YrQOE`W!F$iS)Hhtd?^g)Q} zrzA-Dch29Kq&taaOWY0fvgpWUO(#dHV6(H}el9FpsII0JaorA#`#8F(_|e6+^W%s| z?e7`46BR*D^~_MnH}$_L;q37zux7;_;bYB^qM3m& zLg{b3QHITnL-k_H^~K9&l3Q$jrt$z@$cN$eq@UwoUuqfhXt^0ivR8Hohq18^RDc;p zS@Y2$Q2#Mpi|j8D&xfCndZu`s{)}&P1A-1YzI$fbciRjauFR!=TCF-EN-wPivQ?7R z<+Zd$2Q|DCZNykMCm);aF-~SVbga%4cB*A@1oVENp4u-PM*D733!nT> zy0lhggQz9_R^|res!WBAvKBjpo@p-ZyLqAfYL*l~9cCrIy(zI%(&nG3^lNrMj#+#> z6ogii{FQ*p7EfeowADvB8K^Sdtecc1Pw3br+F9CKiU1zr^B+JbZ`;MzviKEso2|2ciG*jT`=PreZ(46Nsal+rNB4`pe7RdiQ(r75Wm<{KwVq zu5Gv^TTDl^gO!>KRbb(DeY#z?@=QLaS}i_fv@0-SydET38?e-XZ z*Ue7V|8y|7zv>6-i+fvg4rd$1fMq6kgvj>>C{b>3)R5Cqs93m;xqUpi5qV*z^G>r< z`XQ83rQ`UeJIdqsns+Q$IW1-KzBaj6(7=5)gxAuY)9$LjKzG<+KT1CGdhWVbdd7FB zmT6OSe*1#bgnv(nWT;<*5@z4?{}x~=qaA7%n?WAEkL{6L#KNnZ#I}HLvt+NzJDhQVBzF$6X}M!8bRn03HQ+pL>xNKp_W? z`&T8Sc+Qvq;=R-y4bUp~O$~J^(Oyk@b9|rO;`4d9`|h?Sil+2v_{@1TUrjiuU0bMe zGDco?RLE5hu?@Xm?L0ae%g!8o4Vp?<3qQRvhQg9b)J4@~vSWqv`#QFRr^X9~Ja%#jw%$*=5w3m4Mbo<@r ztL!mv)NZw8&-Yc-QJJJjgWnW676Z!RVlbKGWdeEf%WW4PtR9Ev#a*}LiEI@df>(we zE(f<)ohVdWMS+vQ&;sQlQ2~F+&wBPTA-PRoO5!(orhf}2N%Gn%W@fbrO-FNtMKe+6?nhVx5;+(0h zdEq54LorrLlec)thzGDnLnk;mI0eCK9s0WzEQ5Xv zLlhcKSrJ7L+_)oPX0uQ(y~g|<92jihkqxHZqRP8-Rv(10#Lxu?lx;(!RJ(E;uQ~JC ztd!O4FJDLULz?KkKJmk4s}nxVjk4eqD*V0ie^%pg12|#QG2qn3h8#$Q(hFN8_~!58 zn_R4MER&nzn#aV1poV-7WPW}~bD9o3j2M$HA79# z;g1$2e`G=#eIkza!f=G=1kI#qL$sPv(%GHY_?)g`+`=jE#MtKI3m7)QtTfNgQ8hxs zqE23D`2j@7x38ZVvM9|GFNb|-(2mnk7ls%A-UK}ANtWJNhZ#SQ!3F!Wm5#*%D_;0V z53^ZK(7nccPDLJER{rSgSA$AMx+#UHfr<$%JfqVJ0Y$jd%$R*J&XPo28RBr{`hU$- zqFIg6*-^o;;5=fTRuKyaVDm%)=a&2Nle;A)-Ub&*9;l|Zjje{zlCy>JXR4B|_X$R; zheZS<5Tf~a%yZ2AIf(^z(hb- zgTVA@JpG58a7+8A1R_S<-i3-RrxGnC79g3I!`vQ7TwG#S(y(E$RYJ_THL)rjf!=lV zs;(wo7rXqud;0ipy~JVX`kMnL6pe#?h8ZVg{}i(if)E;OgZ-5~?ZO>>w8X3){MRNn z5KlTDHdUliliR(~DCu-Hc#ghjP(Z24;&Hq-@Nk#=5aiyu&!H?XdG;qga+4GNfV$bOkU^B;LJHudAEb+26Bqz@ zo%>jFaT?-#eaRt+5eQJpn4whzC9Vp$V0(jasm7eS7GCqTyP z5dDzduoWl3jrSQdm}r*zs^93+Rx!b6oAa>U=VO!SM}L2JQu@o^b8q;o3G(}gUu2%% z^r{FRx&cW=75~ky8-Q)Mt_nN>#jh=wZbN4~4#gdXKccQj0hJcITKSny$Kkyrtwht& zg7%W<^2&_7kvRCjAe;C&l+&HU7)?Y zkEgp~Ag{f`u_6sMR%+YO~->@xSF+u=W(0p zVb}UpdOaR4F0vNwDFcT-Qjq$dM}qs6>L=+7?t|DLz$20|)_a{CH#z^=FOob-r1iL2 zG&DtC{V}@j-*(<~XkSH$E+&3(JO$zahog(tq90cP!r#9(Jx9?E>i-U{J>oT z$FKc&(>Gt0G=Ugropff}MH4HInZe((zuyC#LHzi&qaQh#YGD*=ub<$=Qy<3Cdi|3o zy*hBG?N}X6eK`6ddD47;{;-b!uvTyMaE-;TWNrV>_w;gncIm_m?zK}}8Zr9!;qK56 z_}1K!gzwDCc@~qumH`+tt?)fSB{;k_0!js~t*!k9#4oJXDA)M}EW-mT`UR4RtD@j03 zh>xsBBA@$Tmr4X<1I~!cn%lu8ecFl-+IPUeArTpia$Oa(zQG9DO-345#mvPc7zmH= z@!47;S@&@xPL*Paa2*s%gjc};@OaI)H}q6*SC%fXcrC}?Fgn}v5QObvrNW|5o|tO> z>q%?iZ{`?0I@*o-w4A+;OZ<$9yxgh(#xb;5YiydzA6wHcpL-9)XvUw z;kU%+0y|AkWvf{7QA|fak)Zk7zqI?77-Z<*8$R20fRiKXy3lUy5}|-O)kFouWCou4 z&vELc&uQ4Wa8j6IMZYPqz&Kk1))?4w1i0h$ph!r9x?H7JmuYZoe@W-X@MrL&B73{{ zX(1R3CqkG_BjJ7ICIEhsm<18GpWEO+eeSoU_Yr+=XaCMUuIt?BJR83A*M04gSJ%EM z2?+dzx8CW7$|Q^qTZ(I@EU1Hk0E3ikAx<5Qvk?%+jSYEw{S7kXbs@F(2(P>Uo#ECX zC}0XhdRoHW^qp;j)@#M0G#!QpeEF$B^A&(e-yvm4*F^ZSFmpsmVr%?3j=VsPm6x=z1u@;lL5N6He~LU$RrstdWgC%)aVE{m$1)X6fpIKG zMDQG^_3yrUf;zdW@zI^bQIO9%T3zZ5JT>4ZnxxW|9CM64J`1b946bx+l;+<)<0Q$?%;iCTc z3dn6Uf}+HE!xa9LN7_%QsXs<>_mOjlb{?T&UVQtt%2qr)BCjWldjc{Uqb}N&sVFE5 za#JUzXyOetaewH)_+Tv*s^M+l$p5zjHkR&Go5tH!t@PcWl(V4jDj&SIg&(evPf!BmyRc#qb+-? z%!{XZfT;`zaWSwP+xZ~B)YQe}vC-=WEx{QIB6>bK^Y-|YDbYvUzP=UJcPCSh?r2f;AMb?R_$l9ECaJbD#%t}on8}#^*a!OsvM{(zs5a5^G{M{T)?)hAh z>Co!wZM(TGPs3ZlYtCbztX`l=V!)sfVNzpLf{rxV0K+F2u0R66vhh#6e2Q{Bgm z3c^IS838G9RID@s!H3I-x{F-LreaH9CcmW%BCWaBPeQ`3>P(6*m3lUc;Bq~TM?q3S z0R%LZi>3nu0WYF{;QqLJv6{t&_1HA(B?Da}ECG`D2dTB`B$B1yYIC??UCe|!F`2e* z++U*Q>Z-o(D%;g>SK04$+wYw9(n95)T~SnueOk}p$*^`Gs-TDoo#bgYpMI^^nU03$ zM%7!hPuVqZW>vlc9znM=y_UDojzV57qwlk4d$%adU;(>)p_# zEbAO==A7?!?Y%!cwOBKUr)+g#{)u&TI;~hGg_yk~mL5%OK-26Zhs?Ao&`QzW$ckbg zjb<*?BT^c-QNui~`<0-i%xiKe@ef_@zBklw^G2eP7+(C}9EZt*(elDFU6|PZ!O@f@ znHbqpTAM)Ot3JcE3QDLDDT|USjViSktiA5)iojSGcKCB=VDIg3$lkkeZg6@^$5WtcidmaOmPW;3TOb81Su z@#}+ZDMrt6NAC9bXU9ofxxUBYbYygI6A>)Kqe2SX1O4@#3(Ip06v(eF4xEZri-IR` z-ezG*S%#N=69S1YvNkF%wPLf22UwZ!nT`Rvfl^g2UVBWd0hn)P$m`4MSM%x6yxDB=6(y-p-AW6aV}~Ui%r1TEeumI<;a!1C#uvn zu^y5VwcTAQ5<>90MZ1QH9{Py2Cb3ULLrTM&)919RS-T#``F@v}aR%QU9F7?3z>9{inDzWCMw_yrub{8epUHt z7CBBOwCgz;r>f>DpT7gI+Mvjab8{l zkPtKd_5Y=vs+T8~G%ecNJRaBcJ6&IG&eRYTa8rew-ysJ`?|gsn#COOHy`gYT`~PbH zfFG{|W%9@5biXMuH>L8uS&Rxn!00K$?xVoGH0(ZKvO&Et>TyJKJ;*pKhG} zOREqZ=sB13Br8Kh+P>r=1sGLfVp%OGNY)xp0m)lfv2Xwh zPfkQk+M67*VUkf$@KzS8Cb?Fi&L|;VaY+_hGWO2Ul3&{k8_7nfT%j`g)x#9bj%5K7 z$Pf__HOcb?)V%E9p~Y(;Tme#5e6F(=N=J%G{+y~KY{zo%zYKD*q80N(wypaXi*yY5 zK{TWhV5#aK5SYzY_Q{A8!BAbD7_|DyRPZcE*h+S6J*uZUltK~93?hYAlqW}3h)f%H zv4uyh&C=VcGtl4b_bJ(LujK!n9BrGP4M~_T9iR99h%n+_y6mp5N=ZiHsg}OgS|7>* zlXP9Ng)0zNHi)F+t-+MP=kqkgwp*L=&p{#;nN_rCtPC~ICX?S9(xV+E);#_1WIa8v zT3cI3qzQQu9`o5C`nKjjzmHgN5-8`-rq=s34FFZsR(jKR0=k_&n!^Up z$gc9-0?lSCH9vBny&*{`Mu@o)B+yj@$?^Ib8(>EP)VW>#iSs`lpSrK0 zp7hQo0PTB|QKxI;V5kR5`<}pi4AV$^VNTKg$%+%x(s73e?e>+=*7#!D{OL>p5Fe)SX1TgddZfNkp#EjA7c5K}kTE6VO zElZR`t)AhQuD*D-uMIV8!+Ngmaj&s{zKycD&y+Xc^W^bp$R9Bf5==j^2UCMy71_|G zvEEMWcb>&yuWzw|n+;X%#y|fZZ}5|;4KDlqH6HPOn?~N3WaF{RQq=*N1+Ho+JMNxg zJMMl2oZeWEX8-=Za|gs5gw8#RwI*Tt8<;7v;?aQ3x?EuVkX&-}kYPye{gt}b=!eZ5 zsJ;HBc|E6+^YjiQe>-q6a{jE!w}B=&lrve84YuSrIJ~%Y{ps$XU4*TrE3TK$>~eml z!!ah#tsZbF4T%YjjE+8fR$EO6csD((*LO$Sfu#xJ9hXy8BJ3nD`C<~?q!{Gxt}kZV&)oz6jNT;Qml4hm zyezeU+Oakwi~sFimXqT_8_=HsZBjgH7UPa%k-h986LN4mTfR6aPNj3x?RL7}RH6Dl zHq|?`R>OMzgy{`EmloH@qhtEcUWRr|-1$^y_~ z4uGE^VD%a$8#UX(eSpE3D?Zw$(eH$ID)a^;s98_>h*@`{-f;Es#AdrL`EnM_;~uoV zfMMGpKZioXP)Kkv48rRb7a=&i@}gZ${+Gbi;A2*Z7C1QU?DKN_xc0rOpi=rOp;Xf` z$ZIk+2K*VdXN1Zjq5nM((-(|F*qj}&O%uDp#HXcpZTmj%wkqf#RiV;ec9pKN1cV?c zA)9WI1s0P$1Rd9+QE_X(VN9?k;2%3Hed*BEvJ`lq+=Y4O=GR#nW^+=S5V}j?_?QI` z4iCvF=b}DVU^JSr42tNk!z~$US5f2H^3US2W3$T3kO*(*Y&;U6apF;0aOlaj?1u=X z5^{$J2^64!d3SO*y4<@(#OfC+(RB~;XL`7ykqmI~NNd?pd2MotTcO=AKIdOrleQB7 z72I^+21OJmD}uX}w4}7}Z4C$zptrIbN4$yunBTXqQ2Jg!2MfEo?V?el*s;MlH(~pPQ%i#33FCdJVycx3^Mjs|k*|OT?#N$x z6&lv&Dk1s72FeNdZ9aMvUwnz|VP83hyfp)$u|}IqyZ5@g;eV?!51%}Z} zMNgFSl2JfWq<$q?D%3U^(LjPm4n)G6p~?|iPuue;h5zKH^8U!6;LjqOZeR2d!leH1 z9~6R(`8=leehSd=E1^E02}DF9u|PLhY*%nZ;>dt4TK$kY$f|IHhws0uxAxjRj}iBD z6gs%J5lAQ@Qd!GDKLgI65I>osHT?pNRGYH@x;D9Y$^=W4;-q;LGA;gy{CG_9flX;- zwLr1;NF~?sDZg1DtST*Xz}!$tRMnm1Y{XYP(RD=U?@c#G5h6gCB5t&p!yEN9vkZ}_ zqdNWyrTf4A6_YBzt+*fkJ_Ujw+N)kZX!W_)##lwy(P$W*5Z8GgQ`PQv6qV>=UX~>` zO{;s)C@u=$sJ}Jv(0^j=ou?~5DtVxUmxJj#tkV9wl4+_gCRudp-eF2<2#p}21rmca zl$cQ7u6T2DiS@tfXNv7~JGy5~OZCyTTus4SFEReVZ{KNM_+J|s{&j1)xP^_9tvw?v zE88jM&S^UD2{)~Km_RL;WguNEEZHden{|_cdRS11Mc%heew(gW2a%rA_n=Jb-t&p= zR|?KbRL5l#d-LN)ano0q>&vp-p!DY?R4NH5+rTEF`m*70ezifHf|{DfP(;Yl>`ubU z&0EpPRdG+W&RZp2xH)FsOVp)XKjjT8{s)ipC!N*KM*|zT<|`GMyTbxi6&00L`)5~L zjH4sNcELsBTEG9+%M|^j5}vMsjUf^pi#>OS?nA!6s}>56$hcqWp0lxZmF_5{u?9#B z-djvIcIYC>e(nN$nqDgWj0&DU>3b%x4e?gCz3>rh{e^B4?=O&s zdPXWX^S_swDypjXvDne!;cPko+L?X4t_`(M#cKk>L0cNF_x3(~d(*o35CwCIR=m3U zrdM8>Tvmo8k$yxm^W}@7-Gp)|;^72-B^`LrK_oj2qL@`LTiKmw_7FoUHS9{5dp@6^ zNm1T5=8!A_E@8pU9(3KT?$G()!_(u($kxToSisevH_^AcN?pgI@xi9N zrlr>C8(?h7$7Y$1yxHt?iDD6UG_Fdxe!6^AX`KUpr!XK%WK5#=KhO83DM#;*xsngrT9~ z_PLK?LR?XjW0jqHN|8;fH8RSvkpMK^Z22SBd#hGp_Y94e$;Mn5S`Rx1I$!^-fjMY! z8K!U0lrZ!XDjJ>o)QK%VB9?!I)hwD&u3LO3{$s7i{p*~1{W!+OP>a!+Dqm7C(N;8P zeZu0a*n};BUGvOp1U}DWwuHNzXu8?UKezFOkB3G*jU3Jcoc!$qJv9lF*+~BO)k)T` zy2+#yo!e+vF=xtpqpi;V=Ep{iiHNqXwykxxW~~W-kp91y0(WsL^*+TQ1JX!$x|!$q zpr$i2VjwSUI3$851h-O!dnk(kVg5gNmIXLX$X^*DPO85xqI}Hni1KpGU7j(QX-OY&$_g*nL=m+$TdCaCA^PBmQMTK-i}z=S59#gK40F zshjK}UNU>&R+lDU|@4PD-vFPD*a9T5k32*E?8hcH%bMkCOeM} zu_Ol`GM1qyF3AYa!Lr|rivfQwKFVem09Qyx`Rw|iwr2L-c_Zr?xoRR2Wn^^Bk*k_3 z>%T6_wm(3Rmuou=brWzTd3Rp*^t94C4TH#pcg=L&GP*vvBpw>^9spYa&B*d$(b_XkRb4)_zvDWcRk77c}Sdlx0cTn9uEnduAzJsY~6C7TrbGX zC`aD~r8o6lOXvzDpnDBW&Q?{O#>u)jyk3__TX$x2R?b^&XO{KX<=;QagJ^3K}@A(OVI>R*@rK&(SN<~aXyWKC1arH=10F&!u2I?0&t zG?IN~s=?0N)SDRQ^`==w?9+(b7Eve_sbWdMj?nciao|4|EdlvUGgf9wF|>TT{q5f9 zO*5_?`xw={#ytv5;h6U9_M4jBi%@+XJ(VOv8Y~2f1*nd-1V6HeB!lDJ{>=^K` z=!tP@v22Z*s)~E8o7P*|Pm~f~9EQPEuRv8kQ^SE9*0-x(zdPT1vuN2q#?Xw)otS{3 z<74K+G{nEC@1gC~?8?dLgiJd8l(r2b5H_5Mw-b@c>?o~6Q@)3@($@8<`x*=0Npy2l z<@(2dq+M>+1FNCuriw&&hu`9|WwOuIi9nd=}-9p?IA9&T1+xaY)?tS z;BePzdVYkWmOvP3u-&5<$Y4Te|9)s#JZk1`vi0DTr+AQAkx?_uASxS{8JS#AR}c)wo{)@GgNAv^G3VX!><~O- z8|QZxRD`p$mln#JXXc^X8pahskP49{-{;hkKu^qwtaa82a|jB_XDFnG-+HN)&l8(u zfOr#Kit{>?ASBw#dh%azWhLl~8E}2UhK;TSd4R@{Ush332Y>b0xY8j3j;MSHvaO7a zNG~6d+A2&&O*WQ8LREMVE^7 z7wyy3$a=<7+!sEwx5_J`qjlSaX)l~rD>y3ce#J{8I9FlW=%ltGrs4l$CzqyE8wDN2 zv+D}Rct$@SIn!i0H5e~C#!(d|mD1qjCna|YAP}(UG_#+qM!IJ`eJLZnc}_}8C5}}(@Xx(bIWKGl88a*aZjhGieP)McjybP--MW)C zrA3MemNs`dvw}Pl0mBv7K|}PVO>^($Pk(*W)t%0^60(dX?pp&bsoK3zbUy#Bs_B>& zLj@5ITbU!~OomX0mkGI(sK?3OOk&7Bz0g%f_W=8$uK+HW!GNk)ONWL*_+6!+`F(no z7QU!50e)k~Ed^?7Dh`rx_>bXpXPL#^&0ttwbiq3tk60BBS$ds~rmWchj&9*TgeIAhSo^&Ti0j$|l?ktHrFbm;LO-IuZK{h=XUD`<%1 z)lGewQFP+|&Yt=MOyjg_zYD%9!P?K-(K-@cL*@`#cJd$X11vV~jL3&p&{dwP7ONNE zLdgvt8on7kdb`KZffr4NDhGzjjd!Tn@aUXpokV$IAO@vrLsn+IBBM<97ZhPZC>e`E zfkH(%m5K}Vr=%WVO?=sy)VJpsgk=`)-k+aM99cE{U*H>YWW`0x%1YMdDHS&Hz1L3} zhOu`ySGJ8$ti;eNYw12@D;cwoj@m9a^}PB${<|(t&hhvuZ6b)K>`l&nhYb^iLVe;} zrzW#B+ph~T1w6Pf!n6!8O$8*;>`>*T{%l;w=BBSxP0!P_*~ac!9SQcuq39!Us{aOy z&BYDYA2%$y81YCjEAVKAI_6Tr!v5o_`uwTk#z)&4N!jI07L6Y%o`zQFO&O=wyPT4KaZi#QF- z{P?lc!GUT%0*HOTI}s(sCJ&idRk~nQ-I8AxBke%1;O+|!~=X1R9Y%O>x39{sEmad#A zZoEHS`B=HLsn%`twA3$fax7+oOhr=YbxcO~JMZo0vokhDS;xIjXHIgp(>yJ;wFk); zUhL0kzNsGWg=XqBBMX*(SFmeoaJ82_nP*AX_1^i%+f6U4<6XjK_@*4@plF1#nLlt_ z)e{YT>vHyU=bcneG&iab!QQweqlXAfO#bWEDuWVJBP(`lZ8ire@x3;IX_U%eN(l4I zE66&YNfuj{6%^iJI{5u7b7415X*F@MH|=E(MfoU z7S>N?9N_d*t&1lXleS_7a}6#>$VTN{E|8rAmEfx8n`zgNgLIF44(2)Zee#>7m^x4P ztIVY59>4V1@0oTsAg`q4OWmKgZ)~UU-53G)y^+gtw+!6C@HdO}uiB5%`noi&zi$@z z{jt~>*Y}N^)t`~fzIt0H-#m;?8HYDx4u~ylY86 zG+;=3lXg8FtE@t!z8D>q0dkM&t51#LR6R+lFtECAud1b^M}QQwMy<`bJ+hK{F44g$ zK#%)qWcq7V{?hpBtygtJ`y;hEN6&WLUMT;d#nb#1S+PY#xkoY|orh_YLZ1Y>b-%ay zB0SuqbvQ^jHOBL*=;tbo!Fs|)&Zl>nM`veeYh98ABX=yTSRciY7rgK4c$3YEuKDdpRb(joof%c8^=5$9NYG| zYL%T4G;{o})i~oI!T3GDf{*y?n7Vb#>&IcrB&n}$LTZM2RKrmUvNO}3RSr56>cP=E zA;5{hapr)Wn1J?tvYDfC$>n^uUy0>GXr=MSE{5y~>hJ#la{(}K3V*oB70MTLEjrk; zYg~v?{${jW5qJ@I7Pj&tXcw01nsbz=8c%_CY50Vk4118U5}N*ypa4SreQNN=P3VQb zk=^%}se4qENC(i0)phx!?Ww=0*S`rsXW>`GhYwu$S1E+(2u(YQK@d1Q3>@MPfq3rGlvlJNtDa-zXZBm~M}x8vAx*%77yC4Bv% z(NrQZ9JF)=VO}}2+rYE6R0J;>G5Ni8B;gH*gej2o5Q-36$3XbTRST&p&UnHZ;Ll3e z6}tYm6PN?PQ0pi}8XV5Xs{{lv@4F0WJ&yzPKlBRO6XaDPB-Z|Dgr`cfk3x9KUPlJN0C zHSV8z$P^Rde7tG9e4L=Sl}|{Z2+_I|(_g{1dp_Zu;^Y4TV$|0@JcSGi@R(8PUNBT6 zg9ipzP_!clu|@j)8zetdXDkh9zQ&vSLF{A-efwH++eAT;my;bh&u#q2rgcXQjfV=0 zCBA}-5dM%OjMho!8b-ISwYe506H>s*o=gJDCI_?yx|Glv0-vlRqo&S3*^4Gynpz8l(m)w3%W9LqQ*k@<`oIf(oneW%G$_t1mnx){<3t zR8(o!W;9W~Xo5M+hg3A$wilIgwLQCSY>!kR z97UC6D5Yg)#<-vKU@AWVwQz6VY&$IDBrv^i$2%|j>TD7Z&WKAm5_!7C7RKp!?VU|` z=${j@9zT_Lxo(;i0)HULLywmAE#j6?wy-#{ew zJ@Pu3)obRZWcKCtmfYNa(bh=TQ{VG?cR3_u%*ZvMS2G2TT>d<`|~sHv4V!kuY$Q5SX;SAEv+h_dwI{P$l5+w6W$R;EE&z z);guu^y36_q+Hx&Mq*r+d|`p3uN!ZBMsF~zm!EMRcORDSVgZN8iIBkVQ%{l7|WkfiV7hqqQgcWq7vN&!$1nb&F3W2OoiWbF9!oRxdT>TXv!U} znhU=lDJpHbb8s>-mAkxlwd=gdy;Wo8cJki!uXDB0I=K6udwV3=dGS){Y3KQ*_EyT| z+SrOe*4wy%>TXQ`QNZ8NA8tRfUIym^7>A3@<$u%8;=Iu}NmYK8@1OHE)Hmf7c=({9pMYT&a z^D^ghiZXM{%bnPc*1D&G2Xl16b{3KFpg*_O%dE^53?Ws2>`M_~x9)p!s`FzqiAZq% zN>&3GN~W5u`)VbO22B1_SJ$D!iN>1(^u(VtqQ}z^Jo|eVP+cBJjc1VdtC8$`toaP}~QkBO8}VJ~y@ zL-)t?`~rF)(Ana&)SG{fBxld#OC3r4tb*B~Qy&ZTO$!9WX=~+douv*F-?!_Rrr(C@ zPIQY>M%dbIcFWXtyas=6poL4>Q8Ly9gH%<+Lv}**Xi$8-;iuhzbHUZ!g(Q-(R>iX1 zXxk{sHf+7U%J*+pbK zg>&zUloF;`LLz=DBDWFcMy9=cY*G}@5s9d&C%>j;;8AYOKU}QJ1qR`VMkL)3P{K+FqI2f*HA~dpB%{x{V8o7 zt!1QNR6CubG$IF11bmZLm^Gf*e1wf6`N)huCNGaiLnm374d4e6x>)fOM%D8T{;ngY zLG~hg?ooC%*s4uh%LYNiT5QD#DW3E2&gm8jXyiP-J>-bnBgd`5;6xVYg!n{T?3gd6 ztx|un85RT4sCUpp+@s*#abqkJ^hK!`0!dI_>j$0?#x&kd9aY{|^ai9e%mp6>0GE8ypyti|+q>|2q6k2+3eiwOjJZ4^An_})L%vFe=AohhsYfLmv+5VlSGZcA5hGkT&QK&an zrAo?}=4P_Va1&d!ekxWx2LL_cmFuaYw1GGBQj$cJ2crJ3#XOUkI0~PsKb30+i`+Ij{)d> zLA;fz51mvs92HWwjbOiX3Owgtx=xiO!Q}X@CkSUFu`uw4KiQv3r?#ypxTT8}C;v+E zjyd~n#l%#K_{5)fq|8QeQoBKm-|03>?`QUbtefK9d=o=Zr(;XQugsAepQ=h}4D;Ty*y zFT<$Wd2+~c@s1C2kA(AWMj=%qUwiguPH?)v9xwH<_;8V-VS4S)tl`bgP31M9wVZ;4 z8b#;?ST{Ct?YPC8_FHG+oLsX#0U<|9;t5;Z3N6LpbSeZGM%8pKS@(oumxD1<)l|w( z*2ZV|rKH%}JMlzBjK?5kz36>P3IbxF#E22@gUJ{f8bpQLKFPq8X5oQjza+i#Klaj$*exZI;W|)qp-u7B{ha4{?n}OskKdQB1NOMZ8V(g;!T*#&6aPc{ zQnagMn>-QGmPz7wmn^o`y&-#D2H2!ly~qB}funq^d+TE4Dq%bw9o?}gcL=(U7lU58 zJ$OVdkr8uwEvRY%8!1l5ABQv0B`UYdig7?tO0Uw*)k?$Zx!nE$lIXpIc? z(QEx)Rm&Q(!%a0`JH9@dUmiNazXnSDfLY=jzwx`8Clg{{-9~8U6iMMLJhAiH2dhU@ zZ008Fki+jsYhpHbR~Kpp+3gqMDSEASF5AcN{EJoY^R??tZi{oGBp4hV9ZWiWj#f9+ zF5ddsqm`t`CiWfYp%~39sg$Bpk!c@G^^^_odB?NVO~&l$p6fPtEgB_fjYPhvwkZdt z7&o0%34<*@{j?Q$^-`Vt(nbms#g8ig;cUreuk)e)2hT6H8-F`*>NZC6-A*TI4ig5u=`NjrWkA^X&%8C*}N(9U{>txb^omAIml6o|!JwJ35_7dSnbA zsC#NaNzbj)t6sPLElyfNa{a)+FGa;|)3}(v%?an*k`yv+IvqM0pYW>94YzS}KRA6U z*=UrlOkMRwKrG?x%c9LoqMJqj8Ah#wx$Unq*>k)w|4Xo0&4nV zn-w;UjQ_bhhw6Xd0P2OCp%UU@(~V!2#1rt(L6crp$D4zLj^x$JQf-(5?>@g|j(QM{ zSUuzL_S=@aj{DP|j4|b(svHk+KQ45BY!B>|)lExTmz8z4>L)7|jJ?vD+;OvaHcSw! zb{EvMb#&~QaAeTl$5LM11O)!lM*^=cpbJ(CJ1!-P;pOhNup=t^nk_!AEGEXOI=1hA zynTux6Cx!4sHTSco1MMb-rj*a{#&D~;IeV-Qza=TzrcHvUxs|Rtx>gL<9XcgCO&T_ z-6A6^&xBO_@5j~J_PhKr69a?44GU}C&UTir*1ijLDc~VIKQMWgg!W@`8v_|p-?d8a z*qpSu2XD!TIyz=?ty^mUuT1~#dXzR20jLW6AO*N(bUX~4jRS$%s?mPrFo?#h5J7_=a2}13DhUYwuWTTJ<^_n&GNb}H zK@nCnr=@||Ao#+l8^33t$%Ekh#t*0Ika z8(#LMe+79U?eS_t6o!eiPr0W+L#ROAz_#zNz#B0~U#weLAEmg{-v1FFFNAWBnUEts zIGl_ka@O};1LV6kAR4z;Klcu#U`n$jiyjRE)8JEU9YTdUM5#nyfL4Nnk|m7$ys#nh z>kfE-LG3usycaM^)A;qSXb=SSOGl$OA(1hX|C8(%XZd3AOSc!uKhG@wImsEq{;mvb zqLB9$A}W%Fi^gTRP$54rs3CyK*1e`EUPf>I<9l{+T5}m6m{Ax+q@X>oS|cff#)o9- z1dkb7SB7_efAglOy+w3OJpj9ly_{gZ6j23%fDRs@<4rE+0m-p;?(I;eWcEdeV%_OV~?N^#E)vz@N~yxW~-(s*Qi zfZ4uwkjydK6S$c)yWUQj3J1)~U&H4L7i9EtSaFokBJTInzFWt|8Mf^vm^EO~c=>$l z!y|pw(fO$Kl+t|Jg`wOgI3t0a>?L|}HH*ak0>?B_rrySw^BtSmLhbg>5 zg2=SPDQ{;f?Oq06eY*WzC#RZZ?9_5}Jm26VK}}CEogCUIM=ZW{v0X3hI0VZtDNV^y z$L-EntVHsxz9N0o{+Kyb@#1emoRi~zmEf5|Nu1xQTIipDv;AudJ2fh~SKqk<0>yWh zaecnG=gZf-lDV>TK;7KJf!Eo_$4vR-HTm?HCwk@XKkP=xiF}3H>-XCfIbZ4`LzK&O zLMYqTIsotg&9%^V{u$aE$VPlD1K3#aN;?}Cp8Bkd_pszoTrD{yZ3HHTe5)ECs0lx%&}#8Uwhj zWjqi1`rlrzgi?B-=W)w-sZ#~~pM|JbC z8F0V)IX)YB3)JC#y4$Xz#JLjsuTPG39yQ(~3rIRISp%+Ib8mOXS0k4%MuC+sFWwJL z=9d%GURe!HM=vF_ZfjU?f=#P**I!WM>8yjwSGwn{N6kdSNh;DA3<=rvNF>I^%3T+B z?bh1K@kp}BQq$b|0B?t^Mz+*BaqcC2gJ9<;G+(is5CSoGvhK{rrv@4T1K&R5E`_1Y z?#?+t)M+Z-0qg6kT*91w>l~~$Pm*{Xa4KtaOBJz+F%4&aq^uY1n&(%cJ<>#M$m~kU z$K1P%P7i?6bn_wbE|c}+K{1g@_A> zo2MK0e`hq-rzAcf`r8fRVNn@5DR+Eoec!C9NtuU@&C4lU>3dn3-yzDPby2)eM_2dZ zLl8t2vmX2-A_AdM=|cS|h|pI19)>V)B1123X!-q#!}7&QflD%%jfw7b+S9P8Fz3%- zgf_Z(!WCd&jO)N*kfEG8S#0|W{82@$6d}lYgmrR#iY&*d&FyCQ%+{nN!3}LTvotj@ ze)q;kX$T_RhA*+Y>oWlYh0(B04iYIo4=Icn1Zj8emJ6ZS*#MA95;2HP1W>_2$Dot; z4#kQ^t+SZBZ_{l83RXc~d)buT(|^U-3n27x=M~$i!4GVRcs6XirM1I7`ih1Ko^UR9 zI(&8#_CV*KvIap=cFPhWlBR%<3N%PQD2VOf3dJF|i}*T<=7~4$te7k%J$+a)+duOQ zx~E;wx4v@4gpsfRc7L4?>oNyo{VFrs`b;VbWehT5Ng4#q(7t* z+tPIm)rI%=pM?s6%y~{K%E|_42zi2_|5n=EQz)TP?2nb4Jw#a;EMd#`@aH>q^X*KB#D=VeRH=StapI#`=U)*;qAMK3o@L~CEi7*T(tZO9Yiz+wfRT48D{kqi`(l^yq`Zh~k8n9P6rvV!q1@|yH`BQ~_ zHc;9BimGAIOo)_{BIPukik>gQy)?&aMFkn$qg0$GhW4{>aec^Q%g`w*tI`2%sXE_# z5!6&9KY|+$X?O+)#=Jxv-_bA-tKe~1tgo>B0~rxPL-9_b$}Gfu+yxLG^L6~DF6it) zw4q%nbD?9sv94~Vz~j!%CsobwFO=XC6TBo34Iu2I-n%-?{-e)4wPY{n3zmIOjpMAY zu1eiQ3Q@_3VYovKZgk0aZQ#C2j=#r^kz6!)(UiI#Ejli%{f(^J4jV7n?+NfHkAuvTr%F&?rL+mUXaV*W?TFk&i|`*K$U6wEADGCLt&Yxy-1FO zrqHI<>-$)Pd{}AyxVPMM5CGe&Nt8&|Vgcbj7_`wvyeFB*v{h}sEwxccJY<{F~ ziYH1YTaUxxb*md@%F)w!-!BnQp?r$G+ic$~n|1>7wDjNiNRB5GEFPhjk{J}-N?b|r zk~KfYvA&dzp)>Pyaq!=%NI~v9U>Ch6Ug8%{w@hr)D0O`O`n9_0Fk_|--PkGi=;dP5 zp&gwUYi>V7SezloLzV_JFl%mM-!sjG8{!=W}|H8LM=+@fG_)>~W9+J9T&(`d7d*1tC zP`+ehERGW)a=YG}7{xlA%d#W!@dsmnss5fD`EPBkq>!}!J1FUWYjzKn^n%qBU{6@v zQN5U+KAinhLe~^sHihKyKZ-obF%NKeIXhM5U%A#E1t3V6=8GwgL93FybPbiY_rJJ# zRaJ_4^sdVX9^f<=ohP!Z+OfTV%tH>&JRiyX+x|H|X0n+K_B}rxi*EzQm>L z{+C65+@OdWHnx#z&{cQkyYw^W;%Lk$AP&x)47hDrl#U7r3VhA1ZnpZskxErhEAxNI zI?J#o|G4ds9-uIgkWd;%Nq6Ju90JlI-6GwM)aa1zW^_nNh=Al@Vsr=s(j{Hb^}M|A zd&k~i+jU&q?;Gd&IlHlh7FWD?nSx}54NK86>!qD!W;`kzUtN$bRwGeuPk$2(D*b_S zw$ZgxDreiI0KdMe)9-c}LD?s^N_`M+wh1$oR;09RqKZK;Z_n$f&fYNvXw1M|VE6i` z^`iG_gMwFWjf^!eW@W`MH7h>K1E+s&sDj4I7zR>sH(x|D1b3ME`){+M=0!&R@+!V1 zQUl@ls+V3~wZ?s8o|;UE;7FVFg!Bqe`7m{cLynd%?v+xLpdi~&93}}_h#tJYY)Z1g zb=q;twya;M2-b%(ZTal;(RKW7vamt#~Y1TPe)2Bn^T70#K#t&EZ?*|T7px9 zcWhjLqgu_^=9_}$uCtrNsgTmrXB!m6y^yb%sF*Cx(QMtE!2D3@%vcUMTCX=+0vF!f zp z*>SzXXL?O)e{$dUXNUCF86=HJAN-~49L%o$Ep3V*BCGZ!QpSWm+ri^nZJ1m()03>u!7hK61ZzEpN6mZS3yA&#!9ib>I{ z{#xY-7N?E}h5o0^{u~kv3B_UVg+Tg4oH#HOJv3~<6(!aHdv8)&fPYv!y)>Tmqcn`x zGI=mf4sKuBwOKiya}{M|Ax{Uw#SVt}XOgdqv10Klz_rt@9(;LHQgNJ#F-Ojf@aQ}k zG1bbag`K_0i=Z(n0}Er3AW2AJ3tf0YDxRuVk=tXhC9!=-jAPr9tel)AuaCKEG)(J9 z9|jSa6Cu-UmRo76>F}0%C<>iB5i;oQfJY4ZlJo@=T=Yrg+e?dE&}_ZD^8*Kp;+Pl)6v=uRoHLm@&z+&0*IY7 zB>#Sfrpw)&Q!V@d<6XyHuJhO?AM;HgkiY8f-8)9B6;`?^Bqeh)55EDrWuIdV7vZ4C z4YRMNy5VUn^CnMHLBF{s-KUSna;DZ_J-a#wob(oBU0=W613{oWNUY!}h-`(_#L0KS z0BQQvvWAxF|9fj|QDckrndO@8c?YDIG~vk+TgR8j#?v zs3m-i5HL_V4ke4hjD*DTphu+RC8Z`0kIavV_-&5wEb<)!ueFC2LKZu&NjxflX=UOS zM}e46fBdm%!!7X~Y5mXM5$1^kMKCd~2DQYQ(9^AHTJ&wm)f0CZ!UIOjtglX{2&O^D zBc_GWeWe$AN01J|wUDle4HvXVGYTtkE(&Z4~rXt5^l_R(WaQZbQFD?0;05;s%^4LLIY)0UYSD=@bkB3y< z7mELo)cQd1z^ecD81C`ePQFyo{dM$`b0?>8Pvbp`++^|oQIefQ1u!RyIcG}GCo;}9|KSuT=Gpph@~n0_4ag3r+jITU?q*7C`v z=V|==12X6V2oK2jKNOp0`w*WNHUIgYQ0;2q&_n*ia(S(h?=QD6xrhEwovXLCUMoSD z%cl-=o`FCt!POz5_{X!c5!A#waAPfMd7&_pScakWSbDdR9InY6Nl7WO^KGG?(>{%W zH`fQld#+3szf{$8MIIDPZ!O-XBlUQAlL$0@fIS>tjE2-TPX7G^7v6&O2hX&j`W6A` z8Jn7zwEORktpus-(j^x${Fe`7laJ&4yJh2K1@DL+7V_`cKBw%t++UaiZou=lpu4th zKUTc!lh03^LANVwPggyUoh1z0Y|&aSj%x4c6wG0>_AQvdF(U-`dv30NG2m*V zmugQ$*yQ=7e|clnaX_IDmXU_i0z1gw@_f;!{@5+=jw`XJtztI&PU*hI^=Cd@5&tDU zmOmZjuUuq5UH9By9tUpp0r%E#^y#(`h*|)gFehHGk32h*h?C+4g|6b706f{za1sNd z)W0wB49M?JZ8=9CGm}rt8b^-6ASBI&4?~HLw(82lE=!R@pT2n&r=lum!B4?8$Cn&k zjNqkgRQSIG0alt&9PD*S&Q%UTpPjwDtaWn+dQAsSv%@=#OPKdiZrj9U%hSx=DtpQ8 zZvIWXor&;%xOBZV&Pkm#NpR@C0k4@Evy6_;ZdBkw7+?UwSq=EzKfx0ClmbtM!9T>| z_VFkkFJH*18!MqUh?9?xn@D3O{fNPMu@}CHd?^NiZd^) zG}UX}KHmxqb1&$T#e6){+Dmib1SM*HKzzUn>K4gD52Fo6)j1Yb}k24k{TmQ6nc z5ePE|Q=Y^W*(O^>X*1Z$+Ol$Ui#a%a!!5vmHtyjm#Vt(7gd;czgJaHRREBD@j*k`p ziZV56=f(N0mMQZeT|F()o`=@+g)sNN7tzouEk)}$BU2(&L$1^;2J8;GUf)b=sVqt$ z7mJ-$Y|){ZL`8(P+ZPP4G6r?aDsp27UtY>67N)+5nbJ->m!~~ae%#5untT zN0oi~ECUN(`ay2$%iOCN5?0&^K5w8kf4jaO$BLgp?ij}>1CEvz%trLLuO|gWX(1I~ zX8Sqptpy#%y;VYsCK8_|&eWvXL7oO1Fom;GX+XJoA-5ek*>7!I41tlwp{|#el~sU6 zz9PL?FUAyHWs4&BYMld*wON*q;OmHHwt|Bx53P4(aFpa%dJ@O#hprP0)G(~ERv~UW za>{r4_|CU261w+_-~|!(c5f6cE~HSm)}ASxHl#l(N+PV~^%tfPttl0kx7<2dpaFT@ zpWrv%9FAHJ??MzSexxzIW#&5DYDaahJ{$oE8NNHJu;%GpsZRrB({Rc0kxzo&bg2+L z9!z=`CY%!x6asS853ytoSKnZ?J1}Wi)}g~vFt9Oe^AfBfPf?QB3L`76bF?Ea?23~| z85C|n*}Cfnrz25=IF%NpOnviZTCx?D)p%%Bo6)u67oy{9_ZMp%XAM{1 z$nvoWv}oo%OADsUHC$YrB`$}(F1@gymy!@;vl-i7i26;4`yDP;KR6uujZ$&d1dXZU zhZm76l)DIf-d!!9{ypb1{^p%j!pNG#W$OEQUw!1aGGPXuFkjb}cWoMzw2*+c1MKe$WGQV$S$mrfqs1`~JW2fn9ViFRxXJh?_EWu7s%sIIYfLrso?c#^qYBj{CJSG~4O+61 zx=kKF^{g*An<)7}Km!7sO=WUw4n=G9J)QJ1c*!4wt^XGbT&4o<@OXg@yVQ$6=9PvMG@ZtnbewLx8NZS^y>JO*sL#>BuE|b~Xu&K95Ve33bX$ zND$g^uJf@7PY60RH~dqUNp8)%FuE!4I~_ee7PwP7%4M`9Qr4l;6ic<#X_ZN%uU|T4 z&r;?owM2!8k=Y+mp0A4=FNynEUV>RLT)u@;A$R&{F6m(@7?y`WS+qkqfo6;=k*4@l9EpnL)FAsjnUDeg$Qfa3pW+DT*;?D zFVu(Qj9<%$*>SjwsnHo495rbaUC&-EzZ?ANE&fK8LZ1MVSkgvHOIHbsGKdwnbI(Sa z6#sP*#CkmGTub}A?ec(9P*TteyEu58NIdlLJI&$!hPs2fkB^@Xmt9MSMy|f&xc2n! z_8Yv6{d*T8Oij>EDRMzr)HL6 zxZ!}dy!uT0dD9K*p#R|DakZYBoG-T)dRE1j)7D6|la_C4oVVMYAGmkQlJ7m0nG7Pe zLl$3-$d++-)Mi z|BU78#*}6sWoI<=bMW$PU9v3;9~(2MZjbn}dT_spioe?26ngXH!{fp^`B0c0n>(?P zZano{CG206@4jl1$Q2bwL`3Ya2A0pNPXm0Bsm2xOeHbUlBq!2ShaTO#rsb>R$(+D&u23@d}UX@#h{dC~zx1#-2_1U|M3!($m#tJPT|~ zV2-B(qKjV@LK>~JK?L_2W4*n4v6x^iKI&&I(tt`GUl|{U4n}2lv}1!nU{GlyNRhFN zknV(i1P9Gt5eu#0jdV>K(Ogd$j-j4uq)FRxQo(w6qV~BS2-Ffo$4!U&qWzE)RiaHC zoZA#7%bGb5?O~F5(s!fDGv5(?x;5lBAu}FpTs~9la?mF@drk{FS;hGDfZQ+rd>zvV z6*lD-hRM)&0V@c|Krf06RAc!}8cw2AxhF^=6B?D%1eOL1DCurGJ#$1_2usU@tr(op zg54yQw4`f88X#X$k#sSP&I~HY7<`IJ5G85%+JCFOK%CGan1MvVML|mm8KMZa%N0N+ zk|;Z{TIE@V=!1#S6`5MJ#(<7^l>tZIx{87eQ@n!A@)B?vpn)W~la;5^QH#Rg>B7wj zut$1B?NwRqg_e{R${M9Ddto6T1|_BmN3gYAhht%xj&wO zqC|g{HF~tsxq+T3_EM+LguFd5N-b>(!9-hvP=mlSgTh^Ja^7lz`nA=;m?15k-*2ie z3oxxGYqS^bu4F-mx*j{*GB!}Y0!=pb67hUqKc)&@83>+BHxdsW=b5s~F%W@3!AikX ze-(n!NC;$)mlT90%L7G|Rg0`HQ0svlWUyo(OvD~lm!j8z_6wBbKc4x^>AV0HC4W{QyGY7<#U5gb#1mr{zC=M+hAdUVZ-VDExBO?aIN_ zf46_9=bH3|nYHsSa_y>2sOxttBdOLX$L9q9KloDTO+lNPJ0{v44J{J>->GP91vi6k z>H;^#;r zRxrKTqdf@|@SB(qtZ6Or7%zCZu?b*!ideKj)~iZ8!P7!nqC_(%r+vdUUq=fI zO_B)_4aIR?8*xgy+dG=;)g_mnn_Zhc(20U>dNSiGaAYsNGU;%C4w0>A0gR%J{7u5e zt3VQhYIzuA{N*hm;Z!P~K5}=|;k~owa}t}qzHa`z>b`jHwRV>^8T3eadBxrj4o3e9kp0vEI=jTv!&`c`~73T<80uc z@abR1)40q1AOJkD$oF}=3;LR=m9*4zm+-i2mN=v|M{>Eig)fvR={McJ83e@R8JMn3 zi;}X*Y8woJ8++P%IwcOSa2EK3u73~Z`)~L2yG?h&{vgK@Hu(X|Bo;&mRBI=?@ZiwI1#XX;f7E5f2II0!d-j*L#)&_#+sDa zT;LO7_g%oT-}*$h#+v*01sDJGq^@RJTkJ%*qa&nbnji7be8i3qff-i$j4ruGDu09B z^lp0y$Pfm|fpPJo@EN?m_d1mp0c!y+kArU$0?+y;1*v`|Jk8%_b5h7gy<^?{b0zs$ z02Ge3z(t>$R-AWs%k$8yV)e0rzUoNl{T-P+OkE{N?8M>t?5&X%{?D)@W*;# zp!80?OcI>t^!SW%L*dnwdhXfleP>ea*YgoHsC&VyyRP*0~d)j zDzio;UKl9jWimcL?sn@F(O^WYa6WngTFnH=kW?XCJvZ-rI-2;NsSXNbOUvNIu$ajw zD)WUVDl5RL%RxpurG$lKdc?Tcmwh+{u+Wm4Xc5MkWN1A7P7M!pJwwU5B5Nsx=Ncjli8_$rX24{MAR$IK z+$6$9v#%qkg;xHN`CfOv`XUJunu%<9=E(LvI3xru37pid70SqMXk+5c>F>j&2*o5u z{{+HRr^HPH2M>y%TZ8AKJwftxj6}0YPsKB79A=mVsJ{a}+u<5JkXSmQWhHHQN5(J zF&G%6sfsVFJT+sO5I$kRNlFhzPRnQUFOL1GVQn0vppt`^2+$e47df^+)gvCV%SsMD zwbfq3r6YPljBdW{Ji*0@SJYS)dZqPKw>Y;9v1_Rur8Uyq_az35m8^{idV6vpK?jx@ zdo2qhuu3v~SD1+4XTp>vhJAksV2Wrdb=AdFlGZV)=K)EFHpkC@{*b&drO2AfNFc)? zu#uXW(=ZIN!|Gk{2BV=1JA4uGKAvZP#j+CrUxUJbG0n7-!kkWv2S6pn_l-YBY37X0 ztdAC)@LFQgwl(nS1)+)l8j0PDlJ#{6ohHIfNj3x;LCZz^Umwe`m_`X3x%Ny{sjf1b z@4%u?Y8dnliqOC89OASItBTh79hOI*qGeN;g5YQLJlq$n{ z;vzaygV;Bkj8w7sZw<4|Foeyce7!jd6wE@z#3B=&8o7KSQ3{OLF=x~S3>7ao9epk=v7wy;NL}Mgw@MoW)Ro3 z%Sff}WLCE|c7NYI%)TRCS$RQ5qTsr?i%Zh+30FzJQD^I1Tqf(q&%KQ)U6F+<<+p6Z zjQGKJ$;GDm1VgJLNIH8C&eyJKtjr>G{2v6S9fsgt-D2IXLeJnu+0W?;##o5%z!9`o zoWip5R{sh zQ`$`&YL~=4K3shBGkwTfn(RLHGxhp2)4(P5@1jofa=wH&#oqvHCmPiX{CUps0h8~N z@#^rIUnmY8!8THdOfd%t9s#MhtfQBqlFE=033>`~Y<29ovjczDoAJqf@y3(?=Dz)A z3(*4Bs@P6`K1cuBsYc*BYB8D3VKCD0U~2rzy{&H|Wa>hIkKX(jEK24fscutY=y^^!a-r&I4q?jtH?C2tr(Ja%!sthB#gY9Rw`@3TdgxSYy#kP z2BICl;#@IGnK%TPvPu%U>PzFO-52F7J^=E!9>sZOy<=lN=P8H}D31wxMRCzVoV{k^ zx}qPpt*P;e2j}h54Q)yb*hVow{2phVj1G_Al%CJZRT4u2JeZdbDAZh&lH@!U#H@Oj zn&2}tyR1F}=dMJ@3aQPOzDOcRtsu1Kzv(V2@pSJ4x?DvJ7F!o*mLd8I)@&Kst5rnf z-x#;Iwtk~P$M{^@9#O2IYgqyeu7zI{+V~kesD32K%=Pfe!#Yk38$GKyQCT_4eD(>*$YeB-`k@I8>} zxdyX7B~$L#kO+O{MTeby_CY^5V_cNIJA9oG;>#XO zuYRaMEvD>H$pBrGPAh#0e{^hD^D40A#-0u|=bMe*o}g}G{W=h%t%0BJ>aaaP6#r*? zP$2ekeqnRRS=ep&2lpvBy$Q1L=rFn{jJ$Z`&i+?9=dA9Q7vo}YX)A(R(8^4UyphJl^m*&Mo^!_TQR;L&Fh|23~0tDuWj>6j%)LZn$f%`qAyfwd3ju`luUWX{b*lN*YE zl>rP!9QPm&g^0>7B!8F?87uwN_lM~CqD-Ji-k_%6`o0{8uJINc(D}=G@(ph3$OmGj zB*9JVreDs@VHaHAPWnFzGb2AQgk!y-F-9bN=WIdaRA;Rtos{$Q8~9EZQRz`T#%~~ zIWB;Bi95rHmKHO`rnjF1J_u0s?Uo0U0~`b>e;%1FiPmibqkw7^_LuX*qv#yE(ti=; zT7sR(N>)Lf2fHMk?Gb&}QuP!ilLG=z1|-=wxi6owtosDk@h0@mSwH2A{fhdnqY3r& zEdax%RoOVUbm+-$cg+jdTn|oM%=OgKroYOSXR+WDh`?C;+g!uyXhrnrBY$n2gJ5>k zx!d6UMT@`=HTLU-AuAn`{cZA$6l*{JyuZ-BW?(qz8r0DvQ~>>;v=U)bz2ut4fV0{C zdt#6*2}0ZDfq-tUx1d~8KY*>$xM(sZ0yedB=y^dgx5wR@z^`b%KJ?^&3k?X)rEFlu z0c>639WNOF7JR}2?KP5`HYvNmdQE?}ibDwI+Jt#`A4Z}jy_Kd1CCWyuBVDxsz#XLD z4+ke$J3vbfv`5@wv<)LGWo2DPEy zq4jzhJ~wS;m|4~UOT)Bg;y-6Juv7$TE4`9yxC$ZUHe~5c-gkMW7 z%}GXlkvr2E>+2S^cbT()`1xWv^esZq=Q!6*tBAHLR++$Fd9O#9mIxPw{co<4qblEc zJ$RVzE2L|R2NVezY3v~QL(jVaOwZ@mSXRSuxh;$Q~% z@zK){^E;tQ>yUyfENfZ@4Gg!RPxbK;L!&X1Xp^C}Veck*gHbVxw0OsW5FR87C8Y=V z&5FO421WLkcoc1xpdurB1yTm3ffWhpnKUC7>pnHTupwHwaC~X9q_;zEGTT%GV2acw0Nf$DZcmddNXRVk-;WXWff@&#^B4gtxKpcX271M#=^4HgIWN6-NO?S zY9rfRHWJH9H2YQuJpz`O$%y85qAKgVgYJiH;UgnLql-yqbef45mbE^C!DJysbP*6p zMIH)=0HmH6Rjh|+m5U)=)WH=NO6Z!CoIIhkDh6gLCF|fVp4>GY_m*?O2Llk zuuP$-<^^UY)3y&kk9ccbBZCZ0H~%#_Cbb zQ|+OZR@%lKPfzkUtZh)3rX)Ga(y673{|P|I4^ypvoD2Zs)Z5RWxcr_ToEAKCZTj6N zNIivbwnxx(pns$-lW9Td&p^1_v_K$0lCrL|5>m0#%J7q+mWuNd<)@%zCc~fUN?9K! zh(Jn^%0%{^Dnp?)zbSPGq{!Xp0Q}^h(+7-4`ECph404bCoPbNE{hXVcod7#0AGuJ- zo^^G~7FFA-zfKk`=wXhg&i`fnd#SsdN#N}J?Y6U{kuTxrYQEX_v~XODv=KcV95-?J zaCSp(qGxC*<#{lZIjw?TRdYuB2-w8;9}0s#tXAV(e{bBoalLlo7fah2$q+K}qE({I zzc~7{(32_Zr& zP1V(#oQ`e$G=Up)C4&A;uup{|37*1-u?NCZFcR zT)Hj_an_m|yDq0x6r|^2F{uO3&o@-Kf{yS_?Mn_zf218todPo!I%G>j^g>7JIgrKG znsEOY2as2qKAg?9w3ax6qu6Au)TnPDsZ-xZybc!6fJ;{L{}UP^Hx*B}VS)-`qja}T zy{?SwI&L}`<571HkAw1=R=U-o*|&s%uBVDB$8YU!wYF#w@OhG!7Bj*LyKmIa$BE&#?Sf8#n;*8t3w` z>u9n1>7MJ!5AKVNjX8z#L&3%wom*Zc?sZ_?1#M*nITy|4NCjoRUEOW%@}l<7k{_e3 z!Ne+zvG|ggC+_+0TIkzFF0_^A;V+kIdk{Ge4lMY3>i0X->nWjtEf&$;$)^JigQe?( z9jR(kTo8z^0wSv)-*h?^^3eHsoe=cobnNZW$@egCu@+r4??a>T{5WhXQWFx9*oA}q zyLxBpcXY73wKZD>48h*M#D8hw-bB>BRVd{DuUKlze%${mx_op>;%49~BYkd%TyVH# zwEBUA>TtE`5D7e@%WhmXZ|ZOhblvx6ejWSo7%q6bZ$6)sIJp&*1oA>3mnWb0)*cUs zBK23ZvoP^|(xV+Wo9|Mm@1Cf_E(-;NQAWIIv_v91IdywKR49K~ zW#aSEy>xi(_wN@lT#IEN-N(eF4UX!KvMhcXqK6KeLH&ZpI8T!}(-SdH87vGBf;Dxm0)A3|`7wtRnZ4iOTgiGcrTQ|p3L(6nyVIff-fl;nUjGGa zY3>z$FxbEWnZ~2bPAXfG)7c#EXN4720_KvjFsO#A!@gE19~+$zVD8PnF)|n-W zs-h=3XW6V}Kt;q_9jYJ4lY{^#$>mfxy6RT9%bu*>d}O_#s3vO2x}Gz@A-n9S4;~m> z)d9X_Eh)$Wm{}4<2mjJ#Wm3$eXlZDuY&W;y1Pi}+3iahsW+#F(?_KyJbS;*T-75Cm z(UjP!;3ZUuNKA@5{PU6lo%v ztjy9O;-7mDh`2xgSF$0D4Z@7unAbDheB3-04mXRdf^!$waI-Tq$zopIxXW$D$l6Ui z3t(Yl;LjQ7Y3h>Vv&(_e>B2|+j)V09nyvgyfdKuMm3psI$y>8yfKrHHrWHLNp-(uO znpTyz+wy;DdGq5(nv6+NOTn`yqdgfGAk6le^g%nGIt3?)w(!xt1OOUZ+S|*r%O

        Rh?gqN_{gr(vBXETYtn&0+O-Bq$8<0bnS;;;A-PxxNTL@ z(zTZ53clTPw8ST#QS)qrmU7|CDfwciEq|zf%sL=&3U-|jz?<#}DX&P=J6J@BH_t7dD{)g;)=k-za8g89SX)sG}v`%)Mq6@f5KBYPJ) z;RV&}8CeT{1O3A)`g$9!B9i?tY4KU((dsy7%XqM)=T?1k&SCDV)B;nbn$909#K|Nz zDJ$pGjnYbrXN^>>F;=hcL&vqaFwGZ9pjAnymAUG|ez^wwng?}K4|+%)k;v@5!PM==uQ8RS13 z%ry;`7=KosZ4BDi$`Lo!x8C;`W`q(-a?MB6Pak+108Gc?p4R3XrNiY8r~T#hA6uo$ zGLU-a*^x#st4s^FQsh*^CR;kNVs{rkvbxY@)xb;z`JaWXgCr#G+Y@Cs)|qf?5Y$VWp|>U5Bibz-l*Z@Z~D(>X{0cV1MlU}ML7l6Su5|C zeV3}=OqdFL>}l(E6kf@6v418jEp+;Tv>T{O(pE%Eq_BA9veb&4-Fr57wLMJR8J7*e@NRN@L0A?i^Z)cFSG?Z5&*lnRx~w&#sicd1`yQ@j>!6g_Gk4 zCz1uImNFBH?BUe5yLHn}nv9^9L+<|e_V#Y|X*GAL&1H#q?!OuS>#U{Pe8&O4m1uU) zgLdDiZ|#|RA%Fj!?`SF3dEPzBqs?L(c(Y!-_Nvw~3O|g420s7N@!!tQQ1ONF zU8|}~cCGT$Ay+`a!%V++wGBhJppjJ5$H%{;3X`uSTRvI$;R#M}4~&haPq-U>#aB>= znNhk{|9j&#A=f&$fArV0+)?X!(~rJI`7qz5ZGwa4+QF^Nu+Ib%7tN#c4GnxLZto8k z7wiizKK@(BHI34WRAfP5vvImEf63$RM*WvDy3gLwB6QR_;(I+(-s69HtuOC(h!9eD z%004q%irv<6JI9yV^DauY#5Juc317CmWKGlpZ~Vp#9EDg%z}!Ou#Z`oec|l6UosaP z+`Ql_Je z1$9|~L+Jx2#Uj@s^3N>s{7@xCouH)1?)G>

        ;Jk{1H3#v`dYNruhHnCmnJ>tvwzDYSXdhol?5%iCt z$d-4r_*``FkfOHeCc;x9L41WSfKWb%4fIk{%x~?eAZ`6|iRDpcFDqKZf>7rAic4R$z!;;}<3uwrX0R4Z!I2e<`!{ZcqyBe%l zIe8eg0C#S?pX~y;iem1rBzzr*cg}Z9xQhZJk~6?#Y9~HUe{=R#+WTN06MwV_$+ ze7^!Qswjw88-OYs(!+pr}!d zf7YpM8$eWftO~sb+y=^0Cu7^?<)2Mo5~-l(t^y|>uFW2dZCp?OW)6P-+ z#{`l^&ODLx-z+K4oEe*QMs6Dfts8V5pF1;00(XM$XA1mdTsX4co!4)oi1v?r65|r2 zFaBAgDO=EPKXPl@_G1pE9RqtAKXycuH8}@e6o_=*1Iy}!C@buANvAFjARSJR67y!UqpPFC};24twH zGRK}Cvj^XA^R##a3PzTF;bcOPcCnnfund5QWVrv3V6Qe1=wEv1cm7!I8`2-hc;${g zB{^QaoeO@j1@6cFiCr9^u*>sC{U^d8qWatH#cMR>!vQ=y8~H2d*YWWSOE=C??9Lm> z!`6+h7ok8R#O$tsxbu>i7Hji>&fB$pPvSo5H>?!Ya1ZuoAse;EO zrMSDSL^H+8)z$Ug@$a*Ksx0GGiSyP<{C}U@%Zvj{3?D-wrr8L3I z`N4a@^h{bz==3B;_dl$v+U|-V5nA$QXkw&wef_^%be*l4DAR|4g@qbwYC0oRQ=GC9 zIF)LBX%cKPU_!(B+e2OlpW<@R^;fCu$Q!5pyr;Tt_nD)23%%1;{#JW?+qyu#FLRrd z^^H?p9Wdg^yEaHBBnAKb*ZE;1_&ziL zUZ(vGyKG<2SLxHVhojvGY9j|n52+i#I=UlZcD=Cp5C{(hC8YA46mkp!|K=+BIP>8) z_(6H)=%S@l75?uk|DkE}+^I-NKY5-|0{FDj4v)OzE_ifDD4J1k-d$4i<_xMuChK3U z$_%Z0x)EOTla+##DMGK1<2Mfjt%R4)9|oYE!dh$Y^6Z;vY>vpnflcM4)bYtS1REDa z7B3c0@l8z};pCGe`#{~<6#41dotM{Jw$DsWcw!;_Le5wzj0LQ}MB`axd#&3u4dFRW zw4xe?{{=g;ig4*~(BA0dk(NcbUBqJW%JDs;_cKOLIh<(iR4^v|aiJ{{v_eFZPaez| zfr$-waQ-9Er^bs{QVb3WtTj;lip_|z#RW;6jEzp>qF|Gmrq1W{slL@A>{hFQs;0$O zHH|zWL<{&klko8oa5kcJxNOXA4v~;T7(L**Frk15OpJWzcR3GwQ)$Tjj@#F&Oq?*3 zxWxiof|T7KdqP+Z7Xm@T6X;mGC>Q@i@5#{!@J$Y85Xl3AL0D(jF>7RPFVZ4x1ExrlKq1ueuu zYTQI|qzsB0?%=sZk_j$>fK8s1c+39c(A>fNC90dQn9{2QmYJOqgY@qO2-AX_L9`(t zMRIl>E?^0dNFiayIdm|JTtc`Hg{4+~6@u2HQmu{Xc%YmgWSC-^iANNZD_)uc#Uq6; zjixNTNO!j9nMTSmwGS#Na^r07X0DV3QffsgGiL-T3>*WIa~VlTS@jqrQUR2&*x?&; z0%{yDaG3`os92G_U-c=j&4nq+{>xt-9Py!Q{kt9B)jSOxvE#+1B~U0Q3xb)IRrD|} zSqJs>TvUS>cas+j*BJ*~o|a&7(engnGhH4elUP>7p}KnK-Vo8zG($(k4_WKL^0F){ z8kM{>fm@wDzFe5I7aGa!>ZY$mYtymoBr!k1e)V16T$rlL`nd z`nDb>5FZBJbo*t`%>ief>cyV>~?u@*}nK8w@K>V%-<$kBbUDr zzfyd+R}0xn_O8aqQBA>DHKfFBc%i?=LGAdH?9*U&wr?;^N4yqDR|b>W@^=VNk)fSq zE(J!9VZA2qA2~m;wQ0ryWBoz*);AiW)A=ddv%rxpbCUN#Gg!A7GN*+PEP}7 z=tiH7+ba8rAf@Dy-zFc|(hU|}2PJEa4vB%HAFB)ryAZ|C4?^8iHkBAczYIC>mrhbZ zs?k_e^wm=n_4y^y4 za^}Te{@B`rG#Zw<4H?jFzQL3F;2-f*2xo+u|6U|zLcUXcDBF(Xa7H6Emot#5N<)8D9dVZW&lwr^uuypWZd zV`2)E+t8L_(~y5GdkaVevb4hE_x%u3 zLegDEPxxbK&Y^M@xcIFipmU`_cX-jnoQH|#s0J^OiBn=zA3K|7M}VJyd4AvaP%?GD z_0vg!TGbh@d_gDfw)K0xq~Y^(9w(jyNe>seyMLhd#1kH^Pf2pyI@8J9b?ZMTOD3%o z3-U@e=!P|3#S7B_5rlS^_3z`~ErNX|7k3i=!b%9#XO70ND@a#RyUyPZC%to|gWcR~ zVKjEwqr%>HNxx+{0&7h}R6G!qR11cS^k-305#KU}Qv{6mS58RJ&Jgj?w z?3x}8sn{3dXt}&DpZf!U(@Wqy;pOEd9+NVxo}K?tIcldh1ylzAc8Wn~C4>ytW??+Fb7k_$Y`Yo}+Ozt>&y-#F`~9QO z5QxnY(&2*{0hEJ?jMr3ivj{({W%l~Se%*2LGcmw-=5~DY^WeIaSVo+Q8i*w2rDbOu zTkXFUF{uGiXUCs)DCDcu@YwXR)>p=?+$=oq=1ZDBP;9z7IVDgvKS{5f@J5b{>$ncz zKss3Qd)j_e#FFcEvq67<-$5y*Kc;EQB5=}5Z&E^-)?|-!(6zu;A*l(>nfM=xSdtrQ z%8KKPLPcD8feZQXK{t1}zngcW{^jT2u4) z4d0zSnnC7neh&6-YV`y4ZoZC)fkDyO`gb;A`HK>ZPJeTMDQ7qNk>*Rg&u(}Xi;-5s zg8irGc3RC>4U5d5h_-mMAxe-A-Lk!0Z{NabF0NHcfpmgM{CVHTg?Wa?D-CX55+IJ= zF!R27Hr~(u-8+m7z>*mi-qU)ziKCOnHsey;*-X^!e=(FjzM-g1uGlr!k zQ^_|qv$trdd9ak2X2q7Y-Cau zQmEy@Z+afPm&i}g{3ERSt8LQ6vN!YuD~hfvwpdT%b?6u_8)^4@wcT)bC@FTpIn&lo zXBoaRrnyYvPC4@zTOtW*LKy{c+OtZ`hTBOcMWZnjgHS%a$#toQ%LGUz31bYt-pNR7 z?sh^`O-7qnv|!neP7=8Gd&x@yT+3G<@G%a|UlU@0GDt{1Xh~r!K*G4134OkXDst|J zSFX{7%7Y6?)%gUN$?!mCu9ndOP2Z1q3S@yYtCoU71lW|T0u2Qb_V^!m5X&W{4gg1t zl8QOnEn4-02)&UsHFa#a5gfBLCVmhAGY9YCB^N`#cc;&oeW(+~9yA9gDl!T~lV!OO z#U=B%%g8rszGmXixdJ1`HfFwg(Mb`tC}zBJt4Ry0pK9>+oOeo0oO^LFrg7~QXtJi9 z`37UetCXi8A7Ue6MmYezsi{U6CeSCoDIZcVsH(%BYHbJBRw3*p?186olvK`@imOun zNmT?Bkw8LKI8sdP+VqN73>CEz`tlc7<{^y91O9BXa$GV@Du2hb8227GH=+8{tx@ji zh^5SAuOLorG9}lPKD%0UsuJffs)#=kVOai~*xGrNd03bQpz5R-hcoh(3tWJ6OrR2~ z<}E5+o)xd8Z8bt&-UzY!-GMF>$r`TbL#3nJMXOl`Vtp!y962mYcH>b#N1B62b@_Lk zAW{DlD{`CAf_+hsT1Nzmre-W4j01ryg zF8uZV^25J~x_^LNBlv>AY^<%XEH(AVy;q+1PW;;2L%%^ZQh@SV9?OTzj{Bx4;zMJY z$saEM*5L*RJJ;h$?}c-q%DmvS>X;vN)}SD+clVqLn@>j$;7uhJnm(r?YPZg08t_Aq zD6dS`bnXumFSgnq-a6l*9&S$z=>37Tx%8=k^u-d^<5&p^&BFFw1@hM0;`1;q^#q$ww`u61` zf!D$LGL%L=J$RT3Un#QPeD)%DZES6tMcNgek|I$2*t=LPs;n$ZBvhHKy2VAnr;=3B zHP0F&EVV-CmPCMA+&uSvKT*)THO}MJ zTzAhcUNqkjGt4yDj`k)ODVzD+i^))OGR1Vb(;p`obnVQ-H(nBw+!~`VBIlgMuF;n- zJx1Y9t#{3H_XmTETbKMLB?9Y!FZxjWW*V1hKl9(pV&Lhnng9H(eHb_W&4I4>;@#4G zUSR&+UQu-Cgi-dQz}-koR~@}P_+YDm=6>(>!``Gf`quqnjh)1y3R+9afiUPgp9>Dy z_+E&&;w*iBN=o z`@E^eo3^RDBjSf8+@P%mV7PFnngf3U@U81ZhKJtSzNI?$ygNXB$zb;H z)um9U@Q}9s;^;lg%z=kPCi1+%Klt1rc)hMa|A_v>pAmni0v-+T z_CyKW2FNr%UQc^d69xDm@=z*|@*oRNwBYdrgY>1;i%Vc&BeI*@v-+ZhD?Sb<{ z-_7D_Ga~*R2*w0~Wq%v~;=p!48|XQXshganV0ek8E0n4HXo>sdXY^TVR3E#2NNvaT z13;Js7K5{^i0iHRskiPx$(`r9$$!$(5(zU;UGvYy7K@>QtCpvWcO$E6u?~MOOPE}w z&yz2|CUe9+W_(ymyx)1aAAN9c7*q4KQk$Ts%UFvec()W@d*h7cVvqpCU+Gh$W6P~d&z z#LZ#X<+g2JQ=hSIM}rQTTx}mH$~Hgnet!F7H)*JtkAgJ+xRl%4K&$&^UeJyh=Toru z5%ahwr|zRxT_qFW)Q}KtEP*gR=8(^7nBbD^kl#k!+CV7EJaQp3=Im?G8B+RgjG=S? z!Z<%@XU4%0^ez8xhQasHpP`xcE<5;c_j3O9y6*Vb*L>fRE5>3y7y+pr?-Ml s8 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�YsWnesE80Rsm?d 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%0A<`Ym) zGgIWxd8d?yRqij}d8bUx*wY(kvl#No$WsJ$5XmzLN4|G0`Y)f7Ec=WE^85Yt9-pI9 zdGoFK1d*v_2ZwX&+F~(}oNAUl`#B`VsM6hcnKctPJXN{ae*HzO@sr8je@%?YyUAlN z1{Qwb&R-}*~?tPTA>^L^v# zwR073CN8<8F3IWG=gx=AKqRKHTJGpB*X?(WIZ-57GE#iWWAQ#1aFVa1bmf~yDAXw- zbtE{EMd~_vsn|_b1%88OhaEe!6>h)RcCXhb&*B`hpW=7djm!AgTa;p}9S>3(Mv?RxOa`m`>j}ExmZJ_HsNp~~k zvDw;9#vm5V-NRRXfpg{~@nuT2?lJM@qnJfYBfh7S4wxmNSW4F@cky>)6HFv4gl)(> z&1RGNJ^=B~$byANf`IL^Fp|^K@4m#lV$KDaarZu4kpb}2j04o+ z?wc4NMlkId;9L3RG&^zv;W-`M{fwpmpdP>(SPo3(eXA)jK-A9Zto_5=+T}4) zm_mX*(={F9kMBuyv)pyK77=na^zN6^;xk$iWwSTCehjzYEXeg0NSV zb5mKr3vd}$1T$ziE!HAI-@p+h8p!ick1DBeCL=wu0(6x$S8I)VztuTb(V|N9Tflf6 zbGR0GicEGn^_ISS-V_uYb#)_FV4xSurZJ3TGulEg$wUak4+D0|_xk{F_PhU1g#vP(p{;N3`H(PHr z8(-_@_Zgd_h~L6CW$|TE8x#)YVcS= z6**vo(uW;d(WAym3Lb3jBcPYqLgwhufm$uVfW8oMu%>)tRLwv}^{T(S zH$fa3usdBQVYp@OwQ+8A5bCYl`i}A0PnUU5#OUby@mmN^q)k_iF<)NiX)RzW8A;V* zcRc-9mh>>DzH;2y6moxB@SOgj^YGfa`&nX^{ng~j_C_P}GGP*Ok5rOmuQ!fs zCPXXdZihqfoT)PF@vwL3!L>54Tl$#v5R#j)utEi9;~X!js900PM%DXq`SUZa&yN{^ zoKBRep}?kuOk}y7!8{fHaY8%%ddbi&$&XEE;;qAmEG@YGO$(_!B zrs3Ix)jjQcBFT1wB<2G`7nYW)bT3ObW1+xlYoN>jGgO#?DGdQZ$y(1E8Tul9ylZ|A zl#1N}xDXQ*P^b%sw9GnIwQ6ZWa>ZS$_C;?2t(g&`MS;5UpJbe z0Zz(tzmnwGi7?~T+{eN8XK@f$c-^dfA{3~|z{yB2)LE792=_@WFQ1T;egDp?WGlPz zrkZyR=8vwdfetef(ng5o5L%pu*3A)4ILNdCRO&U-(d`;@pC> zOQFnl@^u|dknPAn-(L$RTv&{;aLz*kYV_F31~oHxL?C}QX)$qRn2d=HR7`~lxQ9sg z$l!R6f)QYoExWeP%Im$vXwVY!Ex;Rn3^mtew`F`0-f52`(CP0$gnc1`&zU7qO2!VS zGQK)E0^IMISee;aP=wHUF5V~)%JOeu)u?vUoUdO=LA1gHjZ!WSpK8oK5u$Y7C~Yt< zRLeo5T!2(*^J4;Hs&9MLUuhtncwOQj;j*i=Zmn7o(p4PpyU9e@)4gWJY|E(uWG`%y zX$?A_w5lG)u_c7HyjoK}-y%{b-XMwv)il@g4&l6@EK$BM-@Ci5xY<3~qxCf-3^Y1F3hBj8Ip8>0acr?B2uNo zC>j>e?-o`glGL-N8^SKhWfKTf0)o@tXu{_L-;LxIQ+Wx*!Wc&rst2f}LjOAfxOg zmh12;XZ5+?{~!sgOMyQ#znfY)h|FC>j%+45IZVLt9BV3cJ_VQZ6P_t$7K7lE-kG7_0u!2G48zIZg4vZJBH0BY6HFb77Y%g}~?VFX2(!DGDm@C~}2 z3zGLS;ci3_arZLmF*{_5PKkgN0L~;c7tkeOo9ASy zY1y{y{gV@Z)z?je))e{~fvf&Hx6XP=XKE=hftP&_|KLAig;AF`xU1ZlSr2;}8Wfuz zlYx2V6Y6K&!VA(yyiXPX=;YI)!)r`Sb|raz%&POHYWG%O2y4ZsW(gyVN5X^hdA_Z6 zbflNyar=kD-JG1P@5)61shY-K7*p&zUoV>macpn@`gNHVd2BFesnKtZa>yPQplEb% zFm?F=qNjBhSZxuWu|7t&q8D0%7iWyjO^Ige0L9xMt0aZJXduyP6@_m z&uHivU7E}^Qd7>iBrNKjg6!;ulNkzNe>*WWr3--2yYJ<&s2|B-B_AYAH$lateEo-c- z%f(jAB?YB>i&%PBhr-jg^zFQytPgg}5T2}#-d!oFOE@u#S?(uRicFff3x+V`WRQ3n6$%W{cw zs1XJodNs^=FX8MvE*Uy_yRM(}@#t{qUKWsNl$GWMENC=84d2e(5+Y&$B9X|~@zFt$ zx2-v_TIYSm3{XgEG9Qp-tgYE$Q_d~@)Fs4U&KhZC?n|32d$fzi{r%BmBiypnXC!7U zA$saRM;GI!asku$8=l@sWgDE{Ve`O;_?vYBIltA_{hg`wd#4sdAdn?nO|J`(TN*3o zsw_ptn>yl@d<_R`+`s|Q3-jzc0GpRh%hiAwMILb}ygUZW(4483$;TzD?+ z^U0*{{=Y(;v|Nsuff&sGyjd(UbzakRS~tn2ET4v+_QAy229qX7o6v^8#yesA6$!7s zys29bswu%`6We?*r_*$VjOnuIpFi%EfHa!IVS$K$Yxh{0t-#U52VzFYKr~V!vS*vX zQ6iaa7r~Bbcy>^~ysmIyuO;nr-Bh=yUAC2J@tr zB>|Ddd;kzCj6ETkup!I>Nh_kb>+OwCu!9S)F9}+8&*9^%;S;2$O9ix_!x8{t-ZOfJ z{{*ax!5z23x(>Xn!)tq%gu9gp>>VNrjD?^n_OCn2`(xb*b0o+_Ls%wKX2 z93|Ij#i?m`t;E{0-!jc*jrk;|YOt{!^I6>ArSp=^Ql{6G#`?OKbBK3(UlfjU9L}2Lh2xP^Sup55;!T zJPHfzYxyt~NJNB?c5or%LBaO6WPpFT-5}bbj;nH%n9Pj&6KG8u&czc2z(+uyhz10( zt~vi0WsdhHHWoH32^K&E&hjxwfqR~9w6mWe18rWD@nZv85S7Drl8FCtJE`*lyTo)aIPj~w@LgjmxTZC{eQk4 ztscD@Bh_s|bEo{gIpwW1;e(oRwzwD>JMx_`Y&E)8w)!vK20Sw~s^zVFvx3 z>Wb6Y$DFHy+z&}3LAVMcM(tW0SeX9$^`DNEDV^=%EHHIJ2Ukl!+%{CqB?g~YSW5bP z9_~0;$oPA5Kw0>>2>lAdyD|hPRzDAa?;-S4gh52uSd!m}1@yM~gO8nG(SM_M!P-3C zb89FsoFwp#1L7pZ042$4~K$l*+-eoZd^Ki20G!sGDU447ac(=R~Dy5Mk z=sm2Osr~xVkN{u_i;2O{Jr_%r@ZRkkYqAL3v0E&G=7(IEuz2Oe>fTnU%~dkAoJ~I8 zptw6vFEOkbYbH#8wK(DydUKFFmxP{ge?e&bGmDdKljs|DO!&6MlXLB)_6r&CEy2)J zFon|7_&4n}QQL5c-@i6Hq$FsiH2_0zOsLQmP#D&w!jxV&VA>neY|O)aRlJxX#Fgy}xwaj=p0ei~z*#-D?y5{ZayFa&}8~7U0J$PyBR2mF7GYana`an#>A0Uic($gxm zVN`PSv0i_{{b-EF(C6x{8gbzhVAli!>MObXOucTByIn?am5G^#p3<$*&@wF7+Ock6w_JzbUkQ`R zU9wu&491S=NmHw@_dMSdb1@Fy-6RFGqQCSr5h^TxWo_L<&b`*r2|5pVqaZ{p3Vj|e z2YpG;QrIfH9|vBsJ+V)>OGX`s?S7jn1$i=(doSgVx^U$0=5-Sq`mNzpIz3FWB+;3c zA?Fki8?@bCcj(-tGO$3 zlEShQ=6h_9_UeGilcvYF>hG_WHl;L986UPflM=|}&JNIikwrxt=jrK|cj;u5EC6Jy zWB!vD)Efi^5d{iZ+~WBfbC)#WhnbfS{JX>1a;|FsDtMVDe?OwEu5+YdT75j4aH%cH znZ7;00Rg!-I=k69!gfufdHeold!lVmugI>D)2Z&<9#j?jJ@VkygFVCFu zc~?kG*1u;qZMEYtl@trlMzZSSHX5-qN6zt@KMqR<3}uUwIWk$IN@JYAt65!8vtGvl!%!IHG4rX1FA%QN<*~B zXvNB4U3{t1ujz{hDa6nW0wy@e4CB)9@N?6>C=$hX!k4(%YD0uIpW#$W0U$U8{c=MF zcy{Jbc@zd{Sch90bh!IVRy9@Me6=^psIT!grXBIN_THV)K$LHl3rez_VK8&opL+yU z1|k)(BI^h6V+_ zvI{C=ssZDie*+8pEzj^&QL!=u{ajjaogV@2RRHTUpUTx*!{=B&w?!fZBgrjlpX!gAHQ1rMHr)X0WF`PVPz zN4z7+Sb0{E2x}#clBu?i=C2J>CK(bAv<^x{T0pTEKnL8s`@}g)-t2)E$qRO(&LE8UoaOH;pnJf> ze9`V{9E&Zu({hr^?667ie=-!SnBkz%MUICe?WQQ~0z_2q%h%@+5)%K^|D)?XquGAk zupg@wHA?NhSM9xPuNt9NZAwwQMr>-8*sCg`O6sRpQG3r)L{U+DOU=}b?fL#+KhNXD zOXoNa@xAZ+x;~%iU;{m)P5MET|FRYLf^-=Z_;T3Xs;8j=Myoh6exSFTvTm&-?eLn} zLud*0gm0cRPo)WtA|E?0GTS>5!b%|U9PCS%{NLmoX~tAAb(wqrX6v|@!i0svJol=2 zeG$2#ArK})IRE%CsoT8ZAqkaM^F5Z^p!R*CVW&>R$+_Cs@EBN`bRbg!;e!Unw!C=P z=RSX9KBD*@AtIws9UJpzs<}G&NF8d@Txr#3Wy!C4%fygj>jTv%;z^3=Ef0G(*^>b- zAL)fJ@Xy*CUS`7a2#?C8Nw{I0rN)TK7koA@4))L?HVU=RSjgAuIL;h^MjJSP5Q3@q zZmu=kO(78;&o*q%cCi$?1gplpDIa%nEaG<0)X#U7){jvX5L_{{D}=$BvfCVq9kl^~I5D?Cj+(tIhC zmOIK$1x(ouzp+mQv(;|_=-YVegMYAG4^4W#%?wHT0Eq^s-Vaq26#(APUg_=4zq+}1 zVd*IJp7J#98~ZA2FV1k zYo&>?l#-(thur)Xqa+vv=GrH?&NKxvBS&?{!``KPBiV6z2hi$|qc#qISe< z1>&``#=bK=9V_*a+u7wBCBD_9cW9p(&Z5rHWzPe)Sv1?)JVS|E+UD|J#!jtES-7*Q z=|ap(t#3oLLRn}8;{mbxqe{8CjoSTp-V9V;e>z+p7IGenxd+KqSvNXvY`)(}oKH2R zqYW`JFnlgF{34{uPKf3%h|u~HE)4mL#+D;`pWtDAbR|EOz*5W7N$cp>2a)t80~Ua=X_? zr)ZjWwRh+A0VBVctj~986JM78~6hlR@NiDv|;gZ*8qTT296&_ z6YFR8eQ@Tcza(*V!}uup(`>*!k=q)0(=AnZ1S6B1~i!o=&}Qs zh5$oPK+<*X*~ph{z8i>d{?wu~xG|qQ7xgd3cdYNFuxqI)NuI!f?mj1 z-dBc{bac7p?$Rg7qB}bf%SJh7R(bATv1~;BEwqw@6qLPGl$jX0Hx&J%kJUs`qjDg{ zlP9nfHD8zgMn0hj1B#Tm3V7wEELvn`W~5f+1=>Z!*#XEfTn#s7kN|g>0c=*fh(e4A z7p>?lPTJ3sElgxKVTMn%83W|r`4MqM(K-T8@Jj+{qU(k7!Jtp5j{(c0y+7-rVhO|e zXdB-+39mkucUnY;wj!ds+YmB<8Nv_rImG0g#nU+XUzJZcqBum^HerM@-%LwK?BWuD^DCaw#e^^ zR;Cp4HQqq!H;RNoyCy;$cjsK<utQMhUxJG^m9qfE~>hacyQ`}KCC0t6M)__*S>s< zdTAegJD6|d3#6l&l*7Nzy(WJ|W)m?JU->1W+1t9^bw*YjC`)wT?@Zi;m3u1R?ubMj zuP94Mx9%3W1s_DZ8-28*&$~)Y=ol}K@}5;+33+|Ld<$?vb?YenUfgV}uM`#(_%uJx zRyY=h#x4M6Ok1DM?216A&E*B1=f+X@|_!bg4doiD^~~PQRge&Enp)UUd-FAE!ysr10UhM{-E+o zwJjU~cHq;pcICCubibOovd06ru#c#it`I>MFE$140oU;3qwd>8)AH@sq^bbHGlb+$ z#tD$Z0sbr7TH7dMZs0^V57S^cpHcs+6IlRIp?(oj^chSSHXU{KZiSBZsUX1#$@oP0 zcEE&kv!MRl@}=rpNitTsBfu(gv!Z-bs}j0Nh(fbo{=-zilu6#C98pLdMonZKRZ5Q?L-``cgY+k;* zYTriZZ=-2{=K4=n+lPiC)#COlu&j8Z?xs$wE0{6It;?EMCIaO zuv<%I+%i=x#&!ta03~5dhy$_VPkg6>(O33byBKH@aQC}L%+cBM<^9a{C<@FflMA@o zYye<~9aB14Rg-Vzw3+anQv)74_he+NP|b4Ep@$n3oAb&@DgK@-ctfs5I?pa`Mate& z8px4@l!@_pavC2@;=HPyCAA4Zf~bjccvt(foHKv8Lk356eEWl&q3RLx-#wtlNX(|< zEWThZzCqug?Xap`4Yw{dD_!rOq~?AZ__YI-I4SJDTP6`%ydy8Zz@*=9zQ^4Edyl#O zi!Q!jS3h&*Y5DWbaW^%1i9wGBe~N)QVRwiTfO%XAnm>O;_GrcsIR=xB{9IdGe;rR7 zdHiPsSUg+WS+`=kWc=seiNi*2*w=kpZi@gf>Q$;wBrh}>5Y_#}0(A#~XX}(|-w^o( zJ;uOE7wRKjV;|K^fX*X6`sMJ{IKKO?FlwZc!qG+P=3??kc@&9Zy*XykvACSpsU{%`F4s9%!7j$hwX>N{ZpA6Fjr*+q>$Uzk{Gk_{#v&f={| zepa&irYp$fqB-&;0$@=zy+7(5sUw!Vsk}c|NoOvk6mWn&eL4$-kbt}q>rQP>&|$~F z?%U@3yY}vTz`b-eW*@a*+;uZk%cKyw-sV}m)x(e~ok0;xTX|~)1acODpwnth=PDfg z*F^F1v}Q?Uf6K-lPC*Y+`={p1(H?s62Y43@>b)#d5|Q(lS$exv8@_rAWIt?d>@@Hl zmE&TeSlsp7=< zwY|2TlD_dj2H<9EkBY&uyk|{Nac;x)5SZ+1LZ*)okzCmw1rHa}m?cKWvR;j334MEG zqVFLUfZevWAzyqOq4ITWmSVsUN;N8YB^yL!9=_qV))X9m; z{nz5Vw=2#nksQf03oDmb9*uWrKH(&~-#;#KOl%`zhrvL-V&-)d0eYDn%7#bue&8>Z@#%wV=;-*g9K57=;sJBCiRf)X#^^iw{BELG&EsBnkvY$;OT8%b(fUd#Z zGrL#`!nOhPT55Ylney2e$-X{8Z0Tm3*aKoC*i`YHpj=0n!ux&QB?bdK-~AMD#GP4_WVGc*2ZNdAa_H zoFvNv3bcu)S`g@_M^s03*$O1{w~bBI#Vy4Xx-l1%m-NWNc9{wiO23~xZ0G%h3issQ zULPF}Wh~=9BO6#xZ0G@j&_KfnZq@%8(gmqmRad;5cjn?G- z!}A=^+pQ)mXA^&JC1>=#&VB`9`jPa3mVoxNO|>X8K1;{oD_b&^0~=%&Mi5(O#_^+r zvzmmXe%lSdssU?k^4f?k9*~9<7?x)uY|))rdhwL`V8)l5b93!uR1gNHp`n+1)f5~= zctG=ZOo4FuzAAbP*=1mi46}WW|CWVD+RJ_Kp3&Yq%( zKZX>?-Iho=ZZ#fRE#>S?1%&3l4apUwP5tPw?rhYu$9 zVU~TYwrx%BYb&t%4zDgJ2LPVMV`=Cg%XvbZ-_Zb;f!b7IVhwSWSOO|+NR^M$;xV#r z&RecL(epk36?pY~9{`%E-pnDYIwB^rho+rXsPn*@@3{F$&GB_b?D ztbxekc7g(lsDLI>h{y>NH--=#bLv8PAc*^~hfbUv;I$kC#$;UPUza64qt<%H2kHzM zZfR&LK7-d054*^T3Y+E7w5{wVlKyhXq{P%Oi|UfemxSUKr)S=o1!XcxY94oMf&12YGDzaiWb zT=vuk0P_x^^hks@_|xqOaiXEpokEpqsd>AN-&dM7C++O&P&uPBnQJBw6i25FXu*6# z2x)VWuTz%agr?rI7)30*IFBm7_w?_#VN$)E!u3^u&%t{()#eS>0pxuluATe_r3?CU zT&4Z$rRtE{(d*k3X)j9Bd>XWpv-tb(szU@4bT8?sVgye;GS!(r=fq2p=@5t~QJ<87 zs91i#*iRi#fsxRB9ezoU3c*M@x=MwLC_Sn)eoQtzbE}xGE8FC*B{=)H_CM7RV-P%5 zX^|^@<@f#m6a_-H_>PY?0i$H#Q0^;gqPZPxW5b!=INo`n>olw}ban9~oY7DiiJ5Cq zdB1KM@0W8b!JII;dC`(VH#^$A>^Iu>l(8sccc*Fw4&2aJ8p6&GAUp9&*PYoZB#)*= zh5$DJqV3oIFdLu6PtVz^R$ny4WpPdY$Mq77E?_xtPiob_b%ubZMo4Blk|lAi>FI*2 z+w7Q#aFz5+6FTC)@3Yvy?_`;n=}k*M78OzI1+{mU{xA|6tHl=}>-!b9bRZ+#;yXGs zYuD!8KX2Y0a(>xqIDNbh_C&DL*+MS4)j6p~y|AZ6@2U-ht~S*sbx(wR0xha!I=zD% zXDHO5scGh;Qt%xPk%V3Kp&hM;In0?G3TYQQ!`-;%k%zD{2kL(Pd}*VIkiEP!(nb9+ zd(yZ+--Ch8_K!e8{H zE)~{jKD8RBA})l#$CQL1iJN);cH#JR^|^m{_VpsCS?N!+z_<1CiVfb+Awd_vMx0Od zQv*F+bAv0(k&?89)#mqOPR=WLw65jZ?>~AJ!$wo~d&`R=Z+@tlFp%Ay#vdLHN^NY& ztU#tOX^U5OgIY4w0B;c4td?hPD4$hHncmmzB5mHZ30Aq#`q|mi#5gmhwcHJ}EihSzmNF2To1OdG@B*OwqtCpyhVF|@MxoaEM+8=k!v+1{u669E;=u4kk^U_EIsjQotyqDUOywTjP+}zfgCya!M zqs+{?x}bU8_K3j`PsgSTB*rdBM#QusDx+ydA5|o}JG?er;pZ=UfG6TzDGBF7X@Hw| z8^fyn<~<5oRq?{J+z_tVAUf+Vd0p*2e-P%cnQ6ZM+W(Eqf8fl4>v7~-gm&n`;r`gz zyi|j}ehS>M-KN4!V5Z|2FYtBYH!dsIG$SGZ#l`BDMDt}*Qn>J#3PAh8Reg5N6O=O5 z_Ot}Mr#q%8Df%E;MM*^orBqVJRGAv1Nn&f4uI4Ln_+ltP+Ruo`hoXX@}_`Y+RpkSRTe3gYl!wNK*Ir zm3^XPe#SfWJb!Gn*JrKriHr{c3OAvKa=O8WX6dSe>ji2+s=F&FRyQR96G zE@-HLT1~HD;30=RI-Wx1guaV3807gBAaiG6-^F*T(OTt^C7B~3|D#&~>@!{t%*0m@ zSfGG0fWqj=5hudMbT+;llw;tdrbiE7s1|H=GXBK{+^Th4{1A?6X7r-m9!z^v?H`wL zxs^AR<-+5^JcH+WkL@~~vmWV=KIn1hXu$_CAO!NBIIC45m3(myumHL$Q-H+b5;qJx zgN<-iP~bR^K}bN)C_*p~kjm`T5V{*8=XVH82GKTIZGe!9ySo4JGu92x4;4H1?m_w^ zuNr71^#4ad>kx|%5GJAqz0S_Yf*&9kI)(`=!7<6XX3$Ka69QmRf70F54LRI=aCS3RpT3C5zUx3x8 zgG(R7iN;C7$>(svl}%iv1{0W2pIvtfdE!w}J!8t}rbSv|sv6BJbSf-8;ai@cP`6;it)#z;wLo`V0vce zmtIv()`BR8p-H)Xw}Qu60q)iP_s+q`%V-VZv@BVH0O3Yt;rJ5_F}g~ui4R8YF?&d2 zfB6-FDFGArMmcR>A%_E_j8WG;9%eamc`RN5<@EvHdGO_B_vQF?PGkc^q7!eWr5AifKTsM!ZE*HG%tJ6`4Od_Ff#fryGtA!O zdnlw^H5Lf4uH5zzy1HuL9oOESmn5=wt$ks{Va8$KKRe~xqvK=K_rS68>Ym0vW`TFZ6xT*mGi)!d2GQ(W*;{_SZQcV4>_c1t00uX!b4 z<1GJhx$|8N=eKu7@W2NI(_eg%hY^k|-8a+Suf2d-Nj{B9j)Ihk%7EZ&;Sn0kg1Z_g zs-O_Ma4=hIE5ndD$r|}@!hSwXbo?qQk*+Ri1zwiFujqmQgc;?6W!C^GRZos}}E9h+Cuv$4))ji=(w=|m-7Fz(-G1A|Sk6%~% z_PLC0R7K<5M!GVNfwfPtt^efjQ(0%x5OejR5eazj%ANha0TEwIqaFI~_U3LsxstM3 z?Lmiwf-})r06y+0-N`Zz)p8vs@>;vH60Z6l%zylah~V%~8@uX$;Iv{xy7Jwaw#wBd zCVcO@WHa}Jcjw{pOP?;5B)T6s@!$m~bd6W{&8QEM{~#ftf*?l%_+{BCuT;O47l()U z@Bd-FJM!t=0Ct6%nKM@xll`@kXM)&{Z&7}&R+dxo>S|i2hryi^&ri}L*QfCW_oFeJy){VOa-2bpE_oY#H=n0({lb=io1Q?VfJq}NgHptl)* zl>P{pGM6`SF~|@d-v|+V@@KHs?Gfwkl~=Q!SVQD=bJq!6aj)|b38;F$tx*-$vpstN@xJF&3I8o8IUi!rr2PH9puE`1(()LoTS1(y&t0X?He{Da$pO;t zSWgxNj)(2HENq19Dv;xflZl1E)z!@Ga`Xos3PgZgL@b{Da@*P7XHgq#>&I%Z;lSWX z15&!gdDpNqF@I2lHRP8vR-rO6dCiY^Of*2}tf%Wq;`S(W{3Kj-8w6n^2Nfw65&RZS za1t$&^XUvuS{;cu;fm+LoCpzcC{xhj`f2ncf{_aE{>CU?Jlk@QW><585y7xT!*o*GCe%-am#{L* zs*^+!*BkwTK*NtN3|&>XET^iLfbY;Lq1h`(s}{ns2M=bE!!Glhi1Jm?dC|KK0WDx? zw9QX7+WB3(ZrV6@+RwiTaB!%Sp!zIYj?{VmeDBw}lBp`F^F4gCb=cvY30=P+?bD~o zhm>4?n(=yiBk>w(ZNmz1RJ0b}aHktIab{lUaZXIn-#)8HI&GpTN|2Tb%+^70D zT*=ne=0$Fe9=0PrVVIG?cDNdPSd~DJAldH$DN*>x^Imnje~V?~+sS^?L>y1F{1B2M zlbNpw<<^W(9&F;kUrGKl*V|(fl@*NP@~J{J{FSbWm4yOj zShhYZ5q2^nH!u-D9zQ3V?fC-A-Iy2-txO6&&>1|@s$gXzya!_*3eju+^g2(72jMcEb`u_~|Mgg9e^IJ#3=aC2 zq2YvtxCjyB+ENqgtj0*-`mQEwYYBJX)FZaG%qulFCsvv+=PN}Nd{>QS5VZD+^1-1c zOt~>9Rl|r3>4|M4rsasE_)_Om!O>Cq;H*pgkROad-Sp?9Jy)#awc2Do&pY*U8rG=u z9%rLNTgzRXluUiqbtdiyu_WU2ba=2tKO0sSRGX+KQg#Du?b&#?WLP`%1{Z|K#eu2L z;UJ|B8NTKxG=^nk9hpea|C7aK=VD`UmU9*$P5wOGNCVU70fFS4vr^dT;2#~--d-u0 zerU-#O^IbUAb(`Cc7>uJ=xZ;do{5{UbHB9>Ud}}CIF$z99ojC4%mw}3T;m9cA)Pkw z7ZM`JCVO#C<78WXWj8bb&-d-e*p_b}hjAZlX11%%sr~J6xn(He5_;oTAxEf<%2KBo zGJ{qQ`b{s85+VH6%9s|4c632V1D zKFQ%viemNid!G^hbb{Q|LMQla>XkV!#N9GJav0a;Oi2hOD`JA2Jf$u6Vvh7Xy?IAl zA3rPWkhW?sZCBd1$@Kg}EiyQ>=D5k%AtU%Gf2-PCu;F8DH2F;F4*wUYhN=Iky?H7E zR-YCIk64Z<$UBo(&iHrQ_-n3_jMH0dwIWCPhBiE&R(yfiAdlIgIc6UUD6>4xMIc}_NsrvjUGvb6aM@TF)iR~eQ_V+vm+=G+I$vwBTGI?`; zZAafXe#;80sM*io%+na$wk!UzgftX%wV-{AXiChe&a5k}J?K60WgMD;L$H(6%^+=2 zu}Z|3hN;JSJ*p~!<3W?|jHap$lUqezh4AWG50c7M!*X6Bg5eZQ%+|(2>E*%a$ygz|pPh$bhvmFhznRzrb5Dg?66g^>{=)FfMKl zc{I$N7kPRTSCY)O-l1$aJOxTksjkVG7Ebo>s(jkV6P^-lu)hGa7T9@Ri9{YQ(-tYn zD~dak6b6BN`Giakr&?zaih^Z?#WaPeDrWi`k;XjsRfvg@(9^BW`p?~wuKv>>cO=S< zs)cGd3+TT-TKH`FQAJL{v=Gj)guUs_+y$Who_6wYKN*QOII36Bh&+9&pxxj(>(=%c zahvKn%g1j1va&Rr>g=da6k5tAA8~9@4wolK_=_sZ$wh^i%pMv%H?L{+2(GqaU}d%K zcB~$+|JA}pBr%X{C-FWubR`?Z(__qsJdt|aOcYc=Ff}tv#uYkt+#D^<>k^sB8@TpE_L~Shwn>ApHK2E zJm}6T_sT~9eb26*z!jb1U8MDpRe0vj55jr7@9w9^`b`G4jH!uEBciK!$-w4sS+?so zxw=qzDNmtJe%9EqMGF~PW0qRpWR&jBz+7DODD_2ls4X|U?~*kv(KYYso;smL(ap$- z3ICrKN3T2tvDkLmwHMD#UUlIWQu1Z>BSsXp6+58elH%Htv@V@k>3S8?G9c^xEQf2R zqf*Wf9@t#m+^THm(X5abIaj%2)k5(;CSveFii(nbWi|)cKJddvqZE!x zeE-jf@PoN3UMrg83a`EL*=j3Ue^@B}DDfJ9mbl@1WDRq&;o5iJ!B@@G6U48vZ(F4Y z%%*05-3}IMFad=^1Ffs=YGst=GS8=n){`9!1f&$?#3Ymjs#0Re<8`}!E8k7^dVs&q z?#}PJHe@0O2QKg*)_rU1_*VaY$~`zRCN`CH_6rZsaS-OBgp;b2YGZ>cO+i@n009jk z7gdsYj%1eq7Uk|9|M0LQJ=?{@^&=?Gc;@OCkSS?iSo-eRkW=3}Wn*VY|E6{SEbK=b zvrqH9v$J!ysi`$>wQIJRv`wv%k!Yp0_mg#9>I5;uRX8ifv)lV=jBW8~EA0Pz-E{LfefuE!A2$U3)biAgwtx=3%!sym z{G!abGcx#BJHu(*16j{U3?Nx&)Q8^tP;|czPBewMZd|~;ygCa4td{^%eT!ljX9FHg z6f=R0t1Fb-2oFC$U^$dl%l{i*xUXL)7Al5Dc3s@lCq@SV26*Ijl}{>VED3)MU1lTl zA%EwIs`u(@z;XatQ4$_UJsU;RU${bL-O;-jZ4DqmUV_T&A&6lxE0A?Y&VT09(;aDF z?s+Ur#BqKV;Z{veJZHt57J#G@+eBIo(M4ldSGQg%Izz$4J=?9@A}P2y9pEgnG$@RK zBQYe;SG6cZY$yZ3cntym_v|wy1cUP-z?gql9OQXFLBPr3d^#aqMzKf*iVh@;=10(R zd_u>{xg`zD6M{^HaC)rW-aNZ|v*qQh+Yw+xG}Nmg^QlmdQ1>y;g&MX&QGFFg#UX&8 zFxi9kh^@vSl29smQd&`KCjG&nVPXJI6(q_*8tbqc^nQa)kkr{=Z_%0~efgR#!`c&6 zH*cx6*Q$!3X2*Z_frdY3I-aEemqPJ*0~jojFSzOFOXSC+M2SvjHwt)O1Pg}gvpJ?t zYHDe4tU|Rly<4(0YK9wEW1N82fWoK9Zb3QnSFamU^E?RI_X5xUo|7^UsxQk0ihM$ki?K~#O8xOD-Z2v|w<@fV3(X;FYwWp+<3^UOt zrM)E2B1Fvpn{*DaznX70g2_(qy!ANyc{XbsH2T!yx8ULqG&4shbD*H2;_`B9+RZ%b zGCyih-~RG+Z0y6#VQ2T<9uUL$Nq%!!Y{?37skUo-wQ$+I7-Z6{3G5p$OI7X~QiK<~ zAbU-Ntq9MW4z7wEki+%)!FkGx-nt&$5RVs7%AJ0eA8MiU?fzc`R>h_|^>)zyb{rsn z6wsJe&LUSjF7dig1Rcv#clar*goN&gYVYfx3R#RnApPUPi+4YpIsUWe{`%s_*W8Qr zyVYCPJM2XG?zDX)(A++7l~M5xIh*`}?Kn;=R1{-dc`dvWIJ>Zd?OM5sw+}t}WqcWR zH$hGyVAUK%0=XFNzG;_mLt3(qMC&57-mOXcyjg0i7(RYSXwUGK=fIBE*rgTnuS7c% zKzoql@2@mZyv_pSlHR0KYu1(Tua>BT#;5{crpgL)XI_b5AiNjZra`+ zTe-jOzP+@+8{$>Dq{k3HAv$(-j8xW7@ds-@z*Y5BQnW7AS{+k>*B}NjRdtc>H~e<1nmV&N|nzd2?av^9AYU(9x$W_jg#}w=4J6 zEt{b{JWcv4Q=291Vl9zgD@l@7iC|*FM(anSkyizs6N>Fo8&`o* z7l~0O6=_Px7XbzA_+N7L!k9h1DqEqe+!iv+A%oo!AvYE)*F{V1K{V~F{rAUWF0bJx zF&|&rJeNpXKbDeNWWUF{kyxnF#DAT&viG&d1(S$nsO_360uM@GjG zIFVKzHrKT7;}S-O{7uEK1ha0C4$Hbx_FAd3@y9jIzdX;a4d*>5AMiuR(^9l{P5|o` z--NE?EuW5~)LL$gT&N2hU5K+1F_}|jNyN=2zuVZbZcTXb$8as+IFTlt9Hc2EoU?_jEW`m3EQ zT@j<@Do3ovcZ+VNA=DtIheqdp@CEDCp^D2b#p$TC{HUdabA0j)4JIy>`<}SNuw`9j z|JD7S%AF^0CF;L=Ubx5E57}KgstLY5EjPM5-Eqs*=TSrdXOnC_j(Rj}YgId&`A&+g zKpWJX+7JQqfkmMwI?=&V7`))c`Y>15*G}J=xclLYI%z8xL$fSlr(MDKQw!cLhYVbe zTOA~=qy-t!4s6CY5ApAz=blk$yzcXgiO8KhLYB9~(fI7@4tuEDsH+Mk!rv#X_rH0s zHSaR-FHS3cx+8A)Eo(_MO=N-bJ>@YOX(q&3Qd}rGHkz`PuLfYh-nTfGhMrC;b>AmO zL8ixLfLztg{oPu6__e~yL-lxTkk}B{hN=S*T%vVzKa-Gk>3ZLedxMZAakZlCnfQ_^+CtRO;z{opFa1EUQS3No)+cF+n}^}y%y0p zp`Y&6Z{!uI$RfLWoxcZac|N@aA%7-4SebZWW)g%#4L?LS{fbQR91pmSO5h{cVade7 z%}?gUi+1u&Ate)WdPo00Df#m%ltkG0Qvk}^4bZ;#MOn8zhEZjruH3#1%j))+W(HMB zm4H1!UE=1xgD`*!N=^Lj*L(=3 z6)Y^l@+R-eyu9<9+LiGJGv7%|TV@s(#>FBv(V-8kYWzEtQ{LSxdx7%IdsV8!2vrPC zGRG(w^s5b&Ry6$g^DjVg#@9i}PC*F|C=%k>*7S)iaSQiO&E+r_&>&le2oG5G)!?x? zKuJzfxS5Ph;`5vAZmaO8-@zOc$gZvs$Ue3x3~fV!uVG0Y&&$=r1${7~Exjj?fj8(0 zuwTpxu=uArW(ETkc1(b95)&nbtkD4ByXGG=Gv?Li67!o7;vPDqKGE&yINZz}YQ2Zf zjSX(t&%Q&lRC)=qVlOQ>s<3R1zkWM)R%LI=KMbjy0b$ChhjnP@tvM0jS%75#EmE$8 zTG!t&AVC*a^|HH&okh;SYF5Ac%;C1e)Gcq@5Q00j5x?bH<fZ30#}Q2` zDouyDcQ86KB~S6M8lNV}=^OhG>yS&o$N0}W!KtI%p0>?1JAt8TOdDfXZdG-gF(pJf zD0w1aecnkP%O;#Z<^8phEKWn1h#gv*SvMKfAl2MLanzHQ??T4}*~ln#5i+0UyAE$C-9 zKFvW7i3!uJsfXW|Ikd_9*%B z4QleG!Ms6AQhw?UFbE-6UmWyM$jkD3{rR5PqVV?O0^qK(8WYV+#DZ-Y3O@+vj;7zb z_~g-8B{Y~8q715}qy?>03v1fl(FBEP^X>L|VVGqbMjz{LM9Kzr);~Y(+gY0*{xi^$ zQNQ9PZDEn@T?nOTWmXP#I{IB<+BTe(q%Zu1m$#+tb5m1iiLf=%$52$_ z-VD1+Ou5lh4ZW^yq{23qrTC>C#QhayeDgH#`Cb~6;-^$Q1+lr;-@`P6>!yeJ^gIxU z6-~ldw&VpzUshVzrw%suT2Mik^aYjMq1+$hR&DuClf{-bDn#lR<>c&gM{Y?3ja1tvxuL}uwE_S z?wPyQbe=qED3npWxj5m_>`;|&U&FooDs8?oE6myk9$cEtylMA6kGips zT7*fgv|#3{RuKL+mMfzQ)sb~lhRB7MGsJdZcsD%uoyImQ#G%jHvAwC-wN1POOy&4n zWg3QIElyejQ~~%@64TBN?zQFDm4fB-gmMQhuRp>HZ6#VG{cW9Jy}FkOqiIV~#-r3V zLg6thMXs-ww4Mn6X$?G~`Q>S-)QMeKxg|>(vZ9_b`*yt!2Y?l!hvh~_X4<#La-{t( zuU~tw#IQXyXApEVEH?kT_{L2<2|r)cMDcp8$gat|afQLEohMk3mz=qPiJ|Ro+mq+V zQ0j^O<$0(6!P^iZc_Kaax>@FT6H03@Vj3xba2R9yB~y%#x3qu5bY}6q-mcDr;cT+b z&_pPBAurtIG>c0(w+~FcX=Ne$0S+%JC?X?JiCTd0eWt~-0#pirqRvI*kJZ(W-1PqB zZW(^P{uJx)^=4dt5U)rWk*YQCl}2uX@>;74|Ufmj*-2J6dNWRhwGN_xkW}s&!-vBo<8BRc9%5PsIT9ZD99*=ok-~B*&TTk=X zPg*yE1)d5E70LR){ZC#}LLxiJbaocmX3bwf$6$#6(&KykP&_Ax#)}jIPhPiNvvR`; zDGP>d=j>pnu`md5BW4g=Y(x~3j48|A(5~|Z5zF>~St1Lw zzseT4NpR-Y|6hP32ncXI0ky6oTYGoOIB+N)om=6l4~UYcd|r)J*po#&QpY>$EK4Ba zCwK`{4m-G%ApT@E4V7$8MdNMGME`K8 zrdR#?po+hDuqPBx6$;#Z=oqW8p+OxBLF4cl$JC*$0DJ&yi0%hnh*5MAJDWd<2A`cYS#SA~ zg9S(<4i>=n7KzK|7F*Y_&;bvA*Os@MH7w3UAqTJk_7;yqK4K0YdxgO|Wm&&sWH z7W(LS`dRtI;mR0pfzXb`@%BBNn?LmAA~!49li(kycUrSmgaVY z2gi|S22fInm2jjnWyp55@Sn0d1mJ z_xiC{p|s($|4Cy^&gN!tckn%AVIt*mWBt4uWdKWPDW+|28(hGN!})FATwg4M_rbux zy3_St7=~5&2RwI6uQBw9`z1kQr^q4XYDbCm$+v&n>9?m{gi*gIswaUMx_4fz3U|BZXMTL8bcTJ{pci}uF@A<*Z5iDS3kuh4^dJe7*L&V(!dX)2c zS~xblyoe0fZ=~kLyM4!+-{D|?ECRc<2YtxN{sP36Yc{+(l@e?haVd;hw7)-C2^)CM zDDw%ePcoj!3R$E>k4Q13rid&{DTB`p12#dRB$nPV?aj*EWa3y+qRQNlt6yhjW*2?Y z=)=opCHwnl)=BqQ_V>r}wC9Ne4m~s$ZOiKAlYfI0X!rjpOGzDH$t*wN?KO(LQv8-t z7nh=u)Vom=a=T}reI_4vu84^MP$ZVkj;5uJQ?ILjf2~778tQ=KOT@ttqqj=L*R$Q( z#m@VGC38|#QU3_Lsp8j)&}9FK;%Z@TbM3p1hCGWy)*pH+23OplxGxNa;6Vidnq;>Kdn#J-+|~YZzxd{*xDiQrw@0#c{pi4LsSnNkSkz zV^uxiDUr*%yeRyW0HTaV8}WU`nJC}J-%sU$Maka`pM%sHnd7HLA% z(fdQ??h=SP1ctkWMAn?-)<#uZlLXt=H%wz#W#8_PxM7u#rXwa48?b{B+8eucw7B6$ zpWybEkHx>GDTuH{-Bie|-11O@N?yf*=zs~CLWk)5{SQ_Ey1TUHAM&>+a-^?)8fYK7k02BN~5c$ph& z{**KX9an*vzv$)AsF^1U%77nO-0V@u3Ea@_?RWoiDT`u7KL@8O|22X_ATZ&DMxN|7 zngFExVHhulfAno$n<#1ZiC!E;i(Kh+8tCuvvTZfW*qBskDLRnSYp+G$E<}ajDRp19 z7k8oy;YHo|y+1xamr#-laP>Yq9cg{GLz@w=JMiukXo6d&RoQ3Z%U*5!g_lp*fyhnY zf?<&|@B{Z##g3%kW9-9c8Cjx^3ryX%CE)xuJ!1b>4SpI2xSRcT9$dbO(;|Hv5|Fl(ZcDyZsC7dlFj3S*A ziMnMZS3EvdvX2mj4i$wTS4>1*IRk&N+bYV(wLak+m0h<>i45aGDn9OTm77vl&NxrE z=4$Dw+DLReKCBL;<6koLLyz^kxf}M8&pvGY3G4lU1>ti&d_m%w-ANe_xU*rsliZ835LC z0u`01aviIJe>Qr$UAr6YsS!z05dSbS6L>+90itje4SQs*;YergsR*y8eleUvU7l9nOIaisLl&w!gM>E=~u(Mg&g zd#)3V76=#88~>;ms-DqPBgSPJ;^yZp0iv5Hc0{>cPlTy)Hq;&fCNW&qJ=kPCieCIN zjQl}IXapZI)sqARKAsQ&L$y!|$skHpHRp zWoCzGZKwj-dQ|F>X+-C@?Vp8LM8 z^E?iKp%SZ~LU!G0(?0XB$ts?bP%_IzAc|Of@(H(F(`3Hy=qXE#ump0roCF9B0aHpno~aJ=Ka2AJ8Ho~7G=o30lf>!7W|X~a3fO!w z^hrfiSexgFcoV3(W&t5o`)2Qlt??V&Y1QKM5^2V-liq^Kl9RH8=%WV zcC1<27pM9vJ_vhc%wVqH^G*yCjKTQ^hPf{{_&d7J2P*{lbS)V!ES;R(aB4ov&B*g_ zOp)Ist&!&9jrrC!c%;Ifc8+3lYd#;4%QTTdCO29#>9EQ-F5}qa$|;QZaHTonKQ;O4 z+Wg-W@9u?Tl!Y|_rvHyY3K`6eV8oF{(J5>Ih0;|{VlI4#!bvr2CC-#?j}GEvm6j;vd;c)3kSuOteG zdMdaNac>3rIFxlZKxNEajg4sRv?!@09tyk>4YrLLaWH$n>&^kD;^fH)uC$O(aH=r) zu|V*e0npQi7i7o9X6V6Iu-@X^FcKm5_m43zv*%w`KaVM&iTQapOp>cqmwT;1v&GHI zBsPPws9&)JM}rlyk~R7>Bnrb<;c8E-Prri4uEKZyd5&$;v{%))jpXW%)B-xTbosgA zI;2SaH$4PTOv!+al-)GMl8sTuCB5#)`d4O@D?#Sg;pCdD`*4t@#ZY74(@Bo$lUCzr zzW?424Mh|EWp@wc9N%TnI_>nRtc^bOkrvF(4e9hiQ7|Xtmw)`45PKy9C-MDeeZpAU zHKUx#_2rw#;h&GWh2c9r`o9Fie&5HDGLG9iulVyR+VLN9r?^Sv)rP!iz0cp zkBIQgbX|P4kFmu0Ik3%JqebsuFBjm*-&y|| zL<3cu=0=)hU*Kn?d2;8cjy=TXyNRIG8_k*Bfv4dc`E!Wj;k#TL=4xJZ8}IUGdcO>d z))#X#|0p6q{poN)L|eE!&X??A5W{`*{u@lF(SH#h5h(rS*@w<=zqdYCwKaJY^5$ls zZ!x{}mvx1|EQL66`F};sHK@28db6pfRA^xP+}iE0RAz-f?sjLiDE1~b;^_C(?(S8y zTj2g;7dlT_*A(-3dOGfJN3QaSflQ9B50Pn2?#G46y!72oBMu2JcvD-@^r<<;%hfXaC{3|UB;v02G4h3^*Ao280?JN$oCUzAcP9gk*)I`JX6cn$xlmRbMUkIo~f zcmK4g)VXm)8m$-Rd|$<;8gj8y`B2t8w9&2Nr8KZsV1<7APucGv(#r_<$R%(iHt)!x zyZ|m!XHCRvwb$fTR`SJC=qDXjPRTcLfo&dzkk2)N6)5lNWt)u$^|QaD2sMkdv8qn$JLzBsKCR zC!Z7s>i3v;;z-rk&G`%Sm`>OJW?!nAxluZ!7rsB5*Rh}&u^{8Vy*)(p72p2N-JcT7 z0_EI#)r+}dS4)OxuAK2|p@Y);#~cD*W`B0%dVSLw4{U>Vq!~Y!YDWZ5x!5?RzdLiN zq2t7>ie^tzW(~h9FZuj%HVzL-T0p1Lh}6<}x6~AHeKzEder}n|stD<@tnp=pT39xq z%=CsoH%;&S$QSW@7v%h#8kj{gMp2KJ?|6YTmi_+|%3-g|g8hQb*YnZ+?a-2ul26uX znp$2Tt|r+W-5m6St(&k=V&M7LHh)M9$zR4f>FAiD0gwx%=TX(0zE}O3@o6GsMMDkG zwC!H$#r{HQe@**t(2a!_LGw&ZEZhqG0bU2{Qak||R$TmH$n6WY)zh=z*w7$GylOW2 zjyh{ows(gwtwD(don<~pA6vF^#(+Rh);Z@c5+#VH1W8lC|Z$vS?0Hsk165}FX89NU&`r$c=H1z%uaUi2gBeg3SnR=X3TEbt; z^t5UdACoZzZG{N_8=L`b$nvyW-0sEV0KB71vAi|0BQQ}doggsQkqX6dw$*8qS z_J9&3pR2VTswyt-!|`DiHQ)G>@HLnii;NcPIA2zD6Iopqp+GR;y-`c@B^)H42t{|& zMH8v3;U^`ElN~Fu3Hy_MwT>oL1L4MwhQ3K60`x83De;lMh}M&3iNED0@nJ@kB)D5c zP8KWjH274}48j&McFsvUY69iw+nso;TKqA?4Ufm#kQjDT6GFUa1nILn`W$IdzNk!` zXtkd%s(czCGuX^vXz{?D5OM9Gzs)AG^XTingiyof_QpWACood%bM~0i91g=_I*#&F zk8gyo1wwuaYCt_kAja;uhrhCVxrspbu-0fOTby^eGxs_OlTUIU zFDfHJstJi}kG~8&J1$%%t!8T){`2kvK`=`+=it<6>u4s0sR;~~l{LSql@pm|5=C;% z8K}cFeZDNoN+_8oh)+B4iBj^T-n_H5!}1H-0X=?-ci!F-VpGB+O_O9X-v>S&6)GOM zvWbgBu6;crarxrPJT5~wMV~aW==z49fi#O6Gn=yPGqQ!GWd9Vn5?+(Jw-5n#%RCDOBCRy` zTmVy__GdZ23Xcdwn!_fO9gqJqc@l5%i&9{Lyjji|T3=wjuX>M!-wsDyUb@w_I(kEPdZM^i=W@G_l0CzZyTFRYUf$jwVei83 z@A?z<$$7XoNb&z;sbf4ZZ5}L+}EO|7@_e_3{Z@=;A9j{9@Wg*M7#v zScXh(yQz|GzfiuEf~gq79(^FCI;m}?NdRB+^KH-GSM8W^_E$M7PKDfT6x}bQXLaW6mfTU1T4gN<%P*_9+HJ1eK6`ZC&D4ke7U;pJbmigK zLx$nEJC!y@#_U<`mlc@0#m1e|QKY zeknrstyZqiwzn?^2Fl2`fI&{xc_;Qf_K9Qc6Fw+?s_NMy+s&jc-IugRqxEca8&Nsm z!jRj4{cLx?f2jti5(_OS;t^4>Duw{ahN2cgw)2$rB(&3n+R>t0+`>fAI{fyOD1}+a z!NpAJXyQG5Ic)34u?&8(CEW4YN%fisdC-Z4IMFr=_dj6^|E(Y*k7n;2%l5LT*AZyn-mVcvI2~759Q;ka-|k*MzQn5B4fyT_urXdArbZ~qOC0u6-0k;MsP^S$L|1mA zrlvIPn>m77&dX_v?r)UY?gry*?-8>zm_w^&$hmn}NcZ$ z)vLZ`%{-J7Mi*2u7y#{VGJC5{Re6Bm;#vE!L*~u5aDnHK_u_KD3L<*U!4a zYU>!BI!j3d{#^hg5*z4;P@AB&>7u(MJk_wa$!+!n`(G(5_dOKJjW0I(>8-zo`!~;E z-Xj03rO(%Qp{*khov^^v!o#iBK}@B4MG=2<5Z@=ST)T1F+GfvEEb7<%1I(o5uSfz7 z76reu6)Z`wV0J>9oQy))`GUtn!`lsj0d2snSn%kQEA{qZbSFkL&d^s>UXxQ}b2G|Y zh21=aQ}jbK?;f0jP2sm|g+?rxzkmt-lvsD$Kb;hj{u8G27b9-9Ly2A_Ad1 zBoLv$7=G_=k$*-tS=PiLKMn?S9=xA#@_$4H*w7F`hVQ2Uuew7I10}mXpdZCYFaE*p zp=di<&SXo|^nP8ZBMM@~)6m*{_r;Nw?CX7Hq<_Goz1$b~;D{gdNCpbrtxmQq5-NGB zh+uZ+-xzt#yT-GbFSf`}MtTnfhVV240!WznTeGt?cKQc8m*)4^t@`xZqL8sPU7|dTq>no#`8$e{<1OV^o9=1MDTBQoB?k@k zBRg@(?T=GFBL(v5mB~p)n=GEJ>s!!@`;?4V)z3A=)`x&sGb_>$C|^I*uBgi%i*w6hD)oVhfi@&ZsJYCgU4Xp<^&viIVW z2+Ckad}D^K;CT=D)ML!~^^Xbd9A88R|050JUZqx`3o(?Pg$!}C&UtG|zsUm1$r$co z+Gb(2C#=@PD&ywpm5V3U@*E|3+dVH%79iPEw!i=siM!f>3<-RL5BRJgD33$@YGQtyC%DF%v_@3>I)-@g=qs2F)DgK*6DLP0BWM`+j6ynZ3XPPC5`ga;)QIXlA zL5z|+(n9%aRW_SWg%YJSiLP_2>ja~)r;5bS@NpuQLQVz_?Vp_QFRkpKra!>E4sg9n zt`9vu8ThkhZtZ{ZCtas;N5pFrsjzVZ%H2_tH-F`pMS^es!MT96Z^FW@S!N#BUc=|4 zM@d&S%6kjv(%$A#Xp(Jt;!V&k40NAhX?9dg@noe^|W z8b1QloA{{xn0J2V-a@PO6rVaB@2?KJjWW`hp^O($eQ!MaTvOvxU7bBg&eU;CRH*tz zEhXup)2+?2yO1d8!wdC(=Zw+qXMZ#t^IU2pC!59B<|8E#pP^xY!~TA?-vh&SaWwyO zBDghp5|rki9X2Zlw(!e0H!<*iBoaifm)plUD+s-4o`2=fzjtP4mB?KD--kR=v$mz* zfH(L_F;3BM%xUpt`OlyGM}lyqRlPrlsgdBzXN9LB)|*PA+3P;ihSyyyWCRWD>>Prc znyu1pgT{hm-%aYx)-yo6{)%1vu^Uqk{yk)CzV zrDxiZd^L8Q()c_V4y_R9pLn}jz~`ZCDaM?XU6W}?O)@8?-K;X&V(BcsUNmQn3hR4D=oB>H!A^xo{T~0|*iHTT4M>cwi6YEqUo`g@&8rHsGW@3<>Djs#6$_hF9sq8z3__*=Q zTGi>1Yc@v}=aU}!<*^j-3`=4+2 zvoYl%Z-HgTfYIqe7v8vPXZQ5BSq)Jl7EDS!o%th7D;l_^{ggV~l|J>TL=R3NYk{89m&LX@j74pTDV^RF?ld#yn1`s|tYxZ(91PXewO`fQhRw7+ z?;r7v3+k3i*45>))~Pm|gA5^Aa&25=cF(Vb$2EPpvNxmmtl;mKv-}%sUp{?(8xXiZ zkcV8%n3x;&s*>++2orp+rSU^b!i15vx+!EtuoqC)l*wd0dZbjS)OGPs>Q}?!!_+L% z#ZKkQf7|KrXTjcc`}zUy;6}&bV2`)K9vhdR!{xWjsz$~rfcW^r&I4W}^_uPmmyxR~ zX(>(;OlfJ9X|_+ZSskTay*c{}b>^B#&qX<)Je2YnTPu^#_ppGOsRpQTx6K=ctsYEX z##}o3RxMdDvN7c|7InN{xNN@K-kEV6cci?sY=s7ppuc4Lms&QQ_Q9szDno<2=XSCL zw*V}~3*X9AW<>*}w3%gaUH{h(&--ExOtO_MU9g8_r$-1O_`BDYR`-&?%#-SAsr*;n zOM7s|K3W|4Y3y&Ip$Q}Rpf~RVrX64E9hHb>zw>KH%>xl3I)Uk#w~T`+hn7qW&qHg* z)EbhRX5E*SrpM>UPz}eH=(Canw6)h7f}7j%?wZ z-r_C(w-xaJlE_)z2FrF~-cTnG<(|jOrsHf%M-3Hnp;gox>lc1UHqa_S%FZ_phG+d{M0e1dhjfZY(gQekIeP8l0=}v~pYmb(fOc#2zk>r}9NHKWA8S2oH)~Z4 zg%_*(r>Bg>y(|{)Niy2TCk11P9bPF8{14d2d}_uHjI4>5F_kFGQc~_(v)JMC3~6on zwCIuPgQ!TP1@7yo$VcF(0vbro-m>q6J>El&5FKRhurv?N5T0S};8=yoXO!okZyilv zNr`%RNSl9X#H0vEiv29+rgrx1+B))pAM-`r%<3oB1a|!m0Bv+0no-OQ*N1G8D~c^& z_E1Eu#z)>X&)OWe%`SF$2UJ_ujTYpoMqpxB?qTN!sb-L?4X2`;p=m`?Ijq&nba)}YR+PBIRO99jdxs-=S7>{=W!;W~!tEFK;MVs& zw<~~!nch0=E?KsFADAcjm@vMHbU~>VrIO9=w`^1ZcRS8Mlj+r`K#=yOoOEZvNRGSe z#T`Wew(A5S=f7ouY%r~eG(E!YiwF1%BcYJXefI^_GsEOqoRAm4^(N~`krcEF*pJMb z0T_4qir)yi>~ceBki+J}N|zYf8^hnP+`|tG#lns*ak zk{UM1$q*z*B1#(-J|^TD*C$Xd5HkB#+>VxH z$Pz~9M2g!l#|6?#;Xms5wwyL=1+QId@fh3HdqK!y*Hgys#Q0?smpJ(pWd}8d^5EkX zj)~P3%6G;S%DqU6LF}&FjoAimeBKW`Ipm8t4aeT^%I>>K9~(T;&l~)f_1SOwYRJ6v zh%TddwkyEa41FoyeHu`P7IQ&cR>{oWI2nC4SHx;&OfFUf+#rhA)Qs3VeJp!EiMjaZ9lp zMg8ur%N>hnc&D1G0$A*4HZ}}vL zJEb08zCTwvh#3#t*kHSNFiEhvo;P0%xfW3kJNWKYv~Zv4bjGaWa}v$+StoA9GvpXU z!6tvxeYam^69mD!*<4p2|FFIIo*JwY(tC}s`Wnc*tM6oo>HNZyFj22FZ2CEENrk3s8ue+$2U zbfjI{%FUz4`jy=v@o~Z*jO~5CiTpY-#m(y4&!5^uc_xDJmYo|R*6X1t)qCvysxi*x z0uaQ?u%=fzd5^tYZ(q)?xErVnrux+ypce}@E+197sgJOHxawPUk5G-+Bvn@$B^Wv8 zB+*xUMLP#1x6bp%myZFn&w_jmga5oi)oOui;4BdYjmCzZCePYN{IsrbJsk6FJAP4g zS8_Z`v%eVJ%TnKBH+~F^J)GEZ{I2&3=xtlxE}&>C(b2#WAv5A0-Q9joE~|3%=S8Jq zkzMq2phPrDv|P&IOxpSu_$2DE0&mK%+(uF7cfYHq5emF%4;%(N0s)TUC*M~8*1%W^ zrTZIqE4as8BRbDB?0A_RBWoRS`4$+Bg)iIX=L1$3vceS{&jt?$xnHFK;XymVH zk3gp6Lf=2GWd#8bzc6?k+7P~T2#Qa_o?o*<;VOGu%MV|Feck+akRX>?I~~0o%oDTf zHMDzG@1v%#aUi5Pgc12v z!Kv?2s`9v^Z)tzw(KYkEN%9rNqx0fr*g#saGe7>(k_Ogua-YX?*}um{eOZ?RHD>Uo zbXZn>Q2*qVC(S!@ghT1C)+U%+^S*a9m|_rz5gjct+E6=-WtT^M$V%WMEtv>?6X{KB zk-5V;tsvI$?#n9&e*7nxYlMU4!rB@Y2Q4~5B4v;`@0hzx3m^M#9&1@I;*ugv#-;U9 z4K=UhJBLTbZvVPglVhW0Ab7P?(@X2&#OW04#^47v%JQ;`=&wcSTS$?F87!yMyNw^} z50%1%H=Dr7$zzPc0_I5qgYuw?X5^766L}Jmo-PLw6R6D8L=f?bPw;3lw6d8{2k$Gb zJu|3Jd>u@!PWuz&P`j0+&q!Px`HDHWuf-wR7pdr$w`xo)#hWCt9VL-7@cjoOM5ye) zs#IT5n6D+qD3+|n;95IJ646Sj&Y*a0OAf>UuvLdujs|&YQe{@3qGh+Z)6|44fX8>uVsJt*wdV#^ zpgdWC>A)y~?=V`5h0 z2?WO#KECmU+}1cc@d8YaXE|+)L94=JQ)Z>f4o-ZrVk@0)At5C*&P_RHaz5ySp+=8J z0Y)c19Fim9@mf)6<3Ri;BAjSNc<6Nno9fxqni+YoZ3btD$mRd+6WQbA;-2J>$z+Bt zUHNBDXX@b(GDsriXpwT*UQYQ{fbveoZd7er6%15$sBu>>F7VlhOP@z_9~NF2ypC#Yjo>Z9CJO|L;>6wi( z)4U>|vYxw1a(gEEA{j9gmCh_7u;ZtKOGCnkT_)})*58B*cyZ`^hCW4Bsp(Zb&!TTE zpF$P4dB9|@ZdtD$la{p8eFrhMSu8NU(YF6Z84<@5+FmimEYV}dGsBVk&*efnu5 zgjO5;AOm145;ruhVA8U5oB!iBPCs*p@72mgE2c_3Sa_ZX(&cY!1@C#J=`s#f87#y` zoz;n30#)}x($|e{j$B8u+=rgx4VytDJECoMGp!EF6lS^@5eD18QGN_HuYuAC!{?_N z&Ky{O0xP}5R*zX<$Gq`gIui7;4FHtor79IaddevOgcVjpIu$w ztq-TgZPF;l5f~hH_h%xWxc@z0YB@4QYuKL_F=WI8Z_QoIkVW}h?jd}9TTBaCtFM(X zj{=G(1)Fr+U4*l!O=5W%2`eUoCrRBT>kt_mUj9MY#Ou-)*L43jYaVgxXvIffFLh1r z*P6cVM<2t{$RONI*C?=7^*3$!Qu92n55;miwoV36z5v$wC7`r>cN?0UYenXTL694- z%6NWtpKmzZd?O_Cg*ID`#9aiZ_?%fSBtDwqt*PKFW~Mm%vK#`Z;Rn!SzxPguPp`bf z2k7#Hp?S;;KY~YkODh379noK8Qz+vC-1BatS1Nmc@M1HlecHy-;^bj`?^ywQHm)Wv zmD$F^hT}Cx)}56F2u8jb2X^TICG+;c|L>YX7lA`8iT%`@h|pfpMXG-AYCnWQ*~L4uc%I} zj$%P9^%w5M;kC`pgMHZN=N?_x6Qwn`ZyfjXo0(AbNM@BF=dA(V(Wwk#W-cy^zX?wf z%_eh?wC9I%9?grXzysgZDoLB<*O?VYtnY-67Z7WQJC5b|O;B{*5A0-;^Om$aR+f+X z0$3A3pmvO6Ng+5s9&u@}=Y%Z(wEBfIP&z#E<@;-1fvWX>*jUGs2elcS&Jpb^%PG$X z>1}BV2+wY9{yP}j;5+LKat`ymI0FoI%LLPg%J&x)$3F~`p8F=ui`-|2cEPO8L`3jZbGH>dB{QfWejxgYCg~tuMCN zr*D6nxz$atX&{qQ<1#{vJd{1phM5AaAu}<-^LeVl!*cE4I%xT_`GxhV%3Iye6Y+kf z=J3VNdVm$BRa||Kr+lv^j-z6$=Dn8pihcY0HSK5%EWmP*8)tU>YH@N6n!!TR{5`Y! zCEmzyP%?4~F)`7xB6%*#iYLE*?MgenGj@K%@Y9=8+ofAoNny7|uDRupVJPo;l%NEa zB!_E%f4NE30tVM9JH*}ZT~?ZzSk0m+EsQAP}Xo9!HFDf`;HvIRF;{yh1r0#}e`_C6G# zfo;|F?x9da8vz6EjzFyx?|mq0K705r$nm*dEz4^>IRKb8Nb#D%i6tKF6AO+n8SLOg z4AMN%S+=l;HH#8&f{52@wP`o)z74TONr^&_)e1@NU_7ZB--M+EU&m)vFoJ;2zr4K? z8I8SCdVjB#>_8L)J8_-duihn7XQ@Abk*y$*eN&bs*;}!(p-fXj5>3Ob^B2gMFf%c~ zzqOCPP)dw7*wkY?--|OcJIa0Wdo{ZkkWH2;he8FTl^GpqW7WG?_D+1z?t6% zze3iqf~g>J|F_9k96tDjJ)}`!_B7A|G6bvUHN=^N4u;PPHKlH}SXQ}ZlBQ_=Sa6q0 z(G%cQl}nIElYOE~C}!s+?xm5yeS(@FeO2@!TQ8WHYGIET=Xb1NuC@0Vow-d%Tbs}N zw(g5ppp58}L2rR%Z)U$jxM`K&?w>W9Un#`M<7a5Z&tkn7jgR5tU?!p2%}X@w`p=X5 z|Ahb^C5r8J-!ET7_T4@6m_@ozf$PTZ?&q%KCC`}=o^QZ~Fk(Z*v%MYs5!;Gp&7`82 zd(5nW?zAgZ^UACUPCxCsUh=$MAMcd0QA9A1;!#2{C( z7|&prm2}zeJ?r<4M){AH%U$XTG}qj0{6D|;x>!97?YhZ6zuT>s?-N@*j_D^d#H-@3 z0&Grbd8LbqQqXAV%8m?_!hqFY0qT3&`~b1JPRwwPXkI?^9T20x zEwl|I^0}YVzrNcvyo;?F-idk1+lO-1^a|YEF1Ed$IVX;NkvSc4^d#b7HsZRtkA5pd zYq0FYUvQ>Aqq&?Y{Pp<#$>faA3W%cr6CO73^A`6g54+D0fakn_ z%H%F3uk`q&FtFP_pnB1zpJ~|(ewrlVw=9Y9FYMeJ^PKOz?u)oY1DEmdJs$u>LJys` ztzg^Hu=T8U_>y7K;`J&X1>SpMtfaTu9f4MX0nt-_M)-mVZZ6%5@QleUir6r=&_70OPad>8z7GIXPZ51rC5L7&16%wMw2?Wy(*~GE)LXy0xmb7Q6U}Y<@w5k|B+l)H(5K7E;NaPSIBDzB zstoZx{(l^oR*u-zMBW0$DDF2k>0};oi8+eZb=+%o)P&7e7d) zPOReqJ%mcpiE|^;@YE=^wtSiw;HXbF^_gc^n$1(d2JIx`ZcnvPuJKDBKXJ+N4_Lif zjfq$3TGurzh`PVI7|@bz#=41h?JZ*i73X5fF_6Ptz^5xz#~WK|Aguy$OGpNX(CqlIeg8M`=1o1(_iBcXuES;^2I01%rQHvKTa{O_XiY!wl}vs zAH#W`RQ39ek0e?3Y9vS4y8ZoiJpibM++U|kGSad_wq#YEn^H=u$EA*dep190koN+I z99{x<9c?>ke{C+OPaU`Av`f7xGElFCIz|(5ysq2!~X%#l>a z)C6{4+ir!&A9I`o-V3$W4ppy%NSP|B0B^gU@w*eT<%`(%%F4>|Q87sbAvY^8p-*Sy zA`8e1Woa(w8BgUz_7wNKu(UTb1+SWuE>n#!KyiKezc14eYIWj)Na0945J&kcREiMv zp3kjZi}Ikd2r~cb)2CG|*#Z(}$Y{3l z0+^v-i<*z$Y-$9mkWd?($lSMc(812I=eC83@ywJV$TV+6Py2oCo3KlnD4fr(2eDZ%@^-4Z>&38?3TYNl%`e^N~& zLO2};qo^h$bZCeXtpiHqHditq@wX*HA_aoS|QJYSSg7HQM`gol3;zMI$}AN z@}1yG+`FF32BcxP*G@os|Wm~qI2qbXsIW1rI@{fEXHl>ZBlKicJ#?5Tu z?*Fm^L=>bDz{cKGFj>dG=NGlcQvpWFH^Rix;z=+b9$&Y|Xbs|rg_&FqN#2A|a+_>W zB%i|d0|rh@CxH=pba|PU*1m8W-3PKX7xd#Ve1^ycVGO-?EV(#J+YSU;rc-CuQeVWB z>j_k8U$DMg4fSSHVca_cD~4GT%xv`Owb`os6luN+|j9LpTM>vodgI zdB=~HFz0R79A(TCzVh^X#Iepz0GD`5HDsG=!=3skYgn^>FSa4T8sz`e@uvptV- zZuJ-`B%Zn!at211Y}U8qAV$yan_i7woimECj&+LGUBfqg`!z5rF?zc_!lh(Sb*zr$+p~!YBRms z#a9-%6l6-cTt~dmjRoR_`6QW1_V8QNB>p=8yYF9)Akg)(M&E5)E|d!`EI&&@ zO0|1^H>mb@?r12^@;Fg9wOEQk!Jg7t)yW#igaec`ENM`MB{JS7U@jYOmN8=_q2=d$ z`Z@XMP&SP$*!QRMxiT=B(%d(Oap>YX<-LFBQ9QXr9y_U49-{Y1xhd01mhGK%ViUi2 zsswK~W^|l>k9A10SI%EX_@(pquL3y|+?DgH*J@SY6~;ptCiEEcxOa6!m;4Pw{`GXl z>{zJh83xytOHO#4GEkdy=0s~T3C-*yxP)?Yjgd~eKVB2@B7{o02r4U>6ftdMIbsY{ zHlojq9WnxSDs+CKY6}w^V;qI7p6Y+d?r5M)tNboGOjS^mM6eu|>aMHCQ?YO9|KRh>$U|n|C5sP z!k|O?h;Zi6{u9>cihKTUGR%rTCd9`4j3JO#(||T-_yPyTl&hG?xMj&G<_7G;&D^2ZEC*1I>w{YrcN?Xki*C)#!>9o&t6Cs`Vxe!b*2`) zd+Y=Avvh!nXt-(eCU}S$SpMhk;_xQuO||sOr_XuG8q5rgU3Z8Y*5G&NRe8LU>yIU$ z!~wR>1Ex-$9GYn(Hk0e42Fx%Dk;c!W{fA2CH=1XRV!~>ci&GU{en*UEBbS<=yWgATa`N-{>6Qs42K$B4XXpEhY%TjAW&JWXE9jN4e;2>_EK`?&rtkfUx4~s>tzA>X&v zLY2es_q2M<^G$aNl{U;~LK?p#&OWc4w7I%E`^;3+{a~v9uYkc;CC_({{KGW`vxR2o zTGfMJgNqs?n<1{Z+rM{*=3e}=8hi0sZ2r3kCV%ddhBPrbCLnO;s5$GRz|3j9^m-O% zQ+zy1q5s0_N4D#G)yw6GP+=u+M;rT6T0%|D_soFUri&i_DzZH4b%>o~7oLjKj9N?Y z@XZ@f39;Q%1t!+1M;c;s{?*>=19>K!R(M2#Y|OSYIo>mqA$u3w6=POho&h0sGYZNy zT0lnu{7#y*MtSXWk%^flv0U-)BE4gwE$CP9`n%@r zNz4lyk!&I%W1&Mv8l7s_&akDI<^^(oJ|105u1#H+$=HWvfEASNYRf15&D`%JUHU^; z5xMY?tHPD#k1_UYwURDkX9Ahe7|M^B`4D_#J+I;4KQ%3szZCkfvvBoQ5wnM-vWkpK zTbOIzG_;_QcQ|PAg~h{1FN-(iT!dwKdHEi2K)u~z{Bc_$&ub1ZrKZ0UJG8B5Khdfx zI7uk+!iPx!^4u*S3!!YBq|}t^$9(bHyj0Heffc| zA3vUUG6-y6nw*?8Ys}+usRFYyu^DDI&AB4SL>a2^H%83KmG>BPA3pR|yX_{`JHM}} zww=nzX)5CpanaSc{C|JmvuR^At&%3SIpopd3b>JYUh&+-c%{h_vEDdHoG-qAR$@(D zll+l-0@sS19~407clXU7j1Y1>0}Om0DwCz>jfVM4Q4IFN_8&-7eO;5%8`SVMEGT1F z*12LXew9Bk5UG{Xd7*c$>P{JL zX$4X%0}-!YeV5%FR}s^T$6h1lOPhUDq$-+$cRnlzEujOGcFDiAd0O=ivDJ!?u5IqL z$u-d+=7%vjfedut!is5?$FYHo1(?dI*AWxMy($N4dM>aHFr|YfBg|Kn0nN(swb?OA z5|KQK*lu(t!2kDxfjJ6NnnDH3ZqBD%hoW>iIgCxo-)A&eq{W~b*g$+O_0K0$J@CD< zjMbcK%W0c(5Q1vcY!Az`OxipTcV+!x1l-Sr_S9YsCwZ5fe54e1=#|I*q5^EZ^T%>L zrY<5Mo}`HjmVAAe)QkwSd78##PxU}OK@9}+HOPZfmL(}TC2E|_S)!u(ln~naZ?lY7 z&hb`qC8sTo_3%~GldqL)YcjGY7Js!II62MrahB3}E@V6!+~F?h@^ z*1&#JDn5LaJ`FLq!#Mt~{v{f~-~RF0It7@7Xn^zW#qAcGw= zy~GHm-fY76G~==Ev#Ns8;;r!Gys6gjmU$gU4Q7l$%n&hX zusCuAH8QS#7z}x=pwbd}U)cX7<)zS82yK=|L%{9!5BD0rCr{3?OY)Md)`6!4hV5&X zg!_k`*M%opd>(Th976vTmk+yAA^#fTwsoi$nF@WD#v=~f$0P1W zfMl4(cb{4r%15mL_Y|^f7>EtISi40-L+|GOGoz)((Hi2zYK~{~ZiQEwY%7rI<09Yf zgEj2R*|9i31!@GC^LsmIi+Xfj%3F;ufvd^)f^XQVSI+xQ*a-!DXUuJb#$H;^6>j`TS16v`KSps3yhlA4-U24)WA{KhYcJCEYGu`>`h!l#4c;6ZN zaDU}q&fn)+9ur3>WNzzw3EYt>FtWA5+r6sF8!m=AJz`;(7{g|{@G!N7>{!-iZSz87-GBi3U;I?$fuih}pl&X&g74zkGbE&yI{Zw3CF0%6#NpTcGmemOvh2E^1*ON zjvW7yXNhICujTi_*Wlk<`7OYMWOVDb_>zQc`Gon)MiPxqmf%tCFGiE$$ZsYBBzU&^ zbJ$Np*;2!DsnGYr`n@o*}!_g+-yPe!7YA3} z`e>e-@*99o`Rwp46nULK(vc?6WGTkSOD&OFWoCC4!4WQrQBk61#w~t|!%t0pK1$zx zwZvZ=J&mIMmBM;)i@iJem>R)5;t<{vwk4grd{lz&K0#TPOmGcaCeB%{+;qzct%PEg z0YUZUMbIrU2L#Yq_r9KOhq0A5Blwhk0V-|iUZOzD9&(_^wYw#z;{=jFznJz2+bz$v z_PRKTYFSXhcDNe^+McXCfrICQug{c*jVK-l0SaxTw7E@}=Y6lRFJNP#C_3&yQ;_FE z&KgxWW4wDHCmTiJu* z=3SR-6kQbR`yv0*`BZj3Qm8i6EVx>G^%Ck)YfSNTZl$eU_0bcuLjQ-YxBhDK|KtBh z$tVetR$5Y0x{(}845^8P2qUC(G)OZ*aKH;4BS%l9R9a9#0XG_@kr*K%-F&b258rb> z=W{-P!F8@(*S5#={R?&m!9!q|S?Xr1qDpEYdsi~ArfOoY1UT`aWDpH5jtN-50S zyc9Bg>)Vff(m_bef#s=J`8a$4_LT{<8C(7=`{Ge+F^T`<-9{{VXk3gwI}XMC`WUe} zH1uosc&0~J0PA@_2pJfiU`EQK@^kKzek%Y^rjNV_*wujCPz^l0nr!|I?};1^DsS?i z+;&k2lrWI}YO}_*h?Y&b5s=jz9i49aqRIWBSu*^9f)E9edCwg+YVsH$0HIUcM+9q` z0?j0T2%gufL_xDmi8UW@{;;`0tEJ;1r>T)lV1Q8hf^Bm{M1Y{-56Og%Z1tXVYv>tleTn%x3SVVk zNvdd4e_DNU+B6hg&x3iqw0Z4K*VQmyBGXI5#~6nS(Noc5FNu|@LOswU3=ZP)gU24K zPUkVg_(McE7|#Lk(weV$h4krHASZi@(;qQMc zAULuf!dXIQ4_;J>vvpyiRW^kjR;y?WFR6-Vi|~sQP?phgGQ|Nm^xVx&Qw$8*vNsQh zp_Rr|te8S1ujbnow7*s}kwP=tmn9)nC|u${l&)kN=ROUJr+ko}R8tB@`k4m_S)qnM z>euFs2lcvQQNsz)4TR%@elHt7e&_UmVUnfNL@+Str0tv^o@qAQ{=1BpcBvWdT}4c6 z1uzaDN6hbkX%R3&`vda}8%R`;ijRn9Ldlqm`cIhZQE7QJQf!`?<)e6G#Ze>uHUn(K zkk&}$a*|DSlcrn2iv<6M1{4pmjXTPrptqFaOKDPx!M2MfB;T)^eN_X*z?CC9AIEW34mf=c}*Ga0t7|ZASyJD0WZvXFY19V|=6xQHA<= zDZNn=D(O-c}@w1hP$9)!< zY%jYb@IKPkM+;QQW23nTBYPeyrNEEXEOeW<1w%-L1Pwjl4Slh(k|z> zY{U?@;)M~mpI$!CXOYm5kefQz-C!aU&mF1!shD3CSr9^Lodn2kv*Lqb6F6+;8 z9NCzsR?=BCX$0QNmYQN`8tzFqyD*SvLp*%~!ud+oAIlQ{d+nDp$e5rj%|67cx^z}o znK?^&*MEx9S(i5vOhx;lSlI1pHJv!ehaqe%h{dCK8Eo5lzo8kKu0eHNwhY@x}kk!6)=|Oh$K?O|& z14c(6+s{m7<f|xHXk#tl1rlEK(dsdwk1>E~~9fRhQ+MU|gG+ z>$@OyG<5w%AJLh0bumKoK8Md|)Rkr74@_xX>6XUaw>%W&q@YWVIRcg0Y`eBBPk!@m zWP}KcW#?3JjE5+pQD8FeSi_0g98Ew`qlo@yRzqnUc-Lkpm_&b%kj%M~=s-pGd&@9%E z%eipk>U921A|JCh1N24SAeN`mvKsA%5B#He@byQsvu~BlD(95Ji!xZ5xtP9+&0E$y zdIm5FQf#UB-n~2UhAkH%u@PHkkKxMOV!3q4v~87;zl(`S%49MFZam*KslrD#599je zESMfY;Y!r3ZRysWlmQBb?i zV|^C6y;zbM&M_|bit_01Y!JTJbJ|M&t*nso;HPOfHl0Xjo{WlX4ey#-DakH~ z*lCsTg&;tros4~7R5{3@W&JMA_`Z83Pwheu(`hEuKKLJNwH9Dv&x6P?I z85%a9TDNLD>)k8}!s<<|3*3F>#}GQ0x@62&%$?^Y-|o2YCwfxXm+|sxogWkh$$Mo@ z_!&$<=do8${x<HJcEEy41^dp1^HzaosYiPzdPFif1PSXm=4GHW}7>`GDJ7Aa_~FH z0K}*#dN+D4AJ3hCe>n0wvu=fh=Z*9&7uP~)HHv=w_q4~cUZ0+&w@t1=@U%&k2VLt` zi$}r$Hc4900_f>|!KP|_>EJ8v*_(Ge;QcW8Qn)7Zsiab$bo*vzV$53_j8F1C>L)U) zQVtJtii=bt4;OxXrD-YAA8_i?p4n#Z3tNwo_2LclgqDAs>iaf9ONWcSW;|0NNn@#c%5@erT7r>FuBf) ztB(c;vvxtP`f7_1QXV-YN``^zT0_j~iqFg60**DK9_QM>Y_;C=_vK`}AM&Uo&XD}y z*=3>U7zJQS4o}Vj8i(^nTbh4Szxn`uZ;b;wsRt!ZyA_=bxja1o*hwC|s{G-M9L|$% zpxNKY5b4J@+l>{r0}>Mxa!elo#Qzi*7dNN`Xx#0WZFKJl?5iC?yPb5_Mhn&dmj?1b zIpk{RTh;^L2{S!h(`C=U=!zzO^87$uGf*@U(HsbMCq7s-0N+pP-dEKrMfu_z?pU+c(1C7y9HLHYbf|eZI;O?dx&5-{voRGah!?AErDl z2wZB4p?sB16a4ox4=t(w0$>j5zNG&vzhG3Taee4*cRB)B&NdT;6kX?CpZy*64!_dq zAo2sj0&}nMi8uEbAC`!1w}c5f&UHpEo6nzih4}j_KW^ndTL@#1nU2~U)!u+M`~4Yv zl*KV$9m3bLoF(=pmVd^qTSV>pV!zDN`+CtN(j0eFj#b6O$}4y zGAHjxNXxb+p-j8(YqsXo)1Q!|B~Ux(`F6h7WEpk=|BgIW@LOfOR#At+vhXu*g{BQO zop^}BRNx>v?wtGVu&4HVt-=0Ol!+TBr3V)kOR35I1}?T`>CMs>B@XQyK^Lp- z&nHXx9qpnWFr!sbMU0g@OJidx=H;v2*S~9f@AZ|Hmq#6+hbhr~X)%)MT)yLd>7jW! zM<4Op49LZ9so;Mzf#=*lVa0>CXMQJh7F-cBGR8M3kGOx;Meq|3fcvE96Axx;9$G^y z$y(Lw5hAu_a~?mojk-KE`Mk05CGj05>@vgadR%E*9_XMp@x?!2abZ9W!Wv(AH=kmw z%Qswqe)I9{sTzI&#~F(%#>zFoT~xM=bDSG!8pz1h_ZKxZPIn056V;=(SECwHYs){D z9=>vlv~F2UsJ=Sds%@lbJEikR1Q4%Oc0O-XC}82ZNT~_7E+;WSH&Ps@$wkZ+1>#F$eW_iW@F+`= zCYb+^WI8ns2)ZHxKxIH|OX7v{q5?Xm?~&4aG+I=*L7Kv@vz?F4dLuTU`cz%t2Ym-A z#gcu;`RllCe%UY4zl%UpMfo@gtRH=GBhortr+y8^^eHvLu)Yc@K8G6?#QZS)-oGF8 zZO0FZ`N7*iB}0#v>q!cy_N_76&0L2z_Yjyft=l+?rH-TV+IFIvcc24s#Lt}z+yQ=| zS!upzaC;A;-MCc4vyy#WU0qM>>#RBs5QNTC#7^jOE9UATwIrGtzj+wCRPwb~Sl~vq z@cM`jiHqYh4KI2Wq{+^dh-Vl4N1@R9#paXmQo>@<$b#lUi`D$|Qu02o?zfM{?87&W zz>9Y&afPG(od-SM^t5SDst-?_Wuq>Zc0PH9^$hu(0^cdHvksUq+YF|5>1J|1oDmhc zJ5=}7I|5itGQae%tHj;m+l_2g{xjB_bP+hu3CidDEYk@->8H()%b-R z`P=Uva2C`Gs-Gq+$e1wD(kdG3z9j;60q;8YvTLsoIf3$rPi<{#Sr>mL#nIo;y}y3j%GQR>RE9qMsJAn6d_(S5GYZyfCx$o~eumh-T3RZ& z!DBGAL<-6hfPcAKn%9Up9M6q9x@CXauh6j`r_cmc{GO%FpC29TCnN|jHzV_9^6IDl z3vSzQM^bC^YpZHCkr6eiR%NIr7zSedjtflVq`O*vCIq_or9TE@DVKxg>WSp{>%Zz7 z-%&lF0BLKg&`l)?BT-qX?9PirZoBI-xW?g`$9BsmMq{qs$R?>fOGs)URPQ$0^!bo7 zLu`rDY~$AO!a5=RaAVvYM4n8ceV?)U35J1O5l-6m!lqw$Aq?qY${ar|L3mLzJXjxa znsPSTx!1$0dX06UA`SvT@PO85geAc2GLUnB{?l|SG&tn5CBHd6(D z|G-Sm7`#YX%qoewoFM^sO>gzUaImU`CfG9w)wfWL6*rr;tt+R#2(ilG<@F&Rwj{2s zllV*MzxvR246(WCpoo&Y^>~hws;h4JAMk?w?s`QT^*=ePGv{5@qVeUa#GfQGa-N&w zq|V*P+S`iiK75r@^p7-QG*&Slj8i-QEszBE@s4bjV9h7yEpO&Z%*)ppHszO1@UMSYKXA_K zCV9Pl**IzhIfVpoyz^B6_>`wah(db;Uv;l?#|u z>s2RP3ZqfdC%`el%rZI)8q_))DdAIa3J|POihXJX*|7?3F%gk}cUmG-_>1EF2}O(H zg_&5qqL{&ZBoPsxWjT5Pdv)`HV1(lYW- z@_{}Re}iN)&`;@H@muw{OHm2i_2;_+V)S_|*f+89?_7jT*RKlgHRo z@e>g_44Y2`tKxEA_-6eWq`4@n%mx+a2a;1c3u^cvUucSc{VKRR?A0*4F7WW-=BJnW zMMFRLjOUo~ybP%zyiX#DQ$I6O)5UW;U~NbUv!nm8DHCikvvG(rY^)c3}LLnjPy z_XDv2xgz_XlCuF-rtc@5avM()I`L}ofb>2E8UIrHgH$_}j5n*5quP*pt@m0eZ4G8) z@`h$r#A;j(xzj-I&(?LX^4r`NGq>&$$O|XjB?ej?Zj1J>``~hdS-bc@e(%#ua2LLL z|3RxRy(&TU_iz>QiKNMrCEVc!6C}LsH@PtmTCo)p_yN>9E!X4JsSjK6UxIKG*%+sjk_&iZ17CiuCKgbzA=qICX}(N18+U>6)t?vflD# zRvS!|2$5Z@{YQE){O$=KvXNq&(u`RY>q1;b2cljtE_V4V)V7_Z7}XbCh7$45KtVnq zBFl!igO&m`?`j~F72JJZguHyT+%BPO^PWz%(c_wX`@+06PnN}0TRA`Ecl{JVTsvO4 zb6hryKO{6CeH&gnzpGN}m+0#8YJ~=X$946nO#ORVJ~`N+x{QtXFW!sqt(=aE+$hUc zJ3iyY>?O|6c;e*nK@FdUEV#;3X=KBWwwo75a8DIH)%`xdS^1TGYo2xRHy;5v{_r80 zWwnckx~LU`LE_`67t<|jUlwk)$T)MeN>n&X2n{Qcfb@&o!nC&-gn?{w2H*+xy?5X?%3_JZ*rl^Po(jeIrrh zqKT|N_!whc~OWQX(NUM1ySM99u|#4V=*r98HZaTqRyFqin| zYv0_-#AHY|C+=ZM4>6rfvC-cuRqwwI>%2!w9_tt3z!t83yEv6_x>D;kAGw$g;6mDV zekE(n1X`8+uF<`_h^D8(MoMQ1|Exp%k_Ta+^^I0mR;TJRktPVQ}<2&3tV!-gEr1G#jQ9p6J*-5gXajSHH z0e>#p9B}UQgbH$nlMMZrCo4?|u)vUPu3;{j)bN!y=(soivpsym~5k-aG8J9+Q6eR{w# zEB&cPy`NOQbI3-z`s`{j!-l$ahF+Txeek!%0>ABl{L zJz!$1fvpdSJH=9QFnauH<1A2rV{P^)rhm}sSdEKs2>Rf5&aVX@cv0Y=Uv-%=erda@ z6S!L4Y&6pbRgaFO1ilpRa`Uc>^UlKJS9R8}B@c=AbxvDlbYVw#m4hxGeVR^#{Mi%x zs1kb`9<;jfBYDxeLDnCEA?g{z%O>9AM;m9|U2MA6m(Lz=3RFCK7qhqs!{NcV@IM4} zaRI#fb+2BLZFzk8npfpO94oT7%cLC#i=Uz2rHu-tH-uLH5ijQFJ$C2&&_4Jg z-sKCaj5%(ofnAt|#DF;g+8;ST z!1k35=0t;2A|@GRlEy@`euK>lS&?WmCrq(9F%xH$o~QZZ%>>}B{78N+Y-wOR&(T*( zs$!A_?PbJG5UM^hCy{~qY=}Z1e6&uJ;~%T31fLR)jq^38T0abpgF=!lsTqy1S@M7Z zG?M(0#>#7+vlvP2V7;x|R#*{3w>3{3sWm>&Uyt)4RT0w0iJ^`=G^Z?C8eT~cMin+V z2n!~CgS|?^R=lKT=wAAq`ptLS&<%ypm+gK1<+#Z#)*mYe;!)n@(w)u_*474TR?V=v z(Mqi{YBx^AmRME^Q{$+yfT;lm@GN2Glp`!;5mhdgi1Q@tz4=1$0-m5y-v|F)& z8OiKL{7>>@ks@7;x!xHo&{qZ#iIXIk^uskyl;t{0JJa6z>AxQ4xM0EbhGTXsKpEc* zO@1oYAik3*%jc(^Jo0|Njx1W;Ce5r$&Iix7Un6J9p+h{KiFIq@m~e+Efqsn8g3kVl zAuvWFN>18Ik=p`9)q#DlPjs&5?b5vDivq?ipd9I}GDD0ZV3uWMCo>Ze{w!|tMH=_A zy!E>xO?OJ*NChclJVTPi4`sZvXEH+#jEck|XuENODY{W5s|ff{jvr(osg!}Kz}atO zgn+AMrkiSmsKuyE6IH3d3T#oR2gf~t`TLIeI?(d*-V>kpm-i04_}7rvbB{2j>&&^>XmUvR}Fj?Z@!r6Q*-VoPBD!ZX6!vAcSGwWAVd_|a=Lg+@YIUn(Gl z-A#DqcxL|tD_t>b#QDeh@XOYD`;O-+LxnOjy}G~LKfc4MT4_H$DpTluQ^Z!2>mB)T zU!r6AqVT~%yGcZ!J1@=2rT2B?%e~Xqqpj-|$w3-lylMJ$4PFmqUry z>&2-ONu;JS>piI`-MHa=6>i<<;3k9@N2(fDI{j7`8IAaWEWXax@m-E5;1aVm6n-H@ z5L7I>zlbD4^A(lMC2-e?otNcBUBEv1@`l7~s8?eN?c7P3RmTc$$1?9^u)NcSj`n7T z|2E@Guh~#9EYs!s`!MeLurp8Z%e8Zjlc288BMjN@OH1aR7d_tNTj`k#-Ki4cS3e0d z66MTI;&cDf6*xSFOJql7`F6#!nVkO4UT*@8Q+f+-CQ;poCY@!_i=C()vFqK= zIU(GCY@AbVk=Z1M(Pny)Czk|`j_Z@Z0hit=xuDOarw%*y4ofKgv432AVcmlhI?RF-WrPS0d+o4ebs=2jCuRi-7*M37a$+2M_P7YHo@9 ztpZ)o7*py&NmlBM!sW2=NM)BNsFG;&i7i1_I^o|h2bm6#S#hx>52;9nofF=R;$YZu>;;ROMt=m5>Bd;&%NpEPM+@vknsS>C-79T!~IUPE>N zjY~#tde2`e0E*?HYs>y(pZ#@<0+_zz1baQ@hgXJF*7vgMDlzBXs~PKT&R37{3(~vV zOq}0Bpich0;*Jz@)Mj@T4~pnyo;dw6`XkLGN*+5`_IR`7U_44zIoIYr4H5B(Gwqu& zjv>Z>xYHhPqpl*`$FBGopy>dJwYK$#+@S?c%3xKGE@17hfOqSNX?cJ8(i>t9 zb+bI(%QjjSiI&VTX-GC+amhH@fR&~>jv3GT98iDco#;&<1+XXGA5Y>;_ zqdxDO5I+AiTw6$=pP#gSd5aXkj9DlmG-hFvR3%ch5#1h5BRvV#le-N7W%+No|H~H! zakp_}_-Bb%yM5;>TXVa+3oYZf;xxr3j@25)jAsEnvXV3UUW{2@p)oNYB9rmf*?h@h zP+#Nh)c*47<~F@BE~Ruo7XGZ&Y4lf7-?7?$9zm9(V=>L!eyvwCBGw>@_&^Y4P<_YM zxP9P#+b&*X<__!4%09N>encFkI<+nE>!Fo>=z2OKYC9Eq1D#zjFmdmnqRhsKHbtZ> zP7vuqHk%%Lm9LOMpQjl=nT_5aV9QnMvQUZQT!aG5#0bwbo}A&oI;!51j4_K zprltM*6==x)Adpmv!Q7u)CZ)~pk$(kQ|$xR1zGcf_^gJ;e)H)m#_u5h)5UlL=5lcJ zJtEe@)`k*f+<6r{fq*n1V!N@Xy=m!t4KXz>N z(VKL-k{a9et5v!vL5nlO^~Dv`ItO|yWnzl8eXS|Zr_$E?K8;?S!}LebqV(%ONA|by zq`WfNv=OAt3s-S#C!FsBm{>ZyEn`gO1CKEyaexz9IMRAl-yji}Lyn<2J-WcgU|R9dMuAP`QjWKfAnMSvM`xjJ!8oqgefhet+s6!6ha z@M%r;71m!-$1J?Ol2P02sGsn|GbB&ITGdyn!Pp3+*L}@I#FoqAUwfvtXr7~=^Anfc zr(&0*!?0I@NrOt0!IgZ)ff55y!V(?<5sPkcE+QhJ0P`3p3m7VyKsRn|T$0}S;*P_u ztN}s*K%@ukpVWGcqgt`!?oH$FQa5}@2KVE5h2jp(JE@qe z)yS)9*oB@+O~BQQ9FQcGKV3%YjQ~%9FtoB!rq>j&cx&9x*~^Oq2<$<7>s0{_K~++U z;svgo*Ps$yqMC9c<)F<*9J0n*u#xL#Hch8Ot3t7Z;Ky%jCO3Kc6dzIn3=1c`Bi44b zU;f=s2o_)${!t9VGiqmk?&{JK*>4+?8Nk&=f0XLCVeURAwSPKIn0uU6Bb?Il3{M|k zk|rl_cuS`yo3EEbP}NYTT5gG%3bt7~NL4hUjQ?CWWkW>EPWfd3(H9w%C_K}&U&#?A zt4E^wR2R(SiyG#kRV57UkHL)GG~hEa{03ZF#i$KQo}zR%GHrl~D>w)(o)z*bT{iGWApMt%pPsnE!>U@#ywGL`}o>7h>kX`Y<>={BMHLv*X#F zOM%Rh{Rpz8Bo+om*)`)w1ujS%0VK54Yr6Se2DeJkpOYT~$s|qwx&?X8bgrI+*^f?j zzyHgB_Lnl4x@*Ak2WvOm>~`QC&9_1m)*f}8p=P1&_osxl_{_bBf8}X^_Se$ z>WiBToy)Of;+~2cgVA0>wjb!0ekZ;6M8WMNY()R-uY*^&vvqlU5HLa9+ z!l5|g1yWuZV?OAb-+tLlsY^>5Px2;uFE0Z#X_2ECnPL{-+X{oOl>X7}&P1Iyd zg&86Ty>lS_=(&f^-1-AGew2UdABv{J_mt%(Xo$&UD)_Hv#e*~venE|@+^WMA z6Ql@@85Zq2?N0C*gK6GnN*qoWzuNm0^-@Kxs_rVM?xGqzIn62ZV2TWSozVBH7Js;qYoLfKb&`?wgg{vjqg|3-ZKj+9!-CfK6nel?kL`LkBvi-OCd{7hygR+%T}Q) zI8V>YI^AF?UD$qPm`|38END8S9`3g zK0rzK&Wuu%m*4MtxwO;vb}zrs_l#$JrGwvpRV-iJd75U#xz)3{xY%pEGdQeITj4M9 z>{F#$T0tV zhw;rOJ;o9u$Yes@qg2EJn!}W}igM(*l8Vb+`;*#?2>x;)Mf-gzvi7%DhSyBv#Yk!{ z9ev)%zuQxvyvM5!YeTp8BhQkj34_Ol-~AFts>v8CEYk4=+iMgZ(f$(hrJrAg{`%-> z{#!D~T`smeY?jop{8C$q0;Qn;gm-@AdNr?IWbe=3dUdr6u8usEjrx2XoRO|K9>|KT zM&6w9-?`&9RcY0$lmaBlrfWNV0_Fb={WlxAo%3_k@}2nH^$`E7!>Rs2kMtcS-$_sU zEoH>XLZ!K^v63h$tXMbXul4@0e$ZXC237i_>H=lGM%baCcd|=gOA?K_2I~2;<4JAXgPwV|g@>LA_*qru%JNCJ2fSN& z|E~4N@E+pgqBUsyWs~e`-jB)_i;v^kY7qBvAD_aBhNIx)nNGi-e(|)rJ|}}SAvoI+ z8{e|Jmo^bUL&oWUft)@OjQ2wy>zG9V_+pDkfeT|@qfNrFK^o@=WULgb!5`sGME?&n zQ_-%k5fh&GIXw!2mGHicvjU(jalP?B=ey1{a z)e1y-g4(Q&_}z%VbzV77j8^<5e+Bg1!pq`uRs-7+3mtD{Wj7T7s!heX(NlTc$x`hT z$*uRcO`-$!ZSS6x=>e;~`XOb+GMK(+*E-GI2f<=fr^=z~|Ki@jpC5j1J}+J$1rXQP zRe%0b&HdO(OGdNxB8S;Ej!0#^-}@)oc#_GB>vyodsOVwKEPvun zp;XUGM1HqV1*nX~#GDoo+i%S=lxRhO>{CT~Gi0e?(r4&aN%tzqLUN zXrs|FCEWQ7flXnou34O;4dk~1EeXg8P^v8<>(^AgLsJZ;DAP^b97B);G6ZlbUdg@( zp`d7gofBCK2$=Wtc*HqM9#XB2BROjoM1i8ECpfA#4J$!ken);yV$d#a!VpD7nxI;2 z4BAalO_8E+N0(h-4iX$~-!);kZm zL8Rp!BhgAs5(YdRjPUGwh)67R40V?pVW6Hl2HJma^BNS#q$T21BQ>F{Uy4F$b2B?O z-izbJ-DkduVo)!c0m2SPcb;j3HEA4D`N%+?NdFuL5?7oSBxzU2>_wa@j*gEvPWHyc z=P$?D{!wv$F4W+P%@qqjo|n`arO2SoteX=MhF1bL;u(F=hz?+%g1+U%tTjOhuLGkI zQw9*5tYy68j|?;x4>KVr56BT}|Ew>v|LTKfbzn=XjSJPHBg08YL8%%(1h91!5tFZ; z8s+)VQ8pVAj*F$9BMr0NOX3*tP%O0*Npx%jDEgZegprDu7A$wOQ3hX3ai=e@K`#U; z4U^EPkrn#Xxr-nmCJwI;GPtcBt`SC0?;BqjRFW4d z2YHA6K2S4XFy90}9;^D-R4tTN$6UGlt2Q!tzVl);s<1*jmFzG^To&5zg}zCPgyBd6 z$|s%CEYwZ+>=-=feXlmJR^>2#cjwiPzdKQqH2ZJ&X`HRod!K8GNpwR!C*PavioVP5 z@pzBuu9Pk3^rtJC-EOB$(7$(2Zy@#@U+kZ*crsS5&eG?$eC~SN)J5F0sl_{dbh`8M zlKZ7faH~);p91;~eSAFkeS>OQ=|5lwG=X2SHyCSu_2W%npHR8>{3pG~=^2da%_FGdtPh`mN$3JUgU9}#xpwpNdcXhr zu7AA}VIV@nuNaNJIjr=`*z>m{0$-NRx^=P&?>NbyzqsTfDh!wl{R_+#4K)4HBP>Z8hAH% z5KoAhQaZjMYIrXt;QG={qKGOQe;+&rF*9ZlGpj)=7ql33{!_stuu!8nPgeUysw*6k z)(=6}nPR%<$Hd4Eb_)on=NHHp7i&i#N?Hr-^vF7q9K51EpdQ!DCYD;vFf%y?ac*pg zOZrk9$2hR3ntZE2zUc^Pn^nHPpt;&|Do_kPP^4&_pjhDnzxu3_0R~O*i9f9iuNz)F ze4YX}a3OLg(%(J%O^960HOkoj9ks5@nHh^3Ic}f7-X^k;fP|fNR7z6rzq9JtZj$Ug zDSk{&@8=5h=pZTJa;Fguho7x7Csw3u-~UIY9J?6JUVXB-Q4_MZsBz9S+E-L zPTf%no>s=mepo)AKW9`V!CxJefAUr%ZuK6ttADdO&@p8`NVPxdt+u;T{?Catt;Nvke(|I`6YI zTJYb%pB5nvPOyEupM|6$+=U~K&A3ZR@V|k*nWcx6M|ZxDkUo}Hm)|Yje2-zXKLQRV zB6#!4JqRw~^!D`pA-?ltZ^wp3?dc%AGkoQ?$w}97)ZgrWbY^Bz5mBA!MhNYF^S<>c zIqDow4>YNGY5zx&C3acDJ%5GdtZhH27uyLt`8O(*P8ht8QAKR5)Ly6%YT1`KQq$(I zwt-kTVh#T38m2-p(`q*bV*+80%TEJyR=z5=ZzoUE-keZB%e*$l)0A+$_}A4(KYMy^ z-@dn^@J7h)8~Z1Yxr?&N&dtl~=g~}>e;i(ff1Wg&qWLMzv=y{eH=E&(Q*ZZN7ZmzBs(ow>MmYc7>z0o-BUd7$8G?7Aq1m`C)+~;QR8g! zI9PoTFhWM8-_xQN_zZ-Y=8rD9RXnL2CootcQ7o8OKjY5jszT@ZdO$+L4ZHIVtE&sv z&XC<0O7-(*Lik@NZp4b1{Z(B?WERiY29Y>DPF&hd$0Zjp5A{P2Pi8$EMirwbZ5~B+ zX}elIPKBEAIsbxVN$#tV98qmgOu226I%B_bqh1)F5A*(`Bg7j3<&}4?K?6D4@{SsS zm7;{PUzm6zZjApf#w$%qE*ofg(I=yrz&IU82^yzt;=lXv4kTfX33byY8$d8jJw~ixiw?e zD-9Xp8;4nmdJ|&(G-_z3uc?l6%-$Tge4Q32bc-MkQvS2 z3xn8P-?OP4Yy5~xfmRkj$z*k#Nj}%H6Y(c_~U{V#IOXd>sdrEyQyKzqbx8~>zD6e*ae$B{%h7R>fK|6~Iul!i2;ty9QFidfM8>3pP4#v%f)`R1_u;^GJQ zBhdSi{YoS{I!m@f+m>pW+m`MWPu*lnOj0Z?aoNhI|j;8n*df=isGrhO%H`yrD)mzS^7kJ@FH@gy-rA`L`_qIX~0eH@CCT>wFg=YwHP^{bENB6;2R(fIeYt&}!cQG97I|jFaS_-{Bt|bJIaT8(fv(HkA9y2XO>vqgsUdfShiKqm(e;Z?B#wOafCP4!{Fj zyJvM%5?}B_L|WH4{0418pHPcBy&qLR#&AC~d01}1N^Xx?CQtBZ+xT9o0C|mE4UB{9 z{bXZmBiYIy402jpsBIE(i*=n`TwFYwGJbKFS1fmvQHCWhMKk5b5QQt1OiEBA)Dd-8 z3Bl)6Du^uku8JXL9H)-`2?`PUPUFTXr~A`zoAxkHTKB%_Q_o5n3(4<-FdrZhl7r=P z0LpL6k<}aQSw4-k0zGZr>2u15h=oBtr_@f2B^tjqkjBr$k4~l=q~1h16kk?qLSEB13lF z=(=v?>jRia?bOH6rIgPqJLG|Nm$Te}C%0w65ym`ViM0P0x8K{Fc)UGzy-Svn{T24s z#&hdrY^~)nXRzAY_aAx9P&Sul)sO{K1!H07K4SuxlHY@a%gRcTg#d>T;q`ll=o4*P zIyz??D6?+sZ1edXCGqV(avH97oGfN({5O2z!^4hWN%8YfJDxv}48?$!4dqo-JOU5_ zrKHM|&xQ@-|NE%8A;jI~YADaLDj;Sr zM&HCPa+U{n_MMFW`r;@|RXTFLXHpL4pDH_>xZ|ZV(sCs-J+R_RP|L6gznlH*W13ik zp8j_0(gG%op4O@l6Scqc6mNgq;f$Bz;ysn^9Mx zYI{c!-naI*`?BO!iIbS+U8T^q#lD-3x|P4T?r2EUVHE0Lh72feR;^5x(BDOll9RE} zSv7p_(G4gYE{qkkFmUE<*P$Ww*i7+BYsW-isw*#0moNeS4WFLYkZ+K{ZYiQ#PZaEw=4R-u@(8W*dxH55O zz#y_2NAlb@vtL^T-!@|UOhv8kW!r2`01In`9?Kqz-xbdI-{=A&X3VnqDYDftM|T`x zH|IESxum`^2LdL(wff*;1In@-*U& z;j2Phi7<@S3q(8A;{gY(JnprCF;K4<_S<6Ms|-1b;&)urwd}+2|C7V<|06jr?NblG z{zZ>YTzd1ih#LWuUN0Lz2@VMK76+J#Se#?-I*Id+!IBMx1s8^nFC$U!pc8EC=7Y?bskZE73TxQLgXLk`%nC* zzSpl5EWc`U!2cSmqay&CfH~7PS=uCCK0Lnsu2h}2!B5SGMIxeB<7_m^rJ{axt$RNN z*I6DugCrT8@qh&;V6ii|?(*7T%0Y3ySGjt<_7a>-lnzbOH@UDK{+D#({C5F3>}^5N zm(17dS0sRy6YA^pk?>ZV2)>Q7cKX5x)uwXPdkSGM)++6Fg^OV03gM5VLV?cGbm+#R zzO~XpgdRgpOeC8iyxZEN(NfvBux69+UfrY{Rt+vf#qzH;@}a2vZ;PNQbf_1QACr&_ z-HMVa-5f>~kN4jXCrD=uUxj~2A~yvjgxI*)@y3GCbq1>PI4YZONG3fpr!Q>Jn5&+= z4<)r-jN1kCV!&BCfE)SypsT5F)(RqumP!P8a+|9Ne6qLNTLHHmXIs;GdMv3<<~r@sRQm3CpRthuMp=nHe zrAs$~wjfx8c`hz;^PT;_qNvl0joSm|IVM+YLK>&bQIV-(ffkAceiaGTNmHK)#T%gL zLo&(K)PH8)A0qGG9)qoLz38VdP}}?EI&fhC!_bP0sEjTz!$ZWyacmNx-^;BNDWC~y{0u|cM#%nt^-zUa?=r~0O7Mxy8c3i*WHgt<; z*i?|Xt~H5heCHKJ;BO)P^VXU>Z|GyJ@Q8o`0Gw zEEH$bkx^CU2yXaj#C}V2?9e0(ss!#hYpN}$=s4Wkxtt5ukW=P3yUQ%ov6gjbf+c52 z=vkQa+vU#FLxN<-avP1rOsRk{g&Ebr%G$g6i$^*AvgIw_5z{KHtzDlw{y(nXGAgS7 z4c{F~hLHNwpoAjbAf1u}5(CnLh_vL;ouV*+(%nN3h=7Plh%l54J#*^TSP%Z4>WhU0N2D=N-s6gS503#PGCBQ|ALXWu05 zw%dPUKk2sVF}C^-pk(#|KQXUBKzEgu5|<<^m^xgTUH&wG@nRGkdT<_kpEvSljf8}x zacdaR<~~r&0Oy2Hi*9D$t+P->C@NZ(IAa79yq557!t3{{tnT&(tS)h5SySJooNXrE z?ihkLdUR9~N9GGhwCI2RRry^i8_bosTsWCy_HxIn@jBWWbXs)wnvP!su#xAgjiXrk zYg=^)y7`pJ_tFg86tK2dKgYo7j5VMoZ-SUwaT|2>aY2L1ZJ(%g-G!;fIHCimy|!ZkQ5 zg+LQ})59r$o4X&fOV@sLH`#Xg>5+^;;4RbQl#~5<94T1cp<-3HIwQ6|;nyxU40!Cu zW=^_Hf8PbJ$MK!NzX+^z;`+aQIZSUqK_Ja1{c%5fnvU8i6%d~;wqFcZS$T*e5{mxe z$a!29s4a(uiGG~sZ<1XZ@5|i32W%sC7Mo*bWl~pg;vT=!Z;*%R#k!T5?Yx68p|?#6 zcY8H0_a_-FY1|~tjZELGucp-R)`0+0jN}J)U(tGg5;#79yqJXYnKuYCBrs~30ki`vI;{T`e<1!U)mh*6PqtpEGGUO{-L?BS7o76hXHZo0 z$Np>yH;eb^{khYRP&M8Il}svu)DnDtYo(_RK4!cw)NItCcwtq2pduu_=H(}E-Vb^O9aB?=;gl&$9eU^vz7CS^DG47%2DFO=cH@? z%N~ozKT>!;1p;bGToAXoJu`FIlN2EcL*pp@cFv}`^c~d|aB!G8%QY!v@duU_yIwOh z4EdiWHA|q>pD9pbH`4+>XTPpqApmz=j0Porfq3u>StYd8irA0=V2e?UY-FSyKveF> zIHvv1FD69_V@wkRW*p+Dw!7gYMO<7@@WI6?uu^2>u)UI_vp6CJX7`AG7yP^4o7GH_ z&p4tR1J`<4!5ok`i5Uc(0`^Gn9I9g5vWXIEKHOqBR0r&lAQJ&n`~rYR#39^Bn!;5< zJXNB#xn!QQ$7^Za$OZxWwVaqda0IkGAl(G+a#Eodo0%>Iarw#(b zYg|gsTsFb>Ch%6-^wx&5l9H5e(?rp|j~How!yy{9Nu&mYt@1^Rr{bQ!62jtGR&di> zI+tuMN4OzO87v^lE{t(UaTkB=l^Ux5WmxIQuBcMsnN)_6`Vb`vt$OI67t=7%s&SxK zDLZ8Iu9qU30>jQm+aVp-zp1QggF{4PL4nE<&DGJWWG0f{zWUm$K)0^q&O&*;0p{kQ zN-uprNQ@7FFW3UnBSuyK0ugP#NIGA@#5=?QtRSA^^Yd`z;t}o*!N?oFjC-IM%I4@@ zs(0HRLpeT)(|&q_U)_l6y^Cek#ShsiJP@Ndea9on?2!VC>mZ_$KbIvl0wAzSlArzv zft-KNXB5ReSQa~n6nc|=pg*y0qBbK^D*kPjkR>T3ZD7g>t=;k0UlsH+CpHZBOu|=kF14P? z4R8_4&NMdi6vAtMNW`hk+3)m}ikoqD{w+nPwL-^N`E6698nU#TF@IkNhv5ll>fFR6 zugv;#+sES%R1G6s>G+Ei)EJ$TNIfaQ7X4Io#Y!1IGtsFto&rRhKGE)&p4*>#8RUQWseDX$YW)y9H4q;}R!MMJ%Y z_M$C~*LgI)2`jM5Iyldcc}}Ex%V3a|{tJ=5vYtD8>aW>?WBN^XG&@vVCPpC)h~LHX zbZh0~SyBen5FuU8W~`8k7O5X3y3IsETzuZCF^M#Daw4ZOyUrjDsupc^__FqMwCwAy zq9-fW>f-+?lYU4YJ_dYM6)H4>B}hqheT2ww{Fm|Lro;p$NQ^d_t+o5j38^Yds;U2- zNY!NjfU&j^?yj2sS24*kCnpk&8DZ>2)b-QVlh`;xx${nObj8D2V+m|>%iV=yg{+9o zVosi;+AH&_R9mNIqX8V79HT#@8wX48i@U+3aKj(E`)%88)0d^j+}$1tA82RBs}KVM ztwQy&*Fh7pYvgmjREBpAW%8R6H+S>b38jC*9qVrsO=V0{2&xjsBUx9YV%2?FGy)G% z{N}tb+SI7948~^ezTLLi@*p)tfY(=y!(Z}h7RzRjm%r>2zg><52Wkr<$DK`+1_veL zBZ{~J90ezyf8@b9*pHa>B9cs9Qy|~o1$hDvkE4$8+d&`B^vq{I)2kP&tA0sk1RDj+ zYmPqa7k$S9QW9MLh-OIIx@wyF+ZK=K5)y9O$a#ove%5)X`&$mV{Rm{P-TvyP=oyg= z=#4{AgK&Pnbe$fOS>Zf~|J2FrePR81U2F3;*xEQD{-Xt<)cp$izB_v8p$R3*k?)gf zi>-m?5I`E*dzet#``cxa%W_};=eU#1%6j2BlHxOk0bsrj+Rp6+{p5z~^8Z}$HC z%G!SeWdbu@$L}^yw7pjUhOhKse;zYoY6K?+^f^rGh)KNFo0rqKCe-R1L(lbdeanng zr~msg;UOkDyleZ|ugdu4-`tN1H+Q^<>@=ooxqdc;P%iZVC^aW!Ln%SOlD6$t1CQ;a(yDRy+~wdZHe;Pr!z|D zsKikR6T=wwGAFzzn#_Vb`BwEcyNLwY*CCd+uUy!E6ITiL&o>V~cd=^Py%9Hj<5ED) z>wR~2x;uR`snDLC91uvQ72R* z>b|?pZs-2lO+K_tnu2ZXrn+*W$0+KZ8o6r;w*~2+P8p5?i*kvN1_d z{qE@Pch}}Jc>n9oi&9vpX3NC&Tzja2oxlmMT2bdno+q*cUdiVh(Z_(Lz z*0H*JPuvXj`Pt>)6N_IzrZV#T{+oW^1omAUPQ=ZJjcz~1@VF{UHuO@Tzp7DLtr@ug~;Ilh!0<#Zg(&i$Xv-%rdg$nd;Y^Y~ML$Zg?lMNd1&-A9ijSvxI&sf*?f1 zBn=ZFre^OnJGp6;Po(GhG}8pFEP0J-X=#^Tci@iC8POS#idBz9(6f0={Fr=!o5IFE0TESW zSi?v;zh6wXMQYW(D&P3{-e;QlIC+8uEK^7%7q7AiuQaC=D(efJ2@NO%b-a zdPhC$CVwhXkHNLxdtbI!Z9{}EDv^CrF_NX<|HHmPXSBhn)&wAH+7zVVhP7WbQRq9r zAo4^bRh609DRJQ=QF_h~*_QaA%2#qF?eLGV1kZ(iYj?IN3je(O>0koTo9gFAcqV|f zRtm&gB#Z%as$hLo4h&_Ytj9gQ?}%ffLZ(Qe-ELmdSdXT{%@IYAc1#;kbe0)vWIllo z9m7Y=vfF>u-eC)&#AqrkAA7P$DO?W)3>P*C=S)*Zx%eqZ9OlcYPhb%Z!fzhIqA1AF zdOV*CjG#=BQ*KAx+~EMk)Hhf!E#>wxxs5isohzmB=OR9pa@gq1l>BTMt6e4Nl~Din z%2EeZ`G!>^sh&*1osn5jky{+Jx!=!dUakyY&C%jUBt=o#l!&K^^h<4x$s>;SYA#FRZ+0P|`@{yLSh=-AV>O1Ds z3Qz_^qJ@nh&0oL1sXhy4D_8$$0Ku7&M0b8=#^*p7md$$ck$ARs3f4g(1Vb5zVn~UW2kijf73JQ`^mHak2pbdhnh1NPiL7lN(x&*>;{p z?ydive$QQ88#rn}OoUWB8nC+A_{nM6>f{86KA{(kEgEU~A26UFQTd&$L*D)VHuSz- z{@dGbPvzb?OTV#r30c_U?_`#XgU}q==KI?Ft5d7nQG5K(Z-HotE~Idy~1#_mrS z6)shuiSA{R-w#}Ks&Ot}FPyjSiPv8BsxMyWkq7OyhhCav=bEvuA)}4y^A{(a5zjrE z7(V=a`{ZTv`}c28vKO!Z0mkmOav8vxurdZPPaQpWfE99+KRY1*l1@PUg~fFxUTnQe zb{PB;*(2A!oKu0Rgj4(m2I9L{D2etnV0HV}{p%HSKZuU`{vUbB8L+8!a`*CQJJq(C zIe!5%Ly}pATqfIL0UAkXI?H0qz75Ou)X#_6`>oq~T7q*AlpT=Ojqpo!(TI+ea|c5l z{=>%amh0HumgW9|+8=8e`@lH{JjFMIm8tkky@fr30MFx{mqX#mqe}8_%_9DjV{18f zAerryN+m8je=6rO9Xtn0@)a{#6*DFfExB$6jt-RTh77Z<$h5d-*c%O5^${>>M6rjh2&6VIOL1K z!%~1W?%l9YT2jU%0uj&*RIVD#BWRm;DWp}FmUH(!cgV>bKFS+n9_>k&UfT5eD`m#`^ej!uBl$*_M^40%)fS0Ys<;W zObAsABR=KW4;s9Go>hjs?o6 z(6N&i%LS6L(%4$vT&OQ9c)UM*RU1HHzwT^x8&u10b#Rlu`i!YO-SV6`J_=nD`9#m&(v35`=25J z;}iM6q2CP0^`iAK(TF&e{&I`KZyEGuFD+ThACjjpoTa7bgf7gu630iE?xzx+#($?Z zbm8**!{qviDZDm#S9F)`*O|B5e@IsWBwn-zTt73-cdk|RrKqxByT(_1`9Q(xN_Kt(Pm?O7eBZm3~LdyyUnj^u9d zq%S!l0I1pJ2W|Y5+u%b~v-I0iswjHd{Wekl2(UWcfanxG`z?@a5{!cbuMCh5Y^@%e z@<_6(mVAW6@_B8MKUWf3ioQmDG^6{d!L3d*L-S^^t+mBh?&u))(*Tz;HB|X4^#h&2 z`5ze>8Df=^{zp&Q=ICF5JyDrHuLSB^H%R*CeKBt@u5fG z(WW+^p%EHHgWnqRAEcvN1NVL&|J<&zthXDyd4FA5RpZbo-Qv6d+zk5rs?d*2OsVAL z{UvdNqB)>4?z4%i+WAdcY2ny+wDo&B!F41PdLLrOfL_dX2M#tGb z(9QBppUx6L3E40ssueOoVH(vFX3m7D2s}dk%>9^@QA@!>pp%Mh9E|o~CsLpQEnT-^ z36zC?2RkEi)&M?wT7N2(d&^7u?EQqs6`D^ac1nTLtjZ{&AS#7l;4dAI1g5JsZ@iK^ zji?xe&wO~R!8BI8Cs`MT%PwgT2G~AeJXW|zoDR4hTES-W71}5EGVn1uk#&lvN=iQ~ zfmU^+Pe{lDBM78G0j>0D;f^XGjTaBCa6>jGrP>4GN~-v@miZdteo3v*xTiP;mMl(9vndDlTp|dH4pa3D)1*u& zSP@5W(}F2du88%ha6CnG>S%x|S`sCU&V`wA+aR$X5YsfQ8WV)b zMwy5BO$rYejfO?&ZYUf!!(9HW@kT(k4bWe%wx^uBL(91+x}&d0J6YSAGyAm&KVX)Rda=LZNL`dr>jJ8tQs24b#M zC{J-S9mi;?hzD9KHSI~F!RSkAv!uKD@*S8#IlF{rP3nZb%{tQCfl~8J>5L=f(}dB* zvzJikT#u5m{wQMs!`gcX+jw!zNjjVrs`3=h>zpH6Jv7XrK|nB$rrh&D#K{i9IEem% zOj-W+G3W~K3ifh~I5swB^%foAu|=?It<1MPCIl^#x3Z>~od$ng(Q|vqDrYkznn5)_m{6?aOJY3M29XzQ zo<>~Rw)3v$kWXsK>@NtHF5Wbk67|XI3N4S4Ha=dpT>n~?;;9D4!GIKLIdj}Qxyh9U zc_v~W$mHtGy;Rgpw>8a4<-@lOQyRyZlDa;n-kz*^KbUK2m}#TJ^bl2UIg|Bzs>RtC zY1GK9(aT+i?2g{*)k7Nf(aKm{OoWH0eN*2L{Xr>MW7%HaD75J81zFQbDJts422SIh z%loY_tq2I}Jd%FI-RAEua&X%kpWG}Q%T}clAiR>t*_p)lb$=;5vs;S7p<3TahEq}` zR!C0tb$aB4Q>$gAmvo$li!Pn145jswhgv-Uw@%7RdZ!^uYk0KercqsrL`!n9E#0eZ zRk9o&1VQmc01fx%(>UsCY&D*QUX3Es)ARetr(`pK#f$OspzbSg{f$R*-rputADB`^ z^>e*CfsYi@*^0n4VoFhBi0iYRwAX{e{i&;v8jI$l7W;g3Tz7NV763I$U4!2K-5g_@ ztlsx-iATxqJ~;`hO@C*`^p^w@EpEgRudy|;k=}Is#}442+mDmcIMMhr zJ1hx@C_*c5ad%a}L-5yXkW1X{HTlrs;NXz>o!8>RQHLUZ3dawzPh*z-VAJ}5V(~Mq z!d-I=@L{4ccSQ4F*N^{V5_=8FbhQC~r}lGg=Qjlqdiy+jW_n53)y3wfXja%O6vIKY zM*YdjrsKC9)in{&S2)Al9u$gh-5feo-Anj^@S7#(y*9S>Oc7Z^()#}G&SB3PVqW0I zqNMcV2Kuj0R_;5`U*BA2)fA`d1M?%7fr9d2nhTTF&9XUA1oi!!=c=MV?jZIY!1W6y ze-E6`w)Ffn<$g(Lb^rUJ@$1kvab1_^p=eW~StpM2QYKD1+7+=rfnR>Jt3SnCSQbO~ zBW0Q_8=O2nzm*o@6~`p`1fADiw`9-{Omuc`CfjF}8+N}jtdtEo*|0fZe9`e<0sG4t zqZ`%eevL3c%l#D^p+iQV2>eex1HK>kDBQ^(4Ty-U4s1wUH%mPK_BPt&tW0Ll!A{fG zUDZwqW7@Hspk*{n{P<_+K6(35edy&$drzeX1INn0|J>UCO&x9q1H6(pxBZ)c|CP7w zhn^GO2xU2X{hU!v#o;zl`9<}RP^EcG-N@E)rb>sjj$ZNyg@a1>LNH;nolQ0E)3|Oq zh4%9~PRp;JJ*Bv;rWyIpCD>{!yohQO329j&A%)PQMj;k53@+t|C&fVE1>i;`7FEU< zL8W5HmRCq`NalG~dgBp8@)eU!M`l z^}zO160!~ma`4C0_1GlJO|LK{_E=ZfVIK|jC#6> z*6^k^C=$1koPBKu&5fU(teN>)2OyT(0^siNA{dLK-}Ht<{~byWjuoczj&4=}ZCi-= z*7JG;&NA9(rQdYEm+G79v*gGH){MD+GUFEX%omQXX&uLj(QHu#pK}Qkh)k*xV_r)4 zZ){Fqo^>XvN5-;fMEINg9ydtqmC_ztrahA?su*YdIJJ$SrY}lvqa!Gqa6!zgNRMMw z5I-!C3OKUKC$&h)R065nu<4mg$*q{@Jjz zooQIEUA-ksMrLN;H_K*=XX8+PQnKr)!a8o%nOf{k=+)+l$N*pc-~acwn|6GoN|%BZ zAr!I>oFHsOEhUY;mS^J=Oaa)S;S`{!QIcgykJYymgw|2+YQs|K)}moF(0_zAgyJ06acN`p`bIAq8`UsWCY7uW3WF zY#(*zus-I1i#Q_jAaMR8*)llfu|7M#J-V=<(`>gIx4)dN#d;(Wa0V=wy*2&m&rkIUB+rHPCjDLGOB<}rmtw3lLGMgsF+vb}P7IHW z2+Dz4-E4c9T#ju_mMG%0$2zmSKn{nQsX&xbCalz~mhzdQbtfx+XU?CFbhy6mho}R| z8k+uU^H#f|31gP27T?>SjU;iR{xgRNMHRMNu2|o_pGDbEL(lB*SGvlwu+#$T(@Xzz8{`wseQ~)BOT+fv?%K(GVrp((5IaFjbK^()pq-R=1|D_ zb)sxAcK6)K`KWP{Tvt~&fiz{m?bao}@Zcso+6@@HM0NJY_Fv2U*%up0dtMx5!bJ5e zFpl>2L)v?RD;>$YZSFhc)2^KV3>N~nAEFfNo89+iT-)DbF-`M9ud}=pa%F|v8>R+Y z@^4P9nCKm3@5itoZOB8HUbOlgEu7zW4qOAtmY$(s$GPW46XBmx!%VKf;wTjOkBsUY zVdpfp?H)@A;{+|ipldm|IQBkz^On-Xw(|uU|Ff=_5|+W;wzIhck}njopYMOO+|@yY zDpEOHtLI%6j(S(DuI8HT1o)U0eBKUx=e3&k^$M_i%y$Q18qX50Ylwo>E4Wo{b$hej z0uGq0LcQ+84Q7_Ry1Xb-xi)kiW+ex6-I^O8=WkkA_E4i($I=3P0`Y(8 zfz2Zr%Kl)6f=1x>bR96iFxhq(|1kS`@OJj1yzlzXyzl%^m+c1)ibQzNzC}>HYmI6> zmSee{ZNKjSG-gnylhgM88bP+na(AuUelhcVyQVEX;({gg`f~9Kdw(Xgc&pExs+%kS zCpz@>l`)G{(3|V;sk6@$1qEJW{Uf481;L%=hDY)jH8ReW;-=s2&(Y^?*j=cf>3Ruk z*wS?hbbog7GNgV&B`$=E#qZ!Z0-;kiZLKW?sWyP)srEAvZh>KBsnBQeD*fiHY`Did zDN)1}U0(eIu$dT|F;0hxH~Q&Eo}q6gG5;ga;Nh#_$0X?6HI$|hZ>kr%X;Tu2#QrjZ zr9rhi^b5#bn$6zkJb&N>EXIS;c#+bYvuGZbciLB$tC!aLTwX@RHI34qCtX^C?av~= zv5X&A*IN$^ySTL&Q905CUu6aZ8df_AkC?=qfIWLb=-$xK_r%9CYu#U-p8;3@1z=1L zxkU4Rco3s-TCvFAAfphB!$q0%_pkPX@8T{3y1AKu(_qQJJJWa?N#0&1%!eYe9w1b zNUB`x#e{8$8UvzcDU*W)Em10Dv4m^uQ@)2#rS=>0MbQt5Ncwjmo~F=CG#LkYS*JykKkX(td>1{Q6j+M4v6J4i zrWlOvzKBV5Uk=E{0HW0TS z11oR(a?|`b&V;q`XcCRS{}e*jGwrQP42e-4o8_wy$BX~bOysusK2JCMFWKPw?2$;8 zq!uDY*-up;43XphIe13be$i;tgKobVjSD@`Y`aGp!^$xCYstw; zb~D_r=8$V{C1r|S%nXATkrEaVvkZsGFPLe8IidpcI1z#+gdI3xB3pr;lQpkBm;nil zy8!nJS&lbr31^8eSlXUTPq9Gpvz{8a_21*0a>Ilb9{W6)w5BwgflYRi{2GsaW!$tk zj+8R4$bCa{B}&hRPmeK5801YB24w|BN#l2N;eHDtiSQ=l!bQNZ!xKTRPhnv*T=v>o z9B9Uv1olHY!2?;u%PhMTDhPdHgO!`zBOVtJn6+31q?kuDW4g_3+tJKiUi(>u9Zpba z5ARF$49ml&^QKn!B7X~!O07Yrm6?>e!V2-LU(L|7MRVeH;^Y3yk@CtBK~l5Q@-(VZ zf&^q0mkHTy;3CT0Uq**U`8E+4Wuy^FP@Y3$KgT;ip#%qv*Pu#q+|P zzG_;!P7=kzhYJG_-a-v1HYhg-Ti5C9yeN=~ayV53+R28?THlcPMreo_nVOO$viVtB zrJ&2K=f}Yft3WEzFrQYuu!TG1x724#Mf&5&UMa67Fk6ah)ulr1Nf5!AqWIP zRrGQc$RsE9gAL7#k?5lo(4h)NlrW+}&om1-G_m+;&TM;|LwE&=mz^r~i1o-Z#Z0yB z>#Ls(Fw#gdiWaAdja%}0g{B{3^;7tX<`Cw>uJk#ZUJ#h5^E2q51(-XW^#z34TJaMM zQ>d!WWoDmAO7U_360R46DmuQUe*|Ki`|l$r40o9VslNgGtRLy>;PAt!qI6!H2C_+- zi`Ss$_*>S%!OIAO0)81-$mtL#0!{Sw==_D}pv!D14&#M%@#5f<$%nZwe{#Q%m4S~-G33=B} zi+OQhjw)vseyA}L{5zOFaI+BT1KIeiJ=700yE3*)6?eF8mw9N%W~y!!r?qcZxj z_n+U)?GgY_s+jqhAQN?4q5PD+1aAQu-AHrhx#|h$O+SCtHp>q!7sr_2| zhH*Bjhi(aJ=EVaUSB<){!Klqy!DEeBX?RnR?)l4ib=IQ3Z+g4!>?$;Js=L|Jg;yO5VrGgfc-hfQPw!p~5!l|rBCzqd;J5{U7 zIB^%a^|`vT@fx<|8nD}A?Z3OcZns{UvFRai3>-Xs4XZND(@%p*5sILSccdxcD}FIw;VC&F(c`_2{Jd> znp_SK&$92`S-l(?xk_tv7GTbl^w@aUDYW(!XACm4{k*19oZXbxp>G7w9-Sj;RY9ua zQNfsw;={SV^)xTn^%V;9%V&A&aQai?Ju0TQ#bagt<)5Xl^SghaKEdX9 zjTgO2C(&}X!fl>wn8U_d!rEr1>z$E4*mVNn*Y!Fc45UrEnVVa_d(z`$<$c>`obU-3 zV??;swqL#JJ<}*uL;f&F%P#HbpvZBMviBET&B~6y+Pa*BmfuT8qxq~vcKeJ}{hZZf znAYCBVMWj8a<(7(Y4>|rm^+<5J^%iG_Lui8syOD{o7Uc~eT7!=$a3}^Y9smUdSMp4 zWcyOCry<;eMFyWKS=2;M{qs(!rSxh!On;6$ ziyM)SGc}$q12W%wI7~oRp&U*Ye>rZPi9w+}=)0`H(B*j8z+ZfGn&7eW^VgTefA-F> zVw@@7r=?!9Y0ARvEzp$w@IXC^S~H2%a61wY&onDn4u*1y`M3u4-`(;~^*rsoJhrBH zG-#N8sr*G4Lk}06ZT1|)SSu9dz&h?c3`T2b_P3kT$4vhJ^A*11dkH?i+Ts+d0?c$s zS1c4ozu!b{;!JP5_qOp>C=5`A<(xX#X9%lpMnDl11F3VA+@mOB5`-b#jkH9C$^b+H-CU=}J7M+aM%E2KidEW~w8;D8QkaMu z_ck5T$?L~(m|_F^GH-|X7))S8T4W1FW>?ux@}TuV|^9 zUs|q$x#WfzCymK|cmJYBq)@Wn27Jwzh{h?P$T@97DuQr;cB?eDdIAJoV!>AKM2d2o zGFUDINQ2upM^734>Z1mDEyC1!M2fZK{_Pcl3_TrUNBW4Z18g0_it|wzCB;bqBLfTB zz#G*L;^NfU{H&V6Aaq#W3>%mYAgf(CQRboAH|3dtyFGc$_PwtDQn zFzTj*{E5PDLp(P~2`revYfaCFz|a%+a@Ap0Rh{6JoyYGA8js}`*-A`NQpc@fAaPWe zzG;6LG^uo62wvp*(m5O9-)M1+yU6$u&E*0YPC2UX&4u}AHD$j<#%X=G8r>C}-F;>~ zPXB_4P&wcKY%^c>w0iUnzo*&@E0v_hpyT+?NHv?K5%oMS5p(Lj-hWScQ6F^jWN)uS zFId_ychy5KHvVIhaIj{OJio>@O<*qg=Q?nEDrNt$J|JBU8{#-fR zrYK-ew+ddP>A1nn)-JYgi$LBCW_jOV%(LikJvr#>J9Y>hL^K!oBwQAV=NT|W*5 zrZYkJ*NayjF^?G^Roq@$-Awj`oN%$PXg@Q>XpJV9p@FXlqYA-CQ-GTTVVM+Z#l+0m zdcWIb+}~+Bx^0(#KPnOZ5&l7^Hn8WBFKP`1%xd&jxAs~VpXho<=QYq)`W&gRCJHr?OfMo76Vu3E*bg|^>#i1%Ximq z;%ZV=#Hx3vEO!&DUCOR+-fnfSj{6fv5iig)%lcgmwqLgl1sywEwIA1*Z{z7(5W~}I z+uIb3qu(58v4rSypVZ92Zij~f@UI^EL(KX*HcStz2w61!`E{J}F@tG)$l9K>tKT6) z0&SJ?U!FP`hHI3v#&&0P&eaK#6bL>6hlkF}WYG@#xQsVv@MQzT+{g%Pooff&9D6 zsi~P$CRBX5ThNM(?(GFPlAq3^BB*Y9%M1F-1Qpe&0ro@_QK`6xnel>BLg;(&@>uLl z1vO!dan2I~%<6;dMHu4WP-QM#H756u4!@-UyAtqt$bf(sz{n`T9Et_`vK;u7RjD(N znihSwR*4Yf-T7a@YY>E4#oxg}R%;LcVUz54F32%Ghz%cyEI7y+E=~~94;<2&DZ&52 z15J%UTm0rddp~Yb%@wOwxBv2k{>3fkSZS~P$it%2!y8Q;@KT}>05X2D$z%8DiaPld z@yVU$^@Q2I0H6xR_RDX-4KMGYb{;k{C}B0o9ei*{xYv4)4%}-Mj{PAj)aH3A(RTe> zed*-WnD3lV&-$Qq4@&KRh2?%SGA1#l|LBNU0LLAQ?~HkWHGM4T$qkM%a_gH>wv|(X zO}sMpdwjpCo8RQ{-0E8mG~O~~a{`+mc!$b%V`O-J7!KHL@&Xq<<{wVJ_E@U{1Vx0k z?REE^(V0V`|Kb3XD!Ht#Mf0`@wgG#+A28YS7$}HIo`Hqo>~!NM4QUG@Ju)I%2o~Jm z9d!FaO9IK9p;w&u&1MP4)fRPulY6y6mn`8|a3bv7$cw=Lfd~hX5*p|aj5hoJ=YdtJ zN4DvECQ=Jit=BV&K|4UNW|!q|LtR(?YGXxL{_y0xi}97xDuJh8(Cm50MbwkMin0*E zB@?u})75NLZ-B&PY4x??#YFtzi#P~W@N-(;A+YBr*y~yQ!F<2f6JkBsuhhqYBQ}FG z>=uf>=G0+6FL~;a@3(sGyWl^h$bSPMHPRR!r*G3edzKX^D(}5P+^;0$e1tGx^qB|7 zd>xk+Bx_f1swOTGp=X7_6+3xO)=7u z1hbk#i+Sf?L-G2{>B8xf%*t1V3&Z<=Rf|e0iVYt?Hh+s3@6b(oK{q|uU_-?QY3 zaVUwBfs6}AFi!-<8nJ&3_pmVxeajYQYC~DLDE5>~J;v=<+j%sdR75+MZmd0#fEQV==_I%vk49KYE+f!^)|3MU^bKkirbd@vtCEY4KXEm zs|ip;!HI~{^Lhg(U{wZ#l5D3h`v5}Li@&6v)8(TLfUt@JSSh8EvYe{-N*_S#oe;ux`<3pbG`HAk*St z!()?mZWN^*DX5PULD5Tl)_o)Cu+#<@)}>MEaM3_1aLZqQq4Uo(u?Y)n)Cdd6)8!uc zHfPquMIHghiDPGBW;_WJ9D?CPxhEM&=>N0OL;JVPZVsvDVfBAYBWZEoMLF3p<06zH zM1Z?0?w3&il@ga+q6c@>R~=DS)Ko+I^YpZa5o%^OPzS}wlOSdN?M}08iquh1169vy zzI2Tu&`Z>g<7`C_qw zG38Two18!;3VmXr9IomVzjqIN11Bd>1lj)i^TfXpj)4m+Vky7?*e2ybc9QNk8_nPX zuZyCBe5Q!$LTKWG+gQ3hG$D)h@nI>R%0DQQNY-;yV{+ouY`|gM2q~;JwI&LrJhumt5xgO48gN61MyuDHFjZA8@0RWY@-G z*uTbgCgEm2>&m~b`Wp-bwb6a>SpC#-u8fkyeim6Crep;@AW99<;IfZmXNA7WxeAE_ zMHQ%G74eo-&)J3Wx5Bs(hF>C|{N#dj8-96WM%&J9$U1n*n}HX2OcJhU;@{qK@oeiz2c9v*zAyW~h{svk z86WMWGNV%cdk#?&qfRaMTr+Hf{hZAilzyEGQ6aAYCDEx4&A4J-n_2Wq%WaVsQnykB zZQ@5M*VK@uM1IZ2MhT0hi7s%xlFmI-#x$Zy!ETZ@CaY4)C{wgzz}wqcebaX}(*l&g zZwvZZu_{sFuqer;1iwzf^s1C&v7r>t=68Ff_89}t2yCoS03Y`3}ozwvXr z9NsV?5}>^X_x!@R^24IlKiG10Q@Q@>O~-#-(|gdWRBWr_Q2@sP3^nN8(v*;x=-R%O zb+i#{OwQ6555ow@QEBkuzJ2}at90yTY{7il0p2@LU$5rBwlJ4|P$qq+4v~%G=$Gel;@$;{*ON7?+ ze)E?0b@Q}^gixnqC4^0J@%&Q{+8-1t$J?&0*4T;3o1IO%7A;3ENW_K6M--~(LyR+U zdK1A&6V7Bj?Ms2KtgMg>mOc~Uiq7Q|4)f3BM-Tpon+oZsf9;my*1r1_fWdXuZFrmW z8Yd{6-&AR~M4I}Z(->=O=jP|;lCPN6kC`@w(1bY+4(Ther=^vmhpMfbJpA0>*#!s; zhzP=E+4N=9GEPc(#tS8MwO{^?27J`UXrGzghgGO1mj#Q;@yf=ZbzR)%@3L?m4BofC zJ09*GKKV@Z^p1CRZ9Qb_EQiAd_{8b5MO$iT zID!}1147D0WPM$;0*gebU*_b?g_Z_}I60Qi^OIv{O`FV5J{Xg^PS+uGX$?f{4L<|V z1=7O8f$M))PySlWY!X52?d=$Zm6!)g>1zY9<-Gwvq|j+ZpFbxAM0R zF(YYo9qYYnq*41jx7j^(Ut3E_M;@Qp?zi)h-#Q?~$H$}6(5K26?nxuYNhdJ-wZgJy zS0-fnqGAlNy5;7&wjIuRWEWyPq-G}wNLsfJh7IixH+C3Y4FB-fTGf*&Pm4@zJC9Jo zZw_`ckFU=jn`P|76KgZ2L;w99vFXa}J$|O6{S0==G3&D%e0)J3a-jmNs1La<H4v9%}kqy!JJ+ZWTtq1AH8xDg(Md z@`;D6`_DXIaQ|)7KKuCXnW+4cS4Hmg?5fG?Y9zgdgTyBRqZHmh);mPQojka# zL3CF|`U^j=soDkNT+a_{LqbEGoO<#GzUbpro7K#awp~q!YM3E^|L%W%zW6<0kjI=l zE{^}HXHa)#p;_bX`>Y0srmRd&pWSJ3X?f4(u20qJ|1E`|FtC*)b*DcR>JvHe^Awkv z!&>=lxE^f1s4}WOUE$(Ss>rO+rZb}vO&&89v{!~cLq2asSn^kjLB!b@3O_&9Y?^IE zvw_xvg5Jv>+#VZX!}Xr|AuO4gAN$Na)l>#EIFVjkmLna-7$ZD@^x&^z^~C4dyB*~H z2&ZPl3PYay`ucgxo@4qVjDRYXG|_Oc<-U}rYWar>vL0gwxoc8S2>bf~Nt*m$!IPW( z-#30V9B`;R8b=S1zsO@dO-taCSPBXd_crI}Fkwj8`H;HD??xlVa*8C_KjxE`0)U>* z0O7U?9weshB*A5Qt+2$A14D0yWT#O4l>+A6tSLe&1ySw-QY%oP0nI~N_)Kvi%R*TV3+9bwxyTs>8RYj%1S_XtsxtjdNP z8<9|d28?**1Q8xpu#^K`&{cIP=Hl3>u7iMG;htzc2pGqUjPiPu7t4&DJI4c!4y{ru zh79tDj+mP2@x*%KwJ%L5o1gtwTL@No^z<3Y;qHaRCj4NKL>c)9_3 zjWdpaz*sn&bj-5>Xj~e|T_9=+2uPFKAB84=*AsZk&XY^@JDHuZzZ%wR*|YM$Mv!)W za|)d*{fFpLMUx5(O65{h96#?Yy>HkPi`wwa3LTbQU;aH<0XpRUo>P@oKlpDn)yLws;@YS7FCYPDN$sc=)~Pbv(XteC;LBDtX5j_sh@2<6oV6{x2c%fsCn; zP0YOU{%5MFr|0v&*RPCsfBc(y{U*16TuX2_c)dA2EC7B9U8)T|x@|vmZvVP+gcKD` zj(8#HSS%W^W_$ih#wZ~XANqgDI?r%6|G00*Dn*Ohs`hN{J&Tx))`%UuYX9w3dz4aQ z)+l02%}}*!s}ijdJ6d~`*wo(c>p7k`&vV>wyvi#%a$UdQ_xt&r=iawB{YBEre)9Zw zw?lKU>!*NUhDD})liQqMA5#2??1g&*cs_7@c+J!WMYRNQ95hkoDH#F*BZ_weWWt@9 zrKEXz`T2joIUhw5T#X>)>#uSwJF3qy0e4>gNxK`&$eo{cKcMf&DKs?Sdvv*u2!|er z2F#x{Ifh?W3l)Az@^nZI8rO`K8v$lkU58V(UEALSy!fr(?wtsSUQm_l8)p8rH2$0J z1-8gJ9XGts;z9=8Q%eFC{IXKM*DJ~U9{-GHRX0m}ezv2#-+_A)26|>(gEEZ0-4hSL z>rF05d45-=baf_e-Hh9|zC;IfU6quDpT4f2o%cD(AUGL^*1rv14Ez2~)v?;>UIty5 z-r#tMf6(5^^uj0W|MI&;n!{Ez{~4(o)bA!=k1Ht!{dd@XOC4yNDW{!3;&0V?La^Uv z;CbkHx7%gD-oFMMdbZYIRkfk~$F(Dl$}NaEtbn#pon}|F!_)zQs?wOu@5dnWWPP@x z)NLQgMMzUT331!+G+BJR+Wq~9aA#|PdtGAh-I$$Hr%1=Qqk*dR&-5(eJ0E1o)1}b1 zRkNypl^IqeQ}S^{jV`F!!AMF%Vl6%-m{3LU)kiMvVE7>)U&bJaI)Sva&X& zY+S!B^d-L&IFblK?^qQt-{kOp@0$-; z9AF?N)#t08g5%={MIy{ySQNZ}J0I>C02B4)0F*`J%0E`6j^Hzl^?6JHVC}WeZ58Qo z+cw6`g`Ula%{~cs51Y-GKHYO|oO!B!@7{{JdrQ*&_Wj#nlUl}`1I_0LP0jO%C$(XB zF}TI^p~cYW$Agct?!!LvQc}IhyWqPm>wusaX{98Sa_u)Yv(5Xz<7`m%o%>YEgs#3x zy>tT#N0Ue5;s7Ia|NcPeE}}_JJ2(<|cNKoNZxy^dC9u2Tzx_(=pbhnRDN@zg+^At1 zg>w5N7d9_x;??8#5EzP;)H`D4?v~_b=#v#rKRQ~^Xn)d7e1upddVad<`1~%ze^u%BPrXv`8f)i8$1?49zj1Xi5Xd>9)=Kx%sgUaX zdvUbpEhA=1R7$v%nOke#;c~pQ`3t-9==aL<+4D&TfqB2Pd8Ny-jvv@I{6b*&CqX5mwWol)GbI(8l3Y;_M*)y!Ou4_<{`Pi{xDDjs)R zcBTyVOz3uaUhWWq71<_>2uK0O)a2RHx?r#*{AKEuOC> z-}UI`2Mt8}ps`z1PqN$tbQJF9wnr3>1WJ13zK~!yCH8LzYQz3EnG1F7cLwX`%Z9qY zeniE{j+Glp$W7=2c*z2C%cDS1BxIS)I`Cf~!QDmIZL*1#tk(C0o^hLwRGufkbWhxb zny8l2w1xh3hW0OXT-_(peUJIZmrkK@aC&6$@#shpf3C<5PB}pJe`sW?e8=2H7&F%g zphrCjKblYJEFjKk)vng~_|46j8xNM&+xPMfQo7fFd1++rdOkj)8l9mnDan8#`Mh-@ zC_n4m&y5;tkj=ig+}t+)f~16d z`I`QPkbJn&?qlu{DG}h|0k{kfda-zITZ<+wxSv2Pi`7x z%dC!-iCwzV?;1!K-LhDeb*74|;{l`>FxtQzZY<;C*>(4JY+~iq(^Z71)Tq*s_ zqp3#D?nf;l@cl4UEAU1-W_FrxFP%|Z^#y{4Xfb|5`k@>J!5|HD&>k^TMnIgShYyp! zmoS4;^>l(0fq*;+IbNgKO|#BT@FD6{nsB4b$Qz+Oa#VU;T@T@p&G7;-CM||(`O2|? zB<9gQ+i=}$7(!6 zBsu*Yo}4H8Q}It(WIk@2BY^I{DkdeUjK7X$TPPX`{`G{E7^%-qar*WkXe%UF{N^Zkqj73ErLX z(V-t+dSU<5eU(RCn0N`wSopKv69sLD)g)Da$=~6lrg+c-X~A6y8Z~@%Pva)9NRO2I zB%hnjvD-ws zNJqqULd;mIHORMKxUXlmVuz_Gy$HuA2J{Nk3)wLdRml%7kYb>^j$*AK^z!IWExjaO zItNS2>V+>gpitoQoCm~^vAGq5SdJKz7R0dC`Nw;A*qfQ3d@hbJ zgmt-)^cY0y!$G82(MzqcDakgMA1Bji`}+;SaBm^|R7b7A#xWTsc~vAO((`jmc^qvN zz1fP7Xs3%H^xJK#wlV6da1)PoHLH1tHz6~KuuM1Ks@eU&X(JP3O{NM_&E)(|zu>cl zfZgA3Pkz=J?CRu5QA5<7zdT=reae>^{3JefULEQp=S$KUuzfff(1EKoeo+hJ|{y5Dz zvsv1MsqJ5;Vn$@n_-9$g;S7GNg`E6dUzo+{_f*?h&y}D5mcJMIx)|6ACRf!98Wg*L$};nlHzyNl$E z(s2I#DW#KjC_gtRFWar+)JS^w-_zyeabMZj7vR!cPmq|gx{88jy$=~jFa|S zeTSVanP=_>fR$0$$h+zP=Ib4<5C0i&7S+S=NoW=E^=wUeUAOYX;5Xdua#`w8SJTj;w==5*4V?mIu zyU@NpPjl;%0Iu}M(!u!L2PD~iyUByqjJ5Y9H>;cDMKMS3A2SWiRpuKD98=rrAPSx< zDJsdgfO0&y{zR?w@6zt{NhdW>b7{~i&gSfAgDDapz-t)4aLj)3qs>z0m-oLu|NH=G z%~_wUXpaQ4kV{l1eerI5UGbQSb&$r@f4R4!<-@P_U)1825!oO9tgnoJeqg7<{PHE{ z5qsr{3qu@4fQ#A|SvNTpKgneolLP>YmH^ibQ{qz@1+SHmd~?jVrw9X%OB~^umVnUk@TDw90%g_?4^b&98p%L9@8KRIQt347t zG(WeR*@U)9dX=j&+zSjyw996vu+g@BNM=}Fu?0V`vs~8~AR-za2e2F?Bmbq+>f~m( zm?0&KB!n`U5--PBz-hjXQV3{+snC?-GNW6=c*3x{n>RR-{#)aA>|V$IXT@m`K_g`d ze#GAun_FE!lR>;{`%E*3?Em-Ag;MOrzpZA{`%YbT{09UYW|@wWtoW2hP6MV&AAj%x zFK5b2cJ5Wg+RN^~*twd;u{YH`(R%S7v~281gild?=X5eP;E6@}xTZH|>b-_Lz-853 z6ZbX2T6QR(Br?3weQ8gG4>%6`-iLJQ(q9Q5@V-O~WW2T$K>o$;k^s=Q?0w>m%Li6J z8I07&O!o1V@4m@8BA_nSyJW;a*nS?)F{v_^q@M;vqxm3=MK_;lz9-;ScfL*$g)maz zG%$iJu4fky?=jgSRCyRcL|lRSB03C63oU*wnVIA$eGRxM0O3FZna=lGG5`$IPYb}R z%emqSP`-iRXOAxq=U@&IRwe{kNvaWIJQ0ObjKyR>%J2Nlw)v=_1I2s|LL@478DkKw zq6U1B2EYAFS|ScHbZNSC4%&mSt8_afd40iwFfue$=zesF8 zin_TcoY4Kv28ipv6Va;##fCAkYsIEGe83UIgVU~*8R^A_f#aeHX^FsKx~O{UV#2{*wD*mcGvq zivp^dtCABF=X}oc&KASBA52?c%{&wC+P~Qkn|(Enzt!k!?6KIi`&B#O=72a^pN9%S z;)+X4Fx+4~!dzyXc9lYoKREENfp3?B7cCJUUN3;F7c-;f(U7=sv~3>L!y&9Dt2Cl! z)-6vVjDxgz*1hXNBv2Pvp}1Y5@Mw2Gd+%4pm@)9F;C9Cm)7k|PH3K*Ma7x!?tbAF; zK_#tzN2mQP;RCSO0wU<*(Gr@E4OMVxcG$(*^uh@ynDHn-a0>~QZ9RL^yl{5fmLGa4 zJMaxFiyLQ0&iT-#LzM!zD(rZ9!q4B8y(@Qtn>7Y0P+kk)u5^W;CM;gAH+S9*iI1E| zmQ$qHb~xasR*lEvTEsIRhA-=r|^V{b6upb9bZa?1tOAb3-e;bGt6afX)jbV(Z-h#ap0r*n{6phjVcJjLCcMwbOmG|815+0VE|q9e6Tz zgSdbOwf?Lxp5JQ<>Ts_S<0qo8&RWmsz`;U1D_#W8sN9_m0$6{g_T_th7M_fg{PhZ_9MUzB`-RqWf zd;ly=NAVvCDK3(Y71yDQ>M^1m1IYNLPGh-YF*W5CN)S083bj3LF{&_FJm-D4^qi+j(ltBfyzIZmXup)3gmsjw=a@Xz5!YlKpnm;1z7jv@STay>bA%9IsQW3$x(MAEusV5K}V;pLQ%#Q zH#dtnyQ=%`1pt@8vUPPpIOLX$@I?pgc7E|@DxeFeqGQkI+-Ly^tQ}du-9;)+TM5a8 zY_}=NdLA>cu26SfkLA{MEoT>W>QzX_9pG@eygK>gt)4BrM{31bs{}8kM?h1HbIC|`buH^&T>75a)pnph{n)ZY2%9(_r&D52V6U1;YtdTivhm-Yp zgKc~6ny$hHSCQBOhuw}z=izQ`_zf}QpQ6d`bvI!2nL83T#mQvFcwt1pE2%c=<`{f_@eHU3S>KKabRNyuhOD`cD4sFfjWelf zreizzH;d2r0=hnOcL0x+bxfPbV1xYOqhx1=0#XO{YJIlIzR~d`Y@SQX*gR1 zErupR-puI7{sb5vR4ZR42%;jQLBxe%FpajdCO_>$O+|BsPxl;g`B+2BL82wuO@7qVALdI8sm9vDzQ7(V`jbCXY&uXJ93V zJ)e4H4c^?3SVa^ys_XN)A$&GKdAlPuH`DJ(z!2R_t0hsM(tUaeu|9daCyz{-b8U>q zNo^Xz>$(Elzxlj)g%g{n*1UH3Bor&3$Wr}VKl2e5b;kisiL89q=tx{(G$oS8ZV2{q zO%X{767V)Ej}m1eOkIM;f%s%3AkMBpMJ6=amXau4F9Vk@f@#5>S&NH*)(fm@w1qz_ zX;~^&@_7ebzkVi&z*qSmL4)%5FUFbXM+*2+mk(;;J`z|yd$@7y&xu}G1NKzgvk?pI zk)0CbrY@D2uE22uuO>==bTc}RvfC@f+X)}X99K)lDU;BsR~p))RJp(d-WD$85;Ma* zL|{e&@OC0Qy4$K|$2vCnd3{|287ZbRm zL}yGNfRrtmGb*RP(&S@-uL30)Pmb5aM*5?$;MHFX!mv24%uG5e1aPQX$l}1~D30mm z&)4g|4c)d6e7FJhH{L3L@SBk2VzH5=+yOT`qcMj**Qyo5W2ZK`}=;& zZ!$Na$2@Z-L)8Gox}T}5^GW^>pK^CWuAYPj8PU$x~iM~DbjWx%Xx z3`q*P_(^xkk>q1kY@ze|ltJ*Z>e&go02?Zm3VcdFB9N!+&PG@@0|zL*i0;vFyJwQ!}b!V!z`C*EToF@=CKFSKa^BsFIj=XnGmOaKi9@ zEgqCKXO7>jcO3E0Wof#_iSYaQ+@lQdriqqOH>vt)QfEGyD4WFbfkGo=S4X&H+WqC= zuQXR{pNJ!uCG^c0VyfQ9R+9L-NAk68d{O;WZW73Ve1YwXtZvl$aG>b+-}rw9tMOp3 zO%zazo*2mZ=!p3naZi*l)@D9il~-s;K)^+EaeG+MKZ`DF0WgQ=Vo{3HqGo?{Oj8UW zQao_c$qzlr@NwkzmF6ALkFgo5924D&p!{k(p~2pvO8hWiHjroAA?iF%Z{y|WTu}*$ zALC%RbyU>b@vKhP^Cb2Mf!~iS>dSOlSPnr0z*r_hpKaE^w z_j89sec;{>8q`q4gauNcn32NJI! zVU$5C7EFBcYDm;z?QbY5ONUuWOjb3w z$%Opv9fu}>R>7v*B%JTw`3a{OkkzBG<2`e}WfMdx`SkaJ6`XR9wU4wFR}Y1n;%dFfD(nD6)=O3a4+N~+7S;~mM{bC`!#C@3vDH_K=1Orw|< zTXxg@%X~I^KUB1knFDXmCyWrNx*kGa)N60DMW>1YO{!r6PkN@>x+|dzwWNvUCHQVs zh8ul=V)C;vWFmOh-(T+^wmfHsYRj^$QzR+Q{$u9p@&oM$=-1tahS+HWTfc;ba#pHa z->sJjcif_HC>9#SCN4cfuYv&x?%_Dtb?x9lj~kYg-6A5}yuUQ2N?kVXVc8WrIAGBK z5FrzEkZE3%?2@7)_VLuz^v~JMFNmp?v;^S8t7Qfl6ru_}-wKDU>t65b*}eHDXHjWb zRq~_C*yGzunq}^^dxFz>ubmQqHPhoKp+_;Cu;tlBzv(II9jnH$;Xfb9%6RAmQ!Rq@ z1?h^Ms+rR4GA4YenKuT$r;g2xeyI2$z0NaZSSII31Fsh&zh8v@4z602n2Z9dZ>-hR z!Fhj2|J5JmaS_#Dq$SGNcCG*vT!67k=o-Q*49uF@GgvP8UITij=u>lL=fs?mRV>(#bNFpE<{zIDCM zON2cA`vt{jE6GWx_P~wf*Y&x$7N4eh_qD(#`=d;a5-N3-{3^~^9j09-0;GHMN8ftd zl4p?A@Y`$Ik`LHc!-pCg_o&>kgX22+4IfLVAG5erGdzBprOgtlQ3B+Mw`N9dBBjJX z!%*-^VvTzPox~C;jdiwkF>5gUw{NwyIwvh5=_?A%)@=)({tn(^oBoOkM&QR^C19-2 z122b4bd~Dde_XOXv<^LK)a*R@VcF&%wvn}1BFotrDC#Mxr~%t$5@%Fh7@nZ9;Q`>g2dFuTiK4KFE&={A~eNeoVnZ)_|L z9mhy)zF79zTpNI~MfCDEaJ@@K7gBOGy41}NB&J1LS55WsF*7k?AwczRy2{AX34bX# z>@Tsi@UNrxiA@JH9frqDEbh(b2Dmbimy?rcNZ%G)T#oi|`_CZfSTbKdhFr9L9d72? z>D(9Yc-gghFTK{nXaE775}MfErxGd~(fGe29e4d-AfaUJYNV`GjIGfmG00MJkLZ-l#L`xyv8{4rRmK~j_; zE{$?a;5ay!Z!K;q7+8!TuZooc{@i;?nkY@LbX<&arD3HA4?qmF8x0?)SUM;U{L(e( z69+7X!#1js=?0K@Y;@p9g%C!RWVd=Y8^_ZrlPfCzP(n7)01d*25JZR*kc+j6WGnW1 z$Y^&{%nxSZuswbqHGHI?R_2G-tB(&VPsamk5S1W&Q~)@^6Bs5McL955M}}drn}ZS4 z=e9F|cwQvyO~R-kF_h8c93$`84nhFaZo_Bzg_TnS6&SMVY{~T^+2=i=l^az`(P1Bc zr1lp<#vZCPR6i%{hIma*$;<{Fh(5Sfk#Izb@{mNaku*Z1M{mz&WXl@afzTx+dnsSl zGl_)#%7`M4aLjV3T~>!*QbSauT3o%T_#5-Ne&!ox21)^6l~16jEe9>+rTYd#0(z?? z^eut1;hIDAlbf*Ji}_yhd>8?61pa zsiF)3`wyn&FGq#f#{KV%CXoI$NDK7W*BT)j`*cc;`+Sy!w!P(S!;G(%S3M zoc3S-y1%jEO37Gb<)^u{;l&Rw_Qn%|vc<;Uk0^}2V*M4B;_z!+oNdhu$= zU}Vk@Hyg0GaDWuP9zBB0OMHw3q9K{cb>IAxN-uH{u#X)|W(i*ZRc7^q`b0SFiW;d0 zrAZqc&XoeT{_|c}s7Tfmx%Ii0?B&#=v9a&o_DeDJ)^uX)(KVKe*CWplZ{KMyyi7|! z>}I-&JnQoLLT6cLw;g)6@b>7HiTjMqZJ%(+M^RShB6!v_T1boW%*T~+ZQ)Ix%^iy> z*ke6(wT0~ELO_>YnAcv<%POdc8h79(@^Sdlv{KNI#$fmwukNtYZLfIDJ)Tg@Z~ND) zB_j$aVqW8Bz8fiQdNqQNqJX)L^Fm<%uC!J7JTOtx}Td1=+KZEg22!59PpWkkc6s+=rOQZVl zN}o@j|4=$t{C-hK?FdK0WHH>J)1Vi2o+7W(6kd_Y;M0&WmOtqA8X|E}Z~oc(VrENT zS9TTcR7Fkvo(lh_9FG%=uLt4tqhrRmRY>vLh(((cGW8W1$BQxb*EQBmZRr7-W4M?G zBU|G`K09y_1{jGHuBLM^A%Rif(xVisZz5+M`?oe**W~O7v4?7UY@N8!jpf+jJm1S6 z^0V^s`E8HiE!zXT{Yg&wk-x9dptk7h+NKqP<^-OPg&Zze6YPZ*A*}|u&jH7u6-!w0=gcw zzQJzS?uRZ#wlTeH{2pnmORB8F?->2mjSfe*sPILXG|uj>h?sRtGu+WZ7+`Js9({f_ z@JYwR*?YyJ!cZq@KsMcioSgi0rlXEFQR!lJ(OQ&w(PtX9jZHEhEV4n!jqTFhT{nmC zcV6wOJLXM9Ll^01T3_W#1GNj@cirL;Q7)Dv!V^z92-24@TUOK=G21wB722(H#!H*PeU)CJ? zhBSn2o=VVfy?a6cKqPNS^ib)Jhq6lzX7{Fo#e3~W5p2q zXDusy`Pm|eno}OxuWEI09PX&9_K&2b?8OxT)&~@P&Z}t2*wX?V0YfH=C$jveHilvS zyVHuEcY-5IXVA7;Bc_BNHW1NDH6Cu=kq*ibuJvxhdQ6%Z#ix3AUKl&3 zXrB^z*RA3jr>*3DE_X&pZ72x?Yc4GT&k4UR+_38Z@u@i%cS)w&;pabBr{~{_Q|}~7FYL(Q@*xK*`;Zqg7lBCck_V^5;Xq)5 zYJPNdH0g;v4^J6_fM3xS<-;_FFXJl6PEN84_WTaq%2n<1uF8aI80=y8SSC-WhB1vZ z#mK*}Q$a-CY$S>Nl!C}13Po2pV?Gqzk0fsVBj_ii++3+rdq@tm_jw+@ZoWgrJ1ZvUxhAlU}oq zvk<<=t>_t3-&DJsRQy|R$G2_RVGyqfj*qwe0n+$1I#zjwj}GzT`|L0eKp&$WKZ;6$ z%885HH{usYvH~bs@MgPKVm(%F;O){?l(u7rB;;{lwz4MUYAYWI<-_)=Kc=6N9&sP7 zw<)k`=7MW@=|T;nU;yBTojJQ{?z-6nejOe{`I=R( z8Hb6|RMtFTkql4r_Ed2jtn=TcSnSTI)8C{V^Y$0|UJlC5aJa z%H;%1>qF)-0kaETOb)5@x;a-2SnPD3_*{!SB^~q5SbJI_{}SU>Y*7`p?#oq`Vu_i5pYx4SDPcHS8Ycd};PBb10hbBJ%%1eK*TqIGFe#Jr> z4>HSlb{#7oOpUP7=hLo3x_kPTn>P^P`|ScC1%phdiE->@WVw-k{L5_@6fBWrMc|P@ zQ1+l3x4=oOqFWw0f$eCn*-K#o0pttu-M}>Ql~T@pc(#e0bmQ+~OG?dIEQ;wd^M67O znGRVBOA+OSZn(fPo%iotKrj6a)_3$8JDuk>RFGa62H@Fb;k5ZFuDHj~Tsw`bD9vpQcq4ds}lCufNKMKX>MK3hrPjqRb@lycbO5ADk#M_stUoVP{R?ZLhcm*{7j zx-7tJ+mvL5?QqVhP1+K8J72MW+nvnzxtqSb+{%r`pe$N!C(y%J51D^A2e8WhZg=>R zH2nDJP1t`^qg!s<&Kb2W|J}3>S24aTD+q0x)d5_-)4P5Ghng(m&i(e&0kdW;&>9M< z{BZll!CL04KjIz;S^0YRiPLXZF4Yzf!Zvx8LU;R>LUs>a9Yr0fc^x~irV5xtRu6)o zzr8{auf{&q?R|GLShFbC;K0U0UVGeX!$>X;ii;2RvjaOy;9rC8inB2{@ zd4|H2hBzY6$2?mGOcE&ZZM{zd%)gRJLLx=?#x%--Bid*R;JGi-1apsFdF*FhU& zHTxgKy?~MqLP1GVNxJLH=vG4zr)tK(jH%Srt@GbbNM@tT?>%$ZJr>%Jsi%5gt^pw= zA|e76KW7It%z(9Acu3gyqkD_KwNo=s8GUPqgy6VKqv0XGnk8dpdOxudpO_APy{~sz z*z=JrM8=QCflAtK;Xe?5GdXD^(Qln|5r2>ifZyYXF>h$#-K{aNqW5+0c`GdvLXMsb z>KFX(nNFoHgU1EQp5Vn0T8;iE{Mqa%Q{MgC>oaawX;k~+)*#l+>e(k5?{iaGzF;vv zqY~OGwCRvep8TJ|;3r5r!&GP*r!nz8jee7dlT}gmMay{T^K9|5dI?}9K_6yO`A}kD zP0S%%GKhWm6|iP)o5vTVP_z@2Q+`*3+m--+;UvPF$G$a;;}y{uc>aW9PU>s%*WWn|k8Af^gPu7mXO}Ed3YN4B zKe=9c8G17qCAjqOxiR5A5JO1>O{$X{i8`2s zO4Xx;*ml(vcEPrN<cbDNYAs#!I zwgFlePlJTO6AV$?uGXH27GD>dA$U+SX-WoyL%)?j!~<K{hj z!^0t{dcI0*7wlv~Ipo0nyb;l5&MTU!xIoMwiG9dO2|Qo;KxX9#u!mtKEH2$eW`#W*r`PE7XuEHeVdr&2+6e|`I8)F@2v5}8(qRD@i1M? z;!@)eU((z4^Z`b8M6j|G17SCV=X$jtn#Xyink;1TNIl14-o1I=-PtXA2?@= z1$cd&>swNI_`Mi{M2pJtTnT^GX9gaBF#fJYIU0yYqs8CrZ@?y?7QgCf9r1`NoZ*n(f9S+L{LqzUP zST!4-l6ZwFH~tz8vIxpdN&QzB0AxAPDw%E8*GSzVp*L$Y4E__kcf<6pc}U&Rl^?m% zH8)pV7Eau~!te}h$BoXB#Q+yR5W1Ft0&2ZC~+`jJ$D93*f_(?AY z{kU52sRg7I=UvaQ+`yk`;FM`^a^mA&C&x?6;_o&nCS119`@4Syw^J8K^kFyC;r3Ta56G4IkH(VkG$>f|( zA1=-Z;@ki*WVpc_Gn%(qmS1ldf@>E2hV#$b_kX1I?_yUHgxkYrhvf+hs+l|rBYddE z5hCao(QNUi`2jr8lecr>OSi$bEvNB|R~>h!hpxmOg_AC)hdq0(hg+er;vD@*S&~tN5saFHvyurzk&TpPrb%)yxB>PK{|oMPu=_CG-BguV7Q&Yp&K; zhros)7iGo{c43q$C47oJf3GO7bXyk?{0M>fYgt(7rcaYK7)YC3>o)yob~0ui^t*`L z<`4n06Ye;M=+odG$#o>XDYYJ=*No)Ogqn7R&2RdUVT#hPx2kHcOO!6lX+*@QDyASk z(}-WQ9xXSloyWTrp&LcU;vIK+`q=|P)fqhbpEWKNd=8mQU#T&luIRiiaBx=0IFIVOp|KZo+ z&>6R*n(OW_w&65^;YLxYx9bynj-(PRVRj6@I%yn+p-O>83-1T#s-tefP5?V(Q+}J- zmX4X@k>>p(V5m6_6r6f?b_7<3f-ILZbOcE z%)r9MXq#@q^R~P0PGXk!(4%!AaPptvVb4)V_=RxzHqga!-8KH_T5#S`npI=oyk+wI z-#^xnJD`7aoTt;wzg5RNo?-V)#%|+hq%=jyv0Xu7I;&!c_cr%q(lv+AIMC+r-*IDk zso%#7Zl>>Uv%>#va{Wpi!|`A`Z=O(up8AAKD;P_YGR7=k=UE3|{&7r3yggF7{`W6? zQ+AO|)^XUOUsn7g!(;BQ=8QC1;qdn=2a8TU5Kp=c-%=2NpTT+egQBZHdqwo1P+^0AYk9ACNWOMayg>H=~-6-*&#o#WAez*Gl04O&6p;hTY z=gYCeFQx1&Y90WkQ3$g89kI1yL-(uj;}3{onA`GFx=lO+ol&!rhKE zMmIoVnF0e^*H- zxzg?me*T$IG-FXZ0g*DSYKnmI<;Y93GQdOAHHxqn6ABMaDf> zf<4y~!{xB;fUq-y{X6BhT#{t**CV?5Ie8=d;Rl!-;>8XBxw)5BQ!bkNW{-)MNE$Wh zqb}oWgef)~f-T~1dy5+{E>duatG~QTfdFJ37yxw`HS>oQ4%2?L0Zx%wXukeKTY)CduV&y>Vmu?chc*;r%?UVntQkU`DzSMK9 zv-0o_PH>*t4N%dCgg;+6E;+r?YfFc^#%#c)LMyDpb!-T)Ix9PkPBNH$)wePa*rCD6g#(H3YZGxkMT$*`;@FO-T z@e+zbE0n2Te+t6kq7d4+BubZRapMwI{D_D+0QL-SsE;CJ=LR_;K@no>)#_iI)9^tY zzh1EPZ-BmX{R=J7OXIf8a~`3;`JfFklS$kdEfSL(gsPF3=+X1MI%GTKDvQzwzh!uD zi6ZIqZrQo;YRmGKd$N< zFeSP-S2dn02v=u~yVvr4<$4yfNDr3r9dLPRSUYV82b21I*+2-!15YtTtHQ7XqvZR0 z$m5UI(u(2}1s;QI09KzaiW)r5Wi)U;{_N}C@i>AUACryE)OUaj#{1{5MNL3j& zB~lv7+sv==B8IWh z9DBt55wf5TwF(RQK1OQb9|~_IjJyqTjGvTCff_!|5FuY|#rrbhW@d*sChH5tV`8!P zX0_qra=tG~_<;<@?nx{9Q_P?2i%oHAM+|l=@xeB>>tH;g%A__==B-26a;Z)6->eV` zG%c?#i*9|sYGc@Ht75QF?ex8{)9dd#l>k>o7YdH&&;|fbhPZ5-$u|J1MuUH#TXvYJ z3j4#gw(GFfRp@SA`qnGV>lc-;F@YX972iwwYTG8NknBO4*oqJ4^66i13$R)#;S;*g zAV=iiDHraC+JX7hV5(R8eEcCca40wxB=eo9ur6JX(2^#Vl@csw^yURSxJyceGDDke zLY&-*vM>ATXF56!lSGQ7+MUzZVdTYFkl(~_^e-Rki@7M1c&0>+KC;%lAsHuO$yd$v zL}NB?PR}<@?GQ2DN1>W>M?g&HLA-*4#pJ!DvozzJ)*e!HY* zlWTbsz)wys{bfHZ{Oa>(hoqO}zrH=nlncU>B?BiDIP>zKMU#YNerDk|OOq##fF2E< zsj51q(dP9b{T*VX|C2NIE^Ta}A-Y|fY3y(a2&)-Z=#o;X?_I{@l;crOk+JoEmdhY$Ms7qicjTj5f7M zPJXNx;>?>PscP_fzwV6xGD>~?h0tQ)pMhc5{J`t}6a4p;?}$eb%~))uWJ7BfZ+;5T z2wTY}IDr^w(UW)s&S%5!%JL%hEZI%C|I5O4EfdGl!-5K)wD|XhvJ{XAo_LTzc2i!8i9H_tp0BF zgCYMiSfg?&a073MUS=76wQO~$HBqF`XlK;2wO_gJzoi3e)d2rJ!8_r#4kBcf(lGoZ;VTE zWk=ezotN|bmZ6`;J2qzo|AADjGnm`{+kQVCc8&kL{L%Zk@w0)rVQSvweYY}-@Pm0k zgHSwJT>b`pH(4S5jtvqN?<4j6Iry4exZ2T7MfufBW(x~M+iRR;0&3x(!N-;y2er(> zDK--8@KvWGLH0LCSU>%kr&Xnz0sEa|FAjZhm?U`hr@VZAbuR`DTT`*tPl!)Xy*um& z(So^B$8-ym0~o7M!oKTp*WPzDwxyz!53_PRFc(ME87?uw*WloaKzG}6(YJkmCX-A? ze3QL@CW3W`B$*xv!ySc(5Q<(JB*F#x{8@u`&zMd`T(tkZSf^XZNmHOq#YN`48alp+ z_?=I-R8MU+eJcgHIM2}iz+t`e`@hW=v)o5rG~UU)yDL2{6&lEBf(lX&qz zKl!BNX9fI}OlaiTcMU2{N8P;tKD)h9s5CAqUq|pT{`v~P?2aIpy2nkw>o0xGkq3-N zaEc@KaUi`4V|0H%nLXy!OQ#a5>~t_cQe0kKJf=|FzHara8Og zrLrTufb&efKqFRfh8{ywB8VhhdTj&^XVi^&1cpyxnLuTYUvHk@BLp+Br$gBY`HBEr zOhdgE$=HkwD$>GY^@PCm=9%&W%vB~9h7Z~>U0bsGSno!f5PTzi3lNl z^ig6u{G#aNW>VqZ2V~)+-Yfi9uB41V?W^zTrO(E8~?-Bc}KJP|L;Gx z;$5^9HEUB_jo6f$wW@ZFT1CxRu}AILTaDJN5o*K^)e;m@D{5~kN^ENW?$6)f-#Pbx zIVa@KE9Z5;uIF_-%$Ig&(hTAGf3=G z9OKQ4Ti%SUtkb=p3%m2XZ^q`yXVc^(>FfsSIlPhUYqjeobd{!_Xz(l5KSK{sizv<> z5$36LVuPtZ7!oPLL{|%2(LvZ~8x_*sT8Jct3Yv%=uLM$e&i2doKJgQ%Qz6dRt9Be_ zn~x}jL}*2RDlz(G^o?HXMUb}^5sL=nUg4zqd47}*U`ppp;v=_%REbbC9O0P=}8iq$Ttt5F#=rUWhdY7{5Z9kcymX`oUDueL;!GpDV_7&O)pr#ksiHikB^>-8C&)*NOkI@$!m7%uF{aEIJn=DQmT*v0+NB6ca z^Ua$Zj%6gah?BvdJ$Qepa#$LkED zF(PvMSAT?;8oW1uF_PQ|ai6+aa}Lt*t+#c_4Ve1v!cESlHg{-~cI!Hfu!Wn^n}zdI z)*T-6X+I{5udamUE`B)ehg^sjQ3T)J7LSY|#^l4KA|+lB#I!Eo4%rQ0OGR3AgPe#4 zBD!~8N?CcK@;*kULdR}bS?{VQg)-U<;F6C|QU9>T!&Hw?mH0Obf=DQr?j}9L&N~58 zme-w45=Yoso)es}@K{g&_+(x^`Cb)$Ja60;q{Lkl{eWMNN5~791q`}S-UzZ&{rgR{h1rog8rkd30o^VXUUwe&B$wR4_^kw z6wYyE7{>-XE_sFys2pP8Yis==0INX&Y**tXxLoi?ZYni)f*?=@Uq-DD5095VVK%RQ za}%m6oNHrq>~l7ueJ+vzV+?s=u3shCoXw5W^O-!028wa)u-R9*tJ#GG!!MBl&E+wd z&9Yih&pGm{u$0Xv?9lq|xMlBYDSgZfRQKU@Clz62&~m5yRNch__Rbd9od|!TnoKzO zX~~4aLc(V?+6ioz{V2PHm*V+qTB?^)>O0}?Ki95x$oJE~s}(PQ^juudbVINE(st`Q zmx9<-*bO!mC{#NgaJO^+`w8t>U-qdxI#z@ptlTsmi=W@D6j6p;Jcp4p@M4i1Ps;*U z%ju3S!!}A;n^4Pv$5-8W6%TID)ol;1$%TVxVm_HCVrut# z-r?%zmqX-9u2)lv2#qlL14RL6LFWo5i#Yjr6z0411bX+w?tIEp&)FS830u z^_M36?lbG{RFHwT3p(#`DC5-84O<6?`yKWRhh;q1cS#z=OO*@oAdV$At~2*K>N5a2 zHG?nC#(|_RyAAxzyQre6X)=cCxlyF1?jYD?{IlId__L=?Q}b&$g>$Kol4nU2Bv)r| z&icbTUeU?K|Cp|MA>8v9Fwlj~=Bs$)eWRxSg_rI>5=8jNLF8c+5QH5TT&{=VLLO1voRq4=c!5UwC%> z3`^Z8L$p=~gRt`KT2Bg&2dM&e_|WuDq$31gLO-OF*9hqYoe)BW)AFXq^+p^=@)}N* z=`KS-?BzyOgwy6~q}#Q&Fb=UNL{KqI(T>Jx_I-N%2LWt^$&sIV8Y_I3oC73pLSIoi%1~-WC)+mf4Pe^{H*^StgcG< zDKjC1GvUXxvF34vIWwt4s;VZu2h5qJ)9H+HdlE@zUv8dM@-&+5=wZ7OL!r!f;nRPwgpC|Y$Fp>;DOu?0i`Ed2@X_W z*!FR|l;3mPTzu!8G2EU?-`Y}bjjAwUle*RcJY1JQ8iJ1RI^PIMQ5y*Aokf1_u?mz< zE8f0{Z@fARnY+wj95N@ZPuJ%<`IVot88~Z6{!cQ9Y)wm|mqr*%+?iGcmD{TDn z;CYJ&6WE(!V7mKO8AT7WE7*iC?X?uPd?QVZ_A+|OkCuIt9Vv=qPK)&??KPkQj*n{_ zeTVDogZ5OMNiVGB>u_QJfIbF48TG+0b6-TBq&3;`q`Z8o2mRjAF#W@>#yV{Gos|Ea zbP5~&@dwOf?l0!|{N3jpg9chO4$qDvF;M5mQy^j)_)pD)DcHe1a1GdH6++kkOr12_ zJYbmrYWri_g zS^DCrrry~t+>~AoW2$P;lxriF{^1>54edacX-=S2Zu}oVEp5LSaz}1+kty1=#{pvd zQc916ge2X?Au!l7%jjOoc(3h<7H0bd(%|;a2m02<(JNlt$jYg3(=W{dS}|!<^0oZF z;4^_5(a&%a$|v{YA~}|tIh!!t1~giT1>Jdj?d1Fh{6ViJt{I2Ho!8Tff1(ANzCYHB zGp+KA{zE)5_4Z-Bu|b>&@XrykKi&nIeNhqOBGnACfSRCA?f|HZMLlPb*hc^OtQp%sQ*Q}85E6(_BW6?TO$1sPBIlF=*7yL zwfV+wZ(>R(3K(0VDiSi+^o=6{m}~B+g;=~R;__t5r^sQNw+f{>sAg?sW`JYWc`)g$ z29m{i2Ht=^atGpHfSKQ6fF|%V$Z9 z#C4t93Ewk$^hPR~&w*w&#iJkUlLePCv6}G(K11=EW{%*1Sf)s&xyD}(s1M7n=YJt% z%U%~7^NCevJDK7cO^g^fVKSMsvj#_jv4sY~xTu`7p45srfb%D93-cc%Kf=+q-R-9s z&JT}5EL}@ONLG7$Zn_373&DP0$Rzk|^t;gd#GxVdruy}+F)e2L>alZnv2-YByit=` zeG)~cl6aFi{9pNJmyjQGh-_u)g#y9({P%-uypfw-Pc!(bWDmA_bvp@E3lbYe2JWZC z>bz%WWUd>qb5(B?kQG%(EIN(#vIeA2$Xs6cXWHS#zZZQ0QrfY`6dKVyl&k==fQhxZ zaJOPRU!o@VlEh+|Jc{EKf}ZbkR9pD+LOuB7frJq3-nyuY3=7zMia%8Z+h0DI~w6bXUsJWdGXJi zfam2Or6F^^e#PyVQlZ%Aw${#r%)udRzvd@Bn2X++pCmpkeCUzFgYWNVfjnPuvkQ4` z`qyY(HTfCq^=xS(v-yr=xv;C|#D-|Aap`8kv_6G;)-y1GF5vpa^zhRbg?Zp8U62NC#H6;BUBWjc(pxwbCY%IYK(Q$neQLe=enow zw0RU<{ZgcJ;mzP=!+(rhIghFl<_}(<^_=LWjqWQzuI79h9kCYm-M;qkrXN%HXQv&v zObRYZdx|}s{Wf^;d&icXkHESflUSl}=t=BFGqdXpYK}qap}QOJ;Qh0Y)J4U_`tDUE zCtrOBza>q_Gfw{i`9f)AT+e!7L<60L2;G;uQeTVN_mLRLl+HDo5H`?FRW;&SI^Q8IM*62ivor&(Fqucgb%~FVcxJm?tfyN#Z(qepX zcXa2k;V`H_%cb1dO>$==#I>DP{c!NW(-6L)w&c=^ki>w6)XL3Y@@KJ;5|a>DXSrn4 zX=^7w9Y7J2#KQQ1eR$B%X{cj=Fkz=WrWHkcyj+mYOJHtw7cT34sk25B&2&<57VE zU(%@B!^F|Z)};(YOY4vmELM4CC`YChBgPFIUrO^uLwN}4RJ8a4|D#~{fbIQjmCiBL zva9vi)u4{is`_RAgPx~Ege>UAm!;z;xS&M^z3!PI$dVYbswzud;1=G=k~pSG$m|KN z(}?-gayGVd8tel7@%@((RK4_3uzS5xY&I|kJAksH%|;ATiDM&8D7gmrbvjw^&ceG$ z+yv}wV9GWs8mM0~PCwI0r2zy#VGO8yU{u8eZW}=6&-DRx@p;k1hj;mAiF7v0QCrua{wO(lwd~6p2Eld8b zJhKu%Bv+NtE(r&RLsYa}wQ|JT_AFMNzeZgs_-BTREB0Cj`Pc$IQ{Um#bbfKaDK0Im6eY zV}y|8Aa$$i_&)t7BbDk#-mZqYcS+O$l!g_t9eSE%FQZ`1kTqJmuWTWf=G5;}Q{_`SsaK624 zDrRLZZofz;2M+{w2jMV+^Hg$pUNpd;YxVm(CzR#0f%ny%@nUOnIdFyK+&ZAQKZ`S9 zXI5&zYuCzN`A+E$n7q%JefeUZ)^j;vkCI8n zxz_->Bj2IiKX7j@%Y#Yoy1nPlyMRJE*1=3*Wb7|;<$FZ$oJo)0IZ)=%=CQ1nr6ne! zFS}a+Z|&agfPchvowv-R!B+*JKS$iIDm=MJ$QpH<_a7ZWj{q*!Y`TucI}23SL0oz$)ytKj%%$c|nt(WixKA6L-5$F1#PMv05Cm{nWqvcI$ARhpr&* zDE;Sy6lU2juk}B3r%xGM*r5y>IkK9v{!i(z~TioI_nT(-2(hJ4@84n-gLG6h-Xb zxhMbOC@t)!fe7<*lEZ_wp!j3Q*4*$TI`go*_B+7A^mWK8(FUO0Fg& zoN9Ta50`L@rM_Sp$=Xa+8yH^Ne=1yU_^E*4@p-6fd$H61Z|6Ilg$Fa4QJIm?P`}Ay z&=?0GbeQ;7nZO@27t0({-tC5sj*W@xew3>3Sw*>)uXOxEN|9AfjY=&Zh27p@=l9Mw zbKczcQU(t)nv2T#OeUE;`Fj+ATCKp5RyCUC$5CPmMy&Q_24%lf;^DUaLz;_H>q z0H>KJMd5sE-KnU()Z=S|_xpa_^}dJ1$D86C*1O+3Wzz{4BTl#1Kc5P>o#iw39PV9p z*`ca-8bC~eP zpMSD{{j*v!`?GbEUl!l7fSZZSc>T>zrS!L3y5f}dpZ`f&3DW#s2w5#nQ7m*)Yi*j6 z(r@2G&Pe5-y1U$-=-tl$9f=&@nn*m~pFkIQj z5mJEy*edLQYww&cX>duaFUiv4G06w|1O_$=NZ6^6>TV?QneUwe9a0Js@~2Kf{rZ(q z_eEVNPLep1?T=qheb>&yD>AxTiZkgBTmYo7uw{?A28gw)ZQkq}^8BcnPl z`O`eFB5LPj<^q>+Dlti??&YiHwo}pA1uE9aXa@{%yQu69q(AzUx2zxt7XbprYw&Y@ zV2i<+V~3#Xgbrqppj$|i5-Z>FnzS$2w)935t_riqA8ffaKTt)GRRd>jA#DgMoHWRe z-~fWU4^kh0>Ys#A@w6}KnlwJP;w}LoU2IhBcHtm;!iW~M^vp3>lNzLN@CftRo^VAv zhk}d!x%Y<;;iwKy*w7X4eW3BFLxfCDDc`ryD^eVkYDmV%u#PfANrN90lIzdL!PlSu zch9mP(E;k?0Ve_NfLE$&L45a%;*}9oSJ)#ayxzwjv3cUz9Hx4Ox+Y{qq|S3gM|J)f za3bkxU?J&*dyeQMHBGBbmFmFKyeStI4Q_gGACwC`%Me7RmPTgOIe#ybE#U#$p>({` zUPEc)%M^6Z?Y!${mX;tH2kHZ4DG1y3#xl1_MqS7?=|yS%vUIWED?2hzngIiPlyknX z>>F1%B!={d$XJsSKVPO{giURRZ)&P|Z*JUL9K<*q^_Z>?kIk68#sl}Njv z{nu|0O-@_=iT9QL?{#PDn+2=ijM!Azlkg^Ef^Z%-l`yh2wW2^GMKNMz2$ho@>33;e zs!vnE7m9hj+nib5)6+Blp0xLveKhk{hemV@q;70 z05UEmqF=+k4$Op^$^kVvT@O5^lu#R1JaA z&<6wB+T<03aKU@wqG_D8)P#k)GEzN88|6)^D{xWOB|K486|z!NDxE4YU8H!a;JRF$ zF~8=tbWNhSqYM9Vqd7dLKv+n4-jI@l!nAR3)4@7F5RPttX2#tG*A&toU}{F(!{MkVsi%B)L1!vD=iMSSSE5Jvfeyi?KfNH`kzVhZT=)ZO+x#`!?>~% z8XggS@cJ9Eg>@YEbD5MYwr)1N5A$s-`Ir?hmnuhP3H>_9nf0Z|yw^{iUcFBM?>Sc_ zn~PDIA-6EU%8}SdivnR%a;yj`aZC(hj)T-oeN5R78qJe@83kgd-<8J-Xnw!Fjcy#F zHZ2n~afDWs(V&VU`+4)i3nAY77nh^1KvQYR(-$UVXkj7$NxP=WH_bF!ESfamWw7#b zO8W~4SD*;5sR?4!3zS5yf=)U4j^Da_lW8?M+Sh_bo)!9KC%$+05}G8+@ctAQj`x%t z4$o5Q^D6M`DD2!9DyZ++`VEjK{!156Kq74&3VAo{VHC z6Wl*Bsc*X;;k{oRx-}|CvgQ2lUEEWQW@ku9NEQ&~s!7ruzVB_7RJ|lq=u6EQr21o#BMm4UfrwY9tKb!;{-@^?(XU}mU* zKT7@gEq3{p=J)3$%iP-GKI0BoE$;JQr(6V^6MB0al&aTxc#4A8{>^T0Cm2~sdT`#a z@4o#xaV?hRc(s*O%25i)3I)>85~Q4kz1tAsgO~_8*K?NL;8FvFg`Ufun)Wj)c9T#EpVNjOW=tgN$B?A3I>uN3ck=ROk&g8K?*?ZZ zpD!7L!swU6f+GgbS*eJ!$3H(cHFv!YIH)bO(1o$egGKYE7&Xg1pk7`#`LAtjlUZbq z?4ih6+`Z0(y-(91P&i0aRoMtC#4geGmM!^tMmBrgR(5B*5K+`?yQed?EQs#5oy){A znIH>)TT3cOW+|yAIoVceaf#RQ4NW3**~T ze!CP)gNGdmVdWk4X7bI@VHEmp(B7Y){q6m&%L-!8#EvF*g+1mVsPXNg{>}cq`PQzR zxsM*K3L;%Cdd8dc11SOm4uAe_3`Gmjx*FHZVi)#CyXSy_lEaB9xbN8zroO# z7W{_ZgVx}`uT|{(vwbI1hqGQJb%r$?<<9=c?sIQPY8N|-qE$4B-rW36DW;&9M?wa+ znp*9xSec7MR(fO6zuVmw^Z%>U7w&2c^C|1GszE%ONA-R?_&HDntJXB zLz>8CTi(w$`qmo8J8m5nD_mZq;IeC4#Sj)yDQBk2W_!H^u>%`wAcg(k3+tYhYQ#cb zUjF|srs5Mc<0}?-ctsMVS|E9I$t24s< zKcjRy2kWqq<7$bIkDsr5u*!R0$B{*@-gZmF9&O3)>4Fs$e#D(}#p4T1x?{{MMm)6} zGPez%8d_@Z<55gDGQ3B6o_C*Hwua8nIa)hFp;dG5&9UvNcCN<%!I>O^%))ZO=C@-# z1#B(Ye>v~@^HF^wc==zRyUT@>3&U($nWq+s5E6iYH{$K&CRk-=H_`kO)2BT3{(g0v zqgIrfbJMe`sdmF-a>(T5D+)Y-1xA&Ss3c;xk=N?z`BhXz?pf2<--1VNh72q$R-!T` z+KbNqB_go3w#iX$ZXS!hXQN_#eH{o!V&WM3sImt{5$5iK%mKSe0@`CTyCd>J#$u0{ z6#aniiMnaC$4qrg*L6=BL%u&xUU+D#BxZb$G7ic*awfny7yf^)JIDiI1R+50v~iEY z+(|zwb3tZzC=K`dYoKQE269yFr9H!X9DZ7{OA6j|d-?ZS5SBQ+Pe$L(c0sigAf-O( zhlZN=pUQUBHmD4^s!X+&sqD>MVE;YurKiIO!Km=CKZBn4t?{bF!0weIc${Fb6Vwd^ z%6W&a);<%1dZAYD(56i44rb}NCsbc^0v@UvWN*dkko8JSp$NhulBD?dzZiS`(F6~m z!sRfRm#BBn&{=Rzn~hGoI=6jM7EBx$Y*=Nw9w=0!#icnp0v!fFr>Q(5i&v#&QvM`; zu1X;tn63i~-2Kl9A4CNPb!8mRh-=%{H!XIG9YG%C(kPo{7ij=7Z?tpx5=dS&2Fc5d zGH`vlbSgmejUIH2PHPP>l6%lD0_!@TV~~zc#j}S&?xS7cTyz>EvZ-1$GCYx-WI>){ zSc)`3G6E3AH~}fT+#W-Q?OJ)z4vOI=lCi68ap;vMAf>0wBoob?+D_*|w-Hc+G!54Q zhsK0^>r}or%LlRHSA;Ai4U*9iHF_R=wa%tm`#+@87Hy(sbW*-LpDib!WMdP%XY-s3xe~{rVQ0g;A;zF-(D~q9pq#hwS^+EzdKKoJWdc@5^ z>{8e&xJE|1u>are?PK;*xA|EA_sH!V9Mbf)eY)xcc>+pO7ERYZ_+u9O;Js;r`tCzT z;@JEds|MlwX6b#)cfHR6#oG=os7*n^whD8;Ue^y9m~igyYJOIHjc>=AKfE$^+4$E`2-q?Tl+-Wl&- z-7W&-j`g)fKb@C|+vBinVUI3ouBGOOngLW@`_=;n=y2+=l4o;r_3P<(+z&H`wW_tVmWRA)uUZXa1Nnq%fP1Sj zC7LXWh#m7@vXHOzmzph69NqZ1ypL?XJ8E&mPF-Q%&$p~sFxFjN zE8gNNi-N}Sh;4N$#O0B^(stiq%5O;vz++(T?;5=EsLVP0C1)i)UIs687RM9@>Rmu3 z7v2iX5Jg4(5orDSOY~r+-TsL>rA@DFFMtjLGpcuKbIz5v`nMAeVgG4I}Pbd#6LsXBT0%fJ_JQBL~>Up`-fBy z)W66d-{v#O=|(NbYT|GGsBm){l(=QmMe+K8QZaboR4q?$bfnK#ek^hM4te*faMe;| zLo8g}udZ|DTK)&e4Z?KM`^Pl@%EOGphXdF$QozM|HWspvGp=WTFi8K05>OA{xe;o? znZtppq(JM4tPtn*z}>a_-D%Iwws7#peGrgv3dH@k4%>n(Rc%JMwB~E)7Rd&_T_Xg| zBZ9CM|J5kmF!s>ICX_z>?EMHAv@%d*3}0yTT0h&HpR5(6)x6(x%gFk|o3LESn_6|r z%nsQQj3YA9q`m76yNn9E!-ejO7yl#it~PKDT|M@%vu^kPQSqNeD_k+ye!F0*J9jcMDFpsxe8+7x3kd%bylKmsw$R4GtHp>fP2m z&mMgB+Zrv^8hfbMwH@ofi~QH6z)k28Qrgy!apY*Zi{nBGq+t!a{y|rGu7!R5UI(!|&9lTvMy%ruU)u$34 zHh|Kg?Loblqh-uZfogYPr~QEaS(AcOjknH1A%AWMgnN#v;q$I~igzWas^ONzXj#47 zJ}>8A=8gt&Y+un{F=%sC02L<)gb|~=SwmAs+`0{JH==TcJc3l}3z!ZMU9#HxN*b$eH5`!}6E zS6y7Yzv9Bp)^qhC$B8vFXI!F2Pfyv;Nwr)73iIs^1idIOCU<#eu^z`pNC3hOWpJ>w zJADDYH6%o}Eiv>wE9VjJ+6L#rfGGc^i*Vn?)S_v<7C5>x9e{|(X{eHcnkD6N-791u zs&TV*P%ViKa)&f-(418@0g8JQ9|!w1C}t$FLsh#TV2txKY4WQf64g zNn2j#i{=O%>os2%_6=4*Oi4B68@(2HB-;e{Sd)$x!tXtzwR_&h!WAa?n)6;S zcp#4u_szmSotoaMQLKK3(cGero`m8@Kxn8a83A^2Vj|ch#PU8!KYraD{uTz*iK(cr zB#_?w7AVsGNbE&rlbjQU!O=7A42=zkJlg0<2B=oLz7{uqzM+NdcMcb`itoe(^%zRI zUrQxsYMw8c@V%Jq(iZg1On5Q_FP!HsOx^2!(yC>EUYve5*r`@P8_vwm=2>M_yqXw9~f{vW8Ay>1l4xrIne1mK%2dUDM9qa-{6Kyd1f( zFJnIuNVW9VRn_9-EWR>~vBhjF++8apB#BmCB1E;#Uvf@iMMl!4BfXD92-Gu z|Mum*4}eYl)%q(3Gc5)YHt(W;uhKNp^eB4vrt+c!x$OcT9ChIB>z=R8ZNFT^QK{mz zFC5HVEZFCy6OjI>Ph?SYFB3~_z9Czn&M;9+GF&ibulW&Ofv<+qD!a9n(6J8hIK}#G z#=~Cy<(1#2ECT-WWqVv6zNJ>Sh5@norjZd}tsEAg)-TDnIh+>yJ9;QIC@T44&XP>5 zf)@Q*g3iVVioNYSJ4`(#rRE^`h1$FP3;)R)yPi04?*&D!0} z_B2h|Z5NEdb28l&crw1BIaSM?mv!e%`_BQ^Jq#k~?*>08#xq?Yw*Y0TwxbM;ng9{;=!|b$oB-YE_v^FSGCdTajsz{6)k?*jMB0)J4f) zbW|!R$=1A{)y(-lSXP2S1>N#Uwoun>>j@ooN(SfO5#gEG(y|^&>lWFL3_nYQt%6TY zzjYrYrU`2FMs$#YCttrztvNQmqf1=GyhEhO`W}2+$Y*{EAgUEbd!}x7Ojy7RMF~&u zrMN8L>_3E;Z=U(cm@_k(f!FB2d|A?*HzaIn?z_jJW-u}HMe4iOxaNPQwUaL+cP{#L z9(#@jBkKKDqv@1p!53R;#d4Pq)Fou3^i*qI()?5bDzDxD$k_ZOV@b#**TsS$;1$^2U#?UAdq-!F#VTwPHO%dla{G6n zo)x-DG&#hM;e}ZFASs}BpW5BV>i!KycjzP+^6HKh$$9yN_Wzz!HA-QXZg~508HK3f zP9AZBI<{$6XZf@vy**D!+&jG89S;ZedK_Wa4Jx(fO%;W^&j*rW6cT4vU+qRcmX5BQ z#@v4|SmRi4j_CG74wfosQj)swZdl(@uq@yGe0nZ-(We$P7O*V*=KQR;wJ7xR8<6~% zx?Y6{&6k&iQxO}#hDc4%Fx`I#9;TD|cX%5iP<0t!+N7u8Wpi#OONS(nhwCTV&dw-) zt>&GFOb+mvlgB^!&xG1RwBSRQwA@0zTcw+4M>2xc9_eBKU3Vs`qd2NH?0PGqNh%@# z$f3dAQ<|lU2T{$VATKN5;k`nqc!u{zrPVH4h5h`J@uBn9$LHg}^F=>z2)0@=nPg~O z##cqN-uF z+j;#`H>hNB@BV)jog)VKFspqR6k@O9f9Tp8*D=Z14ewNy4kWYY$9?~K@JBm5f4Y$w^NIuQkxECD2>7SC5a$1@dJo(o*gb^oAv`UP~!F zy}R3eI#KCs{(rB#FkUNH_g&vgUEA!qghrjFXQcSJE=XOhf(`6RBmxaR*8M|)BbvZ_ zz>cqy@_G7W#g3XB2!tePdqIN^L=!!Ctc`eOW{eCvYX11bU`jiIS|ydojl!;=3n$<0 ziv}uoc@8umXb&NIa7Y9O>;a!PC!l8Y7Anh(8v$dH&oLYxq9|3$_;2m{T3SO$DGV4? zZ=_V&%>{OPku#V}Lq>hfE@e)jPwBq_SY`ECNZa%yj}3E{UNObWC*&fMMK>(HQ3dBq zLFo2M7NubsEd9d*ZN0kKiygu5Rdx0$Oc;xog!nsV%b-tAp=$+TY|yI}`KTFL=O^-W z**r(8Xj7mB7}$(g3W#jtR^;)huw8Uozh(82xr0`Uqzqa^wR~^{vW{5n-Zv(w5Pbpu zXHiu#6i9_Kr#}_a8@+K$0+J(pc#W~^2HZazB-bFV zD_ttLYhEI)OaDo{f|smH#ionb+f!2Sm5@=nVSEPXuHR2NH57jm9&Mjo>c?aWjM7!`WU}?H0tpkV zb{8KnTWZoZ>7v3S1ODIslvXJ*81<; z8gH#}q!>=x$(Vw2A$ZXNFBTVecPlU)FUm03r4x3UQEcgX8x3SD*YB=#x|$XL9qKIy zAAgfDvE~BHcz{+;rIt2eCTo3AufKiYwd=c1k+^G{z`*2Gt@XG_ge#`r94rY2zkVz) z{Yx4$hS4IlD~;l(c_n@vdmo8(d|&pUN#w0kOoaLto*W)es?@^4J_+kZ6-9OU>hC`Z zJ(t2gA)8#-0{^r9LfNqnY^7-B`UvlR51Pf7sBc+n^ef+N3bl2_M{~a~IlMEZXghv9lzOfdGuTkXfTv`k4KkqN$;utf zmLb8ndB;rMX0@L_$@N?XB`so48i#_S+E%{PFFxmqF<>u$pmI7fS>TH?V>ePZs+XE* z&ZywSCu1SBWhWQ{+ZQ@SprPb_sZYFBVwN%_xY8XdYK86vXZx~-9Ss3b8>(f}y5UNm zzT-=Y>Lzv9M<)Anf%d_B)zciMA+bw=r$3*bO}k|I%>eA*-Hm(U_gF+}B4`*fDIu4W ztizL=f*)Hn_`w=S~9N$1ci)TryD<6U;Y-Bzq^J2uA0N9uq!E(H@^Q) zMn;CO08iyrT;Ly3r41cYH>AxDkPb2RID0t?D-Jm$qLjZbBjeX(3f_6hdUGr9@3z#o zmCPTH7XG8Y zxV!I)i#Mo`>Uzmz3O6U@1)8pf=eIx{Ytet)!JzyIxJd&8dO9LL6_&Su)D=88U(d(^ z+~UC~V^>X0fHHfr^${I9)43Ef-02RCXhb*jxJeKMWk#0XN@A#hqaPeUl*jFCe{Bkm9K-gnR7w`39h z@jkjWY` zY3!e_C+s*uYJi%!ZeU6s`7nU+WJ%3nZILhNUYdy^u*CwZ2N!`fZL$XF8_=Nk(7-Hv zpSh4<6;MBdScxNOzMG#PZwISx7~bo}`v$GgRIy)56Xm8LDBtK=O+Qkq79nlMpn*W+ z)z#H&DnjL7SLKV(Mw{gJ{G!<2J=-zgZJbi&l*XAI08L07RDrk^8k3QS>{O}e1zs`f zqzR4BFvR?|)A>tj0E+zsRe>f>b9cftiGr#ZI-Iw{8|cosI~4RsFejb=X$Qy#K6<=h zzB@#QX0U_hdOc#O!R%;SrfHek`Bbe-tMm!zO+G`Qq@99X2lcDjXd)4F+Jt@dJZ}kM zqPENdC4or5GE;L_Dm`94-7)nd$hA;>$wIws*pSZIY=a_=oZ&-S0~(+)sI_(iGF}%E z+patn!A2ZgG)1IH9KRCPK$@h3nImAq7=I_3|5E9FYv&aC4RQ0_1M278nd~?xC#OaM zUx(E$+rfLJa#Z@rrP}Go1~d?E*+Ky_j?&?-LD{|R^ZQ^%dU{xf788$}S@Yap^T!9^ zJ{J14C+h?R1VC0H@&h#CHC{Ud48`1!1u0AJ;TSxT9U3JhmLe| zi0pK<_6vGnRWhO4JTX+tpWc?^KWT$Vj?SrWFf+IgtB9i!l94qcu*aw7Qm+1!lCloG za#_c>_oMOU(pK0h2m*MZO#<4k@CFp%b1@{dt2O+b**NL!+gWJnRCHYhCB{-A@BSr{ z60(yU^?}EZYp2cmeXTO{5G`~LLS^{e1zsDx`gqT?xAK~hy^Q$bT3ij7M{4M_0p&QI zK~B<0Uf~2e;R3J4XJatkbeAw>ci?ojdyTk+=&X1UkunYH9+kQ4e4zt&P?ny71wPGh zXIC@Uvl7`~jv4tInf~OH#$@xf3jq}y$y+6+_@IGr89cu*;XF^uF~o7wUVoFC1CEd! zL@T{eJrEoHneKDLn893*O86v(ms*35UL9MTSwITPT~Yb+Ewh~OSs)ugDH&`#4|TSU zsO7-ccs&3@voGPI22|;>#;q38lZqnJa?f%fL7(oL?~=U%;YC{SR}g`~@^d)_4X)ZV z4k-$Urv9Iq`3w@vD5p7u_ljp8#k>yqeQ^OBWF zk0cb3M}(uHG?tZbeMcAhjOhK7!hI#-u*LH6zbQ#=wL{TmIiGw6>#7gLCiH11|_1sH7=?F!H>sd;5`($*w# z6$cfAWqZD^kjnLH+O2sp$D^E#HVzvEOM~8gp}+e z{yWRVw@5K(panq#3EG@p=PE~pQCZ=}iRpoG0Jxjp; zb`J3+imLCI&E0;X6UBcNBcp->Eggo{-M0!Rj}Lxr3s?pBcO$RRW(9?Tf7Mf3>3rdm zU;WnS`lF*C#_CPENH82kM{DjjG1hff^oV+{9cb1sj*Ps|{opzS*PaY+pKc&Rm>2d( zmj?=7Zt&ow?XFr_6)pm}YSlkmn&wI@6*XK@;0K?cN>M}8`z%`Bo}pM3JVzesdcra^ z_~TjBwrR09&u_$=nmm|g3^jLT{LQSA;g8*(JqGAn3kScH1T%S(nd`VC1UqxAyqBue z(y|C#f#O27E{lFIQB{v|2Z4HQ!z{bGUe(z zQ~x_?Jdfa}ra0&@$;m2U(X`!Vv?ID7^Vx(F8M5-p@87}gr*qH(dg@sLSWMw)TcgW6wtM}%^*t?ayA0^z9IIg8ui!4% zb0}mOj&(0)p9pC zN`FDbSmx=yn8%~EQ9o>HB55=YlgvbXgO93sip}%iyeG_>jc=#34m|DKpm|U~Rh?~C zUUD5?&op(Hy|Kt9TE%Y`bN7*AYGub116p@T$CluLxlaV;~3I~Nl;t)ES$4D8`k>rqZ z$T~Q2aB%GNyFY*bz8?Pf&+Q)9>$;xLz>C=&y^)U zZYceu{G2+c1uO5_b*=T=-blZR&x^xO<+|X)IpF0EHMPZ%Z45T;2l~o>+W7c$|0*o! zV6)ZzK$V#{Tc5JVe^@^DQTNukRb5P4b&fpes#<7d9JiSI8Odx!?SfDXc;ew3`+So&Y<(`P58Jj2n)s&HMwpL2-u(+) zACW_u8NivIvWjNogUEiYLW-dm@C?r;_u4gVl-=whZvLNLjpr9}w$Z`=9OBDwrU_7b z!h-%a=fgw?sof}Zw*&DxYVlOFJd=Gn#f)h9uDRM{I zA*Qx0cct*TZSwT+heja1A0Cr-cxcn_)6~8KIH_EmBPpQJGZVIykljv%9x5&PpX6m} zTog26V^+W3k>wDXDx1TQUoDb<`?NWs0wzD0M=uM_-SxY~$(-jYjOEvesRpovmVSNt zwQpHJ`8@A4F(}c!`Aloy-dywS^b}d&ggW}gD5Dy+*h3^~oh_&R%`qo$i6*ft5D}ZjfK&YB z4|3YUc%!I@IJZcy8}Kuq4_nEQ&|4%zbmClH$EuSGP#SycV7LKu(@A_?=Vowy}4lA%RbHIEUNf>j)sh`XQEm$e6 zV)9{sB&D?ogEyrc9-ll=a%g@&NlUn@JI<0rMfcpKd$sZ=&n+z7hCueaiQUx|^B%%y zdtpx}-73tRH*bo;d|_sb(HB=0;akX4?3vk@h06}}1QjNZmChFV+U zsepAf=0`gQCZ$Pt8l^2WlAQl;y#je%w6J5e_sL zN9wPQjt-2cCQ(ITia_pKJU*6*S;Z2f&G|>aA8Zf2>LHd9&}g*0j^pPzLYU^^J7yHA zS(LBhjdG6XDBXWN;eQKk81a-`wm#rQANy%?QSWiq508rzPA4jM33?V0A%mwQMN5hn zaAiVL7Ltgx)a$5atevjwMuD^u+XHH22 zED(1p4%&Jrh(RTQCh<0{EC0)%ta6RYmR0Ypp$Fq;X8wbHYI+7tSK3=a+8K~HdTi=% z)HO)m3%$q9%;WdRrKLYLq1I^y66=cBs)lL+fJu-4?vll~m!>i*B&Z?47tkni$rvHS2d-uv*WuiVA=qF&1;tH$0V z%R!gO{Z*TugDD^~bCwO5;wW+mITRuEuH3Doey6M=M^0cSf9LFtUYy>!y!@dw4>rgV zedUnA2@p~zIqGT2z~4Xf286kZeCJP*suJ*)$P=Zw6}MjhAw*Rb)%`$`zq*7j_&>CB z)LPHq1h1~vkM6|pbH3gC69Cd|dSQ{5w}Cv^L}rsa{MHmrJmGW({ME0tPFIL%)NWfG zagl&J9%PO^z9zDFNAihy+}UKs@x|iFF`~_hv|`BT4DpTfyNP`IG3QfJjqcxNhKqff zxLs!Q3PG@S_=2OzSzY}O%<7ak@>tY(9#-yjeu-k%I9@W(5J^e;e4b7|6;%uK2`Rr= z;oSMps%(@cn~{rE7JrqKQm&nZebsxs)@6^d%El8I+k7E=>3nAoZ4oh~sKrOQ))`m- zyR)1Xy&EGr_(9&~Me4A_KRbV1A zJHOlz57fe5L@d!UhnvFWGNB6eRL}bbs8}mK%i~{aXEuV*E8@^HBS?)P)SQf#hSrUe+j-5obQ$bJ5N=qFd-m|JR zXzMw_Wi_tSVwdbC|#NJ-5?C>^Lf%u)jPVq8fEF1SDCrI@+WJ&Yn@yB<*lta8b_49Cmy zgVtHObDBl?jX0+8F~;yGsJ0q^EQ54Lz@V34mJzHftXyFyC&E0y^0EAZ9?C^|a00S| zx=kDdZ=>9_^{^^_(8lST1(8<)U#dNxs9tX^f%H-|&TWzUb%(})y1b7S#Igd7s5Gm+ zn&b**gy%zZtJA(_zlIsQfCwe9 zsnc8KTG77~Gwl}vtqd#6*XSW1MfoD%c{Vo&a8GG*!A69)Uq$h6sy zq9G!W*^}NepsJ+I;rWMsW)YpKmiT=ISWETk*cROGJAo~!t#lx!XiJ5hZ zb}0!#AYEBLXdnJ(?3d_xk z(FOstyw}Q^aF&HnZqS{paO#9D{LR$L8`mi0MfCcv(5%dIIbKf{PEM^9OM5bCYgcGj zF8MC^{jx@Q3g#3O*tOtg??YiR{E#8%>)xJ_p;O%UTDMX1Qy8%tA~zUe4#7(iRBX8^tZOZX zkVfk4sstK;@6Y$_&i3aq-u4!weWxup2-ba<#GsQ{J)&kHoqeM~JUHpi`*?L$K{Li> z3i0yv<5SOVGp+iI&^5$)6sdgFqs7|p-hd_iqSi>1^rTGu;8cSl@OJs@>KQ; zd~UJo{%6wzewY8F*uM545)#)X)zIcfH9+~c)E#nD{P;tGTY=cldU9cO-CO|Nw7t@| zBs{LaFykhsk((g(APkZ>Ie9IwRR$Hlv{WjZo_pg^lhp*^4^7h0!bKmTa~Ug*YDGBi zvb|K-D^SH*%7jiP!!HvCcNE6oIG1>b;Jh9KD^wzS4i)?M`uMm^cg)7{>Yli8#FV1V zje4Tlb5r|_Lr0o35nUUhExskM3cS=Fh~5&-&vvhcRXBnA3|b?1PSm(3sc6|El?D!xKfY))7$+A9Za^Z> zzUmcv*eQiPU4gXwPR@Qi0UE|T|GxgZ5T0da0TN?5#qK~Ug}Y%M&!$`yUVqR5U=Llu`VXyJi|Y2qrEpYL0Uj1b zIyw>zwf4P!9D)*<|K#(&$u4Gpq{6A4G`6jVIXWDTDRMggYAPdBZT2m(9@EH375vq6 z{a0INxgOW9_P43X;_HaIyEkq)DyXa84P5&9_awRFvS)q&%l_}z$&pshYIjf9z3JB1 zJBdUh)*}jyRq3oTm%WsU3k$oua>5werH;4L}z)T2@(AaHLfp{+%# zX{z#esSU!xB16!IXI0YX@ai2K?8#cx&c$igR{!qIhn|FY?X!JeQ%MhQx$)OjM4T2> zXdHYX26#ED+3)aKR-6~8Nq6ku7uf##`$gNNzJ%9nhl#~nYUQ0ovG=du1@f2OGE zPrUFBkoHy)etn@%FN7Gjsxdl)QSVkhaaWZjdQZIKUCq( zMxWZdtq4tiv+e!f8nOS9nym-~Qs122UyGyyy>Iu}k|LYuxGJPMuSe%_L|mcHn@qp< zDCo0TDe}7u0<99f-)MDDn4KzH$CBTNEi@;y0;U=L^hsl>^{H1^Xv4L6ez)P7tqgn{ z3@OR|%yyTWzkL_G`Q_p;jyxpvDyss(J?Y55TJ{c$J?p4-)>wfCRT&_I*N%L=n}=^< z)t}AU*{!Y&Wl5&T6x>>A5oWlVG5`^ZKDDfaw`83u4;?O+woZwQ~&Ox{B*8L1}h zAh6P6T5q9SPXs1EscEQOb)e@mssp`;04Yw<^};lrR{`wF2^e?Sdm!T2(NIfCIjgB1 zq@zobn0ofK0jm@b)dlx&r2U0x%zO;^_S4@e30uUuGgqZ!uu7rvi!7PWQ5Nd_e+^Qe zUuX&Q+9*ZfR5%-^9VwZY%J2`)6o4mmBq7QLr1wzb?IV~Mb!A1^4;aycn>9WxQ_f&j z1xGk;%ns69(wiBbZ3Q$Csp^!J*>ZQGI(i$SU1${nVMR};ni0unI2q(Y> z=?Jp+7f9Ag84UN1R2SVuDL@#-xvmZ7Q?H`7lP6VhpwwYI@9r>^aU_nLQ!L2^s9NeB zSvBRGQ4B=>dsQBjhUH2Z?R!*pbf5n%DZVe3S92!nv&P-zFy3s?$2J4lhzYVLU+TL~ z5uBxx6E&DDYhYhrV5LK^r#;A(7wqM88wcw))DzDKst-DPxH6Xe48LoF(aN5i`EFT3 zgCjzM5c{J(aO#EzoeL~TgvJwJT1`*M;V&JzmyS_&bCB`Qc^?d9Fc#bt zEtO&~#XeZ$nQY68%HNAI4uazq?$X7ZAX(pkRmH2Tc;+0A`G_T1-V;u;(vj$gPCReR zmSxQ3w_dMo;JMQIH*9PBD+M!#1t37eZO*E@@Lnyfac`)e_6rb8wSOgPCq7(V+ z6t{H50j)75i-EzZZ~M_p;pdk>;>h;f`bf<0PT-@Qv9Zf*T-&+Dbs&P?iL1BsKKxo#;)i!1b&jI7{P0J&@m)L@ zvv@!5Nc>Fm%H&+w3&-Zb-C2B7$7*i6U&qP5y{v?-R{Ly(q6b~@IM zK6(CpD^tyvieEf2(eHs4dD$BvIzF~~O_6-JJm^1qBc@aVfPAJzUg|judH&0Rv44l$ zPm)IcE2+M5`8V#^FJcpsI8sbwxGUp)v2}UT#H|^<;YjH0_>*lcLS5UlU(f|+&Z~Zh zybdemytNoKhqwpAQh>zZAZ0;a5Xh0Cd!;=(;D?g*9qigJ0{~+b<9B|^q{BP#<8X<bA`X4vg$=)>cGrHg@f(1%|^Iks)(-LPE%i38d0ua4XAuVKqXx!Xmi`A6C&! z%$!?10|JM$eM#xKaUUCm9cruCv;0j-NjC{gAWw4koSzfVGz8qnBE~x;(sdYS+er7_ zT4XJ;Dgt_~7RBXWe45eW{_i8U6{E&ydM?gLF*f!Y&^#*Yb)SHdWZe0Y-}(No3xI;# z(TZ4ZU;Wowaq$nx$)XoyNGdB-9I|3tQyZuF#;D529!e6PI3pkrgl>v_qIW<}>ND-x>yIyU}Z7tLXGHnG%EoxvcSrHFEkT$b{_pNKfw7 zF;YowW~7{DdAvX?+RKpv*r;1d_`pCr-Ml>8xV34`<|k`2D3a!HU(PbKiIE2-T!aJxrCIsPkv+EyDlYh zLGu7Jv6p9PjR2n)$($1uC2hLT_k;M_S2Xx8HeOZh;F0VO{E_3_$&2lHteEc+=_)pQ z5&@_&w{`u7C`4Nf!eqLlo9GkcPL`)LgamZn3F7*dM@6WF-DJ}wjoAnqBn1BYF1^X)*RtVZ8f}ib_}Hp$X_sae3VGYfmpEN7gxh za&)vq$UArkMeNLfnMWtWCLmbl$SqRj7`mCz_Ft-OzQiYtvRm1qjz8!&$C1)m+@Vbz zBClrUS{{_n0+y8Uy`@pn!^4HTZ!Nn*;f8*8JuEs7x^%3!GFlbVv;%@OV0y zh$L-jj8wQa=BpM|&IT2d?GHcDqff>M7|6G|M$2E8tKzuNlqf+WB0v-(kMTz*YSY|X zf(j|?|GTCWY3^=!Aoj?_M7)561}6@KhE+#Zmj0@;x^F*DNh!X_aG<{2~OHsNpIL*lkQ@ynT0-HM~mYp|O|I(+pZnsn{-tYq!r# z&Vd8>B}%6KJ*M8(Du7qHNGDawbR=)-zHxC)9qIF{2kygM^7!tyJ}z4vMYgF0;!bWg zr0zGIiHnLO3EQPUs_}=PzJq>Pt;&@D!<`aWu&rD7B>IN8B1k@|@;8$}w#f)qmewBP zV6ckxTH(>YVRH|h;%c#87Ha5y`zdpF;em%DGyq|3Pj68_^}+aC-stF9R7<(?icXp= z6O{<~WteoGusl6%4->gMuTp`FU@;P>i5LeH(LyeDqaLm1ChpMU(u&EN11u{A&eCM6 z^rg|Hbi8Tnr%7L90ZHR8EGVLm9NM-X`6A;75hiyl`F?IS-6TzX%WsX((x55)VRM0` zRPm zNOjgf;#${X`#hatmncLltSbA93Zu4zESwVlr9VMH&$*C>;z~akgWj#`PZ(C#0jvv? zVBnxF5~5E#xB)?UAtciTnN~Qe+zwCUL#UyTB_2O2gi9lu`{IY`Tx}7+4H;76fmW-! zYFHlf$edqi4TcX@#X>w^Ag~R>$jYDF0Lmu$oBHUoSo_5V5Z6ug3>apaKR_G7KVe{1 zt!73ARub0sjyLM83gHlZ=WI0zrA%KzmF z_v~=dm?w;fRZ{n{a3u;GzvMs2{M3v-pl9{5h_RnUuCN9apwo!?5fg`XQ&{hcRO zD>&@Fx=TIPxo_M1(3yi6ODPpZZA;F+(t3b@hmH1MDje>c3 z=E`RGHITJEzYbbG;i!hX=ro!>gU_uH!}37C7lBP9(Meg)LCHZxphyFM#}$&ix8mR@!!` zSUOwMk^F75?gU`cTLx_H9{f9Kb`u?u^}m7R6^NW{-&KJC8Op?V*A-g)XhFTf2jn{5k9QODQ zGj0bJ>w2Zfi0cSjxo&cD5dawNi0}V9;ppkS-#Sz-^Qbp6_#af^E^7bO+pi}^U2-Aq zah0)1aYe<=XLpiYpNDl!IQ#u~WS`g8Wop@?O@~3-5%w&TGFb0CeRB~+#M1mNd2hqdmqoI61_jS z*liPbvTv!>SZAWRBaH-Xby*cK!CPP2KU~eLRF(hSf-f5HaTzkyIt5;i9BdtOCAMnT zx2fp7C~h{|jH|9d0T3QvnTB}YM~fyw6%HDeV*N67HDdF~($~b}V)&9_J5Qn~PZha4%goL;UKcC<$Ago|T=vqaqwnvEkfy@?OCQjd1~Rd+w!-TW z5ZJ)N*}2NPj>Q73Z<;<@W?d9?|H-r4Xw=cVy{oOjSNJ#h-@iG)g=%==E(1 z;_R&Ox~h9}4`TXJ5&j{GQPf;GjV^%6fm=;w;`R&h*Rj%U3I%IV6?yu0@CT(AuEBLE zx<;$=_3VOQ77oU=H=BPgTq;|nDU2AK*u7R4!tvm9RyCe>XhyHTSAcKnwssM*# zM<-1=rFv9Qr#6m~okG^SB)M+0MJn~J)UQf0VgqQT{?Nb@@h#wsa-(CbD$@WwdF|Ub zxEKQl;atYKP+VMh*>l?Hs76b71{vLcIGAo4B=0{U^rJ8C5NpyHK*R{YfAWs0uw@7Xp{M5*V}%u=&rWWZ-pHe!SEIbe^4MAQkBe3h-Zee zNTlfq=z&x0Fa-b-FLl_K5&A`z{w4pof_b@IFuK4!;6t+^KQ$+eQM{Xkxv|xeq->}y zUgd?H#rx3rtJ{6W?rM5DM*0;nfITtK%pvr&OQ>2|CR0a#S%H_b^dr{-2{6WdL1w#h zK|wd{qo(a)usqHfKbE(XQKN7xIU7?*z1qMyFs$NTR%jVP;PONX_#7)yXb|p5ybPd!zrAg+lu#6^ccNmWd+Al;gnRS%g!HD|9#&WWg`w2DOASn)N8%l4emk zdBjAEyRE`GbR~j6UbrrjkRh4#PCDIbAaPjX7PSqQ%8l(FKZBls=5XGsfGql`M&5QoZxV zEct}l`P`X&fFz=OpM~pdu?l=FXZ-l*eecoMWu=sqV8G6V2GBVV2$`~fHKbNYgU*n- zYAZc8|Haa2hK{$Lkjacqi3b|@hmwmlxud2$A_EWgx05lYZjecn9;2PX@`vqUM zaVSv+wg0`$8HKOS(v*|`-5WZ!B`Mu&iQ83*BaJ(stqVDyZlT~DI(6@IdU{fJBX?#; z(dWaju=e19)#2b0E;r-v$3wuLrsU9`_Vm^1Sv@xe*Oi@yDLe)``0L} za^nm?jnE{)G-eC7%}i-5lpf?5i;Lv?-O0r_E!478>Gadc4x6eHx`~9&Gy5jg2kxBpw5n@WN!0m$(!+mmm16LFORh@`&|@n?E*^B6D(n4aFWE#E>pijg;wtFZJO^-f0Drr&_xSH^a6eU0xxJGc)l^-BVlgye5zD z<-5Xcn-GdRgL*B!D&V04>w0}^sK62SS3H=3+M=E$V*JZjW~=2XJ#?>}ZZrZ1BW8lc z(sbOQOE2ZthiMYFnrVp*F1)Zq?3ti&>x9QhcR<_CCuyJw5xsP#|yP9XPYohmO z_Z=T^qi#-WU}aO}j{BpsnAnB`?iuMg*%%q=uu(<`Yadf2-5ir`ckOOlP}uIOuOGE> zhhGVskBuAVZQMDdi|!>r{Iu$A5dR+63l6xiX3mVqYL;^cHaxC3wz6}0Q~U;e4tI_o zHFXNT=t)PDG*5pL$b{len$_me4Rydk&6O!=^=|UN;)}mLi@<->+3G5_+wy0^d9{?f ziY)|EQtJF3gI|FCr>TY_EMMe&h+Z3Yj@w9hrM25b>cMkj_mb^<_fBMDXjq-kbMfST znOFi`CgzgSx5s0A2jR*dIFb=szPosNVQK;U_XoA6FVlljYhRDB(KtU&nDi{9*RQhc zUEjI@xL#*SQn&Z^*N;py|Hk%zD4}*1r}T4C5DwDZYW+`?%_Qygxk;&>IstQm3fL&ny21bE&8q2LQ=Hc51u zA?d?(cc}lf<;JdZpqUlh8mz4RGoO1-G6+k0nGLt2gWRkB@=@cmlJf(7r*d>uWo|I zAh-0^>=)0EOr3(a3v6~s|J8UF#$8Oul86;&9&Pnxpm4K>vF|-Qk%{e^oPf3hJtO#Y z$?f3kY|OK#l;E&JWzLB5jLfSJWc&m0%M z`_t9*y%n2&fxHY%h2tdq=32*p$1e{THN$Xa%;+DV)dK`q9j??pWjSc^Erw(5 z(KO+df^L9tqxbUAj|{Mt@02FCb?>kLPwY8iSk9jXGvua%|6X414$4doV1kCE{!>Zg zlKp~{NW%RyY2Zr~F0d?e>>&K`>sYI+EkBuAjC)CZxEs%!6Luj}_wZXz+OmlQdj~Ql z9?Xw>gF6W_2pR{Qh;vc7F$EsY&qcbK;+R++qepsf`ppi#3E%BEJiQWn5Y&0+$ii2L z-WBGV+V_#L&78li12K%b)=e^_7l0qc#C5i6FU4qO8YvrMR5`?4-s`wSw?$oO5>!nE zi9LMz-*#Ul8k<Uc227_MK6UYA8MU_Sj-m`MC)tyji>-u zA;qz#uUgu&0gx1TN>L0`5wWVCU>Eksk_F$tn@Dbllqo?I@=Z*xFf{;-55k%K=EGfs z813ZdToeCBIph>@J;?bc9EFs7Nn-J1k`l!4aOrR1TGcm-QqMm(!vY6 zX2~Mp=8!6z{XNgHp98s8!FnI#QAF0mX5CBvr)+=6!er4TEy(JzM+?j}CU}N=t;_qh}++0-s#mE{l zM(+?7J&daNkNNo*7T53bKV}K1RG00hA%BZd*kWbZX!C0Rt&zRql{AlqU4=eU-}cm`Fl`*bjNfXM%z*I^sBPDvwXshX-UEtZ$e| z;1J@9+2$W!GjQl?Dk?5OeALWSfi+u=)F>m^}wTt*zU;kNe+28fer?`%}V?etCSsVVnStVKYObQLDVzY;pj4C`)!I@I)zeH84v{NQ zK1Q^+wp8joN@o<8(4{hlLkU=#M5`v zyW1iPF-M(_KBkW?tZ^uK!QX`S%xyJm)otz=0hdP9?;nq9O%1G#$_wP4rHWD>=iVGQ=+`w97!cEeQb(Fh1*{lxOVAnCj&+ z2@_xVa{eT$4jD$;QGQ+HIWBz9vK~`lX`n`%AiCtBYU2y8c!u#F=hgW1vHgj>`q95J zN3Dq6uYbAVAAk_{;jM}J`EK;6ZAx1GdY`u2Tlwj7Zyf4=k*5calXEr!>J=c!C9@wL z{vvz;V4ZtjU-$47qyaV}H=g}w=8f)j{zPhV0>AgL%v);PwyhU*cw_(HWA4XntS&Kc zBlo^>G9;6*VKy3RG9AauW+jikCNK}GBCMnLA1(Hfdpz^nJA4;zIob-|m6i41{W&qj z%q`VWZujh={TJSEULRoVSy3i6M z^pcMoiZ7TQk3Bf}7tAY~q5G;v?e=1cPZ-Vy)5O)Y{GG9;#{9NS?T>fw6t4-n=XgkN zYp5wXlg^2cnQCi2xIW&V6QxVZEsF}RL19M*L=6p7680I7{7^@Oj#20eru-W`d^vJ7 zY0|x`>QA>#WflTQM55aKX3u{##Z2a_vh??ul7d?ctwt`>rI){;%^n<@k$8J?&9%I7 z4SyPxQY7a>eT_#0k#jNUBc3+v+s&S{TAdellaK5yXyf~55Akg~c42$S(x#pO!qI{d zY(*nXeSBvz+>xzxwdk=tbh{b zUE0BvS3^S>7NTi{=LgiATwZQ3Xoi&`Mp0>J@%o*ri9J`t$cX2>4w3!IH*XE*l{@_j z+CxM46+F!dGu_Qy%37*-05Wo$HH14F#rDiGc9_BQnH&C)mXQG5D7Mv%a%6J)e3!GvSt z3c-MR)!mGk#m9_Ev-F=Ap`Q4;zEMw`3N2u>}*MN)DtA{BJ z)Y&9UP`rVGrOW&51d+g*q2CG{#P8(A*!^fTT=4(*dq6g18@6CDUi#j0fTfJjPg55X zbi2<^vs%aJ@oQ+()*BTz9@5zt<=4-elV2%iYR*m#a5!V|93W*+ghJ{tD+T)23kqU{ zlkKD^gB&~`qxyP06`a`DKO4!h5{XEICw;7CL}SZ)?7#rUxyfd~ z;VC^<1;iW=VokJYlRA=zUs_98{<%$m4#*H5- zQE(-;sxg4C4WsuXPrG$8FZhc!+kOhUmD8tEjXn zarAG=B?7tRUb9qL=%)!ZTjlV6cduK9I5d|H)q8gvhYiKJVKsOVXFEtkNQ?x5zpQ8@~>_M$3t z;v7!4uw|#I+cb!E zP0Q#k+2o#Bnk48%;=w{_hukE)rmoIeiM0Dh(#fANHK<0b8_6&3-~+f1R7XjgyGtAC zO&PhvTa~Cz_M!RHas~=kX04!A4MN2D#>R}N)>(0>U+0a!mwi|9L*NLmkIL7L$FS#x zMZNn4(_ypU3@?}6veZLaKUMDn-=@>t?f1i;B1J30 zDci%zXXNA2w#ze@M{?AD6ckBGSr-?E)?MrPwuQrFnOL9bXyT-~*5TjYV_q-*tMUb?HYwlIbPATPz2X z@*6j1yCd)mVGBh?^$rFE@((Rtrr5(G>`6*ncZ$G52uT+@Kx{;vCh~<(Zlzryo#UL@ zYz&8ne0x`hW>t0W$~W(n)HjB2GWwnmPWPN}#$8UBHFja3W(|D2K!wq3mbPK61>e-O zEE2a{>TS6EtIsj)vRcX%=fG`4@pevpkyOg}LHNns=O4iEKr20e?N}t&iU$v53TAf}P}>DfkpbjiCcm}T z^lKM1{g73Mv|xiBXQ~c$D^x$ z(L-@@Cjgf*=HJZkFUvZnvc~fz^1Xj+y#3k*x-T*-Dn(ga*5H$=+^Oq0GrxuIqm-LY zxDoz5^k2S<%^|-tbXI}otel3_PXA^R&L^^Z$5Eo`*Q$QhH}%{QnGYi;LM`0*=R193 zkP->T-gVY|4v?MLmEPX=7`#DM$HRMdJ~EQu*(m>ep5qudK+Gyr&wx2bPn2t2=8KYu!| zdK)+&@0Tu~ezu_&kiLCd>U?y=N2(}?r6u^_c+yboEO}Znzk4NW@if^voO5M2Vew=m zEAF6mA?h=qR?nyQU=Ly;l1jHgIqiYP?61pJQRW1N=YHR!&QFzkC4OFG#|X&DVmRS- zgZ&Sbw8p{h1nf{+w<(lSAZ`A4y+!N0>%rckJHdtSJrJ5JS{=lGzRQEg?Kx7A%e56< z?h#h}(RZ()49vlzGuf5J2%hpfz#A6!oIC9y13GyrSAZ~=0@fAe{I<2EV19YY*G>B2 z7u(NA-qg}OpBVstfETs<pN#Qo1nvU5+*hPU()+OC>Y{hq4*BlS9l28O zSya1%FSnX{a7S}~y`-M5v+L3Xae7L@C&zJ0&)@KIzc8@)^ikFm@%Lp>^1ZL)u}7_0 znxO=MKnqgGxiDQsKd@p6C!`6sVc2xhz_B&`6&HuamK{f}?(g8ljZ5>#v!sKlCZu8T z>OFeaZ*n+TKxQiBCZUYC2$$L`BNwcG0EfKh3K zlhKhMdn)wwpz(W`IlpS&2cf}}m9crNZCyB)wF{jBDY8XI{Hp6)RcsRPH#nz3h zM|eL)vL)X`U~C<{;QA@6d1CA)!Cj7n5h#`SNny(rfYikIR*a`yRot!Ya>jv+ndEyClZ`|#gq)Y|bEHj&m zS9ScU_rJ{K4&!@p8Afcl;j*xZay48czY&{0kZ%Az*U*RvmGN{b)3fLPK<^cdgH~CZ z0FZYWDf_DhyMB!JJC-lk4tpP^RRZh<a5zvU*2!M zFYd16h_Ftt+{G5b#nbIrlN>($y59K6)?Sd}C5f6zImZw2DOH{GiyAZN{@b9hFu;g2Y5hB1@SizhqH&oj} zN-BSfFi?PW=vVGg1bWk!B#O&e+t{d34O*DoZ{=l^rQC;ZNOdlNN0m*z3S`YX7s^SQ zru_{e=(lv@)r!)_62=HL{0`c~?s|$V`K2AZJ_|L}IJ1vNN&m`HSxCo^72!t15YHF2 zlN0DCS~w=T?1a$4s3+VbDtT+=2~E~t#Ksz?P-8Q}!O!yRKbD2f>QDIoncsj5Zr4OG z-Q%9lcD3Ysn^faz{(Mq*#Q5zkhJor+@EYCRs&5zia*+~t~+t_($wziE*g5YDkI#CR<5sw{?4%*H}WMg0(a zX7)lfmGo~~XP=elOx@rL_q^YB6C**Tn>eV#m9+PfvO4pwEBjTx^CA z3i8r#OYtjcf2F9FU47(T#$GS+>_6zIBI{YiW7)qyPbW@yvrFwAZEbDU6&3lXe)oII zOC5(g)@;Z?O}$2x`*tFB@k48lTb3Zp@t2lpBD_&o=-lc*H&uFqp# ziJgZtkPW%%9R!4+!${>yll*U2s`YeutXO_BD)a?&()?#vUHIMjG{1$`ovyHGzYrCK zfufC<{g&5!>hw1|U)w$r=19AB6b}#IjT?MA{jUsPt*@(Dh!jd})M)S%$6AN}<5g9c zmH*$tObF+!tN)--mTt56D6QivqbcHD&fdR+;z}vVLjHa6cp%-j-ViOn-&I#+nR!3+ z7V`VAFY-c$v#&pf9{e`WF#Fa#cIRREzv1)!eJK6%TZop5+T;U99qZQvSM#m`fPwVw zwckG(ouXSm2rr)PkjyKj3`$q3bO$6E)9uQVyQv^+S!+ZI7`90mh7qz~*GE}bl&^t9JL`W|-H1z+m z^(|Ohg$yS`a;Y^v>w*Axe}X$`EDrE>VIJZ3NMW5xv*o zzrOG8?>*RZ*kaaNpLO5Yb)KZDKGVznQ&Y*ObE;uB+%-l!)6)_zC0oC&6`a2zBI$6Z z8xt$cApu*xeX1Hocjqhj_u+!JjV<7w?alFWGW|x!LET7E*9n z2BVbQazp9TIdaw2s^e~$Dn)XA>&kj#J~l<^r1vhz%KODk)M%}&)pKZ*UC>r#oIp_g&Tl=?b*-c+WMCr7O&RLG2H)wZ#1RDE%6Kxrp)v#N6Q7d zd3<=fHOypgQVIJAyx0v?!*h z!r-XA2%rAnpT3#88pTGVZzmX8a{u@{{7^XEi*KvsqYl~MLTHaTcz^4fVr2Olo2QBh z1Z*TuAtB|{+CC8MEBT2HE|h(H2xc(x(p~Q3$Gw9f(x{RtGI`+HRzB3I!bm#474|&P z*SVelOT=m)nOc@ki+fC!w9G=j!nCZ1L-*8sx8)AUZ}n^nAKQIBJ-Zo4An@$C-=;(F zU}$S)HB*+DX8v3+(=oB_CRdRa>J;Z^WS=ld0jq%0_i9nyR-ETc#!ydeLTYS(HLNjW z;k5VTnj3{Y2RpBdnisN=K2w@A94xUDp?}AVKHpCLiN~w^U-U7}%);WFgb4GoPJ>p# ztMVPzYJ*#ep#?VkUFOz;f$Ixv5I8vF&WLwV8gn%RbSEa?>f>be zz`#zkyW-Ub>xztGx5I5VyuJ#U@5tLjT*|&oJU^IgaI^xQdFxID)FS`p|KIQXm2?jz zVPC!m(9zWRj@gqV1<@07s8HW^XCfAYtaZf~+lpyJn)Ttm~0(2BP_JBF7i|QdHt3u+Z*?L~ z3YZ@_2#MiGc-wWlV^2deqz3&lf4rCRM7S?4u>qO-FsC*slY^WFkYx|H`en=8=4-J> z=`XpF8CdsNA?Yz3TI-#nrsX4-rL{mUC1|759;(I8plba;N!lh;r=!|(z#>_z_+X)H zUm)2Sl^BRz{whF%CN1dj=JT(WDaChWaiHOhiV*i4F?8pI@4xF>(Lsy=oM;X#?3F1sTvBM~<7DqXLV1>OP?9K4+m8l-BMZi-3 z$#AfMZ2M#KcazFT32m_EQrg0wv@RJ0Ck4aM`pvjcy6lw!fQLw(xvqTAe1* zq)4cSpd{ZGO-DR^`Zg6jjzlIUk+~myQ1Ev6@f#d%^W4q+o1;~3;r0FgO33Z!<%Fko zb0#)sF`M6=KKe`Ry_qLLL<4gHB}huIzK7T|$RT{e5)!hC6KYP|b=i5DQ`dd*vkT)& zw2n^L6%IO_`q>y;&Kk06Z9r}R_oEXjOJ4icx{%7cP+e=i48$zo%70(Sos|5b`@wYA zuA-vI{{-lj>lizs=wqci?~RSj5`lzur+{$B`*$B!*Y7X{M9wq}qFk=R%b_+EOY6Mr zTuiJh_tiZ&wecfWExmZuFZupkB_Xew zd>02xC*hYpjw{{4%eR2+^Hi#5`z2u4tmwYmKkPmqZ(;Lm34W+xy&qQc2TJzPFQ#;? z|EzjKZueVyFjC8>E2eQuU<_E)d_A5p0wVqz9CqA!c_H@mbfobP%k1i(mW4n zn3yRAk35#z%EeIPgfAUX;y8RXHA#U!qMhOAgl7j`3#?o>w{)-4Enhpod7?r(+_L}s zBDtl<$V;8H3lb-9(p~M5$cY|xyb#0)&i==N_ zOv|1_cRi;;p*3*7?=ZsdbGV$_!*T)ZZAXe_cj)cl@v%lxh_8qLvx$Vc?!Rv1GAG{2XIUrw`~(S%P>>0(&d$SHwVP z$GZ>lXghj;_ZlCyWE-UoQP+{GV{jq!)0`jlOc6m0q@mQ>oXh_8!$q1QPpp{u!$%&ni@{qKP%cadW7>ZEbk z$qyzS>$oqt8?cxL(WK%sQAr^p;xTCfPBD4;e~3l5+dX(oAO^1=y-=@ozd=ULP5AWw zpPo`fYwOi<=s(7kbb9OFwoKUZO4l7vPuso_Slt}r;-!)T>N%C`d85UT9u< zm&@KOU1SB)vMWqA9~YvrBD+6L1TEje-9t8q(*{UNJNLTQv)uo8M^KA$BxUNkM6$|> zU^8UDe1h9oo<0g-$9;Fufg==8o^7JWbC@0KVQ0s+4~Q-vZh}^Tvsw3L zKV8>RDQkdUWnVx`!+%|8usS68xVfe0v*V@ZV+ zG#mh07F~@aGRSQ>{B5wjSkzI=5avz$0$NwOzkt|iEV{1ajMdXLZEUVlo0UHl8bfO@ z_;sC*GaV}_U2}sfeZr$as}l}p;)6FVH6fL&SYi1HWarws`?uG?9bqGQ;+aN^!}!(I zNrc6#(S}uej`rNP%Br#nR!GoSPnc_%xjqfGAM28kDZZ91HJv_VZ{fG1_Ut|yueP}I5Lwd$# zx0O4atv26kew^&mTUoi+t8r1}tMSNMz8rBVM?}ryF&bB0`_Um%M}@!WvKqVSK84!7o_&$d;Tf3nA@0s|Al7XFvFmUh#B6|ptBkv z!<`i?NQQhJ8& zq?z{1I&vzadQf>8faH+$ytlKld2W|OBbi?P1!|NYgp-0BAhPS*(JeT#2(&Q8nt?)d zoz#Xjt%|5HbTVMl$xoYWHNr8V>Q$N}Hvs>-rR9ck(5R_bENtJ$8)S2XqHJ^vn@~>K z+9QcIj=FqNAOaOa7gwhw9ue5t*eU2OHMv+Rf_n(J#Bl+Va}Ek4h~T_Lljp9MkO^d_ zkA|7qRwLA+DSIXGnR2bSy9fZ_T!XwV^brMNEeKaU`aQkGFnxgHFD7WlcY1H%a%^S7 zwC^;SFQfl8X2)e30(E2?G;?D!ZYp?Ko7vDk_d8-_gG-wS+ZNFhZ?GzpKcTenx zliRl-}_gBp8afYdmVD-mf8nKcH>dyqz5hmVszt}|5}?3tUz()+ss9A7}v z`EB7zDKTgQu*w=13nsKKx{3(3v_YlG0+(vZ`_n_u;)jAv`OAiZKnYMu@rB@~d)f_i z82l|)*zozzAf<<>KANwd9+cTV7OQ1l+ou> zG8`DZdTy6LAp3*VInl7`A;SQdR)Qe#m*IPx?|+z; z`GUT!1~dFkd45V1dHcoAdX*g1%bxExzH1u=J!v3_H}42pk{%eMWBqIV3Ry4y9F@hX zIxt!Q)5K*-4S3qbTK$~ti^+$UFwx88AUlRMFN5a^{8}w@GJ!i$6eI&4;UB&ffar8& z#3VlfG$xDjTs4sON0ej&Nt(BZy~s->E|DR24ZEIQpD73559QK4!xJ~XipqnsKRfq; z9vq8OM~4SY7YF!90kvMh2v*g%bc)mbAzqdJ;x}8mj#c0C<=)9>LR_|#MVq#nB8a&L zX>|I{kV){Fw-VawRkO=yl!w<9EV6gocRb0gGMxSIn|TZU&VSHZde6UeoLxB$({Lwb zxWqH*GvT#2kDq&`djYZdER&PFR=jOLXXPUE@CVbw6rJ=Zk3*_Hnm+~KP+p`g!S=<&B;4kPX zzUf^ZULBeLd+jDiB*6TIQ^LDHH&N1k#JgzW;B8tYM0ujKxM zScBX8aR-aJsVNCgoA=PQPQklCx8j_?ywI*<)!1ZaS#xurP41wJ1K?xC6RT0BC7t@n zmD!6g!`b!2$FrHUN{&~bOJAuED?_1BM2;i#PQl{Syi)%i^za4&U3&3<(fzqzz-n89 zrvjoQRLrknF$QzuQp?Lpvm3B2WkL9EY8S#{Q}A_X*8N*eEn1vD+0~S6E!pZRQdxam zLtkCRAa)(~nxks8-s&X=q=dZldR6)NSDLMg3iuJ$T5jZ!St3DTrCxfg(*q+2|6hcfbgrZY+kFR3RBUK{_QuOMCo2qdTh+Uozfr7uKZjZxVWQ_B6^E8W;GTgu-xV&$6dqzu8NUAg%Na|?{Dj#TxkohcE2DcY+BgdO zFr@V0nCIi?`bTmx_hn0`KU&)PcZ=gtpRGobwC8$fL5GN}J7&$XFnIfb=ktaO%H4ve zG!Ht($y45Sh!jGfyuT<|4Ec2Pd#c&u^OIdbf7}SOq{KZ=g=l$i;=i@u{ui8)v5Q}x zLl>N8%rSD*J3hnlR|IDYA$FMQo3zRI2uYJle|HC?oC=8d#z5(;^y@|z>3z;RSkS-X ziqA=tYLZ*!X8YOjS(l2UT+?pMufhEcg!9zr&ns;%57$OyqRsD%qXO}Ol*4hu)RLLJ(Jbw|SnoeSA5g7GVW~qoyR-n4 zEl0+bvSTCuc>eb?1l9XKp3m5#G`1pp`JKYgf9m3!WRrw6wGa!Rco}>o9?`ARyySnIS6t!dWU_fQrhcwRiTyxp7k7 zedW5;md5%Z^uJniP@#nFIcwJq#!dSF4k7-(pF9{Gmo+DGdLa?0I9?d;mk@7aif}A( zT3^Cd`X`qgY#7mP<=gCSqMM5ev8;~-)Kx}|)R287xW349fk;_nss^77g6>0vK z;`K!Cn`W|baA47wGN@vULWtSPWjIu$6j5qK+&GWakasD#JlGsw$N-Eq28M#NV}3gZ zhz_ROuzFJU26zYq5jmq$oN%|(zIDhIN5SK$i|D6s2P#E!3ZjqlV+Qo*c7?{|TG;a!Q97hDI?UK4`n7$(E zWlS+qTDUO6C#F*`{Ye1ZR@thF_yYz;aD0yY73!pN5Li7|*HLq+`Y8ep=#?Apna0`}2(+CNV(_LlsP z?~@pL>RQ*QxG3g;N9l9peSlqZgb6*acXJb%4WG)h=#acax&K?(`MEQ8mJiN~Wexc! z2fTS*O}?SCYOvz-yvGYF^qYm%eVWxdXuA#1g3+pa)W)guwE``PSD#Ubf4WV*HktlS zKHPU~8u4hAL`UbA#*#fIdu9OQ0gnO_to!AB4>Mp?sa>q z)acNw?@IT3wMCX*BheWfwsrp3qZbzbYf|0!Nx=JB>qhK~)&3cj#>Vh%+RwzMX~-j7 z2%LiN5C(Y2T!Vb~rLV^7I}U?Cgm}L6Qf?xQ$xq{eZusBb!~<-x4=b|W_NNYP>}}FA z3QA&%Vls*e%Q$fj&n}ljS8iS{THWSJDIE0zhltS>g^Ta&;LpIeZW#qc^jI|u9bZ@S zj-D0Wk64Wr=4OC9Z)WSBu&~Gkc*U4_O-vlDG}(AB?8*nBueOJ`T`bQNsNTF`-YEU~ zD_25C!jV=Q=oY=H<}qvjkY6Ap#2s|EYvnug10#pwr#atW?7m2+Tlut)$T{pdqJ-}Q zMWLK*W6OV2IbTIRSgelvrN+kK{^a=t=Y#qvogk+tKeQ<47V#u*wUSFA_1u zpw;i7TpYGaj=na+Ebl_G_2HYjF-3-O;*mDcyCusUPirXFv2^WIMEPvA1fMvo=9+?7 zCTP26Yg^$;(Tr9`>7nzq#ce+1YFi7VRySj=o?p!dR#w!LLz9TBctDxL@X9Rf7GDJc zsBkg=i&9pl*3RD?Cogk>EyF6hJw6aFE+_FLccszR1pzU>YG#5`_3(E&<-pt3wmdV8t&0E`4neiasf+L~9r z1petdR$daENoawO51v!tTe5y#)zHv7Zd)K}$OHWCq&GF(mY1&tq(@3xbaNVjpfwi~P6K zh8Q_rbP`bn5VbLcN3Q+WTUyJ7701GC_bTMZbc#ehIp96 zo8S|r`@ir*|KpzE6M>}S!3w3jN|BJY#2oX$^M#Q>wxi#Z5-p*Z8rfy%;cE12&B?MYsP_A0hET0f+oqcDEO<0s`)oe+4Wq)++AXiPn1v^MEUw~M<2^CYY{jGYQfl<&cu49ZBtblA(dK=^lR6WxAQtZF|I!U*A! zAU;@TLnstk5*Pnd&>MyQO_ZpBPX~V6d|NV%MNe_I`;0?eJ=R9|`y^DyWP+6>9b8~rl3 zPwQk%WB`|}8ZW_2sXg=A8szm7Ii%EGO1lX7aA-Wp^sxpmCB`2`hV zhSO`(4daJR91BDe)3JyEG#Gs;;;CMGbtkVh9SJ!DS*Bt52^!d@*k;p$bfdLB+-evY znN{Tzi8avw_IP!=8#-%VF;sF9ats29Es|fdktB9so<2nxS0{;*zzEAo`gwOw$r%RN z^i@0nGhFTDdr}gTD1M>=-gqh(cxHMW4Isgo3R)iqDmkmG-vBMt#)zY7mCyVGdZGK0 z+Jr4qnlzpwXA07_;AC1_P!AsNUa5EA=3=AaKkVdDNk%y1Q6R)r;`I6Ow`=eQ!|J(S zhk@dx>4sZR%cm_WjVVE>eFt2wNNZ1;#ldL@uEYQK z(4r6nRC+DSoOWtFQ6ALFxFqqNV%arxSd=ot%8UgV28w5&aa2wk1cy~0NSh}9kl6Kt zx>~y2CLk_w+c+C0PL17y#uy1C4qw)K9QqUeOXLD@N3N2HazNG&VMd)j$?TvtbpEFaHcF4HMH3j&-#>gK<#<<9># z-_@+@4;-M6p`<5Z1JM#XrqD?4FKsX65ks2~C)6vfS z_3Q5j=GB|9zs*6OV4bS-AGz~2vyYkILNid2gkbn{Ocg|8RmVk!ZdgVvZs)B*B|vJW z@Xaat`=qRe-xf4!wpWck5I+a+EeZ2L99!D(x8A9Rpnbucy=TT0^GMG{zRWhR%S}%A`e*;fu%Du(^$2CPB^tVwxQ4CbY2GY)`p% z->)CfDrlb@-T6L-h=f*UK zxr6g{QLd7<=;&yaAlXl#Mlgh!wB@OYrbYw~1eutd#=9I3|2mpEezTv2Qts+@9l97Q z3f|IC>Z+R)`y=k4fX!|5&E*!U4X(#;?_#2#nC_JPMN&O`Z_+>ZC*L#u#kYnTq9|ZR zml}RlD}VUUV!Y4#6b1Jdn4i*icXCVnSa0uDrVCu8WcK=u&dzW;hpp(LKt#RU{`b6* z;{Gk2Y71dI`XBk6bnjoa``+7{I`^l@n zidA3m`W-9)C}iZ=*z1D-NZ(2~JA7UKDhRI;6cP$_d5U_xztG5DX~g2c`nOa=PpaAn zX>Iq>e|PZl%zlBqSIO-2(Sn23tKnth%gjOflkHNfjSa1+Qq>pKi9sx%A|gEOJ}}|6 ztQuu!>oLjaUAAj+v((Hrz>@!-y~Ab0Fr4PQFLq}DI6RsklOu256k1Q;BrO@q?SE|f zVBX<5@E>`@tae@J*3bP8se(Ki-$@u|?z2r-39xnA&rkns=`n3TcVH?ZcJ%#D&(*x; zc*ms{ZE&`CEHR+UiE&?QYHGdOJD!$EOf;ZQN_kxx& z$p;3RKeu<4Ak0G^gN#WM|7|Zz(w>@lz7 zGbB!RMwR6sp~uox6B@UUw(Bz_Oz|UCIXP`{0_voK_nLT&Se=m~bxi&j??uMd)nn&s zi%j;L0-bzMe*ewjd5zVeUiuF1q|<*NO$OYD$(LIb^p#Mm#TU|?58##Br> z5`-CDbC7t~`mI%d&NA!8jH{o_ntpIEEllX=;|(gqvI>ktQK78D-0O@%YjYQB)S0Yn zM%|62pS`nltEp9^{hPjE4UCcKesG@smsj(Uq|W%b2Hy_dL^qxs6?JxZ$7+ku?%mcJ z(%_aqFG6op&tp00-}QVwkQ=qgrCGVzYT=oyneRD_5H;Fuag{whAx`hBdKsgljm5da z*jVyRk|5)9L8wx+@@ZC}5cHh~Nf;h@Hshy$<3Yky_7m>IyoRju@1FktQ8hf+40xQS zw#5m_EOHA@exJu3=&Qs90+*J5^^()IHZ}RLf1jb!V*`%d7lywrQ{QFw%ITG zd+Up<-|Z@aaNdDP=&^d|=Oz?1q-7=3?^lxG9OkBaHqGeolwOhi3sy{gR`GN zizVAuf?LFB7~#$Q1b>X@;qR2e2zChAUALj&_xIBqy2+?&U-WT>>)bgR2#DZqVxS1VHuuy&F?X> zRgpMJrxzc(FLrc<=UWybI8nHJ_pwDlYyGX~kN4wg%clo(76E_X7G0lJv=SNcZbiP~ zDL?GObep*a@M$Qki(5-AAN`xSpL2w*#z*))teY{;YHF{MShflt`mK4_PuzU>m-W+^G1<$N2M>B9h7DBS)^Km4<;|4n+F{7Vtqxrr+Y=VI z&J9=hKTY+fb(%*{dea-VwYK`4cWYFWixZN>;@*EOmUd*xN7xbm=Yb}Zzx#eP{3Uak zVTONJ6q*d5lxOw4s`XMKv; zz4HYjJ@b>!hl3zg9rNvC%KeWlW6S%3!)12=uR5+j-|eE}ndMML@}7jfc3m~YKjjXt zCMOO;zB-l>_KQZj6#4yiacipt_>1PQuXIW70BOZ}LXKq+kT&X-`1Zk}{4x)SK%C9w z=5%jA4QI*y{2x7>4Epb+VLIjxQ673Et&ON_Ft&uejQ(ITo55Ajs3`e(Yd=<13wxVA1p{ z#1&U-LOJVYdso^C`u~O;zy({TEwy^3Qy8>&YgS1#=}e_aarz2`jeX|1y}+8gYkw<9 z@Ar5v^$Oe+?q;6z@6*#nLd3Q6{NfNGbJo5$|BT)T! z@8A0Jsc<&-{blTfQ~hj)!8`MMTMW7b2rU#CVG;ytArdU+!RIuLQlung#sv5=fN7%m z&nj8SCk#Srnd!$P9!oUhep3 zslDIrX)+B)?^UgU+0o!otmSD{PUi)pu5Oq&$Jmh^&mHn6qW+$9OjMo%B^Ss(u0%yj{lllJPyoh=9CAFokFQsC9!(EFLZ zzUQBt-9|>mM+2c_G&u)X(@Hn5MtaW0R@a+Sg`sQN^R$0%#utkMETa)1qX+tGA;6nrzm-X zgq9~ST~1(2iOT`H6qw)*TE3153v z!wh-fn$QMN8`FI9OXifc~sqIMLS#B->IXhSiTBg#I zcYDls;#T3J9jWVqCW$^>meD{zVzSLIRT*Ru=jaHzyU`JDy8?PTH&g540l4eEUsAAf z!`Sp~zS7$wWiU08d7oH&dD_U+yRezbv2{|>v7?8imn&2y`sHaqRd=(NU?;czTf&>;l_ zhEO>>U$UJSc*(@(lPR(0Z6(Y)LGoAPYs93*3(mdx5}^!vv-NVqdB5N(8`2(J`BICU z1n02xIqi*NW_MO$=cVIx^G&pUD1WcakbFbqD{+T9tBM3dQRZNM+wy`Y1 z5tGk|!F3EM+zc2D3%{&UdJ;ay;F9$85EnC?hV=;ej7Y(@pr(f~v=eH&8JaGw6SOQB z&dcS8G=&#hazneFd4 zukIS7$oJ0IQA=~UUhhw@S0~E){?;)*POCV~+TXthTxpyxi}n184?NMW?oB2i2hmd* z4(!uqtngWUEU0ja=-D!s7`xgR>J4)j9Tp%vk^kM3GA0dC%gX-Lzc-qV4Ank4Ssw^z z`B5x9{_B^Aw}-x2MG||-6umII_t!Ua@RwAuS2FTiaJL{=MhIYJxF8nv!A@H*Ei+{k zsA9$f8DoxDe~F6PF@7INr3irp@lh~4 zj$MD6u&Y9o2fmbL=6l&SZ`YggwF*&>z8T+9{#D5Al0lzCYuw)T2S?3w z41l`VmUppGQi$pinj1R5RpxIf#p zKBf=5E=nTg_60`=0K}?&(rF}*p z`01WYqluQZKOT7rCPegdit6c-8~5U36xXVrc(ZrxHw)|!_mZ2em|Ef;mQ`>~BSf|F zH6CkI@T($;!@;tLqa~T)Rfdc&%;Te}3*1m;l3USo&1FRA_1`)VX0pSgid-wStzm$bTyp)9U-q zwR^!JV!!9T)zMa+vBap8NbPJ&LB33Y19#)M-w>Mc zDH#4l!?S|Vd9ps+yi$t2%8#rr%$!C)OS69cIMo-JI%S02LXMftJC>S+O6C+o| zB!zbdMh5g)g_!j0V2uk}&TGKC{mz&QXRX&3%;!}|BC>7}Kw@#5$x*2XRh-nA2>(;t&V(-U%<7d|;yIn9GgPT|(F_bvAG3fW0_ z@tYyw*GLv*Qc{#^lnxr)t}g>C8wQtnC?jk_Jo24uH>SJxLf%mnBW+=@9u-KVz9&`1!MWOZ{wp zbpWlVCclB4YX;fF!GvPyBAiU&`gbm}L8DX>zG4o?Pa~mCsrz%hUj!VAG8#`C`7;5` zZab#W5mj7OK@Et(Y-IiU}ctgdzMF+RNCXt}U5 z_Fp@`w|;+nRW9T*NA`^0(V?QTq~o&T^s;Arsy=u();Hz#-aMh_M=$4d7pwN&T%K}> zw?Ok5Dn5L&9>MsuLH?BGYm*CpX~s~p($#R9>W~9JXC$K}d{I==Xicyd7ZDDbTi^5I z5olOj3$H&;o3-r7aTtXgp{C25_^Ca?&trV1OBVSE2nh0kH+U8~_aq;k#A*$)qP?bu z`g*NF55#oUtUx`HH^;5CbjVZQr+s=NH6MfWMM$;espCDv>El+@#!_HI~vEy|jC zYGkL>_Z@Xsi@+eO^qly?N@6&@jnU>x6tp*u|J@3=d%U|-oB3KZ-`*`Fwoa3F6cq=Z zK%R9*o(j(gjM!uL|I|BGK2L#a#fzufuo-XVj0)ypxl8VVtf7xed8J+xTQbnA(bSrC z2p_RgL{kp78CAcno>7H;tn8?^;39cz0{_0Tp{gZF2b8$>YuDLvSSpCU$6=t3cXsUIz- z4noRUM?t;AdxrsDIb%|c50akKUdiQ!=wN0#aH1kiBkqgWbm4@NL@4iqU8r8xXTHd$ zQJ2HWV@L{vke-saL^megiVU%rJX2-V%MvcGE2G?zt8M@ARqWzO;wWU;F1*v(yZ~$j z-SBVIfw!zv-o723hn$3^yeCMAOPUxvSD)$A=;j!2WZI?i5EZ*E()4JxtFg8TS;aQ9 z;4j__>>&YY*DpCK?Z>wEYSX>4A2u!C=rcAaI0kl3T+<)yKw4d zIpJ^M$^dMRor(`1RC908NI=V5>eK1Dl3)=v=c)UH8^n zEDH-Wyys|8KxDZmGW-~I7SwLuYjrofvUIU@Xce;gR$EK$fLY+N#ka%GrH)Hoz46yY zxfT#}XQ7I5$k`cHicwY8QvJ^m@XW@_N}S;C9!_ZxrcD6$F5pCc72V8;M2a4~eaA0-ao$ zG(aZwjjov5A6W-2J>DI$z%g#`ciZ*jx}IDK4-{ANyVt|YvW|UJ1V{#P>IGQ_T%;_n zbsR|)&o%l@Z1>fsJ5;Y`<(nrQ%s~!(C2y2GI}BO@1PezS`@Vr2kLRQaN~kI-9`*)8 z33M4Y;1{Qjrv}tgF)p7a>w?xE&$-Wc8fXrJ+yX{)XzA!K_vV*AkcJ$1w_q1Pj~Rw0 zKYzH=3voY13Hd$jx!FY!+XIprlT=OE@-@o%;Y7~L@3{Mwv1RaGXvkI~0xRwUt$O6D{&-?SI3ovF+bL z9(%vjfL~7pI)DH1gsh{-PK!cMe<}MP!)~qaej1aIK?`#&uLh+;+0e@L+^agaNy5Cz zv-iX;|E5H`Pmg)X3S=Y}P2JKiotBR+Q%Ix=LvH3P3S|cI0KsZqy zROo@X)y?u{Naw@40I6cozYe9V7hN*EWmn&M6ff=;LkZ>aGx%eBA7-)+jfQ{m-bglTi@)fn~~IQW<=K~53{&f-n}m0*^)F)#RCI$Wm z_FK6|O1;*FvM7F{rl+)xsGgl&&vi_8Z1Y*B@WH9a@J!qHlu;*bU)3Y*D{Ef_AM!uE^X1=82_hiU8TvuCe>wf^w;% zjF?-O$j=Dke|`HatY0;PE(`rG?^3#s#}EB6ax3=)p+~nsw8Wrv@?VNxFsVJ8YFo&@ z33q>5I65Wd!B5iN;`7WCZ{pK{JjW&Kv>){e*!MScJ?j9@WZAfD=Q*&gbG6|T?z-xP zn@J*!?%oiPx-E9QdF^lSoHY2M35V3x-P+fxfL_F_ISapQV#}+Nx__5ai%ZXvoek&- zuo5`|0ek^SU-qJXuIt+B;abV9^?qxvb7vEHiT9|U#kS_r%l~xM7pqqwUkVQycd=yP zo_cTMbZ&VWGdHvQmZ2XIaCFQ`ELmRO?21(KOs+)^-LKiQcKnT=3qFkX^PLtX`myq` zUqtq}QiE0Qczz=In(EsUMQf_9+pu(L3h#&EzK4}1IWp=K3}xdpkW z-)lH+&wk{XA8CZ1^gU(-KuMRuYMLwsFc@sJK@g7Vr zNazFBRTymhMFkVnhktmIaJ8;Na-as;G!ra=<+IM40h4uo_l|t=ap2(+!MLvvdEUZN zt12F9@bURLW;RR>4;^mbsSZB-g7j9=lxBRhdb{^QjTUzbvRmNt?1=&OMLV-Clp33X^C47L@6Py+1Hy^8;oOp$m+XKroe_S^?e>0n8IiEVoe_BxULR8F1ouY%(BdYv>p=XBi&|YaFr_7g5?A(1lcxs^wJEd1y`5S( z^{bR&rVj8d6?HAj7@NF{PVanT4v2-R_WJjLmd?(6M_B!!Y~YjU0#d*^B9+d$)64b24=YRMCoJI-Lz!*#izXNv z!cqKL5b`Kbrk4hp7;cSPLpz{6!KgYAiGV!cKL-X0dBE|&22iC~Sd5?ip=Yl8MQ^4> zc~UzIDJZfsF*W_rvItH9K767zQB@^?E`-NxI9%+TkxMC@n48k^661=Auzt}~@zUUH zd(;?GvPX+K*xPfzB1Yfe?ADp|crH=tF*lQ{kq;Vt=XOD4k5G^k_QBH4f8IO&acj{n zOoQq3TR?1+2sre#qa#Kec(q-Jsl1Z&alRp3crvs*7u;UeFb7YYEw?r-D2A*{gYx?A zOtpJmlAd7to%U;}cy%j*nDfu6fC|LZT`UG|J{+emp53(?Z)n_CR!a<4&8d10G7y`R zpRn{76~p08kr5p6+=x*@Tt>0M;e(SsL#h^ynx{F#hh`&)#G49?UZI=bII(IyI1&eE zmxl*FOZsm_qT)FZWgIAOOrmI4d=Ae`6q$_-qs$Vm1*I@7Oo{3hrxv~d;%f99eqnr9 zEI41)UT~Ybw%qFKS~&Y&C=!-Y^G=!)AR`HAc<2d5)ToEX8f%tR!_Nbmhd+Y}hPmmM zsl-X>Ptg(Ddo}UEr3kBOGM(Q&``J(<>5@iW+&t{x>F{ZmekktIL0rEyrFmEdF9{BV zw991RaHAzkNG8e?MmZRMYy&ZRsSh`P97e2WQWtQtd<&t*%Ln?x%@k3pN%(pZe@rtC zI&vx&oKMWXR5TO+{ff`fV^;jL;|nqwhIv?u(?*9UZ1m6jcI-mAy-+Tx>Cv82v-$cU zX_sKrlE!vHdJXqrgZBlnjMB$hxULxWxmqgiLU|uqp`Yruah~0s?H~G{=OHHh`hfk3 zqf;!!Vs`+hI8p;cOREa|`RuU9m$^-p@S{TG@gajn-Q%2H%J(aSmT zrZ2Ye1Kc6&i|iL?GfAk`r;%oai$;;cvw|E*jQHXCCxZoffc=IH#i9@AzuK`m=q>(ow9|gStDX79R{auez7N*80k6rIUXP zYZPLX>fRo7nOJPR8=fqsJCF-~*t|U{IgOF(*4{lyK3tZO1284ItGrUK<}2?}daqtZ zYd=nUTu@l}oZFKc^;>*&E~)OXV67;|_k)$++Wk4HuI162q1UDM?K#}f8KR}7ox#N#NO22o2pT}MyL@xH5+O~t=OwUiW(IW+kO2X-sirb^}#8JG+x#P2?;_aHrV{9a7)F3nhJKtv1mtr4$nx z`W&)Br>BlJo!%EGanz-_sgc&;ZOfuT`0$rI8DdjY_7(cBOEMvU4~s)DPD3qyuW++& zpM$pk^m?Kwh?z>iv~CnFl5uL| zBUwl-MTs$Vu^XXjk`pD!HG#yza`WB)?z*wDFE_Plxt71M(MV3%(!m;$InDfs-3g;u0bC$)rA<>4zb zxhXzsz<~VxqG{cXlWM7rL+58-nRI0Yi%3bU&YVy70l^>$>W;O2akN!9^)XiPE~=+goy zoq1Gq*4iLEfdNrpvu2E4e=}-r|I9DUBJg<*x(8MKexmO5ZyccJaor zkyh8m)K{C({9Y(y&HrayAyaw7k$$)V0_EC26Gi6Z6KP98VIg-S2#H)#I@-Ny#9=}s z`CO{#qDgXYM~S>;*9BgbFfxKuNe!D%U?&xdPo#X7o-0xeKUvvMC*rgLN~sp{CMUAi z{)HZDoR6eD1rxP1bbkC%sTv~KRD^|vL!*a?aDe&L8Vn#S;Sx8q*&;NcEB0bsVQfBJ zMaQXG=~4NgjB5yeux^HTvWWf)QJ4hDS`-i-2S`$IvO=d>U@0Lya@6<~#3^O31!C_Z z<_sf8hJEX{54oNSfpqsPT}cwT4^NNGAjxOcIJCNxxKnZpi^Ky1^StYvZR0S!?XI9_DyXE+|! zX$QN#Hqywzof@7RzDBVki!^~~zsxkvGqWNqK2kF!#}{7tIBrm%!w!$RxTuo`pl7CPlcTsSs*hQ52Z3Xb8mI)N-^V zL5*QJAXjar*U(A&u6iN%zG@O5OE6%N^bh+02E|*1?m4aIDqc-ng`N^f+%ZeXpUU+r zn*zs;?_QoeSsB*TxUM$1j?Iw_uFa*1-F=tZ>+9AXJiAZOFi-)F(n;|$>m?g25;!>U zqqFbUyL`}`*k`FH3gh2uW(o+3qWGH7V_^9{&T)B7{t5ot%KIP3)jIhsp!_)d*qK7g z6?s2J-eZGw*7Ew`=A58Blwl@L5h)-*EFz9Ljep(kzue({F}@gZ;oF_!xVBl}vAMJB z<3Ne-c}ZS*{k#5J#MOCcga1WH|JDR{)vHQLD(LS(ivX)U5z$8ZO@`vdFDrlo#I%6p z^g!SI~M@w>zHO3;*38#JY17q`L~~CJlyV{DSJzBI<2%4*!(`r zYwz+(I{&iP>lm2ERx|6=^4GG>_cagKSdYmEi5PoSZP4$c?|i8+ua4ELi2`M*QFV{A z|1PZXJ4~DrVttP9EQIf7X?zvB6D7%EaMC(J4MF*lah(tAFQbn9O0_sa|sAf{0?2rS-slju-Mz?i_ZjiA3r&`8P2(>k!G+w>%y7u9bZzm z-VkQp?Ad!WHeOWy!}%O&KQ1P0YQ02Y#_GGUg`K2i8`5drr|CFJ=X|Aad>_2{LRMx1 ztKMp<|AmAB|3E-;kGlRIlsDG#6e(Jm$U3g*a?<|B|NMCJ^U8Swq9pY((VYPGvrDEfv(FJt0DrDN7=zQj zcU~EKeGDj)(VlOQIf}mHeH9OPLoe4Av2=xgj*bB#D6T_c2m5bJQQfD16uT~RLW*gL z>A{hDk5F=wd9PBzw9@z6UkoAaANZ5=aHnOT1RvbEr@<{x`<__gc5)t3{pP7P&N%x4 zSZM!s=MTD~*TbD9oG_~R(6b9gr&m2-HrW=sANYo};?2#d-ih-Y03_-pL9Td|!_iIH z*POBxRDb&nKmtTF=EA>&Xp~|T#k{CYIYg;8h`#VAiQH|M^IN0%_%;3MU3RJKQycPD z*JT#jS+YVWWjKt;k{#z7~hVRLm4GZ-yv%z`LZPf&%gkN@lHMPymQ8s%xhM3ut8( zk5)7Q8uO1h`j<#Zulmj6O}psYjpsZ32p!jeX_si4H_D$k^3P4q(0}T*yg&2)X&+oR z#T451NNWPANB|#g%XWu9)9{Lv&cHMq6gC9VUmAoHud$zX9)a5lC^OAMaJ%7SiU`-% zq$rC1+YeDU0$xC|it@s86r)Hw`zWJ@19p?rNHFU&}xJX9;P z@Bs;tsx_|hUx2RM7W~a~yUYSOWCOZT^r|lCOXeLB6sJIeI1&(dRY7uTBEAg;7;3rb zlolB3kQ&gvZeJ_dv^{WsV90kXnjwk{@-i4F+kvb&WUodva+`h|WMMzMPP73t? znO1KaN>7VHeH{pJ8|g$@|IHT~HjMIsew$aUKub-bZ7nlJV_9z7j|LvVs*I~`SDrLZ zL;9njXflHrM);?@548mh<8dHR6F=*{dk@A_OBv{xrQL8P?svnAeGC0Za*3k{+LWp? zKD>`7$k_LBmu$@WQJQ^$RHG?6`z0`D{j35_Z zPF375}Wsn}GO zK-ZO#FMZ4HdFB9H`w25s8JtnBk;Jx&=<6~|1cWj3w-S0=CyNAB^?10knPgbC^0S~I zKZRheU{hCfHVcdo%oV^#0c-Nl_CLs)0D$XU!T?jb7_Ocjh#~nm>E!2vSdiVSB~W0U z2PhbWyt%59PSCfxN;Krx_zLt@4c@=X-|A}4!|ZomNHD+LOn*c0p8NgDRE;lLCJDjIY7ZhKNm*p=9$t%%Pd{l zFdYtM%k@BuWm=`XI?HiKSQs+!x=l-cX>q< zQe?iwe^y~+1D(v5_xjd3_h!e=Ak)29-k(}SDqB#9rsodw6Mh7j5blloT@#aH;lASU z6tiHj&n`9;5ul>HcAqE-?BXh8%l)oK92BlzdC#MwDX~X<5kK=;!`CWkeLavvVcGnZ z!+wb{kI0niGxDm$v(K(=M|0~RM|kyJm^<7@hUTWH=i%CN0ljBJ9P*Y@93*kJ59md8 z-qDh=#pU~==Rs2;jHNt#L$cUfc*l$*K}HwqAic=S_ZENhRkUS#`0MB<%M0duOmx>e zS~tP+Bm3?>&(XG<>mCWmjoXlC;9NmxkY!VNC|vYqXzJ%niAzX#xgGd_njBZSVn|Nevuw3HK>d9B+6vKGOZ@;A@XdD?IYa;R zuX`=bmQA`8CpgC};V3qefS*`M4qnvHms6K>o|*3picwAd;w6TN_AL32rgfL@7Jo-h zQ7dk}lY^q~>kHzXroGQT8a|k6JLs!#V#_Pr+m>m&&ub+4N}J9|8FLGFU@L7djsYGH zRWucIq3dG6qMlq~vK zR=r@>S?9~A1{sH$KIGwcl`S%|!RvgKSx+$bZ`?;stDx)lr+Zuv*6>EJ57?MpU<*(G zZKs4ToU`FcY%oFB9&*urQD^gzP)5X8U8JTeOFV6_D>ob=Tj@BV z(EU&S%bQWJf(grtA)ANp(3=MrdK_u6i_5RI$ z)DPMHOmo}5O@Jik`w8is(S=0)a{C<~;e%XFEI8_(RZiCxZ=I=pLj{++uJrLyaeKdJ zMM_a_wPXaVTesixLh;1UFoy z)zMILq4K5af4tj`l8wDQGW_mngiFUsJTH(5{{0D?x0gM0mOh0?o}+)c=gv)<@GE_2 z^)Z4LQvc?uYu)iIhHm`&*)#>+jn-uOlX2D_u8COk9+t=`V>|>|S9Si<&AD<9c3%8* z7;O+wJlNMK6SKcM+Hm(;2yBGDflHz-1267=RB~QzZ#S(eH5y=6vmkL+X(84QN*(^? zI^XVbGm|qPW>>k@jr(!1)3^cq(7!M-^BFyBrb;7!bb1uzHg>26nU+D+wHo1D8Ra}R zM2=wrrG*11`>~G1Te&jjla?$$dWSv)kF|}Ce9!;6PuuRGdH`XCe~5^8UNoe z*EhGEsNDbvxZtqiZCbyuY7tGRmqr-V8Vq0E>@LdG9%cv#uFx!xBH?#IQcPwwk8cKI zt1}J3B&dY|gn|}%q8O^?TtyV=ua9bnK9?Ji!kV#iMG^$5RFNdy+3F4juyZh?DZgp> z$r=KRHphbH=~!xvKCwDcG&~j=c$~J;`?02r0)!nVLJ;zyTxv6>s<9SYuxADvYOj`| zN^Z^EC6ApdnyY<^?w4ft1-d0}=8GWzN2&He*5G+Shu3hlDk!X4{+H3@LG{A8896&p z>+rClx^*8}D~^Py(Ww{{(8fkGAfSkvB*D@{9=?(9@AgD<_C_u|R*i>5XkT3moP-SBaFJ`Ty^qO3=fF~45uSt$mgDoY(` z12@WuCz?Ri%O?<<$-}xlK&p_bvGG=!zZoOxD>_kf3$mp1UjwHsk22(hWOc>DzOQ^3 z<{Uj*GQ)KJLnk+XPBLzqva(aji~{Hef|+{cSF$T1i!FPLDuTU@^t}4_WKVYLmKPBO z8im7wKSQS%D>pVdZ(0@`|w9>Cg|TFuE?8Lf5fnB!{Pq-ME=;+ePo@`iySkp4i&6uWsp()Qws`6=j==JH=7+@`Z(;xLM*)(BSvaWp-E%_#J zISVaK)8@Zh7kCi(_T4*R8Bizhc2GD4+~1{-4C|W?>tt71D6H@YU~AKCr&-uyL-2UZ zo@|l-KB>}CA*liP$HSG2{fm7Bfj;i!mlRXu?17ZKHlncNYX5T7UI9O^cyYKIvX8S8 zG2Z%k1aP?m{%!Wxv&lRvDgGisH?Y3A>Uo94XEZ^HDOD)`0iMxQrvKF@A7D=R+yY0;-MY_4x5Z-a7KE%veMAN74Ya=<81`H%;PQ;1 zr8TXIGud3`LZ)>|RHwf^gBHo(k1rWue);}UfD>GUy9A^?TsHq<+Nkhx7E!*gML-Jb zR+#VF@Vgg`#3Zk86Wx>AEg-BwFg+q0`J_N09m+yQrbQANA)+?`k#VYRxXUkkh{~7u z_Q56x(0hHMdkmT(E(k7A#}7?p)~a&$WcKEuY4ug!sIG zun%+U2+oJjcdmL5?h8<>%-wVV<<^%)7s%HK3jSNihjT***VhM6^VWa&MW9ay==E>C zTG0`D(Av^m=Z+FJCLNSFde9%XHtroEwJR^hH6)!X*Mg=*#ZCPF?a4s8=<5o^w|y>v ziJePTCRBpTHoGE0_eUv>qTC<*mB2@&Hota#@3Q%Aro|NHe%_+I;~3H;>Vg4y3Qr_4;Clr3$n567tmcpROuY;0VTp;&A90MIT6m?GSHc&y zhRkc^d+b|AsH^VJHk84x!K+?SF#kxySvqVMSQlk7lXUvAef#Da?ThX6 zSdT)iZQf>nlNlnKWW}7M9x~9-{x&2Tv!e$U5QAQmqGBnm0{Qdd zE7D=rwllP}*im9Xa*83TtZIJU2P6dctM;_ppt#t!HPD{|%KjG)Gp?=VSB1D_=!!GE z3~UX#rIc5`V8TOZG3_|U7yp~@c3-XtQJBVO{*i*##JB+Y^=E!Gu{;sN4$UQ;qmAKs z!MYjNqzXcItTw>YP&bvqLYNF7o+uC~ycum))ip#L4i%YZkH_RSEy&owM3A0>5GETN zdU%;#qCvSCJirKn1|27QI6b%ANNnJwDB(j*hNC+c_cqTs#|=w$fz1v-m8xJF?nRCG z4!ol&nHFR5!KIWh+fW$UW4`;$;QiFgDddOpW_WVy;nMqfW$?`In9`A9)0*9uYHZii7?T0t;Mu^>M;?GEtMwDQYSdNbM(0U0tJ)8ohVk zy(O7CP1kRKJxNH1+!iFw0j+fIw69fDm1Ir=jPplE+CYsnCMG)ii9C*~OCyA&w_6FH0WZQF}MQ zOsdRqrxz}mG`WVDF?QJNA-=^KWx&(^!pt00+H4fh#cZ<%r(`}HN|Os~K%25g8`vHY zbCy5lidI$%%gQw+o8%frjXS_%G&NJFE{~smpQerlj*WNqpRdE{=2)1O4-&Wu z6x?(k_xHWC0r5&NYYpwheLtHC>ASfk;YP!ciNmrsB`NyXPhR}d!cTF6%WC%t&lP!X zEKG$50>C=QmX99wnISAQ7cw8NjY3K%($~1tN$URKa~fBUznJ@t(c<`L7kIS$h)p;A zyPH0|vU~LiVrpaLkXjZ?H#YILB-fmuDLW4ZMLqAF!ISm9P`iu>HW!==Rjz!Y)upWr zGqvip-&L>g^m;d=mVMGWvb=*&7t@F}b0FuGrb+wQfX<7HiyIN_Zj=23Z2wuxn7JOn zS=94?CLB<)gS*-Jil)&owVP{dwvocS@$kR{$F1A=>TX-!2(DMw&)N? z0dclHwJ7OknrAg^BrPG+;+>I>lp`PcS37JpJEi5ke>2E9jr{&wl>zWfhnGAVXY(vSVT(cn zewim?KKP61PI2qJ&s3|dtQ>z0{8r97XX}|)pGpH#(EWCT^1EU&!Nh)n&emtOZ;Tva zS<+BDV|T{%%uC5VSH;2}ee+}#HQD<+kZvAb}R5ZbRHLHc6 z528K(1WAh;x``t@6Apnv$iM3g_NAtaE;BZHuLIR_h2!JNX~U-Fjl^thWlT)EnY?o= zYyW*%)aKcz_HDw=K%j(+g*>A9@KiSj#V_>CIrl>n+)pXL?c1o6iRF$C*X#O%ue1H4 zyV42PCW^t10shtw_=WW+^{Z2C$#*oZE*Dx;o(o6`1tx6&o=(?uVIwc4-?K#D+o+bF z-dZXu_@t5@%XzW}7gdF=Yao0M55qUhH#v1GDp2T*SP>SgqlSim4gW-7$5m662yvL5 z(>qV2>@3{`U4P?RV0!hTw&3YIZXNO~K-w$5P+cVB|eQeD4E6rVANB3Zb})`)5(b<$#8mcBXcEzEd~-jl*~HEFTvvr8HB zdrAFn!L>NgBcz${Ft6LJ2EURr>-NF__u8`MCf#M>*UQyV7J=FVi&;k+d_uTSh5U3O zgu`}&am!vadeG6M)|+;)*=2EHzA8#T6|et%S!wyE$@Trs zkHs`24{Mq~J(%v$w@+%n_1*cuUvB73UagvBwYv+JQ4KdfMT#P6d(E)5>ScWK!zFx1 z#opUps<$4I-rvfn>~G@-a*k4=0)3H6ktkE8gZ#~OR-0;XzH%L;)cvhmo5VihQQT4> zHh%=yXQHdNq6~j;n`oT~o-ngd#G_u_=EVlXZ$`~twzEa9)lJ%j+Yh9hmAo=#AmxsC zq^6qiPf-i|V`+Zx7!*#G-)i>AUclH|2=rCv8VrM)IjL}J0M$~8HEFC76%as;RdIj! zCtvl*=!(NeMdxSi>jGgl@L(LSLR6SbBy0yV5on)SZ9%INTdg{1x{H9LDSCfP)pgha z+X7;>r$~3fCkg8KY_JU#Z8I8FC}J$%Ro^~cK*hs}%ep;!ALNNl?fFPPRq8fmM z+r0U-Xv@>hVdT1^J^LtOWKTeC!gXAqZcsNxgXw`)i?4# zI0CWv29lQxexmruS#`^Y;=SAlmtk(*-#qceT#@7ziJs^|k4z?q`p&=kuvw>YD(M_; zdG@mT%gZ1--bnTdStnYHPgo0gW|C+nHEV{4w#FKw|1)}J-}Q7_9{LsQTPQV)X7sO1 z(ufewRFjLp|1PnqCotRIw#vnH%eGL5ne*RM-F6BJ)0*Y?VI#T;VohRsE5rdd^kmSj>!ezkJI2=RPxsZu_)ysdi^Ja1_mi#N6Wt2%y)^rQd;;p$ zKj4u3U6$f({Bolc4J$hB3_S(zFbTTy90N7qFV-@2a4HTwyf5B-bHll`TIeXPc44ob z>b@&GU3XvowCXxc~t`|W3zQv*c^tt34Z10_)2q+cc6((bqted8B_ z4E}l3^ZwYq{K7oZc9~$u4#^jgX*gL{_8&GnhZG)6+e&gea_Ge_QqqF)@N~>Acy&Tc0ynZhm<=*xIAv!#<%P0Ib6%x1h9s0ZMcOVVqFnuJA7|DTisYWbh`9b z52Hu=q|P&L_Anf0z`eEhUeeCQUqeZK%4F2nbg3V-p}U{mI6dXwA}7{M2jhgtJCK=j z0B@s#?72fm+1VvdNb&TLuyVO&PN76s*iDGI=nk}k(JCDM>ZcS#028E?!n|#nHPg^} z)BYDGrOaISdCIE0MgrdtlnS??NsHgI6&Rt2Y3W75hGwPxoF7_Z5Kz+vxCT8pmWY$4 zqzvs$*_*?J&7Uz+>I?Kjc?be2rj3aHis$sIduElLRBLHzxa3$_kP2)=x5T+Ze`j3Q>Ng>rzUL<8kmi zkjJo_Fto~x9_$UhSl;d3FgbGSKFZ)YZRhAbF2SX61mch5=uNX9ShE33;TIBr?srsG zP5B0&)BzodH|b4{$AfzOs{p%J@lsV%UF33a^%65ZnkaS#pSAczy%c(#wVGRKMskp) zL)cq9aq2$D84Sov-8x1~=1q7@u3rDt4_z?T{JQEsrp_u^_fVYY6h!8zWVO z!c#&~kPim=hTXB~<~LJx-n!M*=E3q|v~EE|!t!sz^%_l#8NB;~BQ#`0Kr&?8O5q^W zdd;o-ip*wh@+#*FSE-<=An`9J^vqs4Y@uK1^6226v^P?$?c{tH<~uG&;J?lNFs*H) z*g)^epgLdVFB$tpY1NU0?b+^sE`r=CDzU;8rJU9D617}TI3RE9yeMbs_EeEj?&g=e zM$wx#a^LmlkS6ph=AdhRxTfxWj#sg_Kblm@U5&pkNtm(gvah(a8;=P5esMZ`jbEJY zUSBZF3_23C5=^@PkVw7zbCEPOX!U!NGF|AUm=%-q2sgc`U~{_iVX@-HuF%zpq-8L^ z%@_q4`SjIt5cULa9GeJj3AxJa`g8vsXMgn<`tWK?Yrt+>$5Pz)0!;4WWeQQk)pTET ztX`G+2H|V0jD{gKpcnByX7!o=n^_;#>r#iLZD4mIK=QIspY7xAGhr=ot`Ev=B(6JK z@MzK38JKZ?2A*k+s+iMTvu^{;;1z(WuW)^e86fIqeJSHcf-QesSy>S)f@TwAPXfa;(?#rR+^$(> z_N1}-+I^3M^~|1dD;=9{nr1)F3Otygr-lBJ^AqIZmbL+w5lxP23@Y3z1{+4dBB4m> zR-`PJ$l^b4!V1x^_Cxv{Bp>HDGz631gt5UWLtfF`116{w^TaU6H z*RVF5!8j?Zhms#>;R;hr_-=m;OW;gRqxub)Q{_zxnUuji2Dc*393Bx1_8B|zBs&@8 zGngVF>IU2qJ%PL=^$WzbHJ%#wu;(RZ25#td9;%4h7Qrv%i5N4sL4S#F===nEb%WCR z>Y1H<9REn4Fq>lwsXfK}L>+SZQg6-&sw)71*U~IoWx(JA3~j~?Ly-4MF#)2KM;|px zt!u4^B9!PvY@W+#WlbW#a%KVzU%?U4ahzT0iYv9ago`8M8}-T_rv%gTrDrH-XB}k80fsh)WU&GqY1` zOrLOd#0yZWtu&E|Q=9=rjh%BGSHd^N|Jf>+)ZKvLc5m~eEJ4~hTHFegdfh8&$Z?!C zge3OY0iluq9u*nzlXnkfvRl1KA5N}M6`2YzW7jAa+4Qv6HXoCo)$k1**?#-Bmh4F7 zmARE1r-rrRqXqMiZ_oCD^Nk|XwNVOiv2yqQ+vS6h{l>cr&=T}LV2$RCi{5Ep_ zVNt45Gs7p1++&76zjSux6U4}kr{vyr4-GqrV-Th@1q=KXzA%%sQQCEvRr4$#Q7P>5oktk{*l{Mp9_xr`04co$$jCmF>{BWJIvmq+YEF&|X z9~oP0e;doyz{Tv$aWA2rzkEpQ3BmxC`krTq4u|r0A)_2Yb%sCYm(o}RhFE?ojAZz< zbrsu(Z|cbTY+Re+QAA*mNfxTc>)$0iC#qc0yLc{?d4K;KZC>(a(YuZ|rGt8fxrJ72 zR;|6ng?V}M;|Z4m-b%H`FkIw!!4{t@~+4&X)-G_qDyq=g^9%pV1Exvob4 zE}Qhb&rTMT3*^4Hy}IkUI8MemA@fx{J@}%98`o4|OYZC%@NcL%L(@{4PPjX8aKQgU zLc$DRI;fv7jrb~HpQx$rQU!EQ%l3R^$Bv@rnQMj-oh@!FT^9NjWRMyZ8%Q>V$@@DR43=%zmpt zP^kU1alIk#Q~UhWCwJN8mJUuP_4KJT!RvYW-7UtPbA<965}RVLkCqIgfZg^hwRtNF zB^Y$(WYzvRk1__SSr~9WG&iuI(Ig@IlwUR5zMbjcrRT}$OCfhIk<@mh3`}XiLE^_Q zF|iyc(zo=j(gV0zv&W*}5*UX|fZ1K0Ra)k; znafIxsDTFcQFkZlq-xDum9_lWdj17|KiinnM~KQPnAJb{q2fk3e{PvYZWVI&XI(X| zY|Q-is@F&oZ_1eBCBi;>=Xtb`tH(~q=lW+F&tKsvUru>I-k-e-e5$N%aVW5hb~cm! zG@YTz9t;#frW$g)2!#h6vZ5K40aM7Nn%DXYXLC08mI~4g5;+yw*Z2{_H0c{V=U z)zRhU^G&KCZ?w*;$?^SDGekoa-8u2i9KDb!M`H8CSFO`mhNARQTU)GxR`Mc(rO4x@ zqrZlV0%z0n<)1$N2q`q1RrLp4kj1q{5EFLOi0kRA0HikCM01F52+8``unW) z^Z1yc-N#AC+#)MMD7>qUElQi=$IF+{*dQ;@KO3K3#-!x4uyb_mwT$@wHO-L5FuT#v zz*(rtPL8)R3%gP}z@q7J^4(*9NZiK8zp0UBOOupYH%r;BfVr5b-vc5cg@t)AUVKGa zBO3_@KiiGjdXFo+1KihfN>q>>QIDz8KfcER2PtJl`~% zCpAo@#WghWXm>T4%H-zBwEJ9bR0!DUig%7NJ(e7 zAAGMcl6uX3dxpSEL-FE2RpQV>sX5YCD|5*#J4PHr*Sa|F-BaFb zbbgC)75|)=ffIZ}DHvhb^h0`9-8!>{Ju1;`%s4Fv%}ggZ4t@6(=CLBC@;}(Ib*@*3 zJQr~#LL?b#Q1iec6imWJH-(Zk>rYJJ9s}sxbA~y5ez5sbN_%SecS#xox?=!^-#H=Z zz0`b5u)qt``RTT|NdeEb)_aNCINyz}n?XcW)}DR;hg?(uw#d4U_o0*@1HT8~j4mAm z=PNe#$bo!S`?WpauE13CVNaXoLwBduLTW`%?B~^BtV{o1Zf=t?Eyg$ax@I+SV?F>O zF0*nOM_6ibe5&zONo$}>H6@Z{%(!O48M;;1u@j`^yY)9H`@fjG92b{N-L6!Wn1{Fg zYEG=0am0!^dhJn#s9M*l&CzjYEt%TlM}| zS?D}+j-Uav7mSOlrP}vD<;i36@dgsUdyP}ahA1}IL0=8h5 zRdUH+vwzj?v95Y!Wi>Q36;AYvE(Sv{M@v&eR?U`L-Dt3f$j`19Tdmy$V1xP{v*%_e zE^-1WPkZlc>ffeyUH!gke}lQ8fTgApA8LqkyXZX1g-Qr5tzPc&O4U-Dx}{I@jKlyo@j>|L3N z_vyJl?GE+3icadjxajs+1jZqw_SdAKq(@1^?Qie*k9}S}jaC}A=x?BZsd_&n(C0wb z@6Z;DSnD$tdPEV~Y%8s>(01K10w4x?!?BSDJWlwNb=4SG1pc|zX*^WZl2>Gw$C@-tmBxur)dV0ZuI`%-z`Ah5r$| zP;-i+5aMgpB~uG^mQ8gAZoU`HoZO<(5ov04?9vUnaattllxdr!_9R~lT4NJM*rO*Q zFCQDR-2XWD;Xzv{=K1U;vOW}$+AfYOx|y?)IvLZ@q|}}-%yx$>Me;}`l#x`j;6IFH z<5gARK-}OV#em!8*1^@knCtVkVq!%+#@F*G^c)*X8{PO{LISG$@cV(nA-;YUFsr*> zoILM7Oi+|Q$md51xh-~_owL^4k*JUXLKf8xicv`Rf36-5 zhp$7g(#EfGOcHJ@?cR$!=B~k*&71?PPRC37o8!2D|BNd2#`fmE15TX57yu!Io75Hb zKX31^FO<9Y0Ir2xz25RYIKO1-SPs`D^dAJUYOY1d#p?%ejbJeS0Oq2=L;mt8=et3s zqn%Ij#E1O_g!uS+M$xI9>PaEtySn*l`ORe~jpDVliIbFDk>AcmisE%JXc`$1^M|Ow z{=>qa23QN`X~Y;Ir^=*3gzbYUJ&g6(Wg{*Ykalqmz|6FEpPBV4MgBv-VUoWb%CIfY zCFJ~F^&JtI9UmK0Ge9UpoEO`1qw`{Kdp{%%*SafKzYxPag?xJh0IHo@IO4doz`7~+u6yF4BRL1o<H|4@}V+y#LcNUUep z{vwEKqiJuT9H*al>$~@52`f%8>DFXbBO6vQ(R#a#9N^VnF&lxHyr!Dm{OlUizp~7< z?0ayfHV{kyZ-Y3G|)iCesilt>IPY z!~Bc*11xF{^c7x5rlr9nRX^isNQSU%<-21q00MK_yjm{W!FB&f0_OIkVJGUs54EkS zh1K!n46|%MJu!j=>sgY5*lR2j>*HZf{G^B0d=2M_O7Fb#MC)=L+x!|sV(td0f4yTm zDTte!8-yj2VnQuyAWZAUckpCb!$-@`)2vC1v;u;HKua~sdTy7%k`zr)p!!(C*E~UC z!l0gQ>tFZ;78_Tcm6Dd&7b#+}`BRE%CGfz2%nr*rn_noxi;L3Hiy#!g9}LnpF+Nu4|MY zQ@uNH;?k@)ZoBYHI)hrY_w3i9J3~}H6k9v9Ak7p#aX4gRSfg$*3i*PY8KqgNoaY>Q zY5%;kbJ~@LmY77Vi3+4Sh|G{$f5uW%09AWN;gG1)6poIETGr2AIqg>3nvyB=l=F{F zLNaXU-wL~WC*h*i z*0wd3aw@07NGT6=Y2oDHC>EQ{$MM|tiS5dqaYK+d01WkQ;&bvUZOXa^NI+^! z#B2jxT1t>xq6iXfvvR=~?*z|FmD3k9$_8XEav~3H*I)u!jEP-PGuBcV99fEcD^1Tu zQ~K?WxX$n9F1d^841H}{(Rb+fh6w{Faepjq`Frpp@I@}xL3Ax;h=Ns2Y$!y85<&_+ zdZlfse$Mac{Mr$1)$l)H7FIFXlP20gNdp%wY9Uj@=^Hzd3I4L0KR66+YVHVo1&)sJ z2u~F8M2!HGg(2oA38Ja#QnO~VnAo(2iXoibxU}d|YPo3@+&h`H(NiuEh>)Z!D=lRC z-$gSYlxVno2&#QiJ$t}wFz4D5ZLT^NaKDOIYwmgARkVP&C<^A?dDqbTddiGgjJqs%S452&`NBGOPTd`Hoj53Z*VOQQokS`o#>PAlsShOa4rHzh@`iYrgI$ zaQiwck+fjpnfR%yDSf0|zq)<=+`3D3(;2Lj9J|tN_V0}8FUx1hj#ps$Z(u?^x!zwN zkTRy>v=?4p};)Cu!6}5l|WO0f}iZ{7j7>}=ySY01g-LGtMU6GNIrjyLD3)~n=vk|jL9m~FP zamiyeHGT+7+dBM^U9)ef2=-j=5ckNWYUHQ-Q8lHRKlanQ=a$>I8MY&}5lTur`Dzsb zp>6JznB92H&$IbbUcFJh@ujnU-?-S|vl`#==S;B^;W<_z`}36<8mGrl{qEDFC*$3R zh70-#`#b8AW3mYeiT{VJ_Y7zA{p0>)6h#SDdlfA$YE{J^wJD`$C{?v<*WP>YRT_Lt zQ#Dext5%K1jvYI;AohywfBpW??)!f3fgDG2o#*xWyx*@^#hdFW6pU6Wk_O+JJ5J3e zGhq75YGr+_Ti2Pr(7eq*a2{PZiSa$TTGpQ$=k%>Q;Vz|p z>7aGnb=#5>$U&0X3#z1si|d;uhGbS5Utx*q+|p9$X!FvaFFLGWg11WTCMzvv$Jx2) z>7%G@YOUr~?XKH9f#gD7zNLAAxmY}=*t=o=N|nBGGit1%4S=-%YT|a=z*SpY^ep*4WbSs3F~s302ZQi3BBKRUL6~e#TCN`~cb?UJk#PNe)|Y@ZeifeJ zXw_uOp>Y`m!XsHK*;sT@vrX6GEdkHwLPiSspS5mWT}$J)HwT^tt`FTJ1x{YTLW053 zRyC!FHws)1A5Gd;_S>yhY$H=kbXaef-&)F?b&OP$bbJ%p!0~bf?E?IWZmI&mgWS&l zeJTG_pM81q?Ma?B4R}nGUG9?%xcyIW-F2yoCFRfNvW;?H4$}|y~oA*c(M>bwtuMgy|sFjQ<;?w)RrN;|fapitX(J{y*(GM+)%@dAJ z&Q0?I$?2~nf&P=~mpJkA7dumP1+2-@W}W4#_<{zrFNaYKRF6f=+@HQ`T}wZLelhy; znY~Mvxtcqh)d8 zKO8Q`4YE&l3jpHmRIhbqK`k>52$}sWE{~aXHkGX|%kOHQHQS)hMhM!3;$CQvR*k>HBDREmjb}_~h-*QU&p^|Eq6dWU>?@$r=jQ za02e+*@NJb018fUnmek6gYu7ZMLLH;5h03^hV+*@VALM6yo{#m<$nvo#zJZmNrB0G zV&O&IR;vG{iO%3{a!NNr} ztZahFeqvK5_FtxwvhuS>etTuExO}2d>SS2DHws+@f1x}1FS&?GK$RyF zy5h@&@APVm8sIUMDB;5n{YK%$JJgwF#C9-uBQ55-Z&eWamfGLj&4T^<(Te&Bqc?v8 z`auz#%ZV&bFj1Ra$&x5C$bpNGNPmDzu9}|UN970?wNiaeQ(Z>_YSK*wGYYEMIOuq6 zN2H$aleZb8k~@@S?X~C`T6Y0b(}j`~=o^Q%#KO-ecOvIqj8z{JKDGIr8LqYV(R9j$ zyu7aJuQhqcMUT33us2onx`Fg3Un#1h!t+Ls*5jh2(6S53(!=D$7$^hE>|x~7B(m7F z*Jz?cG&uN7=yvfX$IaQMSVG?hXRKo#Gf)(~`_R)``Z~Gu`^d0MUC1WG?TWbZc6_)f zS-$=wI|92UPOp#~yAUD2ex@3$YA?)BuSHSL+5$nJL)Bs+Mx#ivwCmfA18fB4@WqXN z3HdXMh;fX{fr%hB za~pd*rW>@%aVu%;;N%+_i}#nU-D;Md#a!>s;(Qfo|5<&dTPC<)iM_(=6A8)9);^h%Z@BZ#Jz9&kyjeW{0t1 zUWrfOGW)=8IsQHt))2!IFj?WZ7)Iq^=P*`wdp5S0^5HmR?~+<2Hy?7bwVs4yUyZf; z?^C_c(047N#`CeltB&o!oVcz4TbTC?4hN(eem8Kbu|$c-gHI>`d-m9#fWZC15mq5aNK6&-t(LHrP7cZ9 z-Qh6a{jM~Kha3B_LvhGH%gMs%j`xu^xBpA3mZQI{QYiOf%V(dgwC~#g<~bxBW_si6 znu|w1r2g%7Gon@yAO1SN%UIkNLo513iT;K3{2iOV(GO%?WQ3}VJyON_?&)eZZ)&vB zTfJ@)W*-(MUy|5sYf#1AfyHr>=j2FV2TQ#WC06=uF6j(Anfayv0OdgPxg^L*D}FJY z!pCL$1xc_8NJm%b_|FaCGDvx5x7h|lJ+cSedPS!x%~))!&)z(&cZvSy#PX^%6=V;qQUue+ zPy>8LS_0au-ol%I(z}6s8z%jk`(e~qTM0sK0>qQ5cSJoHgO05WXRENyy?5IQB0V`S zW2oCcEsh5SFXvFRLL!k<;iRVr@FSOY`Pk3Xgj#Txn2)j2G)+)Uu_m%jqu)F z3}pvgH?$sgE02FvZEkVgE`^IVU_6elM(4hElCDd)D9WcOvxFhc#4zkk!56&@P4fU} z_Ikwfc7i%^HRS5x%va0LcfI$7)WUa!8T1~>`5%KmBq6bQ6dgdJ0AlYo!&0-$R9jtN zs1^e|Pg7=PVmC4qM4_1)(thu=&j6G`t#{2BhVQYamcQ8d6lxQem#i9LB;JP^z5$!q zH8*VJdlgw!wq^g)+n}Hh6<7xj(kFkV%IoefE0a}BOpgx?B(q6d_}+w`=rEj{j5lv> zJ&@EWm0}OOoRXgWx>Hb>kq%aKXH}B!6yDV zMoLOt`8mTD!xK1HVF$aRjiXQs7|lZ(5oITY3bn%7j2Osw-ud+7h{_YsC^Ckr2`ug+7M>7jc2?n=6Z z^Q55c*Vl${Pn@~9sxX&w_8OBNEOk`T@g+s2MswNyrF`8ngIEP8XT)QkhmH7mh&Rxd z)4yQf+Q*YKnolIHHPVHV2?EA_<1AHR5s)b^oRcs9sayKXVk8rOfB~=?l1`{bags4w zPiROWAJ;KkH&5;{I#J|1CiT3ICQQ>{B7cUsqw{(-_t~Mq5JEq(*i*-8r#<|L5)AV} zfz;bKNaZQ0+8^#KpdH0&lu@RJACwabq_E8Z!sZvUm?51(vVh5kvdvGFEqvqNWQYMu~8lZL4)V7Y#1Z07*(uH9oz4Km{+2J{1#9*6YNiC zbVr7YV8bEF{w>K~&nTCdmaKT5qob|t%Q+r=h}C}bvMU3UR;{_aj{f4>l0IjCaTbGBwdOHV&AN0A=uL6KLGNc2wYmsuQYipVlmng1*Uy*VGGm z?%iYfil+h-W3wD418^;qGlU8)7Tk22Ui=dURhs*MKaYM+_aq5LJ6daE%?-()aGRP2 zBMh%whvG*eKMp14-WQxQ-F^R|f?I)3RGaXe~hoaKfOx*NtG-T{<<)7%Hlf2EGb`A-XUMjoFK9I89 z%2t&ydo{^H)?NgO?Tpp47Byc<=8*L|p3-g@(_?a)Ja==l^~QwO^dNX?$iM<@bVw7N z0D&ectFo+vJM!_QHWbl4)44c+Jndl>Xoar!5jCLAVqzKHZ1UH7@|i#7kh?wvYm=wE zLuevslWZMoQ2}*4pGc}Zq$+6_UkFK7LwTxo>`n(ZDZh@CRY74wLR&?gYZ0Fh{O6h0 znq=MHH7gR@^zo62Z^+;ds*#@!qCEaexXyiAgmWj1^E>M#ZNw+wD;*{a11^AE`kFa1 zXm(Ekl}%oxT7GX-=y>&g<1u;ApQHOf^>};ug z8&?{jbgVi!)lI{cX17+1m+RB(5-lZcVg}tSqlIYphJJn)Pw2(&#=3lf8FcDGkL<~w z3N8X=lHRZAi;=4PF0IDiK%=H*no+>VAp3FM;#6;A4i#P(CN*E7t1aYX!%8EP*+C=k zf4KVYHQ1`_5xH$U7W3(_eS0}wZORA3o`Ef)Zs}uWVRo7G#SPx6zTCZb@mU{ua4AH8 zH)JDCZC**F(bkz!4gQ8xvHHJxNB`J@z{9`yh2&Ujot%sjh!O!ylqAw<+M?tOUi$oS z|Dxa6OH3;05Mbpw^@~n^=Z%5F7j>I`DMje%5c9R)A4sIIN!N}4OG{fCiK~K8Y9Z*e z{mBouM-LTpfEU_7Sv+>Su&Ekre&p_M(|m5tT8#YhX2aF6VS{ zzdY!ksVrHHV}FYaPlQp;&%Qth$)JNZ?!@-w9jBjv4&R26aWvj85-kMz+kgD_d@Z-Q zM5?An+{HMBNw{5w$vqg%8?yeDTZKIn8*gsU{^f2G*dzTmY+lvo0jJlAQg+C(CHq0@? zs^vyWvt06usdhKHB|468bP|&anG4v>YTVCX2j8~nBID)&2q^95|L%C#;|VP~yst>D zB4#?d?>iY`BT&^6T1Cyr*;+<>mg2IL4h?}L#zQS<+95ZI1O5(n%{`+QMmK=C>he-L zc!nQxJUTiz%^R|nVGU3tw?^Es_j-#r3_j{EQu4B6% zOdtNsVs{#c!I{^v&V@4mznZ+Xq?3y)1DE0qrsH1CO1%1+esVTEVy)8F=6GTPt|lV2 zu&~%lrqq3&S9PLNtY$}wPWgtL5Q&r^g@mr(Upb;T{;LQ-`I?2`Y(@2yA=FW~RssdaXeBq*xqu(0evm zsnE!tgaM)lj|hH$GtyelbAKjySUr9}W5tRQYbv*K+U%na^UO>y=c+-u?Gn5KlYz)P zr#^?hV1D3_CC*7wb+QUZOU`TMBt3G&NUvILB%+Z3m@A3$UewDS)M)h`-9#A=YeSyt z?0ejU%B!Xr-J>NV>jjJ;yC^Y1L1Dljzo-5Bnok%>-DvJd=_enI@iL4(U#JcOuED!! z#kV&Bu70?D_1=*cUMz!uIWJ3i8k*$p&7qL|l~~)pqN*I(+;=bQ6Ea4rVp%&Sr@>tN z@hODF!r^Gx3WK>XW_H0}@HdRYjh>2K@}hXpZ^0(V{1D4=Bld7u>VaFCvUDjdles z*Yy%ECT)F8vg7Gxk-~|H38i6xR`K&X$Kntm=gFU19{!P)#sl^3n;co`p|+!W*S6Ks zme{lJ|C$k4XG=GwgD>>BszGC}@U7(~|2 zbP>=NguldG+M=d`Ke7{QJO0xm{aC70llfu#Bii!E5{XGkfSn`1K=z&vli|mi-%COA z2i9LCUUd-!Zs^|54qa^v?abEL`FoEz;AH%M0rSORth8&(@nLz$sv3q=S;ry&O9igp z{P&4O$jLSQrnk7nwmFsKd;^&5?oV@8;Kw?kF{1wKQ8^*Fh>+u+h!mFDQLeLY-ML3E zJ-5c=EN=&IJ#JqP4G1#m%6R?~8|Hr50WD_@z~}EV%#qMQcj8`?i`txO0klQ>-k7+U z#Z5a4|MkrrLZ*|q-COAo39Rh=eo9&_{P81Hlr;08y`Pcc8Z>#SQ<#^WE93Q^{0H5f zuh`jKiTsGmigDZFxv*`M&mQocys=hLs9u%f3@6%0OA6Q5qQFIqqf*^W?$6?UO|vn6 zAcn|lbv9qp4cX99G-N1Wf98>%dLpAR$e50(ycSUG#gS%)M`$;fhnHbLya*S2{{iu6 z85AE&7I&XUnpdS3BMB!Y?=ALZ7bJYCkW9S#AYH8*ND%uR1#oPndnKN#v znCMv&b}p73~3q1uOTJ4m-qR)HZA@7^L2 z$60<1$F*E)i|;LlUufpM6_43WBIG1?$QMpd!{X4+N<4?JSO3c_{g?KFM1~R0n4uK@ zbg8tYpb6(`d5#Tfq}Gs10(^rbwK{dtTbJH@aVr=2Lf^v+78hsn&Y0a>$DZ7=o7TNR zYK?WcKaR}@n2YZ$k#wT=!MhZeSS~sl##LF@d!o3{mm6yG7t|rQK2Zmita%rwK`BHaLdHrU z1knbQ2|~Z2n_$*#T)0@|2wZiQ`*hZ0_2gyo_TlpT8QlHzq%TI-XxHo5JHBgc)0Kgn zyRMjPPG0;^pVpwg^8k#;rF2*ofJixpGgzMQ7hVOo6g0c-FP6xixJL`_O?91-{U_~9(5 zwSGeInsLaX@w6^58k5HZ-4!$7+ltn_6Q=M1Q;bIj;9>vQy&aM)!YH2+iQnG8W{e z>o&r;xrE=xM*g4!`zzh9&$?15HQ(M`b_f%LP*Is9haT8CUaD?A^{%@5#iUFR7ni)A zz4@k?shreQ8pCqwiH+r;wdufDRwsGnm9)-McKmRAn+u*Ij^_eq*0Rzi-v~ii*~>z+ z!+g&?6OdtRA1weXaYk4t2JcrIP(8)LeAq#m`szUYA~e{cIZIG$bR;lt1x6amEcj_{9oL{|MGK^3#&UC^*JXnlm~t-otNH#`e(^kiYv z{>j=fAdfVlGc8z)?eWW^=0-AFYdc*-*V#e;X|noZ*#Q55&*!yApe&o1SR22eb+%DI z4rLv(p>`_}ow4T{v>-bKV*LHYbOk#XGFKcUX_q8|48?*l(6LSL1g`Q4T98q;6lJGv zjbsn`GveYt{4uT^ou3&yHd?VLbE@h&xRZ}^&;sK=<9nD(?>mW6CFQ@_iE zPC0y%)WI>Sf3#yNObo8C$#0XWDb_97fMRxLl$V&`{tAe!illzt{PzW$t6z3l?Jbqy zp3aEKkHzXX|P7KZ9)eB5T@H zGc&Jt{cM}GatKxVv7z1vRhIXmt4!8F`~u-grl8-$NjH-@0VkztK<3yqHjkHDbc`x$ zDl5YP+X-TxeHZ_Rc)j9*xs;jY(gh{}-p?U(Uvfn+^NN#AJuy)voV1vG#qiIw!NgSp z5ryN3+U_X(aW>GmP0m4mCGt)PS@>^uv7(wcZ=g=gMFLu`Y<4gihvGOrx;s6-Z3{#3 z!1m6R@BLi?KG6~nXL4W?u4iLj>5lwHDH)Z&_H2cfw0WLA{^c~z#tB`a_pf~3rBLJv zaX*Qy>wo$=_wG?Yz`z~Qx?$|NtTMd1p`0eeA72!|rdP2|Ji#>f zImRr~kmcfI*=vtNIpM!B#YYo@PF6Mk%ajc|q@<_iD&3KWoq*)&ck@ZI~v0>@jkM7>yyT#+j$J$)V+&}N~r)tndSvBbu zGFr+>OR%cEJfUZ-8)qU@Cg9Yw^(*)uRZjw$W=)j=bBX3Z5KRWudasy!nF8t;b}E=y z43Cfom0#)|AKvG?<5mmGeTvgSV5nf8sF$Yp#rbLsznG~%e18+2tkE|jH8oV)SdX@}e;olN81t0M2tdR`T5v;s%28H}eALXKukO zAT`(mz_(oAu@d6l8Mo)FijfD6d-AhP-#jXk6-RC6q*=h07UsX8#U4(R&S3Yz!!tcN z3G~aaw-UK{RLEWcUT`Se?8Qg37Vi_0%FCAI(~ZAUc6~}>y(^reMmg{!49j>y7?ww6 zv4!OmX&)b#hsmRj9ubdl+Z=iwd5=}Nouv|kJ91245KlUDE_|0zCka{+KN`?9$MLB^ z{=ep=6=-FS2K}SD9y9NNzpshjR(!Kb^kmZ-mz$ij-rFX?_x|zYnY!rpHIo*@ zt@j`7e^@wWn?gT0q^&b-%ZJ!E`|WRh-K?1}5-9XN-8@HyD{)7k;aAM zUb&!p%jq6$HS;->g0pCC%_8rl?oD5*!2=t;z;phERS}%mg{iB9yREm!d;61rImi>f zxRw9te-te^zBbR$B4SWZ?;(0EG#DT3>NorbRIz1io7o~v;Ldi&ZRH9415K7N~1<=uG8PhO13OT4A;LQskj zwUkCVL8IVkxRzz6f8fNgny2~s%(|=a%BJJ9k(Utyw;gSPTCab(?%hPhBx|)Z4;mu8 zt81qg>YRp9JLP$G7t#ws-Q%UZ5;rFS$|k?VCsn32p&IJSs2M~PTK;-t#iE;nLMtI3 zSyr{qpVHb4kvC&Ws|*=qaZK9q3Ar_9QS6H16a0SXw_>HFIW;j62@qE+Fndo*CFp49 zl>T7)zqa3VKPAwvCQkRB8d8dSEw4_ml$4mzCFv$6CR5=9D8x#1;1Q^7!3`2# zppXC zf&K?TAkT9hexD%af&w61EH3ifvFvPYS2Y5IB23S!{Zu@w5REB<-i>f?{IxXZx7CC- z^?ZZP*sHpwzf~P~l?Zf-P3!F=w1irg21@T!2d!XUmgvas4~LmInyXBu6ujrjTat^7*4mCapK7@cBX=z>L>+nkOf<+#`#^|)3iLCFhtl(ZekKq-_xGqX%Z$K=Jv$My9sv^x;BwU`> zRF7%s7Ru$1J8nGWpj+WyDbdM)((iFnHUScrkT)dD5lzj?SvylB>p%d=UN-Fx^ zomB_ToFGQQJA{f-+}SL#986H8MOReU@akyS&XNwn$d%H}q}9d#E%TLDvN+VG*#hCA z{j1I8&#a~mWo_fRtj;HsNouji<_CXBb4I5=*JU_iQK(oc%NnN#ektrSw4s-U(hqOj zmPthf2;JDNCN3sif1l3;R!!PVIC3LsUvUy0bH2aXQvK5(rAR~ z!wO_4PQ;vEyk!&qb6hQ3Zk#fStFx8ni%%4DK@iw|`+#2Wx*J#VtcCRPXU~F>#?8hV zkH-I-l|asaC4cY5bN?{?87MFOL!z{Cl-F>;8$_mwUF4!NHc-`yktV&$TbL0PUPA@0 zsDnD8{1{cCIECmN(tFZ>V?P7rdrC0cNIR-Z=FP= z(Nc)Ib!8xXLqpZF0+TLp@j@%sT{z_5=c0v4J0(>AhzCpF52t{8W#22yE_iD9Soy~* zQv@AXx_rDOoJ2TL*CWNYl#P7;T2%3`$EL5Hs8rk$0%Kf5 zOz}oe>T7+Hf<*Omn|wAA!c>vMs2tRtG~zcu1jL^XRTmt+aCjc!FVHCMitow?U^17% zXRk7f-O~gCTtG{J&re=rH)6g__s|YM@?wyT2QewoOa-$Bu8rsKU6fw79`#&xj6ML6 z?3!m+1Bd*i)MD+0fm@|tTpJ%z^=^oQJtnr?X~qlBZdP(E{4s263GCT`sjP($<}sWF7LT{6XcLLIPeVHH?g&2>uLT(@bl!_eh-UQWoGmL-vEY_3lWj;)S4; zJ>>Wa38Tt(y~O;ui#V!47Lj*a1rDSH06w4Ed4~Nn{hVoMzUOtsFl&T~UNGDp4 zixqih!sj~}Kok8ieC)eIXxYaePaPObF=2ai1KI&6C>r0{#pHybsVGxAF)*ZH!X>Iu z!|sxHHD*>BsB9&1{pHhPJQvs#UYGq`vBBVHn?&MDplxA`$|6RYB`AavbGFw&MGbWG zRM*Dd)NH&&rn?3o&5~Nkt;*gd@o8Q|THe-K0&lB1>sZ_N2>m|VL>+CwGTCl_lGL;( z7r38gd6`Ase4hQqv2I35t>s89kLP?#hB}!jKzm@W;#bdy!`s zPA=CyYI4E*iz6(q{zOH*DH}2n&gh}G<3pl_fJnX(RWc_2o!E!>AyT6^N7UE&FD}g= z0J#BB$x%&|Jvru{vFXiGp9rPHn~1~nB(?<)MsbfdjZc*LNV|` zx}gI5wP*AvsL6Tk!lxCNJl#0fHJ8$gkE!3A(l4Jx=?E>HG*&{$6FudRlN%&gZf7~J zC*}f;`(hch{()pd?I?5A2x(#6WQ6%P8!E4;l9B~{E`c=&mxxu^=O05*c)n#Jc(FBrBexJo!OjIiZRC|#!g32PuHIVmkz?6RN?M2>M&UQu{EatXTvKb_ zZSg@fJC!TzOjMA9{sMk&l*vc6cvh>?SedSVS<{I^V~ z6XJwZi`0~ZDItA|$Z_QZ*p0^EA!JX6AS{M!Xe=<*&OvHJ_3Ov_8H_dGOCBCoO@?qW z6yM+*xX0f1yI~>2$2@l0nVJu5cAM`kqoKup)dT&aDMhidBFo5)q8<-J`(m2AVNgVs zaG4}gSR#{EGUtM?#BniM3=#MY*UfErb zE}P4l?0PYfI8^o|a0yilkcJ9y(5cW9hrLrY&E)Rv)Sxpf?k^g)VIuKpoHd+*>_uhH zm{5azfPmJM;%XUV%{z*VvXGTT2~3!X_lFPPW}KENWvqh4Ghv~o@4FbwpLW!tQPRZ- zedZzAw}6Wg^Hn4}mGQv8SVUA5T0Q|ZB8@W5dmwQc{;&E%-FHU{Yb-fEfcpv4{m6dk{6#)Cw+_u{Mjs_YALe+%Y%Rb-+1%jpVxOJ(KE@v# z8v8J`F55kE89Z#`w}qgGF{l(ohKcm?-6`l77RA7AmJ;t3_d#$7ycH{8U_Eg#f=NmT ztxjZEP4$Sq&0ag+X0m?n|DLCj%<04%A@WVrY(1A0_ctXmna^<5Z%G!NuBz|ESZ-+g zwD>oVvgPXe=yE#x(aTi=ULBQ_DI*r2Pzojzt5DVmVNR}ndNBCO;HVLz%4=-hyL>Hi z=QKc>k+-+2>qCK!O@SB}7Eo*B&fCj5%;zVlNYSX!1SDc~Z`r0we%#hg-uzOl1 z`qCCHT9{^KQD{*_aDCbI7TsGPYu9eTF)_j6YE(VM)Q;|=a@w$2ZTDphVVr=k@p@E) zYV_BNe;PGRZhBAisV*Gy!Vk1H*Mhn?Yy9dd=_B~ai&Oi7v@-9G2+D@ePe})|ahf%+B$<=RvJGN`wRMBUl4C+Rxs*_~|XFXnZ2gOH=Gsbg)& zW8~W}ypxDrS#hj~^fW6}OhmG$x`Szzhp;rsLsc39f7f%z?X{7gD-*Rs{JV*sj2J3; z{P9xJUS!1qq_=(W>lj1rD?!)RF+>Q;YymnsUy z*Gi?ZI#ecfVg~VTKF_kir!T!@SGz=@Z)v1H!eilF8r2r)^PPlO2WChm_9oLvcL=rS z@a*HS=aX-t+cx>lCfa(lCoD+so!JQ-ZiQD@P!Q#6BH_Q{g>{{MAt^3)-IpMgVfD_T zYQb#dL^>kS)Bfuvy}+@Jjg6HQ*@rfa-R`vi>W59! z;PZ0O8k?0rgJu%XztpWYV$y)8V0Se9hy3Z(k(zG)ng&Ehbh++L!SS!`$#{kiTw>nMIg^JXq5qxR*oBwk zK*L9~nxG*mrr~AtTWP$^X`h%{kg0jVe5=!f+jNz2iU0iW)?h}$JVtgQaQiIo+(lxx z?y}ja>F&D@KA9lLrBXGW8=Nt_1=NI@iCH?pR%Gzd(Co2La3`*I6{zg9{SsVmzdGEW zHr4&*(z&(n);wM~iRO2%H8y)u`DeXP_8M~q>>|9!qU!*tTDmMl#f%qb=12%5RaK@4 z0MJfIb=mTtux`&)`87YZ2;40-@?>Nh^7m_@cb*rox?FyRFr=w`iFi2L*ti$GZpo0W zZRt1oPx{oQ>2kN*GRSN9IQRafdB|o{$g*?wl6v^W^7vPs5L0~i<&o!+6ECksrDdHz zgo;ZeoMOF>|JCm9MN`1;b>B)tfBqOn%^M0al7IR>shdS;%4aQGMQ9U<$Ou5j@t<$s z*4`T!-#&}JP%++S&u5hWbhba-^LqRzX=j~pvs{(;w@+@j+(Tvz4@v_zb30=!Ach$) zI}szLV>JLby**+k?S4&n34`}u8^oSkuw*OiWlW8Qe6l0?{%UTie~pFKa`ga&p`}$S z!1l$f8pM}+ra|D-!n&N^&i8k}?S~p{fx= zwBS#KHUnHp(}FG&E^d}czRtkl?K=J23%?!}Od78I3ltD>vneLS@vTK?AxtEAaCjri ztYH!axHDGilAc406O%|s1q92R+crDiW-0?K_#S&)K5tP-Tm9bcovV=BAKuc0+?<5b zu?2i(-AM=aACbvDQsw#UT_A;`&vN25zlW<7SAVn8`I)5nc9DOn1jaFSj<7Ud)j?ZX z%BUj}8d*Oamqt2Rbn}P1Y>|lBmDn&{7XJp}g$rV*rj7(06Be6Wc6_8o_hRgA> zz!3?%*Qx%*aP_Iiduu_vfy>+cmfOVo?F!WMVM#25(ah%Rn-Y&_S=E}7++Rb9xp>pw z5WRR@+r&2eVrRU*DM{>|weVEvU9O0`w46NQsgVYK`fF}wI&#vL$5DPE73nh#-M{fe zJM8#Vwi9$A^CheXKjTz+veSqT#9q3YW}-g}Q|8wx^>C7XF4TG)TEthT{TQ^5x<^6; zuS+dijDDJmY3ehNQXdeA5+0aXST{x6KPRhN*fS22c=%(vjnO(X(~9wX=R+~>w3-Jj zWG!}}vKQ2GvC4XkPjYi(I-e)gD%0w7kz4mEs9F8UeVc|I2qgn%7`Qqk%^xMk;g(4Bdr!e)}dA&m{rJtI~cqeeA^-$@=}J zqQTN**<$flqjJH4{GR9te_9O#eG+KQ_06zk?27u+w=5bn{pAtwIWs+y)zrFIph0!> z^r4zKf&R$M&QG9cY@aCu8UMMvnnYTeXfZ1RxCQ}1!4D231sSTa$b(_(x8#FHN#FV? z|KmJ$fozL+clT8bRMWwzz5dJO`U)-P1_myfEP#wbUQBZ1UN-%@h1<~)N-Ds(X?_nc z?LN+$&-fPl3c%0_wQQ&~e8fQ3HTT-Zeu493Z?<{m4fQ3M?{Nv!6M_Uk=igT<|KYtL z#NN7lcmxLOu59B{J30m52UWX3C^}+{B))&|CQJToIBY4KR#aLIHN-yJ6C&C>iUf?5$k8 z(_3WaZH^ZX{iq7sWb5JheA*M!Xjd3?GmAO!cHNP`0V-INF9`01@}BY#{vu)9#^s~%TV9#(taSo@bY#A4;HYF1EHh@xmI?5Nl+@m2_0mww=snl!P5nh5ssUlLT{<* zvra>3EcHX;FKj^e|bjFu^q-ULh zxkW>8n^D5;sgPXYK>@{dLfh>WFZ$<#BZ9^GQI3WCh!|;s-)6rh8xKM};|&fyNY?f5 z9PZL^*<-ESdhlxRV}1I<#m<5`O#b|D5Z;XY1K)D$vT}GDLqW*8YwK+e6)R*P8-nkh z@V!7m8!=G|3HA#=dc zJ(nGRH_heGOvaGvqLdW z?&IT7p8&1z0#lL*rMMX>J54&J>h2CRjR(j~noND*a^j`LaG+ZiQS1w52Y#9wfQS{K4OZTyK{+Rz39;y3=}A zZw3-13OTF1y-Kh=8x7;u6~BMaK8ygIYVYR&;H7TU$<-!Nz#U;iC7EIo5Uhis4OR&K z(ck*QAm0>Xg`u{kypI1VZ`Cr>wfQpNd#DsJG@iHP_jd3`d(B6ent!KEj<#!to}&n( zd6r-ECjR9LoRwa%OCmC=SNfU`vQ;=%{|j2oqC$wEm>z+d(p7&u91S#L_s;tob_tiU zvU~cEHfjnl7;X>v$&dWEKg>v;Fw^0n{sn3yZA(L+# zd&UN?MmTQ&tq*>&JddC3bwicvk^D`!<*d(!J#2jCL-WEO3z1@I{I>?U7bVK!!N=JuHX5FGSzxF1H;gFz zCDWb4>t(D<;|`KKWVI4=h-`S`sH$;~X|$FjQV)S^BVhHjVljEu(a;Uu_Tu|s|h`3Xe@pDo1zm3Hy%mhy1!BN@Z=J1UA`NQUVf zVMgmdOMm=jWysBu)Xwuk60+*N$&z?gfd>&_TE{v*G?z|MQK&G93Kv;;MXe@t3P_t0 zegp@r2_(OPS1+QMShj{k=!Bw z{8UpMWbmvUoBo>L0dbQkN(LX2Z%*Ud~q_yOtwSOZH|b~L5xU;G_8m5|NL8A@)6|Y0)x$hTEI!JtOL=gGeI6o+PDq zK<=x>fu)A}o_;aXREafB3vg{AveTv6V66d1b|tC4d?NUW>z$!Gf2q-Izkc5+#MX!q zA=n{YG4TcZ4+X`M@0s?J(bQN8;l8OiH#eJCvh4kS4jj%_jG{Gla+LRU1E)n`d33T5HLR&AC^j7;px}MCXD)WJ?$@= zb!Gvm4v)S;e)6ll8Ou;{iSBH7oDIMxiI>EOSm*nMC9A5cE<;qio)6M9FeHgMSNCh%7oY4fVjg5jw(CbsE9Aw@!@}V z#}E8P$yc`c$UB9#0<7o=&$6V6WyW3UBy`9 zAGKsff2&!j-l!0URrp*h%2RfZ*lKBH!A(bh^wy&_S)6nSP*nc1PqOHW$oI8sK6wOc zLe@y$W-2)uev_o5PgGH+@1Xe=lQuFk;Sx~VRBgL6Q?=QfmBBmP873wWPxSm&~ zXE*=XHo4bl3Q|&+9p>^ViO9h*QesiC`bg&&zF?Fq=kJXFQadE$p7V1|bskB?I0X#} zf#`3mU9t+X?R*8!(y(5r(bsn#Fq$AtMtgbt!* zDdWuUvZik>jFfl=qtP>2KR=-fia8O>bB)p=Zn|ReTZ3t*??Oo~%JVB^-I6ne3!q{d zHT?b0nV6WKRS4vp(`im_oy0+?)K}+!W{>`oAm*Y{okVCz{adn>acCkU7*Mbv;UO~6 zc#XGdf7qi=N^tj=91GPGs`@=lt8L(*SOE28ZE}Z68ZpRhMpz>=8&04!P6x4L(mki5 zn=%`buAB z5&L7$v9iYr-Nr^UrdGoJTu(Y7%pc};>{KGcJ0jh=Vn6?y-}4H5m`TqmUg~+eZMq|f zxy&dOYG~5tBjZ(59s1)xDJ$P-7wlpc?2eW*m?|R1etBvNeS1gg!!VEScix8WsbA0K zeHMGIhh%DQue5|JCUB(GY&c=t9T~E%L4T*IJ@|FSL}EAc@qetG1_g|&J97IEbI2Vpj**_`SCm2%Kg550?;il}7p7WKJ^K4b z_p6s!#+xS8^hJww$VQJvz_p?Eo8?^&8Hf*`P>itqy40c6-3)K}kkvR|H8f(n)+z`) zb+>NR{W_~-O3`Ke9YjRj|9m3g|6}Vc-%|q&-SaU;=qa#VYs~F zoPP{4m;ajL>>6#UBS|EmJUbKc+~?ofeYjjT$Fv?M1HbyoJ)0dRzpne-^L-5^9@dhC zM$6)K8*M9B>Pe*QC?A_OJIS+{f%jY74XdXDS3AFx(D^%zouLV0dPpt#@-yey+#L(Q zVc%>B+}I}YR#c@wvx1dyC-CNP=(u0o+6ci9|FTB*e(<%m{V*z)?)~}P+6;=rYPKVM%v%bDvJUyGMPFC4&(&11rw$(<75{qC zYUyin9%f|vepa1YC7E4F+qp81rq{}CzoMhHbvj46zsNV8#4dqB=+Ea5qouZB8~S!7 znEE%tAg__zhXU^Chgm9aMd$p{LME_2e|n>h6xaFv#^3Mxz7E!Y|7pYMq(sLE*uyf< zo~=(A&wiqM-jlzU{F3jQYnYf`qQUKgN5=brvpS~L@7-9*nAAo7lvw5e@w|Qz8iZ7U zSwo_h*qh@55$9o1A>@zv>$iqFtvZzC^i-J&>xqNH5>?sH_d4DdbMWAUa_YOiWAu~< z@{+W^+1kn`V^djmc#SQKL&%;_zh%b<^-&p)V!`%1LIb@n3IrqYz|q((71+Q+geh6C zu#kcu&MyC}qFBDLkgdWE`89^<{n2rSn^Ai0MIV)vN90>j2oS-s$^C#W&m?bguBy7l z1;UZl(wI;QW=;f0Gc&ya;M4MTO!QK-l-RGZAwEO?fAY#BJG_*~qz3eLbrWSU68uSI zc}5UC#&C$$aotF{H$DJ6$I*sygVblRS;)GvW#r|fqSQkw1oV5$>U8w+vE_B}KE>4{ z4KRyT&%#ygj|=&t*wS19Y>?iFJWGkzHF@ZycKY`c_F{4s6HX0$;+#fxc{T@?WSbZD zHYE1xVrY<7;`D#7Jicz(fSDg*e^x~K*u4l=-iB~JrLl{~4+1{{(e&$l5y3Y!6yx|2 zsl8EY`8obqx=f6+G8uE4`xON5kwt$VOoe-Rl8YubF5#aKYTsRnRqz|8$?&Twl|7R_ zwXl@b8>(Uud3Y^YE(Q|gKnH#O=3=`9PjWy;$@6F7+E;ddly`qJv)o#&Ea_Y_ej_m% zX;_r2kB`q+;&bNN8P$$aMKNT#lIEDz=hf}|J9qs`tbOL!lj!v*jlTSc+bvk!XywB8+`zU1Wp2U-z7|C4Yt23xBn8ISRe(~^jg=u>iXB8q6j?Tf#CH0I1#&&8(ZwdG^_N3X8!dlZ`YRp1?u8U2RwfwX5}y|8+G0^i^uYc zwP*tQ&RotYi;Xzo#!Kq3RJhB{y3k{|Qn>S^k~igJ*yM%u;dbD|aF?{JwU3R5&6v*? zFM=D9m&2+(l`8X;!FyX}c){iK>RdGRrRd2LFqT1MJ`)+5!pkQY_#|#G*I5(j&WN>s z9E`IWJ=T6W>AKy%U1G%egIVN#lzqnz_JMbxO}H{YrXedw0v&tu&@UdiBTbL$@?Bm1 z%NN_%U$kZFf5k$X-|Vs2C!}jdZ6c~34rZR-n4=E!o)aRGygXf?%xS(j+62&dJiV$v zzBRmaK()f|0`C)?KgoAm2W$>IUmnwW{dVzp7?qzSdK#s~5O{s0l-GJ(H|*uK;y(DK zt)e!&Id697xGnIiBQjy^oqBxx5qGssT`!kgce=*cA0B8{n;?>XfB7Fj=c#$=sI0y= zAPe+Dq9sK>v%txrN!HeAljzmp=&zEAUf+)u92$!a%3q7u3ko(th@!~BSRc5R3q_6< z4(N>0AQ=Ld1{{d(Im+8}4C?oa_44lAM_Ti*2#<86l_qr%I6PeC6U zm3uI^|KKRUn=dOz@m~M^@EA>_#K(juPFbZ`#Tonk znLlb1Nu@OR?z>sJKJc{9v&W1ohe&u4 zcKw*%H~3w69IQEDyX&F3A3%l8R|iy2RM;my47IKJE;kx>-YjF7UhGM%J3b2BVS$%s zWe6#unJsRrJ{g+U4U2nk!cfv(<2#;<3^$is66+|X_&`8BF#weFU@iI7sX`dQ8#*b9 z0shfhkcH*FcoCE|Cu%{8i%bo5a{h0EmL~KBAqrb5SVwS{pmnIsi3eoKg@%@DHR8DS zE4uC*G0G%c`Smvm_m{j95lo3Pg;S#p{(G5!8ry2qVr@&*$I1;sR0<8s zJzSlT*Qa_4iX~^=dmUS$H=49_59}7l2tt>bPF&D$i!VB0l;3)zv-cEd#N9z)zyrp_ zWuNe2PxJn;mNn0kms;fmw?K_s%ZUNZD7_>(xG`Q*`g*%4>OFUieiJ#P067t=zOwTu z@O%n41d_<_Th$R3m9~#h3fQCBH#@3-1U@+H8QtcWhu@plDnWs=c>0rCFOzEFT$_K4 z^)DZh>lx_`^&CAgQ>VC9O?(7v!yAWVnUG>cFQbRV4FAS|>8U&M8~XSJ zL>vUXjF@~uh20oekYr7BJQ!=h$S(GAkb_0HxOs5e6H<_V0QG+GJU+WS*dp2|UEDni zk2&c*0b>ahdu1a+4D@+ObnCz6@Tf-S7eqK98AvK|$)vtI7ZY+<2V_%p6 zD1VckufVQESv5ALc;1mhA!$n#{z^e!k9&kona#8`(}Jk*u;p>@;{pf>!1Ru&S;gWe zGxzZEs3t_|*kgjCzzSIRcFscm}-O4{%*q)0>b-sybviia`8VZS8pSv>9wk{bY9sF7dh<8);p&Tr` zXTV9b*FAA7^R*&J^Z;A85hO84CM2d1EQej7n*3W7ruqz9mYHci2b?BEjMv^hG{~A0 zZd;GPZD?pfS9gK(S+4}{LXzCxeLJe0Ag#{rj>0x#EI{NznwG zhEcjr`U{fJ1O>mt!eqe}JY&Y@O^Vsdw7cI{cA#6&*}2m=HPTD^Qom3B(Sw9@sD9VS z3oB_fp_UB+CH^-|SErzY6Q)?%ND?A394sjUmaFZTOx~XDA zsF|K4MS{O^@JqH@BB^r;lA*L=eKOzN!Adr(bKVV)DwumL?GgoPDwCq;*ZWPo5*Lg| zCJz#$)>7i>`k*%!6Si z3m<>H72&f&ebPhY^h@g={r#TB`QqPAsCC)JNUcI7cAh4^WT&^|L@j%&8GA(e@MF-A z$fQ@lMrJC56v?X_+USG7rs}Q^fa5e`xjkCrwSO}v3GS(Y&!#>kLhbsDD>E}QB}VwmhPL4Zjmqp>aRS5gXSZ8w3+z1>d>kB&~N z=b884+y2#0Lfb6+`J>ZorQi{Q8Y=Q_p(jl5){>I4rfULM{uV{rnjSPC%vsx*M6o%< zIW5)spi5um+YGy@8OYhy#6XIQ--x}=oK_-ckZ`ennDE!6hs6nYU-d@D_dj*ne+mz{ z?+%szdDAb;-(0lyE==4o3apupPx@lGsWKNAfP zIIejPI5B;7TzgNaT_LZ~$EC(RHwT)5=atS&iwD@^o=!VF!3`rw+Q92^tL1=|FZU4K zZ~i0$*3>*-!DjtWs@fpW82tTKYH`nh4HmsFnTXh! zmAb52@Bc?X4|nZ9f9j&!re$+wG1^+@uQ_7sv-uo`?6YsBVi$WOJ$JL(ndZ~zkACj8 za<(xR*nnyO(%imrmNAnR@@x6?i9RRp);~>zT)iW5M+5WoJhp!9i;~gDLsVf>&yQaw z->I_FJOihY+(!PN4YHw+#1;t1PqnjVHlB<9!@$_h@;^&^p4J=+rD9-^ zbQ@my^XE?^%+7$q!Hu=GPTQD!D9=(xZjE~pNp$j;uhIUyq`CksT)$P9ym5k=qM@ci zgm!MiAWlmyvtP*mc<*w;iUYam^(k6NHH0tzx|clGBokB3)j+6QC(&Yma-C#b*U-*4 z5^L4XAwwda>GRwB@H_YZ-3V z=1(vdUwaQ5IrOO2`eyW1s9XP9SkuAWfr`}K;p4hxZJyZzsFCTr3~^b$UD9GaQ!{UD zgPuF*zu^0>L|hyucayJ$%Ju%5(h7UcPR7!;R>t>J`8+%oNNSPBSMzlqLn$o5$W*P@ z82nJSg`YktkfWTl-G<@ahIi=y|M{R8?TaRoVx5WDi$$P@#(0n-}<42?~zN zvBJc;m2y30!WLsDLtNRtWcsi64OoYOY-A*llyuy9tA~wT4onc{F!%gFOJNI%=K_kw z9;-QO^;nM*zwu2YD0?kSt>0^h9ZRI>FcMf`D>5;rG0U;bo001ih1NE;`n;6`tFYVH z$G#4?bB;~Zq1H_=)r!H3e$mUvH8d$2DWjuG_MhrU3tKq`Y%x4J#vg2|wqr!h@*SwC z!s1!9UaqP9F)G4R{zuMP2_VK+#o2+R;Ef=}-bQJglnXl`v;KaDgcJ1+h;DT}3+aJ0 z07M8gwOv`Tr*FAYo=RD&j-v!v!NpM$zEL~zI-4@=N71)M41bLQzlLtYdzhea2Ym=^ z`ooyIj7tu-_ERd-mh>f+^1 z)EWezBVRQx%*>j2{QU!e^$IQLEm!Mwm(K8TSzy+jU%H&JbY95Z$Im-Fxz*COK5Skt zoV}Ij_3yaHk^HdqDOz=%cgbxKrIi2kd>7Upp3%N{KKacv^m7f8-yPQ0t4@=9{KBJsYU3Urqd}OL+E6?Lxv@Ma=Vv|6jzo*q9C|?yO871EJ zP_L2wX4!9jCW<)d1)fYQ4)4#^_V4Gpw|g0#QqAKjmatib0P40hLl_M(gE7m^oktzf z(H>n_*i^eE0n?h6|Z`ZOW% z`r8Sg4_gOEDJ(L1uE>_EfR^NgNyst#OTy(){FbSln1|lug;sh zmT*r?KU+r~m|%7#bD?4TAwQO)O2tfaW+SXu8Rd%hpfvSE?d=`Sb{(9NVEnBYo45hW z9yX77M^ozA%6+bM2PU{bjG#gw!=%-2^pv__4HzT5v-0tCJ=U-8-1nI^@jo0NWVpNh z?vh$;6wHRF!g*XZa3aO1T2`VbM^N&-K)4C4cjcZW;~N>pk5{DFLE7)q)wZzD{n)#b z2?Gi$rjS!*qB>th&@h4%wHzvo?6xw>t#sH*+65Fc37J-hXev~~=xf+?EWkR1jO!vC z8Y-%@*+nFGA243``)x>X8OBiN*bn9#O#}03I;vx_GI&AVdvO9RkEw7{wI@GLuN4o# zDa{+|wP&3H*=B;&_2pAx(}eBp%Ii=NH#rW`r`^aqY_Jc3%S55 z$%kBxG4+n0Z}x#EOqN<&x(|W*{gCi=M*yvgwVgUWE@>^Gdq`JamHh@L8USHq@8Rd1 z&HwiH+f3V9@m)VNG;`URyWH@?wBAg7CvK!}G{5OyM60ASk0t~j*RR|oyuOzrQ5RE@ zotG`VSrU@o8*|3@y|_|0ExdVw=ixUbBY>uI#fz($NDoXCi6o5H;TRoI9e#>_)3MFc z>>;M6AZq6VylM#~4sC;J=;b4E;`ThK1`v4xwrpPpGGV@#(;@r9OpRXkCId0%_f1vl(^Tqs& zb{fFWr77(XQJb>uX!1a}UUWTt+RB6X#R)Hk1%(D2EjzDVZKT{J(3*er!u|4vFbKj@ zYbVcWBO_-S{)D1%Kv$PSj(~meX2hpAFFH)m(uj)b(P;=C7=+Eo&JwvJ!+vDkb%!=? zZus{vUHYP>nt*iWEEEnn%%uzDAUN{pL^$I<7;F`oWFhDf2$*>w4R(Z3i!qixt6wES zY9;G@wMhQZL>)ZFupf>q`ZMpJzfole{b+wRwnKhBpU+=wsF*)gf3}3t%VlPHTp3zc zR`!?AMiITVJEUrqo>wk?+6evR=l9{m2Um~Ar(-YN+v^b#mflyJ85h2H99}U|g?y^X z^7gsR(Lz#VZgTu3wMcLDyUf0KqL-wJ$;I@2wL~xFPZ27~cnETw#Q#1W0F0J4$heLw zMiRdA@r{Fu&OUY^0o0VN0HRH;j{rqZM|0uiREX8`%%Bdx_=}+)WQYRPYdZ2Hk#I!>16JG?e#}xW@ zykKp#6pLD?TAj9*qg4u<-gj5iRb~Od9@iF%E@*ISgreMl<_6KVicUF)`dH@*x=|e1 zs5euS51z=WmNe{LT>F?oJ|r{i{KpmpEaKZb-Ux8A$Fk=%&dlhNE9mO#DrkG3D`@*- zQVm?ljRDlO{y5;Tl*6-9Eek`6mHi2o@&Q7N-GPU`>NuW&=@x3upC2NwY%Fa~EY zgPYJ!Vm0ZHxw-r)4CiF zA_&zY(1sdQSyjq{DjUaDIrS-8lF3y5`TVV9m65|zR%ULPhSs|2pcRYqem9y`+YxZ4 zu5sj7bA9#Uqpdh^r6`zi>=XOQTV3Y{0xOUTG>GT+%(rtb?l-Zk*)}0wSowK`(1) zUxYu+@rk{GZe%L`%A0@BH6mZs=;`X~>L*dfl55F;T?$g%YD zF*DoIX7m|5NB5P!!YXTP*qxO71}OtiJdRSXF1-t8FBPs3uxa7%8mE4dyYQ18ELe6r zr_9NEu#t&Z{1$KR^XR~Pspj`wm1Z@cW7}J?jsQMrf2n1C=>%bFVnR!VLq9=fr}3s|tw`-8PS{%*540uIsI5IU4EclqFS zwS7$Rgi*z!r)R#0TJs#p1ao|v-@j<@J^$8~MWThTLXe|5#ppX0Zkl5p1&d2Ue)O{W zV|O>qD}r9CZ?0ZxYI5J4N|4rw=WW~Tpq!+m?zDV6v=s>-%_bip(KD+imXG?RaZg?_oWS4K_SUYLtb6lomNReRfahCQn z1*VDcO5km{>E)t1MJzRz&(Qj~V_rTR9jr&p3Gq`qqiPEd@5}seNa)3`4^gZ@eULwD zXVAlH)L>#bM#2h0wmt9tZ!CxixJvnvmsAu-c-?;>yr0D zVl^v`zM8+!k)CjvP@v3dtgCU|+wl)B7_{XS_|uypfubsJR769ENa-$TN?_GpA8jv2 z?h^L7aTBr6UgDBe^6<_i4=nZ&;UKTWJ==0^Sz>&XN2YtjEc%feqqP$s+cRThn+$;o zw1d`38^WaP(@7Q~Ld@-|dyom8?{{e8O@t!kVjxPYS zr0BsTWYo~4`*I&${^dpnL%^ZTHyYh3^w1KWr2E=Nbjwp3)*@vX9XRHbc$2C7Rk*g= zcZH#r<(h!FsGz}&7D><54X;j5O?W3@DuI3PfUbR8loS<(F8&O7g}3fD*5&?T9jTP( z=eYI4nCaj7ue;&${wA|l$($&zbh!Zr03Ha$_97RXoSX#FI`(M3{jXg0Dw0`7(s9&Z zCe!R0RZ8x#09p#Yqy(pe@(-o#QEnRKCup;6@qAXUxkH@B8BjM{tPVdqSY9-)WF`)+ z{U=}Cd({&Di|?t!*<^M*RbEcMxzT={pfSuA`L%AFB=Tikl5a=)^h=0E#QBhG^KyJ4 zAKj@2)YocQVzf?A;qU3`bb2MttGsWIrdtm%&VlzG)Q`X|}Q%5uWSI=)#ALj`sA z>@-VOn|l8nPxg&olKZuzeCeO|%f19>5896n^t+6<)GeW-*NA=b*{YSF9<%4ydT#wj zi*KCFx}5GdTAx0X&kK{a(1orJna3mAMB>W}rnc5>HQ_b?*DRpnzB+{~MxB6r!|h5Z zFAD3uihla{e;6!0QoQb>6gdbPpKk)H{`EUB*0XPsL#VJJQDbrne9nMpj7-7xdGmy_ z&$UZ;U0>f2xP0AWVd~RnPW$jrkUORjFJwSm3ERg2NA}y}(UI^o9W^=Z66M4bdI@Hg zy^i7fM`aMQ_oVlruvGhWee4(LoaDMSd@(!8WUu%zEe>!<<~%fIvjy@YL7N;)CaV-c zBsBMhTbk4=MDz;c6j{F4Lb8*7G2c^5tZ) z4)%x%xeYmPNR*^nv<*H;>q)eS*e7|QVjTpyC6%HKRN1w~II(>Zp;3`{RrPQ1m@M>E z9V$z}A;kuaH@f3ojA4_tLa$<|!+zGai%^}WO-7}D&lHxzTbC6R>>f>et=MD}9hLje z81L^dG3Qurtsn2cuXh-RRM?#VC=!WBFCRGQl*`)36mkt&TGpGbBqXQt zC;K27Fg6rzR*mi;>6sI=Er!-lpuH+wRCT^f${Yqy+SoS|c#u<+s-MKBf;m3ZgKL58 z<3Zg;rx`55QeBWu9eKbD`a8Fsh1X*iI1?HT^UxZKK7Q)#GynT%{S{j3B$_wyWKmk9 zr3pPk=-m1D_R4B(>GrmqrnZKn(`!rfAaHwdw&S4D_{|&1UIEQ~87y&64WAFpotx>f z&f6Kx^1})1g4zL{^G!E*v&q#3!&SB$LgI!&`d*mfu1&h@1a}3#xQOBxef=RuO06<% zsnzOcS^6jDthrgZf=2Wr=Y*J6jQZ8ue=uGN*u_C_WV$8-aj?+h;-I0+9vx2_944cL z?5S?wnx&2d{Bude)t#5^Zq5EcogOMO0i>e%y7FbZA%&#n{YN6FL32u-}Gr1VM!@;{^!&Hka%jnIB2V&$EAp3i9&^qgTHTP`H+m<~?X6LO^b(}5>r3lZY)jXyx?Qaf5qw_D%n>!x{-X<(v_W;$wqj~1l^lTndZ02q%Pm1`l zs`kHU&QHkxm)GboJ-g_#tvOh(6*hVy?S_IUqMH0ODr?&L0ds;j@L=Q>+mIV@dN>HW4% zSTH7Gx85&(w9Jh7=jR)-7HWZv>e`gbzMlqwNM4q zmfuz{q%UbSrQNnu9&TUAUyY9ipl&stefy2gZqgUcUoxX^>hEl@l7mLIV9ym#4H>R` zWxDyo|F_`JH@z*AzD|)vCKP2&*Ctx1x7dyf2IXhxSFdJTzIQ{amDDxV#D_x2MJA%R^0Y*_+EfPGDj*r=;#7Sc zb^VhKAD)t1^IbK0W;skI9%;B+6&oRFTr~wG)74(5NB)Az7o!3J83yp$j_q}L2?z+> zobSJt|EDX&!B|yMK`Z6@Q#H}GJNd`wKB9`rENmMiG1^iUG8|Qs{HNP%x`+0UY;iu2 z@#7^iKlXtHFPZNP;A8xn7t`dhWwl_96|YO!qp=AX1%t7j{dnp00(hCApQ@Su6}>Fd z*){7DrYcq~v#n<@9+_;A-p&|Pq!!U7`a+BUgbz=fJp97Ufu-aSA%3W!4LO>gPSq*o z8s2);+ruXRTVhyEx6g$LWMfpi!x!T)^0o9Wd-zEc8$X8I+qyawVv&HNM2It5|M}-6 zNG%J7FsZ1l<}`QQcLQ=oOZ(#?Z~s-BHemAk>$mKo}}LTXZ@-lh@!%#L!Y zI?HrMmmhBxT*uM+WwzKT3ZNliW6!~Fnv|}ix|PfP0$Uc0og09Q|3tf7C?sl_bC?K{ zrrJX#`$Xqdjk65e`%9bzgB!*$i;gRavD_0` z@ac{JmSf(QeUkJ0E;Brr+sh;1@ylX02lmDxI9dOG?f5uGM->kQVzl7f6W@xfHA?rv zG#aSrz?v6rjQCGlJa5S67)ZfqV(@QSQ*qg;jSZffqPdvF;k)^IWTflN|IIkaf~lAVTQfHyaAe0Fo4|vjG!fd#%;n|fP#EJlG@E(wblM%vNrc<8o+COJ=f!nEl-M_oU0^XU~M_F?Ty~#^&cb&ybNU; zHjYbYS7VWv4F?AS)LHxV7cdDq+gNqEttA~e&~w(GdCe=Zk{hphs=pd|holy<-VkxvV+wEI!C9#7zioh=p2q z8D~jw5@_YIkVf-24}}_Fz5Y3=T-o=%6o|I7D)rfBq+jn>9YU}kLy|uq3yNtB&*i$CG>%xrTuJIeFX=1>V|SNL-^ivT2_EQr%FGWST#r#@Yf_0>BrZub*L&~);` zXFj001&5SLcxQerTbn+;{<1$f@lP4HlvZWr{4-4-K_t%5A5BKqZobn{FOlHjLjDKU z^5Lt-@9118T*5(^`bdvWaBX5Ut>_Eq-Q+OyZ$3vaG3y#5lG)gVPfK-Xe|(+nUF^sI z@EztU_4f5u3cTWtr zTa0V|x%zj^^%;~5kA?qry{DBlHwlBZlWNgpZ`A14?5n>3rBDQ1x$}=rr!V|%G2dh( zv{%7W3wByJtxTjyt-bx~J1a3m=FM)GB;PE;7Fji#tmDnWpOhRJkrHKFcPT54} zVD#I_f9idq4P2w2-JwtPNWzxf{)ws;txMk>jrH|GVaO_JQDOLs<^?gXnq7Xam96bM zNuYaz{i1;9r{xCA>y^&C<(73JYtfNUdd|PC9C9khAIX!-d_B8Sv2x#Ftky zr6M6D`YAR=j*+J1aL0d4JwaGFK8~c-t&H>B-6qTaYf?gnf@My zj>FZSiJeNA`FWjjz~|WuhJfAfY2|&E<`sTXUCz&+|B7ZCkc<(SEp(PhiPl?{*bz(n zN6~V0AMw#QX$Tq+?$+s^oBQ3AR4E+EsK&el$f!HK|@VYUQ z!Dzd>czYUkL;UJjlW@mh$pq=+-**@HhjGrGlFn_OfhAM)0Y`-9J}Wn10_+>UNgoKm@i9tWAU@QGmpYyQT|$;w5$3+tGC|-j%uM z=y{{o8{dNI?C*TYjjU=vTo@IojDx{4Q0@^Y#!?r5$7uZy2Wy33yq*8nB)6(pT+Y!N zW~Uj8i`AmeTOM0Gnb2r6t&ee+eX|ErF5d43`}Akc#X187hySAB^sMDbb>R!?fVo8X zPOizBFFay)7v*oLc^Tlh8%ZtCw3nzoPpp(EKG`}-Yee=w1vs!3T!^v8iPodRvd!?# zetJ+^Nn2}pg~R|37U1LEsN3JdRm|$PdBh7XIGMlx(U>zm)P(8zuN>|+J(p^ zBOe-7T`{{TExc0{)ULyhi7|{^j)?#y2iD)v|Fcy-$2OyZwN-KQorrVf)^Q-1Ob09I zWRLEdzP2$6-k-#(1rpyg@6-~qqm1dpme zI&}yNi+vl!@rfhaN(S5ZTqd6XCnHS6|J>oc4-0MqT-Nf3%xprGi9b_0S}?7&ZvUz3Ox?Em@V_ z%5kQ>G5&=Nr@lXd`~d2SEF??|`rbHiH$I3=?hzjuxTiki%_}mbFC%&3XGCfrl`en2 z7(IusX)^POMXZ7a%ruYEl1fSYefjJ$6CE+GO_KPVMrJH9R~RxTYEsaxYN5AkXauiU zne&q>tg>0bh~kNgg3hxqhc_8T6%R3DQ>~*;Oky1J9iO(Y*c`aj#lVgd~PY{xkjkJx01O7CEm-#vtz7 zFm-TteYIa5aF))k+vb(W67BvYF$fEPGdhLy;kw0H;&}TRur`h3_4~_xrnrA4Y;qQ2 zTrGMMo11^X#d~|g`e5UEFmN_&ZsmxNjko$$1zfPyc{d_RXXZNJ;vBfhIa`(6c~y$8 z>e$_-T=MfzRt~1`cor74Hu#-b>VEDQ=HXCDc*QlBtlj3MR1E+VI7=V9@IFdyoiftz z!JrziHfpT`Pa^~U)_zBiX3v`VPKb816ukYcOfi7<8idD=FUw)Cs`i5+;BqIUb5A2d z;(Ekm*1Ynu23gn5GMtz`bGgRy8cAs)yB!|$g)DIMuInTt@QTFz=Q_F`Ko?#?V$)*M zDYnecj%l6{VD9n(2j6#5a-8ErkUORM=T`-?H9>prkdl0F-vd+3{g_>@mwgt6YB{>9 z>y^rOQitaKBv4X78av;A0XhU+8l;Y0v&3@#>nHib0+KGC{ z9}r`K=O-r@ImYF(>jNAt^V!U7_)=`HSkY?XRJz-stT`g-tfNieV94yW`_ zbmtu|apd2DOXU+Fe9`GWW&}-cex)Tge7KLfjVtlI2YOuaQ1WmP$QoPzv4w;;Xlws+ zPPtgmu7$gMAAUT+M&y}aOBeJW@0C`vs_vVVe*iCTC#QbQ+MGZRv)KaYdC2a%Q6gu2 zoCim|pfq>?b=*^^Gw9XjrRl82r`0?q>At<%OS1oIx5j$*K^*GAW&x=ZPM2l3=gwo{?VzA!iwnuR%oV=rE|;9 zb0G9X2Mh=(&F}upu#a}+2IJ}Q`pBW@49aHFxP1tH83+77T+~Jc8)zm zKCDq*I4{)L<9bea^lR(`8BfZis*&J{V3fn^B^dJj@SVCpl=ju+x-0vbK+7)h3^BJri&{;RG0&ZJk%nD_s{Tb1Ghi zZ?fN9I@wMj<0b4G_Fvi)`SC&$U*w*IZR7~NdMo$nDG0;@C*g`pO-;r&h81h+?=!P8 zljm^+lx>!pa$H_a)vmnSsrOqTKXx z@O6UppY{ep!fKFfWpYG$YK)D@bepn93OQx=brDy@-HlyUtkIZ$?AY~G*$|UP^2SqV z?_OZ-K}?4-PZzB(Cy3kC4@;DvMxVvgOI}M0H>|O|eEk{TX!`o>znalPHcisKP96x<}SB|5ySZ7E)Aqx4`!BDS{nE4pRUQ+&pgRvNi z1;^wJA5R+z(-KR-#&)~~Wc8#;<+%W}> z27{1j2TR&WAk{a6R@qQDN@oeebq}@V)uY*_9vUymzO*{HJsH%}Gii%m#K zh>Ig&T-bl7ojy{bSL|V-p7}JwC%x9Le_L|K;cO!M2wJ(Bi7$i87|J;u@*=qy1uXMl z76luG^}sVW?d@aTc<=<7Ua3@aX*4g|3uXbkSRDe4f6>HyBO|P!ogI62mSnu%aVnaK z0^|a;xuHQXJzNK>3V06zyD@3w;wSd!OyG&r(^MTOo~W=_9oJI`9{y-?$#ur)dFL>w^ z7;2}6%1RH{?RGFXS{Dl?Q~G?bSCs>kfmGRP;uJjsB;a?EBShU%;Bf7FQRo-g%*~6_ zo4vc;-Twrd#O`|dh#H8CY6SbS88=&Y2szof$l`s?qJ0|#kOba+=Zx0U zk{ao_ki$be8j;6Kf*%=r+w-GpF91AujuoVk4KD?{mI+i% z=1h^iUzL-2qz#~yN%l;SEDR2o1vp31bKd+UI*q8ze)Wpg@EuQasAbMHm-q9CmnkVz zG|04)*P%I7${aY%$yP6mrc$0Y)s&Y@THQi;#rBCA-)|B5ChIVX*_P-PO&o%H-*wT? zDnhx_O|s-jo#q?Lmd*Tu+lw}P2ZEPs)u2Y5`OiNa+S?~#7hj0N$CV4Tp2a0ejLHyL z5oH)alE~!+x1SDiDd9ZF2A8oBm`abfNgi9Y6Dm;)&>%~C8w5+V_@meEC;y}Sr&mNj$teZ$-By^sH7^r@knv2CbqP=n=NmLz2!gJvUr zz;0Q}mrrGdOryyV$Jhn{mICNBwt5}M_p9mhiNa03W|QN-rPMtUc3G9LmzH))m>m0JGl09;@~+@f5@^W zDl~%;!F$s-)9A!K9p{0Qqg`IrEVQKdM2%1^=nL->aFJaWC;zxt9{w&fpCT)bBX&O9 z2Qbpj6-C;8w=4C+ER-obF4P>1EF1SFTfpjtOiT}omkVB0crLD|Oj&Ai4ym&*8ky3& z10gk^r1-e$SSi-Ujc4Temjb|gx_VBDP)~>;fNGDl;LHD5-`L(g-X8h=gfjPH zJ^$AF?*@TDyn3^*f^-#HQBuP00&z07=<`>>P6H7enykXT)Z{UG;O1olKM{iSvEi)jp7zUF!;XU{w=rpWfXg|MsdQYaEs`D~|Kr)6AbGgaGqG97#VTAms74cQ!JH-1 z>Re0uhSD~naz&&SUD#Ok^2pyy>ZjnWq^lz;WVsF|DNY#Cr`Vr7AyTByET#etdCAsW zNi+8I^VlC1$?LU@uBEZq+GDhNhmv-k$1sv%1-^2B$C|=+V8QZ%9_ z*ULbx!xKJ7-;hCZ!60Gc&8i2I!J|^xy{zr+K*=Z-Byxzk2?t5Hcug1B|Y(EVhl^8CP5qcTt zv#YKR{`~*gI?I?g|F~Zl88Bct0|vugh7Wg_;lqavcXx-uU=(*B(hW9bP#lU68Bn~~ za49<6?cD$5neu{;y|HW?#&?^iUyg`&v?bPtuGH+Z&MN5 z4aAhTzWKFYqq%}kLY4T6xou0;p5KRG`@4>|=G zPS6=kV}{3KE!X;i-jnP&6d?YW$HP++BM}2(kjZZ`UbG-|+9OU7VM#iw_Ag9OdAOG8 z1M{y*Rctm=!byv{G*#5D3UmfrnMib$R3E&rt>#Ja08sgQ9q22ce+GQAqEW=aYi>k+ zEU}c3O+JaV2LqO@mrn8A8&57)pXlHu_p*jf8U zAd4Y0=v-BWvB609%8HONrLGzkxAvYnb7|!wUaBrM27{82=-CR z0f8s1ZpsL-PQUiX1Zmk$J8{?A71!HYPNe9e@+2}8lcw$YU{=?cT9roV(O2LUCsJig z1WgHxQL-(x_?$OAotYdpZ>SNEDs$+eCR`*aMk%KNfqGZFo|cw*o>-GAkB_KHcnNrY z|1I+;1#bd#gzBKRs@WqEw=rOXk7sZ^@VIu?^fzz=DfLvNDfMtJwsMgrjXA1#oompUJP+qCyzaj0xG5o%sA1K=G!5=R;rJv=Z);Gj*UmrIx!q1# z(>cx$^$Rx(%zgC}4aA3{48oU2T{~eZWUtCI-)VnL=)4C85JaB}Oo6Vv)kBXbvnrKa zePkC7lP#%>R;?t@)&IdFeE+TUho(?3!_{*;q%m~ELY*&F|-@KqeO=ent zb;|j8hj*KxF?wIsED%zbRVkcx0l7r-F4%Rng~<69`?MG3pof?D`<71Mh)* zis;6xsvQHV<4ZoL&ixNhyG>z7Q8)!_DN0#Q47!xo`kD^s!>&Me2jjX1 zSKgRE4hOw;Grg)!YWfoSG85D9VU=3Z=F4dgiyi)vlvzze@IUC2xRf7YxI5RJh?kD> zD0d6)<{G0acp5==?BsJKy#G?kKd49~k*CBEjkVG2An|;)_-Y56tqbjWD#(nT?GyX( zq*$^neUx7Z_Iq!zf_A#i8&JcS2JChrWn9Bi0y1f=PmH8$Gj2`MsSXP^dB%3wc?{B$ zrWhdIZNBkkGWpyBIhyJHjhtkrmk3hUZejD9rcax$ZncHe4MH-k)oqujZ5?5Dol`Z> zZZB$rs?G}Msz0};x=9jVZJ@CTEGfvd39q&<~;;QGBCka`MmJ#E-$ zu7+*b8ML1V8rZH@alED@q~i?)(QU1jvY2143!!@ueQI{tIN!P6j7u93sxAuLbs4kE zdfZ&T`!cCYA*=|9PKVoLodow)U$07q?70;MukUj12fd8F-T;C;k@0V+DT}CH7hw=N zWY#7#{w@uoS#Gr17)<0+N-C&dM&)A==?c5as-aJ{I!Bd>Ry*_#ZGiz*@mTOSvCXb3 zx8yb8E;>oNB2tKQW_{f+v*W@BX+YoEbOFDGxYW=p3`bx=TkR+O=b3M=VQ#FnBV>Czas2Z^d1~vtS;Ivw7DuuCG(SY z%J42!Y*I$_r`vhW;MIrDpzGrjwvnU9%c9Sgt90cG3|3VqilrS^!_{&F+bHU$KWm{+ z$4O5kvRRouJhET$A0N#*hV~JfLX=hqq|&q>xeECEBc{V1vx?pf|JC{sFP;1bYUx$a zjLykj4^+Yaz^>>0eaB})5;{=>(YNqG&{6)$@>e@WTg?MPX;d}PT#J)#8#M6#+Sx|5 z!rwc5HNQ$nQbNu(r(nvSG?j6F*z@%)i>>YQ$>nV56Z|OT=}wAKX9gPJ3pzgVhhbtM zBM1ne(JL3XUm=VDngX`d==5|hKs9|W>Inqa-pAJe2qi9wlqqdMhzRlVO&(pru1uO- zB|O&U+m;@$E^J7{evgC~e$wL`H&$ai6ZZpCHaX8VoYevAhXA(f3J{&FpvhOV`luTj zp_3aP4cDcs%4~JerztKsx$|M`fMWPcyh5B))rh|~}He=NO<23%4AOdv4ASzrPTfDSfOk-nXR1g~@ zzljsH(*6}fm4gW~jaYEb4s?qH;DEIFn-tMH5J6T}+>OAhZt!8^P~8ZWl#zgtJbT`7 z1BJc402>w6t?GSb%!6y;_tg;cPmmL8V0}!6_G6|^m;84v?^LXxLHUYQVw+yL_(T5u1*rTDw4kYdDNF6`DG=BYvRXCLkgl=- zYLgsZvh$C@;reC6x*PO;I?rvJ>RPAweac84LWRIRj$KyPWu!5dzuVGv05XCtlwt=2 zT7WIPXVaHl?L5OO+vDpC8a}Ax8m^N^^~HNGepkW@l6Ly=ddz*V=MTS_w7CZ*N~~5O z{<0i_Jn6#}xxve~V_vrZuG&C)KLzu>U}l<534`A_3;cBKiO^S}oKScmzRcGQBAd8= zVKxCmHi~p+iQilDjPwwa5(`^jYH{KSd5S+;sjOc|NT2!IAz!eeB62LsDciSgkp z%aoTGntBffXiA=(Z)i%ciT7XJ4$c{VUT_GbMW65a<)wp#G;P3suNH1c3$g_vRj`WR zoBpiev9GCC-L`bQj^_T$ONCcLyW`Ue(#jMe3Uni!3+jDo7(Ry5&7n}6Uaq&7&mS}2 zUBMyfyQ+dMzZ(Jb@ioL|ix>||Dugwt4}JW$AHu z4m>@91x>YU@x8)R8#bh&%rgbJB9~RYf4_0ajm4I2FrMsSMjM&#wM}k+`y_4aAQJ&k z@K{!v23ZhNMY4Ez8ToY~=J-B1aO0|LXaD`?K>I!yvYbLj`$7ZTE`WXd-DqF0l1qngFG1gij+T!6%1H20qbc_c^(Jg6^ zA)>!yRz~nDz4}b?hBHZ3!pw;?CqjeB)X)JBL+q_<{>5pWMpA@ndD6>=d5EQeKEAL( z0BgE%yXf`xY=>9>Z@aO}Ghf$vWGc*S8QG|;w*OjT=ULrx2TVt}H0{@aE?{GFiX=;N zTLlWNMD)+jWAn8S_fUA~=3phwHnzQwgOBxL=IG*Eu2F6=RJJJbu~L0C>SBUAtOr)6^$@@NAZQj->wS)I1*#2RSI6kvJdUHTZ>c-soz+_^*G!`sFh8lcJC}%>rC+VnLuz@p1<*#g zsmI0E%I$3u{(%&cQe1lXuUQFoZoz98eox2W^KlaRT&E2(vrJS% z?rvXbQu_z~GOes1#-s^l79!-zvLc@*GYDc4Q;@nbE4&fhMko5F(s zUGF3`nYFkDoUnBIpMooL>e5+~j!d90%^$vy;ffxwJPoWcTc*mNd>C3@7#vKPm0Woq zbbmdxOzXv}IkLrZGa+|(RdA4LNzdK!?~fuH{us4y#A18U+1da;Xss~*QXb{sa)<8# zg^8jNix^z=YP=Y2_-8>GGjo40Pov5bJ#G?p$bD6(=hO&AtHADE=!Rg4fWz3z)oLwf z(C5A4LR07iSm?;?T~N`}pMqIaubCL;oGpcennpE4NA9W>5u%F0sG!GqR}-_HvC7vg z^)_m5#m#sB?$ouHk9#=2H!2y&s9H=68zdra_68J7YvaOuYI6>CKPPcXoUe8mPriCx zWb}b+@dLhU2_vYGm^{yHp$i0i2#gV{kf^*(ASESB|_m1Hp8b%*NDfXOw96c{a;&i zjt>m(p`>hR^qA~BzR;VNn|CHc4>WTz{|iYFSO~a%`c_689h*UnJ#NtVf-X9>`0Vk? zfjs_s?U%+M>ZIR4))sg{xbmSo7z(b*${a7GN8n;dgzabYI!^ENd%FGQt=(l)NhX5~ zEFTBwIiVi;`HrQ3kt}B&Z zXcNShz4Q~6qqB}ys;>^t?8G$w439dKB#@zEF$S8}xjnZ!SX!#23Utb^tbVxaJK|LN zP%%9`5@=)50Wrrib*QC}TQw{8fQ7_Y64q`}G<8)+x-zmiiD}}R@jYLY0}6>%ssymv z5?4q&L7;GuioA@T4LQ?`qq(w}GCi5;L*EHG@*R4i-LFbI5oFq_Kz)(9g`-NdkAy*O|zK1bQu*3HeF_VDCvU7K|M)>L83&kFpSe0slyi6GFM<;CG zmpIz550VEeKhFV3R)KluagF&s0{}&Zm%lHo{YUF{ppeh0eQXLv z&T36|gaEbeT2k0?RHu}V!9f+Tg2O52p$1qpIu|S`KbanFCBr!N_{*#Yhv^SdS>*4V z2<*Mg0y}X}Ygc5WV1F}E5aD_LRs;XzA0c{81$y|^ve~n`J^45 z>ORLmD{;iMJivz)#Yz=_9&_RJ?VIt{%9Hf>yu-ht2(jh+Q{gf`%H;5s2W}cx)sj&! zl4zO1)X-gnFsr9x5o~5H)qN;!>>v8GkyHy$&tPxwvcUk?+62~q#ge3udtJ-2te19G zl-O%16xZpyRr)`LOc=1XdK{DDWrobkX-Chh77=dC-v4yIpVb-sb!Eerdl)_ncoJJa zy*;{L?EDb8c5@VTw3u)6)jfboqD7!G0ersra0nm`KJZ6j?eg61&2}{TZuo*Mki9(c zDOpuxGegJe-r5wGqMMPGtQc%msZf`dl+A&9(RNb5zhKh!hI7u1xtB1!=L`f9qmycKA4I{=nd_?WPfYutDP_=m_z_ z`MLehEi4|72tOPbAWC{2KT9P*l}J?@s(eonkcA-5&CT~8-CsTx3cEYm$|%N-be_wS zEO=#pwPxg|I&>HcIA3nO_IeGkYUZ`Q)D$^CIO2!1_7#u0pylV?Whc<(ei#?^7! za0GxfACHjvEz~LBSV}&KHNF-JPMt3%UXJT&{(f~hHVG^qoGlAF;ZcjU?&OfY%o^q- zlcgAt$yct(x75W_41Nj8$Kq6ubsW!`xp7faIEOt$T|+%R9c^tfv{@?(9*TM&zGLHW?x|Zb0v?-aOY5rc zy86{mw8-F^S>T5WMPmA`cn!Sv6Gr}seP>%OZnzwUSP&so(Ed3i8hU?SYc+5xj`sVteTfb!MhXGo;tAX4FLIck0k(~N`m6an!jMY}|CCWnjzm?1$sEi19i!pe{3>3QENl+*DJ>O!5#V>5P4_4vg zV-0wKC=ml7&QZv^H(S2tTJI9Z3bly>6CFN&6@v2vNLMfa|Z ze*XPPx3S)=4sDR`X7+UcUD&UyBJJD{Gc8i0v!<28r6KV~L1Rt?N+I zPUz+sqZovh;3vFq=lU%Yc_*yp^`xI~RqA6x;2%DG*sTiO(BK$(`naNGjHXOlPN?-aSARF7C_NfkxZN{PY4S{506Qi`+p@ zK|5J|$euxIi_Mrim#;4w2mXv3MO~gnr3}DHLX3#LUPR!ic~naaWFkBb^27hv5cWPqfXbw5dFP$@z<$ z#l2Q5f4;!?viO`xZM5sNul?>f-C5b&+vA8R%)+oj3?qqHu4YcPDeI2)Bu!Rpsbk-euRL#Dkv(Y*q$M?M#Ih4D`ee^SL1J*G; za@#ie&lVeIp;XI;k-sKgyUGnqiB8+P^$wc8*NY}KdY0+FokHd zbqR0#)4ns?T+hXHzV7uQH^`d4T@kQLW z^1{Atd{wzN4gTJHQiWO$um>&^ns&UWF3Aw>*xC4%lLyQtEoVawDh2yFbr`@-`$j7u z#=@gE!zMbDrRHH_&n%U=g%%e?tKTsO(Mg#xcDKDX5<0@1@ei@`-tC$QI%;p@duvoB z)YWxxvcW{ZkoD2gGZ=tho;{o@mX@i%n=m(0P4nK5@zG5yrLL2MLffur;GQmAiXA_M z9L3(c1fHg_n5HJZRYXrSZWH_0Y!?7A&w5cu5E!A;o_0Pl|8<}1BFkLZ16^4!D&S@sgN*{_`1Ec9mH34vSC8nOZSj~ZR`06#rPp}+IWMv{1mjD|;7Hw{wi4p8Gm$;X&fv?w+2%z4#L2PE806 zJpTQK2Un|lHuS>F)Yo}iyU+aj`G*U97n~6_?dz#?S7dGR3dUHSI#ttYBZu>6Js&## zKL*rZjk-N*wRsQhQZk#LEflQ;A-(Pj<52;@R87)s!nwEalboi@d}GMeH?9K6W%m+h zd>PC;_?Pfs=s0D8eMuSrm_+HKYF;TRVd>`H2*2hA{4n&q`-M}}v=CU*dtK}Ir;BFK ztEekdk@p;b!}mo>0|d(qJ{xvd7Uy@iyMwGHU!lGsK!bACzDbY#o3@#t#a2D@3HL3k;w z{aY@eKSvDSeq0|o(Rt^za@B{0N;Mzmzkl8bpMo#@t&S^XnUy8@hL6Mp#&P)1YEeJ` z;Pu6o+o8gxF^rBKTQ#?vQOf()q?l2v+`Fix``*66R{Y0HvCiwQu)v#lLe5LR#t_My zakQW)TG>9=Fdp%@qO7TAlT`u(@0LY=JsHvECP|!@u|=NT9klt13vA-5ON!dxAqBlfPK!aBMePUq52c3s9i zw$`5F1df(ZgnQNM`jnOn<|Jbn+v7b!! z={|YOkittRKAy`9Z((0)7ek7V4WHGsVoM#1L^614?DuR2Bx1p9S*!7G*{psLDHZ%9 zB7`D%Vg?O!nQbUQDg2B-RoIL^R+Agoy_EJZv;#L@S~D0Ie)rHr0S**ZzJrDi1t=iv zzwwa*?@+!j9-_LB>Bjy&YiFeJFU;CEbs~i$+T7sOn7$EWukOl4#*}Soh(S)%sNoK5Y zmcs(l6orF|1PfO?b6}c0fi>eiz6Wb)XksXwp(5W0y)~;I$ArgvGuwwH!~)(@Cmsi8 z+x6(45~%HWERDnJ;sp$Maac^c5OZv4w&+;Z8!!_%g}^4N8Bpu!8V;X|U-ixz=h*;G zq0Ds7Gh&>W@k3v=VdKetwOu-5)td^0X`t*c_}BQ@#BR^F4UV-hAID8((q-A1AtXN# z_IRn1ylfqdKQEXtrrdp2 zNM;y=XBZ%yehy{)-P0%YDU(2W?2cH{PNtt4eX zJ$K&9%jVyd7Is$-EHvHRlrAcGPhvBy}yy9VzuVl~h~To=6+PV3D#rn%5-$ zFpXo;t$mVF6BKDp2H3ZG>_Bdw2Z-+oev$59(9oJ1o_b@4=Hs9Na zqW~@*P$>hxkY*CGuy79F7gg0fqX=~#X_UE2CRbLqJ82R~TqQhTpb;SK3d^1S$HiAA$M#eCCM&Ue4V=lAv= zuEi^)Qq4EETM3F0#!aF5bjrU4DL@2+&M9uov1daC&B8s?A#rj;96VV*b&EG z!>@5H=pA|ty$ojqg-y|y5XZNlBczup1)*+wIk}G;-%iW?9r#Fdbpei7|CR2nJht9ki`g`TB(kK%z)xWDBo8E3hoF8ZH7!HZ9Df!Xo_2TF$ynMT=w~#k4FB zUK!)G3V?$`;6vZ4S;-^5)7$aGVXB*C3V^7|^q(@B!<+XCSYt*OktQ2pCODeRrnG;= z7`e^-*IyLYJ2=Zm|DG<)pCnYLS%pupU`I_)4{Aj#!V;-lmt^=-KS~U-myM~~_r5iS z?5;fSMkD=7$1^Jt{YeiTZ`#C@qw>rGY$}5bUZfK(kb5fQ4fdS=Ih~&FGqNkZt%t zc%Aj#ZHFFNeh^&h%*~-!++B3nWl`WV*T6gp_ajZQ^2%xd?BQIChp+FqhVfQpp?RN& zkH7cmGVF8aqC}_h{`S!K$A2r!cPq;t`}jw&o4Y1YLX|jGQLFlo>q0AckHg#|$g#&g z?v4wZmDqg-Ylp>57i59gAKIvGR*cw64pG>8gInMjm(-&t?do@_hZOE?xhX1#OU#>- z8#Acnn`SljE3~7q#bLMR)9YH&qzGC%?Q-SZzpq8>pE~Yn<{I`bNUq6DJ$GIFmJ-6F zeZay5*l$2o5p38d75I=GZB@O<)kO1y)XtxU}4 z@|*#MFY;?~pMf@X?Co+$f_#rCDQUd$&~FjVMJu7RH66PNh-|m}fiRx_Y&OQLZr<%| z^V9r6V;8kxLNahv;Q7RNlyKfPsx$F0`*I_a-(RIbpbzA<-Qk}L|4dDzVi9JahT>~{ z9|~GI3k8)TAt6qCm3Vk2?%EHy}2RGVyNVMpEVZ z^#RWzWv3y6M1r4ocmeN8U@}} zK}}id^mYtFq^6li>qZPq)7MQe1ET`DHmM4Lt%M&l&H6uWat^#jbyVr1Y5Enk`#d)9 zWSl$zLZT906@#bhvw+;K0Cr&_YIG>Lr68iyQ9+&`2t*X^ zUtq8wOT>Uw7Wfrxv*C4pY`SGCU-uqd#l{3cwAjV6iS}_XQaiNYa_cb5LlL-9{`P}h zZ$zDZsAi(RqJ|IZ>2EIN@_dOM6ds1CPpR{~uR;(`kOR8iI)Qll72;Hp#SccHaQaaY zD1;Q9*PsM8`EIJLp}s8r6wN&P&)E#^zUY23nw30WKD2dwkPe$er(#QAjV*fc=S(*5 zM=)?*3w|3Zx6x6RI;OB1uG*3bTOG79ia}p3CmQJO?F9f4{p9^Qh<!14(`e?PSGfgB&RtWo9@h z#l=-9!Xl{1t@QIwyMbPpEu?`{n5;()8fx^=0H5bX3y+S5n0+53AI4y7PWz`sr_cs7 zC4#<6_}0+%%yT%FoX2FxI`k18oAkYvNw!8OvP3 zus9~t^j6^X8V!GRlq=0@q*h!7pd?30(&`oy>3oB|5ykBVQ8Day36E{CW2IVuP4Gq6 zQT6O6F=|>I;Ik+GYWx$M%@`-X-?&@E{U0ctAen6|%4g>}pY&!VE4no^zapg)BROA8 z7dbDS+|#pqeBo7HCfKJhI@OH)l@(5!uBFPaZ!04{gm|;-wC63e=FTrf4^^x7&})P! zW5p?OjmKWssM369CoUx}$atIP(m#JtTiVJxDPD_;ljfy6((p0^DYAJeu-hm`HTe8= zgZ1c2SR{H7E6#9JiCK-IdrV@#KIE<_Coj*$VeI+(UlB+T?GGGgMM^n^LJTS{vP9m~ z=|7%io>l4C5F{tMOg8dHhu8mn&I`s_tgK^OrlrngM)!U8BEaPxvTwQ@sCqauR)G*4CTO{>k|wFg2b|it4P?bn!uLX~W0> zr#kjVhgH*7biZEIzG7F1((Jcady(&{eydOL$UDUWBw4d1$Ke|zHB@a{P_w{$)9Vgd zwn_T;vaO6qxC?(ja(&S-YU{|lLSk|#z!OIs3!-H#<3oii5!stn?JE-JR1B2{8@g|+ z@x>oUiWvf`E5KLL%l}R3r_WFeGNAQWbeCP09mmBj?MK7rZ!FGA_<;`%i%q_m52f)ejCKXy z0gmGShd--t`&RCU@7Gm(iI4mTOia{$c+Oz~PwEHAy23T0JiQ z4VV5@E7#$$=nLr^N$LG>&21~|!!d_j^B1;Sf$U)Gqc#VD5#ZDPd%g%$!JQ$&#Ca#yn4}?I^#dL=iJ=!uW8KqlS+#?D%n@ zD1Rj$kI4?^s#?{B?`pKZ_oP$)eaG+P9CA5p;OayiBnCI$2(J1 zke1n{>$(korLf1SKhu1YbAaQO~!B9A3W2YxjL@84K=cnrk_IQM2&NVRMqh?|#6*?ct`X ziR;R%TWcqop$?fbSpa!|X$Vw*@+ar>noQF+m`*03*h1UM@E#RB|Sa6Gt1 zn5+gB2b7p+H5wNRhY(Y$`jQe+z1NHN4vxd;-BwD4{_81=oe!^f6$Y{}C^aRjX8s^t z3bs+mZ9lDo82iFL?9u4Vdl`iStU7lTX|OWw_xD%-(-ZiA+XDk}v!8vj;1D9<-0?zb z)08$df&}bE_X+(Yz|rNi67WR-W#b)7&;tbep$K|AY3us42R^>uS3l#ZmYIR2MP3Pyjw4OF`3aTpdvE}JXa6%FJ?R*Gd0%1yQxM2>>CZ;5T zM`E9{QRyZ8R)3!hbs=hDFt_Y{M>!5iVz+4u)uF6L) z>>{FMRd5urKmtL*1AQrB^)@33FnwO-lkZh5pL^kx!m;JWJgo0S?t(4Tdq?vKlp73J#K6l-EUrIl&x*er+Zxhpsy8T zuj;?HmSdGMZUVKvKJaQ3e8r2Dw{AWBH|Ev`c3qo=} z9IaD4|KgKTw?G!Mwf<3)KdV%p%;`PCgK-jPf4i?>PZHdnk3^7P#tCKt8^b~_rZmx1 z-SoXy0~&uX&w_yZ{2mBV6bQ8+Og5AzXr*|x(3Bf2pZ_@uMw$SFWwE2b{OEk$D4Z^% z+_3djV1AEqO1L40a*G^J|E%c<4t(&>ol4U@q@D=4< z$sIV>W4xL;kE^s+cwvG0~V$0ld*p!6WPZl z07oHo{YvsSX4dTN)?kGM{XnksX1}KWB ztzY~81)vP}p&H1?Dg6L_>%HjWmz0F}w2iqEGS5V28gN7U-F1Z-;+`1Wr|H@<6~SG$ zQ0vlLA=dbCkMt8iJtj78V@*uKvE$5`dzqNul7aZkVRrF_C)IDsE9vN&jG=_P`}X3> z4dDhgj|ReJLHOZ&*y)gY&>1Cl=xPekKXvbh*wv?{qA~Q7^WcEHPGb6~cy&3rtT(DlC7FDmD0p z8VzSKT!k*!^KS&!!!KhO+}n_}D?-9%dTHqinsb7sM3=mp*89`nz= zFMk0|e8x_@>OnG1DQEhprR8_rPznId$)cmhwxeJOKA-r!a*Jr{{1vth;fCo1nyRAo zMa&&ab=C+C0^!(yt;l6y&kP3GHB9jTxjocyhrkxcTF4Mi5l0@HUxX{~SGP^3%6LTa zLnNoc%lAKPibR$JuiBOwvghhO4#k!qTlvlEwo=vLVN-c#ej69Fu=V~dfH+!nvp3tR zZHSru5!PT^C<<+Cd~ zCtyvT7vD}Mij`;r?}JtzQnY4NO>asyLl5q~G&>Jcab~Lu+V`u)BA_z4KA14ZUEY|P z1uc@x|gEp~Mzk1NRHEjgBTJ`RRHtuP-t$$)kt#9@+*ifJ7Nh;k1bgwP`bZ!4DC3Kv{( zoV>fk%cR+!kr8S0gsbkD2c85d;ZyUy1POyc4Db|QVc&yTFUDvhQ+j$HdOLD7km6<~ z{~zM6K@qh?G%OGXz`(l+z0RF&zn!bKdN9KeN1?UC+WbRjj}ptjI!NIT+EgWb20}PC zIMu*xLqj_n>Sf{2>44ZHwc>=}tSK>i_us$be4#|(-vop2+24b*a8rp{G&q|U6;g;% zkda=6NB~y2X^*OvxwVBm4j|!q`#)J;10WMSyTX85*wtfX1jrgrE{_4~H%3x1xL3;u z5n1g7porl0g?qqj!R1gmkrABK%G8}SCZz!`GOUgD24tv0$}VAPip3V4tfOL+Fmx8F zdPIekXA+E81(H}KAd0GnH^N9nF8x@-TT$-GGPla@!3=D$gvhfD*%`_gV`o5W*ci&^ zgC8DCQ58pMMVnzzGrO+JbS&PV4MjwF!Rh(vX+1Z;vUl&$pv?$j{}K#b9uxM{`+`m%YG%2xmmC{Fv0i4jPN__GRX(|0 zDI8P78Q;Z~8mTrQSHs3?^0Hr2!M{Z^cOw!MiBrUs{v$k!cp_|!j8Bc!QZs$v_#wLi znfaSk`7;V@oXQo~@pRen7NV1_I~1NQG6xs}sP8!M)Is4?&*5jB``)63$b^IhIaRkjr&>r`Q=8<59YR zeX4aTP_!~_Z0gJ3c$;m?Vlk0=*8ZwL@4>;uqY-uFdOn6`ZM+ZkpRyZUC8yE1Pi59s zCvtXwv9?3JaR*1 zY&q+xOwG!n&yZ;1Akf1JA57*&R=!0T;l&On(^-w6pzs#!xi)+kFR+1yN>%nxQ3`pR z97abgyph+74t7HLwbVMeEn&h z#5#t^ErE?F{pc$Qg}j>@TXN5kA0pDZIrL8v)-Q;27YQHA8mUz~x30*K74Fs1+U zg3o^X5m$YtI7zyRxA-xPQ}eDM;{^lp21Du0cCtsJ##=Eu6trln7S>Ao%HK1rSe{OI z4>AZEcO_Jd!(5-KeZ-rp`j^IBiF}to&wxdjOPzn^E0p#n+Y2cRT2Us<6z|j%MyaG4 zr~mQApc+=`Wat3k&uH@3ujgy6?ua!deU9g-PQU6`%{tY31uT3}F@c>FTXvITS57;| zAz+-l_<@qgs^kVGgJ)=K6``r+j`bJkx^Fu7uzxPap$%x8RI@tvsiZWD4(AMonCsD- zwuQnrX6y6G0YwZ4UB&%)az0*v=?tzjse&R49BI^{GD1UQ@zm z?|LLfi8?575w5Gq@(MGFI_S6-cBXdN;PhQ=X;}_m;{G0bw{OXRPM`cYRm9UiEcaYV zF-B{3ay>W||DIJ(wPD*tRI@i+v&Q_hy2R5#$6E2K&8)dd-Xtz~HP*iusof7( zOMWY8SDG4$54Sa)KPB}Rp~x1V^9>MO^60$4u7F+Qy)|&>yC)Sgb1Aq1j1IBCT7CDw z1hRHe=S0bmMp)R~4g6_F_)E`H(53G}-1)l8qHkiN zdbxDMyJ@>bYAL|^B{|5_pZmR_@!>ed&QIz=FNo>+gS&O}?R1(Z7o5u@JUYk7Jb+Tj zS@NnKTKSrXLYuwIMSR%C#yw0Dx3kTxnDc-p;G6|M2@`8c3(%@P(T zQJ}lL9fr^O{+xB?HV+=!P1Eh2;W6VEkrbKd{9+xrgxJcENwpU9ZMSyzb{w5Pzs^0$ z@V$!&I%;a1Yjv4AJ^fgCl{>R76?&`oU*f}0;^r?96L*7zo&3(~^9gf2Y}FWk!-Y@1 zba8&@x4gLjZA=n&RH0P#-zch{I_xNDWeJ9imbc4$tD(G2istro#!qZTY?tq`kg1FK z;CUmGW#+TC{d&Krbu-^%wd05LqVMfCmq}sZZCr(*)uQGSCn^5D|J78`(E8k*bz2iE zE;9@B0tW}bl5N`qW3`^X=uMAo?IcIO-m41fRBTGQ_jDEx9u(2WP*+RjF~^xbV7+L8<50EX)qr-*qPd~zdaN8n1HC2%FP(fL zC8P%ef&ZO6rR8|lYZXDJ5cxs%Gm(WM-EtkSflEDqP*uE^AxL$% z74PNW$b!0%#htl6TEDR)DevQ*iMR%05B^lth;Uf>(;u>$J`m{fjGlr3)E%~KT>1a) z3jE)`z!Ua~qgNUbU*zkj^OWy?<_V9*3MUXz8j5zejwV3Q9DGjqC+iLf=(6$Tdv&)U zRjf`qHN`dU^NfE|Y=FH`3G(?B;TeV0iLp9?I)UKg)jD)Hk3?fiyEv+JQn46ytQ4E* z@97P%D7+F0w6VvG*HN2S5#a=~s@*N1Un+b&`ay;0w3}GcHq6gK>9&0P>T%gbrUWP= zc3d8bEN3p^BUbNod@@_Bz=ujljmcm|7rxP)az1#F;>{!U0AY_1eCoOhT$?S4}; z^#`2)kcD=JnA!jrMf4s>z@Xh9=#zL-{o~VK)eU&lE&&DMvZYQhix6PrBjHNEmDd2x zxGQe;a7`C(z%-n{hxEwR$4dYFj8LFZw;2uT*{o94$}N6YF}?9mh%OlY_p=xz*&F3y z^ejicO{sC#>mU&|lot%X{k$TdlU}vjVvLGLgJPZBqmW%Z#j$fn7#=&{^X~#9z=-RGatTULfF|xY2>!-{+3Am=({(6=?(b+mq z1>Ea&57S-pY0|#PEcyMGU)ujm;0S2!nxZ3lUVFpL%7ZrYvA-WCL1s&K?MKIM`-wW| z`8MZ55CPCWIRe(-@@;qUn5ju^Ht7p1CsBE9qIa%FVwHT*izht?>9x-|PSQxRGY6qp z7cwEIn85DqNXuv&#szIJM$FIU%RIX0cBkXYLHnCFgdHk0XX{2O>jyzLa}DAzj%@eo zdEB+aY*|1gb&a`KcwEm>FK-~suo0joZuOF&!aQ^yg`(dCd3uywFZuR}?Wt}OC1V7F zjCcg;x%V!$8lOBo%)$y&`&T;gFBRwI_Ewj4y>QM`peVaAqQpx-b8fD49sK zFKjH7@GXf=Ao}6K8b5Qv`8;Rfd!>$&QqyZ+7YtJHY?y>CpUBTYghP5EMVTT|L^?I<(k zqGgGYn#bA}wgCOCfWofYR|EJ)`EZ+Bnf~vvu5^E#XYs^G06LT<@9E%ktntocS$5`? zMy=mjblK}X6Y5Ha&{5|yiaz2b;jYthU~nA0otfL^Hu2+;a)&_xgIMQ9eZ$hl-<+Z_ zC|o^Bo*b=k^0j8MgKW_)!&_-D-1lZwue#?9ltkmG@EZ`O-f6?F76}M-#8~{{_ zML}lf%>3YE7S~4^y1Eo9hMSL>H*CLmY|mKQ;M-@938NFr-AB0y6yf+Jq}z9yi04ZN zIHr27+vKWrVm?3cZ(CLtW=O42^#K}6`E|tNskIBc?8EtReVK={wkj&f*Ul)O6}H>- z^k5!OEZBY^rMT)@MO-;zGxy&2krWWpBO_jo8962z2bL|SDLM>JDP>QL%H`F=7BUeP z?LFfHvmVON+@WUSMMcFI$)&JU&!w9OpGNN5I6qRjzGyJSQ4B#7*ogMm$0LYt5B2}l zixdKuAx8TtlZDfUird=CrzvVLy_6IzI!=p#mD*qFmF9vw2>ra!tFLB%z6l_v%;G&% zuz~qGftZ{nF~sY?6@s<57RC@`#yqi2)9^PzKLxKZjFi16HO**gq}pE)d<(8@dI*7` zmksl~=c8yhd7xG4Yx()nn;_s6J=@q;?wEZ=I|8703l#%>yUwL*4{qo&ZO+udrL&u~ zE>GY71_B;Ehw*};IQxRvk7_{Nq9@xc3wSd zVh22BoTs~fI7^Yvl`X&()GrS3gNzmrEUyop>LvUQK zkSm7-plkL=jp2u<>)!`)uenL&o2$;!&8&Jn0tVi@&u*VQdL#l7Pdt?9@GS^M-PksS zoh)@-=Ekj)^jsZ(-e2AL{CUH>*z5&je@&zdD^YM(rq|T$JQg$K3HNjO^G&eULczl- zXTgG2XvNym#q+Qw1d}k*KAgz$psE?w`OnOno5{+5qB5dfNlsc^zTtX&+Skw^k&ccA zI6T3!dTThS(>taS@tALzH-496p=-BA0#C1E>-)lZDei^cTs;#wZRrWb7pmU};Hm|g zGcUEOEGi$r$<>?c;}RrR#`ZEb^jz=Ly)p0j8y?F+4zeW+yYrVhi6hUWdEog&4O*4N zt&qAStzVA=9r+EOVsm-#+Rs+y&H4X(fTuzbPB;Z9X~IgRqIho+iB6qk{l=-( z2SPTm!e&hxr?T25{$06eX{xV(I=Sy_;%KC@PnPghRO@lbi8`+rDF{*x+qYpv-0GL|-e%3XaQNp->s=Ws2d|P{qb_(|e+#nVeJ8_C&R@>ke@e zAX#`CQ{isr&b1KQ+ti)uzCjVFcf>rBx?i+v;5k#iN9iJz!9)j*j||hl8FpzcFOoVn z=TPNiNJmBzgJq+pqYJbiNhe311S-O+rEf$|Io=4NAM&_O-zav!td^F(Ej3O8$Lw>2jKewq~L+LL9!sMdWHIfeyUr`eBDq$_wHGWNq8BtL#L_hK)QgzRMAMk zC@FvkKtYHBYle}3w+I+#a@Xwey;}|b>$=cvV(xCGOG&DuZqMxW&|OzB#w1>p`cs<4 zrdx~r`boXQ*t_v?!KWW@wwk!SdS$NrIVg!r(m%zKg!GQ~syjkQcQ6hpHcI?T7ukAC zf-Eon_^&}uxR?k<&~1vs#+gM!OZc=~OTcBKx0WXZDYrK2hA*nb*`$;xgVEwaNosu9 z!L6-$u-U^Vi>|1nyY|zPc^|+h3I$?5TfZh#Qc~Pn%!pS%G36p&U=!I=G_e{_DrYNy zx-dl}#q766zdsI}`cjf6=UmAHdiW^dc6AfZe+|U|D9R9Ann{UG_3J%~BKkNm5zl=X zzQ}gqkF2mIMZJ)^MhU>l6mzPcz>lBw%hps(aXAW+e3!Fv7NJX3EjBIyoN|YjiohYh>WBbM0Vv;lvJ|2f=P90zd<*}1WGMr82fQKwhW)eo zO&e64b0oCk_l78+vMB^LLKIAB1S7A)JZY#u9q?hEm~WUbCIzF%M&-1S#hiX>doEpC z@o1skbsDmXfMV-PMc-3fG&X8P2rkLG>Faj$p(@O6^1Zl+({)O}$vN>LmjP9AI+GUj z*Y`gIp34WEZv;2PAM$|2Q$&P+wdLLShxvG1{+b(oTgXV&pzUPjm3o|B+iFWlq#@5& zo+_8FO#dY}yL(bK^Kyl^_i(PMYv$XxNycd1{?)w;L6qf&@0~l$;4iWj<7_sK^xkBH z3vV_1B587DsBCtWJ41&Pt7o#Jv(_3jA4CbU>Tu2)B;XcNADbfDSZW4=A^GL2D(N;y z%vHa3s3-nKPb*^fK<(CBoKcz<0{gpwK-c{Iqkf;Z6I(Ss zV^k|2v@&9wEH+U0d3AEKj)dIFDX~CB755^@+Qh-;`djFST$0fcJ07%+Jjdl+j`iZ} zp{|hKUIclwt2LptrBk8i-F@HfYK@7(tiig%Lf3g|#qQ0|XVF*RN1~d1W^1~T{@?K?g+Xr7cl%>tUq{8!giPEE|8kjj&VMVXQXlt3upW3;xS z2dqmvC*-w!wiet^d$+PbAKlL|y<;huWst-H`Gv&1L(A`0Ni-WI%oP7p4tnK;W<=+O z{ypnBR)9#0x4*RWL^B%Q-tG*3{aJZl?gATr?_Jrw(#I?NI$GTy*xt$1RMOFqcNKxN zvn@J&wl45SIUg$cBdy=?ci@}l(X!rxEO1KN6+rW7=n82@;Cw)Vc7@)rotzf4Z^EXy z==;^x3z>ylQZ3)K!CWThCURt`XDeQsPu@6Fm3lUDR=k~6+>joSpkGCr`8Zg>M*c-d0t-1FgOid~6oLXvo zlXd5B85_vy*z})HqmQ~_$G0!j5h$Sd4D$<6#Oj?de_V`0sS7qMF zN0Z8nOLQ#k$Un^u9?GB+k%!~`=Uc4&0uTX@ZUQT<1j<2^o{qIn3B#U0e=xctn0n*S zzZt3QZ^cAU>p%J{%UFo-htYL@2LQ`+`i92u`=ila7McU9PpBlmIcnA{N^WRR%@G?J z-ny;~Hln^Ns4~44>HdF`0sl?=S4PPK@x;agOePfe6b!N%Gj}cjmdV0$NgRZ932GE2 zOpwfy2N1J6#L@KKyOx$fK7dWOm2cZ!m>y#Ps){j!ci0okU#>zy8y463cz;@x2xP$u zr?zKfAhLp93q}$*J!n<&t=~T7`x;KgZ)bZl8uE#j8ZU`p|1cAPA8@50CBN6PPU{$NtQ8vsu0I*LaG&QX#;-OCLu z-z+d}P)m2F?%hnqpcx3PFZ_nBh-W7VB1Z+9Syvdl#UDKMWkHVHfhp#{CLprXYB9F( zxMVSX(kR+;tR)3XQAB)BrzCfJ?P}wA&T;PJjQ@J9X^w&s3y(c=#4n^5sCXu~1>38| zTi5o3VMvyze)%~6@ZDJFRGj8R(y@2X;IT+TH)UkG{JI=WyqM({Ov4u5beD^hFPMu| z`;u?8sYy<|beeCKLr=uq`4P_9E}l9?Cg&*qSe%DSy@14nR!*ij#Y0$@uBdf!2T-C@ zDTL7odv**P=!vHWl9)3Yruz*nG55S^B+JgEuH&gp>mw0B^M(}!Hzya(!p$l@UalYtuK)PvMF8?A>gsu0Axg&#d^2-2HiTQa*(3nWb6<%JM&=Tr} zVkvWomKSgMvbh1%8Xg8m3K^uw<`xTk8j1h8)w`yd2m(^e=|~UJY$D88*a9N#rN9&q zAw9?X>f7d)-nvis_$C5(FH9t zv!N6Tl4OZUGK`QdyFuTTk{0d!x z*UQ%!<)7MG*L#dToAFz-%a=;awYnl~HM3XiNujub@m0%^!~WmD8Jo(NELgUbMM>14 zc5GR@qx<`Bv$C=*Lk=*@e#?ZmXQ?FQn^bUDG-h&*IS-hcGA|FCV_lBErJLpM60p6; zgpHi#vlJ=#Oz;7na>%y_mNta!*~@8|@~rdy1dCTR$t2uoTl@CB?-^&U0yj8=4n!11 z=DGr9Koqn+*MXc0ey1ZfWd*#R7V>I;^`E~D=0Cl-uq|vlG%6t289OL-khW zcK4mQx?A5PMe@PKy`Yy_=>z6Bc{FgjK&wWv0i!?^;2d%a-agL%^t2``uqHCV%d7;Z4w~ zZ+iI^_Wp@|Mle3-y4lG!lD;*bl2_1!T?d%6cYCgrLOU@#@=8aal{r~h=D+xl5tR1| zbF41~lN67!ef`5=^^$?pfxX$D{c4M91~Qr$>q3NWj0Dfuer?Of`8Na+s|Kx69v(9q$)W zSyL|k(XSr0$c<4=Q9UUy9)DXu*fF? z_0Daf7YiiH*Q1%;r_iyg-Tg&0yL{burK2AcKoIw4WrEN|BB%WRj_>t3(7vc_6|}LY z+_}b0vK8EO_A;k=a>KWKbJi_jd+Z|F87A0te!g*p?s50~`)g~u!>1N1|9eM>8>cFu z&N*W^BhvAD{&uEo$42^nr9D>8&Exk*K?l3{?rFDH&9d^^7x!3WIYfe|g74xD~2%Rl%^CBmj8r#|4; zfe9C=FtY!pK{X69gEGG%*mbq82-g2sEVpQ5V z7)}GqIPo}L#!0_&jSy{&L2hs(RPOhnjiXe(*1u2oeIyU-WlKejS1-3-{dj70Ihqvu zx=MYVh(0fj`I4xc^VV<1hK9LUJWdI#aeAY8wDRtM6{rQ*X9d6r0vdViQKRR3+tV85 zFALbqTGL9-a>SgF3~D^>;#vs^K2Hsih+wd|R(13lUC4SQ{C;VIRCgIA#%nb$c|o`8 z0lh4oMZAw5A_vQBh*O{@=61}-t^K-hH&Mt?{HW;3R4hf@Ya`!A;Sk-%hrS7pGv-m^ zUqA3NaN~v``$fi8pWgEvNE$RskA(9^@TzFh<~2o?r`fINHt5QM)X+&7S!r6NSU!$B zzV~EW;latjcPZbi9B!02|MTZy01j|9BBE=~ht6ye1}Hp1YQ^wgFz=ryh&VB~MuP@q zZz=+0zAhvZhe%|@TM3qcqMNaCP>hfmRTMRg`p^gZ3X9L$##sOSCOI@>2tu#Jt%$~0 zeRBSndt1#B`u7I6XibwaZl29Qi`N+`cF$Miz9Cx+O6w&PX&tYCeQSfz4G`C1ureB7 z^xYAr=HD5-?5nYTTz|}q(kz>9p7EYzf6*#igG3?$$D=`^cgy^m)osmH;MgWF>30^@ znUYM`+u)HfCHc4l1VpIffu@O6z~iuaB)_Khyz+T94G0WRmAtVjM9(#bSD+w*Bsb&7p4c^+V>a2dQ%<)frRtKqCXhj7jr1)Z+m8P+sE0x|du8RjeTez}$k|G}9wi z=}|5>tpu&G9T7-Sbr#j84{zf}ECP$>?agECQ<;9frUrhUebp|xMZpMu0nDgrTs%q9 zpByKbXIMK6m|nEe_yYwrKFH6{TrZvPCPXbfA9s_RA!|mCLapSP1$O2x_b0>+C~q{# z!I+8L&X@^E@EeGOR&sw@NDR$y-+nNN#q#l3z?1DmzuQ<_KhS;coUOynp!?vqR*H1# zVK}#4VH5X#8`4Dxj+8lMg+wKrHaSx_m!7N+=bu<5<%-5Xp>Sn`#*Q>KgSZ@6#NJd( zq1w3i4y+`GzFl~@Hu9_W30nW!^^$l|uJ;SfZf)(hp%JT!&1H2?6xCv#tqI(_B0taT z=3g$hr_5|hDW8D=7fkRn;e_Tp}hlnC@y+;o8`%L+zW|A z_xE0Bd{U)f`-~!M6AA8rtFHuP{2EuRQek=dy97<9Y}Iek$@xOyo66=r9*9Z(zp%uY zH)jykM6&j|z0Qm=bqAG!`HPV=JnpVK=Oe^@NU^qio4Na2pmS##Gy(+ynRD?7_R8^q zU?U7-B?>sJl(l;z3f#q9BN-jgP_AM<#a9%uM1BulEIvx=Rwe|PtACN+IBwway~%1V z|F(NesBwz#=Lh)5iRq`C*+-FtW4gKE+Phlju8tdFl1XWAAlT>!0Dcs>Ktk-Z>RvY4 zeSKB9ya{_dY~E#Tv(q@gh|)`~{@vOpt>C#nGO3zTw8BA#6r-|bsOKr8zMY9FW?TS& zpZh!b=ipBeY?Q7)zVcCx&`JB^028t|f6Gkpr%UI8 zTci{;^_alEf`w$XWb|B?ggV}k`g8tkXydGEJNo5Eh4A&j3Ngt}S($4L=W;@7WMBDR z^tkY2*AK1Oulo5x|MoX)L!j`h43wR30H)okp?hKblw-Lw|98$Q}RARA)i}B zm87nwDr>E?p`8tv@4Po<4&O(O+WNRTzx2=yVDPx^?JHKtOb#-?*!!hU9v+mk>GHgL z?NKe83t5sv^QQdrxx%X1gfk!w^_>swNVTHBz@~a5B*u0GNCOY2PM1Rm?_kfalNf?^Sk4X+3Eth z@?rRfxBWX{ag)fFn>%Nm;8JiF8>+CK`_$$-dzPoc*hnb!DsH8gmoz(JX={MYQ z+vm+?2F>P7Vqy{@r*u~Fs8@oVj?-M(8&wH7OA8i*cb}VCnzba^j#;;0&x<-VtfR{Tce5K3Q1)kNIxgWVpI^>CBra*1@~)(YhPq zj>7f}=h=Jft0gXj^PT=d*LA`A)hr@=S(U~yg#+fTPg`m%q2@bYrdGB3a&(UNe|xz} zem{{aKUdB7I(V#K_~-kZL<7lK?f0FpnoPA~?lTS7N4tA@`T4c7n5o%|mkjjYj=;Z_ zvZq4e4d=g~Xvb>H_OF$ccqOY4F{-~G5Uq+9SLrCKG@dARHHzPum>$PK-RQOy19t6` z05QO4Y>4K8F}m&rA;0ZOhtkA?K;sPVs4?G}nOou< zF$@eW_6&fToOC7bEaVAR)A-ezE{Hse|3=A36KC3^6`nC*laD*2P8Rzjjjl%`fWycB zn<4yu`mG4(Y9bwq#vz83)G2&$v3EXB!|{L<=-0KYC@R+@^|z*nfGGRFpQyvBi98aU zEG8gjRQ+HCHoj=&;DT=@UW`~xqpwZuP6~PWE{NXffKTsRTAis5gJ1Z}4f}P15P?8-W_Xa?o+8mWX?-vzpt01-skYCLBF`GSjGl{_jPAY_Z>;a@dbUh}}ch8HvJjQsV4#tT3nM^5sj5&{f#Q%ZHS?`ft`J$R&o@EWI!n6VpUtZ!Mk zXP?e2OK$beuq8HkI6eN)LrTS{qK3|7{@}dZx*~N$_jJn^tw*NZq+bO_yqOa{>OSfA zw(Eq5&-wkPnOzROF4mihRobf@Ie6Mq)k8=u$ZfXY1f0JKO*%AE6-RoH=RP7*sfzKF z`wZM*QF79W8=vSpAXO-&|fW)r+&(BnB#n!qa(I@mPZvsLdpKOFllX{;ZSlbzf0JBtfUEH4ClJ%Ada{`TA zkPu*Ud7msQJsf7BqqiY3Tva5l&e!3<1-xB*q?f^WM(J{3XClYf6rNzS(6d=M3{XQc z5=P5PV$#F|Rf?m|D-%{9`BIg_-%!O=H`>alBTGF6ci|g?+r3)l z>^}Wx)@7wz_%?BTJoJRnGT6lZ6bqH}3z!uyo&XFx)>ueCNY=f^)U@5^dQJu>KJ(LiMiN zt1W$eVq9sjm)FCU`U&;|*+j?+e2wzQj6Lk6GM|!lNtGx#EDSbwA^Eb^*^k7&81%#ba@GRK!QSDyio0np$`G%&f|bM!u?uMs#v< z6QeFIsvq9Aw90)DFI}ug!4$zLk?}YK*Zc8z`Ca?Du`y&y!|%iP$)3|3Be#Xl)k1O( z*yEcIo~UI5cT1WmcKdr2?)bk3T__bwU@Gj~^{(ylz-^T2ps5s6n77Q94?}P~Yjorl z*`>cpP89bl%$9Z7XgN2p{&d@1OxOhRQ1kO#U6v_dAH4xOD^_Ba&wd-!hAjS=^KQAk zNW>kp11O1Oy3jqv-OD4Hi+`JM{4lK6!K3_{m!kz2-Y>x^5JFY;Q}|s$!7&Tg%{@Vz zt0CYKFMC)mJk|NDWB2=ulZEB%fmDTwILM8;LN&nlQ4z&K&uzMEZ z-Kv9tky%O`RA;&Dgs!#?GQN`*{EIW%3iLsH%UH{IEQGAVm%W!sjA#NLl}Q-JLu8f? zm98u~P4lnQYp*|MN(dL1oB@=frn$vH&Y-QFWx~c1EQvkK5^BAnMA*V>MRNW~Xnx9= zP(3e=LgoDm`4+QG$h#)1nSYfyP-j;Ato!O`&iiL*l!!8ZJY3-Jy?6Nge}V0(K*P8} z^^3rvjWYD3adwD;eL|fn36DE11+D-w^Ji)$k-%ZTbV?%hpx4g?}j=! zw~1U(K6QCrfA;x$zihViaQqRgHn?}Z?o58S-4g!v6`bub;L=dU14)GF1q5X)@jn_h zUMuFr+O*)O-QqJY@8v=DZjL26r7SqM6hxvGg$6w_i(K_PzHNPeyn=+*aQOL%_R`r* zi*@kvZrZ%M72HP?}XcDEDOi-tb{x9tA3`6Kzst+)oG<5DA{8H}utvoV+&7R=%Q8@|pgLoQ}7}F2rS<&>DFVLAhguUolzR$CK0vRs)-eoN^b}&Uq!)1wOAW&@@ zOe%aOb`-$g+-q*zXCB-S`XgIoTIrna)3In;`TUiuLHNj9hZTaR^vFBOL_w=lt$D+i z_azT-6Jc-DLpAt3@!wj(jrkQhI~p(RRg*ea42Xs z6$s!VeKahSP*4yT7ykyKQ(JyoG4IT*xtfdb`c4`Z0tPJm(Zb*AvhF#j-pj=o2~0^!4Vl9Q)AfocZP^|{_-})}Oy~SFHae5lG+tUM z!5*LyGo{XYiC+cA@ts(w=MQf`a7^X1fNvsArtr_Q`QE+L_sW6jf>yC=tXEMTrCXA~1Ran=u7Qa)Q%}J0=1nMKjbvm|hTQVgC z^y51x3sc%K_mgibQ$#U^fSc!C>k|M0Gh!QpC9zCw^qlaasD$F*v`Y% zn|=Db##sgr6bHenO|&0?4=9NW*Pjt^m>^B^kf)u%ji;&pdZhVjsh|xN5Gtdxh7LH7xU0frZi7Zuc)gNAV-zH!}ll(-vQXZl$RUg7GP#0vEf>iG# z(tN^B>F`UbPT|$jr^A?k>Z$&@x?E22#5V$rx$Kn<5P8i0sYGGT8$;~VW;US{DfSJK zeD~dZAB-^?nEE}8XWnbp5N?7nN*dH%aJbs?e7&j@#|P_{y%}-V23~vN((Z;`*|gi4^>(f|GAdFeTY) z8ki~T;(E7c$~ipl9uKyqS=sUd!e42-h=*U(j(!m z5YIP(ArCZuzm}9Xe6xPo-erx(5VO1^;f&)5JsbsGV((B&u9t^%1Hb!+lk)3bH-G%V z;$x3_nN{i83vw9sB(-8F$sf8MOPmb650rnmsAql?6VrfXFfcNb(PoX3-fnrlqOv+J7PGwS07hiNCEFr(jfVl~f0-SLap`Dzb-w7HDZ9Pul#-{pPrw0{+B39-KPih0iu7%a?~+DQ!Rowo~qIIepuo8_rnqM|;ug z2q^E)`k5a5Drag9g~5w?QR)w&m&_YDYV7vqn+I|mFte1*dbi-#+Rls4=I9CETW`5Tvj)X{%=g+|FZtq>H*p~=W&1{ zXip)DYN!fGBK89vHXsN{6bJ%{%N!%KNIDkn6UO@&aR`Lv>^yOn;u)zPwipPL?0oDfqJt9m>+(^`c1{G#eEx5E^gvAG129&S9nR?wt}pi>KTl7 zM}1%>0&5I}Sq|y_dA>qGin+#nCZ+dQds^zT-LYp&2?WM?9ywiJjDX(EvwS!xP0u1w zd}iX6wnoTD*?NVRk&>o6M5LL=d_ffHCPnf7)?oW@Bxas(qpk3 zCpLn4h`L>ISF<@wiVVb-(j-mYU%#NH@zdqG?sFzG3dmFcQbME;8@Yz`*sY;f6M*r= z1TCZrkDw|{`(a^e*MH<>oE9z>>^^V8E|*+SI_4qFZ=dX#MWV)(t`|-9BN{cO+S5|r z@Pk043 zd%0ynGU8V3Ewadtt-%!SkVldM zF_Bqt?~i8AyB-d`hy@wuT&Y(UFn;>Uzr*I>RJik;3l=Xv;%0JXx9uD~eegbvvC?HFC?VM}Crz>)r&(_h0O z^Z3r5vmXU7{PwdbS!4r82hCUyp7^!X>(L-S8C_rEl=k1!SqwMi=1Pp|H>mA>%DnZh zU?~7iSh@^YrbG7}ra#uuonuTDmfd}AD>PP(1&yG4RylZr9=sBI7MQ^$vJDD zcX~6@fM888EUfdvtWXQ6uBYj{Vu6ahkaHHZ7tL$=0KmWLjh6iCNC;5CMmVayY_fH~ zYJ(XfX|{v^s+39yrcp-Zl~sj0oiHxm?s5vkaMiV3UtFmPZg!%BuigO`<`a3lSUUEC zxi4f4O6QX;%RzW7cHl|=-?=YRPd5eAEn41RoY{o@+d^Ec>z*z!UsZoUC4`>hP)yzA zGRqe~10?uhq-B-0vY~{T>!W&BYeI8N7v|Wq+Z24cxEnGnOVQa2C3fPE|D9D_INW`_ zdmYb4P`m`Vb$zDtgf*IbG8w$;q$pkgXRTY^wKkUDioRN!Et&CF7(FqOd-9=IN=jWeRHMQa zlP7NkSnsYkBy3=hK_8oJkt85E6@OdWS2^}!fT+nx$oD_~k(Z-jW9_@>ZFBVpcYn63 zXXWA@r=OouKAhAo>x1P#EAMT1$kFW5!JtU6eBuu-7NjI5^a^)_Ppj@G8Y<%f<&o+u~Ue*JL0W^=(JdORo7Nr+Z& z@K_JM@KxGx3cVg*%e2XM#;!@VvQvMi9d~>)o+$cGIOjCG` z>CL%CQ}8nual?owOc@~et8iIanbg}|*%ipZ^+!~BxMBU(tuq_vW;K!*v zVV?K-R8%ci2NiLpK$nkaZGE8WzF*)Wl<%98~RX zye=M$OjrGmln?t(_in+x=8x>LLXud9<4p!c^K0yl&gS!HGX+nX`z8R5`47n%Y<3X3C3f#~y zX~2%iO<7U&wMn<%GRu{33rtBd=^20Q1sccmGZZ?ht$h2Y=bTmh%&xvv;JgGn1Az1* zxCOnqqta4&ef{$VQ*$e)F8@@etI5HP?0%AJV`l&iW)tcpSOeJB184>A(|0LrCOq1S zI*IX;Vp>#dmN>FeP=>9u^GzEptA9R@pbC!G`&{$0xptUmRm#Sw^`ylGTjguT4@N}GY@A@yNtjG;b$a9oO)VW=up$CMQyrkCO=2@eqRtt5-03E~yu5%AGoGz5(w3HwJM&lv z%o;5A-Mg%=QB3@2x)gj5@e_GsZHQ8V+!aa+2C;bi2Zs4s+sAs@PDAT_eN+1xxVGI` z4Tl7No<0c3eJH+&3sc199u1)MiZPhfcj;{qkk8>Sk6qHxy?k=n;snd)ho3FB*V0YL zu+cN^Uuu@hGg+_3;ESVUU*FBf-fHA>z0gh^!q$b*wU5TN* zN#F;d4;nwbFxSa5^g`h~r=3saUu--eHBG+#HPZw&J}xX$Ejkn|QuWM5PBJgu@%>r` zRK;>#sMKZaOt6g>BfIyhP|dGm=`|CnHJgW)Mz)}?1-zPFrO8_GAlDg}{I(aQP?;4k$1cPrBC4O)A5tyfJF?G12<6T9xv}@QP!o(L|V41;Ogw$CzcH^X#IB} zfmi5Rg8`P#pb`6cuxw?qz|5SG&?6`3K9$@~EaqFCm*ecQ zi3*6V^{egq7IAvCVuSC;4&u(NwzjhT#d-9tJ-|%sefz;iV7}GAM^p|7L<5>5sC0>< zrJ!ALqbZ0#4@W>UXLdjC}7Z5wg%Qxz9tz`OH{nBTHEP*H;A+Z<3vS7mwB>lXku} zT6PqEz43b4XXnqt+w0Szme)?GfYCEVg9PDNsldUX&4|K3O-J$iBHYEG)<(HR;++*h zh3so}3PA+b&;Iubd9CQ}d3|L+hId6(lo$EEBK2SUyL-9!Q)UrtSQUI4E5rH5cX;+O zT~fePxK>nIXwZB$Z!z3wXJJM15sEHG>p~02+l}LwFR$pN-z>>>oo(Y@xR0I=IGaf2 zhq{Hf%!kg)FL?(Y>pWVq2i*C*6{bm3d^Q{735iue+HiTvV#AmG?F1Pw#@@K(9PrjY ze+mzHF_!!9C;+%2Ot5d*NXv9+cPG{^)9Svu+}-|FZ~uv*IwwE=-%nInbknMSP4`Pr zj9)6OqaeuVoxIL~`XsX2>ArH`o!eoiL{ zK|#Wh_E4?D_12Zi$?wZpGF@Y?1VhQ{jYs1X1%dm}SsoSX`-b`ufX+bGpBC z(Su)<#J&DGmsQV;Hu<8bFVmNry>o_&EHbD)M@L^}9SYhix>F4sJ*n;SnRxO9-|)fr z-49x_z?~4k>GqA!(=EE;5ZDa}pDhSAS%Lrmh47zWGRGwuamNlGCqcRRzIw9tE$cOo7Ff#BUfNcLrN?4HqU?d!Y z+~+!&C;Vn3JkPiV3NeIU`#FzvCV_E+=e?20wMj$XEHlCAbe65~|YyN%F8p2`WGi}M#y*F#p4v-UI5)?lqHaBS5 zHxbEQqJU~+ilV_EEJ$DT{kvOJwq54YF^kSKeAW?RPNk1nCgn4e^bahL#!_GZuG{*R$oTXF zzWYtt^x}q>;ndqjBKhyzzr?b&dft(49khQu zS@1y5A895@YdtdeV#fB(RY)~F9&QAOcYD`4=x~5~tZzY`2 z;%3pZy+u=I$dQ{Pf7U1Oc2kY+6%jz~@>f#}yDgY0lk*d(f1x)QZoMx+>4)D|Z&|vU zd^^gRX&thEJ2O9!P(7O$Jkw6M7;=<|kOqQI`innwN@_YTipE6R*DaUZ0g4&N1sWUV!!#9e=PHrE7*Qrk@?@Rfd%CYycvQdNn!tSPcaMK|FHGm!EnEC{O;=Y!)mcg zbWxJ%!Ya{g^xi^54Wjqn>*_67L=e$~Y(#I-SwyVpqOB6WtnT;z&YW}RoSE~V8N&>- zyYJ_@@7L?PeD{~V_HNv&3}aARRuAV)bYww

      1. -u+6%Yro;)^3nrPz+H*GE51sT-> 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�Skf6a9F8@CL2 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�x(TG1CiVXB9z_z&sgoiXOxb6IuyPa3x-8?NTjM(kJzB~h- zdV|4_V)BzmhB=G!3bAzn9w4?F5w!ca*w~W@BY3F)SYN@kvK*d$>)^K1R>JioKMB}Zq2X%rv5Z| zZnvGPtH@5l7QP9jRzZbWJ^)r~Gvz7j;V~4$Y(;R;7X3nQ+hQUF zQ(t&er2u&_`BO`H{1DtM>po?$GY_Kiq|b-S z&>UAK90`j7MZ!o^%C|<0KPUq*H>w0YS<$!bD#NV6l1n8zKAn9+l!psA9Z`OSjlfUL z(jZ?7KeOA=P;y9b_X&Mw+YSXVzv3TB({25O|AmaofP_S$T3kpPdwLV3z1nFqxX{{3 z=Q9(?oZ$iC9q7ZiV&nvS@9=a?ELl(7)}jO6lYp{H6w6X^2`IYe{=X~hVT zlKS(dqM~hheQu^RCFzAAMbFjRxvsSXURA%Fijw&nBGWL_ziCJt>IfkOV#uiSM<4(y z|HC^^sbcflQxlWULF@FXM=C0(=2>qv*b`u+ojAS;B7;0+ys-%vNYac#BuhAJimE4t zn*a*H?^U$QKfp*8;=g{G^Kh|%n{W}R8K}gI|LO^ji#ODCwsm}0OA9*cQ26RBnqer7 zYrL2E73imD;VBR{RC7dOji|V>411n7>tj{MkbV>&?;+pBp^gT*A3O4pm4?SR0 zR3A7MW9})a+atdDWai8Jzve~N0`e`CxbI>C1w>@m0Qdf7F zz|5xZtj_u`o&k8+?C-)^Ug&P{N@JkcT!W%U&}r)fK>brxP(Tnm5YiT#}hi@&X>u`LS z^V+5RFljI7|FHGm(QN;3+<&MMs)U-giA^bLt5K9FC1#>l5w)vot4&dRMC}%#Mru=A zDQdSy6h%>j*z;rm-rs+I=iKMM|941ooV;Jx^?E)Y&kNQxjh8~7gZ<*DK{1gv`r7*d zl6y9jwZZD4@b&ElBOU+_Xw`AGpIZLD^2Aq2Wq2l__Lh>~A_>f4+ItwFuk+13L+P{p zi>8nx746=kA;+EO3mG+0NIG@-;LT>$b>Hl)&2Ih>hyOn{%rE2164~~{-?0F(Zi3E*X1e>Vg&J+NxNslC`~7Kt;-UZnxHz$?#`{7+qWjN@|V*MJ82wrbl6 zKvqq|RbFdzl4{Sqx#YJBh*#{pRnEjiP5`pta?`oRYr3QJ3NWQnv;0($d%HY2?>k@r zmN49W=+gP$`_BDgFLB`|sZ+)hg4 z2?=aKP(K$)*Vt_V26OB)fV~b^2NCZbH^9NEaAI30(HJf#@45N1*Qq6GI?SY=Yz&%K zb7{q?4|%A=LJc7SyF{;?orNcBr8CmuFJre{Q^HQ61}-C13yQlzh}hY8%aqR)M? zFWfpdC(o;Wkx_9PA=r?=n>jj>Du>T*W~9d0Ppx=t5U9u(avTW)8#P4&B81%2(Z>~2 zcf#ewrA{znw_iNdaInf%_FWnf;0)aRbkVwve#j5z-DB273Z*!1yi%f4w=};lQn?oA zNdC=ZQ3ef666^#t0dN2Eaw;}`Ev&!JTf8!BZ5kaL)3Xd-%?LR?EpT`;?{jf;wh~eY zc$iMFR-aVzp#~gIZmV21D!0lezly1yaqZlF%Xz$TySq8-r0Qx@eE1okCl{C{l++NB zU0$ACtvGe|%TDF%F)k;dol!DTAcM*t*~NL?dQ&ec(evPD9q>Hp`C>wIsM*^#H!B{U zV#GzFc7soIs@h&yGxwvHEEa>Q)V5l;#+5U7QJI0i2_czJmN zyCeY_55(8=F3inkLA%#n$(epBJIS^{evproXBI7srqdnRMw==ZH#G2QK{r+7Ut87F zlr=kUu-YU&riH}Hj18#FA_tAmlsEpO^-qG4j$SOilGeG1ag9%*M56(p;?FBH%La#w zlegA4=hMyZ;h3 z?xX4K@4*X7iZ*i8t9*#3|Jmi%pW!kie171GKR(a*W4b;Po8#VccG-OBkDh*RjCuxD zvQDq0O&zEF(0^c)ZW&2+I$y~7A7U4x~P{AEnpiGl(*Qq!o6|wPqdMQ*)6hAs5WesB_`6* z49x&?#sUrAr@@k0FR`RVpnv`Yp-3lnp>$(O12sVmPx>gU#*f3NgnJKqwYP*7nW+YA zQ^P@FpTFpHhXRpx9X1v_Vr-Ehb&o+=*FD~1(TZ9vG)yQ5i-u=I2+?m0(GCbLL;Hl0 zIx5->IP|k{MfvbWM6e;f#y@LI?P+0S>$^8>7LF@|C>xjUmr5ij2sFSUj#&X^r*PP+ zKX7TiNvcHL=UJRC-N*fcIU1KOJ>-nffwxR-OyasFsG=Z4y1K}+0l!?P-mR^t6;os& zmpjBn(@?qM_sB9ABes>d#FhV<$`W}4;k^Dm`e_<&T23DMTf(Z{hkSD6HW;%hq>{*A=9 z6Hdt&0zru@U+1<@0_ImS7%uR#+%M#5fU?lkD><&htgI}FcyLN`bPugmk{0iwa0EIm zRvSFE{pNjPJq|2XUQVyxh!n%rHvMU)0>9VPOfRo1;r%xCed1EAp;6v9_7owmpR8cdq=5#NWRaWMUVor!| zh_w*y)*= zIA!CQAoi*nE>~-MIpKnDMprcrO-x2)u;sO)x;}{{4{n94(ntP?DG?<7`%3O8pFj+J zH$mkUAI|4(>IhAUI8D`m$6FTZr&GlPYiToaLDGPUL1BRJTfHt>q1Pc~;nf>L?! zvkC-O!_%Wr86Td^hsA!;)8aka`knSuosy&)=l7k93gzfXP)w{9B;3VLIY%4PN7>f> z5*%{&{wZET2N{ySHHJWwDnMX^szV0-+or%DGcmD`^5lo5N>C;|oPlC@*T_~3bHDe^ zWlTMEDK||Q#5l0k&*n*$>SM*QFS#89jBFwQ{K>#G_JyDvoj>dKx+hse7d?ghf)*HG8a9zMN{@9Vdf}*867LXU zH-m1T%)aD9IGB*<@C;VSmClo>&Yv5v1&cw|+0F#o+}cVJ-o0%n2sZvG;BrgCr+n@% z{CTmiU}A%tU*wEdYw-Kpwi=n9IMj;)Kq%sMSH zMJiE51cV&1kz^68stno%Hmp~Fmh?T&HyjHTLQW=I7f;saGq|> z%azOoWk%f|g{*D;IeL?AYJG7|V}>Rt`R(3V!h}kvo<`%^qCC;30%ea=RvntAot-$mQ?*D_`h_o#FI{tf+5h;%$53iP=W&EKoEF zk&wOi#4k+dj@T1K#xwU8C+qRlt8eB6+*0Of-lJ9pDMf({D@*od>b^dIN>io_|Lne$ zj`MO|>gP4e1xMEYtC6-3gb#{JldMA~8jL0;m>7W;j7irXnld2k;(-{5k}m-$=) zR>zdD;@aO_zs@gz?u@$Ma`;dd@x>JVq=;c!f34AVUisTeDH(M_*7{i@&MY9N2nzHx=3)D&rnK=9GlMjf7J;kBKwGfMJ)=f(W4 z`&`Y#pT;Jd6*H4zT1Rj%^cSVmqq~{A&Ci9e7H_u324BBfM?a3RZT6gKgvOegjgB5I z&+W8NHU2cZ%ouy*wY_h_4iq^+3u6{98}SOfa_>$DqeeQA+txL!MY+Ba}am;Qi%yQKr^bdj#*Y40}eOu1j z|6B!TT0_aWe{k#D2N;7p=MM61mxFn8Rr5_wJ>51+C^f^)3}eq8RBud3;WS=^bZv4Ixc2 zSz5S`kPDZ_NcxMD;e0TW1Z590RK3_LZ$GwHG`4!pu-CH^2rofWa4q@YCxagY-E7XZ z(GM7zi68_|CP|PWLja!ntLWkED{!bSvjf74H@KJ{XHEvv!q9^#xzp(p`8Az_sYD>5 zC@x#<+cVbQw^&`C}OgmcJ#j+h^H6;B7YNOd&6YSZ(^ z5@Q>1=wprmp^Q|RjwUpeBBfhmT=-~IemCW}0xt=X#4T1kBISsxsCS^3d3wt~^OCAVMrec4$24voROOe$QV9)x`w{lky1h0f#GN7|e#6c%#kXB>!8@`<3rf zrhSNaxS2t74a#oq)K?1%9+h6OD9wC%0%Qisxn4cBbI*~$%|hWS!|KU)o4dbg(qhrM z@u0T4t8WH)giURm`e$LB>gJsrEF8!34o9O>$o@*_z2wtPv#_8`F)kF9BCEQ^5UFNp zYD=#`0Q~g!`S>m?u;^i>Xf3L4enXFF#pdVf0_|)1Xal3cNVaF=_XJRt6mNb4M~Jfe zaR);!LqXcZHW2q4`tLfaB~CKgz~)~rmNChl%nIApdpf4yKG(w}1; zGB-M}So~eO)C-^4nioB(4uNr#e6#M@E$X~z4LO>s3I-aP&#r;t?IS%*=apd$!fpWs z!cfNiY+mlmscOGEVU_X7za>h<4v0x3s(8dGl!+{iaH(7_ZcX#QfljEdjLeR;e2bX2 zRN`c!&n55w-kepY{>?B;47mw>_Vl>Ky=|j~Gp#8G!9}FHZMl3;`JHr@F)%-?=ybCf zoelVH|2>|jNKM3e@BOzTP6V%DAo_XQagle3A9G!(XGv}&Csqf!T#X;>wRaxBvykx! z=~v{`d7&DrDxwx?Omkb@lryqewsUpqg7d4(DMm3*7AA7ik*~<}LiwwMst&Qs@0?VR zpcO)3-GuItqjG~$*z*^;`X3WZ*jgACHM(o)#(XrE_eDS62q=)my0y^8`aQNvl zxssh>)>zQF*Fv4DyUemxm6xq&in0j+Sc2K{Bm_vwiZ3JsGtW3nLu1>)Hznc(#} zNT~Oy6c;5P1hGhHETf_MzydQ>|u6#e^LQwsRJ4X=zplV zVcZA%TwDO;VRk&5kgl^=`(Jn5=Bte^GCkTv@VgBz87%1!(OUyDd)erHMe+zL*42)qDeZrcuet6 zZ(;n^g`2F2$%fK{*v|hBX+TAwj{Uz3G|I1<)OkQB4BV6q5Oo4>Xkv~ynW z%@V%IYFUP?Jl?$_bl%K1OTV10=@<+%C7)G1vjv6!_fR)u|gp{Q~>INd2$ zTuV_qbgqe}!OxxFP?l#3TY8!PlbM}JXNE=%>bs;{vO)JVaSYs^N~e<$OuE4 zqLB)PQgR8!)Efg_hl}1ewa+LIju8$plK*lAh*fos6|;ruxG?#7^D_4mR^-Z*qcyW` z3uTNic$t{M2Ygy<9Cv|8M`Nx^=a%vVE^dScQ7F#yqn)GPTcS5O&-R~cVNin@L8_Fz zGML?K8yfAW#31dM778&ASwV5I}5ZC3t#AC{gk5=AC}2qyzzecqbE< zm9~eYem)v>p^zx}Jy5&dt~^*>$mHW=P(2PoaGpVID^|EVRaTUb8}sYj18zUj>H(qU z!oo&~F+;XM8mg_73Lf#e+QwsA-~#t2(!yoJb*rrb$7+{OIar(hRLdbtgyD^Xn~NxI zit6t3c9m~|JI4W@Y}329>SS^9yW-=jn7CzT<|yDJLNtr&g*6Ml*HO?}Hl6o)9L^&W zN@Zn4^Xln5CGh-WLLZPIf_o$HSZil-JK)U2Z@XS2{6T8zje^ z?yxZf4B?pcbraTi0jK7f=j_Fqy(3jbtc6gPL- zd@G(dpsG#$d8o^H_gQtH!fqr4CW6lu64^xvO>G~i;}+@;-IekqZ4FFKQXID0lOwg^ zlTaH76k{4Ls9UEr7GD=1iX`sA%=r!A* z0?p)Pi0)&taGOz>BQ)fGl5;1m!Fkq8b5Qm3njn}RX`P6LD{B@+Fp=;cSDpr>+ZNW>%hNyC zwcpUF1ls%AuGU&+j_M!hhn)2CiUT_Q3=xr)LcvryLzw&Tdhcq<;3LIn=5~31Z54bt zFt{^6V+K@k!2NMUD{~nKqr)%T7RuergM&5_(isKu<7y$*PAgk|Be#K^pIpG!)~~yc zNo?}Yy8VAow`LYxo2(xN{h|Lt3*FYb&AwXXT0L8^S%1IvjV@d4{_IOnPef#`@|0rG zf2(zlnR*-iX#v7oFJn#Q%eqedpKmi~4}8HTKP?Dg&@8j0BZ zEq~t_JjJU0MUzp^`9N=ib#OAzqo|m3=d}CG5+nW7rp9uvooY}zBFOR z_SM$>tD!BqON8XmttIirxyw!FoOH`_5$hp;|@o_-1dMmu%q8f6o~~JL`bn=E4aRTyblY8$mkl_K?8BWh43hd8yNks-XMD_H$@m z6yEU-2`eKq$JhP&P&uda%_RHjyhLY1;D{Kxqp!PtZ|O5JmGe9^-2HzQ??qByx$|#~ z*5|)n{a$u>RXnrMVK?2^eCKH|#?1XsHAbq{-$dUC8Z@T?e49L=G&!CHEx8)tmchxe#ZYCLL}Hu$W2V-@%<}ryq)CCS!V{b zYMnJ&Se@pqonA#bEiy%Ydlfu{9;*727TAhDYpdmFhb!z~J)$C?digNL>il)EEz&i6 zF=!QtYO$i>b>%HZ9V?DtrZYF+tl*ZVXz<1pbYd~;2o{Is*|;K6eI9ohz5QD6iX_y;jIfUA~NtvLODTy7-z&F6;lxNb$;`V-?f|ZC;Na_HMF*g&@BacY)$kVn7KDL0BLhiP$K(i`BJII5h+MtcLsG1_<4U zSOXX)o%mzza0V`+cqw<}ARVYhCQ~zihW)@!CtL=mh17~NsY5-(wQ&kAayl>YFqfg? z6hC~t?JiMF_DFQPv!srQ(LJMDM>0X(qJ|f1-)y)@dJQ#5`euqRR#^}9 zQJ}1R=wLW$q`7DHzMq()c=U8v^qFJje7Ph3?XF-=95EEXfKW`2Jsd&Sf!X8Ie z$J*%F+kMVQ$7RnJgAPBHxjW*4CWj_>{|0JU30)&uP3NA0WHl=gw zEMz_YSA!KL$3r4Ony=vRjzabM^YT&hkkNobIlj^QslWS6s|Ev-CQ*{;l<>mHU!U6u zqriBx`zY|gX2)Is5q4Pj@bJ;L@BH;o!cOPK&SNv{K!jmAQ+~*XrANrn)oI(B@~-~{ z5Fx%QdcrwY7l!~i<^u$$!?a+xu|KDO$+OQ_H%5j-E;x_AA zX`^d?$bU;0J6{h=P>(JBS23_}Y0uamh1fEf6AO~5FV8e*jpQ)O+~#bJaP(L^5p;ok@LDZHB5D8`)J{$u_--6 z-pfZmKAYo}95Sn5w{7DNjoX3}6WOd>$ics;n==)at=x<0kiCT=@x{Z4U6sCkW;O6e zdqt8Gh}(gF{X_d>632uJ<*y66p9X92zy(f=_z@S>!?yVdwN-t%<14y}mm^L&- zt3?lHjc#lFWv_KG^S41s^xfi3DW7YBYU>^hk1DF}El@!5>^hiq>LNjdu!iW+nVfRw zy8&v2jm4U_P>c+Y^3?*8ELEKwp1qnj@DJ#acFMkIS6nFDw&Z>D4`3~}YWm5`^pJV= z)tXj~X(dAAQ&V1jjBugUIC~qtEGQ4vw?KY6oC5bBSK0r17H`Z{_V3d8RfX*RUQy6S zp#sgGd-gt2IUjfyygU(dP;hgxVN|-?Mqs3&4qcI}O-%X6x^P+IQ?ZYeRlXec?YQdA zOw3dE{iZn7rSMWN$*6s2Mym9BdF*C6Z`ZE^-R3Y+^4Pa+?G|8Rcf7g2?K^+mGIVNr z+&mVX{~KaPJotnoSXKBTtPUW>Jp1!}Rj&U_0>Hn+%#e-Jk^r%j1!GKume95`+BE2< z27j{}7;+3!lc<*NQ+0DV8?t28^*!?d@{iFlQVUfoEKuJ{d`0j0X7JMu? zH1rn9w(?z~a2jI&&EWw|M#i;GecO0aYV_&f+%#e!RTkDBvfFuiypf;&kJi)e@6Fa* z&etCk9LNUW!wJceBwg>#xm1aXL6~}Dy5E65AW>~FEnNy886Sna2Z~q^BbA!|U4Cw@ z3bo-$jfwf!GS43&Hbke!@hIq@QNekRc<}!FJbipq@I{kH=L&iZNLWBg0^cMOam955 z-h@k>#|;XtpC7P^IC&V6T#r`!NCXZ|5OPt^peE)vVe5yvxUfm_N>uwUOfuO+i3B$r z?uN#!*t@%*bX@G@JsoUl2)1I#SEelQ{N!F?LD+Pr#tjSNXQV(9b#;w9tW%8++|JXi zlo)L=!O|h&@KL9P&z>pz=H3qK@u~H zw0oLek~UEM^bG6fTXapt?trqB4XS|(Xb)nk9_L`CA1;(=v21fF`ZKv0dcmCK6H^-_aCQm7vT zXnY0&z3LC7*j)}k3RUd;RW>-wW(-7)Ioc2!#ifQMKohf?MdPw&5M{=low)6jZi&jKD5`h7 zsLz9OVHQ}^x|vs_4v1`rX2`$XDTS@$02sN(hZ4Y}PL~@00D*Qypq@s>jG*d%y-bDx zscZ)Z5(T{pU<7DvG+k8IF)7gV78{_6ek)}B77u@asT6qP>S{vopU??gmP;%O=zWy+ zG`hzYfz~v9UYTm4tKpw-;exI6rX7(tL$7XbI-6vfw(7+wfd6S$po}?Nn3`W`2=dXH z_8pN&U{)Q-sz(z9?g~YYBgrLomYbWi1SwsjS%~>Pm9pXqiT671*#J9>Tz$ZJwjwuF z+a^r(fO18v$QJ8~v$%C^(vR%vdYG*X=FV6?r|XVaJv=m(=~jNl z#H6Rge@IXfa-MJt#lKKLz_HjdhZeu|QGmf}MYYo#@9Asx1){)(kWj4G#>?e+QW83z zCN01pc#K5;UC2o}}yYg;B;&*pwy8xXK4H%RvWa*&wE zl&|f?LV|U-0M&X@%8iFP4s~IqGKBJ)(v(K}S1?lyV>WFS${Ds0ZjeL-F%7@Cq{gop z#jtTe8S$gCX?wwV)it}s-%uJk(o)Mp`iTzE0x)`y6Et*k6ZrkJ!!%snvK`W-PeU^r zM4bZMW#X3s#GTP${OKDyn&^l&(L0K8Nhj!58*!K%89_-I7y^5EAB&@VcCd332az36v6Sq9n2zB2o_as+5Q*6U{vy>6$ypl`4Z ze(dW|cC&SN44A79=TTmBi3uET4lst#6Q%k=yMakG7mYuJ3VxSuWbOQMbw5mVOjO?g zo(9On%tUFPH_FBqPW^gyc#>yGA9UKfxVO5OIzLyrDm@hXiqOce-v55cW!v4+Huxm_ zDiBEhjXD;*UCUX#)Msm4`S_460ZbcK)v>9Hq#xr9_P6c9nYwItkHZnBM)Ov6Gn+J8 zj?b)_vD6vHwv}lppdqlRSp6@Ges`wfy+NLwXJh$+t`ET4G@<|_=8zqfn-Q<^KA!P*uHz0d>AR6l>zNgw?NsLzca zIRSh~V+9IniCR71?!EF~IX3&RR^v&|8k72wnPnhCiE{vT&@3M8p%iZFHJZNjU(Jf+ zXzr2BV#rj!i$}+ci$pz@fXj`v(oqe)3{=rb&RXz+z#=+hXiViWoi(#2F{z+^FRSz7 z&vw&d!_6R};{@B!dG*T(;7PClJ!@M%XZ`Z^#ZAZl>_67U|H@&PydEuHD{K1sdZwe8 z(T#r2kj?Chs+q>O+&ZbFN6}ctrsuVex_@GT7E{ix1+V6x)h*KJ-YE5?*g|7##WwQdP9+Zc(Ja?D5va!cx(S~Ki$zS zDM5v+V!w#ekhx$@U2J=X8>Y8gmj~xr8})kc2;E{kddKf*4}@Y2or9@iO7*PKt_Ll)vz->x#=e@^!{rW7~o@yw9Jvf#`7^dlcqcyRiWHweNJE2wT-vC z`QVAN6b3x+zaSTG(UNzK}4jMe(;Y1^0) zX_9|GPo?$K#KuvHmX%mi|A>2=6QR$i)oxtcLJ8mJ6q+7sTf_jIL_;>ei>L&w?Ymuw z7wPkEHOK(AWoJCWflHTJG|Iul&HFn zN);TV5hI#0E}RapCKocn8k8}}#KeO~Sx{y}Wa2LviW#As8+KPm*1{&w7+iRx;VtD) zx2^UU{C2g$sK&lkf9kFnX0lIS3-?xXZxe6lCKY{We)j|XJ!W`8L4@Q`Q&ip=3p@y6 zE4eh?UGf$=FVk_uKV7AP2ORxFJ6-T9VflTsg9%*<91bS2SGCScT`w#$h zAMfn_et&c-M)d3Nj#M1N?oMInI^6S79IyJD(RASX7={aTwD6VtYjTzXFQ0b@bTJVo ze55?aCF3yvlRjgO(8!ovre;&P%f^fjUmTDK+fe0hDHjgsdV^zK0Ske7w36XS;9>sw zFEWT^7@i6b05W>)FU8Wd;z510g0T@2sA7q@crU01uluCwlihC-w|0xu7g`6ip*qXO zhK!_v6}Q~5;_rbo6CZb|Y-2hPh=2DRlBw4)1>bj%oz#>5gxqDz(u6SvqNPT!DIzii zPlklk7Q=DOu|NLmtaG_H0WBYOz}J}4Ev~HEHzpVzq@4-9@j^G#@PmkZ?9jcnXCV{8!RI;dWLm;TqqQKP zszxuMBNZFb#cH&ssc?_MA1$qZD_`yC-Bo5%=j+2yE`{Lxo%Z-ogsOn`Z_`k$+$2#= zQzH^-HF`U6a}r)L^)+ZQ@o^Iyv~s|h1N0%KooiASAdR!69I4q`bc9E?Xbn~G_)o|# zyj}#n5j}J6?U=cZ4})|i=A-=1#wywrL8h#iR{iO_4vMrWX`a z#I6B@cbE;W(noS24)GGQ^-76eSl+LPJ>)>(=6JK>)O}W|G}3;zI5o7Z3s)nhA;|KL zm)V6SGWop1`fAkU3fFo4pJp5PY4~@PVmwKLB`o8^Jwcyd-dfG9)HD5PS!}kKC$wrRr0x%INl?#{M zi=k&3QJtIRZ?CTZcHW%53m5D-i>?SESYHo*Blv9ndC=**>y9yiD4h-uy`$kIf+qd= z5$`v^H+Q`oa+6clO!(V4B2{qnXE9pgD`7`5a~eI)lc^>#I_Q}1e|C}dD8&rt#g}gJ zVb{w0Z*7?seg;n?e*gH1%gn2E45FsKKD$H{LYDRmR)t->Mo%jr{A`C0?y8(m`iA^B z>~Xnvlkx1iRk|7b*RA~NKi)gT&2|Eb^7zo0_Nt^uHne2h67fo``1sSvr=hA_-&k#o zGS2*dR#jCj%t_}ZtMX-dHHvzXd}+A*BT}%QGCf(-Y7qIf0@J_{Ugjj&6WqSSsyBjPpLRkiVbv@ejCj{uM;rX=~eB$*av7jlx*kJJt=bOl>=zsZr zKy)ZEU+%msg66X-S(rV^N!L@u$iVwE^Lfs>&99b1-mb4`T5Zp_VyB+=t&Gd-*BLg= zbDX>zdvv@NQPo}{y|Z6xeb$}XNyKwK>G-I#RuZT{@nhS^>9sd?ZXYZ9y4~W|&s8{W z3b~1rZQK8L+D160X*=0zE=yE>A*3CnDg+|ozL~rEuZ#0$z*-KR%j6L>k)xp3?q_@4 zsuF}tCDz`T+pNQnDfB0{tNJz6$Ke8a)G4(owGO3JPScXw zuD|sc_zjvH0vJZ7!gDJ`zV(NOF9GK>j@Y_Bb5uI~yXR40=jj|PWA@Fy%2ofq+~dlt z0kzf%iU^63KL1B##CTLUj|eR;cJ#=- zU1UJ9+AfRp^T2fLo^G|B{X8b8u_~&U^SKlZG)4OF#!mLufk=5QFSnr(iZBoWxW9O} z71B8X0s#x>TRdmNWa9urtjz__cN~5c&%+Jn<|g9#P+r@(GY0rZ;DcsrvGFm(4I|a+ z|7IQVN{R$X^$9VK)K;~U<@4}!mX+KKPonpcAPqH1cNydenvxh3E&)zAw*5%a@bF6| zkoIG6C*Z5 zRgdq#yZaXMIa{=%L90tz@8aqq8AsAP1lj`Fe#AgAziSq`t&fl()QE>b93Oghko@-ae6W`@`J(3sB(ZZ2Bm$Yp_v~!C@GB zUP`_qLCWy|83y!HzcPv{;MLi=i6YWc0c9AV<_n93Kx*c;L4Sb=ee}7m@W_I$kgWUc zgp_={r|V)stWg%Yw}M^mE2CEkA>>QkdQ7#VS0tDDrJjb9X5_6 z=o2Q(CZ5Yv(639x6`Hor$E;}Oa(yIv0#k4yus>M{OyXdHQt+t9CO|2Q{2Zhqo^qZ3 zMf7pn^#OTWb@KV~89?>mfX(OP!8%t@&zh%os6X1ve&rK+z{5K`OJ}G}6vh|%&_|jD zWomBBh+trLs+6CKQ)gKqT!6A%(6y|ZsrL|j(x`VE&p3wg;ZV{R zt|&u5t<5GXt9;#mHApLs6vlBE3Hj*5=n9!dH)~Gwhd%yQ@7d8Aze0?A@ zd5^-e6rad0zjm-WKHr+R+S^;S8#I*AWYx4wZXNRC_~=JGf1cden=d(~+54LxRe<4CHQq8hdy@kzh`y+O=KsW6WjD2tWrnd?%RjP= zG9H2-jQ~oQU(UBbP2aE7JAWL@6Pw009vLpC=u#*#+veo;Il>MA&k@h5Uo^PQ)f-5# zB`kk+qO?G3MFLTSQba>b+nPwL<0+pSF9#msh>9kP^L)gS7&y_+MH!X;)F6A??<>CsPJYOei+GJ|N``Je$Ogu=?(pn=1t( znVow#M_W%gzrJ=*$o^ACt_x2v%ma6M|{eiJvAOGpX{Z2z`bWny$aQ_-@bt_5VY7 z`gU6+i9L8{QbgR+?}&Wt$n0X;(%Z6$r4J@@;J^83FS9`9U@*%~QRe8Pr$}5}BqN!a zfmD+6S-yPdZdZp@>EXP1(9OS;yE%=%G=E<8LK`?Qe=MTp^AvneE^F*A#5*UO+XfHi zV8!7H7K&auihY?+p5@DVx%+!dSegI+nZJ`~@m%rs@}-{!0H8K;Tr6eXeIow+?Z}P` z^$t#rk5sl5JHa$+26R)%mkejq`8!C&SnQAH&28p|Vf9<3OFAWA^!)f(pZH=vZ)Z>y z6rM$If&%t6@yUeQTN1bV_ysWIXDTbW-F}u)*eCIONzHOAW zvRzofwoLLP*+DH$9b(zxH;%Vd3f7&|k?)zM)3VN@@+`*03KYE$R&`Qdvx&RT=_mXK zcSCEz!(0X+5bsC)&EbXsG1p4Kh4cSAX0A0X_B;VJ>dy^*(XJL>QBFxbGTcX>k02z+ ze6U0?cCqz(nq&o#^bT*yi`TX^r7)4wPGQRgslt9*jBU{tr`L*l;j;|DY7U5iejr8J zEUHWQF}-$l@}3$AJ)Exa0a++97V9-!+0fVrQe}>ggkm&ETnNofT@?zfATAyfBG9Nj z4+)CSxVYKd)X8K_A5{HA7w<-|No8QdP}j?Ob7lB_*grqhfg+}>Ls(Z89Bx2K6ay1- z!9HN@VkP`FVJXCwM~keh`tQb<#Xne>%l>I{VFZctjTdy@B$HBfbQv~Jcn#9RSNbM? zlTrkw!(1>455glKn35xPgd#sL))xxir`A*w!NhzAD6>5sIz>ltnIt+n#z6Rm&%$Fj zsj@R$9Ma1ZM+#VTzf<)YgP@W2WU9h(-AJz*H+~1br0PCf z4btzs3*zVDo0^?9&>7h>;R0>~hF-e}a{;1L>h3O6-0!${$FZk!ii#Gdt1qQVLdzx9 z%LQQvZGwYsqVK=5c(=IqyZ^SXcqgL9ES-%N1roBkS@~ojArlBG$xGq6ji(zDjeU0w zO;$}1eLBloq_mQ?crL1(JQ>g$0%>Z(%wME~E=8E6ho!dbGttIL`Yy;U%f)r~_F@LJ z+^cd>h`JfdZdGlT{s*+thW3N0d1Dol?hnh$CH<$K-V>%?F|`W_08FB*7>7N6s#tpa zGjsA!sV%iT-3QC~jy()eka#$5$trt)I0~kX!5;q@4Qv8oY$Sc5fc^v=Y{v&Uw&Ds3!&0gFsvjtDWCqXa^t>N_&=XL2s z>9fvbtVdkhXVD7ek*SeBgj5w|Ma;!jZCB}*w?%lM1W`02^84QMkQA4#`oy7EcgRJj zC?XWZ@$pB(vquwRVN5J~|PJJ2sj{15c2iN}#Or{@*V@FTYV)NFHhoVWk7`8Nan*s&(j?iDs9aO-=SPwU%_FL^&cFs}Ag z1@_F;IX+x+YhugIc2;bJIq!WRR_Cho9hFX9yI8!rwrus$KMoi*YGqa0|9AMrO5SHG zY{;W+X^_i?Fj6uy_oa2M&$J>#nw~cCNiVS1ZuguZo>u4TtF2B_-Y<&MJLGt~$`(;Q zip5gv=RNWoF`4G`tV+=U28f&R$eKpV9%zL#BbDEKm#gJif&Ac|W=DW=eCOV*1v$F- z-`%Rt&@xaG&MK?#vDiVoiNZeggf1ST3oH>sq>+HjHR$g*#Wbzg2S-sEQ&ZMwn1Z=l zKFL1VMzRudO%I?7Uktwm`lbyEEu5_jT)B0+C|pAYo%h|nQk#@}vo4eDEPd|^D3Ll8 z;JEpOb`EaD%V&Z`V(h?;aM+>IkIfx3i zh5{Q$VVKxL=@Hiq3L^DLXgA7BcydXOT@kNr#LNdLyZW}?n`uRs>RGg^ln9!FZ z5DtLcH$hwbrL%c!oi{y;7iFhyLl%z?4s>DPrpWK#oE4mHG?$G!1p4yCHgysll?BTl z(_DWaC|W>eT1noJ1MPt>)K;wuY*$zK&ZEJ7BY+gQ&W;}vIko=6KoMGd(D|Q8=YEku zLF?IC4#~huDLS!0L1oY%qw?A+XuD$3@9J^Ye6!cIM8mU37nS3}6zbBA!?oLUjn|th z7Y>;H|Mu;uBGr>^NYKMztK^&QMgLuP-(60s`NOeJ;$lopMq+MMrC@FyJnoI;Bmd<| zfk!7_NB`3HPhyN)3{dc^;VRDz5tyKmadIIs`Z1yfUF+GN!}@3ihdG+8YO zJb%f%QG433aIjHYa6UWTS>sKR@iG3FaVm--*~{E*C!tk2`bP5r3<}eR)7F`#)+%`~ zXmhup9$RC)|Kq0Ge{L+y1nR@nG7&UTR4$Q|B z&~KQ|yaK4Kw7J2~a>7y+l}mZBjeB&ax150Uuw$hsP9C_x&2RVR0I$eV61xre$|i#& z{y(R5G*GP7l59uddN$oL2$dy`GXu@Bj^L&hQFkR5WAaqJ`H zAaRU1_8$ND_kZViR?Ld*xi9JMhhlpTNx zTZ>AL;N^OC&aI+4OptXJFu3YGHrqZ59mFB&QOp?e8ClyZQKRdzYDN<%FFqfRz5`{Bx!TN$ZDWg}plmj+hKPhSaqylEdG<0;$5o$^VYA9zGqJG0SlP9y1hS zEp$VKnyM-~jc14d+Pnxr(YS@iV5u&yP6E&U9}prwc~zY8S-%3VRlOe@xYty`1-6Gto&U1zH_vvEr z*$}F`38mowBmi9NexSjgmlu4!LLkqpWHd9YvJMH4vSIBL<*u%-<}Mr)7#4SSF$Mn4 zbhR!zc==thx%fBy>BXr3TZBH$1!z41SCrY!#D})l8SuIzHGNj+%8LJ10PzRW0@wn@ z(y}}r#Nkx+|5Y6f#>dC!NV#R@WdY-yi$o64m3|bR9I4#d;qkd0i!%ku2W?p}zX!dX z0&mpi;mtOz1Dz^v%;TkJi-EWJAoxu}7*5Xl5u>qD?>`h$m79vWet54+AVCzvf#VjT zrm!ZyP36V6xHiqck%;FO9AFC5TG-$Jx4-{9^}9-}Z!4#ozKe>Lsi`Xlu>ZO~PyJMC z;mDZ`#&EPjkGwvcUGq^mNFCo#|ttx4=H&V7=_d1#a-UhW@8?_3!HSHf>Yk zTQ${2Kr#kJ)6?8M4TTj$Ei5d3agAo1yjpb<&$u}$0C0PtYiVbr*=s&B8a{1)LcPr+EWR`O}_kE48RSuRYTYJ{!X;+Vm!6@V<%3 z^eZ|htiIv1(iAA{zt=y;k$T^?a_vo7DU_Mt%f5Xwqsr{WDKO_EnPbCDo5lNcXZ+!# zz}ufcXCaMx2Vtqq6%`2X^eBC%z5t_)(h3Gm2OVa~H1&scwo4YK8GqZEJ#$Nc6ly`a z+G`ty$RK**^>@g^^=M4*sO8)Ld&jJnV9Xt5_$k-RF+1AhQ<^4axZl4v-~x5G2S7WD zXrlDAxF~{1=so;QzxRyGa6XET{euqxqHZ07#5M?VSUdRAfTmd&yY5@bSvTG`Z4VY@^fHWckT2I9 z7C@rSG0;BH)%7ykB(eH{h19aAB&QW}+|E+}!C8Iu93T=I9*y2tXq06Y5)!fq>P?R) z-uZYZMme*P8xEurzIo+mn5mNA4!Vn4+S3+XYCz;9c+1mVzbF4?*z~ABCC$!8U^q=n z5?G9Up9bE+F=aRoHw=5dL7t9zW4rtD-*sy+-)TqC)(7&7i~Hx+BKcHYl@fE9;4^Fj zZRN#n#?OoHnW$)$(RGQta~ZasEp5`ZQpjuI@MBPC$KhwX$pxSxe&6H$~!&({?gP{N#qpv(_%(xbOc;QKGauTbJtG znIz@Og>J213zEyj(++nGE>tTv)XeJq`X<$R>QeL{JkWJKg7>TY%5nGkit<5h-G_t_%$qkn{x-Nhc>!OM$TC1&ONTD#dh+)`{TipMyE3k;^Ig%NITgz45VM)%9rul;9 zma?bab4LXH8?_>1w0c?IbA`P@uW%>L^1d{Q0l4G}fDrmd8)IeqN>@0SjWpNl(1+UV zdyyyW^BGUq<^2b_-21X{6&F$@Z$OOa_?Sb*T_A^M$gl~ z&;ek0*v!mvezTUI0beCrNw?IAH72%(dS`YDmZhAuw8FR1u&|G9||k z6mS>?bbyJv2O@@LH4s4MHW5yM&#W~?ywAg6FfQgGYis*M+>=ykK~DoD)=U{5rUY`} z^anc3g99_%uM_wy0d@}*6*kRk&hRTrPc?!JGX~=)Da_K4MJUzU@<;K%Wqwb1#rtX! zn=7H?3};TM3ZV8ueW2h+QKWjQQ=?D~cr9)&Bh%aeqpOPglQPN3IR$`f^XCTOgU&E* zabSo5qrR4rUsA3u@M+~=uB|n?0WT|D7x*An6MNS|$BvFM#s(5qtxP|-z}b1~M^oXa z&ExNj;Ye2SCuRzdJ%|G1m*H?`zE}${=_qgnGsxeq-S1z!9|T1g@k2&9>c?JH#V&+u zo$?4Dz|ULE42PoiWh6L%U=jyKCie$fWqCSPJd7s4 z0XoE)0<-*hR;mh^EOK~nOfE6Pm z9)J@$uCY4Iq9qw`o?c@%WHw5b02b~pw<;^(j&qxb4;&?5u4yR$TJ;8LRfeHAj$(l4 zH4j%hugp3_e4Ueod6cqUZh73!YmPUQZyrPg?2#0pMGf&re$Okn)W1^-RpDI0u0xn% zm+zo%#G6YX%IucWs_@bB2G`ti|CC_j2mdo(e&J=&a~!scK0ZD+@HI+jgyeG?kcib=o^0wMFYn>oOLK9ZaAv>Lm` z&L7AETtilVjD7@erpMxn2U{Y@*ym4fe!_Zyc(xBHYi4U*av=T(S2grJr&FDmm$Pm% ztT)KnD9TCih?G|VOMBXRt7BuNXoIf^!mFyHbg1-Nu#Je5x*u}+7f4xiQ?*|Qs{h?V z469+y5`2td5cT072um%ON0;Y{7YB+bX#kt7^LPW0WT9v&x8>ciHVSxOV#{5L`tqgm|j?YG*GI?BuW4UDfAldg_W+1+MCd&6r&FDh$7 z=Yr)LhpEW&l{KF{nR9+(d!q+&wKad$DSR(vIZ@6{Z5x45($*GK1h$zb9KYP!Z^OjB zs_fht8DFz;u@TA}dq)nySwaO~^< z6co=}TIG8bj@nDSm49mI53j9#xk99y{{@PsGLLua;_TlwRAJ0^sUq z-?~MS4+M|Sw`+;R`Brp>Z`#+q*$n_A4Qekyv^Kq|ab@HS;Cc$PZa-KJSBUg$gw`9v z?oa@5O12v|tWOd=sGi4aGBM`X64?3@r>{W*t&)B!fT-tOo6_M%S>hsc8D`SNWQr8} zo+!q+y0;iP!b`~jqm_TkPL2a~UF47ya<1JvYZ5{fE6a}pRU`Pgw4lml0-KBi&I*MG zN@5eT4e2%@Judz{JM4+mmECN0^J(0zG8O>ivM;ESD3SX0$M`jqfAbhyc2UUt`)8|V zI%Y-0k5+-pMKSkNvhN2Thil0;fBE{7xe*#4L~7k61kpd;UAT7i+ou(|@KY>^luMDS z8toUWq8+fE?aaRU_glCEV5^71k9&thwuqrC4+*>Pr#dc+f|^{iXMqY~>Z*JwFlTcn z!AX_vA4v#qcl)niv*&Vz%R7|rLGs@wohb6?SE{FWU!)N!87u4kac1!dCHQ$w4~tg7gDslgWmRv|~N_XwDy-Of`hQbEpI$H~o_ zCe!A|296v1IaliizrE%s`+$Mp_iqCx#J=?4z0}j!RqbEuQcF(^UMSXI#jyh%+U-S$ zq`KQ;RNkyCMvl4qwGaMC>n&Z5)ItT0cTGA1PXCD+K$tIQ6wiKIT}B^)zO5Pb&7Z!H zG0tGoNQ?M%V>>oN^V)!rj)E6B3P3;I|13hs62CXV~>0I*Q~@)$nSY>ZlDB)7wdz><}S4ezTgcD*Q6?P4od)c2e~JbY4Z0f z(XGnMtr)l7iegNq_}hzWLS96bnfvm^$a}J>^WQ5-k-7&tuA54gmAPVM^|J zk*_m5#H#qEFE==Et8t;+aoSo&Mi~L7ccL-3$)*aw{Cs1W9&MOS5pZ~M`OUP|#zt97 zhxcI`wKz}eQ7(}U^eOE*|6ER%Yoi%VaHFdBXXhfxqb%X zUlya5AT?->S51{opojt@=f*Z7o}A39n&F^T&!|qO_1}VrYy-ilF}ENmCx7cn&LgfU zjKzGq|FD`quhuozgxaVH(oqjY0xu@VJ!baNZqn(AgM&j%WH=h(hcirfAhp*wdT#yc zD**qUCjWwQmEfqUrUza-u;(w15E<}XvdI5pDB=U~ zrbeaT9+pIO1K;}qQakgEVY(N7CJr2pjGfrjC8`-S_xj7{KYx&CUnvA5afp0YVjPX$ zBaVABsdG`2zb5{hFnob;x*eMzAb+n0U7e_5`$0uhMjT+JJyG!I{JiK70-;?i$6X!N z%rb7%FvD35P$d)L2Kst3QXGkK9(UF?*S=jlvM*&}`B*36>?bD>D zdmnhI%bz%+N<^Iav`Q8^BAZ~Jr6_r_e@@Qa#i2}2 zp#^5k>;k2Ez39tvi@sIBGID_wM!d z3LRQ>L+uR?<_nu3k1R@0?{^%zUid&eu+1Dc>uW|-ZqrATy9u%-s*YZc9v&W!y)U(8 z7`kJ%w}4CqEW4Dl9Ua6d@@_1U6~% z4k@|mDlkr+UQzXl3s0N9DUjAFwE?#13 zFexc1F##*rr1NhY)9ki*GDXi;s6E%^DLjP9v$CLB8WksIL`s*E-On?d(up4@3f~Ou zu}8NA50rWlaY8lw(6o|UL%L-~-hqa#dV1-%LAg5+6JxSFzhhEf&tM)ux*vKrv3ARA z^8`21vZiBRBOSVC(KJ8fvyA^Rx;loU^%}SU3W9Qf>!vwgwBLWtFSyWMTaS*X4XSQ) zY8bW1YNco{$j$uHvFb2q^Ylj?LjTTGrNjdLrf1V;9-!Z9@gmYEZDVs{%z6@unLvTJ z)77(h{(cB)?Y?2jdgIOd2QM)F*qq6s9QzgFR~+>5(aZSXV>Em!{e|tnZ!jQ4KMmd; zh>hp**d*i)pqIZIlju*~IAsL%=6wbxTm4+QC60G!gUz&l!pCAkyPW1jZ_X#PnVu~3F6*;b{Aa<>KL<ed6>Zxm zyem=!=SE>SA}J5IW--oRejhw&U0GQ1YX{=!luchi^V08xKB&*ePk$^p*2U`sziXz} zW$w@J8Zd!8*BuPGT9ZoRY?hGhaCP$KOb-k!-dPb>tlm4Wcok$7w3#kqGg~v``DcGe ztM^%k3qVBe5iet@FJ>*E_Oohrd{^PSwcl)@L3BD8-E6JlU}Ilv zJl$hqk=ZU^`Gx&CiXYqEMd=2~*jB|oy-TkXgkr$sp1=4vgIV5eVmNy5JC5ZX+o63( zyrE#nNt-HNL6KH6^kFmw>K^gMh6RATPBu4N`V~?}+Av2UO2E&{y)#ibMqJc^wNYTN zx7SsNAa(8D$Cdue;HF70T!Mr%QaVv-w8ly?g`V6lMY{1J@}*`GrRd;mHH4=2rb(CRZ&Pm@2@& z{(r=8|Nk#{ujWSr_ne%C_$K5EhynR!vCt?H>`UkNn6a+K+-JP_m$35sM7Zt;=qN4K zJ;o|Ob#@0%a;#SFvS|hbSs1uKnu0PQgEHKk0PjYK(!XP+$n^qIeKJ&2h7QFS8_qDQ zphZDS-~V_O*luCmwm1wWva(OV3mF=nI2Wi0cm7(X-weG6g$X@+@J$B{EGi3nV2 zz{-=!N}k_HIU>kxkWm#?oyT|(pJ&^XzB+B=7=z_2dG%IPfvqef+QB+pZ3Wf!C88tUQ+F&40p(D5Tu9-?Ih6*!td4CcGPA=JYcI{~68l#Fy z`QdSIP5uPI^hI}84SmVyd3(q)vy#WGq=uPjc)Am6^v#_aNQ(rg9u3csEK2BwIPPVr z2yZN)fr_kxwu$3eonIlpYwrQtdTV8X2gHGXwns|x}I1TA{|N5c`(QNYr{vZGV zTMqdzRD`wk8C#T^ewfdyMNxc6=xW=&`;}JB7jb6XIR^_pou~DbHS>FOWu0lNbxh;a zPBtk`tX*XQAX!C(KN`iEB}Mp`^! zv7+mNg}xC=&dT~=?$*&b9V=5rwS2FTXDI=g#NvliQjR)FJCyT2CHnLnYd-Z?`vq5j zXkP@E%!zMIS&2R+$a}0y^ZgF;8c#TTfE6GGE)dx1?CZ8N7JIi>m4Sl?q` za;ZYTKcTF4!@QrrJoGakn6tXT6vV4Ip>2?~>SzqbH<|7H-=2G$O$1Lt<#-CRwrlqv z0{id7KsRWaSZwYQL3Ujz@D_HbPjP4MRcm$I!HP3=aqYj6MFXqjKjH=(_SLhY%YR!^ zps!<++S6W<*$FF7fWB8<%jjj zir4=Jo5f8mo1f88MF5cU3*NB8=Wv{B>%}QU$o9^V$@AXy{>~GrtL6EtGsVt^ks8Sd z8$2bOuJK{n*{tms_zkwmt6i(72T7MZic(aj8BXbZwa3J(e^+~pR%b!TQxnTTnPf&X zEEGk-&l6jSC_)%?R~_KP$KDrvsdM?OuFK=^4ngVa->tSCF7Vsk8Pm~ydEFU)uKSF2& zej6r)IBaz-+x^iTdLE;AK!~~gr+6`1aK2-8IoX$g`tO#N#0(b`_H~V7W~PPTq)`s|=OZbS zFpd97dQa2{N#QI{hh0hsor5IXD^%Poe-XSkVAZ^bmm87g{Ywm4{0P8ceU+bq>H;>f z*QWj*2$X381jD)a2L`r0MnCx>-0-Cjl)Jx57-;S_$kBFQE_R;9-#?uO-us7LK_r@< zRrC@|!Rc6&=MdG++ygCMK$YUryOMP=wME@?Y*27gM`z3bJLrDUezhDamJbS)ssz-6IO zD1b_7H?&vgj}ViYWZ^#mRPoAhPE<;&>1%@~_00%K zauFRlDjiP)&h@h!YJV+^wu}HXj}v0epK+7{FZWoBWf-of*EMC+{s)O4#B2?sPM-3?_h z1zZG21{tW=ZC&az1yvhxn9PBf=7+wx+5&Q(XA3uI9fI>e3 zJ?5kz07iT@M7`%^6kWG;qKqvrV52Ig?%~Zn+K=zoM25vt>3f!fx8B>p%ejj1L0HvX zLm0$3n;wI|C%=RcuWm4g@oB-)crqpaSM(EXOImQiHOBYz0~|(mM{O}Thohhnk$%DC zkhiA`%la-#%=NOYo?bl)RMQuMv6bjErZwrk0qLmF(?LfSP21NLAY)_W8<8PphJTGl*_R*FEt zNiO+BWiSoUsZO+Y@s=5zX$#P1R?E}%^R5E!$nMfgst$Rg?;-Z4H$ceIgN-Sc|LMxe z)%BU)D+hd$x_c0azC)1;T!N4SyYhZGtOsB680)O7AM9fbzI4u&7*LH|KL`{Q6ubzT zXC2@4$*Z?vMP3&I5U#T*XG6z8%MKwzO2`6z#yd*BA|5tFK@@rkAlsEbH~fiSMtUlz+F8z;oo~=dT|I;%Auj{MfGBEdgA8e%oDcl5Z=jGR43i zbFh4~9Fx1(1`TY#XDgwbDlsIx*|>*eivg)S+cvz0n@4K)Ko^y$K}+)G#xaiB^j?*i zdSCmC(?_$7yU^HF3XqtQ2$l+UuS?o|RVAHeA2I?XI^Mg{rCL8-CB>??;bP3J-OfdB zqx9fGpSrqpyDzbON8BjvjH|4c^;l=7eO-h!dGAlPRKX)5)$e5Rn%{%IYSgUg2qD_ddMlTy z`#Ot0v`1ukOoEdMD}WJ@c0)>H^%~7S`{0)=wt+ScE>mo#is`0;vO88(Wi%k-^;=Ji zeh4Rhi4)vWGI^8$n{|37ZHqKrGOYe1Qf*kFrca@tN$imyP?}9qw+(UZikxY)3-o^d zofVKL-tIj=p$%s?Z*tAHR7AG}SU_YgH1Z1^{UoOZXKwU2(uSe!7J|hz{9c3}0%2$& z%2AO0v{Ovlcm2Fj>bW=?iHf2>yBL4?!T^?SoAB9eAVJP&D`HdBIFFO>`hZk|Us>$VPOvN}q%^UnyjTRk;WYJyh1@+drL~KFD!8z?kF28?93st}nJzsy4=Eg7M}}o1dp1&dYoM8C+8<;Y#)2(>cRFNK@y@ zH&sk?aNm7N{4rZLFMGNkzH!7m3E4P!!TI!raMU4OVbr;^FZCi%q4{b7vuWwv^WG;x zT}<++sHlwBPWSK85;w(ziCed9c>s=7@Nm8YQFy38I)J~N7obG#xirnmOG+O8_7YZC zv26DXlI}O#jIMw9LI;7C16KXtTULh8e@B{EXS+!J0i1fdG67vOl7qWE8oC^z8{b<- z9Y4<2j_Ma~AI|pStX}SdaYLAK!xxB}vz z$R3jUk(G#VIJD%sw$43*Z*syO`&wXzSTXLdkJ;%Q>>bJ+O3k&=u1!6ktsF7Kd9Orf zM6ov_yGBd;zO`hP`vB&5xJbl=j4<`>sQnD%Zb&Yx8&HG9_n-IPtY3=6jrFFLIqCnd zN_Y($#>_@`eWPpnK4X(nYAj5DmQy`beI2vF53vj(SCPN`{tO(3*_t%N*Zp53`N{p; zva%rwqW!XIELp~CG6P01!3Kf*EXBYe%tFDa3}?;)Tf_oGp(a_I#>TfGV!MV4)b=^M zOT!|Pr_dUqAF+y_%%$B{qLOxFTjFc1Ff8^5{V%sh!B6glPQc)rVX6MaxMFK0M45pQ zR2cPBDP!E)B91A>8ZAh6<0BjOOB!VmCQDsrB(?#G#1tg!qi&gJpCY`7 zBW9F(63Qj@XN5k?gVf>8ihps`IK3I=Hg8Y4~qG+tLfS>(v4RFDcJ($ij-Ma`1g0)`7{ z8pq6l7FJi^V2sUOF>yihu{UB{=@>;7y=;Aeovdwf{e{VtXJeu9XdBdSJ&U+Bt0Kd^`XZ=-cPZ-yAC1S3c8)|`XzJKXzqvtzQ!&Mp=DYh0w z#T6y09y{OacJ%9wLb8gpGdfKSl!O#hpFXK4`fmL`-SV5)%JQ*fjKj(~pA=k7TebWA z{j<9I7HxTrRQSm~ATHmWHg~`+WMfw8cPk;71o)Y?%F7VxFBIlI_&Vx!s1ikC)Q_e< zaZ4-dj2K{Zuk&`9_u&+ew-|&T`?-F#8LqjwD7Zz=$`g~s!O6+V*F7HuTsjpFS9_9v zOR-k}_IE$J@FRR1fq(r6R}=eJ*?BsUbi;z+bu>4=u^velKne<31XwGC1S!tf5s!p1 zJxTUjr$K%yl_EKYA9~Z>MZ7JKda2j z?B&0$nSjj+?>td;#C2!tqD`E8K!CKU8Sv~`cQiG+22Ihy-{mE+Z8R*YG7UW47FWC) zX(imI__LD3K=5B8K>wr296fdmy;8Ka$UIvs2>45&tfnjoaJe72y#+iI3NCTt^XI4I zil?JocGLf`S)EscfDB~rj#D_qGITo(^0^M7FH9Z+%;3N)14>_S_bHI!l=n_eoj)zq ziXJx39)g%4mbWjLLN6w|*j-OYgy%x%4yK+SOc-?TYTy6eV1pDN9uZZMZU47a@J_5r z43S+@VgScJOuW~5)L~vl$NFOLt$?E}fBR0`9>QHI;`_&LV?a|)ma6wdpls}JG~pTqQVU6SD%Q!q!wLBo&5Hn*USJ-yILdWl7;=HRRQpqvBzh#MM3S zr6@)i0#ETRK&iXx*(>H$aV+$f3V%9L;Q1dX%%3)Wm^Pcp1JDom%)sG@ucjZ^!xxN+ zf&=l9HkbX*8Z-kpWVWW;gNAXVNAl+jO`QkNL#>5i4^(0b(WTD;&!IEW`kLBmCl)~? z9u}PAn!Q-^C{_M8b?*JM3OzSq=p-(tm;qM1jP}+VYCAghTiq-yl&!v;5X5=?{CT@J z3vRRdR6rTZw+fCe#L9kpo!MPppVt?1`fT80F@f@EYqs@bj)Bk-(!%DhC@KlpPSuqP zTCbcx+o5%XaV1D51a4lCg8l)xww|+^xyV%~jKBR{3vMhr=3d*zig|Tj=G%PvCr9{E zaZSEkgSWg11wN0?Gsg-RNf6p^y}qp0cW z;pmG3X;F>XcLxV1rx!o~6ON5SB0av~WbIysQz1OjIwdK3>a&}Y#bwN(cF7yxu6>Da zZtj~u+s5j!7o6^nBl-w$Nb=xyYRbQ{2vKEdJ>I{e>9_C2rr+=5Kia~e1Hv*stB$to zD+L4IoWvnqGp9tgL?BaE(SoSH)TzMBp>9iCi|yy@sV89W(Q$J{)zA;hi>O}+kc|d` zh}u;wPi6okT2jaEvRm8EDI=~}NgY7&`)^J*ed8iGGZ$G0qrKG2&jAUWTW4^?CsFFI zWU#ZhY2$4;SfzjEd#K5`UBbtYtkB+f6#ZRve5f6m3{lzvA+Ev?8dW#w-j%P%;WrM{ z(H(VdDg)SCDAN9#U^<{*19B!D3K>>E!UzG@i1ZF6%sJJSipO|f! z#ri=es3dh~A}2QuV;H5wko&Luhd0a|LC#gEsJpi50s@m2$z*)YZC=J+Si=+#Y!3ts zM?Se&v{s@@3IDP8Rs^t|v6V!Pjs3SKEXSt6#D9HBD47Y2fdeF3!Ce(+PBo8IUU+Pm z^+K+;0JUvu>SS#JGS$m?%VA&1`t}?9Ji&QQv{`(yNHwqR(vkk z=lJ5M&$2mw!&)b1zNqvBwU=n8)B%MdBYM%r*f)7aNPLBl>R?@io?7{NBMua(!oMs; z_iVc`y~0pXD-{H?`OYf-JVuj>$q*n7GBcJ)TkuuNDDlSrfR-WtngKTer62MG8<=d- z8`Smy{ttleX^L=`YPzTYTnRRQ9VxMSGqBy&VdTCp@P$Y+5lmO^Bz5tZU?$Brj4M&- za>EMj4AA-`vRwzpd*mH6(f&AzWrP>Mwrh2LH8hTUAa8U*fe$D}R^n3wT{7)FP)w>e zmVaZF_+F^5i_woBhqMj=9q&7i#(x8#YW1U<#ouIz%H|OY>0bO@GNgB{lTQPW(KZi# z?$PmmJJu|5On7u7%d7gSj6NslP<`9feX#DHka%<|oSP3O7{Pi2Ft&Y`Qhy(SXW!>x zi}IkzZ8Sr-$!+64h)@;(fck9xZgwqm$-RxZjkQ>Bq}#!T`+Z}(mFsBqT1~Xs^*pha zWNBt8L1>yq`%y!6XO61MVX%aS-1b8g1F zRz|NnW6Xlzek!16G2b-yTL@FrLd%F{(8nN^>lqUyQrG?4=kMRiQh$;D`0=C11@iU4 zqoz;z@zJN}b-Ewl(Bh&10raSmdCkkt+Mm3i$%({_vq*^#OEA8-m=?D@S@HSJTa2pd ztk5AEJ0uwcmR0#YWQuFW7b@q-Zbb9rZY^+kofoq4y@LbdVuf9hs3F2wOou?~>1rJ35 zZTCN?y~C`%{$uW;uj1?urLt&OSxw;Px>LLMQ$6F6MbM`Gr_(>Z0Y=hYCn7__xjD3| z5&7J^PAIV^_b!9q4Z*D%9bdmtWrMO0a4FSku|q>8_nrk-6cu$ zwLwRc4%=22m5TE3_6Ii^Iw~vQ&tF_N0U46~b~(1a@$rop9PJVut2c8VR1;bq&(hiV zgv>1mrCh!WAbw@l6GP5Rq*Qd>T5YFV%4NAv_8%6kd&k|(k#zkv;%@K0nl9yMi8*+0 ze)#X#69rMzz3-4C4~{KDJ883|4_9DmCOuVb{C3{+wq4hMm2-kfhX00_EYd<0=f2t) zV2s)6cb5T_dSM?{VIaa#Hutdwj>pgT!apFUCn#`q*sV>LwFe!Yy8;*i)G&Pef(#W^aeAEZpy6 zQ0ixGtS?^))p*AQZ*ut2vzB1rFm%8_@bJqDqJ;*|<`Ugo1k`3W4rb8}t-mbWzE#cC zIR^SJN!Y3SS5Wqw>U^cz7=pmQ0{xs5J#`+;3BLcGbHI3_OMW`Y{p(=!=}!lG=grFh z=Q&&Pu|&mNBbccAfZe_xt^*=V1ixWcQ=y3RCn?84hH1l?C{(D&nEn`6i#{vN73bmw zkxSds*)fAymo$^Xg-Gp~M|qAFw%FvmBq$4GcUQ3D{bX_;xInx--m_IXchPT(I|z-sL6SP7{hkGO8ql_`XMa;cv#2 zGm~qtq!;Qldp@ob1xPHDc6~ZrpXhqx{1)qRQ5k1hqNRq_ zm~f_;XeFwldggFhN`joT&q>_9cPT7b=6e>|^a#=A*J#O^fTea86=3^qgYb0DgGW

        a(7R%9lkF|hp@|`;?^%6&fTQJ076nIG} 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

        r~;cP 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 z%0AtEJ^`Az+07-S`F6BQOKZ=<JFP)K5DFl1{Kf+6a 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 z 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�HlNF5A)42uZWf5@ia5F?O_{j)03j* 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�Gi!q8C5)tFzkR^c+57}iR25R)R**G>fhdc+IA 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

        9FMjx5Ue!(01T&h196K3nQTX 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 literal 0 HcmV?d00001 diff --git a/asset-authorize/src/components/Home/index.js b/asset-authorize/src/components/Home/index.js new file mode 100644 index 0000000..42d12ae --- /dev/null +++ b/asset-authorize/src/components/Home/index.js @@ -0,0 +1,66 @@ +import React, { useEffect, useState } from 'react'; +import { Button } from 'react-bootstrap'; +import APIClient from '../../api/APIClient'; +import CreateAnAsset from '../Modal/CreateAnAsset'; +import QueryAnAsset from '../Modal/QueryAnAsset'; +import QueryAllAssetTable from '../Table/QueryAllAssetTable'; +import QueryAnAssetTable from '../Table/QueryAnAssetTable'; + +const TableRow = ({data}) => { + switch(data.name) { + case 'query an asset': + return + case 'query all asset': + return + default: return <> + } +} + +const Home = () => { + const [showQueryAnAsset,setShowQueryAnAsset] = useState(false) + const [showCreateModal, setShowCreateModal] = useState(false) + const [data, setData] = useState({}) + + useEffect(()=>{ + if(!localStorage.getItem('token')) window.open('./register','_self'); + },[]) + + useEffect(()=>{ + handleQueryAllAsset() + },[]) + + const handleQueryAllAsset = () => { + APIClient.queryAllAsset() + .then(rs => { + if(rs.data.error !== 'undefine') + setData({ + name:'query all asset', + data: rs.data + }) + }) + } + + return ( + <> +
        +
        + + + +
        + +
        + setShowQueryAnAsset(false)} + setData={setData} + /> + setShowCreateModal(false)} + /> + + ); +}; + +export default Home; \ No newline at end of file diff --git a/asset-authorize/src/components/Modal/ChangeAsset.js b/asset-authorize/src/components/Modal/ChangeAsset.js new file mode 100644 index 0000000..d3bc3d0 --- /dev/null +++ b/asset-authorize/src/components/Modal/ChangeAsset.js @@ -0,0 +1,66 @@ +import React, { useState } from 'react'; +import { Button, Form, Modal } from 'react-bootstrap'; +import APIClient from '../../api/APIClient'; + +const ChangeAsset = ({ asset, show, handleClose, setData }) => { + const [ownerId, setOwnerId] = useState('') + const [ownerName, setOwnerName] = useState('') + + const handleSubmit = () => { + if (ownerId.trim() != '' && ownerName.trim() != '') { + APIClient.changeAsset({ + args: [asset, ownerId, ownerName], + }) + .then(rs => { + if (rs.data.error == null) { + window.open('./', '_self') + handleClose() + } else { + alert("Server Error!") + } + }) + } + } + + return ( +
        + + + Change An Asset's Owner + + +
        + + Owner ID + setOwnerId(e.target.value)} + /> + + + Owner Name + setOwnerName(e.target.value)} + /> + +
        +
        + + + + +
        +
        + ); +}; + +export default ChangeAsset; \ No newline at end of file diff --git a/asset-authorize/src/components/Modal/CreateAnAsset.js b/asset-authorize/src/components/Modal/CreateAnAsset.js new file mode 100644 index 0000000..58077d4 --- /dev/null +++ b/asset-authorize/src/components/Modal/CreateAnAsset.js @@ -0,0 +1,107 @@ +import React, { useState } from 'react'; +import { Alert, Button, Form, Modal } from 'react-bootstrap'; +import APIClient from '../../api/APIClient'; + +const CreateAnAsset = ({show, handleClose, setData}) => { + const [key, setKey] = useState('') + const [manufacturer, setManufacturer] = useState('') + const [name, setName] = useState('') + const [serialNumber, setSerialNumber] = useState('') + const [ownerId, setOwnerId] = useState('') + const [ownerName, setOwnerName] = useState('') + + const handleSubmit = () => { + if( key.trim()!='' && manufacturer.trim()!='' && name.trim()!='' && serialNumber.trim()!='' && ownerId.trim()!='' && ownerName.trim()!=''){ + APIClient.createAnAsset({ + args: [key, manufacturer, name, serialNumber, ownerId, ownerName] + }) + .then((rs) => { + console.log(rs) + if(rs.data.error == null){ + alert("Create successfully!"); + window.open('/','_self') + }else{ + alert("Create failed!"); + } + }) + } + } + + return ( +
        + + + Create An Asset + + +
        + + Key + setKey(e.target.value)} + /> + + + Manufacturer + setManufacturer(e.target.value)} + /> + + + Name + setName(e.target.value)} + /> + + + Serial Number + setSerialNumber(e.target.value)} + /> + + + Owner ID + setOwnerId(e.target.value)} + /> + + + Owner Name + setOwnerName(e.target.value)} + /> + +
        +
        + + + + +
        +
        + ); +}; + +export default CreateAnAsset; \ No newline at end of file diff --git a/asset-authorize/src/components/Modal/QueryAnAsset.js b/asset-authorize/src/components/Modal/QueryAnAsset.js new file mode 100644 index 0000000..6367857 --- /dev/null +++ b/asset-authorize/src/components/Modal/QueryAnAsset.js @@ -0,0 +1,64 @@ +import React, { useState } from 'react'; +import { Button, Form, Modal } from 'react-bootstrap'; +import APIClient from '../../api/APIClient'; + +const QueryAnAsset = ({ show, handleClose, setData }) => { + const [assetKey, setAssetKey] = useState('') + + const handleSubmit = () => { + console.log(assetKey) + if(assetKey.trim() != '') { + APIClient.queryAnAsset({ + args: `["${assetKey}"]`, + peer: 'peer0.gov.assetauth.vn', + fcn: 'queryAsset' + }) + .then(rs => { + if(rs.data.error !== 'undefine'){ + setData({ + name: 'query an asset', + data: rs.data + }) + console.log({ + name: 'query an asset', + data: rs.data + }) + handleClose() + } + }) + } + } + + return ( +
        + + + Query An Asset + + +
        + + Asset-key + setAssetKey(e.target.value)} + /> + +
        +
        + + + + +
        +
        + ); +}; + +export default QueryAnAsset; \ No newline at end of file diff --git a/asset-authorize/src/components/Register/index.js b/asset-authorize/src/components/Register/index.js new file mode 100644 index 0000000..c833ffa --- /dev/null +++ b/asset-authorize/src/components/Register/index.js @@ -0,0 +1,54 @@ +import React, { useState } from 'react'; +import {Button, Form} from 'react-bootstrap' +import APIClient from '../../api/APIClient'; + +const Register = () => { + const [user, setUser] = useState(''); + const [org, setOrg] = useState(''); + + const handleSubmit = (e) => { + e.preventDefault() + APIClient.getTokenRegister({ + orgName: org, + username: user, + }) + .then((rs) => { + if(rs.status === 200) { + localStorage.setItem('token', rs.data.token) + window.open('/', '_self') + } + }) + } + return ( +
        +
        +

        REGISTER FORM

        +
        + + Username: + setUser(e.target.value)} + /> + + + OrgName: + setOrg(e.target.value)} + /> + + +
        +
        +
        + ); +}; + +export default Register; \ No newline at end of file diff --git a/asset-authorize/src/components/Table/QueryAllAssetTable.js b/asset-authorize/src/components/Table/QueryAllAssetTable.js new file mode 100644 index 0000000..7858a5b --- /dev/null +++ b/asset-authorize/src/components/Table/QueryAllAssetTable.js @@ -0,0 +1,69 @@ +import React, { useState } from 'react'; +import { Button, Table } from 'react-bootstrap'; +import APIClient from '../../api/APIClient'; +import ChangeAsset from '../Modal/ChangeAsset'; + +const QueryAllAssetTable = ({ data }) => { + const [showChangeModal, setShowChangeModal] = useState(false) + const [keyChange, setKeyChange] = useState('') + const handleDelete = (key) => { + APIClient.deleteAnAsset({ + args: [key] + }).then((rs) => { + if(rs.data.error == null){ + alert('Delete successfully!') + window.open('/', '_self') + }else{ + alert('Delete failed!') + } + }) + } + return ( +
        + + + + + + + + + + + + + + + + { + data.map((_data, index) => { + if( _data.Record.isdelete == false) + return( + + + + + + + + + + + + ) + }) + } + +
        KeyManufacturerNameSerial numberOwner IDOwner nameRegister dateLast update date
        {_data.Key}{_data.Record.manufacturer}{_data.Record.name}{_data.Record.serialnumber}{_data.Record.ownerid}{_data.Record.ownername}{_data.Record.registerdate}{_data.Record.lastupdatedate} + + +
        + setShowChangeModal(false)} asset={keyChange}/> +
        + ); +}; + +export default QueryAllAssetTable; \ No newline at end of file diff --git a/asset-authorize/src/components/Table/QueryAnAssetTable.js b/asset-authorize/src/components/Table/QueryAnAssetTable.js new file mode 100644 index 0000000..583d652 --- /dev/null +++ b/asset-authorize/src/components/Table/QueryAnAssetTable.js @@ -0,0 +1,75 @@ +import React from 'react'; +import { Form } from 'react-bootstrap'; + +const QueryAnAssetTable = ({ data }) => { + return ( +
        + {data.isdelete == false ? +
        + + Manufacturer + + + + Name + + + + Serial number + + + + Owner ID + + + + Owner name + + + + Register date + + + + Last update date + + +
        + :

        NONE

        + } +
        + ); +}; + +export default QueryAnAssetTable; \ No newline at end of file diff --git a/asset-authorize/src/index.css b/asset-authorize/src/index.css new file mode 100644 index 0000000..b1ebd09 --- /dev/null +++ b/asset-authorize/src/index.css @@ -0,0 +1,14 @@ +body { + margin: 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; + font-size: 14px !important; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/asset-authorize/src/index.js b/asset-authorize/src/index.js new file mode 100644 index 0000000..a4e27f5 --- /dev/null +++ b/asset-authorize/src/index.js @@ -0,0 +1,18 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import App from './App'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import reportWebVitals from './reportWebVitals'; + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + + + +); + +// If you want to start measuring performance in your app, pass a function +// to log results (for example: reportWebVitals(console.log)) +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals +reportWebVitals(); diff --git a/asset-authorize/src/logo.svg b/asset-authorize/src/logo.svg new file mode 100644 index 0000000..9dfc1c0 --- /dev/null +++ b/asset-authorize/src/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/asset-authorize/src/reportWebVitals.js b/asset-authorize/src/reportWebVitals.js new file mode 100644 index 0000000..5253d3a --- /dev/null +++ b/asset-authorize/src/reportWebVitals.js @@ -0,0 +1,13 @@ +const reportWebVitals = onPerfEntry => { + if (onPerfEntry && onPerfEntry instanceof Function) { + import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { + getCLS(onPerfEntry); + getFID(onPerfEntry); + getFCP(onPerfEntry); + getLCP(onPerfEntry); + getTTFB(onPerfEntry); + }); + } +}; + +export default reportWebVitals; diff --git a/asset-authorize/src/setupTests.js b/asset-authorize/src/setupTests.js new file mode 100644 index 0000000..8f2609b --- /dev/null +++ b/asset-authorize/src/setupTests.js @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom'; diff --git a/asset-authorize/src/style/Home.css b/asset-authorize/src/style/Home.css new file mode 100644 index 0000000..458fc8a --- /dev/null +++ b/asset-authorize/src/style/Home.css @@ -0,0 +1,21 @@ +.nav-bar{ + background-color:cadetblue; + padding: 20px +} +.nav-bar button { + margin: 0 10px; +} +.label{ + width: 200px; +} +.home-component .form-control{ + width: 300px ; +} +.form-query-an-asset{ + width: 500px; + margin: auto; + margin-top: 30px; + padding: 20px; + border: 1px solid gray; + border-radius: 5px; +} \ No newline at end of file diff --git a/asset-authorize/src/style/Register.css b/asset-authorize/src/style/Register.css new file mode 100644 index 0000000..8cd4363 --- /dev/null +++ b/asset-authorize/src/style/Register.css @@ -0,0 +1,29 @@ +.register-component{ + display: flex; + justify-content: center; + height: 100vh; + align-items: center; + background: url('../asset/bg-register.png'); + background-size: cover; +} +.form-register{ + width: 400px; + margin-top: -200px; + padding: 30px; + background-color: #00aaff99; + box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px; + border-radius: 5px; +} +.mb-3{ + margin-bottom: 20px; + display: flex; + align-items: center; +} +.lable-register{ + margin-right: 20px; + color: #fff; +} +.form-register h3{ + color: #fff; + margin-top: 0; +} \ No newline at end of file From e6b0f4bad9c9c9d94c73a4f01eca3b87ccbf4482 Mon Sep 17 00:00:00 2001 From: Okman321456 Date: Fri, 10 Jun 2022 20:47:50 +0700 Subject: [PATCH 5/5] add history --- api-2.0/config/connection-firm.json | 30 ++-- api-2.0/config/connection-gov.json | 30 ++-- asset-authorize/src/api/APIClient.js | 29 ++-- asset-authorize/src/components/Home/index.js | 135 ++++++++++-------- .../src/components/Table/HistoryAssetTable.js | 45 ++++++ .../components/Table/QueryAllAssetTable.js | 18 ++- 6 files changed, 186 insertions(+), 101 deletions(-) create mode 100644 asset-authorize/src/components/Table/HistoryAssetTable.js diff --git a/api-2.0/config/connection-firm.json b/api-2.0/config/connection-firm.json index fdef3b3..bee730b 100644 --- a/api-2.0/config/connection-firm.json +++ b/api-2.0/config/connection-firm.json @@ -1,8 +1,8 @@ { - "name": "asset-authe-firm", + "name": "asset-authe-Firm", "version": "1.0.0", "client": { - "organization": "firm", + "organization": "Firm", "connection": { "timeout": { "peer": { @@ -12,45 +12,45 @@ } }, "organizations": { - "firm": { - "mspid": "firmMSP", + "Firm": { + "mspid": "FirmMSP", "peers": [ - "peer0.firm.assetauth.vn", - "peer1.firm.assetauth.vn" + "peer0.Firm.assetauth.vn", + "peer1.Firm.assetauth.vn" ], "certificateAuthorities": [ - "ca.firm.assetauth.vn" + "ca.Firm.assetauth.vn" ] } }, "peers": { - "peer0.orgfirm.assetauth.vn": { + "peer0.orgFirm.assetauth.vn": { "url": "grpcs://localhost:7051", "tlsCACerts": { "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" }, "grpcOptions": { - "ssl-target-name-override": "peer0.firm.assetauth.vn", - "hostnameOverride": "peer0.firm.assetauth.vn" + "ssl-target-name-override": "peer0.Firm.assetauth.vn", + "hostnameOverride": "peer0.Firm.assetauth.vn" } }, - "peer1.firm.assetauth.vn": { + "peer1.Firm.assetauth.vn": { "url": "grpcs://localhost:8051", "tlsCACerts": { "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" }, "grpcOptions": { - "ssl-target-name-override": "peer1.firm.assetauth.vn", - "hostnameOverride": "peer1.firm.assetauth.vn" + "ssl-target-name-override": "peer1.Firm.assetauth.vn", + "hostnameOverride": "peer1.Firm.assetauth.vn" } } }, "certificateAuthorities": { - "ca.firm.assetauth.vn": { + "ca.Firm.assetauth.vn": { "url": "https://localhost:7054", - "caName": "ca.firm.assetauth.vn", + "caName": "ca.Firm.assetauth.vn", "tlsCACerts": { "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgKgAwIBAgIRANS//LxJiNTCCxguiFOdcREwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWZpcm0uYXNzZXRhdXRoLnZuMSAwHgYDVQQDExd0\nbHNjYS5maXJtLmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1Mjcw\nOTAzMDBaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFmaXJtLmFzc2V0YXV0aC52bjEg\nMB4GA1UEAxMXdGxzY2EuZmlybS5hc3NldGF1dGgudm4wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAATq+rtCyVpJ/MNKKwvcxA/wft7e2dTwW82uznhUi6w3AlBuRO20\nFsq78rSv7whBaplV6R9e1Xxpi5Dtk131mANTo20wazAOBgNVHQ8BAf8EBAMCAaYw\nHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8w\nKQYDVR0OBCIEIIPvTFDaRgG63Z4f9TY/gCKIsspJ3d00eX83fWdwkBMWMAoGCCqG\nSM49BAMCA0cAMEQCIGP0m+EmQsl8W/m5XZkr6s2O6ImWNjORxSV2wyFjFeDqAiBm\nD6DKShiEXYb2/gAhlSKwfhXimpG/xR3QhLeyE4t89A==\n-----END CERTIFICATE-----\n" }, diff --git a/api-2.0/config/connection-gov.json b/api-2.0/config/connection-gov.json index da7e782..457ff5b 100644 --- a/api-2.0/config/connection-gov.json +++ b/api-2.0/config/connection-gov.json @@ -1,8 +1,8 @@ { - "name": "asset-authe-gov", + "name": "asset-authe-Gov", "version": "1.0.0", "client": { - "organization": "gov", + "organization": "Gov", "connection": { "timeout": { "peer": { @@ -12,45 +12,45 @@ } }, "organizations": { - "gov": { - "mspid": "govMSP", + "Gov": { + "mspid": "GovMSP", "peers": [ - "peer0.gov.assetauth.vn", - "peer1.gov.assetauth.vn" + "peer0.Gov.assetauth.vn", + "peer1.Gov.assetauth.vn" ], "certificateAuthorities": [ - "ca.gov.assetauth.vn" + "ca.Gov.assetauth.vn" ] } }, "peers": { - "peer0.orggov.assetauth.vn": { + "peer0.orgGov.assetauth.vn": { "url": "grpcs://localhost:9051", "tlsCACerts": { "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" }, "grpcOptions": { - "ssl-target-name-override": "peer0.gov.assetauth.vn", - "hostnameOverride": "peer0.gov.assetauth.vn" + "ssl-target-name-override": "peer0.Gov.assetauth.vn", + "hostnameOverride": "peer0.Gov.assetauth.vn" } }, - "peer1.gov.assetauth.vn": { + "peer1.Gov.assetauth.vn": { "url": "grpcs://localhost:10051", "tlsCACerts": { "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" }, "grpcOptions": { - "ssl-target-name-override": "peer1.gov.assetauth.vn", - "hostnameOverride": "peer1.gov.assetauth.vn" + "ssl-target-name-override": "peer1.Gov.assetauth.vn", + "hostnameOverride": "peer1.Gov.assetauth.vn" } } }, "certificateAuthorities": { - "ca.gov.assetauth.vn": { + "ca.Gov.assetauth.vn": { "url": "https://localhost:8054", - "caName": "ca.gov.assetauth.vn", + "caName": "ca.Gov.assetauth.vn", "tlsCACerts": { "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQTvweROXB4YXPAbJnf3WhaTAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQZ292LmFzc2V0YXV0aC52bjEfMB0GA1UEAxMWdGxz\nY2EuZ292LmFzc2V0YXV0aC52bjAeFw0yMjA1MzAwOTAzMDBaFw0zMjA1MjcwOTAz\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBnb3YuYXNzZXRhdXRoLnZuMR8wHQYD\nVQQDExZ0bHNjYS5nb3YuYXNzZXRhdXRoLnZuMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEUiD8d66NSPVNubvUjDSnz+XbE07UVAAOTrqv9DmsItcOAmsDLpLNAiCS\n1FUCXV1E2Ctv3haUuXJPyXdNktKFoaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCASNRsJ8eXyeH02fhOFFqS7Zn7qprn9zvety5OMAlKWKDAKBggqhkjOPQQD\nAgNIADBFAiBnS4Ppuvk/gjS/OY2bWV9+81V0G8GndZlKyfBcmbQhxAIhAN6e7PEE\nnJIc+ubJJe6GC2EJA9GshyXI1yCgjjS+iQPH\n-----END CERTIFICATE-----\n" }, diff --git a/asset-authorize/src/api/APIClient.js b/asset-authorize/src/api/APIClient.js index 949622a..5ed7228 100644 --- a/asset-authorize/src/api/APIClient.js +++ b/asset-authorize/src/api/APIClient.js @@ -13,30 +13,32 @@ const getTokenRegister = (data) => { const queryAnAsset = (param) => { console.log(localStorage.getItem('token')) - const url ='channels/mychannel/chaincodes/asset' + const url = 'channels/mychannel/chaincodes/asset' return axiosClient.get( - url, - {params: {...param}}, + url, { params: {...param } }, ) } const queryAllAsset = () => { - const url ='channels/mychannel/chaincodes/asset' - return axiosClient.get(url, - {params: { + const url = 'channels/mychannel/chaincodes/asset' + return axiosClient.get(url, { + params: { peer: 'peer0.gov.assetauth.vn', fcn: 'queryAllAsset', args: `["ASSET2", "Than", "xe hoi", "hha", "111", "DQT"]` - }} - ) + } + }) +} +const getHistoryanAsset = (param) => { + const url = 'channels/mychannel/chaincodes/asset' + return axiosClient.get(url, { params: param }) } - const createAnAsset = (body) => { const url = 'channels/mychannel/chaincodes/asset'; return axiosClient.post(url, { fcn: "createAsset", peers: ["peer0.gov.assetauth.vn", "peer0.firm.assetauth.vn"], - chaincodeName:"asset", + chaincodeName: "asset", channelName: "mychannel", ...body }) @@ -47,7 +49,7 @@ const deleteAnAsset = (body) => { return axiosClient.post(url, { fcn: "deleteAsset", peers: ["peer0.gov.assetauth.vn", "peer0.firm.assetauth.vn"], - chaincodeName:"asset", + chaincodeName: "asset", channelName: "mychannel", ...body }) @@ -58,7 +60,7 @@ const changeAsset = (body) => { return axiosClient.post(url, { fcn: "changeAssetOwner", peers: ["peer0.gov.assetauth.vn", "peer0.firm.assetauth.vn"], - chaincodeName:"asset", + chaincodeName: "asset", channelName: "mychannel", ...body }) @@ -70,6 +72,7 @@ const APIClient = { queryAllAsset, createAnAsset, deleteAnAsset, - changeAsset + changeAsset, + getHistoryanAsset } export default APIClient; \ No newline at end of file diff --git a/asset-authorize/src/components/Home/index.js b/asset-authorize/src/components/Home/index.js index 42d12ae..90b6392 100644 --- a/asset-authorize/src/components/Home/index.js +++ b/asset-authorize/src/components/Home/index.js @@ -1,66 +1,87 @@ -import React, { useEffect, useState } from 'react'; -import { Button } from 'react-bootstrap'; -import APIClient from '../../api/APIClient'; -import CreateAnAsset from '../Modal/CreateAnAsset'; -import QueryAnAsset from '../Modal/QueryAnAsset'; -import QueryAllAssetTable from '../Table/QueryAllAssetTable'; -import QueryAnAssetTable from '../Table/QueryAnAssetTable'; +import React, { useEffect, useState } from "react"; +import { Button } from "react-bootstrap"; +import APIClient from "../../api/APIClient"; +import CreateAnAsset from "../Modal/CreateAnAsset"; +import QueryAnAsset from "../Modal/QueryAnAsset"; +import HistoryAssetTable from "../Table/HistoryAssetTable"; +import QueryAllAssetTable from "../Table/QueryAllAssetTable"; +import QueryAnAssetTable from "../Table/QueryAnAssetTable"; -const TableRow = ({data}) => { - switch(data.name) { - case 'query an asset': - return - case 'query all asset': - return - default: return <> - } -} +const TableRow = ({ data, setData }) => { + switch (data.name) { + case "query an asset": + return ; + case "query all asset": + return ; + case "history asset": + return ; + default: + return <>; + } +}; const Home = () => { - const [showQueryAnAsset,setShowQueryAnAsset] = useState(false) - const [showCreateModal, setShowCreateModal] = useState(false) - const [data, setData] = useState({}) + const [showQueryAnAsset, setShowQueryAnAsset] = useState(false); + const [showCreateModal, setShowCreateModal] = useState(false); + const [data, setData] = useState({}); - useEffect(()=>{ - if(!localStorage.getItem('token')) window.open('./register','_self'); - },[]) + useEffect(() => { + if (!localStorage.getItem("token")) window.open("./register", "_self"); + }, []); - useEffect(()=>{ - handleQueryAllAsset() - },[]) + useEffect(() => { + handleQueryAllAsset(); + }, []); - const handleQueryAllAsset = () => { - APIClient.queryAllAsset() - .then(rs => { - if(rs.data.error !== 'undefine') - setData({ - name:'query all asset', - data: rs.data - }) - }) - } + const handleQueryAllAsset = () => { + APIClient.queryAllAsset().then((rs) => { + if (rs.data.error !== "undefine") + setData({ + name: "query all asset", + data: rs.data, + }); + }); + }; - return ( - <> -
        -
        - - - -
        - -
        - setShowQueryAnAsset(false)} - setData={setData} - /> - setShowCreateModal(false)} - /> - - ); + return ( + <> +
        +
        + + + +
        + +
        + setShowQueryAnAsset(false)} + setData={setData} + /> + setShowCreateModal(false)} + /> + + ); }; -export default Home; \ No newline at end of file +export default Home; diff --git a/asset-authorize/src/components/Table/HistoryAssetTable.js b/asset-authorize/src/components/Table/HistoryAssetTable.js new file mode 100644 index 0000000..d7d9ca9 --- /dev/null +++ b/asset-authorize/src/components/Table/HistoryAssetTable.js @@ -0,0 +1,45 @@ +import React from 'react'; +import { Table } from 'react-bootstrap'; + +const HistoryAssetTable = ({data, asset}) => { + console.log({data}); + return ( +
        + + + + + + + + + + + + + + + { + data.map((_data, index) => { + if( _data.Record.isdelete == false) + return( + + + + + + + + + + + ) + }) + } + +
        KeyManufacturerNameSerial numberOwner IDOwner nameRegister dateLast update date
        {asset}{_data.Record.manufacturer}{_data.Record.name}{_data.Record.serialnumber}{_data.Record.ownerid}{_data.Record.ownername}{_data.Record.registerdate}{_data.Record.lastupdatedate}
        +
        + ); +}; + +export default HistoryAssetTable; \ No newline at end of file diff --git a/asset-authorize/src/components/Table/QueryAllAssetTable.js b/asset-authorize/src/components/Table/QueryAllAssetTable.js index 7858a5b..b0967e5 100644 --- a/asset-authorize/src/components/Table/QueryAllAssetTable.js +++ b/asset-authorize/src/components/Table/QueryAllAssetTable.js @@ -3,7 +3,7 @@ import { Button, Table } from 'react-bootstrap'; import APIClient from '../../api/APIClient'; import ChangeAsset from '../Modal/ChangeAsset'; -const QueryAllAssetTable = ({ data }) => { +const QueryAllAssetTable = ({ data, setData }) => { const [showChangeModal, setShowChangeModal] = useState(false) const [keyChange, setKeyChange] = useState('') const handleDelete = (key) => { @@ -18,6 +18,19 @@ const QueryAllAssetTable = ({ data }) => { } }) } + const handleShowHistory = (asset) => { + APIClient.getHistoryanAsset({ + args: `["${asset}"]`, + peer: 'peer0.gov.assetauth.vn', + fcn: 'getHistoryForAsset' + }).then((rs) => { + setData({ + data: rs.data, + name:'history asset', + asset: asset + }) + }) + } return (
        @@ -54,6 +67,9 @@ const QueryAllAssetTable = ({ data }) => { setKeyChange(_data.Key) setShowChangeModal(true) }}>EDIT + )
      2. 6-cml&){t)tW4&?@;7kp^GU{XAb& z_b;Mw*17c1I+a=8Tynx_E3Eh5*bJ=6=W;%}iDmL*Uv#uJGmGfqzyA9hhR-GwgWoR) zENzx9E9L|$<(TB)FnJc&4{@t47IO#b$m;ztxW0U@b<^x${w1-iBWHE>xO1YrMxh0@ zsX<$DUFDr(4jv*rX!S_d^2=HccfU?glV8U!e~el>4&ixDagpDF!s5eDZi97B!slW* z$wFo(h1Q@*d2=P(5cPl`(xWMf7EV1hZv8gAi9Vrufmf*dr*g38A{p*rR`f#Up<%11 zBjuO(0lId7CsY>{F;vPIT-&)6&?$L!prMfG>ev0^-)gu*=LO7Dr@$R zt=8%#2~ye0iq+}Zx`W%V&&-S`wv7Jw`>6wd82!*sj9#IZBO8sm!1424)Nns7tO5oB zz0pC7^o^8(R)wQd6z1(q9>}QkU0r{aGYq~6Koq-De&yvGzQ6N{W1D+ zu#bmOl3RM3aB3W$;Y5fNPQuoKlfd=VsKX9QgqZmg3M(T5a(h*?W(=-++Umkfun zAz2$;*QG7(Ln!F!LJ4cD@OIde>P2YDX-l1!rZTdK623s2O&;lq3ExEU5vt-tuHN9$> zQFy?t2wD&D{-?r$Iurthd~`Ny4~1+BCzUSB*OT86sdA_(RzR}+FQj6B+4~eP?~i|8PHXbLe+E& z?b|xXjM^L7@CnS~tcW1AGgs;3qz{^gIqhS~bK&Kf=1H$!Y(eM&O?S1pnjWT#o|V>z&P}or$2m z;x-)?9kQDOisRFJxfWo6kWp=*B!Mhsgn-=XaX8hU6S9YLo}0v#fmB} z^xcmg5AP4xye?seGE4#agLn^A2F`)))ht)Ug~TV8Qkuok7>mjJjGIoE{L!@p^IkPHG_PH=me zUr(>{wxy7*5t0A6o9{a(w)QSP5mB{}*}RnPbANhFWNs{qOP>W~f-kjLd`2uH$<#HD zZ|=z@cjluD8ht$i>N`a1%PLi$RlpZ$O=zJ^bv?(mYxjRO*3LV!4OyEFev(T)MRY;a z`gN;W(JShq_@xl67D28a_dnOC=Q?&HIWAqhgVQ$Zio-HS;2)3OVn^+F>7B>l4hw~P z%%6^OV`EjStE)J=sGI#zvRC_Jr>->9T(K|I@FD3usdM)6SlapdWdAaX+ zq~yP;6vFP^Z_edu8ISkv_=5oUN_y5_h$isln*z;)b@fv8hOJdVn2a5N2;6Q81ua>B z71g}BdwKX`^Hh|M7C)rxsrz`<@5gH@h7Vs40YLq(+LgMx8nJx-^}rhbIcni2%}wEF zFUO@uw@Ffj^`^(wvghB@^5c$&vIoB_z#Wp`Bq$09H2eD(Pd8bBFJJdhsH*1%P~xA2 zx$Jp%23-#YJ(34qL`TdP#urt#UvfRTNIgtTo&S!mv^?F&^!m0*Cnrk}E1S+U(WmIX z_k zLZMJ)EPg@v$3Z(C)jKABJ8CXICn4uH36Irlj|e9>K-T+eq1$cy>Tz=ImDT3k&-qJD z7H2@#;pMNj`!pK@$pC;R5mOCdH}VD2!*$>z8y_wQQn)0qmg!1U>GMqWfZ@~**_$^; ziwQN5R6<9!`Oe}ym#4b5yaPGRk0%Rn*Mc@EEGny%OFi1A-6k09OH{f9BHea0R&M~{ zdpWB+4{QevwQ$JAyYt)e}?FO|9+XNF|feY?%7to*sP#Uu?O zPz(oi0HLb~a%c>E*v#g{r21NeIGV~-R4jt0Z$QOx-KAk2Qc6hD;_l5A&D{(DS@cf* zw;^B7fnHQ=r7X}dEv*Ab6GQSudu$CIdh&($%9hk5y6XI=Y$ppUFkr_GE_u_SrFV6! zk3{^^PnvzBrPVT!ny4uZp$~>m88}FrSp6!Gi1=VD)2 z(`gy7Tb{1Y{TK<4QJhn+gvLZ`>xjr@CBB*cnFQ9hBDHV$Q^uP@VppX0M;#_e=PkF2 zMWe?EnH{5`2kZlnody(WL}VmUaafp_MSIMSG6dNJU9|M9(s%+q)-{Ntajo}Sd6}sn zD%sbhA*qce&w?8T?f4C>cF{5Hu;|eh6>0xwCTTi2#9hS4cF~psVFYe@J93#@`po^x z*?7}dZ_i_MZ&nh-D>iMeN=gYw!zn3cla-)l3fMCmjTqPNSECDsa z*T}jWgaXF4bVW?#OT?g(W%hWa0CPOUZ%{9U@tT$+OB=lEM@WlqhOlc}3MUb^wb)be z(9v1-bKoo*Y2r|$G^jLKn{{Nat!b>XM6@#G&_7-eO1A2lnB?NGaAceSfrt> zbZ^AlN^ljWaoIFu(9mO}ph$?GD=iT+m9G6P=FlZzAH$Ws<7=Z4$uf;~p9lzKDMRuf zD2A4n8~p{`3_2>ShnZ1(@)1x*s3cGjvaN&w~6GwUYC9u0*N9b!U~Sl>W$fFu%VT+jBpoS za2BNU33}z9#Ac;OFY{yGxfMSof}Y9`wfJRNRo$~l5g~{Tf#JUhLu||s=4=s-1Y9kb zrgnM%xjyH5jn`iU(|d$wuU^>gV5Zx}=WnHr>Ghv-$*XP` zDUbU*g$e3hDZZZ6_i3M~(L9HteOjTq_MscKYVIX>Zw%QZnU$hKFw=e!hg#bSrBFF{ zI$JsIE|lkQxwd;A^+#mHYb?}`E~~I;IK_>YIa5q^@8bTt6k0)FTA z&THi=Yh)|zky85&F8_2UI7Y7oxfzKVs;0UbiF{rkFp9eTGtj>{BA@2;mA)jMp-J*( zByEn*Guush%>ns@szxbF8~s%W{2{{~EKIlC#$ftuk^uM$?S^JA&InY~+I zN}-V=O#{{euv+JeF_lwXwVWZKfEV+B7Q_ z_pMXIyI?!ng4;zK{f8^YMtlPNE8ip3o~7tKBjQ!45w5kf$a&vNSW zbOrdYA&a@{$tC!)_#y2SLrGdxR4TC!J73Ntd5qF(*&vny9!{S2_MY}-<|(;LUY46R zJ>LouC{cTX?C)@z*r~V&Z6KAb6vx!xS+9NjAIXq)B4I!#MJQMxu{Kp*bh_-9lVIn! znnV$8|Hpp|En645sT1zZ+@R9kbmJwivHU)WFXD1f`Kf==*YATetPwu(8i8Q(YkK$Y zon5EhW@NQlVrSTA6G^_H)830Yzy%rTWbSj^n)^*kw?cPRrWBOQT17vKQ&M%+^Yp51 z&GiLjNqtFOHQ!V(tLNkI-n2Wfqa`=ji;a=RD#Uo&+|iXJN4}A$+aE^T`HrBS*}6`T zJCC~*Pm6A;;UT%E1s-@RKc$Xt!?~EJbM}IykO*Ik)04@PUHmzR>23xUM*dE(j6MU@ zNcUjGI;TUN(8_biNl3NCdF>LFmz&$#UpBv0j1Oo(7Uf&gk*~ic66il~RJ8PMj7{&% zMUfhAqbBmEBeEU6qJ}+FyaDjsf~Hj|cy8#%05H{VF|d=r7ZuFS&gER-ym&vrqq_{Z z6SHS#b7DCpEA247iI8a#ch+kZG!u?nbp8Gx%>1nM;#_5vd@zi3qSLVK(s3mj zSz|2j%WJyN@OHWk#q@B4*yN%XJ3DA#%UB2f2P))J;bzM^diC`}KIWepe-X^o^~X1p z;uhb)-5Hgk=h^(qEFIllV;S!=I{0#bdX759-JX+Y0PdQaI+hp6pP7|SL%^0KFz$m~ zL*ADI?9+(RP2I)39K|f8bz6Jm*XB=;V;`G|S~hnVD%+!Rg^Z5l%ly=Ijde5N7gKot{W#m`B;*V!uOhUwL%KSetpu>|0Cz9g~{|GtD7}f@ckVI zkG=h!k&EYtoCKWWUuH9FdZtvQo6dD9f`V&&z>n_kp}R|^hVGJ-9D3-Ml9cWiM!KZyp7;Lw-gVcSzgTbP3+0CkzNNt+j`OY{^QHGL zd=ETO$g@C7@lAjv_Xz{EFxF;|OhrG1ku+N zQD()07I6!8yi*ZKg~jfmG(>e^h9tPDfLFX{;dKEyOCd=hc~_xWZ}VlQzIPi~O6|;(bq-V*ukC=_~bTm0SvfjIwm7t5>0wbZnoHKP&a& z0)YZSa#9j%w(!idzH2Igu1_L^$Sd6tmY?|Qk%X34j<2KWf2P1X<~&A742&y2B}&ON zgnJrV^MgQtF+x-{urNii3f0T=2Xy#G`!RE5b!`)vES^fou@xFmmU9*pKpI(PjEYG< zFo8;n0;LA6Y@;d$yK#$97C(qFYu|JeYuRQoA%*SntO{MXY*N3#( zQ+@!mtih&*1=SDIplbGr6D#N%dEVu#FJb(6M*45^5vpIGT&<;r%%qdk^I{T{;Bs}- z2EJ9RD8~S!Ju@jrn5+fzN~tJ&wWzdWUqnR%J8WCH3V|dQ2WMu7BfuMMSaLR6U8*=} z>3BGo5#Pxh`0|kvE(=08F3XDDtrOk-`FuYBB;jvx4+GA^H;X(D=GF_Yd4Cx z_yQhkb1wrh?o$d(nldS-u}CI3e>xodwBp;U@Oz%~hJecwjTT*vFP4AZEH)dx`d>Cc zI!peutW!DiKU(zv_xG{^8c;LzCNHJ(uq~8*o_4nN_yid}o7QuDGCy z?mJsPoW{|$@BGMkI5hpvAn#4a2i7A02q!0r2%P_SCwCkzXstG-(=P~g1d5c4J;L`j7>~0-n)^-)z=FWr$$JnI<#FcG<@(ClK(*t z6o20uJbpc&M(|mV0XyQyKemVd=ea+>_04OA#tUDFg$BO)ob7j0f+hqeE@z5DJS{Gk zpI^;&pxb>6E^lrRZQUmDExA08Dw?+!^81zOeAi!-2@$s4IaAN;`?wowH449d?{YlP zC=-*##4G=TLl4;hwj1mmn$vJ)$ZH>yeN;)4DYvrZFGR&;!lUA z2FnbIopa`gGeduNZWeQ*m+!of*Ic@Hn?k-(aPP|}!x{UP46NKd9`*vx=pHt>9v6X*1M)mp zg%0@85<9^tCv-1k~8t_~b!o zrNwqExrt+O_R`?slB$lPgU{Y5V=0M_C@}wyr~y02t^b zyt_HN?+WnT>CI1ak=+FxB(AG|myh?4SDyqqW3@nl%Z8Oe{eq_Bf^XIUm4X$pQRIK~ z-}f85(g7{Lw*qM~Lp84Q^NPG*ZSG!7Og+rV1U$(2|9MFZI3$&NTcD0x1}Azq4t`SXMF>UIGz%#nG5zm%I{H8=aOO*0DAnVe1|%AHevXuEmy*DowEu z^5Y1A6xL0Eq3p8aQW<8#K{E?YBOafT=dbMzB*CHb*5*;nd3jJNkOU7O3vVB$IQSuH zT^1R2x)KQ{Vc`u`o4gCtN*eX~7Aj9tO9}4ohMcRC5KDEleexog1`2n%hE!QNAQ7MZ zj8w>9nC=dCH!n})euHLo7^*v3Qv`?AS$~igPbL<|BEbkPEj4te2$B@Xcy1I#U!yH? z6@wO$EmnSdR;X%a@*Fg-lfWy$76X?0ni#!F6{ojF5~mHec996nc;L%tv&LyE-t#*CT*Dl%+I@k zC%n=DiAMWwDb+zOiZs{)RSXPZu9?`K{44eyCL19>Qb!rDwT`pqm|{H zN#^5LOth_7hJVsjO9vub2h!&I264ZmwT(_l69xNpn5Zs<^tKXJXVPzi#%=25N`#}| zUa`|CfQP$$U`$9?bqWSgCN-&a2LWj+c&I|ZI&TaC0Kb(8fJ;ALE54z($95$N)9uzpjDLM^Y*y(r%#^J zf080Fw#jqrr2sm>4Md&qJm0z#bITH&;YcV$052kz9QZe`d(c~MV&a^sBu}@rLV+1r zmyaYKY3g3EB!r%c)ClQzoc+XyD~H1Bi4I#9zm7ggF_1P>(mZKm!K{Kkt1OtS^^Ia5 zl@YLL2;mzn&7qMqh0oEYG{Gd{tmv6j6Khdoqy$zlKT0|1oTEiB)7jZKPpPu(E|B3>t=I=KFZP-i$WH7sS{r_lnu>@ZIT$2sojGAOq92V$jJ>S4GGhFMa;&5~he^f%Oobk`Q?4DvLg-0h8| z(j+h1T5Fme{k^J0cNemA&AfzFLzB(lS&#lW;E(txrJ%)Z$6AOVX8Y6sFiY`2am=2< zrq449t-@yOS+~kv7!=yW@0FHFK28H~hQtg)H_1!w!P}tSg+&V|f zn#A~(xpvvCh~qK}%{g4jfh1OtREeYf;t2SH)bo%-WhUG<{nibWFPwxMYP1+W+Pw#| zwV9MePt&LR^6F%yY-@NaE$~ZiO>IYh6<(uGxE-y2D4HT&DxkbUo!wSy1{5Oohp9V? z)tA!Rp6EmbbdTC$lNAjcB;ITUdxv(-ekDq&AGe1$2nM{)E+zAG-ZY9rR%$rBfw4SgOzO zs5W>@+0O&{VcqP49!)ANM4cm`;V1zwl>#})Fa<6zE65`q84hb1E*rd+7lsQYsrIF> z`6c$WxF2DB1v+*ZP58nal*WWpxXx4jio1)I*#Q+~?bO6NXiKQqVmX^_-~gdPzlqKo zs9E~<+s4BuOQXKpe#pjlX{UaH@)lT2XAO#K?h zHc-L--gRRRXdDWr-z_2tu_tI~#i$KR(l3P#gO$)*u{kvT?ex^4@3B$#m}M(xRxM<^0FW#aqGM z!LkaCzT_s;AgDa~hE=|U!1Y>k%5yXtJu4*W&G#Q|w~a6_|`6NigZ1NBJS zudK!TI`a0btI6xT1t}oEh}zJgN&nfq-isgkQ-xU`8$>A@3HD-s@y*%UotX}ym!>$T zsOaX?tK)vrGau`fpXXlGo6cFz&Q;D4RnxV*(L4Dqnlm$tj_9j)TCK`EUbZtzU+q35 zlVXBwN$(jNJ(fjdnJ+$dhC1Nkw;CbV?1FGtJc?Q(HEpF~ON{9Ts2K~zdgO5bMd zvb~JT6y3kt6Du2&nrSO)vg;ZuLP1dxrcdcRf2O7yhtZnJ0ED3BCGWej2(>q4%i&+; zl1KHA@AD>Yo<)?$(~DzH996!NYlYtuqPqtt2J1O=ft$mxulfAe!%9jtI2Z$^&fd;> z$o-AG-aK~8A3qX}>;O(3c^((5A-3wmTgt}tMX{3`q2+Nq8m_{6ZoF-`r|o@)D&)7oT2BV=8)kKy(m!+o`$)90+b{Y&9ErHVF!?=A0xfn3L?`!5 zV!Eb45ubtuSm2W!`~SzLPKnZEb=oW)1nxPd!VyC?s!|YWaM-^Oh<;#iz10bc%E5K;#EFnW@(obiPPDJ_r`i>eNT$#P@?>XdWpAoN@v1dfNQm$7$J@A*Cj zv1hn*T10P3k;F+Jz0V=W$P?CtBC#+5KG*x%)&jiBBQh-UDIJiU1X%BbU{p1z7l&5RZX|E-b)k zg|J>%L8oSPC|fUqVguphKyhjcKCC0m!0M6CV0J`Z*FI+LWfCYzIg^ROXs4})DU4nc z$c_LgKvo(yCXz2qNkb?e_P_$UFy*vjlKyI!!ZK$j)rbk0j)r+0;v+FJeWA_g)bT&Q z6ngImOVhdov1o&ds^)E^)_k>BW5OUC7@~opfuZ%2Y0+@gO!R0|-tZ(7;uC4`*qO0P zG^=Kkx&+n&tFh*_B-wNk73cN*ATRC-%$6i3FtBbOR;T?reAElzZ4>v!vEdH?lt)D78YTR@40N{8+ zD`)PL=BrZlWFMu|N5IUMdSe;^VLqz>jdv5zBm1K)eS3UWg{sr9c;pT8qXgc54{Qu zt0+Is12crl8pYtn27)DeVwu$-^43q36Fg-FA<}K`zPAUJI;(TVnT%>uHVM1rOu;}E z+-&7zA6M2pztg2_K5#IA+Q233YN57pTX}z1-=HVlaW%erlM-UA^1LuS52$eOqcjx0 zYwQ2M@9rbV#}QI%O|8W`R**;U{jibujg^=YlTQ^BswT(NIAZ}_MkJsl%@BT#re@taYsQufREN77@i$xBZGNFN@ZUcPq4_BtW_4qlVDt6r-~KJNVNq{l&Qmm)-5?VeZ1 z3YL!>V;>%-E8lzVUtL436FKLYqRTl;RjvL0{Qc$M(c#iR!!K8(qEsLbmN@hu;g~gS zP{6u4XgRF?{+Lc=#dsSRjR;2itsbY;3Qqi%4v}ns8B2hy)@C z4nR`D-3{Igb3I<`LL0uLEkX`Rp;{x_ViX~{6XgDzvjJPVxJTX>Y3PfC?E9aqk7&A^ zHIW65^IW3#Nt?#=?J~kwzK4IqU3A{aTW^cYv#53l7Aq4=5bvfNOTSU1kJmgO<(MF&<+P|Cw1X)Bu$HogGUGX#cV zJr#3YyV1bM$D2`(V=k1dCIXAgf~hh;g7Tl?*(|tfG}TCoO9QaUd;%~Z?wYbk9Nhh7 zBo&;T1>l@WM^xdQbhXH*q9BS`^ltjhVV-nzB81to!dOh^j5Ph#Ra2_(uo&o7&5$Q6 z>J?1g#F&Axm~oxM3{^lCdcy7*nYC%+bJ%*-PDn5a8o1&2yI_*3S|u2q&X0?8fu*Ji zB_qYXVCZCS#m2-W&3S$orVOWIZ2r@OiAA0WOV={>-MTAel=*TlKZ|Qv$%;gn(71q; zJZPzeJq^RbJ{o;9!^wi%No;SVb#^prw`}QXA}3f88^RItXxl9&;Hb@m;xP!LQ>9rV z@}P<|5Z+fYS!H3w;;om%T?N;Cq>w`6M%m{ub^{vvH zMf=&ymhsYY*)zMknwtGAhXNj#x3BCI%{3^bY3J95))cywE89r|)35_y{~gdW9pt^N z;Fa%HncBIK`h6V%7TB=jXFUZjHLRzuUOTT55zN-c6?ZZbzA^mrM_a+x@v#g+Nbmhf#OkDgV^6x1)@85w^;9)uQGPT9moA6>SeKt3D=hbN#0fTn0iAq<;25(LEy~xKb1s zM^d~*paI-X-+3NQ%PcM1lOz+jUoxWz%~F-lm4(b_w*Y-FLRyfrGR z)Op-~bGgn}PssizQ7OEPS=)pwza4vnG$0axM52l!v*)JD~6_hJy%a}NJ7aqIlf(hyumpjvi_KZdyd~_U7ogeM9W2Gqo!wjZJsVM1 z;ox9rwtmMWFiuzQ5cL%(!fO#2S0nMn(5S#`ao>O5_mhiGo<{Mg`-JR`&Vf?qj}VFP z`tx93QyQN)+ouo_&%*&6&0&&A8xN7i`q7Kq$n09YkJ9n=Zxs66G~FzVs7Lxd`I%#o zb@MiTWNiTOPn1*V;Bfvwv;+Y#g_uv>Kgay0lKmOJntfdgi@w4gbs+cQo^AX|0#jk8S#v%LSn$LTrjsVa&Yku9*}%QlQ{K)$!_tHy3(M zmNwqZsGZ%rn}El~F=wT=#@gm81Mlgq%-tBl`u&WSgJ+fTbBj~#*-gI*;zp|zT$5*$ zOLE^WGI!jx^(*N&8cqJ`R1^}sUQ!50)c@EqtK74s9%KKmuisR3Hjr) zZx=*RAMwi(UlBV`i<%4(5o=VEvE43DlUB9#So=4f`Kg|1lu7un|G`#}YZ*U`5tKhM z{r8{dz9W_bTB(wYlknzer=6l1ME7Q`jFskD$R(1g+MwG=4@vZG&(FwSvEE}pwZ-w@ z-(0kTW0=YUVG|u^xt*RC=PWMt56MQ_=)aYNmWrhhB0?P3R$floadwu@CVK|U_Cm~L zA&Fc>HCyA3*4%?YIn!7wR_H!RI|sHi9kr&0uU#P9|)GB(A!@Oop5onfv)( z+->}twA|1r5)r{&u%E9NP}?%{@@ie7BkD&mQ6wjAnHx5T+k3AK0@v{Js}tiBnzj>a zNqGOVzs2JyE8D7)gFWlL8?&c9N(5|4KaHXV1I+Lmfp|uf2I!=%q(aD;FW4))L1zRS9d5Ok40j@L z85G(mnBB8hOqe7?STKgMb5&-GIt})Xn>lp1R5iB?zUATJdyBxtkBr2pq||Zx`QsON z;ytem$hvlX2lcMa-EOlBMi*pZxh*S9gV==)5>TS#V$*$2U-+N^#@?G}Bj}-tJu(#?AdCP_J46e4HJ6qv#S@xpb9i^-Yic@Tp@T1aU0hOk`?g?=9O!=f~uB~DIBK3sg za{32-kYnvv<=MXS<^<`+l|922EG&{FUfBUXO7;jozlE>$?)ne21odom+br>XA^s4gKKhHeGRs7QsXYbUESK!(Mti0xNghF_`Fl`aygl!b*wKs+kA7x1R2$Ze2X z!dMmkQ9x4^d>08R-1YgduHvM5q#p}^cG-PcLJNzEBuPU@Te|sG2!@l&9}rMwAsj6g z`gRIisIM=g&c!58*#5^bp%yp^qKFr1^5Bk4oVM|T z=PFUzCk;&E8`MqxT7!g4`f>aX$f zMF=S{6X@eGA!8KuOe*O=MoQVk_*p_gUT-Zdkk24DYiydtR)zd=F#5417bPtIcxE#~ z_Mo>|PZ_WzRn6+^r3Pp-xukM9d9aH6mvd0o0wPWm{}`;ksN|jcGC@JKnYe#$nykwO z`nX&2sJ<#s2RACt5QP(mxL|%_>L!)up@*6W%ic$k5K!;6s1v94-mZy@v*aTvNZ?U3 zOr(dcd+JU$8k(~rS@yKj`F8Nj!*D#NKby`Y zzgb<14I@+d>;+I>e19j@aZmmPh$pv*-RyPvuC`SU)o%P2q;ez<=AGNGX=~ zeSFFj!4B~<1}TR^BxMCcsrsF?)d_N?e^PVPr>KdOCb5>Ik@b8!#2&6Bk7`)riN)+_D*cWrT*#H*ls~VjA@0Ov8 zp=!x!Sfp%jxJoF)+(6x;qM4z3;W%P|x@Q;I&R+rAj?%&F?EZ4q<7l?yZmWz)@4k!3 zf35RDUyhbdQAav^TIO-SL&sp}`&+-mIGGN=jVU>Zc~oxmIYm{U7YR=|so|DK$M%KD zVdDY5;mtPP!{Q_QcU-Ofn^`@-k(QP7z9!`2<4woIGg2i*pwMarUdE>I^JJ~<$nR0# zqy3^c#Xv{fpju;WRO!Cw^WDJbhd)lJjfB10t`oE*cuFK~XcWb!* z8w2AmQWs^w;09nQ95M+e5pmJIqb|zw)6~CA8}pwRVWj0imIqA)79jn{d{*67+b;dr z@eM^ikLMvCebkbkkGHF{@)>WUzmr3xkB9j_x85HdF+U5q`2KJk$wkLVhW}01q3wQP z-83?CNRITa=GJwUvsW@;+R~8kxY`&pyg8**`YxvbeCwIelIz28+BH79vgKjHqvN&> zf5?wqf9s1!kn9(FDJ;^#8ez}lrj(dWznwx#|34u|%?~&45kHy_o6Bqudv!e5f_yIM z8m&#+0-XG_>qx)qFfcw&YF?*2l=;Vi#X^-EsC>}7>tztUKnARQD|hc18+CF5JzY(dvEq$ zClGa99||o6%zC`KUFjFQcp9gO7v{fTW7_?Y>EBc;HQy}Mh26RB!YooUah1G34a=92hFJEvagQt_b8 z@}I5p6Wr%-&KEgNmg)6P<-(xOC4(<^HR&%_rUw!=uo|1P%SCqTc(p=a$>&Oz<7=12 zhe32*I=j0u*IJ(x$0;9ud_C;uRj1Kx5n{7b0)!Wkbr&n);CNyTmf~4fDO9fdEGpW` z?Cq7#-j}Lhm$r)XwoE1#Clxq*hSxG|iWv_BH-DVL1|+1hm3nb#EloU92656}9md*9 z%|t2kxoRR(-{aRlT>DQ#c;AJa+HzoO*>YtC{07JdvC65~!Kym8@WdG%m-oS>#On$| z5xWhqkQCPVVHK=HH4AphiJ;*=;8%H?55JBA9m{&a@do>k1S5Ec8Ij+qrzy#%Di}d+ z%?K}`^%SOlE}fesHvt2>8D1cP477A2(}+baFgd^vdRopSogG3HjzI7LOl58jUE4a9 z85o$Je)QV=b$%UZ&C=VV#0bbywOTXN|#{$}({PF_8n0k_1R5 zm-Rr1YcYAA@mmZ|$+9-;Uka72epcw3HYP-Vt+R`sghkTGf{?&@hw(WBADNYedHJ(W z0?g*^rxJ7dSVydhIbY}6u*fm-Yp28(OaHp-5U|?U!xw0Qt?lz- zMEK;OPyZ_wFg>O{@w6m6K^HX=aU%6fS*Dsz0jpJ*Ghl}p;YE*%+H!Q!yGNF zrY?qetrel?D-LJly@4~ZGwY8xTbG6t0YJUuGXBx)7>!w;McA%F5 z_Ug)Pc2$k8=4VVwq<4e?WnE&JIB+d5|sZ3 zr3`g&an*-~fwOYXx`T7?Bi~sOhqi;6O&P-PAG}JZtps(D#yroZX!_g2OMFFNm0vua zUTO1@N8`BPfKUIJpM)_&Lnyn~Ju`{=L)OK$ zP4fqEKTs25(90*VUe&Po|2(;v=b-+@hubr#?iHsly(1Zx_jfzP;s3tH-DJjJpsx?WwoLvviE(xJ<+@;ct~TI%#PH3AGpe;d zUx;VyPixo*AleKZTct>Yxe#l6MyM6*hS1Q|g zsh?O>)zmv5F7*xSEZB{}vuFr$q{Zx|Na&5q6Et=++3?Y2RkmmYlJnDCM)lqiC6Pl^ z{r+O1_le8cd!PL@^xI119l(;Yg`$wsOE=UroQJ|ppTEGk+_sR(H#xa$OcHlpO>ZEruc zq=y)#^V@+^v`hb(-xIBMy>PAnYF*+xV`F(=g+U#fU-rWgR{&^0s^^BcD;gk&{M)KgIL6r>+m zqzeLf-s+kfUV--lJbb`ISL5oNJd0W$A--B?`}Lk`(}mQU(t*GHNEENF z{{6AaX}?$G2-&^!>#*#oRY3kA_v1GSdKya3enPru*$sB9GyCqz zv$JUh%W!JmUYOg(pSNni4^bjyFG;MKcNP|O1YdntQrwa@Mk>ZjVKJIgrXCRWFs5K2@7bWtl)YVnh@OKbk@SFBD z51+QOQzK!uX;#QHQN9Jc#d_4+aa~&bD1B=(5k8^i9sUe!>df-W^T=|3+0Ah)Yhy1z zq~V`0^`(>6mU}c6A8d@vvEP3~oIm@S69)iHCxxRCFA-nmSppr;I5bzC7pGMQi!oWf z3tz22rX20^2D<$}(F2#ak9*PrEiK`)Qhc-jK{3pve#?`^Y4oKI_z;0mx_A@}Y9XjPe`4Jr5CiG1?n}BK^)g~h}AvTcyJ-Seexq~+>uqP1xXa*XuU03dU{Fy z!?O=B`QsMI<>3&Pb3GM7p7I5=wLLklmv`TasXI#p);itvW$v3^3E@6f_V`N-&1-(~ zdv=z7I82`H=LV`CQ;%rD7KtN?NSR(mDIiSjqNj3T^Scu;V&muiU5r8Efr{=57-6cg zvXN1lLV;Wy9*~+Y9kB`vmiTjJGhzw`X%+e6Ob=9*yp%5(k_%e}KVrmU8X=PeVL*F$ z*_)K4GN~NqiQQmXRVrWsz(rzSkW?+m%nOqlc8eomEp+_P_cbI)MVY0LJn%|+ItF4( zRy@x$#@_C1YTA`9EJtc<0(x$76ru{VRS1*-;sMb5uBL@)hBXOaZG;>T1caOa34VZS zJP~Rnt6PX5>e7sUOH9flsU{bX=S(iGy}~sV)pR;4kj_DGrs;g#H%F|eLb&J7U<$!u zIaP^^d1jqoeyP`lCkxW@oJp)!V$rU0D*%-lV-x!UWaxPFkytgt|DT<*TeW`(D0r| zfFyY6Of_TRZ>VzqhUi%9H+}?a>$3e)-=}h}sj;!Du9aJ4viDA7 zLh%)Lc?!o-Al!?`UJNFlghgV%tgZh_Y;#OV5`tCewuLRrHql8NEaGv|8s=$X%0FO% z(op>9O(%9<^7;Ea|J~@tBT>h--Scw<*_+QKB(-nUq?pQQX8LvO_o1yc=={MHnV6RW zf8vf3qVu6IEjEo+V)K+3y^dN|?#@2k2F- zq&Zhu4U{pqA{QgjKSbJ;7IxeZo6n|yB8>CX1a<4n*Lq3{AJLy5oo$?dun&FtB4ELU zO_p#VtopO7In0q5tw;M>e*BLa`a!7eaL1D9;o8t&PiDE3IeKHZeS1`M*%w}kuem>8 z)Bf&pTd4g)GvJUBkj_6VeMYisCu1<942{eh-dWB4BTxXMPyz#|nom=<-=VU6 zDsK`V0frvX%GuF=_NUh8!te~?;8)4+E3U@#RhfCDxcF4WzUjQ#w({}t63DY5l4@u% zb6a;t9R4bP61(|p>Xcsd+f(m;8HiyxG5GwcKElO#y3s0n(!B0lv2)A9C0e2`lFK-oAYc3^RO{7G&meuRdL-?W+?FVfy2gW`9u6-agLt^H2 zI4G~jJ=k%pfB6vkxQTWMm{w0V+N(zfoKObznn;2qW2nF(s?Jxx74A{JQ{6Oljh2^( zS*!OC3ATIp^jKDOx1*bn*IW-bi>o)UN(QX1zC0fEuUua=h+g;9n*Wk_;Cz~z7J>`< zIAg;GV&E2cY&WSWEhX9Tw4eQnZ=Z0M|v0$YbHcT8$#158} z3d>1CVz6&_>P3W(Jljc$y=wj$JJ076r|hC16as#N0~)7(@(r-dC8FXqpxyG;QdnSG zN$@Li^5Ai5@NOTPx<~`>wJ`B>SM~~v9$jlPk}vON>7~BN;*l^^;ex|*1XPi((kc5Z0NPLWm^k!8PRDO(GNePbkF+1sK@;DRQGTJhtO9v^!#C3wg z#_{6#Ul0;>hvwCV=TSZ5;iHe8IdFdyx|a1ZbifJ;4J8)tiF>WauAHnSB?*?_5srwj zlPEw5&QKQ)s7L#$6Tb~6QCP0nud7H3qLWEBp0{fjKBm9SiO9q&__+y z%R}mYbk=IGsU~){hAmNzOYT0(W?MHct)gb$%T9|)f^&iKrH;2xLwze$u0*5gpcQ|V zEH3OynI~{2E(d2K+d6S8CrVH!sLE3{w9m8Cpz{8~qirjDcB#I)+Wp~9+e~~)UM3ow zAL9#0ZCi#zW3u$u``jV6FV5%cKJEt#$rPMp^2TOe-AyS5{$4xXs$!ghcG)Rn9-(0B zFR|F+1d+o^pSdzcHX}Bc?t;nss28wahe3u3^fuS!Sroe=K`#P9zK*0+7<=)al2LHI z{Jes?a7N<_nqi4l*&cLfwqHeS!#;ut3W^Z7Rb^ERG>cM%)7G->WkLUjoZ2_P$0(3W zWE{>k{j#8gWcQ&PoB;Jmr8kAA+Jr=P<{?dbFvIK$5T!Lsp7ml@>)>kmhDGK(z=w?^ zDG2x2NFB5r_}PBGg2~I6e_<9ZD196(rGtTegomWy`?zkJLtgld9~&^5m#h4>&)8F} z>(SgiABPTM(&u3QmP)UF$ocOnw-IrC_cf5FJ7_YYWboTkFyuHD_59v5V|6fu*=Kr? z7EEO--mmncD3%~tZC_rUyjqgiW~{x9=I8k1)gN>+SA|#Q{#0E!a=SBGmVL`OZPK+f&nUebq&yrIyx_c_gXHS)OsEOS^`wd&_;bsU)M z@wvbd#POTx>(O9I-*+Y2U#7|U+f!tAx{Y!3wG&*SqiZd$aTTqMtE_TX}fxW;_8TC4%AQd?(iy%o9=qA*1Qga zwW1X8CR+4obCA_eQk0Nd9kl}i!VYI)Dws935RK)i;ecKef4W@Jdz87mo0l;#iQ$!d z^Nx(|=Q#&qDF_TqQSa8D614Af~jk!?tUd=a279@J%IrCoetkE3bn>9HKm)S@RWIx3h^zUzNefWWoYo^2qerVl&V0GQ&;U&P_8bIil3sK z_T*;2Wu%A&>#Kap>-1IullHVI>*+N+KHgu}`^eS4SoI$&v#|J~a{$x$Lt3zC??8Z4 zZccxHevY!3_I(f;%YN^o(Yx@1MB2yW@U7F|zl?^DGss!}fUS$H`EF+-vRBV-_d+N% z4H7?j=!jTsyVo-(pvv`V)BtbQ1Z>I*_TO@NxO-$Q?<>v}^z7-`z0I@=1MS4X1+(t# zs^j_K?wuzbNnwSVkMm+kmI8}XPdyE)p;9M0r#1Es346Dg$}ZT)z)h^q$s}i+CuHmP zshpIe1R~W{V6+@Q97(GM&*R^5 z^X{&xuYm!ySqnxRLt!ubt?pi>+6KQ%14)!%K<;pV1ToD?a#`h)`#FW~r5#s99_@49 zL5;C2>jkOQ!NHX5GbaO1hbRr4o{6koMZ51x)J_AuoUCU1uJ33zyEeLe^9EX$Uy*UJ z>*=+6I{BHSCU>+7KhwQSCxQtoy4t<5DB|d+gWD0{lDSN}EdFTNPtC|o|4VdpptNA?#=mFB?XEtbZq;DHtZ~*3-Emcg zo|S(PZK-lTymKy?-0DRc2XMcNj_Oh>THdLX$sga?P|csu%*@n~&k_lEB~{V3U24az zCx)_16yT{z4sZI!uZU~AXBqvS3hm{Qhi)Ycw5Sz$%Y&+E^?q2IFQ-D(7{?O#$JGm7 zDQkSej3|Fe_%-C=x0Q&HP+8*q992@1jC7Ze1=VFg8@}z+Lfr*Ed%r}_G@HvgaSB$l z^&Yj#(xr*rh;X=%H?KG-7FOHUMG}aL8@G7a=mkIuHudyZ(_8Acrjq+^BDxkod;0#=$KSq-NX7mKw7G9T)u=jRXS=sEaTq${HRtO?i`UfK=t2| z;cDG;$F^FV|DM!cYriUN$127sABhlDEzk-~6Z$`Foo6&${Tr@FAB2o9MjfID(M6(V z)F6mX)ad;cb@Uc(1VN(r5~D;Jy+(~1qC^`ldheaH|6k8J*8XCd53|hLYxeJX?)$oi zbqc;Y9EEBbPWQNC2tZY$Fl~4w{K0iuV<+c_lmtC(7$lj!Jc-;K3qM#bjUJOU=ZsHGsfpE-%+gi!U9oay3W^Ba)FblPf!T3-5_dP>UV& z=u#>_sGjnrDJ>=Mi-`bT^eD`0@a4#Pog5RrZAhL@Id zqewv9g?tjzU{C_(o5QxU_MGojraEi+{fSe_Jkc-T;U>u_Kt;tI(wAM*u02#Y?GJZ-UunK#PS+8EyL}iY z`SpkUyTJCkF#zGs3H;SX>Ka%8uOGfqY`gjE^`iWA0Clc@-Xw<;?G}b9|FY)7@RZo& zux#I%M1Vj#YjSI7t&I^AZvZ=(Es4NVj*>Yvali`#&u$j*mKK<+h^f#iaJ`|e(Tj^= zR%Ndi<*V_Vj&nNjyV1oVcxGvPpkVKn)M^yS4av5yIM2U^dx)nzn` zBg?z`Pv*C@v>S|9_Py7`Mc^g>!&PM~as7Nijr$>S`=!y&PFK21+dixGd4AvLY=$^R z!(Zj~n9~~RlT{#7dujHga|!g9F5{c+?O#PH?_rXg`<3=vkHC(BS`G8HQg@q?fc=x~ z#dep`9TTsc*De7|5e|>zbEYQJcY!0jQ2X6n;K$9wqrAgN@mCAY*QIv=Q?QSkufo`C z;TeDHM@OLdQUr+KcNhSE-V#mwafue8H|#gC0UD62MOIfgte&U00WFD#75=;4#fLjR z%>DVNz{}SMty>X08~nz!=Y8^;jUBDOqI6jaE1EU{0s!XVZjkAE`J!bRc_Dqg>2=@N zC*9_BGY?Sr`28=t4lp%{4H~JF@U!H}i`JWEAT+^n;5!{EeTg9`p3~IqxGG$>X**Qw zE1gc?RvQ6SeE15F_H_LK^2LJRs?MJ0{GR%d>f4sBPBC7-%;p13v&V;8Bxo4;=fm-n zMMKyHYLwDModYI^6+hEAZWTcTuf7H>&o@#q-H$zfc{@cwPAq+S&s194adyMe5O|!+ zl$N<=-DqlTJl|^LH7;;-(Y_7r>C+VMi>1#hm@Yf(Zx25O*v^eCeD=Fos=VE9w-vGZ zMurW{kXtTKi`!kVcd@r@{aGL8ZQ6}f;*`Exk?KDsX$8VA!f|a!la+zXF{VQ(6^B7y z=KhtoBXniJh2-ZxBtH1M0|p+Tm++Ls{q|myT30b4YWrH^fC#2g7I3O4eMl^QA+&hC z&dR1qE;0a9lm(8Y5SB23&BrEEAH6+*wETu)gQz(?0WWFUmA2;@RB@;+b^LM5jv7D$ z?~r)td$@m#|N7qLVeiWWU`bd9;yvwU<#Abl$KS86p2~~jTF5ELK;+o)$u*)c6AKBk zloF8*3oTuF$MHdA&MxQ4L@J3RlaJf6(k2~(f^gN^1a-9e0N>>aNOnMztl;v zzc2iZ+j|;;37POcUn0&bEH$R@bEAI_oR2Qr4;E&>0k+nisUkyEN8D==sR$ul8*#)I z)=lCe6JqYIKwCW{1BCfCR4 z+GI!3lmj)max$~?dFu8Qo8;i1>Eyg*{4i|4Uts;N>+YXKXe2L7#E+TBw13@87?{p7 z@pyxu<}h<>M?7MABlAH{J4_cU7rg=w!m|Glm69u1gZd%1OeKqduw#8K!D@%BP6?vAMauu5aI%A``S$KD4!vv4xktie3WW$T(5dy$$ljb2-)GISMs#+!{f z5<3K2uHcn>md)x>!=F9TbP~N}z}f&;`J$`+VYRv+=S_lM@Kcp9!fHucx&JXU8+elZUjuEPKqouIBxfGUqgS?%sTZW=pSQdq+OhK%!D18Bji!t&UsZU0%#M$&lgsiqAZIkzgmIs50uB<;2Q zQ@5SQSYQ^ex$+wHA>MUZNAKn7@2;5=fHF!Glb4Z|>b=p-)O341_*HLuB(s?_EA$7% zI{ziqswzr(M_k>{jLm{Xj+2+g72MgpyDxcQ>-nOx<-X~$$Ojr+4Q7Gp9A*fFEJThC zD*#9B(WAwi+B{{}E$cK8XJPDk8fExW3%`HsXY5peyxqSNM6v`dGO{1AAJd0$P9#J* zWfZvKb~?aGvEENwOvb&l+|>ofme#f&6SkY2*5-s*{xas2vIioOvR1fMTpCT3PihJl z_$2$R>@w?rD#(z5VrcpY2e1;vt(z@BAO<>dIG7omzp;WR{!&YNs z8a~h{$7)b$2?f{?$}cTCTgDf;GbjpG6T96qY{HqomJ)SaSkCQx7O`{SHgFCu|M;5R zXn7uDkf4~Lld!VXw|eyb-Nx~d5RWxJxOWqxpO7-%ez|+X@tA3kZ5YO{O1>xMIs>#P zh(b_Pbppf*sPsHJl?HKAPhrbb4ytpcUJ9Q+w4yt}}9 z*7;l%I`vU4X*O)-a;R6nZa~xsiwk#s;J{Gd_M5kZzr!L1XU0qzv+Jf=nm2HhuhGA| zD`%kFYZx8-+^}Zxul_#CG~Scv_H~jb8oX+wYFX{B0Agp-zPQ}F3qHGn$h$UAz~ErL>5p+l*izaGYgs0-zx288PM&7eQsDX5 zRoQYn^zJQUL#NE-)$Q!yC)4TghE0y5qGOAG=TM_TsF$?s1=4HYbu(>nG`sz9MTq}D zLP=|yvQNv~y)kd4c5dY93x7x6YUGHS>EkTbkM?$2awwJ-5Y z6qPLh1yGS}e5P#0Xz{-2zxBxTbXaVA)w8~ISyP!he)Dn^-(OFH`jAnM%&;go7znMY zzg6WM;YMx%r+dfKna1&O~i)6z0BY7-c!o)GPQOaCL&_MZa{pL2$h^@ik^g~qEZ zPt?)%o652*sW(I)QJsdVY+Gl(t7W#L(9Ecj?R5odrr=)ZnkRF%#{as;Y%`Ev`z9(z zTQ&SI5r8};_16=Ik_B7-U41Z-wdXTDa8xI*`QCgu8hJKpj{o8(b1t_?n66Ojx3sLx zbdr7m4emz2H`hFE2#~eb%+ujo$>+J{ z0NaC0WqRwQ=+u-W<-uHi<&2VISMInW&%0zkv|G*0u4i*}?Bm=&`$I!R>jsTYZRn~- z5s9(Af<3=)Bx3mSgCED8b38+N@h6omp0gRk9P-35^ShNUjuBFGCSZ4;PTgy)6W4wY}ox-n*1epV;@AW>LX%sk0}K1q-Qizke;$F8^d6usV_h zo?76QFNmZYE`s@XjrO_d|Lv#6k%M97in9DyUiHV2wRDeP4?kWU3{plm#yb&AE&5!B zM1nYBO7R8X9V;1B{B7)Ee=nL0Jal3-Cea)YBrY_$j^JDTG9^eoKl20$hYZAAK1Bjz zV95%9)Hxj@FHeW7oS+;1Byu~BuF93Z5B|^p=?aMUcTJeDJc)f$ik44`U3ns#HR(t) zHuG+ImEn%z{@0@Kk6C`uP{St-xyt31#%y_EhEQ{O0i-38qnpi+TML^HmtQq3nv(2^ zynZ7$E_K3E>loeN;IQ_+ir}bSIK2p2&&@!Uo?)SKj1rA}aAdUohX`17ta5BzwPTWv zCFna+4wj=d`LyoH))whGf=6lyg&avS=Twm~6NWs-=nrayHax;=;C8RT1+)AZkH!n* zs!s44(V-F$OH(TsCLnxNh_XoUcGJ4fsg*lr@m3J-rM3KKK#>6cq!JYTv0n1~Z+x1t zS7hV{Yz$&A640yn%ndLBY&%O>d9r5dn5_fFS1Z0;xsLv#Ar{vy|6pu|bn&Ppt<|v~ z$1H->aKapsDof2?)nQefF-|CUh-gtsDW|jVXBOt5DFqrUuAq@m{oSAssyM&2?v7cR z3)z%(bmS$dNtwG|0u}HeMe;N` zDo%SMHaXZ&xFVVx==QV9!&YVx`Mle-zin$4c!hh3E|0uVXHkmNdVLSqrVmW~z@*|_ zY|#@KOZ%U;zxwa^UwB`(cbhbk19Zp8DD?B~QTDm0SgGR=8@pq@`_8xbt=U&qI5!oy z>tc*G3PJ>$OA;W~$!*;PYgR%GmKJJKedXL%dy~`7t4SxBN?ut-@_-CS=JyBtbaG;M zWI9+?g+uw%Z(S=aTwHKR8YgaL5_c;xmVZfRp;;|P%7D;g_MOs8p*i0J1f%y&=!JqV z!z(}PpaDO&j$U@ni65F9jWi|zMfnry`})a?z{7)w!_!7|t;Eradu3UrW5x@2Etae3 z)=z!ycilEp7s;Ok08gP_-{*iU7r$ScABu}?NZ-2+vu5A!e!aim836j?CO|4h+HZg8 z7**L4&3Ph3A$@LnkZJnO`~Iq!l>Tpx*J$F#*v;b2)J5P@=gii5ukXRy*SBP8Et>>K z@*R`q%WwEwuYb=mMO#)U_^y1P<|{j=rnb@5ozC*xHlQeM#r*v%9<>WFk?*fY1GXk< zKKq^U1PU>(-^u1``vv%{{rlx^wNAzJAv6aamGs=!QCH`)-*wHR&#{l*_`1SFRUc#E zX!D}aWbPFpJa7^-4%`D22k^>lWKBqG<-o39z}m(+gMKu*ecdWC&B&{pd9Q$7Ma<3q zr^Pfl983DVN^!P)lj$}zyWuF}F0-hvfI9;H?4qBe?RNL1^2r}F-6;j1gqlh@i5CrC z*NYFG?ZE3C0(Ln9wm;whQDj2werLMwd_0dBP0zPBe*V7U_szNGDBsAz>~^E{)yXKM zWTW5lKRoNSZ?^orBmPTw2W<~+l7`4$#fMW?>C?~ygS6D&j1?`n#|Kh(Veayrvb5@1 z;{I1_(<0D?4HNIeu{6Uu&i30)F_VC!E6qSwLT`>nTrCi>68i6Nk9umG4ShlJ69 zR=;*U@~1I*6|S_HrtTnM z<2!Qr83c zASo_wJL~^rP@dO`GWq;-H@&=_Mlmbbbh0Rse1PeKqCq7V=ggD_p&ef+o;m!|3D+$E z*8o{V?!u7DAne46kE3i+Sl_hom@LZ23|X*f=cGGD)SPf9ZOWdgxr)SikuaG4ySENH!q_YjWGtbhN4NecC9}DpGj(nv<>(ari{la+XMma4gMOMVQ zPX2pI$6=S)UB$A}(N>zoQqDD~u)5sgu8|Yp|4m$!OmEHhHwX4c%-D}?8-LJwr%H-Q#YjVJ#XIEA7o_vpS}rX5KFYKL0le^nd*cQVI_kjmO^b3 zhB2GpIkE%KCN0x==|uQWin9>sM;uwkMvH>n;{{+5vL}T>@(=(=kzUR$lW?XIB7iST z20LgpG%)3Am2Pes0`WTLZ}z5Fz9FAGaAL;&9+k$+Sps2ocv2^wg9Rew%=@nH<>nS( zS=0CPC-YD;kAwMlFZJBx3UYJopUjj&8az%0s38ei!r(FYJhcz35YUEjG?BWV^Y<~k zIXIj4j6N1^{-4w>h5ETUV+I$eC{)>)gr3Ei1kFHo`K~I0+j6#_NQJ~wVAeiJ|0VUz zN7Or=N$cko!g#3QSW6Y?Gwt!YdF>FD4(?T+xN&Qg_>!L9$TYcG_>X|NB=Y3D~^FOi`$g^--$jCsRmdK!#a#?bgy)SRw`5m3k zDHxpQ3jH;tXz`y7VMX#jSuHx8RaLW>jg0 z{IadS{cPa%8zYAeMfskfXj{}YO71Y4h}5Ds4gzUaw6ZYuEfi*D;e2HB#rLGui@xRf zw^z3J^=@hn^H8S?pQ$hluj&x$Z`O{JiFlx=oyGPD0^{c_?0wdK+t`TVhcMwqXLdNM?v;PeiNasHpQxyE?m z`~jV4Vd9j+f29A7T6`gYZi8Q_mPBjSf|HGRD*k70A5$|}H@@TCu+Q)qBfalLB09xx zs5WQsd`i%f7ZhavchJQ9KH1$y_nAVc#K)Y3GEKJ+vYg^fDs?%Pf6;+%&i6wDS8m|e zrJAL_eDmjY%}ePE|C|mQPAcl>fu+u`<#pTXpCL)=Wa^$xTDtiGfg5p!$;oSZ+ykY! z}x%g1tsclq);p7nq1Ys0(RS`l=^Q-Hw;e^nDvjo96c`kEDpeDlN!K+RrG>?pov zkSIbM`>%Ea83-or0C)dCpO2G1vPL^MonL24dNN9TvA@q?By)}>qVSq6C-lUYO=Mdh zcj4u~F>ecWvukM^({5tHSE;Bi4MUZkCJ!F_1vsaC6i3`shJtuPtDYmDug=G1D(C6x zedTXIUkZKPDzeoJbr=*Ji8deATRqAd?aG^{{V9H8CD9)vo4V7@x2ylV03gBi8l>o1 z(%|ao#MX2&R~?;BOfZjLTTMYpwenr&s}SFxcRpoAT>TaLEPb-QZ0U~hGWJ+NSGM?B zXkWI9nY?NY>{J)=GOY`AusZwurt)7p4(g*69SH#r$Z3Twvfgbx?VFx00TkL*t_D*p z=pb-<)Qc~C4QaX1(%w^ehbynqV%p{^TbvoHXZ+m*EiO%^V1=4&xJ}{t^L>5molRxa z{&r!gyMgGg=_YXc+&E4rjV(1vAfa%`3RuCjc;~d9kM0bA2b5$DMilou0KH`ZAl{O8 zj(Iha5jAoi!7;*LX)-@R5G051+hgYbcaDx!+fhi5G^WaOJ%`fpKl{<$k@Sj&itl+f zed<}>dzacaFUAwVF6Ux~?-s)EZi>D5;3PasJFT*s4Hb6s7T3`9h3`?p&`J`~RdH_3 z5B7N?l8qA?ob?J?1KM6i*(7>Xdb5BNCk?`nENHZx#<&^8cI?g8AncrT!##KUuVw&^ z$%v1=SXzwxkv4&)72VOqe3D?%;=$`2M~8nZS!r4IqVJ7NXgYqq2O1Z?U%JP7z1hIT zHST}xHhwyA)U2Yewy9;zAWt7*+Xasye$L z+v=e9k#DX(Tf))tEX~exbY=W@Xej*8#^<)%Ca4u{H|L~XT?DkXrg&8Fd+*TD#0Y~M zYK;NMY}|H;m+z56m)>WFBH9#Be)Zv@*qYmwRQG(0tFOJUUEc`Nz~q^Zyzh_ahSJS1 z0RVNQHuTb!}45U$weC$WkaKUnC&&#k0PB z>yJ?Z%?+=gPBw(P5>@oxg6q{$kiuYD8hR3S2N;bYgDhzu*J7y-@@99`01&llewL+vkSMyK<{) z^(Isz8c)g+>gQT4%=|(%ZWkB%*0lcL>%K3>-h-b43x>yxZq4VDz&jutvsEjA%kZF* zRyu-1T_H#GxCxP9Lh&%eK;6ok$&Z8yhNA?`*s!y+GDF#ZSfmUb#0-iqi7;IDydt!h z&2g{T4~~iiyIg!q!cbcUG3UvsJ;Ev{0ZmY$_9|$nV?vI--snB}W9=XwcvN@_DTSul zP=?UrWb&ZBdny=qFetAAYN(?5z5^y4d59mu;&&kFP>$&^#e>VS<>xn%YY*OUXLnpg zT7;=U^OLBlLEke@SRgPmymRb4rRT4o?LSx0NyY&K)lhAdSezKNF7)Y7`j?-A!Y~Bu zG6j$l>XRs?Lsj?`+zkj_fa(A80MLc7P6^YdAswk`Iwd;bq1wR%Q&*x{Xcr2>Apk+} zXu2dYJVI8-WU_sI6nz&)VBo2%dXi`OIZ$LqYlZ+IQ;5<%{tizsh z)LFY${Y8>UFZXyS!3G1@8a)NKgBp;UeaZ}zQ3AnuRc1KjT7jh?AhW7XU^W3I#ER%D z!eBCP^kjHUE#N7{&C?%B%w>9xvgrkr`!EZgqjv<>x4_8*a&^^#jH zCnLF>@(N)|Rie?cBEX^%h9SVr(gA{c;(Sey+s$9CH=cm~CfW3IMKANyGN&}+{`Q3b zUy<0FIvPjPXvq*(h_k)DZ^-^yS4{MDXJAz=UVx?*5j?<<)IfzMXq z2BXhE3e)TH=}}YtY0a9kO?FWUuk%xJrstBRe;4VVRhBu-DbX$HnM$t5B+e}O?jV@} zwg)1gQ@d#J2P6m_M|M% z+x(a6?y!?i#3jg$%wNi6|F3g8DU&nW>tHs0R(Lcbv~zYWpTGU26G7Eb*wYAgZa8u` zy~U1xT)}(XNg_tybQ|q|wsjZH!}rj3fOyywGbPw<{lqzT;Mdo@4~Q-q-Y~=`DwPi0 zjq^X`2c8f-%q6fEhl_B&!;8ujS6)3TnYN!by;E#=o#|X)&(lSmyD%cGo$_sxK;!j{ zh;2zAzq8YR^tSzW+VtV%;hcu)?&NdeP4lS#&XG;~+3>+_kEvgaq=e7r@3m++P7m3_ zWzo)K`gv%JP=P1!9zct^acr% zoZ4A*xXoYkf2K`->1*V}RrYNKQZh~J9EN$W2YbY+adV~73ALA!CHS}Bc+zWn8_tBr zee1swRq4M5wbFzuKax?|fA3YlW_i9kCJF00g|hcqC;u7@kRy<%o)iUmKO<{ z;nvZi`Vp^XM|ZQNNn~n8LgBx&v)Hood+nY37dOj$01F8Nf$bgA4f{YVGf+!oa3>9s z9W?*lJ4r&^u%M&3)5mnf$E^mJ zPrdL()zs`YUd`BK`*cc@#f!%UpSIy3&iCeyvZarUP45Qkp~F{!=ZJ^(!-Ov=hxA$7 zLQR=6V2%nHo+jFFTNj)C7IUTV^B<1eZ&42yrZ11Tx+)oHI-^68QT}Jk*|$fZn3_Bs zYA$D|89AcWW|{Mr{J?QDG2UjBU~Ch3Vu5S{3^i`;H!Px8UcpCTz0o2{#)3z^!QBn| z@yt{hnA`tgG1V)A%MBN4mF{PHgQ&rv0HYk$ISR0uJe$&KMCBF2dH%uKqae#>JETEt zj`p4PCv?BQ5hNbsci11IJsOK;0IrH)^sjvKSV@HolCXq}O$1>MjRb{=Gug8jf~He! zx|@ndL1jupLf}wvP{LgErkf(vqBO9 z!~q;WIbz2K*Wz|A;37}aA>2)d$sS<{u;h|^)ymb@20Dy|{!(sWzNZTSpWd)9|bwtqv6W4+8=PmFCjh8VY%#?O zy=inI;mlT=Iu%+(Qh(gs?5ly(%>?hm(IxZV_s*lt-38*rE(8=X4rQARS*JBBF@Fq^QEPU@vMa~ z?II~C2+!@Ol!AR)Nw^{Ih*SAv-%w?$LQxFof0e>pk+t8$Kj#Q@+6z0~0jZ!Zo zS!cp|!EXnt$Dlt8_y*i7>4)9h`jyBb z0*-G2HgDE#iVqsrre3+fv5CtZsU8R=N~7(>As|D32qG6GOf4-F{yp@;%dL-Gpf<60 z>q}o&z;V=!^My^ox(yIoNwYEa%fhi`#>EX*$oIHd@B-S=&-&sRy&B)DjoXWee0MZ< zmBAUXZEmRjb_HxoPJF=SQH1i=e-9)#06AXsT*KP$w5KMcMOZHHF~yj=l!y7ip~bAB|N~n5^gPVKu`oNw?wn(V^N&SY6G_rD1tH zXg+OQp_dV{hPDtM38kRs?8FvPvg=MjaaJ#E{YqX-t|?YG4ZQOhR&WrY-D=29axM~e z1s4uR6Im=|rgB&Fn$Bso@){kyx*GzZ)2*Fmf1!_iSzO+#(oW?6CvcvBu3B#zOZB~f zb*cwlU6R)iuhP*?=cN9Sry=n+$=2ch^SD34dmrH)5;kSek=jrG?AQKbBLP@E*vzhg z9Xqx%`(=&ILzbtaNBYrxw|4#vZ^1bGi@WWu#+k;b@G0+?7|Hh0JjO>i1m}By7_rJ2&>uc#z)o3;1iU?0hls`tBJ z@kU8Yw|nnB6Psfj?#&O+JZUD~EBvcEIy@^rP*av!i@#%JV=9d)fn@R&V#{fRLdYHK zUrnZdGh4@)k?@KFZin^t7s@rfF>adH6}wcHFcGom5`T9Yq&?;65eI323}pYuiIt9> zgYfr&N-;WQp0K7}V(lCtQg5UDx>6GjSTL=_^dPAwRSCQ4S1Le$J$Jjc2Wr3&&qG&T}%k zkd}7pv(+{YiwkCY(m<_WLH}XA3@K(fc~0z|t@+~iwg;lM(w+=(e=d7+O3?Q?Yx69E zclW)m*X)TqfO7q!qnRn?-_##7vt?lFga0ixiwcBo(UC`Y;p=~3=4;>UW7=@vHn@Jl zWUNJvr~l&~Qsu9F{;)XR%m4o!83a;KroLqR2{U1Htgn;_&OxVuAyuXHnyq};Lwv3a zkt@D-DqMI$ERII?_HtO04D4nFPH*TZJf+#J&9UStA*DUfV38$A7MM9k_kiUmwCHF1 zo)TbvVAWc{o2_Fey6lK7s4aakMD~-Dt*4<*7yT0-+NplDDNbTjLI{UczF#|Fl}zQd z$SPi9Lgh$TU&?v)@8lakVZZ?uz%Jgv1o~d2~qa`tCZ9aF6H8n$OHEWHbvL z_EX&BX0U>uqf<%2$y#ZVAPufZL$ESRd0nBKm;98P^gTn&E8CL_*2_-GxpK@}bRYmG zjhkOSrAcW38mi{4uF{%99AP9(-3}u^IKg6Jodg81IYx2~l`T${mxzs5KS1$XaiLc44MdKruMV@n9%8e;l&OV_OOH)NYqjVN z>zDo?RD z19|^ZfhqDPMFm)=7^y$xDCAQ;<+>>?RUsq|QhFjYP@OkKM2O*ZT2(MJGk0LMR5P)j zIq;! zP85V`^sG-8HPkVnn&AwSAwoxu7v!SPJ88mWR3{wk-h&OYaGuDN*FLpc^_D~7C(0Ls z00L!|p#e3!dlhL;G!qGsXxLKm%-r4o_ z^?~3)&sUdA?+HkEeV5ntaBzOW-O@zoG?PegUg@P!eH~ai0~%%zK+DV1Y~%R&$n-j# zNsP|Mn#OBi|Anu`6?E}->b*adVpW?;p!bfL%M-+!$Dg!IuDuL7Qrc)@)TlDDX+8E;?>z$-T!h! z$qWXSbF~tfjb_FIOJbQ*gUpY3Nju0Ut#Hg_E$!{T60bZV)JQLRQcU8s+Bh&#-UV4fXp!{M zvbjqkUL#l0lpv+0Xl;L{74axCph!E5MqCFIVE#LKCf0U4;PCe4QQ6d1@LlubQ5+&R zV)1S-kc-pKKJcDKx~0~=H(W*E|K8p7YBSsacr!t0^yS?=dKwci$}WB1U!0A&pHwJa z{BK&M{bsKH{+!@|tGY9WzrC)m+U>YI;Z?I|wiIIf_Zk7_?l+FxhqA(hmq#lOl??To z3(P&6$OiKI1sR?w+)mg?xv%B&1pa$1efaOoTir6*8F8m>qrU>j$(hl>vtKqQKFd9?ka3z=z3Sa!m$pZ#tr_**Uk%gHVPa=5*bz7dk%Ubrm$ znoXz`H8Eg0p#msMWXNe$)`Qp*(9r-fo^VQ6toaqmKSJRw?lma{ab#e*0Q{|RLUVK)hKKDv;0-S{~^KKigyc~|*x{y5ujxx|M2 zyqC7z0``T5mCcN>SEJ@h=wa2WV)Nb>v5lBNUZ-BL{8Oa)e)~20fL_w~=rU@O-~VbZ zz18uXPRGi7JUIm}(&JfFrS#o|`^x6nXy9FcLXD1wN+BkkSw>+_oP2o_jXp!~w)_2S zhezSbS%YKIa-_Hr;as^1Tr?ytj}wNsvx5qi4HTeN6lI^7Yc1#i!yp*%25j=l2ikV-Oj_=~Usf=~S}OJ#L^bz(%0sPYub;u&2_%5hHeANeiIRJrnHjFaQy%~Al{?6dtwoKkoTfCmHcrDX$f=1v2=w2p zTgQvl`cGmydKKG&agZIwPI7yWWlu?BDm&Ci_&|sT^6#S+Ja~(ZW`Yx&9rTy@LF*u4 zDnuTbFVqUA)w;D2b^3UkltSoZXvW-<6x^`GtW5rcSUSER){8E!{-`6*S-Ws-fmPw( zm+T%Et>o|plHg8?2N6k#`a*4&{#AZW#hPIETPrRLNRB*c35Sf_d8d76LtX~-d$Zp# zCK`xHiv3y6k)}U&LzGq`mdsSyct^g%gF4y9W*Ra^ptj>xXn}X0W>*X1$Jwgc&5@Gdrz_J3;KJK@qhx+A8@uUM5_4 z@ZA5Z(8HeT@_tnMGU5Wnt|bJ4v_JM=SI5%Oo=V)D>)n@-m7M61d-AYUh_RDJH?| z`m0NaY;1}a&kkSfWG(ofJR?h8`?H}T)7Rv>CiGU?Ykf!_B(K6niOY^vY7|jGWruBU zZe1+w6O_jdDC-nLn6ZC${G(JpgLFUQ~1v*1i+wZyp}b9uh(``*VXs-ye~ZZkDT$E z&}p*5fozKxd5Ai6>sGsRs80u@?df7u>hNV;604$@b;p>_SkXc4g&f{h$EBd4ulT$f zIE@)^jGVHXxbY&cN3j<>2-h@y-15crv)*1LEc^By=)c1Nsa58mwm!KNA=;WJXw-POUFEss#kGb7=hm@nmm` ziFq@)!H-LmM)7BGkmpU!moGK$z-ss>Cr=WGT3Qme3?ZPxYg?)Q`k8TVmqZ3CJR2pB zMb_?e@N*o~^QW~O={LVyk_~)ubc#!Q-4^_)8uqk)&Z-+7|3q^}x2wn3KEOExY2v$H zD85;N9Ei`9!6&}^JtQF z7ff{T!V^AAo&5UDWH?_{`FutiQB{Ubx5}xVD|2Ac5yok;mA9`@C%vB^?v{`#?T;UU z_xSh^hq|7X$g5Ya4@<#oNc2V)qLY~u>k;p6UPRN%>>!5?N0!gI0js9u-bcxI2D@*e;?cGrML$@QO)kYx$PJzQbAO`2^q)IT!lg0RuvEY^m?&3<{EF6&n;8D zAiw+`v0mA{)p7qiMhxS#%Ja!|@2rjz8@!$zlP4a%TFN_Es`7^tM29^6ZS|F4Lot+v z0+v7wnB$L32$a9kiKt zC*4(xzVVe2|7JWZ2Y+$K&o(L6e>@#LJX+1{RMi;g+nI@wi&_Pq?OH~ApAd%99Ffz$iMV&&X{*PKDY3HoU9EjZ@Z@)f zFaM&6Q>|^LkSr1tC199jC`V4Km#Zq)nBGt5)sHwD*LZ{d`qO)dL_>BC=GrgUn-9FN z{vFYbW@cu6dsA;LTv{}%_9O9~&!6NRO;E-YsZ`N=&D8)u3%^(^ znM@YvwWey>o7{zJBGw9vvzxv5tY61=3s3-*?tlp!XAp)P`NwSFA1v@XJ%J$pc^=*~q+{t}92b+y` z7=;tb4UO(-jJAdqPq8|6S3*>pvW-;tmTrpBAiR06clG{QUT(o)_Vuu*Zc2fU#o2yg zxOJNA6F-*FdslN$PXSuMtT5{%_DW=C+fzO36-Cd{{7*lyxj0?I6s8fl`SN08Gc&%i zX_3p3_oYMA_jD!W5=|=k(Y*RW!p|cGDWB>>kyz}BQI0+W4L{Pjk8^3m6D`p<)&Awz z+@>KQP!LENE~`EBJ&M7-Y3^m4Z`;?;UPJu7Zu2{5Ha0ez4U0R(TW%>j@?$DcDAb{K z*o3?o%oa?uPUE>hKeqpIT6cPCda8rqFrFkL5$>3Y1uw zr=JlfG(o!PAzanUiNe^;O)%X>h|VFsI0%5HMnP4cSQ7%)>Z#IR9NWTph>YAJvkd&_ zQfsCED{JUZVUl1Zkt|D|7Pl){NlE7ND_8X)FW6l?*C!yy`tfK->~gb!XOyECdME}Nf3fWuR%hz(R+gY^T`yzp2sgSu z|HX3ntV8!AOOWUMM}acs?>Bo31 zgE>oqgKkPBXH;JG;E5XL%Kl)rx!_4*Sx2JNN zdZo1^f@&-Sy@)h2A6ed>rvZ0|M|p4e+aF@DX7**A+J!C;$C&O5z8Q&}RNSAn`(AHt zil3!@c!5z~3>bSwXz6IRrICH@H~TT~C06PqutKo{=zV_LowESA&GiLDufW{+5%lje zZsin%|Irs?-6aEUy(`Z4JB+@O&r!H_md`a1Fz9VNxLG0%lDuqgzhL?%L=;UA=-yev zyza+;3oFG;U|!3u^7tP6Ct?}XS&hv0g(Te)sjeGc2?0f;Zx7is#Y?!MhyjKx?_z&p1&%5i#>lrUy1Hp2Z(No#u zi-7B1p7QdLK9NO_Y;eo@EWqd6KjA86$ghPN=(b&MeF(hO$iBSoZVGSKl61 zrXGyj0r!Ld^@?XpO?;g_BUb^|@)M`Pe-0O7yb{fa$rb+mC$ztn&2u|{92gi`{Nf2* zFU`Ih-~9SirY;Bi`{R1}!EQ7{U$c$w+1syp#LxTK9}d6XJ1;FROc{9}Uhh=gd=0!ToE6;G zl2S{47QL1qZ)pytkvnp_9}CRkVB^!%VZB&~DnPJgi9bc8+nT9@Ogf;8bdL@Kr$UMN z$A(3ZPA4}eEAF=?8diET0HKoT*=da=>yQ5GH-RgDDaiJl%!3U%IVEOtehMLq+)9m-V!%wdkmTt5w+FUIFKZ^1Fz*6Hzv?1zq<9Zzf&Pn31 zDEkjcvR2cJFaqIWDi|-m<)7Ii&Yd@A4r55w(jgS`=Bd~6=M1N-8i~6i+^AYMDLcUH zal%_uhH~09(7Wuoc`ELC?v?TtsTMg~#bQx*0|&<=DMyr@nyg#`awHhDMcQYXtli~}x_&@g&JO?XL1a~!zDAE&`Y9=?!&tt1%J5Mcm z0-}%u@7*IOp^TvtLir4Mbm&D6IT-vg85#PcL7i3B=B0=T`+MN8-fLB4NiClfc&l7y zdT;c1>Duj-*Qxiz^U$M!%m5o7CZMHV4hRX=pH*{^Cwr6OQgYZKNiD^I_*kiux+LKv z*#^OMJ~C!{E0SF@xyqmN1okwQ%f!;`P;%_frA6ntvB#iKZus{p#=oU->oOAntdSXo zE=AP1ZOacz2MQTENr;qYVUOD zpvoy(V!~3Og(TZA>El6gOB|xkq*S?3a!(U*}h^FcowcWiU(?{hHSv22>t_pHbwQ~BA5WN&WUIH zDjfuREbe70DLu*x_EsYc;;X8gyz0OXma}=6FAX`!ly2OK&ET2yT>f`77Oc4Q(J{d4 zq0JENwR;H!Giucrt3VtMkRpIgRaAzqL>Xwtz8gj?kLsmoX87OWkYA!eogKz%e2;4JEAA#Q^L%6dVRIkW&Dp8R%Ddstt>^G77j^ba4um`+S5s zpwN=9+5$jqGU^Y$cFhe)QGgEygQxsNmI;dE#s}f{Vc~ct_E;2hDe*WttVidn`06C3 zUC>38aX{P>T0zrFXK)P;qpB{t5nr8N^Wy&zksrzU`#4;gbs&n^=w%6xaCs@)T)=cFn6mqoQxF+sC>C{x!?Y{=n^eA-lw`~79?$VRe((+Ti zZFV(buLDs||MS(~i*O#CkLLb|oohu1?dNzCAAe)o z8JDs8a%2)BTKc2ioKixk7YIZW;+3WJhKS$I=nsKC$y=T$uWvK0vx&J0C(iHj2n4I9 z=A8|O`J zZ(m}F{rnrq-JhOnw%5OAjLoa%6OowOxgat0b`I!04Nv}JPJ_v67oMjl{Ai+HL_b8$ zPh+Vli5n=0Q2_6HbD&cTzw#Bc7{5yw>`m zt;?M9m0se4aP%{VAynrim5_1!&9ao{8-`fq=;mtc>(Up^#~u6r%^N8^=Xm=5U-}VL zbWeoKDk>Ztfb?pGr~cmJMheZdQqiMw{~P6me|;~pbcfRWt7m6t86AkzUFcI=FDP56 zS%X1861^-x&Ab*8<3~5}A}qaWX4ikO97;RcxKyF7kNS#hmM**MRa$*)uey(qzI}L% z=WVvu7!|8>s>f$ATkrL7=ealA$THk-ZS2oh|8pVJHI(@?uaJ;N)9T=Cqq+5mmVo0k zH<}lqL}DfFkI67OD7F!+YTj7mZPU(Ak6l_C#4AqgXY88q6NxBZ#M2o2K4)s0_)^-q zQ~xYs(p{#0Jd<=${1w0d_2HI$!u<6{#(qHW(8&$Wi?VVfVc&SozfX9wU;Cc_bur}` zq#XM}A0zy2+J{`$2&g3tuSaOwpH%NUIIMd+=6$p>HMR9{EL~zE?y(!#=^Ndv>#r8| zKOfxKm>iuqi)r|DWZ*p0-_vguNE{TAckd;dn)O}9-sgClj(Yq3`}Y_O_nr<=i?*j~ zamfGGqN>aqD&!uBHRXMd= z@7?t^o~Uy&ZT6&|p_B_I#=HN9uYUnGcphXu`SR|?!0^-8ZLa6H*OSj!-VYDkq9Q_b zMKO!;ma2A-RC5^b^<-*I8xw#k|9&$XxZ#{B0of-uqU7yxFGk+n8 z52!R=o+mWMxzEm~Pt%(%3I~cS>CJysVBDK-6rS1R-0+x>{F9`cMqE9FMjHh>pU*em zS5~0XQonPSY}!A zD9AV;!51UG3;-7*;B`Euly0{<e5BmqJxX6a=-du^3|QYF`Kp8UV2Jwa-p!cJ7 zQDHlq0MbW07T^%&@d9oM`4c|s8Ui2LvjD$>2eI<$e*eq8VTA@vY!_N{0 zgUa>LTUFG?ny-DQAjseT{SKR1_I!~A2BmWVI*JLJ@%>*I$wIg!X%&Ssh(R70Hbs`O zSvS_O^fVdxPS$sIKtqXun3qj{PLrdJ3&-K-au~}e0AXH(+%bG^jK9PFwz8{x$A|vY zDm6q{wub4-wA7Bu>QKLy(bbQmlVy^;SLj1sT2m-KxOa=z^RZ&_77nLE=b&Ji*cDPX${qs7~AxL zV=bd|p#1KMsZXbn?+v~G=@yP_FF2e3QIsC+t4)0+JVnUl))3X;l#;-_cNP-xNyVp-AR8p;0vh7&ubB)ZB%uESlTx)xb7aCX;QxC zsCvE*(F(u3(FoD9Q{rFnl0=C8y;YAYPjm>D!)EoSWLWx4B%_8qT6~bd*zD1x}99*QYNf+Iji-s?cb}H*WMRB|0qf4grVD<$gb~>at+L zX9$8E9m$=;Ch$>`R+TLJ?+he}?vYwXQJP@-v*>{q5Y`GrItQW}8Mlp=rlxrtKgx;w z4A+F2H_Yqql{V66#@K(~?t@t1-@lDx6q%RS61Sa8_d~}1%Wb|{KF7_a4F01^42l$Y zK->I!p#9d(df1?h({s54Gm%^)$ERX;2EYsVGexX6sZ;JH9(n_P_WFuffJLHBzST34 zdcdDII{Np{skxq?@21Zo=A8N?%ngdVbA5Px}mLtf2+uG!KZ)Pl=?)7H*oQ^n!C;Tk*y!{n;%2241DF?&* zO1VMvY;1aPxHj-KVyWHDrg|pE$_glteD^(Z5W4GMdWbKM>Io-eXg||$XDTop?}?&W z7Pg^5qbKmJXW>3Go{bs}+`C*ktY>S^e5wRrH*=J`K#nHs^v zWqrWIWg`(q;#lI|zE%5e{li=!lD=l9FK~A)+dy|`4nET;P!Uw7)kav+;&C~a9Y|@P z=*}(GSWRz_g5@A{2VOMyr@H?EmK-Ds{rL(I>3cv=aycA$!_;<>a|571dy4-%#W@I= z^L-kyeC&@e@o+WFz#vz3r``ULK|z7+UunPdeAtw@LIs|Uv|o<@$R_Uf&PsMWal4rR zwA0^z-Fv_NWzmK5Ei5J)O9tX7#2~+QAbu}^k2K@9k-k{;Tsm94Xx*E!HiDPN$w$Eo zC=cuSwLx?sa2aoR4=_aX<(&qYj}n9L+mF6JY_W^qJ$lI(hpn2w%FUJSeZIA5(!mXE ze9f3rJ8zcb|DL9e?L}=hUS(n{*)XnO9)0jzA$>UMjm_3W?uOM7gU)0mE<0xwODV5k za_`Nbd<(pKouiQYz0?5lsd-EPpdDufuv62UkLAaABe_e{hpebLH#s{YA!~7RihdJ_ zsoUS#fh}ZcX|^2q=<(Qv<}W2JUPor@coO$A2aOlc>&1@#dI|~F*G^`7m^-$OspM&u zrhVlv;KpJUJN7AD@LTeIdL6~&eUVw;a+Ua1G&c%_0I&LSsM;VSQ;~0{j6R)BPEMxP z49FM6D}$0Ntyknr`6WcW_mZ2>cfTvgh`AkWs>SR#tfiEex2=9LzJ-A_5ta`2$mHc# zx1L#0Fd4{?F-pC~_h4VZ;SBHT$j3(*1Z&Ac*7lkFn#-a+S~e^w(%CilEEb=M7AX(l zle%^R+q;Y@50)LF#&fgMM{MBb5=JalNJCF-G_Q;a%vO+IYp0~FESABh3%JOH&5_uY z;6IXrP*UScfx_v7A+o{{I4*P9igJ)7JVX-S;y`Jt7FH4f2pV+0b7gu)tJ<-2sjt1q z0zp(c%t0Ku1iMH+LOw4ZgAau*doi*QN?ADzhordCPxVxiadbNuj*?*xB2PiQU(}z~ zRRIzRlaAT4$I?F{%Yq_#$>Ff@AIT(H{w4)f98a)Wwpe3dnWb%diP<}Oc8r!g2-YaZoZ2SYi|8@aQLyz7L1e;^ELx~G(Bt0yR z4HWW2SQ{h)F~wE?Ik8P{mhx5Z`$S2WHBvB!Rwox8wbqSTjA%M@48~^WlQ9gL(qmD` zLY9`Cc9JFV^#HOcg~%>U^5VC%k9Z2QJwJzPM`YDindrrF@vKI)gy@xJ8Hw=`x|Ir) zzfmgh5;=R)E>t)i$`AmDKo5n>p<*r#lQbpir1I86Jc^8iG0c>3OQqt_cuUF7ZqK%a zDhO7?I<+xyT*?AoFYV^0q?az=dlbnbNmXy6WlTs&$XYJ2C40u7_Q0bPSk?5jEw@@p zF%$U+yZ2&Za%$w*5tR${kD0xgD2qJ`i4?e@*lLXU=Z|yIfL^kTv5)`;9Iz7Vd! zl$U1+FEBnf67hD;6QT#SD6fjb-pe*T|MeF-X=|Q@yEFWj@%jZ)4Kp$S z3yJ|BqWH!>Ti#^P@}aN>L!EqwOP*jYD!f`e%1Pe3>wiIzWn>ByoIC_F&1>5MnXbX7 zCLaGI_zWgnVS{oN3lTT_V4>RhJ?R}xGfq?PTcyl1dDMR!S#N`$*+9Q=z2xAhECgDV z_K`RmpmodIy7{SaB6jFJV}oK zN)yu9Ss1vUL)jG4WXt0>BJ-As)RU#3kv;nOKIN-_T7AY)LmK${$XTO7op6M6&emte zHHjk_GtLUS%&pFcusXcbQDXxY)oP_Dc|{BcnIy}R84HIiU}1l;{rN_D`f9{kn2~s( zgb-J0#M$n*^)FSefz5A*E02S*EB;XUhLcC)e5vR*0VwjCv`YBF@ltMoa^9~M@$qR~ zR#rE?dAd>2dich-y9g_~+K+diR5N^1gCd8XW>Z^;z(IzCQeh4iRdB_y-?TQ7SSWti z2zZ8@Uy`9cR9?8-(!CRv`GW+<~}^CquUA&Q&MzLdqieM-IdEdCa_FMd}>Gl=_T~QsFg5M?Z&v!;O@#%1SWG`i0)M}by z%x;l{NthU*mzqb{99uRoeAiFa*KM2DpNl~f!}3PpP=SPTs1>09>DR&-(-MCsmmXDE zg?orws0wisYjq%W?aLi1zeWA0d&+1%Q@%CR2^INdTJUP*$wpoY zZCJ^;ebZj?Mz=-U&xjkloi$NG`Dj?q=;oa$gYXO2a#nTktR2=&LmgV;w<$KFw6F9N zv9~XyDBykz#NU*M-#_u+%jbEmxK>NIgFAVQ8vHZbb{8w-R5}%#aE7MZJWifKqfm?U zqqnP=#zgj5eJwRgU%Q{wR<7SJBJO~~dj8niSRfX7s z0^E0KHThb;Z2*5NgUgucUoqN2UJfH!D9z zw!L#N-d&yw(-jQ|WeXJIS>dT7Z*^yhsuG6^Ln5RnvcXW3 zNG;1;=2(7uoxx={pvO>}-o=S4^x{}GiC`>i->+t3B|NPrM>qpn-mtyxwX8om$e6x( z^YgB;RHY@LHix0;Z+V1M^V&)V>7uLi(I54X^rWsIAJ*BwGU|Ufj!a)r!~HqO7<0@? zWb;FCrr**MF+EK(V9)r{w)@+Hmz!sRHD$rpsb;OY$4WE~aP|V2VvAK5)s=4ewCJXm z1bIb%8(M14XjJlqOPca~_huKnwfV+B`lX-scL(Gx5QmEqj-DlBS`3)@l>Lw`igf|%z~ZtS3J^O$0Wu9NfW`Y%E_xU9VVs@nFqqKHzg=*6+~C-d5g z;r^BpM-Dr{d;MyDI(^5zLacUklA+=l;d0$w9R8avBXv@?xupN7UvJl-tubK#G|feo z;^ZVVY9C{Ga^vygV5aqAuyLgU7M*vsK;$AT7tcqIUnCzMoi}-Vy1P0)IF9Sn?q~bD z;PdhI<;t1}wY7uA*G$pZoG&w;WkxyXjT~Y)Q0#?2?HQ@O7wrWz-H@yf^|O=z`s8gA zVy{D!*Vji(rftxhR-5#StF8FBdCEz$twv7fZiWnELPBe9?VqgtTdH5{7*}DtWft#u zQ`Y5eWx7ccf=ZxoW1k$H)mt?KQ>7Y&k!CW3<(jErdTM%1-{U$TIYhThwbRA^%$5y7 zZgN(7YHS&xsb{i|N2)WNO$rUTEZU$mkn$;;yZ+4+umWKP#<$N#1%nx!#A+M(tKwm7 zMNtngZc2VmuU@!^eRJjbzrP;L-xi?6f^xyh((yt;2wa#HEd;3d8xk}q2ZsnLX==`a z9&KY&JIvudPrg!)(NZLLpFdJfq!f;D2=H0-z zVxMt9lEmyC4oZoYuysal3=uCF`vHzP2k9UzmnHKf$322$!h!AstVlqQ z!Q0sGMnMu1s;;{BKBI)&x1ZmGOdKBPJ5ctjnW0eG%Gj()!itH)B#hD3MaBiP&@N!1V6T?K zm_PFmUcjY2@ok-q3g7$J8wv=U7wH)%HyLOauBGJ7bS!$o2uX`o}2HC7l97v)4DWx%k` zf3p{?u!Lt(Xb)l9B*brK5CIvPjT|Sy$^MPG66HC8P3bY0c$BUi^i^}?e!vauQg3co zon~f+R7b+rTV?Ci5V5MOaJF$Jj=Wm8WamHWwIeWqhj(gHNhUYBO{*9VDVxYE3tU;H zJ0LVU4H?3)+O|$CiF&V2H}V5TD64w@qXHf=pUcBEtD2z%oF-uvV0~^!jC`A>wy^=c z6r6@*hyC|YK8T;J_Gkr~njXC~zTO$S2PZ`{jLgqt9uAovPM98!vUTQMnJp0F^hjWq zc-O}+anm^baMnLN`M29Wg+@sYtQ!8u_NP7*|#%+H-Bl`E{F1ZF^@m% zQqC3s2QZFBE_PE7oX&h(+eZ5%mcO4Y(#XYI>LQX~jdjUuHSEWz=K=5JnFjn-@FPix zK#1Th#KxS(TvInW=<(yh7)IKVAFzUSlp|x|3~*8+`TaVsBS(|)5V?x`0~)Q4EBy*z z6}YdEMUOPV{l`NvNW~8)nI2Y1<-+0xv+oBtYhK!+(|1d>O4S-$O1k)mTZ+)F z=d)Z!fp?Y#r&n%;RzKHDD;jOx+;01f{R2`P1svwR?hyYgXNccwNJvt~SYluH1>R3v zOI#$6K<&>31J{}E2A6KOvJLd+@47XHZ&!h&f@MUx*LB)AH4dr9&8+5&{n<~KXZ*$i zr&Z`PqryZZ|B1Hj%c_GZ!Rv8Awy|P%a5kmlcSL0Dz3gyNb9mkJ`DA@P;{5*0(!(Cp z-O54Wj=qzGyK~{hvh`|D9+TfnR#LN_+gzTP>X5; zt-V*J*Lr^)&l9kv=8)L2FLvPnwt2y8x2iDUA@GhgpI*?`)*P+ONy=4fSHIvfp#Ajj zy1wm9cJ`wy9Gm7aoPz#(O8P^Hnb=axDcySM$AeZLux8py6er$Fy zLfSni^d%$1 zNy9`cEpcxTp}J}`?jcb3Iqwxe|4-u1iRosaf`>$Y|MUu7vnf<-3!W5zc|BR*#>c-f z)9i~6@>?%m0;na~m1-2Y0Jt8mpLv@7aPPF>H=qpEA~d=PY2;uo=bJS-|i=j#b%je0mBb5xri|+ z((Qddz#$7?>s6tpNUZL38s-g(EOKgJSN`^7dc?6Ca97-!f4xKUT_=Atz8$oda40M0 ztVpsV>C{Ff>*q;M%l>qC%$>UmCT+b~iC}7JXz|z{4{u3gwW%CP3Q3!Z;xGKL;r;Y2 zALy^;em}M7j^C2l-`2hQYJ~G0tfx$Gf;a%cMuvZ$1*uK)1F(b1e zb;DyTJQP*DM|m07IaKEZJ+zvbiG1;CQ00r_sp5iN~QJ2L~L7AgjP-xO}yx>O%-??O*K{2$z z>&Pato7kM?;9ZK3o&{MkL#t9oM^2d%NKGj?NIm+surYZ^RmvYwq!u2o?Msb2NUav* z^y_*gK5?uJ8?0Z)A+JM}J~m_+;crW$manL91quRUSyjOE)7sjS_<~pq%8*H;vdey3 zocM5ACA+*NJjsGudBZszv{n%%IO<2W8e_q1PXSlvMHp@*V=Cou#qX@e>OP{32+J2x zmvr0F99P|x2^on5X-Hg0u$-j6O#UOCATlg6&AZRmC^U626&Bcc6DZHbsdvN9CW$sh zZ=k_g$Vk8(2#amqgviBLO+Hc?tsSxd+|h|I4J$~j%_;k|$mIYSyDjX+mQpOYN(e!A zt>}?D*Q`icVcf}n)uAYKPpVEvq-6$?wl@+3g~al8YU3XTlO`<@1g3d2w%uyYGYX?cu2k`4!MTGlVj&}cI^TPs$+Yb8i_#U`ng03dh`B(O4k@3|r+3zE)Nn|0C<2Z1QkY z4PgeKiuf3Clp-`!RKQpxM84e}F$#M61^;_tjvbVJ$pI(%%;XHc5Y8=_As=KK*dF|L;5pWE0|DUe$S7^WI#_% zQy4#bRGv$d3V+H`z+-<#1RTIiPyUWljx!ch=5!X~g_43+3j*;@B)*&@B|7i37AL7X zCnuVUA(=bbdc?vkFA^70X2YsXP(I_hE$}o3Z{j1Ulf%LN`;UK=*DI9!;NV<@=ML_ACr1Brb@YBu_1{R2$FngF8>TG47A# z#LXZ;Jm}?;%mwB3frWXLQh|H&S8F>hXQJ0s>fJ8HoKzB$f@0e|2BV|@)UA?4&-6!s zk!uHBPNMkW&k!VicnRM~MHjg!$7)lt^W4<|1%}GsT?O>0| z6w4s(O{CDkG`pk_Narn-c@MW5wU?A^72Bw%TF;mW3(R_mP_SCmrhm`cegDB@)2ew) zgTID9L!Uu6ur_cQ%W|Ta<-Zc*-3ZC0xi;3rc*r2IK_iw=a%GSqf-81`np&YulRUM-|Bn zk&f23R<=u>3!cCNpmX4y$EiF`pt!`=!P0VS^%j9on)SwYcQxwdZbHiWU#tGK*hSZu zVebgUQy+#5n(}|8MX59&%mUz*>ML_KBIpb&-{6Q zoYKKDx0~+1Ou;J{86+i{MzyDC&Z)i0W?ZQ4aAJapYp?h`u0(t4gW>#qq}+$@Ck&di z9|f%0F90O2%alR=nBgv_smgbModzH``>r8`o;GbXX%A;_-?Y3IOPdDYtd*m2d3P_~ zQ`%8sy@k=H&NOdnd77Gez#KP{CHQwM5Wmj-JRLo(`~nJ2XDmGp=spPH9-)7|eLQos z81OY+dSXK53cc79Z(bPpNgthc-#&eF;52|K#n5EAiJOK$`JnQNQ(KYK^1lR2{c2YI zYVJAL9z6U6zTyP|cQ=Op^{%;kmW6s8nnfakRJ^863-bYjP5b})t6a+y*J8OuZQ3Nt zG(s+nO}-z%kvTaowRQ*SiqXe@mTOo%OGV{9W)IjLl;&%4U+pL&$_Bs0e0B^JsS(Q7br$YP9}+0CaHmQ-h^NxAkuPPh*d1WbD?in5%4UY zY#aGgtIDmerj?3=E#DcC5&Yit-u#P!Mn!jFCnTgt`c>*qzBS{J%NK|*5_eVqh|8uB z53<^*487z)-P{GJQOf2gYe^FnCyz?ovgQcMF>YueFJQ4T zXBBFz#P9((U^Eit7$__*K0%+!>1vnx=(7OoEm<2-KKBDGh+cCn740`!bJ>2YN9g2r zmHLNE^A7=6TmW>?Gy5Ndv9NK)6q$^ADKb`B^k(&_VN#s8-N|O<_&+hCQ}fwI!8!s)5GfAA0!ziB_}ExDsc3$}-~WU$+SIeq4IQNU-t9Pwc`U?#xSe75 zU8r76XO5<2Y~G!KW3x_P3wc+g5hjGs(WzlzKELdjKZ}NWZ*L*l(|hA zbf92tg8$0=K+{#zxbiOy;i#(hKbv&k`;MQ4rkVkIooBwi-$N8TsWJaU`@=C0@2`{L z_Li1$@8c*MgSgg!cA_zicn1#PG_IjUWCMLxmM{B)BT>4QA${oVm_ z(}JV*9?(9SWV-D%mbe;sJMjA(udrjfb$>oG%#n#bdVJhPEVOiA{I>nFi-?`9AYoQd zVvtb%m0c)DKMIMN8QTO8j^z1X9AxM&={$O7;t*Y3(>8hV3IA7l-1~n$y%`esYZBi{ zeNjHwZ5Qn#T!Tl6?3~xzoH_5n(u6iGe3QV$|GT*V_TGVy#c-Ry+s(QELG!RzFK~x* z7Hqydw+mdK5}>GF8e_mZj`2;9 zmQz!=vv({DJlV+(yj;OgM@?owOc+Z%tlA_*jS^r>Emw0Jedl<@iE9nOAQ3P0uHgQ5SRB3ZpKKCXarcXs$TiQy z*~1&>kNa~={xQMtG}5cx8F4!eJr~USS3KLUlsRw@b}1_=?V*}VY~X*Pq**vPu)O7E zLrF~~oIFT1wxh5!c=s0bK*WeGlW%VP9JiC-OBR{{?jC&nGlVP7gIbQNO@=BPDZ(}q zlzi=8nEM8bhsVK&?;+0XjK~2T=6bk6eFjqN$*u&ZZzcOXb+t2-(xOW1Bs(%Igro>T zEkYQ23rVY>=)jOt<9q~?IlSZXQ!q9zD^?`9o3Vr~jl3k`=YFLmNIDMv2tx6)k`&|Z zge@{09IVD`3bG1QwFyj$!TO`O)=Cyq#z7Dd4u*yS_}fLC8dhvzvEA79nk7u@r8+0J zyzc}uIx^W6K|~eeSw3&NClj=+2&ZFr`Hp8DZ4Y9Gj9}WZn3J`_LV}}k@n4iFkIB=R>RWi6fsG8L&z9%HmP@Df2c(mtiYPD9v$ys z(+~5UB#(n&gGIHIGsC34n5Ov>Z0mYg^$g)p!a!ET;>Ev{JvEEqxPk@i9glzH>To{K zKMszEN5k;?j;s5KU}QF^BE8dGVl2qp-kvZ`KpUI`(fbY55Y)NI)fGCiC4-WrIi;|} zp$C~4limYhC7Xjx9-?Jv{^25noy>CnA~%YwpFAqv+~FCv#gpF2nKHOup84ByG44ML z&b$A1=exVQ)*<5)@)aRlGcq`_B{#RzPIG z4uNtHwDkF$>9sf=7^F3Sp`p(9*$`Ic&Z`~UGHi4qb?SdOGL(;r_mTv=vZ7LoG_ zL^gJGTq+K}^=mIO?l4GdDpsf*H!b1M@4-nHuyH*?B<6R*s*arnoRMXH*LSjE8C*#x zXCB`zRsWe;Dp;BtN=U+J&>e^OF^`r;?_K8GYMk<~qM%*c15Jz6i>Ij)ErIv9X&RO` z#gl`H?s*9qZ+t-9h{omcKa6BW%=6eYhfyTZan+=c6OOR>co^t`e=zLD!y2&H5O*;i2!%M{JYqT_Mz%VzbjXh z_j&2W^X%W)^0i%YJGMww2|GM_t44&xPYaMF~1>ryC3 zPBHo1WH6Yc3bTC9fyi5Tkh+5EabwNqQ{U_GmnTswt=5ltsU~J$ZjoGLfsY$qCCxKXrLoFM}v9()8@9$Q<(s4It#;(VR5^s zp9_sdPr7P`>w9fAG}bmh8242hynVUjh*s>;<8gF|5>8vJnQG+SwPrQTPwy@2!yzP= zw6xO9XMfgfkoA_+5vc+y4&X^tT5=y4>hY~?X>Dw6oneVPtEK)v=WFsI&v0pR8&zRn zr10T`GPkiV-D$*2#TQw|22GWzPM_Y6xqGHF~*5@Wa2i1qE{ zaJ^Q+m$R}%jdbH0-a8ILhAp-3`-60BzeYlRspgWoXtcE_Ar|x#!2W16cHdCPNVmQ6 z)B3J-&4{?i7;;O;*KEn%&SPFfp%ym;JEr_U^LnG^&BN1w7F?)_x+(k}BCfGLmkgQ( z)boQU%u-;CzAVY(uzzLDoo{l7Fvt3f*FE`}`;CqdBh60fEv6o{#7>PjpG6#-nO}UW z%G}FbDonJfSsIQGdCp^O;Jxq5<5=NzHL4N=V5j!PT()kNJk9<5?0<>{XO?+7b~=&T zNwag(QCeoT`usPV&AvWKh5Choir60AllJ|8o$2a@ zD%qInvq+cx8T^Q|j|Vxem}x&7yFhb4b5m1a8;7OKT^-+XrNwETh{1Zz(HR}%C4(hS zk?Bbm-@@|OenmaC?)UZ*I|*j;=P#xQ)&IQd_SRyhD1Kku+_qg8Q9H_`?XwIb>pfQ? zuEA{2B#JWHS2%bI))x(qBtLC=K46wgjQvw#Tz(ehC?SE~o#}D@9?fbm=){8RhO)BnfRo z-*~T{{vP=DD5~}3L`n5|l-|(nkp_FHN)IU`?M!_k-%NU1Mx0)`!zYZP!S*Q;sT3Os zQr+q7=U4VOcT(wXZ$?3VPcmRvQfq3c#ls3q3V%N4VK`|A{oS={rj^q4(`sYmbE}!1 zKSg|$iEpz;%KH4SeV)#_-;nD=&$<;=%?`e5UiY4gl`jn>wx zEz}dHCnz=~rssS#oJ+LtScS(l{-3N6`Q&IyfSa#x&D7SW4BPm4w`>`r)#&TktX6w- zBl^kjk@3HOoq2c9@NH1yFGsT&8NRsJwlugO-Tq$2#yW3mg^wyyKL6fcTV1J1S)gg_ z59BOXwkQHX)qjgprZBhI@@SzM+&LmLDfsGDQ}e zR7;1^*jPVYC7=(X86YbE@Z>mK{4cH*qNWGR1*fxEm7uiX;KY1tX?XPfYwe1uDA|cI z?W&LJip=mzB70Bg7e!^7kdTTbf{9LMa_Iz0a>#4kO=Qx`N}7-uj_@DA^O>EU93YBUUwOFK3=^9V$=G4oxM_S;t{iO+gzUV)+vhO39qpP3dHerzD}SF9tYV zw!GUzFu-BNYKlGKsrVThM)Luu@j$3*u(Hz51TOgWPWE{WSqU)VFg=T!;lq9;v+CXr zVsf}_E;3Zs-jl>DA;A%t8vlojzRV*I+PbqH&6}A%h>zC@D^kiLb?p-Qqurp-KoIJ` zP)$C)Up+bkPyt2*)|$NM|JwH!74a(E9(Xe>&d*Q7-ezZK2Vb2jG8p#jaL0WTRkbR{ z!TR)S*KWe6tEuU2dTAaCu9{`tdRj2{eriW!lab~E-Xt17Zt8q@_RCiKtjGI>ZM>h~ z_V@L#`9buuYDNNV(;-kxrrzFv)3{P+@>3@6!@njr{aVHDPqt|i-?nsgTn~MG{s?~v zmAR6hoe&791uX{ezo&iBtQnQ*UJ7KiV&Ztt50!;tHEf#a<}S8u7BSqtFWxcxH*c$% z?{}a9+}NuP7EiZqyK+9u?t~5<;#381 zK>A-Wi`#OW1N9$aDij$nI7bAe^#MMSGx2$EVoSBa-5mNAa9N`u_G~e;2SnclH!#0C-rP z2c9A|HI$3@7i6^9@77-O)&3EsB`j2VdDM3!ePSuy+&Xp>d_Q+6`nu0g_sK_tXUKoI zr%i%c`PpnrOcwCJ-VFZy6(zZ7)LZZQW~Ai5yN7#QRdKK5m9&OUps2)5p(baXp1WUt z9uh{xFmnli*c_eQwRabI_}q2td@X+%CPO;1VXGCwh`Gzt5!@a;_@X1e(n2$YuGzZ94 zR5lUaeAlM`;$4ufrK3%o=fpWcl?e6jdcZ}yuB;tDT#5uwWV;>it&QFfC3am`PX(NO z$`|Q-_AIac=KQizxgQv~NxqgmfAzJ&_kMf^kf@4j7{8Xfq9vi;g>pVp8CT()o;8&4 z+8_J4ISTuP+x$adm2Tf6XVL zz#r3#5HXXG5D*ea=VavgU9FQn>`VnA-YPSE;XA^TJ}Q7f3&GKZ9D07&d#zvd0`oG9 z)$Gr+>a3A@9m|g|rS8s7VZzvo0}fTWIkd{%%eAARhzRHeFinj@qWzL>XTHclpk8e$ z$>vU@uMl|-4povz-84!{bE8tHsRGtm?lMplH zvPWz;=iLPeyE{#QoQrcNVN(xG8cG+nG{c0?#B7coRC4>2>Q8$&6R0SK%LN2R-++2x zmanM8h~db(VeKjN@d{TG-N)~4h* z%v>cAsUu>DBGH(hs332GX?4z=(>x}iphgF9HgtfCa=}29cx(y`!4a2YFtw?IZtqUZ zSLfhucxUrF48%fL#MqC94Te(7+C7d|12bz^iey0Tc#CB)u$OXp@jw0Dl_6DC&?aRs zhvI}J$b+R4EH?v=deTaS6tz?18`Jx=tueUq2?p%4^z)~dT{ud}6b2+sHAgrtrFZM24S_d~GV`;I}+&EZwxVO{5q1 z+Z#xp{ORtCqQs2Q0gW5d#6^LU6XJkB49t{U$+h~>MZ zdR&a@rO*uqaL}ewwG&V6ZdP<#{#5F^|VGUwe+(y_& zMeCHwd>0TsOfU^TYul}n@V(yi?z$A6{qiC1lbGs*aXQh0-0)H^ zm>8ywV&sJYE0fG_{)B|L!496TIFF}R{CE*$k%F-rc_J%k88M+%_N=ei^ivK3-++y{ddykB5XD`!YClSXIVtnhE7!@c*Nw|(2iW# zk4tF0e5L8|%;a5v*=p0i6X>sw$oSK5F1H`ZNZ)&Tjbs%rF5sJZ-DJbFcjJpGwr6_> z-n%dgty}vZjQ?Dpd}Ba9?8h%4wt;Lt-hjX1wczx->lqe7i?-N~rcIXkA(nHE-x|N` z4MGJUuMs@&IGg|AZi^E;=3(V-?Ra>5CV#o;ZsoMGG&Fxb{`-qS)zn;3g8+4wAHwzO z?0erhEOl#mr0@4e#d-6jQ>kiwYpuh_?^F}?)ObD5pFLC1b{o`adHd4c*U>e%Vf^u_ zdAyEWfJ2pOWnw}zmSr*}6((~-iz|6SHyOLxtoPYc8Y1ljS`F^yVO1Kxr@Y$d;BF81 z4fKQyH7I_a+xPUN9LYC>8K&#R$0zKn*eLq$oc#O{zixosY5sAuF`6%0=ef;)ev+tMmy1Ed1d`d z@@B+L%6qu3$a3NnVl2HVDb2~ceX8s=j|t50;%4;Q_mjrG3id#Vy~IxHDSh)UO@E!d8-Jy~?q+b1nTZzQ@ASL=y)Ll%wl+i|4&Mq2C)E?<0T9NGLuWHLB6Ir*L0ZEOkeR68 zbT~R3z4kWxX)74arFNu>G4A(=fFtWs5(U185aCvirFo&j4p9w0EdVJXjVJ?wGIASe z<<951IwQm&zkcg}PMGg8ycb#jp?<70KJ){goI%)i6)eg zj~Fo(r|RIx51_=ELdtfiJx0dXk_q?gqr|Db z&7UqA{)bSKWH9-6%>{gX!k%TapY_R`j5srNS2?dbtpe z6!(US8vp&uoEQCOQetA_kEw*7vapSY<05uqi>W=jZE=ZSFL*!fm(BXqQ=7tpljBT%oSvR@EkO7pU_~3T z+e1LEo%8oomK55x?5^jCdm$#H1$*Jo>^7obYvh0KfFHtdeC`q##g>F7|jD5?!1!o~47|!$BQ^ox+HX6~XA*-)GywUNWISM;#sw z94t9ITI7;mv})-ohc)DMGv5iw{pc=jxKQ)01ocd~|>0j@rd zsvHfz=O)4io%`Q?Vt@9m>TKfrectDx9LgWehjcR%b-_XQ{*^S0;IJa)3*_>ByA==M zNVr>W>AVq)^(z`HD-jgSo4;!_u9o!M61mS`G&MAA^*A2iJ@DI~eorRGLHz+V6tEYW zEp_#)3s{=mZ|DExd-Oaau5enMB?79Xd-VJv{~^yBo9X4*9~v|Ne$Uee-IhgAH>g1y?_I-aKYoy)YU$6)7$shWU z0@RXw4yIQLn#h}EWho$O<9qt!l1{wC+oQP2*2~Y*aT|SO`uX$E-ub=1Ln{7_=V>)T zrtqAM3`64uU@-1r{Y(z(e2R6W^iX4VcjZu9*XXjG=YN2nHo3aWzsdA!@AP)!+I9A9 zF>vlWZ!-g!AMQ8%EkXMdiw$v+tsYJ`_7|D9rnf7fyC}ZgFE~rz%%46t*qqFjoBQq7 z%LB%+rd5vj^H}*e7 z*V4BeQ)E3155E@gPo6)_nJy+JZw z5@ct;<+MJ^gRrU+NyY23S|52ijjjb>zkaCZ`=R?)6GMhv@ma`e9CVd~iP2IGL>54j zBM*+&gb<{3=ky)dSx#Zf)l6ApK8n?oz6=Vjw1t0=?p-yz0e+;kHCOg_w3 z7u^avcED$U^C>MBCJR4ov!WqVC+lBD9QhcoQWarwp<5uUYA%*Pyn5EGM2#kXBjXY! zK}>PRAd}?LH(g&AB#T#hAfe~Vt1$~>?~$-oKa6+B39%xDlBW>$WY-UA*qDqtG?x6~ zU}3T*-(CK)nNxl(h+#NT5lISu;qqZ+20|MZhOI7(4PwHkvDa2t<`gitEQT~GRTNR- zNk+l4NM+H76yeVvQHE%%FqP=2sp60D^DzsLr!y`i9`EI1aW*A!X?kxR zZRv6^Tgv18gFax~Vb9+>f5f4x)W*}G!aRqG#H)t>>?0(NuL~>JKLv!qu0ej+NAqWI zTWFnr_JWP<>c8Xkt8r~CnIx>K`Y`<7aVwhrqw}_(^N|G`GbZ$rl|%9Q5+*;3$=z(N z?4!R>F3pc5VJSQ+e5$EoF@`D%#DvNEu50xvQPwQ~${Y37?W6yc32FVQrAqGvqXpzs z1r<|#IKw;}T-{$feq|XB_58t)bu_?aK^s5O97hoy+C*njJtbq0|HtBkwJJZAZ7w92 zXB0a#xjV!&Q_7NDX&br2u7s8}f$a3^-@TN&AK3XEz zaaS%?F!tT@AT0)F!(){Dhg-Eoa7am$EclhBq`;(ZV@I3eSvx67AY*}yDia>~MG8kr zoM+`^3KVzl?Wav0;4>&kKI7Hz=#(g`|ATp#=r>5Ka!MICbuib}R8RO!*#P#5j1fnc zhw0yb{P|}ypLcLidF+!uMKv`#>mD2YmCRppGwVFE{rh7Q2c4Vhi~lx&_8-6?sYUtS z9L+JH{ap^p7H@4_mwzYM9WQ_RNSh@WAD>A7?U=7vo4)s=R!|nZz|nm5?NKB`UMq_k zc+XB5w3te{o|JrIrQCY5)#o|Irk%k7ZPgZM@2a$)M`2+UzJd3ap+2KhVB*5!PPjp}3zc?4 zQv80~<137VpI``mXTlq!Jj%J;>bRA$%1!6nHXKv)Um;A>H4O zkL#{}+`L>$Q&*Sr$t{z_y+{`d405lVIwb$;;*PY%7ZD$KYNYwVYh%-gYs?*9sLMvq z@v2yemJoMv7t?Cd?>RZ=i`n-=jFF);usJ8;Y~{p*!Pt@e9}~{LHvq+eS9gPKLf|gG z=W27*TUY|OdT}w&@!2!pzB<}`xLNS7XY#oEu6l#W(A+?-DB!UUBn$5huv`B(xS5u4 zVb%e*P@}ad+M8iJSB^t;gr)4{tt?@;-YDTmPa!n|9Z^m9~x& zW=f0`R2`VlsBawcJwi#4O}oojl&d^Cj`HTHE(bP>mEGKU3 zhw|l45+g5_qG`6ocQGy#s}9cDwXNB0(` z?KHgZ$J6S{XLz_DcE+BY&TnLZ-@OyVI#P+zgu6Q0+uQIs3dZf`wvCUx*~&zJF(9=SN-HU2hfmQ;=v3Fd z6?LDr^W23W&}P$`wFb=aI(m%oW(u*$5n=%AQ&KrCau!h3_=Xt8e0SN_rGIudS$uP9 zg+Xeo>p(|Gtx8;|BB{s(jG&3D`|+3%o3b3VC>dyXyB&0QhTmMw)YCe6lSS{Cm;u4z zF{8uH1yMwNBP=}a9I!HpNzY|b@gf(t9HN#|Q#iJNudMgj*xEY;*!xu&IbR5iJkJr6 zcp=bq*?oU8y_JVNt>%g61fZ4i@lDi$UDATGE&aBav{L*pL^NQZt;g&Wdbx}iW-F#> ztZg3s2=aH}acst1amo0aoR^z1fO~g;f!f=h|I(cHYO9dF#^*d04WL#uTQZqy}RMs`+_f-R<%K$`1c?(0_G2(1R)390Vc z*^Sv*n;H>?4Oj*H*M6E|wnt?pcFvXU-)g@#)lu}TR(V#fZpUm#c%b&z!(|ICe}U=8 zImUE^fZ49ZQE1G7#OPAvMrP}nu`|-ftMo}Xw#(#+*Jkqpkw+7O`TqabE&gv7;dEc8 z_;(H$SZy4Hyn=Fl>>jbPkum=-kPr>3pgDM@(7T7_&t!!I#Ve>z$2(9d@%FR#;?V`J z!=D%d41ZnQn?x{34h*pS#Wpdhr~;U-cgkb|zm8o7Ms+^g!V5SmA1vjAtMpZ;_v>bI}5oQn3o46u*j)5ERU!6q!&iIwZ! zp}!w_MM{FB%G~n`ebX)F@(1=tiPxqUV1$FTkfsbKp4}0Ukr{vx_G<{n&1zj@vZAG0 zTTv))MFcPknN!j}7w%BWkt>+LH8Nt$X;J8gP`$)WVdhfTC8s9kE{}!^MB%^0qbEuG ztFjgtJpm5IPOggtPe9$!OfJQq>*ki`Ks};JR4tca#FvO30=JXY*crJh zQ2?Ly*wNwXSZk}4BMEv8Bok5owusH{Hv&nhwi$=y?w&6-sl~sgm7+s)FXaYcum&lG zWPO-^Ss`g54*?NvNbcn`8Pc!kepn$5%oDMYERKRV1keMQI-@

      7CH*h%k5~1ze-sI; zH8crPd|Ro>hOpo^KAQ)8UNwktO8sJ8%)Z7I)h9E5f_`lsS{|Z zgCA#;lk<<*wr5Y*Bp=|dm6i4|gZ2vZRRAB#wGVzH^lAFJ*R9FZ+gsj>Or~2! z6j3?5ShJ#3p8Lr|qXJO!_V_61Y<6noDw)5A#PQrxoLrqNQD+P?l zdf*y3lmBVfy687rn`G25g~?FiMhLNT<++J`6&(u>8XL(13QHihkh9!x@dM9s3%aT8WFZ?wG zaPRv&Dsof&trz_5Ek;}`h3(sbzLY-!qy;|%Q>z;Rr9<)2&DIh4l zV`X98WHH>Sp-~Lh@$Snv3NMfdFD_XD(MO(-K!GnfQN%yOimMIdkM{q@=f7OKZvJRA zC7+aS6~gY8 zBTe3m`q@v=VArK|8S?}b5?oXnxJFt0GF56L$Dz;MMeU2*^|_c)Em4o$zC(JgP>H42 zqGQ{H?~FT{jjpMUJ@5WyItyK><%cRgga$MHKtmNtMOC_Yx{Li6dvD{VLfS){BIQ#S z>`qZ!whA-NsZzw7U#cGjVZ994g_f}PpBVcmHqEu$X54q~L_m`cKNsA$TufiS3`Nu15&fUX7iU{tzlkUJ|K$okPuKJr$|2`6{RyDX%{MX4HDR!KKuJtNRQO-r zH>U-N@06;FwmzXl=S6b@cw-Bdb^OA!P}6t zROoBQPEf$by)}+^pJVz|@>_{RTm>P7V!!v$O1+#EgBeKSLzP zE}ovCno_}2VeS9bNMndSV9DF-&0;L-3hC@zit=B%e2W{(Sr(Va7gKJMn(p5~3Ts_b zhl2tB{`RV?G)GPp?-meIB@BqGBJg~Umgm)OHLD4gZ<_F{KBOs5hQqTFIVb8yXp`X2 zY?$8sn=atc4|zQ7d^T?rT6V?ZTPNAB8Wqwo zXCQISM9AICLpzI$3TuRh6cSRGu1s=+MVHX|)a%DRnmsRMh71~XQ&}IZxnx}x zCwV*1P0ajpIa-Ab&O3af+6SuzqPihXfp*4g$)_?fxY zx7~@cbn)77a9m*%8>E7*!DS}yGQ0bkYiy#Su`$~RnQMV|OPH;#AtNio?HwKHj>$<$ zVo!O*+-97d)0WMq+4DOSN1M9}KYH%({M41h78JeshHiriSEhL>R5CVGJOkkhX1qt zD%7lNq^Mk#!8@tUiV@n}QXll{Yus{^qiN(ZMQ|0{Z#{B)>(HS?M2LgXzxKEB=oG(x&JJ zsyRU1XSCWf17jIMiO|yVw*lt(tR#me$GdrHcTpyHX>^BQl2 z@$+iUBb>nfjSI^P+VU^^Aoghy-$i^yn|zzi&$N9IUQnE}V|6prW@$~P4q(kNO2r=8 zc^3{sqGY}r%R0VV?-C<2-}oUR&dB&+KI{ybf$=pD>QRLC&YCP3V5a>V^ImFQdva}| z9wh^RvSIKD4VC0pXZ1LZZK{5^KiM=VDih>8f8#~nE5-^eTv$Of$RoO7Q5*A7vR^g- znPogJnx?PJTN?dXkH^skp;4nHh)MR_-vJU8s_NS!tn66R;UKhn#3=C9_RA&>V#8& z$tIAt{$di>ren+F@oyagBSU8iABpo;zd8GVXMYC;gJ#neh+tX$H=$p(fMI<`Q}%={ z?S7mL8_Z&&w7u>1& zZom6PITQLgzq*%Qw6AykoU-*BkVEn{s$Y+YnCq$dN8vU(5x%&Mc70gji5QkXJy%0U z6b9H?Q^o!MCi%T8B7foJQ(ru<1}&kH4Oy$tTR| zIQZ^@^Z9p^(LvHUNdD>gb``OQ80)Hi+r-Mb0$qq`BncRU&1q2*MdwwHtm+c2N;yN} zAD1tWQ>X^pdy>DQ*!w3klDfx|x{uZr97wQ%} zk`+!S@0%RKkyDq7TX8X_5S%|g)y^fd&*c7&Kw@K@f7EyAzL-_VjDN8re}68%I^n%3 zDi0>m2oIDZS$(bKtBAjEwker%d2(lLL(-+C%)?o^%eS3}GIpwu9tzYc$dU!8(GU0NIM6mV;{VpfUZTrE@7c`LAL}H4 z%4G=fO_vTD_WdFT>blzfBL*?vczxSmZS`ApZ4Jf1Si+z)el3clkok4Ju0WVAEnvwg zVjMMP2*$*x0WlB2wM*oz-BR?{=vY56 z2apnL$Y#EAT7n)bm&Nkimi>KT>W=Tb_n?_o>E6An`_PW#V4T=Kky@|Jn;6-q2YzhY zrTUAwv121g-*?rr$@+z%EI@I8#Hhm5f(R2UBOfqMSC^N#UfzmihA>iw1zmJ6VIo^;sY^-mBtKpXCQXJu)a-J*kse zexeLh8dt-QG7qt~ua(rnpsi#76&~081^pGHw6b6e3OZx4>~sbmpOPH7VWEN>w<$~3 zInEfTKX!Dv!hHzT{tbxa*{afpDJf%f6cfp507J4*Omdu@-pl3jM+w4o?oEEJ177bH z<7D86vuNp{8q-SSWWk zYFruM>_=;D1q%uV9yD@m#!%{2&dr)OqNli%@0IDcD==D<9BRlB)$H01TrubWe7QW(CW(c*w`N;gzqg-xgYV0r;#2DI zZF64HeE=ivh1|GJEYFjs|&f6fRwmX z4g1dzz$YJQsJ%qBnU!kaxf~891V$X}$V2tNCn=^w!5Ii%F3NN(YOT$5O-bC0d$?=x z2QvTK#m|pxThn%b3|Ph}Q`cVp!ZzAou8$#uPI`Jf8)q(M#O&qBvB+npl`C)E)P$t* zF5o9lzf}jvJ6BgO*D_Jvz=tRP8MBvX$idFUbZ@GbCA5}uRd@hAvH2XEQS)YH+h12` z>`GkeYB)c{!^7ho@^YV#xbqGLu+7P^X{Gg4uCC4pK)trQk#0UteMI`AYbag=N&`_{ zzIA`^KO}W``)Ed#HKM6}RG8dWn`qzGEV!{NFUo?2qEa0nx4H+^^v z0=aT(>Fh={*TFTI6TB7>*S-pgM2HHx!YwG=B_nIB+0CVFQCo*1ZS3w4wsm8( z*tj~_o+lJE3 zUqU}}Yuc*iKT_Sy673({ujD@LHV%s7(2s`7=9-yNZZd1;70yA_YnpLTN$smYy79r{ zw!FmExHR*`jIl(O)9}Gz3lu}`Je71IFSoZy5>JCJqpUz~LZizr2m9~uB#o=Duv=D@ zI}9(!%!2Qyhfhfpmr1-owD%$l2AF3LuV1cqLIU_Cgfa)C1@&h=S~kBdUR*tBu0K4M zNr`oSd)hjE)>>50Do*{K8lmA#w3pE+^{`{xsmZ+8x`;%8J}ycr-a6!}Y&F_$vCsVkIvOdkL!SqDZ&7}yjqT$;Oo~<< zr{r1sDt>U2{H4$(L0iVn@85m|fz-)WOy$+kQZ&GONqMH1Isb86KjeB(GbvfoaPPoR zShgjrqY$=qCS}x_nVMjHO=m=F}qdHzk2I z5eHu{$G|u~Uk^+D2MdOy3?e-E%yPV^@%joj&yVLH#FBmPAC&q8y|cUuxoxuCGcx4c z4V^^|6$W$-<=uIy64F?F)S}h=IK_Q2=;WBx9<~;jj#(5{u|`7s5)_!%lgeS#P`xpoX0;*=Fe+QCK?H3n~ec;19!o^ zGiolnds=a({l_2ljCvR4^kjdZcg$W6pOU2luCF&M$(eCAWkoVfB^Je zY@E$Lo%yBgHG5L2u;?K!$jhjqN5^V2T6&O!?%T$EJjL|Y)xqLLnoBHKu1TySq^K8i zk3=`Mu6M(b?-^)Q)tL0yR?(9Z-B%`@h-o`yVsKJp>dl@)|MToqT*aa5%Nc>$)3c`R zK!j7qf%(j7@=!!Pc^da(zP>PV zk>Lamib)dOZea4`s}Xds_9oEXS6^ptfEm3T_JGYDosY|-F4?_gqBqB zJwKN!Nc2lOziLJ4uS(v;O@@q%gE<}~S#ZFG3vz@TwaJeMEq9sJkSn;(`&rvZ0?k=p z!=b}2wx6wi=Z85NB{acEw4qI68k7x%w^e&`<+PTE>_>M)(Es_rm6Uq+fn{-!4n zcNQU54|e8D+{K|2SqP-2b!Nv8S#w%Is_d`rkJYN9EVK0W_3v!TQB%DeJDmE!CY(YR zKOSIf0lHnE12;#k49PIv%lL33jwT>Nt+QirI8;edMJY~8H~RI>%}rAV^4DM>X{o&; zt1hXv_I$zB*3Ft~;lMKH(pAT@9q*{9Vd`G3nS|MdP3Kmx-|tx+AW6hD5LD%Dt;-j# zg@a+GOsN7YWy${FQ&KM&8wl&w0ND*Yjq+UFEw__c^5$je`g?k&Gn}1m$WZ*42q2Bt z{$@S2bS0`Un?}#1g6tRgx+g+-*S$;mNv~2DsV;kW%4`2oD}!ouG-HK>Yrk>7yo*qfGHi@w#Rq9Ni$d+es7a#WDr1^hvu6jK7jJK{l z3l6klOT)y4bF#nqCk6!32(?=-r^PJhI~Pu=rMwoiqMZrmD+ya(SRdJ2q_C_)xf6@UoPYocpI5|H2xS00T}? z*k=s3XtuBfzo3#V86cLLC$TT@Nxc?AZ_L8X0j$WRmD=_Q9a!s4<(^p3n*QHh*E&=H z8{_iBe_GP78vHV2%|YmWgxJ*>4jD+caJdOPuLW;&eJQ3TdP}K&J9kMjj#0%}U|A6P z*U_@ya1oEk<>5euk}N@x4i2NZ80xm?{v%5qS&rQk%gquh9h1V%JGQA$<~M%$tQqnIuU`SCMFr{@+e3Trsov*rEh_Xq*(o$j7}#OZG^x8i*xscH+IT)R zRx{%7becCi+fcQB)t4+gO-g9L;mU*AyQf@_-!Gnx5BMY#-jvsJdNZGH9s-nrfGjyq zpM|%4jrm`s&hPyO&LmsOqrdamtb)7Iv{vHa=N7T6m)ae}L``V>@3o%V{PRAk#uldd zW!Ej#jB~cN%3I+^e9%D=nJV>D0Zo5vmT;}b1< zxMd0|X@uOzku^nn5E4Kk*P~{PS#cEvpLi$r^0^p{V@EH1mc;#VRt)oPTJyEm28TNk ze0@q-DHYwkK0s+XsT9QU7%P3exSWT^o?+D{jZ0S_l*6BX=>Bpx>~|io!g@FftTuQZ6ViT3Xo?AIJwVA=n$ zr3EfxuvC0IoQV!_{!s!tCMA2F%hLikUkzilL8Y^NbriZRvRdOrG9IbJ4V1MzAd*v@ zq(A%{F^P^T`cF{AH76Y)SHqJi$I74}BiFNC6{1O$nbv2<5|<gOEP4`E3!C_~X!+w?4AfO?#tf}C zc{CIZ?A|z42V%Cg~Z=RS`F-+{M9Cw){0918hDf2iB6Mz{CfB z1w?^()ht=3MRa&^`crx+R)rlIF~d~)xxH!_9CC1Zfh0u5JU)TloK)@Hz)buR1KLOd z(y+!-Ufqf9P!51n7?B*MwT==p?M^C8u?<_w3w|k)i@ON;~(L$9o099;G8CDp(esD7>=5(maMphFdHQ zq(mK+3RqkkGKf&QuN3Cfw=RlE;z0+>fOz6r;B7!cp1883T`pAbQyBU;eh4P9_f^Di{f4V4wg=CMJ zt5H}Z{b+u)9Vgs``uj;8zh*(1QyOITF+8@i0sX#2OH_q%t<08&3QR)jVci)jsH zZ@oJlGr+!V5!nz&yq}JQ&&-Y$MGP06?VoSX&{cxr9Bj(6w5Y37lKx&^++P!7{Ok3U zQ?83(Wf6)rYS%aSP!6RS`<#6_))xMwYiE<%Y;TzTrf|g<)VOt)~dn}!oEBvfWN`R)3jHPdx9eT43Us^rrF zR(^0mu1zmOzYMtfZ@PFD!LfTG^|-s}nlF)`*Y&Qpw!NZIIFpSRf48!$K2uAa$`&p| zP#i0I@XzhV_4%rM<#Shvu@f#P-9flc#B`Fko0ze|;)rzc?I>3FB(KlTyepV70H00-hmr z6zJohyqeOz?_}_*^r5)w@%hyY)3SJgJC&~}w1F)GOl1R~ztiP`=vRuX&gLVpHxX1* zMQuHbHLSRptv}}fHZm@CBy3W3mZE{>ervkHfOnDS-{zquALP5cJJ_`Q)+N}pu=uyT zCe~>B&HC7zMhCUoHnq{@WE!)4q$Ud&(q?`}J}b$&y)`Rd&eBa`$~} z_xGed0FFKRmHE4szxs_&kv?%YYN}*Z;Q%eh93g4I&~cB(p?wEmM0v1A|`=u zBV;D;Yh>k6XSB_8jVJX-`szthq3l(x7;~Z|RioiSm$zjh556zi&?n~TNZNK*6YcHB zJ1=N$RkI9<_skk%v1|xb=fr`Ji9`|K#^(q1mWl*kczAl>4?h28rjeAqKiWbTdOohD zKSdNNyM};g_6KjcP|HKE^vy0YM;l$ckrzLG@%!Ake}ftL5QvM5EB|v^1?guyIabGn za^%0OHOrsrP}BAWrOzbc-LU^TRl^^SiPNa6*EJBGw(g-6JU1FttPdChH$>z^^WD2%ioyoVJt{mOsM_rlv$@HTO?*5*i?h#tJ{!`gkWo|J|JW+qSlT)FnrqotP-kRrzqo-}kTjkf*KA z40g9eWzxD2WT`QsDAsY8%ZvM!IWAK%f8p2G^nKgsg7)bW-*;|PC((a8w)kBhw%3e0 z7hu@xWU<(|J^Cy!(OnOQ9s4!6iHdl?G)56>DRX8n4lXwTKDhHAhv}qy_Bk)kY@GS& zWF4daaJ?NUDvNQTtL*9d&WYNPP1jc@7+HmUIQnRw!wZ+r3HY~hTCn!`C?0seiJJ9J z(o%Kj)$VG)7g9n^e^sk%{6!Z2C$cS=BrXOquKx5&WF`ABUfhR2{#{qV7ZWPE<@q9^ zJ*#c^+TsEpDn5Uh_^1kJmM&u4l|RPPIIB^T{P~Vcd|_c!C?2@2^($c*3++Nr}v%RCc4%Re_{d)1oTB)Fx5w_@{p}f?TR~G_r&C z4n~4_TY%=JuNIS3s`y*yx-OYWixbzi6#x63k_svb;zNGJfte?jIf3JYN`^OE!70Dt zu3dbzs&%$w+cqeTu&4-z+@o`5Wbf_3z~WbM4C)Xt))TazhB{&kv_mGSxeHM;SZHtG z;}oBkyy&adZDdrYiSFXnpQW;S9JdgrzQBeZkIxJ^`YkDF$l9X;=#NV5i3`c%(@Rg& zhU5%*+Ka^H-#`4b?^)x6<5sM7iJ`I}G#7IBQJwmkiltQyJuv9XvJs0p_rY~YePvDu z_b*ax2BcT4s2rK6eYL&p7Th(N2=(4q&-3WSi2O<6k*GVCjR(puNe-DJR#(W7R?sIE zL@X_8r9taGy`a1Lvma2lv1K}C3hDA(W`#Br&Z%lXVWDX^J0)WmcdzjuX+T{$jSNp? zvKi(&&?KY-2CJd^_}iQ!*nxAktE*eovMG{#KheKGCbq96jXmbDTDqNYAw^2595L9& zF^0X;#5pEdXSy$Oec#`dhW43wNSy*p{d;-?yhZ>OTgfE%ZCx81>l5~N^Y!)j_ZP`k zV2cV10f{c`KVSAdG#1OjxXAf0M6+bPS=Xv1l!BA>MD@dV?h?ez`f;I2|0o zqcFYob(Xm5NYp`?1~}4~_=EgX!Bdsm-_*uzh=c+7=;KQ!%^+ed$S$ZfJ@)(K)D;aE zQwC{~asvqp)A6+wB*ji2?yUyXY_?spf*<(8D(4o{OyinA5 zL9wD=O~m0O{Vl*X%a0jTar<+Gg!~4U#Oy*QavE*ioA>Vp!av-287%cQekt190Mn#_Sl~WZ&&2p^A%bbDM9?GI1AFP8^apyJ4*_lrqhkHGDjmQt*>dNmMHOZNq0AvtCpTBpTwI8P>8M-KM$zBP%LK z;L!da|NTc5=a8=Zs)?TUq{x)hp%7fROqwZUoU57?~;+yUsP;}z$V-I%%Gj<&-qS{IajbXm7s zrH{oi7sVYDLYo4*?*6ZQ<#dRM8ey%SYlXT;0Z%NIUfe$K8qU)SJf}tRI2Uque{AjQDLQFkX6Q_azt~p&A>MEw$aQCX+j76{g7LtF z2PnA+=j4;3h*V^ovjDv{LqL8T%+H58lO?ZzD&AUC%n%yuF$=w-TS zLb<9OFOWuJ0JZ4+)Z!%rU~WSM+^y>b2oeMm7g>IA%szH$bo#@Bmt3=<2ms%IwVt2| z0i&y$p#ez#;|5Cn1OuCN4kP@2{p3LFs{U9Y7;wAw&s!e|c;duL&TIU66b4`f7HSog zTp=ik0C_z~67=}`XbMb70)qn-^eu>Z)gTHGtx;DPo3({qT62nX4+rNRSTAXGE$h9G^>FLP8fC;XpAllP6W8< zhB`%;N^fk{e9_Gv7I~hhbjV%I_KPcLz}tXv{XSNS#eEOb$18mY41oH~j>?4TDLh6q3k{7Z2sXo#*6j3Oe0gjMoTq=rTh;%~N*26g2-fN&67~Y9 zyz!XT(N5Qn83UpLedw#I~^m<8pnLmML^7uIGA@OYl>6E3b9WHe-esNP;g~W_? z;@^3FrV{CqM4}O*LfIG2F#T`&UGUT!*C3bqlPsC1T+`>1(2e4x_a>wRx~4&``kWIJ zoUx;DM8s+QMHs;V7bMJnAB|F$QVAHDwpoNSQ;7{Y8*+s7y%j2&%*Bp8DT!&L0vs_wq+0;OW&X%!T6$FBr;9VCGK)@ zrrD+zMFWmd6i%(`0=sUlY{21dmAOJHYtMTKRGN*))aB{S<(Xl;W0zc0t^qMFTbxqg zWW*u)(@u1GX)OaCYhnAs&&`*ugrL!_T%0whNPIN#E^b1%iYYk07`_TOp^UiQ^lNNW zk4_%+ zzOZ?3nBJ12koWR#fSF~pkH2wYbLS2>O3jClQB(o_|iv90^ZhbC+e*XKteN8hV@lK=h-Kv2; zJ;UnraSIt`687ev)+Gi1ta4kf{2<%d2cPHl@i;+)a8=r#tR+9~IgK}4-$}fKePL}c zv8IvP4xcc!&_|{=uga=*q_E6|hOvu_%aiadb!YX_Muiowj^b=@-M8aKg1!_{E$=6A za&g)qs3dn#tJ-_xtFUYLY({L=FohsXHU{G|Y+1eN)J{Wr6721{jSif2)cry}eK{lYLXR1>f6) z%Zn?oG;(Ww;oVu^TCE?AomC#LZh<`cbytK*;tw~7EtV4+>i5UjvW`a!Rl2ry-Q?O& zBgK!AIn9|FQb@(HCi+J9vz4ct$7?#A?2c~O6CrBSYHSK`iX|XOLM_>?lu&oqJ|U(U z+8b5V|L94>M?LuHHcxfI422g|ICaAxbtBRVJSe^n)(TL)va4xM zpPKblpC0T`LvFbK`em)oWKJ1g$m2ERXyc`stw`Ej$(CX+PGbW#&+!=j)UO2NSQ4Hm zgp6E1Tn(J>4)Cr~9opCnz@Sc}qOY&0BF+OU()1L3#b6zICbMu8<8c*}d~#&R{NK*B z(~aU{@R&4pB&=j@ED{DcH8J4+vR0l})vOZK_`$$Rm~eOvM8fHslU1reW<$0V%psGp#Q zSVj)QuRV-XmS$}DDfpG<5ET*v&DqMk$QfDI1qDl6RCZwjJp0JV?@No-3qLkd*CE%P z(-_KKo_#c7nX>3M=*nI_;C@dLj~aj7ZkNiuA@yiTr))HFzPci$6Z0kX_(Sm_ zd`l%~5oO3#eS_HdX4tM(QSE+4G|tSRS9R!Z`#Om~ZElG_FPY+B4;E~0Ou{$rMcgt8 zu4$p)))p6)v0(vj=XcwmQ~laH{e3)8baq{&Pz?Qkb)2?%gZS;k*7?#nZ(W9lb@zei zO!3ynQ(#cHk(j?1BzK&vjuX|Zv)(UQS~$9XC8e(eSN|%_fpQEvf#e>|Rk6_ODF|7t z#&412JTq?Jd%oPdLrgEcuF{VGP-ZGc=WejZV>BAAjXDb|b2(a7=U z9HqX^8Z)fePVV)wdKJeL=K>k$`79@lcgUPmTNNNB#(>uTsw!v?M10rgbo94CR6YLe_H62 zdV|jYOL?AUVR{Zr3i=-9_kUh@&l9O(BXZqhf2+T+Xq}e5rU%G?!p%Vx4%Iw>*S@Aeda9zmB^9$2ng%-nJQn@E#69ttR9cFa z?H!u$E9n9ZFDvM!F=quPYp+Bmhwxk|*Ioc>r54apoDB#}5BzBk|gOQjMW8b^jkPw6NtP3aOR4Dithfh zKZ)v?sipAZ`0YfF&q6wgSORoAp&lS;i2ff*vF^@~P#qp73E=#Wj%3_4J@_LgJ!bQ1 zfvennbIX5Vh61`lo0SS@Mr>f{JP*c?C4+#L;KYANaDgTyZSc0K;eU8+=@Jqi_#Q!j zj)|ze6|%ask3zm4`8~J*^xCj~bZv&CeXWVY9}qd6G2SC{+1ha_w~PdnCm> z(sSdkAIV>@t&0p+YYX5lQ!YLKVrNfJ*oDml_6gGi#YnTA{G;5L;4;& zC40f?$nD6=PFYKSDZl3pskqtL>T7S&fex(guLhCT1E(z}gEhbKkN>K*J)Vf@9jt`+ z5USVDvm>4i0kbO?ZA+XjE(f%RvmLM2nDSGH`XA2hU+H_N@2zxCjt;I5(e3y>mA#^4 zz{48O%)^}3VBpq&13ESF+h4i)Z&g{QrxO@*wi=9Bq3(?8#g%qpTdozVhe~ukBBbU$ zuERRnB$||6WYCHdUNI(R-ADq+Og>gT#C@dKrZOM4K^?r;Oisn&wvOq`N3eeJt4f-X zsd$ZvQIPzWMrJll`l;b9COXFJH}i3r?Fo5UnXG`2XqwhmSt&)d&|zX>>|}J$0-_R$ z5DgUDS>Ez37{>rNM1t(=d_5tLCV(|r%!g48NS}cYa(Y6w2tDLE7QHb!)Yy|1XGcePa5YYem9&RQljs3I!TqMB~d(v4cQC*P@ zq+Jj*Qh)APO01}W`%CG)Iy6~LVWUpwy;J&24AvScHVY(`Qn1b2W(n8YmT5g* zDgh~=lq{*Dd|e$T{h$A=THN7!2nx+chdjP;aJmKQFyl|2V5UC`zoHY~DZXH1#1JvF z+7k4^Bo1^kUso0Wfw93sT|)wF1h7c##S-f2VyrviAU&51GE%Q!;tv$0dcNme-(Omao3m|27-9xK?@#vjCTjEv z=}3Brn8E`5sjQ(ZD~TEw+A|ssfDc-AI;}8g$e!o9r6RQydtr-Wv2fX*FU$-G8>+dHmP6q`KBE?Eqc;nJTyYH$ z(SWl~@qiVI&pvJBQN73$)8hYZbGY%9EI(QHv7$weyPw|8AWPC7$JZWLY&7AsGPa_# z_VdW7P8`_vnurqO@89vuTwPlfm@*4BIxElbno$1Y`{f8op^hc#q3+@(f8!c-H!*xV_=o05XA31FR(`|CbrYi*538$Yl#X3whDjRaJ9Ym zYF_xOomT=$hpHUpz5HOTlUrGvt!13X#Q1mR(H!GgwN7Oxx5(}jzE*Ph&)sWG3@Td?Z8(V$MsAj~1dSW-Q4$A#o9b~Sqr?} zzOGYUO|JK{-?47oD|O~})!+rXvnx+M!VcFSs(S7YixpU~C3PISyW1WPkS?=GJjn)d zL%0q)7H@pGSxDKipw#||&zw+4cZUhQtc6V(W-`u+l_`%U^1%u>n21*FaXk*@UikNK za(qU6<*#=8pVVfliuCkCE&EnJov+=2w`XT(91~gaX=P15?9R@ir2GKUZ0fGS`=VOp zq>rubiCG(83Oni_uo1ab)#_4b(o?z9nzHUFw65ZA@OSQZkyq6J{tmgzHH)0#3Vb>> zo4y^-?|$-rJ{DK5+gWJ}^0>J<-P(E#J6#yq&z-BwNQa?%b^i+1kmTp%`?_5Byn(!{ zlkwKtgOF7!r4A?&b_K!ar453DkM@XrxM-fjGPs`O%_}<^Y=b>i6SrQ*rYS7&<5+$TZ88nH+-K(Ce$|>>;OBK+mLY;Qba701D-BZ3B`7+q<7$@ z=fhL8)}@3n=NuHpi>cdWw~lL<%S4rDPeg~eB#<&OopXZgtd-@fiG~vQnt?^!})dx6Ulnc|q2GSx4ZxP5Q-L z+^YswwCAx#Tb)YvoNCl8xl%tX!@9vY1t6PpNS81b=H}Pt|8QHrVOB78*iZN#iwLT+ zi|lX?PI`a0zRr@51=ITB6w6>bqn<8|i`cFq@Cow1@d>KS8E@i&F?Muh8ylOTBJ&v0 ztcUT;A}gl_e3WFU;o+BzNQh~z?OfyFA2V-TmuCrVH_aJ6?U3d|0*E>Y_r>q3(0G!< z*x8w~zU^bT=bI76bWyQfXC3Rs6Yo3N#*bE$>dLNtOapaa-_Hk(NAdmwrhzCNlypX~ zXwMga-h7p+aSK~-Q3y)wd$n1{ut4SE_rc+h@QQk`ITwxf{`k?RSNH8jW0E+Ekwa;w zIgKjcRu`N183zCW!2ktmNi8WG=p;9CEdTjnccpi|wdc|J+Z^v7^**^I0_yL!6RPlu z-9sx)eou3NRYn$?pmlpT7m9?2@Kl$xe;!|I978S%3JMk%55=XbI@=)K5dfwz)NnS4 z`x~kDyVZpeNJUN6q|noY?U1VYN`~?2B-eY@dklo$Tw4(JciTD+x1M`%=)R^DH;$iNEjvPL(mlr*zfQUW?xo>o^mf$CaV{~46cajhAd8VjQMei7!$ z%p-8P8B8B)YNRdm?)c^4V_ZoCM-%Lxy7ZpF&Cc>1Y#>A7>oV8M57t80$%x%`u!0U#!wxvW)8dh>a*^owPI)c)=#PXv zdW3-44`S2*=S2z#R>C>)tw{as#AV`0G7E}GH+VDf6D~ZD?Xq%0ye1sdM9|M|ChPFF zNzx@cdKO}tFfqV42yms4?Y=~JYSd~eNt~19@g+V3rKD28n4h6U;erq$bU-OT zI)y_C=(mzpX|gf`$d*BzNKJI#x^7NY(@gj&q~$t5d~s)m=V3Td=J#J9Q3f6;WSA!; zy-)8y39}dcf39@bRl235XAQWPiKA(qG1?jr*JrB>LcR{8HKblsL>%2(**GLL&&tvH zk$gaby)$@Tx@cw}KN#+Xh&rD_-~NhZO$ViBL;pL$aCnO)rC16W_OHqNoOmceoh%lx zwZR84yO5^3^{VsC#QnVkygMlJQGS%n$K9nfBH_A}5>UYswjJZ#(qL1`y@@z5=FE8R>zz{mO^0ELxChJ1d zTai`lH|Q^io1|MRBzyKWn#1L%2+uT9BqCN`q6m6&=QS!3BbfIH<3Tcj7i zTx*Xp6xhCRk!)H@NIBVP|D)n_#g@OmlCWgCdY9QYux-tB@c#uSZXTMh{g?j;_u?XJFW+=HbS}eJ@e(EV`#4twcJ=FxZ!G& zf3>4&*|mz^72y`9YrPM8jm1s_09w)zQFx)ZE7zk`R#_#aQp63Pr4JW#HRgHu(MMkA zfBhYAm`GNlVc;MR0fHjYLM7<4v#Ue=X?2(}Nr#ueMnW;HN-_EF3qDFGYoMX0$Yv|4+EsRNz6eno1OW=trC!8nH%=O0 z;Ay@KZCl$VSV>U1Nw98q?wbm`Re|>kpz&n*vGY&=4(Ye|%lfS#=w)Uw?UXjY$`nyHkvkKGv)`D6qP4^Gmw=*;RYaIBKu3cdo0tt_M z#e^dI8W}RiS}lc=-VdAiyXpm=j8SRML4W-34_+2t{JJ!oo`c*Rcj~T*`A;5suKK%+ z=EGH0RXl$}Ir!c|zZqv}(|Gqmx75q?jn%y1H2i@;cL#qmwUB1G~8mdmi^EVqfmc*B*Np zWuq!Z4hgUy+3T_zXU4~m%(z`MzljHtg!dk=sxbuIc8VM4o64r(g~>;`xd+ya~SoDw(f{MFZ@xEqMzqy+kSwI!k4$IgFx1RDJ56>sW?|s@$ zj8)5jt4+(68?#s+8ExkTir*hLPN=AGe(Ujhx;mTL6~9+VEm;!{Qc)!I8tl2*o}hBp zx#fKswsbyLRx4M$LMZ+uq_DXVpw8bSLLqC9E^!j{uY~msiL9D*<)*mOjnlTQCS|Ac zASArL4_ocs+H&L-&NtCQEycV-^=7uQmEIER;aF9V>2ABL>&$Ev4-K7&&A4Imau1S? zX={^0+sk=_ z3wz4)xU`R*Y*Gaq1!JKdk0xJj20GTKE)c7x&zGhnthMqrxgFxP1;kb3Wvl|7{>6cr z-M42;XEwLJ$ET}4&!5_bO_gX|lkFr92=1Pr1fOqmxq7}ipN*_O^}^Q|ver!U$EQj} z7FR5BMqN3kC%SJqw0cMOw+Ak#@d}BJHE9PK>I7vp$IIgoh{h+Yf3`h$jp{+RI&;>P zoW0EUEU}16X6&b2RI&@|_Izb?HIudWbo@WozolJd*N?$W?Y9|Lyu{&PCyqjFniz?g zOPiUKB(z_1L3jWA>%ao`HMfJYp>0MUBW|>8U%mWYK8u9*mOw z#d{~EHMy{Nw{;o3CDU#dd&+Ttl~vp?d3wBFquNBo#i5+Gn#8E2^<6F$s;;lw^N7%`Q-zO6^@y*o zi1?iSjY$k!dwgn*yH&)iZ*3GjxX#(WyI%_u_V?{rqY1p((^IVHhy$y5H>@xoyggfl zd`BuOK+B97M&lCFrBFSDS!I$)^Y2>v85%e%CWM&Uo}PR#6tc7u*=t9-=L0jC)lM87 zq_#3IUwh3;bVJo!S-B~M0tK`GA#>Ao6i}uQQ;SlVJ+ju98|vM*Fld)mP$#FVKImX= z;Qxq-4@Neir^7b_y1$L<8jN_2g0rZ*1MQZ5VEL zFw)esrR}+1%|{*Y1l`1$T9kiw=X(bqaGQ3Vtu+`@G=`eOe0>|fPNY7qPpK!|+)SD~ z{T{gGPbALe($a^uHg>j(d=p)ai+XIE3pzU;x<3&Y?nFs&?*)@qQBuqi1ae%~yCdoS zlOx8>QJk(-rKF2cr~dN>p{dD=3L$~ls=tTTXcx&4a^LZ@rwDEQXc20SFB>YP;t8r^ z4dGVuTWLb!sQqoATrOoXiGGig0;~0k5pF%=6axmwCr62cB+OZ5BX&(`Hemyffu8O; zo_#3LE!R_4(0wb4@PwN1kyTN8q$WlY2;p7)5O*bD0=uFnUK2rA2vzaN?{f;3GiO(K zU2{hPS7}@wkG-zE$BB`3T;)LlS9eu&w!TirD*=z&g5@lNRkt?2o|F-iCZCmmNlci+ z{7$coM&&`qMyel)EDE&NGj9hAY2&>hkLoV-$OK69=QWs+@BL0C$>o}O;MvA%x8uRg z(UG55C!c)Mm6xt{pqJ<5z86AB3>6BfY?z}1#bj|!kX4Oul_zb)V-)LPAa(a^0~3x%?oW!;^s9nQQW0KAM4rA5{_aMy8z>h>xgh>jRk9Q`N;b z*FX;gF&3xYEti-VXxJ zEOUo@6$znaC0fJ-1~M)7pn_4s6&1+w<>b4^z#caS;0OBe_MhB+KJ!7>;9g#`ii%*x zMn}KT{&!cTdSL89gHmv8aV|2Kp$=uo%@wTsq)BC2Sy@rpf!Gf>{{^mYzQ^%TJ7vYc z+}^(ZRNs;ywk&@0&^RF%X3{!Gt}(tF*HA06qLMzSpXrQ3MqTL?h(aI-9-V_~txGSP z^y${4&G+28%t z#t6PtBmBQEEC4ud)l#k`{Y+8_u%3+}7awd6;+53a=^onD6c1Kcl#%upC1Lnf1O2RQ z32js-J&;HpN&$}Cg2kcCGz@Brc=R>(*Bg;7QHx$EIR;Bfbn(3KZamtKMAaa_(z>O~ zgF324I%Z|4^8w7jyTVrXi_lo;q;D=z2*?^9?k(mnD_zRSOU%c8+f4u(X%X8Q)(5Pm zSX&Tlpa(ZQg_$a{mCmiYl41e+_+^1?5odisE?Y^}Tppm+g#j_>CkN)BIiuPQkZu7R z$is~biUu<}`TEn3V132Wby zY;;I==}(bGg#u~N)5OX$AZZf-5(4jSpYuWzr+hw`z*|u zHC8`{0EQ(&Lc8gB2*#Hlc1m0GMWE$7GYKH6)MTb_+mI}v5ez1+A(twYcBC;tU;5r5 zAQP_-@KMGJ#Vn+Vu$*HcWR>u_D-er`zj5BV*{s3BX(c1cCywmewrSx^d+XuOgVCcy9Li*yE2N&~4!k2*S+2i}7IGL|Wx!tYge zBD;}`M88vNX0=Y1VvQvNAz^3GlCoy79hTQmr9(*tw7xK7Lt^!UWGU?Ej(4kQ1uP#8 zUydi`1=MgU0!Pp(VnRmb+Iz`*?c13aA-|LL>DkfndR|7g)|24$Tw_}rZX4(0|@Uqwcuq$&EISfK$!f-BTwf_io$`ZPL4KyUQzV8a} zBUGvK-h8{{Em(>LOb*<|k?5I!yo6;mpL${VlBfE};ot?5r^gWM;aM=($#oR>wv1J1 z2RS`MTZbtm@n}6dV@)? z?)+MhYlQfHslH-;>FdWL$w^L`_uaW=WtpYu zwl$;-K>mfubpi(OpW)J&f4_3@3A4bYlSQrZS?5_4Arr4dr1xFGF?mGjqESt-U?1j3 z&d*vmdU8JqV!HIJtg9-F4WbK5Go}2P)f9<<^Z+b*Og4~#XBHivJ8P3xAs%{ZI>5{f zL>!J@0gBM&B1*CR2m~{RnMuTeSYzJfQ-%b$uO#UMvCwfTzScMa)bJKehDCXHWK4e& zze4+A2~tWtVQ~8Llu~Y6KM>UVOXrQ{2YRLgFtb;6IO*PhxhcbFL}`s>XkJn`Tq-_P z7M<>;TJZ!w-I2Ul(nK;eA$|PH#yUS$xc?*GBty%Z-|^%HD`GJuh$tR(*oRA7G&HMg zgiDt6O9S7T!huEw7&c=@RGP1M4;GWt>=)5^6Dec9V?dc-r*UV7a>u4|sD)%I;&j-5 zBBhQDNo4pl$}8(ejagWA;NF~m z`kti}cR$%u%8?~!Ofg!$i6^PaQ4fyS`l!{hQVr9g^G~B6r8(4wza!Ko z*Q?RQ-$5IL^<6+iY@qCp%CWram*}`p-dfdK9N_?l5Di6RK@?ueZJB=8QJ+8e4xh z#T7nm@~VdY5ZvSbc@lWeQUkGvh<^Ek;_N3~dwVlO<&wOT60b)zc!MvmWOhL>$6d9I7;^KJ9;cR`Xeu`Z8aX z_T-r0yfX0V=={NJhIC*Ov9j7$Rb(f+0G-fnjYEA;cvn2>9@q)rg_;Nbp+nVGw~@On zE2rRnM%y}5Z5d9f+r5!fGk(^y%>iVqmAN;6;N@oLDCd@*i%ssrcwYL~!+7)>6PQo^ z0%>utYl9%~ES{PIF%rz57&pkM-zs>R=sh$x!#>i`hJYR(4ukg+qUeI|B$shB&+U8W zEUUU7`di5bTiK`jM+(+X1Zo!-R(ww$%U#yG-ivg)5`;Pe*-0h8hpNfBrF(F4)yCHd z{|qbsZ}#6x<4Ks%(;-5Y78b;vec>f5w(%Pko1^ep^*?(;tu%DyIy(=SQF*g%j}DGZ zb`1mbZ*{1uD+u#9CzrsiwuXDpoR|=VmrP)gHYfnq$$B`WdoE>Fl{ zF7^|~_@SdFdYDK{lLZhQqmt9HEKtMm5G%A6cpV9am(7EDvNGJ&>Z;^1m6F3ZPy$9c zN00v#D!(0gcawsz<&0eBU+EPB-EGboI*m{IxOesR@bG^eRYX)Fss{Emyz&P07x=kq>&QH5A`AIi*aXRS$;lflB)uY- z#HaVG>P$IzwKMV2iD*yg;=LN-U??2<{13Ti%$3E9OYnaF@y3?!7tF_aH|Vsr=iw%e z1X~By#`IlG^g=U>njJ&MLjauTDC#I}mg`VH$XSxl}cF$?R<)0|>TL z(o`gq2kUV|pwU7zE4>mGW-ty;Rj#?J8Jk8cWX_(mgGf^2`Qg}ML5eJrDaRdbNKGUGf_mLfV(K{)r z&tEk@IIW!G;#fZ-C|FbxwyfOOG-8`m{oTh)tn(Y!c@ZSY|2-xC)5P;o4;6t(8IP&B z|LxU7M?E-<72bi9L|d-kqDOA}xNoSr6j(=9BFdu!u$4qdXKUZVaRy0N zUldynS`+BfbD`kDv#bbpu0ttDhG*?_z^o0_vW4kwMygvvwD?i>v#2?E?F2OmnzUPv zhejc49;Iz^wRsG;Qw1il*6=B^IViVRlma{S>B9as=qa(eU{m@{+6n2zPqj4&1wIsbghXFWqn-o4_%-+kI7%_G=zH6Kl{Od0kF3zca!6qw3TR!p)L_@D#mjoNpVEmk71gUH$(9kD;p|?Yyd;K0ld!$_Jg4#NLa^XF| zk8&tPOiIg0np3iQhGQafiO#rHq+)#a|H`P7&2$X+JMUUR9*4vOoQfzqU~sFTY{bI& zf$CaM_G)ePBtk&lX@LWjIt6~r<*Pu=15@*HD2a8 zvo;A!b|cL|Dl^IyNkkMT+|_Yr)^T#CnTS*2bC$Q}&OnYlGTYz0yiEO0r}+C^UMeIh9+FPwyaDfJKl@%TTg(!(d}5z!|ldB4g#WjO^DLR z{=0cpO?~pw?{qQgs?k3@I<}6jQ>p#d)Ar^3?r`(s?SHgE4}tUJpX4S?yY*di%w4`y zpl!n^QFxl={nB$!Pq#+%S2q2$ZzjQ&P5yqqpS`?RlKe2}nQQmjc_)i30>c&yjn6qlV|*$|++VJJYY;<2I2!9SvBXi6$|R#FsCI@EzViV-0zA zv6Y{uxGmgo-QPwibu0c)GZLOM!d!JU-UKn!LUU@O2w)sX_8v#7`>;2^?U;ee_mrnENj!(UQ z69K}%{q$~+31-5q_sTcKjELt?%sYbQn&Jkp{$4xoL$*R^7hP>9#)fyyi3pRR?^ZtU z?u*kAsYT9?Jy~qwi_`t5;UE{=R%xSjZIg6q8&p2Nd70n3G-UL$EY~LO6cvmhX3fZo zsOJQR4!CR2*);2K4=~5}jYINRR+-grZbs62%}{8jO(Bla(T=h?Iz~5AOoNYDp$HWg zDl7HbN&6v)zCcT5?vpF)J7)o8N2T0W3aMSZX!{BJ&o`eG_w9tL-0u(7(`smfs%?vT{|njtFx5~^X~7(U#~zB+9dy# zkaq>1Um4vp2i)=)?H^E2%f_vtY_;${=jWU{fOJ(K`qRnN`Tw&^y;K7Lc&WOhqC;j` z!=EcVPTrCb6-`4f&_Xp>>61|#PA1O7y~KJ6z>nENkcOg-h9a6PLeEA=1MNq;qQfg0 zB7l%>^=BoI3E8bjrbBxYX;KZ}dkF-^bIr8?V+z!ziA2~&qSsJW;mwcW8l!DmW!EU{ ze~P53ci5tf60YULW(;*7z;YUuvlkKbi@9Gjw7QwNP!AjuKB5Ro zC25qI1B97_a>^@f-v6z?n!^Q1IM86C5sB<-qW5;iHJC>;8T%r@Q^x`mgp} zD)pJqSCZpm3|0O*!M-XPZ`j=a$6==wqknUIc)tOslp;i@3#*Qnf5R|E`4gi-XOxfR zbuk0Ot9U#5cc^`MhK;$ihL2i~h8RPU1|(J~+7zEV*mh|3qZxiq!(9uP0!E>RB3p4Y zv1?$|-ijtlRHyhZu~@BUt?(6{f^%OF`ji9#;Y&fr-^6C*cyfIrwlj}o67)qHP0DKy zUWE!m7#FKJL%FkyBD*k4x0k)a^u+vK^}#;otLhQ}iIP;t8G{(|6y`xLkH9olW?BVw zziFi?iK_5r=_^Uo!i<RXBK=e!Ged)c5L}W(EgIsBC!Em~ z$N6}J$bPHgMJLznzm|MR<|lAL^g>92aT-X$%<|J&tlfnWP<`LN7VMBPhSS0$wgI9l zUJ|g-21F14$#e;O+jTya*7nuJy? z2s2wOR(@|BJKQh$5{L;bJiQ$e6AP0EVgoP(J{z$v#WOHS&-~8E*?l=6%ypOoN^Vv6 zUP9~oxUe*OiAh?7_egc99!yVy2b_WHGp)B6ul*DxRM`nTe&HM6I~w`4MKb>#^R-c! zab$D3q_EU?Y6@s5z=w`^ho4QtYQ8Uk&_+;TC{jc%RbKc6BQ)%p<^6|c+@@o+HJae& zT!oh~?;y&4erf!Y9T@+M_4k5}3y$9>f-pUgR{w2$q{I78$$8M*SaqXji!zwdUJPV* z-^rbmqp`*!WXV|L4ZSDixIXD|f8y*}dgwhOYq6qO#mFJ_;waf;L+zra%objc(H;+Z zO$i{pMWQJomAGQd=z5?0J6`{#&0D;!|BAu!rjrVgf?fQng-kxP;I7Th~@>jy(y+RyQ8wG13*3y51;(@XG2SAI@ z+h69Cm5{#TP0r3SKc|$Z=v|ARsxBhnf1TIE~0>3b%|zsm#aTeok4M#VoNv~3_qN=t+9O0NN=2UwWa)unS!_4h75uFQU?TOj^0o(`j#!6oTv zo}fZIsP0bi8|>~#m2%FhLbJwaLI$m|b#jsfj!j8X8_)b$BqPMrH0U3V%7(Z5W{2i3 z&VJ`Ko)CoL4KYT z!7Og{$d_82V*vQ_rSI(R>UlS`#?RZk@W;aD>Da=;Soxq{vPpf!)#dg-?v(Pt*F}Xa zKg@Zxnt`H>)1Rc=+55lPZ&9Q+UN1A8llhvcrTUFlEx}A{{2dzty7fX?RNp9Z|dGM)@ zq}T2+P$sU#gry`l&C44JY0MXHFPhz)*%>?iqyp0B^@MXoGnRDA%roEI+)`fJU2bm} zMEzV4RRpb{Bw8sAG%M+$Yc z$=HnYq?O1&!Ls*f@C&-TvyopRmAAHiL{p6fJtNNs7>ieLZZBtcF25<>42X8g@+l{FXs06_?_uY z*gCR&Fm1xi3vFX%(wdmFQ?(;nBF~Hf8rkGQ^ z0teq*cv`A%@gDp2!tNM*Bv?eMc_&l4OL05$T6*O~_w4@cd}S<2h5YU`@^&urcI9rM zT(p>6k0Px^(JQ5y>E=uIa1FT59N}o~*r0VthdTt7hKp-;j*@#7z$qhL7(|@W9Rsjj36;$e6$m zn{2PfpM=@su8X^Y*D;drqNY%25@vcDDz`%NtEUHqK-grT?cFr-N%ahW1$kIC!9gs~ ze?k!0PJ~{u{E+mf15hXP1Y&cuHZoD{{E7cKN2F#VG%WJ;=($y0ScU@2zUQu;f9Kqj zKq@iN>3SBj%}Njrb*cyr|*<(+rD8SIS>miyA)b#cHO z6d=oS>*DSG8$ zQ7KNOITsKR63_}BU)n#ITzy(;l*z4XWK93rD=5@_cJ_x1Hc6+^y51zo(Id0H7A{dX zW7THKFW47+Ke@`W>+xk|6ZPAaK7{@0mt@QiE?*a;Os9r91tykpj{)AcS%>}8;2lKX zX`VKfRhbyxd*2T#c1E1u^>v)HkB^%`UX(RqLIVS?Zx*t)L`yUUtY0CPlzE#*ja^qd zZw;#cLc8ydx4N%(honV;<#!lUT(Q=g70ZrTJJVCV34R}Xk#J^0T}29Jhe$MO9b95%uzsvf{0fdWg}0lR^qA(WZjUftvVVEZCGZji-FO^KGg()kOzz zizG;gA985w=N#^6(kWDWzopqkwxbOqNSosbA3k1ev#y%P1jeDf5IHAJzw7f5(pksm zA@F&jBmp;s5zGC_v0l;+ibs?u$=KK=#)SLy2W+<2tE+f|0kd*jfwNNU!ryNWncS@}dtz zS%sR^z}g5&R|Rj z+%7L{MQ!T;cO!o_argK8?FIj`wdLU+zuvM!?AS8fmQT2Hr@XWRwG@oJ3sjO~xUWLLw9V%Ki%6c|N+ z=)PXsW%M_~ zP@4lE15B7{2YnGZW6BjqE@(W%@RDa`NjAC6LCX9fMMJNoh@;m-p`)Y23t>SV7q(wV zKkeURWO7*Vd0&zIrcWjPSF*n8ik~FQkq?K zf%U~zpgTNUIb!P*T+ZQ>1(ym+`WtM(cIkJ2TIp`ZqW9KoE+4QE;C;{kX^!b!0yRe) z<5M#+8_nZ48w#Y_J9$xjkdHRhdbR$Z6N?n%$Q1tpj*B;NP@Ol&Sk7c`^)WXDJ8_X^ zKET4x6$m&(ummbrZ{~^jNLxQ1e^(UGoCQh%6W5cGl4~p#M9Ygm#0WJ~ov|#^+@`M( z)i5#gPnVog^a2AysZ>Y=9;w|SUh;GW7Wsm*Py{c)4$mny*=~Y7`8!#T0nn_z5RNa@ z`3O>ud+R=(GI^sRNkuwUVSo-hsaD_pVe5bF%gFn__aA?}KKvz9((99_loGq!^K$R4;7ucx=1Jw_h zhot^mcu_$fMUM!>Ts^cowS|A53&%g87#9EFd6KIlq4l)%TwBvRHoE8GGoxtsbQ;+k z5|BHcEtXVYACTc+p`#i-8%7@Yl&;_7ml-`t0bdJo_7ACd`muEUAMPK2$E$g{|9x3| z3s+=~hqCe!oja9^$(@)m6O5G-K8qTSaDRL?eMa>?RMP=H(H^Fcr-0=y)dt*EGqNmNEkZVRVZ~{Qw}C8aqwV?mk)m7JHlTjr|Zwh2^r`|+qUQy zq)RqL;oyNk&xu6mS+CEaMBfb)qdTaTY&$x`f2(+}iBRY%8C{I0nk?gocTgydkND6+kC&w*;yPTJmu480#lh5`Oqk z{!WwNT=SWLr)vI#s2P7&DNSvTc!0A1V;YJIB^CbpU0AgWL zk0SV-@B(|929(qXhxs7G!|?*~ zngpOFSeZyyH(fr&2HB6-rOVK|kjlmUro5 zG?LllC-teh9)P{@n_k$bw^663Xa2Y$K+lp9_VClFm1XzB{?e!d=rU8Yi5#esdV9-q z@K+ae$)3#P1ygfQ85B~vV%`3LGHF*XwPBC?mvqUW1FRm{ zW^*fX@5zO!fy;S*YYiA=N8v0bMRNRv_y%;;HMZv}+?6Rjj+%o4lfb&&_LBe>4W989 zi8ad#d%QmDsM0!jD%%Ns583y&Ce=MXB5h2g(UwCXi>k!Mz8C{<`e2a@l@&$-J;5wRev(m zFBitZK*!;aUU7c*l;3lW@2LS=JkjG(#C8v2N%*X__MyE|VSdd#AYpd9=$M=Um_Y6| z1SIz@(2X*G%EZNSI69tiD)gO9nUkNZl1qX}pCG@FU5F20mu(1$Ez78G6d=Pdi)wHV zw6iLs$LpwJz~g#E^j$jbehtb;!sCTKAmasNj@Uw5UbaS$1U49vW{Ky+W@TpDjf zq%($1j&bnFCRF16W#pmh`fVL_uD zs~xK!7cn@wJ3QR#zVHi|QLUvs|Bvr%EJ!hv5xaVGLS7khv=RIpQ&L3nH8^LBF?*ZM4Wg5mmHT9E)fIVKRG;{}0y-dI=sUaH`9A3EFKTCV(>PKR zr~u@Q8JtK}TZWoqdFGP*>}}*CS4$)A4~%oU#eeRt;VNuK1$CHqSteCi2_*8}Ucjt* zm@I!@;h%D6jk=nZyTh$;Ang{Yw~tyqh-ffQqpyXQH2iRHpuXz{A2~9IF{$qsA>&G3 zcR>z2XYGvbyfi%<${KVu5c=|tfv7HNj476aQg5nO-e$bsO9bY#)A=U7!qtH8xI?xU zQ)f`FJBw-2TPg8-TcQ{?%M?Hs*qhlBmg%^awKRYdqA~V7@^XkcJptkGCGGy*UCdaF z482)1Em?@K_xA32r>LV4=HH8XVRE+d=U-_zd(x-yZ#Vn*N8VM8(vIdlzO&vbIO88H ztbW(E$MLt+dS8!p_oY_o)mF!}>6Y`f+w-r9SnKZ4)4R0;FWV}M~iV=Ux4-+%|Fk<;Y8gf?Ma?`4`VNrH&`w5StWHx z$qs?Ub?Yjdyt+C!D(z{Cn(7*J0_)q8tDBpn1FyfG(v8$nI@aTVN07I-IB;^>;QC#I zw;dcUln|A$m9#8tvN*bxbUZS`J$AR|eYdbWiCgc?giEw_bm<7(-`|XM2RogN=$i=kBm%bBbaba-wcdl2z;SXk16e_)seeU~&)jzwv$&HoW2sCohi8ph_^J6GS}>?}S#$G@XPyPORDqfwMv|9Hw_D)a@o^GjpiQ9q{giq(5a1V zN|1YHfKDszSYz<%YTy2;YQ_|a*4vIbwo~9Ya2nU?OmjKk=Q-!C?(5Z4 zJ9ET(V2C{E&AXGa<2)Ro_)H;8BBHfBQf_ZAKwO6bf;)+ua83$h%!40W(j(?fQ_11r zoLM{nk8XTPtz zuNA8&DbJaH`DzM#ps0|r=t=oFYuL^n!!^s+Ry9AE&TmDkLUN`vPuA*IHYQ3^ z*jP`Tof)MWx8l-DR8gsq?T51JB91YP_m?&iNNXHUZqD`ErD$o!FH6)ZF*wqjj`jD2y(zs}KEHmJ@4SF;LE>b@}7V7&; z%fj-^AO6Y8=%6W=Y|ZBQN0FzuY?T)LDp*xiN^Q3gqFQx8=U& zR@o3}Y;H8`$D#(t9g5r3<=#e=#1|ezPZJ3iVYSmMLLZe!mRjGw@-8op9 zv$%&`Hiu*(D4$iXQNOsu8EP5=JS zx$*!1>z4OLj(>@S^hSu5ul*K0bOkx9E5+j7*~3 zI|I7eHmW$~iWaHymzB6`V1?>8q1Rle02?a%WP&SY06~kCFN<-`Df%N*b8H-j*|pz< zzCnjzsojl@hg_&~t1)hlRz~jmgaeFtoInj6xW1 z9$$Vn{!_Z9tNj}HI2WzOR=!$3Vm$pv5Ld6(PCEBy%-S=##5C24f=sbjec}WL58i1e zy%FH1X_^JQ5>D;KaP{)Qee%Hc!__}Iii_az$;A-n6Lzp5?LdGd37j^_noJz<%eSOQ67&0QU9z*9{f~Z+!TJXZTa9O)z>e6q!uG29`>gPDK6~x z@|>BX--%YMK6Lf!uN*5;Db(S)8YwL~Aiw;i&{?(0<~kGc;F_0UQq^a=sv#AmoAWOg zLpwis(SiR+l?W|eXxB$h_}ns{|DkwpiZp==o1Kh&F@k^;AF#t0P>ej^V_l`t?jioB z{YUsNRvwIjw@KSI_#HwF%A&bN)^Mh1~ChxQWwNpPwvNdY0{zDr2l;CS6$VUC82S00E1WBHfEQK zyEGZxpq9zmwsePtrN+~AVlq)=5XpxX3IkI72A*u#C;dB4(sN$+JI=;N54vqq)5g+|o( zn0=)%89nBZ`MT$buy~6e?w2dIuQ{Jf6gI*>3jc}vK<-X%Mn~fY0dY`L{)w1SR&HjZ z8oA}F&6yOyC!OmEO9a1gam{LGU;y0|M#3kg8e2gSueSe1T&WKpcY7iP=2x{PqH>kEQlS*j;!2@A2sBgq z;#fKn9WNQhUK&tgwDClentz{F)}1xXmV`%=OHIqYGI>&U_%cfA#ZDRr=R2e5-L!mp zSwbZ+ZHA}BC4hXn5?1 z_HRv;AsNW!+Davv>lK;1=|@>-Du-2{tOW8N8UkNj zt6NvMn5b(2o8VbQ2|4;@FAOY~hMOPy6skN@0`q2oI)kEWPo=oB;+3eMu&RwWO*YOh zR%<3Cu5l-37Fcb%8Iq{9wi2YPewyWP=5{r-c&()MLI7O(w0xa=+|r6+lZ=}Fv5IGz z=Hr_7n%(y5#6^=mdHnv2#(Sj@pWXroMq7Yd5{ z{_5ra<)p&Lttcx#i-Nt30|Nt2MTqrp zOU&fwX)9fkkzxltz7^TZzp;viB`k_{TC!~r0sFJF^Y_M)_i@-`W46Jev2b%=P=;b? z%ZhH((#VjViRUbHysZpVQ5VvD%oJ2H#PNi{aMo}3KtOFI+#pvCT13|I*4r#+=JGPm znpa*yLC8HaNSZjl&YK6s;(4UAm~c)xh>E}&I&7@be1H=Mm z3GQ^I;SULGJK&;Q1;9|ugj!6Po6ZSL2Wyr=j+!A#1^c}0uwHWja> zl0Z)>I*{1NYf8u|INP^QAtW^1&rhFW^E$|z5jrqkr5AAv@ebP`pHK`B3b^8YYy6kF z;%8Rio-FbJ$A>NM4m63u#Q!jW zI-R*jm~LUeUxy<_MrxWwKuxQ*>Gh1G=K-Ht^p?^T7N@*y30y>F~w+IamkNUAJ zoZIZzYzAxdAoNzGuzcS(uxFHZriq#XecQK0&2$o_V)@9>;BRqU>aJU{*&#<8z8!NGn;-2>vrip> z<|4TYwPmd}drog^O&~Y_{{2f5?Q#hK<8YInaHY~FDbGrQRMQYrO~_b#_3)rxvE2JJ zqxt)j{}p);f|^I%%@}!Iq21M+faFS6NZ-l_DK%F2Ot| zfHIAOcpVq)Uamb_I?tO4pHY`TIM*vK>{o4`!{WHZX+UIaDsS_SKQIs6q6OkrPqtVD z)@KU6ZmvM-=8asAozesR7m*Q>R0nj4HKTK{0prJ(`M@HI2I5%j`n1vyl>)D+er2%j zVKICK6VA;$$?-(UE(994Rnl(8S$2Q}@BBad<<~?kGx>mZO^mznsIf)j;3sfPk)(Dv z#L|AC1wYbKgi0KgsR_v+b!pM?4G##rJ;s<~HW$sQ1Fd&!i;~ZOT*Gv`|5{h9=`Jr| zs&Eg_#p#{3wUg{`p}3FZU>b>De>GYLSqT3$=bRU$i)ne@-eKO^-N~;LdULYFV-qcb zTGvp(EN?*Ia1fJVdPLQG85VxgpKISstgY_Pf)s^JN4$8;%&bIm38M)Wy#~|bZ|q#3 zNY#y39ymN%76wM`N9tZ4G#}?_d7!U z9BU+eXT=763%-DIRX1*(+J9-`&XzQH9E%@<=peW}LkSDJ8rY_=Xhr*gqL_`Hm0gH; z8i5`6mZFC*fvVtqQq41Nzp(GjWh^LDDb(ZQC<>>dze5(Ckca+_bq^J{Pb?Ps92KwE zwlUttdiC`yCDzrFMYSfC-?B8~%6$;A%ftn6iW$ez+5Rr;6Wmi@dZ+0glT%Y3d@i=W2 zlrqmI{B#WGmrVg%Sr`5w=;O}Zyt(RIvJMj44%EcW@I{*toIChz<(~3BEl9fge#hqa zy}6dG?w(s~n>;k{*rY1uI}`$42wz-K^xEIQzgZRXf)_{LIee2Y&~>(Lg7)6uZJ9D7 z60{{dAjq(5uN-e6jDl=yWaiGN8cHMW-fdmpAQAesOP)o|94IFxVA&(nXe5HdZ2k5p`gfMna3{G5uL)su5VdiSjljSOyLL77Fp4lpk0TR(TuBM^mO}jSB+9{!fz)+IK**d<&+uK_cS-W(xU8uY zG!%OrsCa#2jwlJP>*M{-ZUI$<>+Qd}{;lwTz1+L&1pFszYvKG+KZj#V{b|%Yh3_w+ zGntZVruH#1-ZZ&{Sz35hPn_6gHbi|CE6B~c(c19(bxLd z6&w&{zQo=z#OrUbxXZ%AG&Hq(iBwCkZ<=`G2=Vj<>33^YwFK#-<+2S^@?0R2bFsaE zz3OQ7KdL&VtFQ8(RtVBe<`O+@AdF*mIQx*vrGoc1@U!ac#B7xb>!_SE?gSVdJy)d5 z9EE(x>HV;jR1cqu^p4(ERf#MbPrss90TpHf0LX0oBPpFF0_-j}I)9*AW^kMQCU`3_ z6}9my!-haPnmUp0W1Q%#1yK*h#N=~pepogU;7sXp4U9VMpEXtXY(`#sJ%Of$>_fvs zZgd!fb8?+k0tuJloC#(goTNDmbo1c5DD^x{<(VcSRO2U5!pf%)H|0vzQ24&=S5C`R z6@MN>5JpABK~7E25ynn#5lhF_QVUhlq{B-n731*w_?FU-{6YIURTPJQ;?M1GqyrBr zU9joQ|EOwxqDXppdn}{~6O8ihgizyinwDy)*{*SyBH5o!V ze&7!kVLD-ck1RGr(}(dTeK-$OLZ^qY8HY|66MlvPkcbLPMxD0gG9oq!S=R^w9PAZJ zwv?B%UB%vI%sgn|oMOAn#t!khy6_Uv{KI(>3+@Y^KX@egdt*C+V;8oTg#BFNL>_ta zlG@96NLYqmqKiAfAK$Wt(52TPxB?KL4hRjzBDHAH<- zX1Ve|$BKLrE|l1k$07coppx9~2)?^ziVy;1%(9ujdGfYCRU!N-RHqzt=isqNL@8xK z^-uYMIvG{Q0NKMbF2mJYJTY5)8m`}f|HKl@=su`?W@R?j`{Tx6I}{uBJ+=XPCufPq zW4_>Kc^LNw`H1S~BG`AXyJ3F;c9nSe^hzN4mIM5X^$4487MmbOHH1$Q%MM=V{=JT1 zelL?Blr+U~LYm~gP2GF_%p*)|N8uo=z~#5tICClOhV|}jvT=LliqA(iRl^$dU#&+t zPp??Tf6+7~xi2U%E)T#&H93D)74Qhi3#hRBmISg4H0u@5l;r|M``kqYn?~yUg;9$H zHNE2n4C68ny}h5yu+YbjY5R_D5C*^MvJ7#!1iV!0VGf%A0Z(p!BK`3Pa+lQl~Nxo zz;D|H)$c+>E%2%!n~R!9i9O%ffSe$jOh3bpfyPg0Ttcm#RO7$>8P263hj zNGPE`zaJZbzB*p4W_PO1@a?xYNiBYEj_jYR1lv~M6v_a2pJV+8#Y$uR9?Ef1iA9+? zBkP|mi$qD@d~uWTMxcd4NC>2liOf|Lh@~CYkVjB*Kaz8vT+tH3e5i zQsp^fQ#Qy{4e6>I5lBonRILVxyH2+P21j4M1OZ5Fks| zR!4>{jHe}I^x!reUF(lA`3R>P+z%AwqH_kdkl-sD{MB+Te|pF!BbH81;}t;HTyF)_ zq~`ZV%6PYkgI{_l{A@;`$@p=e_EZ=&9|- zJ>tU0OZYl*q(=Q!++bXhuDf4YbC<;zkf7GoLFqBhDc*y&Hdq*GUK&A6*PIZ?J+)th zKxQr%PF-aD#>=96d^n0*R6a)h^4@1ph1$*F2Zy(uuO&G{{p!~Fv=$Zb4o^{Ic0N80 zUv~%W0ucF(d*>9C8tbc}McrXR3huguCzxP|#XRi_1t?7kJj5H?ccs}gw$iV*0 z-rsOwo1-Z2U|LN|+S&?+)Tt?u#*G+RFzg zAhp)ku0R~IpCy@HG1O@5visKbe%RzCCmz3N3v3o*w}}Biq57KrWA$$GI1hJ1g}NUw z6-{MlMZUkk3yKVW=ldMOxH(kLJ4hUdYkfNL>`-2J-}YhANJX4vKw3d-5jMOi=^C&o zZ!2^AuO~4LxWCR=;*2_hik3v&olNdJUEZ#|4|*TK4}iZ*b$ny|c!$qjkf5$sSXfrI zG^@NS$?=dq;{Lr=qY>J4yg6x#JCTd^)0kTpH^2I>Q=q*k^%In55CsJ#w5)Kf3KrPP zFJo)aE!TVH%85>(OLDuaF*PguOh%sGe24<-kBRMP6?J*f4elmaw+E(q zEj^_|*x&F5K6mGJZ81q9d=4|k&5l&gb{)Kfo1w@^0tyQo_b$_6rDXYHaM8D1iugW(y5X*%-WD z*GNm1MJAJ=yTZaE0wY2rRtu|TcFqR-kVxHbcVy(r_GB}!o=Nj16dTzdd~33GDoxCL zzaDuVc@3Gc_NN~=Ny3VX+Atn(AKNcYMBHDUb{s>4ymb}BzdcS%TPzY0bEl>JF$kK4 zvRao|x3d0f`feN|_84k}vMh|eK(Sx{cpSB07x+GC+Wis5j|t$u0j@U&%*$*x5p{Rm z_u|!AZx@k`NcZ(RB&dq9dU|AO=6Wa8bE;>$%C#!2 z16*~@8<2Uo+V{jI;Fm79O%&|2pQ*Q=^oUNRWU=nnh_S+UE9E(uM1gtlJg%=w@9en+ zk7>|8(^=X%Ba|@xL#JELX(+tw$c_5b?9jJJu@;D*yw!LfX2$`C-KI!6$Q=-SQLaI} zfYyh%M~lU$ScrO0jB7s8o;Efatk62tn z+e#=8#=R3LVdV7*M{gdfvUz_yC9$HtHSiyAvl_Id73?c+(|vg`vvE4J7iykuD65h2 zN!M%Fj{ehyQ&(s4Xi+21%mwEpu0m|0#kik{%n&atfbofA7?JL z&kYGmkJ4sJjbyLf7%doDXMexR;uin0=aLXcNccMb%OZ_w${T?_5S?0&%SU#QzN))U zMRfSvFsbn1P`|BjB(Wy;Yoz21859vhs^##27tbFwykp~x{W>}84DaJPKyeEx#cO?q zD(@{UsNeJcGruB#H{oIWN zT)TRgnQ2`N3-SWzyjeGT8AV}n)9(?)|2}-YEJ5G3(jwlOv&nr5>IU6Z4XCjjm@lD7 zIn#9jbGfaq4cY3uv_$rgT|aE$b;p1YKF6i4Y_DS#_k_a#i2wkPvf+=4!XFzkZVR3z z_a>6)hfh039(l<+Q*yrWR>g~^xy^g2i0cN1j3)Y+yKN~kOc;Dzot4tqWWruTSaQ?KSXG$BI;Hc+d}(D;l|Qb?)5hoAlBfYvWES0jeqviY%f0LPmLPc zq8sy*>2e*YIOrUxmAYwt4s`!fAa6CCnS;o*UCIJ{lj6|pU`m20zCA*wMx)@%Ebq0P@e1;5t>tpuSk{{BV?rGKN`jHbSx|mesJ^Cp_xwdAv>(` zA)*ydyKx#N?S2{6I}u$Eb0RaFk{ zYP%wm=VIOoZ#R1vh{*>*+_B%$FWL2Ve}mfqft;brMg>Ny6--rCzk6}lCo{?PN(ynF z+cu;XE`|x>=~en2ikHD-lJSbb;Z=UZqJUJTc=A!;P#dEzQH8{Jn^g)W{I{qJ(LORf zy1GSzwNIqn;u#4oFyUs^M!fzep_rrOsMsE`iPoS&SxQ|^Su6aU0x%x~7b=r4=VIke zn60UEJG0DoG?-&kbEk7g!WM`K=@QeWhTCdt$=nVS16T%B)%jtXImYIuZRb)T3C|X1 zQx7d7&dN2J*VEchJ`#*C)bP!R5u8}Fy!-Z4ZAQ+v2Tc^b%xAPn&{*xv@IxkbO{NY5 z26P6Ehj|()amEn6n571{29WY;392`=;?u!eBz)<3XD=6@XK*^o$zltMDOClA7WYM> z={D74;art`qrPP6&!ZA(U_WO!otls8aCGhjO;XvdBFZkMkF&CsPgPXTT5G6>NX-KA ztMy5r$DHo`G0td87sY7Il)Ge;t z7gfPxa+_S5J-$RyTCz%0JP8)+m{24~BN-??o9tXbAX#t%-3BzGzS%$|fW@v2xy2NHFK%u*M*$OxO-JTZ<(=@6Y6tc0M zde_zeZN~Xd=XDXt;iTs2cZ9!p{C}1bUhnOER&EcA+C&z}^!m7?V@D3Lxn&c{uPb#4^sI_mEnV`;Q^UoJgkI~i?F;86H8(>p9U_8!KdCkj zt?AZVm_X!g7>(&GCl80-7H_S+m1K%M-mlj#tW9Fdsey({m9$#y_{b=U-(T6>Vn(1z zGah7Wj!9)TTCF+I#C8##!b+HK*HNxu&ki|sPDxa8dOdAH{o)hq5%De30DFSkv1=!wr-!4AjG=Qcfk5uEbL`68 zCeH|sw`WB_ZpB&=7wW(Xx3FgN2S;9e-;eDNm29idg9T*6`VeQl7y#?CMTZn0W)aK32-p!TPCvHzT@}HcI z5t?m}HRAYGI%6tn#_p4-c&ayJ(ntqXsC>OIW-c-ur$oIKPn;h2App`C`U;}5KPHs@ zJI^xHOYU3!w!+#ai~Lrg-RG~$#Yy$HGJtN7L*g-|_>1Pv<&LJ6{fsgQ6gsrO-*b0| zD>r)8)vG?%)aszlY?%`r?&S+Tx#$N*zJJFUv}90UbZ}msv!T{gA-CosUJrXzgU#aQ z9Ta7=5&5DRDPu94nmIe1N7qw2S3ad%?@iT`+MEM*!aQqA%Rw_Ir%W;;wiX}TW)9~; zPcLlisccN(R&$0IZr~K)11b+lKgodgM4eaeaV0Tgc_T?J6@32Vz2o<`U0cbEGiW^} z1qI&W<%ovO`^%G&dYjJR%e8;oO8oY)<8j$RbXW`-o~U;nQheW_WWi+Si%9Nvq54;( z<1>`9Df2DPEhAj@x|N2vk=E1*0v)1%vP{<*XNZ3$bBm+sAcXBhMC+tPxf5HK$(+g^T?=?$0C7=4{wl z7I7m<0OyE96jJ9 z)XwF=VJ5i&iw1Oa_%yDs7L96i;rtDj-cpX#%+tEl0bK<`&bcTT$=!f<a>x7f%IvwET!^tLVb-yw*! zY5XBzUs(I^fSz|1e40mM{V;;1O0hc<(bS6CXWOIHd}WZMD|60}{-ekwmj^Spc-=k< zE#oVyKganeDbsXQDakLJp_rs0t*Bxaisk*&-MG1o0J?$2d^==s*|6Niv0pKF2%Y(} z>o{UPNtSkl+$!E(l*bnqvcRW)KkaPmY#4`^xxAtKcp6W~yeK=L zWZ_Am)X{D=!K1W;#?fhj&gDPNOl|bAxlpzGX*U1Gb!F^EaAdex#m|jOQyzOgTqE(% zhR>U9=z^gX+#}pdChH5mtU7{!7M)WuGq4YnFv#YXmJVud(jXpW%|aJj$tmE-U6}gz z!Rw-1<@!0Ie;B#QqsuL3$MFLmr1f>RqGqkI(`)(x9+Q9 z9_0DK-g0QVnfoi;9%|R?2`_5>_JNJ(@Yw&y)_I1r`NwTPg4%@ITd2LMy=xam#on{1 zS)1CeRZ3AUHU37;SP^^FYL%j>n2B8@LQ&LyuKRv@A5V_F%B$H9l;bba8=9;<3};^w-r_xU*rIfUzV!HYktdMd_uf|WY@G^9u4 zA##7Xwf*K#y(n4k&P8DB`OfCft_M3nsr|%6+bNfF_N{DWrzZgzS6~~>!-Jsv?el5Szp*!-v{(4IRvSFo=zBb(xc~V3AWCCtJ=36;4VZG%p z)mKo|8}n^~Y(U8YF~HB|T#$w3iO2;!K@rM@<1Y6p6qq6$%(rg)qub_!FP~ zsYFi9Aplx9?z3g;m)%{rUeVlp**h}`D(%`e{}0>Yc60C$#niG>-ox`tAVP3(8j*I< zEu7}tCc8t`iT3T9sn+kZhIgOn<%cXX0iR7Tgy^UH9^nXq2(<4fP0e-zV3Gq>*X1I+ zl-+_@nY`g1#XO$0TAuIZ)=tvK3b0F^^`Lgq$8cC}VN>!+DKr~tgZA}M=nz85;|=M7 zb>Zff{G?~1GM&vbfO<<9i2@q7b=ajP#fo2RYyJJVy{2J+A}6T*eC4_==45lXWX8~t z04$?q+?gE}18)4k8^!+}>~3fBnK`1yCu|Oh2l4-ww@5C^9rBdpX`2ua{jm|;imM|A zcf2y(b9nkBy;N5K_v!SUWzg?y73Nib6))55?`QXo-fUdsil`Fz?B#B8Be z*8K-Wvq!(=6;YBFON>m3Z`X=_)a{t9dH)MrsmNW+BYb88u3zpcx}Kyq7@UZ-r@COt zqkUxrzGH>1C*gX6DT(I1B81a4mAEy6#55J66*YhN^?R(1wD&gEjQ-GED-^00fJqg9 zW!41ID3_**pr!|zmM2Ryl@-3oU?cU0XNJ1sWlyh3D_F>WAbcp1g-3|@Oq>qHqv1mi zl|NIX9hMN-T2QpX6My&>Vpg7$3d(GYrJRx}YntL#cNtJe23HU~Vf4fA=4oHZ_peHl zPB5PTzAAYH;3V3ZKmtR_#%nS-@5hJ44`a!`$aotVmp74C^Qwtjx;FL`LvkgvrnRXX zi8;BL)E<;(Nk+^`8|6)!qKhZ{#UPA`hlegpMq!?eSxvm%7LvkKew~~t zZ3cDuv(4|RBtRh>OR@LgY7xUmA$(8u5|6@H@8Q4upxUDa&H>SJGIn8R4t0}r2h}gm zV8uals10Q(*6De{qjt5^LcXRC?NLrL+BAIcHvuC};d;d^~0eU3*>?)1t@5uDLaN>G9F-M~AU zH|6CBM)jDcWtHpoku_Q*bnBi>@F)MPltZIX)3zjxaiN>~pgBvWhatsDY(p{Al@xCh zz#5$TS=v9Hic@qGnPH5VkiQGD>ZB~Y)M4~$X5)X8K#>Fk#PJ9U$FXOmoF%1^J~_|j z*+C?o56GiPrEeREt_(o5XL#auTzgI&Dsrld08-BkoY`2!c*s~D@H>vvSAO;F8Q?ls z-q8vFqAXjPF}UR@JC@Jg$#F6;EgTU0=Gak1BjM=A1@qW4UjAJU#-6jh=`Y?x?Us9d z$K&5g#?X&SDO6Qh8aLcL89wU?vX&($6OB1*b%V&79WA8>K^w1)NRHZq#2O;LO!g-r z!667nkY=m;N5$)-{`@~be}wjpNC)<^L76f2Oy6}W1_3M&co3KHhlVqZe(>fCel7zj zo8d2r*4?5kWP=wYUCvk*cG%OX<*2Q$X=y9op zli5f-tDF@*goompWqe6?LDUmXI@&1CeI}CJY3L5)N8{vJX#h0Ty2_N`VKU0-lKBO} zu&t(MN&N8V*(J-SPjlJ^0p5Ql#iY;dh;`|D;7-Y;c^5dt9p7uRNYa2*a%f`7n+#nh zwN5_Wf=o9xHB((pVK4?-3YFGJgrX1t$jZ`&2~PZltPw=>Rqx$UHL8YR24y`-TxIO( zRx0h|?H2DpwFpp47Z(>%bpk#W)_DFD^`KTvB#3;fMXSU8h|5tb<-X~t)ub@msDWQb zt4A|lE;XmLvqp=@8=2K&o|UmNjhdL7K=B(`OC+2Wy)xlqqSIyuo;NmEraW^& z-U2^@H+kB3(RXRo_t+Mn$HZU}L?-dvk6ld%xL(mY6n)|wf^uS#L@P^a)Aq*XlBp~W z&F#7uMI$uvDZ#A&$!P+VQ~vS+pFA*F{b(Q;9%oSQTxv-`@LeLQi-MjqAPH`?!dNJl zhq0!o(Ihn3p=P2cNmk=}2gyQJNtb{*;m&0v3_`9#CH%(U)tJ-GsY&H5Y_^TL1?X7D zi-seOQ{#+1xn}l4sN+7u!am^-%ljE5Lb6Pg$=73RbCSorLV{nM91J>3ii}Z!Dse4y zEYGsD{#&aW{sC<2L`Z|X+~xLn`EQQC6u<(zfW}H;t7i||xXXHKj}4i>ZvZxuOz;%W^_D6oYL10H zr1@W^YE(>ch+;>PsK?{`-Wh8Ph)T1CnK>ZX^ejeNPPOlY*!!Xz|6gqBOZyj>fzdAm zy1ILq$U8U65-?Rn`%7@)$M<;_mN>+(wgTz+tgPlwY89vSoa{{K#eemogQb~s>4 z(L?oieRN-FBzP(7uoa%=4!;?^F*GUc>GK-?Zc(htcHX5LbAGb#+xs1$csy^aeywxG z``CPI+B=XOlL`(FJPt#APYc9P6+C)YrFf8W_7yuD*kpTlFY?$f622Ez%m@xguDs>sZw0j>kp*`YZZY6uEe+By9QudRvd;6Gko z=$v8E4Co$ZC~2=J6S9?5E2m;FR=U~Wdfuc|xZF836xnlD5*i(GcDdbF^q{R^c~0T6 z_P47{t>99O$iey=r_Z_jnA_TD=9|_z&*IzL(79~}`43@A@zU0`wO-jA`#2BuzI))~ z*T&dUiw^j@x$17qXbo>xbKpg@(jFTd)swG!RP^;Y>)NG@z@DEya>}eh=SkS%Q4r8D zzq;HzYyC@^S>I6K)w7QkD^iYD@(MM*&qQBUvp5U**FO?c=T4t05UpXte(eUIjFS&R z#bX%)^j#w7Sq^YEL~{&tqX?5xGK*e}DzkFrQ90TtydK+}{3gR7B+P#rM_G6>$*y`U zb~oJTZ*HD8J3D-OI_uLrLEX5tTlcS`m-G%T$BiP}V`Qw*a=Q^3KbQASa^ zHV4Kb>TVF|oId$)shWz2<9Jr}`p?PuxEaZ8fni@k#_PhCIqh^H+3HnTY0P2O3YLV}K1!!$eHqfGhUFsP6aMj) zv=iCJh1AY^@_Ew#Sj-h_kuk{;fd3xTvQu;^mG(v|+L>)G0Har}papEll8eg`DKJ*! zdtFNL^MVPqTdabMYR-w~a}i!ZQ2M+yEcTrglTeAqo>C z&CdFEM)+v`I7*)NuU@io0;*xsxBdXN(f{wFy)EiaR8>(3#c~g}RS+8U&n`Mr%I5cO zzxwt9x6w3kAmRmcFGurkN1&%bGh3&%bJSNSOAAyMz=_qE#`93W#+*)RlkL@jUk5q^ zy>*vm%Ho$dNo{H0(dvEKo+}yRDSrjUd|<4&Q)4gf-E*QR=V#o%YXlb(#A@D8T||Y1 zM@M(r!cT_(m7I<@^zCJw&uIbGSp#x*WoFf@V^5T?p>I8fNsqOLiKoff;>r)1v~Z-o zh3m5*e|}o;Y|2ht6jIpy;t28WZEx7ZLEAyS=oK0jbLMb^gcSEiu8c39oc{Jz=(C~6 z^f#hMWnoGxx|A7#5Bjc89BwZf`VGik z$*neO3-#Bvx;niGZf?JFM4$7G=nu-E?pIAeM*a z_so62@k1#*`g&*ggDr-p_NC7o_Cugs-t%KMprMvF3JG_X&ZR#+1?qngG?@1ju8&C|W zn*)rQPUPUr*@&%As&cI7S7?6o+F7X4Ox78>Gjq zlY-)Pet%n1+}a$~)7t@@^q@l?3xP9vQp)B_OlgPRU}PQULU?Ce?oV@qx0rH$-Fyhl z39L|~vRgQ`j|mK5)vd0oc_Ia5^ry1<-s%hgK!Atrk2qn@t;CfE)9uO z_-X+0^J*%KbYRLYVm)z6t-l4?LlKr2y)BI>|J>OR*yW-Dyga>L> z2e7Ttpv|H_lhkCbHz*iPemgWet1zuppv)Hm1lq8lIpb{dW>E$|f6cYXB=3Am;H}{{!ebGy|GayLg=s84RDW?cxJuqt2^6c~70($GzQq~Mzh64E zN{k&PJWqqegX!@Fn#%muxV+}41$k4cb&Xr0ZG}Dpw71G2&ZHH;y|exY_r=My^b2@W zoe%38Ihi!U#y=o5zOmr1!@>rTOfVQU?b@Oa^0ots4wx^bl>*`aOjbnW>3Tf!4NE4O zmXi2=f4K|t|LVG7_a0t#B)sSMCt3Tu|FhyQCT#0Q@Q4p&{?D23ESAVR3wL;Z-(Xe; z^xl7i$z=3;V@?&aq$KT#!^Hcus590DcTrFOC71cjM6FEx@M@%|ZKKUUZ80wDO+1&X zk`~oj(h>Vrn12vO)OY@$a#qYk!XVB!OBZ)pc6uRSYcf{^e?4bAY+F{7;^1~rOJ=+l zZC19M-=w+su7oRTAn+Wxj^s!(fk=YH^Ut*+l|qW6US!qFp*N2TXrsE@S`348AUIMm z=IWl52Faopxvujc+{G7b!jDO@;xGR3Nc<3+B_LGME%j0ISgJJ&6MMG4WUPrUu8PFj z;?GDU*gFD@zpGa4d_zkdh?f|Dx3I?g3&d$-+gZZem!2#(cTh;Rvc-X#gZHjyJOULb z+Em@=NjC=+;yIn>mn(a3zbko{Mgt?lI1@enZ@WD)P$G}>zh~qt_p`zO-U6&yEAHtq z{uo79l9!%pKPI!iNxBEm*l{tZ{;)}Y-uqv1}pDbfz{XQqKNv3XX+D?Sx4t)dkm z@Ap`>ii+iluhbv1+OFI74-UmdOk%oLkx)tXZKl1;{{Cv(QJF5YEHHSIoq+b$b9=B^ zQO`eSjq8BSMlNbkYIk=Bi+#Za-Be?0e&d!0lMrg2um%m3)eCQ}a@zlhBOWIwZYtrE z2#(_&(27A*$xDE+^2g-)@JaKyXW%kjAuz4C_vCXpAx{M@6fY92JvncAz{*ME1>Kq_ zX{4$thYS?Iu^mS6&VYBM4HYE3YxIN_NcX?aX}GU9j!8R*00)iC+$C0E$v2# zO@wRwI3YyvZSqTMvp|B@@iL{g0?LDFL)fTWOcy_lXaeTa`AB0@L|q||70e2%@h2_@ zOrvRL%}o?Fi)fp$noiVD0YyGZ1QVARdfb~*K=~* z8Q7~!;FAW=?IIkgb;~Kh;+)|5MIqCyl!u;&B9Y1IQ?x~&92+u8vdtBZOj{qyKH-$U z)u9qT*wuv}k3Lo^uyOC{1`~7{R@@&mcGj(0YeRn(N%mXogxwq%rWQ(e2&bX|d{oL0!x5V;IFMgeF zJxpn@#m3{%2pB;}RAi=-WI23A8@OG5r+wt#qard<{2qY@h$`k?2rGv0Uh1sw`LIO( zlpvaOqMIqq&$+WdtE&r$yzGn1>)%G-noPZ9J~p23?~Q1(SJn8?f4hpj>YUYhH2|1P z8|Dt?U;+d2@5)K|M-_0p&Z1CYd}XQ(utHIO^01i8MNLihZDUdZPzY-#S=1(vm4=J^Nd_b>}- zX(yqFllDE)vLAnVgpyTRhW{kq_kur2%{@K%ea1{;ZAHU0KA~8DIoQ8;G-Kq^Xb;CW zhrq@MP)i14`o?EV;IW{V5TWC9~ZwY~dn}_!;!OCf?)$=tA#uu=FhW;j0HtoW$_k(W0 z7X2Zg2e4+m2xRiyJ74U(n4JSKAJ!HRGBbh_C${J2d{xrnYwW6{k3nnbgvV zCh1&5y|?cU()fxgwE5g9g45lswzM$VbLr~f-qGp0Sua>FdUMMeXe4E` z?SqFz-_JN(YFP{ijq^UFd#=w!7PvyFreayP1fl6hxiu&Tp+A z+YRSJhT&55=OcbS8U@z$C)$s?>^JlB+>wmP>3+-(?qb+*w|sUN_ZFx?e@%!^{PWN8 z@M0<;o>YB)=OThz&}k=_}}dV3^s+IML#DF?vrIJW!wUg5s7ivB&^sFc>nsfD93SB4qk zarT&tT%Cx!OOJwv*XSQhm-~ZB3(mocR-m|bFPTEQxM-9oUQ13>YyIfu)Jz`GhQpaJ z;zHhQ^;R>)98LD#Zr^RKEE|m8ZLHkAT&qxJZ&?&MQ(`7BRtX=)I21Z`PFKKD!)Wwj z@72-XUWhctyW;41(}y~laFdLrLVHD#v;l#4BY(9w%qtaDl&<$=SAHW4mxWvOe#3&V z_dRRp>b(k{-S>d&+1(utDrOj>jAXIHK#)1K0ps#Z-{vJmT0bEeyYT$!Z*1pCZ8Lpe zenVcin|vV!RCnet4!xh$ww*Uq4MlsO+7wa?!P9rYF3!~k_crOyUAWuJ^QF>#5Jp)| z?@^t-&6p8Zei;)XJEr%*h-~2 zV5XPX&*m{Y;7vOXT-bGu^$(U!D+OrNa+3N&KW*)LZvrwOSUbu)v^LwD0}33LckA z@=EHNMaq6OI`I9h<=b<5MYJKECMqfhETJ!N;`B;=8xXd_&ta9Ge4`2{TY<<=Qe8ab z?8*^JJ5;jaS)ZA*n(GZ_G?SCb$>jVN9_IrM`W3^6CQHJ0=~Qs#SFVfk;t&wR4?#+VW?uxU zyx3otI|%N=*@q$)mJNBWvHU=~MpaP}j=i*qIok^Bdu0~xH%O!m*&H6PWWCE-y8ZtS zhfl9mr_2^#4ir@fY(nrk_1qrgnE@#+a?W5_qJqR)h6cpL?x|UXu@r9w)FtSPw-R?L zQiY(wla1OF`T%ULgNa<8eVhemb$R1XWwq#j_Jeh=fh)wAAh`u0sz*aC3L^OZ+F$?O zkB+ZF%}<^1ViV()*L!-?Tnio}(?-2Cs^=qJe#p2;R6$!_7$qX7t%M$Fdi#V~OZ-uw z`XTWjWi>6=!>okOPedS13SG|iZYrGszXfUnaKDcc1r&m7ZfFe@Sm%|~v)Xp#YwREz z$xLpU3ZQKYE&9mM$ou8WI?9+faX<#F7B)bGM}oh8uOIQM1R~&iUJ}of5l=j@z|1-C z-MUBTsG%j8!=yzWE3T*x(yG!UR8Ksoe3g=!Giohz*nQ4breB9FvildQ!Z;AC91r1t zrCv+-PP{)&)5Nuuk-8^%U6}^hz7#GxQN)AS>wH?wSDR8WG}OEUKD$gjuAW&mj?c`r zxo)zUV+=-qE&kT?P5Y}T@gdnuutt}dvBsA|;~R#H_?`AI)>c9=6x>Zn$=n4Yc7arDovrmtml%_na-oWcZJsBhjGIj9xGZdXxDb1R|`WrRH~Bjm@Kua3`d-lmTm! z6KjR}nJ#i>G0-muNR@|p6XFsdt?f^}--D>VB>?G%J%;&O<-W$@iLJAs5<|jjuFI%e zd4kCBaHCgH@+yt5yv~fDy&fm-Hx@vWd5K9OB;+)DRTUa98WU}Vm_fw;3A~=52LnaQ zU?w+>A`8T5EYQH>ee(7DQ8xRsi%!cRtEY=S_RMN)C}Sd*_o77wwRzTm5hF zpE+A`<#dt663{WZSjs(fY%Sqw=4^CyiIb#&aH(_fw$GA31lU(M%bs$}q5Qq)CiN>)WD^LfIJYMA!MXb+AlR zJRV|)#D5Zg28S5qIg9T-yi-xiKL5y6zYD7slE=ciM8i_ve-r{A+8khNKIZ>O7aD4h7~G7St7{^{wb!Uu^OeU zSNR<%bteYj|6-|)@mw;$#+_s2JxF-;oL|vSzm?9q=lG4(SdHM3@PpvypN1@?rD_sVYuI>LJGQm`j2q+7-w2N z{5Gs>EdWP4odv^|nl&|D$OY4N13uk*{S`$QnMR=hpG3gVe3^X7?QA(h^-0EWaQ@W7 zwqPW+lVPecQFL1%JFrgZ-Y6YWjyx0*4E&*~4t~(unoK)GJBye z)mhJqpE;de{;;V*Yd%uKQ&CTW*%e{UMa=n8PRfM&BfSQ=)Y>X(p=l9^-b&~sG{{eWFr;$sm($wYDZ@~ zq%c0RcD_E(F2Hf?Uhjdx9?DgV|h z6OBe0^9hM}_gSV=61+av`m5cBKw0t6Ge)um6O+@%_8gSQ$4wCfWAN z(U;3Ncuwo+4Ba*BEW>m(msAjhzm=_6Pvh3T9Om>g?`_7@3a3wq~QQ zS!*MPIoa$rf2Bp$eTvsl96tSx#O=DOd|Y-Hxf#xTVqJajP_`re-C0-YHmbuiJFGHC z5Ai-W-;kjpCgSaC%n5^oYDCCSw!dXY^i)KyzmE50rURC-CONz&iyZ0a9BkG^z@pC= z!H?Qf@YLE!xb=_ewzu$$jxP2)7Jl4&JG;#ZQ(n40^1D0OpRKiYQP^>24kc1nznv9} zK3d-;@$Bncx!6Yx4)6c&iusph`Aw{-Pq%FI^6x(Gi7K&Wwx&tsFDw<+*PE@))=>-G z!Izp%1W*sb_T8Q$Jl-Ay9mzcaPsC8%^Y3^`O!aPy;jKea)D_NSGUIDKrlpzuW8WQm z#jdFLoShh6Z3pj&Zxy1Obu81GUpKEZ6(?urabUjP|zZOo|Tn7!MJz1&K&`) z0)##JtUOvrl*g_QT5TJ$m~!=-L#7W>&2hfxW0NW|$A3Lzl&+7lVhVb!WVaUw7L*dh`^S*T|K zd(Sa3Y2KT$J|rSj;|?(msB0E(D9n(e|H)|$1Oywa%&p!lDTha${0@||N>}i4fHCSI z5kE8nY@5$vCiV^m%?8Gvl3G@C*hMiM!b8jg)L~v>BIMs8_Sgef_e$w&?^nacjL+DM zuB92|*`Pyrx5!)tT9cH6jdlODb2vz)r_hlVd5NxLQEZ(l*bVGedKr3owGtD0dFz~Q zQ9-v=O%!0kw8lK*v)ue}gfi(yI7K!W4u6|dT?Bgtj5RyDD_u7c*ki>%BR{ ziuHw6=QtmZ8Fuu=TrcD~v?STRJ>J_cUi8HNS+!)u^xpZujLa7Es29~58glpZ3-XT= zU&KDyp4oD(;Ogw|e5inmRgF5od7|2z@8Gaf2w+JHeY!<*u&N7JwRg7-cMCD61$o6B zm5UBVJyr|=!06@eY@XQn4+RT?-#gJpX>bt>DF<3RpRZ`&;oExKjzlDvkGGwfh~(%1 zVlYo9a&o;6DF8n&ZK3`W(pA845rJgS_{yu_lNa3E*)DfKKyQ(q>bw&zVKX9o@m!^L zbnnlOe|MXM*{jfr5B#Wra`IRgcN@h+d2EnP4-n6X(NR13_;49%X|r;A!QV(OhHtBz zxlRigh*i3EnD9!D@+{VkMm?(6*na-7z)-zv2FJt(&%>U2kq|>I&2v-Acv6;d=2qtS zg86*Cb;>3h**x^?VCK1Sp5>rS+5jk5ML%Q@RhF${ z`_&hjv06pH9^H0$1F zfkRaE@iRa1ogmYb%|9l~d$xX`V81W=G0*0QqjlDY=E6>IS>0z$N~3!7Me}5}&CM1<$+Z4*%Z8?B6V8 z^XP?CrWL+0o0VBnK1*H}lJdq;sNqwPzdoPH<=P@WG)|1#zSCL57udvqMfGSx`-fw! zc4%2d^@G~Lx5`RUp-X0`tSVIe*T>H3hS{V<_5c7aEQ7F zX56EtjhVY|cPFZfMnH93c&xKF;C2ryn|&1J-Ht?by*ymw{`r;b&9^+a-hDqDJ1Z;y z_SbCe0me79vX~ig)>4&8UjbI5Bt84k*NUBrN)B{@5L3d}5&IMcQsum+U-_ z>S+!EsrtXYpiXDB*J<0mtBzr;8}e>5f$zzIAF^DOp0-lV2#63PeEt6X+4ls`8 zR*R#}Ay&UIbBc;DD>9YOIuqn%0-mq`iVd@=Q?Q!Gwk#H+oRPM?) znPH;H&d&Pq3T;nQS?aG++;HqhqXV<*2L3)f@;wu}BGKC%XcqGO73yKxDtK*00KBKG z^Z!2YCQNY{msocp8_if_&ebQ*Z|Hw_))$6ii10uuBZo|08tC>kx%t#?sjr$Q3cP-iV5s6HCYGSflX>Xh|m<@tnZ_?WVeC*(aO zSi8-W+rzmnxz*JJ@tlYn7P80=5$WqI8KOF8l72;gY7bjkFF7RgS z4a!zwif?I5>Ghfx9Hfu@X^S?$kG4&;A$_p=P)4&Yeg-Vwul`Pr2VC@$o3q{RfO4Cd zm=uXJK|EmiDOXxIYhTHsk59kAj7O};Y%#9g{cC7iJv)XzNIb`lO~cU-9&9ae)<001 zNt|Liw2(SX(ti42UOMNe0vNt&A%f9Gg z+EC0ST?RLz92OuJG4qwkj|#r^Pw^+wmqquUs*x}`YBpl<`%@+@y~_!|jtmX-G7A(W#MFE^p~brN6(Sb&Z{tM%L-Q zMV<;?i~btwB#cWVjV*`%`mwBrAM?+L7(@bFEqs&FA_*;cHgV`3hx)<T+_{-It!RKSiN^D$p@-<_frw`x76QkCA0|rrYlxUWd) z9BYV)>$AX3VtWw5NR>W{qLFy=c>@6;q)2&Aqb~qmY+;s(r6+cLagwmi=?-lya)Xd` zbH+~Vb455gnU^CaILY@DZ}JH(K$)LK2uJFjZIYV07D<7kYP$uiGh@HVaaevgp&ka}b<7}Dq=Rz#xa4W;F1W*(Nk zZ}IQ<>+fZml(-M_u7^-@S&1%S5dGSwrsVE^WY4oqC9nOm04A`6wJmu;YFtfnMX@hHe6)8%2@>+^dvW3obR*v#KtMl4Jc%Q2Ok^$@D1}#giM9&XlfH>FzHe!Dwg_x6Ws411VP95 zsZqUpkV#6C++J@n#0Y_c7sDNI2Mh@eS4DOURJwubDbv^b6$ZMUb`8bnD|oWs+a#EtV@=W zvddHdjayrG1U6%((3`FjK2aju9@DPa**Rj7W?qRE&_hg=tX!-fm2upx5&>(gNv0JC z`-zhU0ML4Nenx*XjJaJ~OGv6X@q1z1;P74>hk|DZ&+aQyc6@a}dtts&8>fVR7@ zS4oUMEu_}1h2A1J_@f0%!q4xJ5$@1){oeRfLt1Cup1wd$T4#-*#oW53K#yQe+E`YD zR}C&uAp{c|nE;5sv~fm$k=tc&0Tjpg87vm-=g`;N*&TKM`*ibI!5P_yP-S)yGk+}Y z+FxOH{AX=r>v_QO?R*4RnYB$JmFf-u^k@FjC=+}84A!om8#|E?+he05X;Jb;2K9VT zrFqA!nS`3yk@mnhBNoW%Jav`kYDBc|2iXk5aTj5?xNV2Z63SM9vx>sazN(Mr3Subap=d zzY4NqA^)s+KB~jRzeK(MWk8VaD*IhtGPZtqrdnDBTm(zO^FdboqhuAIy`VDs^z z$}vql+P^%GkSItv**-MF^h89yjIb9A6j951{UeBq=b~mUw|J}Vnq*$uvFO!(a4;0p( zD?=i54~n?-B+IzncY_qI-skf}e-iI}5*rItDb@^7Vk9R@z$O21mS9*Nc3!JH1k9Yi zlk&0-A|&5;_$8?k4Yi}zRJtatKzpzF-Wbf@!tHxTOG@ykVZHZAYq+^ReJ#`vX%jD5 z_=K@!iOCf%+%R^Yot9E>ms;x#Tc{~GZH;*3(6!|SGk*{(o@QDD6tRHw{+s6th6bO8 znZlku@GQ?UDmC2@6mzdEbIUpjQNTan+dTH_tP^6;>QsDodg+4~ak00#?uFU=pP}U} zB7pT#IYjWsx7v*chmM8r23Y>*+|-hpw;@zdM0Lv2jsOU-a}>;g&#&)aL{z{>Z4$<( znIFuB9Ns6-`?hr!Vor3Pgq{I0=IVd4EvRB*O4*u52c4>hzhCg1liN8cPL7G+Ck{nVw8w01vp!$$EcBEmCFv=CG&r6KMVL=B zg>;Q!^}>}^84v93ZKJM^fr38V2xauN`f-66!&ozveXP6$M3dxn;a0~f7O_H$uhEc!Cl|EHP-gh@W=+JL@eB0YyS2y+zFRsrLGtUlH zK^0D-d3#{DeSGHpE+jGlMdQE%pW%`3XwMh1s1HezDVy4I{>VMJ zv*#tr-Zm4|k8+L7Lj3&1I319LmcL?`OskCVq_@ z-3@S@4;AGhhtkWae^V!wWmBh18|Q;?%!JXoPO)kpNqy1Uv|4qFb{0HGs#%d1`*P>zhvZhB4cQBoeNnt5Ua736!mKa79g@|wi~LK;Q7 z!J~_glU1+cJhykQT}ecg7uVNyBWXM-3h0oo8TS3Z!JmvQVDC?9Jw1kZ+H+eE*jT~N zCW`lWzyBT8B>h-lUr%16wV7~p!((Vs+ubTNnbr)bq3|;0WV#e1 zvv*7RYoKD%rl?U&Pox9A)_bIhuE4Z)%9qofMR`?L%B-KL)7jab<70h+#ib=c%0v|2 zyNF?LU9^JbWgpSaRcJgzN`gL3dYF`76-t}uFx~ftEk;NdqF`K@%dG*}E4UCuLi@pM zZ9qH3R|)#*i_DfzH{68RrXC+3Pb;X-GlS!0BD}q^dzTRk4j}!?CB5myp5jRceNWK* z;-W875m1Vr9`mVQ{EfM4xE-Fl5f!N3(-1f%@)-QKj2M69yNh3E}rJ$NXAUrU?iY+w0Xz?&T_U=BjPuAp~1^!<=P z5t*30#@PKr-+TKx==A`7o@p$x{!9c>A>K0|aT@AAjN|KcL3uSY?-BP$!Pn6yfATUV zp&GPj!wZOHzkiIAwlJ6)i`+;H0re66F=2toL~M16OBn@O{YHHbln_J{R>F&f|JR@q zYY|4LwaKN)NRmy}wXdx+5jp8w*g$Yi)Rb;x$oz{lV%&Y9(>LFPB8C8;2^!JJvp>wO z?bOC-qSpO_-UM{<79zeD+jCACn?g>Ls{2QZ+Jv^A3558CBx6Z;S_#4RPIHAl_8y#o zrm8(KFv%HeQm3h&l9=zjH;GrShBvv-mhdxFl-Ku-<_a|@+80uhoMRtK?)>#nY%j3S z={_0Y`l<6>f%Y>Kk2Qe5{3rmOj6#eF42-a7$Fj&&+m~?(Mim;zLBKT6#MslF+DV*k z9wm|{8nbf6w_&6}-2a6ol|wi)1LKIxA4+`3)~AnVsyn2lFGvOUV(3$C^{{ z))+Dy!H@3EA3q`xVCK9(INnHfwtlN73!zw_%X`#&*B0~3rk5+T_XY6t_4}RAEf_@0 zg{Z5r{m-Ezmg=49TJQ&v(%!X~9|&WW>t*|Lq0Z#VUvb%PJS8Rl_b(qMjZ)}@UX{qK zq%2>zL8R`}yvkzFZzK6ciuly~(B;|!yZkDDNWGD7Gz8=i8I!>LQ47QV)4E^t z+LwgHf$_P4LM#|MP=xRC83{JVbgnjeALFwq;Zai$r-_&0`-3DvpiB3~|9J0-{@~Kp z;1SkOPAnX8Z~Avj{d$dA?!MI+4wcciWVdxS+y3*`e-8X5vt?{rm|op}CtZSbsJDby zA>FTb?)GQ!-NrYFHodc&ylmYckt`djoj<6mYnN4*6Vo+1=CDiDhZ~p5izFjfP$ICP zQ0WHIKzB}8ZZUnN4NuzcG*EZh{ygc+erQ|o?$=KDKkFAfGbDFHg1$syN8A#O;-Lfg zSk2<>AD9(D9&N+T@0my-{2C8I^RFzMApCW&3Oy*p_<%Oqx)lL!Y1p?Pm`Eqeq7Hxc zm+f_>EDjI2UMZFbUqjXYcppcU5Y}mE@(_E9LlokUat&9AXPy(Yx~V(6igcqGY5JM* z24hPl8|Mh@b2#y$Jpy@Y@8PK#;v`cwg{AN^{K*aNkbK*m73jX59 zAPtv#@JjhX1OY|)LufUGl7BxQmo~tkaF1FWOd!V2$gHnN!X6+BcUenIyP;mVVV(=V3Ic7!g;pFLf z_7zf^Ea#qSJpvM>`ZB5p5z`9LXNn8lta;nV*oApbRaIV5#u!2WMJnB5gJgFciwfmW<&movN&MZ%)p3_4s|J(%A zk{sC~a-%PicxCJSXT8F;f=}-e^gII59P5^^e;6^Vr{$FtkOE6_HEO$uZ0UECxeO75 z8yV;|I3Ed4395_RE13|iX}1LYqn03i!SQgajgy#ii2Fa8R9)iC7H1FnpSD#LO{cNX z?exIqYM$d5k}zshL3QDUNW3Rlbr$!}-w}g% ze`SmFP{FO2)I1X~w6JO7dFWzD1N!i{1W%!NX?P*_6n5uW^6|YaIfvc9mC!+?7zN=Y3 zm9VqFh_^*Cy)O?hFN0Gh@Z)HRdik-XtPCOlkFEE7WW#^ow?nDX8d1AuYL6;K5&Lb= zQhRT;Yu8qzh&^jlqg2F>*eR+uMa3$ycZ}Nmm(SDt{^lRZv*dMM*Lfbt#>B6BCpcIq zSCezfqw5;uEdH9C;t!|5QpaVV2Rit;91022X2ym}W#(G_>qbsIkhipgFS>)u>` zdH5&L26OM?AuMIXXgKuk%)N)o+-@IFq>~ky7Zg@+@){;DA;YHjd{yK)1&i*s8=0S8 ze|b1ZBe4L0<%z!gv4h?U=3lBemp<1Amp-Wi3cEJ?3?yw}Q_LRszN^2V{{>JVb)Z#Y zYg;$vByQ-EkbhCh1sclu9PH~A?E2-kfk}U=0gn?rD?X>OYx*DpSN43w5lh-LG^DG% z4x|VO=QqW-!)LYB*P%3oB#kRChv={W8VuHv4xQXZ1Re^E4+Sa?S*c~~S{RmT zf?WbCsoth;k;w%A8Jn!VKUU1yT8QM|RGYn)q~TVxoUwYP)_n7*&Svh(SLj|97q{=X zMXzZ4XqK^shUT*qOhG|GXQO`w)a%>dVl$cPMmZHa=qpROO@l}4U#FGBGtNpz{&R#o{?B6^o+R$ELG%<_GT7(3{=G+R(ErXK@VR%}q+c;{T2aUkVN$FEkFW+6X@XB5Ijf!I+t3xDl*>*~7u-ByXx5 zLqO&icHD=?$n5LnSrjpZ-Hi_G>yRJauSD8l={i?i0?*);d!0erMCBtVGlxqS3Cd$u zL<7EB^1!zhM|MYTMjti&=6j_;PL^$kFh0b zfPbJlTh3_Ba0j4Nl8{^1iqfSCEB*)v(tb6np^nF|;!4sjwLJ%@ft1vTc3Kj71hESs z6t>b!r?8`%rlg}cQ^OO&&>wkF{Mb@fpR`0Ma;$FVU+=XKDB{XzaG6SlzR!f0g{r@P za$ek!QZXAVIrOB)`RZ6-W1%QUV5+& zg;kfCMSj)soU_m$=D#u-V!o>Rn1h6xm$1psyUswDJ*+#SrQ^f!VBNy&sxM_;QcUKB z$)90kH_$-~|KA>Db&IW#c*G%k-0;f1-FL778&j3MIexQcySF)4_i;WX1rBzy*f9XR z`6kuAwCt3W?#vDScltGt-(<-HqqM`~Z7+!ADUigWy#0Ld=?Yw7e=MHcD#=9N@Y7< zp5y#-h(354WTDf}?7@7N)faK+?AxiAECE)I90Wa#BG6f+uj5M_p{biC)&73Xx{U0y zy#~BVJ{6hePMZwKu%gIqcSL&G!uEuM4ku$_QK4mWmNA8I`yyuX4qGO-plUU*{>OuO zOt64CnD7g_`q9Pfcfri}ci1FYBT$s-g4sRnXl3ajvh(=i>h^lS+QM%s^yXmhwPB{w zme%`eW^APaL-7fPmGpE4+-zb{=LWoqj|-AGvO8p$w7+0oBj$heIL@mpZ@w?KBPFzFw?6cF} zj+gQNfg9Q51^XQBigc`{0}ADR7&|90FMS#WX|gt?fj>_qjBbZv?LfnG4d}y}=6tP+ znVA{mzoAFVD=34o`h0%s;XxmF-m%G=I>;I&i)GEG{oIa{8*rx?JZ0}b9O0I^pr-Hs z`@l!!I*LV}C9{^H?&EL|Jg;`(W}|8{Q1mbT=}m}XE0-44c5o^$%r+s7+Nr0(D2GeV z+D(tL9~$f#8oH}^fJRy_1d5ol?r62oFrNZXZMr%hmMb&aJ(fCykB%xAruMcH*N%+0 z!!Tt3{=Xv|c8ELE&Ll-a>(Gk>;0HV{rNnt;(9)3Ik_ODWIk)D6+q;asJ7Qu<7WOW6*a&l z)n2@d`-)HG<}9f?rLOvoUGGxzbtETpNtqIq&PE5y(oa$W)exCPIJ6t$<-;*rF;KOr zoGXW$#sF?o&N8^rFR?8}z8VpJ>n#xoh@7HEvK_!#{om7-=6gIqlP(+qASo?ZN!O(( zl;fr>Crr)vmh-#11J$fo&-@AEio_bPQM8b zOVk;WU(PoE0elXuAjfCj24#mV2f1r`OF?F@uw_#JUD3o(3|`h9uO>~{CYye71Y*&w zETT_|J(>sK9FpgrZe~8Owu8l7lWKdvdzhB}wQ2uA*y|azX898*{MFR8ap&2F-}5ZN zj*Re!r6=whAM--JZk#`R>zDPU5P{<#PGfZB0X>DEf+^{?Za+ucG}ke$?XA|uJ!o4Q zxy(?0vYGwu_2=kiH@I1P>Qz@XBS~ieH#vo+ z9}+H`o2Y4$uQ8QuEl*mHop8jck#yW72)5vKF@!th&@YWc{+TFs85*o7%K;GuR1y+^ z-^IEqJk8f!Mi?pNdn*uA@xX9oyTBug9gY;?BH%}1AK@(_PZJ^tm#qsJ7G$j`KFB(! zU3Z18hgFhA%lS-E=B>+7nMr>QLiZ$j(BCINeRJu-cm7l!W(Oc^-q*!>b#7OPIa*3yo?ad=rC=Yo!E&*3s?Gu>*W+f@wH_ z4=!dJgek^RIdXKmRmajoF;=aks`yX7A$|SSfTrVx_+qYq;s}WG>L7fikYt6jW#< zQz5VFQeqX#ewvad(BnP=QapNw^N0u3P42>5Oh`9F>6B6~*lkj@mPaUU3I1I;R|05! zS7{V0&UcI_XZtx;WeI$&)e)}5xlcg(?I~+ zjUsJ14iWvZ#{lx`Y~}z^{Jf_ye?wNjkxuSZhS@tJ9^xe$RZdEvzfj^r;ybqWd!nz{7Qx zAP7GJsYI#H^TbDkK-l*d7pU}S98LYm{7;h#CP`U2h2>V`@1In#+Ucc75)|eG$N=- zl#^Phw$)gy-9(NCq#{kJ(X9gF*ty1l#Ck;xa~kl)YzMX zJ7nQ(M*vzaiCEN{+}>V_Onbt{lCl%L!r)T=tI^Zr)rVUz zi;RhcFVMMCy@xApEPW+@su8N{GTVlP!_7wH`-V1oYoM4?*oxK1AjxH13P@kr-mi9dQyEWzzAHTrIJn{vn zfl`m9EcJ%A%ae%i(yt{Mim8bCZ`1+zgB8jI%zxnR7t7mcd2fEb%QU`?h9zzq&QeQ#%ZTfMgAvN;0deh60RhzDXn{9V{*^E#)Eu&0!9)fr5;Vo;EgX zRg?OnZl97$XSahhi}DMqtKIrk)vC%%$376sGKXDSvu_+Og>dgDlqT`PVFy+>NAFu6FmGzJp!UeA#8P2Z z3J{e)fi1p%%DkWwhZ6$J=-+ypO$p#uP6?XXJ?s4Q(#sPJmXU`2%M{XUp?GUg`6$jF z%)Q05uQn|Wq2dO{tzB}4ot4IWB*#xvNa;a4@;KIaONLyk(n%lAl0&c4k+=0z@A0+9 zYZ^k&m#=!;(B43IUqmB@KS&Vj(5S{cVkLNjsg9(gY@Bn)#+|BX4id#=LcJx!>i2!y zBHcZLg6cY_o852TAg}o2{*BnTeyAaQgR3q5@u;!rE}%k+3vzw!MFIWTH-M_ivMpi@ zXz$F|W|r(gWBg1?KB71+~B@YOEH&U2@gqZuLS*$%pd=kB5~LOLH^L>)w^#e&yb7gGJ`9uoE?tZ($#1)!rFi z)plK9UoHlj&ImfO)h37*Hu);UtlJBIs0n*j8vY(=57KCXM8*1aDB>Xm`k~^Q>MVlgpI}Nn!%(Rr4yU})R~~Q7XQ>VnT{NcljX0C8s0fSzEQEge-;Mp}qO%2RZ4y4YZH?-@xcr(U zFdll-=T{A0FpWMVATSNca*}-^rc~YE_@}kgFARzd@d~uhsX57oKQ={ni1G5ai_ntB zbaD+U@Cx<0>bqZDd$zyuau`tH$=QUDt*UL`-`)7NX21N_r&l@VvUL-4Q9K14M(5|x z_mE1^5o4h)&(Y|?`9&LJtG{aVost5ebOvVR$&&wd-aDz#U@rUX+m(=Kip-(^R&I_3&UZtAAyB zI=VA>ZZIvdT0P5acw3of(K zEq*F2^3~PD!_v&0U6q24!7}kHPx-%L`}+3wnVZTyfh?M>Qen*hER2>^eN|P4)Lb;N zL7iobp(hKLNN`YCXMW9)zBI2hLeouNQe*RsB-%8bW`Pi z@O59KBQs`yU*pSKl?8U6qo{MbeO%ht@$vYKcRcjfb`#k1%~*4w`C%~J%*@Op>Dx2a zMmF7@;+vHUZSw+`6k!Nd|ExWo=I$Q#;kSps>2O~JNI#v=+0prCjx0 z-Wik}_xJbTo8(C#ENQ6JuNr?jHvV$_{$!yS!}br;*?_>Z zEI~DehDx`+d5IZ!c)U$!dHw6{PGnahhm$bFISyld(HI95gl0TV{v3IA#)aCwz77-- zXj9Fwwccx(Is7_-;XCenSDm#wYcf3cMIYGj2`$*zAoj5<`T1mI%lnyPftD%vhD#m? z(Tfp>MmF_KgArE^wk00e=FEvut@Pz`QDlOS8XvC*BJE%9f>6W`f(y~>n;nq*S#-V%a;+RC= z3rZ$@Ttfh2L8TeQK@@oyZJ4GpY6)CgDhqQnQ}xWJ_Jl? zf;3x2q?z3cmrZ^=YwpG4>^LCKV1|BoPi$Ex2c9C{kDmQ}(;{x5lQV#?HgRGI5FTq} z8j}w!*QBI_Q3Z`Ju|8HL#ZA#Q$(y|b0HXEiKIes~ni1UMG?JmX6o(q47*tc1fjX=% zLhE09p(21?BGQ#j#|MlMsNByzj$rGFwfN4`*-lj4AyQqp^OQA<*p4JM_#yK7 zZK-0Owbx!d`%gX*Yjsute_eQDK*d*bdb8zUikt{>P6f92C8DhBX|UJhxwnlR!hCij zH9HDKZlA;V%w9hxesOB>7yE**efOf=Garv`uubu~YFaEFdI4q|d8osOAbXDbCNZB< zyVuB}J4)lp_tq|ME6wQo)VOmR`I&|OsTO}XQ2dR@@C3>$CyHsyVD$gig1TW`;aRTuNLNI+M6Ta zp#J#3(qS!2e82lyY0-xW^i<=>1R0gcWAApL!&6q>5X)ts%k*-zr;TF)RjZvx^07;V zYG4y_s6|2%AtLy+WR$R-s_zMsKa3{T#(tMDx=sJJ}i1Z;N@P*O9qSSzXl7@v?kF)Ay)M*kFzDJKKQ zMb+&H=S67%bt+Td8fAwN`YA-zl?044d}G8bBgf-oQ7D^gDyI}`ynt`9bW(s6?3RCt zQQN&Qo^E^oRhQL{j^T-j>Xdc#3l@zjQNp^59wsb+>Mh}?XdGFmNl13VM{QZWO8EJb z_!ha!ck(v16^RmEoBM&F^znnAOa!or27rX>}U@a95eDS64MT>$Cr`X)eos6kLT~)js zI3OH~!-+U~+@o;21`8A&c?$nOF+tpp?2)P}QJsV+R3_Ahn}l%dr>S+b1%vFQbH9$+ zOeO-3qEyVKB)8Ew1&uD@e;}cC#Tc^*)lbYDl-E|Na5GQ-$`MKR9ebqYvZ9XVAB2Y$`VObT-H!_+;8I4X**$k!w)z*1780u=}dMgpp9{Mtt@NkJHO zrDe@Rs6&_n7^=c$lVg9Mc3!-=n>EaklZaB<(>JE8VbJ(vSSy%VBgd2>=^yRC(ro z`%fxxZjl+KU(fZgpkPsjGro^!G;J}mvmnxK>vnD-9?M&x7#KtOwbnTvCiT@{woN55 zNzcm!2fv+}{@BFwRZJ6caiP97uKdLbI^_hH!CIh;2Cu;7!O-+y#tn__Uw%z&>~Nbx zh0i|UMfP?^_QH;*x4%4GG5hJKl4HK!|loN#5(qflZ<`H70>*G-`t*{H8@K9$EB|aiyo2#4yaGCbrwba z=jlusCX1qcb7YwR?dIsTooL}p;}0$^uqG$}wgPv559~05z?y+R`u^R;kRZ+lYWmR~ z;$3Zpdiuwa-+9Kdh@!3W!YqjMk*~f_JErrlzyLg9)JT-xpa-})M z>GHV1jqOrvtJ(~dcwuQ+*H2pwR7};Nx#J}bkI=#$%z9qLvt$9|WZw0~)9uz8Q51f? zJ1l^G%_lMKha9cn_Yx2|l>p5VnfvY@WY@hy2)BY(MIG^Klg|4kxqy%ciJ%9&hf1Es zn`74ve(t}mVJeZLq&Kk6g2p|lp#Tz}`Wd@n`d&{fSG@lP0>2e0bD1vlaD3lcP{M;1 zq2?^4$76%&T?xL_pVDlO-+L&Fhu)m8^9TfjgN&}P=GYBI#P)^)XLp~PV5+!ku+~mv z#rp6+Go|W>uE>QrlLGu*EC8!Ztn01Twa%Z!XEv78Hmq$e78)m#2;cUpmylqO-(i=_ zR!%1Z=#CIi$$v>U<8$7bu8=kjbn@TycA)XgNv`HK{o1J*17-GOFL6u$ zZv|pWyZ^9ephg-r-`F^`;k|EAr`*0;O<@96WRT7Ttp!gH(u5N?Z{pG0MvO;z{X27YEN7aR$5u56^-K2yVvy z9pBj6>QyW#v4Dg)EM8`n?zzaj!W-QY1!bv1!u!5+s6JN%KAJwSO!hbqc)s>{lI21h zs1#DwWRM_Oz$cQMVGv)%@(eCfa9#(ccxPl9K*Pz+1)0KwS2;g{WK6;vPo|wyYk#eI zX4zx>4D%`%4=4k2npfF0@f4KBHl;H`5U^x3n{iY5zxT z6a8*Jk_}tAL;Vsv>_xq-dlf5B=^0y@siXFST26JNgN*PAYZ|CDagtt+m7?((R!$m6 zNr79NPV#+%?1#jOi#Og%WYAW}#moIP@Znw?sj1D6gn|9~)u909YOST$AQ6r-4n!IezmC0fYRcDGZTra_xa>Lbpu@GO+tk@ zQrC6g6B2zje#Qetf_{$X5wDqCQ#4O@URXrM;eJxqgp{zb@Y?4$E;Y)tfXXwx;of|# zp@ifqK&nr=JZxm5-|CP2g7;+T|9kv|98W>{t3ht|r%#_0qePAUV_R@2^T|9@x`>Q# zLV+a!E@47|LPR$k%a1x$uq(YcCayar<{Mm>HqM{#lUUEM_t9nYuSkZj(|~|i5M4ak zRrAJUvckv!MK*w{3TXe0b?%#r7knBK(j6=hpZ5D-^$;zix-MkQA2wX2aZ-NWHJ+O+ zo`U}VJh|(p6s5w`LLgh{W{%AD3ssKPfjBt$UYp?CA%8M4Ga6mBxQ|W@9(fFJ64B{Y z){%Zo((#8y6_>wIl=lPA0qjTk&p+!g<_k!?59gP+OC_&Vw&s;$Q3$sE{N!Qe8IMAA zrMthPJR1max+7u$Gtif)DG*+@r@lOsle^jrjQ{W2;&jPvWeRq1ToCHp4*lI0pvVmp z8k@mMA*QtY@24ntK4B&OUpFa%`fa$N7D|8+0XM~QN&o#Hxr!0WC*#$lZOtuXW*+rO zQQhCm!f2N8NaP(2QBN<@n4u}64s3$Br-eu7&0^P2Ed0>eSwI`F0g(woz zk0rcH5Og5*mVa;h&0&lZ@Sx4meT}QSO*n8H^z1JOD8Sp}KXkp$DpqW>#A{|i`rRAP z+EY$J>8%RHXOunOkOUdeHY6Tbf(O8x6`wGPdnL-n`Xf*u#73Q5iAwkwJEyPEvuD&f zgi=i_ndmwP5bm=_ZQy)PFiqo#O*O{5n?J>4v9j5qb!I)sWlNe9kHH<3h|xd|+lGIg z;h%l`HiD&2%hwdaL|7Wju?mO)Q3zjF)Da5407P#)F3}1{%i{3JD_H^bC_8*d5=L;V z$r&I@Pt7UuGjs`8XZ&A`Je4Pv3VaM83~(&6d0C+k~1SKp-5KzzO^lu^w&us$x0<6p0YEnBzKhIGG?BwWU-7wJsomP#pFn$ov7F~Gu zY$s0H`PnUm0vG9mR$7QShCM=l*sxfBhuDqOGpa*n#@AKEau-bbL<_3WkqAj9D z(q8>F1Epd6&V)M8%X4^5zmNh^GH;As6oUu0sH_#rMWT)NK0yC2ccVKSJLzWLr~_!z z$?1TPCz|QPnEC!O2`!$OkX-q2U{eJYgcT|Uk1u_?Iecph*pQGbdVzay7Xy8kq4(*# zp{rEbbuaU14JY#I?2u#1We;Mb_+D60);w8zsl9K+K)-#)*QT=;UYYK{MiuouoAxDj4#GP@R6;Pe4ny}v3bT)lS8z{-R%}Kdkl+9341sy zMmy<4uWGR{LxHZ#9&Qot;c?{UB-rYlXA+~;+&Nujk+9VDQLt0&k!__?oJrio0@yrA z$J`Q&t-M=7Y32H==hgC{&~kP*AyUMcN9U+&wRNtS>iuc6qB zgV@cqK-kHg_Pw3I{{wUAJz4EiS6A4Bbs8JiM*sZjjdoGk<^4XkXLqo=zb_Da%Nh0$ zc?+%W3OL^Lu<$`Nhn>z`p<%yRkTt!2v{yY`3N(nl>V&FD;IV`M7 zfLWSKmhP*SVcu$-nu@1naqg3~0bOmcOkoiXb5+@+94FIfSXI_qX^?>FPT!@M0Zprw z#f*f=syGM!5^$%KlPnBt_#>$@L9z#1+2K!#lX^Acp-cVk{`H=G`hZ`^|wM1E4`j4v+| z;&&ov)33F^1tI%xhprxEoTWQZkFJS` z)lPmFTh&U~w3~@<_|{oiLL6TSSna|YpaTXokj}?Kt9T%B|D-vlL1s2Ow`H(bAq0x0)e%{s~gpi>W%a{@G5 z={q>%*v?b-m3*%W$lO|udf||)zXLANqJ)ZRom~A4sL&DLqKS8*#v&bzb91?>svvXD zFv*2MABNPgVz~9-$RuaqnCvQhea+1tGrbL~R|#vhsvX{nI%0>3C{G67@+QINW~gK` zB^E8*Y7owtPD>WhrE8oeU;y~N*F>dfc7v$3pxLl_wGWUr=0_vJrZ9-buust4fI|AQ zQ7N6dMpww0m)PI93sP)7^lTX2)NS4;vCdApxN@a#|Bt&6)nyQdXqZQF6D~$QwDy5&pSgd zc3ChMg#|U#>3&&uk%dB^@yeQprWf7!x>u4O2MA&thyKp51kgoacyh!({+Ig`siKgwk3MxG zhHafJlDZQsWNiz) zI2a8!a5Qc<8ayR_CTj*`3chs>+Y2=wt=@WliiF2z0rL2`W9Cm;eGd`iNCmKL)ktiW@4XV(WEE9EBPc zfDa#A4A=WUyc$@wt2fFoGUxlkD?4VQQ!%BZ=0DF^K5Zu?lIn-*_iTVq2VDJQ2V^LA znrxCZL!YsIr*1al{~=+Uq0?j+Bq4EeC6r`qDxR5p6)ayCb62C4E-d7kYo_JEG3rN3 zwl*ua>6fLKDZ+8wGpwHqj}=pCjf;h}K}ssCcHKy^mkn$eyLJy*psD|b23b6zTtb9v_li5T7rIptS~MgrFeE{oh!cr1@f!P^%+ zu!KqCyxBLzapL>(#k7y2pOLr?yJ%ApKjPMdWQ$ulBA(i5zNiI9zj|%`p(ysmzz9J5 z`^DoPK<_hGz=ympVjAw-2Z;<#yvSyC)@_y)ppwy=3ZC;?4TT-Bf0_Quc#Yk}->WSA zE30r9yAH8@O+g*t2}@it9!?UeX1GeF%5&Sf$TT(xWvZ_T3o($To+X;)g)kQzNgb6I z2@%%4k>PMi?@Nx?Pm8?-y?2VDQ>0Bvl}%-3QxMquDU2hRmgwpv<&XzxKNQX*2M#hv zjJZ?Yr&=QJr`;C+_&-oZ5O2?2C%@?`vXUX*Mce#4jxyEaiC)iH z8$LP98xMZkTSu?8BOF2^BU&E=gcV~r+?;4eQ{l}#tAcD-bT$5F^@K9fWjO0+oN0}( zD+(zGaAR~2AqiK=`4#Fr17e|7;EFB<*rRF(JZe92@pV;3~qat5k)Ztna zzn4_{tx?l0v##&0W*x{1DBdJeZ(}T`T@UNVP}WRb?*afsQPg?>rR)eGBo)6rCz=Y# z10W%^b|3^o6L3}Vh$7tSNqT|DCiIk9jNe!;h}^gmG?^);!{fU_)YRX9|9S2K{7YL0 zh|BON1td;ZVS}oRSdWW& z@Mx8&XDCC0I8K}qS$Z+GZ3kW5-bSS$>i6i(j4rbSwXC9qnHifaSCfM*Ubo{?drmfhv!%b>aj{QsyptkDw~8$;zLYQdd`bG^5iU2k%X^{fRJnIC#VR;J zJgDQ5>|;CS-z+?3%ik%!Dsd>&eklFmT@J?qSm7M8FmeCIrZeQ_@GCRVtx56pOcuyZ zD}__eSNR(OTp$HD#o4z88nLl_g_;(yq;BH2Z;LoXEA{2N6=wZs(c+| z#M@FWw}It$xbd&zKaQ&@ ztI_qZb~uuGX0WO18cy55W#u$~DX8ZAru?4o;Myc)U>dJO)f1Gjat)=4`PMjW9=(q6 z&Ac#36_h}w%B5B1&iFDZ6LMuj#czMI%I5mCto+AT&fx8)4zxPdv-+0`5J`bF^6mNL zgr}VhMu*~M%htqLqxZcmHlJu)7VQew?1EWIdnOvf)JcW@I^dTuv2j&ym-1y zYed*V$b&1-*e9XZ0S$rUnZ}B3@kf$&P*klY#F<)$ z+zz{@nv{@dQNVJuwdPSmJc>LZdpozy^zc9FfMSX`^74k0VQhl*@ZtCi(s<;Fb*B9e z0kcftQTJW0ecfWv$FO#^OJ*w=-2Ru|=iEO?Cklls=svIhfW!tP=dRe28jkHCj}I2n zGGc!X)G8#v^FePjllm?mPn>`F5Gd4@I}+4eBdAbzqHnFv`@>j9ePPf>NJ@rjv{wDN z$)rYWe9VV_G03MyWZx`tEIC=b8Q~vwd5RUc--!wAVeUG6Z^*R91(0{=iLmm@TOa9h zs7+mFxghLcumsbic95mSd8Zb_EzR=b_DlSpDiZub16I8-7}&+9ZGk*(_NrbrfMOxX z_B(U!P;8p(neIXiL9uUI)4v{bvm`+gnVYS!ob$<{mtW#Hs;axQ4Qdf#O+j@?|4^?p z|A!r#ii$05nd|r1Sq=Na$ZdJtW3a74^!+1%-Gb?2!Q!CnSa@VNs=p}o^w^QPEbjUm zJAqwa^O}yP3y(^Gb@Cw%i|%?E-shR}Tv@{neAw8N3C2f~F65@&uyJQH&~i?~DQ~e8 z7Fpo7w?EWYy%6{AZu@u*I_K5Kmzk8LJvMtK2H6`D$a?ZByQ%Rwm?J4p6@0bcUCNC8 z!l7>0LIG+hqSo?40^_L70L~Awf-|# zDQRI$Myg>mmzi%@$NBdi5^x1)|Jt#=J{4-~f*IpM0_OC<8o2YnK%5mg|G4`S-1&jy zEblgl?JX+1KX6Nm(H?{yZQFF^nvm(7u3t53A>df@+IdT8Y03La{ow}Uy2h=!t19f6OjS$_muMSwChoAA#rwt=~(ztOuJ-F&qCgnT7=!Ymx{I^7-FP_JrF@e$IWEq1D zV6XFL-#p8jyv8VOs5u{J;1oo5zS@{Mv88Dh)|#f+)rY~cY!215j^N{61o9pfSBfcc zZJE-VDyxDVU;bNPH03uU(&RVTH#J^ei(TmCi7$o8c?4lcslColChcF1M8E3Z>`OY^ z-{?>nTUcmQ$|I)e5;+ZL)@*bHZXn9fDzab}rT zMCN4!%^qL859dPAE!Pq~mZp*2M0(+`FODhRqt7?9sNOZHfK7m8IvLalmA+ROEj}!# za)kx@eqAtjYjSZ!#iAMzozot^yTRfTL3sjOTQiM*?RULfWX(eQLy}; z=_JnQx!6=h?1`B$K51TXF|hGVhnJ`Vt#);uW)T60@dIY5;3KPt?mG!hxA_9f4}nr) zVS%I^Uz^V2(VmvTmw z9xktDa2%U$QCgQq4=yq22<2Jw_e9>8Ggz1eKOxM2G}Z-zd;t_6(r&C$*WsLbD;7poiF z*MY*SjZKR?09A|4!zISo04K;hDJDy1q>R>N%gkY4TyxDxL*FSv79Abe z8dtTZ+$pIBu!=ggnk6bth5zbLO`4nqLkD72bgFmfsTC6|uOq1&UzC#%nrwBLYjB$U zS3T-nzs>H%n=~b?lbSo-=i2&;2U1#Xrz0`6$|qQruVq%B0N0x2L&&Sn?_Gq?)ly@B z9))x&7L!WE1c-rulx7V0yeFNB)Da8ToAW5owC07yR>#D~5 z+DptXu+OH8Fj!JJ!Rbm&U)U<=>Hjq>dhlUy(yzD73b&TTiBg>rAJ}nNbyd?$T!tH1 zO1Okv+Hi}z>3_`6w_CM2H#=qO0(5758G3=K)JYSU z@_g?R_r^SR1ru(I7*uo^t@3viu#xbIaJvkp9}RZ#l#f^W1TQM!&f1J+MojXC>D<#p zGzPy(H@v&CSiDZ=uR^j2AO-+i;%W7v!T{lN)fi~s8dwIP? zu5$W{v?!nE6iwUz{xQXW^!riV)GdpvniB94%|PS?!}%@l9|?~RaR)dwqc}VxVtvi= zqtsg_o&a~aAUHpQ2v~F|@%izhw`=OoUPgo${@3-6{2XtjVvd(X0j3w*Vb*^xBAn*j zHTE2!p2{&vJq=&_fsJQPgiM0uU%k(IvXd^Og$+ zl;18DPNMoVsi05=5Yl~S{TRdoFoC9swQfFo3-~^G@aUwTMY4 z&2-n|5_Iy@UU>EvQY)4nO?Lk%Txp;wwDmCL;c=_!R>*NK;{A3eMr6K#_Nb*d*_S*mpkGXR;{`?+zwR>7e1R=tAyv*&LKyL)Lhf8CQnrnR`&!IhzdZl zZDytHpYL+ntXx$gZn8@4~^OLlmfn*`P#t${^C$% zsC;zB&8Wefz68}6#}-YOPmUUq%tN&D%y=6$w+TPkC#Ki!h=Y@5U@NL2c+4z@yKTA z@}z5f1bDI(tm|oBs$}(qsxYU&mkkDmYro|o8DCH zdioca1&iDkb5`y7G^FpN7>Rb1S_zv?DW8kz7^e^@hvpdhQAkD4;5S)HhMW%AdB5X3 zb{!a#Tnl5#TGm2=9H*SJ6ql8i>Y2L3G;=>?V%UI6uj6xjPfIpRqI+)lCNLKtLVgoI zzZ{Q+t&^Jprg{?QW5%gbg~94?i6v9(13;bIT54aR70GF9X|FT=cnswE+kaA0q|IA) zC}4ugk0t`pT_7h0oYIU8ZKEiYeGUONa^}XSmKJ;q_38Z!?dM8g0Tu%!0~pngz0DL( zWn)m(ex*inK|;1EMh#Rg6=ucd8Bhkrjj!YM%WKXH6{A#NU^&{r`3Q~I?^H@D1Kr4@ zn!yz+4pByQ8fq9;hf>UQHq4+yJ!R!;h}uia=W~v2uxihVTrssxYUt$r*B{!iwiV+f zFApfg{d9G+3Nd6O!l;rq_2}7=%iEr@tO^8WRRt}*P&cQGic(w=YjSLbw+^`kM~=d< zcwJ}wl-DYD&kbZ3;|)MCP~`KEAUP){d1~IU!lk%fj`%WzuG4vbV`}!oD28ZO^CN`~ z3>G!C5fYF zSO0gpve)J3rZcv}81h0~;Mw^=^q^7eJV7c5gM#S^_8IBIJ~bH@LF47F9J7Mjj*Te< zv1h$$Vn}(qGbz0&BYDz_TnE(O0No+$@!0J_(ChfteU+F7}KAz)ndP(|XT|#_y zbO$E7-qqce%~uu{#+HmiMwCJ3w)T&$j9lGZT!=e$%?3O?-Mz2=jP|o8rHyn2o!2&T zy%AS5ZK(Ha>x{mI?#=-#JqUIDwRJZ{ufVlF{Y$0WI&aosI{cmW7kuH+S)KR;e@y4pqkBBh|`vLH+{Y6x{r;^=|OxjbT=75I1we3Pr*F!4r z;uBmep?M>q}B5+WQ<~F?ppSP95`{7+&Ugi=}+U!kr(h?zUCKIa1NEB+A z5hxS>+g_;ux4eLSk`_Cymx=OTL7R8wo0|lXukC9gtactI+}(BpTTN=>fB+Ssc|1h~ zHt@wQYah@6yi1SG3_jkSiFhQETV0aJOZnj@@T}FwE_ocXP8+7R zdgtpRfmM(y1@ny`Iyv+lz*gLxtTfG>&NWgFjXaxX0(=I{d<`_eyC9RA6ZQ3V`=!-f zgxCsIEVV=o^in}L2Y5r}i0#rkPrCws5skR&?9QJgM#j)X?i}9nplg5hZs;{2F_5|b zqinK_h({n`uP8kbo*@AN!6z@^O+S_D;$416y=Axjx3J6MF0M{4sj(Xg zI5#4j*bh(Qa51Y#l_or9N$Q7*VS%9{t>l(Dvu?PE6pC? zu`#>|gzLd7G6+!WcBZCTh7!UE;RDQm{&6iOz!dH=i}tbFIJH zb&E-Lwm*C6AVLoelsbW%tM5$&QnrB#eL>22@kwH)YnJWi_w_rK&1w6Y!%XK%-pP1L zzj+iRgLrGLrd{X4n(EBcNoECk23@3IPji|~Hu*-EOnuv|! z^yw`)#^jgN`2D1*0OwE~k#Fn{;A236_%jp0j1slem& zl`LMQ@0LHA-JxDbkKonOb;!&3Ql9r?%A~%=hkrc1&wuaQ`~6yBAS#p!ZiPPD4+1J9 zeL|j}jT}a6u6}l~Bz1LEDX@6s!wPN{JmX?82EmBdplVeoSjw35!XcW>YYH5dD1KP(({Ynsf2(= zlL~Etg7HSzo&~yjMRHCGfTR1zQK*TCR@X2?vAg4P7qC1iD>@38QGI?zKvy{xfrpp; zV%@DW7MA&S1JMNZp6`H0Iy~6h-`(H4ysUX{uQhOK#m|ifF*tE?5zQEMRF+&+xeTde z@Ajq9FN0kt7%n@Ms_RPRfF}qJAIRq?2+twR#17^KIfWP$97P@0=!DO^=916gICaQK&C!=%}kl| zFrSeqFrt^qX;77-t+8fhKTZCFcV&8uL{5vZWNw2yr6r}4-Jxg0&qimFyak^%M;o@O z07FO?Y&noz#0aC98wQ*5=}d1~eiAbDq%zE9`n`KsW5hFH_|oi`{sT!xsN5HYbaeeH#gqiiu4SX_&|5 zbH2s^v9Xbp`>I!k;fNA^78an8d^fZ!OT$kH!ZlOO84+ji{-`kz%_{YY#Kzpk8umqS z{mJ*5aJ%|GevEgie#G?}9dz`*mZn~>SoS#>pCtv1fo*H6r%|Z@ zvR07$!`9+B6BxeeO{YNR{DQcHStabpbhhW)5-{uW=F6*(w5@9M0qIT)28)4?Z?Oi3 zf+CC*!IoME;r)!T{tF|gOp(`C2@gMk7M<7h zNDLr1h_Bg1+f|FbAlbHr#54vbz}PWJDf>TP1WlTQ{F!wli+JqTS)^kSp?Zd za75o%%X1NzMG$@OGDV7*Nd&{j4Ov|;?|0%L=a8P%BH`>z`QqPTg7SQ!0e0;5LeLYe z7*?H0SN`| zH_UA%LAG9abQm_I7as>ZkAAwP(P@i3lK7Tl%nM`E!V-h`N8(#T%wHctg@f__6+)OF znS@_(5{dAx3PC7@0x~ds@e6Y3m<_@{(kAA^ng7WrWih4UCZwFv3V4OFmV#7&$sGmP z$PF2%kcpgqe*58iDab6g$8XI>N@;%fq~qOaM+sk?)lN`)F%1Vz{cb+B_=$A1y6kylD`vgKjr!Y{hMl`{>hf;p1lc5l>hxTyOJ z1AqTV#hju;D?h)&Cg?q*BHG=CesCoD_?vCRGf{Poh#G&-h~PZ%0Q-bcRP@>SB8wa= z_4-*1UxvlZJuPjc>a(uzf|e<=<}OK1IW#I?6C0dsD+Y*v`Q{; zh&~##MD0H_|ETo-`M1_{Y)oucqE!Vmoo5)cCU}&NK_P&A4E$_1Gj9IL=V|P;8`-(i z`SL_d>SOit8CE@fU1>b`aZD<YiDw@Al`ZRsRj@K#Uc^65b!Dl11K%at>%k)~oU_I}-qSKYcszKB(P=O@C$7JSA zB!XCa*8~?ir3~69s!Y6o63#~bYhTU-;iL|6Fwk2As zlvFZ(K5prqAPyKy5T8RHtV0_X&c|I`kMX0=J?~>=dHHwaa!72ipa7QZm4DAD9ktSt zdKI~<3T@ESZ=MtU^;;E#@&DO>3&d92Qdw+j(>0_8mr-$1^3Dq%e~EkhluX#qW^AGf zhxtQ-NGi=Fk|GLM4`h+RZ`6Pv#tRdOONjBC(DSj89b{8&)XOO6ireovL%#IL7;w2fuQ?1)5`Zf5VIwbrX#h)Ypn%wz!v!$}eJC!flAPWJ`pv`QgPi6JLA zos83%x~_&?F8aKX2$MfWrCr~fKoulKNU$bm4ZI-JHq5Wpi zHN~Z2g(3S3k}|;g(bgBKi>Vov;tg^w+&&s~t{#LMf8@h{$Cakd&l$zh!b>ij`sMFm zdJak2r>+FrAfO!mKCkjWY}qi-+f?whWlrK&=4E$l)TN$w`$p6dY{*nxmP~t(ApHPWM+f~<9|HhqKpz_9k>W`?t>sMxB=lFjik9-})Sg0F67j`tZL&;o+CXEr$@564@=B_X ze%97@DN`my6}={-u5se`c;N=@f({P?-|H%x_Rm`!?QW#{T>K04INRL=knFe0m$rxi zVCH`0ev7<^m-VwVN;~-lc2_+f%RCe;IzmJDd$;haHh|(`+3AdA(LdL&&Yl$~yRZCO zD5X^yParkj7EQO~gFc74KO$%FRuD_){@MeFC9#0! zY-%(wUFGYB`?sbhUEL57z~=7dE1gTzdh>g)AKH0;$!q?EP3C$kxk#$>@hk$5;P~Lq zx;2|()M8OaT$1V2)DlNgZGJyE8X#dh3gab$L}JS#?%@R+)Tud|aZAmzar~+riOUg4 z3%8x1kYLZ?Ck@EumC#V%0AG&^{8|_|5~5}`Gx6pV>uYI=A_41Se)4a6m&ttHm-j87*2)*E!^&7+omlY$shE)Z%e`pE%b8kH-XyK$ zdZ2o$6?zoGeu-wUh4BBYlJUQs)8F>aWc$i8LwoT;3Yz^t7hh0Ad!eFL^}gc!&Ingt zn=b#yZub`UV~ZIGMdC~50l1BW&lj|mc=n{-*4{t>s#!wjVJaCg(0A@VX2Bl=(;%ZK zLJeL?)n<;Xub<@BGGCtKSn2Day!mR4VO6re+THZMaTJ4MZdX<{*>kf$CY zRq0oXUIDN6OS!eQik=min~q6-Js!10`%lX}W4StQ@>0=>wc=M(OpQ%%td7&wty`I^ zet6iv-X5FC1Getts}!Y;=48dkl=umtk(sSUGfgsB5O`hGb1VXo(T z9fc~Q)P1+$V+g_49}`6X#r^Fc1cVv^I&IJ0SyuXVqU__JnW6*w{D%ib{bc<_bw}0D zC~n04F@9uXpLe$K?m}G!?)y3^dugc5HEjWjoaSXe1vQHYJ z*Nn*i`Si^vqCGK8YSza23ur*@m!{4o&+qi4%4JhAZ=Xi3uQ#~V_?W#K1aS+VTP*mewI^65c;lgS|_xWm2FQ27GMh&*P4##ENwb@pO z?z?``ovfzUPcJ{Y*~YKKuj-Vf7uP?RI)7ORF`RI-+s{mlO=gE0<`N~7CTS*(bYvd8 z?00uahMwJNr`feFwAp;%M{G$l5=XyXIPVmMcbsmYhn|{0AY^X0Pk}J{LeF)4PkZ2T zFf^EsQ}X)S?)r2XS|lTLbKvpFcWeHbC-XR0B+ZMedpyc|wB-Fsauadd)bz7DZ$%|> zp&A4V1F0&=y$3JA%ePHe{#o5$oDZHK4*IX(-A&3MLxryYR3ZWsF;xkbaX>z=k;Z@+} z72n<^ZSg#jx!D>#$ZM(9H#AMccxl;ARa1#{Sc11(>hT`k^9C1QbbkUk@$$_J6E7~O zA@MrF?(SmG5~>@)iCc2g|0=iSIt0~ko`>EAx%uT6!l7Ao_orHgFHi|9%X2=jSLx_w zq?1Yy{+@`~1vYoK$&7f_o;DX*zh?Ox(6KUE(XzV?nF=T+vUxnZT+fHYFKXAHCoI4= z{|1J%RfXOT0t3q6hNjTwHm@tx`Ss!2^pmsU`v-T>Cb*(8a#L(tjona$-deZCHSc@d z`Qf;H>K<_*6bg07WmT2TNoW$116PdMcX>$^1Ye(Lg$vLV+cxc8uESptD{W0J#@51o z3T=kjhuM=~46FWGimxhw!#Aq*MbBXi^-V|%Nx+>(J+tS{Uu0~o+#taAf&?!@?(yh| zN!9AZnCEvucWUqa0lX?BZosoJSpADltx3gcF0(~X&FOQwk%Rk$GMnn=qL-JCk88qw zIl{-VE(>Vt4j%d#k2Qbt2XY>VO{#$SM?9&lyrK!}YxO>dNU_Ft6b^N~O@m3L zgLJ{kgNNgc%#202+< zExNw2V4B6Imk`t&%S|!)f!gjT7IbxZbaAEcCcMol7z35m92C_Qy4w2ESYzjZ+Ozbz ztY9mK#iZycj4(lJKBG>^zOsmrr7DV~Ix^l30o!2f?2=Op=9q6fY?@#Ky0I|O*jQnz zd%Ev*30-8#cajMSOAMw8p;W!dumL%dK6-hCJoJ-d>4^U%6Ipjs406S_rx!1m7$n#dYI8RXjH)+5BZjzco1$#?a1gtwxn84)SMfOJ$_s@P%U=Y<<{LmDK#3ETUG?H~iZh#eR44;>4Yrh^|@qeKg9HOwPVZGwN;`K&C*IL87@0 ziA6PeB-pY*3fM5*m;XmnLRcg@`4crU>WP(YM+FLZf^DN3o8_d zcWAZHu6+ww&>f4+3y}Kq?j^QGI`i^&(ofrxJ^wFEf&|R@ z7j->#vHP?E(mnmCXV@yu8;L9q6n_8Eo5b!nV#eu#?2w@LI z@TE<&#g&e{*7}*E2a?lS7^IJ9`tL2K924S63R!ut9|d`00Gbm1JG`zu~7qQvca^O4o!XW!0L`Q=j@c6?;K*Vs1->6dV;> zVi+Lbi2ypqSUolc)nV1RynKB$eZ2pAu?oeYDy8v9p9V9kSD;zI!}#_sr;Rb4;t=7h zr#1mH=yP0n$UA++HqlfQAAYKUf?9L}qbykkr{)Z0Y^_TRzk(7c)zQS4+FCEUk$?a3 zu^0ROAd376wKLrh`oX~YM(`N9qGu8T`7NQ-R_Ev|5~rR!guMCkHC+s2prbDD%aG;? ze%}~!SbKRt8Gh+voFY#SD&?E#Z30PHI+;2#JPA|oA%^Q=M9%hYI@1Y+HyEeJjD*EJ z_1z?wL&X`*a*-8YZ(FU9at} zY&fAlg3M*K<|`Je;=j1hI<(rc{==H&fSPP9nP666< z6yId&m%4%2p+)1J_N668;$b)%(8i-~+bZ#tqi@sAGJ)%uWo>fVu7#VQz*x_9KTYV> zN~j5P;$H{$r?s_+f&zF~R(dJCtZZt+b!s+CR6n5Sa`I9C@!#%}U^;u*+J?12{v>ti zIr`Dc$7^Qa&T4j|7d3UfF}Gc@cyT?WJSiP8bWn#ZsNX@D)w|^ZxEJ$Rva&XtyXliM zIR~gOs)d(2Ve=jUtliMbl%mqcutX;;PGx+@Z+}oS37D~W!*k#v&;akCo1MplBB_8I z=gZ#~c5Zf;7VHR?3SAk&&MjnMi)3eZ0HMp=s)@`6>IPjAPfi20VSczWds@#Uw*xCF~6z zJSh9|F!ZVuaheyhOjnNOUbu)tCxFZ9ZD$Jlx2WYZg6`6_q#x3?*rM@HOMO6F1-)C9 z$uDH2fd{JQ=T`qyOT#s)x$4}tvE_MPm(K@hA@@c1fx&{I9v7{J_MCmFd0hJg@XS6_kgH#+h)xZ;9B*r@Umv8tXqtMkm(jdQxq$YY?o`w`%8o(5rr)@FWW9tJ|I$oX0Q$;x z`*Asbe!lRXQjXY>W#8`xA``?nSc+V4yr>3K_Snd2t@Zpp+74b`n+XWK$@}PeV4&bs z%c7yM5yBg174;Ulyi%#9detqUqL4iJG9AM*$vl1^ba)MQ>r5OzHQu`Sxv&B7Udck%)y4#n5zB9p9 zg885OzN}!uG32E~Cnaf;oJh8{?rm$oP~P%x&lP>VA`SJw|7%LIXBKK8p3RFGb+`M) z`1ii|{O|xlvtBoUI>p35e1o}%+URx9=z{uP9QwKO*1Hy*q>onROw1z&=R6&Rlh`}c zkJ}w`_nbXKq+lz)q0^JihFV$r^^+&8NwMv9u5OhQx3>Yv&LF?JT(A?=$%$iwfg^DM?aN=w|JL%_L;?89 zRh4UP?Y}ii#<+ZS+)YG8nJM%2-#lKc3M)*`74PPB$pFs}D?x5&cQbZ9cYEy0%3F{= z$}<3~Y?S3I)p`BUsoxggVmG#x5Kjf!iQgM<fBYgPyM^dtm}&L@h_S>e%oIt@a{}?dXjmPV>~cj)h2j;61QKwUPdg~)6>0!k-VTM z=))VR=ZRQs)2O>e^O=s1DExNwa$Um>b>qN`V`5%-y^X0yXh?(YE|^!Op>J64*6sq^ z%+p_gmvO-Of*rom=xe7hT6lfs?-$BDnSOP+51Z>!p}@?{J9Q#oeZ3lba<_y+Y0jg^ z|HcDON+H_79Yo{HsOVb>=o^5^(r4aa-{Z%bWm-j^)9Iv))eXuo#8VsVNgZrO(YBJ}dYIisH4B*~bBE2_V+U9GuQBQv7zT-~9vnV~{B;_Um5Dyr5v(b3N?S%sS> zzS@9XEq^C^vhYHwbG-*{0-1NPuDP^XQ}W2DSh5!yJ9+Vx4gO#u_NO&x@=NMG?A-Ia z*?jBhOwcdJ^8Syi)72jF*A&Dy4gxs`0Ohqv1}fdrmHl|p))QO0``bb$ZWj44QCY-5 zhn4h79>Y8A#lscvGU@r-|L@bI{?*&PL)B=HHYEmsM4=?0UX1lA=bxk5yHC#ky!XYV zpqj9XAQkfs;0uaQLL^+|CwO`}Ox9mVnUg`09L%YRgxVdpmVIS;y6N0JU*bk1Vhxk- zcr?2-0M~w2Vns_eVF$7@8K%Z6xS#q67zsw>m$?21-_c-cP5&7A3=&D!8U^}s5Fx0n zZU3|MR61#^wWZ{=m2>T*+Q@_iT8g}v zO;~H+e?}fvD%CNgR+YiV>cs8$B)A`6{lio z!hRUBXGw<0vcDZUxoWDs0tGoaTa;Y$b^&pN)rti~{%twy5#ERb!}KQ=@W^H`4bRs^ zek2q$wXC2G#yqf|`SS@%$>heI%|n8ps`7L%DQ892z%rlAAu_S+cf>OY=smvajjsKM zn}N`xxIP&en}GZJ*8-|hDpkzBHNo8NsJBI|6v?{NBT z1xfmgON-rq5Pv>r3^3xse;+PO^aJZ#(9va3GCeqev7LHV^OEl?4}XGaYN}k!dGEJ=O ze}FHOxqZAJsC!BR0povZvXrxf|C6Qn-uUJnqnhRaEDUC`@lU}fOnn;1)2G2i2ARms z8%bn=5q!CM`B%Wz)MZV?t^6Ij=}4S}iJll2&vd%te<)d3iI=fNz8kUaqc$rB3CLke zS5jJ^k0$sSO!$~Rd><8po>leMKPCJ2Bgi{ciF6YK6N?qi+0Qcoan5tr+|+YaG`+C# zL-`9{MKGpFo zcx}{Fx{HT}qt<(;{oj#-H3m7`d$k-{gS8%$ha;g^m~yt6JPL37zL06QOZ9N%2<_*ebs|izXve7U|;Pp zvM&{+naD+!>0tyVi81oDqme`sWCxjxnkP@O9TLFEPL!B4`-@L> z7MRQmWWJk*Ul+4u$nu-|L=O0Tv9j^;BQX@x3HnO(vMX|u1b~BGohzFh zhd-!@G+w}mEcvM~c9k%vz}UecMzJ=VyRXXZ{0mhl2F}_pJM08?YwrwJsZx9uY_hj7 zRA%;xb=7CX+Ii4sK4E#yRE7esimr{ea7#=O$(URrpHSAz@#`-ZuBzoTtUgf z#&kb;e=#+V%%?~6o6Cw&R2#RuT`+M9H8X8uq`^XzzcTAYYi$eCgMPT2g`pxQ7kipR zH^%3kkV~&cODqmk;)h!A6_M@_&HR(N5kX*l(7^8;aYg15&j};DmMN8y0&3l|ln)NQ zP!N7YTDuMY6A=ovPZl$nJ1+aRP2ACnTG9XEl&jFmgQ=&g5~q;jXi4(MHYPpoE0-uq zJ{C-+Ay)1Dba1W4l_C#Bp35C^fbnwm<*QlC>S#%CYzDnIWeIw?7=wb|m}-=i9{4r@Ypfj5@qm-MyC;E$Ioxu z>Hz>PbX}t=v>omEMo%pb^<3sC5$6auv)aFN$5W$g&U#reIQ(H|N9*4ZT%xnE{wFKl zY)kMxs>TJ#_i)+5EP3}Yx8O5UMY}-)YA0rEt@9p+!uOVim(hrTcT~j15>om32iu?S zyhF1722dzxiPD^&TS-2z3_#za*SkYJe7_l{ASxI+?_*s9tnvX3n+g$%(jac$DrQY6BjxGxJ z&9!lFGYY-9-bp{U7tfok^EjYesG}x~5qg5WUlD&k%i{d53&TjVIUu=d{ZJ2@km@UJ<8`RX@ldaOi+G z%Vhu2&#GSu)Uc|pS3E8?u-2yF|2n@D03c%}gYRNY-+gv+Gq#*k6*nH+5|V!X+Gt`2 zvE5aJm{sVxxwCU!GwFKWlUMii=Pj;IdOke^-TPFXen`mW#re3iTCD3-n~BCw8{*n1 z4+-SRMz`L@xf_j%iDWCaWL39v|A)5lJN#E(L|;U&X?GfrAbig@P9f0V)Am$RwSl8@ zp=qI>m&essOZr~bE!6Yf>iOkK0bEXccih=9CAnz;x*{@X1@I$3BvhLo7Sn1d8RhtD zGs;S4a>UPUxR0qt#w;~7Av?tcT;AC_2)sy4Q{l~O(|DKG$0`y(=%Nh?Ha0{XDwB9i z(3P{VX-5%^-_uOCEb>h&}yPCm+ zy|SRE2Y=AW!gYfzAPHG;Ja<#4)2;3p!V787#ro`RAL#(Z8-}6plG}QfM)gZTQF``lY z+ETZV8=EoRmzMJU441@mi5k}G?()ub^15y@5%;@(yCVg#lBJII&S2wAp}2^Vjr7sg zvJo>X&o--^DOfS2xN}d&mH7w7}+3%26sguXV$l2U|Dq;avPHE<#K)CreoTcP(OL zCi&u1`osBL&BFfupPByE-TIKre{+a^AD5hFJV)AZBz1Lv;|+}=xiRICEX9_IGynza z?(S_L<+womG@#^qP5f}X6R%7%vE5^*=_|vZ(35=`Ms?gB8g%o73Ol0u8A%}fEp+kZ z8sXK$H5_?(=IbM>8&j2_nwCz+vbi{q{k8zr>vZbZIOAmvgms!4MXDm{?6+3NN z+EzDkYg5Xth=QP11m0B7b=%{~*_Lv7EVlE@iOSG>fN#}ppik{f>RYq3;Kl>mn`(NO zu0$fNe7v&qN+1Rw5d1Zmi2UfVsWVOg(;#nXK0YJ1E+ziGy}J;p{;{g93Cli{hGu^y z4;XtSe}a3${m<|H+U#hm)Bz|j`iye%<>H0Vx{2xP#4D=pvQe|Nzu-D9>g1w=7YE6H zzFvx4^TEb*)`aF`vHQosg6W_~s)y&FuJmpJyfbH=n|-TbX>D`gty?=XxrjkV{B?KU zq*?bB>fkV^N%~EC2c-Mq1c5kxW6U+sEIM{#iAF5A#SckINQo6Dv>Wi&)e|=ga50=a z>hJIm=6>od!#$3#H|HgQy5HFA&Kk{@ZS}8tSeZ7sx-9RXpNeUoIk)6bP;-dU5(Dm- zgejP!VXct`EfH?|eZy%NkK@7#3RUQ~-@$VNVIaLUg9pwD)t+Z2fJrr6Vyq*bUy%PS;(=I!8YZMFFOf1yl#RnGqD3_@0+{>euqx`%Wa+=~7sxSK(bE-vMpR!% zV;*|Cje7X4^?0VGsj0Oxk3^cu1m1DPDLUM-XlY3Q-whqGvkMK^x!&ajGdV6+v)Hr5 zgUC?gxoQr`XH+7~MWp|Ncit@mA+w#!KQmD9hV%r5Q7y(W2L7?-L6@Dc0$1D^?tE&i z3zhE}A$bY-0!hg35pL>~j)Cksfrs^2<05?XN?0&33{-p6I=OuXJPiJ?@V z5po{VTiq;B2HR>G!>K4_`QT7nHj2rlm}WMxXCeGD4nH=Z@Cd{A1~!fWS0|=CiKS$E z{uC?5ZXqhtIYC1WR(lZn(w=Alie7RF?BF`H;S~EW@4wDQ!u!p;B!UNwlvwqj0P$ZX z%F`(;xR+%<`Kq4Rgd4eAgJ(%Z%ds@zzHv(iyS10U^i?4kZ6#*PO}v*MNCz63tv-;# zg7ve9M7>n+FuKNK(0_J62%aTgBA4cI@>IxHXMHpxhwQ;NwS+f~8f-6JG*m8wRGRm` zl<|L=>52LRjfQdRe2U4?S;6iY4`SY(UVp!EK781!8a)M4V#8EG7c^;d&W*E`T)IXu z&PYyw52tka(CnpY5kXdhal4q<19c{wJh(C0f3Qgm9%eW$jhUJlC)E_EC|jq`dEsqcfzjITQOV#>Nyu zyEQjQ#-hBwffDk0CO6;ZPCNZ1;!-a*Ag|*xumiQ-k?$Nluqc z3Ob3YBQ?D$P^KdtUR5#jBFDbRPw4-!#T^f)N#6Aqh4S@;J5}U~(XpalY_&6dvD}dF zjy8YP203kg4F~;E5uHF1GIZvw*XE*FLnwz%eb zwXaOA|6J)oOao4?eRh^C&WLGsg$_5pW<%dukrPis3uZ3c*4CG$9C6b^E%Q-Ri&K*d zG1e-ITmvNHnMWc&UAzmz(#kngPF8EnH{!z7v@?p6;4XA4k#K8t3nnpzPMRp|Dzt|Y zGjfHcEXE*GDx66I8yCBR62G+;i@ZW8&GyFx|8pJr9FRm0(l)pUub73I9I6D0dd99g z(~1#|Nsh^HR7PP-6J(gcB+rbQ-H$mWJ3DyY2$I0t6y20w>W)t#5Y*#yZvVDV^7R`i zI!uo27#X!iX7&zGm=^DVoHBAdHYa1ssI2`9PyZ9*a$~$V%$N~is^?`HKDFS@;$_TfBMD&0EE_%# zfPXA0#;q|T@MI=dLNqyl!tZEZ?XT^E?>68$@4l`<=-o)5eEXPp!YU&Lc)%6luWV;3yn?O z{h7_8^R=`mC6tqw>4!DUedp_E8awz{dl_pcYEc zH3-6Le8$3L!#PGkRl3xQ9{WZv&1A3H?Mp*K4~*yvJ1r)MvVl%^g$v!=fi;G7j@lEm zWWe7c^c6*IR_?HDWh%B~Rbe`_SnU7{^bH0G;QQNaRYn)(hbwS-B?p^>M(J zOZs;A*xs&O9lIQ_zo4`Vjmq?(#42@L*#<&{<4G?V68)mt<|?%`-&!{CKn*7qv~!)v z1J3UOXy=aTLKa+|kx`56{(P-VlzwQLqptvde0*HO$IfQVoy(#6#jlMm7FgfxoddBK zn5T5;?f8NpnrHMD5-0nMl{5V(Zp3y+!vuqjR19>gvkBp59;Dw&(R3s7M3pswJ0cd-b!TdUvKh^ zQxqtPp6;EmH6I^t98W!LAmeG)Dfe6WBzB(c?e1RD^xOrcRcbpgwyuYq`@oH!gWX#p zdQ~Iwegl2JA<)mmQ&lpU7&~;JMLLuXTVRlnN9hA@z9J>It#7QP;&iP0*ty zI~l5y>T0|#X|Ar0PMg$L$9UbTR*2D?!pvWqzJc%%^o^}JJkM^a*me07Aqo!(3G%+X zIPW}da+#}qVfgO5IvKQYyWrOrFCjRhOObQ*Bx;^bp!+x{PDlHzaL3&C`Sh$L zidg#osw|yd*+b^J`bmMuE@fms-XF(bJ1z@R<^{YPtM;j=Na`K_$yqY;XDc<%d!`1qU1JEjt2Q## zS`WHk+uZz;JT>~;;#XdFIit;ggkpJ<03DGu&?A%b{AMmMYyP{?L`02;5WS){_S()1 z_lpbDnc0nh**1p$Lm(WMX@^|yg~9FdZBHp)^xy4m2vtFYCu}(kJWyH-_jAZNJIz;- z!$Z$(58^;&o}IC$7jPuS`Ap4fxbdlMw%7gpQj2J${5xnh0SPF?vY-bxZj{<-Ly?i? z&$hp0bLTaRJ|n@yQgq}uZ+6MEF{Ec_XeFJV6vP?OOj`?qT8DU@k1ttOk6if(51cJ+ z#LCBbdfi>Qx992Wp5Dg`{&)4q`e6C*I3iE%aL~}((~~2i?i|?(gY6HRF70178q_Zk zVhGcd`jHMr99OxzG#IdBcKh0F%iND@6-r6eRqIG5kR-W_8MPiFACh7>8_yKA*(0n4 z{v~hP`-J$MpZj&x3H~1YwLSP+uyYw{x_*%GNlTOQwOw9o;uhqkdS0m{)bC+#AvKBl zc}QsRhgjgL8x$Gr_@#P+IvAfjeCdP(N7}ow|D5hEzC0Us$j?O}@*r{Vgn$~VZh^Up zW$u3O;_%*N$a(xuvhRA=-NSfZ#e^>{gT#BhveZ}Ad2KsrvjPpf!K|L!n{%{z%9gU0 zX3^sr`_k0$=rAK=q4Y@%@sYcmr@!Z~tACxM^##MNXQ8KlK#B?QR!A5Zu0v|^-<07$ zF9ilW2LQ+vvbSv>a=$iyHqknV^iP;yH(P7}M1wdv?-X_8K~@CJBk+c{ZcwgpgKs`Q z+S~UY88*6xinX=Wh<4Fgk0AeM7-;@9AXMOMvviThmIAxcw%VurjpNgzFg3S2H{wccYAva=E0};o$-4?Y>On(5nr4?P@xYs{vx96 zU_vh)GOe$z{vTU!8P)Xv|Njp}7zolOJtmEWlr%b0Nok}z2GXU3fD%gkMjB~>fz;?O z5osAc5F`goYNPqRK3D(W|2aFm#5tU^!(Kd}kH`IfyLG&|#^p-6hEM3yj&`;jcMd6Ot);4jFgy}GJAPSAx3>J~D{kFJyadZ(7&=mMu{sHB59&z+Wp#bXCMpSlg zh2_%+FiobZ`{TTi^CNaGz?kWY!jn&F%@tYmdpH~p*f|Cd`R`X0>P$TULhjDfR!Tbd6KcxRI$-WH3MCRZVvAS*H)r|mTEtp_Ly1@!k_*iQ%VOXCt~fT)9Ae}vd0MH7q}De7 z@cnBdZrgm44O^J5mD(RliGR>wF6hJsvGg=k@t)0*Or?-bkkO{8c_xQ^eS2t|%HLKIC6)}VHWdmW9&DfbWG zSgeqy+A*kVWrK;nl+3cY&Fh@+;`f4 zpbwF}gejU-{j$8A<~w*X12%oC&3kvbjMd+A5fZ^fUi)~m=rj;OWn^gO?-dvqf0i<5 z!RBt^N!=%G2`uT@0!=Bo-`TI2-{bs4=Xrhyd~k;f)X8|}kBzX=_=ZWeICJ0aP5Kdf zf5|9A7I|&akKc)Ad6^eI!RifRt8Y~JPGvy)@b9UI#+~F)J(Jkhd&QF-;Z)M^ay;w2 z9Q@sU(M?NRPB_2H{s8BuJoc{<^u#2LS~4s>Z;tNB5=p;V+N4LC3aD&RM{&MhV6`IE z=^1tEDie@~GC&M?xze<&oJqJR-zS}dgw~oQes$RMK{OEe0Z>`3uDE;znf5=yc98Uga-xqLW6}s`AE>58 zyF7~A{|e4nh&YBQ^Li}4a%&A=W&e2k?8W{y>ym-(++=5LfmjtsfA#>h{SPtCo%BcK z)r;yNaFp%iC#|do&FXn@9NS8`Nq4GLN;*u7T2-HQPZGk;U%vV-ClwSS3R`!>v6cp8 zv@=%yHwe@JB{X&}JlbxFmcq<9YhX)Mfoz=c z9*3+^rvP%%`=m(4rEw~V+ZI8(9RabPe&HGnl$i@y4JU~ijlA8~nuUx(H0s`TLvfRY zm`d@;04UO*7Ap_>{M~48P|Zm$6FS1I4nBa zo0X*bKEJZHz^ggxeo6SEF`497ah@r2uE+19SD(U4wA1@D@e>MuR5InS&&dWAu<)0% z7G7I-KvbNU5pVC^DR!kXWJSwS&$`aY*HeCtwmjQ-8}TKb>@TD8nGPfRi$=_42J)LG zKh&|Xxq1Rkj7e*e0H<$7xL zS^FjR*N7l@1mf~%T}6+E6({G{M0 zQD2^*#Ed<&zm|T7%3({M(^XYfUjqIKR9@StgW=OWf@;m(NqC+Lb1lcDc04msHV0*w zPR2u?@d;TG!ubikJxts2!U-gYkzONHU-8Uqk{Fnk~Udsr2qiqSn-~L za{WvzDL<5WC=PiitF4lYkieBJ9ikT$O+Yk}5Jab^_03^|BZ0&@xRQnlL_DC33I((j zYkZQjYQJGW&nntE{J&cow9jgZ z)gM2ysm>~Y>F4v>njdD1Bl}SfPN}G)!D-B4C_lwvko0;B{oa6dNI6Z%Z(qI~da%)* zXps<$4pkOi5Y=MI%7R7obGqgY4AL2Cg7yfcE-G8$RQj&;p5k8~7J@S+r>=0Df#J6t zR&S5#C1zws?8Gsr3n3;grPPY@Pxvuf%xME1D>v)dtkx&8GB47n%uAwfDk^e@po#b2 zPp%i$#sM<-8k1vHk+}Co(DAyAl}@?P(Au{8(2H#ejuHpMK4p!KR*&78?-`1+3V%yS zk2^JwL^{t8)^?FABl+Qe$pdFe;g^fjD{s1F+Wui4Ph`)_4U@?-r9wa|C^(;G-q8PaQDga0DrOfy4JL26SEQWnLM@Q zxjNPjRtTn7M)Y!Rm-<=2szND~eC?zy`~vRn z`?#y!Pn)eI*h>cL?aGh|{f23+GDaP~u?psmvbvg_E;E}7KR&Q)L{gWogrEC#m}c^g zT}G+BSsD+dypK3d$i`r1y%q+9jAdCIIKpxKO$SO>qe|(RDcEq3jI4s9qU;jD>Kq-x zT3cCJi_4WX-etw^^K_s`_i%Or%kiq*ACeOD!;U=a+8!@3bFi^-5|HAx<=a|2%D| zvHmx0C?B8?1^>Z{Sea-U7JfyPZ84JWG8uWKp4w46nuW`>x3=41fdb&w$$VP-N@!rP z5eTn-y>o8i=oE=@CQ025%;h79l&U09ZrSzc7y!`Ck^Vm90|o#&4N z%tuX38?wYO6wkLjDyH-ULfS){zI289ZssP(%ik-JnO}Z_RxuT`ARWL#e=9{3ILR^`(>K+%1)lJBojK+d zC(N(mcGVs%N=drxCXwi;A`((1k^(;@PaD!@?j% zCzZ$2f`6m7l14?_%va7Oe&X?*niWVSe8A?Og@q@bl<8+t3si>m%swkiegd=lbw`gC z-Kmjm0bfP7lhJ=#*@t8O3E`(WBO}JNNg3Tx?;MJYx3tU#KV?lMKQ-Mrg+#^I36b>5 zV+jn5B==foIY1F`56ddJrH>`c*UsTko}D2emZ)kbHAY<#hDy->Eo(8;XdsXXiGhM* z?LHDjv{obhAyZPqoJ-52o5yC;Qe&5Bn~3tifBG7tfO3v;zio}btWC^Bm+zQyrr(W%QUE&4yL z=?b@aG@_FCNu88hc5r$+>iSy0!^&kdj0WK(y=L*bFd~2D7dGpg7 z+!4M%5Mrz;_aHIweqzW6^@r05|`sn}L@N)$miFqFZ?3UvnW5@ZGoo{@tEt#X$ zp1MQpugWuP2Cr|@)XTOqyvD0*LZc>w@CA={XMoM-TmAM+06meK$Rg-ywnzTK;d*|+ z=vnZ9Oy-H?A*Z%ZzLI5fdvj|6UuUaKSMa%8cwPQJ8$F7C129UWs$XasSxOu)+D_{f zHn?21n%!P0U7qA$Cs-GIhsos{`G1oDdfx88sVfd`l>384^7eGywz}R1dn;HNA{Dz@ z0L1j6gP*T2j#ue+Z@zwdWbr)vo8`=-@tK3>e2AJdx~H}3Luk}+Pj$Va#4Aw-;ZUiJ z+2^rqGW(;O&s7xVm%3UyTRPk89G?l#nQOgokbaG5Yi}{jP_@sEgtfoQ?V2G<(&fI7#(uG_OI87}c6r$IqYW0LYxjtov0aBZa28 z&?ujIE2|gWX+n%6fZwL4zzbph$OQJKBoi;6i~dhF(=pTF=aWT@bLGtLXm%6ENQ@a9 z`@?1~|HWXu-?D^jDph2ocGv73&{huqqlWC1mb-Eh{Q%k0MRjLbHtlvXqvKnM;ZO1p z*Fw)f^hKhGVeTdMLKamFpW)^v7Rp?$Z5EFbd}P>J+1XE~s$L;JO_|Z`Yrl6bjtCC% z#dKKKF!&oa7)A2EHxzlECQ;eG^lP(w0tu&DV{m+uFY@2O1FCryGvnZz+hN}Pg9BVR ze$nK1>vsC~bai#R>!#**zek_FOzXSqc~8xs{}a~)0-X894Y7Q^eDP~CfPBkhi_Hh` zcUdZV{}(%Hq%?sBK6NYlF1V zJr9VLLGOP2i4>+*GyDbW#_NV}X9yzNCJP$j3ZP()2N139PNmJ?^K4Jm=T=@i+j--k+lyQVuadJAXUE^{HK}<#5X%h;+ ziBsC02`0&?=`L+*z){K4;$QA#0rDH3uz_AqpCp&l4WZ$BK0)A*9WSIO@QF2S8_!=> zpZFPamqy+q8~kMTz@)enNYroqfg zGIZpY5paBd^jR3TZAm)vk*eXBd8TJd@=q3}$vBJf-C*-f)65)UT4tw8bk{lu^IQCT z+NBZNVva;-t`yHG>d*fum45Ek4gZS@OyNj*6W)*t^&YEjPVU0}N&2^$+>0ZE5BW}1 zfeX-`GLLg%B0bQH@~6A?@pJ!Nq+%S83w;H5s`jdYdD^UTgCDuB|VXe1vGZr)#?By{7DCB;uF>2@aC( z>LprSdJrSVc|)RZ1k3S7pKE`#mlk;K%hwydf_D7uSZnktWPA_?V*N`IF9GsymRdKK zjs>m0DyaEQ;!f=Xy9@p=7fdn*CX$z-8T}F4n};~vYd0?D*W)XvQUJFhg@s=yfC%5; zO`o)h%j^ggAln&_^uA*VD~QOoCl2@+I~Vidj#~^3mAslAB?N*Zh${%f-i?gZP>z)c z2dONasYvUEvkocGArWBlcaG|0k}$qs9x+sW&4ekEk;z6q4 z^n;V^!!LVxI2}L8bJ5s+uG)TixeNl?SR`wry+zltGP$eSs0^jL#Ka;SK~QC|1A?+w zMtS4f*a<9D^^rKDq6*<_&QJSr;wf$FI&?ePFBLl0XjIRD+?)GiT0D~ekv|c#KHrFB zpmww?iD4@-t7u>*A41d1PQl>>pgDaQS^Desc8BXX;(1GGG=t-?a$k>2N6sw9AWa4X z`ZAE#`y~|#*H4M9|1XCUn(39L)z3W$nrQe0ccT*{`_h8Q9`$g<3iGLI39?BVX##-J z*nZRpA`2KD!xqArIHJm3FB3W(-QOrl>|AF2>({mSKRN?3V=bOd8Ycet;x!)r%2RFk>Z2%Yd;xo^mGTwPVBICxr{hN? z6aHxKkS{IMbB3dsiH~w`Lf--<(`KGMlDDA zNkHD`s&olxQCbmw{!%JXIy)Wp$K}>0P=Z3=PYk38T$oCG{c>zL0OKUSuC%(`n*Fw@! zaW6Evw3f`UxNxSzg=M5z+b%th+1BzuZ3~GpS#MNZE4&KcAQjBcp^b}P#8hGmzhuiO z$Sf($vG9T?d zW^~RqV`=EuVT$%Ce}bTp=|zjZhaHozWmpwMk6bPeJl^^qUeCkt!CCqMe27BqOKX!X zPN{TQ>Fmg(M3t-e(^eLIY}w( zV#k?7Rl{>KF_c!AtcsPL^*|})JC@0wV4z8$E9@W7cEXPb&9x6jAKUe--> zgy9a$oHMWiL$q7%&%7UW#6U3{QB^qzPloBqpsjzCDwYhVZcpZ!LwOOW*TemV?IA!7 zap2r}oC9$D9kw-P9Je`o6r#?-MxHd{t&ElC?zpS{CXo(!W2w9@wd9?@nqJALTP81? zs;6W=#lAPgTHovdhzA?qqpIU+Dg4ad<%rSO1aXvEZPi!*!w9?H9gn*hWJhG?tES-t zgZYs)PumgoLx4Z}`s%Rg9o*ufdT3jQmk1p*^7Lf)mpS`BIetxEGmTNC^HAqejVG01 z*5;2B+)P{c&aeOc8Jwx#`Lff~a(Q`qG$cw!d$aNh^(paNI1OySN;tj{zW8tQKU9cRHi2>; zUTxjmveC#$4ntrg!Ca{!7m#H$#Uim!)&n3NHR_hpdX?p;o&HGItlUFrB9J~hU=W1u z;V(O^l5zvl3C)Fk&h>3V&xg{0SvorOd$RL+NXNgtdZFj3M4+D)tmMRlU;h0eXD*3l z4dST0IpEX2fKNhSGx>&xPoe@3wX4<%4k>c~v#{P%8!gAraT|?^2(#8^h z96+l)Kh-ue>1)o|ibEalZ6f*ZmHe8#(fDdDQkfUWfn{@PN!AaSwLJStLEIKhH_tHq z^W+G(d-Y(qG*27rIV*PRwBcsCt#qC?ZnSW$4O{?_V|N}5K_O;Y(2gJTxS0{`j9*JO zzSM|Rwv%6QYLag}VIGm(@F2UC9lIx>&Hppv^|Fj53VHa+g=Ir73XSeLXafv~U10_{NjE+l1GG^m6$K>V=h-V)PKVbc zD(Uv=ZKb7c-`sb-YRbHGhLQ&TNxi%_ql7L7YHs|lPYyAd?2-@IuJ93O>3sQMdF$E6 z)!t#pc^>M0w(w#N%VnXEw4t_+yqW7j#*CDsuCuGdY4xPrqZ+F`%VkLfH$o}w=GSP( zz^G7t&X(B%$F>C9$ps1Ax4DVLvEF>?G)DU+!?a*-V$N>m52lY1juPxA7dwT`+O*{+ zDGj4V>b!l!(8q1lZEdq&R)Qnyu3l2s86wtBBxSBy)~~EzWB{8f@2hu zI6?ZKuANU0U8Vu*QeeLq0Ek@HYm5^r6J&l`I(A(jXy3!7>FVHtAW$}dbB@yfDRn?_TV7zf;= z*(rTf1>$o^6j)ESKWe7d%sT3uyrU|cw*h#vov#3mPg_NWx$V%v>-J*+c_T2zlepft zW0a-pXtX@KWn{KI>crFA?z}MgS@msj@HdK&Lw)|WZ}7OQ$s%>v|A6b94140yX$S=f zZlPN?>zb99OCQe;Mn^ItI*@yu2iX+oyFc?ah<%(-O=dFLjz-E3&h9>}q8c zbEHRCW;&o%Mhb`G@}ex`0L|&%1ze+;FLAx1>S_LzSLd`#9|Yj0&mkS}f12rre;0jB zEqYlksQlISfoRMG>Xd6%Tk2Ye4r{?cn#YU%k`93wkX>E&sTQ~UDl6@EE+QSN5d_pl ze08W`4haK%4>hO3)1PulKQx{a6%0#Cd9WvVRcJ+jhS&pX&OhJ}RVAKx&|5Vs_?N#} zbF5%Ucw`4S{x=A^^!3Si{r6N{u6I9<$r=&NxR;~u zz(w;K=|})XB+0cmLN8s+BBG8ta}M!+<(P88sb3L9KO_8&O=BBSO#ODTuwribZmZMy zPd|N;i0XS;g=1|D+eyjIcR~0D-N<@wOb2Jk*0UxrZYdhu7pXtYJuL(wT8D!feJmed z>Iu##2H$hm4|~CSo!rg&^gX_c9wZ2%PnPqPPSc=vbu=Ix7`tcTM8ZUse?a$PJOA|w zQ*>tIQ&plp0#<^5m%Qk5`_t%yvZ%XOpIYzG%Rg>->z$k|jC%NuKo&$ry4Vm=v!A9Vvyr5dpwQ`Co%RbDdyb!BGN~&4peJF=hBUN`ge8FFSt7Ln=KvxXNP^B8xgSG=jCf6Pk260U+2YgS+F;av)bAYQ8 z6?%|dMX~P}o=e0)Kncm?TV?Ed57wa5aO~o@wFTQ{KdK9O+$hIlJtuHJ`QV`jIV>`b zp$<9EG#eCpg?(o279{`?2f4s^3+O(Yj zla*dOO}rUhprYInn4Rb@jLU^Wt4Q?ywu~)@4iPmc0hQZF0CWCWbTMLpJF@A=AE&qu zUIP>o9ZCuqq4^<~wgQP(URSZ(?AIBL=rS;(DR)h~`{}C!&s*TZ&c_i@G=c z16%s%MqMJoLH6P$oK;V`z(^A;B9>$V#9n*PS8b}t4IJHD7isKTKV?w-Vx(8`j8aoM z^iVjoTLbijNC8rz>>W%JiBeUD6-ki(M);%3`e1^N1cdaAj~L8VJKh+kZ}_x0P#38T zRh$AF{Y3jhiFiMKpugztQP^7 z82CH?_;Ky=uf6ChZiwv(Lw~$8kyC4i5({})e0x2loSa~QCtgy25ec4<(B2mo_@oI% zIyrqHclfAD9`Ej6^hwPQi8k&Qj^u^X>AkS+=Z=aJ#hb-a>)lPvzuOH7RpC5&pA)D$ zQ|OK<{Wc}^5V0|o zbW9y=6_IN~LxLrC@les^q~y^Uh2>sV{g}Pj}MM;lha4Tw6|w|$%ALZ z&bqfw5;E8*I=QMo5U8G$V7@+?27VVw_|e|#d0NM9f<#lL|I%{+TBqX$Z&cG; zUAj8hr0lYmcJ%kg8GjwEd-X*lf+&7wZKkqbW-34ILX5iO3{YsD?%{T2wZyfX=a?zf z;-;==v19j>@@}y=l~LjN+ZzsaN9PZ~ng!8;Nbx^hV^&rO|6eEQ#H8cZ?Pb>)-ueyR zQWkx_rF47B`O{?9#BsU6y^+HZGhZdp6>`Zl5|TE3oiUAFJV#g*G}y?;dA0CSQtBw4 zpYh%XUE`Ls>wCr=esg>Zxwgtlca+S0;bh(QO0xNKdp@EvxSd$CkHe zwDNyMiJbsHAYC)=EZuZ%n+nOv+SXHTszG;L9buw*IFy2=SR`gMR`&Y27Z-eLQL%&K zhU~B0;YHC#ssByT83l(1*M`a~UJnmNO)q!d;u3(JW=!^FtH)rJrV(ORm7qKPqB39M z@{F6ex^`db`VR(c73Q4&l#tp&dSfkMcSMbVDTbtsm;LI0InA~%_2QnH5wkTECQANB z8n}&mx68erbenH~bAFxRW_F5Sxj6NiB&X!Dg4*%032z+$L8{ZXCIQKoxHL?afcR$~ z2c|fUZWug0*=LFS*w3qrW8Vb``rsdoM58S-9Ohlb19U1{8B)-%SBS%?0}^LD-wD-r3GM0?sH?^LM2B@%uQgj#@(nfF(~Q=v274r@#~+(jd;6&0<3RP71`gv?HOKPMffMtaJQ{WWxRncZaEGdA3rpJDi{ zX4allq(b0oaR;+_zVF~n0wIV&dN4{?Zv47`#KGaWEM)7>qE6hae^5kT4S~s9Fz;b3FNc{W)Q=?a)7h<%W!>-fN zGd1HpE7>Hp zFp*+L+h8oYyhfX??6ptUry(!rz=VNifD&}{%lhh1Ok7%7z9Jh(V!iy+Ci(5k4tB@) zCV|pjx1-C4hdm-n*H!q0aqHVZi{~EI7w2w`YetPqPkwQ4R6-6PRa7>7%P#dy1`qh? zo5a?F_D^^Y4~yO$W`~<2RxGOn11^iQ&##W!uz(hBhkqF3n4%L9n5QrxgV7C;kvdLr z3uqGmmLPGuwtcXijaj)`hK}Zi;kJg(|8d;nvKt%2FLuiE<->9MvhB?sp@Fr~Ts@+U zk@Ni-|7k>?6o zg2E?O_5m_X7gMpq!&lW?*XY+?H6m*q3X1KSGZ;r|-V|_^aph_2$5fA78*wy-@(4hD z2Eu0`qLBM)QS0hJ-%sI>RQy{r`x?fCq6+g=&kn%`@gMqCQ^Qa*gt1Dd{DV&@jQ?_a zU|i<6bYI{ZW>4(d+SN(UF|8vQXTch0}5)Pab zP{s%^%fjPM_I*uRJ?~b5=Npi%<&X}@5ysB)^Qha5DQ2XJ}HfWZ|TT3`813|PW0@FSy#?s1K#Q3>E@djjZYpr(F={nAR5zg%s9=|JWClsgw=WSRiCJzf0#^C|W`}q8xIKDn?9U zdmd7d!t{5Kjy>;Pa}tu?3C!Z1SfENp4K5(z?x4~~YXZr(TKqBbyA{0=>Jg?Gs>yA> z*qQ=b*MCXmtnIEEUQ>rg*9foS~N91Ok=ds@Zr#clKSc6nQaf4u_>`PTay+YJGMXw}V` zF;(?r=l`|!(9*C(#->U%{g>+t$@wm_t*&7~EKpiyjXvGyD08|D3Ds}kCO zU{xr7yYkb8qdQ;d?L{^tm?eHu>E7cjJ%dwqwD;qQurK0gVUo!lSF29ET)(QjN%{96 z-9$~aBuz>j49_mOew-4#d(U#^BIhDK&FNt0z3Kz*p>i!2?P(IWy8p?y{X=blGWp7# zmrw606@+SVmE8Lxb_IUV)VPoICwWp8O3ueQMR6{y!&^73M;__PNhkBXCA?fpEWyJ1 zL9f$&Ez>u5s{0A%o*IH1{=90-r=fOgv-~SH{7R|dO|qVUyfl_8b^hHm>wY95|9yCDcT8qkxIXwb_Dmffl)YOOO<=pE7lId2xSdua zQz8}v{%3_|FLPwdvAL)!1#Mhf?=bKYmuT>77t6YjkZj?@V6K5`$i-iOcz9V&BSSxc z3EqX@b6J03H(q`q$P)9UoIEIPWA5REzgQXmerK!_zl4rD#=RW%0QOM~_8SRT z-vTw?Ur6lPpC}glvWg1F>yV;iM5y=NR5zoZ6z4;$wFqLi86?K{EE2Q&3LM7litB!Nej&g{}Tf1O#((Sb0tZ@Z};g znSDks+gO3xMms&VK`bF*IaTA+XXV|&f7Bvg2z6^O#)|rRDuP2Ff#L4VuJ?9dX4L=S z6Iu>oxly06>?Z=NxI(pKBP!r5?kolx8bajVu%G3o-!x$Im#?kqjJ;HC#b#m!64#Q= zDI(NZF!N7%BO;(Mp>D!rJ(j2*c`ex-N6^FqCub65z|?Dx&SP zb>-8dY`~+H%7+}2)Mm++84;&dH8P5A7AAS_&=6PeVQOU5lGBP*DT!v|XLD68?h`Ef z;nreMTrc6ZfE0SJ>{HDJr7io_>4s^~a5d1LmOwfM=sTo8Eone`gF)j*d1B^o)|*c| zy_X<%4&;Qc@E5GAwTCEoN4jrFSFlP->3su61pS?+YNO&PzPkh;QIJ>kcfkq3P%D-) zDcVJKZ>~|OFgfCz=L5DOLde=jgYHMB^X-AlUK04VH>9MR%xrQZ1$^=Lh|j26h%j1i zF=*C&9F|_3$ypb)1>1pY*F)oDH3+EUzxyJ^vZ$E#-Q#;pBA%5>x*GORh(CTuqpXZb zud7z2A|R$#{hL#-jcHeXYD)t`kS83Y#Dna~Q=Eu#R_)R}47SwR`8vj@Y}FOL?}(mi zQ9aoD@kNM(ssKJqY(^dT9d71ItFD>HtKIPkmC!8!Atn_gkzmjdR)Gvy^*<&cyEIkr zUAr@*S>9+2%hK?8-plh-k{@G1r!n0LxEXo>r*Y(~J#O0xv<`pL(TUW4u7S1cXzgr{ z2aou?^$tUt3t#l*i7x)UAKKBw$#N1BhdSO_Q@Yyls;==`|CJ*zI|U^nS?ASFy!$3g zZNSdkH+XtneJF{8*DPzpHS1xD0qC`4F5!;@^hAHqTmMJJ9WxGgj;Rh4;TPxixkcCW zmTX(DUc5kI{W4dcL8?|m8{8zZK)g5f$$>Hyz$R;Kjkdgk61 z>)d~q?zwj(twbdC_n6bAvu-CJIG_yIYtAl$=r+*5?O_i)GtBK@_KRK z+Vwn8MjP@$YH4bXb34nQ;231pI-mci_0j{?9YDU2wTJC!?)+i`Alw}-GlKskC%GOO z!OYg6t2ReUJtWn@3w3?q{5QCU3`b0*+{233)jq=RX9FVP2S0H(G9j(uLBPFmak0(L za`63yE8&;{>*!+0zI)9Z{Th3=hYQVh@^i}sDKlU2-H;H zTHhw!-mIOflI=M7=<)f*hv<8l3|t*mc-|wdu56@Xa_G>n(T%J4T2b&M%&)Gk?K!OL z_98*4{c3kNWFh@N+qbN*F5g{m>aDM?j`OeoZf}bw)VDS`>Wds~A}ci2AHwQ;+KBBuEY#fAkSp#uB^D~Ywkx^kHn%ubi?NEWI)YgV~ za^K+o)*t=@b5hf$#J#8@0GR4qS0|o7_q6GP7pqVsNDoT<{mYI>g9?8gS9<1`bgJNx zv3g+45B;4Yh6ajH#L1Z(&^^7i(a?2Si&2%$Yr zGnM?}4y~%cSuLJxsJ+_V{zaG4cN72+g#Zx|usec4nV(jbXWSQPD|f=PgfyupgKJ*i ziI2S-|GtuE#+zz%Gx)$P4NL`e%O_RD3f7H?uu}KW6|p&ne_))zNDEN9=cP`02 zdGI1Y#H;MG?=beYx4-NB{vP%T7Q1<@v2#AUx9c?6TjZ^{jsG#9*K_@%25TIC$k-M7 zHlVFKTj;rZ2b1MJt15hrr)Txnu~1x6!27rR-_2X**{WwTm}9rMykw~=Ng;7Be}Dgo zQ~M-XEwW;3q_rrkhZAQjZ|{hKU?|PXtQs@uT7(Z6ERwK%WocM1 zNYnI~DUUV(&B@;R&hTM~;_X^s*X>Q)Y+nyMX}oXRu$5yl(%imES0{-wkf(m}TUgM@eQF0h_xazgFO#|n#Gh~F%b(BQ4uo5YT>(=p6S24-18oUD zwLVBY3s=>Vjb50Od?p{8wdJU%7q&qMtey4nT19tAZHVW2omCE?04pkAVWHib-$z8u zWF?%YMy&B=X_o>%)RYIPPC^uCiXDToJ_A?MmChSV-aWaPcE8?f$jd5uj8oAO9JZqE99t zA+1%bq2GvUm7i1kvbP`1nfAB*Wcf{4Q;wv6Nn_%Avr87Ac1YCMMjfhv0G_C@aM|1r zU{K`K0!vL&1Ta5`J%Ao0C=h4vDlab|bg>sF_Wj&u_bdDVdELhT^kqRPS(0R5X`D`c!DUq!rsl&+c${eTk<8Z9M`)a6o7y+g zP~GB2RIK?N3AJi^|089V;#k8)S@NYMaacTa7Ru8~i;8Rfa_kBA%ah{CyS(bN8d5+* zCU{HwTBh*dnG84{QlL~mt6 ziIS!OIa}jU? zJ}H9Mx@wi}6LvOVR3yI(Vp@v@akm+sO+_}`TTHJ~W`=(}oaAKu1VqOT|Ne5Op9FwW@HJ?nD0l&HLn*_H=te;3J=W|2c+EYl;Y}r{TFE zjT8uBB!x9!v_|~z(35Q|@^xa&Je5@t)=~QAD+QX`Piw+9C6>ws3Y|}E`!48@rZuA|F=RdSxQU$9nyD@Q2dj9noV)x8Q02r>Jbo!><-`0m;U!GD9&i&WF@Xz2M zmp}v8%)919u$&Bxs!3+$ZP1}&G#Q?$AdzU{6+e{{(|)lA0Uwmy-PT6CDUGJ>Umc|y zQdxP$r5=kNU*7zA*W$(T4JGzpJ7qjAmw84jK%%m#(Dk@WI-(Ej| zIYZAmsQEEkGshHrH<~JiPBd0jj3yOAsBFWq73b)?%xI9M7t_WGO3L-VN39w2{Cm*$ z-lsf}1V15pXg}IZ<}cMx4~>{JD#$%<<-&Chbt8*LH1&?n0R%?H zV*{gXelp2a1Y=3b0^fa-LSs-Y36|XgIo3ajCE*d*AT40}erQcqDU zYCM8J<23tE5_GOxP3VeklPy%r;9(*H;Y=FR4 z7Fw&H8+2R68qz$}>PNy+94>5}~?J92jj}cJK zzX-<_%UFbaM^FhjwMPA`D){15tMMFv$t-*zo-a;A(2K>Pj4l|PT`HF1iU3j%el%r7 z=3i;(V$63;nJK_pMZN&3IC-vVY-Z0gNUC5qyWh2@`nky5b9M7{FZb7ZR2uzqTOIYC zJci&}R4tbM^I^FmE3eRAiYk!?fq;Z}Ixe~c*yB;T5<)r0>B1_1)(MGeE}FYrD2wwv zg({B2R?9T7>^q{FGT9K}7Zw^PZJw$^-+B4LXp=zYnCNU^i{T7j~ z3jxf-pEmkNMUy&9m$!9zYwc9w`7mB2$_I~lrd}-MzZ-in-CENPV(fL&V4-OU{z7u} z+3CvW3M8>kQb5hxEvnbvJ#f;|G^6jYWwJYAcQ4R7fwGhP@%WA>ldII~%SY~*gP%X+ z=X#g%iKboGms=c<9!Y=JZ97j(8oE~TQe0eqkrAbjUwv(8g0T{5v~x~yTyEa4-VHd? zDGT>+6bjTX6xE&b3|GGYn%nyN+617Pd8X^-u(Br}3w6mVS^r`%%K~zh*9Ruyw+D;T zsEhTYY1=?URP_;ra9rtaq2CE^!>r2g`_XBJ7m!vXDF;e*!;2$=lZW+5in|WMO&J5s zS+T9bUiI+K;KM&BCn>1czTSs3UR?`gBS083<93zfW+N%=WXI*VTvt2t6YXZ{q4}2P zl*RtpnwzmPW=J0Q~3s=4|H z`~c!g*wuLw;zQ*|U4wR0_U#$3(i^{!tDEaZ4fmt?H&+J(mz7Ok5!seT<^h;x^N6=C zEg^W@`Zmq!Eld+sglu+GMvo%#9miS5gY>307B z-pbc~D_T+0cJ4{r`u4CzKkvJX(R%S*u6dngxp%)av7b&bi}3m>&oV4Bi~O$abGsQTHwhvIFWAo3(6fn(Dm|zrnNpJBbB@| zCpGDJ&N(aHOLx+HB29{H)+t~b+?Q&?CY&R4zJ2gLXibf7SIt|C6z0aJMpobhURrbj z%eCMDZo#;ihuOoTYD#DW&EV~3BJT4(?Q@3)q@lfa5|1ftryv+C*o(-e4!$Z8Chvau zHwy#EE~Zob))9)OVZAm#Vx6IKQ+@;Ruz}%%z=y$%wWs~Hr@h2_&iY;{QU3X;biMC z?ZaZC&e-6DMft|0OJCsQ^8^3$)d0eSjvOaeh56Hr(&x3++`gyBx)t|XRZB)zs3F~- z=zOX;VF0!G*Xm3_vC9ylv=ht1vjQQI>8#E3n0&>q@%vxnYeLFPIRi($um7^5izd9g zOltOx_qv5eM8H~eokeh>)CtJS!pk%o99f-*t|mNd;~jky&wEAI`S!BfBo^hF?vaDC zB?#Z-2m4$=70;-=U$vBODA_RS?A^ty3>R@RvdsG+TW)WVF1!<(OE1_w|wK;&|@QucYVamnddRrS{eM%mIYcaIzi^(FvW$JoR8;%?k0$V-yqKiYV> zq&Pc|M9}@dH3mMVZi*TWSKId1g;wdFXU9?e{eim|&~0<~)Udlm^xaN{F$#0<{e&%a zbXLxL`38AZ^6trZMO9?f<@%pLSBK0Po7NM@f=+l=?9%6VX^{KGsTkM4*y-o z)_s=Q2*+Tc!d)||6I-sXh+;dg%FD}`I60^FOu*CGq4l08Yd0j?*c}~C48Hr6vHi(b zW-Ns{k%!1--mth>vb-)CXeBlIp0Dpu-0BnUbr#Q80z50xr&B!8?#83P_N=k>jw55Nw~N_*a~Y16q9q?&*iqjyZ&)aJ74z&ys!55FEWu4((Q z6Q-U$j3JlD%Wt3_=H9b<^b46X@T4jx`q*E5x;^Idw%2!i4Cw@YRDHgF-r{;%6#uIA z4vW3T8yCJ@B5K%Z%wG{}<9Y&VKyjqa%V+HQOmm?cd{(KN0+V?>a)b_nAUZtGH;-uLt`FVTZ!o27ddqP|yETjh{vd*}Hl@q<@n*y#F}k3c2q z`9xQp_J?D+DqZ607;VlSxU>F`Gxv8rnPS0rRw9SG$Cr;1Zw8ETZsXT|bu7R>a|uBXUUxmN)EZ1? zwAP;SzW83|Mh9>Xv>|6;q$f5)Ye+g}6qAI5GC;R@#Nyc=`YzBqly*aBAqP2~y2SSRW%|oVGHYXJ zXenl?FIh`fUi>+3b_GGj{+HC3(i$T@y5 zO#4{ecQ?o^ekkG_bb=hK`?9%F@Br_liWiEx5kA}d|K>@7gy~(KCfji^I_TSI&$GE* zPAjj1-H*l*=P>>U4a8Y^dP^r)t6iX^q_{`j`cq!6{VZVmR5fxv zy`Mxak{aJIsQm0=nxl&t6=0pM%0v_&v3sE7tK|QMAdo})a*D{c<`xPWbz&KHA8MP= zt%4Z$;bJpGcFsu^FUUbMnNgu*F%emTzek(r3VPrciN?#mLikuMOhqU0hJ>#zm3&mF z@k8y$n=lB0C-f*#Y*=g0%D=l7u@_oxP@~M6%}*x{N$o9(P(GSAZSUaY zBZ9C9X1zRepwcznQu6eKLAH$ON|@i9Fny%{)MQ1A`h#VhABb2T@OWZhVZQ;tkd9*W z{AcJ!K#yu*n^X3U&l)c}YDt8S;IC+}H?0n4PFP6jw|*?P5K~m6`LrmOnz(o435yuo zqxmvehgqbO#{sX)I&`zt?MlPK?P#3ni_*ui0&milq!?o|(I)=3%td29n2e}VF={W8 z74gw3x!nZf1n}sb1?Z*x&#vnSYb1AsF{mWAR$U>fW1}kFl`SMB|6NVJvD%&hWH7Uqqtp>6D0*gp%g^SM+_%UwPc- z^zy?nj_8=F`r3=O_Pb}3;T}%y`h_l@5IxXEWTa=pG4G@QD=nWl#QiOgt&q z)ducq6Au#nX7AS!7*J_E=qc_Qv<>D7@T$W;7S(Qc>4&sy z;_R1#WBPJ$s))tyrC{>(QelPEW_v#tOhp5#lXUI@?(MW0&hLKD9FZh)tjD4t{Fh#o zs9!Y<*e6!O@?Ci~csNN%1LkdBu~vb$uB)%W-B3NXlf;{btIRVKl8)h$r;)l96C(3E zN9-gp_)F|O=j3JN`)$1SAIDB0&~K#ltC+H5iGg4a5HY?a0kRIYajiuBi{Z*p(^K^5 zrQFjxl;Pp%@%j66GML&-8pk{~%HLxfI!OSgPc9M_TuN9Fj#!`-qz*2E+zS2x4YQSA zJZhin;FG^~H0N<3L21Px!Xj8$yA>e-HP4XiX@iPfvz};NNlnzYbY3p>%HT7;=pYGq z(j>Cq>Gr^Vx5ci4`sUUy!>%U zAs-cG&{72ok;2B+lEVMa7~c~8V@2zJri9`{i(9vnyaax`l(&i=n`4$>%zw$GSFQHM z5oE7Oh0)c}DML_YX!31NDzu0P?Tg~=DPL{4#Jm0e+8kbpf|jw^8H$ctI2b3P$jqej zwZxv%@e`vt-XVp;o_rIxKN%A%iXvUeXH;)8rAT`NOxKk|Cr!hh8t0Jk=9nTtV$e{} z>(vDNBwJoou||D;XK7OjV@t5uIhcSP85Mi|q*+9J@7?*xJDT0O>fDws&%O;XEsq7G zdC=dC%d&d++OzFYN)qE27c<86v{`HO@UYHU0Uc*I%IG}IPnqY*3Q!l-X@C-$QHN(+SPa|SuMP1=av4|N@#j4C~`w^#7wt9 zOCb3>Hn9j(-FN5vTug;m&^Jk9@Aww4_SgTTMv5FeXsqf)afD93%3_Jp_z$4#hv$^Z zGIAYe^>~=)hq@fIMny@W74jGmyhD_|Jt!j}#XPWirNw~Ff_GV4#n&|fXppsafZajG z+Hp;BDlr9|iO2Ua?%x_La*M{JGJf#=ltd>-NshPA^-RObkKw{1}Tu=SqK> zjfUUvXnsTlpE~glmuasu+~g}M&`G(xF_SJa4Z80{&=Rd@aG4lQ&8O9=(j;11KHaT7 za&6ZtrucMZa_Ka| z=Z&qTm5tl$(|<9oul zX;qGo;oIh$fCF=#NuKF=**yAgkF%5V4|D?>~d3$@7ao(Gy>M?i2d27uk4{Yl$eO-jCNV&eOEONimd-A;tv z6I&3pad6hw_vp~$EG;K9Ei5WFezt{-#PglLWq!Wti{C(3h#v-;x|?|_DJ^v|VbeuM zwA89WS4{;AoxnWb2AhTOW|z3daD-J`LR;D_z)iK#u0|?Vrmiv(@jfbA6;DcIBcqzy z@}^jrjq$5}xN3p;-OcHV868VbnYXk;Ivz6`DwIc%!&6LNnAJi*E&t-LnGwRqFwH`V zhB+F8!?A+nl|{ZevufnymYKly?8L<7k-Les8&4DlMqZ*=&;z{SX=LuwrbEZ6jK68n zFO6BIqjkq+3U&+Oq4Jh{d>Qb3Q>g1{Kk-5~_|`Uf_2BXeI089bLD$NHoUqy2C8S@^ z!(J1!TqMS-@4?_ZfvZp{dBk==klW)E5;2CCQGcoD>;ATCS$*bqeRHQvTd<&pb9yTH zwyByZ@cs%pTXnZ_iCF6m>|q%b;ljmbnxe_O5+2+?v$=bE2n!hJcQ;Nr=Bbd3>zelYvxyAwZR&`(?Gr9vG7aAl?tpvbWx#&Ym%Y1z;sRr5WW zdX_%SeJo$A%MCoeyDZ~iP8krH%Nf*gpx8Dxc?*rbtuo@bDCVH2t`r!REA|v|{R>zD zjMj{rVDE|ShmaQfC8the&)j+Yyg+T!=Wcg*e$VtY%Bg^OCYr4mf4rLX7-f&E(*)d@s`ktDx$xk--!peqX|8eQ$mVypy|uaK z4`M%c!QSvOCnf-C%RsxYO z?GC!#CNp*Bn>g96_gH>z3ckYw+RV%VJPN@Aoao(17cSebr72yQ9)+Hh(dKGx>xYri z{&s$Hh+ZC7hRvVX`7|z{o;S7+O#0-#JiXkgllMupbpH8uE~Uqbv2PzitQWMeqNq)A@w4y2VCwG&~ApW~DHdg0$Q;Y}i!JcA7~(nP%x&8HNzM2_{=c)fsN>|>DJYalXOoR9)LZIyY6+h%Moo zW?U*Md?ssq6-9opfmKP^3Rr`lJt;K7afA*zT%v!->MHW=BAJRJ92MuWnRt_OH z%M0W>r0ITvt>!v)wZh4YMAz-Nlc}f-)U;D5>zcovG;sGHy0)T>#Y~?0bts76evM<= z;L9X(8ZDEyc-&2u`^iFA??kgm_sU7c2 zhI=wA2H8nMCDA3OHjZR^*>DJqQDX}8KF}}3$|qm>cWZ}`^M=ha(UUY_Xc&+mfi$-e z+S}eAzRayc3v#+eKV4rNUlrRudn`V~L|?T-6{-Sd>6^QYmminJTHTKg2K+Y$xb?OZ zUB<7c`f0z_?b6&V7|ey!n^9fIy9M6}{bBpP1<4I)JHl9b!fK7aKABs&U2)8R!mKC3 z*N`F_?r_a)!d43q9+_Ren@h*;Pem>unjBq)&7Xr=e&YYGkn+pZ=#;U%_U+}krXhe( z$CQjT8;F}Pz!BH(cIwGsu*Aua3T`W>FY$O<2^#X~l4_p!1>WOPAT(jsiX`qBaA|7G zfBs~(FaDTlf7GLq%=Dr|AEC$78?In5zgTT(L-|gCPp_dKp6nfJLVldiDv1xt2uGmz zNT8#Ip`UAaRWUFs$N~V6Nxnm4a>7-#Nc{?8do=m{!KOkDrUV9R`Xq4kWW)6ar*B=> ze?0Hdx`fH7(dz5D!7Mcj5p)K2TzQHu=SuWwnAofqlBB0#i3;8b6ne119!reWchACP zOvyHtJZ~IL|49%qdM-(SH`4h~NWi*_sI)WnY> zCUb(95t!sx>eAupsR@?UGT~cQ8ZTPEyczjKfG;i4U0)tp;(E|81-az_my#6K{-XY* zOgB#RLV^|bbff!vBp*{U)9`1!!2vx18f%S+{|;xH6*WTRS@VAIHk@adRwHI0WU~aOx^9oLSvKiT{7PeeRxSPPQu|u96dfU+cxXN+ z1?s7^!MB%^E{@04^&b?8(D+-IAl+U+&`lQJ7m`zZkk9Vw<+ijy-|CU4X(-xXO)h2+ z`g?=vCW%l81zdV8ce2ag=9Ceezl_?@gJGhpE!a`#rqTV)wY(}(V?}dRG+|+-|EB`;1FzIafn?6d(C`URdeFSfV#d8c5S- z*t{oSeyb>Ck--#-0i#qnZ!To9%n4~0_FN-}!6>Mqd=Gl+-zf-|vRKG%La%kO+RN6< zu&QJv{}?cY)_cq~wt;#t$zd!!FGHL)QNGz)N${v=TcaAylEm&LInhedp==0TiD5z{ z_gu+C^p#RUAuV3oX*h)8m5TOsQaGxg)u`TVbVC#JTH;}Rh}nSNtO?x=UBu-t){!qg zKu_?z=zM>0Z0+gMrI;6a`Es^4;1QXVv&eSfH9Tyo{#!4R`1WOrKvkY-j!AKh$SzRX z6Yf!OBk%ToY}MRK87OW$c3Cj*TZ8SF3Fnvi&e3}7Z@D~g)_Eh4W&&9%WU-fbThqlV z>2>L2>o+W;jT1H`RxVttiX%W6qPog z^Q(!nDml5x;8We;cLG#_?VZ&D=hMSe8a2uh7@V(huHes3M z>n?zCps=xvMCcyOE`KN`#2a^`x@JzP*oBOhd2@i{IX5{9;&1~jUEY>=U6!%&*Rl=r z8QACj)Yd#;RE)Li%tU$%7st0;?d}5pVY>!BmYNL?CW(q{`1;?zXSwHH_-2@D;*bTh zt!~Psr_U2VqwDN+y*;NyH$$@+UbGv0J2?Mk7o#A^o3E>%@t^#Jx8pPb^|+V;gc;aG zfwx_C)w|59;)_6j?KXhCT>N3z5|s@`O+k_1U%1Y18q~3LG$e=7GtlqXwU2i<=V8k| zE?3Mc{Lb^i^UrI~eaeWI5NHl{^{-|7B`kezUu?I|+U&8MoTYnX{c=UJrS@$dZ!dJS z#`e9;&WudC&4)!dg@=Dg*m&l)jfqE^=lf_$IZwTdhvtA=TGKLX9oN<#qp7L+j#2UF z8+dU_*nq8^s(2vZT8+aFwDq4J9v*X7Cm_mxUBw!@V91~A8T4c;{&-sOytQ>|2{CI~ zdP^G1$k$`iW>Ax%%Rk{aJm(-=A!zjLeYmO$4HSL^o8Pg`(2P-n{t5O9JcW_1b$4fF z$a;JeEGmKvlG7@k^>3`)u06tn124CA&#zq=*r}r$2wEZ}1Gs20i9Q&v{u6@_SL+!`X$tcds}>y=M2W{d-J^hbKL#n3Jci z^(X(qtEw6~reeVfmeSLT_Llpd?+hGkFj=F)5qi$-5mtFMRf>+HR2L{#4Y~aB+KO^+ zRKN)e>M^k|P1DF(DdT`iD;n0(L#Ma;-YP=TEu2G09OEl#gDB9QFPW+jLCl8Xp zt-ch^G+bPg<4pN%-seEACxsWb8rwuAX%= zDsai(E7x^sdk1a;tYi%)HTw3}*IRFE5^hDvPE3??bdTV zuHIG7j4|NlNlUJLI4le+M=#Dqi-h|kP2bokHOI?#A<_icbWe+?{_4zmzf`L*Vy~zw zn<6I{UE$uccP*P2cAC913LoASX~=PJS|CT2N z>WjwCrbr(uW3aWeNV>`fJ(e}*kX|8mP#y39XA}h=h+&YbZ1{~0{oZLh38m*EtBpxn53bmX4trNfK$gU zz`eC6Y+e!56QW!{J+gbx_D}zw?HYp~gMU<~0M|TUQBiWd1Qq5<{-#@{1>plI!mq_B z;#N;*+op|($;mov;rLP?q^6?6oDzm5^>BrZ92;}Is-2(OU<9k>Y&&!IDZ}}2)=kYbqPA(4!*g5{=5iqx0>j_;lt==QmqiRgEtL8-iBPpWh7$(~gi| ziT$>Lf)jcUQ9)WGe8g^(Xnx9!s6o%)_)FLwYNA*~wm4C)37HE2ipCU;_~IgfQ57NW zbjzoXoi-D->$KS;heJn9R{=7y^8F$`j!$?%Cm_EN*=k9}Jd_#2(%^FyRN&%Oml6l9 zG(@EVWqlUp_G_l)ENW@3C4h9)a$A8~z%xTp%R^ZaQM4p7@4zxc^7y4M^eM5yt7L8~ z#dUwLvB|Y>$Lp{BH88NElRS54TO9slL^nU>2;f4+S@lV~B7l22G)~ zx+Q&Pa7t$S$1Qgy8U8as?hkT!07_n|vxMd>Z{h#_#ns)ri{(%X5O$KZ$SXK>2pPEa zFVQad2sz5xh$7hU@e8DPT(hRO? zp5wrY!cLo87aAix!ozBw3+dk&tqJ!^yr#7L>7lPZ=ldsmCOcJ@0CPHQHMXz#H2lrz z3`-1FKMQqw$^^i!DrA zsv=4nQ%^zGkN9%|5(j>5@@3wXt^IJZsumulh?_{$fjUbbAu z7owR-{4w~ZLsuAY!=!u{TG3iG$#D=F07TzE;fGp1m4JYP&|LQ1Nv6gTy~ukEv}#M6 zmjv^F<^=K2CfQ3dDFz~mH8@uNU(49%T6L{3X+&8hQ^@eLN?4(Au~dwd=+~t%js}R4 z*`toq)@CedJOM_R274!BdqnDtpOHF2k_NcMi}A;tj*e08R>P#ES~t-tBh^dJ_aGF4 zh@YyR~Y(EpNg{rE|81md#+PQzDT znPfoDspX^T9M=+mo`1!+?b?jmz8i?lm6=&!!_mIaM8gNaQOC(A_|5_Z+8yCqm%tuq z|8D3*T8vh(fKR}kU5{SStkQ`vP-(%*L#Rf1nsOE_1b2 zr%{Q0m3&?L0i?|(Re#cEa~e<`8Ly7(6~bAos`l}|$g~NFW!GPx!(PuXl&vEnWVUD8{o(8Tt4mlTt1_`azH%9S4|`)TC1n#nx;N_61?(NgA9tIk z09V@WIdgeA+B`2;U*K?vLcXV;ezr`Q8#2yB@f&zR5 zZVR3UpAP__N7i5-2baTfXV}JGF?oZ z6c!T#+~PTx*ywjXl1L7Rv%jxx)837vhPE~okDg3#mcv$<6gPOMKIg4yA09%Q+MiA! zL4mgeQ)0BV0G8p}lw)4lBHd4v(sN48h}c(so`jzE;y#f^oUO-rw(FNZiCojIQxBqW zeM8rtN+U`aid>)&}3DOdWKJ_4V?;qspgRRdQ+VaxUM+!3bL~++l-# z_RfjtJ8i8jM@(3BNuSwgOS7?O9IONo2&-^bIeVo3_eG|Fq2>%7f4&Rp-4^@RM`V|o zX`^$!lhpAACwbA4IlR*#0xwC_iXKONfk-7MBZ zR(r&|M7maM+fdIAZ<}ZX9`?LjOib477zygAFR9Gww9gF8F0s#M(@?Br;h8fyHoiGzLeIx1 znO#1t;snIQGJGS-MLAWqV?xLOR#e&=bi7iWGu|Ro{ptt*A;w-Eyt7~s&alfX?a(=$ zm~F0d0LZoS=H)5WRCozA@py^MJtEIngRsj+-u(U8h!riNXys{P)0%%>HQ-52G$+%Z zn>oIRX*}_aYC|l%$UHcF6H*>&(w&jB_i(uJQ8S%FUHWdUuJ=u8@Y%Vk$lb-_*0kgw zg{IXJ-_CZER4-AX-5p9DuD(U%Txc{n{pI-0#l_-z;-(7oucjljLd*9#${n?=imGDw zZoGm?;JvuWyrA_qSdL3?ey<;bQwXEj4PI|rH-vQ=W1&7u>iGvbC|koNHa@wkx^r&a z@gZ43pMwtntaPxG}{&?4{C7<0^t|v(I1MIR2ez3K2vDXA|&RMRW zFLm}?flU3poH)EYY!nyFhP1*bme^xbJY9WwVcFOGaA(bHjK|H*AWDMyhqE01zWa?D zk6L(tqRM^ea#AP|7onx*N{>~x7yN}=AQ}s|>N1?)_FFini67qf9y8IftePbhwar^~ z>X}jJrHbc**yuJnT0itxWF+_YwiC_^e2zc&t#gDaSN}QlgE%^VQ*RK=;o_?uy~}H? zRjAjm`?gF&quePMNp^tDa9PD00(zCe1om+9R_dK^84HBcr6!{+==yB-_CUAG+TKx2 zTo`uv@51Wr##6-D$iEJ7AVd~}UG{CXJKc3f1w{ga?so5x_hWcFX>DDeLX84oQB` zUIz5CyZjql+z#kkMg78zm1lckBuaH9yn;GNq19^Nstl+T-8B+%@miS1YB|_Rjo!`! zd?|$XW#QTy1lr|HB6B*uzUSVNrvjJ@q$u{iyMWU!BQs~62+#4=)?R^#kzbYbzn|AD z-e|1G$r4a+wHL8$6PIt|h+!ZZL`-y!5OO`)wCYXlbnD~9HfIbn@#GjI1N`ATHFZ_) zVg(aquZSvx`V42^V6u>4-Gig27w3T?ox?Vp`!nS3Gflkg`s=fGR{=^~3+jn7 zAk3PTuu;AHNBMmLmok;`!7pQdgpdlL%3*LsPIz`2)im)Qdw0q6QbO}ZD7IeUL`Iqh zUFP%`-fR~HuF~3qOzi)olL!CBdb+t5{Qq+q^g$}CpOpx#eO019Cu}@IuiJHx!%ZJe zgqxIIU%mZ|$Q8!S@}nXYm6k#!dl~rR6_Evi#G(dHZ)3AM=V@D<<ku* z&CKzwM$)~u|9Ehv!wp8I->F`1Swf3PxyQXTW)>sAjP@iRRJ6B=-i*qMF68*+Wcb7V zQ;Edun0Y3p2yaF(3lTlOKklJ{<~)7B>(qq&Yty-3?h+{KzYFOJ_X<}mY#8ZhAtr^3 z2C*s?_*Y?cpjBV$Y(8mdL)?r_5)zGXFM$hNjzAt?>OG~xu-jqxE6>Pl)PBN&tDvAi zkBbCBA#1E8MKeoLvPpc!m?+;PPk;Y=@j`u?`o|z@^`A%kDCb6Ub*eY3_j5gr-!fFG z{=!a}tt3vCv1|T9G}w#C>FEB0l4}Z6UyB0{lE@wjRGK!t1auT)hnkP(-&sJ7z3SO| zYQ163c14&3GP%pBdj1}IbTdbs0-R4j+RV$`+xR5?jgE}O)+}ovA3q&G5*&Z3LEUPb zIzKx!)^okWxXJ&qlV4iqMMi+mN!iMiiqH~Xjs#&vOW_kIewUKOgz__9345@cU?)Ty zQemG?q78$<93>#hPX|Q~X-*5hhc)t*)Mou9O>NWa@?V{6I7aRns50wa3q8j=zcH)- zUaE&=R2m8sFAGbyJ@@_B@lk>xP+02PEhVZDAIHPh9lg}ZQ5L&yU_Eq(rwCh}K0Ho^ zoi6-k2uR?BD<(-ECCQc$w;P3sK2%!$U#_hM=q1iVD5ejw+xUHn7C|qG+X_YwWRG1# zajlE(McmQTZYNs((wl!l0Xw1~_KH{Q=|ocY^f*o{AFs*b-)nw7UGzggmkQ(T3Ljr$ zcx5O>`sCDgVbp^pQl)-eg#_C=7ag;Lodg%nUv%_!U3vi#uX+D!F9}oCiIkxE|HK*gSiz4fp&17vz{Ko7YbG;eSf3r4OH*~Uo%7Da$@doQW@RyWUcG14P$VL(O8Wac zT`cJ_EzOJz-}>rM--@<|b=)75P*Or_BgboIwIQ24{+(O3!a~R2bu3#s6tq>v5Qf-ps9w_hBG z9I?!(s8L`|#7oTB>Wu9`$DB?B27{})&Lxk{Tqx-V%XBh5*pWK+rvg=Kzd$6S)+UpijKLvBuSHaij43$Oq458HNFCs+DvU>+ksNB|Z* z_Ouc~41JK7QhZH~Lg??k>bIlhl$1J605k^` zglrd)-qI!V@9JmD5C{5W%G$9}Iz>?uQS!|8RSd7fGNly+xW462- zs&0iJ174R$? zrdhT}*)eMTYE~7Zi}qQpi&x0~9OAscG$#bE!B-G=MAM9tDrpW0QA=es`QBl$pc(r) ztB^w506FJ~qHnbieLZc(}y{gyy zXN3g4TE6w9kYT!6jm@cbNA?u3*U>jo1U{@Q#x43g zzCjPW7aI&!fCJ%rIRsy?g8$+yEa^XkCZ61qQ1Q32|1l8k&j?i3;3vV zaHhVlad(%WySvb#6?4k!di?@KXS|*r1`$8Ti{0FOnx2*zw&C6dpRGOa>*j2aORG;G z1YVrN`wI^!g?sV=Du*NtQE!za2Ew<>WAmgRWQZ=W`~6rW*GqE>>Vr zUy}==M_@=Ys>zH{Krx#>V3=`g_K}%I4<4lWSDrznl-H`&*-y zLp~i#R7x*pY~D@+s8r6{2VjO27s>ASJ)b%928fpK?w&p$di1MxVMuSj0&9J?7?G2d zokUetmEOk{UDM!O61xvVyN@Sws>~R9o5iDxmxH=orfJF_sIH6T3j%M> zCzYH|E*%x#ZvnYPhqipq(&S~CDcpPrg<*YZ}0L3Mo&&KrA>N$-u3jVY;2vv z6I*j^g4F-1Pq(ujY$@c|lCdw&dc&Q{K6O>=X0Ufv<3(buRO=a6AI@EOZ89pj{F`S^ z1T26ex2{2_E>GJ)- z60O{7C2nZcW}GiY6)=k59zU;d0pOtEClS%zRIQ1*PihVU?(LjyeNR)*$BVbGYi%3O zN^pD_6Tl=CKaGYjov3GT>`vOp?3X}V6BbR`D&=1K&_-}Hk4@H;t#wE2M*FU3QiVfy zRVCV%V#N%L!e%quL2N8+X-TCmW2h1+^+$xyLZDac8x#2tdh&zb&31=?vVyd5&6mc^~#|uLU^1m zdC{WD7~(a!X>z@5#x0ncTFMTcogQUW`Pz9kiRdO0^$P%&J(5){?$uD0TD}~p?xn*V ztr!2~l%rwjMCa&wyKvTp|H|8Zc6xD48L#gPg6;=lcw{S2bP2p}DFRGirf;@3ZE0yq?LTz2cZjSB<{vq6 z&Wu@ZdY3JEH?~_qn~V;#R{-S1Yg!I+ zz4!=I3Yo6%j&`7{PrKh^jnlt@)55dm%qaM3WKE#>niO+Fr16;ilGaAu+qZ*!-_P!l zu*M~W>Y$r*)#uyin>EgZ?bxQ+^?u2?2OnM^v3;(8O`hCee<~#m(TWB?9F7(bx}V-X zE-r3+QCb`PVL7OtBm=5$2hYgkXLyFH*xl(lt;pl>^F`z{;(4Or`HU;*0piziew7h? zMOM6S*SoaJG4Dph{7bcNa)$BkOfw|A-)!N)n;~frMz++!!rB~t-VFK{yLa|@>pMLW zTeL}WfPDKR*u$;YdRA}P+cE^E-J%C6F3Qy19^tdS}I=DPqIe;z+3-@FiuP6!L zT>^o~+oBAT7sA;So3j?=gVLuCnyT}ci*TbjpYw2^G+I;gu{c?or*U;7zF#rxPYx>WK9 zS!J+1J8$iPS2Lk2z<4t0zY-MuM~)~9e80OVM@yX-;*~*02D|+wR9VHO3`UthAe}sS z*ViA@U;Q+rrTKF;QtqjUg>5W`GuQ{}{XUO0PsuT^h(%dgcSjdK#)?8esGnS(x8W!B zBJoj0oTrMTO{U!Oz`e$Uzk>9T9CbnI<+ZQe{OnH%w5 zRTV=DONx=PF{^#m<=OrQPI3ybraHEeKExaB4xEieNX_-;D7Ql6goQeijZtYP4&|Wi zo%-Rzymil_lP9qW_YxO zL7tmW=4N8RQ1Jh8DEL)8W0wjI>;SL#o1)i$TM~{m8P>m9-&oSi`Ml<0gx1EM9D3c~ zUmF?JA9sA=SDXQ4@PORX!vOesBYgk9N$$r<();AI!{ya+;$eHLa=>FZ=*zxQ%px07 zRh!rH`6ZSMp!-{mte29e!(Q>$C{eJNmIO_;xp9X&Giu^1R{S1h!rlOV!QY>`vUq`V z6{Yc;Vm&WD>{>p)87cD}f12Ju8=3yz(Tjz?;gxy|y@1e97nH*_YnOXE=@VcuOl1O@ zxqa?;O{ko$IJE4$G9jgwL7n-t?F_xqX(0UG-m}2K__hU6>J=U}4(SW-pIt`@0iu&K zlpyqlXiB#lfyP(Hc;{}|H4V`l@SLB`u_%K?E+dr%#p!*G=OU~bfBF@` zD;`|h1r@CvB%lQhix7v>xtNA82x7j=F2Vl}EI2iq`ANg0_}c@arCRlaA^3E3ETt_o zY&_8(b4?6Ce}@h8IcXYfoZK5fA8%442_y(H@4mFUsQ`ZHw9xNcSjUzWVKyjRg7l zkxH%PnA0dYbrjP#qwRBAa44dEEMgh&&%I6EeN5r^2avqlGIt>cz625K$7eIA!~X0- zH+xOwl0>urxkQpQJIOzeB5ddK9s_%qtR;98=jdl_gwl8Jp2`<;uFq{1g%eyKL00JK zq-LG8n?7Taf%74kd1zi-4(~%WKMyaQOU)dqcV+%H8M<20bulftveZL~3F&z>?}~zp ztrI7GyhE7m%1Dk6jsGQ~k4obH4Dzv|U&hdH)prcWG@}Pqg!E+owplHXs>hf;c^Y4M zejuGe4N0$CA_{lUxr2&lpFABjA1={&A_f#N{aqGU>=r-f20Nq%*;1_<7oudz9LTd; zxGBTA{YzVljzykh?%&A%TtkaHqO&Ziw?luMc+JSTium63-(t$wW(<#yub=0Ry*^p= zi{>ACr$@x{u-5z_L=J=|vVbS=5hOVsB+Y<9*f5*usjr&!=*3m8O=U|w^ytbR6RME? znI-Hmdgs8qf!|5qA0!H02eA>}FvK$Z{Sy4=cz+-eb5SH<-JxQY0y%WpVnMm*bU^e% z#V_jP=9b7ywbidzZzrM^+h}n=&5>btJ8eLdn&L;gyLV{h-@;|L?_6mA@z< z5{{ca<=h`52&T!2LQ_zpiBU#Y$HET-HD_BJum@Q*V!GQ_g{A1xQTj>SNeNHJ^D&jj zqfDeh#Okr_1op)d{ray%y-;Zx#J+2B;1iY-$Sl0ata|(~CCoL>X|YNOM|$GEg5YPb zsw}y#Yn7;_%)DcjqKg1KE$aXMPL~pj|9RP@Wuc2S3*!Rig)C}mG%iHP&Hn*(o{YLtM2*`w3F}}7!jIvgwp3a zA{=%R{3M6>-hy;Z<{p_S3wAZdddWHl?_S-1k(LswyT;W6r`YJ%%~Np9$6oqj|Lv*C z`Y2Yt)MejbPdQZ-^;O`#tf6g$9$aVG?2-&W>i$ROnWiQ zd(c_H`d>jhT_G}>2S*WD+96Jx-Nr@8u;joOXyMs896HYLKcSqVp)zS(@9BhX^yiAd z3dn)+pz{R2L~08+B8`(<9;J1tIH4ZXXjr4yw9dn;I=sCbjzjxwRLtZjT_9LG> z#oj3@fL^^NPXc!$@i5G7@Uev7inxfq`v$@EMhC?9LO6d?Tp5ET2?ks54_HP}K;#@= zmqcup1|c0tMkd$24TyMyyOWc+rf2t2F#S|V5(-t1NIvL!f)_w;C#xi~cd_l<8i%ef zq;C;Zvt|hqEgK>Wb_LM`@X%o7hLZAd9r@I z!xjqErP2ypTue-Jj9>Bj5!-!9?VBu0OKu42Tmlk0FmVQcDbvZW0Bf&2=EpN z8gkoAh+hM}5P%fw>o2zK=$*I67kkpn8etlA?%lFDzB%jXe1mdqGeXiZN6By5Z2jF| zV@c&x6zK35Fl4jpKeey-9?#~3^zV#$`UiB zp)5I{N(2Do)J(GC`Kl9WQ``Ua^B~a5U4@TR)3qjudFQE-T)S<*1Ss#Bdgl)qt~8n^D=wfuyteBWfHE^TxAm_PLh=ikrw=NlUxg3Azv zrbSg3YyF&uf4CCF$+f0|DB2exHzTI13G%67lkyY!yjL3*sxgvv_Vy*iwhJ>%;OQC- zgPpliYxub}zbM5$z`S$G15%u`+$L#zWBK>1B|u5pgM+p3ssy_`HP8$oUMIV#m7 zm7uQvK}~twyju1Dndr3E@9nt5vlbg1=e%D;-XAlLoD6shcejaBtBH#TcXj5}YzeA& znEzpmL09hVw=Z%28aQ4n8Y*Lf&D`AFXyO4?xc4#b{vlu0-TnWyDl}Z$Y}KMW*bG2{gI##zfV&!b|yVS!? z>~a{~09#LjCySK_hgBM?ptvRvu<@@Hm2vb1X1v?8^trU~v2Eo@Yg_7Ua>2tqK^GD3M72^!sceMEishm$N5(+`2fz)775M{l*2xtfa$_>@tSd- zQ_xHMh44V@GOpXRvx|NI`f8Po^TDwGq-HBM;6;1Ad#{h)5f!GX7VvNxEt(LY%B8Wp zJKI@b9h+U8xhYZ$`F91Mc#$u@lgN@fB@g5zmqU)n7GbaoXI_Zi?t%B7p6BE%YU(rp zYv(p9YgzOTXRb*87+7m}W8Wtvb7*o%;(lj)-7TkhwsI`0l8I^f%GDCKIWv32#a)}; zs!_YQw|TSb&b#}#EiaKZW-U{BdF$%TnEej8*mlGE`)h2aV9q3WqHKgZ zd+@ZV$lM;Ve9N(o$<2VVMY%+qA_Uz!(h>os5 zbd*uLdrm5o6*UeWfSs}%SdZAO0WaDK+WUVj`4{c}0>(})Rjg>I=2a(_Sm+zUCb=`K zrpjOQH8RxXeuoHO++5Y#i{K`sSG?U<*Au}fQ?%B8WJ7i)B;iWoUs3i5=@OB9v~6Ic zadm*5oDBTBVQJ=chJ6H{DB<_8!$RvL98{fpd}YfkE+uI_oZ`qw^CA)v+mF!ZF& zr*dn9nVOdA3yX^?$wxJrwaw$-7A{KlkCiIJ8(A$tIwVYPXuUF0C-SL{6YJkcCHksv z)_-~#+de^4i>LO+H{TI4mzZ?>>sQa}XVgOziWY?FDB@WZvqzn+s73vFrw1|gKU?$d4n-p)MLX^VPkr*`X#YQACe3cQ_xJIC@7ZJ( zRHpFi@K_Y36?#3@j2J^2Gua@$oGlOxQ0sDfrrC*lOGR11h{XlQVLdX&7sAMEUc}tOd`8rYwbGD^EQl?j;vngWmj^PA;_Zky`30C?`R=Z!43p| zp(y=Z37+I4k;Gmiy`O3GB1r7w1=u;)1o8~Z925Pe?P()VF$rD35h+eNE(Qpy@Dd({ zU|<62wNw!v-fPO0DSZuUp~O!XbD)0p2^9MIyHinE-7@9AVH6mS_m+T77E)bI-x!F6 z@i}Xt-T|Q}wb)N@t)Q{}SNcOFJCN#g91{ykW~!5A5Hi&wonq#yIa?!CS>@p z_sfy%Nm$)#wx_m5Rn@Ybg>?21>V92-do4xs3iAy8NFVAYSQSc<1x@=SvkuKBeZNRDdnAvCNr^&otlzDxfULKj*;_$+hu}p05cva`f$@rq$a5m*jddT zkxF8;1LZ|VMkc%k+lhpMqX_LegYY9P!pL4*W5W927O*IQUYtu!_o6kYJ;4pAf ziWswdhYVT+^3z8+PvDp%$9Bo%t??ATMZyeRAvDu~%VwY1Q-eA1?IZ3wK->lI+%b*zR&=@#@5{cyJ zq6&XJnW_x%phRWYNE$%lO_{6+396QtcHOS@VG46kIzP#WCOJ>J9L1yWDXzvHfIOdO z^_T-~S9Ab5xy6qa>1~!k8^&e*A<0)NGNHEB&)bZDk2iN*KICCMB_iFqSd9x5T3(Q9A4FEAhM?d4NCE3dtr}IKtO$yG_QyMwnHd7fY)b@MxV1Ugq98Z%J zIiW5*!WcxBW*~J1B{uNUd>9mZ394qdaS?g;gNlgmd!2RE2tz37-4`%{$W{*avC=nY z%j0VGc=gbFM5G^HbcM7ufdT_Nky@yd)SmwzRt2Omkw%LdPna(^MBGTWZ$MhqSBj|6 z^>mBrs)p`a&yS&7a2<5+VFGO*5lVoUq+q9FnKlW9{v{IYScuL1afiWLLJA@H=33CD z{{8-+(+=?nfR1 zN^XrKkPPHS3tQ`%Zg6@kLw#C?vkpplDcBY{o}2xUy5#U_4I=OvmQ;GlMz1L>ZQjfj zLv99fd~KsVeH7P@FxS==6x_0EVmw2ONNN?6ur2b9?ss11@v|2dI+x|!%-h3lvwzuA zvsuB~-T0q!lrY3tkm?&67&6p*Wng%wk)l>yJ?j?t)Bf~o&2s%}DEz2(o)9$FMMS8w z)}D*D6-7IHpF2}xh5Xp(eEIE<5{Hu*Wv=byul`~Sr#NK22eOU$^FSED%Cs5mhqRnrf`K4w^6!0gwH+&s7XVPLuDI7eFqQYwJyJkRb>jo=14!VbvHG%3F((m z#3+hM)M+mXwo~~f+gyjZ{p-wviab6LKCV`eF`ACT0j2Y<&`LVoF_2{ z12PP1gS(on&vAlY9JDJjpGZP68$JoeB?EneV7QL+iX=WO=rzXr3$U$>> z8M9JH=dNVLy~jzu5nH=l>}Illy?P`3j*n*DFZ;a(+z{4p2GJo!I!e>;dO1F{(svE}L#399|SApa1w* z!*154tTN)Xs4S{)_;01@eY;836e~wNYR7*VF99K~r9=uWKY{?vM?j6_$5I~hNx_k8 zPaf@`Lx~Bq8T807b2UmJ^_pJL>!okZbv7veidLuc+`o;{QYJ!UT|=N__vFT27;$yA zmYDd0R>cMQP1z;;45p?&@4IbSz;nqyNM!-OGz~w!~eN zak{f1Tl~BK*Ujd?^*UOnN|%Yd4SUIXDc-mbVj(_lsBz9|!?fHMw4i}y&N^;x0#7nC z!l>4htk#Z&XSypH$|^sl($BiJ?_EFlhWxKl@fe^bqb0j1 zn%E&6a(xv1p_ZK1?M%Z)?@Z*l74Ff@`2K1owJ0(F?%ee8y!&SM@ic0LLuW8)Jmu_o z#f@dW>t;;%bORZS88`V~9P_3E{+HHHR=L!^o_}?V`ThD*)Nqd(fB2qHWa^}Ow)LoU z3rD=bs58RExrOpmVd3^$cqQ!EOv^Gtadog`Z-;NBA-K#z;lP^|w7g{WX7jYvSr~QL z)AMc8O_igzf69R;R-iAjF;z1^M9A2^N$yXLTyX>S`|ex=UsP%7w2*LTGa4Npn>Y_ z_ZXQ^pAPI1^Phc;QIFgIVp^61g$&0krO@0dj=y)F<2;$Yx^~aB_N&cz^4^Obc|}Zy zDi-8yr=DWt^=>fA5Y#nvnDoQ>A@jLb(45DL<<||yjiq7N-Qsc;dF7qiZxO1xlMLhT zsc61eO!BGbDOpS9H3>D&rM0y+l+y`3@oU2c4%OZ5`n2M~XTw{xDlc$q7C38aiK8Lu zcDZi^IskQszjMrsVjjQ6cb;17>dyFf2z2NDg?8;SOw>;a3#G^8b-t?`(w&3Oa#p)M zy(*Y3c01laJAw-Om~2nto0d)u`MFe7C4ts|)NCt@V!`wW|fKx|cgTbA&&{m%y%ba^c#~ zRTa{RM^(a+3#Iy;v%05N+>}&VMjD9<*%^vCXDOr87pn)A!z=3K*VpbJ&v5SfE@xDY_&HA$(ci6g z^K-}~ZhKN)g70B775e~Z1&2XumOBRJxS&$=~mf&_AjWR%{6FPPA=?wf_`Jq@iUiX@=Ru zxu&Y1d~dd9LGCx(8Y!0?lOl=5B%maEr$&K=dgE%~a)mrsh%2VBp{4;D%UYe7kk~Y- zjp}#Huv8?GZF0(p#U?)YN3p2o(d5V3x7^(gO~|FjDS*_Q9&F3fF&I1N&yq$`dF}1b93ome?|kizd(PYqw&6jPqB)(1H??X5c_?ehmWG`6ztXi z1-L&Bq*^C~9A~6@zda**<)px7?Na?w=_PNAjy|%xml^;w7et zl$-@|C?=7B3Um(EJ~~M!gnDFv-f`45n($BLWWo0H+(NnVgoppDY;o? z7Hk=+MO7$O7RTiJ8Qgs7BzT!^Kg~T&CeWkMfPL^%JMwLY4q@L~N8+>~VRMJ|_WLN1q|~n&P3p@P7!u*`0xb+*8eM#| zg!|{)mdL_Rz(1pc+C%D`e=q)=Kno5(q<3zK!JtrfR*wrMiIOCBszY)ux&a?i>41!* zZ(2SKD&bAY7*FHH+tig8NTOEm*PUXmKHpPrhdXRS7fex)mo&~~IRC2o%Ljh?N&tDs zFnWAvdR7eS_yCWUkn5cpZ>guHV)R5fmRr6d6m%UUO_xGeL7x7(B%-9IL zSr2mV(U~L5#v86`G|PD;F{`b1Ij#XsZBru$5he=kRTKfChKH(W4+SlKR{580rnTV) zRq7x*Nfn@r9;Xn%^@R;zMlbZ@1JXpB0iygSwFqz6Pj@yQ`8qlLw@j%sCmm$z$!gy< zK{>{uSHf+Mf+RM8$@HF~s0LFS+G&o){Q!YqKMCy}?au=xHEOOSJ{?uJNLn^ZNfL4I zgBV-CVTI!{XiB+lV14<_3mznpZR&>B^r0y4p<8Co)GlO*)h>$ux-+r@lxEsxV-d_j!$kZD!vXFxKxuDIG0sIK~8_ea?j%{b6S2%Ek#Ne_tJrm zM?={ar&#Uj>1F7M>4+m6I6vnK{Ce^d(t$H)L3#cRlbGeZ2G-wsomGVI&}uY^23Y*_ z@63a$JWt71QCK%(%cnZN%o{r9}b8e1A224M(Ai(uf``ThK>TLaLIi6a(d z+|mY^&$XGrNMRz;QOWlKSTbT^{f_fmS1(}fpG!&!I2&3whrIh9&J)c6*AVT zjSGOY=g)ZQ*XY=3a$27+wroYQ3@K(KLLQNB9`1Y#)s-WJltsiOtRvbQ{rY6*IEW4Z z8Q)4$@%OLfrT!CH#?kDgHF+DyRhEANH4{rBJq zNAovFubrKp^*n`^|C0Px6xpX zhMMq{Z(fV*;9{y!VRa5Ez%%S!?|*)y{p4XDZ~#1>T?633-OGeTwPr65F+*lW90CqQ zl^62)Vj-QzPLG=|58iEhrFIK@p5&*p2#%mn7+Hwtl2y@b0O4cD;~9ZaT|_keZ>}^)1}Z=RGmkR#>A2k|Rtssw&Q#+15;2 zd;-;DIK*bhkzTo^$ES%B!XY7UZf@uM*B-gdm8B1LdCSu!JJyPV*>Skre(zvI2?fU^ z*MG`c6Q*eI&W1DuA2$zL(EO>x<*EJpjujO~CMdqlk$&^h=|mCDwo3Tvz&`IVym%Ya z&Z#`L7(Z1*Yknan=FbX-9LM%TF9Lwj^QpdB12`ZXp&4#%ImWsgu(pg?Lm8I;uR>@u+h`h>N z4;?%ACX_RvTU&aczXi-*x+B<768)ahO4P;fW_H9HBYo&VU`e9@Gy4dy;;O2Kr!b0d z*inI|YELL(sEFsC$lfaJ?peERnW3PH_H4RubbNJoo~rxH+6)c{r|c3%swa)K_JFI| zvQTuQNXUH&O*^PaEIa7ulB=ztpW%B1Yp-t>sE?k)3(cGrtQ_F|wN}3TSs8BAF-MwP zsCW#kymYYpl{GTjorMT-3-X5RF;m#EPZo&idkf{gHPdesik;FjHZ~s5q}0?SvFnD> zP{l#*gi(%yHB+>yJc|d?pF`oyyy>49Bb4%Ks9(UZ?#A{qxx1((gkOmRxRU!Z=QS}} zYGsq4+ucg;klMK23*6k!pCa=|UBE@j3{~20@eZAe<~kuaI)y8y=ifn;ARy=ay%*Px zg12lPnILkNU!<}EG1CFd6tRGmvv!`=v6;49V<+<1YwNHDN9WDgV0?x`s)6y0sZ1B( z8e;2ly%vX7tWT9J{)T;ws}ycA$1S|mVtTh3m4ELVcy|WOGluD2H&Lnc{`|SBEVyez zBSnnEDSRr*$yUL-pEDm^vBE3Qtr2JwBUOo<+-kuQbM$-lotxc?ipsrt$363D+Jtu= z4>w*2gJdVJ?x6P_tue}5*Yawrg98@+z`MwDv3?HA@jwURNac5=T%o1@vHM~`)_QD^s&@&4iB(e5q#8 z`0}fthh2L?4jj2=PQv7eWb-#Z@)HN{<6vXni+YQD=Xv5mKyLr~3YR63hOjB}ANC6( zdPPg+tJ1`UBkx{vI?toU#Q#$Tpv}G~_EAP3aFXfiIh3e4QkIcme7USjqt^=10AVO> zb3JXrO2yAV#d0wwUvcnOeSqs59!jjw0naoCodBt+o*{FTDa^iN$1%I#8qsPC;QkWZ1D=1 zW@&(HI-rc$&e)VV@a4gt!W_$xl$fL?;z=Z<;tAx<9>IG{UYzfmBj!u??NB}UP9EYSbT?rJ6OK0_mZ;wwq9*PxC*Gq$u ztWMFuDNlC4OM0zzVN0E+DKVzj=$EKdHwffM3#?^iP?r z7Amj5>I8-2n_BzUOPc&Zx$`#o@R`$T^{PpM6xmWYzB{nnhOxc^;b|1Lr*qC{JEgyk0f3aD13h2Ae@v~n#9qNxZhUEk2^*gn4TszT92f9 z#R6l%idg?;eS@4EmntnH3tWS7-rf0;biK*bTvv_6He7 zSQ2(9o-+MCVdw=m>-p_r=+~T42X5U&;G1=Wvao4}*o?zQq{Y%T)mSMleU! zb1;HiO#}(W{Ef%DorI;);z<`S#4cw6Y7tbVYy4GHH@l?C4}eAX=_&22B@XCOB6Giw zzHv0=H{W!~3;OzDDiHUEsAGZgq!?H;>UeMO{jU(~LUvQ9dLVr)BGTj+!;uiqzeMUy zcr?7t41iodOp|p~HK`}*PbfQI>*Z?A5!GXWE*6HQP0-X_MyDMHTRSB-UGFnUxYXwC zi@%|Fkqq^Ta)>d7fq*A2v_*`;5`PTIoD!dW(|H|U<&fhL6m|Pl{+7U9MUNOK z{^enlA;>>JhBc4ccbQ-nvx+_xbDBNH_i>E#FbbqtNti}PaNqUs$oa^bW1SLx-Qv6> zAtNOvW96wAtiM2Eg1;(Q{3AXR^-&31GVMaVn$GH(4td)L>t|AhAgEi~L34-q5S{X3 z#~5&e3Xpxl0ryZ{5JhKbVD#MgJML`gAOYX?%C;Nm!_gm#zJ=wOza$kPQJz>y@N;*{ z8#a0`{vYYpA}j^vN*o|k$TI}tTDA61Cc8lpI@X3>rJMvbtAdapzKjuC<~6$&)zV@Q z{mUvTqfvJfelA7y8if-PQH_Ev;DJJ^V#uv!q^mWOTgKspCz?gj0sJeZJ8nM|P(Nz7 z3I%YxWe8tX2jgQcR`q+M%zMm=ha32K7X(N}xH$`czE4OK5T09@^WzwutNF+%6Z1Ps z?kG8;H+7xfl@u$v5Wph!M}O*W*^a){VdG6sNHageR%g>>7Wjo1>f7Ax?!~kk5mdLI z3?bri%A%7_(&4?$2w{=3ll}DUphN*!rD|U`$E@Bpxy|wJIEowSQU#=cYOuHe!vn{>S%rP1n#OQo8u84 zW8k89tM%lI-kyT2a7+VdV%+>8@{4r2UO2U_Q@B-=fsk(fWim3n*h@y{8KX2bG7ST~ zrS~nSNbfTaBlY)l@5(~Fc>ESR@qeo-a8ym-+EpmUfF0EqCNpx_zpYuDty%S1X)@PH zlb6>=7a~z!L9bjJlvCSjGg19Mpp-f_VS9r)Ixa%a67grD{WX3e9~VF(um@wfMf0p+ z5V{1lag3Dyf@_5ve-u=C1Bp=xSA2E!bpWqOfH@|WQ5C;mq!NE1>|B7NmygYnx-ENQ zL@*U8$voz6HEP|#Oj3P$hafNcO+kN#(^Sa;uJnp+j}Zb9ZHbCFeAr_jd2R>MM8|$o zGx!Ge()ocw@EM{Bu8Fhk|3qw~Z@{O*wn`B$CL)c&dIFhfs4zM}#ww&?l%$_LlUWyi znxx6Dswo9FjJAo_D1HgzUg32Q_$Gs4$pXB4=wWWvP8w7;F;7D%+@H?7?O{8Seh+`7 zy?Cfn%wQZj?Hez&uRNmJGd{JpwsJxl&&-U3#$(`whGMQTT%WTBZm`gWLl|YCpFuf0 zJ6{j;Dr%TGGCPK7Ryr07E4Kbgjfp|v6;ebouK$STo!Mc>mTIVPXSDH_Z+sN8J)7O^vaLl-@UuMZA#ofESU{Sny^ z_*SfLw5DRd0l;6unw{~|zI%A25YQ_OjoS~gy>#!yXSTMK3H!o`NAE~pxkpHwnK^s9 z_cTd(82X$w!cjfph5U6vm7%UK*9YA0>w~>Y*!9%b1ex~v@umRBNN{c7?LpK*=W#V( zHSEn+4lGc8-A_|@Z>;$Z@vWyO3BGR6?AT4}+Da?uF0&A!Vv3WX*ChAW>HPUT|2vh$ zL3x&`hSA(`KvrG7>)$2|Y_Wa~ymTxBVyRY_#@-GOZy0153 zu`olOhhrPlDw~mwvBJzb)4O4AYoE%+N|6y!nsexvasX08MN6eM-s1J?rFfQV=II7% zESE3uGs_wqljzhrd-~ZhzKYywvu1DU_X_)vu$Nc1icr|9Vh=l{6Sjfqpl{$_sfPFBmj}f zzu%a6xSM#e2o{5xE;$}~CCgd<|-Af4I2t zo@}IDMs&BeK9@u^2)zf;dpVYV1|$RCT{ozsuJ;{A=aErajA}q<>FkUD$TTkz}sX3p4Pm;RhOsZUNC7un7F zE&?@PFfZ&-Br~8&$0;)DChxRqw##PwZEp-5a7$}m!bC%kjkITBUMY+Mig8VUOYE|p zK4Q}@HLngnpQ4gIbUr!}%~vfe+|7M??1gAT#<4Ka2BNg+!#O{kKy<^Mnw+wgv>YvD zjHZyq1|<3!bKxpYOIJ?0%mQqu4a?kB#!E}*4UT7b+q!#~M{e{}Rk;fsSqNA@YTV}8 z(ySd4v{0PIqs1qRk^Uy(n{^q!?6QY;eycP*~ZRP7~0=k z%&?|K_3cPXr%Y*;GNQfbxF=TP+K!j{p-aF z$aw&q4!(TR!`Rrt!Pt!N61S#9IuOMT_TOh}92uKSsj;aXNz`g;H)%fo@QiDYF}iM&0Sr~(kR;KjlBZU7~H7SchMY(<~MN3qo#f~(wJW|W6^_IS`D{$ zdpO*?`@0R7xORKAC6NZmORYv@LW(`O=^#sz^6I6Po)tpzAbxgYJirj687IFS+<84@ ziV(2=-Rvs#{`DCS^Jmz=ev4_BV(R{eWnm4PVCju>$VDn(Sok}zvDb27|9%$++*qlZ z-fdrVYCYaa+__J+n`B=`r=0gz1P6H_Y_k{mai^YOVn$d1m)7UeZ+URilKNm}-fAllw6wjOSiHYN!9Z7Wgpe2GX9GeVW1ouql_iXg} z^Yy10Tf7hz+1lNv#mL~Re>FcFMAg1J?nzG0aUya}Q+go#ht2nU%3h+50c&BdWG_sFp=r|O^nxWO>qreJuMaSs39HSj$KU33c4JpDa?tq(WJ zp~_<%Fyl8h3JMgH2wDC}@hatfG+dySS%p{mL*alvA#~|z3!{&ol)AI$|3)% z|Ml_sNKRg)mclm%2Zm!;87jbGAX6Cgq=EA#DZUiO>Mxlnlk&m*b=mRJiVjBcneqrT z0TKCBItV3vN;TS^k4Lg4NjXQ4Qs&t^@7`y4^fKBrH1DH#{1tu->cL{{wROuGUqgQw z^o<4_%VlilinHSw?n~!-f0z_WjbevT^z{st@O@HFDb+XHeb&<#eB5f-kJT0O9V){w z8~1rFcL`e)mc@tP(=twUcrJR`^vK95Mb}Ik>La!0Zaa# zQS;NY&={<3KK8g=(~6O7zXEk)2%3piD%)yK!#ekgBxAo>k+Fr=DEbTa_aC9Tvjk0_ zMnIsi&kcE_v20-kbTS`_AiOW>%L^|xj_KTpf@ptYqnh2w{Ri4(vHOkR((=H~M>3+< zgj?;Q;mb85pF<&-l%G_7IcB9^Np?URYm&iPco={9_#HtrQQkgsc%KLR&fwz!JrkXJI#YIgptcynSOVspy; zjD+G}M1HGz^z?oe|2BsB022i!%6cU$!w*hvvcr4L_meA7*3Bk=x8FQ%0~=E|D~Zf2r81O zI(us#m2Ng0db$2vwf77><8SumW<2SRq5Gda?!L)F<4k1kG&WC{=3V~yK^nxA3S=2UOgsXXmi@(vyCZ;QSeE5 z?Q^jm!DM4G$_ParfF)bR?=iH8Js;LeEcnVrR>tDQE-lT=L{)}wkhq>F5{mHQsprY# zJql9*$8TyV5ud;%YS_K6Z!ID~x<*cE2U>=sAoCWlFL`hbJ#2|cVvdDV8MIHk*^rHs0Lp+lV zDJC97MlLydxK2tMpB}pIm!M2Evp;PKVU;e-g}v?d>lkJSG*;%;$HbCVO;C17J&UdS zkytsnfghi;2>soM^|LwyNp*e5AS@-}bP+WS0e@BC87Tk#o2Q@Ry4P2C(>N9+CCcy} z&s+CuJLp-3*-M9NDQ0ra*CPVaqe^(jRc{SpbBtIT+RdEA7BNr{6Ko1RXc7gK&xlYY!_%0Ut}r~P~aNz4D~9#wtcYyM83va3W8IY$7sb)^R<*GFH*SjH(j zW|Zj@d5jjBrzO3Fl^6H`UbV#vX@}}DoO^Q6C+7pZ=~iQ@h=X1jkq?`fl274UXtL7!!rR2jL1o_~RWcwfg6 z)j3fFIeh(Wr34?cE`63K55s!j*CA9NoB4-WzS6~ z1A&R9l^j=tK-!;_EqLW@vzvTW_}t{qb+Rq-=vx6UiQd~LvUzAs;xs#)KU#%YCJ9+@ zk$eW#mkPu47JLSx2s3-K-xQ%#K`brVe@JG4Pr_)6*Y&ZS9#YR!g|bn^GHV3>eV+GV z>$c1gF#Zf)(8c1DEY*#J#+{D87I4%a_y8-lv+%HH;L*~>CVKu3Typ=dNwK`8#tWH! z1tKKEJ`(oHl=gf^5RMlyb@&pMhpR0KURYc9OZisbiktxoNS>U0vz5uS<_pJs#Ejp;PE!(N(d?@x*j>;;~*Pm~9;|SfUU1GyB z6qYu^ds*m&$U8e-F+00K4Y_m$`MCNDeSId6Xc&zJWYDkihIc1-G`?=cZpbC$+y~nR zA&hBNhx9d<-ss%-Z0}61?RbV~1fN$fclq51^M0kFqF(naT;Ox|@D+U%dv~!46y+Y9 zmx0wssgKVHA+5ygzBP?}*~+nYH*^2Dz`;Y}>Mkn3R$$Qu9r&gPo7TDZXq>CIR6cds z67nVF7H}n0&K~84bMkisZfeuV!^>~>|NWi_zVds|KH*Yhh|3O;5~$+>iUYmeygFL( zUoVv2Tu(f#52SAC>iR_C0t>>GL_jDpKLlsgY^KMWIkq)8`*rSKqL9O=(5mMG)Tmr) zU4S?sNaB5#D$D(t#jRTR_06In?fCe3rM1XwmEC45rJEwfjlO~Fjl07eSK;gg-2WLn zL}8D2%2M}7_&cy%`Suf_4uCj z>E>??a#{R!xg9wZd!^!{LR8Oh&@-vS#rClF>Tu6yFdMe|b(B$q}7DcHhm$iHWA;?%4H%kmjwZ}CywzR49cJ}(*yCm;#U zc;1}7JdPlg$Bj}<83kzf-o}=)i;d$=F*U3s4HP7@b}v&)*yyyqP<$$#VUR*bm6Jkc zC#8Osk1j|`TE-9WtevxQFjQ4lPdEYX03N-i-)85C<0^m|oVP@zMBgQ-e(c^?rFDk^rA^bG=ncadbtaN@bypZM=%(pLXwhJ=@=% zoNWBz+k)r*T?(CL{*+r{`A*kDNG{2hL^Ey*wz{8w)prU zf#<=9#7dtmUo^ymWL(_D#FT3{(s^rdaX_@`-~90U=E?rp-lf;tVnO_+_Q$cqL!B8p zCr#zZrd|6ErU)Zf5yKbqQxm~wMMYCAEwS@s2gWYb+=EYQ|L(s1c@m~E!S{mPp{SGe z1S4)BZ0BrexY2}@OCry3vy;_-ZF2pru^xDAbe+7WIr3>~daXarpC#s3EGVMk3V^r} z#aSjVABHyb@GuN8Jy&{1Wn{7(c=zvkXU8pjv-=t)I8!S2ni^$-uF8m2>$)=fvwkq- z!`wGn-u<;UW7cE2b;cs^wK&D|-u5oh?wfzdIe#48{V|bgVLiTlysQWAw_`5dC)Fdk zeJo`|Osg|dgw2ft6Q_kg8;TYFOs>~S6~%4C_~2^!`6i~Qu7^zv-t4=7L;1>TiNUuw zeWe<(OCFGuV3Yt`|FTJrTOL(jj%vaSQrmiy%hN_vUS?&)3UhdmW!9$R*GwQgcoqo+ zFH?&EwW=ax63?)us7WCKPGsRNY1$GckH8E?3-=xZ#yIZf^l-@bEk zjhjw5vy}m3*|2$X;O#9p_r!8S;%)a8c}UGyMgOqbqjBRI)sxP41f_u{@)8ItIh-=) zD>FM)#%=(Js(-tuYVSF8#;k=DLaqi_{w{`G4Tb3Oul(JfyA^%|4+|?=vHUV%);uTB zbd>%CyFt;O7ykTU%pGR=o^on0vk3k7V)sw_F;7*IPh(*MTV8t0R0uCtfg)48E)9HFSNi372d9-j@Ns83O^m;*rNR8i$E`-#!~paxB^ed3}vU< z)mu~+of8rWal)j4F(L2$vfhW#w=~aLip&l9u@<;JGQ16}hoU~gvga)hjp#P#58e<3 zJ%ml%+y}nPN0}IxM!!;JMue@IIj#k+E!DBAWTQFv63H`t1a0J&-g3N@UUpoxM@^p> zm?jLpgqS!9M7CvSh0`}#3sDv8zgEvZMMz1EY0A8PW|zWCRDVDiH8=<1*8H@0zI(W9 z0nZ}5y`Qwj>et2_D8P+79mtt~hSPWM4_|Qp0`}mgIFm2pp;U!8E_1_5A5KP=m&a-n z5~8Mdz+mq$|BeFX9uCWH|JOYBKcC*HX&60|7;6}%czR6lYk34f`JTExsS`Lx%Y)fh zl`ij+E1Cop|FjmEW#Nkyet~{+H8-+~qkF;Hk9$kI{y+yR_Dk0LFlv|4j{IaZvEwf0 z&G-~jPyn&Wwub)w50C!sKp;VrfJOvZhH!#=`w7sm($HJGDn&ef z41|jho5t<77^dU_nRysy4Au-df~h|j9{M$v594>UQx6k*ThP_`W^m8ng9D_Qmh^o`<0Nr2235NGJlgVm)K0S^%~-jYpY{`e%$vT zql6kkee7AaYVSRxXvL^i6t(wk?OD_wHEPxv<&mmQrG*7Fj%4?RZ(cd9Lbb*yssstB6#}kK)8X-JO0>3`=Ls zf%9<}QKc-e8k{)eKdOq#bpW_3$f;j6KcnIv%d=tXO6>Sy>fFbR(kig$L72Xl`~l_ud-^55#_nyJj4(2*EC653j|usWNw)BmuPa|e@xf6x zJ<6SS_MG5l)i2BrWb&sF^aXp}el*?zFJ~-Fj@1VJsh4-~B_5Hzi3%CM62;7p0f8jY zaftqaQOcjyq01@xJU46kenIFn1v`ErW%mH`!ry4p8=ae|^d%&dAqo8I1t40DNgCOH z+_4);C99r3zVF9(&`54=}W z@XmFGe_Hn2TvRz5IfKy0uf8%34ab)^-iJ5cEWb_TIeaq(Y*~zWx&SA6eRgKB~Xqt3d!qmMl~-`iK7!iJvpT+n(*yq{$Ka(6ho zdqbciDHoy!Dj$zMV*$8Pet%OQ^SI~(rBn;SUi_Qwk&ur@mpJz`98l)^YF$HlJxcxxap(Gg(kXU)2Lb0<(&6IdXRO!M0S`khFPEZspPW|* zHvEegp#jAQKZ}&Sm{oKE(0Nhn>XVt0;7W6KEg(N#0S*MCCIWl*M75)(iBO5^dQI`OKy$Y7)-=_8da zZ9rr)eigebnVkK=QrIH^h(s%=pc0RhmH1Ig>Fj(~%AhJFYb%I3&T>%@@FGi(3cy}a z0+R5IdX#P~$e{noxRpd-;ajJf;a9)f%{oDYC}`CMe>j~9V8%e;$bpH^?(HmzIO|pw|ZY;x~o$c{_AxV~w)p=v7b68bA5rWGlpNoOve7vRm6X+wv)lhv_)>Qfv$jo9Z zD2-1Qppp&(KOlduPxYobCK<>vjl34xF;V-lYKfG9*pUsf{)+i-8qW!;(o!2_{7;yZ z^|2zOxR6GIHtldOJH9GI0vVMr;%WY1%M6i041yy*5kie|PSG%)REeDjXCds(iYoGK z+0_6p1yYw%FHZU$Ieze(+i}^^gQ5}v&L68X)&9)}{bk>ypA=z|s`F3o9|nNHw7gnl zV%(fhBTJzw1{ZBe#uV>QN`FPBzzGM+jUT)cA ziBX}#G(Mv$Jc*2VuW9Kgj9mSYB~Y2jOYLGn_y>UT=adtB|EFZ#lXQB=Po3RPkb{uK zlK!2vFkU3@hY~zMo?*c!hxD0(ylT@`R|7n-vBYqsj&poQsWhOx6+zA6eAKH7{00G1 zKgjwMANbIDn3JB}&V%vuTV!plGlfYskYDt$D-+K(G@nbUvUK{(-k)!;0(^B2PV4qy zC?#({s`6$l!L6n|uY9X~Gs&6I8Bb_Z+P0I^b|fyhgf~Y1+#+84^9^-St!EvEi5BM0T$`M9 z77@7aQ|9YFgl8<{QT-PLjthSEAZ|2a;JvW!vXE%+eUBP~043y(Sb@zQM zSanyOj7Le&rBaGnbs6CIxA)i5=#_AZ+3wJ*P&xh;*xmU$T;4I-%;g$ZS*-NrnHvto z-xYf0`xoWlo*^-cGgp1J`O)5;T|y^4x)O#>(LVY&a(b2IgkI@ExJxtQgT&3;1Tzi3 zPVT6@PY;4w%For!JvCTi%bqAIN)E=Jx!x#a^&;f0YqqL2HWb*sq{;Q4b6dDC3_hqo zJUx9Q$KQs6hb}D$NGqP)PVpevZ@j~H3A=BvEqGM2PpsrVQ+PQBMBqw;d0@-l3Wqs; zWqr|oE>}*7W0b$c71vx0m=6-WPJQ9$0oAKb3 zUXh*6%5s>yc%g#qH>AI$^<{_RXPvm{yU`rs>RDLO$+O}6)uH0I`R^mW_E1evonb@| z2m%=s=1+exvpPi^n3LT^vtj?mP4Vz-Hw_?$3a&P(ndyQeWavv&LfV4TS?`W^W;{HYT9j`7GyBH;vR=f&B#AQ7WNq$#jm?Bkx^pkSr%=>th``W#f60_nj2!m3l%9+wta*1V+}5r2VDdMa7UcXU*r%} zbhX+ffWEk?nwP*4;}_jqXXi12f6Y{gi_A z=4!N9&VJI?$*Kx%Yq@U#svcO@G1fLbB zc*M}E(Y`jx#r$B-Ves1PJQ=;(KcAsgVp0y8Wn@&AKV)ND8T+r>x2#cm?09NTrX`5n z|NG*rOx=o&H5&$j#a4*d^hulPC;}4h-Qdw@+kJR;GsKfQ;~VrgNV?f2L{WTr;%>ik zchcbRQ>MA*TDJ1d1vNA@}dw}i?(O=`Q-qniDyXKOS$U~ zj{fqg!UvV|G~?IvPUvj(gcYRwl7r&+I|+)cs*%y&W`W^w?p{lo`e6pQmF#L9E~3O zG|I_;w7Ce!2f!)S32%J+;-2g2Z@Bt;wlNKy*t;V!V?kqpA60+ zGqY{?n-O;>_lFVp!posIDBOjrh3}^A3nXMjrX>fxf-l7*%!6ygjId&cOmEeF(Dz6S zejo*DLNF`ky?oBL(#5h3Tl0P?xpwTomGJtAPTCX|j7{pfMNGa6JYPE)n28(kP4^BC z419NVe0frQ7bv6nBTul-i!QqHeq@wRJFgZhxXJhG=I$8kx}awb`^&R)W8@$j;7byvv8h8U6IYOFtbQ3FA2^Ka%rS5EnBU;woZM9#W=sI zffd%HW@$G?;4cW(-bn3s2C#X0(E)Out|li{P3%X{eEo5-A=1owN;aj?+rT>vHco7U zf^raIDEMF7v&H>=MS<<0U%BPBweUtv;9j+(QYTX~v1VLcLQ7;;MSH%4vdlt9!;*v$ zknSrt;@1a6@F%X%XTdJZ79LOCQiyo!4xK6*a_Q@kgEzs7J&F+W^k&xtyECPd`U*d){gVvj;+2p%JCVV$|Djj1L<#_0emrvyF&=!&>UzwxVZ z=PW$;Lh)HG&@(cQ{s23v5WbjwGU>5dbEHJd^Y}ClA|L3RWS{YnZ7xEUEOsSA&X)k= zwulRuuXg8|))O@_nW{>{pK_PKQWPLq0FaA%ow|nK-YlU?H54hO;~1AimClj+i;J+F zOFOr!&W-Ie^v$+wl&4_RTP~H*BXdHsCY-wYlye^Y_?g#is(IuM?b{jMOJB5EZz@vd z>`O|mrhSd}hWJG(hwIN$r)rBghm35-U;Xax)=tK;9P%Gi{k0{35VXnZv&R6SRrFlu zt|Aj5u@IEGfo7F<2KexINRKjlP((Z-#q3-<#4|Zj(NgM2AU;U+eIlij zr{H0$O=>=q$|EW_>ekt-5-3M}Ja1KikXF2s2;d`2*MkKTOU^#p2vsl;xFPm5uY{Cz zaGvXXtVc|>b6XMP>-g!6ZnhtM0ZNZ{H*syQto?RSf~)X8@p$|O`Y1_PjG z!&tvt&3$cm85_G$l-)KD7w1k?jY_9+1b~pNxB5BpU&S{9a$cID`r{$Hazs)6WQ{@s zq$L)LH@a)AL+!%G@!!0GU~r^bVIEXmem}LasRon~OPRKm>Q}ZO0+?00gvgg_bbK04 zC3{>73>!4PZSpKqZuoORuRncba^Fq6D_>E2NG^xT*yk8m<_%IYXOGW)d{`hmVVaND=91! zr+@?l{tV2k4$&SIT8KtB%3E`iRzcI<$Zj@p*u{Dlwnikyp>3oVy2;Fr_a8<0Ub$$9 zh1DX-j@r4%LIbD%UrQd~WCNymfaOQ=Ne|@}*2Yv7Jk=g0H%!7>q7|ZHy&Y{d<6OOG zu6yCmsi0q?%5$+-7qU>OKmTFH&#TKVbW;F@*LY#20g}a+fkufwrR|wBU^`!db@Fzj z!rhhr72Wejwz$b8W4DWbPFY^t#W>%KjH4;>YC<4e6nWP;c1i$7?}EJC(oiHlUhIIH z!A4oAL)!4N?7uo}&kz$s21U)H>R`#_pQe><#Z_P=PKBE==W!2-oC-q=0y~*LrBWep z9zW3ne*mTDsTzR6w*Q_k(^$%Pkwt>v=f!JFfWI5sw}*Q3dq=znXnbC% zfuHGb_VYJ9WQ`wrmF!U+U)tY4tfKPWRD+m)*fV&t)l=;#7UAA}0|Edd0oq_yqohF# zLN$98+9#ZLwUW=kYAA{LG!t<x|D_@~>NI zfjU)dQAga|KxBYa?B0Nw|Pay?Mx;armKL!u$TCdI z({auo77~3a6n_aQq;#KOnC3Q#qEzj=i0A56k7v$}VUH}gC*yf0p?BhE%(Rt7qxMb- zBn~cSc+2yOhOU1gNw>L|>Ivka210IuE^DZLh;%5A7atl2sU4}lM!uBpEoBGm>ybPH zjAX-9^EZu`E@ZzL(1{j zGn=}=Uh7{}^+Ih%eBjGB{nO?oYPchGL;uq(ZdiZm&JOM(~R}^s2YSmWfvPVSN z)CDkhd`U>os)5J{EXb?`*GJjoru``3YKkhSKFJ_GQQ|WTsX<0{`_Lnf7=Vg%dJ3RA z17D0?JSor^s7m#{KtoR3QX1KhNq71XUlmNAYQ$g`%}!{HR%dFLSMMK#z&_1>O|X$l z1aasK<2_2|u#?qd|Ff#VDL)4#^}iU~)94(MC~ehecyxZ@UTKLe)m|RRl zC+~;LUTYoFbyRDXp769cgbk!EXOw?>$4B_p`5>`a25>HLhb5K*Z{MSXh5;HwwosDM@IRLB3Y?+ysYSSf&+;NnexQSMnnE&bD6m)-=@^;2shW}=R{dj$9dq}gg%`^bL z9A>nIOJS+?7oD;su$ z%YgJ;xdw@kHsS-_vnya~w6jSwO9xA#tnJM(J0o6j8tw;aAqqm?#x zs1dxmT3Z7e@DLL_6j@taVV8QaNQCXcY{u8MK<5M$)J#~~AR(@Ns4{axDdbZVtfRwB z2sPkp>87YC+iVsjZs95Y3929~`@FWQ)kTfaJ0vV=PzYCGN9-ajypk4o#WPXtxp!S~ zv7O?KU|NJbLJT34l;g@)<8_|mF&iWA#26>Gn>sAnii_-{(;tV2+#TZjn@K(DnI%p- zivKBxUnK+w`1mZNDbeHg(kBi*Id`~X_C42#kRX=U7UOB|M?rE*`R5@pSD0D73B-BM zW2)p)nN5TUZ!%8sFrI5`aN&kgnRkBhK0UsgoSG^(6>4)M>84cns;H1!|laoaDkw(bU;-b}q9(b^9 z`4!Yf8bS~gz4kNG3U{mwi6{zL9aJu4X3mD;K%Mo=R!S_&iVA^$*;3xi03SJ|SAKJt z3Z_FRWsh#!ejjeE8G9?doJ(j7^TKl$p*OQbR(K*?Jr-SCUZzXHPrAIva~!m_JT^YR zt)6j}VJ3?!!)brX#-I8Z3JMBlf{p)k$adh&sQBiFga<$7;4*ujnDAXAn`e++#X`E5 z*zSkG3$*&jpJNVYjW%kHvFaajY0e7K*$M|oVvXfd^`%B?zP$c?E(=qON)9E$T*shv z$GSTG2Oy3<)WLCIaCnQkghw>rLU&6-?N$p_Yi^??Y;6^h

    nO6X*HLR?jsgUQ7DY#2PT*K&h5dS%EWQJeoy~B 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≪Jo_y8)P+0@?TS6Jiy?~`r$iHqB2d7gyHwVRU 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

    uzz+QFnhT?iSXzS=B_T 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

  3. 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Ⓢ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⪼nr?lC!U~ua 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ǨdMc*}|o-rHbiV-)9U{FL`O7tfleaulH<=46nJK zL5c_2^V=ojJqMe4)krSWEqBG-f6h@4+LU-5KqEmW5vk1#v_E!t-b_mr>!Z5;H_`gW z+=UB;f5)n@hLx*%=`54H;Mzvo#r9E!w{V0-- zY{BBO+{I?s$-{_~oejCAH#sAxOKYLKhM_%axHuyP^Nz00nd9r}?vGzZ71VZLO`2aF z)?A)XPe?u{QSvOp60pv<@g5ln4(ucI6ByhP-%2zw|Z$9iI9KxTMFo)=Sx4d#q1BqO?r6y220&W zh8KA?5&(><=?&dA{|;H&M4Sk&e#+2wz5&1b#j&+SfGHTSLwG%%=BbF~O?zo%`#yo@ zG{^wwFyV`nzM+}nUz=SFQq^#mw9SlmXJJap#&2$qn%+pXF}9P1Eu$Q9g&&s+LJtog z#@EZrT+hEfE!DI0HH^`M+gR9;d~x(}(!uC5E_7E1-*|CWQB(Y~>oTtEd~Y~E^mz2) z+S1I*;(mTEDmd_Bbqdv^bk^S$;O?I!d+d6df93G|u)A-Zs``!_72KvuDe%(CH_-7z zo};_;)_l;FX&UR*f$QZ=Na%X2nHz_d(6B=jK}wl)4s4EG?g4+n<&IQnmw65JTRR{g z-D$2n$RFN) z66NxxMEG&hPbZS_u;zEMTT5cXcAiyw(Tt$nJTxu8Pn#)ShnH>PDQfZc2?FHG$O(jYM7BV^X)dMZrxYIQ1D2FgD%d+tm|rVKf|cH^XgJxDXWpQ zynM>!U5x1jSp+7|6T5O;)9HBoI_}giKRDgyvE=4waRY5?EV9qBad^CUkvw@UmGYw4PKR|v+j zwLgQE2|2MQa}fU(-Fm~7w`XTG#_ z1d>LNG3||t6uS5Zjvt2eL9Yx>Q!x6vf~mjgCaiz7RUE?-Em*2VW4WJw@zEHkrMBIm z`s1WasY~l$0~C6mog8Vje6qT*(R3DykQIU%+MS&llz!_2D_R*?yjrn+hy} zGpgg@@}tRHY$fR6Zrg6Oy01GWt?Bc5bU&=laR!!wLSNOaLaqamtE>iaXMaMG;xCgk zTA}56YeqgH6^4oyj20Z1SpPIjj+g_f6$11kyS3erdq&tdRi$w zB(EksjCwaFd4(|#9!zT|a3q45K7hV0vz1orsb(>Ml{8wSOtR?BQO+@ee*)s3ju4WF zE+|;kd-W45A~!deaZMy5I8Y-M!~<59(&h+1R(#DWkZ=E3uFSgn+Hm3X<-(_T5tS8N z2Ucu?bIy$nKYn>B&$kUit-c~*`LHc|?cB8NB8m8$mf_DqY>OV9pDTW-)(p!(e5mKa zuD)gZj3Q?1t<_TF=A*GxYt&4A8y@Au8}8b5u@T_wdD&MCP+jXx9!8frlMIP-FKn$e zTE4UGRuf+iRtk^f#o(jc@fv7_(00F|>J0y(U(3Ps2_?0bH|DfW#FOlktvryAYtjYm zaIGaWCoFWCgGLrF^;Z7=jd}T_L|XQGs&xrPza{&te<5F{=R4eSX%&$-=kDEvX1RP9 zLZX~qc7W+Z&d!%N3bMiHo1*CnI@{|$Qk#cuj`##z03@Oo*ZR^H2;KYRPU*r9oeihG zjaZ1TE@zepWKs49P@3-WPB_YZ)rD;Ie$eKQ7zHEu$GX99#VZn?4}Md$SPB?B8~JBGyp_zMB0jiE{O@K6eo*Mz+$7;V3xXL zG-X6NjsJ>a`QpXsV+fT8BNK{Y*8VA$Y@AxOSa8@OTP;j)x*?97k!|7otp#M(9n<++ z%C4x*eqEX@!^5DKA6iX#V1>cPgnbk1&Q2PC@nrh6{d0d~m%lGxvtVrDz)e0IeM5gE zKWY)=r>v>@`7_(_b>B^I-!@9@aKGKY0C1{%2OsZTv=wY~D0NbCPEP|=quF~+nE-0F z190Qf6(J&r%!2o~NxsBuQ2su`=;-RGe#uV@6hdfvrn36lkI_+W??!ZfHG}T+#}CW< zoEl#XztRe?HTjFrxhD}%T1}jO4CyWgHAcY)#>_iMVuM2J1nr(bm{|4c=xlBE51pj% zS+w>)UDni3_d#bDtnF*vX;F#&bZu>05= zJbG}O5Fj?OKct}@R2ffRTXC;sE%3ZEOG!tTUQT(qQLISJ`o948tKx?saP4huYPW0Q=_N_-^NBa}{ zuwSme!4n4lwOwt2z;4;#imJgKm`421?b}VnYS53qrC}~3vj4nH5OL?tby102OiNHT zh>dCL+-c5K}BJ?9cJaP1AEjUe5Ud)LP!LE#1Jf7|53QE&*2%W z>-4f=6-{$14jx-=|Jyo+-gMeByjA!PYt|2cBQNK+F4NM%YmUUJ&FzB0@^)frr=vB0 zBgt9r^++vxtN-rjrRw!1Y|s1qn@E+VCgVj> z3;u6HG2Q!Oq4$ho@u*wr07^XEZMzgqhy)RHHBQ_Cg|oP5x58X9h=*4L!mrUA!gBl} z0=;`(en*`rDskt5Qy2|bF$+wZ2p}S3?iSI9&RvDyib(t+i5iSrS4Kg5qx+*}3zv2h zd>Ed7!QKx92fK0iMXNygthS;9&bj>Bh<{j+@>+RTaHtwL9hkc?b;$U+ih8%6N4Jdc zh@yPn3pfOPAH$Mh&CWw1UnfaU6WLyRpBpBBboX4$nVhTd~+@ zS~C$6wn=8P<>d=emT=Biq9Wfv9-TQIH|%x!T^jz7r)}}B-KkbuyO&zzMF+~UoX9Oo z-xIOv9nop`eD%bgUkd&3ub`#tY#d|{=A--lR2NYR;ZYJ3Maj2hLRq$JhCE+3v*R`;Ti4=__XuHvTF^vXS5m`73 z(k2!Xxwk3TlSnl;EB0_$+$`ijmXI!eEZqq_vAX5+F&s|feH!vNIe%pj^17$KmiwT!x zG`+7 sup5nfV2B6Csn@c=~)Io(JmJaPK>uYLN8jnSAbrd+tPAy~;nB=v`?5#QHN z;%hC?1e8I`;}057JjQS1jDgfo12ME5m<6l($Kf}t8gO+HU*@+fA4A?HFh)nbq}~1E8gygo)c!sr7xwE6R8+i(N{ba? zI|WBQ+nYo2aGfNgrRMyt2bu+kk~QxnS;6P<^27W}ku1_sxTf1GYA_O)RubW#H)>cB z5eDN%+GdA)YFJnCSkb<_35guR&_Pj4e$rd-n-rLQU3HyVF z#mcI;PJS(!KA8EF4uqG+m{n_a(n+L29QRtHxmKNuOMm2UtBE)`H#d7#j1H-#`LL{L zQN?sxb~76KNc9Feo2}6*`Z1QF?$d~{3K4xg$DD*CDyc*qYEWujp)Ts}Q9IZ3SOx;kP z+<8nzAm*?IlQLkuS3FcFEWL^TIL=M37{o1OmzoI3Hsff&F`mZ6li$C1kA8^dTiOee zEwzAicJRbT|Cg#o2Ay5t;qnlnV(zE!1?0<&(^;@^1~mO`KnNMO9PBoSgeM}R6;GaK zuAe|yd3vcJ_hT9?w{rioJ%c~xm3TbS`m^pSlcrm`CYFy?K5}7%1+k1yN<=}dw(?Lm z;Sb|8VP3d51;9OPxx*LyVL?G<8Ks>dv-c!Yu|~^tQ6S$XKgaoH z&@h!mcVEjuFu+!fvSQ?C!@zFOz>$zy90zKfIf80VO{&#?-bF!;UwpYTXI8n3@B|RZ z?xD!Xit^I#@T}(Mp#FrD7D$%Bti&y(9{gcFE%m&4<398((=KwEf;=W>#_6xJn249D zRImMBhfX@iqW_&h1QjNT-)~1PgGmMM8-@3ItF~0>u4OAwdXxF=!ctkJT{`sat$)_@ zTXd!#ZMFn$1t>T8rS;dx%>L1XMm*AS(NI;T7i@#EHt500zO3&KUGq|H7uHx{dD{c( z*vjuG#g1=@8LJa8@1zPJJuaGI)OrhAjCgsG<44Fl?w^m1uP zoGh~7;E_N7DPc72PyxYS0_C|d6umkxd|eVU6hZa`=#GAE%8pSjlp=$tY_A?VspQ^$1<%+ zw%2JQ+@$YYxdB@X`H$@OL$7MCCPqo#x_U}ir=q#L#F{x=#^Ke$*kype;nm;yi~eI* zmuq|G9p@D`FOv|>;8E^l{&Yv-Amw2@l%ARdT1Evz)v)a0@c5pJjGD$ify$qu<4?2}t z`%O6Wsl&>!wi_BtJOym(z|Iz0GuNh13{^8X=j79~Zt3o$i`!Tmz5AH>=;1J}0@=FUiFlMVrYI>yOx0x!O+b30MUJ2o}0 zXfRW4iM@`FK}G^c?#Nm&-m8tWs9shf=TXMoOy&;^Yl3;mX*e%ePw80xls>p2=;E>} zuB=jslZk62cJJtjnvKP1iZB;^;d}M(V0cJ8|&|{ z$b*keS;IrmP9VHTqf+zw`u-t4Q$Eg82d^?`3vQBOX5bIA?rfZor_?@Zb=Ki>ou4-` zK}WGLHP6TcKP1kaojB#269O8`L-WMN={uj@Hf;?F%uPETTsbA0bz1f`GV3F5XXgH z8sWEW^)2C{9*B_B{nF6OH6>s7*`1~u^Wdw+KF@-*p$1JCxyB`FMTpLADg5L{>T^c0 z_*XQ5E#Emh%qcA`y%rrxa=lcjFzE2q!KHtCa5daibM+^O2-Hds*T+}>?(t^+I}Rn$ zJM|7*;kd7r31bJ^d8FiWa}|wohBs7RM&2KhzWs_{HEj(XaZDuM#mr2o#|g1!B}Plf zKY@zu-52k^@tE2%cS(!ux}*C1apX%hX7Gi1=;250@9;;=y{~1B42-R+9>Zf8I6I_s z@(ptpUb`0d9Zt47;`ifF22_{UwzRdCuO7x_h`xTof0%0zJq<7udGUg5_hR!+ z^vg-MF;ylwE08%{V?5EbzQ#YqD`$=)ST>&$CYv|CbLm}LTW5Z|5IMS<8M4-MASrb} zn7Ut4_tm|O)PhEYWM-ELuJ~X&S{&N>SeKky;2^S31Mx9k49vI}z!$FPZIIlPdFS(x z_IByOy;Ic-Y4gt4gOhO4wLU9GHiFZWXf0F9sPYy+Jv} za-)?3w-Sjy%56C#-32-mlKi-aAL6x=Gn18{S6j?*6_Y54P&qs!GW$-dUHQ=G1-RIY zAg8G6$2O+ok#J8_;3=FUl3!-6U1+bGlY$>1sbngQ)2W!LJw0n`}?mKz?${AEWULIry>rK?tPJCh= zQ^`wO=y_XW$=xeFwr_ODDjf7%?14{PL~4e9wKy@zAkB_-Z9V9V3reIU)19%k){%X% z+4l(?d$1%%2c{}+Xm}FocbqQwlq4C#n>On-3B$nZZ#Uozx z-c!HoglQoyzf1_NJ`7-?vegQkTC^)E-Cibi&ress>tbi~Y_}!P5Q)EOU5uN>Zy({C z02H=2ovxeNUz63oWWc z(!r%Md$@g|uI_-2qI+*E;yIfdiF9>-Je)GQaV|_A9f5b9FBq~wDogj_XnX~g)-?^2z20a@RV+mkXpIrfEnm6I#|wwR=)zyO5u9CI z;^bLPzV0%rtB}z^7u@fhhB)t9_9=oX_ugx!F!z!r-3$qmWVPZ}=^l?qX7YawH);0w zd=Na~@j!+O#my?9gG;d%G>T{@((}vmL#WKByqSa<UD-Ta^88Pv%*anw&=!my~)lFad-uz^GY z8}z#ku3~vS`nn;Wn^h^Va@-aS^V!(24~sT6UwQ4zl;9g@Uu_X zHBKgg&XDVwrGWYy`U`UHLrS?lMkjarD+YI5^!ocdf0dnPu2W7?X6#4Z>YNuimmHv9 zco%fm!xJJsp(K5Lup~ipe=?(^v$pj0*?DHt+21!m5|p-qD4Y^|U%cS0PdwlEcQyUjlxfs01QeQU z)_+a*dvzsL&+Z!i<2h44hW`ww8HwT~P;Ez)nIfv_!{5)16RYk81((c<>h=fQwQS1*yl_u7As9QbbLHkn)8} z(TVX|LfH5LR_-PFU`Yoh-iS-GwX#uD4p$TpO4I{FuVljXnh& z4UVK!LDO*ek>(dTy{;#D@yMw;Qi$RZw#Rh}6o!g6f4TZulo63nIV-+h%kc?biCxeQ zuo6~ON<%{;ub%7p=Nn)=xn=(TSghVV1`$AVgg_7z zW9j}3ViW{t6z;SRT$9%>UDCM*2Cq8>$u5Q+SJy28PE*D|)N?yar-e+PAV@@v8^23M zqYL1cSc;+{kD$Xxy`K}aNrm5rBAyHgptY-oW&;LolQF=$Qx9( zAgwLt*g`8%ZmluPtDrx-;}NEjTO{}6I;mceR$OOFn(uICrm6*)cu0-*n9A1Fl%}|d zF|(pHA~5-_SORvT^LzFE2l$_VUahs?WQ-rEjHxFMZde9AT&lrG}NcVS31+r z-LywE^`a`dHXl`=mwjpLl!rOYHhEt;z4}Yf1zmOcW}d z2r)H4*Zgcc<3>+3Iyt6mfU*x_d!GG_y9}kp4_ZP5>_k~<0d!AtL2_;)l;5$AL){U# zCTByz8Ef4%)eqdUhcCZLiwxW$tbWcG+{>lONdA-zi(%=s!+0Bx0KzPWNr|IQ@7p#q z3N&>Y&rrF}nCe?T58oN_zBn}LQA z0`Fr%@-Bjw3yz_EzLK5!foag7B0RWZTiII52(Qa zN(>xcw(xfUO+ovD8%FpsuNwONL?0Q2{2M#@nA4Sh9i+(dMnqXc0YTA2DVxgzRqN2R zRI?e-OU*_h?kE}1LSsrBMfmQPD3jUbe^Rmn8-Vbo0*O)C$bWvIIYyqvR1K!3d`3^d zZYfG`EBf#f1_jCiHj(&m0|Cn@#&ObT1TnHds;``h4f+J?bzK9ls`LdU0kQ3%gD^er zpnjj)7=kHe6ckR3#HCX_-P{`2aU)X}qTs^`lAl>!pX7@IA)@1)KlGefvF(YfjXuk` z6`08==Ax~b7;g7wX2*X@cZ$tcfS8YpgakN}ah?y>-Mj{6QT-ux5foBD$M+NmG5@D(IQzR}-a`@{5E>ff<@L?Kj;+F) zeR>N|F8FZEi8e#$#ovgF{D+oCQ$zTNF4)VtQE&zbZrFntOPe^k8T8YaUpeo z-|0pB8Yp7Y_6x4mfE&|-3`6rVM_i64dt5fl-of(0%)VnR zc5Ca08%Ti_wem-;q(YyDgIE5~w1K4Z)z<0hyu-RY?SC+lVU6*l zx*{RR<<5;?y$Fo$bWYtid(sqXdp z^3eRbUf3HU3(HQIv(Z1Vh;JB8OdR%e-dSF46Gnghs4euY>khjxZ=Ur;)TeIHKG&vs}QwZ>Q-tCX`r=IM53d6?%7tC zxkrei7`HH`qpRy{oM69bqOxLQO?H4I(HX% zlountp)6Sj)1q83@v0A8t2o#VgAWSVqcouWI72j8IhXaczu&}y1t&YCiYe4L8}W`j z*(OO@UiC`#L`8l7c(LkE*p$W3EDd}6Z0}rlhXDZ48%dtW?iUvxU7;609&Ar)ubbIt z3cjj%()E0~#_VclSj3@!(V^2hHdMkkN_1v-^apmwvir_J9F2ROz?b0!W@2R?w&uc} zw7TK3C0aq*_wK${f%6W#ZN7KcJSWas13pR=C;LQj3;w5cvNp67XmZ!q_5ES(l-5A{ z*Y+67o*3s3vmmhsjo~4}th@0odz;O_XB9hn&A^w%b2ANiwx+``L~Gj%26L$!=JD(2 z=i0E&8FwTI*XFR9@|nKZOF_09_zaL z9c$Eyj-oS!W8-_N$=|36M+Hw$OV#zt(y1#Zi`*+3yDhF0iT-Vu?+fGW;j_9w zytlbYFa2o^DANEl42SIW641~cf&_<*T8aR1W2TnlZdtlZAc8$A8Tl?@SOBS&1FsL1 zx_cWe-+C)0qiJAS^_STQlLqF!Y8>Jg(Fh=BO>@=X`@c#_0+2{&cgk3%0J!$SfrPCh@-8{xxw{E-FyZaQ2mv;s4 zHqCN&U0!%JbJH=gvL+-nXK++r?X`AKh%uXe&@ukIxP0LHQHBv|&9z#ht;u-fbB9oFz4AioVNF{9 zo~!gpm3W$WPZIRzJsudGV0DF>w)cVL_os!Nuvd zcB`_=F`bu}vzxAlBCCdVqR}6nkKJ}sIZ4j!u3CfA$Gx9Iyv2{+6gmo@jRsZH0bpL! zbSf{n;tRQpm8JbL;li-pnZ3o@t>0Utl7auys5iEpnAPjV6@TWn?$mO+?b+^y%%Ap% zCMD_NxhOY~i$C+6J57`^c&dm0TPXdQ`2z7qdecX<(RPZ>U>pJ!s@udFs{Zd;}|RJ{9A^*$7t4S=(u0CPg=~QDE;! z(k{R1h4x+=r6mvl$QjhqzinvVN^t0w{_Qq3*WR^-$zgi$D55azAZ^@H9lw8iUoZHz zFJbFfkP&g1yGE<$hlI`)gm`UNnD~h*&6g5O`EaEtvFbpYG zF=D;N_w>H3wCr6Jnn{H}xp`%1$foUiK`rItv}ITeLjD3sWOZIiNl6j5V#vx-(ReZb zLNf&~_R@Ok&edmol`P- zir8hXuCoi{4eTS9_Uvh`_$~M0Pd{hf?pFyH$>~PN=Zf=XBu|P;l6q%WsCeQPHW^6n z?4MAua*ys)9AGM99n&24gLE9{d;_NyU`FgLmgimzN2iKKS&jGvM@f;Jb%u4%ZvUOx z9DG_1`R2)}z^^?dJI$WkUTEJB4+O`d8953D2Qt3JMsG5>><&hF{#SLke$E_@T2VLc{Mv< z^T%4)UL%0u#{%yM!O9joEx(I<%+5N9XEzp(eeKA%R|OSY2v`44Fr#uS$g@4QO^ZIq z%1}QV)^W8u`u%OqzCGDkhG31&+S&2+v=)qP^Vi4R(d<>6tfF=#e0fBb;ee*?{{=k! zUn#@Y{246VcPCp@(LUziKyg4=?PUOdmeam&A*nM!Pvg8NQxR;sOYJ<`dHT1|=rhmK zp7n4NxljOz`utsiVtHxe{Bf9&T|Bf567~&49l(9@m~OrM_Wto?SI~d|g)+^aDCZ@` z6jJN_lu!A`+(#R#)buSj`^)Qo@FiOB%&PH>=4v-KYe!ENdu2>s%V1NSB=a}P?Naf& zmHdB5I3F(yGJumToC&-*LC3*}p3rxupg}A}1@JycqSZwO%7DUwK6-c1n1jUkm?D@f zfBOOz(5FI{LblW?w5-urp8bsx!d*fMwmlE{FKjR-0SXMkUj?h50lSZ0N>=16D1@kS zJkP)vMKU;p{@JdK%jX2ukP=3JhJ*qJ3%Jr*M39{1UUvMksO7={#X8TeDD|ggWZy!} zc-WaCY~&OA7X6>VT6Exl7SG6`Nk^subUu>wLok0PX8bS? zrPK_ri;GX&)Wh5`3oGhqT?M$#HTb8K``5 z+)sEFGkULM&|3$TgD*M86Bgdk#CSRsD2L09#fjriT;WBvZltN8BIi-`*Cu+nsmo4- zlw)%0BZJ6fXY=WdoDqlSoC?hiZRZ}4f!5Mb<}#rNO&w_XQE$L9W2Gkx=0hraNaoF8 zRH}M(ezThBBBr*{6vnTLj-#n+5_<3zot)8ZBRM>5Vq~OhQCL`L73sXm#v}fA>UqpF z7Aj-5EE%dvcE71?ph|C|nxACr9R_9ggfi(zb$g%#6CxuERy zOA<=MALIGUqqRp?n9^3eMqA?+IiPGgS(`;1INXs27+A0zI1~UHh(cu?D~i=M=rzRr zczu%LP?ZXAUWd*x7RUVd(0@Sof$>xbs`G|DB8S={iQF|zwiRx*Z0Rg0$K!}XG)R=9*OYP6<=Loz(360$N>wFp4dM1|ZYZl3pWNI=q<5!(XP%6s z>~-j4UZgHX1Qjb26TIF|*NhRVHKfC@nk2|(JCLMVr2X$+99=!yGaM44q;-7N)XTCP zkfsSVhZt$%JSiyA$=p%k9!?T3f8P08FtPM8EeQ4rmMt7G7G)>MWnn_7q<0@nfsXSYp3;Mj7)M7pR0%fV?cuq% zlQeOv&>v@0!qV9SpFz*@P2YUY$*~tuw$6s4?|HG*t0EMLQHH#jj8x)pSv>`KdL}0C z%)rBYHtYk|VsYgxop8W8@^j*DUZkT?pcKbdr>EH~R^IfHTAB+)a@m9rItBh7Pe##3 zh70pMMK)>Eage{gap-zmuw&kW1BWYRtH9-|MZRJA<^J0v7j6&kHXgeW$rb37i**=H*Cv}4?aPig^ABk@ndja48+5y~HH~Kx z-xivW;9_w8`DpkQsqx5EAj4~J`#A6Nz2?GoS=sj^>}|OZCTQo-6#5 zn@7q7N{=_K@RNmyG`ui%ag)1WXE1P?&EvxkCi|(tG%!=@QYx359BQP~TstW;>THfK=O}04gq^V_-&?YmZK=@`J0sCTu zqa1<+2P))^daF+8-Dht9o~6fWZf22bGPiY;Pb>3t^T}Gj!QDkjh!rUE$6>yzYyCEU zzm41B?T}A}m~YFRcD54wFf`$Q9CE!q61i*YcJ`4?NPlWer+LRPQ$FM@UA(=slTE;O z^F6`r(d<2%k?-PGtVH6WO@_$rq#}93J->#oOWYm*-4oCF_g$R@F(LGI1vlNgrG_Lb z2p>r1lUj9AQ#9FSBPR1(3>U@NK!5N3BR{N*QS*%D`OH|6oV4DWW%udP?8Y?4lcMm} z>B{62en^yP(GO(&MJTZXO67Rg!&0i0& zRrBRMWM5NJO;3LjtYq@cB!JO$m;8rWKYzsLp4nAt_xYhn*y&2CK-RutNKjy=eJ&Dm zGqy|GhcN5o^c(SOx$QPmR0H;uLTj!aU1c`%^!-P-3p?-fH@>z6bs{{vV&hF&e`!Ki z_nE34Kr$+)@PPHDC#Js>z$YX4=;zw3F}SF7pU&hJj7#}fp{F(!fA7EEJrA_VB310) z%viWOX|N1E+T1+b+M4b@{pBCR{|G+89<#SvC&UHJt`cb_VTtaS(bExqvn2HlhA*4CSCk6gU}a5}#$M zFkF3pzIkx8`c)UFJ^(0b@{?;DVdb9eSb%7Q?6bauX~x~L615yryxKe+ze(8ocy}OJ zp(Zn77{KU>h|F~cwsx9}KlKgy!;RhWd(-TYt1+k{`V*Fg(yaTG&(BPCa}seNPdTpb zg%^dw_j-U3Pj6w2vjEEyH@WWRT&WL(zj&BiEGt2ch8ujLRtGsc619dl@-}AuHd2pS zI+r(k-CuX&qw~kIP(vHXQh6H$RioLC?u)UotK)9c)-(xw@spnZAAs2O3u=+_xwZM+e$--9S*@~o<8{OA#MM>x*HMMkh%g_F5$f1$1bo( zNy)je^UInYG5(vRUKZ4(k7`AcLg2yjX`1qMt9e8DAf2Y%*2g@{tMh~$wRm@WNnV7k z;=J2Ok9iANhGo6c@Jc>w{sSaA3Gmb*%bUJuV`2+&1WIv&1yVZ zM6YOD*D>iLAf)->GwY+-Kd;6U+Nd>_O|;5WyU+GT0vesAKUvKOvy&vpF-40+ZPUZ#kz7wET%dTODy zzBWBw`0~CLh~^Icu!e2-pwE@|T<;)d&+uQc1pbu0n~^$sgqzvpbdApq_f7C*TiG~V zTE=Lo+y{9^<)z9{a9|;&aeh(Zh@8wB9zm%o7s%QN9ByYZRzH?5oEdXU~KkuJk%n)ipG|aqO zmAXoPI2>egE7zZNEjPJT#`V`mYu?HXPyKMu9Y)U~gh%CccSst0E#dI*K`oQv{GoP5 z2fqAk?OREdtZu3A!ul)m0OmLT6|HL~d+^3&5pVMc6>LiwP#HKC6gl(A|FG$Hvz%d6 z+s|5t9$Eg>JW=4%o6d+q=deX97u2%Ot%(ouE2L&E+O zi_GwRp6)>JACGhbyJUbW&gF?pR?eeB^aC7pV$+LHH-6Epzr}S>LaS1Wl3LJo|o{ zu8x(;;DcLU@o~QA!xf>i-`3CP-D8FT%JH&5<-V)YbxIfc+&+R`{R@Bp@xI#q(#BZN zH5{Dkb9TDTzA8ulO#RMC@r$X9dI_4BgquwFp`+jF_)C1ZKI&Yr#H%w8sjJp*U?Da> z!Vj8UP4ZX>6^G!!st8+?jJ9u$Y!XY=BTAwy*+?&)EaJ@Gc@#RnO?cIiYc)J|klS_% zu{9k_sL5OC7<^`U%XWH4Dz>CLX2K^V&t+83eSS`|_3q>i;h!%}fScY=;3?x){PPTZ zxSAB^tp@48;7q--D*8M4HS@K>{WCDYxlSm(aluPQ zW1SnrYw~qvC}E&u%XyPj(8bP+qQh~hp%mQfnG`) zpspA!YbR_uWi}Mb3uiTRp$!9-(D>p609Wf^^uykSpVOl|O!i)`Ix$Omp7ZF%B*P@4 zzM+272`L-tnNaew^>vJ(V~b|7_~fLBVGUfR;mS(_`$;U)*Zn?bj{jeuH2=1R- z%ETLhe1D;$GMtui;~u3*mN&2#{C5A^m&t?#SEEKbV-v|ooq#?wDfwANa@tciMuw%n z;J?Szn)%}7WLiWN492TW$r)3;Kj#Vkv<&5Ak!#SZzXk3;u>Qdj>AfVORZd1Wxyv{f z>uAQv#>8Z@5o`T4)fO|DZS|XB^$6I*ZJ9nW5m}{4eFjv_HqYQzyfCsJ^#SA}&w+oe z_AQ~^&}ndTJ&+}IUCmBMkLVWV!yo#Qdc9g80@s9~tY#ogqadxYN%$JS)PpC`!$XIV z%Vr|?v=S^DY=Ft;R_&3_6`g%VIKJE8Cz^OM{^VgfORp#`_|CIt=ccBSYId^7mJI@M zsF@V|Q*?QM>Hj~fm^TX}v$|N0O#)yHTDx;%zGJ`pcnWs~68{OjHBk)NErgxEdB~|z z%K2Yf(v@WS36w+!{`Thc_2h*lD>X%c{`l(8xn0qK&!?hs{ga*w=1FRUY3lFm-4s?K zEW~4Y_u;iTUy0wreX$pyzcP~RJY)Ez5yLR;$-~%(r)eo+oUK=Smbj~S@{Pg}=$Ycr z!i!_Z=ZX~Xk@PS=O5PF(XWx;4t_htC2*`n8&U1gF2{reMT zN`9_y6N$d;>=UucHc?TW1-ala(yTzYnhv)MWn|v2)byF-H28qhVz|d6cW;nNBx4bE z0c#X`vc%*h}1x?Wnnu^E^cW8+zb<9LKJP@iKVj{_E1I1$yHHd36C6k%dc zJDo=8WP3K^`8z4nP}HL-#151%oZTw{^Ol4w6=^1otl2%MJ}X9Jqbbru`g zl2&9geKo=#{OQlR&%%YMH=O?j?4F(I8G{k;@NWolrPk)m56hqL^;Yi$J8HjT$~TDb ziDfBCWddL0W$MT_Z0`4JG>cjwbyXf%Pw{X?L)3{;-w$obm128!>8jEfBd;YVD4dXy z0YxxzVM?BRz_gq&%KzMPL@-BU@_WleN4Xe;&%=s7v^9l`8z_?z0JdfTh0@eaTAM|6 z5S`|OPE+9oZbyw?gv4lx^qnotWMDoO5cK&@r#Cd9ybNrUk6Y;7y$sBkRp;Tg{Vg+`EY6S8qDdC#je%29 zN~FcXy?WLm`h!$ZJ3v*^0v6*tn1jav3fck44LDg@dg}2_XpB{7D@;`h1V+YhX8(7` z78HSIrmgac4%d!YNa1ejoa8x?iJ$W=u zs(+>^lj@G!JVWwR+ELBNeJm01LK_T_3ziva44Dp~;W6OO)+LD>b0!qa_j#(Kj4%ek zsa^|BP6KC*VKI{sHe~<<_!VxdyYik|*@@wg0Jub5GfGtW`SNdTA)+BSC|%dcG5TxV zAV=E14X7v0>d*#HC4lK2hkmhX{FXC!jP1cJA+EEcWSGX5J2qlq$OF%p*y|-vfOaB^ zIQ+7))>xpK?qRd%9Y#%>iy5NGv*LM+?v{l%J6s|xYDrUhQDE5McIqQPS{(oL0`n2a zC-Hqs-w!*suCsPbpXRqg%^Yl)NHRT#sAuumhar2}4pK%*WLLI|UjEqR- z5GHNN$D#(A{61~8*>z3b)@}ZtAK`^9J<+D=dISn>>b&qO$WwpC9)Ml-nOGDF>4F!4 zIdDZXmx)xaGaCMjMcsD9DSF&g6N%V7o@!r`f2v`)+$P-gaZAFur>$aRPmZSy`~|qJ z&qxMBZRf+2nP!$$4xC@uS|uYJVN)`8)ha(N=O+B4PLci0kXK9YD8uNV*&i8rJM(F{ z+LD>#0sA#2p|40SPXw^d#kS6O(ryhRQ`HC7AyO?+Ux%9)_S$7cplrg z*1yl{VG+ieZ&FyGaJETj^UKfZK}fr)uIdTDV#*v_ zUc>#d%qdbkb=CZ$V{Jl0LW>|{LMv%EB=nNxPpEfEPscpg*4Nw$UeFG@i}Tcgy{!7R zYE@vMcD1J$=Ia-vr8HebARV4<%mZfxl9Vk$WdqlBW2yA(THidCv2Q|Q$ps2IkwEJ~Pf#*l;qh6*Tl&Tp&5{GPzF3*cXLfhYo4~JfKUjWIAhY?AB zRZQ!P_Um|am;Y5elwe~`>B0KI;rz9A)8^uNiQ7$MkA`%n{6@K9Tdk$>q@|w{qoNoz zSGnuiN6z+PR-nYqI-JH_et1YYCLGGZ5f)u~4$LtpM_Y#Ma(f-77Vn1amX(mt@5TrH zHBiE>{wSN-s%zGnjDmo(mrZGV;_PK=_<_TrNkzq^v%^7u^YHqRT%e`XR{q7PM;NQ^ zAZ>5B1W_P?kI{q}j9x-8l~-(3B&aGKtscqn1%&!3H1GpB6dxnDDpXmGzj0JYy$er^ z(ck3*8qr^_#_$t>a;|bf=)Ri0eDw-?!V>j8Z!{D70-x#cUo-0W`X|S4QQeJoSEDgU zgSSHJ(p6uljXkiQa;`6gPsT2n9mC(x0RFU!!E}_e6!)SlTqh36#Y2B~uzGl`5H(|C zp{rGFNbf9G@F2syGpyCbW4K+Y8sieuYRa&MD4HVmT4U#L`TB;vwwzA$oxIGlyb8ja zD0T*;jAyJ{rC;QCcL%*lmxlYb&b|d4QSluh#<}1tho7ABa#)vRQm80*o;JT_=&qPZ zeBN;$uxH4t&%(@ich1&I88yuWZy#@2UW!~o`nM8>H+F!4;OA?^6wFLTBy`sN8 zrkdL|CX$w3g@iS49rg7FXUfZ3HtC+PTpeU#eVYj!>5Es>SG!jq5C!v=mX=``^>~*g zeU=KoFez7~t)Q-KGlfpUnmCr3?eTVyR#j+g*zxM&#o5PP-512TKQ^Y$RmWIiRX;B= zju<>+8KqpKH6;3}X>PIqWXD&;OIU0@F|zbe{{A<+9QelUpUaEuZ$|btZS-j@K*Cht zE1%fd4d`<_3JDH%mT$czEjAM;ojE$FZ!*rzI(T=xBtJ)d z=+K8LB~aV03}wQ{A0jI`YH{}#%~32aCNUY&*D+|AlHt3RzZBl`)mW-^KJ3`R-^qRI z!80+$U0fHoJ8XaJ7@jP=?`q>PJoA&_KW+T3hviPT9Q)av4D9WqHkoAJ>ff!qpPx^k zTDP=ycIOo8sqF!TLboudbEm*%xj!~0MT+wC{trbCpr^Q-$^=n6q`1|qz#!PT>(n(q z=u-+tCR@hi*4WwEF2V=3;mU?W?bS#B(r@(#cd0ORlQyo*vNunOA`Zh;UhdC&D1tA3 z7>CGiAL}$bi>FXO2_aDM*?wrPzuO+}90;I%W)QS*_xpX?5RY-QYv_oPsHYTiG(t;skBmNR&HwhdFhrV@cZ z^281my~Gt&iFE$==i&!8bj?k%sgJ7(z#L&aIbyp!47Am%(^kI7C)(SSDWgt?vNh+R^vWAH9bCovfl1utBR?&k&}KJ z17Stp<$%qEKJV_%VApY0+8xds)78@}@x>MBs3!zpeBqedpH^ABE*Sc4Eu5a& zo1qe?WeicQn0Q#}O$j!XeC;)LFx%x;vcECPUo@2?xq!sZ+D6UTp?(1IA%NRR8)_D@ zSW#unZ=EH3<8m`Lji|T3LXXiJjH$pP7vN<}tFx1{X-_(W~>Q#a^kG5`oLgZ;n&~Dq-e@Kl76cCZ#3Uw|jzd3H|5GXff z6!C?H#{13$zc{8Pn@tjF z)k0^bM%qx+lL^`BnL-!yOjS_h&KYFMP9_7z&;1I@6MTF&TI@ni#7wEb^2M40pSi3B zbfr>in&mvafN}4ywH$l45$YueERaY8B_~%$W-4H=UAsnx|A(L*2>-(qe%LF&t^#~j z_mZr-75{NZTmKb4jX}rz9Z*Hh7U!du<@OX#xjTelO(l7zlg(ZLc4FPM4^s?FqQK-# zu!4Cb--R?`YHn|0{@ZN+j$2u}*2^kYt@kfHZ0Vc(xrgJ6IW{4`CT{PWLe^2BDZrw1 z;U_@JYKqcm06|HonRe-9}xiqFVDm#8SJWWfJRT9#mF;N#+sVF(pcx%^jro^t&(TOeG$n~uVk z3`8G6&d7tfWaqqsrv5ttU4WoxAv?AXG2h%g2`cf?R_#^4x)Ds7dVYdjiFNw26e6Bfqdnk~yL31^@M>tMZawL{I)is# z5yf+|&ujWj)2N*iV>rPad*1|}2wS|Bnd;MB$ypUiYk#^TX64s&A$ zdT_9)0F)wpTuW<6IteP)M@^f=6;O09l{)M>s|v53!gaEzTAqE>k_qsbfZ)n>G5H|E zn&(dNf6-+KHOG7Y4%{;Q1I|@ZEFi8=N-)M02MEV@cnL99{XPZo`H;?T2E4BjjdzY0a9N(9mFIC>WKy4^U+sSz_Y(t2N_%}KlSdD zjYz(yImYAY=Sp=wAIhHz66E*jq~eC!m3&U&2r(U)N1r!}U-rBjquh*e3@Lla7!F|` zJc$h<_P$UMo0I3YKyhpB3jX{vnDj-~D$-Mz62{AFqmU;Ta<~U@-VgR7JsT}NhN8tp z+A{IfxL2M*rXvo#_D0_^JXDs;tDDPF@O$Aj>GW{bR5gaFx%q}xLS0M!;QlhoOP6=A zcOfRRe7Wu};S%D;k9d+E{7=P`{k7fa@baZZoj7lm>uvBHvDC)Vm$wQW(Rrg48+o-O zHJX7VpT3(q7p#wrtR|#eg*lPE7rfsSz0kB{3e8Az$IkM`qiAh-Qyx@xdV`Avzw*cx zzlGJrGkyRDvP=41%c%6P+7$+@vum#A8T`QPM}top(<=&2hR@i^OsGA8e$1 zJao;>vX?pt56{=vqW}D2m`OR2KA8qD%}qq*fX~Mz+1b>!;n6Bc7s~4xw7yp3j*JFu zOx!A6Fpy|Kivr=O)Y$|N-00}pC>&Wj-p-LPOuVY#tAv|Ma6 zpipXe3ZORe;o%_28)^#9Yqp@l5YW`kKGD81AK^ztBv%&d4h}&sD^m#p;H>3n`toOF z?9s_u(F@pOWi@(OjOPcQ5+)=qv@8=(n7Emup|x(Sof5@F4?urij;W3vA;90og%<0!-^D9Nny>594exNy-%U!x#wM0*Re@$qAN4Na=J z$YXkGuO2pv3LkBGrDZuDob89+@#{M_AbK>E=f7koGTQp)T3)LOEQI44Xs(1Me>j`0 z?GJYv%3D~lA}UHSJWho@DwAIi#-yZ8-$tgi%mg-|pD>{Qk_#o~fak!vx1gad#r8j?{U&{n?RTb{{CbdM!Dz(BM_PVqv13#_94E|M1g z+}^&tIZg8+IAXWtU6Ex+cBXIhdn@t&3xnj|Z+W2;78DdPokIc}p!!$h!`fCuh*EEvQ zv=cLa$P`^EQ7~qJX_aaP)B|n=zmNlkPfzWDUnbnkb%&Ir4CS4%3VqL(sjhuk`rP)f zXXjT18}Nkwnl3DEz%p9A(s$Es`h&T-o~}c}#i9Aj0gBN-+l9g7YP6;0;QDojjk>L~ zCc&@m9f3e?%bZqWjIJQ3q+W99TRucR7ySHY(6W9vgh=y32cW_i`LF<&8JdB8|@eJqy``O|!jU zwymygJ_Y6^i>aR$Do#!tE;qZccCN-)^$LNHw_o+ja*-L5(Su5w_1JpC7D=o~zBAxx z@3eV6nEZ=MpYrs}^6h#LshXCdC-IH5wFo|>O=OK(#$=UbTJ~~(|KwQrNvd}QnXR|R z62#UOOAdYuyXo@!BD8gG8!!r`?N82M9<|O@uFRz2Rb^wi#}EUJfX(#m^6*d!deakf z7CQFftAOvT$FCl?VHiJ2pzhkx3pS>cac6Ni)J#qam^sXMbq2lmCP))D30ptz`(>(f z{zhYFJlSI+;QCqRoI-rBdSVxvn}YZDPS4Nf#=Zh~`(0ZdcXLCNXm!jPl@;mDhE`Uh zk9W`VroREH7FpTcS&w?Wa6lCwys6hJ)=1w@feZ{^=GJ40I$#yi6L1ulP2}IzG`c$4 z>6)wc|NL*L|Ga-VN96=Ny`tO3O*I~ezCT*{4YlTWr#0XBoW*aME%aoB z?0(e%Bx+Tp8{r7MTm>8pq=q?q<$&Ghu`BEqp}U>)=<2WKl_gW!R`tXE^_8rK%jL1l zgQLIv2>;N~-0(*v-B*FHLpllD8R_;Wu%3bzbjOAa*}EDojURqDlm$0znzBbT#SK>j z^*6Vtu%q`Pq)0}ZkMeZPY0VX#^kw+FP7)OF-kRGq%^DYg)D6E~XNdi_mK_Nb3tu*s zmAojc<|S?%27So%hF3l42et?zP1V|cgVg_^(GcWMcd5vIxnWAtp7%SX*=;Lrzn`2q z>tL_YKgxE+k*=p}m?W5_$v#V0x{i_!!Z| zk3vnSHXr9|jr{LwfwZmo^@Q=;?mN*e0KX;BBuDO8;Ss6AO@?o|Kh2=DoP#t5C^QWrlRnzb_j9=Iyx zuyo$=sIR9@0|=ZsP4w%79ZL2G%?ZuPXiY!hd+v8%#ZTRrV`0+=0N#;;YP0n?22Pln zt+<#q_IME~+1MikGxSP?Z!0g-WSMw6wYQG`{PZCo4?RgXa~?T$UB5m}U`f-UQ7iM3 zrV~EDxY{!Y*a%P3rmrr;NHt)1fD`g7*=8#i>4<#q&<)czda!@$ zb?Rzi-1Z4kgy(PP#P-;ry*Ax2@P-j5*-<*ajAx>-X0wRzLJcinSt4aNv7ziXcFn={ zWiLsM>jM{E&esXgN!#vA8a`8XAEox!zqjJw$>rHiz3!#MEzer}V-+!)uDRC0Gpvv) zg==8T2Y#4%bM(*VOyDE&3W@v1ZB?Wx$%4DoH5uAqfSI7<_BZfR(GLozO%i}-4Dyr= z+ilKjLeYG&iq+7~GQAxX+C&xs=ObVPO^BdgYbnbq;8~z;7sag*)-ESqM8#%I$Vg#3 zVNvIlxjOQn1{?&h&o=G+6q4x8OK|ENn`sFq7F7hpJh`GljB9)6FFE;;JFuI*@7{i+ zjBW79Z9P`aDe9Jah(B1aWv6C6BXdhHME)BV5O|!h@xuZ8msIx%3A{Glr`xlq=LhTS zL+;Jc{;@*y5r;$U4)F6(aoGOMsa>E<0+g0=$m9UZoBiEDHW5Z;RW;p#ElQ;1b3rlO);B!=*D3xWFv`ESe$j2AGGkcrqh_|uVPToZe zeHbFUrEFlQz>h@oDeaX}ig?wh+X*tInPS1?1C8shllawUSDD5h@3BvgL(vPR)QUNV zj(Yf*dOCL%*h-mbb1v(3w9~=G_WRJVyI4jxIy~J_jR{bY)7N(Kht$t^v@D^O@~yoT z=-r)O=Qx|&Nm8+%mkkmwy4h z{5G*&>oFlkG2;!SpVXl5oI(BLH{~7U9z2cCvCN-tz#j%Tbz9sB=?*^Z2=cn`t*n9a z^ca{83h8do(hAT$TxqNKvXeVp`irfx_7@~hw$~4x?SzsHU$>f!I6Sux*+W+KugBf@ zvc||u`0sf9nuQiU`!Q5vIs&XQcIL3kFPzhYofzJF3nOAF35P+=v$s|M9Bs|!)%f{4 z{i-M&9Vz>bwf5@D*RI@|v+%qdm4GF^rI1K@yJ3!3;eST()tNjAHS6wXq%o56Z{3;O zk$kZjaQau(A`4@6addICde5eMA6aVC=a3L>w7N=q(Cwl(4EwYk%gCr&sDszF(;pn+ zRa+7@>wevuJ@)1p6Cp9PG2PHCwA9yiHEKLr^3CL<3ow?+LfW^x{POR<@Uzg#)YA>2 zO@)_90F6D}2c5G!Ht4n?N-wUL$FYZ_Za^`!(44l)RjS_7vdvt4`;L@p2CH^FcMTVE z6So$b1Xz?i?kB8{qml3`HCaz|u^OFc6}55#N-D??oddWJO> zoUlDqG%fd5Bv2HoAU<)R5q zl011DHj;e6yt*!+7XqF;SGl)OVlJj$Tp4^@t|(TjZo*iuD4L>PIudKb{y3M1{1A~c zPkehhNHwHamB1jx8uDL5sHNTEE{fw3gwynIX$+!kkNWq9z{kSa8AaDthJ{~YKqkcS zae67UCv4$S(iH$>8RsNWU;gteRsRDf3wdu1=Z^~b35pA6dYw;hyXlk=IUv`WZBr6O z&t}V6_Vk~VZcuo2;+e1&GzpOwY(Vq^WvV!2dGY+FO@_H58_essD`lnQ2v!84yB zm|ZsJA&PrB;DaGtg-k2`UVSAGBV+GU(K;wlpCXbn9QL@Z?=+?E|B&_G(QN*I+<&YZ zRl7t*BX(2~T6@*rvnVxMvs#{wgIhQ~pZ=d`$ zxgnWOI6T??f9y|&zEZWgJ;uGD;h^A;643Kt!gKs}rAJPiHd{D5lWxN|GIH=4ykYpShb7saA(28s|LBx)(cD0H-aSn~iqo1QW9 za!OmEZPKKS#Wb!rNaL$a>w=qxOY>vw(=sPZ*0-6yypTW`I8 zJjxFk&PJ3U#@6jFw%mgG#9Ymv+Z^UU71@Ljj{9?P8MsK~yC%tN{L%#eZ)w-0k^R}T zR$d4B$uOVZed!Y$ffP%*H%g?BPT+rg%8X2OOFEBp_gh@8RC1gsT)xVN`PFVj!}VB0 z!qt}Lu*PsRR=%w~gwbFW%Xw_4(YL@YmEmI(_IwastcaQxxw<7t>~KjMIc4hMgH_i` zy-7zKmqu@!`y*&BAeJS(TTvlucS@ z>h?P5#F^-j(asx-YW9GA9-F)zd=jCira}c`vZjHV%0?`}%hvOB;qXc%BI1?**GeZ) zPYQxt&riN8O<5$$01i_v0XQG%%LNjR+q-%7oUMYA^)>k4hD1R;d6}CH>A{wJtHTektOJROEYR4R`utM4Kw{ z3YOsFL2!ci#zy=#7=u!6>b9x`MkUerlGJrq(A>|#FvF#;d zNWK`sFORL^S==PNF7Ei7aP}<53)Le}UPnC|_!ll^N1ABhLrbee;VvXD(B*u8`E5mXU4o^V!H@Z^ z|AcoJI`Z`R(}AGewj4@m;+H=@=6SZhP%STSJt}+7bdEk`PD~5(th>z+=s84+Z!RQS zsCdgkeoQVFQEG8BTYKH%zA>pHRA%f7WqO-8!Rmm2I9@;%Z{is=*ftqGn`2@{12Z;H zZ~QQ$k8?X{9l!pVV^{Bck15HPnC6$r5hv`eYRgoT@hL54r_qOkiBq@E&jWyW*wG2Q&IcwZ z7=^NV$=K7)YrAXc^+4gj0VRbnf0@eNvEwZ##ihfu^o2{iYrv*Cas9_`n>YW~|F}`} z?z6j?-2J5>ou9y{4eZ*b+8VH18-8znQZtzIXU3)_;ElVxPq#WAk0z~2C&k+vuNxLB z2L0JX7YpWbo?#RiejMtCR)7lF6^)u66VUl!DF9)_@Jy$OkXxAL3c#os@PCOjpJ$s@Uz}Y zw=fI&uxs`A6H~~aU+Q?twe7e>Y+LE}m{QQx!Fkx#;dO~SMC@#JBhg33I9g=%*HwUp zq2FeUKyD zDLpZ2;!-X==8rza*}Al4Rt+D^OLcOn>a`WjlV4mg9R7R*_~!9~+w3h>DLUF5&e+Y*-Cb?_iyqwzcm0Wt!m-c6F(ix>Tgz=N z`w5ME?ZCHFNtmUi@Fo-YX^#M$a=d+&8EXy4;GDvH94R+PhJnbALPH-e{o79AdC9bT=OW!AHK}*wI&YuAqw5; z$4|%e&1LWTtiKGB7K25tgB|8x>*ICH*p6KbIQV9ArRF4878VwE8m+Ju%Zu6y$E*O} zF#uzm?4JTDR0>^SUSYuJ%XH*(6;<4_bUYF5zM z6&S165qQ04VHbMW3Q(_xU3cdvhji;wX;Y;n@ba^if68X8nJoT((UC1uK6cS0c+~eC z(vBdn&iJ%TU{m@Bz(@EeGN%EC=;5J1Z8q;#tm5Fd=G;L5&Be~i$m9v++ZdZ@YJ4~0 z{9nVm?%fPW;&@C zsY&AI*BzE*Y!>f_TMCZ7MIQf2ow&|R(td~WG>mk&QJ#s22Wz@I0rrO zQUP+T;b6i_jPwIl=6q9#As|f_Q{mWLII(|Qz}>&b8A$c0Q`#?uy{!?_d|b`z!nql_F+0tRy`)qTys6%BgmpCpJa&oGzg z_e{rg`tK6os{yiT3HV9q+>1(Qvxo4pu`ELuHUV)djjb!O1N!{)wdsKxY~p_1bH=x% zAfa6duO@u%yn6G@!`D};`c?jh9>-v`%80R}$=CAq#Kc5x%K&}c-8)zYF2+Y-H$Ht0 zK*eBnTcfgkfi3-|xBm^&!@1lU4>l&tSJZ74-%mKb%ng1u3R~**U9Zr^dZ3&A)kR)f(*cywzzo*t=zGs2C0Dp{C?MSXDe?@kc*aR)r4Nz$~u9$lLS-;eKHS;jP_3UUh7-JVk+-%OtoT>J8(zBKVGCv`qk`r5| zls}h<0iO6S)sF!6E%a@jkAi~C)L<0D>h}A`-|2`;wiXm5x+T+sj*i5>qAuxtyS#Io z!nl_4>+7@G(~^}-^n?<#M*W#wz6)aDo8xrjFS_v=Tq~qOSl9j|l2xbb$7i+b>Q~5} ztnRAuzxNjkv^~&+PS#r zucMWpGq3|(UVb0DaFj7r?!Lm{zdHeG!lQi)yYXMHwx|$XS$0dnJw0;8(0?;hEZm@Z z@bK`$#ZLQ@R0t*NEO*JLD;rym+x)o8gk06(Ud7FM_6&)OYWdWe+1?%%RFgc5RPal$ z5^_%OeShBCYG(O}dxQeS5&PU~PD4v;4}))g>=j{rA94v=z~vTkhc}F zL9y(hFVCB>IxzO^5A9fr+S7d=u_JFuMY?sz75%;QaH|Z zaTOu{jZ6D?5tLaU#%)OpMK@pc2cl>DBX9M_=()6sd+a&TzP5C&B!q-Lfl31eq(6u~ z^LvLjNZ6QO9U7C112QyEgvY8@(}1^$B7g>xp~FwE!H`cG9)-$iGZHT&XJJl->l8WB zJck69m8J;|sKwvye5T}9V0ij}xsv~%phTGd6$>EKr1}UgdJO%16LIQXYKyUO=-q=mH;|*@QRH}>}t5a&agw_jR-F^0F z2vh_048TG=@q@$P-6 z@M9D8&A1MAcbN=CZZbk|vyvS?oT6|Unx~n7C?ikC=O~GroD>;ymh34`TBsNJu4~f& zU_6msY>V)Pc3Ad2NkGVJfCsY`qpm_;h-cpY0wW(}bU^y4)ra%x^nhs$$m2;U2iaYQ z?UD39=2eC7`mD3?4E#+|8wRW1&_wQ$v8qEOeuX1c1_9h4=W9zOV`RzruihuOKyV6f zd$qkUq4Cn_LEB zg7!;znRwesA`^(vb+}mP%5g(X_9<#0eN5o3t(h68{SSBGA#njVEnb^E3vI<8oMRVu z{P>OTrgCiA=ura#$cz*elbXu2(P6FcP4A6fzV(SviPDPXtl<~}O0(rG08^`UCEMQ3 zp94z;Z|{0PMd1?9?ZOrPykER5!@ReB-(&Yiu2arbjPKouEm{W}+Hl`>S|CU@2JVpt z$fF|C4wL77T{2X#lp;h-Tuc|e$Qz*S5^=Ax$z11y{1{Elw*{k(f#8lMofYo^l-iyZMb@}i%9W$2w-c5ZT%0wnLn%Hn$F}}`77{0LB;~e5j(^P~aL6<*` z*g+{JEY=V*az-QV5dbg(ivpKC)_|A1ml4MdPcFPOQF~`n^>v-;H8+3Ms!9~qaGA-1 zG4G%;6Qct}rm-ZH{u_cT14aW+IRVe=< z3~qY7v6t2Otb*H?juTfvGsVgTw$ zdKbt znE9&(jzvZ6M&rf<>4*JQ$D%*$2b~h+4r7j|(S^W1wZ7|b z0f!baCI@>LXSBDsTe;6JI##%3xok~@Gb+=1e7-8eK^wn5ISjycq7ML49yNfDB;$fd z?^@yR1~-LWvxQyP|J(l;nZ3Lh(-6@2*>Fl`7gK&J;)QKL2v5sO1a^D&dIzeX9nzgl z!~hCeH&HZ<*^~)bguzpu`)S;RYDoD@&ijZvjczZvg$6p)tNJ0v&>aO|mXG8Cm*jO# zHuj(%Pbn9uBnt)W)E+fJ-`G>Rnmc+(?;U!m&PgQ1@G#z5)}JT{KC4!Gs@RFrxLKPa zE=(dW5)E1GS~|3u!~7I$HxR5DqfXRPjK=zU{IX|N{o&Cn%+J^1g`>kX z51%s164p#onUmRXEY70mlfI*)7-k8OB+x~#?XIo>A~<_3wX&|whojGOezUTa=X1mt zy;|uv`w-ES@4YowxJby#)y$pH|LL&^c@A}mlRU=-kf|G0CBCCo__vTQFBO2Vjp^%o z7t_^dw*+VK1hVEB&wBDW`H5ql3b8$lR*j>=kh7{+i!)0h1zRR@xLvuCw>D<=wq07V z+E$K3n*uf%d2uPq+-gJJ(%i|$P(M?b|11Eva^TGg!<~3g<#dOhB7oB3GbP`fu%6&uS-q^Q;&&O9ipfh6UN^wmB zdKz6-5PXWM$F<}dI9q1!`xCRj`7{WRnrOkwkTANd6u5$Dl`{rogTE&tYG?>}m9Ccd zr?(87B~y#fMHpR6nD}@Zh7Ap{acRf?UGkMKXnpiQ!Z^;;uA4tXd_u&)kZ%Zoc~wvH z!rNbkmg(O{PFax$rW+6B81qAKzr$Y`0>MR<}r{*TR_yc;u=4N|Ev!?&h3I$2QIeSm^&^5&d}7Nl^6R| zND&dySS(aBcG|KwgV)19e+jY(C`vETTWsTj(LMj0AXzIYdZou3i8BOGe8)cfz2@r$ zbcJ0G0}MUK(tGJWTV9{)CX>#t|Jub|hf-NeN6TpZ3_^S`f| zTl?GGDlYdwqf~z7_AY#Uph=2LB7L;6Ix>w0W>0WQeZ2>+*MVxT9?y=da6*Wl+M7$P zs?NR6Rk+a~7j~5u24wlGkI{*tkY#I|wm9B#!em_wX4}*~VJ2V>e@!@)QJI$1=C%1% zEIxJ&+}aiDmA~aP`ZGnMR#PgQJ0Z>!EQicJ+dRcoideJ;SQ=wTe~}NQ*L=A;*gps~ ztCqc`O}e88EGD3;nATjG;A^4B&yI)}L-kXkOqz0TcqdIS?kXFB7M z)UM~hX}oTDhZxV>tYWU)3PnGw(k{M}vz}jlISiSOU5=R|tduCcnUksYvt=#@*svq6ECp|^)Q`AnT=pE*6nXq_& zJe|om(Ei=;^DZK$Wp|bmPdnZCy?NB&W{7Qr^~pHceH5({*>Q~n&PwRNv5{l+k>99< z>BfSdbHnb9L-boqyUekQY4B2T1B)zRL680>YszLgar!+4mKKrfr+BBNX%?=6KOMP1 zqfK*M8E8$KX8Bgj>S#@?tAh@><^o%4(0c0{C>>9Hoku9~jIf*g;6{l!cW6lKvVZM| zdkSU?YQE%sC|23hZ2Kly%bM5OrQ2IcOgDy2Lr-MuiC|$w!S+@dp~lLww=Go3I>Z;} zLDWW6CXz~PQyjmwTu+l;i@29hX*l{=ht1ppvoXO1-g^Gc zN3kNNWoaMCDQK%6H?BX)>G<9k7!VdBV5S(O98u9vs1snDGVQ%}OXLaeOuzI+QzMqn z-%$i?c#iKX_sF(*4fNU?(S_Z2C^!lJzs-eYa=xeeJ}yr7nBK2QbhXq^kT+Fn51p@> z?ShWB)8&yUo3U2!;vz;YZOf@LKa~uZafknK)bODI^)6n$!>lj%o{=S{=AC0n$jn$1 z$IvfjNushlQocy%SU45H+n&}wYm#rwyZ0OJXRc<{lb%StDiYSY;pW?|1Fx)lX1#YH z)i=EpBca31}3HkzA`e>qh+9iPzWGW=tEp^nasCkc|^2- z`zTWOs_7N&=(zG0d1}&$AxpmLz;os(oP?Br(Y;rBU~-7@U;nu z`FNAeN_?alxS31Mx&i1?3}CFh_^_+ZtNl~^E(Vo7LW^vU1PJ4K`)Hd~^y|WeErpiq z95cwYxIq6l+j3Aj@7&R6+@TcCI_HNYOrvl$xB;C1Dt7ttz}|pUb6y!kef{#`Y;O8S zqe!(rT7YMFgO+i~UCz4xTivu^M*uwaw9fi#gi5(nL$>(+ii)vIzw1jEy9eWsUYZpa zKC5#|ZDYZd1EnM&0VJAGHELAj>0y?W<+M=W61#LT;v$;4<$@v3Jnz=L546S9uht#I zKaHup>}+dmcJI!^K6YO3_#oe%GA&g2n93_GpnfbE_i)DTgWa|N3B>DFd?C!>%I&=Nn7~1=GfTX|sd_o7dnkHfbav-ZN#(-sIT7 z$?SKByxo8^4qgKG;=P}vjJ5HiO=a{}PKq-TgL9{dS!uDuYY#1ShN}u@6WfNxzv*DB zr!BGuN>NsOv$2zlI!*_ZL*?m$gX<=Geb>+EIoY@;e3B;b($O&5-}yktz3<@>d8`q? z6u1TF4b}S17 zy}GUj)f8$#uE{{NN;TaC?GhfB9TL<$CeRr-nI6R-qOzJrFpp}OwgDM=#d0$0dImoXA z`F_tKTaXjzoVlksl$Zv7R;GrT016=|N z^ac_vUhH>yXDO)gE-TZwk}z$rUhvIc(_+fZKgOQ}tYeZtJh=LN$a&=-uJl=#)ifgmS$6-!oJZVS322WpHI$v3oydo=)ecHqCh9Z zeK5sO*P-MsG`&iDJ#l$)_IgnNL;5iJCs6>R0(v0lV#lfN&NV&62AP)Mm-oHbwg|pB* zY8*DGjmh&hu^5JPOysvgutNxg3QB#1A^xM_&63AJ31&BhN)c#+XFIjEwg`^3*GaQs zmhPr9mxcH~S;7M*L+=NJCn0zUu(k(R^Po1wm$MSI0zFu}ML(9vZ{qb%B9vMw( zI<5);SBTIkobg>%>ckytl4A0*);?kASiuDX%12{wrQL(t|3>g@qM}mN`em|A0uO6m zLsEU+a3UH&Kr_+pvt-P0n~@HC32d;=-Gp|yZ9R>u#@Bz(9vP0*z3#ETd)tgQiPBuH zfXW^TqJ7fna5Du=s%oI7^Aa}mXKy@ulApdec}k*aR?1tY~ZrD>GSZx!OCTvg!YP@=P^>yN7$Lp>#|GrL#*}$RO|SgpD0(85X>u ziV55HanP?3%3QB+koU@Ya+dm8>)xPc2Kf0Kh~hMEXFAT5UdF@_Jvk(8!Hl%c>z3Dm~i_FCjf=(HVs2^DqrGixz< zrb12B^)}18%5dz;clt^)Bnb(l!*Do^%zpSCkRK`!*Fu;8GTe3`>!V7l1NWjsa)&3g zNIUd{bt4dudKhH5UBV;A)_U(V?)-Qn7kHTQO|y3EPgHaqX{v9$ph+n?m-LnjxBYLr zaQ1wO6-B<0x0N^F=O`BpC)EXb=)ts2?%Yx*O#rM@QfK!|d9%g73BscLr~Li5VT_uy zI7yPP)#{crgO1AsU)N29K%05zy|2my%*--g+k8zzJ;;gxKUjjjNmK@Y)pm@>9_7H7 z%~7rUZP}SK>C?y7n;}YcK>ZTRax~zGCAqCrtFBX2kQpxK-^rrl)3sDXXdvsiW}6;y zv(?W>^IUkyL;PDqAuP^ViorMKV~HE4*wR}?9K_zF)Tx~XcCEAV^KOp3+a?#!h(!va zV8FX>@^RZ?a#22n5ZsNcojbS8WQ=7{)%y;_sp;4s*=ttYG@@XoMU;oiDt-=p0LN z2-5NaW>r=EO_9OppG!87=OLoe@|MD=son9xiZ^cqzx}9@Yz=_?-OevFVxeIBvgBrc z0t~8k#m7u3x~bBM!;RVx?LcGg5^8GmWG?LsyK*$YKM4Lw!ZP`j@xpx``jLXx{s}4>+TG(y1Mw&FEq2gp87%i zvPK23APMZRedBP|&Pe*$F<)~4g!EElwDkb04 z-4(-LBWf$`t_V0>Ye0^1*q@2()r;dS3(sY!c`S>GA{=})e)S=`hm=_*>IKdt>j{I2 zRt9xJzOW&C`Z_fUs=wv%L!Eo9aSqaDA)9HUe^uLN-FY74JjcbSRVlL<(JY1UgmJtd z9Tm5bceiNm^ZI)^qdVf&Y9-MNER*pI=ZE#p>xnyiz^H3+xC{Uu3&*!yTwLNlHRntS zoH`c!ayl?sGp+h}b`q|e1L~??4Zfvq;AkHS7RuPc{XOu1$en$W=X4uDZwqPe`j!6> z`$*sR-5n=ZtoLF3>g6^;6<5!j-O;M zyezjI#?3e5-}-tM$kf?OhYlYSLffB!%gm)(aeyC`b!uqb|6Z9;H7RJ&8>D3&_Z*^% z1WC(Qp#C80BykLvZi+U-tQBYq%HZ?O*EwwUwjs{>#8doLpm@H4Ga8*fZBf|y%|x*~ zI5Z?A$Tz5UY5&& zXoJHsj0#Od>=fT}g8>WdTzb4w3P*^z4QsmVXd>>^O7~)*nl16IjbW9KmH+aNyoCl3 zCmM3@w$^JhFL5}}z3(!Ab|rl`>RI*a=F&OfiR{83&|h3Up5f=8dmUM~Sv})_OjuI7 zxBza3zFeLKbQAww8~!Woz6Sp6Rl7?HM`!W+Upv7#|2*9rm!|=qbW1-^F26qo?kBeX zWt0f{ZFcxZuDyHmU*G)l@)Dm*^EZ4j(R|EJ5zg-vDqHwH`qAC$_OD|?Yp?X0~bPlL-F9I5XpCZorp*zT1pN1Bl92U;!JzeQd=7KUykZ@;G0bI-}RFW`2OK_gUoKqk+`lpoIj)WapnrQ|03WzpI*&(L#)dGCOE z+pb{q0s}gCO#4EtvSeEb#?Ia2+-9!1>yVSCSLP<7NnbP#WUul^eyjtXyI;32hgA=f zZqlDS6H&kXrSwk$6mKG>Dn;ALQ5!FQv68ksL=xZG-Tv^2RuMR*xkSY^+x~9M{`1po z8-;sE>ioJ(0XDXddB&NqzJ9WurGCdGdTjNvX*PO!_Qm4C%B{oV=2`tCZHkwz%eM6% z$Cd?A`f#7*h`%lS%XauL;Orjq4q4>Gc`Tv;NSdLLf2Gg3YDS?s0|0;Ir<9 zrLL|4a#*`^sxm{kIalfGUAov#C-27W+i#bNz4rCZza*EgW;msHh@ZQjGU}=vM@$N_0&Uqvh&Sdqb`PC9VHT-rJ-8oPZ)v;_3e4`ohtLtEJO8An-do&s}1GnC_jd zB6T4#jO2+WcC+bvZ29O|j}*%o(yDe^xSQlIK(!sWuyZliO2M&To^{~vf zczg@-h76O#lWfLm@LG}Uk?=iqgoz3~T!Oz%L|kn%;v8#&?2Wc|z3*h3sZHbY0MS^I zPXl0>MKnarv?k9Zxt=Na%`*b6f-1oYXWhB?K(JM=DV~X&2A;6OXIqtn!T)wm+z zdo;bbN;XH|V_P^$Ka;oYVp^Kl1mAzSzqv2{qvk+*%YpWZQ`SV`j1bukKuT?GZA)0b z1-vh=MBIcoV@s#t<>RM7?{M^mvNay>Id|T2*leQg82b+F1?QghX!h2x0PhluT9n+}&5Maba~0z8^Vw^P$1sg&WRL-u!j5h_ofPfX1Q-_B_+aM%VD0n?%<*-Z#MQy+Qz>NP zhEJ%EJ(8XHT(NQ^+yF=puIR#WIw$Fd)OSVCIj?sB_&_g&{Sk5j_Z>)+v(0Tp&9=**|eE|qy zT&=01%e9Fsl2?k4FxJW|$^_(cJN5`mENT`}HbrL=$Iy3*IqxgtXzywcv31ngkso93 zb#7H(Pe|M!&)7XoNJBjI21DHw!`ji~$%gP4uSP{X1TUI)0unQTj)}{8RsL@6trdAIG%= zXXYA#gg8C6w?Kh)DF~3*i~sdX6k;IzbfiM{NabT1HI;NC0$v-vQ7tc3xe)?THQkL_)EW+-rn|CTZO0CbKvGIkquYVv2>z1n zm@X+DW@TJcH8IFBo84C$q9JF%>ihfwV{?tqVF^7tADX^& zKodhEe)a8!L3s&3Z9uGbT&NCxqgz~Zz5O@SA@7Hw^9hUvc_oG^eB*JQ zqWH`EIJl{tzB)5}<&j(zbouDd;5*Ik?`t&I%1$BKhX|j&wYOK{y&)`2=jkrcTzJUG zw@DLs)0gh9UEfvtv4RNNKM%bYGzK*5D~Qsg=e_aU!!QLk3}-`CGTV-pCMR?Vx_kzH zG_0t{%DzUM-;AVUB4OYO{>%CSAu9>f1o{EJWn5e_*-6_>48cuK+u3!e!-ER{$3pqm`Cks=QgBgvf9ziK@k@D%p zg##?hS&u5>dgl@F_;#1cYL#9}^-%Q;n)iQYwZg_R7l1OOznxS0PPFAwO;@*@ked z#Kcpv(_oY12E7@}(lo1Xfs%kbpjMt@Kz`_z_syG)Ac#r*t<{F&)IcCXV$E`trK!6H9Unz2et{qZms$k%AYGwf;LRk$(CObqIVEcRLm@_vU#q5c)q z-*Lmgx9!vdrIi^Y!KPfGK^gJ8ruOmDv1%wT7&DynokbkAJry;#xb&UVZw}Z0O+mCZ z@8mGDMNo&9`ZLOKd5utTo5b}7y2M{T14<4G0hD8{%q%yAwr+8vQ=2|T?-(%^PDWTFImG9dBUcTpk)L~*Jq1J1L905m0 z4X!)j&qJgLB+`j2Pk2l8sb-^71=;W4Glj($9ikZ2Z6~TMGuYw<`4s7RT(VsT7oIgW zIvhsaV@vF)8|Btr_aEQ%5AlpI6^9smOWvzMqN``lm(RT83@4P7^1D7IrZ;AwK7Pt=&BUg1ild|I)+yZ(g6`>SG$FNGX&nB}Up}dw9o2kH$p1q@Nb>6@t9Fm$Z8; zj$LinC7%iD24@Iue-I{1%%-IVzm&wVJv#{p-pRVWb?=Q(Kgehkz>a< zbAWeAP+7-U_a>cc0YfaXt34La9p8PKCbjhLN%sA6!$Kv-51#(#6)qJ$f=2%fQ9Hi% z?{0rRJHTMibwhX}vFi{vkSMT)UfA2mNyVOhOsQCI$-Th@RK-u0#bF8BGfnrAbQ+?@ zVx)Zfwq|snUQ5>dJgdP&mpg+fff5h?mg=1MNAU>(b)Z=)sd~te=(^E?#%a9KfW3r6 z)E?VIRQ;~qWJQ&=bYs>|_lbRh^tBXYn`i;v6RdxF6)N+~t$=_z$*5l=>F!Eh*JsU4 zs{>;dcA*!m>yDDNOIN?T+&QG^3d8;!&1_8=r96H?!z_5QJtBAi_vTgZZuLDbe_jt& zBym5)D^xaDT*S!UY~2Cvo_n>v&Kv$W_unN4RBP*!K&WMUiBOUWxfU+e;|V`^@KY^t za4n08u zfQY@%G7m5zzVn#vA@9#?TJg7LZ@J^8?*HxSVD5EMDIJdEl2!8OB=vRJ8WI^BufJZf zL!Fkoawu6P{mA}G*QM07q5}CbpA6?!v%SCBE=cfJ)`{qj2Jnc`5iUeZ$Q>0~mtZ>wvIf+1Sf=YadvIehm4*{KZ|y+oI-k#JTP(kGiwswVppYSw?3h5x2U90|GI zSEozk`41rEK|!xMRkKk8=tKdB-=6h#P3Ae0R(D1&rpLxEd=NPXrQcdD=KfbF$KkCz zJtcA4mOFX_*@PB>esq@MYx9;?8{Fdbgx$`-(X(k{u9@vj-{h&g#mlRK0rdXMnbWIa z$wHR_FKMb?;8Q(Bju^-?EX>Ojo?KsgK@qz(ArkxilCWD37)_GlwHCYOu2t=$je7Se z$lY;ubGt2a!DkC&)6?l4BBSX$>wXCT`^h^^H6;P*Re6PZ{VcT{iN$~SX6{w4OW}jp zu0AzhdNg-Etp!I4-;@50$>pFq*x48W6c0{j>qJ04ySQn2aWvop8z`4Sy*(HbJ5iL`qC)#E%%c*PG{XL>WKp-F>0N3~P@^W?IxFW)rYjUxlfj+iRY<_wJURnyW zlq0B$vKv&5EDSJj4V_yYW+pB;Dq7ag9(IM|4(@!H&L1bJVr=V?So?&WS~Qf_V* z+k~j7NPYcbc6ja($=GApqUd?rGmO+BpG2N+jP^@}9d@*Xu;khGw$)J&^p)2 zG6;$f{yUZ+T#|BTIF2{_yWXYP&9opi%x{gBZW;ZXUfd#Wy&+!E{-BDbnBieLAu@&2UQ>I6o;oDx50s;)ZVe( z^|almJLpP8G-=%8cJBE7=fS6!jde#oDp~Sl;tWD>LQl^^{Fc4m63>>>H-PdRIFdt^ z`;N_v8h3}`QEIi8<->yySF5WX4_1NvgU5`-=&amRQPyGxLt7D1MI~Riuhnk08={4I z16`c{L~Y9jRCbT0>!`Ja`bRNj?=xHHW|ffB{a1%K{_~ctc0{#F8WxOC*cKcR>ug2R z24`OWo2j>}KWx!qUsvH0a_^uZ_iwME;rS2z{(-1%2USW8P)M-VW$Y{=?`;FN)g;sD zt`Bp%0tq#TRyovIZE8u6+@2F>X=le1*6H9gM@fZB?s<~A1o!8JC|sQr=Lv{aM8_zGu`Y;#F||B=a*Ax73Xn`u^jizN(pC588j`MOp$c1uL^pZ4L?3 zpONY;*tcIm3CtQ#^pH|v>kFv}sKnrs*0e~EM_HWAUp9By;ii0fjQDb%E9QS#=;v?Q zrJE_`D(+%;hZ5a^iuo55@B9mg;(k8X*S)?EOiKhBWph5Y*Re^MZQvR*(i;^mqq5J4 zG2qP^-od6NDF97#x)Pb}YHny~Xke*lgD-g&+ZCVEsMi`oj~bj}GNyTF@&R?*yI(Jz z_2Z1AY;)ijj0A%Xf!pagzQDYA^w{zi2+Si>-$s)4 z!Pz}>yn2*E){S1c;b8LpTF-l-^5~QwXSE!Zk7~ZRt;d&n zCOf}`@3skh{d(R_5))zzV13h{k*z(!I`(}Mx`pNCEz6?l#fOyq6eMm3http4KkLs?)#{Z48-o$Y zVsZgT0FNCKBA06bEK6FJ&j0NkF0ACNY&7xT!0lsYELhui3A?+w9mD17GkA|43Y$&! z0{YlUWvsY@jLqzEoAFEH!C(NH4z_e90-bGs=y5K^q5la|+w~SeGjcQ{*xJQUC*?$V zNd%z37MkRrit&V-9K8d>%O3pcbG|1*29YUdHF0A1F#xP`*i?JcL2^wUHF#s}a4+ zHm1H`@tPV=H@>36pg!9UGgiUs+k78mpEwx-l3l}S@x*@M_2{X?*CRjRi7m!<>SJy& z7Hl%6N8-X5=N(TQTZgNeC2gp=hoxY%F7lcsfJfUu=lA){-5iK%4?2?cQeiy_#5uSY|yy;XVt-70Ch2l0&fEyRn&oM*G zA*KW>ej=mz5#z0N#SaR-hIP2mgjM;{Y(}zcuEM|Y7pIi?OXkJB*fIiqmyF&bo>nPz z4cd{jC6K$X`QwH{*GiZLPCHk_pNZ;I^D z&ps!_8WP5x#Uvx(NX^7^38oDG%AgkW1{o>ea+G{$`^%P?`~et=NXko$-5XxH>eDb# z+S64MKAws^UAx+UqS>E-;Fs1M++K4@*40vS`+f40QR9tYbTIF%iW-(7l}|@)y^|is zd&AmCgg0!xr|DbI6H*$4LWmp+{;K&{ z)PF-=s(-zn{H;t$?p-rcP}ct|xKE_=;*EndLi*TKx3{Tvq1}Ji%H{nP4#~t;^Lz)B zrxW1ib`GcUnsJ8RE+>B)Dz*P!X}u(SvQ zB_VMo?-;CLtd|lVClQey$IV~~<^Eh%hZI+xJ6%gjk%6|Ca}L3Z$k$KZBT5M6YVWl6c71*~{^x(rb=~6}caVJYe!pJN=i~8%qaJr*%f-q%a;Ns-qT=l- za1Y6EduKXYS}LNPw(jWFaJ>U?Q2n=8J`#tw=8aH>jR1h*r@&f&ZkBigTE((L@ApA; zkg%I2&>s^MUeVp)6+^-FzjBhKkgT-bH;U3f3rCvk--5CmYMkzq0!;J}h*TRD9b_4H z)_Lk1Ai7sDMPerf4oXN%tK?^w`Ce^v zOABUrReJoa3!?fn8~*Efp3nv?y`;0%t9!p574eV~?VS;C$?ipdCA}}%hv&YuAAYb1 zcuWF_9)V)9cI3l!=4#y9grv6L??mA&-1++CcaX;?EAInCw23Hm+O)SHBYR3Fjh8#x7J!8elc zFZNkci~MI)G!J=K;290+rlu?Yxp#uM^wrnXeG3Ghxaz3UZV7Z!JnnOD%qRz_CD<|+ zmNJiebf@shf*Zkhtx!Rbp-DW4oUvrgC;_#34zA}1D2sB9MMl~=bPQd|TVqlzvc-K! z?bE;iD1x6M;K%$AzC|Z;@BDL2MuYcI)pfuZ@81w#fCK zlf}r=3SN5-V|+o^{X+O9T^4ifbeE(ck0o`q>@$Qiom3$ZvdB~$Ourktr7njm1|`Cp z`*3kwU%MaZ*+Y8OlTqf(s93p#$tRPCY}t1ou9jF_*Kjw#$$xlM*+^RX6 z6SM^WBB(lW2LMsBtW*D5BA@jUj_zejH|QMKdk6O6R6C2o0F;+9lb#tU+TL@?r7+9d@la7nMlMKLs3FUnNb9NWZ!|&yq_NU@s4rc6ZB{b`Mv) zTVKPk%kfey884N-P@M2RIA8b)v_Nnz{U$C3N0kMe@W~UFlka!lfI?9GGE&_4-sQ9j=XvJ?`(>s%uol-SOMMRRb%iNRPvoS;McWY4x1y2l1 zzX1|NkZztGcX!QG$+y}WaZp`Y%ih$L8E06VRSf!xfWQSrf zd4ic9*I~z;%E^u!^ihYdpp+;uze?{b#pFBbdvK{yOFAnx3${K8Z>(H+7C5P4(svNF z!dGUunyE=3iC4~3cF&t^X^d(t6#D^Dviq`P1>>FD?YAP}#VzvqOS(N=Ozg>KhPm1d_8l57@^D_B_%TWYqLCrKXOlvDnxBDyhWql}msdI!bz_vkY*F)D=ewZQ5@ zbK~i;w@-jwxUB#!jgDJ7>rGQ(-@w!TtMj1Kd{RwKZ%yLl^;KNKKe;sDC;8P`KVwAm z7la?gqGWyjz8VQN+fJMKD3^11lLeZ-EE&1B=*?Cdc(rU`Hgp#&f4<{GYJXq$&Df*{ zsCqZG&GaY_HV>gMS8y%>#NVN=#oxV&K!QCpyn`B4o_;dB;=Rb{^CqX>9+m=POWGCT zhM&YrI{vd%aOCxwfcp8gJ4Ys+)WycxU zW+r$ye44&B3H6rM^0%Xe%UlZ$q$CaWLgQd-9s6+f-QOt^ar?GYU6zp0q;X8!%*BR* z84T8TwwQ0c+2(g}2l0zU5)={?8qG(KgPGI??Is)zh4l9fflF)9(a!Grc#lI2nE#Y? zdAxn*Gc{@!DD`@XU^|*6>1j3Y)u~mvtZ2P*5tRs5obpM=){~^ZIJ=VMoSkc2jyQ$q1d3;WY$vmeg|?P@r03PLw2+4-=8@r~-jmNduvN#>3CRONI=)Sw zMfA1fv#U{JyZ=AnW8r5>vMR9Z{%T3bV&}mN3X{(!E{>UPcMvKo4^9eYVKLBLbtFa#mIlkf z2EWMY@o)V!6?f1>GhQ|H=|A4yyIIgddIgG<~e!GStNTT-M3cSF0>%ng3T&+jCVun zUJ-x^?+X}jdXug7+cmn1a5TiE781hQ8A!~~(;4w7%@)K$N8zQ*fE4rIz668Wo3(Nr zzh<#y>!eg7Zxo;S84B2Di(g1Oi~HcZLg3DQGy$lNx}SO`n*xNR>Z5|3Q9ToPo_NM= z6h$)sf%Cv1v?N^JH}3-`51e|9)aoU`K+(+n(sXEY@StbLvPmGTDy|kYvHjx)N6w1t z8*icZ%Z-^Sv!y*0OSag?#>TIN1dlf9r`gpR+`h`zMrX=Dt)WasKBxic==Pe3RT5-X z@eM4^TJhu3=3v~ZaQFbd&EARr#ziG)PL(Nu-?eE1jPABBz<-6 zeRPb+1J%t^yzl$KKvM%ACdD@6>2ZL` zIabK-3DBmI6i!gYC&{Yh_-z`i!(Z9yl>qeyv@oUA&JBcPbiMs;Soe0+<{^&YHf4jg z^lHni&O}DnkXAQ)W}O?}-b=TKEFEr~ewl@p06yfY(fk$P>tVR2HbMP3=X(HqNN2Rc zC%4q8;>58&%dGus+U00=V*AgEbF1;KfFNM3NUD;~)&|WkITFjd6kyAIasH-U9oq-D z$kX=>Ggh4l&{Y+aawze^;pDF#zdD!0DW8T^4ZW$Q~pxw z#ixwQ4h7d|Fbnmlu0Kl)j$VGdmuDo2sRnJJBPWz6hMPTH9RB0nmHjFY!>rOYOR7J+ z*xf3|ObuI*_-!{0m1_fB%E|?3)%Oo`r;6H<;NfExL)ONI^vpMV}>%z_@JVkuPj6!>ml9l^?4JiN77LW z!QuVFZpx~PBJ$H+ULHOkec)6CO^iw&pZ4B~CGY_@0DUB4Bc^^mW%RCSNt1_LJCVh3 z?7_XqUWNu5R=`l?Hk%c7bQUP)>qQ_@qFR6B-7qWp?SR1u{G8jBg!tw1 zgJ|SSJuY!c_l}jZ`z&OWTtj9B$eQoc-Q3c0* zf#bc;OeNa<4P51WixOiDDh2JoRp{4x&8B8)P5Eiv9pbsdDmPSm1w2>TKCNWLbO{ta zNDCb0A3Vj1$lQCAsL3Q36`zw`SIeL!V|-Q^B`F_>%z{$*yMBU4y6$IlQg&of{B*OS z2#OwV9z9kfL#m0Ou~zk*b4vE`S(*HVpDdBGI-&cZG!0k(74$PjM6zY!Vzu3OWja#C zTQpY9>5dMCI(468U(xYn_B{?=1pS*k^0qOIV`DeHUk>_Pn#uT$0FD2-k~9{OJp&s5y18!*HF_3U$u#5&!SS)CEmpglDWT0rcbfmf5UsS$geE!dj#G8V> z2~_t%Y?P;K<6{>Zl@B_GIZA)zCptxNl(Hy>7lp<#LIAnO>!^O7YZM*O(H3mL_$!hE zo^0*IW*@xL!Q>?kE2MW#pKp-GOjc+>Ryhuo%I-pJ1(MG>y>CpWp6s3MP8hVml;*k) zZ_X-IjzAi5_=nc!<+fxAv8b3luU=r_ii>%KCu12@Q7^EUprHUR-h7sr80D%OJ6?m( zuNGOi36wms%4ph>muUN((s|yu+yDIjSv$qTM@6iWurQ8Sdl6+bzHJu}>@H)jOMAC_#+81p}A)L>;|rCVIn1%#KU{R%G{jQ`<7qT0h1I|87L73DZ2>s-Zgc6pE`P7R;{3gzLSrW9~sbyOI7gOKrfz`I@vOVm6rAu} zU_3}I10vrxfq<1rMzV1puDr4X8E0iE76lf4~@EMB?9nbA~~Ny z5iqLN3uYw+&fZ`!sMzY1-ws916^_Q2fus3#23|(ewcHQQPvX+CR;I(BFmQ5Ose$8A z+zVtKCDsd)$;k~Ljvj>2mM~gTQ7-|+5^Wr89_9MD*cJ)mj(!lG1ncBhl)fjW^bK;& zTFv7=yqAo>gt<^Hnv4p>)EyqKj*;ZNu1>?$)lHU66B!DoSR|w2xlz1k;u)~}07OP* zg&NqB+tgQ=e83V6rd)(l-RPL7ei4U$PT5hC7D{_JU|M3{1ik);8%o}-oNP&j3|Eha zTt|eYT-%+~hU`Orr9o5C9yVX*&8dX(;eTQwy-S3)gE?Mw^;6IKuWrn$JxRu~x;K@m zt?0y?U}(8UaEfIp*H@~h8jRP-FX&+LkFFo&;Z;Mq<>ZA2jwVYgGCRBkN^UN!h}oJf zCAkmb@y8zsJC#3}B6SSy{onJvuts6&4d2tKf5 z<5i>eu0z-NUa7o&AvC-(!kk<5XaBx%N$_m09=Lm*D!Zj#C;r|!ilTJC8)CC;{LlE~ zLdZljf1RA;QPGERF~F5-Ea8O~-No~FNph%80aAq7ogLe8HY3h@qr5jIXWostndvbG za+Lv3=UPX$GG{g#w*YV6Vu207_p9ZNfb5&RzxdOd8`&&i+UoygONK>vNZI#mjkZBl zJuB{+#tf2Omr*e`1p2-0tw1-m0)&bqwt{U-ETJf^!gxf7roby>S$f=wO!J$Oy^d}Y+-@_dz4L-HOxz_WaA18x=E@9g-9^@}WK{ybjZUfA_g1}06X zc3kVVjvfc8T%qJKVdrMs#ZZo_Wt%oxc^86h`>eA3P$qVHM#Uw7yVNs}f|@xk(qgR? ze=BTQ^Kv6D^D6V|gc!DDb(8-c@er7Lx_kdyG9*kBul^CXr>(J$U$!l!uKu?cm$=#> z`X9uZwY)pr3Oe3)fq%{QnYw7>b2+O?j@5Bj{Mhf=_Udk&4Mp?_D|d#azJ_+P=w1J4 zxX6eSf_xlE2uz&rZ*-Ypog!=Ok^nIa-``}*zj6*GR0bwf&r7n?qUu#3B?A?HCM%Uo zpPqh`d*zfS#u!4)1X3twPNG~TXH_8ebvdunx1x<7;j^q21b`KXKap0wn~{=N%E#NW z-bX-Meg3J}@Q>eO;1JsEshN#$ZGJwpE~P&){QB3ZOe+p%+$FanqP&`<@fDRWZF>Qu z&>|}1(ElEeK6IuNstx95br_Cq^1EDE$NQgL&PFM*tnh7Ou}ur>j&itH`ELq-)yFVP zF8;5B5!jf4YCqmx9tVh$fr8z$7^)z=%P}0Zx=8+Rx z15uJz3`Uk_@;yqm8|j;A$uOQZA??&0-JVI4Y)Ju;frp{`zS<<(oaJXUThRRJ~Q(2xqPr*2$M-#Ip zHsPhW6frU^9Pcs*BorF3wah3^y9tL7gb8s@OcUpl^E=Ce?X>Mt>~F0i<*zwHUFKo5 z3ZBh!w>ouh0>6?Tk)A-PURpRAFT*ykU=GH+!#T}A6a9&a0fcYSFEUh2(z8Vtt*!n> z;E&D%NTmlSc;N&I35k?F=;$ieFgcSBZ0ESu=LXi@Rao!Y;{&X7=l{0vKdsCt+pC{x zeSda3b21|>A>4G)Cg0w;_KVOJ$VHYu7Pnk6G)TPqlZyqelS8GpM^RU&M|9cGVNf!z z>&IqSgYwh(%hS(+PbzB*L9lBjdN==V=St{F$p^X599ebsH{g^cPLCS4w{6?A z?x_BQH?RD_0H=Tb+YskpcX{N+;>|yyDwvMBWoyC8O%c^OOu8XA2w_Izs-k+ z4Me-ns(5W$`?b)8j?c5M}ji=Dj|n5xJs52f0GfdiWxtP4UBvGx8EGUX6u<0 zA<@FmaQVezsw*WGSLbCU37@CRRSt%unuepsT(a{aZ3@=<;0MT*I ziH~%&xF6^vah-!R=V60F)K|*RXa>ry+?_LG0Fy4pq-wQ{7DR=nif$tj0)?CY%qxOl z@)F944YwG0)uOgLmwcCw7e2T3YuoksVDnmzOJpnBIo?ZX{n4S zUl~gd-qrP@G#;WkqM~%t+@E>6w4cV?($sth!CQDygAJpER;Mvgup-6$(7c1#3RmX4 zl^a`lhc*FztxBw3ovFIb&n#~P0-mSFlhN8Xauv!M(D=)pcf=O^o%(H*3HFwp0ANUD zsXX<3AoaE{Ps17Qe&+0O`qhWvB!d)-f8f7$`|Rs|C6|k~s1Zwvx?GurZb{w*T~A*V zfPq6t%iOe=d&IFNhA7ez>2)(q>x>vn7y#S6G|Z^%X?DW3ZPww{{{j+liCapZ4jp~!&Bd;GnNc7&MwZU!-3M@AXK$;?9CR~_RF33J1`?) zQnR_t7VxXR^?MRyaLu5>)rN$1w{SeO<(o)*HsIs;rh8qs(bLb9+5j-(B?5)e{oB)$ z_c?>@-!7w z5;2+AnUzwyBGNz?ji?x{ZQ7R91o^0mldw75_#9Yb@I)vcm_6;NzBFvjX)?!sm9QBh zSNuz7Xm}UG#^cO?&A=GC2rqSB`!<=@pI`qs8K&}K{!F~RV?_!+405uu5^ovS#jje*8YCZhrE)wi@#sr zHqW>V*4-ZAxE+Nagbt$6sddKDi9QmatPRuYUbv1(DnTXCCR3yOgUjnV_FBpq+9e9s z>G=?dTW<;32zB86&%bKXzyALj!v8l=$bV#-E|fS@)|Y#F^l4mP2T)xeeLe?woIbPK zi?Ll{N}0bQzRb5ZqW!6gL)V!8_&X*0!8;;L(2mENY3p9h{Ay>$UM6_bs_Vfmsr>qE zctXG2tt^?EOgX~?tGkSLTVvaMsZS3ztp6l8T4FpJ%QOPtoN50$91S)+!iUMXqy)Ci zFY;ZI#a`&Xm@4Clqi-Cz$dD7!xRN2O>O;UNKyoWb7tevORf(ynzT*Dnm_SlA6}TEcuS%6&9;k+6V?d*7V` zADKVap@#Kv=^g$6PINMn*XQ__$Ka8>jj>?eP>vS;XfRtPv%hm|uYZne@93WaoA-R0IP zJadv?uwYg+M{B^SNt%vG>cb?r7&XTDz-XQeF|vP+H1zv-lvESnumEPT2O^P}=Z*B+ z{(nb)xZycEI)fY`~aV88%L;`0T45Zn7QRlo1Uir457(3bYF( zasJilz=?Z;!rn}kV4Sbshx`wTPCoB1zRqq3|D0LIlDT4M62{-C$%rWtZs|#pBIhDL z#y7RL&Nw$r0Mi4}!tP`mh!XXP3@;T6CdoZ@*%zKKlu>D88|zjJ(?QM=%+u_1Mr7>z zlHmfIKaFq%CvtUac;%yNF9cOuAw5jh8lb4|8Ef2$8K|8P?t9d7HY+F;n|gq^Y!c=L zJ~w(CcQ8Z}(6l7CMC#mcH5M#MGybc*6acWt$wsubPHV8v(ht6r+VhemtzzTW!n`Km zOXLq54BD77$DIIF5KVp7r_=U1s)BWJLwR&A4i^Yyj0WPqUn8~LFNLGND~HBaR9HsC zcx8|j;AbM)G;podc(}gTht(6mRz^j#t_cS(KW`(0JLH`6!gO82WFbjVhFeM;N<(`{ z_3AXtC=2?T#~W5kb!JQ%Gq}%f%?ce#3z6c9?bM-*RyMw8^-bT#5CJQ*hlZwEy4DB` zW~F#MqsCuzA%smD+3*StoHz;=V|dlb`pI;JAyk>6q9ctyKV{8MzgzZz;u)bF*_VyzDE zS^Ln?K^7f)l&I6|nP$)K@t&qBtzQ!0yY@22Bt+j&HKwqlJHC)gpHEAvQ>vv5qvE8_ z7Ux++@b{bqy!w-@7Y`>Z1yTRYx>wcsLvbxF*dwoSuS?kLR&jshf}-k21$a2@I(=G_ z+X56)!ko;=qYbihhedEXA^NGt*=Qq;-3!3FiWDUQI4*S*qBomfPLZvsZj8Z-yk7@X z=rcxm!xf>fA)Kz*4W^2%tqMzoG%vdghW~1ave;sb3jowP6X(hrGX&>aB|0tFY#W>8 zJI1vH-0P9_F+&smBn6tqDwi`#S5qN-Yn**HhV|WUphArc7b9o zOJV1kwR)TE>a;6)E*X3Fz>12=vFbhvEG zVAcC0DtRnjlIVc^-1Fr)78S#U#dlr-+aKcRw3RB;WKHsC#v;IFYr?vN<4nBAzyfz$ zn9-d1Cv!IU9NX;&DFaw#PRS@{81DxgAb}MAcdKVFwM?6$*dA=w>NnxTWHs=~-)H*J zDvDZjyhdxX{ba($5IJ6O0jLY-Zowr}r!>@sI=E(*M)EOlAq{6H;oXu)MP0!t>Y50C zvBCY}9gxZK!otkDW5C|d#`ckmO{snv--R%6R4LOItaQkr(9)$cHyN*=C1>Qx$Lygh zm))!D+?;bFd#~Y)^EL}D5j29fHpB3lK(kRqujZ6tuQK!pLQS4-yV|E{08uUiN&f-x zV5|CpwKxEur0R=ZMPxVr~&hd4vb%Nq(y-K5U%N5J-1>$^I;8svc;nf0*_T{13RZdmw`=AIxV6#oQ5Rc?cTTm1cOdHs(%@NAf&NG#q zD!RXism>S3la<0Z9pkP@MD2vji}tIdy=+O7;lP6lgRx)3&hoyw!cVp>WcQ8m!1J5M ztgR~JiPgf!DNyuS>h(O=3Z1V~i9~Gd?TuFmHn(k_{@K|XNyrcd^eQZNc4bb)G!?f% zzh7P-K2%LcGRBALHviW4X8w|U?tfri|4NmFt7qu1@(S|5&=jTP z$!Yv`v%4qxm-~G)Re|2VtdW1{ua2XXMIP1m09{I38$%YATg)*(`zqgZ9jvTuwPhTF)1nU<3VsILv~k-m`o#)5ii%i{8?&y08D6IWHFX4g4A?l0TZw3^YtW zx1Db6o{amMM7|+sBEMA>*GZcZ*|sPC-(G}W<1G7c=G8qf(fFuYh}LD-kxRZ@Q(87# zZ+-q2Ve>UhsAU2Fu3uXRm1QhNV?Q=)ZJ48-HuYj-&_H`+#KCESc~C^dAK)*? znm*qVbY&LkLa+4rB#J}~eaSnjSz0${n8%VG=+;#(Wu(s+WSU0vql2e-0_mv3~-xc27Bu1#g>i!Mu zqr#p5W9yLq8?Yv8#%HQaif>I2Cja1Qr77NSIizluq~+7fbe%=(WRKhKdx2JEfA=Ti zoZnb^AMSiC@bMJpf=cpzqTMu`v@T<)$k=wK*-b9EWqi<|)If z>gmw1{<{<3Pxv)^2Fe7G z<>_S?Zl*#UD`46Gt;W+rO+G=FYBa%5Pq1!b?3%Rj8GOLxvmwZ69BDy_abEy~L84X~GtJf_|PH`~g$t zk(zi$$>>(?j|5CUP_FEGHM=hfMLaB^=)$Ris;SBr0c4&;z?7PSfGzN3m_6dSoh!pD ziEvKUrYp4|>zLFsAzmZdVQ1Xyu9LZZ_%BD&TZ!~x-1soc_WksYV6v|j0|sURzNZVd ztdXR)GiNMOt=AZBMf6*ZpX`zho_r|5@C?Cfk`<|Szw=rzxYsSsH=%!{86ZB)RPDn2 zfHCW%C!e9;oq?xEo09~tX8VRj!eX$3H@Lapu!f~pJkw0>^WdxsrB^;3tP9O7Fj>KN@xT4t29(H{L z;R!q+fl2aisBQ*SZK59Ly^`MlP}1G#9wvlLzF*BuFR;;Kj!I>;6B0u0x?JvWTQr!- zO7ZaU>!82ZR2b^4pc&QQU!pckKZ7H!0_$FIO=~#pJD1^rwnSL%rl% z2!t(wmIK~dcLk}c^^#eP)`3MLGc>FK_-B{^VK`IS?9leJcOM=-&h7`sEOnql``6bw z8LRFN_H%xIWNzL^qeK-v-^yO<#wNAUQgvt1gy04PPRIB9B!Vsvd$5^5R=-k@zDyLy3dd zw1?x(E(AkE7^FJab~F1wie#E_LmfT9)&8C;!(KPDFKQpk0wu=}4YANFC-I*J#8FF+ zCa~xP#O^I4Y^95Th-nfIry8dAY}l>lQDjz->*X&`?I-*G-&sO?94|$xQCM`eL;9x&KL4a zymI0Tsp#)#y|Tg7ed&RW9*0Wzqkkq&zPqA1=X*6uKPV3}??dEQ?I)X@c5C(|=%*|) zs&PyugHG|C$24aLnYh~t^@UOLYS%=5bKPBU8%78C?I-jd1p0CZhaY`CT)#}BgewPA zDN}oL%TrS`F!BUbsrNOUpL6&dt5B(9AWEFEiH{bj=@O;m-z6TiSut=ZGLn3D=H*6rnkSkM|9jZ+)r`SP z?e&mOwQ{g>N0P?l1SRoqD(Ze#&gTj#kEp16Tlex~XLh_^2E$Z)UkJl#rY5J4`N6rvqUFFe?6mDwC+=WNT!IO_9Sv7_!_}} z?WnC_8fY1a2eNe!0p$c@9i&M3=C;q+V=2z0s9v&L;X3I) zBK5}tTesLv{W61mH7#0{K@osiX5$O@atYP+kiob@{!L#KW*b{NwPH~2>|Nb~x=F-` z4|%=7way1ZrV!0QJ^+-SFmTV2`>8$3@MOG5IZ_?QBaaUAVk)-glele#mKznd@l=OI z_FoekXmKG3OOIqRGlHZ-G6tG7>?tv@a;cBz&{L2x|KLL&OIOU(X<@XA>58uf`YtNX zH>5wVmYZVrDR&|BHK^4KW|f<69zK0ZMYa8#yiQ`|DG2}XdI;Al=8<`ez%KZ^nAeE* zxOGI5;wE0&Tp=qw3C1J2(3GU8ZmiB@9UbD&hy>nfWQo*|R+aHM^OxR3Q(TCSzgf(C0RT_n=QpKidbVHx+t6eJ8BVBa4J=W z7&5S$R-Z0rQOW?JNF9sUYUOzS_|9siI(MitjGM!XOqrJ_6~hnmjeSNF&#&%UQ=A{_ za|!;;`dgUpvB(QvJH=~=?idg5-SKIzq@)~;Tm8Cp$F8AEElPscrVn+?{mDO(-&tj} zd=bm!kxDAF|Dm`nVgMCI-9VU@${~|^)ItCVtV6k^5;GD32*)IcOF$`ZTViM0My`3!I*re%B1hX#4}jpNrlGBKj)>0m*e%^hS;`B^Z#KPiFGqSb zG)%IMVt?}u)$Xp(7=B=tK&sCdnJc;p_Sx^_`wbQ?%>pKQJQYpQV& z_qmN5appYQWX%~`)?rZyBq^RgeYOOEuse45zwy6yQNqn;cm?d9@2;~5m6dM#M6Frb zij-UHFq>T+8jQC4HO&B0u8TGqF5=lU8}jc7B5 z&0hWxH%Xo#3}0?6nh*~J#+*H#&*`a@*Fr08RSft4R~}BmGJthiQ~jExb-2A7e6)q~ z1Xi&U#PiF;je(=Ngc|-qD*N^(*3;p`)2GF+9&6n#TeTa_I|UJ2&)#@y0DGaJz0J?s z29=u)E`;Gcnl__qQ)5#Eto>w#;Bs{gWJrIw5C}&cN4Nm%mv=;KJ0kyDdhJfNpVw&? zvX%l*$>Gddi{DQ4xZwoyUbmO(O2l7*=GIB&ojmrj4)p?qzix{sz!Nes^v+AsMOX&) zH!oFhv@TXBIoYxw1^^v2b?DJ((0otPxgXLxN!h;yQ3miS+V?E7d-3f=Pe>s3GBc;P0S2L zmGc+{Cd&%>d3z7TmP_@0vxS|Has%%f@1q<@+dsTa2-`=R(Qa~;&9e#G65<6^hNPxz%lUQ z#diJ`v(mfEEr6gJw723kRo~Fi;Ooq7ry3KNx-k<+tC!uY^}$0WSv$;%TSzdUhF8?8 ziXK>8ZML7*4L!5H`QpUwA@l3Wll30M@w%YXaS6e(_7nL_oWH5-2sjK}#CdqAO+3YO zoL&y&e9i)8n;MOWZ2^fk08`%K2B^H*l%uGJL5(&av$nuu8o|%AUo^55-*J0oXhBvk> z={&Jd_XDCe5{g`YWjq?DB5?eI?6a6*UZ$V?osIhQ<7trJjCcUIxS0UXVrb8?O&EPm z-td{gx30b;(w@o_)Hj+iZKD!EAF&d*aJ~+!9NI3JNx1wGZ@+tU*dp3MLen$tpa0pR zmItfITtb)vc{uLE`|tSn502}ZgXhJ@U0`mF+vgjL!(zTSJ5s)gUl)8?YUjbloe;qG z{y7--%;!tzvkwzBZaDh;bQFcZ9pB4Pyy6dkrT@f0I`Y$&RPmp<_O^Ei zgy;Iy=KdQ$fmf}?8aIpcH|j!{-`fXr-OAC%2)(SHW^qxxDF5BlWrNWsi;-KZtQ<7d z@fo}l00|{dZz7_6o!&Q_GMF7#@o>Q50n?0}?~RM4q(=1jy1U7I9iUWkzi*wm`DVzf zLp_Fm{F{rBw*5`GGMErUuH~H+X)stT`&ccj1?^rl^l(aVPLqo_y86BZ`<~=4*k{q~ z%9bImRgb@uMl!c{Ts@)%VcGDPgaFZa{i5iRYpVdn#8Joh=7rdt!l@;PmBQPpCIAATU2e6oh|_hILmB)Habbyo9`n!M~1q zkrq+$P2~HMZ__6Omcbr}bXC%O3Gc9!Qg&5lv|Ap$fJ=w^Q%QgP!%7HMntQzwmG$Jw z_N+d&MszDXAB!V($eXPwNzEL|?zCLGXsW*=y1v=usS-Z-?}rI!wi)TiN&Bw$6%52S z^Yd+j;hqJ=t)nRkFTEjsT6=T~uS$xML-pWqNsFvlPZ81=r4`0~6q> zI3byUt#D6e&ozZ>!Q3FbCqqwWNms-xxYuHB&WwG<>Jx~u(@yW&l%1V1es;Tb^F92L z`oCfC@$LIlx3Ps(Jd9xu@chSj_W*KK)X}ngLbQEWX}!F$i}PI2OJh0{ZFmSRCKxOo zA|ipApFMJEKR=iP2H`5D24)x!P&0o2v4^<0{cb8pw4J4e@-PFl61_A4B;t z66HQZ4lWTBH^ERGw4F8HN$7#?)QF4x`zP!w2)x?2tP2Jm9h-5vuc?e`^ii?Qp^ETt z0aB0RYUlgw&xWnb-0uD0yZ7|S&8Hzo!Pm4ou*KIWLK)bHmJ=-cV;RF0c;zKn)F8`>Mv0ihm3SPs}&)nOsz~!< zt{quGjDdzD`}<-_D6Q|+trG|_p8fILm}nI8$h1V8&Xw)O&CUo()v#Hj-{n7xi@}=9 z%#&QSN70i-+1}$u2pWFu=@or+c6TS;gp7<%mrm_`)0EZgv*rSw6j?WOA~OpaCwqh` z()BjI>ZiU5hIy+l$;ETiJ6)1E?Lsu1k-NL-j4E+k;nZU3!I+dnaS<}X&6}84WU~(L z%Y4u*81~*Y{x7+z?5;=XSG7Y1kQIWAh9+T77(u2sGfi(8xKC~T;B10HH=6grc(`_mM&dA)PG)eHG$*%W;OsUIY z*fn~(?0F;ml9z-!ucv1DRh!KV=xeJOAGz?BhfT~#VKRmP!`4}bHT}MSe<11zWt0p> z=@=p~Kw7}jV}J~i_!810-5ny$BqudOT2ko-=^i2_PC^<6Oi4-a&+qB~xF2%t0ULa- zUDtJ<@ALKQHhMC0@Y9&DPE@tgl$a$e`((V<x>(IJZ9^#h41Otm=IJ!ern? zEe)Yy6Rk`Fkb1|aYM`Tv8#kgZEz)lQ;S~hTejtV`1ql{vsUn_Vsp}(4L)p1?82MGY zr061{(sn924=WRtFdkL!?qm@rsH{OCSP^uj28%Y_h#xf0S(`B?y@epuCuoBfPhh-k z-BR%@QUay>atsL6+xcA|c?ww3fqZcMJuMPW+!Swy8HmezuSH?LCJ`;GqQzb zc;M9}r620^hR4EXHqzpXAm5rrv>Dh(P{Dx}V*Rh`ejz}v8SH6Sa@AJ>P&-X~^J-#-K_mHXe# z6x{E3bDg=HLKGZ9-S~p=1ofWM`Q2cXqX!pZr_@Jv^pF}NHxwx-S$d;EgHQ$pi=KOu zn>XfK5d^_G{^x4+*DGUkpd4crOMN8r(1XJF!z#lw1S5^K1w|NCaDzO8I})iL28M?( z#jxwLw?&m(QqdS5&dlXRCwlbr$ob2#!0`-yn_Qgplgoqg8{}aR@l4k=D5aQB=7FL* z4U|h6nMi+MkBTf&DW5R~$L?3kXt3`4D-%kt3_?y&$1A_Fq@V)Dcs%m#fBzc~$HRD# z>=fEo)Yw7^ls!=LbA=T$V(2s(gA$G5MU=n6FX5{+=^i;6rJnsjT;B$q2o7gV7F!kX zbNg&XL&oC%oJPu(g-+daIT4M*M8g$D`(1~)lx5>5)M9n1-wocFO_=0w{>rO|cIQ!* zJ=WW>jOHN!;8Ec51hG5_Lt6}=2I?~LDD^)>Ruy+q3*o$Fo5&24Rq47cI&&j)=#4Zt z>~z+>=2?%Uyc=EiTB=jf*}3glxwv4O6bFLaqIkhQXbQ0p=DHb3xOI~=*<_zTS&hvy z$>yL@SH`+aKa3r&s{&B&vVTtl zIhY>YCO}q#8*5j@apNYj=VN$M05~s`DSOxXMAm{PMc{Obgd3Y4=zf*=_kSpWgFP=o z-K0ox;6DznKbBs`{2oVFm)19_IKtVrIO>m`8KWBa0s5XuLW7%&oDRDAC&E zY;ecMnZ|Bv?_}|6k9M@!{7Jxje+O9rp)n$CjucwF{8i~toLmhAD`+P@eZIeWiP%2= zdU9!qonBjGcsew$mj_w|l;mg?HUH$?S#BetVVe7^;l% z$Y>T$>V8IfHh1@4-8}*)Wbs>Y=>zc0yblrLDhBo3}*YEVhdtcV=opbbI`Bm<{`NQw~ctmLY&Urbp z^PlKjx@KioQ-ng1~Z4Y?1);my05HkCP@G75eY=A&geg_c5)8{Pv6A3Z-UMaV{;W!r;NjCXFZp)D)jpBo1d#?Qh z=1*k@Bd|ZPumg#Q(`TMzP*INUmi%;3LH*>>k<*ihx$^CXc;fB=A)nuFq>piD`sgt^ zqfDH4H&{s_94ag%G*f%p+DI}B`4^P$`Tf3xkIzwHhoNAkoADCFy0gr45ULh9;k}4S?m(ywEIZwP6V3lbH{vJNEyqzYM z-UKa$+w!U#yW-8C0DwZd`IS5Cz}WiU@=)L66|u9__9*4xAZ2p0fykgcON&KEThyg^ z9bdIku&nHCp9vHdHeLMQ3vymP*w86_aod#uoB|t0iAzeTy7`@mXDS)`wMP15{|KZj zcsWy=fJ#$qGZVQ_)cn~FYD3kouP@Hdzz6V^`{?WbG%*i47;D_HW6l_&-M#8d8;@F2 zhr+yK;l661k?G~>H1l0TkMpYnT+V1Y;HTi`l@D%;*ZbQTa{ftYcBD3r;eDw>;K7F0 zq+D~Le~Vlaiq-oP*XUwb-Z$5`=1pjsh_J{ay8pWz6UU^Pclf-Dx4f1tSjnX8APOW?Y8+c*L zWXjs>E*>e#7ks?!|KqgZL=YNk(RDpYhXjG!|ijx^){o@ z{_iujggcCR&EzHxK3VnNTSkFr#<|%dyb5NLGdG5+M-S$M&9N#*Wk*8-50PKpk$;ZP zXDNccYJ5-QKFyTy(S2LD9TD6vG<9%UFy9!)+H}YmSr_FX3=EF?PS=Ek|BNs$cR1m5 z&AzV^N=F{*VOxYmU99RXibp1o=GH$u3_PVQz*;kk@w}7h{rcQyxq^6;9YT4%ten^{ zJ&dhFHS@oAD8a(B@2Rq^XDxRCX~!iKnXKy%t`i0 z{_Bd!&7bueo$fkG>iGBlr}Mzj9pIrKf2%p$_#ZAm0pHTqy0v~LAdIRn^L+o_%VO9hU9j&t z)pdDPkI1bTZmY5t-7g_ov@}rW(SDky zr~PosuFKUQW9t_?hZk#WTAlTRMNnX;z|BwJDmc8@vZ1OY5duxOIZv|h6BbtIhEfjN z%2aYnyFXZ)3^tNFXlL$~Dzsg7%(F=W=0+=UB0AM(MwTO@J|$O>K3&cZ8Ew)EZS$y| zLxHD#vPr75fDtRh+WcZ#I3l&m9?n~I^!;#hKFb z+x<#eHT|{|wQ9DRygr)UqH(vRim>Ob0l~4vIe~`c-gGwQ?#@zC4ZEdQ)#ob#d1R9%=K$in404V<2(an#?V;BFPtx2)n{p9vcXz@0QR(pORCV<0)x>iF2em^cWKS_y-nvu5?p zn%vIza4y+C&7|*2nGZz2oZrN<rx6gmaM$t^q#4FTEO4@&f5BCmHuO# zETW8AjL}5k4Y^I#u+e?q*8f!(Vv*W_+?)=k^b;xva5@tzW-Z7ke>~)yQB&As>szTKi8z3 z85cY($h|t?BPQ5p>QqPOw*6sH`lgisfQp}UWoiY3vCsjqSUgin!sB1S_0u{X#HZa>JZFv`BUiZH1La#1Tlv_ zPmO#%z5N*McsU80x%@#g`pC95CVz|VLR>v5xJo}{qT!zth*;uZnoGR*PcHOmaz0#9 zalo|7E2rnggN&3I}`|>`KAH zMDpH%kh|AzV4|bDl^FJ79x4Yfwhcfh*&=DV!m#uUguM74ST*P5Cn&jrYq4s>djoRZ z^SH(bYQL_9s$k`fR%rJ-2mV~GFp-gmP&C&`V5%W#Fh~FIYjl4_5FtO)g2g@LM;#St zR&^TBq*k6d-X-T?W~JlTr6G$h4z8ProWcDcLZ{+X%wF)07}TzPc5s#trcmbvay_g1 z5raF{ntBv=dQgM%H9(MkP?KtmCmP#FCMH%_kqA}qU_b$^wzf8Zu*6M0N6Hl|cmF9> z5x|7V4CN=ge|&i~mYpqUm0u-*&-lhUUcbaCb}IF*OD{D|{_DDTE#a}ZJBPo6lP=Sj zSFEauma%S&K5x_oinMsKuL*mfT@caTP#e(=)%@qvHsMpOnT+}L^mMpmMJ&{AX0C&{ z_x4dt)`^!Xyg$k!(Rj`1HVxFuFV*gc)JBUEF`Ib)Akj8X#Y0MJ1BZA%mgc>)+hAguncyA%^z6tbRwYK{^CQ;8`#&07&LK}2$RXj3 z_~s6_%nnWEN%8r(;yP99h3iBUlm=KAX#6tH{HSINqs0fntjT%n*OAQA6*-Tdr;7Co zj>P5*#>t39vU{0I8f*53KZ|CCl>6U^#>7x?zkh+`aL;?p{B5;4v5Xj*M?_O){SlNz z{%PF>hD1<8P3~}RMWI4;rsiYm#mAM2GQ!mTy&|_}{1m@fDGR%Me@f*hMPBaVb)F(C z3+YW*Cqtykix{)6BMO+5$ipCj4_bO8BJrE6werB5$X_`u$%x@_5KYDX6dw~RjwWjP z@ZPzkj&3fM*Yk{R?_z2yRuM2Ksjw3U?s1ltP}p^KItVv2s|t8Rn@blF4?l&jB(0Hy zR!!6&g+Ik2kX`!G@)T)k#YhTlB6&o3j0dc69pP?)l|b|NU*|#af*nTQa$b_#JCs7WGy+u7k$@}8pz+Ym~G#rMdjP6>nh*xi-laz%(8Gr#E zC30Jt!}kLi%22@Z-TAeeWLFR-927|x!Kc`Tj>XI5GqOO6R~Wt|a;l2(Gri^#LwxuA zkD2u*uOj%RirJ>%tSagFobmos)`4PT12T5a(W|D#aCBB*pE`%^<5Iy)Gel6C0Gx4u z+SRsIl>c0)rf7WNad$+9(926`D@RaXlZTSqC78-TDU#*ALar520eYzW|E<4m6^QXpPg0C z_;?-xJAJdXqu1H`9;6hC9K`F!phH(F@c=@=hv`1RllXJ+=#(Xan{vJi=i$*T^%x=H zG&@Ju4B}MKPO@C)q({le%UkQq%ibY+D~B5&z|xa*)VF5SEqhk?LQ~79hb)6%q~dV2z?>4` zw^&^4xSEsf9da)mJ=JW5kuRN`Gnv>I@tg4)e z99Qh-;X&{^Z+PPABcY}S+6zexQ9QOGgmm@Z`28?9=7d&#aKbY0Uh+c zPYs*hLxFx*hs&3{1H^f?jWf5+wt}Or(@((%260F9hTCUBzpv?1un#q(N6%q@hnhLA zGcSMFzM1$%e8sq6R7X2E-BP}xfIButGdh%$d~CL){D3;~hjH!(z~xX2yc3gdyYL^t zMPZk7r>8VzbVog4>VMfI@;Z$MjE}$D-PQ8O!*)MQBQpG_-y%&Fo1bz#{WA)@+#B?d zSG#8~O&Q-O@#>I8j6Pw8f4OS89QgM)Kth?xC}TFO6e2Ae(Jj);Sb>VyVrY1@$Y$-{ zd4>BVWG1v-q|A2Z0wn7P)_XV%)mA(IZg086t#amrejc@2Jo!(s%r6!Wp)9Q#4Qy+^ zyR+J+g>9onQuVWd^nUDk4Exu)5kmTAsnU{F!hLt(602Y*|{ab`H5m4q6HSZCnPz0S8co>vs~L ztVTh}Cc~FM4&6~WTq8*V!frPT_G&TSFb?_qH@HzY9Z(7SIGs$FGpCIU(e-(Eu7O*X z7%bBbroZ3TQ=qRI8(Z&bbjkMuycan+LgmA+hHy%Dq8{EIWn~w8$1}!h^nk}!T-cqh zXKQO{k}s|EACOcz8wbc8B1R4vSe)f6oSjaNK#KXiQ;UUlFVdzsSg|kKgLf+A(&gXa zbq%fviI9tRT1kRzmk~^iac39!;vn?3y-?ka6jIC**5vtX5%71C&HU4g5}h0c^DII0 ztNpkQ^PEoKqni6Gdtc9AHe=5(ufEpBP3nssrDO}~=x|R+(ZG{msM^^|2uEncjWc5A z0&~c%<#N4O+DwYEnLT@br+sqcxAu3V95B^Oyj+tzgcH)D?8bX>;Mw2#Z~xf*@_0?K z)nexdo*%3EL{ zu=R*h6A?aLmaacH(8xw@D%UEdZ-RPb*4cXY`&Yw#6C}Ihp=>Vs!{L1VcF14ztE=&U zf5)un9nElPmvd9eV;cB%BqO2W;5O3K3KjPB_n+glmo?=2v5fSb%6P<5XV<#WXO9 zF{`fI7wdq;dLzt7OV7Hmt>R63t^JR=;w`V#+1ll;t-w@Gq)2>lK)@hiPd#nRq3p+1 zYsi_HG=3>E%%Bx$4DE`vr-9`shWvI=m61Z{r2MnVbH+xt3qO z(dS*YEd49cjrXu%{8mF2H zToVS8R?zk#c`LdjCsdP7)L+s(rDBr16=nZj!WiJV+WYF3sQ^Hu6gS&+PG*(j{W9)k zdEIEB6^n$Sgsvrtv1BF4-?isXnTe>%X18>$CL~yZ>3#JLru$k9$BLJJl+t1nR?;6n ziav^ZK>sk6+RT2ixm2u+9i>;SynXYrDjj-qXTUxksJf@JT9>8I+Hl@IAM#V9M^z5% z>kCYGv^Sr-?i$MY`R_p}=cL{dyzNqX#;@C9@`b7D<#44&ztBHOEv>EBR;0vEuX-MN zziFXR5^UN&mL(X^5|-NI;-NDmEd0&|Zy~oBdK!M2_)<{Zkl-KRt8%Vd=+Fx-60aYY z+7O~(zuW&H>4na^T^ip(8E=dXZDlBQC+llM z%J7tJ7WhaS=KC zAm4-aO7+BypW1rBn+kF-tGfC8g>~|ZbT4yH`>10?qc9VU}#8x z9)b`rDbz7^^qd@2JdiK48LO;NZ++3+O&47iTvXgqi52ye`mXNYO{Z^LbAl zdFzXB>YB(|&mMby)+0NPNViQUD*(eHBCp!tgnkW-UpWudXI0u6CB0F!5O-&ZwstlY z^2`&n=^sKqvKuMF@2|Ul3HN5D*od1mafN#V4C8|`3AB$^XZwP+fX9qv>sz>AO*KIr z4SNRV2p_sHLFnmVDW34#(EHka`u{;QcGg}+fM&*}%O8Y-&W4B~r>Q!3t}=Mo^4{b^ z1QI?4o}K8v@H~7ObY?#gkgV1`!d3AFYKP(YQu4f;Ys{76^8-mnI_QR4IA1aLL1^4S zJ=@~nFWIb4N+(lEXwm+^>c0b9ZYs>HD3EzxmCn0=%Jv0yFTHx|pQy`mrD#6CcuR|d zLhaF=pEs*76@55*bQHF4UTx()!u-iSd~^6VjF?+@>z@m`VQ$;0aGQxjl*MHnNbv8W z6&)zC>q&50Jj@XT?_KfASdl=&61s8c&fRkp<~-rhDEO5kqHNB~8C=YAH__|wt zo)k9AI{qu>w^Ku2U)ysTSBU-;U(Rp={p`0`^vlZCEyH~?9>4D$0| zdb2qxeS`W@u z@NY)Ttbe@v=%R49`9W93iYiDE{A*D4BC*p0@}3@}g-J_+RxG+rK^0 z*R@sU<1FQ-uXAEhs+)V%LGbCojYv?3kM;muO6*% z3fFQa@)u@~uVdmYvLN3rrI`^ZprI^rnr@$+mLV=0Ipwvh8_7mlY){1jkMv6|!DiLs z1Mp2~8GwYGQokqVCSr~80HNSgvM8%bpZgF4q+JFb!WB=)Ukp~n`}YHRmy$uqPjRi8 z_zQUfZBP-GURIz0EVVKWWrT(`t_(tNw&VuCr9}*$|9*ahqY3(?D4YgH2IA*nQFDlb zF6*vuC`nOWqXZ=dY!p}Xft0CWs#NfzQAP@NMGPe~gJ@R~)>uZig)6w19bpL`_^EH5 zOdW&rsKN|4C4!ffRtIDF`xF^r{zA=YV{isqS@C5uz&eNOQFYxE#x5h_LS!6$iI(ha zZP^dh30zuu(63*;5oqMVrU63gjFL|GVNWw)N)Zxyb94vtZixKXHTrQD*Z2$giWHB| z5TAMsg9yeKMbRG~n#IBM0e~x#(9tkXcNV&)=jy#^&xQ>e#P6;EJe1wNC?+%zywDF# z;_qM0riBaeNN>DJJ|RnDn}3N!c3uCV9&^^Q!g_rGa)Di5t%%d(P9SGd>c0-JOC;y+ z|Dv6mWk*4yLe4rM?^}}ou?EO1+9P3Jm{OJ#Ed4dQYaDP+?(nwJY+B<|Il%qRsFZi0 z5@hS?RwFYZqqYn~EYkW}Xpd{(9-EI!Al;7`5jG3{(`QhGZ@IMCQ7b~G=+B%_G-$PY zIm>l6RSXy13#xTsj74q4d>h*xsB*Ey#6IN0=!SXpDi_ov?>=~A$%uKxd|=c58$Q3& z$T?n=q_yZ{8U>EA_<(IIfZC~e1^ZWLWoJDa7s&8A?-AEdIe4?Oyow#U*z*?q?zVFV z9rSnMaQbnLA+X-eGrt;@})29)o7tu9oysnc>)O->CAeU@f9<|a}um2tz2KNt~P zZ30b6I-R~XCctA3HjjQU$U;S@HyjDEqa$&=!@CY9l*khX(`n?<#K?)8M- zPgS49^5ReoMXh5_zpMF2j<$P$XgGMdT`9XR995Q53jwW9U>F=)tm`__5QU{r`FV>0 zwQ#($RQXPx?A;~g=0o(hw`_rp>Fnebb?Wi_8*l_2X>TEq`fLF$X`bF?r9v9TXCOTD?B6V!N4Q1HkrQc!*8*i1Q0=*VK8dcLBkH6)7hLGdH{o zA;=*ry$wCguLQG=jM^mTU-TJt(oo($FJ8QVyOB_yV4yTBrpPU*Wq-c4+qfvpJY!c< zHt6DwbD9JfZHyd<0#^(oBe^PYI^E6eZ%JZs<#fk4$cBISs`OFvX}ZSN(cXD)u@$aXcDQ~`Z64kg!;x@JMZuP` znn0Ya0fc&(Zx;`ba^6>K89h54e7}V!5JX}cF?x)9%V2DvqOaGxUe*^w1vzjBI5$?^ zkkYdCk!kmKLz<|usmFrKwv#4h-+pg&2AYk%EByYm;otAvj=6=$#`+e z#nL;`o|lyeq5N2^YL2-X#)5Un*WcR~bG$$;goswrWwAPLeOEt|jv8EPzP@V2qO^oz z@{5n26pvq7vU+AzRg2QJ;cFxSLw2W*SHY7PTPq!INwC0w$73RgC43Hfo<>YzaqFKS z#R`ts4Nc9>ZS9VYg`5wBSes~6KIy9wwAGJ+AGexPx$P9Y-DOHMU{i2DZWRtWjpMW1 zK*W}e=RQgunRQwC`Sa(h9~niD6o4!RC20cNNY0Z0TkPGlt6iVP#h(kt4z%Z&-nF|? zWQn$3Hlkcbs3cpj$J#yTv~2Y3G*jVeUnwNMC?%Ug&anYk?duB!^;2h@%8k8}Iu9Er1WqZ!Yb0-Bq&mnZjz>1IO z=pTX#Nyh-EU8hAa6!?R6y@`#Hty)Uq*50#!zlbiCv?V1arBlX~D=6^CCg297A&{fc zdUkbgptX3lyLch0B^v$fY`r+USWuXsW2R-nI8SOte7r{Bzo{r=(TpM(a~n|x!MPHK zwyAW$S?RA%%=Ngjk;UeJ#}=_ar?lW@R$`C-WZq7n%oW){e0LBuYj@hMebsrj5z^e& zlpjk{T zS#OC@R~%~k%q{Tf;JHUveR zCDg-k3lz$bsc-*vt*>{E^PS53nR_65ZL_ROomrbCx-Xm~MN{%iU*Ac7B1Kx^knd80 zPUioc)Xsc;x0+2h7W-zig+pWNblRp6!V-h2Go_BUF?*phkujubC~PnqQ6>Llsc8xO zZ0N6ZYc>YH&;o_%!tfOD7VcWL*RNQA{4iG&4LNsiYHlYRmOovtot}%Nq>}?B4q?zk zeXm)_AbF(oDyPc&zI?=&nfSNaO^In~X-JrhDL8LS){4gNr}0XdT^1di$>akUl9mD( zZ$+W%Cm@<<$T+AM?B;Fs5v6BVbZUL+-8!w2Q(W|?+NIb+A^x%#EkqBn{uk@D%Jdtb zOwIbx^V@~#6=yJpU&qWCy)RP!TLjlgUAcJ%^wU ziE(0_f4?7fu#rtfx_SgIqXQiS9wb5G;b~COBM4?Pr=s#i2QK%c;AI9 zKhW42sNQ=&Q$AK>QamzkS#3r;_WS5l2uaPuy~g;H!Srh;%9$u9kB{*DKSD!d?_X`) zr(b@{9NyfeE|e@jREB;(XW5>a)jmIepj@PaN3W5+5nG>_y?oY4teu>gb1@Ifwaq}k zh7O$f#Je4D6G#i~K?d1QkS{ld`DNSMS%|3|tb2{DgX4fbs&7aJy*ZF~|NJ0L_=O!G zl2UnhSFC?K*IKcEYb|oKE18cKFMH2CD}Gh>_)iQ14}RmqYM+0p2y_(q_~$> z3NpK_7j^91s#RX-L}-$+#a@f~Dd}=Dr?wkl~~FyG!pzc<<7a zKkAeRLYNi9qULWhWA56~lIwfNFN%I}$XMaWwcj-!eKk4^hrq&<(O|$6el7BKHP#r+ z^X5-idNJu6Cl}V21gim_TfRQ`r=gxsYAltwVq%NnNYiT9`R=8JR?5oN5?`xHRfXH6 z^>#xB#;yN>w=8?Qpcwm?H&CnLK7?INDuPml;vD=ks3PI0T7G8W%#e*}^}iqfSyh*v zEsqO-?+K9%J%TnyDRkTL+vu>5B&6zGVJ1!|k`XgSXoGUCAl+=H@xj7vr9Ei}k`oVl} zAKI)AE1>;3O}k^H^Xltl{1a#rTb#e;4%nhT`Qw)lw%wGN6U>dNd^H!(UhN+)%Z^kLoa7y|p@Jk;mQlCkHS&Gm7(s9=$rD@R~JLoDJ1`rynJNa7<){a%ef?y<%|04_i>T^LmFy)G}* z%4(LZe+aYkwOmkVL{95*Ufq@q@#1weaeF8|5KYvc#HhSQNpL)v|8@8TM6lTnhfajkfK&C170Z@jHV4y))| zDAT}o#MlsvwPLla!Tbzq*FPJGd%+myAnA0pR!Oig->BEcrN)MkbKhFW^uWN#{nWl8e-s_|Q7>2?QthKZ1b-B^t?pIk% z=2)^fp*ngu@uV_rY=&{}lUzk93#?c?)YP?Ks-J?v82m`N`xIlR!408HRHPu~AGqx= zWi{ge8;05;ieMHr9GuGAWJwTC{uFlQLP7K$5v1x{mYwhDXl%^pHPx3`I;3tS>o((loCAr(FtT_JH0mwG73B3wj%#aE2|4!a?#X()zp0kO<9Y zbX)|AD#IiHtIAz2vJc^6yk%`@bcu$j){6L%cV=v$5#zLo*39|K%5PKT<)pZt!~vA$iDtex1=rTZ_U|-0+oU$)IM!-m5QK^^OT%G*8_$l9an&+ih2SEF_pR zXHTNllzDhO{#aK7q(sv!GaijCC&5BA#)bCW`z~>)3B1s^yY~Q^(YA)lF)^*k$^DOJ z_s=F@Tqv|#bZBVPxg+G3o@)wM*kZy!f5KMTF!S`jwSC*k0~oW62Gq`Eqz-kU;vMXr z%D44B!8Qw=sIEbffNqTQL97ZfH+q31S3h$I)69Vu(kAy4|!1aMYd znF+9Y6(P4)uD-G*$V}6zM;qSJ*G)z3H#nReJq7>SIjxPrBV4Z z;@*`n_PP3@@>x~?yX{Dp@W(y58}_WZz^c5h+uZbQRIH9g?{-( z56~f3nDbRD$khaRHcyH|3AHnxcnb{^fdNe@czPHZ;)J|zOq3gqQmS2bsY33hI zuS_5^V`WFD2RicqhJ;_>7`RbG;ppkxm8pTcMWls}8vN?WJ8iwEG53p0*^2XW&vK~g zAiP#e7`&`98>K%IID2)SFT@YJ1qBad9SL|XuBXaRljuCj;8K=1NzpT9AED#z@Coq= zZ%DyQQBXaZO|ql5&YigJtG$LN-lf{||4ua@9eu_bV*Or(9Z6BpeWW)Yw)S(k4OIMM zH!gfNws^I@>{;8{T;JcMSolpPxk3Wyyj4Lh#t2r8+0GR28tJBPZ1Aaf&uz`QS5t%v z4t1QK>0tg$TRx_FJCk3Pu-JJP9P;r=jW?8BhWytgvq732uC=i-10R}1GHXx9*w{y6 zX;xeTilCw3Uc-O)-fA;gp%iG44n>S97q#Q&w)Xx%*{F)rjOKolUhZ?}4@76V165c= z^vFnDDQWK$sjQ4XjO|CyD^$LyqLhS}nCD6B6B|b$p|_Sn8hE}rnZi)|ck2}PwW(d9 zBlzfedyd8G>*JoWquo{_VQjmQpBgaU332)}SJZ2i)e5$@wRkSLG!oV<^RQn|n7Bj^gOY5CYoeNy#m*_*(ni7~ay)~J9l?!@ zF3kEWq5k*SePf$Co98=QQ!OFB%i3@ z%wbNQ_cH%w)6D-Sn1|TNJ&|tpzuY^v^%=R|*(xigm|DHICGepn>>VDf;^*Vh)Y|&* z!cI8ktUOn*k3@1|K&C~UE&j{B8eq=Na_g^hX>1%Q5ZY%J){YBzD9kl|;&R+NbW48C z{e6~M<@4d7bnd7W{Rck}h5sEo4D~T9_(^MDwi3_h^C%(8`J6lgFtbkCz{_nd1}BKz zw2Y?cSoljz==|m7(^zF2qL~eIhv32tHbJ z6Y&{nv2W?EPVxLjpj2vVZtZ-sqo0X!UJiGe8PU?8BJ8?W{QI+bxiWV!`C5-B!uRNm zP*wWaB5mXyGMQMlmvw7_U-h)7U1R5&&lkgDQOO?!AHsUaBhS9(W8SvQZ6_pyhIQw? ze`}o=S8>9fCT5I%#`Iyu#OciokS&oINvzb;e2FCvxxSG~^@YEk8UsRqwd!VKckhsoi!QqP|7LLfQ4s z#2vOK`d?xw%pgOX17Y5{(lL?}_R0xHjrpu@$Sj&P$a($Iw$)p4QLUt;wK;o2BLY%s zQ(qOnjD^T*Z5Bj7SDq2SmM=Aid}y_~3h zKJ?teb+@_{SIy6CV??G3%TJd3`zp%*WP8lF0-#xyMKtE1KZ_u{*u%W`_CBX*@JcVT z-3HoIb{j;?N~Oh+1BHKGk0*x!;%MsStAU{pKB6|BPscl&P!fHR{)u?|Oh%h7PU!_U z!Tz1sl{x}bqn|&d&JF!iZ;7Yg}%iSCiNWWXJ_plUkfH*v{vRnD1t`hZ}CcHwPYEcFA8S7(>=PxQA} z*W#uRMz)s=S$rOJP1sB;8#)EfZ zQ7RS^SXZz`6ki%)#kwlrZDubU@^;;&^Oa7$jdG5ka91aos*!YM-Lt>bceadsbLK@c$MVs;}<#m2C^( z`@BHRqjF>gN_Br%o}X^uZs2v#zt{ zT-mJPFOEUKm$F_;THV3oSsXpiSn$S-s;~=)|KHymv>BfV4hwI3jU}XP1vBdXeQO)s zIri7ul$>2B>biWWI%w$^9(SV2br7MoPqzCOPEICqE;Kl4Ps*~EEOU(3*X z_{Jqne(x#I@(_FWx3}zD6esOV9&$i7$d){cz`*hESm0Dek{cVulv?|{gsN$z$`|jQ zeE>y`b-M%M?B~|Vr?rywbtpIhs_giYGLvm_&2Qlv{ZPIyf#7~9=r>-IN9niKB112? zM$*g4dap@-Kzl}y_TVj4ha|y;-YZ8h+;F)66g@lk>K1*nZE51`#&+5Xo|xq@vHtLv zNU+sAA9<}>6yKzX2G6AE;`G3-g+iu=Yf_PsLcExF@q0_`V<*B%P;@-GlmmvP9=T(U z0Au0o5TKiXon+N3t`$nZVWRNPKF6)Uwd&rPyp|qO@N6^dUOyRKl-o{gDoA7UIoM)! z%4=Sng<=ZLmJn4%Duke4J3Qj?Y&M}10{#TDJUk3P?-IPSpNsY?vXo>oAS&QSIk`Dm z-1hVkm=&Hd^uwk;ozy*AgMobWGBurDk?MykfwA8J0Pp|f>b$?%{NukLL>sMEj1r}Y zO;rW8YBfeljSAXEsl94d6}3lGGj>qKUbTzbd+$(cH8no9cWZCo>zw;O_qosa56Dl~ z$@RY8uh;YWcyK!t$6fCszxdFpjoe)!ly`%7n0dM*;}9rr!`()H+RTk)=j6cfwg#wo z2pcrQRnzFPlQ}iYmRR?QkuBKe-R$dZd-)jM zQ8A*t`t6^gXei1bt(-xi1Mf6dCV=QrQ}*g+LT3A87O9jWgdZntm-80{Eh!o$_KWjw zkziU1EX)k2NTmYel_ttO0V(ESX_1_sAud6J$nR|==T#8bg5ixJY&2Ru>4tD>)sO3n z7I0(%NxP~0o~b4;pM|q z{D*Vq5D)VAUzMZkg+fHQfi#AyKN$ti?Z(8%$F!{>t>AooH#8+c_1{#yU4xTd@m`0uLREj`h;&wtS1Zhtb- zKyKCiTs=cmY-T!C2Sud3H6c(M%dLxaXwyP$acoXI>HVe?4Uu;zny9pex@54H6Cw@MPhYh6ESliX8z-V-7ge< zHaZejy+x{zB#Us)PCd-~$EuPgkc};0)uGCDm6>jvq9O~3$z&h7es^tz+DAbnuFc;q zc~kr|ECHw`t|bvGJN^^FDPiJSS1-Tufp9L?a!=F-7SFvq{MR(fv|fy735LI|0mf<% za~pwtvHN2dLrlCaMg&P$f>2h_3f%Ku?N>Qi%TJeD*`70+)O0yK$6yjPNs830ifXEq zTfcvvA~4HL>2f#mk==E$_3FqN3(l0}0K}}OZnW&cfUT%JI3o~3EAS5#0B)CFXfzO# zNYPyhLWL?*@ZN^XTR$;{Z zZE-^JXny#S`_b7M3*)C{p=YA)Dj0pNDtoj}-xp3jf|22K;xzyc)>7?zH@|-4Et5Iu z`>N*O3Bc%8i9B?m=N$-mydfg%&4St!AIJQiH_XukW4k=}D$}pB?&Xmh?&acKfZ9Z` zyrB^R5meTEf`WK>9E8#p7Df5IPRXp))#iG&L2$=^YkUO};PhN^0KBxAYwW?9m9x*a zQY+2pcnCTmrlwnr0nk>^Y!6H}M;%`9u46vP=K}?21lAMWuL73PSh%>9>7G~Rl8Tts z+!7gAMKI^L9ns&+$kEybNG2XE9FT6QP&d{i_ZrsFWx>9^ib7#6?X%|XhUIbgW{;zT z244kUm4ANcE$8V9C+E|W#y(XsC$A)fFPbH}Oh0_@zP3W34KtQiDAP*RtEiS1ZQtJ6 zc5>PY7~$?46>q4ON&ymNTq{UaQexlxa-rS+SNFl}c?D}M@!SvPFBW&F_j34^AhT1V z_v0D5%%nNi50>3vFRiU_2Sy=u)YF*2y?!UdR~}w1aj0CG*TRX&ckq+P9EGKM?f^*tla zrKSV_W1}R~(@Ep2jU50paAN(i5b!+UbY|UV9KD=yO;Rl(M6x!{0S%IqQ+16ysp6Gk z)5jN#xuf>1!INck>Z!6VvPMGvOI8;{FX!x?N`VDrY$Gh_$&C>L%@&lri8K)t#yyOE zVJr9|oQLk@;()Yq@whOAsx7FM$DOU^bUi-$blRF}Wmp@RKI?teRIqV%%zh;aAmP6- z_86UMUmZ+_A0*9lYAt-Qk7{tM{B^z`uARVlpZ~+gX|tS7S5RruQ9~E!>lZhv&v(~7 zs3)`zNdRD_`P>k-eGknE72pvi#}LZK^vXUo_Z8O6wMcK?HvBvOwgfvh=hSktPP3sO zlk+oxB6DtbCQ`SBv{mEorL3V#3HCD2Sw{WkjzJ4#>c#f?m$KAz4l{YEh*+VIoxkqb zmCz^gs$c|&=8%}@pWfi9cmZur?8AQlk)Nr0eO7fuf623%U5h&T>0+%HwrRJl!a~wz zy`1ZR+lLu~3<*Ye!awJOnb*1xH|E`f8v7n<~E+4HaPkjraK5l3|Z{d zyk=Gh`0NhV!Cnc9KE-$R$t^`@53O{BRqc#hyzI^w^Jxt&G{`b;MGB(sOcU(!^Fkt) z0oNd%kN3L`tb6jNAI%_?-Q7IjdwSk2rs*D26D}jZEJEGTkaB4CV3lm>BYiMv= z{bdquI(di=dmmF^cpWDngyyN!3*I79cWX+V_C{A}K8>mG>jE(p9MM0^8I-!CVH4lW z9kD+1a!&iAm6;`PZHhJU$guaVev-+r@~5qMXMx-iL1PQ`LIS&Vk7fM*OnP2ZadQ&Q zY}JBE2|Y@!k5K6-imk{J{Jcz?{YUnhtB!?b4EBc^%ddKY;lxzQ2J5 zV+A4^h-JchNr(p^D5u83x0X7|j(5%;nPZCw2b%0i%mWA+@w4O)gGr4CmN_IzA5y}= z4Su`Gp^++T#IrG=%w(IS!xPG&o>2PYzTmNQLrOC7E(_JFkdY7*CgD!_`#J*w4hN%r z{bu>cuZ0A8;z!p;Xq3k8)l=NJtTUJ(ZJ#;4A(>{yFxXc0CeAoRC_GJB!$_Uq4> zeGb>eQ~`3IT|a=jhM4?3nJ=MPrCLDsF8E4TDQ%V;52@qo7$hiYco?ec-H{Ckqqei=~<1w#}kT%@ZhZZcu0~{u$Ax zYR#LS1nCZpveXaNaL<$54^APy7E`r?bJ^R!P7ZC}DQoe0Ah1C7(qs30V7O@L^rIBO z6IfOAetg^2#mA?kQoJNg(I4e(|CXh3P}j&pJ?$n>vboRRX~Z?pD(NLPfKYsP<`D8P zJpJM)#jMd>fK0IzL9rzsirtrn~bThH#Rk}TJC>Z;k4GnE= z<)^n46SXMvdlvp3u($Yn9Q*+&ET%0{_#72RO8ro_$OsqV_lJ8e7b#=bFL6H_Qb-N% zlUwDPiuHNVM)9CM1(1dGsd(#xWO6dX0QxhqjK*+El00r-}Wzx&8_iH1=)=~nNf9vCNJ7dQDd(;Av0N3UXdV0|7VX8}QS!vs4XnGd(04xGeP3 zWpH=4PDOnZ{r_VK|0k1hmD*L+;HV-<0Lynx*7%j+9t0fQw{JHi+5&J;54Ag*0OH`Mzmy!J1@ zD2SNiD?(r#clWf-0bJ_%^7Ap)K9=t^3`)lyt3TI~8ntyU;t&K?f?z@B1cYjDaDS_G z1TZ#J3K0W52pKfy^QH~~ieLuJ>GZI#L8`qsB={oo89Y~t?Fj!wpAj#bnu{HUa$aK% z4h0X6+Sk|-htogw+YurC^?bM^-4k8OZEv0pv$Ifp81GAY$;4}Dg0H0Kp z;_}(0wiu6jE&9QTeGY-`h_uBI=XD5x&QLnJL_$zaNciNrYNN!NSkgu%ts zXO*mE0_KJxus>3fA-%Aaop=T$uWd4K-@lK=q@d@qmeMP~@6tE^2NsbE4A9NM>9q4N z;GX5WhWHXs+F?>~oKCk*=RDzFegKq?E6=uHdgn|SBtqn8lCO1M<>zTTDYY&6C!;B_ zGT{YE{)!b7mP$n5_L;lQW%>Keq?m{BESKvVdsZ|G#hjHC#4E$aKPGyM%mE@_yDFCv z)ux2g_;!6D*`0<8i-o{L=HXZou@o$zSH)xL!2PwLFydpRzfOi?2?89AAb$RXM0cC- zL+^ElAl|oq9>KeC;B;E0D%&?=0tFzacUyycKbW`gO@-M1PDZj3nAlr zzCTM7XB)vRosCn6i_3#gXq83A7Pr6|>lt%A zP6-F4P>q6vPD4z6&9kr+aaeU>bU!`l@NYMa>{H6x{m3+OsD+}9MZjn)NGeN`%M3>( z;|bxf<@S%e$4n&*3sn3n4$u`)&Z;yKpdNcXXXC9gfK(6YP{yZ+lzuQ?yiawQaRp09{yGz6{L-dy0d?R#XS^%WV$2 zC&lT>1yn!a-Fo@MKrH)ZIJaiWL0g^aDplx!S$QdA7***y=5sGX!KjQsyWv9q zhi8?c4)4c=16aN7JD)Pj*JTNT0x0Dw!^NVoeA|RX!-czH?VXPK2~cp`R=wm5#jpyUW#wSQHS`H4mXO= z(|EF`$H%prO#Oi;5WERfPbewusuU|9{H76WSuP`2kmCC#51`WhxDLc&3U~NY@5nq< zr9btR`OV(c12wt3HN_IbkNwvD+i)%jWN-&O4eWQfr}l@qzv$uFkAlnZ5gyG3R;e^(MY#{+Ad||`J%zq;mn0}sctTN6Z#P677d`?PlIp17o*DNsx|Eo{V%zV(z3oU_66;-Q_@Hpzv4zF6QZUg{huVs8ea9m8dbvzP z24^To_yLt@_t&qCH!)Vxs2=ihg82xFD&CVCFkjZ%isI10vnPkQQ=VNo{O% zakJ6Dk&_4h>T$%6R}g<%WUDP});(HIK1eoCNF+EsjZUKIO;VJ&35rt6yk|BAP6z6j zAkzH=;g zIGa!@dhdL?iMRayw5DawsHLvCWiE28^9utKMZ_iXih)36oY=37UDGF_GyoU(^Xi%N z>J~n}t5Q3i4>NJ3wEtf%Niw+OeN}(L9job+fkf`{wCIhqh0HCoXxev8Yb3U4tYTi@ z(F{bKTc)n5&WYq(H4C=pY#$hYBhj;5JNMG#hj@>tjkcB~$b!(V*2+wZ%BGPAX^r)M zR*U1t0yu;w8ty+*x5J$Gf5_xlTI_F2MLd>lbaazY)vd`@`v6k7o5~;0V>Fp$g8hSD zyPQ(+I+PWtP@22YRm{@R)-~a0JZ4ilCS05qr9K> zuIlf^bcNy3O@%9ktBvYe{ei^+V{b(5-}O_OPLcY*#(r1&t`+C|OH{3^jTe2153erD zE{UDT7w=eOesw#AX{MEE$la=O@Ok}mAnpfliSt(H(X6FyGSymycKi)_ayodN@(Q@l zY<>H*bc6J;#k;PUacs4|dwVA;WvKn6xv-+LVw66CGeYA0UzDHJW25x+Qp$j<-SkWL za>&&dgnSLH%x-|G5L7yfRg)TpOXu`%lQBF zAleOoH#ZsMb5WK$c?Ra4Hc;ca-&NhALR1V9_g<=~P~^!!3x=s0h z&KFB&73oJ@d%i{w49vG9dwk!unJZgpkgwndOp_gJj+h>%_bH=F>q}X-GOBnv_{pQb zSc@LZm;GE?>dWd6UgoFLMb0)h-P^fNMYykuUcd8?I$T!nb=e=lWPi|&VGvYllN^`X zYMpebR%f(Mnuz8eOll3S^>8&_r?eL3oW1pWL1xGUsUmgzhYTikcAp5oF{tTiFY^}3 z>zY?tz>?p*^-HOF&^0$Hi*F_0V54+xqhnr44V8rVrp_*1G&2$|LV|_%&}DQQq1RcI zLL^EPi{8dytW{S8VsSS_vF`|GOoOmSE?gz-&xm_?;owKq50`s!$Vj3VJrbJ4ANr|d zYx|T$GF-+&C6i2W&~{{WQsnHtYEn6S{2$p+y^|&0xMcFq=BjF<}HYmiTsO)mIrjOS7Zk$<;Jw<3d{ zGC!64=|jT#%P1nb4hYSS_vYs`>o0;J8LKzI7?Hl*hTR(!|xwoVS^|AECpxZ+j>U-5WLlR0- zuRRWxr3wra7hpVjTla^yN^JmWee;Tc2EQwLR#g@2xzX(|iW5HNY?=}}!TYi_Xb>eATYbkx(P z0gM8e;%_?p$;v2h*k|E;b6#2Ei#jv`g5PH?F(VU;S(V7=l8=W|)gS@2h72AtfZF+P zeY5;qxb`rSGjQYv%$+Ev%vNwu)!IJE64l44-qw@3WfL-C(D&Ju7(8Em2bo|QiiZfq zaVOQopH+Sriah(op0CUoyzoOh7+g0GgqP`7n8{Q_Sya6?Nhw?3iwbU;kA1X@NCH%= zMlnfRP{kZk%;J}jfT;tfmleG`Ep?%(mh$9JN--|QJI#Lgc_uAi5K2GIH%Th?ao%_I zJ3B~G@V*1mCJw7X@;1U{xfu9XfRToP)8+^Jg79V*9?S8!NiX&1+~cZVJ~a09Z`hid zUglQ+Fmt3HPuHd>0=I0M`P9?Mp92Nh$DYr0>l$URM+KiX_}-;2p&U`ZpUfxW`RDKX zIr7HIjFaDhobagOTRF|R!Ps33l|AvYekqM+<~LXW>{uOO5j)q+0&VO6d)3oMedMM7 zs=C(|!>Y+dDR;8Jz8_ZvR2|4g1&Rs=|R8gj}9Ewa^f4Gh>zMRi&A% zl0`ZN2Y|VC*^cAGbU7}p3aYDKV|e1Eka|A9`e8VdPaSN5WYjOHWDp7J`|N1%SncjK zE3>g%_%qk7Evko2R_MhudZX$>y~6s^0d(rpTBh8ta_O*E?F-V(_BVyn3A@}}6Ac%2 zfdg>tWNAr&UtO9W$>AR!@HP~8xw@GKki`N*z@hgB54Wmk*#u%` z??YOpfLb%*reZt)y@t}q;(-W-zSiFt6Pb38^z4bW}bOVaera|T$AtEq)!^7I33Z(Ah(wpO~+~BLDyKe;o0=& zW~NQ6^Gn?*uv)T(lGx_98*gVt;nxgBszf?YH`kIJ1~jxSGy`Am%(|i*dNn}Y^84R8 zf|gw~{e#_MHg9dp^H+Y4nB*5Hd~7;A)5|}@7QEWVDMCdR7J^r)ycO-p6mewoi@|BJ zjSw=${waFMZm;mj5n+5GPI?6&3#`>cP-iz~JH2`+TDi`ZJ2q1<-`TOh2AL)Z$o-{r z`FYQBpW=3q?>F7Wr*=sl5xzg0|3*h0)*fS~_OoAHW-Q+dM-Uz4_vjaWrhcWfd}AB^ zoi}yLCmU_$t{d&~`=t9`SOLvLJtcK zq&4?86bgVY46=07xJAg8+yJqix`45Nqc0?{zW{KLam@Q28^72`g2kc^R_{Stz{0q=@S?on>!^16uaF%j1s{mZeN$y}DdPux*ml-y z%mE|87X6r)cSJZqJh(y0q#-(ba_793XxY#_w*41~k30X#(LSPhwddrbw^)qK-n$8b zvmXxinE#7bInFsw&df<_CifTF%lwzgW6in$H26K+7ln2W>xmm6r4SIzFXWwE^WhWp zL2c{xSL^?lXmp1+&%OGQK6iiZ;lm-oee`(q)N?m|=>DJc0FBh4SA@zFcOD*d+;dd{ zrCkwSwNwqFrkfeaVN3*D(R*6zaQix4D<*r40fck)|A7fdJU5xG<9{`RCm5-Ewj2pc?akIGa?xa6!${dOKi%j>7C`@{0<8nfU$X-{oap(PTJl^1bA2Z(sHBhLkG87|L%H9uaEFg9KXM(fTSQod9O@glH?X}&6=P;lIP*h~? z0?+Uhp`|GRyt^M@Gl(%FP4G(|F^fq@z7^L%I7Fp#*iCpYHH^?b0my19o33ACD5Knov)USBbGK&_mxS zCvBZ(t`Jr{v;8i%Gr^ic)I?4*q~g)Mp{VbwSZLExqze(Y zM4<1ix5Yw%Ib@&s{(^|V`-IjkMl{$;G#Ux;Cz7cIuuxzOSK>;hpn-$Gvesx-gbczn@f9!;RXsFW zW~IwB{w{t#wNErKAviRf4{P?9NJG303w(}xcMGfjfO!S{ih4G=&)^dT9Tq}s{CIYO;-71w5@oDe- zBfIbX*{HR@Qo~Syj1T*yv@pZ)DYUKd`sQHQyxBXLkGG=1O3hue);f(^DDH;xT?7Yt zgz&W}1X?*Pjht+r3_`pu1iCiA)d>lOQT?Yl&1wgMiJU??c?jxVwS+lJ?-2A`qO>&w z&`~parwGV!OiUPH=7bvsaZ=Vukw{tyB?`*%o@n(u`8~0U0p*ee$^?rjLcl6zH)0n+ab3$RHHrDW3Zk4=}W*z z4=f?`Y~MWK1YDrFa)>>|c~@dcFJWoiOtUKXbEHkrGW0hVF5^^kQ!lJ*NxivPD!!+_ zxvuG1RrSI*1-7qr94cbcA<;KZH`m|0de)O>XZ)^QVV*;-I(Rl8$=f}r0Q7L`mP9Sp zr;cyGg{YHfwPXgsi4#wW`&Q1QY_9|VPBW!5=~rPKKF%nG1I-rqmRxmeYkRvNtR+VE_7Rl;w1KbgDx zmow{dx{(kgPyrfoGn(geueZ;B~sJJ%SHn|972HGn)@M>%tJ$tV5OAArSVE@g|icFg|kiF zRGw>QXiHfgv_RN5!_qh*JAkeb3W^R<0eBRK2Q%VTTolXX{mQypd## z;|)0j>K*u(PzB;+VAC4XfooGsi*0p7xh+{MEDD^T$rVx%iz|n5(q&bRss}+F#rJ*my2^QInKOa%^Z$|Y8a=3d}4b>P;^ z%k1aoEOEHCJw%#{aArkZ3wlDHbp(x3<7KS>y=Z*7U%9a{X?k}?Dsn4_Kfg`In!|H{ z`En?wpj1pNw5$G+a$(on`u_T2De2M0zxBlr$%6+MZm@e4%MQ_jx=4F!wkA~U!{+0P zL8dw1i>*Un1-?vr^1#Y^2Mb=kLR@HIFM@i=~jc9Kf1!OtU}f<#c{pc zv!$h>&Y?lLTdj&Xnew*sAN&_IrA@BE+t;Hy`E+}{=w-`sS6OLk8U-zy+ehKhXrYPZ z7zMJ>0e}dJV719diHS@KSJT7V+7c;anivZQQlsy|U666(M>s&r3cWAA-{IB}hiX1w ztQ3C+?66ZxH^OB7E;pGu-n4k-)1~IDZTWi5O_bHt>>QFz?+TXEXM{%gEc^f)m%JqF zI5-$GAi_gm!o>*r&aKN4H!k?%?jN(J zX>JesWVk@Z!SYX-%hWyLvQox@+)*KIag)VBMDC%3i;LfmQY$p{AfJzqS1LY_v~}TF z6VKu%dSo&hlSI1?gEGa%<^3Gsg;j& zLe7oGr%uvsKc=>vKmMB@NHq3+@#2mSCmnw{Qt%>p&QFCyzUAww+e0aze}Cejf3Hsc z&eCTO9>t%2f8~2XQrL3e+O|4dr!l@Czxvh`uBPr9^V-OEp>C^gifHG-j>O?jHrV{S?{a>Ks5J#VX~$s{_BQ;but>%yZRAzVWO#dP3`Jx9n>0&PMm)l%(OiuJOKQFvI<# z(a$geNLS7%1C?^@`k>c+h6U;ufY=)IU{__oTv{A}w@;8d!nNNBJ!DGVkyYY=zyh5= z6T?0PFrtlmxu-3biu_J5hDbHTekZmS8lV5bVxZlj{BediPe^_z4mwMG>1kiFPP=F> zQVZ$KfBd9dN#vq4V1t`#qUykT_3?Hqbv1v5z0P8Iqd}R!3(wCft)7`5w<8g%kJj>M zuMdBYHn0`W_XKr*wXNuVxuLHwj7QU!JiQJLcFYhCfgif}bPP2+J!PW0Lx8q(KNH(h zt@Lu4VXZEzL@l>VDI9i;;LIP3a`=qpi<$-w7(#dgY1lGSWLEA)sl~h)f9v9jWT+M4 zDd5F^T%m=-yry;n_QZ!j#|mnGNcdv<_tSu~FoZqW7v@RM@%h6n`$m)4;gI_dj%xfp zTsM`mYj+<@m2hWmsY~6XV!Jp>jXBOESqxjcT@tENReQew-nF~}wrNxDI#cQpHb6BaM8x-BG)c_Cta1qsGgEkW=B*{?!TpI- zCY$f|OC~m)0g*Yq8EbO&V>f~b>XkLn=wygRC+9H(@l%t~eu;ti<;6S61?lJl-PGIN z2MY{YTN+o>bB*VHfKRSJZtmjJ-JC@4Z~9ew!C}U&M;^=$O|2Xg(dbZwp4;#%DnwvM zOKp3c)kekdhr|AeYZ7jv3Q}>d6OZQ(jsBW4F0rLttAe6c*&%;c9p-2Vhyp!K0`T)O zaSeKUf^wseyVzmV+S5PCcM|HlQRU2M;={#Nz7<%1bRm0Bo7R&G?W^U)@Fl^2gPLv@ zY`V*j1Sa+CzUn1qT8L_Yc~SPJB?0rkSstVFNW#b!nEfvC;mWHWf92hph+pCy7Nh=m zIz*b;ni+9ZB00Cwn!A@Z-x-5MUe zJ~t8PvmY2y@9}-^R<+c=m{BpiZ4z@bj+J#+mTGE~|Hfm3Vu(Ly&JY z(vV;b8B)RtAJ4cwe)P#*;{JR1v6KN(+Eo1EO%CznXq%aPDUNd}-U?avVB6K8q2=#F z{q+u(0OiqKZ?OIn8tGt8pbW(7*ll{pEcs2>UHmWdLHXs&H^qf- z$g1r4K$>Osy$3fqqk3T+Xe2D@;fO-3jCO;!1y_M!_deZ!V>)e%u!1 zqh{vQ8sa^VJe!{zGrqb(dyv?0yPMryKML1t93pg{F(dDN`*L+|ERA!Je<14e21w0X z2TF+rY6J6|l$m0#bTPha!(>t`QY)1=Zj!;QV{a0i(!8ep2rie=CfHs!U9OdJged#O z(P3t=ANy3!>L5~XnNEJ62lsabKDS~e-`Op9=q&nLJsOJqr|xh7+J)ZW?v`?=0#Ud5 zO)-e6NF2>#gah|JTMJ7u;hmApJT(61)W^_*1Ncvg8g=l_J!K2LXd4y1g;qt!@y{@P z1@o=s6p;D8@LNn)j;x`_y~_Ga&8PI`j93-_u@dg)XSo6AmBhOm7XG_x@8_6cv}E zQYTHx$I4=1?0i#789}F?eNSs`;hi;36hx=Q&5%CIOGSnv;~?*Zk#W(THosKRbo>W@ zfG09&;o#WmL-MG*5B|MV^l8Q9Qi8e2Ga*~q*Duo6(p?0YmtN}7BL4DLl_j7)tlT8Cd z0$q3*tPS~+pg>~-iWm}ukIRZiRH6&}fUuT$H(9hYAA#yYyv5*a76Mc2D7V~p)IlcO z*%NgtaJQ)cF}p(cp5sU+kflyPdz=6Ew4K%R#xjiBxm)xl!7tq6g8=n&5PSy8iI@H-2FNa|Gp z8(8T^#hF$02BIPjlueuw&%j*%u94_|aQee%8gX$rDk3FQn}--Pb-;Tfe_tgl2uY23 z@f=AOimDJYmSQKkVBewmpGfRA&<4;EDfvKF1Y9Ljq&sIK2~Pz|4=`+($^=794FzKa z;Y}_uPRjPA)>VYm%C#M#=k2v78o_E6jS$-GBYCMERxn|KhHc^X3JniJRhx=7mXaM5 z^E_;?lS%1ATvd}vyB7@>-NvqmqZI&gSu8)G@LUiA0qDF*gG3O{`EFo({$n5zL4@?c zsJy;-&;oN8Qp|OwPocA&P?1`gH&#)Aa(7=9^@DgS$RuQytSQO!@hv=vhm4$4 z(Lz@A8kQDS;O=`jJ3R>@;YR=?Vb4`z-D*$>J+2Z;o{t}F{?1L&4=m!F*u4a>(V}!n zGj0a{=Sa+aAYZ7~`&==>u@D59sj+JwAdjloD)&<*Vx9XjbwaGK7K}JdZ!|q+f^%LU z{`7=JL`qU+JH^&-GxFL4OL0wIRlO!B=D5H@*oF89+>_+oZkSyOUQ`|JWCZqezv|BX z*Cx^}s!s>Te#v`V(^5*~)h5M~u&IQM-(}ta| zu0QG_IjPsOzVdx||J5~(zRe$G*>f>-u~8q;c45gVB&|15pn;{q=JU&a5dfd(pa-LIvH%r zWKDJwwU#b{*PN5bu%O!RLIh)eAgW#X-S(~O{QifTiJqCQRGNQ(PWHHmXB$toc>i=+ zKeR}YVj@oR-AtNjkh_5{PE4^Lj;%1zx8vEL`Y`+I$;r~vo#*dY&q`UEdWw6a4xCvd zP@_5g{v#UJMQ>;B^~_zI0>{>F@$uo=WKT6C00Kx^$n9t^a2oa_!X@;mKRlNui55W~B1aa{_R4Srsp)mqPtBzxx0w`&~6 z1mX#Vv|FF#CX7M?$RBl63BU0@jir^|PsrtYrmLzxcNFlCduUfsm+Gl9yHd=un#eVF zGZQRrKh^?^7IXUn^O6d(#iLEAAAF zZY%rkZ575*0$m_-OKB3CCZr{-XbWC%APZKfFZe<}4}+U2hU}Gq4R|pIoKP@I`Y9uo zqSq8n1BJ#XfB2V34of_Xm`Vsyn)mC-;@o9NSz42n*Tu!lqsd8gNpAHnh!ROhQa?7d z@8^!=pOLGmtIHi>W7)Hgl#R3si>i0AEX(p|=eh;4PR$+;d}=DW>IPo}JJtLwb$1Z#mgw_q!Nwd5m#L7zdOhbF5K4e&=WDUotP38zj3`?BL+H znjGLdZUa92-?6dEu`$i8rOKiK)6L}i!wHPFwE07Y3!tGlo;77Zu_c1{z$~BC%=z{} z9)z8Lo1+KtDy}~Jvo%IcpIST*H3W03FXwaI~$F@v6MAXXU2OOK;)aMlZT1=e#eB{mxRVceJ&Jwn2e!02i4cv`wcBHu}hZwB8LkW z8s&zDJ2W*UE^_$>S%H3K{&EG@+2&?d?UzME4emAgy||(E^=Sc-{x2^=-`Iz7|0gS2 z@}1AZr}|g%QrF(NFKfJ(gv@KJC6Qm|VolR*Pv zDm=~wi)84TiA>#kA);mWJ?>wJa*P>AS<99DM=qDc&4Ga~%Yqx4S-~N!X5SFc?mvk; zET!RP^sqYZtNEnydHBR=a&|is59wPRA6JPDH+jmIA^5CANCZk2%I6>0r@XB1W7D(X z9Ajlz_`ScvvR&Zh@ap36m-gKgX2DXt8yWfE=0_c+4SudH5wA-bW3bKaGycSO8`+f` zkmd#tYo8qD=Na%?`=nL0s>p04rS_nM%UQ!tEzgOkoX)7%0%BDeK!}zUnhddDu1Rhb z%G4RG=qKM1P*LNwh&`LH6f&}(=$a-MoIZ2*W5peKq=|L<&gID7QJ3jbV^#t0KzQgl zE%jd6ePx)=i>`}R|MlJV8!vtG<6n*qrz1>DVJg4pw!ZgP5sj#g6cD_O<7hg^675}! za)Wm~6@mlW6ZCCnIw5*F8{!Y+Y|e*BB-3{uZ%VZiurVeMtGB`jF}kUivRrz!{RNAh zr!YS8RA2%0OK*A&$rKt@%Hox_{k=Y z{6iJSQoY@K1o;u->Qek6jA+UYMbs(={OsX1uy=QLv5z-t(@Y*SwAK3et%VP-28TeM z?BVg;o6BdCx{}atS=CHE%nL9FwJIk|6oostZoGwh7J5fXav%HS;G{q}u5^RZR{jwe z$P~|{q8|Oh)%`cS^a92}h8?Ng_wgMWAmsDVcP`CA6;~!{{K}i2I2*HG3Evyr&-q!@ zSSx!c)c0UW(%q>{H+MKaJzqtFHAr%ye z9xfWA-|<$^;sqWUotYF(w zm1P9mMt09DLb~vGaqJpbiQruN>4{-84KtY!SO}nii~C|Ad6luD*P?P86c`2$i42JtDS({wPmFtU2G3+ zrOf&8#gu7lM<6;%hsIRc{|znS~q^T;)7&k=&^GC^f|}+4{C@qNovLN@awe+4e`A z00+*-G0PJ9ygQ4gvwJFOW=k#xnU4{XkDOpT{m-q;|9kMSs0rZn;A@4YmY8LUb%I6* zlmlmq<9s9g_!FoXBt9OlaVKf-65!|9q#~*v>QCJU0t%F`QyV@bc3lFr8NfLj-7Yox zeQ52Z;E4Fewq-8gvX9vu)H9Ptt`ZVMo5Nqlh~!p3?AS|KEK6Ovdi8&KjQoGw7t#4N9|#IPyAzm=A7J4h~r3 zu2dfW%x<)@dc=QDIZwe>(K5Rc!|B~B>GOB+NQ2I&_g;sGHoNie{{GQC;6`})_s#mg zKR_ekZ01w(t*vLD3>N;*zD(C{Z2Il;ZSjA`c3~~Y`+T2={r034W_zyhO~t)fr~Q_$91#?pFL%2>m{D#HEmvY8Xp35d0|IzaOe124`){(8=(0iZOLbnrbDV>q96k&#`77mAVN(* zD9=qC__jpB-*;2-!Ik4}w5G*1EinRcFcVrW(}LvIv!Dafv6!}UiRFHq%&W*6l=-#4 zP|%z@@JFfL&UST&$b-Zb75znze*Tmof!bF7J1CpnCU+H`cW|hAEVt#GDc>*kmzTZ+ zV3NHACIQZaNhmGKO%POfP0l5HvNu*GAeNOt%5cl%JVU{F-tdFBRj&kv^PMYZ+qe=q zu^Cu#SGn5@;Rq}}QHo!yA)p(AA+Jg3JzoY1KM^4Ij2vs35E~WAPvErN)u5!#2AT*zP z));p-_KR&Rz#p6qp1+rEQj)Ynt3@V)D#*d(-}Toq#JWTRHjNIYOCBgvdW8YF;}<7| zzTyGbOGVO~M(5ZjFA-c;@U)T&jYMa`5dwJFuwD^{$knc92SuHD*O6|sXVs;OOKuNbxO z>wDk-+~@Z@$3OfNC+AAu*Y$cmpN|K?d~He;eXE6|kZusu5?W7<#(A8lJY zMwxGl{P1tK!HKSmS#Egq@XVV+(jYG)SVbMG3Q#784w_k_-dJ`v#M> zeH`R50Y;V~&slV^z3uw<0Vh{XWz<93Ovz ziKH)puzC4+^6`eae&@fP=#1pzvOIu5Vx23%R+QjtSUi-S%nLi#3~kFN-D)*@&eN!q zsFua3{*HD``}X7cOtFC=(I?D0JdKR%9RD0QD-NOgH*weBLn&lNf|c3w(W`>d@9kog z<)-aiU+_}rmcM&6Aaz@VI{CGsVIrmZf4AUzH*P5^fis~?VfBxqCq+00?5Ts`fj^sb z{m)&dhuY+zwLUhWpp2Ywqu~Es`tCvS!%9_!EHh_Nf;2A$Gj7 z;Y_(J$yl$DOG+#M`ha+h|L?guS}S7PF}xen7Nb})Sz>M(;JehE8_&%7Nsprz_D9Od z3PWiv*v+9inK7|&x&6hrmy)wo5w~-6oH({@85Acnkj4--+^_9_nlN7TdP?H#?EP`> zOUFd@Pz>(}|D(kZ>hUxFz-N7iuuUH&^2LS`04aG;d5w6vs( zXZFl1cryo)wkiW)&cw5MYk|qA4{PO%>ZoWTr zyt)aiAloUSi?4qBl`B&WUW;db9{dc)kk7&oQMU{q7f}L3m)6gLn>}EM6iml4%*>Q| z^9g@M=XC7Kv$SLhC4$Ero}QO^w{K)Z$pTrGK0yn(lpymsU!dj$klBNG2#g;)?P#9U z`7>bQZ@yDL|M{E$Nj^QU@cd*1kjE!>oJ<95HH3w1BrH!?`JaxTp4RQ$jYJ|G)3bZo zrB03}GR|x$bAh2lM^lHP!~Wo)Tf|~a$A!R@%6E4GYmPhlT$I+>Dv6A;va&7D<6ebJ zyM~!-8`JqLXx$`*v*i(mi~Vsywf3u1eU4?Hx|hOCl9CN3gcN-h=D|V0YO-v|TK;Hu zYe;-qzo%A4PGM%77LZ2@QO0tVyx7H%+ws9?6CHhbVo)^^c$%$ zw>_FJFXL#K z{+MF+^X~S}{<6z#zg*9_aJ>7+y2#GAX3)A>V?U?u{9x0%&9p*Q@zW4>_Jb7j#iOmm zVxYWOeP%NA@glcf(mXFO%0vHeL=DyZ3qZwS=C}Xd`)d1?F>t3LY~t;M=PIAC2mz#% zwP|&mQ=5i+t!f^O4%UcFvvNolGjC{P+l;BHv04@j!Lt^BeP`@InIQfk$q7dasuSY*uZA8f?Dbck7 z%+?*5gx3)RxAm9h=6LnvGs(~vZ2A$*#;p4Ex9CBB5sF6Aa{CQ-h{p}sb#lb ze?mHBYd^jEa%`p@&-p5w$157;3^+k}+Zvinqda!Hwh5P8_p8Nb#>XdAgftm{Mz~Pu z`y7#Nv&N-0)Y~Foc$zMTKT{2722tqUd292{c20O)M*o~H;2bmKK_vc9qJ=p+UmH)+ zzI8h3;hiKz6w`7>x2&)iC8%KDIQjcjePAHZxbW|o)8(=MeoKWTl*_iJ@FB%M7{ORt zPMFN4;ClSWkm#pp=-D#u%_IOvAg^~mW@s9S-&AX2K=}n6|GvqR$>vvn-S@ZTz}MVu z;T&1%03W-&yVwZ<>bTUz@n!d~sV@@Lo}()pOlG=Q%b8(a;+jdZ{8J513g^3L3Ua=O zH=>5b5{>QPwy&qrTjnwmi+=Th1MkuES74cm;DymzmE>amJ7mgWjQCnLq@-F1_U=WQ zTIIM-#>J6 iCx6%I^CEjFuv%tL1n?2^lcgn3AY1T<#uX=Em%lag7XR{7m65q2l^ z8AXa(-AiZgtQdxFuAFZWjk%q4%uF`c!(?i1%M$S*N=q`1dEovGwjY_4|otX^(S=;W8z{1Rjhe+oox?-8AB^f5@=5dH($+;ou&9mc-eG&8uX6 z)1-!thtW)Nu<^bu57a=^;NbEy{k5yL!1>y)v2=U}yUVCMfq-mx`_46{4_c*M?-lXC-pau9 z4!2B_me2l|Ol(*#aG%69`YU9O;N}=aaWJCpr=RMs{B;-u2XzS8hH8Rl!;RuCZ6IF~|x@Hlq`YkXGC!ty9Cb!;At*Z7o ze~ek0^7oc!P_UKGg4z$*Nduyt~ygf6Xc+$Ldvwqw*0*R*n`AHIJlQ`kO6y9?mfVTWj}4zP9nby6p2Qa>1y=IFF@JI%AqWG_pUXg zai2inU^@vn$k@tluw**BL41BPcV&^v{z$Qau~G($p*z>QA+k_7J=6I(nI;3LHNUM$C_4DOI-*V4VV-(;($Tyu$W9km0+wG@By8&f^@dv^#qsDJj_*wq{N5r(?uxG*XJd! zk|Cy}rKDE0i;?$<3nn zA6&#*X#;s<^LGL>;JJiBbzz)H>0;GP7oNs>LC6OPu9%Y8*)op-lf~|xIV0Kpb}(DU z+6e5WK%nYhXb^-G3b}0r@afZGvR1~GBWm%dE5x~@SCB#xA+3xdR~7==EZA(?HqRAU*E|`BYZxIpq^X3 zDJMb6!6kvX9NZ0S`X(-(##roq#b|6yg0NCJgo7SMnFssx&o1^ohylfoeaE1t$g2B^ zfd=7&&QTnMz>r$sr~_R}3RR(ZMCI2hFbDF#V1hC1vDAe)NfUCQ4#P|d`n2jpq=8Zw zHjaKPFsF|zYaNxj_1=N*=?zm+iM%Z+2fcG)fd-cOv>rVP>REL-nDo7!|FqK&3qMty zZ1#6n9Lj-e+~HFWv!Sn{T0GUUwZpOT#5%Gmr{mdJD z?cQF_bMr5KV6olfxNGcLeR~8jlAY2z7^2my>|4$(n$0EOedKIO#;uOKUFe#|BN&H+ z5zqjEwHW?nI~=j{FsdX^>8l=v6`a!iQ|;g2M?0BzeTJgf#(r&RmCWoENrph^gTElSzV?_|Bd z$FD8`O*#uWwH2N8^Z=Vs&K=@>is{>44iVZL zk$<;O9b1~z=yhM*u{uAp*(%rk;VzSAZOBnb17|sEso&B8D_<@f0F@dHs^Ma07^))R z?pX^D@X;0Ioe!IKKRUW--U8mfll=*%kyf^lyr{A@>-06G-@jdn5m64HrvzXg&00^% zp&LaJ@-!y4!#WJqw)QO*zI3LPl|4~q#jmr483CZZC&2{k?(cuO*mKj?0lcslMJ$^b zkQ#UY_yeUrEon0488xwP|8-L`OwTUN9W5(bIGE>JY?Agl;Jmj3UuNyr`rOFO#JCV8 zmY2sDn%hCx(dl1a$J$G6(+-!cC}o~b8s2sIGvoLYw4*#u2RAPo-`WoEOH*7rojCb( zEx^}};F$#sydJJ))K_gx+o!+iNhNM%3Mbeb>D!g2Stj%#on0;*mC1_r4_A6~W;-y$ z*C;~2Srh&nKH<`>nf`0mafW{^Wu|$3d}7PFWm*AqisaXoJgaK=PvX9j*U@amWA}r` zvrYP8*b|U`#E(9RUz)86Tgz|O^!n|g>2-1z2Pd?*={m=|Q< zkff0f(@sa4ZuSoB+1yQ>84R22b{_5ND^2zIY^{o&O~EXiPopYJZCa>8@4252<2lhE zK^I-eJN{m1E3mIscq+0mX?G@Scm$IaY5QGg-`G<6Yb zmF@;~7Q2RlujMPW9nkB>as?Xoz4Z<)u6c4}N7hqk6ibT6?x7Bzyr5C~l)<%$@u)4& ztE0mWyNAP#>$HcLj*=`I$qbz@$!LCC7;379O-!J8eEcPz-PnTq#I!V%AR*R<$%2gI zU0?l=k1kr%o7$h<$uN+PTF}cGsF@z0^GnLnOlal%kx5=Dd1&LyG6dnI!R0jLudx|x zL9=h|-U4a0azd36>aM)V}q9 zvEL|{RV1=fP6V0K;W`{44jCDePBtpskN^FqDbC&C%zGPFS$ACm zLqEB>y{w_`p1tX7iqMa1cZt1!b}#n4)^CkBZ~2PBmd+Rbk{HqwQ*Ahgy`6c)i{w2i z9w)DG^Bn!`@D13AC{;`TYiGUqlV+y>VC$2c_u+YUx@KJ0sAP6#AGd&Uxs6)dLz`6- z`-&)N$zfOJY+J{4rPD~eSG;yv$m_7f-1bMq)!wVhzN?m7YYeC8Fi(RKe6q3Y6rpl0 z(fYOS6M6@+Sh^y#!$z%YNY}zopx~7K`u1?`s`4LJZR1^WZNel(_u>7tMINsaOVJVQ zBoTi8?=HTeySEu!z@1Xzit_ay1dle21V4EzW0swxqK6DRkmAYO3_0}UZqNk?#}gsi zMxCkB8MW-^<04`Bz(Euo>u5{cTfh_{ zwdmc^)2TyLIC5>}=aUUo(K*BqNeteV5}zq?)XPp}vK1B97^n5Pt0X=tt{FzdqRYmj z?#O>Ic9)3CP2ZZm70MZfxM8j8E|X~qW(Zcq)n=MjzR(uRXn!^Lr}=pXa?pp(Ki#}IYCKsO_HU~Y8X+>-cBWoByBEvrH}@qhIqvw@Wa8t#ILV0m z`=Zfq7YmzS&XO)Zvy&1=bjV_8b4}^wh_tUfp&asOmMfm*5SuA6vut zo)okS=-ddEU06K22;1_^dHa#tOisE+ezvs(H#-0l9d#~$e<(0EKHdFm_7P_g+guge zsWPnjmQbcy)*b!MI-&hPbX|^Z)MSx%+@kmL0D(XLrsh;_0V_@G)H~8CDAoSmOPLIFV|97c`H$ftG_h$#Zn#AKerBp21Tqqcn98~Y z>i`A7S?%KIo!7`kgt%_(V4QO$m7R=2o`?DgEcU_Lceqk<n^{(>f^4Kl&6rO`(I#x7CI!l%}#yoi_e@-$C5l zi@|@6p*G9cS~1-hUnE2LTPNWRn!*ZM`{4Lq1`*3+t#obL9ikUh?icVcKoLUng`Acw zb~NA3SVf;SPrZ`eJb(InjQ6Qej6SBj0(Qm_{TO*f-Em0r_v()Kzm$Udqu6qKIuzf@ zIWA0re_QGO>Ck>7SK1^0T`18A$dbV7gq1lek-qXb{Py0y_0$tmSmyz1Je>wX@|#H3>~<`ELAI1NP& zVu|MM^h#a{TiSD$s&^P{`l*(_nuy@i?p<1QmU0$?Ejf%25o@@{Ao+j4r^2Z$Gb>gG zhkY=l1>8Z=kh)lEB>*#+5&7vL)_xmqx%>Ft2TGF}Fn{S9W!xGPZ9*5Wu1@=J;q=s5 zR;M5j0NyEq8NP?jD?yaF?9#b_SEuXkTKH6#j54yyXl6alMhF#1vC_57$atl2Q4@o2 zJ~SLEQ=2e)F6m*Ks8;mx;p9tOK@M6IValaU0L}o-q*nsN|Gjs{OH0OkD&454LkS?` z)z!EmqlQdYiAtz&T)B2#?`abuHIU%Vw3#u2zVw+AC+C8FQe{D>FvZR44T0#_aVSFeFZDDHE>zm!_=&U+ej% zTnrreZS_*)76?EUZ9mlD!bjwEE@C3JjUV;cV<#0eH6UO^Fd4J_aSY-b7EZH zJb9cOoG(O??2Y(`&@qah5Dvv~Bm@El76EA*U@4FaTWd|{s{#XP+^!*6gfpxoe4?i(sJRtInyB$9`N z9RjE527xJ!BQ$PkinlZMtN#51f(0MLbirz>A!OlD6`_fLF6!(YPj*=7-y~6mf;ML* zKZ~olIuKas#+VDjX)M8%3>+fnnJ&a~=Fm5s%Hf?#_&)#Nc^NB{c6z(*>oCBlz`;$HQrk94C5?#f zn_lpep|yZ%IHf16#M+%^ICV_+N#`b)Y-J+HrXE+67!O7HVyYjfjWG;hCO*tGh_Z-ar zQp~-09PU}<^j3S8>V8OHRB+(55v#=6U7aS(-M| zEVC6hD7;YXIi7iJ|C~eVb4GJ!VpTS#zmXExMt5Nzdvjj4znVbE$hg3jej*JW)Jso# zC#&MWiQ&9$HIrX6r!+Xt#<>`z7-;Oxzu!$1$t_fmN4}mua^GyxQthWcI#XscPNaco z5YBK~34(F`jx}l_KQ(@}I}tp=h-N;y2R66=ZqBsi{BGyjXR$QP34RFHNsgL!o$#%( zqoq~jiJ%nJYv!{B0GnFX{bj|%#S@g!1aS+LBf+QuAb)3T6)#!*&mO&rKJ#DYo#0Z7 zFR~jp{}3CYl`V^rFw?j^C{|$gd>Se4-ka-GBW^atsLpHm0y*FJ;fK1a?$j+nVdznB zl!d5FZ@ye>$;n*fqcz&g-QiH=BBSKwW_d4ZvZ0|sH596-VaHQ&Q-nr>sxL|n(498} zr104m2&W9OMzCf!)qS<<~tY!+Z0@Ffn6w+cY1u~rO)iJeWq9?io@AxTEW zCLvdTE>XtvXLC!SyKOLc0jVv;T`d4q<#<0$BZQnO zY^g-SUVk@JWVQQRq^EfZOy_3Os-CmFd)R#Qk_BL?zv#G}3i#dL!Mu)3i~c4iguMlQ z37(Z{QP^DX$`!cL*)!^aQty-|4oTnUXQ}T!v>Co#DR$4q>!K@WNmAQ-b8{1W(^Hlu zI&8@zU?}Q)4|~nQ;GAF2wJF1ed|C|$nMWdehidzp9XZ)`#y1he{s=S>ZeB*v1#Req6`p3#I9e2%^bOB3fa6i^?GL} z>uaiCm{`4Y2KjD{dTqE}j==qc3{+zoD$ta*hE>qdeNm39*Orcc@fE7>E04qO3XKTg zC=`8AX6XHyPX3fjmm!eCvf#ws^X>YUg)mAk1CJ_^*cfif*qE5;*FHq$_*ZGSL7G5O8)}uNRApa#lv+83qQ&3wj=-|f@+zvWDsUw3HA85 zsabQxx$&Rnnw8s-P8L_XqRH?)Npv<}y8I-#J2Bx!I|if^vx^mgcrbAiTV%(f^K5Uy zriHLQD63t_SADQdA|{BY1ivl?og-o?96c>=x?f?T^SAYJMKp9R%hAlJwfp+R=@S!?l;n*!sHP?}B89 zU%yzbDVs={^FzE6l>Jb-6WOZs%`gPXpH&3y_fd~Zs{>qi*KBX_jH5)pPCLG`3jBKX zQqlonE9VfFbz(ecUYt`qTcc-f(mze6sOH`cd+;P_(N}g{jUOLYN}FX5530l^ zR|R<8*Il+-eC2k0YUEu0;(7LZ?a+1GSA<)gIsc_3E$>_Y*I8FwwBgI+o_)tD;NQY9 z-CPx8&&jkgk0|+{Z8V7#)h7)qK>6Htbd-p|>wV{~vCC$%WwJ$z!^Cog2VIqhT4oiu zMk1$M8Wb+K={kJ(&#zIhF`xfCEgmmnOlKMw?SK9(1f|N)K+Ii>lubyBmZfr4AFOns z&l2U|o|HVa5C%1d85dCwF+Yu)nQ`#!rTUk4BxTthMV{z9gwzytcRg#TJr(%Q@=Jty4=b6NrjyK0GRB zGc{}TlQtAeW{RpI74BWSOT``1$Gzh(fORB?&MSsYpK#oFOXD;5dp;%bY`=67I*P;g zo724Ixlu?G*N!qSGFqKKzjWT^X`KC;(Y10)3*jB4b`6IX(qpfQ(Ttf799Y!&9sb9^kErrj5+b%~npKC3oaQX01_l znoO+*N;sGmjl-OzvaOXO^6`)~`pqj_2azWbfW%H4-XHTkSAz+9E97W4{q0ud>*T&pnY2zCyt#4VSyPA4 z5q>e)Q?2lDN})XhzahvSd9lZk`7Z1+uUa;7W=~w)#4r&Bj{I6aAg;#11QvPO1rE znTJ-g<$0L5uK5;OnK{~ zwf+9-%Bo|6ocPLi*GCNoB6-kCf}xvC#niig@9brnFOGL!l zKs$RV`5DDmv=(pwa2Q?7me7Qe8*>YA3`+d&q?O!Jcxl^lN!O8;^WeQ3L*8C}x`w?% zt1pQP+Hhu~t7U(XK=OW=CEnr_(B>%V`=yehf5mY|IzwBXZXssw!h2Wilh@V7#@3dN zhri3=J~Pi^*Qo?KAAi=v;w8k?iA@b-NxZsXkr<;z!}On-KbVvC33mws0RCLM9IWa< z8J6zTch6h|c5eTS+9wq(5Gc^PjTyf?4x90a9x7?h&uEJQ_U)n|N+MGfrT=OvHZ z3X@gi3u$RN%#|O;CwuD)z@2usDcJ)2Wlirkc1ZQdx>=81d-SrxU7Fu_oX#OCytoTU zR;@1Cw9(=UW%}dArDFQHQt;{RTZ64SC^vkV1sINuREcNZcrIF%tSxkA?kM>V^m#+( z8H(m$rFTkTta(6otOdP8B{sxZ)AN>}iw>?6Qg26E<6?(@%^=)`FI!7cXNJV5>HW=5 z?zgFV=b(_L)zTaR2Ut>{#ZB0bp(U!-7OT}9no)kcjxDcl_DB=wgYQ!D|Fo95E6g2p z%QK*j;r|E~0JDQD(qclt!7fM*GjM=yxC#P%k*w(!bkXVBO2gX*ojFf`!lR3L@V}}i zbUKm`uy1d9nP0;ZM(9q0*cK|TTXXw2pLWp(3;}4+17x7?hr`AZy3dT!wWDpQ@UO@X zRRn}uh?UTJ%Z6cN^eH(F+YuMJzw1Ac2+v*lT|~^Y%eCe&I0UzFu2`5{}gk6ygynopqxr{UPrueHq zKWBD4+}Wf)t96mD^uM|nvweFVeEEHjckmnUgMbm@%(H1{nv7PorHYbbBqfwp?XH(Q z3mNuph_3P-C3bQ|=sekvHlO7sP~#5nI%M@S20^Z9EncdX>8n>QcYwcm@*pi$UI>)Fl1hVA$gytsn>CBXs_MpRjX$S{K4pwW;7*ogsdLy3Mc$%WW8Psov77{isWkb2(_bL6)h>?3P+wnIE4EMJ zllf8_6v}L?!C&Y>j;(THHTsq1i^TACMJ}6nuGo7Jz93iCz+|52vAsk_`wkiVplG4DG`~lll#+t`*mZJKhC3py{rMrD%55H?ht1rSS`18f&y2H$C|!G}Wj zWrg=GWwKry7S(S5Zht2en#$9>aRyL=l+44GA~~wcJuq`>{1u4V7IC%S1$UXORuZ-b zfWfI$x-Yh+81=vi{)(Wi0?;Vh#J7|=I8j|ys33Ki=rB&(HGhGT;si-qarVp}fWN_t zymR$_G{`BB%BbMEdbx%}J0Yb8cgaUURj|0`NZFX0Ty=}}msI(Y1V{frwz zFQ?Ghpcr`^dlQwC)vyRnIC~?5`Ua9}r}g3NBP6a#BR(-uh282EPDg+{F;>(-3C`b=-4N)EQ zQGkG!-n1zz(t^J!g&!mOz7>oHN2tzT*JcQE!6&_lXrMTme_se;2KQ511qZ4ng+RP1 zooF7jf8x3ivUCoGx^z;1^Pxwi?EyBTqpilE4#FMJJC-_#E`l^1z&L^xNL*|V? z&u4nbQ$C`pKx^$KlA-Zlwn{X8%u|tSD}T(hzB=v#%GQv0z9vrFe2-NcFI<`p3X#q2 zBXZF^dx+-|9ZbL?yrnjM$6foA)R}jYJoskC�Lu&j48@1X&Qvtv@k}iHpCs z!4$Nj78+Pw-zLWz?#6v+9;V0Z(AL(1xt*7xR~S>EhYKPq@%5*h9~EQf#FgGqy&<$a zX_5bWdy?p~@Sbi}rIa-N*9MJ#yMeEl%xF2ZV}euKHqzah`YKsGj;Pot6{iRc&&@c5 zt(sv-Du&6uTeB~TCO?fHEdgt{UpX}0{eD#6U?PwEfDx5B^{*@~5W>~SBrD4#driEj zPbBb0A}{ljy=Vnv*$4H%8wvp(gg?J7rQ98y5zXPIEXP|5Uj{|n=C)5gQ>&7JR~YW; z(Vwc_nZt~#iN2~}Q4%e2&sM7_dmGPl>Mrvn&~eprH~l8p`g&1%B8=Zh6n84(+~bvJ z8+C^chB0pFjm}(ZY%tMoPt}BVDR%x63IX@67g5*m5b*zX%x*pYQf#0tUQK8K!b}=G zNx7@#DP)u){nih&YG>0RKg4qq6P7M(3EM_iKJSp$%n^S&jo(83M0f^oLtbXsczdLc z*s#g}d9tJU<#|A(+#i()zWkcdZ+GXUnP9>cH+nB1VMR`5;#a+Mm%SaAi-f8w)1jJv zXHmkiBl=gB34#`=1=o-mYk|&l_ErUsMY6hAa;fN{0sjz`CSw^v|}Q zZ4YPUWbPry(%T*G;{Hvq51lwmWf%OQ`RYVCb>?Eb-Fc0(pz(82#Jr+SM~8gY_U0%k z?rXB5vryvv*sC2u+$Y!*r;2;_yGC~=#18QhGSiznD9v-j%=HecE4-nh+2bm0n+b{1cj@4n>W*S;JLq9bsj@K8PNFLx{Ew!R^-@SdsW)RW*vLY0W zjY_0m;cVs$eD=VDqY_`NaJgH&9IO;e22*#Q z7?}BUJ}-q`xyt<^m;pwW8-OdDqP?!vu&Xh0U}D|4@q0nyDC;I+g8 zuAJPs2a)sMcbCt?!RFe0(X#ihws)?M{5&RE=%P+;Bpi&=@_41Kir)7`18sscp^^RP znBR^PO5tPo(zqg+Pd73$G6)$(cI7oDb3|{`q}S;@>Z-1^nJF~?qh91@CijlpHA%e( z9kze$o@;Gsf8~@kUpAd7=8wU=N0v>vw$0K`s^9=@8V<8JVc=?1`?nnV)WuXQq#IB7 zc{=wIA}D}FnA3>Vu>4o%)ZX|~@Nzlls<5PG{A)X5TkbKU3@jhKO)nk zx@L}gP7+3sLjVUsrI@DGiwXO>RJ7&;%0|eb-w*qYxr>b*mJ^cg{Wvh2NvW6^ERN&( zD8XO!l}KE9!}ah)0q=T1_PW2=e@E?n;ZQpaGb4#f8i{O`*^I6v<&qRGPYw;tS~G=y zMx`(%7%p4>yPO%$Wlb-l%L*_O>gz_gbQNvW=a#kp02b_c2@0Z5o89{F=Gl7O%YERH z71DVYTRd@wmJB#09rroAATXzk>aW$n3t@AZfL~izq^k?I%IvCYrQm|!G;Pe{1KT>+ z^YFB4@qhr3KzC8XdO9OH*FIYKN4%Hz&FcF{JqlNQXRO#hJ$Tf`jMklgYl(>D)|;q(>XKDg|$!i@Cr4tUH!+_ z*5UZzL=@4WYwcjWD9~lQlfIjy z;2p=4wnhUT`GH0F|6!T+J0ACG%aN15%W*9j{OjP*r(t-IIpN#rGq|+&F#%_YLY)@1 zzZ|a2F1N<1x*1w`oTVsa(N=IiiIbA)mzG`()=uWOa(S5b!91xd3T_$>rM{nY8(RPm=QNs!gXYo|MSil9_ioTvXC} z{zDJ|P^?}A{A*7QBAEc}78ousOu2av%p%=rd2ib|b~%+NDmfnl>+vTx|b^!fhs zvLb+qSjPTzPlxk*WbCy4U8{8JEI|EMUs)t>q=5$EC;2fi+qOa@GAvt+lfuf1**HP_ls)6jh&mOCzQiw1`}G@ zLv3K|U2E3?)3@q(2d*#Vd0SOGkD4)pqIV=^NeYFVHc30%x~Gl>89C z9WU*4&2|>HqAU=S>?)ceD8v-Muy>TK5^oq!Tz0mfZS#JvQTA5;emqu1WCn6QDrmhv z%{a>ha}wX%*wjQuytWh_4kO8{;<#NSV@Hbm%sZxk=Z=)UJvj${A}D@29Se+=8H~iM zeLx|(ZMB8;;?~>1b1_ASS;fBw$b)9t7TKq&#(kr7W7mt4=7Z^il-x7>Wv%*- z(F7f|D0$6eVE^WhuRD7l8H{}vlBmRTeBG(sK}M!-W-TN_m1NAb{^pG2WcHxL`?Xfx zE4I*<_tFz5mZFc$XgqGW(#;C5xUGEN^3h0Abx$us#23dVN~^QN_L1C%Z?C((&9JP~ zvvX~2zgb*KU|pZ-?D0BbYyY69!ogz9^U!sLUnyL3MsNA==3@1uhgU}mmp#(Qn}bXz z6Rwa%hLb(Vmdlx#ncT`sJa1XgsJPMqsmfGCc*H&370w;$)Anw={^zZ)_Yz~HikW1e zO*Wua^m(EpG8t0eCR)O%ZooZPfKbp06X_bY zP|@oX>ooigJ=cyITQvbLC+$P7vXvU<=ihzGqBuC}9SnwvYT5506*VW8Pa-}c6^nES zximMHTpDIo>00O-wiXh#B4vfafVpF1*ilyxws3KFJYoI4*H5t`Bwk6KeScC-sMRAf zs@XAK&qThd8WL*-X0=Q-Lg0hqZqk~!(&9(ME)J7bR3r6l{)2@;fTn)bUMucnix z$4|m+NIJY_14vKMFz^eMAUKHjC`}Aa&s+I4EufMi$01mSud#zC{#45&$qq(Ic3eeY zQytJ?T611^u#Mt)7RA72YXq(+m{e9Mu%n`cEP7!wlmrKii*8tUtLAe=L98pmeTH4v znAHDlP9{vqR=6g;i(7SlkxQ>6IuD@d!7!`CJ#pA8y$P?RL$SdBtJ-ii{l5`}!u0}w z#t^2wWBD)F`5C?mla=@08sq)h*9hZy5*gFS;AgG=Yosa8_h^v`SN=3{U05Lf(o)XR zQ$y*TvNZ6i=fe21a(Ezn$luIfFFKn)gZA^f0oQUQ`g$?`yBF9}PD<;(-P_DN!m^4A z#1U4L$21DtXT4M`q)QmFqtA~9vB*pC3n74>xGow9@So~;_?`Z_=uk+omvcOssyO>Z z_uh=+Wyhx~|Go38IM#FSe<}fXCZ{=-XMvu6H^Bb(->x4#m<>DXR90W$q*p#}7Mn-? zkfR}u@-K~EAPtV}m}1P?td405dgbq_yg-C#gPxkxX$gYnm9PgBFY(j8Rtt351=`m~ zim5|$M728{6V4_A>aYI6pr`);{zrLO7keP&dt1>>bH8Lu7VYb&)+UkpWCE_h*ebYY ztofjyISeai{_hLf4ThbFGSwwRQrv?`2BlUuo8w*Bk8t6Swj8qwZZz!VvOYcJNOto~ zcnf;vYnWB56I&}f^kcCACQ@;XBF;0wIHW`32b3IM4daJE?~WTmBY>>9C42aicTuAM zuen_j*zOqS;Sr8goGJ%dF0W+18z=rj+qoqs-*>a1cWrTR&)4DCg#_F6A-UiGNHzc3 zEwS)_VS3#$Pb$L_cx1_gJ6>YMztXkA72yd5eB9L?slvPohUv?L6VvW> z?BDPQ^0;Zg@6tNJ3Q%;!a#!>D)UX=3-B`$mWT$_}FwP|!N8^Fn$1{1ulYT^qDmTpS zIPN$e^;#vbAi6C?a4;OR?Ju-)x{Y1(gyu|!#4yQLID3N&suW#W)pe=E77g^fg7rkZ zKPM)u^A{HU4eyg$QUZebYKj^pLABd#lx=NcCu{xRfLb=!oo5MX=0!$u$q)Jo|;hNIC9cxit9DbKFaFi2vuk=i>J zt05TSRfu1h)Y3P!0aO*ue1n1`6*VRVL%`A^ zN*h;>mZy660BMOW;TkhKG#Ozwuu~Ty_s>S~xaYYKG*a>uqEvLb?ObKEn%mLxNI-AN z6#T5SaJQ4`wM9h?rIHBwE?G#TkQdWA-_5^@irrFx|3nDltw4h_dURkVz~2M0gxTR; z)R{TK%DXhs*vvX4Ly#0PK1%mLNr{I`U@#Iv`L2zOJQ@IHtB_;Kl(1w_;CoC}ktREK zyU-fY_&)2+HK9+YOkOvs;O0K6MK)}`}-fq@1cir9JzDf*L9w+m-?Aml-v?8 znNlAeOc6l>AC~VoMbj_UPNTnkX15_OO!Dg!i@F3swEMGGdxlQ#P^>P zc~2w<3W4ARA{?mCN*q*?#z+KWnOdsH50p9EF-!7>RntUFE5sOcka!?ZMjJ#eEvzyS z2`dpJe(DS(rziOad1ygsh8TYg!l)v&dx(pcF@MoE6mc35rz-Ja(Jq7esR_tnqJ?E7 z5*E5v=`p7Y=q*6dM579S#=MDi?Z*g&B8Jg|L%WlR_!}fXQCLMKXcv2UCeR-8^S314A zb8fM1!BJWDbi{1eA&2yXgn<{u@h#hX02EY%7wer`!dfPq6ABPYyeer)EOV`qa#E^T zIvpKsxohsbVq6crb#87uZquUeiFkjPJH`bQ)b-ILEoSn}H7r=0>7cG$W;2IY`?WkS zBj8|X)U$RwYYNB>mp0fXE?)YdZ3muiZ)_REZcT}@w|ewZ!$DQc!tU=$T#+%^E^8O< z+vM*r2RHmtsrW02!K4}2hW2*(xhhd;>n8US$)rFY^v%3Stum}E+S*HMXR}qHjdpGZ zVA?zGNUa{k0PLg9bF#!D6hMUaw5UYyUHV9uZJeiYsTCaBOFSx3#z~Z{OIfIu`*1$~ z+WINMtXAP?bynp{OpFzKrOn>uzTDC~uSN;<7~Svcnk?L&_oq!y;W&!?I&4zi3|qB= zKNz0A;Ac}SH(Yeww_@8>R9VQPFr`t!rz9iMfA&tts`uL0;y8AmZTrgI?GOuW*dG+iSCrL z&k;N$va;;>PJ1VP$b7FBw`b2C+r9x+4RsLCD}*@|Y#OllPvN>W(En&-(qCQ^S7&># z%pI2l-(!(Uwo+?KH^Hh?g_7t{;2)Odb{Pq6jM3|bm5K~J=5F{J%E#kL^_EQE- z1HG9-L~|B3h$36lwRjku9NYz^l)7Z?fF>3*yBfDNT?kT95hlDGiGjc@W6oOndC=1^ zzOV&Wx(CRzI+WsC>@70I;I%3*+<_aTf6HuLOH~7hzvW#2nqK1V(O^rBLC)b9IRU;Ghf)AC&lOIl^_tzJ#wI4CsWHG2uYkU`hh;hJOqt-kSNVDb zh94;Z=z5w^#>ROutG4$qXK+)t(hdtQ@tRr0Hwx+c2@uwF2gfQiK{pE{7&N zrh9J}xV2Riijt1j*Rqwc0NNKN*qbggH(gKvw~Au(AR$rQ@Oo1k2V_#Q}{a;#*{9VEKqM9y@NA3-}vm1pwaa;4w~-I*_uo-z3kV! zw>Pf10wzU|rA{)!6wy4|~eW}8OSL~`3+;u*c6E})upm~Tuj&-^gi(ny$Z4|oRd zxLU!_xPO^vy#`bSrh(_{9;lVRh_3Jx_UidS?}ucn#B@YqDaPr|ffqYZ)EcBrDIeq8 z7un8Z{u?pv zv@~@#aRPbE zK6}^QqqDwlQa|DAGyj+wzTfHdsK!fVWmV~J0EsKKtIw4C_O&j(LN;k5~X+~-V3#%vDCtY(=^ z+n4VKTrQRt4c(1VPUK=-_qNZn5S_@dJ^xx>H|0P$ZuxyXjqCjHmg|?ytY6cmg>Vl) zw~MVwJ=CYc%2r=jLrcS4?m1bNakh;Hhuo{QaoPY$B@9j$>*%PS2l_{=7rFgyHLB3^t3nDy!NAXD3Dd zRh!2LUR`x4TXgvB?JL}L&(rlP&F?tmY4Ql=wF^|J$+{!+e;R(*bKAPbWWCntm9=6( zi+=cGFwA}fo3%imTu>R<{_P#M2-N@0YvGLF>wZ* zU2h2&29`!ZtL!gj(=w!x#ai!+0YCz2DVf`nFu}J3jBDuXN#~8md#qw2keD}Irds@o zJev3ntP!C!=AB5M^KRIW_I0l;2llNk`=iUV0|7poh?33Q#U9^2@f@J6MY6bh>%=6; zq5-eC{W6ERK3@cgJ)m{Q$x~lDPj~X?&u-g}G}b5I{9nJ8YeDjy2}5u)aRS;ercbIj zrB}J6)L&{wL)Ol(Vz)IjRt{#i_V-1!Yp)zfmB1TKupA_DEaL0@1WjmMg&(q zhA2#Z#*8699kqFt&!(X$BIsI1PB`v2iA*F$5b({?_FnvIiq8bYB02o+k5whpOB||d z=L~ErYvY>6fklydb3P&5!X&R*<}u1{%Ni{y=FnI(=u<2%EK?u5{(EV(S(`XZXBDhrJ90?tOeI#(`Ba}@)NPIOs7rFV(- z|CVq_EK2?d=W4z`GV2?|xLO;A)SH#)l8&on319pv=Jo2mhP9gF?@CEc6Vj*BIoWOg z8|I2k((i4v)-B-}2S+Chn^q429WDd6@&mESY%dSd@E=2BZ!lJB))D!H-$)=*L1q&f z1Xi9>N=1@7JXWOx*S!%2{ zn_+8;CFN_TR;-)HD~A4p^7DqP#S4N55KEPi^dii)s_Bt{G^fKM!OMVp8esL>*lcf^ z`y6kT4-Ge0$DSxntMOzoifHqGh)aI{!|UbD^O}>+U;2R;)1Q7Vo;!BTj|q)M_l|gU z+cutrF#oQWoOS7Nnl7E(7s%58#7&33S$Wvck(Z*D39McQR(qHIzi}4K?mZW^)5@^XM#dl}r_ zZnqi0%T)VtEZ0WuU2LMUW0sOcP14u32?*N2Jlal8n?-{`sLcXfU*c&wuJ6J-K~nLf#*nsA52-DEZP z1)OjU{Bxx9b`hYsi%nU4MqfJcZsN4a-Z=j$=7DeIIUh79rp`#feru?%75kS2d^PBo z!l?5<41EQK2G7q6oKc(oe>{Z$TYCsB@zz7b=A`_Ek+)bM3rLZZDTn60M|6;XRvB7$ ziHY|*AgpslD%{Rrm~Nu=FRBUJA^jr%gP&dUg5WIIvC_FfoDi(~X0m^k9Y-X+nk}lu z*me?$f$gZyb~mj;MNZQR$1zN3|I4R*hqX#Eh`oG0_LqT&IRE8l`I#M653oh{6W@@X z__bv3t_YCyb?25dmX2BRvgifd44rpT>-Bx2&3U_#j?=BHr#B>>_Y&i8ukc>`9^BlJ z0qRO04Re;N=ZTTToW!Jvg2evC!sCbZ;4c^RhYP0;BAg&Th{!T1(n54D;s-HC+OfkD z%*<&K1m+d#1HA`BR;kZQmu{F^e8-pq{+8{}J&_-l_lY`HEUEBqfwcFFI48I#&$i(&;G9w}fS6+j5-7sSpi+qI zy(X!aljtV}a-hQAELabWB?U?xhFp5$Kw<{U-n;#eC6+wZkLZ#7cqkDF5@oh!j1{J* z$H>Z~qC3H0X%Psm6oO0krtjTIzV?^2?U@k zm!#fMV&T*loQt4=F4bnnnMh6HYrfSUY0}g55b3{Eh#rWN#JgL8#AaW#Q!#T95uH;m zY(X9F<*^ZTyHEGRL5MDCRYh;1Etb6+km5;!Fi~`X@#$)G7vw>&B33%bQZ0$w5L*ON zOe9gF8OVw6{JHB8@fWJE!(nT@NKU^woP9@53|qm$wM!)U)F< zt3Vt+n7O$C`2$YTn_{`N_^8a{V>{s_0=MU0UZR&-45fEoMopS*2UqYUo1<=N!w`K2 zp#062YTFOGMrC4Z#IR6sBv^5SOO3&<@<%}>CGd9WIO^gCSg}^qwA8R?we5sN#fKC? zp4d!kBUCs^m;bRV4>x5#E=6rH!x?+e;)htyScy%Ap5clSpA#A_)lh0tO^^A>8n5|^ zK{0pLS{Q|dl7XLdVWpUiALW$TCNjmGaf0v1MKstdfz(oYj2?VEX}9ykhUuc5U1TP^ zRLhFKSo;^!!QbVaLm;clI#yO6{=22W;VeZnMMff6qze?I68MTa-=DM-?t!4sk|7rO zMtSd?;^3HowSJxtaLVw3plAQV6*&=%s7-|Ef;@t!?*xW{IYXtBAE;VYDG7dfN#-oY zwo&peLXD2|7U78vMoKXCnP5?^pvqqqf6iSiSh^reqgF#bk&iiqDlrs{q2h#KLK54W zBc!jqNdx5KA?if#Q=toC%j#;a)A!9&KMXK)^nu|Z5^07%w=A}WdC21k&57Wk2de|j zO5;W_!HnlbBeD;vC$?afrU#G<5o`9WgF+I&YYaX@LY|VdX6W**CQ&eh z5}skXMdW2F`uIM?&>eAZZb_l@&FGjZdo6>Fq57B#x~H6dpa)QjzSA}ZetPA5g^UDl z--$4JU)o4xehDpf(8;+9B{H{w7Lq{sz7!k@QC%L8{sp6f$>hzQ1BfUwqEK;qKuRgE!qA!zPEcb^;*{Ft?R$G0FA2*1;sPP#h@6nM zNjF241W|*S8GO&x@@6Aho51hYRzQSjRzgYEM zHRjhXdx4p_wc2*y9)EP7{q3a_U)&sHFRZB`y9!!8jNu-uAFhP}+ z{qvojaj};i3~*IrMx4e!6UnBvr7Ii4rzS#6GV_Q%Od+>nbn&xMwh+@QqSEfXS^?Hq z^qfA-TAjk@oz~{4rYx(ho7kMj(8fDoohUJ@BFMY^F(E(4dCB9&<(xrCkDafZv{@%&2 znbmh=8k|lduJ%69w|C@nuP0B=6!8uh@w3= z<(Pxo+ToZk>WHj*u8|-1YXDlRCM;cWWnkfQgM^G0qj2%}thOfCNy5%ejvIw2L$0#{ zVmZ*~n)ni@T7-hn-p^Z3e2ljICQ|-Q$sF|6aYqs=rdS(W!v^btgQN$^172C0(is9Z zf-*L~qM$yYPr+%^>eaCKlBe93jG*&fX4ny=Wnl_!n^J& zPkJcrzQu?(v^4v-8@0N}g}D?#K|C1dPCpxRoLAC&FlUxV>xt3}Sy?i&zSDp}x%-*6 z(iQuBK8G-s=($(nicnWXmtiE^Ou7U=5gAzlSh#16lZc;N<~xSvjBXBH$a4fjaTu2?pS)!jpj@%1J2Q`;>Q|1J)uKzsa&Kx^vn*AmjO_ zp7c&43I?$#5Zzw?#UcwS^eCw(*(h}D3%CE8oeN~`3D<&IS}pndbd-E~0{pAZ4z)l; z3xuHxhb7&9nwD1akZE|yHc%=X1R?zqtgj}YGxDSSljc12Z6;qXAqbaxs-b+Ao^qne zys_#0>l1W5UGDb|Z*Du7@g|MjGZ;zxR|z?HM7u#`x`Tk_&Jd?i9lefPsy+}*HLbkc zm)T%jTDv|vJL=mg4ro?SN;X>py!;M%SZP}X^h^VBKOcKb@%AZ2+EmnbFaBcNoU}BY-ac`f zbACK5S3&D1c(grRBDpx3W@>05nv-I6jMJW{dhayfv81uA{4{Z(e*sMfXG`oItSf?C zl(6`^c{RSO#0KH2S6S^&vXyvIT(`SAgx-O<Qj}Cp6T(K9wq3t+>M-Nz8E^v!Drw9Y3 zgF6pnz#JN@xZzj(U+E_gP1@4Zrw9ES|_k*})aM+#YC{ad$K)@)aH?$1V=n)&Ih4++E$a>5~ zsID=Alv{ZmFOQJU=4=EA(|_cp*WUR&Uv(FVe496Cmtp$HZ&|nPewt^EGW}puMDYUo0CcNv;2un}9C7kDaeB8n= zlA#(u`UQ~sWqM>)P-h6kguC1eigkT5gDkGTWToLIaR(dg^db|~9vQawzKsqq%KR)0 zpjH{{##vzM=dV*^2JHdD=x>R~`@pONusNEc`^5zHaqIqHUlD5NU+0a!RD3G@+{(Po zHbUi58J*)?yA}e)SRCU5V&fVf=6al=_{ZPtWJlX6M#M_a+DD|r=%w}wsS%TLM%n^U zMf#l+j-^jlFAzr88epqm89_}h@dxc^K0>Zpl3#@^=kczcIVJBE*knTcAM zghb?S_mwtFaJ=VkaP9iL60R4KBmHItKMa#JK|VM`z60Im{ukYh+R?gP#wEs#B+S3D zs>7LRzdw0JW`-FnF=hM*t|C>|ZYdf>b~~O8>%ycpY8vz-48sLVV%y*xCJpNDprk=m znVQiEKe_X7R%1!7&Q-(3^XqZ(5ZLzhfPGM3j;AV5G3kc6bGDV$%n`cQX(D7+JPP_t zGP8o1^O;rqrzB2N`q8q@a2n>Ox5=E3ZS+1inG!An-nKrqjB!s2uDdv|Q$STCL0ZV% z-zD2E`L-?9jt+Jd&$*1$Z(*R`AJh3qNz=PrpvMv2E`DpY59^@%YAsH`o3-{YFJ~A` zRzjG=OG+SxsWRFbjPDC18*DS{cuSaK+*5ZEh@}B<#Kx?%XZ_D8?}OFGw{UK~535s| zM@O^A-9})c=xnmO(%&8-!d+WhSKFSyw$L`nU3c+EV|P(yoWuUIMJQTquBYF>K@X+R zJVMcH{$7>cX8lwm2rkrO*JE9rUWwf#k*Q5wK(k_Z_h7a&_voTIL7Rb9i z9(G3o%-n#+$`X-hG76Tf!~U@CxCpqFW#LR-CO+0F!qSL_&A(Vd}GN7u;25}c2bHN2t|RJ?#vEUI>pwtzzpZ;;)>wOIsuBsk9 zd*IJbB@27}OTFIuB%sE0n|pcuL}~tZw6U9cBI&{0i(PodUVl6FC+Qr>5?#TNSlCBm zx{TYpKI-7&B#qCNBf2HHuOq`>t64^ytP5n>92ByTFSsCbn4bRor+R%er8hTXy-p(>m%Y)E5c!Gb@sOJp`K9p{3(sP#(*$`s#Kt`=@6iLLyHN(LWnV7#_F#i?K`tesj6ei?fz8`IZ=+`CX$DN0<_$GXi|Seeg&+iY z%mji$LriDNccx=c#uw9HOM3Q@8i?MD-;vHuTzG?V=~JTax_$h1(APav86J*O=i~B| zDuB%=h+;!~bh^TjFjwpz@v~(NX%MY^_%0~+3HA4jnwfa@YNQxV``$OO(&5gVq9?p* z5G4pjwYN3}gBLxCJJS zdlp~K7nJxSAHvMC#PNU_3Rd)&s$kUiyzJ1;e?t^wI7%l{8eZ2TQs>=N5 zYW#Yjls;@hIvImD_DX4tE#y|YAwWYAV07f0Z2OG(b_bv?7K`ZoweJ4Mz5(^{N*L(z z_0PV^vo^A&0CSu+mu=#{H~__KsqPmhq~pD3R-nbvEU$>}2_NSv+A9tz$&wf9kMAB3 zB|^1$k^yYgstN+?e<3RuW&TtE?Dp+x3M)-AKZ&Ap5IK~Qm#Ip#k@EvPH@ z!T9X#tYb$_7J1@7!!Bm2Rrdl547WE=n`=b4T6bRiT`dr;YiBtkH7xxC zpgYQBXf@|MWrn-3@sR{E!ufN!)slEfn8QBR|4=vFd}vjivUM?chv!i=sOQ6Suqu30 zjsa*A)~BF&1$7GmHRTTtkdCA#PE0Me*oP;qa#IB)2x-Ln5b*7zKPq{n!QZ7!)$&tP zjfeb=G?_#{Sfgx|4T;QgUV`2vmIGmCK04}ybOuRWsPz*0y8h(9-~AM*Lk{AIqFs~z z^OiY5IjHe4%EKgFiq zAFvjdpiU7!;Wz!W{vg*4NDbBs%(K&&OiSC*`Q+NDQ`uF5MV{4a*x8MkJyr&z;vC^s z?wS0nl`ePbAWB^cwRGVred+BiQZ|OEF4%-b6lI16j+KbHK)g>nL@_(WZR#F_d4lnC zG6I^5gVK12PJqGaHXQ3i&Da{xNH;EPSCwq^s0{KI+~!4|2%VOBG&GpqxBQfAp)>J; zMJRO!D9GZn0Cg`xhxLBw8}~PTV5N^>lHMTUfbmGOL=c#Rj6I}f^$kTNOpsBPjih&h zSqaO{5DXh^Lhz)I!}G~#6-Z#_dX(AJ{JD8Z!U+Ff*Hi2VnaRGmQcEb?s?6H2Yx-nol~ z{RsnoC|KrcUyd6F$`tHI-L49vsBBqq-i^eC?-^Gpq;;_=zwvOGYy?o*QbqpYKjaO z*rSV;Nb0aDtJjo$#O5Et<_k%UN~+Wq@8I&w%7V8Pa%s9Qe8eZzHt!{@syRIW>WvrGZzCfiF^K zW{>Vj0c{sW)F&J5T&;(=cPOjm!RxxEY^$ia9Fx(sipk!h%v)6Gc}*q;TI{d(Ikt0$ zhnzG(;pP?`(*u!hX+`dDbw|+7UZ<2A=B{qG$l^SGQcpB%6}BSX*wHvznP;Gvh%7%U&&Ew@z;Lx{By-PSU-CX>gPiQe|LUdt6*bx7AedBPm>Ch2%o5;)yO%1JbJ;X0 zY(>l!$z-L}^4C;;0Sy4U95@D6McGLN_DPWoqUO3?D)9aQ`~YXZApGm8$~dpE$Sq9f9NWfQ zjUY&vBDWzY&p`$Yxg_;f8E{TMlFk_`SKII>oag3~r1JC@84Fx51)lfE)Ycvw+_qq{ zI>Xnr?=H{(`6FS?!IKD6!8Shy9Rqv-nc-zx1$4)ZgA#@$Aq4p$7rSy+RGDQR_?y!k zn{M{;o3Y^CF;h9(<-pVRi0U$8V&6|`o8Zw&lh_rB~V z+=xAX82a<)_St@=e9qKn7MO%x)Hm$+cEj}aw4UMlLXMk8H2!FI-8+4B1^M^<>H^}B zx-RhS1IokXL~|?(C_)EWW)pLSk2K}4ljoH50ZaFJlFrKPgoD8AB`<&=;QCD+SLc}7 z>w5M#W))XHK=1M;TRY|*+RLwYCK{pOcfGYf$q>1mGl~-k{XDzlhacwp*3uFq&!69b z_n=M`ReLW*67K!$es}|+m0hD_;6QFv_3LSGjL^lK(^7_n^NfLISr}w=1Kq3JkbCDV?2Mo7~cV?E|<41Tetm!ygeJF*gP2vmXoMp zu4D7)6O-IkWy7n(9kkglFc0b7xD33gxw&$dx`WlQ#>G^KT8`I``petUjgHIU%Mm_F z5lehyKYIOr-u^zBmNdcFytKg{p`vj+AYwr5P=P4Unst%SK=1t>bVq#*Mv}%TWk&sT zJ)f))DxkgD?zkdo=gD2H)C9V%#d9oP{|2ub*>D-R9l_xjV1hvlLKBZC&e@H@<8FLo&O;)h9WpQUZ>ss>)_8xv>ecz zKCYR+I^62*-SCIv$iVUa)@^fDgyV>2ZY?8gk+sF2SF1ONUIXjf7qqa>H-6{q5$xDp zQ}y2PYBh%K*s7BVPVFkM(edq*+q*B{Ba;xYfUDzCOBuu0g2`f4wB0+N9p7f`C2y<9 zjUGUox@5rtG zsK<(gQ%_zyvu=G9{nv&otGsJPwy_Zo^F(`*vR1hf00O<7>~zKg{CSX?^q?*|&F>Oi zlr@I$F^}Qi{EaE_DFLtpmC(<_L6I!|o|*0Q)ZTQJH?-YZ>~pa1>jl31%U_4w;#dJE zI(kULMyi6xQmIyfGpr67r*v`MU9TGj+C9&^X+8Tqb6*=5GdW1ZBUNOe#{jRy?=;~l za#EC|G@2lM1(+UCNle)g3cwP)D6gHdpYwV`IWlal{^lYM9~3ei8nD;<=s9QK+ngB2 zeK}2$FnP21l67oucA4=f-51|Ww8u!OLI@P*UhlLnaAt)IC^CVsTfH%*Y**U>vqyce z>Z;Td-8lQ2QYcnY!h+v);V!`qj>Z^lGZ^k1_eke1GpVOs_V1EG5B?^N16}SP)KAVK z#&5OJl8{{9CA8^DaLl=P9ai}x(#6lK|CV-i3MeAv-&2w=>+VAwL_Y>!EiKtgq@kL+ zb{rcwH)$u$QN|~rR=u1%Q@})6%D_#;T9_>%tD&|(T&DKInL!rEN=vM!_o3P~1DV6a$Po(W z04o};_~@n7X2eg>giOus4}SRjhc#|?=O_Dbxlw>|p_a+T3ntFE{GY>P?1R9oT(&j4 zZ`5tvmP5&^#(I;JvjWEuAOmB4pgP9V-xqGJDG{?(-t5skQATWUfB(mk99d9^+sUp;svxeUwH##xcIIF5aIdSate@0R-J$l)`l(>o zE<@SF{)VSe;b*>1v0wVTp=5d56@6AZrmy)XOb4LhybPBAbC(baZl*?zTr2 z#ZZ)(8{Jje%y%pXcbj3Rl;)4ostKOHYt4@H;^j#Bi!7ltwc-g<(xJ8f6ZXiX=)sie zrET9&ulOv1ZbzNS)D+$%vxHx>)yu@B1AP!q_EkzYHkh7lcfu2`FKL)Nb~i?3OyOed z-`}megYJzDYjl04W~t3sZt%xVyymRfKiAi(R+Rn+iz~C!3ZSy`VFu~Zkj4@qvT0JQ z(9kba+KRuw*$o?X&5S;@ROfT3_S#nBElrWn8>%-Qjcarg8QiO@IEY z>}+T3e23rkbQPgqGWA76v*AChT&^f8M^sAK(A@Q@b-kfNTdRgu!O8X{d*FCPb^6O* z|9jB4gde?Pj}HvR69+z^oB~f>4i?{iOV5*U$j`+mqMjGl)e-@V> zH#zSg3aI@Y9i0s5U^y40Z)$DQC@OE6iuic@$zdjOgJzrD6SZXf@jjnCMnglrC~yx0 z4zG1L%4%q3HqvRo4 z=L5#AdU>`VnEHdVT`dLZ|7N=YptGluq28OntL-w4)YN#7xJVMf{+TPdvuvH;Q~fFG zTAyw4$u?@be9r5XYsX&${s5^hNXaS>>!A;7A`Pmb>!%>{=_LTDv1F6EE zO1y){gD1P43Rfgl-kr|}mOATORK*6;!?jfS;H`dPf6z*QpES{T&(g&;5~)T_kb3V8 zBfg*FRLntKNs#Yr2F(xr`(|e)7qGcv^t$nZp)HuAJx8`SS*FCE33f8B?^i}-?8Q;g zzi7V)&`=$Db9NY*!+YMw%kEMx93yx5V@ZpJp`VS)t554eJbdV{wyQ|!MM6tnYGB<= z1Zd!f;d}#nx+Ub?91*GF{kEHw>NHJU(9Me@6m#E$pw_&Z=Mn|-D)no96Hnxom=!-> z(NY+#$Qi20)`TEgQwmiD%|@!l>UVk1sYQB^ZH>1)jtzb7j79Q+`*j$ID1ONL+l^n{ zCm=|odSoRF1EWbvY`M6K#E1$e z{P?mC4Tb#&n^Ryz20d3-qQ)ArlaO5hZ4Qw7<`wH1nhh+Rg4F&6t%_mh-e5F0!HTnk4jDTwmrG4N_6 zA1Q(?T5)!5mujLV5|r4Z^TO2&rK&pZeN54#$_pt@AyE!eG{?mKd37FS7I`fwO9g`N z1&~_0e<1xFQNc^bVh-sC5fQh(=*3ibK}d;R(|RC*!7o&aEVA8pgevpC15#?CL=+Dh zyISRi-D=vesVhk^`%37=dwHxxe2FGC^iNC-5@ex0FWt;RLh``NAFABB&^F=V_Gh}q zVSWpTkQVJ(5E2~2Ay{d$uHK}TmNCoBdMQmydUzcz`Zmt0YKPKiAHd`UHQfjlME92H z{*B98)J>jy)@N$)^DH~Is4f&{-L_4M0w-<0AtIu5m&hoxHTu9X^t?Q@wvOe{vr#!Z zxt#xh97aB?)FKqJm`iyhc-n}8h%Z!~9;$rEmI$a1Q9iHL%jh#W{*HSBw^)a6$Y`=a zcxTuG2Ko{Fl{b3Op8rE-*15s7Z4z(EA2W+x(5Iu%ubhsv+IGm}1jq}j@{`82Rsf_! zmJA9)%AuS2688;B&twkNbq&>*gI#Q%C|PH-kUO-|LQzF}hRhC`4X{3EzI{1b7xr5ll18pyer#0$bu-LKa8!z)RV;qNucrok&w;Zka5b0f%U)a=%Q>vzO*Z|@O)Cm zV$=s@U&hI?^Bk)(JB8=7 zi&M8Epgl&vBnW#`l~NrNF8C-qN#rKMN*h z4?dZ?MMNJmJq1>T`zQj$Y6MLp+25*zAfixWB$0|?@BmpFCdwt8+Kbl)!J+cX>9NQ? zB!?m~9|vh4bDFU;97I9)z$%5shG+m}3rp=ma;R7`f&tqEX#yDNd@}$?#g{LZhaS=d z;n1~kh@3Z}jeWiql3b|bs^JdI%($jxY+4rX|3~k`iI8a!00dtMT*Lwr0||N|*u=@p z=^9Kuu=W!Qen6EZAGDMl8rA86l3Yp;rI9+qLY5bh- zuY&^ zg4G#HNxfYEzj#m|8IYQc-)yd!F zo+#Y8>lolqpw*=RBEYX5d`xr8CK+M*4wZsgSn(X?V~7;sOU%H51*LflYW@ngZ!;j+uUBpb5L$tp^V@9pWL&b+wVNw(D*wJ<)`CEW`pDPaBd$RqFzK)H2zUplAJ0Jgp!XTUxXXi;2^bR zY%QWzwSC(T6e*XN(py<_6Pp@M=gD4raF_k}SyxFN0 z>%~tJ!N!u*2M%Y_^7QqrXpgSXU%DLqOEWbIJl&n8bvnjcB+(CLmPjbYba7+krDgL3 zN;+=36>5%ID0#nGDv}o50Zy!4D1u&zmHpd*r4eKAzu}m8eZt7NGYu?BO()=b@)6v8 zwgCXnw;RILabizcPfXlcZ!kj#oFtUk=JQ`Ck1ck$4s2?1%4Ea|S80LQ0r>vaj_Z2W zPb;;6&zoZN2z|t$n_*h*H(HmLc}l_TiI%JD+B86p zU13_vFY9=M%@peJ_HglRHW*or;rG6{YMf_r&`P!O9AA+Nq77BSuK9m6u6h}Vvw#=zb;jOF-;Vw787`)Lh_^>AL;4BW49-p53eMJ%$w|Q<`F7wL z4QWyYgzhS5(5cA3Hq~M5INK%wwlnTD$Ini$JJ3h_XX}IT#{d01Wojka>u8SM9S*=( z%D>KnV1>qhgmOn;&pKU~jMQdrpWhs_Utgd7J9Dh}xv{RV!JGKW1-fcgUM%7XUM)&! z`}1mGJTWt@uU#v5c15_U)OG!mz8uVhQRjc%asBHpA$YWQM6BDlzF8`;SxUNXw#w^b z)?a@3VC(2aftNe>q~m(B2GV=nR3jo?6`ee@yuUx9+VPrj(FH59u3cBS?7rE_&e4iq z70RPGPs)B^o_aT8doiLW(3wY=zoJ|!$7YoYmz-?h<_pxuOkU*)-DO%Geh14Dux1*| z%T?&G6j{q3Jg}{pEm?2B*lTlx)I~Gc9IWtJu`>tKP_bpJef@MnBQCf8+fjLV~e|Qz#mJ2#%V@taFAG`oyfZ7hT|{J zH{LC^eU#I&l@VI4d*IZ5eeEy3{k!ixf$PkrZN9P*c(y91eh^q>D|~3f#Dsala%gF! zx$n-ye`wh(U{hK=qPKcJb&vkjlf%GMg@E~^?%}kWP~DKd2;VjG&GAMheMV7ia@HnV z{0XznLo(BB#k>OxX- zLik=%K&jJwRaSFFTeX%pr`bGh(!l~}RMR}0-1$3^{KSU-YFm@F!Z~qf%^|hP%|(O8 zflro$W@0=^u8ZWWo3EYXxSwrn*%<2NXd4cNOivhr{!lME+jH#mk1>^s>Lyx$2RCmv zxciKtj&F~li>S5;vgNOm^!(iATWpzBl64jCN|VBr zY@1}QgYVv^B+vQErKgru+(2+rFqQ_k1oDGSqHx$Ku5~2aOELJqn3BNoyWK7sdeS}l zDa|_=;?i2&*|L4tuz)FcOd&91)TS}3US7;9soaNqNI>PQf_<&e-ttVCde6oRk8fV^ zmVV2zwYGhvqLq$;-Gwiax>ko&o_r3BZ{z$E0lovyUtlFN?E47;q3n~W zqzrY)g0%#JgK5Cju1|?{fr>l)6imc=uOy#}KwJ8^}(VMug}?r9&5Ol(;QeUS&nL|<7(%2l)q0vX0DJ=Nxijne>}nl_4U-xp z!l9bq#4dn)P>dX(^?y&t=XAO}rfcT?(?2mj2)OE3(8moP)X1+g&r1TF&DOTorb_Go zTp3Y)z%_-^*6S_VDvHv?R4^r+@MH$m7b3q zN#YWz!N>jWUA#xFlP4bSCxxs|(uE;#Z%Kdx33B)I4Cjw`60wTeo+AuxW%2rr3l`<{ z2>ulHeX#@>PW}%?)B{dpvmi#}T@ySpaoo?W_o9n+J1z2RFZ$^Cj0hCPAs)7w!kvwQ zr>V>}wCIlpCW6opF!~~AxgCn0UUL=ctn87Be)d4->LWrwCs{zf1({U> z(js}ycRhtEKTMHxlVg-q*Q@8NrzkX|?&M6^ez+BB=I{Jo=Uy=T4Yrhy<|4$SI#c_( za0E0jB{bpaU6ti`W_H5mpI0?I*JyS2%l~&=@qcF*9c^#*(B$!xA`1Oh3-Wfr} z$JQSec@qNPPyAFGm<R5a~vrFp@di zq{Od#(9j^FlpkND0XW}M_WY|HGsXwAq?TUL6om=>2NP0`m)DOqmz--P&x!=*0!*jtfXg4g?Twxo*Kba1dp zxOc!^;RJz+WH(@4ey4zkFu z+cE);V3LJj77B*I0C+a1N2L=&J%En3^p4!kAx2ugHZR3-LbJuCP`LGK+FKZNm>;U zjmz97iqgo2snA-FXB|1ruR}POG@Lb3K8|Q3+hHuD(^*DO^KdV7$ zQnR_1>P;GeMEss)(qyx;0$*Y$y9rErQGE0k3eqVxFdEOxA3Wg*38w9920u_D zQY>dwo}0RD`}oF6vOLAIwWq9I8@;dBC9P z^ZB8#u`Q=M6Cw^8*}wl8aI&EC(xoBPt4}0ub{@UAKcFbddi-5mgrpk6qqm zvy*;n@qEt#P2^Oe4{3yw*-;Zc?~`UyF9U}#8&$Nd<#OAAw{NuK5H(Dh{D_TW}S$}QR-Xk>Bs#2v^ z&8oc#v1g@-QJbn=tG1d|n~IX6q%o=*#HhV_uKUIPytrR`;UjV-zwhsRp2q>@1v}(Q z+2`a3fp7%K)`WGB;FV$qp1AG+Qu`s!gn1MFj3S&5My1TX00%PzQu^CryC)ROrD?f0ji55Rn4&|}A0nw+#Jh5dhmx%DA z`yep>#8&$%g1KFtrawyGqzEaL3>KvS!Lq61FU(Vnr3$0KX$+)tbAb55B7;{{8Ezmc z?x#BYxaIOuaIh9@zo=>y+SUA+eEzZmn6sXC-*osDK>DRD;|bOIhYN(7{L^*MdLyo5 zV6$H!^V*4;S#@P*X7&4BV{)RJcbdb_=9sU<* zcJtXyRe14b!RG1aZ$|-7MsMwk54G2eV0U-zux$30OampWZJlIT*s{0lTc@=q*H#r^ z**bqc*U&oarkH2HOif+)>;?+IXKp1}q-FPdt@~j1ltSx`xRDq%Hr0zQh+*7>)ZT~- z;9^~h*|>$(eOGUJzA2SHmQVTHx>lslv)ObyTL=B~1ai0Vi{m>%B4g`DQqplybR?(W z!1>~PM`TgESx#o>JdoM{KBTEBv(<-%fH9aFNhmVW~}v7B@>(jO;$4pda^<-R8c4LSmBkBtmj5RN14ohKtrn@i#tk5!3UXgW~=e=@hJx&&R0@W0<0FO4A%OTnQ!c;i)&Y-f_DC_ zPL59c%?Cfs9uvT?t^fIRT<;L@q$A{T(Z4dk%O8l$Wi3x-?)&L`tu7N%BF9MWTs-yyQQ;PP5$BJUi<-+ z;K1>@#*G>}X}hyT=9=q3v$-IPW?g-W-<8liu$o~q0l*?Z!ygaP^9bYa>y9N5&Rx+X zf}U38tS&?x+wP2aGG71>v+hg`xx!}t?7%Jfe3>m@Ddga6sjXRRT1qod5$&1z;K%5~ zeujmvq}_RKAu(e!lawW|!%_{M=E}Qx{_M zd~lb=ys6E_=GMh%N__k_{8px>8wc-Ri;Qda)aiaSn0(49Q)u-Z-wA&zkmH>1 zL_f^cE%XDT$_#NxG~2W0I~IIoRCZCa!0S)COj)RW{@0SZUi~frE&qIfL&N@!L2@}O zmG^0Ih|f1$`ka8@Eb4eM32e&>w72~mpq6%WgiXx?-7ROvZg!ktF@{;Y-hjTbtfY0k zwx99AjHg_SU?5j7e4+3lyfV9elKT8t^2eItn!6 z;4qYu0|QgDCs4~~S)<7OS}KnHEzbE=giQM4YI%iCW+`<6gz<5)A>7hTa=d+m zZ5MCiGqHd2ckQ)eji_Q<(8*+cgEn?z<7EmzhQ{HJQ`PPQecbuxLg3>T$n4@8VY>AW zl|I+k?|#VwxG0>7Y~6S>d8JYnveu-;sA@|nn9>;V{T{qaCH!-Sn~I@hPc8V$KNvLUI+?zZ`VnQuzfoI{lTZuv3VfJ3hRav-f#fo=3N3?$SnVuWiyM1B z)pXS6`b2o(WZfjxg(EY@N_Lk$gIl!)(!%sb|9;T+nP`C+n}3Imj~T__++G=OeYJ^RPkf-}auZrjQ0H$483% zf-3^7DuxpzxJ|Wkz2c5t5qcgAT@WF@3S2lzE;#WU#h;cg9vWd$zM4cgq1U z&~@Q_vhMBMsr}~c@0xvmtHn15`Nd=}h_m!w_LkC0iBgNGQl?RQY2?JFI}p77Pr&^b z7ZokjgIt~bjv!oJZgv9cDbQo=cCHdGPU6g$X5=&)IZ(I3JY% zk%o3`1Q4#|#SShW*xz-2j!VDMGcc(mBUCR!bn^{JW_4_usrK71*fcdNL3r@<6<9T# zZ^mqm>Eig+$JZ0%Q)I?y9;dSYcK`W;bW+Wyoa3Q3|G0R~X7^;{#iQT5q%nTGfS()I z?y#i&HQ&$Axvif{E%Z1m%1Q2jKg`rRDM4RuFro3sD=9oIT34ZOz0lKv4nj82qwN_T zuCty}7bqPD-0qMHeZSBysMWiD{1b#xfr-)-iJMMW9aKxqwf3!+o0fdhcdzX z_x0Is>f?fraa_5fhiJR+{yyc6BSUN4UA`~+Ja%8&89CUQLAd=G*S0x+BaIuG)YiYZ zeYG*20wKH{MeR3^S_!i;q&^y-NTHLE)C1KFCZ-6IYAluW+Lu2)2Idy z1Pm6v5OMe?FZ`(DI+`IwK02SX;rSs767+ll&awN{&O1_?{eCc2Z`&feIf$V3@#N*6z_~+ex1QN7(qnzb@<@V=99S$$0EvofR zmVF@Ap+WN=8HVueI`6V&@9?q-wZIf!yQ(1%^xRWp*L4SUkQ~?Hhi#os%upajL4^$W zf%mTP-mR%?qq(On#>{?bd=AokOIl>aV<>n#qhVjmPFe@1lPFpiuwU+mMk)9E58TLC zRg{#{P%eV00-K<43f>b95IqGJqul*!s--#VMoVG)0_8&+ril(Lvd!3gQ7yl_qi1W| zont({_L>?bg-a8Z=cNJSR%Z@*_u>Sii{_A)_Vhm7<)li=cd8xisaA`1pSFj==Y;4V zO+x5n#c2*7d-PxNZ0u01fMP=Tw?U7NS$Ml)iuz_Q<<43WG-I5_HKvlO}Y7@D%N`3h4! zsP>Ob>6e*#6=pk!A4AVPw1)EW*`Es-i2T>R!9-B&NE`=D3hkCP({ralHKbU_yvDd0 zu93!HS}IU~EU$@gEpMEHA61hR2O{9UL65AEG1Wkw4JX4DQU8vjbwS7mvrBYsBf65C z_$VB+cvNc|>m~iu9fZ_=RZ0zRp&m0}*+&=LJ~otzpLM08R)PkMq&V-)FXiUdCq2!)Tig6oQ2YZGg_6bQrgNl_NnwnhT7+#MA zsfj<6(ovK78<1D_jiLYbe`%^zF4Gd`g>P$d)K*v$oNmi`x=}N05E0ExL7W0aW! z@Z<-gL+nebeG9pMfI=h!KAUI@HK2(72j0Gl1s5?q+DcjN7@zwLkq-lJ{e8Nit^Wr8 z{5JmZ&gp7KC^MO*(hdo#2;f@y+G{W$uRzN=Niuzx{g15qVVgAGP zv{b3X2sqZ%A!uGhE_C%3!<;%o5(j`LF_fFZ-SHrJ%T%T!&DSz(?j#KJRA7PN1H_xi zer2j8(25O$8$`oRfv9Q(N-X+ChMs>I*ssr_nCU5Tb~GTIM$LG@8r81ghxb@7Weqs9 zTL-m9*ayBTlo}rsL~fq*6kYW4fkI>`HqB8TdzT#Hfr4j0)dC6vh$L-p>#Wq-72h%} zul}pkgP)C18kfe#chuCOKJ}Jd2dEXwQ23K&8FlN9dfaU%?V3O*k-{%Gq28b6=Y5GW zWT()KKXHbhVnP&D6j&iO+S8>xo>Ba-nU{@SG7OItbw=v(`vsElce{PopDPdLI5+xc z#8Ky)D4$odLdn4QYu&e!Y=VTt?@5Pz84_b#6&au%a`VuuB$#BVJ`?sM*mMxxW@lwA zcN&I0*{tzCtx{7nD>-+)3z&6ZB@gO4CH{2mFfj-E(^zo$RNzuXTPnW zR(K+u=FN{6_0L64ni~71ZOWPR&kydIl=w{R@TWA98#p6>8&7XFXWt1QzoE+WQrUYt zTbCs?s8-Paq1+x+nu!%6rzB_MB3aQRS$Ph4OU!EE zeEZLD%q{u{x34Ho6T`9bmc=4q;mDSkTcrL?HA~!Xj=sVxk^Zkd_TgkhB zg_b9z`kPJtwbiXL(^G6I<=~x@*Am{;q`lQ$0TM|-bcL(y6vys|I{ve_-afA2DVsU= z(Ig7Fr=J2AQ2*Te*`%fkUCNRMR5?j+H($$T)IGmQyga`=Uq0R?k;X=x>rAUqg<;kh z_;1KnE}|8?zC*{VNCKvTKz`|MRCs(zL zHN~xDZQfF|UX9W=l+_f?&%Jrmjl8+xQJeCt{X_$5jwQacHDj0*wxIm4k|P3p(gv(jtW5p(p9{yqvLI6x$I&FWeF{zGTl zQPe2U?#3COEqyY`Iw#XKIaum0=+^`G?pkCj||1Bp^5$)o8bB~D5f=syg_)}+$Xk)g_OJ4Dp9 zq&fC)xz>}qecxsx=Z-kJwaH0t>-XlTr}QHuL0v8w-<%;b*@)=f-@?RIW7&lsu+1`> z{4NR4AfhS+aUa_i*Q=F&t#pf&?8+PI%(o)xNOP9v)6eAggpK0+a>QztIHoK1N7qnd zxt_!Eh@AX9k30^>0mGpZSN5Hzje2=IDijfFrxdi?;kP}LQfh8)nV0us<8t{h1a)|_ z0R+G0A2+%}HFRf!Wa;N-3v%_uDo!2r?zc-t-1R*rdP;Vg*CcE#p6v{weA++DoLw-@ zOPIgV78BB!x=U-tTA^uFVq)%BvGn90Cc?064t?p`)vALHzF3pp#pAJQ|aTH_Q>$yTFHBJW4YX zja+Eo6-|DS%l4$VYSS(ga4P`J4*5hZ1jDJ~*OPy7)Hrpabar@2Oi6dZ3)?_{?9cUA zn`x`R^X%ifu7%Y65#u&5X`H=@I&WjU?@Xve0!9_(8e|Z4WXTV9)fQ$u1HJHxhmTW;eKW$o3Dq&v^wJWM}T|Mtb?;N z%rOW@lGmYjQ)L**)jQQnnCJI?%Q77eAze4nV-jG4P`v(4!d1Nxw!5u zTXQw=Q-xnMA-js|v&i2j$!0FMj{TIOhQY^$YSZ3dTuk^(k{=AuHrJg}$m=mbty+wB>$?2=2wh2QojkHy zIXsbbl7tl9{qx{x4&Oe=bDc8c8@NK>+%^OLxIwEt$piE#cJW-w&A%v;Qax!dSA;Fn zfJ=29ooq`JU}D%EP28~m1SAfn<6%^_Q$CJEc066jJxl>IwHUJQsn0!y*#bEQ6A}9~ z$NiIYMdLKzZ6Ib@KM4b_x`eI;x6EzKRb>%oZ#(3k`k$(#IbV3|8uU#x2tJj1-iAMS zsc%!v=pHu1>9M5_CvLfxX)}(F(>@&)6Aq6T9om8E5DMG~{c6O? z>NpV?_-eLf^NLG@)cNi-^6Siw$?{u?$C;;%&jvL4+P8JV~?gHyD6;{Gykc+ zet6XRcJAix(AlaZ82h+3L;KhF>=N2o;U}=j{r&w4k{-!n_uQ4Z={6#w&R9(jaO>DK zOiLfhR6E&T+6eY}MaU}^`|qIM% zv0G5-dDY{5d+p$0DiTTCd>*P8-TgihiS*{A-kyswE3ThlkbOl?sM=2`)ikixy#qk^ zB*p&NWr^?)4PhMOrtM#uPBV1}6thBM*knXFtB{RibgUI!_5=37r-S0H|1OAu6yII8 z8tQRYUnh8I6JCBAJsoAb+#?AO<@lZU6x5Ip?Awn0H@y8X$oJojsC(2dXswpqJ&<5* znsXMwI|jG9Gn6fGOJl#O0pi5Q$3nUHw7TkT1nipn8g{4@5X61+X^+16WpQ&{o$&oz zDVsm<&Y4GbR|H60uCr$Yte{z zu*+#QeTr*soiTTtKrHWSDppCC&c4FEdRN>^ZuwL1Kw4g1C&u`tS|u;T>A2|qGfHV8 z)7Nw96Vlm@!nrB?ouyWSGoGbvpdN~!+lpNeFRuUiT)XOF$!b;))PH`uadmHXNE7mH z|CFg7AC+Xie-L3UU-jnYcOBxOh`C~5vaT@qtGD$UyrJM6FZe4p_AAVl5>S7DwufY3 z4SOi>?6jq7z#m4#Z1v!l^geE84vAxDiA$ot*?nTAz*B-Bru|*H5v`bQ3q9G`$fESL zGOn2?1ZNntylLtDd_6)>EG_q)N`lH=u(^ALS4aJ9@&e3`W7(rCUG?hMDYu#vpX&*G zI**b#viS{!TOiRYp5upi9jK(|oh8xuo9fUskaE&E#W=MJAo>u~`HI#Zv1o)rvmk5i-f@njp(Y2F9qMe^9YfQIhvim8)4ild>Q zdsaTT3*O$a{5N;WV-+vYldth^#iGr}`0zkP3)$X$@v9r0=qJ9(#aSg09O2J)MXFkL zb@1LLK2=?;zUQtTaZ*lt^kp-F^A6$m5bqE^H$}^Rlh*^+cY1z-zz`D$ z$MeHe0VxE+;Vwn*Y2;vxiUecZ!oc`L-}|5Ik;G-rgj;ZC-p?bcXF~6jTChD7?+f9s zKiVnT8%6hSaIt^QeSU3=pC;Dh4o8|z zsAvK`{X>Fn=g+!lQ-;$9PZ&%G$atn{QChXlbfQm9@35#TYYFxZ6$u*L)T|sH4)jEK z%(ya{6FhK&EQHayHo=y<{&lIg4U|G>2%o`|H<;b_!4$(ZyGij4-+B)mpC(UKQ7mhD z<1IjIPx)oT_0f%}R2PD4a~t@~SyB(5$|KCjzT`pxK_LzxX-4azzMl`Le)_Jk7pp&U z$K}@R5NWnO^`&sbViW-rWn6#3-yQ=N}6&4cVw*S5QBzALgc;u?o&hiD5eN*Kzi zwP|~91OXogdvwYV?Ql@$?n4n|d4%AIW|qARfh&9JnA^xe=N_LCX8Y_+exwejx&Od_ z3t|KGX@1C&-ueKhK#jKKNmPh5M`EMC*rW_q^ zrOpK+SXBpMK(m0dKO>1s=xwAsz{3P@`^z_&Q!6tI@q|I*lFF0mNmKx{MBS!g^M-p) z48#s|?M(x@b)lz2N?2d3!*A*~DHohf^%iPC<8%VP-oYk%+XWfhofW7#M?Aew2~!3< zGX7LFSYbY!Jtnv76y0)n3%RP|24Qx|1_%)R1oFX9%TqH+l?EowTuvjzl7nCd#!vks z487{t2Mhfi+e55S+}$N-C6pnOH6 zC10DB0`5r6(;x146sL)SBi_HX{SKwU({54tfAF-;q2iiX=A{8Xz6%8al<6y)*SYa? zETE+}8cJ&)E={W(UUjQfPdZi?5H1SBi}1HDK0;${Rj&0qC??JGBP^761_<3IX?9a(|hELSlS< ziEi^;QunUmddos~y zjeQvKb2<#p#=|1tU)D&;ywiX*kTAz7nax*9w)NO6aU6D=BJ2UB1r4(qC}R8z`;t7J zR6|v*EXtvwwjbG@uYjIy+_?C()p*d$qI>9q_d&-NIT38kLk`xKUE5|hre^^QD$RuW ze|%-O2DHMp9bRBb*QOPx(M`pHbElQz@x`ZBArdY!V+T&PX`Wv?v%2bNK0VDk z1A9zUC^c=2CS+J}9R@yJLCtd{K5|lk7M1N(yR3hwdf@73qR+gNR9V%Z^McPS+8KaX-QSrreq$6>C-s}nNfle!-9NJ z@K*aSO)L{71)BruwE+rxTfw{kr`3mEY0WChcCsDKV`}I)Icy{{{qYlBW$vfW0dS+Z zvgZFZvWn`ocY7AU$fP*dN#~xv%2w;@lHKz$e%BXr#&xl@pXe4{^3*Yzf7Mnj+ph2L zsN9}!-C#cYg5lfPdUt4ZA7_6{)B`8#E`P{&9YnUS04nPyNTcyoMU%%Yw34Y^>e zEkR6DNZ^$C_vGZ>Xx%e{yp_ajUg} zUHj2zDK&v4(OZwx1Ytja5Sv_G6W=zylWDcwNL>io&9)4=I36JoCQr$YjKL_6of)?L zYr_|$%hgLK+4Gqc<7@)z1=n4H_>mNReU#(r_h{nlu_(deGxthBZjx;V8^evsJim%` zRMnsRHP?BxejH@lezAQ@8nYY}Z&O&$mk;!8G7CD|{!jLKO%p9*G6!KN07r$L`o}9hJQWiL++#&Y7vvg0!syOS=AdC@i<~%NfAhSp z;{667L+;dJT@ zc;+|A(Akt-^~{@Ucrm(g&-o+32VzBsS6|MxBvvA>QUo_;81T8d`YHCN+F&GeSp@`u zgMr3U17|{vg8J`3yxZy0NsGM6)!_rFW@0BJ|C;Y$T{w?Y!}Wqc-f+#QefnV4+&F`h z!SAPopAEy==*LLQ{S5P+frKd{tcp8)L%U>Wlsh0fP&2hFv+^|1xWV%_R+;v{k9*A_r+0Ks`gcE+`SYjR z(%XzIhZl=6C-cP}lyGK=>%8SuY`^>|S%oxG*yFhoKZAf__{Hz-B8rvS3%>AHE1L1C z;&j>iU;@yKqtV0%3#(@hWp84!+&qN?OE=_YEQrCor%GzD|KUuL;%8=d@%;^Ltv+)s z|H7^NQ(gsO)0DaI*Dre}MBXyegfM70lqb<2cGE-K&~iWpgvorGeu!-(N^ALbn}Tl^ z!oJa!KnL?R_uD^sy&_Tk9%7yfz&L#g|M41%`FMDG80faPZmiKkP-`4NZR)wajd8+D z-`-33zzan*#jt$+gzU+y3PYLl)so~%Nyva;v+l$GI?eG{=>6?NyzGdPE%urrD_(x& z)>CTt`k7F*n=RZK_QH|Rw-U{XKSsw+9&p^HHGri8F;pBqh?WWu6C=50Gw1RG)lieswZ6hW; z&nMY&gRp#>_U)(twwIh`PIu-nvc;c}E3yrTiw1q%HH{4GP5fRRP7^vES&dC3hVb96 zSK%YJvF=%;rKKc?`VV3*daB>g9|Zqq2g&S>?)?`3FTQ}QK>|JRR7fb;%5IYRVNR5G z;ss;v`ii`#!V|0S2vX8{cg+WG)ypT&HM$TEsSUJf-3Y#~P9r^U#{n_D4Q(YFQd`gX zK4+-wTE}(K+3%HPf?IX8dG=o|+o7`{O?ELW&8#%M&`6qbL&iH7!WjUD)I;@zF`_Sz zYl8dUq`Ke2`g2dU8J4GbPPj3(B~~ClR&U+UQ!uy4KT_6h{piDH_?$d4;95DRG$o<9qa?1 zP2qCSF=d#6kYnys)o|e33zE}ps#oeI98ffv%0m%DoZ}!kr0b=~ceI-K0X5%PgizWo znYh}Sb;07H1`I3P?(vy-`S7p4Pn{hK>r86XLdDXBvk+3wA0Fi&rdO7vizBVMv0{K` zK*kP28No!J1P~AGQ!a$&bMgB!b?NWaBObqU$c3j*Was5Bzw1rjGrzkHo%bM1bTiW0&r^InnbNgctuTK#-F#_cuZ#})^ zB9W_q6;s7t8_d@T@DTYcGca_kO#kZQtBUGDil}%M&Rr4trUOSvhO< zm^K1_ZngA1QDIf>ee|p}F#OGhnE58@4<&`-g2*4Xun52GHm||6@Q1vI27D9{x0SCQ z;VYJfm4oQ1MVnWvY%ZMTsWByro~XXS$luj)Ol_deD7C}EQOm`fO>*fjB{=Rx9n#~l%1jTaeBSPCwN0nYG-9XZC!)chQl@Z+Dy}ti~(?K*}0@#qYsdQWv6ha2W zoVevN(VSEMMCzHqEwnpMh6IArfVjEY3+bRVm!D2vnOmmnvSnD`olAk-_{ZoS4tXT;?feth z%igxajytL}NnjXqi=tHyCQhg2NW*NcTm%Yb#s1FN@SlEL$mDExKRVXdOoaIp4h!xV z;HQV~L3ww^S=nqTl!wcFHWl6W5}pL+Su;qG(y6J+|(CY{%~eaB|K zO!UrJ!H^mn&YKE#zMhNnu12iAU5nsxjoLq z!vp1coXQr(2*9f1$1H+ooOaKfYff=gp8YpHH6iJC%b?HxI{+GQL!$eADywSJtIxKM zCDql6oQ#CJZxh<0y8NWl_~jvI(`QoC+1xJ*H(Md z>!2|&Tp$;PvOAVUOS+o$XNwo`T5SBjA-jU}f z&;Ha42cZ4&v|l~TK2#o|3a~2rTIAQ8#t$I!+@3i4@VjcF?5`_;2WDn_O$7l2fquy) zrpj_5-J2?Mt2^ugL5IY{Yw8GxT`_lz)hS|^ESI|<^ zlzfpq?pm}DbVCEUz#6O!^ae$c1=r#Dg)odvS6*)@QfP^ihXMq>0os-Xwm!2jL36zN z8YZ?#B&Iut;!B@-$ZehWFba7gWf+Y*f(}DjEGkV!QyvSYa|;#YQUR?-Y)_#8k3wwk z^T*)N`b)4OT9Rrn1f;wdymEyK1eWPtVek)E7P^_L^$0A@P(WyY!Nwu>9t1}?d2{15 zoWl2eC0cjK`Qi-B0vzbPeyEMn>suke9Q4b6%@o;n{k^FfIA&v4f74`xtL)z2CmwxLQc4xP}xnohW%3*qc zPp?K-A7q`d=1#$6l!&E#z%4rBw7GYg@=8gqeQY=C;m^)7+uLgLKQ

    Q!5HioUyL5yd)PC%09Qdy*)P%Of!hdtF|88hQUYkTK(T^Wew{T zUL9<`^P{OTH*cMXH9pK6H?DBKoiOPC__ph})f4K*i9Jh#`RmR1dbHrZ`GIkjle^U! zZfkPX3$&!`?ojquW#aLQSaSj8sz0c!?T&6Rv|(X19|u83WCqNo*g&KO-g1ugzV^@k~Q@5 z*j}zh1(T_}CvS@LwC$nA2V2w2!RtVGZE5DL{n*}hYX4+Yy5wWlKyWbabmpY%Y!^WO z6lo-1*SXReJXsH10ri^VnSlYmle!K?dIxLNlK>z8;C-H!BV$7|L9FicpqkU8Q46uR zq&;Oo$kTS(`VuID4*lvVO-`&A1ZHq|qT8E$W7%ob$&wn)E#${DTO6bI4ZyA?$XIVc zO0vl<#P4A4*FUbX{Ch$Fc3WTWolsW-HIGjA`lx_9h+4H~NCz6h5N_&K_4CjV_iaS8 zkB?XE?SH?(qo(}`j>yr)3Ml(~?(Gha)^xG+)J!C+obJw@?5%9~%54QVTTM0HOaK(S z@Pp_R>Tx|k@D*YFKw-IO632AtTcf1n*z(-hr#b5tJx?b`EC>_|LZj{*S&ds+S)KHT z>`Cdp5|unW>fT;huLQ49W5PWPwwllU8#aKCPu3#4yY^(e0=W2J)KmQqDlRP#)sN0c zXFd$v?*DJzzRrK|_dSj~HBDkQ(|$Qrc?LEn8_LV%o{?$BBEUq<@bMG5+5c>=lMy)f zaGpeuj%5t`Hq5X~MnKqe)P{|KsHStQF84h!_hjoIudt)>N6l~nOVXt- zY0`}f5s)TP_4~?kxd{)jD{(;_yYJ0@5Lzequaw9nlAOzW3a0WTrU2Pd;7+vQ@8XWNyh&Cu_gnTWxa?_cgb z`NJ08WqnQUf5=$CCU!EXaCUkEq-t5@?XDsKK>cs`6yHLP0qR#z-2NDOmp08*S1-Pj z9iCqI?f`%(e$^L0r66IQo9PIohO??_0r9?tUw9{*f) zom5cH7SDJXcZc%v#C0RAqGY|Rqx8@k?}7gh-O$=96w+U+-IgAlxr%Z2ij;^l1n21pu_`SUf5NSsHFL1uytG^T2`rk(D@o{P8 zf6ZGqPbIo#8-ftlvMxXtq`&V|k99%D!gh=L4-a3NIA(=?+B?~&;_J=IJ=qbzyr~I> z86CM!!pm&8#$3)ZDES`S;u~M>{j}$r9b3h>j66o`RZ?49T3cEgo9`($>0H~~oS1cO ze&V)TqWZ>42O~mx>J><%DIZ%^&q^+zO3F+q1#H{iD<>oEyp&lH4p2XT#!aQ~4iQ65 z<4*H7s08I#9~g>-Hu9?MUwn%Boe2D%{kOld&Eo?f&$@Zj0<4;wOr<%;>v+Lhl$h*^ zay~u@zF_Lj8rkap(h44llVm7+M9161 z?e?gCdc~F6FnlMu-+tsz(}`p(sq@<*_bZnqAIs4`AlKZ{nkBr?s88G(1y(}@1*v3& zyvj4-!Hyju3+l4^wm18enD{rig~i333D$acy4-daPQ@lEDl5uO%hcUdR8-`?1cZjk zr0?<|=;mvlEa->`rPg}s^9SJ7dwg7i^78P0Zy^zr0KWiWq6dmb>)ahP8X)w!1FL@a zB`4khxab0`tLyjkrj~t)2`mE;f^u66L9DiB{Tw3w+`azp_S(>GRi34sVd?3Xthj}$ zfB!hy@RKu_2>I;xU(5B0`=7;$_M^Y8Cb3xT)V+q|h2u!eSG0e+M1)_CO*5Y6J?Z11 ze=E%!iAg~gR%t}yxl(gGtNiNGO^DdjfB2TQOH8V~x@7cg>YQ5$&zCQHw;sGyK|9(6 z(ed8CbCr{=;sYw)uOTzbGBZp0Lz#mMJvt#js_6tz>^NM+jTjqzy~{BvWFDwPfe8?`}`*vh{n7#m9pcpj916M2tQFp{eH~`r{nZlIbJEL6S{4IE?(ez#pO>S zAR@`)M8Ve>Gc7vMUP1a7;Y>@_4==al=>T!sz*m`CdQ}F{`*hj8GS$!)PrR+Ashv8j zNBwjPBZV<%WbWn*J1}t}aY7WV{O6t=D}k@*C98s{;h4u$JSKDale{--aBpmXy@v-1$#zGc7zf>8}m}a%8Va_(hw4bPNgc zUNetvYBA_yZ$x4@l+b6=XrR?_fKu;}lnioQ#RaT43}-(+F?Nt_Z{?j)$mVOmr>pdPy7u3nKdkdZI|@%1w7wkbsOAMf8UC z*KX*NMJhQO-o?c$eT9sfsE(+Wjr|XmTi#0{4|H?!?#{)ziW5=fv^0e)=Wk2XYja>Y z60Sr_-QSG4+gS2lUJ9D)rMx@)^W#9@YVQlt=<6ZEw-uI1BX<%jpe(sEX3mSMjJ^FwsAoN>D`^s2+5RocoY6J zqMIv!A0fD;BXX(9@_GOu3&AR#=Rk@?0Js=l)I_r2xJy2H42`%tl!+lDNgQUyf4_D? zx}iEVAdtIO{$}0%Axhepfto>s0to6^tty{H=qQ57!e|iN70bx*_u!#=P~T(zq~djt z6xgzOmxqJOkrgWcValsX&Ky80&ZVu>Nhw(^aWQtu@a6-al10&u8OffvnzHF|_D_=! zqQth&7R>LNI6&Ngwjo%6y2o@1TqP#=> zCW)o6LdAMX$7C6O|1%2we^*n$h>B`r?fusoOh(^|;O*wJ84TRxIidH`ROfq;{(kJv z#9QEmzmJU3frHQDbj0Bl0mIm=5QWPL70FN9l>`yo|7m}K-~$RjdHfT99Jf9gC${p^GDcHCJK_z}WO z;6Oq};ljLhBDkMq4yZiR0u(uBW=X0$2sjWwSa}2HMN-r%1X-BMP62zUDph zcvh0E@NgNe1$vCWisXoBbbO9w;RrR_;=kE@n*#d!o{60y##MmNC0a!!Ga(Jq{hkd0 zz;LlQST!wW+*$o{nv0;n=JStOKtT?F_ywDSjc64G1Rq%)fK6ru2i>Wvw!&Fzi z0$fnL_hZjP93x!P!3ryHM$aBZ6ciK}P*>fW^3)4aVM?$ORk-0SJPJ=C8R67=BBZNI zSW$rJ`yAaOIn)5vzPJMGMc<$}*~lc=PO#E5UsfN&^!2TT5Q%0iHZ?+`3ZY!=5M~jW z(1tNDJ*U7Yq|gweGu~6$EjaSVrFnT&u`24ql!v?3?x*l|x(~(XP$)7QZhtxh+#m-84hJ_HL<2@zl zHwuz8>o+>N66GK1&JH=~$ooA?EhewiJDgH}Nf(iE5}DR2V3?Ps9MB|U0=;?4s<14c z#34WjL|)n>7<9fMGkU!n&ua5SK&+pELoJ%YkS<vM5pQ$;Gv!04sma9<)SSbz!;WLL)e5b>jKDm{f^@!3_hFbaVCGyt_&#Fq znHTo$m6GqmIw%e1k#6H8DGT||AM>f&V^~3*!G;g7*;@1g&KSCvLTLZ=P}nO;8_tl5 zpnPTpt*CugiszLWFnDg6G(c~t#ZM@i5lXI^r8(4=g-CQ9vE^;t+3KCgDiP={`}4rd&4{Wo%*slxl?H z4oye{W3Pl@#94buzVf>P)Eh3Sz90Nh64G`EEvEI0v6TY}j2(TvbdGsoQRrewyL@bq z^ElT|oKX3^*=r)A`vf1jd-2>=o7-yEp|EhP6^zbcfgPb~TvstmM=0^}w(Gi&jYE2R z+Up$~W$qa_ZTq1H5bkGw?b^$y@UDurRL@x%3HjWGbz3~H@j*pghkQ5SZ;hx*Z{V&Z z0J}!)sEh)o>vPL#nu^$Xh$L1wP-D72rKB(ZC*B|;qwrTIS{Wmudw(#3wl@@HfSU4O7^(BRi>NNn zde)vvO!IUS^~d9_bjH0p{(QY?WvkQWUq3A~eb9Mfv!u7c#T?b#)|4Wlmr=--A)06| zjjAYIT3v^B13msXQP}&6sIF+ArdRdZB&52dG2gd1pag%zQ|Wn6Ff7z%m}tqTcs!B4t>|lblE<{_~yW-MU4kV_GAkYM*(g7c`sbc9HRIZCBvG=%MBZg zMbj>a|9wZTtXrGOy-#iiY@s3TOMEzc+wRPFwl3u4yktLbKR@Z+eLQz6WgI~%EG8t6 zl>Em1M1J$i(!Zu!W|FaSqL=qhld@1x1460|@B0Uk0z=;7AX4A?Fg(|OIBd~cr)49I zZGYeEeuLk^*7h$^Db{d3jWQjZ<;&HXEfzqVVa}bk?Qk%q?Q{=VGFhDdy8}>lew1b1 zMICO?CVeuRFc_;P$*Y$TjrvN51+GE?n+DJ9(t+^^wQ_O|?AtWs=0i)JpD%h;BphYs zUQ{GpJ1)ngwC)ptI$qt-xA+A_K(`eA02b@$)QjszTBhH>?@h`zSrG?{sZ{E0^WwVZ zw67p90yDJ_a5YwJFGH6@kJmb|d1K>tleeG&atEtDLhg*a7 z%FQivH;+IfnKyi9V&3c?F0(Cp`g?fLX(ZH`$*pwYD-;1&GqzQ?qoyxjSp7l zP#Xb(QByhDI<D?f|m zCf5e7?p0<#P^>q(rg8paUP}YDt+lm{x<8v6=UOu{^yN;Ci?s->vwyUjuhX7!KYVM$ zr;=;O)z*qp-{M|I zJ;3f&TCWvltGMOW1OSgZa{fG8n`%zxIF{!P8Fsqo*mTkzlRvRXtCy48d<4)>hdZL8 zqN+y|507pC?tG~{>)&iU9OVi8_IyIP-wyp3Kq1xX`ulq9Rh~_rZBS3$&VHUWu~kp? zI^+Z>v3BH~?)L0&QVA<(w7|nV*)0baP=9}as*KaU$|QEsOW(i0oA%{0Hgp;JkqY;f z&vv_ts;8Qr(%ClM078^ZR_5_<{XkJc6U~#|?WRJhv&ysOvkuzs=ILx(3)Mnj=pwYa z$^2#=4fEryXD;yMGs)F7``a8XQOF`R_VU98t*l3nus&aQ-wDd=(m%f>dFFbVS90Oq zjm-4xCi=7Ha+N4w^%Zx!)zJ*LY%K3*PI_au2P~(y?jJh_1_wI+)lay=J}&13Y(EOz ztNxSkx^zhO`ei)v$coHr(#OWnn*`0e%6s`wr;QUg#>Z_p+tZO=D zo=DKu#%*-~)h%dgpSYNphm^8H+VX=)^sC+8>YaICySpjB!kDD9c@)>Yf9eOG{-ycI zJuG^7=Sdb1&lek3;$dRS@|_Aj&Zuh~kgtB#H}`4P^Z9X=LwBJ9H|Za2^c?;j#tjoB zuiCl(;bC5YBv!2NyUm>*EDd(`4)5gK2hiqeGiyU#Ge!7RTy(0c`j9KvK3iN-RQ`DH zaK#MZ8~*80eWS3rVzIw;XY!83*QTBP`N=!ko_Y*F1_$Ri<}XQc0SlUw!C9B(Zl?(} z+{q?8t8%F}NryfXw2*20Y4S@2j=698WToxo)CJ~w_My$!g2lX&mZg38(`w(nEdn9R zbp9L1(6s4Y=b0|Phx>;+QKkJhVPBo918E0KYi{~$z#HMgI_~c4RPTA)jHTn<&(|Hx zCd!Ae*kubWnHtGePb{XU;$PCdxxM>+6-({@s%f1J=N;|NKPoCc?DYunp2lzY?i9XP zZf&ED`nY{wK?vo(7&X>$5AdhWvdJNxawQAM)_M%#9!SZiJt%ihPIj$s6Lo_pN7iQZ zAFXA-qqlc;=ZkV(QW%NwqvU-P{{GP|^4y-)isth1RBx|!!{bVxmK$cyiQ1zwOd31B z=6qu0%xVp+UHXyXSkm3?#jf6x?1(&{xC|dRs-uhj2J#s!rYa_DaCKl#m}*?h1MmU5 ze{AIW9EGdt9qYDU&G&BonV<%qTx7B% zvm^M`K0ljT+U{a1Sub+@4(!*^A`v4Rl_uBABaN>440#!e|6Cvc`wE)^|2Lxue_U~0 zF(oRB|87Qjv@0k2>44+@Rsp-hfz{|T{j~+}*$8pb5ntl|rW?_>;Vp$u&f7O~r_hvJ z4qLv~2lBMvQaXr7!#AG)S6d!0sy(J%x}5Y}%z)2U1l91=U6ox#@NxuSL5bK`DcdKE z4xB|*BM|y~cLp>mc&os~> zyyqoC;i{{eTM9N-Ah`pNwmXQLByzkbSCdEmJtYZ-fBOEh&qD2a5Lc~1*2a&m(_~L- z*wT#AU5dLWHp1kqNlDYtPuDOm1G_bAa^`ld%b%4XDgdoA7lM3yPA`=)_^sK1LF7s% zk8pl%Jaa8rD?H+tRY7shzqzvx2qRrEo2ibLz@omDBq(0pB~&wktRy&=mtGsLmU3aa zSSp7@jodv_kuF4u*y^ z1u?6^_i%GV%k&=p`(Krxi{^er&5R}6{u~isPV+t6A}A%1V}{Yi@uNS4?EoK>w`@P0 zf%DBfDBm)N4FnUy@rE$Q%q3z+z38~zX%M8^d+6jVFJ5ih&nUPksn=}=6%e~@!`eZ{ zNL62zLlVF|j=m0O$0{FXpA;!{P#g#_S)VRT=6v>DdrCi=W8at#Qzi#~|t zenpF3 zFtiOz#YDfMjEQ!CB$U)iFxc|KKckATq_k7WnGuH0S-9;EW5&VZ0b|*VLtcu!Z^(ru z1aei~$TI`vwep&)#P>ILe#i?fw~PV6ZISOyT0^V$wE}`#%w&2-Z3zXT{4uNU5!sjt z(WCf>k8X%XC!;X~R=D0Bt|66kOq&J5UE_Q@02*JErwqRIJGg)A^4x!7w2>^Srj-D<9|c6hTj<#!ex# zeq?1eKx+yFcNU{4jIf2rAZt;JzT69~lF;)K;sl-If)yLI;6o%7!#6Cir(kD)m6-G% z)7Nf+R^aMljJQVN1$c_*-thJ*@KniQnANR=GPQdX(v0*jyhs85c^RQEDM5x|3S>_V z`pVPI*Ao|(QXm&R+0=$2t`Q*#kWZmpz*8N=2**1;)uDjSftEOoA}Ipr$B<~40WmX* zj6^YkzycH!l7mj`lX^6Pk*FTRm~aiGCDtKgE&7omHNliI8qPuq9cxgDW=N=+V9i8x zpxuK>ERyjbp^DPd$LgI(aCx*6lu#h^!hAuTphAx7!l18t0$}S<6o!kRo!9pc_?nGP zWSuJoT1?KA=5>c(Ft{qspTNrsBXFVZhq|7zs1P89pG33-0Owv38D}{eZlsr>Lhl0Q zXHgdk3Jrx|#2jnLQiV`l--YBy5-m0o=23QcS}Ew>8|%nGf-ghOZZfdAXcRf=ACO6azFZ07H)7F8CVy%_l%_ z0Lgu(d5To z-9&-n8eqX#wL=G~85xx)a1p&i&Mf z+_#tQ77=8JFEa`{mt*Z1n26V|neu}8jNB2SB3j(`zQ9^$cOHz0GKNI51p|5Dr=D|* zs6_QV1EfSm11|?XeGx>M^CnYi%vBINp4{gz$Doe{sYM$)V@)$W|0#jq0rewxkhb0& z4Qk{fE--}9RtG`M9P?|38NPN&9x^eOdfUGkccIDa#7EX9C)n(MYFfF;>B=eQ;uL{_ zcu0g+%XVK6ctaO6N;Z=1dtA;4lcx^Y7ZBnkmJG(t7&(xR`IkZq;QkV<46A-i0ozIw zUM^+5@P|A&y$KUE9K_XA4Ap}JF#ztT>3tiaB@XKWL7u1KbBDkJ^1X{a7VE$1sfD#G zEwmFVFHh3EVm5d+rX2D#y*pr%?)8{Zr~$M8rhLjd?X#~BUV;#XV88tR)5gMy{?oV;*Yvuf_*$%bCxVV#QlZ^Pd<A*h1tZis8lf|zNK&0ELY%KuBm{*81*IB$wcuWMHHfreI?tb`qfRzO z!xW64To@*L1fL1{W->0n9^RT5V!xACv$t{50ri}%!xT#@Fgmu)>drqaD|xgNzBjt$ zm|ye0y79)nUJZlywPxZe`fKI;pSS?!D{G?LYGi?Wa7kUz@pgWktsT()uU~6Dm*@AM z1o)u!XSBe4-Q0XdDCR1@WGM|ITreoUy4D1Q&V#(-B~J)Rp!oDWxP>%@U?q)Gm_t`$ zhXBwMRM4=!MT4Eom=<;3l+)jI-7L6jRtz-G1HME0B=6}lFpK3U_nW$S>A=tN<*@3kB^S-{EpSicE=|+dDPzG%G@<>m=_6oG$}O~MGlskdVVO~hoKrA*WGe=t z7r0x>prs*hyksLa(p6V3X5&hw(nT3SnB!ZuVVmt3<{B9dtQdTsEq*S>I z7eb8vIJ45^Hk|ClN{J#b6^`U%MU0n)$Xv%``{w0k#@@hx_D#7>w`%PWV|&;1ZY~_& zZ+hQoX?DeDF71#$I$M6zLQc;n`DHc^8P`h|9HPLB}Hfvu^wXjsA4Z7j?esuu{*O!-%>!|^oMts2;C*2Bi&YYOOC&$NP z`3v|q{o*n?8m(urb+f){mW_J$b>DyaCQdadPTB8p_~D(_!=*SSfg!sU+Tp7T+gj>A zt-}BGxC__18tzfQW+MtjA^V$~79Xcx*_F+?^8Bd`8Rrm3-gWm_Zu@SC2&xGem-P-pBm`n@0lNZv|9RwVjOsI^kq^`f5_8nrSW8b zzC$MF$*aGI07PYcc-YYW_ux!Dt>Q_gT-@4irX;CO^3^DS@KIV=k?9GuT`tO)$!Ka? z8}I#l2miOfztn+Y}K{-_2F|_pNm!PAbj*N;nyny!l}U)Em!H9v0zPb2tEuWwG?&w0Z$YTqO*Qab+Y*8)m=TY`@` zpIB|sw=r+|i?3W%!L0oIf?FjJ?`@qfE&crW>6<8p8@KKHR>s0I8|xL|x&P5tg*cD( zY&HWCcjk8*v*47YR)63rI<@GTf05&&T2U>2|IeV0GM=`&7uDY%)q11-vC`2>HSm31 z8eO~mo{!I@oZKWZE9WaXUcA$K?|#6)9_156_tu@$uCrgOQ>8^kdnX(AZB(C=rQ_q> z<8|xnJAub>fjhgqHB;XwYPAsKUOPwmUn<;qnxp!=hFvEIIiqG~e1_Nr!|Te=X3qY# znM$N9pB~PH(|Vqqt~#7;KRE^NeOX_BEu1z}SgZ~2=_w8G$-s~%wtr3iz7x2o9lZPJ z4{(pv*0w31jILg5uLm6 zIO5{bQTMdpTphi8-Q$}%nawRNEv@EHEdI;NlBgYqbz9co2+QILb8YdQf8pzK2ne{^ z{P3^#fZxS-drdVoip?>#@Wi#Lp(TJ;q}*~y1F{IZu8~zBN2<9BqvTdb%Z@p`1#Rmp>p3T!}xt=kG<;BfAn{IPO94Y;w32(vKSy@BV-rqI=8q%Zwf4_FY zo~KLx$w2MA}(a)pTGYU3GU4n&A$8i$kE~7eNJ>! z%8GNeANg!+`}>>^d(IZ_1kTEwm){-z5pa00C%l2Xs@-U=%sNyXb%;}v{+!c#YU}-C z_Ybg8+|#}9+;*@&&Y9Dql>Q~#GMhQ=NoymrbFInzyu`rFtSsl;pDY%p(5HH^#tr<2 zkdJ3TfAq$4r3@_Xr1gfTK$U%=#-eahl7)oBsQdyw^6f^&edYVKU;X;PS92WVyxrLE zDN||Z7!%@y7mCcz(Jrfz+SiXxPBtzcMA-QGy-fdJP$K}V(>E_RmasrNq5iY9V21M& z(mVe?H_e@{sPA!jh&6wN=FP3CP z?e6aE&v)!)6^|d=HpnZ@ZiLhJ<I!J{ zEU9dr##79x6jIu!q3d7iW1=b15>kAQVzpP$m?05@VBAsA(eYL&Ei|=EyG{+V1 zA==}}c=?zXkkm9G(>gK)B{o88*+)7`@I|*4i>Vr$Ha!*(sus}@D~?9;@tJaX(p#e> zY(Kv#xSP!Et|wT?J^FQHR%WT4k*j;_#hFa$^pAkHDKhspE-+o*jc$)oZH&?q7y3^# z7*=-PBlZ4|;ax?vuq zJ;a!b2Fe~bwRe$PDc0y~bTf6e(**niBmu>7Q|K+@(`ZA1qX16f9t!FWdacjot-v+A zXhWncPfomov|PW&mX-h6N|sw}a)0C*)h+{$3geavO?>FbAN%_L#$w0o>g)S7 zsUw*W&|g-8EJ0(D?6u<)({))15Y$SG&nPtDqeb*cT}8Je37IyX?t5Ri;)z>>dv)eo zBZ-I-sAX1Q*i4{fw;^_TFZc9bpEdScvUs%jsmTOv;-w3sKn0vijzHaFf;VgmhLMb) zHQ-4$k%FalNZ7xO+wA3fafZEC+(nKY6Mc2aQbTPU*2_{b#=cB7JwzurG6F8YX=99@ zDj7kW+aQU^el=n&ahgrFSRHOWR3^L*WH*h{z4k_vO%A=odg z0D2JQ;H;uK4lpZ&BzrP1J+EE~h-7DZxy<-`>xNa$aQ7}vaT$Y2FJvO7AC_f*(ZO!` zG_ABC>MERU88U4jixM^B_Tg@zp+D%`Y@4&jtnZy>@4|^lJY1h@okWqzl!$J zj}~L6*2nJzAjYSGE!(@QJpbo*7S3@;>C_=aa+&LOiaL^4`T!EbhUm_G;0_DQd4~zr zB0|)L1iRmoOV-lkLwvfY+m(M-U5e9CUYsbf*3?A8$X^@YK|-!+TSm7vcrct?0|Zq0*Hyg{mOc414#D3qXaA3&xpRD}op0AJuV(i-56XZv7XUQis3 z;VTpXxTlDe;TZK!^>8^j?B~-dIsxQ)B8;(}lt<=Ev3`-nEQ#AiBr$^eL$O6)k@y%&mqbou;Shy8o3kUg5ItlYAu#`yl*~M~{QH?2=rz`GB0Cv_Miay- z@|oPE_vKEekcb+DjeENj;751}CaZX1naZuvX^|>#0^NUT!C&t%@)E7l5}X27WG%!M z0cU58cT|_xKKSd)QKp~S1x?IM`NSAl*fI3&B^AP)s6OtH{aYwOO?d6FrnN`FovJMf z`=xjexTKkwoi*`2c)5p5=%a0!MzFZLs`#~hPm&>A!F=$t15b!gE4AEcYnqF1yW=rd z6V70PzGPPFC#yf8`5P!s#WKDjD@uM*`=_v+Y2B*;`16{5B2(ja?VishXL?445P>um z_GZ{bEX^}DtfC-9tG$=ucg}bds05GLwu6Az=7z_Fft&O^Xq8 zPjz@gB;RvL>6Wz`-q4NGL@2 zk0K8dg%nb76x0}pM8dQjbHz0B7C5@0UgparwP=%Z4v~iVBHmQN-1w)?O^<6BRZxA# z*zqL`sMZk0Hv5Z1qlwDEfS@MWG;R7>N3rD2^I<>Wqoqsm^D+`zitKp3$MK!*4a>>K zWZp|kx0H1;C^vV3eb8<=Jm@Y_y#@2rv7Xvt(pOl+m`bgSC3Sp0Nn&+K$?8-@1 zE@sY9&Ra)Ax;E%*X(IU&Nc+ym@un#2A0Fv76J}b);Gz*9ONAdNp1=1k`+Q|H7BkP@ zdu|!z`b+x5Db4#>>`k3V7tH5^RZ}s2AE(pF)m76I*x4~NQT37x0U3mK&oO7_|7)$DN227C2oJtMB%eUe~r8 zN4MflgVP=reaT@mO&Cke!9^C1^gQgT?qZd)P1%oYa-3BAjDFkkATy$5Dvzfye5MCt zy?m4T{eyeO=_c`!YRE^D^gnSNIrQ^T<{EINsBZ?52ouNj`>y1{(=9x{| z(RcD@?5Z#LmzvXSW8TM;sOuW2VTIQPbQ(VwLWHca0ko}ep>G^wWW2X?{lCX{e2`bX zO|Q*rb)5?xtvYs|DB{UgxQBlYyu^Frds@}n^QRs}$3{L#=PAnUc6@uWcEVVbZkX$r zANAb3yI%D<2F!9Aat-4+V2V1d-yvVW_gt1GQ(84os*ty~qO>I0ulDh?@|y7y*%1+r z5nttl2!5Ii6?H%KO^w+zeinX#T%e^}Rt9k63Zaj0n{1RZS?1iDkpCdBi;;77I);v2s_QjU=&SZa!aOYjQ!d z3JRY$U{0#?x@{=HDgN_SYbtt{ zMCna3P5;;7%?U6j0`3NS zNX$4lHSy`?|3~Z@eRkwLX`jC)nAJ{4r@i>a>}i=e;J#eI-eFLm+-8} zYmNga^BeWl$&2g=MQXB=BIK$NQw! z)nwY_?U;P*=m%wG^Og_y?q`3A=q@Py))*bY(UYbxMALnLJa_ui z)4%@G`|rwgiY|2x27U1EKR-`5zA7>?O@ABzy%+`9ZjO%<@3g&opE|YI*w*4tA3wTK zko@S;qlT@Gy_wCxgN@&gJ8j2uXHH6$jq)+%wf_90=h)j0`}+IJrw2D7WwCM7Q+x+i zn-8jF3$>V<q7p}|`PDx(1Sqr46b;Uf9{Ih`JXxI#G_Bw1*>kO) z-EUDFv6K_Fv)}0&^`l;t=yLb+`qvL!98EpElYy=#VKRL0``8@+nOWPgmv56#>~qcj z*C}2slhnsB*V1(MbN1hot4%GaaHc20l+GYFw{~@Wy!R20^8K_)vPcm?6ew9;>XF;5 zk7GNV38Z~F+W;b+()`8h#L=di9yfsh8<%tQWIZuO_~FLyzfP@YZ;Sy#c1x2#sWGAO zJcsF9@jWs<(}V2#9E)sOu!$PQ{kuy_|M=fSM@6^)vMXDU*T-@1`>us?$!6TPby{=s z9m{*l_wxvU-COWH|GVN{oPzRygFO}Dkh?((FJz3Kyu$6RAHOZ0KAD@Pmh()k_4N3w z{+=(b*8i_eso`FNF`)pmZC`yCL$<)bJUe)|v0U8%^<(r%E$lpe*6@`%VP}3cS@pKQ zL>mAR8pX#j8v#)G%8b>8mFL_6u?;-`bnTX<#h{80T=Zh&0{0es7=I7aHZLd(yeTP> z(0dd$W!)eT7Y}o_D35)(8C^@OXliYl`y&UVeA2%*Ql#vE(*FebGdq5x%q9ZKPw!^y zX~)^|Oxt{B+u^@`SF@ZxueGCmC(0M;Xd3zrz((4yJ&@%;_(urrDvTen2R;4``~E4i2mv?j4>?ww=)`&+rYI zMeBO{CTFFA`%fmZJ3PSs;#=naQw;pq|KwyT@R;XxX>bOZyTs~!NueA7^SrYy_np(B zZ%cb?lTqV1=0A?rhcjn~XWP5GykMt%JfMinvixs=b7y>Y0oe0({g$Tt=XO@q2B^Dy z6qf9oSYh~`!TpwulBs40AJPaLWBQ^c(84WrVtn95;@L^P54E|0MM4BtK8)y^b?p&U z3dFaXiMK?x(P(b68Gom`9@fXr2A@Y zZ5JKf5DM?>@yg5Zg=~f)=iJ$0)3~+Cmlyt+oCnJHmF}096+;_ZQ_RFOj(*Q+-+O~J?wNK<$J}0NcLovtkQP=t@y#|%hlF71u zn&hTb90$!ZP$ber2VEVZWsfOBuJj_xErD&47+;C%Fu9oLCF z{fk}rzKNmg>Y7UjRe8z97U;yjr|!aWE$NSRS#)OhG(|1HI5ce4@W{#OyEY{aO@>U5 zzp4f}+V%3L*%mj)%bhr*9CsNt7#+zdK_k1^J9i8+EH@#&BG>lsV@Y@W!oMCm;;VQw z0PO6PO4>Ice5{`ep@rx#xD+`2zH2y-Hmi+vOdyG?=~ z?D`|2^fQa!jq3^uAYxX>Q1n$Y{79g@%H)xm8v3K%gshQr!LUOLPNb7VHQX3SL^2lN zWs3Y%1f?UQ3ZT_290uAHGH#Sh_@O#81Fx2|Cmg;+59&77?Fd!a(GP|rVIudQV3LvY zn?{isG%pA7x`=M9l)DHif`uiQ_nfT>FVVMcDw%7oP7qF*C@DtwPW4Deb7N*@L>PFx zJwyQ|jf-71%as4^D^l;+h7_hIof-PBmP5>2HJiVFVDze_I%Kr?V1lMu z40(nnQo!h*thros*Vb4?b|;xUFcj7P{r*J(5RRCRkOxjcqSDN2Z1-ezJH_LJd{>TA z^NPjnbcPhOLu*MPwSP?5leObXywOwKwejsyC6)BR&z%YdDZ>(TK zgm=REf0Vhr_N?HsrL+B!soi%731r5nbA$M+Ikta#Q5rd2t z6taCP@lu5cAeFpv&yU%B2m^zlfHcd!7v9sW)`#rl)2h3|Y-s(<7;LDg5FN_}jmWH4 z3Bd^PqgBnW*uP*`BdMT)0naZ!t<;j$rfeg<{L7(6(I$=%zLbFml>u(dHq8BMEq2Fj z5~~Ma0x&y65$I%fiz=S52MR+>3~%_5!Rmvr3dt`{Qf(qLlZF`=x+Bzvc_ZV%1WhJN zD72eP9UK&&SK`u=$u`fGSy{$lFQ*4dQ~_YS?9ybC0wnO#E5ol1hwv7OBt3nq zJ^Rd@@1s8%RvaTKoVGm7itDCK3)L4dIclh@sPe1i%21bi|2YQFdUlF zNFfl&npY(P#n2tVgNaYNf?1`XY3lhkpO*!DQ~bQej6muMxIkf~;G%mk2tpCh^3`G= zgU&x}Fvf-wbv`npf48pjUJ+juo*6%TP1kQ0r5+y4ib#&fFit(>AJ0{a*X~7-A;s@* z2rEY$fas*E-|CFZ7A(lbel)n|99(GGgU}X0Ys7nV+*|M!iPtPNRZf+h?G=$EDBtBO6(O|yXYQWQNwW?uI zex{M`mz+lM@D=V9Zkq=mi!Oz4$9Djv6=Epcim1cwxO#dOz|d&3H7+*PRRPts zC@2O1*$Sz`2v*#d?w^A`0&$PEgu-(4M{bs@yz~$-N~A#ESdsqaCLI@Jk^oZV)whB0 zOMq+d#>uGAQ*|i1@rMlx1`OU_@&>UmMFc50EGyET8aF3J2~>4ID+loC-RFo=M2sHt zCQ&L|TN6YfPu%l(pOl3946%`#2zfKy)X7RzP^Tvg5XdU22^}(vsUQ`|mEa4P&+(El zNb{?yI0-ltED3{lM(V)|GFgz=aiyb7X~`fq*KNA0v1zUt0ZUQFH$XnuU@Ot3%dc|v zW8PCOxWf>mgrC;qYZnJBslLlxBx8}gj+V~m8b3}X$(Rp}NDkz)(uZ;fTwtpRLv0wD zBp|>K9kO`$4$$tZ*whv`-vC(mf~BR4I5?rtAc&m_U;!UK)#jkjbw|U=nV#E23_N7S z#C5nJJE~woQ|_OjgJ3O$1k9(*)=1Sms*Hv+=o|AVWa|ZsFuY2B63Gg80c@c#(2rvm zC>Se|8am9BPIy})+5>IYS3;A39PYNEO0*U{7z7XVpr&-1vGckQ&FRL!sWQ1fG9j~* zc6VG}r&pL)oshd3996zf2fJ$Xz<8L6Vlx0}v8B)H4JBE`8zw?fpz!Vb0`gZ3^HZWi zr~wY9#7aluz4uZ_TLP4p#va8+$7^mU?}^fKtbSld$z&Jlfxc1!k@yy$m(!gG36X-H z0>*GZWx98e7oa8fNDDqstptquqK?5fjA_`sdJP8fs*l2cKE8L{z@>r&V6Zvi% zPGS|Emk@=nla7MU=4>ZWwHh;+dtZZ#dATmSVL`mWRs#8ESm=PuX2k5yRTe&EUP%dB zB0!nI1^GyGv|eiS-h z8hnk#*1Fu+HDdg^HE&%$ZU%(pWQFC{&87+?bgh?7O~p*N6MyZ9S=`BoSy$K&tlol| zg|FOeJ9l9Kq*)9l@o}g}ibS6)8UV_b1;$9sfYuF9UYv{U+G|czpvX#}z#+hSETcF7 zj8KCr--14^3oPjhg@oyNN+ z&gBNET! z$vK)Q;9Hzz)#tZ_=>NyndB;=zKk)t#b&PW8WaZm&L>$RVI4R>8amK}3recrG4>-BuX6UT&#YbbU;5-B0v zJ=qD+Lblz%W@PjZTOHe$wWn9>uJSNk{i2JMW<31)6^Q_wcZ<)1f_^ks!PoMJ5oA9( zkmCvk@9kF63@Fb6jNp%V-MJsZ!SrR_!d2pnQ0s`w+h&Y%Fs6~d5e+wC1+AF?nSaWk zvU8@TGXUM}%+JPM^BYaMN7lEBc_CY_tX^;M=_+WxyV@PLgs1gPLVy3hcz@ew9j!6- z19&xgBiXRSglHHDol+G8^%V zOded^RMSkCH?pe!trHI}<58(#V|m6zqH)ufbpt=);G`fG92F#b64EQ+{ikii0?m+p zRfSw?#VAi(m;k4_P$+H+UQ)})52u?|X6kl)B#|9Pg}RIULVQDVO6tu#y4}spI%2iF zR@4-d@0Q5Yk2NMNEX*tbWrnRnx4SEVw?|ef8YQWjQ~bGPJx27wLlf-uk6B$SZYZmk z5?eXiwr^`UTliCojrz`fu2}QtMDEs@Deuthsjeje7EwV-s7tS4a=8r}g5&0$1zcRZ z+sJ;`i^jd0TVI^DK9n~#e?!DySSkM?DA@C@34wfOi$9okEFDt@a2vl)5 z|3I1Jw%o`G_0zvEC{3XUO+ze(X5pzD7BY!eJVlM#hB9Ha**9R5EGaBAZA2hn2{85W zyFT;dz5H2ZY{O}qNC zjet*6r@vF$+dq9;>yc2E&X9kY6TE*U_+U zxVJTP?6hUUH!4w^!U{n>CvN%8`J$Z^A(#j94>tWjRhcQ~T#;Z>NFJN-hIfAqp1uf^ z51{VW4J$l+C@-p)m^p30a^Ql3)BOU*V^1yTX6Ak={L&da8`D)dnmj+Y^v^pvi;+>D zguRVkkPVRG9og9_EE}+v58OFj|8wfY6TN!sDt*^5(9=)CWtp@mPnU{b0|3YV)IE<- zl1J0Gm)=1^lDY4*2V@jxla&uQ(L%TjGUqH*Ki+Hk z56Ya}lF9@%8mKV!Kago6&%W!&=e@CflLyPspYc5jZVL7EEd!IuH=0hi_t)TEc#HDe zfkBPm)h^Usk9MzHlg=Gm7_a;0z=fo9h+8(Yd~@S^7X|pz>p5pu^-VlZ_WW3cGAYe$ z&pm^D0zTM^N+`=58vNZk`@Oj8`1ryX#@f!c(?tWL{liW3TtDs^=f($e&G=jA z+cSGIb3v5)kVQ6z9ZzcgoLh`l;L+w{R{}?)WKU^Dm)Gy^f26sPPZqjOGAswWED}fA zrPU-+qrvubk23(9+!nC2Zo}8`^gaC-fQhYevPr@9@9ph{v|pvWl(KwWcCt;9S&*fk za#&I)&$lf@PLIcTcDkgR+w!-!Co9Hxy1I^lvc<0L(Ka==U@mljr}X?RluEX2l}%PU z`@5e6`Lp`(a4@%tMVCc+Zg_fm_m4<-(7VUe?tvg#;)9LSky1?L3%|WT)RT=V*ZtwM zgisw+`_ax;u8c?0D807(cjPvQ$top(RN_wwaf;aP{~%Ne1{~J!u&gs69|cj1jGx zHfSM#C7UQ3Tq7m!IUxfEgkCu+6(je={AvWbxGYexOzlyXDSjc~*-sI=qu@_W0 zJ=)r8k{NUj+1;r-nHkH?&221?XZkkYU+?|>bAaiM2E%)E?nF{d()9}&yN5m%mn|&v zbkj-hei16+AJ$;CYJvAXQrM@m2JL0c>fOQQkXDLlCT>Dkm-o4}Wn%*1BQoW3yW^B5 zdwU*go{a2@jCA)BC@r#A6MZ35+evYFGHe-IfB&IZ^}(z^$#Ydr*p(oQd}#R}jF_!X z3fYA_sMb4@%14ohFG-Fr>A(!rS$eFb5tCh;yUR(J%Fg{Zds;Llxx8i29D5*7$6+0g zE$GB#7t8@wtcs&}MXgzS7~})iv62=~Svq$TeHEMH z(xGdO$K19IlQ6L#@@OSB|RLNrANPdvOHR!Ff?5X<3oZ+zMIoF=O zA?I{``&$*4LE;eyO1#ny4M}!F6Mzr~ep&p=%scg)MY*kfZn!e%qNIKV{R;hKu+`)i zK1DB{H=O=e!ongQBcjU+)teKi4#r|Y)*5l3YiW?t%QtZmDqsjI7SBW@+y|luW&D`H zVNhUNiKut=(&!6y`FNJ6+*QT*rLGxGpu*=b{CB^FF$>4=wm1?bAfTikD?u31&K*<} zHstDP?(9P#>R8eb(q1sW@rskTozK?S$%&m_vi1U=x_Ge-PWD^N+qI-^6q?c%L4y|c z^vaM!o5J zrDq!Iwm39G8-ay(a~Ju#x#CZM?2SZqMBeR+&B?$;Dx@7V)%-wn1-}6EMf2D&!%Ia{ z)fwTo2!YbgSN_yq2@OIdj-Hb>T)dkTrH)v_iQmoqD$$b-+EMfp2DqNyXdD-7DmacW z3u^O*XQ_}N+zhd@Fl5Gi+dmT;7(k3A zaR$Z=PDyUC(_Xn6ux^TaBje%u}Y)DlbasncIU2chvH#67nrr8#K?375)77C zbdeE&_EddJQS^<7h8V>Si-7evK(%?%WMsc*1v)4x~b8fEMD|Y*gsN`GHTg z_I#L)_TwV%F&c{!BGjuX)!J4yd@l!;W;>f1YNzLsTSN&^Jc~qme^_P?@;>a-Bsv|+ zPj~J^C)-mTslq2J!kKZeyfKQ)`VX$#s#kRJi&Z~2{awL7%py28{wt+Yr=6@PZ&{B2 zpO5olG>_%!F6^9M;YH0AyoHSqf*IflU6NtBn~A3Zfx?e!AjvT?u7y~NZW{tnMu*>{ z1;I=5h4(>V)-Vk;8%|&TU(|o5EIHq-sF}^hJT{C2y&(RERJ7A|{aZ@F)xYhKhC1z{ zIY!vz_J{82ax99F4cy{86hwZ`$7#kPx;d56h$T$+kziJitO3zmN%mPyEN8LGMSBqt zn9yk+sfRAdF=i#A#6QC|1)~({>~(-e<{kblyuO+}9Taml{_AIzl17QrRE(Sp7r-$0 z9-;@ahOCeB*|MY4-nPM%6M=}6KMj8nv;K*h$NOECfD%=9)9+*^L`M5&mWZAs9HP#f z_2=#jQHGjDJOhKqbHqTZejmY+P^=dte7meucac1Rh{i}>O@j(Gq+%IjYsEWLBNZ!v z{6S9x9?1(*kJ1+nQ^f4jI9~*-bpM3hrR70?IopZ+7FFuBh!M77xrd9{x)gAgw-_hM z!A2J*;H?#>$CLP!xw3w=g&kwBh?88xeuRR|Cd0jZO>W=O;4Zj^P(dkG78?jB>&rhM z%5dfIE;Asw()iGtxWJ3AUs5rMFNT6u8SWH&A?+e*Q!%yEBI`y_Ta-9@QVl)hPlZNI zaAVYLZ^p?+dx}BgSh>7K6A40Sq z0Qh%%AQSQH1s}!vI05*1DIV1ezl#A0^$Nt`Bj9%kmE}396Ub!{I8o%Ief_vaZ&g@M~4tK+Y|Y#b(V6U&JgY9PRAvIM+f^SE%wwj!Au= z!9sMN2sBzLBE0L%XMXxDtT$Q$v{F(XKGp2R9fM0qRl$NEqfNYS^hgklpZNCWfF8$U z(S1C4vCribA3lr+m29v_fr}ExdYe@goCNIaaz;!MzT%RSbr96`EN z>*vVFZ652lvap&O2-XpW->l!_udHT3~BP&6wz3ugDr65)}>O?G|^* z1rYuPPR@u(?;-80l0EYlU?hQAB*SauU?CPnY0*YFyPF?TSa?aK@|?jHfxEW1l(fg5|6Xl9c!SKsmqA6M!WxWB89|Kl ze2DVf!?N@+Wi3J~uZTIOOnYYH4sTQ{mZ?isK`VsQ>#xKMcx3H(NE1bV$+&)0+wgLS z9vZF^h0*{{Fdj`rJa*g+ z!|&S~VF-BG_O^avhV-{_;Z9lltZ;oaEf~z#A=})TSCD#xHR@0HFL7=6%^BX?P8;{_ z0IkZHdyHuq;8#Jx;Q}1pR(P10O`Lvv3=W~xv=-0g8E*iDl#UN|W_6ViW!eIXG;n&x z3t!&`1O-gHH%`&_+WqvW%KppNdkeOjekd@h@hl3%pUHgDk*7x-$p9WoPf*ji_uj|m zUA0$ygp$)>_q!=`_3Mmk%bb`#@$H$Jg>BEV7!Yb4^%MG>S|1uTy@cwR)z*Jz*)Kk* zMW`rueoecIQe+djVE<1(CH=b1cHx}+#C`VvzQt9$jOymjxYuP!==BN;mQtmFW{fn8 zt~N~SrjeiAzk`D&<{-b2H<7=d`_LMU`4~@(xD_&CTfGhEqblJ&JsbYSJ)2j5`hWCj zkG**lYk#Z0|MS>lTCMawKEnwwgtCGZaM?;a3c7+)jg}}0mO;Xhoi`!g8uEu$+^zn; z`kzi$eTk<3+);23GP$Z@ymAWwvQLo@PPQ5Y56*&bq_Z6#p8jaG=OI#$Ynk(eYRM-Y z!*A}mX)o0L`6%A~DrmiXMtLQ`KQwfsX9pOxP{i6ker$cwLev~P-07+VPE%`ZBO@|% zpI#b!MDf95NF?AYzICm;8icoyKRHZKaY*1!wb_kOe;Zxdc;ZQ%>Df$5Q=UYw*t+Qs z0cflutIeKj;(fWJb;|qJT%d>nbn$+=`+pl>cl5=vc}SmRdwQ)MAO9x8LV{kr_~kC+ z?nUX^Jo@JFL~KZT&3i}esl0;R!#9KLbz@^)uKVLp6i$wYLo+1Nc64a+GirTq!~R0b z`==p3wNHVZ;;h@C?r0bpe#U^GlNp#7i!I0hGt1pnupD1nRxm)&R^L_?maDE|h{6q-2`W^H* zBmgZ5j+GUTN%HnwD{)C{Y>`|ID|U?h?#=@oVos>bOF)|M{M74gcctA}L>H*e%((fX zc?Z>6(n_{7!FWZg}#}j}^=KQQ_?m@N8%E}WUxJYLoT?aZG zDnkb;DTqTc`GB2-{NOiSFuxfV4-e_Q^nR^{pKks$Z5!RxKBtoe%hqbMB=8ut{pf5E zurgiddhK`bvb@7Nu&COnh$);bz}ikW+RwI#2P{$FN@00G_u~jSM!l)_KiMGuj%gwS z`uF2O;>ma=bv&&T&xhOyV(G#n@P9nC*^{ZwA=zI=7XG+6)qd2suU zZbU|IX|Te@q!x*BXK6X4+{UXzN{YY7w)ETbqo8I|CH=G5vV4pV;@YH?Jy^NVNBH5%&DaNBo7YFAb}eo*IZ87N+rDg>Q>vkZ=!2mh{k-`4V}?Ia)g z`xYxR*)U*YakPKpaU=gm<>Q2Kyg&xSS__Uf<<=;Rv3~ZkU zxnHL3X{>tM8ek%`1zpH*qyDyf$T*`jRzKxY0ia&|7{5H?`A^f1m5nw3zrlEKfj_@Q z7o=N51HDgOeSKO0KKVcD$$>7>UE0#z0?*~uPIGy;1hEP8441B0+z~Vfr+LTdSXF?E0-fy4vBf4>@WnGnbD?u!}%@Hxi z7!msLmf)tB(;^OAkHmD^4-cot*G8=QMnJGMUV>qJVrss)KE_36_~AywawUPd;D`~*$p&AQZs6w+Qu zpbtK%&c!N1NP?@V0+W)Ezc7}3Coblt-3}z{quF- zmc-gmU)-z9E{yQ;lynikr(IpOk??JSle#r?rw~mOA;xk*>LK-vdp$J_sIydfAkR}} zuU5X*cu*u(0FDHJPXMB*f4!@+EJ+<1nQEVe%rm>K4!_9ZUJa{k0K)fMm4^V#eT%xV z`{JdikIKf4OQBvLFw8ZuOk1IA13br0uP-9#xm<^mwaj8d0?xP0)V~j8I=W5n732%q z{Oyyb0ID{seXzIpT;oKeb%Ue5+hx_nlf&&8;#sZBYoKqe&`R7sE-(?%dH-gsHQ)U8 z;4~%O2=Xyv_-PveuZ8q|OM7?(|C z0Z?2Evs=-UN2X43-&4j|=Gy1B)!=t%4Ag`w27#F@r7 zI`Z+lZEcXBvx8y8SK7PRviR;&pttP^dSGZYf*3c-kACNHk^ZB&aA$XR zw^4>fx3Ca_EXU_aYIG-=XNLjZ++sfoMw>`BLz|Uv$eYCZjqVAzC?ipwOl`xi)Ko}R zFIc3;v|($6PmUv4QNY&DTG(dtaW8umJRY9>1#z2DJfd4Tny|1`z>u8y-Ist<{SH)_ z5A@aXcaKMwuyMPU4Te=cA=$@}U?U9UoeDb_ha|~phQv|Ci%IhBI~yg85{n}l_-0!b zMJ4qY@2*_17wRHvAgbywhA{^nzNsjY*1m=rKuXr&O-AE6y>`1D1)?B}nu(uF04$@Y zm%ufI9V%0eNs-J`>Y9|ng=N7;QbH7bM!5@?;1RSEF%}%rao$Md(CKmOm!9`kVaK&j z(}iF_xWY)oO~@6#>tI{Zptw0{c5`XdamrxtY`-AT*jqGX)YJtMX^Ji)OoYw1d`SWh za-1i@Ph@=W=3gGOt;)-FZkhWCgqk;Kj2WzwK3t4^c1Q2_9Tl4DJ}dG4p=B2a$?*~OVOfmL}OI;k!_if@6&4=e(kXP{d(ws1?P8i^C&$ zY3Fe)2MG}%6>zquy*-vKJ87bu^WySXUIu!Ji1NxG!Z+1jYDNn`yd~&iY3eb}i+zEH zxsj?|V?z!?s%QpCW$kmYw`a1vEevT-z|rAb+KSDuXgMNK%v?V?x0HJYdLWoYOm9RO z#?i&sj@6U1+lhxYmFXm89_L1ig!Xt!Wi(Wn$XV7TP(ySvVa3k!71L_Y7GXVB>V%rl zi6HckI-~JxPC3ASAkZcWi{ZLiJb+XdeHSU+?fY;s0t1Hsd^DM2Zp_Fk_+I_FXy1{n z4qDx9(4H8DuV^vSrpG*6=2`ei9$ow?&_6(U3u&pwXxZ&rktm$m&G%n_E9nO(hJiYH zX{H{v!{{*gTvY9{K^nXTBi!bj(q>il;w_vEXp!VhM2W1Hk+Yj6pO^p>%F5_BAm8|JF<;Hz1@k2wiZ^VzZvw2FltZ+KkYPE&Gr|G$`rbE9T8U;zfDlUuqGw>Kuj=3qMI$mIz=Y2%_4qbgp$=W2#|=;yyb;H%clinO<`W9@{zP6dXO~! zGMoWM;uYnFo)7`@_j{K=rx*wXp}`u^LabxQfanc4$n%R|jhIl=EXc4|7g)(gp(O|g zoccOLM>r;$;_SCIY=2T)*;PifafMJ6#8E&!cH|`FH76*X{&9Q`C{izxQ+WWv%BBcc z5>nA2fL^^VaU+aObGiYjVuY}MUkC0tEUFiv`EnLb#DnAXzy((%+RRr$y6KWDn|Uh+ zXf#5AA81L~M5U%_(!>hL$rM0}q3GY%&9_u$SSF1xv_NcDVxApNl~U@Zv^;IN zH_@YEFGyB=XGhO$LPnqpUayN{IIKN`T_UsNZvRU16&UTsEWG6Vsn`I)Y<{Oje0-IAZfpU5QJ*litksg6lS;%u<7%9AvTW770*%dS^JB_U}I z6Gle22M6F6)#yNQFzAyvpn$^D|F)7e^!k7X&@Ti0#YV?}<0d!}+JD2Fq0j8Amy`7F zU%SOVq8;{Ax~kzCE2jWR7e|HG4fAKSb_|kyrjN#BU zbfN=^0vP~~#dzhGy&9YOJ6q5*kk9~gnk_$#3L0IdeJA$UPi?Avx1u82lmHOgB`%Ub z9h~W9PWxLJnjq}rAFBgmB30f3e+yxeI(7LaJT6m(`4R`OV!r?Zr_a^Xr+XE2&#)*1 zK)(mr=TX#LRQ`$b=xCkB=?LY}gjY6zdIyj(o;)noqZdZ>z%M_p+Gv5qa|atHI>aOA zH(L1EFlfXz)=UiQuc0A>0IQR9?i0hV0XMmYufTr&xf6-|%1ixXj933uphEIZ*8gUM zYDj1V%fnaNV?2C-=F5{O&pQgKbu|miGT(+NJdlsXdV`f*9_9{WfJt)b-|a&0V#%1}B?Js-{YqiM|;7w-%>vC!7&{L@FtUWFxAe?XEv?2@-5&zu56^$Y|WP7Nnv8 zyeMcy@v7JKra!`=qG6(?69}5B8e*(GwGafY0j?J!R`^@7Ch2<9Kiu@aGziQK;`zh5 zEy?i2h1J#si47O+-evIJ=U>F*`^e z+$XHHv`f?o$vs9ZLmKrC5(F+-{5rs{5~p-)0;BciU_ppRb0{hy-yGfNc=>;HcemFjaxSJei4A+= z$!xZ6*CCRn5fb`VGMfifd0gd2`9}0fPY;65>Ym0ktr_?C1SeZVuN@>?K_o__A$0vS zhkz7E$yc{A_F_n(_f@_wOf=_aP)XwBsIQBR6i#!U=3)_$Uf&mDW9?lHNkI`B{asNX zqJ>X74jaimBLuP)b#G6Z5>)3h20N(__(X-J&(j$j4vK3jwEiz|MVw%aD-T|!;3d74 zY+M1?nv|29x9G{tEb+Tz?uo<^pp_q&mXG|BG?1zsALmb zElYGFQ_cT)-seL=@Z%)NG=Nm)wy8LBwW^Pk_}G_$r;odU^W;4C^rDKhLk1qS6eQl< zm%FWkVas542in#)JjXju)I}6$=|~Tceo#y3w7h&0i3%KK^ZY;EDF!cBG^bQI-U^&E zC~;c%YtEkBs{OFiBCq^|S32C^0<8b5+CLR#k<(J{KxwWuY~Sjck-y>|eDL$f)_keI zj7R>P?R@D2*r(RhU5-YUDiNn zfR<)hY-l)N!RBk*hF4++=E-pNw)>5wOObZ#9k3al)2;Z@E^_#jssRr+q$90 zV}8UvD|MvLiEr#xMd7Xkst#hW!t#81{pfDdUIhm%_}}pY_J7>feE@O#{QxjMQ&T)- zHui#MD~-IdFT6r_s0SV`A(iD*vh*tp9n|CPvoi92?%IM6hb{4Osg7+dD#1hU=Ye{X0@atilT7h zaQ^RToYIy*`#)iiMIhP#gzDa;S&PFT0Jqsd`Gn#Sx|0>^=@-yAM~1n>1XogwZdd(v z9X|tf(lWRtTfg6&o#q74t?S)$bF1bpP~`*NFc~ zX;06>((Xb^b$R)8@`{hwb)Eo&`$Ky?1Q?3=uz zVFRVPN?0k|zOH3)cY83Gx-iyS=KXwF?0v}o_=-ud$DH}xdzq+&4~8<@XcBHo>hK%D zN*8<-m2PzZ5ZF0pRJq>Ey_ev3cDg$S1Sm|1(msyP>FFm=R(g8AjU07`wFFFWslnJ{ zdx+XP%yCJhhJYIPG-e|=w@14-62&u2Dr&s;IjIVt5Zu1elf;rf!A9SO%b(cDwj$1@ z42=WCjZhW=5qmeY2I_pYd%wU-86}OG&I{pCU4 zo>-{nP(4Jr%UrMew&;)QT>3y2JpTvuX$~DHMBP0+#6)#gC`Vq+H51&1?ScN(fB)3c zA^S^N)SAG(UBEL=W#U+vTB1i&LyvVsDW&h{d}bi0Z6BQLrq2I%0Mu}R$;(oLZ9f|n zlRrNl8?@JF6w695F?-UmP23@ofy!AZvwTv=-|ZP<%;2ls?)GEB(BCC%2bSl-B=0Jh0Eu?9yX-HSdsaE!E zXKOF?YztOjB}4iIolXLdxKsce9LRV7p}gC=X{zJ88ZWI~Raf8Ih*!h?Pal76_E1;v z=jS)RssdQYxyN6ccm8d@Xv3eZvPQ9R+MtHS-Vf=d7-clNC!P#GKUqH8{~hA%i-|>E zQ>)#^mksod3=nsI@03ZlGz3U^*bKeOkNnyd6ds50x}A$V^gF4U@<{spzo2WksAA;A zzp06Je6WOE(rWsqlKpm7(uBR2jmGbzr84nfrAlJlcIEDJn@tu&H5+&9-rWukXvJi3 zS^RPfw3U~8I<%tA=-EypV2L3o+cPYk;dSTBDWST|!fu@h z-pwKHm*7CNlltPN@6Ku0xL;FqGtr`YnPXT7_qe$8U@kZ?(EpQ}M|8m)u+~gXGkxr% z+=Cdj*R-n$*^TP&S{j%7Seu_oQT?}I{WSP^?e>twi%_ZjNuxXLhQB3q|I^mbE^+!a z(-wH(-fS+K`DnJ(os2=hw*+ifmZ~~JFP<7=AQAuMGwFthfE?tbl$xmxAcT5j`B3hm z+`X39<_Xx zPm0bHN)eYP&^nwPwzRN#AO}p(j4C!fLW3xSEWUT;?kkw#2cjZ3t((ZeUDb*ppaplf zc8D^qwuc1=G#lRo)5ag~5OcSJv#fWKk(}4f;G@7VuAUVKmRz^V6r+kK91gnvETdAh z83%Li`a(}AM!bAA6StyVBjFmp7VRxTvmP-U{{CgdsWo%H8wV_5R~%w_XLmy16|xY_Xpv-H*enj>Tqy(`eTg8)7F}I)|!+2 zbl|gDy!Xpzjc%l)iI7Q3EcDOM7*34;s&!vuIU0d|SH%qi&wBPt+$yTllk8T`RH2}Ish4Ux{*te~!bl|>C9A_vNNWPX5~pYMNp8N+O-f7>P5{w0dGv(E<&h;f^N zf<&b&&35B;J1wC;`Vy;7wRq+P5=&p7ITkQuBDb$ILiwV&}iB|#%n0v=<%cG+HPb0kB~wZc&8!;km^OC z`V<{2)_V^*)Q&iDsf>Mcp+DVIs_s?!%>0OAQda^^WY41z0+~F`LN=hO1I zN}Q&!iQ_et7Jg%j|LSz3JxWxo=P_+jZKHd6c{Kr>_*_Jxi!<*4WDL=}O~=D>i7+12 z%=u{L%0rq$tWcj^mY4K|b5T{5tKmIgw|d_%aw`CCww!KWmYJu}P>pLw%k-IIF=x?8 zbfn`-9p75-i2u;FuS-)-hEJG3gZjDE6a^GhtC^V?5y>5(&;5>|AEsS+;360sJMD<& zBh)vyE6{$f$DMr#ZUDJ{%O;4M1_BgAi`_KVcaoUfWwvs;5t&g_d%-$6-j5Zrk7=Xv ze9+WF1)lf>2wSIXVp>CnX@>b~X_UNPm=(`8V47r@S=>7y6id@Gv&cHyOo%wXQs}2*rvg&t8B#8Df$=YZ?N<|G<^F2QAkkp^rdgtl3}b z!@?k`;dJ277))O?RLx!#^cky;JzRTm0it=4PQV9QevRAQ^7zmv4~Di>%^l&l?I$Srz{~c)>K__8QM^rFpd`fj|mn-gTch#$c}oO{YtSu z!%FD0s+m680E1PWj~Jkh!eTV^%_?r^YNqvr3-bIC0%cLa**b|ISqi&%jhHxriBU!qb22G(3{{e3>z&YAwwFj%3p8T6)Pl^_2*N{ z7tLb^mRpgW(ZAJ;`piN7tau|vO(0&2eb+E#ZXF-STWtHR%+{u2^AY`9Uqc!F(OWm6 z4DW=NXhBgXPDzoXA0d3Dd^ui;dDr{Y&7Lp=m^sOM?f+1z%-V)MoZ;fd5U+RYMws!8 zk$xO*dQD4bnzbMDs>bwst~Vp%+OvF{6}9hti}h{9ER2o=6C2-tk=<*d3NFFH2NzU| z6LFG@Uq$X|s-ms~`74ukpK)q81UE6Z#HV({{NJp9OkP@H=i{rkWZ8hrj#6x%SDrF* zp%nSZ7Iq@EP*LPk{{&YKYer_m%fJvndAH>lckloTO;%emck^*`9h>kSOAKND;*A*4 zLNmhY`|(`rUca$dmEgjFjl7RJQ5{I{fMfGZ$sBdI*+B9m@xOlwggHOpNc{x#S+4BjA2O%p zmImSLdLcz$@2ekn(gutE5*Qi~fL0+u`QjxqG0A9s1YzQS)c60c0Fy~2Gy{13@WJ=# zK3lI!H(;%ZnQ<43bX+%O>*9RnUA!osjNT}5ODLv=*l5AI>@vTNWsgz=yqjhrR65tY zYELGTsq=Y)sHzO;50)9fc6~MZk3nD%uo8Z-uduG6sYa$kFgRvY;b)orxKsfLD5O=v z$V2%bf0@5c{A1p6U&CDC#4plrv9%lb1u`Z+kcqfL$@`hMxAi}!vK7IC8TTr!zKH&# zjP>=U8&1MLE8777Qr5Ss&}N=1ClW0ktGR2%Zh)NUwT!AJo0Q2w)V-m=$pZwx%Wb%w z9iTWsqIQ$1ns*F_Os-!=PkS`Eb0Y18S7Y>0eG;`_Kc`}Z+71?!7=TANSIP12Vk|4@ zqxgjqRL&RrJB!a{TicJtKh{3IGh#F|e}xomr$zJBV?wkmcW~RCxTYrf+S$`UXI)h?1A4-EmvHP**i8u@r!VM zpvbew4h*`wJGy&L=%Bph{6#4GSR)t87fN9%lFi1Nydn#Pn`!G^rQeK~<5TA$9qWRmYS+DMbdRuhY=DWotTYUk$Y@&v9FCiel%9)Y_VR`w^9VzO%edoxehFGw@V+T;~>L+*&%n1UlCi?1nqt z@(8ihrku@e`4KHev-p2(Op-k&SWUp~FqIo!w(4mp}%{Iaxm zRx|7BF_BB0+5fDX9Q+40rjd&YIXUjw+Y6p-rdqM+$p`MwyG{)`H0BMqot*8Zyq9lG zSJgP`h+$D2jo}RbS=n?#ZFJih2=e#8m$(5iY;)(%j>Wd!_Z3e6avN6z$fD4iq{|Y& zp0?{Q=$Rq&boQwQkRNWJNOL4~(Am;mvoid`+M33U!B7gES;(u;iu1mJ;mpue!1S{) z?goxhAFv;zjBzQl8HDZnH6_Ef9hd~R1_yz*1UaU_Qj7GyEolFA=V-Vs=ycUfBG)Kk z%2vXHKHswa=x_@Np90&HP2Bb^=vI4Xmx?p?;U(D+E9tUr4+YLUu!kQHU-(kCQr;{7 z$^Q1;H@&-2t!jC%tLx9^DeyxL9m{?4KB^Mpqo4-JN+eD4bQ~ysA;c|~j`5ycnfG&f zmF#tK!8`M(UtWEiY?28L*gFd$brn|2cz*JyB^dG*D+xO?dp>V4df#?VA;K)>LwEnJ zjd1{S>)C^j+=^V|pMhfF7%O%2V!Z`O)DITXp|`fQnXwiMzh-6{(i=ahvEy}bvA`56 z%bow7?Qd@%FYE=~uUHuz^b7s8ZDI^q63LqI$xCxlQqd4|1)u4O4XTkdZue02Y1_-= z=hpPyTAw8jD_A^E+|#}AVwn}``brq51*RCzp6zD>V)iYg&C-$|cNTIhLgpT}$cFx# zmujhko=w#ytPI1>7v`uJ_zx2-&v$|4-VxDX!JS2}U_+x$PgSUJzNICik)F`8P@0t= zO6{Vy1cnBmpD2Wc*3B9Xp5|Jf1~fiEFsCi7cDEl^v>)$oEjc3W6?lsMr_jUIsVvLjtNN|Pb_7o-C3mjgjYzuDc66L&XrT}kByFYx z47`qhug4ddKalk(-LsXx1GJ|W%z1kL%7jv61O>m%QMbuwNBQU9tbRUeX!P~6%T@c?flP{G_8s?qQCCtc7}n#HFmiGcg?p3g*EF zTenpn<`3KWq_?O+iB!;A&5Q6C4N@$k4sKDY-4tNABmds_Y-%ON@`3roR^W|Nm$**M z0(eIITYJ>|MIW1q2eX#)vJ!@S)Leg3$KmgVt?w*Vg-%7TcIxv$7PcW~d3ro)nV&bT zk@;2N2$+FMP(la?)iU6~5NK zE)!|>7tS2p>{MPZjqcmnaH-fh`T$hI@DM6fF{wkm>FL`*BKSt&Xz6G#g3UdeF4=4@btFtx=G7a{ky%c*H~$rvry>X0 z>ta}LR4$KkE(8Rt*H#))9CTr~RY^1VU!&^aFP;~bx!AZdKd!CZ*bk^9 zPVL1=7<6mhHoJZ=@0(ukJ8=V*1Ne&M@2$MecVvCHcnAx#hQ58Lo}9Jmoa zIu}CsPs>v4x31)v6l{7(!`j=|rMI`KgTQ;0#I13QlUUu`YT?mMve5Qw$<}#o|B+m6 zIoJ6~;TJ5Ls-*eSD_|Wpec=AVkt54(qSkq%+!>AzeLhxFg**ED8!!Y6WeINiJPl({ zptqY1`lxeqx%20cApcSg*Zu)$!V*GiiIIkG&!2=7?uYL-y zO#;tdT=ZAZI+Ap|ru|H1h{VC)HJ3zYes6E?w!Rs7?=Ca>#NX7p=v|dd5wO^p=GZxT+=@1xtL9B@N*!yL;~N+i!S&me=$q> z89ZauR`{A`TrF_TbtCUNmpPU{jn1Sf*HkDcs2AQja)AToi8slB7C_7kTGk-3i}pJ@ z-MRe*TVBEi)T=LC*jVcvGG*iI`e^B)oER|6PDi88yuLcG3{f}!7zrk*f3|8G7Jadz zWjIbjs6PfwH{>QWYb}ZCa!GAfHI1TIl-!g_C)akKX$Iyj>uS=PtKE>@V>E znThnq9BsmgqwPH>JGaLSWl-8qfMh9Ro^2(aXKgik@TIxL`E^MjQo`E8aCFtZN%zx2 zs#jm_V&XuguLbbX>@`HtdZMXs0z>sOfPC!O#M!vZG>4cW-mmkj71>JhJ*kg|;V4ly zaF{+=j}!d(ww%*ov07E~M%trVkY+zP0!-tjH4sHt0F6RsF+VpD<#)Nm=Vhf5FK`WH zVd7K|iSU+xD%|gUH@6cyCeF@bt%E|BT~lY2P)Cq7uIsa5c(Ez)j6w|@PE#v*ZV9-R z?_LezL?wzwc1}$ghOr@IaMMRx+Rkd94ZwObhJ9QXk(l+hPI^m_`nPhoNE|Q1I}Twt zq{f9>#8Fmf+Vm5X8WF07PaJV&70|0h-ZU+$VHO!P9U{b!b zdzk0w!oc9Q)=0$0zpJViwlhFJ=rP8Fb*B5E7$hcHBWZ!Ek%Yckr5=ji3;4H8maN_B9C*H*{ z2oykRafu6Ua-w2(&oFEd*1t6~&V=$c+m`GTJgSeME{iQ%f(VLrp6H*RsM8Qd-iVex z#-J?>_0X$5JKwno8MWx!bo1t^T<3;zhn81sysX%0>Ha&I%sKjKtP>R{!F+Quf~~3+ zt=>d_#+=P$uLip7rqmzO?te0rDn1P^x+K$LRassRyTn1urHWC13oXP-`YE6Pp1?wl zIKn&iFuPxrt-{|C%H8NeCLnZNR02~gjJKFhRhOHHx1&vd$#d~yjW4~*xv&%+=&;F) zR2tO(|9qU1uX`RXilwAf^mzV2oBSWH&OMyz|8f6_n!}rsSfyr|Op+1N!JN{}c@8-y z=bX=!oSQ?LoF=D9V&qtIwop0dm~$+roR1@CGk&knpWokg`K#-4UE0R>yr1{|c(_y* zf@f-N4QtVbl~@kE5(dGe_IHW%w9x!zj6y2JpjTlr=w3)3@eSYSqB3Tzj;Y40h&K`m zL>WT1&h>{Sgro>YRSrcQ_B9{YMb^pu#siIVB^Yne+D%4bEF$tfSP)#_UqC=(rjvY- z<4knD0o9vb_chC*eDVeX3ri~U>~Dh@kiB*!=Xk2X zNM;Eo4xZ(XGsQ(_mn?^kBqGxcw2%+fDvkbQuwWAsFJ(<+_mTX@&`oNY)qe=ufo;?` zC%*gv^fT~pyS32W^Bu9BaCTVYH!&mc5tTNuW@pC}g0c`+nsiGZxV^z*@ghs;E5ama z10?@~0R1UpK%LvW^DqW_SH~?6NM8-vY+x#O>JBO@g1jwColkS!N>fDacuk9rn1XGf*Z{#7hLC z+zWCge90GQ;SAYm59ueN?k37AgH(fDRPqqw0!&kaxcJV0WEo@+;@;(gVM9;(|VC@hps zF(yjOCd9aJ+FE%VV^|SsUEIgBDo-2=3FT2SUjusM>O^=9Kckb9o(g0M4z!usLf&U- zRrWW_4{6`e>~pNByED@92OZM}xr1%-ev3^4rz^Dbs?7ZeV}Y+=C`CH(d2A(e*wtng zbAo$m1C-392X*ysiZPhFAVfY03VrdD&FbYImRA=e1_7%=l2Ujc1O&z|fD&c}7Q^=a z+ru|QzS31Acc>G9jqYKn&4gi!EC%r*m(nYo2*x5vRic3D5h2R(%S`4a7>8c%xx}zi zUslA%uz5`a#w!WK5qNwGS1%ptgOoIi_T_QS@)g=I;BXe>PO}evKB10hcpt6llR=o zy&yjW)(?|$8o%rYoMG)=VD((V?~w-jm~Hxl(xGfIvD?k@+kLF)|{_&;DvCV8Xp- zJ2x3!wt7LZpaobOGTV@LT*sN(diHX=Y-O`Bz-`I3-5ELXgujg9&wN?D+lK}!18JfKj7RlFZk7O%LjbL#J|;m8L238MDwbk_DXWn<@(zb zY;a!zKTg?Y&07ZMy4RFM*sX8t5TxTYV$=ftzwiz^i2RNMGpKgEd(w7|!SFD8i1}GA z3m!XA&P9vX-?u90)7{=7d##QRbxYC6jdN^Bg-0qoup^+-X^VPxyX6#7Hcuf8T-l~d z6dZh}<8%vky#6Wl5XeWo>(W{|Xd%o4NQcsvl{sIIna@)+>px{4wrjV^ca`c)x--p& z{dzRkswZZoEG!#B=?l@BfTXC|LAo?_H`eN2pzqf0P&%NO*?Mp{d&8gRwPR#-x^TNG zKhwOrzYIMB%hFqvC5v~wKXk4Iqkcdy$OYK zelc6K(EyrO=g?CgB+>j!^T&2Y#l*%*Pv&hzDkXE*e{g-jxraV^?dkY=9zJe15v38f z?E7^ll9X{{#M$Xza>E{>+r`&(-)+=0MzW1Hh0=~ee%xRu-xAU8Lz0?PL-u1Ajo932;RvlRn(rq`BdAJzoypKeo6 zHvjd!pc3^QsQ-3**4-<{T-~+envRBV^A{AjL-;ESd58ATB^MFl>S z%hci`m&!ULGXomViv*C#^t}^b696`G?flGH`@1aKRWtdjm-FLp(EkMC;$@AwT{H&U;c?8{`=h=ryo^h2H}|w&9;J(CTcA7{1che@LT{ zd+7A#<-a>~C1sfv73XNdP#;khMEMspOe665@LH*n_Kp*I(gY4gef2Ffr*141kJ0_< z`=^`ngAQgc+r?J&ABQ33M8&|P1HeEZxWDu7d!?I-ykXUm$H~e~Kybdfv+NiQJ=s}= zW;y^DoY5hKA5Yx?lQlH-V5^U|vDwOR^)4G#4?MR`O|+SIDCDElwa%r*oA1~X8}|FR zy&IoxwK^6LYxEu;?NY|&tbz`K6tp$fD&&d^v1gI8zOb?)%xzNqN%8U2pFfI02b(ob z^d5imgE0P^if6tNy8!esy~fD?lSf(DYwXTu|I5Q5(aIxFKRP+|gw6$Y@(vEX8q-2g z4i{rv|LiuqB11QqtgUPBk$F{4HfQ7aYXS-ix(fR9oyAg-|1Gg1?XSo&6VP+Zgh7I*cud&wl(~ ztlPq9Va-PW_PE07)@+ZI3Pq>ntPAhOE7J6Xm1g<+d2i`-x$&6ByMHF8*p$2GF;3pi zA)e7*Yc!x@W*(jP=B@{Z)xM>8^d=V_VpG>x7koP7KvpoJd=1&&Yu?oc+B_5io7Y|e zz-jjkdcrV2>2IY|LCW)!!+F=qwXzZZ*u%r+SB3wX>i1l-yu8>3J((waoNjU5rhXa? z$Rr+ouW;-M@@l9Xjx))Uc=d!lmCL)G{9NX?UoM0E{MO!v1INj6e=fmmt*t+<=fm@@ zLm!>b6MtA)lb?d{XOUi@jw>dfX?a_qVIt1S};z}huJ zK>c)Ko=n6T=@!)oZZ3H@nzaysfP0E7+QCK|?_t$+iK}_TVR7UPDM=xcN88?yq+dwc z1z>PBCepM&;uknAo9+_t)emW3ZjVWzsApRdwfJKL2gJ4A%&iyPD>So;wIi8<3H~3b zhz4AC@yk?+=68Q2Kc=?15yyasUt5sR((NBY`jlQS&QrTJ0{T$C8bn3T?$TE0&a_0- zt=%?v!lj!OY9J%QX=*jlDDuhY4P1iQtID9AwXGFbBS9HHK|J#69!>r%qn)$)?R+OA ze}FS(<+EV&dS990QYldCcK_|ZAL2W9&aFgOae=2zeka(i$5&361Y8f2$D;bL0~4?k zEWX60c;(K89hfQ%&yxO%8I!1ak!;;Wxol6uR?Fr~gNT}Zf^hC|UX}NP@BbQDRb2qL zB;k}KEP|L9k`(5D;Kb}8S+b%F9VE~~Cj|RtF3A=gmc*PW_Khy}`F#XOWDYMPMWhoj z5GM$>nb_QMxBdXurl>=km#XxTXK&*lGFrXTaB9UVIGSEm<3&%taJg>pCvIOep^Q<0 zLv5|!Ab1kh5`FxepNO0HiS{0DxF@TKz)}72NjkE();yLtsdtQ18?C?|Jb;m+Qb($&ES+9`wBfhpGH*8*g0w8xocV>TgeD)nFUlwcdHpe2G+LJ)Nt1 zqxC7S#qfA3rsL@iu)?DJ9jXOM8)*K-8?+HMw-o0Hf_4l#-9^&FdE8i}s*D@=6MRm( zcBE`%I-syA?cuh&qQW4lCQ>P#5{DG!m#SbA`eyr+g-!URMHp*VA^+ty!z)3@?;wVv zY84E+E-yk&MI&b}QG=@Bz>Ghov1mkVpbUUOpK%^DS;R1 zXcL2A{QH}0&4vxY3Yy$V8J36vCNtmb>dXA>?cFr4gGKVRh>502f(Se^E!}4;TG>o> zFskJ2w15wu8y=Ztxl>2TmBwDoEwu)mhBvJCyh%8+h&)46hr80F4Vvuk(j#)86k~W+mp`b55XRxPVQFB2&Am{mpT@AhdB-q(1`2Wjvp#0_a#}`XVr7YFR>6;-83 z5JcYRf7=Z3hjWq-7kR%W>VL@7Q#szb%wvPVu$89h2`#n|Sul*JW??)cDLgT~@saG@ zXhh|R8i74J4QJR1IeYe-uv8(zd#B3_frKvzG4q{$GJ<9L2eIg^#x_4^<<+5}?1@{7_>V)+*qOfMc!Os@moD6VG;OX8W= zDpW&>qL`^{j^R>nmtsFq*1-n_b*!(_Dz>lcR}N}OD2vTR!&=eCa5SQw_e_fzH+uxv z#%Bti4kLwO%YSi)6J8@+oOmOm*6J;HB%`LIa^@_wuO*KaWl3f_WO!rMSM!swwdJ2y zir!VRfR&_~gjl=j?u%L11*P@pmfFG%^i;sts1`FNgn^Mcf-O3RSw&FL^A+qF>KTgX z^GIO1yllP(eBbt_-nVkmpZ9iv%@DK5YlXLIQO$svu7vSDu}gpI?LonhxP3WH!t|m+A6BE6?(zuw zrr2yY!$=(r?QTQU_l4xNW$j7##(t zQp$2(^>BZ=Sc>-~l-i7CH6H`pAlB5gv3wDD?lwqik8YJTPs}qB2kyjx#~ROZW+~W8 zITaoTD%V}AWiKmtyO$w`9cIwU0I^-6H4+Af{5ln)lvE7;f=i5Kwa?q$<7<86{{W`e zYYJjyK)|E2fmM_X;fJBIX)KQQO^=EuI%p^`3S!`#ah99h7|@&EdC4}a@u3ov;kXny zQT`5`9cu2@!GdK2+M;k7X#E-Ru=b$NDvjR8GCHJfUjn@^lU_71^09hA8_u=}Vbn(# zl3;n5RpLM%KsQx9dGp{YIXk znFQZraWY_2@%8%xr6HeL9sHtYu3r96y;gY zFE`smG5%D?Sf|w}Ktsa#LD#-vYIu;<8JX25TAc1$qS*+2(P6qUa7o5WGQ;S)sIf^8 zt6;c;p;{XxC$7}lU>HW~jcb+y!6W;h7|MyCZ{f`&_*rVeBSma|WAs^zQaE4-5bZ%Z zqg77Zi^-i#GXAS&yh(W?=NZpJE9J(YD(PY6#)k%94cv(YA#A&4EPvu2_KV0|x5nHVWB{o--CT)n%pVI)SKx|62a&WX#>qQ;SUDMP74)Yl?SUZyK67XW{;^ zpqMK3tG`r9&-yPOy{Qrd{y2R2Y^f!@<-aD7r+3e@I_Wn#64^Dzd;Rjoq*%lEZ}TEQ z54K&?#SW#Ei`1{nF@H)CI*Um0DZ4A+>|zUI`mA&@IMqiA9Wy-$e7-Esw-*v6RNXMP zXEb|dYz~^0#Q<#F1aAlGp^uV@WNmMbXD#6ICjt~XnXDFY&0Oe3JCuB{KfCR zXioH*n4$r^{Y1dWq1fkb$(K|dzM(?*o7>}|nh3QoZldtEeUGVia+#a?fSmok z7n@646^^<4k_VsOq3Hiw2d#p)pWFAKPP@2hFHx4IIyW6UHue_iM<+UAfzc!p7vK-Qm%`Kc7!G zbf>P=UuCS_JUTf!I?8y3eqGE3B~KVD-9u%)dpGp`u1K93k*R}=>cK^3WR=ULpn~_w z{p-Z3^ZAQ??~bES52o$|f~%j0t?k9d^pNY3zN+tr3>c0Fvri<@>v9wBgHsb5ijDNz zw7#aJqtzsKnLDW))S8izK2+!smu+WEiM#vgehnFdQ>z%;;379~e6}p((|vajgJ2r; zetvX(xTyGciry8U+0bMO5Gw+&6Trs1=bEOtupb?Phc4WH?PebU`&p>S4)uB7nBlcB z;b1Giy}4ye5Pxg&NPDIQL6j^2=0r`UMSDHucxV}Q3P@4w#t0y*uLsA=gVC7P?~$XQ zrrsJxaE(GePIo2(P{#-Kz0c-Z?@o7{Xq2CMldd(7YWAsR)Q#KGPJ@a-rP0gF+b4i_ zGxVT=z1eQ$_;^tldjIRe1d4u0qdtB;e+5gB9P#4p_Hy z1F z;l$D2>~M6xk@f`SF8yFeJnHJV=(VP!u~C-p?51E^d+765@AI{N0=8%NHWp4c>hB8d zk$34woo4h_$Ly>u%M;yGDv0C)Ha2 z4p{AqUWB3^pKj8xqvncNSNEY-x{eNavj2Rdwp-UWGzfLaza!q%x%5E=mr0{}Ey=CA zEa({>Ei9Y>u}vXmpVs`u)m+xC(?s^XP{rMy$>`Q)A@A`Gpc13UqkF4|!iH`Nq?Oy< zxvOBHPPVSZu%K2jB*=c|jrdozk}#&ch|0(0(4%&g0OxEi)FbrSq8xe8?%z)Fq8;c# z$ib7X-M)9(_vHNwk2e<ERsd2%UOy(bl8RNBnij&D8j;&otW5K=St(V2&B(p64nY@+e*T0n8~tLnX78krh$ zJZ*V3XbYLjV_xbEPj%ZJcI?Z`FI#nS0S>%#D|2=MzYifgsXm-D!(ESFvftjPM{@;W zE|*r0?1KLe_lVAWdnqo0#cki+drn9U#s{O?(%#(zGTWJC0PI}8?`BWw9P%6P<|CH} zeSO@Hd|Jrx>nSaoIu%4)DUJSO(hGe|>=C`xUy~fz(3qu@Iq!TnhCaQY<*0Y9YrYcO zeSFk2ydfp=D0%G9NU5Od(f0`;%lULWmFp%{QPF<0duGSZsd9~L0#FasE1^ekEeaR>U1x$X8P;4gXZFSMPPvocq$b)awQ}%qd_UrF-OB6G^ikd{+F+ zraIK0Ptm~m?WFdGVt&Kv;^`q}g6_F>P$5Eis9>7)(Z3%0aOhc}f2T@G0AO<{``_H27f`avK_mP?{sRN4T+Qj^J*ZfO+nUtPx z#b%s>C`p8w}6heC~&aM1%%uKP}Fv9ZnWz*sTvUDgeLppW>)KgTLd z!p_`YYq0LY0&PEF|It3?1Md(OcvI}d8YRD~68GWM`ck&Ac>TxMi9aT#_>Xijb6cPy zql@0pvn1-n1k9t|-}@;=m8F2K^fwo;3E)?<_4c#$3EybET*gJZiIi5ykYTMRH!_?j z%dTc;)XARLerwVd!Avv&g$-%t*GppuHul{A?Bnu3gFnj4s1{|gMJftJ^|SC4xnJgI z;)x>KI*>S8EL4hITkCdcoNS{;_5fcIRH{a?L#TFs=NHE*F%ZHHdZQc9v@N?z#=TbH z%)LxY4E@{dGyGeMvkfzdwttXFgoSr*4?4+Ip%dPVl@bUsCPL&8-&w&pg1QC_DXK*T z;KB;($A#Cwkv7vJzKlbJ6TN%u3pI+@?wt|DzJ6t!C>X;mxU}LYf$!L?L zCKl;-+0C~bP|ezWNbsiqkYa1Qbu<*;V!=jU(zbUTG_9FRMaFa^)$H+w#nWFCB3Qe< z?Lemgn9MZ2m^wYDY5*ODH=Q~^P=y%@wBJuRg_N9V69M+ylbrQjt&HL5l zd2YTvq?GdDE#o3XZ=tmAeDzhxhj?YDd4o$YQ_WZrFZaKn)5s%fDO^#o=14GjgY=K) zWWUVAv?YHk;kl#t*UP`BnZ1A{G{&qKBRTo&wfS_{D=0>sB+tiU$!` zdHAEc+aJ{UE8I@Gay01|ycf>)68xpQG0()?jf1Zji4lRmbQQPeZMU%DXhySu^vsL% z{ifAow4PpzD|NBwVEZ@8TDme;>6CHnh$orA1B#Q2z)}3*d4vjV5l;T<9ou!^ItF+E z`9|soeSGuuUi7`Qof7zwDtN9mVYWCNm&eP#12ZY)eINtNsKkoWrAmgPc&FM5WLN$cKca zDzw7+=~~oI=6#0ISf{rw-4<-HI7_G{18^rTxh6;Z8zFV}x^PAjXby`rey`S$w%qn1 zNe~2D&x7THpUC^VPo<<88jL3AJ5hKIymc5JNahV~l{16eAn1fraZw?7q1;EfAfKd# z{Gv!qQT>RSj8B*fM%={)17=@LvcV%6j~{JbXE+$Ox~OC>tO1;PK}^fPv(J?Jno|x9 zjpQ_yN^L-Oyu(9rrQceoE&i62z>DK#37Am%u=itj7<}`LUhS<4)~B!jU5kffl(7uf zIH7Si7FJSaztYoHjI$BOYckPT@WI($k{HjAMb!X3b&7_jifh1KL03lu(N2q&P@`{0 zBGBXiGw0GhL`nWV{%Hkf6%z0Mi@vTgza)$D4^_dF0Dwsw#1^yljOe()`z8x!dQdCl zV}Zni-dFNOU@?mFuK*F$N4&n7*G~n<8@w~z-&FB}BsCQWMJ6H%%uq`uC)h}~n!I3s z*`A~U2776A%*zMCz#?#vnuFxU7+VmB1c?_=s3);A2t0cC=AkqK2jFIZek=4uq-)On zz@kZ&Sn)-}utYV3DkZ^4CP^L{8J8Rb3=skeW8k*XN{qc6+>M|KMoO8Td7^`8(eoCC zg+!o`1Y*jsBpfdfBrG=R%bXZVi5bj*=18ysh+t1kAA~`KS?@5lh2@kvd-*CcE%0Uq zu)OAy%p({mtHD5ZAXu0T8zak~rL(trHtoiF^p!;kDgZq@`R9-!A8TGh?~CaOJT|7f z42MNLfH4cVrbR$iV-gOZnu;jLFvo}xoXh%pRN zZ>Cv_^Le8u_@PQ&EbAf{?eTTtN+uPNZiFoYQ;2=drGMER;sfeG2TO?2%Sby8Y>*@p z2oFoJy%)iiRn=u!2Q>o5C|TY7?=W>`TR^!?{q~e;`31 zuX~$R+$rseheb-g;Y{Ox1>R2N2J%?(1#dM~r(A4|h)AMZi|}@#Qa?tzB0!O}HX)CH zNq9!gb8(8leF>;GF2`67nwh$2U<5bldLVrN$W!KNUlpz!zD*Q+n!BIny6#YIJNSv?MV@(Kkho!=zY7@Wub2P%I)4268y zwnecq8j-SqGal8k;<;^6`Q^6YzVtpF9lYM`%=90VKFXnuqQ`iB(S{tQm!=3zG1;su zk@-x(bF%$dBSXs^&T@t}edjjccZ52AjjO@vHG@XNh+HHQd+$p-Fx(@3ZqvzF4(i{J zF28F6hh2M)n~uw&KtZO7CZ9&N2TK;VrD|^-naa$Xh;#`X#w&^Cdo6KyjPSup;Lm!N zx6`+Kdg2T*i5-%J7C!?Qx1;IwkJWAC87y(L39;snyHT|H#qElDDcr9YEP)DEd-P{b z6ZHaqMow;=(J$l2qL-q#K2NxkgQKLgx=r;gDIE5YbMI{~Q*IfF7p~s5T=gF?BMC0b zb08gV*!fQ~W%WEVGFs<)A@}87FQG7N8xhs&_gRtk$8E_8R%!P@gS4M?R|8oL1 zN388B%zBA4H-JQ#U$&_-bGFCjecv~-?0KuH{;}lw$yjW~FruZU*GTJ7%9y(#uWk1& z^CP1xnv-v4+nX0cnxI+yBDOJfYgE4(&zoK+p051KKT}6ifSUVe@6}s=!LvtPW#oBz zY+{~+U`BJ!o5G|vlNS|Jhe^)4-02DUk=)C2(Qb>J#mQr{v9SP|p&;K>)__@|_F2Pv zAT+LD+ctLp`I0BuYUI3Ik?PbnyV5+iLgn99maVe4v)1=^`1u#JfhxdQ ztAgNvu#L0)B(1#aey{5{q3@38J(_|})@D}hE_@}E8|a?9?rU6XL=|k(<9ptkeJ;WI%Vp3fxme8)ku%j*;hr?!#0z~#w?-Wq|?1AdXGoQZr3o- zJt;k#3dq@;noaQm5T{|T1VKT`hmNl4Y0tJTRt?&V`C z9FPF~T`O_R>_4QtD-hH@hXtrED#&%+u6WF=Hnf>H8++V&81`2 z6u7-NaX+F1G3-Vu>*cbIVUhl zXmYUFOTr}^QIh#TB=*Ui=>^G!B7T0sO=BEk5kAfXQ@>|W;YR#)dz zr)w3NGZtMyFv}k_J+>e= zJ`bkN7T2@^W9h~0V1LL!)A0!x(ZE2~!-_5s{Lce3v4=D5C@xh;m&;$TC+?9aiXVNV zj_#uxk74;UTgltkbfNSO=;@B`=}vSAq_3~BX-DHN4n)pQa&m6z5? z-=h#-_WxV6+nPEJI6e6{(<-$Cz^1B*Ru;s|rA^0wf$bzKXr?VpOopA$P?sM&N}B!^ zmkGFYAE@O5k=pIdb;*LK;ZO^UNw?~oR*mUB`~dzraeLjN6eoYTNe>h9jHVdpZlkq) zH1E0+0c`_YjJfWk<+F!)k6j;IeSP-%%3c#~mO4s~8wTMX1yG<;EI&;iq=(9%{)2w$vdt=G-&I|2nKIPSkn2Ay< zhO;LxWM|Vx(QTi+KH(7BG)YPVC!!Gu&IyN#iPJ4zk23e_4x1_y4O>y|stjEy&>UTH zR`k$N0_m{j-rJY{}Jou_a$l?1>-n-e@3n2W2@n&ZZ1#!LW{w#h*|w0>2Qo zQ)2_iqX>#Y#|-F#YsE$GAqPMcDg8I}Z9{A!W)u9we8S^R)tz^QmGiiySE zTEgwF>5T;hKIKCERpM>GV85zTLa_Jqz&Z=1%}g4l$G@Sm5qdk?{l#yO;HgM51$gCo zRQ;$J*0==tq=7N2>vOM=&?UW$Wt%%YcVV4}KZ!o|jdgO>f&b<-hD{1tK$qHc(zSrD z+T4dOgtm(?IA9eZyN3k$1l)|P4+_k||E5-NSMQRycIM^|M{kOd?2QG;YN3@TdLl>ave#35LdEDT9 zk(&#NaQRH~`&TKYU(_*$Y_B`u3v;SgHct!A!;2=YZ(cXjrD%aTen#%n-)a~ewIZAf zSE_GxVA)=M*s-00svxSJFgeYEscmXXl4?vXX|$Z{5q(gitXtI>RULH%d6k#st>Bhf zFG?C;Zh1aR<+6t4#@9QoR?D^t*(l3Zi?jMH6cxF;nS>P?DQCen+6xz6(4TdG z;NYB3xD}X<5oaPyeEK81_Lz9bC> zPd=W+Uy!4))rNzsz9G zQXB&xXOI448^HKj>m1hJVJVF1w%$RuI!IeeEE2np_R6Fx-hPnAFE#YR*_E!#G78GH za{wRGxx={gWc?^_u}9WmtP}%lI0##eeCFbIKkHWP7^HdOh!69VxxVbptt&AIc@I4d z!|i&os<|vMVxNAsR9iClNB&LjlbDz6boo00-rmykiw{S~FL{rx?`s19%zcXG*#zUv zd^Q;PWd}U25!Zq1ah5E-dIZb&WgesCiz0{t5l_u(Owt&pK?)BO+6+fT`H4QAY5sSR z4{K#VK(FxWz!r#%{c?V1-{f-jYUWnSD&%`XR6u5E9-$UykoskfTXzcZg)8E1wNvXW zwu7WiZeF`M4deo(eABDrtu2pn>W>7?nFx-q!w+9Z;w0N~F%saI>4H{Cl{Nv}QeZ_h z$qs`9p#KFzd~9g$O$B~C7@YkzLV02Oj35a1CfQN4j_?653XAYj9c5P+77@xPs%Rh` z;VGA+h}Z=lADeKA2QfL+dJDEI{OqL9+9b;O(?P>3H6F7I(@a`wYGNc_%mQR~sd-7- z$MdNlI-$K;{E9JjHii^^-dzhhKxqk8lm<7@0+M%vEZBw$ne+rk7z?r{3^>iIH)9@tC!K-$(+ z0icIi3J)e9j3a>bhO2;ZF&mR9f)@NQ^GdrbX+Y&IwwAE;m5Y&^zu5jwA#etG1*szl zoQE+fDL*+r)dRC3LT#*B#X%q8V7?#D10Q&sNwYn{~k?{VGumeAe76?lZdgl6C^MQ*v=%0%8mf6@s+me~a87D?#5l1M%Eb|RWbh9P2r z?V^tsvzo}8lAAb{7_3<7EpFIr?0YxoC!9a|#nh6}AQi*|wyTynZPE+dB&07f9E@86cuLvY>_GeOY@2-*-_PRbNp0zCB}w<Ln=XFyR~WlauSKOEK(hFc1&W|47H(YBO`=Wny9l8@r$m zz_WSo;^t0n(vB!jHa)3_ixEB;P2lvd0((EFK>=ZrB1(D~`KeTFl8<_3;J|nh50fni z5=gMvu0g$D;{;hq0>Pe&4~j}kT)%z5PYYl{3TK(d47FdIV$OUc*}-CfxrijQ3tqYd zTs4At5GI5sfjHp6O7Y5N1r|iBpj~xJ6q8;;PRkO`&hq-(F-KHjbd0*W1OEFXBViK9 z_h{rCK@$;XB1lRCMJ8n^KZDkKY5=x)0nTo)s$?YNH#3)F=R4^pE^mg@3C9!k^(~#& zNP~{*qS7*vpAaFY=lq~whQV-3@b=1!VoM~&yz9d#6#Z&ZoI0j$*N zE2%<}yl5uYwCgS;tlOYKIY6@)1I*`Gyetd{ypbd9jf@a*7>@Un-a%4Qc;1uM7ou8{ zhu>3$KXEF^kM5r%kpwH-62NtKOt;1jM+m-#iK5UT^i_ByZyT?%W3hvRHXKpfus@!$ z>?&7}B;9hmW+BMUt40;RIQ;IDQvb$6FKA3o+x)isk`1T@V)6Ux9q0!o>#8@%_uw`& zd$;>;e)bIkmZN@_eI$^engqOnH;xzkn&|C$)u6mhE?-5d5EuJB4yZZgqXZ(h6J$~b zjC))Mm#(wKnJZE7hsKz|`=k3(v%S3U>~vMxo9zG?P!OasVyu<1 zY~di5ay_j&PwV$Bu9@m$fI>GzXFu19{M}I7K-X3a>1d5}9~zrw|J8DFWR${#VD^W3 z?A`6VSSo~Qo(7AEy~5={;cSI*L;n6DLgH~4LelIncAURL<~xaSvD75)m7mO28NGb5 zt>T<8|6HBl7)l04@S^#$|9G^oUz1aTf$|rS081)nv|`Lxy0xFYdp6?o(MwI3u%=}l z(Dh3m_V)ShL2j58s5SH>;k<+&{$l*M^ibj_wfc{rLFoss@3dv-#(So%OL4Mcz{k)l zw9ghL_?-E%phlwW-u}dir+*-JxJvqM;#q1dptr+LT=7#nkcgK+-?YKc!7yHVOCCmO<12+D5vP#A)fN;!PA@k-X)3`^p z_0{6qb;q9LkwfjNn~!1(bhFdU{3uzz_P^hR?C_^@y^wg&HMZPIQ)>hp4IdjyybbvB ztV6fg7^sR|p8#G)jdwXRCmOjF&){3H99!2t1=Ps&%df9 zba(sa&0bwaAg6fL^bDCjZtY2(3JE%FE~b~cjB9KHcoxeV3PP_Bips1RuAQ=+`s2X2 zzBZJm;j*f6A6B@Zxn8>}#c0=mtAYy(KzHvh?EIStnm!F2Atv1pK*;kKFlGT$qrS!D z0O(`RlLQ!3Ge7XphmL*6@?T% z9#d0OA%9A!Rqo@?&%M2!ijP7D_gOCv_W;(Z-K>$ec5vHMU)g#+lMR2m^_2GbN*6%b z*xhZ;=Vmxu1#+j@sgvR4b^r|wEv1qvl;$NL>ynaS&yWwym$akl`P3J=-RrylOXqUu zPdr0I6fGqS^z_0y65HMNB5XJwL8F*M@s`qdVoSLU)Z&YbOBm z_he$&549QpX==*NAHm6WRj~s$HCa|V!UetmnmgoprYB&k;pmy)R$QeyUyvfZ z=69pXu)h;WVUbW`?_$Lz1mb!Ka1KO;?EP(CKkA|EQ^+vRnf}A&P+<3V?~ZwoXis$U z>ghZcFx#U}V?K_LVV&6{&hpzT+wUyfT&Osp$5SUCPfSdd0e4u3GcV7Qq2+IhvV$1Zk?Y98v`N0l#yz>Q(bZW~?)y}CkLab;;@0{32S%fm zp0f&l`7+ZgF{uTbwv}>mT}#Rq6K)#;suBct&ge$DUEtd=)zRxq=h_iY!YLQHvQZQM zv{lM#CMDAWd;OK}yZfAohR{=yJtzLenss34?0D1$clTAmQzEk5= ziK?X4>DnTeVl4*rm;%=(YzF?9S-n#XmZ;Y>1Onl)nmz< zl6*WW_H)0k*zDLYjgl!3<8Pj9hn_&+-ESyyqqn1i0)FpT9R3>{>Z`@Q2sXdAgJvb*Zk2;~99&}k9A8#eM?`KYg1pDmHOq~4kn-C)b zJ(J~F$D071mZGhLEchjte0q?5(&u-7ib`I0c;OXtlxcPPw~4;m)UB|=)lfcs*gAGN z=Je+9-*JgsaeZlVwcBFs{-ezJ)t=Vbg8Zz;pclKd`yLyg$`+FSrJZcFD0HB!*Xdk3 zH~&{l^M;6~Dyx*>Bqx0$#H!{zkMx6$QCfS!wWfpP!{%fJ-)KNIuO>(11(RMpRVDQdFMbe_}6EL!bGC`c?2_Zmj-HFR?nExyzrFR6Vc<44udnD=RAv zeVk-xOjkR9g;TO-wUKOXPQZNzai{B+E~Gu$x_eEz(S0k)Fg;e{&BZX@s2Mwjbe+se z1sKbmx1V3?Yv6%rHFV3I53&&%Gn@M4aTJp6BiNDbFH|*b*7|*7s&sY!ViKq7l;P1_ zkl*v?M`Me+l`7vNVgQn&Y7>#t_xPR&W9JHJ>sP?|B|8(zYlF+az#kS5uHMwa?XKQ9 zAX423*jRBGCA(_5k>pVTJNe%AZ{+?`zU{hSvt^+Hp{b0Dv^9mCHLk7o)m3*YXm{Be zXaW^hRo=^TvbW%<7&F9t6o=z3wSP4Y2%d5xEo{&44%1Pm+cn=KE0Rskfks_YMuusX zNq0v64c5m^N1OkmN8L($`y4PaOcHq|mktkOfe5xByXn~wIx4k^?T%Pgh0z++b#n?Yz*@LgBwb@$o z>48}a_rOQ7-f`z@vz2;x(Hm^(Yp6U1h|07B$Bh?%Vi!y}CX*nNb4l!p@IiJtx zv*eUR4$XOzY)&(hQwZfShnQ2&jSvdsEvFpD@Adib_r2Zr_ii@Vw(ELakLUd!(a}D0 z|6cMwb-(}ft=28-91F$$_;+1z@+16uc!T05ET%8~6Iod#daT^F1M!)&4Y`XS%I4e8)p=RZrh0)a1wo?1~&VFR8Tv#YV zL5`;-oVpqr6xLU*yGrpz)S>pRrzj5%H|o4@OF6x%Z0K#)i;|U<;mt4@kR*sZZeN^a zONEkX`%_^OIVigK8LkbM14)_om3!gvhHk1&TGoARe6dsXpBW7E$}iryO6dRxt>?F? zpSGsVg7~X=DS;Q@%6}>KZ!tp=DJOH3El+%dGzI&%DPSBhQdK*lNO4rhCvFxpnu4sV zf>si0KT~Em59V5=cUS6pi0l#xY`uvCH&p2J;=Erz7B$fQsLsYsEsvEPNXPbL8%)Ln zme0Vb&i;CWhkzCqlA8>7ZOL~jAy)TVvG;Q)3qHrade!PFqSymxd$3lO3N!A@tR}F$ zh#i>}D*4Fu>Z^Hy&PBkw2F_%+H`ZchD@#Y(s;F8PAbm(VR#-L@BPMjA-a9+Weigc`+Lxyrxm8q_?yMrEjG4S z7&dVp3ps$u4BHoFUOpnS72iDPIv#;GR7IM}Xm&=L$h6)LkC&Y{{0$phTDyzPai?Crns4<@U>Q zBo_>x{VSYt6tGjvuBkg}arhzLb`ou#KX-FS=kl*$R8s_Uen<3Ma12>GyV)kuzbn+k znZh+4O_8juOtjB0ejxq>|Mt)7y57u(|CR!q)i-ifDE_*=M@%*{4 zR2ejj9TmKGqLvU7o6f6c{t^W;B!8brBwl86T8%N6l44lO^&K2=R_TT(Kr+O;(K;7Z z7@`@Xd2w_g!QSCJ77p+IA|ZSZ+A(>o%IQDR*BLdR|75@83KP0he53wwg;d!{{oRH__f97KIRa<-d9JeP*M_ z$1j)%_Su#%GBw`4{octr#t8cG!9LdNwU?d{M_iu)W|vRHE(H(=;m}C}CA=mxe8CQq zmVkMW&W9A@zr6J>dbTuRSvF9CCU{Nj+fjcd0}?}%&UA^VL3+8m#Na(s_jJ9-bJ8H- zF1U;9rbp?Ti+A&zrh%;2_3XzQ&j=2ZmLZmo(qSa zk2+|#VAf(B543MSi679iXjymW){5a56%7`fytV)7QQNWC0oF{W)$Gk@{^G<7KNBkl z1}oW%n|$|Sb+l4>23a zU`du6!pa~=cCb1@>VYus1;<$#?F|>e%xsPdsFkj>gbCrw2VCr0$dM2I4ve z`ReL^Va%!v_ zF+5KvwS+jpY7C?>C+iif*Dmt@#XRQS)sD}v2nku`Mot@0(^-!G&m(HIeAlT%U7aok z&gmuzrD5g0m6KeLNkxT!9Va>{yH0axHT0BMy!x?MAaPPHfiqX1>SyJ;MP>ESu8zDq* zu9^srx040cgUaP#CDcZP?HFxT!FDNQmgY&^SK^>h!NkPa;P96$AO=Rd*S@tSwn<odBEk;$t(wy;u4&raq&r8WrHx!6Bb~f)0TOLym z=EVygK7N8!&L-wUY*+CkbsKh8@Ss2$24s^@%uI$8Eu9)TPG0Ch>6|1pvpZoqopB5W zr79l2qJ8M3MD!rHY6@%xlWb3?{Ii7JH;I+5zLxZG+fA>3 zNRyI^Qx?J4GQz-YptV6Fr<+GVqFYOy`LEg$T)&71u&EzC*&|=s`#lKtBp@ z%uT>-H_h4no@)dy8NiG>Nrvk6lcrpbKtBk{ILZ+b8roGL)W?~z}ig%JMwU$o>22y&{*>giezSDjl-O% zU8-<4wiMo|-+5SOoD0D4ZBqkC*9?{XVFJpxd-cuNTYOA-6VoJy|mp z#|`Eg{&7^??nEQ2D+hQpK8%)Der{Ck?jF?SLS*j5{%?$tUzqk;Ym1A{z&N`va?-WC zB-@a4;g^*v2INrdTs78bVA9a|Fl#zBfzRI>P!Y5RS-L<2uvM?ns3g>^D-)EXk<12->0A%C({M;#&19{u6cWXt_U46gpbT~w zTtO+Uc`pKxgMoN65>u8Tc2$)~0O~d`r~JFKp5ySO_*!?S@7s?THRwFXi7;Oq8j)sm z51NrFAbW~8_f-T~FfoPkE-45%T*?@{46^LnCT+=ckg(;gh2XF&^wV^stqRAbL`Fqi zQBR)8WL51)A#Y#u(j~2|Zh87mH&S$8AQ3?}wyZCCp|QU|%LySs+Oa2*eK0P5e0|eX zxBI+E*al|*HTtrRuV$DVet^kO=5-9TIoR%IopdSMmY<(@mI5G3_*UE-T=HA~HVEM8 zMe;Geke3n9+bX^iHKpIi{_z8@R{-RE_)B}#U_+p# z8>MR3bFob&HMUtxn>O$IbBDr!*Xm0ncNl9>Kxm@#YWJdL|TkJ%#t9E=)L4+ zjJ|7R5}B*IRQ1_&Dmj6?THy7JJg+D__rV|v;%B?TocZwMzE(O%W$98bEQ_0sqt1$O zwd>!(>Rs%JvB~dvtABg_%ex8 zk-nktGqxJ%`0m;1ZCJ%sMoqhWR=0MEV!?LoG$nfWdw2xoL8_51jL{9}L>WBh)ay|< z^i5H@CI>}otA|@ZhN;7d7G8RbB3}?Ut^4HUo;A?+hZ^~EoWO{&Nm_0Ol^b$#@3R=; zy*?j7CfN^{kccPz`^&jTQblkbt*^$V4=q+h{FL^YHDKJmU(FPI*%PYw1Est$J9&N+ z!43fqg?A#RH_LrLdfrX0(ta5aV_{(lg!cSaE?YK|qU}J1aMzMe@;3 z$pkgY1Ql!ydDl^764+6+EqTZGzeksMXWmz=4f(degO0ODv_@CXW_v5$zVR(Iw%tPZqUj*r%O z&cAL`m)@i)Dp~`ynQ(r1HX7eTEdvZ)b2&8{(dwQHpFfTVudYw`zIW{n<|4 zy`qTyKfOhfmFTn0H)50b%J{Gab8|zEQ<9XWU)>fR3zTPVrvNfJ?71Kcoa|TaF@=a7 z0`4#E-YQ1TlAJ)YDdV!KO^1h6_QM1PtO`=Hno-T4G&r}q^M;A=-BT&nCfq;p7)YY@ zAFr?cC@jQC22j^m@Y_$LI_3^1C;7fg;*P=_b7hj)ph}U)r#s8{5+cJ7SKBWB#~FFN z3=Dj&FPDkEJ>7It3foz_<5daBi>U`g!s#F9JnTs15lYY@`Gb;0k(GRlEW+ZM)m!Sn zdqqQYzzOfMQSkoX{kiRqIi7>vp3|ASwRYD@d_&Fp_S1-SfIqVgfP3~mn_7eYXB)4u zkydwS&8B3gI*yKmWSUqCtb4JgfX6}c{4bN6HSEXt39+c7-EZG|3-qQAM~_>!!$67( zPrAPsVycSdBlMjQ6SP4BYaz=|@<5)G^m% z;9uz4u~0iA*>ku(?@hXy#>3@S2B)p;a~LJ*=Lplx_$MTgpPJ|HhFU1Je*$!4#|MFP zX^0iy(Am$y$M%ippr8BuCd_Xn^eqZHCEc5@@AiZqE%iTw|3%x2WYU!7Vj6aP{uY>t zd2MZ%!q`_Et9bxUc@6N=nx>ixY?2DPiW!)@x?f!ue0({{8CRBDYO~GYnChqhVAYe; z+99F%ntoCE@!p@^-U{sh>PZP04Hy9|_20~&3c{RMJ9TS){fv6DG1N5~77=L}R@MRs zrmh0oBM;A3S3QjwE$yC$?~SHK?m0~9MJVa=l}OKiA{WbX2f|b4CGs-#n2sq=)6EZa4Y$J`s>%suG4T)#NI~K@qR(m!u6|B2WwHs zJH29x)PE%q+L(*)fSjmB?XWlMZ$es8)dq5^VKP)YHACa}?c0pIWHNPP!eoJETv8!w z=lj%NQ`COY0-$UHnBRch?eQ?_j8b%pZ`!VoJRI6^kvA8pYgA0JOX5flKmEn=xa+W{ zBZ5lCTLGJU(~SvFrBf=vfR;^hD!T_b_PjP)Hd=tc%1aG)LOm$(YOlsu9;60&G8!rA z7pNVct*=hZ9mb6sOT7#|Jli@xuCA!GkPDl3KOh%d*CX+bKy9dGb9GTM2e8Q7M?^L% z0F*1wW=oQFLu)Hj!CTeP@LDSpKG0Mcrw06V%QVSALn3NP=}ie_M_EC)mdI(!rPSk@ z-L>8QKZ^#arSbixde3hZ&(9nBBr&w<_I!Imr*Xps&*>;nEwzWhaUPLH_0jqAt&US_pq?TJH#a-6pJMnnMTh=^g zrb@eZ7;~)VRnL*&8TDJ0;mhZzLx-)@jVZ4LFaW&|Jh@K`!3lZULJCUTWf6pkhPE(( zniFDcw-K47{OM^Uk5WXqPvqF(4|XDaW%|(*=lmEC{I{~lfb#GMkQCpJr^*%qGpw6$ zDjStQC|W@KlunNUELuB|e$W24`aAM?p`$%=pK`c7tY7PIVDcAQ<{V?8nyTWVQU^ zRc^aKcQ1WOv&=ZPyQl#{-P%09*+gLUzY@qbVXxqNkC+Xk#cH}wU7Ih-(AZk2| zqyE};ns*y}&Mdv#Gelk7Soj=zejpUz**utkx6I`SB}BxlJ;KcdXZTDpRMO39KF^8> zOoGA7e6$4bUT<$}IT~6xZ9-b$blHCQjyxXEJ#Yr`-V}XY)b^jpcn@ppbv!-#q8^~? znKIGZ*;>6S@wTXtVCKhPK6}@D*jf9r2S0qx+7+{pE(&1(&CX z^Brp~3l-bGlLCMpZs{YZGW^Pz;1Bs9w;E4c3r_mNcb0q)+}mWI2@wtt=e8E#Wvn;L z%tucwOX~Aour-l+L_yQ6Y)o<*xkw0d9~~^(EO-I+hw0g)#WT`%Gn1JbR=*2pN?>S0)SI-4My-mm+-wvJjo9Lt}Z8Xh^7LO_Nz zCMNXyEbyPTR_~>9I-41k$=@mADzrwquL}%u_S*_j7Y(aiqfE@J7g{cO)(p@$2;Dm{ z)bRJCehy_{7;lxfwy2htr7%8DLs%6n{yIM~k0TZh#i0@nrolA4th74%Gv+Uo41hvS zH2vbIKRTE^os0k0q<*4{|I1hv8|*bvji@RI)7Sv1q^;)~;Q$y-{5~L=wXe^YG1_CW zlvxVyh3Ofx#+c4>8Zd%o*CLx($lwH*&4iZ9hDjr(Qk%@qq3~5aP;V6w6d7k%=g$&h z7{rwQ#9YAJ>c=rLq9L$vhHr9+727R?B6RkWw3%P3TnKduTL#E#rw0yKuJN++O4i+A zP{A*UN|woQ$!$jr90_8LNV&5GjnY{+Y3PjA4gN7C=f~I1@yI&J$K)`?jR+C6CQNSG zC3c~0RSEe$pLy-UD(}v?&8Icx+e1O>pc^XG;s1oQ$&Os5 z6~67iFgkoCZHJJ$iR>yE9mDe!mGs&TLQskUJ7e)LD6BU!wi7?|`B!JNGjv%bLxPA# zA(2*}*e8kIXv65llu6omiK@si;aHnnN(@YQGC=PPU7yM%Hw#PzC_H$A(lg;eElc`p z33PMQGI0NK$V+GEuuG{6FcF5X6$a{C7-9V*%#b_tIhnl?IagmwYntdYNM(G8X6WBZ zP~L8n-~?xAT!{B!2f3w=#e?`A1l?0%o$vaLt1U^a-kV`=w@!DRj(B+fs44#XKaVr| z_mgQ+)%BXHj-ohk(J!5y%~PEp5QO-e;9) zK$mtPPPkHnMtx!j(P+dn@C%}l7XkWgJ_zg0DjKb;9374IMYMcK)DqUye?yy{TQwQY zn}TfsvB$GtU|-Dy8M<}h618kDW?=ka^vVpc(D8SgEM0KuNlu#AV&n!?uLAT24gc3W z89LFgho$JF)0tliLCcMWpir!okN}{Yjpn|fLjxu-Gu;sao+u%cCT-}!2=M7fJfi8d z`uIU&cFH8N_?PeI0*Dv3-xYtwhIDjE{R$Yw`wr9#$+ZAsKQK7kVFF?qL}Ib8>Lp+T zYr-Dab7&c6ooP2)UW4gX=uo2Pr_tZkl|i$d>b&n!xdyB=c44rx*v?)))u{j*M$q%r zA)I%A0OfMMIJb2s5=MuNyv5Dt4Mp#Ri>+c-%}9c0jC!uq{jl6S3K z<1=A4^eZnfz0M-fx@f;;a=D<7(a^|mUWP0#U)3*?dgdUShQ^fW*iL3(%t>G6vhe^? z7vV4${Gg!Z0sTjB71c8T5?u$v-;1ABJTx}!ZdKV|g_oistWq3K@a)BrI~kLu)vg+v zw_rPPW^#Hb+D|oZQjWi?x!Y%HP#I!`D(8Hb#f@W!X}FoBXY_Hs>H2=CAoQIV?8mK^ zl%aE@GjelO(2kiyLC+}rJ-RwVsz|J@rWCE32ufsTPNYR>vMJm2=?)?sX!-c#9um7T zgwZ6y_{)ai@-#bUBhjN^+dA~V#L?HwO3{oMymTqzL(6>Um z#G$@{WY#`=c!8mjGU&o&5zFM_5h2wbZHY6t9hg7%m6S~cy@bz7wHFQ-y7>Z7FR3Kg z?F{pG3@?qY|H|COUYGK~Yx}Vh>ZRi)ui8NTXdk8Uewja+4T}?`Keo}TkPO(U5_oSH zpzX4Z(Z+nVS2obR2~^L}68CCnyji+`j|L`aJ|A5NGB%0h#j)GD z!vt~wlxeZtFLW9Bxc%PyBikLd#|CsDBtpoa3EGYE)s7u-HFN2(tYWWp;m&WV9nf92 zCm12i&~YlTh`oGbE_w{1p(;VT{iKd=da^-tB{lDWd~l%1Y}b~{;ih5!fRkU9j>M-+rfrF96KW~>Z_?*`mqh*|o4AC7fV*3;y|NwNzXk&Jku>@kA^ zj<|iFsE2pdHSA!ewd%Z>R2h38BycvJ|4o!3O`|h?Zr9(or7L5K`NdY+ADW|sUoUT*t}>n+(jWrrVQ!+#qS&{8fXu$~ORhmD2D zHkDO(-nH|nrtHpqmJrpwmT~*!c5?7`R-IAGpumdApsCA!qyx+-MnsdtA)FQ&dqIoF zyIdReLQA}xu6)zhg3e(;DES`QG*v3z=<0H=pG9GH))*?*4~99ZxKn~Jy+TDlcp1}& zD8(8C=kq7bnpI%6P?8r{hdh;D!=1`+ej60ud^k8JyRF>{g_OWe-2^grAypCx$J7B} zpVj5rdQ-E8969H*0fh>c^ouJmu$+iru~O|flJQN6_WgZA2Q-(yjbEeD6vY$eR0S_z zN4WKNea-m@wi5J3ve+bA<#Id-GrB()*O=w$1XsJw#&7Vh&F!<7zjXlOMi16xk>3Jr zh$u49otp=a&z?>xE||1sV|4Jgo13f#FSlCx#*A-mOMClPi$Z4Oe3}ujhEINrnvDKe zt|rO(cvPeHY+!@4c#EI2ncs2%t!UQQqs`~P+ZP^FRrv1%+vp94d{vHwg_B=z#EPQ6 zi#i%5(U`X)*|??2e~wnL`zJmfEaTzLjYJ~s^_&{Ldg*#ShtP>9_wAO~Z_wS3nAEJL z)QZ~Ax2RN#w1fA6>*xzVQ~uPMEUa6dto7><<`8$siIqB?{HZ5j?u$#`PDNQ>0}4wR zrRL~{5GBur?ZZ;nYQUe~l%S|JkZweizVG@Kfqca&$g(qXB_&2vY!$!1zIVF$ceKau z*|4W)Q>Jkf3t$f-1Inuhhve@Io`D{6cqvhf_Np6758LYBKc1b@7}sSfxVHUNzRkGK zQ6>;`tq#oA=Tpc_VYxJx1QOcz^7J}9(GzTi`ETqy^mBe$P3eLF7uWMujurN($SBA{ z8yOtJ|8Vb4hJ{E@Gj^(`J>pZVf_0(T+8WRTZ0Y1+3~WspA3r!hh&t~$J9>6H=eYVT z>U_ObM$ByE&5ZBr=XLjT?Ol4{Ita{ggYACieIy zlb6)}8&`BBEc0hJ4?K7O8@bZ;eV_cNe?3`D=_v`HK0dcW*)I*7<^jN=ezkk&z2^sI zQOEa`0Ih9hXzt$+MYfPKmuuf>*u_kD#oB{w6pP}4@X-QbvJpaHGs@L?Y2TdBbh>!@$!5Ybr{*Yp`2HlM>$+e~A0x=axZEx>{?# z_!18CoLe<16BQ}z{-xYQ#+p2@&@LNxw%0#IU0ppmqfDG6oX8QppPHfnt{zYFRo~no zwlt3%4bcCKkNQVB6CYfC!0KIXNf`F>yc)F|bnYJz zp;SPaUEMqLykPKFAxz#aznDwudoZ+kFe*nW7kNVOg#Q)kt$jHLOvwHr={O37O zFQ$a36R)$qo<}(V^Vi zElO(>fciby-#$12)Ifv?oWTNlzEN+#t|;Q@zyGMRo-8NT_U*EACwoW92}9%sDrF)3 zocs-tXC*69$CX-wPs@2O_3gZ`=;|8UFYqeeS)A$3={Thpy?y)EU7E!V_-s{IgO8R@ z-!uD6l7`>PD@6TuZ=E}vh@y(YaAHd5qpr2LOaCaHm7VV$4;Ads9Fe;YBAa#tfYJ~9 zr?xPyX7f4wcaiIOqI`?_lRM_YO=L>KZOQvL^c)&)IDektbSu$MX{N5O0JA(KVZQ@= z2d4?DXNoFdK~o4j`y}-+^#Wvf2!FWHHfQfGl53PN*JMe`Z%oyYo>P1M$GyQ>yB9CI z4}7)o@qe+B@(diC{I(idM~R<@rE{lDLO;muQ6)|1*_5w_?0!I43<2Y4b&Z~CeG46* zubIyOE5HXK^p%d6t_g7WjvPB~ZS3y9CvdCi!?=&hU^S)J_?6R{qji9mtQhLs4_jdt z$$eEQlWbZM+Olw#16T+} z$F=3wpr*{h&{|8vlb954WFKj=Pn>d6JjWF0xP=d4G96y6W4D_MBL1D3NkK3dc+Nha zm*cAskWzYLh%2063;A&%Q&UYC8v>|3jd>HZ&6KXKt@W)PSBFgZnymr!tn0jobjUiV z)An}I35D-*M%kdzD{^pf@P}E+_7}ObWp^YsBy{=&%RgVT>w|pEpPd~lK#xl3h$=4$IT3^tV234sS+&xu;yv~$ z3JOYobu(yMEk?Ub{D_;Vi&-`_#?FNI`dw|1_*!%8)*%MDEHKQ+loKL>LTBa@y0>weG#h>GNtIt0h9tZH5kXMKIai3 zzYHskG(W@+l~mJFsU`E zu7JeS39K&rfrM1mDTPH+AcNzIxvl7Q;64JZD!GwY)I7%R*Y;LIV5{jwQjZQC4=?k_gk6Je zxWnjerD+*qv0q}VD=w`0llx1G*x50frNc9W`U!A+P_8wR~Jut}jrt2!eeyHq<?6pNtnN1ytl9!jq73g+X+fgl zzxrRY{}j;xDi)vd1i$%^Cr99zvGV$dNn@(aIDRmEl9u)*7VW1Cq&U&hW0TGiR-DV3 zQNf?&jybep^y-jKYy;axR6Z!xwA=s!tm5LJb{8P{S*=R7uFlqwB}(e?tufQ~x0e}_NES9iIOBFrEaq=U8a+z33}OdElre*lc+52hIXgR`(4o zDP^u=zqq^vfr2-QG;BAeNs}fk!rRs>DFPr=5<3oUlt{AN4o`uX#;W4HZ9wm#0>1nj z@Qb3V(Uuvs0AGvG1H`L5AnV2~!HQZML=DK|z~H2Sc;z%BkcO5sdH|^HU2gEr*0Ot1 zT6kTLEU8HYTS_4ry~niG<^kcNpT3R6>?-$l7(SKnK2*y&KdH)5Ra4}P=Em%CPxvUw z={IvaXBW1ikQhx1#gx5za7_jAG*kl&&bo_Zcd;SC`Dk+_Qpk{AVEV^}LiFr}n&&1e zzo`-0ux8b^VY69t@82;`lT?RycW$O=ynw`b!w}bPlyw2?6mpc6;ii!Uv1)STTQZZ~ zX0aUe@;|i_4LTZ7Z1g8A_qAKK=9ufOuq<0JyIobHc%77~0i&;V)2uTccf1PgL_2LZ z`aNnr(ZW_VnpQ9x9M=nz-7w%KLVC6DTt~dMT?xLTJC61v;kwbvk-Wg$GXUe6(*fCF zFj6t!Q(x|AngOw9*i>p4_^us+SGViSAVSl&qHt}H)L-&3ANPqPXg{Nmnl*f@r~kXbix)=+nQCz$(y_+E=s?ds8`AbX=bHUrJo zLUdZNH8#++Af?J-$&<6e2T>Z?WX6b}l*kqlNfB@)T+R|_=Xa>@hoy~2C#8$8O0H;| z5kuve+diPt9O^Ks1H1kn=e5EIL@YWz5gZo+VadB7^f7CKM8o((a16%|8f?a*L0=&F zdfRN6u80G7FUogZGJp&niHv#w3^q~#rv_|u;~|IqCw~}Uhe0R zb9(~HE!Cz=9I@cC`-Mt@XVv(^mL+MGMRD5+z*{o7bLvkrnP*Z>$wjy)?^aL7jMG|>**wgsS7sij?*PlY~yLi&%QJ>sJ2>R ztQ7N$FtM1c5o-iOA;IllT-$DiOv4?f!JD%~~9Cr;M- z;}kNXv6ScDny@3_`_pf)T+@4^ns`EU%wWVp%vfi9ygK1}vDrVtGm($=mhx60pa56Q z*<7CqZ~O^%HGDiP5Sy9wug9JCL%S#+iygDbOKg>tCB7bNygZVuWi4ZVq~KjI#M_-q zhh`v5CHMGB#f9&lwb+A<5%-)>JQWeBZT)_rDVD4@8DnCjrr^h5H;i(*+ zeV?4pSTjsgI@(z~tNPV-=W^7+ZV~lwj#6uDM{`K9 zm{x+~zMAs}P}9de!#KfeI-;_Wp~ssR4+^-fmD~e?E|ca)Pt}!i??dlz$~En+A^XRa zRy=-uWm62OK%DLHoVn+>1WlQF)dT_Hl8%mf_uE^F0MPngQClB$_vmy@>HNq_rt^2gko+=g%>sNaL16*4&EOXTxti>(`jRcwx z8+J0fEG#FLE;qhe$USi-|Csl%a!@+@)$@p_O?-AwZE{vV;%{)R`B@WC#fdsiI}hmK zy4t!$nVYh1Du}vY1lH&XP7+`UKFR+&cCYL`3ZTdGsve z%tw216DW+-0sV}7W->AW+vV`cOsPHm*!_R#mj$k}xt>nvpbn+aZS7Ihl)2L5rRBB9 zqWYxAkKZabTZ!D*_LR099gaGk@P!Y@P$kLpPYVmH-zp;J+@%+uky|Q{*T0ErjRM1V z^G}~CbjY6n9e*rT)+=sJ=5B9od5xGEn9@sCM`TrRm~I^OB(ITji?>O`q*8JJ2(Qn{ zAxQ}Nkkj%CJlpulzP{V`kFLPp+=AwgaR0~<06+9m(<2^sg^$Y)KLGBmTYKEvb+&j` z{C6IzN3Hgxj^BGc{CM~z@>AP_XVZxb#E2ncA>y=uTC6j|#Wb-2IXes&zx-gtiU?5y?Xu+mZt06~97U6%orSC7iC zCQv8#!=Qo!Y2*GrXaAOLt<6(yKIr2lX_q8Z$cqNPE}Q@u=5*nFY54qKTI7*;6M0)Y zO-!tXYMQ}z<5{!P=}V`POSRP*B~`(rl`QUs)dp)-Bft&?brcmv;WAX(3#$XLDm_)tlF3f+7#! zY~Av#tEpT)UGi<6dnfd5f5~3qP+tyj`#W!Cv}AX@=Z9; zW&qK7vu3MWl&A1?ulL#fyfqLD1x1I{ns=ko(!hWy!{4UhU7e6m!-?Dr9pMo>zc+Vois=sz6aH?`FKm{Gj=@>#h-}wx$KRsR4cdu>AfiYkUS!qy^L<06Yc&m<5}ucUS(8{(lXnwP8fR4 zE`Pq~lJ4I$Qw&vIPY_-CXmvl){PG_xvomhQB+_>N;Do$oGb(xUd)H9c#NjrbLwnU) z@)7%84dYCR9T@qRC{xq%&1ehA9ViH9n1EzJt5v8SP;&8N(a&>y%4N6hb=z0u(XZpk z-?o@eaZQqu=t(gPjBydTFVb|Q6gD*683WI})6OFVRREdvunC9!iKdU4k zMW@NxV5eo-mG0Spup0}L0Y+~UX%+VpP!b=wc?5l7rd-?HYrg!4Ov(e=8Dj_fX44>0 zG)P-r#TXkK^1BsM!ut+-*8piFq6ETM0kjo}R55U%hK?OZ3^wP>w7a|xvr<#yheg8i zm}IK677hjRi3~)^><9lg#73u#GsNndxZvj7BNCGI#Yp(l`JeSx?b zedy?TU2~YK+(l+28c8h6ym6`0h;9j8fmLQJ6B83NO}86AtrCr`r+O{T(J}KaAsa$9 zpa9nEN!{{SOMDsync=pp-_szzqCJfP4+`SchG9TdkIMDa=hNro9rdZZ$>^p5wDELc zam`<9C1@FN{GxdlVBf*SPv#=-Mtspz*?u?v75|rML>rA}vb09_^MQF_^YqH-G33wS zy~^s(0nl_5$`bA;S|vO+IEP|f6A|f55m6GEPI7juY8d=G%*|*mI^{%tn30S|KN~m8BJH4a+Qoe)+20YPavk8Jn0W6cj(Gjb9 z?J~2xtitS_7`7yCGQ$^Jtx=!h>>2a9#yT)yXd)q$+>-kwQ{QQ0`guX(2Ny1gOyZY4 z1!)CUvXZaUvX<l-OCTi*kfPq;V7Vwkj6Z87^qmBnSoL)MK;yrvu(=f%9= ziRqKD9u#sQ&o7VY^CKvJl!MDwz0+|r8$AX=rBqjr{QmOiAH5CwHgV@{wYvLz+8xWd zBnAU6%EqkOb(nIqFcUrMVQtS8ir{r0Gje9!mC5Fh!3 zV@SZj*8scgco(V+&OrGhpdk#`|CB7Wi6?-8NvPWyhDaOj=It=M*LS}{2PYwM@2{^& zW^orzFlHDec_aHnyb6tG*|P^TQT(*ZHl${LM;lg$`kK!YLfrsssdLhtAByelu`H`M z)f9f8c@3&9I*+hxo3wO$7--;20{yafXw!%@$;wz*-p zHp-aJZk(V7Z?5fA(Z}ovT#8=+(kH*vYOFT%UflI!KT%y)WrJwMOL3YT@tH>>+j)1u zF3Uy$-6(OO9GIt)0$|aXD=LM&tYOXKOv!%PI;>w?D%%Y`sE)4w(a~+205x)rQaZW{E zhkg%Rbh5t$iHz6d)ZjmhEWaqM{7Ma%duHipczeJJd z?#n9BY`#ltlyLZyp&O~YRB<5<{6q`7Gp=D2D1^~P`*3IUIXe+<(g3=2I1vIAtH$!t zotQh(kQ(6kdnX#=hazs4@$pXW&RV`vHPGs9cLxOOl?6h*y2x9XY$nYCE1m9m?omRI z8;UMkz-cYQ#AG%X<2NqZ>m|&pg2fn3eAk3MFRx$AZMJvocW%fRGfnQXo!1=)VRS?h zy)K-olU*Z#!HZ6E5^VUoAMpsVy4M!{H%d3YRU3;UsF*_-9+r3YyMSb`*ad&^U8$}OI~1of+M$cE8qgyax?nIko3 zkh@N;1ky0pURjDEvL`XH^1V~FjfLp~WxUHaw2P&cU6R@=D$D|Jb~P^3s3r;YL^NH} zb4A=NLGo0U_pvd&kEt>=yGo-oU^!y3LHHK?V%%0iNkL8r4s7z(uEwBLnNJk3v;u@1 z-x@tGW3jTk(vKBXJzZNL7S!mQp3EiqC<&@Oy1}GO8Ypm8*x;`bB~9WdWVxGP4{B&B z->gW*L7TQ~eEWFK8v?8+7`5q|?QK?JtC8G6mk9gooA1HVMuCe767!1kKYq-+QSvS9 z8Vuh#4qQ1b@RwEAChR|;Y*cDzb(JPnOt%0hRvpl_=d2u||5r!Lb;~pc zjhRv!w+e#AALFFzbyf?66W$fltC#{OTG{?G{#;V(TQ?aj_v}8tbjIt@4&%6c5sdq= zJ8$wd_mIqo!`9zfz8eh^mwQ%(De@6@fRM7>lKfc;hPqz5%yo$a*^I#MNs}3DwGjYa z|F&JjJMJEs_MZ0l%=FA;S~_s%_;Ma^9UQFh<8u-syc+Ox^t4MmTwik&JeBm{)Lu-7 z`&pZqO_>?JT`hC_xV38Yr2edDo7x$oaL^UVeSq*Nlh<|dqdxy?Jgbj8-C8{;-DrVn zWcLogHTF>0dwEwu@51vxS6itzFBzhLTI11k9zpp1)A7eeQ>kHxz}bAEL+ZJ{DKIx; zC317ZCh8nujC4^b0V_kk}yJJs-p*6Ta$?} zx39@ZoiFEssfUj9v!0ptw5Xjo=lf!3Ln|vK1qFIa`U#M;osF6%>PT<+bU>3#(}^dq zon6NH->ImR!;Z6i4nM%-6GPNu9y=s;>LLKIh3Rb~fJ zh`bMPK=U-VTS7h}IwOt~8viJTdR;F^SN#?(hy?1n0I>DIRn3DFa$qFHDI44O27$*a zJPU}N-fWHQU5MzY#~(}$&#rGpbRd!%XT-~td6|jr^WnQEo76mQvRe4R?^cn4;b$GS z^Kp6{l@LPN!6!eeFJjM;wBo%8&1m;8h&XY|CivLn+q!1t(X^xSnTT%T)W%6sAkTAv zI9u!f9rxIlwzCpsH;-uVe8QP1xlX2bL>`T_k_7h8+uO}Mpo1t|&m4IX;s1X17lf7E zW44R@<&RiB{kp;`v{aKf_d_l0?3B!UG8Hnwh7aH03Yj$0*2s4n)y!=w3cgG7K9qLo zzQP8CsVIuA8j@z!FqnSyBk)Zerzm>Fd0yF6nzMEePsf1>z_;M*g-iV)1jp>#tI^K` z1M-wtQ2DB%3zf&pgBz_ubo<#0TizF|J?E=As~oXgTi(Vm0zTSXuh#QRa%})A0^l6W zS*fG=$7i$}cuDgW5VB9Ve9jhtWM*u{*OJx1{e%4n$*hY_q$h0O{9#I?2Cx-~6NKt` z$KdW;Mpz_mXMcahU^wjfXxsODSNQJj@+-Opn)5-VY&lkmzO}WgT8Go(eY4g%6+}S+ z;z!_F!5Jm;V_R4E$FO!AsjaPfi4mn%%B#ZrU&}@R7smoLobI#rt*wKx(?0-JX)3Fm zw&`>2%kPuN-Q*S=;%?4aUjglSHR9jlS?$@;k~IG4cnlvxTi+1P$^txLXR8B~Z=`PC z^*2b^+1W9)@!hKlC-N(BK>M;9K+owM!n zk&(N;XZt=8RB~(W>TaJ=#LndAs&7C*2l<9Q{&Y*`RpWi5^_l2#d)tV;#U<%y)DdNa z$RujAhB*%C*E;*p2+^&a z=g=L#=|ycs9E}$njq*i4^?RmRl@}tpzG3N;T(LfjPJe=}ydF=*G_ zJz9O~Llt#|m0mYZkV^GF8|i42vddn7TM+qQ^4uTAk}Gn>4KI#Y7v`q7cBR#eJml%VNr=3mWlk<39MG#Bun0-F2-qa_`sU<|l?mHXGYO#*5fdMe=fa z*LYHbmNqi1ZXp5HSq@#%K)-pSC>mX$8r-P{XEZ&E0}`Ys-sQHTzlO+LU$OEI|K_;b z2@yY}S2z5aD7ACR&KJ#GbYz2566a+x>4yv$m=>mKi{T#&OiI{z-xAT~i(MW_kDVlutX<+ZGJ7M{6`c=9yoAFJw?y8N|f-2CPVHT?CYGP66!IYU2jkKAbmf`4RySKi6?()}-x zSB`&P73Mv0kuE^w77UA|%tDP-N>H*{P##JqSC)J7A;G;=eI#q>;IU$i^8R^s#{Z1d zy>VW)tNfo@Jd^jqkp3?)UnIP*&(mUT9d}xvXw}UsyIs4=ISw*a;^(6OJ16(|S$Bbk07|EVb@98A zGoSADV*SlZj$VjL>@Um(*Uy6VP>ib3@XYnM&QF2qj!x1bl#QJmopjq-9HxX$v=O+J zrD3x&9Q>%ND*7`|UqxS$NWR7|+m#1UVG-tv68-pC5bGs316?p&oAP7;ctk7}E4uYT z$7)gDkjARv?uu6MVyyGX!=xVuj%vr?CLlZV$9fw)v%F}g~x$@~b>?N~wmG?E72e==G&P%SsE)3dg2+>i(N83uUW$}Vcte{KC zRgEaPFsez}+N-#OMrW<;!tXyrXy>6((b=GrgS!qec zCNu^8dfJ@p+Ol)M#;Vb#a*%*kkGk{_ zg~~4XRi(GOyRxhsc$l~C`=LpJkVIvUOQpg}lXTJ)+?yt5L;B;(4)7k8?dw#5vJZJG ztNPl=L4o^AyzUJdZlAG5Qw07i;fQB;3SLjl3r)C%^-XmLAjP=x3`=B&H}6&u?^}K` zXMbq!3kG?U`TdnIzW$0?VOl7^K}R5rFbmO25_n4OQW~{>=r0oG-NAQY_i%di$tw`Q zF;XovFrI^rIj$y#fu0k3=*;XlJn*fCRkl(1HoVv(3ZnTVDAdyYtSc(e_IJ`GgKkTW zY_yn`mQl#}ASgjz-|Bm6x-GL^d9?{qXw*~>NYbqoMaAoqzrANn*3qK-+gN7P6l)Bo zQ@=#me9vE?Y*Pr1i%j}7`6lU`>w zl(WOxBra$jlf1Lbc|8lDD9HjXt@T86VBtYI%^6{HlnEJ=l^>mK#d1h&bO1A(vl51M z<4S$ahKvD};5nzb=C%Eb4f299TkUJ@{}<3I&X3r;-!nW6({{T7J*ZHk##f3<$!4bTiVZbj?PKCP+Ki4s7sS@EWgph0%zzX$Hah# zKMm7Ajd7z3Sdc6QCw>}ViPQ0Nz5-&5YT#j@gSkmvh8r+&zc>&2`B5(RK0{W(*2gI! z{$U_q4PV3hFVG8Wm0*tDoVXMW-T~eZi+GHXeXqCqQG8)xQuN>fihMOCN@D2 z)-O330(1#b0>&u?;QpdUUjw8Gdd4WlSrsJ%Q{?L$MiVBpIcntuvKSQuv`%|iv%ycD zNXNEm>Y^Z`xaP08|weWUmz-8 ztYpxV@SIJHA0@7THGs|-@r5oeX`BGj#som&>4I#)6#Ow(q}asc9I`P=F$6+@=y)~p zr)mh5>IOTz8JvrUi)skrKKkmWS(o@4!ZVVzM&Y=4K=-rvnvzFn3W8tDu}0NRBrpiO zB)eyD$EAS**Vt32I^kobILL1>J)!kgfRGl>oK7*rg+X>!LBZYM+y$!#UsWzd)u5?< z`lcX3V~F!Il#L0B9kDUMIO+5D%KHx{SH%yr>gafK-sXSoYIz(j`x#owP$JhTB3Rtm zv+2lJHUKSV#KG{MAl7@}uh!E|z@t5uy$L^Ccq2qj)PSEqif9EA&=!cn28`yk$r}_W`TzsAWcNrLAluZ<`L(g+cY;#sevsK2$&bQn~CE z=iIV%Idy>|fM~B5gKHt?VgjVB*`PwB_piJI!25sMo}34P5Xw4i?*jk!T0a22#{jsS zQ0d{^_%FTDJ1X`*gQ#O&OvPV)q}nj*w1|0O%$5Na6oAIs7zjUi@c2f< zJFj9*#i6T@njM97*aSGv3nCdW`B2eZ?PjQfKB%)X-Rp51sKoi$^9v%52LuHr&YeH)AauFSEzE+okTfX5yrLAB4{M zs=*|t->eOJJ={#M1z^CCPg9*_b+T+xgY=)UY%kit@wK+3;q`XcGzh(bjTcgU*w!*| z>KoBoUEguB2VR=`HgI(Mn$1Y5yIJlpE8e7jIX)AQSmZ5sx@Bk*Eee!Y%zAq@acYMl zCqNfiWyvi>h_kLjhUqA)i4N2jNKN0)Y>|zR2k{21I}hX-%c;i$Fn(vp+T>;;{JzZ! z%3nX1!y^y?&pAIBjD4Ws6=oM8l}A=wevCuwm!_V0XlYw;3pLC|>pX3@AMTYWljpV+ z@94e0BvD#9_|Umb*@NBQS@@*lMGDk>zK0t(Gl37Vt zemM>+gC_Cr9@Gifrm;Hd_R4Ir80L9ez`!1N9fqxhUj07UQq1U7v4*3sxW^}*#|FN7 z+JQAs%3^hC#VXQ(8RmG%2q>_j=@>M184kbcNLM>!wY-DBF;9DD-F(#tV<7IWOx=t!Xh2H z%eTk-j(`8|fp2!!=DCOqMja4f413f!wA>!xCAcCX9%VY}mi49+05(uHhGH6{a|IsX zOdBV$@6u?R*dF-<$yni>viw)99lj`l3H)!;?TxgXsKhr8B#H;VTF6Im%pKv{?VE7F z0#^&(`L(z6=P2@HnYTg?xmQvDzbU-6bjD;}2b!0_Wpp$6b}MBbo1g#hmm6ZL@fZ(($we7<-RS?=lX$MzYGbRBEKaw4m%7KGoGmt7~f;`vdDcJL8_s_L7;C@>9vw zokXLve`9AO{&4C@ZRBpj+1Q!tUT@#;ihB9HsSetfQup!5%2GMv_*mMtF?e7YdcD|r znC5!~{9FWut6NMvRsiiy0lHfP&1t7&kq5;_YI%h!;~@*SywTT`gEGWj5SItJQ70!` zQp>23-2G$ghg0*XTN~5!owK|Lc8CMb=g+?@Q?klM35qlb=&7EQaaPanG2lK3>E5J9 zs57h{EsyU^zR4$(edfEmCkPxSKDAr(4)gEcAx?geMTE4r9h0XWd=5HlyH97SD%z); zJ`T^~PItn(a>o|GP0w9lVJ3~N%&e~g*^+I~?d?XcH_`>2!9mS4KFtbG&JY zp*Hp4{q-qYujUj{TJ6NW*_Og$hio9<%%15GPg)uoA#c)FeIZ*u6hJ(&oNfg^16%my zsNR3SLugBUkpKv|pUX`Y@LKFdJd2D}N}&Sq4gYa(MWFuNq5E`eQ|3n4O5W@%$YET> zWfRtRJP;g9u0L=?PzM^h#sHho0p;w}k_!9&jF5n-DjT*_dgak%#i>KahwfHI{)-!F z0YE{kn;nNszFz>ETUkYup<~S`dp`2u}nMZ&E)NB&vz}(zHHS~0cN(q4Krccz_j~H4cdO)b*N_k^W zqlX>1W)aMXciVxXw5^co&719;uB}7$Pdn@e3g4Ln8*A8?;vvz^PT{CBbl&mF$?9p{ zW;s+&clz*?f4e=R-L}?6;Y+@6Lisae70!9-0q4d*AfG} zCXbYqA%H}>zyG8rxuY#uw;~3bU!4Vw#S#DzY=K%EB+jq(j%xUUlUhM{@L?{TRu#El zd%7ciwg{Y#4K+p)v^Uac>$MT38MHp>h~wpLQ}o_}Z>z0h_rH~~IKS_F2Z0KqXWrD2 zDj+%7H}HF4bAR*q@84WN{Ovx#Sf=)Ft*(!76@-U1*Z?$MK0rD@qE@70QfD<&D^KW-f&_8cc3z$pk-CNx>pWhcN^_(5*H@dnQMDZb3 zC4Mtt+Mjs~5Cjt(r#JCHn(7TA!sJeK?o@$VB%5aN;eq4ym7GaH(>PgiE3hd>LJdgR zf_L&&+~#F@?f>h2w`9qK_DMEc2l}^Xk9oQbw@S~4(K>vLICt-_i2{hDlT|6Lkln4> zkh8eRy^C+8h}enMlhcF!!z9UIXf5xnYJ{D6#w=uoY~&Y%wu4_l?xf+L=_ z-~sv%zDoi-Z{HP8J24+@^Om6dBJ6Y6JO7WSWT`}|+%{Oc23jkU52;GidRy&gZZ}iu zKRe^vVkMn*3BB?8Lk}IY56=yNub11agUhO|; z{_B|r2xcD#d|N~i`kez1HB?h+ZRRr_E`1NokH7AJ?n(0>cE&m(6Oa924xn9S15^DB zuZipyr66*zUG{~^k0JHS9btQair2;*R4cGuAwm0_Lzdl#_ap06?dEOm$oOs*1YAMq zaFU;4(8Kh2#i>orx})*{-+)v?=V8RtGorm)C+UZUO>$99kBlrt@i?kXQ`K?b()~v3 z>rQI2e#tO{Nmc=Y1FGGff~iE;+%jG{Xali?J)`j0zpyD0o++z>VIZ$I3lAJMassPgd5r%Hupf;_)>bA+UlhY%2*pIriyY_o^Xzgocr6s=5%sQlXDV-nbHu zvO=w*FbZuL*64e}v56d|3el++_zIJXCFLQTJW~xiugiRX7V)~-FLL00;NgCByDgIQ zLNRN73}9zaH&~B1MM6C&U$UY4!WqTBsZA+xZnpt<9cYiY#m4NRAF8COb!dtSe8BQh zUFO62_wKo4ZiUwu<&P^BM{g=!dU4OARD3Nrp-H4DeZu!wxt~}YYoWp`2nM!ablw17 zO8=y@;5OIn!wuWZljFfz{!&nD%0`*F1=s(^EGUbOx5xfDrH>s!3)wr6Ybdz_g`x8v z3eRY#zA^+*5B?4Soo&{Q(XxTw{*`na9uzJr*efHm>!fCB!)IQYfDyjyMJoOb$_^L= zD$!pnl*=<0Pt4w-;Dj%HY!#PM;u3^41gE`GwJG1*4+7_#yS+% z_O*mi!`H!VmAQ${d68PpEc|9kSAF-m^D_tY%b=RdO4~t}6~LA>s161ljY(hs`CMAZ zOc(V%-7`!($`qSK{BX@<2W>aqJb~150!LX*U5k(5xCcB(&O!ogWw9e`{T}RsoD2dS zF&dx1^cwWCeIAgE*7k#vYjRiL3!~Gj1FYbCnMv$gOVz0M<>(wogav_sVdA1xg{WOZ z4kD@)kK+)VabaKnpX1*H?RO5R*h?=#FRi>@$Yl9{t65?Rzc?x^NY7rR!ATco=09o@ zbM2;t`V)>D5*GZrB|y3Rb6)h^x z2L807TL@l^nnkaC#nP>RCb0NVj_cQo6o{4zQK^6>VdKf*>l`45)z-7}L4*MWkXjz` zn}Pbr4Fojk#{tJ5U_&cQFXEH|m(X1UMMsIDF%~7a<@g!tnI_WC3anGk%9bV5wV47q zS(Q(jU;p~>h~bf|RIIjqI*LKJ1QYdGN}wd$3Hdr;d-P`2w- z0NEB(xFO8Npk4~8!_b3rftDN73BZY;CR1t!SXGjN7@36D1<*bIdq7Gi3IKUsgW`tk zcb%G0TEo>G8Mf+HUV(oa8NpfA$-8Y&ox_8#XN(}~rFPj=#1DMrB zcpubi?VeV4GtAu1U{XH$9MfkR#v!%~nf?REVwq0Pl6Al6D?#Zrs`k&GQbOg)_ zmwBB=>p4>3w=@Ug8fK&5Xm@&pXoyBqn;4FxaGd8_85V_=kJd0QVPiBthsupsoRua% zy6l;b@mL%@afO)@A!}8$S-b&BE^B$&$cVK zq`)AypN#YeSGVc^o&WMkN9LsfN~o$`T<_};O+~@~muuzox({2&=V;He;=8jyW|RC7 z_>q>aX8crORNaS%tY+`u$4?zK>L_1Hw$Ft5d4e@U6SxH(1lnt)IP0kQ=CfMH*?n!d(glHSPS0H~hlSOfH; zqd^GcKOA)6tRyk))nzB+G~L{Cj$8C%LfT?trH|MCgml$xBs@@qr}8oC*E_!qIzca-93i;8iG6{0O(w+#y7AQ9lHkrj$BKTs zd87ObDxnUAc_0}3OWyhhKeP(IQ@7EkK4~^mxt$?FPyb#wL$Id^^yQ~apmh=Ii|~8Q z+XHu#<~bG0I@T2EkrQ;Md%O^>C$mBDsCxZiU56Q({FYw%&Rs7aOQgx5{C-a;-=cDV zev_C>8yH%jxjsuFY}L%i@(RDa7wWE|Km-^ePR7U^H)@k$NLT<&CoBDc%-ZuLSqffX zhXT@#j#^)H%f3=N(4%QhH5Mc5?gP0LO3izjy62m0&=Tc7SXtY$Ew!@7GxWpLz#25y z+_WG_EYS378cIu-kPC4hoe6ORFiA3UbQsJ%p;yXpOaVi5PEJ-Lr%C+NmC6zF>gwvV zo1!4kb;1l2=voCPQPCm|*d&=}Oo+!oOb3Ob6S1W`89rX$nB>K)7-AUDVJb?N;?`IS zRK2-2<&#pa&dGu~q@Zgk){JI+iDazA+B=0WPvp~3#$VGM%r9~1LOlb;G_(Z2(G%K= zJXW37UH!taP6@Eq7DGTM+`%HnF1lrN=(rAROC;-*_8@8}Q)Y|aH&6V4;Wzh*y_YOOWTA40_{(g<`_DL! z*QV;26J|S;EnqyK$CwVn>nO>xs zdtvC16-kY3;-&5z`gX#SW_MuX(IvyiUkZ(!_gaX$#~_$->a`1Erp&O<@)xE4G>u24 z%VnY-zU^mSd!JFmY48&hYf_=XE8j6Yt!`+X$QqA9IX%Jr_c?vWLo{jD2AIrTm(y?^ zygcm8OqSS5-=; zaR>97`=^`IFNGKe07(DkVxB*l1Tt zN9?>EyQ!us4J+RMFf4OmJE5Ag`wbC#@)L+s?ab`nm$p}pJpH4$VmBX{*m9iMeFUVw z$kLsY3^IE(U}H!H%C%@RqxGMLlzf~sxeCt0+SKNQ{JtCQ%0M&(7Ewa|Rfl{vYCp)f z_(WO@>WbX*r1}n7&Rs0Q_kBkfq-JeM` z0#Gc8jg7^@x$^L;@Rbek`TeCo`ed`)F91X4s~+U_i#FHGlZ&Q2>3B!SEV}eLpeRd?eIe6Wz%)>S9f2@}i_ZdnM zxh^vFc<%NrVCfJu=pa99-6;32MICL6z5!fYyQ@<&Ycz=S!iwkd&++XY_nEl1g7T%} zw-?>kr1KGWN(O)W@z*KO-lozE!#)$6FHIXxR)h0Z+m4Qn5DvIp_O*>F>LzW}J?NP~ zKv7;|@8zA?r+JgcoYRM@NRZevSQ7Au_gCc?E8z`6gf0sx}Kq zz1f&fN|8bUhfryAV)>X_-nm1~kL{$WSF}3vmJ<2Y!dXZh;3@kDb>CPk`SOg4CvAa0 z9&9b|9qj@q*~xVG>7T|m*l!9xGWNs3uQGJRcA^7q%7J!5rF2A|lv_e4yb(Wa=bz8> z7TEqfICMBWWr;lcJ%%`&s*QXW7Sd^@;1G7)7gtqvm}Tk4#RcSK?dSJ<|NUJYFE6kK z-}3#?bv%Ez+3gcf8?l_1B&|dqZJZg0ZX}(YvRIxSAx_Uus1ILGY#w%>(J18}fU68p zSC^*)O=(7FlfWC3r}xL_X}ysr(~&fQ&Jz&f7vcY`ozelM_E!9-E_Wo~^0nYA;C+|> z?rfn7hz1=fyjM{}(3O_KqbevZOO);iz#O$Q6?YwHo8WuA71DiO{gZnfKfs1tiYcn` zIcQZn1QPV-=dBliT*d6}zNHTfisaL*Twlp!ApvNwP|eka^~bw3mz*A{t*{L~d(}?m za0nfxg+!y3;VgUODN;c}w2!JbHws$Nrjch`2S6bl02=m5MjwQq)jEVX7nE&`M9c?p z>>iM>fXF=yqSO+wbMhOihjQh{RddZ@}-zZ^XJiTo-0mF$z0JeNk%vFFzC@W>W zz8raUFtX`Ns5V-@O|Kk8rh$h2hS_%f1 zF?uB+-XWY;Rv?@Z5pe8?T>|6{#KU*hm2Zm=23}6~4fe|?JKFH#l6`7wfN<)sc@=cysfnG>Iutp}eO}tZz+pYlsWLqx1H8eC*gz?D*|H zoov@FtF@~d@!c`ALcieO(eW-HLO7Y-_hUiFM#a1#blYiM<)VqJr+z>u)(Jmni;O~(9C;SY@-Pj}O6otwYvmd1 zY9;RJ?#8e`q%?g|JM-wA8grBgC)__YZmijfUvA!$)n=3%9!k!e;>+wZEK^QOv_i`M(G?@*#l<--Me;6*!m6#3?vkJ2Z z1E3mp$~InJbdJAHDmJv$&1-C=PH6cIl`DdBmtL?cY?MYNk)-q|7nkGjmD%-!OB;SA zFFWD1OUoR8V!WJpIS6)Z;`35jRPQ&)Df3c{I3RGu%}D`q`{}ERI_xoDtV2mRaikSN z=E>6&MWe<^9pnJ)!6;Dn!`Tz<^zJUh0+XEQlw=kG@)|k!-sbd6(eR`T_0K4aA{ZudtIhiL9@cjFC!RGCa6_xvx2S=Pz+Pbk%iT$Lry0? zOL*~sjtx}_mgD+*lKN{2!bL}^ol}7db%ti zg@BoSc?q`2t|tTTpd@It#b{d{pU^ce<;OthC7KaL&-7lMj+k-FivyMKocl6>8JmVo zoGJpdINt|xj>7!K4X?*?I7(p z0+7(eI+(pyf-h9^6F+^t;6<+Uyt*cFM~SS0^a9sb&pmw+%kpE1LsQC{HT8>iFI-Fz zcO_lL?20GQK-Gr9?!5R6z@JN)<*O?z^(xMRlB|JGAxf9l18}7T1f`rZ8f>VuP_Juj z00i5Qz?9A(i^(*Q5Cf{G#GM}uh|vq`?wspQ(6wSUx$03`-SB}UIx5~|*0UI+@+ZpQ zFdzZ$CYA1=Ijog!IuW0fNDRp?N67{_ayp8Y%9Qu?d1`1$%|M)!l?eRerF$>#X2L@O z(Gt#Yg&aiYU>gNv1rxP5-rb7E0_`+wLV^MpK+38ta$ed*_fhsm$zg!OL$A*E)rQ*z zqc|M(A>zX|(^mnj9M{y@hy>4#>fO{}$cYCwd&a6bBLT)KmEfCSo*IpcDOve>#$*cg zDfNI#;?Mg-wLtVl74f2kM+;`M>GW*4=5diMtrF(e4}KQh8OS7I59SpW5kfgas!fV?uRo;bY6Fd8p#n|| zaN(sV7hVVO)18mw;LgHItW{5-gyLAsz`6`F&$@PNtgBImyUOXh*rkDOSg_nHYdV~T z*CRt%lCw`UCuj2Db=nEP zcVqi&?vk-0*`tBPSzPkE@nGD>+O0{1Ed}u2fdjGU8r_}!Q+AaNm!2f=6X6?r6~ivM z7daJ2mEB@5@$y(ej3odrweyDfh~MlLY{GaM`k`q>I(JO!igEkJ%NIHAlK!)HP)Z(u z#USDJt~s9Ryy*bkjrA+QW6p6N7RbncAaE~#;?&g?N=Xu>_e!p}N#(F9z9GhM@ae^h zuR_a?;q_(``jD*VOC$_R3Vj~d5)*8D>_+x)`(_d9z=*-~IT_NkYW@@q+|1$DZE7|k zgQAGDp;Zc=xPSq7-MY(;NSL*Y2Et;ncDDI20$Wawm}UugmC9)*#$^N32WVfPQ!EJ9 zk3y1~bbobSeBsDzI=bnU7H}a7HRvc-ot$3|E&J7ZKdPs6xg+0rJ7?slk~<$xU*NB3WFZiYqTia%4K?{>2ifz^Z_Di-w~2m26TI)4~b z5)XdOn!^p$DOk)E#>?{D(*WX;l{<4E{idBAX}#Cu_|;djnjDVz7;RrE*IL|9T$%7R z1y-!Ssk%BneH!oE_sY(CpLx7GhuXkV+lCS>He0d7N<;I^0X)!m*l3qzD#Jb08A>@EC*2 zJy-Vyd&PrZtS1&u_>hK$^|1T@0Ujfk{S-@P+gsEvmWnFk{KN&9RCy?4d{~9VSB0Ok z48lf@1MIDK+{NQO=T`wQf;236;)`n1EvO5|FM}%vUcz5g?fNCr`~j1sc!Kbi|59tP zyXM#6W1qu$^IA+|#8BJ?nn;0uj68G%;`AfASJFCkvL*`v{FP#Q%44*RhXM` zox161`T)s4ELKwy13$cL6wp0?{qtZ4Ary2WDjhDzGWlJKYt(~Hl2JZ~kW*IkN`6E@ z+<(O1rR#i^+b8c_Q>Y0tU1JpX30vf#z>=?~Q<6QYJf=B+co@!8jxExtCgqxZbqDF2 z4#RE~kXK4~Q_4wex@Rp%wmgZ$x%I>3T92c6M z5!=`^@_j6wYf~`pJw~NX86Nu2H`u?)2B*IX@dd0p1{OI>OG|h@&6JjjqQ{75glqyZ zgrTxsoem5*J@RAMT{7-(7%tj6aS?aT6$=RWZ%|f?`1`AM{`mIz0I;dc%e&67 zJ$l_Od?UkT)6=?j1nV4M?;-x$FDTeW_Z=eSW2bV**lt`$UNCmGzN0)LPV<%tZ)b7BuXe}M>mG3&*@znC#ZhS%6{ep1%536?F)#Rn!;@0`dJNtH| z8vBTk?f7|_osj0QLa0U20@dT4atC6dLQ()&pzPn)K4~{GaSRbTen=b2@=*-xXtxif z;y**2e;fjty2xW%D;}MDuzUbS17?=tmPClx|D;t*X@~y>U&4>`Q76Sl`81!iWut<8 z><@f|mnIzjZ;s=vt4kLn`tB{*67L^-S&gk^FFQcR{8>z%!zuvzy+PrN4Re|Auy!eJFij52clMv6ruyDu*5c)o9%Son-64yOp%n5gLUxRaH>|4B~ucB%nNNU%+r$ zNy*2)Tc9+GkuEui{t?cHRJwhE@%7)6Ucf)Gb@cprp|=AN5)xO|0nf@n`B(w)+Kk(# z#d&d7Z+M0`{9B$BC1&q?28V>CqjJ`o>}vqotpI}lAG`Qy?CiJ0YW5|zhcAivsfNWw%W!==<_`PiQu`~Fuy51Z&wN@5*3miTBlUs(3B-M@?2lX zH`gj2lGxk)x5BzQt@z^LYtbL}SgIx~J@NoP2;87~dhDhxZ>=SLaI;O3h2z$kVXnj3 z_86ZnHW-Lkkx6848(fM*#Mx>d1z*$Ywf>4b=k@tAZ_D5=tL7}e8eOQf9d>dhE-ziU zykQ1i4lx?)yW6Bz3H0pk< znSuo*zV6OWc>oV>`9F0AD18fQvZrmec6ZTy54Xr0-rrAu^(Ee4TO*4cP=Wrr|Hijx z=FiC8`0%dZ9bLG{gBQ~>;^(P8558m)wpjy{iM82!05#S&l-f^ z3;Xxywbw=!P?@~3kzR(NP9kVCV`m@iBuOEDL9N~Gc#o{jm;EepFcFiYf8OzjL3aen zEtkB0Y;KYx=7ZOOE@N>ooQOs-*>$q(-&P>@fqAfCK=*F|hYo0NR6w?UJ2^=rbtu(J z$yG5t1pqxi-97wI$%ucuuA$w^ci6Nwr@JGlTO%tSELoQQ_wSR?fWYbFv(*~?_viR= zqfve*uv+-ej`K(z-u3pl%m=s+mH&#+F&+??)|s{75WsbG*8_fO1_ z%|k~~g2u08*Zg?x@h63qQ?3s5pX{+43+mZ=kYiB=auhdNay;e|t9f5A`QB8LI6}Jg!q?5cuL(`P@ z@WU#He}LGg)<*LsqgARl><~6?U4xh@_tIMea&Z^VJxoj6GOYj=Q*4p19Ib;A+_%$J^64Gw`*hq33kp2N@g6P=I8y~%38d!70=k(+4w-@gx zmXQF`(sd!b>8(G@zh-vh=5jcqCv4L4H0LNmlira;v*ZRB20QaN!1ZWx8sU1bBm9sB z(EU1TtGE%xSr!38QT>8Cy6=Yj;%#vJ+mzG($W!2gx_`8Iw5ZQ$AO5kuvyDvYi1@>2Z!2kY z-^QZ6e`rPUvT64Wweq%Yd|l-_d^nFv^5d->%*Wz9En}rdsP@Wc&AS`LG*!woGTRZetr1?_9luD1_IVT-y}iLz@fhemFB z+vlP$nBGSZw7hOO=f>rO$35w!9COR?HpiaUvC1R6s)urNlPp#@E(>6?)k~K36F~d~ za5R0o3G3?zi~{bZ;Va4G*dbn5^`~=E$qLcC}B7d#DCL3PzI77-bn<`K~ELc-vDcZ07cq{HS z;-%#KZ{q`LRbH$XQN;EfIqtyhL02j8Pi$3gNWSI(T)z=$HClV;AtBoiHk$k_cw+1h ziW>b`#+U~Rwz#@WDRgMgcY&Mxvj!u1pPno z3!NzKT>}X=fB{7TV*wS`62vh}pv`CWM;-CTM#VipyHH}e0+B_4lxbMpTjXSt{~qX?IG!h-i0q9FAA?{)2_krf!!!i3aA zuP0K+pdvbT$_+WblwNB{6kXcAc+5mXPKHGceGmT!jCfnr7ssVRTUMxCKj348mSQhm z!t_Y`zSouDmnv$i$R)tvsJC&j(Y;7-6ny8b#pb2&C}2hubJkyxtmGSHNUjH?0Qt00 zT?*?Dn@yF~)&eEh#{!U{j8XV4Iez*tFL-VXMlpbFswAJ-)M9UKVt0ab_5Ma3JJGQ% zV4d_Yp5vy+V3UhlyqhM3GkctHUb&o*lE+TI#D&7|;}9=NaakKTDd>ve*@c@g`Tp8| zx!e{HPPNc^7*O|74=neIF61(QY%0crA0X!77f}o*P~jeJW^Efu>@`PZpY^$6owT5q z8i3pEk*vPU8vrHn{u5@^kg<7NguVK}k7(np&EKz^5EXx3Rt}slNUM*I3@*e71 zJLnE~Pto_;XFW8fK0&;T$|>9ezEEs^Jbl*_&XSB~mAHD6cdz_3 zzM+f>`jV)r`yvs7!%gKz$z^>r8|Chr|B(T=AcnX-S&34Yusg0?F4BGdQ^r6&226{P z#&*ep{C}C=X_CIN&UURrdy-x~sn260tkkZwNh;k5keIIVTrdOnH4raMIT~U>8TE6JG2oUZtD6+7l|tND8Lv&o=EOKr~fh z*QKrsRq_8r)tN^_`Tt>mluC#pF{GG@7-UN^B|F(=Ux)0*8WXas2w7ufnF-mqA^S3x zB4iH@p`q;C@U<^vc<$fx*Ylh+e>i96A2av)-1qx>U)Sr>dDHPMA7dpY1{P3OJH(PN?p8eAT>l_ieQd0$3{V*3N6iD8p7Bdc7DHCx0>;%fYdk~E+yF$%J}7ojE<`sM{8 z9V-2cnm6wVj!6yLI;p8Pi!TETHgsv4La~x`y`juTv)pp%D}PNyQa7*4ug(I6S7eEf z@P6YH?fI5Y%9o7mN8GdrZC_zF(MC=zVj|5^NNL}6CRM(E)#;B`9WvgUSH{HQs&qZ; zch-aZB30A1?ab#pYdxcyESjD8hKym$4MXxF7XyP z)Zvkib;$a%acQz0Ki%j2fP`H(8IG>}8{R`RkDgix3>hX3ysK4u(~$vSyWu(dAO1=W zYV^qtOXw!oh~nOTCJ-uHfD#$dxQdGSWd&~*-Ak-do}yGf<&Gp7XV|9#Ih=C4C;1~tq4^Rt)!}#{UmU2&vwkDAYUp$m@NFQ zkITN6=(*92ntkAVFL|qCi!FKo<5hD*`9pL9%lq;7MZETsntD`lhYIabAYUpyWWF%H z5OXJ7u+Iv1U&sS6P|I0ob2rs<&2MnoH28Yxgtfa(jOve(|dR@NTN4_9P`qb9Uqt+W1};)@+^ zI}$?_>g86X{G-Rzh3z>PUk9r{?urJ;37e5xk^T)6CzD#demZ<;`9;{jM& zso6dcE0&V>L#JATcX!r-k>h|rA@}Rh)LNl0F}FTTsXTlpWPgVcMs@WMnZ1qQTw3)B z!m1954V}%+Qr%mNb;Wca63&RzHw}o~*FO)LciXnLZq2k#$Gv?aF%Pk64Zc^h@C?`k z6rxt@jg4t0sX%YXcZtIE8=TPrL1D|KYsb6J^5@${?XR}?hUEgh6E;t#C#;Jfo~_FV z?AkZtUdH_v&_q8 zhV&p1jOwJ2o8zLik|Y*N1)NvvxBq1Rtsjs(*r_3c6#$@LF&d))a+>yMJL;*WqKx4 z^X-rxPnHdiThG3sbvER1kRpG&N%5Qj2G}B-(BoC0Ak51;q_~ur?jY?bQ85j~Rj^bi zLUHN%bPqGnM~Ilbl~ZA5+qr1kX{^mz#{_Y`jQKSK3lsI%a0_XeDz0t&=&?h<#iOI6mC4SU?#YmL z0-?#{Q(5Xk-^bkc_LkP0ozIx?`ji4$=^rSITi6p#G* z#nNi?=) z^@!^Pq|c4)9QDo*KU;C}-2w30KoSOEPaTF#NC~^)O}Y?&+&%p$6d-X0d!To`*ndbs z9?tW$Hxj0aI>P0%?LlD;gpl)1N`HS^nXx0=*@zyX=7jB}%;)8q&N7~7pC6vf?pKqT zC;X+cp3{+^{Eos-gkCkZg2PQADm%LXU|vq#j;zERLlYIMabdi+75YefB#_Jt8E^asGC^ptNd4VZoS`9 zr@7QZ#buhER#Z$ZvI%p#(A$+Fz@g)@-mD}JNSC*IjE{5(kTxNWTC!pjI?^wPnihdOXH)A;b^c<9F@8F6 zn}~IDdUf>o^p$zY+3MJS?lt?vm5sfT$+u+k8DW~Vla{?Sf)9^gaE z?r+bbT$);dP|n^-m+ZHzvZzc;6xHqV#4h#1gZEE>e+dX@250tD$|&pD$D?b#oi#Sp zk;L0_76X8fa=IspqYhzh+;8DaS|Vfn`v_N-1^g!(lDu0VUH(2lw!bUD%+f!&{|U2m z^lx=cAkkAyI_$jtwEu9n?S8j(tg8Hmu3jQX|Dse6977=0PBQspJ#kCk^u|P^p*P7j zDfaez{ia*($0v(yohJ_X+SWEwYfz2imwsZhl=r{+lO#i4=ZQWM1bGi`Kgw1--|G>k%*EACBHgxXNI8KXVx}0 z$l>YG61Nq*hV|RBLE09rVf(tMpzW2GyZl2-@C^2eARdHD7xCi|1Eb3)kEtN@I& zkh;{F3M=QzFrbG1K`QxdeHo~>8t^$0LuE!lpc7w~%{Q&lG# zN6%&PL~frUtk!*aqKsR)VUltFSpzY*q*2{pzCfbTw$FU6>kW|T3z%i@-*xhBDK*o> zdZI&aMxlNmXudQ)E(H+LEQ&%}UOUu-Ga{jyhxZ1}?ZOf^7x!C~KU-1SR+VX0|NV@D z9UX1Y8#^iiNpYw)%L6WFjr`Kq8Yk_s)s!py+w`dx<)$b)+u5E_@d&Hu8)_LBhG`;~ zLN!TjC%s}E`KeAo_4#*;6y@?y97`dyu@Blxc^&N;&9Z5xOEUZ98bZS1J^*4am(=Ua1e)&dTPax#RyyB?{v-U^mJ02D;vMuIFupvkNJz^l)^6- z@zA{f2|!$jN?r(oF2HEto7<@u8zH5;PX^wo@L;pkDiF-^HvIOw>!a9q#I z%5b_ga|z*dupU{`YL|ZSWWi1y;il@aK}k2LvoPvc?G3;czP%H5!`S1#4jLjL>W(*7 ziwamm2r1ZW+b&u0Ey_g64BBQDh+h=OcS(ne<+q z5%xVnaYxQ=f5#J&|C0_7bWGu^5}|HYyI72 z?fj%JcxyW$yB+|PR9LYi6!2?>itO<~YK;Z-F&RG|K+n%t77v^2luG?MQFqr^Q|?Qn zyQSNf%J)ELp+uGF=q7db{8aOY=HH-89+?r$|Of6T&Q7jg~4!!;J#6^ZkM$9;zl>2*$t6^G9E0+(MN9 zyPy@$7i1=BxgL`vZs~?Yk5555zA1c-WL{tfv9ZGpEO_j0bR_v`N}%w}WLr?U`W3=x z7&~_x_|o5>yNa5}rK})mZFeDL6_ldH2V%d=YySXr%Qat$Mo5Xq39+}n&HNL`V`cxI zsgOZ1lG#L@mQP8PznkvDxcRR~_wOV>*!=HEN=KoCRzgCYxAg4@f2wi-uR5GJ39SZT zzW+VH{+!nU#(QDhY-{87Ri`9IxKl5Gjrdon_MKuQ_~MHS8sII(1PM?yy3Nzo{$35p z*4Q|c4TKiuPwg~st8#)|27MX2>DIJ>L!{C2YQkZ5P9P`@|A0==fDR@y-ek}xz9(@P ztp7f#7&9Q!Em%-1aXDP8*FxB1gJw&Fw}egiLb#7$EGY)N(>a6a%$QV@Kx!h7$DeNEwISyM%J0^>O!rZeYxISB#QoliJO4!t3g$#}ITJiNlwOR(@h26_jBOPvh7Qkp^@V)a znulCQGliCGyGwWYl9!5OxLIKIibLj~|JT>$X4}@*WXtYW?k~5j0(!5W&X6Seo(^9# z;9mP+ifu>}RUq{t%dmX9(7bm3r#~qHWT-(~oN6a3!W&`1>7fm@XMui;PV}Yoe2hrG z#C)Km0LHU@fL7;g1F#YJfIZT5nS-Opxu~#IVdTqf&*!HGQ&Wp4uj(u;0I`C<2q!66 znx<87?ZN=`SM0c0=2vr6yofCmLICtvWX5<1XlLtnkET&sS80UG^TYWEb{wRdsDLyM>=nYXXicU1BbaPBdE)#7;yg1qfSL*{Ok4l$^_X z@2meC5V_sbU<{ns&2QsbKkPsoQH;>R-IlE&)xMkS^f6gsmG~)0UY#!d)=UD+4}>!gKh0hTG?zFs;TVKilen+bLkeVWuv`Vqi^jk} zk?tdBQF(2(YKz&+A`;M&ah$XYMjve3P2Ut16?H>;yMRM8YQIMOrailF&0gJI-xnAB zLWU)XZJ|3W`Xmwc|IQ9Pvjmji$7+wUb@y@^nzms&nnX$q{cfw)R`snYXYGD1Hq0p> zEtGV*L1d=`Uy9h3+MB+2^_Py$5L={jGyzQ zzi(W-^2{ppI`0sa4J<+bfEz#cbeUOvx8-J0=&vaueB20NK}*)-k$-ixqA33|fT_;c zV%@dXE++ueA*IDq-7R`kGLWkq+2EFjf2c{1?z{WuZt3*pcyi(EI9)`Stt&?E@uNqL z2nOW_o)&42We$mM>d(Aff#IwN0$P>?c$e+Uv>!_pYQ~StxHllP8z>tSXHgszZTt#A z7CX5!I2EJakwjy1>m377ajj2mvvqBigRO)*eg5?3bgAUba(YCKv`NaoxRj*iQ|^-%NXqDPGdvu#^*E8YZOx4Cjuj1(1elMg#R1scKS@o9tA z9*N`2i9DhSdPbI4@b4vxF~*{M)F}c-wybG)_(Q}ZnHsvGwuSYp1APTwPwr*Jk`5?o zV$0A0>a%8+WyHaq#G1bMtZ(+KwuvM9mSVc>{dvtZ)}cw{VulJm-Kmj0!%t# z)T7lD)P_ISG7pcpq{R_L2X^OwZv*)UH@>rEpUI0;MGoDI0kCTjy9-7B9+>0 zb|(X1>hSzI?pg1e7f9642z?JYWDUf)?8$><04@#a;DfKi(6#Pnzu1(FkLUMCfHJM| zvV#->=C)v<$UQNeyE2h}q~Cu_no=UpD{=MDEQw|gpc2OxZkMU<{x`R<{T5w7+$WRl zs?5d*e*)C3Hj+m}K$fz+g=5hVWzlI=pOqaGZ-Dtk9Z(x2|7!2Qm6ezB-^->cZ)&%q zyt&eJj2}0+mqOmbBhtLY4zb9Up6=E8n)%%;%o9BVRB-?vA_P5MsSyY}a}KkR)&kVY zE$jAxU8nZhA@2e2QZCE7gwJ0v9sf@Ej$TzY$~>WB+fR0fL-#a>g3-RaWNDk_^m1b2 zZCuvvO1q4;Ld27h9OJGyx~Zl<7s@7yLiGy@3wx~lcDJ;&tl8p8*uloPE{#5#V%bI+ zQ!bYOHa*ekkn0^0E@9iT9KInt)3c#efRaL>Ok>8*$>(PPP5Nne*uh>(k=~S7JI~qK zRy(zGt9^P)?U}`6ubUhJLZb44XE{4%=UeChwV!s%pDy{^g!s-fH&C!)r+Vj@`(fK% z9OpZg?UWO2rQG>ktoQ9gRQmFl?31`fj<8c?_ zxE8C#(dQYBlnz+ORdt&e?0MGsj(0)gM}TJs_`6cS0!)A=dc; zEFAsrkvTsotGx7IZ)X(W0KXsUjOZ^$Aj|cnpP<58i#o!#m)ipmR#V_A&cRd6hyg;p1 zg7-JGLw7B~G8Xkc{gDHoXMKHZUj6rK;;Vi3{yC_#?+EuK&dPd-a4?Mt_X$>OFB_+CJHNv?vunCT-K6 z$(mB=$=!Cg&1}m3p-tGXWMqrycxQ$5)RR!3?f?E=;0NO6c5;YE zlH=}&fJJMtf5NoEKZvHhbjn3~_#0%W`?)9-^R;6p__y^ed26fw7F%#|a9gcM41DQ# zRxPq&>#z#NUhx1UW95rw26WNmG@H{6t?f-RVYHgI0v& z>|C&GK%_TZcB9@|K)}kO{bped0omT#+&2cWdvZTbUz;B!UA~%_n5eiuy*`a=Jn)4S zwXORMO_QmUc?`2M&{9*a7hITp*(bqA#i)snIL)Mt_j?4-pdf7bb7Y=--Azi~ys_$| zggXM46)Y!!1m=qw_pL3$pqVMYnonIxsHY=te0o36QD~biUDk5i?F`n zVacIYPX5{$ur4&a2l^jM*gZ1$Eg+*Z@geew%6+ORys#G@+W@qe z23D#M8uAttk6O4nc+^!{+yQ;r@VDgiF|KnrHI)B|;I(6cn;X&O0Y>Q3@w~YTzYqN<7F$ujJ~SefdZcy5B$gscnCa3PeV1esv^}UFiAGsc_yOav7(hu7GTo2@f_%SKHDK0+# z0Y`eizc~J~*h2WFx4*UsC`^ z?Rq0#$~;pDui{xkgq!@m$3>1Kb~iSca^NNWm{{U{hOX;tXmIfI88`X0%8HM&B{kG@ z_emOv7I5GFcV&8%`OgCuK27KaDBQq;Wz;tGLWHI*&M7PJF6=v-eO6wypqKs!-USTc z)A5Z5%^cTP#Mda8h4)&r=wEnt1iJm0Hu;j`f9)-oJs2-0g=@-gJQnRTi;akkT}Za~ z$;Z_x%fGa(URND4iqKen3lOKyVv9EZzo-@v+d30gza@WqX^z>^AnMFV<)K9?4*edK zi@8kW^ems|yNes<-vE5k00N4n0fiWUFgTtaYG?U(rR+uyT@u|t=HIp;1r;zGJNp?_ z^UbTjwATTWc+TC_@MQ=Z4tnw181_cas03Pwqfx*9n)k=&WId)YWmYmp#dYH+FIbN| zciD#u96*=<;gYK?P+k1Pwyd;nw*-YQu?ZF2xX>*V6HR=FhG(EfGw$==6@>$_u%cHv z)+`@Jrp#jv4B}!6zVO2N9M$PcwjKdcAHxAOqr~@ggO9oK*HsGQznE>s2zHsncZTR; zf~qsG8*+;mq6azv{R-nF6s-b+aogLm^C^!@*u_D6%o?M^%Y^t?BRW)XhWxJ1RZ=jp zxTp}f{qsN&G>(92!awqG`|=tX^a7=X)VKOfG%P;75?w~gFeQ}&eaoWw7`P@&WCZVz z3osFvU_(d*^Xh}8&Uq0W1BiQ*hR?VWqU>QQ{2hfe&{bRS%)S<$G4^lZH`qMy>c5}w zIy!~~9mb2}{KjMkp$jrvLxM_lSB%nF;pjd?qYK?!@!#Pe!BX&|IDT?`JiH+Joz#t? zXja7MhkcpUp8}#}pR1V)Zr~gdE0yS@a9UGwkHh%gDHlcUDu^QpML*)=R(3g#20-S; zz(lo026|1cpP_(LcwY9R1i+3`P|^G_05nD=@y1iL?x#GgK=S2uSXG+LadYYAuNCgh z!0){Wv&2hy0EM;hC6sNSav4fk@Kh)A-{-B>xsF~tpp=%bms*Rk^WRV#jbN1N!d;5@ z)gfGPtO2FreD3nuyALE60HNDYwo9n=rGUR3ygBhz0z5yWR^m*6LhZ$BPt)#W9KRELWM~x_ zuUKa06Rr4IAUcNg(o#sa5-*>E3Z}UP^c)g}xegyyd##|!LIcr+o1fHj7?f?p4=EH! z+bu%_Z+h`>Koyl&2gj+>URBa4)(9G;gBGR3F3{K9y(S{jb+NYO1q;iC$Xrl#fjEd4 z%K8RYa6>3h3VzG}*E`IWpMSZeivqZ=@DA{Ti~wUFRA23qqYy6r(zZATs+ymU&`?t} z-rHVltiU1$e2pi3JwDwVpzGs`jS%72ts%OONEt73vb?5MNT*|CfQ{r@yBh7Xq1p3- zEh}9c7Bc3oTB@Lnp^#LQx(17s7rhAb;p0p0c#q8Hh_8_>4wC=|JAf;e&3^E+d;{H` zuYVHx0Wz|>J~0(9+{+0GUKF;08x%Mw?W8Uz#}g}j#v%XS&<&`%eM0E$hVvG~6-H*n zYwE_iu!cV%R;hc4Vp2`+3b;WiGW2nv5Yk_S7&wW;Ha9yv* z_sCr1hnHOwdi$O!wGF2J9j-o98cnkk*BpL%0aE~!|JsY{Vyk%Qa!^3uPx1HEUH;|r zq#M`fiK-Zhs(Gn zGtKc-7KV|JYYyHos~(!LEPxB^J?b9j3g$QRbOS;m2Gb$K&IWV*!1#P!*qJm?5<5o6 znCh9pK`b4A-;LUAZkpalWvb+dA5Ed-xM2l?k;|A9ai&g}a(*2Px4(9A<`rq$uJS$8 z6zW;w(`w>m%+AB%*ELD{h1>3eML_mqNG%VYAhpA-eL3DqXt9$@RZ$xM@ElhpuH#Ey zFNEpL0}@f4cg`=epK0aCr_6e#zWovT`#-N8Huwk3E{DdUd3Cx46)q3H$;F${qoaRh zsDF5{5LdnQ(+h=pI0aaG@px7Hcc>X(WV*ffBx)Y7oCJ9*eI+<&F@wQ}dd$n)E zugV4645NiXe{}w4riwB?!Td41n4~lBKbDj)l7_Eo*4}PJ*6$nOSPaIv(?3_Z&Ev;w z%|rn`<0PafntqU2*6%s})@)RiYw8*$efhm0lEmmWyX#b>?3pT&TQSqJbud5D$$(m) zmP$zacJo>~CC5pQwcUkdzQd}cvBn^~f{WbhM?kfa4y2{A9mT!B+HOao!qCnqjY=uY z;CH+(EE`mk-^Sf*ez%th)0Rd?(!NQIx({LxTmpW*2{}G&52BE7x=ibZos9umf;48` zuGKd!kE}m&^F#)SP^io6#J5i0y4_FY7`-!>8OvMm0A)&E2P8~?D8y^a^MmTLlnv6@ zU|is7!53T7Nj-|=*7B`t7joT!3O<*86@s}hIv)GXv|vY?1f=wXjoU-_Lm~Eb0b#S8 zi$l5zqM{}iF^Bb~NYQP=)|t3=1G!^^@~MnGd%AVDWEytTAH~eGu?b*615=gQ6^Am4 z8|$sJts(0la$HY2uaYRCfV%vVxFt|}x-XfdCIOcCEeLoiY z@XNEp&l2$h&OK%OJ3BjrNb5T>9(}f5 zapL)QB>+5;mwya=P5|KY_GgRl%AZo(+rok@jr)lwM$cM<4%@y2pY%G1?d<~X_9rju zT)`>67Ai{W-b)bBvnQcDFQ!Rhhihe}6^H(vq(N)WL0&A$W7Z3!Kef78YEC3Ojp=me zOGq*7o_6h0r9!Dx01dM1tj9J&COJW_tm6#=XRndkhEZxXcs3f@u#=6EyeN|A`3bQM zqTE~MaavQ9_^zqFIUvlZCGg-Bh1(644xE+pXnj-~vKS>gYvs!$x)rn1`!=urxXeaA zG`MZr>mlhk^B9#hm?#%^wsl5IX>yi_dD)!5MzgJg3r1V^Axgo z);9LWIEM8SCMcv(NMSlWaV+J|c`Q#@bMc>0;F;7=w|e$atz>uX1}3)ACI1iEjjlF?3B6PBx%OYW9T-( z8c5f?@I8Pl38;>@%QCp&xVA6X5rrj%CZOX04+(ek+3B7`dy`ECyD@SQ{R0YE5yo%2 ze(ZPhH4z(nNW$FlpO_FT+KsJ&=lgpBL*4-q$YPCExTZ>|z6w3)9kV$5gS=y~~d0-><|^I*yuKn^Y$m~(-@6U~x6+8z$A-=Y9)=VPz) z|A?l@hM=Rr+VI~So>8{#lQRUr?M1QBeZXON>1A9bs4f@7N}mr&??Ox*Qf=+e2Bl{c z#**x6#|yZ-QN`<}rAX}&leHBGBf zi$Hc~e*Yx6wL;_`c5UQs6tG+~a(QC@6wp$JPN_U?lO6}k(z9MCsx_=j%$2j>(yfC} zQ2T#R8^mnd0x1VBO-DpMYwk+m8z6jcaQLDUHTS91)H<%YZKLy*{M5a4GRO8{nvzO&brvcjEp(}(^6I*9EWq}m4 zl>Ak@PaLoySMtoa)HF#Uc9$WaS zu;dGE^zWomK5b1v?r6yRnlOelghZ8W6_%n*JX+TuIw8e)aLvuP>=QVVH3?q{p;{s{ zzmt`WAIuzkXASXuLU8xE0T5%mudMYv?O`*HShy@5Pv zyU}7sj=LR1AAXYu%L1MwmwTVHali8(_%M0<-c(+mlt3@PK(B(v2T9SQWP=Mdj@t09 zU&bmwRID8OP(uOluhP{@7nZF1aW1hfn;HA+@(;t8-9PTzwTd8^3AflTD1bCytlG59eR6~X?oyp!Pg_(3&jlF*-!-`}xMfVQbJ<4%BHc}KnP za_R#$&MVOfj^!u0^k`oA$!uml#=v)as!!ve>=k3agzMFij%1&!Ea_U&nr=bAx(!AP zJK^wLP0p;2--qrPHzCcI)+X#B5;;M1{Se+NNpiY*s5~ZBHg;VR*ef(yaONpT1KZ0d z=1=1CDqBV^9;X=ep=&h>eXk8ZXc2$$FH%X=+O0-5WDxmJDT?xWxMM%CB#v__=0*OEN{*6L zbrZRhq~G`Wnan~ldz}|o*)>*4x|?;6o{Y>$+=n&yp>3H;zOxzFfeQA&nWdmdhq%1P z*jBD=vBSXONd|%!nv!^9As%18IEcc=CxNQzUO{}V8Xm-wUchZvcez{?cA-2}Jom4- zo(u4!jjAz^(eb`{X21kQ%;e=BlYw#zXAh~XkDdW(8&Qb>52i20GM5Agte9fzKCdsM z42Bww%kUXdEDXXh(MYX~4qQZ8Av;S!-B`Ely^H_Uz2>tM|#Tkc@wgR)3`3ry*wC*g5= zu{POIGk{*RggANC3?F~@_0PnyHV&|10MayP<>zy#T1_@2Dv)j4j-8cF)-aP^D2WBKJ( zI*}H)E-&nP#R*2HYmLvWP2Krmq7r=}S)q0WCC@}?^%?(lmNb<5#XNov1PTXfs3;m? zZm@9LmuoaFfVI>SciI1S(%x2~Idi_q4t@jT{);XUR8d{~!ntf9<9JW}nsP!+ba`FA zQLj0?0DrH8FP$P0mx6MofiwiY1>^OXBYSjRxK}1%& zlbS$VUY8qJQ1YS>EOR--97GE)3OJ#0_5FRu8o12zLF=jn_s@p~;umC=gBNd< zbb21j%j2Wz?(@Pv7yvP>_`9%Y4)G7vYSe`;fth~rvpqX{%cNfP_UTub6tqwQ5MpFy z`2e|dA<&d_ooR6!^mTwg4Kw;LP*FieiUlNC5cB1QlMGvEm9b{HR!ldSLQG72HDkws zx==)tVQDF_&`)KzUB&^)&Kvr1h%OP{ZZlRv{$Ys$xKO@wWUh$?QzH}~BgFzQXk^2) z(J$dz{L6?_W<|A^^FwcIX(ThSE#XwbpnrcwAEkQ&vP=^j^csx+UGhA1)(Q7m<*KTJ zTO@#7u48@O3|N_2S*SMoq0!0IznHf`1yqKX;&1o-3Tm`$ z$@-=E(tV%0V&Qm)Bq1A4`wl7e5c>_b%e3t-*h0=IiDjJDKLa1l_)50iQ6Wbs(JQZh zi}yg1YbsEd%j;l3K(%5zM}rNeOdgjR#CWv+1!Qpb05v|?PMhuP0pLiMr~(P8zV{ir zQp588mvL%Me!3Q%uHc2p@e6x&`qL!$Ru7YPlI%uzR;^Fr)E}=MDM7prGDSj#{>BZK zkIFZh;>XG{7hXf&L^CSuT}cY+v!93p<0XuZV}8&CIen@bYOZI;eCDx>v-<6VkE2mS zHZ^;I;oZ+B>dHcR?$$=U8IvhWA7fjB(hcwO1k%*4e05IL$a4*z)5T{7yCx_ zIOqUi%V04t8xd5L%}IR5>#bxY@f~&ve7%R46I>@@n`PKXuP76=URxK9z)cBYE&Jhm(FnnTHc=_SAZYF5B>b|Rz`wc++3*r@)q-EHt>cD1D3fn< zZMh3D;yQ>$Wo6+s7~M?J1*2&CVoz64jKuA;oP5D9qs9TaAB9OJv#@GPd(6n^ApkeL zx;s#iWH9sCKCZG97wckCAKS!pucXl91KkaHJb$4w;k9BHT$t~|0K5?QAea5+RIM)= ze}DWSWY+%)lpTCokSoos1&t z3#b1>j=xHl>aTwMEodu`$I$6J38&h4r8iEUjYg>K8APf%$bxre(|kZg&FOI%sr*Fm z>yPIaU+G(1oE)6Qmp!d|dv3Sa{8U#LbBg`MQx&qeonIXnm1x1(Euq1qAY@_)zcisyKT$ zsEhJ!NnM3AgWq@E_(g&MvqUbh5{6Ia?p{-VhuR?jWxzb9in(j!ldSn5mj6z`mhu2% zcZ2&*<*@EJv#y_V7#i*DQL`0ACFA*<%tcsivjpyn{!ocl89MGZiB4w-2MZSSeoqcz z4E0m_EmilcnfC;oN_6zWM^K)TEz>h>yMmMnn)TYH-9wG~#b^OcL6nUMqRD z%M4T_CZ}{)0-bTGJ6X^7N?)~or>e5mFz^zZr%N)_Ivj@9^;GGR&uE4)gZmBk zoo&N3XIT&G73GXfB7damSn#xNZ=i|(?jUZmMx~PW2aW&p9P=H%oppk0ZY2mqkFbQ5 zKLg<40sqIGDd=69!q<*K5#&i&~=IHT1Piras>^lx?PZTaSO+~Yke0E>6s-y}^>Mm22Bgi^?r z6J<-;XJhAQ!)GI66V3vK_?HEqUS7+#fz%yirUD1Bl7^xO2@qPe)4L;oG6z|r0BgzM z_^|3#;Yh2jte4K~TXHQYgV?Pt;JpVtn+>xh>&r3Op=Xn0Vp;7+C$R!zS(U@Xa>omk zldDc#Mg7dCQ)bDv*7qc%P?-?A=!ZoD&PC29DIYaWi8ao{ANvBGb6DCXO>sc;+w0FD6o z?26QfYS_;_S{=ACpfz4}d*k0RF{&(WwsnSF&#Qj*B&z-Nt^7%ljTn1urwoZSObC4> zKOKBL8M|KA?-jaVR$5v+T3D?IxQVvsCcC=kYpyVRkb)bVssD)6q3OsMm->OCXIuZ@ zq^&QQBIe=q6=xd}?A_E{qy5cJa@4wIp0K?R{l6$4YwFQXHIJd->dC?Qpr^TM(YoKr zJ;|Rk1Txi+&>D91UoF0LUc=$StK*&hR}krb;&E>w-u2Fc-N-#@H_RJa-+s{oNHAY_ z%2*Bg0GOc@p<#{9?M+SCp4({GI5~uQp!8=2w*0uJmNxl~<$7}y-;2dwn^9!jmbTW6 z6YIm2_V^gY?%0MLX2QSm^M=4|6zC-q-WSzy(l z)2;Kl*_M#q0{{|5&67Ww%zHX~8!7upJBkAkgN`R`#3q){w`b4yu@hcszh!4^P0ix| zU{Lg-vi0oK;fRGKhNA&H&+{olnGyBnp)UWE0mOERGX zpxm{^{)TCaT*T2zud-puVks(9Q=^IJ#3{sXYH^mjM7RKp5-d>oPM{D1fZ>hZU;*RP z3%I`R|K-;XAnvhy7*8(xAmTeWUzlZA=nb2~hhSp>rC3)lO@S>&&MHK3#^3kO%Xuxu z-YFpuZPJuM3)cDGFA@oei7oa{PLgboHluj98ccPNNFe;?PLOqGTAiFPn(SE>2jZ1; zDSFujtkD6!&1VNY`<3nIgH9uIK`-SFqO2Of>{WpBpx)krJAXI$UQ`?79jRwKlFKf_ z_i96T56FN9v||4y{>B@1x;rXi=yR%9yN>oe_W`wKC9{ZQ8Mp(vtliZ|OO~Z)F%`yqcn?w(5QR zikn?U4klM)>G?WW&6p=-l-M#eZ-3tdy%Q)qC~NL)~L=9`3-3-&;-9X z!;pjNlWDfaiQTp?*ZruZc~{&xL?#aU-S)TJC4qHdS1}ZqnZ@`Nqe4Y{PSt`Nz+D1F=0E!pK{j z^}Gu{t*ngHw&4$spF1i2$)|Y$k%qG8JpqBQY{x*k{lVgs&y_K8plhx#J|}6{i_apDjr`r=FF`77Hi!adat$$iBI#} z{VR1}Z#OPk;a}czqMq(hW+{2fFRW(2M!6()oSEm7{Hy;!5VoHOCyx}{j!uu)Hu5Fw zuycNo-6_^wuR%zp7(w;ln@c?bo6Jw{7lD1WeaB3E9}K75q!0sr{k&&@ZVixjr#PAU zie*`a+f*}Dahjy)N~%w-YAzL0nZvC0u`hi!e`vg=cDEMbfuxS#Eo?Ls{fPC|446tB z6Yu(7kJ3ji+i9q>5IqQpC%ybAkIT|glMlKdE$bUh`zmSi0*mmNB3nj8kwL^Si}k<} zM-4vl!L|jn1_lo|we&w5_Ok3zw^mm>r6N}B`_MuPW?BU|Qdu=}@Ef*VlnsXhjnd@2 zk>(@JL6#)DYV2S$5}(f}Km0~;AOUh8m^|}EFtY3~ElXMtCHSGLWA*hF-Kh6a5yGW> z$tF$~h8Ml&>OlF;^WWE=m}w|s(%pgNRl%3%f&+n*>7_$f-L`^IA-wyTkuU#;6Ov*w zNQu=B68L(d5V2@Qym7x$SGrn~(k731VxEQjUC8+^D@0aa-pfRIv>L<>-$&e?NaT04 z_n5A~kON90D#4BHaCf2KtJe*p;oZ%sBnb*{ffN#7=UK=94xDl*+Er^-`O?rW?-IQT zK$JDO@VfM#@uNbBK;l4i1?Is}(~9ho;A=XG)B##(_mr92y{i&|Q7S5Q$(lp9>2G!w zAQ=o_>WpLHGNz4uJg4F;7u6Xh-X$}jNe{ynEb5V3F;{`bJyyuO7yfiB6*C}vpv*L4 zcBgi3UX*`18Lh5?LQV=ju3Y#qT#;`C64W>X`^3o|nN@>3k`^#D&?S+GAMoqY`@(oF zcyvA{lO&P~yQj#zAQDY$_kY-W&v>@}Kkh%2HbyIawW72HDM76c(y9@o5j#fBwsujQ zs@h6zLSvMa8liUW+O;=DQBtc$?6edm4gd4|-?|>x%ebpuk9V6KJ@tN~S znW%Jo*_}w<+-ytt)~dRld(JKr@1V$n?T$}#fE74E1bOZQhd|m-f+Wm|n6M~D-zV|Z zzAV3ZTS`}&SWsL$Huvfs6UbxxLTG*pMgat(w_P;xe1j6YbVRa(;%h@pu;=Yz4AC~C zdQ5q!s4+h*w$?{n1H#0SVu(dpKHBkQ*97!s*uE$bhg5>sizTT)h=TGhG&sjDG@JfA zipgFFM+ag`Y=0cB8jf5mE^atSZarnoj&d> z##v1Q7P9Wd6|gBhEQd^^^ES9<(`6ykMKHimNu8c~pkY79qSY7;SAMD(ObRg$EZ?%% zar6x=jIeN>nw_x@Jcx!Md*sC8b z&Twr<3|uOv(i5KiNhwMn!d(Q9PL}z%a$x`~3K)(sjz#%O^dZYOe=DSJmR;mc6lSM` z^~9l(Y0$TL4D(GizT=CD91DLLTBDsYWHH^89UNXNgn)r6i_LGG1n%5dp@TEff#E61 zW|_@aX>eZBg4I6e8(ig!U%?`&# zBkn!&{As}%(^%{|Fs~+{9A+J-Dx&|)2JHT#nk|WegY#y1%6ayC zdDDTg1L+_%5SmK`j?HZI)a=L3Ys+FHLK<+OO4o~(agT04_ga4dDyRX5>qn(e+`gZa zKY3ZeW5mZ&ljy(&P<3=rIO+4z0l$!Td6T(2SRJ8tAaar%j)h5sOwAw4issgtJKL~0 zkk7qN9=KkuAic_IqjQ}hxh!A+rJ>q~J zUiZQ#n=lmLq7rQDDEKr% zLyQqLA8EDDXk{?1-2|3qBtxrGMbmDNwnwb1Xtl$7lf%5ufnZpJ`uTWiHJDmlG#whO zA<%t0-bTmNJTG4qey!*cyjtiYE3&&IOH&VnA+E2FsC-jT!e?o&XqnA6DnpP&tG1gB zXd4$x^3RfitIjW|?~kInYjK8{7wy_!3H=ytQ1`=xXs>8#JV1j&r+XoYVC@dH5x0Sn zYesHn&I-25aJJ@PbGyqpC0X{_~~R{JrAN6g6R zPJgfbu<^Rt9fbN*9YiXD5ys?gl`!L6BsPg^2gBV>p_ zrN7}>&S!Ut8UHjdeKQ_|gZ-SRs+|fWO5s`vFD;K31_OSFUY4c^L$E~8^I8toFM6KH z2M?S#XJ=o%@EQVq;C*V3Qi;&FT!5f3A+5H!++S83ZZBa7T($-rM4ExjE9J+93B^|{ zG0#gj5~tpvLCnNBmrYXVY0%YACHIPNXG+;c1+Cc+rBsA!)eMHuZ7xSB$wcbI6^;XWa6y@_PMbdaiGQ zZNP*OCixXO`7qFIrZJ@#>3?8HR@ z5dlu1cS88N-63Zq(eD2QJ9%eZL=3(1)1U0mC)hMo)N%C-`W@yQFmai#CL88mOZ^yO zQL8<@VNrE7gy&B0^RiO509lK+Zw;6kgzDNchxHq(Loa(4Hx?-VarONe;kb2)`NYGM z)+JqHJPK`Bs(-#Up!btTGu~p3*o$C!+7D31hn|*|kzO^J3A9hH!Yhr7G4R)4CJyK; zaU!tZSGC2nmt=bSS*}bOYIWQ-B6$yFApYY2W1?eqd=bGN*Gyrf$>9mU_4UksI4L1( zX6#_PAd^7u1upW`RV8~7FM>u=nK*N3Ncinbfp$YcfrV5cqweb>$N(Z+0k|$v(s>Fh zid6~KLtpxBM7w0zF~-q1I9mm+@bo;B$)j4C!^OG9Kom1r(Ba_^VYga^vRMO?yh1Rf z7qN3A4t@fG{;Z0QpApXf^t|5O$fOW^(s0XX#F2c%VX5b+bp6kYA!|;+=h4X4l0W@b zNax#K$L^m??oE{OBw6?%j^`lY#jO0TJ!mFwW;HJcFffXGG)sLghwe_1b?SW@waAElYS0=A{}1n%sr=HC|x4G! z)<&5UUiNGdTp4(lcl+zxa%xpsR(5%6CZp&9&@pPw-gT>=C%ZNT0Ha)x?|~wX?QHIK z_5QTmLdNVjZQ98yAj_iCc6LAUYyqUK?71J0fm>E%;~w3miFMkScMT%i1+HdxDO{%6 z->S79=#sv+ksb#@>*j>nN@7RwW z>$cho8^!g-QKZ>YUZk^S^lBAAwOx*)EX@6IBhw%@L)i*`S5*Mx(&k|uA0gAadFJ3X zi^5N82>|L{a!;>ttqWHLQ5GyOd8G%6BZH4;-U9tNT5#auuYh218*R69?#23rU})gb z5PD*p#=916Gi5X}YZl)*pO}|y-C*K!MB6!q| z1O7o{;Pu2O|0;?@B|!w7)Ei{jn2g<;4fxz_4N^>ikVpEi?iG}cj65nZHgNy&El9Lt ze&J%d_~>=!vB#EkR6kDx$vf;l57~^f1Aj+bW|TAmn>z|X$noQ)ww}Fy^6$6jZ+>`V z0}!^LE#Kb$_~nrz_4uuWu7ckwBbIhLd~o}ci@BoTpDyHgN~f!0;9<7|>U$=&1$U$1 z56!pD17M2tkX;?>1KofB%Kn#lwzwN4&pJVxrnFHH%}2)k97;71yY)x0<&Pyc$=M2L zg}~K0{oQS&5lcIKT4o|K)ERs5wwG*00BG02|DoC}jQJFrwFPv&|DMu(=R5-&k&4YN zI{VG9J{jJ5|Gu_XUoq%t?nk1c|L@q?!t8GjiSs{x(ArMx&vpP0yj$u{f3+~+@tS#r znw~9x+;aNsbZ(0heAEPNc_PWW>4;SC(_h?C))DCWDhg1FKmqC-)G1D;jAidL7 z^z;0_aPum4l1p+#m&-x;{Zxcs7VX#12_T|mDK09+Jb&{MOHoQ@L3+o|fi|m`&Boh8 z2VK7Rb+zY5I;|X129N^3=H>zum|%(lpI`m{Io5fhuqSG=*z{%wFN!s?m#ZZEY}?O( z1XP@USWw`mWk#gCE+p?kW=*K?eX+~OFOPOTCueklci!~noX>5F%|ZL^-|H;JEuuQ* zZl}ER@Q~RCT=1lFm-{6jwH#s(mo`=7H)PLNGc&1yb|rpoJiC(^PfUS}4@g0q8#l%+9%ye1uD0iGRA5=cuEXag;{cQuEqdS!tixw%(66;jSz3@qmYXV^i<~*Ud|?UzHC9!MulFtl7KY!o4D|As-2q5y z-gY|I-@9eK2jUvI)4{e=wjuA|>+FwSq|fc{y=djGt0=b>DJ;1tgZ^+KafGk+vkAd1 z?rXT(B=4By-J60x=6*Pp>FP{jV$yTJy#iG3>D2CxTvG`YqN$TE|K;A#qB5;tSt_k< zjUG*a8#R?I_J~*XnK{p;&YdQ#U zG1`i#g`e~%&N2%Om|#b~d`Q7#t}rzgc_;OD!LO{P_gLX(SFmpagTvdd+F)aV!>Ig} z7}!e+lLi8w&kE~-q+l&D${%Odr|+I~IFCbP=v73Kh1MCsbF($s(amX%fxk^IRb~Gu zt62<$p{?avTgL8nqr*735O#ZX);-94i0Rk0ZNqw>q}v6!oZEwHE8=mpltTgl$pZ4w zU(Ec4en4&Tkj^EXeVbDgA=y!M;%-6ZJ8n-aGPTJCQCjOtk|;E>zL8t(Oxt#yZ;r%k zn+uB+SNTk5)MYu4>myHhPuFLhW{pMOF=4Feq!MhRi)7x&=+Zz%-?ZO?T?}qj^ArlQ z^^2QX)%bd00F<{5LRTRI^4Z&Ry7bDtzv3`VRTYmmOlL>}GBGX&Jb7XU$9@SgGd#5< zQ|^8$r^PzO*YSn%Mq{ziqE#?NbvDDkAqwH46(;RPC$VnxJ4qAK%OMN*F^c3wa!II7 zUuH?hh!U}2kfK!;NEs0k@vb4C;S0CEXg}f{9fS!cr!Fthm0~#6#d#}j)j9`_#~ZMQ zDWB8sl>6LoMyh?!S15n{GmlLf5&@yMa;aC0=&*Eb&q=S}XML?#wP`jn^}!Z_-0uAu zCZLbvWUVbK9!Q9UHSyCG?pR${xBir`Dv^_2&^juufk@S!M(L+3yz2 z%*n=7XfVo^=a&D&kceX_`36Yo`IM%ecQm30jfFaEh#7ZeNo?CM84%VqO!ML-Km*TO zp5efr+~j`mT8<7kHb_-nPhIV8(Uou%p5Ud!%3rp$z&F2mrVIi-vREEFp0_VMu;NWntBlfPxcqNp_y57;*%8v=qg4V{a=?hgUgs9@7~(lUBHazu>_>7Th!6pyAv2$&N$(#` ztMjPw7;s{uPUTKlwl?)_Z4EjSpMErt5%i=1dO~nL>!^AFN6OqR$;6#Lemf}4& zf`voq+39j|SbjlN96~)ignR5+S&BTWBclM0;N~yzu8CO1M=3Lhf`F_FHbHt-91@}# zqs;G!VDG<>jVdk1;1-kFxp5&#B8QiNKwf-hM!q4sPk_D90{yiTDYnX~q9sjCr{gCl zWADi{$4g@e1ie=OuF36gMS&npAm($oU>Y1zA{vm~%JUEv)^{u%L<>wmW}v_&{!YY9 z#1|nnGcg>`0j5)8DI(Ip!E-RR!(m+fgx74+W)mx%@yQHm)HzTg!J41bWg7BR?ji~d zy7Ewyz!~Z286@!ZXBa3vKM?^(7}~j5cH^zJkPh@;vFNf`P9|yP8_M*H?%zcLTy}qi z*(THAD?5xQo^mbKsE=$qx$Y!^IgnIIMJ#1ziAv zd_C||7Q~Zz{+K}XsAb_IivQQhiPK}3_8f{6LOUxBSfJ4J4UjMwaen-I=Qh&ra4h~7 zRYXInfBzd71B3(oe*a+;sgl1M^pH;zF=Zw$AO9b@*|f~r#)g?DClXff{Aep4H%>(` zI*77FILMAptoMxR=H0l|ek-}sX!?cAgy9q~k3jTC_qAjsk+btR&9O#Q&zc#jCh;Xg zg%xfmfk=B^Ba{rc!9;|wr)oNK3WDKiQJbwgOAN8vcjmsWaSw-bKRYA6ilPo?qp`dt zvziSF@Bh*u0%NLN;UG{N%Zo*2@7rH_Xv?cVQ0a7aaw_^(ByY1=L?|R`D)XZ0WiK6A z547dT^-!9@IWAT7SnA;1Ik3PREEuej0|E)*MSk8+h18Cte||4F!P-jzQMLcDOIU_5 zAsd&uZyqnkE`-nz;i@4bDTeBrB{H0LHOcg!g($}+^U;KNUK&D4jE$9&R>ft;80p+1 zEjn>z_j(E^$ih=cS_DyRjKzp(@oQT5F@iRWIk1j)ad&4PTHnBh3#dM%j~d)A=;%Kl zdzfZ0^%QyL?V%JxczaZyeLn4hfv8^kQ$jCPkW&;r5QX(*Dsq|a16DUW8X7G~Q^_mC z_>D3qeG~EyXolVV8OCz_l&jWNx2ju1_YvIALr%roaEDMT3jYNK5m>c z^=jQ;(5D~XW8yiL4AysMjOkhLkvfVDOn=W=g%=1Hu~>t0IP`Uk+>C18A7hkI!vNQx zXe(ihmr<7~fF7wV7~Y`+7C>(y0{IMJvrHQvcO6rnw^&g?2@v}jtk3Ol;dk$zmF5Vz z`lz#&Y$4^v)G+ntzeob$2clU~tPOpLSAo;)jZIrGFCT6jNLcjCwgt@)qe-JFQD+BA z&myiJ09JXX-ypv>jIqH-Lf8@c((G8etl-+wBAlhZ)CCq0Z)C?df9x4YLXjs{K*ZBnD7jx@W#IjPG>5i+zd8|B2({zA_wyBZaJ55iNk1iMVhA2`LN<5 zj@Q^1FJN!J-JNu*HIbBUk612@J8&}c^^ssoNgdBO>8VVF*@MU`eTdYbH_~h}3SlE& zHaF?RA&fDE7&Z@4#5qkw>=$tuhveOo9z#vXdpS+TOx0eUU8s+0gO+*MpKl*We=-Am zw3L~BRlc+$qk>)LZk(z^iHiNPFS{1|luA;L}5rn_$llR%!3Wui{L>2{pyO=e-8nO zOG!Zy?z)8Rlh(gKr5XoIcuKUI*7L{Q=AY~yK1lXEI$is!YcwgM%{Je1tC_MGeXz z&m12QlO8S0%Lkr%ud`J=Zl!J?3!g130>!mpfR!Pfm^LRf^3OMzMglHLOABcj#*Uk+ zQv5@rHpRw9ZfX1a0|1(d-LFku)ocw<5l|HCm>8^f(zbY}!7l?KOh2bPRXqEb{e*&| zSV!@4Gs8qLTdU^39WEL(!r*OgByC|y9e$%1@VSNW%}inz`<2X9srX2%QN5m^xCRkBMT^IXoL-MG2G?y}<@7@Z7Un$xB`Mf_}B^uV?$ot0X)2zwFHYGBL z&$ZmuI;!X6tg(S&@bT&+%rs4kefemRx8WUGyOKnbFf zfX(jVSBe*Ncr((a_2fh|rwf4Yp6<2%Ta{wXJaGIoAK7m_fb{kErvc)7K81k42a-Xj z``Hf;FP%;V{~eZXJDtn^_ZyH+Wd}!eg)ALc3tK#GFlqj~ef&uA?9a@^Xe;eEDQanA zGz%c+GzR)kv;m-+m8EGQb2Zu)bhy3&>{)foOm|$#K*#2c3y2%FE>M7nN?07I;5{~+ z8=gF9qxuH_-aE)Fcud6o^Ol< zm^zn;&UMYO*t@NZps8kk>gj?~gZhxN+Bbz@zu7N&R+-*$@&6wGcAtOTsl~)4V}Drv zzt)rARO(zS?ytMowDG~)$<1EACoQcHyfcj+mCVi-o0^zcaK$T`)a+E5bC;2!Z)SQS zTt>2g-p0;T<>I~etbQyUJKnI8r1-YI+7C>XiX5YE@ckR(JN;KZdd0`cdY&&ARK0n3 znor?}n_F25Wub+(w3?{URnIpcAw^KMP;8dFk9+_(B8O!jMAr@n`I?j&TN2~PBo&VT z0Be@w@{Aq;h~&6+vg=A6b_?&L&PePQge4c#{ zDdOw(*b|u?-kGZiqHXQGC`pNFe_}y+B7bib*&1*lNY9dQvDX=UVe7yQTsh}jHdg46 zdC<5;J>6ToORQR;05HGON3m*67T*vrL(=(|~=@_7R{&#>5#vi~n3& z0(b}RmJAry*#;bM&JFLB7hkp8r0$F`1~+ahw8)uDkR~G80QmUv@`cQY4#KBjpU{5Y z*nOzg{A~ISC;1o9(UNa_$s6YXXM3i9=6H}2bmVrr+7_pv@apiJc&7bCw;sbsnF5dW zMmyir_0Vs|8kgU{4e3em+*y)5J#IV9^Z&g+DtTRzw;bSx3>xilzdm9Jn3A~bqN(*Z zGdtjLWw0W+&P1GyIMF+?3a8Hw{%zV++&IO*Kj;?R+;X44e=D=3+-1t=fg5#aQoHGy zq=KKfqRZAW)~U8>;lFWS2Z@HUl)6dCkEO3(PgMcR0`+yN?cwiX%HveL$=Js71&uG> z(4N7vLw*6tt!}BtlA|-6N!sU7Q}u z`N4>RgsDIZQ{Zf%)w%RE|4O)PR;HbKeJx&Kbv;07vD~>9 zPXa#mC!f~`ayj!2NwMXVARZrUAeAl^M=s1KUtrnxT;DYQ|(l0%b zc?~NwO8<9ys^@5fpPzSot*a_TWXA~TMMs0eAzFQeX#Q?-kf@D89FR8`C-N3y7(v93 zn}F^nnORwj9T(28kt-FsJOmyy%k)xJ#)wv#m0z{ehLR7g5h+*Sz}~ofdSdU?8aEo- zH&`I&?4>f?i5CIG_2#((L{{(tw zVDuOm9s_3^v6JXAqtMD1nij=uDy0Nw%k`(E0NE9s%O;McRm#Cus5tY+Y7L2EPxeGa zAc+Jl27XP94~HC8h`8>K{*?SG17%_aBxR0nd~@} zrCsZ7SqT#OjLP=P!rViSS`Zn-PkCFs918Zi9$%mq8|$vPhrH0Qn7 zyq}Bq++7551@$L1)CSy}prR^t-u5YqbeG5}LX_f*?1@Sbt;9wQvWK=kzYpuW9S4%~ zn@&`*uXA~=u92MUF3MelpW+N3iUWTCq~O#yP!G?+&Zdw51y3e*!=V_=zC0HLr?var zBuvuN?3(1|oa{^I1O{g5tq7K2ed9y)=)G2v|C7D^|Np&!{<%HI2V1Ocp!^M0Nb6w4 zMFHTO1f8_x{mKnpF=DNPt9?FjKvE=hD||7yO^hD~X1BpaiTsM{5CC0437{}c?A$US zO^u%Q4n;djPXs~@g!^KQI6pw-&&6WE_jaoiS|#PJeds>p^B6auk?;L%sxfB#YJ8r_ zA-L;2llpm8kLTO3S-*sYgW`swgoH#*Lx{#vdY{qG#9E2)^mlrwP(m}r#8IX1B?E?R zfzd$Rr_eDoRrQ$V5y#OoY02D}gs3m>D?u#DD92cIQ9cfPp8pNU13D8IJqRa62>S;P zXGq3!W7S1D!^13oA%%$-HKG{+RcI;i43+g_nc#MJtnvA)g>U z87rtmSYZgUreL@Df6(e=nMkOm6c#{LvAw1U+uoi1K08ogtx+y?ek#fg;h2I=PDc_~ z9;A-nxzi=&RfPp9qm#mMSj{5lTO9oVZet(?jE-mxrJ*5&L!Qs2)~-IB_Vi^DJ>BfeJIK6D^`l! zxKVn=>iX*=#u@0~*l6ct18I6j8Fo?U;)3!_py;W$YC+)B)Ij#ETV4t^-~dJOhl@lQ z3=DlC@(w^**Wm%H>=G)lHLsh^y#gNLms;ltOmA}&w&|89Q1jHNdT09L)=X9Mi_&beYxkM zo}y!9JO@t|NB%dA7+gr2le`wRTm8FXt&|zOO{wp`ATmT8>W^52r4?6kTZ`*E5mRbr zCAhR>fcA>f?A-!W!yTtePy`6>6-Mu4M8xL}*18nev5)gJsdJ-jl{l)*C2A{urrE8d zqnXXIDTaQBBMk@Ees#0Y8|}=e<8KQOqXdHf{<1nOcLtUR370>I3=yJnIr*HZUy(tS z<`U67vHzmDKdW=VYG+YsFiwSVl7$9wfTX_2#VfpA69^Y4if|A#N0{ht0GMo4U$Up& z^FPWUQ=8`oZ$Bh!{-jqeTETa&tl7|&a#p!>_d4?SLS82q7mJo$gxPU1UOquj8dftQEsyKh8qpe#yb7t+{nR0^xz* ziLK8Ijs~q|RiQ|$7f4}2+cGsoIyPD#bjRp@=zqQ4#gE2>Int#@>faOdN^P4Se*^B7ow}wO|B2$sg28z=H;Qu9s|K05draRclngUK zlxCHFzDxWv8JYrE-6dWE6Zz{4^VH7WtOkfumSuF3!8fdvvJjZzc9H8fUY&QG_ z*;`zkuU>R;vI6@syL*ED{tQOkrkq$QUh7%f4I}`j`wPCgp*FB_~>}b@w4FLXu z-HdqPIIF%@{$(eI`70V?zc_6TKZ`ri{Kbr^CL8{m&aqf9C9%e6lUxT6HN3*{_pc^KBTOQ3C zhMy2p*+w>p9VH`V?NI{GN7O(9xvmJ9%B#%Eu4LMgrf9CZHgd{Mw|Ax*fC2Rvch3%u zvA2S2=WQ`{d&wa2Z)Td?t{ZiRTwkBY&EX!_u_U!Z>!Y^v6+WomzDk}rm~+)ZfEIS^ z1NVeS`D6=)y@p9Ca@J4A?*W+XfJ5w}D_z-5sixA_Lc3iWAG&0jY_X2Gk<}Iw8M!@S$*SPRJt|}+~rfSNCebW zY9r&rr;{ZMw7;8~$rcGCk_sa0pZo#HF?+HLfoE&>Vwv4LtqW|Ow?`4ZfNlHj z{xDwvZS~QUR=}@ORWhBqySaO~IhT^Tw?&aCjLvkG_Ty9ehPkU9=mU7=_ZH6bB(oL$ z-Gi#uEU;S9e#|2e+4Npe%Z_d_F@$%4;((wKFqQ`H54+XuaP(>2PW^sg)_P~-}A^1Uc<}qdN1>sVs zyf&SF&EVax#g=n#3S4T(QRzk5ku<%nd)oVR!w0}F#5=HR4?$WzX_~HBXlr}d^QrBc ztKuJzwNBS3Slqhvd$E+eg(a_iHdV%Dp2#BsV_4qA#ITdki=e}gE?2BB?SCKbRF3^I zwU&6+o-N<}_s>k>6VPn%8CUS}oLg(tDe#(EY@gZOZa+>`Y;IW4q0BEhlUix+$IF?% z)q~PK`?14ZPXbb7UIMJ);FHn+tpu*?E(3D(V{@BuetAWI@f26C69+}=AKU7N##Z?& z9i`KSZM2GB2r{Y|S6KA6@W)zRT2Y}%QZl>}2|75}xJwVgTozL!YVB{ywsZjKlvn~94VBoQtx z4@cJbyTp1;yGbszy^1AV&w8>F5=+X?n(__;>&vBhlgk#{qlvN8Z&6OV-fth z#kAsHZ*=J_!A*#so(u(b@s3Z@T0!s2`Tjzhd1Oo0x`hEKP3);Vh1~kTq}dMaFRAnI zFz|sb=<3CARJn?#B}=yMZg!sHJWq~exlG1aSK)#mzOcem_=ztMfn9!!{C!JTU)hSF zfXSL2&uR~8hXVR<_ZOP<4DSekZpaLJ8CbjHV16^a&V?i&@aL&ll?0BMibzSTn7{t! z_n|#YRATmnndf(ViiiAoUztA&RJ@nATi+>{vQysHv_R~VR*s6O92#-9!IxsY2By%f zYn$`;!*e4YW2Bv7R|U)Hi&ob)6^TuAVB1m`)Xzb-wCU;kAkV=9g_#6H%Oqv_ZY zs4`%rZ=*IXD4eYT0JSU&+RJy5-=WoJ;!Y*x8Acpp|M1Z1`;nOsxA)k|-0EwtP~l`@#;{|MvE~m+jb1B{M=jrrFB*_MrbP&rV2u zZ#v6OXAfo??>6d0DI~ax^GZk04PPs0kWMyeZX=z%mQ--PN830)UfNl$INN_xKGHba z_G;cG)os2-c8Z|zQm*Oc@luQ0^Z2A$Oc`6?g7J=h;Q0_j&Pu)v(87v&Onh#Xd5f8w{F`EWR< z<9Lw?UuHJ$2|cg;>DhhQOZhlg_lStchJ&#NPM3L-l%@2R@S0X2gj%|#UGdQIC&j;x z$$edNepFYqpI;5e{4_|#HtOb3-q(C}vvlIcIBNrYW zWv1dS3`;0X!@A2tE`H?J2b6{u@-oUQ|2j2Do_Dsq_I*47JJ6@bBy^r`y$8XXmu;yP zCj#>eeV*_0R!rKC>*FVBb?5hLW>35e#wKz`y}E{~+4yT6%~K)CqufH^I8y>0XtX3*;QBD-!<%i6Og`M$jsg#0p znjGzRj%Ta6xVPOQm3CXF#5E^g9mXNUL6=h`mTbN5pP<2!WLRWt_s6qZ0zCa_y6*!~ z2o~|ds_7A0#)GNfBvX?Ko`jvOV!;K*!PH21BlL{w#?^%m-=0G$iM;+VY`aSA%d(V6 znUPKZv!^4{?b07#;|-YKW>S*^?@2t5)<74PBBVXhmLwT3G*I72_*9vV`4N+X!7zo) z`ym+Y)Kw+KqmtRWa9*LnK`@8c-eU~0#`@`b^)fw8yZ}`MB*!IT0Yc-3Sfw?~ph=-g zFg0COba;4NG+6zE!4F?w|1nIo1N8fuD(7LxIr`=$7 z{6HGZj89CsYiwSKkrS|D<4dP-nnO&G8tlMTeQqODyBZlYG!v-fS&f;mcCBfceyOVE zG&U+78z)_$ilGP5N70ATaWkl7Suho?F$`w|j zXa*uS9sGNpC)}h;Q~8-sX&KIpy9@wTmzG{ZU5~w?p`nUr{9fqcF9OR@Bb7apV6?l4 zwko}d7+y96k}7=dmVE(Q>?}YVqAw)8PZ8PwL%t9K-Y^je1(~D+ywWa&CJ_&TdS$gd z6(RnGJU1s9rKLnEKyqC(8&q4K8(KCvX02&(Yoq$QEIgI}R$LBOWXwMn=Hpq`T{!ni z%FOVF=M>f)w!d=8msH?bS~o$Pe<6Bu9xIYdpow;oUU? zp;y8%fxt`PW4$SGvUDLq00v{1(&Xp^${oq}#RdI{-t>GtS|nUfT{oSZ+j9hYh8MV( z@g*DrD}dTye)kP0@1b|-JMzxugFqbDLQOD^6uvQH4$`(G)@(z4_JWj>IqXS^VVQW=Vqo) z!J}hrhOMoypugnj-_Sr5riTHV?KoAm-Up>niz@w$CjK6a%v1Q0|HD8(pN^f zZ$$!2aux&z0k#E5{-Kh_yx%Q0x!IOBG^c%HwfWRTq=L&W1y{6VM0AD4jSFhNP(WTPjA5Hbx1R z`KnmvGHy(NlGk~NYM7S*JvKi+0nWuC-nB>$DTpmK+}%$eF0Hc)(zv@NGoJodH1^c;l-kPZD2>0Ooi6{;geE8#ifknc1GFCUvrx1R~Us921;0KpQ^|9q; z+7si(XZ^ErnZurbo?%1nRL5X`epNiy$vN)s!~YCNqJfA{d@_Qo>^AT@1%lPLIB(H| zVfjM#Q)bM{Ll)CM)>lv)1GBRX6en|!f!=E+{9 z+!4LdFkG?Y^Jzm2hVK?a8_QP_ige)PRbr1)#hM${*YZmz&W}C@TR9=bT$(VMqVPUo z=^kZkCEkG62!nw0aUn|KAT*0AI5u$_ZBC8NV*_> zX$B+5Wzi^;$@o;y>ko-Fs=Jy7*&LSJ03#^ zl}odjJg8)?1hEi%9OD#j8|{SIpo|3sos%&|&KfEag9BF?3i8)JEg6n3SZT$n!4AkisBEMYAoL( zcxfPCCZdIk#?>{LR71YkY6B9g8wiG#?H^jKAG>gbGBK5^qT(RvB^r##K+me*sZ zk&5Z#hy~r7dmfG#78aH+*rBy#wUXJLJcsk-UiH6195&2MFLJJy=Qol+L zNJlw{#^=ZPgHd2i^k+lk73@jZYc|5nGZ#^1`nS3!pSvuuz)2Z^jbqDVuQ3!*Q`BiJ z#v3oM9Qsl@Zjr_FaTsL>okRlgUiu*3}YkLO{Z*JJdc~ zhMBnHsb6pDf3oQ9zAP2jDF^v5jzJ8AU|NWW@YOMj|W(>%w+)1B~fH+4DRF2 zt-X8h?PbinZYOT9aid$>R`(x-*W-GxdfgAU=L z1If&F>TTCMq*NmJZs8|iznCJBQa_O|D~oWtF&*qS=i?jc&qaul`tie&k5p_%sF+pT zf7~OO7+EI?Wc^K%Vrkl1|SD35nl$Sn(sYd_B{SuQUO3K zW@ftcwo0}-=d7+r`W^bzb6VDGTPcpxfM2@?m`jl=;vQq-^DQmcA3muc-Z(a`e+(cy z-oT7~CT?adef8}*tq$H>Xpy_0BK=ri{=VXa%(;N7`G4E{lCyQ!E=6*#87AX$mE=ub zt^?laIbX$~v(3qJK8i05K$ITZAMLGXN~lc zw%`0{x+HdoL2+0T$Of!6Eo3Ra`h>jS(%L|JuG4zj4RCktMtD03Ucl&I4T!q^{i%B- zN+DpAk_nl*NA?T;i(CG2=Wz4nWbH8F9Tq+Ph%f3#nj&@lE(@Pk;GVnHY?WfO-|_O{ zCx0Le^8*dy-RJHJ)16p$c#G5ZG`{riE z~0L6+W9(=r;1TQkPCPUB_;cT;DS< zxcNrX=%g;lwwx?AZMZ+%n!U=?TvFRC_W-H*z-2Ze^l$>&@OfQ7m+g|Aks0NMuhk1) z%-qym<7Es`7wUnex|o|X!9|p9+9VO;TrNOljs}WD{M~s$F&Kyg$}R*px@Z@dczvxe zMDa!=m(2BL`C%7J^RiC)M;L|Aa_8uB+!b{rE1!73*B=;l{Gr|Mck`pIFnboDVTug? z8#z8Z?NnoHFAJGQb8RyDcD8l)uPy!6M&SIlf;7eE z)>px%&a{8s-P!*(7S8@TWb;)2xc1{vD)Ut>U(X;(tjN&3-pD9Bt8~^?T8Ee)P`7b< z(DrYExKa^(x?laanvEi<*c>bwm8p*T*_(JBGQJSF?_Bh4kT3Y({6(sF4A$E4 zgH{rJz}2)B6kMPEqO*p?E}fAZ4_*#`$42dZHS<8uoCmSc))3wieCQC|XiEdqbqWmi`CkkI)=ZMuS42 zZ}}U{Bq_TueCwO~ht*jOjE?G?fauYk1JBCR*=~Sm&X5YwwHqxYM)@qoM;@6CSS?WM zNhNHQ!nt|on;Mpu^9z(0C>EiY0YR@kJe^c)7p?*1Q3E=cDPaIlH8?!ORD9C8qut~* zZCTRme zzX8qEgHuQm+f(bsuyTsyT%}ETC$PJP_m32It}N&zKU|aY-D5=8kzWDaEC!8JUKu|U z#^eeCvT`G>*sfpz*FScR)q>bx<~|}j{4w3{`b{y$J-R1>5+s_h%o*s&g;G}J>Ai2^>;az zx))2Yr+-NMU~Yc7qBb0SuFvWB_$NMUe2(3#IN z`Mw$9prNJ7ZYZ>vo+_8u8D3h-_G>o9vm?3tKwY+fcXbs25YcFL-Wx;V1qET#(wa2J z&d}fCL^}X1wd7scoqqhT-t&vm@qV`__rg}Xugfc+n)(qMa>mp}O1^S$uM&_j^GyHw zd6Zb?*Ym#&`4}Y1@y-)1O`yH4JU#Vhwsg=i?gwM3Q=tZ|@BZIgQ>x*WXW@X$1)QUd zN9wz5>@uu9d`cXKw+u=hwxD$YuX=7QBPRFnWUv0G+u4z{i;fc$^eugZcoMhYmo0iX z26{uYiLCb_Xk44#ZBcFd5rE$cdP}kBTqNfR;J716L^BbW?e-(doPxoX!(%t+FJ0(v zhM+gLUDJ{I+S0ug0=H<{O~%i>#0c3|eweA`L%=qVRAaVV5e`t8k8vr^$=7rj)!#Yt zCK3_Xu1qE#dDk1snk>aRMq)^Egmy2%Jc}5-6fe7$G1B0vmT9indjeAUX-GbV%AG(8 zBRA?7JT6mq`z@5)qk;^y*i?Ze`FA4YWQPq+2~k6Ua|b}$LM0x-EvCT!33+B(8z-Am zn!4g@A$SZ4H;uyS?#GBY`}^??-9K*-`g25cmlR zLy7dHgEi-bf z$tOg#u-u9wCQ(RXISP(B)#B7ZGD;l-6IT8n$o`osLDbYRzDOKS&fyP6&51@-!}se&)V79%uQH7}&)DvrB>cv9n(M%1O6}@9y2! zRVGQtyThv%;!zM7s1(2y*^&*D*|vjKLsTACfM9--${ZIJ^7Jux1m*&G0?~PrF-5%y zYxy4-JP!r}r#!_C3-Ibg!j#X>rDpFjS52&`h7re(-Hz9fZrwdwOuXmcYC$$(&E_g0 zH+ChlH#rw+$FhS0_;X^6UJBfQayBR3&jxv;RG*YXR%Zoj5fue9C626gaHck%dEIqRSja zG3v^2e)yUDLRCCKUkNMv$N-HPj4qe!35NQUdu0s#eg)^EM9cs}HZ1V><8^c%Oc zDxnSML!ozgDq00c_V7~7i7t`|iXc$KnkAD4T3@dnFMB^di@13sB-=KeDYTq`z7Y$w zxk#eo)>`=i3(u4i2t{&^$qzc1zgNSUxSZRoMTuqXiU^ytHahqq{%E468aS3;p=Cx@ zivkNJ=|#O|hC${r8cb{t^1phbM9)IS{rAwXXR;{jbBWmGT(cS)N4Rx^W~=U(C@d^tEAf}-NQEVo;;xBdt6L#^Cc2q4S${HxUcFrd` zzI@Ea%+m}h&8bJElEPw%2J@-M(r}?Ane#y~9Ow^fiHE?IChq3#hnAb;tjHW*Bmk*48x&<_fgs4mwc!{N6*$*|>OKh| zkV_zuE$_W%fsFC3mqNR*R0{MriJJ}!Lo*-Y;557;2La&6>`0Y zK4DuSh&%#W*L_gfGBMXyuv{OhzUE(&`$&?~AD9DOgn(=l^I zOy)fpV*B;ILb>VFshBQGPU`4#tMfLn{1NE>PdSh+Ixbp0x8+qWnAaV}$lredioa=y zLk1|+MDd#4_n-5M0swR%W{SSWdjj?0Rg&<_PXQl`nC3{99Eva7D1x>3DWc5h=z(5Q z4Xhyb5X$nQs<@ZZIY}lc2b(U;Yw$(oFuzp+x@sD6_slaX#vRsd;8;o&&d<*eYS1j@ zC0Qw++tDd3nRyZ~+bVQcqf7io!{4Txsz~@i#pOdTsBXLdrk$&0fnBN%n1Cf=W1l;) za5MyyONDjqfgB$!2gd!)p(wtCC%3DJIu!l7kgVJgLHQhmxr&H|N(X-|A5fo9y?~^2 z3(m!GtE#|_re|{f1O4z=M6Tf0?&g5Bh2;k;R^taa46~N_%-D*zFaHIg(G4mhx5ili z8GK=`iTYiP0gE64^u?lCMZ*LMgYJY5p5w9p?p2?MmgkUcJiHW1Xr8o?db=so%frW{ zyk@1Q%gL9Y36blMcwv|(G%w5YZL@lZF-7p9G8z4<`jZ0l$@WcWX*i}=`Lv2?)BlB{B0$g1>oN6bfiR-br!7F zNFVUP`1A`1@p3`AUP_leMDr_Z@|O%~5hyHDA;DRYR?&~YH%}pl@7y}zzn@q3Sn1AH z|JIpsk^xP;%XK|2{fjt&F+l7)r|vbSLjF@TMy5|?rjPPVhtBwOF@pj^{Po<>`v!yX ztgR2Ol7a4H5M-Ggx2|}@ceTVfzhJH!P0P9MSIp-uK8RJ`U7qJ2DYgx@?xN-=*L34` z|IF(1M$M1hM$@cSTu|!i1pHQ6{!(8}e!xr5ql!JN+Q*8F&2TkxVp-2`sr&Yh-oNSZ z_Pi?H5#g9Gu*m6e)7#$->lM&zxyp)N;H0NX&z$Ni7CX~xU#>rA96vqCf6qtxXj|j6 zCAF>fP}8_riNiJDA+{(3$ZCWGj&Jjm^BzI%}l3VR-*!Rw^Se$AMw)FeL^T`WyO23P3dH&CI6Q% zW9@WW-j`A7r8Qr;GrhI7)jjn0-Tg+RwNa1CF(Jn}i|Z^f)-||wnI@HdxH_^{37lff z53Y^ZTdphlo@{4PuiI_qapjk~m9KIM zCP&`n3{1097df3mo%};;3wriaz05M9xTBz>>nGEgM-!2KvR9*6mw_Xacm4e8qv~(-QaJNmtS+NxCCz=8ZvILsvGKh zR+>wNW~>f(p@a8>%^9uHZML@(1=4+7P8Ux$7f+0}PIkiizJIQ%x{vkrlxLKkHgNjv zGlUpJ4jVcTOQ8)kBX=|Cl+-@Wf~_cd=nmV5tUmnB&Xy08atEv9$A9l@r`RZR_|z{2 zH~hyrQej`ef2=ouJm`B|Q;=Nz_}`|gIT4IDt#oNJHa@#s;L*AI1gXG{-9z;f zznEQlPp{2LR8Pw^yw*TX7#|PfuRGq1t3M1+zw^os$vjS+=;rM=Kix@pFI{cv zO!#4b_Ze${k=N_mY9CMje-xumenwYTrtrw9R?}(~$Lng1ehDct*0-V+?IKX7C(BpN z-yAob=~5A9LzL@IJDEz3yxxUIvFN#3+ zfAf3~5{}>}*H34k)gP`@?l^?znAg`{PJ4ie=;LC2AAXQ9ahgfm+2VUKUia$e%8Qek zwuz%Z(Y`KT?kDR#*4A^M>KFyhP45aj)8CvPmFB*3I>kRfFh4!151PEJbf9byU$7kQ zv;9tq5vLumFLZ}7IaYk%TJdx{Zh5-Wci-w!ild`vTV%AC;v>bE``h=G7|t|8`pE+O zNU_iEUVXsWp8}%Gt#gj&`<~n5tv|}%^*UZy`jr02>Xb2Y++F%i2pE@+fAu-q?};nz zKkz+{K5b`-_750HYPi1;Y^o!_@@DA6LCpkk@ zP}-k$vi*m_DfOPOP~!c5cghH4d%r!d!uA;TX6NYB%FyP?KiUNq|56|nN(RHR4N0F* zyGgJ`b4){BqgwXj3<>i6Hni7Ui{-j=;o6Ex-H*8K+?^e-5+h;>?4tG#^kT=BgBHuw z(U;5A48r=udf#$%Ye7McP43lfijPyta*@AaazS#GPkp+}9J1MJDrC-at$6S#ro$5T zNNRb=^75IZ7y!$4uik9po_tr4^p{lgt~IkXPxpsaZdAr(k2iSZ_+aUw{B2_Lf|tP5 z+Ufq(N{XglC7L;?DpB6utWB`Iq-8J~7N*$kNfRC0ZBEU1pPDPNTRbNw{k_lo85 z@=-eJ>^x(Z@lW{u=vu#?|1RG#_1<5OEnacv;L`E1DRD@@b7xS;(Y!XfvU}47LHX+C z{aWD=soMX`P*1~Ae0I5qB0F=etZopVYj%?_ntu6CwM_iwC{?GP>Z+k#8^y}8Hw;H0 z`o&m%cSZZM*Gbc0KvShT&Sj2A-!K#k%I#R3y1aQaw^uoR(eb0itCNyjxZi z2@S@ijzm)F#B!UeP`+EZwRM+=xBO1iyVno7ot9s#fFaKcZ>U$j_U!vqnd)LK!2^bH z^+f9R0o-YO9y;xOTAEqn;air)n%;pqo~F9Bz5BXJs}68xR=5PoIgzyGK9-ZJ^KIH7V3;F{?Ev~70ftEr=t&{4cm*$2unUs%+@5kXk71ye z=r4jK4;UDrEJ6UX4hS5}6j6eFrmn2gxS-DlQntX9wPKKZN>3!5rp~72umL(2a-7bl zY|teuwYROq+!-W7eey zD0FYS-xYkVq}8RNoDO*jGAT&ab5cCW$a$J&L_(bfDdcWmFCD;S@PwA~%B&vBdRa-{NGZU>-;<$S z2o;MiQx}Qqh2b!u0g|IzJu{PPAu?1=#+ z#g|WiwZ3meiHbYKbBSBx32YW+A8s1x`L=0BBM%aRghxTgLItmy0JET(ufnfRFLX7S z^{p|a1Dy>Gya>I(JtGVXB*F7|`kcHUV!mjOd6aG(N(r_N9k3O30Lu}1K!cf(>Tm&~ zGae3^nD-w4Ki5ghy`t6ApZp?}@71Z_4X%8q_Od}wjDMY&9pP~XY)4Q$a-zCCk;OZ2 z;5M2G7#_9|Ha#KNf(RW-BISumtbezkV?tsGVY(k=)kCJG*+jJvl&;gwcW*->AS^_M z>>7mvPuimIgSD~OsM-<2Nv^GZ*$)6$UwUdF2M37bd)^DBYchc`YGENRTF5KRyrQC^ zJX4`skMU0lN1_RW=3`a{I6lm=4?G;f3S4z;BJ2bV7W71l^7IKzjpA-0#tkrw%VB@S zqC>_t(dqkq8h!+M;04Pr3J@6~5yGJU-`2jm_X=bJ`mq~lE-(`%nP$ie7ov3Wta#ohAhmoq zvw1<5`2|5~`HGSNbWmTvh>8Xja}ND)4{cHpKOUUQ4F>205sAiZZ~$BZQ9;cE1Zqjj z$CLs7N6`E8Z6`)tfwql=7?q1=o{>rAJ4N;>Qd)`%*ZC<>HCfF#PZcJRt7QI+=-V79 zJfP`kx@;!sJ4H?Cfd(33^RpFnW8M^`%tj#LatJz1=VM_iqByyV%bdZ}jz7rMa#4=h z#GuFa|AOE_iE(lR+ET5FH)zO+CJ;x*Z+{p?f0!fgDjH78x3l2^2HKVp?$&zvrk@F> zSS}oxsrpGoU{YajK_S~kz4ZnfKRDxw6ai?%5wQO3^JKj!4kNroNtHzyyy_2s6NCcO zJ-xb=(+0T{cE`_K$aV1)vlTS&3-pOJn_1soV&5A~*rKg|g;^h(l_?fdoTW^!8 z1ZvSI2P`PnGr|Es-P4$N=w~wa;PYTC;tH=Hm?_gPIk%A3UzAjt9UZKCoo$|UhXz;R z`wuij(tR>!fFVS2uq48oo0CM5R851y=F~T^%))|OI2+e?HPOJXm}sjty`LrqCMBKm zjyZNYvZWRF!-f~#d-H1eqaD}b^k)x1PW0;bOV+>-E=)&*VWe62=*}6Z_MU%4Wz_?rNtr3#4hCLpTnz#%t+tgz z%xe^=l@e4KK1WuKfS=|2%C5qSWWFbfdX_Nl`1{%9y}|O_MzU)JSZ$;m`%^k9&`UA> zjHToddQe-04GxWEVt-Ceu0Rb4WTO*o1!J({`9qn32j)@a=((8d#IXVL5K`sK@q1 z3EHY>FTb9FdI~;_&>O0mMcsfyMCQV)F%h8oqBaho$O9*VujT(u zB|ID{b^PG1aM=SbhM*W0^tO`tquateT`B#qN)<1kBbwom@#O=*^V5T@ge)bRF+E;` zl7SyXB=J;-n5x>5pB_KqdUye84XY082;B30gx^;A&(edUV55jP$36G63WPs@+-~V_ znf{@KhLpHx>#(WlPL6dagA{_t4r|OO=;sr5e74&7Ivo{HCncUpp#-S9;rayN@xIRa zM|$*&@#0~Y5<#)bDo@{?8Junzdi7&-^!xC1pX0w6`Cw1a>-9d0Gu!7<`@Vx!{Peeb zu4rFhGq=&gu!@#Utb|l0-Bi>{@s#hJoyyi$Ouv?ZYTnr?U)mdw{!+Nu`TFs9YWT^B{11r00RiW4_(U&`{Re z(Tlo+>G1i9bJNb%i2xn8fe~&H`3s)k(==0Ky>)ol?IB?JkS{p1zOMRTDLdo-9slyj zJ}-TD*2i~V{pbDC$=&BSu_A@I-Ej2Hk6z8#P(Vj>^m)AgP1OCCpmaRmGE4egrYZlz z#&^GIjmy^Er~HmNE7Sb5!qS$Ou^OSaRQBS*O8nK4uGU6XENjcm6i^r;w?!)*EnGiY z25`84ILEcxwm8>(*V@d$}3P?2aUmQ3(-hk#8bU~GzE+i zD4!r!dakXedz$-fF1#5st@kNU?e<-tP2dz76_G+72=*P=xqDR;@GS~sw93V3AhM5C zpOcJ{b{&zs_XLYLSPpV7UzjVcaO|?7MP=p?qMAO})FiM~L5nY&V&Qr-q~62B6}zFd z?xmq3e9{#m-@Ud3Z>3!tEh%2ed%H*BpnDba5tmGw9{O@L^H)!a!?eS)dU)9**y_{O zCWHu&{jYztl@bXDdFCgJziEs=SWIxtUhw4yino_MXgB#L+=+uy6JKA-M^1O|bZ*^a zyf|4gM>U2gv?W}RCVX$xrYjvT{MoBN?iC77KV4Be0q9Nde%zBd%2Q&5D;>n8Kjmc3 z5MA|bt0|lq{mNJoIuS2tTisu8m~HxpQ|PYOOXs!YJm1~vXr*}pkL+hRcUNpXTc)D$V5?&Gii(p(n z^g^C?&DOXQkf^DCZ{ks9rVxpb0xf?FG2OubUfr8s@c+RvlctRVJ9QW%Eh6sTPN~#1 zc=$d9Z$sJkpe@xLI6NM7M+B&6kx69zOQS1t*s`xi9)$;)O1b&45Wedl5>hjD> zb$ZF4@BR9QG1t9PUZCH%U_4m&YGZS@P+sTzK(}SJz!lHZy1&8i`i1Y+*Ll4@ow6LF zf4$^};75rX58e*9@-`?ZKlH zqjfICnI4>8?fB4B`)VTf!$!|3oM2 zckFw3Ln8Lp%vlk@3c1y{;1Z(w==Qt^P4TG8)XjThPs;x%WabUGNqSm(KXFAb;@)ctkEd%Na1NWfmZ>7uw?fuDXe-XCfG zl)Ipy28c>4zVD z;f@0}?K_N+kUoX#9y1`#_RzgkOFUn*UqAA8(8C|*|Mq!2e)yN)ce_@om=1iy#X@5J zvbwR-n|*mgcf8zAokr`uyzl<|;i4t$UNJrW?yD-Fqt*Vw>i}8j2JCQ1=>*`8r3@{1 z4csW)DWE2pjdas!V*;q|`4yYWd(9R35&B;E<*DwiK|sxB&>L284vYEgp_tM=EPK$j z;`nY<*m@Pz)Em3ZSDm3L&Iy6dc;-5-f9T<5Xz2>{W{8#qYeD6?8 zHJO{xf$E+M-wF?x)?6Bqcl>%Z+0JMaQo8m%((&t7oAd|sv=@~}>Wj9nGhHUYN0bn} zv+G%Z)Il#iiZ14V>8l`W&Kz#>x(s7arO$0mrV6E@cBiH;`zMZWZ}16KgiERG7;%Z) zYH<0HVx$i>jKytpfWaNy36=h%rW(Z-dgzS*aO5*w`~v@{;7e*8_MUKVYGn$;vGjo= zTOjdKg5X$5bW>UV5ScvOYRO~;Y!ZPzU$^4DdDw<@P{9(m$64Uq$kOh=HKMU-xmD|yo*L%F)%ic~wW*1)` zU8?Cg`UXob=rOz@LKf7Eg3kid7Qhl?fX5}r^;|#KhKrGI#ghS?s&|OW)ksKYGdb=T zU>w(!I{cXP-sFrQV9pdc*EaPvmSD#kP+F1J&9}AH;^H-zw?8*Ka_1I>%)_jMf%JGW z<3!7Ewk|d~C*Xx)D!sumQ|Q3gtUaSGo3YP zN|hd1ri16olC4=BK5-g-{3*1-Fh2fP#Cfipnyy*mtW;Wfsm*xcU*=Q+Sp46g?8x^I z6EtE}$$p7LcIQ*0;jh*%GBJ1ah2uYRpXZgL@PJ2t0gfAL*+6QiMdjcC{o%9V6Y13` z6QnFD!p??zNz7M}S=iQCK2mP3YUIU>!L}yU+*651(83ySEcAS{21mzp-HSyWw(U~Q zP?gR(2dM~Ne=RF4+ef(pffP#zO-(h_d_l1myEY71nqbUpj2XX+To0sRSX*MDM5}aU zpL7()9SFh_^NFv@Q6yHI*afS!?QB6ey zjms{-2~?@x$+ddrl~0+fS*QtoEsei`ZU1K*m8YSelsgdL6CZC92mKDk{2bs>!=hil zkSNRvAivH0;2B%`pdru5AYPvv@>)JVF}WrdA2qEI(Z}j{S8LjNf&JYti3FLQTEZ}0 zz}kHZ4EoN2vgiWio(Bf%DcxE-^DMtVbZ54;giNT642O%@Q-NDqF@vY3*yty4^8CUh z1kkX3_FD=Tv=lcUydeD$&&N0FERB(QcOCa|H>duI4dnvsR4Rqc{8RivNKHkn2{E!{ zx2$}8uQmqEa)DXlruYWUkQWTP!Ig$Rz=V(KLxjH3@?SR|f4>kGBM1`m_NTxDJU5()D+|^^nE^neS0=#H0QAGU!*;tk zfIl@j4#S*5zN4mO|EPPRB3R*;o^g+1k{|2ai>C*-(&*5T%z%YMRD{;md+L`cc9{_< zCiKhn*Uu;&-vd=Lr3tf%ht4ph_NHMOiA_cj zmRL1zEVEA4Q&Bqd^;#@52$Tu+*J}Ji`ur60#U$<9!*8beDFW08mzg6<9spDl6tY%< zBE0!8Fl~fL=P|QD{ov<;3FUiz`~W6ahXad|$h73>3Jmz!A-t~CREot1Do-E<0%Hhq zFdHnuX-ChSX2ERBE)c*@bU`bB5-Sd3fLF0pA;gH6XjnymL(J+S@i>(b{{Z2sMpUcb zRV^%%8Rv!JIsZ**Zw{mtbWiFY)|QIMN<1%OFH&y!4bkF#5{IjU#QADImrjCDs86X@s`QkI&HIDucutE)Oc zrQnM){{so6eCxjR40+DrU*t0(Q7)&8qp~%uiF)lgRyi3m;6h3bWrxp@WS$9=nYoR? zS9!K73P);cP5)ZUSN&BuM`qF!3!47(g!~?()d%6gVoh)qW^OKnfh-ts~oE$7ZmVvpaPo_WS8VWDXpp;S_Tzq?*BVwR4k;f1gjto zTrQ@vqe;+;FZf4NlU8cNR_-=YitkB!n`pkXAjNAtEUag+D0LLdB=E#!QGy$1tD)`z&_tejdU%05b%Wn}QIe2I-rCOqe3&)n{& zU6Q2C@DMc6WoGvSP&r*imkP_@@;52Ktt14`!`Lb1hBC9#)vU2(T@FO9wC1YYe9yq; z+;>}#@k7H}yu_!}NELYKLfJ(#=Crcs@3)YKSe(T z+44P~BiL&FF*2WQI1GXFch39=H8zX;scs+X4|PG-Ub>?eqwwNcPav5D)IRM%;(>*D zieNA74jU4Sb|bJ$81#n6Vc5JU-j_b&-%`!{s1b97(DVq z5J4djI+~NiL2m)P^?CKr)i0^tIXmwXfk>BhU{RK6;SRshE72f%Bcv;azcUnu7#Zr) zcB~wGwU)g_z^bV!Kaqk{5=BGFy)&j=tf2v99fdqmoRL+G3X`*h3G20|VJ9B-?dV7P z-;Me;*^Hllq&TK@Bn%Z0z7xNaY zNCNAbEBQz6rD4UE z@zJEqaDM*X-gy_#3Te@{v636*(I_1>Z$0}F!wHr<);(6WYM)OfjaS>=0ZD^I5@r~( zXl6`f->Gu0ZG>r#;m7#vlt+>|sOG>iar~dIumEOe`btq!InmxdThl`e_95+Bs}Fx$ z-HfQ{7r$Klz#QlLB~MR7WvQNu{~p9X7%HlydD?51eblh;9vf@jsjD#Slj08jp7dFg z&bMOeRXSAcNsEAB-3JZaT?K)sawa5Mvu~k*+oYwP=FH!UqJU7d{6y<%@@}x=Ge3;G zK|0l@74no~h* z{VUD;65M-#`^*SGC4lD_XPec;JW1l3{n=#o3z!EcUgxC74xN<*_bMOZvgBM!$G$E_ zOE1j~Wj&@Jj_p>BQINlDii@QHFB2O|uvIbSX~OPQPs>z;SA~m{g}}RxjAOUl7B5QP z3XsP*i3y^nW_63dK}FiFm4Aty-;?TpGZ(*^zfYUqJy=@VddOIjJJ(*ZMU;wKcNlow zwJ5urn_g`C*Z0(t(LIv6_fMgD;GfB}tuk7d>}Tr_D}4|CCICf&Yo9Kg4&?%tkNDVh z?}NXL;D?%e|Lwjexm4U?heu6s9L~8TDJj?EsTyPdN(mlX(3T#k`|DA{V?g<-L2U`0 zEW#q$qO)dhj$z2OG1|m6L&55aHO`Ulm!t6uwYSH|zhdaj;2S$M6vx3E50C1vMZ-fL z3!X!JMkMYwpVQ5yPkAMSns;Xv0+CLZp&g5=zRSTrg3%)@*H~ZfPg;!8r+D_3#+)jJ zR-@2l6yoz@JD;}i;h^tjg%`WQkXOQsTw9HoQFXLOu0h(0FE?AR0HYDpE}MV3$46H@ zg2(68Fmu8-W2yMV!=(wOWuC)cpZB zMyAk_svBeIE85`&U-)eLX^Xkf#_XO=c>G?I^kt0GmhtP;#qqHfKsz*F@4c~@#%@u1 zyN-5Ou=Qtj)6$Y>oA;-HbMX6o=h`$Il}%zWVpTMnwHD{6)w^C!*2L2BZ3a2Hm^HNi zu&Hn)W!gt*Fh#_^q{f%awa)m(i`88UcI`o!^}tQU9FNQTiGrij>3+}YLH%i^xgyO@ z;!LX0gs;Lm5z?EJxkJAClSKuMl{e!a-Od7-C_>n@g~H`lTYgum^88`^51UBszrQ&z z{H5*G6f7PLrJ_fRUwEWUpC~MJEEWuDBEc7Umby1u3I|7M-IhIf8Iu5M`f|642*P1? z0IUC~W%b+8O*1}MLw6SNTNRlEpJ$)H9?x;&r(~m0uSOCR!T8kcKNOFaw;bzUZLJ>e z?p6?I>~3C1nwwA5^cYk11OWbxZ3x3@^u=0K@Yw3-dYqR+ePTLwwf@!g$?pHKx#qr| z*we*{H$KiKn^I*J=)q2}a=W=grPEHO^dIj}J5RTxn|6xpYmfS`pTwf>?60?P9>3|K z*PV>LsG%5}byXfU0W_wG@$ru}3}A?~3!s==MwSLSFDn@uY#n`ie7g9ozRGLsaQcdn z&)Po|r$FFIYR#OhkTfW6)WYV{{NL?U6{ad@SC&Xt72M`%xmzl?^U#oofsB zYngH=xfOSoVrg&vD7^nG6Fq_yPcShwIRDSfjc)t5>wvJ!q+@}xRq6RbMVx+T^tHn2 zMzkVh9O(Kbgb%)W!KsQXs-Qi-Vyl(1U21-E;*=`!sNB83f2Sy=#V8lfX3KKX26pcsd1`bU zV*|=w>r+Y>zkdBw6hm5&Q|M03Uek5Of=C5(GeyQEu1}xwl81o!wqx^h!;Y9Nkuwui zGGJ)0YkVf_U@;o-nKx}sPqNMA+D_Dt)W7up??DWHb?s1oqAuBU>;B%F_x`#|`Df0x zPpe7__rcr%o7$7c(6X;hl%FqLbr?#$R?~0iNL87!*hV%v^IJ{Tu#IorwVjblz8rBZ8wNJ7dQMCo_F{ zeTVydr+@0dYdGGri;ak56mo+M?_B+K(N4 zM$a9s)M1gbtRZ~!00FM&pg<1km7R&U=i{W~!kTLK6zQvJ-9O%!|7@eJjP00!c1FB$ zcdAUg=hXBS>522O5n)V@pM-TP5c`pUb~d(Sd1 zFAIlbswg$-q|4djeI!whlUW1tR6s7}0wf5yUK&;+HV(&Xl+KkF$c0WWV3exHy%O{! zHWZ$)Wj!s77u}xL7k)j@8m4|Rxa%z(*x>V^HBhUsGz4!vm3k{O6M@2D0fq8+>4Q{~ zfqGoT_~7t!6=rej<->7J5fKHUgigvYm--3KY0;b*bsT~sn(r3M$W3Fyu^tqt3z%} zOM;afqlLk<5J)gMNEeFCCuk||H?}-qNn=NWvIY)k5NcVIcV*bAUjkw*UB7Zve_1#|Trk$LS9L=Y6i=IveaHYW~3cK%$h~DLR{Kwo|yLSUPP^`kb#=KQZ z%SVj2szIhPK)0u`L)IOMI8esI113$QaK@!yYxIdM1eqSkS`;Ri-<7^&msH){&PsI~ ztl}>yNG|^m?DWTYa5nKPCx90*9B_N~z}%%@&WGQEO_2KrpT8v5=sztFbs-%c*9xeK zid4aqi@8AcD!I1se>c-llS1>*d{~%k_j1>sg;BECD!oJUj zfbfu5wD!sBp&@91SQyFWhq^LkG$Pk4AjX4_fr^S#AZh?n0b`*~4d}UOB%tY!Wz!pM zpeYsMqQm>(IO_I@~=H+#i{A(ONB+A{A`^{s&vmyC1*InNfT z%JH10w{i-Ltmj7{7G^e8{Qx#G(>jfQ5$u8=VxjVIb6etBp#?Q!&CY_E(%f(^HWCI8 z54HHcvbA9FR$u0-#oRS$kOenp!7Dh@+Mk~rD#aTv9igYx(Lp9;ab77G!t3^5$l>7RKd zc0RcEhc^O(hl%&wP+Tx58$uVld9>Sq^!3O8y?mQO!h@Bxka;}S(lBmeR`6Myp!0Xa zps@i^Q3w;ia_UQcH8?YX{bhsmLqikM0Xhovspw}}YamhNGpQ>v{hqLu4fSUiO+#;rzzpXWX^-aaKh*&@yiWV&Jo1~`}lW1B;DwV4SQiIP*SQo=Z>-*-wg4=WdIAWRrDbAA`L|BZ!A zZsq6pzo^x9W>PpnIe=f}#`!S*K7~j%ek-7{C!Af*3tgps>S?>Mu&~uNMF#p>C&$y>Wg~?npH_pev!fWK*$I6EJ znek{G94{sHl1?FrsrJMpD2Y9WmV!q*@d!*J)t67-e}FNF%;c_Je}$yaXcg zXuOJ!)&gunBl0ipEa-f?-{UrhqME0GLLB}m=FK`?J73v)5&uv$0F?{ldummt%zO^W z01&$8TVa>u;+a~>`Zic}9vKILhsLr? zi{zOW6!#PU18NhVWq8(Ra_?U)m*MX*c=~+j&{vWCRv(U@Gcq_mw&w`GEp+g5P|1u2 z29^mZREDnc<~q8xPnYaXlL<2fJO|~eC=+I1kh5=6Pts3E;V{wC(z4IUx(s?N%IDUu zsSM1>s%#*D2XkkclN-l+(NZB^5%&OH$gON9Pq0;c>c=5j?lP@V9qJeGUaA@yfeO&) z*4soxHeAWQC$B9Pb#(bH%apCu^?9I@_zghBvYEO}>sQS*e#-(u!}Ku{Cu-kCxY5=a z0%0CVUd|CRauUnR;_U>+U>#ki_=|Z+3XdKKibuTWOX;koVv2l6jgP|ak>2?-z3(JN=H|9R~|(g9KHkwY%Johm7XffMz3n7Xfd7 z4J>RC@geDo{PON?;m`5Z#a!}o>OUZ1=5Km;<@03IuR|waD&VvD^=3?Ox?3m`TX8V> zJ+n&WJsYF0dDAJ2O7@0_tvO_d0*;$F0)3)42na%K{eHGdYwB^l<#({wur4S@R!5Ae zUcRd?*YRABVp@a(PUHVfrft#TPaet}rgWuZW)h3aH4QlXs@9_OCRALx>!Y%jx&83p zhldwxNfNJp6)ua+8xLBX#byM0Fmy2b*u+k!1$I7BHbBu-= z40_BkjVDxC&mGf0q!#hRbxC*6%j}-r!%7t5zt8R>6Y!I%zk4dGsa!QH?!q=&N)N z$s1ydx4Om`l}HApjL_9x9nHOJT9T>HBwsHo+2)o41FEj5xGcSVe|{;{^0@5cLW&#!Ka|bf*Y*( zP`=e~cY9ktCGywe-@d$xd~M%+D~R$_s-pzWD2??R03a&)f&70|oohVP|Ns9-6!OWi zA}J=PQ5Xs(G>4e;n6sQh&S#QyO>-tT=R*!7=g^4d5atvs386WkkL8&2|NXu8``>Q6 z-~t!y@ZS6Ncs?KZ`#m=_dV~R*#9QOzp81)V9Qj)Uj8CQoVzYSVPc1EjY6DFGx^WF?c=zlD9tuFy`$ey;8OGM|u#=s?(TR_$A^aM>-FAYB4XrKU{K72tZ#DI>M13{xD zVCsS&rf7eW6RTNsUb@J`&3c(_=P=vn{y5VQW??$CAFzf@2)`jDET{Dd(c62oer@H2 z5U8Rm(|Hl0z}(#@oV0tgsGanVl6w2q(r+Ft)!oPM98dx&rgeRcC8w0=W)<(ir>Yv@ z{4ibt$4Y%OxBDdOW>PRtRj+5-3?a_IG-U~osjcF_Q!+( zmDHZ%$x!v#pOdU~p}Z6EutQN;C2E68y%^qlGRv;9;2&bZ#APlggT^<7g`tgyJ1*(k z_EbM@ezCLf7GqN{50Fs5Mg6o!qe=Ldl*kUfkLzPBG z9Bf*i{1Z})5^yTN4#Ydyj;J;cj@YIuh2Z`5*_jKaoiCfmHWHAUw{0?yz$c*%0YfIE zXsJAb>9Q&wh0x%DhU3F;VJ&07hw=K7E|I5Rc?EOHIXA?&D$jO-^lo7(Z@}^E($wei z-)=cu=iAlivqFleLmn+5JKGB*K_Emvukz-#opdG8SOq+*ZC4jK-cOy*iMvm>q$uFL zK31MgowA&V1UQ}T^MoCCPn~YAu5OE;4YTNH%6L@$FD`rS_|0GWeAE5WL-Q+zL-mIx zd8ex!tw-9!(r%*^hn+irctZES0@$BjK$?>nwmUs@!Tg3`%~-r{UZ^Y4&za4lqc zg5q0Owl)s?Gw?EivkQXSeVhVOvf*MOQN86Jn%^ai5Im6t2`(4AxPAbyfQv(qaF%w? zcbQHUXQPCX8QDA1@ouBOl>_7pboOYsfdz7b(~?ZUgw@H>DD0T*I@6V|eDbIFHBaav zdDwZTeRpHcxNo%z4XicIr-&=mjc9d5sn(jIX^L8Tidgpq%7{aj>W-?hAMQ$l07H=ljq$7 z^u~k#9y*r&5Vva9fi>(^lmnQX*h?&%Qc+G?B+ISr>Q(p9`s5$nZ|*W$NJe3CF>V~&Z*6%n%`1NtPcF$#jYp|G_MTa0yxH1f{ zkDdGLx!yp^=gBdut_0{i!?z!1RF%v znH~%dmF$?Z+wtR0y|{#|B$v3eis44p9v*bFwlyD!S4x@|B*aMMg~R5BU{eWWqo)>6 z9g;|U{^zUOzB=Rne&-R1E5NmNV6XCqGSlwM`7$&HW$f6MN9{2BWvnWT69|7*eS~`3J>*R zF(>V>K8uhSUZFMF?#GHJi=yTe<=C{Zv4@<&!Xljz;ETNB#>MiD*LCG!gOM)EB6Dqq zA3cz;irN&{bR!vF8C#vRev+p0Ezw!v-qpK(taKatGiswA4sopKiKhu`E(dkA%_fd_k;@+GC ziTa;=qe;D*9g|qX+uIC!;}zE&@s$Dy4UO9U6meK;5{({ho5t#+>T3sS8;8tS4@0bM zCEbQT4vdkVeeGmn>+Bp3TU17;Ed#n|g8YVNE891-EQHI!yj_L?m6fjBZ}~JYs)=E! z-hv{{K+HX-&pVsm!O7=nZY*#WWT-Y))`j{U5Nz7=7WwKx}q8>_w2Q}~7B(lU=%y>Cj7B*w;RWGg0t~@z8**Lg2_lxHeO~K$*5}3-5 z`!QbBY3E6`U2OOL?T%^lhjSp*1tZeKHTz)2$&vsRFgB{ACJ_#1gwjj6xafVKFHTQR z;=^+zZ5=d!aHRkh4RpN`0++-j;cO~X32Bcv;4GPLCSGG@IS$d$aIznNz%Ekw_Pq;N z1ScXr=dMOlQf-wpWnsQYRPNXd@t7v2Y~5Qykvp;G*~HJt494>M>r_Yx803_WOY*Z! z8LpKqoo5>wbGC01q?u2T!>PGE<2<&J-$#{$FGz_~DE$?0&FT_Q{blwp;Amf&B$sKE z()0FT!0HCgr1yXE9FuO6vjtnNJiPlNzk03NFR{gP?5>a}zSw(d z$pVcQ7Py@G273725M8Ma1Ekx70a8_Ps7-PY#wNYO5MX{P39OazDOu~lUM{gla7yej z8v4JgzMYRks%M~B`O^kWTsh&Kx(}s>Z>z7m)%dvDl3Mg{mi&TVI?-x>AZMa*G#1O5TR!y)>iD+^B$uYPB46jImj*I7kK+vBRWc0U7d!x zMBB+6ZIh{E;8^sGl%C^n)$R4mV(J71)bp!$l0=<#Y>OQ53j=RVFj(8s# zxMcTd#Ds7!_&^q;LKlT`=M*R~dfE7(PI~~!S!r$#bNO(eku#luE3O4LkoW9hku*M9 zL$Z9+wvF#I$8|S9j1|K!ZfR;k-?VEnmq@)Gdg0TX0oEllu6##CdyBILa z`EDGdea?NW*~1~HzBp$<%U(KW`ecRg5{G)!ouoKESW6Jcq|Ar^TZ96BKATXHe|fY7 z02%N}d~ZO&K%PB!l|)QWMlm@ow)3mQ{4)KH9dG2w(t`|;FaoFD3}2Lvb3V>Hik0S% zp`fjUnAu7wCni~_9H@2#(^|oE`y+)ubgsbo7-8`>LV81t4+IFilk9I%k_0woq}>1L z$5D`Al_U3SLS1dyK4Jh%-|Ul%!=O*!J@iz)X=0 zlt{3SCdbyPV&ZXIY1~x%oWunJKz#veWO>84-VsYt+k9|rG360Nm;0sBWH5oK<*R=17^B@4@2nbze zj7jp|{!+qb#|XE-_}DNa=N`ZY7$W}n<&uo{@l)1oJ>4BN24(TojRSXYkZj(!5+}Z* z^xIMaRA$afx6ESyAsotDtW#aM;vOm{#Zm|jdWf+0f=xM{mzl8XML zkY-y^Q_n;ZP|VeGw}`31^O}w!)fY#cvv(6~ z4b<0Yi^{4rgzZG3=pjEt4apzN#S#Gc9_P;4e1j3tp%v{;E~SG&QP*uk>pyB2RtU6p zgyt##M6p4(KI4GNMfhVd%&DT%mkcF^KB$SqK*BM=D)O&OwrUqEiOERQ3kVE^s2BC` z=J-wI8_A++WM6os+$V_gtM(+OHxNrrQ9;f5k) z3)w<&58u+AxLM92NHR;Q5+%vUDYMwgP2{QbPqW0K9uU0SB8K-Zijr~Nro}|^^$oks z0wa8Kj5^zlG_#62>e(Wy_Sz4&)mKJbTU~ao2VdSQJ%%7ad{E4N!OnC!7if7|LA&0I z#&l6PdJSGJ0o_pBwwAn)Kef>$FY9TGA6{I+(V%ya4aalKngDvSZ6BNfu~UZu+o)b% zG~uTbpd@&g*~6>>ou94sF6B)ka=IP7`p+x14ep8?!G&aW(gCT4+rwm95H8hn)EQ>P$b}z74Dy*y5g`khT_-8PF zjuRmawCHfz1hCr#{6m(Yu*LPS7|JnSBr9EVvIzMF*ETTf2RQbyf4F91W)!NQ7L&|$ zojD4SbGz$;#?wu_U-1!BG0KYS0u#k(MDDxO!NUz3Mf$Y28DG@x<1=hQk7Mgp0o}~J zA>X|wVK^oNtooQ1*(edta_hQxw1s5a=P}neEglnsm~^{L@3{WD!yl12MiMzVJpuZu zX=KCJVaZK+P{aUs(}(u)$hZX)xFC7tS5sL9ahyv}y3cSU|abw9{{HK)~RN&p_jcC1d$8am`b$=G~Jw*ft6@VO`l88jv4Y>-fsD zK2@HS#NH)t5j*^F)0#NbJKi`o+PhYX~0}mqi|_>=jIDnN1~*N z<9#z3G`U|a5U?mT%4fXQj4-0ykd$&krV9q}wv$h0S3A1BO{0-M>T?n|OIV5fDkK}d zuB3N{d|+D`X``#rsV4m!hZI!bSkP5Oh4$pz*zP%`io-F?lWk7oN18?y>}dS?01C&uV+}ujS~Iad^U+IU^Sav zXQHi`QIA~4zs;)LZF?!6Y;5~oq__TYMbYzHR2Iv7&Z~Cv3CgKa_@2t>92oHm0W)}y z{^NIzwZiab5MOlGql$xAjHY>P)3~;KNI>?HL=}qUwZ7fZg4$Dm<}2ci+-Q=H0I8pbUfe%^7ojWX?da-fJiJS*BCv? z**qc{(z4&`8vK<}d2MU*H`UD_0n3l$g?l)@xmtbfSkUrhf1`Y9ZQ_P>!Ms+q$PkYC zhdR%!S8HjUGnb2tCR0UZ(_59#RCkm*8+wR%yg@nE0Hz|WrH2&{ADSn0c##^fngHbX z^tqorBed;xm(s$HUT=kMucy@Q?A-dX;T6&xa=f0ayUSMjiaeCo5MIYePv%E}@h9D1f_&)F%yl))!I z{rvfGacxQ4Ug2o^%Yj1Jxc~6Lk$=63!r3&8_14kGGPd5_VlqfJ?hN>w%lP52vn9nw zSu1$j!WeRGHEXGQs>OVZB?zJlv$(Sa{S+`7Kq(=QU1faDkTo$8X#OZ8S%l?Z@22H=F5#me4GB*jeR{}l8Qp^c6YQW zVzT|QHr&85cP3qPdrqZ?Tl0@b(mWgQz7?SB17e`>Jo}2rt9v|8-S0mMK6Jmmwm3W4 zSozF6D}&fQHz>vhPO`JOYgA4-8B1*alwInW2t0!utJ}d_C0V42`Qzg>>gQ{YU#r|X zpl!e^1Kskp6?eP+XW6HwHw- z)tOzGPdNj=%q@!CKp$nuv>|xsB@ee-KsS((Djd(wh3!?JdpGCazagY|+dD2~u{3uq zHfX7=;4cHfFg}@GQas-)50H_WxR)O6*Z6PwOLN}Yze{09#$h!9f6w=M&d<_XkEw;1 z4*tic8QW+&p-!E;Dp(o%Z5TYQ5ChW0>6tIH~sCn ziKX7G6B~bDHUqiPPFUcc!z1&ms!^HJPct7DJx^xG=DH7z@)Ux`STLh< zz3*bOWYoec-_m-su3SK!sqyFp)vWA?@8Znx1#QWtQm0{Z;K7%aSknoNo_oLwM{DTW zT6Hd#+0Ve3xa{CtFR@eKWM;|m4u}E*%B#%%2Y|3}Yae^8drLlK|KILONE~*KHJsp6)tKr@vko{C^Uxw-K8L3I_Af#2(;-#1x}PEhp`b3$M{M^ zN@H2Y{c*Xek(>NgaTLAq4jlh{EPQ`gAae&-vCwUQKKbTiDlE_4=&v zT$;~@F+V3jSK<6aW56OYG=#LDVlL(gRGN@|vpcf!bzg@sS%n7gFVo_apN-eArTW;% zJ8`M#BaDh23<}}p$7wZ10~1tgx%u0U6d~g@mTQA7%gq51c-Kt--@4=`_Ux zNwN7e`QK0y(l%TRH9S1)I_z(`eI{`$156yTobZ>T*o3w`|F)#JcG#hrB>kWJQyF*e zE%*E3(?Ux}UpOCS`Kha#YY?OE5AfXGP`w@Zi~8HWN=6J3P;c>+k{LLmYrsI}Li0Md zZvx~elPRjLz|vRMU09P+xY<{-ZE?{b3ch{7^%{!*qQFAM8gR2r+dWMn4lO@DJxk;& zs`dY4Q1_vfPDhKsc)7%jY3_M^8A(lj<+rq4H7@6Fs$-(KuN~~#R`3^#d)JaeDEyck z%ACr(@HF|n0eXbzV`sOl2i<&N)(_8mq6>8mlbE0>bQzZ1^+A6kz*?4#kPA5XnjXTs zOn{f75=E&qTqWr`ClaRm_J2|#BD_r^E`?~u1jW;K_E!+=@mCR7+z|rhO-^N9dm%Bb z|LE37?l45_mD#F1%!3I`wS*`uX^#Sg{mB#g_fOnv4D<%P-O*V3xd7ttVt+^$k}=Ts@w_WpjV zcMV!V#H~EWpsBgJQd^Z7FvW&wX$S|7e?w~%qS|eKRmq@-mVr6lweVuM3_X#1`ypJG zQ8f&;U4NE$Bo0IS+cw5tVT4aRQ1kQzLb;qs4bE)JPL#3S0(uFDrh}r z$ah||!x*52(q@&THNb~pJ;r1{n(iS%X4cz_*H*Sd$+WXdG>D{n)=kM3#4UVjX8VqEW(k4TykV%`p*A+&>^CBE_E5}sGZA`F+dJI}HM9I=r5=GB z$yr$wPTqc&9gJaqTr+BS=;+(-6Yl{d%IRS0&+J$_B%BW_>P72$`&I1Y>vnOBaF7%n z{BGC`bOqZ19KoJtUBnxX08NUyQiy64EqxkuRB_d6Qw(eYESF{>d0FynMy0DPGj@%b zL<<5x9v$($Ckz#_b8xfSpEF5GjywCVJNGO5?s&P6VKVr1G3f~w#oOlFFhO&`Few^_9FjP6(?VeMddZamGur;ZHGyu3!4N?Km0r_kE{9r zTgU;HbIz?;n}RZJZ5LAH2dN~XM*Ng905*pg;lfNy&enwS(lJJ$z`Rf>qnZv> zc1d^bgwr-|M!H){+n~2GyVwk=A;)p%UdcyLk+L1R{QQqGD3G0PPosJzVMJ(? zXt-@?dZT!-B#Egc+dzy?nBnceqRV&M;QS63!6g&}*g{^0vPhRO;eqLVWo3)#kLaNZ z2BE6BfCPs4nh~?dKMz7g4ly$92-;a`Z2|h!KWE4)Jhv$D}j zTmUmF^)$W%BYTJ3LwgqtU!cquIDO&>5U9$VWLA_|3A~yevf(NJ52&p01At^7K{jN0 zI;wA>$W|H!d(0*PO--irM1H}x_0#_%FJ~Jd^k@Vy!^QKnArN67nB~NC!gV<*&2od7 zFF_PjSUf<5W|eakVXmR$v4s^0@ZoX)m6kb2-pepipAj^^;Sx_Dj$oL2_zr zouzR@5If$2b^^#z48deR8vdOpaq|~DFR#PA7W1E+fE3-xwB(5E={`{csr>@;@(CfH zkDyY#msKG2!d-gaViw4LH7-6xBqGL(YoGKVF4;%r&SWFEF3W%6{OX`~*|?Of)#7_< zQg&!!o%^KWz|5!X#|quN1lj+bXjm`khUD2@LzQG-{=kP22By(*wM>MM=n%fG1&Ez5 zh&kB#5pZzg36>3kFp?R=(|jH)LG>8eULiFQQA2kl8NumHOq~!!wqTUTS=m%|I~h32u_#B=fY<8n#hAf%Op{nnUH9+o zC6>=08(p@Klhi|U-|PaG8`F91@3?+UszsA)7_;dyB*vKB!4yddY+8 z#qjIOyzaa2cQ<@){)enSOehk-AHcG4D7YY~qP%P5Dma0HN39mubeXtiHrd!NJ(4i; z`;VdfY&p0`&fJdP#@w`x4Ml5hkK>D=|EPzE>B}9r7J6#T4_zx8?7{_0RyY83CrLU* z?G%)mNQQxbirwPbi+)%nWUXp=LYt! zH-MmCZVAcc17vL%Hy~6a$TNb%Rm6PErIZ)rkbJaknB-%xX;fwvKvV$%a>nbt-66%9~}osQlXcDiIYv zYyK~w!Ym7BeidJZ#m;bGK2&S@->Z7ke^6loj9$H4)9_fuTJnLw642T*mC*^!yrMiM zt!-%xDClC!TvIxza3Iw|7%^(Y#8eS!f6CTQJXI?s7^ zX6Dn>m5J=wo=>E)H%`*y0GE9x9GMO1hd;?b{O|fVhq|)zvigkTFG0q(k74D-XyPO0 z*K3#Xv3y)zZ;L*tNqJH-q6NhoKUgQJqg+a##bsPJsnk7i&NFDcQ<*Wa*duYp{Xqh; zg3Fv8?=Vtv%c89KqO={uuxWr-O)W1~I^JL^u>&H1;lAH6Pr{J2QT-2;&Z$z*S2FiK z0g&3K^M5uCX3qsWmQl=RP6TG~)i-8Y(;c>Qqsi}ZvT_bpZUP#eNg>SYvNu`Wxrs)O ze&+rmtu30+JJ+Np3>_v_MN7Cp&3Bm;{&d+fn)q$k?tn3(J*s*Nrv%m1Km{@AK4?#;-ohg199VyNxjR2do$&++(vaI6YEH}= z!~Q#ED+-?utb3jD@5U2sLX44RB%`1Hqq=f-nX{%3Uvn;Mlhz#oeae{a-}RwHh2xXC zW8)=;h2hwxq4^|L*ykpbN(vP_1n^Q!EV~`vNF1$UI`6P;4aXtZEYjm~-|_&M^7g{fKJ{py2ye}J-Vx$a@SaSx6DOQ3k74;WgeBF^&(@~SfnQ)pX&5}@xq|)cPVx%{ zvvKSI*xuuP^4GO2(qXVFsyXmDm0`=W>egiIbCPrV8^ce|<2!XbhCjTxK~C~bB#!Fb zy8zf{-aySO#Am{H!?lGDdX)bSxBwr8+KCcPd^=wJzR6NtyHz#S=#*r(2zi~ABzF{* zRPxvQ>Qk|%t&pSWx7+Ry&pJG;KDXQ~=G8YwMK2VD?$6A9jlC)gYmB_Z(CfM!*GkI?Jd+=4rKNjDGdGn-Wqc1e7Zk;TCQqdx-;x8muHz%?R=N& zyX(&V`^EX-T-&T;>%YCP4O<`Uzb?i}B?>+L@~buIps8MD$%M&oWBq8;pF}l6hMfmZ z0m~`&mT&9DiU1roU)!PcMQ-H2wp*7MB<5`6{KzV7yVr4P$v7aZ^4=lIrf_C_UamNCv+w+$;u+9ttIN|isK&iG*mT%EOPmTm zZU{R_R5SKNn+sImn&h!PI}SS<`xdr;{*n}WJeLc(;F`Iv_?otQoMMa7q5k-Fu}$;wO$ktilM8lcAW znFXP)@>7lIcDy|Jx~U4s#++oEtEQ-ZD}q8vT`Iq7O%vs~6By?d=Bdy*^WyV_>-g9# zz}$IYb(gi#+@B-u;A!)x!{O@Couh&BveMK8N+hoT&&eUFx+Sn-a@TBn;qbc654QiU zvhhr{dT3Nv%P1a~SSf^^eFl&cBOV?y4FTGt|IPiImHc8wk8kxC`W`T=$VhNfy z%~U=cdqZZMhL%Z>k$B?Qy5X#~%5SBczQ`{mC-@o?>E-RtCA9>eJNvW*Vcc0b++KI} ztG5{VMwvL2f98;^^`8EDG$y#-LWIE3ct6t)SW?B;_(d|5@9Y41Ytu{5d;8dl(b2W6 z8!(1^=9C-V`C4{_8t3)d^MT2*Gi0j0Y3{GdCsy{WjA3HRPt=|nIoR9#`JuhcbY(7P zE2i^)ryHA(x`w7&7D$OIV_m}fexjdj4zOH9^SAm)w6$??vv^LA)dgu=K0L12Gyi%& zZFe+mPo~=|^yJ?K81>YDlqG1*7mY?bsmSe~;kcWEJ@f02w#C zoK98J_a7}Grw$VbRc6-@=o8E`(9gfCdz!^rwcrGIQwMbcpfGV=U5Qd7*);#|<4>K-kxFDvp&Yy!`*(?W`s9tWuR<(} zC+jIYSmOZFF;B~R)l=#H&o1I=p1Ec99(sZQOz$cFEhPgq{rZddu0gjslP|V`{BNANDEMi=r)xQ5xATh1;gv129bvl zgC0l>Z~CbxX98&sel_>R;$cwZ19ShIg}mXH5_v=jr?Ly#kth^n2@cfLPk?}+H1Xd- zKXWUQ8mH9yDV|JK^Wl38T5{dsJ}0*BqDp|8+^=O3h4uQVCg*4u1uqKJVMb^!SlHtp zt3|iLQqwtAie8~cEJOY-_i_1!1#y%_AU8+8Ho3vBt}*i#;d1=i^;uS)u<%$NY4jDEYI8d*! z20*Aw$vHl#GB);ZZWMpSIM-bPHh>u_%M24xd!JSB#svcOow*@b^da>~amomK=v{I~ z4BL8VR_!gO1%z#@&BcrH4)uN7C7JEep5oe6Po5DZ!>k?Q$cFt!>Wv7_ma*N`;f zEHpIlah$Jy_LN0Mqa(UzyDL`IjKvo zoS*~GtsMXs52X>D-EUDqXVyu(AFe6@kw^^T@$pCFgMV!{$O+6<)Cw+QP~i5`l`S5T zbGp|`(qMyeVlKExXd6LdWCvf21V2=l!? z^zSh8(D&+~8Qon$7$%8tVVlLyNB;B*t3F&<&R&e3#+3I$))3FnX(+?E6 zgO@Sx-Z)ntVwMfXRSfIGv~hcLm#_`3KVsK#`Mw%@D>7NG=*&IK7J~O0f37BgadJsk zY^+vSdfe02>H88@anEna+TM;5Eh)0%$Yc9c+dj^#FK&(@YW(_#vXiamn|n{U{=Y|< zYwr#=EUKibIUA1x{V^E5$^`9nlJl+gmXOM(wFi}ah=mv9k{cy_@(nohlW8*;`%16m zJdQHBdsE-WA%b?gB#9iIs?y02PJ8{GL`gOgu2#m)E}>ppWW=1U*=s1ggut-_tBGIe zBH8q5tf4y1u0}ALwvy}=>wLVlnJCN$DIjEQjBpa+C!mm*p{O1LSdtOakF#ao=~sbu zao&~?Ee$_3oV^mvBv+#ZLG-Y18EdFKgD{vx>G8hf=Oa`aGU1X@#q9`nB?l4U`A3V$ zEfjs^UqlEG4lCuaj9((1V7&rHz@l% zEJ_`)f&m2RxH`B{C6Sl_;^bXWA*jRR;eDJ?2?Dc}t!BO5@gWJ?3e04a&0qoU*%I&qKRv4n2hX=$kcG`iuY699qLwHYE| zjYY2*qHvlCaNf%icWBb1glQs1j-I`)Ly4AV-#5Au%~ui^_vKRGbui<5>t2hfT6$Mk zfsfDR{}cXC5Op1?1yiXc4vjEHmtd|T^80}l^kXt&S~d|`&i(4~-|5)`b+I1RcKO6p z_q-BQ&}|N}nzA@LuEa})%+CY`p^?^lC=D2+$%v83P1HV2y%GZ%;j}JBL69*Ss6|?V ztI^XRYr3wVvik)uV*_*bl-!v43vdP$Ot=}FBv`@=NdPh2CHkRU6u${PDP8E*FQNZ6 zu67ZOG`}4Yl1X3N$-R?Je+k)BQ)^~iymhI);-2J(KpzX(3fRkj`>t&$xe5qdtW&*KB8ZmjZ(h&`DYzr!K_eRW?x;PVtl7M{+ z)jHQmHt3VQ+i>>B%(?F%yac!HmLh%vABOKOUR{9+T9k@flY7Zy3r$75@hY&OL%>uS zjQZX*Ks8W+ zxfXXv_9{g+i4Gje5U&5WeAw2qaQ+n-XzUq|R2hr%sz6lIr6T3vx7i;qwR3}HJB5p? z){Js_9T|vzW_=Pm@E6d?8Xed|$9p1#mh+Pvho1ofQ8TYj9=V!Z#T6-H%=$Z;n?5wrk10~EvPk~=tH@LYlL+MY^^LMJnrl#gJ`~d2<>LrU z0BG0UYvU~3I)+NYeH7yr=p2fZWUmTbr46eoaGa0M&l#cthBMW~|GaZX!L z^gW#+$Z1kBoxP7ATE>sk842T{te1?5JkqWEG48_(1aXl)hUmws$bw{~sBPxyoyg}T z9raR-{N9*Gq3#9W@{h?#u81Be2Okq$q}-HosiL2riDoS@0r3vRZ;Na9*QOFPU_gCw zJzByE0yDi!;(N}8mAF(1x%?J|LUFk<`P}LC8<;;G*x#4fZ9*Yv=YN{m;cJk}i|o_R zjV5MxC-U9Nkw!(o>WOQsD28Yl`)%jjl1M4a}SwMtqnE2GlWmy+L1V*^pK z*W&6?H%j9M<1iOR?S{bZ+|i~Yj6F~_8|?!U+a>C#$;lw)3xN z5#-)$y%&GyX`Vk5j2U}w|M7>8x!od=l4_LdK?@`gPJP$AouqT>)+m>QLwq(aDIUNR zN^9|8!+@&I2X)V53;+(U3bqmFJ0?|NmI(N2;Sp8Z!|xDnFxy)90EQXW=$?$y~Tr zyrj!UTesKxbr_QvafSl9YvfoSi)9(FpX(=0G}8z~Zg#Io=#Y+^Tepns$%x`IJ9{Ba zlyIhqONj8w2v1c5DKrzO7w?r-9P-)1^8M=PsQccV9UmS_*DscBmOEQtgQm+FM!)B; zTKoLGtL&Ekz#XMNM_uu;Z!_*f#V8msWX12;yWgzhdg}LkM5=vb#xv}PFn-oCc?{T_g=MFnxLP*DJU2tJM>M`pvIp`}hFZ@~#ss{0Gz0YH>6?p#vnW zg*LU5^3s}*(US?-3HUY@a=Q0>9!G}mxS5k_J1clPkVY5-=^^1|2a_-G*!K$hGL z>Os7U*^$_LB4R%{9J=2jv5URQZuRK!`-8P1eRH=}F<8yZ+LmC?(9_d$kF))9`8Od-=Vz1iMzXB@u9-wYN#8egdRJ8_3IIFrXB=bdya$ofz{d1pWFX64(De zpu?u$PI#xTJCU4@otQj!%?bMVZyR7A#m#)@x&Fz?rE;Dec>D#sWSj_qrpl{anoD?c zTThR&(hd$D)iV3Egf^@lht@dVvdH0}z_q^;8iPMvUs_qKZUxFvg|3yZE@cTC^K^AA z3Um3UBJy|3P}Wmi`SGPxW`7 z0^Jtf+)&;w-ylvjQNr)uQBB@H3Z(x3(}(%0S!R3Ks*_HarR+y!M!T0) zwb~8iU5pO8cd6whWy~A|m7Z&HN3q4?QIKbgg=<3L`TjA_e)l6ic|{M!)3G6|vqAB) zss|6JEbe5fR@yErbAQgu13<_Dil1NXYzmTh7YF>pMzLSgq$B_G!X7pK3f|pyZGMir zBjZt>l2?#-KAqP39p5}=b=m1@OLNfPQP((AjS0R;Ju&x@JgG??r+Bo!W4H^vk8AV# z4#}^(8fRWu^`+LdHlBHHlf=W$G^Vx|OAmIu_FqGGsST|uTtE+zBkb>}2hb$jN=S2L z8Hpti#B!u}kX3h<&Z&yq5+UcC3*}kIHv7m@#ls!Nhx{k4Clg^n(O;(ADCBGfYZZL9 zkaxPmV_~824+vKP4Z+ zc^nEP-1!dwpjEb9B+aK{?Limh_2?0uE?#@c{eD)5jd-NlN71dXe`UJ@%W|4OH>udW zZ*7LR&ppw7`K|T*XkjnwG#@y5Y{Czq-oQ@-hJTyC+%NdSrFB6T2i6t!mvA{NiveFJ$}yRrV(0MTpO6;);aU zsqEFZ(Dd%VAI$1okA~CWxS}Q*T-^%^ycsci9_5Y-G1W!G1bz* z{#+x4qrFFn;Nf|4I^`=^LF(&g24F0 zZQH=WM%Jk6r@w(5SuBnAm52M5n3$1O@ZXs+a=WP}U58hkm%_wPW1tdM7x`B9_+?FR?oP$toR{CErA3ZLp$RXOKc1~j z{`0Sj2|>ZI^aKE#9)J3$x2{CXY4uV>0c4!#BHFw;8EtIWUVXl}wz1~YKWJFs<|mNv z)wDA1P}4GzI2C$sfov}2y0LwB%&`@Eu6?VkoF$K#wuUOO{uJogZmhUoAw)SEAk9%5z4QI)4t@*Iv@jIes&2D!nwaTo0V(Ht}u7yB5 zBO}Aw`H!TjgziGAyM+(jOFF);QN}N^T&q*uR|Z)cJ8~2_Tbf^YWFkAyte3q!I($-I zw@0P!ZBp-E2xnuhRaqaQuKvw1ZOUNd`tPDtWU-4OVQt4Rb-Dv%fdhwTqrZ${V-tDY zZ{==y92}F5wXy}g(XaKtQk)`ai|+J91@4T$h!(lt}LE;?c#csuc z&w7y8ZLe$6MAHndIycLjFB;Y#9PlOg^Tw*fi@6zLU36_4Ma7lQE+2n3Ms4_u6DrDM zH2L~Aip@XXEXk&gv|u2xU)1=Jm&{{;Oycck4mX4GiiN{ESH6o1xUFf~VbsJ_qUG!o z1iGGQm)$T%7Fz`O)2*8cxj4DG#jz%5m`bSU7s1~rapKgR{ASu2V(SKM>vEfU61$UQ zeq_p~;UY{l{R;MO^U<<9($ax&ucE>Mu=M!LZJ%8ElFuf-P*nl@iMtb zI!?cDwmFu3WJMMT(|)MW5@IP=6{VRAWjM|)w$@_;#SqF@`!2wOq@Po3O$(v<5iC$fBJhA!!!;^t%z?CdL2B|G1XPKc#xj~1Zj zq@AHqd`+69z`U$(S9+7%kxhDWspOl>hfcMA)SuefA?Zs=DMliV9`%suk1KU_FTLh95@wj;v9MwY@6?LhE}_z?JOim&3-$_24q$06!vG;z zM$CP)<-8wpimDfMY0T&-0vktjR3js!VVx1Nndl<)taM_>yUIb~?tp;M0BJw;-G_6o z>hQp7Q)|HpVbQOs?3XO|GZQjf1qXhXPXtq+leoZzECL)uBWMFvo|2B5xZGl1rkpEh zLg!cckkR3B)^USfAX+|WJET_N_WWz``!%MIcPva8L?RKWnt6bQ@)Ln{DUxy+CT5{E zTLx zwRv&civWVLH=W1(Uk+YY|KG>?e*(rFisCA57Ry40S6Kn~G_J~f{CVZBlc{%^Q~)K{ zJ+SP#Oc!W&-O(jGsXz~Kl%T*MdUY7dXB1T?RV|pH8n1|9Ptdo16d$|*ENSvSHI*&_#?UHKPn!U)A9VV5Cr zOm=b-0!Ao;&}zaEyanO3!kC}q_wY$l3mC>*_|BtG3jc59Q-2X`B^vR)x zq?lSvaz3qO%puKr&Wj2m8e}Dh?ejaYR z@Agmz7M&lMudqwAPg?9}Hlg647xW!#CV3V3%wPyq&p6%cb-` zkhC|9DZ1z1(532W24l#mQr2tMnWN$S~c)lUhKsOVyCttZJHtRLd! zNAGm1!YH`2tgBWFcr#2$wDkVYUpu8dLS_TvnqA!J`1lRY@ zeEqC*IZm~!xZt@f(L$Usip}yyxlaD-dW|kzBFeLWBr-a{3}Go=T0#sK`fdnSTo^;- z=(dRM1sV0XTTGgpuCXY_C!O$ioG}hF-sqOq!GE!pUDechM6WzvOHJB7 zP0M*m;WjIm9ngh?d5J+ZbH9MfN>HL#!*UBBT`pI}tXkOH^ny)dQ`qJ^c%0d7Dm-uu0&5Q9RimryGo?d1DGlRogmuK_E+Z(8p5c4?xqH(#gBtqWmIq!3rf25+_E|a_k#BP@FmsO-)IYxiZJpMOVUI)Z@rRnPC<= zmo?;#yE02kZaJWU|Ju)n#`4nVkXlfXM%QJo0*!JXQ+W!7QsEXDr_!EL14gp2u$yRK ziDxdxs|*x-T)^tXbikv}U}ufCAWAOTjYjCpdByX%>H}{ejwcSl(wwqDAT?oT!or#e zByykwPG)M8ioY(zy})PO_1pBVP)(cDH8!v<8YvyZp@wR(0@RBz0(Pl5vD7M$k-e?w z2Ryyg0L07;tQqbj-nL5V1N5Zdr{5r=;PzsXKlmqK=v^>ksj`q*sn~+*!x{?t7qR%l5?6^ziTFVp zw$cb^;`QUl`&vkTos(_cjxrgn+9|B6?S%6hb>bv&3cXLOt5(ssLm1w?J->FH|2EDH zt=sA$#^^Eb3>hmWa3ddP8)tn@fSH-D>+q*Y!pA;7VNHuvU$4D(3_K?FDL#`&B_a7b zw%n8}1g&cIF52DzG5p0TV6JkIQ@a0SD}vv#OHFH-?=oddJj?XJqL|#DgU@~Zo|C#> zF)he%4w1_D@NuoxgKyMN*bni4xQVzg(b3R1BF!Y02&-S!e~@|Ia|TfO<0F#a16whBe2Y>a26i^EZb?G2FWY{#tb|xx`^fhl zNZi{5+3}b1`(jE-**a#S=jVYs!ZqQ(Xri4&W<81K$p@4TpE6H9E3f^t=~whw+HuP5 zU_gYkW%y>g)gs?(pwe!>x|1pc76yWzINfVD;2Y(a&R*ChU97*Sp-%v)ShZSU zFq_mZ!u@;;r<$e4*c#svxE(V}!qNp+pfQX3s|lR-c&@6we061Co##{I7a>?%KATS} z!y?s{zr%FQmqHTjV zOlXnB?*AqW1{aiFTl9Pte78p(z0zxAUI2^q%$ik__qk3ASnK&JegHn$VIs6;Y}AuX zP$NE3c7lZshz(NR*FX=5(VFi>y89G6sa*NOfn?5{K&s(V$)L#rbXtHz{F4HzXJ}mB zb#gBy_?41=aopU=V(-KR$(kA7v*WSE@Y$)v6JO*XhfNG)kk%jSTFHI zacn-C3$De!APSOeYA)?(6(uaUW4_UIo=7_9wFI5vPBb zi_FvSM22`-2az_8;X>h+7BkEKWYAFFbAv@bPY*Op&5wck7d62;j~-ACrH_`|GrQ`VMfE zqaF8hNIv2zZ1)1RMu!U`x!5L5Im0|KE}Byc+Wt*GU3^SC0Ng~sl`l*O?u@v-@(!k& ziJiG$*pp6GskY}4;Z666KGOt8l%4x5VWPOl+rzC02e$vGZ%$? zP+s!?1BU&$&lcqgQOmunt8+6yIlh`yTgnZ|H3w3)ZpF;*$~U*+EDeX`#y`@q2iqeP z6I80|Nhc+@A}u?yYktn{Rq)Qr0;=<78g0@I9MDxI_{w$fD8Spd&N&; zF=H<|t$V=a$Kdp&U%`>LtfbKLIZtfwZ+^M3s*me(Q8d~ko$G|!@wZVxDUjfy{J5S% z;cY$)mz=0j%j1*dl5E_cY1MHVnfd(CHLYWOnohqf4CCZ48Y^8KYd&f%6*1WGyK8P9 zJ&T~VPt!N*r@sVlX+1dlH+#}8iSXb5zK}0#aP6M|_U>{e_GmR@d!hZzrg{djUE#>Z z{#%+E318p;8}zB`QCYu>on*g)jtk=D{nzW``kWWnYgmB7>E zJ=(^`$`=~tbT*fE!rSaMGJCqUN$++KKA`oV{^ecIpV&C4^CHh3Zuh#}+=uXeP&wYc zXg*4m>vs{(2)oBemh+AI`%l?@oTo_jA^on=SI zWSl7J_6=i-!8HdAoPzfnYb%aRfm)8=;~>-7T8kGGw8OcCN|cc)$-=tAs6=sd1C>wa z=)2_oU~4BKm-an9m#7D2#=QVyv6E(6uXz+rG+xccZX4QHedF4BL|@5<_LZ5nh45~< z|AG(dgT3oXLq2Hl2A$|FE^%eLRQT|dF`vH|k z|D5_p5T9#pg|F;WaIJrjt2In5r%2<%(3vpZ(!K3gGKb3XlBKD+N(AsHSZU_M@Z5F8 zU`KH}$UNF=U4?%5TSPFpt&R3`dK&P|(-vPUZ}{FV_%bCPkqiZPldCk^yxy-{eOQ?Y^{M(V+btwUAcKWFN^Axog?1dpzY8RdAFP#()jbr z>1+E3*`=|)N9}S@hLRNwF8}b$qY8o+VeixG#E7jA(aHRl4Oq-6b)y8sl7#LIIp@=g zIb)JK6lMzZ8yh1{R^8aP3WR zx{v6uGO1t?>TL67ZC!F~wydPd3BHX2e*jJ-Y^pO>#7C8#?<)kjSX;Qci;@B4MmFIg zz7k(2{{E3XDkgiZQk2{AM?=q$I0I8s?)`czCC65qI28wwy*MXMiR@p1zbP0o${vSQ zU9{nob<7`ZEGcoZbYfIM-hwb_ylrTE8lUzpwT4k2A7IL4-W_lOdo2*J&I)~^Bg0^Y#pLTDy~8tkHu!+eQroO~43H4|B`%bq8AKUWy?OVb5E;p&(8rmqL4Q@&D{ z8SW^26VP)Fy|^WPHR1l7249JS0=((yZV;lkhB)f12dCirB_v-MN8(U@dZtb;i&*WH ze#jyo`d3*mYEJFShXOo#d4KY5>>y^sXL6nbKeT!?axR*;PE49B46f%_eo1SOd|fZp zR%UeAR8zWdNY21GV$ho(UN|s@26n9pGuGg^K_M1w zPPJ(O=<_}zJtG2VI`LEt($TcZ@ZS2xxA&Y}Lgcn$ZH;rBNL+@#Szd;$EQosl53du?or6M;qCuIg%trD)x-1z4 zbQ`WAL=|=^y?TuY{lhayO~=|2j1-gKyH5Bry>9zvFMnuM%BXqTASx#&Vg$WvTr@G` zVTh8C)pxp$b1vnN3Gv^*#vq%Tkv!b^P~6J+3`j=KbmV|0XVAg#y6)MW0O`P~J~17c zqSiTOm8e`UBemxnHZ(WHLx#H}6>j$Bpq3jI7RrbfrH!Th4t?+s;10gSQ<*1_Z!B!R zJsO%~MEHb-iyAXyA_lnMZK@w{MXO;$wVT!T! zhz+2SpS<1q=7r3Yy$S1Jk4$OA0le``Ps~kq3;06RM)z?m;rP@+6=|e?1L+|HLr>>y?Z%gOV z>HV}Xf!p`LmBlBaLEmE1V?%oIw!--r%U6ciDu_Ht3&&KGHYP;grvmQeOf)l!8K#-n z63q<-0WY}d9=unwh%!1ar6vlXFBK6RO~i`kR|OGD0#@JkjWoAPpl@eob-7(mL^FRg_Onrgg&n}5D)PP3*TWLGP2j;T#xTHVg+|$xOP}KcDG}H~ z=+&Wy52_G*3HZWnxT8a{NuMRE;Za50XkCf^>bzAlcNiDG3dQWu1wT`*$|A(TBr7$z zMu8o2GRj_u0C)^j;!aHw5@QJ+DQ+q#hzn5_jYQ(U2^leSa)(}og<4NWz;HOB6d?t) zWpVrc;YK7;cNn8_79IvkdOKo9C>)Hrkk1)k_X5^d66nrdj&MpK>82QXS-;k_o zpQQfN;`U(7O9#seH#Vx3KL{}_nb(zOBRpLT-`FdZj2EW%@c%%;lEri4sI8cPbRk@C2oK>o$>H8f0i}u2o{Qjpe3<}5>CMj*aL z4nRTs0Dhhp`~m4I`LgC3$3%<9w`jB!i}1QGECOjcCbWX%wsp2Ti^d^g=UwGM>_ea) z^p!rw%SNKAY7s~$iY_dZHTO<0Zm=T@@7-f`<)SeUQrjMGFm&bPpAVZw#n$bYij&czVmZHaS8 z0KE$oe@&usgQ90qJvd{ye05r~ETH-B~qtBqX#BT5bKwBvJv%Tr9%)uWs8f~}VZPeBgR^WDUYJocI*xgWVj23fbjSAP&SLMf7y$MZ2k+0RLT^F2 zUgiWyv}xdUGVCBZMXGIR)|)>fUyfTV7zZ#*PmMPzQdX)OH z&3AjSC^(lV5UJUh%XSHUle>V$ixN;6sA*5k<#^&`wS6ei9+qxz4@ffRY122ixsXxp zQ{j0D^mgc18BcdjZ!s)`l|fY^GE=sO^XF}Tm$-xh3J!j;ZTa&$Iq1M+uQNTjUhf00 z>1$JVYoPB@2s3+r>hVv(BL53>>}^`k=H_allKv|RTC2jK)EDuk`2Sje`otIiF=??7 z7A+>!_AQ{xYNA^VRLIF*14ut>bFV)5@9}sW+x$i^%xZ>ly_M(9{ReG>CaI%h*AF?p zbv?Ij*xT=a@EI8$z3hNSMf$VTUN%ix;K1JO43QayF`NJ?uOh3(3Y8=z;LNXl_y_f> z&Z69WRhZ$*5WaFaUuEP$5A27YBMFmqBlpQ09*r@%Owk3V5U02Ld?LgF8Hz0+kPqRR zf8yC-X@$Q8xj@^Z)3M_RubEyCn*3*Wu9lB-IYY+2D>E;GPj?K5Zzkq2EQI--si} zCrB0_(&Ww1NoN>qH)Cm|w@`J0O-_-(z*2kr@5PnxIAEv890ey2D(FB=Pz{0s#trb- zVb9~GF=Iqo;@#c*Qpanvj0}LFq_wT%ci8NwyIwFK(*;g``!1>YAa}736N`yDxuVj- zVozWe0viW(sef3obY=f2$2IE*su41K@v3LtVDJMx8l6>ZU4g%0R;EM)h}I{3F}G zfAy)c=tz^_T}R`gQQ;gdC`RpBW~lq-f#R4VxfNSuak4lTe7IcWNc2X&A<=*x%S3PZ zPNSP9u5smM%?0Z#<&$skMSuP+2kZuEe~lkRkoiD>y@Fjx10}7$BNrE$3{dl^f4?ud zWA~170ZDY(!qDM%Ip(mADbI zeG3K?8htLl8aJu#x-d%cDZfwYx{&F16&%4sYm?&}?r)op<2BcVdwZq235Q1%L`Gke{Y z%{2P)I?;P^rkXl37scCG;Hff=pPq7UKHAvJu5Tr+h9}s(ZQ{&Ekx)SgbBfZD2`cn| z+uO4v-D3cMxvJ2&jt6KURhm)!$kvDpz>NVm>wIOLW_XJ*_}2m1mw0$o*>uuQ5j53m zCN;qK@7KQ&+8)H9mVXJ_vI>P*2)zC`ySFFTn@R*1)zs0KI#ZmhPU!S~@|dKc%ICvP z`c^LRF$Z(X|0BnQh-*GNI-eVKCZLZI1BaGpCI|gqE5aS87Qu9xRLJ0*|645CU~RJPP2dH^$i)sQVgK|0@VAwvAqGX zf@{~^M2-UPHh-PG#Zp>fSvi^;Okbc$1fB-g3%(5gr$V^#OG069$$)8wVjWSP<)ugqj=LYT{0c9(dttsVz-L;jO@RFwI z6N`$$yZ3SK-FTLw0 z0cQ1()A;&EWqErry^{VrDmTajKio`frbV3|<_44Q>L#g9EGEzo0dLnVrPujrEcjqr zwPYG-v8V)WZxtb^3qZ%B7u>zJ985n5R{O}&`e`$PY*YWtnP+AClze)!I7u8vqssLN zMAF0tk`>gWi)K652e9aIMiJtvb$!y_DCv1n2;s(uJ!ONbs3yTuz))I%yZp29_!oze zf7J_8t1n-xgSP{CJ~_$;`zomB*#xZ3y#68Mmp|gpjxBO5p?h9{e4u7}ox`3rcz^Zr z>FiLHpjCPB*1(X@*jGSl-b|-9-+6u>kv`^k(DZNRB(UMpKK8yG!vE9pe2U0q;iG$v zpI`1Dj_mEN`T-2)iPolEl|2lrF$KQAJIO2N(bP~)0aQEySu-h`TVH7NYy)})uicY1Mcm={cq4x6Qb+a`gxOx ztaZ3D`}lOyTx+&SP^D416cv29(Tt@{oNg02WUkyNauZ`i(Kk75@j*7pt3_uBF%mx%Ug|v}Y;!JoGpG4q)C4&} zkvG?>>bp(GYuLS)|9)kNoj1g|U#nOd?W1O1S2QI~Pt~XbRw8zqDstF5JHIlk(Nf~I zKfVwipVH%hXAO2Fr`Jl8Ac)7Ab?K6o*6!o@Q<(++mv*|4)?GJsUB=rNYPx-`EAP~Q zYOEenx+)T^${^~K=jBhV!^BhR8@+m2-h_BG__Ymn|K^eHikr75cwAJrq-Y*4@-5{&Xc7TkS)V8cFVBP5pHYrAdSSN!OO!^k6*hA!Y4*DU&o?m^uz z^h)*gf#k(!MXC1<45y;sgOujwbl=z$dTdCqsQa!Hx2=Zc){|K%o`o6etYoKaL0M5D z$a^neYHGtH+uK*R9s5nn%fY6ue;S8S6zny>`!K^>Mkv-Dd`A+O2EkkGNQq+jyj~TG z@zVcpCxI?*_hJEwY7&=hb+?u%*pl&4%j>{RyPZU$cg{WOk#`eT zIb+>!_}Q8L45W-uWa3C;jh?lPvBVoFXHlmtrRKcj;Ez?_%6J*QdP6OU3}m?wXh}0L$BV zWMt9=kRS0wS}u01sRFiHlsUQ(=mx8;LuhK%j+D%&Dl=4O;9n$0?1t8BEGZrBOUYjN zeJ3j8=Hoy)RCa}ek7ff%>WoFP^i#xJY!<2H+-tnIHdn;6bhe3M6zmOLuLjH*pKQG# zVOHV`V}jbV0~N(Wd@XU(!Bq0j_iwOR4Y2LD%{37@)E)J2gO`g;-ph`nOpeH&9QiNG%_S{@Xp<+Z$Eq{KR1pGCLlWlevcQP3ne$1 zBcBQu+8Bzi6xR7%3ev7I7t#=8l#(@#?K69;UndeOYCkF0XNlkrkdD-TkZHFq{i{p9yIrYY z{7IFC&>MWsPZX>4dV&r9`GVD$42T(rUc?*Zz}3DHo^g>*c;=^X18t-6o?Xjvi*pYuLA&jHYibQWet_$j58Ls9#nS#}w=?6e~U6bz8EpK-zTQW)KqvCM2hNGaGu{N#)2NiO!%{ikVvHTt{Yo zsnaUY67oc;G3W7}tub-tFIqao*fSLlGHvKFL3x@&<3>jf^M+v8TUkV2v;P3~s1`)Z z3H^%@)+tsnlYRe9JgN4@YUGlb(|@w3>M^sgzK;E$Pui*V_A)sbqbQ#m7J?E3pyvOI zGp_!9DrGyH0;EpM_zy^!h!{?%6P}I~*-kMjDG@tohGNJqnSG;hj_YzpG*=QU0f$3F zm~QgS4zpj1F_^SLaK#vK@rnV!9~5M^_=Pwn_q}BgyA|hm>c4|PdtkQ(qdYGsYF!tW z6(wXQT?VXFqcUMiu6DAaX{-zYJqX%i$jTC01m=~I!VML!#bAAqw`A2}npe(%iq7yv z!$pM6Fff7+Ec!1#32E3FIr9RIae*!rn{RCzT+DcYGC{w)&?)K~f3HeC&S@E%6lx7ANYZx5}Up#tL>GmZ?F9@u_ti&}7Z2T{W6$WEwAe@_T0UIYq7j2Vp z7x8>!(I7)Ftu{2OE0Yyg9#1s!$`j|44+jmSoE+I?g>bsC6pfkM8DJR5(rK2eaY^oMNSy>H{V)rUAQCBm*UzfSxzy}3cF&FyG1WN=W0aW;TMKe|G3 zahLfL+0ImhpWG@c=!Ns%oaMIDm3Hsz@9UQkGfqc$6gz5_mn)b#`3FenPTdpbdymgj zEG^+i&f`H$VNYAElI782Y5l^hw@4 zcvgu6en}Ku7{gYjs;ZQ<-{Ev4ANBAl5P{D>1y9Y&ey5#l(L(HEp|Le8GKcxfJudSd(JX(-47ePJL9ER)1J`0O40wNjB4 zQlIt$A6EH1UNj@q3kEgsz)*0B@IrJojy1_HBYsrtiqHiWP?!P+wSc!<#PT88rJ?!4 zgtf-AsbvMWvr_$VM+Y%@J0EcXB}Pb1ZhZKB@pq9x{87x|63ql&KUMbJ)yK3~dUxms zF&QoOiJLLhxU1)99h>m>l%I7`K}Jz0e<@B(V@Qd>$CVhvl+S}^_P0ID@1h3iwJ^mH zU6pf8=WIpd(pEm-1+IvUOez?epoCHv$XQNArF z1rfciJ8&|L$%S};ZLmUtcjWZQc@d%(QdJrd&ReUWag1e=ZAgs>q&5te{#TtPDdvW4 zPv&LA2M;YJ$|8G2PVxppoI%kxX(5X4Q^z*qDmf*h4hREjurMsbXVmNxYk`%J{hNk? zL(qF|5GVxnKts*M_gax)@F7Fw(r78Xh_X4=13UZ+2Mno|yd8IXbWH;yhX96$lLsz*}SM3@+aKo%@c5j`J@oV0{H0goet z8Yby)qtg}h1J4L+$YzG7+q1j@|wqwtfG z?oO|Duy-ZvpUrx`p|a%&0*8*u^SL*=oJe~^ zacFthZ1f!gzmg$Je}(b_myYBUheVWd7kSdRexkY!%df60>M>9&crR#0wJGRmWxZPw zU0PGBQ)97T|H%8i;T;JMP(5um^;aK+BzUUpCf$ukn z{S|c3JDEKuebZX<0-3&l?AwfJY6v=T0}MEhske;(8GjtrsXZp8R~|bBZXa&l7YzC( z7f;;S{vHmT%7cz}B!SrCWJ{9%w;RCcu-G)6(*6H!%^4v6g8@n@z%b>mus6FCWq?q6 zI*5J8R+=22!Ge>Ez}rbd&!pKR@L)a=60& zhTC1eoqR8?G(K{tV4QrbQbdE`+XEnmLh0B-Y(pEr{;bY?JGW}y@9x%Y(0Ltm&Q!6t zzv(1X%1bQNsK--bT)C<7PHDCzfUYh3qcsks9KfSHCA*zFR$#HLtk>z>Jg|IwS+xYp zLu>%A?%4fyUO<*TJF@CWrFkrosq6F&>?=R-(i<;g$DNsJLYawh~3Uj7~sM z=Yg8iqme#QcyAsk>B*)@bVI3_U=)=~T2g-yxE5~s#(38M%g12^ZO@(Ff4civrSS{O zFsB*&7A^XrnYN!Th<*7zdPtzIo*G+0pSNWotHzFf%{#_Oq&`@N#0l* zZDwI-OnPP^{1#4#Y1H-A8gTejRP@`thWK)LlH#a)w2!?aBOfcTBVSaDxE3|@t9EY$ za69=Xx35pSzM+5D+-Y|dB$|3FvHKkiW!IB79|PHSb5t^L#UJBIT5qOqEUZsrU-7+m z8co%YKzs=}*ry8>WKy@he!DgjaSG62+J5_y|4!*+8c>lHOAg#~qdo?fE32e%!xazZ zUGhE8G*op6K+(Pzcrvhd^l3f4;%GM|fn{)$zHtym`(pK+zN^^mRO(j0Y2Mx5SiI<| zB*0Pm`0KBAKi>3&=A!^=dhpT6r0=h(gwx8?WyCIZeTbZnx*kIFJKYFw{7N!LV|Nc9 zKs}n8U2p+Mv*gX-LmPkpnep~h;74^ZC$LYp+x-ys1RQugP?H-(k8$NaU8roL#h&hx z#@shn>fFXLx2{J>RnXTrv5vLB1*zxF6Kabq-1qx~0~;pR-??B`O|3iJK7z6z+>Q#0{xh89pdatqG`lboD;MV5p|FJ1TpprgyP5 zA?KZSnQWw|@}29Iqr8F$|A1dpUk|rl^(x2h1k={*5h}sAE`y|!Rqbo#fK>Ra6Ceo# z{={d!?T8g}I$yp{kLf*x7ZD%b9`hLr`!+$nYdwNgWtpokw(A4>G$qgX4!4H7G7`J| zB;A|n8}{rcOEVuz6x^q+o3S;t+1Om#?_AnI`|qsi+~$|G)^5L1Gu&LZ-aG(0~b_m#Ojid`AsDB3*yhfZ{v4=D56JwhSr6a&U zQ4QJPn#+gLY+3UO`+8*rV!DjS+#JaI4!^ga=SW;WUYx9-#zOg$JhKXcG8=t&E+Kw^ zL-3JxPOeYv{@TeGP{fZ>dD_dTvvm)h=OVbto*s3NM)iW5*AGZNQgK5{R}sfc7s~pCG)O^~46KXRh0mNHvDG})3nJA9^IeMvk zlNzjF&`RbziC0lFIB`fDIu;CLi}wiYfzuDTEO;MR=odU_{Z-fFV`ca}*uIt;x# z0ny?f6eWPuv3|_o$MkOD@Ey|q-%*!>{!9VH{47UcJsz?~?M$fQu^sR&tpM6AG%1Bx z&57IENQA!kzd1S8I2}_{q~bb~`64=*QC>z^VLkup_+~wKyH^818{lK(5?e02gnAcU zq>d=$`7S}@?}@%GHf;)wvmwt!K-A?nt05Hn0hihB^Jl=L%9w7>QJS#2=P zL5Pn6FZ`j~^?T_e?=vfCW+eA}dFBxxwk{Lf!i*wMxl!o+>T33q`q*$>SW=ObsA_M3 zsk|%VLiBrrIE=L=!^;+}m20-q*H}>!jC^|whD*kz;&dcJICXMpYZQ3jz`+L%aky+q z^|^?j)}%WR(=#+|;*mN~E>}}1gLH@ID~sDa#47krVaCwj{L+F&nm z>FHVcZUO1JKc{q4@Yv>4hZWx1u#-yr4j-#X@34dxB&ao7c#0< zA!TV=Y>tNS#R7wy^`NB2l}62I&m4y?OK#&X|9z_;N)L(g9yinT%fEj4q7eelXL@ek z+Xf{FT)fEjsZ`8f_of(tSP?NxDPFT}P#z%a*bs2TZ=zWT3^@MRePADaMj(Qim=g2n zmxUJP&Ic>+BOlma z80wK8t8g2C&4(LhJSzk^?i>bu%~pr_Mn!KIXqd_GS)^jxa0A^pg1ftbFO|AW|juCZh+;%w<*J3@0P~^f*fY6aoVO zKr`QFOEP;C19*{i8!O(+XhMWoUn^0u^&E3}N}>qj)niHC(cemaz@WeeY*qu_QQoX4 zWz;yWIDCB)v3C6^A~GW+#^CjFixt`dL`aoB7o*dKDNa#CY1`CFNG~SKE@1iLykqiD zi4T41T%w))g1qlUlGg8momT>gzd^#6N~}!l<7*40c!dwoXIuvTn^ynC$HdCQ+-85F z{k-73^i zhdcfWd=^*YLn5&yVYW9xpua<7SXcz01s5)0ia@q~E7IG-d&h0fUlzU@iexRu-I3PO zKkz{o;^}{uqc~gmyc-+P$4@I6LWUS9$VkhaZ(}GHNQ6e{ld>TUOED|g`$Uuu0TjuU zM=(Ra(48@Wta(#T7RB6FdW@TTl4uTbM=HnQF?|J;=#XrCJuSbAH zF}Lh|fDANFh;yKE{8?)oJRKd~z#NJx0bfkd$K6@i&8<7lde3q;PLPfTIm};??zO=(lMsTEP$5MDd z{6yoe1WR;59qP*MOTrkttVYi|#t0-dJ-L_}BAOfM?t$WAg|NiLH#hq7>*GV%?gXJFiJECB^jfcnLx#5Lvhi5gm=_-C|D7;vf7!Qs_!!-H2MGt7$ z3$oRm-@ZqsI034}r>_59XM<#yh?(Gwtn2@IXE+*Y#DQr`MQ2his?Xnqq)Lxkgqs)& z-AZBh>dTbzQe#R3crk_{Xki>K-vH-SqwF%SX-Wzh&^6wql|>A6aHk>(hGHiAUxQ)( z;OAxK*i%L_4@lPv)!C-$LIBKcvZt-h$=+IRLs3Beg)b2*#eci_#?wS(s#P3X6e4S? zr-|y5F62y-KH_xDH5Pu7hJ=48X8=VaozF(Y+pONmj}NEH-Qx_jF`GYvkXEsVU zS+Zmef(I zVOvppMeT2a*6h+(POlu1uE>}M!#7FMgKN~u?+JFDmas?=ECL_P^G0S-Tio#SLY7!+ zHEDv)mGM#@I0ThhDE(B}#cE+q`K@<`u&2WyMpjkyJ6Y9mMRW3bn)ih_pGLGov`xOm zUGI&Jl_mJ_-MqD%{}50jD_sxOYIx4;v~R`CM#0?(H^u0TnC*Q=ybY?1uRRApf89EnKcBAG>ma__%8~ZG}nIY{hfh%@MXl4UW z#-QfXVE>MdvP_86O2*vQ%S05H_X8Hz%doSdwm3#6q}}Z(nLXL`FPM513!>NXS(QZ_ z;0IpSl-->Ge_@z2A=K)sM8hs~c2{H@FOfsRVX6#DSC8jtz9TPutQkODrf7IEQ<1jk zTZmn!kgXUg`&G34z_1qT!;9^$jhB2W?h_cHHa;hPHYXQ*G&AkxN3kf>QkR@{Jw`l% zG)MP6AHk@>>ZIGi{2d);*h!wEp3xjI@tH&G>uPEnDN(q`DF3PRfI6NDI=a|TjMvrK z?D7}$0G4xnNe zFTKw(Ur17MySD(aPB#?RyUcnMD@xkIMXOZBI#~h}q7R!@M1OL_p(hgk=DR`bQFu+1 z&&1^J#_^%~!&DW&}7y9PNx{_ePfUJPtZI z0fs2F4c~|Lw+yRu9eI9o*bh`FcKiHSz3+d}n?Rcwv$ob0cdt`)CzF8b#;nyazO|w# zIlI*7tK}CGNfA>S=lXo4JT1~2;4rr`T)Y?bV#}T0i8$V!J8y2F@c3kV=<&%4;0SBS z`kkhqE>AbV+#pU|ghV4i*Gd(e8i{qR>LN3P0J<#fRWaLg3c{4qWYtk^IL^-jDxw+|Cy{h=#8J#8h(QSVr~x3Ku#gPogjY4&q-($E&bj5#{}*Nyl> zqj3NP=W97W=vIz;#e5g@ZhP%zvbnok#bz95F8=XJAQ5Yu^|qYbmiOkTI>GJ9UeD&- zDS*pDqwV-rKCYDPi%S)7EUNN0ofc%n^&TxQ50#dbOiiv&TTPGZ)mTU*%)L}v<8h_^ z-L@rK%7kq?ZU$u>;}>INM_Rkjvwn*3+F9IKTzn0(ntVD7Sj47-sa*zn;7akEC`cc) zC@=TXm!`WLQE~xlUo4-$rJbC#mo7zBga#iQ&;epdk$OQkwRK-A^iy<~HhdT8#KVI< z8X5wI#U&C*0A9zv`S|#*=*im3gPab&3wjGEv-Iq!?DnJVboUPif+_%}sbrECKZ<1b z^riomDrly;Kc4<`wf^8C;_BH$&qnOgO191T*?vSIVCKRAjh@H)t&pq7kCg+DKUp7R z$9(p}$p)tz*_H0~mAvm%9!p*c=a5WqKAcUdaGthypKiK$vf+ndCtofWPeZ>cc&Y}T z4&2jgo_K{Y?_lky#8O8lC#YK<${QQAatoZeZ`|G0*2)3@48#7E^@k_uR=e_mejbF6 zn!Vq}UVzLCc7Hf%9T$aCeVET$LTO>c$C5r%=B2WL7j;Vl+Uy(>3LKJ^ zO-K7j!6ymL>-V!-m0$mJyDMfVDUn_%!!Gt}s_Cw3o@7&CoytS{#%9y$1~q-|*G084 z2_UZgw+y@>ygKnv?u(kFf12zadV%$KllRJaSJe;5%3Y~$M@#z^Kq%)sVW2oM)xY({ z#oSt+JxF_*7eQSMcQgQ~q>t$oAQre#QJhuBog4=i(bX}Qj~x*vE9-_@Xr(#e`lS#v*jK`{h z1lj*9#`v{jWrh1@9dLrH0>T@7u4`I%r0L$i+e36onUQFjGZ4hf7V-()?Gs= z0TYCicd3B~v^~qO4FMiAS;qm0q*Oud*2nU=ajM|yV!g~ceKj@y^FrepydK0CA=NCyk^In{02Z@;i>DPWViiam-oUyhdNWg<~3h<5=Os zPPMDmghKY-;&(!6R_ngf?xVXRsRA5!eU|*hDf|QD{*>HT{g4Hl6+dd(!uEEV_3gJq zf9*`h^gSL`|74hg7`on-y)e&+3gPHm~<%q|8aGm(QN*I+z(X^RYFrjwIsEos)ClZYQ&1vs92@c zNUa*RwQ5!E8H5@swUU~xUDT@Dt0;;ZwQI%CtbJeqXZL-dljDJNJdrC`uFvQDe!pIZ zbZX-q2_0*;aU4=a&#D5TI}<|^O^m;nI}^P~nw7TYJFIg`v$g4~arrZM5|71N;t*OQ zspp@sii#OaKs(CH^7t>GONIhW`$0hLkPDW_!h;7eI4c|qo@FurxIesRe_<*E`m?&%kqJW$6){neU{0eoRop`4IzEdETih z5;}!4m{eH&V1vzmOYoi7KnSSRqvIh zVyvAC7cjnKHB9+~Sq%RS=nBD{$L*f&j=|fW( zB7p_aq6)jj5mXtBP-fKyF{xN6GHRo#!7O-DCoN5s65}ESfy`$|fcZIH%$k?hh7fj?3_>KBLtN$<#5t5p?Jz9 zF`0A=aNF=f5IDhj zk=%d&>dogdJqa-Q4M@vx*)Mg|lH~(78#C$a#_q2cemBdo?Y!ScF>nNhlkf(*l5jA+ zP4kC5K$Cdc%x>w}?5x;>Acj3~bV#zugI zr^n!s3yu{La2HMD7|;Ef8&dP+xBF6G(Mv^@1<4mBx|FOKDnu#s!oq=)E>2yw1z+96 zKZd~e)nhdbR1-SF6~VL!3q_WW-!wLV81s`4`~tb(2WmEK9FnxjSD1EC_k@XL_s7ec z*nd-%yGndJ|Ih0zNkE(Ll!ZMHkEYtEEt>zqM3V54_CgC#>#SUaQuzFPJv@SaNel~M za!42=$!d+Q_J(_YG3AUXpBqp?*IDC!J# zUOAK-tt=r!=@(#T1O#8)go=^AS1Kw3NNbxEC8Ub~N~w3yvoa zdN}uLLSJfX1Qz^qi~Fd20eO#l*7T1l1J=N3?EN{UIrx)%bmpASb9P#I|9j4%DTgNQ4pX_=S?zX zkz*xjT2@uhll7u;_6T;jXHfp{j#RixF$qXj6+r0Ei3pNN&SXqN^gCQIlGemkL7$JMOtZZ3K5)GDURm5R%S$rb43AIHxxh7>} z0-==nw^xsvYls|ii8^qlttQ7xIFg$kbXiJ*%6qXGi$E=ObPq=q7nIQ6W?HZgoFnQA z1PfS_G?468+DH{XD+p2WhRcXyk~KPn7a&o%!rEaJCr6STZ>=YZYEU9SYA=H(y4O|AkeFiSuI7R%!2FLO^JydZ^ygEVH%92*ap``ZA(t~WZ(W)}6{%Jw!q}(2E%g`SSq{}XM4R0dJ z+vTcBQWEar;_etI_ya&(?~w^5;ThBbkC>~{;4WIIM(qXAYwpV42XXx25!1GWh z_AyML4-ku_*&e!Ie z@^-xMzILkA5-~z`6Hfh5!HMU;krjzDlk@+#GjZz0YvD>({rBq^%x@wIgv# zczI^ZORzJ}5_YI&@^(<`)aLcje_v{3i=)(nux7kkXqPgX8}8SY`R5H0lwY*ODd64eG)sTB=|u*|%z#+?JTOPl8k@C)t9f3Xir zkzL5Y8c3)#wR4!9ckgTYHGQqBt~4rEx3^WfX#d0u6H8v(%VrK&5U!D6{N*Kj$a zFdM>1T{hiJPrPiFT$K!7TE243-he}*gd%LI5Sg!>8i+X^Ci7# zrwM18cf-~5VEShH1AmzJ(H8|`6cnA9!g7gz*D5u{hGaFiWAZI~kGXTjY}#7oiJ^hn z&0=iif{!s*Epf}S23h=IjcrmwK-+ao%eds7L(EG#UcjDLoJr19FfZOJosixI&b*_1 zD&;*kWMiv7MrJ=2Pm3zww$asb_Bq&cklE?acu+jjT{qbr2E|`DTRtkGF)F$EyBXez z!ghd=6nmapuiFe-b2G}1$&P*3pGLz?&8NAa{Gu?^uWa{{j$PN1?jZB_URH=4l!U=l zEw!&_CL)&Jrpuv}J-Q40Kbt%WREwm1y#62{;kB)Et#7^Gu1vty@rI8)x(0sQIlB4c z>V;EU>oT7L?7Uz9%}HhCPQ06B=BP$V-}qIw+I%UpKSO?GclL0xfz}2;tlMy@o4(|K zI6tJr_rTZ1{q?m#zs2bVSYLc1Q6D%0Sgs?cWF`Q@*AZPPiLqK zA#zi{%`)U`KgtwVzqqXtS-N_*+j#gc{v@ZpKVavt&S-j=84Z5UmTPXg&DCv6*u=Sy zgxsjQpwOJCt`l&W*q=_R@jcpD*{$=QuJ_yCP5-%Yfyy@Z_0_?P)7HjXpMymgN3J;W zUob37^rxqd4in;nkHxr7BpQzYgjMZ!9KKv5fT`(+b6h$Z3ai$)*;K~X|w4=*mbhPOSk`AeqTFUO;-mpO;nvRwh|g;zzq2P>00Ni%qOq96Lr3m zj|IscF2C37_I_NiE}abU_i1kbGa7JOIN@!iH(j$l8rKJ0EtzJHeIir?OPM@l`)$V> zf05qNvyD&A4FPo~#XWyl7GJ(R*fM*~+m==5x8G*vbGr7&re0RT%y(z4xg~15fi|)6 z_!B1=TR*T_o7^MnTI;LbwE3Tnd*5I8O82naG+=CZ^?pqS^F6rtRw8>jI4 z*~7U9>l?8E%Vxc<`W@(?vt@hwc-{QHGpG6SlupCpdNmUOC#jmO3b`e~G#j`)vT9Q! zHrkzNG;OY$$tN#&w6}U2fV#-ny?lApl4tSn=xm-=biL?wq48vUwQkkTI`eE<)odK# z&IFv!^{>>5M$S&3)-@hPHJ(OxniO;Uvb3w_+|=_uS$I)frJ$hTO_=73^Y=JfAJLJQ zy};YnustMOaguFvycU&7+o)1YT_!M#!E4}F4Sl{p!XZcvn(b8#1%-NX@_@ByzRlQhQY;NUY(2jTl83=^sk&=KVE(tr99!bWl~sMN?jec z?ay$!ySm%St#P!n;2_h=0=scxiPPY}F?F5MsFl4_`QRTvTb*B@ZL9-tm0!KxQ{SE0 z{}R;!e}rkVcpsm1FAkDN-UFD?;t&9bV>!BO;bD9yX(Y+8yWqF9s>j?!wbAYADQ5fr zyADjV{sF$;o=5B6FNoNy7O|h6nw@O6Ot|u5!*4epucUu!O#SWQ?|=GQ;ot#>hiui6 zllN=)f4!d?r)XZ7<&vwkDj-t#qv}0>=~HnXnL_`@sJ^i>GMT^#Lh-UDaiD|&aJ`mp zO3NSF*a4omL}d>=_6F1~ZM@{?Rw95r0>DlWk!|)}Xp<+UCv}|e%Z|2^*+4prjBRl+;IQ{zW&WVh+)imZeY#6tsckKtp+Dy%*AxBo5>9h0=b_x`gTu}^fqx_J~g5%CU&n**Jjt& zf~~aWdGeqGuGJ1~>z37{6n?lHPJ)rO)ObYL_UbdQ_N@Ae{q_;tk^)H|nVlTu!zbc# z?^kR6ON%gW>@T_IF_RH!B5XW0KP!Cdw zW}A8G1397(pPxmOQZ^9dj<5I`f`b}y2}ecg<)8mT*3%^C=?kE~!)y}2YX)g`hC!6E zaAq}Ruyh(zRQBV$7ny!lI$^VnZ{3Z%-UhAT$J``xNXl4G?!UikwkaPX!K&;nE1Fwd zq8u6cF~&GEL&DufT*|?LQ|q!2pyNm=bzBkXw2RSO^A0QfY->v$PuY9NL zJZNh4E|r~*-6|a3`*Tlv;%BfSJb3Ui@RuE6IU^Yguks^2?$&?^Ng(F$kv2%QxI?r* zf?=!x0mnj+#?TNVo(QtpbUj)eL{o7WRgO+9mwgao6}KXTaxLi1I3tL`Gh{0;9^63| zrnNdYffDqwA#wSy|F>VY!>d;8cV~4 z6$Ox3a6)#$O-2g~IK%w!>v5>IVYgRuRXyD2nc!fT<=TezqQUQ9rq_jNk!3w{Idi($ zH^7HQ>|(w?y#)hDFhHtlvk&UY@os}D<>vl$SJdu_+I6ht4zskok3i(uHnP(Ljo_bb zQ44NDA#=3fMxe%R3)CDc`7Cmwb;hj#qyBP^2=}k@7L+7hN;}qIYb)8b+4i4 zd_XwNHyla-nO}Ew_iN7D`%FLMCQX$dvE0uioK-3549d~vOB%$Po>XHf-0GQlUFC!MoB>kWt?TS4n+ze#0EhAjtV6^SIS_(yjnJy5I0|{Y} z2H`ZzZ*Vn`#o~8lZ@x7sm|NotyAtlLfK>b)0}vn`+3!xH$zTX~ud)z*V_*AF*|h`BjW=6d#1JS-a0viShZJEsM;4(G9pi{|%n8T^q8$4? z?2Qx$j1c||tAvdJagkIt}fCRrqJc<_f@a*z&M0~s|4`Zf>5o#P>CkocRh3H z5bh^E74BJ3qT|ujg?H`+X|GJNo@Vb1&@2RSM$UdtPLIGxzA%3mjHqC)3VXH={Ba?P zonB%wx55Db=4Wbnkt!6$7~7D~JQIysF6-dcVs zm8Qih?$i6o9Wxh$u;r+>etNiI~> zHHM|EWaIHSB8Yljx(=6+>NI>L>Lr4RfwoEJW>=u8BzjOT6tfvfbdN-#o+&Cqr!K%% zhNK5SF8B;dKg`#k;LF3~J0OU2{FadeF$C5Kv)N7uH9>(~7Wuyi2bUMf<#9+sI77Um z5;(=(3mz>`Oh(&0QxtM2`kBDME+N1n5>u6O9$cnc?5T`_6$W!6&)GuOLKqCLsG4zk zUeRL+B47TVBKz=`lU|9o4(TU@^j?ktw<&10Rn;U3H&**!8Nxlm@8F| zE2@jUL40jWOsWDw+ea-=c??DjHsxDChDdjb=C72|0Vgw@Jlujfhhi0aPy|UY?Q*A@ zgAEaH;sorFtqGdC(Bo4w%?gM8P>Bk;1n*%{&$)!CYQLK&Yo2?U^{D`-aUP7KkfoTI zn=j1?1Y5+W4(<6*cwGPqDfXn`Gfv){h(wh^?`b#3^`&Hs;Xp;Jl!5|Sj=MIJ2?SKa zy(Sv?BC|iYA%gblbjf6L8-#8QTJ`yE>xW=0dXWTR|4gSn8J5YH@x2?svklP#Bp^A` z*V8(7z6XS2$hjl=+&VEX1@Ceh#KClF>!n>(L7JNPFK_Fbl+ZT_9{4Q{t#2_oh8(iC zd@+N}sMe37uTM9>78K;K9x1oOFP%te=7?zO-u-F25c2GA+e~{PcYS&h9=O}X@<_q3 zyz`8h@uj00Lx8r4ekk%MCX;P>sux-3F}6E{Cw@6f@To*8Bu^Co-|0} zlyr{-#rZu%Q1a%0}eYBOKE-Wd+!5j|!0J^CR{FA?@ zLScmz*1j7}(ptIJqVwR+yXPg32!*LuU43=gqB{NB1qD3qNDj!XhvOw|jz^sWHZWRl z5dd?Gbk|m?j#c|b{(V;7OhyaqTh$xCGe~mZ(F4mf&e)WTzDttCKYzlRcRtnX>H7>u zZ2c;C_z&p?$=5;3z@t*tstp9FvB$Fl9m3bi9+Tf>Jfr-g<%t>j~ z9Erd(1pCbZdZU|BJREhw-gv#;6{{guXv%fNO+VPM%Fp(q*)J*HMnNP^j$Qt@dX{>%!DR(fNNH!&krUgf$+| zHs|Qoi^%2m=9HIH*{Cxd!HJ227`2(I`(NuCGSrqB8>cr=mauO>YMmyMR(F@okM%kC z3O_Y4^>GyteZL7J4B7!^|`~!%Bmbtw;Bh~X!Ei~`}!OH{D;dOz=-}0 ztMdlBL=MQ_)&mV7!Hu1rx0Jm=_ww`W#e=e+OO+d4<}Gz*&v<`-DGu#|l^zugW% zQH~=xwuV=$=`6ivpPD^ATuxuWi_ZBa3-&9qWsk+Q`FOFDyhkU_ zUwyq_AM9yuHtUE}f3p(6k2o*h@(lR>oE@-_1?>H$-j1Ez+1uS6F6>rMztBIz1t{%L zXJ5MS&mL@7%gC4q>_2$BT-Ck~piIW7nP=u_0}7{|V~0^xHtX0IpPZ9!Wyl45WPaa) z;D)ZX#VQwF+@8(hiYjPmtfB2cU^HG%%YACl+plm|!9HsgaKIHh1lZ*Vw!axhTZMmW zJU*=sI7yngrty4xb4Q})f1S9(1siKKz|9u$-(SGb9dK5@6vrGgRND~?7RZqUZ3=kjczZc zQ8#wxb0zPxOz~|0>->Ar(t8NtHTy8A#UXkT|}~r{oc2tMwpY!?Uj7cRa^I1+bnwQZFTI|HzD?wvRyl%_CT~0Q$5C6@z-);;z z*jl(sxM-7{w((->coQ(6Z+2%Mw*>4^sY?&xqcrhq{Mg>FSb`DH!9bL7=Gnh(g@gMF zXRZD6_wT=Q`*psr^Vh$Be-~{V&)oAh!L!tWe+Oo=zgcDCi9S2*Kim6sc353&`lwVT59Djfuf3jm+T z>+=0?47^Nlq!?&GIj?-uOTnYXIRJw90WQhc2-8n@%|_V>=01?3R;O|Jsl7^ z6{|T!avvOb99f+!y;eKLlgQoXibcMnx%c6a#h&4Br0y@Vw&&o>N-h?!OW#`xB5|Yy zU6475dnzaHSUP#+Z6vcK+`ID3b(xw{uIrQX^`aH?&f?0cbK}WuyN-fSnf(3yyHsIX zl@ni%sGz&=vBk+jyN*9C(YCFtuEEdGZ`vvD;S+gzg+|$cm#?aU!rPzGFlR)<b6v>aJMCSuiesHu68+Ca-wc-9|>4|l6E_&n}E_9A*cvtTZJ$_%LosprRo-O9Vdn8*KgAdqU3V3zmlTI(DojmMg znchW;BBY0Q-rvIwlmV)Cs`6@ydHsa>WbXGWW2T=cb;b8%69niE{O|d>9B#HIu6V2y zKt;r}S z_0QsDUe(_0K%z6udCKfoa@6zkkDO7<*?f%6UrdUk7Scj~m|SNA&QCUOe|phSmmQeC zP+M^Gn>4GLo}seBMwN2(-+2!@nCwziJ6pH4Q{~H};nBuZnKSuoe#T;IkM>W#e3dO9 z*{hp#osgV6b?KRUH=^D0d3y53JXATh0a<+Yo{Sf+6A0`Sp}pQ(JTE9Sx#eN6*R_!S z+w^CG}{U6~|zJYIf>WyXdBV<_prkMhzwNNjS!B;6=JPMl4b>#p_ z%r+g~cG@rpj;ghsow{%1*b{W)a7Hg$?J6UsDFx=nNzV>PNzq-VcaKH2Dx&wp-U<~Y z-(lym5`ezgzhM1}u$-cKrRKEOE8Ls?J^g29mN zvb+HkWQYlUpoN6U?<{w-e)&)W8|sETE+Y6b*@=YOm#G#mto->rh2ol4F@QzTxSGcd#yt~+07DqI+>Zt+;l-cDe^;y?@^i4raT)m*sbk>~js z7N#t*?w&C;7ePglaOqk2oC-d{kiP@HRR0iVoHw_u!pO=_S4h$Ljk3ZaC6H9R@X8`^-xJ_uFe4&+|^fRNztyKREouGu_^=a0WTe*P0FAt(h7mr|s2=B7U#!$p|_~HM4ofU9U*#gv5n!~u~1o8xw+@oqLt3+_{??)$& zp@4Iq8J?E_Fgl=!HWDUfU6nR^pNw|bMxkYx;EVTKNC*T+eV7`Z1V32Gy_&!2t07&A z5mY7UyKg4i)}Jj01G2CI(8y_ELNxvf+eq_ce(?3h11m+~d-mK7 zj;7xO8B2)!m>_OZ5<;UV)qN3iOitH8`taG@e+NP2%JFI9kZmHtM5(~Ya%e&>NlNr; z-XjdNhV+XR%Bv&aw(p=oeof@PB?!9)sEOwDoBMn#$t_w%Md~(-?$uR4ve1$lFg8l> z`@R7%zb8}G@ow6{b}%U!*Ly8q1**r;1c*%{*ke%eVA3E-oK7&w+5jqe zgK;SZ$bGn{Wp|UWBoMo#D@#?qP_-X&dr&pY@ArEw3QVq?#|Z*m5H)@TA3b{(NsJv* zNGU0}H$Qge0{kD)nT(y%K?^HB!Y?r3x=2f|xgGK^mteZ~Au6cgu}8{1ss{0rEwTdI z9H`gAbcL#U6|Qh*!3slsCv5I_E>jPVIWPAS&b}8}GjJi3^ivUbK+&h!~U|gA>zAB?c!%e>?cab|SrtQYSntz9jVy5NCI*4tY$v@?5y3 z-^aobjm0tJBLy~(`YnxRx|T_LxcFd!VhvG6d#+0y8j31H*<Ly_H2uS=O9(fC!_Z`IG4!g_1V4)4t1bbGB6x2Ez zD$ct6R_epS7&gY|q**usnm8RM(mlj{PZyW(Wa$Jab+HhYz=Lg~`Cr+l&MW!`Jncfa z1%m}#LVH{p5eb-N&wA5OQ3Z_jj48h#ldi;LQEAmDM+x9;<7{8b1?8DZGn^Kah-PA);;h^)X;4X9xj0ER(4JS1Mdf4BVBVb&CBaE)#wEAdh|3(gFj?C^ zY%Zt+mXo_R1-HO55%D__%9TaQtDZftcudJwW+R@%KMk0O3>w<=6gy8iu<;y{*m1hg zaxT{~CO?e_g!j!{l)D}WdJJuqWp$sJlVz296%`D@NR($%TwzrEaXwZedf~U16Sx^R zB;CuR*af@;btM-ehWDYD zOuHYSU7ITOq$2dZx&oNj$=~jqgbeaJFK7iVl z9RC18+jd$MpBI#TCTIXNYkYB$5MxMisTFt7)7p1h`>JB^i9)x7O(K>7%Y`N?BO^mp zuo7==kO0XQka|r6suf1vj>8QP+;D2E1tO_v3@b{FA^!@*n$LGahEi0ai(y6}4Y~%B zLpUWvA9Jee8aa&$T3~qEQ3rs@_g&0Ic!**+Zk0t76f7G%C&9vEQ7KO9OFd_6@k?LJ znz?w#*Yb|qNKB>mAG|g(eJC%#h!jccG7;$Ou0<<62m?=+s$vH&Scya%nDisPkOKBK z=m$wb;-5;wKRW{eBYqB(81yxFY>>ugSqY1-hqzRrqJfCn6_CsFL<)Y-Uao@oGQve0 zsZO-eN#@eIeiV4?lRs*=8pwV690;%vYEe`-aa+Fw+MgEIphhG7}CPGVw&U zu=%=X_V9-HvHM|vWOtMU9OKL;tY@N&V∨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%0DmsUhwMk5 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 6!L0PwS;5=}DMR{P{pDnnv#0egy1sLU&fzbr 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%0D)DmSbfmTP7v+X7`_}Lmhs)MRo4 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

    -Q)>A7-@TF3MB%S!0Ma<*ZZ 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

au=Lum-{rdn=X{11UA?+(W$8c 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ξ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

?Fp>*?}$ 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 Y=Rg1X&;Ql`3jhHB|5}>V&j2td09-RzhyVZp literal 0 HcmV?d00001 diff --git a/createChannel.sh b/createChannel.sh index 7a4328c..a4af7c6 100755 --- a/createChannel.sh +++ b/createChannel.sh @@ -1,45 +1,45 @@ export CORE_PEER_TLS_ENABLED=true -export ORDERER_CA=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -export PEER0_ORG1_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt -export PEER0_ORG2_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt +export ORDERER_CA=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/msp/tlscacerts/tlsca.assetauth.vn-cert.pem +export PEER0_ORG1_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer0.firm.assetauth.vn/tls/ca.crt +export PEER0_ORG2_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer0.gov.assetauth.vn/tls/ca.crt export FABRIC_CFG_PATH=${PWD}/artifacts/channel/config/ export CHANNEL_NAME=mychannel # setGlobalsForOrderer(){ # export CORE_PEER_LOCALMSPID="OrdererMSP" -# export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -# export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp +# export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/msp/tlscacerts/tlsca.assetauth.vn-cert.pem +# export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/users/Admin@assetauth.vn/msp # } setGlobalsForPeer0Org1(){ - export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_LOCALMSPID="FirmMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/users/Admin@firm.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:7051 } setGlobalsForPeer1Org1(){ - export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_LOCALMSPID="FirmMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/users/Admin@firm.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:8051 } setGlobalsForPeer0Org2(){ - export CORE_PEER_LOCALMSPID="Org2MSP" + export CORE_PEER_LOCALMSPID="GovMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG2_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/users/Admin@gov.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:9051 } setGlobalsForPeer1Org2(){ - export CORE_PEER_LOCALMSPID="Org2MSP" + export CORE_PEER_LOCALMSPID="GovMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG2_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/users/Admin@gov.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:10051 } @@ -49,7 +49,7 @@ createChannel(){ setGlobalsForPeer0Org1 peer channel create -o localhost:7050 -c $CHANNEL_NAME \ - --ordererTLSHostnameOverride orderer.example.com \ + --ordererTLSHostnameOverride orderer.assetauth.vn \ -f ./artifacts/channel/${CHANNEL_NAME}.tx --outputBlock ./channel-artifacts/${CHANNEL_NAME}.block \ --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA } @@ -79,10 +79,10 @@ joinChannel(){ updateAnchorPeers(){ setGlobalsForPeer0Org1 - peer channel update -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com -c $CHANNEL_NAME -f ./artifacts/channel/${CORE_PEER_LOCALMSPID}anchors.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA + peer channel update -o localhost:7050 --ordererTLSHostnameOverride orderer.assetauth.vn -c $CHANNEL_NAME -f ./artifacts/channel/${CORE_PEER_LOCALMSPID}anchors.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA setGlobalsForPeer0Org2 - peer channel update -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com -c $CHANNEL_NAME -f ./artifacts/channel/${CORE_PEER_LOCALMSPID}anchors.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA + peer channel update -o localhost:7050 --ordererTLSHostnameOverride orderer.assetauth.vn -c $CHANNEL_NAME -f ./artifacts/channel/${CORE_PEER_LOCALMSPID}anchors.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA } diff --git a/deployChaincodeContractApi.sh b/deployChaincodeContractApi.sh index c6efef8..76f43a6 100755 --- a/deployChaincodeContractApi.sh +++ b/deployChaincodeContractApi.sh @@ -1,63 +1,63 @@ export CORE_PEER_TLS_ENABLED=true -export ORDERER_CA=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -export PEER0_ORG1_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt -export PEER0_ORG2_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt +export ORDERER_CA=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/msp/tlscacerts/tlsca.assetauth.vn-cert.pem +export PEER0_ORG1_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/peers/peer0.firm.assetauth.vn/tls/ca.crt +export PEER0_ORG2_CA=${PWD}/artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/peers/peer0.gov.assetauth.vn/tls/ca.crt export FABRIC_CFG_PATH=${PWD}/artifacts/channel/config/ export CHANNEL_NAME=mychannel setGlobalsForOrderer(){ export CORE_PEER_LOCALMSPID="OrdererMSP" - export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/orderers/orderer.assetauth.vn/msp/tlscacerts/tlsca.assetauth.vn-cert.pem + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/ordererOrganizations/assetauth.vn/users/Admin@assetauth.vn/msp } setGlobalsForPeer0Org1(){ - export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_LOCALMSPID="FirmMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/users/Admin@firm.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:7051 } setGlobalsForPeer1Org1(){ - export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_LOCALMSPID="FirmMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/firm.assetauth.vn/users/Admin@firm.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:8051 } setGlobalsForPeer0Org2(){ - export CORE_PEER_LOCALMSPID="Org2MSP" + export CORE_PEER_LOCALMSPID="GovMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG2_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/users/Admin@gov.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:9051 } setGlobalsForPeer1Org2(){ - export CORE_PEER_LOCALMSPID="Org2MSP" + export CORE_PEER_LOCALMSPID="GovMSP" export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG2_CA - export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_MSPCONFIGPATH=${PWD}/artifacts/channel/crypto-config/peerOrganizations/gov.assetauth.vn/users/Admin@gov.assetauth.vn/msp export CORE_PEER_ADDRESS=localhost:10051 } presetup(){ echo Vendoring Go dependencies ... - pushd ./artifacts/src/github.com/fabcar_contract_api/go + pushd ./artifacts/src/github.com/asset_contract_api/go GO111MODULE=on go mod vendor popd echo Finished vendoring Go dependencies } -# presetup +presetup CHANNEL_NAME="mychannel" CC_RUNTIME_LANGUAGE="golang" VERSION="1" -CC_SRC_PATH="./artifacts/src/github.com/fabcar/go/" -CC_NAME="fabcar" +CC_SRC_PATH="./artifacts/src/github.com/asset_contract_api/go/" +CC_NAME="asset" packageChaincode(){ rm -rf ${CC_NAME}.tar.gz @@ -97,7 +97,7 @@ approveForMyOrg1(){ setGlobalsForPeer0Org1 peer lifecycle chaincode approveformyorg -o localhost:7050 \ - --ordererTLSHostnameOverride orderer.example.com \ + --ordererTLSHostnameOverride orderer.assetauth.vn \ --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA \ --channelID $CHANNEL_NAME --name ${CC_NAME} \ --version ${VERSION} --init-required --package-id ${PACKAGE_ID} --sequence ${VERSION} @@ -106,11 +106,11 @@ approveForMyOrg1(){ } -# --signature-policy "OR ('Org1MSP.member')" +# --signature-policy "OR ('FirmMSP.member')" # --peerAddresses localhost:7051 --tlsRootCertFiles $PEER0_ORG1_CA --peerAddresses localhost:9051 --tlsRootCertFiles $PEER0_ORG2_CA -# --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles $PEER0_ORG1_CA --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles $PEER0_ORG2_CA +# --peerAddresses peer0.firm.assetauth.vn:7051 --tlsRootCertFiles $PEER0_ORG1_CA --peerAddresses peer0.gov.assetauth.vn:9051 --tlsRootCertFiles $PEER0_ORG2_CA #--channel-config-policy Channel/Application/Admins -# --signature-policy "OR ('Org1MSP.peer','Org2MSP.peer')" +# --signature-policy "OR ('FirmMSP.peer','GovMSP.peer')" checkCommitReadyness(){ @@ -126,7 +126,7 @@ approveForMyOrg2(){ setGlobalsForPeer0Org2 peer lifecycle chaincode approveformyorg -o localhost:7050 \ - --ordererTLSHostnameOverride orderer.example.com \ + --ordererTLSHostnameOverride orderer.assetauth.vn \ --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA \ --channelID $CHANNEL_NAME --name ${CC_NAME} \ --version ${VERSION} --init-required \ @@ -151,7 +151,7 @@ commitChaincodeDefination(){ setGlobalsForPeer0Org1 peer lifecycle chaincode commit -o localhost:7050 \ - --ordererTLSHostnameOverride orderer.example.com \ + --ordererTLSHostnameOverride orderer.assetauth.vn \ --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA \ --channelID $CHANNEL_NAME --name ${CC_NAME} \ --peerAddresses localhost:7051 --tlsRootCertFiles $PEER0_ORG1_CA \ @@ -173,7 +173,7 @@ queryCommitted(){ chaincodeInvokeInit(){ setGlobalsForPeer0Org1 - peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com \ + peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.assetauth.vn \ --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n ${CC_NAME} \ --peerAddresses localhost:7051 --tlsRootCertFiles $PEER0_ORG1_CA \ --peerAddresses localhost:9051 --tlsRootCertFiles $PEER0_ORG2_CA \ @@ -187,7 +187,7 @@ chaincodeInvoke(){ # Initialize Ledger # peer chaincode invoke -o localhost:7050 \ - # --ordererTLSHostnameOverride orderer.example.com \ + # --ordererTLSHostnameOverride orderer.assetauth.vn \ # --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n ${CC_NAME} \ # --peerAddresses localhost:7051 --tlsRootCertFiles $PEER0_ORG1_CA \ # --peerAddresses localhost:9051 --tlsRootCertFiles $PEER0_ORG2_CA \ @@ -196,47 +196,52 @@ chaincodeInvoke(){ setGlobalsForPeer0Org1 ## Create Car - # peer chaincode invoke -o localhost:7050 \ - # --ordererTLSHostnameOverride orderer.example.com \ - # --tls $CORE_PEER_TLS_ENABLED \ - # --cafile $ORDERER_CA \ - # -C $CHANNEL_NAME -n ${CC_NAME} \ - # --peerAddresses localhost:7051 \ - # --tlsRootCertFiles $PEER0_ORG1_CA \ - # --peerAddresses localhost:9051 --tlsRootCertFiles $PEER0_ORG2_CA $PEER_CONN_PARMS \ - # -c '{"function": "CreateCar","Args":["Car-ABCDEEE", "Audi", "R8", "Red", "Pavan"]}' - - ## Change car owner peer chaincode invoke -o localhost:7050 \ - --ordererTLSHostnameOverride orderer.example.com \ + --ordererTLSHostnameOverride orderer.assetauth.vn \ --tls $CORE_PEER_TLS_ENABLED \ --cafile $ORDERER_CA \ -C $CHANNEL_NAME -n ${CC_NAME} \ --peerAddresses localhost:7051 \ --tlsRootCertFiles $PEER0_ORG1_CA \ --peerAddresses localhost:9051 --tlsRootCertFiles $PEER0_ORG2_CA $PEER_CONN_PARMS \ - -c '{"function": "ChangeCarOwner","Args":["Car-ABCDEEE", "Sandip"]}' + -c '{"function": "CreateAsset","Args":["ASSET3", "Than", "xe hoi", "hha", "111", "DQTT"]}' + + ## Change car owner + # peer chaincode invoke -o localhost:7050 \ + # --ordererTLSHostnameOverride orderer.assetauth.vn \ + # --tls $CORE_PEER_TLS_ENABLED \ + # --cafile $ORDERER_CA \ + # -C $CHANNEL_NAME -n ${CC_NAME} \ + # --peerAddresses localhost:7051 \ + # --tlsRootCertFiles $PEER0_ORG1_CA \ + # --peerAddresses localhost:9051 --tlsRootCertFiles $PEER0_ORG2_CA $PEER_CONN_PARMS \ + # -c '{"function": "ChangeCarOwner","Args":["Car-ABCDEEE", "Sandip"]}' } chaincodeQuery(){ setGlobalsForPeer0Org1 # Query all Cars - peer chaincode query -C $CHANNEL_NAME -n ${CC_NAME} -c '{"Args":["queryAllCars"]}' + peer chaincode query -C $CHANNEL_NAME -n ${CC_NAME} -c '{"Args":["queryAllAsset"]}' # Query by Car id - peer chaincode query -C $CHANNEL_NAME -n ${CC_NAME} -c '{"Args":["queryCar", "Car-ABCDEEE"]}' + peer chaincode query -C $CHANNEL_NAME -n ${CC_NAME} -c '{"Args":["queryAsset", "ASSET0"]}' } -# packageChaincode -# installChaincode -# queryInstalled -# approveForMyOrg1 -# checkCommitReadyness -# approveForMyOrg2 +packageChaincode +installChaincode +queryInstalled +# sleep 2 +approveForMyOrg1 # checkCommitReadyness -# commitChaincodeDefination -# queryCommitted -# chaincodeInvokeInit +approveForMyOrg2 +sleep 2 +checkCommitReadyness +commitChaincodeDefination +sleep 2 +queryCommitted +sleep 2 +chaincodeInvokeInit +sleep 2 chaincodeInvoke -chaincodeQuery \ No newline at end of file +# chaincodeQuery \ No newline at end of file diff --git a/log.txt b/log.txt index d2a1a58..abda2a9 100644 --- a/log.txt +++ b/log.txt @@ -1,2 +1,2 @@ Installed chaincodes on peer: -Package ID: fabcar_1:a91ad0bb1fe08760d65da33d249614f3b482d41d39cce0a981f7a014077af836, Label: fabcar_1 +Package ID: asset_1:fa775876d89bf39a1f9cdd5eaed8aa82cbf213ac14fe19a40063da99cd7706e3, Label: asset_1 diff --git a/start.sh b/start.sh index 7071af0..6917851 100755 --- a/start.sh +++ b/start.sh @@ -1,4 +1,7 @@ +docker-compose -f ./artifacts/docker-compose.yaml down -v + + docker-compose -f ./artifacts/docker-compose.yaml up -d sleep 5 @@ -6,4 +9,4 @@ sleep 5 sleep 2 -./deployChaincode.sh \ No newline at end of file +./deployChaincodeContractApi.sh \ No newline at end of file diff --git a/stop.sh b/stop.sh new file mode 100755 index 0000000..b4d59f6 --- /dev/null +++ b/stop.sh @@ -0,0 +1 @@ +docker-compose -f ./artifacts/docker-compose.yaml down -v From e52a2aa017ef63ab7916078644aded03bac66ba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=C3=A0m=20Quang=20Ti=E1=BA=BFn?= <60398059+damtien444@users.noreply.github.com> Date: Fri, 3 Jun 2022 18:19:28 +0700 Subject: [PATCH 2/5] Create README.md --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..af0942b --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Auth_Network + +This is a school project for Cryptography at Danang University of Science and Technology. + +Implement a hyperledger fabric network named Asset Authentication Network + +# Prerequisites: +- Ubuntu 18 +- Docker, docker compose +- npm, node +- Go +- Hyperledger Fabric Binaries and docker images +-> they have to be added into linux path + +# Run: +1. Delete all old cryptographic file in api 1.4 +2. Regenerate all crypto material in artifact by rerunning artifacts/channel/create-artifacts.sh +3. Start the network by running start.sh +4. Start the api server by running "node api-1.4/app.js" + +# Interact with the api server using these endpoints: +1. Import this collection of endpoint using Postman: https://www.getpostman.com/collections/401b1a02ed1330385449 +2. Config your collection variable to suitable values. +3. First to register a user to get an access token. +4. Use that access token to trigger all other endpoints. + +# Features: +1. Create, +2. Manage ownership, +3. and delete an ownership. From 37ec822b33e1c47e53f3ec2d4f2014073d19995d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=C3=A0m=20Quang=20Ti=E1=BA=BFn?= <60398059+damtien444@users.noreply.github.com> Date: Fri, 3 Jun 2022 18:22:37 +0700 Subject: [PATCH 3/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index af0942b..4a5a002 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Auth_Network -This is a school project for Cryptography at Danang University of Science and Technology. +This is a school project for Cryptography teached by Dr.Nguyen Tan Khoi at Danang University of Science and Technology. Implement a hyperledger fabric network named Asset Authentication Network From 0ae0b5975a59a5a3b666c65e2c562b3fb9ee7b71 Mon Sep 17 00:00:00 2001 From: Okman321456 Date: Sun, 5 Jun 2022 10:26:21 +0700 Subject: [PATCH 4/5] build client UI --- asset-authorize/.gitignore | 23 + asset-authorize/README.md | 70 + asset-authorize/package-lock.json | 17462 ++++++++++++++++ asset-authorize/package.json | 48 + asset-authorize/public/favicon.ico | Bin 0 -> 3870 bytes asset-authorize/public/index.html | 43 + asset-authorize/public/logo192.png | Bin 0 -> 5347 bytes asset-authorize/public/logo512.png | Bin 0 -> 9664 bytes asset-authorize/public/manifest.json | 25 + asset-authorize/public/robots.txt | 3 + asset-authorize/src/App.css | 38 + asset-authorize/src/App.js | 22 + asset-authorize/src/App.test.js | 8 + asset-authorize/src/api/APIClient.js | 75 + asset-authorize/src/api/axiosClient.js | 13 + asset-authorize/src/asset/bg-register.png | Bin 0 -> 11328330 bytes asset-authorize/src/components/Home/index.js | 66 + .../src/components/Modal/ChangeAsset.js | 66 + .../src/components/Modal/CreateAnAsset.js | 107 + .../src/components/Modal/QueryAnAsset.js | 64 + .../src/components/Register/index.js | 54 + .../components/Table/QueryAllAssetTable.js | 69 + .../src/components/Table/QueryAnAssetTable.js | 75 + asset-authorize/src/index.css | 14 + asset-authorize/src/index.js | 18 + asset-authorize/src/logo.svg | 1 + asset-authorize/src/reportWebVitals.js | 13 + asset-authorize/src/setupTests.js | 5 + asset-authorize/src/style/Home.css | 21 + asset-authorize/src/style/Register.css | 29 + 30 files changed, 18432 insertions(+) create mode 100644 asset-authorize/.gitignore create mode 100644 asset-authorize/README.md create mode 100644 asset-authorize/package-lock.json create mode 100644 asset-authorize/package.json create mode 100644 asset-authorize/public/favicon.ico create mode 100644 asset-authorize/public/index.html create mode 100644 asset-authorize/public/logo192.png create mode 100644 asset-authorize/public/logo512.png create mode 100644 asset-authorize/public/manifest.json create mode 100644 asset-authorize/public/robots.txt create mode 100644 asset-authorize/src/App.css create mode 100644 asset-authorize/src/App.js create mode 100644 asset-authorize/src/App.test.js create mode 100644 asset-authorize/src/api/APIClient.js create mode 100644 asset-authorize/src/api/axiosClient.js create mode 100644 asset-authorize/src/asset/bg-register.png create mode 100644 asset-authorize/src/components/Home/index.js create mode 100644 asset-authorize/src/components/Modal/ChangeAsset.js create mode 100644 asset-authorize/src/components/Modal/CreateAnAsset.js create mode 100644 asset-authorize/src/components/Modal/QueryAnAsset.js create mode 100644 asset-authorize/src/components/Register/index.js create mode 100644 asset-authorize/src/components/Table/QueryAllAssetTable.js create mode 100644 asset-authorize/src/components/Table/QueryAnAssetTable.js create mode 100644 asset-authorize/src/index.css create mode 100644 asset-authorize/src/index.js create mode 100644 asset-authorize/src/logo.svg create mode 100644 asset-authorize/src/reportWebVitals.js create mode 100644 asset-authorize/src/setupTests.js create mode 100644 asset-authorize/src/style/Home.css create mode 100644 asset-authorize/src/style/Register.css diff --git a/asset-authorize/.gitignore b/asset-authorize/.gitignore new file mode 100644 index 0000000..4d29575 --- /dev/null +++ b/asset-authorize/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/asset-authorize/README.md b/asset-authorize/README.md new file mode 100644 index 0000000..58beeac --- /dev/null +++ b/asset-authorize/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/asset-authorize/package-lock.json b/asset-authorize/package-lock.json new file mode 100644 index 0000000..c01e38a --- /dev/null +++ b/asset-authorize/package-lock.json @@ -0,0 +1,17462 @@ +{ + "name": "access-authorize", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "requires": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "@ant-design/icons": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.7.0.tgz", + "integrity": "sha512-aoB4Z7JA431rt6d4u+8xcNPPCrdufSRMUOpxa1ab6mz1JCQZOEVolj2WVs/tDFmN62zzK30mNelEsprLYsSF3g==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.2.1", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.9.4" + } + }, + "@ant-design/icons-svg": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz", + "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==" + }, + "@ant-design/react-slick": { + "version": "0.28.4", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.28.4.tgz", + "integrity": "sha512-j9eAHTn7GxbXUFNknJoHS2ceAsqrQi2j8XykjZE1IXCD8kJF+t28EvhBLniDpbOsBk/3kjalnhriTfZcjBHNqg==", + "requires": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "lodash": "^4.17.21", + "resize-observer-polyfill": "^1.5.0" + } + }, + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==" + }, + "@babel/core": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.6.tgz", + "integrity": "sha512-Hz6PJT6e44iUNpAn8AoyAs6B3bl60g7MJQaI0rZEar6ECzh6+srYO1xlIdssio34mPaUtAb1y+XlkkSJzok3yw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.6", + "@babel/helpers": "^7.1.5", + "@babel/parser": "^7.1.6", + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.6", + "@babel/types": "^7.1.6", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "requires": { + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "requires": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + } + }, + "@babel/helper-define-map": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.18.0.tgz", + "integrity": "sha512-e6h+xQYZQHeH2q0wlfjOTf3We0hwyAczcQcXUYG19wyy+v0nLPW0Jki51JGAIL2kSzBf8l9q/4AAApDh1vYpgA==", + "requires": { + "@babel/helper-function-name": "^7.17.9", + "@babel/types": "^7.18.0" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==" + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "requires": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "requires": { + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.0", + "@babel/types": "^7.18.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helper-replace-supers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", + "requires": { + "@babel/types": "^7.18.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==" + }, + "@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "requires": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helpers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", + "requires": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + } + }, + "@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", + "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.17.12" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.3.0.tgz", + "integrity": "sha512-3W/oCUmsO43FmZIqermmq6TKaRSYhmh/vybPfVFwQWdSb8xwki38uAIvknCRzuyHRuYfCYmJzL9or1v0AffPjg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", + "requires": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.17.12" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.12.tgz", + "integrity": "sha512-D1Hz0qtGTza8K2xGyEdVNCYLdVHukAcbQr4K3/s6r/esadyEriZovpJimQOpu8ju4/jV8dW/1xdaE0UpDroidw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.17.12.tgz", + "integrity": "sha512-B8QIgBvkIG6G2jgsOHQUist7Sm0EBLDCx8sen072IwqNuzMegZNXrYnSv77cYzA8mLDZAfQYqsLIhimiP1s2HQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", + "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.17.12.tgz", + "integrity": "sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", + "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", + "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "requires": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz", + "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==", + "requires": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", + "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.17.12.tgz", + "integrity": "sha512-maEkX2xs2STuv2Px8QuqxqjhV2LsFobT1elCgyU5704fcyTu9DyD/bJXxD/mrRiVyhpHweOQ00OJ5FKhHq9oEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", + "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.12.tgz", + "integrity": "sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/types": "^7.17.12" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz", + "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.16.7" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.17.12.tgz", + "integrity": "sha512-7S9G2B44EnYOx74mue02t1uD8ckWZ/ee6Uz/qfdzc35uWHX5NgRy9i+iJSb2LFRgMd+QV9zNcStQaazzzZ3n3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz", + "integrity": "sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.0.tgz", + "integrity": "sha512-6+0IK6ouvqDn9bmEG7mEyF/pwlJXVj5lwydybpyyH3D0A7Hftk+NCTdYjnLNZksn261xaOV5ksmp20pQEmc2RQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", + "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.4.tgz", + "integrity": "sha512-l4vHuSLUajptpHNEOUDEGsnpl9pfRLsN1XUoDQDD/YBuXTM+v37SHGS+c6n4jdcZy96QtuUuSvZYMLSSsjH8Mw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-typescript": "^7.17.12" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/preset-env": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", + "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", + "requires": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.18.0", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.18.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.18.0", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.18.1", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.18.0", + "@babel/plugin-transform-modules-commonjs": "^7.18.2", + "@babel/plugin-transform-modules-systemjs": "^7.18.0", + "@babel/plugin-transform-modules-umd": "^7.18.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.18.0", + "@babel/plugin-transform-reserved-words": "^7.17.12", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.18.2", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.2", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.17.12.tgz", + "integrity": "sha512-h5U+rwreXtZaRBEQhW1hOJLMq8XNJBQ/9oymXiCXTuT/0uOwpbT0gUt+sXeOqoXBgNuUKI7TaObVwoEyWkpFgA==", + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-react-display-name": "^7.16.7", + "@babel/plugin-transform-react-jsx": "^7.17.12", + "@babel/plugin-transform-react-jsx-development": "^7.16.7", + "@babel/plugin-transform-react-pure-annotations": "^7.16.7" + } + }, + "@babel/preset-typescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.1.0.tgz", + "integrity": "sha512-LYveByuF9AOM8WrsNne5+N79k1YxjNB6gmpCQsnuSBAcV8QUeB+ZUxQzL7Rz7HksPbahymKkq2qBR+o36ggFZA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.1.0" + } + }, + "@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", + "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.18.0", + "@babel/types": "^7.18.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" + }, + "@ctrl/tinycolor": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", + "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==" + }, + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==" + }, + "@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "@popperjs/core": { + "version": "2.11.5", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", + "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" + }, + "@react-aria/ssr": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.2.0.tgz", + "integrity": "sha512-wwJFdkl+Q8NU5yJ4NvdAOqx5LM3QtUVoSjuK7Ey8jZ4WS4bB0EqT3Kr3IInBs257HzZ5nXCiKXKE4NGXXuIRWA==", + "requires": { + "@babel/runtime": "^7.6.2" + } + }, + "@restart/hooks": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.7.tgz", + "integrity": "sha512-ZbjlEHcG+FQtpDPHd7i4FzNNvJf2enAwZfJbpM8CW7BhmOAbsHpZe3tsHwfQUrBuyrxWqPYp2x5UMnilWcY22A==", + "requires": { + "dequal": "^2.0.2" + } + }, + "@restart/ui": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.2.0.tgz", + "integrity": "sha512-oIh2t3tG8drZtZ9SlaV5CY6wGsUViHk8ZajjhcI+74IQHyWy+AnxDv8rJR5wVgsgcgrPBUvGNkC1AEdcGNPaLQ==", + "requires": { + "@babel/runtime": "^7.13.16", + "@popperjs/core": "^2.10.1", + "@react-aria/ssr": "^3.0.1", + "@restart/hooks": "^0.4.0", + "@types/warning": "^3.0.0", + "dequal": "^2.0.2", + "dom-helpers": "^5.2.0", + "uncontrollable": "^7.2.1", + "warning": "^4.0.3" + } + }, + "@svgr/core": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-2.4.1.tgz", + "integrity": "sha512-2i1cUbjpKt1KcIP05e10vkmu9Aedp32EFqVcSQ08onbB8lVxJqMPci3Hr54aI14S9cLg4JdcpO0D35HHUtT8oQ==", + "requires": { + "camelcase": "^5.0.0", + "cosmiconfig": "^5.0.6", + "h2x-core": "^1.1.0", + "h2x-plugin-jsx": "^1.1.0", + "merge-deep": "^3.0.2", + "prettier": "^1.14.2", + "svgo": "^1.0.5" + } + }, + "@svgr/webpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-2.4.1.tgz", + "integrity": "sha512-sMHYq0zbMtSHcc9kVfkYI2zrl88u4mKGyQLgKt7r+ul5nITcncm/EPBhzEUrJY5izdlaU6EvyH8zOhZnfaSmOA==", + "requires": { + "@babel/core": "^7.0.1", + "@babel/plugin-transform-react-constant-elements": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "@svgr/core": "^2.4.1", + "loader-utils": "^1.1.0" + } + }, + "@testing-library/dom": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.13.0.tgz", + "integrity": "sha512-9VHgfIatKNXQNaZTtLnalIy0jNZzY35a4S3oi08YAt9Hv1VsfZ/DfA45lM8D/UhtHBGJ4/lGwp0PZkVndRkoOQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@testing-library/jest-dom": { + "version": "5.16.4", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz", + "integrity": "sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA==", + "requires": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + } + }, + "@testing-library/react": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.3.0.tgz", + "integrity": "sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + } + }, + "@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, + "@types/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" + }, + "@types/jest": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.0.tgz", + "integrity": "sha512-ITfF6JJIl9zbEi2k6NmhNE/BiDqfsI/ceqfvdaWaPbcrCpYyyRq4KtDQIWh6vQUru6SqwppODiom/Zhid+np6A==", + "requires": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "@types/react": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.11.tgz", + "integrity": "sha512-JxSwm54IgMW4XTR+zFF5QpNx4JITmFbB4WHR2J0vg9RpjNeyqEMlODXsD2e64br6GX70TL0UYjZJETpyyC1WdA==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz", + "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", + "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/tapable": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.2.tgz", + "integrity": "sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ==" + }, + "@types/testing-library__jest-dom": { + "version": "5.14.3", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.3.tgz", + "integrity": "sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw==", + "requires": { + "@types/jest": "*" + } + }, + "@types/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-t/Tvs5qR47OLOr+4E9ckN8AmP2Tf16gWq+/qA4iUGS/OOyHVO8wv2vjJuX8SNOUTJyWb+2t7wJm6cXILFnOROA==" + }, + "@webassemblyjs/ast": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.6.tgz", + "integrity": "sha512-8nkZS48EVsMUU0v6F1LCIOw4RYWLm2plMtbhFTjNgeXmsTNLuU3xTRtnljt9BFQB+iPbLRobkNrCWftWnNC7wQ==", + "requires": { + "@webassemblyjs/helper-module-context": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/wast-parser": "1.7.6", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.6.tgz", + "integrity": "sha512-VBOZvaOyBSkPZdIt5VBMg3vPWxouuM13dPXGWI1cBh3oFLNcFJ8s9YA7S9l4mPI7+Q950QqOmqj06oa83hNWBA==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.6.tgz", + "integrity": "sha512-SCzhcQWHXfrfMSKcj8zHg1/kL9kb3aa5TN4plc/EREOs5Xop0ci5bdVBApbk2yfVi8aL+Ly4Qpp3/TRAUInjrg==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.6.tgz", + "integrity": "sha512-1/gW5NaGsEOZ02fjnFiU8/OEEXU1uVbv2um0pQ9YVL3IHSkyk6xOwokzyqqO1qDZQUAllb+V8irtClPWntbVqw==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.6.tgz", + "integrity": "sha512-+suMJOkSn9+vEvDvgyWyrJo5vJsWSDXZmJAjtoUq4zS4eqHyXImpktvHOZwXp1XQjO5H+YQwsBgqTQEc0J/5zg==", + "requires": { + "@webassemblyjs/wast-printer": "1.7.6" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.6.tgz", + "integrity": "sha512-HCS6KN3wgxUihGBW7WFzEC/o8Eyvk0d56uazusnxXthDPnkWiMv+kGi9xXswL2cvfYfeK5yiM17z2K5BVlwypw==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.6.tgz", + "integrity": "sha512-e8/6GbY7OjLM+6OsN7f2krC2qYVNaSr0B0oe4lWdmq5sL++8dYDD1TFbD1TdAdWMRTYNr/Qq7ovXWzia2EbSjw==", + "requires": { + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.6.tgz", + "integrity": "sha512-PzYFCb7RjjSdAOljyvLWVqd6adAOabJW+8yRT+NWhXuf1nNZWH+igFZCUK9k7Cx7CsBbzIfXjJc7u56zZgFj9Q==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.6.tgz", + "integrity": "sha512-3GS628ppDPSuwcYlQ7cDCGr4W2n9c4hLzvnRKeuz+lGsJSmc/ADVoYpm1ts2vlB1tGHkjtQMni+yu8mHoMlKlA==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-buffer": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/wasm-gen": "1.7.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.6.tgz", + "integrity": "sha512-V4cIp0ruyw+hawUHwQLn6o2mFEw4t50tk530oKsYXQhEzKR+xNGDxs/SFFuyTO7X3NzEu4usA3w5jzhl2RYyzQ==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.6.tgz", + "integrity": "sha512-ojdlG8WpM394lBow4ncTGJoIVZ4aAtNOWHhfAM7m7zprmkVcKK+2kK5YJ9Bmj6/ketTtOn7wGSHCtMt+LzqgYQ==", + "requires": { + "@xtuc/long": "4.2.1" + } + }, + "@webassemblyjs/utf8": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.6.tgz", + "integrity": "sha512-oId+tLxQ+AeDC34ELRYNSqJRaScB0TClUU6KQfpB8rNT6oelYlz8axsPhf6yPTg7PBJ/Z5WcXmUYiHEWgbbHJw==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.6.tgz", + "integrity": "sha512-pTNjLO3o41v/Vz9VFLl+I3YLImpCSpodFW77pNoH4agn5I6GgSxXHXtvWDTvYJFty0jSeXZWLEmbaSIRUDlekg==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-buffer": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/helper-wasm-section": "1.7.6", + "@webassemblyjs/wasm-gen": "1.7.6", + "@webassemblyjs/wasm-opt": "1.7.6", + "@webassemblyjs/wasm-parser": "1.7.6", + "@webassemblyjs/wast-printer": "1.7.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.6.tgz", + "integrity": "sha512-mQvFJVumtmRKEUXMohwn8nSrtjJJl6oXwF3FotC5t6e2hlKMh8sIaW03Sck2MDzw9xPogZD7tdP5kjPlbH9EcQ==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/ieee754": "1.7.6", + "@webassemblyjs/leb128": "1.7.6", + "@webassemblyjs/utf8": "1.7.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.6.tgz", + "integrity": "sha512-go44K90fSIsDwRgtHhX14VtbdDPdK2sZQtZqUcMRvTojdozj5tLI0VVJAzLCfz51NOkFXezPeVTAYFqrZ6rI8Q==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-buffer": "1.7.6", + "@webassemblyjs/wasm-gen": "1.7.6", + "@webassemblyjs/wasm-parser": "1.7.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.6.tgz", + "integrity": "sha512-t1T6TfwNY85pDA/HWPA8kB9xA4sp9ajlRg5W7EKikqrynTyFo+/qDzIpvdkOkOGjlS6d4n4SX59SPuIayR22Yg==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-api-error": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/ieee754": "1.7.6", + "@webassemblyjs/leb128": "1.7.6", + "@webassemblyjs/utf8": "1.7.6" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.6.tgz", + "integrity": "sha512-1MaWTErN0ziOsNUlLdvwS+NS1QWuI/kgJaAGAMHX8+fMJFgOJDmN/xsG4h/A1Gtf/tz5VyXQciaqHZqp2q0vfg==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/floating-point-hex-parser": "1.7.6", + "@webassemblyjs/helper-api-error": "1.7.6", + "@webassemblyjs/helper-code-frame": "1.7.6", + "@webassemblyjs/helper-fsm": "1.7.6", + "@xtuc/long": "4.2.1", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.6.tgz", + "integrity": "sha512-vHdHSK1tOetvDcl1IV1OdDeGNe/NDDQ+KzuZHMtqTVP1xO/tZ/IKNpj5BaGk1OYFdsDWQqb31PIwdEyPntOWRQ==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/wast-parser": "1.7.6", + "@xtuc/long": "4.2.1" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", + "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==" + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "requires": { + "acorn": "^5.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + } + } + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "address": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", + "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "antd": { + "version": "4.20.7", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.20.7.tgz", + "integrity": "sha512-X2lP1AiN9K9se9ZuQvgpeku7Z1G7KqKTuJVt0lpwWzei4aRReG+hJWMSOAsy0HonRWI2nDc9XMIK+o/kul8EXQ==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons": "^4.7.0", + "@ant-design/react-slick": "~0.28.1", + "@babel/runtime": "^7.12.5", + "@ctrl/tinycolor": "^3.4.0", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "lodash": "^4.17.21", + "memoize-one": "^6.0.0", + "moment": "^2.29.2", + "rc-cascader": "~3.5.0", + "rc-checkbox": "~2.3.0", + "rc-collapse": "~3.1.0", + "rc-dialog": "~8.8.1", + "rc-drawer": "~4.4.2", + "rc-dropdown": "~3.5.0", + "rc-field-form": "~1.26.1", + "rc-image": "~5.6.0", + "rc-input": "~0.0.1-alpha.5", + "rc-input-number": "~7.3.0", + "rc-mentions": "~1.7.0", + "rc-menu": "~9.5.5", + "rc-motion": "^2.5.1", + "rc-notification": "~4.6.0", + "rc-pagination": "~3.1.9", + "rc-picker": "~2.6.4", + "rc-progress": "~3.2.1", + "rc-rate": "~2.9.0", + "rc-resize-observer": "^1.2.0", + "rc-segmented": "~2.1.0 ", + "rc-select": "~14.1.1", + "rc-slider": "~10.0.0", + "rc-steps": "~4.1.0", + "rc-switch": "~3.2.0", + "rc-table": "~7.24.0", + "rc-tabs": "~11.13.0", + "rc-textarea": "~0.3.0", + "rc-tooltip": "~5.1.1", + "rc-tree": "~5.5.0", + "rc-tree-select": "~5.3.0", + "rc-trigger": "^5.2.10", + "rc-upload": "~4.3.0", + "rc-util": "^5.20.0", + "scroll-into-view-if-needed": "^2.2.25" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha512-Yisb7ew0ZEyDtRYQ+b+26o9KbiYPFxwcsxKzbssigzRRMJ9LpExPVUg6Fos7eP7yP3q7///tzze4nm4lTptPBw==", + "requires": { + "default-require-extensions": "^1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", + "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==" + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha512-VW0FpCIhjZdarWjIz8Vpva7U95fl2Jn+b+mmFFMLn8PIVscOQcAgEznwUzTEuUHuqZqIxwzRlcaN/urTFFQoiw==" + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha512-123XMszMB01QKVptpDQ7x1m1pP5NmJIG1kbl0JSPPRezvwQChxAN0Gvzo7rvR1IZ2tOL2tmiy7kY/KKgnpVVpg==" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha512-8jR+StqaC636u7h3ye1co3lQRefgVVUQUhuAmRbDqIMeR2yuXzRvkCNQiQ5J/wbREmoBLNtp13dhaaVpZQDRUw==" + }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" + }, + "array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "async-validator": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.1.1.tgz", + "integrity": "sha512-p4DO/JXwjs8klJyJL8Q2oM4ks5fUTze/h5k10oPPKMiLe1fj3G1QMzPHNmN1Py4ycOk7WlO2DcGXv1qiESJCZA==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + }, + "babel-eslint": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-9.0.0.tgz", + "integrity": "sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", + "requires": { + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" + } + }, + "babel-loader": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", + "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "util.promisify": "^1.0.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" + } + }, + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha512-N0MlMjZtahXK0yb0K3V9hWPrq5e7tThbghvDr0k3X75UuOOqwsWW6mk8XHD2QvEC0Ca9dLIfTgNU36TeJD6Hnw==" + }, + "babel-plugin-macros": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.5.0.tgz", + "integrity": "sha512-BWw0lD0kVZAXRD3Od1kMrdmfudqzDzYv2qrN3l2ISR1HVp1EgLKfbOrYV9xmY5k3qx3RIu5uPAUZZZHpo0o5Iw==", + "requires": { + "cosmiconfig": "^5.0.5", + "resolve": "^1.8.1" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==" + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + } + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==" + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha512-AdfWwc0PYvDtwr009yyVNh72Ev68os7SsPmOFVX7zSA+STXuk5CV2iMVazZU01bEoHCSwTkgv4E4HOOcODPkPg==", + "requires": { + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" + } + }, + "babel-preset-react-app": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-7.0.2.tgz", + "integrity": "sha512-mwCk/u2wuiO8qQqblN5PlDa44taY0acq7hw6W+a70W522P7a9mIcdggL1fe5/LgAT7tqCq46q9wwhqaMoYKslQ==", + "requires": { + "@babel/core": "7.2.2", + "@babel/plugin-proposal-class-properties": "7.3.0", + "@babel/plugin-proposal-decorators": "7.3.0", + "@babel/plugin-proposal-object-rest-spread": "7.3.2", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-destructuring": "7.3.2", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-react-constant-elements": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/preset-env": "7.3.1", + "@babel/preset-react": "7.0.0", + "@babel/preset-typescript": "7.1.0", + "@babel/runtime": "7.3.1", + "babel-loader": "8.0.5", + "babel-plugin-dynamic-import-node": "2.2.0", + "babel-plugin-macros": "2.5.0", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + }, + "dependencies": { + "@babel/core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz", + "integrity": "sha512-wNHxLkEKTQ2ay0tnsam2z7fGZUi+05ziDJflEt3AZTP3oXLKHJp9HqhfroB/vdMvt3sda9fAbq7FsG8QPDrZBg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz", + "integrity": "sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz", + "integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz", + "integrity": "sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/preset-env": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz", + "integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.2.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.2.0", + "@babel/plugin-transform-classes": "^7.2.0", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.2.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + } + }, + "@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/runtime": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", + "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", + "requires": { + "regenerator-runtime": "^0.12.0" + } + }, + "babel-loader": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", + "integrity": "sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==", + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "util.promisify": "^1.0.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz", + "integrity": "sha512-fP899ELUnTaBcIzmrW7nniyqqdYWrWuJUyPWHxFa/c7r7hS6KC8FscNfLlBNIoPSc55kYMGEEKjPjJGCLbE1qA==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.1.tgz", + "integrity": "sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==", + "requires": { + "bluebird": "^3.5.1", + "check-types": "^7.3.0", + "hoopy": "^0.1.2", + "tryer": "^1.0.0" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "bootstrap": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", + "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "requires": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "cacache": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", + "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001346", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz", + "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==" + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha512-IS4lTgp57lUcpXzyCaiUQcRZBxZAkzl+jNXrMUXZjdnr2yujpKUMG9OYeYL29i6fL66ihypvVJ/MeX0B+9pWOg==", + "requires": { + "rsvp": "^3.3.3" + } + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz", + "integrity": "sha512-oEZgAFfEvKtjSRCu6VgYkuGxwrWXMnQzyBmlLPP7r6PWQVtHxP5Z5N6XsuJvtoVax78am/r7lr46bwo3IVEBOg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "check-types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", + "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "requires": { + "source-map": "~0.6.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha512-we+NuQo2DHhSl+DP6jlUiAhyAjBQrYnpOk15rN6c6JSPScjiCLh8IbSU+VTcph6YS3o7mASE8a0+gbZ7ChLpgg==", + "requires": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "compute-scroll-into-view": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz", + "integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "optional": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" + }, + "copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "core-js-compat": { + "version": "3.22.8", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.8.tgz", + "integrity": "sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg==", + "requires": { + "browserslist": "^4.20.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "css-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", + "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==" + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + } + } + }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", + "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + } + } + }, + "date-fns": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==" + }, + "dayjs": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", + "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "optional": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "default-gateway": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", + "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "requires": { + "execa": "^0.10.0", + "ip-regex": "^2.1.0" + } + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha512-Dn2eAftOqXhNXs5f/Xjn7QTZ6kDYkx7u0EXQInN1oyYwsZysu11q7oTtaKcbzLxZRJiDHa8VmwpWmb4lY5FqgA==", + "requires": { + "strip-bom": "^2.0.0" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==", + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "dequal": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", + "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "optional": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", + "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" + }, + "dom-align": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.3.tgz", + "integrity": "sha512-Gj9hZN3a07cbR6zviMUBOMPdWxYhbMI+x+WS0NAIu2zFZmbK8ys9R79g+iG9qLnlCwpFoaB+fKy8Pdv470GsPA==" + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + } + } + }, + "dotenv": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.0.0.tgz", + "integrity": "sha512-FlWbnhgjtwD+uNLUGHbMykMOYQaTivdHEmYwAKFjn6GKe/CqY0fNae93ZHTd20snh9ZLr8mTzIL9m0APQ1pjQg==" + }, + "dotenv-expand": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", + "integrity": "sha512-pHWVt6L/YkqbBCMb1hG6e7oO0WdMhlapDIibl+BZ9PncVE3i+G77uvNr8GUxW2ItSituOK8QOYC9oOJjwWD94A==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "electron-to-chromium": { + "version": "1.4.146", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz", + "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", + "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "eslint": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.6.0.tgz", + "integrity": "sha512-/eVYs9VVVboX286mBK7bbKnO1yamUy2UCRjiY6MryhQL2PaaXCExsCQ2aO83OeYRhU2eCU/FMFP+tVMoOrzNrA==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.5.3", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "imurmurhash": "^0.1.4", + "inquirer": "^6.1.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.12.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^2.0.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "eslint-config-react-app": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-3.0.8.tgz", + "integrity": "sha512-Ovi6Bva67OjXrom9Y/SLJRkrGqKhMAL0XCH8BizPhjEVEhYczl2ZKiNZI2CuqO5/CJwAfMwRXAVGY0KToWr1aA==", + "requires": { + "confusing-browser-globals": "^1.0.6" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.1.1.tgz", + "integrity": "sha512-1GrJFfSevQdYpoDzx8mEE2TDWsb/zmFuY09l6hURg1AeFIKQOvZ+vH0UPjzmd1CZIbfTV5HUkMeBmFiDBkgIsQ==", + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-module-utils": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "requires": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "2.50.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.1.tgz", + "integrity": "sha512-9kRxF9hfM/O6WGZcZPszOVPd2W0TLHBtceulLTsGfwMPtiCCLnCW0ssRiOOiXyqrCA20pm1iXdXm7gQeN306zQ==", + "requires": { + "lodash": "^4.17.10" + } + }, + "eslint-plugin-import": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", + "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", + "requires": { + "contains-path": "^0.1.0", + "debug": "^2.6.8", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg==", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz", + "integrity": "sha512-7gSSmwb3A+fQwtw0arguwMdOdzmKUgnUcbSNlo+GjKLAQFuC2EZxWqG9XHRI8VscBJD5a8raz3RuxQNFW+XJbw==", + "requires": { + "aria-query": "^3.0.0", + "array-includes": "^3.0.3", + "ast-types-flow": "^0.0.7", + "axobject-query": "^2.0.1", + "damerau-levenshtein": "^1.0.4", + "emoji-regex": "^6.5.1", + "has": "^1.0.3", + "jsx-ast-utils": "^2.0.1" + }, + "dependencies": { + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha512-majUxHgLehQTeSA+hClx+DY09OVUqG3GtezWkF1krgLGNdlDu9l9V8DaqNMWbq4Eddc8wsyDA0hpDUtnYxQEXw==", + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + } + } + }, + "eslint-plugin-react": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz", + "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==", + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.0.1", + "prop-types": "^15.6.2" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-ivpbtpUgg9SJS4TLjK7KdcDhqc/E3CGItsvQbBNLkNGUeMhd5qnJcryba/brESS+dg3vrLqPuc/UcS7jRJdN5A==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + }, + "espree": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", + "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", + "requires": { + "acorn": "^6.0.2", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "eventsource": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.1.tgz", + "integrity": "sha512-qV5ZC0h7jYIAOhArFJgSfdyz6rALJyb270714o7ZtNnw2WSJ+eexhKtE0O8LYPRsHZHf2osHKZBxGPvm3kPkCA==", + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "requires": { + "merge": "^1.2.0" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "expect": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", + "requires": { + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==", + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==" + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha512-UxowFKnAFIwtmSxgKjWAVgjE3Fk7MQJT0ZIyl0NwIFZTrx4913rLaonGJ84V+x/2+w/pe4ULHRns+GZPs1TVuw==", + "requires": { + "glob": "^7.0.3", + "minimatch": "^3.0.3" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha512-46TFiBOzX7xq/PcSWfFwkyjpemdRnMe31UQF+os0y+1W3k95f6R4SEt02Hj4p3X0Mir9gfrkmOtshFidS0VPUg==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + }, + "fork-ts-checker-webpack-plugin-alt": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin-alt/-/fork-ts-checker-webpack-plugin-alt-0.4.14.tgz", + "integrity": "sha512-s0wjOBuPdylMRBzZ4yO8LSJuzem3g0MYZFxsjRXrFDQyL5KJBVSq30+GoHM/t/r2CRU4tI6zi04sq6OXK0UYnw==", + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "lodash": "^4.17.11", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "resolve": "^1.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + } + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==" + }, + "gzip-size": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz", + "integrity": "sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==", + "requires": { + "duplexer": "^0.1.1", + "pify": "^3.0.0" + } + }, + "h2x-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/h2x-core/-/h2x-core-1.1.1.tgz", + "integrity": "sha512-LdXe4Irs731knLtHgLyFrnJCumfiqXXQwKN1IMUhi37li29PLfLbMDvfK7Rk4wmgHLKP+sIITT1mcJV4QsC3nw==", + "requires": { + "h2x-generate": "^1.1.0", + "h2x-parse": "^1.1.1", + "h2x-traverse": "^1.1.0" + } + }, + "h2x-generate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/h2x-generate/-/h2x-generate-1.1.0.tgz", + "integrity": "sha512-L7Hym0yb20QIjvqeULUPOeh/cyvScdOAyJ6oRlh5dF0+w92hf3OiTk1q15KBijde7jGEe+0R4aOmtW8gkPNIzg==", + "requires": { + "h2x-traverse": "^1.1.0" + } + }, + "h2x-parse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/h2x-parse/-/h2x-parse-1.1.1.tgz", + "integrity": "sha512-WRSmPF+tIWuUXVEZaYRhcZx/JGEJx8LjZpDDtrvMr5m/GTR0NerydCik5dRzcKXPWCtfXxuJRLR4v2P4HB2B1A==", + "requires": { + "h2x-types": "^1.1.0", + "jsdom": ">=11.0.0" + } + }, + "h2x-plugin-jsx": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/h2x-plugin-jsx/-/h2x-plugin-jsx-1.2.0.tgz", + "integrity": "sha512-a7Vb3BHhJJq0dPDNdqguEyQirENkVsFtvM2YkiaT5h/fmGhmM1nDy3BLeJeSKi2tL2g9v4ykm2Z+GG9QrhDgPA==", + "requires": { + "h2x-types": "^1.1.0" + } + }, + "h2x-traverse": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/h2x-traverse/-/h2x-traverse-1.1.0.tgz", + "integrity": "sha512-1ND8ZbISLSUgpLHYJRvhvElITvs0g44L7RxjeXViz5XP6rooa+FtXTFLByl2Yg01zj2txubifHIuU4pgvj8l+A==", + "requires": { + "h2x-types": "^1.1.0" + } + }, + "h2x-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/h2x-types/-/h2x-types-1.1.0.tgz", + "integrity": "sha512-QdH5qfLcdF209UsCdM0ZNZ9Dwm2PHvMfeLZtivBrjX3Y/df4US2pwsUC4HBfWhye/mx/t6puODeC7Oacb/Ol8g==" + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + } + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "optional": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==" + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "html-webpack-plugin": { + "version": "4.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-alpha.2.tgz", + "integrity": "sha512-tyvhjVpuGqD7QYHi1l1drMQTg5i+qRxpQEGbdnYFREgOKy7aFDf/ocQ/V1fuEDlQx7jV2zMap3Hj2nE9i5eGXw==", + "requires": { + "@types/tapable": "1.0.2", + "html-minifier": "^3.2.3", + "loader-utils": "^1.1.0", + "lodash": "^4.17.10", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "requires": { + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha512-bsVoyn/1V4R1kYYjLcWLedozAM4FClZUdjE9nIr8uWY7xs78y9DATgwz2wGU7M+7z55KenmmTkN2DVJ7bqzjAA==", + "requires": { + "postcss": "^6.0.1" + } + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "immer": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" + }, + "immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "internal-ip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", + "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "requires": { + "default-gateway": "^2.6.0", + "ipaddr.js": "^1.5.2" + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha512-95jJZX6O/gdekidH2usRBr9WdRw4LU56CttPstXFxvG0r3QUE9eaIdz2p2Y7zrm6jxz7SjByAo1AtzwGlRvfOg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==" + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.0.0.tgz", + "integrity": "sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isemail": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", + "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", + "requires": { + "punycode": "2.x.x" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "istanbul-api": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", + "requires": { + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" + }, + "istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", + "requires": { + "append-transform": "^0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", + "requires": { + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", + "requires": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "istanbul-reports": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", + "requires": { + "handlebars": "^4.0.3" + } + }, + "jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", + "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", + "requires": { + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" + } + }, + "jest-changed-files": { + "version": "23.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", + "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", + "requires": { + "throat": "^4.0.0" + } + }, + "jest-cli": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", + "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", + "requires": { + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==" + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==" + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha512-CB8MdScYLkzQ0Q/I4FYlt2UBkG9tFzi+ngSPVhSBB70nifaC+5iWz6GEfa/lB4T2KCqGy+DLzi1v34r9R1XzuA==", + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", + "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", + "requires": { + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha512-UIXe32cMl/+DtyNHC15X+aFZMh04wx7PjWFBfz+nwoLgsIN2loKoNiKGSzUhMW/fVwbHrk8Qopglb7V4XB4EfQ==", + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + } + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "requires": { + "cssom": "0.3.x" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "ws": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + } + } + }, + "jest-environment-node": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", + "integrity": "sha512-bk8qScgIfkb+EdwJ0JZ9xGvN7N3m6Qok73G8hi6tzvNadpe4kOxxuGmK2cJzAM3tPC/HBulzrOeNHEvaThQFrQ==", + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "jest-jasmine2": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", + "requires": { + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", + "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", + "requires": { + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-message-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", + "integrity": "sha512-Tjqy7T8jHhPgV4Gsi+pKMMfaz3uP5DPtMGnm8RWNWUHIk2igqxQ3/9rud3JkINCvZDGqlpJVuFGIDXbltG4xLA==", + "requires": { + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-mock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", + "integrity": "sha512-lz+Rf6dwRNDVowuGCXm93ib8hMyPntl1GGVt9PuZfBAmTjP5yKYgK14IASiEjs7XoMo4i/R7+dkrJY3eESwTJg==" + }, + "jest-pnp-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.0.1.tgz", + "integrity": "sha512-kzhvJQp+9k0a/hpvIIzOJgOwfOqmnohdrAMZW2EscH3kxR2VWD7EcPa10cio8EK9V7PcD75bhG1pFnO70zGwSQ==" + }, + "jest-regex-util": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", + "integrity": "sha512-pNilf1tXhv5z0qjJy2Hl6Ar6dsi+XX2zpCAuzxRs4qoputI0Bm9rU7pa2ErrFTfiHYe8VboTR7WATPZXqzpQ/g==" + }, + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "requires": { + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", + "requires": { + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" + } + }, + "jest-runner": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", + "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", + "requires": { + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + } + }, + "jest-runtime": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", + "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", + "requires": { + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "^2.1.0", + "yargs": "^11.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==" + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==" + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-serializer": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", + "integrity": "sha512-l6cPuiGEQI72H4+qMePF62E+URkZscnAqdHBYHkMrhKJOwU08AHvGmftXdosUzfCGhh/Ih4Xk1VgxnJSwrvQvQ==" + }, + "jest-snapshot": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", + "requires": { + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", + "integrity": "sha512-OS1/0QSbbMF9N93MxF1hUmK93EF3NGQGbbaTBZZk95aytWtWmzxsFWwt/UXIIkfHbPCK1fXTrPklbL+ohuFFOA==", + "requires": { + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-watcher": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", + "integrity": "sha512-BZGZYXnte/vazfnmkD4ERByi2O2mW+C++W8Sb7dvOnwcSccvCKNQgmcz1L+9hxVD7HWtqymPctIY7v5ZbQGNyg==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha512-zx0uwPCDxToGfYyQiSHh7T/sKIxQFnQqT6Uug7Y/L7PzEkFITPaufjQe6yaf1OXSnGvKC5Fwol1hIym0zDzyvw==", + "requires": { + "merge-stream": "^1.0.1" + } + }, + "joi": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz", + "integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==", + "requires": { + "hoek": "4.x.x", + "isemail": "3.x.x", + "topo": "2.x.x" + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "jsdom": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", + "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.5.0", + "acorn-globals": "^6.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^3.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==" + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "requires": { + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", + "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==" + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + } + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A==", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg==", + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha512-+7y6zfkH4TqgS5DYKIqJuxmL5xT3WUUumVMZVRpDUo0UqJREwZqKmGo9wluj12FbPGl1UjRf2TnAImbw/bKtdw==" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "loglevel": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } + } + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==" + }, + "merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "requires": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "mini-css-extract-plugin": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.3.tgz", + "integrity": "sha512-Mxs0nxzF1kxPv4TRi2NimewgXlJqh0rGE30vviCU2WHrpbta6wklnUV9dr9FUtoAHmB3p3LeXEC+ZjgHvB0Dzg==", + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==", + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "moment": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" + }, + "nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + } + } + }, + "node-notifier": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", + "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node-pre-gyp": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz", + "integrity": "sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A==", + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==" + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "optional": true + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "requires": { + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-Rqm6sSjWtx9FchdP0uzTQDc7GXDKnwVEGoSxjezPkzMewx7gEWE9IMUYKmigTRC4U3RaNSwYVnUDLuIdtTpm0A==", + "requires": { + "cssnano": "^4.1.0", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==", + "requires": { + "find-up": "^2.1.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==", + "requires": { + "find-up": "^2.1.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==" + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "pnp-webpack-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-CPCdcFxx7fEcDMWTDjXe2Wypt4JuMt4q5Q2UrpTcyBBkLiCIyPEh/mCGmUWIcNkKGyXwQ9Y2wVhlKm6ketiBNQ==" + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + } + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-flexbugs-fixes": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz", + "integrity": "sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "requires": { + "postcss": "^6.0.1" + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-preset-env": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.3.1.tgz", + "integrity": "sha512-erl+OcCTr1+jsfJNQjBweyb8Y1s6KngUBwoqJnRXO197PmEE6u9HxZfnpKkTQqasxZljxNHzXR5hMb7MdD0Zdw==", + "requires": { + "autoprefixer": "^9.3.1", + "browserslist": "^4.3.4", + "caniuse-lite": "^1.0.30000905", + "cssdb": "^4.1.0", + "postcss": "^7.0.5", + "postcss-attribute-case-insensitive": "^4.0.0", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.2", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.7", + "postcss-custom-properties": "^8.0.9", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-safe-parser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz", + "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==" + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha512-yJAF+AjbHKlxQ8eezMd/34Mnj/YTQ3i6kLzvVsH4l/BfIFtp444n0wVbnsn66JimZ9uBofv815aRp1zCppxlWw==" + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promise": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.2.tgz", + "integrity": "sha512-EIyzM39FpVOMbqgzEHhxdrEhtOSDOtjMZQ0M6iVfCE+kWNgCkAyOdnuCWqfmflylftfadU6FkiMgHZA2kUzwRw==", + "requires": { + "asap": "~2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", + "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "requires": { + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "prop-types-extra": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "requires": { + "react-is": "^16.3.2", + "warning": "^4.0.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "rc-align": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.12.tgz", + "integrity": "sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "lodash": "^4.17.21", + "rc-util": "^5.3.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-cascader": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.5.0.tgz", + "integrity": "sha512-rpXnWCfvk7Frh2dBzMoA0c7i0nn6aJU7L2NZo8R8pNkrT0sKgytQSpdtPWP+Pq8IkvwbEd8BU8Z8OnOljcqgZg==", + "requires": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.1.0", + "rc-tree": "~5.5.0", + "rc-util": "^5.6.1" + } + }, + "rc-checkbox": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz", + "integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + } + }, + "rc-collapse": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.1.4.tgz", + "integrity": "sha512-WayrhswKMwuJab9xbqFxXTgV0m6X8uOPEO6zm/GJ5YJiJ/wIh/Dd2VtWeI06HYUEnTFv0HNcYv+zWbB+p6OD2A==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.2.1", + "shallowequal": "^1.1.0" + } + }, + "rc-dialog": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.8.2.tgz", + "integrity": "sha512-n1waqBDDKqCCcPCDGycahfawF00WqgtXTXUwxrLStUpfQAo7nzkAvTq9voT78X2qN83UYvrMg1TWCuTueBp+sg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + } + }, + "rc-drawer": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.4.3.tgz", + "integrity": "sha512-FYztwRs3uXnFOIf1hLvFxIQP9MiZJA+0w+Os8dfDh/90X7z/HqP/Yg+noLCIeHEbKln1Tqelv8ymCAN24zPcfQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.7.0" + } + }, + "rc-dropdown": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.5.2.tgz", + "integrity": "sha512-Ty4LsXjkspZuFJSRx3blCLLCDicXM5qds6F1odgEa+jcjC+OJKHQGnvE4FqtoljPaqWm4wG78pbgXH6Ddh2DkA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-trigger": "^5.0.4", + "rc-util": "^5.17.0" + } + }, + "rc-field-form": { + "version": "1.26.6", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.26.6.tgz", + "integrity": "sha512-N7nx/9Zk3innxZWTa4GPUV3j78OCgXacl2Lgi6agmP7ziz6BHoZYZ1djOt5UW50kK7UoVMAPtue5I1XgQO24MA==", + "requires": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.8.0" + } + }, + "rc-image": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.6.2.tgz", + "integrity": "sha512-qhKOVvivCZkd6CrzS/4ST2+Auu16mtPSFVqVzwE7sELWfuvzcLGTzGv8UsVvm6qRNIz6SeaueUetqi4Ii16XQA==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-dialog": "~8.8.0", + "rc-util": "^5.0.6" + } + }, + "rc-input": { + "version": "0.0.1-alpha.7", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.0.1-alpha.7.tgz", + "integrity": "sha512-eozaqpCYWSY5LBMwlHgC01GArkVEP+XlJ84OMvdkwUnJBSv83Yxa15pZpn7vACAj84uDC4xOA2CoFdbLuqB08Q==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + } + }, + "rc-input-number": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.4.tgz", + "integrity": "sha512-W9uqSzuvJUnz8H8vsVY4kx+yK51SsAxNTwr8SNH4G3XqQNocLVmKIibKFRjocnYX1RDHMND9FFbgj2h7E7nvGA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.9.8" + } + }, + "rc-mentions": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.7.1.tgz", + "integrity": "sha512-JbCS9bTqt6BYN2vfTPythlScLuc42rIlX85n7975RnkfawXlJjskHOlR3o8EpD4asl4KuA2jKTy0dj39DtSVqg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-menu": "~9.5.1", + "rc-textarea": "^0.3.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.0.1" + } + }, + "rc-menu": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.5.5.tgz", + "integrity": "sha512-wj2y2BAKwSMyWXO3RBf9sNN5V+DFWxFl45Ma6qQEHA5nwwh7p07bNgc6AAJc+L1+LAz+rWz3AU8PYyT17hMHCw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.0", + "rc-trigger": "^5.1.2", + "rc-util": "^5.12.0", + "shallowequal": "^1.1.0" + } + }, + "rc-motion": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.6.0.tgz", + "integrity": "sha512-1MDWA9+i174CZ0SIDenSYm2Wb9YbRkrexjZWR0CUFu7D6f23E8Y0KsTgk9NGOLJsGak5ELZK/Y5lOlf5wQdzbw==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + } + }, + "rc-notification": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.6.0.tgz", + "integrity": "sha512-xF3MKgIoynzjQAO4lqsoraiFo3UXNYlBfpHs0VWvwF+4pimen9/H1DYLN2mfRWhHovW6gRpla73m2nmyIqAMZQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.2.0", + "rc-util": "^5.20.1" + } + }, + "rc-overflow": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.6.tgz", + "integrity": "sha512-YqbocgzuQxfq2wZy72vdAgrgzzEuM/5d4gF9TBEodCpXPbUeXGrUXNm1J6G1MSkCU2N0ePIgCEu5qD/0Ldi63Q==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.19.2" + } + }, + "rc-pagination": { + "version": "3.1.16", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.16.tgz", + "integrity": "sha512-GFcHXJ7XxeJDf9B+ndP4PRDt46maSSgYhiwofBMiIGKIlBhJ0wfu8DMCEvaWJJLpI2u4Gb6zF1dHpiqPFrosPg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + } + }, + "rc-picker": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.6.9.tgz", + "integrity": "sha512-yH3UYXCADf7REtOAB5cwe1cyFKtB0p204RCN8JdZGG4uuSOZ1IPTkk/GJS6HOpxspZeJCLGzzajuQMDwck9dsw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "date-fns": "2.x", + "dayjs": "1.x", + "moment": "^2.24.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.4.0", + "shallowequal": "^1.1.0" + } + }, + "rc-progress": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.2.4.tgz", + "integrity": "sha512-M9WWutRaoVkPUPIrTpRIDpX0SPSrVHzxHdCRCbeoBFrd9UFWTYNWRlHsruJM5FH1AZI+BwB4wOJUNNylg/uFSw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + } + }, + "rc-rate": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.2.tgz", + "integrity": "sha512-SaiZFyN8pe0Fgphv8t3+kidlej+cq/EALkAJAc3A0w0XcPaH2L1aggM8bhe1u6GAGuQNAoFvTLjw4qLPGRKV5g==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + } + }, + "rc-resize-observer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz", + "integrity": "sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.15.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-segmented": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.1.0.tgz", + "integrity": "sha512-hUlonro+pYoZcwrH6Vm56B2ftLfQh046hrwif/VwLIw1j3zGt52p5mREBwmeVzXnSwgnagpOpfafspzs1asjGw==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + } + }, + "rc-select": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.4.tgz", + "integrity": "sha512-vU2DlROjv33nbYxcPrT/3yk1m53qsxVXhLv1u9lD7H2G5XkUR1p75KMiHU/5l/1VSw9I2IfMsFJoHkpUGNAkdQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.2.0" + } + }, + "rc-slider": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.0.tgz", + "integrity": "sha512-Bk54UIKWW4wyhHcL8ehAxt+wX+n69dscnHTX6Uv0FMxSke/TGrlkZz1LSIWblCpfE2zr/dwR2Ca8nZGk3U+Tbg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-tooltip": "^5.0.1", + "rc-util": "^5.18.1", + "shallowequal": "^1.1.0" + } + }, + "rc-steps": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-4.1.4.tgz", + "integrity": "sha512-qoCqKZWSpkh/b03ASGx1WhpKnuZcRWmvuW+ZUu4mvMdfvFzVxblTwUM+9aBd0mlEUFmt6GW8FXhMpHkK3Uzp3w==", + "requires": { + "@babel/runtime": "^7.10.2", + "classnames": "^2.2.3", + "rc-util": "^5.0.1" + } + }, + "rc-switch": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz", + "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.1" + } + }, + "rc-table": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.24.2.tgz", + "integrity": "sha512-yefqhtc4V3BeWG2bnDhWYxWX1MOckvW2KU1J55pntZmIGrov5Hx8tQn2gcs6OM0fJ6NgEwUvVEknsCsWI24zUg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.14.0", + "shallowequal": "^1.1.0" + } + }, + "rc-tabs": { + "version": "11.13.0", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.13.0.tgz", + "integrity": "sha512-aUw1Pq0B1a2zGX4o/m3yrQycZcCLgDp6gKwn8IAU07q148RRONsVGxi0oLVVe5SE51kOB+j0bk1RX43ZBdZNgA==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~3.5.0", + "rc-menu": "~9.5.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.5.0" + } + }, + "rc-textarea": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.7.tgz", + "integrity": "sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.7.0", + "shallowequal": "^1.1.0" + } + }, + "rc-tooltip": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.1.1.tgz", + "integrity": "sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA==", + "requires": { + "@babel/runtime": "^7.11.2", + "rc-trigger": "^5.0.0" + } + }, + "rc-tree": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.5.0.tgz", + "integrity": "sha512-vpKeFsDyj7weik8UPseCTaSNAPt939qn1dQd8goSbRDajbjJEja0v/WFXyRhOiF1HLemNTfqMz4MYc9qlqyNXg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.4.2" + } + }, + "rc-tree-select": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.3.0.tgz", + "integrity": "sha512-UN6CUBulmch+CsihnJ73+DtWijEB1hVTC8sdVxq6E0teVAkHQZUvDj+cwZShtShAKvWwXy73PZ1hIHEUrmVcKw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.1.0", + "rc-tree": "~5.5.0", + "rc-util": "^5.16.1" + } + }, + "rc-trigger": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.1.tgz", + "integrity": "sha512-5gaFbDkYSefZ14j2AdzucXzlWgU2ri5uEjkHvsf1ynRhdJbKxNOnw4PBZ9+FVULNGFiDzzlVF8RJnR9P/xrnKQ==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + } + }, + "rc-upload": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.4.tgz", + "integrity": "sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + } + }, + "rc-util": { + "version": "5.21.5", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.21.5.tgz", + "integrity": "sha512-ip7HqX37Cy/RDl9MlrFp+FbcKnsWZ22sF5MS5eSpYLtg5MpC0TMqGb5ukBatoOhgjnLL+eJGR6e7YAJ/dhK09A==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "rc-virtual-list": { + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.8.tgz", + "integrity": "sha512-qSN+Rv4i/E7RCTvTMr1uZo7f3crJJg/5DekoCagydo9zsXrxj07zsFSxqizqW+ldGA16lwa8So/bIbV9Ofjddg==", + "requires": { + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.15.0" + } + }, + "react": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz", + "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-0.2.2.tgz", + "integrity": "sha512-mAYn96B/nB6kWG87Ry70F4D4rsycU43VYTj3ZCbKP+SLJXwC0x6YCbwcICh3uW8/C9s1VgP197yx+w7SCWeDdQ==", + "requires": { + "core-js": "2.6.4", + "object-assign": "4.1.1", + "promise": "8.0.2", + "raf": "3.4.1", + "whatwg-fetch": "3.0.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", + "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==" + } + } + }, + "react-bootstrap": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.4.0.tgz", + "integrity": "sha512-dn599jNK1Fg5GGjJH+lQQDwELVzigh/MdusKpB/0el+sCjsO5MZDH5gRMmBjRhC+vb7VlCDr6OXffPIDSkNMLw==", + "requires": { + "@babel/runtime": "^7.17.2", + "@restart/hooks": "^0.4.6", + "@restart/ui": "^1.2.0", + "@types/react-transition-group": "^4.4.4", + "classnames": "^2.3.1", + "dom-helpers": "^5.2.1", + "invariant": "^2.2.4", + "prop-types": "^15.8.1", + "prop-types-extra": "^1.1.0", + "react-transition-group": "^4.4.2", + "uncontrollable": "^7.2.1", + "warning": "^4.0.3" + } + }, + "react-dev-utils": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-7.0.5.tgz", + "integrity": "sha512-zJnqqb0x6gd63E3xoz5pXAxBPNaW75Hyz7GgQp0qPhMroBCRQtRvG67AoTZZY1z4yCYVJQZAfQJFdnea0Ujbug==", + "requires": { + "@babel/code-frame": "7.0.0", + "address": "1.0.3", + "browserslist": "4.4.1", + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "1.0.5", + "filesize": "3.6.1", + "find-up": "3.0.0", + "global-modules": "2.0.0", + "globby": "8.0.2", + "gzip-size": "5.0.0", + "immer": "1.10.0", + "inquirer": "6.2.1", + "is-root": "2.0.0", + "loader-utils": "1.2.3", + "opn": "5.4.0", + "pkg-up": "2.0.0", + "react-error-overlay": "^5.1.4", + "recursive-readdir": "2.2.2", + "shell-quote": "1.6.1", + "sockjs-client": "1.3.0", + "strip-ansi": "5.0.0", + "text-table": "0.2.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "browserslist": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", + "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "requires": { + "caniuse-lite": "^1.0.30000929", + "electron-to-chromium": "^1.3.103", + "node-releases": "^1.1.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "inquirer": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", + "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.17.10", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.0.0", + "through": "^2.3.6" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "node-releases": { + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "strip-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "requires": { + "ansi-regex": "^4.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "react-dom": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz", + "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.22.0" + } + }, + "react-error-overlay": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.6.tgz", + "integrity": "sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "requires": { + "history": "^5.2.0" + } + }, + "react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "requires": { + "history": "^5.2.0", + "react-router": "6.3.0" + } + }, + "react-scripts": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-2.1.3.tgz", + "integrity": "sha512-JASD0QVVgSVleVhA9TeA+UBx+shq887hm/L+09qjZLrqIUvJZHZU+oOnhMFGot02Yop+LKfkvf9KSsTNlu/Rwg==", + "requires": { + "@babel/core": "7.1.6", + "@svgr/webpack": "2.4.1", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "9.0.0", + "babel-jest": "23.6.0", + "babel-loader": "8.0.4", + "babel-plugin-named-asset-import": "^0.3.0", + "babel-preset-react-app": "^7.0.0", + "bfj": "6.1.1", + "case-sensitive-paths-webpack-plugin": "2.1.2", + "chalk": "2.4.1", + "css-loader": "1.0.0", + "dotenv": "6.0.0", + "dotenv-expand": "4.2.0", + "eslint": "5.6.0", + "eslint-config-react-app": "^3.0.6", + "eslint-loader": "2.1.1", + "eslint-plugin-flowtype": "2.50.1", + "eslint-plugin-import": "2.14.0", + "eslint-plugin-jsx-a11y": "6.1.2", + "eslint-plugin-react": "7.11.1", + "file-loader": "2.0.0", + "fork-ts-checker-webpack-plugin-alt": "0.4.14", + "fs-extra": "7.0.0", + "fsevents": "1.2.4", + "html-webpack-plugin": "4.0.0-alpha.2", + "identity-obj-proxy": "3.0.0", + "jest": "23.6.0", + "jest-pnp-resolver": "1.0.1", + "jest-resolve": "23.6.0", + "mini-css-extract-plugin": "0.4.3", + "optimize-css-assets-webpack-plugin": "5.0.1", + "pnp-webpack-plugin": "1.1.0", + "postcss-flexbugs-fixes": "4.1.0", + "postcss-loader": "3.0.0", + "postcss-preset-env": "6.3.1", + "postcss-safe-parser": "4.0.1", + "react-app-polyfill": "^0.2.0", + "react-dev-utils": "^7.0.1", + "resolve": "1.8.1", + "sass-loader": "7.1.0", + "style-loader": "0.23.0", + "terser-webpack-plugin": "1.1.0", + "url-loader": "1.1.1", + "webpack": "4.19.1", + "webpack-dev-server": "3.1.14", + "webpack-manifest-plugin": "2.0.4", + "workbox-webpack-plugin": "3.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "react-transition-group": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", + "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "requires": { + "util.promisify": "^1.0.0" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "requires": { + "minimatch": "3.0.4" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + }, + "regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "dependencies": { + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==" + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" + } + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==" + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "sass": { + "version": "1.52.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.2.tgz", + "integrity": "sha512-mfHB2VSeFS7sZlPv9YohB9GB7yWIgQNTGniQwfQ04EoQN0wsQEv7SwpCwy/x48Af+Z3vDeFXz+iuXM3HK/phZQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", + "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "requires": { + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0", + "semver": "^5.5.0" + }, + "dependencies": { + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + } + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "requires": { + "for-in": "^1.0.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", + "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scroll-into-view-if-needed": { + "version": "2.2.29", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz", + "integrity": "sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==", + "requires": { + "compute-scroll-into-view": "^1.0.17" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", + "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==" + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha512-0u8i1NZ/mg0b+W3MGGw5I7+6Eib2nx72S/QvXa0hYjEkjTknYmEYQJwGu3mLC0BrhtJjtQafTkyRUQ75Kx0LVg==", + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ==" + } + } + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "sisteransi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz", + "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==", + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sockjs-client": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", + "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "style-loader": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.0.tgz", + "integrity": "sha512-uCcN7XWHkqwGVt7skpInW6IGO1tG6ReyFQ1Cseh0VcN6VdcFQi62aG/2F3Y9ueA8x4IVlfaSUxpmQXQD9QrEuQ==", + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" + }, + "dependencies": { + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "requires": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "optional": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "optional": true + } + } + }, + "terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "terser-webpack-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", + "requires": { + "cacache": "^11.0.2", + "find-cache-dir": "^2.0.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "terser": "^3.8.1", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "requires": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "topo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", + "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", + "requires": { + "hoek": "4.x.x" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "requires": { + "punycode": "^2.1.1" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + } + } + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "uncontrollable": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "requires": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + } + } + }, + "url-loader": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.1.tgz", + "integrity": "sha512-vugEeXjyYFBCUOpX+ZuaunbK3QXMKaQ3zUnRfIpRBlGkY7QizCnzyyn2ASfcxsvyU3ef+CJppVywnl3Kgf13Gg==", + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", + "requires": { + "xml-name-validator": "^4.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "requires": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + }, + "webpack": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.19.1.tgz", + "integrity": "sha512-j7Q/5QqZRqIFXJvC0E59ipLV5Hf6lAnS3ezC3I4HMUybwEDikQBVad5d+IpPtmaQPQArvgUZLXIN6lWijHBn4g==", + "requires": { + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-module-context": "1.7.6", + "@webassemblyjs/wasm-edit": "1.7.6", + "@webassemblyjs/wasm-parser": "1.7.6", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.1.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.2.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", + "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", + "requires": { + "memory-fs": "~0.4.1", + "mime": "^2.3.1", + "range-parser": "^1.0.3", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz", + "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^2.0.0", + "internal-ip": "^3.0.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "schema-utils": "^1.0.0", + "selfsigned": "^1.9.1", + "semver": "^5.6.0", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.3.0", + "spdy": "^4.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "3.4.0", + "webpack-log": "^2.0.0", + "yargs": "12.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==" + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "requires": { + "xregexp": "4.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "yargs": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-manifest-plugin": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz", + "integrity": "sha512-nejhOHexXDBKQOj/5v5IZSfCeTO3x1Dt1RZEcGfBSul891X/eLIcIVH31gwxPDdsi2Z8LKKFGpM4w9+oTBOSCg==", + "requires": { + "fs-extra": "^7.0.0", + "lodash": ">=3.5 <5", + "tapable": "^1.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "requires": { + "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" + }, + "whatwg-url": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "workbox-background-sync": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz", + "integrity": "sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-broadcast-cache-update": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz", + "integrity": "sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-build": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-3.6.3.tgz", + "integrity": "sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g==", + "requires": { + "babel-runtime": "^6.26.0", + "common-tags": "^1.4.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.2", + "joi": "^11.1.1", + "lodash.template": "^4.4.0", + "pretty-bytes": "^4.0.2", + "stringify-object": "^3.2.2", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^3.6.3", + "workbox-broadcast-cache-update": "^3.6.3", + "workbox-cache-expiration": "^3.6.3", + "workbox-cacheable-response": "^3.6.3", + "workbox-core": "^3.6.3", + "workbox-google-analytics": "^3.6.3", + "workbox-navigation-preload": "^3.6.3", + "workbox-precaching": "^3.6.3", + "workbox-range-requests": "^3.6.3", + "workbox-routing": "^3.6.3", + "workbox-strategies": "^3.6.3", + "workbox-streams": "^3.6.3", + "workbox-sw": "^3.6.3" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cache-expiration": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz", + "integrity": "sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-cacheable-response": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz", + "integrity": "sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-core": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-3.6.3.tgz", + "integrity": "sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ==" + }, + "workbox-google-analytics": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz", + "integrity": "sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig==", + "requires": { + "workbox-background-sync": "^3.6.3", + "workbox-core": "^3.6.3", + "workbox-routing": "^3.6.3", + "workbox-strategies": "^3.6.3" + } + }, + "workbox-navigation-preload": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz", + "integrity": "sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-precaching": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-3.6.3.tgz", + "integrity": "sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-range-requests": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz", + "integrity": "sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-routing": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-3.6.3.tgz", + "integrity": "sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-strategies": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-3.6.3.tgz", + "integrity": "sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-streams": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-3.6.3.tgz", + "integrity": "sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w==", + "requires": { + "workbox-core": "^3.6.3" + } + }, + "workbox-sw": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-3.6.3.tgz", + "integrity": "sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg==" + }, + "workbox-webpack-plugin": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-3.6.3.tgz", + "integrity": "sha512-RwmKjc7HFHUFHoOlKoZUq9349u0QN3F8W5tZZU0vc1qsBZDINWXRiIBCAKvo/Njgay5sWz7z4I2adnyTo97qIQ==", + "requires": { + "babel-runtime": "^6.26.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^3.6.3" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==" + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + }, + "dependencies": { + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==" + } + } + } + } +} diff --git a/asset-authorize/package.json b/asset-authorize/package.json new file mode 100644 index 0000000..2f09a79 --- /dev/null +++ b/asset-authorize/package.json @@ -0,0 +1,48 @@ +{ + "name": "access-authorize", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/jest-dom": "^5.16.4", + "@testing-library/react": "^13.3.0", + "@testing-library/user-event": "^13.5.0", + "antd": "^4.20.7", + "axios": "^0.27.2", + "bootstrap": "^5.1.3", + "query-string": "^7.1.1", + "react": "^18.1.0", + "react-bootstrap": "^2.4.0", + "react-dom": "^18.1.0", + "react-router-dom": "^6.3.0", + "react-scripts": "^2.1.3", + "url": "^0.11.0", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "sass": "^1.52.2" + } +} diff --git a/asset-authorize/public/favicon.ico b/asset-authorize/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/asset-authorize/public/index.html b/asset-authorize/public/index.html new file mode 100644 index 0000000..aa069f2 --- /dev/null +++ b/asset-authorize/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + +

W5{nT%<7un~S$lydc-%*S5G?&f=` zrufjY@x(1l)VYx)2L@s|?NDFyELnh#@!zPAERfgn;a0Ja@6QaytQ6*lD8BT{f$pQxYyz?fs)Qcz)oDhK@IO-n=iyoH|2Ocg&uh$Ner?{Q3yln^e;We6oo= zL>>)z@s~dK^qVtAy_o;cJyDeb?UsH`gHX&uOM;y|t3BkY0%p|Y;JUf$@$+#LyZM*A)}J!bnv^O5w~^pOtK zsfm{ua3PQl02Fz9jf2lPyudLoXs+%Hlk#^#l#-T~w6XtT3oEm{kLF%4-N+dei)cSg zl0DgLns%)~!2z68Z*X6q0_{x3cw68k6`hKmDDF;Rf(8muaj)eE}3T# zoKox0-@GTG^6h+Q&p!$CcrT`-cSbrEV4w?8En7Bj>rvDO8+fW~dZq84 zuRWR$n#P7V{U(*lVca)_5bj|7li7Jdc1QDlcz`D$Nco7tc?-Q~0!RNscNT-~bkUHt z1W&x{*F$!huH>sewg3rwe3*sk0opa{9>Un0MmpY)Vng5wp$k(%(}1X}-;#`p?x_?b ztOE2q)t|vhK(Lw?U8Pi*6m5NI9_ak(761=c0+{(+VRVNM7-Lta+2#D7>jW^-1A@6^ zxWGcW*AAf}SX(7;Cc?}2T>Ki$38-AgaXu3&h-9oxoqNdkMUH~~k(|L(Il)aLh0#UC zp4T@YK{G!EhokHyt468HTdBhACM1-FH5!I&xaX);2EB$bQ=j`LT!z_x>W5c;FGyua zn|w0Gg;jnJtOh{&p7Z+2PkL#xs=|_LQ#A&1rg|!-Q!7+0YMx)kYL$xRHjjo8)m7I^ zLK*&m*HH87Q}bj4sQ38GaprE5DBI-7I9BqzGG_cB7W3Hy>(MpPfOPsx=3tq3c&Lv* zjG0G{>4xK}S0G{!1KK3arobZ2rl#bEnOOIC9wqm|#JR9pnYZVxXBTFk1hKnDerv36 z3^5K?W=|B(JYnMw$V%}CVr3n+Gev4}V+f(jCekLH z>azavkw&3f3mXC=4nA~&Li5QyACQ*+L&FjXrxzcpg4Q?1Fs@08z_`Y3RyffpuZ0(y zH%2HITN4|!p!Ne&M~4^5J@Xc;yUd{6Ts!%V+-Gj%>H{)|LaF@#bcVCsef#&4rFwHn zRK460oBeHdY`CIM9WEnJL(z)tnQ!nD$yxd2a}k-sJ^Qy-?z@$Ddp;K(&GJmhO+Ho9 z^di}ATyXLW59A85LQ7}4w&1ZYFU8ei1 z(qsxRNFA8pQ!e+-uw$cOxZfcnC+x6PO!tw;D9A)!_zJw&Kd9CRi2^V!kFR&DFs`nx zJ5Ft^R)g-&O0Bi7ag9U=Z1o~qBH@lX4CP=!dVEBNV+{~30TGHkx*!-crdA*c_Mg|H zd0ebO`ce&ixu=je%V@ne3B*}Z$B(>Y+YEB#{rnMdfBZd=_F{gy)?CQmtkK4|_nO`s zOEyd4b+j$o#!TLiu-&@bvHfb3f_u!iZFK57CB!^S4fMC%!gGXdkmGUvl0ubawTkLJ;Q;Ys*)gYxDjQjd0#bFHeC(sLW%-jF4>zeaWY zda^I2v#2+NumlCS_qKc*rVFj-z61HKbw+z*tyw|UY6{wv5ns2mTzGL3JZ?xHS&Be` zC3UstikCJM+PXm*Hs3PJD9PyQIH>uVrpdB1p~*m@d}oH1GarVWnG7J_0U(cQOUx2H z1|@;*q&_5g0iPDDlnoV>8Z=hxDCFEoD1$4@C_V%9tl?u?qQD=c}IeRe)LW%D{>ZfQJ*x-h(t502(yWp2Q+vr z*Ze9dG&BP_?y^rt8&P=dwaAMo60^oxX=tsof$gcp?`q-Pe#hgdhsP8PhZ-!Brnm4Znv5{^>@+)zYI4WK@bfG)r z!lpRxf=k)S5kspZgJNxS%NWU-*>%a>FEV-M(2x3sMlWD~A8TTf^c+xHvEFYUz%748 zr?XuZKQG*AXK&QLfrK91ZV@jrBAqh31mU}pA?LxdXq6bKUN+C+ctY7gIkel1693tN zkvNALj+5|XnsuR>9VM$)b~!`n>=-doY5+;zKH`)Z$V8z;bOT*mR(NlYY#}S16bN|{ zS_o68Bd;w%Y*EM?o58C=QA4-!`(v}!TYLlxM2G;hZi0S9Bn_f&%+NJ^4y9cWUjFRy+I_o z{?f!wwvR#5yx{4}$LQegEv4soj z06?*Bfgc#~!1Uz^x)-`=p?z4iXg*EFWuTH2eWX}~O*cSk{9iV=>VWP|5CGk{c=eaf zDZxJoy@j;>WpnZWVRLTiuAp$vTzXP84`Y748=7hR8LQqsbjT+-3{Auk+#FM4)=h9j z#L~sBVJ8>X(Ld2cYQyAy79%*p_8AFhPRVD47v+~Cx?Npgw&{#aI0eiCOa2qW=K z^fDpt;e!76L0!eQ;wy|%1j8@dkc=3jZ`8MXHzFf`!ARdn^Jp%mqVqb{=l)DcO=^u5 zNH04<9v1ZErP?$|^V_cCUMO=82+Rka{}4SSL^oPe z!uB`_YP1u|%)z#M3gP&MuN^h~@!;C|rULQ&c;Ljw@YUHkqVY10=E53O;R-w0d z-E#>WDwY(s&=&WR*dV=Xu^{i*4#I~pRJSDdb4ISiE-u%*8(A+pNGWV_!@}Ho>f{|gxk#EI}Kfu zOKi{>kGCp!tRG9(tjMKh9f$7dhr>Y>jQUm;;=D))jSU^kmKbv5<3h?~Gn%dHL zWzP7hQl59|kaM(L>P}C*G!+NqqY~&Z+ysgaQlL|qqneVBj7l=wXa@sxO=gM=98n4C zdIjW2g=B?x%n>c{p9prdzyXhn7fMTgK&7pPmLf#zkVSL~4Ip7Sx$rTY%&q;E?x{s| zm6!Pmf-iE9Tph{Jn?Cz#d0)(*Y}+h zkW_mbQJcijG#|RFq%{ZUgR7x| zl$3~9824bN&sGKc{z-qfK|0^wHoN5)m4tkNwsyxy{5<`77@l-wP z($_Zb9!bYpY6pk6(GmD9^Gz)h8ENQeS}V&bRy?NEn<)8rQD#NwD<0#dH_{_H)Z}w? zPyNTu=a4gu_5Bn)+jaJ~DE;hvrU`HNH`e@VHO~6_uj+^y&*t0o&i#+QkB_&rv*P>v z`}^&x)$L>SWtDC%t(fV9wUFyudF;o9aE`fYWH@n4bph@PP zwfgHx_P4x2ziEX5V$e#MQvZl9)vs&z{vXk0{QciVml6MnF0m+SA#?M7tPwuL1{zOE zY!6Kcmp_J42Cp-G81m_1c8H zhCdW!X=+02C_ol*N(chzzCW+w9YSe0YVL4}4hQ#Lz%*D|5 zG>>!%#pmqdB9kNxn(v%_rl7LHJLoozBw$M`Kq(8*XV^wk;2L4g|tEzc~xO9)TkR zxRb&8OL0XXhJvNE0nK>S9lUX^vQ5cTI_7MYxP8y(h!}@axR1o^^;2_*%?$oVWZt10 zOZoT&taT;l7(2z*0?AwZdS^@ADZJsIr`cpDAi{=1UQl^Z{(^ryzt1y&Nt+8p6aUL<#fy7z{}pFWxFcIV;N6^j4mWphtQ0n#`udjD_v=$OvbQW_ z`0Pz8F~6GiKulVe7KvNnR9KXRr|*`~C0Z%pE9ZFUO{K``9E+fM7qU9mLm~ zF9lxWf|PN+IV}j5G!aKFx}pvROfIzR{GU{%%<&;%`a`cC=-$q2!BrO4CfC>@W40z& zOr4qdZs_4eM5`#>%nwi2d}_5_aF!Fr!Uh^jDyclLx8>KEohZC;x(HCc&r-_u0(^(yA4~d7&v=z~)tl?sgDy8r8Caf3i4jUT#!v2u{ zt<*B_`i1;0)q;)x9o4o_p~AL?;cFqf@50qdkoW@mameMk50Ci$c*aEmbIXL7OTo&* z=Kz4Zy2_^7hgSQIEkOa1dHx}(HkZ&? zj~dVlA=mi@%vQu=iLKT3<#(B*+b{hFgIng&iC=SphfzxUSf~FK39+UxHv^Qe`RT$- zv41&239^Ckh0T)GyVkd&DHYz*%#L*i`k2qT7z_eckH_04bRWuSn`KFn-i3-D`_>(w z4Sm*7mM!`QRUaWwh65sa(&g2#%g&>~o7U&Rka1VrDOX+M0KAADZGx&)Xb>XIS&u2> z>fJe|_nGb*DVrYOd6{62t zRZWCJ(VFd&de{FG59>1x7NE!3aN-wL)Jqdi_U7iWg&nXPYf8CLAZSDRkV$td-;b^I zU2)>(MQ$3NSf}4Cja2nY)i)p#q~?(|)nH}XB6r+_^)R!P@;K{IaE)8JjnHI#vLa_S z%A#h(q9QB@raoF`8h(foC8~Z{wlXbBe6O8?dHr%EcyT1{ z{2^Tk32vdZilxLf+TIWpQfC8zVPQedkCr82S5xYXN>gIjvv3J}B0upGs_(GaWVkR` zP%r+^p7Q5H?R^ECg^6}y>ffR*;;^NB#E;L$Sv{Obea19e5zfTwV0`IdxMr^k&)fUJ z6t&!4wJvIOr1x$@r6$=TkTzXG=^-!M1k7I4@mmxcAA#l2vVu8PGbr30GURHSo=n2D zRtW7pasuXcgw z%`YcWXH8YIJVZSOC7SbipvlUPsrteq!)(Y(D!92{x%3(YOzpCqj&}(Xw9#@CQ)Mt< z<-fzWx-A{;$eC@(c}+f%^yG?YdeH6qKLR(pxbxV(>7hChfl28GI<;FaJSM=%GW}<# znE6o}69@I>IdtaGhm_UsSig|k>T${Q??W%7B?K#1v8!`@L<0-m*z#7<)MRZ9tzXm& zoTIuKbBT*lDYvu2Mc?xxO%#7nH7yjbd}ZDqSz{-}!*YHhM$Xt`DHQB;H0;D=tVfQBH>0|yq7_h@N=?#e|4b7nn$Q+W3aWx{|nIu*du zNrVVK9rV@-_ENV?U4i8frqf<9x!#;DP4Tl%6K@Y(k8VDk5OFSegGF!53o=PDLqqY# zu}c*(DiI%=o+TZR}))d1Wbyb_%cS-`gZrvu%FVC@(s2ygAW zssQB@_~Nk9%Z0%hpE8>tiSl~8p6v;DQ!q}BzWe0Pe}2UdH7f1h&km<{mGxH>R-obpL|v{i+_wY~94$x!T3)XI--pD$yz;0p zF~yMwBc8O#nf zR^%NR`d@MztUhV~Kgn&<^#7gQ77YG>mRlFv|EJuh{{KU6b^a&0JrDc0+;032a@+pD z%56Rn$;#LLGV$mCrQC8jlmU%X=2TaQJs7yiwLCa9CcLH^Wzg~9^g-%K+-=}{dgVZypouWsVi)E&A@(gN z!OL1yKj$$yyG##7(b@8rpj}71>rMx45ou?e2*|m%OG)0N618weaOugzoSK_Q2XLjc z9@7X8NSy|E+IS@~b{ks3>>WorMX1U@Z?FiXQAWpA2G0)`o*U8jmNFtp%GAR`8%&KS@T&a#xy!+i6hzYif>3AIaX|&IRXF9-ZJ2nU1$i{Z| z#mXb@H+~8a*;c!d<$&kH`$AHR=X3RqyLP3VQfak3`sBzJyM$pP*K9RMD0?Z4))`il z>K~S3#ZbtZr(?&oSVMU-p!NG@=vGa>gYCi~l0l6>y6S%39_3|SbTrq4CM)cs6C#qE z*&^2yYk41cByX(saMSwvuLntVSDUS+2R6F~K|6de-Ozwjs4n#LL)tF5Q9mv!a@FEh57=T$wdo++oo4V_W3G57Od=8k?kc2>R^(7^O^b9ezd zwsq!a2P371*myHUQI^ss7f;Wg>4lM^b<|YKPRU4wWSMI~2*Bm9qsMtiajf@PGNX?U zW#)al$59-w;!d?T$NYcb(mGp%`O!i)l!MC3l%0wMEeL+{YZMvPBicUdmwZH*#H;3W)AcMbguDq@0|)4@6+l*lNH!sRb*ZmXpQ ze&)I`-#m66IwWd@PdIv_y18;nFz#|8a?!{KA^H=iw62cyQ6zYf4)4_z$+3etfO=gs z8pXStR@(aG-jw|{vy$xUNo286?b}MZseG4gCd$>Y&m`F*aWO+myqsN~CH@P$hB7kLl@xUw7kgm=H!L|mWfd@$$d{yYLy!T9y*-O`Bfr^4DELhR6 z%VF}0qk2O`;ChSGUINy&Kd_Jy`-$4nG_v?=!M(LV9RaZ>PGXI9bxYnK!~`*C#RCj4 zGKcTI$E)AQ-GJev#_|b&;eC)A+{AZRNoR@AgpiHGX^!;RV8<4LEeTFUtb66l^s*$x z+We)Eq~9VLgYGDMZQ=O6zFJIqxvf{}4rX3kOPlqhmDscg<{*XW0`8?@1**C&FIkxg z6@E6TT@&%JIPiwnb^x_7(2u=s%Ti0e1ygVf^Q+PhOQIcVmV5?k?x7Md!v0!DlNfBzTn6V%!>{C zzua(vC?559x=*h=KvnNh))4%Hg!;^MSMX{FSKpt0Df;tl5LzTWGW zvRYFayjf7L%*woogeDhg4o2o_!qWLbY;Xy~+e&r#6drTYG!`3#``jn@;0VXv|DDF} z^&6(lnff>_1VXd0X%mj80}18O!|*F^tp21lTfh9^roD1Di@am02!)w}ft&Y-65|zi zEON|+u~XnOgh%%26sq2(_18yazH+Jby3e>@$89iGxm@x#D{8Sye$##WqrTU$@%B4| z3xmB$9Fa2c%Pmt~nzDQj*|RxAztoq51wZ<&5JmEJb4%wZ(A7VqS)mz{u_wBtKTnnT z#>p#^2zO&Hltvd&M`$&YhpG{A9r+&ghs4k+;V~`3CQr=Y2 zC(U>DMe)_1aheSI+K|?=)l9fvBMGL6r4t#`qC2>X2*es9C2cknKrFNPjZ2(WL_APr zzhhzBVlxoGkqGW`*TYx1pQTBma0XXLxQ7R&DH@J2Q4yJwsb3d(>dR(W0V2i?>XaB~ zrAtM>6uCN6FfiH5WT5oq!B_kP>1WelKzcdR0-r=k5nrN+t1HFMCOwBS)lK4ptMu^< zk)}=K>A16JVSc-F97w4Xxe;eZWewmDtk6ZyENXMxn{w&uxui?QDsYbJR2QyL9ejATsm&{nN12-r{m~~L2ET);iy7tFABWF(0%Vc`M*Sab zyQdjm%|-SRnZ33q+p54@ej5{M!aQ#>$3li9@g^$DJukDwbAiuaajWq78zt=;-`C`I z_dW6&W9ujr-)f7uJ6b#MnQPk1>zjp)Ux%Zq*1Ijy6B#9nnC>0G9zwXArk8sa>LTa9{kN?#G|sZkJA ze2r=oI72m3X}}jJ+SC99zMaMqT{%;IxU=*)TyR1?n!&AmAd2rHd4Z5FvXQNdJ^19J zUvDLa$_S+;rU`m;tD~o+!(7MLr6H?JeTHk3wE#Itfq(a&xOo8f*@GIrA5$9R;RPmP zzz#iDJk}izFjG@!aK1c5d)*}H1Q||rk@GfLat(-mwWL`u6pNq=i~+OEt;}-c5#{sM z#L-zp=h5mqampE}z(pm0rUDmSmoN|mG}S4~v_cBLZ4Ui3JxzF~iO~~i9~GUCFPtSj zsw9ztK0C_gNgImsufCx0wE$S*?F#Yv+GJky z7o(DFY5#%9;(IojQmq>mmvq3dgVCB@C1s%RzjpMP%We34>(59?TUv$|J_{N<+r@Do zip35*KYe*AiPQAhYRcn8#SKnQG1-cV(uC7Qc3lQ2CcMG5rA{KaDblTIn20wti?VqN zva9BPcMr9Zf!3tPTrbd1{MmM(ee&@h)%Mb*uU;9~`8`k7-3M{^yy*tpN2E5#Z5V7s z5%Xor=m0)C9Dv;k&h7SnYe~=MRBGv_n{#$iqbflQcf|shLjo(t@c*mTx{R`-iLU#J}C0()@4QT(cT1gtA|8BMV|IKP`Up!g! z&0+s-wJ*kfdrU{RYkFr7BT6jMJCZTeuKMKGwk{o`Jp-qqxNA_4V-XuOFK zh0b67q3fLubT2+1>wvnMwO>8h*an#~V@TQHi{`HJage&G6>BTFZisk&&@;6I(LyF> zhOA;9w2en%?djXn1$x4NF-srdu;q@kNId3U2~=9UYqQq<3h&Yy|F5ccR)WVgBhFS@ zxdy_DcJNKdw0#G&-ORS;`Bky6#^67y+QL13+Fy6TUz^w1y1bn1b%KOWU0;_zWP9kg=jYaf4x9*r z>d-?^=<=FT);t@!bU3R**`rC{yLVDh{0WCU3py72YTs6l{;f78g0QX*!WV&D+FY@q zYw>q^e9uv_Ki0CbAV4~0K>tX=PDkSa{5rTxCRztn_>Ig10q7wAlhsxc5%obuAW135 zrxqT{DgUFZ9k|e_M|d>3rw@Fo$B&CL1>gXB2b!JWVpiWyG7EAWXgp=YqDu^vR8-)8e_b`H+Ul9%8wmh#|e*70dH>6h8mus^N_)tzeC$`yTcy|(7`_`SInRNIW| z|CQBl-X~y0?f>K^MJe(JY8ieKA-+R0;?8Ah$KWioiMh!v>nvwqM;*uB4lo0 z3U0mc0vI157=VWlwTM@f)$>1!*;P|0#cF3%mlF!vF_!8$3R&H1Pr~L_bT^*L*+`J} zNDV}>28f)Td^Mmbv?ho8Sr9(}f310&V$OtUbJy2WVN$f^d8R%M&XHjQvSA_m9ZY9` z;L`i6Wl23eo=mVp^b_C8mWT%fi1LEi%D&WQA3tPf&|r-Qqf$u-?v(;UBc-Ze z1~UF^&e-Hn<^DX$t&}^>KNZ{N;_fDVn3$=}--t7>8#Aj4%fqRUQ<_DqWW$D@+6>6j#=j6mTv)qMoizgYnqe8BS^1iHm5cK9;S)Isue{ywOkfBWx2EmQ(n zBvitb+;Cl+NALNv9BiButA%M-;dWkW?qx8mM{IUeQ){F_mjY$2V zSTWPxP5$Z5&Qf$Ey;m2)PikiFac3i}W*3GKsvIf}iuqoPIY2svVgqU>=eY=hO`_-t+N|LC(- zxh;8}`fAxQrdEfJS>Mcs_fjG9wlPZW zCzl7u6*@#TV+qU80#+%xG3&{qDB;(_zH9`9cg z4+b)=tf?FDMx!tT&S6OLzUyc79h=m`s0~8C;2J@80K4IDJQ^;P4yW-0D+cwB)j8UD z@Mj&m_jKFVmL23FuGq;)JZmS{<>S*GrZX1_w+c0KF{>?iq=R?zP>G*df@p3(k!QEKAs>g$_v!jD6k{wd3-H z*Dn6ScWe)$?Ia6g_l%3?t68F8lt;xm$bKWZ;H!ziRMM7EBBuKs^x6Z8hPF*iZ-xuJ zFNAd|NkOyltyY${g}eKQCEk`*J)xGWk5L9>=1!~sDJChd6gK01N=u#K_ab*Y%QClAipxFy_J5JZyB<%}qKw{rvs(@hLw-Gt8K|e*tO?Vc`{@iGQ&mrv~;E(N= z8>M2fPVo(-i6tgIlLyIh^RO|cHkMvh1}wNl>rqhjMzPp6EE!~HF2)$q^Stm z^h7j>LGA2CZVwgPmC(#eWsVnei)V^3g16escTO!8oO zq8i3rrhX~V;XH?#~a>n&>G{Cfhhp;tB@0V({f69Hu;*5p{I(WygT zhki~H8f-AB%+do=6O|^@+qn@6g2)+_8MHfPFvc@S)#6qCIB2IXw<8DIeFE#FD|naC zTZ9PI=+7PwJs6<`nY%*dicPDvo=zS zNE)19Pyq2?6sJHWP+dr3sKOL809>e6ARAwIn)t7Jb)?Ah?9Z&CX9=U2G@9UKE!W7= zdgJL-+|`s!#8tox2D&lo^_s64I@M2Q!t`TUA)mz{0;;RCRFuZc2Ic(a($k4$Vlfh* zBde4)Uj8@AvY)xoq&-q+F^|5$Pe`2s^`LFsO=i{)D`6%Aw?d}eA1or-Ccm4xOlPCM zixLYP*9&n8UfN)OLJ<^ltv* zD@aTVJtPFe4fQ;HpOa)`0*3cI9)q80!L5ppJL}I&#mXr`$(<6zQ6GBAN1jJ=Dw<)0 zylzHxM>=g{xo3`ub*=gPa_|n$wt`IPC!F?cT@rk}!zM49QcP zx01H*Vj-#`nDwA?p0PP-t=2NJCF$zz1%)SK& zxav0TcAA1si>c6bGklz3RA)wK9sNXLS0&xPI(z?>D{5Z->56J`ecP~p6}@2ZX6Nhf zYI{C3$dGO~}caprfPvEsHklDE=q1D13>H*AdVNl}zshw}fBx+gKbE5YjUNyHi64tU@uM)(Z~T~K zApuoEh%-x2ynK__>4V|Unpl6W%0TShsKY=~iy5LDI^t9u6QZk9K#|py)Etwl8m8ps z{F&!eCuE}`9;BHbU;kw*u~^=RD6Y?U|eti{eb&loJTHCz69tI&FJ1S_l$;sGjcCl$dw2>w`SK*mQ#F$59_aC-(pO z{tq-K>xu3!p)rCRNYo(cIHs{eP{F_oX zAk)oARCzN*q0TeRJAnR&jPjnueX18*>beou@jCiHWt6Ss{}H1kZQjN_g!#)SZ3g(m zC`0=1+THOk1??_gsjn0OM z0xtsM2QwO`r_3G2Rb*iFrr_rY|B%`EW#^vY9|oz<*?@A4axC@bq2zByDe3F-hf&ty zm#t0Oul(N=O23!>KNCvDmCbRyxs&J*c+GyiFg(WarkCbO4i0K~{1-mycx~=~>631# z4^-9suc6N;D&v2IK9d6#eQTpk-?+3~_=_NTKY#zl$mIdVb9pG}zBpZ=tLMIz`O{CG z2*>`IyL|l#i2rjma3oXG3q`3(1%m!SkjPzI5h#OlHjPzf-aY9jY^EyWkmx)cy?P)7 z6+I2pf{}^2J1oG&`ek5Br1E#Hg|TP((RZu&qF9$$GE>DWHy+9BNs_)w4MaCZh^igGHz3=$rj!IAgL?pebn5@-@KQQZ9aZ}F?y!Rm zqMvA5p;SC{OW}}9`&ZFF;3bvupiKs`)+fA#u7Bjt`VBArSq}567*0OnrA9Y_)%ZW* zC3Hi)@-*t`U+^;KZ+O}09kQd|9XS)=sh^_{q4j}~XmP*eFla%3rBFsQH+)*KqLt=A zBdY5fb1EV7rBgatvuEYxG#*I3w_hbW$4+Gv#t-#UFHz=@EsPkuR8iYfP7CAUCj??w z3n2Z{l1czIchat&A~2O2KjTDVEc9V{Zm;M!Z1Oo}g?(N#rG1}?)8d?X8QsAj5$GmUu!4yubpaoPJmI4w=h*!{rM^F0o6? z0oX9{wDFMOoN-H&zhjm7G_Lh(xl1^oV)Zo=u8P7T(PJx*C+ykcrn78#j(fsa^{{Jo z^ZYOxYE+n+(5gJ#*qbr8HEGekX)f`UDNlJ&ppER-7)sa#O`=35TcK=^A$(c=pWG7c z{4Z_^`Y33V+WpBb4}NpYf#ClRw{+r->l8OH{p6N#_Wv8F6m)yzFQ*g`y=f-%|LaaE z&*J|$rT^oU{=d>Gefoz}8t^|(>HiO$()W+kPD{svmL|3hTe6&hbkzZ}cCM@mqs6kD z(~|I}+EuPDoWK_aMMYXnqYNAyV8Rricf5C9L^eoZQP!};>?1U!KpuP=aY@OO>lYZ( z<2GjIeu0xb3h(x17O%7~f1;o}io9(tam$a%p*J7~RZoIhReU}b@ovu}O$y^|1Ox&3 zf$S~iyN8AZ`vtR}RAEmoH!~zjD{*hY*illV3RiJ)5qSLcT8wKubRjU1l)PhZXyV-; z^061%Vm2USNV%Q~rnrm}@w(1C48&mo-QW$&(SNrsa>xZhq#YW=RL9$NPa0Up+vULqaCCX08~wyaG^ zKulZZMx9KkxovLf>N(*yaC6XyVEgIs$$tqt9Mjt&ACJyg)*MD56}wZ~k?8=e63?Pq zrQs*eBV-vuHBG|hL;q?hW6)GoEh_#oxjCm)YQ;zsb_+_J{v}a5o5Y^CnVBri#llEy z*X2GVQ3;o-gitq#cWc;OB4?=Zkjzk;tQYs^Ek}$agR`+Ttu+M%?%jC!nzC_E4=GY+ zbF(5y?LO+fz|$hT8oSGrV~mQ*sHY&s#iT~p3*vlx$BBD%NU4}aCi*t{0@IyjfSACy za3cI*a_}t(w}l@rey2n9SWv4}IH8_LkW06QbWn&y%20qiSwQ5SRp|;3mt-tyJhE1AykbbhK&IAUZUS+C@`+fJIu(JG zisQ_LGVtr>r(7oUHv*)#ujemvo4(M7pdNV}?eQ$|R^1A8uEufQ)uOUDi6d_Xy_+Ol zOu4g60J}GLF^B4(=t%u|TbaqMyV|uSXYCFx#^X!$(NbO_`qo&;pD)_ zGaKuRq_5*jF|N@_78KdNnwC`_<4gN5jT)EZ_MjeP z?+QT!SrdRk!8tL_#8agYrlMd6f76Aw8bFku2 zfPF0%+|6+HsSW1X!euXmTC-DhJM!#b)}($2QQVlU zAOHav(obzn>$AHBt{$;@wDPt>0dPzn^r|!GF3o|PQ5fm=95EXL`U|$a3l$?s_-{&w zXfOG~uA}+Ld?|Wm_k3_EHx!z*0#Cb2C4z#R*5$Th#H7$6{2<&=&&&6^a$t&qaNhSs z5M(ynVEu-yQwQ^+Ut#L)-cl7kAwB{THTrBC#zm*2niOm?tzA_xvSSeV@;=c2tH5V+m!B`jYLS1J>XP1WN0O$}qINpjF6g>u)vgSSnE|6cA>+ zY?lHvpG{i|%!+y^%sO$NN(9PD@YV}n%)2HGtOw3?&m7zgt_cxI4Ph(3a;^@dVwMax zSR@+V^ljr=N;V`@m*#7*01G$GNMwdJp^^`K@y9E|T4+zhfe%}Dp#a>weFM!1 z^ko}va6zLU%|#g1jHP8;LMw#VLDcQ;!bgNmMZFR?5oHB4DC##esJ>k6>Om95_P-Zn zfif;C1M-^#aRI2_1-Qr#)tAE@n;vw_TQD3@@pxi)#bUbckVTnQUZ3vZhpjoJADq3( z=1wrQf%dw~Cdx0c1W}Fhiv~r;JBypRyF(pIsEZ`Td=lgPZap&YR30lw==?3#h`Fp+ zQp|iWKkZN|r9l>Y>x{;a!klS*KGH^_bGKq4uJv>&U6~8P(N34(7nW` zFl$>Wc1+_ngrR{JA6l(o_g;8^ie7VMAkznXE}~0ehkPqKbC5kBp0&^BO|;TY&b+w} zJbB&ks=3L~ai+<)*5&Di#v^iJFzMsHf>jUlU6vU=h_G@*=)zPNv^~E}u z`H7_dsrb3JsB`UIkuQJ4>^4ESScq2sKH#(T`~bf$KF!nv4ZgMiCo+D1C+@|GmD+TM znT(ITc;|Vb=1w~BHG&OC)dL&5P zt=ILD&bT>Qrt2o9dReT$sb{jvJRruU)JVn2M?sj52pC`=OxLhoK(1vlWW15fBgArU z=e{d<^f$oEP-0gk>KJ{I`2xvgFktQ-VjL>;3na3>+an1+@6L2qN>9<)UDFT@XDgtu zs&o^>aY?YNedotoYZnQpnaRhj6R%riYFd-6V2Ri+pl@-)0z@;ldZ@WoMUAWlsS(6G zvEdVeEMjih*?Jbp$5c{;1V8b&VKp>8Vngmrtb8$TG8z_1TUylR(Fd`L_}!_0(kYiB6J* z<9c1lQEDwI*IdGEE;Py7l;7%%Jqj4fEhU>kzai@z^Jelp3V1qXd9}Yn{URztnVG#7 zbFG8CE)?PV-qZSHOX0n7Rt3!#79ulyt8ubi!i65tAcx&if5AOG$*gx0!EZm1q%ohY^pf9-F@(aTGy`=}KlukH8Ew&t*PpG1?cst`@LCST+Cv32z za`LRiX#SdgioPGDr=cW$Dchw(a_Wpa$f+O|(&Ogn(iiXkV7R}C^Oqb0Y+4!I6#%C~ zPsnjrn|8@>8e7rk3D63)x-4Th=v=*h?}LD0qil8ei9V~+!ifA)Gw$L_F%u7^XO_wj z+ndAiZAN~0+=!EGlrgs#aag=F_gNuN?jfEnYf*i^2$}X);T*gJ-s{1ey#2=l>*hi2 zQkAt%5!&u=61<88-@-R>K)i@9qNsVlwFMV1u{-E&iiVQ%lw=2OCm z#le2B(%-93P}#d&mxT%cT7BB2f^OYii#Xrs@0!QOMCB-vK6Hpe>@;haTV2gom1;7b zuhCp)9MSVTO|wB|)ffhknl;j@|C53RwnpPNP^E#r=gpREnE?KtX9D|P6;pD&7)TN& zzL|h_dEv7O(F8EUMV08`O{6A*{|W*PwYzHQ;poR~YZ)YH%%E_RG&^CDp9jxB^bm#b z0h?!5qe0F!3LCui^qd1mtdaUnQ`Z;mcV9r^PhY?$=n2{g$y=uB6;2gR0V1CeyyVRw zW9+55B`CNuUIuR+-g8?AElV6|@is-+|2&Hjstxxe_csq7`{cpoqk%s&N4-#ln^Yj^ z4G0oCY#{u{6PL9zN{{o!jld_U(hLiZ(9n2VC!0N}StAM6+Oxa$y%5oXq%vr@V{U@nv2MB6QT|X7w5$zi(<2MpWmQ1~aYt@PUAVT-X~%|G<`U zJA08-o}Pbj0tdx9FPxm}ZFn&+66RM8*%_fO3-v9_pOiZ6D(gq4SOx%e(L>L+@;n>JQ%lzSL{Z@qvfnPCO!#f%Sq zlP7{^)B%m^&Nv;Dz_f}FEn68XD9xz^AM7)0EHYoS>x9Ay{d5tNnu=6xkv!$ zrlzEM*lbCM@7D4#Y65*Mgu^=tYkSa@j#R?QNXO;Y`uH=I_3F)sv~llDb4+s#Kpu(b zWA)5TmSl!Pqcq-O#UV|2E0^LvOUwJTQ55Hl)%>?Kv-;R~1{~RRL!5DOp?K0@;I2O9 z|ELV8Udwb6DmN*a0LRN#lH?__k5HFkC(lx-$)B!~+Qds57Eu^MaHY996P)Ioq*Z_r zN@RTfO5s?g^2vi!OT~T`5;$uJ^c^h5gmuceN9D}d&a+fYz98{i+qgb~$R(9)I|8x) zvkPm#&E|NOQyZbA+k_*}%e=56_sc)@p7>YEsVCCt9QU}d>QUF~=K0TPs0fxsg-wd& zyFtHwnT^CNSx5FsXmS+rBiyN&-&t7JG_l6yucDnL&|oKY;Ts=LbHhA<9$YU)hba&d zj6-+cbWA4X%$G=AHJ73giRrQT9!E1bwdko{u%fl*0py%2sH5gPUcR>*B&F4SU5G=y`rbATrOSeeX@cp$Git36CrPMMr*COYv6w#`)f61G@!(ZA-A! z{Wl7J%?4svH`~``3}mNKf_P&`S3#y~pi7n5KAGF2r^x8TrfBTzdvT#D&B7QksuGxC zk8?in>w4IpdB{8U51o2|N^Qgs`BYd-WY1?jBrsho5p^T^ChwfFKw$K%w(yID##KSa zBaZ#SUpwbCe|4u;Qnu?+Hfa%4m$5Y-9)_wb*8gCJK!zc8J?nswJ}gu_2N^J5*+ni& z?Px2m_8F~4r)Nr0Lb1HIXyZR1m-?5&$|3w)VMUt}dWYQ2$qtJWS0uC0?IsBC!}7<( zG}#mCca_GX1djN<@SRdqny?shMb-0xLZ-c@yY5V%ZxJS9=_z|=w7cc zax;f?*z;nSJ7!_)IJiKb0=Nx#;HBHf)uT|DQ}QmJ$Ci&Dvd_tfVUa~sP`MtM*={0{ zeG-JR&M{OIe&Na=qsf0o`|YqQvTNOU=!hG%n|uHShsKq6QNbgxwhcC1nH5Wg1h$oL zaDt;`MMbA8k&GpBAhSvO!F<8ItVLnti}zpznetPB`-riOCXkg@y{#Dn<9=9rng&>i zp=ZXo#kw43+T+aaE^PX^e$soJT4h6^+6S;$_}-D@$SR*rxVrkt_#87QSwm@JpTKc1 zjWro^v+~!P6W~XtWsgVfLB`4bv%IQhUY5DoGNs)<K(<0MtzZzuE+Y)8GMy#VDOoymmca4^vHG*W zrW@4hChusl8^#6JZB2(f!-n=jAs;6vh`n)=#)p~lTSPN>6K@%OxkG#iMq~DG!A7#6 z8;|!3KL*W@q|=etmMApO?}m+QsXf5-m%91j>{;!@kz`ejuWnD5Mj?c36u!*hPI9E| z)?Z&mi0wY8=633@)Hx0@{JRM|=ullj40-}6P#|-K z%mk+K=3}IEEkYt0*tYOj6V{jw-+mMMT8}yelw&Y8eG{V(l~4*9bM~g^c_)g4C#rL? z9z>OC8%>{3X3hY$o=Dd>r6XnSM~@qI09q|fl8^3ugR185Cai3TDF=UVJ}#^UKt3y1 zS#vE;>??X0-~E;w{@ucx^AHHxSB1s(LJ=)R=c>uYoWy0l{Ax)dChP{>^qJ-i?f#Uq zKTTL(-o1hdth6XwcXrv_pXqdS%g;N_lwl<`R#fv|NQi`w9Nz*fB${|o!+AKPn&S;( zxcape;&7JvdZrS|0&H`tkaC-VK&w@#p*3oa1g^@Ia$Bf_FuGxB>Io-1i9z zh@X_%aE0P$E+PaurzJ9dUKS)))Esof{aVo?cO--3Jg~1l{KrXwGZu%ntevTvf6X zT$og=B)X@NRy2?b1_&u&T&<|lo zM9~y@PESzyurVm;R5UV0DVJCV%|d~pvrgqol?~G`10u^#?F~1*9FC&H*alX1^pM zAhT=#D>=lqtb7KfHU*%CLg=kM%v8!DNhZlu5t5K+kqk69QaKsW&1EyXcQ()Z;1uEd zW#!uXN=XuL=|i_;$;ATD5NjA=9Xy6oT2{PjB2TPqI|bb=YJz=tQ(q{_rohAqDV2aTIUp*1e>#@8uzoKpHGBZO~`5TPU#7(z^ z#g6LV;I|yAE!SP_<#0eEbgq61iRA@zN0yG|>Aqimd{#E-ae*=bEKxD`5{g3R%iWZ8 z$mQM_8ZN?lNJFQ^pZNRTBha%TfMeJz`bJ_r4Z|<{S^DaEzj(C84uMw~JuIEDC=B<< zh>JE=(L5SY+B+15MFTY?Rvl=iY!nE)Em;AxLr$_FZrUWx7bsZ?j9%C8E2VnGwc+NY z1bYTRtee&NqD=!WIFcp29mMUC0**X!>9=ow=JDl>ml7i6iPVC^?@WDFf9$CxBEMT8 zT9w#Jg5%n`51cO8^J<(bcYR@O_ruv^C(4GPZ94ShSA%u>`bT}8plhNBUjrtKQb)J( z=;~(6>>PBkW#7}TD!O7Hft&5+S;%?HctOkUlWQ(L_^S%AJh-<4MX$I_rI~?&8hm+4@@vIcM*Y(wVQPQ|50UrLjj!fKEzTF;GqY>BRp zv@yyTyFJVZ+#H$4Mteet6!moHvIT{&AYtzi1b!0d2FUZYjC>geP5?pRh+u@@6&qfV9rBR@`C3i#{hRjUNiOnY}g zI;JbTDRi#n8rOLl3#gu!V?5Q*U+<10n1gRgz<#HP>&IcHp8ce&0xBza+^(S5sbjVC zd2@!)60k?PMnqDawkfpdR{daVP9G%ZP{;bTb98ELS=NCFR^Nu~F_FM!d(!o{R7FK6 zkBJJ$Zf*(kg>~!sfj8}Uqfo>HP6V%~l*3W8FY9m}b2Z1ru^V`X=z|yhHpJS1 z85ibeqn&IyU(ka0+da3`eI9L2xI&t}PeNB+V=nSb4z*90V=jCO<&G_f?tcw6T7plH zHv(_iye(X`c=@`!J9@wEUteEe=dj&wjy|w0vVC+&@REIOXz6ILcXYcGX}c_rKl|E) zL|u;W4PT64<-B{7d~9?kG<6~W$ll#B&VACsh5TLNA9J=^ebJ0VRcDq>(>UHs9$)!?( zYhnVZzk{iXUl8f`bnJJH^?tO*JkW>dWpB|){oTXG$0fwsSOzjTUwNM3KI}lq^M?7} ziX3gOgu-FmqrUi14kMv3WW=gECUkRQ2O~{R=iWfB1~JUdH{pw^MUY4s1_g0s4PJ?O zMlud8YqfIl z1M8ZMH2uU7RDLXjrbDeHob0ad>B5r}(PX42fByNC4bS+4PRtKx)^TJtwYd?E?4+hH z@)l>E>H)Rf+qYOPxcg}`AG|~G-}J_>UKr73wke;`W0ZM(jOL28C6jyp4Ak#G31Ism z2mp&L0BT)_%RTc{r%=bn(8Rw>e!OTU=4&8WD>eNXvuOYq^8<@-!C&qCm5CD^6hEnnh2+jt24j^h2~ z-_=n}=gT$O>K}}-JLFamsGmeV+%ffO&tfw;fhPzAV|8+Idwkqm*D$-ZT6^f_uAF{X zllY3grU}h|w@;bw#iAFqU#&80#0smzIv_IIIO71p>*Oxhqj6-W3q6}}P?sa|&M2_B z>h|7h!3gprVFxSu_65)I0~e!Z09&sjObplQJ0szfdT81;nZ;=3`aIE3=bvCX5=0B_ z(ie1*Q+5UM83zYT8zU%R&0bfmTvPt`XE6fFagx@giWMhlfHA4#GUuSm=}^Axk-N{j zXDMq-$bbF)m;7k%|?`e z?ZX+0P$%A>AOA9BAsbw&qD?+_VlUNF1NG)D@h)Il&ekt9@M(Eb>-bNdeX)`gorgBC zS!!o_`f-jcL9~nH(-BQjjh$!igGQbzZ*5651<+tWvyV*l3zEF1*rk84X!a7eG$Nny zO}X?Exy=94yVz+Z{yOF72NPv^Y3t3c+>KjVApV@);phACBKjRvZbLn9?gXos5@?%D zPYr()cQymK&|Q-Vk0K&YqbAcuWr@D(_mh9N5cx_4>d3_JC;t+_FhRm!3yYh5dY1eQpatR~hrZ=RC}d#b=5qjm7`eu0JYduXjjKWdiVPYcuE7%2V=`u4BrR_< z`~30WUov|J4Ut3C2i?Cdpk|V!BD%3V55eO`dHk`y<=PyhaeokDn*{K)L$BkBQ3@EG zpZ>0D36OETX+s=yBu@Ak(zTIO-r1Qa3r;0rA@~Yt7ZL7PF8-NGO$bIMs?s$}>*oai zKyRpoii0Tsb!9W&eY>R5v@&udM6b#_F5A8twNQNZE6=(>ZwS{BlM_Un179wIt(|f5 z9M#X!G&v|m`B=aVMBNs=IsfIvL_iyek0{JhJ;UK9Q=v$dwq|y8=YVJRtfPKFz_nQ3 zHqo0f276p<@{Fz|#)`M@dRcCewl3AC59?kgC_k|*8f4X5% zUmNA)k(o9Lpl7SW1*bce;(vK79t|(u7Mt&;Y}46*jIIi)Qy7v$jeR2M8xSp4^)R6Q z9bqkEI?Vg3S`=ey=zVed8eVQ15{;9Tj6F(e*-BaNFlM1LSUZo|Kdfe{h4O-7I^2O~ z@`J0(-IY0J%Z~A4(O=1q3;{c&=k7wF%7l*wt1=j|CTT?>Yl5%hbR@BazM#p|NR?9I z(7J8|Xd(Oemp`uY6Qt=~)aRGKmtgmZMz25TY-7gBLOa|<00J>T0}%bvii!%C8|`p! zlL(6*Xe+pgDo!l)?!Pju|Ky{!qxo!3rrAYl>RcFD8a79gzkONR>;4H=S92-*6npqQ z+cemnQnb-4FOG$%lEReDenI5z z_K`Yu9%LuZiEtCC_Qah;Uv5cL&*483TGj7rFD}s5HS7=+@<4a+(eS)j0a(MaN`Jj{I!Y z5NPnhJNWa_zhO}_B|B!YXV;NFTpCGuy0%VD2J1lby>E_kbmNDvU~|(BvL8=e=eU0n zi|0wLJn(w7IJZcf6?v$0gmO| zgzkI<&f&oDxj&EoB~z20{v$ho4c@asKTNW17_m3o2)W43@$BcdsFPXJ}lf7n>nm@9ORSCsb zd?Fqo@boZU&f8j}nO*I5d$K6gEOyn=bip>dS-X*b&EA-hDIO+xH?^DO;VCTjC?4&i zBL=t1^@ZyrlIW$fNVg2{vh14J7d zM^8<@a;i&@GPp)DrN7YXi(}#37pRNX##|Q@_=H9<@g3oXR;ZVaP|3~EI&fUUO**}W z0QBeR`C!OQ-d4#I3iGvE2``3s?!`rGc;=wSfWWC*Z7fvWMfk!}cl9uucb#LJD_tp- zByD;WP1@vyE2qlMx%>iCy6O~_g;cQLv-fCukXgv1S$^!&8JYRW395^8^R~+D(UGzG5yMK0;HcPwC4`)Q+V4< zDnD8W%w{FRKr0YI|F_HcOFgX@YmFf8<-Dn~NmtNEQNS6jizwBAEjL7u=^!uW)kih_ zl}1?;!N|y*-<|VgRkVu}bP>J}ta)I_lWu8qu*C;*))z?OnVQi2cG9FfRY<6LXnrO^F1 z)At_%fO`;R12$hmN3$2H#H|)j@p3Qe73N(*0}M2qQ(1Ax6Nl~OROdAha`Wq_wwOdvjVL&Up4+=HL&iQ-@w?UMlqMTlSFFwtO7?s1BYE(Vvos=OeE!S(&se)8q4J z4pdUGuFg`QAOBoLAdFo3j~2z=3dt5#G6!>cp;M&rp}LAv_oEJ4P`^L^SL8Og<=p%Q z*Bubcbcci)5nz6Q{A)?&>HO-t3?PM1F%Qb&}N@BC}#o>}^KkpPkHUW+K!{9PB^ zO|!*t*hFH+S+%}QkT@?H!YASP$G;~R(DlPwQm9SpyyTnQ{CRKs`ndt8qVc7BCCd-T zE=8y97FBMf@xZCjo}i$@X`Jo74z&sAq(Z&FX72ebHe(_sx=M}ApoB2+7&x)%V_v! zSzdkj^qjzmB{k=4ZWa=_Af)*0Qg8Xlh!Ucgjm-zJF;wE^WKUFoMFV#LiL8DT%&F=7 zszP#gn`B*-ZYwAV!Ut||r###=Bv|{k1)ZR2zlCqBI1)LqzKazN!hzO0(Pw&yN zWk?qq3$f56wVgKJ=c6EZx;=IcB9)B)mUNQaD3Q4P_=lmG!n3!$7@0=ctnH?TIF{tO zBm(_IfW224y+VwT4&C=iCpbY91 z#k8=<-~j7)W0ix%)dHZMVK)Gnmb^3|JD?F#PWbi`3V0`x&C##y@OQtK%+Y_~iWG^_ z`rmghq*SN_o99Dx{Xp>3%h-Jnpg}6F=ghD7>Aio_&l1RFWihclE}xrwe9B1wk|bSB z64&J?JPTyqMvJv>MBP78yK0ZaD!I<$f#Lgj?_^LrUNO_)ajwoH&YB}iD`iu1CvN`L z(71g!A`60>L%QiU_5NyDZB`r|ma%qvM{D0^0Kx1cSA(2N8l{J=v6T9{SX!ZX7K(8W zL>YsA3Q4|paSb2!F!p=t#GPA|P@vE+zS$+C;7zhQ?~lsH4LbSb@%BfkwR!AyJeQtP zxDyaiFUgA?Va0jQ_|Z-#&uiL-xB|4WSbc23$(1G8*f(^O>)OuvLXR>rDZcx%h}Z z{4)fA2P*JRVZoF~MZzzA9Lrk``20Hr;ACJ{GZ*G>DtITXhx?9NFj-&Hj;>LNm7UbC z`O+{0e)sNre!H%*wL~f}j7k_tS+95s-X7C>W$GsnwPJBsx{^~g8THGDlPBHi?1uW)}3gWuE;neub^g6KmqD4vJgHVogT zm1q35kW)YM91~;URWj~q&R`EVaaq#C8*dZTR7DzVNlXI zPF0>8rGJU5f%d+E<>%<7mu8S;^qI%M&GU5%r;AUJNKbu4A+~@N@d?)@jqFVPMnZpj z>1Re;7)5gD)BRk~_PsD{ivVFt5Q7dQSSbgG4j`o;wFkftUg+EIM0V3Xr=-S$pmGZH zoLGTrN#o~~l}~G)`2*504aoi*>Fs(rF)WZR?3;mZ;-QUt;;#}9>iPGBZ3kW++WCS= zWmOe|ybD%k77|1xFb-m%Y|uBW7dnXEvffbM7la@rN4LOj2CTyyi-Lj>who`MGM=Ch z0Z1BswiT0tLs88#wx}kq3h1uk&jG7{d9kXbe|xd^aCxQ3k7&0ca&ekYw8JsC1uM^O z#Z{N8VpP@o&MHO3Svha<%+k=`+NGhb(U_GrcP?u6wL<0J4OkYbpo!hQ#+^Zjlm=#h zVL1B%@p;gYUsBD@hkqw&i(%83ssAEdu8P$lm0Ux87_QAi*CNi8Ik7Qec<>C($ZM{NQY6Fw1%gAmY56*jj*REch8z zvbo-xJ^<#5UB>X&7Ni;z^y|paLv`<j4=E{Zi;K3jbaZqd?m{1(UcQbutK*@6 zS*3S(wzh?%Hf>9`TMcmp2go0=aWCWIj`D94ge;(J#NJL$aj@tRO}Cy{xXXf}5)c zKalq0;^U29fqFY+{=$)i7W3=Z!Qaj)vF>l@^qW_ctzZcRdH~<7xK)s5@+lZ~_*Ew1 zU`Y^s0N-$`z|RB&BLh!YvUyNfXF{a!!fuS&>s?a*-}$4#`2chR(+S*%$fFcHZ=9># zkNd%Hf;qW#ZcfiIkRSZvJ*}tq8v@@Jk}yLOZqk`a#u1OP$^5k z3)1g^h@;+294_{hml#?N$+8MMx7iF^s`^%Ej2Zm5cDkmW+nUSMD$}L?4(iV|!&q+a z{uv^Or^Qj*($b!wXrDE&h+ymEj*fFbGh7>nCH1So3!OB{0`CxUypI83#-nb1lezCJ z(`tlGj4OZWhSn&w4XX>~MrZAyb-TqQH0xofj9vSjvr0-HjH?Azunqgjmb@0i0`jo{ z@|FK#w63PdhN4dvmDf`lzt6neKq^fnXEu=g&huFQQJM`U4Z)`7S{CnGcJZlX zQ$ZUE=qKr}<{g&v3Y&HW@0RX#3f|$U<@0s(O(vBZx`0n48y39EaQqk&54Dj0?GS>H zD?Nu&%XE8x!GrDQy@X-PYB4xi`8aGuk<&nL=OBQRZFTYc0yfZd(vdfW0gfiOw#BN_f;wtz#9p!`mYyi;l}WP^hfU(DE2VnQ45H|=jS;09ur;>+)X z;Q(nsmcOG{so?<1@kFE$N4sOyyIyq$zjgFWqaNFlY< zG!Q}CT*Ijk^QQv)_-l{^Fq!&qh`{}Fso@A6X>XL_mo*4_eu_z5w-JD_Dw;T2=a)y2 z#^JEn7)3`F>*|S-AgJicd>vt|Z(vk_JFt1|RrGgVgUNP%DK+-(dQ^e@HU_njLAS$f z2LPhD8IFTLdwP;pn1?N1nQfVy;b2$4`5O5Bmkt_Wn4v*Fu0qH{r89 zAb{;vYD8fQLO$v7qTk&vjH)dX7Xg2|_i3845+99j&f*|jwIuKgh33*d0Am7yt6GS6 z28?Aw4$`B5Vtl8#3Vjj4X^|Gk*b2GaEUkrRO}6r69azfqj0lt`E6tftUHRa8DGH!hdE;DIL=R7)-!5egIuEOa8M>k%w9GFKB-9Z*i*h+# zP%qmsVzkX|mXV~sPLoEUd(4n76OCcT!QR@wXjSOcbopr!2rIb(02nz%P)%K#4oKaZ zJ^?nf-sjkB+c=D+U^ zWOFB|{~og%e>N~rpz(_V3)1IpI1Gp^?j?*MeYSVlzzW(9n^!0m4;?9*vTdtO!HiaV ztH?ju%i3DfprCSIHQG+cBb2f-N-a7#5_UU3iFIs44wivoas9 zt*lF~$fpFZGEv6X9A(IiZ2X~In-h~f=BaPev6JEYwH_9h?8XPD5Y%;~S06&_19#5i ze%4`7gZxUPjAs7mwSMGt&C24hHLDXEy)*aEHLGp;&)@(AKa?B&2-$5#B{6m>lXiQn zP3OxNHikeS8WBKXm9=qF@IgGbmFCqla~Q!B?5QEXQXLxkt#Bl>8MTI|Ub!>pf+ z{V}9MpsOiqesY<^0bT?b1nA)ty?uk~mp%$p9W8Ew5sSXw*03V#Q6Jr3z~n zMuZc2jxG{*I=@yy;&7B$dwbL3o@KD6Au(Gs<5e!bXAR%~4i7w0Vdf=pmx_(EWh+X3 zd-VPS-HBGpO^Zq}X2#_U=h|=g;k6?j;&{TEXe#S{;&D+*5>+0FfcF_po$LEMn7YV- z_Z<-0?E5OfofN?DU}}SbM()%tatjt!*=1=>C@0R{2eEIzQWh+@`PokfXL&*Fx)Rr9 zoG%lnjGZ`pW`)Aj&DzLc1s!_8o*(eJ z^W{47f3+49ckG{>u4l5{gF>*iNLkB&~=yakF{k#rHtXrK%ofo!G@p=emNU0 zQ?TQ5=8y_6rw^2<`hMA^4dreM#-MH)%PeD*)&Bj$yXDrK+;fZI_6;bA=3Cx{ns#c> zQ9^q|cKi>ViUG9$i@ksB?nFTp?BQQ*qhi}hB^BFtQn8JSZB}gCNyWBp+qUgztvcs) zpPuQSd*{XT;y>$tjlK5Tdw0^_a~)hq@H;gdB<^ax-nK0qe`rY(+Sblx!3OeYzmm!_ zm?GtYK0BuD;EOb^liS0No0(CB*`MVBq|_<#m<=evT-`8b5TmQ3wAOo~79)WMK!KaX0F3aFg~2MhmCn`Bsl0Y z^_voSEdIvWui#K`7exd8>`lM`BM-K4;n$D7JMrx(mN8A+dsL-4i}A3~-N zC`zKF6RDJ6p)y-YZ=~OelAx57G`f^XsxE_EMZwS$d5O)Vp) zam>F?*fOdI{A)Nh<<@JKwD20_TXKu8?tEpw~LBlX88Ks zMU7Q8?myj|n~uz{uzu9glV~nAP=Ni*MYSFJ(?wP0{=-F8d`s1@*Gb$}M>LG_um8hE z9fCRg%S8=0#juF1_WHv`Z4COt?AwZi;`iG{efW1SYArbDZx=ODF?Qg$i^^Uv1e4B{ zU?2LIi%Q4yr;F-}uyEt_<@8S%b>cRI2y?J~C&lM~b5U*o;iBrkdl}aKc2V2^y^H!i zZ4-4vaD*T^aR5n__FO7e>s2l%_i|Uj2?_AVAa#7@s_56OV{~H&TVBvpv zQ7Jfn`j<*X@}TSUaI`nZCP#77Yblicc2S26Nzm~Ba8XJBa8a{&dc&Q6yQt59x~MIG zcTpj)e!HkrK7Vsj^L8a;V%%_UIQ)LQsNWC%bWy1iPrQpX*dJiee4BKTVK6#x+B^)h ztm$kgr&uLAC2(Qd#>)b>Xug=IOoRsx{>H7{tGg(>OL`asc*2@uGPvN80-nvO_h{|5 zJ5a|5M$of+}#=bIDi;($qKz{&ZG_Xp`n4UJjjBq~+Le3vbj@AsHk>DQ^l z@=1eSJ}(>8mYxsBQkE50<*+}4uesbcXsIP?MG2eEK*U$>^-H>FnprH6h)@pV z)e%HgcD@$~jXbYg$X#sao_sWo6$6Z~Gw>eyzA4Tb3#dx?q|Om~Vu0L{xW|RV)^p zb|vFHyB#XehCBqP0tx^nPvu<(Mv1K30bP-dTLjPTm(uq#yKYtdX6+DJFEoCT5z6qZ zKvZ&4&Z7h09id;)g0m(05aBx-#F=c=o7;;fz0CZ8uO@~VmA#=eW& zM&V1-cHz~`-=L@z4@ODLx693mQzzy%(3v`BP2_;Rzbm9zjg`$KdX6n|W>i8QOn2j) zfPK(?24VUk3=IFN;E(BHFEJS^GyNUa=qE5#ZX&M~h6e?r#ICAdklg0zZ;5lS?4usfp?J!Tc84jC7tDOYtAkPU+Wk1SQi0?g171K* zSiQB|uaH>;9u0v5mkzn4y-43VE?cRPVd|_RCX82K;=@C>M0lBpD82MjMFZ2;>=F(% z@2DsQ$M2K$DtRqET^56j#VYwC!d&M)@(`vgd5eC95iev##|}#g;5qRg#(^89mt-NW z5Cz@^lZRo=!6M0#?1fK`4Pms*GGS)(6vGFBy}S#FrnG8u!u96hKP?Lq*iftlL1t!X zV;4QB0cY2UFyA0Ptz*s3>AolO6DKwjXjxa$ixIYwba;94lOQwD z?!=9STf+891W)&AZdZEx(ucDFpU0S^k4Pwj0ZO3G0Gh)<8{7!J+04m#Vb=oXgFnmf zZfq~U86UZ3Q5BZ9W|yOm@Q$^iL%}eN2;j1-*QOHFFDrUc~#`_#UTUE??238@fPpfP6_ky<@lF z|4Pg{f8xDGp#l-mDjP8E zu|Qb2!ZtpZe_i|Kwaip0j~QQ2x(X~5TE&DU^EYrCGc$AaC%C=I!Tr9a>HmZBdc~|X zjP)60Lh@>*NRgB?8Ne@_Uc+$8)hJO{eE3iARYU6^-YZZ2AKt44`%ttF-fwg(hW-Xv z=}4M)8~hu({ork2+3uh)sEOvRN}J-19f+R&Y9%AsM_`5p^n$iT^nJ8(YdBzH$-m~f zkmzgAx$?)c;Kwn?=bgqc3jx4#fJdoUp3G~Z#Wchl^~(*2r>nHihg0UPI}Gtq)U`24 z50zSMAolOO6`TGMyov=RtDCdS-N*T=w%M88>RlIK{jy$ld?Z^_BZd!F-IwmYQXpbx z=lWE#THC4`LOS(|ghausoKZpG1qsnt{bY2sxOb(SB&e2+f!j&tI6{U@oXx8I%}kHN;q5;vF`#d*M-E$?DGS95YVB`zsop=j3AbAX&_-LpWN&a?W`>nbeTQJJ&cKH+ z(SkJXE`*)!K{w42;KI^p$sC$RLbU6&iqEYksmWGrPZrDnH6LrnRIv<=-d$es{nNJr z2Cupl9l{-dl2mgGXlaWH;!lFBKJZ@?T;`lV2`A2hCNH>@;%DLfNA~omcux5BoZ?)cJbN+Aja?W8%`K?KoeXM2)!KqUW|7N(~;F{@JdSh}Q(5muF->q#;0#0LiPdu(D9^@k%5cz7@Pb#&t1 z;_nCNJY#aC+woqfK$I=nV{4Q+*W0NyZ9?{aTM5;$t5E3t62eh=!{|cr&F+E|C$W1V z)@m{cW6b@BEyD@ueJ#gqFi5TvkEcV#0gAy6*NWUXPZ%*w6lbv4h8M@OO2%(IdOh++ zkn09h7?Hb*n$JSg5WbC0oF_V^|;*?;jhhb9&`uM zqzxX%m2xyVoMMF-M7|)HLxxNBQ=s#>hRB>v;l47oBFWj$pfsm!jxi3*(Ca5db zW-?4UHkS3A>oKg`(X{gM?(+9dPOi?}law3-(E`%Jni2Ji&|f&UsmivN^#e9c3s|cC zUIS`Omw_qQkv}$YrA;`~$6g%?(AJtQg9&Zk-Q`M`WkWnE)@Gls5s5gqt-~WHXxKKrZVq9^Og;;S39HT@f_}>`U$r^?A4~!d-A=TD`=ph z{}#brLRntL`Tm>WQm>yU_bKL&2K}Ajnn-y6MR3Q8nZa8BPXzb9?Y|(nU1h%sZgWjo z0|Nlo)B%SbeHy$gVFbbw0D^V)jgNcb(~G3V0EM7D1f7DJ8|-30!kq1dI#Xuwo_BbY zLAj`xUme#@YCjG!`0O~tDA>=wQR)Z8?tW>3b;^dT)v|5$xcwySwYwW9X9`*HQ&uI~A?*}(z6a`piu~`M>OT{yXJL``d4Mb}j!Z|Jg-UfbwwwJ7LvI+Ao zeF}d%I#qxd4lH#j+R7KHf-A=pyX1Ijy~ucVy=~7{^tlOG{h9@W-^(k#%~zY_SGk8S z!J}8OF?B@2-|5&{a%VGc(g;qK5c+|v!Fu?@Q8#CJfmhBVXWuphRdQ_kgnJ7h4;64I z7XHdb`3d3;g*Rjb3_g#Jj0Sbqs<$EU8@NCDGi(LCi!E;88Wmdd-dpuop)-WbO1PnB zIJ(}yHe>Zc4m<1@k@reoba|8qzUH&STdruTHi2(VL~U6hpA|J1b^=$&I&yqbkUQ#H z2oX?sOp);t?n1UdH4;iVs@e-MGuv>pDuM5m*+!WdV9GRf$x7e6SXOAO18uhB!J)WM z#ooAehBgJb3A1M<*&tM*QkwtbnKh537~XA?oeoMZf}x~#)jzgbjVD z;fr(s`Merr8H_F}q<&d60LgSedou-`ieg|zH^M#brP$$4=_ssvKYLVp9i6BBM6(C5 zSbX1@WKW}zjXAgSzOJ#;(n=>A?@ zT0b?xoNtN7W}o8yd5~KAG5aT@vraH2Ee)MPLIfLq$cp{doDO0{ynVI1qk?7m=+j$K(b3ikD> zOgCV57vtb0)X9hW=HUv9kUpoC`gYaPuEkW8Rkd-noPm99p0OlgEdcX89C7IE=T2$L zgSgtSdX5amU_5~|J{&J;#%20ZTiW#MA%3+hQ$f#Q!EG>T$5HWoFI<#iA!Y)W!DJp} z8^%Dlkk=lVR6fl}sQM&haX#VuzXGu{%+or-VrxtG5qyQu-nd&<+mWPcl;Vq8i@F7?8-#8N-%iDmx`NB&`i}xzM}Ami`FDmeLyB z!hSjWAn&ck$<~!efM5a0r)A8oF2Rd=h4Ut0PDsuZ~x2k1ApKx!Sz}T=27Qru!qt1{%52$>j{kznoaUUuz`v&8jve zn0G)yA-&=Bbt{vu;=%OeWejMDR}W_B(UlBEp5bqqf-=P_MTKj=0sOY3w(-0fEybcw z^e$S&Uf!epL@ovFh;=go(`j6{(eklxzp$eS#g89_2{TMdWjZ}ANUdm^>4m%2ULlkWmC>&5`bA7Q02x(!`xUKGc1Ed)gt8NyDmTaa1-pe|wXb4jdtyjTO`3%cWERz#;lrGwlG8bl=4M zBL4{xYMA2(1>Al65CT3P(@*G{;!2!AKr_|?z%PupKLFYoxA*=k6;H*42muxs1aU|dC z(a`T^fp3g3X%FN%0uomvt^b*P0uTr*UcytHy8-Bp9PKX@IGx?8EswG+GfSqq7!*EH zFO_U0D!yweHsUtwsBW!@%_lvGwl&4GAK%Wyw3twJ>Lc}BC-u_XV3tLXgo)xCO$YPB zNtI8+f9jv6ypRH+5g#CmN-@gUDS~oY7;y4E7$ipoo+lVv(r2U=;=8MT;IG&c{6(Kb zN#-#6BcP9KY-EZ_=oJ zqyW1mQt*W|FluZSkhErbOwni{)gY;`(L~#YX^Pn@Y~ojw@{}Ldr^>m{4G|ph2L7%U z5OL`lig6pFKmEN{VCZJyfL-$AAi(%{t-z6{xUEr0q&HP^)s9X|!v2q1fe1wGAGLx5 zPbk9O%LWr8V3`r$5^GdoGBVTF{uf&=Y^Bj^CBk&c&@@D;&08O+EK&IPXG@W1#6a|Z zbUrB^6r&A=!N}}6jVMcMJtMZW4r*LakzYLO6RI!~@bZf^*mo^!%aneKbQ}bTiNsqm zc3Z4yM4N55VYD=pCe2;---nC-o~CVx`YTPVo`@V5Hf19Y(bK*?H_B{=W>O+TF3EDP z<(^`$HS*6gEwE?i5Ot9ef&l)Ds46%idr5vshz`GBhJ5<*lTpu-WXPYBE`gQr3YU+i zyuVK6(_C_pfoS8eW97x}g&l$A_^g0n0g#M0-!JgYEh-x~fJA)26!^k8(awkU9w6< zEGjo*%AaI;K>SBR!V{DEDo`{C%_t~#s4y|@K-fzN+LfwMvAwF&Whx>%yh9xxdfQFe zK<#SB?hrP0tQ*XxZO}sCUQTH|3gIve@4$!Vn0VbFH!pgixc`P&rgjaNH6zW`(eT&c z29U&{MljW8Y`-d&kQ?AiZjK&lnZz0qT21QZ)|McP$2%pLZpqi&JaAbmkp2$?TEmI8U(>l(O!k z#?mG^msg;<`Moo-#K#ov4vTUJ_#JnxS> zC1ChbfqUh2+UPyF|2jIFc6!R1l$4b8*_QLE-SK(2Kfcc!H#ywNnxv|_sEWTKmNdD1 zeWruMPwZjudeeF{P~@#M-06IoUrrxbP2TK``D0=s=>uq*X+Y2`2EJKH8uTtNG{yIV zxM1$T-Hugv3u9URqaCa9&vtCaziG!>-2ZOJmO0r;5TKR!z*kQ~GKBfPa0ypv{8&K6 z73W7SH(XiLO}hY|&YM|h+H3dWA!QSg;c zFw(l-1OjJY3w6uL^3T3udHHrQaZfu<=<=FXc-vhnyjAas!XccG@RlN@PP|r=Pns`B z?&+!Ul~C}C{P+yPRUuT`^70~I;jChe7pS!6cLQP05XPb9?#~87{9g@(jZNOaH4vbx z8^Nt6-j^t`e>V_}Dv@;3w~&h~?<$_b_$R1QzX$qG1Ukb>=0e)yk0>9d^0jJ_ym_9A zxy;jR9Ps`#e*ixAxBNjV$-S5KDDnC**-)I}brFZvcR`M8l@|_M;*?qb3`?{q z*hlm@x{3CwpPBB!C=~8DPTSDI$k`SlWu2U?ZcmU5o_eZZzMvCUw*!KOLm47` z`U)=3LDifhbr`7u&itK-z2u9M4i##b{7vC4M`=sEMWpt~yU!QD%MJvi#if;lS1$C{ z`ti~`zw|dPwu*2YcVMiG!RK^Cy1sHA`t>Fb6K1R?c!04^ykc4N+Ob}M1^|Xv5j4xs zP92TgwX}Da1|%+b#?h3Tq}}xK?;3B)gleq;f29QYz(%7gY@oZ#{_Xl2>TJH;aFgrb zH)4L|&+uHwdw*@j_8y@H>DV80TiMO^>w|-YC(KYW8Igmbq5 z{<;uB>6@dVC78#X8Y$!^<{A=chf7qoDWeF8KwoWgKW5{gLs57DzZ#y|o}(b7W#QPtijeXbX(CP=?O_~j>CUe2Vnk(K>0aqZ#%4x8aVOTV{EOOT%88FI z9^^+qJgy^(4T#6IWgs^+rALAOw0V6PcQ|A|yIDX*twTW^b5Bm(IPlBJ$|c*uhDh=H ze9t&lI%F{aZ9;anl*Ot%6TGxP`27M|%>hlA_N}D?ykqxHP?zrtkM+P*PQZ~dOKRa? z!SE2l5H%?`HY8U$6|0kjZeAgQi?tgMxOSlEDeE z!Ey`zsbXc%;S!mibC^=b%m}>AdkRU>pT`PEb`=p-D(sz2|7$v&*N8aWFF1DLDPVn# zx7qmrK{`yx_9q>F2KkS4m~yQ6ubOOGqfhDm~3x>^g!;jvUYI; zl})AGdH`zUpz_#}Rkm7Zjf88m+wx#A zbvlKtC^A0_b4{@sKOL_tmsg_x9C;bO@Pmhf7~kRUD@RTqbBWk7wj|mvkvF~|?2;TJ_NEocLp~(3@5FcYfipf1@WWmC$B3 zZ%7{(?Y)+3rxq5K#nYrKH)KEq77iO;Bhz(^*%j^pezO=^9H{ z)GC|KI|k42XP8!lVgR5|iwPSp)c zWDDXV;rGt0Jcoivy$xE8h;J%fxzPeQX%d*xTJwZcd{v7|$-B`U5 zMS0Tu(;TQtTqmzOpM7drmZ2304=0Ce*dzLr^G-MR@4R<+%2TNJ0JzdD-bu_>ib>z& zGEJm+QimN?Fm=uSNKeI}xQ{v|wJFw`$9^TgF5V*aDxAINi-rzQrF{ic6D)-W$aMC} zPH*SYxsQ_5ax*m|DPII#PEX7epNl`b3ube=6u`6KzL4j9N5xJ)ujco({3t4)=s^{f z63=M;@IO6~xc4?w@EDc+z?eSu?Rqj`axE~IOW)V~!>aSwE^)}Nh2k#VhK+Z@;G1>9 zv%p|&Ts1+ow5EWfB{uL>sP}{%oL#+IRjj|CA{JDTHJmxyAaTGEnfAdTk2M=OHHOdIZ<*QhIs1vc6iosx4zebI*g2Fyb)*BK#%N zq`zir?N$rYK}-y*y|+Ex9t6QPp#?= zJ8HPyYMYI|g`^fOHF=qai1BI5?3OI%!785s;q}V|fKd520TUy2f)@s4@1rg~*&~|P z(L^X2`2332u(YOu8-)xyUh%jMG3|rI!p+il=H|_cZ)lz2f!%5(gZDnSul6l1F44m; z2T8Y(p=HNXnKa&?DkRrWF^&bPcmkRvyzV*9ibD;H0s2vNyR`XB1``Zl91S53Hn((t zQ|B?wH#oLl{NAr0xha2CYJIN;voIqz0(Bwyc!6_SUnV?d#P3R+h=NE8Hot_x=I*n- zJGCdcRP8mR0zAnv2NR)*BiZubflHME+0obi<=bSg%1B|w*-^bQz6w9a?9hDp3anzQc@>rzbyRE~xgmUWF*L8qSV$moq_-ck383-UTp$jHv1FJ{$q z=txm5ak@gfApk&6iy?8#uyevjL0aB$%5?B_a00I7dW{9O_JXiF-sB8&zQvizo$kLjo8rEhi)GVUG`F))EZ;xN*Q|7buE5fmov4jsDr5zHb(Z1*6^?co$E zppy!3x22|EW~v7`F%dPM5r|l|7CqwUs%xYO&I=dTI)Ov#Pegf^1f>!=LKKu@)Gkv5;20RG^En76mjxd0F*l%; z7G4C&D0~LX;6P$k_z}svnRW&I${j>T{!0CYROQURMuO7;(myLav|SespxV8{+*de^ zAguBV4fc~?aGoJu#uQ6!uVB~#ea}IFr*L=I=T{aI41SOnQ&LI&&9M_l7l>O3g5OSw zHe`2BoQnAvNBdMwdzvURU(0Dx41Dwl>YV(M0F<1>`Rp_#U#Ad)9*yrekfD)~fv9RS zRBD0U{mSYW8j}{N9R7nH)(ge2weMy*4z1C)FuG)v|Xu?wOO847EYr$cubIoS5s!y=6nNFGv5=*oC~#Nste$(q?GNUv~rs5DE=QfFoCYOUw*`$x!PyjNd)kj?qRL7YWlP zLQ@bO7HxgtbwuFTj|~O-5u4HbvG}BPP)Mc~Mq#t3)ZnFv^^KPBJ4UrU!D~2@Wxsq4 zl#x%e#J+1{UK$pZqgx`5CR6PK+3%7;16JK^Sw>1+sMXxkE;}j`9bZ|diAqi2oi|5s zKrmEJak?xrB3D;HjtiBm9R~E|87GV~W1$(8fQw49WNLY)P+5&IqZ4Uhw!EP8G5YaD z?Iq0AxOc#;`*Zq7ryI`n_eBwOPf$!ayfIk66^PMf8o#&;*%Ow*=G+dBXZ61qE4RtT z_!!UFY{-f2OFQDo@s$JJ0j?NtzGLD2I;~vf0Rpe#h}&n6kW;~g`E_1d%T1)MZ7p`L z9kb?<&0FEINJr60sB3Q9eilhF-RdfTqm%zNsWt2M_V}raD1)odY9rvOLTertS3DfM zs~W%t?hv>8NvMfN%j1xy!~c*Y6HwaTgtGk$Z7+nzxl$%9BN7-j)JD1fU=FkABR8O- z3b!myxz4|S3KQZqB4+T+8g-0+)vyfKydVEeS8FM9A}q9#9yedMlAq&&=c*p|TNn=_ z^sk-?uxrkDWk&<8UG*xf{4c82oMEBE6O&#cK?4v>7gPa-aKHG}uP&<%G)1g#db8Eh zF}$1V(UrKqCgM$IgWV)|mqZU{H;33B6T&0&QwZ_03TM-0kwNjo1$qx|PNKVEmD})B zA-6|)B8a4!$y17Npv1(?BeSz8g_)<{sjGz0<~1AxP50J>SLLLB&tJAtsrZiPE*L=O zEI3{Pt*19BG^*DPb7@XfbgrJ*!~~r4)t_#=t{V=lvF5s{3;( zPUWbngr6I^VqWM;-gAuO?Jg{?ntCCMm(GiEHt)u|*Z0=@EL%rUM@MJ(*Nc;rlanmxyH3@`&h_;*Em2-k z?+vZ>wY80nc9aTjyPe@I2A|Z=i<2Xh0{^H_?ik*rq@ESDw<)AEtDclvr$8OTl^&O2 z`W@0Q6vBM?RI{*#F)bB90W3B?mHfJp2$R5T0DfmH4SQIAcN_ff&Hw;Fk500^`mOsL zPxQBAkZ%^BE|Air*}=9>2WBrS8X!O=hs!Bu?iC1N*JnwO*Df1b?>9Uv#g~&4lM_|r z;?F*YbzmBxJjBs7OdGct4c5)-3Ytf7k{K_^fp+pvk#bQShs8_AXfP&a&#P-G*v5Sh zdLCz3g`4ELsBEljltS1QJ|SUX-x3duGQ8c7cCRQ#;JiY8MizE8j?_uot(hrN5ZwWZE$m>duJoUcHyHZ z*tFUp;Nc{~liN7Zx`FabNuth&hSP#>MAIM|{c%aHWSYj^s*Uy5;)K<96vq;VpRc{4 z{%zG~2oc?Qlzj$lf4O01_l6vlDnw9c_f4YF4zkAZ`&w;xionBwQsm${-GT!XTmSCd zq?9N*287%&+v`^|ZfUI*rd~SNa$ZdR_qa2NFS-ffQs6Z!?=z+H4*jE;H~A@7DtECe zuSEcJ23V#Q^hN)|QxZ5mz3g(|sgzysNw90m_b5lLCior(AwpYl!=!E(S&wD$XS1wlv%JErA`o=H5^j!e7O!?#W8Z;& z26;Wlc)3b;zR{|vGQ(R>}tI9+JI z$Gg8{lz!2;ePNK z>^;xEN|`-=C-1DsIJ})+=Av!e{%g?G%RKuPo5`gQ2sWmk~FC=k=R&s zsfKnt6vZ4#6b^Yu;)h1sjulfl-0{y~lMo0MFv1!dX)lhcVOnV~(r?nn9uGGx%5^vBMT2QHQn2ES zxs{0Hxf`q-hMO*m9}zJG@C#Yj4vg%m*HnkPXKxRM{EK)S&z1OFeoflRxAqRNeKJRy}sg2-rYZx6<$L1SEfDiI)OagAaT~_y@n}q@TSYwdpH8!ho zswI1POApmsza+#^yBUFHjKazO;l=kk;%Xrmu9p^U{B`)J=!Nu~_h!_j{gYK7ktuY? zJ9~#c@3v+{4@5&2wtLo9)0K7|cm}_3wk07QEkut!ZH+WBpci3dA;9g<;WS5?1MNM0 zQM>$DDC4#uFaUabgj_qi5M{)9b)GI4k%&DB14QL=$DAReK$AU~J{AEVX zHJ=)1P1RSq?$K+bT4zar9YLq6FG*`XXpWw|@cD0HAspxm3Ald4jYwQ?rYX5$;pU%6 zCagk0RNF6?qwaojS=Q2wUjL?f6rzV&Fnft`(|@Mj+59u(zV`z zacys6&s+y}W8#|o;LhqmOdqi|tfi6uwjPjsfyG$6{>k}T;1j3u!J(9d!IxySUHmOz zVQ_wtX0#s%FieHWjjI&warT4xIOb9^Z#rJ&x(M}~b+s5v+DSwd()W}TYn?&HfFNyS zUgyojuJNSY4M`0bVV2 zM_?)R{%RRgSC7*PR){a64}v*_=N3N&vdn6UfAL1oSH}K2ko6O6%?W2?h$AulIN-02 zIYrw{{#tr!;WXuT3i~qS-#QZ%wkO1x-(@R@nKr5 zbP>89S}S(hJnb?%-w1IF@gO>DjVT6Zf78{0VEKp?ul}(6tJ@soTA^fo|N5?WZ7sP5 z)mZK^+;UXN&QmJUy=!DNJr>8c``w?5_oA%>$Oqg;H=62B`~mu5FXY$S`T~!q4H_&t zR49QET(4dmEppc>zS(;Q>CNd_k;8#JE))8Yt z*#qIAlMb_=wr#i-a>2$?45-EYB#t6DyQ}o+y2Og!6P_DOmLpz(@ zfrT&LykAoHEh4v9^a-i^p;Bs^nU7;EiCK=xo*0eg534Xrb@^-UGup(dA_9qGD9^;M zM--OSCYcnWK;u~u;F%62N@x*W821^NVya>SmCQh(bT)WIJ~+@=yr#QUR-5SVe*g;V z*PpTZ38l`rD~ zpr2TU>@WemA7dDcbfBDo7bMe)Y3B>h&Rp4g6iuS#O=BGrrmfgr?^W*Qo$1(bG=LYG zogi8(0S``Ti&52503YElx?tnYlX8E1y`MSkCXu9Xd)^_M*0TMh#6po}pFzS1<)r$2 zK!wGNkpgsJ+yml8?#D>L~7H>3c^DIkV{WrJmr_rbY6T|Be4d@ z0u4`X@|wd_vXCSL;aaRMu89H{5SW`3uW>KXK8XrNJCeZmj` zKS!k^*o6o{@jj4N4(tLw0zX`jOR-*U4xODKoQ_vg{zZ5n}*g(Qs;v3=#NA)8b;11~4_+BZdoHdQ1Mo z4Bd&iO>x;yntQD1L%EdhIk3YcbtdWxA-4X4Zm8A8x^K{c)!5gaS#Y*vxR|Zt3QRmq z${Njqo<@85@XSCuu_J!2cs}qhMwLP^A=ZEp4=Hl;5*Zrgb+`-?){uByzo2B4P_E+~ zAQU2jC{hwb6+gK?U{c?Jsc0rGNs)g4fo^4=wba5SD`Aya==n0y#%ZQ>c#el&!NOXC zB9t3OTzvN%FA+DV?>hUMg$pA^lAb^a83{a)p+#`7$)HDc5=f*c#&s_|OVJLB;W%HSE^@i*rKRi*P$!PyOkr(OQy*<%RIIsWims+;CP z+maKvfj(Y*2eq|AKZtwhn!@=`oc2@HaTG>1#`#K@a<9KnG*goN+;d))@)`8K66tBP zQcNvKONYVaO^%F#WTWaSDvW_jmYZ^moVe^2ulyd_-14TRFcy&A8VTa?#AJ6QLyqz* zH_bx645%-AnjcxZehdJevERi^L^Jp9Te5CBrpu!>7QYimj{s&3Zg#S{O}K`7h9nj@ zI__(yTLkS}`eXeJvbKx3YNsyBc+h$MZ-|vc0Ypu?aQ)S6IV32Uk3&9HS~~)trBt(U zx)?)}g-!hz+)A!OK-z;L7EDYztd=KCHU<#<000CEGxxA{s@(hKkoCCEoj$Ih@(GEg z574jl6MrD06E&oNR?0idlrA8F(BY%$xwZ+q4LX7wc}fav0vo!dEj|Hc>z>6255RNr zC<}t`_`N0(C*RRn+F#^@p%G7a$oxA<%%*bWK3U^*)4*P0Us;-$JYmK^Xr_|H|U<92aP?~ z$#-*R)wA*fHyR!Po~(+FSU}oNy>qF6*Y6-WRnb`jZwvRYCc)1XEfV0mA%)1;^_M$J#VbM@5P zkFA%}(aWT6dmBuSgU8WM1A_hnBaZDyqpNFg9na4yr!=nJlb4f|i-(8x`T6;I-peEJ z$_nq+_UH4)qr;=g*3z`J(x}dMlnQO@mF52oC4p0#odR_TnWS8X>91m8;<2)$P*1^X zsjAiv$b-!6rb~KH04e60}E)S!xE;N^uUat6CwvSuFgN*P-Pv`O24xij8C34h!g55 zjWbjPFi3UEGV|?RITRrp=jR@>qAz_ zBX4^zQ|Tbf?|S^+M^VpM%n4{@2Q|yVN+a{erPqN>7QT^-(*!io=KsgeKSgKW@A9siGVkn6gy?`Ldq z^~}9GxKfD_U|MbR7zNuaP-6)8fU%pNB_pxYlC^*h&K>}vM0X95S*PusJLw-n*R~!` z8yCFtd?>kAJXwYj)>DlaM*n6!`4O=&t~G9ogM`)B=f@+~p3A+i>Y=^FOQ<(phPg}> zb5FfF_HzVT(|a1i45k;^sFk3lLw#R7WaNWOrPcog6gZmPj2shkh7H!4J(*mL9~vDu z5ZD)p9Te!1T&U7F{&NS{-r|ojVZ|nW7q+{e?o=%KWKav1){znr3nm1XZb5{`?}YRR zhM6V)lZo4&SB};@sE04G2|v zpdy>mBE_%g84o2fr*bW)ay^61Ly)y;vDb%o3pRQ!@NWUWLOmbiJ)K2*UoP2<0S?3? z+x?3$FCz6Mu+mTCvBd8Vf95W$sCI21o82D2_S0o;FBP`|(}If}26c%Dt*y)IetZ2% zY_C-O_m47VMG{zQadkg+7dEI_Qg)0gj4MW{@Ngq68q1=0g$@Bd@Fh7BiM{jLv}#O2 zd|$ZjF(bXCfLsj+lLrw`DVlpXWCUb zrsk&Jz4yI==Yq3KOT|7}M~2JAJ}5neNj*`2l8$N+y8+XO+a*fKHMlWv+|NUk?m{L0 zry#=0zkh{GVLy!gA{M=P2dsptZtXp|B?O1v>S{iqohkexTevu7+e-8`BKaNo2${gu zy#Ked+~@C`oRYsJ(Frxw>OCyy>aFtlOk{@Nb>TPHRpQdVqg-1H+4(lg8^-Lqi z*z}z3pu|^j2r3TC-2d6wCKjf#uvz-(J)I%iZ8lqC^~$JN6Z(X|ifu9JW_ zA*3$F_yw8H`htH8QE@Wt1YA%aXj+Tk^_-L5eX6SQDdEUJP=*XQdcxv!mOSb6YO}*N%{;)7bN|qIPnH9VBM9;==6oY~1(l zk>HI$?BdSCwsnEUGd}2eg7U|$n%aSGzA_PHJinQuF6v2_k+J_&3B-SEEMsB*J7cL1 z$9?f9QM^3Nl=2nb_b+1!$6SjiKk>J*tU^+WMPnsXTCRtr0qR|05rqBCJZwm9LIF8P zzL#`1O01ETvTtGct2|0!M1a2jH6fY66)P z3(#VK z)hZ&PCqsTghq##f)z_>CRi1WKFZ2xA=;a3;?qbLdNMvU6p(3iiupDHtF77+dquXx$ zQs=C>rT`p9i+W+YOdiHCp?#$VJN&%enaPvWvp2%V1n(6djpjaC1Gb#!BK2tIucrJ? z_UXJa5eJ8XX%AtWTZCY0wXJPQ*WWIZRK2)icz94z?FAhPbJ=5AlBfqbd62a&U*1B2 znl~3GQ8E&8ilm3@h2tqK8lW#afirR`=v{>OCJYq`&|kdm_3(n7W0P2+rpXt0 z=36ERTMpAN>eD;&ONT0r)o|CUW(nYv#&qhm9MDgB*s$%|-k$Uwv%k#OXhF;LrzYl~ z{V#a~6vutES=8Z)b*Y-#xU+qdGjNoOgZ7-KN1CNcmWPeO8$SO3^d#YAoUdb70FQe< z6+D!q!+$9!<@+cR#A6B{AC|P0Ir7Rxl@E1^%kQvcRIa+X8#+_|J1J=l@&7fEwU>_~@Va5-dMI?rl#8j0|vU1_rnAZ9PX^0mK z&9j#Zs2T(iYKLv8YTQ&KUkl1i2-Sa@%Vp~}@~_CWHYsPe1wRDo*I$uoG3g&r(V+hn znNGUZcl{ClD>B^$`j3&Rn#(^U(|*8MSjcJZe~3)aG>T;#8{S5arJ`>eTOPx_TCzmd z{!*TvI`>q&)f6rp|5Too<1#UoeP$CEjY6ghOR?xy&YZVmV@-NnLt3;NPp6WHtF!OL z;792V#o-e1n>p$JqKD_Ml!d+jG@r_3Ya0WTksZv<=_CNk%ZiD!FN(u;8DzBz0z{2{ za9OGWTqF!Z%tr&rNf>4HMve#yOi5#;`fU>{pkKzmu>-U;On!o991KxVVIJQm9&9>) zg`Y)k#|L4U6NIolH})b3Pf&$nLN2+u>S%YNGmQc&Kl#48W?uJ?rWs#42vnzf{$Qe2 zB~k9C)fM{UHv%!Rv!nU-f~Q;hj|XiHPt-;>!cZ@ca!SuWp>b^1MOezGX|5;Ge*Ql7 z$C>T#+t`*+s*^G6Pt!(V+H+V+-)l=It&ZeBnb00T!@&p$)E&f>Qh3@&BJ^KPyuhDi z%fM8Q;_@H@Z$~wwc^Of)?sfIEqas#g8lb(w(|??=4E_(TAQ;QuGHw6Pz_y1y@`LUd z)o@C|Y~nzVc(JI7X#Q*5Xbd1eO5p=ReZbYuckK)1I`t|ef8dKKBB2D(i8_O-dX8XUb1zmeKw{%7RRSSOHXW2i-qsV;)0WW;Gs)_MY z<9U5thkdklqApeMghuPzq3m=vQGdY1IrK^S{Ge~+rv!PEPctRdT6cygtn>%E3w($AA_W72a?&`9Iz()~^>1t@sO|k47Bbg_;E8NtlACW?!-f*) znVynfck-tAZPwEnGkpJbk@6e|?cwX<;}TM30Ruxpygz67jG{1|9+xxFWi`GSPb6%y z@@F-rRCBrWQ(EZrpujDEOKY$X%gRU9TM!1C_#)Urdz#_1JI>1S3RMt6`5}A|1V`$= zK0lEMv)&CAjY3QUhk1Xzqr2|>F0;O)$(1iErkKs-Zx>fyh4>Yoq5 z;*Q|PnLr+@m7T>DAjoyFXZ?7#v7mL7#l45@%kE2JCbEFteq~GDJRsCs9%j788Z3$h zqSQ(xbzBp{klLpraO*WoZiO~Y9K&lzn_dXGK|!&6LmkVRNVLTYk}r5 z4S#3D?kVAo@ksjjhzm6(9`ov5V8Vx-Sw(~>Dac^KN12E01kPOJbDz&(bILDVsvD=i z^1hxLz0KRa&D+&g-4^JUy$N=w^eD7=Z?c}iehEZAn`3rD-96hkf%wGHFl8u+h2XBn zfF@TjwA*)hXmxsgJIIi?xRlwoo8_Hl)~ZWFYHwK4@Zau^Wq6_GzP=SN%oScljI1Eh zTV5rlOWo9|?1>mBAw&-{uPG1P6FatVhs;lljO|!VCs$zg5%?l(iXH4AbIy!N59u|w z@bSK>Q`?VMsgE0P3{sB(Mm=&Ish8SfwsS1HO(EMDrq9{89QDGM|7+Wp4i3h&#rjX% zwkh(rZNrs-GPN@KpKMzUzr~9;Cuv>8ZRxa=-9{!G06UeAUpNB&S)f=T23JaRU_d4` z%lwd5Hik_jwbiIzL@y7YR!eX`(`R4il}$8&UEP;qR*MT^Xv)s6yk4|Tj+}cEZc%p5 zxtugs15D}6<(Uq89ghlYh{p}RWk-Y5H4hkMlg$B>#GBsfAm5YTgYEK!HhP9R&WSsS z^_k*V1o7(vtk*PA_JiZL6Jmu&8$I!($4HKanbCE9IR<;lY&#iOYG`e;@dqNa%?-~U zlFDq%F^FvfcofWJ;g;{huKHJd%jVB?&j+BV`D@E9Y<>r$7r~MW_Xwbu96wXP2e-)W z3xm1u^de3j3)a~2sQIB%!Nc7@L#{0JZqRuY8H#I%XmL)!H-(>uvaZNPR#HdnZ_N!$G@2(KB%8yAtVrGMZ> zzl&!XsFW~$cW`YNM$-{cg2nJMS$1Q1Olb|My-3d{G#kg8#L@&aNIM@KmqAX2&Wh}= zG~H*Hz!D|3c8oNrcGaCzju#6WL^Sj1Gr+2Z+YtLG)o`fag$fsXZQxdT@4{&pc~xkT zq#+;(zyG@gJh}U;1WXh9s{~XC`KtuP(06R0Nil>Y^5CSPsb1MG6(de;Jc<&Xhr!Ql z9VA+`hKZndL`|JbabeC~{D%L9$BaAV~=65Jb z+INRVeU?bKvW25Nw>J%2Tj{jB=_MZGb;dYtf`mi-+B?P)5;0x-Z^G#qt{OX_Twq*r zC8`|l8hyF!Qc2KgHf`{Ji2y^O+!ofTLf0E@q%P+u+dn#Rt5}2idvOEoTj>#0|!g1JUNw)zwIzzKGNByT> zrO0URFBPK)J3~=b^j|)7%;U?r{Y@hEb`EyPNkU4jDP&!ztpavLYOAV^2(3=)kt(&h zt8KDdBuPVpaU-ZMg>EL47nNpdWnds<>5!0EPDKmJke#WHm}%lGBZB3P{z3G11jN2s z;n+Rq`V}_XDQ|3kb8A;0@VTYR9S0Eh_A1Y|nU$OMw)miC{WP|w`@SKpjNYRT!hD&)ngRI#tS+wS3|hu1W%JuYSy|uhOq}x~(KqR$n)*)C&G|r9*^9 z-98U62NNrTzO6iFt%_OgE9ArsYDWmzk=K|QPI`;yWq2BkFR4qJ>9Wwk(wEb(R?@c^ z)aIJR)V>NO$tK!l#Z9$p#y{;ktadgJyIJL0M2fkS!IFVYliqD`WxUOreVc?dIS7pQ z5hVvClA%$08vG`Bwo_v|)VBby+q z=KZa3ACIo};rWmM8w~5q4@3$~$5*|WaS<0g6afzhy@zv>5K2Gg8&fB$?kAS>(2Uwp zkVy-7HJ>PS`Jh|Cnh)+2eEn5ZD%;3P_mMMK=py~!ewD*2?1{*AUnY~iC6e~sT%Lf_FPpUEkV)AW%JK?XX>ZKu3G^iEg1G~gUUnN$zyM{ zuzpExanB!SFkD?BrSrJC?`;rvnmc}QdOx8Lw6n#HG!&r+{Br^z9r67I7K4RFKs;w2 zXp_`adqlMtIDv-3m=Q|kQ^&t`M#9(dcPv=q9hxhPUcLTyD)w@YEP>K%1k-hPp(5g<{+mYgvOUO{F*Y6T-mA3&{#UhC}&E`uL9#y>>M-|2+pD{;`3LIT5>&z{HHJ;p(l0W6%@ig64^NAlb>2nZCV zz1K~xuW<_nq<+|_oG*NISjF6EDvCY$={Fk&$6~PR-F@-!5UD!hJv|xuMjK&!a$MKi zwoWIe)Y#{g0kRzPYjuh>tL{!Ltm%!$AE1Wf4zeaF@eAxY>oXr>i&UZf1-aC)*aatpeYHGn9J$DIs_!%L!Lz1~s3BD+y`Lj6t$ z^dh`$uo=YyOOp5(CrNmiIlpBHhd0TNbTFsFOW$odzczwI({bZKLA?h){dt6|at3ml z;=?>r7#?TyQ5f@g4R|KY26LHd_?R!wNrJIS*h%pV$5ILoy$?#`N1&M48_E;eJXNHZAe zuS$S0A^9agI+t5bYG`7C9ZNB5p1~FCW{d3p>!?2v*GPIY6v6@)A2oRBVWZ(&-AFb@ z=orwvW7zje7C8_mx-oDm{=AKLPTMlafDd~tW9?nGo`iO2yuN}v2~qwo;RFXOuD6r@XaUl_6?Z%9yg+^`SE#$MZ^a^ey%>cuVGIjxh?d zM7w-ftZ+Psl3F>8yKXgEknucyLOs$V!Y_2G58u+>NxP%A{`!n?18FZX0 z%n|nm6gFgY4`|``XfSZ{3NMZ6*bf`a>)O0IF}M(TG#a!lR^w>$u&5%+4H+x|4jJ`# za*)Fjq0=S(rfPtir8s80;#lQyBoQ+O@+Tew@0KODb7xjoMt%#XDRx#b*!pQ!w;*I( zLeV(y9Sb>vTqg(%D$lpXoq!%bA&}~>`g@r_6ppt z*RRDBjS)UU#JxNXeh%CQ%ClFS-_xkQOh4ZGk+Q-t#!-QW)zi?CHj&8A^*K3gE(a{j zI`R^f74zmH0*0s=PV<0KEW`1o#3w4X6V=P6M?IEjenxsTQauHz0BM6;%_C(%OrdF9 zQlmBk!N2v|bDo^x<1=P~b7aNFoW8JQADf|8h34^3m{?YMwf};?@dMor%ylcr5VSuj zOu}xErEjplK8yp4y?V1q1TEwPcSdcO2T4?X2atfw(9a5CO65+T6gcM3id8}nhR?XY zT2=Cnr`Zac$GUGsy)R5y`)ZbU-GN;Vc^h&IOfx#?lP`^ zD?n5^O1$`5fMYK2?U8c8N;dZ!Z)3(vEXtidDmHraN+KwgAj+QW9<%<4QS9D4@M(Ix zjlEn3;JGnKK)m{s0b((B&$K2Pyhh!-k!BE2q|az(*GJaas!5XCb=-^5OQPcPA{_MM95*chYQ%=swOa(_0NDqsH;XWED&X0geQ<(Ey-#+gas?iK< zTbWW(nhMV734>VD&fPUGD$AYQS{!{cJ`1&^5wMd&VW=6mxt)F2K2i_?4VgHjCM*E}O z_Xk;)%e6`UJ2YQ_a9aLI`E7seZ301b`yRAnwRT$p^eltucyMc#8Mrc zBI4nI*3nRUb@6eLVs7rmA73qKzLpDv2l|cAHDr>B%m+toY~g&x^yFMYU|BhpW|A!NfB$0cCl?d*4^_<&Ad0IEO!H6L1TcH6^w;}woqX?y z-p0IJIaxVbyZxL+zhh^we8VP=(yakxju|$Etf%$InHB>gGu$jb7bv3&tCQ{d`rso~ zX*aA!qFyk$5dDPxM-eYK33~|){2m*BUkH~W6cIUZe-Xitjv?1ba^C8fW)GROqbXdQ zn+p@e5d=lqnaJCba{lA3Ubi?VwKyi_)N3DBweM85`$_Dp&8Tjx{ZU$9)=Hb#S{?n* zPXhGR`WHf1>nC-3SNAL~ZhBEm2TD(l!1J{aiARPc@otdM4saI-*>u;3MmEya*Au;9 zz^u8rtM4%$H})OME87^M8@ooz4#!L$>Dp1?jaYgXfR=a{5HV|%T{3Hnb8k~AMddnwWc0xqQuFk{nd?j7e)-nmxAE)&`-Lm{0YouL z?)m}s2kmsH}&- z-(p?D9*9w9O1EtOJ)22(vagPYxpcgRc0xAF+t|w?%e*NhD0}RYgCtw;PlfxG@VsP? zCQyybQIw{OVkKnJ!+|(Fpi(}py;BMAu!F77xr!e(M@1ns0OviA)4-k^{epLszy;rd zRHn=1EgJ8e<*Ui~*-TRD1{%lVO57jR%kWG3*e1o~0mdJQSBZ>%;7yIBaFE=mEtXcX z3-59!F(_YaXDVJd6=K)eBbM&^FEDiS>-h+P)<4 zme-;P?ZNFh>ntw~mYZ_>7T17C%@iZUri4S4b6c*nb|SSAwu821(!wUL?9XV}I7d=yxDqm7w!G4U1md61 zB%yS^q#U3RE4pH!KK^<9@PfWT`g}%}Lf7o+@E~$h>PYb|iU~I6@+kE|T=kS;T)Uv^ z&MB2fzVXAC4FZQOD0gZqii;fW^mOlC@mwe@vuiUy%+HLcV5UF0bqEojWIM~pDs)s1 z$#oa;Yk|O`(4Q#ua<9sh()NreJ?_L+4_%U@UWp`ZK-`a6^QYPbfnDlYABcn7Wex_=+Q@CG9`HGH+mRR3_VJaAMU;RRpq?Dt^Q$ z8!L9c5Ob!20Lc-Z(B*|@|GZBZPE>1~E`2M=Pp~MkIWhem{VtQZyKKU@{Sa&18o&Gt z!u2ca``wpsYldJ$;4OOVH(#nPJhx)Adr^1vxFL2i%X=F#I>KGLHxHeL1fbCUUC_6r zGiZ$sS2^LqSz9(Us)%6UqO zR+@PirfEFF4`VaKCkgW0i2#sY#qh96eIZv0ihUT)U1@Zf}IX1YbVeu3L>|{ z2^1%Hc3{g9$RUp0;_*S4Sg3;+?-oelBp(N1 zamZ;#wOyatt%cE9hImyDs{|?2n+@?c(xf48=2R$^z;$rXTc%f*GTZ+3vEZ%uc%zKC zWG|yl9@DTL+dzI+Oo&lEKPTTeUbb6CUC-~Mm^8=%w^P^=WNc{tJaJHto*mM8a(2X2 zNy6MnFZC;3gF8ohwe9tRL^+46q6!i&Z3bRlBujVFVaI-+|BFQs_vq>?48{xlYi-%3bnMA@e@tu=r!+DY?zx zmK>L(`Wy=K^2bO4Ft^XYvWXBJQ$#&hv79*_edO6wNR5|SA@_SBbNgPpA&MdSEL>;? zJv3aJiFg?6rWE_Aoeu9xOFs>KJtWh^4@SDmiSn{*t2xmKSug^C%Yh^GbUPD<%vnwa zfr?uP#Os|a(lEnc=@Oi*iloKwDurbKu6q&p1I&W3|Cfs66{%O4e#{h4C}WI2)NpT{ zY!nE_N#f3^qh@*ZQ>r~DrUmcL(pcP6ms|hSHJjp`Tu*a*6S{fkP4Z;X$Yk+A^?ZwKf-ZeZsm*hZb}qxqQbli?;I#~- zQPb};M%^7TSJ+lR%Ixu+l4s8r7$b+(&OaN|!yEk@)Iio!>0>#pelsHTd{P?TX@+AaMAU$B^( zL{q1dAdqGhs%2e$W}$Q_frCQKm<>o*7#WV7LB?wqTmW&X=QW0$3f{qEt;>hVd{E(5 zXl|gn9&AO5SB+e=ATIKu7Nr8;2Bc{^oEWX|nc=C1(mrOgGVyL&A-Jhq6RhL%(RTC9 zyiHi#@6W5$g|QfN%{OaWC8AhYDdZ2uS87yAh=n1$CML30*JYs2itgbph~_U?65qPn zuQ}k18muR*WooxVc&UbEyTp~=Szkk(=@~)#-Pw4}$pGC7TF3)v17&*x$%#I${7RYy zv2O#{w0qqEVswU|@F^o9S_e{xtFz}!RAPUyC)yGh!DIrPu~lNR`6?OhF!BnRGhJX} z@nE%Jo5iDMdu}POG)14v^H&{zB`11X(&v6B%TT^%r&y!tu)ppHuL^XfE^q*0(zi5_ z=Z$4+FeC5pu1=Jegctp`VFM7_1yx0iy0xb+@UF0*NK;q)at4>D4?W6elC0Wj-3w1L zd>DJ3=4Et0d108AM%>DcBDV>6aJ~bXewXcO%K3js4g4X( zZ!^}*KZY2+%@EWs@h3{AM&f*5%57$1)0MUyO>o%6T>}Y&;0dZ2LDGdnc;lFQWeLD2 zrLY*kJZv2!ebl?L;&mZv_O_8K9;3;MHWxHs`%@+uAVvW77r&Xxkm34q&@Jq$XX64x z>BT<4tpx(SohNzBpM5~tG|C%B8Cx`!e|8(yA^(5Qs(d%B~ z+XrO%)lpH9lZ3$g^(_3QtqWtNb|WNK+XBr!wT9*srKc#rBH7}N{6;1;i1DLtz#?c@v9&|pZcF4oKg?X;F(9c8j3B{(@@iSlJfqlyDS4n9LL3I_q~8f zVUO9aP;7fL9znN9I{qF+@-D-$!)n1Y=~QR|S3Jm*81DT&y1(u`(m*yE7Q7k-8+sAGD|>2qpfLWb$^I|cNiof ztitXpG`OH1D>U3Km6&QA^Q*?q6q_VNA{w-8vbevNY8-}8V598|F|uox!{;-)S{zDR zF-8TCD2G@9@c@04@(r82!7V-g`Frhc^QV%td$liI{pKt^JzJq|jkxU?Sy0G(qTv!t zQGo(4?E-#qv4kz(Q4sU&>#;>~&oSJ9|MNfoRhaD~g(_YwL5nOXFPnaHTJ;QEOOr$zyo711KfDMx6MjUz?Eye97Y8nBWU$*gT z!1iz_#r(+@Mhs0aGd5SM*BZCl!*;Wp=&m1E8jmoLhI2|KgG*MfgHCZDAL&Y->0S3R z|M{wMcmC%`F=gJ>aUEl+vuAUlvjGb*J=In>AeOfa;?%mA*gp4vqdWo$sLzZ+^Yj#{!;Cokbe+-!FdGHe0mO=M#ZV&+4kF+Pi0P;9+HjLh zLFxr0JIV%KU3?V`5!vDzt{F-4n)O@6^q%UFNNOI0_f6p~<<>L*Y4)^Nd z0VJrbG%F47eL?#f>N6y+0j^XT3GDbRErO(e0XY)y@dLuWeO&C}g-68G!5v`hM$6n~ z#vI?8;q9?Jd(Kb>fNUjgwdpw;Lpm z=XU}xoKIdDAb7|f43w0InkuIEWs-+8PZxsPnPc)3scO##Y+!v&u@<`9JjkXx$9xD` z^L2m-=;vlSWO8hW1eoK6iC=b__tNyHLLGmjrz(U(;`q`;NCPg@8p|n1UQMK)E|Uo& zvmYpEIs0qrRpkFC_?!=k+-=nIXn5$=>tK@-bxH={fdTslaVWM>Q#S>&TtGXK?EB83 zsWbb5H=#m<{R=%~I4k|22KBV?_@w#zM=|_HV%54x6yRfayA6DfwzL)XELo~S( zLw*)+M(Olc4ampt4<$-U7md(MU5&;cxUhAf3(C^$d2w#8lTEFVXxhduOf1#};L9X= zLF2AlJP6Wf1kKm}%xy_UlN;L2*KWh`VEduzspvXyT;&n53jd31yXpR4)Hw{N;D&uL zb67(Hm4m;29+9$}kgwm^T3~~mi6%PmV(LlVyvVN+yB+G(n$Nh?}( z%$ckT5L&$3Aq8uN^i8g-j}q8ohcdnh>=N4#HL zlsv6WfunLQI38SZmu%jLW|@KkOyAD-$;bgx?QRDCQt#60NvaWDOepEyo)d%&>jYKA ztLeJwta|!@Owl6r=5H4NR>qa}AZ3cP-=O0#550ky3o)Oj=D3nnO((;tR`h^tKd}pq zqC|Iiv)^AyxVn^N%j3g070tHcxw3Fvl2HQ6wuK{bGfo%0PrX<*|6<>n%}TBQPQALuZ^=@GjPtD~8qmL1?6~lwvF!%f}y0 zV)fES=y84o*BNNIb`uokItk9smR){r5Wm}Wy{H|ts?S?c8a(UkeTtS>8hZ{`AOH0t z5|SEO*GqU`@bROc<~Up|FlKbm>fJZ+&G^ViXcvxK`vwS1*ujg0x?&gvBH~q7V`OardAkN z-!KB0#4603P}kobu^1cx7zDUK;>WGT4uE>vu!5X`rtd<^cd;KyOz~z0C$P|DQ97~U zhwRAH43f_ESyZqThaJOzS};;DN0Bjc&Hh==iAW>JvZ(b%Da z!h8SMLn1TUXq=~th#-%Fjx$xQ2^|=y@;+QoryF^cfazQ?ko0a)obkCT%`en@9kS!4 zv831ojnGW8^nD0)ApDT~DK`c>Fxbl6cPOuLoPz9gjyN(U6O!?UJM#>SKo~YEcUB`c z%QN5-{beyt7%#4d^1-^~=Er(w7pAPyrUE1mQsMiZ5O5S|ubf{yl5ehMFIo*SZUQgi zy_4}C)Rrty7&@N}pW9Wt<>(x)B05Y2=AyuLcp5&w$cfGkZ8S+};wd+aXvv>W0f>JA zqVP!~#?e0ju?Wydt<-A3t{0YCRlN$aE4<~Di?t*>m&+^ey#DjpBX@bZNuVZzSHqPf zqYx{3%h@){y$@ebwXF~Oy)5M;TJyf&yBnEyL>|9wCir*9n(Jlc#-t6n{GjV4tCG|V z53@aEip9|diqsELsX_so*+$nG-P%ON^K+UAyTXHx%g;|>jZu!0)J-HOJYt;3bc0|Mt#&V#Ul%k2v zD-B+kgVa!#5F1TKVyp6JC9i5r6vhLpNtnQ_61-dDke{3VZfdb;OR<8zCZK3%4XA}_ zk;u=5o+h-RwhU0HEz>0Q22o77#_z7eV1HUNwk$b;C;4SRLXWA zlV-4C$bLZ?G=D@$;1N%|JPYrYiwD=2oJJ0~x#7pNjDPjjZO-_2*5%NV?VlPdzTfQS z>Q%PNo}!)^U@wz8#N)TvOro&#-z3}?L0Y}7-Rq?8;tlbUN*zF)LSKNUewKW$CVk^A z=EsoccVojJcpaCL^xM)+SX{WfTMjw70_D%2AWFrBPVwd~Kg|q9NYDZ^(m4om=9Eqd zwT9Dd2k+$O>_2E1(0zxWHEbM3!73_-g7+L5of{Y}Hyf8<%$)uv3o3@sq{4N6@aI4I zaJV;HI`0Lx-4n!%J{>N6Kl5K-<^*^^?&J zflg@n!{^l%uDc!p|oG@K(Fo-vT#`KGB6lw& z-}!qOdDZF@i=Wjtd>21p zi3CK}jDsP{qzk16D9e#oX98-)Csfw>Xo5<#YPUp`WraFk)C4*-JRpgnFztp_>Wv3n zKG1*=ki2Q4yl^Nm?;L>a)mg&1DtH$8MFhXNUVj(j1+K`9c?T99ssyV}AAgQQ&?YXk z><@{;fX+7)grJD8ww?E@&3E)$BKq>nHWs3J%;#Jce?vN-OWJ`c#|6 zxfcT-ahxu|y#OLpA_hsfOKan=#T&!6cWo+^|NMKi3fo8%1&G=<2nF`l_w?2_D@(MI z!@hkF9&d1k-Uga_F*E?N!Si}bweII=EmHiT#I&r8j6yVRB*wa+2eN( zN)3_RU;P7+SfT()K(@aS==o$|Qn6x7_2%nFR;NK$kqv;p`UeF7JKj?XW}`#a!A}`= z#4M8%De_7T;YO8oa)}2+Wv$fYsW!REDTYabh44JYdN9AlAy9YP5&;u<>y;eYw@)q( zqLNXNTweGyyxE!<9Mcv%D7JTpICuNO`|T!LJ)>{#3|+}Ij=|lME&eJ!+kpP%#YX zcX3arF?Iqvb)Wg3MO@=b=s^M+S@PR^T!I@#??PyFN@3@jg6K}L+B8 zJ*<_`L-5nwUyHrrRK5DqE7Q?6aD<&uC)mP{C{nNGnYXvsd)B&6WfJ&@qRPqf;ku4` zj;xN-aSUszIHt~$j*W-0oR^+bZv)aV8Px`DI@9QvA1oJI^lBp_acW$^*_lt^e&$!QD??4dYIwkBdU!pA;bJU{j_V1SH~b(&k@%Pe6Ye#=i9-&H$#A^IU+0wB92Z3;dPPAF>|8FP-bvR@pn!<5`udqR7b*rprEvl8`R zQHbw@YfWQ-Nh7YDtz>M&kt^b9gfEC~U9b#FTiDI2$>5KK(5MFO1UA^5g)R{3wOW<8YFab!^;qr6TB-tAPLzgF)C-}($LeeJi8A*2ML;>?sl3zf3z_%iu&5)!r1b?L2ljm zXK-?hMmD@jq^ES689d}GQG=(H7`4i{4E;cl`tyJ>{_bw? z^h+5(3PQN|3BMqOQwG}~w~21L5KY91`s&K2cXP`K#=!Kqa3@X-8$^p0de~3l2{YME z*f&$_6rG(1mwm@L)U4lH5MbIz7m!Eq~Ws{49V&TI*$X_Hcgn>w-VGpFVjXhFXvIhv<-MEBR(i+71*gLEL|#L zXdLzXjDq!g_x+gHHFzQTPDBl{Q9luZ38edySH{$h5NJ%mp@x$jSfa;AMGMi1wWLQ4 z@fYe;#CBAJ$!HTLslt`_O}b1_J<8}Z<*-M*qX<7+i#2@oGlJb7qZYBlH zeD{$@@K{kNh}V62-{#9!Spuif8?ieO3T#xq?w z2x=0E8dFOJusDW_&Ds^mKiJG!gG*r^FqTngXc<|9eO|ga@7Z;y;eI&ZnL7*H&rmZN z%{76RsJPki_z~2o>iFY96yJMN(X797=Pge~S!Hu$ENx?K@SKe?R1t3!Io8gvKppdQ z=8VMWov6S6Z0w|Rr`Aq5*=}x;`KNQ@C$mD~u(2CkTsir^m|g~vVv|{tD66WQPZC)@ zYqPm=Taw-E#GB(w>#aMFm&vAmsV-v915(d6)X=uZ=ff`klHBkoc@iWi$0>CW3Nugb)uJ|JNGeQew{w}zIwD7K>V zId#vSjO&_cGaP!DB%4>wx5kywny0MU(bvX!mZ63@nh^h8m;WCp_uw6d!RQaav2ELS zW2dpL#|Ln@&V2wUE8ioy_p4PxkUfseG_PNrf$aJ>W=s~(SPVlxY;K{uxNuMZby zfvcZ`D#akND{}-g4hK5X>Muy0-@-T!j#7G@L$81W^D@%Qrul5hmyPA$?40ZOr*EaE zO6+7Yq*L3NwOjcOz}KC-u6pVtK<>g9TUjMa4HtQo#;dd(3n|%GEQD9d3P~_izaOT_ zHS^282*$l?<~-fI>B68PQ;o2FS^Y!JZSlOF-soS@9a$XzUDYeWjggH(m+; zE+j1izgO+e*zFSEVjbjg0C+~M;_2&qjo-IuQBYw7NVkPVPbhVz^>Op)wj(oAlBlD$2G>!(97w}_@;+bkSJqVS!7g79| zFsw9nEYfPF-i?&erncEUBiw>5IzE!mjk`LgwV%=F1vkN-cT!Hdd3EOev*CSSQcmqdt# zSQvQenW!gOSh8Xy3m7RpCkZ3j-gu*icqXUXYhH~Cb)1NsdrRpgraPRVxdo=GJaB1! z2zm8QaO`pyi)T7wk7#UpkElgHeQY0ae!72*1shj>x2eCGPC??K7iY-w#8gZ6yGHn@ zDsP-KM|eJIapxo=tStexr`MOnsI197d_K z?DmA~?}jtc`63G95o|Z38WWRp=F%%c-*IXO`DKzKt}Z-KgR)i9Sb#OgMbPf+nNctG zg%cOuwV5OxP!kK$ERpU`l??$WCC^=Y154hAbCCPboS94|)lQw!0DJ9%(MB=097g|9wJENt2jBuqzE?MpSuDjSV3Y7}=d zyHD*E{AN4pam5F+RgJQ<<1taG&d7kDykp_Ua=g)jPvG&RfNWVye8AcI#!vpi074J0fQ$z^eevUy z!pH6jgqsLi*yl&L>kY22!=BJJ?APb%%p4!L-9a=RQ`~1x6TF^o3ujKPycr{%t%b%1 zcoRI+`p-8N?oLil&sXVlo9GC_vZZnYkMY-~qNcwY=n42A3oQfc)m-}W)?JWf7m z$ge!}^zMAmz($&`ePw^J-`(OgyjSh)!2pFy!@d2s=ZBsLJA`*@VHnkAr;E&9ZOm@p z1ngZ8{|PmNMdS@G=7ArX9WQwHdBy|5KV!DY&#%um6B|!8$rujSm)ytH$Pu=~J+pED zt=swH=$ogvjf)Lm9<&U|>_D!KG2#?ha%PXPFGn>UX&HM99_V`eGM8M8akywKhW)DWl!&PM*^4z)0PR^fM2*akie*Sc=?1>}DbI_HXB85)Px^{+<5u}K zIAmiMotm0bymL=*-?cnU^!r??tRv-dxk68d!^e0A9Qk9bS1Bm$%7{j}COvyv?uB1H zEVlgM`{t*(JFtD5JUhz5v@3ZLz6X+KMbBi>?^?1mlS10#_TdUf(Yoe=q8&nP7MFXz z+d8_dMW~vh^f63<`aN8b0M|r<5s?iRmYuTeO7qa`Yx6(? z6;byMw4Zboxx~o?pD#>^4b^>$z#!!rq-U&xXCYAa<$_ND8Nk($Ak)-O%STGckIMOS zP{sQrE8>J0&a}rZkBU=^L$@72r+k`AEC(%jxd-2VJYCr-&=fXD8QL?NEuMJJxvds{CUD7noU;qN~T3wp2TrSTKEDD>nc=G5<{v-Ay zUva}5So<&MuF;uX!$LsP?s(wN`*T@WBu@%@IAROv&7y(X_4-dW2;ki@cG;<2C98y9 zp&L|6*<{<0Pc?)`j&(L*6s=|Pt>_AO%#P}%uVN88CGAZmPgLHo;3K0aiqHu*I4}u5 zrX&ncJXhAT)(>L171g=F3|2Z2(+B);j)L7Uv<65gs{*#2cYPLczu@6uU>F-O(R{~nyQoYG&CPgoU4D*U_Q*=6%0g4a8oW=QWQ{l`N57G6($U%IUGF}V zO6n7ir6j|J?l$H}}t|wti+S%b5yR2LgZ%aUyM& zmzlIs15gkes3ww>9vW=D8fAyc6mdm_Gb#KBB(ZrZk0~6Ox7;kvl8`|^7xQrG{KQj_ z4lHi^K6a%e$A?ISH(4Cy-6myXcje@jFk!Ux(P*{AFz^JFjFf#$yaeLHW=Whr!}q58 zv#^7>4y|Cpg>d!CT;c!>8zx<3Mr-+8HA6eL3~_f8ED?e$i8*j4iek>MY(D5PHJa1T zKs_y5uV2DkyouLN=UvpkZ1vGt?W~UeNV|8bClk8Zx4W`c#cSqU{TBkcFcAH4mytzFZoaDMjnv`g!KvYOo+3 zoDE=^zF`?If6T($-q5=Hp+3zL-+m{A9Gw4v0350~@2lO`{wZVkX5>L*Db}7F-Ei)y z16@Gw8}Iv)9_bt2$9K{N8r4HXl3?bmpyRYRap;`%RRc^Ff(EavtP-5lZ;I{(^sB&E z3SUG)Eq%LGh5*WCbWP&)p0Us#?>`<3+j}l~-zg}dSE?q%kU_Oxvy154Q2k8E*p$(~ z2bX{4BBz9I#h=qAhXx9A$!9k3KxVa%5WV}H^-j4`=r+pcK4!OxyDNu0XNdXZ_H_WY zBOc9iwdp2qAp~zl<)Z`dyC1F@6$@+rV&TRDxf3Yum4j)s0z0{DK6;fByNx{^vi5YN zqfn2|n7$AuBD%I>#rq3x>ip`0O~Fb;Q5{CfmAcx&ualG|5mr`vl2&`$cUZ}S#gPUOgKS-L)aYI& zj))AEE2R*MA#22mu&D4l#gWvo zG?;5vhZ{|dJd<5kAKRqcYTnrtE0JW}f;X&zcP`2*9&O-GLU-Qdd;!waZc$iZ)dA>h z=>p#vyUknZzEe(yev0+yS{CnLsVBruCfo{8KN%@ED~F3WE2p~y>wq>bzf*>s#5&;{w?w#EjmXo!Z*i4HCLA6g$+ZeqZ2|F)CI=B zd50%p(%R6jwYjG7Erk;N>4n)j2EE3-y!qL`#R6wz*r1eYW?q5fB@n|EUSt8X`19zJ zI2n1#S>8#&Z9wV)2Z9$kZdOP*M-yiFLx=)HWPdFssAH5Xi`5{Fy@hKQ`^4o*ulowe z5HuO^WQsI8QR#7Y9>V?&;6ZvbmF})%YMNC#dJg%q-`&B z1rQ{l4l#7}fOqyFZ)15M_&#c^RsSaqvDw8_hdZO!&hy?m=w@4KtvKY*+QPb=Q*T~$ z;`37H&uEUY(=2z#lxy!WLvWmG`97P3brb$id*^0j5~fiU3hX-2g+kip6>FaufG;>V zUAC4BeB5G>wNlgOVzo0V$=WMg6ynn?8!*n}W)LH!hPlU!R~K? zvotuUrqQX^iZYUqLN&Stk2B$f6a!}T=g}J-t&X=?s4j`d@Jeu2w5B`BC5xm%<;rfG z(k}&*u|b~xWVUKu$De?>6pP9rw-WO#jmlJv4FD^N?<8&@J-lYv_?^eO=26U$SD7^8 z_TE9IoBkdbw0DsiIS-u990^G8fC0Zg+vu5t1lWsM1H@}l+y^fNqU1Bg>!Ov5xZe!; zT$g0$_?y#7U1qN1%}e89t@Q`TvU%fMnymD^Pd1r#l3%=zVpO-8N?_=#U~8VvdJ7t& zoM#t1M=qSH1A$ zo#Wrsu)BrRl9k^aoH#Kjtm4V&fVO{>ynVm##w)1*8cVRUBezS8GjJn6&%;xFeM20e z7IQ(*t4Hh`Jkdol7#hTSQSln^oD)S0{9(2l-CJKQ&)nKw)>j>Lr@;iFDFHuL&dWjY zwJ()VWqwkmR)gddOKX#EhA}nMS1#EhXNw@)Rl;hlE;3G9J&pd5?L? z9c2>m?{(a^dnZHQ;OOsUIx@119cqI8D#<>^;wo2rf&1)t*SueEp1|-Loe(IM;6+T#?|Cx1}(~qULm;1WJI@i{>CE znyQWG1{?{H+wIHP8{I;DofG(^>H>&;$1AiBCgdatqrEWa;H`VB8z3f;t5FtjBrbi(3D3X_5)IO1=qpxT#* zcK74icmsfNIVrEU_+hJT<}V+1wk&Uo2kWx;d^r&a#+z;I;vskB6;w?3gg6TzV*Rnz zd4tuF^f!DD5S5s;+Xwnkc>eeek>^)?@O@`UHd?oCZ$ot)x)K=VyUayAt{Sir5GQG1 z)dQ2cVQj_SAZ~yzW~EKunrqt1M9S(Dwvu%|n?0XFt?oHK-}W~)#%^Ry$>JaK_>}E* z4?iUZnr)SG@hkO*PG+$;bJ#9jTGwJGjox%P$!R7(pm?>>gj;+emBa5 z_dL>m4YJy`6S?=KJ*{0Txi@;^Y>Xz)7-g?8<+jBo)O z{{W$LxN!3?5IV)Y80H$|h$*16i27nP=r^pw2e(6C=OuB$s}XvEu9VJUk!y$2SL7Hv z`d@*Tu#v+zCeGN_->Mh7m~!U)I|%nYgBxDd+b4+Ji|X7WqrV;j=|YBG;NpzRYyfh| z=s;|j-P{J;uX{S^>7~R6xu<$kcQe@EOTA}My@JuGGE+CO zg#XQg#3{Kt9fDIH-qs&x4+U&efEa8g87}mvtU-6gx9OI0%BaExcwR`mO! z%o;{CQ5vs|Iy7fWG32n!OVygr7d0T$ebD znt>)=uun*}z);bxL^hyDZfm}xvP$OJ3LjK~0iyRs43cTnsE6DjvPz_Oc-M+6{(h1* zTwq(i6v0S7$hpG`kO9-68TJy?-|-7sIO^5AXvFonU)_?5qq=nYmVTI z&U=pcaCh$E?iYy?AV~ETR(=2u0Vsx$9nt;MB!(+|v8A?^P7KMubSGhAT0IhmPvo=S zd_FRO@=>QEi9BJ9P}zGLy>oBiq^oN#xpXw7x~VDn-(|wRelxh|(g`+H>&WA>qNDv_Z#Nr!6W3m`DB5c@0WNqj5g#5|pXe`aJLQfg2{7I2 zZ_fl{LlfMaGU02oywJgn}(@Adh-r*MPJj@z9|E4wH)puC}}aH5dab>08evBqJ%8I?nMTiMY4P z>;vq+S&4&GRWSlyEFxv2Pt98xZbHxNpZ<$$pv-hD6nKOxt zpFhgeE`&JS{6m>@l{(!Z#oc_3i)^j%<9d!!H}$rmPGl<)uWtNH zF2;25GZ%YC>OIb3FGCHm76L?{o?|8;VSW807lSn4{F#dpz{iWQqJFsiEf*6PYr1kR zCN_+BDbl74`6CxIP2a*znD2g@NOJ|J@14%20bX6Z-Ns|{jPbcqN#@sybu8^I{Z>u_ zX)e5#?8$JN$lemzA<#ir4vue%DySi)=X8c0D4E>j?O&F8|?A$S?i~NBxsO9)3Uh6Q{N8gV%W3+0udN3ACr_dpqW~*K?N$q6*)< zVaN9L{I&L7GWK5NlyIX7)ID|ew7hj_3@?X#L0e_FC0j|8J|li#8XB5y6}it{V&nj8 z@+u8Uo;gom_IpGza!EuVtI5bdDIdmWNZ)?s3$j3GeEZe@aK^p4e8}F#%&M?~QTLD3 zw~D6EZj`Rdsarc7Ey^~vtOK6DSw;KY*=W;f9Fm7Zj|48?NEwee&FI(3qWU(PJaS1ePAHi$tYRbp^3dARVSZG*6HZg^xcDOu); zJyBQvO`PFI(1KH=31Y6|j$`XzL`&vLEFL115|YHkAqcrj7E01*WIwGCtTpp-QULp9WpRNsu%;H5CU;3Z0*4P`+b(=? zb*z6@WbQ>tj&(h>GVs_Z!1_jLBdfWEtx@^~zIF5yykGq5f@5LsZJnF(#`(j@R6uAc z^pqA-V}RlDj^$HGLxJFjj11hzePfjI{Kr^jfmV8c58r<$V&C_q8C1}z2JMORK_mZ~ zhzZp^}*o zr)RwSgIe%3USpim$=i(ySKD$GZxS{cJ>JoRWaUagNfwoN#8uFm?qtV4k_I&+SDQhe zn=2?c8dUbAFEL*TyHI#`%_*-Vj>Mj_Q0o&ZJST}B$KLy}2IMKHnqFZI5d+d@ihF2D zh?_;W<&ZhmWTHFUv14HYxFXWaqQFY*nsOHB7oBVzAFY7ZC3kc?de;ZmG*mb{j*wc~F4@j}!)7rOwlS1%R+r-s=NTu#k$_QXW>fF}tD(tNb z1G#gbLDT{TKfVo4yFFUxMpC;n<>FMzRgD1;qIqWC0*4!3?kNFdYZ6LGcJw(TvF83t zEHSgTr0RSA4Uq_8@Z)KkZ<$L`w_a@TJsPGia|?Wqk&WOysnk#cTrJ`N?)*hQnQSeEF+-@Ixkig6m&FTh{HD06&OjE%jaJkC!K+ zkE~g4HQz7i%-;AjtLfDRsSGEZZCpaYdi5TY#q4lRiI3C51e=%0Z z$7L_vZPI(&Nk+Qo>(*=foab0%?f)FM)$~41KJyed+<69qn0Pr!noQITu1&-QUC=Oy z{va7=a$!8=hg0PV=0A?+a+^@T2d738i9vEtU<#7BRDlA}*~0Lg{eXAH>pR*6N|t+P z{tBE;)_AgsZ@Wr10ETL`>gR_qu9Kpc?su_%aOUcLx#mtOwSk9?iyckz?V#^OAECMS zX!y^x&B%(g1rIbs&u2ZfZpwLQNoWx@*f8kZv?Tv3&}c|1-*3A5)JTKeqR9E1u3CqF z*HsGHb2&jKJ8upVm?zG?! zsUlV*v(Fp$m~OYx1oh_;CH=J3iQMnDf|~imRylV6 zv{g{cf7$AUbQgsd1yoioILdv&(^g4{hoGN;n~bCtj@c;b5x;k^OJLSt2jV&$o?4=> zy56COrC*IhSM8ZRkQMqx0eZPf`Z}7ltk6T}A7xF|k@4o*`M;Gli`@QJ))cQBD$4%1 zvSvdAO}+8YvL;6UkFCP?MchBjnu5E(%9@Haf0Q*1^8P4mN*(-O)^ycxQe%x8*2dC* zG;()w6JaLx<^XKgSU&ZO* z6jVJP4t2bqQ72siCE$(I3+d_}&U2BFX3Dr$cV0P!!Fj8_pxPxt0?|=34h|Fp6C)Q+ z-VZts;csq*`Jx*{6dx8UqUS|BvhtxE0k#4sLAZ(7pg85|8@*oAHSh$Z&X{^9iJ0gf z1cSRnFZlhGW(dvwOd@@sNT;wtZg4{PU)*0*TG`r75eJ*(?)v<)7hV@U#x(5(p_NG* zb=$AgEOHVFaTzgz``E@y0e#m;H7wm&j;*ooqn(9nA$AA`k_yq}zcn^^Sp8SlrbZAo ze>ddbxcw;s-iGLERP0SqKQ@(=zK z@LH^tkkP0h(SQahxWoSMWzCwKKg*ge3tF099W^fz937&-(-i4L`+|o&w$TwH_eQI& z>%pbckw0X&=jYwyS?SXv^V#_k406F6i(Vsn%Vmw4Crg>5Ed5^6q_HxiE(|=Z_(w@IsYuEe3p$IcjQnRw zla^wozh5)Ly*_LR*+cECT1F!mQQ)D)6XMdxo^P0i?(Q6fNqCGJsjf&^b8_#)L8tY<@Wnn|7> z8VJ2F7y{^-gb3Fo2C#03O@0?R>311$@AKr9XlQ%iZYJ1Wza0UmbSSbzhttZ8* zOrpdvh|4~+$V{|U(>k{M&AAbn7B}|KMc`(Q4!KNV-RLaHt4M3E_1%IJE0E%#wrHk; ztwLA(Rx1gs(8Sd1&S2%Z_AanjF&erM!NDS@b4G0T94uOvACK@5lbSqZj4+NKE+pwR zHRzu}_>2^T-AKBtI~R-15v)>FxW^;DR0I`HLkb3bfV$qY*gwJE3|j>$%a!ZeQyJS) zp;c}SVv9QxOYn67MC!3u3zo(`o`oesm!5=F3y^joh-r(e%=ph5U(E=`;KpsO36%`{ z;(1zziYgf>VlJt&?<=JYE-&W9>?wB$Go6GDZuK81?S7wI&vrv$pB8-eB0~2zMkx$* zSG6@8q>{!_7nmwe0E|RQr$qnk9ghJ_nq1G(#<#7`Sfz}dv4qy^m7HsSNVR)A9r`KO zh@ozd*l1x~cknxfBzb@RY6<#+Y%%(R{73&@H0q97{#JXnuX6zWAZl}DB0DwHgB&Dpzyvi$Ah3~$T8l9ysxL!h>n-0`UkQdI&m709vDCvrchpR$`?_p) zB>CGK>#RBea31#(|=>bL3z%i5Ux_G)+Yk)!62z)AcWuvbt$uPmx<)O1#PsYL&(QX_% znhzm>1P~SdoP$n{;Tr@^%TGxXqoBZTO=mT5FV)Fw8t!Q!o4eS^QYya#+=r5zVMigF zD^Q}mqV6=7Sl^I(l~-vIK+ZsL9>j38&9Is3?<04ZY5(XD^X(D#vvzZmN2)(ZD=T|xeki+=G>XEnej(E;Ss|$Lsji}x zY|r~7F>j(tNBg)+FNnyVYco*Ypaf(tAr#~44^)DX#kH+@dC*3dwAH&kL?-tJVNtPN z17JDaI0~e2W7T&jQD@poX~=ARa&kC<@G+xfGtx^$9snXn-qkzas7f|ilrbCO0t46< zER0O{LC`GlSEL1|f%#*EK3a{{0UeSL$67(T4pZxgm%Yud5)$DphmcN6N#ECA-YFUL zbXZGxKsJ3$88aLhE-ZtA`A|FnFXFunh0)C)!@H}Z5bismY_oyIrgN8#q`jrlane+? z%!FV?{sNT?T;~!#7+r9;K?+N*m$0f93%SX&xd9m5J;ckA0*F4)*)rg7_@oKlTBA69 zJxzP7x(|hHJ6m%iVI59`eVh+|}^p>@BLlVcu~>9s{so2QYu* zpi=RrCfWW>v%T9ubeB$@tiX-|Nbj>qfiOeyK))`pvoVCo8L#D?{ApoTK~ZW}AIeff zTf?Vg6;G}bh*>x*WpMy?IpMScaE%=h>J0ppQgnR17oR;9YzPIx&hjPg%b=}W99l9x z3lT+DgHrnw7kL?Llk(R>f6*#~Qc-#h3dGTG!yv2?z$?;_VuXXi^}flG>n~>qQcT6O z-RjBudo(^c78;q8z$Tfwcje>O3_Qc{j&%zJ^6c4ZWk7;5PSSu>xp{Z&hRYUu_MT6b>Z%+9g*;^GPk^kNB^QfhJQ;<%M$x+N^+G?GKZ%s=C) zctwkBad_zV?J|N@57w5dN)j(JL&eWQRS#`OS+CTzG6c`VAR8s%uI;%&J#(8*Ih}bR z0k-a$aBKM=Mz+9cwnpmt(MxA0T&+qOZP3AE<@XS4U>m*jJXwKFgu*d#4%ibCYA=s{ z!xL)U%EQx72t)`%9-z|v%3O7>WG{5g=f(~MeKnhb*cDRoIqkScB$3=@8=x}yvErX} zrWx&Hr3cZjNGDem+Y|w1YdIPAU907H5ghL#udY~y2eG(3CH&Z&-*+IP*xB?C5p)~P z4N`U|-}!0>eZl*r_E;`qf{|5dwvV9)xw%rcBc2=SifZJxSbUuleICWB-@TNcp3z?0Qn_%pZS2EH=DFZ`)#$Qwv*CViZ>RS(DUMc+ z!d=~`%Tw0@$D5(HaX{SI;XFO~%+uS;+365oNk5)M1jnnO_dQgC{X&Of&JVZB1Kw|z zAY?wH{1iczHk^>`p4u2TakCN?u&c*@tmuQ_nkU%z7%0ZkJB7}75^2T3Ci?Sv+zt>F z(?vHwJPG|+*?70}#Z5yS@8dZ)&fWzaEF5gG$u`Bzv&-SRWcV}wjY5;CEZO~!KJ70L zyz=e?^fhRfktf{C;9^wPrIy)~`F5ZA?~4~(G_yyCPzO13 zK!&4el741V%M~ya)uc);4zWCjp8IDkdkzpP7`MWd0wS6xAWx z)lGE(oB+JWmxo6?@a=n75IVQ^ccDq9*qBJ=JaBqZ*KwL{On|xrY@t_A9c>OHtgT6$O>(pOCOrYw2K-`>b`_NG)988m2g9%_ zp|fh>@g6E(avG$02m))k$Vh;I|E?x~0P2vgzpCkZ3hqB@G6w!HHQA0g8&CdKO@Zux zSJPybX?6L(sAq+I5&n|-4le&4HY6<)l34rulQr)7OdCZ`fK7gW;EO4Ssj^25spdBADP6^ssY}o z4eDC)HRCJ)pNW)snym21aUTR$(Rvo&sQ%ek|5GBBTcVN?H?|h*?kPef{TOJabUT#VEG1Pb@@DCIdJ}2Fs>`*Degn+{c{z`Y zNwYImC(E4oVwD!qc4PG&?{o1+no_M32llPi4*+U{O_A;7xaXk$-402eU|qiXDd51Z zF3tu$4^k<;6%(+yYSm&>%Q>>MtxdYn7LwH9(WD@e$VO=R!_nV6ikgdmb`%|7TAE%x z3?Hx@Jz~J~6gcc-;^ZH1dNOA;4fbkYSelM^RiR0&EZZ9u^ncCVxNrWPxlI)Rb>`+$ zY383iE0g*A%x$9sKzGgO(?4czSHb&w((b$Jh{RcO@b#&*b}OgTk`<(PwuYcW({TLz zKA#0+Kd!?FS+z$j)Jq3pUuH($&+4pf74+Fzgq(4FN3~qj-vr-qch+C_qtZ$tPaQtMNb@TFP$5Elv<|ULp)4ze(&VKGUhH z%^zr#H4|A^>NaQ7X` zk6U2HGW(;xIMn!1dzI|r9%Ue=t8QR@anL>XL)MiU6MkvMJsk7+)fCunwxumo8F{RH zv7-@W#XX9`KbZjW%8F|py{b};I1rxUK*-VgCbe4Yo@I6=VnkTpfzS%W)s{U~(V3LB zhwjxbCT;4NaJ0J^rkvI|jw#!jB7C@mAG3A-1JeM9tx{REg@CpF!+Aa%q%yjrl8Qm#HWRPkNB+~omIhQmK$&Fz93#oel7p!v!yH6WGS$7UMsbO^0@((Vw!~U8dcd*JQj)D2>m@3LH-x$eu zxUD5yG$pjyCG3!9u%eq29aInPET>JG`XKw2QMBsIh61ImgGr0E54wh5XCt^i%Q~Dh z`$A>vH`bTXy+kKv9T`*S)8u~DXI*h){W`&`A?@3kAQ<&)oMsxNo1{Y2i?i>hM)7j$ zc1TI%sPO0%{pBmu)+s$5gOdr0ArNb$9ciQ8)pNvXw&Ir>;9aau^7(p>I*yQyj?n(9 zmMWCeqAjeLPk|0BQli=Lyi&+V3>fQDdDr-lQws&bisM50F%cw^+W8@65j2=;R(l%E zwH+xKRvy~pl4>NlC5cQ#+OniyJuS80z=-(5m?!f;wkphufdFqCJZ3_69yNf@>B0oUPv!16ytLUWe z@*R9jXdPPkNVzkPtz*+ed+KLdT-i0UUX!wVhrg@5Z+V=9p-J++Dr0um(`ni&z+cx; z=h^tx$0LaM&9RWom$f8r;MZVf0~r1!L(J;DS_uDKej351a$ol~PMq31bDx%wX+&iG z)Ol@iN@1vW85(b4s@^xXp8XsNSeWGkqCL7}QdfYi2d*24IYtgl#qWy8ma>1!Mfpe8 zIYVVXj4jYW0$56%V;fIfV>uA`XM%6@Y1rs$N^~p{^qFX%FGhu7h$>fh9Zve-13nQG zE6PFVL3ay+CgR5=?zZ7g_GWQF!7RjBiq$m~J0&a)O$uuM9$q^`(TGF)c zkEpMVxlF4x2z*b1f9Oq8yhgv2>ggiConU|EjDz&YH(J^x9UYLS?QWl%Iv;!VUbD6q z46vBNej=r?X$w7_yxaot3Fq8R%6xF0mPM{6J*wR#6>4=??ciJWhYktPR8$FC`yyXo zf!bC>J;KxDGHtr6Oz{7j3*?WLmGtR5)C0RC2CJVw_qY{IWZ{8O|F% z3=_JHm$G|+IM%oTW!}_P#KqwJ4K+keSJ6N&uys*{7@?DM)oXaOp+CO0Lo>%{q5**- zBrP0&Sf9ht_X>J!1NLYfWLb;=9T;SfKe&2HQfmxYyN66iXg|31{ov}ZKRXAbV(|N@ zpfk}96Wr1#WFNn6$b&_7Zr?>i&~NBvyPXxBIQfNhzeZZLikgPO=P6Az)CzdkBQkX? zIM3d0ZjX(fo?Nx>)?O@U$J8jG0-HvXY~p`w=21I`HutFVXJApV*sN~OF4KqnZ07Z& z)NGjU>0)jGDf(6{lu|w9)5C3oJp(nKav_8N%S4OJ-wPgzbBERlL$7kxE}{BmCiUvl zZ0G%((_mjw*)LZ4*8IV$OnZy!OYFPQnBy(>-&mzi*6~wSIp=?<>g-Qdsr;cToRI%g zRjXVjC(FO6YIl6SH<~jwXcgtk$?_#_VC7F$aWyI#zHs%Gu_~&3E%a}yF(_?f)S##s z{e}s_8bS3RRax!4oUusTH~glmv0ti!nEI(IsVQrQ<)5koQ29euj(}9UrN5~vIqKh4 zH7vy}5qF;=rI3*Fo2s6Y*GHk;xYrcQg-xr$o-&PM{4(gV;#wFK`F(#bz#1lgEx<$> z(AG)rGZvtSGJotH34fj1)`*ATV`|=k8K-)NGM7bfe88U4`euXr#RkE+V2&zzEwaB> zV=rXv8~LW$*BQ@C9g8y!vtU65WOlKEtG4g;Q8F#BX-Wb4)aiH(i2QxV2gn9L1YuC) zup2rj!E>hq;92~zYFJIh8$6QYKi^k*(Q*6eLAwAVqo2+=JxvQesO^o=+2YzHCh3-Gb$x4Oa(=kIeGS6% z${M&m(0VvM-HFOvS6f>+{rsYqH7d5@`1O@${qgl7<25Z!m8Wi6*g{x_njsCY{KDQ$ zW5Zb0Y2SFj|DM`s^$pwgaUIc5QFEKi@4)Ae{g+tw!@upnM!)>rf2Be2L=Wx$Ed1HE z{#p3z|6AcN<7eT|_x4xe@0|-r8&6^&eN2&O@D-UBaW=%0!E|Nnjs6nZ{6^UzyaQ{3 zv?r2}`UUViDa1C0j`Se#Z?@WK{LNN#?7!JcRQq>Z1swfhEAfT+Vc5Dn+t**Vf>(C3 z&yPU33u$8)Z`S$ER`-oRZFL>=r>!b|{@M4l7ty|Tdke`LWdR6CDM382WM?Kt>gEdO z4#d?86^EgnMCww|hdK^Ds{ipH zqDk>T{D-LIpV4al=RbtQ<^TR45`4+UQuyb8$k(L5{fF2A(P$Ngfw2Aee@GZcAa1g2 zGn4?dvd0U?|I2@fEA&bHfx$-`@@e$cBVLEGHVV|OQKZ>Sshsypa8MgjiWE8=dp}og zG+p7nM)n5)cW7gLl&6-hw~7WihrJmu&*=nWicH< z`LVk=q}-$}9KB+(yr)Z2&eoo9U*E*9S_!n9w5%SlHLKEnXha8{p zv+1{W4F(hiAr5VUan*wCAoXG>h*8tAb~WwZ${sZi%x`1a`%Kxx}qnR+Jt%+E)Hc{u^m zRCbyN23`z^ZGqJ_J!@Wr%a3JDHm3q0bhC>j1^+}Z4smf(Ow2s4rRb|zF83-~HQ(jy zeIDR^JO%)3$q>va=}|o+EogCdT`!D!`& zp}%!QZ?A) zG@4!BMD}G%h|~bDVQi48LU7d6`>ek<8mMZChtJVpMTlMtw4{*cF^6T6hTbMYUy#c4 zqrM)RD+p2I=S~my=P*=G3(fbVMo>3i)1;_<<%MPAp~EjMyN8{F8jQi+e!%K}?(8&n6YLIraXfzn3h&(|>M*f!d|=sJ(x zQ&kP!A8+|kSR0!&kntYEwIS9De7Rt9>j)nxEX|MnctyAkL37p>rSYh$^)=+(+pdG} z*{I!a>v;r_I(XH(S>NNWQq7xG%$>+7)LPSzTioh?K7V%~PR`b%awKAHl93sGLOhNX zG!V-ea=Sg>@doD5WgLP6Q-Xqg7*qjrPDBr@j>aA-3;NPP*M7hgGJ9jVz{TEB=7r^` z=la3)oRG0r_F&9QIf>G(1Gw3o{J9&!_kHX z{Q{{_4?DtG3HliK#%vWH%f`Yri=ANL=d?-m8xo+&SgTKr(w)%Euj7l=$-f?7^dS7u z8Txg5K@pPnm)i^dQ~m$r>4g|t)W4iwydLi69AKp%t%rXsc;2wi60?n|S;qnnln#D^ z!NY|gY?_I9YECDEsV6Z<+rt7`={R7z4*SzPr7QXd;QPE>=w`ah) z>uT6>cZGO%seVX}MrpLzt|Y01Q)y_)D0Pd6o#nGWT&|rT;(ZY5Q?t;`nPUegEj{JL z2u_x;wmdqDTJ#oe1Gre5sR%Un^jV(G_aEeLpvbNK|Q+w zft`;8*{yxw_ABJ*C$B8twBd0-=Ptcg+_5}dn$bf9(kUn8Sa1VyPk}=)hHB_@y>ooj zewqW=R^E0DxJp*_+j>FLemNYCA*VK36pc>uF& z&4>mR2m_`FWQ{n*7Y0LV!$a`jAo`?3lBAo1t`Y!Wq!Sj4PoGDCoAxtu%yMuwOf;^S zA#eBIgWYhlC;;dBcp4@f3>r}m#}QObzUZj%+uh@W4lQwsRs=_zuN-g*M9!qP4f+>j zhym1>ACDdI>(+PIKXZ@>`I2Y|`!0#c=zuEHR+$nnI?0P7@{5$Aj5^$|Tk~3{h~>l1 z4`WkVL!9cYJo}UKyp($=z4xw!_8@L+lygpu5%BBdS7RB{8U;4U?yNn57$(Bv38RWiox`IVDFoIxk2Embns4y_eJn*;>0`~8*JOsEV$65GwRCGX z+v&+49|2j3P}d6GcQN|HU+i83Tn#pZgcm4%>iwiPG_z{Ud;)nEST?s&@ES07ZBN6l3-?fQrMi`!j$# z{%Zhr|0{r+x`2bda`$-raQ1YOxoCUH&?ke`q=Mc*_e3QAh8)qbzH-(+qSMJPQb7l6-wbxE|_T0%w5ER?=AgoutTeKxE%9?PpUWtEx zC7JGaEHRC~zRu$q-&5NspbtEKVof%--0QZ>DjS9TlyFEeq4p&)i{hUn#JOxU>d@v($~)Z?SjcErgN_h>_^8vbH{uU>X|GYKrr*4EPN-BTue$#RBGQr3!2? znqotfDx+e<2<&i)^{dv4WB4}_LjOsPvSz_ve0M!Z#6k04xfjrbL5{|puPU$VfW zn%7g{<%d)B`BJBJ9IHdmUQ*JI4QLBDV54 z2YLGIFf+S)!_57@(23^OC03svb{})5pj3g)8itshFrTKDx#bSpleFer&zcD87B`6? zvCW9Q7H$ix`JmY{&gkH2qIdnR*H=o(vRhi4H3{|#wI}trKi>DBDO!2E5)zj+5um7- zFE;zjjD0UHYISLqHW+}##J&oisRGgc>=wEp;Uw#qAZwz^EjWh|Mmn2!)fItUUQdIn zLG{-$Zxn|3yIUGtv8%GeO|@n*>?{73BNV4H8oJXN)s@WiPRy?2qnchyF6H5bHnImA4l`f%;*Z?%;RDkY6YwLq-$bI7b<&t3PBQtlH;H9{Yr@+wCCI;Ir9 z0eiz6eEw9u`mK$z1T98=6OApzOM_&6rWg;72`PfVG#sDd083TlL`!uw{#-Jsi$k^7 zhQIm)+Ldh4kT&T7LYhKC1L`y0x^r=BkTrEsFN5-|tT77pPMVZzLo7ce){azl#j#29 zfl%Q#YdoAkCmjDtFQ9Y*y|~e!^WIC?f~@dJtpVyG`^%=k_V*WskjtMo8-ZKxa<@_G zcqlGAIF-n$3M&mo&2i`bfm7nLvt>OB7+10>#oCRVfOrnWV%t1%g?3COw+LtDR~vWo zui?)$v*>WEObER`@kjWVM=W%%vc+~%foY(nv>tWx+w-ew(IvQ|_NdYyA_mKlJ&sGr z?>C4N%27)v){%h)E#&FWJDWfXADg{l>NQkhsj#rUZo&K0uowC)N~omj2bXV5iZ2){ z;am6yr9m!6r@?1{9k0)~P6W#|pXS}ri`TRwV=7I(BdxC{7u321S z8~LC>mUtMh?MTMfAfdh@42BJdI~Yp)ND^Zi)JiXhTj)Ae8H9^6JL>N00Sv%PVyox6 z&t7U8XBcNJbnrDm$TJ4puSOvr_ARwXuwq#zSDD*lOm=GffFBl*VjQ(?s8a1q*7^$k zQ#CuW>asj{DPvrdBC8S_dVlTKZ3SCY$(3p6SL>TDHft3%VTPM!Or-!Bz0BS55uPw* z@>ClzT3ZUWLzTPDG!}$u*Om2wWl43Mm%X08YA#01vy7IZe6(0z5vh5Z<`5)lxRIyj z6nYjNPIWatQKVRs8VR-4@1s!$2L7dNwL5*i3bouE`0y+m1_svdflHs~qkg6ll2H7) z?Z4Qi;ZPc@34GMxIvh?v9)agk9fetOH<7+xFrmhR5I^l6bGY8AOwj0sT(Y*hg5&}_deaLZX~HrPoDE9|T~jMe z7mB{GdLxr&Vai{rO87>rf9WE5e-Pb6tOn@!Yap8Si)!srcDdx&Un>jAFp;Nch{IZo z#*M`kU5&_#u2qt^SBb6F%;$pWnSZzSNy?yL%I76XTZ?1%Z{;?Ei+oS)VAB?+1_p0A zefy|6F>@)WTOT&igY78Zqs*mGG~)Y2_c#4e+XruOU1{uZWMVykEs^LA&W68`su3@c zC}KRU2+jJtAY}fTVrOAh*X^!hPxJgJuASx-K^-Pr()*EOy{llD@5rVyR2T289;~m= zH|zTK>#^5*i#l?+9Pp~$%++_zM&j!v# zN@~6m+H7$3qDg55KtHM^nRJjs@57L9#f~m76LVQCN5rGhX0knOr(~jy#tVUS^Cn99 zu~VGCty>JZDkY>ova_aBf%N}?6R041NvEP&fz&MHwNkv-dzxlT6Cd3Q0Qs)zai+?` zsp_OyRelb_P5;>q`S!%-BhsT9xa;`ulOiCN5*4K9I(@_ZKVu@Oo=^zh83k!ebb9q0 z{BMgambqxR1meNJnq%Fq*oqA50<_9oifIq+y2EOr$raMrLhqy*6P6w-KHAwrOdtMx zhnV}%{GLkyX?nGd&bPUjz2Y97X4TM@-1j}4z4ccLCTAT^`2){*+D1mK(1!$kB-y3| z+U3->+I{c!f|`%ipY_McXVBe+V!~R^bCQj*J-$vT9hsZl4R&a3rN2DGgv5%6?l+QP zqMr&ET0YW1y~5|S@DXY_VsHT%p+CB*%;n8*cE%=Xp-x3DAHMdb3vsc|4Lux9U ze=$CWcJdTRU8#wE8Zb+(9mVjrnBZ7f`2k?+3H_fT14v%gwPP7?rrial^g+C>*F~<_ zXWKZ9EFQ)_%RUtmx4~UZzmNRiQ=czKdR)kD982m1&f@0se9rtPF25&pw+_r!!HUSY z*G536`<3F7TrI+_rq{_-00Z4E&1oBchjLmN*Eo`^7)^wld~9pOJIw8UW}gT{j6=E- zUXfy+QIkkryxwaqx~6_~7f{faL`|j6 z7$0O%H)=iaT^j`>mHK8_R5&@}+9dh;E!@p4y;TQ5fRfm%N=g z3l!0lz~o`|@t>~%+gsUvYKP%%-6)9z$BB=rN!p7xX-)WcHo#9pt_Q`i*`LVHr7hIU zb&EoEa%zi_E~Svfe2U$;3?{MhIE@rh90VBIi_Vr^Jay+2afDkeM|E~Of`pRYcJc87 z+!wnGs~vi4z8N1&W8l&|sR8H=A&IKPpHjvvas_eTi0T;_RfMwG_k5hBs`OKJ<%mx* z_C`raoU=@ulxS|eZnK-~7BB(spViI?4>c2FHJHB0 z7-7EKxChMoRs=xGRaym1v*R3RZQV)v@*`}PVlp1rnTK$)9d|Ax(j|xCRbovaf4UB| z4u@R1Dx(K`h}={&MeN6a=2P-JG_pD)j@6Lp&8)gJN1vKIeN?%~E%*58ta)KP->@wu zV#OPx7Gl*;t`2*v@cF5n9n5^5N910i^(8|bZo3`Oav(i5leB~U^b4WeYYN!t*be@b z{qli4j|ri;wkub(sbO!TM;<&zD->HE!iG0(SNZz{35)%ulwscF}85r3oOTAgj60NWGy9EbF4M!_n^oeZ%KcrPwofn+fQz%#Q^W3+>Y3D!tnix zbSgmRXW>9fB+}!9Xq`1h0@C*pIBTi#V4+;yI*7kVM!E^jFJ!kM6ci{v+H0v%u;ajQ zj-T$uv2yh)*JYMLh<-lTuDB(x%z)JIU#jN?%U~iOUg?wsKGM)y!8qj{fL?O zn*rY*E^Sx#FU+Lq7$xSW7_CekQnyUsUm|UbOCP+p&7IME*+(Kblje|q)pH4Z-a?XzWVzp?Pxy#H|WTtO`o zCKEu`-H6R^NR^eg)lt$f!rD;fKanZuvRys?+}z5o7&<-HI^dcoBwcEMt~i6n{`rbe z*|uO!!bqEnz>RKH9!b5i^yLv(wwgO?Z0IvmMZH6017zkk5se7WDJov+oXTBn*v?9^hLkmU9$*r5JnAyV#yBVP zuL69;-)|g2wZ%ctHr4s?t*Rmsm>!GIkmM0d(2OOh#kNS+QlEV3z6fP z(&95hHov?GN_xr0Rm-lk&zFd@c?33`;V+>}yH8idY4}lSVBkiGsp$)aKQC4~uiIls zlRqT1IMWSo&?Z}1+}|%%1!Ddo^_c#gK@^->s`xA6Vjic|HKCU3eS!g)(Qr0<&{m(Q zKS3Q~5}f~4ua#Ru)GM|*nr-SOU4;WmY@xca^P6^w1gg_}3Qp-xNBc@hW_+d96hY&h z>Vw2K)*vgQ-MoBa?6-#~W+eYK=2_ypXt+$|Y9p)O7$`x*B4xLf1dwk>yb!VN1;7sV zz9hJVJ>^K_O!Zp|+!ZK9m~Bk1b@G&yO9H36vjU0M>-r0$eF!%1`GsLyHzFBNBtomx zQ#p7Z>F7#J2H4V;9-OzT=4kSKBpvo6Z!%FtE~d)|LuFLP+)Fb0UD^buqHN9Ut;t4rfrD&^IG$`yYY!PS80hBg}Ii8jV;zd zO}C6%>4}@jL-d)B+TEJi*@72QBbX8sWS}m|ZT#us7&lUD(@s^Ukp(?R{uRu7< z$Lr^m*a;6VRn!mE=S8yh2u?ZYYPAM-x`#!`-p63xF>^~(j_F8d%w;_DodTPu3{}>j zwb1%dZDw%+nLH02>03-U;WejU$>ZD-&E*)%lrwxz*};Az?z8t0&EU{FJ5H-~+!}&8 z>DfBcQyxhI341iNj1izuY}s>MyQKG2QoA^^{nUZlmJ>f{?=+j?IE7+Nwl-n!e09pT zxKTJQ;tCOB!5*?QB3T^6r*plar9cwynz-Si7MBzdEIr3pr-5E*_XVM-uW|3YTVMq` z3daX-2PfJ7y`U`DiG86H=7@}Kk0Nr;%0gYn_;NpHr#+y@MFYyQRlqi5lHBEeozQL< z7o2TAV%f{J*GCNuZeU1P&)mwR;m@oZ1r46<9SLjUU!fIvO0m@RE0`p`^xfYx=YREM zqxQOzjYv)R8;ov|`5(j;Pm->Q{?x6ce3b!yn#(SdpCCc?LJ|7JV;{%-1#t`X zzNC1TvuB9Rt?s905o@Av_Nb@HJLH?#s0w4)XmL9&ezs1r@?A^EUA0>Lcy1O}Z3iuk{h_)-Kzz(ny zxZF6rnl6tO*_RutWM1`&|pxcdhQM!NNt$&+hkS|IZn8Y<@CM#B&3fE$*u`!MDek02FN>h}Y6- zrr*;|`SPi&A77H6TZ@^X@5_ymuZ-`S%edUQ;NPK&Ijhb8|Dg&od6qCi07;@1{{i$c zJhNm5lKb4t;t-+#ZWooK;ke_TJpw@S&R?=ya1>kUK$Ga*+c&-A?BC(?y@G&%6K-fV zj1i&qym73dsi3q?v;$L;6yZYV)b#Gon$mUOj`LM`hu~g%EQ8uAh`#Ns@#`J0*W^3* z!`XZ5ed{AUcHgJqjaO#Bi}#n^1)g`m_w(dcG~te$d7_{W@v-@5rqE%=2aRSEO!q~j z!%WuA%$~3h4LA2hfgJ_W*xvN7uPP5-dn4zHaNr>npRaZ@AJ*Y54x=Mwt!o3?FNOxL%VaVi+arYK=X5QZnB8*&*@I4`Q?2g*o; z$3&uD?dp%YD7(CYXLP8N^Z1Sws3wYrfEO5lVrLHO^$TDti5N5;>jE`?jy!RcAXgE( zmx5*QVb$%W#3P}gV|$|QV~u-1fv{3RzB5VzQk%u)2G1Fp4e%@zOlBSvY!KCO%KbJAK9722{jT0$vdcYd9 zQ-q*5hFt*%65qj4AyC)-Q`Z%;pwzj?Piowx-7f=nLgh7gnezKr^y5|9dmj#^V^B?4 zBn&&{hZ|I!4^@O&Lu+QDYET?}6`CJkj7V4qUf=z%y|DWxIzA&2ANGmZW zit+A)2)xXyW9hn|?7n(j%2`ZavjW+ww`b&EnPOcyc0X4K`0H>30c|n-+8m44(n>Kx z2Q)E1gU&+b=KIdcG}lkn91D(%Nv|SDQ;EW0$J(lIm~;<<;C?h;67jE9I)Zc5J{8_i z_mLiRt%z02d{C#6acw^itlB@TkJIsEdx7zdPPB??7L9esr(7A}UlFa~8d%GmLa|?U z(|)?mUJ3!8*zoZxni6RqOeSH+1+%eq1=_Ih)^~mF(dvoJrU>n_H)>j2wWaS60McFh zv6}}W(*cp-XH;&s<~vE{dmq47cEW#pd~bAy)%CvMjfL%>XmksDUZu5n8fpt_1Uc?1 zj)J_D;MzI?#?xvzRI2AvO1|HLn>=Fpyuels+?z&RrDYF|g^rXfZzV z77|2T^d{|E8BL1I_@qTO<1^`x{?qs*{sK{SOHq)SZaDy8McW}nZv&h19lhu$xxUn ztiD$JGu|^&EdB;`XH;h}hlNNHl`i;_(oQHDPn+eWF;CV5iqjJ`+(c2v>(5-TT1Q>I z9j~(nb8YEI!Z23UKR9eo7?z-T)DX>|fefzxvy(*-;_eMrI_F(J*j}Bh0?#;|iR3gK ze)e!65JMPWp_Hbk?~}GU-66TlLDm%Y!1)2V(-Exy)=w6KGKn~(#EpTjSt^S)9o6KB z*>hz9T3VKT7X6ktp=B4CYOR410m&U}HS$GZ1AH{vmbBuUQmT(2!dK;B{8VfTS8(y>Hpb zal)CHw-mr?8)tLvlF&LM6z|qM6d&@N>5oT9e&t#tI2s%hU=JP;>!z?+t!pRX7 zuGoT~;-X&9cAXR|0!K$_1?9|XRdzMPy!7<;gtbkLtimzg=$azyKi=MW+g=gKdZEFB z?6G-&5S%GBODLVU<)kSD(8`A4MiPd~HO^LSN3mKa#bHm4mYdCd>5jP>E&(o02-X1) z)`Q*N`lgr78xY9Q?h`G|?7^wQq<$rSS6GU~E;%vv*Qjul3?$;8TID-UIOOk~4Ef!E z7~8!_Y@K#`QK;OExvuVau08c^oTDD&&~}^JH@glE7;a^XjQqLSg8@F5JF6-TfQJ@Y zpBZLJctwdAq&~Jg`Y3Y5x2rr!A|-xdE~qA51~{nWKWWb71tx^@^G=?YZs?*i)H>po znMN>VQ%_jxrcc7gKgK6XD!nFFh@8@C6!rA|h*r``kqLV6X}r8KO?7UPeQ^Ikt|=_aYr%S%iDjCt!x)$yJQZ+*39&XBO8w{*YX!l^0Dcb2Z$#wdDl3!9+Zp$AWX zWBw3MQ^L>1NZ6ct(h#`o>{GQ>Ydy99O+~2&%z3D+xep<75ip%A<*Hki$RW;h{{$)B zVL&dMrSM)_aLcUD4X+kOiRK~FU9Q83p{EmXooUtBft}%|XEgt67msN@qjpd16tVOyPdp|l6DY3&9Xo|1MUPUcnD@UABv!Xd1d|NdQvFn^Oe zI6TeomgJszELOF@P;|tHk&r(u;M%1xLVwYUg7`2H-Hj%eMFQy{_?riG zMEN{fnE56AIk$tMJfXE_N^pDRu?=4}lKV@BW1__`hw+bu4Qq@|J|kD>G0SC1 zTkcyF#h4v}YU`7*v65|iMKph~Ltwww3zzwv&#E7@h@A_3{@w{)l zy?8$vmx_?B!CK-C@OZo6eLAOeA(d1mmBa{fq`MX4u9__(btw)7(QNgWP^~7`|7{yEvvFf z9p!>~4s+#riokM}GaYtQzzjttv-sawZ*C)0k1?ZfT*Qdm8IE);mwI;@%_Mvw3~M|n zkg;xs;TaE{R2COP@r)1$6~f??2-<+dqQ(nsfbD{V3a0dWj_};Eag1M@am;D>SebcT z6J`e)H$aZ)6_Z|m&t_&2;KG7nyT+3Oc*qz8xY$Z&;9oJO;C~IK#$-)o$9}wU;Tb%a zq8uDvT^{6jSQ#%VqOFrI#*2|bc~qCvope)C6ScVFS5J=eHW|I{gGOCbp?p! zNr1@hPP7L3C8$KJ=c=Gmx?P?fV40ZAfa|D~3v6H3W}*N$uki9o6BGGF=j&8Xkg=}s zut#)}GPPq}ohC?*v)zXm;!A?~v8FYr(NGe3!TW^9PUpml$_#Grt)&Vi#Kp z*$+z7KWEs8H=r%?P+zEA#Kkk>6wQoZ>c$43VAzo*Giooh;%XKDV$M@@zRny{O18@h z7EQ|^-GF&sbMv8#SVey4rNZ@;uyVHYIBg3uIzjTGiK zKi3mv&dG-^viN?q6363~n-87+dA14gZfC~;{7)hXRNt%Rz89e@9DT%C9hbfmTuXiL zwx)h0lC9Z$f1npU&wN+B_M3Sja)}<;0xk7UDNfo7MnuuK(Br_0|_J7T&09?8TJAAuuBm7DYvp-&0bXhOIE;@;IGv=$J2*F zlv1?@C%V`E%omiJSsp8?M7r{v-~O2RceImwqWSF0A|f&T^(qgXodUs(iCcjs z#hXJGBqc^ku>6Pf$>qQ}Y`;{S6KBl6<(=sT*Zc@ULGefI@21QTG;b?h&kN>0GAkkS zEr7Qj_%YLc&(;R=@h~Gh4x)3EF&-e_crwa!z~#mE+-sq%u!RdRQS}5g`*xbHB zy?2cl4UGt*h~c-T(gvwi}6V%%AQ@kl$BZMw>qWrl));>!gwna$Mt>4Zl%=N z$WDIEX0DPRFSw;Og@NYQ#j)jea;g->JHBHp4nEp%8`!a>OaSpi;y7=1lm3|h$g7NN z*ifxA9yi~S<$B{uQLA+sH&5=magX_J-orS3j#;+KiswQ510_j4qPM!@kcS^KN&nG| ztnD;&awN@+S!YcRvHo+E*T+#|dkvCB*3?Jk@x<%5y!P{(NK=WM(_y>qUYDSaCimpQ z-&&R0maVDs{hohX({33VLs(zGpW>F)RR0O-e#{l5$SO3e#S7Xn^n9!nuGCEZL02r( zAbQ@^e5hwd?j=4<=joncJZ@gs3*cy)!Q1=wnD)psCGV25;jzev`K{Wl_6m+@WsC-+ z`jOhMf6-ix`JCyG=^{}@iA+r65F>V-tH=Tq*kT8Y&5A*cVf~4)YU+G1j z!J1#@(++PXIpJ@Ru5)n8XMdg6 zMm7Q#c%K-gU!W1YH!Ht7xIWV8iE|ezx5l?#%!$Ac0dtN&xU!rb_p6U{VN0)A3+R5S z<1aKz->ki=BwCtXKP9yEBQE_ZO@;zHpW(?GS0;qB3!4BEi*drbZT@T zX$zU)DoLkq9u>B)C5Q@1T@@Zb2&dll^2<+?XZho**w2qQ++?u(2fVD+8d8OrGnAH7_^=9KJd&{CFwEuQhTQ!!%q^k zgiVuQPc`X>0KJKR7lJai!c%nEiHy^|S8CJ1WaB1%IvTe~WOVCz+WFt&Ezp$XcGdwo z;E}TN;*1Y6EPm%TmiJKLk@e>t%c_U`teuqH*FO-VJ! zO=RDr<{_}?Oxh6p-i7JK+slUDZzNb9l9t!nqz~HH0DT)M>vd$vfJ-)3PdF+3@{PhH zTWad|BvByr=vw8&$wcwEBXXr!$(=A;^KO-$fX>=jU4Oec=lS(8qcw4r&%`YGF$|(A zOV*!qxK|Us4n#xH{_eqqfCt4QECiy(V)vNV1~NS7JZ9|Bk)u?{1a+bOQ>x+XyBAZo zxhBpOfQG@nWa9GnA9I0px_vUsFJ_>vP-U0SK|oM}12chIMJ2X}7sGx7c(~p5#|f@% zm3nJ2mI)|_@?AqE1C(OCmbvZ2>%XU2!nLM4$O2Rz$qLvUt-K1mO3WGyMz@M3f)Dv% z#R4Y(Q(oO+%;+rCKAt)GQJ~)kguK;O!%}RloIcIiaYH#T!g0aI)9X%jx1Xd}JB$P# z$!e>PVi}C)avky2iL#|xQa*vIC{7ClVr~0W7_SMMP4oX~G%eBKO-#}YUJp*)jR0~C zsfsfWkc+*ie`#F$e4K~)D1S>%3aqit`>aTzNl0>kcoKiwBwz@)4Y-!6);+;w zv@3SClC64fds6Z^?*X&~2_6pHm$!)=< zUX1OLC2n-1a*J19nT5*f2K@p2Jfp&n<24Z(?_0x-N2c*WSE<2pUMUJq9j(*ZMS61D zGwqZeF=|bl*H(gW-sSV!f_Cws;YXAVCa`rPsD`?&aUVqAi1_p(vW;l~+7MX6dut+) zgA>WQW(IDekXpYf%a5;t4 z>_YmA6~NuD`{f-#@s(mxfgIk+q{#>*3-EY6z4n%BY)Uqk2I)kWQ~H>o8G!Nuz;RcZ zYI?zzsUu+}4+%#IHfV^K6vbIa$wMN=SUG`CLZS}7dX_7IHQ?5#_QeoQ{Z6Kuq;6_= z)SH87NLc`kQH2Dtm@PvETPJ`p&u}O#5SApqL)K0_Nsui~fkN}ax4;`Xumc># zx?nvJnNQ9QdqLvSq)2IaF|Wd5u&X2FrATQgFd22c$HP_b0<=``7&@2zXl5NmBx%CY zJ?7-(hmeo;CbHwuKV{hkH^s=O5+@sr)C-)AchIzj1363vWu&wOlZ{IX_w7fHEaK47 z!ED0~7Eu(<$AlD`rM+OGJc*oH7(&S|Fd}(2yb|LOVAHoqNh#fx^-p+RBe`4)=WLEl zb=Z+6`6B6yw53l9nd(edK|MYrI6^y~$GW|H;aX6kYb44KK`)!PJXK57BauHVCr&y5OR>1k;b!356Yv0Th zXvKmFW(ALE6RvD1_{0GB=>1p;bdGZz90#$yNssN6SDPT@W0g(Dy_Qrtd307Q9W(uz zw~=c1NK%%Nu@vJEQa@0Vu$mZ{1}UaA$rnK`pmsP4iy@vmkc}p#_NnAxbg43}M>!ww z?1M~o315rcm2go(J|kv>^=zE7%#a**4_+YAGQ)$` zfl;MytTn-X#V;Y3dMwx@zTs_gbnA=`@wyyjoyb$MH(ezj4}=*Xlv%#eQ9AKmyg`VtZpqzq;s`Wt;mqZV*ct?7U32j)TLSny1>F>HqEskXTmo#sd!ei&`n3Kp{gjR zwESI|D+P4$tvI`pQHq2d$&CY+P2LF(6Ig%_zFBK3tuhQA44wnG!qbVu)i=%Kj3wF# z?#_=_`KN>4&h*6>eUNSiWTS~_S;D>+1R1q zjbCT%NqW=-0Oo_|{cgpqLnl6su#QRv(v`aM%U8PK2al|yY15lcKThG@cU+-_yEv?g zf{ui{0r>GQV$@&^%Gb%?OGJj@*A(D%6zqmnV$Od~Kt1uS5GM~#ZK-?sbwD)kdanlCLnN-IF*{^>`QId0p>o`!V!JORC)lhwQZ zfK6h(<9Ka0ip5UQqgH_@@hE9GAZg_8Hk=Afr{wYkKF)Sw-w=}oqGeYltFJqyY_$&h zz-SU6UmoaG2dD)K(mL-!jF_}k5Lkhm{sdp_^3|K6NExV2nbxS?6?)kx(>#Nz$I^y3 zNA3A^#s&vYWU8SvU+-Mme!ptVR0D5N+YP??;;#`8UddT<6KGG{bw7Foo~v1bn^_%N z8a2yJ0?|u!w$>HmYQ4wCpbRBP4!ncF6l1ibwGLd>eA>De5P&~5+4wD*qI)=n{fv>Z zBNlmybwm#LndXZ)m=E4B<7=h> zs?S~%?BJ>ounZa!M3uy|0IMKxJUFAYS+A{SH#}0AK-bQZ*xs5onb{c*3XgJk_d=n5 zK#NJm^NUgL*mB+utiZ5&{!*qvVpYYWX1=h}t**i#{y!IqB(M1|4!#m4*?7DC09m>e zyV9`P%0|X9aFfDnh_{ zb?GtXs(SL{OpH=Qx4Y_A%!lJxdildArYDX(O?bN4psjXyXYMRV2MXY9O(-biUQoN{ zxJV41js;kyjX#Dxjet3$A(@(oJ%%Tn*!|e>7PXX?V(fv>Wy~9d+tzazSb8u@#+%&K!Ig4m>L-Fu?>@c=Ywr#p z$PhinTez(JOhdSoq$Im0NunK&5KTa`!b;yHWxlRttCR=ZILu`tH3cj+w|_$p=7fZO z&7Qk9@h84{F}{HpdBBey<2+?}?}u(LFRT|?BkK|GJuTKz zP_R3eAF0~(qo7pDzEl5Vhf#@w%KJ3;Nr4?Eo>YVE`|Kx$@c%gDK!2U8WZx~wtv(jw zK}%V+ivR2avBO|cYyJiPCs=Ck-xatN?YHG$B;~(=c)4ovpT+;06aEXh7yXxf_LD-f z@xLo}n0T81;Z`O4E;NV-UHq5A`M>!b0{-UnAG1ovzh*_j{}XP3`unN|EA7fQe>#P4 z8TupD8UKT!Pi73Y1ts{-2p^jd41 z9R?$@6z#XgXYjvHR;hd-!n`qwm>ChH^O>?sEEjPHlJ~oS&JO)aODuF^-p5omDx0O@D_rvn?$$bx#082o$ziUjokCBm`-#o>qq59Mf zUKAD>Ef=Q?<8JRQEhV7G0PLM#rC4k;|JeW$0%e(cRN{0 zn2IwUzC`dX`dVI*#+{qO$%AL)+?sBgwtkxuMFOJS3Hq5Or`sC`tU;*e^$_~z*@XHA3E)XMHfZN z_PeewNFmS5*(?}k-(^l(=MW;+N#jX>!^tZ(V>95CX?5Ojq2zsY=Y7zacVwPKcgvx6 zl~UG!sLq_U9yZ~tLk(s*#+6+d&ta?2u>Km}mPK@R-${u*X?W7n`VOh@9x&sFAhhV7 zaK|hgk76cGPjYCkw^TVa%g&|d2jW=pLl(tkaT~wq6=up|2P+=qjv^L$mT;{M4Q&)x zUcywvS2;e;3=7z{{(Q}5i!@mD6h|EURln`7NRx(qVk7WF&gRZz8`ga!{=kMGGTXV$ zeASwaIkeA%a!`k^U6`N>lirXyX=#`MJm4cJ`bySy8>uGkc?4MGjAeq+88=Tc7v7nA zcGkyf%AB;^W+zc5<@l(AE!rNEIr$4h?(v1d!g(`v@OBh;XEtJhzq> zlnzy4ia#<~nD9OpNO~Swagn9%Un!TMME$w+4EFGsn4-{mHvDGBzKJe#r$6*vPqKN* z%$6^*{v-ib;+V=r( zeuz(W-^<X7Uyr?vP)2JS#4Hk5yxfW7@x;3-VK z=xnT|K`5qcAdG*T!1bw&h|7R3-za0QG=|UfOJ?Y>@nEI{gKY6J*NWI6kRz(xhx2mE z8hVi8X!?Yft%}q~*TRrrjR?->1XtHXqCT3eX`1AqG;`8si$>JiLWnoWoIU{_Cz2mR z`;FygX5G`_?UVd{yOW-EbB!SX68`p#JW)}Fh#>4a#%E`686f^w%b*1d1tYy_N_nCH@_*dYKMnsc;j`^?|dvX!j`QKLh9t{ zD`+lDBl13VN7lnZDmlZ&eh9KzXxs&tJ^#^YQrpVwDehW+d{(W+u%cR%t4t}+ zrM`u+@qCP@Ise4mY%<<>AoA5t_~7)d!odp3d}1^g1qt>gp40R=tC3FnsBog)}*i6RDu$5l=z=^_dq83&1+7n5&1NW_D&k6%e zkfn0=CyIU}b7WutOx+Oh{xxPDT0ZngC7ac2x1x(*z&x^fNJy=!n;uzji&R>qs&q>e zg`~mpx0?Q`Z&Gv4I-qCTkWKx|8chXrTt>@F$$W~pb3ek$pl`w%vDUYR#D_1xETxc; zh8^^U)EABzn3-;9;e%k!SU6rP$E7nYln=Z_nNbM7V7WuDbkrCQ*}JvLT9%}CM-9LK zQl~#4wn%nw1%!Kj+)k|ix^d`x)-~fg6*X1qEv+hpAGD8VQ-O*{+iwA@y6N^+rN)2x zbED6%AubT@ih#*b?qiZl;H3_?H*Gt2Q$OXM&iv8Zmz5~9^zySy81CfgX9z-;L2@<4 z+Vd5|7t`b`#H#j9W-ep+1qY&ukCDb$o2GjIDi;u4i(m#PCXjYdQ z)%UbfUz+m8S&bUCFf(PXOIo{4>t$x=(A*Z_lY8P6M*!vx#8GsHi4VQ`xZdgF)88BX zW2W1^KrJ$Pvsl~-_`0n`mqU)3N*7p|JwEfab_*9z(FO+G`g9kP%ZF{~aI_|OfA}$t zh8?LinYb~eHt@;_BA{dGB$9jaSED*^m9I3?UkACOI9qR}ExN12$3fb**~#6M5o9Ce zojN(pAtW~3zidp)8#9-eCK1}Da&=Us2!hN<23*C|qr1Fcq|q3oB5cJ*B22;xleWMF z58ne$9b;EzY)t*Y?u2Vm{zGBX5v7`KozS}9KeP^4c?^3NTr$|7%qa5!DyuJlv48ge zt?ERlHzA8Sn>sXXNskAU{NX*(vgU4Nm84)%$-kVVX9mZ1Wvi@4kK+ewSO@HyGIxlF z{3DC<0Y~-w&JPI@1gA!WN~`UbeVTJJ$2lb)ZaU_xCBkgw55^g5j2j^Lb# zi}BX=8m9vWv9=f(ie2K-!g~+x$>*hFy$&g^d7X%E=; zR@1yp8Vq(Z;G%LS5c+4bs>L5{Q}P8|H8A(E1^rf?kL;>{+NXsml0Jzw*`}~t!y^*Y zMwCf(CT|A()xe0aw`+`#Mi~+NE@%-K?sN{cF{O1UETHefxL(Wr3CY1`A0h6o(Sy13DZtL?UcDW?Tbv_?au2`n%~WV6>}6Hw1YJ(Dg1<# zEJv~`_ITFm4;5PjE?p@^Gt^l$pYgi{)-%P@nCv|zX&oDp1R+CcqsF`LQ!$mR*RsR$ z>Ar0d9o%*sB$qgQh?}0Zy55>8vwr4;(u9NlwcYN~IxoK`?+goZhM)Jz!}E=k`$mUQ z9#J+uzT*pqu+G(XzaW#y^gC5Tq}X0H@dNObs)eIX31HyA6QvZHRjK+r0mR zRJ3nlnh^B}-E^s_IGGE&HasyuE~o?ii{GQm@kdX@D>X3Ex_(nVbJ;Vl>_Rg{^8yqC z>o_6E!5CK|!Vdr=TcI2)P4}Fd$h_raSzO1A3jidVLGdF8KJ*69BEM3kg#x}5Wvs1i zK}qlE5pwH7pC`TI0?((+@ck`8TiqBx@m{~LoQGlMENJfQ`o|onWK0ivWdioKA^a5V z9j1i{a{tk0r8zQgF4QOzz60s(BZi_xKZ^^OdG$)n0h7SLT$odHBp@AU7dkBBgh zk>7RT*mASIZGV!bER`&g@aer`FZs;z3|bcI7w{Fd?~s`h*Sd#~lO}J5Y{Etjub18O zHdAt;j76LDhPUj)7+o3q5TN;D%LH!{k|aFQjyHYyBB>fpd~9<1ACb6hSvurSQ@<&7 zI!o!?%w%mQ76v#l0p#C~J}Qt&Eps>;e2Cxm8=lOKDL%QrCvW76WttMB26wKhW?GpG zvfN^A)v+(iqDW}yEe&Gb$?VtPnIs-)Ee&G3$t^7bIFx1(sy6uYETK2nasEmrP6D%F z1T10+mn8C9CipHT{)y&$eqwD@7Pcf%jHA-Q66SE;N=8fH0%dd?E+Fg_n!8$ZukAv5 z$vuT}x?RVo@3REUbW3>slkctPm3v@_GXop4^g*6A2)kf_vM{1B z2>~k`T2xPJSAEi@*qUE?bx}fu8gK<&HMj3nP<4Cjrx2e_En4Gf>tULoX6)uaMV($OS5sjMNxm#$kJ0(w?d-6^56l0^?EOB;DBAhMM$jDO^pRb)T9i+$OK8js zU&>S2#<;pdv@6bq-5+iCM|-|3y|@Wx`+Ha^V-w?jTJw4KIQCy=ULD zibC{A$6B1={P4==I-Ih`VDE8n!qL?uy79{9dYs@s@ygZ)3P?J4A+ZceUtLbF4lhv= zAD}F{e~7=qs>5xf##ez{FE%#@)*&KxFJo9t^kMG5ca1VX^YDAAUwLwrOw)5X^?EO={-q@Jm)qc`pwcCZda_{YWhI>K#Smu&n zV0s>_mO*^_r9vYv@bKp>#4}S2=}Fi{s6$6j>%|@yuk6y`&mr4*SmX(4C7;nh7I;Xb zHXh0wD9Njk*JkU?e>ZsuwT~F&aEn9UM!GZaJY+mP!_x+6ebYQk>2pfkT*iM8Wu|x# zb(u36#=clRt*F1R`K;>37uZ_A3yHW+49_tU8#FrH?QooU!l(68s9w|gkUk%NV=u-k zzGE%8bO&E{^3@XoGEgnuWfNhEx0{2an$BPb(lc^h(9f;!2t?7}-*o?kS2e{`c5oUq zibI>m>x+at4n8JLI$7E!|q0pKtYy75#Z$v|D6<34A!@_|X>MC>qv)viLt9 z-oihFp*LE#wc%@09gO2lwA03D=5Ub=q`JY4p-KoBlos%%ahm0=%ftepUUEjxuCMzX ze+kxLNKB-0O4keu7VF3F(;2)H`fkP8#7iC2N5L;)=n9&<nQ!tz32I?K)VRQ4WpY*bzKZi?XyVAv>E;p6YKP;TI zpm9r&7xI?Dlkb+5wB+y2I#q?;WCgiIJ!s0Z(wj=iSk^QbY2u)D!*yVIvhIZn<3?nE zj(-|Y4xSj)|4YDX`Z`jQpg4{M8Vc{+r$iqO<>kVWf!$d*ro}nu!yTb!Fhc{?)4KGN zNA_F_a?1~uOEXX1qhw0)D#E)TKz9)tC?>qx!+bvEN8bUz0=ypmOWq6!-@dIe91VTL zuWHndbb^IalOiQ0#uo?3#rc21iHGAWEI|zZkz#)faW29-ce*)nJP7sP{5X{SJRm1< zqA-!p+Seowb`O1`(~;!(Og_vUYz61@nqOF(u~(NpsGHuw`RW*w$~D8dU*;UWkb@sn z@E0atS<(aFAf)r!u|PlPT7)l6npPnjaTh>e;{?gjkJqiBR;L(RTJSt@n>?h-@5sR; zZ>fqL^v+T(=#}o{Ys8q?1q}<8E4a<+$g$7-rd9Q5IQKg<9aB}a&kVOs2-yi4d&BA% zJq7(3hc-9-{+w>?1C@#unrVJ`Dn4t96^2s`gXkrLlx6q8nu(q@Nh_xEjomolLTKh76SbHvmG8Sh2G=#@xX`xbX zM;HN(#}9RQ;Npx(jg=T-AG|G25GRS#>mq9q9>AybWJyK*z+L%i68}xn?u{-_Uu<>d zB*vNX-k(22$9>d>Bm(;l(&Wc!25D@uvrb41|vaG#vvb z_fE6B)vRJ7c^lw2zM73^??94@l>(yfI-HUzV zh#Wp&&yci%CDM3zOMXwMUAr+p1;jO8>aR<=~q6 z1mEBjJzm28^QktW77;ER&pIlk_|3toQt9xc&*#nz&GKtI9|e?_WA)S0zp==%#2{|pfoGBXsjM-q#As-K~bURl{#8b})3lFVz2DsLPv4Izgw?pfaoSSA1 zj7{_H9)krwJyLxLn85P|!%xJqH6)PVDaYf5`cl91gJOS@7)B4=#vx6dR(q2A5Kz8B zJlEAqq#)=umPb_Z{p-AUo(W~M!it)B@X7}#_fzeET6jz94^21;2T)lnshR%s}_Lv$qa|{S(fE^3@XON z{AxeA)R|NtUm&ncDLF{%*B^xuEv_fvKhnm z;YHFTj(42tfP<^IGQ?!vABMCMDH~ttG zFq}|E065wS3qr{Dv|(YX?g>u66uQdDL$C>;SIKnTigmZ72ur{TXvSWXq|F_3;X(3is4S&M6s8JHkgQ#I57_*+O7UCXe zw#*giHT`!Lg2rBOQ6jmXT0bslz9Kme@uG&zyl6S8`?jOA$a39rewC@!NPaY>t>7Lm zLFc$+jPOBXcVzMHtNF*j($&uAD4fZL9x zL#p!Q-R7!(@r2{n{Svoz)*QZwI;!twaN?=m&nz;jWnRW_yX$B&Io z?aLxSt|E=Pugp9J@wl<6sRh^2>uilU%ohD z%7hyz7*J7r3sQ)V&s9kwlIt<LNi9^YPc>K`4$MS~t8(*y&|D&DDgc zCG+t>NkVv|!?471qbKo1(zJMi<^HaCX<>`Y7*|^O;87Np2IAe}F@zrsBTom0a?wY% z$>*VYnb@8b0NrW7cc#7_MC;aDR=|fWfD{)+bcf#_yNA^Qe_iBwToTFIPU|G{*|YAB zeUEmI3QF~%Rx_NNL{Ip?s@-umMuj& zR_KNM466#+h0O-oNKxV)(iq6fP*?b12$mFIa4M_G{M|`wQ4UE?(Ha?DUEM#lEJu$E z@L~}^AUH*j^B_@W+YVNq_ry{bKX_`69@#*lwSGm4doku?(;xAo;;9$$F0TXW+@a$3 zrDe{&S~#NNCgw8j;P>QYCKe*GZO8M?c?!M@9lZR4!CgiV9@%h)!F8DY{hDS#hSDxH z1xJ>%-zE-@Q$8pcMYGF)y!F>)d4x)xwyARFY06r%A#3)@c%(?R!Xd1JM?*EL4cyhp z0L7OXh@rJ&$*oC#m#!3CH(^ukE~#Ert6apcMydxzMZ4$#cmuhE*XSy#4@xq|dw^}l z;&MnI_`QiafoALYj`f{H5t<{Dv6&bOZ~$l0l= zP0lb$pF3!!Gx+{^+ZiH?RT-6q!COs@!_;~zvNOeu)EKm-5+&+JHP$?Te@=3!_BCkI z`SN13#8l&x-PZ(*$Rra6zET^_Q{!@1aZX~7oo`V3*Cd3F$fZ_fuT zd1_#)9JKJ2jyRaGuZW_mFp2Ds_OUXO$W1scQm~+m{9(>u2b>1sIV+Q_km!exX=v+VR6eP=E z1l!;OQ4;9ORLU1o ztSOv%)sx?%_U`w}Cfyktb(yA19Ov#d`*tk%sweBU?t%Q8OC0CHEcw1CoH#I%rEA!~GV+)jF_?GL2hR8OOa5qOj?P$gRHPg*A(N`IpMR z9i_VBNvf@N(1tRJTUY$IL`pvnYrb1~sCs06sd_}mr3rVmv1x)m5FSc;)*6Hcqa7Cj zE?#xVE3F;3BfV%1LMl{0(5ujn3&7N>y4yI@jtdYUREJP*jfRL2*{B3t_qEtohhS-& zaMSrd?o7fT|7HW%fKYB9bopKA#J-(1y6ovdp>fdDp&Pea-+}A%s{5@aS8Hi2o4WV= zI1PV;tLaEDyh%6LeAv-{=UfT>@Pz&oMxc{}YEaR`WQ9l4Ccd2+Ezd&9jvxY4O5SaL(ZP;V5H&oWsiTG9AoY_Z znVrEh&Q8n3xn9D%ZtY6R4f1o3sb`|M%}3$9L>-Qnrys88?b5yCnXB~qv9`xY_}owU zihXEt+Yn5GdtLd zVdP~AGFRQcIF17XBUBrtMlwi8ZQuwrsPr}ONJCO!(M-~q>d#5F5;`-po-L7s$eNTB zHItw+lwG=xWvhjJz$N3~5?WO(M(hE>#bWC2};@74x3Bx@<)QdH~2 zorVv!vyw5dqvx%)W&(Z*5TNO^In!H#bZacx3aU(GqCr0_xu5jBdQyw-GVHUwCdD`t z?0s=T_$&uWF#=3(N|$Wz}PP$h37go*dt50$g}gTXJRBS8`f?p}SNFK~ddJ zx@ALPI;WR1JW%j-Pb>qakPed>zs;-;vQa%RJa-EjTTEw}@GMg8OUM(nA7N<`t)2X% zFg*VXxo2QZANSNh;eA5NY-zuT4Bu4i_)kz(jh>rZE8^5uXKnJrtZ|qd0DlufY^VeE zFpDm}j+~3Z(V3gpeC!^Imr_8SX*vuaT~5}#RQ2+{1nWr8St+Y0o7dcp*#@~LK7U(W z28o~i&0gRY62AsB2htbEl@W(eam>+tD4ppkL$`B7QrMqpoVbFND(aY5Ks|z_YOK?a zJFlja7%hk%3Xgj*DUk4L<_kj<+{kI}(^P)X=fx|wDgr*v%02}bdG){o-4_Qll}vn= z>4moWL$pM5)6ZW=JMK?vahJ`k&LlX~5 z+8~XTka1~Yn3|)IaV_`{)B|4Qsy^LkGZ^sF%8;8#dS3Y}{NUZ2dI4kZE*$#53ucMH zh4w>E|Hj!Uk0FsPEeQ|3()RsQdLn;3M_cw{u#L|0@(~o;cd+F#B-SAew^=6nH$yf3 zKLGibyug&t-%rLo-cxKx`gDb(NN#^vk9IyFV;NK!o^B{V2GBmUBbQSna25?w8?tE0 zt3_}>KR3Xp{Qzu(jvcud2fD*+E`w_rMyhy>ngCbh+Vo&sQ*YknZC^<;ao8Bh80XA>EQ;;i~-v?}P2VPtg@m5hMY%F=l_hvk%_ z=IBn$%Sa^~(HfhP1k16`8iahJ?^+*~7@BPPC+Y1$3Qj2q_>9~5TpPfch#{I2ul|=6 zO2>vA?Bn)L>lq_0dSdt9)(%v=_a5iboCh%9qk0?hQ3q`nDP_;2QF0K^g@YGzTO}yU znW$*3i%%)RubE6_WuD!SXbfT3M8=(n3hLV|^1JZ85ldXOa3)Q(4_dsiR%x901abN^ zE_12R`gFMCje&y^W~9U8vFu|nLGTe%0CX1tax2#^)hy{ag15zSlEFHzdMo}Wel7k^ ztn7~X^IjF6ldXoLZz@RaZQtQlSyiFzLZm6JBpF?pyV?+Rk&)7DvrRMs5hC};fL--% zQw%Me80702ej1QBla8*-sPeNcvx`X~TWWr>M<~ADWChrC=Q`n^)V3%qJHTlAF7L&g ztBoUFzJ`1;oAo)LDzR+lU2^-1s)luYXT3kh8p)t;M@^J;rbgUZ{n$%ZO`F&WiAeb! zfULcGy0PXSAMWpQcx<+ZnXUvoq zr=;M&$A@Xg|3K9naA=+m90SYxUEH`=9!(t08&^%{XmY}=Gnzsdo4nTcC#^+d(V@Gs z=6pii|5Z~}v*YlKxVAMwbeKd1qpH24g3Gva-M}hMA=1zTJXQgkA3FcNI3n|m3Ks}y zz5}D?2`y~ksZcVJiq?&ZH?&;>;w}0@X7>1UGj_hO#49jS;)oLkVtW4RnDRy!u|FJk zESHAk6i<{;w@vZXhi#6o^KYVcVRYQxv-juiP$i(wG_O}JyJK*)4NW0in(UgU&7H|J z8Z2H`D?roGSfSJNyd=$sifG=zPxN_=ZwH0aW{0-CXbB`%s zSediMz*f&m5u4{!sJCB22@LRp#Qz|+*>8q&PK|^uGH1cSWSo9<8iJ}C5~st5Eumgt zV7IC$($t2R#kX9d>2E@As_~LbgUZGcEQ`hBTa#21HXU?f*Gd$wRW6uh(8()TPPcw* zt4bzbrJ!|BgG&38gh>%BJ{3GcY{QSCua1Oh7%U3$3$~me5IWC~)7&}&&I6gmQMyBk zi-%}R>I=ul0p~A=BHS77|JzV*G;AnVI57jHjJQ!*D7;@l>RMR~OX}}=8hK2uq`+-( z5J@>UhcVWM6yoXZ+hr|FJ_DWtWwUB|ua-jPFi1?u@ri+nJ0~Vu9Vh>4m*V{!$+E_V z8)wctfG8xoPC`RPem1z?7QX<*HI3%1={T)d&dp`3*}h#wjso7~rtpE(e`|iBJG`b| zDAlh;X+fw`{TTb4Iiwl5&DL579(x$1Gl$Cio#ar6C>qTIdf!xNcal}X$6TBp157wT zApfqn7_wa&vjjvICXD@zi?421uQU)xta(7oC z79|%l-38nc$SbIlTmqZSoD(nx4Bli@6$_L~^*U(#)Wy&rkCcC+ zu(~tg$Zij=`Eun=Gzqd&nCWOYv>`qKiMERGc6p*#(y75rlA%{IntQWvt&a8s@0qWF zb_Xy;LmO~oYxqj6-(#QY!)gGATR@;+4}7uV)ZKp8v5{#haiUZsX1KHAgh+=YUSl1- z1`@ZfFG)TbYar+0aLT3wH3Z0Jxj&8&u4C&5go6ulbEBEwv&D+9>!(?V5JB#lC^K9< zfmTCbuOiy^JTN^$KgSVSk-1YgbBSwOKzOtHYYG=Ukk=H!zT|4`o~xfgLC@%@E@JY| z_207=Ha1|Qt|xW+nmhcS`UAn51<#UrB7idV0LEqccGpV5X{CvjqpPW@Fa zn`u{5P&lZ^qM5`(;qZ9rMnub9n=j56OQ1M@E5-^Um)RSvEB)G@jYPSeIh*OktEc;n z5z{$M`?NLsp_>PbzsN0Yei^UdIsKq-yXU3a=IB z0Gh>AV?XBsv`3d3ti@zN*y~Cc`X~Pf0l$V;)COKC=?Kky0Zqe(=eUnruxJLOBl%2} zj3e>AM}>F*)2=*8-+rws{DzyCO1C6IV;Y)9$nu^@rD&^juOxe8&w|?bv3WFs8h;TY zL}X*n!o;?%$lxDxkagIG4EsOFU=|3(Wufr|?E?MVYQFcmke41oZTCo=)NF9p<&>+k zT(q5O(Y8k9evAGSD|g*Z^8G=MC&0fcl!j_b;iSI-<^7mHXh}z|ELyDhjwlSCST?^% z|B5Og$e(dG_$wgPoSqQS^d$U9OsSQmB-iB~Hx;zuJxSC6pgCq0>MvP3IL19M$|bL>=G9Cp4Md7n4*F(4|gtb;NXs{E)rd83?v`u!- z0+ycjQW1WX#7#7_F#z{r%B44- zb$wqYUtWFrWbOj|-a&XH`73)PNGn7D&(E{fvP15-W_XZ6{#Ozo<$%3Sjqz-ktnTD? zC&9x358vR3*1=`9Nmc+iFE20e&F=T?f6jF?0v3V++%_E9aZP>L7B{b(!?O(1SFel~ zb**Zu0^i>|hbN1aCIq;53{0)a!0fMfq__{Zxa9ALGnIR6-zfvW8!Qj^eLop4o3}EF z5RYVNMkIlwuerm66$NF+uZuFp5wlb8pUCU=Dzog@d2x^1CX=%(NV{*OL$h1ifz$AnUNjs53{5npr zxX8A~`QHm;J}f)&i^QxYZsHJMED@RHUxx0XQyls~s}O4=8tJ zuecH_PaMAIben-lY`1A3HyT;q)%76lCOW(NLiABdW9SK)e89rxYsQsOQHVke4~N}v zT#>b|z~@Fwm?P^*KYD|b#0gxBaNjhMZDn2m`Nb6uql>KzOPe}Z8gGdrvwyM{oEGO{ zjDb7fRy2mV3!g;e1KEBeSpGcN{t7M8c{1U9l<(=`B|%Mrzx5)T*yIFfBmAagcq2&n z7@lqK_Q9P{EN>ki1S@_0QqeMI=?Y~{33oOT>Goc%=NvWfe){6!BT`Zh9hbpRdtyW= z_>Q$N4_rUSnxnbtT1qL$cek1D|2(;6PJC&V+e}>KXvP&|+>A2cpq_TGq5QCIJ=)LH z_AiCju^SY?G&8L7Ex7al{aXj$Zd4M|+8JAeIy+DgX;>|ox9X`Ud)V7%TL=e_*5;;= z^M|ns^2*G)f*yu*BUr`tu-aZw@p0NVustR9KFCp! zEWIdizEeq^)QuZ=bAeElmx4@$=G5Y;^izUg)5?T1$F0CXU3eG zeHqZ#TU1p&=HnF>kcs}v?p;nJ@84mGOskM7|i)^A`)V+ed>08-nPU? zySOaqBr0_ij!|OuGyBLGn4a6qUljLD^0mHQEN$&lR(Hkc_)VFAe{V1diD2gcQCNX> zDF-?h&%s=lnNAbOqp$KX%79K5PpqOlnjPvg5j-idGilV4~(D4Q}Op-?hlR+ z4IWHg|I7=0x3VD2nv5RnbG0}(TAA6?{_RG3b##KW{AOjpMU^i%Lr!n9ZjzW;ZAlsE z-nc^s5JSoxOoh%{=1=0>^S0J31{4%dfAE&78A!+7CEx;i#$jkf0A!FR(f?zu@4<5 zff|-h3l-NgF^dhA+$rxlr@#4&Xm9RUoyd?0_>q0uqG&N;skW1!%;+m{opAL;(p%$vH|q4+_~agA+h|Hg4d%x9N`Idor?Yb&)o@) z=-@M%o{6Jg*XPz{0wynVyT{lV)@}&)daJ!mvBjh8Ee1Z6^J-Cl%)iXa4^k#4}0BJUY`Q?{2mP#N} z1ik~dPw1Z~**gsHt76+$MM2Dtjj~ZGg^V{HP3^UozSwu&{zeD+>oN})T-t9fp{a^4 zTpE?GtKupB9K^|cNv7510BeKJP#ev=1)`UpM_T>}SBRhD7B~Tx%4H4|wT}oRh}bZ> zCDgyel<#jGxhehj<^Djk3r+FwgWNFF?o}70t(yi@b7d!n%*h#0v3l5hh1Cd>!&tCk zrdZ2|VB;Ap-@>4ERV!fXba7%`_3mI8*K{+U5>HmGmV_v@@(kKeMy#205dQL*p&EPR z5+2Y+%pn7x!Dkl??9(AC1z7-0(O>@QorQuFVlJk#XVrC^v@GIwUes}yApHh!?rF+w zt{}>oy7!COzd1}DWx$gII6bB*zp5^oTRh zLvK8!5lTM-d)+UrZUr0sP((E3B{3)DuPgV?%SE6rA~x-d3sxz|$Qk&@lCeFl{m^cn zn=|VQ*b66dtVTT$6X@6de+h*xZyttM0}-5@qmHgBG6C9->Kl=z6rRvFY=-GNVkZd=`80A;sk8i4yNBG`X=`% zZ|213O}UFGsY}7Tr-}k%V%i+^D+X0uErY>v zVZO+aVW~3Pf{?OI1sB1Xsa1HF|F~e6b@6(7uaukOk}QdXtH3m)e{y1+6ITx(-{PJx zsCLL?@VRPcou>(0wFEiR!1+0*m%hdvb8$kQvfSa&PRbX6#DV#-i(G(ch7wkV^UJ0~ zM157Q5tB=pN!a=vOF9GO^pJU9F0C0!K$tBKk%6Azb1>U;k63gTbeqQ;cqTdI7BDJe zt{=D{Xa6J1BGNjAe!3%t=HyMtBSf5Gvs5g^sL!^W7&QRCyNpF?-e-cdG0dLyL(zTW zqU}Q-Mn93<6<;Dchc$1JNB;0sP~_r@OjM1sMda(4SX8adxpmsI z{jkZ$n+{q@w1b>N$s)t31*cFTN-iEufQS3Ob(9O@G$paNLI^l#Y1)eOVgv+6Sm!~XK=r%Yll?(b5 zcS_8>xKT(a=x>V9g-UswJ#FOxe$A*tJ#I7t{h9Sw1;( zW*sQ!CZNp7eINHdvF4_^{*S0Q^T0;}?Ohw37bYd{M4U2<0smW$T6y0S-e+rBZN7`K ztnCMJm{!QwsM>tj8`4yaqIwl5#VIR5b-9ss%9tA$OE0U!uF@KaLm~ZHgLs-Y{Qnu8 zAm#o?aKbKdjAaCHk4wyjdgbT{w!at))*w8MnFSh15+N;xRzo_0)sYUP$y)%%PlkoI zNLir%-GnD$ZIahM-Sh8T796qKix`6mqWF%i?RgdT^;n5m93E$ECVyGVP)0GApyqHY z{;E>oJ(0UmHOE$29XM~SuDAB%ETZnyRnzs5+u`okMC5joyY8Gs^{YSk#m-xw$%V2S z3`x}#MR}#?T|}akrCI5Ob?O0TuD~nbbIC?PZ=c@GW}UpIO;kvd)$hs=!y@pEa7gaJ z%01>~QyBNI{14(akoq6-I+F9~no5qM+d<=3EHgqyA53U6DcKD6yw^+ZZh8g+^_lrg|G4n`OkKtr5W;R&t(;oQv5?vzbEN+nN9m+;mR}vxOr==5B)Nk;lT=!m8MS`OD}r@K zWl@$xL3;y>jFCU)hi7g5_VI!HEp#@?5T`6@(S!3!HrG-rF3 zPPH=SjJSSNNC5U$tfhPkg8^~dwx)fOj&)8{K)kA9vjAuARK4_S%mwv{28hv(F&m-b z1H_XDYLt=n-~t1=2CPw|?y?U5*l^CQ$1}`FKY@>JiE(0cN!%lMenuM^LT9J0coQR* zfcDA|D@)oh$5IH5f&H?onJWOi}9* zj!(!HrPd^BmF_}Q?X(EyEiya9tK(m^MB~G-*c-)|s@bo(OEaik=JH#&yxpC=3(2r${Ws%lMIR=>E$Dsi1`xhp;+Vu9QEDt!x zp+D`B1-YR|C?tiu5eXzEniKWcktiVG=%vV_wk-+$9ZD`feOb*I4PN%=!ilADrVv;J z4z|32uOhEd;{IqIKFuoBm}YB9Doxf`djb6-eYibhu}~zGKkS!Mhmunmt7bidUjD&= z9&Cn(dVY+F{%pnZmn-ucufZ0L1B2!K5Yg`bB-P7O`xh7zpG61zQO7HzkI=B@N33uE zD(>VPfSJ}Ao(CQ!;MEARl9i=jacK#s!k)d6l1779#!NONjc6loDTNZtXY~M<-4Gy1d^^uYSL|WPOeIx7%dgBBEz3JHYAuFg<2ma`~OTvboHL`WZ8~R&np{9X+p3@eb^R zcKS6NCorcB=b#P}kp;v-23DwP#H7XVSl8w2>o?|iH`7B<&A;0?+be}G{6*w?)wDxv zXm->VHuC&KLu05r*`zDE=G*Rnp)M6IUX_BZU~ob$V)X6eRz}Ord={zwlrNOBM>*iZ zh^N1Iju&B85?Xv@dB7(TA^MVii2E=5wZXCE;2Al`vbbVjOD;$Xn`iKF#XVN#IYMfs z{U3X)S={&l?pcp z?N7RF>KxY_4dNEb5KR;VQ*Im?j!cQ!eJa!^EDolxO?G{zD1#^f3mUDB*IR7=`=>1& zvr2|XG0A*^=1D4t5*_dg_{C;aPvBCA6QJ+Ygu==(q25WzP=~ox0>!!@ksYKq$VlHW zzfLpmmjzNg5_2}~-EHjaUf3-ffVq*YV2BJLe~{NZdt_-jQ7#>jfh8<;^Pi_Odu^84da-w}^L^}2Wy71^T+@@P@w3_YzixbD*seKK z<{aD+WzU+auqwO28ZbpP3Xl!Br% zHg9-YKbEebd~>)L&wBm;Rgf2H+1-+|*&4 zKXrhr6cJOU&d?B)5k>s3VO4n3!tzH8C5~==UuXBcbe)2_R34g-pJ{bNbqswXX%XHzKsx)=5H_MrS zhc>De#7gSnP!lsM07gK$zbuU~@DnqtegqD^#;=_-ru*Rp2UaBGWL~kgxWIr9>CpXc z%APl-*87=BA1CX7K>3m5DM?qHY390W7ENove!tfSHmWX)TVE3sZH?bhNTd{Z$t0@# z=LKOg6Pvpe zdIAt@#T2DEorbDTqO!V$WO2ZK1}XjYtcTiZjV_XiL5({~DuzJzVA> zs7RGPPTjLA55GihY55%ar;C=2Xib$_m%Z+G9&DI;_-sPJYEOlD+H~nVnS)UZUU3kV zoag9Fi;*cweN;OE<9Bo9rd=td_l?KKV>$+$)b{Q54Y+R4ZMO4i*X1m)`pwVxnkb8i z@mpRX>0TUnHUaoeMZZ`_!k*%m!^9XVCUU2A+7c2-#fk#+%{L|?C> z4toHifH8xJO0!;$>4culZxH=M3-vSpY`~+;gBG4`N()8_vz$d6hyLwe!k|Z5 z)R6z{9&*KmrEpWKTUq(Oi1vziI4omh3=Kuz*cJ4&ir#eL-%)kcB_|fW_*(z+Pw4Hi zCZ3;0=XH5*H^@gp!lhK^!Nv2&6j^JKdnW)^vF``h-r`;FOct)`%`m5RvFN;ODCbau zrkT9BGL`3;?p%FsIDe8whl!1|rTy2iVSmklmCJ-uwn~OY+OW~|@=l{>Mh5GK4@zeU{Nj= z0_V^Eo$RXQ%aPU;S(+k~qLfNTD6y$iVptES4h->Vu&%+** z6`exNf!~mReN#c&c{gDru}klj!YqtM+o8_V2C3gIJGh%&Lm}~PPCHPhSCW!1BK$pP z+lGpdb4(8P_G4mWi)rvxbB}%yobVzX=!EjhM$954a#S26Ewbx7&JSzI9hk@ z5Vr9GC|s*(gZsNE9p=d@CxBNX5I!b@r#O`Bn{ z3u(4%|8L^#mxCi%7Atyw1E?Zq+3U!n8za^jr;tkhr_{>#r-Who-a(_J+Qf?H|7Ol? z-M76kjIb4uRFU(NjWb-`toe-7TM5SDtD8`Wr`@ zN>t`0f&^dN0nZK{fe63q(@Z8}*g9ji1BShAn_GpwA%hOfb#XXl5}lSeFOY%_KbJkC zt{Rxc=LoNDd?I)+-)toHC)^-^1D4a?DjHz?j^m~IX16O0`5c=Ohl^u}?UahvL~t?uFZS!u!J8t2v&BeN8J*&bvA1YEil+GUiRK@GrVx-ts zmiD>TNZ_L=n~hLca{ir#+)(a*w=;Of15Kbt7hg%Bl)uXk-ze2n2Mi}0!upt~&fx#ehrBqE0KFvaxeZFsk5@&~sBZW)j=GJ7RoOZ10hMC?FKGl3Q%bUUDewi@*0$eo9@BmfU#qWRX6-U#F$RT41E z7nV1NKorASg!B$L#QbGeMw>1%pNYt3+a-qu+2{t}x|J4g>%lRX*!L34aX1yVne(nk zHK`C&mUQzKaM`2hv)|sx!B@uGHyH7Gn8`js4B_=M3`QW8wFO%r_*m_w&`sZBuvnFPkha*>>{1yz-;>PTcuie*q6SHo`&aW#7372duz- zIW%qN;z-_u=c#MSu~ALt#H~Z?2MB`ARQ_KGS`v9KJSBZtt`D=?iCebr%spIQR2dzu zUg7FNJKqro->9w@=CJun*T)I8tVLDtFlc3#^5o_1WyTGtu(`#>XWWP;Ux_xG&Gym6 zQ$RIUW>2XtMv0E{mcI~VUsq-y_8qyQ&xl!-)`<}yL3E$CcolvL2wRQtJp!?ICf%gf zc5-r(aw;uHq3Q~y-lP#?W>4qAsAjg~hSo$QqO%E`K{z#lRVCm$I=HF})Hp%jtX>2hgt&aS??(ON$JC9ExAct0(usF3$KUk>tvPYTmieAhHgFlSR0(?-D~0 za6mqY$!~)f{5c!m_OK#ochYgV#V3h2;WB$yHGt`@M>Vqfz@Y1?H&*F3;8m-}>%4q1 z)9G3u99*?Vco_M3 z#b2VTAB(lPe*6|?!*>zuME3AJb>H7uZ#;qtgfH`VURZX5$BOUiqkfOBJOqv3Hz2-` z<_~c}Pj-fDEG_Rm>goFjF7=Q@6YtI33roxAN%y4Og#*Qtllde6G>J-66DJvs`OnqU z$JB{oi>|f*jc&Vshr@9k0KT+gm}!Rh*mTVFiJNXWZQ@K!cRRJhG?T-*ak{%sOrAb% zy5q#@zW6@R_xI1=@p@k6xxF~N-Yu(6YQcEk%Hh&w=v+leBm{0Rk)ecJ{&YD6niwFo zg@WA-$Jd*1AN@88VdT+UD$R6h@UueLDSCGV1k8r1I1Vytg=Q*4i!NDJSppkT?Y7Tp zqrBbDSOeujudiRhir2a1?>)UKB)ONP?ZTMLFaY~o={Y-Lg8KHXGk7X;kCOK73M&vI z$5&DJdQXw;tk9MhoL~0{nwxI&tB8tt<&4x(ZISxf2CUwEJccTRMsys9b(IQ#NWfMl;>e}3D|0w@+)X>eLo1E zzz{X$*J|U!ywb+0U2_@bH6FRHy!krI$RwW*crWG78t@;R;FZeW(Kam0hE=7r(#8;4 zddhtrdD6=z!u9wA(#R()e0)KzV@SG*HiQZjkM5Fgf~q}G-YdLKQ!1C`xmRXOEByM@ zzLNZY;9}b|syOT!J&>&T2fVjxdf;1t#mLu5nNN!z$x_fFupg0tYrhvp(N%3MeBvlF ztH1oQ%XI?T%y)(`)OLdmo$G?A;Q2=o76^(C1#U+g?)%3ud*&L{kL7hpu{F5nLm}*0 zrg2U@IF924FGn7o_PrB_l-U4b(BGNf+vSB(s`ozCDQ!dTdJgh$L{=}DCw|a89{Ha5 zC|7ohP+viF!Opl@>%6Ka8E+qi`Vub8g2dtTiab{$8LvfCz20Z=EJCx>Cu`dIYLtq2 zL&OWVn9l%nim!|1fM3>pBlBV=3(7YmjxO`CAJD&-IFG<`Uv*U}^bRREP zRM%r%7T36ypw%)_Kmcnoo*G1x5Px3v9wYHO4X!=a#8sx;yH(_;lE%c#^KdF@`b^Hw z@nptInm&n1;c;8sqA`n5j_`y0u4lhh(#N7(v^NHJqw?Sw#Rn9>x;+S0%kO`CH~eD} zbJ!jb$#@;79llA&Lm?3NgBkJdsWe2^s>C&7gKecZwZ`(S%8(jIJ$U6Y+YSGHnMAKVu=PW7zd z{#%b~$A2!QtS~DFK$ZVNa3E@N-XY#W9uU)g*HU~JL)xP z9i%;`4J=vZc1neI6}CHdz^N}u?TnV8_o4ej?aMTH!em^ zL}vKcIa?~NJtDNG>^&5`n(gV{rJ^MJ-TwI@w-#2UCeS>*cA39A4&&X23mEz>SwnTP z1E=UcXt?oe{d)k+Ik>cHG~%_%3w_#g5!QDUE;3(0Rex+#6TIv~_hdU9jug+1vDKFZ zaXL!w9CUkxs<*LGv$TI_{DcW}{>#963;rR!QV1eFH(VqSPlFR5GQtEJ_Ln?EpONa^ z6SZyeo~<9)bv64JO!k4L~6v^aENc{Tk z-v@uXzJ^zkj)!@DIGv1mdr;2^TC2=lu9|g}b{k_y0Wl+wn))6w!-uY(0S>$7h7QtL zeRR~a-%Zcg1bhRdO7FHp^os8OGv6ToFdKY*692v)DHkbc^H&J271TlTwRTRw0Mm(K3;t{#zN9Xa-b+Qg2uF=m60CXYa@-fOVd*wOMn= zN4rAr2quIDAJFwuAgnUWTG^(7W zxFEHa4-wzpn2dJ!Uj>5x8B=^)q*4>>>Wrj_MtU z0JA8R$z7k)<3b`w&q2ri*L<0(9Y5;#T-nR}b?LG#3{zI`Uu3PZeG1Ed$0<=?wD;o) zSig8r;P9DIvux3xKoG*LS0Sw2dhrv@$FOqV0b{MZ?&TP-?dp8kr66&t^?XE7;M(ZK z5yn==QF<`k<1udX%;9sNwen(I5I3_QX@C-%>m+TWTYiV8d#E_uIgUa0W9!Z&jEt4< zqvrx=<9&;!p5UQ;UCDg6t(-%ef;L4oV&M*i&hUCf>`6INEq_5fB8p-$?gSUlDO zYZ5v_tD@D`4E(ov>Jgpv&2eMUyXHOrrUwblz>tG%4*u|5d^^n9>U73CGk63Wdm_J4 zOGk$57$a~>l=zM`jCGxE&uv7Tj1k07His>uyJOGw4^6Vt@Q%l+CkL*htTR^`kke%~ zYBD=($gf`lW8I5Taxbf2w``o!;@e##@-9ZW`9ZrIN-_ZgRpZj3siS$`V^&R__Xi(f zyT9(0w!{XFJ-BP87*+`|$&&aOw|j8I0?TGdn_w?!?tdHfC1t0BxT!mtHgivA^S_e8 zH$>zH-;2N}3A6v!itdH_ry2gF(=sz7IeoJzY#67Jv#xYgnOkc;O65}SC9{XEr6bD@ zH}PGmrmM@!Nfj>G+Q*lPr=LgE4*UULnEJ+7mR<-gLF4vC&Um(UF0};{B+X1Q<4TiL=S0)bGh_43+XC9IV_s9&6LS* zXW3OQJaTRRT!vA_09`IhiUR14X$CFiFU&9NE=+el_$7W_ffiCSgC<>>jSePVnxrI; z(16cx^aTaCG;P>Y+nq!t(mXjb_J3|MT|gmfXRxHxQ~&R&;==iv4%Z{Q^mCa%9U~Od zXiSDa8<1XUJg4(Xj@VBFPX?x_vMDmy@ESL$e~ymfQuxC#WSki?(QRls9H(7wxa{ar zkyb87TE5r3JnWxbx~`X4Ve;5$yZAo~*RrR;bZMp36%l@QRjln%t;&uJ54p-5+&4!h zUO&Ex{6l$+>^Wx=;+5;xH^&nRcHbpU^KkK1pR+k(S;CjsM0Qd-I~+PR^~;hSzzU z3bv%!r61HS3nbLl+(2)Xyc;xyb7P%KVu|K1=o%9n-%G!kQ(l`^iT~lx-&~FB;|NG0hq2BWHc{nCAIb*%ks~^8Te8VzThN zUff9q@KwswJ^Jou^P}vEjazEIi!m{-itejq)Zt8`G82;?fO8A`3bwYU}viL6L!Ye98iexd0o7!wfZRhp>-zR&ZF?4%>qmj z*efy9T*zB^Ggo6`CyZ*9BUb}qVjmPz@TA~oBLxo9M04FWNCGXpi}Qg3m4NN+{y0!lj6WXyT+ zgBfvYT`4rT-SOX3H;7$@$C*O@t7B&M^__U}5%M}{u`D??gOSuOQHpkITDzdO3oD4T z@HYw^*8TuoyEw~0<%n4|zUGC)txL?T)Hhl3BL4BF^*du;33gNkJUx@-rM1=^FbA<$ z+%3EKzOF=8{eE#K$=)FNBdGXXVDb06l`byg$y2Ro@RgaLZ8DU*jpLcI*t>_zPWm*E zq_(C5a>2WhUERyB1$BNp#OIci*)M;$E;y4Yb^7N2=37j7K%_D8ZyNU-gPSDs(Squ`yDjkAB#4#OD5^kEa3B3GOxq@o6gsKEi1H*I&`I0!+EWEKt`|; zfoE^HgKApQTZj-)N}Mm}k|~N^z{yxPza&aDZMlo*Sp|J!P4}%?i0Q1isY^$>N=f-( zx#pel#TtgFmy9uvueh1*Vl5zvh27#FU*YvlD(~xgU-_JElH!J7zn=6IjMWO1u{P0y z)D0pc-dlCHfC1J;1IFRa+~H6+I*VNKOR*opJTV#Pb5HNgj^t%In}@GHN$i7Uz1@cM zNmh1*(yqZr+5tWQA;kmd&t>kSFG#taSHElvhf}BK=WnuMO)2}KQa*I22m3Q0zt1Z1 ztL|R`5w92DUG1OfWX^#?;zl<+cF8F!kV)g8DZ{5D86_ZT<*XD)+>1}fpgYuS=p1Ty zp^fwzgISWsFGp@)lXn`rorK%*>8gabBZ|Q9Iq^MdvP`Z=lS__mfkE8~m0C|`lj|HY z+#b>&9SktHLO|P#EnQwtitrH2yn}DNnp~!7qr4aQ1gVuRnWE8qv?PO*r{=oyEh}o4 znfA5+DMEvhV$(jij3Q*i`0$EJS1lS^!h%56n6WOq;BmZIL4CKm(k2l(Ent3a+Ldco z71fptm{q;b4LbUx=_)7>al2lY`;85ZC0TH%ut;5H!e18Vhry$1SZb6+itWek4c66o zw2MFg1@fC*|15kHOEywT0_AD{Ril?3o}p74K3kKKE;{{{j@yN`pTtWPX;9(a07`Fg@?Zlc#Ebp$AfaF>5hVaow~!&&G-y8QjW<1J{G zQ7HU^LDm$u)_w7DTbQ!C(5dorM$#O%wsFBAYXNJ1a&T2Q@3wqzMrvd_M8+`zA0eyu z{0)I#%aGMzY6;jLGF5%OHEDH~o|_Pi|6cZ~2;ZF(d=vadcP7+i6tU!maB>6>_(>H_ z5rV;X9a0y6_pv*^g;g~J7?Er7>)tjG9&A(0NBCBmB!_i_z!>^cQkE6{@Q`%UF-Z0$ z&2P_$v;QP%=2$65exuwFX}78pE#8@qQbrx-d>4uC9U@w;bVIwE`1RGmtO*vX6>Gye z_BJDD@nYHBlMf?qmMaUci6O-)Rv|@WByBg&jm38-zm_KvmzR&xS4JMgt!e3Sq& zuV*0w)bc*mgJ%%%uvZRjU%MP&cbs`|l3Ji@xiz_K592z9DA3iO5Hc~zhRv2DslPRx zF6{D29mW^G;t2JvPVUb3TPQcBKoz*&&A(~$tACv}FxEH7vJEPo6apj>GJujpb(ALp zr6=znMlv>0o5en1rwl)W$7K}nn>&ly_W6#f&*J8$lhsZ7m0#EiA14&&Js!-Hu>lkm zv!u`_vY&jb#T-PfsdUpUH|tgWBy`SZw5(&*8~G_5jz4g*6a=?hXQ{(nfavQ418pf< z6A18d<=0{jRCRTD1If2E>gD>;ps;k$OImzmJb5CmXHI2ny9%YmQnfY*nU(h-RN_y{X7Q>NzWaFF_bP|*s18t-S^sLE4Th^evq8 z&bm2wN7J^Jp8X4ao1cz1kJq2d{%C+M2_@y>B_4PNyrJl-GMMk?f9AGk`7Kks88b(gW{KZmxmjhyI8{Wa6>HU^V*Tqc&-!>M>Xs6WHc7tXPJ z%!x)Poz3kSRLiruZ_fn^{J++`Bkib3^qcT)U~8qCrrN`+angZ7n>gXp2&`>e;6IIs zTllPKAMa?1o#3hCE#T-9Lbc*#cCa5*ZNltwIV_R2gT-R57Lzi<=ga6SHv{X68S^3^ zKN_v(brYz4KCigAG>RAEtXh~Lj#~!0fh@KI6$TI;1VM!gat}SF;55SR$4e>S_EJP` zcNKwGlFg&fY?K^vF6^Ew%?zEFGB4r;j+*DTp;t3Tp9~T$TB~PMoJSEn`$8v!fl;1! zekSK?0HjC!;gQ!5xlegES*x+aZLXndL-n$_=8>Usu}rO~k;bL%Eqf`bCu8;DQ7J4G zo9MQ-!y0-X+A7#kHdCNRr~zJ&`I)r4n;JSz3Yiz|gNj{bJDw~Yc!WqW3uOhjtN8&5 zPpeB8H=C9TSorK`JGo4{8Rp&fDbpE1;@?Q;U8__^XJCuWnyb8^#k|@Sa?M_>>9$-V z#9hGb(xVYr&f4yYLUn$%%;%bW#0`IwS%lDf?jh?JzT3{MWlL>d=^bA9`wn-a@Aon| z#3+ zAzs13@P>7j@7PJ@j!>m?b#6OczSGD_qWxM1Vp7-_gP<(B;pZZlYRKJIERPlLRyc}>~T~%eG>ey=jb^i$JIm|%M+gc z;$hCoX?b9TEt*KIk`0ZUH*|XG@mLb^;AYB$GJd;}w9zJjHjm!~LDYTq>;rg}jYSeC zM=IpXCgx<#OsLZ~Ph_jx#$YbPt_7i?ifBx2;xuP5xZb>E7S^VnQ5( zIAfL@*m%FNHtu~)agm1%3DEmi`iuO|8K-n;U-u!bF|;FFJJ7}fcK$sYQ{((up(uD8|6o(&4me!HbW&Z(K9_M!O|cqaU+9vd5Emhwq1e{5C?U7P z**bE#GYM6sO?<&CEluK4t$!cz{_Uq4Os}`~SK{g4d1L~6r&((y; z!wFRnqH1a*Xhw2{F+z@r2|A7%^RM%mhwKef7@_qeC|75OWJF48i1_H~{et=nRg^Oe&aOR==i1A=a1BxACE9FRz7I?E$x{p5SF#Fvm!P7 zS<1t2&aWhn1u%#`#g$B>=8rWuBX1HgFWeDy! z(r#p`p`Zh^o~E3kc9q+WTK1L~V;0{VaH_lC*J(F`7(0svvVHix?)bccN9@DcqZG29 zUZOHt$G>gkA8+dVC|fNM-#;d$%Ngj|7u>cQ!!q1vc+FcZxXUWK=!LW@CM#LU+H|TS8=b zI6wBJ=WCDV@3cUheK7bEDJ-}A&a9{2SYWbSjlQkQipNeCSTKif0%t^f)c~$%NfUnl z@wNW$0ZTSb!F6V4U%V>ck6nV)TK#9W)cKP(CSjS;)kKso=4qiGGHLux!21OJ@%^hN zi;{=(?j?F%$J8mK=~PAuBY#|ma$a~~G%g|Jf%zmOWZZd1Y$Ov@Qo4a%sf(5gR+u!F zHGA5zkRj`kA{rh(p;pA<3!&>)nHa&4WdSU`G}H2^DWML!^ULq-r4|=T23bjDy6cle z?}b9Rulc+xoq4>|Y%UQd_jb zG#qlH2Ds_CLhX<6=vrg!mJ(qh0KQb#tq`*~6f9)0Fi#wa^ABMuc5oBHxiI?V&WHXN zd9WmVmmz1*HGvxmJ&2S^y!SJxAqxKV>wlXtp65RR%?|0duR|Yn44P{=$xyv}eWk-$ zqGH?=6pGz_T+?*=tB6W;7?yG9pK|)b`44_@=Jr(r ztFzq64VUvhV6S8`6P?v-)r0q27LCUiLmSrZ4`uWL{GN{UilRRpjvh3o87WZfDx4xi zc*4ACXW4)$^0wRpDU}V26A#_MSdI9{uHKE0(pmGc(ll zMaWCCj$bA|6@!IqoPBigi9h=9nJuOb7?s^PaRO(nCf8a`zyi{)_-;~Cj@DJJT9Hnw0uLzw|~HJT0RMn zc{)gu1-dugXLu=ar=3rd^6$&6 zpDK+ZwJ3!$)lWtp!fXq8D&8>xRr8f|OSK?Dy;u^Vn!$55qx;~3 z9&;5hB-nd8ls(d`!6TxO+Gq6A9>1HFcdI9D@LqeO`(g7&f>|6uXCt?YktPkk%xvyi zw)^Y@$Po1eTHb3Keey}u^%)Ho;JFdd^JDa9GKsJai>17vqf{&>ocGtS7Aj(CRdOV* z8}cxJV$Le?U*2!dY5NzFfLFgPilmz)-uWJoupRH-{6x1fXGaIoIejyZ&c}NnyOMI2 z^PAvZxR+^?y7KW@Hl6}^+(9|~)Kqi%g=>SB=1JM~4B;)?pP{{@%+Zz5`Ov&K;XXMG=v*2ak`Z-~VgY&l=`4pf zGG_8i51r8kkLh3Q>o@xE?5)l6vc;D(MCF ztmB@}k|(b^r{nr~O&CoW74FQigrarRf{FqTQWUYdO(n|{IhpLo_;8Ox8hcDyCK;}F z`0cj)wWnb5ved$h+o+QVwS*t<7NeKI}LTr=us#XF1>q56iRZNR#ERbN@vk>$|oEf3wPamVeNxXRMOZR68w){Mv#( z<;hc=J}zf9dN=^2+Yz3IwwhJrB6__H?(Ik&D5+E5#2#n&N*Ux>xp#eWKKH zceW5T6@Rr)#Yhw75^31vv~j=iU+Qu0(V|?#hSn9iA*N}gO?30S(5tSh*(m9-4p&GwnD?|*E?%0@Bu=%;nB*NJup<1l zp43jT)*@so>`lPD{{GOm8bqcNlXj<-bNSsnmh-*&-5L`3fQEGzd-&5y03N*R+w}SE zuz#!v10H8`My$WTEfW7ahU6;^TFfImqqQxN$ylfJ{H2hs^a3pn6%xRC&&QHh{5v`( z5f$TcfwzT1CzxFiLaMP%a|n@k&o~D2ixycUyBLkM`Uhut%lhlvf}-WUR%*iH(Zue- zIVdg5%~SjkOw}|g;VbEWn%BcbKlDa2djIbTk_HvO;(vys4O>7t)Rolzh$t+sNZH$J zv8Vh;FU-*XA!eGP>OkSjpX?z8PH#@3V_h`Q+Kd{?j?Yqqj%u2nkn{-&{1~;2ic_G# zF2J<<)0@1fyj}n5DD_Nl{Ls!<8dr0yWrNmB+u7E7K3cW9-L?G?eP7Kzob)Trx52E{ zsoWAO7Jr?5p4K{HGxY5rp4Q_-PXh{?_BfC4DK<3i6|b#D4=DnLM}H&JL*_eP8^;y1 zo*srtX>=emFN#jMnEDLPL8!tMhIj@KsndM#MgC2ie0YzAIt3}z=$T+4q(;*A+U6u1 z6e4M^iXCm`)x?|J22ZK+?Kl;(O}fF_6n2@HHQ%58#7Oke<@}9!W4=^05wilgsyqHcZPFipN*qJwHOGTs!3tIGTbSw5rqz!tj zbiZ05G*{z6*{Rs6T=c|4$)2aokU$=uqVz#xdNnRj#ctW6X%kv zgzv>XY4pSrWiGlhRD0Anc^=a4ZnW zg>t*vPjCJ2iMKwL(oED&9cb;*t;OnvYkF--61Y0#Ou){d(CMy;x!7Cxi)8}WGb?e( zh)VW;eJWjJpCh|{+^6?EgO7={jqVp0ZOF@oHic>=if_Jg9A&Ht)&#l97Fg^Q?pizg zzubzuCqcv_rag6@`YCZb4x0ZN0sPeUK-jWi;ch2lmrrj1BK&2`Z?xjuQPBDU&(Be} zT9rbiXS}@fMP6e8LPdx#NAlu6OUc5)$rnla+R&PEEdlhHCNu1!ac;xohPbh>5pJ95 za_N5y`NITlM{K25x3D7!bZ|}`WsJ8m>2ARq7aI$N`nmF9r#*M9n zncULQo76PhQ5|6SL!ueN+nF1KnFreVTTfO?aF z(%xop!#rPI$qqz#L#HANq}1X_WA?l7TTpW~8}`#F^~aFOy0@=RGTTu9L9dD=UVe_B z4`Y$hm01V8uYY$t2GhiZH>Hr4q~HqA{ezar8$JFp#}$aJeP}dCPT8ae)2A5HiiV99sdC;+1*-?mrHkR+I=^r zpO|oI+cnI#teJ!$-k%O``)$*W&%GP@DOOP|#%MEZv8cTK;6&AiDa?pf=EZvbX5S?# zEIk;!A$1WjR;rL@(&JnwExnJKTA{zkF+aahk^Q^9WyjG<48`Px*l|3&-NheiKl#^j zs0}06mh3~|f9SIpS-;%zZ3|S7-`A^}Qds!YL~cQ@k1Tnl@@MvBFH(5}e|%VHw8*ah z#Qp$7fyT(1j&uaaOQhF8`h58Kszzh7tC@~l*J{OmUdAl8J~EwPjXfFiWR?#%Fk+A619OD6-h0PyaH>h8nsx$4^DDB=&q0|4Kzq9^(SeqM|=d z%xr-NjVQVL_KuAtL<^|F=(N9N{uDTjTFZY$XR)W~qgl{uy`iBfh&1#42)Gc5Ar~Ba z8!^xlDJG?}^kcxR1_NB)o|YnV=U(uh@}%q#hNoy~);7}%Zm>Lg0XtRE(}|i5#y7&3 ztBS~q7#&tmlMh4cH9E3}_1EO*A>Jza(f>T|f7flUI?luG1tg979BD@(9d|65u;}1qszeh>V zI?hAa%nya6?U@4MB!hl zV{o8#xn3jHdT^JcF-PjgTW@xdite*`_#kZ-rm3vR;PfypL=A~PX#%D$R;&==n22PT z{#K(Z_r3MrKObV(dWEPU82VFsCYk#=S)Tg)k4Ky*P_M5|L@b0g1I%&ihhLZ~5{jkG zgT)YUlk<*=&kE9xZe)h_Whcd&jgQ!G3`_EQ2?1{&I=Z+OQ=$*w1lT zIfTCzJ-$fYJ?e%aj0x;1#%~wU`?i}0MK1qacz#*@)^Wm){lKe@^d@Ulcjfz98SrMT zO(=~g2!=G<4s4U!nnw3LudYq0?wVHR%d7hOFat%eYn+<;EBe??=|4ZrlzD$`rKuem znC{}g@)g3tFZZFvN~D^LE$~JXkVMFpl5S!FDW@sX8*)0X?wU7*NWZ+&_+lw@2uw=0 z1;X8~1m4=XYYC{8Q1}@nGD#Tk?nW3P za?IFeuA=tL*w>;@+r9&u+n%D^)&igSoF0ktICskgef;Kjy#Pz4jTbQV@24Hl%MF7Y zL~<4b@>A~<>g?Cpv$I9SL^^o9ORm)iwF3Z-%HxdSA;)hs`cJ@l4d&^&HY@baC&-Q_ zx3DzOWx2V3`WwNOXx7Xq4ZkO~L*s}427(8-1*3Kpn-%%47QPRLLUxLUy$X0Ok}Dpn z>=y(|_{GiGT{{PdQ_R}^Mk)4WSG3KW?sx}>$Iseb2L*4lRIN-#bp$*#J`*v*UKGjQ zvfjRyOU7D@d<@pt@grQ{>LAzCK+#LqQSz5J6gA&+ZYd%zx32D+d?YwX9{HjUD~bc& ztQ`I^AzTGOahR!xm1nR8XxAVIVsdq5mF}vq_;}-;ZER}oc6!WQ%lqPmo$H`HiaJ5f z(vur^eVak%(eIo3Hld0VcCsCZ;63)W-3gbHLo=Lj^^{5%ZbGEloDVL16aD?jLp@M4 zDE{N;_;YaeQr_*)J_XT^uwXZY(rvzB)J={&@A-D^QUM030RbJ&FVN+!xb5QZ@ClD( zcv@bU4MH)p=m)soVy?qy)K3C(Mj$)TPPYe|dQE>JXSyV%2!z~GhPtF0(%vB;1YF6Y z_jG>H4PJXt2P_EB!p`;Tk_RrkG`h-2XSN(VrCl#iC%JPdF!2Va1Ix9MyP9|>{3hR| zau1@c?;+W1$5mZ-QI;4@`u2E$V?l*q^;|l`f*h~;m7S3ukHae_wXBi93I)Gtxsomu z(CGybeG}EV9@5d4THbJ0G9&*T?PfOo6AQP!s59QB2I;&`g&hC%%bPe4p5O*t-iCsq zJS&UK9Q@4I$$C{GaEh}{bCdr{c%*O=i zXqO`%j3cG^Msvp&HfA5be=P zId#i)bxgeH-*RVD+Uy~1|J6mewU(XxF2RC#mlrRB-S|-p)(~B&oFAAj6fpjAt9BMP z%E8Y1Ng&I);JjJAcG8285|nPQ_wM-fty5UOmW#UkO!a#1(b9nSYqMb4jZFQo6|K8e zi~&S7({3Z|i!S%1bFi9)NcdG8893=M%bZr@}+V>>Hu;NSnaBpuQ< z^b6*=kdmjNS6c!lnW%}QY-(N4Avy1h-Ol|&*ha9j08>6_m)O|`&I+wOGH~AP*tk_! zs<-1Bcy@E<*&&s0afJSQ~65ff05{Od9XmKFiC7~9+}d1|h&MbbEc>sI(QQYCb^o@WRuN|%u=4z}LS zwy#wS!*m#Bh7G)Ot4;XcnbaN4e*JvUcl!_I75YIA1{mT4h){};h?Xah9hz46BsJyJUFc)>Ktq&@?|%OqZ*%2-Y_FEEyZ z%zN?RS^7$e((JbWQuKc7!oF5erAKw;S+Ao{-JI}-d-mBGV#N#O$mm!LZvAyMUf`I( zLHk?+S<%`&EN@Tc;U{&6%=+u9!6^YDw8{kkJ|cT_gvWP0YX~H&Rk&j_IyW7P-Vecj9YBQH!}@>=soDr)6h{F zfaa$@=T`R` z*RMO9-RF=?__~nmK^fqaC*di%HdJ{rsm{3=F}a?bMTXovUyj z3{yC?Byzf6JS;mpSZ3ThYXKgBh|=N)6VE?h1@ZjuzVO5py?n(17!#l0R^0rlMX52z zWvHaz8w?n(UD|8HCRc8J1S_i@EEJ87K7mt|)W*8o?d;IO9% z-_T8PeS>9mZr1Z0%nxcPk9kDKZ4iTlcCHRMhBG~+h;5vnh~^zxK#EfY9haEr;nD=; zQ9vL>G9stl{N-{}hD~zNm)gIT%s4_f%hF_~LkH?hR~Yw1KfyUEzxa)bk6uT>p!5>| z$(pODcq<=~t|!XASe6;)Hx$;LWV3jO7~vhY<9tD1cY9BE33H3re41BPqZ;ZV^hg(( zDI)vwU9bx0e6p!@y^M=RgOpe1s-aQDgQLjd+yLE_4FtDBAiMj;@ab_@exdkHXv+ib zkYgF{xd$EUimN5R7kkZcJ|D;y#FQGnwHl`Q>dx&=bQR%V|Dh^o#JqkhU3kp-M?1dM z2sJwTCfCI)9+3Femzz`d$)8V0(&PDJK06&2X{TR%y$^Tm?@$V- z^&heq{+(6KJ5{R#M`YwaHIG)K?zJs@LP=W}!gyYI&x{XRhZzENbkC?svp5eMbYIht zhnY6L3Ba?%6u)UidEy~Uqan35THGeXJ_0PZp)DFh4+8~;mD?DIDvG?9zB*G^UD-Vx^?URt{-H~R%48>SDv9N8ON+Qd9dJ;4L01nSm#10A;~;>;#Qfk1 z3W1iPniT#+b}>Gl6-A*7HI@e!p4_xK&HZaq9+KBb5yznmw}Bv-_hFsvX5Q6UXAaNw@|_Sqw#@N1KpEhw2vT{l1SK5fm~1Fipsx9e%lwoVH&Yn%pi) z41uEUA}&ZQUKe8CwB>aAUlaKV3W#S=K6f6+#A1l4lhWPuv&!(jL zJQuIUjKeBX);{u>Zx;NY3zNm!Xt zCMRQG_>1LaWNbJ_QayPg{27c%EDsErV?{j*7;>kawQAO+;IusNiYm^!!KT|5Za^Fa zMhEs*Ed<}QeVdOZ>kHO(HMo4@2APSds}T3yABp<<)8`4h$y<4dQi z+U9+^+wLce8zIHyPdkgXiM#dm0oK}Pa$?^b_#@PNng!?fB@a?~M8xwFz>!?4paa!I zVpGouxu|9f$Pf6(_jmm9H#vqyRXxX;292K8v&*;b*8zxQ>tknsDL34tZ??wrh?hu? z^wrA_M(3Q_Fsosiqpq;ourd?6tR0hjcB3{-nFbx>>!zqfxj0pe_A3JRynBBZc9FuI zwga13atxIYU38;GAT2JD$TPv6x!D73KqKB0k2-K_2wWZ&-(NaQ3xF?Sw>$`4VvZi= zGt}!5Cgp}sqDurPQA#BL*~ehqhf*ZjIQCTuPHpxe=zlis;wM4vxOCu=1zkjF@Ag#TtJUziUK8n@PcDR6-ob{ZO~~o}$~W6vZcPP> zdaCIQJ$f(alzB~H7)HxaejLOod`E4Zqo_nx$#l3J25!H7JnwmG8=KLrYw=@6bP}}I z(o^P&GNjgs6Pg5BN_;xXct=%Gz#T*!sm4Tm<@-+)_?Tmx%$7e3y*V<^wZnW|0DDl1 z%E~0hQA7N^6ElUP4|RlW!fjt;UUBtMzdU?8RwPPgOTK0YHZUa@{I5K;WF+JG0ny00 zUOIV2ggM5;hi#n5t!}YctXB9%c^M;mm^Eg3EH_I+_(gyXN}&YOV583z`#Xe$r=RAn z@KM*+Tl)f7*Wop*bLK=DF-5eY!j$bT_hRB6Y^IEiYIe84Po+Z~$|WSMo487wDe7eV zI4edu2(EQTeNChBdwOleDqG*xb~eo8Q{@Ep%mJjUwG>+9u<|%V%OX?MGGWp^*u{1^ zY#$%f<^wG%hIM%}iXpzVYyI;ppsIK5k6~hi7SVLS8T-*SUq)^#qEaR1^d5esJjo!Q zVA6FN%lsQ!l=8QmBx8=j!BhMYoFweT=~(|)bF>s*3T|wA;hSs7bW1Bz`+r=ycTiJN z+wPqN5|U7)6N(BELg=AaH9&%N2_!TH1JaQyASeo<89GXlDiAzaH0uC=bYv-kba)|~q46`_l&-L#$QI4k4la~G7WqwVuf zVePASgA0educL=cG3?q7c{!36<@sv*FR#K(+gi@i-NA|dQecvn7aD@2w1M5W5tA698!NICsj6f*=rK;!oo+JX zjfG~LYSO4{)O(g)xsv9-YN*tO1?$t`f>x!e+Kyrug{Rk}j;rjBE@HZ3Uzdv08O`RmoH_;v>?joy|CU2 zy1Pri;yc9Y$ykUv%)`I7{LF*z<>B+wl4t$pM_)x~6o+l+wOQ@>Q1VPMQ8vQ*TO+}* zM7Rpu4)2i~Mbt0Zo<1_h)%UwK@cY5_IE|gxLn4u`OwBXfPhMyGxCLKU+x2X#Tl;>u zS^xZnWRU%o?dj|XkLpXhHw|CevO0ZzeZ75YQh%OBXzjehq?=sgn_sS1IQms9N(E8t zBwV6B-+t@p6L993__Z5CQ0qwAyi|(|(ClJu`P10>fBDM<3&VXQ6L}+lUu2xzJ_ReO zSe!;$+=&hMc|OHfrddC*6{c~qw*2PR&LtV*LXjKk*>#JZjxMwD33GTCo; zw6{d$mwME%7^dg+;J8t?#p$-7tPv7!dUA!0nPPRu4b9dm6YMH1GU}a`7B3(eU!?jS_BSVc6VNC;IbjgNM=`c^w0K{Yc@V-UZ#3p zMm(>4o>AGB*dq{!bcl+Kew;@xZJ&Prw#D!s;OLxf{LxI3c2rc{?4u$ZU$=k{`B9+= zFElf=EHfj6H|lPiW@>u3py3~*Q%O^I%g{PcKX=>3pII3AmiK%RP~*0I@=5Ml=LPK^ z4kK^$Zqmv3VSSb_kiv3$hl8swg#?FSgky6>-n0w|Ki)6?)dnH z(}?c*3#auAjV`F)soW_QR*HMneEnGOo*?&kDb~pcdSTCj4P`fuz3sg@d1+ksNOjqb zV-FJFtoyM`<7>(+_C&a!xpi}YKi@kl8F~4XlY-RWKaDSTf4@2L-OVtmWI@jy!n@VQo&BIpOoZy$TLdzzmST`9>?h>`p=KcZkVJ@jgNl! zj{0O2eCGJCjLJ66{p&+^3q?O`Mr}`LyP#WDb{9Te9nW;QeD`rziF$A8lI={-<+GLj z4vPb?ekQiI?x)`iD!wBBC%Db*`nPs*s0#WZuOBdbtqndqn|N9{i+-=Y?Qk6~oH>&^hvroj&Q!}S2yP!W- zM%^%i3i9xQ)cEc8fEp3aW7%`SMZs6yU@z`LWYzl2keI(e*d;lfHj#iMsD! z8{fENL6Gtm>yG-|6}LNn9vSZMbY&Oy0I%uoJNRei>Qosax3$Bxz5kM@{X$W(T-K?< z`J%ArVI7EW(NlN!BJ5;MwNYGXnkmg$Ft zwJ8jaE6tNXCGcMU>#bjvQTDPt{0nJty#MUJ7yM{$eiZ7IFucvukpB7Z8_pUu!>hTz#{$tHve$L;9H#mGp=tZMOnkhd$Z%%ubAh<|o+dcaD26v|y!{Mpxwf8P|C zU$^RZ>}}EuKO6=h)j~{XV|n$?-h`VN5Kbuc>kj?#KU@&qUELov!#+aRYJcCkbK--2 zp6#j8x49pfPHQb1Q9g0APu6{=m&W6h2aTkp#o~0sQvR;rWc>wyo@Vf=t$YM6W_Ei8 zrQg#C4{_0@~KoEw%jn-;121_0F8GJ_;w2#J} z*N&)4{T%Y=Z_)$Py(i)h@9yoWPFx#*zbWxX{HV@jYSVvTKlHhb57o2{F^$<91drD843sr%ZZCEV#=+*3|7iEB z67MWx-p_7!pKIwC+_5h8xq9@&Yw*0y%OZOPSmN^9?br8Vm)*Vfp_yf^uP3@a;~rG4 z-DqCUdmz;RH@W4+YT@PAj{fgG4XGEq?pcb6?S3?U@uokY<3*V9U9t04a+X$iPp3sS zUwNf?zM-SO`+e}RvY0>qeejg|BH`oxko&@B%hz=ln=;RuEZw>q+$>f;6ZVvSIo)Hq zixgF*J{c}A_)cnTR$Szu=rVmc5&VH0n_btXzkkK@+jQxJt6Q6V*Eo9!{*mnKk4tz` zUU+@8R0z8oC2U$_|NP4i>QCUq^*t~X5U2cHL^H~b|D6apNkQ-NRM$cFkE=5OMm)O%((Y)ml73#;YILoC zxBsLKx10ZO{r-<%d=Q)JYJ?~%-G`F%Zx5MhCm#&2iJ|oj? zVTW@mqL3FM4_yjdE{+VdXC%*^5=FfVC~_{u)~}O2ei$hKhWF`FVw}t?GQ7`wOz;#0 zCR1R}1tO5s7k`op6HbjZu!)~tY(?H}_`W0-wo0uMDvu-=7$;Z$U@j@}I8eN8Jg66x zFTl^yCYfk5yfQ%F9&t}%B#TY}B7k2?vp_e!wL6aPjW3yCM(xHh@ zIu2xbRwgxWVt9B9G?U(hhR&Oy8|v0!9<0*^GD*PSuEG2ezDq8~2$a$Y7dzD11;wB8 zXgE9`vv$4UPol!<)}G_m$;I9WWOJ+YO-Jl^@AF={Ejz_LIL0%Z;{A=x??#|kCx z#&e;3eUChJOA2x%&3Q2V3dRpTve3)FEd7|T7}~25iAgS?Rwa7$o9;;Qa9q$=jJahY;aUG$=le@n5)Sx{pV--wu&O7cvKdM=U+Yx$o;ObwC|I*7*#{f)iMQ!IDdnchC3+}e4-h=3fu4h8 z{vTAK#NH^R4i98DH5!A6RqqEn+_$-DdA*55_ zDZPL&2h0+fnxEit0vjvLa|Gx~BO{>vT;M(x%1e1aN7$&LaVw5I2rIS#h1p=1&QQG* zJf0gL2=cfKs9Rw&B&iMw7TqUwU?{`vXj#PHW24f&K`N_)Q)c}Vz5E%{kD)0yroGcD zzGGPeyrj3m$N@t1S-)g~26As~GHZ&;xs(%&E{HGn-GjL{it zvq#kTBWYk*n6~xrJ6AYIj(Pf%?O4=uO7B0U4+KI_*AqvKs(D@{PdujHq)^t85D4T= zdZ!rTlA5O*8QVz>q4e$}?|~uD()C0ULn=N_6*m0$L5Yj_3^f$9?{Y#eq$30oUMj0*WK26%gkn716$>40FT5zxAZct(i{(y_;v8eiS%#dq;42v8fun0`Nhd1Kl z$&yr;!k7p22eHU40`bGE#-326piBWhXPM&cQb$$%gssAL4d`@5+kQjiE<>0wX za_!GbKK=%Ko|7jYsEpJ50Ge$Ujp%< zM4I6|zn=tP1A0OBHnPJ)>M#tH*e}CMTj#h2NHoCr0C`>st3xp64x=L2i`D{GfJ9aN z0f47TSe*kyweN?q$QA;UfJ7wT2*8sjqz=GP?UMfZGHak;pI6}3UzHE0BCAg)Zr~7c z5XrQOKRgRUZ+?lF%A0)Agq}@W_hpt%u}uT7ZX2+FYDU{8ee&hULKmNtPYN)~jbo5T zrxQQo%x^$mreY3w?g>?X7uS+!?`rDVCe8cumqP2GlXV3w%Z-DOv8NJW^bf^K)TLs6 z@|X!#?ukdB*l#pDt&>>3{6)}f&&lcnTX&5;kUb|8pWw`|L1I!d-*~=BR&I+EQS4dG zXzL`pZ%!f9>Ny#so_5#l0`kBpu^TrO0|`sT?DNb`;YS?MR!Oxz3g>*P z6!kXl#S5#w<4)O`_wqlkGQ>{9NH9Yx!?a@PKb|EiK#M^Di|r27WQ_GREBL zcYlS{T={ih)yvhU@=ILHmyLR7y830m%AaNz=%8O8?=85Hy!W42iR{OvFRaJiNn8K! zSbK2Ap)8h^`(?*{R@T4UN!#L=!J#tLJo1Qfx-07bR(9L+le%AT>s_mSzcc2{7auXS zZ%6%W3drI2qS(+x z{p4dDi9dHl#L5`}hSk2~7*lO`*- zL+4v!NG49nx18i6NC*x_Y8Lz=R(rDHjyEG!_?o`=i%&axv$)z--HKxB>ag)FuBV)* z4psb~Kr8keulHu8zUx^iTlzelitrB8AL9P^E^%_P=>ZGbklcPE&53`Ny&$lzrcjB9!~m*!vN}D*Z@j)n@ur6aKG3(*zK@|8KZhoefTL!q zj5Lx*wS`1unT=U8(GD;`pe2Buvjp44(>E$E_ssF_xj={{z_R*gt1Gv_V00dx0hp@7 zsnpyM@bPPlnw<#*{3g)&E(%C{%!;unn6{KTzPo4a$~Z7G-T}wW{~)VxPhz*kWb%2i zsd;smXQXc&Cr$(U&5N#@k1=j>&YA`k9H=jyt~V3>aGW{FNg@Kz+S6!o`fWjx*_3sI z6Y86DO~q+yE7q1o7fHuINcu3mFjtV|h`pOfZvp+S#^uk_?AQVQyu_0Td-33kgMfLy z=KPyP%k9ETx1B=T5&6tvC25i+(H(f-p7t3|&)3Lzx_npFAqH&LE|~A6clHjw2h{DF zIvjYSBP=CnSZR10LUMm&JXKAW)qp5#6j(}hcxoRJurAt&D~^#1+6 zPChJv8G2WhkZ6MipK5@VL~nT6^6L0^MwLn^uflwQ~zWPC(>ya*I+J{c!#Y5-+ z$aA(mNlux`f-eMT=S5c+jx75U*CdFU+VA%@X6GFVZUz6NoiCqKbI1(R|0>WEaA`61 z>1RfB&{>tc4w>NgLBZMij>cI&#$ZR|RUfG$`}g5jcBWY?VIt1j_5P24Pgb|Hw@;t)+J5TR z^=t97f7pT5OMoKGxMijjTQS7{cJSLr|EY67PTIr-TB-TDx?NkNrIu9A+>-H5$x+z9 zmabL(r{p#~>&r{)b!CN!v3^^9TR(^M{eq`Bwh}Y}beS{Iph7{H4qu^oAKpvvZWknI zoD(f5nBO5e2R|%CTZUP@X3wGvQ1S8yt#)tNa%+%Gvh;8`7jyVRB(i<-;m(`vE7SJa?YE51#_%~g1 zx}q5KRjza#l=Cgzo)^U)-?~^hVPN(B$gq5AS~{Rk&#Zp{H|Zj$Cv?g;e+8$B2qnpG<(4tj3P8Mc3L^%4Lc#N)>k`SP$w@{P4k>V zPkas+t}Fj`>Mm4v*; z9|9qR4mMcXB8NHuK7j&(ey!$za>6%M;oX~skm&-vw(GxqN0^_CU%pi^i{d2DB=jWha zI7xsF$GIPA$vO#EBXBfBjv0n4&gkL9>ge44F-j?&K!Pi8=gsyom zB{Ai#8xli#kQ`H}VgEk4=O+s`><%xyn|{ZP&_ zfzpNKf%L;GM1h}E;;?&iXbIRJQ-gHz2s>nC7$|% zGo5w&iZbl-hDQR_F+iuc$FB{nm{9xC-}9q_ug6D)6XPZG*M?mHV)72|A^yjmUHa}l zs?BKdm^OK<|ImUH>7&g5h(jSNGf7%M;I2jX?P2T0O>6a?US+$JrSU5{P8FC;}>kbRn~>sO}Vz3t&%h zijEjT5ktI1wWi3NG|__h%$(!7cEfgSth6e+?t!5FDcl{_M92wR(z)WtFqkoXu zrDqmjCSv<1n|_z#s+P;cMc>_RL0-?af1^<`>Em51UDrQs3-diy)BhNEbd0YWldpe9 zVe;!{XPkbg#QBA39hxC|!$5#lCUOttXQ&hhu84B{3t!o3=oA6GbO}?6XSS|70^EHE z8n?zYHWdL4t)HD7;W@cYEz*&;UGSC7h6oYBw9BSqe0A#-=|4Llgn^QqcMU*)lX11) zx@$OLTz^wBzND2+bcE*!-2+kem8`)l;f{rH@_GYC1TgI4p%{O=l}!X7eUs||r^ew9 zz|c~Wd!QjbC2KG_>=0Z%1p5!cl-3q6NBAdFm*Um@reCd(-JSnEbUWT6#*IzhK8-&w zG-mS0*Q#eO?yty&e+IwKhHsG2KV*~3Cxq?lNz?Iy?XKG5XhJ>7AwjU+6|YWrZ7e>P zN1tU_n54S$!tQW+nc&8ffR<}jxJE}CW6PO zX`?wF+Ivcb#0}F84<*x95#DXD)Z&+tks)0|#oR*(gR}R>PmAX`@&<;ax*n~MzsW-> z_B0Foa?v#R9$LF$Q8OC*!)iv+GA^|^)#H4=JI|B{-?fH&LZ|?dd^WC;=2%E4Ida!C z#2o7x2*-McxTB^_&Yo94M`C^@bkO3K2cFXGN=j`mw$Kyn8BU9UDZu7ujAJZ&pzUnl{%&dL1mY}QE z>f(IbW=2twp6ZI{)h5)_X{Z2^$QfKC?RGJpG-EH+o)!>5gHXD*|7JYOAD-ynzUQ4% zC{yATD$t%L5kzw&)Y!}@ZndSl;%jsW_4HX(fODhDB|qQRoQ4uQNjOTVJ#8wO=15qw znNb|>PA&FswQIZdNN0>sH2~`?;Fut!Erb}AkJouxt{4zR)H%+dDb$|U5=L_*=-JLF zT0Tv6?GE}qq`EsiA)6holDG7U{VvC(MS$T{4fN_E8(3<&jTEBOGC7O{Q-&hR4JZFtmP?w1aD;WtGLlH+%h-d>?!po*4CEWW>Xi(WcS92~*KDhR$8OVwOCE z@ivw5Ihw{ebvJ%E;JR$%t#bfxzshU9yoNI_cg#P)&<~D%L0lKcaE3q7vB}^{;gv+f z=s!{!8aHT+tn&D@o!-LJ-`7$;c_qNTXpFUTI^(B2BkgZ0gAoS`co1^tQSWTXzT|CF zl6Y}mu=8;{q6k!&Bmx4@M85y2@A&I%zvwH889`yv04G@Z+J*1F```aOW5%6uS~KyW z#}|JTd}&M|U9lsI91|wxbKyyw#stzeJ8We1cSZg$q!gV;N9`4aN#1Zgsmz2xqT3Nk zio&ECIG)sKLLfER5lKqIb{B8Fd=&fQ{a~`jC7HenmPp6emniJV(DpaUtWc;M`Y94!r$Hf2Q=0ngmKGo%Pd6VxV2!gh7;$Og30x{0F;LAZw7#k9O6 zd(K+;ZnTV26Z(?+HD@;h*5+Dj4~v0_q6!{ z+5K@xs!CTtALHDxWS4&au_r9KJ(*w9Vy(T{QM*m;Rxn9L{f_P+$La|l!+us=>E3|(`6h{ayNo|=>#ukl;Zh6_0RO>VUU zX~qzeOR;JFxOw)*TYqD4-pZW~DxBW0CLkz6mp)DBSFBKdg0m#{i_Ny-z{Jfv)KoZn zPK_WWV%K^BDX&-&@dS64hy}-`R?y>3{tDs=z^?~#w`ri^UshUpF!B2xY8o8WTm}J6a_gU}J}*p#elY8VwCNXNTNJ13c|$ z56}RAvdPfbtCSn(B^@1ngyRj-w|s;}Z}88V3&)$F1$>18W@v)1aJ&Wjmaj0t20iI3 z9B+pf@Dq02Q*W3+1Mb@)C(&C4p!(5?w1s4x1UMdHNt6JS#Vx%gz*q^(2nn!>4rj6i z7$9YtCy|_ggU3o69&ecErwzxR%%f_<0jKlm+HmE6h}(g}&i~Y_U!a))FLNd#9^{qk zSp|R%2|hFP(3b8i&IIA4t#FdbwV-DV9e55!`Bso{Bq#pJrVd<|(<0nR+SD#e=8fYJ zzr{r^SvdZr#Y94Xpl}*v^)`*sRZUk^Q($aar7=LcGzPnxuBfiS2(V6LAag;|26BuX zP>z9IOAZKND0kI?mc{=`Mn-{fCKBM$S1=HKQ}#GGKE_h(IGB9Z5_cTzSi)0x3a+dx ze*3zxbBIRuZ#3Ye1JVx#_~t<4R{;ERK)yi%Rvl<>P=HMb`scm5zhj0H|~v%qG6gD^<7{5cEt?MGLrkTh7xDG$Us7zRWMWuo4BJq zX(}X*aY0g1SdSK*fK7bAS87rbQzEzYhB%^l{e-e73hUj18?cTa^-9es0+c-yysis0 z$&~|zfD~*X`Jns zcsK@c2ZFTZt=e93Qf&*UO)$GMWkQ&cw4n>~ISPBF1y^np|H&&ATLM^rCYY=PoXV9G z3<9;uTWKwDQqLAp+hBI($^?HQ#~T{T(#OGKk1In9Iq09%CO*= z4$w1Cjuymb5K>5soI`|yp$=I68S%LwA!&0L<;2VqPWoV(Gy_I2=c6BSD@BSG6pDfTCvR%KOU8PB>8%&lR-D1nD@g?d z^$qDxE{OXr8t&fyJ;Mvp`2%~3^>0Z9PwN}9om`~vx0twlr}hj>#N^{YE7q@(3ZB(B zYjXlav*ZypX-5IzU)8e$a2ok3(nWeIh`*Qin|oe^By~q!fCC>6K`3x z0!I#V;s7y1eZ^*6%>2|k%Qs%P1Xsd6ei{pr!#wH?g;qj5^hrYGV2@N6p_NM>?O;K2 zpvM6CcJXqd`oS9*rj2Q74GV2$x>{SPnECVB3n&6li8=}?0#TwV5vIj6fjXdPOI=qH zc$#(TQSr)@TY$H4tJo623;4)XF<=C4m0b*Y0w2jP2DHMh^vVFW@DcekKndK+vJ8+7 zSE?)oB*IPQDy&C=iSMouP}pD3gn49Hci4=5*#ZSQvY^j>0*XGETYc?p057rL)-qX+ zMP=U(lV>HfTgdX-1hbm5nb6QYuZOnrKa*-6+6Fk{6Fn+y<9Cy4Ds1E5CwX_-#=l9D zL!6CYO!7vY#ni)Wj@+HOjZrl%($n)v;5!NA6Ds&;2>d2k05Af+5-eym01gVKIN20w zh4ts^s7GEbU2p;&$SOY%0gcKwtl5G}Wg9-2*|)Yx>?qGFznwc9Fcw;2TSO(7S{LP6 zh|02b*;~A_EG>4Ls4PpJt$19PrOIXuqgYC8#TFC`&9>Z-W6818Hsn}HHX{|qI?moo zMHT8Nfg%)hH7wq6&YL)sCOM-`KwUJ*(f-hL7D9Fl6)uf=sTLAbv5v$2J6HTIvEHB` z$}JOCMSAScwp67|t75I)sB|U)6?(;Di`#oOuXF;1sx+=TRh@bcfGa^*OvR@vsJy{$ zz?d;i6CK#6XlB<*n9rvQ?-;?6<=(n(S=K^tnyMV@Meo*#oVKi|Irl4B)@1M2yqxo3 zPC<_aGfQUCuIQ6v!b3g3uVtLhdd^{GvQ5e2oq4c@Tes|uEi#CD=)Vfyp7r|v#thjk z^>U$_C;5Orh>}YI-~psQFdtA4QM#1xe2UjLOc{vcb<9%+^6@(6D+9mrI2I_UUW~o6 z$whv|ezhL%u^%n|3t*0& zs=ymC$7gClpVauP*Au?r)7+lfDEk60JNEs$IV#G9kS!c7(4w?T*v!{ikIt`qWeARl z^==~MSi-&V8>oU42@V&nJ^T4BM$}O(?%q#F6ml{9IU2Cbdg3W*}AIDNe^egSw|4Nem6xMTh*QaKLr^RtD-D8T5m*ce%F*mr?k}5$EM)E15@#8_?T&7< zWm@S%2uPW;VJXD3U0DCoYtBM0L`AKJv8Cdd6u>;h*<+%gAs0Se0psUlPF29{AQ(Ga zZ%-6SBBavVsI->rH4$};JDk1w1be3nQXJiPAEK!~J#z6BrBc)s(?!AFfu0F}hVc)r4p4 ziwY<7cw2}l$U|J8QVopwb2?ICnA6YG!n{U9ol9NfIo(>~+ZPMPBPhU(FCcHYzvr7) zgndz=MZOT$hM9#*P9UP7InRp<^JIB%<)Nt5?1IN<0XLqrkomAn56rRE8e!_WH-znr zpl!!QjB|$jZ#xh^o$*f4<;2gVX{ax%NPMPSlXq^D&v>tr%C9X7`A>b@8h`ZFy(k(n zq~KwHMXh)qU6hF6@Fk*XoxGVRg|1%_hgNB*ds}No6N=i>Mv`9VSZq(!*beuP@SZVrQ65H>8n6?vd<%pr-I~2&>@7IRtC)-Nv@1$#P8gQW z5G0~JVk@-jZr-8{%VxlcC=aa)4cJ>iz6AnEw`R|u_7*hzqmYYvb+)K5=8h1^b~ryi zH(X(*`aHLuf*6PG@N9f;xc*A@`6GG?Vw|?aB9z>?E3qTGZ%*rMrt?eJ{K)Qn_x3cd z^=I0@A4-q^&VD*x@ zO$6v^{a-`i=QKbJK0f}xRnUJ~XkiZ$>!jgWGXcEU?bnJl5&5Fk)R}D>!szsD3YBVe+UYWO3GvYbm6o(s* zrJQtqrps875~tBcNZUcYHskTC-%L}2B-^0h_drk0K`CLpADv86P{*uZoc;T6=TYF5 z#f}!;zg>TXW50iV7I3Ape*OKEFYM-ZT2`k-i_F<`&D0_$aR{%RIxg(f41o>(dI50!yy=|dn`KaOOspZ|)9SEwX&{tDxYyoh|Da z>8-Kh^W_xq<&&MOW66;fMYw|4H=nWT#7ayHdII@U5p-nlm$OTSn??=u0ea$_k1*&3 zq_`#yl9dE1dzEoT3G#s_)3}eqtQhVddPjLzR#_*6o~U+fa^YS@GNrC(fNVm{$m}H+ z--mCmXJRWh$NZ?>yjuPokl+;1Sgr@OLx;&1A``e&&V?K$Yy#?nnpcGXN`M!xq?r7m zv2=Riz~xz9t&gMWuc(jm4JMSY@YaJ=R8tcui!9R&vG>KC!mAAS*diHuzD-lM!~E!c!q=hwzn8n-8BO$PYGnw4+0b}g01cb8dhztG z!9>L|zm^_eBgOZ9RoGlx+CzWzM1yZWehZsuqEu45f&DQ~w07XXMrD^*VZW3q95HIE z%DeFr3cv(t@f-)UyF4wtbOYv;-FLg5^6f@e^p$vvibhEHXv&_09j5dQu409Y>cMf` zlhye~Qb$uTegES>7`@n9v9Uu_`3}a?^x8 z79mJmA+X~a3SeiY_Iyl*aim+>x92yGmpkOWGh&vG#DjR*>7ok86w%xKLpM7q>p!ju zJ7=-aP}ZGeg`Km89#D8$>$w%zgq=-IU))w#4Xr|aQ->?x9o?Vir|dv<-jK-MpNu9N z#wSKqg#8?S{i099+n7>m_ius>(M+!lZe_+^%rn6f_$Aj0KD^i&%KEShdcvrvrS2Y| zmQpe4Bwi?U3<{JKb~X|>8-#!hPD~TX`lpV93#w)aE4TKI1CEAL%r&bb!XcNG&0GOs z(X%O)L6z8jFUGM-7Y=fCAe#U3O6S^5zKEjGgV4bSAcklnya7-GnaIG6K3hiUC+aY- zujCIw43zt^!%%R+WdQJAq?rg3cu+LaU`&aWpAgG4rc|gI!`CaY8)MLyg7W7(@k?`d4I<+|LlmspceLlByF{O8|(a{$Ckq_Fc-q4E}nq#njj)P%CG94G8N{`Cwc zNb`ftPbzw1RLlRC(P1A_N~oZ{E^%E)JIWcZAD+V?8`1cCUuf7f$Fs$kwy|gAvRzze zC`~4SlgH*LS+;=IfLe~D?eSPU0N9`yNNE7TcUG`I-UKcQsAA(57lq|=vF(qYv{%Vb zk=sTS-+b~uAAz?qc=MPX@JlArav$SCyRj*Pj#x_2Vh#V*U^KtNt-MHkR@lYDPBedG zNps+y;zR?m5U=|AXax>?5%1$Y4$k(lE1Lui!rpPCS1#_ zxW)XaU&V4hMTgst&`xkwNuQyl(Cx&dy`G+|q4@B|zj3X??vE28>|B|c7wCx|P48O< z6Fr*wloVsvg4Zu7?jeI6p{)=WvxPtg2w$PTKx5+5H7PbDnfErP(Gwcg3WD13HY5Ku z%S@2Uxnd--3Y&iXp5H8*UwU2kp#-?N-KW?y6XYh^ekAe?h3`(Wxa=nDgcKsnP?`yT zByRD@jIzEHAnZKeY(_zyHl3yu$kR6-j&B_6fnKUSA}ChJar8svGu{w=o}G9^Cg}Px z9m(i5a92{0^ZgX#y{)pP?XDp5nK#nl_c2>pBzp|GbcqWM0T| z;aMs09O3x5jZ%a(Kn*dh$H@*ySe!aTk$&G-;KZ4*BxZp-Lor8`XUiCi~Zp? zHaD?kV-3zoVLwr~VaJpR=}!k1EdX&qj=u(Qt!d%nmMoBrjG5pILdDP6i7%1Deg+D~ z{aK)~_lfsfs<5&^6Xq;I+LBZNnZr&e$UdmT8d9p!AJELKGuMEVN5Ng^qpqIBbLo^} zuO^#uc`6j-{K^8Uu(FY?Dy-3(=jvyyCgR?+PiX#E;%mq{VEu-U(DvuYy9 z%e=B@d<~dyUL9*%5H}8cw-zJpSCHcmKMCJSI&RYy&|~Lv+crq6 zG}#hm&m|Fm+@|piCFO*b&<>#j=sux!O_(~R%2_7`{uO&Qz^;;G(Y?Z|=L`jK;>6~6 z^n~(ZcmQ>Hd^0Ka+t(!x3>jg}2E6}>UP5TxeF9nk%xg%;aM3R`v-Ey8XvF0=npxVN4H^+YKr>69 zW`jmv9*XH~&`8lAG_&+|2*=|8KWo-A4#n>?l=YoBVdo}bJZK~zU`Kv<3;<7R7T?tO z1Pea@u_RFAm=FxqMwyGKUX{w0&iSlIVcjcI!r02AnGi~i z)3Q-TL9q#`&}YBGSlRs+#b(ve6w<*SsBb>rz_GZtnlD+;p&)M7vc=czY7RMe>+Km` zB6yB(Xzzr8^ZwwQUbzxhm!Vqq>Sq?DSnM_d#kA;Y`gx5$)?59o4FdNXDIJdrX}R*{oyr2!p==s z57%6Y*4DrkfmBy(dbQxSKzi;z5Tq08Xc-!v0hMJ>}!W~wDg)S`$gxIk_& zQO5lcvg#rvJ0C&{hmdT5E#G$f%+)&*fyGyH``~%$IT2Oxy<5RV8H2+ZW?h8jA#+^@ zzt~|6Zf7NyH{lk-)Q;xl8jKNavZAI(HOC6?(XxI?G!VVg68 zi82L~nTj}#!~f#YIj~_S;)z(Mn{XaN7Y?EHV4_UaA*9+xNbbbzGWgr=PV9$kbBhpE zFIFOlzbX-N4?~mF&`u3@0_*l7inQ}pCiuK`2RiikW~COChl$>(x1lFen6lv!*P4GnV z3yyU-IyF27DneKvah8KtA{pn!>t&^9@*bZ5ZH&)LKSig8w{wXQRQD^8!(WdQaSxe^ zX=ta2!%TdNwDWz3kZwek;w(gjp!%W$IUFfL#683wLOyl^>$iCn*?h$tdkRzx2E?UE z>#S{%Q5jNYqIxPGu&#bem;eR#a>KbBIMmFQn0!NX`vsaLdJe!e54-a|(f|UAq zlT=rX7L8lt+b?l7f>LZ7ky6jgrK=?=20+saM*--r6{ePi%NIKZ6<|94aHPavF6Y_= zrW|cV<~SH`8eSTJ==pluiAUq*C5cHcl9lp(%g_k0^K%a+bm-Lc+`-@vCisX0sQk4` zWYz)o@9h3X=f+(#7VSx={_(H(pI-|(=+U2e?{ekX%2?~&4Q!z=`ne)#iOb?!Tbf_h zEbyw^E3%s&$BF@{fBM5PHr&^(l(IZttoK6TTUp(}sIoJ+uXIZ*-#Clx%Ueq68vmus z;ak=o0%zuH5ui7PjfklNU6{M074RTu{$xbLsXZ`?dxT zU`Kq$(kR&{W3R_v50BK}dbIax58LmvoI#T^CXOC&c%u zTDvuBWDb*m`5Z(-b2|cl;5}z9P915;*1#0FNP1T&wq}jbI@ZnF*0C&oG7BkLqrWg5 zM~d1#AfV5me);TZZl_bTGNtEXinQU^V&=~p9;q>Jxm>wmW%_RPIwfvY;yY-s@aryk zP(4sTsBW_!bq`s}qJL)kPAc5{{nAQqS zcB%50hP9rWX7Tw1-J^((y2^1JFZ_BAg2V(aEa{=&7cr>e33X|H755R|luOSZmvXdt z{|tZJkNxQVC!6wOn~=7RrVUHK?5cQW+#;40JzFyMrS_X$$L*CbKQPM`bL^!zaXxnzo)s}{6FoRtdy($)4dTA)m5QrF4=>_y`z&|v zhaF&RCo>fieulugewug5ac)V{ys@ENhw0*CxSL|ggwaG3%W*63>o^3W5LmX1c^f&W-yOCQ zdjX2`sCs+j0`-0!>4^PhbvNF-Id#zLN{gmuZ3EKdg-qN0#;CrG7cRd)nAHvwyC>^D z&jd#($8=Qm|MZpu_7}_cF{t70jcI8483r{R)tH8^onTPIKQyGF<;NJ*@Q#M4uw-Z& z>i?s|tfS)CvhR0Q0)gO-1Z&(KLU4C?cXt}--%94a znK$!W-+w-}Yu|JBy>;ltT2;l%l5d0BlJX69Eu)8u{f3I|hl&k`ij{_ng@=lnhleQgze`N zib+5t&hL<9wx5cB8T>fE;4Y~`;CKGnVG@9fI3)QGgI=82*zo^~__q;>^1D%y*ckiw zt{Zs7#y%JAb(gL#?d6Et{IKE`tJgJt&sw=G&qhXDr_gl}fzm1bBP-9PDJPZdN}dG> zu&c4gm!TSXElOwmaedTPd30-`p(IO3bv;(^h|{1gMb-IUY!d9;J6r=+B1+W}O=B*B zr-?*oJG{~_!&Xbury3i&n^!a$rVAv=`ru4CADx(TQjLyhQ8!wqklZf<9)kc&_@y0?z)7j? zZe0(bE@|O5r+7Lqr85XKolzg&$~1`Q{^XOyZbo;)lsh)Gs1p*JQdhkOp(A}t_+-Lq zZE12~F*34oKm0AD`!bD0u-SXQL|237(k&_1CjXELzYZuR&ynDkrKidXpes7~yjz4LGRxm%nyfSE?sw4oTD1s7 zS#&4(N$3>yT4aQVU&m9QjQXgL;dKCcC7*A&=C;|p1O29sS zqoPW$0s#^#akcob9it%x)U*nYLu#go=^vareEIzrRaS}t^e(P&)d-yoJg}XN)7c_2{4E)aHU(F@j#@TI!klvNm5#@v``QqD^gcAtQ?1$ z5Aljca~6KjfN70*&wwcebI(AiuyuV5=iL`jXEwD;Na$w;nKvltufk%*a0p2;$pfjF zxLyk&NNK~pp;u_LnhPNt?(4o{VL^yb#&{yxGhoW4*fS{6MjC6@Uhsc~YBV=sT+EFI8F%X@wD7c{OEo4a1(l>98V-zh)$d3*plgfJ1REafQR) z(B6l8({=trt&gCRX6mz&u?rXHq_R%DN~ixV37Sf0ET9qP6F{d*4G~fQov{%1hW1Z( z><#TTPV5csH*6Aq3Hj| z+k$I%0y_dLAk({Af8t-71}Y3=5beJAV-W4R-%90wU_&1B!}@wjW-2i#ir}kV#T;;A92p7w@+agAfFA<$)53!u%|I_;@xPc z=F`tk&A_9aj|LBxhoiKH`yW)2?~qiT9s;=2(EO&A7slZNy*DGuXGArWbNWqv@zxFK%keN`DWRC-R6UN))MT z(0aLV*)!JSM}=$t@r!-O-q%$9vG~T+? z915eW%qn|yXZCqLaagC6aWE?y2%YaWVYXhqf_pTI;F^=CR=+MmK8X__6DIL*G&o4j z^YNdNu95MTd?um4)P7at+t(LATTC-^*cX<7bHI~pY>2rO9puG-)^zUX3m^QdTcs6$gAj9nxGn;jjQE{XD4On z3!GsFe`I4TPr38_#7twF?lhk2A=yaYuTK2Tpz)d%b7{4u=pSDEPMq;O-EC=Qo(S17 zV=hy8?U~?M+hY-ghql5>it8+&q0lg}{H7)cHAg>*ug+>UTs( z@^zF0A!DiJL_|kHJ3e{LmSdC`D&oubd;5IZCp^y`>PE_iDY|4SLf6*qIo{@)CnV1zg4@46t z@)V<$9MzDFUsg?8NE%TI8Z1rX&RbJ|>KjzTVpsx!aO@GL4T{k=~) z?b=QG?F*V*ozfRyqAj{{#W+&)VtB`nLK4dAs_|HIzGn?hupWiDD1mUpYlVPtTOfh2KTmKqAh4^4ih<+uHE@qu594R3^c_T zOTL`pE&#*bzeMlkwU7b%&ZTqF=rQBRTl(B{)m9o*-#ac9e&cn}7$BqWw~}sYPz}XH z?zb{*A+AD=$qhbV+fmEdYXI@Te)T4&p`gW+y%11|&^IjawP}&p;#{q^(xCI+ajE1R zuY=|QSv|vcjNV;()~|LuVl8l0DTwC?eau~ExwJK< zW?b}D%Pw<)TTgtyaK3#Jl$EZox@JQ*H9s7F9sa%4QA<9J+6;sGS8O)BqU7THVC*^> zJ6q`oicgYO^WK7S8(nKySVz@)=7(5}+Z*tCooI`cn&%{>VL;!{JthR;Y-jCmORIqE zSnpiJrPo->KpD;^(yazcn(bi)E5uZpME2LMkFBRNu9#=OvG@mN8=L{(JR(APk}mSi z8!Er?GT+4HwOCg=_C<$d)b}}|<87nEjt60LU5ovb2OwU|)MMQ&nBN%gbMK!IeeF^C zw{RoKgDG(GowviNCT}B+zTt@zoEa;lI3i-|4uTa)P2e$l(jzzFlDpFmSJsYb`f8;$ zVbDph_e=*}OiLA63Et-UZSnzyhSup;FCD>(ekOtJ6{eR3YdsZwdoNREzn+0#YJcW@ zx5wHSV-mqA8yWlA|IH6tJmW+ zi-zS1)aW;QQ2kW+7y?h;av}~iS&0Hz+*SO9^6&uZ%u8`PckiSe=U}Xk@bD$&e7@y6 zJ;w010Q%D5D)~1tgO&2e_JI%@%YDt7ntS!Li+rSg?BAby|WJ!Kg zHL-qM6}cQvjW+8Xkr`k^2=Dps?87S=6_qtaWM#znm)@(8yo52uo&$&D#qL4I_m7-d9^+H^lujN0@* zRE&B@j_NRPS9+$54 z%gRr16K-AU{gN-gBx=8*|B~pLGL=t$%r zhG9mI0$^gJ_>rn(ERyx&w$BCA$Aa#s-jN%`3@<>lTYX31CX>T;UO6wpr~vI3Rt*E;7t9)l%so4? zWTB3`zM#*<1IIYguSv8yWx1<=dVaC72t0o?J%q6N0g{3=7o@?-YVRMSc`ZBtigEfe zhnI@*9k!GmpBYsERgaAaoYc|5<2PMi34C_V8H9JHB@9R^U7l#z0c`yIpPP_OI9xEq za6U?522l0j5n{%+gjeE)yfYP=?izB^SbPg^%L}iJ|H+2DVTK(*)idyB3I`>DkRL9R zm^DXV&~-roo`AQSM)MckJJS*|c$F^gK!h(g7Td@Hl05@hQ{y%w%X$dI(TSLFsU(c# za9o_4#Bf#?LXG7sA8=?IM~C8jzPHYH3B1ZlsjRSg^Yv9@3*47JPY$#%ecBw6DTpzn z{Tf(QU(Y9|-*gShYX!RyvKshpefx05HjL=#dyw!DDA_ad{2@Fg?+I}@I`3)LAe{CC zv>X{*0epkS#hLWqFvM6H3e+A)&Pu7Az)iB~kyC&hjwW~smr8=Zj-0B43O^KxkRVwj z!AkWepplC+5{?js=Y?5s-KugY3iU=;{K10T>ksksq=u4W5L>}1;Yf{H_d*~1r_rH! z!=l}ta(9_zNDm(GqH(|w4)3B&9Y$)BmzCcziSABzC?dxeKoYpQ=a2;H8DC}s#^g5F zE};aS%zQ?PJ#k0DdA(fvv6t;i&)PzcX&b4~M(AxBBDHrcwxxv}ZAimLW|B(Rknr|< z(+cHY)h>ZpG5GiI9U?|Bq)Ij)Ah@dovB4B?Bed8q&EA_@?DVU5iOoglg?s6GypS65 zrvHS`&Uv}@&QuKe@%?{+F*|&|7Qlj_$V{9=r82E8ZjVT^Fy^Y01*r_t&4N_YXk%j z3$`!JSMw}VbktB=(U*30B9rSg6~~66*Ip~67b2EM=7p2=2>@`a@8v&JSy;#kNe%79 z^NFK}J6F(f^wFNvR52*vWkC|Z^c~!wcYW!5ji?td`MIY6BLX8uXZ#kCWWkAxGYjU- zRV_^)er9FyDytBSrPs1`bA0&cA^NZoB*enPMNVjV2rLsy!vUfokoI)739@*3`z>MTo({n|{ zr)ngdR)W6-Cc*scR@$I)1ePEL+>j>K&PN`lU6_1N_i4SH(De0azUbj(WM=E~uz&1D zveos?$E3L&IR{l8+o3k6V9PYVW+?x}H1o#d z)$X1n2&z}34*=30fa);g*Qa6@K9DDL3vg>0gGR;@VuQe}JH;Md?>B@Qx{?&tz)h;h zKUux%sRpIL%dU$xsg_dcZ!EjEF~1L&{N|dgOKlbICHFi`WsAMUN9*-yw%{GA1>Hbe7fD;(}Z0TwtpB!Zv80#7RqK7;#e>Dcv8@^m1r|whaK-X z9doc_;-Jy$#a=I$U$-(^-F$Ar3HD~a8m48p*^|CrGda;5ymm-TY$dGIh;N#XIp|1G zO0eSvKfkCSYLu)Bw@~dGY3#~q>@p+Lr|NImm%b*{!BvIp$32w3&XTgLvKQ(%I9mna;!h+^GhqF!8bf#35i_r*N$zlvC zcRRzi4PCz`fy$LVD$qQ=$05ew{_R*T8FvuT9Z$c;Td*csztoX*%v!f*J-ZU+j9z++ zkf5kP&Y3sqa7FKQ`;UjEbJNzQYjlxZ`4j1wHAHq!+B6&_0}8p4ed!o?wkvtjGCD)n zUu*HCA9`U9ZQ73^O_H@W$2E>`eT=x1C@(8zIGF{d4S^BCb%j&T_}5H@w}E=N943hi9m zCDElUOx=3pvX0f?@HX8#zKq#3Sb=W#@DDbl0}s3t2xCMuf9y@JEs>yUObOAP4l(XhnE=O`~_m`XK2iF_k3(gS$7{)zWGYWzHh-h1K^z zJs7CD#M9Wx?vX2OH+C04tT13219)D|t2eL((aN@N= z9=3O>Hz*$@ecgX_EPb2>T*ABDdrLb$7PHX7thnm1TGZ3jU$@DWT25!B$oV?9P#iPZ zgI$T!Ap91pg0sIIoepBVKv zooPG9Po!l!yoTu*uS!*6V5WjQ2|Pzf)yk>6Dl+oWPM~nhm5ez}X)_r)5_x=+-r~Kt z;Hb!f_{!=qy^UF!!yL4^*2`^YFH-K82d@BH>aAI;Zc%-FD*r|GI~PnTeTCz-04qM) z*`OJN!YfF=mk(`QMtMHi`@xJtle4E&COcARk)+^Zm8uaycrSVhIYZd>Yx(K6+KcXC zA3lU@%i>)Tl5EkBHVfs+Y|$%m4DL5~BCo|1ZY*iSygTo1H;l?hh+=oHH1C=V;1#%TKh}W0^ao5 zrFKw6cVEkgagt4D@ULvT9z?sD`$G}oQ}(`)mQtAy_#5Z2hp54@PJDx zo0yc;Hn`tr>a-8eIIwEA*7RJt&y%*7&MzGAzoTfgScd}c9KI_lbt*?dr7y0z^;TJ} zg}uI;r8V@SD9#Rg8tTj5I48_~UG=VF@djHi;>S(DTWPm=LI#A(8?#}BPoa&;!}|~F zClyG^GL+@_;!(yKpNKyCc?$7)kvuk$FZIM(w`43mePdNlZu7!({Qln1?k%o=s+=W=^5RUCc>^U1w(fM?V5VRha& zT)t#NJBSm8nkY<}IytrG~Uyii7}6_3+Lpv!>5q zMfm>ud~dsddOO9aPt}<{>iVG0lg8PdSEt-!XrcTdQMEuJvG{$bemLE3 zbXZ}XiN~gGOcR^k$(5e*_knx!?&~57O=hNIL`g@kC1&?OK7Xg9SxnsC(-~(xzqDGs z$eEg*KaUf4~aIj~kD+I_0rg zT(-froLcy*wM?b6EFfnN!Bi@`5#3Zl{`A(rpGHqvy|OcJG;W_p51+nVRP6qa*T|S9 zA3Z-xpEdssW4eb*$9}2IF0rNFK<8q`fX$@vJM!~l>r^M9zFj{9M)%%S^tltzGS1YI z1yMlPumnbUtT}1+6+3QKPd95x60090yjmb2EFokpJO2lAXMg>no2D-lr#6j2c{P`W zf(;F|G~V3PR+o1r+bZVu={%P=Pg?$%9i7mGH<89~e8&p!igSlq`5m>m<23OxFI zoe5hNLxaI6l!g&!A~X1z4uDJ9wbaOjEdzc_Xv6jpGn>g3X{ z-PXXRBH?}|R3hnidntro>di4F@*V@S69_%#Y^6Qv;AnMYNq) zRqOV|qY_VLw>*S0Tlqsr4XPA&iswnoX^3*`?@I-;C<-1#1v-n><)a`g7y@zEQ)U#` z3~ZGMLKH?uub_@gK+NG_%+JJWZUQj26`#b9cMo@|9GSuxD+RabpGB5)Y*PyG=%3E3 zcu|&Zu!4KJjFxE^y}TCk!#{jf_f9GH-;0wW^!e~4`_@fq2Q$hKVx zRY5G;iMQK_T~XbcR4r`Ks2c3WvdG5 zYCaY7LQ5S)otSrlP6#qn0?#`*hlh!lZ27LH+=CfGzZ6#hAcVWlm+isz6i)n-I98^< z4F_%9lP{5XhT$fI?x#(S`t(42M==g95np!-p=`-qN>v8o)#TNrO7N8Rx}0zb1%f)dp9@+W`J#rN)( zmm?w+Su8@Ct`2h>bf-vJmk^!yF>gm zKBRBsxb*VZVXvDT|AEm8p9_2kvVv&YHA7mtyPTJEc^v4_q~*s9eHQDpLDk|nqNIX4 zqYs}Z)LyP%DSZEKS$_(QqN23Zp2&`qWX^=BD__|K6EVA*hzJ3Tsa0kR*NaXFbfXUz z7_V!11$z2XN(;pj1(d2hU9|jn9azf!vIC6AC5Y^F{^*J#cqFCE%)q9{8xBn~;S zSKn)NYb)_ym}Up=)@EO0&8e!wDs~@UT1_Kg5Xf=}9~6|2ZZLIzCi(_w!>`xBSK(ML z-z_(+5L-aeG{4Xqee*G%Z_yry(C^$(Nhrti0X_c5NHS3fe=Qws?QTQhI}eJM@oxP& zOkpAROYxqK*{dPE^qv_e0%6MEz>7Y9vVau>-WQzr~Vrpv{j6v#j2^ zT9y(3RBc=L5b7PMPO1fabnQ7 z*C{+w`sMWq0D#`a=D}hl1nW}&n7Q=c2H@|wA=FqjneE$C5IR~2ysn{e){OHMFWB*Y z92o$K`+zZ@Gy)KFGu9L`(K0i&pwi0Hme?KTj$BsTBC#pDEhKw*Dw3hF|nfBY0JO=Jo@z8G`WyV8IuG1kLA@_ruigV=)f3AH@Kcv zq=_bO}MD_p{Mhe=f94W179~msot!B&YET67+@uI!7v7P7VxSEgf=t zrGM#SI5DPIM8+N4!n4SyQohfnV_xL3s!&+>1FwJ(2?K4^xP_egLjRwE`W_y|E4OcL6ZQSuf`Lrze5CeDcj{)fzji{3N2amSC7P$mx|Kz)I=8Ym~1UxoTu}@{fsCD6f;!oXAY}-rmo*ZtU6@;E{ zA(q6OU7EX4vgTOMw_e_a&E!LNlvOV6vG*pY%B-@n7tOsobqlIS$uQE&WGIUgBd z5^#2er_hp0b#l+O5I!<;he$GHjA$Iv3?R6K7ZngrecXHNS~+RU}aWTcCoI~SP zwU3GRK(hJUU$U&!rT%0ZHIZ6}u3u@=&ZY+jm!H+$WYTCBYtp6cDNo3A5D^p&KAWE0SIZdR$s`f~x)rg{Hh*-|pSwhJ<)~{T zcqHY==X$udddfAFa$>VWfW6mm(9)!o&fm?jYN_6O3dfRB!ojO?dLdUtdwZGs@C8y$ zFR~hU_a$k`t6i!gh;vqJcQ@qRX0jmkz@*#sYhGf>7a1^`wN}?ythM^f4w0Jxsl4hHMu#TJ z%$ORbz%QNrefo1fWSAypQ$Fj5JH=L+=BX^9s(bH5O%WCQWhsq=f>U6WZ#_i(1om1f z!H2sMFm`r$M7#fG(Jqv{`v~(IfBlzKrGx6k`>zzDkTT;O;Z>T(pt0(C-|R%52r0M; z4OxO+Ky5*@67?80Rn*X1-r5RTkaUKGgAM-fPAaYf(EN_kJgqk}Z^DQ{fJ{uUj2n^f zmuZ_fGG&r(gQ*s$(4Mzv$;i8TTn7h;jjnB%Mw-Z0-m2(?)mM zBdiVv64oDyhP*Z}tx%qLL~0(vxy!zZ+y~Faa=Or>g~w|*=9)^_^cOmJh%X4oK51|~ zX(o%v@}d|Owctl~CL}`TROjT=W*9mF5(KOiHgBGC_)_q8wkBM^8#zpVYHWzK8!(zjcD z^c!*hY>7}Ps4$j-%DlCR;ld|=sWt0D(_5+Ciu%L;2T`>e9RIJwb;v@?chKSKy}7U~ zZbX+Y&&SbafhcPfUDb#P;@-tYt^kxn?xXeVb6byNku|v;#<_hu|8|BRuTkvTMEmnS zOHxGk5%>w~*icTr$G8n9MzJ?zGII`_D~sDVq(9cPnz-71CNAzmL`3#xY}X%_88TMO z;)@(!-FnMz9Jx&ID9n({Zi>1YW?L=TJV@^5*}^7Cc!bYa+nxdEE(;DP`*6Tx*wob{ z_yGAh|4!5|qWyFPCdVu09DpXHumMMlsqzO>IDhHwDZ1YmAU++YN}-E$050;of1@y) zPb>oQ8=qLmGA{Bv^_<^#8rom^#Ik>N!4H^^MIz!O@I)bMjB|9u%fHU*`fsFPbiog3 zQvFUhhhQVWE3o)ydX56oKXLvf1rW?_Ajk$|K}oQvhf_kKy*v*48r|4NF$*M z4WbcHyd`F55C`p_yHJ7%C?1325?KGHq(StpN_B%M0kirNxa&#oztR65umrZF{ga-L z<_vPNA^c~0lj}csLMtY`Ey(`8SHk}wbo!6t2ZsO4m|U@>{r6+goB&SFB$vRMIi~+f zLvDTZ&w@hfKd#TB^kvY^*A|J`PWT_FXKIVg%l}DN zBrv_-nqvBAy6gTwcf!|XP69~$+3SCRUX1r!xj?Z0WfZiI%K!T@k--_!cyJ; zNyGI1@XrF3m_KeE-M=#nF4S=b>7h4K|KE}SiN?IY)+fPhryb7#2(^Eja&L^X4**(# z1}m`0owo9M2GqJ&(>?=?HsWqU@}=+^=SOan$x9<3FF_-Mu*@YS2Bmmezfx9jke)KE zCsmwV;20cLz0iv{@F_TQB5wcA#6qR))wgGpT6B#)*bmU1+zlZ6Jb~r%y)Rh5m)_uL zl0>9Y6VT+eu)iQh#b6~gxi0p7HM%QkQf(B`XzG(EV{jBMCY!dId!%w?0n~lj)&VxUYu$fb z89g4jZX8(UTG$!TlQ@*F&A;vJWy$b@ke0b=I;+NcjJOC_M{ZE$t~hObTQpke+(Q+- z&857{rL1FO!QfkEF2W+RX@T`ap5cx9C`pM5@mbuKgXI_-nf1|I{i7Sj7GEffy3OA5 zMn_STYU>VfI6y*m{dTHoi2Ehu%49Dzs4>>KsR5ZR=w8!!#~t_px*stbo7E%*H6|H7 zc+kcgC3p%f$5!tJW*TKLYMtZwAyk)-?G!i60(LG49(+3HL9cvRXXg~a0|`*?##qC% zI+5D!@3!0K5HA;c*4a+<6JpzS0;oZIuH{Cm2Z4botC{$R(`8(PNtVmnE8*rs-VUJg z#Zc45?3=3tw3MXhS<}^T)s}PHdTt*sQGI+^aaLkd{U=uhVaF+;#yX=W*@5dpy?VE& zwhNgH8uYqMiR9B)FQ449xmsMN=4)50UeWA2bBnz6b=6KE`38;QQv( z1b#X+;#<|8^&MJzI2*x&vX&uh(f8yRk#PqTS@<{4m(eezTW8v~!|X0W6e``d#Gj74 zhuBO&j_k9*p(|%|3cx{?_xFOQL85%P_Wt5QdCkfD10LfHpK^Of;uBE}lueSf#w3fT ztX{rU{;K-r!tHuPty4nS#JTt8rmDjyGdE6zwlDqCf18x`@JK^kSkw-Odygsa#*=IHe`+V#W#aQR1>iw(Erq`nzx8-| z^^S0PZw%BS8lkh!F4;7my^1IFnRsKKq)Gboea4*`rNnFpc25%6)Ob&qC^d5vH67hx zR6My9s7u&n5xNsXu>tgS=R9cbSPfNX^ItOW4+Fz_UE5hmwYgsK8EUkCN2$M#mKk!* zjfFY*p=n4z9m2nfc9=qKtHP2pDgYz6*ors)IxfjYTge|PL16@#-(D=>RnLtHHS^JI!!AT-k*09KE4 zT#bnhYTSS3@);GHu2mW~`a%Cmsax&E@?QAe&nC1N>yeL(%OyjR)7&PZtn0x-+QN4& z43M4D(YH&Fu9w(jEet;>T*in=k=QM-Pk}e^ zZUpd&_b>$M!-2@CZoE$u< z)6HxC;`nmJ^y}Mq`1o{=%hQuu%AamZl1#3zBGQv2;>@E?z3m7xLmDB!Y$YGc_Tp-M z0MDHtjrh#Df?76npHd7gE!3CVdWOnqtM^YSxBHH~*%xytOuCO!*@%v}Cxwy?Znq!Z zkImbT7FdY1ivUgrm`_RBjt>m(gJt6`{wzKZOwE{sR^d?BmxE=sF6a0ZrzJ<;47;yN zf2qymIqd)b=U(Yc)tW>kwc~=pTd#vI@>1Xv|H|{08ME*w6_1MDEwf4-E{vO?=n@%z zRng0p5!^D=A>(OLS0lAPj}7ai?RlrWgBM`!L0j2kozxXTfN5mcF0VsUzjJtDZKs~J zZCs-lVY-Q{P=&$mAysEX`@Nf$kAWB(#gTVwL;;p-E9O(#Wz$VvGfR=n9zC>@le;8C zq%V1)_6JY9UmD|;%~HW-`3T}rfv}}8FdC%VmPg_5A6=Pg zX?>ikgLrnO-cn*fWJ`?T+Z5quY*Z@v4B#x69&Q|JS*R~%F;;7{bvtv}YG%|gHfTTa z{b}H!6?0HjQS2TAxvZ0U(D;tO->A`yIh}tC)$loJjVUrvIPk?j^OUifjas0=ynS~X z3NCPt$+iC+c7xD@`laLf3S2MaGl%NUGg{X1={)IV|MaMluGzo;Uf4IUqv7{+&vuv5 zuPTYh*NEu^>y4sB<@GHd&(=p`zz*h(ZA)J<*2fU3Rst@V@UVV4bXNHGxt?tO7hg%# zN2_=V2X)b_S)vo{#$jYS)q)Kcq#|6blnpk486UR)?%i>%6C%GC@RD8=bWVbdcBkGRYz~c5(9Mq z4l5z(s6o}!9f@>Js+J82PoJfyL-naO!cl4pGPx+_E16#U_LNokpzb@*uhzU9V1%EZ z&TqWymC)Mh}SPZF?S%pLv6C?+3^>R2*|Rvwv*P6 zn|yT@y`(YjpJqnBWOyZ=`yH{y%7C|8aMvee**=&(q(?*>HsdgLwyQ-7RUxiV3Z%SZ z>t&p~I01IJP4SEMr+PSI_|MLBMLboL-590c7+t@lHjoV#w-|CPxP+ReJ-yhkclA$G z$VZx}#tJp{9+@kHx~kSYMkoP*u>jbm-5As-MBWCexVYN>0wB0KwO3@xIh+zQd~FK3 zX&`T=I~MQok5zX&O07v#XS)`CDv#AdIL{tZIJ+Y&t4ltVN%z13Ffr_;;^%IS;XxuA zN4npEui;48J-C#BJJwupMNNq-zK37&+o-sSV@5(I5|Td|MA<{u+2y@r@xiwG(HwH% zl8)IJQa2E8J@}5Io_Bj6lr9fK0%_8=ulfHM$ zcP}`iGfPrzzv-7`IeS~wq?6?Nuj|VXhEWTN_t=#jpGwn@+E>bS(93~D=o~>*VsH;p zYmX~Ts&nUM&vat&5B00T*wZTy|9Z(TfCCo6ri9L}zz5gT5?A21u2l~R?1x_VJFy6a zZ@+>6{4YIe8HIqq#G)F2i}dafl82&xSIj@_;%7<14;*hw!pr|wf8$Z`9hyoG+%_Qt znhK!}({BxopCJ0H`!6ue?EX)iB>VtAJ(`MB^M9-$ri6E5c{y;vB?i@ii@<^$I9fE7 zhFiS^@}Qy?)~<-lD(y%Rewht(LI6g*$SJrzhV&VnH1 zTvD)og-5^g2f$)pp=iWI!f)U`XaCWYmQfFQODw7&+-v$jNbZaJT`~WxI|Y_}>ObC; ze3JXE{>G!=y8}SZ^A;h)0f5kg>9^L1A0hgy`!D>Sz<;+%KK0|%9{`-1|6>I)B@~M0 zhIt`r+C3=mGgY{R46K}3@ch* z0>DG$VMRK&cMpK;nZUh2p98dDMa%gAp6D;pKicKNPBkECk@oi#{{Sh$>rcg^(VyQ! zqhI>Je>eXE2>H+Km&9RIXev}Q-y*dW!nq@~@tBCiwbczX!@1X+8BLX_W@!G65Z#(^ z?rnm<3KPP)33jRfyMo44sm=z+wo2+hHNO+*!+)#!L~0yc7s7DK66<&W-KO!V)|Dz* z^1hGeua-%pvvOV7duW5)gtHKgZN-ibiYiI~+I|4k>O!-&_eG~MNtMQbzreRYlPWpP zj&xD0DXnhR_3Z=UbDy|nXm1awZ5(%dDa$sGPN<%ZMR}1aNvr4MVCS202X%#)B;aUu z_0oeT8~avA2Zk6foDZjZ$qcQ2_wd5HA@Q@-I?XyqoPv?y{o$y`;>5|ja68bzcVFkGUZZ*sMXXhv_FjM5p*`;3wQdhPa zL3$$LMs!%Tf@wR|!VhhZy0`gGyAP$|PJDJsweZq86B;^2ZhR5*bRC1r!~*N3{M?Zl zb=S$GbX-4@qJU2l=w867Vjqh}O_pWV2- z#0{pcmTgF(E#4+v2{XW443ExElrkx6Z+Fb6ksS{r zdykZv5FYNo(Qr*&+GQQZJo&k>oV|i-*_%gdn{|6(hqEdku;9!IZjx#_^T5cLsYN0e5-{Z@;HVOiOR5@}UJc>}*UB*V3b@F4#M`ePog^>N@J8LL6FbebHfPHjWk* z{2l#i(DZO_o>V{&qUq;wjrcr8;VG}8nZSDBd5r^-(OBOrY|>KqE3k1Zk3MJXWolZU zlzV%>1<&ZNRVXtdW0RdMV0tk%MrZg0UpVXKE;HzU)y*~iT>?!9%k zDZ?cVs8)1R)Vcf0&0MY&v_r;LY1e6-V$F%%h9xsyuddbMQd1yoz3_4%y9!3#0QFN> zb)FqA)ISC7b7e$bxtkb@O;fhX*X{eZau_7s%cfB{3oPe2wpgQ_Jxv)DU!rmz=U;AO zZEoZ|7w&(@NWGkQOvApMcE<&W>j0LIZ z4d>^a0>9qe^DGbNYe?AG^uvb(iEh%lyNiRPgU81MH|IW~4b>`xk=geG1<#7F$cEn= z@axf!%ryGgnTlMWAk&rymWT;oFYm~OMYP*{ zKPDx#oN}Z&@?2u|Bk+Jccub<(4Vgyr@2GjYGZwLgnSD&q$+rZE3yD2TX0>*ATRVQb z%ONA*k9?;a&Rfy0t{!V)$Shs>bboNSbj645?#3B;loPP}{V@7Ev7Lpo>0)l)9ns&%@R}i8crgCzb+g2Fe_2hBcqo)@;j! zP8*+_%dgs>i*;ebCEQQfs}CL7B{2Vp_VTvpMTe7Sgr)l}g0+$FM(~=#chs5z!#kOb zKOsET2+>U*{z%$SaLl_qh>@lacO%@juln_31~ngyR{gRgI<7L}Ln zTPV`YOP}kjV`hV|PshD07J3dl9&W9K8|FS=ueAs@Qxt;g_#q2=Usb^4cO5Z@*L?^s4FURsg}ku!8?@DDgsP@5qN!Fm z3YyX8-P)Sb?bQSyEuTN$^4Yd~$5oq_+%z!ucmvKDJ-W3G)VEWe+2Ns)wmoBBf|D7e zmC=u5*Q?eoexgP(WEnTl=syV#+mEF$$Bbb1uWQVnZWSKC9=6|iK65Dij8TT}wzN4S zB0b)Zw;91VLPdkzV=`YK%a@v0p?}}ehyu!M?=TR)AFk7x;hIk6mIp;l7-e70Ph-sF=u-(BGgUQku6usH^8Nd!j$ z>kJ7HQIqqwp_Yr+9AKa9r-~!nFlb>+81-oU+g#o$CX(ER4)eMdI_3Ml1Ctlc%HO+v z;Hv3b)uJIHvo0#0qnC024>mx_zgd#Ti^bZ{Y7MmU$a?#6Oe{VZKR#LSR+<08pS@kL zvozbrn`|4e(pj=CDWNzafG_N3vt(PW+Q914`nJBg`)8u|_ z?m{?X569u|r37p5en&D)l6PwS>aD)}%kTa|ZG;A>k=FuYfuZp=7v%p6>+wzYD!=w> zJbPmMuf>1bQv8v3D)c)1W0rsav}o*aab5d~vL&k9xqg?;-8?~mHn;6xFPChR$#|M( z+=H=ieED-xT}@b>`8EG!it~BuB*%l3MV~*5&<+keNrZM>nnSP){hu+1@M$P>+|tOS zZU5+lvlkCZK;$;;WBuQYo{l(xy(d?fu(EjwdyT%lJKgHMYnDys8hZ9>;Y+r1{&CKSr&6e_D0Q$`b?`rM`HMqckgFQIOH~Sd!+9D zW{|mO(3+qlNw%F&Qj=rqxJjV9FO~#?L7B<3m|K(IB-=;i_bga}Mir|)3+LN?efKe) zPvV7pa&F8^*kSezlF7YR>4rUTmh;TrbF$1H{He=o<{XI z@#I~S;TdT^*>2Zc2atRfMqPzbC+o#xuAMS$S^22lDJ$I7UrypQb88HD_5V5Dt~buE z%e9uIk6dQueKudtS2lN~ZlJg8JWjLRn$j-Z3w!xKPSbgs5kR3@xT_w1Ti}iQ zO6}P+0{^s@U-!Ji6R8tt5}b;EF8;~*XXBqva6a}%4U(DGp7B??vQNBEl~2gKbKZR| z))XLPReYCCE^xcm6IZ*m897%yciz~+G9OAn_lvKx=#Vkp$Ri~{7XvTHdXwKWv!nN6 zGvA^-k$M$3^G#w$kjZN5?ntw{ZIarBf|pKr zW@es~vz+~WGaF`c7L0n5nZ^sPV^~UdQ&`EQX0d?|e^sKlH{7ZdVXf<~|P2dFoGqVl)KWFye zzo93EigH05qZ}1!``MFtvp_RJ{msQQ9rI1B>O44bf>KnJoG^&_@EOY4{8s=9n?eAK{G%d z)C1H(Cqx}IL)1a-AcP&*7q<-1Q*X5cM33EPAw71V#q`*H7Ssd#;0_kkDQ&)~W;{i& zQcU?_w>`O+|8kzwXg+!8ZN}68M#zWk?qBvRvt7^Z=KuaRwY?tlw`cx8UQYL?fK}!H zTkQis|KC28{QnpE`|A0B-J%|W0Qh_?u+Pu-`W~2D!h?D`9@IC86o4UU(NY9DAkYDU z4pc%1I1<`pp#=Ku_Jk7boKyLuQ@p_Lrho?oJRsnK?*lyWJu>kg2OhAnc02HR5TJni zp@0koWbj>s3?9rx{A+*=iXrtQKn8mLBOn6-83@SWOM?vb>XE<<1ZE&G1A!TYFa!I= z``&Q|#qtWwTE05$Kz};E1n@vFth<{h?&i67GyooWt7aI8pi6f)1&AO(1OXy^p}&3e z|J&tf;Qt@i{QQ5bS(E(#m-zej*XZ(U)cZdg1u%(M|6c})ee(tsnaX%I#d~zR?PHQ@ zJisq}Z+6agfuFG+n# z>WdAiC6!^w~0>b|nsDMBP1S%l>f8qZN zq(C4A!v7ckzd#BEQt+3B6f}hYFQ5Ve6$q$6`2WKH7yiG%4g_}aUBM0>od4g(x9inx z@$nHB02TTFR;%9h^8fXQ=>LD2KRW+!9`+Zt05Fvb3gFXF064!TN&Nki_$Y_}h!nn` zH^Vu5Jv=K?{5vMcKd#v^yxM+fP9Ks?kILacEMxC4sPFbk+1E^I`DQ(;Oy3XlIQ%N% zjJ|0)ZbBcQKHi0L@fx%F z6W+}7jI~)QbT;dD{mdk^)!@>}99E>;?GQfB?o=m}51;KELDJv;H2BY+{{CSwnc-VE zSnsmprS{e}Btb3-^6xD{E*b03kg;yGzlV&qNf+IH-qV#NrQv?OB{S1-I40B6 z)U!Z2>L_g8{n_zqwcf2JNfD$Ecc^SN{Q9UvrL5ub;lZCEZ~ghQ)VL>yY^0l~)>BkB zPpt>d^VPd?n#EZHyS&u3o-?^gX}!x$O6y5@7qo;--}+n!;Xt~dBG=Cg<>qJRW; zxO$N;yz2Y!m+^-*xkbIp`$@dPd%k|g8fEw-WBs{k@ok~SAAFe2X7Ow~ney4@nk1X| zN;Ws@L9V$`4^qvr%VwHkmrXP`;H&wyb9(#yJv9G2+a}4|bUJQy+ItJYm*;=$ty-<+ z^S_(*rsRLW#2=aeEgtrl$^JGv?VpPZMeaRMFFb+VyU4olDeL~w%rCS_J=310c&u4J zs5K8-H8qK!&bM!M=F~Pfl;&Z{-!RTC$t3I3^fSi?5pJVZiDQ#!Ci2J{wBWYxFsF{bb_Mzm>b?t0dQS`s1^!?+q_u*rK5xK`R zCQ|q?T4EC8LPlmLVkzhOqP8|q}lzZ7`e?+ zuZ1k*56+#TpamfS;p8sfrlx^Inw~`nkko%hDgeJEvy^#FPs1srT!6dVmt~Ij{pQJk`Pl#}KzM)#qayIDKXXH-kSH zRC}kSwogEbz_GLA(^q3P-PLpK$Yj9u?!ocp>D2}7t`)n7y}#e|E=T?2b2C=fyI=Ru z&o6tuQcAs8dj?nI=t+IDB?3uD#0$usbL06h>QEmv)1)mX^qDo%vQ?$BWiJqEq zbsLoe|Ej+Q5X|>tC?VjMZy4N?zcbF!$(Qnf_#)7kp}0uu&A%$92q`8R^NL)2sp$?&R<`j_lKiAH-Qga-dvo&z8>lW2|ke5QPfhy zN8Sua$0Jiq3y$=!{JZRdc~Dv+KXCr~y7#JgIV!HD<{ar?o?V%rOyR)LyZk0T;+%5b z9_e4cIPVQdz3UwE5+IUbNaj4c{?+Mt&^taIpV~}`+V^_UAN9tkkOqOcJ`BoGT;HZR zY|-cAv-9H@Lj<3hh2ftm9%&F=<`T~m+g=|x{ zjVH~biDN%y`PZ<9D(uW(|jSgI**mp=n( z`ig&pv))RLWd1n(2TUd=lYIVSmIOLK{?Pj{PTxbpIaK10 zcC$GAzs@VxU!Nu^9+qBhTq#7;Aan!qhpSN7x8vqCg(n6^4mBq56Lgm=6PTVlb>Lbeiw0wSA}}|GbF@PCRkqkrU4x7DzVnHW^Ru;%zP5RVNyP*@YSc z)e@+tV8564DcgPaG23NjBJPTaL+!zqXP>_PEwK+Z2^&Z3LyZFVp(X(PP#dsc;>~(; zSKKQzKeuRJf%87_yadksC^+v~G5>(O{I$fPb~Xd?1=OKlC-d7oS}v;bAh{?XWrOgy z1fur8-tK1T(1bwe62CI|+!BaxFnTL0dzr-3Wczgyy!xWipm;Zn?Ue5MZuZvMLJOOJ zQ8z62(b)=rOSY?IF}_7b7Q1jQH)*ofG4@38P@?5efB%Xg<6jOw=!7<_f>kPmRjPya zd4;ejbTWxgb`Z+_%l?bY-qo2o#RCVpOhT6_@G=Eojwk?gL_wG%62u&NFy@nZGf+J; zZjZ%|Kk7cH=_?6reQhwS{O$d>FaCRf^{;CDcfH>B^}i14b-{msiNCLp|IXFF9)SQC z?Jv>(`Wo6_e+2~iH|GW>DDEdjaSLes`vvm~X#216oWCK^HfMS#AZ`J13y7P(Ap+w5 zZa~~$NL}zR2I3YaLjik#w_xvYPUld--tL1Ju(yD{zcH}4iyi@J)ieokCng`AZ$Y&= z#M>RPy6|ov0{2Jr;7Op}gIX&>6SZ2?*=jgjb!V&QY#rdOqX=(xoUI%kZnjcq>+Qzb z`r!P|*_t?8G2ZfU;0U{}#?CL?O&=xh9zAt82XlOW1%%w3Lyn7v>%x&k99e-EZ^FU@ z!i%>JZs1Lku#?8Jz z4Q{;M3~}S_W{4a2+5*)WsMbI=2dX_#4T5SBRFk0E1l1_0CP1|T*yrKK+fBiZ3vT>d zz>T*bF9QwlJjRW;n;vew-Slwd?WTttZ#O;Mc)RK0#@kH~H{Nb~xbb$=!;PyQ4sN^{ z5jwc>D$(Xo!j0D`S?6G+wHI={e(ncv{P%YG)cW7e zR_nmm|8BR%|M`pjdHC;Neu;jWrSscWGW|tOMZXFle7h7ua1ssxafTg1pJ$W zfQ#O@K)?k8E)ej)tloE#4gI4Aa(_Pz#v0OWHy2xHb2D)^C!2KZ-#s7ke74z+XDCkX zC@Sv!!%-R(73}C?Xy(IDQo(ME3bvq`1zCfIxNE%xZ&4OqaM6)28Kk@Go_}{12e{QxKq5gBTA^6`f@%IhrKdTlc z`p=^O+!p<3ynZC0UIFzAs8_(A0_y!sK4$^-La2ax1=MTbGXeDqs8{r#zj;uv=syei z_qzrEivF{Je+B$2;NNc@{M!k@zfYtH{YDqxuruKEt+Nn^HhPOKKJpOA@A#h)z+P+h zj^5=!fX9=d6wxsj9b-ZMR-Tq1e+BvbJtBYGqGRm00sDm&kgtGzzeSL5TXc*?$5?cX ziR%*7ub_Sf^(&~~Z~pJ0_}|5Rwfit`blQ8X|5o6CYlp4Fdehhct%?5cm-!>~e_zLo zMfA&SJyD8&QS-g|B>JWQYqs3{I$uo|yJ-^rvTW2N-6nq3?c>Wpg&Upr&$`lYLl+pJ z9k?GoK>hkx5e(LxQmgn|jUO(C0@M#M+~Hz9O+1F{Y?dY&I^i=&vzfJ>_(R@|;7gWf z?haV%wyWicc6ovdt=iJqN9hIYM3ws8Sg(mUp6xgQ2tqxs~Wb0*iDbe5l8vEx7I zS&?=#XL2{6WzMuHi{Iw3H2agu3SaL@yl{8)wp(|{FnjCn7{zn%!P@~>lTdXYXAuTL zjFxGL=!UxR*2zw9nynOV*^lCU>5jjTCr%j`>nZUwQH$PFEqaHL<-1a7`NN>$rpfrT zgPnbB4pSZ@nsLI(Y?mRLsrmw}vI9=`pv#YgLwo3V3|Ri4qx6KTggoI)XxwL{3vq7n z1tcBa8)>f0-+!EC+xgpFuo!4=v>$(CGos{;_xGCz7%>kTdW_mX%pr5b@K4%J`>g!^ z7@Ldt+e;hkb)Ox2jJP28N#q#wvg0Qe$1f_5t2Q}a>SYM$R^|Kkf`qgG)D3s{+i+^) zTin{FKZgk5uEjmy?GJYiK&1e&t+}6o3Xmy-0WL-MJ`^8pPhqnCxXG^9i}~augCLKB zw%5raT56s;PFA{v`Fb^8>XuyuXi#pvOu`5gfH4A86&JA@PmJFsAIH-qoowfuta!2o z465T_#&5|-Z%kvGQv5!O{%AMBQdhk?-s;0|$;U~yIDL5?Z)4|Ee7&9D$5~ zgjSk3clNtP03-OPhGjnv^t*c~>eoT}q6$$S{!74o{i_CKFOOe7pRe96;*TykFSwfR zI$KZHc4-RWoMsU)&TOZlfAKEM_Y@8EW$b2Y?bVmu<;x`VK*zxaPVqgyc3sL}Y}dO@ zT5|VZp7e>UHl^XAj9#p}i&raWJubMHb?PSK6HJ#*x1jbtpT_21M1O!s_6hpjx{+gD z>(1$l$^ICf*x>Bs>f)m0TFptI6F^ssDk`bu$X&Vh2~C_7t6owMr+eesg-w zG##f4aXvA@yXaQ@_g%8ny@$Jdco%Pz>3FwHmg8Aj*K&P*y?zt@aqyv*_om}?u>SUXFdK6%!H3{;2z2l4%FWjX={G}=zW-GnZj#A( znr3Cqz;rET4ea}%1n5q~p#8eFHq&*Q5mgo!?(aUc041l8IL*e>IE%*`l;G@+C-3sTMD!MC+#y=; zh27UnguHSuJ~gljv^&eFI|%TJ@Wv8_sNIwIEB~u`JiSM^8{Mk)cA9MG#bP)*t5Z_Qoz8u3ZI3f`3d)F0^V!r2-_qp9N2R1s-FwwGbjE>U*RWJW@x+2c_2|bU3KI82(y9ihEcMT%(eEqXwe(c&p7YhI0@=6SY?-^vvIMIMBdcV z*?8DHKcf!U^TXV!HS@#QgR3{c6Tj}{hkI{E)_ss4zdAcRzdAnco%)p* z#|Kw8WbGYw{N{ArzdX6RxIXWVdf~O*Xx`Sz%j4(gJ>uGKPRGO1@wtC*%(dN|j!%2% z$K18uoaXI`y068#ogMejoeRU)c5^zuygD9SQ?(bzuX}@w&kvtpogAMNh1ZM2$IpAz;YNP=`QYmK^yGNxpL(;X`|@}1AiQeo zF!vs}^TQW6=c7JR_+ftd?ELt}kT|tYet0k%Ul00MgZ}7u=kQT}cyv5?(HprhTk)#( z&(6ua3ODtfysL0i&&m4&H}zcg5|_spJ^H4eACE6aHxY4R&El}?C5XeV;_%;3`$M8R zw2Q;T(ea4r91n}bCs#q&3^(=sIJ~9krk<1i8@{Qp`-9%Od)tcst0??xL^Ov%VvzHpN+S`0BbhDEP4WaP0uy^oy%gzk{jO&~f72Yvz$( zs>U`PU-!NKu>nou_`H7{HYoGZFK;f!ug-$gubHR*>P*!>*5qJ(+4-HqDR|?%(Lm`0qEp8#6Z0$7ksHAUs|-&;R6jFzCBYyIU}-^ZH-@KFn_t zJmGFZU&g;5pS(Q2e9^P?<_7-#@O6K5^3s&hEr`+3zPzDbp8xf+_XRADo9Az53hr_9{564`I6i^) z@tPVL)u-_O_=of3=J^x-y>r|=pPTFP$<>WM6@7f>9and-i0Bp)1#o`e;7=bn?c<_< z>G$jUcpZALH{|h#Jx<*}IIiFR-};yS`-2ak9*>T_+lvpsaXtrPj}o?bo}L2FiMyu==kN; z>zBPj&pAHR$46?^=zs0)>E(yj*ziDbvF?m~S#Z$TLy$&9$8Bv%!NB+KeF1^c>*E)8P-aFHx>a81 z-?ZTO#nT%S6L~YD(C-9yT)()N<*$@F>`zV5D|J~mtx|`%c~c`l%*~sc`C)Ei)G7); zKR)^G^;5BrlJd(VqskNRi7Q};YStR?~EJ=cdv#Pe?2!~N@5O*K$A zYg6`~+rt-nCBwVt_OLyQ?m0SqbKVQ?xjEeS>pt=hdv(X&VXyADLE+HXK`)06tNx^q z)^h89>F%l5&~3du9p4OlgR5)ARI)3YmkWPIwd<_6>f_1QKi;%b6)%$2GQADjg!%b# zmIceT=+~u(`?LOPw#KD*eU**rbn72?RW^bqh5Yp{lMmV5dPD#Ea(a^{+w~@c^1VAV zrAs#;GPtu`Hg^O#CJVv5$=LFHnpR-Z+))H)ff&if10z8e9aOx2 zG~UTOFc}}PllOOt%<;Fp+=^YaU zp1qEz^~kw~>v-CTs0Wq5&NR*pou5}QgF-WS0OroQN(OXtwMg_hU6S6v*{*L*R|QJ? z_6JYE-L}<`BB=U;^2(msiV-Sgoy}(-bG`63BtLo+|$bMkIB)Y z@{2AR%VQ0aTMSC>y)E*`hMqL>wx`~9I`@uy+iy4ScI^KC%`|nl6K{LwZM#sQ|3}@w zJvWXc|AP3ucK;Q6{QYLPr!85&#YR0)Bqg&gk!+H(tEQp@!IEefPsx&oqU!RE{o^+X z;*tp@Sf1H)&NtQ%T`l0lL?V&6Co+FYn)-!RrBbD^#^t@=V0`$D-CTqx1Aih-jhtb4 z4ORGYs`t+aWLdvH%6AIN-lG(i*0JAu>jUnwK^b~9Rn@z2z&3+jnoOCUpP#D+rf@p^ zVH2d&zjRXbV{_P?%x*ry9iP+rT)%uqba(dhe1b7QmYXm7x1<^# z54)Y&qs5DSMGAFr(Ezsjh*z+1l@=eEI2m{+AB73ip%99 z5$BuvjKz7h=vf(S0{e3Jyd7{gsWeYHo3y-5TJ9!wSGQ8;rpM00g3QXj;ifYAS~blX zt?HZdsNY0gQqOxM^Wn34tIfaR4iwc>Fqx8DDauL{rLf)UlOFZ-_;uD%4L0R&haT|m zdfQAzrjf3;h+%L7%xU`uOv7x>qQvjrtM*q-z2g0^aGA2~heK&%DIBPb@BUjIsPy$L zPhYyx_w?omV%$u5!>aFfyD^?SLL0#i>qS7)xaEL-y)i!r0P|s={?p#Yk7w5VoT6xO z4{^sc+g7{s2Wz{jlt9dOU+M!%1tTabO3lBO$9hi@F%Se1$Z2!lv!*I{!-%hS)1DDX z^??oB99~~3kzEQ`{T=4C`D_?;LAiSyb}Wf(wNQFn+jtvxu1PXLMP7c2IQ|?#LjdBF z@kG@?ysa{on}`to`KO4}PZ6*3wY(c4-_O$s|Ik#g6{P|a@mM$QFyg-cR<>2cnv?m4 z(?oo=$eh(H+H%W%Njgh;YU;KkA&ADQANo%NG$;t70o*^jXiyL(({jJ5cDriJz8P4F zP)-J%wN-8hoCv8wU0rbZG&RVL=!S?s*BnbEqT4?l%a`h8jaD|o9IYgx_}rAI&-MPr zNkbzXG~mjw@bU+Kt;PIRKwhGZ^r1cmFGBn7V5FCj7#xSz)tv%QAh`IDTKBt7HaIvX zZl)+UIJj7lXqpYe_G+YWAq=p$SY!k*V!2F#ZC=C;g#nJ&OY?4Or0*-RoV}vR28`hd zFd;s&1v!`ypCvj4&ca2M7h%TybS-RwEYT@&5L)ne*mD_wM4KDSrF>UaNBQaj4n61n z9wdWB@!@zhUZC*h^S<7<-OBvf)}MCTDQ0wF-^#i*@vsZ|d;#m~M54wf2zMT#Bqj)V z8lfBzWOo+P&K9Uo5E?Do*DMa}4nawQ<^j?a*+h$Kzq1~s`LAFHbPE=^XZgCRf6NLN z$6B;SwsZ_kl0Aut!>75oik2TtEmnviToQ;0KrF(7KwRQdlGL*Lo8nRk#1$@uKwRTe zR=$@PY>@#Egg3Yp0&$B=ArN;0K@Ss9rhPkeX)tWVH6{?+J{HQ9BOb#nkCJ#q%9JDS zgAACd88YRFmG{2;mzF6<7!t)Y?P&;UblPmmRL~&$?uCJf0<)B{fxw2&mONCe$il2r zG(w2gDn%opZJg?do8uY2#R9Q+{dCRpu;AiW=T9v5)AcMWw3Q={axx3NAjsG(3&Caf zg-TzBEM3o*kuUkw>B1KW<}R(8XMQqeT>e3)>*7xxh#3BO&_%%hxqh*-_*h@Q9(UD1 z7HbVZ?`qNdd}vN0P(Y5tRe8!td?aK`{K@P8?aYrrd8nvlFO; zQLmES$FgN#f%otJmSIErm5QK`0(hn*{qjix@Wpif zTCr+he(D$fXPDfmHHO}-9LrDju5RlJdizdaH|$%zZ9k(5_e4(0fgVbJJ@1T*1)h9R zOd?MHOSyJ9(;loG+wG5cQ+YVYA3d|rRk_84cyg;E&7x$R8=h>(wC!|7lSav!G)mT_ zQL-IF7ae0)&GW2ogZd=f%kDm-cO!pRxAVH%ZM#8oR<{@G%V__(YHE9f-~ZWPj@6fG zz28&kI<7A#>dWx^W_Lc-U#ZhL>dQ;~<+fU%Dtn_(eK|G1?7dsR;ma%Y%lofy{jY;f?R7pK3jN!lU@lKh=uVyBV#bv`c==r&r{s=1fO^dW{sq2*ot~sn(@_ zYKj7HXX`!r>8+*u*jK^8r+4P3i*rSNON9n<;}9td(bqmeifPg zJqxFru9^SAUsBJfFHCS0=S8;miztbyhmZ#4j$f9A^DqlzKSa+=CNy{z<#}jPzBIwJ z%!~bdn;Ter6Ks(d`#%G`&YjY@Ho+K49}KiHk4}ah{=KNROMmnAvS7e`!cndOc6z2tM#x-rwq@c!xO-Xt#0oEe zKrp)+`4daMMacLgq}c) zEC`+BGcc()TEHE zG2qq!q+u2%=ydkNK;%UhdMi=XI~D5|*28-;xiAo7Sk4R2e^AC%BxIedN4P|b2+%{A z#o^M`ECO`@IMg-*WGoB) zBn#NeaD@Q55|E|g<^i%KAkwiEgj`}s_}+deHpP(QK1+&XiJsnGVaPhhAUH(`$UMoc zS6??6f(A>Yy9!9(!WeRAi*902DKW%b+wOfnVMrtbmKR?C#PFSnqi!^SU`QR4Zw+?& zER74QCd}$G0 ztV8IL;x{-VAPg?WDyGN4!b;E~m)?TSgRXN!<3F6KrhC-=y38~R#C@jG>%^D-G6~;@ zzSJqW&$EvH^yP}Vd)HSt=GIYPP?<+_`WntWdec*lb+)FL0@mS~o>Z*UF+G!5$6sLj zunxGuoM9hf>50NVqtdg3eFz1n1pAl?%mem85*YmLqarZk+lN75n74CpRH0Pvttyqu zy;H>!xswZBE|opj1yk7*T{4w@sf(tvr=V;q{|XdNy_~0At7k1(+ZnD8waVf^!p%a>aUgmy2U|zeG#Hi6ce9cKS@gi5gFm!sK>UxuwXSwFRH_9)i%&A z|9vH242o~_YSZ>1=_RoryL!K^8t^2(587i(Q!pO|h;d{`qMmj9K&H)SBLai*R#b+mYbt#;tQ_g{kU`+W?c-FHyDGnPV~10Y~qcsaA zf7U7llTTVH5Rvj&ZtC{O1)V(B$tx{mz@JPNEQ-|Sr&5ss<3aFRvT@f0n7uCf)lLrU zZN-lDfybsg;pA=iNxe7GU2^|Q!z5y=pQK$Mnyns9pAOCTbbZHeE`)afg>r7j>}D$T zPv!K%Nw(Fox6Z*IT(g@y^8+5$y;F0xKfeO`)_W>hjEC%0wQNi$PeAhX>10F&5Xr&@ zsiQ$9Phj%tnQg1*QdkhdW;*ZMro^<1=2V?GR*^+>3W;R@+<58gYq>k4A!~JPHY1zw z`)_OmhSjrrz;-yF+InN4SEuG*#Ne5Kf3BL=PDT&Pbn@}VOy;IwK%?12TkUnNJieH+ z@#KmtjMf+)2w->K8}z#`#*-Vf*kJceapRwmZ*HVqQp zcvm-!_VTuDpHEacJr&GN%p&rqh@_}&8v8fr`gi%28-~f>^LmF&>gEQXhx{9jc<4VJ zjYYlN?+eF%UvzAfvZ?w$PQ)%K*vg9od7mebWAcKy4?=lWADh^h3y#gYJna7BE_W)fQY@K_1JdF8A%&i122HNU}eGPo=+qE>EA`0@f+CfQ`XMl*NaTpgL^` z1L3ps1;UO^t;4(At1v|uM$~9QGbnO1KrYf>T6w!_!wPfOcqpH<6{aRWzp~?()_O3h zZID@eV9#}PYCD|Do9(`^U4 zf_{pmeFONLH|1-EQGF6b+2vf)1>w4b;&28il*%B!$f~w(D)wpjg|$3**BQJ&I6U{N zgh}-qTGmwm((|HS7xUFxDk2!Em37m5#v1tg@sju+@gj*Bb*-xZs@T8SMu$W)$b0AS z+p;bHw+y~-7+BHk)YS7I!h${aCpZ@%Wg@3Ql_Ji_(0z}HlA@=({;OLfhfhB5P~a6f zhQI4QM;lpvqv~nf$`c%IaI}>b&1T2*Q@&^dC+!vS0>AGSOnoCi{eEeMnN+yaukVo@StsndH-^qsX#pJh?72=y&Aps(Xhl{!5L{hlLn z4Xo&|SG@<@{_ai23 z8BY*$pmD~R2szL?W2715f#w-sA>=^&@Oeuk2O4O6(xt?~tn!zapPIvzGU;36yrfMX2|!sP&Pf{IpF zk~Z)X6+Hl)qM`?YxYocivI)FKMGpXPP|*XxTU2yTd(;3UmMD4vSfZi_fS=5w!)3Ul zfE%-D7jSD9?E+S)=tW2>B^a?p(F4FSP)KgfMFG)>B??bwe>jm7RQeF|64iVNIW=jr zEVLR4j#wR%2qprNy>56sm=IgXqz4z!YXy*MoDu4^9_yBLKXVGBf!%-NwN2EbNClA? zp>aR}^+}oy6f*B4Zp>MbWGl}MNrQ?eLx)h6>48?rFBe5Bu$fUAQ8W?o4^_rve3W_% zk3I0G1Fr<$dvQP@A&)(9pw^hju6-Q9DFUX+GV-ma1_Q6EwOc&bxYj5L1_It7Ab&m( zW{#+HkVhi;1sZrg?l1pMU4a7~4TD;S10B;6Y8ei6v><934h-L?-5$++<%L?NFB(V5 zLBJ~rOp`n+kP8nDyhh^5!wd&4(!d);k(M`V84jdh0^&uyt_$n-vyTor8bBjBnJsXE zbU8_}fOK>d0%(mFfX6&6m=`DUhgGt+#}u%j>VSR{=Y>7y*%YI$7d%=4PVhRZ0}?U$ ztd`-xB3gyX+O?^avvG$E$#NBw0GZ7G2+4h_x^p4`2OcbB%Q(ez2Y{|Y1+1UFVJ+9|=N`E59eqr%pM_F5 zMo6%J7PWSakYN4n$zJ1b!e`JAm*Gk=$->xpsRk%=~A=`pg83;XTlGfcZ|v)w__D=O4Uf zl{Ux%l+qvzP)Y(rmkx`TKp%&vwTo6jYK;hs?zHhuwdO$AGy;p}KysimijG#RFo?W@ zTpPopH89A+#X!*jXqOL*o<+q|lsgvXuxJU)?SgU95=d}J7ww!9FAbo%+El=)0eqiW z;|e;Yntdq3Bn!ff#YJ*Y0WVD8eL*kXRjn2BCrzkT(AJYQI)RO6Yo?t!im1=c$A;zj6e8_+U6(A73*_r;NKI92I^j(Xb^9rZ?A zNe-N63AF%1dv^{j%&5N_DB60NBoFJ9*y&n43M5@^bR5_N>9b;jA}t?SYXKz3QB-SP zG_fj&{aRL=+}VJB9ejxSsyJm{K(D+mOyD{VJhStFel37+5V%18T;Kvo@97ANZt+Yo zkXA@2a7i%>7xvN}3LFA0m4riz0MdIUxOf&oYUzv@&jLtqf#BjIeOM-5 zz?MsPA9?`}3lEh-0^_iFO0ow74U|Fxi_D98L9_+tc2Qf-4mwhRCkeyZZJQY|BpKOcJp z&^vi zBv>yUcVttAwB}><7GNc=Je@H!Gb6Yed_udpT6`I35BqWc22VR^rdhQ<@ofa zATJmI@Ja#i!(|#0+aEm5`UP8F4lXWkG>;j5>4m4+PLBEDQPQ0PItxbAtOU{wfN53% zNd~|)+tu2eg-dr6ZZ*XRDln4*Rth-#P?+vuA@ErNy~joRFc8p6E95`TU7Uf`8W}!@ zaX}va!fDoHu3H0zywJe6bwvMd9nl-^U~sVT3-@^-I-iPGk-L3B*H%EXjX>A#fsXSR zd_KjIZ#d`cff+plQ4}NB(bxn5XY0(R^w-#1h9XCL%3a@SU`eHd?2`Z+W~b4bglSs6DAApEI6WUC{Yt83zo-T`qN9D4)|wr zpN08-vUJ3IQ@~~T7?K7ss0owBu+fHW!avvH`b{U}-G{n;bx!22K@$|p}eY`|K zesK7w#Q+#7{#+-8_lAD0fI*lp!@^w6VIC9rvI~nR5tl`d%8U{44JMvFaG)1nBA}nd z`FdroOy9xhE`Nl6!J_`kCJR02TM}(RdSKzFj2M0321HYQZF#hwW`%?kNo+Gmz0lt6N`ad;@0In;4$`!ZlG{1 zr+|1mU@!=jMaPt-Ayt_U=-Pi+6pdhZRAqW#*H?MWu9abE00oYLp6yk2Y5@CXpFt81 zdj=4bgu`A;nN32V+ID&QpKsfCbwC$MwC(DEuG*k&mjOhz!HOG1PIC>cxE;_@Hdb5% z2+M{%_P{rc;eqqw(BLr;_kq|sI>Dm?Qa1gN$N7^x4lOFW0}fJ@MfavvZx|^AFk0Cc z2PDM~NS~lhFi_s4xdje@G{vb6q|YK{=URl$hXlCR9dOVjatwfJmiT1EU07=cq|S+9 zt>@9~jcpyx+&dr0V+ZVmIXHk50DOa;EFd^+9s_~InLC&ZG0+qdm}da6>s^LQnsS`8 zoa%$Nc;+l{1Ce-KCnZoHd!XYw;vKlG?SYQ#2(ZPLNb(X*FbVd<{fWxYOqVo}P)TFs zEP&z!#w8#Cw2$YFp8Yl*=a#&0u?6pdZ?Xk<+6GfR4%+5SVP)udI(YQyJ*vOuu@wit z;UQBG9C*e#K|sf&8CYvk^v}2AJo0-5L1gTa|rSTvT=SGd-MmP+IB6s(OJxdE7n)mQ2icUyd))Vbkus20BPd zL_AO0Azx6oCGg%SBR&2dIqc%3)3Rynwm$5!^CIppQntsq zR-=#C(udnGkB6O+1YNSsmJg}RaAtCSCji}gjip{zsCSd12lcr@xU_R8GB*qJ=$|0~ z^nC^Sb_t6(_j-FWsrMo&k5pJ2k(5gRFcX!;%T{1nz=ugd*}vimTW1*i$?qcW}70Uw2eW)gd~ zgc4MQWaS&KD!0wy@M^lrdLN{DTekJ7tv9$DY}*`;$I1+AoPB5Yo;%cK+v>DAX;*BH z3{aBc&rVjutc7wIckHzP1X$KO;^z_bSI*6})Efy)AG+anZqA}omn2NRC!Hg+8L3|q z<}X7pvw?Eh?_fNV{qUw-!J>H-2cda_4|(IT)bk&_MabVD(Yzs;9m^l_=HGj994-mi zRKPl!IjRAxAYoP;;3_C;Zd+djny3{`=KMX`X9Rgkc}$iU*3wo)doAUP3GJ_J1@Ld8g=Wk z_aM%#Xg><11Kx_(vp|_iX-b1IrCS07g6rxPxsCde>jLFjfL);Xgi%upm81n0^DTwy z#NgkD0pQC4^H9vs2?^`U^jG;p_d_SF$c4M#cgkNd1?!YJ2fVp(=|j;E@9$JRCc4=7 zEPuLxQrvOBhbD08<%I^=`P}G%cbDhq=Z=8CVg=7-c^v4m1*UT$OJ&sQy;R>x*N!T_ zM);*pad{Y(qq!)a_@T{1bJ7kueV^7 zm5cRyYo?i8XVvL=*q=~vk}am9AjI;*&pxC@!rc?;*8sBHg3LI4@|FunW)Lo6<``x6 z?{d2Qcfwc(WG=!2etBt<&0?K7HNWh-jLgKYE_<9mUl6y*LS+F&nsqbz?q6sxfMg** zjahoqH-H#OZOFZs-=kUFhRl`^ew5yaYWlMwo(iidral|uC#zI@@w}!WLV9}2BdGL@ z=;@B&MRF^rIvetkrf8a@sC4`)$R`Bp8WPA>oi>>eEn9WYWJ0uT)d`ac@j%E*akgYa zv}{d%*BC8aQ|$pACEbys{eYbZ+y>)I8>8iG_60yk2^e+>K34e6k7IjSpQ^^&AqS`B zs|r)m?UO}#mZtt%HB9ZERp^)Vt};^#9cl(R5Z0rccFFv_*|#`NM>n#DBX@v&;^=O2Pi zy(50vE6)GD+WdFc<&7L3UXM+6I=Og6Y)Y`CtIs|}#M|?89t^@T>ey^-HMZ5DNn_h; zY};02^NwxXz8l*~W7|42eV%9W?(X;PdFRZWU#|b+@+jBQgYTNc`qq}QM^beGoHdO% z9Jhq-Exbk-bDxNBi|eDul@xcM&n}ZuYAm6V*N(K%V>i~S-Fcd=+NfbnDs{*boU|U4 z1ptdySOh1@Y0A;tY1Tnb$|6kkm_v<<72{s7%T_dbOltOxOf@+4fLWt)-ywWsRfdIc z0A9c5(B=2|58(tJ6lqtV3wau+SOrA9YCIEe?{ai6+FiuDKGgPHS)*v2n_jMm0yC#(TAp`^gpVa1T0Ax={VF`nCB3F zb&ks&7s(yWa&rbcJm&8Ee#c?VwW&UMp3)Uu_nEwd?ec5m1C;M|2DNzu%E2*Uow@Q= zr)UwKAK}%eED@dE5Y(pd5SFZ<+qsw zoE+hCn*#57WjLMka=*49gyy8+w!yqW`_4%rOx2ht(=D;sKY0csX8e5Dr#@m(7OrM@ z`np*{bBL(lLknl6|0A~<1UD#fiWh{wuS0)%N} ze*vRKH&v}b`Lg<<)%G4T!PH>gngA}r&q(lgwJ`63KA!QnJ?>WaB=-+^>(~tyPe3szCND zA{e^EX3eUj6%l7En$wreyohJ|@4eG7hDydFtNSAH?(nZrhE~T`m{m9LKPzazmIf}{ z=2E2Zj`{$JZq-#zY716)YV5jjuu*#4a&mQ|+U)5xF+)JtmV)>TG+4-@@+dG>KKKz* zyBqk7^=9NJDc7UEmk^G~945hf6SaK7)XtFSBTbW+s;W~VGNHI#fRvFh*SO)j*pq|I zf0Iu}PjrF03lHehOS_;Qch^1wky8AXw!IL*pV~;Yebo~$h{7+*f380Xq2lgrDo>yV z7isDg)X0X(2IeLPIt)%%{Y6{*MqMuzTFNvx#wt=c)D zgHT}r#lVzcF!h7*>0T9V$KY z>2zC-c-4JN4~qO2h>C;qn1etn4!sVTGNV(}bcnxnN~F zzfjib`zcLvAp~Xy^BYw8SPPo!64q7ZU_upX*OU6s`%h`1;a-~}Q{W@m!Hv;(S+(i= z2|MVBx}y%kAVakvf$j=l^DIog3jZv@k`e8fG{by0x+I&bA#frbJROaMJH|(2qYF|r z#5Y?)S}CO&=E+&aJ!V8(3?yEvfjcIK$4!>n0K$vfkjwWUi#o8%e}~FjdW%3|v%=@+ z&H(+XP2jZGd4U1EDpCEZePcG1jC|5CtCn2ty{UfeM*{xURBF<P&Zz}!J@n*e=n0P6tPoubX06sV4yn4@>#f3pk+NJ`CqE! zR2=n^w4Ce>hh$SYjE2tSKAiPa+xP_3GMe7u80%-s+$&d;Ga5^Q6>kS+rK{Jo(QGtY zqF2v+H=T1CB2qT$VMU?iwM5vGTOy*+DJsx~qRBl+e1FAJ8ZyN{2P z&G)EorTV8g%f?N@^i4gac88Da7~z}imxoO`0oiWA!`;K?M|r}0_}TH>6ECe^^Wv;; z2mX83r}z8j$g9D@JE!O7$jHdZ49nMx!N+|M2j}Sz-;amp$kE5+<7?aeNZ;zzkJAe; z3*f#j)<-o^@n@v(hrsp2%SHY;(BO6zXrRRh5bb{Bcs?s#I}`2ZQ;~5r6Yb7gsjKA7 z-^|-wUEI02^Qq^xEuXfnUYtc;4Bu?^dEMD#dhQlu3{`O4h|%rFM=ri6Vhq*u{qP>J zR?-Wi?{m358ZLR$j^YSiTy*FrNCF_~m48?|m6a)Adi2t~4xii;WNAhLhr3ypO{U&- z3vb}hmrF=2bnkdtlk>s>l#Roz+B@m#Yau-LroV6T`c)&XmNly?iH^SE(T-nsl)eXB z)X;Q4M0`f;Q;I}$3iEjaskR)eLyPe`T2RhNM?Sp1n>J8m-}6x_4bs%S3YT<|$Y2ah zxOMY5Z$*RkbrSXfM|nDUZVi@+Z{92R;1mMDu;Q5CDV^I1EwOQt*a~b1+DtB>Dqs)Ez+1g0(?Z!5p_T|5AuQ!;mbaBH~t5CeZi+5xhY3^GM%P`w5swU zUEb2nufjq?E#y9L#`g(cACyn!fL&M35nbSiy;)7k^R0(%5j1x6Ec=?G2mQ)>8k>Aq zj!hY#G9HN|b>8lid%=r{s`VBc)~l!(cDiq-whnwbo5K4r?U(&YxjW2r+9l zT*WbB{z-p!r-KZZpL=Kd{hp;U*=G>-kpz*7F`KWwhz`y3=CgCdstvcpT5rb$syn&Q z26Pq;7D=0;myq7F*ogef0vu-yEpou3Z;tjWb9%rgMdXxp-Ojxp#q2Uv{M5M!=X1yy zI@vl5HxEaWc>f#dTA71U_s0XCACV(kV}*2bJ`u^l7S~SYeO(n3uI1i<{6EI!yp~ zP^@O(R*Sld2R)ZPWG6a<#Uk#8&~by}Pk9F(-IZOIoCL<@(5UZ&DNSo2GZmJ*0n#%-JL2M*oUi3n60vQ#8OP;%8~ z>RYbOtBPaaZ?806%!s7Bu}9rXP1)Gs`T7D$^yxBQMlIOo)kY!oLFO>g+2q462Eob2 zqnH~$b}AFHo3&fCbfw80XilNF%B;>(WUh-d=W{|)>wCl`h1#I5M-P|IcgwKXtyn}5 zDBjF==$^e}d6c0MNz5W@pGg@WCmo&l^Py!YUQCG&7LSwokP+$4(+M|X_;tOA)V$F& zU|dhahTC;cS}ab_d{bpP1*;BMh%Ty_K^H)GS46CZlkeUk5%ovkr|8|jC5doUnL9m3 zOniQ9SbS+eQX?FKqm@)!FT(#he4wM{$jns~XSS(2?$}z24)@8zTCpE}jFRQ1XUlEbIj z*5N4LW)_xw6S-&ihb{V>ie1Fni31r5PcWHW%q`Si$^!Hcqz_eUqhT!e%Su<}vMOEK zXzg>IqG0gEf_H4q;V!`f8cg&3w~N?NxAXTXFHU z|7}lC&7^C?L;OWNlQHGv_@2nrwcJ&3Bd^MeA;=qd0#oX{b&X$r`{1dWAV(is$XfhH z`cq8#^wz@)T-wBinjVc_E#m^q7P8LEZ8VSGq9<2&OCg*uOeQv>I z1{0^i*FqZIiCo$9ZFGqm=mWL@J}!x)*Ki8t17gx{fV1?y%9Vpf@A6`sOWET0WirM< zPy#7o{6?o`Wob(L-5F!Xl%`^H``a1gmuz1mT>gUrROys)85|hPEpxzI%dNQOE$tOM zixCtHirz5l=#vaUhC35&W!bp8qa$bSek0sN>>osHAuAXtfY@Xb~36L6%z;MLuVq9Xmt;1G-5%0XXPI&T4a~r`Fr#4BM z6b?oy+;n+5@e`>9RJdVdwcDKdY3xho*qr$71)H|ECpl}~n3^ppF=;eA_h=U}8}_cQ zMJ5|L;lvS9>WZeV$cp&jn$R*1VfxgZt3H~pr{q29tDV%fXManZj(M?qB?OU(HuYqs zMTk4J(7C6R>gaiJNVqGd;(gaQDyv#BZhyXV26SpNMurjl%$h3cK8ln(FKZZtPGaa( z0vS3gd{N+dG7c@Ky(A=6V4eS9Oa#_>IqFj~kqh};;jn5j28s%-^K#6mZ}&+f@2p`C zLIhPJP1i4?FwRHJ0<|F~r z!X#ZL$C=V5THU&JevfgCe5jlK?n$L4i&7nRIf~VqHU|wHvC98Y@fEXYl1+ z<~!0g;H!_xft=CHi*B;WJvboT>f`oZcmp1`H6&B|@?p*JfK)lUiz4On<&~P|)l){)9s!8Pzx45z8L$4an(1Dvh%A$36x5} zT!;GZQ{7u7Rs^YU{_Rei$&LZ6DfCHzJA_is_U7o)FIS#qOtdp8>&`kg+w{Z{y8;4$g;a~D%r_C<}RKRAyG>+@dtmcD(oc2NK8WU z3zP8B+2rIGfEWt1spq&ZV7-!$&&u|_1N7-D*Ms08agQ#b`?}&%FQAiuQ$0xI6qRHm zdr&VFR~y`A8GN-qB|U{2y3V_yQRsXeZ3Ke=5}?8)i58BU``UAw;VqII-(0wgN}2zz(+r2Oo#*pC zMxJ?zIF*A)ugb!9h%p^*F;((%(E3Yky1)2GM22H^RDXZ8!W=PR+~WXnLJcTu@BDIgnCjCV59kjavWGFk(2BCJ-DuBxRAw_UsXEG(_Rb@jLEJ33)m@H zNZnDD*(Vp*ghU!9l7^$>+v>eR;>(k%`%K!<1R?g#-S3|=gX-NST94|4pFfCTG!7l;jOE#n;a}Pru(3l9LE!y*(7aMD za2KCK`%^UWC>i5KqCdrU6oB6b;|DP-tR`mAlITw?nX6dafHW3`z(!iA%J6|I?*C42UjYyRZ`+=I7~>Nf zYbx(&P*f>Q=BqwYeDI)tNu3HWcerWYz#G}R)LigHwdippspC((=#MxkQcSk(M!(ZV za?qyZvnASVPk5?b^8)QAh~e+sF=%ETrhR`YKunstBwrb6in)r|&_h9kCc04eBC6KE z>G1`FF6q|sI*5sBsfMuC`Aq9v=T6%-(x-Bb4HXxG#k`&C-N7F)<(cdo=DmN%ptx%y zV|)#whMy-8^7Qo+7E8OHn;z9Mk?QMD&uqFE!*o}cW7Lr!XmRv3%f7fCoe2n|m6>@n z{WhGNpZqO@#DhD;##GxrDph|-4w%ZMc2e@zW*vU2+w#c*V|Fq( zNIo+5O|hG-me>{QmI`-I{bY}qTeSMTr)o$#jDgc~cS-%1ZD@FC0I? z>i4Mwa_9Ka<&pKO^K1<2RbbKXko#~Uwv1bDvq;l@kc~wd}YsJqi zHa1#`Baql`_u~^l&pk4uLH8<%&uqS9Ary_JWj%>eFzm57#+M-q@ODXsY3gGeerNAR zxk>e{*igm%We(ykac5bn^MH}Jm-O%wQF8PGF=cP^VfeY-C;1u(eXF$GnOw}cZsz52 zQ_f|R(P=RM(6)|k%b$z78*)cVY`*5u)3qTVM_-T_ZQ8`08SaK=5$^b<-nx<2x27pW z5_Z7qp^!gTnJFMI&*@Riz2X5K75poTeYtV^a-A#%Xd$tg`(2DC*d?GEK7ewl!vHcf7(p)W(ac%=EBoOq@pgk}>*K zF9tkQYB`y8)z1*qTz7%@=6+C+U)gw^>vbo;1#hT1p|%PVnW;T z>c82H2+5fYua4jX`3)sf03llVL{`C{66FK17PQx-ab120HnNn9@m zTi>>J1V(p2C5pQvjYb=VIA?N|M`;vS8buxrwv z9*Y-G;N(1zNJ8)%k+R&HJGMTKhPeqBWye%RMm@O)9h-qhHJQQ8L(>f2n=Y2ehFVgt z7Hhy!e{Wh#nx@ofhtZVmD%sB#RsnVgsFL3U?21vxK)h>7BW?3bN!|<(2FnNsjiHsG~%+e`I@5oxTn%9fU&- zk^*A}4HHpE36s)}*#6MuAfO5s)ZSKv8DM8H-t%cL$4pAB(3`#3aX#~rfc@bG;Ov62oMp25c1Vc@%f&Lk?j zppYHVCwC@=L~60#cvp(wxy_CspjE1TKMg>Q(;WXT@tbp^K?|A?7W&J<^WfMoL+>Y# zH5G7;iZ}nAqB4<_n_PE#Emlj_<|^Z3rKdt3A_*i@F=eEmaNW&C#RkrBAD!%c@U$H1 z4&6^bWpj{3JJXN%1|}%q2}ehG8u#`iN0eCB2srdE8D#j#=Wma_;g8%8E`Hd4(*^EF zPHVrZRqs7?wV*mP1(iWYvnF~}=mHHRygP7)aW$cJV~l}axD0A3p@@5!v;hnlTjsI1 zWK@uL^c~N&7J5D_)RW~jtqPV1of_Q9fMcEY1&od&iGP}i+eE)7q89jH6VW}7YZj^H z6rBD2;mU?4X8zIB>b{kxITc0D2IwL7d3Ej52;V^AID#T7p4~jLLL%R23oA-J+_{Xk zd^LxE^uDfr@^F0wFn`uj<+5rMn>l|L{H(||*XW%1_lFqD@%M*#H{r8+y+{7;pj9cC z)Hz+;m6@)`uRPwh()oXlh=8U)BVu#I?}(_-tmM90tQjf9KlSmqeV#hb! z_gh?g`zM|Fu!IyyIbFm}w=CX5d+UIkJ}riRL9d>DjZatx_#-;o#BTdf z$ONi7@?>_H6QdzV51S3A$vZvM7Ayj|R#ZNMTvHrhYcr?Erw_zfHZA=5eUqyQgf4D& zKEniOnhVC)(cOYIyU;8tQRwm^DsxJ-Zab?#KIAPhyp1mc13>$s#ah9Zj?!pwNF1k^ zlZhJuGK{{*J6%GlI#I9Tg&U+sug=Qn$7(v^S+ZS>1K=Y}l$!FFjS-k>lrQn?(JkMa zBEFZg%OpNP&%0hz?$hUsbinNhsrH_;J)yy?osb{E=Gn+7*XUMOn990RM2MAYVwFY& zENNZCtDjfS7>AL$eyxpsC1uG5mHqjO;q$^g_%!kYRqt`PlT;<6)o^`fDu06bDfep&(Rzv5maU*X+qXiEx-Qc(7LQ~_-s-!%*wQ^JR4wWu(7CO~1Z6~!Tx9-EH z?EvN?WJ0-Cc7^%1J*AeoNpo=qTD@(?%6)r%=ggz(2-oiV*sBzWzh5W>f)UY0dL zQ*&*3k*|+G-q6D_W?4f9HfVk-O^TgkGu(bJ&_fODjm;>NW%wb@oO%6Ii&Y6>$qoC|$~~+Z2gM z{@X&?Uhiz@+hRtwpX=>iZOqNl&jDj!(q|X#_NOzlEh_5SJJD;9CT|PAXGI^S4e-2! z&4xPnK<*>Fz(~oV-{T}@6PyZDF_A9~OY0NXAjkJ?*%D#+qi*sefc1A|dFI0vI@qd| zDxYW3B#&fiA3Btt)-t4yWgo_uo=WMkCGkNTD?O>@*wK98Cd%$@`u!?>)l%n&Yzag_ z@dLt-fI?ymV^Z}%TnUmeprWCFk7&t3Q42$avyXbpA?8d)g>#7H&LwtD#QTgV4c^qE9p1F81Kid6s1x3dx*Oi?4g_oJ7>W<2 z>zS^3mBJPov8$J(;|S;~w{vx-x6p5a4K*pJ)~ll1je^uEW@10kZg#SFD}2{)w-61m z(w5~CE%55-Wct#w3H?>cxAJxIjIZhb(^m`;=BuZ>ga$SgfBcCk56Dw^c-4g4Jf03! zYw&!SHMMK*oJWpoju3gzjy9-^d?b%$h3rW1X{b^^GI1z>CI0+S`c5wQ)X2uu1+HQtQykSkm8HR_8aX zsotv+owj;)?B~#|*S|Kc6k>WRNCHEpj@c`+@ztIhHO%UmVS#!bRqo9b*YTmjfMp_t zs3ymAmGN6XiPt;Zt=UjLRVQ+zszj6BZ~@GDqOFrZRI^Ew7ClR>+~qDGPv0I*S;;NB zp6&~oJ?K##nEbRU68cbT>nwaV`omqA>L{n!bOA>bq zz+=?$rgt@EGpdXpH!-^L{)n>fsqs*in?yQL(y~RkJ)V1w#Qt(~F{v`UGJ4pUD$C!M zI=Y6AV8)hVR^C~aG>oOhk*#eXJdN9Lh<-ZZ8R+vc=;mOEiFcY!ZS#uefE%4?>E+%# zq~=|_D6TN9ws?!B#%bl{T&(ADCn;aIv#m8RPoy2Q{1}48+|}o8;N>_@f%WC&8q8FN zp=x>8Vyy8U>6?dDc}fu)(ZzAdwC+ao*-dx^R0*k5gvJ02M5z_-%i_-e?1y4>_)%`V zLIht#JIjvXIRm=Im0As#mA#3YWyY=pDm%DhAKb6GC>Yf<-H!XjvobDki4)Z@er1-( zMX_A@^GIwTy(!F#6Zv1yc_FSd%DGu!ey(kh!75hOv1n2Lap;)Z;Vb9^Ah)lZ*xOEk zTl3mIf4!QK>B8bKui@~V3%&Mshqy}f`5y%_3s&pf&2+cEjgTYsvr{9dN9(Sg(UqB_ z`Az9RPekV56A^Ptm5b?b6H!=9CD_6cQTKmLL@(cY3LQfysu$SjRwKomS0Y%mf=d# z0D8+;QkI=LbE2aad^HDc+>HdXd*d#8OI3Zg9gVne<$9sm?rYy4A;Pxz&n$qT?Vk?F z{1g@uf??3uA-_tA%yfaij%Qpq_LcC%=AAk)90k~|f3@cVN0&54(KAxf;>37qcQOu%4S=6e)AQx*C2gC1i#c}}tY$lDFk>&;EVE5{YP?JM2@d3x_8$g@a zS8lIs5=RE(iM_#UQPs^755nea2r)c-ER%^mE;{w};595`bjC#UxSu;dN@tH*#3@h;}zDt^49ubY!F z#{Y*1wpec%x@WVxcFiyoJSo7Vy)x`ha5V=HY#5izh?-8b3|bcnjFH`r2PTtdYcEJg zyT!j5=CCA&i55gq%sWw&Dkq=6Z{T-Hge&w@v)RG~tzPee1GQc2F@@-G1|PrBZrcj1T45Tz2T%DH~B4go!0%T+;;?R$7%!ZMNUE<_T4P{%iR zA|Y9sbUOG-(Eu{l(9eC@f=1PNgvg!)3(Q9|khhwk1-Pa`9+kswW^22nG76hZF>6Y$`lFH6LZn4g!&SOX7o@+->|6txM#tQJx zO+Jboy7EG~gae!X90RvID-2#8=XTB1zn#Q(38hf57o`~jepKx5hFX2n*Y+D@R>y>nGTWF#)as`BnS(< z1x`&uRF=KYp2rAf|6RXB7h>Su(k!B?wlD7xmzFLfx)$fe2HNSTxLeJkAM!S|2U~Dp zFhsfmCB`LO#PCTGZ@_1KI`mjlSZMg^khxcXX!vCo*{e0s97}o76H{At;N5d8G=rBI z(d>z7E_yWTrwV{bB>~xIbpg-1#g>dqoZEim7DeegCXVbX&q+Ep#2U z{sD+Kp%vY9!7_L0!9793LLe<&v$C3MW%xcbhMMBflCiZ^K{b#XEwt31?=|0((jtKV z-;?BmkIDRowuG7xpm8%$>Wt^QNPa|ml^A~(F@eZKS3dE7d#V`4h zmp@N~Kw3?_I8<_^geZb(G=Ry_K5k8^2OiB$Z%WEl#WMI+0?mS$L?S&ezmgJ@sTM0+ zJQ_|s41ZMN#;khU5C2VNtWUsNLCfLPuNDnfb(g?SqJ3nL_L}gJiy=e|kHC&u+#b$f z7=2#W)0l_vv*kMY=sOF`B$g`myqig-XO87J|Hg?9H&mWgs0L|dr$)pTZ~I+5Srw0* z{0$BfvCe7Lc<=)aA$q^5jVy3@R{mP3h$dZ%(S9Csmp058FbOq00_c0e=Ze%EaUk@9 zCdjBg`n)EVOvRW%ck(=iD@TqVG|~4i8rd|gDcWjyv=&+L$&@2woW5LwfU_&=BiuuRf!{PnWKSf=+23 zw|v?+1oX~K2eb6h6XI567PLd^T{$fAPlwtMspzJJ_NwrA3SbFOYlNyf{ADXGs)|bB zhuQ-=ID!lWj;08AsGu^Ux%{L#rB++|bY6OE&^Q_OZ19dOu^-r=3CgQEvGm}6!GN-n zT4f;2?&L5bs1x!yl*n@p!3DnuMQM?!HNBsaQhrl%!0V`fb)*ZD=OXrDcI$4G^&wXh z%kC2RQ(QG*=^!Jg5;C^yGJp&cTJdTIk^5ed2EP+b7Bm)4y4p`Im9&%93)-d&QiSso zO3BG`lD_B=Y6DdNT@X@QjMDX!IJ6H4r7Is(Hg8qrrhmo-QYyy#4A9X7ccU*)7+^E# zy0zcVxYEWl)ni%`GYh(fO|wfEdFbK=ZQDg2Z#Ck2xu0=zF1&4%$vh{qTRA2qTWf+c z;qdtyu6zjOQ(2+h4#YLo-Oz>{cT}RN5u_vA9$K#6r#CqzFftNv+)z}{W81tb!I0lA(W%&PB4C=0)}IYr zKV3yI9+YX^rSaZmduBaIOXkWyVy?h132cHNy~tM`#!FT3!aj~4;akfL+>@LmmML+g zXh@8KcC1*pUHV<>$$}sWBip4l!L+ZI*lh?eHa^{JpEqIHL~)+Vt_{&tBSx$h*;J!v z&dw_&K+b*_Z{o>AUo=J#eQ?B?jpJ+2GLIwm6FC@CDw7PVT~Es?94NGOYT});Ez;f1 z4G8RKUSvg9&{Mz`iccyfX6)7{A{d4Z7r}K<9a{dipwR$NfW6w3_glqc z@OOhM74Y2Po20pqxQ7DEWHz;IJ!{KMcB zm_thYE?o`US=Y-}AW^PfO-Xm%s1Pzw#y7lJLiI;#GEt%y&}sC|)z8~d5MVn&0(kJy z5$FD|*y!=j7~X(gj#!!%cvXe9O2YGe4P_YUDvP@nGGCux}~ zO=E-lvq1+wZ`WWcnIxc;H0kKRAFMX%5KM`DvTo(X!YXj|+ z7=^J2(pN_k!*_{j=(g3t#pZ@E;7xp=EPGkvmnb8!YyZBBBpn%X?iYw|Jl$zNk0%NT z`a|`85LBWTe1_5t4Iz=!+{PcASjOH0{HR`hxfL__h6J?A85*B093Naiotz&h0Bb=L zwAAst`iVQ6r=gY@>%#=}^%CgIArjIS1jwd7B|HpL#;_o<{XWvZ5CWSB#6AwlsYgm~ zd=dTuUGZ}ceKt4zn&4-`MG4rsVZy_fXg6pEOV6Ag9x$s~^7xK#Xwm_1cD{Mnth3~Z zpOt5pxZrcR{Ow_3K+bmD^G&;DhFi%mw5)o0w=%4HvzmI*V*;DFmDF*bvyceAJ+Mw} z-K_@wZQVxZz@fA4Wl^TC%%B!D(cf+=-H@HI{Z|@Y5Q^-+&VrkJLNw$Y`8V)^9qZ76rgXhIUEJLVJDUy2P~pf#IM}Mv45$ zHHFhn_!9wFJPFwZ3bA0rA}|dUB)oahY?|LLGk_B_l9P~r2>xI_vbI*e1)3;9Y;hfa z1$7u6bI@mKeDZ7-uH{0LX%PcZ_QPp24#P*GTeWDG5(m|Fa9vgMLLt;K-?3>A`E3V8 zpQuc+Kb!az{1r8;sn{h*=h`Uv<92YBz1j~TAC!+FD?DS-UHQOxO=;@G7JuiLIJ3vH zB0!Y0xZ1RBgI+jU>EK!=r~~AeWhiTVP9v24B3bEVsM6U3_!0|nsH03vJ?p~P%j+*% zcSm%JjSm9>%t*xDPYn~`Bw16hJ&ghg9xp}=uqd;VWwe^_3}Ujd>_6gGD%Yi6G~T3x z8MP(apW7Jq%BP1dkNVG2hWjU^NwpV`%$9+nbH);^tzBq-HlV|bjI?vYlGBCHYsA_s zt!QZ(!S1({C?L-hftj5_BAK3@{%NN$q|`CWTX=DalA+9KNdsiBv~}7&e_ljcmP@`r zFCw(zUl%dK+UUi=hp6DsjQH{IGa~=$t!v3AWd!3rx<4=C^Z38Hh+e-hV*A=37jg5C zi?}7L+P~Mx%7niYo$mpWW--hWrb zIuN(rzgNWeR+;@Z{XZ%qeB%T0rz$f6xB}r{|6CFKE{@6D{-}uC|G6S6PyKU66y9{jDON*etQF$NyOoYq0yw?=*&re^*4W$KMrE z99%EsE&X3B;$`{hEDp>-FV=Pv(mMz~_;n5B?}|w6c#%aIbYjsI8?JN~MO z?RWoWMI;dTT@f#TSH!pk*egMKDf^}WMMaD$-YbVQnzqgq0ZI8?5v_|=>{9=zh(Dm* z&=>ME?x+8#h{FQ^P!ZMss)#!OA67(fga5xPA|3qSE27FjSHxZr)qk#tZO4CAM2Y|R z6|p(efvf1xipY8RyCOzU{jP{QxxXu7R_^bL=vMr@B66Ypu81utzbhga>hFr^hWf7+ zv6C!bep@Ku*7M(1L@d9#*}qjpZoj`OqQD;&Q2<9kxWBLVuZn2@FBK7_;~y%b#(%De z?tfN9&-}kCV)9=VF{JgstcYh6|5_1O4gaAc5;^_HirD(QA_@fmr;3>SZ!6+c-G5yX zss2Mn)O-Ao6;b4`idb3jw~DA^`nw{&#r#7>)W-flRYU@%Wc0*)q(3SmGQ(dLas9um zi0Xf?dy~RPt3CocJe9lnyyntJS%k&2p)0{5dR-;z+>xlEG zHj6BJ3}FeB;I9Q4J(r4=z2c{Z9_H2EikBBYLC?1u<-WJfg{k>q6xyn00IxIT761{$6;2X?# zFW4f9;D@?90kzpZJ1GYmrL{gJ+ntUj+h?X40w>IGyVI}^tGpE0>M)I!_WJs~W|U>< ztKeBQC3r*Lm_l~?Ovq-dw5GC<6vIvq2q@Ez5R#_nwOk`Gx zhwxAYdmJDgxWRNdrf`3O*l3NUBm@JMd0Pt!5$?$avKGp+9i}PzD~j1`a~ON8VOrj9 ziy{{>IE^$^3(z$em$q4R?3GpOZVy)!RJf|FDmHRFFEk>GF02|^87e2oHukFqVV*T4r zEKjR;T==>&S0ADIRZO!n>81q%+O9ZV#tSO`i~D;8Lc^Aymz@p^0b4GkM7-z z+2Y>gC#J`9&jJH{;-p4?(56%^?GYAsNx1_9UJnvymg%FN(`JgXr{eC`FiE# zM*p#zLk;|T%)8O|;obc1y)_s}H38j)wcG7`3ire)S8UNvh<8D|F?~r3+_Py4$)PD-;>(XV7Z&R@%+-7xro;NCm$2AlW{+RKrfcLAQ z_Dq-uw6;iUOF=vjwbwj3!*T>qBb%sx8Eu}Cfp89<1e{V&k+yk;PzpG0MGu0MX9y>V z9{vKk(osVC>Q59zb;N}|0R?!>LA(UwxGhe4*^!kzK6c{BRYc=y=a{AZV+WOKofyj9 zP-_jW7ZqwWn%v_Nyk+vrE;8A8!+L|Ys~~|k?`o*9)54VoCaDEXISjUm*L;gshPbW9 zrC$);RrW#){M$htB@O;5Vt%%0#y_dV{9rs~vl{|e?19Nm+6$1rt(4D7uNFOw3O*@s zM-Bc>RHA52BZ^4!Yt^c8R~0oMbiFwj7?FmZ*3Mne%JXClxE)bl`a?!<4$s8 zaP?X=Y#3}T)e8j}tPxtW4I)zdIJ!?X2RdreC^!ZVAig&SwA&YET4&vXn?Q@GOUErG*G=eR0LxeN**v7gf< z>z>^?A@|$21sHOF)d5ya`(L`N=$z*+UGih;pxbhQv&+mlKq7|L?4hY`esFYUT5w!! zGF&k*Tb8kRkYcX(Heczbe^ua27SD0F?l>P#iN7co44b<(xqn&e(onx(1s(Lhwa%*- zckWB*Z_<2g&^8?xF#l+@1$wW>#vcLHLiv^zrVsoy8tESftJqM%KoC$XROlkk#f9#& z7me%7$_;^`@2l(=?v*$Xdva&$1xA&R%zid-ERi<*-cOG6Hl6JSCGZUyl+JgW4TU@p zOzv2;GSi9REsCS87eB8E#nFr5^|#q}M|+N-d=Ya;(>@MnVy=5&2Mtmw1fUGCnGa51 zlL9F`?Gpoc!^>t4vO_OVL^NMVkjgIxJ#?U7>aqlH8o#Sq`%0$CEsd(b?iSr@dqDx- z`AhB#XiY93_PXFm++OqKf>YN`H}Q5k!-h zEu@h86=pGlWT-Uq8Pb-b5XlN&UCbkY0dEfUqU-{taEAZewcSe3oCc`2PMM5tEM zunj*X7iI<-gVlIEm(-@@Q3{O3mU-^hc}PA8x_OT~SdCc1Ylm#1)138_CX{*NpiGgL3Px@s zRHR2qZY6V!2U^V4grj$**31_*A2aICknxzoe%1QHjAcLQn>~i6!)NC(RADLG?jXi- zkevKk0!a^QGsHGO9x=}UkchyBtWtECqvHk8=7=V^=lHTZu1xFi1Y@5WrZ^p$j%%#I+Wh_u70_wSmloBVKncR<{grD%VM}T z)~A*cAah#&k4N9;ZoLU&{T2`?JS4?=mRK~Tzvx%I40B?8pSKf}7pluexGICC8rZ9bBUuKWW z&aBe49tC=Hk}QgnP^p9;<(kv0T!);DvhplO?beuS3au-#?R5=~4j%JLHRhZ++*#zA zmp$9GoD>Wj+1*K|7kQTg_aP~oD=VRAo4n~QEQdAWj^fn>?w`AkD)hd(23GORozzu5 zM)DZdsIC!r#jLYL#NP;OSxL})=%9UXUczG~S3eQUN^sZP(IcBeGzURnl73d6R^#bh zt%i>GG2Sg!LzMs|^XTZX1L-E)kxs|2%ry=lE##tZFiO{rXU! z(%O6)b1Jfk*BH!G<8Gw4$Mn}f8#A)>emI_?BUp3Wkc)?S8z=WC|*-xa!%_M|I#g@ z{b!+0wOpw3fHVF%dp_tlIp$X_hs`B*z}N|qX{pIi_MM&`(wi(U7$_~96-PK@Zgfff z^ou5gAScYEVG+1Bmre*n`dfcik;{A|jgXmbP;euSaNK#+k%n%)wK&Z$%q_=qW1h@! zU7T!sV-iN#2AoJf-k7Szicx`+?`|O!&8S3b)tzj(HB)Bb@>2C;Y)iILi!ufqCrdLw zx5)Hl8Tx6sOk1K?&ScajN7lk`@FK3)T9j*v+j)mKm*w6V=QyzBmR7t~jC;3eIdNeV zUTLySTVgsVWo%Q7l_C37Cf}_Ic?5#SvDo~kMir4( zY0a_p?9VbRQ%t7}=SJ5Oi?hX95_?;^sYVqMn?;MYiUK#k;GB2tVqip9Y@I>(EoWQA zP*m~*qyM?nWcx8q-G=q8W>n{wArRSfS-L$2e|6-e4C*I6A!2p{{I3G;Vta%rFyD?8>v-lpG_CKZW8)&cXhLQej)-x-gcFX)3s zywLS_Bq}w5y!Vx*;90u(m$OyDBTa@5^WFX^^aJBx|J)JT(T()zUnK??kGlfCl2`{0 zFbslc#-H@!`6cbMJ}A5&A}B{s$_yVD*ds8~C({U^NRPmO)kVBjvPPw`^6pNJ)9 zDSV(`7ZCkZ7!FNPMBh8*&rCYJ{Tk*O(YKcUljJRadW;k~f=uxdA?zdx-r&}8cf&-- zwN80o8)4f?KpV@093;0g_x>)za(mt`z(-9ZCo~bSXe=+W=iBHI>b0)~0I~4OLgZjh zl|DUB%Et5!n+jZUOT>1rFnnS*bNC3V2m7=@J5Oftk#k|{M^E8Kp&S0LnYdmdo7Y>w zkhSgk6P#b-)RX0P*q5-?w{97YWF*=-skOTn(`EOh@){j>B!9$XTA-)L*m5aG9Ke!& zu;%aqb)~d)Z`mBDhOXGDJgCNo$K8se@WgXN?}}m{sKl>%a%-{IFn7Z9s4chBBpLTb zh0a)4IHM!c#3cNoCuha>Md#+oe&(>%oeGipET(2gLvcv*EIeO456T3}s=_IAv0H~Vxu<6D0VSV8u-m0mo zN9}Bna}!AlH9l0#Qy$$$vvd;Gtr%#gmPgA1%~SP`pP+V1wsaE2yL8bzH>SN6D!zOU zWPwe$$6ypR}E-%9gWCr8szJIsfuN=~qMI4#iGX zwM2QrU4xyff?+Iq zK~lpyLE<*9oF?egTCrw4R5^lFLofC!WR#pmS1Hb}0&TkllH4ia@eyBDujBfy{hz>N zK1F0H(Zx`cW~E^>?14=!EqCF;ZoInMs<$M!r%C9VjjX|Sf5zXk@N1{tFf4E+{b z&d-gH`^E89KUHwXEPl=Si>!Ap@cu1nvL$T2Q!~}-EhZ-B{Q9LWvEYYU$ATJu&2EV! z*a55a+UvQg;yDX2&u>5&%F?&!Nxf{F3+#G@^YgEZCQx)MpGcy#^mft9l{EqP?r!4A}D zt|Se)^XTa8kKQsI^#~+%Hea^!nvF5Y?=!(0W(+fsNCDiW&QLQ%xPahSsLD6?e*)}J z=ReuhBt{ta;`nQ#hm6uu=PXG+A#`fzmRwYfJBt4@U>)>5hQ_srh-&o@&dZ8d2KY5> zRX3e$Ewo=yL$TR-C6HRC|Dvm%{o`!NzRzv+263DRdDx1~Ek{ZLq`!C%LF{yMQcV-Z z;%HhE{7s$4G0Ubvbw4kwQfew5rK&4RW4ggxVWvoLd0+q4q=m6T&l0o6;wGjg+v9zv zhc#+wWD1bvqk(LY5lFtTW0bvZhcwc;7 z`GDK=^M9u(e4{X?nwOpsNppSQ3N>hjaRb*u2?@|hn2c9~IP-s*fIZ-cUnuqzJ*0Gglb1yOk8`8Xe zV^`CBaw7%}bG{x_R>mOo6=5H1sOraz5^*i=M3+19SF=_&q*oV4^jjHgN~XpCnqGv& z`(J=W-{$!BSy`@2LDUErcJRj_-YqLRq(tu>mrT$o@+YFg6E0^1cL3X(;q~xw&o!wW z2i?0Q;EAO!Fz1c8<#uppf}?&M&c9`)e~yK1@TTgw@8*o3P)-fmSP=7zC`Ek`{g#Dm z4tUu&@0hcIS=?rmkIsrz{Ry7qvfI2JE<62H^Mi6L{X|hcc!11|RUg#&t|~lPSn$I` z?|R$T+~=zLAeVMJA^uo=VWSwV3N!5)OsfOx9p(iwuUC7*DKW2AyQ5$Nm)0vM9`TuF zZ?YwSueY0~I~|48?4(E%X_%${bz4|sS{Fbg-^Ou}&uTzJ;do?mYN6i32=x+1^iW_r zTMQYvRH8}BE6_~*7lir61#TZ~rO>MhQv}MoftbOG9&;FdrO`2mj>@GVdqQArK$|YY zMmHM5X$a-n4D6W(&te@9{DM7}4!VRD_5&RfoJjK{h4i``z1-f)PZ|a81P;*`@gs$_ z+WxGp9DW-whYio~-$Xr>p#*f5ie*UuzdmvQF(s5#oEB>E8}%a0(13SiXTsVzD$Bg$ zW0kh%q{$g8j|nJh)Q<6c4n?KvwXT?`^CPa@^rVeNC?d~r7QRQR#%=_F#%;xXM>y=H zp7Ju@J6nk#a?>zx3L|MI9^NBo?~dvWWMu8r$aOpYOoHSGnuJhl`0`Z2Hb#wnXU%%A z$+^j04=+It{x+c!U&3KuOXrTEQvT2KIWUL<&#l3rCjqiq$VNkt|M%gdq6&8GV)Mv3 zPuV#CCZYPyotXSOQ{{c7AKZkCyhDh-sJqyg9v(xQjYfCFIb`b##UkD9FVYc{2HH3n zck$AmIBJ|#g6OnvYedzdp?}A5Gy!QJw@Ol+-Dm`YNDE7~(T<1EFEbU@NQaM zmVz5pWb`dm)xc&bM?|Psc_c;CY9=f7hRg z6)tONS^a;;v2casc1m{i)tN z>*!CMGc7iCj<|Pu(^T^1Hl(BUMLqJJ zVrwx9)qJ%2+B6ZV(e{ev%y5fI=)OxuN%Y9{NKid3F>A~M-1L_wtg-zI*AP0h%-l2ato6yp60gQyxlEG zP(@Hd_AwwuJCqZ-@)nQO&%WC;?t<9~iyqy;vy}SL6uixBEBkE490LK58_%kb!{0h# zT%hl0d{54XR2GfqA(OABa6q&w;zlo5l|t(24v*6Vhyq9w|;|*4~Y$~xk28*uqha(lx!5Ko;jNV z!WV>HAEe)HaJI)KrE*FW0N#ld6sa%VI2>Suknn1ST(q)Q5Vkw;0OkOKp6|$$Es+C< zFpzGBX{&0fp+zEtF*(CRitl<;mPquB00*_jmyL&q=v-K50Vx@Hs`wa#Dp&&Sl_k4S z9JiYcHak0@_}3Y`kbP+24Jns4LhMI2YNQln`1jT+15aX`=Wo4p;h4MZcd7?R)SE3qxgu<%Z4r4w0H@Gz%) zIby2l38`El*(7hWz00d5U2L`G%|fSfU)Z;33y>nD7JC+v2c!xhB5v45RA9Z>%CReV zie&dkDX4XBqy`CI@e90mXLgD9YnMxOm+Rnfa(iNI9FjN|)4*1B~}8@n4i z6XDEasd0B)Mb5D2H`qq_T|dM#`~!@P9r`g|>N>%s1a&<{#*C~X5ff2T|Goo1Mj*zH zFFe>pw^UD3>U#M~qdMM`xVlY2TzI8Eo>%d&*2K|DbG$cUH9Il|!7Yw=itl@o0JDDt+1U^fLk!2!k9}t-qDxF^8v(OF7}hRoyNawb8IIr_iqjxe z%S^>FhG0Gd_6MF_-!>!hZwvzKa(jaj1Dm^TM&xunf@=k9!wB_bZx^BUv%W{JhDKdUm(Grn8zbRoyarm1yMpji02Dmu z(mdGG(XVRnxrh6D+6`Rpsy^CK6q1>&)T(DiK$p_XN$Yyu1nz2N(<+C#gYz)}i8&5k zs@P~$p?Jf09t_PAvN=j7C3|J$yh~Xx?Q@QD%r$%SG?aIiI9J5yek_-FIk~B^Hi{l) zudp|Eq#fAKXP2KFH8x9OW3bg_>faJ%y+P{r9K2Za&OsMTYDG?PJ94!ly4*#*UEV69 zQmb7~vD)Ady4LsoI`H9CzEaGsxxqcxuZ(j*C5r*@;A%#9s=!F35~@b%J+!Md=?OJ4 zKC2YckG2afENw5#tWGfzJRN4y#*OYK(lgMUS<$QH}R<;Q4* zt|#>D3X16@>A!Rv=V4u|Tc+Srhr(^F7#P1`kZD<&(_>*>n1!1gQAp7vIB(IGCqjDa z{Ii`O&&UOshKWOnj6e2JH8Z~Yozpfpy**N|6E3Jx?}Aib9_N! z^)D^va@-`L+X{C|jbGtdT2c?E^^jTCp2Jkn9=28(Jp8QL?gA`5XGP9S8%OQf?La4K zOXZ3@dd1jBSY~-&vksDS$3tKYmadA*YS5jN-L7SRHoEk?%u?%6R zuH%(Cq(TIG@>g68bz`UZ;#$GXB-CSfw?)-y~VSxGgw57uM;RT2+Fxay*0D0&z|gx@r7*cI>HA1CYhPuPUOu?Z#?Sh=ix~x zPb|sI6OUbNarHctbv4;tEf5VL$E9vF0lE&&Gm_;Rn1!C| zP&4bAB1f(9cfVw{fqiM21ca(|SwEt-(P;o1AUyC-e`fwnASI z`jm`6R28}pluZ>?ErKA(sT>&VlDDM_r0r3 z1Uy--B2Wi;ai;XsX0p+n8YAI~<|HW};;c&hbwnzwwv8K89b+9Q3h^J)6XaNNwJ3L@3#hlT#E zkMk}zY6CHoU#guaT`^?eMw)4Tx=aFfmp1i}cI{rvIneXujY8WW3Cz*nIsJQN?050z zN|N?Dn>`EFqaa4t5`n+#-F-YbvXh|%p1@YjyXoOf1XYUgz$9Qj<<&Cc(E<9|5c<@+ zhjfmlfmkLi_|Jekl=?D0-8v8upLMbkVKATdAvbuC`Z7M{eDd2yqIU6qD}j2^{wm-u zBxv17U=fM%cD7I)v9qhWt++`DFDqveTnH~KHyJrj5$h0Zr|1~#fyfJeC@-sE5p9_3 z0X0%#3C?{4nSXL}xV7hok+M`UNyq&X7x_&|$FbLXP)d*J(#AB27bATmSLCNemVr~Z zt!sZrULI&1`s~9HYd>?P_PJbUKb-0l&Mvr`A7q3M!Y0&3KTYL3{4K1SAEak&<@6;# zM}O2v6+eJZamgY;!FvgK%4pl4s_#bRSfjB8MW?jnvhyp&aAaRC4>T@7Q2B`g54lFO z`~LMgUjGn#35e(ws0~Eqnwuc6aDYeEZQw4ZID`~sS#z`;BWR4N=GW`5J`&v6g`cf< zlk_P5NX^2Axco+=pAwEmwJX4cv?SOSd`dD0^U7;#M`zt1IUAeqRef|>MCrr|ixKZ)fGG!q30y@^L3%ZZLSkRwq2NMeq z@f<^piv#=EN4`ZM*Y+VyHdOhy!4&xx6)c$(&iQar1hlN&hecqdzz_WvHr4XRfsF;- zvJGK4+;a(Ye#?T$`&|iOP0~GycrwP{MguuZ2p9%qTZZd5IX)SV+&{e_)z7qnW~nP)m#;GdQuj5Qv&Ej>*pa*V#Nv8QvjIASV0BgIQinDM^fXgIe8 zXTl!paxL-JcnO%d>;^m*o@){gdSG>Mn}LOyo{7s~{}O2jePDXTN|M@_ z$h^X(P9)u7#h||3Zo9b>kMzSE(u8^rRq2@xY~7oKNC&eDp{Dx%sjP=v(+VHY&|Wya zxST;tu!`k-t_}6K%^%yT(RH9i5csbxG_nb#Wn_e#1-)EPxSEXY1_792aUw3BBH2tF z;agSU@-qN)nl@E##v>To67nhuNavSKC<*)`oMOd2mGDSJ{!wVEiUnQS>uCLKEE*hLL65`#k zM_(p}ofp_W4<&t?=3IyY>pM~O6zd;Qt(kzD3u^0@%5~>o;Sbtu8{SQz59=Seb1F{4 z_%pzJ-1C03eXjRI(1%RG&fFgU+Xdo@;7881va$b54D&2QLj90fWQD-*`0M&1l38S_ z_F~8UuUc@V8GK6~?t>v#sP#I*+grM@QVr@?G^KrC1d~xRBgt#u(V>Bb0!3)U!;^R? z@4A9OMQFoZZj{)YsC>f)EWzJ83^5Uft(7#2m7>`d+}VnjNpCWYy${L+r;>+^NRnWy zKG$GYkbNnc1n7Ay4H+x9vHH5?0mKryx}E9TRy zw=KuRTf&7h1fqd7Lx`pK%jgzw$EHK2lqw0S1@I8Pd^hfl%68;ceCTv6}PEg-?jx#vK_-x$?-z(Id%th5+ z0+ymN`w{+Cuq*74{5&n4v%v}@FjWxL?w_t9h2(>Mhk@xbm2W%hCf6Fl+fe*zE9q7xSbC-+E=gJ6+@x zd{Ef(xpJ~%B|Y0y=)9|SX6E%NG}RIXy6Jpd4zsWK@JogZ=r>+Ngbi}540iL$bVt8J z)IHV71;aQ^$WV(OU-4ChwQb%7oSf#T*pf7K7_rR45aafWEBY z=H&>$WVj37{q#dxB&fd`4i9I_Re2c*lnX~iFyf`sIwbG=EMEZqnY>XJ=!zc7g?2>6 zen;w61BFB|;uWZCCJDQpDe3cFk>LQWH#4_f8ws96J@~#b?c#WK3ktqFzLpJuXwrP^ z{_S{(^P&&T%?kn6<{dM|JN-1kc_>T@U_P;#hXmXx-kJ8ZHr;}OZgKuggF7&N$I0ya z-0R|kS*6Na^vG|Mas@T&-;|3mdkVxtR@=vFlJo=(?58d@H~IckiIcz|JZSt;*&EG@ zW?8jw@U{pn zJRd8yvb2$fy6p1Drm)_-vW+$Bx38V2)`ydu199hs z%~~f1|7Vk){PosrqXBhEi>lYfZD?RK+ad!fTs9nd3etB&plc_nFSDm>$3MuDlMgkU>{tU8?k`M#smdn?! zg0PDT+?Ubz4+rG;3`fE=_lZS~v%mNtz&KX%>}sWsp@2|YU22=$4yw!KU*%x8dSh<( zx>N^md}kpYHUJuL5&8O=L3%|LFws5r`5?jQ9j*--hXs40`}qL@TbJ{q$~U7pW_&Io6_PX~K4JXJ;B`|iKt)`4Y00LnB31v1g4D{+9+S2>(ujUg0q3$-^x2x@p6@GG@Lp@O35p=cTI zBob<}Uk7y`Pd>gr@UYOi0TJMjmzc;2BR>M_UFD4^{QEQ{UI&$t9%Nc|K%Bj>(^2^y zHF%=lzz0g@7aaugPfRXdAX!9YXc6|e`Vs4=6xo|pz2Uz5$JZ-9zWUX2ML}>%hQw>L z&*?){E6DYy=;df1S-4*FX>s{RWeuXwWp~7T{NZ)op!3gW?^qtpODOF>27{N8T72Iu zSR#8OLPQ292hMz+{={J^7c0r}GV~&Epr!I?Q0BYVEfGIR{djP8 z&#PAom+XM7EO>4T1j{{wf^^7GMuTi2$+uZUb8w%hl=fAgSH9`4PbGh~LRDiL;@{1o zUal)au%~ejK_MTp$Y?z$QwokT0sPvlgYZqsKTFI*X9zotqRFjauyge(NBCE*5jO zqfO1~knoKWbe+wDq@~8RYYA?O-CSvp#RgEkYjch3wyEiyHhnCvRf5TR9H7m^J|wz3Jmk^e3LrT4>T74b zGeNV64gX^AQjX2Pr~0GVVwTnJY=Fa{O)2JpWf7OBnG?f+*0ah9mi+nRXdNK@WP{s} zpvxB6M`s^Egd;_4;t=X@epHVs#pj8+l zm$~xL1>9}HV)z=iTs(i3(z}mdYl86Ja|AnJ`77-==o;0v-o^Z~wdiP)47$#Lh6ouv zI6Ll>S1G2bhOWlZngOmUE6f{WjQ8)cf7; z(F^r@9>_&ace)CDaqfz>raLvHubJ!g)0bBQFv6=w+lRkh4wt!hY3=q;Bgwj40+Os9 zY!w~GaSJa779=0R8qQZ>g6A+~O_kF2>m_6>OJRCh+XbFACx^EbnS4OA>vr5DCl%v)#6gPZzHb7^+_) z*|of#^`(8dE479mYb2MVAx8ug4$5GBf^tF@8^IZ7QpZCRO-}OgMF1FcOzH-H(aPT} zX)7#r$WI)5uKuP5j^n12lB6AkW&!2yGu~;Hk3o&s!Hf?Dxc9olPv1z$nkn97yp&9nT;V7RzQ>3&^q| zZbKJC{#ToggV# zN;y^0eAE)p*MiBw{%JnK;JMI9rLU?P2*tQdLr#iQ?Y(7z_$#Bel$ItjLWSrYcvDb@ zX|`*5xyO&k{d#^o88R-7JIeqSqn3V}-&0vjy(3n?z>^w&vF3K+;Sn&hng&j{^clEm zl~0&`qTiC07yFqR_I*=;OoR{izk|+WXa; zu<0LBWC>lWP8zKWc7Qr(7G)hhU@g5GANIFOmH}dSrDbcCJzGG3hp7i=M&6g7zTw&M zT{SUG&Y{CU^e6raefu?>EsQ^8-L5LJiC#;-R1}zGF z>r||j3`+-fncsH{Jps=?5*iL~`0F=BdVH5ImVM!_Ugub|K%%qz95F$kY;~E_lAz~T zjP%)xpl46a^jTVnt2=szf)&{H16^HVhkoR290s7yX+9hkiT(M{zivsv4hxtn9$lt- zf)qW$j{*~jr_Wgds2;`Hjv07>9VVWkVKQ58GSl?~9268s?^iIndRrkZx7uvS*F;r_ zJ}6{1?`YH*wl_k4u0N(XAipE;h+OY^Effpnm(RpE<+thC3ZY#~s`~jPS(||zQy<}= zvQNT(CiHtMQ1GmuHG26SlIiwj{&$Y*uT#lt(P^@e*Suk&lw{63IlnEG^wkYtcX|Co zc4b5VrACzWwaxKs9z&vueeDW4CaU{Mt%169)Qu{6qiG%3&==1f2!!+E3KJuZtTtJ> zVCl}lm1Fwg_p_KauL5|(ZQ=4PI)t==?xg~5IKype%QT+rp0fx1NgWt7%=u;II(Ey9 z%$R+z==`)&D>#;5O1Px5K)IjmaSm|HbvB@ z{hEg~+;40-6V0mCXTv?9i@6ZUMPQIS{rPeO@g%!gM-!;ZX5BooSV{y?UXmtYu2d)kck@1)(Y)UZ6`!2N8cUe|by=Gq-6 zgb;>zpAq$v4t5fN@V*;TsvX<2D7Yii&+FJNAc;E)SLl<=ijyDL>`XN^KFDRV5K!=J z3|hD4eI!wvJgatLTY)VdL=8{6#S)fo9jj!_xFqAVm2sXUHg)Q4i~)ZuiVg?o6;Wdj z>Szd&(xpre>dpfKr7pNII=0}Hp`lip6%i@9sRQ0Kn=d;a`Kooj873q?!{6o^h&DSs z&H{%?=ZK2?)|-y9(^B4|zO+-`V_PMl|tth`Tg+VN_{OP*sEjy zmjsaYE^f1-51}yX@ptq)9p(e{FgNK^RCVM!owe?ZpfZp_+hK7&{#ZJjUwDf4zDTjP z0j4D7^}Q?D?e&61oK#H`Gb0;&P9L@tc`& z|GKz6OU`V0N`E}W@S!T2?;l53H!rTkA9H_yyf}$;jsL*FDqMvBA7Ehc4u{-RH{(iQ zjeeB3VCVrFM#@eeQt%JICqMl80b&;dEcYRGdm@j#^}hstzQpU1{2ZOB+N}V7h5w|gf7~53 zX!1+pkyD^dnkk_-J%o*nP? zf8+lfx%)3DNR-}QoMcVpOHanI7R4QkgR5Wyo<=E+3H#A0MmmGTeq=v=Ln{-X%fBfLGvVD&`cl!Tv!a1clJId?_LE@;ZQR2nLh)H0&dLXc0V zt0z%TgrSqYyTUF%woa9ufR)N|>umDHp_CTv3@$n0a$iiKDy-AmeALMBI>9%Wx32*J zM&5T_DwH9x;p-HzV1~C)=y+Rq{;{YB?G#{D#vIYvVyh$q`&RkZx9P+C^ijI{y@4sc zEHHah{-%U)^!(*4@f!f%9n%Fe8iKKQ` zqyBpUla=2N^C@SW=N>_qTChTVF?8gDGZFuV1mOxVY33fdfiMWPbYul((I}y3t|!>L zeGWx^;8M^d`4+d2uFUe@oz}Q(ZavOm02sJIvb(#XE5_4n#?xqnSsoIKu6?3#Tn`MH zx@Ygs@I6kwfrjk-S~G4V!$$A_w-StXtj9pn2>s#c&HfIZ9PQKF=QCVZwehU^)p}f< z;U*G!_($V!70{RF&3^4`zw~C6P4hBIme48PH|vy6N$mWvzD8YuUW5NZ;g|T$hVu?b zv8nXNl97VD>O7aBy4{3d1Fc*L2nYnw1|zzV$52sj&uy*x{CxF3@!P$|3gX^;GhLuX zBo4J^A4=V%xtwV`T|nb%xl1OhQ_#mnS))#jR%5)_e4idOt&j%F(I|;(_0Iuc0<}C= zKd0qba$q0qx3OR{>(5LH(NQ2;R1v)#5Pp!!7&!GN10wglPYpGWrdBeO^Sp}({O>++ zqV7LF5Jh2?OXKrU{q%q80}C)Azjnk``v0olCDtI0CaK!^8G;f`_&vFoE{S~z(_-uY zEUhHfulw&{3e3Spu4TT@5~_#S$U<{00rh%mW=O@VFi|oOd?u8OSp=By{tpk-yZC>2 zU|aov=YdUf|DQZ?X6!#aa6?twI^YV645sEOgwKbGYcQI`kS?d=&e*B6CJ3e<#FE~X zWZoe1Le#<<8MR32r|n|t#m)({$l#$Z5<*epCI{h&MQCoNx(_~Ui_b#vOUQ`1qJDb@jWubO6ajK()LMmw} zeV}b`qX1t(pugNy#FY45B0LMrqiA8p*y2aU0}ia**V@19&pwzW6tV@D7d=eX7pr#v z{#OCd?JcDXi@lYjrxKz~_v*L^j}gRpVOMeR*K4yK?K%SAhGf0NgttodKSB@& zub&(AEjJA*#sWV#nLo4IIopyFQ?5pCBrp2)C=osFHqi|z zbeShu*iGMgdn&D&@4TKR2-lz1UB#RK2WbBCXb%DNWT z5E5zhG<(x@HmTNUU8yn-eRPb{HQwd32qrMJeqV9T1;9VU=y?P%+aymo*HJsV%VT!@ zOAjnz`&wMwDw7Y(QP^cjS~;s;Z?z;{2n~^e6lBzJgSjEx`ipekbcDT|0CXH${%TUQ}>?#+QbTxTBb0JA-CGTi`Q$5)c1pJ>XgvkpFBpUl!Fn zf3}6mpYTXaCeV{D`QE&Ec79Hx%Fe8Z|5HK=M(I)Jq1dg|srs{9>6|ecKP>G5mfSUT zxhuQlXh5(p?On4#gc;oQmMYwwGc9kB#ISZ^fpZ(q4`@({l~*5mP?2?T2ci!grjkA^ z02uTT@i`GSZBBSP)jvb4^)Cy0Hiziv2MIS9=q?B3q~}H}J=>wQPHk7_*3y@vYao)# zD&3ry_j@IP$b3GpNZ*U|iFQWiugNkJh$0JI9RA*CW3>m{ZTCn%#wiNI^y#>6$HvWLtJknLo``FhCrBLP*o>gWrbYJi zlT1Y={-*a3%$&>_$>VVK_)`<{YZJS{F)3XCIr=uyp?jRWzC-fI95%2h3E^uVZ{DoX zhTz4dVncUV+^u2d4>t(|Z}NyuPa(3I3_Bg~;n`v^I~{NG34$S!I?IhD?O_~st3o@O z_(!X=7)}RPD(D(eCr-YooW;^7p1sFm1uXfHR0N}q*oY--28gC6l^QY+*74Fg0b^6! z%mDAWq#PYGXVg4vf;Wy>f*CiKoF|w%p7%NYu*zyyC`?*QNJIOUiFYs>gV3QP) zR(`tgvmzYg05_}KzN)~G=KMMMEr%uwPd*M!U}?}Oii?5AFYo}x@3<9^WWVP}9>#kf zLNB7k!|%dF%z!G7%~>iKDHNXuchAJSN))N&pP@u+acc6!+IFWj#GixxR%Z(Ad^i(f zO#&#$Va#C;Hh&I>WT0d4c_n9SpY z?C_zI&UfWJYbgRPF~EJAC<&b}GqfKWjwT|T?8E-?!ergDG+?Mq0oE)8|J;)3#q^D6 z2$V$MwP7nLcVhbwX(labDDxBAQ5D^3PZQ-#o*IABU+@)1-)T|O$rt83uz9Zp;|rx< zlI$w*d@6M&#ET)HU2vDgADusqNcSna>ikG?=X||{kt{Wp>Z?fo*^F8iNo#$L~mq0QRZw;l{n@?;!y;Z*tNj#Ci7SPV-)MaTr5+sSEjk%n0 zeSUSKFf(dh=x0Z2Tgl$cAx5KGiAAx;_QL!d&oP~c-ErgDX>6*~jt?x%chdnYi$H@Y znbAF14-nARouHyjxxZ6;hzk|*x_$TA_OpG|$5eOj~-X@j&u zS*9wnTt{grEp}3?M$mDy?K&{#_fiT&_M#WV;I&tZkd&#MICU*4S21R8Q(USldf&B} z!R9P2HjHVRyaU30pT0P=e>-rSBs@w7dtzn0>8_Ti(g=K0@|$)!8Mv&fnZa2z{^MFO z)?wC76@^cZlzg4fuwAN}M|&?kVx{I+J4PH;b?zdlo*1H<2Y0Vp_aRPZ{*3mHeH z>kysY=Xs?s0 z@lShNwPH-~!FNI{7<_XLw-Qz7KPE-rehz1FYVjoSjbhb}eN|C`#u2cfps=1H9F3jM zIX;}ebt%ry5p2$;P?7Pj`M%pox_`=RqSgMS%}`USNp*d1j7XMu`;WybgOwY}Ys2sL){kDy{j8yB56XOf`OcO>vRc=)a(*b9 zz6d|_?6PjLWo8?SNUwsa$5b)}QE8jnyCSZd={^O1G^h*CI?jA9snE@jYWsznJ*qwk zX9VtIEhpbE>`ftNMR+tvS)D28>O}X}jOLhEn145Z8(lK-U{>Aidc>Cm`t#bhy^|O8 z;kDdhU94$eIa)&Ap|Gm4WoLWMkbGW$X+aJ+IkP-$O5BFMY~04K_bJYRPP4>g-8)@n zo=AR)eeU`M!dEht-Z|i7nxDXp_lh$(Weg!Z86=3}LPQCxnoGXyQ)8LBKjZzI?_)S^ zx}ZZ`lNqo;!G%UH%1HJi(^B6tVju%=GftI7+_}$-( zMV6$j&%~7WH-IxUq848(DlBxCguG%kaJyloSx}^Xzmv}>v*-SAwbTi?=v$R%W zCT>7v$qAfwpebk)QTx)|{De=AJ2`)CkT-0R@@xpU38slJSf3?PYEju5!%mG9YxBvH zY#d9`CtJHETfF2=Rj%3#Szv6?FZid7ELNp&ySez*d|Z?wA_TAgUv%B`b0vzq=liT+ z#Wp&&ZM$Qe9d>M69ox2T+wR!5ZQMG0pYORdQ!~GO>UsW%SG|k$bzevD$lY|v>MC6q z^Mtr_*7vZTh`&zva`K)M=#qt_;;f^$#W{p!`OTwE%2Y^=9+WF>VivP;Fax|_Zor=6 zC!EZNW*A1!WHrUTUc!B(7ANvwx2mS5I^Y{hJ#NAiZB;wwCK2-Rx58`bYm@C|0q+(j zu{|yf&?*6~=Ak_{{J@&6+pHu1+a(9FhHo02qPq{a`l(1VD-I zTh0HbgV#8mb=(T9s|HuCM_pGKvh1`TKfxY_|3e26+y9}1UH{O*{I!Y}uZ(`GU3PenlA3+rGmSN z29c&FK9?Am9b9*=9N?piDd>t%$2t|;-Ep31Wdiv8LqA5+8ld`X+R>zgj{jf`Vi6ws z*a+$DXtCPP{yGt)!x$v19tud^)554uI5ehDbb9^6r4a#PA7xobXv5jxEz`?yvM=Kq zXz*Da2a)F_VVKj;xejKTqcoV60*X#wB~SHh*Q@V#&@e|SXtC-YEve75Ai=ai-W~g? z^$5z)xjYg{1A65Ik&8N?xd0=0XVYRKA4$PhW_n=pwh<&+XTj?%SuOsR>(b`cL6n$7 za|=k#`CuFxNnyh`as*64G_*(%}RrtXy=Er-}BzkT;c^Y3QcxfVL|7k{>>uDi;3({`tn6eJC-laxco zf3&DQchJB*Y-?@KR2vu2KUHAP`LUZ{mQNgqWa3z$6vU-BYj_{CuKrmcIOFLq`e`Yy zs@G&|=stZKH5)NnUD{(gFywF<&Y`y1`@|TO4w21L=tk=@#MEaq(r5-x2G(KpH(q@T z@Y_vem6ru#ww$0F2)*o*4;ECwrF0chQuQE0onYxctdNpqbgN=r(M*l|a%tQ`EKu(J z9)L3m^Scm{JF%0;y2%!b^_4J9H1k86TZD7fTQCjL;^BII>OgDwfNm|IGjRw9Q#4^c ze@!c1*2bI}ft%7;3_U7d^)IC+dQ`l>CH=(DO4O|N^2c)V$P_MbU=HM!_2P87L&p`y z*n0Vo@yv~`N~(f~nMtmAt^|vo7QVHIL%fO1uXPJgi`4V==Y!5(uI0mes;P)>x?|B9 zcm1Vzhxh2r6p!hSWmgBDMMvOyRaKGcG)-EAHq@KPQu4jlk<(?3br+Yd@pPK$^lL>X ziAZRB#`t?ZHPzjzFzWRu$JAOQLj_8K&b`_5M5RUk;WLxdOGOLYPy5%l!tXFfAfJr!lU>Mw?I;JXY!(9shM-crOTs| ziYKobou)*W=B=>d7`Hgz20`^g{3GZTSI5VbvFco-m6QkCspl+HyrI)G%%2IV!kK?(%zT_WkKrdg{(~AURl7w+cypqUnMbC!V z=Dza&lSEL8%=u`x$x3FQe(CN&d154@Zf(lx#H&TW=Vh`jtIVq1rYC%P3Fs* zK2f}Q?aaCK<0LA(cKe*8GK`_(=;WH;;LL09@wwW%ReK(@ZH99MMI-PyJM5L4HlBh? zyB)&_5Og(lUnPkMfH5>>sh5c7bj(oz%c`{1b7pg4ekD6*ck?mD7MflrPA!Q}l|JI! z!xT5X&} z#YT;#N^sOTqK%&&v9B~}arD49Pc}Eo>h3*)M3s?1AT%)I)P;EgDK7`{I}gh9Jf{4S zRtJP~(g#QF3Nj7@EaMQ~&J&8)G>E|W1d(N%g8t1r!6x&Q`t(W@U&@PLPlcSA8<9?Q#x3C* z>v@1nr;QML6OSIq$LfpR-Dl*8?sSbb9O-0_^}hTtYLkpT(vi0Z8`QBS8RR)N%iCEB zM17|;n~63$W;yOt|M(e}Ids}T_7neDZj@O06*+%f_uQdf(M$#VXecqAX9C{{WY(u0C zVoqa>k`S>4^pM;krHpF4esL@jo5^Zi%OW(aJzCji4tXq;*#VviNlHQ*M-WbtyELz= zI%(J6I*PvoXMemi?NAiMhlo!1&!CKm;R8a>82jbGy_gEi%lGrd4<@L{^v*@Q3GXw- z`|gVnyVyQ}>fk|rO<0SJaFvxHsLW1B#z)QxxaF6I`5RY%AI?L6?%ZCdtyS)GZ8ARf zyi~_hxy`U-e=Urle?C?7Z=R@2Jo-!drYq;{K9q1YEn?YPo>3a`W|zqhx&2V)3A_D( zXhz)khrPf)LQP(yoaCTx;z^BBFpy@P03w|Ma{LDmK1db{4a*mk9Re#*RPUxs6=2*R}M^A)=jpk zDd;dZEy}~pkI13y;9jt7O6SKvb7tuxQWv4$^d%Z!4Aqfs{rCw3dt65!Bf|q}mKtAy z%Quk!GLm;Sn0X=3GuyMcl{~pDGM7k)y_zsW=swSyKI4@==^We6Y&B+-x?wfizJaC_ z2!$~JdwmIlo~I_`u93NX@_e|3w4-G0Cq~WCQ&4i{P@NvUO!u`qj{|M{2-I-DdcHceHRO`^mAGW ziVj$Yi~!>Ia)U&0Ep`@0gF>&!9| z#!g}tSh{;{jP2?1x3Tf`A*rnRa$_$J!bM*|a9pd2B{#{OgsR~DZJfYBB z#E4(PqV&{t_(p2g3O+b?EBO(n9UwcCQI{M3T)J0Hn)IA_SiI>v>0agkcRm;@`9FM6 z;s4DCl}?pV?*E$)#ILc6%o2&inP%AlOFUJ=)28aKb|L>&&esG3^gqO|R{`T4Kk=LHp~^Ox{|GEFwwl2tLK) z8wr*NKA$=JD9j!~zsQ&y-z5g;-O{ z#R9~2T~V%TQ#h1oP3_-K3SVmd?wMj}_5y1w8LkizJB57|kQ>e0S|j#7i&9<78t`7* zjs;=~(;HI3!VTr(#Jn)b0|uMm#X~zi7MSDVZ`rV!9L$tkHVf}h0>N8CH7OAeV3-DF zK(lke;Ed~yV8TXt_g{uuna8hI1M%a#jQd68&v&^?4Fp-4$EQ+2aa%>yA=zmp&>-GX z6|f8RTmJ0*i$r8QO(=oH#m&NAz$BcFo%t6+I2$_)IX?1l+Ag*(@j=>c-g~leHg@h` zbdh%ZM99B$kzRvwJ!4}c=$)60Wd(h)I?rc#@y~NQj)K-g<9hjP*2l4(DHyAnqF)75 zU7ULC+&ddHGawQ$C$GEMJ6Ni8i{!F95an-hb^+!5V1rday&&fuG*xe)TW~o)Sf{wE znF}WFzc3J^^o*sKqRT?y0h4`4s-_*Wb*bVCEV=Zo%@$p%_SbFs42XmvVVO$`e5e|& zp1aq(1cO7Qg}|RqK{|mynI|Uk3mib`YK~)%TSd#G6~WR44{n9Kj$gPJdjt5SS&YqIdA%Kn+=_^*34jbRKZ}TIY>MN z)KeTO3J&5;KmIDZIKw+H&QNtfmKn+o+W%)J1lQf^?YF|S?Tj^vbT+4t-epffOov&^ zIx(4|gVhTFR1k&^Nf0cTlt2O!lvoJbXbT8p;{NOVML)MX&Dr01dit7&$-|t3Mxbh1HQODq~jA?%yJrkmLx)({wbLJ6JBI`0kwpDX8p zntn<+#sH}>!^xt7e6HD{I-SRSh}lN*AhGAQmufB4Tx%SEG1Of9T%~XX4A^bh%#Bv| z5Hac8l(&2Te1HN20fsl~0iuwpX5v6T7vntau$W`6zlh`CC8}E;KzW5Mpi{vwrjETj zSEM|nrj4K^I|oA%e>>gJjQWP1gJDyw3gQk^meL>iGu^SV@lh0P_^lsxOc4a0Si&KZ z_so)&P{K71?JK9fl#T1DcQhQF<_;e#UH4!QoeM%MI%4;)IASK^ksH8YgeyGjN!Z!L zypjz9=Y2wwPhW$ycv#s|*1s7UVu{;1zs=Sfca|B=+!D9(op{tWvs@v!Xv-ry*`uI} z6fixv(g-5#=?Xfzh}4EMy2c&3-(m7=<1hoCiNT4o7l`$HghaOijB@ROG>5L;f3g>^(dy&1Oo9j$S z@t|$8E}CBkVy*&49RS`yzg6{pZvp&A=sR7GFH-3V1jUKJyqi1jK_J#f44D#8cF3L+ zvknq2{%#N6mZ*Bdx$d9?_fP<>f2xL*Yn}&^ejk*7i1sNCf_~vngr`T<&l2n0m2q)u(URIo-2(@GyCp)>+24r_weAH(K@Kb58`kq9F*p9!*4B95;v;DW-l->tNnlJoKWuK30qc}QZW@4b3MMxWz&Q2P zUPhj{y8ALBMy@F?(V>Wv@1n@Ah4jD8IXu`y8W(b!}}II zU#Yxe0}p;D1G>G8y!q@bYStRq*VjLFdF+4UMXdq;^aRk=28pr;Z)butS2`L8qR5smH7+oL-OBn}Uv5(}_U z-VV+ul>%qBmy91Nv*+5c9db?0s}*{m>lPm`)rwLPb@-k*BJ&_6g`4kY=7asQVV$!P z+z+*Pw&ytt$XE)!|62POXxlH4@^z<6v5ID1Kddq+;y(y~RO?1*CrB`Z9E*qdRrXKU zFvb3=vp^p<_n0Ctr=o&u(#T5R#qf6UqJC5`8prDbgEXd0@iwl02 zPm)lSSH{dY+x$K2ppw6yMlIs+txqP@i4mR$K;r~*w`VNELP(}~OC{T_DEo0rb6$v% zH~fS`Tc@XZzxQ6R#y6ipvF`B5tztJ{FZw5J=;6Pp14d(m*q9iFt`6w0CyGIPiDuep z(8HtV^|;_i@|5Pdq4Xoq@EP5|=)+INK;Hy|bUYAKo-cQeM1#YkeTV=visqa33SjRO z^hq$q+(Tv@#b%z7TncnEr3H2`z?d1jY^S)M6QA*mc9F_4_z?`YPxez49 zU;hccAOX{;BjE)|X+kq^iw4oQie}ZzXCm+ONzE?(7#kVn6?eZLY8vV9vH2KsN>@Xj2# zl#c#+Ud0Ka6)E_rr43YW&CL^R-~-i~Rmfe%2RJjRVHfa$a_*q=uDu(Ufm$DZ$U||? zHmFn2Chz0?n>HNrN+3sk;k4VKTf?F`=oOD9xIxZk^WjUyCY@E`|F3;e!<~c!F?Z9B z#JB_-p>i`~@;(0hi?wB|ixM}Y&HF~ty>YWE_lG?zL%^tP*lU}Q7T{U;zTahtf_h-n zwXiK?xkJkNZIEP-K6G8`ito(Mg49I!EAbz6NKJMD_y-+!*mNNOgANB=&DJkK1o&Yk zCNe`v7kzZEb6(~9KgDH&JJH_4zPE{Niy~5v!LQFRti# zs~wq+2>q5kUAk)XL>53jf=xNr?Yf%KWqV^k=Ok9&P53>R~$=8|U_E?Gw>@>=)`yI9LO>7Nuc)jmtOpp3CvgI(-a~n9j?S z^;i8Mw@S5@DQjL5;JW4&ZG5hNDPMqOYvrd5AvQ`%Q#Md)F_V6hFmt{M0N#H+PSzg% zmOcjhy6dNxd+(=+Nv@K4pfR~juEGF(UU~-6$4Cv#50Hzj?Ur$kn=%n-?7xfT0{4JLNW8>z@=}SIKBB26SZQ-eAh5WY(Wg**@IGq2$4&c_LHMfLn`dBV$a|Qb5%SD z(lU;t7{N%D3z|$)ELJY_+3m&`14sC-s(3oLxa62Uuij?;jF+E`k^R((sKuK6{TMb< zq7kV7lgjHw-}gfhW3G3ZTsMIlHc+!o!0GX*AcY*=8tzoe@dl2J?JkDz1GuZ(wMLw z;#XcjS8c(_4@ink?a*uj;XN$mQ<1FfuVBp?kiCtW-IQaC=HH}Ym}e>8DZ8Q<@9}#Z zs~dJzlPVa3ty!*pKLCuE5U~psBP@9XSrE1UDt|V(SLxD+oJVEdj)7xU48;OJ_Ck9j ztj^|%Y&sJ~>JitR6(?sW} zgeF#Tx+xJUHSdl74CW*(CF8OBudlpYIufnA{E3i&XfrPV(=Ur>1Gw+_gXFN{2_iNI ziSYu(xY8~oXXL8Zs$zJRIHu%K4!r(^W17}aTDeC}mZ*82m~-;Cc3D{)oH!US%*0>W zH}kE^ryp_&w=s=GY0Mk8%aTT?w=ihQpP%L50j<&)VAS##FSF9FZ9r0aQOTa)FoP^B zyMV8&jkgyiwr@7xEp^$h*RhpEp1tF)osXP~DPI%at+8E0SF7^orrXe!1B2`u-gkr3 ztcT#K7h!#@xl39^dvEP#2JvXJ8b0t8DJ9xNP3bcUm=1Fp;qmh7DmB@~ymCSNsS5AK zL|s)pdHHn@Rj(SAq;m+5v+{gzstgNVzYnYYIjO%DbBMLg<&sYjj*>3K=wl2OZ{U_hFt`G$4eRq;AAe8W(9%fFSN z4bMp%d{-~^SP-w%vTM{EmSPX`ROm0rW=~VF{K7P`my!KiVa^u0w3$83;|pB-kvDj(XyOsUgrvr^xRs;JO+m4+C#26+hHh#_!kndnZsJ77oVA2*aznFaGXu~|tV|&jA^Mib12yYsf)xo`0!KiA2e5wgH zY}j8r9UtXx!%%v|SWiA``G=HEQ(m<|S(K(T6Dph6Q{J&MVz2R~X;p;&lnTkC2}C%N zY}!UCJ>JgnS`F}_ImGF31=60hC{>TmC7)}ku8d43(wwz~LP(QDswSCOXB^s}P2Ltn z)|EGu^-P|mY3c_kKsId)%c?YRJZazcOH|+t;Vdo%1m92f`hg6CL0?)f#25*s(qPyd zp?jnh-bVeEvdBL?+j`U64QW5WaAaAqkNT2eQb9PNeozYL_h82aDx*_NkfN85CAFMw zM!|G73mGj~tntcuyo%_h{!mUPFJ0wXNPvE8RUptQzi*xOCzgY|Mp(vqkgNKHih)cA z=l$llvxi*AayV3Xm8v$9HN1_Cu1y~f5C=h|*>UqbOnSYig8mA2pLJq~Q)U$=i0LV1Xd!tqGzb?}aS#oE+NrdL#E{^R0x_)#56BxQ zT3Io3YmBlkRXy)xmRKC;?+`jCA%YQwO<}AD`vxt;6P1JZQ6RCaKR*Jgo#F;~+;2tC zDxnhg6El%&8$7XaBbV6`#cGU`1R`~m7z9Va8|U~U=s)O?K72BUw@D;`pFU5SCh^hU zQNB-MYh-Gz#vpBYPIY678LEr;2F5qephh8=fO6K8V&T$kvJH5K2m0o}|EXAL-$|*0 z>BtQ>Xry*k=w4?B#Ah%l<z?noBi6Ddtl=KE2a9{(HFdd&2sreR_ z*N%E}Nh<^(Uxj)ZP+b`nd6ex1)1s>^gj&#{H=i?>%EKx z56x=Z*?C;zOe5o>nRH7NrN zfdlV?{_%Xp&i?YaoO_YP=cNn53M=%=;u-Ak2*w(I|LbYzbv($+&~F;Q)5qch+b_g9 zMO?4JB>o|gf85!^I5+gepqg8>m6<7)+mV_0_fabN89d#zJ*t~X2G<7o*6c7U2jEY! zkB#sExxwtAU^OO;6QR1nf+Bv3_2P!wA&%}wY2QK{e44|%NY4|Ra?4b)mh&S`=cH7* zsk-YACQH;5&G(e@vW~momaNpUf#$Cot#W%C;6zN7zm_^#2_IhWkIx(K?;8MwQK)=e zJRLYWvc+J%jtHIn9hoxxUo$bj@3tSy>=p7gi$31w{Cot>hhMMHBKIGsm&)%ApH6Gb zwmDw~wjIqYOYigAbrms}*E4^7>mwU(S63hQ_H50}%*@o4Kdx6_&K$V2=DtgOeR(n> zOA^Mm#m&Bb%URxdnsiq`E-${@X#05IpL@o(OXLd{?+qW;?+taW*Z$h}MEQ79wygiP zMO2-~OaE(Yt?u$@@t}QEw*Et4@qO{Bv07a82S4)S%jYZOTTj99Kq=RyM91}r$ol7( z*UQW4d}!(zKTAXC5bNBj-s||!GddN@b|mT=lf`cgkoll z7sIIU_lntFPqy5n3*Q;rwQquwfDdnS#r2^h+u5Ts>~6LbJkFuH#ghY}ZP!bvlror2 zfPd|-;kT6>85%nksmXKyc3+tF)@m9S&G*O%Vz72&=LT}a0NqADMhJnGInBnei3ycC zO8>P#H<@jD-ESyyJuQ|MNz8Xo`UVw9FMV?#eYk!M2o;QPeENZG1!(#yO2|(VRb{ zFGCzgP`*wmQh0%y_K7j}9RbaFQtKnmkcRJqX!t>11;Gd>-$ z3_vkhw2!}}(rZGfjV2Nn^y2|N8>p{izD+xrGdKH=MzhprL63}>IF>q1j+91lDezKIeqpI>48%!lnB{XLkMjve|j zJJ+UmKR@kg-=k`JFHRzzj`Sq%NQ5@AHN8$)Ai@ z`?eY$JbfvOV?_^ z&8ptIeIiE;<)>{#QEbp6=4lJxCjUR!GJ(WO4m z2RCwx68#7smdt+-pFwl3#ywTKXt7s7j9;a|(n)I!wIFs=f&-vmn ze-_J`I=Rl__j!?6#FLrIN8?zGz%7Fq|3@Ki*&;aX9MydGM3wkOl^u|1|A%?xyq2S4Qt*pUUH@M9_{yvO4>0_eijj7?(q!K8U#f zAGxo>*{figjjIFl*t419&{Gox zCsUu98U%%Hbw%90=RM3HwpjP6P!>>_RG&kG$*h+x!E%y>n z8>KiquDoF&^bhMwF#(S-G3QyNfMTpFhP{AqUR4TakDY_aZY{3Ma@{&?9Ibd#F5c+w ztga}UHBp@YE$)j;CT&(+%Zm%&a()qzBmZ$78PJV|m%j88fI$&nIkbyOye;y8nC)v00~RSb}6_wO0w&4>zO z9#!pCVTuKr@xoJtDReMx5w|+^n zJX9ndc&Zz1tDjY-|EN%{v*{pW+Yy4$pXG*>W>19?J`Umh*zFJ+2k7 zw0h93HGBRpe}W))&H5Sed$}t)O0hOX=IvlHri`&^yShOk_up*lVNN1g}}cMN{- zeFd?Al1sqpu-UwI0iDccqH9Sxps9V9>$HQ-<V1~mlZv8V@5eS(p^)o_GI#)ydewkCoG&!uL1GbA|vMPzGL0u7|Vjd zi*rgw2OqI9@)ZQAt!aDl2|}}3KbQXv~HD`DFyl=OM#_1{eqX8 zv5&b^B!8YUt|ew-X5nqYTXlpwZ4UaEkzP=Df_N`&m}^G%zm>uQvbOU z;zc2O#ty8w{D;%7=n5M0k}j+c-MbPa?u7+k+x1U!&u=EO{Xejh4nY?i=72;E_46@~ z-xqGx31yY~weie@PO^|Kkr;O61+% zJLJ-VZ_Gx3UuE{1SFR20H{;+3F<7;GDv zEeyzKpLC%`F0cdI(Zx7tXZVxxLkPKxMP@!ysi%4eLH)*@$vAmFx@(N#=gb%Bgr&WQO#Mv>h9Jq(*qxf zG|sj+m0cFHnf{l)!BnkEv$-o#LlrUL#P1eR8)4Ot5}0 zc9d$q%%G=SZDwjWPCI8vG)@VZsfquuWr#CQ2@n5ZU*wKDQBpJvZy9p|;d^CzY~bu% z_9~5KkLY(#H}BA;auinM5Kub0IOk3EW*f_lhrdpqCgb90d=4gs9QzdOQ8+eJRyvCB zjNR2Lnk2&pcT8f2G{#nt9M4QBu~^MPuUB#@i%qJ}X`CF=pb+O01S)18GJ-pfRL1yg zkkn|H`ruFy?)dZmjch&(JHvF^k~&c>m>YWj%~A8z@uWEq{na+_yk<}L;t~6ArqJ=< zOred+ThpXB06QW7@SxP=Tn|Cwe)+G*s@l}!q74Dd5C|nBD-5m!`sTF-+mB)VRRf2H(ZyYjz92!3@zM|m zQAj#+yJZ3aH@f@q8Altn6IUPeI;c@cAtzf}x)VY(ilLT9E%Ye)Eo>F%#mk`9)6HEd z+uAz!5CxKzh!EpxJwUJYm6{ajI*ENk|QN5Yl)bD}))Z(f}sH#&w+(*!<(27&(mZ5%I6@EFrXd zELlv^U;tb|qrY=Q-xLV23M6bOP~#gAg4uF4r>otYu4=!m3H%1J!-4A)!7nRGQ#BD? zLur%Ecw=^_dl`Qb+ zSkS~Sim$Z#qlh1Kth=`HV&mTLMswhx=EEJPD(*4cPi)73)Rvi-hm%qsxqIWtw{cms ztAZ&@@*f-`PyXQ-Ls3?A)M&DZ!P(^(zjH6k(O2Ln1!yELgoly1aTjZ#Gjt@oO+r4g z3;c$u>olH$<`@0r+;n`D%F9&MjLyQF64q;_PfkC+DBYzVyJe`pDN!x+bW8WYq-|4FyREIjxVF9ZN*zd}L!o3KUL8`K#%g3<0R ze6~rCN*KaFC9m8@c!_E=2H@8Zc%niMd+3`U8Hnu z!oHZeG|gI^3D?z^=gOs@0EO#2uKrNO)M|^4ydIR(@a?Nmf_G4Mn4ro==~0t)6rMOO z<{clAIxb#r^?#Go zYX#G{kzVE~91yFRLw6FPff2+|mR)S2>ouAW>-(c1AY-Im_ zm7+Pw@209^>)fKWMI^l6sVXF9Fu9)&^7J^4hPPKJP|)kUXPxfJi(WA>hO{VDNfTZ2 zOV@fLM{HTX5;!>Z>UmbBW4sU)&t9KnlX0*4OVLGDnYHT8O-ZcN zVl{K{e#t?%Qg3`%Yg|OxH3>Q3&ir(C8{xn(AeZ+|d|}Ifk5>k%jcc{0{IXdKQvi)t z0xAb&X$^(}pa#C2+fCo~E~VH?|Ln7Y z4Kb|t0HE&EmarN3UYJKY;DsI8*E|Yt1s&EGSF@Q0eFGk_y=$xopb+1V;>KM-UD-H0 zRWutgcwmhm`G#3Zn^6X1uxhgcJ@2fo06^f;iO@N8cT)B`G!GfEHxot`SV2=7fa4C9 zgvt3S`{En7J8s+#G_Iu#>Fe&h zbJxG_@GTlt)Auim7LZc#YpB9|K)l3e$*EMY`gZ`Kf|*#VW%^D0xj=nZ*`+ zgS>6YYN_AES;-TU32uHwB)coiTJxlRNtW6H#*=GV+sj8~uPp!8y)ZRD%gkv1#7TTd zU^-0<)l;rTipCUG(@+MhQb6As#frh}?C|X;9VnFp z7(Ehm@_AEPJ*=0E$L|1Be#v+k;ei`PwOJ#Mi05NQ!qHn5N+aSL_JP0$L`4Cbf!yW%;Xpu zU4JfGjgBQcoSQNpPKj`}CCMu%Td|Pi)$2!^ehSQ6LylV^n2`G|=!QIVrm~ zo1BTfc5(lR!rQ`A#-z?E&&??R(14OFTr_OOXimfl*YENrGx z-^P|5we!^Q9>L|hRZu!ozvfBJarB@W6*pFA-%dKp*S{R+(ApSv>I^D}KoAS^pmjN9 z>Z6}d96&Au>o8hHuL-}Nzo}*B@`A~A1aT`K+&r-d#11)iRfJpU^IHeQs>E%CvW09^ z;!TuzXuCQ?FlfYYmcJ<0bYQ9&rvIe**vvcF{9U2L5_=G6fMS0~&|lI&cA+(1zxnm_ z8bB}|w>&%~ty*m_PTEFuUPYvN974LU@JC18c!^TeG%DU?i4xoGgSm3hW3jD_r^d$J z^K{ef!Q^0TVY9Nj`P?VAv#f*Vmh9fD;+*nzz6URYA;F`EBkO#nJ2RBwvt{vVL8+$W z`t=Uax2-zay2$oHR$s4Fe@k_$d#!taLi%xHec9E4N3{oTNn2U=k)dWV~jTf`W9VI*$(0Oozv-& z5MG)dAvM?Y2gZLh#D{L9UqFTc+WV%=8PyxvGtsN6Y52-6n5BBtcL9jb$;!FZ@_!44 zE09C9Q3V?@yxlZ-;M<&6x-sa>{}c?324+87G+lOA8X9p*AOqpW5TGE}h9?Ga9UT=s zdQY`r72ag)8=uL)-zA z6tsuT1~q2+#zB)BX0Sq$e0)6@{y>9Z#x9&ykvLAr9>N-5X6>Fc=?mvOCNsp3kIC79 z$Qm(5`5#*;4=#gb7!icbO~v63UyP4g7kPI52KaOzl*g*GJhD#;FA*k^ZULp1=!bNe zu$R~~X6R!5Vs!VSK_rFAXK=|}5u^|HP;`_o;xk}}Y3rgz3^(f`urd-`WCkW!x|A8x1b&>acR22^=rv{Z^Bny6!80-T9^ zu#3N9^78p|X5E78{sIj~I3nmMdSFnvFT^NHpk0g{l0!7nSHYLyIjG3pI_tC}p8FY! zNHQ|8k19aO)V`drrM(}CRfBpnNyr@5Xw*#C36(4bMI^K6O8ppG1hn3*qz{S9xQGM9 zND?oh2Hj}28r270NiS*u`hO1^F?#7b#${gO(${|9e@iL)^~m&LsY+;h*YCW zj2pX}qBVS9gs3a@0h9m_>MJrIQh=ka1pmS8bTl-1&cng_H6Y5gS#Y(Cn$TM#L65@YsP>2JrhvmLtpCXRoysad2KFh_DOYb}kS6Vil0&ps-GXc@H z)WH_aVJn79_bk3M?u}GUhD!|_j{`VXGaL8nP<~($roiw3M^$!*LE4m3nf^cO{`tET z2V3;KW2=HsP_b=QY}>YN8YL_c?uU_kDWi_S`x1%U)~m{WrYU zo3Dz24x-<5JS?}5D$SaYT*8`9&zlvfhVna*S~xsVMGpkftTrf4X{CP@^CF+npqAA3A0@F?^{(O9|%h`YZZ1-So=tJh;sKx z_E=7kNEcc*G^`7OOG)O{!u3_NhSFth^8%{c_F1td1J9yZp74)MR>-Uy@M00nJCeG;UmFwkVrb zcs4TM&5C+?kK+?1pLkYuD{~fDWwSoW(ilX#tCPE)y_T#G?#`w0HUHu@`Y|R zY%Ece2e?@VBrE_@KCzTw@tUQm~Gt?3O37+c~ZM(<(T9bqK~xk(i*X)@en53GJR;P zCR1F#g2`3)c25INvU8?O@Xt=gDjlyO=XOu)Uw`MlHw(^{yVvqw_<5amQlv(P2x~eI zEN5^5kEAy#uiw-gnFP)s=}Tnw?7JvdluM6Lhw3q9HfbyFcH9+J%1~7fcbIz%)_GcF z7~N>t$eImnV5cvL9lbq@)`Ik%igW34W~^4}P#g=dy|?RMk8iRn&z+1M^QTJj@RX1A zqr#avF~q8PdQ(MD(T3gZ$B{?OW9<6-dahEvJn2S|san)-x)|;bTE{9{6=?0<)f;$; zhi4KB(=5 zkS3!Go$&@@{M3F}zuzU&)@E28YpYvpC}MXd48uwn?(g$>)vT37iSBZP64JjD(=7?# zs`m(&IyZs&DDootX&kUQ`>o|m^{2S}Zdxcgk+I^8n=jxo<|w>FjXieA_WhZIWh|WB zr9UxFjV9h{>L?l0s#07rFu@ytaf3J$*CcYEfI@sCX&U$@sGvv(+y2birD(DEHCIoF z_KE3L?t?Wl-!1hfu`blgi}>^WW;d!^l1JYaefH8(7gxU{MYvT!0#kW;mZ4nb*c174 zx#qdBLu!2d`1}|yk~zt#$f;>xRbI2wZuFyR9etw=LJ}&@p8ofchqWaMmEb)&Dr@Zuy}++R8A=S_z~+ru*U zO{^^?0X2~n5&0=Bp$c~!uz=sNtIu`;zfYt&sOqCi2atDWI6CsTT;{M#0R^W){iK^M zD^D+TTlJyiKvq2i(;>%ZRZ6r|aT?QPUg#c6Rjdwwt)kKY9o)a#o-0!h(bdJv<`wO> zlS=MfS@u;D=1Zr-s1Y02>FA-Eto`yevi%n2kJhOxjr}w^74GR_IH*Jab#8Y zo}IQwNxv~uU4;gd>eZE#LT(55C6LKMMZ8+#u)1g#k&lKD#7Gq|JQYs-@at{>KMhus zNQNj%0QL|!MLB-X#Qt@=z|GpPJ3mV68NQaB?s5sHg0G2or@^eXC326`ywtU{4*R9` zXbYX6x%e9babE;s9g?W=w&SU(mbd5doF~9eTHV9J*WXfn4(ECQLaRtoX1|hEwp$$3 z_HxYABBmP-Sb5ZG%9TR&JWp-ETTAY!?%qX>U1^=GJPTG_p_ZQ(bY>6WuH{dpLV1ce zkyq1V@9?DJE)4_q3(S>`YHI4T%>trv+IJ2IG_8P_3ji@IMXdh;#3$(;Bmli#h|?m{Q;MTTu$_q0 z!rx=bY3KDbCL1!wFccfHVZtpS1~ih1M|9YK5tC>F1Ce>^8JPfbHDp{9`NuTh9#z<% z2}4}dUj)7=nIURk>H589frP0Hi%4fQZLCko2 z0kWg^&%#3hA}cY|7cB*ylAi(XfmON(LR!LlrdIJ+RJsSchC$;7>JSk&HOc<2*KZ(< z2qgI*S8Z^bY) zr8ks&lm$;vhuj^tg03YoyTOB)U7oM)mrj znBG^mS*dB+fmzrUy}%w2=x97M&ajb8p#C@voeX*u77YZNb;PND863F9OpDczG=nIL zM1A4!1~<8*?BJM%n|(y!pAOpxJ(^^rP>}A-{e^s>)q+|p-Q`qBIfeRiV@Ns18Ui$een|i!8bQBL z!`Z8uc~`v>W3w4{KX?!w0X<|>{-_KuvA?)MS+W1(1~vKr-VJ^)g3TbXwoziv`EmWP zxWNJ3Kiy#R|I!WGX#dp>hTyeYh@t$CZV;#uDimk+UvPsN!vB6ZIQ9?SAl%a5++a|l zgTsXE|KtWkRsZ4!C;#dOSu_8c8x+#{2W~LN^`E-ISi}DhxIyp3f8quo0{*w%pkK#- zQ#ZK$58R-f`rq7OFvI_YZgBtg@7$n3;lIxf`q};A2D|@sgZ=+&H%J)thZ__P`1iTN zx4*bS?*GXR;w1mKc7vg5|EJub(_h^n&ftH#!Q20r-C$JeKXQZiWdGC+3I+ZDb%S*O zb~m_5_J7X}a<%K$Y87tgaG|vf4ND+Q#_B_5DtpfXebE6*aCJNCeJ}a(D_7Go8)ZTD;fKkm?V++}< zRmdkOwiWIq^KlDzUZ~PI$(|4ZBB7AEbYq#XK~mGcF~v0ia&?w)Gu)^y!ai z^BzvlmnNPehx`&PVltBKdkF7apLSKi89oZY6#>~syqX86P63ZSDj#}{VFQuGews{u z+n0|^Wdnn4=n)QOds_TO$jjVAi&2rBT8LExgI&}JToo`pVFMJQSI_S3ZHWdJp(+Ri zuHvryVE*(E5E-zU`6k zx7}I|{i&v#2n_2#f`vY{k5IjPb&pK`Mj2X*9$4hcj&1aTb}~y4NTDNC$tN7AmZY%z zkYFDElb|BnDRTC4h77vta-A6Knp>b=>Usz;XdDc^uZ$bQtjQnKFk?)IpwHoUgjN9$ z5*fgoRxSIq#eHw+--P?M&JAO^*Lk2WLz#roFgVm{fjKhO1Y$1hR;*s()`eqHEMkST zur>8KzA>tbq{i>9eu3D`wZ`|UWYWJDDALC)*Wqoj@F)*f=T_nS8Fo5?V zDYQHH{kQ>Dmjd-ochWAShBG<%oL)%J{>1W5hnpl z?Y*F_BQiOwBO3I3 zS_3oO;$_&`5P0}N{W26Ph<5gPMK|FG4Rz!V(akDfDT*c5Dban@{)tliB^l;u>e#oy zsHhIK)3gch3enSm&Zm%#JrjiBiqQk1fa7px)NBS=B4FFe{7&55mGbEnN|eV?S1KFQ zazhwf#a&Da6`z%H3)d=D%E((Zf2lygKv^(s0ak3dh2WK3To4owR?he8wXf1T;B*jiYSn#^g4?7D2J4R46sx`Dl57u+jDVS zpDEvTDkxW>AD5PgJr-J(IRoF;|B|2*u9o2KSuG=6K_4er`K3hMT~W4}7DZ8^z5+dV z*tlMX4J~pFY3|I${549ZA`PruRI4`Jnyj|6IHkPC@A^?R4%yz!;QOOw>8)!+p3hJC zrKl)XqI1Q^*Yx+D#ni^b*HO(Kfm`AX7=#*jit#7O z##h-dtNLZVk)OFHNLLj;@@(z`+2f(s2?IY^UJS?F5E|PBl0zQhEL?xm%3fp6Um|Ez zU;UWBMAF7Cu`3x6Z1mHSC>i+G;wM8gzbm4}S4}*>E2hO)O)|eLuEob2NQz-b+eCAm z3rj|^KL53#Nr+%xtOEE8NdM}Uu3Usdt~2fnmuK9IJ>Uzh#TCB-dipPbzmLZ+Nc9$m+?+qLPr50`q4T97hh( zf{$cQmapxtDeP-yg5~)pW=+nPL@TMJW|g6`J|2@|Rmm11fI5<1MLDU_I%%ksX$X;N zuxzsElQG}a#2Z=wXWj>vMSfy)*>;2quhIh5Qb`jQFv$iA3W9-1+)ypg8wIXkr8W?$ ze5@Te$R;9L`YWm2^UO2&`{`x<)P&p+%PanX+>e;@X-Tx#vF14MUy7a8@m91}!&S<>S@0dJ?$$vpwcFm{FxZY|4c&c;U~E?hI@ z>-V>w0URsC;Y8gHiqT7o}WT{ zs*0=UGEsOiDs!vq7`&)DF~(i#L(8TBMNJhVWCtlBWJNdjx!kU(Aa87eUo{CAK*xJ> z1!<$(JTlIO!?*LU0O8#N%%)jzZ)`zlD*fr935(!d#n>~#@1dLEuk0~B!uBXaMZy=2 z5Sgnv+3>Ax_NWw-EBtt(tr|J9KefcAIL5(`_sCUYog#B2=~~Gdd2iN!3EV~1Yu_RUP*~aki!+NORg#)++{e5!yt}^ACvl))CN*tk%A)}r|V+U{Y zM%9Ay` zlgfGtZ4asap+#DVZv6{eq9bjA^!gmg@6y%4mWP0>)DWcc2xSNKb&RWQdN~btHt~;J zK?)b8g0l}Mr7?_*E*t|P*%72OsG0PB1Ciy#UU{nTv_pJM#wQP1vnj%EOzcuJDXf z5{KRh|5*CC#kINicXKy{G2O)uELDy=)M)l96qWX)=U zW@mnIM8RSO4y1*2=#+`@3oxtcC>{!aaY_ddolGm zXRh1r{Ti(kXI)$QRNQQ!inn$$a5WX;TlSCW;O(u0#8>v`$AuMRS6kYBZ=wt?Ad4G4$a|_m}i1k2h9j7GnNZ7UG%3T$In7_5GS)>qeB1XGz-ObcBy(dtJF| z{#JnO#^rPAW_44sGYjGA^{kqL9&Rc~J0)yt=&z9HFck$$s>R7{Er zQCVKm4M`Ra9G7;7ZrnuKkfqbFh}ANz!md4<_bu16Em0k=uwAcxPyWxhA)ffJ2dA>; zvu_I>U(%x=&o^pSUCC1mB};NN6&|xJX7q)nD`Wm0-Md8C((oss^wMbPT!yX;0Bq!81>sodQEh4ujBm;GsUwliu%=SK zPnK7Mt|ZHAR*Ee5=6```n)e_k9U^W5dD*L}&PPe7P|Yo=#_gypesGrk&hyHb=tp^P z>Vsy?L>G4T>Qd61c&|M}ZFmdswM)Fp$;MyE+` zeHI}th=x8K+PXJ(X_d6&7bEPCyV%&D^S}`dHB$F>=tb>1>ROirH8BY5caCA zP&M*-vi73uQ0Rb!wCI5LPQ1GKcD4Ofr;|^8G@rBg{J zCsALdg@nha1Kj%t)}uOkpz6I@Fi=={?yNKIQlDKW*{*_2tl_?rMUJQ1ri@$Z zJE@D114ohtQR+BbbV|womLET?&K6|*x}?5P5K|wu8?RRL@_x=g z=svk;8914x2 zctp>KJWLpvo65YZ8;kAIqeVhYPP6mX#;U(UWZ;!;d1?}@Spq=g)rKaquew5aoq)4W zGir^t`2(!a#2pU5TJQ6@>;$@cNJbF(F+}F)*w?D!jp(8rV!Q~#?^D0ybim90JsHGN z`GX9GkvTPv`PQ-R{HtUz=Wy!mUnYZwaQ`D2?BW@fK_L7K8AS2C4!!yt8MOQx8Laqw zGPra9kI0~F=YJuCx_^>E%YR4)OGEx485DU|`jZUO<@RgDPgwjHGHCEGl0hDne@X^x zZMQg@usGkc%iG86gw59v?Qbhv1Raw#q+qc)+N&A|(njRTDGX+^rfiMQIZICB+DSI^Zd z!<^UPOCgM=i<~|{MChd9##EH`&NJXV66rt%ZBENdw`4OLT-p8G#dM16J=Sugq#%%s zFo8O?SkTrz?@@S{r+T?7ZjCQVVd6h*s%BNrY}6b4>~?h^+KSej+uJPpEoQN^C?|-1 zOSiuI%Q!7MH6k-a2f#&Ne1NOQ4PHSS@5wfoGOdPE4gFTpEZh_+C6AASU=4wUBF6Ra>Rqp zRe92U&)0)by&oyZ^K>S4UaaO@=TizX(Pm-cWD9{~jr-pJREwt}@8EMhYCU6DnmrHO z|EC&!{&B*|?sDY!C`F`~UicR^h|2S)8vOC68e9xqQ#9bv{e-mymbz5E`a=!o|2|)# zPo?=)=nqQz6uvU!XO(gU*G1C#S2bv{B2`>Y$B%wq-w5|Cn9T2_oF8ZWXoY6@kwGI& z?@lse_2B1-4iA|GIyk!$QDx*y8+PPalIY1UjI|u-nC8#TE-wBmWP*5v51Kj2LHU;F z#?z>GtF$O{uR-m(pE%6~xvwWm!@Yuv5r)%xzfV8Ep8b3Tp_tf&e{menPw%ntOki)pZ|+@305{3p{_x`UEYl6{Tctma1-j#_RC5jb@~t z<>CaRdTo}7f!U467e{1tBoc1i-=-nkC2lz6m?>ra5s--EtsI(H{$QlZo277TfO+Uoa7QJ< z+InkRxfnmE75#gxO+$7vGl2&mJTua{Q4fGsNEw9n=Qtn?!g|aPIvm%AVsQ!+t`b&8 z6M#P<*T>goyv^2$!JOA09qyIQ;4jHlY^h~shRyvsSTiV4l56i3DBumHz}s(NxQ9N* zH3@%OW3c~zBg-O(&Qxw>{9X4>xx&x3FJm%D6e5t2pN5NCe{eJc;nT@f3Y4beRrb#|(O7RO=amMp!5mau@X$&b|St6w2gt#sId z(vv$+D}piY&0LTIA(=YrSV*shDqR>FP~I@FDq3zgfd@%ebblM_wjKbi-jdgMqXA_s56Tj(O+?j+W$QbqHPg;=m9$Ey! zPVmhE!12^Y4k9DwHy*BsqQGm?!r;F9ef`ZGLiq?TrXF8aba8M7YHl2>>@IcSwxcO*Bwwf+(GytFaDu_*d?({? zMYX1(@lE=^+!l85%khv+niRjVtse*JbBz?Yk&19ABA0B4b>(i?M?N3}i-RR4SgFaM z9fIRNQb%z$s|uK}ov~V8cOTPY-_VS9_fNz9rxLhe_aIS@WD~43v#Q8fPl8deU zlq2;L=09dq)eOHu6PE2pykF+>5}uhO`r@}#>B`%VWAd3=4eqMx+u?W)6PT9Xs!t*S zuJP{c3Sfz($biw6M@npLvBs<)9J#B>Za_ArMK|^m=5Ju6h~Q5dtaxDT6UnM37t5}h z5g%fKR6x-#BP-WLnJ&!BwN{pGx=5d-SZT6t%Q0FTJdQK2;zfo^(q%@JuVPCO0aU_ zaU}1rPj8~fVG}>0e+Xn|ON*yU-U^7wBr+x&A*m{lV#gR;;ZZosWR)5Fstil46bh(} z`phz-8)jl00AYeDCG{bV6>oH` zUagu+lRY2FESVoQZlCf087>_EOSn+}WQp+!+(;@cDL((S((?!Qgs$kBu_jB1A=#}e zaXstNr1V&jk@QpREev|P$+a%#4kSLn{}KebztNATFM|iG$(DpKNe> zs^pMf2$JTf{U2=5QRcs}!E$aVN9v1Hd{eT4f%?C(!OD;p{>>eztD4%Gzp}xIuN@Xw zDiZ(7gqGYv3s<2gD`I_cDT`L`FR0bG%xEci;r9BKSGen9Bdc2JJpeFZgg-FJa_oV! z{g_`6S)7+O#FPQ>TMceCxN3}Krv6%#Z0yUB=<90|A67l82rf^gp{9E*z+XQUZWxHs z%@0vsd5`1C?pa52Zy!m09}4(Jk|TyU9+ZjnG|fS|aDgcdNx8P`?ZWFexu$R@*@|nY zNd@_R4~A?#;Y`(_-$7x^4LUyOc3y>O1NO!$GuKRq&3Os=4ddWtXsT(`7GZeN+kKx7 z5^V1vO;vRM=lTQNflM8vWmy=pn9Z*RoorG{r&X&mh@u#;;c%i9MDGA67ZS@wN5cN_$ERY8ESv{i)nFy)WX5p^>DXX4eE973JJ) z>-)dV8!JE{af5>u`AOwuA zv3<%IxKOKZ{k9z=0{?PbwpsWT_GzB2fpBJ96lvoQiC6Sx2VX1k{dQyd7dv?UhaF5J z=mPq~4vMe;rya!Y4GOBVHw()6iyhSVyPgQfj{}nVPdf-Z@TVQj&m17&R(bBte+Bwa zJBR``NrR{GryT^Tr;lZHj}Ee?`=C)_|I-de@cv;3*~Gj-9_9y=y8q4&N?oAXjMVbz zraV%7gYNq+Gc|DkhaHr>T{htYpYkK`3)V!H2aK!NkHS43xYSRcnhtDM7h}uun#}la zuc>}+OWIoiNsTw4V#A*UzDxe_}7eHH1XX<%vI=A5FLOmcg#W%)4~KUlc+YF zABIrk*6UWJX?vT+`X4uWK?wBoYQHln`ONObu5ndis2;5s@t8#`lUz_3-p5CqB0gkw z2!X{v?m#BQNy1ydObr=+kY>w!J%{AzodiRiDi(pOM$hPkUx|MTKUvjF|XbWA)H#L>%KK&byo-0Z$<+6t;;wU#0 zgpMlFDr4}P-3g8L2}2%hO2l9@?9PFYr6CaD{LC88^*WvgSg1l*ERSav&E>4;?f%^9 zvTvD<%F!R0P^J9V+ICw^EW?pzZ@$Tv2&i_BcGTJB@hqq-P>$pZn#sv+T%A@=Q!-ds zJ2}8hR>8?zcW=2}+no-;;lF7^z6@?ce%qUE_)}bC1Z?fJZvYh+ND8G#PX1n8KjE7( z38Xi`I^OdFJ)bzj{2i`#te}^UZa;79x3|y>BTZ#-W}W;6^GM64XYRq;8=G~3Q>beMJJdtG5+BO$mEk^S zb~7?>5De7|?vDZ5&qWQ@4^BI9eMOy)kRX6hYfk~T3zJ-T-`Sz(Xg)(_bE8KAwhNIg zfNujHfJ>Sq)$VdQtGA3{A%x$MOOZeU7t4)rJo?R*AL6_dF4dub_AOM1QgSQKhjno&S6TwfBmOxZ|Zg#wG9-y$*Z+w`#1L*K(q2bhkoldnaH zN>T_odNaolgWBw>qS&Z2F3h}Sz+4Y(K!kKX(mD*H@++ayiA7te*GRDpdKE3btGP1o z4HL;8ATkuhjnxb7oBF5zSA%y`-Lsl*7p|+aEWpxdyCuhB=GCc0cWiJx&F1?O<3sJc zMrJf|$Q%(Rq)D)CuHGCb7y(0E_UDQMGG{RHov!7rXInf+QU zU*2(@GKWCuoBg8o%TS~A?^zK7O;oQu{-m$QsKS2j$q z^|xi4C#*CtSTFE@Y_JMG6xv}}o{@jmcVm~*&0YA&;;goGVVBeOH9uT>oo1|b9gV@h z9~5b1QhMggdjDYP?x;TXZuA^VPCiU_-P#rXBb|1}2-YTw%a^0MuDM0P89eBf8YM&MrkzczsZN_JBs+C1&e>{14So(1A zs?Im}AJa4QK8$VHd??sFwM-#rM`dL1`UgBaMG&7O@JV=i_`hOTc1OuJvR2BV>4vo+ zI915f@t3|8d05_Ft%>LmKKObBC$+rOiue1E1&GqYJ}{~t9gI`}xf7*8ay5^Q$w=ST z*559s<7FnhN2iTl$|xO3*H5=EG1K{?rM~M!6{l6De2wVJUB!fuvWMLfYQ6|3^v{P2 z1Uih-jrFRh1lQu_Jz*JQbwu29HIVD3Y?~hrd}dC-S9C%*iG_b;1M3{fm}{kOcU%L) z>5=ei)RX#!F(4gOmtnI!KE1=0(dVHuf|=^{+dkN6+6Tz(8q&t2J-&zGAw4!o%TX6O zIXb<>jyG%MjAa*5g-o}!=>wMiBYcMl>Qvii&Vq-n(+`XC#0Ug9j+X zM~W2Y)PT%WFG$R#<16$AL`Cx{G;sPC96$hMP$n$delOzK9r^H@hmk*>7Ve@K7=@D@ z5gb7KGwP9VGwuVK?HsrFxhR+O?KfV>J)u~9C5TMLo9}{=lMh+me;-i;yov*A3U?HN97ynC`*cB!#Q6%MNugSMVy^Q)wk-k( z2DFnSksXwv%AGnUZS22hi0BIx0tMb9si3f`ST^tPMM%uc<+H8V+VNt=x^d&ZTpPxxA~$=jE>G;r-4&yQjo!R{`1Ovki_>>fw(PC;Hu0 zyv}T|N({kzon<5^vOV{?UcVXDGbkqn%oWT^h+ed3kkuCKwAUn(Pugk{YQAs+!@sTW znUHS@pb2(7xEltvp&|7xjg#4(ke(=>1cZt82O&K=sUVn%!L=YCExZfVaN=)x;8xZY z0(`ahokX!jsere?d30=ageQKmO>%m)3zzEhLH8YCpvDg|% zJw)}4woj+SP}$}^k*I7IZmz1it6Df38EcnsBqloNH<_v|R<3TTJ8sL-vR7urYALGy zFlaUJ{6Sd@V z;;H*VpAo)C_8r|Y>KjG2?a!Y>H|_W(&0CaT&W<6KokCW8@={(tAA~gULfih1l{%HL zy#Wiv+|>xx%8G*3Pp*kx2;^N8<<5>Jzcm%VhHTomlvvy}HwT7m3n@~fLHgP2h~yC& zeemZF>%VRHxH*-#3XKSBS9M#A84uu92S^N!ki`#!M&JA>h!=IbU6z_G_t3mdiC}zi zr(SzVK6!yoD;-8$HQJl)ltx&xG;5@ZH{DX#J}K8fD9#ey2S&HaCM#Pvei@9!ky&W- z7YU$wLy!4L*Y$<&!aIdu!yRsufvc$-cm`H9?$btqMoxzKMHq>ke}iVLO3JF{!I~6} ze6HELmUm3`*=k~0sZReQT#h8gV_wK7G-}wo$;$iF=~j%4t}z1Gmr=QfTmfBILKq|h z^0(!Ph&77dYWOY8P3yQCP8b9fD`D`n*rCCOrdv-UiIPtO4K8v&e1UQ5+m16D*w= zjPl2-mZ=I#^2exN!^bRH+d3BLIyp$lS8lF5%SsWeM68@9!ZEaWyXf1x4E6}7+Awx2 zZmz>3>BzLsZ266Pi#)0{Z*Hn=FfIJxmwAS@$z2kw$G8Iy`tb zZ4iXFrN;8oblY<>Ci1X$)PO*+6T)zZ@E9PH4@zjBW- z=mpGp-P5IfpIi6m(Y}b(q5Xla#UCPZtJpY5f!OXamG%Irz;GM2Zzljut2|T6 z7s6^4ws=?;(ixo#*X-d42GlUThSojfBP$iN=ree!%m^&kZk|q4xKe^m$ISPd%k7)^X%tMG z5}8F+u~yKVMuv?1&?L~?y`$pvv93T*SS3$ofqZPJl$8!wbf4Q$Z7RS1Zd)nxb-YL* zg4>M218mUZzP9SnQ`P?hr8mzaNKh#xtuMDtYpx6WY2y5%p|6w-ChzhC-RTd5m;nq^ z$QVjjSGKZ<_Ez^ciiJyk28TTVC#a{A;!<{3U`0ZN`6Iq5aZJ=E3X3 zj^8WVEmkO^O=W?X>JhPNapx!8?dFTMBJ06d-0vqGP%4kAG>=bjwVII21QRHQK?fNn z3Uq_Zcf6!63i_|oIiiFLgcjhidpcTIr;{ z8mItDK()VKNWj1yEuX)M+CDk*sS%vlW-ByXHrD8U61bLPY!;7{9ZkCvVwYX}^a&2x zE3#&hY(05O$g2j{^b$jcL?&*K&roa&y2`!k*d&{kD`v$z0S|Y26r?+{rvUEPv?jot z!@o}s>lANl7d+h~*w>T`7Zmf3J}Lm1;?bp+-4szDAjI?FqWSI2uZf=xEQ+~iN#oJ)MZM|@GFAE)N&GZ+M(Sf)KDa8Ko($2Ux+tPgrks=|eO{(5v1cj|Tm1%sG6!vFLJOwecjM??< zUIkvUd;0m{lYM!R?6W=iTK7OhC1%E~=Ad+PGu%DUlx>iqmhf5#={;0RPKei7Xd9p% z{K7{K;qdeZzw$i&NGRJNp9iQpw1OmIT3EwffZ0rDX!U}_vO)?J0=`M2Zh&F~2k$Rx zqasDBs39$kqUBRQmU zDuNmKoP&IUz)#G?Z^9_K_j1NugQBHR*UP}Z9M=-tndp#U$hXVDo)(erR%=7R8Tfi> z)P!3W7WCI;8tns)!IqJ|lK9&!Ah%Co`iG%M5bngi5;^`$ds)X@3ux@qGxR0K?9&W1 zxk)>GqOf^MJ3ZHitCut5rn)7@ZF%kv`M}J*J}V&TV#!OWuwp~-1b&Ndz;5Gx0q*w5z8a)do>IWD zWq@Ncd!1#&ENKP{&) z$YM)BLeZ{bD!XlOv8fAy@KQfLtA7A%tl+NJ;EzXOz~Juf0O~G zzPHc7=A0?19*j+3ZO9ZnrT(_u3a+nh?(zm5Ku&^(x}O3vMw^pb1K2D3b-8u}h=Qe% znp1h?RT&FpThTW)X2>|uM0uwMt)Kk+X#1-efJ%RUz@%pw1Yf(C+C4KRZvJ{Ld5Ey2 zo(+0LcoJWLV4K-df}1|j#6l5>4BYlmKbGn=!NR@bH&S&Z6KdKxP8fD(e^>BMC)Gxk z;cVty2;{f|3XW9|D_|7QonQMUenG>r*eubHSn$I$x<%CQbAU#YApizvte)^D2zo=f zRtMpgU(}v~Tf+>Vwg~L}-&=dYV>ai$p>FJA8sb;R$Zf|N046UAIZ@fcG$^4%P=O1cB9W9MHbH(5)LUT{D})l|&A&B>b@jOUSjlHYF5I4G7{pmvEG&VE)3F*GQTJsb zJhdAfm)m>!p2kURtptZk69|S7hNHbc`gyj%tZDr2gVC`m*ki)3tcPns6?W#(>_GgK z@SVXs`cY3ZcOdQVXvo|Ams0XHJ#FZP*{%UVcb=3zY#goed>q%H?5$^hH{*@=sH<*bJq|6oL46*A0W0Z?U}_ye+V9a?~HpOQ8|KQb)n`xNVhwhSR+9nKejC` z*DF}py@(tcLR)2kLjX&lT@q1jvKos=j2w+O7Fok?4Y5|z{XnJ?HwWD0XY%S<&ZwSKau<$Ko0AD`ihy| z<%9|yTodjhQ}=vdXoq<4d|!x9hXHi00DRRejD@_0$2IW^uBmlTOIyVfjp=<7T)d(Z z<$fhUTM5DeD>7FBHVfxxt^zC$(Zjs9xSIYG))mEudBBrWAs$2phW$e+s!Wp-)Ys^L3${*3B91iK{4ioMmo041X*{o%k3Vj;?EJp)D5wA zPyE*5O}gDU^rCrm@bP)s-{%Z~B2ay+;(9$ryH$GdrO@^Ds}AX-e|fG155$L#5sDg% zKs_U%Od%}K!O|g3%kFwLHmDTgZ969O3UuqqyBfy_<2teaV#UX)xmFa3;IRYEqwr}E z?}di~8-(^{1w5i|0KYJh6Q5DO(vDc;D>tB1=eKBcuM5wWAR%ZioHh!6zV}Ox4t4$- z;G?xabHKgE@D%2hV^31#issau&7R2S;<{Z54akn?S#t41mJEzIqmItQz0~^lZqyW%1Ks+f% z^Em&&h9DR;7vZ3B2CxOP(}Nh~wzKOXkbG&o{SdRJv2~6Uf=7ZNT4#V|OXMFQJ3!twk5UA!o2<14&}{U!*BuZ#$Pl z2c|`mSYjmwwe|o$dyqY3B%sxyJCP}$>?lXc&8Ovn<{sCT08Z;b3S3WXN75R`drlm# zSEoM{g`itEF{Pl7Tzl9=IeRm36^-PtN18VX$MhhLmKPXOI{`(YvyV__{BywOo?!Ex zLdIgAV0JylZca~qvtVuGFWvZhvQs+geCPx4Ade9|XaGd-_#(t-;+i9xRVXT>DG?dm zYx^7~AMO-P<`_!6aX2io&IJf2P#|R6@R_{MBX)3G>ccB8jfkVkc638S23JHL(&(yo z^ai4+BkHh^i1h5WVl=xg7Sk#!9%amvE+VRTgEx&-nQSAWbrM%iicV3S$;Qc*1m62- zP(SZ733$(-8rf@6r`3!!V3(12w9h?NTh(q5AAxUCD(vv$ez{Vq}B8JH8?Sa>9Z7;RPMe{=`AVw1O$5fLpr#|6}hScQkRpKE99cv2EM7 zy*tJ|wyho8w#^;e_Kt1aw$(iUr!RT{O`9}*b0xoA$MDIQi=0`Y99m7tVI!q~N!rV{*!1TgB#L*kI)u--U7fvD})C!jx-FWk2WBo_p2g z?#LS6#&!FKZcDlRMbh)k@hAudj{LO=hfXeDlJN$GyuWERnJ*!W-`S?2Om{-vV-LX} z^W#NYmtO;mWD7VA#R=~ehTo)*ta#KXftbSwTQ4_@81$JEj>wrK@9|uSG6Fx_Sz(__ zs8e`>YbZY`_TM>JBYT1Vau8K18AZ5tu&8Fupf!Po$DAONb()E91&y$)|w-H%x|OS{??pOO!e_KA;QtBA<(ddFg8`1mKc0k}27tRXRw7i6LtBN;b+A+8GrI zkyinpao8LMiodiBSauZ4)Zo8$u|az9nUN$Q36knsWc@N`T!fqlB6YX{-}zmzDs^fR zfBLfE(zda-ZofqU2nA7JqxU17QbPo8p%!3RdU_WAIWr6-?rt8Qo>nlgGHSOvsUrb| z+6KH>4XTnk+rOTI9$(4|9fIxUns-#Q>Oynf20QH1e5`z{T4%H|aK*T51ShaD@NVfC zQiy)C^!@gtEO+f2wbO9_D;2VDloIW=TJ6wRmauzU-#bGFI^Kr37lR9focQxQgUTj7 zraMn=dXzyG?50RvB4C>y!TNTxEXdY0o;&kjDo_WHL8>Sr8+q)R=gpJu2}V7lfv(w# znBfb0Mzxc%L1Quh31;ma;kEsSG86%4Juw9B?P4A?tDnwJ*Kg64G&A~1Bbd&cil{U# zXaFI#?apw9ByPeIZipwEqvts^yDu2p8Cd0Ao@an=c!lTFvXt zN}|a?eIUVq{liMv!?vnKQ{5YZ`QYOTEH%7E+l5|p5p^7zX$@p6M~5D z^L?bAr%E1pbrrv|a1R7DT5!#fhRbw+sV&LcmIM9MA8J@t;0WR&-7%JnvYr<{o3^>Q zhP~uuCO*u8*mj(jmW~b?b2k3O-V&VU8ep|arn|Yl2-A3 zvv*fe(W)Q>k>x4%*`=QSW8M6AQ#HZI!{0@CaqjGN7rvTo@Jl_~>!H5em!EFSO^)6h?{?Xq@aF(tT6Q%}VnNOKPF|l7T%qrKs~$&&uOS zu*SS#$iTMpyxV@Ka#^5yJd56tA9CC}-U z*dA;q%&uCpTr6NU>nE?~E!mJex7^-;V4fOjUK7P29uEa<(ft!tHq2>3bL~A+Y%}E2 zWX{)1^?>MzIYg-w`d#tD#R7>E$S(gv;Ndwa|0_?!MZ^ zf7AwC<%%V#+QXlcHsTC@VTwdl;D9?p$)#0|l8&!l!!2pi@6qst*1! znJuU0FZN%yDx%5VoAe&ldRJArXeiqfXmIa5!b2PI&(5|;UU6eGzz)*dnTXyj&}Ss3 zDjP>t_+dd#>aSimGFgZp#P1DH0{`Lxg7Znj=oRUgA=C5(~r=Yoeb}$yXnOaA>bvO7$3{6Bzms=~{OX=EO%0spGqX+h?#7QS^_g^iK`=+Gl}+ zu>~zD%%=xUT85`7g&mV#h5vO5nGF}HOE8O#3jISS(7i&z zzWV$H-QhNTLrZWo{y?8X>D@w2B$|xLa{b{1-?UcSGX-dS3Ls%KCsV??+m2K+KX)g` zX?3fzBum_pMoyVC2h!ri2bbWQ$mbQ8)V*f$NErlzUWYpw7$U*EL4t5r1;h46&<_Yg z8Vvrnc*cgJM0}_ye=olbpUfjY4FSEX%Fsy1+IB`c^1fml0?!UE(aS~CVD6)_zz-Ff z7R{?O>}AbYVM5YWQ-lLosnJa6I~P8UfkAlFhDJk#T~Kc_mQ+S7Ir}!2Sb7D zM1kCsco0}xeAAdMvQZToQn17Mu#%!$tYY#;89kp$09;~Wa4|*8SrFN6;B0{@#ssr; z2v1lM7b(a#8UUAg0Kx>t%@KgC6}8OJg{&Qingv|x(pL)_mlKgFX9~ou2D9T)&^7YN z-IC6%Mw8t%>I1lbPB)?6V^8nW7ax$n5OT7!LlJE62S=;7K8U3z+=#3y*vy69Mx5`c zT(@S7jEi<3>_1HyHPwl!l=4*AiR-w{pP0uvJ*movb>#8PwEW4GPTjA391e_rN>S+N`}yN+A(jHgvFZ>`*9l zaPRgV_JAI^NQis6z zq~fmiWN`Nfm!Amo$wSEf%acDlvsZw~_v`Bgl*`u#a~LtJKaD8pxEQwzskZjWmyNm? zzX$kpva1RVqJIoDeQjNt+JO{d4No#chE%$1)z>Ed`C&S_vSW+SeDS+Y^!s|!sOe3e zS;}8hq7(L7U$oG;R(?nW_Zy=a8E5239L6xJx=_Xn`)ZUckUQcbERsn|E{5rOn^yG3$*X9-bFKLT z+wkf`QhS852kGIrshB2}#}Rb9X=5L3?0AQ&=x^}8Sd^v=E`_8zlv~SI5JvXhNH(P- zeEU~Zv#c#>If^A8rVC8_a4AM@nO9a+ZIILQlgR!%vY;}OBmG*G!)fI|s^6l3V3XKI z(`(}f{useLl#nWMgh&w7`@7@&ee?;D7g&uFb7UyyotmRyJJYxdvOiOuZ2G2_C$EK=@LKL`AH75M z>D9g^bcI`{`4i$hQhIZQ;@kT(FF=CPo5c3r%`cGmoCW%+TiYw*xpCst&R4#(vs`-P z@7sj|6KdnSvBKcJewz10Htbr)Oy9QZ-DwzeskFZ*qQVJ34_#qjwo`l*dh<_E|Fd|7 z9}0lNpx&>rzvcRa@u_Fa6@Iw+nq%9+Dw1GaB>mQ+lzhsup}w~N={UZ=J!Lk_vv83MGS`r4FiKV)VhpF-TUge6=~#()%R1BZ<7hM7PzgpK zcH>{|ZV-&4579O(B4|GSLYF9H9&{ID{~j^x^mn#y54?ec69Ix*2U3g0i& z_ayHhs<(-}!&c8Ry@?;*MGaNmcUSuoDD2n;4*UxkRNEITJZk;A>Pi7sJd!^&g@^0nGXJ{9I>VtFr(w zXxRdO+&4F%pn}*ujFG0Ac24e=^ktnl)wGUCHa(u;-9hh^4f{L|YMfgv(e@(kUVLRU zt9RAtktVcyoS+wXW<>2fl4`R`5X*JRSSeAIT{ zL-8WlTdNRd4!+l^z|1YU_Lgrqt;9FX1wsGpTQ3x67uO5ABf5iI?~om}S-n;*sq`Zx z*JG0{qN@>2kEp~wUVny{HUEWF=f1N4Dc-!HqX7S%YWzDqzJGxZ7xT6Ht|Yku+q)-` zU>$0KNs?9X9LMYG^br~<)W6>5m}BMl<=Q!_|1?2g>(!{)6YXpQf_N{ zr?#FfnG>xI)NX~%B^S`Dn#PQS!vqx|sE9hx5g!MXa-~uqIyFn8F=9TG#512G3R*1S zwSX2;iC)5T?Dxy9WFr!AaM~8&=IK?dy)3u4__gqO>v-$&%30At*?@e#j4~6tvFy0C zy79xj<>Rk2*DSQ7X9!jW7;TPP&!%trFlYCt_z>&dMFC>2wUx~6;qjL5F6f>3mTG%o z(^XOHw)}?=-KJ8b`dMPcKT0a{#$Ap;48}kFLY(PpBJCw~P3dx&t#W)jomK`pP|h;3 z&l6KGYJtYc?4BLo1_j4@%qXMnZPig6DD(<5Owwb02QqVtwvl&}{Jf)BR6#$7wv$P& zeLm5*M+=K#1jH1|y9ZRWJC`YK?T?T8a;{jX#hZoiYFBl#(IuAZ%x5cRQCpfBY_`5t z%QkK^UZ29*S{9mJm=8fCLTAIY&xwKrH;WP zX5szysxM%#1=b^oF3tA{mtPxhRf5J`xzsf)U3yKZ;vG}JVKX~6^YmJ$VE&do?a7$F zai*tU)P~t@0F;Y&NQ3NxTt_{b6ev$V5WEC(CJ$}CVt(sgZOC`jhv%!Nba7|n7D_8Q zvUv=D^rm!CD$1f^p73ATc`cbzp(n6l6+A0!G2h`iksSf$K%V%OzYt7?mH|g zAW!F*YHgqd$RJxLt?axU%bwfzfI5OJ5uD2b?T6ZVOzM_5iF@L%W+M}$#8j>|7>a#4 zYe`?!6e2i}_fKqYcK_voud^Zer=;ch6+f()`SOJzseU&<3G8H-eO8W7u4p4!W<)$3 z-RrLr>|VM)A&zP3qaB%HRCwLr{eBF)Lp2uVRG2}V@(%TSPc-uOc zIih#S8kd;F#JZqUpErFNR;3CpPjm{56+r{@P4o&bZjtOLw z!aVP0OV&YA(c}m%AMW9cAG$Thj`h&$$un?&{9ciN(xUe|++ofa^9nCY<;;R*p@`L4 zzZ@EH^=63GTesPHxDg%P$l(sOY-~pX7>4nmH4tGET0;5J^hi=J3PbK+aFg=%UN_LF zyNU8`To$KcC1dSrE8S4{m~T!P2g4hTGxE)NS9%-1qGPem?=+%Yu^4-_5qIarb=qKA zCo%F(CB_|#F=*Bs4G+Wtw1f39!THF_Uu=C@vlvj3G)ZWNY#uxgQ41flIQ=l{sGpN4 z;%JRmY%!Q89AFo1G3vT*>2Eq4?C8EhraglxFIr&JC#cQI-LpLA0^wcB?hpP=P?POM zj4BM;oDHqEATMu4N>+a;vtL|U*}85dQG4*jq_Rpz2mn<(frcz3SOD z2%?yd3rTZPP!cgm(`CqH zkS?b!VEo_HPF=vbt~B5TR~y`MyV_8<-$+})*r60S+JnC42dN}qHkdN1MtA~Uz{r10 zwLDuD+(8UZPFKJ4F6WSd5JkHY?B8zb{+ERjz zCn*H}%unDE8{4F+RKwi{%y9VZ=mVFQTdLA^t-sy4L}{Y_UA-4VM$ji!eBRod@!EG! znrXsUlLh^TQ1?f&o2aNf&4}@*zzYU1Qc6_)9pF>YFBJqbJmC6}aPpgiq%WOFz^>Rc@~t`jw|mcGoGE(N0q+b^ z<=h2XhF`%0&0D$m_Qy@Nn>tx~3|Uw{O!?IJe+=>N(tA%JxB{A+B)~>9I6Z!yWl-VO zc<+>C(y5GBEIvmngr}j#Ubu(l=q|tu{Qd^jI^|Y1;FH^<3y#f1?dS2|gNHEMpO%$N zm$j?)g~8No1?zaCU^XOiRZQ z>$QVz6D6YY&{v}!qcJ5y+u9$Dn`_Gal zt#qS{bd#-6t-8-P3H-|0erFB36ALbBav=jKbg+7yDCiP3)b8Jtt;=CwD^aZNg}YiAtgP7!(oK5uHit)%fiE!Xf;Vl>(ws}h>o$L^!8%koTdS=a zbw5g?7&n^jGo9CJV&;m8?Sy#db!kg-an2YqR1~6|(;_t;(=>A=UCPsyMA(NA^QXSk zLp&PX>#_@PIis*1=$lflZU9&ncSE)d{xAy0~kSYx?y2R#hrR_@j^o8Bfd* z<;KfW!c~raY98qnG~ovM3hW0t9)I6K3DWOBD>xsPUNqTipKD9aWvC8M^cFNuns+a@ zFHdRKg$RgUCUqVUZ8@7W{EEt%NQ||bSovzUGt&kWzInH+Fh1#EW?1q2%=lZO*8 z2I~W15*qSYrVQHe} z{i^C4p3=C71hKb>czCwd9D&_s3daMlM0$Vnn#k)?64@6udI=L4@Dwz_le8>%g#4d< zvA`<|I<954^FY7h2M{;dEm3yk@!2if9d&9WqX^l_?;eeP+|`UxqR$O=g>GoKunYjS(Af^~v z*R2;+L#7oJfCwtw1mFA6^JlrlIZK_*gYPD;<)GIl+0zrxZ-BWy7+TZj9o*Eo-LchM zrUmXL_Eaqns%uOljlIuP<+hj-cZ*vY?^RVV%QhOcMk{p~G?yG`_)nMp2Ay7;7f4p_ zuGEcghjIHZ3yqvfb@?F`T^gBc{m3gl*WZk(v8^-rIsYy-YI*~AVx?gB?&>x&zM_5v zEeCNIx5V+*p7HhOJeCcOioQi82JT=v;Xb7tc3(DbV}w%o^Z;GJ1p1|4n=!AXaA{*= z*y6Me1L;uxcO4phM4I0;&lxK`XbD+xDPv+Hj^W?f$56j?MlbCOxK$U07~XKM=rx^3 zV2Mn;iQ{poNVQcPKG+|5-B1&?dH$A!ZP~Suh;~6IzXO!5G;~#)g^oqqvYW#Ds4}Av(W5rTn~$HgRo>fRH4Q>iS-pOg zK#KO{SAqK?Ds^e!05weMBoKRuRggz^ostdewz~mMuc5{E8pk5Ktu#NMs2HVB{v-s zFy|HX)v_;VPrKpXy`67$pM7I9DbCd}V*u=-5I5{^#kl-A^ zk6c_nDrQt*+W2Zr3YFxx=;P4dJ9_!_En|YO)9Ev+qjUDx_%w9D*K#v}HfxXsI*1StgRmgMfjI`qu<%Pvlz1X?VmykbZ(1AUNu@x470+}Ob13vLf2~*TR^b0 zs(d;4@G}LhU~T2C7o;2+_77Fd$7)=bR$Bfg6ITd5EgoXO4J0;RpoeH35KHNS*6he+ zB-Ot!UkIs$o7B}>Quve|Ym*?`hsj0Imk>|&TNSd+tELxRPOBZ!T}m3tB;p<@(`phV zIA3XCX)M_oZkF|-?^Qb?8{2yf9}m#n(>8uT1diO>$D9SJ*DIxcJi+k=@M1qzRGy&m z<-LC3kX&+zrK^q_b!T+~YbanbKiwbyk7KR18| z!r_}!KWX%&j-Y$dvc+;VA$Ac?g!-^$Cov*gkH@G$=z{bu5T79^zzV;Y7%%mFHmC^x z20B$QV|z9_(f8W8ZJ25Ieb{tA|pb@OB&Tg4p^{dE44wnL4Nble8 zDqzl83rq{unx5+mjyLw}f-T#ITBjVJw0!H7q7RME%sTJ*&n1)8`Gj-lj!GD34b#Z^ z#I0>NUmkC3+s)fOm|uIjTIu-qsfxb*B-2f$r~cLU-BIz|(N?RQlb5M4j;*Vz+!a&p zQrea9ZX*5DQOx^%slrCK{&oeE`S8X}o)1q$a@kgS*NsZG1PPHvqR*=tznqIt#Znn_ z_RiO%O0`s+JNnOCsa68-NiHzCW$fndG4XTpnNz{rGX!1qRnCKGP%EvYoCdZlr~2iv zlq>c8!2CxbZ#y$@dIsZ(frS@-O5w|?Rl7HNL*TmcUn$v1se3-LAORUnr&tDRo?gD7 z)J5%qO0`_2%1|0<4LHHYf{fyMPx*G{=SNFIn)FwmUI7JTuM8^6QN!-sglPBVl7|N? zo$xmFF(}dPeS^w^_hnVr)3MZv>2}d^Lnj*0V}bthnqz80UxLyPd!W38?%3}hYmx7; z048?7YgEk_g@Wa&a5jJQexktv)6DQP?6iA09g?YtABkZci_$&Qqu$T_54g2`Aj7=T zkGa2ky9%y4B{x&o5GnjWD4SFYN0i}!O^oNj(ppn%zaioAkL zQZgQFSco5$)z$otcQZ9Mv$sPsoqu(1c_IocR*o%b;O^Sv{RpEdZSdOCD3Rv*l-RKT z!(ol@QtImY;fN^zD%_t!06>4jBG;pVY3(Xp#$XzG*fP?2h>a4@eLi3jnzKsRMGF<|OH-`Wh z8YP_(7P8L?W@XTey`34^NaGsJ<98!9YQucMeK;mc{s(i^U`VAV#OZZGtu4f8l+Y7< zJmg)8Lldg7sbT%NQA7D6JEpLfnb$9^1#&u#ySX`wNHr+O=4}5Vm_W@bDg$3ss2hvH zRF5JO-KS6EX4!uF)v%Ffq3T^eFvU)rraqb|9ooQ75eQ$^f>Lb(Ecr zA`Qzw?KNMg9s}urSU0*&qA;2p2*lXRBZqiFx`HwXfwZs#=9eSVRq46RP-F#e(?FgO#DIV;l zwR@9ATmnlP=GLAx1_ZfhzlL}T7T6+OJ^>|27yfXQIL|1lxzv|zv;usqVTuO7>*6x{ z_zj521NwIaX~D>Pe6S%xJ@{Ue_)g4kMx7~%Rlin1OaU!@W}pAB!~WB(Zq1*2GQ>M$XMYpuq+}vis3T< zAVb;)ycOfEC!qoD{n?7~+LN%L8Sn^t)RUtIp##wfcGQz0{fHqM>7R=EGD#$`&ZbV{ z0X1@|)Uz=|XdxZV>4lJ&1w$AixSBRfW%W~7fX+IcA_KH6Hdt57M#+9z0=GR`3Aa62 zTem&g6t~?P`ffK+h9fu7YQkMGt*w0Uf&W`6q4WPUl<@xlElP-l`~OqI|IbiD{@5`% zOsd=tX5|w~egWtsUFo z38Uw?>KT|iP0cp0t(oxIrr7rh-P zACu;B4LY-^5`k_~^T5z)S`9k=^>aK{AMXNC%=z1FDnP*YLSn5-AI;u>ovLc8R?76tt`p)Bf`8a;G4$@ zOs>yH14eSQi(v_qeuwA&EFQs)?q30R0t9=EziaTAP|#Q0R|k%!%I-zy*C;7RO8nA}r;TtVNw)BslO71ccy83AWfj&2ASG zw05%(7PNM&j|!s85nM_vxa&$Jme^@=fwPE3^qGD76pX}6%RHFfcyWQhNGABwl1R|r z(nJ9~riSlt-aiTS+DqnNU~gIH{F{AQp)`0gh%`2}@A0C){|st#1gI+SFWdS^lN6f@ znmfKqzmbj%O2TD_Ngz4=4G?KN1&vjj8@HK<)XOjQ@<&s3MnYb}ZNujbP%k?r+~uI{ zfN~FtoVLWmGx&!p@d6^F>Wp+7rRm%TordmUi+KfRH(99L2a6$q^s5+xES0(giW>}e zth$q$7`I-0Z|o6?$|?HyjhJ43<_ifGrCe%=8d*O|r39)WFLA>HLR{FHVP(4W8JK4^ zh;j^@aQCwDRpPa|o)LT9mqJ%Vgcf@FEj&0oB6Pl>R%3wZu`YcS4qT$mSw_E};+%;h zVg)O~ENsb9p>zm58!cHRrRZ6~xO;S*^37g7__yI8NLHzZBC&l=+J24-LqWd`A1IyglbymmxjuD6oTA-~8_al#?r zSWA>)Fd!CFoMA9vZ=`9fC}XBaal%>R;FS&99VWmsQ3`N>RuG^r&F_)E=OB#h9z#8U zFUc?%@VFq{6~5wPc;)-tPa*|w5&YEvV2o$1rNNAk#S;aoz5}~W4+A{xlYckKsy(NJ zVX89BD(rXFjqqm~Ej|ZA(K$owQ8f#buIDVV;%kUcFl)ARrZ{ohC6H*=7@-m;oe`0= zD*#uRQ8OsvQbTdLI^%rUNFzXXLMO<{N^#e?8CaqJ^m6skgBksBuuH6H7%Dl(U|>p& ztVX-E0(i~H`8AsQK5o$jG6(ua!KRoaVBKMc4w@GTL{JeiVWks-gF-CCtiJn#LTqqK z-R(eUIm-N>8dqwMJij(UPkM^t&Yl_-VgFNvh0C!hs8x9aYu1}`uMqEhq&l>en%H;> zD5+6aW~!z& za`|)yOEECAC4L(9&9XyB!u8{&q7x{>#ttOfq2Muc&}*z#JIKQl+bgVzq-#N; zUr_cUc^UpJUEm#v%tB@1E@GM<-~C={mfiHiG*1m6#pKM+XLS}ZkB+xoMia0g%i}IY2gcUt9!7O}<#gSt+S(1M#GW4!Ik;g9X?Ptmj#cRdu|O zr6>Y9`7agcrl(af%I5*JF(pu#1Tr2g!YdBk_@Z7}&DT-}E16gZW>?bw$Swe*1y;Me z#5O3w$k44t5n$SjMxMAXu5jIwNv<@^q?(U-O&{|3ZGg2Hcc#h($~lI*ZaD*MM$CM} zKlRMNrbVQaDb{I;zr478Q1!6r(JrPG63>==N|*Z;e{pPx#cMGcKzai@+Zg<2Pd5kQ{Hm4@}hX~@TmU6o1oA({s;&m#`@fJ*k; z$!YNSW{@7SU9h)50dU0KrDW6{Lu|vsS|kO16hrjc8!~Rx4$w`isE9OR(l;r)`|b%LI2&ZTeN+QvmlauPQ7|^x!_r*fj#XA}kC&E7LKH zAqqPDGwSI{WidubGHoV!$}e$+xhR;h5|1|6#7<(ifLzgU=K%76X_vTPj^`-m&5A@6 z%o$UchJf>;iWqAO4i^7uiOpir!+93BVMQX8SrhbgGO)~XNW|fRxFOy6dK{TXW-9QR zIArEu%?Pk-tRNb%<&n<6o1=xly)RLOUuJC-{~~SNT^AWAT3IbFgGqC8SXtAI=D|OA zSe(?kg#=t@$ZW5M#;VYW#S+95y}d{H^uVlZftEj@WdJ#TQT4ZXcA^S!-i2~-S^+)CIOuoeYd~?ctv9Sqghcs{R1X6Wafc>b{34?j8TF2G37^ zzFw?}dVT>RSBiU<<9Wa%7(DG)ofh}?C}sEvvoq%&1;jiW_WwK`f1;P+b>_Coq!2IB zW}v~!7oG!1M(ohf3(8uu1=3XAwRO08*jt7|lEl0r=0kd%Gbhg$(gFcWnD2{EY=S;# z)TpqASXbF5cV{wtgyVN-G9r4+AiKq2+aXcxEfRo2x@=H%a)OiJpy&4i~3kS-06Lb6RfV#jrSHC)-QU19W;4ZYG zRzjovlRBdJz95r>`D*T%7V@Us-~i#T(kJnXoCwKW29xB`I~Qs*Af&!`u1mE>5Z^G& z{%--a9dFY2&bg1!r%PDa*WtBv2n3tvTZba#CDymvUnHGzU_fWekPz*q0WOLPB~2oB zJR13yfHIe$t`tj;I6v>-o0Vm?tWe(xqhGLZf8q5wC7i&i4XUj$ufbkvG`7z!q`1nb zMN%*xGITWBw+;OzO$YeBv7+=c@KHB$L%70%Nkh`H)3YtAM2Q5ytzyYK?DH)mEji8$ zEh<1~fBA@im*qLqHQ#~0)ZbmpU=}V}VkEhk1ek$&y6&fe9&_rdYRYS{q3(fPTWn|n z0*DRBy)tt#0_il(6G27vf<#UV9@LY~kQ2>cclCJ7yV-DU7RLJ3bY&G#vz~981}fg% zABiU}{|BL}jbT=aQ%wgPdLoqHwa+bjFW_N+c9#YDC16#Xx4#HXne!`tWUYvgnSr(g z@T{CH;Z_2?!KQ&=)>_AcA|Jw(&dZNsQQZF94nXv0ABsTuJ40%Ek{LD~2GO?6P`5(v z1mSO)`f38Lr(q5F`(LGKU&aUY{`(Na6vQA+aVIgkUxEZDsa-eq0Q-QO27uc-qzeD@ z`mwBm>8Ts9`{S8TRqshX22{@hi3-%E$1sni@JJDkhPBe;OzS?utRaNe$~sH>06-4v z?-k1I|C+)wuZZ#ZXXssjg}c-1uwoeJj0ZoFzTDhy&H%;+g}DV z+D#~Gqq#BJ{JRIj=AWL-Y!<{o!E_wttk0$Jy95<%n zVWVq8Z&^ZJHzo@y{25L34;(I`Rt37<9_wixb?*w+c^@gY*P-WT)*QjH@HUz27G=*k z-fZifMjF3UA}Ej#)fC)kXv4hSxYH&c4)DuFD!R{++U*)&z-KTiezgN`qT0ul>kqx3 z(=imdCXzIbE`8zG0;p%Vt<|-p()%W@+X?Jq^X2|wVMS%$+1|gR#ozyR3&+6UXsEmr zBhIcb?s#~svU1eLplBkXZ)tMSEs=aS6O`7H2mJCr*8+dgcrN$i- zNM9{qw|giFsqDe2&)4)^O{`emzWsi8_&D0DV@rZwapBc^-WPPy6hjOfoO?Z2^Iw<1 zm+7ujjH8igJ$DLnFg%GhwZlA~+YtjfOGw>;KYRaiN4Pb~K>Acw~r_*4M+9zg@dm^#NPxbun z=0bWaBG2T4Xe9e4+y3NZiX8-iWu8ui+B66ibDgAna{ ztp>UJ;z-h7wKUjvFzsrs9@_5pc98ALrG_Z*cWURa;1?^d*Fqde7xlWhAhlhk{U=eq z?#K07#_FwO(Rj8eA+54SuJz9-;)57hQUT5yI&+?w)NC|z7RV*eV*bL=dfl?EN_kGY z`TWFnaF2v6R-y%oO?^f^1&Y7D_m7W@sJCfVyY2LG z-~ugu&WtAI(Y)PB=TK)iN)mg}JDFC!<(!5H0ym*9TZ|uzpBnagt+ec+4mv)mEVP`v z>RPly-(0=l16T`vJ7%qn9GH-ePJR|G3PJ<+OFf!ua+a^lhiC8*2fJ{0zoGm=ra?VU z!O|(uSkBVh9~6;9`|09V@tDWQF+N?5OEPrKm(JW*^Aw?z5K0P(|J@JF2o_5W_+Xw< zfi-LdPI7xcV*ZgbLuNEMhBkGLb6NjH8VH0mnH~i5^)O7FGRom$>9y&Mp8WUC#Fs6U zg{D3sY6>d8?#XrrFKof&Z$ctesOdg$=#MRJJDQWWQ=qvSDvR~vo4g%j_1;L53)@3o zB8az7HKE%1+*L>{>ghR7R^}XidKSAY;Y3%;i|3SAVv$)?*7Qj`iUnbbhdQc8Ad-R1 zpzZQ%BHCoLRG$QMCu|_&xcfg#&SwRiK}Y2Zlz?I@py10t$7>U^2oA64$od%|ECqw@ z3L~iY`V?pUM1YwL|@X9rYE0v(J&wyvMc7v&H!h|D#{GTLZ_ZDNC@VIy|{6!{7Za*T@ zt=o-#924+sXYfD_XrJc`&G{7j>QT%6vtsqIqnYOB;s=&(`*=C>U$^;Arh z7>zunZMjbMsFjR2g9&h9@O3Ay^t_no(YUvvde9Z7Axq)(9@#sOqzL2rllZ>a*Ij5CT&a zEdU1Rv*O8_fxK>tM8!SHz(*fA+?EhmJ~=MussfQV=#P9XTwbJ3b^pZ&_}Mzk)X6nc zN1lKnge=(~1DZ22Rk2!jXL7{_=4-sN@UzPbl^WcbgG=tq4poQ1p#n}Y>h^~?A z5+S+5HiKWd>%;A21@#L?%cV?Kz0~zWm21+cHhV`e46{QGn?kq*lTqNE>ft_r2Y79% zE`28o90u(g41~MsAD~@hd^gri9OPPWC3~;(4LL6eT?&wddqWh3bT#RNe62<0Fok=8 zvt75JUK{;9r>(H-0%4Tp+t{-bW^9ok41uUXHpoN7Oh(NFiRAh%tcqrh0Tm~BT{K<; zvMJw*0+CnYw?@F1+62el4GjHht5(g~xP*%d?d3>zVdOi5QU4q?nTn~z#<4`A$DdDT zW0P|m%$ob_$tnhs@}M>Q0?N$8G2aROHx1xL-QRWII)|P!9OORt`~usUbw_$F^ibgD zXz+HaCMyL)@h~RvhY>!#w{FW^e^zmZ$|v5ajBr%$v>4_KyKNI&Cqq$yG(%CQrU7_U zO8GbpkW;MGeBi!0iUSnosHCDNKO;Yd1p4Y^#xYKL=$wJbDDPkG4F_&#H52XL^(6`; z3yKR~8z?{kJzUHc2{d7&%$&6(X8Bp6%9o39UD!B0tW4EE?Kz682Od`c@#MUQmQcNw1_XMLK2M*GgarNXTG z?5OpDP&K=1hry*Q5#=ud3YSLn3=en@0QI@WZ25wh<6u2Oo<-`~MM|X@OU$r4wt;M0 zsT!DoZF%%0WHz9d!@OOORX4o!q9JPbEH|Q#+Lu7jnlXR?vJ%6{ag1gQ%E%esas7$y zg8<(|IqDlAM7>7Q`H&xtITr42W5u{8V>rJ3YY2;HdN(fLYC+>k_IdV%;KTp-nSxC z;=?<@jx+SwbQt)HIq8afpbSGJLAGIn9*W)b&d+|TOqQ9;OAh|Fz^_%~!`gXF^?}BU!D3Jtv04O_kZ6fRnVNP#ip$bYfF9 zf-GG9YC>kW!58Gs0-e-ha6a?7M4z~uSDVynv>3;Hscc$OPp$Rd(Kz=f0T(HSo9XS9 zf!_JXRPAaCW2*8uBPsK?vS)S>5kB~9&^SWOPI(9enj-*twYbU(f^fn3OYZ@g*%BmJ z=qbV4x6hoJC67`=1IcPXEk!Wi}{7m2s0V%J#SnZH6gz$5(-(ad!6hp;%ahga%l2p8WWFaiIs5gu5XS z+we>y2l_uFwLf>gYdht7Ki}2s_J~h6Ghw>ze%~7fzTaP0FAH%CHz!}uS1*1oSB^%V zKUp1q)^_M?@Bj9Ew4Z34c^b_-WD-r+Vk0_){Y}=PEreUF)t!;CNwREnIEm9PB0PFO z@D3fTC&iBh9zM;Dyyuq2pC%?#=w`-vRX-NIS}J3wT0XztZta&?@Daim#t!WV_Z-|g zhJFyG)c+5@?x8ss23o^(Y}?k3ZQHhO+sPZ-wrv|bc6MyrHoDGt`b>JzlU4Ps|8Uiv zzF1BC9q{qmzVFG~mGNW8`1M<}ym!0Q;`QCW|Ld+7->>>)W_Uyv9 zU;B^WUPv&JEM(nbX@9^C%)5g^xpggk9_keO6Wv zUIaR(0i{*d7&;BoiojL=Ol8R5v=1r=gO1Sbjvn}MWAHDAd;v4}l{;@p*>3jcX6Xu- z25_3@X1aP6sba9I=Ruj1i`S}H;`S1oNntI8ZamFZP;<>pmLAZzhX(pe_8dj;GIrg8 zvpV|UQ0<24-E*P?X#2&3kdm2A70{+NJ&luG&$kEtbTKh@xU>Xxws;e+jqKlt4uvlyy%&e{$>s`d6QQ zZpNQ4u>bM^K23w~_R)^izaM=DQPE$q5loDI(^^BQS^Sd>9;>@l_}|VX#xl3fdyKI- zq}`5r16;YU$Rqva>Ji4v_W{GdjbOoqtcnT1II?Z^H_cmb)k?*1=mU@bBDGMgi7sio zwJEx`UF+eu+;k8>T`QW7Or~9>aZ-&Lh^Q=jdP$~TABFdyU5VuWhIt-9FRTsu5X`C> zrOW}eJhuq3cT5VDhOUIqs7tDq{7PpApX)es-ggf&+_?W)u1*I@Cj6{(kb8Py>9=UUrB@!n?C*3ojzO2`8Aqdwat9vafv6!=>X;-7j|C=gCG8i z7cGtHy;}qRfDZ{RLfP#iRgUFq+zRx`koT9n;tdA`=lv7*uU!e1fl<|mM6_^|Of{QU z6JWw>zi0olWv@?RYApTV8JS?nf}8g5q}$ih z1b|eUNiq^~@C*VS>{0Lo_h}QBZ~g(yyW_wp>Dra<)o;+=47|g94N)p|k zdkv{yQna;c`#oA)#{6pqa|&=L{NVf*X*38nOpw|As&@IPDf; z7bubqGwETPcR0sWf>0aZMP_&&FWQ9Xzozbq;P1Bc43AxsKdnSq{^&Yv;&42C46KPb!kq-y0wy7YgnX`5b!#l9-Abpq~cK_Ie%pSjj zAg~*zO!1dXsW8rV0Jz0)Kk^?LWOnFt%-de|{I)_$wBRvxoVzLYU_7a823XUHz#4t2 zI$QpwxLu3VPaEoM)u~<86k|=}D{?;eSa+qzTR@ixG~RZ`&^OoaqjBu0J7rU@$Jo*; z3X?e zfc{2y(^+2n?p{^30aq&dc~Y}sLN@n!^3Bs=N*>=tr#S1l@}#|bnm9KZSag>uB_AHl zr1WffpgPy02Pq#j^0C$yO0PJwdC8x2rCpuMWg}}K$aOk6IqUZV>)mB9zC3!w{;DhWfT?q8`ms2N-Mx{wy8L%L3P zm#3}L{RRlLC+XJn=G=T%&|QZ4xjF-cpCH41#EGb~0+|Gwv&pY8oe8Gyih`!=4u+>3 zZLxMc()Z4~_jE1w-W@_&6DqN^oxwUOCGp@MmXOTz=Xu4>3{|JNuoMcRw#PXmMH2D| z_%6PPFBJ=ka!zGyhtd)+e%qgHKBnj6ZDzY&QByoGYYT~y6rn=cUcwWveP*g*{idCX z1Z)YwQ}~|Zv-MQ#N4IhCvvEBwNlQo4Z(*&Qus6&H7ym@G8M(+Q8*7*6TJnQj?Oi{n zL$hX^ho58V=f+aD#x_EdiaC8%Yg;{s7Q9aQ%QA1Zoq$qe-&)Sk_I+={F_gtnK%0w` z@5sY8>UlmUCwc}D(#cw4cG^;ttu|B&>}V)ulx187r#9P2)E%?PaU3=$Cq7tR#ADh! zkKaclIARDw)NL1@av8mkMrCLQV8R-%wI!{&(tF<5D_0V`Gffu`2$h)GB?Oa5O>N3T z#f?>JN#_pcoo#89wDKFef*oL#WLx95IO5AwdUW3_EvUYtlH?MBHS67uIG05}nkrWk zRcOjyDh!(%D^F(pid91u|KFnD_p^^M-F!+BmT2^k22(# z!QAA?V}VrVVCG&yHzQop$0Xf^ROO(%TcAkTv-aG$w)QasgQzm(NQK4a_oWj1Inu(a zwJm-)khFU39j)U>Wsk)bv!xm7F>%^~^nn72_c3_|4z@k;8R6kI58nnBdi*wN8?ctp z;5)YfiFW&B*gAc4it|ajbNT9Gybgz7;cw>7*R)xVO81*OuHeq!Y9n5B80kf_AzWcj zn2+>0eI(^J+`WSY88@Hb;Cm8PcM;*?-#$oXgahqIH#WN zBaqF|0$d}SY%IxQE!wxC;ZN8c)D6#X0c%cW1DO8gwB5=Uue*FCVo2ECQ zs}A);vqnE&{3Em^`-t+)^kvs-RD)Dq06cVp7rL#; z#R?n`8OG2~FD|9y85}Uzy|SAbT^+FA`os9&UWlhnMILfnX+gxl;W`}RUC-I@g~=5Z z7xoP6#YZ<+Rz_~Ga=>SCJne#?6cR#iV8XyRk>mkg63B)bPTAlaEAeq^W{AXCUwV{6kZ;`_Da_?Gm37#8u`}%`jqiDII`BdWx*Y_YS z#<|I5{_R#`E5ZbmZ;?SUlT<9Dt~iZ5GH{q){zXJCMe*_!bzJn>8Or!ty;*^O&~v)g z-H!Tv7QxA1x3eiywmg`+OhYf-C7h+fDRfA=NrK3=md&=xEJ{SlRFJ;*a%Vd?}QMX6WJ7{6qy z8e00YJ45{09*$i{;JU#3PsPvhO)1+?4b$Mj;NiQuOp{1LHeVd!9Ye>y%HwB*;M~x; zb^O4Q)+mUQ)l78+lNrKCb+1k!z!~S{GA~^h^UTBBvH>arndrlwmhFtlf^x*9Wdki% zfggKmzv>d&X}Nm{*?(~K0^1mCP|H>RWEuv@|H!_CtbrdzV}i$W*Zk2(w;Tb=A)q;6I)9aa*Q>73xPeJ30OH;XmBFz`0Rfv{FGu zd8?)ODeG3ve{3>@CyCP}8t|;6$l8iN6j?7~aQ3*wC%r233>3M@fGty0qoPO|@l{%) zH0(sa_CWoz^I1bJ^_g9Q6b6m-ZaTRs6k?|ACeY^0NEA2IBd2;iD_>w1xUL?o=X&mF z++nN5+3ch_-2Pn8ELbC|U7n`2-)`X;`%gz}yl1Ch5Fl>Wa(j*6in|N<<<%dLhMQwt zBIr2`Nmr8Q#^_D-M-6bOXU*V$0`p#fv-?s)Fbzirwn`6`db)I*a~XSJ?{vpeg8Ye* zn#PR|Tk)DsascFNEqOroi$jq_eu)w>vy|`{B{(zlp&*Ez@1`BGxf6Um0q@fwLV`sI zjgQwPvR2zD-6H4c^m&ViU%U6Qi@F+-m@N=O`RRS=MdRhjxKo z9K_WK-$>1E-LJqT`)ZzVzc`h#67gP`;W_a;Z@7I@oB^HN6&!RvhOWsG0Z z!lF0~cBx@B%(Z8`Df7{I`{5r4meIoEg3ai4Dq(VWBE+~GQ}X%))G8q|k9A$5%0nE? z^z!GOx@O}SG|&H<#$HysPyTJurak!kfm-uu9iyKyt<&03kdqVE47C;lD7F zc*%|tQw>{3dCNA|l;WLC{4t@?9&W8r13&oV`vzQUs&cIL^LVe>E3+7(usg3%7@x^e zzpcIHyT%-S28pTluHPDJ91fNG7!?yWpgGD0d{zAy?P0$pTWL?gDBGM+LCc8~+n6oF zW#m4kcFOLD#il!UIWWV{pgOn_Erv0bBSTlnP3OIAQUlW$uD`H&3ER&CN%c zhzT;PhV#muBJm$7YO0S)4^@_`;*EMDz6+=pUN-*^uoIgWgLT0YH73+WlW?3XJu64{~cb&Rs zLYOqt5QV^<6&MEKUMT*cuC~4N%D4i5(RNYAs;)FgQIBlSlR2~ET6Jz=y;@EZzskpx z(hY&vG-6~vvw>s-YjTexpM}n~!7r?sLBD&5HDr`vP>oM>iUAX-pTJ8`a6D{2<_lZJ zU;SwP-&k&3h|+R^?~lg7iZL>-r_q=hs^)2^ACBU{;N+_D!4x96=B%GmS}dPrG3jdv zG-D9_!J;VTKx6k^(o$@t#q-fD88@)IF1)-L3&K`l-5~I5iKqzQ`KvNd>~~&h zWb+s@;FGaEE$>$je*|Q|qYsz~A|f;!2MMzSW2Be$mRm6z*eTM6iKwh2t<;X(s%;Nv z;HsLiW+bp&S>sCoHRcX}6 z2F|edDt(16+RoXrj^s~!!}-#$&GwY+DgtAdxU3t z2epM7>(97K#CIDnZXB*0d?mhwqrUbkQiJ=r-<_&BA8=f^J_h|Jh!!C$4LyF2^-AIw zc9=@5$Ai>=A#m;C2j~VzA%!Kh^&9OCyq8aTiP7Wq^#-XoMV;>NJhk?Q-ul8bAn_!| zp0pnCOn>QTQ^t_FAl%1#W_Hlx%YF(OxqKfAT!7xnhPTh0fD?vXTWOk|^9AfeO;i$f zqgldwYVaP*t#w+}pamL4yGcHkYBw>L47DXmzqSjHwymmt&50%;2gweO1VR)-lh<2S z=iEL&XF>#Kk!=pIN~c#lh?2HWmRAyLTtt$bfJFG!P5)78VZfI=`lP`nu|afUPfa*QEs-dLk>z;XM-x`#r*+IIjn3iKKTSRM z4^)37AXg26>;k>zsfhlaREr^2%MJ56tVV^EC_^GOo{4r0Wjl*^Y~$i^C*xTg_hU_J zAhU+UdS#@N^_Z;&L4>V3*P(qxM*sRghs_lK*?a^xl=u=$szczXlK2ul%jM*LGg&RJ zOid-JSaLTwF6|j*smo#NmHl0*^-E>xy+*}#nB1U56RT^@tHD@ zD1syQT~VMW8j*I>0JF;Pk*Taur>xR=zFdmQqJ+LYlLjJD#@bJ;X#~(yP`@>%dRJ2e zo?lHm(vpBxl`SBq)lH}$`H$4e3#!?XA4E)VhmW6{|mPpeWboU$|p5xq`e zcrCE-lDH@hp*?U|RtoH@F&MibCBBu*)ttt))}ghDv?xT7arEG~r~vSBlwikrc_e25 z@lCOP0o!206Fb5p+E{YeaDrN(kYluAf)|#}iMj?>5QdCd7cdyDX_%W6m4?XZ&64gerG=<$T{0@iZ6Ldj4HX^>GiNsUNJA0z;Jw z4$js8c2svI4mGck#PVtV-RfykjZc`v=bnMk(eR^7WDw7(MVX9 ziI8F(-Fz6Vb2KM|h$90X)RbA(lgUUNhJ|8UbAL3XQ*n*Sh=N*xV!m`T0h(2fiy2U- znkHLd6HAGDA#O6+Vu;9ACtHy?ng-3b^3FU+?>Z{m5ILI(?Oxez9#m=4gIJF6#Gk{x z@#%Pxa62g1>a+{F1Q9@}m<{YFXosUn#A-9WddY2t$o3Od`xbg?q$7TKZ;-Xm__EdG zN}qhOzE|g6pl;Fdxl9{;JDDG~>16xn#6*FW_VDdp@kY|`meb`;bG`k6VdK+S5LA=3 z*Wz=K1wl(TSc#!t$G&K&7OkHWuD8B2PxxauaSf@pQ$o8T0&lBwoxf?_Pj6!wEnj?k zwqQE#gJ6tzo(R<(moM4+UJ}Bu7~@KwPQ_LGc%WuY5BnpDD#|Tyza)GkDj7hvl4M*toc@r6ts@on$L zkK{t{l& zF%|4++U0;rF=RtNM|Uswi!Pw%Rr1>>({}Cj^+xW50!4UveGjdw-l&_T%G5CJ2<|V> z_2okSspY4A#ro`XId?YG;!g(AP8>50RQ4aRP;qdrbcw3mU>4ctYFxG<=HJu8n=r37 zf$Kou>fS$@wc%PSZR_JXybu%FWlCH3&8B6+OQ}ZE1VcyW$+c5*v#b$@9Jy_Fxra@Q zU4Ilp)y=dy>WJ6*m(^Q*r`jo7OzGm?nC9R6z7x?6wfLYx+lDHws)dCZvOf&MMp(Rd zQ{1X4NrRa)eSOuFBdM{l{;g|TU%U14;>b7sdrN}D;xdka{JFNOPuV@jimhL=&b=NT zj@>3IU$bJwu%xF7x+J#D(c@edszi@J0#x&B2s zhvj#V6d`c(njvb~6#h zS1wk+#3FEX>6XFkae=`w(-@pC{+hp$g&~?U~a~3 zRW#ZrcDTyx*=;@qfx04@lADYnM8SF8bZAqZsVYr(T*GIYU1h(4Kxx^0ZPP~Ac;100 z{#yiz8Y-?Dfvbphvs2d!)-c0_51i6AO7($m^Cx0#BI$)~&q4pR8>QG1MfChxH-qM{ z9pthRNX3#U<59#^Th-K+)n`^KS=|b>CKVpLE7g9{St>{MRKP^8ibJ&ZDn{d;@WGXy zO1YYa^R5Bb1F60zv9!+AgTUmKffjKw`kxV<@>jQ=lV1spT}0ZNaeua^D;|!Sn{(Vb zq>`9-3@YU{8k`T3VUUdR>$sCHbt==x_bB6{0k$t1w~Lwt%koJ(onodq7(6JmJTE}D zxzZKNX|#R=QkQs+I9{mvG#{f4MfuFo+hElFI?!oxobDT@v68`BF1lvumF{1wL2EDE zFb`#wTV*pYN0qVOxgJ9yQas5pY%#R^)J?dctEIUPYoGB&9t=krEpJzW!P=5@3|6o1 zg!2^CceU*DIpaC4jt3q#Dub}VNwcoQjTF+CLd}$ZZROLZr^^P%iViPzKFp*N+hAP? zl0%GlT>z;%^^iaYq(6JJ@~3(u1!zbpuIKCk)ys`-$N0_m+P!TuQ#(}*h#R~E6rR)` z*Rs)y3Yw=Ah9@x~xp^QGNI#}|zk$#*HjwYy$QuG^ZIOV97ObJ1PxcfD$Y+BTA_YkQ z1#}gP^BOV@%5xcUi)hbHz>!sSJey@4Su}3;X~r@p!Ghbu6_8-zZ4n|qdM5iCLy!C* z`gmqPV4pn;NC)$^@86pvP!>WR0vv~R{a@! z4+>7Q=*A4B2t8VjVD{%sEKceAGy${X_%s2vb(+?_RX&JDJ)Cv;Jy4RHofhSkQU_d| zkil?;xuDVo!g57h%cJBobrTEv>Ib#vNw^h7?j9e)65mkpJ*f;dbJ~hA#_J^HenGi- zq@XHRiBC4RP>>Es!yvLO!$jIdb2&`Yw}MGsT)i^>P7=_s>&bPu0)q#N@*oMY(2n)G z`Y4Cw6dIs<;?udbZn%q5e~q??(uqA#A=*O+K>-EjxPgX(^kN+@6@;x9(_Ig+q((AS z7%Rvl9>}wUeue{nc_O;N25}`UzKJW_02JmGsvQEcLwQ02lrlX3I6n{rRLJs%W1V=3 zp?ieMvyNlE!+>Vmg5HoAHj~_5*FOoks0GRGGw2<|u3U0iM@vFSgKVaL6hr4DdUYsIiMS9+5=HMkGO%M8`%$ zKg$h)JL5s0G7Vl1ptbgjz{h4c|CFgm7I6BjJT8j4Ia|f2nuNWtY3=Q1;h@Ln5evBh zO#1=er|nWhW*5+rH24(B1j0-hFwfJhSNGcCzF4CgkWb?d{R%;q*9y>dASq31n&mH5 zJ?mO_*LZG6ugJzqCJpKahJ)o+7&wan%fZeifK1?3ibIr~1rT*~bfX27VrK}JkN6hu z7LnZSGaLhx3JF6~ZP@g;&lE?0W*}P*$R`0~e^i2p$c|^yK52PNGp*pCTr*(lNTcc2 zp(?KV(L|HyD)4z%@ennS;(L)=ih({mFm<`W(NO8i4IO&Dv1aANbu4u{fczExtSWq< z_jkiZW;(y8)LbE+`V1gapQ$bj6do_D`eqx20j9flLCJH3Dx!>7gS3Um)JKSxRTX zMbXO98gQ^a8E2x0;O-R*X8!n}hSN?gemmEJk#!VGB+oigr$zlLeWcjhGQmS%?2231 zsqrN*>*_xZ4q|}XxLU*gmlyamY?!M{T-Q&Mam1b~MMH(|XB3}}*t#Sz&UleUV5seF zXht>A2Wg^98v(dm^~C+M>ihA86Z7IzK^WG4bX;lHDaf`g;Mhwl>(-hLN9yp$ERIdj zX5hz-cZ>uTrxdNY_ain{K=pXz(gf%U8>qkF9^AVPfTiGF-h!&pfY$_$6;YDPQQ!EA z{;8M;jT6jT1cm+&oMj));1COFR^05{-E`my4H7T!W8FDE+EpY~Q{Q{xv1woac2`<3 zY1@#{AOMifA99}?1Q8qry0``-si*}89?b{2F=1U9%EYE77br}AAiMk%B3L}E$F*OJ zS}iC;6yPOzFtFniuYEAh+_U`mejKpxTgO1-$Q!ltlv_dp)9{MqQ3(|3x|Gd?7Y|jz z3^PUwQWXr(8`BwoUW;n+NE@|1jMeEM5@+56ynEjq- zP7ZL~USQ5hUMFGyUxr;gtE=()yD1LrZV#(~)0n*s(VJ@4Bd~b5;8(o3o?($gI1~h# z%@~t$8dluOLuZyGn#58qg>b|a8_6v2?FSTbidvEe6v+aqOxPMQrwzK-so}Q}M2#RF zn$DRY$6y|Yvv(jquz{oOdmjP)XXpnJgDJ`T}Z(MR{-S7eYY9iM%E;lQbRt#`iN zaf%3u)$8lOGEl4zhMt7P19`V|XVZcZ8xlv7fv3YPL4u1mpMr^`dZDu^RCPHP{L1?_ zP8(B&&UErVT*C@PtVQPalR3VAQY>T9dYe!0*!_L;DDa@d^<5sxBlQeczshk22Fiz! z5I{X>13Ihmxdm>NlAYhV9h9h!6TlA9HzI6&5Pm^RG0=BI(y%)#f! zf!55s)pb}_Z*Tv$(%#Rabx8rq0O$D0sD(Eobs!5~`Xg`WLVJ-z9tkYziM9x^BiBBn!qH>6Z~PKO?3DMEuI>sLTEiAJ#t$r&4dlII ze({SX5PF^#53KcoWJ*7MG9|uakr1DH)+`sHoy!tlk3S zS?2IsW-t-44Ki_>6W9oXroRa}-Zw&CAgp;D4C!IfNAMWUm54-kG3uI18H)9PRV)Jk z$~u^Ebi#k@@60I5q%PM|EAoHM~k9kP5~*!I-~p!P1%JhezXU_-REB!DlUv@a;W6>aU23q-e(YvBz!mI?Z1=t=BY zqe=$F5-VwPBolZYRyIEnNHHK!!~A7zl=I)wcLcpB{fVn&paw z;9@k}Xhl2_!5dio_ambQ!0+Nq0m{?d9Fw}CewYm;Ps>l5mf$g+^?hIrU}5`D+*2^G zbNn8XALI(&644z3nsxcVyKWtv3k(F`HgY!af5HWBK#M`>s||teI)7gQWnCeV3$^+B@_wBM z?RurEFgPVa?2Fas%;kX{^5@f&cD$c7T(9Jes(!Po7QyGLCxSD@^rrsH`FE=?A|Kf$ zZfc5t_vO6~&o|$h&_4eLQHSk3CwL$;0Q1@EKZxk*JtVkIOdnmti9VWQtF2UZ_`&Tq zUD=rJ`RfQAC{J{BHzF52TqJGo%iK^hjQY<}Q+YUdG)4>s`ja7wT-e{WsAEH*dGEid zp=N$m6Ndcg)leVTwIIm-6uTh6*DG>L&%cD6eOv;s?)tG@RVH)QI;yrT&|AIR88clx ze}j^X6M{+zOdSK^aMD+g5P@geW2G3C+-^r*P6xdMd%cSvFTNB9p38r(itm0XyLPI~ zvLv950Hi|7$$2chuua%Ak;h%72$*(?$(T~#oWaLo&3DUD({;7B)5Xo^*d%f&B=H>Y zeBthX#Hj67yAk2YM+lM>_-<}@34A)+2XI(5_mRK>5>5L#tKBh7H8G7Fj8?!w-b7=sAZ+b~Ya_xiAU*UK_) zp?=lWJ)Ybq&e4Ak|MJ>4{ zE6fjFLmQ+}@lzjjU`bBSTDMjOnsipi5c^4W@I*+-8U%}OOYNfSMhHMhvua8HjuJe_erkDB6Cx)(r_u@E3Q~`adB`5`pkrZH=^w~3IGz0qPe+tc|_QqSm%TS3Q2dNe- zRr{R-;z?-3KX=kT-8$WE&b(G@FK^Z;U&gw;>qKkdP9{EvgVk#W>!~o~zUu`7NW!i5 z9Fp^7QiBJ1cL_JF9~b>-Uay;MT}Ij|q~-)&5uA}2%tWE~@DhfZ1Fd>`Vm^(^=r4tA zJ@=7);MKMKgX&kTvnJhi*~fDUp-oQh7a%HSxCf78({<}kw)rfkPSpjMw}J6M3& zy@AQxCs1P@oWg-^iI<7n)t#f=o$#3-Z*3X6+(ur?MQD*@6Yc!ChY`{fU9Y*=gfgCv z(k!S#nMvAtKpAp$`j*cVx~YUWb1GBf41m3a6Y59-wj-!1Fo{j*@e0(Ulj^)Yl}NCn zU8acg|FiIKQAk6p5quQm5^e;szXNl5wjhgP@kx)XXTcTYkQj4NOluo1^T%EqtS2`% zNb1Yqcvj37pY9{pjtuqdd_N7(YoEer-h{c}&cA8%4?ox) z^keX3^m(A_QcIqeR&`X`m7k(V$x2FWvzscWFxbGOY?N-MxE-dhJiRy6#a^_lMCwq_ zD(RX}$m^%vASN$SQ`Mt)QtScOHc_SqjNzt~%86e|O}aKFvPQM(_yYC254DqthF}&E zQ-_5=1``WB%7V#Ov=|RJk(Wc zVZvWLD=_9|ps$@s=nGV!uboKg3p7wR4kdL3>&aWjk~;!-0_iyy^{%w%h0@hi)*C-* zbVv})?8##K9E8T)6}=a)!sE!7ocvz#o`i)l>03cqGc5w+Vh-;MH7IoBHZui|N$ zKaf)AD?{j~^R>XAU>FTc|EzETVnCh0kIvfwxotJi;{wTTlg%8c-wlJ!jvv`CeQSp8@eNgl)ezX`yq{|`u;f|a0!n3fMC2kom}QqmOhK97hM7UULXwB zPcSz+x|r-FWjD4s|Jw3Ieie)RR+|#Hoi0;%UIqTtJb9Hc3(^7<&%wCIqpj(0L;LNZ zQ1vua(^4tY#LbL z#Dv>j9nzQS#ul+(Fss9fvV0Kxn5Ow|DOap{*l<1g_xofz2xtWq`dWLb)+8^VTHA>f z-5Yacf4bri+lq9ngC1qG-?raND7N*wIAIAEHKsGVccn04Eg&a} zY^eULkjRqF2EV-dyGT}MuF45T#k$B+GW17>YApS-pKc6*HU_RO+y>seyv;vw6;uu+ z&gXXBGsq6E^g+Qxx{}mx-~b=rs1+HO8yHJt;2CI&#tBme1qkl3AXaNP`q~zo`$qFn z1Gi-&S62Y7hTZzq|1E(_KdHkV$2echcC85`F~Ni+DdX>uVt5xf%B&L<`CsKaP{TNp zL~9XLXkRBD!dcO1uu02RFCv*GLk~;03wc?cn~jr-ije* z#_3UZP?3LZrr2Px30X$LsX6tOC-cj;9=QI~95XE$$@Pd%TR+M$(`g#b~dd&n9x z1DLl#zd+G}LPx;h1SZEZ@a{AOh&Vs@lDUC~K*H*V13fT3a3{?l=_F)M=cL3P&#$${ zA}0!txzBfEnj)s9XYDWvjR{v+#e(8*3UwDsH}K6@hHUt+S&)PAs0;c;f#b`NIgneK z_edASrRFZp3C3aH1^F)u&o=@-=QrUEPcI5&E)x-I2xN5HTxNQ;PIhaH?0d{7Cfibr z5j2^RTu*dfw(TtMuIq&|OZi$FKuBSQIxBns4uk^Zgjlf$IO>{-5ox@=~CIwv+y`{M8wvu@)l^#ZKz#T8w4>}LPe9qvrj zRad&J>>{+MMv*r6UF`) zITRnde}cOU0<8~EKfFKv{djlyl?ss4^Yx;6y%hOAes7q0o$DvOIAyps$jYBdU+nY# zeIU%m%eK|IR=8ci*OaB~7a;uUEe{C5jgv^% zNbZLZ`_+o&ef6;3==s^a3+SdFo~0sl2*_v&GxRX_m0@6Uso zpsIR)X4GHryC;|VzLemDhRx&8XQBY^p44BH`IKWKcRGvnpFW*me#gH;NM)d__Y1oM z9-&|D(&tN2U}Rz+UP5upB6(IFsW9q(AKq2WE#T`t22zY!c&bA%AapF4c{U%oJNd9= ziovo*WlppotE`BouvyKR1}^aR5Ne8mS!$-ScYuApG}Bch<<6*87HKB#dj5|SV*SSn z!LVoZaWCEUGCdCV)t%h5R84bF#ihdSv`#;Z(4f&ZZcJjYlA<(*rCe>rRf5O+|Az^mC;Y=HzkJqt zIX<6(e(It*H1(f*=GtT5zSUU;1mA^5P|((GtM$NZk*||mc&^f5#LlU8R4;3eS)$fq zTD-CcnR6cGrg=8nKtJ&Rmk*Y>gBa)4Rk3BY!ybEtNtpJOJy*JiU!B^@qy`SpiQI2M zRV}OY?A#C6oGvQMG`6D60@pua_WuS5D&PL?I@{8Y$cmZ^FF_)6Fl_-k8rG@%KRQSk zuianqhTh`F_!ONr`-xhX>}MMI+ZX?HK*lc$5k-VLE+Bc@TTwPuX4WlFO*uc)K(vLL zFEHaT)E*#Y@DsEX`_DH0_fgSA>EDxeeHjl{+#Re|gmuA0E5xiLU6r zIZHw_1wE`KW-z=@hWp3s{jn<3<&S@4dx)1x?LIu!E<#`Yukw{ySDz?o*7E3uzvrLz zll5<7it{zybcZZgLE}u{{0drR^wYD3+Nk`n&CDOl>C6|qPKWH8l8dEfqx|b}MThpr?yiHQL9U9-$@ARWp^PLS{K}7x45>8in^VLHnbCYHvC;*vx#hHAPowqf?Sw zf0qOrHjbuW{wxsovZVMDPQ0la?P`43H_hwnSC-n@O-$v%yN~+5w72CSx9nfhcx-Q* z3lSeG1f9e^yQ=Rl-*f_j2lYAuJi7FAEvYQPSU|O*b$lN*jkSBS@V>)T#lN3!4qj>fXSZH$v3I=< zI)PI?%h!c(3VpSat0MUE>-lA z#L`L{I&mYcVSVbxGlwI{>Er-vmwTJ7x6Dq&R)wfgdXj0FhFK5k{RmRIb(x@SA5A~; z!0jL_|8i-&%4+Sb+mo53@oAq_*D9=7CHaCVXH${HrYo11{9aG~>9uG+3@V~>qmz?^ zSnYJoEhy!z;6iw*k#?ZRr zAh;!{8t$#Pg6<<64!4qoJN(+HqpjrZZTV=Y?oye*gc#{#SLSK+{N}Q7>v;7D+QkMR z7?&oWFYR5p(9P#dbf%&0@63n%WL3Fvd>nkKX3X6W1XT+xdoz1m;92WhSUvc(!I+63 zRayi};W4&8h`r8;i1VfFUAu6b9^Cw1`qGpsKW7j`zh+^9eHY#b`%fiSI&Gv`Mb^RH z9c}PPIBESHIGvsw0S_{!wHaUU&yTR`-0Qsl%|3>eA>xe{#LFH9`MHS}?^ZCJYu9DP zRrJOCO3;MLIyaL|<5i-E@EBf3FkhRisY)Q#%h^JrpMi(Y41oc6lihlI-9dF6-(OeL zB9Q-wuX}3l1p4zhAKSKV+qP}nwr!go|6*GmCmq{1J9f6F=RdPMH+%D`I#uW5`vhL~ zHl8CXP`dAR#BN<<)OIKZf;Ss*fhwhmJ#LS_OiPcmp{-s`B0nrl+ z-0=Ev6@C6;#u0S>U4Ut@AhPSmkky$XcMR|VxF0!C zWG~%Hro~-DB^^Pn=U6kxuc=**H*>Y%ZOW*vP}bb+<%*!G){?$VA5xPuY6e_j!}R|$ zOO*{=vBl?Bc+%>z1Gpb8#Z(bfXW7{Syj^#x)QQ#pGnm9`{kr6A6*nT4ed+Y7^j!cX zfTAWe=vzwik6X_$6JB{7-RB5)*oAI3zKv`%62KA8kuK~4ca@WB36jynpN^v~pz-(6 z5)&SbgaYA@8mI^JlZ;0DJfQx_y?f_CgD?hH0)doM14R9vn<1=kI60(`MLbZL^G@JE zpTI4YUidFtA4>^72N~UN^CR#GFTWOj^GE0Ccht-KS6&vG=xl{yws6AL^SRhmAo+c2 zzT$OG@|l;3W>gyzAZ3hln2)tn2>)*#CzuoIBPCs7=Pxs!gZy24CK*3*5yPp*=0_A? z@KFjuH<-7w#H9>o;79nPF&_UvAG>V_Ym4xqqdh+*n~u=vC@$381c#r)i>JTQ5q^(i zG6ml6l|9ol2G8x6Y9>I01yn6FW?+aEhIFD^D7+#WeS7~frXd<})W z?fgJ6zK6|x>>8a*o%Q^%Pf18H4!?Ra<;RWMG6$-$ls$ZN*1SZ`d|0B-Lq+8EDWBzo zVTaJIiw+dJypp;J2xJ%()m?@OU{tS`BnJ?mQ@la*WPf?)EH6Q&IBy}g5W62qwy+Pt zM<=1~c6o}UJBfmr8Gvslb+Hd2L|4^&-i|`!@rVj3^r-1;$Jz>Mw(&JN)dPQVEGaS!tYs{(Z$&d?)8LN!R9%gV-*kFJ%t9V3-D zT1I8I83*EDTwynm7Ir#}kcG6Y(+*{&$ODV5okdx1d60UGOu*8*6T%T-GElEO7440o z%Xpm9_+E9OECQ`HT3$wO+DhCgBqgT6BMrW&xqN`};C z+o9P|#~iM{PYJ_f=DXD%r*&FdwQH}F+?o{067Y+tgk>^rFiWE51!YLQppa@j@2n&> z+7_XbqFhZyK| zsjR(`!+JOkhD8-h&I9ypJh3r1?7R15A?#6mkMTgN`&uR&waMo#nZ>eG)$x0p%vFXX z3t3;v#pdibn#_0ptCY9$p`DuARoY+@3ZQb50(Vd?lMUJw_m|XsWx@p;My^#7}w>H5b+1huc>v&eUpIj7U>xRK8;25}M&8=Cu+W&#$-CMJCFpo}(_I{zcJHaiN-* zxlGe4ZAflj>bipEax1_4i6R6|{lKW|Bm9IrTn>#5q#>x8U#={(tE5YFcWWFfC|Ziq zv^Hqnqze|L(BMjd`1>cXpbezs%h=$mk~24s%R=Dqv=HBx#SRIf#G@jSDfih^_2*(p zdTFvREy98k9WYZCD?&GWhUkQFK^^TMLfp3>PYCUCpO!%)9WmOE?iwtri17iqq991C zIRIdFJ#xsFd^y#>G?^4^Sa2cuJ{vEKMOpV$96NJXN!Q!?2=~uREVHKH51N|ax*&9Q zwvIIPie^lT8uRl;nHPxS=`%1&q1~vixD+gJ6KNdWJI=AGik;+ zQ`7fk)UdHciye@x-c==AjQ>ns`|L+dt6tQl4QntjYI7$H97o)}VA7RMz&EZGM!8^q?Soupl7XDj<5zIrl99to;`!>6NJdjf^U!>#)Ci`zdn!a$*ntWsQTHtUUVP za&*$ft2Z86gZr-bjL0qP=Zco!GVso}mA>h1m#G{e>KkGU!0g4P7TFld}n=quYiw9^$s z51G5^g(ZI{YqUZTzGkTEJaoOquo{Q50?$MnUE)>@Fav+Z7Xex510CF1{LS@88?PGS zX3PfzX`d*1}jsu=ia>w{7g9|Imd-`zsiR7)eD_m9)AMVR%B=E1nrZGuLsFGQWumPK?96qu7yU7+EvXE%?YH^aH^4zS*k-sfqJC;X&7a1#b z&Z;C1f8El+Jz8?SS;imDqW*8MO?opR+23+%&3mnxS zpIaR{d5Ap;rF`rF9Q?h5Z+xq}{-WD0z4dub;LJgk>ASyenN>vikt<2b=VI2!QJ8h` zqt(A=P+T#ZdoTBeA8S{<#OaB7cz*%hFsECmcCFn(7pIVHFuZ1whD2C-T!E`H=@siEi=}VS_#~m zQ%dxczbaR*VQrY`OOYKOmF{m^)cZ)2jzW!4obL&L2Mbk{UG+ITIQ@!h#$Ee;GT@%D+DmQNB6FL03$4DwZ4D1x)pK3mm^DwziyY$%0 z0_Hi7^D4P-Cw&YZ1d|?AroBI&g&itv6dZfmTh(U0$z42Pg$vE(x$DIhHb1vkavvm) z@@OF{`zN^Bs98r%s4cQoIZH7-QTmL+AF z?h}L)KGuH#yfvI=`M-b%x7z*UjJY$;R*tw=GzectYgRYr#`+*<%zBlZ85GK>>y6#9 z0NU4n-Sh_cHi@S-#Fv$vv<6gg+GA3`zvh+TwHfE~SQB>(YFyZAb5iic-wE7WYBGyf z{B`@67Di@5(Yx=nXsxBW6oKu*tOw%xem1D5{E7f4_xGgM zjZZ|KrG(<(_88qO`E(EWtfVNHXeu@>lUI&yjw}%b03$}J1uydo1FWn+IO!?80nKaq z-Ho_w3@kXdK)_37_GrwiAR10%5KN20< zp3|Ge&XV^MI>)asz{>Sj{i+d^bEWhir`y#9ljW51Mtzh{#-i5D9e27J#LMYqQJVMb1bm{>k8soI^6()dTiQ&40j=xGd$GIe3?fmT+7 z0JR-|JlB$^n~lN@sPYYJA2aB~o zBXQ@sP_H*s3pw_pJX(M)IcvGnOZ$dO>OwFoOFO;5)ar-xItgzDM9M|xuGRws!l+fm zJfXy2ZjTyw!5rOx5;szZKdR8ChKDOuhc&F3$03w~6~-GAk^~FqOz2)+4;@k3?wnQ5 z)wM((Q3C=Oq6-%KXGp7gzw0+rix$mdy08_Z>3BRtSEGtd0`ZEB=gLDEF#&haVo)TW z${GFu7Rv0AZMc4u>|u-yYS`5pA^|V6Jrh|&h69Q=$GtIAS|qX$iBT-^ygEK2I*G0V z^j{tFCh+XzB^ZMmy)(lD&JGeHxH|Fb2ooc7?yRJ~*6|Ys&d%Z;0*aVx0{Q*~EN_I5 zf~r3}8H>-NFY~Q$Ss^cc*XN21w0DY-2}eBc1Y8-gyWV@?T2(V3loAB)TV=`O_?+x6 zm4|h4a2Fl6sDV6Jqr(NlbE2T05NqQDdB7Yi-mFCoZYyw=(KFe=?p3T7Lh|f=a7DE7 z^q^-thm$~E^I0r$Tg8*9z^p3TEJmX=k`RBwCzF6#m0y{K7|=c7lB#~k1G|(lnFi^Z z8o)*2{)sXEO-s5Nqy*6l96Z(x92D6E93y@CrH9M1((;T_MF z!3h%YLClDbV^4BRj&rSIV9&OprkB9BklvwhU25yhzbM6d5KwU)EE=%4L`51t z4Wwb1X`CM&$uiQKe7P(>c==p$zPPAu@x0WnxfwA*Z?Xwlyos*HX#j$%&{><=kPBC* z_faPBFxM45{b(m|M>6wHZL&gSZ}4gjbg2I7stFF~jbAR2O=Z62j&d%QB9UVWAlW`i zMX?fQ{z}*Tb<{Ewt69}W_ev^{bk5bO4BJV`EE#!nl+5j2LqTb-f4mtN+5Ikn!4ciO z2ysz$2dCe3zuYV95eovae>i$etYJ8AH{Pc&6oUXU-0D*l>z(?{x8h|ppBJGYO!$Hw z|9(1EoJkbzodJY4)}n&br7;KmR@-sT6ct6zltH#W3YR&B-6^M8(bnO~phI2P?Wm>tN7>0XD>h;>9N(V9 zGHQ++86bFe+Xb6I=&C7={XDqX?bWHy%vFD;8oVfObDJEV%*+@mQWIxwSmwb&NqKN( zTYKv=C5NOra12v`NhRU_UiI@|r{8zumHbWDscqiQ>S)A0vcZL~n;&7q)nBlwuqsMm zs5rsP)LcKim&oy%7f!Mq8%k{AFwaV8nn$lPaf?3veP)vr9~tJxJY4$MDJPzh(rjrr z2r1hBP0#ayR8@a|Lw2KQo2{J6hvbfYQ#=hSMx-ivBXw%`4R;>yu>W)!<9ulvoiF;4 z6DuhykmV?bsk%6wmRPl;Zi~5ImS@a8zlm%*Lu2m_(dQE@r&JqB=O8wj3og}d?0A=E zO*y69hk1%9VVNwyPaXaUmr7b*W6t_-R_Uk$meaA@v)M{nSD%qs!3nC3NC0l6aEHvR zu-34s01D;n>)9xMgd$f*vD)R;Y`$VPt(6ywV(0G3M-4rVlL-;^n2kM`kgaixRw{#2YRG->aZbW7 zX!BxvgA{yKRe2C#E@F;UB{>t|sh8ZP^Ayq(f%0!Ew1b1@Kj;$CWG0{V+JZ|e>5|iSf@1o)>f0^&3Ud~lt9H63w2s_y-{P~xF!7aeoJCAqz52G$ zM!BXuAXN78%0~1nDo9tU;Fl0A1KX>A$D zfobdgO(GEdDlzQ}x0gNBKZ$gGgj!n3y*6g+o(?(Ni;*fUva}~24q4UPf4kC z%6aPLx(o}z#olYmUKD2pz+)I-bIt-jL{rl2lXiv8{*V|_I&sOFzd}9?%vxyJ?9!~5 z1~oW=&SGPY?BHWyuJ_{d7TB}wV1z3d)y=~PlS1=V(ERa<0b!g0VI*^M!Qet3h;`<` zdj_pXZm8gwtN#ZHBf^26TO!Y~fQ%G-gK@!nZXgpPpuAln zxI@P0v-_~)k?-YB;~0?cSu_v(=cLY?LbweqAT0;MOmonQ^hel5GfMRyw=ZxU^)3g@uZ6m z-z|eo)mrCrmx3`XFIWel0q<}~?KoTl8o{b+PuP3tfOoh%9QFJxf4d;`SapAhtP;R1 zP~j3le^);zC|t*#(5Y5q8&MciW^ZXcYG!DY#x(=j?Fl>S}QYKR24H?W%%O-?L1nCoHbna z2GSfN`{?92%@Z;K^<5?`Bjk=wu&Iy;0rj0+HFKi=&m#~e6jpejrL8_ZhQa(rz+XA% zYULzYupSX16Q#XTe&u7L#E3l%tNqp}!B0eaaFDBWtR+^kwPyO_0^)%J0x^Ekpc~Vr z?Rm9s#wFGk8$57GU`Apl7*s}a1%5K8nBmk8W&|0sV9iRg<{sr)q@r~WB*Fu8-KHA> z-(6Bk@JcYkMevydg?u)W#DTjDHZ?eMcKzL zZKry0roq!v1gogdiYGYW@|^{EP5(@pK3q?!Rjqm>6r!PZ!n(f&Gy+3TW@zu)N26l5 z0u9R@R4`8G3`1)j%Xc&9NeQ`YmL*#xL>@+_42_Ppb23-Dv@IyUD;9hnyhgJLVVJQ9 zUZ(-9_2o{DdqV75B|ruuf3>zfEU8c!FhHzmP#7?35amB04d}dPA7f4-fIcwLodVis z5?#Cl$_K)?S;vmvvf*P2&{6UVwX1zKq?`iUUTe;8f5T@*_I0DlSvVA})dizK-;=5a z1KsL9?9`>NwKK=58yOOPz7@0ZPPh`NK!>7A6 zg7>cw>3?VPI6)`n-^&BvzzLZT@;?48@FkFF)zzhVnSUxi8k=7&+dE*K&)a2|FSc<7%?ghZ z^eMnNISWUzmK}V<0!{03Df*pRYxNT5% zGCDd%boQwz60X=A;BzNI$;J>KG@A`}Xw$Q5RFW4*EmDf+Qg!1Zo+Eq6H1NADqnSe< zH*`qin(Mk%cI|P7^K5MpbTQ(~Jzs>mO8mvqmcJwhti$P?36mrx$&Wqs9Th}V(jZ7u zw6Q)glJ%3d>toGKo3b<;w|^@Mg+-|XIkLtAl+_&_)ox>h9r5|JH5Bw*r9Cn4x1OL# zm?o{NTGD1AWU5-yb`tVAV#XNTrr@gz*HW+dIkM8eB}45}D&%r}Ir{!ZVPy-!Cg?So z9Reh;Jc`b(QbZlq4Ws}xhc=@R#OR!GlDdz1cR%gY0$T5s@Vw(1@7e+?2x{bE3B#J; zaKkl+_XfPRrEJ93%!e5W%(% z6`GNFt|w^UJq(EccGhZEh-bt1e{rJyhfp$Ue)!B0RYIO6LDgL&SG!9kUaTu^vQ;t)ftk{{E9fnZr{;!72a;&(dd6{qM)4L&|gT#W(R{X zOiNBo&6KgF&$IB%b%TWU_3F}D5G#5t`er;U3n02?5Gykvx@P~{d|bg6&V8K|FH4wZ zvY>RJ9lvRH$bUBRG@xKBAKICm_h@%XH7_KMf1&@SWXtObHdDKzp%(}0NC{+@6KVSe zUhMP}C^R)Zck>o>{!6U^>gpOaq74XV6AI2Are&*t?}IwTZ;YQ1y!-@vJk8Xo8wZzk zZ#KujDtI@Br(ic_x&XM7Xq-qOyCX;Vz_8k@H=V!)VYF*w|i_cMUMS-U003 z+Xq9XZ;}02WG+(y>dRoTbR-J9F&|^oxOBi<ix|O7=bIi=J=mgC z%HqQ6Ztg#(cDo+Ne}}Ic$5pbCLHa~TQbA_pe#3&f9a8BswB(;-THV}7-kyjH722un z2JcYJ1BZdQa#F)JBk~1};}Jg5?E`~>lw@VazgfnV3%S6j>2QDwwS&6r2lU z!1HV(1a7u^OsHso2EQg8t1+O&$D|3_?GP zY&c*_53W-{I)I!@8lPwtC+$Q~&Pmg+qMsrpnyH2`12^tqWCsEw^yOoKy?%RnD3}45AZfVN|O<-!BlO zS|kpwR^MvQ5{`=l!*)qp1P>3M^MpKiXOhl*K^g=rFj(S`mq9aEKJyb6WGV411HR#+ zN4l52Uh(^YxxaJ*Rsey|G?wEx{{0`}1j9SzBK9DDEo`zmHG%(Hvubz^2q3mKj1u{e z>`OGihOGVv8|EC{U4yjHku8C@O1_O9gSlv~98BS(aBO|;p(g5S-MKj_?7 zB-)hbi_7}{Yo@2-!-1u4wl7<~QH9VC;ZqNF1~12TIDWY~&;Av%^K9wpGxY?hY_Z$U)=77WS`d+=$xYZ`&5Fs+s zz)9ZWWo0@Rvl^vHjK9U(#Ksd1QdT}JG3c;g3vCcC7Xdb5smw18j*7fVLZ40WZiasn z4Vu={C38$;{f74!1Omoe)3i&m0g$!mE{Qa)KdDPmQJpuE4Ga`h*0;s|uc$%h28k?QvV7jU+kp`;AmV8U0TKkqMJ2 zIv3rPYJ=&jkulP?^axm=;i^$WF62w)i$S(g2l=ak{wcj1$vT{0g+l~5)2J>rC{m5b z*T$~L@y(hee30gj$KCb8ZJ1Y$#@ezyAF0fy_6=Q1(QXZYh*L++mmCo`W@c*vgv@dt zg$2^g`34XOv)3_)zNG)OS@36w5aXQpKxH&EIwd#8Lo4)h>|pN`|3D`ANzq)9DQOMk zqQ03cH$rU#pQ%D{KUDp13a#B})`493%&lWLpC6K65m~YRbWM?)kc0Tn5tSgKlvCtF z6{zx1EP5Qd@`b_OR4yX)P2;JquyT|lC;7_ds#O8|-vr`V2tT#e&zCmWoO2I#yKG-= ziZzMyUwW}~SbvoTjPT4z4JLq)2Dpi!^???>0>C~0$nh_QYTf-7e#ZIJDnxJ=dlYYbJV)X*AX{iXT>>*+NR=%h#+;1OyMgO*a(Gjz5WPtOqjxRW^9cYy zf);*{0Bb_mRH6}^)X)>CLZa4nzAhEPLt0PK=lZW#Yrkw9THVIAuz*MxXxR&>$Bh$i z9D`e2T0IYjkbua5lT=dYZ~Fj(?xChy9Lw0Af(%~dKOlGo(pUNAO0!F`L+>rMEk}Bz zrN9Z{$6%ED?2Z~A2o)1dQX4gL-ZzSNrM-_0;54h>0n33RTNJU<>69LR?`4$wped9j zrMqn4COCQbK%t%v{(e%W`2{Ve;*7QzGu}>1zT8d&HgsGIl4O}0r)vwV+d}(3`o|65Gzz*h z1H&@|q`q9gMp+Ezl@54b-tXQ~@B)&v6W}+tDs6SZyxD1%M7QM7GVU z8sSE3VbryO4mE_Dx14X?`cI9vV5nMCI8J-wnCg~k8!#^A?UE$Rq7@dGA^aA8xpgrHQ5}HVKXGK zs`N8j?K8%zSjV1mNLy#izgbE&t^J{Y@m3yUJd3gW9(ItA3hFFVt*qJ8Yjy18Wg`vv z5f%H#zkAa`xr%E$l#1M@u=O$1D8;wxZR_sRZYjM0{EZ`c>gL(0BPOHu!VLg(lCvk< zMgWoHxKa`J&U=mCZsp=t4y!mFdEK!Is=#sB=Gn;wFm~Pq9~NOkOaOg(S3<0S(s1-3 znRBi1?a~I~onMjkz{4#lCSpT8vF7)$iX)x{9y)`0WR1(lBIKZH@I1tZ9+p4>a_2!N zM4dwT&?S0|#?wUhfL4Xv?TI(hL7QF=j8VjJOtb9U6K0RHkuLgbJJFE)-vhn*RPYm&cQf!SKa8o={_hVzG(dlg%(F&4PaSw`0 zOsqp8kkkW;D7oAXTX>#UVL@CM_d_ZbzqU~31eaE!Lb%QpCHE{?rcvcOj58eJOam5b z7Qy=^VCd0~Fojwrj?rmSaM3p`&X)l2DIdD+k!`xrIa-kVJ4|Q~Eb!4_kX}y_{o2ty z+oC#RBRsAhLUEk2Sdk}z3Ra;!>tlr+OxV*neb9)UX7HZphjhYD1rdwd=1vnUWHDo; zsugBBP18IS*E$0mcXI$tY}SJI0Xp2B&=IPvGa;@#sL_xMm1~6-*xD12ofd*TA&KIM zv4MG=!*58F{T-sSaF8+?h48}T8F?%-vs>3tN-hNXJUUjRK`_dq)3RkC)yP?Ol&uX`fWjLzGSwr zJ`xjih*bzj#D@>hAU@*o9D5HO(g2Zh>@e}??a=UhclU=r(7yToQRjL!@?`PBSofwd zP>^l5a7Un3a8t3u|LggD_oHqHW78+lhc;ns*{!KIAW-0w)f`T8Xy1+HZOVxY&p`g~ zPh?5;xs#vxkNnR!3tpmRNp(M5#Lp#w{zt)HlOquO8!?kS%kt+(@aT52V({XP>Gk@p zp^oEvuYDJypFeH$dapeaV2v=n*WO0k?Zf^`|GIRYP{t}Fd_=}71)gbBTyK(lYpD+L7+GoILCy*RG@Y9P-Kw*s zYJDmgYvwO|R5^rRXm~9#8#~`s;S=7wnuu|g^m?yTiHI{30m8_|eW5@A)z+`$V}vXb z*L{rExm@E|;e8BU1B&)zQ|mOLMX#By17Y?{GeZgcRuwt)55@)s_)jD2?>+bd%t&|f zR>bfEZuZ<%xY?Ww!b*tP`}k*)g1vTph4HQ?-c}(bhut)DMgoWVHMQy-y3wtotA^Sf zmwtel$TT{uHu*>Cvgfe0iyh}bnb?oV36$Ksl#9S2y^^l@D%nfytZdh-w``ty6TimPuy~+4`D+U)4zk`|YB5MESEEV#xRN{ZO$8p|ew~ zL=Zc)ai{HL^O0Q92s~V9O&xn*YpqKi8T5tLzdCt~@nf*`G2Ir*f4Mt%Tlu9-u>bNw zY123rFh=?5J1@}w@dWhkpi$4%|L$$*p!@g3efb;cO_E(!$*j57lf8w^U2(yprH}@V zz0<^?J~knd%HniBT_5=24xq_=W3`QN=GjvFvO9PS-uf5m&`rC3z9XNuA9jm$k)2+# z7290Uu}w{1_LHxsuRY|#?J0qik9p#~VNOMlKHPO6_H*R+2T|%mUMnI$7gkyQFGYb_ z$Wc6;LQtO9^s-yUWzPHgQscR@Ehc(@mp3Ik`A47na^HV85f??J zMQsGZO`zTZz<>46CjPZxO)86f=*eDyNLJ?|rxC61fZ% znfKdO|EQy<0e~42K93~0xkF?vZ`v5%(BKaO4-oy<8vb?lf-Cmmqu*LxF5pp9)vr&h zlTm}?xvXeDOZuVl23j4Cqb70-D6Dq4+@>&B{Z+Ni zt-%hd+DtVf|8xLh6U<`V#{XIQk{g;=)fpP*SVC=NO7k|Z5oxNvWZP;COgQELPLS?xd*s%6Xp0$Wwgza;HA3TAtTlXbs*zgfb67_;J{Th zPKD05uMrpYi7vY=q6VX9-q0Eb|M3PWm^}|nV7K0KUjy_Txj9?Oq+Pu5{BZl?X*R@g ze(&)7(bH{9sPcXhR2QTTnjC#@pH(G~{3UsJ9m`b__VkS{Z~XUr?$%qY3>$luovY`U zENs)A@|dLCZLwWbh}nGM#$b%!h6g)xm^m@@v;MN(q`EoqUf#=(+)8f`jSEd{I=xT0 z%H@%}O?{+2bqc#OkDN+fpJskaG0RFPeyo=Npvr*eVIRYWN`qCQp%N#kMSV^2JKD&A zAeYl(!JwfuZfYsL)7DTAmHV_YY?BG~+!|aQmp^NrgTQwFq(f93>d-~&hDkP+{Nk-~ z%B_Apesq8aV7<{JysQTa{oJL$4?a~{l= z_&rbl@+Jbj8B2OY0r1?Ey6WJfWdCC*DLvmPjp2#IFQ#?EGaCE;n+$PSD9Rh^U$&F} z-PPR~r4-ZqRSP{bTWQs|kUsYyRa>TMDUOi{6Zc$>ax>4DCaY~WE?qwC$}hOF0>Zf}Yaq09w|BJ#O`2ZAA;^$`GJnMc$`FBC zwJttCr(;dIQ%IoVjo^u|Z+x@*V+J&vtb1aLX8Fb?iNT`)US2Lz+>@^`LYaE?_b(Ht zXWuFlhw{a*%p%z5bpwdcVo&0(YUK$Q-?rGsfSERutezCJHs68H*a*-~VAFFuam}WF zq>%^qrAdB068Nh@_UQovy;3rNy5>mRq+kV2{B(b1K0_TQZyH-l3Hl8Fd%E-NP(Z^} zMu8p7%?N|Oj|%`xkC6ICHLzrAbmNi)fV zXi4E4Gx?@gu98d2Xd-|fuU<=l_H(QU%AYbmhz9fag`dA*`uCb}jKMF{XEzkqQKffx zMMEEPq|Uz~!w>V9ZI3YWobXHb=jhruRso6L+Zn^7O3e?4?z%qV^0(H*Ub)=DR&cDt zXUbQl6#N&^C6obOP9!yb(3f>1z?r7hS^4-j{GEi-6u8mIjp)gox3wUnEqf74PhrY07y3fnOG#7wON!L(E#G5Ickhf3~Ws(_R{9CV84m+Kp$a?GXzx$jJ|I; z5%~Py@vT+bQ0#0GLGFW%nV_D1Ih(`Otx_UaH2fHQ$D?Dqf#H!6wL~G9+T4}!U!(E z4nxdG_ULz1`}SLKorYID-l<9+@2j zSEUz)+IMgso)sPXE!3pO@z1>C`Y8=`PWzm0IQoKiEfIxpcJA?@@DY5>ZH3M2*D zh##r3be;D{5Rp#`+kg0CtJ*plDbz*!HO>cj{iIH>9ixJT&U(J!Pb$M^HVs(?%^%ax z2ocNk=e_7h6J^TXcD^It2i;eWd87*Hcv3a%Y*9q!s}=qGUZKwL|m#cNkV`P#hV zF_oJr-(#%tEM+_COXe#+>P-DWglNagOtV{4y1RxU|6on$Z_}5yzPo30dYZmwCw<`^ zAD&QuNSICIgFXDG6YVw&>ZsPy!lJIJq}C&x*!(1g&sa4#WB=ldEA}HkzRLJX&M%Vw z2-|A(mF%Uk2Fz}R=ZGF8(fUaepOxQgPbCqZ^zG{n=8U4DMBY+KWwySqVKfm+9FU7AOP^6e@oF&mep2HPS;P)4XJY9vw^Nr|5(sPnITICK@6 zZFX9VOtgj0lTYcjU!;iAuxPtX5Tj?;v>zqK#C&orL&RgLC>z5VPAUNLzcD{GbM>r# z&LnZf{`StXs?eu)712NxR5`i2FFuKWlLPoMZ zLZAAhcnCI}ki?lYuhFaW6~Z6~-D{)P^(t_EvK+7~VCx?ec;lAuVF=qNAdA2;7~mSz zX?hY8-)z81^QCjr7xXV{sMhPw7+LamY1M02ed2T__8nuka8+X7!L(4{vVxaByk*To5XMZKRVI<=L)mQpZ?F?>3!9$-QLnjX&Z59#~JdQeX#G`Pm&DPTx zqQMjh++AKS`g=a14jqVzNwh&inFapQRq5-QM)j}16Of@B`tD!Ebt#@)zd7w{T8O)l z@x)Kf4C*8+fBkK=EhB3vK+#;%x=xVFjVG%KQn6R58v|8~EY&lFlY zn^!o*0mhgR4$rWidZ6(=6IMl$7UYPuWX2ry!r2I|no~`Ry1=X{nf!&nf===vKUjD<0nUW6m1JzzstMvbk6Rjrm zkIYxp(4~`F$p9h#IEtOz_8jVvp zv~O(1w^6Wa;Fp0yxIf#72BN1D{*YwqP$p|2Ydy?aklfshdt7t;XqJgnJ*Ih%9mM4<`I0%9xmIPehxpO=F035Wk z)0&!vDHThG=BWHg=l@~vA9_Vm0Igkf+O}=mwr$(Cxu$K~wr$(CZO>Jyy-%GlsY>d0 zZ*q5MbjELZ^6K)C`qgBf{$cx+^-O+M@$nC!2?1USPUzw<}CG+TxqY zP@1(rtbb_IP1&MFQ0v%H3Xx5aZSrc6%Q>=MG39=+#2lvcBr~g%Z$4tgovhqg2}7f- zu$wX`5cysj;TH~(dP(Vx;d{cQDMqH)Lu(zYOytU8{G2dv3-gkPArkbMAA+YKP5T!o ze#&Aw`@Bc`LFq0u{_M`p-gMbcg!4UBmhWELm844vjSQ#?iW*EGWdgjuOrm@Q18yHx zXyD3)I^YCudecs1CYTU_YP(TQi#V?&U(`Qz0 z=Zbf)%DM{?EDWfRT-I-4f{ePys8rruiZ1Lc4g1l+nl!j}uFfz5hSIkCvXyP7!=3}o z^@-s4$1n&397;0ktsti04uE)nk{14u8jabW-ay!i+KaV^m2Rq*f}MtcbzaO8+g;(C zs1EOcs?ixp|YpBZHhQxUT^)u6@mAD=Rkxtdf>%TA27h+$HwAYI?=yn*4Q=%S$wkYt zxU!W?w|14o$JO<3~GM zMcn>B?ZXOw_{MGd3g++YSrRV5S07k8QF5I*MCA>cjSG{lN-igAFpigh+J~=A3>e&8 zZFgOM%D&fDw+6BAaGWUolba~MvZ27F-tt=nMyzUr9{2Tfg+cfEhB?4N&jW*-n!u3e zKfZBhH&tk1U$KPbfSI1R&Zx2B)|E2Pat9vhq?oTSA4YGBVk`vEkog z8BGv_byoCf5OeUb;fw;)KidKA{UsE51D;EPN-*KlI+1{kBPBFCeOcP5%nm* zhgfMw0zPICPb`3@Qd=1kMg9K=Cu&^%ixZ{)2PbmGag_2TQwn0}e#tB1$zb`~ubNCg zGK{r~Llha?{tr&9x*u#-A_rPz9EaJp=Pbl6l|pANOe|lZ?U};eCy@Jiow~(mg7h~?s2WW zG0n~UU#aL%1;vzZ*Xc!~EelqtEAzIERFKwzKvmpKuDFXKGi~Fk?LAP+uIo>JU;2VS zIm_9Da)w_|o^~zjJXh&{h(%$i+l4B$^!tXM<3;Iu%G95+oahO^2JSRmN2-rN+InbY zY)gX9BLjBB9qxX#1GLw57jCA>Yac|Zk+2)Z5yDfCJyz_l>gu)-aBkE@;=goy3!;{0 zG!Mq$N$uvePI3cD@B#V!ngiXaVyes9DJLSH|6*0Z+frePr;4g!mbG_miL=0OBTKVdEShB9UGTs9==liMlwTEpQQutY>ZQELr z*1UU2XZ7J~^ot~i8Y(j;G4vkS8Y)A#n9lgBJ5k=qO0^YjC2EDny;+i0xa_Uk?YtJ> zc~CEY%9C3_OXDGH7!Ry?+b{0jK9$l!n{yJt7R0)LnbYSs&4pK4(ZTa0p>@S0NqbgQ znYUBg>qzp{^D_}K$`NvsO%3^4ft4Md7e>Vq(afdW;Rz>B(kx1Jp0iK*WafV%UK1B1 zHfHufG|8wt@hJ$hS0Z<^ceOLPQLRs9<^D^#Z)%n@ssd`>fgIX9#z$dhiF4w2{GfcG zc^`AM`=aq66w_b9&&&qH>z`$c9?K(L<>=+mS}+cJkkR_^ct5(0lZ@xkxeAo*mqbG= zRQ62q>O*GEOduDz?9StThf*JwoB@?nVV8|yYs&9#uUTXJ!>%3b3CMy^bHZe>HzzUy zk(uwi@hbdOj$+PLx3&moN3% zZI~1-ih!x5G}7spAtvX#z+un;kM^75Om!Yy_Eq6M%2dK5sN5R$gccoohV8s5lE|?u z)syH@Na@8LY${t6>60TB6NS6zEYOIXUF`zehJkUw<+u?@Ep$N?9A7{e6~G~f!Nnf8 zf`nNOAn=mcu<$gVhH+mDki-vb_}tB{oInF$upb*>g;WRrOz=cVu--BQ%;v;PQEXfZ zOoXKw0(j@c@;I#3%rJlJ%h`5FK<@cP23Qio5=xpHQ04M$iiL?SMPrmFJ#ABur!I?Q zChB`((SnE`s-XoZSd=lya%RlH4#)G(VkpPV^g6@Q#s75sE0KSJ*xa$x;gKlLnY?&m;yYX{BS=?Cykv?3s*v+C3C5JsHp?J+ zgyc7qIrY;n+iOI~(FUNyC|<#F6F}1l;g$kQh>l^{f4QcY3?p%`)G_x6!5|HzF`5B_ z4iSbaN_i&q3QBn1qyk1AtbjI}Fwb=%CPhaI#xb?CDVH1ua{M$$tmHU8Wfvft&{4Km zZJo4=g|3`Qa6Iw{p&oY$Oqj_0z&zrJ2p>$i1G9h|hz%1-cjZBWu<;@pp-z=3D}EzQ zYxJoE{zv*7%pBy;K#9eO0t`(x2r!e&>B#gIIQ#O}kVwOJ(ZL#WQor$C#$>s%ey8Cz z|0ms@@_lxh?$5*+>dP}-p51a$kx#x--RUuNw$}?;8rF@StQ~0c6mv(pMVqk`=|XK^ z|6_r!Lm;bg-(Vtih@UvAI`|I~6baMUZz5d#c(1NeFYBin0z%+V0d0Sq6 zwO9rRa>g&`izd_Hct$vsi4aNAc@k|O#UNS=GXA7#6rA>xEAIb5MOB0gjt*7k4syl+ zg^K2?%4u6cVO^hWXlxPeWw6W22l&qulU3e%*L7+NwprwJekih}d!Zq1K1i4l-R-_v z;ZEo$*b8nJRjS}EAl|R^1Yc|T{2u&pGo9t|qn&an^$Mf!kjkDzx^S?XI#im+k_gl> z^d4E28ukb08cfzGbtkQ2iU!-t%GD-wK@;?i&;!S6ZcxdRo;2#NZ_XBScoWAV$&CAP zWlU(AR_`j2H2psNH{8aR&Ph1 zYhh-zWlLegO?G8@QB{OjJO1LyRf>+RhClKO7BGpfuEm#}@4=RiFPc9FioaV07hRqW z{5JtUS3Q&&Ghw3It|R{z5L;EZzne@-|16*VQ$Tc6uC9`WoNo1G&S}+EKJ0!ft&yXy z8Sl3A6>jvl$~Jk>vXi%%)WXSH5jgvL6>k7qx|GDo!6P4NCUB6 z^zaCz=A{Y+4rmDzgE%X>i<~9G;xHL^PxhW0y=b6jReLjwR3MImW}-AaxOrF>6n@A zKt|o06vbIi91EUHolBp|y24cQhvYBY4*E`2ST`7w6OB4pYzx|Gw5mnWS|ybpSDhtA zl>#lxq%@N;71bmG0J-oP5|kv3{^uVm*G`kT4*IOlZFgeQ#w;uh$-e-bynQ{%H&MF% zOd~V~rmu#k37jKUn<;{(?<7X4C}X9mfI4=f1ce0+=(`@CrDBt!xc^|ql~C0G#fmPQ zsAG3IWI_?TMWC235AVcVuD=V_9Jhpx4xR4vJ zKxmL*us2d1)Lw(MnV0xZ1EiVhQV3?8{Fp8FhE`Fnh#$9%NFwRhN5Jhxj8> zV7y9=?sE25jnseJWP0z?H4=KP4%^-R^tP9{a|k6cpI8-(>$RDmfrbn7$6w^TdkLU4 zeWH`0&~b#S*DZJI}h3 ziC-CL9`)(U!?ZrJXu6r~a#i2LNGjF|`hv&PMR(=)9nz)V;>;8^wmCYyt2E*O2e;#Z z>JWGAYJ4qAFu`FCf6YOwK1e=$GSs9P*jqVX( z?U`jLEEPzUd%40)lrpLLnqVaeNeg$~;3kTj$4^C%`O|p{k1UJ8XMet797qCl@pA!V z6&Hl;mB97#3+DjH%g>nwbgcK^H9+MQ7t90H%g>qntyNsiUK;?-Xw;rD4I(1>fPIvr zUWNS)fohivZTnlanqf5x3eS2Ql!Gv%P<_ETfN&Gb-7^9#MvX$o*!?vUj8#54k3lOx zIFChUnk0N{68584h+zkW2ohgm!$6>^QWF-+pfOrtEUdBtv0CI7>@WOI$i#rY{)$NR zD$|N9$A<%Ef@3J?)m#XWIb$grt9dwfIxNRCms=QHASjzsC_rDBPA#Cc%T&NnZz9aY ztBz8R)4br}QQoH^(}VAFC7A!K6>Avde7`gTkU?Y)85~+l!I109TXcDpb*xd2fdK0e z;xSO(D@ZGGju#NNfn>Yk9>V_C76=5Sh6>UO2c()pw!i>tX(6=00Di_v`im*w^eRlv z7doQgfOP-qCz%bx;e3hjr$mxJE#sg_0MRSJnRyhW6%H`l66lUdbEW)zy6zE;g;Idz zD}~M`wEbVKID;NAHa!PT9$8cu~NfQ)~b!S8*@rph(sV2T(bdQdKO$M3MxK>=;QM|ZT+vGO>2 zmYAE{Zc?;EMBuJxJhRB6ZpN{74oNLCwHx(q1J_a`;n95V=l)ye$rh3X3SK#Y^-lru zB8^)()u9nVKsnW+(ZJS1i~rtaKzo!bcMiZJOQrvJgL7}{?n0yhm{gKiIHe-=Q6 z4BdDNA>Rptu{D~5{arCP#~L%&xZsbyi8L(c*PEP0FEgMs2k0gpLtl8ir?8&q$1r6_d1WgJA*t@lxvm25z(DF~Wuz-WXNC6@+`550ra z(JlrWZJ^%e+#CvQfY(R;c@}{`1k+S04%$p$h8_dmKLNz3R=NmuD1{wcsC^MYzR}I@ zAi4^>-c!G9FF!32PoIASh<3Z3QCiT)^qKzz5YH?uuNuIjUt-7;ivX}hVvi|2m)|S| zVsD8kzxiDit(~p|6Hp=Dj(HhazQ#wmouHa^(1)sG@HqIhjzECsPAKFyp;xX7{^N!J z@xuRj;eWjFKVJABFZ_=e{>Kad_#ZF)j~D*O3;*MV z|2N=;xc}F@F!q0VVP>apkK8}i!wjbXsUDjCTRr?cw6NmBgSFtl)Yk_ycC;{Zq7OFo z*L5Y;zpRxys}JUH*c8%q)8D`Nk8c-C1}{Ds->*Iz>RE30TlT?wc#}77_glg%EMaE% z+FL2QJy_ppK9_D|@-KcZyfsyT7jStJYyVUa?}E>U@;Pt7yY9w>w|;(o-rp~l0?M)Y znL`p^_Ak!zy(_?~hV0aD*Mc7}?zMi}1hrLzm)*NV{(jm0eDz0xD`vy{(2x87T{nN! z&y{;|<2B&D>q`vc_v1;ex;t@ZJ?|< z^MdoGDyUyBzSe7(EZ{(c4>Pj;kjLjov0Hd_0+-3@aEQ{fn5i$xcZi~;PttyDV3EqV z;Ly-$rAYHR*fQV#L)JghPUNsd}$rvaIQI7 z^kcQTCRw=OFLKZN#68NN{_@9cYasW<{@i`}mm==|>j$}I&9v_b`M1X+Z|lbkz@NQJ zJzf8&o4&2){ioB)Kj6D4la!)yW3>xwGoh2*l5tZWH8N3$v2IOtOdO@@@qDs2z|&); z3d6nG4*c0$kd|w>J-YSfm;1e^dd*^cHf8T36RrR0NLPvVUtg##ebIkSzH*9WP*&yM zO^g6s0}o9*vZC~d^YQ)8qi<*GR8}J>C+kNpo>!PmVsN}4L?TpORo1<;wjxgsHwz)8 zxcyl58)>ryLrX~Zj23EXVv@1ne^1Q+jAWM*EOk_Q$&w*3F$g*b1> zBwCe9;9yni>??R~*ksOhg&s|qTx<#M|YHHUVG&FBt z78$L!kzUSMv#7leNspvX{h~YL2gp`^FiCQgq)xO&Od=_Y$ir=Uy(~GHtp5FD^wC@O zs;jM{a?!(g9ff;w3Byp;w$i(;$`u400QjdNTy*1(A-wdZ(@I^|_gX{Qze}x|N|W`r zGH;Sj{I%v0Tn(7DJYZLqUwvn_OLnqUB+7Ylxz3clbfUQ6Cu@$zR2z1GnxwU!d8~`R zkV6;XsFF|`jE{dk23m6Vn?KDj8C-7st(D}15Mn6&Gt``&l4K*Q2!}-8B!SP_=a0R_ z;-k2mhA;iv71_G_4v5xlN|)D{^7F$VJC_f6vyr*Zx&0-5@R#26Cd}`br7?K_s?6XD z&E&&UFGt`OfeeN%Jiq0y8Nu1*ZNkB}1(bTm6d#kSp$4kUmd*NrxRYK#Zsn^+Z$eO* zy1#Z+k{Wk?_EUN1p^|m7&gXDdLuw=-Szdj$yT$IQjY&-qABW!J%6}L^7`nPcTlk4j z$}h(oT}y+kDU8{~!&$32vtw^CFLpWu3s!m9+dD4&yXa5+^dT|RO*q*g5t-I+=bHs` z57tQ2M)tGPoptMfjZ6fkMwFSa#66fmqDz?B^=M|7|H&S$tM-Vj%wfMmtTpP#^c~DdgUq8ZJ}m6D@`Slgo_KdA8Jz+&5{sa*AB}t zpIT*Pz56Y@R0mbqSpR+XtUOkDhUoQ0Bu}c}qyfl&`pui@Oj8$~Eof~Nty8ed>6W{B zsizffB$Eo0oLqUURAy2cN?$9k<+Kr0qXETA3q&llA6=O#>r&o;O<*+A=uy+AK`ycUBTR$rbSMsN*og2 z!i+RQRZlWE`L>=g+;9VZNL^6-f+J6>x?@=hu&Z3DiY2Rf>~UIq!^;_1v0iB1kydV@ zXXv<+L6YgZZLx_CVl`PLuk*WJX<63n19Ajb#LaYFS-xJxVOp24L)aVhvl5;7D4=c= z9V+ot(szH`lz?2ld_619J6I0}=3<2nILwyIllqh@d9!{On6GQTn|KhJFH4b13xlt{ zj=cB=AW-3C=-BHEzHZqL0fJR#8#ZaBOx+|;-?ldgH#ZsT&bb%9Xp!pEhne-GSDl=3 z>HLf2GQhVr6~OHy0$e^FV~NFRA74NWF*dNW);(kPxw!t0EH>b9|%BsDXm-MQ!0&i!dzr-OSkN!X5we@OwC_v zf^Cf~CAavl*y4MHI%OX6Hyyp;t{72a=kTYuY^+HWgIl6O+GRRd&S)4zs_*tfx(ijXbN{`j=+()8r&urj}Z_4S)LH zrLN=9xZ`1&l!7APXvjP|N97W_nJ?iv*sgf@L{V>(DaGpqx|!ri=O1LS*xdq;BJn9v zNB*UC{0FtZJVb8C^O9HSro_Y#K` ztn*bZ_DXmf8?Yj52D?2Q4SzFDwF}lL*ZUo$aEF_Jcykdm`EhUY^0QlfAAD z^yHb!!LOZ#d>FNS^HXbKLc*CBzHMB~vs|4VUz_6%7U zZlGL;yu>DtuCphSC-b;F{TSccoN4k3b~^I*?H!*#zbn~X3wV9SV|Y#zsCi=Xhh57B3|Y2#CwfW zJDff#jlQFhsFQ&*-mgZq?wNLoKjVgCBC~N}a+n#o8;-x6xLg2%sW{(ms3hN-l|@gs z;bxbm*l=U$G|9M9({YjzC7Ytk%tsWaqLMj~+JMX_=P&g`3wz7V z!(22|r z>q=otGeLk>pTvnbYmpAVrdP>+#9-z(ec-n`p1uaUo>%c)(uwH{bApBNxpw})eJ zpVp~&T)h%2(VyBzk7uORl8dcuyFGDW@yD%6vt7Z7%^BBEnBL6h{-=D{b2dq?Q=L8F zZ+Z;${fFi`nH*<Ht$EMwJrqn zSI2L0`$u`i;JtcgcQb@+M!Lg)bs5$quEFv$er?@Kx$nW%%fDF~bRKs$0aCQz#-nNx03*U!^s`6nZR@DxoWmCc*RE0{}$rq1+%lPE0sKAPXbBBM! zhtaf~mO8}!M4aXGPPU$UrtrKLQbZSHr}s3cL>T8u_%$y9Sg|(FGs#?6n zwkIhn1(MPRd=ANfbA$cQ?)QZ6?-1YLFphy4F#9SQoWe7hI zvZ&MHSqHfwr+S7eRnJlYb1fzK=wF_oC&Ng>lTUipPy_-OwiRFv%d4VkyHY_60Xil4 zEuj`vO~KId3x_&4ok7)d)77>jD=w!*49*FV(N8W*cBv)q>Zz}Ip#cjt+-S5{=Bf8s zQs&ja;@7CJ+7r6X^oxIqdf$2kh95DK>ZRdgZl5(w^oiRX z%JZ=N#*svje4+)8$Kr2C6lW(~hImjq{B`5IE;Vr$uTtoFh)@Z{7>S#t7Ug}zyr>Sg zA4^C%ZQ7bz2+I+WDU;p=EI60;jLOJGvWE>Z`qwjjg%ZIY^Vi80+=H$$=E;k9ZMfQnp_B4pMpS?_s_2kP;A>u2BVPl3tv(4{{}^W5tvW5JfTRwhO}>14gMbqfNlR zoVqm4Uz!Tv)|KHbD4NDq=K<2UdMR_+11fV;iGl?q28x92q-r%sl@He{E#=PZ7m~#- zmqy+w#`!oEXxl;>I?TEwZ6zDOBAC(W6|zvN<=2E`YL;VVedsdAk1%5SIAmMti)WCJ)4({*O zjs8nlvRSK#Ldzt2J+>%-mQ`ZCLxN(kjivp~LtGIzE zQ(vY}w5dz3!R^;gkNRhgy6infwSuf=AVv7Bmc zeepRiV zr=G|I{_-klEO#^bI@}K^U&XaF0Q`^fhfd3;PBHOvhXjtkUS^|j#oOE}56NI6_;&M& zoSQh_ znnM4qPcD{+A-68F##u;@C&j)6W@Vi&@CQ)PiA~gkt&Jd-_7;-tAOu^uJaP^|*)Pwy z6MqTZdlPrkImr4GD+g+hgS+^&Yt!Gn9)D{mZ1qRchnLM?6tC~QjlXu%R4cS@?}0>= zs9hw9vP!D29BKp>5vr>iq?U@wy1DCTU3moI(q!@Z)-$~_GQ$;NZqVGpRD5uw1!(Lh-ZRh(K9#+K&n~M9@uA z3lM~ARVXn5t8SI}wQ*;p_W?y;%G}M3JT&d?D+`EGKQ62>E((tm2)vvbV0s89Hkl#& zUOwfE=!DYhOQOfpe6F4MpMf3HRi6>~RG4cKBIi=BsfO)9LhR6AWj9SJBV(VBC+$^U zjT%qL;?1g2t7XDJN^EAUE?e!X6>%qRmp&w%*?5Ya4AefhGX8Uk2Jf5czd5Mbt{wXR zrsN9XMS89;K1OHA{t_l8IhjsBvd5H|w{TbX9%-e!0ajjHzQ7lrXX>NuMD(UVGZwYC zRcVhc)OG?nFa=hDPcS8TQ)!RsM*g;=9igj%X~rA%ccDjHBZjga&5`-+ARag*zCcod zI*{#Y!b}`w( zc|P*fMY6xUoQNDtbIdo$t-kM`ZjQx9g6OgmeQPFR$%d1%oVth;ZS6dm;M^!(MU%uP zGFhZnixrvfEyb#bwN^6hvJAWvZ%p0u2EqdQci5V2Teg~mk6pH4R?-G*8fuEZ=YE}v zdu7_bcwH@yKAoz2Vf5F!o+_L>zEkPx@6)oZTr00*_+CzizaM)m-&Ss6_4P9KcYXbd z+tg3f7R*2BQ|p;xA<1HP#y!x zHp1#gv31wVv|^x!5clc%SG=CX#UJ$jD^V+)9koO)v%XX1=_llGB*2Et)FlZ2Kxecu zR=ZYYWft~tZFtH1c^Oymz535TUDSMBeCsIgAr%eHe=pO!cfG7Rb&dI^zPlWMqrjsK zml=~7x~J8PYpXs+eZU!ZiqJO7mimOZF$c$`7~eXV;EGH zf&S&r#$NwQwoXL*>JR3T!d>EM8uT=%O*1Iq({HAUgl>p4u4_o|aryB^tG1&+?0_~q z9(wV**L;mu)W2ZG#D8f^;U}=Z#3tB~zBsdRBF?mD6-eiwS&Jid_jp7C5t3~wkl0A` z4AkaEwQfw7OZ}q4F4-~SqVeutxJvgkqaGCmI0Y`=0knRZL4`@^ys&{r&|fG^?|)r* zCzP%m^PNz#%VYAbseF5>ZW~b}=SMRc* zepDvd5cN&Ow0jpb^G)j4%sB8dZVOf&J+2PL7tl%tu1WN}L){1r4o=hAc};))=tZv^A}mRkkq*6(2XI)WQ`(eF{<| zn;?C~2k4aC@jjHzCW9SoQFV@AeF`OGmUA2y!Fg6{+<6gxad0Lu>8acxZq)UP`Hpb; zn=&SwbYqcPBLQW%Fe)5vRM&*MJduq`d&CiCEKQ+`D zbUY=124)N~o)j=)wvyl&NO&;rb*c$66vbUr35DZ&oiw!C2qsARPr!8Iw3oPB4539m zOJ`Mp3vD!ETkH8KSPGJGcghXJIdrIq&%>_hU~+uR4nPp0t4uHB`biTDU3npa&!}JY zaO4G~u#r9HX~h{aKa_9}#)TS)5yNq7}2N3}b z-3V3bQ2(IRJR$mS_DoQ#vv3!0c15Z8^3Ucp3)HZ0>B7};+Ak3#e`xPAW&2!H?CX3TZ%sPU*L&yfc7{5U^|8o97R7wqX6J& zI5?DJV0u0R@-S#fyNHcKIQ29*Xvb)@LOk{~BxuJ-HA4Kv{C>z_G>jR=^!k42pbo~h zLVCmmJZL8iW}$#OnK;V%rbz_Qjs}lnxpow#RX?7Vj$(Pj2wDi%mXBgRbQU8NTLWj2 zK^mJi%Ji}$`mBlz`s}hB`mBm4`0eDPH~PGiANu?yAYJ|nEEj=Kt)?BD>n@I!Pp~b= zU>ba$SP}M++gJ47460uz4BgWW^FgGyL8^GSMe8olo;p7)`_=ox=t#P;$mCg8!GZS= z9mM6$+ob=-wxKgUBC#S0a-M##gfcMVp97t$x2|3WLsrSTsv+r>Wd?wLUD7>}Nc$(N z9UQCs%hkUfTes}0uzDNr4?#ATP^U!zjIl71%Sq9BfuXI$j! z+GKNn^_`3ELzBk*adIGb+kEmW9aE1f+T7WduD~@Q+OPBkU+i~&(0(|Vuv>WJopLbs zOr!6R%BDlQaF9r8U=c(yNJS5*_UdG88eVLvaah;h9b1JGEWaIQ)-{?8A606E={}26 zf#JzxPCd4Ma2Ll3a(Y&nz`rJy28zXWy~&Xv81O-9i7}gG{nsrM^lnb=J1W=hy!Q+m zltVJ@U`nNH6H_w-)+J>m7H67`T;&|-c*{=Vb?0GHX`J4f{#lVCV#LHCI%rYN(4#c z3?DBdY%9x@(h&yCxb8ALhnu55RdUwU5=4EWB2513cwanvcW@UGT60@tR$h+EiQSF3JU(p5oVFSW6m4i^-L%y3V9Bjp_)MUR zS;NH9)pOs$e%_!LJ+x@r)O#1UKgf^ouq)LrjKs&#bs5#g7sk@nozv6RZJa-<@xNRq z=bMZT#Z{K_wPQ6bu+kg3M0^dNe@4cH@mv{&H;oQav-M^>)bxQGVr5-+*o};JbsDy$ zv70`*6cT+@>}MIFDbBriQp8S{H+T!y`ls!6n5KX8Zr#Sq?o9VTSp)|I#&MMo^_H8n z>K=%#qX1$+oxhz>7FJi)#%-~gdJd%O;fzD`dg3La)5!6-8W+RKd3YgAc0oBRESHF7 zybIu#+&|w|TjkFQcv|%a#U_pMutFzlV3kD~SFy3`P>4MX%IxwI_Dv;nXr4SiONtuu zIf;LJT#)I*NGAyWWzbEIdW0aN{%NIIlQ=nq!e%;M!SbCGW0zyHzQa~IA$O7@<&OVwCS`zxAmpM(vix(^J~-%)$gQcChsjUH9ZRT9B8%~=rr&lOzc5N5stRq#7eRi>?O1AUi$ z^?~8g?7ryWL4`7@Oy$-=W9MgBF2zk}`rWz`BDo}O%hl|c+T0pE`tVygy5w-Vwd#-e z$nU@^*L|YkE_a{ZWa)Pw(|fO>f#{v8@?0N0^y_@i1&rXN#%u(YXm(}+HUVOU=$!xM zE9lAnMA&pkJSX~)yO`QqxffpBBZ#;)&VuP^AqR~{X2^Dw3CdiGZNl^so_xl=GfgGs zlbPh}xv57(K;M;5?Krlfs@@_Uo=Bik0nyXp$|IfRZHwt{$%GRQn&5kXp~r5B)jUiT zj_6^q4>1Ja9ZqSMJ*=tM6i{u2ggic3d#Y|HcwW2i`Ex9?ZxroPnI_7#urEFA`IUuQ zi5$F8-;sn44E1M~=^1HT7pz(?VP38*dNfZ2FX3L;Ib#%GPCp?h>`R>aLy&CGU>~zy zTwt^(hWJ1Lig%Yrc2gJwG*O;ccTKpfz*ZqPkT}-5ITejoC9vKz5Iu{-B6K#z{zy7( znB6`s5Z5K~H5990D;ac zz*wcZF{?Qcz5E<+9|Uy=c(?^@HcfUPm8uimBPQ||a5ulud21Qbdr)cpj9=-h3 zcRWHe$+Tca!eQ7dL8Kok{Mu#c2rz1$ip;k&K#w{=p*a-B^f znkbdR2tW)lPhOKsJPX zEWnT8AO>fV)?gkaK(_h*E62QV`%5UCa|?`RCYhN1#VH4ZA2tN~Lswmmt~_6d@dW@Z zzoRKuRPB285gOnf&(#gxaH&x!M3Ouv7*=*Dux`di?JF9e3x( zUOzO+gN#B!FHPkw#(zMr%;jIP+>!YL{n{bYA|=sAN4Ho75{UN}Q917UiqG7l3ayPW zvINu_HldLvSmP?%amJ6VJwr~?E*C3V7kEk!r6Ms^Gpv!%p>|x2fs!ur)RGyM9XS=M zA1esFLFO@Z##0XjjFE*}qc_?AI3~QcL>G@oBP1GC9{Bzp(4IFZGl01Zs0E&er*hj< zP|NkdPgT{ThgOj4p%I{jgwf@q(E{?t0a~Ne0<2&qqUl^2Wnakz)?I?2$poGVoTT8= zq8lQ3gmSWliCXO^fIj0D1kGJ})fJmZ&U`9iqzy-z0?C%QF>#WkEKBmu90EU!YM8UP?Z4HR%xfgL# z5fD0-h|LuDjsZJ9r&mV%HI3R#G=`4Ok*FuK4}{(nr_)Pt7Z`J73;(;R3xp~e}54>nT0wSu#SHB7* z5nEKg+G$~=3is7g&DPNb_`~&%@}%lG*&U$g2`jr#1TeK@>IYS zX+infXt2N%uQuqIZd@k6EWS^NKr-KX$5<)bYgm(ZSsYTvjM-Zw@Uz_NNJ~-{Cf^y+ z-4dX~Wjcp(Ssa7~GvqToptLbCxZ&Q|5#7XQbdhFy0^yq&L`KOrSf~{S0L`z`s8@-W zIKB_h8)TlB1smmJ$gTV9JiRy*tEB}XQ8s2%3+fR)xQA|&^IF$1-}^L?y|v&-Wis9v z{8+r#&nVA6s1;4%a}YWf1xG@Zi~V>VutMMwiUUx9s<<0S&nWVF_8z$X0}W-T-&$s& zhL=6P5ZePf;DZFUjQ^fj08lCHM>x&LyVD0q>yS z6sa05mb(%1kP#+F)&nx|86@=oeQxs?u>z|%w~Z$Ne+@GS30yY&8jLq!hj>v`(wfha zqVA%h%fZFiIvyM&;0L-4(C3gje?FHO2quT{x&B1U>vKi^5n31JCfD@&RB8`%^7&MX zM~4CMs0eUBAcBp!fzLJj38JO*LPuZA9EJx z0XE3AwZ4%Z3h9Dm&phNst&{|$2F>=Pk^yf(crOmv9pdS^gLEuGebk@P%?@0~!sPqo zD2VqnXt`=!s|_52W3|7HPA~NC1!X`RkN%d6e5gO#0(J+(1AkJ}v6zDabf%2+i7Uy#93=m1e z4X@Y?Xq|U}5Qj02mSBLC4mfqs?4OKH+IoP?$^*5O6KHoRG%2bVz{pB@1L zKgai!5kNGGe@)_`w{V|YKYcZvDNoSTvsla3Q5%v*aKw1js0)KO5RB$`0TM zBL&G7)hFGAErDt?I!#f#F7LMJQaJ*i&dOzr@bBla^yFAi#E1Z$0MMAg+-nmTW57=1906n) zFL1czpdo$fG#R0SZCCeqU7Kx}R(=%8rdx}Ey6t@H6hPso!3Zo-SqGTfHrhD_HgzrF zA5&pG?tSdh`+iSHi+halFM(^ioP9+=$}GR}qw59S3^ddoAaBaaLhhwX_GlC!4BDG0 z;6x+nV)^+|3<~?jZ6I)g%)?=@Me~G4=NaKMVIZ9=v~_DFPN04kX&)vq`sx-SrL*Ds z)h3J2(bm|~+Z_1g22i&HT%3MJfZhQ)G=yvRxIlr!Y24`$42wvJX=Z@+S2|%*SQfVxS^5OEf7n%pP@Pb(A`eh>F z1!3P?;_m!BFbB~-@!CVAFF&oDA&5DM0QMBckB))l^QRc;g{=0Nehr$|cv?)3;Km{M zr$1jRHftOW;RHO6MAstZPjHYQc9FCBUB{dNJGvt~UahF(sSZpdBW5=weu~)Y4$MZ< zm}9z#&!~)?^%8XZZ8o!NT7FgR({57Q55sq*G`SpOi4Af$ZR##@{Hdm?)kJ~ESa5%z zaw!C_;9B_`ap$$nbWqpPKj>fk9CqqGAilyVv1*(Mk`dRt zryyNh>}+lYR6e#z9ZrBVE!O}?#l^+x2m3t(%Oc#0GwiQ}_>aUte4~GzpD$nV@Rug1 zD)NF7fBkw%l#6H#T+O3+%017>9j~Q*th2;DE+- zz0x=`H6Zx3f(8K|3r*?vlT39@^~$(H#3zc=+(k=B6%C};N$nATp=&bi#0sU`JWrD- zu-x#e60#q=sM10ieHr+1_xM9x{jt%1H~7LT98bAhQRF55wr_28>p@o=t7KR9{s~BI z@GR4I3VO7TQBYCT3|8gQzt%yM~ z)l;8a#FbU4hipPGSl1N%kawovz4rYJ*d8d_K!qrLFF|-WWKedz?R6g~Ad&AO!o;&7 zus7LrzsISAT>IO_K3?b4Gl(d4#z#~3ju^piO>$ZzsD$dFU?&wwY!N2i2 zJ#aTU?%X+}B?R-_G_JxK2cz%Bwg{2G*4N_rQ(3tiZ`}m+X2c7}yZeP_npe&0;)p%X zA?UL6CfQqK@+BQGe01 zC`YHC0&&KPp+Nn|?Uka#Fg|g5Z%7Izj{dO|E%X*JJ3Cto>?;ACH|5YFcNimeDugac zvBXX3lgNj!92sxdO8Jswk)kqhd9${9ojfO<@ci;#Eo2Z`u40;ne-QFRO8Ri%`)Je7 zn;5~{#??y6$bgCVIn4C^;pd0$WroROVyK>M_LLwIVmEY+^9|GvR$LgpzeNJUAGtK1 z>jxslPRE!o(1J>xE;|m>^idbJteCJ*m_f!>eHvI{I>wI+Wi7G|y?9>&q7M3zr~z?1 zW;bKVT`wWOo~;yr8Lz0@#gUnnTz-Of!78uhblT148g)I zjz2LV!B1ck7(tOq2FB zEi6f4NeOSD)NpwA6|^o{i(`2M@v}ulF;|4tcukFtyh*YjvCIfjB4n8>H+Qh3I|r zvWG2}m3QIaxodTo3S#K*PwZbUOl-(AB4ylH*C)W?$3k+VFM(&e&VMv+ad66p3D%1p z#vHp253P?QYU(@UUoBr!ZkW{LsF)a%hHcxHNE4Zm2#2~%BG2omKw))0w+z>)e&+l= z5K*7<0_nahdK@A=6|f z>S;^k`lhwC7z*miV4zvF;$k7Lr49u7j^H8VONt;%RbL#M`x(SRDG*uzrF$il%u4wZ zS;1a&B6Sj{QwllI5DU<8+%2%Q}0ebK05acPHC3@bn@IkVJxjs&(LE_v{E}~ z%)oMc6S!IGDbL|=lsDVZ8QZN%|Ngz$72MucaNghz>hdnW4D}9n_7qpG_W9%NDZYA2 zlWbwPQA>!CZDChkN2rE%VOLW}sD^D}S6fHOj&)&IM@Ps`2=#$AWreu@rY;n6m*gTy*ZhR{f&fy9kzH`0Sd+yp^6w!gBD*!q=bxfN zZAFBxxfw2>`|{jnf6yALT4I*aEf90$Ct*9#M(F!M6WZmDn;(KnjVC{E8H083mn^M< z&gk^#<=Hi?k%(2Hlx$H0bY1~caM>to=kopmJ!*NEg-Rmgj%0TP9pm4uzxM*kEzH-? zV}gg|A~kcmOKl4OewCY&<~4+*Y_|wvjyq~wI5ROKUg#1xr@)@Gmejt}hxPk(js}80 z)=!YGu)W!s75A}i_Tzpw2ZgRydL4)GgM4BLe>$7g!M|0(uxWyPstMiq-(TD09OrJ+ zm_G}r7kU~AVx~<}U9~_<5H4vsn(;nJZ$2I+CJ#=9rEqvS#CG zt9*7a>3{V*bb;9{~0Rhdri zccutnL_Mi%Dk-d4EMUUEIaqWLupT=UfzwI;J`Tr)^R!#?^&bY81`~Qger*lnLs2=5 z&K7bprl!lDMOm8Dn1SBu0^lLlcHY_h4jKg-5YS}-f2B<)OCrb6`_dOpUO&DV=+jqa z(I<#w{PG}p6Aj!nhiO7*+fy7-v1bkn%R@l0A-mW|9t$zCh7u$UBWY5Be7==a*U&Z2 zYcVcMIb5;Fd~kqoLI@KgELnsVsX<#b*+QLxdvG8MfXNVJZYu4n%T;GMp%+?|-&?s^ zMttMUKlAq`F1=%NNrjskMp1=w4$7?{%Btm!0&frrQLQqMyChE0MO|auV|v3KtVqAX|I^Fu`Z5eiUb;Hn8X40AF$q^ip<%A1HAf1wF6!ke2N{O#|&DUPH%w#uO< z*db$myvytj1eFuoXM%Uccnj8iPXf*I^cblR)WS-2oQ!}_gA%rrF(1hhPqk<2rKaM5 zXgCc7MI3cOITXbr<;B|3f`~&JJ(m!Q$d!uGfO;5A?&c~<>JQN-xi-Gt1i-CCKQ(NKo zg@C^uEIlOm?y;+{7XTXlCvcJ=XeKp|62kcjt5Ml#9HgM}1S1Fiw z>|HCj>LXCqc4jjg+X$GRjEyO{xg1~s`uw0$m2v6jUXY~rINog0+LX~gyXIGQW~1!8 z8sBUhNu}#!+@0b%Z{BxV6&!DeN$KhA<@K|(73&G4<7Re$_r{YIPwx?gk?h9Qor|F7 z-R}D9>HG83>?7;!@%?(y*Qs<{fY9~u>or#7^W*FB^Yr-i)1$}7=li;9Eo;TLL!hUA ze(>_|MFS4aS7QYpyuLJ3e}U7UcXum z)gykLk+T1O>D$F)SKfCmUvhchz4p=lrL_cJjd$Ia|8eV$^)cOdZ=jI#9F$@=JW%$! z|9W%v`3}kf?u#)*kkOZt6Le(7ra`EyJN9X+;LGJ*^EJGqq8dc^5NPr;Jbn}_6bHXo zh!rfP@^M>Dez)C|+0rrTf4=*jgZX~7S*PPin^PfFQLPsB)>t;nx=?hahxEamk%`;B zAfc5UUe_fJ#Cw`%4`EL_4qs@r?j8&CwH)BaD_8vfe!k*3YWPFvMg$+7Hr+gyEebz3 zVaB6b?5#&R*B-?ntCY-$GEtJeH~ykh6@46ZiMg@_@U6`ka0lER8YsJ{1&n=lcuf^! zXD==aC?F&sT9qiW5c9He65EX(d4mPstQXU1-;StUdSYw%!*sgmg zIDZ2Np+*fphw@Fb&=PbhoKbWRuCZF1t@Egy?qyuyKId*3<|E-@eYz(zXD70iEx(S} zI()kRzUp;&t@xd$1p4%XB6PMUVGMX9)B>O~6qw6g9&g0iD`aJ$Z1OS7|_L(``KzZ_nd--$#b z|D+5mF8E+h<~hB1%a@D85TudJZcqIt1e)06C$Jey=J@9z$hQx{C(u-q+&?EbrA4eg zu{Eu_Vn|o3EK}&Gh;S?U)+hU?X!m#I$06gLHoY<9VGq6~T{(kK2gf`({O~D`Ep-=$ zjoAidBIC-^B0+g{TpOC=-2>~)CrQQ94I7FtBDwXOKrCa;SIkzQU-w_5uZzab-cN%z zTyKK!O?Tr3cJeth#Z;=dTPt$Y;inY$f!J-%am~7Uak_+Q)Ia35DA@$A>yPq=*OuSZ zaMwP{ml>!P+~@a~2GhE&#c;jW9TiW9(k7&2Af3O6A~ljP0|PU7?aJrdw+L`&=W^`e z@5L0O-_J_wN@vSezj~iigXxca9-THX0y`QjrCBjc9-q8cRnDR{Hp^P@G{%(K{K5Zd z)lGHo1Pn?xL)2u3l3;UgA&V38av^gU!qPQWh4aP&tBPO(hjHnhYWUG|WN@#kPeSk;(CRgJqAk|%cb zwtC(#^(x*3*&-D;l7Jh%bPALcu3?1hpYuXU3v)mFj%U&J_oeRRYmkN`Y&c8@!1&eP zFRkRO#*b(j_1*8?)MYW&KU;vWsQ8a7O=U=v20klg!6z0S+bT6{qEf3TLcxBwRi{b| z6%aRHw~$NS;$serH<}eCfw)vg%wna~mHe5pB?PCNuPBOEk_go%YujJTjy*Mr@Kl;H z)WpJ&@{HyhJI}irN@IpMuTp$mp!1AkEV^gd9aN_e&`6>Fb=F6e<0kSza#Vj%1?>~K zL16gxARoCzG;`zkee|E~medYyT^UkG8f&PXa_b9B zqiU2bdm0JkAKOL;j8A3>{PLhsWY$3q9~8`wm7S#ZkZ&4KiL>Bs);x6ou(StLTJ zoUodLaw`(JU0eKHxpo_T_2{lo`S~805p>}D{Utg@ua>_~N2$$-VTYd>xJJD|BOHOE zNqn>w4t{sRPZ<77m+sK^q_DdFh&huEYN-2Lk7esNEWCM%M!WL2G97h9kmAm7Gl`bH z@|WUy)#f>vf~C`ES~or&)cES(c?=e9UutZSLIow`$E2250MvlY$n|y&)V{li4|Hm5 zcN-dR6l!XaZ z<&GR~ZKPxpzck;TbQ?E>vk`A1lyuOU3Kw8smpIRD&?nu-0FEApuO-v!)e((V(^bj^ z1k2Q%kce{1`}}w_SHMCezjqm(8RER-=jDt|hhVw$g7J*a45H@s;pl;Pj{#%JpR~-X z9_7&rpLIzN43xz31k5mH5j1KVTZ(D-@0JA2!!m;ni@~xr4$d|mzjGxRXJA#&x_Nea z4T7H5WgWJTpIM3WeN(lZo`K`M!jFmcBQMQAf#l(hqvwQPP85&q+X1ZsrHGHkVK`+xFdwnOTdgflOe)eSb zL(zP%y=B|UseGxL9GzE%HF6EUI=(b&6octRb}pN++cu6*oT*O4uW5pi|^ClEc2 zNi$ba_?-u4ydS-&Vs!Au-K&{n*r>NeY`G6|OP8e`y@_O9?Y zm_x_>IoH;NX31>i(MkmDi0!b(wEDxqGno*3gvzQ}XE@X!3(yYM#Q=w+DSNi@Wyzrb zfwZblJ!pOJk&2Q3kiqVUUQ6}#ha4%-XxRpxX`Bpx!3Mpy^M+1+px&1Dt8v;>m-4(B zHg$Z%oXkDLV>U4Ag7j|x?>N={;qMXo0qfJj70Vw>o3LF~?@FxamzFlJ>wij1U$$C}KtRk| z+PJE%3R9gi~l}N z_NNlU^tMhub>UC-M0~>`s+u~|)rVi5JlWrXaWhk_ofzZ&7St$|n1o}y#w)sl4L#7! z#7H^vo;{=Ish?1<@NG)Yrkmo%S)qFJ4!8E(A0=miuro zK3`bqUs;8{_XZ^#$&kF?b2NGg^t|7&4^_c{QKP8WluLo>KT{(-DnT^UJAk!(A@||FZul1i*>NzBSRS)~|TG-JX<=?5Rz;0_l!%p$ndLK0l%p1ic0qoZ* z2tXjxsz`56-OK)~l0dSeb<8=hU!_=0tnpXKRLMcfoyT=gi*91HK0D%{K#D^4chYp6 zo#4L>_aV>7`75cMV~hQgM^@B+KjxdmZN<9TQBLaqepM4KKjhAz{Zaogo=g63U6t)LI0Ob;S!RQ;N9Jx{e0wm#hy zJGy?lr|=s``Mny^$7;~^i|k9aA#mGy0@@)UJGz~yx%g5@8)X9}@M(j#U%Vf8&?H5c zj_Sa%XdKau!ppEN!R5BUVWb7Kg@dF6C{(O#&|ThoS#K735Wn{!opPy_UEN_#a}}$h zcvJryn#obL@7}Dt3F8lK1p7B}y$H@Ix@ZPrSgcyZ70n1~F@pTnq`HzlSol zo${@B9>YcZ(`5{crWx9(GevvdHmVtyYaBr5)oP#l!f{udCoM%0xuR#2IV3^k7s37L6;2&C@X5#Gk>S!>f=M&CXP_vZnP#mgCi%HHLAyW+DPuV9IR6ePVa4sI~MJCk^Dcn1i$!$}RyXH+3Ld}T33r!drY9{LK zqOA)q=0@1Zz6?>+jk0hK1=+(zs=|mR{^=RPo5u#|B!xyGee$udCrB5OPI?oM)tl04 zx~J1Un*6x2;5R=#smyeCOOu5d&XJlT`v125 z(J=>yUDYo<9Yi3S&KS}sz@APum6;TH53$vQ`gzy>VePSbT^YFB)ZA*N?#ik+{@Gw+ zo69z2QZis?R8ewS(K#%hoHnQ7=)>mtJ#8IK3WZdD$ z^41d}kstB`OJQbg7=26_OCi;axpb-VMCQIJIj+KYcF84kkahqJMZ=&Fa?#YBt^gWvi@^9uvA190)$H?q9k zaNS3J@zP*AChW3%_IBZmkStjZai{=UwPAATR&f~d0%MqsY0G?YY3a+tjq3N0c=kOG z=$tUAYO$fg)}N7Q)~_w^$5YNHm6;uOD(T6VT8ma{?2OvRlNHe$`f%>&E-u`4^sotr zOb#}kuqy{tiJQ*r&gdKjHy^xBHlez-l`(ghVXXVyi5Y)N%M(CbmP*Glb17X^Zy}QA zR)NhHEGC}5p5>OQ{iip}261xFIx?f>{FRT^kWslpuqF2{?;q&1yD&5+P1`ul74Yme z)avsaHjA0=cu@M{j}6khYR!9PBX+k2%9ll_RWcLhKym`?lV3N#L?{`?AD1t;1R=vx z96K--$)Y%@EB?HaRJoVanpiz+*KLj)Bt;hOUp9E3vhXCI+wHXMr%Af=Ubr4XkNV}v zSd4XthRV+xHv7b=JM-tJa=O3f3Uhe?G5}wsoV}kuFJtfE&wjgA5yoY5YIc7yHCtr} z`iYeCgobz{{wxC`-$w4_>!v%WE~7W-%4G<~qeLEtnFJ*EgiYPxzVq_GEJmj{%trHh zDBg&`bpj?hQC9O4HcRrBx%lHZ#;95NE?gTBPzof%RV4g!t(!WwEeFegWl}_nLWnpt z!&qRPBG_fjcu=CPr?C^mU8zwci)3J!rfs=4!nl2;i`lZSC8mlOqO=fOwr}(2&{P(E z+$LsMp$$x!(M=UFJj@yw!d#4R&Qomj<345BOo2XHqCmrSYb7JSz>5>~8qY}0))lFU zvk=cKX^oVvK6t4vn>AXLj~Do+QY>qoD7qN)bEq>OJkAtt?PuM38FI>&a-cJXT*~P^ zFqMgOG&#I`Xr*-EBdfKo?_y6>EbC?MAH57ca8GYKiv6Ch*%*}7EphKBXe!rh4nt*m z*-V-i41Xz!^<#+2+0>^t742z&c;{_TvLnl%uPbl#u@3Ydo4s`CIA)X<3Z5T8q9X74 znVBpgK+sb2ra57kGb3-}rk&m0WORQzS#$UDLw~Y-*`|SgD^r+sg6;g5;9Tpj|EH@g zfH7W)JA3ubo`NJ|gu)Ib!&3drSeB>mNBHU0`jeniA9O^-+%DmvLq|zC7IYx=K_maQ zCNQbP_wTdKW+sXRW9`b@&7ClGC2)f}FMCN3!H84jY&c;=ZJfetHk8S*+h#Pgg$#S< z>z|j5xx^s1gYFR4q%<7DBaa`_e@|1wF;9WL(Q#jp=D~iY6)6#xdcWOQmShF?Y~Ks4 z%hMMrooJ0oy0wj`&QKiN3^w>8;chkTG9rSBa7t`v_#bC-iNeJyY?rDL=W~gqiVuB( zm#&MUpG>u8^VC5N&114bsKjigRd82c#gJ_%Hs9BdlL271=rM;*F7=@#xCV%#mZbMh z4Dx#GS=o`HVw~o^Y}&hr&mY}2j4@3*y@s{4BOw|e2KIPbZt1YRp*tLZX_;+_({%R*9nKAm2QPK)mif#BNA1+R;{yM0GZ?cHEno7%w5;NT9}7(Qh-X`xum3 zNZA1}6o1Wr%LO#p6C8@Bx?FwSdr3LN;ss-LqGmZ}4{zfg4+&Flt1c??LkEaVd-On! z>T|&jj27^{cUvqk44cvd4;&b2p`Hphly3K(1(mxWoLxv1jZlMmVikU%2J=KKAVSyk zM4Fqy74{=E;?S=x(;=QC3P}c-g3h6>{<^p9Y1le@Wz@fR1WztDBW1Z>-BNrLZMKJ( zN#Oe(J}{it5`~c?L$4N2q=OvJEI2U`D5$fe1fO$Me=0}~vG*fIn5f#GT6%jNjy(lq zZBGp&S(wPyo*H6Ljp)PxY^>4Bi~%7udR+`c7#C3_t>63>T&Wn(0n@nGcRG$*oUSXD zlZHQ$T0E`~rWzT6I9e@(J`EP<*ET*5^c)+fus)op}mtkE_b#XkR13z|t%Fp>;xWFjc2IP%9B-J+(<5SD_aPQF) zIm~KlCN~RJf!m+t`)Y~M!DTTl@NQx!fyUpBKF#$n8hYJ$ZmRMaR=#^Lt(LQI&ZT-| zLlfz?xXUb$bsuV3v1DQMq%=^bAvMvbd|LR&J?uxSzYPl*p3iG8AkOp`Dyp;PFTBew zJH|?ib^K60q(VCe-f*{y%1SEJw_LXcJ-1$yZlgz}HT{03SG=DUd0$50DnN;pYVB}} zlnvh%@fNQPXF62ox$GQjuwQiSin%#xDBHG?oXmk{LrMySDuK*Z5LG-Krexg}S0q?9 z4b5aE8NHfxth2A5K`k=t3iWTAQ8f8~rx~;Uqh=ic z?=_=j{eP_)cmBtkvGLzDW9Q-jRx>Ia{Zlih?fys2IQ}o1u@(BCnvpQ`KWj$U{r``e zaR&I`YQ`V`rWxHNNuK_*W~>s_{fA~;?Eb$squYPbjA8u$t{J;%3I9biGXDBk&A7Gw zKi7=F|KFNX7x)j&xa;<>nsMO&r5SY!WEuS~3}636GrFk#KbjGI;(x3e&D2^bBE$)_ z(aR#NSG&lNYd5ruBay|8f($WVMU8ny@G@SdKc0*O@8h45G_d1q(7ZupRY7{6G2p(Z z=Gj?{z>(8ps3<5xoI^l4Ac+tfsDw%yM8JuKsl@s~G#GY0-D4>*A%)?`fg_q07^1>z z+=ZmGBw)^jrVg$4Y>^v=s}4{Ik+W29 zquOyZ3mpYfp_iyntl#MKsG)ziSSFOG#jl7$J(=gKp#SQR$f^#DkSfEM@ZJwipn=!F z%#rZwh0Lf9U)%o@#L|gSl?e+7Ny-&r=;X=(*c^wNdT}btK9{~XrCFebzsnRX|7QFY z{oxDmQ>JX6V}}2EY5@3J?TsfWc?&S&yLkj>?3GxA%Z%e)Yn4tA#dQ;PG~ch5gtXZ} z7|cQFC|V(f;3I1#)h7+)0%LFXAXUI*w}P-VbP~&Duo;40NE*ZhZEs#75#+#7hd5a> zjF{QT8$}JkPNPFfts6xNXk)@AVL}Ze1aq{g6%nk4w}l>Q>VpSu>+3`g*Pei#-9?zB zKn_(xg|3{20I6UB?bVV2sRcs?DeU;gucS>vXh9bro0x=!l$ZTuRYCN(b!pZwb`=>C z+!L~RxP|x;K)S>M7&)1vUGLrUSSP^B+)52AFr+n!3#`I})~V7BLTxK#OGU#2wTrRt zj^S}>XskmigOv7M>$1AC61R!3q26}!YbqT)%(2hnFzO(^e++xPC_ITY5weS$o+E?X z4w0?9kG=DCTwS4Hc5=HaY?BE-Cx;9w=~vR69NJl}a#*l;_7I(LN=M4L>d@ZIt*zx^$w> z!r@y+vyR%wElsI&rZ>xP-W!D~5pIuPl(CZso#icuF{7mhIm7ipzl`jh+_Z>~Tv>L8 z&GiHOu28jg7LTW(#iVW=H3um7U~>E2Cy)FwU~9Q8M$6d@(GB=-HlhnS}o>kvsKjsSVhKZpMcpW!Spx zV9Yu=(xFTLXvWi@%dKB6qnoq{f5OXr6P}(F>>kYD+)Fu1Dzshs(AGZP5}o)Amr?Wl zXi6dv>&s%YToAu@B7ocJgmmM6JPTFn4WF-o5x0(#ghBTaIn@C%=Q}Jifh;+(UWj-) z>o_eOl{+kooa~iiPnr+_igodQb(yqGN2&axhYh;sLP?y&({xh`Lr+S_Pn`PXVNbr= z*Y5YeC4CLPiW0N1`?A$)goito?;tGR`{j~y+Y93dEg4F}oJnI_SV-3N=%z*8^|6B8 z;OLotPbEA6D;-F$z8sURaT)V(5yk?F;C8Tx@XnY~3Lu=JFGK+K2)XlGimK zQIAwQV-a|3c7Z0IK}Rs&K8KILHWom6wuUeH56fu9-^Mu!he4U$F0LePoJ|mX2Ps0w z)UiN?N?1C`E`Kdo3;AZ8SaL*rg6=t?+(7iZXtbSE!b*7{#PCEP)QMaomNI-X((o!xGtg6%CEDvLq}O?Db2u#I^V|Kx0O z>*OP0AYiayvS_m8i-v!cEbXqA_PJ8iu1`3y1g{0x5NIPxjjGz-s~StT98{SN+u_4a7x@pgt$E0+hb zhL_5x1Q{jeGyU08uYJE6Hh8#kp^ znDg?{AG3{fZcx;$YC0LfXLGJRzt`LP7JW(c@t|EXE6{%UJAN49x4b`=?N)O$UM;Ny zKNyzFq{0Dm6lr*mq#Q%zcm+Ty_O;p=tQl6>5Ib@M{#tgmA^>^0()R z&!8$773!c)H{Z=f*;hZ48=ryR2;I8kY(GMbi#(oA?7+mjOjOmekW`-Uj6+@c3BNN1 znE!$?R-67iV-z(-n@$>xpV+_BNweSkkBkwoZp6#*KQqRze`Sn=dH-OH!uY8H(>!)J zM{vK=w(9+@Xy)d_V5&`0uKL34FuA+-e{I{0KUiP@?iIGxz~8u4)XV0BX0ADZEDuI} zS+2H$TwR4Ht&f+O&G(SW8_JK=k$Ubqs)b>2u9fC}-O}mSmZ`tE4P~&zF(d6$VZ|BR zVMaPVA)5*vD9g8_*CCp(dx-2vfWO0si%PrnM(XZ_K+1UrpaMFv8g^$8I)wzqeS(`n zLAcKf7KB0ZA5oH_Ku$_ym8bxn&fpx-?uU?S(C(Lz{KPxaxSTj72R2BK5b*`s&DhZ> z^(78sn9!^9+@yur1=&Z~KoVp5_ZtssQZF2H=S|{IGKPG26Y+r`BipLSyRO@;GHJHX z5(Wv2VQ5O}xN@T~g$X}6JkLd7sp;>zA_v6B4tWXKwRU*vJpD-#;QK|9?4u&omJ-=- zz|c3rGjsF3{9BiL8yaCcg+-r1Y7}SrdT~{p<-E2)NRz4Bp)~UIz5Mki@&`m)3;nGc z%rWhaFfPH=N>4l_XvqHw9Z?h{Y#&5HXT!;1<%|8e3;7bFyI8pnf*_Bx z=?G{n*TTsY8ga(b(^02E5fnx>3Q4E_Y7?xOqBJa-ir9**D9k9TLq^_-o^Y}FH!0vX z5L+G&f<(lz__ZZVsl&}ac)c)S#iJy5RmG6tHRVm(yy~q>R1wf%x}-#YrpTr-wLWp; zB%aVX?tBFHJF>t4aD0Rytx$0M`5%_ph|Y~fme`2!0>zgElimoSTE(_t$xKPb68>{7V5$8iFQ`QSv@x(A#&jelD22i+XpyvDcAWs zyJLZwM`QXA^U|eaQr?!B)YlKA)#h3T`2IK!;X7JID`>{#)j%=4;VuLG5JIR*-t8sP z3LPD5Dobo|h=dQmkx8b89SS<5=n%I15K5nu+t!=gih&9yi(WDzfv z`rc&_jDppmDMR13HY_%ILFv&co)J(l9_psPdx=#ev`i!L733 znOh5wBrCp$GBMnBC�up%5y|uytMwxWm0oKt%20&$#%%3IQna#>VcEw(6zMO+cl} zQUFxs0eRA4qSCps`|oR_v_wr}!J;i|FU49;xmGvIzyf^G7UjGw-h|1lHbFp_FV}x z_BuS~DM{$#VZ=(h+T{i)N$AIWFe80N=IYm`2ny)YSLrvX%;J^Gka$Mu%5bty4yeX$ z0McL{(C$*;$Y7kSy<{SkV>v5A-lzgbtxb_=6$n*rbZECD6J|Y@?%~(&(9jzLWgWOWAHG-<(4ag=W-SFJvgU)dZjS8 z0xe|h+>z)DP{DE&iNTMHNT~5g1u5J+q}?Gembiu&@XxRlnnmawLfc$(3ZiZgXaPyx zR(9B!9nFH6yCv!!1wuuc#hmXU?HqLgOhbBZ?lQAOIciU4O0;jmTVJmtnycYiZ(z>$ z3!yjzVYwzr+VKT?Gwgno;ogCFz89yjTLAd_HH6ausaaHGc|s_ zl4IaaI2Z$W06{>$zd{Uhlr!?~%X{W@kYW45B{_^Zn=c{H;ZCqCxV!>)jDn~`(Pz2a zN}54LFfg+koPsPNum8Ws;m@C1KkY@mBJsFt<#|b=3+2|KLh(8jOT+Tl9G`TQc5NJX z4`x;{Fy#<$Q6w-?<}FxC@NercX4FHgTb6ctEN1p^zM5(Y~cL%gVlOBewjeIWiR zuR|tP~)Lek{zN`s}lbJYOFIq5$J#AxjGX zO;o&ozWWuhA3A&BeXr|?rP{exgJBs=X-*~mC?+Dm)0xs5c%SCX)BXA zP=2@9pAT>tF6!)>CqjgY=HPRnZ~`WOPrx~d()YwO$Ts{1^)qkGj11&w@#6@CgzKyG zuM;*Pl|;SzSR&RJ2Y{^6u)E8uRk}O}HS(Q>-WwSj@CQFy7>+?>>(m>;LyWipf9Ju1 zbaUyri|G)`#u^2ezXtNnA-W1^=0VrH$Bew_5k$bL?BO4*uPac&SLom26YN)h`lpiN zJsFN!{{UNT9v}bqTyL%bv`ggMsKYrgLfUk|6O|*VZ4f!8Tj>wl1jN+W?coS&upiWc zcN@SXWnzXw#s;(^{gqpQAwZ9-KMmuZBG|mORGg)+P06Qg|5@cZAVKUuJJ-!gMBOa- z24NEwa7QsoZx2#PEoV*SgF(%+%s63ITOaeG4-^l42lv7lw9oe*3z}?dqfaM1pg6pj7u?_Gnnh(UaX;!%g|Kn( zr%?cI_}_hQ>VUTuQ2b>S!d?>_C}$mUfBNQM2`T1*lC^|aaw@(i?S%osQaHF~plFm# z44|O7KD>4h7cHlpEeAf4^zLxpf9PB1*;DuGmf6j~XhnMF`wHZbJwEAUt2l2EkkYvI zr+-c{gK-l~_G(4u`*opT`y-MnbS%a6p)r_q6WPT2W3b}KHH!;wN~?r6ii1FTM~J%# z(8=bGXMV$hJw04B!8j{!5a~~!C>z|)a9F(g%Y%7s{RAPpZN{Qs^NLZv88ZADDj0OX>hxk}$8dVyF}gcx_Y&gSbDzpznQnb; z^U(r*209(J?e{Q;NjpTLF8Qzh!V0)RJQFCTSqjMm&w)pJxs)WF= zCrN1A!-wZ;s+2R_d-^{!j07?NZWsf;|HUwR{}+a_!|cB^j1T4iG>nb^jbTLM@-kWH zd;a@>$S^{G{MUxDb_5m}?0$dU$%%*wVNIf6HG#M2uNucxfnbl0#@2Gn7&w_Qft01H zz@&*lkEQ`glU4z@fcAe>0aa``WG~i7GDsGeoJiivkqj*t9LU$`9ifrX&^6X?vhBlA z^sb5iaiFys=;4dPM|9a$tlvt0z`c27vpd+1eL#~HD#~=GT_*CQQg6-Udm)i=*i{n* z?=c%Phw*FbXY3+QN1LqahCUBtrwL9ITvIHOV70jbY$54k#8QJ`nxutr5K|E@7)1Wv z8F_p3TjDv`;jTY0_c>e<6*j35fN_ryVmY|89Rj*D4tlRpJHrfPHU5zDs`D&DSve9S zvV$~Mzyz>L;)LpKvp@BjMYtwZ!9!_ZiKX-F^itVy5D%xY-#rY0TzTDq4RlK>DJeNT3XIX+7 z&l}*i>p*+vl-izpJf3m&B*67DHq#e0uqMVn^H%vk;d|8IO*PqycGdrs{6x+PV(h2I zM+M`AJeY;oPcIxUR6d%r;0s5r;Wf4ErJ_~8UXM;Qb<9#N**EYLR+ME=jR-^@hZA^D z#DIBLFU)}&v4vyVznRsZz)uru^-m*BT;*G^xEFvv$ByGdf_pg(kz|i_Ir{rif62mv z`rdtE|79(wLkpJ#K(;uZEF=ZV>jFs#`EWPgl{5o2Bx)jd)AbEAb--l-ZoDgcVwRsy zhq}`c6r{dchv(2KUoPE81VW#lQpe`bG3S@?1Y(X>Wu94&_@w7s#N^N2RS@YR7urY= zX}f$F3pZLX_Wgr0ipx>_1+QZmH27bQ?Gb3yXfN9Y<(%jY75W73dgXu{#b6zkT(gP^ zf={l$LjIz$yDShpY2Z?BX&1(uoylRo>n*4y z*ldhFDtYYgv*4ynU?X#bZ&_#C(s0EB4?48(vF+KpN?7!#LB-{IaP80mqeewxsk91p zhveby-R|n)^Q}7j#v>ps_k4d)t}S!>JMA_2DxjY6J<;A7KQJ&}S1m`085=GOlkEJs z8YW@a$Y|Y%`4%YQ*03@B2=sW9a;)^QA#PR4-lLkfs zURJbQ)41~bt=cSKXq%Ml(9Sq1*Uc~2SF^*1{91UsazVUM*80>**|K zPmaN^vvm838!i+4xD3fo0oVf;7BV7U(E}?-r zJ8-4z=n3B6;TJ-Pd}7O7KmBAY_=1 zX43yi0q0z)9et2bPWTdGdyo=2en77X)CGs^%HH;E%?S zcwN}O&XYyJB^Tz|r1Jd0;h{J6dCPx_{PA9q9vwV|q3gR12BaJREST-<M`tc80TiSVzP$ZMYJ`d;@vVhJKt+8e}!cF(IWMu^TR^)Cfn7agR_Xhe_9Hv+6sE8N$`%X}omu{0_;6*dBsH!#E=#r&z z49BvF6;GM&(p*nXto=yjPW{BN%$Ll*X!!_|U@fN46Q z(SG!`6t>fufoMu+i@n$V(qLL+HjxyvxK_}kIvFl{-I>cAPC~3DBj3Wer90`;dF62b>vZUT8*!^vP7Ch3`^QN%4?BV3-*WfS|C(8C=MJ z8Vb~H%WZ*B75Hs5z|3>9A6^dr7Lq%*KWo4sNGPs?KZ6ih9q8PD$Amb62=mq&s>_v^ zA3M(n5HTSvY1;0EjlNWKm{)Ct))=Z#F zJ2jj#_4k^f>8#Y3t~tI13!O6tt+{kZAL>rIQ>;j#39YBn{Z;o0A*Mhc6hEU9G;vz9 zfQI46cnmGY)Qhi(NOwU@eEDrKAXR#kHbQct2f|(%Y#QsJzsFRQUY;`+Gx9+lsEai- zmHs=#V^@-JGy{*Hzysodw|KxL24H^L#hR@LZ z=i5;1?@N2pVY;BdAtVR9=n1=DSO`2A9yMgHAXG6csWQy@HLFeKXa=Z_j+g9XPW@sF z;WO$AeF`X6)WWuVw2LBZlFu(8GTqZG0=#F&Syyz3fLz{f2+_S!bncLFD^t;8Q*@Yf zK-A@M@T&@>6yb@h2jH?Buw4{~&z{xQLdxzG)Kw2Yw0v_>t;fA}ch5#&cbVz9e0}FNw-?rA?{_VDH z#oV-gKGE|NPWc9Kz8}5c&!w>vAVz7YPV7Yv9o&Dw{o^MvG&VvU`R5fBgr6{0`f%(V zcJQy$?&{A|HSN_O#DAGnYSVE+|Kh%SgM@X2iJ|@o6LYOB+1`KNh3yef?Ks_knrp5_ z`QCq4)8^jz-upfG`SAAb-L7>%Rp7aJc+Y7bC7uoK2O$+8hkf)A_xSS@Da{biMS0!r zA$P=FH?zd7BlLX{a2VGNeB3{(-ExOLP96BY2t!o@@GOe48HR+7xPlNuEl{XONDxX6 z6TKLd|NWfw>^MUGWA?k-+-^(0jxTIqt?Zvr|5uquFhW&b(|m=E0xK6Sn*=H{B}9h} z2Ns2cX& zeB9o6jY>wUYou{3U1pVB970TR9zJ#x*-_E8(t$-65Ic<@>z*J4jsU zT^q5_`-A7>#R}9p(NYfY$jvDR%gJsV36U%KFFCnIo{*LY%r@`K=7pZ$wp9(J51 zIOmn~q?d|tnLW;*jtXw2jW>(Zz{IQEt}Ooh?#WwI-*?4iCi{ng!WCqaZxUS_JOLw~hRj_*yQAE!&3a zIR1OVsWUl#p|!pt-kAnQ;Xu@sS9xBLik})DxUX zORNmRi`U9`*;RNcEL-STn2V9UZwG^3)1cZ$uw4XfHD}}7;Whj7kM;S{+yhqY9d=cssHxGyw?POLTvf z@hO;$H8nPTxKmfhLw3@#u90>IJ}I)o&0PYjhC)N6;oDY3Ldowcv$2Q!_z#;+(EKkF zr9fZ&XWLL@?oH5!N&c!>U9h$bU9O5`2}xLbX3n0a8yB6T>>|o*zdy>-e5EPHyi<2q z&Qj&iUft#O$hff0dey%feK7;%^jmE<2y-`heIwaSIv9u_%~U6ya*f~rToQqEB~TKp zY5`SK=3ZhU{ikEUT;;2mPBSd#dB2ynQdEt$8JDOn?ME0CHMuOcm`;lRjK}f%ru9iL zN_o;!j2eoIb8TM}8!!k&l<$$9fN)wMY^nA0rm#&BXb{Ft zY)|{&aASFdlGG;qMfX4kLC2`gW{}5bP60okbG;8&)qM!6S3iy8^p>s}*5oM9f~6jt zzjJC51L&XEO-}sIaVaf)WYc`u8%Mq7AC|1Ps)WS|8u8x?SS!DSHj5B11ef=tjSM$x z=jn7EuJkIFY~KeuF9keN>&U%Ikx=Ve&ziO$HOh5`JqB*B% zn4Qv)9MsahKZatb$L(alAB{FKH`Vs%$-C@fD~0`UY(qCA5XeWJsuI+UD#OOUbL)Uwi=~ar_2E`p3)+ zu*^wt*0|eaQ$pqGOzHp zzSC!KWjcRxi@n)YPfFC_34~?ua&}%~$P?R^a!#iB>^P_+j+^8z9>D(2&OOi2*9>WF zZami%cw(%+Xr}7v+Qjh+`}*K(Ri5gczIS{9Lu3V z6;J09*(!kwebXCO-09oYE+;2?jlIGBibh!$hn&xrCb-oU7^GPuxBv=|vp11#5e-XD zY0X)#HPW#3W2pnb_--vq9;RIPYz>1;{BM4;MXGxAB|7(@ir_F{YuAlU(=|s@Hfz{yrO4$8`Cw z`SF>KTr!)}eqF!Yi?0%El}}lGSzN_)JMT$Lm3v*Tp#bS*4BZbEtq$@(F81m}7TYNf z+Mr!&wY#<|6w>3j*$-`K_I6qRSW4TXd-3k8$hx}&((yDocvS7JN9J-wb5f1YvR~mT zj>_;2dPB!7Tze2!iioM^++~@1qUPp`GsFqCYM5e#y5)4?d`***FdpH4utS|aD3{}k zqm2)fH7J+SuV`40sO0}R?#bi$2-utM4Xsfx#}z-&OYO152z3i}|LZ3=&9c1kvlL)m z=idlg;V_oRI1ca6ed>=34*QFRkG?YwSwZ_*p>YG4X;)SuBfTHI6 z?|gI+**uFv87Zz_<{-E8+V(nDuaQD zK4nJ*;2$HyS(FSYMbN2J@XQ(r&)D!{)N>{0rM(u3DG%FAnvSQ~xJAf4#qhi0VArZ2 z>zunB=GUrST(Iox%{^OfCc?ir`Jji78K>%!dMq5@P!>upw#2Cv_{BZ~d(!=7CeEC$ z4fT422~?Xb#Re+r)2bv)0aGuKOMrQgs7Mo6S&**HvIJY;{>MGnGxKlthnLu{Kf6 zL-$59BSN51HHm9MiW+h4ryPLR`*CABV7UcxFnz zNfxpV{(qI1Ym$YO^+&~vm*S`!e6Lkq4@srXcM4q_aU=yssvu z@lq3C`TSWJ*W0a@T7B%}LcFaW*ZFW-ajes`M0iXhRP$JtQ*f}lEb`v$B3U>tC zUpM9~9>yyV-d1FQe%j906)uHZvy`1AsWL6~U|=k~ffo<(5Q%KBz7 z;gpNf3E>xbHLIg1-!TUk- z0f!B*Bd?Jqw4hw3#Ne8y5BUe#U!ic%<8;!x3lVK%bpDB=V$<@ipTLSwBMs)!>qd?- z=Dw$pC0}Ly&!tF{0oO&7oOVjRX#@%^3h6Qna@0do^Nd*t9gf%{saL!S-}B>w)V2;%f?yioga<%s2onthhk&|#{wG|)*%aScq51t z0?ci$ROm>Xm@LdL1PHD#HkUlBcAsKW=o7jb_|pO7?m?ECmruoq60t#?E6F_Uo*mRi zm0jT9k>~@yncIFZGv=OlrcC)>*yKCCOe*4kX|E%8(;WLQ=9g*Iru0wkhp2?yN|9kd zlcl~M%*CsglLKy!3#r`aKBrPd`+uBHn`%?3lueBYOgeLX z3MtU0OU)ROgle0-doa&5g0axDiyfB=l@MMeHK*yTJS0sB0s!%B)xgEpp3&hkvy(_* z{hkF@X1(PcrIWMc@>KP`Rdz#X6zN1$Uq)})_4e@aPxb8L2^tK&Ayc($nM}o`lYaLM zQG;tarpz|QN2(BSiY2w6#$8q~89>WNmmaEk>KO_~_4~S}ko+d~HGO+DSr5+8W6uTO z_m2@d#SJy}B=y}k(^KfSI7FEHJ4pF*Wn}Bu(-2=!+8ULSzlKnRp_Sg=0kAXhwT{t@ zKacX9)tT)kl8j?<3XKlT9`G_ zaWN-0wxOKN{V%EESp*|0qNyx|o1SBAnb?IJ|DjNQPCOVITmhwSr=Bi^r^oy!MYx`I zdro5-)r*H6X`Jp-wGS+s$+}Bi>c;V^g~<1wKUU+9z#tN6wEfLwRgB0D4At6?8^``ua61#!?) zb*lgWD+y#0=|!7q?V z&)f9L0Dt{B!tus_--L^eXe1N=8<4kEpx3ra5QPVB z+Z>}53|#iWts9Yaofm=&@0q^K&)g6!lt36@5@P8kReI`kVBedp2svp5Ik4tqs1W~xIh zd}-PF!r58>_qJzK=}ui&E*I!97G8Kk7r1TI19Il<*;%Q;!YA6HY8TTZVZ{xT#0@}sZ(u!|PTT;rYY(TDtf*!VIs~mp5dj_}T((=?ZlH;lt z(%hWj;PK$=5rZ>62QD2cfL3 z`UE&U; zk_gS^FxCrIbdqWKh$UUa%x*zrNYx6pT$E$EKeWt_FElyx@K>_YgwL5kbOB0}4+u8T&piwQIX~+EYUZs{?m8g8I?0WyJ zgh;nEC-9O{H4!tyBv7qjtYMjwkK-NO%l5LD^Rl}5Kykt*4iS!`*YQ| zd*`&%Qjf}3Eu~#MCty=mr{om_wp}>XF2=X0g}3{sO(K1hqXsoQw#D%rM>SCdC>chS zdrs>7mvr&9YHSiCGmo;d{d{ns9N*V1hu(I<0tZ|VdolRUJ8+eDsi#b9$L)dKw%Cuh zvrM`q)Dz41mOuM+frvaMj)Y?6g5e_QI?>@RfuC<3xr8V0#XJaY-3i5x);utE9^bbZ z`&sZLP-+f|=u`C=mzMZ^zj+?<1DlGw;hAq;Ca3Nn$325x`e-9kf|(b`BNT%e8v?cH zH6(Z+-8P)iug^OcEdmw#{ds&n`bglPnA;ODmMb+3OY23!zGU zPLT`iCEd7rTEQ#?0V->L6E;P$Il>nE%3#CDYpvOgL#2vgmi4$#?Am3=5BwP^SFmd$ zy+=!tT5B?ENZiIzF0i??>1IL2pVZ1f@Ai6~UWz~R# z02lC}XF>ItvPxF~lNnJ>{ufl-_JjLzb-lT0BfIal{o1lGUqJ1yB9F#JtQU+9jubZB zt%y1%$a#0E>c7EsDmFpH{i_5xq!)||c1#xlXobsb{&;Hy^{eq1rP#SE+r+%RDlz#4|XD+(K5>4k& zJz#+O+BaB`jkN2O^sFk;b1E!!8x^Y;hJ~Kcc_IbrG)qc8B?fI8CfTM&4=1QXxeN0d zxKxQ4#y+4(SdlJI&=_Y>5p{_+Njjk50LtfAp_Df-=g^1E<7tsPD=fUUXsBTx&MN%j zS)&`KPWAejC5^JMf@Fyt=6W|U&-}e;Cp8X5O8#0tXQcp-iPmAxoYNIBVkjc5Bz68f z*duaSt#xf7x|W}ESUrE7&jM>n=CA*$s5a8x5RvFWRVU7d3c@r4B%<4K0re25)AqcB zGG*+6k!@fW&kOXmfV#a0gH;g6gOGOsP~9cp+TnY`3Gzq5MEg~JD@1VP!4aA$xWJD7 zetxnvhQF!F<}jg-Ag2SJK8)&id9)DL&)j^D>^vcYAHLS!bQbI?yGK_An#vw)xp*QQ z(!+wyN|X@aUsr@0N*`;!dLSM0dDLXGq?0h88or{Y*<#??J%J$$Jf9T)ROM(4jCXOp zQ6z!Wi6IF+9vA*t<76b%yR^y7_CCi-A0l`#Gv?Wi@`ivR6?lqszhKJm(^LmIisEX2{v&s z`Ao>1P`XXHoKgJTBu(a#j!OoM2q!&aMEO(X@xweBu%w|bBx->Oi`6;>xMkdC0oK1m z2!#$fXbgoaS!e`>Fj;97Y}52(F8qxo6?Lnr*K^vv0$~ALg5MSfUlGcKFO^3Fs%d*V z1WNqAo*91Kqcgi+=d!=3fJPfU=cowqoqRVoM5D}5VRV0_zgND*T3^kWp_&{*XD)N} z@fxC_xY9eyH?6U1eHYKF42mm4jc%Dy{@{-vO3~O)!fi9&2s1vJCD6HK=Jh3+%cZj3 zA!CeU@}s$u9?7yg?%E*Z*7+`%RlSR95cC4cNC>#A;uZMNN?iUad z6w@hZ!UmaN0>-XhMmDTKXEeMa2x2FmnFW19pb0t*31j`o zF34Fut5jD-$VI1rKrQ~c-;L}S*PhB6=}q}og+wrpq9dGOdM!6nxRz0(Du2gly@$4& z6Y}G9Q)N7(O$2mJr>|*!p#ggK^{F!&-7`v`%WAE#Gafmka~lE$XWR3b^UJZN*(p0F zzon_BoV79MlvJdpTV=SDvfMlZwr_NdkJT}Px@wOEyaOIypHgX@${>3B+Edv^UC{T_ z2*#|JDB1X&GJE9PkbOx*d!!d#mS)jG+x1XCmJTC|UoA4(kf^m4GfmZMoHreS1uFKY z-!+@f5O3V+{DgazQ}K(I@oSo=S^mZX6u9SF+=rLCoz=MlOY=uvAKm3ozlpG`?50gl z+OiOg_Ra@}F%WFr7gM$TIx@QRhsw72$>7L2Bmd4DJHasq5R`85FEkS}U~@Trv>q<& zsRD0BsV|5Y91<}lZ-@xD%n9--c1pP)E3h>~Idn6TtC}QvZmD+AQzYMH9N~9TkIL3a z%fb@mEUGxsh8 zSrLx*hWx9umJvAxe2nK@$NBvpUC~`@BCUXeN`s0gtF{p~_}q$;sCdX)+;XEN8U(m~J1B%h5Y{=VfZha!u=G;J~LS^Qdh_l|iru|0s;5 zod2Us;|SJ*_n$1bwdP;Yn;dj4TC=?F2tDO6JfzeB=npE@nU z90jyTV%>|dXhjkcx!o}&MY0!sWIY`uTVWyg!`B_e8e<^c_udxE(yCG$?3xfz40i(JAXRri4m!>Z+)M{zPhaiP6PEiKb=Gg$RrgRr%tGO&s*A7jb^GreTRiN-dA;bBig0Vz2ch6hxbAKe5rGfn4f>lN3WB&;jI zs>Eu>#yw)4L;9Y3iIyg^XXLam!HMH1F}=szQ`Z8n3+)U4!i7e+xrUAMOfGxLN5&9)yRsn) z9?~x$&qmmyR-*nXfPFfhik+|>lJ&lbytELFmnH<>gPSJrK`0aHL^_lV+73AQvu5|C zM*2weO@&}1_q@dr=Pg0QQVjhjOF`i`C*kve2O4u8A7nwcmNEE${HQQeB6=Mlwu9p; z@g_&D3w$v=L!T80WI$a^ap$Vx3f+ICk$W;REEdLBGwb-`Fnkd+Ik`)RQPAkp5dEZe zGq`z)1$e5d|1-h)ox;w2YiyG_26C_s{}p16$zQ-wKz-Nivj67j)h=m$+*AEUWuni}G(H~~Cc+mo`jA$g7L|X zv@av$wo|ytLwYFFGzr6+31?-`k+B}Xl{}z;JM$~7+o(`9_ijd7sPV1!sOu+*$qjco z;-|>k668~dc-cM)0zL6@yl+SJgAHK`yh|DT3sPEHaydevH3j7JAhmHt~&O27I@&J(CQZYX_Z3=VomwN zH^5`0=y+`e%O#Gm73O`f$6nKRI*Sw0Q0_$vEH5dD%~esXo12!M=psdzbseNw`=sca zcwB(#F@kT>jj8I@k?ho;lx8mk8~YrHw$2v;D(yo1oA5}Miph4UkHe3@0$skp^Z8Q`a{D7)b=yf zY6K2HY(a_W`Y$Yw-{JvKg!MEY-QEc+YV>omH2vt1GPmg7rc=5SxS%;iCfj9EixH+vKyT8E%Li;Z$9?eH8qacXr z4`X^%0)C{yl+!S79<}TuL2k6cS7dt_V(=A06OSgQuhsj*;lMvrNn&S&<`fpj>h^mdG@|*G2Sui?Jf&t(Os*4qCu$v4 zC#21PKi9s)QGvR-y_Q-VR>qp+B;+YcO)SI5Yy`}&8Ivpon>!1@)`=t56Z|IdRt>uH zYl2gGF*a9jtgB~HbGV}ajiLWxrRl}mU@4)-50Bt~7SQrm(a^jv@~tZYDiC_;`ru+M zi{^<1W+RX0iB*f_coem%d!J*AIfoD8aHY}zwXp*{ar;pSIs4AwqB@&Xpw;u0VF|J- zce)@Q_}VzBtLTNpE+S0mX*6Mb0K2)wlSw8iT*834&$lMtipSW3iY!2K@N;_+f!+j2 zYa4)3)XQ`>9%NjO)3lcRx{sXDMz#&+o%gpv1C%`WkFTYV7#R&+VUuPa9hE0^gZ0kL z>Tto9u}D{QP_Lkvqe~q*htw5XqR=)}#5aHZye#(EK?8Uo+Z;{$FqxM%If4r{|{khv_ z<4sr5cwl;;7g{F_t zmdaIIu4d@+I;{1qucjl~tc4|lW@9R&dzlpac)0I7@VUHI< z%QhMc2x8i3%h0$Kn4Rb6s(aD6z;I}wdD0@-7}F0-u!C<_%w8U6gWkxK@c5i+E&(tc z;%qJh2^6Cg#(hD8>kb7Fi17%uPZZdz!(i)h(ips|X;Y z-__n5%UbLR@9%w4pj+KmjFO*L-CZ9=3Y!4EYI~>_tyZ-)gQUWXYs=NTo!v$_2jb4Z zF?DNA^yL%DU=tb6L1wqkpqr8s>JDoK>YO8<`}iQgcQ=ThwLEWm=6~+N*E>u5P1fBEzOeHA%}sFLq@6G} zq7HbcH?Owr9~gPwD|GRtq0l;lKfF62*CXJ3us&XW{o$4Sco+4Ooew6s7k0c{{Z8DA zmFRW>2*DjrR3G7361ALtS>WW2jFSWwH6!M&%~TQ(tjil)_GWFY zh%!kCmpRisdN}Lt?O3u0Jn<_8wv&7E*E!_fSJ4Sb7kKc3^p($_%`5cdW~DFL6h?Xp za>-AZ(gbpd_0_jQ*Km-r)B%TOH!07m`*WWc;hS5O5)X_$tSFWqc*6iL4X0$7(^ z?=BRZEk`d7-bEuD`B<}w&XXiLL#(kn0=uchj&yMk`0zge4Lde!FXKat{V1b7&#&6s zzIhBrI8&<~zHvY|v#Xyr@V0Mw6&wmg0IeV1nd60Fir6FTW^Cfz$@9e8uDhL^{HmvI1QC26^o?_DoRo74B8>8j$U5+XzsdB~i7^!FL3gqI(9SiYpN z(;l+MYvotto{?~oEqqaHg2+-uf5tbqM^G$DVdI>1NO3Q8Q~7zjWBd!o{sx1C`Xe}G z$4K~v3aAq+6Te!pzCu>`3kGM@$5$W-v>tw9i4}rO{l3l@%Ns&bguI9N{g)5^GR`{J zk$R1bn^F(-Cl|h4IUMzwEJnxD9MPr8zVd_Qxg>U~>J+#O7|-LbpB6aIfB#$YT;7;J z98Xqrn-dixxttYLL~s;NEbVboVD0BeAz&2vQNp+g!3Bqv8x)>}3qVMheMM=b+PPB= zBI=tZCQSi!Pn~78EFhSFWDGT=lWhbvT!S!d$;NtCc3;GrVc_$J>){f4?)i!0EcHC?pPO^OI}>xl%>J(+qA5z z*U6e50rId-j_3i;J`zf0pKhLWrG=S<{u1WE%fbCS>k>2)YhB3NI1dlc>s9 zzWtsim@7AM{OG>v+fI~0O&LL6@OiF4ckM^_a}xS7I^@|S z3d;l;q|lTa9&Ou+2s|W1(2E5NAYv$Ck_RfX-NliyBO)o_$WN(4 zOxtk6bI8b3Ti%~>1k*5lDsx4OXO31Ib&)W6rjSW7Uy`ypm<_stq>vj7GQVB0ruX{f zo~QFDG=@b0UT6uwYlrV}c&=kyB19kP`ifyPRgSA; zm+^9zd5E!Y24R=cRn8uPjtAGWMNaeoKQnQdqjrfPTz?@FZ*EvtLL5)O*5F*^r)J$v z^kaWPc9g$~0=%!OZQa5W!P~bbuK;kJmZW3ce_8`cKj4u0Fd=43?p6@6t&zf}TzD)EYeK9_XPSxfiW>O$rN@b2g;E*kjrnfd zvK8#h`u1>Soz=KJmZd z{X2{(Ly8MqJx-t0%!tdL=)Z|+PB%_D`VYL8eJ(zm=Y2BT&h!sfoNv)B&;(4FNXXbw*3{9(A9frCK# z_daC8XH;&VV^;S!TK(6SA1XfSkR0;G6)8#K23(z(g-3DSrvL`%A)(~~3sU(L zfI++Kt`<4WcDYQ^h})+Ei#%KV#5ewVEOBUzf;oC?$0FgfHsfbQ4~B$#W`dAeD)(%3 z0*^ZeuYtj%jQCwPXuE6h)OW~q$*W_I@KT(9jS>kxQz0sr5pj(f=_*lxnD z(^cTDFl4Qs;3kk78#32>r>1IVUx=+fzwdHxtaf1YRC2Zos_}Ggk@` zDGEm{Tdjk|1k1(wWfU)#!N8R7CvCf8K5!-w-l0OWi~XugkQ}QfIJ8Fm?Zi!4pP73= z_iG?e>6pV_YgzKFg9!4cJlEmk$WJl;*4@)Ngqcz%fH*sLTy$r7-Z_tylD;|!Q!Jc} zlaf4J#f~T9$4eR4E$1lGfJA^xNny|E8iS8$-=Ts zWiIIP)8H^)F3WLNL@Nj$;~AGAn1Ch;{w4D04vKJeLAlM!{-T0h5Q>e|bXJsk!v5DE z7OGWA?S9GEwXe%LHygt`DoK)1g?gM|Wqw@8@Zjsm?4gVqg~ zY_vM?+&&!&g)-NRGb%8jiU=+%uxx%vH53E*Cm(x-JjWoXpEysU9rEs! zqMPz>7BSzTXCnyfP{1OjLw4|9lh^LVqCnP2GSZ}kn=^@k{_D3kx7J?u;ppw32=IRx zUQeSx%oTI_u`GXQoO)D1np)`+^Vk_J9i)POazELHhIcL#b{Ne>8$#QiedGc%FMg~} zHXdV&FB{0p$OqQ(9u$-qa&VDKR#mHN6-&{=VXX1esibq!=sE*4eKNL54Nn?GxDn+p zw_3!WAj;OL=*Y2~X*$9j>0>R7St`es!s#C4P;&73DjHWOXKCtgm&#|8O(fz`N<4JG z^JwaFz+x2&tw=wO%&cB>KOAG69d}osEh`JKJ9g8dK}Ro2iL9nx9DLrUf6u87 z?7aNryY9KaJFy4T*V$&9{9?FW9CKgV{vl9uk^dlzu(hRZ2q=9&15`O;Y~?hU*KEXk zHP59f-p(sW4RZlTcsbu2Z3Uv*y2UbcUlBHM5e#ql*=@S{-C29j<~^g%&BPk2HfzGeT9a7}A8iFZgVox!^O_*ZQX4vT5P1G$#63ad?sWsp7KTDcfB)( zj5h6Rz|;X#uXs2ftXAmAlI#_V^bXt1UA(=m3pIfon4On1_GOlx#P|Y zaA!rU!gigCsV*ng={cBaUV=kU*cI(PHJpKUsq??6q7C2|t|hlxAx) z)C9>_ej>PKKFF5>UPA~kU+aWqG^?)1JbK90P8RS{RG!EO7;p=AOcbMVR837j{3F`!1WdkGZwck z^=kSz-w?TqB%L~Cu`ivxmPielW2k7Wl{lVYeMrd~6(0-tr9x|Sg`pf=%m6Qn7f;5c zD{XTH(92>(74R!nIN?-lbrr?es4U6hw77QbRnMCzU-E1|`eNH0iGW2-WD~DbwN^qs zcOZU@rq~6cLFD}MoF7fs&@Woc(3r?|r^7Car>|}kIfHZO$|9ml#zuICg5B&0Cu$ed z#cyxNz?|IbF#P0XSkmE(-n%4nJ$)mQ-#TFhoynQujgDqT zQ=Gr48+cHB0pfyg*kVy(NJ=6xBbnJu=ld9)312j?V35dsJikF68y`2*=g-ZP)`7gX zm{Y~YYwdl}5Oi4LQGrPYU4af;V-T3|#ce`J8Vr$Unw0BU=Z)d7(y49wVhv`HEtI+{ zjS`Pe7}Trf;cAUdDVw-5nowUw-*%)`>;2shbxiRil58u5IbKEB zJ@gq=R*&EAS?ps0n!6mswTc8*nC(@QxzE0~oOJl_1J~ka+!a617{ zr!Bu+<~P8~oF(7*@>88Ey?P+M`$H=8OO2fGwtD}4AO?A)_x4GT^wb*drA@VT_-JZz z*ApABDZgAPCJXodKxYKxV^nnl&n5;g9%^zQ;h)ak`SXv4hW=f;^W~?Szw9Yh`nj)P zHU62n`@`4kbXWFitaP@gVRh18o!jzJKg&ET&ocM(jr`slcw@m`{`9TLD;>8PlKy>J z;r>(jOPz0}!bQvLs>#V{C(Wa}?FNc25Yjp`;g zNBFx}yXKwVn#DC#_SzdUxZ39tsX0vXLzW4FS!XTfIh9gb z555$_u5dv8H1hGoQN(Hsb(v<#SBOBobut*$$|~GN-JDnMtJakJua24@Gui(rA7=;Y z+5e?{&L7{3??{(X?ubX&YtKT&?OD53dq*D?Os7a+z$U*eqd@htDLwx^>lbht;c?wy zs$9#y$pgXWAE{j${K~{GUd8`ezC_$wuJfHqmCff@m{*G){Tx;w**J+wene} z>tqtbcvj<{zK7Co0{;;<6gE?lCSoO*W^$< zh2he_U>_?$(#-x>vhC)!nWX;|ldTB*LovU1Aw;SR!gU`%1CD{T)h`J&0w3X-9+KA` z)H@2<`*LAC$Yn>y+|T6w0g7nR`{L)`;4s`NM!dV;%(8%wC#fCJBA=Q} zW}aI~I{_X>L1)L3p-b+4e!XvpL8=k-H}> zJ}ZJy3WV~&l3IgOioz=`x!^k8WMLs~65C($ZdU|t87bSkql9BmDbI1dz8uS0R}C%X zf;)Z(bjHb#Bfug9SH*UgSA|Fkxf@CMIO=aSx}v5jHf?7PEi{CEtJIQAqLY#Mrr9iv z6Ejji6e%tGIp(|cXx^p8!q9ywAD486 zqNL$kVeAH%BY2%g#aI$us+DiGRL02RW^ocb?;NzIa|L3JT9ThwiJT-T8-a7>;ECcM zK71xLLyK^+AG?EmbVT2iG&wD#kW!!cu@X^U{NG>0i2btg#lLM3rTm%3+dY|+m_f(C zg}=LY1k}E0^G+0dH9-S<*~UF9YsVqIQb22T;rx;T3wupbNIV;iv2N-X(Zw2W>pG7@ zAr{LTK3d|Bs?svr4M==bA5ytv4~|sQ-RZEA1Mhh|$sE3ntjW~obTXLJpT6$9Z(@@% zlM10-^S#hV23zxB8QZ}%#Edb}?5+fPwW1lz||es^_2CH5dbMx>Gxmoo%hEzI0W*n*^10 zjyGFKW<){Y6I{s2v!UWB@l5_Ak3Mk9jaK_|lji@U(w?F!alD3)=O()*b8?eyH`%sr z>r9hfldZ|NZQHhulTPPdzvqATuJyV2?zQjs^>%47yrb86nV(rf>YBiV7KcYK(eP0# zX7Dg|ZZUk7G~js;*|+a*OP_>nXYiU4SrIv0=uJtP%XTpws|AdEhj8wR!dpxPPUO?C z%95tkq+EI}x+{K~7rZXG#o>G(p@M?YQ#mGzEc{#>qkcFP`vT3d z-X5}Kh~^O~bWlk0=`j!C8VMWNVfo*{A@NYE!V&t}!K}C3Dm1`Z+FKUdrli#cy?Wb1 z3(%D11w6a`Q#qgWSiW=?)(z~Ivi`}1vyW%B&&E8~gF6@g0GZmRq{aS!58@JX_irk1 zN0EwI%du>`7tAntiJy%|36g>FKbMXb9Zc0787&NGb)0`CjFn`ZqaCPJ30q%woF`WViLWQ1;^MvYy>{!T?z5xKhKH~ z{855~(-CMkvj)f^yM<;;k9i{Sof>Lj!{xE%%~v=-0=~y zU9!anspQ|Eyek?lb@p1||3TLH4#HvCYt{)3S+cjKDPlkTzD4TM!c}A|K>MY-40NOP z*Q9l>4;*H-9k3awIX1|-2pKLJs|xXu^%PSW$nH=+gsGWoETLXK5v>d?B%jf^jbO)4 zc9U>govcG=QqisCVTFY-IppY^MuMeDj$#6(T6jupdfIX7jp7D`q>$ZbJyk zJO6YlWaYAP`#|Fz&^i_i{JP{8j0L^-G7Eqev>p!!nFS%gw%%^!n#9NFmTLOH{3Z(n|nl1TAyjym{C#R32!ZWo8lJf&e?)_bX!H`%^kirxIBJ2`6L zg4y!kr_WYh&^r(i?`Ht|1fCgtfq|8ufgg{%w#}VjJE9Y~S>Y*A4l&BDBkFBjn3wcm zXVL!l{N0VUw--lOr~QBUA3y=5Z(rp<2?r0i@;r_@LH=GJ2c}*}o%|25Hn(y9UeZ0C zlt#@=|K)1@|Kx1f-`r^9eGBxe>f~Pmd42YLegZ4Ez=G#DGl1TSTcGn-XD9f7F0W91 zyu!OW#do&JZ*LNSvtDDJo#08zn;Y;AYOog&@SpJh&cVHHle-%hZ?ErN{Kz}o;O+k* z#=b?3@`4}k3_dV=&VOw`?L8*I5e7o;U7z-L@3;V!g~5UX0vkEtz}UR!&oqsfRX>Py zi&v{&$f_LhjUmJrTF2;QynD0C-@MO?_knmX$nUui7nBY{tteBcFUEljl_z7fe(SRW zFPz^%Tu{OfDfoR!MuJZ@aL$vdU1q$fD}RKker;2&`Ydmm=EewOx?m$)N{&OBlQ$^T zKytHjFk7(n{lScMSUB=kAwT+Fa2}A!oKlFEB-ta;3~8W^rM-q(mKSwZFfqQfD1}h1 z%vYNNqYAMihX37MQ*If5<&7wO|81T=V98ur2-{SbR-AputxU4a#i4FIZLJ2My0VZC ziQr1V`@HW?QlsW0J|SV8+)7f_iM>a z1np}m>_rG1Z&}?T0i8#O--Ako+fjWcj~d7FYK;WmVAvI?&fquU<$nL#oOk{|#W6TJ-I%`6}D@|__oYtPGsliE3ED#P=sXw;r7!iZTcEkeTf0A4{n!qscdGueT@$|dgYe8WOeMw6 zAidM?xCI3m%ds-Itb-5*Yiuy$6nV`! z(2;4+Q7U2^Ava8R$%HmClHa+EIN*M0n_(_-vpP?J++q(bQEm>HuzO`ZGLOhkX}su< z*=pyuGH1bs6-#SahX%0~e#yoc0+N*tb97#1^mD5F9kfV(wztu)aq5_*9B1|Qs&(#~ zKJyf<)YXo<|ICWf@$bwarB63<(e@R7^gn3RF*bXwG!?_i=-N_;X0z+Y_ZPy8S5qBR zGjnk^s7{!^nU5e`gcC0Dq%QqwqUHSfE<=Z&DYt!)EE$?W5WlM5p~JP(g06Mm(Q?nfRW z99OZLrk7_8!VjHV(uJ;im5a?LF(3m|9>*Je#l)umD!ro4u}8J4Ga$h*O~b5Z#6m6E z8`a_=jP7NFIvGchZk6tmQ2BeTYC&;%_n?JZfraI{A8&D2qw?KCOZ~{NXhhECq}Yau ziRYwd0b7^kzbz`Mx{H64Q@ObHxguAt$bJ;DlP9Sff~$WtdlX~K6nqAgsM95%e-?B# z#tAR_gx*v$dGpnhVpqdqZ;?-3yEH6qoRmB^^>GjucR3cR(@tLz={sG}@UOO!7Avgg z=bP3bm;YgNnl2T4$)t2;z+Oa@={E}&#jmmJ4mV5os&tPG^8g&^TnsL4bTC|mFEZ%N8I~8SKm5=xm zcKYCO&TY~TbH+S)o_O=Sb>;Aq@L#OGjhk$nbn+US;&0?y6T?M5C3kW+Xi593AsM_>nc+-;+uHD)Q1++5e!Is$N;S=5#hb{f;%FJ5>;_{EK@wy(v9Shi9cYYz5D3@A% zkKFriCYK$<`h-|ZV|wVe`r>bUo~e6NB+IgezR3j`#c;BcSk)N&1nGi*tIfUl#;zGG z=lwLyNdcOmmRlu=Nw%fX?rxkXJpCgGzTdyOmJwohokRL%4a zER4)6O66p=Pn+>}O>;_%A1Vot1Sct!%nr2J2QG<;00s;Kmg9HQ%>#|=`@bYx{N5m6 zd^C{+rAgJ7&Ky%U-lmzhVT>PeOn71)>cRFeex!e?W;HJl&F^nnjxO=dhZCIc@x_Ij zmJ^glzQpk#h=m3doTBOUTNf8;m^RTa6&b@lXi^6|uqI8mBaiEDBphTKb@OIM+}ZlW zK6#j5&-pVTS$c-DA!`-;ThE(r*-QI#Mu$yz0^Ho)=K^mwulI^AH-lW_)x@0yd~Q)b zl~r)W9<~B^qbWEK#fMK+Tcw5~io_R@6NdyiuF*8M6H`NB@-nDHL!OQ1Q=L2UQyf?S z5wd;~`Srz`pp|=RiQQMjp{?5pg zk=uBTjIcy!xx=Dm|Mndixt!N@(3pN1DHv`vuYZeY8@3JQ6y3e~*!FJULy)IS*H%EV zOJzj~^KoQp>skt@+CHD@*!Uul)I6*A4l| ziO;tB+jGhIq$%JQ%mehvF=9?k;+k<-tO9t0I>uLPe{->M`agd-NP^pYtFL>75f0{r zvxa-CuwMN?Zf&l?uVsyo;75(X)E98V%8YmlHwyjh_?OSQxrL~ngHAK2&$l|y_`%!L)eo8ya2ormsaw#EV;i`(=|*(Q zFKtmVl7o4*u9?;0LcjE{%8DXP)>XDqD_J48AfUA0fZ}Xf!f{yN%p!Mnoo!mH%-719cVJRazTD+P+xD+vl%k2h$ zhW`7~iX8YOX^v;Sfk*O#<9>iWlV!|*-^bf~mD?t?znd4kHJ33na8C6= zq+b<8`Yc@|`~p`?B<%br@~|8DXD#yQ*1QbU@y-$3o!Ar~W1-s#FXgTvp$`wG>R1q| zFX(%k)Ymc)-VnXB2-IzT@f_gQbn8vpb?<%@Mheu)Oav}YA(`$H^Fn)F<@zN)KCokE zge843K8>UwkIzL~TB%%(HmKl6BhvJ#~VE$^?hEXAU2Ynx)F2GV6@K#ElN9cM?1l+&|psCUDq{sNR$4^7zc_ zsK*-u-#i0u>#X9yG~L^;V9vms>^O$=h5J%PneewqdM1L?V-5%9`K8^P>i}_Fgg4u6 z2~+L25uJjjvW#P9!fsW80svWB?2xe-atLrOKXGM-uX-$f1Q++R;*)S9Q_GLYHJaWX zbhKqmJ;pUO>U#LEE!wEaGU+GK1#a?9TuAyuQ3ZFmXw<&F{L!zeS1WnQ;T&bdtKxyq zfJkNvAOqveuy7Q)ns5rqWtFv*0Y_jf9~tj@vzwEyqj8E|ed!x}z3lB= zk6YHxAuP&_k6KYcsXpV~o;Dw+?oZ%4_;IsY}lGP1;7JUVQe=I23Ku7BWfA+-#6SWf~{R zAY1yF@mSyDTQ8|lo@dOPC3GEUXMP!LGF!B#Z<=-e z@sNx$W{!fk3Ok`}P^!`6@A_b>ay*REiseMNzz|*|@vE8t5p&s_`shfqWos%?{H+vU zAUW%Jt6j>E%|i90$x~H7fdCXBKE*N_+PJ3fz5#ub$y69{%=0ziL(i>EqI6v1xuU9}kl};K znXpF+hDwiL3a|H{QO!_x&*<$7P=_T31yvZf;#R&&`pe$cd)P0mw9I$rUXtc?L-~c7 zdg|yi+64C9qRBxsgf89oQM?&ZC(Z1pvc0sGF9$cvt>>=i9Nwn z0Y}Y^V`<(#k9uB{M%S$#pS3D2<#U&p{<&IN#h-^-FW`VBey$rZ(aj6EcOqW@WM6L9 zu+;Cf>ll2wI#VUpMX7+*bnr0Y?9zf{jTC7oKg&HNbqw)f%UXA z)P6RSL&8_ddcqOL`pX!g0{Y#U)3lpG;+YQc9)A#?g@U@*;yv zR^($(t27P#%w#v-uJT8=(~F^hBb_T_=W3Rv%lq`sPPEfhiwq5xMf3ZJ>ausXdF#o*UBe9qCJfO^z`Rh^Pm>qyCXAKH_*0HNJ~aujt9#%AIdEX>xD9b&aa zRw0K81|(K$P7B8m2&Edksc4~UMIQ7udDD|6Uq~j9f+cOgKkP{*{+;+g-re0rsTf%t zUl7vNy4Z#U5zLa;u^sMbIqQN&O#K^g{Rb%m8kMLecK6!!tG5Oa4l!s6Kawh16MPRD zRdl%(b;zo8H8MH9d+PcYGdny70^phJjCx0kiV3?0#^VmqqplFBvlrV{5ZUmMd3O_D zAY{K#ERZKmk^H2h{uzu-mt-l(!da+4oy+?|L6v!I8grm{^ zd3F^mo713Ks$j@`whrycCBgM74TYYOSo6xrTbSf|`uhwaHnZrBVH9B^ECpwql0r2X zbuvc2mm9}*tL*keAX)w)3p1@+)I~vE*^3Am_RgLa^&I3^*dp6OBC!G#_$m1L0Cj52aCZrYCCBrXL(e z$)!O&uZ&Mp7pqrUea4#@{*!yh8KJy~|7OW})1Pg&wT`t7VaX2bYi}Os#~jg0W@8sD zw-w>t{J7HY`+TunTDe2RISjbz_6BXVUvyst7Ao-9Ucf!cnn%AA>>r1JqeK)93Bju@ zv(3$(7rJSgi28RDXSm<2w!_m(N1QCakP-_MNQz~1%Iuro%hQf&C9%*jgdVWZAo(e5 zT;BCcll;`P=<)Tg#kSQ$0J6(VY99jT+!%pnBMKhDL%Tmk55V73spX5^?;<&T`nZU7 zm03^i5Gv9gT#M++2a1S$4q-oq11v|M^f1Yv{Ogl;w?Fd^~Ll#^ktbhyx!+~4u?NxsMfq@tjB|`<@w5z zalde4y(7>5_{F9F%R(&eEStco#!%MQQDlZ1J|9G5h9kw&zF>dFkT6p~i=YB0PZ&oW z3rlj2)s>I$rCoemic%pG3*|XkKsQ*b%}1xy54`p9CDZs_V!jML$KN1Uu7P$598)c{ zTD^@}zO6N=9nCY=`3i8zMY@RB8oow(S5n@ui&}R_nj+R7>sd_1g5$h0`tbfEIqYG5 z4t{_|y@L`kAkTu5Y`n!TK7{*x(hF%|3i%KapAoFMc*4ojiDI(MzR}~V^;=&MTzm$h zBSkas0AiPEa{&kLYY`H7MXtpk!*Z%bP9iT+_wp@bmkp+VTy7W>ndk;Mb1?mXe{GJF zV`Ljjx!OfybvhV5gtcg(hY<0(_ zdjp^DAa&V}=aBC3<@EBjKWbS;My0LpeubW4Zg^b)j0qe9EPPsZdb@fi0IyHiJJEP= zP-?q99(*vL6yQAYy5IeQksq_6IS;DuvQdc#=&vYy%n|ep7&^~;O0x$#Q$I9QL8Feg zP1_}Ma;#x22kdjX1YR2?MMoIw!`4scvZe2;dw=r?Q=?pd!MTWG`}n&xKNg*Jx}x7* zeB%9g^YRwfQQfCrw0E?_UrDp43y#zgL&wqRFz)wv^Kp$wGMY24@uEAkP!{Wz}rZIFI46wn@{sK;6VnPFJ7~XkZB9- zVsVI@#}X(OCKL;g~M9$PFdkr-Bs^uq0q>Bi$iBr30PqM zZA0U3Iq34Q@?1V-=Bc2wcH3j)2V5SducoQupPk8x<+SD*(X>OBS?I5T<%+(5dZmN1 zgoOm0d5J6)8?Ti0MuC@~i*Ge9JAAT|e7cf>LRh|V5DX8gdV+W5GC^})mc%ZS+PzZK z(74B8TQ_x$bV7zRmzKNbl`+qFABr2^N#u#QtuvFRzsDuj6Z!o=P%G#=aHMsWd&s73 z47qn7QZ+1^9QLty58P`5_t3j;N+WxZ9d2M1Z<%Pjv^0i@xAGljq8VjU4K`|uJY-#s z1p=e(03a$^=V$Stk9U93Hvf+mx`!W*&s0I+k~}aF9Hqprrau8dEMY-?K^*Q8Z#VJ% z(~glNM(KHg7;f166HlVT|3>P9@C7!%lifBPuc=s3x1!KT66f$*4}L1hCDA2ZDhuW8 zh3~^SJOxRQ6v;W@rn`*vfx7d@G*dOkjRFAO^p6d?Eu{KBJYU!s_i-L_yaOkR20pcs z7HzkgnS~r280FoHpH#MZoFGe+mO<+hW&LUtN0fW)cJUZ)|4m7=ph>D(%>i-21Ebds z$&y^I9!cQduymS9@%DZESM8+2A(8u+aEC?CicW5ll~Q)4Jug*UBc=rGyD#j%R;JU+Sr~eALZazyX(_rP@n^50j zy*52$5PS%!O4@rT{jT`70;eW0*g-GE3-I8YK6t{hwV>1wJCe`9-@UuAr0+ZO##j8WXK280lCrp6-0N*jey4B6L?Kf~aQCQq5yG!5~;y$OOhzD&Uj7*9Of@lQI<~Rf5b>?wC77JLlF7)0{?5r9=@wVnZhq zOB>2{8tG1VAUF2_cKY&RAsgcrVBah}QT`Ks5=5iWyl}D3es|64C0=AR!WSP+HO=h% zG{2h5y;H%Z7NDV@qOt|?C@Z9yQlph&A~Obsnhq<;srdupp_IVYL-+8pv4MVKUy{{J zPx#4?ge_|dv*vvtev~asVZcuVLN2z%y*y}M9X)P<6gY1`GQtB8N@NW%_b%16l zho`?Ys}>0{gbbK_%Q^G5yPvEVc}+OuYxj0{Z;#=ioc_Q29U1I$tP&H@)6ZA%WAPm#l|g*{1| z0j%LnG*Sz8f~Frfqm-_qudRHS2H?Quw_R|_AprcA7ixD3c=!7P1IBs*d5_>TCmM)z zOball2Auw;SkOnF7{!eMSabZ~>s@LU@ahG8Ln}?HGXR?j;D`6-fdNCkFK>BYmpOnJ za4XMP;-#gSirBpew+13Ao`!mALeDp-f-4$xevxHc{AJFHy9!eem-0g0?K9+<^i`D< zTn42a#kled6uzJ=Mcr9_GSES)ziy<&GM7ISx0BVmk%NekZ|>=8GG&6s%?y#zWr^oK zG%7l!x9PY3ZBeMed`JUV)xEcVI0JrB?P@7PpJmct@8=t>r%U(mWAX5UtlNw9j!J0>NtV9& z83yHAlNJP}d`{R)&!zZ!L55Q}MbO(4O8p!zrxL^IJ4Cxj!&RwUP!#W<&0hd}MI7~mN6RM?42 zu=Efz)75BoTv-XrhnwMe$F8_$qB&;Yc!^9TiQe76Hux={Ajcy2zBh_I2=P^I`6$q; zlZN3Qx9oHxr9andHvf%&g3XP2DJ_4U8WgC5^Sg#+d$omdV)m~x36uP17>S_o#2OnvSB3x#jbD~4)!L?b9Nb&&O>kiZVo>g( zqtw$ZBY3!|algMN=_jfRZhhiWXxtfWg&YEDdEM>OTn2G05~>48J+>t6kRnda7Zpr3 zU)W?agE6dso&BfDJA>K96zVxn}$o@ zscP|AhrXF0Z~y(XIA0LvjWdC%Sny%vfcxsydP5l?srBuSzHFRcDi{6?wc`X?-0)i^ z!8gh`G4GcLfobMXw5L<4(_c)H)%gzJC;y$zIQ&F1?nYNx!`7;tJdiS|K9CavxGPzP zv25406C!Yw0|arve$>B*R*x?+Z>$@0%Ohb-*qXc(I_V+T#4JSOPYroK}=7$+ys8y z(no5BTSxZ0&6QCfr~&g(n}mPZs1QrD_#($Yfm_O-28ParMWa} z@@FNXhzgeE+fQtlQB@Y>8QPP=pKc{)0t%=&3=qIYAB zdd>9rISn$8BU9vY&bp2ae8m)A%KKbFv@TN$>XoLD@`|2Fkk~ST3zbd%RDa(1zC+6V zAR4y!=5|n_oF;dOIClQd*3)tDE&DfmjqkTkC?K?bw9jNUE(sJLOKc4raS*1(CE<3{ zT3QqBz9~m(5Or-WE+09H1mS3u#Ya@^UkOQiX4%u~2yRLP%P)vC;G0E~)nPF%F-ziY z7u>qe^yQA5*Aa$DfgALXk0K&8ab4tdFL8U&{BW`#|xru6i2`7x@?r0~LpVnd6Xo8t%zYF@D-KtW2WI2m4q1q~HHO zempS|1`NwP>V7meDDd`qA?zaGwB1J`dZ3NfCS4e}PlR<>KV$TFucbnhMSo2$V_pQ4 zl&xC>!VRhspozRvE(xWOrpRDlJxGO2@)iFP7-xx?QrI)QF7pW6U$x(o+meAM;V=9M zKypr%_-uN1-OcypYm_Il<@9F`4xA^oBcCZt(?m~50n}KSucE(i8h|}d&8Mh3AK0Dj zEuMx9xgdz1tF)Q7cm(XXgu+HD37xrFkiazD**6IckJ_jQTt)HZUC)U2FxLhQIDOM; zP&}SphdMWbH9+;~L~Khot%4xat%!tp&**49sS-MW4aC;BJA2p7+Y|C7`gFbsos#qc z4{|l;_j{1g81zuL=MPsGH_*5uI_Uf;$#~TJ^TqviEMVJSS&N+yEEv#td|@k(W++|Y zkb`s4RVYYZujsL-L$jW*V`y}>+&56wH(d*4V~C3Ke=t{Hu7mP-76T+7awQloM00J7 zB{zDw>%m{tE7z8hE|2B@JPA`U@}g5D*$m)vM*!kmFEaP;>DHUQ;5o^mEseE|TzOPa zmBv2C-3}f?eDDu`ovyv{UI+JwG<`3uY&%Cgf%s;&F;ki0|2KQ{HJf;5?f|v(b+W>|2m!jL~xJEtr7@?LTB3=KEz|Jz(#(k7vm&`7v*Q;*i#2C}e8h^nj z5T0hj-U)x%1HN`#-ZJhuPv4zrTE4;lsc5ued#m2H2_5Ztqweu5HW-j&SA^j1=I}bV zcNDw7?D#dKPl&wQ-!e}`yjg;}@2{~z031`dxZYL%Nt_)U(Cu*~H?q@EqH|KDI?Ek= zHjAPgtqkS47Fkgi_E!zz2jXK2cUKQ|NHy9;x~Fkuj4B%shcH=pXZu0em?pa0TOp&z zOchmxSk*zjCq=e=VMb!V8%h+^lz}H~rZn!RYt)2o#iq%u8Kcv0+b!hBHy?=L?*k^5 z;#X8*wflOHStfy~HD%v%+2&dlC6PITnB44g-R#Zb=Tfw zSX}-~@k9LhBVqIY0aB*kjTuX!o3yWwmfHMfHOPp(@^I>eEJ-fbXqt7NseQU<$do^Z zuMaJ=Dp^hqk;5mL2_EE1=X64g6?fU_FyRr9Y6YZVxJd#1liA*C;YD6mB-V53)D5N! zEPe{2wvy5mOW>6bb4u1Su@)mJ`>x^N;Fwpm-DE_@H~&X(mCLh-d);zZPe zn!8N`i9Bx)W zof2e}{ght|d~p>=H_HWSft5I}eEH41ytQ4c9Q92Oyxe6zZW$wK#>@6^KKX^e8CA%v z2>&8IF-{5$XYC(N)k^92vriqqi4)&F_`gMo^}DDXgmhHxVfPxAbc}d=y0ZjL?B$RW zeee2wNb%1+n53Pq_Y$rKq@Ltm6!?nH_KyLsW--~th=hp`E3aH_0_(W4yyPkp_do>R ziLdEF&5qgKku`1q9Dip}cSQI&BQM%fACCR@fbNt{qFTK0_G7fBn=4|-`KM9@`l_Ra z#!szRN`PCu&6I<%n(my`wb&WN5V0H+;oL5Vj!iTe8+yP)jfaS!0xwl7DF?!6C?d@w z83(WJ`&{sERPi$H`B5}c(Q>?BGF3g{fpE6?oGLGH>L<>S1R|Y{93pMK0jK2z!dm6; zD#POZFm?ZGeDYPlf;{+cP=6nLbkWylW(Rhunj(Q$7CoHBCT=wyXRNB6B)SGER{@-70IMr4@o>!;s0sW+-n3SSn! zE0^BLC@; zXCd7EX|!w`t`67Dg)ZV8!K0sMMMI%EJ?Y}0hn5E9Wa9(M%GwAhnhSq(TM9S3 z@vt)1m3ty~K(9HCeiPOw5Y!opHl9So5*!SjLcnLdBQcEo4NuQTh*3}wZ>vsbM8JN;UKq%9Z*AV~WDjzZ9!>7~i*0-1c(m37h$CQx?nk@HSd_9pl73nxyaZM?s%`T7h#R% zl3$ZxMNwBNzW&Xn-KB4227*09@r?{8q0EG{gJcWlUy3cSZDvnXbZ6ROSJ%?Qk;0bc zmfqsy@=IOR#v1Y*sF)c59`AJr;|cBgIT)^KBG6-$xMRzq0qNj z*cAR=(Y9i6f{dG){`o90C9djMkfoRb@!a*50z5+4Ie<6k;103ODo-e=uo2Qn-oga@ z4u(|b=bz0y#z8lrIXM__!owWxuB(brgbG{qGDU8W*b3FPD>>(9y%MEesh@>&)f1En zvk1C?T9iYiV7V$>%MWJDX^)1I(wEYaTA64mT!>LTL*d?wm8uMrSyt_U@)hZebzZ%+6Lws+s!>{n%qNz9&S1UoVLrnx3SV@093 zh@q6-S5yl!y_#$sh*Qm(Yg|i>$!0XH5ElS*($%D2HqI9&X?^EyDCGlnG|}l7PG&D# zXFOT8#5Gbia+7jOAMl>6pLB!e%cEslH#0|P`tUmko*^0wv@!K(GU-*9(3FIeFGD=t zyLrMxP+(p}Y`jf+0rl(EGi4N1oLGDi2wRIL({euJq_?jHI_{%qJ1cz_(he12u4*Up zvQq1wjciwG>D`r*W!KYjp|F*i;~{{tecG}a1#mEx&enqYgtd%(kA4)LQ9hcx3whU6 z++f=!a8~CiR2SOY-hJ5-<3$P;%)oUUYMpS9nWocDBilK6#WPNVzVWel#a~CE_-=D| zQohaHUeh$zTHp@r7VDHS+cSQ<(kK4+e z^c`e1kq%d$BFg&7Q2SHWr0asNmacX}Y0TK*OFH}G;HQ9cJh*pxv(?E+n8bV27(I3E zLlKRIS31`OwE9fvsieH~L|6)E+4f#LlQNlIKnD-f zKd*8$l8NShW@KKg!!NnBYYQcz985RRd`#g zmB*^JJ9o^Rxx-turGKZSTMTtEm81ambZhT=U0*)o>;W7rUc;)?AYJ7+vl*gZUB0w; z?8jxEwD)^+G-zgC6neyFF z@>t8T>=}&4cd51Mof*=(*ibu~s$%%S^2gT)`U)X(dFe0<|G~e+8?j(}rs%=?z!XBprY~!P}+A|FvVU{&7uC&^w%+nQAryU3KGkt{~r(VZp%kR8W5xNXU5F@fN zT49-K8JhRU^kDT$p=`V8mG3JkvwgjgPDp^de)MknzSCoDHce}d3tK|ri=>z7Pt!E3 z&AkT*9cKghiX&9noBXyFoRQ)IhQZv@&%(Ya6{pIOU0E9$xR~fmnBmWR1PUm;&%t%QR(lx^1j4+xAPQZVzuEo;v4p=wv6r4>Ldqq>d;t8 zqf*!lcv#L7mVsZQYQti(V*W=lRkn z?9jldUgZe;!5v)Y86ttDt~ISrQAKwj=V6zJ8tt<1os6#hW==? zx&06dy5PJ;64qmz8QBm5s-3@%x~jpc?s(JmfKdORCcf9+}z0N8H-&SFl8qI*HnK`tS>_4WsS<$Wld(jWg}@nk0{$~8kck%jt1El<|PyKZbsX{ z-O)YEKY+uyXud3zo0f^i;8aLpK4H@83bXP@!iev8LsZQn`JDD-#|SqvuKH?&|6uucx{ynayG+kk(}yqtd_4 zB}h!a%kS$GS5(id5JnJU(Khd0xzB19#1$xlXk+2Ka*xf?=T%P@9Yz3Q;sHZ_>{#ul z!Urt|5uL&9353?U| z!GC0mSWx(bEPPB665n6s7B{i-b!OQZ;>fk>DH%;4r&oKiKPakbfzHcy#qM|RZMok( z(c*}da6VB^!^hfKcHwa51cld8fD4!OF|52VnST7|_5S@C{eF8+QYq_4V!P7OABbwm z1iomg`ov zIoymbi64=lpN)&hUq-;&na|n6yKl+5Z#e6Dx07H2RGK0i2JoXb*P9^tL-@#uAMEzZ zoCba?OgB2y*9yz%rB!d9SPq>D#|wR%&C8-+UR4=Ua7L;Q#|s@Ja!_6kWz5Qg@W8bR z*1|OZyZThbR#tnVp@XY2xE!z4teK{uw(@8->*(kh=FYZPr|h#}rO-TEOWON!XIb;* z{`o!~>HB>1`ZPG6XBfca?%_Y-^DYHI_F_`a@4C+ z{g5e(W7YZ{55pxS>oR)P@)`4X&xnfgzLJ5j{IIt}HN~Za@+QrDDS6tJ4{80x}py&)g3K+b7trj^3Rn0X_#zj3KoEL`dVT>(GSyOywtbz~tPntfeBr*3e;W3W^4 zjccplIpc!9;y_NuTDR)w&v5nEWgHX5M;Izs^H`nPZW#E)AJ-__4bz zih@?&EGRZ#+kBw8H5O2|nU_fZxvb&WgVq(R<`3abn05lW=c8sHbedKX<^)a;gj0(S z74L&s`GEjS1$loe#q~XRx2_d7Ky@j@kTXSoJz$o8dsVpnibC9s7b95fc`NmM4d+np z{%bcRZ~k7zGMm{>w0<|ko3*Y(J0-!-ru2lo9XRIH+j6-WS|0yr8pX`ZJejJF9w|iu z5`Rc$nzN6Z`WVP>I|`5{DE^-0DbzE88vWaWI2w7H#caTF#0h-&7%jBbTZ}({;o_$_ zErpizxCcFQj*6d`L}V|Xn2Y?slP3Y8ko zZ6~{RDhMq0LM(cE=pPE{TpP*OnK~;o$jcTgb;dCHV9OU2n{PdKnCD;6z~Y_n!~P8# zQa%Jg(pp!)G%>Mvt66M6rE&IBd--WT#mo$e3&GvE?=)v5rDxsF)s^%LnDW=nii-Xx zqrwi_=DiA#n9^MWeO#i$uzlCqbblFDEk)U{1=sv(xA=dmP7lku`dV*y9fd$mKACEq z>!z%@#*Z1Vf0ID+SgQkI{4FJssn2|j5M#a4TXj>(=$)5|=k4C6kTN`N<^udb*6Fc1 z7hu~1d~Dm?v2An5wr$%scWm3XZ992l+fJs=J#*)NfvH;6wfgs8FS@I%IlzbIN=<~p zN&nrhOJcx%qMrzYkk^vRgP_9=JdO3Q(w28ZaS!9tXNQOWIiZjC&^y}l%oHMfUL?;2 zm%whKzFJhPyuB7iq@B;@kXB@G!9fUbKhFZGx)lZM^69%>v~Q8FF{tOZxRNH zlYG-uvm^-q4Jl$DQBvhDgY&Dt2%c%&=6Tb5Ph&Qvk;>u6J}?QA4Nl-l#U1lG-#y>C z`~&nr9kkN{69@9CN(a`Rn%?-wM#xlA0mWp~+MYRZ?iqZXRY*$WfT45W@o4??Q!hYH z?H#r)C!yOtrRh3)mf*Ai^F*arw8ll`-0yEdctVD$B9%HmABzmgdPS_unV}#DFJqIR z=CX%=rsWRgG!JQ617pa%PT4c{B$~7XQJ_)+RYa&IJ^j>dhG5%w;6-1NUQjqeW)bV! z>n!9+U>mz`K)urHd&C3U86K4Q>FRPdHC5#kiD|4D2dkOf*#=sGBdXf#mJo{#E$BYU zfF=^UgBFp{*DELLq&9u6Rh~-l#-I>*)jqx7!*VR6YG_WZDL*o?ql$gwpVdZCNG8u{ zZN@l#G*!cT^yxn2_CqF2yS~>9&pd*5(j!Otu#^&K}U@`QOyyj#127?Vyi%>`{+z5U5`rWphYgA8w0awl34LL|mZ(i8YMezX9 zcWc>aFC$H_+t{{uQ2_pnsBzCfm|tz4&HA`8OMz{o^oRS({(N7KgU^$2*r?ou%PczjH| zI1d(m3oN*T^>zEd5B_j|Vd+Zbj?ZTzUyeiLiP-U3Ti59I63n&g_Y&OhrPNP0a}y+X z9?3KK{phc9`bK%eH>a(#)-c6FXh0QWt-H=R9;N?lds&BEy%aSfTW+P6%5hF9=A_BL z4fQWDn5i|5vMgR{jiQBB6}K#bGsY>W{VrZ{|Gv%7yM@>VZqr^n2S+PZsN(&en!JR4 z_c&9?P}eoAFKMx`&Bh$7381T{sz(W{Wpi~$Pbq0}Dz{xvPrKFUoaYLs$;ijTxy>vk z(c7a76$iiA^6|hoMRL%gb=+qH5Kaym*(HaD-7S*a3NE+ufH5Fcl!;`K)GfMd9=Uc( z`dXqL0VabWEiEnSRgy9j4;kG(%+)4{(8T83?wA%Feyg}yh68P{&6>wF9f3nlhwH2SsW$(e;l+)0zLS02NYsV z$-2!IfyLOg*FR4h%b#_9D;t@K*xSY(vTk=%HgD#q)((-F^-&0ZUy6k2bx=?$v^`L# zfHb_n3VG?B-XXA?+AvBo8r~V6#Fo*gEC6J%~Kunh%vadTc{WjZ%+h8~)qBL$3Kh4tySXvbyYsm{}UnS8cKB65V(|qi_&1|A%C$*rOxWq$j_<}z?psvNviwEug`pIc< z?o0~$96sJ&s43s93WSQoMfR8p4c3k?_jq5f0>Y$xyX#Ylwbpf*%fpXw(`n5C7m#PM z+U;Q}wb55vqy*ZE;7_pzj0xriPb4kBPm83RKB<6@SNvt+VGvsOB0TjV_-%9=Nvji!!e1F}xVBJ!ZvwF4s2o-R>8GfRD3jd{bB8#nhY_Wjw)MpSr;19$nft zYf?FE_ONivchI*=Ne<>*R{z!7RuTuGmyi0iP~tQXX5WAwJF68AhVsH7<0{CLI^++v z#AfV{#>X$@zlk|pTXie1mbxbSah#gRWyKf5WT0S>JYYjXc&>_bDR1hCmxTyk+M>W; zV_`=kC9aechFI+%NMTD86V!QCUQjfsg0-CeksZ4XkdHyuUjNkWrzf*C@eO6(k=XYp z*2Oe7(h!!ReN+*cN|%LrX~QwxK}KW;kspC;lD~sKhtsH(uodS@C6T9&kViThS$FsD zo6HGHN5n$6!OD;tGY~a4&IW68ZY82FR3(3*nF>dgdVFd|dC=|>FyCAG!Yyrbq`$0s zg2-gPtp|;(D8+cUJg=Uk_dWk139ih_a+IoDWsv0Y+)Tc({iO(|Vfr>jH`R&hwR8zp zMZ8=&AU)o(A0`>V*AlY?D2$HVQX>Kuw@KC$BJ+lexI3BMS#uy1VmEjC;}WQei{lU- zcJ^tl1~9i?%i}5gbWctG>WIAlitD1Y37UBTEio;M;Hzp@UW%uP=>{WOCtmV+vzY`y zyPC9h1FQN56$Wf!H z<~vUl`&z@y91GySi1|{*b8<-CM|>I%yK)F28vJjnn*K4YvV7fq;Rz3S>GdPb&FNBS zRh>0usATGQubMhnAS}-|n~y+vTProS*24%k!1<1}_68i+zXf7V4=FIN_K zL}d!J29sEf^%pcVp0+y55 zQ9<7Hjc`&Z<$cin(J`~kX5Xl}5OFn-+zPMXKWyxSr6l>3o@xMFh^6cm z$TQqmq=FM)o9n97DXzPOofP*3{ume8ij(cW#FIk`#X#Lf*lKPN`#r+L0CW7c>+&=} zCjWaixW6yGcfG;~e?5aJaBuK4-`>1UG+Rx$X_#SpkzYcDkenbypsmfem8%VqKG@LL z3JjX)T${3k_yeheS0=X7Jb>NaT*ZO&aEhY?1!g}*k!GHU2_|@Ly4S;~!rwC<4HFkc zI80B;moa(Wvwc#-)PYJ7!#=%3Esr}S^2E6cg7wzgxRK|et(eBrCEb{91rt{Y@-zFm zmS5hONN2OyS$>nvT|zE1k&!b-L{`&8%Oe0BZATX-Ck#Xm6lHY!6Oj?X-Jt;$JA>h> zlg?9sZUwnEnq}O&-^VHb9eh|IUu}fbg3%UarF~|YqpoUNJ_~U^4%gt8#{-Y#+5yia ztj_#ulOc;$t1*ZYm6EwcOX`}wreS@p#{J5rZ+EM=*%B=%3rNfbe zJfyH7s>m-97RZmyX(oOVxTy#%J%B`%G zQzdNsTMkpQ{|j?#2poS-+`Y%g%m0)o98EZOfj?ynY-WTat(aU-=7o9%3hiSoDsC{I z6pyTt)a2QG(WPlEmt?&_#(xlJ!&MM+)7)-6 z-i*@PD~5zlqjVb7J{enIIZQ>pF#(`}!LHye>aI)hi?1#pj`im_|H*SnYqU949_l zbLT{R8=^;r0KQ;lVkUDII`MuguBu?pf8^;qoEJ7h_{iMmz+}E%Q1ne|fZZ(mZ zeXc6c?%Vl^#D-1n=N6++a$3Jhr-;qKLdqT3{7t<9=aEh%BCkm%o;M4meViZR?3Yu_ zD68o*qijEm5W>lqMb`~$VP380)R#;@|jG+I($Tplt? zHDt4%MV9FxuZU7GB+V$CESa`#k08)qP|!51Js+u5Y^#|4*UFTCgFM;aj4zb`%_cFf z!xW!1X0?T`Os%41P%C(QC_!gr*cVGU$1?{-cx<~UvygZ>Hgpek4lWn9rk{%@G3IgM z_N4E39w155T14t5&ili@4HB36e7Fy`3~MJG_s}j<)TA{BeK2xpfPa7>g?;B}j9wa* zV0WTL!5s)fL?G2-Rm2l$HI-J5RF*!F-0F4kxLxd}eO$i^Uu7nM=F<;Cppi?ShFx=5 z?B>?&rUab%iC_iEa4fmYWe4n0W8;;i@&(B1JHTj(GBoFwoU1s>;&3*5B)~5}ToQ0I zLAhCe^?ug&+CXMbq-tPbWIx3#`N&K|!On7kXP5rWe?)?4|KHTmu{{A|u>G0mz zG7p!oPV9ER0?sew!3Q$?7IN}dL^|WDT!j2)*FibaxcDOAi4?vCdfqg@>%IdYd+F8T zDa?wJWoKju{#y4#=DYmhuEtX{^0sdT(1Kt1qVEWoK+a6Id8wvu(3Sd2Ija{V`m{!) zzah~Ry|P@H)Ko?&@dXsHb-4m>Lj55x)I6IyeUYV@2)f0LsXlf2kNc08uzV;t574`@d z8AhC9BlQ|A?l&&=cX=RJppdW!adml^{d%TXxYh3yE89#PlabJgkZh66qOP>Nh9Hi~ zeN2@$mR3ZKo%TpvT}_F>ggqw!t6P0|6Z(P^<6s5n(y@r4A=+P;CK~F10Kt`LlIypt zY_?=o!3Ylu@TwskziS~8zy40Y!YN4v?ZElvw%rzg6^uBesyg77<;*wd+b(at5PY$} z41ka}PXwM+*YSUS;MwLwN+-=1dZQCa~s>tckfIF_W*$UewRShJ#9KP;Nv5i)8lFk2OD3(gRKnIlfcw=IE@l@} z$KvGd7*WD2g*Mj=j^s6{B+9nt10=y&@y%zcB6i-XejHrkV#2Ii^z6y_htWX#Zw0la zW2PD(*9k=Ih>bi0MC+XRkCXj?{@8<1+P~P4wa^rsNN9kd|GWy?#(N*-j!0d(ROG9n zs;X1ZC)QRU&9?3U;h9skyc)g@Lf`MID_ z8 z>e){j)y6}|`Da#vM$*hV{;gi3t0N_8+#nKhrLAv|db&g=`P|^@mKkvnDgesB`>Xl< z^Gqz0xGn!z#|~zf3ay7k@O)=70h@FA$(t?5i9l@8%r?FO6DOS3j1{9p?KCu9-9gJ*yp8QwV#*hP7IRPx@XGt(ze0dE>l0@-^sk3i7!6B zjx_^mf`^i`?_rsA&|&J2YIL@{rbN!!AUujR(8e^6vKF@T1Bw6$atpj(X#14uXbhoe$;?pxaHS48{czV$5r|> zSV-)4{auDTcT9>?fg!_?B-7JqUI4C;Efw}nxrv+ZR7RfX7JZNP1w#!8x?;sx($ z#|+TQQF?kIYbASo2s9E3Shmr!PWg)4MaHbxJNdxUaLZPosC&^QNnrPk@J`g4D~1&*SEj#|a|7le_B3BsMot*v_fzf)^{m%Kb< zmKv}TDY>^p>ETwUR7s85@_Sh;Dng>EvESxpTg27rKFLa}r9qNw&m>@81P^7xEOc>B zz?SKcE2*Qk)vwUvwTVx8OycJT?1T4=UzKOFGNhyGUGisXT{1N4E0R^PBW zdq{_x*uSxqe4_RH#!+*N=zifQQS`-M$NSyWEDQUTB`EBz=6hE1eS-UDem6k_2a?9J z9r$ZBGdyb^m#_GXYSo2ymElPGys>qaUG)$CrIkB89rEq>7x_UFe<*Y}(sGRw{b8{8 z2i!XMhQ?xs-Ex?ax02%ldr$m}W@zsR(JyOITkEVOHEY!CDx_f0-{R$A(E6Zbxa=uQ zA3ZABV}}|E#LU2OLON>~LhH}OtFAH52;;PoR6PvbZx*l(=oIC5VjcCsy|9zzmd3Sb z7AAN!VVYjQ{zGv!m6jvQA>Q5LkH319dm~mb@Kw?weRQco(%{725r-M&5}!Vn+b8!N zwygq2GyZ7JAc%SB4A~ZZl@L$*LJ-EgdxPO-UsJOeCeJ$tPJWHsC75cmWbDGVPSCbZ zyxEg^J{1S(<8R(A+^iHzgNirim!8Y3GD|=CE=m#+`G)}d{PL7QQbz=IgMLEEnit2V zc2#6qau$BC_}yv0ggZO&?)uCmJBZnZFXi^JuI?3n^M;^D=*Vpr{)BFvR zmoxR?c)hT>C_sMF!i;t0_6z=dmP=cdb`W4*}!dt)pbs^91;=DuB; zhr2Q=RD&_BWqPi|0NI)ddEJ|#~hPn}%m?nwk(g9x;F6SLZQkigA(`%KcuI7_7I^hZt`O;oi++Q5>4?G z1+hm)bcCCBbDWj$WamIXC>s2gV zh$6R^eHVsfajxC;yUe>a_6B3-2V{>azk^F#x-J%?~f?G&$Z=at%VEr!h zTd*_Vxt-lO-(Q@c$p*yl=gYd16_0-U`Tn1kb3EpVkher5f%uiy56{~hT)QH*(H*lB zL3hwd`*bpGvk`b9s3!QUx>n;4e3ikUs!5zcNqFWz7i=MqOKRfa7dwstFY;5ckRC$J zhZk9Uy>BRAb4h~Vyzt9&O@iNenZNPVzqHf8!}L8OhYwr{5>vPj7R0+4y_~zb1j520 z$@rcPb}pH(BRrr!r$d$1w zt@=yF+Qs4s?KpyjUO%@I1UmG%vmX} z@96zr{B|{^-I#0I0{0@`XL>R_dAjdMx#70{&o$9gj+mDs{OZg57dLqe+*Nx)`_^>R z$b;ThcB`fR5gi@}Z2pVlc-x!9=zhr|ChzpMA6MH!FvZ&~dk}wL_nn8{<8I+sgRi#u zmjJ%4<|9B_&9mOF{kyRD7-1`gd@d3#t^b!tJ~^wLwRG=hw+zGSWF6o%g}xYlqy>P> z93Lod;G`=ettv}^>WHCg>5RM1`$G3Rp0+H8cYM|tW63}|TdB!`rWf#H!bkw;?e_9# z`Q&4h zR=^26;O{uyh2VJ*MFb8MO>9Y4Ba;1Ho1|?(Udm}*;avNUVm`(dgRz*(xY=Wo)*EtH z;%!<-{qxFvA#SgZy-nTjVW8S;7iFna4kg*x$(kwCZpt1U>#!h`pGen3pP;Ooi+d9 z&&Iot9bJ)ynF)Cly@GFPbZ48Y+Q-L=DOead!XjQymF*CJ@GXVFZ=%P63Km5P<}7xf zZ(JKW2Yl>rlrb?X|7|`;elKQ`BjzlRXaW%r)*v*<8+Bahwoy3*rFbkOwDPd&4nf{f zz?V-j)9~{en_>LU9;fHH_0eosRiT8La>kwq>@?8N;?@Q>aK)JCRf`}8)`DI98a0ex?mT?0EZcwmvI2;squ;+ zk97BRleX;9!vjxvKAo}52l(_~3Dn7fJ~Jzn1%8~P9XB5?32-Mt<5l#JL-ax}$s4;I zc)D7aRMz#Mz(@$g>r_|pX!A%Y6J+WK!aXoLMbqlT$;+JDe429Ru;vRJJ z8b7e(Br(}fNn{ZvU0Zd>5b{Oi?5sHso-F-fnH9u9= zWKCgk`c-mT(tw)Gm^O5_yXX%RuSL@Asu&9Cmg9(&g(#Z{V$xTWD{(B)DW%}n?~9vO zkTMF3GYZWOQ9IE`3|6g76FUHi6}JuKTDloov`s!>sGoIEPz&4pfy%-}%qeIdJPr?% zN&_m(&R0_8lyC>oo;Z6depNTIERk}g0ogdE*DDpSB07YLXPR!-Wo+!4L#{%Fj~_Z>Lqt!@kZnITwqH(jRb~1l8slB6;9*S;sn2%d`o zJZVLMKNPCZL-EdMbS*&N<>lwV12qteQ0|U@-G(RqIqRJ{o?@#~?VSo~gUd5VrRqyI zch8A#iI+?BSR(B5{4wib}q9#GBchR-LaRqmcz&D?cWgo;@xjYxHgqs z0hVnvR(B_8t~x<55?g4nLTPF2hmsc42JUHvZsUs;L3tWaOw33tTqcazlqu<%6dO!27%Od8HJ5bc# zc(}^g+&FW*;=+|Dn5>dwID)LNLSsf8C|3i!Inv|OFF8^RgRtOZ znW5vTAJ-__8lF?@8`^GgDNCHHfKz8iv-Qq=TVTP6{I3yU{b4}CLG4%iRn%L?Gn_E^9m!AX#DdfoFdm;A>UDr~Kf=-cDVXH#{lDn0IOkF@#xT3`{Qn`=cA&O_TzLvbCo<`PIQvy2U9Gg)1NJQ?8f) z$$8Q=!7R^rhLplfqRPKGk)W9 zG_^?CzrB^KacMiNNk~O5t>h>57m=GpU@su2`eD_N7ojf1DrHUN zc{C#M1yX6gYuPjL%c%yfZu)Zp`(Zy`e7}#q4ML*4%#+6``$1?K*!rzH?heN4UP)DS zCj+iR6@C#zSIP#CQEX+)B%HCQ%h%#M^9Aza3QzW0-%Grk$pZMALEl?jF$@;5Z$tkt zmAP#MNoh9?t#t7@amCLl;mInZ1Y+zc9$iA%JadQKK1q}rA% zAyFLKBIxDzwOD0bnaG@J{#La=p_g6MD?d-)Q1zUO5j_f)M|#}X4NZ()D<*R)WHJJY zMto~n@%ak1zqZP%#gQje^8rcZ)gt!8AK3I12`}vuuo*~w3yJSU8%;q4zJ!Zuv8SPo zE1ft7n{W!92lXgatOb>uOj<126C(SZSjn9o?$SGi?6KE6#0IPV(K{ipwP>)b^jtoY z{1gZMJl3R25)7xsW-sWlJ1bAL zgB#C{0@zo#Pb23Vi9$St+1H_(RC7GyCP}t1zj{Yg@zx(--3(4(1_Tt-V9J&xd^aa{ z&oo~XcOUYF)&*+h5Y3%%^0tqxznQ)<@337T{{SCa1nV>NF&$R*j@chh;K|tp}~GDZ_TbCTE!xegLlgC6&-MQdQC^i%OaX6+UdSC^@KX zRdq7SOvbr{LLM}09==aDOUpcc1?8*KCJb`N1t<2l{aOzqN_H{s1dMvNUSC9NZ+#an zpKXL}{VHyEA<~MTrY0Pbg-(QaK|am0=#n|gRr~4NLRA0B`&5Kv!EWxT|V^)JRFpE2k7W6GdQlum z(nzX7|3H$##rc4F^OFsvNAz{%A3Zlw1v165IQHC~cfwD`r0ag2SpktT->!3Pnr{fb zbT3N$9SU2wNn+L(H6#c~F!XJ60XN-z7QtUr!Jyy9j^xNUTQ4pd^;qhn6XqHexgvQH zd)r9xJITqt>2F^Mxy2^uk8*}Q1#Z!*N9WviEN^4;5k+MruK+SWCwv89e!1L5ImMQf zvmOZ9{uGI#5F|@g!*{zb?yOX^JHqJ{mz&N*8At5y0=D8cv7c! zdU}7x$6=C{F{aCQrCf1+RZ#@^^;udn8QKb@N&UveJh$9$ouhQ8U04MmO(Bu)1CSP* zkorM99J=hz%*dkPeEGmTV|;nV9{M65+)x0hKi37HFuWu^dRsv#GU9hC9zDR(!Xceh zw648TQq(&)i3+t44ys5cfvnaRq>M9|vVDw6L)Y`+&P#8Z)6xP<~5vo{Q%`0DWEMQVpH6=ZT`_3-$SUgK3M%Xsu@;OOC z48oV`)F(lV48%jyBg{K{4xux@2K;OX1n6Pc5;(0k3b#lQcjw+_VUmj(DsoaGs6LRJ ztVMw)Z7OdRCQu&ywbdsCeV!o4Fa{C#eCFpH8-u(!Tyo6k-w1Jv!-a$To#V$YZu8&D z6Udc*gyqB+dU+IGM@f`-caf@})mf2~y|H8SIX_Jf! z0+mD)yPIjXgQPeiR+nT1D9uK|d-XmWWC9%>=E?Q28flCabp?gj19qSt_fY^_>7_wm z0)Buthj*BnKH&PaF+{L_cjGOUZJlQ(8P|E;wg8_aAfSEpwD%h`c0=V(6<;?49N$)Y znL_%mtV`$_ROM^skYHzKMrX!qY3yT5nO;kL&3iFE8RqxI+hY8kDQ^iq%9crW%@>co z(bjT7fWuppKjjrPAVE_+H0&YO#^*HpAY?7o8k6s zvSq-Epp@HiMqRl;{F`rA*gc>qL&)EqW8I>5CX||Tmk3DlI1}}$laa)HNb4<}=)LgF zOUwOyFXW|=cRU{9is5Z!ZMnei*aohL%?X|G$SMHZU@3*Zw z>fu)L*PS`ueXJ8gnSVLw zVRFi_J#K#`aP6MoZNjd9MF4$3g1@gOzn1VLMd8r8&K+O1vO*~~5SU@<&$mL!=J;S7 z^3gJz$u=8M0Iq0Bl4`YWEY%aQOdTsNhK9|c0Ne`AKmLGVcW7MuD42_rRB%gDs@mD= zKU||hV@3rRN|zx$lZ^An8!WCRSyO|nOk{*rly(WvY$T>1f1NMZM=BN76(c<%BpLf* z^uz!vVxuYDeXj1S$ z;(5EdpM|0_g~Nt3=&)T!Y~?cIqdXo}-Z!nNSxBi%s0-6Gcce#op6l)!Yga-=r`LrM zB3!QX7Tym#rJ9pW9CE90FJt9DNAg(mIK)4~9I>^_(XZj@HDh@H;DgmZwA5Qph>8FG zMMPpvV}Es4%mALT8$k2>O7!FEkx85B_z8VOK88LSZe|iC z@1nggY_(S4#Wy|}ZsruR2N`bK%q(}sRJf?4PL*D_YM>Py6) zgCYY4j0>h53pJ!ArLV!kOw?b_BL@q4{M|bMWivh%ftgEjiPmwJDELwu?ZRVcua?fn z3ZcuDAU+BRk>{~OyXA1|N$VKqYS8YYbnx+L7}x^y&4BToJuo#-<>~|J93V7{La+%2 z+kVo}W`KgTZ-H}`LF?ENN$oV6AXIwCh6nau+W2#HwRu+ESkinmr#$ z(=)8V)Nr`e^|%??wc=qQ#M>S?S5PX z+tMNd!P_#i0M*jEYUV9CrZE(*Eovzg>M-b-pbWkOQ($bZdW5DPT{~&M=DZK6%F&1r z2O}Y|1k){xGa@u%{`tfR*`oo?hI@!7ZZ* z@r3)K40eWST1D>gFZOj=<@Ib;8?n~!_u@)Kt)Q*aV1@6Me-$2Jn_hQ_6sk~F7Ke!+ zLb3d}u|zxOT2+{3bqI(#txL~u;5P$YdyG+^=J#h`*7>82Rq9Eer>B?py#qoNTlKQ_ zWH$2?pU;Bd{hCrdJh%IO^;t^v<$b|9GGS5>CW^ts?LxJy(&acMU zk*&Q55KQ5cC5Bud;=<{2ALm30_a1j_3aHRG+F5Nkw3eMXTMD?SHGRV1a`lcg<_?b_ZAjEw^>($?wkIl zOAhAjRvZ4KP3K4MpK}5Sgy}#i`sbkgnHH%YK8ov*@$j(CVI(5YA35B9uR=YZzHh)K zXJyflZ(QeB#Su&d616LXNm4o;9`kky7b%Vl6eOD*X&bYe9)cFS)uO@wigntP=Vajxz9(2Z#}*1I}1nzSdo%nUqFRTi;%30=YeZaO6F z?~b0t{UGR!;-OQ3w{B1{ga@XxCsMY%O-J8Mz8NPiB7W7vBl#Fv% zi}geY&;7kBM6t_wR?K%sfWZB^DpYn#@;xt^uPlB1LO3v4U3KYaZsBKc@e|Cju#27P zpVRXeZ)}l(^Gnmn_A}kRb>Mz-qMz5XUxQbPD28g4>SVa~fj+FB@p5Z+brv3ou> zpwJUk++S7Iv56~BJ^@gfa~u8qyQlO{@HO(4m@UQm1u9Nx>Q)RbfcEEG# z$q~VMXj+b8e{11XQLsW_dbg)$;dH^m?guXxBk=uJqnW&r4ZSAABD57e=O!Y&tFVPa z>vMTCSWUD>*Mjbf<&3rTgr8StxJt{V^GVwnc;AE8j2nX}4m`pb_<$3Q4tU=~-Hloh z?>1WPj~47glyCYdg7BG2bhxzt4mqj6B{`fCSWTn_QwYnM3v-j~BO_W3{{4Qf1#*b8 z4RS~l6i@7M72E-u7Tf_sGs?Y8w7K*abB-MLaHJ(PYR!CW{u2JZgL?Ce zsI`7GiGS%*XecIktnXb}q=n^zmKUK{xXTs(B6jxTh9n&FVg#`ZY80>tj)Qnz6!K8X z?q*`oO{ZP~Rp*ZDPG;(vtNVFDALQ6@u(ACg0@)r3rU0yHV;opvv}k3V|5o_H{P02g zXb{rKLGtK-3)ZpwP=i-SR2r#J1F29{FkMnO843v%*oZ_>28>t=EF|)eXe1C5G7&k* zu;~8`{ApDFPr6L{YhWQ1@ibgUuZ2QF2bG8sA_*&83{Jf0UD(2aq{T2S5;&)2lZEkC zomQB2Jf1h>M5`6_L<@edIcvfJ5>o88o@Zlt2< zz??WKTydo(q-d-#RW6+J&V*f9cv(=4A^6JHyD%*_+|4$W$>cc`G3Jn2_%^oFW+d4$ zYif<(ITK~+vZNPe{tQoOxaCMDph7#52+0X=BqLFD)zp%WM}l!B5>deZXaBd#`aj_+ ziU}QurgX%!idzlYxK>a#*|?TnV=B_+x7r$t3EltYN^U*LL=0r(($Eh|b`MIz-8TEr zNiHF2abyuT0y+2MDl;eQ9CA3q3=Zr9w$VDcoY9mO!`(@z&uHWawQWeoRTO|4kCF^ zk}BF0DU>})<$3Ql@e+N1BZ$J-yflKiVF%fFdWTcfoGpX~8c zowyApRuO1N&Q#rS)OU>_yjc^LWLap(_N@!8AUvrA5oo9O1X*au^ybb~qHvTWeCUT+ z4R*3&9_5YaI51C%pl(tjz($HJ^!=>ge@^oM8i%KZaCcL(?yXdUJK1;_%8_ozL>J1z zPW^u#Nj<2WMhK9S)lEYTu-$*I{a<+&dWq|JiRS_wFY)QcA@T3vPMwIdmo;)F&CIhm zSQjv)OZhG@UlgI(+(gr?T@;mf)H4{b4caibd{ACU15Uh!Cj@rVT>Sc6vu>p)TN$9g zdy8#8AFQ_i*M$52V}G7LVS$rY)D&3~VU1c;pFF5C7bMxo8vpanuDCNN#tLk1#!qT( zCS_Zr7;d=##gmOEf^q%J!uuOhRC47-ETkuyfQfQ6qQXu#9Q{8R`Y(MpQW5Jl-~E3B zp@@y{(`i3U66`)WQ^ygT!pj{hHG-2y1xFe@8tTeH*VML08ZGHLJ~y z$4>8LT`mKOT)jg%RGM-l0wqo)|viFw}Zq8<`%io9^*fv_k>aZoP2o?Lhx z;Ci)id;C8>+=$Zi$KpX$wtaLq<@^ic!hd;Gc-3j~HJc z{mVw4MkeU~HrXRpX{L%EH%UHh^dHGgQSQqY+qjyR^A zk9C!V#etBDQTyy&$CS(a>}|*S$DRg$b$pQNIFRC|=k@k&ZAJ0a`xr{N+-vp-_CGS8-GMbrnYEB9g2Z!6HxhpCRj+Lq;&PlwWPD+1Z9i0^-+eOtmqlV8C8 zLPuesqOYVHGA_C2C1J*y+WR53Tj}W2H}qj*==ngF(93bmAzG+Bq3qN5U*Y)?(MWcp zHcH%Qud$0|k7TcU4b=2fz21E-j(Cl6ufCCdk-RPY%- z1GN>S%Eb{+r9bN+bQPn@|2zMqr)2cj;b->L-dIYL8>zh?FuqbZqBQn5-Tp^Lr(Gn3 zZ&f2T88SRs9vq6l+j8Ulv8~#TNPpMc8v8#bg(K1hQ-TIuSt`PQ(*yW#ndh9|^~&5x z4SFO={?U`AV&T_0{*A==!(j$rT=r1>-N?4BQ0({Dmdfb$(m*%egB3Rs*nhJSX?e%= zV8v~$BqeCTo#nxb8)rTuy$s`2eEv-rGS8n0=d#h)f9dzf>3)B1TltjjD|9+i;xjrbOY9L}9MIMoeDMb}nDFMXZwfQEXzwN)})BvZ8gaU2B!~-2$}F zCCohf(7^t}ugr7vo|dPqfU?xg_ftm}xH`6H-eh4uKj>{Pg~)4)-`&6*YUcZ$Qpks0 z4O7T9+;X~QG+6HT23d%2NU-LXboBaTtW`A}zX2hm!IE2Ygn*#7(@x!dpe#dDhHMdXd-mqDpiBIE3x(ahWrA`jfmutT^oynri^_)61M5FzcqKkyMdJ zAO73gdNVuzvTO4QHTbV|^)vBYD9c=`{BCdN(S_E6IR!@B9FUSizIqLlie&iPg8%p% z|Lea5M+hhcUwM`GOkHhlFK2W6Pou-*mDnvBTlpvC6uKUeWzOPiYm`F z^6ZD|B)inKuU(Z5AD8>b+Ez0<&^CYLd1ddDx~QKFcZTm+GRH%0x4tS2=q#@AhN_uO0_O{};KtSQ{DyvB}H-*M+C%u^UpdLIx2V!tu; z_U#jk`$+$Bcy%v~XMiR0KE7cKKq(GqJ!vp`&qwj@?4!;tSfdX-aZRH{Z1>q8KY_P&MLR9>=Eq4P-n1ieRjsdZ1!epu_#bg8xRx3P}+ z@>eX0#FHDdje3i{-oaE9BvV16}zlls5 z)W|ugOG8T3K2?SOl-y&Y<~o+6iR>KV)2a4+W42hmN~?XVAjb3~ujr?Ejn7;{x_K)` zX?e9NME4;5YO3I18lKCK%T$&6r3G*UpM}tb+<3~FRThfc*i%}Lk(doBaQ!HAA5|8U zr;;d9O5jA^oBM;4tHF`_rhNU;)_5u6(LP=7(T}`yJJ{0jJk0ezw5WTuW%+bi0`T&Q z@u#01)wzs_T^oYW$R&8kf7P$n`T$J>TF_x%d6yBX*6IxFOu+k)uPK zS_wu$tH#|dgVd~#koU28FP<`dNEcKX8~{C3^e=n-g2L-_>8GJRpBF!I1k1M=Kc8eh z@qT=>@l(vqP`3^LicSr~sM*(?wYee3KnrcYeBvjqe#4H<7A1zsHl9M66D)cUD_@qU z_dIRgu(+G@o-A#T30zBI?m-zR&)&Dk#+w?{xx7)$u%OosS$B_m8kP1E;#Yu6SVP0M z#Hr9%4uXvO0riL}9eEV`hDm;EeXDs7(fgjZ&U>#w3?|_fIk|31zgDy5q<2_T;K_W` zU_ZB5MdWkja&}0|&7HJfYDYIDgq3^A|3=I}%!B0zA01V1=v7A-Oy1XA|8Ub~pgGy` zhjNWQ$GJ9&ycg6t6eG6WeIb)!^8V16F@0BR#?Li94Y4P~1$h>u8s#gw6HXdy-N}yJ zB`AwGPG&2ONVy6`Xm3IEQK>xE(|m=I@~hhNawP@4Mx&G_dWum_r~sGG#d=b6dU2Bl ziq@UNwJ$Y_8w#Ezl^O`_F^H8-_we66cs25k{^@Nqt@5rQ-Z2^4)pX)L+tYc0UhlRs zVtC(2o3w`RjY}mxCzp67BiC2W!X!-a9ckytt@cEJE@@CM9ZuDTmhhyF7YlTh~ zMTl44xpET287Xp&wvUA$DoqIrz=jX*GEO=)W`7EsW2&iBNrpM-xstA1vK5jpK58{- z=GV4(&0Q`V`}C?J&l_AtlTYj=lfyYujNe~2c6?lH*>X276yB>U9%an4DjurPve4l! z=b^C-{aDdXL>6SAy8tihnTjzv%{Ngm-AJU!vIl!XlX^(d4{*#*b-e#SKYuZI6 zl8z%mBOzZDZ(irikFQe|aC;H>K1R*|DeKd7W%dpCuELWMfhdDJt<*lH{v~^sx&&mO z3%(w|r*+ym(IeJDhE%!mtUX_U3j02pzty!^aDQ>p`nIy|Nnp=ohtby->$e{Fs#q?( zj&z@JDZCSoeA?YN`7w6x(EbUp%g|UuX32Ivcg#&|O;Qu$@h>^I_CpXd`AcFUax-c? zM-le@E+e50nT9*e)R{<5dN29!OCGq`+*iHish7pN6=u}rk0PW8T-4t-l)l?xF8_e! zyzV7`XIZTK{*0Q+QIFq%i~75U%nv)vcRnIDWNwc{!YzUo%MbVM zx9=g!1T0=NWPW4~@1Kb5FyE9nE<4H;;5;)An<(ip)aKX43yZZAyjPh)=Wp7gW$rV@ z*`bwVnC`cB;QRhtM-Gn>Nf@Cq6HEWxC1#dOE3wTrriMmzaGxy=txm;MAG1tAv`=+S zQb$hj3ngp-A%G1#3IN6cAPNA!3LpfSFHOfg&Uv{ldv91m4Q~Oy0N8M%!k$fMxt-!r zn1j=>eDQ!$l!o6lf=3h&56w_+gQDT8xJjl>+W1LLWs&`BvP1^mu`Bq&N8(-{}kG)LW|Rj~6wRK;%sQ-*zwRKGwd&mC-M-@_9?8;gzzg`D$)`Os?E|Z z&`98OCz5G7G8Zk~HtaWV${6(dff$*0c-e2+lmYXRtHlcS#)&1x=e|p(RmN1bBx=}i z+Enu0M=ljB^d1gPG9LF+(y;_Lh~(DR3BFHR0aIXUrgg;IaU19lg!1h>VT0)OxBg~0!tx7(b2C6cWv-N*Fi+87)G{lcl9aor>*jkHrGL63qVruI@FpF2- zOd8_P_yk{=liXUBbutZH1qrlmeLssQ*G!u0$B0PV`Z#{q#7IOkt?*|n%*B0}F$*d9 z1JQ}-xsh(H`-EXkq%2Na!T>&I*j?-r?H`I9tN+q`&3Pl3S>hS~S-;-L_Xq5ESq-{0 zQNtzB)0Eo%cRVKe<1%E(Ej#~UD#`_tYH&eRd1tEK#E)K)wQaK`Yu4M=vpnPtrl!Z? zk85T`ejJBCZkZ7=Jqc&D9M4K>w95n+L@_RqC1hF}_K~o^)!)@hE%7A*UJw4D`EUe5 z=wpbDy@qS9@1z|Wchqw^3qhJf@eLk;S1rR5#bILg$RcTvNKm;J_q}G|NcJkoqYLzQ z5*tWN!A;^92r1$x=+o<~3REj9LJN7k{&NNS*!wNB$h-ISsdZ9I0#`xDE^U>b0QCq2 zln?ekRZ5`>{7M(3*#%hAsM~dG@e#kW!tF+F>(#Brsn4#P$^pQJU%~IXWIs;|@Wle+ zQN-iX6T~+&0{mRAz3ly}2^r1oEx8lLW0D=ZotLw+9RLvR7WW!<^6I9ycZ-W;RM#zn ztViK55V}Ed*32yH_HGEVB!`5L>bG~itb7J9Hz?kmC?2bOP+246y=y9I?NfOqn9=<> z1xcmIQ3Di+@XKG+DBi7V6prFC!Ke3e#h%9s#s{(ZxB}*}f;rBi*QX98Gt_>j(X?|z zr>my4rOqN=QiUMu+5%8ihPMvVPDpAWBo0#PA{JKg0b%(83EujX03Xeg0wCBxLW&RA z^aNejv7J%?KOg}mNP+f7Da6lC-s|x;m#zDWI8GXg&n-YVfRpMsU=*xhu=Pm$_zm3? z@jLp1;IL6~3izG!3D<|c!unrx=^|^mI$j!4!^=xTHYXC=T=Vmv)zN4Qu-uU8c-a%R z`P88OfQX>1C1jJDz);cGjT+*W0wCZ5_1(R>s6nuMgLWD~p$-NRjrzCjrrAo|m~?=s zCks(R#k&LFYu5J}udVSjidlXjWBk+_;jKaFl>$i2xrVnkm*Q4soU$G-Rc+iU)x_m@ zyf7!}R;9wS9-V!>FvsgwCGY(xTU4NOj@fmStjFelMvZ*2JeA=jKHWZ6hnJ7tS?+v|^!_o!Klr~f-B>Z_9e{2yeJsO}R(f5R$AQ>2-j4jQ9l^*TWci(V{t!aT3|x~0&WV|SIXVTq+|qJ+d!}(mTx<#2;B56-F0|ROxf0_2@5+2 zGV9}0JEnYzEqN>FgV|N)*97ucTiyiQvdw?Ic4hpnyc{3ZoPw+f<)sMOfNPiL6lCvS zAV&Rgf&Vpu>`jDB0Gwh@L{^0C5(bwq5TpKIP1qc;i{f6$Je`IaphTI12s*E{*ah1% zU1h#Nj5=_EzY~I!@`97{{!eEb2kN6eiPY?fy6y>~yD>|URD0~7Y z{r5Q71)F&1-sJG3oAgccyWcAtj~vK-!~t6X0x{QU4loPA4G>@w8(8*3%`Xt6zP`Z!lEAx0|Ak(vyS4!}oZ6alzsQVoH38^xz5fE6F}QYt{~r@T(p15H zz^j692p*o}{B7R@B{oT_;NEitp;7h%|4V{qo7uah&CF+8FoQ$4R}T}69zP#@M=xZW zb%C!QCcMddn~?Pu;`y8+mA=gkZ!-bn`JD0sG3xaT{5!!Y%PfAG{<(WrLdtJ^m5`EO zGBe&VhJ@o$bJQ&%d0d!SMI`M!=kQc+qug2sm7w~wFR~h0T}0OH#5eGK0GK|Q?gy-6ndN|6?Ad>y)oUl_13&!_yIeuz34k*K|nDoDJCH) z=FQ*sf25>-(e8b*qtxTBTpApB)jmB~i}NZ?NO0iQXBeamYf-iEpuPj=8LzMX- z$uGKV;jh0b@>=Pyi}JrnxF&kjKeKC=^Ok4`NyOE26hUM31^!N`GgRlH)0pMlVwb<7 zV-SHSk>!)gIm<~T5`rC(;giX^aDf7OQ9;`AnD&>sXve#t z+dnPdMO)b|?wEBpibmuEF4>DunuXwsZYJhcCEqDsLt)yn@3_tm=@_I*dGkxFu#6|zd=t>gq?AsIu|a-VL7 zJkq@Uv4H!5p4z*b3{EFGwV%HNp_l;Y13fBG)z4abb}ZDA$HAWFJ(Knp&EgFWZcl1r zgC7?thwa`jtyN9&ggbzm*r;7vs~C+j#71)1?&sF7JQ5PH(;cuA60k#5Qs&2<4^q6@ zHSpj9iAu_zgiDMZg-EP3sz*}kH+S;LGpUHA*wvv&Pm>qzm7nHe>YG-%Y`?Pq`*Zkl z=l_uqXYz^d1FMzd%<0cwNbHlSkJKhFaJ8S_zrbU;nPkrDukuoZm5p25cx2hWtuJP6 z8AOuqUEsO8aDo3Jq4dS9C4*=pUQgCJilFh$1^&l`E2!Els9FJ3t?%HASw{wuWIW|; z-@z9P7Z{fm@d3)p9Ekp4&C7zecS)0!ak2-yF0cuW;TQN{5~4H*qBIBMH3ymw1#Kls zlT>gJgH4Bm_7{jzuU+7OOi)~Z_WnN6Y5%2T^xzqB&p)$&)?848A^ZYKF}QSr|C*3b zflXITde74T63nnoh^{#N0?*Y6Il>ywM1qLLMH^`3pv$K@JjSwSJgXvzjyz$_$S~4e zFS9palS#hce?&}~uBxeR^J8bwbFT^`TO8mlBld=st1f63?@}j~4S;~c$A+Lu7$b*c z9lQc~$^aU^i+S_MP`)s~HQZ;CTkN8wQ+IW~*J|?^C#AqQ`=zG1-rJ7q-!NL@6j3o1|8UZ^-Y@r_u1&;qTT{g5zjZC8&cD2$>BYD z^QMrO4=X=Ys*b+Po}tU0A(%H@gO8W5IW6-|Z33NSbgP;EVe|bAIr&1D+jF?e?!Hv| zvjMasbGXW`X#8-2=j#8<1a1bZ(2lkYfnswd-V4O23l~_YE68Rj6e(xi;`*LH<$72) zA^b&)>wCeJ=M6bu-UP&@c5>Z*vnBRsOYAttT{^nZSVP;AuCkBcI^Aeey0r@T)HdB{ z@>y$D;43>~QaBAm2ajNw&eF@eF|c*I@1!(NHSVdcUO{3DYk~2UE(E9OrY_JhdgJN} zoeJ@qvSzJ$<@+{v$%*Ag)NoLcV%;nyUsW5iQ9^ssH)*ZsSGY?lVzs-B47!XAzF}Ir zK4KjAD?wgYg1iKRyqW{`ZPRJ($9|c^813FL-)f%0m}X;9p?7njepxcD?h-C7y2r!q z?Q0^bQyLyK4%5@f!+FPR*~f6lLcO%LsjnmzE;F`%i{WD)ZR9(pX2^rp@mlY_RSBV_ zv}B`IiR46hl153!BT4l~^IuEa8|6Zw9@d+Mqb~L+Z{0=@jVgT52WHnbFNQ9f5;(4H z5MdVwXf&d3PxAIc3!{2cAIPN(XDgu2)*qK(q+L3`mn`#6C+HqNG?eU=hWUg?>_EqH zqjG81CcHwwd@)zeg>1{S^Roa;FMLzH0o(z%eMBFL*hHT}oy?_6(^bA75r1pR+NOVM zI;9qdWKC14loR#{wcewdT3xG7MA`X6)m`-g0NFuRw&-|Ko|HgO<<6Tw` z-FzaM0++h0`|BC+;rkX3pVEGy%6CHY{(LMH#bXl0SXZ0VONG5aAPVV;N*!#Iuu-*> z_Mf~$-bJG@zfg3)U8Q=sM!cyh<4HyOcH+*}G1;nEb!6Lu|(fJq} z#*%>et5iwA{D5Wv5U11x;M*Md4B&@Fa2*s+2c#lU;=N2op#7Upv<2=rS^kYrXC`&%}A$ zafWu&l=!b+!AaZiSVwZObRu6^PJ;(vxk-;`Z&|EPlN}BZd(JdzCC!37y0Gj6 zl3e}6sE8Jbsv+x9_%{4@Esw^rv8`6E`^TnAifiSJT|zt7_lCz%H#oY$O*GR03N5f9 zmamX=rTMD$_}EkfLoI7&ixG>+H=H21S$=XRgm0_3Z9G2Nb`wVIM2mviO%1|+P$_RC zwaas_B0DzrhUvU(3ky3oRK}&9qa;jJK`gqZ`1y;FJhwgzma_L87l@y~cqhzSqGf61 zCEb)eX{Ju0k>kppFzfnP{rU3e3Tso=ad6z_&9_(eDfa@OvTnvUAw4#ZCFj}Y>eyC^ z%O&S|mK#)8uIWE&Qw(vvKSpce)uJ=NU%5-jcVmv7y^bxQI$y2`B%JgU_SQ{dz28cC@ino~_YisNXfp>D=-9($mE<|rgie{&$O%%ZGtWEX!QaTAoI zRm%m+>8naMcF-#WMgA}kBDjcceAsyp6M5nY;K zc9bb2t+_IRw>Xn*v$+*TeBuf&}W$aI7~S=}?b5m`W&LBfmKa2ScIt9IQDy(kgmyikZpNItc%57BwsfY z8Z2@J(i1hT4Q6!xDzrgkHOn*61k+?ZK#&%UJh?9+I?)7kfVoKMJyMBy-beF2jpsc? zN6^2*9M7tsWTJ$=OzyUM=<_}yi+m!+@+X1eTJNt}XlS7m)-A^;$1|!+6 z-qpFc{F@gx=0~F5y8&L^K53#|e+;TOqkO@&=F*yMqRZyX7Vt+;xC_u-qgL93->QGi z)Xw(0voa}qsqlI7ud%?yx9+`@q>4h+?FH;=Y3n*jCn3&Oz-MjH7XX&AEe;L=35egP z3D^a0Vw(m~(18sBzAvJDedz13(E6{+vs}$s-r4dWW#)fIE{u0oZ*}-=N2D23$;9); z!H(EIuWEv9>40PeB0V@5_G!}l5K8?8B7T%Qp?Nk4M_`IpSW)=kl;40+2!DfsA~pqq zE+;mKzy}2I^U5An#@LbnBBW@QJ#M`W6C$14R3_<)oPk`pf;R;|=d6 zSf!AF9GvqPCBSp&Q0U}drn{Q_&s_V*9Et~`i)Y6nAmP1?LxGuMo4D!0hPLT+K8Aol z=1?GTY#_eqp#W9RaFcK)I#$LE% zerkDJ} z|5|AKkCnLpodjd#O5UM^hzZWPv@>$6p;=6RQ~U}zB8qB(r23CH2z-;6*SM4*1+rTd z3ckVsAZBSuWCDs}umPZTpV^SioVS(kg3t<4V|>?Fh41EWnjSnTyk3T+T@o<@r$q62 ze&jlIlc#!mY$5G&QpebZS>*VuyWL6mI`toEEnZr-=pP);$j*~f(fpcHAoNm#DG^`t zIu0vUevonh;BW~h5}Hy#BcaFRUh{Ovv3wQNCB>s=ooZxQF?KRH(>KTK4#gDT@-TSE zm7`GkbtmD|J6~yH{W#Hw{1DU7S^}CU_gh677$^L^7;%qT|M*-jGKM=pfx2-8)e~Q5mrcF(<*9q6wyXyrEC@X!2_;AErnJ zi(J_ZxJk;63pWomHPCw#v7%w=;fA!|@s{=p!_OtOf2Hf{pLhQzA+Ee4i;h4CSErVq zW})mYya*c6isUDsP~${C*IUl+X@39SO85kef*A3=|Aj;^>6A3oEt zp1;QuIAGN&oDNUyE1ybTGv7B8n|A3uUe`oczAkrHe^x1B+)>}{&N_ONR@>xZ*q6+o z6>F}k%*fJhFXy`6i2dva>lphge_p z7qYcklOSi?5*aa(@!z2||7hlkUm*$FeW`1p*fF(_FtRbZYZ=dmn_TQ?#YFi#@H-Bg z=vbNHG7Xsse45s!oD3`ZIUE|jZM=rO%z3QCWafh&GEX!7hCG~^;b!E|9BPg-V$$|l zF(Nk@R-9!MJEQFvJlzsVoaIh16_LreTwgZ{{z81jZc`mg{3y=0d!IW~5exp}ZdD0O zqE@7QvAr0w=zEsH2|lh91OB)SS=2Q?EnDe8&pQNd`V!rlu-D=6XvR(sp$HXArqnSJ z$znUt3>G+vEGHlx5P(fV1m>hjkFt}l2FtGg$fT@D&cPE&^bJGEIW>)M)RFqTW`Gxf zF}EQv40+P78Ngz?vY5mctnIl8|o$0j6m-WH=( zZ+RqEUDlHq^5$VuZf07IT)ktc`?7PhKcwFAtNSv|?!cOT42NS9Kgb}#Wd0iS?srU? zla%M(juz)~vFdvBs z!cqe_OE*60GpVdti0_ulFGM_>TKA5-v9i8MrY*&|ZoS&R8?HOUI!cbyI2!U{oyD{? zu2vprTv{>?>+Z}ze$PTeylkjcI>2^Y`@$H1#mFKryM!%b^7bJd} ztf%gxwue(Wd6|UMRe9iKXkPMP2c~<2hBiBf#hqO4s4$0y*VevIU7yBs!(XsSsqrX` zB5Z0StO*tyB68Vx+hkrhgjS zYowir72QghP?*y_#*VxGuZnxjTeZx}j6UC<;2)v?6~ZGmPVWCZlmGy#!n+ax1n89r z_$8Al6|Z~R4yVn6)@`NgCFp2$lD87*cER-ixQm_q6nC+C9!iR{T%K53Zc0UiVg6F*-M^zjogP(*!y z8wmxR`#ls%2#shrCnfvP!Vm451M@du#I)HxxzA*FNL_vq^3+p~ry+yJKrOT|=ZEId zUIZ210--jKjF?Z8kEuC6dJ_)7-Ze{R1_Mq%m!7W^e2+?d$Up$-$T)fp5$|L8j6wX0&Woc=+a-1MV^2cG`?KdiNvv{ z@DX74Dr2$Z1;7cEuJMPr31Saoph*yWPyr39qS8NtUsI>s)jf5~0(-}=^BVVI3M(CD zUz<1_etZFN;zWhLi1n3Ud=QPLfCr-YF(L8A4ky-pj~zp-&Z}B&sBqa_w`$-rSaqYD zSdg3P2QC*)j#m1!cExLw9Q1`@qJ@cTNu%GL zdl*4J=oY;*`6JT#_qouWrZJyj8i0*Mzzr&*1JV!}mL_l0oNrXnacoQ+8=LsgI2nZq zcoyK>3bMs~K$l-X$oOj;Q^iFf$Od#3w6iU|PG)>I`D@Me@{{hq#r%didYehSKvcbn z$IL;}MYZ)v6yR%U>wi98fPh_K5PEL~1XBPY=25<2x;iYhj_nr=q3{JeRzZNkOBAwT z3IT$v6v2VQfImE9;lAsa$R1vu%)8%a=NkZt@&V6_|N1Q-B_0GD`}Owk1tD$ukD#`n zk(hL*_p%~_uWijK=la-Mith)=L=y!48L-3z(tiimhuP+DT%$a)pxhM4qPPrJ#Wn%? zWL+YAcx}>SFxZ8j;vF76!MkQgfFCw`lR^iiCP-^2mKh`n!XzaXVwCCPZE6bj2tPb( z26c1Q^f`7R^FEOXMl?eLU&W23L5`V8H)t3;>{=BqX$97<+~AO>BHXvQYIjnH^ZQ3# z|NOcOqhS4pdxrpQe=0A4U$c>O+0&~MzF-svY3iA!4+RZ0A` z3x<1n%Xz7Iw$Hd3muF$kj|Ssm6S>u<1=daFb+$ZCiE^3-UOsYe2AkrDhk9D!4%@L}U`wx_vx~yjpdR#K0ocFSwW+&!=hrqYlUit)p*D zTp$hK6gF0^?e9&p5rqh7miJc0E0ZPWhwPJipW2j}38%poQOqXf^j`#;{}~Cty+H5@ zg_GX*5p!1(adfmz*Jo=Zy&o(#K~?3W^0+Dc#_ZtbgBL^xf`M+k4Q#FJOD?m0$fooe zUztXnAa8s!6dBVov&fE^?Vo{8OhC8o7JaeOJ?`kG$k{R0=5#4P87Rpe*w{SwmM9k}m5{(evF06R{(34Uq$~zqNZ`Oh;r^Y6{9aT_Gr$gzuYiIf z2_?P%KS+nhH@{IwqWOtR(J+f0UEaxAYymhHHW|{xqko^MVlWf7rmq6 z{vmsT=W5wID()#+Md9XwheeK56>aR6uNAQvfD!WmYHW1^)hn~qcy%pJYE1kgIQQ&; zz)O4r*uGtAOjzdwXI&cs@T$DsuR#>w1Vph}eLt9vLpIES$0X$zW|V}B{2C?cfP@5W z5pWD|KYOMaveSR7gI&agkWAZ8CU!Q8UBu+|1)i%*QS7q8R7_>E_&m)JMcY0AV?dn0 zN~SU(1|2WZw(n8;y`&}EKNU*m3&g1XXdGZ?<+?E}e?}QMtHZp|pN1Mv6UrBWE0`A5-U&9Hz-` za~V6~t*)c`miKXz{hTuyYIW1-gEnG;%+agfyv3i7-$q9e9g$J*Fmo-5srR|$q#;!y zGsS)lU&oeHiwC8Qv!NZzXJN^w31X<*&PQgeJH5XGIO>adIbo!#^o(h@gutejKHX!0 znCd@z(4Y5M|EI^lJykYz@y{OTf$BjiKJLrJ#O*E8#YL*z+?PWy@La9BKxN`~DbMZi z`!h2WL7Q_bQW1xhjSbq+mo~(maW*#Bt6URV8@*5YQy(284G?iQ`k`OfTH|1&Gv8n{ z-+NQ{kPXL+g)4|rTpOtC@ph%bX}b!mr1y6yAMxP$z51_jN=+Ab`^JBMabK$IS<_h8 zYGpYVjo5vO$Y6RI>cKSTdejNE;beWN9`S=s^3+2np5?55?rS75v!d+b-W$`c17y&+ zi_$JCB;v&>op0x5s7VCtpoiqChg7@!$v*tXH`L}#WHvuJ^`50r!Z6ID=MgPQN9)*jDSb&%S{HuYw0n=_Gl?>m|Il=vZ1QiyjA znKTLGLi?vN<9L;XI%A^|I%BjdI%Ar>I<88$9#?EMO%3sg`v^0-meM~R+)u~fd2X4W z5-Hv!>_E(jDi6dz*=q>IKOM20!-|=Le_3TCJ_b*%k`UJp!#6KjP0A3$DmGMGti$*8IclAz7?W3@*dXmobn5HdzfA4M zBoDSm99hX93RODI$d;DsxNO}gMDna6R?9Qp z6UV(%W{#{mdTqQagAkPsuzF&T6YCjXOQ%X>+KL+3Ct{tcwSL^jRGVW5qm|m^>Y_Je zDU*-Q&E~MQ#)>S@cvflalPinV##3P1_h2@}jG1d?fvAbfRvIB$m=5uAzK!Nu)ym#r zinKU!M!$1!N>C4jRVTNl>R0W|wYL(1`Tegvj-T~j)5$EiQSVjJ>{Y2mWmg$|bxz3; z^>*~Gardrq@2E{lEl5eVu6W|mtxdWv*qhhK zF;;xn*W=3c;;Re>_6+8|@2{PJVRmjrW>pnmDFr5b$7AJpA*J;(RWsjCKX-`jR*|EampWwh?K#%iBdWscoeX!f=%cvcZ>I(as%k$9mDD z2AerMSREs9z5N!9N4x{#tm7Isuv)p%$InW-yw{xom)vn3s?(UbY1X6TDsC~&u(m5u z>h!Uq3iW({$t|gRcnU6R<3!#FwKigI5w5+|yWBUo&gv&Yyv}VoCF~v)3T1k2X0&oz z*FWL~ui=m#uc~lA?U&gvflO0nSVrv!a564P;1k_b9&F%^JhqOkT_uB}%95DmcDub9 zJ;>fkctjq#nl?sAR4I-JRSawG5x}0q9~YT5CkLWPj=x))A>G(g0v!pC?~ylkd;7y$ zJyJA#TfB!*w<-)Yh2FtFd87#Sw%naDPrmciEPO;e(`m$9CtqdmbN}6!WwM!Tr4r;; z;d`!HX5kfidzX*2MP8QmFyzPGLvRT_9X^^nuo7yNd^N4sn7^LCB8K{~E_j&y^3fCx z3(=Ftz#zXnmUHQbQzPSQ$@y7cOX>H%>$v8qeWhWs7&60xp}?^3lj#99Q|rw4ay%MW zBd!cp2ck$`5=WYu@5AjQ&CGQ^GSi})%jgEn{5a29{qjqlY^%-6sz6kx1mC347;NMP zY{_b+?E6;5__0;2u&Ra3%|NDVk4DMvaVg3f?|Q{nWKl01RY9n)EF&0sd;h_3Y|4$f z3japfb|W&b5doDVV%~|ywR=bXld*ETSDpn~U{j0A$sgQLU-Q``o!GwnSv&@uepqLRhQb1bOoZD*Z1TH zP$MUtF?IyI+^eGv6}BT?$#?9{!Y6wRRPQMyO5BKePX`xx5a~zfvBNyf|7yHNX3D5? zL)E2dtgq?=-7830xPN6Kw*sD=C3&!rcg& zAKXKw8%@wQo}@by`WqG5ktI~U*T};=^t&QLsNls>%s;N*8*h2#+E`}wBiyUn>PL7( zU=XEoZ;I8AaI0meKvKNeYYvOE5xIDsBTF-)yWhSrA7`W{`t8fGd^q;*@`u1q>!mo0 zQSb1}>r?HMK7*mQ6EMUU48(s-Wp62XXIA)ILiAnd1Qs3sNLH3ws?@jCUr;A`-{vIZ}d*H#1^x zf!~|^tS0jEat}jb={*l@i9lPLd2I#z%+f#gbCk_=9pOy56Ji!Vul)~Zm|yN?XfM6D z`B_c;w-1!0m^>t8pi)lwN~f!Xqet+ymsV0eusCw4u+8=Nt1hk!dx})2gF$B- zd1vqu=NGo&^(b4Q(T24n2+2x*)*g>spP6bro*R^!V{vh4lt)65-iVWYp~y4T^b~^)veBjX?DkL8X=7@GXMQRad3tuFk0ghlpw7C^8qQAl&COz?0uX@=<&wpo|w!+Eev|nTX}XYbvC{hc?M5C9e0UL zKSfTcuzE99vPvc(!;Tjd8*@>7E9Bdk<~*3r3O!U&m4}C4gH%{kv6|rqHc+pV?W2?B z%F4#W??I=DopTZg(=2l>IFrDvj4&rDCGL8Iq(=y9d+_8O13hvLli zWMyS#WFybabjI;sBGgrEztQuc_HaeV^`6p<^(H)91$sDWFeTYrDCKoprFL|5*jk5j zLTzTd>7+_ZoxbooILX>gMSW@PtvoD-GT88~w|2tfbWkGGyxYzLGoEw?(CxiKkLJTN zp|IZV##+?4O@!03jpWGzobmELEXe8Do-uVX4%Vq+FvGi(s3H{sJ2_a+X7zT^MXY4& zobA9GkL44Qh8~va)j5IYtV#*?A~~vTHqF5e8ZB?o}9iCZ{%f1xF@&X2%`DQ3QK4 zjWQ-)QH!*VOV4jwojxC2Bo>eBH*AWq}On;hg5o zbj{&#rEuQF>6eiay_YMeffmQhYxj^7sAkqSSffYC)XC3HPekYOj_cjp)E>#yp3})e zRL^nw840rG^d~H_wYDqLWv*~0@T}5hvvHGGa*CI=M_(cdMvh1!M|iK#d7D{OL0|dK zd+)A&hi*HsFHfXGk3UaFHMmT?c_6-#w}H32t!R6Ed={h9jFXVccv`54+O)gDy?l0i zVdi>IVZ_(eLT{D_XX_L!i0+4H3ss+vv!{nnsjMyB2J38oo_!K_>U@}b?ZK--=;6_! zmHA2DEz^pg#uNMFt%FGDZS&LbX@{ezODJLgMT4H&15LBO)!_q!3~dMRlEKmWnXp9Y zVaNAv4R4o?S_2lgh}X?yE*8SxW~*ybUI*ljN9%j?$en`xk9=^Yr_T9L8;=)Ppl5l9 z-qn=?8;{S9_RluHv)o}t%$x+l`}m|Rzs`AGt`Cobe>#QsLXVH3QR!!W2%*K%!^28e z$sXge#;J|L3DJYf$jIhn=c7273UpUw?hgBe)Gb%xC#;d}aF|YQvmkU_(751eFw#Kf z-WT`>gOrYy&OzAA#)kzY78f@;m-o|Y_U2H|zr*VB5x=VM&39IE`z(cPy{!I9XBLwVazMG~Zre5b2WmeTWwrf^LM@*D)f|hMEsg7O*8p6 z+U%L0$Pp$z#0-fD?5Q(X=D-o1DSQ$``0ms8a3L4@^ZH8Dh*7dC|EKx83`+J9{X>1* zrpl+164i`KMl$n~eid)tb24t)K*!e>I8qazc$pJD=5RKN3?sy0ODz++*um!CHfK}r zZZZ(1^l%ptTR9?TT+k_u4(iet5PN$>9JbA>{G-VrlPEb>{YC$jc40iv&(b}7XyWUf|Bps z`bRu@tbD7_KuF%>I904Qo;2Ipu<$UwYdBR*BA!%U;IZ;yufdpHvYvE+0{>&>-QI-x z^sdlUG5R=CMmxitTSpE^L zEXoZv2DeZ=NYTV3h>5c`H49zcx{guBT8W6|nOT%8Y7EwplfPj4D=@Jrm((PfxOL^D zie(ZKGb(EqzIN*hMMWdPY_k|gj-iSG4pWY$?RnOS&j;xTM@iMQJpZh|` z427v#;a`--+S9=zML#O8Fk_9zk9-_r z^8I+W>MRO^9ZMD+rYN6X#jv`wv)kd2u?4i(+JMcS;@*a(@rI}HhECh#RLh@Bs+K$h zG3{{F%HfWEE42{aQ#x-2N1VU1ORAPpe`ci?qU-<4@(hsAM_U?r<UfEIQl!g;X4F^l>E=!(_reGRWoU5+o}< z49PqD_|jU0pn(|{y*A^rj{_I=DWG#{bmCBM!+RTPq~ca=K^YeE;mH}~d-uirxRQKe zFT+1%#K_NmX68P{tBoC}Tzva? zh>xAM!tbP;_9Vm0zJSBPc_De9<{&nR=ZTem`)v+$C5K1JJ1nHQL~09|Rr8{X-;yw$ zy27&;Q?nO&G&UbImvs`UE&4I-imF%;8H=lReyA|uTuuW0$mF2T9S*86WM20*nT4vD zE3S#E7vb9Wag0JWEJP`{GbBqgGgP5-8O)^_jRc_PPZ^`~b18J3YXal)Gv4Dfl2DTj z3%T%5`yf+5EW#zEl3?sn6O9U(;SejY_Nr>O~sT zlN?7XWCH@aB*?B@`GiFK2B|My`DDW-{%etm5O7sfMM6rkTS^7|r#m78%fUE@!@mP(Jy`Hbb0hKR+=UOGbW6@q_h*XFpa|j{KG)q4J4NJ$Ow}1xI2>zG6Pz z?x)-qsoV~!+|IjnSirCNDYq4!I?X!|8=&g6Mz;bXtKB&36cXIzr{r1oY2Qioa9&KH zwSU;n;n(M3+jm6r8X7suy>`oEX7|KxpCLt z`@@kE<#Z?E947OJOXcB}mE~`3^UBKdw>EigZ+WTJ{AGFhrwt}{+*JTOJkb6M6!!%o zkN@^+r@95JbB+%En^8@#HYHL$EK+`4f%GUS1DyiF@87M&*@Uhg*F{+8-vQa>Gx$5e z_7v=Y2Od8z>EH1#?nXe|?-zw<9Vgzl^LdAlgdp2jO0L>U>X9&y=p zif3_(PCp1Hb}}Y*GUybcrOOGq$Dx_8e|V;tmM)c;9EX0YnoS|)^j}GtDO-Z?Uwh2Q zcJKeuFOOajR5^ie{c=Ag2*Tm}_b#ajBUF|SpA0_vxkNhL*aeZt6o+xRP^Fm#Aw+1U zHKI)HB+}tRmHzV<@`q6>gHtPfPa9dWd!O0q2j-0Zk_voJTQz&R(fc7G zc1!W`w)NlF{s%6o|9B?i@78{`nZ)w`bQxn5kDdRD`kF7P6olpchL>ijKYaWUcB@VB z@q^N(RVtyXGF0K$D_xEkKm6;JelUzd{^f)EOvB=3fL#3-sNP}x%f!Z1 zKzgQoB)K~g6@`-7Rs&5h)-hIh);|{xYjQQ(h?Pa#SE8}Zf4#ki5P4vgIVmC;9tjTr9`lG&P zv+~|!=2>a4@Q;Nl+0N^YeT*EF-_n*XSeUJ@xZ$$z>)b#0NP{t0VOe?&Dasl!pM|IE z#k=yPg#-|XUg49~`znX1)q`LE$t-_#0oKIMkA*zLA&-=p{R>ki$}FyjRxhnotZTn5 zPbVR)d-Y~sniKUouW~<^-}hrsPm!$Uf$r8TGEJ;}jAA;ejKF%5&oFx*zA-}^yx&^$ zW93=P$=4>(^3Y-&b|+cu`u2xBR2EN32z=4S!zQ}Y9A@)XZ9I;oI=@My3pLM*HeI92 zVsEZMKQwW@OSwo{w81A&n<`zAQp~}|XqntF5FznTdT)o;yQM|xE- z{1ST52OU#XwAN4yXSJ;A8QRP^k%XQN%QKq3lpX(U2>XyRCz%n!nXWwknQ5`Gf633x zxvikGXJ5tinAK33`}3Q*;FNF?QaT^@Z1V0xi>KupufY38&x-gpqs!1GV_nf`64LK< z_TDsD2C`ctpHuFirw)Wtb8mQ-t{vkq%uS0Pq{&;KR>N>hiDjuF=#P}&b$d_Njnyar zJ5%bHy$}HES0blYw&^FH{8Q^%`%$GzK7A9deI){9&z-PSbLizcD+`%kfiM*YP%~TI zt*f?%GM3+3S&#kfa_;!EdZ3Qg-<>V@L_oE)8roURm9@N`-zT!QJ$qE zO5elq?x!bK&eb%iba%5y6ea~x6VC*Eb4GjL@Ek)-+x^ZI}82)BY!KBIi`F(UCrt4xX>Z4X;bA=VcK z@0au<>EVgJEr24nFlCbG*;iUM846CHjG-RwwTzYqulrMzK`gs6f2mnPL9d`bIT<2~ zeTkXNoltAqBDTEdz)Vq&m{_;3ghN_H@nhh*H$lgR%6UcxwfS!DdLsPa6A4YgjmS9b`H|$epE9aBQq&K14E6^P1wZ@x=0Sr3vtxuAM``inq;Haj ziY6nOHgi0yduB4M8By|WbcCwIyPL53o}=`R{!>*C?ePsFn)shPrRqQZb6aL{k4hgz zLJbZ|ALy&E7-@B&p2_>!XNdA=I!~pnr$?2gYVT)mS#y*u*h|aZY$#pY7O*zyIIDY$ zu73}vp}B4twaW6srs&Cayt-SieAl6bbWcASrjcu|XsH!sKa<88SYqBwmTCO;chr9y z?E5w-S2INfJ>tr;v}I~iG7~FirNrYG+glDU~SIuI2PpL^wWK8H&K#O8Ix{9 zSq3)X-olGPx1n6~nlmh|->2WbrJPWHd@5vhIb=0Or$+sL1HyJScc|o^O&+e=_yJ7z z0rPm#`W{`B!$6Dadd`=L(J}h$)%9qP_4RQx;YntzxUzC7dE3a3_RiWg(vD#xRpN{= z$ARZQ>r7v8IwE&0N|S*HAg}lhYsJzjo1a4a!5;o}wx)IhVWCyY5xby<&l_nEobfg6{APks|c zQ0BuBchUVA57sHwntNz`+BNsI$1GkIlQUo~Aj?$wZa;Z*Z*%qDBnFFOWDoZqcPu?1 z0pKbOzyQ#~0T~X!1OOmlmDiSlKA@X?Y6w(I0$>Gb1HQ|wjO;bL0FXiGR^U!I02^9N zx$mG@y3_@O^afh$Enm-q=UlCx1yY9__!#6oaz!ypB~o|8eAhqCc+jhI&DWoI41% z>Q`=;@Br7!-+m%Ny8dj~v+cxoRKs?JcVf$zN8{G(_ZxGd2i-JIu$5d2g>l|4ZCTZc4u9Nb~N#2iB7tikMa~wLmeo? zi#H6@HjQZg70YO%c8SOjGoR=w9MO7EhBt2nwrv{Ox(wH7qD6_wl9|u&RA56rD8q+0 z4A(Y|a$N>8`c=0?FO(BZrfZC}=+1#;B{TvkODJzu9o&rItkTmvQIjc~K%F~Llc}3P z)jL%i9PE z8!xnAdAMT| z&tjAcp+Rzob2{#DG~dZ@4^?y;NcH!chEDClkillREZk$Lh{gezS7xsSySa|op+GiG zbhBYc83*=-TKhQpKIB&B&V7zfalv5ykEyx&xza=60rY^(H)nXaoRs2Lk_H1a z85$P(MaOL(o8t)sjnY4o&gde z5gA@h1oA;f$T1%h9y=sK@6~9g)UsSo1rpf66@YI7^db|Q5_?&)V4u!oOnq)Af5$r4 zBB^PZSCa#0@F@yMw=3w3?(Q)k5=R#Vi>Hp?&#dY0*jGD?ra%{0DDdE6os+Lw{N2&i zrw0$~)O^i?rawzrYMa#azMBTcOoTqM4pI(gsx6UbS-<0d0-QOA;%(d20Co7fh^1K? z@Az*4b$Gi5rC7e*@m~Y#@YW(Q;2IGsqClgF?5LgkfkW?}Wv;t@Q^&nHn%mpJr+26% zUD=Vkflu#%C0*HX!9o713>89wr&MX91R;V5c0HoOgZut&N+V}+-!Hz`NI0tB_LkoEmDxT|{6ST{r zMRDi3@QFBxKeFcd!R5zA0$@Yd{q=#Ox%vZ00LYTD5ILH9hIB}RMIype0|TAz^)poD za7@w5KljM6O3>kfH{xo_X+HPg{~alR@V_d++qaQ#zIXHV>@E8*E( z&z1;fwZxycyqRL`{^lg3;UEkN@5R^?InLT%CxTgr7JvaD0m&5&iS!Cy-xQ{KpZG!1 zxXLUhLCW0SI1Z2J8R9}<&(3GUi_}zBp?Eyc&||5+rEVKt07nFC_oegB?igJ>84;wi z3Z2BH_LREq=%Lt9mD=W|jrcRkZwn7z@a3+h%>#ta@@qYwQn!U^Znn#6U$6UfYv+62 z6j1o7s<&^koB=Cv%y^yJ=x;)p2P*bk)Ukh+P28wvk1W$44a^a95aOoNm>i=rN z(WUJw-^8WuDpnI!y?L`4IUDF25o*sh{wnZ~$@GuO{GTjwiN9=DALC7&w{&3o_afgb zs(H%D@)9%P3Y#|`Hg7yU@W!l5qRUIeV8{^m%c!|RWCT`iqhZrnHKS~!!Gs%Ms%Xj* zypl&Hgu01BHD$wVA_=cd1S$#vK;Z@K%bsWE7X>!gpy?P>m%W8s08s!w5}wUw#8cP1 z0AB$54+hj940HU3J7Fi~j-#5Bp4i)-6`3*X!61`hKB?ax4p;6xR^F4RzV{_g(o~i) zRzD&;q}0Sc%+tqM{V05mmujK@e_3GhrsHY*q3qh;TJAad{tGvLIn56I!AD-#h>Adi zYy3YfK)R(2@g&4c^m<}&h4HB0^{KX$AdZ)aguvU^_|JmUy8;EX{*v3!XaN}bQ$nT5LhY${tqi^l*eKv5P8vn zC-*fo>UjjiX|i|?{EMnh=N;AJFygu$hU>a5H!rO9iZ+fl{5%ZTby&_>v@2qC^F&dp zVFnFF+6++0KbNjEPa+2k{HXszk5BIgb{uQ?!X1PIg=B^hD)OFJjX4U$mDrD}QTyFj zVr_=TYxG8-|26(9aQnbwb{kEquI3pr*Ufu0T9edRF`mD~X1IuQEn57pET5*%U*+Yp zx2ZVmi}$!*2lt=lX1B$z%72L=e?A)ujn*u+QT>5cPvM=BP42NxZdADP$MgT!D-^Ma za7$(}!xsyztC1zfFXxHK_t&xvxQGFV+xK<>&myr|q@m>i=V3K=s z+9WLWR?ZUZq6~KBwnKl_hZHM?6f1p1v{#X;^f49Q{uzHNU#BwfnijB` z7Th&0aFr|D1YYYzqiM-bn9u$auG@@WhV3BGrD0|3`mBvdibU zil`(7pC>69snmL2tL3~YX7b?(%1P9Sd^?=i`gm<{j`aBh&b6UA(&x0C5i%yj-&!B9 zjm$-JtXp8;kNos)-6G(A6xnkY&ajuJv|q+$o>wM@+3P&q^M1LE{iT=edHPl26(S+> za8ChH3oRaG7JAT5u!*ph$cxq>4^T_z{l*8zg!67-Pb0C>O z6L$QJcZYfXLdlfn=pnbsAvvexwLF86H?QS@KdLvmO(gHlXII{xUqNG>_EcB-k1s*M{pRW<2N?qfBDrm)7&i_!hn!t34 z9tcdo#{XDgBV@JezBr27C1h+P^9j`Z`bN=^kg?6n-?%SfC}$%?9#DkvcDOEj_E){k zr`T)!mx2)Wz7X}kkLrCwPBt>}pkDnOdqYA_HZQLcq0(IAe=K00(vJQi6_(6;3jZ16 zi^S>pQg6AmsmjBDjR>{p8vj{fe;=6V%bPWglUY(vx1Q(An|+N4^}z4BztVm;Isf^@ zIYnx&?+8fD*hh9mt9Re+xxZ7|y&j(jTDx6l>Yb%7pk~N0Wew+ zjMmAo1X7317DzM>zysrcx%Vp`{eli&XO?iCrNyHDuD96*UN0wLqMx;PV<#x_TtMG7 zs_&lr8m$rgPdSVx7a0czLq;qA+c5S zk}nS*m!ZMq8c`5fa*h8|K-~>^&;Il-cJR|nguv0`8d0dbAusd`{W_dN@axSP`aD`| z2AM|p?tT;($8;&KRT^8&GBH!&BDYcM$@-WE-0&28k@{AX)YgPN$2FsC5s)v zZeN+#3^6uyZ2KK%Q}UfxbsEI970A`m&eak4cU&n*l{%1(!IrN&^iA#A zMzlpSo62?=?Op3|~n4VCUXo z`+7!oF89WUZ8_K2kEJaxe#1vrEHy9J#JaSi53+CNwVJ2bly)qoy= z<6TwBIzs=JFn7U$g5^3MGv<&`g z#I>7ykTVlt4eoW5Ss+`PnSSrbx5Y|7_JSxi9>lZ}gfzzu;X`}Z1lS@5t2-z-xGXDG zGNpYBKQL5*;g0+``LOnxRK9DH*g^o=obtwbqAJzkta}shfnkN+#8wSIB(Q{1{p&{K zod;4S%D^(d$t~Zrn!D3qUwpl&IyfQttnV;Hxwgkons{QFyffpO3Dx?r0?MVWILTT+ ztc;EnpkC@+tuOC54g=}pa!;ad2(0XQBJBIHw=JVR7qCfx&AV2JcwD)~0h=KS)R%vs z1=N=BZH2i(mMW0o8GyTm_at9h3RZ?rbd`M(r64EZYNF}hubC&ffPOXegjFybyE%a~ zRN1$p#3y9;E&$IRd4qZaKTGE(rfxq)f>qb4M6(O znIyP^_X{*5j3Amb!e5cxvGI&tHR~CMTx%M=v{8U$;6XsGw^BZmTL5MQ8al^+?ePi( zA}nB8(I4PNsnXg&@=)ACc&o%fUc5nW+<((W{%N*3MOUAQp@)xKz&TEkU}qc5KMUX% zMuTj{nG3raA$)Lm&`@ZMf@ySP?{_^bcA*^09JwfS+u^!4XY;;8hp@{H<{a0Y_Egiu zMX&I{0y@@U^MN;AYfz9iz$i!>FcionlG_cSvj-ONG>{C~=HUv%W5Gq97pmbykGX-g z1JEWmE_T81UGDL>g&jRgT*d=t8`_+w`MJY*@QxwqMe4f3YDp^ z5tvQ*IA{Id^s<1V>X>*y=1H2lHRa=+_2kArrze+66ePFFKQe49luiA%P26$RRs`fw z9PgZU=DuD9^(x;U>kQ*kyBy^s^_PtjEq2caVaqzTD%~Z;L8#2>llKWKsJ~Y_G1y6v z9_)Xey#Ho&L_EOZL}psvt0Y>4+eZs1q^B3DowDIry&8>S*f7YW@3U>cLR8WHAezsZ}LxgcNA+^3qx=du4W{hgBN9`DT zvb)|RIQRLjZ8xY}UEZVShvuxiow~EM;;otrrOyK?`9O`k=eQ*eJzDk>YOkoCU{^w>!2FFAS})v?&YJ)BN1td#F)3oE=IVf+N9G zNd|4=gK=iWvCWfYyg33U(-nDQ>Nb1t&@;b#-^Y?c3LdZk2^77@w9)f^dG+O#N)2Dx z!X=@>Z$?v!_3BMzZLvJ;O|?sGl5#LQih+~>ZaJQ0mZETk-~AS-^_&7htj2Yqv5B6<&ozI+>qHgw)c4`U_FRsV4w%s-nDAF7x; zyKrfeKsMV##vap2h1*OvdlS}#UFIC9Q5hP~23|yB!&`jM34rf6A)WNP;7;b~M+(oR zc$7gW74-BG2gpNU#pX5bC(kmvyT12VM-S%2yi>e0l8P|uX3K}DOB%()--S|PlVDy` z7PC4um~cNs@U*L|Wr-UK5aDZdTNgZuVG6i3ma%Sz)EHMF!4U;HNNCc{RlIC4lX>%x zd2INBm)-B)J+;+7qC+k!fI9#k8BGX)?6w0&Fc_T}h=dMo|7CHc`q>ZqLx}Gf`9x7; za^`C8R0aqM`2`5&<}YBCxQ+KzmG;;D?36-XA=APkmp3J(ZVLqhqZE~IgF7pOtH8O1 zm%;K2eupj-eltDepV9Vr_dhC%urJW<=Rxb;m%gsd^HevQ0nK=$j1gNX0MCkUcSO`x zbZet<4uYkdNkH|#glIf^`&}QDkJY7;#-uDCR*=izQI7-^w|1{26n7l-yhka!7^On< ze2cCL@P5uWE%_hx{Lu*~ig$Kr7El1#0Cqqp0OD~8HN+%Q_fbT2{||ph0S@Gt`&?Dg z34$Fr{_{_%KfL3r*#sVRt7(T_=3F(a^Jt@I!zm=YD&78^EW39#gZ4{o{&QN*Et$pQ z&uO(uTL0_H|J}tQa#lepi*b@&{Lx7c?4kz-zU$1Nk~rb-ZPJON+%Cb0^J7t$%hT=m z>@UXg&(1s%UqNh(1#C1a_y!PNw`J&i9v0HDZRmT>hlEEB3BIih4#v20UIkk>L%_zD zX8=&#{e^q-v#@(%j`dIz*NGJnT^`z>n7 ze0a=COZNI%J;NKMf&{JTLLf=OXRQeKwonC_hxZ+xtF!7QmqR^B=T{jkaA)c7Z5UJZ z26E*N+T~Vz9KJ#Y`zkJHW%_^nv!Cw6KYNIR{9oj~D_)7HXHhZt2NS(*_Io_vK)S7s z4g30AjzY+@a9KmL>y7MF_0=x?F~wD))6 z{*1=CDT|kvE{O4~OLoPxsRk*^?TUyZ9J~-#u_*O72`muzZy+;eF?TPc$W2+4Ch@32 zLBbuF>BB#}Je^3?{KqbL0t`JZ)Gf?jo zYfcls7_ED+!eWm3z@+wj__iw*4my5ax4oH7A^HBaB(rRW0<41-#4FHWujW6*L=~M(A3}-B**QPz zoWNa7IUF;BYuvteqb*gIl-bPdolLzrCADB46HXLoJyXOG6R^8$yDh^wcZOzh&xCKkL8N-wc(DqzFb zqqJPD%9PbK$eG#H#hiceHJMQX_O~Ii5hD-dZ;2JP-rHy@^ugE`bBH6+j@bHk^ml8v zg`c;`d~Hm#oXZo@55Dm>Q?NAx8xI>=*~7KOE=7$bUB5#T@%}yT(Q1jv0!Z^hYOwmw{>En~UabkK z!Q!2ksx|Ei3VyXy@;t(Y`9oZQwMPq?{5VTXaT_LbFLtthIccA^5T&v1DGr7O4Qi=} z`>2r6dIH#1CYYDDc?>CW3>Je27H__3F^`H((~J4!ySw1<_d`&ReN*8$Yqsr+6;O}; z0sYy9yTe5qkm^?^Ty^!8-^m@ z$o@)=u%3x8cCL|}d0NVBi>rlhu zX4Vo=B_Nm)lZW3_w}}QiEY4=uxES8lE`<`Reh>!LKE5#|A`ofDKT+L$7BsL@*eYW- ztVhdbMS@|1YhTST+%F8ST_gEDaE&)uyti_UH;VIwdBCs0<4#}-o2kp(0>z3~ll@dF zg&j8GjojMl$;YqAE71Hr6eSq#UKt{(nIM;q0RiXZ-HR zzQa1Vt78YuBud?|INn;-q7}kdUqhoH5U$G{tD!QrZB{mCs2IlPyT0dx+mz?!1$wgq zoB$vhILcL%rx~J&HmZ4bX$&eGUQ{?I;Br95*$mNKFR8^rzZ{ZzXx>0}n8pTN3OaZI za6pg0s}RkN3Z%=6X!aigQ(;B#p-zQl=(jX}yvx=7uETbqTs_^#ruWnAO>VpM@ta&4n6nJ)6 z$hbhrnfD@++l}8{R3CJ?hjsG4Ea6G;;|PHHBHmQ>lSAfP=MtV5x2LL~95b^5+-uCq z6NFtckmx)yE$!~u?imo_buxhy)F6;@S63S(q%~yZ5maCyCi1ki_g+>2k&XjB7%{G8o|vFuw{}yoY8 zOX^#Ekkuk2Sd(5V5NjwL0Ta%!;&!=H@BxTf${584X^Ai;svxTa8O4lSJQfr3Zl zn&I572g|g66w@^cWB>y|g4-KT*N(}SM}STM7^TMu5L6rf8W4;GK?9HwBa^X@mvkG+ zz%KVu)EovC=3j;Ywcd(VLiGX3jvl^b@-Z^z(_f?lw{M0&kOw3Z2pNdpRyJ1$N^?@t z21SpUx&-x5k~C4hIr9iEJQsSZd;zA;cEP*7OzHV~4_CPR_{LwUUP1I{D}Sdn7ax$8 z-SjqbPyD30_<$IW!e<`Ah(kmqsV&UH zp5Z=3PC&oBu*TaWDKSQqmWH_HrniMV98)hZxuHc)c&8NV3NU2%4nrIq>QHM%P-BIB z_qwa)PwgM#$r{S?$C2dKkb7P@1nF{o-4==kWFzv$LT3XvyMlG_biu);zwc}AkpOV3 z^GX6--cptrh>DKiel_PhnISgwfT|{Wq-JDdX4m*^^vb8(x>);Z#6RZ+XVvB~fSo72 zpD*v<0da8gk#_^wyZFdo9u^vGYy{KcLEtSo%{2kZ-CL;B6`t??KU{I4TJJa(|_ z_{3CSsJ7@Ab;gHrY~V#=APC*6-2(@m2fXN-po3=x?&QWrFp7I-mFB1K%Rv$NrY;1* zNUq+9yFb74ObPjy3CsY`6l`>(cb+MT149&`iaQqYTOAqT@<4GV*sbQ<78*Qp2k!-z z`%T~j8CDo^ba8Whnofu?sUF*koWNg0oPkrR*4o}OS zkJj!@1bi&JC9W5-n1CnoU=$HtEPj^Va8AIxDiJhq3gYAUm}qIl3EDL*H#=F(qJVIA z^+l?uhSb++-M-}64B*s*j}qb{@xdYKVfO&<0o2IBPa$_N0UZv&Ul7Ileur9U4j6t% zUW$0`CTX&@b@NR+nzWb%i#l5APA=mLBzY+rZk;6kid`%q8;w0;LxTiwbw9#uj#)%7 zl2D^W2L!zF+YXZj9RrV+h(zU+?jk54Z~UAhHMcj!=;}t@PXmAa-ljhGw4?-pudTlnE7DoGsb%In%P zr92bDtWRFoc&V0LW1dOX@DDz{tYp*`gIXSCsg=cJq=+x>dg+=#p#5 z<7e7euQ4J%y6dHAeth`q_46r~hcfAqFUa97qU#F}(v!p=g~tCiiE(I*N9O6I|Z9(OqX*V8xQcJ@;WhSgOFR2UAJiy_%LXLgs<^Z{d|pz zVNGGDQ_0y+SY#;BTIwM%Vp?33IjzrpSYbY6tddw^9w8PiGC1>_=r}GNd8;wx~@cs|9y>=S`>%1?qrJjH3-A2`0IyvuH6~9N( zlUF_W$*r5pG&`gtufjl}6&#o0L$MqYG-Q(*Y&e?H(v!E?ThI=mPB}wMGziuey-uK0 z&d{>o*k>k$B>k*K0HdnqgB!3+8 z&@KBYik|K5D2kq4&6Q`c6gm9*^UQ2J8CFc5P+YKWI0(-Shtuq8RO^lfRGq@U9PyUm zkf4{qhvPVSc92O{bUwUIBu>P+JX~}>G`AbbRoiHP^qiZpf8C-?2+tKV$%o*7nKDE>0gzO|o+Bb{VP+50Fc^gPmtVVAd%+Jrxj&@iB_?v!y( zOgt49Ir8$}#titq#P5U-B7yy9;?*BZTqXYhR&_NGDdWLg=gfDL~ayc$wU z#n-2_yH)K*Clk6TZs1_7B@PS4^UL$575Et5cpEVgG$K(9>o;bVTj{6&sX1oRErhLw6w7Bf)v!CG?p*jpF7GXrK((4W}{wLW~WqFR>nBR`a@N%4#jpLViPdV zI60OtGWyDgqO;ui=9=RyQq?DkSBo1Gb~PIt5_XdtW49?}jvmJa8WxNZe@wo?1%Sv)h0d;j#M&Bt5kC8HuYCn7gx>X-u}wk9KUS}isu zD)l%Hzl`UT)TwCf@7#O&pqgW!q_%-Wo?#6Rfy6hk^Rl00kh*1-4<@O3F=L>g|Yx9tt z!17rc0a1X&1OYz0xdm@GP=izR_ zCV+wQm4cy`GPC_0L5f$)b2`UygNA24bq1)H@gWzyR&J)elPU+$W0+(^I^=C@`%DC?~{*2+$|F21dMGfKeIaQ)emzw?A7a? z8V*}nD-}I+v$m@09Q11Qt1k3v^RZm>Dc(5kwF>JwElcz-eAs_1PUOEys+Ica3wB!< zNSm8rjumveP1~ZpcxG|qxtdS^&bRwn3u_XuI(Q>CA!S*O*>ArxSgM(12hF+pYeZCz zMQ)a4XDg(>{mNeL*~FEX=h;MCRO0F5ZDVDiL7zHjy||V3OJraCOZYp?5eO0@Ot4Z3&4z%Uli zsa(daI^daxIWXQXXuqgV)cjVs7j-)t&)ThG9@5afG(50oK0&aRlR0(J`sJd2GCVr&&X}+Q^k1gVXgek(p=ejDu6kM*B?OP+P8{kI5}b91`Lzp(xZ*^+YNS*t}zF+i>4K!G}LdY$eTJ~CFj|V6Gm=!e*1Et z58nuO6BkuQsZON!wS*n*VE-VxUxTqA2EA3gD&&S5$Bf8D%x8ou!;wlP5pTO%sj?*)up`eV zR&Mv-$9d`Ual`3N3B!IBx`*E9gD*X7-6!2|Zn-)M=4{p&)P#-~e&3pDD|!(4Ws8l` z$0a4`!hWwq23dM1hEhN0zOiOsa5kK0f+G3) z#g}O@1PFawCTNlD&v4+4_PF+rO$E3|hi z8IzaNh$>!p$}${2JS^BGhJDfy=A(oq6nfpC-3i(GF1U;=h}&1t*)A-IIm2M2uNCLD z^U@~lf**&`$AS^mQCDqwbINg8DLJ^kPAM5o3gX){FSREeR85@_M0rfmJ@`XKcHa?g zQ8~XtescTzxAC>@*kY%fxcBD~4XIr#dCc2=21_&Vnc<*?IG^XOez9Qp(T`=kEfbCB zJE?K$70E^`1>Q?KQ!qjnHReO`I3eR^76VUzqUbc^m*NjwhgpIv-@=B3&ErWkyJt8W|DXE-Zk# zQklImBRjMK^Mb!ci~3qIUTX|(1$mTpGk+QjzvbcgvLf78qP0l=+i)0xPm&$`Y2zQa z=m%^o{l0tCk-zUo6EXJgqbl( zVY2GDEblruZ{|~a%sI`0AY`2mowJ37t&c@q7{(xI>bR7ed4%A}Zqb?D$?$Q|&i-8e z#LrKy4@Z16MxB?oT@E)locCPD8%^gATbTvV_6LdupB)IEe=u^{{kd_ra&aDcJ`ve5 zb5b2gSu7o2eKFM&v^Ik~;dFdjf8cU*HgHs|QGKyAm1%`Grf> zz)3x&%LUQV#KFYG`C<=;sbE{sj^znYvC2hmafhJO>EYB2Zt=v$RL_aqM77hQ-AOFf z_So9QMbpT|4&}w_e$&Od^u=m<)5~qsV`)m~QIm^mN`cai(X&sc=NSRjMuKhPvwP-s zF6zn4)omRb0*=RrSiKY%_9rVd@dq98&JHJ^CLD>YVdUz`8*3z0=kxWEBRffJI~B$| zJ3iHMBeoO%(v;PXb8{D)`zJxHCnrG;2wP*@lkG?ilbN2T+_h_4W2Y+6S+QmL*-xL` z>e9UqTjY+ZrFN zF}gU=PmI?U7jw?E449g7JD&U$tcX2{7dRa|-DBiO88R(C-0DfKK3&Q+iC-9q7jRJp zJDr_sjh~mD9rjeLA#9B=HjgBi1W!J=ye&R5cN`v9AN2_;W-i`0cPMWgdFHaCb#nZv z*hLNVIMpffknf^=B>rsv)xpJleUM<4ka@M!ps9w*Nb1qt{#MUGG3MEPPtb_5^XYC6 zZZ&t#&R&nPQ*B<3KbH08Xwy!tt@SRpkG?F9>CIeRB^7QnH-e%j0F$vv$!dEQprW8y7Kxo+m>Fl0Wxaiavh8KhCqZ)~z^yoAsi4^!^#{ z$kEVL=xoIg--jJlUi&2eKSmZ$K8GK#?>cyjBzcJ@{j7QaBk6ea=bd`opLy2Sz@28= z9R}To;O|8{3tsa&?zK9ii4CsR#k3s4H#yFxTh2cZWB(+^l>I(ZRrS4hs^-0g*Twqc z*~-~xf~WdAOAo!y29Hi2o_#&p{wk|Cy7yC^W9&i2%u$Nx+3wet1E;j>Qz!53-Gm1p z?!8d&b2t?j7QKGPS}%5fMl^kK(Xgug4YIQO`sb#Sm%BC&^z@o+fEiayqz4+we8E@FR}wg_^%KC|aM=YC$~#Wz=Ud>`ABO7G{z z&5s%_D~o3dUe45~%l<}!_1811=j!7$ zMIQ*O!ovstsBC=a^dXNcx%$oUk;N&khNk;olzdauQ%@gyifAx}zx8yXD!%!&sOYD; z_l1vZ(!plJ@kIsct<$=sBOl?`<6b)J%K5Q5_wV&I<`;|!;-hUh>%?aZcjrpjmoBPm zvtSR(H=I;wdJtL~C6TbIl8xJ{GtH+Ty$>TzzkT#LjP(8X(Z!Lez1~{K13h={L1Ce? z5qX%E<_LSWycYJ=2-TkZqd@z2l`3L zHaV4P$u_zF?E9bHX0=LRaO=!%Z|(O{-dWE6EVPo0I}qh(+9jT8lwIBt6%!}!&BA^s zt1UCT{yzIHKOUtWsmxJn;X7~GMC#Z?>c|qtl$112)HW}+OUF|`6_F(l+9_*VZXkw- z`(98<4lt5;_5D0rbt*E8CRUs5`*~pUK(n*G)6C=X`(-8?1XPfnW4*jGb7=65{9ULZ zJKMT~+MpSR^Lvcxq)}_9q_??5M@gR&jD_S>^%+*$Nwax4uxj!qXd~iK~!R|tNYw*zX2!e{6Nim)dnkNHh zUu51p-b{+|aL74bD__ePiVv5EiV7BdUn`%_koX|;ewj8&)y+XiPpToVeN3w+S!gfm z{+#oq+nm{^$NQvX8mb+kuXQ`piUTV7toKQUI7AM zo0EfS{5TMLF|<<-ZIF2D`QWmIrOO618L>MoOJt=M?F@5Ki+1+ttTV4S(B47p6|y21 zoGxmi&LNvRuvyr$4s5oM^(V0q!w$&5L5TE2kXTzzdh?eZjqBv3a&3s`$|Z|~64$L+ zEW?w;bc$idfxX z6M0>_dZlWi9&K4LBb2ZSJwlX>nQd2m%aoaUe3Jt~_j6iRzaU~qk#4RX7wve}sV5oF z+spN4ZkX_SwyV4H2hU%2p7XE)a<+9OHJmFo0wdA!NU>-qfPBRWuOV|N#7MFbTh;7G zVNXS>J^PwAuHcx@XC&(X6-}}L{uN!*#*OWGsEsQIBS6?GMEibRN~OYzx`T^y z5Yz`uSR?$YTpB2+yxpt%d*;RT=YbqwTGABy=Wgm zevS>no2XBcm3oJ7GA2%C@fhbtd)6FoIgLMT`FPLLKTbs@bk3qog!5O~z}&nXs`vP@ zs?l!|iLm7@6_rr?ey9mdAg@aU_E}15gkMct6ZRQlry5=MaVei_RfkgtRpt^_vj*ir z*gmc<|5f+Wqf?5HgJMhy#(}U?jPBN0_Ihr8?AHCZ!sN$?#ZG!xQr{rOwgZkrXojk= zTN3rcE_qoS!c_nq5nH3OQ2 zq_Fm++Ti&aFjGr>p}=VeT)rsqzi#FxA^4^*=2Dz0tgb-I#(bSD3JZ6>$!G5`t1 z#csh2ic=~uD8Zvsm+wfh&)|10Y)*lkPryY%ROMlWU4JaK$|BsBMrApb z6$>Vy-Mha@bbqHIG)P88IDLVTG#vZ#CFiAN8zU<%;pL0sZh+w0Tk}M&zTY*mX$~|6 zMbhnDhnv?GH?w8f6KE^UU5C@xcV~p2wr8~|2WoPQm^U5d91dp0K*MulXe-oRdk}V` zvH8)18Dz5IYudyWPh5vt*A;^^WeOr`%RVlJxai(0U?+Q@uEw210UMsKR4=9FV2uxg zNzsg9EY_}7a|jj&BeV-wPWqzRcxVo@_op5D69`;~#H{01vn3iGlJneX2MV?aqZ2`%5LjN|&zPHkU8FBjRRrFjzkx%+S z*zDd!<_E*Km2c!~+Zq1loeR@fAL@-M`@`44Tr{9;-&vCDXtc;SjU7h-91^n*@&{g5 z7JjnJ)z;$BuQpQsJo&Oc!wLo0_}r7hqED$%h7$4!PHVpm3U1_mv&mggwH91UAUMqy z);34jL0u~m(+6&|2TTv#`w~3+F6+hb*RMmZ;+fvoeq1hGtlflepT4OxpXM&C3)?JQ ztj+7vX?Glp{lh;uPyT6XtJ7w{Oe?WV5!9|AjQI`q@_K=rBs}dU-u&fDo57m!oXR5p zzPoZXs+}U+vU&X%w~x79R1cqC+HWBN)l@lM5TA(W_EFs!M3=JOo=WJQkE_aadn&}n zzx|by%U%rY&gmQHk(ce&m%SL+vQGP9A=M7WSRJB1ud5DGuh+Z3Fa4(eY~P(+c<<`; z>;4~3zrLatc5Y6BePzE&y~nDkgz7Y9!HiIq;2lX}2322BJ)Mz8B z>9ec%`0wvT^{{W!UD#r0H-C3Oa7q)VQr?uE`=`|JzsDr5P%g_OC48po<86IvdhHtU&+*p&08 z54oY$pda-@x%r26YfhQzQ<1WGtkNHphhdqfx8<5-6@p02S)}e(L>)JUT)f<_pGnW( zRd)c8;WgR`%zqY`F~YA-M=QkBhGNMLK&-_Ojsq&2=@JP2N2GFf?6v3h9btR+=NWY* z5LeS@wQ5riMV0HiFNQu$zWy+ooly4Gia&p6#^FZBvl|&0$NQY4Da3o0_>Y2vBG%s+ zs|Clz#w%Dv#1RnP^LV2C=m}O8Wt4EF`E`wTRts|F(UdY0%TWHe^iHBD)EoJmZKFfU zXH1*EBXn&t2rI|J@eOT>(H1EwWySl%BQ}cO?J0~896xkW?T()w=EidF^$?65GUR>H zyq#xOk)EDAuCi4<+TQ|EbG{7=@j+yy`jqEu_GFoJ$0FLaS%Yd+*jJP);-Fv2-A2#f zIptY2!gQiH;BQV(a@A69dL121Q6FE6VjEEMY$A?daP|q<}YMo76hl2J2#qbOZk+8x;{?lAqf6>ti(RGVP2fq5c_)(f{ zN425aJhPdR@@;cX=kdW0+Hv3u%di8!#99u4nS;SvkYheXM=h1(ZvV+Alc}ttff2`W zmAPSw4GLYIcI7ePa0;3!Y;NmmQZQa&U__fVk7hZ)WE29H&-sTe=jinjQdxC;og(q1%{>c!VyK9n3krL#oj#n z66eKfjt#Fz&#C^sz_5}os=#nq^Uv_>u zO)r#E4kinCI$S>FPCwKt8rhE%lA5;UAkocR<@Smn=h*%DR=BV8zJF2Ds$q*s0pC_! zT6l#tjYX)S(;*J|=3AT+(Ohs#)lPHw|Pe6JJc;03t+3={Bgwx1UkAYwA!;)h<*PR!gub$=FG!t9s%EzKbW-YJ{0g)JoEj&TcwWS#0-w=(j6 zz_mb*V}N}8DDLo2gdu0+V?#eEIMGuq9ys!@Q@?gnZdWEw5KN69?})D_O_(gxvdokK zwh3+6vfe+0kS3UC7S5@wSZn*JTTco`e9I2I$$TFMXgXXpJgg=fclEXDO0dc|3g4)Q zv(e`v)B;1>f6znrF$v=zU=P%bg{+wlTzt8DZ?u}t(kbkJLIX-$&C)sSW0oX5 zz@DuaJ6OSQeqc?};NlDTd_&S^mhRO)CU@ck?1lPgB&+z%{MO)h7hlNd1ZZTU7VI#M zsN1Cl-f}~ddKNFX_9f}UIrXB>uz_ZPCNXJxSQWD*jg4Y};6ggsu|tX;Y_Axg8A}Qp z@|owQ+ZYcNA6|Xt-~iN1n? zH`gbSZAhD7gzZdvp}8WZW9drDE8d*B;){4`BBIvF2#WSW-SK`ik3;dSF=+VF%i&c< z!_k`xULLP?I^a)9z6Wy28WxjNff1Nd@*IR~dOU*-k~v<1^A|(|=SZmAN|^P(wr3Zz(t(QJj= zIzxtC&klCc;yS2=Y`yTFp8^e3VKiIgw$72^HL`=fwdl~RAb3{ZbkiWkYK#^e+}1B- z*sbi~KrK3wDhQiZlm0Ylpc ztx^C7y<6GWGW7MVuf%y%-F8{#;?m4&L)GH+cZhxFaoX~q1YHX!dE(F(C4)m&;3Ji1 zI>0*awee<0Mo9Gq$K7e7^78Jg6q;FM4RO^7t&UT+SR6bY^$r3%tOByQ_n(Ln z@?m#WJXU0LfO;JC4BWAhb)GP|gu- zN>*?T5-EAbmt=%dHJTGYm%hrUt1@XV(*|sG{YWuLsy)FB#^UdwF}zL*U?+UK3PM}LuAyau4i9O3 zk}PQzNx}ty2E<1r@D00hE)RnM03~*SHz~lU>`herG7(0_tvfNG(pUK#oi2f|1j+j& zfO$=$uVzROWXZ0X6=@kgy1u@>F>c+oWJkk!j?tTDhZ--oPk}rXfOEp&nKysAxEw{blTYr7iM0`tmQQa3BG4cN00F=f_HRHc zVZXsDe_1flUq4P^VAP5_z2KZ*Qmalnxbi5L`~^+0WI47p!=xZppy{T~t@MH+mw-xw zM+}pK41uO!_82E8S7pi_6^I60AqxIXgaufjZ@c8srT!WK-8XnDfjmRZT3Xq32?#O| z1Tv44kyzs5R5D@Ig)wMePcZ*k+&WGIjp*e$K2o^hw)RNGA(PhifJoDx1CW%{PHTs| zpYJCyI!JAywxWIl)FkYAPqw0ryPxZKGCb&R{*0r7D}1u!ep^5Z{$^@HzVD$L!pR8w zN-`~N+JgC*s_VmRyM|Yf**J63LM&Jpsk*9P^Ax68TCh%0bydDDEl9JpU`As06<(^y zgd?JXh`IbpW%hyXRwCoV>DdJjP4Plt?(Iyf2y+Mmn2U)7aRe||nwU2}73s$#1Dlbx zlHmzP2li;_c+wk0VpbdgY&<$HG9EA_&bg#DG65F=Lc_-U6bb}ko~2g88$lpkY&Jn} z4A8f5;sBOAU=?{fL?T38AdMYdywy$yhA-_b>3D?>04; z&(!=Ym#iRNzis*&Knx385YqoF$^nwPC^-Q1ApkqTQ(KtV;Q$wB{8^nAKKXxa=nwvP z#eh-FfKkkzQS86u{HYjNNVf3F>)C}4MYlt*J-x%LqJ=-=6sYi^8-R@{%tqv;ZE!r> zFs1|?0&=h*BESux!gaVSVAvo^e^b(a(=br|y{z{n^JsrBU!^>+gQJ{|j=`qnpJu-) zDRDg3f6nLNg+HSwaXdDBj!d-#h87UxPw595Jm^kjW}pjz(}8>fjn z7ftD_6yn#fUwP9%(|<%kL9~)iujnEa!=>Kb7{SGL3lHxangkMguMnk5Nc@)sYCL=_ zw3enu8zkZ(vHuD$)&H9bJyI=cdkh?6o7oMAU;jwr{VN|2OX9B$UM9E~BJF=?jsHst zA>@gij>`eM>G$Nl@}}7FFmNTBniYzys@MAGfq5BtOe#gi{d#N%Sf-AaDwSi0DqcGa!pZ!FHJLzqJj zFFM@i+O!DrGn8LXRTf-}A`r~VxI$m~_4y~uYfqNv4YoA_!=O~M4A5uwu+QoQf7^dk z%xit)w^Or)5bOV7&id!!spp^Brk-bk!a?01)nnYWZ`z0~oCe?+^LcP^<*o0d8S|aH z>wIwy-i#*&fO6LV!)EHB=C!%?+fbE@b!!iyVFxU}88JC$g`uRD+LwW;L|+}u zObP&@w)xAp|KR_k*bosUzCye6rSUPp4N=$?UaB3B{~r^!8SW_3II>XMNn**Tqum+s ze!JHA*kS&bpdAqne;`5PmE3`nZLVa-KeADBSfb>ejl*){iietagbT5>u|P|It$=oC zAo8yj2ofb_es6w0WW+mTtx?foiCNHwgoZzefEq(d=Gsyi(Gyyx2oYI2k0{6m^T0nj zu)DA%L^OhcTFN;xBj>YPbfQW+n#`~GJZc*PK?KxNSYcQ4)uw;Rk$+^PWSOx4&5g9E zK5s8*CD00_sU#AzWO5pp-71bAx4m1^qWat)6-Z)2pQjVF0n_jY5Kv2E5u`I>4S4&m zHHtaR)71u3OFGi!--;ssCyIuOR>Q`h}`9#yjmcEzMF44lsU1%EmEy`-D>#l75d&d zESWVwu$?gPA#EkYi23k|?S^($^|s9i0}MD|I;VYdspP&(zFhKj4%UN>rchU#3|bU+ zULi{TBjJMKf#yj{Z2iZfxs4-$6)*e-{=BpVDW<88&a#H~-l4qL=2TNLIu{!d4+>}@ z>bSy2Bzj-r|CGQA43VYFAZpCHL;wnTuJC_M;5WhIH^CA#!Q$cohCl&}M2*$xTpZq4 z_=RCnNx&o)Zvxrk{z&5aGancNrMtp^OL*ylG*=IFE*@aW696M|V+T4HkM|W`svRBw z>j^%!Ts^ED`!r4(|HYTgjmHDacReT@OKQkBeO+weAQL4s|C0TGXx`*xJFeVwXJz@>)@Y^= zCYOId)kUAav_Os)GUEMd17P3?FA;21r_s+R;8Mk+%0mko0e;#5IKzRyuJB#K{+BfR z^#oK@6Mz;I_?LU*&-OSH;yOsf+7@#i;++wSWJzkuJ^0X&%X zwyH;)eu-t-i9i142FHue33I3w^ZqTUiIu#e(cYeN3OQ@=!NlNhyLt5RNP*wjG3N^0~rT%}J(3(leZ6^7I zitw%U(iL8+^8a9K@LTDM2GZ_K!Zcwi=BI>R%CGiF(uAd0pO!R$xm#3uPt}dz5faoe zQrornX05<@Pt=X0BQ;*i7=EFNlyj53|CR9UOMvAhW0_faN45wnPLD-+6`D*!FNlF zGAmtvk`3d{eW>Cc^q6#cY&NMRusY5y^ceB<*MjuLB#z?xEE}&Hm4>f*XF9aJG4Xj#Q^nAF{m#CBR@qUL z4z+oC)Bo6(#;~3ME86DeO{_*5fU^O+b7NiItEz%Y<<}u=wr=6HQwA|$#=5Nl&ikM= zLhR79=LTM1LdTBcqKv?@xtt_Bh=nYP$4=lt0)_#xTY>?+XiEWDqll=e3RWg26($xn zgwhO1uOih!U>#oVAmWJ~3&tBk>wXYhQOK|yKu$}#M0WUvxX6Az7DR}_!K`dmfY<#- zTd(l#`sz)tyDT#zH#LNW>0v;(u$Z;P(4MY5OlB?)$fTL;<_wu>b0ufNnyr9<;h)c{^PWu@HR z5IS_#U)3!0>D8SPB^xS6aU5nN-Csojzh{StQ)z!q7$K#nNC^!oQ81Z!dNG&sch~sb zYj{Ym5TVsURqAc2;Vt3)Ypxng6|AVAzl@EY4#z`J7snt3OG3avvGNFS$d)?ra+Zi6 zf(f#f#9*YO05)M`OFQ@wVu!?&0xsu_B=1moH&UnrFN2@>(DMS*^E!Or80&DDjqZPi z#vf|LM363#@c;zhYdj<`j-XjWzO}ko`0okn_(P3Pk|miMDYyU-5c}0@JoHya7;p&E zk%Z%+w>F}tr-{Ii96;C5Z`}@J>OIv4fFD8V2Cm%#N6_3w#eR8l%rU&1S#S_K4w%^i zgn>@d?v3JKvqRKaNLCQy?KpZPA)&@C$s|{&Jy;&wUIEC#fUpD1feKLg<**WPDFMxa z3b=61gGjQBrTUvRL2RGx3g_!@iu^x+mPTmUA#gnO5OEAlFa<;(;9U~o4PRFW(s98X z0ib&jOpvi82H9fcb87Vvv|w9(ZUVM;?>7Eo3asB^H&QfD0oB|pOexYEWM;LhzEv0t zT{yM;$Pu_{a(SmB6{2a=%WhghR<4PwS%6V6`bO14EUzMUM6=(V-L#@|Ryvlwa==K- zI-?uOFFu5FOu63BsXV-2YgzJ(X~rFH#l${hKD={w`We`<0Mq1YP-DFeKr3FSj>9EKO!c;5+D8y6fBwh^Z9? zvpZ^K4aJ;V4)v85u3BA*Ny3q}1@g&{kjkm$P+pDCM@{|1iEK5guxioK(!w``j|w(3 zd6g{wn542{?iV|Hxj1S6XiRiPsij?eWAd^3#womf*x2`mv9Dr^7lgE|Y5X&fdG(UW z7|e>WmLg4EZj9K4UZy-qKQt7n7mXYG7;Vhxoo*q%_v=Ke2*MU9_ z3nOB(Z_s{I8Eb2&iZG^J#IyBbdQ;iWWcK3>fHsll-j4NLU+MsX-LW}NZkLoP^3W## zT^bY14>o8AaxaUF3lDt7fVdN4g`pU?jAEa3aYRPxFtF5VzbWk_)sEM?JNEWXluqH> z;;}X)3cH?ajaYH<-FVWQ9R{P9qsbGeYDGj~Dwj14TW+Y64i1;FW;P95g7d`V1y%ic zso0xsY0Y@!GY4*k-X3Xp$s8~x4BLN{fppDyAD2Cj{k-HDy)XB;gI%tA9(xd0$j2mC zq|H-q{ONgTKWi`>eV!|e22c5C3|>RD32~Pq>W#xo*AIuFfePr+fG;$Fmktdb8c?Jd1W5&Y z1JN;)8Ua8w=MpBNb!`ChWY&KT56p!;<6{2f*^q0MzKsEqfz=`U1J~HV#nf0R26{`~ zDTXxKQKJ|G{m7?IUG0P}W-HUKQ(n``8PEZw!-7)-?9hJ$Qjz%${)&S@?=WI1)O{MD z4?#vI8i?jj5b8b+8aj>iV=VMFHFF_|!cC7TGS93_i}?-z*rc z?$mI+HAXZ#3NBephe&VY08&7$zcv6iCWH&%1I#dlkW=z2B7-Yk*w_rxkI_Mq#8T+! zsH^Y5H3o3N)h!xDqCaoZpf0x^fzQ#=8R;53DTJDpC`1gydq-rP4h)Bw zc0eHNssL1%5`x|Vf#Br>z<=G4QR42yFy|!pXADKIB>W$)zr#I$Uw_3p72psc$WJ~M z4qxC$F$VT9MrgB|XBHD*nZrCYH9rnkShIJA%{();z!jp@$SeH+LqbHn1_NK2p}BG3 za1T-LJ0_)j-NCu_Rc5MV(Th_tXu_)D;?iI=!YDfP|77?Y|vf!dQM=FQMQdbos^Ee9X+P4>}c`(Qn z{)|O`7eug2f%MZ&+yPxzWc26rC~3a&UL{XcE1vxW!}f_@?G80A1}} zsjN4YJztwkc7?U(7B_2OF#nOAysQI9D*d7#gQ!{Solu&))x4&6{e9ku$zUFoG>Vc9 zXFXMN!HXgh;K?`6JwtoWiqWcq6OcsL+b}feL9c)KCbv`Jj`G_y`Rv;gNl)ZnLpz7vD;AaB-0pzWM8j#KnOK_7 zM9=+f?x!)BLm?g$d8aNP%;^m#*10VX<0@QxG(DEf-gs66AUW9SM2|gAwH_8lM{xFZ zrSULAQynG@1Z%Rwv$IQ=@XvMWlqAC7Npl*VdpNBR&;=Q>6 z7QuOi%bxF0L)4)qEqOac7IHbp0Ebif5oT~aAC_A4jI7mrwM{;fWtKU3C~Im<$w!qr zKo^Q>hEMr*puZd}iq+@^_1z`eL*mpQ%!b4qi&#aJG{%O0wvZRy;LHLHus~HjG$$BiS zOk7pe6KygMyM$i^q+hL45GEVsH{0iL7O5-~t!RdEeV3s)W5mDU9`+ah)Gz*tKAf9^ z9zhaLDBFd*k73 zQNE1({CpYr4|6Fia-a6*$a$Dczt~W|XRe$QuXrOdUNHfcN~t@N{rMZ>zT<1PiUA1V zz2&ep8VDbomoDe&L{8|(h=kPG5pvt*U&v* zVz=ohx5aIhNjY~ov|l{RVM?|WJWq>x*(J4oKVowzQ`Uh9gJg-U^tC0Omg>Ahs_zy( zR)@%vHz~jeRU8Y$kZzuo^;d1IdOtjL_jVlAe@+H}2l9Zw{c{2Z35s1#j$al6O`-#M zgVlcxzl&e%ixgV&6?W0dOxyTXe~}%|%Ov7k&XSxHFH}=x+JLD9x{|`ub)}+nF5PSS z>9WJ}t$+RCLG-~n`T+FHJ7Dx^-c6+-R4)LG2jl?*Fj8BQ-2yOBO!7_u1VG|V^lJ!? za-;ro>B4gKkr#dnU{ioR7sxwu5$XQe4Y(a*+8l6OdvbhxEI*L-%hCIWk*}q*Yy>aE>P@4i-FleXgAZH1psjYqe(7D+yBGRJ7P@o@ipvQ zbP;e!I`Jbqc>QfzS!CB>%htCxLOOj1@l0V@exkBkF9U=h!pA+@sE%fU_5`1cuXPxp zjDp5tfU*PBhg~G%bWxLDoSIk3Gz7vQ& zU!M2|Wk~C@`4~98}fnjJ#itLOktefu+PK;{=tar{||K-(~K?2`cqL zVPcFjLX`cziif6r?rC|V(xI6^7CN{QxkSwx{t@E;m$Z!`JK1Y=aO4s~_xl+fU}B82 zEC_^b202f=S(v;5^4%;m485gtPAN+g8 zC`^!MD(dXg4~JNEKp&B}-4T|Rdfvv~Oo8eQ=kIvKWl7#fP<^Gal|MOBHVxZ%;L=gUwdErUBM z0=^)!Qr~H@qX@LSYl`}CYWgvuGz1!`qd8UO*C+=08_|FvWSCi(gBq{{kO#bmsS3ar zgvNTJo z_V)lFJN8ZmK#x21CYF0ERDLRy&a<1qkE!7b0g71GEBYU!{g0zPk5A@qKR{yJbRFGeyTt1;kq*xGGI zP5#n^5YvT#+hL{)0aiTeevEaUza3o)8Hwc@6(V{BS+Xp2p+!SALaPH{_}HEQ->3f` zK+{`Jyg_ngrlpX#o62bjQd4euKZI&(CsMQXU{$FAv46@{7{TGyNbNk#RTzUq&8g&4@TV-M)5T|^=A6{4vYLG!fr?7^OgPns*t0l3VrZ$L;U<%cDqR|+{zI<3V z;tO?ICSfA(ug85?iY+*)S14Gqs^1XERrK3vdNt8o@oW>-2!$LEK6KU9nUf~ z*;YHuGBr6?*<<#}x?OI#O>?C`R{yBQHpd>bL)PuwyE)@-`ecqMiQgD8*JRW^DU6wBLv;x5GpYp-+PoOG zc`@qnLb{O5Pn%t~r9z{ng0e<4YNa*zOML!%eEyd|j87Ae4v@9r70b9rC6{Agz`UfX z*i(@nVIf677Bq+nrf`=;L$`@iG(*G2qvL`%&NEWc!81Z+Z$K^&w3bf*AlkWvZ_SYY zb~y$*SyCei*zIZg>q%V)5H32~j}jC^Y*;>zD7YlWI`GS)(s|>A@K@x0YlaMw_?7=j zW1<<4302QKO#AGnL^CcV-bUhj*bGSz8P6#*zA^Oegt+w0tR_n{E-k8_7|gP)PD`^j zk4XbMmji}y-KBwGVJxCJZhYe>zLZ1ypLpZA<*x8jHN3*uxRNxxdz>1v*$szZ6_WT= zOz=lEBpgRokT_FzL&9-HMTakrMP!~7v%VRwD>#q;`gj&FXWICH>RTx0!5}cjbUx_8 z{0)5d-PB-S#hVb^oP-d{cU^>w)i^Kxy2;P&sZ{>l^*$JMc_aSl%I`!DBknt za7l^sPBzWCL$wx&>6#AQeBM|~QOxl=KlnFdqOb#nY{9_p=Z&QlrELFT=WX95E;??! zM|c^$H{n!Ket1tvxnPYd7^(n;5rBa1no)GH?PK!n2#zQ8I&tE)Tz(GEaMqhihWuDE zag`ta5okjOnn;FxSu(MdA6?ImpnXCw5-0A;)pnqd3=ERbtswiwMD@Y_g@iqV(xw znqAl3&f4sTk*`jSbg0R_8qu$XTc1+l$N_PL$WkNDbMioWf1f;!9%;YW{WS z4m(4bdS}^Mdgsg`sX%W`bVq)ABR(($xxAcqqi!nY_c3xo?_R);X(ME_006@bHK;pF zh2I$2-s)a>6w?;T7R;zYCR555jtcPq8L*Kse_W>aIWKPZNr1D)qKse?QV-oVxvlxPA9AV>yr9bP~Z7KlIBC3vE$sXVwI5!qDdU znT7DyzQ=$7Jr`up`Kp0)e_{$ID3E>z^6Sj4`Tb2R#ZJ2e_R`XjpVWBF`w&!h@H z^v#$Zz3g6?#l%nO$!Pbio~*b|<+&2}PU&(iPh9L*(S(bnFZSzVez@z&x6FCZg>pUo zhB{JmzES34k#R7d$dJ)8W_ztxQ4BQeOuCXndB(N>{Pq8h%uVc#;yIsq6Yuc|*9HeVFFEuJ5nZn7m))s-$@bOI} zIX5olIXCV#&zes0X1yS`TRDc?PZ{!V@T75+7Sh}Am!>Pua#&FERPp6e@Ko__k|P&H zgV84Mr8}m_^QAlXs)w;DOCzZ0?So7A=?vQ7K){uhUknOmMsyoG=}wjIOuO*!TZDbzks-@Xkb(=Kkwmwzvv~3g(@m zp4d_Lu8+Nfi{k}aQ6J(>=&P6+6KCG7-p!TDcHnIA6l(CSt5-DGi|wf6&F;D7dG3U? z&?>!#B)tZm*|*#$S}XXJ%7sf+cU!ov3*ycq_e6s_Z?f#Xi{m+8q9K0!!)lg;`-E}% z1JT=uO0&$|CyaiFxXUzeG}K$7kEQVlu<{>B%YIKH@@QY;d>iZdcDHY{wpT>h+IZZ( zFjumtq$b#eoG#&6=Vn8%btEYu!R@8);R|Ud&co5s9W@Ls_Gcs`gDs;ckH(mwkXB2T zabA#NC9@?hkS76cbQOByVgIC2SYuKY_r$}W?N;WC9&ylE*om!+r^B^(M3zmXPhi69%*1;6G9>C$7*bc!eU>SbaS7fiStHR^hYljdG&#+7X*saGH z?#&TCYsdewJB87CyHFDTS<@iaOyAgu12?)T>pUwiVhvd67e|jb?_N8Jcz-Lp zpj|X0uD4zEIN0*x5oN0-1i279(qLir7dV~f-lO<>FTf?_2%u=mdP9USuUDkBPxw2b4hN*l;uML8qw`|-n*g~FTUFh@CB-#otT&$35y2{ zDbPmw?XiBSv{9$@UT}C@*HNrAHM#KO?fb&}Mf2$gk+zYe))luSgM^%SUvNAySA1Oh zX4wB`ZMHyAyPd5%tKzA*rXs&$veOE# ze7|b4PYjts2eneJGYlWBB6X{nucvDK`t{0@{-YwT%rW-CO|o^z;DcJJTJuPas*Zdu z!%=pgO|o~6!9BH7#xo4c75}c4Sw-e*8ji7-Zjwzn25;3$In6NCSw-qpb*TOatx(G_ zmaG74BEF7wws{hkQI?mv#i;f2>%v1pJ=~kL?G_(XzbkHBX!GvaxK}+qnOa$Dd0`ng zop;V=LIu5=$%DwSiEq6`1ZeXWvILM7&2MQ)pWu5FztIie!N zidc@^48zK`q7ie?3}eo1X0zG-{@!o#JVf=cNStJaU4fEDtRPLzC(HsomWWC^$+004 z1KBziIf^7$$hbBW`$X*|kjNDu8&LynjuG+}&$XJF!AFBclKtp-MkPGPIFP1{jOF;t zpg%m-^_5BW$eOW0{oz5R0V?_6&0blaRD?=C)D|c$8WYd!HcDC3QELhKF|pl91VXUJ zM`p`)amQ9_6;fl)ewSuO?Y0ybES zBn@{d1o*L~RXDS(pd_4`uEeJz`0MTNi3!W4I;|2xD77mVxr&iIWh7mA0%LI_ z@VpNc5>66x43NG|F`M8$0mu$sm87yis925b9_^^1*N8o9@ToXWqPO5Ho&umfd`OuH zq#MDqQ6R;&a1yJCU?(%P%br{xB1;|%8RQW%d(afhU8l(gCZ*tYD!5R_;3eQN5-Agb zoUm18Q@_heo23|+s)ZMpvW)BFvH_VCB+mTwQv^%!YxAGInMlWtR0%|I&SLxGx-_`i z&%C82XkgAWERhfurI>*7JHJ7@q%W#6YME3+(WKM=2pZ>LWKWL2OhYZwIg?BDp(3Pg zHkYYya{@~?XQoscweT=Se4NJJE5q%Otic{Xp>U~32^=S3C=nZ4k}tdtU3xJxLdJdQ-@KL>siP$gh-?$OPi$CaMPfgIDKLQ%j_n71TL6K z!txQY2`0?`(#MFLOdYkL$+vy4$4s?55xDdG<^$SFBF01J+`JAD9+w*chrKP$MjI$z zH$aM+b1X5L4ziJW*rD~WH~DEHg|$X%cr$^$FiwH6rSqh1u$}d7|DfUB7)SII8liZO zOu0lqXnu}e>=PHAofn#jNoZ75u}fHBwXSt`ARO_a9-5dOlrjM^k%uIoI^A}p>2*`S(D zk?KbDJp>`5q%i=53ri6q6@T;F{|+lc52(XAGc4I-L~!D^hP4Ukoj(HmoPPg$7#|xF zJ|5OGjX+gbb&O5!LDP zm>^Sgh%_9&Ui!^NdmDg4U1>GhU@#*2{(41fW(YTK{zTJ&T*iIpn095PXg>y0qXmYx zgLVGrwI2`1l13T`D214@CwRd5hyYKhfnC0=Qh1p2p zOK=h{2f^MDF7=IoaP%<_UFywu;L0f@5K^ndwm1U5)h*y=L>N5cV~D?_B)FvFE{a-2 zfaiED;}&aV(n|ErQC+%bnXp~I!!xfBV>ihHMEYINdSsHv<1gMOZBSS+8+~?9ZKIif zNM<*|LIsj7Yn7dAeUqR`3X`v5Cyc7_Ve@{xETb+mBehDf1Br!7FC~|;@-8Ob#^d*p z{aQ!!JPbtK$C$pDxPghAvZA|QWYcFoanG zugMwTYr|QWK6LD16tl5F0gOOjmqwn&C(lW#x~Sq|@pS=az7J)37xI8VY6A>(L`y4< z-z%LA$&*OqT7;Jh3{8HBqy)71v7uwnt^8okW{t1ehe6ieC&{P$JWN#MvI7UILrqoF zFI@o&y$4L?3Ercalb3%?kT6RUMo`|>fr}tV+S4sfw_A)V+;0aJ(+L))0tT~zJLQe` z#@;TEAuuKtGUuOhtffA-TP3;&zWtJd5N(W6E}(q1T^$HZHK#;9ZgUn6fGK9Zi9a@z z)sXX4^O%WO5@}@2grKYVh48htl1TItk5pyN09UX$(}cf@VfSzU`#Ut!6ZXsIzTWDW zd7_RqH6hs_EIs8AmMCi9uYe|&JYo_t@CP>}jBn<-joq9VW6e&w-5ggN8ochTP0jfJ znoD{u97xu3_9qpfq@Jp$VAB8uiQO2fR%%EP;IEr=Q zFfZY0+L`LpYM=CV$&?0sW9yy6v!e5J8wqibn{=?|v@nwRWD0vfO!9e8D%jSpi3)(0 zS41wBf3t-rn%cNTU;0lz`oaajC{p22B|=t|DY6K|wU9NQL1@gO+GoiQEVC|Tbe2az zOj7=XT=Nb2A=h{FNA5x|7xmDj!3L60I6T6XEBM4F_8>7rd{Po)$~7QF-GQzzL@fX?V3I2k9qfv@utWsMyo8e09<*3_gh)&HXJN9w z*58-%JZ$fEwHNG~-rJGk-TZDv9BI#((i=vt-EQb3s15$vkh15_khAAk%2{^)^i;LOa~9U>w=T!F>b@@ zwA!g$SN_8O%jI*qy-8gsdjoDbPCtOpQ3=)QnT@edeb~>g{nvYNk9HT`*$b(yOft=ubPQ}978WjFxN)PNC%3i zHjPy~mPv%blzX zWFacQ@~`O&pt7JReC?Z2sU9m^34x^s#Ujbgx0bqfC&062lg9`9scJN@k&6o1waK?1 zH?Ajus@~uv?WH4%KRfrn^~y{4ugxv%&c(OD4IF?Mz&OE2P6uTLhGik>>JG_p-E)U# zH6pi(xX$GjZ9;of(X_C{Zan6JrO>=|5RNXZTU;)5|H3f|;^VxFMp3ERI0RQ0CUWNd2}Qq zc41F+ruBTC53#ysy!8!E;a$3aT65HU9D8)5=6xE@;>kXy#x^0M$}r_mwo}O2H^$K; z6W&Q$ziN{jA7(>$N66-~l}!{6ltS;vQ$NS%-UJ9LlG@McqvS5Uu(MgEi{MUXFnH-e`Nx{+D zPZm8l`23YjyZb_3MDeo8JC{3#_}knav-9Pn&++5n6{BOh_@ZTTLU8dtj#`!Q$D&&84&uJ0F&r!`pn9mkAR`Q zBu~g1n$Dcgf?es2oaK&z?%ufk0+^?faZ>(@L%PT<&m_fReqwHE*j4kkk|+rf{n`~# zW65{6*^v-@MH!vclGzQkJv5K8;{8WO7yBS%6A@7(%{<(+zFL5XvDQw}V-rZbFe5p&sohTgVerGUeMfOFP6azWTvA`!S7?Mr>6Ub#+KW>_AnG8a9dD+mvwOh$NRxffYS6< z@aRl;tTYQq_IX-W#?9FBd6F$+)G(~blyfk_ZO=GyJ1s)yv3%#F-`cOm|5D=>_-hK0 z?AP&kbXn2S6O*$>`G&`PKkQ&RQ&%&Ei0cMAtRH+4ZJX)a*G-YVf@80G^~|zsxq~R+RtNtviPUL@gS_H3 zFOs?3+wHtwnS>suugBh6k*Wv(K5RB_v(xL`xkI=Rij<--0!q*%$_%k^mxg~l2IMZU z_uGkYNVu*fci*COV~zo#XqO73=Wm!xc!rU&hreDK8R^sBbK$QRcod~jCn-CQ9~snr zV>3XDzInm=n%`p290T!o-o_az@<)#5c~FBebL*6hv22t}F5jNyoW|KsELbir8-&wS zFX0X$gimUW6nUwiN>fp(NKzczk26*jf?5wkg_D)ggp&$hi7)OR z+7mY@21_BbAs~W(ilLB4eZt{|iTqI1DNd0nUr_6A_O1End?`9qLQyJ3hpwaRM@B%! z>4lxw%Ut7Hvq}|{15iZo2>W8&GDP=KW4-vpaYr?+hf+3RWc_m}2Uu?Hl7SRM+}G?~ z5pJ1rU+<{zwk5F!K3bI{vI9OR*#PzM#!6;1aq|HRH@0yjs{Y@VNTirqcp=ZWB(0C^ z*}vBAT;q1BmvsKHngM!M`tefM(eK}yUJ-TAw((JbftJT%tva5PY1EC@+u~q&gxD{3 z32Zkf+=Z?5%c~F#(#O`Goyew^RlJ$YYaA#x`N6#9#cKQqHFx{o4AMR`oO+OD=6`?q zg_DQw`Y2dhy^God80Pm}p#arA^ex(=<>v6gvc5LSB8hHUKb+wXT3O$+2F){A^Oow$ z(zcK7*xv3%R#Q7TlCgJ&o=K!L3?ce{VKP(rMHWv&PguHBt*vJBOcu)F%_Rx-*&eJ7 z3}bO!I<4E%m*9cHR}RJ#MnG^5Td0@|E{2*HYtDhC)r&HSp1@QG_rMOVKecJtgmgi@ z!L4i*nJ#$^FWZo!G+xU7GxreC1omOd682#DTv%G7(|4KWfeWsiqCcVjWp{OhLNbdQ zO69&rp@tcBR(9c-eKDr56!5+Ibprd(T9vu6se92p0dP?wS+dc9vzi0r!Z&bBlZ?@3 z_urWcX1AqFa(#F9^jJYbx_SPHI*2qT>z12vRVlu;$_@Q+<$?F471amSu9Y#c}!PHpCt)=%ds|Xm(%YSw<*XWsVpZBq6u~>pP-qmS>Qi>1!)l9J0 zY7*c%I6xb*`=U#DQtI)zHU1tc&24qQl_kQ$L6BHne%;&cQPa2&rB`@9vgEl7UKx?` zEaX}e*JqDV2a&qe0#MC3AoFz0m2sc9gaiG<`VL3WjqEqaEKO1l33j*K3ik@pdj^)7{l1>SYE*u53? zc?^`WV8>n!5ohi|ntYVbYjlt$c0}F>Y&_zxtA(E?dx?;0o?YVl{ckDR0S7cQGd9oT z+9P8p(D3vkoq2`N@g5OlrKJYzKgj47z4f9&CdVJ~QE9LcfLv>C%pFIVRBX*SFYEyq zsa6y!BG;OuuY8QLzhhIvsCh_VB;8EJLQx`ef~WecXcGtV5U?n~p6aoePRnp`HNUg1 zT#bTg_MOGM6xRUEVmRzZVcZ-pdecY!vWrO(>PMD6hu)eNnHMXwDJB03tgwKJvadr2 zv&`0elO^2Ffl)haPrN8N01E65y7dvmSDRS?Kgd-wNS`7QiI<*&z3LN5a-`ANfmaFk zSG+W*7{z12oD}l(N^uO1N~PZIp*|$B#1aFX`D9!x@{n3RwjDqR1Hc%vY-152d+on6j3n1N(C=`g2?#YU|0?aXM+rZ%=6C zO%d-l4b%z#i+S3sXtSmzj2zI`3?%LNi+lUD#~+DZa|$#!L8d`Do<%4R)7!`yeWOt1 zCk6GtI+eh?hQtK5RH?Qtuw}9}#$DdGOhXu+6}NO$2ZCTrbX^UwO@5MbT zLVNT4jBe>lGj28md!PhMzV@N+OT?(uK6?&ern2w9r-V#Kqrs%jvNI=Qg~nb`U=^t$ z;~LPP>O+?Szz3n6P9l*Din~M+toKk`fAihJMB9g~3inhc9@4|2o>QHH#YxW<{b=R3 zsHM!83qz3`e*p0-cpwCtft(u^A40jJa}bzVaOdAS$jIN==%1BwE7b)JX8JIZ#b0a} zmLHNC$F{4GK#E?b%khJn&ctr{OX~9J>=X9W;zWaA#aZL#oAE8t_(#s>=CvDnAnIb5 zxMv~>ZKflCj`N_&#R_Crb+MQPD||XH{$qD~=<3p>pbR3ANwm`R7RHj<0Jqn(>Fk zKscR^m%2(t%YCvGQM>y%PH3>>nLxn7KR8=_OlIlK0na04ATb|5FQ7)Z&-#rr#nbNQ z)$biYF4iCVbV_wTx)C@5k84hqL{9LC4Czq4-T6+tgg^dfDm6h1cIHEQFn|XGIza38 zemeQkJdZaaY$1E9|C(4*76Ie{*eY%9``g{f`! zT9T4ZsB37WScv|BMP3G+ZA9x%7=)+-zel1__mK8+`>?o^twhn1Vf5uXZC1w+tnbe1 zCBU?5e2{$md)#a4zOkk(8bpP;yNsw=Q2>~kHXv#Wp36K-mJRU!t+Lrcz66@h0ygGK zrK{}`Mo&NY=&157$~&Jv8?4wk+nT#B^gCU2@{?Wa=@>oO+hX+zMk>bJg@pM!1;cO| zeR5F|eI*GRta7+eYJBaVw&aVHUYs4y9}6DMOJPTv0;5X91ARLHkf<87DAPbHv7d#-MN%GQzckjuSez@PlWfx zP1Mxtp*3~T5>trzpB=lv%~4h6IZb5NOa^zmpI2^DPVS5}R3vQeyJ;)=5IW23Oj`RM zctt>IQs}MZ!jbma$R*D!;-o%mWA82kZJ81ER`HUSty+;QsDfNsQG)9I1ALy@ z6w27UXWe0UO+(DT(0?lyDLcuYJdK={f}++R;Vm`xz#xWI@tzdFtB#7pwB^!4GmxF@ z_ICVoh@g_Q)=+5ITj31*QyLl${5GH>h(%fjo6xu4A260Md#m$_Wx!wwJYgBa%DemcjYIntaCgM}jnx?=3&EAF~ z%=-{^oZsG^NvbCCXN7%s*$OS~^DKP38yPujeNnqo2~5Kx^^VMqprezh(%7mEhKx8V z)5oSvB(`k?i0p&uogI_YQK#>pwzSIuzfX?~&^H*1%~;V{pRmW&pLR92x>7%TYfVt| zCytL9-86Pp?#uVv`i-u3-T{Zv%$th)zHHVNDhL&6^PayFH-|A&OX-m^8a;R-klF%~ zXOVYKACzwyK3`p*t@lxtnm@#z?uzaJL@N9Afw84_bxBSr%8;ltf!K>a1vhKxA=bgc za2Hd&>5nIg1;i&$LQtvjNXI^kj;wP=$>2Tkh&ZWJC*KDf^CZ=7L$Ry>@jRnzW^T@p zGgbCeCr9?6;`(u&BY6*s6Iv1{8Ih?BLS4d{e^^9Bz&W2Oxu%UN*B^4gi#*h8^1tTO zsakD~kMV@$`OPjvQ1kaMS^0wv)sL|iZY%Y^uSXbff~BWl7&hINPik%;TWfpshCuyF zI*x`qrk0!Yb2i1svRhTu>zBRG(bKH7dq^TkR0BRNYN z0iw|NC2m4x)$wP@oT)NsxpJIA*0jyGm${2WkGiovPcz?kkRULpp#EdX?<3gW7y-L^ zB2bmo=6ZD(I}F4m6ex_IguH-+wqy?VxyxpLR$pj&Gb}SH?h8Q`%g6;cN<}-{9U(^ z;2||@(RI)CTnf&p2?W+oCvg!Bs9p4LDq{KUbY56YOxt6V9k@>>PKyVh|A0>qNspSS zEKT0?8|>bBv>6c-1kiZ|(KJ?A*qBPXcf6Fc1u?#6=r5RWE~wa!j+e{I0gg@8$ghUT z{di#zrixX`M%1RjAAS{ie7jqS@Z?DE z$_;q^P3{&<=X*6~+4u=R?oQ90CRLp;&-`Fe&C7Xq=;cL{Tjn^UfI)u~bbq)f)?F!n z%T(We?D*<0#?E7gKZ_=03PGy(OychO;G$nB`>(DjZLOGUx)dH2RTHfYKU_7mI@d{G zu5eASW8{;4IeKN@<@JnnK`?3h!O~d0QMa1moey9ULu&2;5OH8CD7dtF+CJ#b;ts|( z0OHc44^sAG_?@}e|2}MeD(&;fqmVI9Eh^{U@8CWhYj1B?HYh&6W$1x&{>7YKF(LNZ z&sm>M+1o=zo3TDo&s_7ycUI+IzOc0yayjCJq;}&%2m~0sd$H*2oAs(|$|=_>3-(4` zDi&a3fgHln5NBr2hT?oV#x?b1WP&!?Q5L{nr7f|Am16B~;4S#&ai_#~FYlDAoSwBmwrGR^fj zYJE)(Cyq>t8-!y0rk7+rz!AIIyA)Q|$nM^UEk|$Nq+T>2ED(m~5%t)JjY8qR{v(cm@~ZwSCe^?si^r z`{PC*xz=z^f&2wi61Ot8JXgNNz40!VlxJyeJo9ut0oZZC&C+#pP>sF)xxTc-LGq@l z;=%~mMbce?9QHxLmrP8zPVC(KhTE;Vi-Pk@UVF9U`&n&J0x!+fD!3+PSP$sGDCq%b z<9!Az>vlp$6d=bpZ!4D{S$UxC$1CtvlHZNKD{$TWBU-<-<=h(f_#;vX{&D)S^jW^E zs@Y0CU|i|A|E^J>#ey1a;Y71^vs#tdZoWRdv~IqX&5s-ns;nQ%>Dh(Y;+xSI#1#h5u z=foef+-d4hKN0!@Ya0TmKK69Hv5KJfL-7}dq3mp;TClo-xPMi z=wf?eTI|QHHF>+w)9E9MQvt%L_ejhV0REkh??+1dkVYATE7i!{zcM|wchytkkrRL- znW=1@zrn)K3o1^?Ztppp5}lSg!| z-|N&`KJ<7aA(neBoKxoRd9~rYBq|wRx%;G+cxOdK&hITsmh&Yc0@R*F%Fg0F1veoO zBmZCL`}cG(ZgUY54x2RmMB@c8@6E~99V1gW%LfonD<`RCu`}aWLu*o6cTVb^_+I5x zyPfzzPObh;hboVSU78ZR6#{4$CM=81&a2N&MtDiMluRY3qj5639YUFfEO%N40Ey6Z zQgoB-{l1$o|HZlp!Oc*>gg{#@w7`<-unK4S44`|I4GsddQ#F4QVoB zu?1}9lXvIOt-;LgO?{)Z>X7&Imr)mx#E8eAoWAXQ+1kvcP`onn&sBduBmLWq(C**W zXR~?C4BO9V{w4IEd1T%&Xk>m;o}QT~uXmfaKob!&kbhKc<7-21M|tuPSY(&QiE__$ zSI@;1T9tiAW^cvYzk|mZ*Y4-NR5yJR;S}c!k;4++J-VU2LBIS)U|*1i%O}RfzrT0a zkk{~nu<}?*B3OG85;Ypgl)NYPBxUlBo}ca7;E@-mBUti5{j`Aw$M6TS(fv6YzReC; zWlr;GAYghnrBqgABzm|QU+MlJx8s)|X$A8t zkw4YrbCM$3vm@?{a>N>K3USo;*FD2HTi)x&!51r$C;Vdd4HAYz>d8$P_b8#1(YPl+ zSy!PDm$jdF4ji{wljrv@H~qe}pdA{qjG|}xxWByH6lNOUV~RadQkt`=?ke+#J>Q@? zC6*JK3@}lFoX}HwrrR%Mk-4fey$=lAeQRJlDqRFj?Zy*+6TmifYK0@Pt>=U8p4kvk zDRZ^cC*e!18NVS3;VPpw$o*K9|2Lqi1wAFxSpT!5SfSLD`+^^)O;+B2(f#r7U&k4x zlo&f{4i1tsI=aQR-+_%C#1^+TlHcGS0 z`$wAlZ|Pre{9^OxigGei&1!j`Mr^(r0bidR&LvF-0x#z2rzTEi{=k9xGV4}$K^qjr zI>HbH%+~|vG3mvg>21R@^xCGiJX0IT*h|pI~M&h z|Ak$NNe(;z_=Yx-F+kVlieBgJeYGiA|LU9G6VDl=lgTE3XWEW#@X4buhc1vi8EXu^ zR7sVG`%7=nXxO9q^D5`1GxP(j#YLBGZ`Q;s8uQku^ap#zNQV5{qw#(FeDt(je{G*j zXX@<#k4WVVLK0-g4>dD}KwRa}g@49+^{n zq;A!3LE^#A& zYOlJz)cCgk#kuw0ql>+tw6sT-yLRL?1khqvzd%q8bPSn5DJxJab^~u8{r#{u?sCgs z$fbYUMHL6z9nJ6W;aa1aqH|u>Xtai_B0v-!F85S7iX4aQzllN}M<#u+eZKFEgzNqa z0XVqzDL|m}?TMmE?XE=YA7tG3qBE)6t|La9n#fb4E2kK%m;SoQU12G`yYgjxl#V#G zaN_y5=Pz5@jW4{f# zU8~2AF52&}y!(rwZ2Ev{a@-O4sI}7SQ6$a(S{@Bxpfl@rWaXQ9KgF`0l@G`kD=xME zqoDwk9!Mq0Ch|p~UYgcUqT?^aJA7*Z@@)aYILz_t%=smNd8=TWr?o2%*xD%BtPtZS z-VcW>u}yaq$MR^1I>WYI^SqMruV0@AFU&Vb-xP?+F~2rIYfS*mvQBO%L-s(r+VM_F zDPhQDVU&1o0Z;TB`CGe;)%wqxt$yD(Z2Fe-&H?ZL`V9wZ@h?4n;2j4GQX+P@TwZ25 zt@vx(kndi7=;o^iFui?ti)(MJOMA=U{7aL$#2x8AH&lGfzur{K=`GxhrYu+eQEnI; zb_=dCOo^-@@W8%%XEYj5FwK8OgRD}N?b29FYv4&si&I;I2BMxg<;;nM%inqJ{sGKM zdTfkKi>s+og;e7$eKnp+=$tonF+~I$jekNHOz+G4Z;zR~DX7cFAmZWg7Nsxd_x~Q=#I6f5*QPauX0E$|!-F#w`L&q{N`b1uk2IrS z(&KNQZ=rP~hRmHus>!Umm%H=ZSbKrF$M#*3)M=ft35%{f=G*e!seHWfdaP*LuP%6` z9%ZiYT00vM_jf;Ri@X6bELN|VY1)+>d%iguni{RO{%$)aSH!6AJU!J^osm4{9Q+KBhNDs0%4H@ZV$et-slJ9 z_!*QLoe&-k@jN;+|DjQ_*yPlm;PP<1@W0&j&#@goC+=T?!kZ*&9SUWUR;#Z^z37W>pV{810XF}NKVW&as%c}%BDJy_p4K6vcw55(@gU6>NlDmqhDn2ITSx)P*;#;bfuH8=_(dG7PHVdf?EM{s{# z$?Yp;O{G|xsBiknBhOxc9WeB_c{?rTvlW|_?xx)U)T`R7efgKxe&)bgUfQk1ig$>` zvn(Y(uy0s;NW1@9+@qaX$YH+OH-BlOj(@|4cc(1~kClEX#p+p1*<>7BQ*Zq=<8i4= zgIKCv-WIE!WpljdyiCtReOY0t+~W7nu4vVZ%DyImzV{KKyGDh~(0+?EhAFpJ3+tW^ z^Z{cZtmm2D2$v}TejWu_*%i4FP$Yk2+d_{XZd`Hlnz?W2Tr->@(RYE5s|bpd?>%9B z)J_K6uhrdN-Fav_-@5xK6Ih%72okFWrWBsBDSJVxXwc8i!(UzpJ^j-iK7R6B-Cx3# zbL*7#BBW*GaTT=oX!G^!nfc%^9kr=x3vbKsFMo9$0aY{3XPzc)^nLdj8}=~KcHmc# zhqP8|htxN`1p;Nm`7P8v#Lth3-vbrxZ)%N=Ij)Euf+`(BBMra+a~b^IG#Bc*+aYPk zTB2uuybs>EOdS0>v1>PY;>Vlg%nEWY)2$=omAr8K+V&C2mdA2{oqJvc-T7`)zL55N zI$eI|qm7D<=2d9y&|$E;ceS-_&{`X*-nh@@Dr8~qtye8(_X6P2X*=bgiWw!DpKCQ7 zpr3RD&pe)*y!Pl|`M$riwVChVodAS#a$YNzX2g@M0>)zZ13(Q9|5_dAU$}J#+=MtU z_dZJ_<)vMTTYp^F*&^*DlG~+0*vw98Lv$3}Wd&_+m0Dp9Td6uyjg$$ctyw14LKdHI zxyyW+ul=!Wsog(S=ds}p&ky%9{hqF`dOkF%G?3MWEd$_c0<=s5mn|cu_>i|CAMln1 za~b;E*u7cgtr{d9xq%b&ks^UCGUHpcPP^HD0e~spj-Ug_?!DQa+e z1kfz*ot?_`HGKO%+`==TDT>29(^+r^r+C0EsrBBoR8c3dGBPdLIscX7ztmC&bK$b5 z&}xiVnwd@WvKf8EKunPDC-80~%S7~$x=2>Rs%D@2sS02V#Qb93#CtQRhuXYS*SNEP zT4XAg3{6DOPt_Ds5v2@ADf8nm`}yF&SXF7vFeNztR+C&LiR&H@-fEF_1HK zagsH*z+)NZ^eyfPY^V;+d~i7_Bie}EaqNzT<}0cib`cwOzq3E4#w`8rmb#pV8Jus8 ziT2V9X9;JySd{zq5w0L=HfwfGs39cgQ;=>=5<=-*M7WYxd*<7zqiDMaEA9j1EZF9F z-rTdf^|{XRpfapoF5Vg6(mdML-+Ly_6#$)(!{U+74X#@tf^Egwo^ch!+k%ka?vEFS zVPO^Jo_wBrSalS66Byj4_J_HC)XI7)1=k%GOQ7W=J*YQj)#gnBTe0ukA1zA*(?(m= zpz0&ZVUsNA`(^$*9&t+gWbrMY3IT~qD|kJI9!D2M5;m&uScUo?Y7CA`}rEqbM&CF>ZJIH{{kDE^{sX%#QHzWq z+zPc%Gu$q9@n2yaf){Rhl=O?Dx3WJ^ZA*dm-oIHD4#h@pu&T?4R4hU-_J{OW8uTc+ zM|EhjSAMR&J_C?nP%YV|@{{U(PNnI?b;f6{6a|*7a@5pvnW!1wp>Uy@@O*4CPw6N& zFykQBL;rN;i-cP*!|jREF1hH8?QZ{23nKNFm!z5da&0ZXnOZEfiQcqSXWZW?6b3VX z20q4`WJoBVB2C@5xFp?BG5Q?sqLLzAV1xAZJRio5M6Jr0+CuN6k~tlZ^bUHYNv9*( zN(UzXfU#!Inm2|9mf-ip6@S#HGEMGLa(qIRKBkm1LTHfGi+OpG3c;iN==EkYvX%Y$ z>IqaEZ}G~r7Fd^bQ&lICL^7z;b~bAxj~iqvrTsz+PH4x;{@|Z-iogC;ez9aA|I0P* z7{S#fFd8>*K5XA`cp11Nou3H~v{iLyWbRyV2y2>s8}R}Vk0kVC=<0V@kp6sSHmbLK z_YIFpk4Vq{8?Am5>aqSv-F#>J_yQeFX_Yza< zE~m{<%}ti6hy9^DsFuo+js@@MTskMRjlC5O%xaC}Lur-BhOc&ddJ~k6x__dRgI6|v zI1rWJfwF3RR(MnE(1`g*z}dIL0OGWTPmW`s4xz8g?oHf;<#LnU`t}m!# z)sJcAfAWk{pj8Hhb~Ze;l=5OS){RYvUx5DR7Ws!nU;BCw{yyl!E~OJYzV0{d-Z%4o z?Bxrkyw4xQ3bwwCiEpnqYgt`%x~HG;s#oyE?dx^$e>a*uo%EM%?%qBxuk&?p@JLUD z_4aT^+;5j~2x@V-m(Y_$pg`EQ$BUY zylk*6(ssZxf#!|#mG7wE{WDvl6T-zTTN^5fFyoI-Oy{tm!|&m#*vN0JZb6AJ#!??XS0SEF@8Uy zJ>$PL?a|LUYg3q|^(4MwRlggl#h)67;^i!dUJf2=>?yOYy5-j_*{XSroL=#h)6c@U2Q)tS|Sld^o=Vo4hoKNpw zhbJ?4?12s)SETJ$S|4HV{6!Z@;zS$J4M3-W^bN^NTME?#WgazDm);rRVL^=ji}h1ZAa8*LtIqR}-cZH~Lf6 z!RRNM0a52^2ocGH6qW3WnALYLOiY_h+Iqp@V6TV2{#n~!UZ5Ya647Bw(N9ir{rzmOZ)lb1z@F8Q=;M!(8{DZQUlVAEx+p2U zWwbPNIwFHwF)6UlNKVF;0=M<+>OxTwT)BwZsdF@&ppNB8@PsAsi_#&AC2$Z~*}Hs( zYQPMU?djN~5G16bxZ1mSt(CtqsB5gJe6VTn1B#OT73?ZfFDw-qrjr`f%1?~{Ry$%p zK|TU}j$E<@YM~<)fK7a^{Kl<^sLJggp>G22J2k6izrrx~s1V#0jRci%kGR5e$A3@* zy4y=n+72s;90p@rL8T~|!G5pjH4YEE( z#omgTov(;1zjwrF2$yd=FYKZol3fYQ6tH~}uj9|F$^Um{llGexy@uhVPMP0E`nz~Hn12y8K_Vc2s1AX{_h6Qa&fILWhJ|Ak2upC>~h21@X$W&PwMHT!!4)P zrcN#`fMEAyw=2CDdEXi?G1Vw2iE0RYJO6rO`GL)ie%0DQsKESUJw6y_*M7(vtm+C4D0a00TR; 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

$X2 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